新四季網

一種數據採集的方法及其相關設備與流程

2023-06-06 05:23:06


本發明涉及網際網路搜尋引擎技術領域,尤其涉及一種數據採集的方法及其相關設備。



背景技術:

網絡爬蟲,用於自動採集網際網路上的網頁數據,並將數據存儲在存儲介質上。在海量數據採集的場景下,需要採集的目標網站數量眾多,需要採集的網頁數據量巨大,同時要求採集的效率要求極高,普通的單機爬蟲由於硬體資源有限,無法滿足需求,必須採用分布式爬蟲技術。

傳統的分布式爬蟲技術,如Apache Nutch等,現有的解決方案是搭建一個主從模式的主機集群,主節點即控制節點負責任務調度和集群管理,從節點即爬蟲節點使用多線程調度的方式並發爬蟲程序,從而實現整個分布式爬蟲系統的高並發數據採集。

傳統的分布式爬蟲技術,在爬蟲節點上使用多線程調度的方式並發運行爬蟲程序,多線程爬蟲線程的隔離性較差,開發者需要謹慎處理好爬蟲線程複雜的同步問題,否則容易造成線程死鎖或阻塞,同時,作業系統不能為每個線程獨立分配CPU、內存等計算資源,若某個線程出現內存溢出等問題,可能導致主機系統完全崩潰,影響整體系統的穩定性。



技術實現要素:

本發明實施例提供了一種數據採集的方法及其相關設備,用於提高整體系統的穩定性。

本發明實施例一方面提供了一種數據採集的方法,具體包括:

方法應用於分布式爬蟲系統,分布式爬蟲系統包括控制節點和多個爬蟲節點,其中,每個爬蟲節點中都創建有多個爬蟲容器,方法包括:

控制節點根據數據採集目標確定數據採集任務;

控制節點將數據採集任務調度到目標爬蟲容器,以使目標爬蟲容器根據數據採集任務,採集對應的數據,並存儲採集到的數據,目標爬蟲容器為多個爬蟲容器中的一個。

本發明實施例令一方面提供了一種數據採集的方法,具體包括:

方法應用於分布式爬蟲系統,分布式爬蟲系統包括控制節點和多個爬蟲節點,其中,每個爬蟲節點中都創建有多個爬蟲容器,方法包括:

爬蟲節點中的爬蟲容器從控制節點接收數據採集任務;

爬蟲節點中的爬蟲容器根據數據採集任務,採集對應的數據;

爬蟲節點中的爬蟲容器存儲採集到的數據。

本發明實施例另一方面提供了一種控制節點,具體包括:

控制節點應用於分布式爬蟲系統,分布式爬蟲系統還包括多個爬蟲節點,其中,每個爬蟲節點中都創建有多個爬蟲容器,控制節點包括:

確定單元,用於根據數據採集目標確定數據採集任務;

調度單元,用於將確定單元確定的數據採集任務調度到目標爬蟲容器,以使目標爬蟲容器根據數據採集任務,採集對應的數據,並存儲採集到的數據,目標爬蟲容器為多個爬蟲容器中的一個。

本發明實施例另一方面提供了一種爬蟲節點,具體包括:

爬蟲節點應用於分布式爬蟲系統,分布式爬蟲系統包括控制節點和多個爬蟲節點,其中,每個爬蟲節點中都創建有多個爬蟲容器,爬蟲節點中包括:

第一接收單元,用於通過爬蟲節點中的爬蟲容器從控制節點接收數據採集任務;

採集單元,用於通過爬蟲節點中的爬蟲容器根據接收單元接收到的數據採集任務,採集對應的數據;

存儲單元,用於通過爬蟲節點中的爬蟲容器存儲採集單元採集到的數據。

本發明實施例另一方面提供了一種控制節點,具體包括:

