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