基于权限控制的终端管理方法及装置转让专利

申请号 : CN200810224254.6

文献号 : CN101730099A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 柴晓前田林一

申请人 : 华为技术有限公司

摘要 :

本发明实施例提供了一种基于权限控制的终端管理方法及装置。首先接收设备管理服务器对设备管理树中目标节点的管理命令;然后再判断所述设备管理服务器是否拥有对所述目标节点执行所述管理命令的直接权限,若有,则根据所述直接权限处理所述管理命令;若没有,再判断所述设备管理服务器是否拥有对所述目标节点执行所述管理命令的间接权限,若有,则根据所述间接权限处理所述管理命令。这样就增加了终端设备权限推算的能力,也就是使终端设备能够根据间接权限来判断是否可以进行相应的处理,而不需要设备管理服务器逐级的对权限进行修改,从而简化了权限管理的复杂度,减少了设备管理服务器和终端设备之间的消息交互次数,进而提高了终端设备管理的效率和性能。

权利要求 :

1.一种基于权限控制的终端管理方法,其特征在于,

接收设备管理服务器对设备管理树中目标节点的管理命令;

判断所述设备管理服务器是否拥有对所述目标节点执行所述管理命令的直接权限,若有,则根据所述直接权限处理所述管理命令;

若没有,则判断所述设备管理服务器是否拥有对所述目标节点执行所述管理命令的间接权限,若有,则根据所述间接权限处理所述管理命令。

2.如权利要求1所述的方法,其特征在于,所述判断所述设备管理服务器是否拥有对所述目标节点执行所述管理命令的间接权限具体包括:判断所述设备管理服务器是否拥有在所述目标节点到设备管理树的根节点之间的某一节点的更改权限;

若有,则确定所述设备管理服务器拥有对所述目标节点执行所述管理命令的间接权限。

3.如权利要求2所述的方法,其特征在于,所述判断所述设备管理服务器是否拥有在所述目标节点到设备管理树的根节点之间的某一节点的更改权限具体包括:从所述目标节点到设备管理树的根节点,逐级判断是否存在访问控制列表属性值的修改项包含有所述设备管理服务器标识的节点;

若存在这样的节点,则确定所述设备管理服务器拥有在所述目标节点到设备管理树的根节点之间的该节点的更改权限。

4.如权利要求1所述的方法,其特征在于,判断所述设备管理服务器是否拥有对所述目标节点执行所述管理命令的直接权限具体包括:获取所述目标节点的访问控制列表值;

判断所获取的访问控制列表值中是否包含所述管理命令的对应项,且在包含所述管理命令的对应项时,判断该对应项中是否包含所述设备管理服务器的标识;

若包含所述设备管理服务器的标识,则确定所述设备管理服务器拥有对所述目标节点执行所述管理命令的直接权限。

5.如权利要求4所述的方法,其特征在于,所述获取所述目标节点的访问控制列表值,具体包括:获取所述目标节点的访问控制列表值属性值,若所述属性值为空,则获取离所述目标节点最近的,且访问控制列表属性值不为空的祖先节点的访问控制列表值作为所述目标节点的访问控制列表值。

6.一种基于权限控制的访问控制列表的获取方法,其特征在于,接收设备管理服务器对设备管理树中目标节点的访问控制列表的获取命令;

判断所述设备管理服务器是否拥有对所述目标节点执行所述获取命令的直接权限,若有,则根据所述直接权限处理所述获取命令;

若没有,则判断所述设备管理服务器是否拥有对所述目标节点执行所述获取命令的间接权限,若有,则根据所述间接权限处理所述获取命令。

7.如权利要求6所述的方法,其特征在于,所述判断所述设备管理服务器是否拥有对所述目标节点执行所述获取命令的间接权限具体包括:判断所述设备管理服务器是否拥有在所述目标节点到设备管理树的根节点之间的某一节点的更改权限;或,判断所述设备管理服务器是否拥有对所述目标节点的父节点的获取权限;或,判断所述设备管理服务器是否拥有对所述目标节点的父节点的更改权限;

若有,则确定所述设备管理服务器拥有对所述目标节点执行所述获取命令的间接权限。

8.如权利要求7所述的方法,其特征在于,所述判断所述设备管理服务器是否拥有在所述目标节点到设备管理树的根节点之间的某一节点的更改权限具体包括:从所述目标节点到设备管理树的根节点,逐级判断是否存在访问控制列表属性值的修改项包含有所述设备管理服务器标识的节点;

若存在这样的节点,则确定所述设备管理服务器拥有在所述目标节点到设备管理树的根节点之间的该节点的更改权限。

9.如权利要求7所述的方法,其特征在于,所述判断所述设备管理服务器是否拥有对所述目标节点的父节点的获取权限,具体包括:判断所述目标节点的父节点的访问控制列表值中的获取项是否包含所述设备管理服务器的标识;

若包含,则确定所述设备管理服务器拥有对所述目标节点的父节点的获取权限。

10.如权利要求7所述的方法,其特征在于,所述判断所述设备管理服务器是否拥有对所述目标节点的父节点的更改权限,具体包括:判断所述目标节点的父节点的访问控制列表值中的修改项是否包含所述设备管理服务器的标识;

若包含,则确定所述设备管理服务器拥有对所述目标节点的父节点的更改权限。

11.如权利要求6所述的方法,其特征在于,所述判断所述设备管理服务器是否拥有对所述目标节点执行所述获取命令的直接权限具体包括:获取所述目标节点的访问控制列表值;

判断所获取的访问控制列表值中的获取项是否包含所述设备管理服务器的标识;

若包含,则确定所述设备管理服务器拥有对所述目标节点执行所述获取命令的直接权限。

12.如权利要求6所述的方法,其特征在于,

所述获取命令包含所述目标节点的路径以及返回访问控制列表的指示;

根据所述返回访问控制列表的指示,获取所述目标节点的路径上所有所述设备管理服务器拥有获取权限的节点的访问控制列表属性值,返回所获取的访问控制列表属性值给所述设备管理服务器。

13.如权利要求6所述的方法,其特征在于,所述方法还包括:所述获取命令包含获取目标节点的多个属性值的指示,

根据所述获取目标节点的多个属性值的指示,判断所述设备管理服务器是否拥有对所述目标节点执行所述获取命令的直接权限或间接权限;

若有直接权限或间接权限,则获取所述目标节点的多个属性值,并返回给所述设备管理服务器。

14.如权利要求6所述的方法,其特征在于,所述处理所述获取命令具体包括:获取所述目标节点的访问控制列表值,并在所述管理命令执行成功状态信息后返回所获取的访问控制列表值给所述设备管理服务器。

