• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    一種基于MongoDB和Redis的網頁數據采集處理方法及系統技術方案

    技術編號:15691017 閱讀:114 留言:0更新日期:2017-06-24 03:53
    本發明專利技術公開了一種基于MongoDB和Redis的網頁數據采集處理方法及系統,該方法首先設定網頁下載請求的格式;然后為下載請求分配全局唯一ID;依照配置中心預置的對應業務負載均衡策略,完成對請求的轉發;采用MongoDB的副本集架構將請求按業務類型分庫分表。將請求寫入MongoDB數據庫,并用id字段覆蓋MongoDB默認的_id索引,對ts字段建立TTL索引,同時將id、biz、ts三個字段轉json格式后,利用lpush操作壓入Redis消息隊列;最后各下載服務器一直保持監聽Redis消息隊列,輪詢提取請求并下載解析網頁,獲取目標數據記錄入庫。本發明專利技術結合Redis內存消息隊列和Mongodb副本集架構實施的分布式網頁下載請求存儲方案,構建成本低、簡單實用。

    Web data acquisition and processing method and system based on MongoDB and Redis

    The invention discloses a web based data acquisition and processing method and system of MongoDB and Redis, this method first set the page download request format; download request distribution globally unique ID then; in accordance with the corresponding load balancing strategy business center to complete the preset configuration, request forwarding; set architecture will request according to business type split a copy of the table by MongoDB. The request is written to the MongoDB database, and cover the _id index MongoDB default ID field, build TTL index on the TS field, while ID, biz and TS three field to JSON format, press the Redis message queue using the lpush operation; finally, the download server keeps monitoring Redis message queue polling extraction request and download parsing web pages, access records storage target data. The invention combines the Redis memory message queue and the Mongodb replica set architecture to implement the distributed web page downloading request storage scheme, and has the advantages of low cost, simple and practical use.

    【技術實現步驟摘要】
    一種基于MongoDB和Redis的網頁數據采集處理方法及系統
    本專利技術涉及數據采集
    ,特別涉及一種基于MongoDB和Redis的網頁數據采集處理方法及系統。
    技術介紹
    當前處于一個信息爆發增長的數據時代,專業化的數據分析和深度挖掘,不斷孕育出巨大商機。越來越多企業由傳統模式的依靠直覺和經驗判斷,轉向依靠大數據分析和預測來制定企業戰略決策,各企業對數據的獲取需求愈加強烈。特別地,對于那些并不直接生產大數據的互聯網中小企業而言,通過網絡爬蟲技術實施有針對性、行業性、精準性的數據采集,間接建立企業的“大數據戰略”體系,就顯得尤為重要。不僅能大大降低企業大數據信息建設的成本,更能滿足企業業務發展要求,充分利用網絡數據價值,達到利益更大化。
    技術實現思路
    本專利技術的目的在于針對現有技術的不足,提供一種基于MongoDB和Redis的網頁數據采集處理方法及系統,便于企業低成本、高效率建立滿足自身業務發展需求的數據倉庫。本專利技術的目的是通過以下技術方案來實現的:一種基于MongoDB和Redis的網頁數據采集處理方法,該方法包括以下步驟:(1)設定網頁下載請求的格式:請求唯一標識符id、業務類型biz、時間戳ts、請求實體內容data、消息處理狀態flag;(2)為下載請求分配全局唯一ID,對應下載請求的id字段;(3)基于分布式協同服務,在配置中心預置各業務的網頁請求解析規則映射表、持久化節點列表、MongoDB數據庫名、集合名、集合水平拆分數、Redis消息隊列名。(4)依照配置中心預置的對應業務負載均衡策略,完成對請求的轉發:首先根據下載請求的業務類型biz,從配置中心獲取該biz預先定義的持久化節點列表、MongoDB數據庫名、集合名、集合水平拆分數、Redis消息隊列名,再結合對唯一標識符id求模取余策略,將請求持久化到MongoDB相應的數據庫和集合,同時在Redis消息隊列記錄此條請求;(5)采用MongoDB的副本集架構將請求按業務類型分庫分表。將請求寫入MongoDB數據庫,并用id字段覆蓋MongoDB默認的_id索引,對ts字段建立TTL索引,同時將id、biz、ts三個字段轉json格式后,利用lpush操作壓入Redis消息隊列;(6)各下載服務器一直保持監聽Redis消息隊列,輪詢提取請求并下載解析網頁,獲取目標數據記錄入庫。進一步地,所述步驟6具體為:首先利用rpop或其阻塞版操作brpop從隊列彈出請求,再結合id、biz和ts這三個字段組合成查詢過濾條件,然后調用MongoDB的原子操作findAndModify查詢對應的MongoDB持久化節點的數據庫和集合,即可得到完整的請求內容,根據該請求附帶的解析規則映射表,解析頁面獲取目標數據記錄入庫。進一步地,在步驟1-步驟6中,實時監控網頁下載請求的生成速率;監控服務節點的健康狀況:包括數據庫存儲容量、內存使用率、慢查詢操作,以及內存消息隊列的內存占用、消息積壓程度等,當遭遇節點故障或服務性能下滑超過設定閾值時,及時以短信或郵件方式發送報警信息;監控下載請求的處理速率,發現請求積壓嚴重或無法在計劃時間內完成處理時,及時增加處理節點動態擴容。進一步地,所述步驟2中,使用SnowFlake為下載請求分配全局唯一ID。一種基于MongoDB和Redis的網頁數據采集處理系統,該系統包括以下模塊:全局ID生成器模塊、請求路由轉發模塊、配置中心、持久化模塊和消息隊列模塊;所述全局ID生成器模塊為下載請求分配全局唯一ID,對應下載請求的id字段;所述配置中心基于分布式協同服務,預置各業務的網頁請求解析規則映射表、持久化節點列表、MongoDB數據庫名、集合名、集合水平拆分數、Redis消息隊列名;所述請求路由轉發模塊依照配置中心預置的對應業務負載均衡策略,完成對請求的轉發:首先根據下載請求的業務類型biz,從配置中心獲取該biz預先定義的持久化節點列表、MongoDB數據庫名、集合名、集合水平拆分數、Redis消息隊列名,再結合對唯一標識符id求模取余策略,將請求持久化到MongoDB相應的數據庫和集合,同時在Redis消息隊列記錄此條請求;所述持久化模塊采用MongoDB的副本集架構將請求按業務類型分庫分表;將請求寫入MongoDB數據庫,并用id字段覆蓋MongoDB默認的_id索引,對ts字段建立TTL索引;所述消息隊列模塊:在請求生成者端,將請求持久化到MongoDB同時,將id、biz、ts三個字段轉json格式后,利用lpush操作壓入Redis消息隊列。在請求消費者端,各下載服務器一直保持監聽Redis消息隊列,利用rpop或其阻塞版操作brpop從隊列彈出請求,再結合id、biz和ts這三個字段組合成查詢過濾條件,然后調用MongoDB的原子操作findAndModify查詢對應的MongoDB持久化節點的數據庫和集合,即可得到完整的請求內容,根據該請求附帶的解析規則映射表,解析頁面獲取目標數據記錄入庫。進一步地,該系統還包括服務監控模塊,該模塊實時監控網頁下載請求的生成速率;監控服務節點的健康狀況:包括數據庫存儲容量、內存使用率、慢查詢操作,以及內存消息隊列的內存占用、消息積壓程度等,當遭遇節點故障或服務性能下滑超過設定閾值時,及時以短信或郵件方式發送報警信息;監控下載請求的處理速率,發現請求積壓嚴重或無法在計劃時間內完成處理時,及時增加處理節點動態擴容。本專利技術的有益效果是:本專利技術結合Redis內存消息隊列和Mongodb副本集架構實施的分布式網頁下載請求存儲方案,構建成本低、簡單實用,具體表現在:1.可支撐每日千萬量級請求的高效可靠存儲;2.服務端自動執行過期請求清理,避免了消息積壓,提升請求處理效率。3.具備快速透明的消息查詢跟蹤功能,這是按業界較常用的內存消息隊列或消息中間件存儲方案,是難以做到的。附圖說明圖1是本專利技術實施例的網頁下載請求的主要流程示意圖;圖2是請求路由轉發模塊執行流程示意圖;圖3是持久化模塊結構示意圖;圖4是下載服務器處理下載請求流程示意圖。具體實施方式下面結合附圖及具體實施方式對本專利技術作進一步詳細說明。為方便開展后續介紹,先闡述自定義的網頁下載請求各字段格式設計:1.字段名:id,數據類型為長整型,表示請求唯一標識符。通常由全局ID生成服務分配;一方面,可以根據該字段按指定負載均衡策略將該請求轉發到指定存儲節點和消息隊列,另一方面,利用該字段覆蓋MongoDB默認的_id索引,當按該字段查詢和定位消息處理記錄狀態時,效率極高。2.字段名:biz,數據類型為字符串,記錄該消息由何種業務產生。對于請求的生產者,查詢注冊中心獲取該類業務的消息隊列各服務節點,路由到指定的消息隊列;對于消費者,根據該字段可以篩選和處理其感興趣的業務消息。3.字段名:ts,數據類型為時間戳,記錄消息寫入隊列時刻。特別地,通過在該字段上建立TTL索引,可以將那些超過預設時間但未被處理的消息交給MongoDB服務器自動清理掉,避免消息大量堆積;另一方面,請求消費者也可以根據該索引字段篩選或過濾消息。4.字段名:data,數據類型為字節數組,真正的請求實體內容(如:頁面Url,解析規則在配置中心對應提取編號、http請求頭本文檔來自技高網...
    一種基于MongoDB和Redis的網頁數據采集處理方法及系統

    【技術保護點】
    一種基于MongoDB和Redis的網頁數據采集處理方法,其特征在于,該方法包括以下步驟:(1)設定網頁下載請求的格式:請求唯一標識符id、業務類型biz、時間戳ts、請求實體內容data、消息處理狀態flag;(2)為下載請求分配全局唯一ID,對應下載請求的id字段;(3)基于分布式協同服務,在配置中心預置各業務的網頁請求解析規則映射表、持久化節點列表、MongoDB數據庫名、集合名、集合水平拆分數、Redis消息隊列名。(4)依照配置中心預置的對應業務負載均衡策略,完成對請求的轉發:首先根據下載請求的業務類型biz,從配置中心獲取該biz預先定義的持久化節點列表、MongoDB數據庫名、集合名、集合水平拆分數、Redis消息隊列名,再結合對唯一標識符id求模取余策略,將請求持久化到MongoDB相應的數據庫和集合,同時在Redis消息隊列記錄此條請求;(5)采用MongoDB的副本集架構將請求按業務類型分庫分表。將請求寫入MongoDB數據庫,并用id字段覆蓋MongoDB默認的_id索引,對ts字段建立TTL索引,同時將id、biz、ts三個字段轉json格式后,利用lpush操作壓入Redis消息隊列;(6)各下載服務器一直保持監聽Redis消息隊列,輪詢提取請求并下載解析網頁,獲取目標數據記錄入庫。...

    【技術特征摘要】
    1.一種基于MongoDB和Redis的網頁數據采集處理方法,其特征在于,該方法包括以下步驟:(1)設定網頁下載請求的格式:請求唯一標識符id、業務類型biz、時間戳ts、請求實體內容data、消息處理狀態flag;(2)為下載請求分配全局唯一ID,對應下載請求的id字段;(3)基于分布式協同服務,在配置中心預置各業務的網頁請求解析規則映射表、持久化節點列表、MongoDB數據庫名、集合名、集合水平拆分數、Redis消息隊列名。(4)依照配置中心預置的對應業務負載均衡策略,完成對請求的轉發:首先根據下載請求的業務類型biz,從配置中心獲取該biz預先定義的持久化節點列表、MongoDB數據庫名、集合名、集合水平拆分數、Redis消息隊列名,再結合對唯一標識符id求模取余策略,將請求持久化到MongoDB相應的數據庫和集合,同時在Redis消息隊列記錄此條請求;(5)采用MongoDB的副本集架構將請求按業務類型分庫分表。將請求寫入MongoDB數據庫,并用id字段覆蓋MongoDB默認的_id索引,對ts字段建立TTL索引,同時將id、biz、ts三個字段轉json格式后,利用lpush操作壓入Redis消息隊列;(6)各下載服務器一直保持監聽Redis消息隊列,輪詢提取請求并下載解析網頁,獲取目標數據記錄入庫。2.根據權利要求1所述的一種基于MongoDB和Redis的網頁數據采集處理方法,其特征在于,所述步驟6具體為:首先利用rpop或其阻塞版操作brpop從隊列彈出請求,再結合id、biz和ts這三個字段組合成查詢過濾條件,然后調用MongoDB的原子操作findAndModify查詢對應的MongoDB持久化節點的數據庫和集合,即可得到完整的請求內容,根據該請求附帶的解析規則映射表,解析頁面獲取目標數據記錄入庫。3.根據權利要求1所述的一種基于MongoDB和Redis的網頁數據采集處理方法,其特征在于,在步驟1-步驟6中,實時監控網頁下載請求的生成速率;監控服務節點的健康狀況:包括數據庫存儲容量、內存使用率、慢查詢操作,以及內存消息隊列的內存占用、消息積壓程度等,當遭遇節點故障或服務性能下滑超過設定閾值時,及時以短信或郵件方式發送報警信息;監控下載請求的處理速率,發現請求積壓嚴重或無法在計劃時間內完成處理時,及時增加處理節點動態擴容。4.根據權利要求1所述的一種...

    【專利技術屬性】
    技術研發人員:黃琦王偉瓊蔡國雄
    申請(專利權)人:杭州淘淘搜科技有限公司
    類型:發明
    國別省市:浙江,33

    網友詢問留言 已有0條評論
    • 還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 国产成人无码AV片在线观看 | 亚洲日韩精品无码专区加勒比☆| 精品无码一级毛片免费视频观看 | 无码专区狠狠躁躁天天躁| 小SAO货水好多真紧H无码视频| 亚洲精品久久无码| 亚洲2022国产成人精品无码区| 亚洲精品国产日韩无码AV永久免费网| 无码日韩精品一区二区三区免费 | 精品无码中文视频在线观看| 国产成人无码综合亚洲日韩| 色综合热无码热国产| 精品国产aⅴ无码一区二区| 日日日日做夜夜夜夜无码| 久久久久亚洲AV无码去区首| 亚洲AV无码一区二区三区人 | 日韩亚洲AV无码一区二区不卡 | 无套中出丰满人妻无码| 一本加勒比hezyo无码专区| 亚洲AV综合色区无码一二三区| 无码人妻视频一区二区三区| 亚洲日韩精品无码专区网址| 国产精品无码素人福利不卡| 亚洲av永久无码精品秋霞电影秋| 人妻少妇精品无码专区二区| 一本色道无码不卡在线观看| 最新国产精品无码| 久久久久亚洲AV无码专区网站 | 十八禁无码免费网站| 无码少妇一区二区浪潮av| 国产在线拍揄自揄拍无码视频| 亚洲AV无码一区二区三区人| 精品国产一区二区三区无码 | 国产精品无码亚洲一区二区三区| 人妻丰满熟妞av无码区 | 人妻少妇乱子伦无码专区| 国内精品久久人妻无码不卡| 亚洲av无码专区在线观看亚| 毛片一区二区三区无码| 小12箩利洗澡无码视频网站| 五月天无码在线观看|