控制節點應用於分布式爬蟲系統,分布式爬蟲系統還包括多個爬蟲節點,其中,每個爬蟲節點中都創建有多個爬蟲容器,控制節點包括:

輸入裝置、輸出裝置、處理器和存儲器;

處理器通過調用存儲器存儲的操作指令,用於執行如下步驟:

控制節點根據數據採集目標確定數據採集任務;

控制節點將數據採集任務調度到目標爬蟲容器,以使目標爬蟲容器根據數據採集任務,採集對應的數據,並存儲採集到的數據,目標爬蟲容器為多個爬蟲容器中的一個。

本發明實施例另一方面提供了一種爬蟲節點,具體包括:

爬蟲節點應用於分布式爬蟲系統,分布式爬蟲系統包括控制節點和多個爬蟲節點,其中,每個爬蟲節點中都創建有多個爬蟲容器,爬蟲節點中包括:

輸入裝置、輸出裝置、處理器和存儲器;

處理器通過調用存儲器存儲的操作指令,用於執行如下步驟:

爬蟲節點中的爬蟲容器從控制節點接收數據採集任務;

爬蟲節點中的爬蟲容器根據數據採集任務,採集對應的數據;

爬蟲節點中的爬蟲容器存儲採集到的數據。

從以上技術方案可以看出,本發明實施例具有以下優點:

本發明實施例中,控制節點根據數據採集目標確定數據採集任務;控制節點將數據採集任務調度到目標爬蟲容器,以使目標爬蟲容器根據數據採集任務,採集對應的數據,並存儲採集到的數據,目標爬蟲容器為多個爬蟲容器中的一個。由於本發明實施例採用爬蟲容器協同的方式實現爬蟲的高並發,控制節點可對爬蟲容器進行集群管理,且爬蟲容器間的隔離性好,可以減少容器內各個爬蟲程序之間的幹擾,提高整體系統的穩定性。

附圖說明

圖1為本發明實施例中基於Docker的分布式爬蟲技術的基礎架構;

圖2為本發明實施例中數據採集方法一個實施例示意圖;

圖3為本發明實施例中數據採集方法另一實施例示意圖;

圖4為本發明實施例中數據採集方法另一實施例示意圖;

圖5為本發明實施例中數據採集方法另一實施例示意圖;

圖6為本發明實施例中數據採集方法另一實施例示意圖;

圖7為本發明實施例中基於Docker的分布式爬蟲系統裝置圖;

圖8為本發明實施例中控制節點一個實施例示意圖;

圖9為本發明實施例中控制節點另一實施例示意圖;

圖10為本發明實施例中控制節點另一實施例示意圖;

圖11為本發明實施例中爬蟲節點一個實施例示意圖;

圖12為本發明實施例中爬蟲節點另一實施例示意圖;

圖13為本發明實施例中控制節點另一個實施例示意圖;

圖14為本發明實施例中爬蟲節點另一實施例示意圖。

具體實施方式

本發明實施例提供了一種數據採集的方法及其相關設備,用於提高整體系統的穩定性。

為了使本技術領域的人員更好地理解本發明方案,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分的實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都應當屬於本發明保護的範圍。

本發明的說明書和權利要求書及上述附圖中的術語「第一」、「第二」、「第三」、「第四」等(如果存在)是用於區別類似的對象,而不必用於描述特定的順序或先後次序。應該理解這樣使用的數據在適當情況下可以互換,以便這裡描述的實施例能夠以除了在這裡圖示或描述的內容以外的順序實施。此外,術語「包括」或「具有」及其任何變形,意圖在於覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統、產品或設備不必限於清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或對於這些過程、方法、產品或設備固有的其它步驟或單元。

下面首先對本發明的一些名詞進行描述:

分布式爬蟲是指在多個節點(例如物理主機、虛擬主機)上並發運行的多個爬蟲。每個爬蟲從網際網路上獨立或與其它爬蟲協同採集網頁數據,並把數據持久化存儲。

