亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種數(shù)據(jù)采集方法和系統(tǒng)與流程

文檔序號(hào):12828875閱讀:749來(lái)源:國(guó)知局
一種數(shù)據(jù)采集方法和系統(tǒng)與流程

本發(fā)明涉及數(shù)據(jù)處理技術(shù)領(lǐng)域,具體涉及一種數(shù)據(jù)采集方法和系統(tǒng)。



背景技術(shù):

數(shù)據(jù)采集作為網(wǎng)管監(jiān)控基礎(chǔ)功能,是每個(gè)網(wǎng)管監(jiān)控系統(tǒng)必不可少的。采集服務(wù)器從終端設(shè)備側(cè)采集數(shù)據(jù)后,送給上層的網(wǎng)管處理模塊進(jìn)行處理。傳統(tǒng)的網(wǎng)管監(jiān)控系統(tǒng)的數(shù)據(jù)采集架構(gòu)圖如圖1所示,圖1示出了現(xiàn)有技術(shù)中的數(shù)據(jù)采集架構(gòu)的示意圖,數(shù)據(jù)采集流程如下:

采集服務(wù)器啟動(dòng)時(shí)從數(shù)據(jù)庫(kù)或緩存(如redis)中獲取屬于當(dāng)前采集服務(wù)器負(fù)責(zé)的采集任務(wù)(注:采集任務(wù)一般為定時(shí)任務(wù),也有一次性任務(wù))集合。根據(jù)采集任務(wù)的輪詢間隔,采集服務(wù)器定時(shí)執(zhí)行采集任務(wù),并將采集到的結(jié)果數(shù)據(jù)入庫(kù)或上送給上層處理模塊進(jìn)行處理。

從圖1的架構(gòu)以及流程說(shuō)明,我們可以得知傳統(tǒng)網(wǎng)管監(jiān)控采集比較簡(jiǎn)單直接,但是也存在如下缺點(diǎn):1.存在單點(diǎn)故障;從上面的架構(gòu)圖和流程說(shuō)明可知,每個(gè)采集服務(wù)器負(fù)責(zé)自己的采集任務(wù)并定時(shí)執(zhí)行采集任務(wù),如果當(dāng)采集服務(wù)器異常宕掉時(shí),它所負(fù)責(zé)的終端設(shè)備的數(shù)據(jù)采集就會(huì)中斷,這對(duì)于網(wǎng)管監(jiān)控系統(tǒng)來(lái)說(shuō),是一個(gè)致命的問(wèn)題。2.無(wú)法進(jìn)行負(fù)載均衡;每個(gè)采集服務(wù)器的處理能力是有限的,也就是它能管理的被管設(shè)備數(shù)量是有限的,當(dāng)它負(fù)責(zé)的采集任務(wù)過(guò)多時(shí),無(wú)法將任務(wù)分給其他的采集服務(wù)器進(jìn)行處理,也就是它無(wú)法實(shí)現(xiàn)負(fù)載均衡和動(dòng)態(tài)擴(kuò)展,這也是不適應(yīng)大數(shù)據(jù)采集要求的。



技術(shù)實(shí)現(xiàn)要素:

鑒于上述問(wèn)題,提出了本發(fā)明以便提供一種克服上述問(wèn)題或者至少部分地解決上述問(wèn)題的數(shù)據(jù)采集方法和系統(tǒng)。

依據(jù)本發(fā)明的一個(gè)方面,提供了一種數(shù)據(jù)采集方法,該方法包括:

任務(wù)調(diào)度服務(wù)器從數(shù)據(jù)庫(kù)中獲取待處理的采集任務(wù);

任務(wù)調(diào)度服務(wù)器對(duì)于獲取的每個(gè)采集任務(wù),按照預(yù)定策略從采集服務(wù)器集群中選擇一個(gè)采集服務(wù)器,將該采集任務(wù)發(fā)送給該選擇的采集服務(wù)器;

各采集服務(wù)器根據(jù)接收到的采集任務(wù)對(duì)指定終端設(shè)備的進(jìn)行數(shù)據(jù)采集,并將相應(yīng)的數(shù)據(jù)采集結(jié)果返回保存至數(shù)據(jù)庫(kù)中。

可選地,所述采集服務(wù)器集群中包括多個(gè)采集服務(wù)器組,每個(gè)采集服務(wù)器組中包括多個(gè)采集服務(wù)器;

則所述任務(wù)調(diào)度服務(wù)器對(duì)于獲取的每個(gè)采集任務(wù),按照預(yù)定策略從采集服務(wù)器集群中選擇一個(gè)采集服務(wù)器包括:

任務(wù)調(diào)度服務(wù)器根據(jù)該采集任務(wù)中的采集對(duì)象所屬的網(wǎng)段或業(yè)務(wù)類型從采集服務(wù)器集群中選擇一個(gè)采集服務(wù)器組,根據(jù)負(fù)載均衡算法,從選擇的采集服務(wù)器組中選擇一個(gè)采集服務(wù)器。

可選地,該方法進(jìn)一步包括:

對(duì)于所述采集服務(wù)器中的每個(gè)采集服務(wù)器,當(dāng)該采集服務(wù)器啟動(dòng)時(shí),該采集服務(wù)器將對(duì)應(yīng)的采集服務(wù)地址注冊(cè)到服務(wù)注冊(cè)中心;

任務(wù)調(diào)度服務(wù)器從服務(wù)注冊(cè)中心獲取服務(wù)注冊(cè)列表,該服務(wù)注冊(cè)列表中包括:對(duì)應(yīng)于各采集服務(wù)器組的服務(wù)注冊(cè)組;每個(gè)服務(wù)注冊(cè)組中包括:該服務(wù)注冊(cè)組對(duì)應(yīng)的采集服務(wù)器組中的采集服務(wù)器所注冊(cè)的采集服務(wù)地址;

