基于规则的Web服务运行环境管理系统及管理方法

文档序号:7693187阅读:228来源:国知局
专利名称:基于规则的Web服务运行环境管理系统及管理方法
技术领域
本发明涉及一种基于规则的Web服务运行环境管理系统及管理方法。
技术背景Web服务建立了一组开放的标准,这使得仅仅通过网络连接,就可以对基于规范开发的各 种应用进行调用和整合,从而在互联网上完成更加复杂的任务。从表面上看,Web服务是一个 应用程序,它通过WSDL向外部的用户或其它应用程序提供接口,可以通过消息传输进行远程 调用。从深层次上看,Web服务是一种新的Web应用程序分支,它们是自包含、自描述、模块 化的应用,可以在网络中被描述、发布、查找以及通过Web来调用。Web服务是基于网络的、 分布式的模块化组件,它执行特定的任务,遵守具体的技术规范,这些规范使得Web服务能与 其它兼容的组件进行互操作。Web服务是由一系列XML技术为核心的内容组成,主要包括XML Schema、 SOAP、 WSDL 禾口UDDI。 XML Schema是一个开放的模型,它使用XML语法,定义了XML文档的结构,并 对XML文档的元素、属性和数据类型进行约束。SOAP提供了跨语言、跨平台的节点之间的消 息交换方式,是Web服务传输过程中最重要的技术。WSDL通过XML文档描述了服务的性质 以及调用服务的机制,客户端可以通过WSDL自动生成和获取,它主要包括服务接口(Service interface)和服务实现(Service implementations)。 UDDI利用注册、查找和访问,提供了动态获取 和调用服务的机制,在为服务请求者寻找合适服务的过程中起到重要作用。Web服务技术使得 底层平台对应用交互透明,应用的互操作能力得到了前所未有的提升,从而成为新一代互联网 软件技术。RuleML是由第六届泛太平洋人工智能国际会议(PRICArOO)在2000年8月提出,旨在支持 构建规则的基于XML规则标记语言。RuleML的目的是建立一个开放的、与开发者无关的基于 XML或者RDF的规则语言。RuleML规则是由规则原子(Atom)组成的,主要包括规则头部和规 则体部。规则体部(Body)部分是规则触发的前提,规则头部(Head)是规则触发的结果。对于每个 规则原子内部,包括运算名称(Rel)以及常量(Ind)和变量(Var)等数据类型。Web服务的可管理性是分布式软件体系结构中重点关注的环节之一。如何管理分布式系统, 在系统运行时有效地监控和管理,保证运行平台的使用者和管理者对系统的管理和控制,在软 件理论研究和软件系统设计的过程中受到了广泛关注。在面向服务领域,运行平台的可管理性是保证系统运行的重要支撑条件。根据系统需求,面向服务环境存在着一系列的容器中间件, 它们结构相似但功能各异。由于Web服务技术在消息传输、报文解析、流程调用等方面区别于 传统的系统模型结构,因此如何在此基础上形成一种管理框架,针对各种面向Web服务的容器 进行监控和管理,是亟需解决的问题。目前管理技术比较通用的是Java管理扩展(Java Management Extensions, JMX)。 JMX提供了 标准的方法来管理资源,并且实现了动态代理来管理这些资源。JMX具体描述一个管理框架, 这个框架包括三层,设备层,代理层和管理层。设备层设备层允许开发者快速地提供基于Java的管理方案,方案适用于计算和通信系统。 它为基于Java技术的对象提供了即时的可管理性。代理层主要定义了各种服务以及通信模型。该层的核心是一个MBean服务器,所有的管 理构件都需要向它注册,才能被管理。管理层管理层提供了一系列的管理构件,它们可以作为管理器或者代理来进行管理。为了 采用已经存在的技术,JMX规范提供了广泛适用的管理接口,包括SNMP和CMIP等。传统的管理Web服务的方式是通过Web管理控制台,由管理员査看服务运行和容器性能等 信息,经过分析后进行控制操作。这种方式紧密依赖于人工活动,在日益复杂的计算环境中, 面对逐渐增长的管理成本,无法有效地支持对Web服务运行环境的管理。在此基础上演变出的 管理方案通常是采用独立运行的监控服务器,替代人工管理的方式对Web服务和服务组合运行 环境进行监控和管理。这种管理模式虽然具有自动管理的基本机制,但是没有形成标准的管理 规则,而且管理功能固定地集成到管理工具中,缺少灵活可扩展的特性。 发明内容本发明的目的克服现有技术的不足,提出一个基于规则的Web服务运行环境管理系统, 该系统通过基于规则的自主管理机制,形成了对Web服务的管理框架,提高了 Web服务的可管 理性和服务质量;且可以使用标准化的RuleML规则,根据系统运行状态和规则进行自适应的 调整。为实现上述目的,本发明采取以下技术方案 一种基于规则的Web服务运行环境管理系统, 包括容器监控模块和自适应管理模块,其中容器监控模块包括监控管理接口和分布式管理 接口;自适应管理模块包括信息分析器、规则解析^、组件执行器、管理模块库和规则库, 其中监控管理接口对容器进行各项监控和操作;分布式管理接口的主要作用是将Web服务容器 中的运行数据封装为Web服务资源;信息分析器对分布式管理接口提交的运行数据进行分析; 规则解析器对规则进行解析,解^f的主要目的是找出对应的管理模块进行业务执行;组件执行器根据解析结果,调用管理模块库进行执行;系统的工作过程为监控管理接口从Web服务容器中获得运行数据后,通过Web管理控制 台进行人工管理,或将运行数据发送给分布式管理接口,通过分布式管理接口为后续的自适应 管理提供基础;分布式管理接口把运行数据提交给信息分析器,信息分析器对运行数据进行分 析,规则解析器根据信息分析器获得的分析结果,利用规则空间库对RuleML格式的规则进行 解析,获得解析结果,寻找出对应的管理模块库中的管理模块,由组件执行器调用管理模块库 中对应的管理模块执行,从而实现对Web服务容器进行的管理。本发明与现有技术相比的优点在于 (1)本发明通过对容器运行状态的监控,遵循分布式管理框架的管理,并基于规则进行分 析和调用,形成基于规则的Web服务容器的管理方法。该方法可以使用标准化的RuleML规则, 根据系统运行状态和规则进行自适应的调整。(2) 分布式管理接口根据监控管理接口的数据,对运行数据进行统一封装,提高了互操作 的特点。(3) 信息分析器对数据进行分析,实现了可配置的调用。(4) 对规则进行解析,实现了基于规则的规范化规则制定。(5) 本发明的管理组件可以根据需求进行扩展添加,提高T可扩展性。


