【技術實現步驟摘要】
網頁爬取任務調度方法與任務調度器
本專利技術涉及計算機
,特別是涉及一種網絡蜘蛛的網頁爬取任務調度方法與任務調度器。
技術介紹
網絡蜘蛛也稱Web蜘蛛,是指通過網絡請求,訪問互聯網上的各個站點,來獲取一些有價值信息的應用。網絡蜘蛛通過網頁的鏈接地址來尋找網頁,從網站某一個頁面(通常是首頁)開始,讀取網頁的內容,找到在網頁中的其它鏈接地址,然后通過這些鏈接地址尋找下一個網頁,這樣一直循環下去,直到把這個網站所有的網頁都抓取完為止。當需要訪問的站點或網頁數量較多時,單個機器或單個數據中心中蜘蛛的獲取信息的能力將非常有限。這個時候就會需要使用到多個機器或多個數據中心的蜘蛛,來對大量的站點及網頁進行抓取。現有使用多個機器或多個數據中心的蜘蛛時,蜘蛛任務的分配大多是將各個站點或各個需要抓取的頁面任務,平均地進行分配。然而,對于任意一個站點來說,各數據中心的網絡蜘蛛訪問該站點的速度是不一樣的,這種平均分配策略有可能造成將抓取任務分配給訪問速度慢的數據中心,而訪問速度快的數據中心則可能處于空閑狀態,造成蜘蛛抓取效率不高。此外,各數據中心在一天內各個時間段的網絡情況也不一樣,如果某個數據中心的網絡情況不佳,則分配給那個數據中心的任務則會持續積壓,這樣不僅會造成程序穩定性的問題,還會導致一些重要站點的抓取出現較長時間的延遲,同樣使得蜘蛛抓取效率不高。
技術實現思路
鑒于上述現有的網頁爬取中,蜘蛛抓取效率不高的問題,提出了本專利技術以便提供一種克服上述問題或者至少部分地解決上述問題的網頁爬取任務調度方法與任務調度器。依據本專利技術的一個方面,提供了一種網頁爬取任務調度方法, ...
【技術保護點】
一種網頁爬取任務調度方法,包括:確定各個數據中心的網絡爬蟲的當前任務積壓狀態;若當前數據中心的所述任務積壓狀態為少量任務積壓,則調整所述當前數據中心中的網絡爬蟲的抓取進程數量,并繼續向所述當前數據中心調度后續網頁爬取任務;若當前數據中心的所述任務積壓狀態為大量任務積壓、且存在所述任務積壓狀態為少量任務積壓或無積壓的其它數據中心,則將調度給所述當前數據中心的后續網頁爬取任務調度給所述任務積壓狀態為少量任務積壓的其它數據中心;若所有數據中心的所述任務積壓狀態均為大量任務積壓,則延遲設定時間后再進行后續網頁爬取任務調度。
【技術特征摘要】
1.一種網頁爬取任務調度方法,包括:確定各個數據中心的網絡爬蟲的當前任務積壓狀態;若當前數據中心的所述任務積壓狀態為少量任務積壓,則調整所述當前數據中心中的網絡爬蟲的抓取進程數量,并繼續向所述當前數據中心調度后續網頁爬取任務;若當前數據中心的所述任務積壓狀態為大量任務積壓、且存在所述任務積壓狀態為少量任務積壓或無積壓的其它數據中心,則將調度給所述當前數據中心的后續網頁爬取任務調度給所述任務積壓狀態為少量任務積壓的其它數據中心;若所有數據中心的所述任務積壓狀態均為大量任務積壓,則延遲設定時間后再進行后續網頁爬取任務調度;若當前數據中心的任務積壓狀態為無積壓,則直接繼續向當前數據中心調度后續網頁爬取任務;所述方法,還包括:記錄抓取網頁耗時;收集各數據中心對各網站的抓取耗時數據;計算各數據中心對各網站的網頁爬取權限;根據網頁爬取權限,重新分配任務在各數據中心的比例。2.根據權利要求1所述的方法,其中,所述確定各個數據中心的網絡爬蟲的當前任務積壓狀態的步驟包括:獲取所述各個數據中心的當前網頁爬取任務數和當前網頁爬取工作進程數;根據所述當前網頁爬取任務數和當前網頁爬取工作進程數,確定所述各個數據中心的當前任務積壓比例;當所述當前任務積壓比例大于或等于第一設定閾值,且小于第二設定閾值時,則所述數據中心的當前任務積壓狀態為少量任務積壓;當所述當前任務積壓比例大于或等于所述第二設定閾值時,則所述數據中心的當前任務積壓狀態為大量任務積壓。3.根據權利要求2所述的方法,其中,所述若當前數據中心的所述任務積壓狀態為少量任務積壓,則調整所述當前數據中心中的網絡爬蟲的抓取進程數量的步驟包括:根據所述任務積壓狀態為少量任務積壓的當前數據中心的所述當前任務積壓比例,判斷在下一次網頁爬取任務調度前,所述少量任務積壓的當前數據中心完成當前所有網頁爬取任務的執行的機率;若所述機率不為100%,則判斷當前數據中心的所述當前網頁爬取工作進程數是否小于設定的最大進程數;若小于,則在所述最大進程數允許的范圍內增加第一設定數量的網頁爬取工作進程;若不小于,則不進行網頁爬取工作進程數調整;若所述機率為100%,則判斷當前數據中心的所述當前網頁爬取工作進程數是否大于設定的最小進程數、且減少第二設定數量的網頁爬取工作進程后仍能在下一次網頁爬取任務調度前,將當前數據中心的當前所有網頁爬取任務執行完;若是,則在所述最小進程數允許的范圍內減少所述第二設定數量的網頁爬取工作進程;若否,則不進行網頁爬取工作進程數調整。4.根據權利要求1所述的方法,其中,在所述若所有數據中心的所述任務積壓狀態均為大量任務積壓,則延遲設定時間后再進行后續網頁爬取任務調度的步驟之后,還包括:記錄所述延遲的次數;若所述延遲的次數大于第三設定閾值,則仍向所述任務積壓狀態為大量任務積壓的數據中心調度后續網頁爬取任務。5.根據權利要求1所述的方法,其中,在所述確定各個數據中心的網絡爬蟲的當前任務積壓狀態的步驟之前,還包括:獲取所述各個數據中心的網絡爬蟲的網頁爬取權限;根據所述各個數據中心的網絡爬蟲的網頁爬取權限,獲取各個數據中心組成的所有數據中心的網絡爬蟲的網頁爬取權限;根據所述各個數據中心的網絡爬蟲的網頁爬取權限,和所述所有數據中心的網絡爬蟲的網頁爬取權限,按照設定規則為所...
【專利技術屬性】
技術研發人員:徐銳波,付赟,
申請(專利權)人:北京奇虎科技有限公司,奇智軟件北京有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。