則所述從采集服務(wù)器集群中選擇一個(gè)采集服務(wù)器組包括:任務(wù)調(diào)度服務(wù)器從服務(wù)注冊(cè)列表中選擇一個(gè)服務(wù)注冊(cè)組;

所述從選擇的采集服務(wù)器組中選擇一個(gè)采集服務(wù)器包括:任務(wù)調(diào)度服務(wù)器從選擇的服務(wù)注冊(cè)組中選擇一個(gè)采集服務(wù)地址;

所述將該采集任務(wù)發(fā)送給該選擇的采集服務(wù)器包括:任務(wù)調(diào)度服務(wù)器根據(jù)所選擇的采集服務(wù)地址將該采集任務(wù)發(fā)送給相應(yīng)的采集服務(wù)器。

可選地,該方法進(jìn)一步包括:

服務(wù)注冊(cè)中心響應(yīng)于所述采集服務(wù)器集群中的采集服務(wù)器的宕機(jī),將該采集服務(wù)器對(duì)應(yīng)的采集服務(wù)地址從服務(wù)注冊(cè)列表中刪除。

可選地,任務(wù)調(diào)度服務(wù)器中包括:任務(wù)接收器和多個(gè)任務(wù)調(diào)度器,每個(gè)任務(wù)調(diào)度器與一個(gè)本地緩存相對(duì)應(yīng),每個(gè)本地緩存與一個(gè)采集服務(wù)器組相對(duì)應(yīng);

所述任務(wù)調(diào)度服務(wù)器對(duì)于獲取的每個(gè)采集任務(wù),按照預(yù)定策略從采集服務(wù)器集群中選擇一個(gè)采集服務(wù)器,將該采集任務(wù)發(fā)送給該選擇的采集服務(wù)器包括:

任務(wù)調(diào)度服務(wù)器的任務(wù)接收器獲取采集任務(wù),按照預(yù)定策略從采集服務(wù)器集群中選擇一個(gè)采集服務(wù)器組,將該獲取的采集任務(wù)放入所選擇的采集服務(wù)器組對(duì)應(yīng)的本地緩存中;

該本地緩存對(duì)應(yīng)的的任務(wù)調(diào)度器從所選擇的采集服務(wù)器組中選擇一個(gè)采集服務(wù)器,在所述放入所選擇的采集服務(wù)器組對(duì)應(yīng)的本地緩存中的采集任務(wù)的執(zhí)行時(shí)刻,以線程池形式調(diào)用所選擇的采集服務(wù)器,使得該選擇的采集服務(wù)器接收采集任務(wù)。

可選地,該方法進(jìn)一步包括:

任務(wù)接收器在將獲取的采集任務(wù)放入所選擇的采集服務(wù)器組對(duì)應(yīng)的本地緩存中之后,還對(duì)該采集任務(wù)在數(shù)據(jù)庫(kù)中的狀態(tài)進(jìn)行監(jiān)聽(tīng);

當(dāng)監(jiān)聽(tīng)到該采集任務(wù)在數(shù)據(jù)庫(kù)中的狀態(tài)發(fā)生更新時(shí),將該采集任務(wù)在數(shù)據(jù)庫(kù)中更新后的數(shù)據(jù)重新放入所述本地緩存以覆蓋該采集任務(wù)的原數(shù)據(jù)。

可選地,所述各采集服務(wù)器根據(jù)接收到的采集任務(wù)對(duì)指定終端設(shè)備的進(jìn)行數(shù)據(jù)采集包括:

采集服務(wù)器對(duì)于接收到的每個(gè)采集任務(wù),將該采集任務(wù)放入任務(wù)隊(duì)列中;

采集服務(wù)器從任務(wù)隊(duì)列中依次獲取采集任務(wù),根據(jù)該采集任務(wù)進(jìn)行相應(yīng)的數(shù)據(jù)采集。

可選地,該方法進(jìn)一步包括:

建立任務(wù)調(diào)度備份服務(wù)器,每隔預(yù)定時(shí)間間隔,任務(wù)調(diào)度備份服務(wù)器對(duì)任務(wù)調(diào)度服務(wù)器中的數(shù)據(jù)進(jìn)行備份;

當(dāng)任務(wù)調(diào)度服務(wù)器發(fā)生故障時(shí),任務(wù)調(diào)度備份服務(wù)器接管任務(wù)調(diào)度服務(wù)器的全部調(diào)度工作。

依據(jù)本發(fā)明的另一個(gè)方面,提供了一種數(shù)據(jù)采集系統(tǒng),該系統(tǒng)包括:

任務(wù)調(diào)度服務(wù)器,適于從數(shù)據(jù)庫(kù)中獲取待處理的采集任務(wù);對(duì)于獲取的每個(gè)采集任務(wù),按照預(yù)定策略從采集服務(wù)器集群中選擇一個(gè)采集服務(wù)器,將該采集任務(wù)發(fā)送給該選擇的采集服務(wù)器;

采集服務(wù)器,適于根據(jù)接收到的采集任務(wù)對(duì)指定終端設(shè)備的進(jìn)行數(shù)據(jù)采集,并將相應(yīng)的數(shù)據(jù)采集結(jié)果返回保存至數(shù)據(jù)庫(kù)中。

可選地,所述采集服務(wù)器集群中包括多個(gè)采集服務(wù)器組,每個(gè)采集服務(wù)器組中包括多個(gè)采集服務(wù)器;

任務(wù)調(diào)度服務(wù)器,適于根據(jù)獲取的采集任務(wù)中的采集對(duì)象所屬的網(wǎng)段或業(yè)務(wù)類型從采集服務(wù)器集群中選擇一個(gè)采集服務(wù)器組,根據(jù)負(fù)載均衡算法,從選擇的采集服務(wù)器組中選擇一個(gè)采集服務(wù)器。

可選地,該系統(tǒng)進(jìn)一步包括:服務(wù)注冊(cè)中心;

