專利名稱:管理信息的動態訂閱方法和設備及其分發方法和系統的制作方法
技術領域:
本發明的各個實施方式一般地涉及發布/訂閱機制在諸如物聯網中的應用,更具體地涉及ー種用于動態訂閱管理信息的方法和設備及ー種用于分發管理信息的方法和系統。
背景技術:
物聯網(IOT)是ー種融合了傳感器、計算機、通信網絡和半導體技術而實現的物與物之間的互聯通信網絡,其可以廣泛應用于各種監測、監控領域,諸如智能電網、物流、自 然資源監控/管理、智能城市等。出于說明性的目的,在圖I中示出了現有技術的IOT的示例性系統架構。如圖I所示,IOT 100—般包括三層,即感知層110、網絡層120和應用層130。感知層110設計用于實現對物體的檢測,監控和感知,且通常包括各種感知器111、112、114,諸如傳感器、攝像頭、射頻標簽等,也包括執行器113、115,諸如開關,閘門等,并且其中一些設備也可能同時具有感知器和執行器的功能。位于感知層110的設備通過傳感器網絡116、117經由例如網絡層120中的接入設備121、122而接入廣域網123,以便將感知信息通過廣域網123進行傳輸。感知信息通過廣域網123經由應用網關124而被傳輸到應用層130。應用層130中可以包括若干應用131、132、133、134,用于對經由網絡層傳送的感知信息進行存儲、挖掘、處理和應用。應用層130中的應用131、132、133、134也可以基于這些信息向感知層中的執行器提供管理信息,以執行各種管理功能。在IOT系統中,可以采用基于主題的發布/訂閱機制。發布/訂閱是一種面向消息的消息范式,其用于實現多對多通信,且能夠實現消息發布者與消息接收者之間的解耦合。出于說明的目的,在圖2中示意性地示出了發布/訂閱機制的原理性架構。在圖2中,通過菱形、圓形、三角形、米字形等各種不同的符號來表示不同消息類別的應用節點。如圖2所示,在這些應用節點之間設置有中間節點210。一方面,作為消息發布者的應用將自己需要發布的消息標明發布主題直接發布到中間節點210,而不考慮誰是消息的接收者。另一方面,作為消息接收者的應用基于主題向中間節點210訂閱自己需要類別的消息,而不考慮誰是消息的發布者。這樣,在中間節點210接收到消息吋,將基于訂閱關系把消息推送給已訂閱該消息類別的ー個或多個應用。因此,利用該發布/訂閱機制,可以實現發布者與訂閱者之間的解耦合或者松散耦合,這可以允許更好的可縮放性和更為動態的網絡拓撲。此外,在該系統架構中,中間節點210例如可以通過消息中間件來實現,諸如國際商業機器公司的 WebSphereMessage Broker,微軟公司的 SQL-Server、以及開源的 AcitiveMQ、Mosquitto
坐寸o然而,已經發現在將發布/訂閱機制應用至IOT系統中時存在ー些問題。如前所述,在IOT系統中感知層包括有執行器。上層應用通常需要針對特定一個或者多個執行器發送ー些管理信息,以便對執行器執行相應的管理操作。然而,這些執行器通常只是ー些普通的執行設備,諸如開關、閘門等,其智能性通常較低,因此其不能適應于通常每個應用都具有基本同等智能性的發布/訂閱機制。另ー方面,這些執行器只是ー些簡單的執行設備,將其設計為具有較高的智能性通常也不太現實,因為這會顯著增加系統成本。因而,在下行管理信息分發時,這樣的執行器不能基于發布/訂閱機制來獲取相應的管理信息。在現有技術中,為了解決這ー問題,為下行鏈路設計了專用的管理通道,其中與傳統的信息傳輸技術一祥,上層應用仍然需要知道各個執行器的地址,以便將管理信息分發給相應的執行器。因此,在現有的IOT中,實際上存在兩套信息傳輸機制,即用于上行信息傳輸的發布/訂閱機制,和用于下行管理信息分發的傳統信息傳輸機制。因而,僅上行信息傳輸能有利地利用發布/訂閱機制,而下行管理信息傳輸不能如上行信息傳輸那樣實現消息發布者和接收者之間的解耦合。另外,這兩種機制的存在還帶來了成本、管理、維護等方面的若干問題
發明內容
因此,有必要提供ー種用于改進下行管理信息傳輸的技術方案,以便克服或者至少部分消除現有技術中存在的缺陷。在本發明的一個實施方式中,提供了ー種用于動態訂閱管理信息的方法。該方法包括對發布的管理信息進行解析,以確定管理對象信息;創建并發布與該管理對象信息關聯的管理主題的參與召集通知;根據該管理對象信息以及預先建立的設備屬性信息,來確定該管理主題的參與者;以及為參與者訂閱該管理主題。在本發明的另ー實施方式中,為參與者訂閱該管理主題包括訂閱管理主題;以及指定與參與者相關的尋址機制。在本發明的又ー實施方式中,該方法還包括將該管理信息轉換成可為參與者所支持的管理指令。在本發明的另ー實施方式中,該方法還包括將管理指令發布至該管理主題。在本發明的另ー實施方式中,提供了ー種用于分發管理信息的方法。該方法包括根據前述實施方式中用于訂閱管理信息的方法中的步驟;以及基于該訂閱向所確定的參加者分發管理信息。在本發明的再ー實施方式中,提供了ー種用于動態訂閱管理信息的設備。該設備包括管理信息解析裝置,配置用于對發布的管理信息進行解析,以確定管理對象信息;參與召集發布裝置,配置用于創建并發布與該管理對象信息關聯的管理主題的參與召集通知;參與者確定裝置,配置用于根據該管理對象信息以及預先建立的設備屬性信息,來確定該管理主題的參與者;以及管理主題訂閱裝置,配置用于為參與者訂閱該管理主題。在本發明的又ー實施方式中,提供了ー種用于分發管理信息的系統。該系統包括根據前述實施方式中用于訂閱管理信息的設備;以及消息中間件,配置用于基于訂閱向所確定的參加者分發管理信息。在本發明的另ー實施方式中,提供了一種計算機程序產品。該計算機程序產品上置有計算機程序代碼,當該計算機程序代碼在一臺設備上運行吋,能夠使該設備執行前述實施方式中的用于訂閱管理信息的方法的步驟。在本發明的再ー實施方式中,提供了一種計算機程序產品。該計算機程序產品上置有計算機程序代碼,當該計算機程序代碼在一臺設備上運行吋,能夠使該設備執行前述實施方式中的用于分發管理信息的方法的步驟。根據本發明,可以動態地確定管理主題以及與該管理主題相關的參與者,并可以為所確定的參與者訂閱該管理主題。由此,可以使得在被管理設備與管理設備的智能性不對等(即,被管理設備具有較低的智能性或者不具有智能性)的情況下,也可以在分發管理信息時充分地利用發布/訂閱機制,實現信息發布者與信息接收者之間的解耦合或松耦合。這樣就可以避免附加管理通道的使用,進而顯著降低系統的復雜度和管理成本。
通過對結合附圖所示出的實施方式進行詳細說明,本發明的上述以及其他特征將 更加明顯,本發明附圖中相同的標號表示相同或相似的部件。在附圖中圖I示意性地示出了 IOT的系統架構;圖2示意性地示出了發布/訂閱機制的原理性架構;圖3示意性地示出了根據本發明的實施方式用于動態訂閱管理信息的方法的流程圖;圖4示意性地示出了根據本發明的ー個示例性應用場景;圖5示出了根據本發明的一個實施方式用于發布管理信息的方法的數據流圖;圖6A示出了根據本發明的一個實施方式用于動態訂閱管理信息的設備的方框圖;圖6B示出了根據本發明的另ー實施方式用于動態訂閱管理信息的設備的方框圖;圖7示出了根據本發明的一個實施方式用于發布管理信息的系統的方框圖,該系統包括本發明提供的用于訂閱管理信息的設備;以及圖8示意性地示出了可以實現根據本發明的實施方式的計算機設備的結構方框圖。
具體實施例方式在下文中,將參考附圖通過實施方式本發明提供的用于動態訂閱管理信息的方法、設備和以及用于分發管理信息的方法和系統進行詳細的描述。附圖中的流程圖和框圖,圖示了按照本發明各種實施例的系統、方法和計算機程序產品的可能實現的體系架構、功能和操作。在這點上,流程圖或框圖中的每個方框可以代表一個模塊、程序段、或代碼的ー部分,所述模塊、程序段、或代碼的一部分包含一個或多個用于實現規定的邏輯功能的可執行指令。也應當注意,在有些作為替換的實現中,方框中所標注的功能也可以以不同于附圖中所標注的順序發生。例如,兩個接連地表示的方框實際上可以基本并行地執行,它們有時也可以按相反的順序執行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執行規定的功能或操作的專用的基于硬件的系統來實現,或者可以用專用硬件與計算機指令的組合來實現。接下來,將首先參考圖3,其示意性地示出了根據本發明的一個實施方式用于訂閱管理信息的方法的流程圖。如圖3所示,首先在步驟S301,對發布的管理信息進行解析,以確定管理對象信息。
在上層的應用通過應用服務器將管理信息發布至消息中間件時,可以獲取該管理信息并對發布的管理信息進行解析,以得到與該管理信息相關的管理對象信息。通常,在發布的管理信息中包括有管理操作和管理對象信息,以指明對哪些對象(或者在那些范圍內)進行哪些管理操作。因此,例如通過按照預定的管理信息格式或者任何其他適合的方式,對管理信息進行解析,可以提取該管理信息的管理操作和管理對象等信息。與該步驟對應的操作可以作為消息中間件的操作的一部分在消息中間件中執行。然而,出于對系統的已有消息中間件的兼容性的考慮,該步驟的操作優選地獨立于消息中間件而執行。在這樣的情況下,需要預先訂閱或者缺省訂閱管理信息類別,以便消息中間件基于該訂閱將上層應用所發布的管理信息推送給執行與該步驟對應的操作的組件。因此,對應地,該方法可以包括接收管理信息以便對其進行解析的操作。接著,在步驟S302,可以發布與該管理對象信息相關的管理主題的參與召集通知。該管理主題可以基于例如該管理動作和管理對象而形成,例如“控制ニ樓空調”,其中“控制”指示管理動作或者管理動作類型,而“ニ樓空調”指示管理対象。然而,需要說明的是, 該管理動作并非是必須的。實際上,在確定管理主題時,也可以依據固定或者缺省的管理動作或管理動作類型,例如可以基于前述的管理對象“ニ樓空調”,將管理主題直接確定為“管理ニ樓空調”或者“操作ニ樓空調”。另外,也可以根據應用需要,解析出其他更多的附加信
o另外,需要說明的是,該管理主題的命名本身也可以與管理對象和管理動作不相關,而是在管理主題與管理對象信息之間建立隱式的關聯關系。例如,管理主題可以命名為“M1234”而其與“ニ樓空調”相關聯。然而,基于管理對象信息來生成管理主題是優選的,因為這更為直觀,其實現也較為簡単。接著,如圖3所示,可以在步驟S303,根據管理對象信息和設備屬性信息,來確定該管理主題的參與者。可以在消息中間件所在位置處,或者在可與之數據通信的任何適當位置處,存儲有預先建立的設備屬性信息。該設備屬性信息包括該系統中的設備的屬性相關信息,諸如設備標識、設備類型、安裝位置、相關應用等,并且可以數據庫、數據表或者配置文件中若干形式來存儲。另外,備選地,也可以針對各種設備類型建立相應的設備屬性信息。因此,基于這樣的設備屬性信息以及在步驟S301所確定管理對象信息,通過檢索、查詢等類似手段,就可以確定與該管理主題相關的參與者,即需要被管理的各個設備。確定參與者所需的管理對象信息可以通過若干方式來獲取。例如,可以通過直接通信的方式,或者通過發布/訂閱機制來獲取管理對象信息。另外,鑒于步驟S301和步驟S302的操作可以在相同的環境中實現,因此考慮到系統資源節約,優選地通過在兩者之間直接通信的方式來傳遞該管理對象信息和管理主題等。需要說明的是,在本文中為了表述更加準確起見,使用了術語“管理對象”、“參與者”、“被管理(的)設備。”特別地,針對管理指令使用了術語“管理對象”,其是管理指令中所指出的對象,諸如“ニ樓空調”;針對管理主題的參與召集使用了術語“參與者”,其表示要參與到管理主題的參與召集中的具體設備,這是通過管理對象信息和設備屬性信息而確定的,諸如設備ID為3、4和6的空調;而在其他一般上下文中,使用了術語“被管理(的)設備,”實際上,所確定的參與者就是需要被管理的具體設備。
此外,與步驟S301類似,與步驟S303對應的操作件可以作為消息中間件的操作的一部分而在消息中間件中執行。但是出于對已有消息中間件的兼容性的考慮,優選獨立于該消息中間件來執行。與步驟S301和步驟S303對應的操作可以在相同的組件中執行,也可以基于功能性的不同,而由兩個獨立的組件來執行步驟S301和步驟S303對應的操作。接著,可以在步驟S304,為所確定的參與者訂閱所述管理主題。在確定了該管理主題的參與者之后,可以代替這些參與者向消息中間件來訂閱該管理主題,從而使得消息中間件可以將涉及這些管理主題的管理信息推送給相應的參與者。該訂閱可以包括訂閱管理主題,以及注冊訂閱者的步驟,其中所述訂閱者是偽訂閱者,這是因為訂閱者被指定為與參與者相關的尋址機制。各個設備的訂閱機制可以預先存儲在設備屬性信息中,這樣可以從設備屬性信息中來獲取相應參與者的尋址機制。然而,本發明并不局限于此,該尋址機制也可以單獨存儲在專用的尋址機制信息表中。另外,一般而言,管理信息中包括有相應的管理操作。本發明還可以優選地包括對管理信息進行轉換的步驟,以便將管理信息轉換成能為被管理的設備所理解(即該設備所支持的)的管理指令。這個可以例如通過轉換表來實現。隨后,可以將轉換得到的管理指 定發布到對應的管理主題上。這樣,消息中間件就可以基于訂閱,將基于各個參與者的尋址機制將相應的命令分發至各個參與者。 在根據本發明的實施方式中,管理信息可以是管理命令,控制命令或者配置命令其中一種或者多種。其中管理命令例如包括與設備相關的失效管理、備份管理、更新管理等,控制命令例如包括對設備的操作、運行狀態的控制,配置命令例如包括對設備的各種參數的設定、更改等。通過上面給出的實施方式,可以動態地確定管理主題以及與該管理主題相關的參與者,并可以為所確定的參與者訂閱該管理主題。由此,可以使得在被管理設備與管理設備的智能性不對等(即,被管理設備具有較低的智能性或者不具有智能性)的情況下,也可以在分發管理信息時充分地利用發布/訂閱機制,實現信息發布者與信息接收者之間的解耦合或松耦合。藉此可以避免附加管理通道的使用,進而顯著降低系統的復雜度和管理成本。在下文中,將參考一個示例性的應用場景和根據本發明的ー個優選實施方式的數據流圖來更加詳細的介紹本發明。如圖4所示,其示出了根據本發明的一個示例性應用場景。如圖4所示,應用服務器420是服務于特定應用的應用服務器。該應用配置用于對位于不同位置的被管理設備401進行管理。被管理設備401例如是空調,且位于ー個建筑物中的不同樓層,例如分別位于I層、2層和3層。該應用例如是“Smart_Building_Application”,其是IOT系統的應用層的眾多應用之一。圖5示出了根據本發明的優選實施方式用于分發管理信息的方法的數據流圖,其中包括用于訂閱管理信息的方法的步驟。在圖5所示的實施方式中,本發明的方法的各個操作步驟分別由獨立于消息中間件的兩個獨立組件傳感器/執行器(S/A)代理或者管理信息代理來執行。如圖5所示,首先在步驟S501,管理信息代理向消息中間件訂閱管理信息類別的信息。然而,如在上文中已經描述的那樣,也可以設置為默認管理信息代理已訂閱管理信息類別的消息。
接著如果上層應用Smart_Building_Application基于感知信息發現ニ樓的溫度已經達到預定的值,確定要關閉ニ樓的空調,則在步驟S502通過應用服務器來向消息中間件發布管理信息,以便控制ニ樓空調關閉。出于說明的目的,在下面給出了管理消息的示例。管理消息的示例: Topic Management// 主題管理信息Topic_Content // 主題內容Action Shutdown// 動作關閉Device Air_Condition // 設備空調Floor: 2//樓層2Scope ALL// 范圍所有由于管理信息代理已經訂閱了管理信息類別,所以管理信息代理將會在S503接收由消息中間件基于訂閱關系而推送的管理信息。由于在應用層包括有若干應用,為了區分起見,推送給管理信息代理的管理信息可以附加地包括應用相關信息。然而,需要說明的是,這對于僅存在單個應用的情況下,或者不同的應用管理不同類型的設備的情況下,并不是必須的。分發給管理信息代理的管理信息例如可以表示如下管理信息代理接收的管理消息的示例:Topic Management // 主題管理信息Topic_Content // 主題內容Application :Smart_Building_Applicatoin // 應用智能建筑應用Action Shutdown// 動作關閉Device Air_Condition // 設備空調Floor :2//樓層2Scope ALL// 沮固所有管理信息代理接收到消息中間件推送給它的管理信息后,可以存儲該管理信息,并在可以步驟S504直接對該管理信息進行解析。例如,可以根據預定的管理信息格式,對其進行解析。例如可以基于Device標簽和Floor標簽來確定管理對象信息是位“floor 2”的“Air_Condition。”另外,在標簽“Device”后面的設備名為抽象名稱,無法解析出具體含義時,也可以根據關聯應用確定出設備類型,比如該應用是樓宇空調控制應用,則可以確定控制對象是空調。此外,也存在僅僅通過標簽“Device”后面的設備名不能識別出確切管理對象信息的情況,這時可以借助于Application來進ー步辨識。例如,如果相關應用只是管理該樓A座的空調,則管理對象應用是A座2樓空調。根據此處的教導,本領與技術人員完全可以通過對管理信息解析來確定針對不同應用所需的管理對象信息,因此此處不再贅述。接著,可以在步驟S505發布與該管理對象信息相關的管理主題的參與召集通知。如前所述管理主題的命名可以基于所述管理對象信息來確定,也可以與其無關,這均不會影響本發明的實質。管理主題參與召集通知可以示例性地表示如下發布的用于參與召集通知的管理主題的示例:Topic Air_Condition_Control // 主題空調控制
Topic_Content // 主題內容Application :Smart_Building_Applicatoin // 應用智能建筑應用Device Air_Condition // 設備空調Floor: 2//樓層2Scope ALL// 范圍所有負責樓宇控制的S/A代理可以在步驟S506通過直接通信方式從管理信息代理那里獲得管理對象信息和管理主題。當然,也可以通過發布/訂閱機制來獲取這些信息。獲取的管理對象信息例如可以表示如下DeviceAttributel DevcieType == Air_Condition DeviceAttribute2 Location ==2DeviceAttribute3 Assoc iated_App Ii cat ion == Smart_Bui lding此外,如前所示,可以在消息中間件所在位置處、在S/A代理可以訪問的位置處或者任何其他適當的位置,存儲有設備屬性表。為了說明起見,在下面給出了設備屬性表中空調配置表的ー個示例。蓋!空調配置表
權利要求
1.一種用于動態訂閱管理信息的方法,包括 對發布的管理信息進行解析,以確定管理對象信息; 創建并發布與所述管理對象信息關聯的管理主題的參與召集通知; 根據所述管理對象信息以及預先建立的設備屬性信息,來確定所述管理主題的參與者;以及 為所述參與者訂閱所述管理主題。
2.根據權利要求I所述的方法,其中為所述參與者訂閱所述管理主題包括 訂閱所述管理主題;以及 指定與所述參與者相關的尋址機制。
3.根據權利要求2所述的方法,其中與所述參與者相關的尋址機制從所述設備屬性信息中獲取。
4.根據權利要求I所述的方法,還包括 將所述管理信息轉換成可為參與者所支持的管理指令。
5.根據權利要求4所述的方法,還包括 將所述管理指令發布至所述管理主題。
6.根據權利要求I所述的方法,其中管理信息類別被預先訂閱或者缺省訂閱,并且所述方法還包括 接收所述管理信息,以便對其進行解析。
7.根據權利要求I所述的方法,其中所述管理信息包括針對特定設備的管理命令、控制命令和配置命令中的一種或多種。
8.根據權利要求I所述的方法,其中所述方法在物聯網系統中執行。
9.一種用于分發管理信息的方法,包括根據權利要求I至8任一項所述的用于訂閱管理信息的方法中的步驟;以及基于所述訂閱向所確定的參加者分發管理信息。
10.一種用于動態訂閱管理信息的設備,包括 管理信息解析裝置,配置用于對發布的管理信息進行解析,以確定管理對象信息; 參與召集發布裝置,配置用于創建并發布與所述管理對象信息關聯的管理主題的參與召集通知; 參與者確定裝置,配置用于根據所述管理對象信息以及預先建立的設備屬性信息,來確定所述管理主題的參與者;以及 管理主題訂閱裝置,配置用于為所述參與者訂閱所述管理主題。
11.根據權利要求10所述的設備,其中所述管理主題訂閱裝置進一步配置為 訂閱所述管理主題;以及 指定與所述參與者相關的尋址機制。
12.根據權利要求11所述的設備,其中與所述參與者相關的尋址機制從所述設備屬性信息中獲取。
13.根據權利要求10所述的設備,還包括 管理信息轉換裝置,配置用于將所述管理信息轉換成可為參與者所支持的管理指令。
14.根據權利要求13所述的設備,還包括 管理指令發布裝置,配置用于將所述管理指令發布至所述管理主題。
15.根據權利要求10所述的設備,其中管理信息類別被預先訂閱或者缺省訂閱,并且所述設備還包括 管理信息接收裝置,配置用于接收所述管理信息,以便對其進行解析。
16.根據權利要求10所述的設備,其中所述管理信息包括針對特定設備的管理命令、控制命令和配置命令中的一種或多種。
17.根據權利要求10所述的設備,其中所述設備在物聯網系統中操作。
18.一種用于分發管理信息的系統,包括根據權利要求10至17任一項所述的用于訂閱管理信息的設備;以及消息中間件,配置用于基于所述訂閱向所確定的參加者分發管理信息。
全文摘要
本發明公開一種用于動態訂閱管理信息的方法和設備及一種用于分發管理信息的方法和系統。該用于訂閱管理信息的方法包括對發布的管理信息進行解析,以確定管理對象信息;創建并發布與該管理對象信息關聯的管理主題的參與召集通知;根據該管理對象信息以及預先建立的設備屬性信息,來確定該管理主題的參與者;以及為參與者訂閱管理主題。根據本發明,可以動態地確定管理主題以及與該管理主題相關的參與者,并可以為參與者訂閱該管理主題。因而,可以使得在被管理設備與管理者的智能性不對等的情況下,在分發管理信息時充分地利用發布/訂閱機制,進而避免附加管理通道的創建與使用并顯著降低系統的復雜度和管理成本。
文檔編號H04L29/08GK102761581SQ201110116048
公開日2012年10月31日 申請日期2011年4月28日 優先權日2011年4月28日
發明者于琦, 章宇, 趙邑新, 鄒峘浩 申請人:國際商業機器公司