(计算机应用技术专业论文)基于事务的web服务组合问题的研究与应用.pdf_第1页
(计算机应用技术专业论文)基于事务的web服务组合问题的研究与应用.pdf_第2页
(计算机应用技术专业论文)基于事务的web服务组合问题的研究与应用.pdf_第3页
(计算机应用技术专业论文)基于事务的web服务组合问题的研究与应用.pdf_第4页
(计算机应用技术专业论文)基于事务的web服务组合问题的研究与应用.pdf_第5页
已阅读5页,还剩54页未读 继续免费阅读

(计算机应用技术专业论文)基于事务的web服务组合问题的研究与应用.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

大连理工大学硕士学位论文 摘要 w e b 服务组合作为基于i n t e m e t 的典型的服务组合形式,正在得到广泛的关注。由 于w e b 服务的松耦合特点,为保证多个服务交互获得正确的执行和一致性的结果,有 必要为服务提供事务机制。目前,服务组合中的事务处理已成为一个研究热点。 本文针对组合服务事务的长事务特点,提出了一个通用的支持事务机制的组合服务 描述模型( u w s c n m ) ,该模型的特点之处在于支持动态的基于事务的w e b 服务组 合,并且具有丰富的执行语义,可支持复杂的w e b 服务组合。本文采用形式化的方法 对该模型的执行语义进行验证,并提出了模型的良构性准则。基于该模型,设计并实现 了一个组合服务事务恢复算法。该算法引入了事务执行器和事务协调器的概念,提出了 基于候选服务队列的前向恢复方法和基于历史状态轨迹的后向恢复方法,不同于传统的 集中式模型下的单协调器方式,采甩分布式的事务协调方法,解决了单协调器的性能瓶 颈问题和单点失效问题,改善了组合服务的成功率和平均响应时间。本文又设计出一个 基于资源划分的组合服务事务并发控制算法,该算法充分考虑了组合服务事务中的各种 并发情况,引入资源单元、粗粒度划分和细粒度划分的概念来保证事务并发的高效性, 通过测试验证了该算法对事务并发控制调度的语义可串行性。最后针对当前c i c s 事务 管理器缺乏对组合服务事务的有力支持,设计了一个支持组合服务事务的原型系统,包 含了事务管理器、并发控制模块、错误恢复模块。该系统在协调各成员服务的事务行为 的同时,还提供了错误恢复和并发控制的功能。 本文主要在组合服务事务模型、错误恢复、并发控制及支持事务的组合服务原型系 统等方面进行研究,为组合服务事务的研究提供了新的思路和方法。 关键词:组合服务;事务;错误恢复;并发控制 基于事务的w e b 服务组合问题的研究与应用 r e s e a r c ha n da p p l i c a t i o no ft r a n s a c t i o nb a s e dw e bs e r v i c ec o m p o s i t i o n a b s t r a c t w e bs e r v i c ec o m p o s i t i o na sat y p i c a li n t e m e t b a s e ds e r v i c ec o m p o s i t i o nf o r m ,i sw i d e l y a t t e n t i o n e d d u et ot h el o o s e l yc o u p l e dc h a r a c t e r i s t i co fw e bs e r v i c e s ,t oe n s u r et h ep r o p e r i n t e r a c t i o nb e t w e e ne a c ho t h e rw e bs e r v i c e sa n dc o n s i s t e n c yo ft h er e s u l t s ,i ti sn e c e s s a r yt o p r o v i d et h et r a n s a c t i o nm e c h a n i s m s a tp r e s e n t , t h et r a n s a c t i o n a lp r o c e s s i n g o fc o m p o s i t ew e b s e r v i c e sh a sb e c o m ear e s e a r c hh o t s p o t f o rt h el o n gr u n n i n gc h a r a c t e r i s t i co fw e bs e r v i c et r a n s a c :t i o n , t h i sp a p e rp r o p o s e da u n i v e r s a lc o m p o s i t i o nw e bs e r v i c e sd e s c r i p t i o nm o d e l ( u w s c - n t m ) w h i c hs u p p o r t e dt h e t r a n s a c t i o n a lm e c h a n i s m t l l i sm o d e ls u p p o r td y n a m i ct r a n s a c t i o n - b a s e dw e bs e r v i c e c o m p o s i t i o n ,a n dh a saw e a l t ho fe x e c u t i o ns e m a n t i c st os u p p o r tac o m p l e xw e bs e r v i c e c o m p o s i t i o n i nt h i sp a p e r ,u s i n gt h ef o r m a lm e t h o d st ov e r i f yt h ee x e c u t i o ns e m a n t i co f u w s c n t ma n dp r o p o s e dt h ew e l l f o r m e d n e s sc r i t e r i a b a s e do nt h em o d e l ,d e s i g na n d i m p l e m e n tac o m p o s i t es e r v i c et r a n s a c t i o nr e c o v e r ya l g o r i t h m 1 1 1 ea l g o r i t h mi n t r o d u c e dt h e t r a n s a c t i o ne x e c u t o ra n dt r a n s a c t i o nc o o r d i n a t o rc o n c e p t ,p r o p o s e dc s qb a s e df o r w a r d r e c o v e r ya l g o r i t h ma n dh s t b a s e db a c k w a r dr e c o v e r ya l g o r i t h m ,d i f f e r e n tf r o mt h et r a d i t i o n a l c e n t r a l i z e dm o d e lo fas i n g l ec o o r d i n a t o ra p p r o a c h ,u s i n gad i s t r i b u t e dt r a n s a c t i o nc o o r d i n a t e d a p p r o a c h t os o l v et h es i n g l e c o o r d i n a t o ro ft h ep e r f o r m a n c eb o t t l e n e c ka n ds i n g l ep o i n tf a i l u r e p r o b l e m sa n di m p r o v et h es u c c e s s r a t eo f t h ec o m p o s i t es e r v i c e sa n dt h ea v e r a g er e s p o n s et i m e t l l i sp a p e ra l s od e s i g n e dar e s o u r c e - d i v i s i o nc o n c u r r e n c yc o n t r o la l g o r i t h mf o rc o m p o s i t ew e b s e r v i c e s 。w h i c ht a k ef u l la c c o u n to ft h ec o m p o s i t es e r v i c ea f f a i r so ft h ev a r i o u sc o n c u r r e n t c i r c u m s t a n c e s ,i n t r o d u c er e s o u r c eu n i t s ,c o a r s e g r a i n e da n df i n e g r a i n e dd i v i s i o nc o n c e p t s t o e n s u r et h et r a n s a c t i o nc o n c u r r e n c ye f f i c i e n c y n l i sa l g o r i t h mi sv e r i f i e db yt e s t i n gt h e t r a n s a c t i o nc o n c u r r e n c yc o n t r o ls e m a n t i cs e r i a l i z a b i l i t y f i n a l l ya c c o r d i n gt ot h ec i c s t r a n s a c t i o nm a n a g e rl a c ko fc o m p o s i t ew e bs e r v i c e st r a n s a c t i o ns u p p o r t , d e s i g n e dap r o t o t y p e s y s t e mi n c l u d e sa t r a n s a c t i o nm a n a g e r , c o n c u r r e n c yc o n t r o lm o d u l e ,e r r o rr e c o v e r ym o d u l e i nt h i sp a p e r ,f o c u so nt h er e s e a r c ho fc o m p o s i t es e r v i c et r a n s a c t i o nm o d e l ,e r r o rr e c o v e r y , c o n c u r r e n c yc o n t r o la n dp r o t o t y p es y s t e mf o rt h ec o m p o s i t ew e bs e r v i c e s ,p r o v i d i n gt h e n e w i d e a sa n dm e t h o d sf o rt h i sr e s e a r c ha r e a k e yw o r d s :c o m p o s i t ew e bs e r v i c e ;t r a n s a c t i o n ;f a i l u r er e c o v e r y ;c o n c u r r e n c y c o n t r o i i i 大连理工大学学位论文独创性声明 作者郑重声明:所呈交的学位论文,是本人在导师的指导下进行研究 工作所取得的成果。尽我所知,除文中已经注明引用内容和致谢的地方外, 本论文不包含其他个人或集体已经发表的研究成果,也不包含其他已申请 学位或其他用途使用过的成果。与我一同工作的同志对本研究所做的贡献 均已在论文中做了明确的说明并表示了谢意。 若有不实之处,本人愿意承担相关法律责任。 学位论文题目: 整奎聋垒鱼业蔓监垒蛆垒1 丑亟垒生盐! 验曼堑囡 作者签名:勤邀盒型日期:丑年j 三月上日 大连理工大学硕士学位论文 大连理工大学学位论文版权使用授权书 本人完全了解学校有关学位论文知识产权的规定,在校攻读学位期间 论文工作的知识产权属于大连理工大学,允许论文被查阅和借阅学校有 权保留论文并向国家有关部门或机构送交论文的复印件和电子版,可以将 本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、 缩印、或扫描等复制手段保存和汇编本学位论文。 学位论文题目: 作者签名: 导师签名: 大连理工大学硕士学位论文 1 绪论 1 1 研究背景及意义 事务机制是w e b 服务能否投入商业应用的关键技术之一。作为容错系统故障,提 高系统可靠性的有效手段,事务机制被应用到w e b 服务中,为w e b 服务执行结果的正 确性、一致性提供保障【i 】。应用于w e b 服务中的事务称为w e b 服务事务。相对于基本 服务,组合服务出错的可能性更大,所以本文主要研究组合服务事务,来保证组合服务 的可靠性。 现有研究着重于服务组合的描述、生成和运行管理对于事务处理功能的支持尚不 充分,不支持事务恢复属性的多样性,缺乏对放松原子性的严格定义。事务处理技术为 保证系统状态的一致性起了重要的作用【2 】。当系统发生错误时j 事务机制能够有效的恢 复系统,从而保证系统执行的可靠性。如今,构建高可信系统显然已成为计算机领域的 关键问题。 w e b 服务事务的研究,应该着眼于解决w e b 服务事务与传统分布式事务的不同点, 提出w e b 服务上事务的相关模型和形式化理论,解决w e b 服务事务监控执行的关键技 术问题,并通过实现事务监控器的软件原型验证所提出的模型和算法【3 】。此外,目前关 于w e b 服务事务的监控执行则缺乏深入的研究,特别是在w e b 服务事务的调度和资源 管理方面。w e b 服务支持多种通信方式,包括同步调用、异步调用、事件通知等。同时, w e b 服务的事务协调本身也是一个w e b 服务。需要给出相应的算法调度w e b 服务事务, 重新组合执行顺序,变换通信方式,提高w e b 服务事务执行的并发度和系统吞吐率 4 1 。 这些是w e b 服务事务的研发中应解决的关键问题和未来的研究方向,也是我们正在从 事的工作。 1 2 课题来源 本课题来源于c i c st s 产品新版本对长事务的支持扩展,c i c st s 是一系列为i b m 和非i b m 平台上的应用提供联机事务处理和事务管理的产品,其功能是为商业应用提 供一个事务处理环境,至今已有4 0 年的历史,广泛应用与银行、保险、石油等世界5 0 0 强企业。传统的c i c s 事务管理机制只针对短事务进行管理,随着c i c s 对w e bs e r v i c e 的支持,特别是对组合w e b 服务的支持,传统的基于短事务的管理机制已不再适合w e b s e r v i c e 环境下的长时事务管理,因此在c i c s 上扩展传统的事务管理机制,研究基于事 务的w e b 服务组合框架是具有实际意义和研究价值的。 基于事务的w e b 服务组合问题的研究与应用 1 3 研究现状 可信的w e b 服务需要访问控制和事务机制来保证。在w e b 服务的组合和协调工作 中,首先需要保证服务执行中的安全性,这是w e b 服务的访问控制问题,文献【5 】中深入 研究了w e b 服务事务互操作时的安全性保证。其次需要保证服务执行的质量和可靠性, 这是w e b 服务的事务管理问题【6 。丌。访问控制和事务机制都是w e b 服务,尤其是组合服 务所面临的重要课题。 工业界注重的是w e b 服务事务规范和协议的标准化,并且提出多种w e b 服务事务 相关规范。2 0 0 1 年惠普公司、甲骨文公司及b e a 公司组成的联盟开始着手创建o a s i s b u s i n e s st r a n s a c t i o np r o t o c o l ( b t p ) i s 】标准,它主要针对松散耦合领域中的企业到企业 的事务处理,比如w e b 服务。2 0 0 2 年i b m 、m i c r o s o f t 等共同制定了w e b 服务协调( w e b s e r v i c e sc o o r d i n a t i o n ,w s c ) 1 9 及w e b 服务事务处理( w e b s e r v i c e st r a n s a c d o n sw s t ) 【1 0 l ,w s t 之后被分为w s a t o m i c t r a n s a c t i o n ( w s a t ) 11 】和w s b u s i n e s s a c t i v i t y ( w s b a ) 1 2 j 。w s a t 是针对原子事务的协议。w s b a 是针对长期运行的事务,放松 了原子性和隔离性,但对出现异常的补偿机制没有提出具体有效的方法 w s c o o r d i n a t i o n 描述了可以容纳多种协调协议的w e b 服务事务处理框架,使用 w s c o o r d i n a t i o n 和w s t 组件的w e b 服务事务处理模型大多存在参与事务的各实体紧 耦合的问题,这违反了面向服务架构( s e r v i c eo r i e n t e da r c h i t e c t u r e ,s o a ) 原则。这些 规范中制定的规则是泛化的,实现起来有一定困难,同时并没有考虑w e b 服务组合的 特点。 学术界主要从事务模型、并发控制以及错误恢复等方面对w c b 服务的事务性进行 研究。下面分别对这三方面的研究现状进行总结和分析: ( 1 ) 事务模型 针对w e b 服务的环境特点,在高级事务模型的基础上做扩展。b e n c h a p h o n 等人提 出一种基于尝试保持和补偿机制的组合服务事务管理模型,同时提出了一种组合服务的 多维协商模型【l 引尝试保持能使得用户获取最新数据,能减少c a n c e l 的情况。在多个 客户对同一个资源尝试保持时,一旦某个客户真正得到这个资源,其他客户就会被通知 保持失效。文献【1 4 】提出一种基于代理技术的事务处理模型,这种模型能够同时协调w e b 服务环境下的短事务和长事务,具有自动可靠的故障恢复机制。模型的核心部件是代理, 代理主要负责创建事务( 子事务) 和协调器( 参与者) ,生成补偿事务,同时负责超时 检测。该模型能协调两种事务,原子事务和聚合事务。补偿事务能有效地撤销事务产生 的影响。 大连理工大学硕士学位论文 为了能更有效可靠的组合服务,部分文献使用嵌套的事务模型框架。其中文献【1 5 】 提出的事务框架聚集了不同的事务行为和事务语义,具有一定的通用性,同时该文提出 一系列事务有效性和正确性的保证规则,并使用a t s ( a c c e p t e dt e r m i n a t i o ns t a t e s ) 作 为保证规则中的关键元素。 组合服务在执行前需要静态建模,部分研究者则考虑在组合服务建模时加入w e b 服务的事务属性,即在应用开发的早期就融入事务属性,如文献【1 6 】和【1 7 】。文献【1 q 中将 组合服务的建模分为四层,结构模型( s t r u c t u r a lm o d e l ) 、工作流模型( w o r k f l o wm o d e l ) 、 安全模型( s e c u r i t ym o d e l ) 以及事务模型( t r a n s a c t i o nm o d e l ) 。其中事务模型位于项 层。在事务模型中采用u m l 建模,并采用了w s t r a n s a c t i o n 规范中的原子事务和业务 活动以区分a c i d 事务和长事务,在支持事务补偿的同时,还可以指定服务质量。 ( 2 ) 错误恢复 在w e b 服务环境中,存在很多可预知的或者不可预知的因素,会导致w e b 服务的 失败。在这种情况下,w e b 服务事务需要一种有效的错误恢复机制来处理,保证w e b 服务事务的一致性结果。研究者们纷纷提出各种错误恢复算法。总得来说错误恢复算法 可以划分为两种,向前恢复和向后恢复。前者往往是根据应用需求,依赖于异常处理机 制,将事务状态迁移到一种可以接受的状态;后者则可以有多种策略去实现,如补偿、重 试、替换等等。向前恢复的算法基本上都采用a t s 来描述事务的一致性,即事务所有 可能的终止状态都被事先定义好,事务执行的终止状态只有满足a t s 才能保证事务的 一致性【1 8 】。 s a m ib h i r i 等人提出一种构建可靠组合服务的方法【l 引,以保证组合服务事务放宽的 原子性,该文通过w e b 服务间的事务依赖关系来得到组合服务的事务流,事务流执行 的终止状态只有满足a t s 才能保证事务的一致性。f t a r t a n o g l u 提出一种基于事务模型 的向前恢复的方法【1 9 1 ,该文将c aa c t i o n ( c o o r d i n a t e da t o m i ca c t i o n ) 这一概念应用到 w e b 服务事务,从而提出w s c a ( w e bs e r v i c ec o m p o s i t i o na c t i o n ) 。它将成员服务事 务与组合服务事务分离,即对于组合服务来讲,其成员服务只是外部资源,同时它为每 一个参与者指定了异常时应采取的行为。 分布式事务主要使用向后恢复的方法来保证事务完全或者部分的满足a c i d 属性, w e b 服务事务也不例外。虽然一些w e b 服务协议在提供事务管理功能时,采用补偿机 制来进行错误恢复,然而用于这些模型和协议中的补偿机制是固定的,不能满足不同应 用的需求。所以z a i h a ny a n g 等人针对业务流程提出一种多补偿机制以保证错误恢复, 即一个业务活动可以定制多个补偿操作,当发生异常时,可以根据异常的情况选择合适 的补偿操作,从而提高了补偿的灵活性,更能满足业务的需求。 基于事务的w e b 服务组合问题的研究与应用 ( 3 ) 并发控制 并发控制可以有效地提高w e b 服务事务的执行效率和数据吞吐量,缩短响应时间。 并发控制的目的在于保证多个并发执行事务的最终执行效果等价于某种串行化执行的 效果,即保证执行的串行等价( s e r i a le q u i v a l e n c e ) 【2 0 】。由于组合服务中的w e b 服务事 务具有长事务、自治性、松耦合、异构等特点,因此需要一种适用于组合服务运行环境 的并发控制机制来保证组合服务的各实例能正确高效的执行 现有的国内外针对组合服务事务的并发控制的研究还比较少;现存的诸多w e b s e r v i c e 事务模型和协议也都没有明确阐述w e bs e r v i c e 事务的并发控制问题。文酬2 l 】提 出了一种基于嵌套事务模型的j e n o v a 并发控制机制,该机制引入a d m i s s i o nc o n t r o l l e r ( a c ) 概念,并为每个w e bs e r v i c e 分配一个a c ,a c 通过计算该w e bs e r v i c e 的执行对 其c a p a c i t y 的影响来判断是否允许该w e bs e r v i c e 执行。但是在实际应用中,对w e bs e r v i c e 的c a p a c i t y 即可用资源的计算是很难实现的,所以该算法的实际应用价值并不高。文献 田】提出了一种基于冲突概率的组合服务事务并发控制算法,该算法通过计算组合服务之 间的冲突概率来估计组合服务之间的冲突情况,由于该算法是对整个组合服务的并发控 制,导致并发控制的粒度太大,并发性能并不高;且该算法提出的冲突概率计算模型并 不能准确反映实际的冲突概率。 1 4 本文的主要工作 本文主要从三方面来研究组合服务事务:首先提出本文所有研究的基础,一个组合 服务事务模型。然后基于该模型提出一个组合服务错误恢复算法。错误恢复能为服务事 务的一致性提供保证,使得服务事务在错误发生时,也能正确恢复接着基于该组合服 务事务模型提出一个组合服务事务的并发控制算法,并验证其符合语义可串行性。组合 服务事务的并发控制能提高服务效率和系统吞吐量,缩短服务请求的响应时间,并保证 服务在并发过程中的正确性。最后通过一个原型系统来实现前面提出的模型和算法,并 与已有的模型和算法进行比较。证明本文提出的论点保证并提高了服务质量。 具体章节安排如下: 第1 章介绍本文提出的相关背景、研究现状,并提出本文的研究内容 第2 章相关技术研究,深入地对现有的w e b 服务事务协议和事务模型进行对比分析, 总结了其优缺点。并针对组合服务提出了一种通用的支持事务机制的组合服务描述模 型,给出了该模型的形式化定义,和该模型的良构性判定准则。 大连理工大学硕士学位论文 第3 章基于提出的支持事务机制的组合服务描述模型,结合前向恢复和后向恢复机 制提出了组合服务事务的恢复算法。 第4 章对组合服务事务的并发控制进行研究,提出了一种基于资源划分的并发控制 算法,引入了资源单元,粗粒度划分和细粒度划分等概念;并对该算法进行了可串行化 验证。 第5 章原型系统,针对当前组合服务执行引擎大都缺乏对组合服务事务的有力支持, 设计了一个支持组合服务事务的原型系统。该系统在协调各成员服务的事务行为的同 时,还提供了错误恢复和并发控制的功能。 基于事务的w e b 服务组合问题的研究与应用 2 组合服务事务模型的研究与设计 这里我们谈及的w e b 事务是应用于w e b 服务平台下的事务的简称。具体的说,w e b 事务是在特定业务规则的驱动下,由多个w e b 服务作为参与实体而产生的一种业务状 态的一致性改变【2 3 1 。不同于传统的数据库事务,w e b 事务以服务之间的交互为核心,而 不仅仅围绕数据库中的持久数据。由于w e b 事务所处环境的不同,传统的事务处理技 术在这种新型事务中的应用受到了限制。 2 1 相关协议研究 2 1 1b lp b t p 基于事务的两阶段提交,提出用两阶段终止协议( t w o p h a s ee o m p l e t i o n p r o t o c 0 1 ) 来解决w e b 服务的事务问题,在w e b 服务环境下支持长持续时间、参与者自 主的b 2 b 业务事务流程。 b t p 把参与者和事务协调者绑的太紧。如为了处理内聚,在提交事务的时候必须明 确指明哪些参与者需要提交哪些参与者需要取消( c a n c e l ) 而在传统的事务系统中, 用户根本不必关心事务涉及到的参与者。可以说b t p 对事务是一种集中式的管理,这 和w e b 服务的松散耦合性是相抵触的【2 4 l 。另外,b t p 把几乎所有的工作,如事务提交 过程中的隔离性、事务的回滚操作等等,都推给了事务协调者。 2 1 2 w s t r a n s a c tio n w s - c o o r din a tio n w s - t r a n s a e t i o n 分为w s a t o m i c t r a n s a c t i o n 和w s - b u s i n e s s a e t i v i t y ( 1 ) w s a t o m i c t r a n s a c t i o n - 此规范提供了原子事务协调类型的定义,将与 w s c o o r d i n a t i o n 规范中描述的可扩展协调框架一起使用。该规范为原子事务协调类型 定义了三个具体的协定协调协议:完整、可变两阶段提交和可持续两阶段提交【2 卯。开发 人员可以使用其中任一或全部协议,以构建需要就具有全部属性或没有属性的短期分布 式活动的输出达成一致的应用程序。 ( 2 ) w s b u s i n e s s a c t i v i t y :此规范提供了业务活动协调类型的定义,将与 w s c o o r d i n a t i o n 规范中描述的可扩展协调框架一起使用。该规范为业务活动协调类型 定义了两个具体的协定协调协议:b u s i n e s s a g r e e m e m w i t h p a r t i c i p a n t c o m p l e t i o n 和 b u s i n e s s a g r e e m e m w i t h c o o r d i n a t o r c o m p l e t i o n 。开发人员可以使用其中任一或全部协议, 以构建要求就长时间运行的分布式活动的输出达成一致的应用程序 大连理工大学硕士学位论文 w s b a 是针对长期运行的事务,放松了原子性和隔离性,但对出现异常的补偿机 制没有提出具体有效的方法。 w s c w s t 的优点在于协调框架和事务类型的分开,具有良好的可扩展性。然而, w s c 脚s t 并不完备,它并没有给出处理异常的方法,并且对于分布式恢复也言之甚 少,也没有给出业务事务的具体协调机制。 w s c o o r d i n a t i o n 描述了一个可扩展框架,用于提供协调分布式应用程序的操作的 协议。此类协调协议用于支持一系列应用程序,包括那些需要就分布式活动的输出达成 一致的应用程序。此规范中定义的框架允许应用程序服务创建所需的上下文,以便将活 动的信息传播给其他服务并向协调协议注册【2 6 1 。此框架允许现有事务处理、工作流和其 他要协调的系统隐藏其专用协议,从而在异类环境中协同工作。此外,此规范还描述上 下文结构定义以及用于在协作服务之间传播上下文的要求。表2 1 总结了w s c t 和b t p 之间的各种不同点和相似点。 表2 1w s - c t 和b t p 之间分析比较 t a b 2 1c o m p a r ea n da n a l y s e so fw s - c ta n db t p 基于事务的w e b 服务组合问题的研究与应用 2 1 3w s - c a f w s c a f 套件包括三个规范,可以增量地实现它们以解决支持各种从简单到复杂的 复合应用程序所需的要求: ( 1 ) w e bs e r v i c ec o n t e x t ( w s c o n t e x t ) ,一个用于简单上下文管理的轻量级框 架。现在,w s c o n t e x t 已经到达o a s i sc o m m i t t e ed r a f t ,而且已经成为几个互操作性 演示程序的主题。 ( 2 ) w e bs e r v i c ec o o r d i n a t i o nf r a m e w o r k ( w s c f ) ,定义了协调程序的行为, 借助这个协调程序,w e bs e r v i c e s 可以注册上下文扩大和结果传播,以此为基础可以插 入各种事务协议。 ( 3 ) w e bs e r v i c e st r a n s a c t i o nm a n a g e m e m ( w s t x m ) ,包括三个不同的协议, 用于实现跨事务管理程序的互操作性,并支持多个事务模型( 两阶段提交,长期运行的 动作或校正,以及业务流程流) 。 w s c a f 各个部分结合在一起的总体目标是,提供一个支持各种事务处理模型和体 系结构的完整解决方案口7 】。w s c a f 的实现可以从小开始,然后随着时间的推移,逐步 壮大为包含更多功能。w s c a f 规范的设计目标是配合w e bs e r v i c e s 编制和编排技术, 比如w s b p e l 和w s c i ,并与其他w e bs e r v i c e s 规范兼容。w s c a f 的重点是定义联 合使用w e bs e r v i c e s 时所需的支持服务,包括其他规范。 2 2 事务模型研究 2 2 1 高级事务模型 扁平事务模型是完全符合严格a c i d 属性的,适用于短事务。高级事务模型则放松 了事务的a c i d 要求,适用于长时间运行的事务。提出多种高级事务模型,主要有嵌套 事务模型、s a g a s 模型、分支汇合事务模型、f l e x i b l e 事务模型等等。 ( 1 ) 嵌套事务模型 嵌套事务模型允许子事务的包含关系,父子事务之间形成树形结构。子事务可以是 嵌套的,也可以是扁平的,但是处在叶子节点的子事务一定是扁平的。子事务只能在父 事务开始后才能开始,而且只有父事务提交时,子事务的提交才能生效。父事务回滚则 其子事务全部回滚【冽。一旦子事务执行失败,那么父事务可以选择自己的恢复策略。比 如,可以执行另一个子事务( 称为应急子事务) 来完成替代功能。分层结构提高了事务 模块化程度,允许更细粒度的恢复和更高的并发度( 嵌套事务模型提供了一个全局的完 全隔绝性,并且提供了比传统事务模型更高的事务间的并发性) 。 大连理工大学硕士学位论文 ( 2 ) s a g a s 模型 s a g a s 模型的关键概念是补偿事务,它容许将长事务划分为多个子事务。每一个子 事务都对应一个补偿事务,用于取消失败时子事务产生的影响。s a g a s 是由预先定义好 执行顺序的子事务集合t 和对应的补偿子事务集合c t 组成【2 9 1 。一旦某个子事务t 失败, 系统将通过逆序执行补偿子事务以撤销t 和t 之前提交的所有子事务产生的影响。s a g a 有两种执行结果,要么所有的子事务都成功,要么所有被激活的子事务的补偿事务都被 执行完毕。s a g a s 模型放松了完全隔绝性的要求,增加了事务间的并发性。s a g a s 模型也 可以嵌套。嵌套s a g a s 结构把长事务分解为层次化的事务机构,它放松了事务的原子性 要求,这样通过补偿事务来取消失败事务的影响,使得向前恢复成为可能。 ( 3 ) 分支汇合事务模型 分支汇合事务模型采用动态重构技术,对活动的各个并发事务进行动态的修改。在 执行中,一个事务可以分支为两个独立或者相互依赖的事务,然后可以将这两个事务合 并成一个事务3 0 1 。通过动态重构执行中的事务,可解决多个用户的合作问题,提高事务 的并发度和吞吐率。 ( 4 ) f l e x i b l e 事务模型 f l e x i b l e 事务模型是一种适用于多数据库系统的事务模型。一个f l e x i b l e 事务由多 个子事务组成。根据子事务的恢复特性,可将其分为可补偿的、可重试的和p i v o t 三种。 该模型通过指明各子事务间的依赖关系来支持对事务执行的柔性控制,其关是提供备用 执行路径【3 l 】。如果主子事务被撤销,那么提交备用子事务并希望它成功执行以完成指定 的任务。 2 2 2w e b 服务事务模型 ( 1 ) w e b 服务事务特点 长时性 自治性 交互性 松耦合 异构 更多潜在的故障 放松a c i d 属性,尤其是原子性和隔离性。事务的隔离性是通过加锁机制实现的, 对于w e b 服务参与的事务,实现隔离性的代价太高,会大大降低系统的性能。 ( 2 ) w e b 服务事务管理体系结构 基于事务的w e b 服务组合问题的研究与应用 s e r v i c ed e s c n p t i o ni n t e r f a c e u d d l i c o m 萍蓐i n gt r a n s a c t i o n , t 毒毒 e x e c u t i n gt r a n s a c t i o n 、1 一 广 l 苫 j e x e c u t i o n “l y e r 图2 1w e b 服务事务管理架构 f i g 2 1 a r c h i t e c t u r eo fw e bs e r v i c et r a n s a c t i o nm a n a g e m e n t 发现层:发现层主要有两个功能,w e b 。服务描述和w c b 服务发现。s e r v i c e p r o v i d e r 创建w e b 服务并对其进行功能性和非功能性的描述,并发布到u d d i 注册中心 上。发现层处理请求者的需求,并查询、匹配符合用户需求的w e b 服务。 组合层:组合层将共同完成用户需求的多个w e b 服务组合起来,构成一个事务 执行域,并对其进行编排。 执行层:执行层负责按照组合层编排的w e b 服务的执行顺序和聚合模式,调用 具体的w e b 服务执行。 2 3 通用w s c 嵌套事务模型( u w s c - n t m ) 的设计 w e b 服务扩展事务模型在传统事务模型和高级事务模型的基础上进行了扩展,以满 足组合应用的要求,并提高模型的表述能力( 如减少由于事务同步所造成的事务阻塞和 放弃) 。根据不同的性质,如事务结构、事务间的并发和执行依赖、可见程度、持久性 与隔绝性要求等,可以定义多种扩展事务模型。然而没有一种扩展事务模型是通用的, 一种模型在某个应用中可能不会被接受,而在另一个应用中却是非常适合的。 本章提出的u w s c - n t m 支持服务的多种恢复模式和恢复策略。准确描述了事务性 服务组合执行语义和状态转换,指出了语义原子性的形式化定义。基于该模型,刻画了 良构性及其循环、弱序及递归构造判定准则,证明了符合判定准则是一个事务性服务组 合满足良构性的必要条件,给出了基于模型检测的良构性判定方法。 、,j 大连理工大学硕士学位论文 2 3 1 研究方法 w e b 服务组合的研究者来自两个派别:第一类研究者从语义网的角度出发,重视 w e b 服务的自描述和语义;另一类研究者则从流程建模的角度出发,重视w s c 中的数 据流和控制流,强调对动态环境的处理。两种研究方向依赖于不同的技术基础,使用完 全不同的w s c 模型,这也是目前w s c 存在两种定义的根源。 本文采用的研究方法是过程驱动的组合方法,这类方法通常基于工作流、状态演算 和进程代数模型描述,相对于基于语义描述的自动服务组合方法更适用于w e b 服务组 合的事务性研究。这里给出基于过程模型的w s c 定义:依赖于特定控制流和数据流结 合起来的、能够完成一定任务的w e b 服务集合。 2 3 2u w s c - n t m 模型的设计 u w s c - n t m 是基于高级事务模型中的嵌套事务模型提出的,通过对传统的嵌套事 务模型的改进,使其能够更好的服务于组合服务的事务管理。支持任意深度的嵌套,支 持前向恢复和基于补偿的后向恢复。 ( 1 ) u w s c - n 刑定义 定义2 1( 组合服务流程p r o c e s s ) :组合服务流程描述正常情况下成员服务调用 顺序关系。采用工作流的形式描述,工作流任务节点表示服务调用,节点间的转移关系 表示调用顺序关系。设组合服务流程的输入为i n p u t ,输出为o u t p u t 。 定义2 2 ( 组件c o m p o n e n t ) :c o m p o n e n t ( 缩写c p t ) 是构成p r o c e s s 的基本单元, 引入c p t 是为了模型可以支持动态的w e b 服务组合,当执行p r o c e s s 时,会动态发现符 合该c p t 功能性语义的w e b 服务来替换执行。其中位于叶子节点的c p t 称为基本c p t , 用b c 来表示,对应一个w e b 服务,用图2 2 中的白色矩形框表示;位于非叶子节点的 c p t 称为组合c p t ,用c c 来表示,用图2 2 中的蓝色矩形框表示。用有向边来表示不同 c p t 之间的控制流。 定义2 3 ( 范围s c o p e ) :范围代表一个w e b 服务事务,包含一组c p t ,可以是 p r o c e s s 的一部分或全部。构成一个s c o p e 的所有c p t 之间具有事务性,所以引入s c o p e 之后,事务控制的粒度可以缩小到一个s c o p e 内。一个组合服务可包含多个s c o p e 。s c o p e 之间可以任意深度嵌套。假设组合服务流程p i 的嵌套深度为l i ( l 乏1 ,l i n 宰) ,则嵌 套的每一层中有且至少有一个s c o p e 存在:特殊的,当l i = l 时,有且仅有一个s c o p e , 也称为顶层s c o p e ,顶层s c o p e 是唯一一个没有父亲节点的s c o p e 。 结合以上定义可以得知,第l j 层中存在的c c 的个数即为第( l i + 1 ) 层中存在的s c o p e 的个数。且有关于b c 和c c 更精确的定义:b c 是这样的c 鸥它只存在于一个s c o p e 基于事务的w e b 服务组合问题的研究与应用 中,且不存在儿子节点;c c 是这样的c p t , 它既存在于一个s c o p e 中,又是另一个s c o p e 中的c p t 的父亲节点。 图2 2 流程p l 的i _ 厢s c - n t y 模型图 f i g 2 2u w s c - n t mm o d e ld i a g r a mo fp r o c e s sp i 根据上述定义,我们可以得到u w s c - n t m 的通用表达式: 流程p r o c e s s 的表达式:p i ( l “,c “) ,其中i n ,用于区分不同的流程。 p i 的嵌套深度为lq ,包含c “个c p t ,顶层s c o p e 为s c o p e i 范围s c o p e 及组件c p t 的表达式:s c o p e i 的嵌套深度为1 ,包含的c p t 为: c p t , 1 ,c p t , 2 ,c p t , 口,c p t i 4 ,) ) 点为c p t i j 包含的c p t 为:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论