新四季網

一種網絡爬蟲系統及網絡爬蟲多任務執行和調度方法

2023-04-23 01:30:46 1

一種網絡爬蟲系統及網絡爬蟲多任務執行和調度方法
【專利摘要】本發明公開一種網絡爬蟲系統及網絡爬蟲多任務執行和調度方法,所述方法包括:A.根據不同的內容和網站特點,對爬取內容進行細粒度切分並分別製作各爬蟲解析模板文件,設置網絡爬蟲分別結合各爬蟲解析模板文件形成用於執行爬取任務的各採集模塊;B.多個節點伺服器上分別部署所述網絡爬蟲,每個節點伺服器分別設置有用於調度爬取任務的調度器;C.所述調度器按照預先定義的調度策略調用關聯的採集模塊執行爬取任務進行數據採集。本發明通過對爬取內容進行細粒度切分,實現任務的高並發執行,採取負載均衡策略,充分利用了伺服器資源,爬取效率得到明顯提高,而且避免了單機故障造成的系統可靠性不高的問題,保障了系統高可靠性運行。
【專利說明】一種網絡爬蟲系統及網絡爬蟲多任務執行和調度方法
【技術領域】
[0001]本發明涉及搜尋引擎【技術領域】,尤其涉及一種網絡爬蟲系統及網絡爬蟲多任務執行和調度方法。
【背景技術】
[0002]隨著網際網路信息的爆炸式增長,傳統的網絡爬蟲採集數據的方式已經逐漸顯示出劣勢。傳統的網絡爬蟲採集數據時任務沒有細粒度的切分,耗時比較長,伺服器CPU、內存和網絡帶寬的限制,數據爬取效率比較低下,而且容易出現單點故障。
[0003]因此,現有技術還有待於改進和發展。

【發明內容】

[0004]鑑於上述現有技術的不足,本發明的目的在於提供一種網絡爬蟲系統及網絡爬蟲多任務執行和調度方法,旨在解決目前網絡爬蟲採集數據方法效率低,耗時長的問題。
[0005]本發明的技術方案如下:
一種網絡爬蟲多任務執行和調度方法,其中,所述方法包括:
A、根據不同的內容和網站特點,對待爬取內容進行細粒度切分並根據切分後內容分別製作各爬蟲解析模板文件,設置網絡爬蟲分別結合各爬蟲解析模板文件形成用於執行爬取任務的各採集模塊;
B、多個節點伺服器上分別部署所述網絡爬蟲,每個節點伺服器分別設置有用於調度爬取任務的調度器;
C、所述調度器按照預先定義的調度策略調用關聯的採集模塊執行爬取任務進行數據米集。
[0006]所述的網絡爬蟲多任務執行和調度方法,其中,所述步驟A中根據不同的內容和網站特點,對待爬取內容進行細粒度切分具體為:
當所述待爬取內容包括多個類型相同的網站時,將多個類型相同的網站切分為單個網
站;
或者,當單個網站包含多個內容不同的版塊時,將單個網站切分為不同的版塊;
或者,當單一板塊中包含多個頁面時,將單一板塊切分為多個頁面。
[0007]所述的網絡爬蟲多任務執行和調度方法,其中,所述切分後的內容之間無關聯性,所述各採集模塊分別對應關聯各爬取任務。
[0008]所述的網絡爬蟲多任務執行和調度方法,其中,所述各爬取任務之間無關聯性,每一爬取任務通過一獨立線程完成。
[0009]所述的網絡爬蟲多任務執行和調度方法,其中,所述預先定義的調度策略包括: 指定所述爬取任務在一固定的節點伺服器上執行;
按照所述節點伺服器節點等比原則在多個節點伺服器中隨機分配爬取任務;
根據所述多個節點伺服器當前的資源信息,優先選擇資源利用率低的節點伺服器執行爬取任務。
[0010]所述的網絡爬蟲多任務執行和調度方法,其中,所述預先定義的調度策略具體設置為:
預先設置並存儲一信息列表,所述信息列表中存儲有所述節點伺服器的IP、埠信息、爬取任務信息;讀取所述信息列表獲取爬取任務與節點伺服器的對應關係,按照所述對應關係在相應的節點伺服器上的執行爬取任務;
設置所述各節點伺服器節點權重均為1,按照該等比原則在多個節點伺服器中隨機分配爬取任務;
定期獲取所述多個節點伺服器當前的CPU、內存資源信息,根據所獲取的資源信息優先選擇資源利用率低的節點伺服器執行爬取任務,若存在資源利用率相同的節點伺服器,則在該類節點伺服器中隨機分配爬取任務。
[0011]所述的網絡爬蟲多任務執行和調度方法,其中,所述方法還包括:設置一用於保存爬取任務信息的資料庫,所述資料庫分別與所述多個節點伺服器相連接,所述節點伺服器上的各調度器通過各自獨立的線程定期檢查所述資料庫。
[0012]所述的網絡爬蟲多任務執行和調度方法,其中,所述步驟C中所述調度器按照預先定義的調度策略調用關聯的採集模塊之前還包括:
所述節點伺服器第一次運行時,將所獲取的爬取任務信息初始化到所述資料庫。
[0013]所述的網絡爬蟲多任務執行和調度方法,其中,所述步驟C具體為:到爬取任務觸發時間時,按照預先定義的調度策略,所述伺服器節點的調度器觸發自己的觸發器獲取資料庫鎖,獲取所述資料庫鎖的調度器調用關聯的採集模塊,網絡爬蟲加載所述爬蟲解析模板文件採集數據,同時更新爬取任務狀態並持久化到所述資料庫。
[0014]一種具有如上所述的網絡爬蟲多任務執行和調度的系統,其中,所述系統包括: 資料庫:分別所述節點伺服器連接用於保存爬取任務信息;
節點伺服器,用於執行網絡爬蟲爬取任務;所述節點伺服器包括:
採集模塊,通過所述爬蟲解析模板文件形成用於具體執行爬取任務並進行數據採集; 調度器,用於按照預先定義的調度策略調用關聯的採集模塊執行爬取任務。
[0015]有益效果:本發明提供一種網絡爬蟲系統及網絡爬蟲多任務執行和調度方法,通過對爬取內容進行細粒度切分,實現任務的高並發執行,採取負載均衡策略,充分利用了伺服器資源,提高了爬取數據的速度,爬取效率得到明顯提高,而且避免了單機故障造成的系統可靠性不高的問題,保障了系統高可靠性運行。
【專利附圖】

