管理信息的动态订阅方法和设备及其分发方法和系统转让专利

申请号 : CN201110116048.5

文献号 : CN102761581B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 赵邑新邹峘浩章宇于琦

申请人 : 国际商业机器公司

摘要 :

本发明公开一种用于动态订阅管理信息的方法和设备及一种用于分发管理信息的方法和系统。该用于订阅管理信息的方法包括:对发布的管理信息进行解析,以确定管理对象信息;创建并发布与该管理对象信息关联的管理主题的参与召集通知;根据该管理对象信息以及预先建立的设备属性信息,来确定该管理主题的参与者;以及为参与者订阅管理主题。根据本发明,可以动态地确定管理主题以及与该管理主题相关的参与者,并可以为参与者订阅该管理主题。因而,可以使得在被管理设备与管理者的智能性不对等的情况下,在分发管理信息时充分地利用发布/订阅机制,进而避免附加管理通道的创建与使用并显著降低系统的复杂度和管理成本。

权利要求 :

1.一种用于动态订阅管理信息的方法,包括:对发布的管理信息进行解析,以确定管理对象信息;

创建并发布与所述管理对象信息关联的管理主题的参与召集通知,该管理主题可以基于管理动作和管理对象而形成;

根据所述管理对象信息以及预先建立的设备属性信息,通过检索、查询手段中的至少一种,来确定所述管理主题的参与者,所述设备属性信息包括下列各项中的至少一种:设备标识、设备类型、安装位置、相关应用;以及为所述参与者订阅所述管理主题。

2.根据权利要求1所述的方法,其中为所述参与者订阅所述管理主题包括:订阅所述管理主题;以及

指定与所述参与者相关的寻址机制。

3.根据权利要求2所述的方法,其中与所述参与者相关的寻址机制从所述设备属性信息中获取。

4.根据权利要求1所述的方法,还包括:

将所述管理信息转换成可为参与者所支持的管理指令。

5.根据权利要求4所述的方法,还包括:

将所述管理指令发布至所述管理主题。

6.根据权利要求1所述的方法,其中管理信息类别被预先订阅或者缺省订阅,并且所述方法还包括:接收所述管理信息,以便对其进行解析。

7.根据权利要求1所述的方法,其中所述管理信息包括针对特定设备的管理命令、控制命令和配置命令中的一种或多种。

8.根据权利要求1所述的方法,其中所述方法在物联网系统中执行。

9.一种用于分发管理信息的方法,包括:根据权利要求1至8任一项所述的用于订阅管理信息的方法中的步骤;以及基于所述订阅向所确定的参加者分发管理信息。

10.一种用于动态订阅管理信息的设备,包括:管理信息解析装置,配置用于对发布的管理信息进行解析,以确定管理对象信息;

参与召集发布装置,配置用于创建并发布与所述管理对象信息关联的管理主题的参与召集通知,该管理主题可以基于管理动作和管理对象而形成;

参与者确定装置,配置用于根据所述管理对象信息以及预先建立的设备属性信息,通过检索、查询手段中的至少一种,来确定所述管理主题的参与者,所述设备属性信息包括下列各项中的至少一种:设备标识、设备类型、安装位置、相关应用;以及管理主题订阅装置,配置用于为所述参与者订阅所述管理主题。

11.根据权利要求10所述的设备,其中所述管理主题订阅装置进一步配置为:订阅所述管理主题;以及

指定与所述参与者相关的寻址机制。

12.根据权利要求11所述的设备,其中与所述参与者相关的寻址机制从所述设备属性信息中获取。

13.根据权利要求10所述的设备,还包括:管理信息转换装置,配置用于将所述管理信息转换成可为参与者所支持的管理指令。

14.根据权利要求13所述的设备,还包括:管理指令发布装置,配置用于将所述管理指令发布至所述管理主题。

15.根据权利要求10所述的设备,其中管理信息类别被预先订阅或者缺省订阅,并且所述设备还包括:管理信息接收装置,配置用于接收所述管理信息,以便对其进行解析。

16.根据权利要求10所述的设备,其中所述管理信息包括针对特定设备的管理命令、控制命令和配置命令中的一种或多种。

17.根据权利要求10所述的设备,其中所述设备在物联网系统中操作。

18.一种用于分发管理信息的系统,包括:根据权利要求10至17任一项所述的用于订阅管理信息的设备;以及消息中间件,配置用于基于所述订阅向所确定的参加者分发管理信息。