图1为本发明的总体架构图; 图2为本发明的实现流程图; 图3为本发明的分布式接口的结构图; 图4为本发明的监控管理接口的结构图; 图5为本发明的自适应管理模块流程图; 图6为本发明的规则空间图。 图7为本发明的规则库中的规则模板图。
具体实施方式
如图l所示,本发明分为容器监控模块和自适应管理模块,其中容器监控模块包括监控 管理接口、分布式管理接口;自适应管理模块包括信息分析器、规则解析器、组件执行器、 管理模块库和规则库其中,在容器内部署监控管理接口,监控管理接口可以对容器进行各项操作。为了更好地监控和管理Web服务容器,遵循Web服务分布式管理WSDM框架,设计了分布式管理接口。 分布式管理接口的主要作用是将系统的运行信息封装为Web服务资源信息分析器对分布式管理 接口提交的信息进行分析。规则解析器对规则进行解析,解析的主要目的是找出对应的管理模块进行业务执行,获得解析结果后,组件执行器调用管理模块库进行执行。如图2所示,本发明的工作过程是监控管理接口从系统中获得CPU利用率、Java虚拟机 内存和调用时间等运行数据后,通过Web管理控制台进行人工管理;也将运行数据发送给分布 式管理接口,通过分布式管理接口为后续的自适应管理提供基础。分布式管理接口把运行数据 提交给信息分析器,根据规则库的规则两者解析,获得解析结果,寻找对应的管理模块库中的 管理模块,使用J狄a反射机制进行调用。如图3所示,为了更好地监控和管理Web服务容器,在监控管理接口的基础上,本发明遵 循Web服务分布式管理WSDM框架,设计了分布式管理接口。分布式管理接口的主要作用是 将系统的运行信息封装为Web服务资源,并为后续的分析和计算提供数据支持。分布式管理接 口主要由WSDM管理器、WSDM监控器和WSDM容器三部分组成。WSDM管理器是在分布式管理接口中调度全局信息和数据的功能单元。在整个XManager 框架中,只有一个WSDM管理器,即采用单例模式进行设计。它主要负责对WSDM容器中的 资源数据进行各种操作,作为接口供外部运行程序获取和调用。WSDM管理器负责将数据封装 为XML格式的数据。WSDM监控器是负责监控系统内运行数据的功能单元。系统采取可扩展模式,提供多种监 控器,包括对CPU、 Java虚拟机内存和服务调用时间的监控组件。每个监控器对系统内运行的 数据进行监控,从监控管理接口中获得数据,并且将数据放入相应的WSDM容器中。WSDM容器主要是对WSDM监控器监控到的数据进行资源化操作。WSDM容器中主要维 护一个资源池,资源池中的元素是资源原子。资源原子的作用是将某一种类型的系统运行信息, 如CPU、 Java虚拟机内存和服务调用时间等,保存在资源原子中,为数据分析和管理提供支持。 资源原子按照WSDM框架,拥有自己的资源属性文档和相关属性信息。资源属性文档是遵循 Web服务资源框架WSRF规范在资源中表示其各种主要信息的XML格式文档。WSDM容器操 作的对象是资源原子,在每个原子中,保持着一个数据结构,该结构呈现队列的形式,存放着 N个数据。当读取到新的数据后,将队列的头指针向后移动,并将新的数据添加到队列尾部。 队列的长度是可配置的,可以根据监控的需要而改变队列长度,即资源原子中保存的信息数量。如图4所示,为本发明的监控管理接口的结构图,监控管理接口包括流程管理和系统管理 两部分,这两部分是并列的关系,即每部分分别负责管理系统某一方面的信息,它们之间没有 交互过程。流程管理负责管理工作流引擎中的BPEL流程,它既可以管理静态的BPEL流程模板,又可 以管理动态的流程实例。当工作流引擎启动并部署流程模板后,就可以通过流程管理査看到流 程模板信息。当工作流引擎启动新的流程实例后,就可以査^"到新的流程实例信息。系统管理主要负责监控和管理Web服务容器内部的运行数据信息,包括线程池、缓冲区和 Java虚拟机内存和调用时间等信息,反映出系统当前的运行状态。容器通过对其内部结构管理 完成对系统当前状态的观察,对Web服务容器的每个线程池,缓冲区设置管理程序,在管理接 口中调用相应管理程序进行管理。管理接口采用外观模式,对外提供一个统一接口,内部连接 多个线程池管理、缓冲区管理接口。如图5所示,本发明的自适应管理模块流程过程。信息分析器是对分布式管理接口提供的 信息进行分析,包括提取数据、进行计算等,信息分析器进行分析时主要是采用常规的正态分 布方法,获得与目前运行状态相应的状态值。规则解析器是对XML进行解析,它提取出系统的 运行信息,采用规则库中的规则进行解析,获得解析结果,解析主要是与规则库中的规则头部 进行对比,获得是否触发规则的分析结果。组件执行器根据规则解析器的解析结果,选择相应 的规则库中的RuIeML规则,调用管理模块库进行执行。如图6所示,本发明的管理模块库的结构主要是具有业务功能的Java类,可以使用反射机 制对其进行调用。RuleML规则是由一系列的规则原子Atom组成的,每个规则原子进行自身业务的逻辑运 算。在解析RuleML的过程中,主要是对单个规则原子以及规则原子之间的运算。因此需要对 规则原子的计算过程进行设计和实现。为了将规则原子与系统设计对应起来,将RuleML中每 个规则原子映射为一个管理模块。管理模块库是具有计算功能的程序组件,由组件执行器进行 调用。管理模块库主要分为两种条件组件和结论组件。条件组件是在RuleML中Body部分出 现的规则原子,它的主要功能是进行判断,返回结果统一为布尔型。结论组件是在条件满足的 情况下,对系统进行各项操作。主要有(1) 当容器所在的机器负载低,并且容器的等待队列中有作业在等待线程调用的时候,要增加容器的作业线程。当容器所在的机器负载高的时候需要减少容器的作业线程。(2) 当容器运行数据出现异常时,将该数据写入容器的R志系统中,作为系统运行的记录信息o(3) 当流程的伙伴服务时间过长时,修改流程伙伴链接,替换为等价服务。(4) 当系统运行出现一定问题时,发出SOAP消息到企业服务总线,为服务选择提供依据。 如图7所示,为本发明的规则库的结构或实现过程。规则语言主要是为了解决在商业计算过程中,将根据业务逻辑总结出的规律形成为一定形式的文档,并在后续过程中遵循文档进行 解析,辅助系统运行过程。规则语言通常分为条件部分和结论部分。条件部分是规则触发的前 提,结论部分是规则触发后要执行的一系列活动。定义规则的方式有多种形式,目前比较流行 的是基于XML的规则定义方式。规则库的结构主要是XML格式的规则模板。它的具体结构如下(1) 规则体部主要是描述了事件发生的条件,当此条件成立时,可 以触发该规则;(2) 规则头部主要是描述了事件发生的结论,当条件成立时,触发 头部的规则;体部和头部都是XML规贝(J,它们共同组成了一个XML格式的RuleML规范。RuleML是一 种W3C组织推荐的标准规则模板,它的形式可以参见相关规范。RuleML把一个规则划分成为若干个原子(atom)部分规则系统,以〈head〉标签表示事实的结 论(即Then部分),用〈body〉表示前提(即If部分)。它不但可以表示各种流行的规则系统,还可 以用〈var、 <11(1>等表示不同的单个常量或逻辑变量以及结构,用<^1>表示谓词或关系符号。图7中,〈Head〉部分是头部,〈Bod^部分是体部。
权利要求
1、一种基于规则的Web服务运行环境管理系统,其特征在于包括容器监控模块和自适应管理模块,其中容器监控模块包括监控管理接口和分布式管理接口;自适应管理模块包括信息分析器、规则解析器、组件执行器、管理模块库和规则库,其中监控管理接口对容器进行各项监控和操作;分布式管理接口的主要作用是将Web服务容器中的运行数据封装为Web服务资源;信息分析器对分布式管理接口提交的运行数据进行分析;规则解析器对规则进行解析,解析的主要目的是找出对应的管理模块进行业务执行;组件执行器根据解析结果,调用管理模块库进行执行;系统的工作过程为监控管理接口从Web服务容器中获得运行数据后,通过Web管理控制台进行人工管理,或将运行数据发送给分布式管理接口,通过分布式管理接口为后续的自适应管理提供基础;分布式管理接口把运行数据提交给信息分析器,信息分析器对运行数据进行分析,规则解析器根据信息分析器获得的分析结果,利用规则空间库对RuleML格式的规则进行解析,获得解析结果,寻找出对应的管理模块库中的管理模块,由组件执行器调用管理模块库中对应的管理模块执行,从而实现对Web服务容器进行的管理。
2、 根据权利要求1所述的基于规则的Web服务运行环境管理系统,其特征在于所述的 运行数据至少包括CPU利用率、Java虚拟机内存和服务调用时间。
3、 根据权利要求1或2所述的基于规则的Web服务运行环境管理系统,其特征在于所 述的分布式管理接口主要由WSDM管理器、WSDM监控器和WSDM容器组成,其中WSDM管理器为分布式管理接口中调度全局信息和数据的功能单元,采用单例模式进行设 计,即在整个框架中只有一个WSDM管理器,它主要负责对WSDM容器中的资源数据进行各 种操作,作为接口供外部运行程序获取和调用;WSDM监控器为分布式管理接口内运行数据的功能单元,采取可扩展模式,提供多种监控 器,包括对CPU、 Java虚拟机内存和服务调用时间的监控组件,每个监控器对系统内运行的数 据进行监控,从监控管理接口中获得数据,并且将数据放入相应的WSDM容器中;WSDM容器主要对WSDM监控器监控到的数据进行资源化操作,WSDM容器中主要维护 一个资源池,资源池中的元素是资源原子;资源原子的作用是将某一种类型的Web服务容器中 运行数据,保存在资源原子中,为数据分析和管理提供支持;资源原子按照WSDM框架,拥有 自己的资源属性文档和相关属性信息;资源属性文档是遵循Web服务资源框架WSRF规范在资 源中表示其各种主要信息的XML格式文档,WSDM容器操作的对象是资源原子,在每个原子中,保持着一个数据结构,该结构呈现队列的形式,存放着N个数据,当读取到新的数据后, 将队列的头指针向后移动,并将新的数据添加到队列尾部;队列的长度是可配置的,可以根据 监控的需要而改变队列长度,即资源原子中保存的信息数量。
4、 根据权利要求1所述的基于规则的Web服务运行环境管理系统,其特征在于所述的 监控管理接口包括流程管理和系统管理两部分,这两部分是并列的关系,即每部分分别负责管 理系统某一方面的信息,它们之间没有交互过程;流程管理负责管理工作流引擎中的BPEL流 程,它既可以管理静态的BPEL流程模板,又可以管理动态的流程实例;系统管理主要负责监 控和管理系统内部的运行信息,包括CPU利用率、Java虚拟机内存和服务调用时间、线程池、 缓冲区信息,反映出系统当前的运行状态。
5、 根据权利要求1所述的基于规则的Web服务运行环境管理系统,其特征在于所述的 信息分析器进行分析时主要是采用正态分布方法。
6、 根据权利要求1所述的基于规则的Web服务运行环境管理系统,其特征在于所述的 规则解析器根据信息分析器的分析结果,与规则库中的规则头部进行对比,获得是否触发规则 的解析结果。
7、 根据权利要求1所述的基于规则的Web服务运行环境管理系统,其特征在于所述的 规则库的结构主要是XML格式的规则模板,它的具体结构如下(1) 规则体部主要是描述了事件发生的条件,当此条件成立时,可以触发该规则;(2) 规则头部主要是描述了事件发生的结论,当条件成立时,触发头部的规则; 规则体部和规则头部均是XML规则,它们共同组成了一个XML格式的RuleML规范。
全文摘要
一种基于规则的Web服务运行环境管理系统包括容器监控模块和自适应管理模块,其中容器监控模块包括监控管理接口和分布式管理接口;自适应管理模块包括信息分析器、规则解析器、组件执行器、管理模块库和规则库,其中监控管理接口对容器进行各项监控和操作;分布式管理接口的主要作用是将Web服务容器中的运行数据封装为Web服务资源;信息分析器对分布式管理接口提交的运行数据进行分析;规则解析器对规则进行解析,解析的主要目的是找出对应的管理模块进行业务执行;组件执行器根据解析结果,调用管理模块库进行执行。本发明通过基于规则的自主管理机制,形成了对Web服务的管理框架,提高了Web服务的可管理性和服务质量;且可以使用标准化的RuleML规则,根据系统运行状态和规则进行自适应的调整。
文档编号H04L12/24GK101277304SQ20081010239
公开日2008年10月1日 申请日期2008年3月21日 优先权日2008年3月21日
发明者斗 孙, 浩 曾, 陈媛媛, 军 韩, 冬 韩, 马殿富 申请人:北京航空航天大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1