Docker是一個基於輕量級虛擬化技術的開源容器引擎,開發者在此引擎上可以把應用以及相關依賴軟體及工具集合打包到一個可移植的鏡像中,並將鏡像快速發布到生產環境上。

Kubernetes是谷歌Google開源的容器集群管理系統。

etcd是一個高可用的鍵值存儲系統,主要用於共享配置和服務發現。

Shipyard是一個集中化的全球資訊網Web界面Docker可視化管理平臺。

本發明實施例應用於如圖1所示的基於Docker的分布式爬蟲技術的基礎架構,整個爬蟲架構分為前端可視化和後臺數據採集兩大模塊。前端可視化模塊包括可視化控制和可視化監控、後臺數據採集模塊包括控制者,監控者、工作者和工作者代理,其中控制者和工作者代理相當於控制節點,工作者相當於爬蟲節點中的爬蟲容器。

控制者基於RabbitMQ消息隊列和Kubernetes組件,主要負責任務調度和容器集群管理。監控者基於Shipyard組件,對容器集群中各容器的運行狀況進行監控。工作者代理基於etcd組件,負責對工作者進行服務註冊和服務發現。工作者是Docker容器,各個容器內部部署運行著各類爬蟲程序和存儲模塊。前端可視化模塊基於RestfulAPI方式與後端模塊交互,為系統提供可視化運維工具。

需要說明的是,以下實施例均應用於分布式爬蟲系統,分布式爬蟲系統包括控制節點和多個爬蟲節點,其中,每個爬蟲節點中都創建有多個爬蟲容器。

請參閱圖2,本發明實施例中數據採集方法一個實施例包括:

201、控制節點根據數據採集目標確定數據採集任務。

本實施例中,控制節點確定數據採集目標之後,會根據數據採集目標確定數據採集任務。

202、控制節點將數據採集任務調度到目標爬蟲容器。

本實施例中,控制節點將數據採集任務調度到目標爬蟲容器,以使目標爬蟲容器根據數據採集任務,採集對應的數據,並存儲採集到的數據,目標爬蟲容器為多個爬蟲容器中的一個。

本發明實施例中,控制節點根據數據採集目標確定數據採集任務;控制節點將數據採集任務調度到目標爬蟲容器,以使目標爬蟲容器根據數據採集任務,採集對應的數據,並存儲採集到的數據,目標爬蟲容器為多個爬蟲容器中的一個。由於本發明實施例採用爬蟲容器協同的方式實現爬蟲的高並發,控制節點可對爬蟲容器進行集群管理,且爬蟲容器間的隔離性好,可以減少容器內各個爬蟲程序之間的幹擾,提高整體系統的穩定性。

請參閱圖3,本發明實施例中數據採集方法令一個實施例包括:

301、控制節點向每個爬蟲節點發送爬蟲容器鏡像。

本實施例中,控制節點向每個爬蟲節點發送爬蟲容器鏡像,以使每個爬蟲節點根據爬蟲容器鏡像創建多個爬蟲容器,爬蟲容器鏡像包括爬蟲程序和爬蟲程序的依賴包。

302、控制節點根據數據採集目標確定數據採集任務。

303、控制節點將數據採集任務調度到目標爬蟲容器。

本實施例中,步驟302和303與圖2中步驟201和202類似,具體此處不做贅述。

需要說明的是控制節點包括任務調度中心和Docker容器集群管理中心,其中,任務調度控制中心的核心組件是RabbitMQ消息隊列技術,會根據採集目標網站或採集目標內容的不同進行分類,RabbitMQ創建了多個不同的工作隊列,通過交換器Exchanger將各類採集任務路由到相應的工作隊列中。集群上的爬蟲容器充當消費者,以訂閱的方式從相應的工作隊列中領取採集任務。Docker容器集群管理中心的核心組件是Kubernetes和etcd。Kubernetes對爬蟲集群中的所有容器進行集中的管理,進行資源調度和均衡容災,確保系統的可維護性和穩定性。etcd負責服務註冊和服務發現,根據容器內運行採集程序的不同劃分各個服務組,分配相對應的採集任務,並對各容器內採集任務的運行狀態進行標記。

