一种基于脚本的Web服务执行优化方法

文档序号:7716342阅读:91来源:国知局
专利名称:一种基于脚本的Web服务执行优化方法
技术领域
本发明涉及Web服务技术,特别是涉及一种基于脚本的Web服务执行优化方法。
背景技术
Web服务是一种新的面向服务的体系结构,是一种基于现有成熟的Internet技术 的分布式应用程序技术框架。Web服务是是基于网络的、分布式的模块化组件,由URL进行 标识,它遵守标准的技术规范(SOAP、WSDL、UDDI),对外提供一组通过XML构件进行定义和 描述的接口,其它应用可以通过基于因特网的协议(HTTP)及使用基于XML的消息与Web服 务进行交互。Web服务技术实现了异构的计算资源、数据资源和服务资源的有效无缝聚合 和广泛共享。一个Web服务可由多个网络构件集成组装形成,一个Web服务也可用调用其 它Web服务,从而形成更大的应用系统,为软件复用奠定了技术基础,软件开发成本大大降 低成为可能。当前学术界和工业界都对Web服务展开了研究和实践探讨,研究热点主要集中在 Web服务组合建模和验证、Web服务发现、服务质量(QoS)、服务调度等方面。尽管现有的技 术使得Web服务实现可用、互操作、可扩展等特点,很好的解决了异构平台的协作问题。但 是要使Web服务真正获得成功,还有许多困难和局限。主要表现在(I)Web服务组合的正确性尚需验证。Web服务组合的正确是Web服务正确执行的 前提条件。Web服务是由多个其他服务通过服务组合而成的执行序列,服务编排和执行过程 中的任何细微差错,都可能导致执行序列的错误执行,因此保证Web服务组合的正确非常 重要。(2)Web服务计算性能遭遇瓶颈。通信是分布式系统最基本的特征,Web服务采用 通信协议SOAP来封装远程调用和交换的数据,SOAP本身是基于XML的协议。同时Web服 务的其他协议和规范(如WSDL)也是基于XML的说明。Web服务执行时需要进行协议和规 范的解析工作,由于Web服务执行是通信密集型计算,耗费在SOAP协议解析和Web服务脚 本解析的延时,大大降低了 Web服务执行的效率,阻碍了 Web服务计算性能的提高。(3) Web服务执行的QoS服务质量尚需保证。Web服务在保证正确执行得同时,还需 要保证Web服务执行的质量(包括Web服务的可靠性、可用性、强壮等)。由于参与的Web 服务的其他服务具有自治和自演化特征,例如是否可用、响应需要花费的时间、是否能够 连续工作?当它不可用时,是等待还是继续寻找其他可使用的Web服务?这都涉及Web服 务执行的效率和Web服务系统的健壮。实际也就是在若干个待选服务中,如何选取质量最 优的服务资源。