说明书 :

管理信息的动态订阅方法和设备及其分发方法和系统

技术领域

[0001] 本发明的各个实施方式一般地涉及发布/订阅机制在诸如物联网中的应用,更具体地涉及一种用于动态订阅管理信息的方法和设备及一种用于分发管理信息的方法和系统。

背景技术

[0002] 物联网(IOT)是一种融合了传感器、计算机、通信网络和半导体技术而实现的物与物之间的互联通信网络,其可以广泛应用于各种监测、监控领域,诸如智能电网、物流、自然资源监控/管理、智能城市等。
[0003] 出于说明性的目的,在图1中示出了现有技术的IOT的示例性系统架构。如图1所示,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也可以基于这些信息向感知层中的执行器提供管理信息,以执行各种管理功能。
[0004] 在IOT系统中,可以采用基于主题的发布/订阅机制。发布/订阅是一种面向消息的消息范式,其用于实现多对多通信,且能够实现消息发布者与消息接收者之间的解耦合。出于说明的目的,在图2中示意性地示出了发布/订阅机制的原理性架构。在图2中,通过菱形、圆形、三角形、米字形等各种不同的符号来表示不同消息类别的应用节点。如图2所示,在这些应用节点之间设置有中间节点210。一方面,作为消息发布者的应用将自己需要发布的消息标明发布主题直接发布到中间节点210,而不考虑谁是消息的接收者。另一方面,作为消息接收者的应用基于主题向中间节点210订阅自己需要类别的消息,而不考虑谁是消息的发布者。这样,在中间节点210接收到消息时,将基于订阅关系把消息推送给已订阅该消息类别的一个或多个应用。因此,利用该发布/订阅机制,可以实现发布者与订阅者之间的解耦合或者松散耦合,这可以允许更好的可缩放性和更为动态的网络拓扑。此外,在该系统架构中,中间节点210例如可以通过消息中间件来实现,诸如国际商业机器公司的WebSphereMessage Broker,微软公司的SQL-Server、以及开源的AcitiveMQ、Mosquitto等。
[0005] 然而,已经发现在将发布/订阅机制应用至IOT系统中时存在一些问题。如前所述,在IOT系统中感知层包括有执行器。上层应用通常需要针对特定一个或者多个执行器发送一些管理信息,以便对执行器执行相应的管理操作。然而,这些执行器通常只是一些普通的执行设备,诸如开关、闸门等,其智能性通常较低,因此其不能适应于通常每个应用都具有基本同等智能性的发布/订阅机制。另一方面,这些执行器只是一些简单的执行设备,将其设计为具有较高的智能性通常也不太现实,因为这会显著增加系统成本。因而,在下行管理信息分发时,这样的执行器不能基于发布/订阅机制来获取相应的管理信息。
[0006] 在现有技术中,为了解决这一问题,为下行链路设计了专用的管理通道,其中与传统的信息传输技术一样,上层应用仍然需要知道各个执行器的地址,以便将管理信息分发给相应的执行器。因此,在现有的IOT中,实际上存在两套信息传输机制,即用于上行信息传输的发布/订阅机制,和用于下行管理信息分发的传统信息传输机制。因而,仅上行信息传输能有利地利用发布/订阅机制,而下行管理信息传输不能如上行信息传输那样实现消息发布者和接收者之间的解耦合。另外,这两种机制的存在还带来了成本、管理、维护等方面的若干问题。

发明内容

