具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明设备管理方法一个实施例的流程图,如图1所示,该设备管理方法可以包括:
步骤101,网关接收终端设备发送的第一数据包。
其中,该第一数据包可以携带第一认证信息和第二认证信息;该第一认证信息用于网关对上述终端设备进行认证,第二认证信息用于设备管理服务器对上述终端设备进行认证。具体地,该步骤可以如下方式实现:
第一数据包的同步头(SyncHdr)中携带上述第一认证信息,第一数据包的同步体(SyncBody)中扩展的警告(Alert)命令携带第二认证信息;或者,第一数据包的同步头中携带第二认证信息,第一数据包的同步体中扩展的警告命令携带上述第一认证信息。
本实施例中,第一数据包的源地址可以为终端设备的地址,第一数据包的目的地址可以为上述网关的地址,第一数据包的同步体中扩展的警告命令携带设备管理服务器的地址;或者,第一数据包的源地址可以为终端设备的地址,该第一数据包的目的地址可以为设备管理服务器的地址,第一数据包的同步体中扩展的警告命令可以携带或不携带上述网关的地址。进一步地,该第一数据包的同步头中还携带终端设备支持的最大消息长度和该终端设备支持的设备管理协议版本,该第一数据包的同步体中还携带上述终端设备的设备信息。
步骤102,网关确定第一数据包为经由该网关发送给上述设备管理服务器的管理请求之后,生成新的第一数据包,并将该新的第一数据包发送给上述设备管理服务器。
具体地,网关确定第一数据包为经由该网关发送给上述设备管理服务器的管理请求可以为:网关根据上述第一认证信息对终端设备认证通过后,确定第一数据包为经由该网关发送给设备管理服务器的管理请求。
其中,上述新的第一数据包携带终端设备的地址和该终端设备的设备信息;进一步地,上述新的第一数据包还可以携带第二认证信息;
具体地,在本发明的一个实施例中,新的第一数据包同步体中扩展的警告命令携带上述终端设备的地址和该终端设备的设备信息;或者,新的第一数据包同步体中扩展的警告命令携带上述终端设备的地址,该新的第一数据包同步体中的替换(Replace)命令携带上述终端设备的设备信息;或者,新的第一数据包的源地址为上述终端设备的地址,新的第一数据包同步体中扩展的警告命令携带该终端设备的设备信息。进一步地,新的第一数据包同步体中扩展的警告命令还携带上述第二认证信息。
本实施例中,上述新的第一数据包同步体中的替换命令或者扩展的警告命令可以携带网关的设备信息;或者,上述新的第一数据包中也可以不携带网关的设备信息。
本实施例中,网关还可以比较终端设备支持的最大消息长度与该网关支持的最大消息长度,将上述终端设备支持的最大消息长度与该网关支持的最大消息长度中的较小值携带在上述新的第一数据包的同步头中;同样,网关还可以比较终端设备支持的设备管理协议版本和该网关支持的设备管理协议版本,将终端设备支持的设备管理协议版本和该网关支持的设备管理协议版本中的较低版本携带在上述新的第一数据包的同步头中。
具体地,网关确定第一数据包为经由该网关发送给上述设备管理服务器的管理请求可以为:网关解析第一数据包,获得第一数据包的同步体中警告编码(Alert Code)字段的值,根据该警告编码字段的值确定第一数据包为经由网关发送给上述设备管理服务器的管理请求;或者,网关解析第一数据包,获得第一数据包的目的地址,根据该第一数据包的目的地址确定上述第一数据包为经由网关发送给上述设备管理服务器的管理请求,该第一数据包的目的地址为设备管理服务器的地址。也就是说,第一数据包为终端设备经由网关发送给设备管理服务器的管理请求,本实施例中,是设备管理服务器对终端设备进行管理,而不是网关对终端设备进行管理。
本实施例中,如果新的第一数据包中仅携带一个设备信息,则设备管理服务器可以根据上述新的第一数据包同步体中警告编码字段的值确定上述新的第一数据包中携带的设备信息为终端设备的设备信息。
步骤103,网关接收所述设备管理服务器发送的第二数据包。
具体地,网关可以接收设备管理服务器根据上述第二认证信息对终端设备认证通过后发送的第二数据包。
本实施例中,该第二数据包携带终端设备的地址和该设备管理服务器对上述终端设备的操作指令。进一步地,该第二数据包还可以携带第三认证信息和第四认证信息;其中,第三认证信息用于终端设备对设备管理服务器进行认证,第四认证信息用于网关对上述设备管理服务器进行认证。
本实施例中,当上述新的第一数据包的源地址为终端设备的地址时,该新的第一数据包同步体中扩展的警告命令携带上述网关的地址。这时,网关接收设备管理服务器发送的第二数据包可以为:网关接收设备管理服务器根据上述网关的地址发送的第二数据包。
本实施例中,上述第二数据包是设备管理服务器解析上述新的第一数据包,根据上述新的第一数据包同步体中警告编码字段的值确定对网关后的终端设备进行管理之后发送给上述网关的。
本实施例的一种实现方式中,第二数据包携带终端设备的地址和该设备管理服务器对上述终端设备的操作指令可以为:第二数据包的同步体中扩展的警告命令携带终端设备的地址和该设备管理服务器对终端设备的操作指令;其中,设备管理服务器对终端设备的操作指令封装在上述扩展的警告命令的属性数据(Character Data;以下简称:CDATA)字段中。进一步地,第二数据包的同步头中还携带第四认证信息,所述第二数据包的同步体中扩展的警告命令还携带第三认证信息。
本实施例的另一种实现方式中,该第二数据包携带终端设备的地址和该设备管理服务器对上述终端设备的操作指令可以为:上述第二数据包的目的地址为终端设备的地址,上述第二数据包的同步体中扩展的警告命令携带设备管理服务器对终端设备的操作指令;其中,设备管理服务器对终端设备的操作指令封装在上述扩展的警告命令的属性数据(CDATA)字段中。进一步地,第二数据包的同步头中还携带上述第三认证信息,第二数据包的同步体中扩展的警告命令还携带上述第四认证信息。
本实现方式中,上述第二数据包的同步体中扩展的警告命令还可以携带网关的地址。这时,网关接收设备管理服务器发送的第二数据包可以为:网关接收上述设备管理服务器根据该网关的地址发送的第二数据包。
步骤104,网关确定第二数据包为经由该网关发送给上述终端设备的管理数据包之后,生成新的第二数据包,并根据上述第二数据包携带的终端设备的地址将该新的第二数据包发送给终端设备。
具体地,网关确定第二数据包为经由该网关发送给上述终端设备的管理数据包可以为:网关根据上述第四认证信息对上述设备管理服务器认证通过后,确定第二数据包为经由该网关发送给终端设备的管理数据包。
本实施例中,网关确定第二数据包为经由该网关发送给上述终端设备的管理数据包可以为:网关解析上述第二数据包,获得第二数据包的同步体中警告编码字段的值,根据警告编码字段的值确定第二数据包为经由网关发送给终端设备的管理数据包。
本实施例中,上述新的第二数据包携带上述设备管理服务器对终端设备的操作指令,该新的第二数据包用于指示终端设备执行上述操作指令;进一步地,上述新的第二数据包还可以携带第五认证信息和上述第三认证信息;该第五认证信息用于终端设备对上述网关进行认证。
本实施例的一种实现方式中,上述新的第二数据包携带上述设备管理服务器对终端设备的操作指令可以为:上述新的第二数据包的同步体中扩展的警告命令携带该设备管理服务器对上述终端设备的操作指令。进一步地,上述新的第二数据包的同步头中还携带上述第五认证信息,新的第二数据包的同步体中扩展的警告命令还携带上述第三认证信息。
本实施例的另一种实现方式中,上述新的第二数据包的源地址为设备管理服务器的地址,上述新的第二数据包的目的地址为终端设备的地址,新的第二数据包同步体中扩展的警告命令携带网关的地址;则上述新的第二数据包携带上述设备管理服务器对终端设备的操作指令可以为:新的第二数据包的同步体中扩展的警告命令携带设备管理服务器对终端设备的操作指令;进一步地,上述新的第二数据包的同步头中还携带第三认证信息,新的第二数据包的同步体中扩展的警告命令还携带上述第五认证信息。
进一步地,将新的第二数据包发送给终端设备之后,网关还可以接收终端设备发送的第三数据包,该第三数据包携带上述终端设备对上述操作指令的响应信息;然后,网关可以生成新的第三数据包,并将上述新的第三数据包发送给设备管理服务器,该新的第三数据包携带终端设备的地址和终端设备对上述操作指令的响应信息。
另外,该第三数据包还可以携带第一认证信息和第二认证信息;这时,网关生成新的第三数据包可以为:网关根据第一认证信息对终端设备认证通过后,生成新的第三数据包;上述新的第三数据包还可以携带上述第二认证信息。
具体地,该第三数据包携带上述终端设备对上述操作指令的响应信息可以为:上述第三数据包的同步体中扩展的警告命令携带终端设备对上述操作指令的响应信息;
该第三数据包还可以携带第一认证信息和上述第二认证信息可以为:上述第三数据包的同步头中携带第一认证信息,上述第三数据包的同步体中扩展的警告命令还携带第二认证信息;或者,上述第三数据包的同步头中携带第二认证信息,上述第三数据包的同步体中扩展的警告命令还携带第一认证信息。
其中,上述第三数据包的源地址为终端设备的地址,上述第三数据包的目的地址为设备管理服务器的地址,上述第三数据包的同步体中扩展的警告命令携带或不携带网关的地址。
具体地,该新的第三数据包携带终端设备的地址和终端设备对上述操作指令的响应信息可以为:上述新的第三数据包的同步体中扩展的警告命令携带终端设备的地址和终端设备对上述操作指令的响应信息;或者,上述新的第三数据包的源地址为终端设备的地址,上述新的第三数据包的同步体中扩展的警告命令携带终端设备对上述操作指令的响应信息。进一步地,上述新的第三数据包的同步体中扩展的警告命令携带第二认证信息。
本实施例中,网关可以维护终端设备与设备管理服务器之间的多个对话,于是,网关还需要保存第一会话标识与第二会话标识的对应关系;该第一会话标识为终端设备和网关之间的会话的标识,第二会话标识为网关和上述设备管理服务器之间的会话的标识。也就是说,网关与终端设备,以及网关与设备管理服务器之间交互的各数据包均需携带会话标识,网关根据保存的第一会话标识与第二会话标识的对应关系,可以确定属于同一会话的数据包。
举例来说,设备管理服务器发送的第二数据包还携带第二会话标识;网关发送给终端设备的新的第二数据包还携带第一会话标识,其中,第一会话标识是网关根据第二数据包携带的上述第二会话标识,以及保存的上述对应关系获得的与上述第二会话标识对应的第一会话标识。具体地,网关接收到设备管理服务器发送的第二数据包之后,根据该第二数据包携带的第二会话标识,以及保存的上述对应关系,获得与上述第二会话标识对应的第一会话标识,然后将第一会话标识携带在新的第二数据包中发送给终端设备。
上述实施例中,网关接收到终端设备发送的第一数据包,并确定上述第一数据包为通过该网关发送给设备管理服务器的数据包之后,网关生成新的第一数据包,并将上述新的第一数据包发送给设备管理服务器;在确定设备管理服务器发送的第二数据包为通过该网关发送给上述终端设备的数据包之后,网关生成新的第二数据包,并根据终端设备的地址将该新的第二数据包发送给上述终端设备,上述新的第二数据包携带上述设备管理服务器对该终端设备的操作指令,从而可以实现在网关存在的情况下,设备管理服务器对该网关后的终端设备进行管理。
与传统的设备管理不同的是,代理(Proxy)模式下,由网关(Gateway)代理DM服务器对网关后的终端设备进行管理,也就是原来为点对点的会话交互,现在加了网关,变成了3点之间的会话交互,本发明图1所示实施例给出了网关存在情况下,DM服务器对网关后的终端设备进行管理的方法,并解决了在DM服务器对网关后的终端设备进行管理时的寻址、认证和设备信息上报等问题。
下面分别对本发明中寻址处理、认证处理和设备信息上报的方法进行介绍。
1、寻址处理方法。
寻址处理方法涉及到终端设备与网关之间、网关与DM服务器之间的各个数据包。
(1)从终端设备到网关
方法一:在终端设备发送给网关的数据包中,目的地址和源地址分别设置为DM服务器和终端设备的地址,并扩展警告编码(Alert Code)字段,通过<Alert>命令来发送Alert Code字段及网关的地址,网关解析终端设备发送的数据包,通过<Alert>命令中的Alert Code字段,发现上述数据包为经由自己发送给DM服务器的管理请求。于是,网关生成新的数据包发送给DM服务器。具体<Alert>命令中的关键字段的定义可以如表1所示。
表1
举例来说,假设网关的标识为:http://www.syncml.org/gateway,这时在终端设备发送给网关的数据包中,对于网关地址的指定可以如下所示:
方法二:在终端设备发送给网关的数据包中,目的地址和源地址分别设置为DM服务器和终端设备的地址,不发送网关地址,网关地址在底层传输协议中携带。网关解析终端设备发送的数据包,获得该数据包的目的地址,与该网关自身的地址进行比对,发现该数据包的目的地址不同于该网关自身的地址,并结合<Alert>命令中Alert Code字段的值确定上述数据包为经由自身发送给DM服务器的管理请求,于是网关生成新的数据包发送给DM服务器。具体Alert命令中关键字段的定义可以如表2所示。
表2
方法三:在终端设备发送给网关的数据包中,目的地址和源地址分别设置为网关和终端设备的地址,并扩展警告编码(Alert Code)字段,通过<Alert>命令来发送Alert Code字段及DM服务器的地址,网关解析终端设备发送的数据包,通过<Alert>命令中的Alert Code字段,发现上述数据包为经由自己发送给DM服务器的管理请求。于是,网关生成新的数据包发送给DM服务器。其中,具体<Alert>命令中的关键字段的定义与表1类似,在此不再赘述。
(2)从网关到DM服务器
从网关到DM服务器的寻址处理与从终端设备到网关的寻址处理类似。
方法一:在网关发送给DM服务器的数据包中,目的地址和源地址分别设置为DM服务器和终端设备的地址,并扩展Alert Code字段,通过<Alert>命令来发送Alert Code字段及网关的地址,通过<Alert>命令中的Alert Code字段的值来表明此请求为Proxy模式下的管理请求。
方法二:在网关发送给DM服务器的数据包中,目的地址和源地址分别设置为DM服务器和终端设备的地址,不发送网关地址,网关地址在底层传输协议中携带,比如携带在超文本传输协议头(HyperText TransferProtocol Header;以下简称:HTTP Header)中。通过<Alert>命令中的AlertCode字段的值来表明此请求是Proxy模式下的请求。
方法三:在网关发送给DM服务器的数据包中,目的地址和源地址分别设置为DM服务器和网关的地址,并扩展Alert Code字段,通过<Alert>命令来发送Alert Code字段及终端设备的地址,通过<Alert>命令中的AlertCode字段的值来表明此请求为Proxy模式下的管理请求。
(3)从DM服务器到网关
从DM服务器到网关的寻址处理,也类似于从网关到DM服务器的寻址处理,不同的是,源地址为DM服务器的地址,目的地址为终端设备或网关的地址。
(4)从网关到终端设备
从网关到终端设备的寻址处理,也类似于从终端设备到网关的寻址处理,不同的是,目的地址为终端设备的地址,源地址为DM服务器或网关的地址。
2、认证处理方法。
认证处理方法涉及到终端设备与网关之间、网关与DM服务器之间的各个数据包。在一个数据包中,需要同时携带两个认证消息。
(1)从终端设备到网关
方法一:在终端设备发送给网关的数据包里,不仅携带第一认证信息,还携带DM服务器对终端设备进行认证的第二认证信息,该第二认证信息用于DM服务器对终端设备进行认证。其中,第二认证信息在同步头的认证(<SyncHdr>/<Cred>)字段中携带,第一认证信息在扩展的<Alert>命令中携带。网关收到终端设备发送的数据包之后,只需要对终端设备进行认证。其中,扩展的<Alert>命令可以如表3所示。
表3
消息实例为:对于终端设备发送给网关的数据包,除了在同步头<SyncHdr>中给出第二认证信息外,还使用扩展的<Alert>命令给出第一认证信息,如下所示:
方法二:在终端设备发送给网关的数据包里,不仅携带第一认证信息,还携带第二认证信息。其中,DM服务器对终端设备进行认证的第二认证信息在扩展的<Alert>命令中携带,第一认证信息在<SyncHdr>/<Cred>中携带。网关收到终端设备发送的数据包之后,只需要对终端设备进行认证。其中,扩展的<Alert>命令的格式与表3类似,消息实例与方法一中给出的消息实例类似,在此不再赘述。
(2)从网关到DM服务器
在网关发送给DM服务器的数据包中,不仅携带第六认证信息,该第六认证信息用于DM服务器对网关进行认证,还携带第二认证信息,从而可以实现DM服务器对网关和终端设备的同时认证,避免再次发起认证请求。
方法一:第二认证信息在<SyncHdr>/<Cred>中携带,第六认证信息在扩展的<Alert>命令中携带。这里,DM服务器需要同时对终端设备和网关进行认证。其中,扩展的Alert命令的格式可以如表4所示。
表4
方法二:第二认证信息在扩展的<Alert>命令中携带,第六认证信息在<SyncHdr>/<Cred>中携带。这里,DM服务器需要同时对终端设备和网关进行认证。其中,扩展的Alert命令的格式与表4类似,在此不再赘述。
(3)从DM服务器到网关
在DM服务器发送给网关的数据包中携带认证信息的方式与网关发送给DM服务器的数据包中携带认证信息的方式类似,在此不再赘述。
(4)从网关到终端设备
在网关发送给终端设备的数据包中携带认证信息的方式与终端设备发送给网关的数据包中携带认证信息的方式类似,在此不再赘述。
3、设备信息处理
对设备信息的处理涉及到两方面:1)设备信息(Device Information;以下简称:DevInfo)管理对象;2)SyncHdr里的最大消息长度(MaxMsgSize)、DM协议版本等信息。由于终端设备与DM服务器的设备能力协商仅在初始化阶段中涉及,因此设备信息处理仅涉及网关发送给DM服务器的新的第一数据包及网关发送给终端设备的新的第二数据包。
(1)对于DevInfo管理对象,有以下三种处理方案:
方法一:在从网关到DM服务器的数据包中,终端设备的DevInfo继续通过替换(Replace)命令发送,而网关的DevInfo放在Alert命令中发送,也就是说同时发送两个设备信息,供DM服务器处理。同样,在从网关到终端设备的数据包中,DM服务器的DevInfo继续通过Replace命令发送,而网关的DevInfo放在Alert命令中发送,也是同时发送两个设备信息,供终端设备处理。其中,网关的DevInfo放在Alert命令中发送时,Alert Code字段的定义可以如表5所示。
表5
方法二:在从网关到DM服务器的数据包中,终端设备的DevInfo通过Alert命令发送,而网关的DevInfo放在Replace命令中发送,也就是说同时发送两个设备信息,供DM服务器处理。同样,在从网关到终端设备的数据包中,DM服务器的DevInfo通过Alert命令发送,而网关的DevInfo放在Replace命令中发送,也是同时发送两个设备信息,供终端设备处理。
方法三:终端设备或DM服务器的DevInfo通过Replace命令发送,网关的DevInfo也通过Replace命令来发送,通过<Source><LocURI>来指明网关的统一资源标识(Uniform Resource Identifier;以下简称:URI),用于表明Replace中包含的是网关的设备信息。
(2)对于MaxMsgSize信息,网关需要比较自身支持的MaxMsgSize与终端设备或DM服务器支持的MaxMsgSize,从中选择较小值来发送,避免出现信息处理过程中的不兼容情况。
(3)对于DM协议版本信息,网关需要比较自身支持的DM协议版本与终端设备或DM服务器支持的DM协议版本,从中选择较低版本来发送,避免出现信息处理过程中的不兼容情况。因为DM协议版本都是向后兼容的,如果终端设备或DM服务器支持高版本的DM协议,就会兼容支持低版本的DM协议。
另外,本发明中,网关可以维护终端设备与设备管理服务器之间的多个对话,网关和终端设备之间的会话标识(SessionID)为第一会话标识,网关和DM服务器之间的会话标识为第二会话标识,第一会话标识与第二会话标识不同,因此网关需要保存第一会话标识和第二会话标识的映射表,用于保存上述第一会话标识和第二会话标识的对应关系。本发明中,网关与终端设备,以及网关与设备管理服务器之间交互的各数据包均需携带会话标识,网关根据保存的第一会话标识与第二会话标识的对应关系,可以确定属于同一会话的数据包。
本发明中,在终端设备发送给网关的数据包中,操作指令,例如:获取(Get)、替换(Replace)、删除(Delete)和/或执行(Exec)等可以封装在Alert命令的CDATA字段里,网关不需要解析CDATA字段中的数据,直接转发给DM服务器;对于从DM服务器到网关的消息也类似。或者,上述操作指令也可以不放在CDATA字段里面,而是放在同步体(SyncBody)里,接收者(即网关)通过Alert命令得知是Proxy模式下的消息,只需要对SyncBody中与设备信息相关的命令进行处理,不处理SyncBody中的其他命令,只转发。
本发明中,上述扩展的Alert Code字段的值可以相同,例如:均为1227,用于表明请求消息或响应是Proxy模式下的消息。此Alert Code字段用于表明,其中携带的认证信息是Proxy模式下的认证信息,设备信息为Proxy模式下的设备信息,源地址或目的地址信息为Proxy下的地址信息,接收方可以根据此Alert Code字段的值进行判断和处理。
关于寻址处理、认证处理和设备信息上报的处理,上面描述的为优选方案,在实际应用中,也可以灵活处理。例如:终端设备发送给网关的数据包,源地址可以为终端设备的地址,目的地址可以为网关的地址,在Alert命令中携带DM服务器的地址,以及第二认证信息,网关接收到消息后,将消息头进行处理后,生成相应的数据包并转发给DM服务器。
下面通过具体实施例对本发明提供的设备管理方法进行说明。
图2为本发明设备管理方法另一个实施例的流程图,如图2所示,该设备管理方法可以包括:
步骤201,终端设备向网关发送第一数据包。
其中,该第一数据包的源地址为终端设备的地址,目的地址为网关的地址,该第一数据包的同步头(SyncHdr)中携带第一认证信息;该第一数据包的同步体(SyncBody)中扩展的Alert命令携带DM服务器的地址和第二认证信息。
进一步地,上述第一数据包同步头中还携带终端设备支持的MaxMsgSize和该终端设备支持的DM协议版本,上述第一数据包的同步体中还携带终端设备的DevInfo。
步骤202,网关接收到第一数据包后,解析第一数据包,获得该第一数据包的同步体中警告编码(Alert Code)字段的值,根据该警告编码字段的值确定第一数据包为经由自身发送给DM服务器的管理请求之后,网关生成新的第一数据包。
其中,上述新的第一数据包的源地址为网关的地址,上述新的第一数据包的目的地址为DM服务器的地址,上述新的第一数据包的同步头中携带第六认证信息,上述新的第一数据包同步体中的替换(Replace)命令携带网关的DevInfo,上述新的第一数据包同步体中扩展的警告(Alert)命令携带终端设备的地址、第二认证信息和该终端设备的DevInfo。其中,终端设备的DevInfo可以使用树和描述序列化(Tree and Description Serialization;以下简称:TNDS)方式来发送。
进一步地,上述新的第一数据包的同步头中还携带MaxMsgSize和DM协议版本等信息。具体地,网关对比终端设备支持的MaxMsgSize与该网关支持的MaxMsgSize,将其中的较小值携带在新的第一数据包的同步头中;以及对比终端设备支持的DM协议版本和网关支持的DM协议版本,将其中的较低版本携带在上述新的第一数据包的同步头中。
步骤203,网关将新的第一数据包发送给DM服务器。
本实施例中,网关和终端设备之间的会话标识为第一会话标识,网关和DM服务器之间的会话标识为第二会话标识,第一会话标识与第二会话标识不同,因此网关需要保存第一会话标识和第二会话标识的映射表,用于保存上述第一会话标识和第二会话标识的对应关系。
步骤204,DM服务器接收到新的第一数据包之后,解析新的第一数据包,获得新的第一数据包中警告编码字段的值,根据该警告编码字段的值确定是对网关后的终端设备进行管理之后,DM服务器生成第二数据包。
其中,第二数据包的源地址为DM服务器的地址,第二数据包的目的地址为网关的地址,第二数据包的同步头中携带第四认证信息,第二数据包的同步体中扩展的警告命令携带终端设备的地址、第三认证信息和DM服务器对终端设备的操作指令。其中,上述第四认证信息用于网关对DM服务器进行认证,上述操作指令可以封装在扩展的警告命令的CDATA字段中。
步骤205,DM服务器将第二数据包发送给网关。
步骤206,网关确定上述第二数据包为经由该网关发送给终端设备的管理数据包之后,网关生成新的第二数据包。
具体地,网关确定上述第二数据包为经由该网关发送给终端设备的管理数据包可以为:网关解析该第二数据包,获得第二数据包中警告编码字段的值,根据该警告编码字段的值确定第二数据包为经由该网关发送给终端设备的管理数据包,即第二数据包是DM服务器为了对该网关后的终端设备进行管理而发送的管理数据包。
其中,上述新的第二数据包的源地址为网关的地址,目的地址为终端设备的地址,上述新的第二数据包的同步头中携带第五认证信息,上述新的第二数据包的同步体中扩展的警告命令携带DM服务器的地址、第三认证信息和DM服务器对终端设备的操作指令。
步骤207,网关将新的第二数据包发送给终端设备。
步骤208,终端设备向网关发送第三数据包。
其中,该第三数据包的源地址为终端设备的地址,目的地址为网关的地址,该第三数据包的同步头中携带第一认证信息,该第三数据包的同步体中扩展的警告命令携带DM服务器的地址、第二认证信息和终端设备对上述操作指令的响应信息。
步骤209,网关接收到第三数据包后,解析第三数据包,获得该第三数据包的同步体中警告编码字段的值,根据该警告编码字段的值确定第三数据包为经由自身发送给DM服务器的数据包之后,网关生成新的第三数据包。
其中,新的第三数据包的源地址为网关的地址,目的地址为DM服务器的地址,上述新的第三数据包的同步头中携带第六认证信息,上述新的第三数据包的同步体中扩展的警告命令携带终端设备的地址、第二认证信息和终端设备对上述操作指令的响应信息。
步骤210,网关将新的第三数据包发送给DM服务器。
上述实施例可以实现在网关存在的情况下,DM服务器对该网关后的终端设备进行管理,以及实现了在网关存在的情况下,DM服务器和终端设备之间的直接会话交互。并且上述实施例对现有DM协议版本的改动较小,确保了兼容性。
图3为本发明设备管理方法再一个实施例的流程图,如图3所示,该设备管理方法可以包括:
步骤301,同步骤201。
步骤302,网关接收到第一数据包后,解析第一数据包,获得该第一数据包的同步体中警告编码(Alert Code)字段的值,根据该警告编码字段的值确定第一数据包为经由自身发送给DM服务器的管理请求之后,网关生成新的第一数据包。
其中,上述新的第一数据包的源地址为网关的地址,上述新的第一数据包的目的地址为DM服务器的地址,上述新的第一数据包的同步头中携带第六认证信息,上述新的第一数据包同步体中的替换(Replace)命令携带终端设备的DevInfo,上述新的第一数据包同步体中扩展的警告(Alert)命令携带终端设备的地址和第二认证信息。其中,终端设备的DevInfo可以使用TNDS方式来发送。
进一步地,上述新的第一数据包的同步头中还携带MaxMsgSize和DM协议版本等信息。具体地,网关对比终端设备支持的MaxMsgSize与该网关支持的MaxMsgSize,将其中的较小值携带在新的第一数据包的同步头中;以及对比终端设备支持的DM协议版本和网关支持的DM协议版本,将其中的较低版本携带在上述新的第一数据包的同步头中。
步骤303,同步骤203。
步骤304,DM服务器接收到新的第一数据包之后,解析新的第一数据包,获得新的第一数据包中警告编码字段的值,并确定上述新的第一数据包中仅携带一个设备信息,则DM服务器根据该警告编码字段的值确定上述新的第一数据包中携带的设备信息为终端设备的设备信息,然后DM服务器生成第二数据包。
其中,第二数据包的源地址为DM服务器的地址,第二数据包的目的地址为网关的地址,第二数据包的同步头中携带第四认证信息,第二数据包的同步体中扩展的警告命令携带终端设备的地址、第三认证信息和DM服务器对终端设备的操作指令。其中,上述操作指令可以封装在扩展的警告命令的CDATA字段中。
步骤305~步骤310,同步骤205~步骤210。
上述实施例可以实现在网关存在的情况下,DM服务器对该网关后的终端设备进行管理,以及实现了在网关存在的情况下,DM服务器和终端设备之间的直接会话交互。并且上述实施例对现有DM协议版本的改动较小,确保了兼容性。
图4为本发明设备管理方法再一个实施例的流程图,如图4所示,该设备管理方法可以包括:
步骤401,终端设备向网关发送第一数据包。
其中,该第一数据包的源地址为终端设备的地址,目的地址为DM服务器的地址,该第一数据包的同步头(SyncHdr)中携带第二认证信息;该第一数据包的同步体(SyncBody)中扩展的Alert命令携带第一认证信息,进一步地,该第一数据包的同步体中扩展的Alert命令还可以携带网关的地址,或者,也可以不携带网关的地址。
进一步地,上述第一数据包同步头中还携带终端设备支持的MaxMsgSize和该终端设备支持的DM协议版本,上述第一数据包的同步体中还携带终端设备的DevInfo。
步骤402,网关接收到第一数据包后,解析第一数据包,获得第一数据包的目的地址,根据该第一数据包的目的地址,确定上述第一数据包为经由该网关发送给DM服务器的管理请求之后,网关生成新的第一数据包。
其中,该第一数据包的目的地址为DM服务器的地址。
其中,上述新的第一数据包的源地址为网关的地址,上述新的第一数据包的目的地址为DM服务器的地址,上述新的第一数据包的同步头中携带第六认证信息,上述新的第一数据包同步体中的替换(Replace)命令携带网关的DevInfo,上述新的第一数据包同步体中扩展的警告(Alert)命令携带终端设备的地址、第二认证信息和该终端设备的DevInfo。其中,终端设备的DevInfo可以使用TNDS方式来发送。
进一步地,上述新的第一数据包的同步头中还携带MaxMsgSize和DM协议版本等信息。具体地,网关对比终端设备支持的MaxMsgSize与该网关支持的MaxMsgSize,将其中的较小值携带在新的第一数据包的同步头中;以及对比终端设备支持的DM协议版本和网关支持的DM协议版本,将其中的较低版本携带在上述新的第一数据包的同步头中。
步骤403,网关将新的第一数据包发送给DM服务器。
本实施例中,网关和终端设备之间的会话标识为第一会话标识,网关和DM服务器之间的会话标识为第二会话标识,第一会话标识与第二会话标识不同,因此网关需要保存第一会话标识和第二会话标识的映射表,用于保存上述第一会话标识和第二会话标识的对应关系。
步骤404,DM服务器接收到新的第一数据包之后,解析新的第一数据包,获得新的第一数据包中警告编码字段的值,根据该警告编码字段的值确定是对网关后的终端设备进行管理之后,DM服务器生成第二数据包。
其中,第二数据包的源地址为DM服务器的地址,第二数据包的目的地址为终端设备的地址,第二数据包的同步头中携带第三认证信息,第二数据包的同步体中扩展的警告命令携带网关的地址、第四认证信息和DM服务器对终端设备的操作指令。其中,上述操作指令可以封装在扩展的警告命令的CDATA字段中。
本实施例中,网关的地址携带在第二数据包的同步体中扩展的警告命令中,也就是说,对网关的寻址体现在承载层。
步骤405,DM服务器将第二数据包发送给网关。
步骤406,网关确定上述第二数据包为经由该网关发送给终端设备的管理数据包之后,网关生成新的第二数据包。
具体地,网关确定上述第二数据包为通过该网关发送给终端设备的数据包可以为:网关解析该第二数据包,获得第二数据包的目的地址,以及该第二数据包中警告编码字段的值,根据该第二数据包的目的地址以及上述警告编码字段的值确定第二数据包为经由该网关发送给终端设备的管理数据包,即第二数据包是DM服务器为了对该网关后的终端设备进行管理而发送的数据包。
其中,上述新的第二数据包的源地址为DM服务器的地址,目的地址为终端设备的地址,上述新的第二数据包的同步头中携带第三认证信息,上述新的第二数据包的同步体中扩展的警告命令携带网关的地址、第五认证信息和DM服务器对终端设备的操作指令。
步骤407,网关将新的第二数据包发送给终端设备。
步骤408,终端设备向网关发送第三数据包。
其中,该第三数据包的源地址为终端设备的地址,目的地址为DM服务器的地址,该第三数据包的同步头中携带第二认证信息,该第三数据包的同步体中扩展的警告命令携带网关的地址、第一认证信息和终端设备对上述操作指令的响应信息。或者,上述第三数据包的同步体中扩展的警告命令也可以不携带网关的地址。
本实施例中,网关的地址携带在第三数据包的同步体中扩展的警告命令中,也就是说,对网关的寻址体现在承载层。
步骤409,网关确定上述第三数据包为经由该网关发送给DM服务器的数据包之后,网关生成新的第三数据包。
具体地,网关确定上述第三数据包为通过该网关发送给DM服务器的数据包可以为:网关解析该第三数据包,获得第三数据包的目的地址,以及该第三数据包中警告编码字段的值,根据该第三数据包的目的地址以及上述警告编码字段的值确定上述第三数据包为经由该网关发送给DM服务器的数据包。
其中,新的第三数据包的源地址为网关的地址,目的地址为DM服务器的地址,上述新的第三数据包的同步头中携带第六认证信息,上述新的第三数据包的同步体中扩展的警告命令携带终端设备的地址、第二认证信息和终端设备对上述操作指令的响应信息。
步骤410,网关将新的第三数据包发送给DM服务器。
上述实施例可以实现在网关存在的情况下,DM服务器对该网关后的终端设备进行管理,以及实现了在网关存在的情况下,DM服务器和终端设备之间的直接会话交互。并且上述实施例对现有DM协议版本的改动较小,确保了兼容性。
图5为本发明设备管理方法再一个实施例的流程图,如图5所示,该设备管理方法可以包括:
步骤501,同步骤401。
步骤502,网关接收到第一数据包后,解析第一数据包,获得第一数据包的目的地址,根据该第一数据包的目的地址,确定上述第一数据包为经由该网关发送给DM服务器的管理请求之后,网关生成新的第一数据包。
其中,该第一数据包的目的地址为DM服务器的地址。
其中,上述新的第一数据包的源地址为终端设备的地址,上述新的第一数据包的目的地址为DM服务器的地址,上述新的第一数据包的同步头中携带第六认证信息,上述新的第一数据包同步体中的替换(Replace)命令携带网关的DevInfo,上述新的第一数据包同步体中扩展的警告(Alert)命令携带网关的地址、第二认证信息和该终端设备的DevInfo。其中,终端设备的DevInfo可以使用TNDS方式来发送。
进一步地,上述新的第一数据包的同步头中还携带MaxMsgSize和DM协议版本等信息。具体地,网关对比终端设备支持的MaxMsgSize与该网关支持的MaxMsgSize,将其中的较小值携带在新的第一数据包的同步头中;以及对比终端设备支持的DM协议版本和网关支持的DM协议版本,将其中的较低版本携带在上述新的第一数据包的同步头中。
步骤503~步骤508,同步骤403~步骤408。
步骤509,网关确定上述第三数据包为经由该网关发送给DM服务器的数据包之后,网关生成新的第三数据包。
具体地,网关确定上述第三数据包为经由该网关发送给DM服务器的数据包可以为:网关解析该第三数据包,获得第三数据包的目的地址,以及该第三数据包中警告编码字段的值,根据该第三数据包的目的地址以及上述警告编码字段的值确定上述第三数据包为经由该网关发送给DM服务器的数据包。
其中,新的第三数据包的源地址为终端设备的地址,目的地址为DM服务器的地址,上述新的第三数据包的同步头中携带第六认证信息,上述新的第三数据包的同步体中扩展的警告命令携带网关的地址、第二认证信息和终端设备对上述操作指令的响应信息。
步骤510,网关将新的第三数据包发送给DM服务器。
上述实施例可以实现在网关存在的情况下,DM服务器对该网关后的终端设备进行管理,以及实现了在网关存在的情况下,DM服务器和终端设备之间的直接会话交互。并且上述实施例对现有DM协议版本的改动较小,确保了兼容性。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
图6为本发明网关设备一个实施例的结构示意图,本实施例中的网关设备可以实现本发明图1所示实施例的流程,如图6所示,该网关设备可以包括:接收模块61、生成模块62和发送模块63;
其中,接收模块61,用于接收终端设备发送的第一数据包;以及接收设备管理服务器发送的第二数据包,该第二数据包携带终端设备的地址和该设备管理服务器对该终端设备的操作指令。
生成模块62,用于在确定接收模块61接收的第一数据包为经由网关发送给设备管理服务器的管理请求之后,生成新的第一数据包;以及在确定接收模块61接收的第二数据包为经由网关发送给终端设备的管理数据包之后,生成新的第二数据包。
具体地,生成模块62可以解析第一数据包,获得第一数据包的同步体中警告编码字段的值,根据该警告编码字段的值确定第一数据包为经由网关发送给设备管理服务器的管理请求;或者,解析第一数据包,获得第一数据包的目的地址,根据第一数据包的目的地址确定第一数据包为经由网关发送给设备管理服务器的管理数据包,该第一数据包的目的地址为设备管理服务器的地址。
发送模块63,用于将生成模块62生成的新的第一数据包发送给设备管理服务器,该新的第一数据包携带所述终端设备的地址和该终端设备的设备信息;以及根据接收模块61接收的第二数据包携带的终端设备的地址,将生成模块62生成的新的第二数据包发送给终端设备,该新的第二数据包携带设备管理服务器对终端设备的操作指令,该新的第二数据包用于指示上述终端设备执行该操作指令。
本实施例中,接收模块61接收的第一数据包携带第一认证信息和第二认证信息;该第一认证信息用于网关对上述终端设备进行认证,第二认证信息用于设备管理服务器对上述终端设备进行认证;这时,生成模块62,具体用于根据第一认证信息对上述终端设备认证通过后,确定第一数据包为经由网关发送给设备管理服务器的管理请求之后,生成新的第一数据包,该新的第一数据包还携带第二认证信息;这时,接收模块61,具体用于接收设备管理服务器根据上述第二认证信息对上述终端设备认证通过后发送的第二数据包;该第二数据包还携带第三认证信息和第四认证信息;其中,该第三认证信息用于终端设备对设备管理服务器进行认证,第四认证信息用于网关对设备管理服务器进行认证;这时,生成模块62,具体用于根据第四认证信息对上述设备管理服务器认证通过后,确定第二数据包为经由网关发送给终端设备的管理数据包之后,生成新的第二数据包,该新的第二数据包还携带第五认证信息和第三认证信息;该第五认证信息用于终端设备对网关进行认证。
进一步地,接收模块61还可以接收终端设备发送的第三数据包,该第三数据包携带终端设备对上述操作指令的响应信息。
生成模块62,还用于生成新的第三数据包;
发送模块63,还用于将生成模块62生成的新的第三数据包发送给设备管理服务器,该新的第三数据包携带终端设备的地址和终端设备对上述操作指令的响应信息。
本实施例中,接收模块61接收的第三数据包还可以携带第一认证信息和第二认证信息;这时,生成模块62,还用于根据第一认证信息对终端设备认证通过后,生成新的第三数据包;该新的第三数据包还可以携带第二认证信息。
上述网关设备中,接收模块61接收到终端设备发送的第一数据包,并在确定上述第一数据包为经由该网关发送给设备管理服务器的管理请求之后,生成模块62生成新的第一数据包,并由发送模块63将上述新的第一数据包发送给设备管理服务器;在确定设备管理服务器发送的第二数据包为经由该网关发送给上述终端设备的管理数据包之后,生成模块62生成新的第二数据包,并由发送模块63将该新的第二数据包发送给上述终端设备,上述新的第二数据包携带上述设备管理服务器对该终端设备的操作指令,从而可以实现在网关存在的情况下,设备管理服务器对该网关后的终端设备进行管理。
图7为本发明网关设备另一个实施例的结构示意图,与图6所示的网关设备相比,不同之处在于,图7所示的网关设备还可以包括:携带模块64和保存模块65;
携带模块64,用于将终端设备支持的最大消息长度与该网关支持的最大消息长度中的较小值携带在新的第一数据包的同步头中;以及将终端设备支持的设备管理协议版本和网关支持的设备管理协议版本中的较低版本携带在新的第一数据包的同步头中。
保存模块65,用于保存第一会话标识与第二会话标识的对应关系;该第一会话标识为终端设备和网关之间的会话的标识,第二会话标识为网关和设备管理服务器之间的会话的标识。
本实施例中,网关可以维护终端设备与设备管理服务器之间的多个对话,于是,保存模块65需要保存第一会话标识与第二会话标识的对应关系。也就是说,网关与终端设备,以及网关与设备管理服务器之间交互的各数据包均需携带会话标识,网关根据保存的第一会话标识与第二会话标识的对应关系,可以确定属于同一会话的数据包。
举例来说,接收模块61接收的第二数据包还携带第二会话标识;生成模块62生成的新的第二数据包还携带第一会话标识,该第一会话标识是根据上述第二会话标识,以及保存模块65保存的上述对应关系获得的与第二会话标识对应的第一会话标识。具体地,接收模块61接收到设备管理服务器发送的第二数据包之后,根据该第二数据包携带的第二会话标识,以及保存模块65保存的上述对应关系,获得与上述第二会话标识对应的第一会话标识,然后生成模块62将第一会话标识携带在新的第二数据包中。
上述网关设备可以实现在网关存在的情况下,DM服务器对该网关后的终端设备进行管理,以及实现了在网关存在的情况下,DM服务器和终端设备之间的直接会话交互。并且上述实施例对现有DM协议版本的改动较小,确保了兼容性。
图8为本发明设备管理系统一个实施例的结构示意图,如图8所示,该设备管理系统可以包括:终端设备81、设备管理服务器82和网关设备83。其中,网关设备83可以通过本发明图6或图7所示实施例提供的网关设备实现。
具体地,网关设备83,用于接收终端设备81发送的第一数据包,确定第一数据包为经由网关设备83发送给设备管理服务器82的管理请求之后,生成新的第一数据包,并将新的第一数据包发送给设备管理服务器82,新的第一数据包携带终端设备的地址和终端设备的设备信息;接收设备管理服务器82发送的第二数据包,该第二数据包携带终端设备81的地址和设备管理服务器82对终端设备81的操作指令;在确定第二数据包为经由网关设备83发送给终端设备81的管理数据包之后,生成新的第二数据包,并将新的第二数据包发送给终端设备81,该新的第二数据包携带设备管理服务器82对终端设备81的操作指令,以使终端设备81执行上述操作指令。
在具体实现时,终端设备81、设备管理服务器82和网关设备83可以按照本发明图2~图5所示实施例提供的流程进行交互,在此不再赘述。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。