




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
積分系統(tǒng)開發(fā)總結匯報人:潘洪亮云施工我的QQ:8797575揚帆起航http:///itnms/bloghongliangpan@代碼就是文檔.我們程序員最煩兩件事:1,寫代碼的時候還要寫文檔,太tm麻煩!2,接手別人的代碼,tn的居然沒有文檔!借用童心童老大微信里的一句話自己不愛寫文檔抱怨別人沒文檔平等對待自己和別人,養(yǎng)成寫作總結的習慣文檔不只是代碼變大變小.1,打電話的時候變小!2,看視頻、玩游戲、看書時變大!奇酷手機發(fā)布小機機15%打電話、小手機85%大屏才過癮空空才能做到只有孫悟空和cj空能做到目錄積分系統(tǒng)介紹1設計2開發(fā)3工具4積分?3積分、等級、榮譽、云幣商城積分云幣榮譽等級對用戶進行激勵就是為了讓用戶更多的使用其產品或者服務,這樣才能實現(xiàn)產品的價值。而積分體系就是比較常用的一種對用戶的激勵方式。通過積分、等級、云幣可以鼓勵用戶使用產品,并且是按產品提供者想要的方式去使用產品。積分系統(tǒng)介紹1采集各個產品的用戶動作行為,根據系統(tǒng)的規(guī)則,獎勵用戶積分、評定用戶經驗等級和榮譽等級,并進行云幣獎勵;通過系統(tǒng)進行簡單的行為分析。主要功能它包括一個靜態(tài)的制度體系,和一個動態(tài)的引導過程。積分規(guī)則就是靜態(tài)活動就是一種動態(tài)引導的過程積分商業(yè)價值表現(xiàn)圖積分商業(yè)價值增加用戶黏性了解用戶的誠信度滿足用戶虛榮心讓用戶按產品提供者想要的方式去使用產品開發(fā)具有商業(yè)價值的增值服務積分系統(tǒng)的整體結構1.規(guī)則模型2.動作數(shù)據采集3.積分計算4.統(tǒng)計查詢5.積分商業(yè)價值提升體系6.積分消費體系積分兌換云幣云幣商城產品動作參數(shù)產品端云施工論壇、微博終端實時計算經驗、榮譽每日限額、有效時段、等比計算TopN、BottomN使用率排名計算插件個推趨勢分析熱點分析占比分析數(shù)據匯總保持活躍度促進互動等級計算、獎勵云幣經驗等級榮譽等級升級規(guī)則云幣獎勵規(guī)則活動排名北斗積分名稱級別結構圖積分名稱級別【經驗或榮譽】1級2級3級(大師)翻樣達人最多求助哥最多求助姐大財主最能分享者樂于助人哥樂于助人姐積分獲取方式積分獲取方式每個產品定義自己的行為動作和業(yè)務動作用戶注冊手機、郵箱、實名認證在線時間上傳術語回復求助日志評論、相冊評論、投票參與、留言回復分享信息好友邀請信息加精目錄積分系統(tǒng)介紹1設計2開發(fā)3工具4系統(tǒng)設計2設計.積分系統(tǒng),作為公司級通用系統(tǒng),可以進行系統(tǒng)級復用。主要功能,采集異構產品的用戶動作行為,根據系統(tǒng)的規(guī)則,計算用戶積分、評定用戶經驗等級和榮譽等級,并進行云幣獎勵;支持靈活的積分計算規(guī)則。目標設計原則概要設計接口設計采集代理方案數(shù)據庫設計隊列解耦機制熱點分離機制預計算原則 多級緩存 以空間換時間以時間換空間分區(qū)機制 插件機制 異步處理 對象池批量存儲無鎖并發(fā)設計原則.業(yè)務邏輯.業(yè)務邏輯:加解密、數(shù)據采集、動作轉積分、每日限額、有效時段、項目增量差值計算、實時積分計算、積分明細日志、等級變化、獎勵云幣、自定義插件、數(shù)據匯總;實時排名;緩存維護一致性隊列解耦機制.內存隊列、無鎖內存隊列Ringbuffer、EventBus、分布式隊列kafka生產者生產數(shù)據入隊列=>隊列緩存=>消費者取數(shù)據
隊列采用先進先出的阻塞隊列,隊列前后分別有至少一個線程,前一線程負責往隊列中放數(shù)據,后一線程負責從隊列中取數(shù)據進行分析處理等操作。同MQ類似,隊列機制是進程內的消息總線,各種隊列相當于消息通道。生產者消費者模式并發(fā)難點在哪高效、穩(wěn)定、可擴展多線程、鎖、競態(tài)條件死鎖、加鎖肯定慢變大變小的需求又來了有沒有無鎖的并發(fā)?無鎖并發(fā).Disruptor(無鎖并發(fā)框架)Ringbuffer無鎖隊列Akkaactor消息驅動、事件驅動。CAS
CAS(比較與交換,Compareandswap)
是一種有名的無鎖(lock-free)非阻塞算法樂觀鎖原子計數(shù)AtomicLongcompareAndSet
CAS存款例子A+100selectmoneyfromtablewhereid=?updatetableSETmoney=oldMoney+100whereid=?同時向一個賬號存款:B+500selectmoneyfromtablewhereid=?updatetableSETmoney=oldMoney+500whereid=?結果可能是:100500600無鎖隊列ringbuffer維護兩個指針,“next”和“cursor”。寫:基于CAS的“get-and-increment”操作,將“next”指針進行自增canal無鎖隊列定義了3個cursorPut:Sink模塊進行數(shù)據存儲的最后一次寫入位置Get:數(shù)據訂閱獲取的最后一次提取位置Ack:數(shù)據消費成功的最后一次消費位置CAS操作AKKA分布式消息傳遞-事件驅動、分而治之無鎖無阻塞、無共享內存就像發(fā)郵件一樣簡單熱點分離機制.熱點分離機制.熱點分離機制.將系統(tǒng)頻繁訪問的數(shù)據,獨立存儲或內存緩存。如:用戶的積分、活動的最新數(shù)據、最近15分鐘數(shù)據等,可以冗余存儲,以空間換時間。短信發(fā)送,重要數(shù)據、及時數(shù)據獨立通道發(fā)送。高頻15%熱點85%我不叼你剛需、痛點、高頻預計算原則.預先計算、預先匯總、預先組織好所需要的數(shù)據。頁面應用中經常訪問的數(shù)據,預先匯總計算好,提高查詢效率。比如:最新采集時間、最大值、最小值、最新數(shù)據等。天周月的數(shù)據匯總邏輯飯在鍋里,女人在床上多級緩存.支持多級緩存分布式redis、local緩存等全量map、loadingmap、table、queue、單例1.數(shù)據量小,全量緩存,如產品動作指標2.數(shù)據量大的,延遲加載,如用戶信息、最新數(shù)據、每日限額、項目動作數(shù)據;活躍用戶的數(shù)據在內存,lru淘汰3.Rsa非對稱解密key的緩存解密后的key緩存,減少每次解密的時間成本要求客戶端,請求key不要總變化;4.表達式解析的緩存,節(jié)省表達式解析時間緩存是必填項緩存無處不在以時間換空間.增加存取時間、節(jié)省存儲空間??臻g或io:內存、磁盤、網絡帶寬時間增加空間減少日志文件的壓縮傳輸數(shù)據的壓縮以時間換空間.數(shù)據壓縮傳輸,增加壓縮時間,節(jié)省傳輸帶寬;文件滾動記錄并壓縮存儲,節(jié)省存儲空間、傳輸帶寬;日志文件、文本文件等rollingPolicy(TimeBasedRollingPolicy){FileNamePattern=LOG_FILE+‘point-%d{yyyyMMdd}.zip'}時空穿越入口處Nginx網卡瓶頸:gzip壓縮,硬件升級增加帶寬空間以空間換時間.緩存,內存增加效率提升;占用內存空間天周月數(shù)據匯總,增加存儲空間,提升查詢效率;占用數(shù)據庫表空間、磁盤空間主從、讀寫分離數(shù)據冗余存儲;磁盤空間積分歷史數(shù)據、積分最新數(shù)據;存儲多份時空穿越月報和年報數(shù)據冗余存儲緩存和持久化多份存儲分布式文件系統(tǒng)分片分庫分表.自動分區(qū)http:///1GFNwh插件機制.為方便采集不同產品、不同來源的數(shù)據,適應不同項目的二次開發(fā)需求,系統(tǒng)框架提供plugin機制。應用只需實現(xiàn)插件接口,滿足平臺的插件規(guī)范,就可以發(fā)布到系統(tǒng)中,進行數(shù)據采集分析。積分計算規(guī)則的動態(tài)擴展支持熱部署,不重啟server插件機制.積分計算規(guī)則的動態(tài)擴展支持熱部署,不重啟server批量存儲.計時計數(shù):300條一提交或一分鐘已提交批量提交新員工參見智慧建筑體驗館一個一個看30個人一起看3000人一起看并發(fā)異步.并行最終一致性流程:數(shù)據采集--接收--緩存--分發(fā)--處理器--入庫--呈現(xiàn)靜態(tài)數(shù)據接近用戶、動態(tài)數(shù)據接近計算.【移動計算、而非移動數(shù)據】應用產品端:緩存積分信息、積分規(guī)則云端:緩存活躍用戶積分、全量緩存熱點小表對象池.單例對象池:線程池、連接池Rrd、ringbuffer采集代理設計把生命浪費在美好的事物上把時間浪費在美好的事物上生活,就是和喜歡的一切在一起復用北斗方案.時間延遲3 產品端接入流程1.注冊產品、配置策略、北斗建表同步數(shù)據2.產品埋點3.驗證測試4.打包安裝5.FAQ等產品埋點過程四個方法1.先初始化、2.構建動作json數(shù)據、3.記錄數(shù)據、4.發(fā)送數(shù)據[到緩存]數(shù)據庫設計把生命浪費在美好的事物上把時間浪費在美好的事物上生活,就是和喜歡的一切在一起數(shù)據庫開發(fā)過程1.業(yè)務對象分析【對象及依賴關系】2.數(shù)據庫腳本3.生成word文檔或schemaspy文檔4.生成80%代碼5.開發(fā)20%的特殊邏輯Navicat、SQLyog數(shù)據庫工具LiquibaseFlywaynotepad++、代碼生成工具1234工具箱EA、
Schemaspy、DBExportDoc數(shù)據庫開發(fā)規(guī)范-初稿.明確業(yè)務對象及關聯(lián)關系不要急于表的設計先分析業(yè)務對象,參與者及關系安全檢查產品積分的ER圖產品動作等級規(guī)則積分產品簡單設計.腳本不是word文檔,內容完全一致目錄積分系統(tǒng)介紹1設計2開發(fā)3工具4開發(fā)
代碼生成工具1有規(guī)律,就可以用工具生成。表及注釋生成代碼開發(fā)基于數(shù)據庫表生成后臺代碼生成對象、Mybatis映射文件、服務特殊邏輯自己處理開發(fā)這都是生成的方法自動生成的方法技術棧.Guava18:谷歌開源的工具庫,jdk8部分功能參考其實現(xiàn)?!綥oadingCache、Service、Resources、 EventBus、Closable、集合、Throwables、Preconditions、Strings等】Fastjson:阿里開源的最快json工具庫Druid:阿里開源最快的連接池Jxls:excel文件導出Netty4:rpc通信Protostuff:序列化,速度快,基于protobuf;沒有kryo快Groovy:動態(tài)插件,熱部署;joda-time:簡單的日期工具類quartz:定時任務調度logback:性能優(yōu)于log4jjQuery1.10、SpringMVC4、Mybatis3.2.7Apachecommons、Slf4j-logback、gauva、quartz、groovyFastjson、druid、jxls-reader-1.0.3、netty、protostuff、joda-time技術棧.服務器:Tomcat8【生產】、jetty9【開發(fā)】、mysql5.6jdk8【Java7終止公共更新】、ideaMaven、svn、jiraApp-core框架及代碼生成工具
aesKey采用非對稱加密【16或32位字符,經過base64+rsa加密】數(shù)據部分采用對稱加密【base64+aes加密】…SQL注入SELECT*FROMAWHEREa=?參數(shù):'1'or'1'='1'Delete?轉義字符SELECT*FROMAWHEREa='1''or''1''=''1‘或'1\'or\'1\'=\'1'###druid
WallFilter可以防止sql注入,可以設置黑白名單,并能監(jiān)控記錄如:允許或拒絕訪問的schema、function、variablemybatis對于sql注入的解決方案:避免使用$寫法,使用#表達式引擎jexl 表達式引擎初始化-單例驗證表達式解析元數(shù)據也就是變量計算緩存動態(tài)解析表達式元數(shù)據,并緩存排名匯總規(guī)則數(shù)據匯總:原始數(shù)據=>天=>周=>月=>總計base=>day=>week=>month=>total可以按照順序匯總,也可以跳過匯總,如周數(shù)據,可以來源于原始數(shù)據、也可以來源于天數(shù)據。來源是base的可以實時排名;來源于天以上的統(tǒng)計數(shù)據每天排名;只要有一條天數(shù)據,就有周數(shù)據;…保證實時和最終一致橫表縱表—最新數(shù)據表橫表:開發(fā)工作多,查詢更容易;縱表開發(fā)容易,查詢復雜橫表帶來問題是,innodb行級鎖,不能并發(fā)更新,需要鎖同步性能優(yōu)化性能:fastjson、druid連接池、logback、緩存、隊列內存溢出問題處理滾動文件記錄UUID性能優(yōu)化,重排序表分區(qū),按照時間分區(qū)緩存全量map、loadingmap、table、queue、單例產品動作指標,全量緩存【數(shù)據量小】延遲加載【數(shù)據量大的】,如最新數(shù)據、每日限額、項目動作數(shù)據;活躍用戶的數(shù)據在內存Rsa非對稱解密key的緩存解密后的key緩存,減少每次解密的時間成本要求客戶端,請求key不要總變化;表達式解析的緩存節(jié)省表達式解析時間單例UUID_GENERATOR只初始化一次,不能方法調用時每次都初始化表達式引擎RSA內存泄露內存溢出分析案例.彎路一般分析,自己寫的對象增減情況如:過濾com.ysg開頭的包其實rsa解密的溢出,是java.security其他成果開發(fā)框架完善復用;簡單封裝的零配置服務框架代碼生成工具、服務的封裝、簡單rpc、數(shù)據分區(qū)、任務調度、工具類【配置文件、比如滾動
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025福建泉州市德化縣公辦學校專項招聘編制內新任教師19人(二)考前自測高頻考點模擬試題有完整答案詳解
- 2025昆明學院招聘準聘制教師崗位工作人員考前自測高頻考點模擬試題完整答案詳解
- 2025年甘肅省蘭州新區(qū)石化產業(yè)投資集團有限公司丙烯腈項目急需緊缺專業(yè)技術崗位招聘10人考前自測高頻考點模擬試題及1套完整答案詳解
- 2025年寧波一院龍山醫(yī)院醫(yī)療健康集團招聘派遣制工作人員6人考前自測高頻考點模擬試題有答案詳解
- 2025年中國己酸丙酯行業(yè)市場分析及投資價值評估前景預測報告
- 2025甘肅張掖市民樂縣招聘教師10人考前自測高頻考點模擬試題附答案詳解
- 2025江蘇連云港市灌南縣招聘事業(yè)單位人員43人模擬試卷及答案詳解(網校專用)
- 2025春季北方華創(chuàng)招聘考前自測高頻考點模擬試題及答案詳解(名師系列)
- 2025年中國環(huán)繞標簽膜行業(yè)市場分析及投資價值評估前景預測報告
- 2025黑龍江綏化市北林區(qū)勞動就業(yè)服務中心招聘公益性崗位100人考前自測高頻考點模擬試題帶答案詳解
- 2024?2025學年高二上學期第一次月考數(shù)學試題含答案
- 光伏項目達標投產實施細則-施工
- 三年級上冊道德與法治說課稿-1 學習伴我成長 部編版
- 道德與法治二上6.《班級生活有規(guī)則》(人教)公開課教案教學設計課件
- 土地承包土地合作農作物種植投標文件技術方案(技術方案)
- 2024年新人教版道德與法治七年級上冊全冊教案(新版教材)
- 基本公共衛(wèi)生服務居民健康檔案課件
- 10kV試驗報告模板-大全
- 英語專業(yè)導論(第2版)PPT完整全套教學課件
- 民航安檢理論與實務整套教學課件
- 軟式棒壘球-上手傳接球教案高一上學期體育與健康人教版
評論
0/150
提交評論