一种命令管理方法、装置及系统的制作方法

文档序号:7761961阅读:195来源:国知局
专利名称:一种命令管理方法、装置及系统的制作方法
技术领域
本申请涉及网络应用领域,特别是涉及一种基于OSGi的命令动态和安全管理方 法、装置及系统。
背景技术
OSGi技术规范是专为涉及动态模块系统而设计的,在它出现之前,尽管提倡模块 设计的高内聚和低耦合,但实际中往往不尽如人意,实现起来也比较困难。各个开发者都有 一套自己的实现,相互之间不兼容,如果把这些实现集成到一块,难度相当大。在OSGi技术规范出现之后,这个状况得到彻底改变,因为大家都遵循同一个标 准,无论是单独开发或者集成一起相对容易很多。不仅如此,OSGi规范有一套清晰的分层 架构,进一步提高了开发效率。在这种情况下,迫切需要一种方式来管理这些不同来源的模 块,而使用执行命令的形式来管理应用时一种常见的方式。当新的模块动态加入应用后,可 以通过执行命令来管理该模块。但是如何实现命令可扩展性和管理命令,以及怎样赋予不 同的用户不同的命令执行权限成为一个必须解决的问题。

发明内容
为解决上述技术问题,本申请实施例提供一种命令管理方法、装置及系统,对用于 管理新加入或者移除的模块的命令进行动态的管理和维护,并对不同用户赋予不同权限来 执行不同的命令来实现安全管理。技术方案如下一种命令管理方法,包括获取用户注册的命令并对所述命令进行跟踪;依据跟踪到的所述命令的实例变化对所述命令执行相应操作;所述相应操作包 括命令的注册、命令的更新和命令的移除。上述的方法,优选的,所述命令的实例变化过程为用户依据确定的用户权限对命令进行获取,所述获取的命令包括已经注册过的 命令或命令组、命令组下的命令和所有命令组下名称为特定值的命令列表;对获取的命令执行注册、注销或修改操作。上述的方法,优选的,所述用户权限的确定过程为获取命令实例化对象中的用户信息;解析所述用户信息中用户执行的命令或命令组;将解析得到的命令或命令组与所述用户信息进行匹配,若匹配成功,则用户具有 执行命令的权限,否则,不具有执行命令的权限。一种命令管理装置,包括命令注册器和命令跟踪器;所述命令注册器包括命令注册单元、命令更新单元和命令移除单元;所述命令注册器用于获取用户注册的命令;
所述命令跟踪器用于对所述命令注册器注册的命令进行跟踪,并将跟踪到的所述 命令的实例变化返回至所述命令注册器;所述命令注册器依据所述命令跟踪器返回的命令的实例变化,对所述命令执行相 应操作,所述相应操作包括命令的注册、命令的更新和命令的移除;所述命令注册单元用于命令的注册;所述命令更新单元用于命令的更新;所述命令移除单元用于命令的移除。上述的装置,优选的,还包括用户权限管理单元;所述用户权限管理单元用于对用户执行命令的权限进行确定。上述的装置,优选的,所述用户权限管理单元对用户执行命令权限的确定过程 为获取命令实例化对象中的用户信息;解析所述用户信息中用户执行的命令或命令组;将解析得到的命令或命令组与所述用户信息进行匹配,若匹配成功,则用户具有 执行命令的权限,否则,不具有执行命令的权限。一种命令管理系统,包括客户端、服务端及一种命令管理装置。由以上本申请实施例提供的技术方案可见,本发明提供的一种命令管理方法、装 置及系统,对于用户依据权限注册的命令进行实时跟踪,若用于依据权限对已经注册的命 令进行修改或移除,通过跟踪用户对命令进行的操作后命令的实例变化,对已经注册的命 令进行更新或移除,本申请实施例提供的命令管理方法、装置及系统,有效的实现了对命令 的可扩展性,并能够有效的对命令进行管理,同时通过赋予用户权限,使得不同用户拥有不 同权限来执行不同的命令,实现了命令的安全管理。


