Feed流用戶行為統(tǒng)計(jì)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
發(fā)布時(shí)間:2020-11-05 16:59
隨著Feed流產(chǎn)品的不斷更新,以及擁有千萬(wàn)級(jí)別的用戶量,可以成為公司的業(yè)務(wù)部門(mén)向外推廣自己的產(chǎn)品,策略部門(mén)進(jìn)行小流量實(shí)驗(yàn),推薦部門(mén)進(jìn)行優(yōu)化算法的絕佳的平臺(tái)。每個(gè)部門(mén)都會(huì)在Feed流日志中加入自己的日志,來(lái)進(jìn)行跟蹤,檢測(cè)自己的產(chǎn)品,算法究竟符不符合大眾的要求,通過(guò)統(tǒng)計(jì)點(diǎn)擊,展現(xiàn)量,時(shí)長(zhǎng)等關(guān)鍵性指標(biāo)來(lái)不斷的優(yōu)化自己的產(chǎn)品、算法。由于越來(lái)越多的部門(mén)進(jìn)入Feed流,加之每個(gè)部門(mén)都有自己的日志規(guī)范,導(dǎo)致其日志的格式變得越來(lái)越復(fù)雜,而且還會(huì)出現(xiàn)日有覆蓋別部門(mén)的日志字段的情況。因?yàn)閿?shù)據(jù)格式的復(fù)雜,導(dǎo)致在解析日志字段的時(shí)候會(huì)相當(dāng)?shù)暮臅r(shí)。往往一些簡(jiǎn)單的需求,由于解析的耗時(shí),導(dǎo)致完成時(shí)間的延后,而且產(chǎn)出的結(jié)果也不容易進(jìn)行驗(yàn)證,代碼的維護(hù)性也是很差的。當(dāng)日志沒(méi)有按照規(guī)范來(lái)開(kāi)發(fā),或者日志內(nèi)容被別的業(yè)務(wù)線覆蓋的時(shí)候,沒(méi)有一個(gè)統(tǒng)一的數(shù)據(jù)監(jiān)控平臺(tái)來(lái)監(jiān)測(cè),報(bào)警并將情況第一時(shí)間反饋給相關(guān)人員進(jìn)行補(bǔ)救。每天要查看的數(shù)據(jù)也沒(méi)有統(tǒng)一的報(bào)表平臺(tái),以及查詢平臺(tái)。在數(shù)據(jù)方面,由于公司不同業(yè)務(wù)線都是存放在一張大表中,而且只有一個(gè)分區(qū)來(lái)區(qū)分,所以首要任務(wù)是先剝離自己需要的日志,然后再解析,轉(zhuǎn)換字段,根據(jù)ods,dwd,dws,ads層來(lái)構(gòu)建數(shù)據(jù)倉(cāng)庫(kù),將日志進(jìn)行分散,按照主題進(jìn)行存放,即方便了后續(xù)的業(yè)務(wù)開(kāi)發(fā),也擴(kuò)展了整體業(yè)務(wù)的靈活性,以及減少了彼此之間的耦合度。在業(yè)務(wù)開(kāi)發(fā)方面,構(gòu)建集數(shù)據(jù)可視化,數(shù)據(jù)查詢,數(shù)據(jù)監(jiān)控功能于一體的系統(tǒng),開(kāi)發(fā)框架為js+html+springmvc+mybatis,少量的數(shù)據(jù)存儲(chǔ)在mysql中,大量的數(shù)據(jù)存放在分布式列式存儲(chǔ)中。目前,數(shù)據(jù)倉(cāng)庫(kù)的建立提高了解決需求的效率,確保了數(shù)據(jù)產(chǎn)出的準(zhǔn)確性。可配置的報(bào)表也已經(jīng)開(kāi)始投入使用,可以輕松完成報(bào)表的制作,減少了重復(fù)的開(kāi)發(fā)。數(shù)據(jù)查詢頁(yè)面實(shí)現(xiàn)快速查詢的功能,提高了工作效率。數(shù)據(jù)監(jiān)控頁(yè)面,能夠監(jiān)控到異常指標(biāo),節(jié)約人力成本。
【學(xué)位單位】:山東大學(xué)
【學(xué)位級(jí)別】:碩士
【學(xué)位年份】:2018
【中圖分類(lèi)】:TP311.52
【部分圖文】:
圖2-1數(shù)據(jù)處理過(guò)程??業(yè)務(wù)系統(tǒng)功能分析??.1可配置數(shù)據(jù)可視化需求分析??由于報(bào)表之間的結(jié)構(gòu)很相似,為了防止重復(fù)開(kāi)發(fā)和考慮許多需求方都沒(méi)有??經(jīng)驗(yàn),為了減少工作成本,提高工作效率,開(kāi)發(fā)出一套自定義式組件化的??,開(kāi)發(fā)人員或者需求方可以直接通過(guò)拖拽的方式,然后配置相應(yīng)的參數(shù)就??成一個(gè)報(bào)表頁(yè)面。簡(jiǎn)單易上手。??
圖2-3查詢界面的流程圖??12??
圖3-1整體的網(wǎng)絡(luò)架構(gòu)圖??對(duì)于palo數(shù)據(jù)庫(kù),一般將部分?jǐn)?shù)據(jù)放入分布式緩存中,configServer中存放??數(shù)據(jù)節(jié)點(diǎn)映射表,由diamond統(tǒng)一管理,在服務(wù)啟動(dòng)的時(shí)候,映射表就會(huì)傳給??client端,并存儲(chǔ)起來(lái),后續(xù)請(qǐng)求都會(huì)通過(guò)存儲(chǔ)的映射表來(lái)關(guān)聯(lián),不再去與??configServer進(jìn)行交互,使configServer不會(huì)成為整個(gè)系統(tǒng)的瓶頸,當(dāng)發(fā)起請(qǐng)求??時(shí),服務(wù)端發(fā)現(xiàn)映射表的版本過(guò)低時(shí),會(huì)讓客戶端重新去請(qǐng)求一份新的映射表,??再次存儲(chǔ),當(dāng)dataServer的節(jié)點(diǎn)出現(xiàn)宕機(jī)時(shí),會(huì)將復(fù)制一份備份該節(jié)點(diǎn)的數(shù)據(jù)??到相對(duì)空閑的節(jié)點(diǎn),當(dāng)dataServer有增加的時(shí)候,會(huì)將負(fù)載最多的節(jié)點(diǎn)的數(shù)據(jù)??遷移到新的節(jié)點(diǎn)中,并且會(huì)對(duì)當(dāng)前可用的節(jié)點(diǎn)重新生成一張表,并且通過(guò)數(shù)據(jù)??節(jié)點(diǎn)的心跳,將新表同步給數(shù)據(jù)節(jié)點(diǎn),然后版本號(hào)加一。??分布式緩存采用的是獨(dú)立集群,可以防止跨機(jī)房訪問(wèn),單邊集群發(fā)生故障??也不會(huì)影響緩存的和命中率。集群之間存儲(chǔ)的數(shù)據(jù)不會(huì)出現(xiàn)同步操作,當(dāng)Feed??
【參考文獻(xiàn)】
本文編號(hào):2871926
【學(xué)位單位】:山東大學(xué)
【學(xué)位級(jí)別】:碩士
【學(xué)位年份】:2018
【中圖分類(lèi)】:TP311.52
【部分圖文】:
圖2-1數(shù)據(jù)處理過(guò)程??業(yè)務(wù)系統(tǒng)功能分析??.1可配置數(shù)據(jù)可視化需求分析??由于報(bào)表之間的結(jié)構(gòu)很相似,為了防止重復(fù)開(kāi)發(fā)和考慮許多需求方都沒(méi)有??經(jīng)驗(yàn),為了減少工作成本,提高工作效率,開(kāi)發(fā)出一套自定義式組件化的??,開(kāi)發(fā)人員或者需求方可以直接通過(guò)拖拽的方式,然后配置相應(yīng)的參數(shù)就??成一個(gè)報(bào)表頁(yè)面。簡(jiǎn)單易上手。??
圖2-3查詢界面的流程圖??12??
圖3-1整體的網(wǎng)絡(luò)架構(gòu)圖??對(duì)于palo數(shù)據(jù)庫(kù),一般將部分?jǐn)?shù)據(jù)放入分布式緩存中,configServer中存放??數(shù)據(jù)節(jié)點(diǎn)映射表,由diamond統(tǒng)一管理,在服務(wù)啟動(dòng)的時(shí)候,映射表就會(huì)傳給??client端,并存儲(chǔ)起來(lái),后續(xù)請(qǐng)求都會(huì)通過(guò)存儲(chǔ)的映射表來(lái)關(guān)聯(lián),不再去與??configServer進(jìn)行交互,使configServer不會(huì)成為整個(gè)系統(tǒng)的瓶頸,當(dāng)發(fā)起請(qǐng)求??時(shí),服務(wù)端發(fā)現(xiàn)映射表的版本過(guò)低時(shí),會(huì)讓客戶端重新去請(qǐng)求一份新的映射表,??再次存儲(chǔ),當(dāng)dataServer的節(jié)點(diǎn)出現(xiàn)宕機(jī)時(shí),會(huì)將復(fù)制一份備份該節(jié)點(diǎn)的數(shù)據(jù)??到相對(duì)空閑的節(jié)點(diǎn),當(dāng)dataServer有增加的時(shí)候,會(huì)將負(fù)載最多的節(jié)點(diǎn)的數(shù)據(jù)??遷移到新的節(jié)點(diǎn)中,并且會(huì)對(duì)當(dāng)前可用的節(jié)點(diǎn)重新生成一張表,并且通過(guò)數(shù)據(jù)??節(jié)點(diǎn)的心跳,將新表同步給數(shù)據(jù)節(jié)點(diǎn),然后版本號(hào)加一。??分布式緩存采用的是獨(dú)立集群,可以防止跨機(jī)房訪問(wèn),單邊集群發(fā)生故障??也不會(huì)影響緩存的和命中率。集群之間存儲(chǔ)的數(shù)據(jù)不會(huì)出現(xiàn)同步操作,當(dāng)Feed??
【參考文獻(xiàn)】
相關(guān)期刊論文 前2條
1 鄭曉薇;項(xiàng)明;張大為;劉青昆;;基于節(jié)點(diǎn)能力的Hadoop集群任務(wù)自適應(yīng)調(diào)度方法[J];計(jì)算機(jī)研究與發(fā)展;2014年03期
2 辛大欣;劉飛;;Hadoop集群性能優(yōu)化技術(shù)研究[J];電腦知識(shí)與技術(shù);2011年22期
相關(guān)碩士學(xué)位論文 前1條
1 張密密;MapReduce模型在Hadoop實(shí)現(xiàn)中的性能分析及改進(jìn)優(yōu)化[D];電子科技大學(xué);2010年
本文編號(hào):2871926
本文鏈接:http://sikaile.net/kejilunwen/ruanjiangongchenglunwen/2871926.html
最近更新
教材專著