本發明實施例中,控制節點向每個爬蟲節點發送爬蟲容器鏡像,以使每個爬蟲節點根據爬蟲容器鏡像創建多個爬蟲容器。控制節點根據數據採集目標確定數據採集任務,控制節點將數據採集任務調度到目標爬蟲容器,以使目標爬蟲容器根據數據採集任務,採集對應的數據,並存儲採集到的數據,目標爬蟲容器為多個爬蟲容器中的一個。由於本發明實施例採用爬蟲容器協同的方式實現爬蟲的高並發,控制節點可對爬蟲容器進行集群管理,且爬蟲容器間的隔離性好,可以減少容器內各個爬蟲程序之間的幹擾,提高了整體系統的穩定性。

請參閱圖4,本發明實施例中數據採集方法令一個實施例包括:

401、控制節點向每個爬蟲節點發送爬蟲容器鏡像。

本實施例中,步驟401與圖3中步驟301類似,具體此處不做贅述。

402、控制節點監控每個爬蟲容器的運行狀況。

本實施例中,控制節點監控每個爬蟲容器的運行狀況,控制節點根據每個爬蟲容器的運行狀況,管理每個爬蟲容器。

其中,管理每個爬蟲容器,包括控制節點停止、啟動或者銷毀每個爬蟲容器。

需要說明的是,步驟402在步驟401之後,也可以在步驟403或404之後,具體此處不做限定。

403、控制節點根據數據採集目標確定數據採集任務。

404、控制節點將數據採集任務調度到目標爬蟲容器。

本實施例中,步驟403和404與圖2中步驟201和202類似,具體此處不做贅述。

需要說明的是控制節點包括任務調度中心和Docker容器集群管理中心,其中,任務調度控制中心的核心組件是RabbitMQ消息隊列技術,會根據採集目標網站或採集目標內容的不同進行分類,RabbitMQ創建了多個不同的工作隊列,通過交換器Exchanger將各類採集任務路由到相應的工作隊列中。集群上的爬蟲容器充當消費者,以訂閱的方式從相應的工作隊列中領取採集任務。Docker容器集群管理中心的核心組件是Kubernetes和etcd。Kubernetes對爬蟲集群中的所有容器進行集中的管理,進行資源調度和均衡容災,確保系統的可維護性和穩定性。etcd負責服務註冊和服務發現,根據容器內運行採集程序的不同劃分各個服務組,分配相對應的採集任務,並對各容器內採集任務的運行狀態進行標記。

本發明實施例中,控制節點向每個爬蟲節點發送爬蟲容器鏡像,以使每個爬蟲節點根據爬蟲容器鏡像創建多個爬蟲容器,控制節點對每個爬蟲容器進行監控,根據該監控管理每個爬蟲容器。控制節點根據數據採集目標確定數據採集任務,將數據採集任務調度到目標爬蟲容器,以使目標爬蟲容器根據數據採集任務,採集對應的數據,並存儲採集到的數據,目標爬蟲容器為多個爬蟲容器中的一個。由於本發明實施例採用爬蟲容器協同的方式實現爬蟲的高並發,控制節點可對爬蟲容器進行集群管理,且爬蟲容器間的隔離性好,可以減少容器內各個爬蟲程序之間的幹擾,提高了整體系統的穩定性,且控制節點可以管理到爬蟲節點裡的每一個爬蟲容器,增強了系統的管理力度。

請參閱圖5,本發明實施例中數據採集方法令一個實施例包括:

501、爬蟲節點中的爬蟲容器從控制節點接收數據採集任務。

