專利名稱:一種網(wǎng)絡(luò)爬蟲(chóng)運(yùn)行異常監(jiān)控方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種網(wǎng)絡(luò)爬蟲(chóng)運(yùn)行異常監(jiān)控方法和系統(tǒng)。
背景技術(shù):
網(wǎng)絡(luò)爬蟲(chóng)是一種抓取網(wǎng)頁(yè)的程序。網(wǎng)絡(luò)爬蟲(chóng)通過(guò)網(wǎng)頁(yè)的鏈接地址來(lái)尋找網(wǎng)頁(yè),例如:從網(wǎng)站某一個(gè)頁(yè)面(通常是首頁(yè))開(kāi)始,讀取該頁(yè)面的內(nèi)容,并且找到在網(wǎng)頁(yè)中的其它鏈接地址,然后通過(guò)這些鏈接地址尋找下一個(gè)網(wǎng)頁(yè),這樣一直循環(huán)下去,直到把這個(gè)網(wǎng)站所有的網(wǎng)頁(yè)都抓取完為止。有的時(shí)候,網(wǎng)絡(luò)爬蟲(chóng)需要抓取的數(shù)據(jù)可達(dá)數(shù)千萬(wàn),面對(duì)這樣大的抓取平臺(tái),在每一個(gè)環(huán)節(jié),如網(wǎng)頁(yè)下載、文檔解析、正則匹配都可能出現(xiàn)運(yùn)行異常的問(wèn)題,從而影響了網(wǎng)絡(luò)爬蟲(chóng)程序的運(yùn)行可靠性。因此,需要設(shè)計(jì)一個(gè)較為完善的異常檢測(cè)與監(jiān)控方案。
發(fā)明內(nèi)容
針對(duì)現(xiàn)有技術(shù)的缺陷,本發(fā)明的目的是提供一種能夠監(jiān)測(cè)網(wǎng)絡(luò)爬蟲(chóng)多種運(yùn)行狀態(tài)的方法和系統(tǒng)。本發(fā)明提供了一種網(wǎng)絡(luò)爬蟲(chóng)運(yùn)行異常監(jiān)控方法,該方法包括以下步驟:a.檢測(cè)網(wǎng)絡(luò)爬蟲(chóng)運(yùn)行狀態(tài);b.判斷網(wǎng)絡(luò)爬蟲(chóng)運(yùn)行狀態(tài)是否存在異常;c.當(dāng)爬蟲(chóng)運(yùn)行狀態(tài)出現(xiàn)異常時(shí),進(jìn)行異常報(bào)警。優(yōu)選地,檢測(cè)網(wǎng)絡(luò)爬蟲(chóng)運(yùn)行狀態(tài)包括檢測(cè)下載狀態(tài)。優(yōu)選地,步驟b包括:當(dāng)網(wǎng)絡(luò)連接故障或網(wǎng)站對(duì)IP地址屏蔽時(shí),判斷下載狀態(tài)存在異常。優(yōu)選地,當(dāng)滿足如下兩個(gè)公式條件時(shí),判定IP地址被網(wǎng)站屏蔽:
權(quán)利要求
1.一種網(wǎng)絡(luò)爬蟲(chóng)運(yùn)行異常監(jiān)控方法,其特征在于,所述方法包括以下步驟: a.檢測(cè)網(wǎng)絡(luò)爬蟲(chóng)運(yùn)行狀態(tài); b.判斷網(wǎng)絡(luò)爬蟲(chóng)運(yùn)行狀態(tài)是否存在異常; c.當(dāng)爬蟲(chóng)運(yùn)行狀態(tài)出現(xiàn)異常時(shí),進(jìn)行異常報(bào)警。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,檢測(cè)網(wǎng)絡(luò)爬蟲(chóng)運(yùn)行狀態(tài)包括檢測(cè)下載狀態(tài)。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,步驟b包括:當(dāng)網(wǎng)絡(luò)連接故障或網(wǎng)站對(duì)IP地址屏蔽時(shí),判斷下載狀態(tài)存在異常。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,當(dāng)滿足如下兩個(gè)公式條件時(shí),判定IP地址被網(wǎng)站屏蔽:
5.根據(jù)權(quán)利要求1所述 的方法,其特征在于,檢測(cè)網(wǎng)絡(luò)爬蟲(chóng)運(yùn)行狀態(tài)包括檢測(cè)內(nèi)容解析狀態(tài)。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,通過(guò)Dom選擇器或正則匹配方法對(duì)內(nèi)容進(jìn)行解析。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,在步驟b中,當(dāng)出現(xiàn)以下任一種情況時(shí),判斷正則匹配方法出現(xiàn)異常: (1)正則匹配出現(xiàn)死循環(huán); (2)urI地址改變或者內(nèi)容發(fā)生改版。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,當(dāng)開(kāi)始正則匹配時(shí),開(kāi)始計(jì)時(shí),如果在預(yù)定時(shí)間未收到解析結(jié)果時(shí),則判斷出現(xiàn)了正則匹配死循環(huán)。
9.根據(jù)權(quán)利要求1所述的方法,其特征在于,檢測(cè)網(wǎng)絡(luò)爬蟲(chóng)運(yùn)行狀態(tài)包括數(shù)據(jù)保存狀態(tài)和網(wǎng)絡(luò)異常狀態(tài)。
10.根據(jù)權(quán)利要求9所述的方法,其特征在于,將需要保存的數(shù)據(jù)通過(guò)網(wǎng)絡(luò)傳遞給調(diào)度端,如果傳遞失敗,說(shuō)明網(wǎng)絡(luò)存在異常,同時(shí)數(shù)據(jù)保存也存在異常。
11.根據(jù)權(quán)利要求1所述的方法,其特征在于,檢測(cè)網(wǎng)絡(luò)爬蟲(chóng)運(yùn)行狀態(tài)包括檢測(cè)內(nèi)存占用狀態(tài)。
12.根據(jù)權(quán)利要求11所述的方法,其特征在于,對(duì)爬蟲(chóng)系統(tǒng)中使用到的各種類對(duì)象,進(jìn)行實(shí)時(shí)的內(nèi)存占用狀態(tài)統(tǒng)計(jì),當(dāng)部分類對(duì)象占用空間超過(guò)一定的閾值,或者整個(gè)爬蟲(chóng)程序占用內(nèi)存超過(guò)一定的閾值,則判斷內(nèi)存狀態(tài)出現(xiàn)異常。
13.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟c包括:當(dāng)爬蟲(chóng)運(yùn)行狀態(tài)出現(xiàn)異常時(shí),通過(guò)發(fā)送郵件或發(fā)送短信的方式進(jìn)行異常報(bào)警。
14.一種網(wǎng)絡(luò)爬蟲(chóng)運(yùn)行異常監(jiān)控系統(tǒng),其特征在于,所述系統(tǒng)包括網(wǎng)絡(luò)爬蟲(chóng)運(yùn)行狀態(tài)檢測(cè)單元、狀態(tài)判斷單元、報(bào)警單元,其中: 網(wǎng)絡(luò)爬蟲(chóng)運(yùn)行狀態(tài)檢測(cè)單元用于檢測(cè)網(wǎng)絡(luò)爬蟲(chóng)運(yùn)行狀態(tài); 狀態(tài)判斷單元用于判斷所述網(wǎng)絡(luò)爬蟲(chóng)運(yùn)行狀態(tài)是否存在異常; 報(bào)警單元用于當(dāng)爬蟲(chóng)運(yùn)行狀態(tài)出現(xiàn)異常時(shí)進(jìn)行異常報(bào)警。
15.根據(jù)權(quán)利要求14所述的系統(tǒng),其特征在于,所述爬蟲(chóng)運(yùn)行狀態(tài)檢測(cè)單元包括下載狀態(tài)檢測(cè)模塊。
16.根據(jù)權(quán)利要求15所述的系統(tǒng),其特征在于,下載狀態(tài)檢測(cè)模塊用于當(dāng)網(wǎng)絡(luò)連接故障或網(wǎng)站對(duì)IP地址屏蔽時(shí),判斷下載狀態(tài)存在異常。
17.根據(jù)權(quán)利要求14所述的系統(tǒng),其特征在于,所述爬蟲(chóng)運(yùn)行狀態(tài)檢測(cè)單元包括內(nèi)容解析狀態(tài)檢測(cè)模塊。
18.根據(jù)權(quán)利要求17所述的系統(tǒng),其特征在于,內(nèi)容解析狀態(tài)檢測(cè)模塊為正則匹配狀態(tài)檢測(cè)模塊,正則匹配狀態(tài)檢測(cè)模塊包括計(jì)時(shí)器,當(dāng)開(kāi)始正則匹配時(shí),開(kāi)始計(jì)時(shí),如果在預(yù)定時(shí)間未收到解析結(jié)果時(shí),則判斷出現(xiàn)了正則匹配死循環(huán)。
19.根據(jù)權(quán)利要求14所述的系統(tǒng),其特征在于,所述爬蟲(chóng)運(yùn)行狀態(tài)檢測(cè)單元包括數(shù)據(jù)保存和網(wǎng)絡(luò)異常狀態(tài)檢測(cè)模塊,數(shù)據(jù)保存和網(wǎng)絡(luò)異常狀態(tài)檢測(cè)模塊用于檢測(cè)通過(guò)網(wǎng)絡(luò)通信傳遞給調(diào)度端的待保存數(shù)據(jù),如果傳遞失敗,判斷網(wǎng)絡(luò)存在異常,并且保存也存在異常。
20.根據(jù)權(quán)利要求14所述的系統(tǒng),其特征在于,所述爬蟲(chóng)運(yùn)行狀態(tài)檢測(cè)單元包括內(nèi)存狀態(tài)監(jiān)控模塊,以進(jìn)行內(nèi)存狀態(tài)監(jiān)控,對(duì)網(wǎng)絡(luò)爬蟲(chóng)使用到的各種類對(duì)象進(jìn)行實(shí)時(shí)的內(nèi)存占用狀態(tài)統(tǒng)計(jì),如果某些類對(duì)象占用空間超過(guò)一定的閾值,或者整個(gè)網(wǎng)絡(luò)爬蟲(chóng)程序占用內(nèi)存超過(guò)一定的閾值,則判斷 出現(xiàn)了內(nèi)存狀態(tài)異常。
21.根據(jù)權(quán)利要求14所述的系統(tǒng),其特征在于,報(bào)警單元為電子郵件發(fā)送模塊或短信發(fā)送模塊。
全文摘要
本發(fā)明公開(kāi)了一種網(wǎng)絡(luò)爬蟲(chóng)運(yùn)行異常監(jiān)控方法,該方法包括以下步驟檢測(cè)網(wǎng)絡(luò)爬蟲(chóng)運(yùn)行狀態(tài);判斷網(wǎng)絡(luò)爬蟲(chóng)運(yùn)行狀態(tài)是否存在異常;當(dāng)爬蟲(chóng)運(yùn)行狀態(tài)出現(xiàn)異常時(shí),進(jìn)行異常報(bào)警。本發(fā)明還提供了一種網(wǎng)絡(luò)爬蟲(chóng)運(yùn)行異常監(jiān)控系統(tǒng),該系統(tǒng)包括網(wǎng)絡(luò)爬蟲(chóng)運(yùn)行狀態(tài)檢測(cè)單元、狀態(tài)判斷單元、報(bào)警單元。本發(fā)明提供的網(wǎng)絡(luò)爬蟲(chóng)運(yùn)行異常監(jiān)控方法和系統(tǒng)能夠及時(shí)檢測(cè)出網(wǎng)絡(luò)爬蟲(chóng)的異常運(yùn)行狀態(tài),并且發(fā)出報(bào)警信息,提高了網(wǎng)絡(luò)爬蟲(chóng)的運(yùn)行可靠性。
文檔編號(hào)H04L29/06GK103248625SQ20131015239
公開(kāi)日2013年8月14日 申請(qǐng)日期2013年4月27日 優(yōu)先權(quán)日2013年4月27日
發(fā)明者周東, 廖耀華 申請(qǐng)人:北京京東尚科信息技術(shù)有限公司, 北京京東世紀(jì)貿(mào)易有限公司