采集服務(wù)器,進(jìn)一步適于在啟動(dòng)時(shí),將對(duì)應(yīng)的采集服務(wù)地址注冊(cè)到服務(wù)注冊(cè)中心;

任務(wù)調(diào)度服務(wù)器,進(jìn)一步適于從服務(wù)注冊(cè)中心獲取服務(wù)注冊(cè)列表;該服務(wù)注冊(cè)列表中包括:對(duì)應(yīng)于各采集服務(wù)器組的服務(wù)注冊(cè)組;每個(gè)服務(wù)注冊(cè)組中包括:該服務(wù)注冊(cè)組對(duì)應(yīng)的采集服務(wù)器組中的采集服務(wù)器所注冊(cè)的采集服務(wù)地址;適于從服務(wù)注冊(cè)列表中選擇一個(gè)服務(wù)注冊(cè)組,再?gòu)脑摲?wù)注冊(cè)組中選擇一個(gè)采集服務(wù)地址,根據(jù)該采集服務(wù)地址將該采集任務(wù)發(fā)送給相應(yīng)的采集服務(wù)器。

可選地,服務(wù)注冊(cè)中心,進(jìn)一步適于響應(yīng)于所述采集服務(wù)器集群中的采集服務(wù)器的宕機(jī),將該采集服務(wù)器對(duì)應(yīng)的采集服務(wù)地址從服務(wù)注冊(cè)列表中刪除。

可選地,任務(wù)調(diào)度服務(wù)器中包括:任務(wù)接收器和多個(gè)任務(wù)調(diào)度器,每個(gè)任務(wù)調(diào)度器與一個(gè)本地緩存相對(duì)應(yīng),每個(gè)本地緩存與一個(gè)采集服務(wù)器組相對(duì)應(yīng);

任務(wù)接收器,適于獲取采集任務(wù),按照預(yù)定策略從采集服務(wù)器集群中選擇一個(gè)采集服務(wù)器組,將該獲取的采集任務(wù)放入所選擇的采集服務(wù)器組對(duì)應(yīng)的本地緩存中;

該本地緩存對(duì)應(yīng)的的任務(wù)調(diào)度器,適于從所選擇的采集服務(wù)器組中選擇一個(gè)采集服務(wù)器,在所述放入所選擇的采集服務(wù)器組對(duì)應(yīng)的本地緩存中的采集任務(wù)的執(zhí)行時(shí)刻,以線程池形式調(diào)用所選擇的采集服務(wù)器,使得該選擇的采集服務(wù)器接收采集任務(wù)。

可選地,任務(wù)接收器,進(jìn)一步適于在將獲取的采集任務(wù)放入所選擇的采集服務(wù)器組對(duì)應(yīng)的本地緩存中之后,還對(duì)該采集任務(wù)在數(shù)據(jù)庫(kù)中的狀態(tài)進(jìn)行監(jiān)聽(tīng);當(dāng)監(jiān)聽(tīng)到該采集任務(wù)在數(shù)據(jù)庫(kù)中的狀態(tài)發(fā)生更新時(shí),將該采集任務(wù)在數(shù)據(jù)庫(kù)中更新后的數(shù)據(jù)重新放入所述本地緩存以覆蓋該采集任務(wù)的原數(shù)據(jù)。

可選地,采集服務(wù)器,適于對(duì)于接收到的每個(gè)采集任務(wù),將該采集任務(wù)放入任務(wù)隊(duì)列中;從任務(wù)隊(duì)列中依次獲取采集任務(wù),根據(jù)采集任務(wù)進(jìn)行相應(yīng)的數(shù)據(jù)采集。

可選地,該系統(tǒng)進(jìn)一步包括:

任務(wù)調(diào)度備份服務(wù)器,適于每隔預(yù)定時(shí)間間隔對(duì)任務(wù)調(diào)度服務(wù)器中的數(shù)據(jù)進(jìn)行備份;當(dāng)任務(wù)調(diào)度服務(wù)器發(fā)生故障時(shí),接管任務(wù)調(diào)度服務(wù)器的全部調(diào)度工作。

由上述可知,本發(fā)明提供的技術(shù)方案通過(guò)任務(wù)調(diào)度服務(wù)器的調(diào)度,從采集服務(wù)器集群中選擇一個(gè)采集服務(wù)器,將采集任務(wù)發(fā)送給該采集服務(wù)器進(jìn)行處理,采集服務(wù)器在進(jìn)行相應(yīng)處理后將采集結(jié)果返回至數(shù)據(jù)庫(kù)進(jìn)行保存,進(jìn)而完成一個(gè)采集任務(wù)的執(zhí)行。依據(jù)本方案,在采集服務(wù)器上層增加一個(gè)任務(wù)調(diào)度服務(wù)器,將傳統(tǒng)的采集任務(wù)的調(diào)度從采集服務(wù)器端抽取到任務(wù)調(diào)度服務(wù)器中,任務(wù)調(diào)度服務(wù)器根據(jù)任務(wù)的輪詢間隔,將任務(wù)分發(fā)給相應(yīng)的采集服務(wù)器組進(jìn)行執(zhí)行,同時(shí)任務(wù)調(diào)度服務(wù)器也實(shí)現(xiàn)主備,保證高可用性,任務(wù)調(diào)度服務(wù)器對(duì)采集任務(wù)的集中調(diào)度,能夠保證整個(gè)數(shù)據(jù)采集方案的高可用和負(fù)載均衡,通過(guò)將對(duì)采集服務(wù)器進(jìn)行分組使得同一組中的一個(gè)采集服務(wù)器發(fā)生異常時(shí)可以由同一采集服務(wù)器組內(nèi)的其他的采集服務(wù)器接替進(jìn)行處理,使得采集服務(wù)器具備動(dòng)態(tài)橫向擴(kuò)展能力,符合數(shù)據(jù)采集需求。

上述說(shuō)明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說(shuō)明書(shū)的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本發(fā)明的具體實(shí)施方式。

附圖說(shuō)明