本實施例中,當爬蟲節點中的爬蟲容器創建好之後,從控制節點接收數據採集任務。

502、爬蟲節點中的爬蟲容器根據數據採集任務,採集對應的數據。

本實施例中,當爬蟲節點中的爬蟲容器從控制節點接收數據採集任務之後,爬蟲節點中的爬蟲容器根據數據採集任務,採集對應的數據。

503、爬蟲節點中的爬蟲容器存儲採集到的數據。

本實施例中,爬蟲節點中的爬蟲容器根據數據採集任務,採集到對應的數據之後,爬蟲節點中的爬蟲容器存儲採集到的數據。

本發明實施例中,爬蟲節點中的爬蟲容器從控制節點接收數據採集任務,爬蟲節點中的爬蟲容器根據數據採集任務,採集對應的數據,爬蟲節點中的爬蟲容器存儲採集到的數據。由於本發明實施例採用爬蟲容器協同的方式實現爬蟲的高並發,控制節點可對爬蟲容器進行集群管理,且爬蟲容器間的隔離性好,可以減少容器內各個爬蟲程序之間的幹擾,提高了整體系統的穩定性。

請參閱圖6,本發明實施例中數據採集方法令一個實施例包括:

601、爬蟲節點從控制節點接收爬蟲容器鏡像。

本實施例中,控制節點中的將爬蟲程序和爬蟲程序的依賴包打包成可移植的爬蟲容器鏡像,在將該爬蟲容器鏡像發送至爬蟲節點。

602、爬蟲節點根據爬蟲容器鏡像創建多個爬蟲容器。

本實施例中,當爬蟲節點從控制節點接收爬蟲容器鏡像之後,爬蟲節點根據爬蟲容器鏡像創建多個爬蟲容器,通過多容器協同的方式實現爬蟲高並發。

需要說明的是,作業系統為每個爬蟲容器都分配了限定的中央處理器CPU和內存資源,避免了某個容器過多的佔用資源而導致系統性能下降甚至系統崩潰。

603、爬蟲節點中的爬蟲容器從控制節點接收數據採集任務。

604、爬蟲節點中的爬蟲容器根據數據採集任務,採集對應的數據。

605、爬蟲節點中的爬蟲容器存儲採集到的數據。

本實施例中,步驟603至605與圖5中步驟501至503類似,具體此處不做贅述。

需要說明的是每個爬蟲節點都安裝了Docker,且運行著一系列的爬蟲容器,該爬蟲容器分為兩類,一類爬蟲容器中運行著各類爬蟲程序,負責網頁數據的下載和解析,一類為MongoDB容器,MongoDB容器運行著MongoDB資料庫,負責網頁數據的本地存儲。

本發明實施例中,爬蟲節點中的爬蟲容器從控制節點接收數據採集任務,爬蟲節點中的爬蟲容器根據數據採集任務,採集對應的數據,爬蟲節點中的爬蟲容器存儲採集到的數據。由於本發明實施例採用爬蟲容器協同的方式實現爬蟲的高並發,由於Docker基於Linux的Namespace、cgroup技術,容器之間的隔離性好,減少了容器內各個爬蟲程序之間的幹擾,同時通過為每個容器分配限定的CPU、內存資源,避免了某個容器過多的佔用資源而導致系統性能下降甚至系統崩潰,從而提高了整體系統的穩定性,且控制節點可以管理到爬蟲節點裡的每一個爬蟲容器,增強了系統的管理力度。

本發明實施例中,系統可以通過製作鏡像和創建容器的方式動態的增加定製化的爬蟲程序,擴展系統採集功能,而且爬蟲程序的開發可以不限於任何一種語言,如Java、Phyton等,系統的可擴展性好。且爬蟲容器的創建、啟動、停止、銷毀速度都在秒級以內,所以該系統可伸縮性也好。

為便於理解,下面結合具體的應用場景對本實施例進行描述:

