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