通過(guò)閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對(duì)于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實(shí)施方式的目的, 而并不認(rèn)為是對(duì)本發(fā)明的限制。而且在整個(gè)附圖中,用相同的參考符號(hào)表示相同的部件。在附圖中:

圖1示出了現(xiàn)有技術(shù)中的數(shù)據(jù)采集架構(gòu)的示意圖;

圖2示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種數(shù)據(jù)采集方法的流程圖;

圖3示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的數(shù)據(jù)采集架構(gòu)的示意圖;

圖4示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的任務(wù)調(diào)度服務(wù)器的定時(shí)調(diào)度架構(gòu)的示意圖;

圖5示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的采集服務(wù)器的任務(wù)處理架構(gòu)的示意圖;

圖6示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種數(shù)據(jù)采集系統(tǒng)的示意圖;

圖7示出了根據(jù)本發(fā)明另一個(gè)實(shí)施例的一種數(shù)據(jù)采集系統(tǒng)的示意圖;

圖8示出了根據(jù)本發(fā)明又一個(gè)實(shí)施例的一種數(shù)據(jù)采集系統(tǒng)的示意圖。

具體實(shí)施方式

下面將參照附圖更詳細(xì)地描述本公開(kāi)的示例性實(shí)施例。雖然附圖中顯示了本公開(kāi)的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開(kāi)而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開(kāi),并且能夠?qū)⒈竟_(kāi)的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。

圖2示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種數(shù)據(jù)采集方法的流程圖。如圖2所示,該方法包括:

步驟s210,任務(wù)調(diào)度服務(wù)器從數(shù)據(jù)庫(kù)中獲取待處理的采集任務(wù)。

步驟s220,任務(wù)調(diào)度服務(wù)器對(duì)于獲取的每個(gè)采集任務(wù),按照預(yù)定策略從采集服務(wù)器集群中選擇一個(gè)采集服務(wù)器,將該采集任務(wù)發(fā)送給該選擇的采集服務(wù)器。

步驟s230,各采集服務(wù)器根據(jù)接收到的采集任務(wù)對(duì)指定終端設(shè)備的進(jìn)行數(shù)據(jù)采集,并將相應(yīng)的數(shù)據(jù)采集結(jié)果返回保存至數(shù)據(jù)庫(kù)中。

本步驟中,各采集服務(wù)器將數(shù)據(jù)采集結(jié)果直接返回保存至數(shù)據(jù)庫(kù)中或者返回給上層處理模塊,由上層處理模塊進(jìn)行進(jìn)一步的處理或保存等行為。

可見(jiàn),圖2所示的方法通過(guò)任務(wù)調(diào)度服務(wù)器的調(diào)度,從采集服務(wù)器集群 中選擇一個(gè)采集服務(wù)器,將采集任務(wù)發(fā)送給該采集服務(wù)器進(jìn)行處理,采集服務(wù)器在進(jìn)行相應(yīng)處理后將采集結(jié)果返回至數(shù)據(jù)庫(kù)進(jìn)行保存,進(jìn)而完成一個(gè)采集任務(wù)的執(zhí)行。依據(jù)本方案,任務(wù)調(diào)度服務(wù)器對(duì)采集任務(wù)的集中調(diào)度和對(duì)采集服務(wù)器的選擇能夠保證整個(gè)數(shù)據(jù)采集方案的高可用和負(fù)載均衡,使得采集服務(wù)器具備動(dòng)態(tài)橫向擴(kuò)展能力,符合數(shù)據(jù)采集需求。

具體地,所述采集服務(wù)器集群中包括多個(gè)采集服務(wù)器組,每個(gè)采集服務(wù)器組中包括多個(gè)采集服務(wù)器;則上述步驟s220任務(wù)調(diào)度服務(wù)器對(duì)于獲取的每個(gè)采集任務(wù),按照預(yù)定策略從采集服務(wù)器集群中選擇一個(gè)采集服務(wù)器包括:根據(jù)該采集任務(wù)中的采集對(duì)象所屬的網(wǎng)段或業(yè)務(wù)類型從采集服務(wù)器集群中選擇一個(gè)采集服務(wù)器組,根據(jù)負(fù)載均衡算法,從選擇的采集服務(wù)器組中選擇一個(gè)采集服務(wù)器。

在本發(fā)明的一個(gè)實(shí)施例中,圖2所示的方法進(jìn)一步包括:對(duì)于所述采集服務(wù)器中的每個(gè)采集服務(wù)器,當(dāng)該采集服務(wù)器啟動(dòng)時(shí),該采集服務(wù)器將對(duì)應(yīng)的采集服務(wù)地址注冊(cè)到服務(wù)注冊(cè)中心;則上述步驟s220任務(wù)調(diào)度服務(wù)器在調(diào)度過(guò)程中,需要先從服務(wù)注冊(cè)中心獲取服務(wù)注冊(cè)列表,該服務(wù)注冊(cè)列表中包括:對(duì)應(yīng)于各采集服務(wù)器組的服務(wù)注冊(cè)組;每個(gè)服務(wù)注冊(cè)組中包括:該服務(wù)注冊(cè)組對(duì)應(yīng)的采集服務(wù)器組中的采集服務(wù)器所注冊(cè)的采集服務(wù)地址。

則上述任務(wù)調(diào)度服務(wù)器對(duì)于獲取的每個(gè)采集任務(wù),按照預(yù)定策略從采集服務(wù)器集群中選擇一個(gè)采集服務(wù)器的過(guò)程包括:任務(wù)調(diào)度服務(wù)器從服務(wù)注冊(cè)列表中選擇一個(gè)服務(wù)注冊(cè)組,上述任務(wù)調(diào)度服務(wù)器從選擇的采集服務(wù)器組中選擇一個(gè)采集服務(wù)器的過(guò)程包括:任務(wù)調(diào)度服務(wù)器從所選擇的該服務(wù)注冊(cè)組中選擇一個(gè)采集服務(wù)地址;再根據(jù)該采集服務(wù)地址將該采集任務(wù)發(fā)送給相應(yīng)的采集服務(wù)器。