如圖7所示的系統裝置圖,系統將爬蟲程序和所需的依賴包打包製作成可移植的Docker鏡像,將鏡像發布到各個爬蟲節點上,再由鏡像快速創建大量的爬蟲容器。任務調度控制中心的核心組件是RabbitMQ消息隊列技術。根據採集目標網站或採集目標內容的不同進行分類,RabbitMQ創建了多個不同的工作隊列,通過Exchanger將各類採集任務路由到相應的工作隊列中。集群上的爬蟲容器充當消費者,以訂閱的方式從相應的工作隊列中領取採集任務。Docker容器集群管理中心的核心組件是Kubernetes和etcd。Kubernetes對爬蟲集群中的所有容器進行集中的管理,進行資源調度和均衡容災,確保系統的可維護性和穩定性。etcd負責服務註冊和服務發現,根據容器內運行採集程序的不同劃分各個服務組,分配相對應的採集任務,並對各容器內採集任務的運行狀態進行標記。

Web前端控制臺基於RestfulAPI的方式與後臺任務調度控制中心和Docker容器集群控制中心進行交互,實現整個分布式爬蟲系統的可視化控制。Shipyard提供了一個Web界面的監控平臺,實現系統的可視化監控。

上面對本發明實施例中的數據採集方法進行了描述,下面對本發明實施例中的伺服器進行描述,請參閱圖8,本發明實施例中的控制節點包括:

確定單元801,用於根據數據採集目標確定數據採集任務;

調度單元802,用於將確定單元確定的數據採集任務調度到目標爬蟲容器,以使目標爬蟲容器根據數據採集任務,採集對應的數據,並存儲採集到的數據,目標爬蟲容器為多個爬蟲容器中的一個。

本發明實施例中,確定單元801根據數據採集目標確定數據採集任務;調度單元802將數據採集任務調度到目標爬蟲容器,以使目標爬蟲容器根據數據採集任務,採集對應的數據,並存儲採集到的數據,目標爬蟲容器為多個爬蟲容器中的一個。由於本發明實施例採用爬蟲容器協同的方式實現爬蟲的高並發,控制節點可對爬蟲容器進行集群管理,且爬蟲容器間的隔離性好,可以減少容器內各個爬蟲程序之間的幹擾,提高整體系統的穩定性。

請參閱圖9,本發明實施例中控制節點令一個實施例包括:

發送單元901,用於向每個爬蟲節點發送爬蟲容器鏡像,以使每個爬蟲節點根據爬蟲容器鏡像創建多個爬蟲容器,爬蟲容器鏡像包括爬蟲程序和爬蟲程序的依賴包;

確定單元902,用於根據數據採集目標確定數據採集任務;

調度單元903,用於將確定單元確定的數據採集任務調度到目標爬蟲容器,以使目標爬蟲容器根據數據採集任務,採集對應的數據,並存儲採集到的數據,目標爬蟲容器為多個爬蟲容器中的一個。

本發明實施例中,發送單元901向每個爬蟲節點發送爬蟲容器鏡像,以使每個爬蟲節點根據爬蟲容器鏡像創建多個爬蟲容器。確定單元902根據數據採集目標確定數據採集任務,調度單元903將數據採集任務調度到目標爬蟲容器,以使目標爬蟲容器根據數據採集任務,採集對應的數據,並存儲採集到的數據,目標爬蟲容器為多個爬蟲容器中的一個。由於本發明實施例採用爬蟲容器協同的方式實現爬蟲的高並發,控制節點可對爬蟲容器進行集群管理,且爬蟲容器間的隔離性好,可以減少容器內各個爬蟲程序之間的幹擾,提高了整體系統的穩定性。

請參閱圖10,本發明實施例中控制節點令一個實施例包括:

發送單元1001,用於向每個爬蟲節點發送爬蟲容器鏡像,以使每個爬蟲節點根據爬蟲容器鏡像創建多個爬蟲容器,爬蟲容器鏡像包括爬蟲程序和爬蟲程序的依賴包;

