国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      分布式網(wǎng)頁下載方法和系統(tǒng)的制作方法

      文檔序號:7801420閱讀:130來源:國知局
      分布式網(wǎng)頁下載方法和系統(tǒng)的制作方法
      【專利摘要】本發(fā)明提供了一種分布式網(wǎng)頁下載方法和系統(tǒng),所述方法包括:網(wǎng)絡爬蟲向任務調度服務單元發(fā)送網(wǎng)頁下載請求;所述任務調度服務單元接收并將上述網(wǎng)頁下載請求保存至第一消息隊列;上網(wǎng)客戶端從所述任務調度服務單元的第一消息隊列獲取一個網(wǎng)頁下載請求,下載相應的網(wǎng)頁數(shù)據(jù),保存至所述任務調度服務單元的第二消息隊列;所述任務調度服務單元將所述第二消息隊列中的網(wǎng)頁數(shù)據(jù)返回至請求網(wǎng)頁下載的相應網(wǎng)絡爬蟲。本發(fā)明基于雙消息隊列的點對點分布式網(wǎng)頁下載方式,可利用分散在各處的可上網(wǎng)機器來抓取網(wǎng)頁,準實時響應網(wǎng)頁下載請求,可有效的突破網(wǎng)站對并發(fā)下載請求的限制。
      【專利說明】分布式網(wǎng)頁下載方法和系統(tǒng)
      【技術領域】
      [0001]本發(fā)明涉及計算機網(wǎng)絡【技術領域】,特別地,涉及一種分布式網(wǎng)頁下載方法和系統(tǒng)?!颈尘凹夹g】
      [0002]分布式網(wǎng)頁下載系統(tǒng)包含多個網(wǎng)絡爬蟲,每個網(wǎng)絡爬蟲都需要從互聯(lián)網(wǎng)抓取網(wǎng)頁數(shù)據(jù)并保存起來。所有的這些網(wǎng)絡爬蟲可能分布在不同的地理位置,根據(jù)其分散的程度不同,網(wǎng)絡爬蟲系統(tǒng)可以分為兩大類:一類是基于局域網(wǎng)的分布式網(wǎng)絡爬蟲系統(tǒng);另一類是基于廣域網(wǎng)的分布式網(wǎng)絡爬蟲系統(tǒng)。
      [0003]在網(wǎng)頁抓取項目中通常最缺的是IP地址資源,大多數(shù)網(wǎng)站,特別是特定領域的,如微博等,對抓取端會做限制,如同一 IP地址的并發(fā)請求限制、一段時間內同一 IP地址的訪問次數(shù)限制等等。
      [0004]綜上,不管基于上述何種機制,都需要突破網(wǎng)站對網(wǎng)絡爬蟲系統(tǒng)的IP限制,但IP資源往往是比較有限的,無法實現(xiàn)有效、快速下載網(wǎng)頁的目標。

      【發(fā)明內容】

      [0005]本發(fā)明提供一種分布式網(wǎng)頁下載方法,用于解決現(xiàn)有網(wǎng)頁下載系統(tǒng)因IP地址資源有限造成的無法有效下載網(wǎng)頁的問題。
      [0006]本發(fā)明還提供了一種分布式網(wǎng)頁下載系統(tǒng),以保證上述方法在實際中的應用。
      [0007]為了解決上述問題,本發(fā)明公開了一種分布式網(wǎng)頁下載方法,執(zhí)行所述方法的系統(tǒng)包括任務調度服務單元、2個以上的網(wǎng)絡爬蟲以及2個以上分布在不同地理位置具有不同IP地址的上網(wǎng)客戶端,所述方法包括:所述網(wǎng)絡爬蟲向任務調度服務單元發(fā)送網(wǎng)頁下載請求,所述下載請求參數(shù)包括所述網(wǎng)頁的URL地址;所述任務調度服務單元接收并將上述網(wǎng)頁下載請求保存至第一消息隊列;所述上網(wǎng)客戶端從所述任務調度服務單元的第一消息隊列獲取一個網(wǎng)頁下載請求,根據(jù)所述URL地址下載相應的網(wǎng)頁數(shù)據(jù),保存至所述任務調度服務單元的第二消息隊列;所述任務調度服務單元將所述第二消息隊列中的網(wǎng)頁數(shù)據(jù)返回至請求網(wǎng)頁下載的相應網(wǎng)絡爬蟲。
      [0008]優(yōu)選的,在所述網(wǎng)絡爬蟲向任務調度服務單元發(fā)送網(wǎng)頁下載請求步驟之前,還包括:所述網(wǎng)絡爬蟲向任務調度服務單元發(fā)起TCP連接,并保持連接,直至收到任務調度服務單元返回對應的網(wǎng)頁數(shù)據(jù)。
      [0009]優(yōu)選的,所述上網(wǎng)客戶端從所述任務調度服務單元的第一消息隊列獲取一個網(wǎng)頁下載請求,具體包括:判斷所述第一消息隊列是否為空;若是,則循環(huán)等待直至所述第一消息隊列不為空;否則,所述任務調度服務單元從第一消息隊列讀取一個網(wǎng)頁下載請求,并返回給所述上網(wǎng)客戶端。
      [0010]優(yōu)選的,所述任務調度服務單元將所述第二消息隊列中的網(wǎng)頁數(shù)據(jù)返回至請求網(wǎng)頁下載的相應網(wǎng)絡爬蟲,具體包括:所述任務調度服務單元監(jiān)聽第二消息隊列的狀態(tài),當有新的網(wǎng)頁數(shù)據(jù)保存至第二消息隊列時,讀取該新的網(wǎng)頁數(shù)據(jù),并返回至請求網(wǎng)頁下載的相應網(wǎng)絡爬蟲。
      [0011]優(yōu)選的,向任務調度服務單元發(fā)起獲取網(wǎng)頁下載請求的上網(wǎng)客戶端具有空閑的網(wǎng)絡連接資源。
      [0012]依據(jù)本發(fā)明的另一優(yōu)選實施例,還公開了一種分布式網(wǎng)頁下載系統(tǒng),包括任務調度服務單元、2個以上的網(wǎng)絡爬蟲以及2個以上分布在不同地理位置具有不同IP地址的上網(wǎng)客戶端,所述任務調度服務單元與所述上網(wǎng)客戶端通過因特網(wǎng)連接,其中:所述網(wǎng)絡爬蟲用于向任務調度服務單元發(fā)送網(wǎng)頁下載請求,以及接收所述任務調度服務單元返回的網(wǎng)頁數(shù)據(jù);所述下載請求參數(shù)包括所述網(wǎng)頁的URL地址;所述上網(wǎng)客戶端用于從所述任務調度服務單元的第一消息隊列獲取一個網(wǎng)頁下載請求,根據(jù)所述URL地址通過互聯(lián)網(wǎng)下載相應的網(wǎng)頁數(shù)據(jù),并保存至所述任務調度服務單元的第二消息隊列;所述任務調度服務單元用于接收所述網(wǎng)絡爬蟲發(fā)送的網(wǎng)頁下載請求,并保存至第一消息隊列;以及,將所述第二消息隊列中的網(wǎng)頁數(shù)據(jù)返回至請求網(wǎng)頁下載的相應網(wǎng)絡爬蟲。
      [0013]優(yōu)選的,所述網(wǎng)絡爬蟲具體包括:連接子單元,用于向任務調度服務單元發(fā)起TCP連接;下載請求子單元,用于向任務調度服務單元發(fā)送網(wǎng)頁下載請求;數(shù)據(jù)接收子單元,用于接收任務調度服務單元返回的對應網(wǎng)頁數(shù)據(jù),并在網(wǎng)頁數(shù)據(jù)接收完成后斷開所述網(wǎng)絡爬蟲與任務調度服務單元的連接。
      [0014]優(yōu)選的,所述任務調度服務單元具體包括:第一消息隊列,用于接收并保存所述網(wǎng)絡爬蟲發(fā)送的網(wǎng)頁下載請求;第二消息隊列,用于接收并保存所述上網(wǎng)客戶端下載的網(wǎng)頁數(shù)據(jù);隊列監(jiān)控子單元,用于監(jiān)聽所述第二消息隊列的狀態(tài),當有新的網(wǎng)頁數(shù)據(jù)保存至第二消息隊列時,讀取該新的網(wǎng)頁數(shù)據(jù),并返回至請求網(wǎng)頁下載的相應網(wǎng)絡爬蟲。
      [0015]優(yōu)選的,所述上網(wǎng)客戶端具體包括:任務獲取子單元,用于判斷所述第一消息隊列的狀態(tài);當?shù)谝幌㈥犃胁粸榭諘r,請求所述任務調度服務單元從第一消息隊列讀取一個網(wǎng)頁下載請求;當?shù)谝幌㈥犃袨榭諘r,循環(huán)等待直至所述第一消息隊列不為空;下載子單元,用于根據(jù)所述任務獲取子單元獲取的網(wǎng)頁下載請求中包括的URL地址通過互聯(lián)網(wǎng)下載相應的網(wǎng)頁數(shù)據(jù),并保存至所述任務調度服務單元的第二消息隊列。
      [0016]優(yōu)選的,所述上網(wǎng)客戶端還包括網(wǎng)絡監(jiān)控子單元,用于監(jiān)控所述上網(wǎng)客戶端網(wǎng)絡狀態(tài);當所述上網(wǎng)客戶端具有空閑的網(wǎng)絡連接資源時,調度所述任務獲取子單元和下載子單元執(zhí)行相應的任務獲取和網(wǎng)頁下載功能。
      [0017]與現(xiàn)有技術相比,本發(fā)明具有以下優(yōu)點:
      本發(fā)明優(yōu)選實施例采用基于雙消息隊列的點對點(P2P)分布式網(wǎng)頁下載方式,可以利用分散在各處的可上網(wǎng)機器(有空閑網(wǎng)絡資源的服務器或個人電腦)來抓取網(wǎng)頁,準實時響應網(wǎng)頁下載請求,可有效的突破各類網(wǎng)站對并發(fā)請求的限制;且上網(wǎng)機器及網(wǎng)絡爬蟲端的可擴展性強,適合于大規(guī)模的分布式網(wǎng)頁下載系統(tǒng)應用。
      [0018]基于發(fā)明優(yōu)選實施例方案,從網(wǎng)絡爬蟲發(fā)起URL請求至獲得HTML網(wǎng)頁數(shù)據(jù),一般耗時不超過2秒,實時響應性能高,完全不影響實際業(yè)務。
      [0019]【專利附圖】

      【附圖說明】
      圖1為本發(fā)明分布式網(wǎng)頁下載方法一實施例的流程圖;
      圖2為本發(fā)明分布式網(wǎng)頁下載系統(tǒng)一實施例的結構示意圖;
      圖3為圖2所示的分布式網(wǎng)頁下載系統(tǒng)實施例的業(yè)務邏輯示意圖。【具體實施方式】
      [0020]為使本發(fā)明的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面結合附圖和【具體實施方式】對本發(fā)明作進一步詳細的說明。
      [0021]方法實施例:
      參照圖1,示出了本發(fā)明分布式網(wǎng)頁下載方法一實施例的流程,執(zhí)行本方法實施例的系統(tǒng)包括有網(wǎng)絡爬蟲、任務調度服務單元以及連接于互聯(lián)網(wǎng)上的上網(wǎng)客戶端(包括個人電腦、網(wǎng)絡服務器等);本優(yōu)選方法實施例包括以下步驟:
      步驟SlOl:網(wǎng)絡爬蟲向任務調度服務單元發(fā)送網(wǎng)頁下載請求;
      在本優(yōu)選實施例中,為提高網(wǎng)頁下載能力,設置2個以上請求從互聯(lián)網(wǎng)抓取并保存網(wǎng)頁數(shù)據(jù)的網(wǎng)絡爬蟲。
      [0022]在上述網(wǎng)頁下載請求中,請求參數(shù)包括待下載網(wǎng)頁的URL地址、網(wǎng)絡傳輸協(xié)議(如http協(xié)議或https協(xié)議)等。
      [0023]在具體實現(xiàn)本發(fā)明方案時,網(wǎng)絡爬蟲可以與任務調度服務單元部署在同一局域網(wǎng)中,也可以部署在不同的網(wǎng)絡中;網(wǎng)絡爬蟲與任務調度服務單元可以長連接,也可以在需要下載網(wǎng)頁數(shù)據(jù)時臨時建立連接。
      [0024]對于在需要下載網(wǎng)頁數(shù)據(jù)時臨時建立連接的方案,在步驟SlOl之前,需要先建立網(wǎng)絡爬蟲與任務調度服務單元之間的網(wǎng)絡連接(如TCP連接),并保持連接,直至收到任務調度服務單元返回對應的網(wǎng)頁數(shù)據(jù)。
      [0025]步驟S102:任務調度服務單元接收并將上述網(wǎng)頁下載請求保存至第一消息隊列; 在本優(yōu)選實施例中,第一消息隊列(即URL消息隊列)可以采用先進先出(FIFO)的隊列
      存儲結構,也可以采用后進先出(LIFO)的堆棧存儲結構,還可以環(huán)形鏈表存儲結構或其他的存儲結構。
      [0026]為保證后續(xù)流程中將網(wǎng)頁數(shù)據(jù)返回至相應的網(wǎng)絡爬蟲(即發(fā)出該網(wǎng)頁下載請求的網(wǎng)絡爬蟲),在將網(wǎng)頁下載請求保存至第一消息隊列之前,首先生成一個唯一標識(如可取該URL的MD5值作為唯一標識,也可以采用其他計算方式),并建立該唯一標識符與網(wǎng)絡爬蟲、URL參數(shù)的關聯(lián)關系。
      [0027]步驟S103:上網(wǎng)客戶端從任務調度服務單元的第一消息隊列獲取一個網(wǎng)頁下載請求;
      為克服各類網(wǎng)站或網(wǎng)絡服務器對每個IP發(fā)出的并發(fā)請求的限制,執(zhí)行本方法實施例的系統(tǒng)設置2個以上具有不同IP地址的上網(wǎng)客戶端,優(yōu)選設置2個以上分布在不同地理位置的上網(wǎng)客戶端。
      [0028]該網(wǎng)頁下載請求獲取方法具體包括:
      步驟S103-1:判斷所述第一消息隊列是否為空;若是,轉步驟S103-1循環(huán)等待;否則,轉步驟S103-2 ;
      步驟S103-2:任務調度服務單元從第一消息隊列讀取一個網(wǎng)頁下載請求,并返回給上述發(fā)出任務獲取請求的上網(wǎng)客戶端。
      [0029]在進一步的優(yōu)選實施例中,為了避免對上網(wǎng)客戶端正常業(yè)務的影響,在步驟S103之前,還包括如下判斷過程: 判斷當前上網(wǎng)客戶端是否具有空閑的網(wǎng)絡連接資源,若是,則執(zhí)行后續(xù)的任務獲取及網(wǎng)頁下載過程,否則,直接結束流程。
      [0030]步驟S104:上網(wǎng)客戶端從因特網(wǎng)下載相應的網(wǎng)頁數(shù)據(jù),保存至任務調度服務單元的第二消息隊列;
      上網(wǎng)客戶端根據(jù)網(wǎng)頁下載請求中所包括的URL地址參數(shù),從上網(wǎng)客戶端本地請求并下載相應的網(wǎng)頁數(shù)據(jù)(html數(shù)據(jù));然后,將下載的網(wǎng)頁數(shù)據(jù)發(fā)送并保存至任務調度服務單元設置的第二消息隊列(即html消息隊列)中。
      [0031]為保證后續(xù)流程中將網(wǎng)頁數(shù)據(jù)返回至相應的網(wǎng)絡爬蟲,構造key-value對象放在內存?zhèn)溆?將URL唯一標識作為key值,返回的HTML網(wǎng)頁數(shù)據(jù)作為value)。
      [0032]步驟S105:任務調度服務單元將第二消息隊列中的網(wǎng)頁數(shù)據(jù)返回至請求網(wǎng)頁下載的相應網(wǎng)絡爬蟲。
      [0033]任務調度服務單元監(jiān)聽上述第二消息隊列的狀態(tài),當有新的網(wǎng)頁數(shù)據(jù)保存至第二消息隊列時,讀取并將該新的網(wǎng)頁數(shù)據(jù)返回至請求網(wǎng)頁下載的相應網(wǎng)絡爬蟲。
      [0034]對于前述的各方法實施例,為了描述簡單,故將其都表述為一系列的動作組合,但是本領域的技術人員應該知悉,本發(fā)明并不受所描述的動作順序的限制,因為根據(jù)本發(fā)明,某些步驟可以采用其他順序或同時執(zhí)行;其次,本領域技術人員也應該知悉,上述方法實施例均屬于優(yōu)選實施例,所涉及的動作和模塊并不一定是本發(fā)明所必須的。
      [0035]系統(tǒng)實施例:
      參照圖2,示出了本發(fā)明分布式網(wǎng)頁下載系統(tǒng)一實施例的結構框圖,包括任務調度服務單元22、2個以上的網(wǎng)絡爬蟲21以及2個以上分布在不同地理位置具有不同IP地址的上網(wǎng)客戶端23,任務調度服務單元22與上網(wǎng)客戶端23通過因特網(wǎng)20連接,其中:
      網(wǎng)絡爬蟲21具體包括:下載請求子單元21-1,用于向任務調度服務單元22發(fā)送網(wǎng)頁下載請求;以及,數(shù)據(jù)接收子單元21-2,用于接收任務調度服務單元22返回的網(wǎng)頁數(shù)據(jù);在上述的網(wǎng)頁下載請求中,下載請求參數(shù)包括有待下載網(wǎng)頁的URL地址;
      在具體實施時,網(wǎng)絡爬蟲21與任務調度服務單元22可以部署在同一局域網(wǎng)中,并建立長連接;也可以部署在不同的網(wǎng)絡中,并根據(jù)需要臨時建立連接。
      [0036]對于在需要下載網(wǎng)頁數(shù)據(jù)時臨時建立連接的方案,網(wǎng)絡爬蟲21還包括:連接子單元21-3,用于向任務調度服務單元22發(fā)起TCP連接,并保持該連接;此時,數(shù)據(jù)接收子單元21-2收到任務調度服務單元22返回對應的網(wǎng)頁數(shù)據(jù)后,斷開網(wǎng)絡爬蟲21與任務調度服務單元22的連接。
      [0037]任務調度服務單元22具體包括:第一消息隊列22-1,用于接收并保存網(wǎng)絡爬蟲21發(fā)送的網(wǎng)頁下載請求;第二消息隊列22-2,用于接收并保存上網(wǎng)客戶端23下載的網(wǎng)頁數(shù)據(jù);以及,隊列監(jiān)控子單元22-3,用于監(jiān)聽第二消息隊列22-2的狀態(tài),當有新的網(wǎng)頁數(shù)據(jù)保存至第二消息隊列時,讀取該新的網(wǎng)頁數(shù)據(jù),并返回至請求網(wǎng)頁下載的相應網(wǎng)絡爬蟲21。
      [0038]上網(wǎng)客戶端23具體包括:任務獲取子單元23-1,用于從任務調度服務單元22的第一消息隊列22-1獲取網(wǎng)頁下載請求;以及,下載子單元23-2,用于根據(jù)網(wǎng)頁下載請求所包括的URL地址通過互聯(lián)網(wǎng)20下載相應的網(wǎng)頁數(shù)據(jù),并保存至任務調度服務單元22設置的第二消息隊列22-2。
      [0039]任務獲取子單元23-1實現(xiàn)方法具體為:判斷第一消息隊列22-1的狀態(tài);當?shù)谝幌㈥犃?2-1不為空時,請求任務調度服務單元22從第一消息隊列22-1中讀取一個網(wǎng)頁下載請求;當?shù)谝幌㈥犃?2-1為空時,循環(huán)等待直至第一消息隊列22-1不為空。
      [0040]在進一步的系統(tǒng)實施例中,上網(wǎng)客戶端23還包括:網(wǎng)絡監(jiān)控子單元23-3,用于監(jiān)控上網(wǎng)客戶端23網(wǎng)絡狀態(tài);當上網(wǎng)客戶端23具有空閑的網(wǎng)絡連接資源時,調度任務獲取子單元23-1和下載子單元23-2執(zhí)行相應的任務獲取和網(wǎng)頁下載功能。
      [0041 ] 參照圖3,示出了上述分布式網(wǎng)頁下載系統(tǒng)實施例的業(yè)務邏輯示意圖,其業(yè)務執(zhí)行過程包括:
      1、爬蟲發(fā)起TCP連接,將URL發(fā)送給調度主服務,保持連接,等待回應;
      2、調度主服務計算URL的特征值(如可取其MD5值作為特征值,也可以采用其他計算方式)作為唯一標識,一起發(fā)送至消息隊列;
      3、上網(wǎng)客戶端主動請求URL消息隊列,如果URL消息隊列不為空,則返回一個URL任務給上網(wǎng)客戶端;否則等待直至URL消息隊列不為空;在獲取一個URL后,上網(wǎng)客戶端在本地發(fā)起HTTP請求,然后將請求返回的HTML網(wǎng)頁及對應URL的唯一標識(URL特征值)發(fā)送至HTML消息隊列;
      4、調度主服務主動監(jiān)聽HTML消息隊列,一旦有新的消息入隊,立即讀出,否則繼續(xù)等待直至HTML消息隊列不為空為止。
      [0042]5、調度主服務通過URL唯一標識檢索內存,發(fā)現(xiàn)某TCP連接發(fā)起的URL對應特征的HTML網(wǎng)頁數(shù)據(jù)已經返回,立即將該HTML網(wǎng)頁數(shù)據(jù)發(fā)送給網(wǎng)絡爬蟲;至此,完成了整個網(wǎng)絡爬蟲請求過程。
      [0043]需要說明的是,上述系統(tǒng)實施例屬于優(yōu)選實施例,所涉及的單元并不一定是本發(fā)明所必須的。
      [0044]本說明書中的各個實施例均采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似的部分互相參見即可。對于本發(fā)明的系統(tǒng)實施例而言,由于其與方法實施例基本相似,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。
      [0045]以上對本發(fā)明所提供的一種分布式網(wǎng)頁下載方法和系統(tǒng),進行了詳細介紹,本文中應用了具體個例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領域的一般技術人員,依據(jù)本發(fā)明的思想,在【具體實施方式】及應用范圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本發(fā)明的限制。
      【權利要求】
      1.一種分布式網(wǎng)頁下載方法,其特征在于,執(zhí)行所述方法的系統(tǒng)包括任務調度服務單元、2個以上的網(wǎng)絡爬蟲以及2個以上分布在不同地理位置具有不同IP地址的上網(wǎng)客戶端,所述方法包括: 所述網(wǎng)絡爬蟲向任務調度服務單元發(fā)送網(wǎng)頁下載請求,所述下載請求參數(shù)包括所述網(wǎng)頁的URL地址; 所述任務調度服務單元接收并將上述網(wǎng)頁下載請求保存至第一消息隊列; 所述上網(wǎng)客戶端從所述任務調度服務單元的第一消息隊列獲取一個網(wǎng)頁下載請求,根據(jù)所述URL地址下載相應的網(wǎng)頁數(shù)據(jù),保存至所述任務調度服務單元的第二消息隊列; 所述任務調度服務單元將所述第二消息隊列中的網(wǎng)頁數(shù)據(jù)返回至請求網(wǎng)頁下載的相應網(wǎng)絡爬蟲。
      2.如權利要求1所述的方法,其特征在于,在所述網(wǎng)絡爬蟲向任務調度服務單元發(fā)送網(wǎng)頁下載請求步驟之前,還包括: 所述網(wǎng)絡爬蟲向任務調度服務單元發(fā)起TCP連接,并保持連接,直至收到任務調度服務單元返回對應的網(wǎng)頁數(shù)據(jù)。
      3.如權利要求1所述的方法,其特征在于,所述上網(wǎng)客戶端從所述任務調度服務單元的第一消息隊列獲取一個網(wǎng)頁下載請求,具體包括: 判斷所述第一消息隊列是否為空; 若是,則循環(huán)等待直至所述第一消息隊列不為空;否則,所述任務調度服務單元從第一消息隊列讀取一個網(wǎng)頁下載請求,并返回給所述上網(wǎng)客戶端。
      4.如權利要求1所述的方法,其特征在于,所述任務調度服務單元將所述第二消息隊列中的網(wǎng)頁數(shù)據(jù)返回至請求網(wǎng)頁下載的相應網(wǎng)絡爬蟲,具體包括: 所述任務調度服務單元監(jiān)聽第二消息隊列的狀態(tài),當有新的網(wǎng)頁數(shù)據(jù)保存至第二消息隊列時,讀取該新的網(wǎng)頁數(shù)據(jù),并返回至請求網(wǎng)頁下載的相應網(wǎng)絡爬蟲。
      5.如權利要求1所述的方法,其特征在于,向任務調度服務單元發(fā)起獲取網(wǎng)頁下載請求的上網(wǎng)客戶端具有空閑的網(wǎng)絡連接資源。
      6.一種分布式網(wǎng)頁下載系統(tǒng),其特征在于,包括任務調度服務單元、2個以上的網(wǎng)絡爬蟲以及2個以上分布在不同地理位置具有不同IP地址的上網(wǎng)客戶端,所述任務調度服務單元與所述上網(wǎng)客戶端通過因特網(wǎng)連接,其中: 所述網(wǎng)絡爬蟲用于向任務調度服務單元發(fā)送網(wǎng)頁下載請求,以及接收所述任務調度服務單元返回的網(wǎng)頁數(shù)據(jù);所述下載請求參數(shù)包括所述網(wǎng)頁的URL地址; 所述上網(wǎng)客戶端用于從所述任務調度服務單元的第一消息隊列獲取一個網(wǎng)頁下載請求,根據(jù)所述URL地址通過互聯(lián)網(wǎng)下載相應的網(wǎng)頁數(shù)據(jù),并保存至所述任務調度服務單元的第二消息隊列; 所述任務調度服務單元用于接收所述網(wǎng)絡爬蟲發(fā)送的網(wǎng)頁下載請求,并保存至第一消息隊列;以及,將所述第二消息隊列中的網(wǎng)頁數(shù)據(jù)返回至請求網(wǎng)頁下載的相應網(wǎng)絡爬蟲。
      7.如權利要求6所述的系統(tǒng),其特征在于,所述網(wǎng)絡爬蟲具體包括: 連接子單元,用于向任務調度服務單元發(fā)起TCP連接; 下載請求子單元,用于向任務調度服務單元發(fā)送網(wǎng)頁下載請求; 數(shù)據(jù)接收子單元,用于接收任務調度服務單元返回的對應網(wǎng)頁數(shù)據(jù),并在網(wǎng)頁數(shù)據(jù)接收完成后斷開所述網(wǎng)絡爬蟲與任務調度服務單元的連接。
      8.如權利要求6所述的系統(tǒng),其特征在于,所述任務調度服務單元具體包括: 第一消息隊列,用于接收并保存所述網(wǎng)絡爬蟲發(fā)送的網(wǎng)頁下載請求; 第二消息隊列,用于接收并保存所述上網(wǎng)客戶端下載的網(wǎng)頁數(shù)據(jù); 隊列監(jiān)控子單元,用于監(jiān)聽所述第二消息隊列的狀態(tài),當有新的網(wǎng)頁數(shù)據(jù)保存至第二消息隊列時,讀取該新的網(wǎng)頁數(shù)據(jù),并返回至請求網(wǎng)頁下載的相應網(wǎng)絡爬蟲。
      9.如權利要求6所述的系統(tǒng),其特征在于,所述上網(wǎng)客戶端具體包括: 任務獲取子單元,用于判斷所述第一消息隊列的狀態(tài);當?shù)谝幌㈥犃胁粸榭諘r,請求所述任務調度服務單元從第一消息隊列讀取一個網(wǎng)頁下載請求;當?shù)谝幌㈥犃袨榭諘r,循環(huán)等待直至所述第一消息隊列不為空; 下載子單元,用于根據(jù)所述任務獲取子單元獲取的網(wǎng)頁下載請求中包括的URL地址通過互聯(lián)網(wǎng)下載相應的網(wǎng)頁數(shù)據(jù),并保存至所述任務調度服務單元的第二消息隊列。
      10.如權利要求9所述的系統(tǒng),其特征在于,所述上網(wǎng)客戶端還包括網(wǎng)絡監(jiān)控子單元,用于監(jiān)控所述上網(wǎng)客戶端網(wǎng)絡狀態(tài);當所述上網(wǎng)客戶端具有空閑的網(wǎng)絡連接資源時,調度所述任務獲取子單元 下載子單元執(zhí)行相應的任務獲取和網(wǎng)頁下載功能。
      【文檔編號】H04L29/08GK103873597SQ201410149901
      【公開日】2014年6月18日 申請日期:2014年4月15日 優(yōu)先權日:2014年4月15日
      【發(fā)明者】何培林, 湯偉賓, 陳晨, 章正道, 林勝通 申請人:廈門市美亞柏科信息股份有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1