[0007] 因此,有必要提供一种用于改进下行管理信息传输的技术方案,以便克服或者至少部分消除现有技术中存在的缺陷。
[0008] 在本发明的一个实施方式中,提供了一种用于动态订阅管理信息的方法。该方法包括:对发布的管理信息进行解析,以确定管理对象信息;创建并发布与该管理对象信息关联的管理主题的参与召集通知;根据该管理对象信息以及预先建立的设备属性信息,来确定该管理主题的参与者;以及为参与者订阅该管理主题。
[0009] 在本发明的另一实施方式中,为参与者订阅该管理主题包括:订阅管理主题;以及指定与参与者相关的寻址机制。
[0010] 在本发明的又一实施方式中,该方法还包括:将该管理信息转换成可为参与者所支持的管理指令。
[0011] 在本发明的另一实施方式中,该方法还包括:将管理指令发布至该管理主题。
[0012] 在本发明的另一实施方式中,提供了一种用于分发管理信息的方法。该方法包括:根据前述实施方式中用于订阅管理信息的方法中的步骤;以及基于该订阅向所确定的参加者分发管理信息。
[0013] 在本发明的再一实施方式中,提供了一种用于动态订阅管理信息的设备。该设备包括:管理信息解析装置,配置用于对发布的管理信息进行解析,以确定管理对象信息;参与召集发布装置,配置用于创建并发布与该管理对象信息关联的管理主题的参与召集通知;参与者确定装置,配置用于根据该管理对象信息以及预先建立的设备属性信息,来确定该管理主题的参与者;以及管理主题订阅装置,配置用于为参与者订阅该管理主题。
[0014] 在本发明的又一实施方式中,提供了一种用于分发管理信息的系统。该系统包括:根据前述实施方式中用于订阅管理信息的设备;以及消息中间件,配置用于基于订阅向所确定的参加者分发管理信息。
[0015] 在本发明的另一实施方式中,提供了一种计算机程序产品。该计算机程序产品上置有计算机程序代码,当该计算机程序代码在一台设备上运行时,能够使该设备执行前述实施方式中的用于订阅管理信息的方法的步骤。
[0016] 在本发明的再一实施方式中,提供了一种计算机程序产品。该计算机程序产品上置有计算机程序代码,当该计算机程序代码在一台设备上运行时,能够使该设备执行前述实施方式中的用于分发管理信息的方法的步骤。
[0017] 根据本发明,可以动态地确定管理主题以及与该管理主题相关的参与者,并可以为所确定的参与者订阅该管理主题。由此,可以使得在被管理设备与管理设备的智能性不对等(即,被管理设备具有较低的智能性或者不具有智能性)的情况下,也可以在分发管理信息时充分地利用发布/订阅机制,实现信息发布者与信息接收者之间的解耦合或松耦合。这样就可以避免附加管理通道的使用,进而显著降低系统的复杂度和管理成本。

附图说明

[0018] 通过对结合附图所示出的实施方式进行详细说明,本发明的上述以及其他特征将更加明显,本发明附图中相同的标号表示相同或相似的部件。在附图中:
[0019] 图1示意性地示出了IOT的系统架构;
[0020] 图2示意性地示出了发布/订阅机制的原理性架构;
[0021] 图3示意性地示出了根据本发明的实施方式用于动态订阅管理信息的方法的流程图;
[0022] 图4示意性地示出了根据本发明的一个示例性应用场景;
[0023] 图5示出了根据本发明的一个实施方式用于发布管理信息的方法的数据流图;
[0024] 图6A示出了根据本发明的一个实施方式用于动态订阅管理信息的设备的方框图;
[0025] 图6B示出了根据本发明的另一实施方式用于动态订阅管理信息的设备的方框图;
[0026] 图7示出了根据本发明的一个实施方式用于发布管理信息的系统的方框图,该系统包括本发明提供的用于订阅管理信息的设备;以及
[0027] 图8示意性地示出了可以实现根据本发明的实施方式的计算机设备的结构方框图。

具体实施方式

