一种混合策略加载系统及实现策略管理的方法

文档序号:7612072阅读:170来源:国知局
专利名称:一种混合策略加载系统及实现策略管理的方法
技术领域
本发明涉及网络设备集中管理技术,尤其涉及一种在集中管理器中进行策略服务的混合策略加载系统及实现策略管理的方法。
背景技术
随着网络环境规模的日益扩大,网络中各种设备的数量也急剧增加,这包括各种路由交换设备,存储设备,以及众多的安全设备,比如防火墙,入侵检测系统(IDS,Intrusion Detection System)等等。
对众多网络设备进行管理的一个非常重要的方面就是对这些设备设置各种运行环境参数,以及设备的各种动作条件,这些都归为对设备的策略管理。
设备策略管理的一种最初方法是直接登录到设备上或是通过设备的web页面进行一对一的远程控制。这种方法的优点是操作直接,控制及时。但是,随着网络设备的增加,这种一对一的策略管理方法显然已经大大超过了网络管理员的工作负荷,而且也增加了在众多设备中进行策略配置造成错误的几率,这些错误可能来自网络管理员的输入错误,也可能来自逻辑错误,从而导致各种设备间不能协同工作。尤其是在排除逻辑错误时,网络管理员往往要花很大的精力才能解决问题。
在目前的设备策略管理中,越来越倾向于使用集中管理的方案,以增强对网络中各种设备的策略管理能力。在针对每一策略的策略管理中,主要包括对策略原始数据的提取方法和对策略原始数据的格式化方法,其中的策略提取方法主要提供了如何获得策略原始数据的流程和参数,格式化方法将策略原始数据转化为设备可以识别的传输格式。一个设备可以包括多个策略,每一策略都有其对应的策略提取方法和格式化方法。
在目前的集中管理器策略管理方案中,设备的策略存储在集中管理器中,策略可从集中管理器统一下发到不同设备。在集中管理器中,不同设备都对应不同的策略管理模块,每一个策略管理模块都具有对应的策略提取功能和格式化功能。网络中的各个设备单个向集中管理器请求策略。当集中管理器收到某设备的策略请求时,与该设备对应的策略管理模块启动,通过内部的策略流程管理提取该策略的原始数据,再对策略原始数据进行格式化,将格式化后的策略数据返回给设备。
但是,上述现有的集中管理方案存在多种缺陷首先,现有集中管理器只能单独对不同的策略进行分别处理,不能实现同时对多种策略的混合管理,同时,由于针对不同设备开发不同的策略管理模块,由各自的策略管理模块独立进行策略管理,因此集中管理器在同时面对大量的策略请求时,不能根据网络全局灵活应对不同的策略请求,策略管理效率低,耗费系统资源严重;其次,集中管理器中的各个策略管理模块独立开发和运行,使得策略扩充缺少必要的能力,导致每扩充一种策略都需要重新开发一个策略管理模块,浪费人力资源,开发成本很高;再次,由于不同策略管理模块之间缺少连接协作关系,因此不能很好的快速解决不同策略配合之间形成的协作问题,并且由于集中管理器缺少必要的内部连接结构,使得新开发的策略管理模块很难结合到原先的系统中;另外,在策略管理模块中策略的提取过程和格式化过程是混合在一起完成的,策略提取过程大都会占用其他的系统资源,比如文件访问,数据库访问或网络访问等,同时,策略格式化的时间也会计算在整个资源的使用之内,两者相加,从而使得系统资源的占用率过高。

