一种设备管理方法及装置
技术领域
本发明涉及移动通信技术领域,具体来说是关于一种设备管理方法及装置。
背景技术
设备管理(DM,Device Management)系统用于第三方管理和设置终端设备(比如手机终端及终端中的功能对象)中的环境和配置信息,解决这些设备在使用过程中遇到的问题,例如通过无线网络(OTA,over the air)方式进行软件和固件的安装、升级等操作,并提供更加人性化和个性化的服务,提高用户体验。第三方可以是运营商,业务提供商或者合作方的信息管理部门。
终端设备上的设备客户端(DM Client)用于解释和执行DM服务器(DM Server)下发的管理命令。终端设备上存储的设备管理数据模型可以被认为是一个DM服务器对终端设备进行管理的接口,DM服务器通过DM协议与终端设备中的DM客户端进行通信来实现对终端设备的管理。设备管理数据模型中包括管理对象(MO,Management Object),管理对象由节点组成,DM服务器通过对管理对象或者节点的操作达到管理终端设备的目的,操作命令有Add(添加)、Get(获取)、Replace(替换)、Exec(执行)、Copy(复制)、Delete(删除)等。
目前开放移动联盟(OMA,Open Mobile Alliance)-DM协议中,DM Client对于DMserver的访问控制权限使用访问控制列表(ACL,Access Control List)机制来保障,ACL访问控制权限授权给DM server的ID标识,而不是DM server的URI,IP地址或者证书。如果DM Client能够直接访问DM Server,那么DM Client在DM会话中会接收到DMServer的标识,DM Client会把标识与欲访问的节点ACL属性值进行比对,从而控制DMServer的访问控制权限。对于不能直接访问DM Server的DM Client,通常是配置在防火墙后面,或者是设备本身不支持OMA DM协议,这些DM Client都位于网关(Gateway)之后。
对于代理模式Gateway下终端设备的管理,由Gateway代替DM Server管理DMClient,在Gateway发送给DM Client的管理消息或管理会话中仅包括Gateway的ID标识,终端设备上的DM Client根据Gateway的ID标识不能判断是否应该发起会话,从而拒绝DM Server的访问,无法完成终端设备的管理工作。
发明内容
为克服现有技术中存在的问题,本发明提供一种设备管理方法及装置,以解决在Gateway存在情况下,设备管理服务器管理设备管理客户端时访问权限控制的问题。
本发明实施例提供一种设备管理方法,所述方法包括:接收设备管理服务器发送的第一设备管理消息;根据接收到的第一设备管理消息生成第二设备管理消息,所述第二设备管理消息包括所述设备管理服务器的标识信息;将所述第二设备管理消息发送至终端设备;在接收设备管理服务器发送的第一设备管理消息之后,所述方法还包括:获取所述第一设备管理消息中包含的所述设备管理服务器的标识信息,以及管理对象或节点的信息;根据所述管理对象或节点的信息获取所述管理对象根节点或所述节点的访问控制权限;所述根据所述第一设备管理消息生成第二设备关系消息具体为,在所述访问控制权限允许所述设备管理服务器的操作时,根据所述第一设备管理消息生成所述第二设备管理消息。
本发明实施例还提供一种设备管理方法,所述方法包括:接收设备管理服务器发送的添加管理对象或节点的消息;根据所述添加管理对象或节点的消息在终端设备上添加管理对象或节点同时在本地存储所述管理对象或节点;所述方法还包括:接收所述设备管理服务器发送的第一设备管理消息,获取所述第一设备管理消息中包含的所述设备管理服务器的标识信息,以及管理对象或节点的信息;根据获取的管理对象或节点的信息从本地获取所述管理对象根节点或节点的访问控制权限;如果所述访问控制权限允许所述设备管理服务器的操作,则生成第二设备管理消息,并将所述第二设备管理消息发送至终端设备。
本发明实施例还提供一种设备管理装置,所述装置包括:管理消息接收单元,用于接收设备管理服务器发送的第一设备管理消息;管理消息生成单元,用于根据接收到的第一设备管理消息生成第二设备管理消息,所述第二设备管理消息中包括所述设备管理服务器的标识信息;管理消息发送单元,用于将所述第二设备管理消息发送至终端设备;所述装置还包括:标识信息获取单元,用于获取所述第一设备管理消息中包含的所述设备管理服务器的标识信息,以及管理对象或节点的信息;控制权限获取单元,用于根据所述管理对象或节点的信息获取所述管理对象根节点或所述节点的访问控制权限;所述管理消息生成单元还用于在所述访问控制权限允许所述设备管理服务器的操作时,根据所述第一设备管理消息生成第二设备管理消息。
本发明实施例还提供一种设备管理装置,所述装置包括:管理消息接收单元,用于接收设备管理服务器发送的第一设备管理消息;标识信息获取单元,用于获取第一设备管理消息中包含的所述设备管理服务器的标识信息和管理对象或节点的信息;控制权限获取单元,用于根据所述管理对象或节点的信息获取所述管理对象根节点或所述节点的访问控制权限;管理消息发送单元,用于在所述访问控制权限允许所述设备管理服务器的操作时,生成第二设备管理消息,将所述第二设备管理消息发送至终端设备;所述管理消息接收单元还用于接收设备管理服务器发送的第一设备管理消息;所述设备管理装置还包括:标识信息获取单元,用于获取所述第一设备管理消息中包含的所述设备管理服务器的标识信息,以及管理对象或节点的信息;控制权限获取单元,用于根据获取的管理对象或节点的信息从本地获取所述管理对象根节点或节点的访问控制权限;管理消息发送单元,用于在所述访问控制权限允许所述设备管理服务器的操作时,生成第二设备管理消息,并将所述第二设备管理消息发送至终端设备。
本发明实施例还提供一种设备管理装置,所述装置包括:管理消息接收单元,用于接收设备管理服务器发送的添加管理对象或节点的消息;管理对象或节点建立单元,用于根据所述添加管理对象或节点的消息在终端设备上添加管理对象或节点;管理对象或节点存储单元,用于在本地存储所述管理对象或节点。
本发明提供的设备管理方法及装置,解决了在Gateway存在情况下,DM Server管理DM Client时ACL权限控制的问题,使得在Gateway存在情况下,可以正常的使用DM的ACL机制进行权限控制。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。在附图中:
图1是本发明实施例提供的一种设备管理方法信令图;
图2是本发明实施例提供的一种设备管理方法信令图;
图3是本发明实施例提供的一种设备管理方法信令图;
图4是本发明实施例提供的一种设备管理方法信令图;
图5是本发明实施例提供的一种设备管理方法信令图;
图6是本发明实施例提供的一种设备管理方法信令图;
图7是本发明实施例提供的一种设备管理方法信令图;
图8是本发明实施例提供的一种设备管理方法信令图;
图9是本发明实施例提供的一种设备管理装置框图;
图10是本发明实施例提供的一种设备管理装置框图;
图11是本发明实施例提供的一种设备管理装置框图;
图12是本发明实施例提供的一种设备管理装置框图;
图13是本发明实施例提供的一种设备管理装置框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本发明做进一步详细说明。在此,本发明的示意性实施方式及其说明用于解释本发明,但并不作为对本发明的限定。
实施例一
图1是本发明实施例提供的一种设备管理方法信令图,如图1所示,本发明实施例提供的设备管理方法包括以下步骤:
S101,接收设备管理服务器发送的第一设备管理消息。
在本发明实施例中,终端设备(Device)既被Gateway初始化(Bootstrap)过,也被DM Sever Bootstrap过,也就是说Device上面既有Gateway的DMAcc(设备管理账户)管理对象,也有DM Server的管理对象。
在本发明实施例中,Gateway接收DM Sever发送的设备管理消息,设备管理消息是通知或触发消息(Notification)、设备管理消息包2或包4(PK2或PK4)消息。
S102,根据接收到的第一设备管理消息生成第二设备管理消息,所述第二设备管理消息中包括所述设备管理服务器的标识信息。
在本发明实施例中,由于Gateway从设备管理服务器接收和发送至终端设备的均为设备管理消息,为区分接收和发送的设备管理消息,现将接收到的设备管理消息称为第一设备管理消息,将发送的设备管理消息称为第二设备管理消息,Gateway根据接收到的第一设备管理消息生成第二设备管理消息,并在第二设备管理消息中给出DM Server的ID标识。
S103,将所述第二设备管理消息发送至终端设备。
在本发明实施例中,Gateway将生成的第二设备管理消息发送至Device。Device接收到第二设备管理消息后,进行ACL比对:如果访问权限许可,则执行相应管理操作;如果访问权限不许可,则不执行管理操作,并返回失败代码和消息。
本发明实施例提供的设备管理方法通过Device进行ACL权限控制,其关键是Gateway把DM Server的ID标识发送给Device,而不仅仅是发送Gateway的ID标识。
通过本发明实施例提供的设备管理方法,使得Device虽然接收的是Gateway发送的设备管理消息,仍能够获知真正发送设备管理消息的DM Server的ID标识,从而正常的进行ACL权限控制。
图2是本发明实施例提供的一种设备管理方法信令图,如图2所示,本发明实施例提供的设备管理方法包括以下步骤:
S201,Gateway接收DM Server发送的Notification消息包。
在本发明实施例中,DM Server发起对Device的管理,下发Notification消息给Gateway,Gateway接收DM Server发送的Notification消息包,得知其预管理Gateway下的Device。
在本发明实施例中,Device既被Gateway Bootstrap过,也被DM Sever Bootstrap过,也就是说Device上面既有Gateway的DMAcc管理对象,也有DM Server的管理对象。
S202,Gateway生成针对Device的Notification消息包,并在Notification消息包中给出DM Server的ID标识。
在本发明实施例中,在Notification消息包中给出DM Server的ID标识可以通过以下三种方式实现:
方式A:重新使用Notification消息包中的transport和ServerID字段,其中transport字段扩充定义:Proxy=11,用以指示为代理模式,而在ServerID中给出DM Server的ID信息。
方式B:扩充Gateway发送的Notification消息,给出Proxy字段,指示是否为代理模式,同时重用ServerID字段。
方式C:扩充Gateway发送的Notification消息,添加第二个ServerID字段,用以给出DM Server的ID。
对于方案A和方案B,这时仅仅给出的为DM Server的ID标识,由于Notification中Digest字段需要根据该DM server在Device上相应DMAcc管理对象中的鉴权密钥来生成,因此代理网关Gateway收到DM Server发送的Notification消息包后,在生成Notification之前,必须先发起到Device的管理会话,从Device上获得该DM Server的鉴权密钥信息,然后利用该鉴权密钥信息对Notification包的Trigger(触发信息)部分进行哈希计算,生成摘要数据。
S203,Gateway将生成的Notification消息包发送至Device。
在本发明实施例中,Gateway将生成的Notification消息包发送至Device,Device收到Gateway下发的Notification消息包,解析该消息包,得到DM Server的ID标识,同时根据Notification消息包给出的MO ID,来获取相应MO的ACL属性值,接着进行ACL权限控制,如果权限许可,则Device发起管理会话,如果不许可,则拒绝发起管理会话。
通过本实施例,使得Device虽然接收的是Gateway发送的Notification消息,仍能够获知真正发送Notification消息的DM Server的ID标识,从而正常的进行ACL权限控制。
图3是本发明实施例提供的一种设备管理方法信令图,如图3所示,本发明实施例提供的设备管理方法包括以下步骤:
S301,Gateway接收DM Server发送的Pkg2或者Pkg4的管理指令消息包。
在本发明实施例中,DM Server对Gateway后的Device进行管理,DM Server针对Device的管理指令会通过Pkg2或者Pkg4首先发送给Gateway。
在本发明实施例中,Device既被Gateway Bootstrap过,也被DM Sever Bootstrap过,也就是说Device上面既有Gateway的DMAcc管理对象,也有DM Server的管理对象。
S302,Gateway生成针对Device的Pkg2或者Pkg4管理指令消息包,并在Pkg2或者Pkg4消息包中给出DM Server的ID标识。
在本发明实施例中,在Pkg2或者Pkg4消息包中给出DM Server的ID标识可以通过以下三种方案实现:
方案A:扩充一个字段,用以给出DM Server的ID标识,该标识符的定义可如下所示:
SourceSer
用法:用来给出发起管理会话的DM服务器的标识;
父元素:SyncHdr;
子元素:LocURI;
限制:仅用于Gateway作为代理网关发起的管理会话消息包中;
其它:该元素是可选的。
对于DM Server标识为:LocURI>http://www.syncml.org/mgmt-server,代理网关Gateway的标识为:GatewayUrl,这时Gateway发送的Pkg2或者Pkg4消息包,对于源地址的指定如下所示:
方案B:使用一个已有的标识字来给出DM Server的ID标识,标识字:SourceParent,该字段在DM中的使用可以重新定义如下:
SourceParent
用法:用来给出发起管理会话的DM服务器的标识;
父元素:SyncHdr;
子元素:LocURI;
限制:仅用于Gateway作为代理网关发起的管理会话消息包中;
其它:该元素是可选的。
对于DM Server标识为:LocURI>http://www.syncml.org/mgmt-server,代理网关Gateway的标识为:GatewayUrl,这时Gateway发送的Pkg2或者Pkg4消息包,对于源地址的指定如下所示:
方案C:扩充DM协议中使用的通知编码(Alert Code),用以给出DM Server的ID,该Alert Code的定义如下:
对于DM Server标识为:LocURI>http://www.syncml.org/mgmt-server,这时Gateway发送的Pkg2或者Pkg4消息包,对于服务器地址的指定如下所示:
S303,Gateway将生成的Pkg2或者Pkg4消息包发送至Device。
在本发明实施例中,Gateway将生成的Pkg2或者Pkg4消息包发送至Device,Device收到Gateway下发的Pkg2或者Pkg4消息包,解析该消息包,得到DM Server的ID标识,同时根据消息包给出的操作节点标识,来获取相应节点的ACL属性值,接着进行ACL权限控制,如果权限许可,则Device执行相应操作,否则拒绝执行操作。
通过本实施例,使得Device虽然接收的是Gateway发送的管理指令,仍能够获知对其真正进行管理的DM Server的ID标识,从而正常的进行ACL权限控制。
实施例二
图4是本发明实施例提供的一种设备管理方法信令图,如图4所示,本发明实施例提供的设备管理方法包括以下步骤:
S401,接收设备管理服务器发送的第一设备管理消息,获取第一设备管理消息中包含的设备管理服务器的标识信息和管理对象或节点的信息。
在本发明实施例中,Gateway接收DM Sever发送的设备管理消息,设备管理消息是Notification、PK2或PK4消息。
在本发明实施例中,Gateway解析接收到的设备管理消息,获取设备管理消息中包含的设备管理服务器的标识信息和管理对象或节点的信息。当设备管理消息是Notification消息时,管理对象的信息可以是DM Server需要管理的MOID;当设备管理消息是PK2或PK4消息时,管理对象的信息可以是具体管理对象中节点的标识。
S402,根据管理对象或节点的信息获取所述管理对象根节点或节点的访问控制权限。
在本发明实施例中,Gateway根据获取的管理对象和节点的信息获得管理对象根节点或者节点的ACL。Gateway可以根据获得的MOID或者操作节点标识,发起到Device的管理会话,获得相应节点或者MO根节点的ACL,也可以在本地查找相应节点或者MO的ACL。
S404,如果所述访问控制权限允许所述设备管理服务器的操作,则生成第二设备管理消息,并将所述第二设备管理消息包发送至终端设备。
在本发明实施例中,如果访问控制列表中允许所述设备管理服务器的操作,则Gateway将生成的设备管理消息包发送至终端设备。如果访问控制列表不允许所述设备管理服务器的操作,则Gateway不发送设备管理消息包至终端设备。
在本发明的另一实施例中,在步骤S402和步骤S404之间,还可以包括步骤S403,根据所述设备管理服务器的标识信息和所述访问控制权限判断是否允许所述设备管理服务器的操作。
在本发明实施例中,Gateway根据获取的ACL和设备管理服务器的标识信息判断发起会话的Server是否满足访问许可条件。
本发明实施例提供的设备管理方法通过Gateway进行ACL权限控制,其关键是Gateway得到DM Server预管理的设备上相应MO根节点或者节点的ACL属性值。
本实施例由Gateway代替Device进行ACL权限控制管理,避免了对现有设备管理流程和命令的改变,并减少了Device的处理资源消耗。
图5是本发明实施例提供的一种设备管理方法信令图,如图5所示,本发明实施例提供的设备管理方法包括以下步骤:
S501,接收设备管理服务器发送的设备管理消息。
在本发明实施例中,Device既被Gateway Bootstrap过,也被DM Sever Bootstrap过,也就是说Device上面既有Gateway的DMAcc管理对象,也有DM Server的管理对象。
在本发明实施例中,DM Server发送Notification消息或者正常管理会话PK2、PK4消息给Gateway,其中Notification消息包给出了DM Server需要管理的MOID,比如给出SCOMO管理对象的MOID为:urn:oma:mo:oma-scomo:1.0,Pk2或Pk4消息包中给出操作节点的标识,比如:<LocURI>./settings/wap_settings/CNN</LocURI>,Gateway接收DM Sever发送的设备管理消息。
S502,解析接收到的设备管理消息,获取设备管理消息中包含的设备管理服务器的标识信息和需管理的管理对象或节点的信息。
在本发明实施例中,Gateway接收到Notification消息包或者正常管理会话PK2、PK4等消息后,对消息进行解析,获得需要管理的MOID或者操作节点的标识以及设备管理服务器的标识信息。当设备管理消息是Notification消息时,管理对象的信息可以是DMServer需要管理的MOID,比如SCOMO管理对象的MOID为:urn:oma:mo:oma-scomo:1.0;当设备管理消息是PK2或PK4消息时,管理对象的信息可以是操作节点的标识,比如:<LocURI>./settings/wap_settings/CNN</LocURI>。
S503,根据获取的管理对象或节点的信息从终端设备获取所述管理对象或节点的访问控制权限。
在本发明实施例中,Gateway根据获得的MOID或者操作节点标识,发起到Device的管理会话,获得相应节点或者MO的ACL,可以分为:
对于操作节点<LocURI>./settings/wap_settings/CNN</LocURI>,如果该节点有对应的ACL,那么就会直接返回该节点的ACL属性值,如果没有,那么需要返回其继承的ACL属性值;
对于MO,可以返回该MO的根节点的ACL属性值,或者返回该MO所有节点ACL属性值的集合。
S504,根据所述设备管理服务器的标识信息和所述访问控制权限判断是否允许所述设备管理服务器的操作。
在本发明实施例中,Gateway根据获取的ACL和设备管理服务器的标识信息判断是否允许所述设备管理服务器的操作。
S505,如果允许所述设备管理服务器的操作,则将所述设备管理消息包发送至终端设备。
在本发明实施例中,如果Gateway获取的ACL中允许设备管理服务器的操作,则Gateway将设备管理消息包发送至终端设备;如果Gateway获取的ACL中不允许设备管理服务器的操作,则Gateway不将设备管理消息包发送至终端设备。
本实施例由Gateway代替Device进行ACL权限控制管理,避免了对现有设备管理流程和命令的改变,并减少了Device的处理资源消耗。
图6是本发明实施例提供的一种设备管理方法信令图,如图6所示,本发明实施例提供的设备管理方法包括以下步骤:
S601,接收设备管理服务器发送的设备管理消息。
在本发明实施例中,Device仅被Gateway Bootstrap过,而未被DM Sever Bootstrap过,也就是说Device上面只有Gateway的DMAcc管理对象,没有DM Server的管理对象。
在本发明实施例中,DM Server发送Notification消息或者正常管理会话PK2、PK4消息给Gateway,其中Notification消息包给出了DM Server需要管理的MOID,比如给出SCOMO管理对象的MOID为:urn:oma:mo:oma-scomo:1.0,Pk2或Pk4消息包中给出操作节点的标识,比如:<LocURI>./settings/wap_settings/CNN</LocURI>,Gateway接收DM Sever发送的设备管理消息。
S602,解析接收到的设备管理消息,获取设备管理消息中包含的设备管理服务器的标识信息和需管理的管理对象或节点的信息。
在本发明实施例中,Gateway接收到Notification消息包或者正常管理会话PK2、PK4等消息后,对消息进行解析,获得需要管理的MOID或者操作节点的标识以及设备管理服务器的标识信息。当设备管理消息是Notification消息时,管理对象的信息可以是DMServer需要管理的MOID,比如SCOMO管理对象的MOID为:urn:oma:mo:oma-scomo:1.0;当设备管理消息是PK2或PK4消息时,管理对象的信息可以是操作节点的标识,比如:<LocURI>./settings/wap_settings/CNN</LocURI>。
S603,根据获取的管理对象或节点的信息在本地查找所述管理对象或节点的访问控制权限。
在本发明实施例中,Gateway根据获得的MOID或者操作节点标识,查找自身保存的MO或者节点的ACL属性信息,获得对应节点的ACL属性值,获得对应节点的ACL属性值。
S604,根据所述设备管理服务器的标识信息和所述访问控制权限判断是否允许所述设备管理服务器的操作。
在本发明实施例中,Gateway根据获取的ACL和设备管理服务器的标识信息判断是否允许所述设备管理服务器的操作。
S605,如果允许所述设备管理服务器的操作,则将所述设备管理消息包发送至终端设备。
在本发明实施例中,如果Gateway获取的ACL中允许设备管理服务器的操作,则Gateway将设备管理消息包发送至终端设备;如果Gateway获取的ACL中不允许设备管理服务器的操作,则Gateway不将设备管理消息包发送至终端设备。
在本发明实施例中,由于Device未被DM Server Boostrap,因此Device上MO或者节点的ACL属性值中不会包括相应的DM Server的ID标识,所以这里对ACL权限的控制只能通过Gateway来进行,关键是Gateway上需要保存Device上相应MO根节点或者节点的ACL属性值。
本实施例由Gateway代替Device进行ACL权限控制管理,避免了对现有设备管理流程和命令的改变,并减少了Device的处理资源消耗。
图7是本发明实施例提供的一种设备管理方法信令图,如图7所示,本发明实施例提供的设备管理方法包括以下步骤:
S701,接收设备管理服务器发送的添加管理对象或节点的设备管理消息。
在本发明实施例中,Device仅被Gateway Bootstrap过,而未被DM Sever Bootstrap过,也就是说Device上面只有Gateway的DMAcc管理对象,没有DM Server的管理对象。
在本发明实施例中,Gateway接收DM Server发起的MO或者节点建立命令。
S702,根据所述添加管理对象或节点的设备管理消息在终端设备上添加管理对象或节点,同时在本地存储所述管理对象或节点。
在本发明实施例中,Gateway根据相应命令在Device上建立相应MO或者节点,同时在Gateway中保存MO或者节点的ACL值,该ACL属性值中包括进行管理DM Server的ID,具体可以通过以下两种方式实现:
Gateway根据DM Server命令在Device建立相应节点或者MO的同时,也在Gateway自身上建立相应节点或者MO,包括对应的参数取值和属性取值,而且在Gateway上设立的相应节点或者MO的ACL属性值中包括进行管理DM Server的ID标识;
Gateway根据DM Server命令在Device建立相应节点或者MO的同时,也在Gateway自身上存储相应节点或者MO的ACL属性值,ACL属性值中包括进行管理DM Server的ID标识。
S703,接收设备管理服务器发送的设备管理消息。
在本发明实施例中,DM Server发送Notification消息或者正常管理会话PK2、PK4消息给Gateway,其中Notification消息包给出了DM Server需要管理的MOID,比如给出SCOMO管理对象的MOID为:urn:oma:mo:oma-scomo:1.0,Pk2或Pk4消息包中给出操作节点的标识,比如:<LocURI>./settings/wap_settings/CNN</LocURI>,Gateway接收DM Sever发送的设备管理消息。
S704,解析接收到的设备管理消息,获取设备管理消息中包含的设备管理服务器的标识信息和需管理的管理对象或节点的信息。
在本发明实施例中,Gateway接收到Notification消息包或者正常管理会话PK2、PK4等消息后,对消息进行解析,获得需要管理的MOID或者操作节点的标识以及设备管理服务器的标识信息。当设备管理消息是Notification消息时,管理对象的信息可以是DMServer需要管理的MOID,比如SCOMO管理对象的MOID为:urn:oma:mo:oma-scomo:1.0;当设备管理消息是PK2或PK4消息时,管理对象的信息可以是操作节点的标识,比如:<LocURI>./settings/wap_settings/CNN</LocURI>。
S705,根据获取的管理对象或节点的信息在本地查找所述管理对象或节点的访问控制权限。
在本发明实施例中,Gateway根据获得的MOID或者操作节点标识,查找自身保存的MO或者节点的ACL属性信息,获得对应节点的ACL属性值,获得对应节点的ACL属性值。
S706,根据所述设备管理服务器的标识信息和所述访问控制权限判断是否允许所述设备管理服务器的操作。
在本发明实施例中,Gateway根据获取的ACL和设备管理服务器的标识信息判断是否允许所述设备管理服务器的操作。
S707,如果允许所述设备管理服务器的操作,则将所述设备管理消息包发送至终端设备。
在本发明实施例中,如果Gateway获取的ACL中允许设备管理服务器的操作,则Gateway将设备管理消息包发送至终端设备;如果Gateway获取的ACL中不允许设备管理服务器的操作,则Gateway不将设备管理消息包发送至终端设备。
在本发明实施例中,如果DM Server通过Gateway下发的针对Device的是关于ACL属性值的操作,那么Gateway上保存的相应节点或者MO的ACL属性值也会发生相应的变化。
本实施例由Gateway代替Device进行ACL权限控制管理,避免了对现有设备管理流程和命令的改变,并减少了Device的处理资源消耗。
实施例三
图8是本发明实施例提供的一种设备管理方法信令图,如图8所示,本发明实施例提供的设备管理方法包括以下步骤:
S801,接收设备管理服务器发送的添加管理对象或节点的消息。
在本发明实施例中,Device仅被Gateway Bootstrap过,而未被DM Sever Bootstrap过,也就是说Device上面只有Gateway的DMAcc管理对象,没有DM Server的管理对象。
在本发明实施例中,Gateway接收DM Server发起的MO或者节点建立命令。
S802,根据所述添加管理对象或节点的消息在终端设备上添加管理对象或节点,同时在本地存储所述管理对象或节点。
在本发明实施例中,Gateway根据相应命令在Device上建立相应MO或者节点,同时在Gateway中保存MO或者节点的ACL值,该ACL属性值中包括进行管理DM Server的ID,具体可以通过以下两种方式实现:
Gateway根据DM Server命令在Device建立相应节点或者MO的同时,也在Gateway自身上建立相应节点或者MO,包括对应的参数取值和属性取值,而且在Gateway上设立的相应节点或者MO的ACL属性值中包括进行管理DM Server的ID标识;
Gateway根据DM Server命令在Device建立相应节点或者MO的同时,也在Gateway自身上存储相应节点或者MO的ACL属性值,ACL属性值中包括进行管理DM Server的ID标识。
在本发明的另一实施例中,设备管理方法还可以包括图7所示的步骤S703至S707,具体步骤与图7相同,故在此不再赘述。
在本实施例中,在Device未被DM Sever Bootstrap的情况下,由Gateway在Device和本地建立ACL,使得在Gateway存在情况下,仍能正常的使用DM的ACL机制进行权限控制,并且无论Device是否被DM Server所Bootstrap,都能进行正确的ACL权限控制。
实施例四
图9是本发明实施例提供的一种设备管理装置框图,如图9所示,本发明实施例提供的设备管理装置900包括:管理消息接收单元901、管理消息生成单元902和管理消息发送单元903,其中:
管理消息接收单元901,用于接收设备管理服务器发送的第一设备管理消息;
在本发明实施例中,终端设备(Device)既被Gateway初始化(Bootstrap)过,也被DM Sever Bootstrap过,也就是说Device上面既有Gateway的DMAcc管理对象,也有DM Server的管理对象。
在本发明实施例中,管理消息接收单元901接收DM Sever发送的第一设备管理消息,其中第一设备管理消息包括Notification、PK2和PK4消息。
管理消息生成单元902,用于根据接收到的第一设备管理消息生成第二设备管理消息,所述第二设备管理消息中包括所述设备管理服务器的标识信息;
在本发明实施例中,管理消息生成单元902根据管理消息接收单元901接收到的第一设备管理消息生成第二设备管理消息,并在第二设备管理消息中给出DM Server的ID标识。
管理消息发送单元903,用于将所述第二设备管理消息发送至终端设备。
在本发明实施例中,管理消息发送单元903将生成的第二设备管理消息发送至Device。Device接收到第二设备管理消息后,进行ACL比对:如果访问权限许可,则执行相应管理操作;如果访问权限不许可,则不执行管理操作,并返回失败代码和消息。
本发明实施例提供的设备管理装置通过Device进行ACL权限控制,其关键是Gateway把DM Server的ID标识发送给Device,而不仅仅是发送Gateway的ID标识。
通过本发明实施例提供的设备管理装置,使得Device虽然接收的是Gateway发送的设备管理消息,仍能够获知真正发送设备管理消息的DM Server的ID标识,从而正常的进行ACL权限控制。
在本发明的另一实施例中,DM Server发起对Device的管理,下发Notification消息给Gateway,管理消息接收单元901接收DM Server发送的Notification消息包,得知其预管理Gateway下的Device。管理消息生成单元902生成针对Device的Notification消息包,并在Notification消息包中给出DM Server的ID标识,可以通过以下三种方式实现:
方式A:重新使用Notification消息包中的transport和ServerID字段,其中transport字段扩充定义:Proxy=11,用以指示为代理模式,而在ServerID中给出DM Server的ID信息。
方式B:扩充Gateway发送的Notification消息,给出Proxy字段,指示是否为代理模式,同时重用ServerID字段。
方式C:扩充Gateway发送的Notification消息,添加第二个ServerID字段,用以给出DM Server的ID。
对于方案A和方案B,这时仅仅给出的为DM Server的ID标识,由于Notification中Digest字段需要根据该DM server在Device上相应DMAcc管理对象中的鉴权密钥来生成,因此代理网关Gateway收到DM Server发送的Notification消息包后,在生成Notification之前,必须先发起到Device的管理会话,从Device上获得该DM Server的鉴权密钥信息,然后利用该鉴权密钥信息对Notification包的Trigger(触发信息)部分进行哈希计算,生成摘要数据。管理消息发送单元903将生成的Notification消息包发送至Device,Device收到Gateway下发的Notification消息包,解析该消息包,得到DM Server的ID标识,同时根据Notification消息包给出的MO ID,来获取相应MO的ACL属性值,接着进行ACL权限控制,如果权限许可,则Device发起管理会话,如果不许可,则拒绝发起管理会话。
通过本实施例,使得Device虽然接收的是Gateway发送的Notification消息,仍能够获知真正发送Notification消息的DM Server的ID标识,从而正常的进行ACL权限控制。
在本发明的另一实施例中,DM Server对Gateway后的Device进行管理,DM Server针对Device的管理指令会通过Pkg2或者Pkg4首先发送给Gateway,管理消息接收单元901接收DM Server发送的Pkg2或者Pkg4的管理指令消息包。管理消息生成单元902生成针对Device的Pkg2或者Pkg4管理指令消息包,并在Pkg2或者Pkg4消息包中给出DM Server的ID标识,可以通过以下三种方案实现:
方案A:扩充一个字段,用以给出DM Server的ID标识,该标识符的定义可如下所示:
SourceSer
用法:用来给出发起管理会话的DM服务器的标识;
父元素:SyncHdr;
子元素:LocURI;
限制:仅用于Gateway作为代理网关发起的管理会话消息包中;
其它:该元素是可选的。
对于DM Server标识为:LocURI>http://www.syncml.org/mgmt-server,代理网关Gateway的标识为:GatewayUrl,这时Gateway发送的Pkg2或者Pkg4消息包,对于源地址的指定如下所示:
方案B:使用一个已有的标识字来给出DM Server的ID标识,标识字:SourceParent,该字段在DM中的使用可以重新定义如下:
SourceParent
用法:用来给出发起管理会话的DM服务器的标识;
父元素:SyncHdr;
子元素:LocURI;
限制:仅用于Gateway作为代理网关发起的管理会话消息包中;
其它:该元素是可选的。
对于DM Server标识为:LocURI>http://www.syncml.org/mgmt-server,代理网关Gateway的标识为:GatewayUrl,这时Gateway发送的Pkg2或者Pkg4消息包,对于源地址的指定如下所示:
方案C:扩充DM协议中使用的Alert Code,用以给出DM Server的ID,该Alert Code的定义如下:
对于DM Server标识为:LocURI>http://www.syncml.org/mgmt-server,这时Gateway发送的Pkg2或者Pkg4消息包,对于服务器地址的指定如下所示:
管理消息发送单元903将生成的Pkg2或者Pkg4消息包发送至Device,Device收到Gateway下发的Pkg2或者Pkg4消息包,解析该消息包,得到DM Server的ID标识,同时根据消息包给出的操作节点标识,来获取相应节点的ACL属性值,接着进行ACL权限控制,如果权限许可,则Device执行相应操作,否则拒绝执行操作。
通过本实施例,使得Device虽然接收的是Gateway发送的管理指令,仍能够获知对其真正进行管理的DM Server的ID标识,从而正常的进行ACL权限控制。
实施例五
图10是本发明实施例提供的一种设备管理装置框图,如图10所示,本发明实施例提供的设备管理装置1000包括:管理消息接收单元1001、标识信息获取单元1002、控制权限获取单元1003和管理消息发送单元1005,其中:
管理消息接收单元1001,用于接收设备管理服务器发送的第一设备管理消息。
在本发明实施例中,管理消息接收单元1001接收DM Sever发送的设备管理消息,设备管理消息可以是Notification、PK2或PK4消息。
标识信息获取单元1002,用于获取第一设备管理消息中包含的所述设备管理服务器的标识信息和管理对象或节点的信息。
在本发明实施例中,标识信息获取单元1002解析接收到的设备管理消息,获取设备管理消息中包含的设备管理服务器的标识信息和管理对象的信息。当设备管理消息是Notification消息时,管理对象的信息可以是DM Server需要管理的MOID;当设备管理消息是PK2或PK4消息时,管理对象的信息可以是操作节点的标识。
控制权限获取单元1003,用于根据管理对象或节点的信息获取所述管理对象根节点或节点的访问控制权限。
在本发明实施例中,控制权限获取单元1003根据获取的管理对象的信息获得相应节点或者MO的ACL。Gateway可以根据获得的MOID或者操作节点标识,发起到Device的管理会话,获得相应节点或者MO的ACL,也可以在本地查找相应节点或者MO的ACL。
在本发明实施例中,控制权限获取单元1003可以包括终端访问权限获取模块和/或本地访问权限获取模块,其中:
终端访问权限获取模块,用于根据获取的管理对象的信息从终端设备获取所述管理对象的访问控制权限。
本地访问权限获取模块,用于根据获取的管理对象的信息从本地获取所述管理对象的访问控制权限。
管理消息发送单元1005,用于在所述访问控制权限允许所述设备管理服务器的操作时,生成第二设备管理消息,并将所述第二设备管理消息包发送至终端设备。
在本发明实施例中,如果访问控制列表中允许所述设备管理服务器的操作,则管理消息发送单元1005将设备管理消息包发送至终端设备。如果访问控制列表中不允许所述设备管理服务器的操作,则管理消息发送单元1005不将设备管理消息包发送至终端设备。
在本发明的另一实施例中,设备管理装置1000还可以包括访问控制判断单元1004,用于根据所述设备管理服务器的标识信息和所述访问控制权限判断是否允许所述设备管理服务器的操作。
在本发明实施例中,访问控制判断单元1004判断访问控制列表中是否包含设备管理服务器的标识信息,根据获取的ACL和设备管理服务器的标识信息判断发起会话的Server是否满足条件。
本发明实施例提供的设备管理方法通过Gateway进行ACL权限控制,其关键是Gateway得到DM Server预管理的设备上相应MO或者节点的ACL属性值。
本实施例由Gateway代替Device进行ACL权限控制管理,避免了对现有设备管理流程和命令的改变,并减少了Device的处理资源消耗。
图11是本发明实施例提供的一种设备管理装置框图,如图11所示,本发明实施例提供的设备管理装置1100包括:管理消息接收单元1101、管理消息解析单元1102、终端访问权限获取单元1103、访问控制判断单元1104和管理消息发送单元1105,其中:
管理消息接收单元1101接收设备管理服务器发送的设备管理消息。
在本发明实施例中,Device既被Gateway Bootstrap过,也被DM Sever Bootstrap过,也就是说Device上面既有Gateway的DMAcc管理对象,也有DM Server的管理对象。
在本发明实施例中,DM Server发送Notification消息或者正常管理会话PK2、PK4消息给Gateway,其中Notification消息包给出了DM Server需要管理的MOID,比如给出SCOMO管理对象的MOID为:urn:oma:mo:oma-scomo:1.0,Pk2或Pk4消息包中给出操作节点的标识,比如:<LocURI>./settings/wap_settings/CNN</LocURI>,管理消息接收单元1101接收DM Sever发送的设备管理消息。
管理消息解析单元1102解析接收到的设备管理消息,获取设备管理消息中包含的设备管理服务器的标识信息和需管理的管理对象或节点的信息。
在本发明实施例中,管理消息接收单元1101接收到Notification消息包或者正常管理会话PK2、PK4等消息后,管理消息解析单元1102对消息进行解析,获得需要管理的MOID或者操作节点的标识以及设备管理服务器的标识信息。当设备管理消息是Notification消息时,管理对象的信息可以是DM Server需要管理的MOID,比如SCOMO管理对象的MOID为:urn:oma:mo:oma-scomo:1.0;当设备管理消息是PK2或PK4消息时,管理对象的信息可以是操作节点的标识,比如:<LocURI>./settings/wap_settings/CNN</LocURI>。
终端访问权限获取单元1103根据获取的管理对象或节点的信息从终端设备获取所述管理对象或节点的访问控制权限。
在本发明实施例中,终端访问权限获取单元1103根据获得的MOID或者操作节点标识,发起到Device的管理会话,获得相应节点或者MO的ACL,可以分为:
对于操作节点<LocURI>./settings/wap_settings/CNN</LocURI>,如果该节点有对应的ACL,那么就会直接返回该节点的ACL属性值,如果没有,那么需要返回其继承的ACL属性值;
对于MO,可以返回该MO的根节点的ACL属性值,或者返回该MO所有节点ACL属性值的集合。
访问控制判断单元1104根据所述设备管理服务器的标识信息和所述访问控制权限判断是否允许所述设备管理服务器的操作。
在本发明实施例中,访问控制判断单元1104根据终端访问权限获取单元1103获取的ACL和设备管理服务器的标识信息判断发起会话的Server是否满足条件。
管理消息发送单元1105在允许所述设备管理服务器的操作时,将所述设备管理消息包发送至终端设备。
在本发明实施例中,如果终端访问权限获取单元1103获取的ACL中允许所述设备管理服务器的操作,则管理消息发送单元1105将设备管理消息包发送至终端设备;如果终端访问权限获取单元1103获取的ACL中不允许所述设备管理服务器的操作,则管理消息发送单元1105不将设备管理消息包发送至终端设备。
本实施例由Gateway代替Device进行ACL权限控制管理,避免了对现有设备管理流程和命令的改变,并减少了Device的处理资源消耗。
图12是本发明实施例提供的一种设备管理装置框图,如图12所示,本发明实施例提供的设备管理装置1200包括:管理消息接收单元1201、管理消息解析单元1202、本地访问权限获取单元1203、访问控制判断单元1204和管理消息发送单元1205,其中:
管理消息接收单元1201接收设备管理服务器发送的设备管理消息。
在本发明实施例中,Device仅被Gateway Bootstrap过,而未被DM Sever Bootstrap过,也就是说Device上面只有Gateway的DMAcc管理对象,没有DM Server的管理对象。
在本发明实施例中,DM Server发送Notification消息或者正常管理会话PK2、PK4消息给Gateway,其中Notification消息包给出了DM Server需要管理的MOID,比如给出SCOMO管理对象的MOID为:urn:oma:mo:oma-scomo:1.0,Pk2或Pk4消息包中给出操作节点的标识,比如:<LocURI>./settings/wap_settings/CNN</LocURI>,管理消息接收单元1201接收DM Sever发送的设备管理消息。
管理消息解析单元1202解析接收到的设备管理消息,获取设备管理消息中包含的设备管理服务器的标识信息和需管理的管理对象或节点的信息。
在本发明实施例中,管理消息接收单元1201接收到Notification消息包或者正常管理会话PK2、PK4等消息后,管理消息解析单元1202对消息进行解析,获得需要管理的MOID或者操作节点的标识以及设备管理服务器的标识信息。当设备管理消息是Notification消息时,管理对象的信息可以是DM Server需要管理的MOID,比如SCOMO管理对象的MOID为:urn:oma:mo:oma-scomo:1.0;当设备管理消息是PK2或PK4消息时,管理对象的信息可以是操作节点的标识,比如:<LocURI>./settings/wap_settings/CNN</LocURI>。
本地访问权限获取单元1203根据获取的管理对象或节点的信息在本地查找所述管理对象或节点的访问控制权限。
在本发明实施例中,本地访问权限获取单元1203根据获得的MOID或者操作节点标识,查找自身保存的MO或者节点的ACL属性信息,获得对应节点的ACL属性值,获得对应节点的ACL属性值。
访问控制判断单元1204根据所述设备管理服务器的标识信息和所述访问控制权限判断是否允许所述设备管理服务器的操作。
在本发明实施例中,访问控制判断单元1204根据获取的ACL和设备管理服务器的标识信息判断发起会话的Server是否满足条件。
管理消息发送单元1205在允许所述设备管理服务器的操作时,将所述设备管理消息包发送至终端设备。
在本发明实施例中,如果本地访问权限获取单元1203获取的ACL中允许所述设备管理服务器的操作,则管理消息发送单元1205将设备管理消息包发送至终端设备;如果本地访问权限获取单元1203获取的ACL中不允许所述设备管理服务器的操作,则管理消息发送单元1205不将设备管理消息包发送至终端设备。
在本发明的另一实施例中,设备管理装置1200还可以包括管理对象或节点建立单元1206和管理对象或节点存储单元1207。
管理消息接收单元1201接收设备管理服务器发送的添加管理对象或节点的设备管理消息。
在本发明实施例中,管理消息接收单元1201还用于接收DM Server发起的MO或者节点建立命令。
管理对象或节点建立单元1206根据所述添加设备管理建立消息在终端设备上添加管理对象或节点,同时管理对象或节点存储单元1207在本地存储所述管理对象或节点。
在本发明实施例中,管理对象或节点建立单元1206根据相应命令在Device上建立相应MO或者节点,同时管理对象或节点存储单元1207在Gateway中保存MO或者节点的ACL值,该ACL属性值中包括进行管理DM Server的ID,具体可以通过以下两种方式实现:
管理对象或节点建立单元1206根据DM Server命令在Device建立相应节点或者MO的同时,管理对象或节点存储单元1207也在Gateway自身上建立相应节点或者MO,包括对应的参数取值和属性取值,而且在Gateway上设立的相应节点或者MO的ACL属性值中包括进行管理DM Server的ID标识;
管理对象或节点建立单元1206根据DM Server命令在Device建立相应节点或者MO的同时,管理对象或节点存储单元1207也在Gateway自身上存储相应节点或者MO的ACL属性值,ACL属性值中包括进行管理DM Server的ID标识。
在本发明实施例中,如果DM Server通过Gateway下发的针对Device的是关于ACL属性值的操作,那么Gateway上保存的相应节点或者MO的ACL属性值也会发生相应的变化。
本实施例由Gateway代替Device进行ACL权限控制管理,避免了对现有设备管理流程和命令的改变,并减少了Device的处理资源消耗。
实施例六
图13是本发明实施例提供的一种设备管理装置框图,如图13所示,本发明实施例提供的设备管理装置1300包括:管理消息接收单元1301、管理对象或节点建立单元1302和管理对象或节点存储单元1303,其中:
管理消息接收单元1301接收设备管理服务器发送的添加管理对象或节点的消息。
在本发明实施例中,Device仅被Gateway Bootstrap过,而未被DM Sever Bootstrap过,也就是说Device上面只有Gateway的DMAcc管理对象,没有DM Server的管理对象。
在本发明实施例中,管理消息接收单元1301接收DM Server发起的MO或者节点建立命令。
管理对象或节点建立单元1302根据所述添加管理对象或节点的消息在终端设备上建立管理对象或节点,同时管理对象或节点存储单元1303在本地存储所述管理对象或节点。
在本发明实施例中,管理对象或节点建立单元1302根据相应命令在Device上建立相应MO或者节点,同时管理对象或节点存储单元1303在Gateway中保存MO或者节点的ACL值,该ACL属性值中包括进行管理DM Server的ID,具体可以通过以下两种方式实现:
管理对象或节点建立单元1302根据DM Server命令在Device建立相应节点或者MO的同时,管理对象或节点存储单元1303也在Gateway自身上建立相应节点或者MO,包括对应的参数取值和属性取值,而且在Gateway上设立的相应节点或者MO的ACL属性值中包括进行管理DM Server的ID标识;
管理对象或节点建立单元1302根据DM Server命令在Device建立相应节点或者MO的同时,管理对象或节点存储单元1303也在Gateway自身上存储相应节点或者MO的ACL属性值,ACL属性值中包括进行管理DM Server的ID标识。
在本发明的另一实施例中,图13所示的设备管理装置1300还可以包括管理消息接收单元、管理消息解析单元、本地访问权限获取单元、访问控制判断单元和管理消息发送单元,以上单元的功能与图12相同,故在此不再赘述。
在本实施例中,在Device未被DM Sever Bootstrap的情况下,由Gateway在Device和本地建立ACL,使得在Gateway存在情况下,仍能正常的使用DM的ACL机制进行权限控制,并且无论Device是否被DM Server所Bootstrap,都能进行正确的ACL权限控制。
以上所述具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。