发明内容
本发明所要解决的技术问题就是为了克服上述现有技术存在的缺陷而提供一种 基于脚本的Web服务执行优化方法。本发明的目的可以通过以下技术方案来实现一种基于脚本的Web服务执行优化方法,其特征在于,包括以下步骤a.采用Cpi演算对Web服务的描述脚本进行简约归一化;当前形式化描述服务的方法主要包括有限自动机、Petri网、进程代数和语义网等。它们的基本原理是类似的用形式化语言对服务组合进行建模,然后使用各自的形式化 方法进行演算和推理。其中自动机理论、Petri网和语义网对服务组合建模更为直观、图形 化,但是不适合服务数量较大的情况。进程代数因其简单、形式化的描述和推理特性,被认 为是描述服务组合交互行为的有效方法。Pi演算是Robin Milner提出的以移动通信为研究重点的并发理论,它常用来描 述进程间的交互行为和并发通信操作。但传统的Pi演算有其局限性,不能描述进程间交 互行为的约束规则和进程的归属,使用Pi演算描述多个原子服务间的协作和语义,势必非 常复杂和困难。本发明通过深入分析Web服务组合的特点和BPEL的语法特征,对Pi演算 进行语义扩充,给出Cpi演算的操作语义,用于表达交互进程所属的服务,以及约束条件对 Web服务交互行为的影响。Web服务的执行是其成员服务间进程交互和并发通信的过程,原子服务间要满足 一定的约束规则,同时Web服务的执行会涉及大量的进程操作,而每个进程都有其对应的 归属服务,即原子服务。因此本发明采用进程代数描述Web服务组合和执行,作为一种中间 表达方式,类似于编译过程中的中间语言,对BPEL脚本文件进行归一化描述,表达Web服务 及其成员服务的具体行为和状态变迁。b.通过分析Web服务的BPEL脚本,提取约束规则集,给出服务可用和可达性分析 方法,用于形式化验证Web服务组合偏序序列的正确性,从而保障Web服务组合的正确。Web服务组合是满足一定约束规则的成员服务执行顺序的编排。Web服务组合正 确的前提是成员服务间不违反约定的前后置约束条件。通过对Web服务的BPEL脚本分析 发现,BPEL脚本中的成员服务接口描述给出了操作的参数,伙伴链和伙伴链类型则隐含了 成员服务间调用关系,流程逻辑则给出服务间调用顺序关系。因此本发明对执行前的Web 服务组合进行建模,通过分析和提取所有原子服务间的约束规则集,通过形式化推导验证, 验证基于Cpi演算的Web服务归一化行为序列是否满足约束规则、序列是否可达和可用,实 现Web服务组合的正确性验证,确保Web服务组合的正确。c.分析Web服务的执行序列中各服务的约束条件和依赖关系,通过对Web服务的 归一化脚本的相关性分析,给出Web服务执行序列的并行判据,通过对Web服务序列进行重 排序,优化Web服务执行序列,并给出基于脚本DAG图的并行调度算法;在Web服务执行过程中,服务间的交互操作(数据的传递、行为的交互制约等)是 阻碍Web服务并行执行的主要因素。本发明基于Cpi演算描述的归一脚本的相关性分析, 给出三种依赖关系接口依赖、规则依赖、分支依赖。一个BPEL描述的业务流程的调用,实际上是一个合成服务的执行过程,也就是是 其原子服务操作被调用和响应的过程。原子服务操作看成是外部函数,是一条脚本段,其原 子服务的WSDL文件是对函数的说明。基于脚本段的相关性分析,提取Web服务执行过程中 的并行性,同时分析了在并行化过程中可能出现的死锁和互斥,通过执行序列的置换和脚 本DAG图的生成和划分,提出了基于分组的Web服务调度算法。d.基于QoS服务特征属性,通过鲁棒控制模型对性能进行评估方法和优化,建立大规模计算环境下,Web服务并发计算模型。本发明在Web服务并发执行的基础上,研究Web服务的服务质量,使用数学模型分 析成员服务特征属性,较全面地反映了组合服务的服务质量,从而实现优质、高效的Web服 务。与现有技术相比,本发明借鉴传统分布式并发经典理论,提出通过提取Web服务 执行脚本中潜在的并行性,用部分并行性来弥补通讯密集情况下对Web服务脚本解析的时 延;本发明是对传统并发理论的创新性运用。本技术方案的创新性主要体现在(1)提出基于Pi演算扩展的Cpi演算;使用Cpi 演算形式化定义Web服务,并对Web服务的BPEL流程脚本进行简约归一化,将描述Web服务 执行功能的BPEL脚本转化成基于Cpi演算的Web服务行为序列。(2)通过分析Web服务的 BPEL脚本,提取原子服务的前后置约束条件规则集,给出原子服务可用和可达的定义,提出 Web服务组合偏序序列的正确性验证方法。(3)通过对Web服务归一化脚本的相关性分析, 提出Web服务执行序列的并行执行判据和基于服务脚本DAG图的并行调度算法,给出满足 QoS约束的Web服务执行优化方法;本发明能在保证Web服务正确执行的前提下,实现Web服务的高效、优质执行。