進(jìn)一步地,圖1所示的方法還包括:服務(wù)注冊(cè)中心監(jiān)聽(tīng)各已注冊(cè)的采集服務(wù)器的狀態(tài),響應(yīng)于所述采集服務(wù)器集群中的采集服務(wù)器的宕機(jī),將該采集服務(wù)器對(duì)應(yīng)的采集服務(wù)地址從服務(wù)注冊(cè)列表中刪除。使得任務(wù)調(diào)度服務(wù)器從服務(wù)注冊(cè)中心獲取的服務(wù)注冊(cè)列表中的采集服務(wù)地址均是有效的。

圖3示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的數(shù)據(jù)采集架構(gòu)的示意圖,以對(duì)本方案的實(shí)施原理進(jìn)行詳細(xì)的說(shuō)明。如圖3所示,本實(shí)施例中通過(guò)dubbo架構(gòu)來(lái) 實(shí)現(xiàn)任務(wù)負(fù)載均衡以及借助zookeeper服務(wù)來(lái)實(shí)現(xiàn)任務(wù)調(diào)度服務(wù)器的高可用。如圖3所示,在本方案中,部署任務(wù)調(diào)度服務(wù)器,該任務(wù)調(diào)度服務(wù)器負(fù)責(zé)采集任務(wù)的調(diào)度;為了防止任務(wù)調(diào)度服務(wù)器成為單點(diǎn),借助服務(wù)注冊(cè)中心實(shí)現(xiàn)任務(wù)調(diào)度服務(wù)器的主備狀態(tài),即部署任務(wù)調(diào)度備份服務(wù)器,該任務(wù)調(diào)度備份服務(wù)器負(fù)責(zé)對(duì)任務(wù)調(diào)度服務(wù)器中的數(shù)據(jù)進(jìn)行備份,以在任務(wù)調(diào)度服務(wù)器出現(xiàn)故障時(shí)接管任務(wù)調(diào)度服務(wù)器的調(diào)度工作,具體地,從圖3可以看出,任務(wù)調(diào)度服務(wù)器在正常工作狀態(tài)下向服務(wù)注冊(cè)中心注冊(cè)進(jìn)程節(jié)點(diǎn),服務(wù)注冊(cè)中心通過(guò)監(jiān)測(cè)相應(yīng)進(jìn)程節(jié)點(diǎn)的狀態(tài)來(lái)獲知任務(wù)調(diào)度服務(wù)器的狀態(tài),進(jìn)而任務(wù)調(diào)度備份服務(wù)器能夠通過(guò)服務(wù)注冊(cè)中心來(lái)間接監(jiān)聽(tīng)任務(wù)調(diào)度服務(wù)器是否正常工作的狀態(tài),當(dāng)任務(wù)調(diào)度備份服務(wù)器監(jiān)聽(tīng)到服務(wù)注冊(cè)中心中任務(wù)調(diào)度服務(wù)器對(duì)應(yīng)的進(jìn)程均中斷時(shí),任務(wù)調(diào)度備份服務(wù)器向任務(wù)調(diào)度服務(wù)器發(fā)送tcp/ping消息,如果得不到任務(wù)調(diào)度服務(wù)器的響應(yīng)則確定該任務(wù)調(diào)度服務(wù)器確實(shí)出現(xiàn)問(wèn)題無(wú)法正常工作,這時(shí),任務(wù)調(diào)度備份服務(wù)器將接管任務(wù)調(diào)度服務(wù)器的調(diào)度工作,在任務(wù)調(diào)度備份服務(wù)器的工作過(guò)程中,任務(wù)調(diào)度服務(wù)器恢復(fù)正常后可以作為任務(wù)調(diào)度備份服務(wù)器的備份,維持調(diào)度工作的高可用;進(jìn)一步地,圖3所示的數(shù)據(jù)采集架構(gòu)中還部署了多個(gè)采集服務(wù)器,并對(duì)采集服務(wù)器進(jìn)行分組,分組方式一般按照所屬網(wǎng)段或所管理業(yè)務(wù)進(jìn)行,即在同一采集服務(wù)器組中的采集服務(wù)器屬于相同網(wǎng)段或者管理相同的業(yè)務(wù),同一采集服務(wù)器組具有管理同一范圍的終端設(shè)備的權(quán)限,各采集服務(wù)器負(fù)責(zé)執(zhí)行接收到的采集任務(wù),并將執(zhí)行結(jié)果返回到上層處理流程,每個(gè)采集服務(wù)器啟動(dòng)時(shí),依據(jù)該采集服務(wù)器所屬的采集服務(wù)器組向服務(wù)注冊(cè)中心注冊(cè)相應(yīng)的采集服務(wù),服務(wù)注冊(cè)中心記錄相應(yīng)的采集服務(wù)地址。

在本實(shí)施例中,任務(wù)調(diào)度服務(wù)器啟動(dòng)時(shí)從數(shù)據(jù)庫(kù)(具體地,該數(shù)據(jù)庫(kù)為redis數(shù)據(jù)庫(kù))中加載采集任務(wù),從服務(wù)注冊(cè)中心獲取服務(wù)注冊(cè)列表,對(duì)于每個(gè)加載的采集任務(wù),當(dāng)任務(wù)調(diào)度服務(wù)器監(jiān)測(cè)到該采集任務(wù)到達(dá)執(zhí)行時(shí)間點(diǎn)時(shí),根據(jù)該采集任務(wù)的采集對(duì)象所屬的網(wǎng)段或業(yè)務(wù)類型確定對(duì)應(yīng)的采集服務(wù)器組,從服務(wù)注冊(cè)列表中找到該采集服務(wù)器組對(duì)應(yīng)的服務(wù)注冊(cè)組,通過(guò)負(fù)載均衡算法(如一致性哈希算法)從該服務(wù)注冊(cè)組中選擇一個(gè)采集服務(wù)地址,按照該采集服務(wù)地址調(diào)用采集服務(wù)接口,將該采集任務(wù)分發(fā)到相應(yīng)的采集服務(wù) 器,該采集服務(wù)器在接收到該采集任務(wù)后執(zhí)行相應(yīng)的數(shù)據(jù)采集任務(wù)并將數(shù)據(jù)采集結(jié)果上傳到上層處理流程。