【附圖說明】
[0016]圖1為本發明的網絡爬蟲多任務執行和調度方法較佳實施例的方法流程圖。
[0017]圖2為本發明的網絡爬蟲系統較佳實施例的邏輯架構圖。
[0018]圖3為圖2的節點伺服器爬蟲結構示意圖。
[0019]圖4為圖2的節點伺服器節點調度結構示意圖。
[0020]圖5為圖1中步驟S300的具體實施例的方法流程圖。
【具體實施方式】[0021]本發明提供一種網絡爬蟲系統及網絡爬蟲的多任務執行和調度方法,這裡所述的網絡爬蟲也即不間斷地執行某項任務的人工智慧軟體程序。為使本發明的目的、技術方案及效果更加清楚、明確,以下對本發明進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,並不用於限定本發明。
[0022]如圖1所示的一種網絡爬蟲多任務執行和調度方法的較佳實施例,其中,所述方法包括:
S100、根據不同的內容和網站特點,對待爬取內容進行細粒度切分並根據切分後內容分別製作各爬蟲解析模板文件,設置網絡爬蟲分別結合各爬蟲解析模板文件形成用於執行爬取任務的各採集模塊。
[0023]其中,根據不同的內容和網站特點,對待爬取內容進行細粒度切分通俗的講是將要爬取的比較大的內容分離為若干個小的內容,更為具體的:當所述待爬取內容包括類型相同的多個網站時,將類型相同的多個相同的網站切分為單個網站,例如優酷、愛奇藝、土豆網站都有電影,採集這3個網站的電影,將這3個網站的電影與相關信息進行分開採集;或者,當單個網站包含多個內容不同的版塊時,將單個網站切分為不同的版塊;或者,當單一板塊中包含多個頁面時,將單一板塊切分為多個頁面。例如某網站上有資訊,資訊又分為國際、國內、社會、娛樂等類別。可以將資訊這個大版塊分為國際、國內、社會、娛樂等小版塊進行獨立採集。
[0024]由於所述切分後的內容之間無關聯性,且所述各採集模塊分別對應關聯各爬取任務,因而所要執行的各爬取任務之間也必然無關聯性。按照上述的方法將爬取內容切分成細小內容後,由獨立的任務進行爬取且設定每一爬取任務通過一獨立線程完成,由於任務彼此之間無關聯性,在調度器的調度下可以同時執行,即可具有並發執行的特點。
[0025]較佳的是,所述爬蟲解析模板文件是一個xml文件,裡面定義要爬取的內容,利用xpath、xquery對內容進行抽取。
【權利要求】
1.一種網絡爬蟲多任務執行和調度方法,其特徵在於,所述方法包括: A、根據不同的內容和網站特點,對待爬取內容進行細粒度切分並根據切分後內容分別製作各爬蟲解析模板文件,設置網絡爬蟲分別結合各爬蟲解析模板文件形成用於執行爬取任務的各採集模塊; B、多個節點伺服器上分別部署所述網絡爬蟲,每個節點伺服器分別設置有用於調度爬取任務的調度器; C、所述調度器按照預先定義的調度策略調用關聯的採集模塊執行爬取任務進行數據米集。
2.根據權利要求1所述的網絡爬蟲多任務執行和調度方法,其特徵在於,所述步驟A中根據不同的內容和網站特點,對待爬取內容進行細粒度切分具體為: 當所述待爬取內容包括多個類型相同的網站時,將多個類型相同的網站切分為單個網站; 或者,當單個網站包含多個內容不同的版塊時,將單個網站切分為不同的版塊; 或者,當單一板塊中包含多個頁面時,將單一板塊切分為多個頁面。
3.根據權利要求1所述的網絡爬蟲多任務執行和調度方法,其特徵在於,所述切分後的內容之間無關聯性,所述各採集模塊分別對應關聯各爬取任務。
4.根據權利要求3所述的網絡爬蟲多任務執行和調度方法,其特徵在於,所述各爬取任務之間無關聯性,每一爬取任務通過一獨立線程完成。
5.根據權利要求1所述的網絡爬蟲多任務執行和調度方法,其特徵在於,所述預先定義的調度策略包括: 指定所述爬取任務在一固定的節點伺服器上執行; 按照所述節點伺服器節點等比原則在多個節點伺服器中隨機分配爬取任務; 根據所述多個節點伺服器當前的資源信息,優先選擇資源利用率低的節點伺服器執行爬取任務。
6.根據權利要求5所述的網絡爬蟲多任務執行和調度方法,其特徵在於,所述預先定義的調度策略具體設置為: 預先設置並存儲一信息列表,所述信息列表中存儲有所述節點伺服器的IP、埠信息、爬取任務信息;讀取所述信息列表獲取爬取任務與節點伺服器的對應關係,按照所述對應關係在相應的節點伺服器上的執行爬取任務; 設置所述各節點伺服器節點權重均為1,按照該等比原則在多個節點伺服器中隨機分配爬取任務; 定期獲取所述多個節點伺服器當前的CPU、內存資源信息,根據所獲取的資源信息優先選擇資源利用率低的節點伺服器執行爬取任務,若存在資源利用率相同的節點伺服器,則在該類節點伺服器中隨機分配爬取任務。
7.根據權利要求1所述的網絡爬蟲多任務執行和調度方法,其特徵在於,所述方法還包括:設置一用於保存爬取任務信息的資料庫,所述資料庫分別與所述多個節點伺服器相連接,所述節點伺服器上的各調度器通過各自獨立的線程定期檢查所述資料庫。
8.根據權利要求7所述的網絡爬蟲多任務執行和調度方法,其特徵在於,所述步驟C中所述調度器按照預先定義的調度策略調用關聯的採集模塊之前還包括:所述節點伺服器第一次運行時,將所獲取的爬取任務信息初始化到所述資料庫。
9.根據權利要求6或7所述的網絡爬蟲多任務執行和調度方法,其特徵在於,所述步驟C具體為:到爬取任務觸發時間時,按照預先定義的調度策略,所述伺服器節點的調度器觸發自己的觸發器獲取資料庫鎖,獲取所述資料庫鎖的調度器調用關聯的採集模塊,網絡爬蟲加載所述爬蟲解析模板文件採集數據,同時更新爬取任務狀態並持久化到所述資料庫。
10.一種具有權利要求1-9任一項所述的網絡爬蟲多任務執行和調度的系統,其特徵在於,所述系統包括: 資料庫:分別所述節點伺服器連接用於保存爬取任務信息; 節點伺服器,用於執行網絡爬蟲爬取任務;所述節點伺服器包括: 採集模塊,通過所述爬蟲解析模板文件形成用於具體執行爬取任務並進行數據採集; 調度器,用於按照預先定義的調度策略調用關聯的採集模塊執行爬取任務。
【文檔編號】G06F9/46GK103605764SQ201310610659
【公開日】2014年2月26日 申請日期:2013年11月26日 優先權日:2013年11月26日
【發明者】宋軻, 劉世才, 毛海濤 申請人:Tcl集團股份有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