图1为本发明的流程图。
具体实施例方式下面结合附图对本发明作进一步说明。如图1所示,一种基于脚本的Web服务执行优化方法,包括以下步骤a.采用Cpi演算对Web服务的描述脚本进行简约归一化;b.通过分析Web服务的BPEL脚本,提取约束规则集,给出服务可用和可达性分析 方法,用于形式化验证Web服务组合偏序序列的正确性,从而保障Web服务组合的正确。c.分析Web服务的执行序列中各服务的约束条件和依赖关系,通过对Web服务的 归一化脚本的相关性分析,给出Web服务执行序列的并行判据,通过对Web服务序列进行重 排序,优化Web服务执行序列,并给出基于脚本DAG图的并行调度算法;d.基于QoS服务特征属性,通过鲁棒控制模型对性能进行评估方法和优化,建立 大规模计算环境下,Web服务并发计算模型。Web服务的执行优化研究主要是针对Web服务的脚本,提取Web服务执行脚本中潜 在的并行性。相对于传统的并行研究工作而言,不仅要考虑服务脚本的解析和资源的优化 配置,基于Web服务自身的特点,还需要去发掘、提炼、运用新的相关性分析和并行编译技 术。面向脚本的Web服务计算执行优化的技术反感分为四个阶段。首先由于Web服务的异构特征是客观存在的,具有异构、分布、动态、演化等特性, 同时基于XML的服务脚本无法进行推理研究,因此使用Cpi演算对Web服务的描述脚本进 行简约归一化。简约归一化的脚本是本技术方案的研究对象和基础。其次,保证Web服务组合的正确,是Web服务正确执行的前提和关键。由于Web服 务是参与该服务的其他服务通过服务组合产生的逻辑整体,是按照一系列前后置约束条件编排的偏序执行序列。因此通过分析Web服务的BPEL脚本,提取约束规则集,给出服务可 用和可达性分析方法,用于形式化验证Web服务组合偏序序列的正确性,从而保障Web服务 组合的正确。在保证Web服务正确执行的前体下,深入研究Web服务的执行序列中各服务的约 束条件和依赖关系,通过对Web服务的归一化脚本的相关性分析,给出Web服务执行序列的 并行判据,通过对Web服务序列进行重排序,优化Web服务执行序列,并给出基于脚本DAG 图的并行调度算法。

由于参与Web服务的其它服务具有自演化和不确定特征,Web服务的执行优化分 析需要考虑服务的可用性、可访问型、可靠性等QoS特征,本技术方案基于QoS服务特征属 性,给出鲁棒控制模型,提出了基于鲁棒矩阵的性能评估方法和Web服务执行的优化方法, 建立大规模计算环境下,Web服务并发计算模型,从有效、可靠、健壮等方面来模拟、分析和 验证该模型的理论和方法。实施例如图1所示,图中最顶层是Web服务的描述脚本,第二层是对脚本的简约归一化, 第三层是保证Web服务的正确执行,最底层是实现Web服务执行的执行优化。在对Web服务执行优化的过程中,(1)首先需要对一个Web服务的脚本进行分析, 对BPEL脚本进行简约归一化;(2)通过分析归一化脚本,提取约束规则集;(3)根据约束规 则集验证Web服务组合的正确性;(4)分析归一化脚本的相关性,根据并行判据,提取执行 脚本的并行性,并通过服务DAG实现调度执行;(5)进一步发现满足Qos服务质量要求的 Web服务组合。
权利要求
1. 一种基于脚本的Web服务执行优化方法,其特征在于,包括以下步骤a.采用Cpi演算对Web服务的描述脚本进行简约归一化;b.通过分析Web服务的BPEL脚本,提取约束规则集,给出服务可用和可达性分析方法, 用于形式化验证Web服务组合偏序序列的正确性,从而保障Web服务组合的正确;c.分析Web服务的执行序列中各服务的约束条件和依赖关系,通过对Web服务的归一 化脚本的相关性分析,给出Web服务执行序列的并行判据,通过对Web服务序列进行重排 序,优化Web服务执行序列,并给出基于脚本DAG图的并行调度算法;d.基于QoS服务特征属性,通过鲁棒控制模型对性能进行评估方法和优化,建立大规 模计算环境下,Web服务并发计算模型。
全文摘要
本发明涉及一种基于脚本的Web服务执行优化方法,包括以下步骤a.采用Cpi演算对Web服务的描述脚本进行简约归一化;b.通过分析Web服务的BPEL脚本,提取约束规则集,给出服务可用和可达性分析方法,用于形式化验证Web服务组合偏序序列的正确性;c.分析Web服务的执行序列中各服务的约束条件和依赖关系,通过对Web服务的归一化脚本的相关性分析,给出Web服务执行序列的并行判据,通过对Web服务序列进行重排序,优化Web服务执行序列,并给出基于脚本DAG图的并行调度算法;d.基于QoS服务特征属性,通过鲁棒控制模型对性能进行评估方法和优化,建立大规模计算环境下,Web服务并发计算模型。本发明能在保证Web服务正确执行的前提下,实现Web服务的高效、优质执行。
文档编号H04L29/08GK102103519SQ20091020153
公开日2011年6月22日 申请日期2009年12月21日 优先权日2009年12月21日
发明者周静, 曾国荪, 王伟, 苗夺谦, 蒋昌俊, 谭一鸣 申请人:同济大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1