上述過(guò)程實(shí)現(xiàn)了采集服務(wù)器組內(nèi)的采集服務(wù)器之間的負(fù)載均衡,加強(qiáng)采集任務(wù)的處理能力,提高采集方案的靈活性和可用性;如果某個(gè)采集服務(wù)器異常宕機(jī)時(shí),服務(wù)注冊(cè)中心會(huì)檢測(cè)到該采集服務(wù)器的異常并從服務(wù)注冊(cè)列表中刪除該采集服務(wù)器對(duì)應(yīng)的采集服務(wù)地址,任務(wù)調(diào)度服務(wù)器所獲取到的服務(wù)注冊(cè)列表中不再包含該發(fā)生異常的采集服務(wù)器的采集服務(wù)地址,則任務(wù)調(diào)度服務(wù)器只能將采集任務(wù)下發(fā)給同一采集服務(wù)器組內(nèi)的其他采集服務(wù)器,進(jìn)而保證了采集服務(wù)器的失效備援,即一個(gè)采集服務(wù)器無(wú)法運(yùn)作時(shí),由同采集服務(wù)器組內(nèi)的其他采集服務(wù)器接管該失效的采集服務(wù)器的數(shù)據(jù)采集工作,以保證數(shù)據(jù)采集系統(tǒng)的正常運(yùn)行,無(wú)單點(diǎn)故障。

當(dāng)一個(gè)采集服務(wù)器組中新增采集服務(wù)器時(shí),需要新建一個(gè)采集服務(wù)器對(duì)應(yīng)的進(jìn)程,該采集服務(wù)器將自動(dòng)向服務(wù)注冊(cè)中心注冊(cè)該采集服務(wù)器對(duì)應(yīng)的采集服務(wù),服務(wù)注冊(cè)中心記錄相應(yīng)的采集服務(wù)地址并通知任務(wù)調(diào)度服務(wù)器更新服務(wù)注冊(cè)列表,無(wú)需人工干預(yù)。

在本發(fā)明的實(shí)施例中,任務(wù)調(diào)度服務(wù)器作為采集任務(wù)的集中調(diào)度中心,必須保證任務(wù)調(diào)度的快速處理,其調(diào)度過(guò)程應(yīng)當(dāng)使得不同采集服務(wù)器組的采集任務(wù)之間相互沒(méi)有干擾,圖4示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的任務(wù)調(diào)度服務(wù)器的定時(shí)調(diào)度架構(gòu)的示意圖。如圖4所示,任務(wù)調(diào)度服務(wù)器中包括:任務(wù)接收器和多個(gè)任務(wù)調(diào)度器,每個(gè)任務(wù)調(diào)度器與一個(gè)本地緩存相對(duì)應(yīng),每個(gè)本地緩存與一個(gè)采集服務(wù)器組相對(duì)應(yīng);任務(wù)調(diào)度服務(wù)器啟動(dòng)時(shí),任務(wù)調(diào)度服務(wù)器的任務(wù)接收器從數(shù)據(jù)庫(kù)/redis中加載采集任務(wù),根據(jù)該采集任務(wù)的屬性信息從采集服務(wù)器集群中選擇一個(gè)采集服務(wù)器組,將該獲取的采集任務(wù)放入所選擇的采集服務(wù)器組對(duì)應(yīng)的本地緩存中;該本地緩存對(duì)應(yīng)的的任務(wù)調(diào)度器從所選擇的采集服務(wù)器組中選擇一個(gè)采集服務(wù)器,在所述放入所選擇的采集服務(wù)器組對(duì)應(yīng)的本地緩存中的采集任務(wù)的執(zhí)行時(shí)刻,以線程池形式調(diào)用所選擇的采集服務(wù)器提供的線程dispatchthread,使得該選擇的采集服務(wù)器接收采集任務(wù)。進(jìn)一步地,任務(wù)調(diào)度服務(wù)器的任務(wù)接收器在將獲取的采集任務(wù)放入所選擇的采集服務(wù)器組對(duì)應(yīng)的本地緩存中之后,還對(duì)該采集任務(wù)在數(shù)據(jù)庫(kù)中的 狀態(tài)進(jìn)行監(jiān)聽(tīng);當(dāng)監(jiān)聽(tīng)到該采集任務(wù)在數(shù)據(jù)庫(kù)中的狀態(tài)發(fā)生更新時(shí),將該采集任務(wù)在數(shù)據(jù)庫(kù)中更新后的數(shù)據(jù)重新放入所述本地緩存以覆蓋該采集任務(wù)的原數(shù)據(jù)。