15.一种基于权限控制的访问控制列表的修改方法,其特征在于,接收设备管理服务器对设备管理树中目标节点的访问控制列表的修改命令;

判断所述设备管理服务器是否拥有对所述目标节点执行所述修改命令的直接权限,若有,则根据所述直接权限处理所述修改命令;

若没有,则判断所述设备管理服务器是否拥有对所述目标节点执行所述修改命令的间接权限,若有,则根据所述间接权限处理所述修改命令。

16.如权利要求15所述的方法,其特征在于,所述判断所述设备管理服务器是否拥有对所述目标节点执行所述修改命令的间接权限,具体包括:判断所述设备管理服务器是否拥有在所述目标节点到设备管理树的根节点之间的某一节点的更改权限;

若有,则确定所述设备管理服务器拥有对所述目标节点执行所述修改命令的间接权限。

17.如权利要求16所述的方法,其特征在于,所述判断所述设备管理服务器是否拥有在所述目标节点到设备管理树的根节点之间的某一节点的更改权限具体包括:从所述目标节点到设备管理树的根节点,逐级判断是否存在访问控制列表属性值的修改项包含有所述设备管理服务器标识的节点;

若存在这样的节点,则确定所述设备管理服务器拥有在所述目标节点到设备管理树的根节点之间的该节点的更改权限。

18.如权利要求15所述的方法,其特征在于,所述判断所述设备管理服务器是否拥有对所述目标节点执行所述修改命令的直接权限具体包括:若所述目标节点为内部节点,则获取所述目标节点或其父节点的访问控制列表值;判断所述目标节点或其父节点的访问控制列表值中的修改项是否包含所述设备管理服务器的标识;若包含,则确定所述设备管理服务器拥有对所述目标节点执行所述访问控制列表的修改命令的直接权限;

若所述目标节点为叶子节点,则获取所述目标节点的父节点的访问控制列表值;判断所述目标节点的父节点的访问控制列表值中的修改项是否包含所述设备管理服务器的标识,若包含,则确定所述设备管理服务器拥有对所述目标节点执行所述访问控制列表的修改命令的直接权限。

19.如权利要求15-18其中之一所述的方法,其特征在于,所述处理所述访问控制列表的修改命令具体包括:根据所述访问控制列表的修改命令修改所述目标节点的访问控制列表值,并返回命令执行成功的信息。

20.一种基于权限控制的终端管理装置,其特征在于,所述装置包括:管理命令接收单元,用于接收设备管理服务器对设备管理树中目标节点的管理命令;

直接权限判断单元,用于判断所述设备管理服务器是否拥有对所述目标节点执行所述管理命令的直接权限;若有,则由管理命令处理单元根据所述直接权限进行后继操作;否则,由间接权限判断单元进行后继操作;

所述间接权限判断单元,用于判断所述设备管理服务器是否拥有对所述目标节点执行所述管理命令的间接权限;若有,则由所述管理命令处理单元根据所述间接权限进行后继操作;

所述管理命令处理单元,用于处理所述管理命令。

21.如权利要求20所述的装置,其特征在于,所述间接权限判断单元包括:逐级判断模块,用于从所述目标节点到设备管理树的根节点,逐级判断是否存在访问控制列表值中的修改项包含有所述设备管理服务器标识的节点;若存在这样的节点,则确定所述设备管理服务器拥有对所述目标节点执行所述管理命令的间接权限;

或,父节点判断模块,用于判断所述目标节点的父节点的访问控制列表值中的修改项是否包含所述设备管理服务器的标识;若包含,则确定所述设备管理服务器拥有对所述目标节点执行所述管理命令的间接权限;否则,返回执行失败状态信息给所述设备管理服务器。

22.如权利要求20或21所述的装置,其特征在于,所述装置集成设置于终端设备中,或设置成单独的功能实体。

23.一种基于权限控制的终端管理系统,其特征在于,所述系统包括设备管理服务器和终端设备,所述设备管理服务器用于下发管理命令到所述终端设备;

所述终端设备用于接收设备管理服务器对设备管理树中目标节点的管理命令,判断所述设备管理服务器是否拥有对所述目标节点执行所述管理命令的直接权限;若有,则处理所述管理命令;

否则,判断所述设备管理服务器是否拥有对所述目标节点执行所述管理命令的间接权限;若有,则处理所述管理命令。

说明书 :

基于权限控制的终端管理方法及装置

技术领域

[0001] 本发明涉及设备管理领域,尤其涉及一种基于权限控制的终端管理方法及装置。

背景技术

[0002] 目前,随着终端设备复杂度的增加和业务的增多,对终端进行空中(OverThe Air,OTA)方式的管理和配置的需求也越来越强烈,为了能够安全的对终端设备进行OTA方式的管理,开放移动联盟(Open Mobile Alliance,OMA)开发了设备管理(Device Management,DM)协议。而支持OMA DM业务功能的终端设备一般都有一个DM客户端,负责进行OMA DM协议解析、会话管理及会话安全等操作;同时,支持OMA DM业务功能的终端设备一般还包含一个设备管理树(DeVice Management Tree,DMT),设备管理树将终端设备中所有可用的管理对象组织在一起,在设备管理树中所有的节点都有唯一的统一资源标识(Unified Resource ldentity,URI)来定位。
[0003] 如图1所示为设备管理树的结构示意图,图中最顶端为设备管理树的根节点,根节点下包含子节点(内部节点或叶子节点),内部子节点下还可以包含子节点;其中,子节点的上一层节点称为父节点。在如图1所示设备管理树的基础上,设备管理服务器通过OMA DM协议向该设备管理树的节点发送相关的管理命令,例如获取Get、增加Add、修改Replace、删除Delete、执行Exec等,通过对设备管理树的操作实现对终端设备的管理(部分交互命令除外)。
[0004] 在现有技术的方案中,设备管理树上的每个节点都包含一个访问控制列表(Access Control List,ACL)的属性值,该ACL用于控制设备管理服务器对各个节点的操作权限,它详细的规定了某一设备管理服务器可以对目标节点执行哪些DM管理命令;该ACL可以继承,具体继承方法为:当某一节点的ACL属性值为空时,查找其父节点的ACL,若其父节点的ACL也为空,则找其父节点的父节点,依此类推,直到找到一个不为空的ACL为止,继承该不空的ACL。
[0005] 当设备管理服务器需要访问或操作某一节点的属性或值时,若目标节点的ACL中没有赋予该服务器对应的权限,则必须首先修改目标节点的ACL值以赋予该设备管理服务器对应的操作权限;然后该设备管理服务器才能进行相应的访问或操作。在现有技术中,设备管理服务器如果要修改某一节点的ACL,则必须具有该节点或其父节点的修改Replace权限,若有,则直接进行修改;若无,则再找父节点的父节点是否有Replace权限,若有,则先修改父节点的ACL值,使其具有Replace权限,然后再修改目标节点的ACL,依此进行逐层修改。
[0006] 发明人在实现本发明的过程中发现,现有技术的方案至少存在如下缺陷:如果设备管理树存在多层的权限,为获取节点管理权限,设备管理服务器或者获取整个子树的ACL,整个子树的ACL会包含大量的无用信息;或者设备管理服务器发送多个获取命令,一个获取命令仅获取一个节点的ACL,并逐级修改相应节点的ACL,多次获取命令使得交互复杂、消息量大,这样就增加了设备管理服务器和终端设备之间的消息交互次数,对设备管理服务器和终端设备的处理能力,以及网络的传输造成压力,降低了终端设备管理的效率和性能。