发明内容
有鉴于此,本发明的主要目的是提供一种混合策略加载系统及实现策略管理的方法,以实现同时对多种策略的混合管理,根据网络全局环境同时对不同的策略进行灵活处理,并且方便加载新的策略管理流程,降低开发成本。
为了实现上述发明目的,本发明的技术方案为
一种混合策略加载系统,该系统包括策略类型信息描述文件(240),用于记录不同种类设备能够支持的策略类型的策略类型描述信息、处理每种策略类型所需提取方法和格式化方法的接口信息、以及对策略进行全局处理方法的接口信息;策略管理流程定义注册单元(210),系统运行时加载在内存中,用于将策略类型信息描述文件(240)中记录的策略类型描述信息加载到自身中、并根据所述提取方法、格式化方法以及全局处理方法的接口信息读取每种策略的提取方法、格式化方法和全局处理方法的描述信息,将读取到的描述信息加载到自身中;策略流程执行单元(220),用于接收策略请求,从策略管理流程定义注册单元(210)中获取所请求的策略类型信息,包括策略描述信息和该策略对应的提取方法的描述信息,创建通用的策略数据管理结构,并根据提取方法的描述信息执行提取操作,提取出所请求策略的原始数据,将策略描述信息和所述策略原始数据置入所创建的策略数据管理结构中对应策略的位置上;还用于向策略布局数据管理单元(230)发出处理请求,接收策略布局数据管理单元(230)的处理结果,向策略请求方输出该处理结果;策略布局数据管理单元(230),用于接收策略流程执行单元(220)的处理请求,从策略管理流程定义注册单元(210)中读取格式化方法和全局处理方法的描述信息,根据描述信息对所述策略数据管理结构中的策略原始数据进行格式化,并对格式化后的数据进行全局处理,向策略流程执行单元(220)返回处理结果。
优选的,所述策略类型信息描述文件(240)为符合预定策略类型信息描述格式的可扩展标记语言XML文件。
优选的,所述策略管理流程定义注册单元(210)进一步包括策略类型注册模块(211)、策略类型访问模块(212)和策略类型表示模块(213),其中策略类型注册模块(211)用于将策略类型信息描述文件(240)中记录的策略类型描述信息加载到策略类型表示模块(213)中、并根据所述提取方法、格式化方法以及全局处理方法的接口信息读取每种策略的提取方法、格式化方法和全局处理方法的描述信息,将读取到的描述信息加载到策略类型表示模块(213)中;策略类型访问模块(212)用于接收所述混合策略加载系统中的其他单元的请求,并访问策略类型表示模块(213),获取所请求的策略信息,向发起请求的单元返回访问获取的结果;策略类型表示模块(213)位于系统的内存中,用于接收并保存策略类型注册模块(211)所加载的内容,并接收策略类型访问模块(212)的访问请求,向策略类型访问模块(212)返回访问结果。
优选的,所述策略流程执行单元(220)进一步包括命令接口模块(221)、策略构建模块(222)和策略对象模块(223),其中命令接口模块(221)用于接收策略请求,向策略构建模块(222)发送策略流程启动指令,并接收策略对象模块(223)返回的最终策略请求处理结果,向策略请求发起方返回该处理结果;策略构建模块(222)用于接收命令接口模块(221)的策略流程启动命令,从策略管理流程定义注册单元(210)中获取所请求的策略类型信息,包括策略描述信息和该策略对应的提取方法的描述信息,创建通用的策略数据管理结构,并根据提取方法的描述信息执行提取操作,提取出所请求策略的原始数据,将策略描述信息和所述策略原始数据置入所创建的策略数据管理结构中对应策略的位置上;还用于向策略布局数据管理单元(230)发出处理请求,接收策略布局数据管理单元(230)的处理结果,将处理结果发送到策略对象模块(223);策略对象模块(223),用于接收并保存策略构建模块(222)发送的处理结果,将该处理结果填加到对应策略请求中的策略对象中,并将填加后的策略对象返回给命令接口模块(221)。
优选的,所述策略布局数据管理单元(230)进一步包括策略格式模块(231)、策略标尺模块(232)、策略工厂模块(233),其中策略工厂模块(233)用于接收策略格式模块(231)和策略标尺模块(232)的访问请求,向策略管理流程定义注册单元(210)转发访问请求,并接收返回的访问结果,将访问结果返回给策略格式模块(231);策略标尺模块(232)用于接收策略格式模块(231)输入的请求策略类型,通过策略工厂模块(233)请求访问策略管理流程定义注册单元(210)中注册的策略类型,接收访问结果,并根据访问结果对请求的策略类型进行筛选,只对在内存中注册的策略类型向策略工厂模块(233)请求格式化方法的描述信息;策略格式模块(231)用于接收策略流程执行单元(220)发送的处理请求后,向策略标尺模块(232)发送所请求的策略类型,并接收策略工厂模块(233)返回的格式化方法的描述信息,按照该描述信息对所述策略数据管理结构中的策略原始数据进行格式化,并向策略工厂模块(233)发送访问全局处理方法描述信息的请求,接收到策略工厂模块(233)返回的全局处理方法描述信息后,按照该描述信息对所述格式化后的结果进行全局处理,并向策略流程执行单元(220)返回最终的处理结果。
所述策略数据管理结构为基于哈西索引的混合多叉树结构。
所述的混合多叉树结构中的根节点区和一级节点区存放设备以及策略类型描述信息,二级及二级以下节点存放策略原始数据。
所述全局处理方法进一步包括推理方法和合法性检测方法。
一种实现策略管理的方法,适用于集中管理器,该方法包括A、预先在集中管理器中存储策略类型信息描述文件;在该策略类型信息描述文件中记录不同种类设备能够支持的策略类型的策略类型描述信息、处理每种策略类型所需提取方法和格式化方法的接口信息、以及对策略进行全局处理方法的接口信息;B、集中管理器启动时,将策略类型信息描述文件中记录的策略类型描述信息加载到内存中、并根据所述提取方法、格式化方法以及全局处理方法的接口信息读取每种策略的提取方法、格式化方法和全局处理方法的描述信息,将读取到的描述信息加载到内存中;C、接收到外部策略请求后,根据该策略请求从内存中读取请求指定设备策略类型的描述信息,创建策略数据管理结构,并从内存中读取策略类型提取方法的描述信息,按照该描述信息提取策略的原始数据,并将所述策略类型的描述信息和策略原始数据置入所创建的策略数据管理结构的对应位置上;D、从内存中读取策略类型对应的格式化方法的描述信息,按照该描述信息对所述策略数据管理结构上的策略原始数据进行格式化;从内存中读取全局处理方法的描述信息,按照该描述信息对格式化处理后的结果进行全局处理,将全局处理后的结果返回给策略请求的发起方。
优选的,所述步骤C中,在接收到外部策略请求后,从内存读取描述信息之前,进一步包括C1、根据集中管理器的策略资料库的记录判断所请求的策略是否变更,如果是,则继续执行步骤C的后续操作,否则,直接将策略资料库中记录的对应相同的策略配置为无更新式策略对象,并返回给策略请求方。
优选的,所述步骤C1中,判断所请求的策略是否变更的具体过程包括C11、根据所请求的策略查询策略资料库,判断策略资料库中记录的该策略的策略状态是否为可发布状态,如果为可发布状态,则执行步骤C12;否则,所请求策略没有变更;C12、判断所述策略请求中是否携带初始化标识,如果是,则策略有变更;否则,执行步骤C13;C13、判断策略资料库中记录的所请求策略的路径是否更新,如果是,则策略有变更,否则,执行步骤C14;C14、判断当前所请求策略在前次请求后是否进行策略编辑更新,如果是,则策略有变更;否则,策略无变更。
优选的,在步骤C之后,步骤D之前,进一步包括
对所请求的策略类型进行筛选,筛选出已在内存中加载的策略类型;并在步骤D中,只从内存中读取所筛选出策略类型对应的格式化方法的描述信息,并只对该策略类型的原始数据进行格式化。
优选的,在步骤D中,所述全局处理之后,返回给策略请求发起方之前,进一步包括E、判断所述策略请求的方式是否为初始化,如果是,则对全局处理结果进行完全式策略对象配置,并返回给策略请求方;否则,执行步骤F;F、判断全局处理结果中的策略内容是否更新,若无更新,则对全局处理结果进行无更新式策略对象配置,再向策略请求发起方返回全局处理结果;否则,执行步骤G;G、对全局处理结果与策略资料库中的策略类型相同的原策略数据副本进行比较,生成增量策略数据;H、判断步骤G所生成的增量策略数据是否小于预先存储的阈值,如果是,则对全局处理结果进行增量式策略对象配置,并返回给策略请求发起方,否则,对全局处理结果进行完全式策略对象配置,并返回给策略请求发起方。
所述策略数据管理结构为基于哈西索引的混合多叉树结构。
所述的混合多叉树结构中的根节点区和一级节点区存放设备以及策略类型的描述信息,二级及二级以下节点存放策略原始数据。
所述全局处理方法进一步包括推理方法和合法性检测方法。
本发明的有益效果包括本发明可以实现同时对多种策略的混合管理,根据网络全局环境同时对不同的策略进行灵活处理,并且方便加载新的策略管理流程,降低开发成本。
具体的,混合策略加载系统改变了以往“单个设备向管理中心请求策略”的简单策略传送模式,通过对策略处理的流程管理和统一的混合多叉树结构,加载系统有能力同时对多种类型的策略进行提取分析,此统一结构使得系统有机会在同一时刻分析众多在线安全设备的策略规格,因此能够比以往的策略管理系统更多的关注网络中安全设备之间的整体安全状况。加载系统提供了标准处理接口,通过配置,可以定义任意需要关心的设备策略之间的协同处理过程。
混合策略加载系统将网络设备中的策略管理问题分为基础框架部分设计和业务逻辑部分设计,并且给出了基本框架部分设计的模块组成和流程关系以及加载业务策略的方式方法。通过对策略管理问题结构上的划分,提高了策略管理的通用性和可扩充性,现在只需要通过XML部署文件就可以任意组织整个网络中的策略管理需求。
由于构件了混合策略加载系统,具体的业务策略问题就只需要关注其自身的策略提取与格式化方法,而不用去关心它们在集中管理中心的调度、发布问题,就此而言,使得开发新的策略内容的效率和可靠性得到了极大的提高。可以如下计算原先开发和验证一套策略管理的部件需要(x+y)人日,x为开发验证策略流程与管理的估值,y是开发验证具体策略内容组织的估值。如果有n种策略就需要n*(x+y)人日,现在则需要m*x+n*y人日,其中m*x是本混合策略加载系统的构建人日,m略大于1。那么两者的差为(n-m)*x人日,当n远大于m时,则可以为项目的进展节省可观的时间。
混合策略加载系统本身优化了对策略的集中管理过程,它自身维护具体业务策略逻辑的实例方法,保证它们在内存中只有一个副本。这种做法提高了空间利用率与策略处理速度,因为对于以往的策略管理方法,当策略请求来临时都会分配资源,使用后释放资源。这个过程被混合策略加载系统屏蔽,它会保证资源的最新版本与分配使用,事实上,同种类型的策略会使用同样的策略处理资源,并没有分配与回收过程。对于2000个设备每隔3分钟请求一次策略的情景而言,每秒钟系统就将节省超过20次的资源分配与回收过程,CPU也将获得更多的时间处理更多的策略。
混合策略加载系统不仅自身提升了策略处理的效率,同时还尽力提高其他系统资源的使用效率,这体现在加载系统将策略管理的过程划分为了各个阶段。以往是策略提取与格式化混在一起完成,而策略提取过程大都会占用其他的系统资源,比如文件访问,数据库访问或网络访问等,而策略格式化的时间也会计算在整个资源的使用之内,从而使得资源的占用率过高。加载系统划分了这两个最基本的流程,并且在两个流程之间提供管道传输数据,这样使得策略提取与格式化在不同的阶段中完成,从而使得策略提取尽快的使用并释放相关外部资源。在进行策略格式化时,已经释放出来的外部资源,还可以并发的提供给新的策略提取流程,因此提高了其它系统资源的使用率。