監控單元1002,用於監控每個爬蟲容器的運行狀況;

管理單元1003,用於根據每個爬蟲容器的運行狀況,管理每個爬蟲容器;

確定單元1004,用於根據數據採集目標確定數據採集任務;

調度單元1005,用於將確定單元確定的數據採集任務調度到目標爬蟲容器,以使目標爬蟲容器根據數據採集任務,採集對應的數據,並存儲採集到的數據,目標爬蟲容器為多個爬蟲容器中的一個。

其中,管理單元1003包括:

管理子單元10031,用於控制節點停止、啟動或者銷毀每個爬蟲容器。

本發明實施例中,發送單元1001向每個爬蟲節點發送爬蟲容器鏡像,以使每個爬蟲節點根據爬蟲容器鏡像創建多個爬蟲容器。確定單元1004根據數據採集目標確定數據採集任務,調度單元1005將數據採集任務調度到目標爬蟲容器,以使目標爬蟲容器根據數據採集任務,採集對應的數據,並存儲採集到的數據,目標爬蟲容器為多個爬蟲容器中的一個。由於本發明實施例採用爬蟲容器協同的方式實現爬蟲的高並發,控制節點可對爬蟲容器進行集群管理,且爬蟲容器間的隔離性好,可以減少容器內各個爬蟲程序之間的幹擾,提高了整體系統的穩定性,且控制節點可以管理到爬蟲節點裡的每一個爬蟲容器,增強了系統的管理力度。

上面對本發明實施例中的控制節點進行了描述,下面對本發明實施例中的爬蟲節點進行描述,請參閱圖11,本發明實施例中的爬蟲節點包括:

第一接收單元1101,用於通過爬蟲節點中的爬蟲容器從控制節點接收數據採集任務;

採集單元1102,用於通過爬蟲節點中的爬蟲容器根據接收單元接收到的數據採集任務,採集對應的數據;

存儲單元1103,用於通過爬蟲節點中的爬蟲容器存儲採集單元採集到的數據。

本發明實施例中,第一接收單元1101從控制節點接收數據採集任務,採集單元1102根據數據採集任務,採集對應的數據,存儲單元1103存儲採集到的數據。由於本發明實施例採用爬蟲容器協同的方式實現爬蟲的高並發,控制節點可對爬蟲容器進行集群管理,且爬蟲容器間的隔離性好,可以減少容器內各個爬蟲程序之間的幹擾,提高了整體系統的穩定性。

請參閱圖12,本發明實施例中爬蟲節點令一個實施例包括:

第二接收單元1201,用於從控制節點接收爬蟲容器鏡像,爬蟲容器鏡像包括爬蟲程序和爬蟲程序的依賴包;

創建單元1202,用於根據第二接收單元接收到的爬蟲容器鏡像創建多個爬蟲容器;

第一接收單元1203,用於通過爬蟲節點中的爬蟲容器從控制節點接收數據採集任務;

採集單元1204,用於通過爬蟲節點中的爬蟲容器根據接收單元接收到的數據採集任務,採集對應的數據;

存儲單元1205,用於通過爬蟲節點中的爬蟲容器存儲採集單元採集到的數據。

本發明實施例中,第二接收單元1201從控制節點接收爬蟲容器鏡像,爬蟲容器鏡像包括爬蟲程序和爬蟲程序的依賴包,創建單元1202根據第二接收單元接收到的爬蟲容器鏡像創建多個爬蟲容器;第一接收單元1203從控制節點接收數據採集任務,採集單元1204根據數據採集任務,採集對應的數據,存儲單元1205存儲採集到的數據。由於本發明實施例採用爬蟲容器協同的方式實現爬蟲的高並發,控制節點可對爬蟲容器進行集群管理,且爬蟲容器間的隔離性好,可以減少容器內各個爬蟲程序之間的幹擾,提高了整體系統的穩定性,且控制節點可以管理到爬蟲節點裡的每一個爬蟲容器,增強了系統的管理力度。

