具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明提供的设备管理的权限控制方法一个实施例的流程图,如图1所示,该方法包括:
S101、解析设备管理服务器下发的操作指令,获取目标操作节点所属管理对象MO实例的根节点的通用资源标识符URI;
S102、获取存储的与根节点的URI对应的所述MO实例的访问控制列表ACL;
S103、根据MO实例的ACL确定是否执行所述操作指令中指示的操作。
以上步骤的执行主体为终端上设置的DM客户端。
终端的管理树上包括一些基本的管理对象MO,DM服务器通过对管理树上的MO操作来控制MO。MO由节点组成,具体包括:根节点、内部节点和叶子节点等等。DM服务器可以向客户端下发创建MO实例指示,指示客户端在终端的管理树上创建MO实例,DM服务器还同时向客户端下发该创建的MO实例的ACL,该ACL表示了各种服务器对该创建的MO实例上各节点所执行操作的权限。例如:DM服务器下发的ACL值可以表示如下:
Add=www.sonera.fi-8765&Delete=www.sonera.fi-8765&Replace=www.sonera.fi-8765+321_ibm.com&Get=*
其中,www.sonera.fi-8765为一个服务器标识(ServerIdentifier;ServerID),321_ibm.com为另一个服务器标识。上述ACL值表示:标识为www.sonera.fi-8765的服务器,具有对该创建的MO实例上各节点执行添加(Add),删除(Delete)和替换(Replace)操作的权限;标识为321_ibm.com的服务器,具有对该创建的MO实例上各节点执行替换(Replace)操作的权限;所有的服务器都对该创建的MO实例上各节点都具有执行获取(Get)操作的权限。
作为一种可行的实施方式,客户端可以根据DM服务器下发的创建MO实例指令,在终端的管理树上创建MO实例,并将创建的MO实例的根节点的URI,以及创建的MO实例的ACL(即服务器下发的ACL)关联添加到MO列表(ListMO)中。当客户端接收到DM服务器下发的操作指令后,客户端能够从操作指令中解析出目标操作节点采用的通用资源标识符(UniformResourceIdentifier;URI)是相对URI(RelativeURI)还是绝对URI(AbsoluteURI),如果目标操作节点采用相对URI,则客户端可以从操作指令的<TargetParent>字段中直接解析出目标操作节点所属MO实例的根节点的URI,由于DM服务器指示创建的MO实例的根节点的URI及其ACL关联保存在MO列表中,因此,客户端根据从<TargetParent>字段中解析出的目标操作节点所属MO实例的根节点的URI,能够在MO列表中查找到相应的ACL;如果目标操作节点采用绝对URI,则客户端可以根据目标操作节点的URI,获取具有MOI属性的节点,该具有MOI属性的节点的URI即为目标操作节点所属MO实例的根节点的URI,进而能够在MO列表中查找到相关联的ACL。客户端可以进一步根据在MO列表中查找到的ACL的权限,判断出操作指令中指示的服务器是否具有对目标操作节点执行特定操作的权限,进而确定目标操作节点执行相应操作,或是向DM服务器返回失败响应消息(404消息)。
作为另一种可行的实施方式,客户端在接收到DM服务器下发的创建MO实例指示后,在终端的管理树上创建MO实例,并且,客户端可以在创建的MO实例的根节点的ACL属性中,添加该MO实例的ACL值。当客户端接收到DM服务器下发的操作指令后,客户端能够从操作指令中解析出目标操作节点采用的URI是相对URI还是绝对URI,进而可以获取目标操作节点所属MO实例的根节点的URI,客户端可以根据该目标操作节点所属MO实例的根节点的URI找到对应的根节点,查找该根节点的ACL值,并根据该ACL值判断出操作指令中指示的服务器是否具有对目标操作节点执行特定操作的权限,进而确定目标操作节点执行相应操作,或是向DM服务器返回失败响应消息(404消息)。
在终端的管理树上创建MO实例,并在该MO实例的根节点的ACL属性中添加MO实例的ACL值后,作为另一种可行的实施方式,客户端还可以将该创建的MO实例的根节点的URI添加到创建的MO实例中各节点的设定属性中,例如:可以添加到创建的MO实例中各节点的RootRef属性中。当客户端接收到DM服务器下发的操作指令后,可以从该操作指令中解析出目标操作节点的URI,进而可以进一步查找到该目标操作节点的设定属性中保存的目标操作节点所属MO实例的根节点的URI,以便对目标操作节点所属MO实例的根节点进行定位,进而获取目标操作节点所属MO实例的根节点的ACL值,判断出操作指令中指示的服务器是否具有对目标操作节点执行特定操作的权限,进而确定目标操作节点执行相应操作,或是向DM服务器返回失败响应消息(404消息)。
本实施例提供的设备管的权限控制方法,客户端在接收到DM服务器的操作指令后,能够根据目标操作节点所属根节点的URI直接获取对应存储的ACL,从而提高对MO实例中各节点的操作效率,节约DM客户端资源。
图2为本发明提供的设备管理的权限控制方法又一个实施例的流程图,如图2所示,本实施例中,客户端将MO实例的根节点的URI和DM服务器下发的MO实例的ACL值关联添加到MO列表中。当客户端接收到DM服务器的操作指令,可以根据目标操作节点所属MO实例的根节点的URI,从MO列表中查找到与该URI相关联的ACL值,从而可以判断是否执行DM服务器指示的相应操作。该方法具体包括:
S201、DM服务器向客户端下发创建MO实例指令,以及设置MO实例的ACL的指令。
其中,一个终端可能存在一个或多个管理方(ManagementAuthority;MA),每个MA均可向客户端下发创建MO实例指令,指示客户端在终端的管理树上创建MO实例,并且,MA还可以同时向客户端下发设置MO实例的ACL的指令,以明确各种服务器对所创建的MO实例中各节点的操作权限。
S202、客户端在终端的管理树上创建MO实例,并将该MO实例的根节点的URI,以及该MO实例的ACL关联添加到MO列表(ListMO)中。
具体的,客户端在管理树上创建MO实例的过程中,将该MO实例的相关信息添加到MO列表中,这些相关信息包括:该MO实例的MOID,该MO实例的根节点的URI等等。进一步的,客户端还可以将DM服务器下发的ACL(即该MO实例的ACL)与该MO实例的根节点的URI相关联,并添加到MO列表(ListMO)中。
S203、客户端接收到DM服务器下发的操作指令,从操作指令中解析出服务器标识(ServerID)和目标操作节点信息。
其中,操作指令中包含目标操作节点信息,可以指示目标操作节点采用的URI为相对URI或绝对URI。若目标操作节点指定采用相对URI(RelativeURI),则执行S204a,若目标操作节点指定采用绝对URI(AbsoluteURI),则执行S204b。
S204a、客户端从操作指令中的<TargetParent>字段中解析出MO标识(MOID)。
S205a、客户端在MO列表中找到该MOID对应的MO实例。
S206a、客户端从<TargetParent>字段中解析出目标操作节点所属MO实例的根节点的URI。
S207a、客户端在MO列表中查找到目标操作节点所属MO实例的根节点的URI及其相关联的ACL值。
S208a、客户端根据在MO列表中查找到的与目标操作节点所属MO实例的根节点的URI相关联的ACL值,判断操作指令中解析出的ServerID是否具有操作指令中指定的操作的权限;如果该ServerID具有权限,则执行S209a,否则执行S210a。
S209a、客户端继续解析出整个目标节点的路径,执行操作指令中指示的相关操作。
S210a、客户端向DM服务器返回失败响应消息(404),指示无法执行指定操作。
S204b、客户端根据目标操作节点的URI获取具有MOI属性的节点,该具有MOI属性的节点的URI即为根节点的URI。
其中,具有MOI属性的节点即为MO实例的根节点,因此,该具有MOI属性的节点的URI即为根节点的URI。
S205b、客户端在MO列表中,查找与目标操作节点所属MO实例的根节点的URI相关联的ACL。
具体的,客户端解析操作指令中目标节点的URI,解析每一小节URI所对应的节点是否具有MOI属性,如果有MOI属性,则在MO列表中获取该节点的URI对应的ACL值,否则继续判断其他节点。例如:客户端首先判断./A1节点是否具有MOI属性,有则获取./A1/在MO列表中对应的ACL值,如果./A1/没有MOI属性,则继续判断./A1/E/对应的节点是否有MOI属性,直至找到具有MOI属性的节点。
S206b、客户端根据具有MOI属性的节点的URI在MO列表中对应的ACL值,判断操作指令中解析出的ServerID是否具有操作指令中指定的操作的权限;如果该ServerID具有权限,则执行S207b,否则执行S208b。
S207b、客户端继续解析出整个目标节点的路径,执行操作指令中指示的相关操作。
S208b、客户端向DM服务器返回失败响应消息(404),指示无法执行指定操作。
本实施例提供的设备管理的权限控制方法,客户端将MO实例的根节点的URI和DM服务器下发的MO实例的ACL值关联添加到MO列表中。当客户端接收到DM服务器的操作指令,可以根据目标操作节点所属MO实例的根节点的URI,从MO列表中查找到与该URI相关联的ACL值,可以判断是否执行DM服务器指示的相应操作。从而提高了客户端获取目标操作节点的访问权限的效率,尤其在目标操作节点采用相对URI的方式下,客户端获取目标操作节点访问权限的效率提升更为明显。
图3为本发明提供的设备管理的权限控制方法另一个实施例的流程图,如图3所示,本实施例中,客户端在MO实例的根节点的ACL属性中添加DM服务器下发的MO实例的ACL值。当客户端获取到DM服务器下发的操作指令后,解析出目标操作节点所属MO实例的根节点的URI,从而获取目标操作节点所属MO实例的根节点的ACL值,从而可以判断是否执行DM服务器指示的相应操作。该方法具体包括:
S301、DM服务器向客户端下发创建MO实例指令,并且下发设置该MO实例的ACL的指令。
S302、客户端在终端的管理树上创建MO实例,并将DM服务器下发MO实例的ACL值添加到该MO实例根节点的ACL属性中。
S303、客户端接收到DM服务器下发的操作指令,从中解析出服务器标识(ServerID)和目标操作节点信息。
其中,目标操作节点信息指示目标操作节点采用的URI为相对URI或绝对URI。若目标操作节点指定采用相对URI(RelativeURI),则执行S304a,若目标操作节点指定采用绝对URI(AbsoluteURI),则执行S304b;
S304a、客户端从操作指令的<TargetParent>字段中解析出目标操作节点所属MO实例的根节点的URI。
S305a、客户端根据目标操作节点所属MO实例的根节点的URI,查询该根节点的ACL属性值。
S306a、客户端判断该ACL值,判断操作指令中解析出的ServerID是否具有操作指令中指定的操作的权限;如果该ServerID具有权限,则执行S307a,否则执行S308a。
S307a、客户端继续解析出整个目标节点的路径,执行操作指令中指示的相关操作。
S308a、客户端向DM服务器返回失败响应消息(404),指示无法执行指定操作。
S304b、客户端根据所述目标操作节点的URI获取具有MOI属性的节点,所述具有MOI属性的节点的URI即为所述根节点的URI。
具体的,客户端解析操作指令中目标节点的URI,解析每一小节URI所对应的节点是否具有MOI属性,如果有MOI属性,则获取该节点的ACL属性值,否则继续判断其他节点。
S305b、客户端根据具有MOI属性的节点的ACL值,判断操作指令中解析出的ServerID是否具有操作指令中指定的操作的权限;如果该ServerID具有权限,则执行S306a,否则执行S307a。
S306b、客户端继续解析出整个目标节点的路径,执行操作指令中指示的相关操作。
S307b、客户端向DM服务器返回失败响应消息(404),指示无法执行指定操作。
本实施例提供的设备管理DM系统的权限控制方法,客户端在MO实例的根节点的ACL属性中添加DM服务器下发的MO实例的ACL值。当客户端获取到DM服务器下发的操作指令后,解析出目标操作节点所属MO实例的根节点的URI,从而获取目标操作节点所属MO实例的根节点的ACL值,可以判断是否执行DM服务器指示的相应操作。从而提高了客户端获取目标操作节点的访问权限的效率,节约DM客户端资源
图4为本发明提供的设备管理的权限控制方法另一个实施例的流程图,如图4所示,本实施例中,客户端在管理树上创建MO实例后,在创建的MO实例的根节点的ACL属性中添加该MO实例的ACL值,并将创建的MO实例的根节点的URI添加到创建的MO实例中各节点的设定属性中。当客户端接收到DM服务器下发的操作之后,解析获取目标操作节点的URI,查找到目标操作节点的设定属性中添加的目标操作节点所属管理对象MO实例的根节点的URI,从而查找该根节点的ACL属性值。该方法具体包括:
S401、DM服务器向客户端下发创建MO实例指令,并且下发设置该MO实例的ACL的指令。
S402、客户端在终端的管理树上创建MO实例,在MO实例的根节点的ACL属性中添加MO实例的ACL值,并将创建的MO实例的根节点的URI添加到创建的MO实例中各节点的设定属性中。
设定属性可以为RootRef属性。
S403、客户端接收到DM服务器下发的操作指令,从中解析出服务器标识(ServerID)和目标操作节点信息(目标操作节点的URI)。
S404、客户端根据目标操作节点的URI,查找目标操作节点的设定属性中添加的目标操作节点所属管理对象MO实例的根节点的URI。
S405、客户端根据目标操作节点所属MO实例的根节点的URI,获取目标操作节点所属MO实例的根节点的ACL值。判断操作指令中解析出的ServerID是否具有操作指令中指定的操作的权限;如果该ServerID具有权限,则执行S406,否则执行S407。
S406、客户端继续解析出整个目标节点的路径,执行操作指令中指示的相关操作。
S407、客户端向DM服务器返回失败响应消息(404),指示无法执行指定操作。其中,客户端可以在失败响应消息中携带设定属性的属性值,以使DM服务器向上级管理方请求修改设定属性的属性值指向的根节点的ACL。
S408、客户端向所述DM服务器返回响应消息(非200OK响应消息),所述响应消息中携带所述设定属性的属性值,以使DM服务器修改所述目标操作节点所属MO实例的其它节点值时,根据所述设定属性的属性值和MODFF定位所述目标操作节点的URI。
具体的,设备描述框架(devicedescriptionframework,DDF)中描述了节点和根节点的相对位置关系,客户端可以从RootRef中获取到根节点的绝对URI,然后结合DDF中获取描述的目标节点和根节点的相对位置关系,就可以知道了即可以获取目标节点的绝对路径了。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。
图5为本发明提供的终端一个实施例的结构示意图,如图5所示,该终端包括客户端,客户端可以包括:接收器11和处理器12;
接收器11,用于接收设备管理服务器下发的操作指令;
处理器12,用于解析所述操作指令,获取目标操作节点所属管理对象MO实例的根节点的通用资源标识符URI;并获取存储的与所述根节点的URI对应的所述MO实例的访问控制列表ACL;还用于根据所述MO实例的ACL确定是否执行所述操作指令中指示的操作。
作为一种可行的实施方式,处理器12可以具体用于:判断操作指令中目标操作节点的URI为相对URI或绝对URI;若目标操作节点的URI为相对URI,则在操作指令中获取根节点的URI;若目标操作节点的URI为绝对URI,则根据目标操作节点的URI获取具有MOI属性的节点,具有MOI属性的节点的URI即为根节点的URI。
可选的,接收器11还可以用于:获取设备管理服务器下发的创建MO实例指令及设置所述MO实例的ACL的指令;
相应的,处理器12还可以用于:在终端的管理树上创建所述MO实例,并将所述MO实例的根节点的URI以及所述MO实例的ACL关联添加到MO列表中;或者,用于在所述MO实例的根节点的ACL属性中添加所述MO实例的ACL值。
进一步的,处理器12还可以具体用于:在MO列表中,查找与目标操作节点所属MO实例的根节点的URI相关联的ACL;或者,用于根据目标操作节点所属MO实例的根节点的URI,找到目标操作节点所属MO实例的根节点,获取目标操作节点所属MO实例的根节点的ACL值。
作为另一种可行的实施方式,接收器11还可以用于:获取设备管理服务器下发的创建MO实例指令及设置所述MO实例的ACL的指令;
相应的,处理器12还可以用于:在终端的管理树上创建MO实例,在所述MO实例的根节点的ACL属性中添加所述MO实例的ACL,并将所述MO实例的根节点的URI添加到所述MO实例中各节点的设定属性中。
进一步的,处理器12可以具体用于:解析设备管理服务器下发的操作指令,获取目标操作节点的通用资源标识符URI;并根据目标操作节点的URI,查找目标操作节点的设定属性中添加的目标操作节点所属管理对象MO实例的根节点的URI。
处理器12还可以具体用于:根据目标操作节点所属MO实例的根节点的URI,获取目标操作节点所属MO实例的根节点的ACL值。
处理器12还可以具体用于:根据根节点的ACL向设备管理服务器返回失败响应消息,失败响应消息中携带设定属性的属性值,以使设备管理服务器向上级管理方请求修改设定属性的属性值指向的根节点的ACL。
处理器12还可以用于:向设备管理服务器返回响应消息,响应消息中携带设定属性的属性值,以使设备管理服务器修改目标操作节点所属MO实例的其它节点值时,根据设定属性的属性值和MO设备描述框架DDF定位目标操作节点的URI。
本发明实施例提供的终端,与本发明实施例提供的设备管理的权限控制方法相对应,为设备管理的权限控制方法的执行设备,其实现设备管理的权限控制方法的过程可参见方法实施例,不再赘述。
本实施例提供的终端,其上设置的客户端在接收到DM服务器的操作指令后,能够根据目标操作节点所属根节点的URI直接获取对应存储的ACL,从而提高对MO实例中各节点的操作效率,节约DM客户端资源。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。