專(zhuān)利名稱(chēng):實(shí)現(xiàn)訂閱-收集機(jī)制的監(jiān)控系統(tǒng)及監(jiān)控方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)監(jiān)控的技術(shù)領(lǐng)域,特別是涉及一種實(shí)現(xiàn)訂閱-收集機(jī)制的監(jiān)控系 統(tǒng)及一種實(shí)現(xiàn)訂閱-收集機(jī)制的監(jiān)控方法。
背景技術(shù):
隨著計(jì)算機(jī)和網(wǎng)絡(luò)技術(shù)地不斷發(fā)展,越來(lái)越多地企業(yè)和用戶(hù)基于網(wǎng)絡(luò)組建了滿(mǎn)足 各種業(yè)務(wù)需求的計(jì)算機(jī)集群。集群內(nèi)部的計(jì)算機(jī)相互獨(dú)立地工作,對(duì)外作為一個(gè)整體提供 服務(wù)。如電視臺(tái)的天氣預(yù)報(bào)、節(jié)目制播,通常都是一個(gè)計(jì)算機(jī)集群來(lái)完成。為了更好地管理集群中的軟、硬件資源,監(jiān)控技術(shù)應(yīng)運(yùn)而生。簡(jiǎn)單來(lái)講,監(jiān)控技術(shù) 就是對(duì)計(jì)算機(jī)軟件及硬件的運(yùn)行情況、任務(wù)執(zhí)行情況等進(jìn)行記錄或者遠(yuǎn)程察看,以了解計(jì) 算機(jī)的各項(xiàng)指標(biāo)是否正常。目前,監(jiān)控系統(tǒng)一般采用代理-服務(wù)器的結(jié)構(gòu),或者,代理-服 務(wù)器-客戶(hù)端的結(jié)構(gòu),在服務(wù)器-客戶(hù)端之間通常采用C/S(客戶(hù)端/服務(wù)器)或B/S (瀏 覽器/服務(wù)器)模式,代理-服務(wù)器之間的通信通?;赟NMP協(xié)議或TCP/UDP協(xié)議進(jìn)行。然而,現(xiàn)有技術(shù)中,代理-服務(wù)器之間的通信協(xié)議一般是固定寫(xiě)死的,從而導(dǎo)致服 務(wù)器的功能不易擴(kuò)展。再者,服務(wù)器往往通過(guò)輪詢(xún)代理的方式來(lái)獲取信息,即每隔一定時(shí)間 對(duì)所有的代理進(jìn)行主動(dòng)查詢(xún),各代理返回被查詢(xún)的結(jié)點(diǎn)值,顯然,這種方式將造成網(wǎng)絡(luò)流量 巨大的問(wèn)題。因此,目前需要本領(lǐng)域技術(shù)人員迫切解決的一個(gè)技術(shù)問(wèn)題就是如何能夠創(chuàng)新地 提出一種實(shí)現(xiàn)訂閱-收集機(jī)制的監(jiān)控方案,以實(shí)現(xiàn)各種通信協(xié)議,并有效減少網(wǎng)絡(luò)流量。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問(wèn)題是提供一種實(shí)現(xiàn)訂閱-收集機(jī)制的監(jiān)控系統(tǒng)及方法, 以實(shí)現(xiàn)各種通信協(xié)議,并有效減少網(wǎng)絡(luò)流量。為了解決上述技術(shù)問(wèn)題,本發(fā)明實(shí)施例公開(kāi)了一種實(shí)現(xiàn)訂閱-收集機(jī)制的監(jiān)控系 統(tǒng),包括訂閱處理器,包括訂閱接受模塊、關(guān)聯(lián)記錄模塊及分發(fā)調(diào)度模塊,其中,所述訂閱 接受模塊用于接收客戶(hù)端的訂閱請(qǐng)求,并依據(jù)所述訂閱請(qǐng)求為相應(yīng)的客戶(hù)端創(chuàng)建適配器, 以及,為相應(yīng)的監(jiān)控設(shè)備創(chuàng)建收集器;所述關(guān)聯(lián)記錄模塊用于記錄所述相應(yīng)的適配器與收 集器的關(guān)聯(lián)關(guān)系;所述分發(fā)調(diào)度模塊用于提供分發(fā)器的調(diào)度指示;收集器,與監(jiān)控設(shè)備相連,用于收集監(jiān)控設(shè)備的指標(biāo)數(shù)據(jù);分發(fā)器,用于依據(jù)所述調(diào)度指示,將收集器收集的指標(biāo)數(shù)據(jù)分發(fā)給相關(guān)聯(lián)的適配 器;適配器,與客戶(hù)端相連,包括緩存模塊和發(fā)送模塊,其中,所述緩存模塊用于緩存 所述分發(fā)器轉(zhuǎn)發(fā)的數(shù)據(jù),所述發(fā)送模塊用于將所述緩存中的數(shù)據(jù)發(fā)送給客戶(hù)端。優(yōu)選的,所述適配器還包括清空模塊,用于在所述緩存中的數(shù)據(jù)全部發(fā)送至客戶(hù)端時(shí),清空緩存。
優(yōu)選的,所述適配器還包括刪除模塊,用于在客戶(hù)端未在預(yù)設(shè)時(shí)間內(nèi)提取緩存中的數(shù)據(jù),并且,所述緩存空間 已滿(mǎn)時(shí),按照先進(jìn)先出原則刪除當(dāng)前緩存中的數(shù)據(jù)。優(yōu)選的,所述訂閱處理器還包括訂閱取消模塊,用于接收客戶(hù)端的訂閱取消請(qǐng)求,依據(jù)所述訂閱取消請(qǐng)求為取消 相應(yīng)客戶(hù)端的適配器,并刪除所述適配器與收集器的關(guān)聯(lián)關(guān)系,以及,在相應(yīng)的收集器沒(méi)有 其它關(guān)聯(lián)的適配器時(shí),取消該收集器。優(yōu)選的,所述收集器包括多個(gè),所述多個(gè)收集器由單線程串行調(diào)度,或者,所述多 個(gè)收集器分別由各個(gè)收集器的線程并行調(diào)度。優(yōu)選的,所述收集器包括主動(dòng)收集器和/或被動(dòng)收集器;所述主動(dòng)收集器用于向監(jiān)控設(shè)備上的代理程序發(fā)送查詢(xún)某個(gè)指示的請(qǐng)求,并接收 由所述代理程序返回的指標(biāo)數(shù)據(jù);所述被動(dòng)收集器用于接收監(jiān)控設(shè)備上的代理程序發(fā)送的指標(biāo)數(shù)據(jù),并返回收到命 令。優(yōu)選的,所述適配器發(fā)送模塊包括數(shù)據(jù)推送子模塊和/或客戶(hù)端輪詢(xún)子模塊;所述數(shù)據(jù)推送子模塊用于通過(guò)預(yù)置的客戶(hù)端接口直接將數(shù)據(jù)推送至客戶(hù)端;所述客戶(hù)端輪詢(xún)子模塊用于通過(guò)預(yù)置的適配器接口響應(yīng)于客戶(hù)端的輪詢(xún)將數(shù)據(jù) 提供給客戶(hù)端。優(yōu)選的,所述適配器還包括過(guò)濾模塊,用于對(duì)所述分發(fā)器轉(zhuǎn)發(fā)的相關(guān)數(shù)據(jù)按照預(yù)置的過(guò)濾規(guī)則進(jìn)行過(guò)濾;和/ 或,格式轉(zhuǎn)換模塊,用于依據(jù)客戶(hù)端的要求,對(duì)所述分發(fā)器轉(zhuǎn)發(fā)的相關(guān)數(shù)據(jù)組織為可 顯示的格式。優(yōu)選的,所述訂閱處理器還包括超時(shí)處理模塊,用于判斷客戶(hù)端提取數(shù)據(jù)的時(shí)間是否超過(guò)預(yù)設(shè)時(shí)間,若是,則調(diào)用 所述訂閱取消模塊。本發(fā)明實(shí)施例還公開(kāi)了一種實(shí)現(xiàn)訂閱-收集機(jī)制的監(jiān)控方法,包括接收客戶(hù)端的訂閱請(qǐng)求,依據(jù)所述訂閱請(qǐng)求為相應(yīng)的客戶(hù)端創(chuàng)建適配器,以及,為 相應(yīng)的監(jiān)控設(shè)備創(chuàng)建收集器;記錄所述相應(yīng)的適配器與收集器的關(guān)聯(lián)關(guān)系;所述收集器收集監(jiān)控設(shè)備的指標(biāo)數(shù)據(jù);將所述指標(biāo)數(shù)據(jù)分發(fā)給相關(guān)聯(lián)的適配器;所述適配器緩存所述分發(fā)器轉(zhuǎn)發(fā)的數(shù)據(jù),并將所述緩存中的數(shù)據(jù)發(fā)送給客戶(hù)端。優(yōu)選的,所述的方法,還包括在所述緩存中的數(shù)據(jù)全部發(fā)送至客戶(hù)端時(shí),清空緩存。優(yōu)選的,所述的方法,還包括在客戶(hù)端未在預(yù)設(shè)時(shí)間內(nèi)提取緩存中的數(shù)據(jù),并且,所述緩存空間已滿(mǎn)時(shí),按照先 進(jìn)先出原則刪除當(dāng)前緩存中的數(shù)據(jù)。優(yōu)選的,所述的方法,還包括
接收客戶(hù)端的訂閱取消請(qǐng)求,依據(jù)所述訂閱取消請(qǐng)求為取消相應(yīng)客戶(hù)端的適配 器,并刪除所述適配器與收集器的關(guān)聯(lián)關(guān)系,以及,在相應(yīng)的收集器沒(méi)有其它關(guān)聯(lián)的適配器 時(shí),取消該收集器。優(yōu)選的,所述收集器包括多個(gè),所述多個(gè)收集器收集監(jiān)控設(shè)備指標(biāo)數(shù)據(jù)的步驟包 括將所述多個(gè)收集器加入收集器隊(duì)列中;開(kāi)啟單線程依據(jù)所述收集器隊(duì)列依次調(diào)用各個(gè)收集器,各個(gè)收集器內(nèi)部依次輪詢(xún) 其所連接監(jiān)控設(shè)備的指標(biāo)數(shù)據(jù)。優(yōu)選的,所述收集器包括多個(gè),所述多個(gè)收集器收集監(jiān)控設(shè)備指標(biāo)數(shù)據(jù)的步驟包 括針對(duì)各個(gè)收集器分別創(chuàng)建相應(yīng)的線程,各個(gè)收集器并行地在其內(nèi)部依次輪詢(xún)其所 連接監(jiān)控設(shè)備的指標(biāo)數(shù)據(jù)。優(yōu)選的,所述收集器包括主動(dòng)收集器和/或被動(dòng)收集器;所述主動(dòng)收集器依次輪 詢(xún)其所連接監(jiān)控設(shè)備的相應(yīng)指標(biāo)數(shù)據(jù)的步驟進(jìn)一步包括向監(jiān)控設(shè)備上的代理程序發(fā)送查詢(xún)某個(gè)指示的請(qǐng)求,并接收由所述代理程序返回 的指標(biāo)數(shù)據(jù);所述被動(dòng)收集器依次輪詢(xún)其所連接監(jiān)控設(shè)備的相應(yīng)指標(biāo)數(shù)據(jù)的步驟進(jìn)一步包 括接收監(jiān)控設(shè)備上的代理程序發(fā)送的指標(biāo)數(shù)據(jù),并返回收到命令。優(yōu)選的,所述將緩存中的數(shù)據(jù)發(fā)送給客戶(hù)端的步驟包括通過(guò)預(yù)置的客戶(hù)端接口直接將數(shù)據(jù)推送至客戶(hù)端;或者,通過(guò)預(yù)置的適配器接口響應(yīng)于客戶(hù)端的輪詢(xún)將數(shù)據(jù)提供給客戶(hù)端。優(yōu)選的,所述的方法,還包括對(duì)所述分發(fā)的相關(guān)數(shù)據(jù)按照預(yù)置的過(guò)濾規(guī)則進(jìn)行過(guò)濾;和/ 或,依據(jù)客戶(hù)端的要求,對(duì)所述分發(fā)的相關(guān)數(shù)據(jù)組織為可顯示的格式。優(yōu)選的,所述訂閱請(qǐng)求中包括客戶(hù)端數(shù)據(jù)獲取方式信息,所述將所述緩存中的數(shù) 據(jù)發(fā)送給客戶(hù)端的步驟還包括依據(jù)所述客戶(hù)端數(shù)據(jù)獲取方式信息,將緩存一段時(shí)間后的數(shù)據(jù)發(fā)送給客戶(hù)端;或者,依據(jù)所述客戶(hù)端數(shù)據(jù)獲取方式信息,將進(jìn)入緩存的數(shù)據(jù)立即發(fā)送給客戶(hù)端。優(yōu)選的,所述的方法,還包括判斷客戶(hù)端提取數(shù)據(jù)的時(shí)間是否超過(guò)預(yù)設(shè)時(shí)間,若是,則調(diào)用所述訂閱取消步驟。與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點(diǎn)本發(fā)明通過(guò)實(shí)現(xiàn)訂閱-收集機(jī)制,即根據(jù)客戶(hù)端對(duì)目標(biāo)監(jiān)控設(shè)備的相關(guān)指標(biāo)數(shù)據(jù) 的訂閱請(qǐng)求,為相應(yīng)的客戶(hù)端創(chuàng)建適配器,以及,為相應(yīng)的監(jiān)控設(shè)備創(chuàng)建收集器;只有在客 戶(hù)端需要某個(gè)監(jiān)控設(shè)備的指標(biāo)數(shù)據(jù)時(shí),收集器才開(kāi)始收集相應(yīng)的監(jiān)控設(shè)備的指標(biāo)數(shù)據(jù),并 經(jīng)分發(fā)器將該指標(biāo)數(shù)據(jù)轉(zhuǎn)發(fā)至所有訂閱的適配器,再由適配器將數(shù)據(jù)提供給客戶(hù)端。由于本發(fā)明只在客戶(hù)端提出請(qǐng)求時(shí)才開(kāi)始收集數(shù)據(jù),而不需要時(shí)則暫停收集數(shù)據(jù),因而有效減 少了網(wǎng)絡(luò)流量。并且,由于在服務(wù)器與代理之間增加了一層收集器,可用于實(shí)現(xiàn)各種通信協(xié)議,從 而服務(wù)器可以統(tǒng)一處理所有信息,而不管是通過(guò)何種通信協(xié)議獲取的。再者,本發(fā)明的分發(fā)器可以使得收集器與適配器為松耦合狀態(tài),同時(shí),收集器與適 配器也是易于擴(kuò)展的。
圖1是本發(fā)明的一種實(shí)現(xiàn)訂閱-收集機(jī)制的監(jiān)控系統(tǒng)實(shí)施例的結(jié)構(gòu)框圖;圖2是本發(fā)明的一種收集器并行調(diào)度方案的示意圖;圖3是本發(fā)明的一種收集器串行調(diào)度方案的示意圖;圖4是在本發(fā)明的一種優(yōu)選實(shí)施例中適配器的結(jié)構(gòu)示意圖;圖5是本發(fā)明的一種實(shí)現(xiàn)訂閱-收集機(jī)制的監(jiān)控方法實(shí)施例的流程圖。
具體實(shí)施例方式為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖和具體實(shí) 施方式對(duì)本發(fā)明作進(jìn)一步詳細(xì)的說(shuō)明。本發(fā)明實(shí)施例的核心構(gòu)思之一在于,通過(guò)實(shí)現(xiàn)訂閱-收集機(jī)制,即根據(jù)客戶(hù)端對(duì) 目標(biāo)監(jiān)控設(shè)備的相關(guān)指標(biāo)數(shù)據(jù)的訂閱請(qǐng)求,為相應(yīng)的客戶(hù)端創(chuàng)建適配器,以及,為相應(yīng)的監(jiān) 控設(shè)備創(chuàng)建收集器;只有在客戶(hù)端需要某個(gè)監(jiān)控設(shè)備的指標(biāo)數(shù)據(jù)時(shí),收集器才開(kāi)始收集相 應(yīng)的監(jiān)控設(shè)備的指標(biāo)數(shù)據(jù),并經(jīng)分發(fā)器將該指標(biāo)數(shù)據(jù)轉(zhuǎn)發(fā)至所有訂閱的適配器,再由適配 器將數(shù)據(jù)提供給客戶(hù)端。由于本發(fā)明只在客戶(hù)端提出請(qǐng)求時(shí)才開(kāi)始收集數(shù)據(jù),而不需要時(shí) 則暫停收集數(shù)據(jù),因而有效減少了網(wǎng)絡(luò)流量。并且,由于在服務(wù)器與代理之間增加了一層收 集器,可用于實(shí)現(xiàn)各種通信協(xié)議,從而服務(wù)器可以統(tǒng)一處理所有信息,而不管是通過(guò)何種通 信協(xié)議獲取的。參考圖1,示出了本發(fā)明的一種實(shí)現(xiàn)訂閱-收集機(jī)制的監(jiān)控系統(tǒng)實(shí)施例的結(jié)構(gòu)框 圖,具體可以包括訂閱處理器11,包括訂閱接受模塊、關(guān)聯(lián)記錄模塊及分發(fā)調(diào)度模塊,其中,所述訂 閱接受模塊用于接收客戶(hù)端的訂閱請(qǐng)求,并依據(jù)所述訂閱請(qǐng)求為相應(yīng)的客戶(hù)端創(chuàng)建適配器 14,以及,為相應(yīng)的監(jiān)控設(shè)備創(chuàng)建收集器12 ;所述關(guān)聯(lián)記錄模塊用于記錄所述相應(yīng)的適配 器14與收集器12的關(guān)聯(lián)關(guān)系;所述分發(fā)調(diào)度模塊用于提供分發(fā)器13的調(diào)度指示;收集器12,與監(jiān)控設(shè)備相連,用于收集監(jiān)控設(shè)備的指標(biāo)數(shù)據(jù);分發(fā)器13,用于依據(jù)所述調(diào)度指示,將收集器12收集的指標(biāo)數(shù)據(jù)分發(fā)給相關(guān)聯(lián)的 適配器14 ;適配器14,與客戶(hù)端相連,包括緩存模塊和發(fā)送模塊,其中,所述緩存模塊用于緩 存所述分發(fā)器轉(zhuǎn)發(fā)的數(shù)據(jù),所述發(fā)送模塊用于將所述緩存中的數(shù)據(jù)發(fā)送給客戶(hù)端。在具體實(shí)現(xiàn)中,所述客戶(hù)端提交的訂閱請(qǐng)求可以包括訂閱者(即當(dāng)前客戶(hù)端)、監(jiān) 控設(shè)備信息和指標(biāo)數(shù)據(jù)信息。為便于管理,所述訂閱處理器的訂閱接受模塊接收到包含上 述內(nèi)容的客戶(hù)端訂閱請(qǐng)求后,可以針對(duì)該訂閱者生成唯一的訂閱號(hào),并通知客戶(hù)端。然后從存儲(chǔ)的適配器列表中查找是否已經(jīng)存在該訂閱者的適配器,若沒(méi)有則針對(duì)該訂閱者創(chuàng)建一 個(gè)適配器,并添加到所述適配器列表中;同時(shí),從存儲(chǔ)的收集器列表中查找是否已經(jīng)存在訂 閱請(qǐng)求中所指定的監(jiān)控設(shè)備信息,若沒(méi)有則針對(duì)相應(yīng)的監(jiān)控設(shè)備創(chuàng)建一個(gè)或多個(gè)收集器, 并添加到所述收集器列表中。在這種情況下,所述訂閱處理器的關(guān)聯(lián)記錄模塊則可以建立 所述相應(yīng)的適配器與收集器的關(guān)聯(lián)關(guān)系,并存儲(chǔ)至關(guān)聯(lián)列表中。當(dāng)客戶(hù)端提交獲取相應(yīng)監(jiān)控設(shè)備指標(biāo)數(shù)據(jù)的請(qǐng)求時(shí),若收集器是新創(chuàng)建的或處于 暫停狀態(tài),則啟動(dòng)收集器開(kāi)始工作;若適配器是新創(chuàng)建的或處于暫停狀態(tài),則啟動(dòng)適配器開(kāi) 始工作。根據(jù)數(shù)據(jù)收集方式的不同,所述收集器可以包括主動(dòng)收集器和/或被動(dòng)收集器; 具體而言,所述主動(dòng)收集器可以用于向監(jiān)控設(shè)備上的代理程序發(fā)送查詢(xún)某個(gè)指示的請(qǐng)求, 并接收由所述代理程序返回的指標(biāo)數(shù)據(jù);例如,在針對(duì)電視臺(tái)各種軟、硬件進(jìn)行監(jiān)控的監(jiān)控 系統(tǒng)中,所述主動(dòng)收集器可以包括SNMP (Simple Network Management Protocol,簡(jiǎn)單網(wǎng)絡(luò) 管理協(xié)議)信息收集器、麗I信息收集器、數(shù)據(jù)庫(kù)信息收集器等。所述被動(dòng)收集器可以用 于接收監(jiān)控設(shè)備上的代理程序發(fā)送的指標(biāo)數(shù)據(jù),并返回收到命令;例如,在針對(duì)電視臺(tái)各種 軟、硬件進(jìn)行監(jiān)控的監(jiān)控系統(tǒng)中,所述被動(dòng)收集器可以包括SNMP告警接收器和WebService 告警接收器等。在實(shí)際中,基于系統(tǒng)需要,通常會(huì)采用多個(gè)收集器,為保證客戶(hù)端展示數(shù)據(jù)的及時(shí) 更新,即使在某臺(tái)監(jiān)控設(shè)備出現(xiàn)故障不能被訪問(wèn)的情況下,也不會(huì)影響收集器收集其它監(jiān) 控設(shè)備相關(guān)指標(biāo)數(shù)據(jù)的實(shí)時(shí)性,在本發(fā)明的一種優(yōu)選實(shí)施例中,提出了針對(duì)收集器的多線 程并行調(diào)度機(jī)制,具體可以參考圖2所示的收集器并行調(diào)度方案的示意圖,即系統(tǒng)為每一 個(gè)收集器創(chuàng)建一個(gè)單獨(dú)的線程,由各個(gè)收集器并行地在其內(nèi)部依次輪詢(xún)其所連接監(jiān)控設(shè)備 的所有指標(biāo)數(shù)據(jù)。所述輪詢(xún)指標(biāo)數(shù)據(jù)的方式可以依據(jù)當(dāng)前收集器的類(lèi)型(主動(dòng)收集器或被 動(dòng)收集器)進(jìn)行,在此不贅述。為盡可能減少資源的占用,在本發(fā)明的另一種優(yōu)選實(shí)施例中,還提出了針對(duì)收集 器的單線程串行調(diào)度機(jī)制,具體可以參考圖3所示的收集器串行調(diào)度方案的示意圖,即系 統(tǒng)會(huì)將每一個(gè)收集器加入到收集器隊(duì)列中,同時(shí)開(kāi)啟單線程依據(jù)所述收集器隊(duì)列依次調(diào)用 所有收集器進(jìn)行處理,則每個(gè)收集器會(huì)在其內(nèi)部依次輪詢(xún)其所連接監(jiān)控設(shè)備的所有監(jiān)控指 標(biāo)。所述輪詢(xún)指標(biāo)數(shù)據(jù)的方式可以依據(jù)當(dāng)前收集器的類(lèi)型(主動(dòng)收集器或被動(dòng)收集器)進(jìn) 行,在此不贅述。為保證在單線程串行調(diào)度機(jī)制下,客戶(hù)端展示數(shù)據(jù)的及時(shí)更新,在本實(shí)施例中更 為優(yōu)選的是,在上述串行調(diào)度過(guò)程中,當(dāng)輪詢(xún)到某個(gè)收集器時(shí),先去檢測(cè)其所連接的監(jiān)控設(shè) 備是否可以訪問(wèn),若不可訪問(wèn),則跳轉(zhuǎn)到下一個(gè)收集器;并定義一個(gè)合適的時(shí)間段T,當(dāng)本 次輪詢(xún)時(shí)間超過(guò)該時(shí)間段T時(shí),就將該段時(shí)間內(nèi)收集到的數(shù)據(jù)先送去處理和分發(fā);然后由 客戶(hù)端根據(jù)收到的數(shù)據(jù)進(jìn)行部分?jǐn)?shù)據(jù)的更新展示。在具體應(yīng)用中,所述適配器與客戶(hù)端的交互可以采用適配器主動(dòng)推送的方式,也 可以采用客戶(hù)端輪詢(xún)的方式。即作為一種示例,所述適配器發(fā)送模塊可以包括數(shù)據(jù)推送子 模塊、和/或客戶(hù)端輪詢(xún)子模塊;具體而言,所述數(shù)據(jù)推送子模塊即用于通過(guò)預(yù)置的客戶(hù)端 接口直接將數(shù)據(jù)推送至客戶(hù)端;例如,所述客戶(hù)端接口可以為T(mén)CP接口、SNMP接口等;所述 客戶(hù)端輪詢(xún)子模塊即用于通過(guò)預(yù)置的適配器接口響應(yīng)于客戶(hù)端的輪詢(xún)將數(shù)據(jù)提供給客戶(hù)端;例如,所述適配器接口可以為WebService接口、SNMP接口等。參考圖4,在本發(fā)明的一種優(yōu)選實(shí)施例中,所述適配器還可以設(shè)置如下模塊過(guò)濾模塊15,用于對(duì)所述分發(fā)器轉(zhuǎn)發(fā)的相關(guān)數(shù)據(jù)按照預(yù)置的過(guò)濾規(guī)則進(jìn)行過(guò)濾;禾口/ 或,格式轉(zhuǎn)換模塊16,用于依據(jù)客戶(hù)端的要求,對(duì)所述分發(fā)器轉(zhuǎn)發(fā)的相關(guān)數(shù)據(jù)組織為 可顯示的格式。作為一種示例,所述預(yù)置的過(guò)濾規(guī)則可以設(shè)置為針對(duì)告警數(shù)據(jù)的級(jí)別分配,以及 忽略無(wú)級(jí)別的告警;所述格式轉(zhuǎn)換模塊可以將告警數(shù)據(jù)和信息數(shù)據(jù)組織成可顯示的格式等,具體如, 在數(shù)據(jù)庫(kù)中為每一個(gè)適配器定義告警描述表達(dá)式,表達(dá)式帶有參數(shù)語(yǔ)句,在獲取數(shù)據(jù)后參 數(shù)會(huì)被實(shí)際數(shù)據(jù)填充。對(duì)通過(guò)SNMP協(xié)議獲取的指標(biāo)來(lái)說(shuō),告警描述表達(dá)式和參數(shù)是根據(jù) MIB定義文件自動(dòng)生成的。如HP EVA存儲(chǔ)設(shè)備的告警指標(biāo)mngmtAgentTrap-17001,根據(jù) MIB生成的描述定義為”主機(jī)名={主機(jī)名}發(fā)生時(shí)間={發(fā)生時(shí)間}錯(cuò)誤碼={錯(cuò)誤 碼}描述={描述} ”,參數(shù)包括{主機(jī)名}、{發(fā)生時(shí)間}、{錯(cuò)誤碼}和{描述}。當(dāng)收 到告警數(shù)據(jù)時(shí),將實(shí)際數(shù)值填入,就形成如下的告警描述主機(jī)名=storagel 發(fā)生時(shí)間= 2009-10-10 7:50 錯(cuò)誤碼=10001 描述=電源1故障。假如適配器1為短信模塊,它要求 的格式比較精簡(jiǎn)。則定義描述為{主機(jī)名}于{發(fā)生時(shí)間} {描述},則該適配器收到的告 警描述storagel于2009-10-10 7:50電源1故障。當(dāng)然,這兩個(gè)模塊僅僅在系統(tǒng)有需求時(shí)才進(jìn)行設(shè)置,其目的是為了讓同一項(xiàng)指標(biāo) 數(shù)據(jù)滿(mǎn)足不同適配器的需要,以增加數(shù)據(jù)的利用率,同時(shí),便于根據(jù)需要擴(kuò)展適配器。其具 體功能由本領(lǐng)域技術(shù)人員依據(jù)實(shí)際情況確定即可,本發(fā)明對(duì)此無(wú)需加以限制。需要說(shuō)明的是,本發(fā)明實(shí)施例中,由于在收集器與適配器之間設(shè)置有分發(fā)器,以使 收集器與適配器形成松耦合結(jié)構(gòu),從而有利于收集器與適配器各項(xiàng)功能的擴(kuò)展。在這種情 況下,收集器和分發(fā)器之間是程序級(jí)別調(diào)用,分發(fā)器和適配器之間的交互可以包括程序級(jí) 別調(diào)用和基于SOAP協(xié)議的Webservice調(diào)用。其中監(jiān)控系統(tǒng)內(nèi)部的適配器,如數(shù)據(jù)庫(kù)適配 器、監(jiān)控客戶(hù)端適配器都是程序級(jí)別調(diào)用。監(jiān)控系統(tǒng)外部的適配器是通過(guò)Webservice調(diào) 用,由服務(wù)端開(kāi)放Webservice接口,適配器輪詢(xún)?cè)摻涌谡{(diào)用。更為優(yōu)選的是,在具體實(shí)現(xiàn)中,所述客戶(hù)端提交的訂閱請(qǐng)求中,還可以包括客戶(hù)端 數(shù)據(jù)獲取方式信息,在這種情況下,所述適配器的發(fā)送模塊可以依據(jù)所述客戶(hù)端數(shù)據(jù)獲取 方式信息,將緩存一段時(shí)間后的數(shù)據(jù)發(fā)送給客戶(hù)端;或者,依據(jù)所述客戶(hù)端數(shù)據(jù)獲取方式信 息,將進(jìn)入緩存的數(shù)據(jù)立即發(fā)送給客戶(hù)端。為充分利用資源,在本發(fā)明的一種優(yōu)選實(shí)施例中,所述適配器還可以包括以下模 塊清空模塊,用于在所述緩存中的數(shù)據(jù)全部發(fā)送至客戶(hù)端時(shí),清空緩存。禾口/ 或,刪除模塊,用于在客戶(hù)端未在預(yù)設(shè)時(shí)間內(nèi)提取緩存中的數(shù)據(jù),并且,所述緩存空間 已滿(mǎn)時(shí),按照先進(jìn)先出原則刪除當(dāng)前緩存中的數(shù)據(jù)。為對(duì)客戶(hù)端提交的訂閱取消請(qǐng)求進(jìn)行處理,在具體實(shí)現(xiàn)中,所述訂閱處理器還可 以包括如下模塊
訂閱取消模塊,用于接收客戶(hù)端的訂閱取消請(qǐng)求,依據(jù)所述訂閱取消請(qǐng)求為取消 相應(yīng)客戶(hù)端的適配器,并刪除所述適配器與收集器的關(guān)聯(lián)關(guān)系,以及,在相應(yīng)的收集器沒(méi)有 其它關(guān)聯(lián)的適配器時(shí),取消該收集器。更為優(yōu)選的是,在實(shí)際中,當(dāng)客戶(hù)端因?yàn)楫惓6L(zhǎng)期沒(méi)有獲取數(shù)據(jù)時(shí),訂閱處理器 所述訂閱處理器還可以包括如下模塊進(jìn)行超時(shí)處理超時(shí)處理模塊,用于判斷客戶(hù)端提取數(shù)據(jù)的時(shí)間是否超過(guò)預(yù)設(shè)時(shí)間,若是,則調(diào)用 所述訂閱取消模塊。即應(yīng)用本實(shí)施例,訂閱處理器可以記錄客戶(hù)端上次提取數(shù)據(jù)的時(shí)間,如果長(zhǎng)期未 更新,則認(rèn)為超時(shí)。于是調(diào)用訂閱取消模塊取消該客戶(hù)端的訂閱。在實(shí)際中還可以進(jìn)一步 在客戶(hù)端恢復(fù)正常并重新獲取數(shù)據(jù)時(shí),重新進(jìn)行訂閱。作為一種實(shí)際應(yīng)用的示例,本發(fā)明實(shí)現(xiàn)訂閱-收集機(jī)制的監(jiān)控系統(tǒng)所涉及的訂閱 處理器、收集器、分發(fā)器及適配器均可以設(shè)置在服務(wù)器中,即所述監(jiān)控系統(tǒng)可以采用代理端 (監(jiān)控設(shè)備)-服務(wù)器-客戶(hù)端的結(jié)構(gòu)。參考圖5,示出了本發(fā)明的一種實(shí)現(xiàn)訂閱-收集機(jī)制的監(jiān)控方法實(shí)施例的流程圖, 具體可以包括步驟501、接收客戶(hù)端的訂閱請(qǐng)求,依據(jù)所述訂閱請(qǐng)求為相應(yīng)的客戶(hù)端創(chuàng)建適配 器,以及,為相應(yīng)的監(jiān)控設(shè)備創(chuàng)建收集器;步驟502、記錄所述相應(yīng)的適配器與收集器的關(guān)聯(lián)關(guān)系;步驟503、所述收集器收集監(jiān)控設(shè)備的指標(biāo)數(shù)據(jù);步驟504、將所述指標(biāo)數(shù)據(jù)分發(fā)給相關(guān)聯(lián)的適配器;步驟505、所述適配器緩存所述分發(fā)器轉(zhuǎn)發(fā)的數(shù)據(jù),并將所述緩存中的數(shù)據(jù)發(fā)送給 客戶(hù)端。在本發(fā)明的一種優(yōu)選實(shí)施例中,還可以包括如下步驟在所述緩存中的數(shù)據(jù)全部發(fā)送至客戶(hù)端時(shí),清空緩存。在客戶(hù)端未在預(yù)設(shè)時(shí)間內(nèi)提取緩存中的數(shù)據(jù),并且,所述緩存空間已滿(mǎn)時(shí),按照先 進(jìn)先出原則刪除當(dāng)前緩存中的數(shù)據(jù)。若接收客戶(hù)端的訂閱取消請(qǐng)求,則依據(jù)所述訂閱取消請(qǐng)求為取消相應(yīng)客戶(hù)端的適 配器,并刪除所述適配器與收集器的關(guān)聯(lián)關(guān)系,以及,在相應(yīng)的收集器沒(méi)有其它關(guān)聯(lián)的適配 器時(shí),取消該收集器。在具體實(shí)現(xiàn)中,所述收集器可以包括多個(gè),為保證客戶(hù)端展示數(shù)據(jù)的及時(shí)更新,即 使在某臺(tái)監(jiān)控設(shè)備出現(xiàn)故障不能被訪問(wèn)的情況下,也不會(huì)影響收集器收集其它監(jiān)控設(shè)備相 關(guān)指標(biāo)數(shù)據(jù)的實(shí)時(shí)性,在本發(fā)明的一種優(yōu)選實(shí)施例中,提出了針對(duì)收集器的多線程并行調(diào) 度機(jī)制,即在本實(shí)施例中,所述多個(gè)收集器收集監(jiān)控設(shè)備指標(biāo)數(shù)據(jù)的步驟具體可以包括如 下子步驟子步驟Al、將所述多個(gè)收集器加入收集器隊(duì)列中;子步驟A2、開(kāi)啟單線程依據(jù)所述收集器隊(duì)列依次調(diào)用各個(gè)收集器,各個(gè)收集器內(nèi) 部依次輪詢(xún)其所連接監(jiān)控設(shè)備的指標(biāo)數(shù)據(jù)。為盡可能減少資源的占用,在本發(fā)明的另一種優(yōu)選實(shí)施例中,還提出了針對(duì)收集 器的單線程串行調(diào)度機(jī)制,即在本實(shí)施例中,所述多個(gè)收集器收集監(jiān)控設(shè)備指標(biāo)數(shù)據(jù)的步驟具體可以包括如下子步驟子步驟Bi、針對(duì)各個(gè)收集器分別創(chuàng)建相應(yīng)的線程;子步驟B2、各個(gè)收集器并行地在其內(nèi)部依次輪詢(xún)其所連接監(jiān)控設(shè)備的指標(biāo)數(shù)據(jù)。為保證在單線程串行調(diào)度機(jī)制下,客戶(hù)端展示數(shù)據(jù)的及時(shí)更新,更為優(yōu)選的是,在 上述串行調(diào)度過(guò)程中,當(dāng)輪詢(xún)到某個(gè)收集器時(shí),先去檢測(cè)其所連接的監(jiān)控設(shè)備是否可以訪 問(wèn),若不可訪問(wèn),則跳轉(zhuǎn)到下一個(gè)收集器;并定義一個(gè)合適的時(shí)間段T,當(dāng)本次輪詢(xún)時(shí)間超 過(guò)該時(shí)間段T時(shí),就將該段時(shí)間內(nèi)收集到的數(shù)據(jù)先送去處理和分發(fā);然后由客戶(hù)端根據(jù)收 到的數(shù)據(jù)進(jìn)行部分?jǐn)?shù)據(jù)的更新展示。根據(jù)數(shù)據(jù)收集方式的不同,所述可以收集器包括主動(dòng)收集器和/或被動(dòng)收集器; 具體而言,所述主動(dòng)收集器依次輪詢(xún)其所連接監(jiān)控設(shè)備的相應(yīng)指標(biāo)數(shù)據(jù)的步驟進(jìn)一步包 括向監(jiān)控設(shè)備上的代理程序發(fā)送查詢(xún)某個(gè)指示的請(qǐng)求,并接收由所述代理程序返回 的指標(biāo)數(shù)據(jù);所述被動(dòng)收集器依次輪詢(xún)其所連接監(jiān)控設(shè)備的相應(yīng)指標(biāo)數(shù)據(jù)的步驟進(jìn)一步包 括接收監(jiān)控設(shè)備上的代理程序發(fā)送的指標(biāo)數(shù)據(jù),并返回收到命令。在本發(fā)明實(shí)施例中,所述適配器與客戶(hù)端的交互可以采用適配器主動(dòng)推送的方 式,也可以采用客戶(hù)端輪詢(xún)的方式。即所述將緩存中的數(shù)據(jù)發(fā)送給客戶(hù)端的步驟具體可以 包括如下子步驟子步驟Cl、通過(guò)預(yù)置的客戶(hù)端接口直接將數(shù)據(jù)推送至客戶(hù)端;或者,子步驟C2、通過(guò)預(yù)置的適配器接口響應(yīng)于客戶(hù)端的輪詢(xún)將數(shù)據(jù)提供給客戶(hù)端。為了讓同一項(xiàng)指標(biāo)數(shù)據(jù)滿(mǎn)足不同適配器的需要,以增加數(shù)據(jù)的利用率,同時(shí),便于 根據(jù)需要擴(kuò)展適配器,本發(fā)明實(shí)施例還可以包括如下步驟對(duì)所述分發(fā)的相關(guān)數(shù)據(jù)按照預(yù)置的過(guò)濾規(guī)則進(jìn)行過(guò)濾;禾口/ 或,依據(jù)客戶(hù)端的要求,對(duì)所述分發(fā)的相關(guān)數(shù)據(jù)組織為可顯示的格式。在具體實(shí)現(xiàn)中,所述客戶(hù)端提交的訂閱請(qǐng)求中,還可以包括客戶(hù)端數(shù)據(jù)獲取方式 信息,在這種情況下,所述將所述緩存中的數(shù)據(jù)發(fā)送給客戶(hù)端的步驟還可以為如下步驟依據(jù)所述客戶(hù)端數(shù)據(jù)獲取方式信息,將緩存一段時(shí)間后的數(shù)據(jù)發(fā)送給客戶(hù)端;或者,依據(jù)所述客戶(hù)端數(shù)據(jù)獲取方式信息,將進(jìn)入緩存的數(shù)據(jù)立即發(fā)送給客戶(hù)端。更為優(yōu)選的是,在實(shí)際中,當(dāng)客戶(hù)端因?yàn)楫惓6L(zhǎng)期沒(méi)有獲取數(shù)據(jù)時(shí),本發(fā)明實(shí)施 例還可以包括如下步驟判斷客戶(hù)端提取數(shù)據(jù)的時(shí)間是否超過(guò)預(yù)設(shè)時(shí)間,若是,則調(diào)用所述訂閱取消步驟。為使本領(lǐng)域技術(shù)人員更好地理解本發(fā)明,以下通過(guò)劃分不同的處理過(guò)程進(jìn)一步說(shuō) 明本發(fā)明實(shí)施例。一、訂閱過(guò)程1、客戶(hù)端調(diào)用訂閱處理器提交訂閱請(qǐng)求,訂閱請(qǐng)求中包括訂閱者、監(jiān)控設(shè)備信息和指標(biāo)數(shù)據(jù)信息;2、訂閱處理器針對(duì)每一個(gè)訂閱者生成唯一的訂閱號(hào),并通知客戶(hù)端;3、訂閱處理器從其存儲(chǔ)的適配器列表中查找是否已經(jīng)存在該訂閱者的適配器,若 沒(méi)有則針對(duì)該訂閱者創(chuàng)建一個(gè)適配器,并添加到所述適配器列表中;4、訂閱處理器從存儲(chǔ)的收集器列表中查找是否已經(jīng)存在訂閱請(qǐng)求中所指定的監(jiān) 控設(shè)備信息,若沒(méi)有則針對(duì)相應(yīng)的監(jiān)控設(shè)備創(chuàng)建一個(gè)或多個(gè)收集器,并添加到所述收集器 列表中;5、訂閱處理器建立相應(yīng)的適配器和收集器的關(guān)聯(lián)關(guān)系,并存儲(chǔ)在關(guān)聯(lián)列表中;6、若收集器是新創(chuàng)建的或處于暫停狀態(tài),則啟動(dòng)收集器開(kāi)始工作;若適配器是新 創(chuàng)建的或處于暫停狀態(tài),則啟動(dòng)適配器開(kāi)始工作。二、工作過(guò)程1、收集器收集監(jiān)控設(shè)備的指標(biāo)數(shù)據(jù),并把將數(shù)據(jù)發(fā)送給分發(fā)器;2、分發(fā)器依據(jù)訂閱處理器提供的調(diào)度指示,根據(jù)關(guān)聯(lián)列表將收集器收集的指標(biāo)數(shù) 據(jù)分發(fā)給相關(guān)聯(lián)的適配器;3、適配器緩存所述分發(fā)器轉(zhuǎn)發(fā)的數(shù)據(jù),并根據(jù)訂閱要求,將緩存一段時(shí)間后的數(shù) 據(jù)發(fā)送給客戶(hù)端;或者,將進(jìn)入緩存的數(shù)據(jù)立即發(fā)送給客戶(hù)端。4、客戶(hù)端從適配器中獲取數(shù)據(jù)后,適配器清空緩存;5、當(dāng)客戶(hù)端長(zhǎng)時(shí)間不從適配器中獲取數(shù)據(jù),且適配器的緩存已滿(mǎn)時(shí),適配器按照 先進(jìn)先出原則刪除當(dāng)前緩存中的舊數(shù)據(jù)。三、取消訂閱過(guò)程1、客戶(hù)端調(diào)用訂閱處理器取消訂閱,取消訂閱請(qǐng)求包含訂閱號(hào);2、訂閱處理器從關(guān)聯(lián)列表中查找到相應(yīng)的關(guān)聯(lián),刪除該關(guān)聯(lián);3、訂閱處理器從適配器列表中查找到相應(yīng)的適配器,撤銷(xiāo)該適配器;4、訂閱處理器從收集器列表中查找到相應(yīng)的收集器,檢查該收集器是否仍與其它 適配器關(guān)聯(lián),如沒(méi)有,則撤銷(xiāo)該收集器,否則不作撤銷(xiāo)處理。四、超時(shí)處理過(guò)程1、當(dāng)客戶(hù)端因?yàn)楫惓6L(zhǎng)期沒(méi)有獲取數(shù)據(jù)時(shí),訂閱處理器記錄客戶(hù)端上次獲取數(shù) 據(jù)的時(shí)間,并在每次獲取數(shù)據(jù)時(shí)更新該時(shí)間,如果長(zhǎng)期未更新,則認(rèn)為超時(shí);2、按上述取消訂閱過(guò)程取消相應(yīng)適配器的訂閱;3、當(dāng)客戶(hù)端恢復(fù)正常并重新獲取數(shù)據(jù)時(shí),重新進(jìn)行訂閱。由于本實(shí)施例基本相應(yīng)于前述的系統(tǒng)實(shí)施例,故本實(shí)施例的描述中未詳盡之處, 可以參見(jiàn)前述實(shí)施例中的相關(guān)說(shuō)明,在此就不贅述了。此外,還需要說(shuō)明的是,對(duì)于前述的 各方法實(shí)施例,為了簡(jiǎn)單描述,故將其都表述為一系列的動(dòng)作組合,但是本領(lǐng)域技術(shù)人員應(yīng) 該知悉,本發(fā)明并不受所描述的動(dòng)作順序的限制,因?yàn)橐罁?jù)本發(fā)明,某些步驟可以采用其他 順序或者同時(shí)進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說(shuō)明書(shū)中所描述的實(shí)施例均屬于優(yōu) 選實(shí)施例,所涉及的動(dòng)作和模塊并不一定是本發(fā)明所必須的。本發(fā)明可用于眾多通用或?qū)S玫挠?jì)算系統(tǒng)環(huán)境或配置中。例如多處理器系統(tǒng)、服 務(wù)器、網(wǎng)絡(luò)PC、小型計(jì)算機(jī)、大型計(jì)算機(jī)、包括以上任何系統(tǒng)或設(shè)備的分布式計(jì)算環(huán)境等等。本發(fā)明可以在由計(jì)算機(jī)執(zhí)行的計(jì)算機(jī)可執(zhí)行指令的一般上下文中描述,例如程序模塊。一般地,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類(lèi)型的例程、程序、對(duì)象、組 件、數(shù)據(jù)結(jié)構(gòu)等等。也可以在分布式計(jì)算環(huán)境中實(shí)踐本發(fā)明,在這些分布式計(jì)算環(huán)境中,由 通過(guò)通信網(wǎng)絡(luò)而被連接的遠(yuǎn)程處理設(shè)備來(lái)執(zhí)行任務(wù)。在分布式計(jì)算環(huán)境中,程序模塊可以 位于包括存儲(chǔ)設(shè)備在內(nèi)的本地和遠(yuǎn)程計(jì)算機(jī)存儲(chǔ)介質(zhì)中。 以上對(duì)本發(fā)明所提供的一種實(shí)現(xiàn)訂閱-收集機(jī)制的監(jiān)控系統(tǒng)及一種實(shí)現(xiàn)訂閱-收 集機(jī)制的監(jiān)控方法進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn) 行了闡述,以上實(shí)施例的說(shuō)明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對(duì)于本 領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式
及應(yīng)用范圍上均會(huì)有改變之處, 綜上所述,本說(shuō)明書(shū)內(nèi)容不應(yīng)理解為對(duì)本發(fā)明的限制。
權(quán)利要求
1.一種實(shí)現(xiàn)訂閱-收集機(jī)制的監(jiān)控系統(tǒng),其特征在于,包括訂閱處理器,包括訂閱接受模塊、關(guān)聯(lián)記錄模塊及分發(fā)調(diào)度模塊,其中,所述訂閱接受 模塊用于接收客戶(hù)端的訂閱請(qǐng)求,并依據(jù)所述訂閱請(qǐng)求為相應(yīng)的客戶(hù)端創(chuàng)建適配器,以及, 為相應(yīng)的監(jiān)控設(shè)備創(chuàng)建收集器;所述關(guān)聯(lián)記錄模塊用于記錄所述相應(yīng)的適配器與收集器的 關(guān)聯(lián)關(guān)系;所述分發(fā)調(diào)度模塊用于提供分發(fā)器的調(diào)度指示;收集器,與監(jiān)控設(shè)備相連,用于收集監(jiān)控設(shè)備的指標(biāo)數(shù)據(jù);分發(fā)器,用于依據(jù)所述調(diào)度指示,將收集器收集的指標(biāo)數(shù)據(jù)分發(fā)給相關(guān)聯(lián)的適配器;適配器,與客戶(hù)端相連,包括緩存模塊和發(fā)送模塊,其中,所述緩存模塊用于緩存所述 分發(fā)器轉(zhuǎn)發(fā)的數(shù)據(jù),所述發(fā)送模塊用于將所述緩存中的數(shù)據(jù)發(fā)送給客戶(hù)端。
2.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述適配器還包括清空模塊,用于在所述緩存中的數(shù)據(jù)全部發(fā)送至客戶(hù)端時(shí),清空緩存。
3.如權(quán)利要求1或2所述的系統(tǒng),其特征在于,所述適配器還包括刪除模塊,用于在客戶(hù)端未在預(yù)設(shè)時(shí)間內(nèi)提取緩存中的數(shù)據(jù),并且,所述緩存空間已滿(mǎn) 時(shí),按照先進(jìn)先出原則刪除當(dāng)前緩存中的數(shù)據(jù)。
4.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述訂閱處理器還包括訂閱取消模塊,用于接收客戶(hù)端的訂閱取消請(qǐng)求,依據(jù)所述訂閱取消請(qǐng)求為取消相應(yīng) 客戶(hù)端的適配器,并刪除所述適配器與收集器的關(guān)聯(lián)關(guān)系,以及,在相應(yīng)的收集器沒(méi)有其它 關(guān)聯(lián)的適配器時(shí),取消該收集器。
5.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述收集器包括多個(gè),所述多個(gè)收集器由單 線程串行調(diào)度,或者,所述多個(gè)收集器分別由各個(gè)收集器的線程并行調(diào)度。
6.如權(quán)利要求5所述的系統(tǒng),其特征在于,所述收集器包括主動(dòng)收集器和/或被動(dòng)收集器;所述主動(dòng)收集器用于向監(jiān)控設(shè)備上的代理程序發(fā)送查詢(xún)某個(gè)指示的請(qǐng)求,并接收由所 述代理程序返回的指標(biāo)數(shù)據(jù);所述被動(dòng)收集器用于接收監(jiān)控設(shè)備上的代理程序發(fā)送的指標(biāo)數(shù)據(jù),并返回收到命令。
7.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述適配器發(fā)送模塊包括數(shù)據(jù)推送子模塊 和/或客戶(hù)端輪詢(xún)子模塊;所述數(shù)據(jù)推送子模塊用于通過(guò)預(yù)置的客戶(hù)端接口直接將數(shù)據(jù)推送至客戶(hù)端;所述客戶(hù)端輪詢(xún)子模塊用于通過(guò)預(yù)置的適配器接口響應(yīng)于客戶(hù)端的輪詢(xún)將數(shù)據(jù)提供 給客戶(hù)端。
8.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述適配器還包括過(guò)濾模塊,用于對(duì)所述分發(fā)器轉(zhuǎn)發(fā)的相關(guān)數(shù)據(jù)按照預(yù)置的過(guò)濾規(guī)則進(jìn)行過(guò)濾;和/或,格式轉(zhuǎn)換模塊,用于依據(jù)客戶(hù)端的要求,對(duì)所述分發(fā)器轉(zhuǎn)發(fā)的相關(guān)數(shù)據(jù)組織為可顯示 的格式。
9.如權(quán)利要求4所述的系統(tǒng),其特征在于,所述訂閱處理器還包括超時(shí)處理模塊,用于判斷客戶(hù)端提取數(shù)據(jù)的時(shí)間是否超過(guò)預(yù)設(shè)時(shí)間,若是,則調(diào)用所述 訂閱取消模塊。
10.一種實(shí)現(xiàn)訂閱-收集機(jī)制的監(jiān)控方法,其特征在于,包括接收客戶(hù)端的訂閱請(qǐng)求,依據(jù)所述訂閱請(qǐng)求為相應(yīng)的客戶(hù)端創(chuàng)建適配器,以及,為相應(yīng) 的監(jiān)控設(shè)備創(chuàng)建收集器;記錄所述相應(yīng)的適配器與收集器的關(guān)聯(lián)關(guān)系; 所述收集器收集監(jiān)控設(shè)備的指標(biāo)數(shù)據(jù); 將所述指標(biāo)數(shù)據(jù)分發(fā)給相關(guān)聯(lián)的適配器;所述適配器緩存所述分發(fā)器轉(zhuǎn)發(fā)的數(shù)據(jù),并將所述緩存中的數(shù)據(jù)發(fā)送給客戶(hù)端。
11.如權(quán)利要求10所述的方法,其特征在于,還包括 在所述緩存中的數(shù)據(jù)全部發(fā)送至客戶(hù)端時(shí),清空緩存。
12.如權(quán)利要求10或11所述的方法,其特征在于,還包括在客戶(hù)端未在預(yù)設(shè)時(shí)間內(nèi)提取緩存中的數(shù)據(jù),并且,所述緩存空間已滿(mǎn)時(shí),按照先進(jìn)先 出原則刪除當(dāng)前緩存中的數(shù)據(jù)。
13.如權(quán)利要求10所述的方法,其特征在于,還包括接收客戶(hù)端的訂閱取消請(qǐng)求,依據(jù)所述訂閱取消請(qǐng)求為取消相應(yīng)客戶(hù)端的適配器,并 刪除所述適配器與收集器的關(guān)聯(lián)關(guān)系,以及,在相應(yīng)的收集器沒(méi)有其它關(guān)聯(lián)的適配器時(shí),取 消該收集器。
14.如權(quán)利要求10所述的方法,其特征在于,所述收集器包括多個(gè),所述多個(gè)收集器收 集監(jiān)控設(shè)備指標(biāo)數(shù)據(jù)的步驟包括將所述多個(gè)收集器加入收集器隊(duì)列中;開(kāi)啟單線程依據(jù)所述收集器隊(duì)列依次調(diào)用各個(gè)收集器,各個(gè)收集器內(nèi)部依次輪詢(xún)其所 連接監(jiān)控設(shè)備的指標(biāo)數(shù)據(jù)。
15.如權(quán)利要求10所述的方法,其特征在于,所述收集器包括多個(gè),所述多個(gè)收集器收 集監(jiān)控設(shè)備指標(biāo)數(shù)據(jù)的步驟包括針對(duì)各個(gè)收集器分別創(chuàng)建相應(yīng)的線程,各個(gè)收集器并行地在其內(nèi)部依次輪詢(xún)其所連接 監(jiān)控設(shè)備的指標(biāo)數(shù)據(jù)。
16.如權(quán)利要求14或15所述的方法,其特征在于,所述收集器包括主動(dòng)收集器和/或 被動(dòng)收集器;所述主動(dòng)收集器依次輪詢(xún)其所連接監(jiān)控設(shè)備的相應(yīng)指標(biāo)數(shù)據(jù)的步驟進(jìn)一步包 括向監(jiān)控設(shè)備上的代理程序發(fā)送查詢(xún)某個(gè)指示的請(qǐng)求,并接收由所述代理程序返回的指 標(biāo)數(shù)據(jù);所述被動(dòng)收集器依次輪詢(xún)其所連接監(jiān)控設(shè)備的相應(yīng)指標(biāo)數(shù)據(jù)的步驟進(jìn)一步包括 接收監(jiān)控設(shè)備上的代理程序發(fā)送的指標(biāo)數(shù)據(jù),并返回收到命令。
17.如權(quán)利要求10所述的方法,其特征在于,所述將緩存中的數(shù)據(jù)發(fā)送給客戶(hù)端的步 驟包括通過(guò)預(yù)置的客戶(hù)端接口直接將數(shù)據(jù)推送至客戶(hù)端; 或者,通過(guò)預(yù)置的適配器接口響應(yīng)于客戶(hù)端的輪詢(xún)將數(shù)據(jù)提供給客戶(hù)端。
18.如權(quán)利要求10所述的方法,其特征在于,還包括 對(duì)所述分發(fā)的相關(guān)數(shù)據(jù)按照預(yù)置的過(guò)濾規(guī)則進(jìn)行過(guò)濾; 和/或,依據(jù)客戶(hù)端的要求,對(duì)所述分發(fā)的相關(guān)數(shù)據(jù)組織為可顯示的格式。
19.如權(quán)利要求10所述的方法,其特征在于,所述訂閱請(qǐng)求中包括客戶(hù)端數(shù)據(jù)獲取方 式信息,所述將所述緩存中的數(shù)據(jù)發(fā)送給客戶(hù)端的步驟還包括依據(jù)所述客戶(hù)端數(shù)據(jù)獲取方式信息,將緩存一段時(shí)間后的數(shù)據(jù)發(fā)送給客戶(hù)端; 或者,依據(jù)所述客戶(hù)端數(shù)據(jù)獲取方式信息,將進(jìn)入緩存的數(shù)據(jù)立即發(fā)送給客戶(hù)端。
20.如權(quán)利要求13所述的方法,其特征在于,還包括判斷客戶(hù)端提取數(shù)據(jù)的時(shí)間是否超過(guò)預(yù)設(shè)時(shí)間,若是,則調(diào)用所述訂閱取消步驟。
全文摘要
本發(fā)明公開(kāi)了一種實(shí)現(xiàn)訂閱-收集機(jī)制的監(jiān)控系統(tǒng),包括訂閱處理器,包括訂閱接受模塊、關(guān)聯(lián)記錄模塊及分發(fā)調(diào)度模塊,所述訂閱接受模塊用于接收客戶(hù)端的訂閱請(qǐng)求,并依據(jù)所述訂閱請(qǐng)求為相應(yīng)的客戶(hù)端創(chuàng)建適配器,以及,為相應(yīng)的監(jiān)控設(shè)備創(chuàng)建收集器;所述關(guān)聯(lián)記錄模塊用于記錄所述相應(yīng)的適配器與收集器的關(guān)聯(lián)關(guān)系;所述分發(fā)調(diào)度模塊用于提供分發(fā)器的調(diào)度指示;收集器,用于收集監(jiān)控設(shè)備的指標(biāo)數(shù)據(jù);分發(fā)器,用于依據(jù)所述調(diào)度指示,將收集的指標(biāo)數(shù)據(jù)分發(fā)給相關(guān)聯(lián)的適配器;適配器,包括緩存模塊用于緩存所述分發(fā)器轉(zhuǎn)發(fā)的數(shù)據(jù),以及,所述發(fā)送模塊用于將所述緩存中的數(shù)據(jù)發(fā)送給客戶(hù)端。本發(fā)明可以實(shí)現(xiàn)各種通信協(xié)議,并有效減少網(wǎng)絡(luò)流量。
文檔編號(hào)H04L12/24GK102142971SQ20101010403
公開(kāi)日2011年8月3日 申請(qǐng)日期2010年1月29日 優(yōu)先權(quán)日2010年1月29日
發(fā)明者宋紅根, 李丹, 王弋珵 申請(qǐng)人:新奧特(北京)視頻技術(shù)有限公司