网站大量收购独家精品文档,联系QQ:2885784924

可靠服务组合的调策略与分析.doc

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
可靠服务组合的调策略与分析

可靠服务组合的协调策略与分析? 范贵生 刘冬梅 陈丽琼 虞慧群 (华东理工大学科学与工程, 上海 200237) 摘 要关键词 ;服务;;; 1 引言 随着Internet技术应用的迅速发展,基于Web服务的分布式计算模式已经成为软件发展的趋势。Web服务能够统一地封装信息、行为以及业务流程,而无需考虑应用所在的环境。通过Web服务组合来动态生成新的应用系统,以满足实际的需要,已成为Web服务技术不断向前发展的技术动力[1]。然而,Web服务事务状态的多样性使得服务组合变得更为可靠和有效之前,还有一些问题需要处理。其中关键问题就是如何构建可靠服务组合,即如何根据服务的事务属性来分配可用服务以满足服务消费者的需求。虽然传统的事务技术在数据库系统和分布式系统中得到了广泛的应用,但由于Web服务自身的松耦合性、运行时间长、长事务等特点,使其在系统的可靠性和一致性方面面临新的挑战,如何对服务的事务属性进行形式化分析成为业界广泛讨论并关注的问题[2]。 Petri网作为一种直观的图形建模工具和一种具有丰富数学基础的形式化模型,可以广泛应用于描述和研究并发、异步和分布式特征的系统,并提供了一种可操作语义及定性和定量分析[3]。最近的研究表明,Petri网适合用来描述服务组合的特性[4,17]。而可靠服务组合的构建不仅可以满足服务消费者的功能需求,同时也能反应出服务的事务属性及失效处理。Petri网及其相关的分析方法为这些目标实现提供了理论基础。 本文要解决的就是如何根据服务消费者的需求来动态地分配可用服务,以构建所需的可靠服务组合。为此,提出一种基于Petri网构建可靠服务组合的方法。基本思路为:首先利用Petri网对任务及任务间的关系进行建模,生成相应的工作流模型;其次针对服务的事务属性,构建服务组合的失效处理模型(Service Composition’s Failure Processing, SCFP),并分析SCFP模型的动态性质,从而保证所得到模型的正确性;最后给出可靠服务组合的定义,分析可靠服务组合构造的充分必要条件,提出相应的协调策略并证明其有效性,同时给出协调策略的具体实施。 本文第2节给出了工作流的Petri网模型;第3节分析服务的事务属性和服务组合的失效处理机制,生成相应的SCFP模型;第4节提出可靠服务组合的协调策略及实施方法;第5节通过具体实例说明可靠服务组合的构建与分析过程;第6节阐述了相关的研究工作;最后是结论和下一步工作。 2 工作流的Petri网模型 服务组合的功能可以由多个独立运行的子功能构成,本文将每个子功能称为任务。在服务组合流程中,每个任务会有多个可用服务与之对应。本文假设每个服务只能完成一个任务的功能,因此在服务组合中服务和任务是一一对应的。 带事务属性的服务组合流程可以从工作流和失效处理两方面进行描述[15],工作流描述任务之间的数据通信或同步,具体说明了任务组件之间的关系,直观上可以理解为一系列任务的依赖关系。而服务组合的失效处理则规约了服务运行失败时的处理机制,定义了服务的事务属性和服务的失败处理。两者主要区别是:前者假设服务还没分配,仅仅描述服务组合流程的数据依赖;后者假设服务已经分配,主要考虑服务的事务属性和服务失败处理。本节依据服务消费者提供的功能需求,利用Petri网的基本原理,按接口匹配的原则建立系统的工作流模型。 2.1 任务Petri网模型 由于系统的功能是由一系列任务组合而成,而任务的组合又可以构成一个新的任务,如此嵌套可以构造出任意复杂的系统。因此,可利用Petri网对任务进行建模,且每个任务在运行过程中需要输入某些参数和输出一定的结果。下面给出任务的形式化定义。 定义1:有界Petri网C=(P,T,F)称作任务,其中: (1)P=PS(PI是一个有限库所集(PI=(; 是一个有限的变迁集并且P(T≠(, P(T=(; F((P×T)((T×P)是有向弧集合,F称为流关系; 图1 带有接口的任务C1 在任务模型中,接口代表该任务输入或输出(参数则映射为库所中的令牌)。本文假设任务只有获得所需参数才能运行开始操作,且运行结束后统一输出参数,具体接口个数可以根据实际情况增减。图1中的任务C1有三个接口:库所Pi1和Pi2存放任务开始操作(tin)所需的参数,而库所Pi3则存放任务结束(tin)的输出结果。Pin, Pe表示的x((P(T),集合●x={y|y((P(T)((y,x)(F}和x●={y|y((P(T)((x,y)(F}分别对应于x的输入和输出;其它的定义和触发规则与基本Petri网的定义一样,具体参照文献[3]。 2.2 工作流模型 本文进程代数的一种扩展来描述任务之间的关系,形成表达式。在应用算子的过程中,可以用括弧来表达作用的顺序顺序算子的优

文档评论(0)

owy629 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档