采集服務(wù)器在接收到采集任務(wù)后,應(yīng)當(dāng)立即對(duì)任務(wù)調(diào)度服務(wù)器進(jìn)行反饋,并處理采集任務(wù),不能阻塞任務(wù)調(diào)度服務(wù)器的調(diào)度過(guò)程,圖5示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的采集服務(wù)器的任務(wù)處理架構(gòu)的示意圖。如圖5所示,采集服務(wù)器在啟動(dòng)時(shí)同時(shí)啟動(dòng)相應(yīng)的采集服務(wù)xxxserviceimpl,該采集服務(wù)xxxserviceimpl在接收到任務(wù)調(diào)度服務(wù)器中的任務(wù)調(diào)度器下發(fā)的采集任務(wù)后,為了盡快反饋,防止對(duì)任務(wù)調(diào)度服務(wù)器端造成影響,并不直接執(zhí)行接收到的采集任務(wù),而是將采集任務(wù)放入任務(wù)隊(duì)列中排隊(duì)處理,以實(shí)現(xiàn)采集任務(wù)的調(diào)度和處理之間的異步過(guò)程,采集服務(wù)器中的任務(wù)處理線程xxxprocessthread從任務(wù)隊(duì)列中獲取采集任務(wù),通過(guò)線程池調(diào)用線程xxxexecrunnable執(zhí)行該采集任務(wù),采集任務(wù)執(zhí)行結(jié)束后,將執(zhí)行結(jié)果返回上送。其中,同一個(gè)采集服務(wù)器上的采集服務(wù)端口預(yù)先分配一端端口,初始化時(shí)采用自動(dòng)檢測(cè)端口占用情況自動(dòng)獲取端口并將端口保存在配置文件中,以供下次啟動(dòng)時(shí)直接使用。

圖6示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種數(shù)據(jù)采集系統(tǒng)的示意圖,如圖6所示,該數(shù)據(jù)采集系統(tǒng)600包括:

任務(wù)調(diào)度服務(wù)器610,適于從數(shù)據(jù)庫(kù)中獲取待處理的采集任務(wù);對(duì)于獲取的每個(gè)采集任務(wù),按照預(yù)定策略從采集服務(wù)器集群中選擇一個(gè)采集服務(wù)器620,將該采集任務(wù)發(fā)送給該選擇的采集服務(wù)器620。

采集服務(wù)器620,適于根據(jù)接收到的采集任務(wù)對(duì)指定終端設(shè)備的進(jìn)行數(shù)據(jù)采集,并將相應(yīng)的數(shù)據(jù)采集結(jié)果返回保存至數(shù)據(jù)庫(kù)中。

可見(jiàn),圖6所示的系統(tǒng)通過(guò)任務(wù)調(diào)度服務(wù)器的調(diào)度,從采集服務(wù)器集群中選擇一個(gè)采集服務(wù)器,將采集任務(wù)發(fā)送給該采集服務(wù)器進(jìn)行處理,采集服務(wù)器在進(jìn)行相應(yīng)處理后將采集結(jié)果返回至數(shù)據(jù)庫(kù)進(jìn)行保存,進(jìn)而完成一個(gè)采集任務(wù)的執(zhí)行。依據(jù)本方案,任務(wù)調(diào)度服務(wù)器對(duì)采集任務(wù)的集中調(diào)度和對(duì)采集服務(wù)器的選擇能夠保證整個(gè)數(shù)據(jù)采集方案的高可用和負(fù)載均衡,使得采集服務(wù)器具備動(dòng)態(tài)橫向擴(kuò)展能力,符合數(shù)據(jù)采集需求。

在本發(fā)明的一個(gè)實(shí)施例中,所述采集服務(wù)器集群中包括多個(gè)采集服務(wù)器組,每個(gè)采集服務(wù)器組中包括多個(gè)采集服務(wù)器;任務(wù)調(diào)度服務(wù)器610,適于根據(jù)獲取的采集任務(wù)中的采集對(duì)象所屬的網(wǎng)段或業(yè)務(wù)類型從采集服務(wù)器集群中選擇一個(gè)采集服務(wù)器組,根據(jù)負(fù)載均衡算法,從選擇的采集服務(wù)器組中選擇一個(gè)采集服務(wù)器620。

在本發(fā)明的一個(gè)實(shí)施例中,采集服務(wù)器620,適于對(duì)于接收到的每個(gè)采集任務(wù),將該采集任務(wù)放入任務(wù)隊(duì)列中;從任務(wù)隊(duì)列中依次獲取采集任務(wù),根據(jù)采集任務(wù)進(jìn)行相應(yīng)的數(shù)據(jù)采集。

圖7示出了根據(jù)本發(fā)明另一個(gè)實(shí)施例的一種數(shù)據(jù)采集系統(tǒng)的示意圖,如圖7所示,該數(shù)據(jù)采集系統(tǒng)700包括:任務(wù)調(diào)度服務(wù)器710和采集服務(wù)器720,任務(wù)調(diào)度服務(wù)器710中包括:任務(wù)接收器711和多個(gè)任務(wù)調(diào)度器712,每個(gè)任務(wù)調(diào)度器712與一個(gè)本地緩存相對(duì)應(yīng),每個(gè)本地緩存與一個(gè)采集服務(wù)器組相對(duì)應(yīng),即任務(wù)調(diào)度器712與采集服務(wù)器組是一一對(duì)應(yīng)的關(guān)系,圖7中僅以兩對(duì)任務(wù)調(diào)度器712與采集服務(wù)器組的對(duì)應(yīng)關(guān)系為例進(jìn)行作出標(biāo)示,據(jù)此可以同理進(jìn)行擴(kuò)展。

任務(wù)接收器711,適于獲取采集任務(wù),按照預(yù)定策略從采集服務(wù)器集群中選擇一個(gè)采集服務(wù)器組,將該獲取的采集任務(wù)放入所選擇的采集服務(wù)器組對(duì)應(yīng)的本地緩存中。

該本地緩存對(duì)應(yīng)的的任務(wù)調(diào)度器712,適于從所選擇的采集服務(wù)器組中選擇一個(gè)采集服務(wù)器720,在所述放入所選擇的采集服務(wù)器組對(duì)應(yīng)的本地緩存中的采集任務(wù)的執(zhí)行時(shí)刻,以線程池形式調(diào)用所選擇的采集服務(wù)器720,使得該選擇的采集服務(wù)器720接收采集任務(wù)。

