(计算机应用技术专业论文)web服务事务柔性补偿技术研究.pdf_第1页
(计算机应用技术专业论文)web服务事务柔性补偿技术研究.pdf_第2页
(计算机应用技术专业论文)web服务事务柔性补偿技术研究.pdf_第3页
(计算机应用技术专业论文)web服务事务柔性补偿技术研究.pdf_第4页
(计算机应用技术专业论文)web服务事务柔性补偿技术研究.pdf_第5页
已阅读5页,还剩50页未读 继续免费阅读

(计算机应用技术专业论文)web服务事务柔性补偿技术研究.pdf.pdf 免费下载

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

文档简介

懒嬲 广西大学学位论文原创性声明和学位论文使用授权说明 学位论文原创性声明 本人声明:所呈交的学位论文是在导师指导下完成的,研究工作所取得的成果和相 关知识产权属广西大学所有。除已注明部分外,论文中不包含其他人已经发表过的研究 成果,也不包含本人为获得其它学位而使用过的内容。对本文的研究工作提供过重要帮 助的个人和集体,均已在论文中明确说明并致谢。 做作者签名:楷, 劢仂年乡月砂日 学位论文使用授权说明 本人完全了解广西大学关于收集、保存、使用学位论文的规定,即: 本人保证不以其它单位为第一署名单位发表或使用本论文的研究内容; 按照学校要求提交学位论文的印刷本和电子版本; 学校有权保存学位论文的印刷本和电子版,并提供目录检索与阅览服务; 学校可以采用影印、缩印、数字化或其它复制手段保存论文; 在不以赢利为目的的前提下,学校可以公布论文的部分或全部内容。 请选择发布时间: 口即时发布口解密后发布 ( 保密论文需注明,并在解密后遵守此规定) 论文作者签名晕香备覃 吞日 钐_ w e b 服务事务柔性补偿技术研究 摘要 补偿机制是数据库事务管理中重要组成部分,是事务恢复的重要手段。 虽然补偿机制在高级事务模型、分布式环境和w e b 服务标准中已被广泛使 用,但是目前经常使用的各种标准和规范中的补偿机制还不够完善,还存 在着冗余定义、补偿事务单一和对补偿规则描述不清等问题。因此,制定 更灵活的补偿机制是非常必要的。针对现行单补偿机制所存在的不足,文 中提出了一种更灵活、更智能的柔性补偿机制,能根据系统现状,在事务 失效时进行补偿事务的选择,它即考虑了顾客的需求,也能兼顾商家的利 j 上 盈o 在本文中,从w e b 服务事务特性出发,归纳了目前常用的一些事务处 理模型和w e b 服务环境下的相关事务规范,分析了事务处理系统中单补偿 机制存在的问题及不足,通过允许柔性补偿扩展了w s - c w s - b a 所提出的单 补偿机制,扩展主要包括四个方面:( 1 ) 增加一个“s e l e c t i n g ”功能从“补 偿事务组 中选择合适的补偿操作;( 2 ) 为克服补偿事务与业务逻辑联系 过于紧密的缺陷,把一个智能、灵活的a g e n t 引入到机制中用于补偿事务 的管理,并以补偿代价作为选择补偿事务的选择因子;( 3 ) 构建了一个基 于w e b 服务流程的业务生成图;( 4 ) 最后设计了一个适合于本框架的柔性 补偿算法。 对于文中所提出的柔性补偿机制,不仅兼容了单补偿事务处理,而且 还能对复杂的多补偿事务进行很好的管理调度。其中补偿事务管理器 ( a g e n t ) 对传统事务与补偿事务进行了分离,提高了业务流程处理的效率; 补偿代价的引入让补偿事务的选择有了很好的依据;而基于w e b 服务流程 构建的业务生成图,则能够用于追踪相关联的任务和进行级联补偿。最后 的实验结果对比也确实验证了柔性补偿机制比单补偿机制更为灵活,智能, 更能适应商业化的应用。 关键词:w e b 事务补偿事务单补偿柔性补偿业务生成图补偿代价 r e s e a r c ho nf l e x i b l ec o m p e n s a t i o nf o r b u s i n e s st r a n s a c t i o ni nw e bs e r v i c e e n v i r o n m e n t a b s t r a c t t h em e c h a n i s mo fc o m p e n s a t i o ni s a ni m p o r t a n t p a r to fd a t a b a s e t r a n s a c t i o nm a n a g e m e n t i ti sa ne f f e c t i v em e a n st o r e c o v e r yo ff a u l t y a l t h o u g ht h ec o m p e n s a t i o nm e c h a n i s mh a sb e e nw i d e l yu s e di na d v a n c e d t r a n s a c t i o nm o d e l s ,d i s t r i b u t e de n v i r o n m e n t sa n dw e bs e r v i c e ss t a n d a r d s ,b u t t h ec o m p e n s a t i o nm e c h a n i s mi sn o tp e r f e c t 。t h e r ei sa l s ot h ed e f i n i t i o no f r e d u n d a n c y , s i n g l ec o m p e n s a t ea n dd e s c r i b ec o m p e n s a t i n gr u l e s v a g u e t h e r e f o r e ,i ti s n e c e s s a r y t o d e v e l o p m e n tam o r ef l e x i b l ec o m p e n s a t i o n m e c h a n i s m f o rt h ee x i s t i n gd e f i c i e n c yo f s i n g l ec o m p e n s a t i o nm e c h a n i s m ,t h i s t h e s i sp r e s e n t sam o r ef l e x i b l e ,m o r ei n t e l l i g e n tc o m p e n s a t i o nm e c h a n i s m i tc a n t oc h o i c et h ec o m p e n s a t i o nt r a n s a c t i o na c c o r d i n gt ot h es y s t e ms t a t u s i tn o t o n l yc o n s i d e r e dt h en e e d so fc u s t o m e r s b u ta l s ot o o ki n t oa c c o u n tt h ei n t e r e s t s o ft h eb u s i n e s s i nt h i st h e s i s ,s t a r t i n gf r o mt h ec h a r a c t e r i s t i c so fw e bs e r v i c e st r a n s a c t i o n s u m m a r i z e ds o m eo ft r a n s a c t i o nm o d e l sa n d 胎bs e r v i c e s s p e c i f i c a t i o n s 。 a n a l y s i st h ep r o b l e m so fs i n g l ec o m p e n s a t i o nm e c h a n i s mi nt r a n s a c t i o n p r o c e s s i n gs y s t e m ,e x t e n d ss i n g l ec o m p e n s a t i o nm e c h a n i s mi nw s - c 厢s - b a s p e c i f i c a t i o n sb ya l l o wc o m p e n s a t i n g e x p a n s i o ni n c l u d e sf o u ra s p e c t s :( 1 ) t o a d da s e l e c t i n g c h o i c et h e a p p r o p r i a t ec o m p e n s a t i o no p e r a t i o nf r o mt h e c o m p e n s a t i o nc o l l e c t i o n ;( 2 ) as m a r t ,f l e x i b l ea g e n ti si n t r o d u c e df o rt h e m a n a g e m e n to fc o m p e n s a t i o nt r a n s a c t i o na n dt a k et h ec o s to fc o m p e n s a t i o na sa s e l e c t i o nf a c t o r t h u s ,i to v e r c o m e st h ef l a w st h a tt h ec o m p e n s a t i o nt r a n s a c t i o ni s t o oc l o s e l ya s s o c i a t e dw i t ht h eb u s i n e s sl o g i c ;( 3 ) ab u s i n e s ss p a n n i n gg r a p hi s s e tu pt h a tb a s e do nw 曲s e r v i c e sb u s i n e s sp r o c e s s e s ;( 4 ) 1 1 1 i st h e s i sp r e s e n t sa a l g o r i t h mf o rt h ef l e x i b l ec o m p e n s a t i o nm e c h a n i s m t h i st h e s i s p r o p o s e d af l e x i b l e c o m p e n s a t i o nm e c h a n i s m ,n o to n l y c o m p a t i b l ew i t has i n g l ec o m p e n s a t i o nt r a n s a c t i o n ,b u ta l s oh a dav e r yg o o d c o n s i d e r a t i o no nm o r ec o m p l e xm u l t i p l e c o m p e n s a t i o nt r a n s a c t i o n s i nw h i c h t r a d i t i o n a ls e r v i c e sa n dc o m p e n s a t i o nt r a n s a c t i o nw e r e s e p a r a t e db yt h e u i c o m p e n s a t i o nt r a n s a c t i o nm a n a g e r ( a g e n t ) ,t h e r e b yi m p r o v et h ee f f i c i e n c yo f b u s i n e s sp r o c e s s e s ;t h ei n t r o d u c t i o no fc o s to fc o m p e n s a t i o nl e tc o m p e n s a t i n g t r a n s a c t i o nh a sag o o ds e l e c t i o nc r i t e r i a ;t h es p a n n i n gg r a p hb a s e do nw e b s e r v i c e sb u s i n e s sp r o c e s s e sc a nb e u s e dt ot r a c kt h et a s k sa n da s s o c i a t e dc a s c a d e c o m p e n s a t i o n t h ee x p e r i m e n tr e s u l t sv e r i f y t h ef l e x i b l e c o m p e n s a t i o n m e c h a n i s mi si n d e e dm o r ef l e x i b l ea n di n t e l l i g e n tt h a nt h es i n g l ec o m p e n s a t i o n m e c h a n i s m ,a n dm o r ea d a p tt ot h ec o m m e r c i a la p p l i c a t i o n k e y w o r d s :w e bs e r v i c e st r a n s a c t i o n ;c o m p e n s a t i o nt r a n s a c t i o n ; s i n g l e c o m p e n s a t e ;f l e x i b l ec o m p e n s a t e ;b u s i n e s ss p a n n i n gg r a p h ; c o s t o fc o m p e n s a t i o n i v 目录 摘要i a b s t i 认c t i i i 第一章绪论1 1 1 课题的研究背景及意义1 1 2w e b 服务事务补偿技术研究现状2 1 3 论文研究内容及组织结构4 1 3 1 本文的主要研究内容4 1 3 2 本文的组织结构4 1 4 本章小结5 第二章w e b 服务事务处理与单补偿技术6 2 1w e b 服务事务处理规范6 2 1 1 事务的a c i d 特性6 2 1 2 事务模型6 2 1 3w e b 服务环境下事务特点及相关的事务规范8 2 2 事务处理中的补偿技术1 3 2 2 1 单补偿机制概述1 3 2 2 2 补偿事务1 4 2 2 3 事务补偿的基本模型1 5 2 3w e b 服务事务处理的单补偿机制1 7 2 3 1w e b 服务补偿事务的产生1 7 2 3 2w e b 服务单补偿机制实施框架1 8 2 3 3w e b 服务环境中的单补偿机制及不足1 8 2 4 本章小结2 1 第三章基于补偿代价的w e b 服务事务柔性补偿机制研究2 2 3 1 柔性补偿机制的提出2 2 3 1 1 柔性补偿机制研究的必要性2 2 3 1 2 柔性补偿的挑战和要求2 3 3 2 支持w e b 服务事务的柔性补偿机制框架2 4 3 2 1 扩展的w e b 服务柔性补偿机制:2 4 3 2 2 补偿事务的管理2 5 3 2 3 基于业务生成图的柔性补偿机制实现2 7 3 3 本章小结3 3 第四章实验设计与分析3 4 4 1 实验环境3 4 v 致谢4 7 攻读学位期间发表的学术论文4 8 v l 广西大掌硕士学位论文 w 曲服务事务柔性补偿技术研究 第一章绪论 如今,w e b 服务追求的目标不仅是通过使用w e b 服务标准实现应用程序间的互操 作,而是致力于通过松散耦合的集成模型来支持各企业中异构系统的灵活集成。企业愿 意把其内部业务处理流程中的任务作为服务外包,使其可以通过w 曲服务来进行访问。 此外,他们还想动态整合多个服务来提供新的增值服务。为了实现这个目标,事务支持 对于w e b 服务实现变得至关重要。因此,确保商业事务处理正确集成和可靠执行是关 键。 1 1 课题的研究背景及意义 事务处理的概念源于数据库管理系统,它主要用于保障应用程序对数据访问时的一 致性和可靠性。事务即一个完整的逻辑单元,在封闭的环境下,系统可以通过自己控制 事务的a c i d 特性【l j ( 即a t o m c i t y 原子性,c o n s i s t e n c y 一致性,i s o l a t i o n 独立性,d u r a b i l i t y 持久性) 来保证商用系统信息一致性和可靠性。并发控制和恢复处理是事务处理的核心 问题。在应用程序中,并发控制主要通过锁机制将并发事务队列化,从而实现事务串行 的目的。影子分页技术和基于日志的失效恢复是恢复处理的两种常用方法【2 1 。 自从分布式技术的广泛使用以后,对于事务处理能力的要求也在不断的提高,事务 本身也变得越来越复杂,不仅包含着原子事务,还包含着大量的长事务。传统采用的平 坦事务模型已经很难有效的保证事务的a c i d 特性,于是出现了各种扩展事务模型 ( e t m ) 。现常用的扩展事务处理模型有四种【3 叫:嵌套事务模型、分支p 汇合事务模型、 s a g a s 模型、f l e x i b l e 事务模型。 随着i n t e r n e 技术的飞速发展,w e b 服务的出现,对于事务处理再一次提出了新的 要求。由于w e b 服务事务处于开放的网络环境中,它除具有传统事务的特性外还有其 自身的特点【5 】:异构性、自治性、动态性、分布性等特点。也正因为这些特性的存在, 在进行w e b 服务应用时将面临着一系列亟待解决的问题。为解决w e b 服务事务的这 些问题,一些相关的支持事务处理的w e b 服务标准也已提出。其中有b p e l 4 w s l 6 1 、 w s c o o r d i n a t i o n l 7 1 、w s t r a n s a c t i o n 引、w s c i 9 】和w s c d l 1 0 1 等。w s t r a n s a c 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 a t ) t l l 】和w s b u s i n e s s a c t i v i t y 两种协议【1 2 1 。 在所有的这些标准和协议中,向后恢复的补偿方法作为一种基本机制被广泛引入。向后 恢复是当流程中的某个服务失效时终止当前服务的执行,并对已经执行完毕的服务进行 补偿,使流程回退到初始状态。 补偿机制的提出主要是为了放松对原子事务的要求,能够在事务处理过程中访问一 些没有提交的数据或是消除某些已提交子事务的影响。为了能对补偿过程更好的描述, 许多具有语义取消功能的过程补偿语言被提出1 1 3 6 1 ,这些过程补偿语言不仅能够定义补 偿事务,还能对整个补偿架构进行描述,而且还能够根据事务处理的轨迹定义具有反转 广西大掌硕士学位论文 w e b 服务事务柔性补偿技术研究 功能的补偿操作。 现行采用的补偿方法多数都是基于触发器的【1 7 珈】,通过事件触发机制实现对w e b 服务的底层数据操作的事务补偿,但这种机制有点片面,它忽略了业务逻辑,从而不能 完全实现w e b 服务的事务补偿。为了解决不能补偿或补偿过于复杂的问题,有的学者 在补偿方法中引入了确认机制的概念【2 l 】,它能修改一些不能补偿的任务,从而使它们变 得可补偿。 虽然补偿机制在高级事务模型、分布式环境和w - e b 服务标准中已被广泛使用,但是 目前经常使用的w - e b 服务标准中的补偿机制还不够完善,还存在着一些不足之处。首先, 补偿操作通常被定义在s c o p e ( b p e l 4 w s ) 、c o n t e x t ( w s c i ) 或c h o r e o g a p h ( w s c d l ) 层上,当s c o p e 或c o n t e x t 发生变化时可能导致重复定义和额外的工作;其次,对于每个事 务,仅存在一个相应的补偿事务,这是相当呆板的,它不够灵活,难以适应不同的应用 需求。例如,在一个退票系统中需要考虑的罚款问题,不同的罚款政策将导致不同补偿 策略。另外,在现行w 曲服务标准中还没有一个清晰补偿规则描述。因此,制定更灵活 的补偿机制是非常必要的。 本文致力于提出一种更灵活、更智能的柔性补偿机制,能够根据系统现状,在事务 失效时进行补偿事务的选择,它即考虑了顾客的需求,也兼顾了商家的利益,从而对推 动w r e b 服务商务化应用起到很好的促进作用。本文对于柔性补偿机制的研究,对于w e b 服务的商务应用具有一定的实践价值,而对w 曲服务事务处理的发展具有一定的理论价 值和科学意义。 1 2w e b 服务事务补偿技术研究现状 补偿机制最早由g r a y 在文献 2 2 中提出,随后被广泛使用于高级事务模型( a t m ) 和事务工作流中,在其独立性必须放松的情况下确保事务的原子性。在高级事务模型中, 对于一个事务t ,它的补偿事务c 能够在语义上消除它已经成功提交后所带来的影响。 对于工作流的事务处理系统,补偿的概念是非常重要的,因为许多的工作流实例都 是长时间运行的,并且一些实例的处理并不支持事务管理( 例如文件系统或遗留系统) 。 基于补偿的向后恢复方法在某些工作流系统中却很好的解决了这个问题。最典型的是 f l o w m a r k 工作流系统和一个虚拟事务模型。 在f l o w m a r k 【2 3 】工作流系统中,关联补偿域的概念被f r a n kl e ) ,i i l a n n 2 4 】所提出,用 以提供部分的向后恢复,得到了很好的支持。一个域是一个工作流中多个任务的集合, 它必须满足条件:这个域中的所有任务要么全部成功完成,要么全部被补偿。每一个域 和域中的每一个任务都和一个补偿事务相关联。域可以通过补偿它所组成的部分任务或 调用整个补偿事务来补偿所有任务进行事务夭折。域是可以重叠和嵌套的。如果域中的 一个任务失效,那它就马上围绕失效的任务进行补偿,并且,与之相关联的其他域也要 进行相应补偿,这是可以递归的。 虚拟事务模型【2 5 j 是在工作流的顶部指定虚拟事务域。当虚拟事务域执行过程中的一 2 广西大掌硕士掌位论文w e b 服务事务柔性补偿技术研究 个任务失效时,域中的所有任务将会以先前相反方向的顺序进行补偿,直到补偿结束点 到达为止。 w e b 服务技术发展迅速。因为w e b 服务组件彼此之间是松散耦合的,所以它为业 务处理执行提供了很好的一个执行环境。一些w e b 服务协议已经包含了事务处理支持 机制。例如,w s c i ,w s b p e l 和w s c d l 这些都支持开放的嵌套事务模式和补偿机制。 w e b 服务业务活动事务协议( w s b a ) 2 6 - 2 7 1 也是基于补偿的。w s b a 协调协议提供了 一个分布的、能彼此协作的基于补偿的事务处理机制。在该机制中,一个业务活动就是 一个工作单元。在某些情况下,一个成功执行的业务活动需要撤销,那么“c o m p e n s a t e ” 信息就需要发送给此业务活动的所有参与者。因此,一个参与业务活动的w e b 服务需 要保持畅通的上下文通话,以便在业务活动不能正常结束的情况下语义反转它的部分已 提交子活动任务。 除上面所提出应用研究外,近年来对补偿机制的研究一直是个热点问题,而且也取 得了一定的理论成果,具体如下: 1 ) 文献 2 8 ,2 9 中提出,通过提交前的回滚和提交后的补偿实现了良好的对用户透明 的恢复机制,但却没有解决当聚合事务不可补偿时的恢复问题。 2 ) 文献 3 0 针对事务补偿中的复杂性和a g e n t 智能灵活的特点,在参考文献 2 8 】基 础上独立出专职a g e n t 用于补偿事务的管理,取得了较好效果,但也还存在着事务安全 性问题。 3 ) 确认机制是文献 2 1 】所提出的一种新的方法,它能修改一些不能补偿的任务,使 它们变得可补偿。补偿是在语义上消除已执行任务的影响,而确认机制则是在语义上确 认它们。在确认机制中,业务处理流程中的一个任务不仅与一个补偿事务相关联,而且 还与一个确认事务相联系。一旦一个工作流处理实例成功执行,所有已行任务的确认事 务将自动执行。 4 ) 在文献 3 1 】中,d u ,d a v i s 等人已经对柔性工作流补偿的开始工作进行了研究。 但是他们对工作流任务补偿范围的探讨,多过对柔性补偿事务选择的讨论。他们在分析 工作流各项活动相关性基础上,提出了一个对工作流处理过程指定补偿范围的机制。 5 ) 相对于文献 3 2 ,3 3 中所提出的柔性补偿机制,那些在a t m s 、事务性工作流中 所应用的补偿机制就不够灵活了:对每一个事务只定义一个补偿事务。而在文献 3 2 , 3 3 1 中,对于一个事务可以定义多个补偿事务,因此能够满足不同实际应用需求。一旦 它相应事务需要补偿时,所定义的补偿事务能够自动的选择、执行。不过在文献 3 2 , 3 3 】中也还存在一定的问题,它没有解决好补偿事务与w e b 服务过于密切的关系,并且 对于补偿事务的选择也没有给出明确的论述。 3 g - 西大掌硕士学位论文 w e b 服务事务柔性补偿技术研究 1 3 论文研究内容及组织结构 1 3 1 本文的主要研究内容 本文将从w r e b 服务事务特性出发,归纳目前常用的一些事务处理模型和w r e b 服务环 境下的相关事务规范,分析事务处理系统中单补偿机制存在的问题及不足,在文献 3 3 】 基础上扩展一个柔性补偿框架。首先,为每个w 曲服务操作定义柔性的补偿事务( 即让 一个w 曲服务操作对应一个补偿事务或补偿事务组) ,这将使得补偿变得更为灵活,而 且还能满足不同业务处理流程的差异需求;然后,本文还将把智能、灵活的a g e n t 弓1 ) k 架构中进行事务管理;最后,以b p e l 4 w s 和w s b a 作为基本模式,提出一个在w e b 服 务环境中实施这个扩展的柔性补偿机制的算法。 本文的主要研究内容是对柔性补偿框架的扩展与完善,其具体的研究工作有以下几 个方面: 1 、阐述补偿机制的主要技术及在事务处理中的应用,分析w e b 服务事务中补偿机 制的研究现状及不足,指出尚待解决的问题。 2 、对w | e b 服务业务流程进行形式化描述,构建一个基于w 曲服务业务流程的生成图, 并提出相应的构建算法。 3 、在柔性补偿框架的基础上引入一个智能a g e n t 进行补偿事务管理,把补偿事务与 对应的w 曲服务进行分离。 4 、把补偿代价作为补偿事务的选择因子引入柔性补偿框架,使得补偿事务的选择 有了明确的依据。 5 、把分别采用单补偿机制和柔性补偿机制的两个系统应用于同一场景,通过实验 结果对比验证柔性补偿机制的优越性。 1 3 2 本文的组织结构 本文的章节内容安排如下: 第一章是全文的绪论部分。首先介绍本论文的研究背景,研究的目的及意义;然后 详细对w e b 服务事务补偿技术研究现状进行了分析;最后,说明了本次论文所做的主 要工作及组织结构。 第二章第一节在介绍事务概念和事务特性之后,对几种高级事务模型和相关的几种 事务规范进行了简介和分析;第二节主要是在分析引入补偿机制的必要性基础上引出补 偿事务的定义及组织结构,提出了一个基本的补偿模型;第三节深入研究了w e b 服务 单补偿机制实施框架及在事务处理方面存在的不足,为下面工作做铺垫。 第三章是本文的研究重点,首先以一个旅游预定事务处理的例子引入柔性补偿的必 要性;分析柔性补偿的挑战和要求后,扩展了w s c w s b a 所提出的补偿模型。然后 对补偿机制中的补偿依赖关系、业务生成图进行了形式化描述并提出了相应的生成算 法。最后把一个智能a g e n t 引入补偿机制进行事务管理,并以补偿代价作为补偿事务的 4 广西大掌硕士学位论文 w e b 服务事务柔性补偿技术研究 选择因子引入柔性补偿框架,使得补偿事务的选择有了明确的依据。 第四章主要做了两点工作,首先对实验环境进行设计,然后通过实验仿真对比验证 了柔性补偿机制的优越性。 第五章是全文工作总结,以及进一步的工作展望。 1 4 本章小结 本章首先介绍论文的研究背景,明确论文研究目的和意义;然后对w 曲服务事务 补偿机制的研究现状进行讨论;最后总述下面各章将要进行的一些研究工作及论文的组 织结构。 5 厂西大掌硕士学位论文 w 宅b 服- 复j - t l l 务柔性补偿技术研究 第二章w e b 服务事务处理与单补偿技术 早期的事务处理模型提供了一个并发访问数据库的基本机制。然而,早期的这种事 务模型已经逐渐不能满足不断发展的数据库应用要求。例如:分布式技术和工作流技术 等。为了满足这种要求,所谓的高级事务模型研究应运而生。这些模型通常依赖于“补 偿 的概念,对于每一个操作,都有一个“相反”操作被提供。目的是为了用一个补偿 操作在语义上撤销原来执行操作的影响,而不仅仅是纯粹的恢复原来的状态。 事务处理需要补偿机制来确保信息的一致性和可靠性,补偿技术能为处理更复杂的 事务提供保障。下面本文将详细介绍相关事处理模型、规范及补偿技术的相关知识。 2 1w e b 服务事务处理规范 2 1 1 事务的a c id 特性 事务处理技术最早源于数据库管理系统( d b m s ) ,它是确保并发访问的共享数据一 致性和进行正确失效恢复的关键技术。事务即一个完整的逻辑单元,在封闭的环境下, 系统可以通过自己控制事务的a c i d 特性,来保证商用系统信息一致性和可靠性。a c i d 特性是事务重要特性,其具体内容如下【3 4 】: 原子性:对于数据库来说,事务是一个不可分割的整体,它要求其内部的所有操作 要么全做要么全不做,如果所有操作都成功执行,则事务成功;否则,数据库状态要求 回退到事务执行前的状态。 一致性:要求事务执行的结果是使数据库从一个一致性状态变迁到另一个一致性状 态,没有其它中间状态的存在。也就是,数据库事务在执行时不能破坏数据完整性以及 业务逻辑上的一致性。 隔离性:是指在事务执行过程中,其中间执行结果不能被其他事务所共享。也就是 在多个事务并发操纵相同的数据时,每个事务都有自己的完整的数据空间。 持久性:指的是当一个事务成功执行以后,它对数据库所做的改变是永久的。即使 发生系统崩溃,工作的结果也能保存或恢复。 数据库系统( d b m s ) 中,恢复处理是确保事务的原子性和一致性基本方式;而事 务的隔离性则是由并发控制协议来保证的;利用提交协议则能够确保事务的持久性。 2 1 2 事务模型 在传统的事务处理技术中,最先提出使用的是平面( f l a t ) 事务模型。它只有一层事务 性应用控制,能够保证事务的a c i d 特性,主要适用于短事务和一些简单的应用。当面 对长事务处理时,平面事务模型就很难满足其要求了。因为当长事务在执行过程中失效 时,简单地回退滚不仅不能保证事务的一致性,而且还会造成时间和资源的浪费,降低 执行的效率。于是人们通过对事务进行深入探讨,根据子事务间的依赖关系及可见性要 6 广西大学硕士掌位论文w e b 服务事务柔性补偿技术研究 求,采用补偿、等价和替换等手段,适当调整并放松事务的a c i d 要求,提出了各种e t m ( 高级事务模型) 。这其中较为成功和有影响力的事务模型主要:s a g a s 模型,嵌套事务 模型,分支汇合事务模型,柔性( f l e x i b l e ) 事务模型。 1 、s a g a s 模型1 3 5 j s a g a s 模型主要是面向长事务设计的,它将长事务划分成多个子事务,每个子事务 都对应着一个相应的补偿事务。当子事务失效时,相应的补偿事务能够在语义上消除子 事务的影响。一个s a g a s 就是由一个预先定义好执行顺序的子事务集合t 和对应的补偿子 事务集合c t 组成。只有当集合t 中所有子事务都成功提交以后,s a g a 才成功完成;否则 系统将从失效的子事务t 开始,逆序执行相应的补偿事务来撤销前面己提交子事务的执行 结果。 2 、嵌套事务模型【3 6 】 在嵌套事务模型中,长事务可以分解成一种树形结构。它允许在事务的内部重新启 动一个或多个子事务,与此类推,其内部的子事务还可以递归的包含自己的子事务。但 是必须注意的是,只有父事务启动后子事务才能启动,反过来,只有所有子事务都提交 以后父事务才能提交。嵌套事务模型的最大优点是事务内部的子事务之间可以并发执 行,已提交的执行结果可以对其他并发执行的子事务可见,从而缩短了程序的执行时间。 嵌套事务模型的缺点是在事务的内部可能形成死锁。 3 、分支汇合事务模型【3 7 】 分支汇合事务模型可以进行分支事务操作和汇合事务操作。分支事务操作就是将 执行中的事务分解成几个可串行化的子事务集合,让子事务独立执行。分支事务操作的 优点在于能让子事务之间互不影响,还能让执行完成的子事务尽快释放资源。汇合事务 操作是其反操作,就是将可串行化的事务集合合并成一个事务,它们按一定的协议,通 过访问同一个数据库对象来进行通信,从而解决了多用户的合作问题。 4 、柔性( f l e x i b l e ) 事务模型3 8 j 柔性事务模型一大特点是用户能控制事务的执行,用户即能向系统发出开始命令来 启动一个事务的开始,也能发出提交或夭折命令来结束事务的执行。柔性事务模型中存 在补偿事务、可重复事务和p i v o t 事务三种类型,一个柔性事务可以包含一个或多个子事 务,其子事务之间内部和外部的依赖关系可以由用户来指定,子事务可以通过p r e c e d e n c e 和p r e f e r e n c e 两种约束关系组合在一起。由于柔性事务可以包含多种事务类型,因此,它 比其他事务模型更能适应实际应用的需求。 从上面各种模型的简介也能看出,高级事务模型是根据具体的需要,放宽a c i d 属 性的一个或几个限制条件的基础之上对平面事务模型的各种扩展,而其事务结构也是在 平面事务基础上从两个方面进行的改进。一种方法是以分层分类的思想对复杂事务进行 模块化,通过这种方法,一个大的事务可以被依次分解成多个更小的子事务。像分布式 事务、嵌套事务和开放嵌套事务采用的就是这种方法;另一种方法是采用链接的方式, 像s a g a s 就是一个很好的例子。它按照事务执行的时间,把事务分解成连续的一系列更 7 广西大学硕士学位论文w 曲服务事务柔性补偿技术研究 小的子事务来达到简化事务的目的。 2 1 3w e b 服务环境下事务特点及相关的事务规范 2 1 3 1w e b 服务环境下的事务特点 由于w e b 服务事务处于开放的网络环境中,它除具有传统事务的特性外还有其自身 的特点:陟删 1 ) 长事务:由于w e b 服务应用需要,其事务执行可能持续几小时,甚至几天,这 样用传统的锁机制控制整个事务显然效率极其的低下,甚至到不可以使用的地步,同时 对于资源也是一种浪费。 2 ) w e b 服务间的松散耦合性:一个业务处理流程通常是由不同参与者所提供的w e b 服务组合而成,由于参与者的不同,w e b 服务的实现技术也是各不相同的,有的可以像 数据库对象一样参与事务处理,有的却不行,传统的事务管理系统却无法区别这种不同。 3 ) 自治性:由于各个w e b 服务事务的控制权是由服务的提供者所拥有的,所以真 正使用w e b 服务的应用系统可能无法锁定其需要资源。 4 ) 其他特性:w e b 服务还可以由多个其他服务组合而成,那么它的一次事务过程就 有可能跨越多个区域、多个组织,由于异构系统、网络拥塞等原因引起的故障或错误, 其发生的概率相对于传统应用也要高得多。 2 1 3 2w e b 服务环境下相关的事务规范 自九十年代末以来,松耦合环境的w e b 服务领域事务处理技术成研究热点。除现在 已经公认的一些标准( 像s o a p 、w s d l 、u d d i 等) 外,制定确保w | e b 服务应用一致性 和可靠性的标准也是必须的,然而,现在还没有一个成熟的、能被广泛认可的规范标准。 也正因如此,业界各组织根据自身利益,纷纷提出了适合自己的w 曲服务标准。目前, 最流行的主要有b t p ( b u s i n e s st r a n s a c t i o np r o t o c 0 1 ) 、w s t x 和w s c a f 等标准。现介绍 如下: 1 、b t p 4 h b t p 是o a s i s 在2 0 0 2 年5 月发布的一种x m l 协议,它结合了当前的商业通讯标准, 主要用来管理企业对企业( b 2 b ) 间的复杂的交易事务。b t p 在两阶段提交协议基础上, 提出了具有补偿功能的两阶段终止协议来解决w 曲服务的事务问题。b t p 事务有两种类 型:原子( a t o m ) 事务和内聚( c o h e s i o n ) 事务。所谓的原子事务就是商业活动的执行结 果是原子性的,商业事务操作要么全部执行,要么全部不执行;从另一方面讲,所谓内 聚事务则是放松了对事务原子性的要求,系统能够利用商业逻辑来选择确认参与者,或 选择取消参与者。 值得注意的是,b t p 的两阶段终止协议和传统的两阶段协议已经有了很大不同,它 主要表现在三个方面: 1 ) 两阶段终止协议已不再使用传统的锁机制 2 ) 在b t p 中增加了“确认 的步骤,参与者需要在确认后才进行的提交。 8 广西大学硕士学位论文 w e b 服务事务柔性补偿技术研究 3 ) 主要是通过将符合要求的参与者信息传递给协调器,来与传统两阶段提交协议 进行对接。 由于b t p 不是针对w 曲服务事务所制定的,所以它在实际应用中并不能很好的满足 w e b 服务事务需求。b t p 把参与者和协调者绑定太紧。例如,在事务提交阶段必须明确 指明哪些参与者需要提交,哪些参与者是要取消的,而这些,在传统的事务处理系统中 用户根本不必关心。因此,b t p 这种对事务过于集中的管理方式与w | e b 服务的松散耦合 性是相抵触的。另外,b t p 几乎把事务处理过程中的所有工作都推给了后端参与者,这 必定增加了用户的工作量。 2 、w s c y i - x i s ,1 2 , 4 2 】 w s c t x ,即:w s c ( w s c o o r d i n a t i o n ) 规范、w s a t ( w s a t o m i c t r a n s a c t i o n ) 规范和w s - b a ( w s b u s i n e s s a c t i v i t y ) 规范,是由i b m 、m i c r o s o f t 和b e a 联合推出的 事务规范。在这些规范中,w s c 用来描述了一个创建、注册、以及协调的通用框架, w s a t 和w s - b a 是在w s c 的框架下用于描述不同的事务类型:w s a t 描述a c i d 事务 类型,w s b a 描述长时间运行事务类型。w s c t 体系结构如图2 1 : 图2 - iw s - c 广r 体系结构 f i g 2 - 1t h es t r u c t u r eo f w s - c t 在上图中,w s c o o r d i n a t i o n 是基本的框架,它的作用是让各参与者之间的分布式 操作结果成为可能。w s t r a n s a c t i o n 则定义了协调的类型。例如:原子事务( 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 框架来定义规则,在参与者与协调器 ( c o o r d i n a t o r ) 进行信息交换时,它们就必须遵循这些制定的规则。 w s c 规范的最大特点就是能够为应用程序提供一个开放的协调框架,每个实例为 实现自己的应用目标,都可以在此框架下设计适合自己的协调协议来控制整个协调过 程。例如,在w s - a t 就设计t c o m p l e t i o n 和两阶段提交协议( 2 p c ) 来实现w r e b 服务 事务处理。该框架主要有三大功能:( 1 ) 根据协调类型,创建出具体的协调协议服务; ( 2 ) 在协调者与活动的参与者之间建立联系,便于消息的传递;( 3 ) 在协调者和参与 者之间进行协调信息的传递。为了实现上面的框架功能,w s c 规范还包括了三个组件: 激活服务( a c t i v a t i o ns e r v i c e ) :依据应用程序实例的需求,创建一个相应的新 的活动协调者及相应的协调协议。在这里,激活服务允许活动协调者之间进行 嵌套,换句话说,就是它能具体指定一个新的活动协调者与原来已经存在的活 9 w 色b 服4 j - 事务柔性补偿技术研究 动者之间的关联关系。 注册服务( r e g i s t r a t i o

温馨提示

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

最新文档

评论

0/150

提交评论