本發(fā)明涉及信息系統(tǒng)領(lǐng)域中的基于平臺+插件的設(shè)備監(jiān)控系統(tǒng)及方法,特別適用于在信息系統(tǒng)中針對不同類型的設(shè)備,生成不同的適配器插件和拓撲圖插件,動態(tài)部署在監(jiān)控服務(wù)平臺上,通過監(jiān)控客戶端實現(xiàn)信息系統(tǒng)設(shè)備運行狀態(tài)的全面可視化掌控,對各設(shè)備信息進行多層次、多角度、全方位的可視化展示。
背景技術(shù):
信息系統(tǒng)領(lǐng)域中,經(jīng)常需要對某幾類型設(shè)備進行統(tǒng)一的實時監(jiān)控,開發(fā)人員需要根據(jù)具體的設(shè)備開發(fā)一套監(jiān)控系統(tǒng),這種監(jiān)控系統(tǒng)的可靠性、可擴展性不高,缺少軟件架構(gòu)設(shè)計,開發(fā)理念落后,軟件功能高度內(nèi)聚,導(dǎo)致了某功能需求變化會對系統(tǒng)研制帶來了很多不可預(yù)見的風(fēng)險和重復(fù)工作,增加研制風(fēng)險和成本。
技術(shù)實現(xiàn)要素:
本發(fā)明所需解決的技術(shù)問題在于避免傳統(tǒng)監(jiān)控系統(tǒng)的不足之處,提供一種基于平臺+插件的設(shè)備監(jiān)控系統(tǒng)及方法。
本發(fā)明的技術(shù)方案如下:一種基于平臺+插件的設(shè)備監(jiān)控系統(tǒng),包括待監(jiān)控設(shè)備、監(jiān)控客戶端、監(jiān)控服務(wù)平臺、適配器插件和拓撲圖插件,其中,適配器插件和拓撲圖插件部署在監(jiān)控服務(wù)平臺;
適配器插件用于將各種類型的待監(jiān)控設(shè)備接入到監(jiān)控服務(wù)平臺,所述的接入包括信息采集和數(shù)據(jù)配置;
拓撲圖插件用于將設(shè)備監(jiān)控系統(tǒng)的拓撲結(jié)構(gòu)自動同步到監(jiān)控客戶端;
監(jiān)控服務(wù)平臺用于進行監(jiān)控配置和線程池配置,調(diào)用各適配器插件的監(jiān)聽接口獲取設(shè)備監(jiān)控信息,調(diào)用事件處理引擎并根據(jù)設(shè)備監(jiān)控信息生成報警信息,將設(shè)備監(jiān)控信息和報警信息通過InforBus總線同步到監(jiān)控客戶端;
監(jiān)控客戶端用于將收到的設(shè)備監(jiān)控信息和報警信息在拓撲結(jié)構(gòu)上進行展示。
其中,所述的適配器插件和拓撲圖插件均為一個或者多個,一種類型的待監(jiān)控設(shè)備對應(yīng)一個適配器插件。
其中,還包括業(yè)務(wù)服務(wù)插件,部署在監(jiān)控服務(wù)平臺,用于給適配器插件提供數(shù)據(jù)庫服務(wù)、文件服務(wù)或XML解析服務(wù)。
其中,所述的設(shè)備監(jiān)控系統(tǒng)通過監(jiān)控服務(wù)平臺擴展為多級監(jiān)控系統(tǒng),多級監(jiān)控系統(tǒng)包括一個主中心監(jiān)控系統(tǒng)和一個或多個下級監(jiān)控系統(tǒng),各下級監(jiān)控系統(tǒng)通過其監(jiān)控服務(wù)平臺實時傳送設(shè)備監(jiān)控信息、報警信息和拓撲結(jié)構(gòu)到主中心監(jiān)控系統(tǒng)。
一種基于平臺+插件的設(shè)備監(jiān)控方法,包括以下步驟:
(1)監(jiān)控服務(wù)平臺根據(jù)其監(jiān)控配置和線程池配置,預(yù)先啟動多個監(jiān)控線程;
(2)監(jiān)控服務(wù)平臺調(diào)用各待監(jiān)控設(shè)備的適配器插件監(jiān)聽接口,啟動各待監(jiān)控設(shè)備的監(jiān)聽功能;
(3)監(jiān)控服務(wù)平臺阻塞當(dāng)前待監(jiān)控設(shè)備的監(jiān)控線程,直到適配器插件監(jiān)聽到當(dāng)前待監(jiān)控設(shè)備推送的狀態(tài)報文;
(4)適配器插件解析狀態(tài)報文,若狀態(tài)報文的格式不正確或不能正確解析,則丟棄該狀態(tài)報文,轉(zhuǎn)入步驟(3);若狀態(tài)報文能正確解析,則將該狀態(tài)報文解析為設(shè)備監(jiān)控信息,執(zhí)行步驟(5);
(5)監(jiān)控服務(wù)平臺調(diào)用事件處理引擎,判斷設(shè)備監(jiān)控信息是否滿足報警規(guī)則,若不滿足報警規(guī)則,則將設(shè)備監(jiān)控信息推送到監(jiān)控客戶端;若滿足報警規(guī)則,則生成報警信息并記錄報警日志,將報警信息立即推送到監(jiān)控客戶端,將設(shè)備監(jiān)控信息推送到監(jiān)控客戶端;
(6)監(jiān)控客戶端將收到的設(shè)備監(jiān)控信息和報警信息通過拓撲圖插件進行展示。
其中,如果當(dāng)前設(shè)備監(jiān)控系統(tǒng)為下級監(jiān)控系統(tǒng),則向主中心監(jiān)控系統(tǒng)的監(jiān)控服務(wù)平臺和本監(jiān)控客戶端分別推送設(shè)備監(jiān)控信息和報警信息。
本發(fā)明與背景技術(shù)相比具有如下優(yōu)點:
1、本發(fā)明采用構(gòu)件化體系結(jié)構(gòu)支撐領(lǐng)域框架及應(yīng)用可持續(xù)發(fā)展,遵循OSGI國際規(guī)范,支持面向服務(wù)粒度的可配置及可擴展,是一種支持構(gòu)件化和服務(wù)化的開放式體系結(jié)構(gòu),具有良好可插拔特性;
2、本發(fā)明基于OSGI微內(nèi)核集成框架和插件技術(shù),研發(fā)支持松散耦合、即插即用和動態(tài)協(xié)同的監(jiān)控設(shè)備數(shù)據(jù)接入適配器,以解決異構(gòu)設(shè)備的互聯(lián)互通問題。通過提供自適應(yīng)管理框架,實現(xiàn)設(shè)備管理、數(shù)據(jù)采集及監(jiān)控應(yīng)用的無縫集成;
3、本發(fā)明的設(shè)備監(jiān)控系統(tǒng)支持集中式和分布式部署,降低設(shè)備集成成本;
4、本發(fā)明支持監(jiān)控設(shè)備的網(wǎng)絡(luò)拓撲圖定制,根據(jù)特定運行場景的設(shè)備分布結(jié)構(gòu),定制相應(yīng)的設(shè)備拓撲圖,與監(jiān)控對象通過關(guān)聯(lián)關(guān)系實現(xiàn)監(jiān)控定位。
附圖說明
圖1是本發(fā)明的設(shè)備監(jiān)控系統(tǒng)的體系架構(gòu)示意圖。
圖2是本發(fā)明的監(jiān)控服務(wù)平臺工作程示意圖。
圖3是本發(fā)明的監(jiān)控客戶端工作流程示意圖。
具體實施方式
下面結(jié)合附圖對本發(fā)明作進一步說明。
本發(fā)明的設(shè)備監(jiān)控系統(tǒng)的體系架構(gòu)如圖1所示,分為5層,包括物理層、支撐層、數(shù)據(jù)層、服務(wù)層和應(yīng)用層。
(1)物理層
物理層由計算機、視頻設(shè)備、以太網(wǎng)絡(luò)以及計算機操作系統(tǒng)組成,為平臺運行提供基礎(chǔ)軟硬件運行環(huán)境。
(2)支撐層
支撐層由數(shù)據(jù)庫、軟總線中間件以及java虛擬機組成,為平臺運行提供軟件能力支撐以及數(shù)據(jù)庫服務(wù)。
(3)數(shù)據(jù)層
數(shù)據(jù)層由元數(shù)據(jù)、規(guī)則以及展示模板組成,是上層軟件和構(gòu)件運行的基礎(chǔ)數(shù)據(jù),元數(shù)據(jù)為上層應(yīng)用提供數(shù)據(jù)屬性描述手段,是各類型數(shù)據(jù)處理、消息響應(yīng)、解析、分析以及信息展示的基礎(chǔ)描述性參數(shù)。規(guī)則為上層應(yīng)用對數(shù)據(jù)的判斷、歸類、傳輸方式等提供基礎(chǔ)的處理規(guī)則。展示模板為上層應(yīng)用提供基礎(chǔ)的信息展示手段。
(4)服務(wù)層
服務(wù)層由監(jiān)控服務(wù)平臺、監(jiān)控客戶端框架和三種類型的插件組成。
監(jiān)控服務(wù)平臺用于進行監(jiān)控配置和線程池配置,調(diào)用各適配器插件的監(jiān)聽接口獲取設(shè)備監(jiān)控信息,調(diào)用事件處理引擎并根據(jù)設(shè)備監(jiān)控信息生成報警信息,將設(shè)備監(jiān)控信息和報警信息通過InforBus總線同步到監(jiān)控客戶端。
監(jiān)控服務(wù)平臺作為設(shè)備監(jiān)控系統(tǒng)的核心引擎,包括WEB容器、OSGI微內(nèi)核、事件管理、軟總線服務(wù)端、對象管理、類型管理。提供獲取監(jiān)控對象的監(jiān)控信息的方法,為監(jiān)控對象信息維護、插件管理提供配置與查看界面。
監(jiān)控客戶端框架是在eclipse RCP富客戶端集成框架基礎(chǔ)上添加了軟總線客戶端、OSGI微內(nèi)核、拓撲圖展示等服務(wù),形成了監(jiān)控客戶端框架。
三種類型的插件包括適配器插件、拓撲圖插件和業(yè)務(wù)服務(wù)插件。
適配器插件:該插件部署在監(jiān)控服務(wù)平臺,是監(jiān)控服務(wù)平臺與設(shè)備交互的接口,是對同一類型設(shè)備的抽象,為各種不同方式和接口的協(xié)議的接入提供了信息采集和數(shù)據(jù)配置功能,該插件以JAR包的形式存在,且符合Eclipse標準插件規(guī)范。適配器插件將采集到的信息進行解析獲取設(shè)備監(jiān)控信息。
拓撲圖插件:該插件部署在監(jiān)控服務(wù)平臺,主要是對設(shè)備拓撲關(guān)系、布局關(guān)系的解釋,并隨著該插件的變化,可以自動同步到在監(jiān)控客戶端進行系統(tǒng)拓撲結(jié)構(gòu)的展示。
業(yè)務(wù)服務(wù)插件:該插件部署在監(jiān)控服務(wù)平臺,用于給適配器插件提供數(shù)據(jù)庫服務(wù)、文件服務(wù)或XML解析服務(wù)。
(5)應(yīng)用層
應(yīng)用層是設(shè)備監(jiān)控系統(tǒng)的展示層?;谖锢韺?、支撐層、數(shù)據(jù)層的環(huán)境或者服務(wù),利用服務(wù)層的監(jiān)控服務(wù)平臺、監(jiān)控客戶端框架以及各種插件,通過監(jiān)控客戶端的圖形顯示、列表顯示、告警管理、日志管理等實現(xiàn)對系統(tǒng)運行狀態(tài)的全面可視化掌控,對各設(shè)備信息進行多層次、多角度、全方位的可視化展示。
基于上述獲得的設(shè)備監(jiān)控系統(tǒng),可以擴展為由主中心監(jiān)控系統(tǒng)和一個或者多個下級監(jiān)控系統(tǒng)構(gòu)成的多級監(jiān)控系統(tǒng),每級監(jiān)控系統(tǒng)的結(jié)構(gòu)均與設(shè)備監(jiān)控系統(tǒng)相同,各下級監(jiān)控系統(tǒng)通過其監(jiān)控服務(wù)平臺實時傳送設(shè)備監(jiān)控信息、報警信息和拓撲結(jié)構(gòu)到主中心監(jiān)控系統(tǒng)。
基于平臺+插件的設(shè)備監(jiān)控方法的核心功能在于監(jiān)控服務(wù)平臺,監(jiān)控服務(wù)平臺的工作流程如圖2所示,其步驟如下:
(1)通過監(jiān)控服務(wù)平臺進行監(jiān)控配置和線程池配置;
其中監(jiān)控配置包括根據(jù)適配器插件新建監(jiān)控對象、監(jiān)控對象的配置、告警規(guī)則配置、依賴關(guān)系配置以及上下級級聯(lián)的配置。
(2)監(jiān)控服務(wù)平臺根據(jù)監(jiān)控配置和線程池配置,啟動多個監(jiān)控線程;
(3)監(jiān)控服務(wù)平臺調(diào)用各待監(jiān)控設(shè)備的適配器插件監(jiān)聽接口,啟動各待監(jiān)控設(shè)備的監(jiān)聽功能;
(4)監(jiān)控服務(wù)平臺阻塞當(dāng)前待監(jiān)控設(shè)備的監(jiān)控線程,直到適配器插件監(jiān)聽到當(dāng)前待監(jiān)控設(shè)備推送的狀態(tài)報文;
(5)適配器插件解析狀態(tài)報文,若狀態(tài)報文的格式不正確或不能正確解析,則丟棄該狀態(tài)報文,轉(zhuǎn)入步驟(4);若狀態(tài)報文能正確解析,則將該狀態(tài)報文解析為設(shè)備監(jiān)控信息,執(zhí)行步驟(6);
(6)監(jiān)控服務(wù)平臺調(diào)用事件處理引擎,判斷設(shè)備監(jiān)控信息是否滿足報警規(guī)則,若不滿足報警規(guī)則,則將設(shè)備監(jiān)控信息推送到監(jiān)控客戶端;若滿足報警規(guī)則,則生成報警信息并記錄報警日志,將報警信息和設(shè)備監(jiān)控信息立即推送到監(jiān)控客戶端進行聲音、郵件等報警操作;
(7)繼續(xù)監(jiān)聽當(dāng)前待監(jiān)控設(shè)備推送的狀態(tài)報文,直至停止待監(jiān)控設(shè)備監(jiān)聽。
根據(jù)監(jiān)控配置,如果當(dāng)前設(shè)備監(jiān)控系統(tǒng)為下級監(jiān)控系統(tǒng),則步驟(6)中在向本監(jiān)控客戶端推送設(shè)備監(jiān)控信息和報警信息的同時向主中心監(jiān)控系統(tǒng)的監(jiān)控服務(wù)平臺推送設(shè)備監(jiān)控信息和報警信息。
基于平臺+插件的設(shè)備監(jiān)控系統(tǒng)及方法均通過監(jiān)控客戶端來對設(shè)備進行監(jiān)控,只要可以通過監(jiān)控服務(wù)平臺的認證授權(quán),每一個監(jiān)控客戶端可以選擇任意節(jié)點對設(shè)備進行監(jiān)控。監(jiān)控客戶端提供了設(shè)備拓撲圖和告警視圖等方式對設(shè)備進行監(jiān)控,幾種視圖之間可以相互切換。監(jiān)控客戶端的工作流程圖如圖3所示,具體過程如下:
(1)打開監(jiān)控客戶端;
(2)輸入正確的節(jié)點名稱、端口號、用戶名及口令進行登錄;
(3)監(jiān)控服務(wù)平臺對客戶端登錄信息進行認證授權(quán);如果沒有通過監(jiān)控服務(wù)平臺的認證授權(quán),監(jiān)控客戶端將無法進行登錄,需要根據(jù)提示信息進行相關(guān)操作;通過監(jiān)控服務(wù)平臺的認證授權(quán)后,監(jiān)控客戶端將會同步監(jiān)控服務(wù)平臺的拓撲結(jié)構(gòu)、設(shè)備監(jiān)控信息和報警信息;
(4)同步基礎(chǔ)信息完成后,可以通過客戶端提供的各種視圖進行設(shè)備監(jiān)控。
一個監(jiān)控服務(wù)平臺可支持多個監(jiān)控客戶端,當(dāng)多個監(jiān)控客戶端同時訪問一個監(jiān)控服務(wù)平臺時,任意一個客戶端都能查看設(shè)備的狀態(tài),但是對設(shè)備的控制采用“先登錄擁有控制權(quán)”的策略,即只有最先登錄連接監(jiān)控服務(wù)平臺的監(jiān)控客戶端能進行設(shè)備的啟動、停止、及其他控制操作,只有最先登錄者注銷之后,后續(xù)登錄者才能對設(shè)備進行控制,仍要遵循“先登錄擁有控制權(quán)”的策略。