一種分布式數(shù)據(jù)采集方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于網(wǎng)絡(luò)數(shù)據(jù)采集技術(shù)領(lǐng)域,具體涉及一種分布式數(shù)據(jù)采集方法及系統(tǒng)。
【背景技術(shù)】
[0002]采集機器接收到采集任務(wù)后,從互聯(lián)網(wǎng)上采集網(wǎng)絡(luò)數(shù)據(jù)。在采集網(wǎng)絡(luò)數(shù)據(jù)時,由于一臺采集機器在短時間內(nèi)頻繁采集網(wǎng)絡(luò)數(shù)據(jù),會被目標(biāo)網(wǎng)站屏蔽,而無法實現(xiàn)正常采集網(wǎng)絡(luò)數(shù)據(jù)。由于采集機器本身性能的限制,采集網(wǎng)絡(luò)數(shù)據(jù)速度較慢,然后此時其他采集機器并無采集任務(wù),處于空閑狀態(tài),不僅延長了采集機器完成采集任務(wù)的時間,也造成了一定的資源浪費。
[0003]參考專利文獻CN102130759A公開了一種數(shù)據(jù)采集方法,該方法應(yīng)用于數(shù)據(jù)采集機集群中,該方法包括:數(shù)據(jù)采集機集群中的第一數(shù)據(jù)采集機進行數(shù)據(jù)采集;當(dāng)?shù)谝粩?shù)據(jù)采集機發(fā)生故障時,由數(shù)據(jù)采集機集群中的第二數(shù)據(jù)采集機替換第一數(shù)據(jù)采集機進行數(shù)據(jù)采集。該專利是在第一數(shù)據(jù)采集機發(fā)生故障時,再使用第二數(shù)據(jù)采集機替換第一數(shù)據(jù)采集機,第二數(shù)據(jù)采集機為備用,當(dāng)?shù)谝粩?shù)據(jù)采集機正常工作時,第二數(shù)據(jù)采集機處于空閑狀態(tài),浪費了資源。
[0004]參考專利文獻CN103188101A公開了一種分布式采集調(diào)度方法及裝置,該裝置中包括一臺云服務(wù)器、一臺代理服務(wù)器、多臺采集機。用戶可以配置多臺采集機,只需要在云服務(wù)器將需要采集的各種網(wǎng)絡(luò)設(shè)備信息分配給不同的采集機,那么每個采集機就可以單獨的調(diào)度自己的采集任務(wù)。該專利是對采集機進行統(tǒng)一管理,將設(shè)備信息分配多些給采集任務(wù)多的采集機,但每個采集機的采集任務(wù)需要自己完成,不能分配給其他采集機。
【發(fā)明內(nèi)容】
[0005]針對現(xiàn)有技術(shù)存在的不足之處,本發(fā)明提出了一種分布式數(shù)據(jù)采集方法及系統(tǒng),該系統(tǒng)的云服務(wù)器不提供采集任務(wù),只是監(jiān)控采集機器的運行狀態(tài)。每一個采集機器具有采集功能,采集機器通過云服務(wù)器傳遞采集任務(wù)和采集結(jié)果,解決采集機器負載均衡的問題,特別適合以網(wǎng)頁為載體的采集服務(wù)。采集機器數(shù)量不限,可以根據(jù)用戶需要增減采集機器。
[0006]本發(fā)明采用如下技術(shù)方案:
[0007]—種分布式數(shù)據(jù)采集方法,它包括以下步驟,
[0008]SI,采集機器與云服務(wù)器進行雙向認證,認證均通過后,采集機器將自身的機器信息和采集任務(wù)列表發(fā)送給云服務(wù)器;
[0009]S2,云服務(wù)器將忙碌采集機器的采集任務(wù)發(fā)送給空閑采集機器;
[0010]S3,空閑采集機器接收到云服務(wù)器發(fā)送的采集任務(wù),完成該采集任務(wù)后,將采集結(jié)果經(jīng)云服務(wù)器傳輸給對應(yīng)的采集機器。
[0011 ]進一步的,步驟SI還包括采集機器在運行過程中產(chǎn)生的運行日志信息發(fā)送給云服務(wù)器。
[0012]進一步的,步驟S2中云服務(wù)器將忙碌采集機器的采集任務(wù)發(fā)送給空閑采集機器的步驟包括,
[00?3 ] S210,75Γ服務(wù)器向忙碌米集機器請求米集任務(wù);
[0014]S211,忙碌采集機器接收到云服務(wù)器的采集任務(wù)請求,查找忙碌采集機器中未執(zhí)行或超時的米集任務(wù),超時的米集任務(wù)為Ζ5Γ服務(wù)器請求執(zhí)行該米集任務(wù)未按時返回米集結(jié)果;
[0015]S212,判斷忙碌采集機器未執(zhí)行或超時的采集任務(wù)是否為空,若為空,則返回給云服務(wù)器空信息,若不為空,則將采集任務(wù)信息發(fā)送給云服務(wù)器;
[0016]S213,云服務(wù)器將接收到的采集任務(wù)發(fā)送給空閑采集機器,空閑采集機器對接收到米集任務(wù)?目息進行驗證,驗證米集任務(wù)有效后,將米集任務(wù)存入米集任務(wù)添加模塊,并加入待執(zhí)行任務(wù)列表中。
[0017]進一步的,步驟S3中采集結(jié)果的傳輸包括以下步驟,
[0018]S320,空閑采集機器采用摘要算法獲得的采集結(jié)果的摘要,將該摘要和壓縮后的采集結(jié)果經(jīng)云服務(wù)器發(fā)送給忙碌采集機器;
[0019]S321,忙碌采集機器將采集結(jié)果解壓后,驗證采集結(jié)果文件的摘要;
[0020]S322,摘要驗證成功后,將忙碌采集機器的該采集任務(wù)狀態(tài)改為執(zhí)行成功狀態(tài),并將采集結(jié)果放入采集任務(wù)結(jié)果文件中,摘要驗證失敗后,則請求重新發(fā)送采集結(jié)果。
[0021]—種分布式數(shù)據(jù)米集系統(tǒng),它包括,
[0022]采集機器,用于管理和執(zhí)行采集任務(wù),并與云服務(wù)器進行雙向認證,認證均通過后,將自身的機器信息和采集任務(wù)列表發(fā)送到云服務(wù)器,忙碌采集機器將自身的采集任務(wù)經(jīng)云服務(wù)器發(fā)送給空閑采集機器,采集任務(wù)完成后將采集結(jié)果經(jīng)云服務(wù)器傳輸給對應(yīng)的采集機器;
[0023]云服務(wù)器,用于管理采集機器,查看采集機器的運行狀態(tài),并作為采集機器連接的樞紐。
[0024]進一步的,采集機器包括文件發(fā)送端和文件接收端,一個采集機器的文件發(fā)送端將其采集任務(wù)或采集結(jié)果經(jīng)云服務(wù)器發(fā)送給另一個采集機器的文件接收端。
[0025]本發(fā)明提供了一種廉價有效透明的方法擴展網(wǎng)絡(luò)設(shè)備和服務(wù)器的帶寬,增加吞吐量,加強網(wǎng)絡(luò)數(shù)據(jù)處理能力,提高網(wǎng)絡(luò)的靈活性和可用性,且使采集機器之間相互協(xié)作,共同完成工作任務(wù)。采集機器之間不直接通訊,保證了采集機器信息安全。
【附圖說明】
[0026]圖1是云服務(wù)器對采集機器監(jiān)控流程圖;
[0027]圖2是采集機器之間采集任務(wù)傳遞流程圖;
[0028]圖3是采集器之間傳輸采集結(jié)果的流程圖;
[0029]圖4是分布式數(shù)據(jù)采集系統(tǒng)框架圖。
【具體實施方式】
[0030]為進一步說明各實施例,本發(fā)明提供有附圖。這些附圖為本發(fā)明揭露內(nèi)容的一部分,其主要用以說明實施例,并可配合說明書的相關(guān)描述來解釋實施例的運作原理。配合參考這些內(nèi)容,本領(lǐng)域普通技術(shù)人員應(yīng)能理解其他可能的實施方式以及本發(fā)明的優(yōu)點。圖中的組件并未按比例繪制,而類似的組件符號通常用來表示類似的組件。
[0031]現(xiàn)結(jié)合附圖和【具體實施方式】對本發(fā)明進一步說明。
[0032]參閱圖1至圖4所示,本發(fā)明提出了一種分布式數(shù)據(jù)采集方法,它包括以下步驟,
[0033]SI,采集機器與云服務(wù)器進行雙向認證,認證均通過后,采集機器將自身的機器信息和采集任務(wù)列表發(fā)送給云服務(wù)器。
[0034]為了保證信息安全,采集機器首先向云服務(wù)器發(fā)送認證信息,云服務(wù)器接收到采集機器的認證信息后,對采集機器進行認證。認證成功后,云服務(wù)器將自身信息發(fā)送到所有認證通過的采集機器上,采集機器對服務(wù)器進行認證,認證再次通過后,云服務(wù)器和采集機器之間建立通訊關(guān)系。
[0035]采集機器將其IP、狀態(tài)、機器碼等自身相關(guān)的機器信息,采集任務(wù)列表,以及各采集機器在執(zhí)行采集任務(wù)時,采集記錄的運行日志都傳輸?shù)皆品?wù)器。云服務(wù)器根據(jù)采集機器登記的各類信息,對所有采集機器的在線時長、任務(wù)執(zhí)行狀態(tài)和數(shù)量等進行統(tǒng)計,以及對各采集機器進行啟用、停用的控制,從而達到一個遠程監(jiān)控采集機器的目的。
[0036]需要說明的是,采集機器應(yīng)先在云服務(wù)器進行登記,采集機器啟動初始化時,首先是一個用戶名檢查登記的過程。根據(jù)采集機器硬件信息隨機生成一個用戶名,通過統(tǒng)一的結(jié)構(gòu)體大小包,發(fā)送給云服務(wù)器進行登記,云服務(wù)器得到采集機器發(fā)送上來的用戶名,根據(jù)用戶信息數(shù)據(jù)庫,檢查該用戶名是否已被其他采集機器占用,并將檢查結(jié)果返回給采集機器,采集機器接收到云服務(wù)器返回的用于檢測用戶名是否被占用的包時,發(fā)現(xiàn)若未被占用,則登記成功結(jié)束,將該用戶名記錄本地配置文件,以便下次登錄時使用,若已被占用,則重新生成一個用戶名繼續(xù)登記,直到登記成功為止。
[0037]云服務(wù)器將采集機器心跳包獲得的采集機器信息,以及在線狀態(tài)、上線時間、在線時長等相關(guān)信息,記錄到云服務(wù)器的采集機器信息數(shù)據(jù)庫中,對整個采集過程進行統(tǒng)一的頁面展示,以方便遠程監(jiān)控各采集機器和觀察采集機器的狀態(tài)信息。
[0038]S2,云服務(wù)器將忙碌采集機器的采集任務(wù)發(fā)送給空閑采集機器。
[0039]處于空閑狀態(tài)、沒有采集任務(wù)的采集機器定義為空閑采集機器,有采集任務(wù)的采集機器定義為忙碌采集機器。當(dāng)采集機器處于空閑狀態(tài),將其他忙碌采集機器的采集任務(wù)發(fā)送給處于空閑狀態(tài)的采集機器。
[0040]參閱圖2所示,為采集機器之間采集任務(wù)傳遞流程圖,忙碌采集機器將自身采集任務(wù)數(shù)據(jù)庫中未執(zhí)行或超時的任務(wù),經(jīng)云服務(wù)器發(fā)送給其他空閑采集機器,由其他空閑采