專利名稱:監(jiān)控方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及信息處理技術(shù)領(lǐng)域,特別地涉及一種監(jiān)控方法和裝置。
背景技術(shù):
目前,數(shù)據(jù)中心的規(guī)模越來越大,運維人員需要維護的設(shè)備或應(yīng)用的數(shù)量也在快速增加,同類設(shè)備之間的比較、同類設(shè)備界面的統(tǒng)一、快速部署以及良好的擴展成為監(jiān)控系統(tǒng)中不可或缺的部分?,F(xiàn)有技術(shù)中,分別對每個設(shè)備型號或應(yīng)用程序定義模板,然后根據(jù)所定義的模板設(shè)計監(jiān)控系統(tǒng)以對每個設(shè)備進行監(jiān)控。現(xiàn)有技術(shù)存在以下問題(I)根據(jù)每個設(shè)備型號或應(yīng)用程序定義模板,即每個設(shè) 備型號或應(yīng)用程序?qū)?yīng)一個模板,使得同種類型的設(shè)備缺少關(guān)聯(lián)關(guān)系;(2)每個模板都需要實現(xiàn)展示界面和獲取監(jiān)測屬性的控件,工作量大;(3)模板的控件數(shù)量多,維護難道大,同時不易擴展。
發(fā)明內(nèi)容
本發(fā)明旨在至少解決現(xiàn)有技術(shù)中存在的技術(shù)問題之一。為了實現(xiàn)上述目的,本發(fā)明的第一方面的實施例提出一種監(jiān)控方法,包括以下步驟根據(jù)待監(jiān)控設(shè)備的屬性信息建立監(jiān)控對象模板山、根據(jù)所述監(jiān)控對象模板建立監(jiān)控對象;c、根據(jù)所述監(jiān)控對象的通信協(xié)議建立插件;d、根據(jù)所述插件配置所述監(jiān)控對象的插件通信參數(shù);以及e、根據(jù)所述插件通信參數(shù)獲取所述監(jiān)控對象的監(jiān)測數(shù)據(jù)。根據(jù)本發(fā)明實施例的監(jiān)控方法,一方面通過對待監(jiān)控設(shè)備的屬性信息進行分析抽象出監(jiān)控對象模板,根據(jù)監(jiān)控對象模塊可以方便快捷地建立一組具有相同屬性信息的監(jiān)控對象,方便管理,且容易實現(xiàn)擴展,另一方面通過建立插件并配置相應(yīng)的參數(shù)獲取監(jiān)測數(shù)據(jù),將目前的獲取數(shù)據(jù)的控件編程變?yōu)榕渲貌寮?shù),大大降低難度和工作量,維護成本低。為了實現(xiàn)上述目的,本發(fā)明的第二方面的實施例提出一種監(jiān)控裝置,包括第一建立模塊,用于根據(jù)待監(jiān)控設(shè)備的屬性信息建立監(jiān)控對象模板;第二建立模塊,用于根據(jù)所述監(jiān)控對象模板建立監(jiān)控對象;第三建立模塊,用于根據(jù)所述監(jiān)控對象的通信協(xié)議建立插件;配置模塊,用于根據(jù)所述插件配置所述監(jiān)控對象的插件通信參數(shù);獲取模塊,用于根據(jù)所述插件通信參數(shù)獲取所述監(jiān)控對象的監(jiān)測數(shù)據(jù)。根據(jù)本方面實施例的監(jiān)控裝置,一方面通過第一建立模塊對待監(jiān)控設(shè)備的屬性信息進行分析抽象出監(jiān)控對象模板,根據(jù)監(jiān)控對象模塊可以方便快捷地建立一組具有相同屬性信息的監(jiān)控對象,方便管理,且容易實現(xiàn)擴展,另一方面通過第二建立模塊建立插件并根據(jù)配置模塊配置插件的參數(shù)以獲取監(jiān)測數(shù)據(jù),將目前的獲取數(shù)據(jù)的控件編程變?yōu)榕渲貌寮?shù),大大降低難度和工作量,維護成本低。本發(fā)明的附加方面和優(yōu)點將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本發(fā)明的實踐了解到。
本發(fā)明上述的和/或附加的方面和優(yōu)點從下面結(jié)合附圖對實施例的描述中將變得明顯和容易理解,其中圖I是本發(fā)明一個實施例的監(jiān)控方法的流程圖;圖2是本發(fā)明一個實施例的監(jiān)控方法的流程圖;圖3是本發(fā)明一個實施例的監(jiān)控方法的流程圖;圖4是本發(fā)明一個實施例的監(jiān)控方法的流程圖; 圖5是本發(fā)明一個實施例的監(jiān)控方法的流程圖;圖6是本發(fā)明一個實施例的監(jiān)控方法的流程圖;圖7是本發(fā)明一個實施例的監(jiān)控方法的流程圖;圖8是本發(fā)明實施例的在線程池中添加監(jiān)測線程和/或控制線程的流程圖;圖9是本發(fā)明實施例的根據(jù)插件通信參數(shù)運行監(jiān)測線程和/或控制線程對應(yīng)的插件的流程圖;圖10是本發(fā)明一個實施例的監(jiān)控裝置的結(jié)構(gòu)示意圖;圖11是本發(fā)明一個實施例的添加子模塊的結(jié)構(gòu)示意圖;圖12是本發(fā)明另一個實施例的添加子模塊的結(jié)構(gòu)示意圖;圖13是本發(fā)明實施例的添加單元530的結(jié)構(gòu)示意圖;以及圖14是本發(fā)明實施例的運行子模塊的結(jié)構(gòu)示意圖。
具體實施例方式下面詳細描述本發(fā)明的實施例,所述實施例的示例在附圖中示出,其中自始至終相同或類似的標號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實施例是示例性的,僅用于解釋本發(fā)明,而不能理解為對本發(fā)明的限制。在本發(fā)明的描述中,需要理解的是,術(shù)語“縱向”、“橫向”、“上”、“下”、“前”、“后”、“左”、“右”、“豎直”、“水平”、“頂”、“底” “內(nèi)”、“外”等指示的方位或位置關(guān)系為基于附圖所示的方位或位置關(guān)系,僅是為了便于描述本發(fā)明和簡化描述,而不是指示或暗示所指的裝置或元件必須具有特定的方位、以特定的方位構(gòu)造和操作,因此不能理解為對本發(fā)明的限制。在本發(fā)明的描述中,除非另有規(guī)定和限定,需要說明的是,術(shù)語“安裝”、“相連”、“連接”應(yīng)做廣義理解,例如,可以是機械連接或電連接,也可以是兩個元件內(nèi)部的連通,可以是直接相連,也可以通過中間媒介間接相連,對于本領(lǐng)域的普通技術(shù)人員而言,可以根據(jù)具體情況理解上述術(shù)語的具體含義。圖I是本發(fā)明一個實施例的監(jiān)控方法的流程圖。如圖I所示,根據(jù)本發(fā)明實施例的監(jiān)控方法包括下述步驟。步驟S101,根據(jù)待監(jiān)控設(shè)備的屬性信息建立監(jiān)控對象模板。具體地,首先對待監(jiān)控設(shè)備的屬性信息進行分析,例如,數(shù)據(jù)中心中包括多個待監(jiān)控的服務(wù)器,其中CPU使用率、CPU溫度等屬性信息是需要監(jiān)測的,服務(wù)器的型號、功率等屬性信息是不需要監(jiān)測的,由此根據(jù)服務(wù)器的CPU使用率、CPU溫度等屬性信息建立服務(wù)器的監(jiān)控對象模板,又如,數(shù)據(jù)中心還包括多個待監(jiān)控的空調(diào),其中空調(diào)的設(shè)置溫度、送風(fēng)溫度和回風(fēng)溫度等屬性信息是需要監(jiān)測的,空調(diào)的型號、功率等屬性信息是不需要監(jiān)測的,由此根據(jù)空調(diào)的設(shè)置溫度、送風(fēng)溫度和回風(fēng)溫度等屬性信息建立空調(diào)的監(jiān)控對象模板。所建立的監(jiān)控對象模板包括了一類待監(jiān)控設(shè)備的共有屬性信息。步驟S102,根據(jù)監(jiān)控對象模板建立監(jiān)控對象。具體地,監(jiān)控對象模板是根據(jù)待監(jiān)控設(shè)備抽象出來的,根據(jù)監(jiān)控對象模板可以方便地建立監(jiān)控對象,其中監(jiān)控對象為某個待監(jiān)控設(shè)備的虛擬。例如,某個數(shù)據(jù)中心A中設(shè)置有多臺服務(wù)器,在建立服務(wù)器的監(jiān)控對象模塊之后,運維人員需要監(jiān)控數(shù)據(jù)中心A中的所有服務(wù)器,然后根據(jù)服務(wù)器的監(jiān)控對象模板可以快捷方便地建立數(shù)據(jù)中心A中的所有服務(wù)器的監(jiān)控對象。步驟S103,根據(jù)監(jiān)控對象的通信協(xié)議建立插件。具體地,每個監(jiān)控對象具有自己的通信協(xié)議,如果要控制監(jiān)控對象并獲取監(jiān)測數(shù) 據(jù)就必須按照通信協(xié)議與監(jiān)控對象交換數(shù)據(jù),可以根據(jù)通信協(xié)議建立插件以通過插件實現(xiàn)控制監(jiān)控對象并獲取監(jiān)測數(shù)據(jù),其中通訊協(xié)議一般規(guī)定了指令的編碼方式、啟始符和終止符、校驗方式、數(shù)據(jù)的解析方式等。步驟S104,根據(jù)插件配置監(jiān)控對象的插件通信參數(shù)。其中,插件通信參數(shù)包括通信接口、通信速率等。通過配置的插件通信參數(shù)可以打開通訊接口便于數(shù)據(jù)交換。步驟S105,根據(jù)插件通信參數(shù)獲取監(jiān)控對象的監(jiān)測數(shù)據(jù)。具體地,通過插件通信參數(shù)調(diào)用對應(yīng)的插件,在運行的過程中通過插件通信參數(shù)與監(jiān)控對象進行數(shù)據(jù)交換以獲得監(jiān)測數(shù)據(jù)。根據(jù)本發(fā)明實施例的監(jiān)控方法,一方面通過對待監(jiān)控設(shè)備的屬性信息進行分析抽象出監(jiān)控對象模板,根據(jù)監(jiān)控對象模塊可以方便快捷地建立一組具有相同屬性信息的監(jiān)控對象,方便管理,且容易實現(xiàn)擴展,另一方面通過建立插件并配置相應(yīng)的參數(shù)獲取監(jiān)測數(shù)據(jù),將目前的獲取數(shù)據(jù)的控件編程變?yōu)榕渲貌寮?shù),大大降低難度和工作量,維護成本低。圖2是本發(fā)明一個實施例的監(jiān)控方法的流程圖。如圖2所示,根據(jù)本發(fā)明實施例的監(jiān)控方法包括下述步驟。步驟S201,根據(jù)待監(jiān)控設(shè)備的屬性信息建立監(jiān)控對象模板。步驟S202,根據(jù)監(jiān)控對象模板建立監(jiān)控對象。步驟S203,根據(jù)監(jiān)控對象的通信協(xié)議建立插件。步驟S204,根據(jù)插件配置監(jiān)控對象的插件通信參數(shù)。步驟S205,根據(jù)插件通信參數(shù)在線程池中添加監(jiān)測線程。步驟S206,在線程池中運行監(jiān)測線程以獲取監(jiān)測數(shù)據(jù)。根據(jù)本發(fā)明實施例的監(jiān)控方法,多個線程可以同時運行,提高數(shù)據(jù)處理能力。圖3是本發(fā)明一個實施例的監(jiān)控方法的流程圖。如圖3所示,根據(jù)本發(fā)明實施例的監(jiān)控方法包括下述步驟。步驟S301,根據(jù)待監(jiān)控設(shè)備的屬性信息建立監(jiān)控對象模板。步驟S302,根據(jù)監(jiān)控對象模板建立監(jiān)控對象。
步驟S303,根據(jù)監(jiān)控對象的通信協(xié)議建立插件。步驟S304,根據(jù)插件配置監(jiān)控對象的插件通信參數(shù)。步驟S305,根據(jù)插件通信參數(shù)獲取監(jiān)控對象的監(jiān)測數(shù)據(jù)。步驟S306,根據(jù)插件配置監(jiān)控對象的插件解析參數(shù)。步驟S307,根據(jù)用戶輸入的控制指令、插件解析參數(shù)和插件通信參數(shù)對監(jiān)控對象進行控制以獲取控制結(jié)果。其中,插件解析參數(shù)包括數(shù)據(jù)的轉(zhuǎn)換方式等。
在本發(fā)明的一個實施例中,步驟S304和S306的執(zhí)行可以不分先后順序,步驟S305和S307的執(zhí)行可以不分先后順序。在本發(fā)明的一個實施例中,步驟S305是可選的。根據(jù)本發(fā)明實施例的監(jiān)控方法,通過建立插件并配置相應(yīng)的參數(shù)向監(jiān)控對象發(fā)送控制指令,將目前的用于控制的控件編程變?yōu)榕渲貌寮?shù),大大降低難度和工作量,維護成本低。圖4是本發(fā)明一個實施例的監(jiān)控方法的流程圖。如圖4所示,根據(jù)本發(fā)明實施例的監(jiān)控方法包括下述步驟。步驟S401,根據(jù)待監(jiān)控設(shè)備的屬性信息建立監(jiān)控對象模板。步驟S402,根據(jù)監(jiān)控對象模板建立監(jiān)控對象。步驟S403,根據(jù)監(jiān)控對象的通信協(xié)議建立插件。步驟S404,根據(jù)插件配置監(jiān)控對象的插件通信參數(shù)。步驟S405,根據(jù)插件通信參數(shù)獲取監(jiān)控對象的監(jiān)測數(shù)據(jù)。步驟S406,根據(jù)插件配置監(jiān)控對象的插件解析參數(shù)。步驟S407,根據(jù)用戶輸入的控制指令、插件解析參數(shù)和插件通信參數(shù)在線程池中添加控制線程。具體地,將用戶輸入的控制指令通過所配置的插件解析參數(shù)進行格式轉(zhuǎn)換以便于監(jiān)控對象識別。步驟S408,在線程池中運行控制線程以獲取控制結(jié)果。在本發(fā)明的一個實施例中,步驟S404和S406的執(zhí)行可以不分先后順序,步驟S405和S407的執(zhí)行不分先后順序在本發(fā)明的一個實施例中,步驟S405是可選的。根據(jù)本發(fā)明實施例的監(jiān)控方法,多個線程可以同時運行,提高數(shù)據(jù)處理能力。圖5是本發(fā)明一個實施例的監(jiān)控方法的流程圖。如圖5所示,根據(jù)本發(fā)明實施例的監(jiān)控方法包括下述步驟。步驟S501,根據(jù)待監(jiān)控設(shè)備的屬性信息建立監(jiān)控對象模板。步驟S502,判斷所要建立的監(jiān)控對象的屬性信息是否全部屬于監(jiān)控對象模板的屬性信息。步驟S503,如果所要建立的監(jiān)控對象的屬性信息全部屬于監(jiān)控對象模板的屬性信息,則根據(jù)監(jiān)控對象模板及其屬性信息建立所述監(jiān)控對象。步驟S504,如果所要建立的監(jiān)控對象的屬性信息未全部屬于監(jiān)控對象模板的屬性信息,則根據(jù)監(jiān)控對象模板和所要建立的監(jiān)控對象的屬性信息建立監(jiān)控對象。
具體地,首先將所要建立的監(jiān)控對象中未全部屬于監(jiān)控對象模板的屬性信息的屬性信息添加到監(jiān)控對象模板中以建立監(jiān)控對象子模板,監(jiān)控對象子模板繼承了監(jiān)控對象模板的屬性信息,其中還可以修改監(jiān)控對象子模板所繼承的屬性信息,然后根據(jù)監(jiān)控對象子模板建立監(jiān)控對象。步驟S505,根據(jù)監(jiān)控對象的通信協(xié)議建立插件。步驟S506,根據(jù)插件配置監(jiān)控對象的插件通信參數(shù)和插件解析參數(shù)。步驟S507,根據(jù)插件通信參數(shù)在線程池中添加監(jiān)測線程和/或根據(jù)控制指令、插件解析參數(shù)和插件通信參數(shù)在線程池中添加控制線程。步驟S508,在線程池中運行監(jiān)測線程以獲取監(jiān)測數(shù)據(jù)和/或在線程池中運行控制線程以獲取控制結(jié)果。 根據(jù)本發(fā)明實施例的監(jiān)控方法,通過監(jiān)控對象模板可以方便實現(xiàn)擴展。圖6是本發(fā)明一個實施例的監(jiān)控方法的流程圖。如圖6所示,根據(jù)本發(fā)明實施例的監(jiān)控方法包括下述步驟步驟S601,根據(jù)待監(jiān)控設(shè)備的屬性信息建立監(jiān)控對象模板。步驟S602,根據(jù)監(jiān)控對象模板建立監(jiān)控對象。步驟S603,根據(jù)監(jiān)控對象的通信協(xié)議建立插件。步驟S604,根據(jù)插件配置監(jiān)控對象的插件通信參數(shù)。步驟S605,獲取插件通信參數(shù)。步驟S606,判斷插件通信參數(shù)是否為空。步驟S607,如果插件通信參數(shù)不為空,則根據(jù)插件通信參數(shù)建立監(jiān)測線程,并在線程池中添加監(jiān)測線程。步驟S608,在線程池中運行監(jiān)測線程以獲取監(jiān)測數(shù)據(jù),繼續(xù)執(zhí)行步驟S610。步驟S609,如果插件通信參數(shù)為空,則等待預(yù)定時間,繼續(xù)執(zhí)行步驟S610。其中,預(yù)定時間可為100毫秒,也可以根據(jù)實際情況自行設(shè)置。步驟S610,判斷是否停止監(jiān)測。具體地,停止監(jiān)測可以為操作人員發(fā)送的停止監(jiān)測的指令,也可以為停止開關(guān)。其中,如果不停止檢測則返回步驟S605,否則停止監(jiān)測線程的建立、添加及運行。圖7是本發(fā)明一個實施例的監(jiān)控方法的流程圖。如圖7所示,根據(jù)本發(fā)明實施例的監(jiān)控方法包括下述步驟。步驟S701,根據(jù)待監(jiān)控設(shè)備的屬性信息建立監(jiān)控對象模板。步驟S702,根據(jù)監(jiān)控對象模板建立監(jiān)控對象。步驟S703,根據(jù)監(jiān)控對象的通信協(xié)議建立插件。步驟S704,根據(jù)插件配置監(jiān)控對象的插件通信參數(shù)和插件解析參數(shù)。步驟S705,獲取控制指令。步驟S706,判斷控制指令是否符合預(yù)設(shè)規(guī)則。其中,預(yù)設(shè)規(guī)則為預(yù)先設(shè)置的符合控制邏輯的規(guī)則,例如,如果溫度達到35°C,則不能關(guān)閉空調(diào)的制冷開關(guān);如果溫度為零下,則不能打開空調(diào)的制冷開關(guān)等。步驟S707,如果控制指令不符合預(yù)設(shè)規(guī)則,則進一步判斷是否是管理員發(fā)送的控制指令。例如,管理員可能在不符合規(guī)則的情況下強制關(guān)閉空調(diào)。
如果控制指令符合預(yù)設(shè)規(guī)則,則繼續(xù)執(zhí)行步驟S711。步驟S708,如果是管理員發(fā)送的控制指令,則判斷管理員輸入的密碼是否正確。步驟S709,如果不是管理員發(fā)送的控制指令,則返回控制指令不合規(guī)的提示信息。步驟S710,如果密碼錯誤,返回密碼錯誤的提示信息。如果密碼正確,繼續(xù)執(zhí)行步驟 S711。步驟S711,如果控制指令符合預(yù)設(shè)規(guī)則,則獲取插件解析參數(shù)和插件通信參數(shù),并進一步判斷插件解析參數(shù)和插件通信參數(shù)是否為空。步驟S712,如果為空,則返回未找到插件解析參數(shù)和插件通信參數(shù)的提示信息。
步驟S713,如果不為空,則根據(jù)控制指令、插件解析參數(shù)和插件通信參數(shù)建立控制線程,并在線程池中添加所述控制線程。步驟S714,在線程池中運行控制線程以獲取控制結(jié)果。圖8是本發(fā)明實施例的在線程池中添加監(jiān)測線程和/或控制線程的流程圖。如圖8所示,包括下述步驟。步驟S801,判斷監(jiān)測線程和/或控制線程是否具有令牌。步驟S802,如果不具有令牌,則為監(jiān)測線程和/或控制線程分配令牌,繼續(xù)執(zhí)行步驟 S803。步驟S803,如果具有令牌,則獲取令牌。步驟S804,判斷令牌是否為真。具體地,令牌可以為一個標示位,標示不能同時被兩個插件使用的資源,例如串口資源等。其中,令牌為真表示該令牌標示的資源可用,為假則表示該資源已用,其他插件需要等待該資源釋放。步驟S805,如果令牌為假,則獲取令牌對應(yīng)的等待線程組,并進一步判斷所要添加的線程是否為控制線程。步驟S806,如果是控制線程,則將控制線程添加到等待線程組中第一個監(jiān)測線程之前,并返回添加成功信息。步驟S807,如果不是控制線程,則判斷等待線程組是否已滿。步驟S808,如果等待線程組未滿,將監(jiān)測線程添加到等待線程組的尾部,并返回添加成功信息。步驟S809,如果等待線程組已滿,返回添加失敗信息。步驟S810,如果令牌為真,運行控制線程和/或控制線程。圖9是本發(fā)明實施例的根據(jù)插件通信參數(shù)運行監(jiān)測線程和/或控制線程對應(yīng)的插件的流程圖。如圖9所示,包括下述步驟。步驟S901,根據(jù)插件通信參數(shù)運行監(jiān)測線程和/或控制線程對應(yīng)的插件;步驟S902,判斷插件是否在預(yù)設(shè)時間內(nèi)返回運行結(jié)果。步驟S903,如果是,則根據(jù)插件解析參數(shù)解析監(jiān)測線程對應(yīng)的插件的返回值以獲取檢測數(shù)據(jù)和/或根據(jù)控制線程對應(yīng)的插件的返回值獲取控制結(jié)果。步驟S904,如果否,則停止插件執(zhí)行,并返回延時錯誤的提示信息。步驟S905,歸還插件的運行令牌。具體地,當歸還令牌之后,表示該令牌標示的資源被釋放,等待該資源的線程(等待線程組中)的其中之一被激活運行,如果沒有該資源的線程則把該令牌置為真,表示該資源已被釋放。 在本發(fā)明的一個實施例中,通信協(xié)議包括modbus協(xié)議、電總協(xié)議等。下面舉一個具體的例子說明本發(fā)明實施例的監(jiān)控方法。通過具體示例的描述,本發(fā)明的方面和優(yōu)點將變得更加明顯。例如,監(jiān)控對象空調(diào)A的通訊協(xié)議為編碼方式為ascii碼,發(fā)送 11$可獲得空調(diào)A的設(shè)置溫度、送風(fēng)溫度和回風(fēng)溫度,返回數(shù)據(jù)格式為"lxxxyyyzzz$ (xxx、yyy、zzz依次為設(shè)置溫度、送風(fēng)溫度和回風(fēng)溫度的十倍,例如 1234210250$表示設(shè)置溫度為23. 4度、送風(fēng)溫度為21度、回風(fēng)溫度為25度),設(shè)置空調(diào)A溫度的指令是 2XXX$ (XXX為設(shè)備溫度的10陪,返回數(shù)據(jù)為 21$為設(shè)置成功,放回 22$為設(shè)置異常),然后根據(jù)這些通信協(xié)議編寫插件,配置插件通信參數(shù)以打開通訊接口。如果需要獲得監(jiān)測數(shù)據(jù),則根據(jù)插件通 信參數(shù)在線程池中添加監(jiān)測線程,該監(jiān)測線程以ascii方式發(fā)送 11$數(shù)據(jù)即7e3131244,空調(diào)A可以獲得該監(jiān)測線程返回值7e3132333432313032353024,插件使用ascii解碼將7e3132333432313032353024 解碼為 1234210250$,由此得到監(jiān)控數(shù)據(jù) 234,210,250。如果需要設(shè)置空調(diào)A的溫度,則根據(jù)插件解析參數(shù)將控制值例如24°C轉(zhuǎn)換為插件可以識別的參數(shù)例如變?yōu)?40,發(fā)送控制指令 2240$,插件根據(jù)插件通信參數(shù)打開通訊接口,以ascii方式發(fā)送 2240$數(shù)據(jù)即7e3232343024,空調(diào)A返回7e323124,插件將7e323124解析為 21$,通知控制操作成功信息。為了實現(xiàn)上述實施例,本發(fā)明另一方面還提出一種監(jiān)控裝置。下面結(jié)合說明書附圖描述本發(fā)明實施例的監(jiān)控裝置。圖10是本發(fā)明一個實施例的監(jiān)控裝置的結(jié)構(gòu)示意圖。如圖10所示,根據(jù)本發(fā)明實施例的監(jiān)控裝置包括第一建立模塊100、第二建立模塊200、第三建立模塊300、配置模塊400和獲取模塊500。具體地,第一建立模塊100用于根據(jù)待監(jiān)控設(shè)備的屬性信息建立監(jiān)控對象模板。具體地,首先對待監(jiān)控設(shè)備的屬性信息進行分析,例如,數(shù)據(jù)中心中包括多個待監(jiān)控的服務(wù)器,其中CPU使用率、CPU溫度等屬性信息是需要監(jiān)測的,服務(wù)器的型號、功率等屬性信息是不需要監(jiān)測的,由此根據(jù)服務(wù)器的CPU使用率、CPU溫度等屬性信息建立服務(wù)器的監(jiān)控對象模板,又如,數(shù)據(jù)中心還包括多個待監(jiān)控的空調(diào),其中空調(diào)的設(shè)置溫度、送風(fēng)溫度和回風(fēng)溫度等屬性信息是需要監(jiān)測的,空調(diào)的型號、功率等屬性信息是不需要監(jiān)測的,由此根據(jù)空調(diào)的設(shè)置溫度、送風(fēng)溫度和回風(fēng)溫度等屬性信息建立空調(diào)的監(jiān)控對象模板。所建立的監(jiān)控對象模板包括了一類待監(jiān)控設(shè)備的共有屬性信息。第二建立模塊200用于根據(jù)監(jiān)控對象模板建立監(jiān)控對象。具體地,監(jiān)控對象模板是根據(jù)待監(jiān)控設(shè)備抽象出來的,根據(jù)監(jiān)控對象模板可以方便地建立監(jiān)控對象,其中監(jiān)控對象為某個待監(jiān)控設(shè)備的虛擬。例如,某個數(shù)據(jù)中心A中設(shè)置有多臺服務(wù)器,在建立服務(wù)器的監(jiān)控對象模塊之后,運維人員需要監(jiān)控數(shù)據(jù)中心A中的所有服務(wù)器,然后根據(jù)服務(wù)器的監(jiān)控對象模板可以快捷方便地建立數(shù)據(jù)中心A中的所有服務(wù)器的監(jiān)控對象。第三建立模塊300用于根據(jù)監(jiān)控對象的通信協(xié)議建立插件,每個監(jiān)控對象具有自己的通信協(xié)議,如果要控制監(jiān)控對象并獲取監(jiān)測數(shù)據(jù)就必須按照通信協(xié)議與監(jiān)控對象交換數(shù)據(jù),第三建立模塊300根據(jù)通信協(xié)議建立的插件以通過插件實現(xiàn)控制監(jiān)控對象并獲取監(jiān)測數(shù)據(jù),其中通訊協(xié)議一般規(guī)定了指令的編碼方式、啟始符和終止符、校驗方式、數(shù)據(jù)的解析方式等。配置模塊400用于根據(jù)插件配置監(jiān)控對象的插件通信參數(shù),其中,插件通信參數(shù)包括通信接口、通信速率等。通過配置的插件通信參數(shù)可以打開通訊接口便于數(shù)據(jù)交換。獲取模塊500用于根據(jù)插件通信參數(shù)獲取監(jiān)控對象的監(jiān)測數(shù)據(jù)。具體地,獲取模塊500通過插件通信參數(shù)調(diào)用對應(yīng)的插件,在運行的過程中通過插件通信參數(shù)與監(jiān)控對象進行數(shù)據(jù)交換以獲得監(jiān)測數(shù)據(jù)。 根據(jù)本發(fā)明實施例的監(jiān)控裝置,一方面通過第一建立模塊對待監(jiān)控設(shè)備的屬性信息進行分析抽象出監(jiān)控對象模板,根據(jù)監(jiān)控對象模塊可以方便快捷地建立一組具有相同屬性信息的監(jiān)控對象,方便管理,且容易實現(xiàn)擴展,另一方面通過第二建立模塊建立插件并根據(jù)配置模塊配置插件的參數(shù)以獲取監(jiān)測數(shù)據(jù),將目前的獲取數(shù)據(jù)的控件編程變?yōu)榕渲貌寮?shù),大大降低難度和工作量,維護成本低。在本發(fā)明的一個實施例中,獲取模塊包括添加子模塊和運行子模塊。其中,添加子模塊用于根據(jù)插件通信參數(shù)在線程池中添加監(jiān)測線程,運行子模塊用于在線程池中運行監(jiān)測線程以獲取所述監(jiān)測數(shù)據(jù)。在本發(fā)明的一個實施例中,配置模塊400還用于根據(jù)插件配置監(jiān)控對象的插件解析參數(shù),其中插件解析參數(shù)包括數(shù)據(jù)的轉(zhuǎn)換方式等。其中,添加子模塊還用于根據(jù)用戶輸入的控制指令、插件解析參數(shù)和插件通信參數(shù)在線程池中添加控制線程,其中,將用戶輸入的控制指令通過所配置的插件解析參數(shù)進行格式轉(zhuǎn)換以便于監(jiān)控對象識別,運行子模塊還用于在線程池中運行控制線程以獲取控制結(jié)果。在本發(fā)明的一個實施例中,第一建立模塊100包括判斷模塊和建立單元(圖中未示出)。具體地,判斷單元用于判斷所要建立的監(jiān)控對象的屬性信息是否全部屬于監(jiān)控對象模板的屬性信息。建立單元用于在所要建立的監(jiān)控對象的屬性信息全部屬于監(jiān)控對象模板的屬性信息時,根據(jù)監(jiān)控對象模板及其屬性信息建立監(jiān)控對象,以及在所要建立的監(jiān)控對象的屬性信息未全部屬于監(jiān)控對象模板的屬性信息時,根據(jù)監(jiān)控對象模板和所要建立的監(jiān)控對象的屬性信息建立監(jiān)控對象,其中,在所要建立的監(jiān)控對象的屬性信息全部屬于監(jiān)控對象模板的屬性信息時,首先將所要建立的監(jiān)控對象中未全部屬于監(jiān)控對象模板的屬性信息的屬性信息添加到監(jiān)控對象模板中以建立監(jiān)控對象子模板,然后根據(jù)監(jiān)控對象子模板(此時監(jiān)控對象子模板包括了所要建立的監(jiān)控對象的屬性信息)建立監(jiān)控對象。圖11是本發(fā)明一個實施例的添加子模塊的結(jié)構(gòu)示意圖。如圖11所示,根據(jù)本發(fā)明實施例的添加子模塊包括第一獲取單元510、第一判斷單元520、添加單元530、等待單元540和第二判斷單元550。具體地,第一獲取單元510用于獲取插件通信參數(shù)。第一判斷單元520用于判斷插件通信參數(shù)是否為空。添加單元530用于在插件通信參數(shù)不為空時,根據(jù)插件通信參數(shù)建立監(jiān)測線程,并在線程池中添加監(jiān)測線程。等待單元540用于在插件通信參數(shù)為空時,等待預(yù)定時間,其中,預(yù)定時間可為100毫秒,也可以根據(jù)實際情況自行設(shè)置。第二判斷單元550用于判斷是否停止監(jiān)測,停止監(jiān)測可以為操作人員發(fā)送的停止監(jiān)測的指令,也可以為停止開關(guān),如果不停止檢測則根據(jù)第一獲取單元510獲取插件通信參數(shù)以建立監(jiān)測線程,否 則停止監(jiān)測線程的建立、添加及運行。
圖12是本發(fā)明另一個實施例的添加子模塊的結(jié)構(gòu)示意圖。如圖12所示,根據(jù)本發(fā)明實施例的添加子模塊包括第一獲取單元510、第一判斷單元520、添加單元530、等待單元540、第二判斷單元550、第二獲取單元560、第三判斷單元570、第四判斷單元580、第一信息提示單元590、第五判斷單元5100、第二信息提示單元5110、第三獲取單元5120、第六判斷單元5130和第三信息提示單元5140。具體地,第二獲取單元560用于獲取控制指令。第三判斷單元570用于判斷控制指令是否符合預(yù)設(shè)規(guī)則,其中,預(yù)設(shè)規(guī)則為預(yù)先設(shè)置的符合控制邏輯的規(guī)則,例如,如果溫度達到35°C,則不能關(guān)閉空調(diào)的制冷開關(guān);如果溫度為零下,則不能打開空調(diào)的制冷開關(guān)等。第四判斷單元580用于在第三判斷單元570判斷控制指令不符合預(yù)設(shè)規(guī)則時,進一步判斷是否是管理員發(fā)送的控制指令,例如,管理員可能在不符合規(guī)則的情況下強制關(guān)閉空調(diào)。第 一信息提示單元590用于在第四判斷單元580判斷不是管理員輸入的控制指令時,返回控制指令不合規(guī)的提示信息。第五判斷單元5100用于在第四判斷單元580判斷是管理員輸入的控制指令時,進一步判斷管理員輸入的密碼是否正確。第二信息提示單元5110用于在第五判斷單元5100判斷密碼輸入不正確時,返回密碼錯誤的提示信息。第三獲取單元5120用于在第三判斷單元570判斷控制指令符合預(yù)設(shè)規(guī)則時,或者第五判斷單元5100判斷密碼正確時,獲取插件解析參數(shù)和插件通信參數(shù)。第六判斷單元5130用于進一步判斷插件解析參數(shù)和插件通信參數(shù)是否為空。第三信息提示單元5140用于在第六判斷單元5130判斷插件解析參數(shù)和插件通信參數(shù)為空時,返回未找到插件解析參數(shù)和插件通信參數(shù)的提示信息。其中添加單元530還用于在第六判斷單元5130判斷插件解析參數(shù)和插件通信參數(shù)不為空時,根據(jù)控制指令、插件解析參數(shù)和插件通信參數(shù)建立控制線程,并在線程池中添加控制線程。圖13是本發(fā)明實施例的添加單元530的結(jié)構(gòu)示意圖。如圖13所示,根據(jù)本發(fā)明實施例的添加單元530包括第一判斷子單元531、分配子單元532、第一獲取子單元533、第二判斷子單元534、第三判斷子單元535、第一添加子單元536、第四判斷子單元537和第二添加子單元538。具體地,第一判斷子單元531用于判斷監(jiān)測線程和/或所述控制線程是否具有令牌。分配子單元532用于在第一判斷子單元判斷531不具有所述令牌時,為監(jiān)測線程和/或控制線程分配令牌。第一獲取子單元533用于在第一判斷子單元531判斷監(jiān)測線程和/或控制線程具有令牌或者根據(jù)分配子單元532分配有令牌時,獲取令牌。第二判斷子單元534用于判斷令牌是否為空。第三判斷子單元535用于在第二判斷子單元534判斷令牌不為空時,獲取令牌對應(yīng)的等待線程組,并進一步判斷所要添加的線程是否為控制線程,其中運行模塊600還用于在第二判斷子單元534判斷令牌為空時,運行控制線程和/或控制線程。第一添加子單元536用于在第三判斷子單元535判斷所要添加的線程為控制線程時,將控制線程添加到等待線程組中第一個監(jiān)測線程之前,并返回添加成功信息。第四判斷子單元537用于在第三判斷子單元535判斷所要添加的線程不為控制線程時,判斷等待線程組是否已滿。第二添加子單元538用于在第四判斷子單元537判斷等待線程組未滿時將監(jiān)測線程添加到等待線程組的尾部,并返回添加成功信息,以及在等待線程組已滿時返回添加失敗息。圖14是本發(fā)明實施例的運行子模塊的結(jié)構(gòu)示意圖。如圖14所示,根據(jù)本發(fā)明實施例的運行子模塊包括運行單元610、判斷單元620、獲取單元630、停止單元640和令牌設(shè)置單兀650。具體地,運行單元610用于根據(jù)插件通信參數(shù)運行監(jiān)測線程和/或控制線程對應(yīng)的插件。判斷單元620用于判斷插件是否在預(yù)設(shè)時間內(nèi)返回運行結(jié)果。獲取單元630用于在判斷單元620判斷插件在預(yù)設(shè)時間內(nèi)返回運行結(jié)果時,根據(jù)插件解析參數(shù)解析檢測線程對應(yīng)的插件的返回值以獲得監(jiān)測數(shù)據(jù)和/或根據(jù)控制線程對應(yīng)的插件的返回值獲得控制結(jié)果。停止單元640用于在判斷單元620判斷插件在預(yù)設(shè)時間內(nèi)未返回運行結(jié)果時,停止插件執(zhí)行,并返回延時錯誤的提示信息。令牌設(shè)置單元650用于將所述令牌設(shè)置為假。在本發(fā)明的一個實施例中,通信協(xié)議包括modbus協(xié)議、電總協(xié)議等。在本說明書的描述中,參考術(shù)語“一個實施例”、“一些實施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特 點包含于本發(fā)明的至少一個實施例或示例中。在本說明書中,對上述術(shù)語的示意性表述不一定指的是相同的實施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點可以在任何的一個或多個實施例或示例中以合適的方式結(jié)合。盡管已經(jīng)示出和描述了本發(fā)明的實施例,本領(lǐng)域的普通技術(shù)人員可以理解在不脫離本發(fā)明的原理和宗旨的情況下可以對這些實施例進行多種變化、修改、替換和變型,本發(fā)明的范圍由權(quán)利要求及其等同物限定。
權(quán)利要求
1.一種監(jiān)控方法,其特征在于,包括以下步驟 a、根據(jù)待監(jiān)控設(shè)備的屬性信息建立監(jiān)控對象模板; b、根據(jù)所述監(jiān)控對象模板建立監(jiān)控對象; C、根據(jù)所述監(jiān)控對象的通信協(xié)議建立插件; d、根據(jù)所述插件配置所述監(jiān)控對象的插件通信參數(shù);以及 e、根據(jù)所述插件通信參數(shù)獲取所述監(jiān)控對象的監(jiān)測數(shù)據(jù)。
2.根據(jù)權(quán)利要求I所述的監(jiān)控方法,其特征在于,所述步驟e具體包括 el、根據(jù)所述插件通信參數(shù)在線程池中添加監(jiān)測線程;以及 e2、在所述線程池中運行所述監(jiān)測線程以獲取所述監(jiān)測數(shù)據(jù)。
3.根據(jù)權(quán)利要求I所述的監(jiān)控方法,其特征在于,還包括 f、根據(jù)所述插件配置所述監(jiān)控對象的插件解析參數(shù); g、根據(jù)用戶輸入的控制指令、所述插件解析參數(shù)和所述插件通信參數(shù)對所述監(jiān)控對象進行控制以獲取控制結(jié)果。
4.根據(jù)權(quán)利要求3所述的監(jiān)控方法,其特征在于,所述步驟g具體包括 gl、根據(jù)所述用戶輸入的控制指令、所述插件解析參數(shù)和所述插件通信參數(shù)在所述線程池中添加控制線程;以及 g2、在所述線程池中運行所述控制線程以獲取所述控制結(jié)果。
5.根據(jù)權(quán)利要求I所述的監(jiān)控方法,其特征在于,所述步驟a具體包括 判斷所要建立的監(jiān)控對象的屬性信息是否全部屬于所述監(jiān)控對象模板的屬性信息;如果所要建立的監(jiān)控對象的屬性信息全部屬于所述監(jiān)控對象模板的屬性信息,則根據(jù)所述監(jiān)控對象模板及其屬性信息建立所述監(jiān)控對象;以及 如果所要建立的監(jiān)控對象的屬性信息未全部屬于所述監(jiān)控對象模板的屬性信息,則根據(jù)所述監(jiān)控對象模板和所述所要建立的監(jiān)控對象的屬性信息建立所述監(jiān)控對象。
6.根據(jù)權(quán)利要求2所述的監(jiān)控方法,其特征在于,所述步驟el具體包括 dll、獲取所述插件通信參數(shù); dl2、判斷所述插件通信參數(shù)是否為空; dl3、如果不為空,則根據(jù)所述插件通信參數(shù)建立所述監(jiān)測線程,并在所述線程池中添加所述監(jiān)測線程,繼續(xù)執(zhí)行步驟dl5, dl4、如果為空,則等待預(yù)定時間,繼續(xù)執(zhí)行步驟dl5 ; dl5、判斷是否停止監(jiān)測;以及 dl6、如果否,則返回步驟dll。
7.根據(jù)權(quán)利要求4所述的監(jiān)控方法,其特征在于,所述步驟gl具體包括 d21、獲取所述控制指令; d22、判斷所述控制指令是否符合預(yù)設(shè)規(guī)則; d23、如果所述控制指令不符合所述預(yù)設(shè)規(guī)則,則進一步判斷是否是管理員發(fā)送的所述控制指令, 如果是,則判斷所述管理員輸入的密碼是否正確,并在所述密碼正確時繼續(xù)執(zhí)行步驟d24,在所述密碼錯誤時返回密碼錯誤的提示信息, 如果否,則返回所述控制指令不合規(guī)的提示信息;d24、如果所述控制指令符合所述預(yù)設(shè)規(guī)則,則獲取所述插件解析參數(shù)和所述插件通信參數(shù),并進一步判斷所述插件解析參數(shù)和所述插件通信參數(shù)是否為空; d25、如果為空,則返回未找到所述插件解析參數(shù)和所述插件通信參數(shù)的提示信息;d26、如果不為空,則根據(jù)所述控制指令、所述插件解析參數(shù)和所述插件通信參數(shù)建立所述控制線程,并在所述線程池中添加所述控制線程。
8.根據(jù)權(quán)利要求6或7所述的監(jiān)控方法,其特征在于,在所述線程池中添加所述監(jiān)測線程和/或所述控制線程的步驟包括 d31、判斷所述監(jiān)測線程和/或所述控制線程是否具有令牌; d32、如果不具有所述令牌,則為所述監(jiān)測線程和/或所述控制線程分配令牌,繼續(xù)執(zhí)行步驟d33 ; d33、如果具有所述令牌,則獲取所述令牌; d34、判斷所述令牌是否為真; d35、如果否,則獲取所述令牌對應(yīng)的等待線程組,并進一步判斷所要添加的線程是否為所述控制線程, 如果是,則將所述控制線程添加到所述等待線程組中第一個所述監(jiān)測線程之前,并返回添加成功信息, 如果否,則判斷所述等待線程組是否已滿,并在所述等待線程組未滿時將所述監(jiān)測線程添加到所述等待線程組的尾部,并返回添加成功信息,在所述等待線程組已滿時返回添加失敗彳目息;以及 d36、如果是,將所述令牌置為假,運行所述控制線程和/或所述控制線程。
9.根據(jù)權(quán)利要求8所述的監(jiān)控方法,其特征在于,所述步驟e2和/或g2具體包括 根據(jù)所述插件通信參數(shù)運行所述監(jiān)測線程和/或所述控制線程對應(yīng)的插件; 判斷所述插件是否在預(yù)設(shè)時間內(nèi)返回運行結(jié)果; 如果是,則根據(jù)所述插件解析參數(shù)解析所述監(jiān)測線程對應(yīng)的所述插件的返回值以獲取所述檢測數(shù)據(jù)和/或根據(jù)所述控制線程對應(yīng)的所述插件的返回值獲取控制結(jié)果; 如果否,則停止所述插件執(zhí)行,并返回延時錯誤的提示信息;以及 歸還所述插件的運行令牌。
10.根據(jù)權(quán)利要求I所述的監(jiān)控方法,其特征在于,所述通信協(xié)議包括modbus協(xié)議、電總協(xié)議。
11.一種監(jiān)控裝置,其特征在于,包括 第一建立模塊,用于根據(jù)待監(jiān)控設(shè)備的屬性信息建立監(jiān)控對象模板; 第二建立模塊,用于根據(jù)所述監(jiān)控對象模板建立監(jiān)控對象; 第三建立模塊,用于根據(jù)所述監(jiān)控對象的通信協(xié)議建立插件; 配置模塊,用于根據(jù)所述插件配置所述監(jiān)控對象的插件通信參數(shù); 獲取模塊,用于根據(jù)所述插件通信參數(shù)獲取所述監(jiān)控對象的監(jiān)測數(shù)據(jù)。
12.根據(jù)權(quán)利要求11所述的監(jiān)控裝置,其特征在于,所述獲取模塊包括 添加子模塊,用于根據(jù)所述插件通信參數(shù)在線程池中添加監(jiān)測線程;以及 運行子模塊,用于在所述線程池中運行所述監(jiān)測線程以獲取所述監(jiān)測數(shù)據(jù)。
13.根據(jù)權(quán)利要求11或12所述的監(jiān)控裝置,其特征在于,所述配置模塊還用于根據(jù)所述插件配置所述監(jiān)控對象的插件解析參數(shù),其中,所述獲取模塊還用于根據(jù)用戶輸入的控制指令、所述插件解析參數(shù)和所述插件通信參數(shù)對所述監(jiān)控對象進行控制以獲取控制結(jié)果。
14.根據(jù)權(quán)利要求13所述的監(jiān)控裝置,其特征在于,所述添加子模塊還用于根據(jù)用戶輸入的控制指令、所述插件解析參數(shù)和所述插件通信參數(shù)在所述線程池中添加控制線程;所述運行子模塊還用于在所述線程池中運行所述控制線程以獲取控制結(jié)果。
15.根據(jù)權(quán)利要求11所述的監(jiān)控裝置,其特征在于,所述第一建立模塊包括 判斷單元,用于判斷所要建立的監(jiān)控對象的屬性信息是否全部屬于所述監(jiān)控對象模板的屬性信息; 建立單元,用于在所要建立的監(jiān)控對象的屬性信息全部屬于所述監(jiān)控對象模板的屬性信息時,根據(jù)所述監(jiān)控對象模板及其屬性信息建立所述監(jiān)控對象,以及在所要建立的監(jiān)控對象的屬性信息未全部屬于所述監(jiān)控對象模板的屬性信息時,根據(jù)所述監(jiān)控對象模板和所述所要建立的監(jiān)控對象的屬性信息建立所述監(jiān)控對象。
16.根據(jù)權(quán)利要求12所述的監(jiān)控裝置,其特征在于,所述添加子模塊包括 第一獲取單元,用于獲取所述插件通信參數(shù); 第一判斷單元,用于判斷所述插件通信參數(shù)是否為空; 添加單元,用于在所述插件通信參數(shù)不為空時,根據(jù)所述插件通信參數(shù)建立所述監(jiān)測線程,并在所述線程池中添加所述監(jiān)測線程; 等待單元,用于在所述插件通信參數(shù)為空時,等待預(yù)定時間;以及第二判斷單元,用于判斷是否停止監(jiān)測,其中,所述第一獲取單元還用于在所述第二判斷單元判斷不停止監(jiān)測時,獲取所述插件通信參數(shù)。
17.根據(jù)權(quán)利要求14所述的監(jiān)控裝置,其特征在于,所述添加子模塊還包括 第二獲取單元,用于獲取所述控制指令; 第三判斷單元,用于判斷所述控制指令是否符合預(yù)設(shè)規(guī)則; 第四判斷單元,用于在所述第三判斷單元判斷所述控制指令不符合所述預(yù)設(shè)規(guī)則時,進一步判斷是否是管理員發(fā)送的所述控制指令; 第一信息提示單元,用于在所述第四判斷單元判斷不是所述管理員輸入的所述控制指令時,返回所述控制指令不合規(guī)的提示信息; 第五判斷單元,用于在所述第四判斷單元判斷是所述管理員輸入的所述控制指令時,進一步判斷所述管理員輸入的密碼是否正確; 第二信息提示單元,用于在所述第五判斷單元判斷所述密碼輸入不正確時,返回密碼錯誤的提不彳目息; 第三獲取單元,用于在所述第三判斷單元判斷所述控制指令符合所述預(yù)設(shè)規(guī)則時,或者所述第五判斷單元判斷所述密碼正確時,獲取所述插件解析參數(shù)和所述插件通信參數(shù);第六判斷單元,用于進一步判斷所述插件解析參數(shù)和所述插件通信參數(shù)是否為空;第三信息提示單元,用于在所述第六判斷單元判斷所述插件解析參數(shù)和所述插件通信參數(shù)為空時,返回未找到所述插件解析參數(shù)和所述插件通信參數(shù)的提示信息;所述添加單元還用于在所述第六判斷單元判斷所述插件解析參數(shù)和所述插件通信參數(shù)不為空時,根據(jù)所述控制指令、所述插件解析參數(shù)和所述插件通信參數(shù)建立所述控制線程,并在所述線程池中添加所述控制線程。
18.根據(jù)權(quán)利要求16或17所述的監(jiān)控裝置,其特征在于,所述添加單元包括 第一判斷子單元,用于判斷所述監(jiān)測線程和/或所述控制線程是否具有令牌; 分配子單元,用于在所述第一判斷子單元判斷不具有所述令牌時,為所述監(jiān)測線程和/或所述控制線程分配所述令牌; 第一獲取子單元,用于在所述第一判斷子單元判斷所述監(jiān)測線程和/或所述控制線程具有所述令牌或者根據(jù)所述分配子單元分配有所述令牌時,獲取所述令牌; 第二判斷子單元,用于判斷所述令牌是否為空; 第三判斷子單元,用于在所述第二判斷子單元判斷所述令牌不為空時,獲取所述令牌對應(yīng)的等待線程組,并進一步判斷所要添加的線程是否為所述控制線程,其中所述運行模塊還用于在所述第二判斷子單元判斷所述令牌為空時,運行所述控制線程和/或所述控制線程; 第一添加子單元,用于在所述第三判斷子單元判斷所要添加的線程為所述控制線程時,將所述控制線程添加到所述等待線程組中第一個所述監(jiān)測線程之前,并返回添加成功信息; 第四判斷子單元,用于在所述第三判斷子單元判斷所要添加的線程不為所述控制線程時,判斷所述等待線程組是否已滿;以及 第二添加子單元,用于在所述第四判斷子單元判斷所述等待線程組未滿時將所述監(jiān)測線程添加到所述等待線程組的尾部,并返回添加成功信息,以及在所述等待線程組已滿時返回添加失敗信息。
19.根據(jù)權(quán)利要求18所述的監(jiān)控裝置,其特征在于,所述運行模塊包括 運行單元,用于根據(jù)所述插件通信參數(shù)運行所述監(jiān)測線程和/或所述控制線程對應(yīng)的插件; 判斷單元,用于判斷所述插件是否在預(yù)設(shè)時間內(nèi)返回運行結(jié)果; 獲取單元,用于在所述判斷單元判斷所述插件在所述預(yù)設(shè)時間內(nèi)返回運行結(jié)果時,根據(jù)所述插件解析參數(shù)解析所述檢測線程對應(yīng)的所述插件的返回值以獲取所述監(jiān)測數(shù)據(jù)和/或根據(jù)所述控制線程對應(yīng)的所述插件的返回值獲取控制結(jié)果; 停止單元,用于在所述判斷單元判斷所述插件在所述預(yù)設(shè)時間內(nèi)未返回運行結(jié)果時,停止所述插件執(zhí)行,并返回延時錯誤的提示信息;以及令牌設(shè)置單元,用于將所述令牌設(shè)置為假。
20.根據(jù)權(quán)利要求11所述的監(jiān)控裝置,其特征在于,所述通信協(xié)議包括modbus協(xié)議、電總協(xié)議。
全文摘要
本發(fā)明提出一種監(jiān)控方法和裝置。所述方法包括以下步驟根據(jù)待監(jiān)控設(shè)備的屬性信息建立監(jiān)控對象模板;根據(jù)監(jiān)控對象模板建立監(jiān)控對象;根據(jù)監(jiān)控對象的通信協(xié)議建立插件;根據(jù)插件配置監(jiān)控對象的插件通信參數(shù);以及根據(jù)插件通信參數(shù)獲取監(jiān)控對象的監(jiān)測數(shù)據(jù)。根據(jù)本發(fā)明的方法,一方面通過對待監(jiān)控設(shè)備的屬性信息進行分析抽象出監(jiān)控對象模板,根據(jù)監(jiān)控對象模塊可以方便快捷地建立一組具有相同屬性信息的監(jiān)控對象,方便管理,且容易實現(xiàn)擴展,另一方面通過建立插件并配置相應(yīng)的參數(shù)獲取監(jiān)測數(shù)據(jù),將目前的獲取數(shù)據(jù)的控件編程變?yōu)榕渲貌寮?shù),大大降低難度和工作量,維護成本低。
文檔編號H04L12/26GK102710467SQ201210224029
公開日2012年10月3日 申請日期2012年6月29日 優(yōu)先權(quán)日2012年6月29日
發(fā)明者孫正義 申請人:北京天地云箱科技有限公司