图1为本发明所述混合策略加载系统在集中管理器中的位置示意图;图2为混合策略加载系统的整体结构图;图3为本发明所述实施例的混合多叉树结构示意图;图4为本发明混合策略加载系统实现集中管理网络设备策略的方法流程图;图5为本实施例所述步骤43和步骤44的详细流程图;图6为策略布局数据管理模块执行流程的示意图;图7是本发明所述混合策略加载系统的部署实施相关环境示意图。
具体实施例方式
下面结合附图和具体实施例进一步说明本发明的实施方法。
图1为本发明所述混合策略加载系统在集中管理器中的位置示意图。如图1所示,策略服务系统包括混合策略加载系统与策略通讯模块,网络中的各个设备可以通过策略通讯模块与策略服务系统交互信息;策略服务系统与其他的服务系统分别被组装进JAVA管理扩展服务器(JMX Server)中;JMX Server与其组装的服务系统一起组成了集中管理器;集中管理器进一步与其他数据资源组成了集中管理系统。集中管理系统外的其他设备可以发送外部请求与集中管理器中的各个服务系统交互信息。
图2为混合策略加载系统的整体结构图。如图2所示,外部环境20是混合策略加载系统与外部设备进行交互的接口部分,即上述的策略通讯模块,策略通讯模块主要包括策略请求单元201,用于将接收到的外部设备的策略请求转发给混合加载系统,并将混合加载系统的处理结果返回给相应的外部设备。
混合策略加载系统21主要包括策略类型信息描述文件240,用于记录被管网络设备的策略类型信息,其中包括各个策略类型的基本描述信息、该策略类型的提取方法与格式化方法的描述信息、以及该策略类型的全局处理方法信息等。在被管网络中,对于每种不同的策略类型,都有对应的策略类型描述信息记录在该策略类型信息描述文件中,至于具体的策略类型信息可通过设备的运行环境参数、设备的各种动作等进行设置。如果要增加某种类型的策略,只需将该策略类型的描述信息添加到该策略类型信息描述文件240中既可。混合策略加载系统21对不同种类策略的提取、格式化、全局处理和发布都是通过该策略类型信息描述文件定义说明的。
策略管理流程定义注册单元210,位于系统的内存中,为管理不同种类策略的接口单元,用于在系统初始化时将策略类型信息描述文件240中的策略类型信息加载到系统内存中,策略类型信息中包括策略描述信息,以及处理每种策略需要的方法,例如提取方法、格式化方法和全局处理方法,所述的全局处理方法可以为推理方法、合法性检测方法等。本实施例中,这些方法的描述方式为二进制字节码。策略管理流程定义注册单元210为加载不同的策略管理流程提供了接口。
策略流程执行单元220,是执行策略提取分析发布的主要构件,用于接收策略请求模块201的策略请求,根据所请求的策略访问策略管理流程定义注册单元210,获取所请求策略的策略类型信息,其中包括策略描述信息和该策略对应提取方法的描述信息,根据各个请求策略的描述信息创建通用的策略数据管理结构,使多种策略类型信息都表示在该策略数据管理结构中,并针对每一种策略类型,执行其对应提取方法,提取出该策略的原始数据,并将该策略原始数据置入所创建的策略数据管理结构中对应策略的位置上。策略流程执行单元220还请求策略布局数据管理单元对提取的策略原始数据进行格式化、全局性的推理分析、以及合法性验证,并将处理后的策略数据通过策略请求模块201向分发给请求设备或导出给管理员。
策略布局数据管理单元230,用于对策略流程执行单元220所提取的策略原始数据进行处理。具体的,策略布局数据管理单元230收到策略流程执行单元220的处理请求后,对所创建的策略数据管理结构中的策略类型进行遍历,从策略管理流程定义注册单元210中读取每一策略类型的格式化方法的描述信息,以每一策略类型的原始数据为输入,执行该策略类型对应的格式化方法,对每一策略类型的原始数据进行格式化;附加的,该策略布局数据管理模块230还从策略管理流程定义注册单元210中读取通用的推理方法和合法性检测方法的描述信息,并以每一策略类型格式化后的结果为输入参数,运行推理方法和合法性检测方法,对格式化结果再进行全局的推理分析和合法性检测,并最终将处理结果返回给策略流程执行单元220。
以下对策略类型信息描述文件240、策略管理流程定义注册单元210、策略流程执行单元220和策略布局数据管理单元230进一步做详细说明。
本实施例中,所述策略类型信息描述文件符合规定的XML文件格式,该XML文件内容的标准规范文件格式如下<?XML version=′1.0′encoding=″GB2312″?>
<policyconfig>
<device NodeType=″LgdFWPowerV″>
<policytype name=′POLICYTYPE_FWR′desc=′强五防火墙基本策略′>
<implementation construct=′com.lenovo.publish.FWPolicyConstruction′manner=′share′path=′need′format=′com.lenovo.publish.FWRulePTImpl′check=′com.lenovo.publish.FWRuleInspectionImpl′>
</implementation>
</policytype>
<policytype name=′POLICYTYPE_VPN′desc=′强五防火墙VPN策略′>
<implementation construct=′com.lenovo.publish.VPNPolicyConstruction′manner=′share′path=′noneed′format=′com.lenovo.publish.VPNPTImpl′>
</implementation>
</policytype>
</device>
<common>
<processdeduce=′com.lenovo.publish.Reasoning′check=′com.lenovo.publish.Check′/>
</common>
</policyconfig>
现对上述XML文件的标准规范文件格式说明如下1)device标签用于声明设备,NodeType属性表明该设备的类型;可以声明任意多个device,即声明任意多个设备;2)在每一个device标签内可以声明任意多个该设备可能支持的策略类型,每一种策略类型由policytype标签声明,它包含的属性有策略名name和描述desc;3)在每一个policytype标签内,将描述该策略类型的流程实现方法和相关属性,这些内容包含在implementation标签内;4)在implementation标签中有两个最重要的属性,construct和format。
construct属性描述了策略管理流程中的策略提取方法的接口,本实施例中,该接口为策略提取方法描述信息的存储地址,从该地址可以读取策略提取方法的描述信息,该策略提取方法又称为策略提取服务,根据该描述信息描述的策略提取方法,抽取策略的原始数据。format属性描述了对策略抽取结果,即策略原始数据进行格式化操作服务的格式化方法的接口,该接口为该格式化方法描述信息的存储地址,从该地址可以读取格式化方法的描述信息,根据该描述信息描述的格式化方法,可以将策略原始数据格式化为该implementation标签对应策略所要求的策略格式,该策略格式可以被该策略类型对应的设备识别。
5)implementation标签中还提供了基本设施服务的描述信息。其中,manner属性提供给抽取服务一个便利的资源连接特性,如果取值”share”,则混合策略加载系统将它自身使用的数据库连接的引用提供给具体的策略提取服务,具体的策略提取服务可共享此连接,因此可以加快对资源的访问速度,如果取值“standalone”,则策略提取服务将自身处理对数据源的抽取访问;path属性为策略提取服务提供当前策略对应设备所在组织结构的路径图,如果某种类型的策略需要相关的路径信息,将设置此属性的值为“need”,否则为“noneed”。另外,check属性提供本策略类型的合法性检测接口,该接口为合法性检测方法描述信息的存储地址,从该地址可以读取合法性检测方法的描述信息。
6)common提供了各类型策略处理后的全局处理方法。其中的process标签声明了两个属性deduce属性指明了对全部策略数据处理的推理接口,该推理接口为推理方法描述信息的存储地址,从该地址可以读取推理方法的描述信息,所述的推理方法的主要作用是根据网络全局的情况对格式化后的策略数据进行筛选,输出符合网络全局的策略数据格式,是较后述check属性相对复杂的筛选过程,具体的推理方法可以根据具体情况进行定义。本实施例中,缺省的推理方法为合并各个策略的格式化输出结果,将该结果作为整体策略进行表示。check属性提供了对deduce属性输出结果进行合法性检验的接口,该接口也是一个存储地址,从该地址可以读取所述合法性检测方法的描述信息。本实施例中,所述合法性检测方法的缺省动作为不检验。check属性是相对简单的筛选过程。
在本实施例中,上述提取方法、格式化方法、推理方法、以及合法性检测方法的描述信息都通过网络设备可以识别的二进制字节码表示。
所述的策略管理流程定义注册单元210进一步包括策略类型注册模块211、策略类型访问模块212、策略类型表示模块213,其中策略类型注册模块211用于对上述记录有策略类型信息的XML文件进行处理,包括容错处理、缺省动作处理等,并在混合策略管理器21开始启动时从XML文件中提取策略类型信息,此处的策略类型信息也即策略管理流程信息,并将提取出来的策略类型信息按照一定的格式组织到内存中的策略类型表示模块213中,对于construct、format、deduce和check等标签对应的方法的实现,策略类型注册模块211根据construct、format、deduce和check等标签描述的地址,从对应的地址中查询实现对应方法的二进制字节码,将查询到的二进制字节码放到内存中去,这些二进制字节码标识了“提取”或“格式化”等方法的具体过程和参数,这个过程叫做“实例化”。但是,在启动加载时,一种策略类型的“提取方法”和“格式化”等方法只实例化一次,并一直存在内存中,直到系统重新初始化内存后,再进行实例化。系统重新初始化内存的情况至少包括系统重启,以及在不停止系统运行的情况下,更新所述的XML文件,并用更新后的XML文件重新初始化内存。另外,策略类型注册模块211还提供查找相关策略服务引用的功能,鉴于该功能为现有公知技术,此处不再详述。
策略类型访问模块212,用于接收混合策略加载系统中的其他单元的请求获取策略信息的命令,并根据该请求命令访问策略类型表示模块中所加载的策略信息,获取所请求的策略信息,并向发起请求的模块返回访问获取的结果。策略类型访问模块212主要通过基本的遍历方式,访问并返回策略信息。
策略类型表示模块213位于系统的内存中,接收并保存策略类型注册模块211提取的策略类型信息,并负责维护策略类型信息的数据结构;该策略类型标识模块213内部的策略信息由一张哈西表维护,该哈西表的每一对元素由设备类型和对应的一条链表组成,该链表中的每个元素为该链表所对应设备支持的策略类型信息,每一个策略类型信息包括对该策略类型的基本文字描述、该策略类型的提取方法与格式化方法的一份代码实例的引用、以及通用的全局处理方法的代码实例引用。所述代码实例的引用描述了策略类型提取方法、格式化方法以及全局处理方法的具体流程,该代码实例的引用为描述提取方法、格式化方法以及全局处理方法的二进制字节码,可从上述策略提取方法接口、格式化方法接口以及全局处理方法接口描述的地址中读取出来,鉴于如何通过实例的引用描述各种方法为本领域的公知技术,且不是本发明关键所在,此处不再详述。同时,策略类型表示模块213还接收策略类型访问模块212的访问请求,根据该访问请求所要访问的策略类型向策略类型访问模块212返回所请求的策略类型信息,包括需要的策略描述信息以及所述代码实例的引用。
所述的策略流程执行单元220主要包括命令接口模块221、策略构建模块222、和策略对象模块223,其中命令接口模块221是策略提取与格式化操作的起点,用于接收策略请求模块201的策略请求,根据该策略请求向策略构建模块222发送策略流程启动指令,启动混合策略加载系统的内部策略处理流程,并接收策略对象模块223返回的最终策略请求处理结果,即需要向请求设备分发的策略对象,将该策略对象返回给策略请求模块201。所述策略请求中的参数包括以下几种参数的组合请求策略对象、策略类型、设备对象的注册名称、设备类型、是否初始化标志、是否进行强行数据导出标志。其中请求策略对象为向混合策略加载系统请求的内容为空的对象,该对象有固定的格式,混合策略加载系统返回的策略数据将填加在该策略对象中向请求设备返回;是否初始化标志标明该当前策略请求是否为对同一策略的初始请求;所述是否进行强行数据导出标志用于说明当前策略请求是否为管理员发起的管理命令,对于这种策略请求,返回的策略对象不向设备分发,只是导出,供管理员分析。
策略构建模块222用于接收命令接口模块221的策略流程启动命令,根据策略请求的内容参数,通过策略类型访问模块212从策略类型表示模块213中获取策略请求所请求的策略类型信息,包括策略类型的描述信息和格式化方法的二进制字节码,并依照该策略类型信息建立存储当前策略请求的多策略信息的策略数据管理结构,利用策略类型对应的格式化方法提取策略原始数据,并将原始数据置入策略数据管理结构中。
本发明中,混合策略加载系统同时处理多种不同策略并且能够同时对不同策略进行分析,就在于混合策略加载系统在应答策略请求时为不同的策略流程提供了通用的策略数据管理结构,这种通用的策略数据管理结构既可以处理单一的策略请求,也可以同时处理对多个策略请求,并可以使策略服务器对获得的策略数据进行格式化与全局分析,然后再将处理后的策略数据发送出去。本实施例中,所述通用的策略数据管理结构为基于哈西索引的混合多叉树结构,但是本发明所述的策略数据管理结构也不限于混合多叉树结构,本领域技术人员所能直接想到的其他类似的数据管理结构都可适用于本发明。
图3为本实施例所述混合多叉树结构的示意图。如图3所示,在逻辑上该混合多叉树可分为根节点区、一级节点区、二级节点区、...,除第一级节点区外,其余各级的节点数目不受限制。混合策略加载系统负责根节点区和一级节点区的管理,二级以后的节点区则由在所述XML文件中声明的各策略的提取方法和格式化方法管理,这些方法的调度由混合策略加载系统控制。
混合多叉树由策略构件模块222创建,可由策略勾践模块222自身以及策略布局数据管理单元中的策略格式模块231使用。
混合多叉树的根节点区30由一个根节点301构成,该节点内部为一张哈西表,哈西表的每一对元素由[标号n,指针n]组成,标号n为某需要策略的设备标号,该标号可以根据策略请求中设备对象的注册名称查找策略服务器中的策略资料库而获得,该标号对应的指针n将指向一级节点区中的对应节点。
一级节点区31对设备支持的策略类型进行细分,每一个节点内部均为一张属于它自己的哈西表,如图中节点311所示,表中每对元素的形式为[策略类型b,指针b],其中策略类型b属于XML文件定义中该设备支持的类型再加上一个设备自描述类型,此设备自描述类型是混合加载系统默认提供的类型,指针b将指向该策略类型的实际内存存储区。
二级节点区32为策略原始数据的实际提取结果存储区,至少存在一个被称为自描述属性的区域与一级节点区联系,如节点3210,用于声明设备的基本信息。其余的数据存储区由XML文件中对应策略类型的construct标签指明的提取方法提取,混合策略加载系统将提取的结果其置入该混合多叉树二级节点区的相应位置,如节点3211和3212。
另外,混合多叉树中还可能有三级节点区33。对一个策略类型而言,根据需要会有隶属于该策略类型的子类型关系存在,因此如果出现此种情况,具体的策略流程可以继续在此混合多叉树上的相应位置添加策略信息,如节点33111。
在所述混合多叉树的叶节点上的数据为设备自描述信息或经过construct标签指明提取方法提取后的结果,即策略原始数据。但是,这些策略原始数据并不一定是实际物理设备支持的策略格式。因此,策略构建模块222还需向策略布局数据管理模块230发送格式化请求,经过策略布局数据管理单元230对混合多叉树上的策略原始信息进行格式化处理后,才能够成为设备识别的策略格式,并将格式化后的数据存入策略对象模块223填加成策略对象。
策略对象模块223用于保存策略构建模块222提取并格式化后的策略数据,将该策略数据填加到对应策略请求中的策略对象中,并将填加后的策略对象返回给命令接口模块221,由该命令接口模块221将策略对象通过策略请求模块201分发给请求设备,或者导出给管理员。策略对象模块的基本属性有策略更新标志、策略类型、设备密码、策略内容。
策略布局数据管理单元230主要包括策略格式模块231、策略工厂模块232、策略标尺模块233。其中策略格式模块231用于接收到策略构建模块222发送的处理请求后,对所创建的策略数据管理结构中的策略类型进行遍历,通过策略标尺模块232过滤没有在内存中注册的策略类型,再通过策略工厂模块233向策略类型访问模块请求过滤后策略类型的格式化方法的二进制字节码,并执行请求到的格式化方法的二进制字节码,对相应策略类型的原始数据进行格式化;附加的,该策略格式模块还通过策略工厂模块233请求策略类型访问模块212返回通用的推理方法和合法性检测方法的二进制字节码,并以格式化后的结果为输入参数,运行推理方法和合法性检测方法的二进制字节码,对格式化结果再进行全局的推理分析和合法性检测,并最终将处理结果返回给策略构建模块222。
策略标尺模块232,为可选模块,用于接收策略格式模块231输入的请求策略类型,通过策略工厂模块233请求策略类型访问模块212返回内存中注册的策略类型,并对请求的策略类型进行筛选,只对在内存中注册的策略类型请求格式化方法的二进制字节码。
策略工厂模块233,为与策略类型访问模块进行通讯的接口模块,接受策略格式模块231和策略标尺模块232的访问请求,向策略类型访问模块212转发访问请求,获取相关的访问结果,并将访问结果返回给策略格式模块231做后续的处理。
图4为本发明混合策略加载系统实现集中管理网络设备策略的方法流程图。如图4所示,所述的方法包括步骤41、预先在集中管理器中存储策略类型信息描述文件,即上述的XML文件。
步骤42、集中管理器启动时,策略服务器初始化混合策略加载系统21的支撑环境,即首先分析XML文件,对XML文件进行防错、校验等缺省处理,再将XML文件中的策略类型信息加载到集中管理器的内存中。初始化结束后,策略服务器开始等待策略请求。
具体的,所加载的策略类型信息包括XML文件所包括的各个策略类型的基本描述信息和该策略类型对应的策略提取方法、格式化方法、推理方法、以及合法性检测方法的描述信息。本实施例中的描述信息为二进制字节码。加载所述二进制字节码的具体过程为读取XML文件中各个策略类型的construct、format、deduce和check等标签描述的地址,从这些地址中查询实现对应方法的二进制字节码,将查询到的二进制字节码加载到内存中去。所述策略类型信息被加载到内存中的策略类型表示模块中,由一张哈西表维护,该哈西表的每一对元素由设备类型和对应的一条链表组成,该链表中的每个元素为该链表所对应设备支持的策略类型信息。
步骤43、一旦混合策略加载系统接收到外部策略请求,根据该策略请求从内存中读取请求指定设备策略类型的描述信息,创建策略类型信息的策略数据管理结构,本实施例中为混合多叉树结构,并从内存中读取策略类型提取方法的二进制字节码,执行该提取方法的二进制字节码,提取出策略原始数据,并将该策略原始数据置入所创建的混合多叉树中的对应位置上。
具体的,本步骤43包括步骤431、混合策略加载系统中的策略管理流程执行单元220首先判断所请求的策略是否变更,如果是,则再执行步骤432,否则,直接配置为无更新式策略对象,并返回给请求策略的设备。
步骤432、根据策略请求中的设备标识,以及从内存中读取的策略类型的描述信息创建可以表示多种策略类型的混合多叉树;其中,该混合多叉树的根节点区为所需策略的设备标号及其指向一级节点区的指针,一级节点区为每个设备标识对应的设备自描述信息和该设备的各个策略类型及其指向二级节点区的指针。
步骤433、根据策略类型从内存的策略类型表示模块213中读取描述策略类型提取方法的二进制字节码。
步骤434、运行读取到的提取方法的二进制字节码,提取出策略类型对应的策略原始数据,并将提取出的策略原始数据置入上述创建的混合多叉树中的叶节点中,即二级节点或更下级的节点。
上述的步骤43中,混合策略加载系统接收可能一次能够接收多种策略的请求,此时也只会创建一棵混合多叉树,该混合多叉树中含有所有这次请求中各策略类型的数据信息。
步骤44、策略管理流程执行单元220启动策略布局数据管理单元230的处理流程,策略布局数据管理单元230从内存中读取策略类型对应的格式化方法的二进制字节码,以所述混合多叉树中的策略原始数据为格式化输入参数,运行格式化方法的二进制字节码,将所述策略原始数据转化为请求设备可以识别的传输格式,并进一步读取全局处理方法的二进制字节码,进行全局处理后,由策略流程执行单元220返回给策略请求的发起方。
具体的,本步骤44包括步骤441、首先会经过策略标尺模块232筛选请求设备需要输出的策略种类,只有那些在内地中注册的策略类型才会被进行后续处理。
步骤442、访问内存,获取与步骤441所筛选策略种类对应的策略格式化方法的二进制字节码。
步骤443、以混合多叉树中的原始策略数据为格式化的输入参数,运行步骤442获得的策略格式化方法的二进制字节码,对所述的原始策略数据进行格式化,转化为请求设备可以识别的传输格式。
步骤444、访问内存,获取与步骤441所选择策略种类对应的全局处理方法,即推理方法和合法性检测方法,的二进制字节码。
步骤445、以步骤442格式化处理后的结果为输入参数,运行步骤444获取的推理方法和合法性检测方法的二进制字节码,并对推理和合法性检测处理后的策略数据返回给请求设备。
图5为本实施例所述步骤43和步骤44的详细流程图。该流程主要通过策略构建模块222和策略布局数据管理模块230合作执行。如图5所示,该流程包括三个主要流程,分别是策略变更判断流程51、策略处理流程52和策略增量处理流程53。该示意图描述了策略管理流程的执行过程。
本领域的技术人员知道,策略服务器在设备请求策略时,所请求的策略由策略管理客户端(UI)工具保存至策略资料库。因此本发明中,当策略构建模块222收到来自命令接口模块221的策略请求50时,需查找策略资料库,根据策略资料库所记录的策略特征为标准对策略请求进行分析和策略更新判断,从而快速判断出被请求的策略是否有更新,并根据判断的结果决定策略对象模块223的配置模式。
策略变更判断流程具体包括步骤511、根据所请求的策略查询策略资料库,判断策略资料库中记录的该策略的策略状态是否为可发布状态,如果为可发布状态,则执行步骤512;否则,将策略资料库中记录的原策略数据作为向请求设备分发的策略对象,执行步骤54,进行无更新策略对象配置处理;所述不可发布状态例如被请求的策略正在处于编辑状态,为避免不可预料的策略冲突,此时禁止向设备发布策略。
步骤512、判断所述策略请求的方式是否为初始化,即判断策略请求中是否携带初始化标识,如果是,则当前策略请求为初始请求,执行策略处理流程52;否则,该当前策略请求不是初始请求,执行步骤513。
步骤513、判断策略资料库中记录的所请求策略的路径是否更新,如果是,则执行策略处理流程52,否则,执行步骤514。
之所以执行本步骤513,是由于一般网络设备的管理是按管理域的方式进行树状层级管理,因此一台网络设备从逻辑上会属于某一个特定的管理域,从而具有特定的策略拓扑路径,且其自身的策略要受上级各管理域节点策略的影响。如果某设备对应的策略拓扑路径改变,则其策略也跟随进行相应改变,因此需要判断其路径是否更新。
步骤514、判断当前所请求策略在前次请求后是否进行策略编辑更新,即根据策略资料库的记录判断当前请求的策略自上一次请求至本次请求期间,是否被策略管理工具进行过编辑操作,例如包括增加、删除、修改等操作,如果进行过编辑操作,则说明策略已编辑更新,执行策略处理流程52;如果若无编辑操作,则说明没有编辑更新,将策略资料库中记录的原策略数据作为向请求设备分发的策略对象,执行步骤54。具体的,策略编辑操作更新判断的实现机制是通过将上次策略发布时间和路径各节点的策略修改时间进行比较来判断有无操作性更新的,策略修改时间由策略管理工具配置并保存在策略资料库中。
另外,策略变更判断流程中还包括对策略处理流程52处理后的策略信息进行策略内容更新判定步骤515,若无更新,则执行步骤54;否则,执行策略增量处理流程53进行处理。该策略内容更新判定515的实现机制是通过将新得到策略的哈希值与上次下发策略的哈希值进行比较而实现的,通过这一比较过程,可准确判断出所请求策略的内容是否有更新。
策略处理流程52负责按照策略请求中携带的请求设备的标识和类型自动创建混合多叉树,提取策略原始数据,并将策略原始数据进行格式化。
策略处理流程52包括步骤521、策略组装流程控制,即将请求设备的设备类型与内存中注册的设备类型进行匹配,从内存中获取该设备类型的全部策略类型的列表和相应的策略提取二进制字节码的实例引用,按照获取的全部策略类型和策略请求中的设备标号创建混合多叉树,并按照每一个策略类型执行该策略类型对应的策略提取方法的二进制字节码,以提取该策略类型的策略原始数据,并将提取结果置于混合多叉树的二级以及二级以下的节点区。
在此步骤中,如果设备类型对应的策略类型需要该设备的组织路径图时,即所述的path标签取值“need”时,可从策略路径池中提取对应的策略路径。
步骤522、策略解析流程控制,即从内存中读取策略类型对应的格式化方法、推理方法和合法性检测方法的二进制字节码,以所述混合多叉树中的策略原始数据为格式化输入参数,运行格式化方法的二进制字节码,将所述策略原始数据转化为请求设备可以识别的传输格式,并对格式化后的结果利用推理方法和合法性检测方法进行全局处理。
步骤523、策略构建模块222将步骤522处理后的策略数据提交给指定的策略缓冲区进行存储,以满足其他接口的策略数据要求。
步骤524、判断所述策略请求的方式是否为初始化,如果是,则执行步骤56,否则,执行步骤515。
所述策略增量处理流程53负责在处理非初始化请求策略时,对已提取的策略进行增量处理,以生成最佳传输格式。策略增量处理流程53包括
步骤531、针对所请求的每一策略类型,由增量策略产生器对策略处理流程52中新提取并格式化的策略数据与策略资料库中相同策略类型所对应的原策略数据副本进行以“行”为单位的比较,生成增量策略数据。所述增量策略产生器的实现方法为现有公知技术,其功能与Unix系统中的文件比较(diff)和补丁(patch)工具所实现的功能一致,此处不再详述。
步骤532、针对所请求的每一策略类型,判断步骤531所生成的增量策略数据是否小于预先存储的阈值,如果是,则执行步骤55,采用增量式策略对象配置,否则,执行步骤56,采用完全式策略对象配置。
策略分发给请求设备前的最后一个环节是策略对象的配置,主要分三种模式步骤54、对所分发的策略数据对象进行无更新策略对象配置,执行步骤57。本步骤54主要负责在设备所请求的策略没有任何更新、且请求方式为非初始化时对分发的策略对象进行属性配置,即该策略对象的属性为无更新策略对象。
步骤55、对所分发的策略数据对象进行增量式策略对象配置,执行步骤57。本步骤55主要负责在所请求的策略有更新、并符合增量策略分发阈值条件且请求方式为非初始化时对策略对象进行属性配置,即该策略对象的属性为增量式策略对象。
步骤56、对所分发的策略数据对象进行完全式策略对象配置,执行步骤57。本步骤56主要负责在策略请求的请求方式为初始化、或者不适宜使用增量策略分发模式的情况下对策略对象进行属性配置,即该策略对象的属性为完全式策略对象。
步骤57、将所分发的策略对象返回给发出策略请求的设备。
上述步骤522主要通过策略布局数据管理模块执行。图6为策略布局数据管理模块执行步骤522的详细流程示意图。如图6所示,该详细流程包括步骤601策略构建模块222向策略格式模块231请求策略的格式化结果,且步骤521所建立的混合多叉树为待格式化的内容,并指定了一块用于输出格式化结果的空数据缓冲区。
步骤602对所述混合多叉树根节点哈西表中的元素进行遍历,对每一对元素依次执行步骤603至步骤618。
步骤603根据设备标识号查找到混合多叉树一级节点区中相应设备自描述信息,向步骤601指定的空数据缓冲区输出该设备描述信息。
在本实施例中,所述输出缓冲区的缺省通用数据表达文法满足下列产生式PolicySet::=(PolicyEntity RN PolicyRule*)*PolicyEntity::=PolicyEntityType“:”EntityPropertiesEntityProperties::=PropertiesPolicyRule::=Ruletitle “:”RuleProperties RNRuleProperties::=PropertiesProperties::=(Name=Value)[,Name=Value]*PolicyEntity::=StringRuletitle::=StringName::=StringValue::=StringRN::= 换行回车符步骤604指示策略标尺模块232选择请求设备所需输出的策略类型。
步骤605对需要输出的策略类型依次执行步骤606至617。
步骤606策略标尺模块232获得规定格式的策略类型,该格式为包含设备类型与策略类型组合的实例。
步骤607策略标尺模块232以步骤606获得的设备类型为参数,向策略工厂模块233寻求该设备类型支持的策略类型。
步骤608策略工厂模块233向策略类型访问模块212递交请求,请求获取所述请求设备支持的策略列表。
步骤609至611策略类型访问模块212向策略表示模块213查询请求设备所支持的策略列表,并返回设备支持的策略列表至策略工厂模块233,策略工程模块233再将该策略列表返回给策略标尺模块232。
步骤612策略标尺模块232判断步骤607中获得的策略类型是否包含在步骤609返回的策略列表之中,如果是,则通过策略工厂模块233向策略类型访问模块212递交请求,请求获取步骤607所获得的策略类型对应的格式化方法的实例引用,即格式化方法的二进制字节码。
步骤613至616策略类型访问模块212向策略类型表示模块213查询,并返回所述策略类型格式化方法的二进制字节码至策略工厂模块233,并进一步返回给策略格式模块231。
步骤617策略格式模块231运行获得的格式化二进制字节码,将混合多叉树中的策略类型对应的策略原始数据格式化到指定的缓冲区。此格式化的输入为混合多叉树中策略类型对应指针在二级节点区中指向的内容,输出为步骤603中描述的格式。比较直接的一种格式,处理速度较快。
此处,由于混合加载系统提供策略管理框架和流程自动化过程,因此要求格式化方法自身识别混合加载系统提供给它的输入参数。输入参数由策略提取方法生成。混合加载系统提供了挂接策略管理中不同阶段的接口,例如策略提取和格式化阶段,具体的策略格式化过程需要具体的格式化方法的二进制字节码实现。步骤603中指明了输出缓冲区的通用格式文法,这种文法简洁高效,同时适合机器与人的判断,是系统缺省的使用方法。但是本发明并没有要求具体的格式化方法都必须强制按照此种方式输出,格式化方法可以自行产生设备能够直接识别的各种各样的字符表达方式。在后面的步骤中还提供了推理和合法性检测过程,使得混合加载系统有机会再一次对最终格式进行整理。
步骤619至621策略格式模块231通过策略工厂模块233和策略类型访问模块212从策略类型表示模块213中获取通用的推理方法与合法性检测方法的二进制字节码。
步骤622策略格式模块231以所述缓冲区的内容为输入,调用获取的推理方法二进制字节码进行全局策略格式处理。特殊的,如果该推理方法为空,则系统缺省将前述缓冲区中的内容顺序累加。
步骤623将步骤622的处理结果作为输入,调用合法性检测方法的二进制字节码,对数据进行合法性检测。特殊的,如果该合法性检测方法为空,则系统不做处理。
步骤624策略格式模块231将经过上述一系列过程处理完毕的策略最终格式返回给策略构建模块222。
上述部分对本发明所述的混合策略加载系统和方法做了详细的说明,以下部分为本发明所述混合策略加载系统的部署环境。
图7是本发明所述混合策略加载系统的部署实施相关环境示意图。如图7所示,所述混合策略加载系统位于服务器端的策略服务系统(Mbean)内。为了使混合策略加载系统运转起来,服务器端的构件包括最底层硬件是工作站或服务器;内存需要大于等于256M;安装可以运行JAVA虚拟机的操作系统,目前主流的操作系统都可满足,之上运行JAVA虚拟机,版本大于1.4;虚拟机中运行支持JMX标准的集中管理程序,这里采用联想LeadSec Server;在Server环境的配置文件中加载策略服务MBean代码,此MBean内部已经包含混合策略加载系统和策略通讯模块的实现代码。
以上部分属于系统框架部分,在服务器端内还有与具体策略管理相关的代码包需要部署,这些是随着具体应用不同而可以替换的内容,包括前文提及的XML部署文件,该XML文件为本发明所必须的配置,XML文件中涉及到的符合接口标准的策略管理实例代码包,如设备类型1策略实现压缩包,设备类型2策略实现压缩包等。
另外请求接收策略的设备需要位于服务器访问可达的网络中,图7中左侧部分描述了典型设备,如防火墙设备、网闸设备、以及其他网络设备。这些设备的共同点是内置了可以和服务器连接的策略通讯模块。
相关设备与策略服务器共同构成了策略管理的应用环境。混合策略加载系统在其中提供了策略管理功能。
以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不局限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
权利要求
1.一种混合策略加载系统,其特征在于,该系统包括策略类型信息描述文件(240),用于记录不同种类设备能够支持的策略类型的策略类型描述信息、处理每种策略类型所需提取方法和格式化方法的接口信息、以及对策略进行全局处理方法的接口信息;策略管理流程定义注册单元(210),系统运行时加载在内存中,用于将策略类型信息描述文件(240)中记录的策略类型描述信息加载到自身中、并根据所述提取方法、格式化方法以及全局处理方法的接口信息读取每种策略的提取方法、格式化方法和全局处理方法的描述信息,将读取到的描述信息加载到自身中;策略流程执行单元(220),用于接收策略请求,从策略管理流程定义注册单元(210)中获取所请求的策略类型信息,包括策略描述信息和该策略对应的提取方法的描述信息,创建通用的策略数据管理结构,并根据提取方法的描述信息执行提取操作,提取出所请求策略的原始数据,将策略描述信息和所述策略原始数据置入所创建的策略数据管理结构中对应策略的位置上;还用于向策略布局数据管理单元(230)发出处理请求,接收策略布局数据管理单元(230)的处理结果,向策略请求方输出该处理结果;策略布局数据管理单元(230),用于接收策略流程执行单元(220)的处理请求,从策略管理流程定义注册单元(210)中读取格式化方法和全局处理方法的描述信息,根据描述信息对所述策略数据管理结构中的策略原始数据进行格式化,并对格式化后的数据进行全局处理,向策略流程执行单元(220)返回处理结果。
2.如权利要求1所述的系统,其特征在于,所述策略类型信息描述文件(240)为符合预定策略类型信息描述格式的可扩展标记语言XML文件。
3.如权利要求1所述的系统,其特征在于,所述策略管理流程定义注册单元(210)进一步包括策略类型注册模块(211)、策略类型访问模块(212)和策略类型表示模块(213),其中策略类型注册模块(211)用于将策略类型信息描述文件(240)中记录的策略类型描述信息加载到策略类型表示模块(213)中、并根据所述提取方法、格式化方法以及全局处理方法的接口信息读取每种策略的提取方法、格式化方法和全局处理方法的描述信息,将读取到的描述信息加载到策略类型表示模块(213)中;策略类型访问模块(212)用于接收所述混合策略加载系统中的其他单元的请求,并访问策略类型表示模块(213),获取所请求的策略信息,向发起请求的单元返回访问获取的结果;策略类型表示模块(213)位于系统的内存中,用于接收并保存策略类型注册模块(211)所加载的内容,并接收策略类型访问模块(212)的访问请求,向策略类型访问模块(212)返回访问结果。
4.如权利要求1所述的系统,其特征在于,所述策略流程执行单元(220)进一步包括命令接口模块(221)、策略构建模块(222)和策略对象模块(223),其中命令接口模块(221)用于接收策略请求,向策略构建模块(222)发送策略流程启动指令,并接收策略对象模块(223)返回的最终策略请求处理结果,向策略请求发起方返回该处理结果;策略构建模块(222)用于接收命令接口模块(221)的策略流程启动命令,从策略管理流程定义注册单元(210)中获取所请求的策略类型信息,包括策略描述信息和该策略对应的提取方法的描述信息,创建通用的策略数据管理结构,并根据提取方法的描述信息执行提取操作,提取出所请求策略的原始数据,将策略描述信息和所述策略原始数据置入所创建的策略数据管理结构中对应策略的位置上;还用于向策略布局数据管理单元(230)发出处理请求,接收策略布局数据管理单元(230)的处理结果,将处理结果发送到策略对象模块(223);策略对象模块(223),用于接收并保存策略构建模块(222)发送的处理结果,将该处理结果填加到对应策略请求中的策略对象中,并将填加后的策略对象返回给命令接口模块(221)。
5.如权利要求1所述的系统,其特征在于,所述策略布局数据管理单元(230)进一步包括策略格式模块(231)、策略标尺模块(232)、策略工厂模块(233),其中策略工厂模块(233)用于接收策略格式模块(231)和策略标尺模块(232)的访问请求,向策略管理流程定义注册单元(210)转发访问请求,并接收返回的访问结果,将访问结果返回给策略格式模块(231);策略标尺模块(232)用于接收策略格式模块(231)输入的请求策略类型,通过策略工厂模块(233)请求访问策略管理流程定义注册单元(210)中注册的策略类型,接收访问结果,并根据访问结果对请求的策略类型进行筛选,只对在内存中注册的策略类型向策略工厂模块(233)请求格式化方法的描述信息;策略格式模块(231)用于接收策略流程执行单元(220)发送的处理请求后,向策略标尺模块(232)发送所请求的策略类型,并接收策略工厂模块(233)返回的格式化方法的描述信息,按照该描述信息对所述策略数据管理结构中的策略原始数据进行格式化,并向策略工厂模块(233)发送访问全局处理方法描述信息的请求,接收到策略工厂模块(233)返回的全局处理方法描述信息后,按照该描述信息对所述格式化后的结果进行全局处理,并向策略流程执行单元(220)返回最终的处理结果。
6.如权利要求1至5任一项所述的系统,其特征在于,所述策略数据管理结构为基于哈西索引的混合多叉树结构。
7.如权利要求6所述的系统,其特征在于,所述的混合多叉树结构中的根节点区和一级节点区存放设备以及策略类型描述信息,二级及二级以下节点存放策略原始数据。
8.如权利要求1至5任一项所述的系统,其特征在于,所述全局处理方法进一步包括推理方法和合法性检测方法。
9.一种实现策略管理的方法,适用于集中管理器,其特征在于,该方法包括A、预先在集中管理器中存储策略类型信息描述文件;在该策略类型信息描述文件中记录不同种类设备能够支持的策略类型的策略类型描述信息、处理每种策略类型所需提取方法和格式化方法的接口信息、以及对策略进行全局处理方法的接口信息;B、集中管理器启动时,将策略类型信息描述文件中记录的策略类型描述信息加载到内存中、并根据所述提取方法、格式化方法以及全局处理方法的接口信息读取每种策略的提取方法、格式化方法和全局处理方法的描述信息,将读取到的描述信息加载到内存中;C、接收到外部策略请求后,根据该策略请求从内存中读取请求指定设备策略类型的描述信息,创建策略数据管理结构,并从内存中读取策略类型提取方法的描述信息,按照该描述信息提取策略的原始数据,并将所述策略类型的描述信息和策略原始数据置入所创建的策略数据管理结构的对应位置上;D、从内存中读取策略类型对应的格式化方法的描述信息,按照该描述信息对所述策略数据管理结构上的策略原始数据进行格式化;从内存中读取全局处理方法的描述信息,按照该描述信息对格式化处理后的结果进行全局处理,将全局处理后的结果返回给策略请求的发起方。
10.如权利要求9所述的方法,其特征在于,所述步骤C中,在接收到外部策略请求后,从内存读取描述信息之前,进一步包括C1、根据集中管理器的策略资料库的记录判断所请求的策略是否变更,如果是,则继续执行步骤C的后续操作,否则,直接将策略资料库中记录的对应相同的策略配置为无更新式策略对象,并返回给策略请求方。
11.如权利要求10所述的方法,其特征在于,所述步骤C1中,判断所请求的策略是否变更的具体过程包括C11、根据所请求的策略查询策略资料库,判断策略资料库中记录的该策略的策略状态是否为可发布状态,如果为可发布状态,则执行步骤C12;否则,所请求策略没有变更;C12、判断所述策略请求中是否携带初始化标识,如果是,则策略有变更;否则,执行步骤C13;C13、判断策略资料库中记录的所请求策略的路径是否更新,如果是,则策略有变更,否则,执行步骤C14;C14、判断当前所请求策略在前次请求后是否进行策略编辑更新,如果是,则策略有变更;否则,策略无变更。
12.如权利要求9所述的方法,其特征在于,在步骤C之后,步骤D之前,进一步包括对所请求的策略类型进行筛选,筛选出已在内存中加载的策略类型;并在步骤D中,只从内存中读取所筛选出策略类型对应的格式化方法的描述信息,并只对该策略类型的原始数据进行格式化。
13.如权利要求9所述的方法,其特征在于,在步骤D中,所述全局处理之后,返回给策略请求发起方之前,进一步包括E、判断所述策略请求的方式是否为初始化,如果是,则对全局处理结果进行完全式策略对象配置,并返回给策略请求方;否则,执行步骤F;F、判断全局处理结果中的策略内容是否更新,若无更新,则对全局处理结果进行无更新式策略对象配置,再向策略请求发起方返回全局处理结果;否则,执行步骤G;G、对全局处理结果与策略资料库中的策略类型相同的原策略数据副本进行比较,生成增量策略数据;H、判断步骤G所生成的增量策略数据是否小于预先存储的阈值,如果是,则对全局处理结果进行增量式策略对象配置,并返回给策略请求发起方,否则,对全局处理结果进行完全式策略对象配置,并返回给策略请求发起方。
14.如权利要求9至13任一项所述的方法,其特征在于,所述策略数据管理结构为基于哈西索引的混合多叉树结构。
15.如权利要求14所述的系统,其特征在于,所述的混合多叉树结构中的根节点区和一级节点区存放设备以及策略类型的描述信息,二级及二级以下节点存放策略原始数据。
16.如权利要求9至13任一项所述的系统,其特征在于,所述全局处理方法进一步包括推理方法和合法性检测方法。
全文摘要
本发明公开了一种混合策略加载系统,包括策略类型信息描述文件;策略管理流程定义单元,用于将描述文件中的内容加载到内存中;策略流程执行单元,用于接收策略请求,从内存中读取提取方法,提取策略原始数据;策略布局数据管理单元,用于从内存中读取格式化方法和全局处理方法,对策略原始数据进行格式化和全局处理,并向请求者返回处理结果。本发明还公开了一种实现策略管理的方法,该方法先从内存中读取提取方法,提取策略原始数据,再读取格式化和全局处理方法,对原始数据进行格式化和全局处理。本发明可以实现同时对多种策略的混合管理,根据网络全局环境同时对不同的策略进行灵活处理,并且方便加载新的策略管理流程,降低开发成本。
文档编号H04L29/06GK1829160SQ20051000867
公开日2006年9月6日 申请日期2005年3月1日 优先权日2005年3月1日
发明者朱震, 王新华 申请人:联想(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1