[0028] 在下文中,将参考附图通过实施方式本发明提供的用于动态订阅管理信息的方法、设备和以及用于分发管理信息的方法和系统进行详细的描述。附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0029] 接下来,将首先参考图3,其示意性地示出了根据本发明的一个实施方式用于订阅管理信息的方法的流程图。如图3所示,首先在步骤S301,对发布的管理信息进行解析,以确定管理对象信息。
[0030] 在上层的应用通过应用服务器将管理信息发布至消息中间件时,可以获取该管理信息并对发布的管理信息进行解析,以得到与该管理信息相关的管理对象信息。通常,在发布的管理信息中包括有管理操作和管理对象信息,以指明对哪些对象(或者在那些范围内)进行哪些管理操作。因此,例如通过按照预定的管理信息格式或者任何其他适合的方式,对管理信息进行解析,可以提取该管理信息的管理操作和管理对象等信息。
[0031] 与该步骤对应的操作可以作为消息中间件的操作的一部分在消息中间件中执行。然而,出于对系统的已有消息中间件的兼容性的考虑,该步骤的操作优选地独立于消息中间件而执行。在这样的情况下,需要预先订阅或者缺省订阅管理信息类别,以便消息中间件基于该订阅将上层应用所发布的管理信息推送给执行与该步骤对应的操作的组件。因此,对应地,该方法可以包括接收管理信息以便对其进行解析的操作。
[0032] 接着,在步骤S302,可以发布与该管理对象信息相关的管理主题的参与召集通知。该管理主题可以基于例如该管理动作和管理对象而形成,例如“控制二楼空调”,其中“控制”指示管理动作或者管理动作类型,而“二楼空调”指示管理对象。然而,需要说明的是,该管理动作并非是必须的。实际上,在确定管理主题时,也可以依据固定或者缺省的管理动作或管理动作类型,例如可以基于前述的管理对象“二楼空调”,将管理主题直接确定为“管理二楼空调”或者“操作二楼空调”。另外,也可以根据应用需要,解析出其他更多的附加信息。
[0033] 另外,需要说明的是,该管理主题的命名本身也可以与管理对象和管理动作不相关,而是在管理主题与管理对象信息之间建立隐式的关联关系。例如,管理主题可以命名为“M1234”而其与“二楼空调”相关联。然而,基于管理对象信息来生成管理主题是优选的,因为这更为直观,其实现也较为简单。
[0034] 接着,如图3所示,可以在步骤S303,根据管理对象信息和设备属性信息,来确定该管理主题的参与者。
[0035] 可以在消息中间件所在位置处,或者在可与之数据通信的任何适当位置处,存储有预先建立的设备属性信息。该设备属性信息包括该系统中的设备的属性相关信息,诸如设备标识、设备类型、安装位置、相关应用等,并且可以数据库、数据表或者配置文件中若干形式来存储。另外,备选地,也可以针对各种设备类型建立相应的设备属性信息。因此,基于这样的设备属性信息以及在步骤S301所确定管理对象信息,通过检索、查询等类似手段,就可以确定与该管理主题相关的参与者,即需要被管理的各个设备。
[0036] 确定参与者所需的管理对象信息可以通过若干方式来获取。例如,可以通过直接通信的方式,或者通过发布/订阅机制来获取管理对象信息。另外,鉴于步骤S301和步骤S302的操作可以在相同的环境中实现,因此考虑到系统资源节约,优选地通过在两者之间直接通信的方式来传递该管理对象信息和管理主题等。
[0037] 需要说明的是,在本文中为了表述更加准确起见,使用了术语“管理对象”、“参与者”、“被管理(的)设备。”特别地,针对管理指令使用了术语“管理对象”,其是管理指令中所指出的对象,诸如“二楼空调”;针对管理主题的参与召集使用了术语“参与者”,其表示要参与到管理主题的参与召集中的具体设备,这是通过管理对象信息和设备属性信息而确定的,诸如设备ID为3、4和6的空调;而在其他一般上下文中,使用了术语“被管理(的)设备,”实际上,所确定的参与者就是需要被管理的具体设备。
[0038] 此外,与步骤S301类似,与步骤S303对应的操作件可以作为消息中间件的操作的一部分而在消息中间件中执行。但是出于对已有消息中间件的兼容性的考虑,优选独立于该消息中间件来执行。与步骤S301和步骤S303对应的操作可以在相同的组件中执行,也可以基于功能性的不同,而由两个独立的组件来执行步骤S301和步骤S303对应的操作。
[0039] 接着,可以在步骤S304,为所确定的参与者订阅所述管理主题。在确定了该管理主题的参与者之后,可以代替这些参与者向消息中间件来订阅该管理主题,从而使得消息中间件可以将涉及这些管理主题的管理信息推送给相应的参与者。该订阅可以包括订阅管理主题,以及注册订阅者的步骤,其中所述订阅者是伪订阅者,这是因为订阅者被指定为与参与者相关的寻址机制。各个设备的订阅机制可以预先存储在设备属性信息中,这样可以从设备属性信息中来获取相应参与者的寻址机制。然而,本发明并不局限于此,该寻址机制也可以单独存储在专用的寻址机制信息表中。
[0040] 另外,一般而言,管理信息中包括有相应的管理操作。本发明还可以优选地包括对管理信息进行转换的步骤,以便将管理信息转换成能为被管理的设备所理解(即该设备所支持的)的管理指令。这个可以例如通过转换表来实现。随后,可以将转换得到的管理指定发布到对应的管理主题上。这样,消息中间件就可以基于订阅,将基于各个参与者的寻址机制将相应的命令分发至各个参与者。
[0041] 在根据本发明的实施方式中,管理信息可以是管理命令,控制命令或者配置命令其中一种或者多种。其中管理命令例如包括与设备相关的失效管理、备份管理、更新管理等,控制命令例如包括对设备的操作、运行状态的控制,配置命令例如包括对设备的各种参数的设定、更改等。
[0042] 通过上面给出的实施方式,可以动态地确定管理主题以及与该管理主题相关的参与者,并可以为所确定的参与者订阅该管理主题。由此,可以使得在被管理设备与管理设备的智能性不对等(即,被管理设备具有较低的智能性或者不具有智能性)的情况下,也可以在分发管理信息时充分地利用发布/订阅机制,实现信息发布者与信息接收者之间的解耦合或松耦合。藉此可以避免附加管理通道的使用,进而显著降低系统的复杂度和管理成本。
[0043] 在下文中,将参考一个示例性的应用场景和根据本发明的一个优选实施方式的数据流图来更加详细的介绍本发明。
[0044] 如图4所示,其示出了根据本发明的一个示例性应用场景。如图4所示,应用服务器420是服务于特定应用的应用服务器。该应用配置用于对位于不同位置的被管理设备401进行管理。被管理设备401例如是空调,且位于一个建筑物中的不同楼层,例如分别位于1层、2层和3层。该应用例如是“Smart_Building_Application”,其是IOT系统的应用层的众多应用之一。
[0045] 图5示出了根据本发明的优选实施方式用于分发管理信息的方法的数据流图,其中包括用于订阅管理信息的方法的步骤。在图5所示的实施方式中,本发明的方法的各个操作步骤分别由独立于消息中间件的两个独立组件传感器/执行器(S/A)代理或者管理信息代理来执行。
[0046] 如图5所示,首先在步骤S501,管理信息代理向消息中间件订阅管理信息类别的信息。然而,如在上文中已经描述的那样,也可以设置为默认管理信息代理已订阅管理信息类别的消息。
[0047] 接着如果上层应用Smart_Building_Application基于感知信息发现二楼的温度已经达到预定的值,确定要关闭二楼的空调,则在步骤S502通过应用服务器来向消息中间件发布管理信息,以便控制二楼空调关闭。出于说明的目的,在下面给出了管理消息的示例。
[0048] 管理消息的示例:
[0049] Topic:Management//主题:管理信息
[0050] Topic_Content:        //主题内容:
[0051] Action:Shutdown       //动作:关闭
[0052] Device:Air_Condition  //设备:空调
[0053] Floor:2               //楼层:2
[0054] Scope:ALL             //范围:所有
[0055] 由于管理信息代理已经订阅了管理信息类别,所以管理信息代理将会在S503接收由消息中间件基于订阅关系而推送的管理信息。由于在应用层包括有若干应用,为了区分起见,推送给管理信息代理的管理信息可以附加地包括应用相关信息。然而,需要说明的是,这对于仅存在单个应用的情况下,或者不同的应用管理不同类型的设备的情况下,并不是必须的。分发给管理信息代理的管理信息例如可以表示如下:
[0056] 管理信息代理接收的管理消息的示例:
[0057] Topic:Management   //主题:管理信息
[0058] Topic_Content:      //主题内容:
[0059] Application:Smart_Building_Applicatoin //应用:智能建筑应用[0060] Action:Shutdown        //动作:关闭
[0061] Device:Air_Condition   //设备:空调
[0062] Floor:2                //楼层:2
[0063] Scope:ALL              //范围:所有
[0064] 管理信息代理接收到消息中间件推送给它的管理信息后,可以存储该管理信息,并在可以步骤S504直接对该管理信息进行解析。
[0065] 例如,可以根据预定的管理信息格式,对其进行解析。例如可以基于Device标签和Floor标签来确定管理对象信息是位“floor 2”的“Air_Condition。”另外,在标签“Device”后面的设备名为抽象名称,无法解析出具体含义时,也可以根据关联应用确定出设备类型,比如该应用是楼宇空调控制应用,则可以确定控制对象是空调。此外,也存在仅仅通过标签“Device”后面的设备名不能识别出确切管理对象信息的情况,这时可以借助于Application来进一步辨识。例如,如果相关应用只是管理该楼A座的空调,则管理对象应用是A座2楼空调。根据此处的教导,本领与技术人员完全可以通过对管理信息解析来确定针对不同应用所需的管理对象信息,因此此处不再赘述。
[0066] 接着,可以在步骤S505发布与该管理对象信息相关的管理主题的参与召集通知。如前所述管理主题的命名可以基于所述管理对象信息来确定,也可以与其无关,这均不会影响本发明的实质。管理主题参与召集通知可以示例性地表示如下:
[0067] 发布的用于参与召集通知的管理主题的示例:
[0068] Topic:Air_Condition_Control     //主题:空调控制
[0069] Topic_Content:                  //主题内容:
[0070] Application:Smart_Building_Applicatoin  //应用:智能建筑应用[0071] Device:Air_Condition   //设备:空调
[0072] Floor:2                //楼层:2
[0073] Scope:ALL              //范围:所有
[0074] 负责楼宇控制的S/A代理可以在步骤S506通过直接通信方式从管理信息代理那里获得管理对象信息和管理主题。当然,也可以通过发布/订阅机制来获取这些信息。获取的管理对象信息例如可以表示如下:
[0075] DeviceAttribute1:DevcieType==Air_Condition
[0076] DeviceAttribute2:Location==2
[0077] DeviceAttribute3:Associated_Application==Smart_Building
[0078] 此外,如前所示,可以在消息中间件所在位置处、在S/A代理可以访问的位置处或者任何其他适当的位置,存储有设备属性表。为了说明起见,在下面给出了设备属性表中空调配置表的一个示例。
[0079] 表1空调配置表
[0080]
[0081] 如表1所示,该空调配置表包括设备ID、设备位置、相关应用和寻址&路由机制等信息。此外,已知的是,不同类型的设备具有不同的寻址&路由机制。本领域技术人员可以根据不同类型的应用确定不同类型寻址&路由机制,因此为了简化起见,此处将各个设备的寻址机制描述为不同的函数形式。参数“ID“指示设备ID,而参数“switch”指示控制动作,通过这样的寻址机制,可以实现对相应设备执行相应控制动作。
[0082] 在步骤S507,通过基于管理对象信息对该空调配置表进行查询,可以发现设备ID为3、4和6的空调为控制对象,即该管理主题的参与者,并且可以获取相应的寻址机制。
[0083] 于是S/A代理可以在步骤S508订阅管理主题,这例如可以通过以下命令来实现。
[0084] 订阅管理主题的消息的示例:
[0085] Subscribe_Topic:2F_Air_Condition_Control
[0086] 然而,需要说明的是,也可以接收到管理主题和管理对象信息后即订阅该管理主题。
[0087] 接着可以在步骤S509通过指定各个参与者的寻址&路由机制来注册订阅者,这例如可以通过以下注册消息来实现。
[0088] 注册订阅者的消息的示例:
[0089] Subscriber:new_air_condition_control(3,switch),Interested_Topic:
[0090] 2F_Air_Condition_Control
[0091] Subscriber:old_air_condition_control(4,switch),Interested_Topic:
[0092] 2F_Air_Condition_Control
[0093] Subscriber:new_air_condition_control(6,switch),Interested_Topic:
[0094] 2F_Air_Condition_Control
[0095] 该注册消息中的“Interested_Topic:2F_Air_Condition_Control”指明了未知参数“switch”与主题“2F_Air_Condition_Control”的信息相关联。
[0096] 另一方面,在步骤S503接收到消息中间件推送的管理信息后,可以在S510中针对管理信息进行转换操作,以便将其转换成可为参与者(或者被管理设备)所理解的管理指令。通常而言,管理信息中包括有管理动作,而上层应用的管理动作一般不能为被管理设备所理解。因此,可以优选地,例如基于转换表,对管理信息进行转换,以得到可以为被管理设备(参与者)所理解的管理指令。然后可以在步骤S511发布转换后的管理指令。出于说明的目的,在下面给出了转换后的管理信息的示例。
[0097] 发布转换后的管理指令的示例:
[0098] Topic:2F_Air_Condition_Control
[0099] Topic_Content:OFF
[0100] 这样,消息中间件可以根据订阅关系,在步骤S511通过分发消息指令(例如dispense Command to S/A)将相应的Topic_Content分发给相应的订阅者:设备ID为3、4和6的空调
[0101] 这实际上完成了对寻址&路由函数的参数赋值,即,得到:
[0102] new_air_condition_control(3,OFF)
[0103] new_air_condition_control(4,OFF)
[0104] new_air_condition_control(6,OFF)。
[0105] 这样根据函数调用,就可以实现对空调3、4和6的关闭动作,进而实现Smart_Building_Applicatoin所期望的控制操作。
[0106] 需要说明的是,上面结合图4和图5所描述的实施方式,只是出于示例的目的而给出的,本发明并不局限于此,而是可以根据实际应用进行各种相应的改变。
[0107] 在上文中,主要以控制命令作为实例对管理信息进行了描述。然而,本发明并不局限于此,管理信息还可以包括管理命令、配置命令,以及其他其中包括操作对象的操作命令。
[0108] 在上文中,主要结合物联网IOT系统对本发明进行了描述。然而需要说明的是,本发明并不局限于此,事实上本发明还可以应用于任何其中节点之间的智能性不对等(即,被管理节点具有较低的智能性或者不具有智能性)的基于发布/订阅机制的系统中。
[0109] 此外,在本发明中主要基于具有管理对象和管理动作的管理信息进行了描述,实际上发明也可以应用于任何其中包括有对象信息的下行管理信息传输。
[0110] 在根据本发明的另一实施方式中,还提供了一种用于分发管理信息的方法,该方法包括根据前述任一实施方式中所述的用于订阅管理信息的方法以及基于订阅来分发管理信息的步骤。
[0111] 下面,将参考图6A和图6B来描述本发明提供了用于动态订阅管理信息的设备,其中图6A和图6B分别示出了根据本发明的一个实施方式用于动态订阅管理信息的设备的方框图。
[0112] 如图6A所示,管理信息订阅设备600包括管理信息解析装置621,配置用于对发布的管理信息进行解析,以确定管理对象信息;参与召集发布装置622,配置用于发布与管理对象信息关联的管理主题的参与召集通知;参与者确定装置623,配置用于根据管理对象信息以及设备属性信息,来确定管理主题的参与者;以及管理主题订阅装置624,配置用于为参与者订阅管理主题。
[0113] 通过上面给出的管理信息订阅设备,就可以动态地确定管理主题以及与该管理主题相关的参与者,并可以为所确定的参与者订阅该管理主题。由此,可以使得在被管理设备与管理设备的智能性不对等的情况下,也可以在分发管理信息时充分地利用发布/订阅机制,实现信息发布者与信息接收者之间的解耦合或松耦合。藉此可以避免附加管理通道的使用,进而显著降低系统的复杂度和管理成本。
[0114] 此外,在根据本发明的优选实施方式中,该管理主题订阅装置624进一步配置为:订阅管理主题;以及指定与参与者相关的寻址机制。
[0115] 在根据本发明的另一实施方式中,与参与者相关的寻址机制从设备属性信息中获取。
[0116] 在根据本发明的又一实施方式中,该管理信息包括针对定设备的管理命令、控制命令和配置命令其中一种或多种。
[0117] 在根据本发明的另一实施方式中,其中该管理信息订阅设备在物联网系统中操作。
[0118] 图6B还示出了根据本发明的优选实施方式的管理信息订阅设备600’的方框图。如图6B所示,除了图6A中所示的部件外,管理信息订阅设备600’还包括:管理信息转换装置625,配置用于将管理信息转换成可为参与者所理解的管理指令。
[0119] 在根据本发明的又一实施方式中,管理信息订阅设备600’还包括:管理指令发布装置626,配置用于将该管理指令发布至管理主题。
[0120] 在根据本发明的另一实施方式中,管理信息类别被预先订阅或者缺省订阅,并且管理信息订阅设备600’还包括:管理信息接收装置627,配置用于接收管理信息,以便对其进行解析。
[0121] 此外,如前所述,本发明的管理信息订阅设备600和600’可作为消息中间的一部分而并入消息中间件中。这对于正在开发的系统而言是可行的。然而,目前已经存在了许多已有的应用,出于成本、资源节约等因素的考虑,为使已有的应用仍然能够发挥其作用,本发明的管理信息订阅设备600和600’优选作为独立于消息中间件但可与其通信的设备而操作。
[0122] 另外,如前所述,管理信息订阅设备600和600’所包括的各个装置621至627可以实施于一个单独的组件之中,也可以基于功能性由例如两个不同的组件来实现。其中一个组件(在图6A和图6B中以左侧的虚线框示出)对应于前文所述的S/A代理,且可以包括参与者确定装置622、管理主题订阅装置623;另一组件(在图6A和图6B中以右侧的虚线框示出)对应于前文所述的管理信息代理,且可以包括管理信息解析装置621、参与召集发布装置622、管理信息转换装置625、管理指令发布装置626和管理信息接收装置627。
[0123] 此外,图7还示出了根据本发明的一个优选实施方式的管理信息分发系统700。如图7所示,该管理信息分发系统700,包括消息中间件710和管理信息订阅设备720。其中消息中间件710配置用于基于管理信息订阅设备720的订阅,将管理信息分发给相应的参与者,而管理信息订阅设备720则按照本发明的订阅管理信息的方法来为管理主题的参与者订阅管理主题。
[0124] 需要说明的是,图7中所示的管理信息订阅设备720对应于图6B示出的设备600’,但是本发明并不局限于此。本领域技术人员应该清楚,除图6B所示设备之外,该管理信息订阅设备720也可以对应于前面参考图6A示出的任一实施方式的管理信息订阅设备600。
[0125] 另外,需要说明的是,参考图6A、图6B和图7所描述的管理信息订阅设备600和600’和管理信息分发系统700的各个部件的操作与上文中所描述的方法的各个步骤的操作基本上是对应的,因此关于这些部件的具体操作。可以参考上文中结合图3至图5对本发明的方法的具体描述。
[0126] 下面,将参考图8来描述可以实现本发明的计算机设备。图8示意性示出了可以实现根据本发明的实施方式的计算机设备的结构方框图。
[0127] 图8中所示的计算机系统包括CPU(中央处理单元)801、RAM(随机存取存储器)802、ROM(只读存储器)803、系统总线804、硬盘控制器805、键盘控制器806、串行接口控制器807、并行接口控制器808、显示器控制器809、硬盘810、键盘811、串行外部设备812、并行外部设备813和显示器814。在这些部件中,与系统总线804相连的有CPU 801、RAM 802、ROM 803、硬盘控制器805、键盘控制器806、串行接口控制器807、并行接口控制器808和显示器控制器809。硬盘810与硬盘控制器805相连,键盘811与键盘控制器806相连,串行外部设备812与串行接口控制器807相连,并行外部设备813与并行接口控制器808相连,以及显示器814与显示器控制器809相连。需要说明的是,图8所述的结构方框图仅仅为了示例的目的而示出的,并非是对本发明的限制。在一些情况下,可以根据需要添加或者减少其中的一些设备。
[0128] 此外,本发明可以采取完全硬件实施方式、完全软件实施方式或既包含硬件组件又包含软件组件的实施方式的形式。在优选实施方式中,本发明实现为软件,其包括但不限于固件、驻留软件、微代码等。而且,本发明还可以采取可从计算机可用或计算机可读介质访问的计算机程序产品的形式,这些介质提供程序代码以供计算机或任何指令执行系统使用或与其结合使用。出于描述目的,计算机可用或计算机可读机制可以是任何有形的装置,其可以包含、存储、通信、传播或传输程序以由指令执行系统、装置或设备使用或与其结合使用。介质可以是电的、磁的、光的、电磁的、红外线的、或半导体的系统(或装置或器件)或传播介质。计算机可读介质的例子包括半导体或固态存储器、磁带、可移动计算机磁盘、随机访问存储器(RAM)、只读存储器(ROM)、硬磁盘和光盘。目前光盘的例子包括紧凑盘-只读存储器(CD-ROM)、压缩盘-读/写(CD-R/W)和DVD。
[0129] 适合于存储/或执行程序代码的数据处理系统将包括至少一个处理器,其直接地或通过系统总线间接地耦合到存储器元件。存储器元件可以包括在程序代码的实际执行期间所利用的本地存储器、大容量存储器、以及提供至少一部分程序代码的临时存储以便减少执行期间从大容量存储器必须取回代码的次数的高速缓冲存储器。
[0130] 输入/输出或I/O设备(包括但不限于键盘、显示器、指点设备等等)可以直接地或通过中间I/O控制器耦合到系统。
[0131] 网络适配器也可以耦合到系统,以使得数据处理系统能够通过中间的私有或公共网络而耦合到其他数据处理系统或远程打印机或存储设备。调制解调器、线缆调制解调器以及以太网卡仅仅是当前可用的网络适配器类型的几个例子。
[0132] 从上述描述应当理解,在不脱离本发明真实精神的情况下,可以对本发明各实施方式进行修改、变更和组合。本说明书中的描述仅仅是用于说明性的,而不应被认为是限制性的。本发明的范围仅受所附权利要求书的限制。