为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下, 还可以根据这些附图获得其他的附图。图1为本申请实施例提供的命令管理方法的流程图;图2为本申请实施例提供的用户权限确定过程的流程图;图3为本申请实施例提供的命令管理装置的结构图;图4为本申请实施例提供的命令管理装置的又一结构示意图;图5为本申请实施例提供的命令管理系统的结构示意图。
具体实施例方式为了使本技术领域的人员更好地理解本申请方案。下面将结合本申请实施例中的 附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是 本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员 在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
本申请实施例提供的命令管理方法的流程图如图1所示,包括步骤SlOl 获取用户注册的命令并对所述命令进行跟踪;步骤S102 依据跟踪到的所述命令的实例变化对所述命令执行相应操作;所述相 应操作包括命令的注册、命令的更新和命令的移除。在执行上述方法前,首先建立实现命令管理所涉及的类和接口 实现命令的接口 =Command接口,通过通过getName方法可以获得命令名称; getGroup方法取得命令所属的组;getUsage方法获得命令的惯用法,是命令后面跟着的参 数或选项的顺序和个数;getShortDescription方法得到对命令的简短功能和使用描述; 最后excute方法用来执行,完成特定的功能,这是个核心的方法,它有两个参数,第一个参 数是字符串数组,存储的是一系列的选项和参数,而第二个参数是OSGi框架传进来的必要 属性,这些属性包括如执行命令的用户,命令所在的组和当前系统目录等信息,返回类型是 字符串,该字符串最终显示在控制台或其他管理界面上。实现命令跟踪器用于跟踪命令的响应操作,例如当一个命令注册到OSGi框架 中,该操作事件被监测到,并经过相应的过程将该命令注册到命令注册器实例中,并保存。 当用户更新命令时,命令跟踪器监测到该操作,将命令注册器中存储的命令进行更新。当用 户注销命令时,命令跟踪器监测到该操作,将命令注册器中存储的命令进行移除。命令的实例变化过程为用户依据确定的用户权限对命令进行获取,所述获取的命令包括已经注册过的 命令或命令组、命令组下的命令和所有命令组下名称为特定值的命令列表;对获取的命令执行注册、注销或修改操作。根据命令跟踪器跟踪到的命令实例变化来执行相应的操作例如,如果有命令注 册,就将该命令存储起来,反之,如果注销,则移除该命令;同时本申请实施例提供多种获取 注册命令的方式。对命令执行操作中的相关信息进行初始化,如命令的组的列表和命令跟踪器的实 例化,命令的存储Map等等。用户可以获得已经注册过的命令,获得所有已经注册过的命令 组,或是根据某个组,获得该组下所有的命令或其中的某一个命令,同时也可以获得所有组 下名称为某个值的命令列表。在接口建立结束后对接口实例化,激活跟踪器,跟踪命令的相应事件;将命令注册到OSGi框架中;一旦命令注册到框架中,会马上被监测到,进行命令的动态管理获取已经注册的所有命令,将所有命令的服务引用进行保存。命令跟踪器获取服务引用,如果事件操作是命令注册,判断该服务引用是否已经 被添加,如没有,判断该服务引用是否在被添加的过程中,如果不在,对该服务引用进行添 加,并获取该服务引用对应的真实对象,调用命令注册器的添加方法,将命令进行保存或添 加到命令所在的组列表中。如果事件操作是修改命令,调用命令注册器的更新方法,查看该方法中服务引用 是否已经被添加过,如果没有,返回,如果有,对服务引用对应的服务对象进行更新。如果事件操作时注销命令,调用命令注册器的注销方法,从已添加过的注册命令 中将该服务引用对应的服务对象进行删除。
由以上过程可知,命令的生命周期得到很好的控制,用户无论何时添加、修改和移 除命令,命令管理框架对应做相应操作,有效的管理命令。用户不需要担心添加了命令无法 执行,或删除了命令,命令依然可以执行等多种情况。本申请实施例提供的用户权限确定过程的流程图如图2所示,包括步骤S201 获取命令实例化对象中的用户信息;步骤S202 解析所述用户信息中用户执行的命令或命令组;步骤S203 将解析得到的命令或命令组与所述用户信息进行匹配,若匹配成功, 则用户具有执行命令的权限,否则,不具有执行命令的权限。命令执行前,获取命令的实例化对象,从该实例化对象中获取保存的用户相关信 息;解析上述相关信息,如“*”代表用户可以执行所有命令,root/help表示用户可以 执行命令组root下面的help命令,root/*则表示用户可以执行命令组root下面的所有 命令等。看传进来的命令组和命令是否匹配解析过的信息,如果匹配,表明该用户有执行 该命令的权利,否则拒绝访问。通过以上方法,实现对用户的授权操作,以及对用户执行某个命令权利的判决,保 证不同级别的用户执行不同的命令,实现了对命令的安全管理。本申请实施例提供的命令管理装置的结构图如图3所示,包括命令注册器301和 命令跟踪器302 ;命令注册器301包括命令注册单元303、命令更新单元304和命令移除单元305 ;命令注册器301用于获取用户注册的命令;命令跟踪器302用于对命令注册器301注册的命令进行跟踪,并将跟踪到的所述 命令的实例变化返回至命令注册器301 ;所述命令注册器301依据命令跟踪器302返回的命令的实例变化,对所述命令执 行相应操作,所述相应操作包括命令的注册、命令的更新和命令的移除;命令注册单元303用于命令的注册;命令更新单元304用于命令的更新;命令移除单元305用于命令的移除。本申请实施例提供的命令管理装置的又一结构示意图如图4所示,还包括用户权 限管理单元306 ;用户权限管理单元306用于对用户执行命令的权限进行确定。用户权限管理单元306对用户执行命令权限的确定过程为获取命令实例化对象中的用户信息;解析所述用户信息中用户执行的命令或命令组;将解析得到的命令或命令组与所述用户信息进行匹配,若匹配成功,则用户具有 执行命令的权限,否则,不具有执行命令的权限。本申请实施例提供的命令管理系统的结构示意图,包括客户端401、服务端403 及一种命令管理装置402 ;客户端401用于为用户提供可操作平台;
命令管理装置402用于对命令进行管理;服务端403用于对命令管理装置402对命令进行管理过程的具体化实施。本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部 分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。以上所述仅是本 申请的具体实施方式
,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原 理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
权利要求
一种命令管理方法,其特征在于,包括获取用户注册的命令并对所述命令进行跟踪;依据跟踪到的所述命令的实例变化对所述命令执行相应操作;所述相应操作包括命令的注册、命令的更新和命令的移除。
2.根据权利要求1所述的方法,其特征在于,所述命令的实例变化过程为用户依据确定的用户权限对命令进行获取,所述获取的命令包括已经注册过的命令 或命令组、命令组下的命令和所有命令组下名称为特定值的命令列表; 对获取的命令执行注册、注销或修改操作。
3.根据权利要求2所述的方法,其特征在于,所述用户权限的确定过程为 获取命令实例化对象中的用户信息;解析所述用户信息中用户执行的命令或命令组;将解析得到的命令或命令组与所述用户信息进行匹配,若匹配成功,则用户具有执行 命令的权限,否则,不具有执行命令的权限。
4.一种命令管理装置,其特征在于,包括命令注册器和命令跟踪器; 所述命令注册器包括命令注册单元、命令更新单元和命令移除单元; 所述命令注册器用于获取用户注册的命令;所述命令跟踪器用于对所述命令注册器注册的命令进行跟踪,并将跟踪到的所述命令 的实例变化返回至所述命令注册器;所述命令注册器依据所述命令跟踪器返回的命令的实例变化,对所述命令执行相应操 作;所述相应操作包括命令的注册、命令的更新和命令的移除; 所述命令注册单元用于命令的注册; 所述命令更新单元用于命令的更新; 所述命令移除单元用于命令的移除。
5.根据权利要求4所述的装置,其特征在于,还包括用户权限管理单元; 所述用户权限管理单元用于对用户执行命令的权限进行确定。
6.根据权利要求5所述的装置,其特征在于,所述用户权限管理单元对用户执行命令 权限的确定过程为获取命令实例化对象中的用户信息; 解析所述用户信息中用户执行的命令或命令组;将解析得到的命令或命令组与所述用户信息进行匹配,若匹配成功,则用户具有执行 命令的权限,否则,不具有执行命令的权限。
7.一种命令管理系统,其特征在于,包括客户端、服务端及权利要求4 6任一项所 述的一种命令管理装置。
全文摘要
本申请公开了一种命令管理方法,包括获取用户注册的命令并对命令进行跟踪;依据跟踪到的命令的实例变化对所述命令执行相应操作;所述相应操作包括命令的注册、命令的更新和命令的移除。本发明还提供了一种命令管理装置及系统;本发明提供的方法、装置及系统对于用户依据权限注册的命令进行实时跟踪,若用户依据权限对已经注册的命令进行修改或移除,通过跟踪用户对命令进行的操作后命令的实例变化,对已经注册的命令进行更新或移除,本申请实施例提供的命令管理方法、装置及系统,有效的实现了对命令的可扩展性,并能够有效的对命令进行管理,同时通过赋予用户权限,使得不同用户拥有不同权限来执行不同的命令,实现了命令的安全管理。
文档编号H04L29/06GK101958905SQ20101050514
公开日2011年1月26日 申请日期2010年9月29日 优先权日2010年9月29日
发明者刘民, 景新海, 许显月 申请人:山东中创软件工程股份有限公司;山东中创软件商用中间件股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1