




已阅读5页,还剩90页未读, 继续免费阅读
(计算机应用技术专业论文)基于thp的web服务事务处理的研究与原型实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 w e b 服务技术作为一种新型的面向服务的分布式计算模式,为软件系统提供 了公共的编程接口与统一的互操作协议,屏蔽了操作系统、编程语言、底层硬件 结构的多样性,大大推进了软件重用的规模与更新的效率。当前i n t e r n e t 应用的 发展趋势是事务性w e b ,这需要解决相关的w e b 服务中的事务处理问题,以保证 w e b 服务事务的可靠执行以及系统状态的一致性。 w e b 事务不同子传统的数据库事务,它以服务之间的交互为核心,而不仅仅 围绕数据库中的持久数据。w e b 事务具备长时间运行、强自治性、交互性的特点, 因此经典的事务处理技术如资源锁定、自动回滚等都不适用于w e b 事务。w 曲服 务事务处理需要一套合理的事务处理方案和协调信息交换的标准。 本文针对w e b 服务中事务处理的协调问题,分析现有的事务处理模型和一些 有代表性的用于w e b 事务处理的协议,指出了当前研究中存在的问题。从资源预 留和资源协调的角度出发,提出了一个基于t h p 的w e b 服务事务处理模型。该 模型将用于w e b 事务处理的t h p 协议和w s - t r a n s a c t i o n 协议相结合来协调w e b 服务中的事务,通过在事务开始之前进行资源协商,以保证事务执行时所需的资 源,减少由于资源锁定而造成的事务失败情况的发生;针对原子事务和聚合事务 设计了相应的事务协调算法,并对状态转换等给出了详细的描述。接着采用标准 的w e bs e r v i c e 体系结构,设计并实现了该事务处理原型系统,支持可扩展的事 务处理协议,为用户提供统一的接口处理w e b 请求,后台使用协调器处理复杂的 业务逻辑,使该模型具备协调短期事务与长事务的能力,并且能较高效地解决 w e b 服务环境下事务处理的协调问题。最后,本文总结了基于t h p 的w 曲服务 事务处理模型系统的优点和存在的问题,给出了需要进一步开展的研究工作。 关键词:w e b 服务,事务模型,t h p ( t e n t a t i v eh o l dp r o t o c 0 1 ) ,协调机制 a b s t r a c t a san o wg e n e r a t i o no fd i s t r i b u t e dc o m p u t i n gp a t t e r n , w e bs a m c et e c h n o l o g y p r o v i d e se e l n i n o np r o g r a m m i n gi n t e r f a c e sa n du n i f i e di n t e r o p e r a b i l i t yp r o t o c o l sf o r s o f t w a r es y s t e m , w h i c hd i m i n a t e st h ed i f f e r e n c eo ft h eo p e r a t i n gs y s t e m ,p r o g r a m m i n g l a n g u a g e , a n dt h eu n d e r l y i n gh a r d w a r es t r u c :t u r e , a n di m p r o v e st h ee f f i c i e n c yo f s o f t w a r er e u s i n ga n du p d a t i n g w i t ht h ed e v e l o p m e n to fh t e r n e t , t h ew e bt r a n s a c t i o n h a sb e c o m eah o t s p o ti s s u e s , w h i c hc a l l sf o rs o l u t i o n sf o rp r o b l e m so ft r a n s a c t i o n a l s u p p o r to fw e bs e f 、,i c e st og u a r a n t e et h er e l i a b l ea c c o m p l i s h m e n to fw e b 跚v i c o sa n d t h ec o n s i s t e n c yo fs y s t e ms t a t u s w e bs e r v i c et r a n s a c t i o ni sd i f f e r e n tf i o mt r a d i t i o n a ld a t a b a s et r a n s a c t i o n , w h i c h t a k e st h ei n t e r o p c 榭t i o n 鹪t h ec l r l e , r a t h e rt h a nf o c u s e so np e r s i s t e n td a t ai nd a t a b a s e s b e c a u s ew e bt r a n s a c t i o n sh a v ed i s t i n c tf e a t u r e s ,s u c ha sl o n g - l i v e d ,a u t o n o m o u sa n d i n t e r a c t i v e ,t h et r a d i t i o n a lt r a n s a c t i o nm e c h a n i s m so fr e s o u r c el o c k i n ga n dr o l l b a c ka r e p r o v e dt ob ei n a p p r o p r i a t e a n dw e bs e r v i c et r a n s a c t i o nr e q u i r e s ar e a s o n a b l e a r c h i t e c t u r ea n dt h es t a n d a r d sf o rc o o r d i n a t i n gm e s s a g e sb e t w e e nw e bs e r v i c e 8 f o rt h ec o o r d i n a t i o np r o b l e m so ft r a n s a c t i o np r o c e s s i n g , t h i st h e s i sr e v i e w st h e p a s tp r o g r e s sa n di m p o r t a n ta c h i e v e m e n t si nt h ei 鹤e a r c ho ft r a n s a c t i o np r o c e s s i n g m o d e l ,a n dp o i n to u tt h em a i np r o b l e m so fc u r r e n tr e s e a r c ho ft h i sf i e l d f r o mt h ev i e w o fr e s o u r c er e s e r v a t i o na n dr e s o u r c ec o o r d i n a t i o n ,t h i st h e s i sp r o p o s e daw e bs e r v i c e t r a n s a c t i o np r o c e s s i n gm o d e lb a s e so nt h p t h r o u g hr e s e a r c h i n gt h ee x i s t e dp r o b l e m si n w e bt r a n s a c t i o np r o c e s s i n g t h em o d e lc o m b i n e st h pp r o t o c o lw i t hw s t r a n s a c t i o n p r o t o c o lt oc o o r d i n a t et h et r a n s a c t i o ni nw e bs e r v i c e s c o o r d i n a t i n gr e s o u r c e sb e f o r e t r a n s a c t i o ne x e c u t i n g , t h em o d e le n s u r e 8t h en e c e s s a r yr e s o u r c e sw h i l et r a n s a c t i o n e x e c u t i n ga n dr e d u c e st r a n s a c t i o nf a i l u r eb e c a u s eo fr e s o u r c el o c k i n g m e a n w h i l e ,t h i s t h e s i sa l s od e s i g n st h ec o r r e s p o n d i n gt r a n s a c t i o nc o o r d i n a t i o na l g o r i t h mf o ra t o m i c t r a n s a c t i o n sa n db u s i n e s st r a n s a c t i o n s ,a n dd e s c r i b e st h es t a t et r a n s i t i o ni nd e t a i l t h e n , t h ep r o t o t y p es y s t e mo ft r a n s a c t i o np r o c e s s i n gb a s e do nt h es t a n d a r da r c h i t e c t u r eo fw e b s e r v i c ei sd e v e l o p e d t h i ss y s t e ms u p p o r t se x t e n d e dt r a n s a c t i o np r o c e s s i n gp r o t o c o l , a n dp r o v i d e su n i f i e du s e ri n t e r f a c et od e a lw i t hw e br e q u e s t t h ec o o r d i n a t o ri sa p p l i e d i nb a c k e n dt od e a l 、) l ,i mc o m p l i c a t e db u s i n e s sl o g i c t h u s , i tp o s s e s s e st h ea b i l i t yo f c o o r d i n a t i n gs h o r t - l i v e dt i r l l s a 撕o r la n dl o n g - n m n i n gt r a n s a c t i o n , a n d 啪e f f e c t i v e l y s o l v et h ec o o r d i n a t i o np r o b l e m si nt h ee n v i r o n m e n to fw e bs o r v i o e s l 弱t t h i st h e s i s a n a l y s e st h ea d v a n t a g e sa n dd i s a d v a n t a g e so ft h ew e bs e r v i c ei r a n s a c t i o np r o c e s s i n g m o d e ls y s t e mb a s e do nt h p k e yw o r d s :w e bs e r v i c e , t r a n s a c t i o np r o c e s sm o d e l ,t 肿( t e n t a t i v eh o l dp r o t o c 0 1 ) , c o o r d i n a t i o n l l i 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 签名: 关于论文使用授权的说明 6 , e lie l 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 虢恤 导师签名: 日期:硼年占月e t 第一章引言 1 1 研究背景及意义 第一章引言 现代服务业服务交互支撑平台上的业务通过大量的跨组织、跨部门服务按照 业务流程驱动的方式组合实现,与这些业务相关的事务都是w e b 服务【l 】平台下的 事务,简称w e b 服务事务【2 】。w e b 服务事务是在特定业务规则的驱动下,由多个 w e b 服务作为参与实体而产生的一种业务状态的一致性改变。与传统的数据库事 务不同,w e b 服务事务以服务交互操作为核心【3 】,而不仅仅围绕数据库中的持久数 据,因此传统事务处理技术【4 】不再适用于这种新型事务。为了提高并发性能,解决 技术上的冲突,w e b 服务事务【5 】在一定程度上放宽了传统事务原子性、隔离性的要 求。同时为保证整体业务的可靠执行,事务支持是必不可少的【6 】。w e b 服务平台为 系统设计、开发、部署提供了一种全新的模式【7 】。相应地,事务的应用环境也发生 了极大的变化。w e b 服务事务具备以下三大特点: 长时性w e b 事务通常包含一些子任务要完成,涉及到访问多个资源,等待用 户的响应等,因此w e b 事务执行时间很长,从几分钟到几天不等。 自治性w e b 服务可能属于不同企业( 甚至是互相竞争的企业) ,由于不同企业 有各自独立的管理模式,不受其他企业的干涉,因此不同企业开发的w e b 服务是 相互独立的,w e b 服务之间是一种松耦合的连接状态。w e b 服务作为w e b 事务的 参与者,使得w e b 事务也具备了自治特性l s j 。 交互性在w e b 服务环境下,各个服务之间要通过交互操作来交换信息,交互 是业务流程能够自动化的核心。 众所周知,传统的数据库事务是严格的原子事务,一旦系统发生故障,所有 操作都会自动回滚,最终呈现出“要么全有要么全无 的事务结果,这种事务具 备四大特点a c i d 9 , 1 0 】,即a t o m i 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 ( 持久性) 。传统事务处理技术已不适用于w 曲服务事务【l2 。,具 体分析如下: ( 1 ) w e b 服务事务在执行过程中进行资源锁定【l l 】,会因为自身的长时性而使 其它并发事务长时间获取不到资源,这样将会产生严重的性能问题。加锁的并发 控制机制极大地降低了w e b 服务事务的吞吐率,而且限制了不同用户之间实时的 电子科技大学硕士学位论文 数据交换,使得协作丧失了基础。由于自治性,各个服务的资源管理策略也不会 允许其它服务长时间锁定自己的资源。因此,资源锁定技术不适用于w e b 服务事 务。 ( 2 ) 在传统数据库事务中,数据操作全部记录在日志中,只有当提交操作时, 数据的变化才会记录在物理硬盘中。然而,w e b 服务的交互行为却是即时发生的 并且一旦发生就无法通过自动回滚机制来撤销。也就是说,已发生的交互行为是 无法当作没有发生过的,必须通过其它的附加行为来补偿,同时放弃w e b 事务时 也会导致大量有价值的工作必须被撤消。 ( 3 ) 经典的两阶段协议【1 3 】中,各个参与方必须等待协调者做出最终决定之后 才能提交或中止已完成的操作。然而,w e b 服务事务中的参与者具备自治特性, 他们能够单方面决定自身操作是要提交还是要中止。在这种情况下,经典的两阶 段协议也不能直接应用到w e b 服务事务中。 为了解决上述这些问题,产生了一系列在传统a c i d 事务模型基础上扩展或 放松限制的事务模型,包括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 ) 【1 4 1 ,n p ( t e n t a t i v eh o l dp r o t o c 0 1 ) 【15 1 6 1 以及w s - t r a n s a c t i o n 1 7 。1 9 】等,都为本研究提供了理 论基础,但是这些方法都各有优缺点,其适用性依赖于具体的业务需要,基于此, w e b 服务事务处理框架【2 0 l 不仅要体现现有技术中值得借鉴的方面。而且该事务处 理框架应该是开放可扩展的,以便支持引入创新的技术以及未来新的业界规范。 1 2 国内外研究现状 w e b 事务处理机制的研究正吸引着越来越多的研究者的关注,但是国内关于 w e b 服务事务模型的研究工作开展得很少,通过查阅相关文献发现,关于该领域 的研究工作大都集中在w e b 服务管理和服务组合上,很少提到w e b 服务事务的处 理机制。对w e b 服务事务处理的研究方向上主要集中在补偿机制、w e b 服务协议、 事务处理模型。 1 2 1 补偿机制 补偿机制是w e b 事务的重要技术,实际上早在1 9 8 7 年,m o l i n a 和s a l e m 就 将补偿这一概念应用到长时间运行的数据库事务中【2 1 1 。他们把一个由一系列子事 务组成的长周期事务称为s a g a ,每个子事务都编写一个相应的补偿事务。s a g a 有 两种执行结果,要么所有的子事务都执行成功,要么所有被激活的子事务的补偿 2 第一章引言 事务都执行完毕。m o l i n a 和s a l e m 在文献 2 2 】中对s a g a 进行了扩展,研究了嵌套 s a g a 的管理和执行。为了保证并发事务执行结果的一致性,k o r t h 在补偿的基础之 上提出了补偿事务的多种可靠性标准四】。关于非严格原子性的事务,l e y y 等人【2 4 】 对孤立恢复机制的恢复协议以及正确性方面做了深入的研究。关于此类扩展事务 模型的研究还有很多 2 5 ,2 6 ,2 7 , 2 8 ,但是这些研究工作大都是针对数据库事务进行 研究的,不能直接用于w e b 服务事务。扩展事务模型虽然引入了补偿机制,但是 这些工作却是以“补偿事务不会出错一为前提的 2 9 - 3 0 i 。显然,这个前提是有问题 的,因为设计补偿事务和设计普通事务一样,普通事务会出错,补偿事务当然也 会出错。另外,在这些模型中也没有充分体现事务流程和补偿逻辑的实现。 1 2 2w e b 服务事务协议 w e b 服务事务是由多个分布的w e b 服务通过共同参与完成的,为了协调参与 者之间的行为并保证最终结果一致性,w e b 服务事务规范对传统中间件中事务协 调器的概念进行了扩展,修改了经典的两阶段提交协议,为松耦合的w e b 服务定 义了扩展事务协议。现有的w e b 事务规范主要有三种:b t p m 】、 w s - t r a n s a c t i o n s 1 7 , 1 8 , 1 9 、w s c a f t 3 1 1 。 1 2 2 1b t p 协议 b t p 是由h e w l e t t - p a c k a r d 、o r a c l e 和b e a 等公司共同推出的事务规范。b t p 是 一个互操作协议,定义了参与事务的服务如何在事务中运转,如何发送消息等。 b t p 提供两种类型事务:对于原子事务,b t p 采用两阶段提交协议处理,对于由 原子事务聚合而成的内聚( c o h e s i o n ) 事务,b t p 采用一个事务协调器,由协调器 决定哪些服务要提交,哪些服务可以回滚,从而简化了两阶段提交协议中“lo r n o t h i n g 的处理方式。b t p 的最大特点是允许用户在协议期间插入业务逻辑,根 据不同的业务规则来编写具体事务的决策方案【3 2 】。 1 2 2 2w s 。t r a n s a c t i o n 协议簇 w s t r a n s a c t i o n 是由i b m 和m i c r o s o f t 提出的事务处理规范,它实际上是一个 包含三个规范的协议族: ( 1 ) w s c o o r d i n a t i n n ( w s c ) ,支持多种协议的可挂接的通用协调器。它的功 能涉及:启动事务、管理协调上下文、注册w e b 服务以及协调参与者行为。 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 协议族中剥离出 电子科技大学硕士学位论文 来,上下文管理是事务系统的重要组成部分。这种剥离意味着可以更加容易地在 w s - c o o r d i n a f i o n 上创建附加的协议。 ( 2 ) w s - a t o m i c t r a n s a e t i o n s ( w s - a t ) ,用于w e b 服务互操作的两阶段提交 协议。定义的原子事务具有“a l lo rn o t h i n g 一的性质,与x o p e c 定义的原子事 务基本是相同的,唯一的不同是w s t r a n s a c t i o n s 为x a 通信进行了s o a p 形式 的包装。w s a t o m i c t r a n s a e t i o n s 使用w e b 服务定义a c i d 事务,目的是支持与 企业内原有的基于a c i d 的系统之间的互操作,而不是跨越企业的交互。 ( 3 ) w s b u s i n e s s a e t i v i t y ( w s b 舢,用于长期运行、支持补偿操作的业务流 程提交协议,类似于b t p 内聚事务:采用补偿动作处理部分完成的w 曲服务。 业务逻辑或者定义好的业务流程负责判断特定b a 的成功或失败。 业务活动牵涉众多资源的参与,持续时间较长,而且包含与用户的交互操作。 锁定资源将使参与应用程序的各个w 曲服务的并发性大大降低,因此业务活动采 用依赖于补偿维持事务的一致性。业务活动定义了2 类协调协议。 b u s i n e s sa g r c e m e c tw i t hp a r t i c i p a n tc o m p l e t i o n 协议适用于参与者知道业务活 动何时完成的情况,b u s i n e s sa g r e e m e n tw i t hc o o r d i n a t o rc o m p l e t i o n 协议适用于参 与者需要依赖于协调器通知,才能得知业务活动何时完成的情况。 1 2 2 3w s c a f w s c a f 3 3 】是由a r j u n a t e c h n o l o g i e s 、f u j i t s u 、i o n a 等公司共同制定的事务规 范,并于2 0 0 3 年1 0 月提交给o a s i s 相关技术委员会。w s c a f 是包含下面协议 的规范族: ( 1 ) w s c o n t e x t ( w s c t x ) ,一种通用的上下文管理机制,为w e b 服务提供 一种共享持久会话状态的方案。 ( 2 ) w s c o o r d i n a t i o n f r a m e w o r k ( w s c f ) ,与w s - c 类似,是一个支持多种 协议的可挂接的协调器。 ( 3 ) w s t r a n s a c t i o n m a n a g c m e c t ( w s - t x m ) ,它定义了三个可挂接到w s c f 中的事务协议:经典的两阶段提交协议、基于补偿的协议以及专门用于衔接业务 流程中不同执行环境的协议。 1 2 3 事务模型 1 2 3 1s a g a s 模型 s a g a 是一个可以被分解为一系列子事务的长事务,这些子事务可以和其它事 4 第一章引言 务交织执行,每一个子事务都是符合a c i d 性质的事务。但是s a g a 中的子事务相 互关联,作为一个整体运行,部分执行是不被允许的。为了处理部分执行的情况, s a g a 中的每一个子事务都有一个对应的补偿事务,这个补偿事务可以在语义上撤 消子事务执行的任何操作。在s a g a 被部分执行时,系统按照子事务执行的逆序, 依次运行已提交子事务的补偿事务,撤消部分执行的影响。 s a g a 处理系统没有涉及新的实现技术,在现有事务处理的基础上实现很容易, 无论是集分布式系统,还是在集中式系统上,甚至可以在现有的数据库管理系统 的基础上实现。研究表明,s a g a 系统的性能要优于没有实现s a g a 的系统 4 7 1 。 1 2 3 2a c t a 模型 a c t a 是一个综合性的事务框架,允许对一个事务建模,用于说明扩展事务 ( e x t e n d e dt r a n s a c t i o n ) 彼此之间的影响、以及对数据库中对象的影响【4 8 , 4 9 1 。a c t a 框架使用形式化的方法来描述事务与事务之间,以及事务的操作对数据库对象状 态的影响。 a c t a 框架首先使用对象事件( o b j e c te v e n t ) 来定义事务在数据库对象上调 用的操作,对象事件的集合依据事务模型的不同而不同。其次,a c t a 框架使用重 要事件( s i g n i f i c a n te v e n t ) 来定义事务管理的操作。重要事件还可以分为起始事 件( i n i t i a t i o ne v e n t ) 与中止事件( t e r m i n a t i o ne v e n t ) ,分别对应启动和结束事务 的操作。a c t a 框架还引入了历史( h i s t o r y ) 的概念,历史是与并发执行的一系列 事务相关的事件,以及这些事件的时序。最后,事件的发生需要满足一定的条件, 或者条件的满足会触发事件的发生。 a c t a 框架使用依赖( d e p e n d e n c y ) 来描述事务与事务之间的关系,一系列并 发执行的事务之间所产生的依赖形成依赖集合。依赖可以用事务相关的重要事件 来形式化定义。事务的操作对对象状态的影响可以用冲突( c o n f l i c t ) 以及可见性 ( v i s i b i l i t y ) 来描述。如果2 个操作对对象状态的影响与它们的执行顺序不独立, 则这2 个操作是冲突的,冲突的操作可以使调用它们的事务之间产生依赖关系。 可见性是指2 个事务运行时,其中一个事务是否能看到另一个事务对对象状态的 影响的能力。可见性可以用视图( v i e w ) 和冲突集合( c o n f l i c ts e t ) 来描述,其中 视图是指在指定时刻,事务能够看到的对象的状态。 a c t a 框架通过上述这些定义,可以将事务用一系列的公理来描述,这些公理 来源于对特定事务模型产生的历史的断言或者事件发生的前置条件、后置条件。 电子科技大学硕士学位论文 1 2 3 3b t p 模型 b t p 协议使用一种两阶段结果协调协议( t w o - p h a o u t c o m ec o o r d i n a t i o n p r o t o c 0 1 ) 确保在多个参与方之间达成一个一致的结果。第一阶段系统中的应用元 素交换应用消息使各个应用元素发生临时的变化,每个b t p 元素需要确定其是否 能够取得临时变化,并根据后续指示确认( 使变化持久) 或是取消( 撤消操作) 这种变化,然后向协调实体报告其确认或是取消的能力。在第二阶段,协调实体 收到各个b t p 元素发送的报告后,确定哪些应用元素应该被确认,哪些应该被取 消,然后通知对应的b 1 1 p 元素。 在业务事务中,b t p 在协调实体侧的软件代理( s o f t w a r ea g e n t ) 以及参与方 侧的软件代理间形成了双向关系,这些软件代理扮演着b t p 角色。在这里,角色 是指在一个特定的业务事务中参与特定关系的一方。角色由a c t o r 担当,a c t o r 就 是担当角色的软件代理,同一个a c t o r 可以担当不同的角色。角色主要有两类: s u p e r i o r 和i n f e r i o r ,形成s u p e r i o r i n f e r i o r 关系,由s u p e r i o r 协调i n f e r i o r 。比如协 调实体一侧的软件代理就是s u p e r i o r ;参与方一侧的软件代理就是i n f e r i o r 。s u p e r i o r 和i n f e r i o r 在业务事务中形成树状的关系,理论上树的宽度与深度不受限制,i n f e r i o r 向s u p e r i o r 报告确认或取消的能力,s u p e r i o r 做出决定。如图1 1 所示,s u p e r i o r 和i n f e r i o r 在业务事务中形成树状的关系,一个s u p e r i o r 可以成为另一个s u p e r i o r 的h f c r i o r 。 图卜1s u p e r i o r 和i n f e r i o r 形成的树状关系 s u p e r i o r 可以允许其决定的i n f e r i o r 中部分确认,而其余部分取消,这种行为 被称为内聚行为;如果s u p e r i o r 决定的i n f e r i o r 必须全部确认或取消,则这种行为 称为原子行为。b t p 依靠这种差别提供了对两种事务模型的支持,原子业务事务 以及聚合业务事务。原子业务事务的顶层s u p e r i o r 的行为是原子的,而聚合业务 事务的顶层以及中间的s u p e r i o r 的行为是内聚的。 b t p 协议定义了批角色,其中最重要的角色是s u p e r i o r 和i n f e r i o r ,其余较 为重要的角色以及他们的含义如表1 1 所示。 6 第一章引言 表1 - 2b t p 协议定义的其他角色 角色 描述 向d e c i d e r 请求确认业务事务,或取消整个或部分业务事务,通常是应用元 t e r m i n a t o r 素 不在其它s u p e r i o r - - i n f e r i o r 关系中担任i n f e r i o r 的s u p e r i o r ,是事务树中处 d e c i d e r 于顶端的b t p 节点 c o o r d i n a t o r 原子性的d e c i d e r h 阻p i e f 内聚性的d e c i d e r 请求f a c t o r y 创建一个s u p e r i o r ,可以是一个d e c i d e r ,或是s u b - c o o r d i n a t o r , i n i t i a t o r s u b - c o m p o s e r f a c t o r y创建s u p e r i o r ,并为s u p e r i o r 返回上下文 s u b - c o o r d i n a t o r 同时是原子性的s u p e r i o r 的i n f e r i o r s u b - c o m p o s e r同时是内聚性的s u p e r i o r 的i n f e r i o r 只负责确定准各输出结果的能力,并负责应用这个结果的i n f e r i o r ,并不在 p a r t i c i p a n t 其它s u p e r i o r - - i n f e r i o r 关系中担任s u p e r i o r 的角色 1 2 3 4 事务处理模型分析 目前的大部分针对w e b 服务事务处理模型 3 4 - 3 6 的研究都是以事务的补偿机制 为出发点,但是补偿事务本身也无法摆脱出错的可能性【3 。7 1 。文献 3 8 1 认为补偿一个 已提交的事务表明一个企业可能需要取消其他企业已提交的任务,显然是不合理 的;其次在补偿事务执行之前,其他事务可以看到已提交事务的中间结果,没有 预先定义的方式去查找补偿事务,需要补偿的事务很难被确定;并且补偿事务本 身也很难实现。基于以上的考虑,文献 3 8 1 提出了一个新的基于资源预留的扩展事 务协议,这个协议能够协调这些业务活动,在这个协议中,业务活动中的每个t a s k 都分两阶段来进行:在第一阶段,提出明确的资源预留请求;在第二阶段,确认 或者取消这个资源预留。每一个阶段都作为一个独立的传统事务来执行。 文献 3 8 1 给出了一个避免事务补偿事件发生的思路,但是并没有实现该系统原 型,同时关于资源预留相应的策略和算法也没有给出明确地说明。文献 3 9 1 贝j 通过 调整资源预定上限和资源预定时效这两个参数来对t h p 进行性能优化,并提出了 自适应的分配策略。文献 4 0 1 在t h p 模型的基础上,进一步发展了资源的“准” 占用思想,提出了一种具备“事务意识的新型资源协调算法,首先赋予事务参 与者“感知事务的能力,在资源分配时对超出预订范围的事务请求者不再盲目 7 电子科技大学硕士学位论文 拒绝,而是根据事务的成功概率来对事务进行选优,让资源能够有。准备一地分 配到“恰当 的事务中,从而提升系统事务成功概率与资源利用率,并将补偿的 可能性降到最低。 综上所述,w e b 服务事务的规范并没有形成一个统一的版本。 从研究的角度看,w e b 服务事务已有的规范主要是给出了事务涉及方之间的 交互,其中借鉴了扩展事务【4 2 】的研究成果,放宽了事务的a c i d 特性,但目前还 未从理论上给出w 曲服务事务的模型,也缺乏相应的形式化描述和良构性证明。 同时已有的工作考虑到w e b 服务的自治性,对w e b 服务事务的支持,基本是通过 补偿事务方式来避免整个w e b 服务事务被放弃。但补偿事务的语义等价很难实现, 因为当需要回滚某事务时,由于其各个w e b 服务的处理结果可能已经被其他事务 所使用,所以不仅应对其各个w e b 服务本身进行补偿,还应对所有直接和间接依 赖于该w e b 服务的其他事务进行补偿,而这将是非常困难的,级联回滚也会造成 系统性能的降低。同时,由于很难事先预测所有依赖于各w e b 服务的其他事务 的集合,因而很难事先编写w e b 服务事务的补偿事务程序,从而造成在补偿时不 得不依赖于人工干预【4 3 】才能完成。 另外,由w e b 服务的提供方逐个提供补偿事务,这本身也不是件容易的事, 可操作性差。要使得w e b 服务事务走向实用必须要在模型级界定清楚补偿的作用, 避免补偿事务本身带来的缺陷。 1 3 研究内容 本人在课题中的任务就是研究w e b 服务事务处理关键技术,研究目前在w e b 环境下w e b 服务事务处理中存在的一些问题,如资源锁定、自治服务协调和补偿 机制等,实现一个w e b 服务事务处理的原型系统,来解决上述问题。本学位论文 从以下几个方向进行研究: ( 1 ) 在s o a 系统架构下,结合现有的长事务处理机制和w e b 事务处理的一 系列协议标准,研究在异构的、松耦合的w e b 服务环境下,w e b 服务事务的协调 机制; ( 2 ) 针对传统事务中回滚操作存在的问题,结合现有的事务处理技术,研究 在w e b 服务事务处理中如何保障事务成功执行以及事务执行失败时如何进行补偿 操作。 ( 3 ) 研究各事务之间资源竞争及资源锁定问题,结合尝试性资源保持协议 第一章引言 t i - i p ( t e n t a t i v e h o l d p r o t o c 0 1 ) ,自动协调多个业务伙伴间的事务,使业务合作伙 伴能够在实际事务发生前进行信息交换,达到事务各参与方之间的协调,从而解 决传统事务处理机制中的资源锁定问题。 1 4 论文结构 第一章是引言部分,主要介绍了事务处理技术的研究背景及国内外的研究现 状和课题来源,明确给出本文的主要研究内容及本人所作的工作,并对论文的组 织结构进行了介绍。 第二章在第一章分析的基础上,详细介绍了t i - i p 事务预处理协议,并将t h p 协议和w s t r a n s a c t i o n 协议结合,详细给出了原子事务和聚合事务与t h p 协议结 合之后的协议状态图和相应的协调算法。 第三章通过分析一个长事务应用的需求,归纳了通用的w e b 服务事务处理原 型应具备的功能,确定了原型系统的架构,并针对这些功能给出了详细的实现过 程。 第四章通过模拟旅行代理,实现了订车、订房间两个参与者,并通过实现一 个客户应用程序,来对该w e b 服务事务模型的基本功能进行了测试。 第五章是w e b 服务事务原型系统应用到区域医疗资源协同系统中,并将该系 统中的影像资源预约服务作为w e b 服务事务原型系统的测试场景,给出了测试过 程和结论,并对结果进行了分析。 第六章是总结与展望部分,这一部分总结了本文中已完成的工作,并展望了 进一步开展研究所要完成的任务。 1 5 课题来源 本课题来源于国家“十一五”科技支撑计划:现代服务业服务交互支撑平台, 课题编号为2 0 0 6 b a h0 2 a 0 4 0 7 。 9 电子科技大学硕士学位论文 第二章基于资源预留的w e b 服务事务协调算法 通过第一章事务处理机制的分析可知,现有的事务处理机制不适用于w 曲服务 环境下的事务,因此有必要研究并提出一个新的w e b 事务处理机制来弥补这些不 足。本章将针对这些不足,结合t h p 协议,分析、设计一个事务协调算法,为w e b 服务环境下的应用提供事务管理的支持。 2 1 尝试性资源保持协议 2 1 1t h p 协议状态转换图 t h p ( t e n t a t i v eh o l dp r o t o c o l ,尝试性资源保持协议) 是一种松耦合、基于消 息的框架,用于在实际事务处理前在业务伙伴之间交换信息。其目标是方便多业 务事务中的自动协调。t h p 的体系允许尝试性的、非阻塞的请求预定业务资源。 一旦资源被某一客户实际占用,该尝试性保留不再有效,并且通知所有预定的其 他客户。这种保留机制允许客户有更大的灵活性来协调对资源的占用。t h p 阶段 的主要好处是:1 ) 资源所有者不再需要额外开销处理取消预定资源的请求。2 ) 客户在预定资源的可用状态发生变化时可以随时获得最新的变动信息,避免依据 旧的状态信息做出决定。 t h p 协议的状态转换图如图2 1 所示,其具体的消息和状态描述如下: ( 1 )消息响应:是初始状态,客户端发出h o l d 请求消息就进入本状态。 ( 2 )处理中:是中间状态,h o l d 请求已被r c 收到并且应答c c 也已收到。 ( 3 )活动:请求已被批准,此时客户还可以提出修改请求的细节。 ( 4 )停止活动:请求者、资源所有者、过期、资源被分配或不再可用都可 以取消请求,进入本状态。 1 0 第二章基于资源预留的长事务协调算法 图2 - 1 。肿协议状态转换图 2 1 2t h p 事务模型 t h p 事务模型【5 1 1 由客户端协调者、资源端协调者、规则引擎等几个部分组成, 其组成结构如图2 2 所示。 i 客户应用程序i 一 一客犍鞫。一。 2 , _ 、 7 陲然卜叫资麓努者h 删( r i 引m 擎) 7 应用资源系统( 如:e r p ) 图2 2t i t p 事务模型 如上图所示,在客户端和资源所有者端都有一个协调器,分别称为客户协调 器( c l i e n tc o o r d i n a t o r ,c c ) 和资源协调器( r e s o u r c ec o o r d i n a t o r ,r c ) ,负责两端 的消息通信。两端还分别有个数据库,存储资源的请求状况( 己请求、已批准等) 和发生的活动日志。资源所有者端还有一个规则集成模块( r u l e si n t e g r a t i o n m o d u l e ) ,负责决定请求的有效性、批准与否及有效期。该模块使资源所有者能灵 电子科技大学硕士学位论文 活决定优先为哪个客户提供服务。资源所有者端还有一个称为资源管理器。规则 模块在资源管理器中插入触发器,触发器将通过r c 向对已批准的请求及时反馈资 源的当前状态。 在上图所示的n p 事务模型中,当一个客户应用程序请求一个资源时,过程 如下: ( 1 ) 客户应用程序向c c 发送一个h o l d 消息,请求其所需的资源。 ( 2 ) c c 连接到r c
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版让与担保制度风险管理体系合同
- 2025版环保设备监造与节能改造合同
- 2025版特色小镇商铺委托出租运营合作协议
- 2025年度综合性商场展览场地租赁及广告投放合同
- 2025年度学校桶装水项目合作协议范本
- 2025年度房屋买卖分期付款及违约责任协议
- 2025年智能穿戴设备研发与市场推广合作协议
- 2025年度石油产品运输及保险服务合同
- 2025版专业摄像头研发与生产采购合同范本
- 2025版三方公司租赁设备借款合同
- 2022年家用空调安装合同范本
- 二手车鉴定评估的报告书
- 教学课件 金属学与热处理-崔忠圻
- 多智能体系统教材课件汇总完整版ppt全套课件最全教学教程整本书电子教案全书教案课件合集
- 铁道概论全套课件
- 艺术欣赏完整版课件全套ppt教程(最新)
- 北师大版五年级数学上册全册教案含反思
- 阅兵英语课件
- 有限空间作业考试题库600题含答案
- 餐饮服务招标评分标准
- 高等数学第一章综合测试卷含答案
评论
0/150
提交评论