圖13是本發明實施例提供的一種控制節點結構示意圖,該控制節點1300可因配置或性能不同而產生比較大的差異,可以包括一個或一個以上中央處理器(central processing units,CPU)1322(例如,一個或一個以上處理器)和存儲器1332,一個或一個以上存儲應用程式1342或數據1344的存儲介質1330(例如一個或一個以上海量存儲設備)。其中,存儲器1332和存儲介質1330可以是短暫存儲或持久存儲。存儲在存儲介質1330的程序可以包括一個或一個以上模塊(圖示沒標出),每個模塊可以包括對伺服器中的一系列指令操作。更進一步地,中央處理器1322可以設置為與存儲介質1330通信,在控制節點1300上執行存儲介質1330中的一系列指令操作。

控制節點1300還可以包括一個或一個以上電源1326,一個或一個以上有線或無線網絡接口1350,一個或一個以上輸入輸出接口1358,和/或,一個或一個以上作業系統1341,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。

上述實施例中由伺服器所執行的步驟可以基於該圖14所示的伺服器結構。

圖14是本發明實施例提供的一種爬蟲節點結構示意圖,該爬蟲節點1400可因配置或性能不同而產生比較大的差異,可以包括一個或一個以上中央處理器(central processing units,CPU)1422(例如,一個或一個以上處理器)和存儲器1432,一個或一個以上存儲應用程式1442或數據1444的存儲介質1430(例如一個或一個以上海量存儲設備)。其中,存儲器1432和存儲介質1430可以是短暫存儲或持久存儲。存儲在存儲介質1430的程序可以包括一個或一個以上模塊(圖示沒標出),每個模塊可以包括對伺服器中的一系列指令操作。更進一步地,中央處理器1422可以設置為與存儲介質1430通信,在爬蟲節點1400上執行存儲介質1430中的一系列指令操作。

爬蟲節點1400還可以包括一個或一個以上電源1426,一個或一個以上有線或無線網絡接口1450,一個或一個以上輸入輸出接口1458,和/或,一個或一個以上作業系統1441,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。

上述實施例中由伺服器所執行的步驟可以基於該圖14所示的伺服器結構。

所屬領域的技術人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統,裝置和單元的具體工作過程,可以參考前述方法實施例中的對應過程,在此不再贅述。

在本申請所提供的幾個實施例中,應該理解到,所揭露的系統,裝置和方法,可以通過其它的方式實現。例如,以上所描述的裝置實施例僅僅是示意性的,例如,單元的劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統,或一些特徵可以忽略,或不執行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。

作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位於一個地方,或者也可以分布到多個網絡單元上。可以根據實際的需要選擇其中的部分或者全部單元來實現本實施例方案的目的。

另外,在本發明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以採用硬體的形式實現,也可以採用軟體功能單元的形式實現。

集成的單元如果以軟體功能單元的形式實現並作為獨立的產品銷售或使用時,可以存儲在一個計算機可讀取存儲介質中。基於這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分或者該技術方案的全部或部分可以以軟體產品的形式體現出來,該計算機軟體產品存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,伺服器,或者網絡設備等)執行本發明各個實施例方法的全部或部分步驟。而前述的存儲介質包括:U盤、移動硬碟、只讀存儲器(ROM,Read-Only Memory)、隨機存取存儲器(RAM,Random Access Memory)、磁碟或者光碟等各種可以存儲程序代碼的介質。

以上,以上實施例僅用以說明本發明的技術方案,而非對其限制;儘管參照前述實施例對本發明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分技術特徵進行等同替換;而這些修改或者替換,並不使相應技術方案的本質脫離本發明各實施例技術方案的精神和範圍。

同类文章

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

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有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-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