在本發(fā)明的一個(gè)實(shí)施例中,任務(wù)接收器711,進(jìn)一步適于在將獲取的采集任務(wù)放入所選擇的采集服務(wù)器組對(duì)應(yīng)的本地緩存中之后,還對(duì)該采集任務(wù)在數(shù)據(jù)庫(kù)中的狀態(tài)進(jìn)行監(jiān)聽(tīng);當(dāng)監(jiān)聽(tīng)到該采集任務(wù)在數(shù)據(jù)庫(kù)中的狀態(tài)發(fā)生更新時(shí),將該采集任務(wù)在數(shù)據(jù)庫(kù)中更新后的數(shù)據(jù)重新放入所述本地緩存以覆蓋該采集任務(wù)的原數(shù)據(jù)。

圖8示出了根據(jù)本發(fā)明又一個(gè)實(shí)施例的一種數(shù)據(jù)采集系統(tǒng)的示意圖,如圖8所示,該數(shù)據(jù)采集系統(tǒng)800包括:任務(wù)調(diào)度服務(wù)器810、采集服務(wù)器820、 服務(wù)注冊(cè)中心830和任務(wù)調(diào)度備份服務(wù)器840。

其中,任務(wù)調(diào)度服務(wù)器810、采集服務(wù)器820具有與圖6-圖7所示的任務(wù)調(diào)度服務(wù)器610/710、采集服務(wù)器620/720對(duì)應(yīng)相同的功能,相同的部分不再贅述。

采集服務(wù)器820,進(jìn)一步適于在啟動(dòng)時(shí),將對(duì)應(yīng)的采集服務(wù)地址注冊(cè)到服務(wù)注冊(cè)中心830。

任務(wù)調(diào)度服務(wù)器810,適于從服務(wù)注冊(cè)中心830獲取服務(wù)注冊(cè)列表;該服務(wù)注冊(cè)列表中包括:對(duì)應(yīng)于各采集服務(wù)器組的服務(wù)注冊(cè)組;每個(gè)服務(wù)注冊(cè)組中包括:該服務(wù)注冊(cè)組對(duì)應(yīng)的采集服務(wù)器組中的采集服務(wù)器所注冊(cè)的采集服務(wù)地址;適于按照預(yù)定策略從服務(wù)注冊(cè)列表中選擇一個(gè)服務(wù)注冊(cè)組,再?gòu)脑摲?wù)注冊(cè)組中選擇一個(gè)采集服務(wù)地址,根據(jù)該采集服務(wù)地址將該采集任務(wù)發(fā)送給相應(yīng)的采集服務(wù)器820。

例如,每個(gè)采集服務(wù)器820啟動(dòng)后啟動(dòng)響應(yīng)的采集服務(wù),將該采集服務(wù)在服務(wù)注冊(cè)中心830進(jìn)行注冊(cè),任務(wù)調(diào)度服務(wù)器810從服務(wù)注冊(cè)中心830獲取服務(wù)注冊(cè)列表,從中按照策略選擇一個(gè)服務(wù)注冊(cè)組,從該服務(wù)注冊(cè)組中選擇一個(gè)采集服務(wù)地址,根據(jù)該采集服務(wù)地址調(diào)度相應(yīng)的采集服務(wù)器820中的采集服務(wù),進(jìn)行采集任務(wù)的下發(fā)。

任務(wù)調(diào)度備份服務(wù)器840,適于每隔預(yù)定時(shí)間間隔對(duì)任務(wù)調(diào)度服務(wù)器810中的數(shù)據(jù)進(jìn)行備份;當(dāng)任務(wù)調(diào)度服務(wù)器810發(fā)生故障時(shí),接管任務(wù)調(diào)度服務(wù)器810的全部調(diào)度工作。

在本發(fā)明的一個(gè)實(shí)施例中,服務(wù)注冊(cè)中心830,進(jìn)一步適于響應(yīng)于所述采集服務(wù)器集群中的采集服務(wù)器的宕機(jī),將該采集服務(wù)器對(duì)應(yīng)的采集服務(wù)地址從服務(wù)注冊(cè)列表中刪除。

需要說(shuō)明的是,圖6-圖8所示系統(tǒng)的各實(shí)施例與圖2-圖5所示的各實(shí)施例對(duì)應(yīng)相同,上文中已有詳細(xì)說(shuō)明,在此不再贅述。

綜上所述,本發(fā)明提供的技術(shù)方案通過(guò)任務(wù)調(diào)度服務(wù)器的調(diào)度,從采集服務(wù)器集群中選擇一個(gè)采集服務(wù)器,將采集任務(wù)發(fā)送給該采集服務(wù)器進(jìn)行處理,采集服務(wù)器在進(jìn)行相應(yīng)處理后將采集結(jié)果返回至數(shù)據(jù)庫(kù)進(jìn)行保存,進(jìn)而完成一個(gè)采集任務(wù)的執(zhí)行。依據(jù)本方案,在采集服務(wù)器上層增加一個(gè)任務(wù)調(diào) 度服務(wù)器,將傳統(tǒng)的采集任務(wù)的調(diào)度從采集服務(wù)器端抽取到任務(wù)調(diào)度服務(wù)器中,任務(wù)調(diào)度服務(wù)器根據(jù)任務(wù)的輪詢間隔,將任務(wù)分發(fā)給相應(yīng)的采集服務(wù)器組進(jìn)行執(zhí)行,同時(shí)任務(wù)調(diào)度服務(wù)器也實(shí)現(xiàn)主備,保證高可用性,任務(wù)調(diào)度服務(wù)器對(duì)采集任務(wù)的集中調(diào)度,能夠保證整個(gè)數(shù)據(jù)采集方案的高可用和負(fù)載均衡,通過(guò)將對(duì)采集服務(wù)器進(jìn)行分組使得同一組中的一個(gè)采集服務(wù)器發(fā)生異常時(shí)可以由同一采集服務(wù)器組內(nèi)的其他的采集服務(wù)器接替進(jìn)行處理,使得采集服務(wù)器具備動(dòng)態(tài)橫向擴(kuò)展能力,符合數(shù)據(jù)采集需求。

以上所述僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換、改進(jìn)等,均包含在本發(fā)明的保護(hù)范圍內(nèi)。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1