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