• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      分布式內(nèi)容聚合平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)

      2017-11-21 13:15:32喬杰華劉亞卓翟曉寧
      科技視界 2017年22期
      關(guān)鍵詞:采集消息分布式

      喬杰華 劉亞卓 翟曉寧

      【摘 要】本文以一個(gè)定向新聞采集平臺(tái)的實(shí)現(xiàn)為例,詳細(xì)說(shuō)明了分布式內(nèi)容聚合平臺(tái)結(jié)構(gòu)的設(shè)計(jì)方案,并針對(duì)分布式特點(diǎn)在具體開(kāi)發(fā)實(shí)現(xiàn)過(guò)程中涉及的資源結(jié)構(gòu)、快照查重、標(biāo)識(shí)確定、消息同步、以及數(shù)據(jù)庫(kù)設(shè)計(jì)等技術(shù)要點(diǎn)進(jìn)行了闡述,對(duì)同類信息系統(tǒng)的研究開(kāi)發(fā)有一定的借鑒參考作用。

      【關(guān)鍵詞】聚合;采集;分布式;消息

      1 架構(gòu)設(shè)計(jì)

      聚合平臺(tái)的主體功能包括三項(xiàng):一是,對(duì)已定義的新聞資源進(jìn)行采集,提取新聞的URL列表;二是,根據(jù)列表逐一采集新聞內(nèi)容頁(yè),提取需要的信息數(shù)據(jù)(標(biāo)題、發(fā)布時(shí)間、正文);三是,如果有需要,則對(duì)新聞相應(yīng)的圖片進(jìn)行采集。這里提到的新聞資源是指包含有多個(gè)新聞內(nèi)容頁(yè)鏈接的列表,比如新浪網(wǎng)的新聞?lì)l道首頁(yè)。容易想到,平臺(tái)按照功能劃分可設(shè)計(jì)三類功能節(jié)點(diǎn):資源采集、內(nèi)容采集和圖片采集,此外我們?cè)偌尤胭Y源產(chǎn)生和圖片服務(wù)兩種節(jié)點(diǎn)。嚴(yán)格來(lái)說(shuō),圖片服務(wù)不屬于新聞采集的范疇,它是為前端用戶提供圖片服務(wù)的,將其納入本文內(nèi)容是為了完整說(shuō)明一個(gè)新聞生成的完整過(guò)程。

      如圖1所示,生產(chǎn)運(yùn)行過(guò)程中,資源產(chǎn)生節(jié)點(diǎn)從資源數(shù)據(jù)庫(kù)中取出已定義的資源并作為任務(wù)告知資源采集節(jié)點(diǎn),內(nèi)容采集節(jié)點(diǎn)的任務(wù)來(lái)自資源采集節(jié)點(diǎn)在資源中提取的新聞鏈接列表,而圖片采集節(jié)點(diǎn)的需求驅(qū)動(dòng)則來(lái)自內(nèi)容采集節(jié)點(diǎn)的在采集內(nèi)容時(shí)發(fā)現(xiàn)的圖片,最后圖片采集成功后會(huì)將圖片部署到圖片服務(wù)節(jié)點(diǎn),任務(wù)數(shù)據(jù)(或事件)將依次在五種節(jié)點(diǎn)間單向傳遞。新聞的生成在內(nèi)容采集節(jié)點(diǎn)發(fā)生,并由其存入新聞數(shù)據(jù)庫(kù),而新聞是否有圖片可用則由圖片服務(wù)節(jié)點(diǎn)來(lái)決定,這是因?yàn)橹挥袌D片部署完成可用才能說(shuō)明新聞的圖片是可用有效的,所以需要圖片服務(wù)節(jié)點(diǎn)完成部署后對(duì)新聞數(shù)據(jù)庫(kù)進(jìn)行“回寫(xiě)”以標(biāo)識(shí)新聞的圖片可用性。

      圖1 新聞聚合采集平臺(tái)拓?fù)浣Y(jié)構(gòu)圖

      由于新聞采集本身并沒(méi)有快速實(shí)時(shí)響應(yīng)的要求,所以各節(jié)點(diǎn)間的通知傳遞選用異步的消息方式,與同步方式(如RPC)相比消息方式能夠方便實(shí)現(xiàn)每一類節(jié)點(diǎn)的集群式擴(kuò)展,即每節(jié)點(diǎn)功能可以實(shí)現(xiàn)集群化。這種分布式的結(jié)構(gòu)有三個(gè)明顯優(yōu)點(diǎn):一是,功能分割實(shí)現(xiàn)了模塊或節(jié)點(diǎn)間的松耦合;二是,能過(guò)節(jié)點(diǎn)擴(kuò)展能夠應(yīng)對(duì)高負(fù)載需求;三是,避免單點(diǎn)故障。

      2 實(shí)現(xiàn)要點(diǎn)

      2.1 資源結(jié)構(gòu)

      一個(gè)資源對(duì)象當(dāng)然包括有URL、分類、標(biāo)簽等要素,但更重要的是應(yīng)有如何提取新聞列表的信息。傳統(tǒng)搜索引擎會(huì)面對(duì)各式各樣的網(wǎng)頁(yè)內(nèi)容,所以通常會(huì)使用一些復(fù)雜的算法模型提取所需要的標(biāo)題內(nèi)容等信息,對(duì)無(wú)效信息(如廣告)進(jìn)行降噪處理。而定向采集的資源內(nèi)容結(jié)構(gòu)性穩(wěn)定,所以分析提取信息可以使用一些DOM工具來(lái)實(shí)現(xiàn),可以將新聞列表的XPATH描述作為提取要素,采集以此來(lái)解析資源頁(yè)面中的新聞列表。

      2.2 資源“快照”

      為了將資源中最新發(fā)布的新聞采集同步到本地,通常每天會(huì)一次或多次采集資源,但對(duì)有些更新不頻繁的資源的采集就會(huì)造成節(jié)點(diǎn)的“空載”運(yùn)行,這包括資源采集節(jié)點(diǎn)的掃描解析,內(nèi)容采集節(jié)點(diǎn)對(duì)新聞列表的逐一采集,而這些新聞實(shí)際上全是已采過(guò)的“舊聞”。因此設(shè)計(jì)資源“快照”,資源采集節(jié)點(diǎn)對(duì)從資源中的列表進(jìn)行“拍照”并與上一次的拍照結(jié)果進(jìn)行比較,如果未發(fā)生變化則表明列表無(wú)更新也就無(wú)需進(jìn)一步采集。

      2.3 標(biāo)識(shí)問(wèn)題

      首先,如何識(shí)別新聞是否已被采集過(guò)。“快照”檢測(cè)只是資源列表級(jí)的,當(dāng)一個(gè)列表有部分更新時(shí)就需要有識(shí)別某個(gè)具體新聞是否已被采集過(guò)以避免復(fù)采,顯然新聞的URL是最好的標(biāo)識(shí),可以對(duì)其進(jìn)行摘要(如HASH、MD5)取值建立索引快速檢查新聞是否已存在。其次,如何為新聞生成全局性ID。用URL的摘要值不適合做新聞的ID,畢竟摘要值有重復(fù)可能,再者如果后續(xù)需要使用Hadoop和Mahout等大數(shù)據(jù)工具進(jìn)行推薦等挖掘計(jì)算如用純數(shù)字的ID會(huì)更方便。容易想到用時(shí)間戳來(lái)設(shè)計(jì)ID,但在集群環(huán)境下多個(gè)節(jié)點(diǎn)產(chǎn)生ID也會(huì)有沖突可能,因而給每個(gè)節(jié)點(diǎn)配置一個(gè)ID前綴,節(jié)點(diǎn)產(chǎn)生的ID再冠以前綴可以避免ID沖突。

      2.4 消息與同步

      節(jié)點(diǎn)間的消息通信可以用rabbitmq、kafka等高效的消息平臺(tái),值得提出的是資源產(chǎn)生、資源采集、內(nèi)容采集和圖片采集節(jié)點(diǎn)之間的消息應(yīng)該選用單隊(duì)列topic主題模式,因?yàn)橐粋€(gè)采集任務(wù)被任意節(jié)點(diǎn)執(zhí)行都是無(wú)差別的,但圖片采集和圖片服務(wù)節(jié)點(diǎn)間則應(yīng)該用廣播方式傳遞消息,因?yàn)槊恳粡垐D片都需要被部署到所有圖片服務(wù)節(jié)點(diǎn)上。

      2.5 數(shù)據(jù)庫(kù)設(shè)計(jì)

      聚合采集平臺(tái)用于存放新聞的數(shù)據(jù)庫(kù)可以選用一些常規(guī)的數(shù)據(jù)庫(kù)(如Mysql),因?yàn)閮H供挖掘或推薦平臺(tái)提供數(shù)據(jù)源而不是直接面向用戶服務(wù)。但如果采集的數(shù)據(jù)量或集群規(guī)模很大則可以考慮分庫(kù),多個(gè)節(jié)點(diǎn)甚至單個(gè)節(jié)點(diǎn)使用一個(gè)數(shù)據(jù)庫(kù)。實(shí)際上,對(duì)于采集平臺(tái)直接以文本文件方式存放數(shù)據(jù)(以ID作為文件名)也是可行的,而且這樣還可以大幅提升存寫(xiě)速度,只是在存放結(jié)構(gòu)上需要根據(jù)數(shù)據(jù)的使用需求進(jìn)行設(shè)計(jì),比如可以選用多級(jí)散列目錄存放實(shí)現(xiàn)根據(jù)ID快速定位文件。

      3 結(jié)論

      本文限于篇幅原因還有較多采集中的細(xì)節(jié)未能提及,比如針對(duì)各種資源中不同的列表結(jié)構(gòu)(列表、相對(duì)、表格等形式)該如何定義XPATH以提取有效信息,又比如該如何設(shè)計(jì)消息的結(jié)構(gòu)以提升整個(gè)平臺(tái)的工作效能,再比如資源產(chǎn)生節(jié)點(diǎn)如何實(shí)現(xiàn)集群化以及對(duì)于一些“連續(xù)”性資源(比如有“下一頁(yè)”)又如何進(jìn)行自動(dòng)翻頁(yè)采集歷史數(shù)據(jù)等技術(shù)點(diǎn)都沒(méi)能在文中說(shuō)明。同時(shí),對(duì)于一個(gè)完善的信息流處理平臺(tái)來(lái)說(shuō)還有些應(yīng)該具備的功能還未考慮到,比如平臺(tái)運(yùn)行的在線監(jiān)控以及對(duì)各類節(jié)點(diǎn)所產(chǎn)生日志的分析挖掘等等,這些有待于下一步進(jìn)行研究和實(shí)現(xiàn)。

      【參考文獻(xiàn)】

      [1]鄧勝利.信息聚合服務(wù)的發(fā)展與演變研究.情報(bào)資料工作,2012.

      [2]Web3.0技術(shù).https://baike.baidu.com/item/web%203.0/2587429?fr=aladdin.endprint

      猜你喜歡
      采集消息分布式
      一張圖看5G消息
      分布式光伏熱錢(qián)洶涌
      能源(2017年10期)2017-12-20 05:54:07
      分布式光伏:爆發(fā)還是徘徊
      能源(2017年5期)2017-07-06 09:25:54
      市政工程檔案采集與管理中存在的問(wèn)題
      血液標(biāo)本采集對(duì)生化檢驗(yàn)結(jié)果的影響分析
      淺析微量物證的采集和包裝方法及其注意事項(xiàng)
      淺談生物公司臍帶血采集業(yè)務(wù)的收入及稅金核算方法
      基于DDS的分布式三維協(xié)同仿真研究
      消息
      消息
      阳朔县| 鹤壁市| 新晃| 明星| 屏东县| 卓尼县| 虎林市| 临江市| 德州市| 巩留县| 西城区| 扶绥县| 化德县| 大宁县| 莱阳市| 宜黄县| 高青县| 宁德市| 将乐县| 新民市| 灵丘县| 宁蒗| 湾仔区| 灵寿县| 安康市| 织金县| 惠东县| 衡阳市| 益阳市| 英德市| 上犹县| 故城县| 炉霍县| 百色市| 罗江县| 随州市| 新余市| 梅州市| 莱西市| 建始县| 珠海市|