发明内容

[0007] 本发明实施例提供一种基于权限控制的终端管理方法及装置,能够简化权限管理,减少设备管理服务器和终端设备之间的消息交互次数,并降低设备管理服务器、终端设备和网络传输的压力,提高终端设备管理的效率和性能。
[0008] 本发明实施例是通过以下技术方案实现的:
[0009] 一种基于权限控制的终端管理方法,包括:
[0010] 接收设备管理服务器对设备管理树中目标节点的管理命令;
[0011] 判断所述设备管理服务器是否拥有对所述目标节点执行所述管理命令的直接权限,若有,则根据所述直接权限处理所述管理命令;
[0012] 若没有,则判断所述设备管理服务器是否拥有对所述目标节点执行所述管理命令的间接权限,若有,则根据所述间接权限处理所述管理命令。
[0013] 本发明实施例还提供了一种基于权限控制的访问控制列表的获取方法,包括:
[0014] 接收设备管理服务器对设备管理树中目标节点的访问控制列表的获取命令;
[0015] 判断所述设备管理服务器是否拥有对所述目标节点执行所述获取命令的直接权限,若有,则根据所述直接权限处理所述获取命令;
[0016] 若没有,则判断所述设备管理服务器是否拥有对所述目标节点执行所述获取命令的间接权限,若有,则根据所述间接权限处理所述获取命令。
[0017] 本发明实施例还提供了一种基于权限控制的访问控制列表的修改方法,包括:
[0018] 接收设备管理服务器对设备管理树中目标节点的访问控制列表的修改命令;
[0019] 判断所述设备管理服务器是否拥有对所述目标节点执行所述修改命令的直接权限,若有,则根据所述直接权限处理所述修改命令;
[0020] 若没有,则判断所述设备管理服务器是否拥有对所述目标节点执行所述修改命令的间接权限,若有,则根据所述间接权限处理所述修改命令。
[0021] 本发明实施例还提供了一种基于权限控制的终端管理装置,所述装置包括:
[0022] 管理命令接收单元,用于接收设备管理服务器对设备管理树中目标节点的管理命令;
[0023] 直接权限判断单元,用于判断所述设备管理服务器是否拥有对所述目标节点执行所述管理命令的直接权限;若有,则由管理命令处理单元根据所述直接权限进行后继操作;否则,由间接权限判断单元进行后继操作;
[0024] 所述间接权限判断单元,用于判断所述设备管理服务器是否拥有对所述目标节点执行所述管理命令的间接权限;若有,则由所述管理命令处理单元根据所述间接权限进行后继操作;
[0025] 所述管理命令处理单元,用于处理所述管理命令。
[0026] 本发明实施例还提供了一种基于权限控制的终端管理系统,所述系统包括设备管理服务器和终端设备,
[0027] 所述设备管理服务器用于下发管理命令到所述终端设备;
[0028] 所述终端设备用于接收设备管理服务器对设备管理树中目标节点的管理命令,判断所述设备管理服务器是否拥有对所述目标节点执行所述管理命令的直接权限;若有,则处理所述管理命令;
[0029] 否则,判断所述设备管理服务器是否拥有对所述目标节点执行所述管理命令的间接权限;若有,则处理所述管理命令。
[0030] 由上述本发明实施例所提供的技术方案可以看出,首先接收设备管理服务器对设备管理树中目标节点的管理命令;然后再判断所述设备管理服务器是否拥有对所述目标节点执行所述管理命令的直接权限,若有,则根据所述直接权限处理所述管理命令;若没有,则判断所述设备管理服务器是否拥有对所述目标节点执行所述管理命令的间接权限,若有,则根据所述间接权限处理所述管理命令。这样就增加了终端设备权限推算的能力,也就是使终端设备能够根据间接权限来判断是否可以进行相应的处理,而不需要设备管理服务器逐级的对权限进行修改,从而简化了权限管理的复杂度,减少了设备管理服务器和终端设备之间的消息交互次数,进而提高了终端设备管理的效率和性能。

附图说明

[0031] 图1为现有技术中设备管理树的结构示意图;
[0032] 图2为本发明实施例一所提供的基于权限控制的终端管理方法的流程示意图;
[0033] 图3为本发明实施例二所提供的基于权限控制的访问控制列表获取方法的流程示意图;
[0034] 图4为本发明实施例三所提供的基于权限控制的访问控制列表修改方法的流程示意图;
[0035] 图5为本发明实施例四中设备管理服务器获取DMT中目标节点的ACL值的流程示意图;
[0036] 图6为本发明实施例五中设备管理服务器修改目标节点的ACL值的流程示意图;
[0037] 图7为本发明实施例六中设备管理服务器对目标节点执行管理命令的流程示意图;
[0038] 图8为本发明实施例七所提供系统的结构示意图;
[0039] 图9为本发明实施例八提供的基于权限控制的终端管理装置的结构示意图。

具体实施方式

