專利名稱:分布式爬蟲集群系統的制作方法
技術領域:
本發明涉及網絡數據采集系統,尤其涉及一種分布式爬蟲集群 系統。
背景技術:
二十一世紀的到來,信息成夂暴炸式增長,人們一皮淹沒在信息垃 圾中,在這種情形下,人們為了快捷地抽出有用的信息從而提高工 作、學習等效率,提出并實現了搜索引擎。作為搜索引擎的基礎和
搜索引擎處理的數據的唯一來源,爬蟲系統的地位和重要性漸漸突 顯。但是當今信息更新太快,這就需要提高爬蟲的爬抓速度來保持 一定的搜索實時性,而現行爬蟲系統的速度遠遠不能達到信息更新 的需求。因此,提高爬蟲系統的速度便成為當前一個搜索領域的焦 點問題。目前,還沒有一種系統的4亍之有效的高速爬蟲系統。本發 明通過實現分布式爬蟲集群系統來解決這一難題。
在實現分布式集群系統的過程中,系統資源的占有矛盾問題成 為實現分布式集群系統的瓶頸。本發明通過超鏈接鎖存儲器和網頁 鎖存儲器來突破該瓶頸進而解決這一難題。
發明內容
針對現有技術存在的問題,本發明的目的是提供一種分布式的 爬蟲集群系統。
3為達到上述目的,本發明提供一種分布式爬蟲集群系統,其特
征在于包括
網頁爬4爪器,用于下載網頁并且處J里網頁; 超鏈接鎖存儲器,用于解決資源占有矛盾并且存儲超鏈接; 網頁鎖存儲器,用于解決資源占有矛盾并且存儲網頁; 超鏈接給予器,用于將超鏈接給予網頁爬抓器。
所述系統中,所述網頁爬4爪器包括 網頁下載器,用于下載網頁; 超鏈接分離器,用于從網頁中分離出超鏈接; 網頁分離器,用于去除網頁中冗余,凈4匕網頁以1更處理。
本發明的有益步支果在于,通過應用本發明所描述的系統,可以 有效地解決分布式系統資源的占有矛盾問題;可以為開發分布式爬 蟲系統提供通用的設計架構;可以十分方便快捷地實現爬蟲的集群 系統;可以才及大幅度地沖是高爬蟲的爬4爪速度。
結合附圖,本發明的其他特點和優點可以從下面通過舉例來對
、吝扭 ,3疋。
日EI AA店I田46S^AA化*St 士 r*' Aft;g B日由亦但由、漆扭
圖1是根據本發明的一個實施方式的系統的結構圖。
圖2示出圖1中網頁爬4爪器內部結構的一個例子。
具體實施例方式
下面將結合附圖對本發明的具體實施方式
進行詳細描述(
4圖1是才艮據本發明的一個實施方式的系統的結構圖。101表示 網頁爬抓器,102表示超鏈接鎖存儲器,103表示網頁鎖存儲器, 以及104表示超鏈接給予器。
網頁爬4爪器101,用于下載網頁并且處5里網頁。各個網頁爬4爪 器101相互之間獨立。同一時刻,若只有一個網頁爬4爪器在爬4爪網 頁,顯然這樣效率低下且不能達到實時性的要求。為了提高爬抓速 度,利用多個網頁爬抓器101同一時刻同時工作,這樣就極大的4是 高了爬抓速度。網頁爬抓器101的個數通常由硬件所能承受的能力 和網絡環境條件所決定。 一個具體實施例在圖2中所示。
超鏈接鎖存儲器102,用于解決資源占有矛盾并且存儲超鏈接。 一個超鏈接鎖存儲器102的具體實施例是通過關系型數據庫,這才羊 便于管理和控制。當有一個網頁爬抓器101正在向數據庫中存儲所 爬抓下來并分離出的超鏈接時,數據庫標記為處于占有狀態,在數 據庫管理中此時拒絕其他網頁爬抓器101和超鏈接給予器104對數 據庫進行任何操作。當某個網頁爬4爪器101完成了向凄t據庫存4諸超
鏈接時,凄t據庫標記為空閑狀態,在凄t據庫管理中此時允:^H壬^r網
頁爬抓器101和超鏈接給予器104對數據庫進行操作。當超鏈接給 予器104正在檢測讀取數據庫中超鏈接時,數據庫標記為處于占有 狀態,在數據庫管理中此時拒絕所有網頁爬抓器101對數據庫進行 任何操作。當超鏈接給予器104完成了對數據庫的操作時,數據庫 標記為空閑狀態,在數據庫管理中此時允許任何網頁爬抓器101和 超鏈4妄給予器104對凄t據庫進4于:操作。這々羊就^f呆i正了存4諸和4僉測都 能夠獨立正常地進4亍,解決了資源占有的矛盾問題。以上是超鏈才妄 鎖存儲器102的一個具體實施例,其他不同的實施例不構成對本發 明的限制。
網頁鎖存儲器103,用于解決資源占有矛盾并且存儲網頁。一 個網頁鎖存儲器103的具體實施例是通過關系型數據庫,這樣便于
5管理和控制。當有一個網頁爬抓器101正在向數據庫中存儲所爬抓 下來并分離出的網頁時,凝:」悟庫標記為處于占有狀態,在翁:據庫管 理中此時拒絕其他網頁爬抓器101對數據庫進行操作。當某個網頁 爬抓器101完成了向數據庫存儲網頁時,數據庫標記為空閑狀態, 在數據庫管理中此時允許任何網頁爬抓器101對數據庫進行操作。 這樣就保證了存儲的正常進行,解決了資源占有的矛盾問題。以上 是網頁鎖存儲器103的一個具體實施例,其他不同的實施例不構成 對本發明的限制。
超鏈接給予器104,用于將超鏈接給予網頁爬4爪器。 一個超4連 接給予器104的具體實施例是檢測超鏈接鎖存儲器102中是否還有 未被處理的超鏈-接,若還有未被處理的超鏈接,則讀取此超鏈接, 然后將超鏈接給予空閑的網頁爬抓器ioi;若沒有未被處理的超鏈
接,則爬蟲系統停止。以上是超鏈接給予器104的一個具體實施例, 其J也不同的實施例不構成對本發明的限制。
圖2示出圖1中網頁爬4爪器內部結構的一個例子。除了網頁爬 抓器101以外,圖2中的各部4牛與圖1中的各部4牛相同。
如圖2所示,網頁爬抓器101包括網頁下載器1011、超鏈接分 離器1012和網頁分離器1013。
網頁下載器1011,用于下載網頁。 一個網頁下載器1011具體
頁實體的請求。以上是網頁下載器1011的一個具體實施例,其他 不同的實施例不構成對本發明的限制。
超鏈4矣分離器1012,用于,人網頁中分離出超鏈4矣。 一個超鏈才妄 分離器1012具體實施例是首先從網頁下載器1011中獲取已下載的"href=",其后的部分即為網頁的超鏈4妄,匹配分離即可,最后將 此分離出的超鏈4妄存儲到超鏈接鎖存卡者器102中。當凄史據庫標記為 占有狀態時等待直到數才居庫的標記為空閑狀態;當凄t據庫標記為空 閑狀態時直接存儲到數據庫中。以上是超鏈接分離器1012的一個 具體實施例,其他不同的實施例不構成對本發明的限制。
阿頁分離器1013,用于去除網頁中冗余,凈4b網頁以1更處理。 一個網頁分離器1013具體實施例是首先從網頁下載器1011中獲取
冗余才示"i己i口 <script>、 </script> 、 <form〉、 〈/form〉等等,匹酉己去 除即可,最后將此被凈化的網頁存儲到網頁鎖存儲器103中。當數 據庫標記為占有狀態時等待直到數據庫的標記為空閑狀態;當數據 庫標記為空閑狀態時直接存儲到數據庫中。以上是網頁分離器1013 的一個具體實施例,其他不同的實施例不構成對本發明的限制。
以上結合附圖描述了本發明的具體實施方式
,各種舉例說明不 對發明的實質內容構成限制,本發明不限于上面沖是供的實施細節, 可以在不脫離本發明特征的情況下以另外的實施例實現。所屬技術 領域的普通技術人員在閱讀了說明書后可以對以前所述的具體實 施方式^t修改或變形,而不背離發明的實質和范圍。
權利要求
1. 一種分布式爬蟲集群系統,其特征在于包括網頁爬抓器,用于下載網頁并且處理網頁;超鏈接鎖存儲器,用于解決資源占有矛盾并且存儲超鏈接;網頁鎖存儲器,用于解決資源占有矛盾并且存儲網頁;超鏈接給予器,用于將超鏈接給予網頁爬抓器。
2. 根據權利要求1所述的分布式爬蟲集群系統,其特征在于,所 述網頁爬抓器包括網頁下載器,用于下載網頁;超鏈接分離器,用于從網頁中分離出超鏈接;網頁分離器,用于去除網頁中冗余,凈^R:網頁以-便處-里。
全文摘要
本發明公開了一種分布式爬蟲集群系統,包括以下部件網頁爬抓器,超鏈接鎖存儲器,網頁鎖存儲器以及超鏈接給予器。通過應用本發明所描述的系統,可以有效地解決分布式系統資源的占有矛盾問題;可以為開發分布式爬蟲系統提供通用的設計架構;可以十分方便快捷地實現爬蟲的集群系統;可以極大幅度地提高爬蟲的爬抓速度。
文檔編號G06F17/30GK101499096SQ20091008043
公開日2009年8月5日 申請日期2009年3月18日 優先權日2009年3月18日
發明者徐蔚然, 溥 楊, 軍 郭 申請人:北京郵電大學