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)依照配置中心預置的對應業務負載均衡策略,完成對請求的轉發:首先根據下載請求的業務類型 ...
【技術保護點】
一種基于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操 ...
【技術特征摘要】
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
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。