[0040] 现结合附图对本发明的具体实施例进行说明,在下述描述中,终端设备管理树中某一节点到根节点之间的所有节点都可称为该节点的祖先节点(包括根节点),如图2所示为本发明实施例一所提供的基于权限控制的终端管理方法的流程示意图,所述方法包括:
[0041] 步骤21:接收设备管理服务器对设备管理树中目标节点的管理命令。
[0042] 具体来说,当设备管理服务器需要对终端设备的DMT中的目标节点执行某一DM管理命令时,该设备管理服务器会向终端下发携带该目标节点URI的该管理命令,而终端设备中会有特定的功能模块来接收该管理命令。管理命令可以包括增加ADD、删除Delete、修改Replace、获取Get、执行Exec等。
[0043] 步骤22:判断设备管理服务器是否拥有对目标节点执行管理命令的直接权限。
[0044] 具体来说,终端设备可以根据目标节点的访问控制列表值来判断设备管理服务器是否拥有对目标节点执行该管理命令的直接权限,这里所说的直接权限指的是利用该目标节点的访问控制列表值来直接判断设备管理服务器是否拥有对目标节点执行该管理命令的相应权限。例如,终端设备可以首先获取所述目标节点的访问控制列表值;然后再判断所获取的访问控制列表值中是否包含所述管理命令的对应项,且该对应项中是否包含所述设备管理服务器的标识;如果包含,那么就可以确定所述设备管理服务器拥有对所述目标节点执行所述管理命令的直接权限,然后就可以直接处理所述管理命令;否则,继续进行后继步骤23的判断。
[0045] 以上获取所述目标节点的访问控制列表值具体为:若目标节点本身的ACL属性值不为空,则获取该目标节点的ACL属性值,若目标节点本身的ACL属性值为空,则从所述目标节点开始向其祖先节点查找,获取离该目标节点最近的,且ACL属性值不为空的祖先节点的ACL属性值作为所述目标节点的访问控制列表值。也就是说,所获取的目标节点的访问控制列表值是可以通过继承祖先节点的ACL值得到的。
[0046] 步骤23:判断设备管理服务器是否拥有对目标节点执行所述管理命令的间接权限。
[0047] 具体来说,就是利用权限推算的方式来判断设备管理服务器是否拥有对目标节点执行管理命令的间接权限,这里所说的间接权限指的是利用推算的方式来间接的判断设备管理服务器是否拥有对目标节点执行该管理命令的相应权限。按照进行推算的节点的不同,推算方式也有不同,例如可以判断设备管理服务器是否拥有在目标节点到设备管理树的根节点之间的某一节点的更改权限;若有,则可以确定设备管理服务器拥有对目标节点执行管理命令的间接权限。
[0048] 上述的判断方法具体可以是从所述目标节点开始一直到设备管理树的根节点,逐级判断是否存在有访问控制列表值的修改项中包含所述设备管理服务器标识的节点,如果存在这样的节点,那么就可以确定所述设备管理服务器拥有目标节点到设备管理树的根节点之间的该节点的更改权限,这里该节点指的是访问控制列表值的修改项中包含所述设备管理服务器标识的节点,然后就可以继续执行步骤24;否则,执行步骤25。
[0049] 步骤24:确定设备管理服务器拥有对所述目标节点执行管理命令的间接权限,并处理所述管理命令。
[0050] 这里处理所述管理命令是由终端根据设备管理服务器下发的管理命令执行相应的操作,例如增加ADD、删除Delete、修改Replace、获取Get、执行Exec等。
[0051] 步骤25:确定设备管理服务器不拥有对所述目标节点执行管理命令的间接权限,并返回错误。
[0052] 通过以上技术方案的实施,就可以增加终端设备权限推算的能力,也就是使终端设备能够根据间接权限来判断是否可以进行相应的处理,而不需要设备管理服务器逐级的对权限进行修改,从而简化了权限管理的复杂度,减少了设备管理服务器和终端设备之间的消息交互次数,进而提高了终端设备管理的效率和性能。
[0053] 本发明实施例二还提供了一种基于权限控制的访问控制列表的获取方法,如图3为基于权限控制的访问控制列表获取方法的流程示意图,所述获取方法包括:
[0054] 步骤31:接收设备管理服务器对设备管理树中目标节点的访问控制列表的获取命令。
[0055] 具体来说,当设备管理服务器需要对终端设备的DMT中的目标节点执行访问控制列表的获取命令时,该设备管理服务器会下发该访问控制列表的获取命令给所述终端。而终端设备中会有特定的功能模块来接收该访问控制列表的获取命令。
[0056] 步骤32:判断设备管理服务器是否拥有对目标节点执行访问控制列表获取命令的直接权限。
[0057] 具体来说,终端设备可以根据目标节点的访问控制列表值来判断设备管理服务器是否拥有对目标节点执行访问控制列表获取命令的直接权限。例如,首先获取所述目标节点的访问控制列表值;判断所获取的访问控制列表值中的获取项是否包含所述设备管理服务器的标识;若包含,则确定所述设备管理服务器拥有对所述目标节点执行访问控制列表获取命令的直接权限,然后就直接处理所述获取访问控制列表的命令;否则,就需要继续进行后继步骤33的判断。
[0058] 步骤33:判断设备管理服务器是否拥有对目标节点执行所述获取命令的间接权限。
[0059] 具体来说,该步骤也是利用权限推算的方式来判断设备管理服务器是否拥有对目标节点执行访问控制列表获取命令的间接权限。而按照推算的节点和推算项的不同,推算方式也有不同,例如可以判断设备管理服务器是否拥有在所述目标节点到设备管理树的根节点之间的某一节点的更改权限,具体判断方法可以是从所述目标节点开始一直到设备管理树的根节点,逐级判断是否存在访问控制列表属性值的修改项中包含所述设备管理服务器标识的节点;若存在这样的节点,则确定所述设备管理服务器拥有所述目标节点到设备管理树的根节点之间的该节点的更改权限,这里该节点指的是访问控制列表属性值的修改项中包含所述设备管理服务器标识的节点,从而确定所述设备管理服务器拥有对目标节点执行所述获取命令的间接权限,然后再执行步骤34;否则,就执行步骤35。
[0060] 另外,还可以通过判断设备管理服务器是否拥有对所述目标节点的父节点的获取权限,来确定设备管理服务器是否拥有对目标节点执行访问控制列表获取命令的间接权限,具体可以判断所述目标节点的父节点的访问控制列表值中的获取项是否包含所述设备管理服务器的标识;若包含,则确定所述设备管理服务器拥有对所述父节点的获取权限,从而确定所述设备管理服务器拥有对目标节点执行所述获取命令的间接权限,然后再执行步骤34;否则,执行步骤35。这一判断方式可以使判断过程更加简洁,只需要一步操作就可以完成,判断过程更加的灵活。
[0061] 另外,若采用修改Replace项作为推算项,则还可以直接判断所述目标节点的父节点的访问控制列表值中的修改项是否包含所述设备管理服务器的标识,若包含,则可以确定所述设备管理服务器拥有对所述父节点的更改权限,从而确定所述设备管理服务器拥有对目标节点执行所述获取命令的间接权限,然后再执行步骤34;否则,就执行步骤35。这种判断方式同样也可以使判断过程更加简洁,只需要一步操作就可以完成,而不需要逐级进行判断,更加简化权限管理的复杂度。
[0062] 步骤34:确定设备管理服务器拥有对目标节点执行所述访问控制列表获取命令的间接权限,并处理所述获取访问控制列表的命令。
[0063] 以上所述处理所述获取访问控制列表的命令,具体可以是由终端设备获取所述目标节点的访问控制列表值,然后在所述管理命令执行成功状态信息后返回所获取的访问控制列表值给设备管理服务器;其中,若所获取的访问控制列表值是所述目标节点继承其祖先节点的访问控制列表值而得到的,则同时还需要返回指示信息;所述指示信息用于表明所获取的访问控制列表值是继承所得。
[0064] 步骤35:确定设备管理服务器不拥有对所述目标节点执行所述访问控制列表获取命令的间接权限,并返回错误。
[0065] 同样,通过上述技术方案的实施,可以增加终端设备权限推算的能力,简化权限管理的复杂度,减少设备管理服务器和终端设备之间的消息交互次数,进而提高了终端设备管理的效率和性能,同时,通过上述技术方案的实施,使得设备管理服务器在没有子节点ACL直接获取权限的情况下,仍能够通过权限推算获取子节点的ACL,使得设备管理服务器在对子节点的ACL进行修改前,就可以首先获知该子节点原有的ACL值,并在原有ACL值的基础上进行操作,从而更加合理的对权限进行管理。
[0066] 另外,在以上所述的访问控制列表的获取命令中可以包含:所述目标节点的路径,以及返回所述访问控制列表的指示;其中,所述返回访问控制列表的指示用来表明是否获取所述目标节点到根节点的路径上所有节点的属性,以及所获取的属性类型为访问控制列表属性。
[0067] 这样,当所述返回访问控制列表的指示表明需要获取所述目标节点到根节点的路径上所有节点的访问控制列表属性时,终端设备就会获取所述目标节点到根节点的路径上设备管理服务器拥有获取权限的所有节点的访问控制列表值,然后再返回所获取的访问控制列表值。另外,当需要获取所述目标节点的多个属性值时,还可以首先判断设备管理服务器是否拥有对所述目标节点执行所述获取命令的直接权限或间接权限;若有,则可以获取该目标节点的多个属性值,并返回给所述设备管理服务器。上述通过增加一次获取一个目标节点路径上所有节点某一属性的能力或一个目标节点的多个属性能力,使得设备管理服务器只需要和终端设备进行一次交互就可以获取所需要的属性,有效的减小了设备管理服务器和终端设备的处理压力以及网络的传输压力。
[0068] 本发明实施例三还提供了一种基于权限控制的访问控制列表的修改方法,图4所示为基于权限控制的访问控制列表修改方法的流程示意图,所述修改方法包括:
[0069] 步骤41:接收设备管理服务器对设备管理树中目标节点的访问控制列表的修改命令。
[0070] 具体来说,当设备管理服务器需要对终端设备的DMT中的目标节点执行访问控制列表的修改命令时,该设备管理服务器会下发该访问控制列表的修改命令给终端。而终端设备中会有特定的功能模块来接收该访问控制列表的修改命令。
[0071] 步骤42:判断设备管理服务器是否拥有对目标节点执行访问控制列表修改命令的直接权限。
[0072] 具体来说,终端设备可以判断设备管理服务器是否拥有对目标节点执行访问控制列表修改命令的直接权限。例如,若所述目标节点为内部节点,则获取所述目标节点或其父节点的访问控制列表值,判断所述目标节点或其父节点的访问控制列表值中的修改项是否包含所述设备管理服务器的标识;若所述目标节点为叶子节点,则获取所述目标节点的父节点的访问控制列表值,判断所述目标节点的父节点的访问控制列表值中的修改项是否包含所述设备管理服务器的标识。若包含,则确定所述设备管理服务器拥有对所述目标节点执行所述访问控制列表修改命令的直接权限,并直接处理所述访问控制列表的修改命令;否则,继续进行后继步骤43的判断。
[0073] 步骤43:判断所述设备管理服务器是否拥有对所述目标节点执行所述修改命令的间接权限。
[0074] 具体来说,该步骤也是利用权限推算的方式来判断设备管理服务器是否拥有对目标节点执行访问控制列表的修改命令的间接权限。例如可以判断设备管理服务器是否拥有在所述目标节点到设备管理树的根节点之间的某一节点的更改权限,具体判断方法可以是从所述目标节点开始一直到设备管理树的根节点,逐级判断是否存在有访问控制列表值的修改项中包含所述设备管理服务器标识的节点;若存在这样的节点,则确定所述设备管理服务器拥有对该节点的更改权限,从而确定设备管理服务器拥有对所述目标节点执行所述修改命令的间接权限,然后再继续执行步骤44;否则,在执行步骤45。
[0075] 步骤44:确定设备管理服务器拥有对所述目标节点执行所述访问控制列表的修改命令的间接权限,并处理所述访问控制列表的修改命令。
[0076] 以上所述处理所述访问控制列表的修改命令,具体是根据所述访问控制列表的修改命令修改所述目标节点的访问控制列表值,然后再返回命令执行成功的信息。
[0077] 步骤45:确定设备管理服务器不拥有对所述目标节点执行所述访问控制列表的修改命令的间接权限,并返回错误。
[0078] 同样的,通过以上技术方案的实施,可以增加终端设备权限推算的能力,简化权限管理的复杂度,减少设备管理服务器和终端设备之间的消息交互次数,进而提高了终端设备管理的效率和性能。
[0079] 由于设备管理服务器对设备管理树中目标节点的访问控制列表ACL属性的操作一般可以分为两种,即读和写;其分别对应于OMA DM中的Get命令和Replace命令。下面的实施例就分别对ACL值的读写,以及对设备管理树中目标节点的管理来进行描述:
[0080] 本发明所提供的实施例四:设备管理服务器获取DMT中目标节点的ACL值。
[0081] 从数据结构角度讲ACL作为一个DMT的管理节点的属性存在,在实现过程中其值可能存于该节点的属性中,或者存在于终端的非易失存储体的其它位置,不管其以何种方式实现,其实现流程是不变。
[0082] 设备管理服务器获取DMT上某一管理节点的ACL是通过向该管理节点的ACL属性发送Get命令完成的,如图5所示为本实施例四中终端设备接收到该命令后的处理流程图,图中包括:
[0083] 步骤51:接收某一设备管理服务器对终端DMT上某一管理节点(下称之为目标节点)的ACL属性的获取命令,该命令携带该目标节点的统一资源标识(Unified Resource ldentity,URI),然后再执行步骤52;
[0084] 步骤52:若该获取命令中携带指示终端返回目标节点URI上所有节点的ACL(即该目标节点、根节点、该目标节点和根节点之间所有节点的ACL)的指示,则执行步骤53;若仅携带获取目标节点ACL属性的指示,则执行步骤54。
[0085] 该指示终端返回目标节点URI上所有节点的ACL的指示是在获取ACL属性的表达式(由目标节点URI和ACL属性名组成)基础上,加入返回URI上所有节点信息的指示组成。该方法可以用于获取某一URI上所有有权限节点的某一属性值或多个属性值。对于ACL,该指示可表示如下(其它属性的获取类似):
[0086] .\NodeA\NodeB?list=NodesInURI+ACL
[0087] 或.\NodeA\NodeB?prop=ACL & list=URI
[0088] 其中,在上述第一个表达式中,携带在路径后的参数list=NodesInURI表示需终端返回URI上所有节点信息,其后可以用+号连接一个节点属性(这里为ACL属性),以指示终端返回的信息为该属性值,两者结合即表示要求终端返回该路径上所有节点的该属性值。在上述第二个表达式中,携带在路径后的参数list=URI表示需终端返回URI上所有的值,其后携带的另外一个参数prop=ACL指示终端返回的值为该属性值,两者结合即表示要求终端返回该路径上所有节点的该属性值。
[0089] 该获取目标节点ACL属性的指示可表示如下:
[0090] .\NodeA\NodeB?prop=ACL
[0091] 为了使得设备管理服务器可以同时获取目标节点的多个属性,而不用发送多个获取命令,以减少消息大小和设备管理服务器生成获取消息的复杂度,本发明提供了用单个获取命令获取终端目标节点的多个属性的能力,该能力的具体实现如下:
[0092] 在设备管理服务器发送的获取终端管理树上某一节点或某一URI上所有节点的属性的获取命令(Get命令)中,携带获取目标管理节点的多个属性值的指示,进一步地,该指示作为目标节点URI的prop参数值携带在Get命令的/元素值中,具体为:
[0093] 可以使用多个prop参数,每个prop参数的参数值为目标节点的一个属性名,多个prop参数之间使用一个间隔符隔开(如“ & ”),示例如下:
[0094] .\NodeA?prop=ACL & prop=Format & prop=Type[0095] 或者,可以使用一个prop参数,该prop参数值为多个目标节点的属性名,多个属性名之间使用一个间隔符(如“+”),示例如下:
[0096] .\NodeA?prop=ACL+Format+Type
[0097] 该指示指示终端返回该设备管理服务器有获取权限的节点的多个属性值。终端在接收到该获取命令后,首先判断发送该获取命令的设备管理服务器是否有目标节点的获取权限(判断方法为:在该目标节点的ACL的GET项中有该设备管理服务器标识,若所获取的属性为ACL,还可以进一步判断该目标节点的父节点ACL的GET项中是否有该设备管理服务器标识),若有,则提取目标节点的多个属性值,并生成一个或多个结果命令(Results命令)返回该多个属性值,若使用一个Results命令返回多个属性值,则每个属性值对应Results命令的一个子项(元素),该//为目标节点的路径和所返回的属性名,为该属性的属性值。
[0098] 通过该能力的提供,可以使得设备管理服务器通过一个命令获取目标节点的一个或多个属性,避免了设备管理服务器为获取目标节点多个属性值而生成多个获取命令的,减小了消息量,降低了设备管理服务器的处理压力和网络传输压力。
[0099] 步骤53:获取该获取命令中所指定的该URI上所有该设备管理服务器拥有获取权限的节点的ACL值,并在返回命令执行状态之后,返回所获取的ACL值。
[0100] 判断该设备管理服务器是否有获取权限的方法有两种:
[0101] A、若在某一节点的ACL(包括继承值)的Get项中包含该设备管理服务器标识,则确定该设备管理服务器拥有该节点ACL的获取权限;
[0102] B、若该设备管理服务器拥有该节点的祖先节点中某一节点的更改权限,也就是某一节点的ACL值的Replace项中包含有该设备管理服务器的标识,则确定该设备管理服务器拥有该节点ACL的获取权限。
[0103] 可以使用上述方法A单独判断;或结合方法A和方法B进行判断,以方法A判断是否具有直接获取权限,以方法B辅助判断是否具有间接获取权限。
[0104] 返回所获取的ACL值的方式为:每个节点的的ACL作为单个结果命令(Results命令)的多个子项(ltem)返回,或者作为多个Results命令返回,其中,若该节点的ACL属性值为空,则返回空值,或者返回该节点所继承的ACL值,并同时在所返回的结果中指明其是继承所得。
[0105] 上述方法通过增加获取一个URI上所有节点某一属性(如ACL)或多个属性的能力,使得设备管理服务器可以一次交互获取所需属性,而无需单独每个节点获取或者获取某一子树(携带很多无关的节点,数据量大),有效的减小设备管理服务器、终端的处理压力以及网络的传输的压力。
[0106] 步骤54:获取该目标节点的ACL值。
[0107] 其中,若该节点的ACL属性值为空,则从该节点开始向祖先节点查找,获取离该节点最近的ACL属性值不为空的祖先节点的ACL值作为该节点的ACL值(后续涉及到的终端获取其管理树上某一管理节点的ACL值的方法与此相同,ACL值和ACL属性值的关系:某节点ACL值指对该节点发生实际作用的ACL值,若该节点的ACL属性值不为空则为该属性值,若属性值为空则继承)。在获取了该目标节点的ACL属性值之后,再执行步骤55。
[0108] 步骤55:判断该设备管理服务器是否拥有该目标节点ACL的直接获取权限,具体为:所获取的ACL值的该获取命令对应项(即Get项)中是否包含该设备管理服务器标识。这里所述的设备管理服务器标识用于唯一标识一个设备管理服务器,该标识存在于该设备管理服务器在该终端的设备管理账号中,即DMT的DMAcc管理对象实例中。
[0109] 判断是否包含该设备管理服务器表示的方法举例说明如下:如果Get=ServerA+ServerB & Replace=ServerA,那么Get项包含设备管理服务器标识ServerA和ServerB;而如果Get项为Get=*,则确定为包含任何设备管理服务器标识,以下类似判断与此相同。
[0110] 若该判断结果为包含,则说明该设备管理服务器拥有该节点ACL的直接获取权限,执行步骤56;若不包含,则说明该设备管理服务器无该节点ACL的直接获取权限,则执行步骤57。
[0111] 步骤56:该设备管理服务器拥有该节点ACL的直接获取权限,获取该节点的ACL值,并在向该设备管理服务器返回获取命令成功状态之后返回该节点的ACL值。
[0112] 其中,若该节点的ACL属性值不为空,则返回该节点的ACL属性值;若该节点的ACL属性值为空,则返回其所继承的ACL值,并在所返回的结果中指明其是继承所得。具体指明的方法可以为:在ACL值的前面加入标识字段“Inheritance:”,例如可以写成:Inheritance:
[0113] Get=ServerA+ServerB & Replace=ServerA。
[0114] 步骤57:确定推算节点,并使用推算节点的ACL值中的Replace项或Get项之一进行推算,以判断该设备管理服务器是否拥有该节点ACL的间接获取权限。
[0115] 根据确定的推算节点和推算项的不同,具体的推算方法可分为:
[0116] 1)若确定的推算节点为其父节点,则推算具体为:若所推算节点的ACL值的修改项(Replace项)包含该设备管理服务器标识(即该设备管理服务器拥有该推算节点的更改权限),则确定该设备管理服务器拥有该节点ACL间接获取权限,返回获取命令成功状态,之后返回该节点的ACL值;若所推算节点的ACL值的Replace项不包含该设备管理服务器标识,则无该节点ACL间接获取权限,返回获取失败状态。
[0117] 2)若确定的推算节点为:离该节点由近至远的其祖先节点,则推算具体为:从该节点开始寻找其祖先节点的ACL属性值的修改项(Replace项)包含该设备管理服务器标识的节点,先找该节点的父节点,再找父节点的父节点,依此类推,直到找到满足条件的节点或找到DMT根节点。若找到了满足条件的节点,则确定该设备管理服务器拥有该节点ACL间接获取权限,返回获取命令成功状态,之后返回该节点的ACL值;若所有祖先节点的ACL属性值的Replace项均不包含该设备管理服务器标识,则确定该设备管理服务器无该节点ACL间接获取权限,返回获取失败状态。
[0118] 3)若使用Get项来进行推算,则所确定的推算节点为其父节点,其推算方法为:若所推算节点的ACL值的获取项(Get项)包含该设备管理服务器标识,则该设备管理服务器拥有该节点ACL间接获取权限,返回获取命令成功状态,之后返回该节点的ACL值;否则无该节点ACL间接获取权限,返回获取失败状态。
[0119] 在确定该设备管理服务器拥有该节点ACL的间接获取权限后,具体ACL返回的方法有两种:
[0120] A、不管该节点的ACL属性值是否为空,均直接返回该节点的ACL属性值(若为空则返回值为空)。
[0121] B、若该节点的ACL属性值不为空,则返回该节点的ACL属性值,若该节点的ACL属性值为空,则返回其所继承的ACL值,并在所返回的结果中指明其是继承所得。具体指明通过携带指示信息实现,如:在ACL值的前面加入标识字段“Inheritance:”。
[0122] 通过上述具体实施例的操作,就使得虽无某管理节点获取权限但拥有该管理节点的父节点或祖先节点一定权限的设备管理服务器,可以获取该管理节点的ACL属性,从而更有效的管理和维护ACL,采用的权限推算方法可以保证对ACL值获取的合理性;同时在获取ACL时,通过对继承权限的节点(其ACL属性值为空)返回其所继承的值和指示继承的指示,使得设备管理服务器可以获取对该节点真正起作用的ACL值,同时还可以获知其是继承得来,避免为了获取继承ACL值设备管理服务器和终端进行多次交互,减少了网络传输压力和设备管理服务器处理压力。
[0123] 本发明所提供的实施例五:设备管理服务器修改目标节点的ACL值。
[0124] 基于本实施例,当设备管理服务器需要对终端设备的DMT的某一管理节点执行某一DM管理命令,例如ADD、Delete、Replace、Get或Copy等命令时,该设备管理服务器需要先拥有对该节点执行该管理命令的权限,然后再下发该管理命令。
[0125] 例如:若某一设备管理服务器需要对DMT上的.\NodeA\NodeB管理节点执行Delete命令以删除该管理节点及其子节点,假定该设备管理服务器的唯一标识为ServerA,若该管理节点的ACL的Delete项中没有ServerA标识(如果该管理节点ACL为空,则确定其所继承的ACL的Delete项中没有该标识),则在该设备管理服务器成功执行Delete命令之前,需要首先修改该管理节点的ACL使之Delete项包含ServerA标识。
[0126] 下面详细描述Server修改某一管理节点的ACL值的方法,如图6所示为本实施例五的流程示意图,图中包括:
[0127] 步骤61:接收某一设备管理服务器对DMT某一管理节点(下称之为目标节点)ACL属性的修改命令,执行步骤62;
[0128] 步骤62:判断该设备管理服务器是否拥有该目标节点ACL的直接修改权限,具体为:若该目标节点为内部节点,则判断该目标节点ACL值的该修改命令对应项(即Replace项)或其父节点ACL值的修改项(即Replace项)中是否包含该设备管理服务器标识,若该目标节点为叶子节点,则仅判断该目标节点的父节点ACL值的Replace项中是否包含该设备管理服务器标识,若包含,则说明该设备管理服务器拥有该节点ACL的直接修改权限,执行步骤63;若不包含,则说明该设备管理服务器无该节点ACL的直接修改权限,执行步骤64进一步判断是否有间接修改权限;
[0129] 步骤63:确定该设备管理服务器拥有该节点ACL的直接修改权限,根据所接收到的修改命令修改ACL值,并返回命令执行成功状态。
[0130] 步骤64:确定该设备管理服务器无该节点ACL的直接修改权限,确定推算节点,并使用推算节点的ACL属性值中的Replace项进行推算,以判断该设备管理服务器是否拥有该节点ACL的间接修改权限。
[0131] 具体进行推算的方法是从该目标节点开始往其祖先节点推算,以确定是否拥有间接修改权限。具体来说:从该节点开始寻找其祖先节点的ACL属性值的Replace项包含该设备管理服务器标识的节点,先找该节点的父节点,再找父节点的父节点,依此类推,直到找到满足条件的节点或找到DMT根节点。
[0132] 若找到满足条件节点,则确定该设备管理服务器拥有该目标节点ACL的间接修改权限,然后就可以根据所接收到的修改命令修改ACL值,并返回命令成功状态;若从该节点到DMT根节点的ACL值的Replace项均不包含该设备管理服务器标识,则确定无该节点ACL修改权限,返回失败状态。
[0133] 在完成上述权限修改后,就可以后续进行该目标节点的其它属性(若为叶子节点还包括节点值)的修改。另外,设备管理服务器在进行目标节点ACL修改之前,为了不丢失已有权限信息,可以先获取该目标节点的当前ACL,然后基于该当前ACL生成新的ACL,再使用本实施例所描述方法修改该目标节点ACL。其中获取ACL值的方法参见实施例四中所述。
[0134] 通过本实施例五技术方案的实施,使得拥有某一管理节点的祖先节点Replace权限的设备管理服务器可以直接修改该管理节点的访问控制权限列表,减少了逐级修改的麻烦,同时根据权限的推算可以有效保证对ACL值修改的合理性。
[0135] 本发明所提供的实施例六:设备管理服务器对目标节点执行管理命令的处理过程。
[0136] 基于本实施例,设备管理服务器需要对某一终端的DMT的某一管理节点执行某一DM管理命令,例如获取或修改该管理节点的属性或值,或删除该管理节点,或为该管理节点添加子节点,或指示终端执行该管理节点所对应的一个动作等。此时该设备管理服务器就生成对应的管理命令并下发给终端;终端接收到该管理命令后,需要判断所述设备管理服务器是否有该管理命令的执行权限,若有则处理该管理命令,并在处理成功后返回成功状态;若没有,则拒绝操作并返回错误。
[0137] 下面详细描述终端设备接到设备管理服务器对目标节点执行管理命令后的处理方法,如图7所示为本实施例六所述方法的流程示意图,图中包括:
[0138] 步骤71:接收设备管理服务器对DMT中目标节点下发的管理命令。该管理命令可以是获取或修改该管理节点的属性或值,或删除该管理节点,或为该管理节点添加子节点,或指示终端执行该管理节点所对应的一个动作等;
[0139] 步骤72:获取该管理节点的ACL属性值。其中,若该节点的ACL属性值为空,则从该节点开始向祖先节点查找,获取离该节点最近的ACL属性值不为空的祖先节点的ACL值作为该节点的ACL值。然后再继续执行步骤73;
[0140] 步骤73:判断该设备管理服务器是否拥有对该目标节点执行该管理命令的直接权限,具体为:所获取的ACL值中是否有该管理命令对应项,且该对应项中包含该设备管理服务器标识。由于有些DM管理命令不会直接在ACL中分配权限,即无直接对应项,而是通过其它相关DM管理命令在ACL中分配的权限体现出来,该相关DM管理命令即为该ACL的对应项。例如Get命令在ACL中的对应项为Get,Copy命令在ACL中的对应项即为Add、Get、Replace、Delete。
[0141] 若是,则说明该设备管理服务器拥有对该管理节点执行该管理命令的直接权限,继续执行步骤74;若否,则说明该设备管理服务器无对该管理节点执行该管理命令的直接权限,继续执行步骤75判断是否拥有间接权限;
[0142] 步骤74:该设备管理服务器拥有对该管理节点执行该管理命令的直接权限,终端处理该管理命令,并在处理成功后返回成功状态。
[0143] 步骤75:该设备管理服务器无对该管理节点执行该管理命令的直接权限,确定推算节点,并使用推算节点的ACL值中的Replace项进行推算,以确定该设备管理服务器是否拥有对该管理节点执行该管理命令的间接权限。
[0144] 具体进行推算的方式为从该节点开始往其祖先节点推算。具体来说:从该节点开始寻找其祖先节点的ACL值的Replace项包含有该设备管理服务器标识的节点,先找该节点的父节点,再找父节点的父节点,依此类推,直到找到满足条件的节点或找到DMT根节点。
[0145] 若找到满足条件节点,则确定该设备管理服务器拥有对该管理节点执行该管理命令的间接权限,终端处理该管理命令,并在处理成后返回成功状态;若从该节点到DMT根节点的ACL值的Replace项均不包含该设备管理服务器标识,则确定该设备管理服务器无对该管理节点执行该管理命令的间接权限,返回命令失败状态。
[0146] 通过本实施例六技术方案的实施,可以使得在有多层权限的时候,只需要终端逐级判断是否有更改权限,若有则确定具有对目标管理节点的目标管理命令执行权限,从而避免设备管理服务器逐级获取并修改权限,减少了设备管理服务器和终端设备之间的消息交互次数,并降低了设备管理服务器、终端设备和网络传输的压力,进而提高了终端设备管理的效率和性能。
[0147] 本发明实施七还提供了一种基于权限控制的终端管理系统,如图8所示为所述系统的结构示意图,所述系统包括设备管理服务器和终端设备,
[0148] 所述设备管理服务器用于下发管理命令到所述终端设备;
[0149] 所述终端设备用于接收设备管理服务器对设备管理树中目标节点的管理命令,判断所述设备管理服务器是否拥有对所述目标节点执行所述管理命令的直接权限;若有,则处理所述管理命令;否则,再判断所述设备管理服务器是否拥有对所述目标节点执行所述管理命令的间接权限;若有,则处理所述管理命令。
[0150] 本发明实施例八还提供了一种基于权限控制的终端管理装置,如图9所示为基于权限控制的终端管理装置的结构示意图,所述装置包括管理命令接收单元、直接权限判断单元、间接权限判断单元和管理命令处理单元,其中,
[0151] 所述的管理命令接收单元用于接收设备管理服务器对设备管理树中目标节点的管理命令。
[0152] 所述的直接权限判断单元用于根据所述目标节点的ACL属性值或ACL值判断所述设备管理服务器是否拥有对所述目标节点执行所述管理命令的直接权限;若有,则由所述管理命令处理单元进行后继操作;否则,继续由所述间接权限判断单元进行处理,具体判断的方式如上方法实施例所述。
[0153] 所述的间接权限判断单元用于判断所述设备管理服务器是否拥有对所述目标节点执行所述管理命令的间接权限。具体判断的方式如上方法实施例所述。
[0154] 所述的管理命令处理单元用于处理所述管理命令。具体可以是在确认所述设备管理服务器拥有对所述目标节点执行所述管理命令的直接权限或间接权限时,处理所述管理命令。这里处理所述管理命令是根据所述管理命令接收单元所接收的管理命令执行相应的操作,例如增加ADD、删除Delete、修改Replace、获取Get、执行Exec等。
[0155] 另外,所述间接权限判断单元还可以包括逐级判断模块,所述的逐级判断模块用于从所述目标节点开始一直到设备管理树的根节点,逐级判断是否存在访问控制列表值中的修改项包含有所述设备管理服务器标识的节点;若存在这样的节点,则确定所述设备管理服务器拥有对所述目标节点执行所述管理命令的间接权限。
[0156] 可选的,所述间接权限判断单元中还包括父节点判断模块,所述的父节点判断模块用于判断所述目标节点的父节点的访问控制列表值中的修改项是否包含所述设备管理服务器的标识;若包含,则确定所述设备管理服务器拥有对所述目标节点执行所述管理命令的间接权限;否则,返回执行失败状态信息给所述设备管理服务器。
[0157] 以上所述装置可以集成设置于终端设备中;也可以设置成单独的功能实体,与终端设备保持连接关系。
[0158] 本领域普通技术人员可以理解实现上述方法实施例中的全部或部分步骤是可以通过程序来指令相关的硬件来完成的,所述程序可以存储于一计算机可读取存储介质中,所述存储介质为ROM/RAM、磁碟、光盘等。
[0159] 综上所述,本发明的具体实施例可以简化权限管理的复杂度,减少设备管理服务器和终端设备之间的消息交互次数,并降低设备管理服务器、终端设备和网络传输的压力,进而提高了终端设备管理的效率和性能。
[0160] 以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明实施例揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。