(计算机应用技术专业论文)保证web服务事务一致性的框架研究.pdf_第1页
(计算机应用技术专业论文)保证web服务事务一致性的框架研究.pdf_第2页
(计算机应用技术专业论文)保证web服务事务一致性的框架研究.pdf_第3页
(计算机应用技术专业论文)保证web服务事务一致性的框架研究.pdf_第4页
(计算机应用技术专业论文)保证web服务事务一致性的框架研究.pdf_第5页
已阅读5页,还剩57页未读 继续免费阅读

(计算机应用技术专业论文)保证web服务事务一致性的框架研究.pdf.pdf 免费下载

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

文档简介

南京邮电大学 。 硕士学位论文摘要 学科、专业:工学计算机应用技术 研究方向:计算机网络与分布计算系统 作者:乐超 指导教师:王晓军副研究员 题目:保证w e b 服务事务一致性的框架研究 英文题目:r e s e a r c ho i laf r a m e w o r kf o re n s u r i n gt h ec o n s i s t e n c yo f w e bs e r v i c e st r a n s a c t i o n 主题词:w e b 服务;事务处理;w s b a ;协调器;放松隔离性 k e y w o r d s :w e bs e r v i c e s ;t r a n s a c t i o np r o c e s s i n g ;w s b a ;c o o r d i n a t o r ; i s o l a t i o nr e l a x a t i o n 南京邮电大学硕士研究生学位论文摘要 摘要 w e b 服务是实现面向服务的架构( s e r v i c e o r i e n t e da r c h i t e c t u r e ,s o a ) 的方法之一。 s o a 的最大优点是可以通过组合已有的服务来快速开发部署新的业务,这些服务可以属于 同一组织,也可分属不同的组织。组合不同组织的服务而建立的跨组织的协作会使得组合 服务发起的事务通常处理的时间较长,并且通常需要操纵一些关键数据。传统的事务处理 机制通常具有严格的a c i d 属性,对一些关键资源长期封锁以保证事务状态的一致性,却 导致事务处理效率的降低。在w e b 服务环境下,为提高事务的处理效率,事务的 a c i d ( 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 e b 服务事务处理规 范并没有提供相应的解决方法,而是将这一问题交给开发者去解决,这增加了开发者的负 担。 本文深入分析了w e b 服务事务处理的研究现状,并在此基础上提出了一个可保证放松 隔离性的事务正确执行的机制,提出了保证事务一致性所需的协议。本文定义了事务之间 的依赖关系,提出了w e b 服务事务依赖管理协议w s d m ( w e bs e r v i c e st r a n s a c t i o n d e p e n d e n c em a n a g e m e n tp r o t o c 0 1 ) ,并实现了依赖检测和环路检测及解除算法。该算法能 够检测并解除w e b 服务事务间的依赖以保证w e b 服务事务的一致性。本文还提出了发起 者和协调器之间的协议w s i c ( w e bs e r v i c e st r a n s a c t i o ni n i t i a t o ra n dc o o r d i n a t o rp r o t o c 0 1 ) 。 该协议定义了w e b 服务事务发起者与协调器之间用于解决w e b 服务冲突的交互接口,组 合事务的发起者可以使用该协议通知协调器发起者对冲突的w e b 服务事务的处理决定:是 重新执行还是取消;同样协调器也可以使用该协议通知发起者关于w e b 服务冲突的处理状 态。最后,本文设计并实现了一个原型系统,对上述两个协议的可行性进行了验证。 关键词w e b 服务;事务处理;w s b a ;协调器;放松隔离性 南京邮电大学硕士研究生学位论文 a b s t r a c t a b s t r a c t t h ew s ( w e bs e r v i c e s ) i sae f f i c i e n tw a yt ob u i l ds o a ( s e r v i c e o r i e n t e da r c h i t e c t u r e ) t h eg r e a t e s ts t r e n g t h so fs o ai sd e v e l o p i n ga n dd e p l o yn e wb u s i n e s sr a p i d l yb yc o m p o s i n g e x i s t i n g s e r v i c e sa c r o s so t h e r o r g a n i z a t i o n s 勰w e l l a sw i t h i n o r g a n i z a t i o n s t h e c r o s s - o r g a n i z a t i o n a lw e bs e r v i c et r a n s a c t i o n sg e n e r a l l yr e q u i r el o n g e rp r o c e s s i n gt i m ea n d m a n i p u l a t ef i n a n c i a l l yc r i t i c a ld a t a t oa l 瓣t h ec o n s i s t e n te x e c u t i o n s o ft r a n s a c t i o n s , a c i d ( 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 ) i ss t r i c t l yo b e y e di nt r a d i t i o n a lt r a n s a c t i o n s b u ti tr e d u c e st h ee f f i c i e n c yo ft r a n s a c t i o np r o c e s s i n g t oe f f i c i e n t l ym a n a g et h e s ew e bs e r v i c e s t r a n s a c t i o n s ,i s o l a t i o ni sc o m m o n l yr e l a x e dt om e e tt h er e q u i r e m e n t sc o n c u r r e n c y b u tt h e i s o l a t i o nr e l a x a t i o ni n t r o d u c e sas e r i o u si n c o n s i s t e n c yp r o b l e m a l t h o u g hm o s tt r a n s a c t i o n m o d e l sa n dp r o t o c o l sf o rw st r a n s a c t i o n sh a v eb e e np r o p o s e d ,n os o p h i s t i c a t e dc o n c u r r e n c y c o n t r o lm e c h a n i s me x i s t s t h u s ,o r g a n i z a t i o n sm u s tt a k et h er e s p o n s i b i l i t ya n dm a k eg r e a t e f f o r t st os o l v el o c a lc o n s i s t e n c ya n di n t e r - t r a n s a c t i o nc o n s i s t e n c y t h i sp a p e rm a k e sad e e pi n v e s t i g a t i o na n ds t u d yo fw st r a n s a c t i o n s ,a n dp r o p o s e sa n m e c h a n i s mb a s e do nt h er e s u l to fo u rr e s e a r c ht oe n s u r et h ec o n s i s t e n te x e c u t i o n so f i s o l a t i o n - r e l a x i n gw e bs e r v i c et r a n s a c t i o n s t h ew st r a n s a c t i o nd e p e n d e n c em a n a g e m e n t p r o t o c o l ( w s - d m ) t h a tn e e d e dt oe n s u r et h ec o n s i s t e n c yo f t r a n s a c t i o n si sp r o p o s e di nt h i sp a p e r i nw s d m ,d e p e n d e n c er e l a t i o n s h i p sb e t w e e nt r a n s a c t i o n sw h i c he 嗣t nc a u s ei n c o n s i s t e n c yi s c a r e f u l l yd e f i n e d ,a n daa l g o r i t h mu s e dt od e t e c ta n dr e m o v ed e p e n d e n c eb e t w e e nt r a n s a c t i o n si s a l s oi m p l e m e n t e d t h i sp a p e ra l s op r o p o s e sap r o t o c o lc a l l e dw s - i c ( w e bs e r v i c e st r a n s a c t i o n i n i t i a t o ra n dc o o r d i n a t o rp r o c o t 0 1 ) o nc o o r d i n a t o ra n dp a r t i c i p a n t t h ew s i cp r o t o c o ld e f i n e s t h ei n t e r f a c eb e t w e e nc o o r d i n a t o ra n dp a r t i c i p a n tw h i c hc a nb eu s e dt or e s o l v et h ec o n f l i c t b e t w e e nw st r a n s a c t i o n s t h ei n i t i a t o ro fc o m p o s i t ew st r a n s a c t i o n sc a nt e l li t sc o o r d i n a t o r w h a td e c i s i o ni th a sm a d et od e a lw i t ht h ec o n f l i c t i n gw e bs e r v i c e st r a n s a c t i o n st h r o u g hw s - i c p r o t o c o l ;t h ec o o r d i n a t o ra l s oc a nt e l lt h ei n i t i a t o rt h es t a t u so ft h e s ec o n f l i c t i n gw e bs e r v i c e s a t t h ee n do ft h i sp a p e r , am o d e ls y s t e mi sd e s i g n e da n di m p l e m e n t e dt op r o v et h ec o r r e c t n e s so f t h eo p i n i o n sp r o p o s e di nt h i sp a p e r k e y w o r d s :w e bs e r v i c e s ;t r a n s a c t i o np r o c e s s i n g ;w s b a ;c o o r d i n a t o r ;i s o l a t i o nr e l a x a t i o n i i 南京邮电大学硕士研究生学位论文目录 目录 摘要i a b s t r a ( 了r 。i l 目j 素i i i 第一章概论j l 1 1 研究背景l 1 1 1 w 曲服务。l 1 1 2 事务不一致性2 1 2 论文的主要工作4 1 3 论文的组织与安排4 第二章w e b 服务事务处理5 2 1 事务概述5 2 2w 髓服务事务的特点 2 2 1 资源竞争7 2 2 2 并发性7 2 3w e n 服务事务处理规范8 2 3 1b t p :8 2 3 2t h p 8 2 3 3b p e l 4 w s 9 2 3 4w s - c o o r d i n a t o r 9 2 3 5w s - t r a n s a c f i o n 1l 2 3 6 原子事务协调协议1 l 2 3 7w s b a 。1 l 2 3 8w s _ c a f 1 4 2 4w e b 服务事务并发控制研究1 4 2 5 事务处理系统产品现状1 6 第三章保证w e b 服务事务一致性的框架设计1 8 3 1w e b 服务事务处理系统概述1 8 3 2 事务依赖管理协议w s d m 19 3 2 1 事务依赖2 0 3 2 2 事务的状态2 l 3 2 3 算法设计2 3 3 2 4 算法证明。2 8 3 3 协调器与发起者的协议w s i c 。3 0 3 3 1 组合服务事务发起者。3 0 3 3 2w s i c 协议描述o 3 2 3 3 3w s i c 示例。3 4 3 4 本章小结3 4 第四章原型设计和实现3 6 4 1 系统设计3 6 4 1 1 参与者的结构与设计3 6 4 1 2 协调器的结构与设计3 8 4 2 系统实现3 9 i i l 南京邮电人学硕士研究生学位论文 目录 4 2 1 实现环境一3 9 4 2 2 服务端实现3 9 4 2 3 协调器实现4 l 4 2 4w s i c 协议实现4 3 4 3 环路测试4 4 4 4 分析比较5l 4 5 本章小结5 2 第五章总结和展望5 3 至5 【谢5 4 参考文献5 5 攻读硕士学位期间的研究成果5 7 i v 南京邮电人学硕士研究生学位论文 第一章概论 1 1 研究背景 1 1 1 w r e b 服务 第一章概论 w e b 服务【1 4 】是一种基于万维网的分布式计算技术框架,它是以x m l ( e x t e n s i b l e m a r k u pl a n g u a g e :可扩展标识语言) 为基础的一系列开放的w e b 规范技术,它建立在一 些成熟的技术基础上,供现有的或潜在的客户以一些标准的方式访问。w e b 服务技术为解 决跨组织的过程集成问题提供了一种模式,为各种企业之间的信息系统实现整合提供了一 种现实且方便的解决途径,并将对全球的经济格局和贸易模式产生重大的影响。 w e b 服务可以将运行在分布式服务器上的应用程序集成在一起。例如,如果服务器1 上 有某个处理程序,而服务器2 上的某个应用需要这个特殊功能,那么服务器2 就可以直接调 用服务器1 上的相关功能,而不需要开发人员在服务器r 2 d x 重新创建该功能。这种集成网络 上分布式应用的想法并非新概念,但w e b 服务使得这种集成变得更加方便和安全,并且省 去了由开发人员为每个应用程序编写自定义接口的繁冗环节。 w e b 服务使用基于x m l 的w s d l 【l 】( w e bs e r v i c e sd e s c r i p t i o nl a n g u a g e :w e b 服务描述 语言) 对w e b 服务进行描述。w s d l 的服务描述隐藏了服务实现的细节,允许通过独立于 服务实现、独立于软硬件平台、独立于编程语言的方式使用服务,这一特点使得基于w e b 服务的应用程序具有松散耦合、面向组件和跨技术实现的特点。 s o a p e 2 1 ( s i m p l eo b j e c t a c c e s sp r o t o c 0 1 ) 是对w e b b 艮务共享的消息进行包装的标准协议。 s o a p 规范定义了一些简单的、基于x l v i l 的包装信息和将与平台相关的应用数据类型转化 成x m l 表示的一些规则。s o a p 是一个基于x m l 的请求响应r p c 协议。s o a p 用l 代码 表示请求和响应参数,并用h t r p 传输。目前s o a p 协议也已成为连接不同应用的标准互操 作协议。 w c b 服务技术的目标就是通过使用上述标准获得应用间的、全方位的互操作,即它通 过开放互联网协议( 如s o a p 、w s d l 以及u d d i ) ,建立一个松耦合的集成模型,从而实 现跨组织的异构系统集成。这一切都说明w e b 服务是实现s o a 3 l ( s e r v i c e o r i e n t e d a r c h i t e c t u r e ) 的最佳方法之一。 w e b 服务具有如下特点: 南京邮电大学硕士研究生学位论文 第一苹概论 ( 1 ) 完好的封装性。对外部使用者而言,只能看到允许公共访问的功能描述; ( 2 ) 松散耦合性。w e b 服务的实现对调用者来说是完全透明的,在保持调用接口不变的 情况下,可以对具体实现进行任何改变,包括流程甚至平台的更改; ( 3 ) 使用标准消息传递协议。完全使用开放的标准协议对w e b 服务进行描述、传输和交 换,如h r i p ,x m l ,s o a p ,w s d l ,u d d i 4 】等; ( 4 ) 高度可集成能力。由于采用开放的网络协议,屏蔽了不同软件平台的差异,大大提 高了互操作性。 1 1 2 事务不一致性 当前越来越多的现代企业开始以共享服务的方式共享他们的资源,企业间的合作也变 的越来越方便,跨越企业的服务组合开始变得普遍。在面向服务的架构中,通过组合已有 的服务,一个新的应用可以被十分迅速的开发和部署,因此不同企业之间的服务可以通过 s o a 被组合成流畅的业务流程【5 】。 尽管通过组合不同组织的w e b 服务可以动态建立跨组织的组合服务,但是这种组合服 务所发起的事务通常也是跨越不同组织的,处理时间也较长,并且通常要操纵一些共享的 关键数据。所以w e b 组合服务应被视作一项长事务来执行。又由于w e b 服务所在的i n t e r n e t 网络环境是一个非可靠、异构的和快速变化发展的复杂生态环境,因此在这样一个复杂生 态环境中执行的服务交互可能会导致w e b 组合服务运行时所面临的故障难以预测,从而业 务流程的功能与服务质量均难以得到保障,因此服务组合运行时的事务处理研究十分重 要。 w e b 服务事务处理机制应保证多个w e b 服务运行结果的可靠性和一致性,并能及时解 决运行时发生的各种异常。但是传统的事务处理机制通常采用严格的锁机制来保护关键数 据,对关键数据的长期封锁会影响事务的并发处理,降低了事务处理效率,因此传统事务 模型的a c i d 6 1 ( 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 e b 服务的事务处理模型中。 a c i d 是指如下特性: 原子性( 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 ) :在事务成功完成之前,各项操作的结果都不能被外界共享。 2 南京邮电大学硕士研究生学位论文 第一章概论 持久性( d u r a b i1i t y ) :事务一旦成功完成,各项修改都应是永久的。 在w e b 服务计算环境下,为了提供较强的可靠性、较高的吞吐率和事务处理效率,避 免对w e b 服务的共享资源( 如关键数据) 的长期封锁而导致事务处理效率的降低,人们提 出了各种框架和协议,如w s b u s i n e s s a c t i v i t y 、语义数量锁 7 1 、试探性提交协议【引、t h p ( t e n t a t i v eh o l dp r o t o c 0 1 ) 等。这些方法均基于扩展的事务模型或工作流的高级事务模型,放 松了事务的a c i d 特性。 w s r e s o u r c e p r o p e r t y i 刿标准也提出需要放松严格的a c i d 特性,并且要求允许当前未 完成事务的中间结果对其他事务和其他w e b 服务的事务可见。这种放松a c i d 特性的隔离 策略允许w s r e s o u r c e 1 0 】单方面提交数据,而与它们的兄弟事务是否提交无关。但放松原 子性或放松隔离性的策略将会导致w e b 服务事务的不一致问题。比如在图1 1 中,如果业 务逻辑a 的活动a l 在结束前修改了数据d ,并使得其对其他事务可见,则可以使得另外 一个业务逻辑b 的活动b i 能够访问该数据。由于业务逻辑a 和业务逻辑b 彼此独立执行, 所以b l 可能会在a l 结束前自行提交。但随后如果活动a l 取消对数据d 的修改,则由于 活动b l 已结束,因此已无法补偿访问了脏数据的活动b l ,从而出现了数据不一致问题。 随着w e b 服务技术的广泛应用,这种问题的出现可能会越来越频繁。但目前的w e b 服务 事务模型和规范没有对此提出解决方案。这要求组合服务的提供者自己解决这类问题。但 由于w e b 服务事务通常是动态创建的,如果实现者不遵循相关的协调协议,而是由w c b 服务的实现者采用各自的特定方法来保证一致性,那么这些实现方法的差异性将影响到 w e b 服务的集成,从而无法实现跨组织的可靠的w e b 服务组合。 厂、 一曼 厂秽j 、 , 、b 2 读两了a l 更 、 , 新自】数据 私 h _ 一一 d a t ad 图1 1 放松隔离性的副作用 3 南京邮电大学硕上研究生学位论文 第一章概论 1 2 论文的主要工作 本文在已有研究成果的基础上,分析了w e b 服务事务的特点,研究了可保证事务性组 合服务正确执行的调度和协调模型,给出了一种基于w s c o o r d i n a t i o n 1 1 1 的可保证w e b 服 务事务一致性的框架。本文的主要工作如下: 1 分析了w e b 服务事务之间的依赖关系。这些依赖关系会导致w e b 服务事务之间的不 一致。 2 对w s b u s i n e s s a e t i v i t y 1 2 1 规范中的b a w c c 协议进行了扩展,提出了协调器与参与 者之间的事务依赖管理协议w s - d m ( w e bs e r v i c e st r a n s a c t i o n sd e p e n d e n c em a n a g e m e n t p r o t o c 0 1 ) ,给出了w e b 服务事务依赖管理算法,该算法能够检测并解除w e b 服务事务问 的依赖。 3 对文献【1 2 】描述的w s b u s i n e s s a c t i v i t y - i n i t i a t o r 协议进行了改进,提出了发起者和 协调器之间的w s i c ( w c bs e r v i c c st r a n s a c t i o n si n i t i a t o ra n dc o o r d i n a t o rp r o t o c 0 1 ) 协议。该协 议定义了w e b 服务事务发起者与协调器之间用于解决w e b 服务冲突的交互接口,组合服 务事务的发起者可以使用该协议通知协调器发起者对冲突的w e b 服务事务的处理决定:是 重新执行还是取消;同样协调器也可以使用该协议通知发起者关于w e b 服务冲突的处理状 态。 1 3 论文的组织与安排 本文组织如下: 第一章( 即本章) 介绍本课题的研究背景以及本课题的研究内容。 第二章叙述w e b 服务技术和事务处理模型的发展过程,分析w e b 事务处理的特点并介 绍事务处理的相关规范。 第三章提出了w e b 服务事务模型、w e b 服务事务依赖管理协议w s - d m 以及发起者和 协调器之间的协议w s i c 。 第四章介绍了协调器、事务的发起者和参与者的实现架构和设计,描述了w e b 服务事 务处理系统的实现细节,并分析了实验结果。 第五章对全文进行总结,并对进一步的工作方向进行了展望。 4 南京邮电大学硕士研究生学位论文第二章w 曲服务事务处理 2 1 事务概述 第二章w e b服务事务处理 事务【5 】( t r a n s a c t i o n ) 已成为设计与编制高可靠性软件系统的最重要的概念。事务 的概念来源于数据库领域,它是恢复和并发控制的基本单位,具有事务特性,即a c i d 特 性。早期的事务具有严格的a c i d 性质,一般用于集中式数据库系统中。因为这些事务一 般在一个本地网络中进行,处理时间比较短,所以用加锁的方式实现可串行化 ( s e r i a l i z a b i l i t y ) 是可接受的,并且广泛用于传统的数据库管理系统中。 鉴于事务处理在计算机系统中的巨大价值,很早就开始了这方面的研究并且提出了各 种事务处理模型。最早的是平面事务( f l a tt r a n s a c t i o n ) ,在平面事务中加入若干保存点 可以提高事务处理的效率。链式事务是在平面事务的基础上,开始一个新的事务,但是会 保持上一个事务的锁和打开的游标。嵌套事务( n e s t e dt r a n s a c t i o n ) 定义了一棵事务处理 树,根事务具有a c i d 特性,子事务具有a c i 性质,只有根事务提交后,子事务的结果对 外界才可见。分布式事务( d i s t r i b u t e dt r a n s a c t i o n ) 是将事务分布在若干个网络节点上。 多层事务是嵌套事务的扩展,只要是同层事务,子事务的提交结果可以看到,并且允许补 偿操作回退子事务的修改。长事务( s a g a s ) 是长时间运行的事务,由于传统的事务模型通 过严格的a c i d 特性来保证应用程序的完整性,但是对于s a g a s 长事务,过于严格的a c i d 特性会降低事务处理的效率,因此此时加锁实现原子性不可行,于是放松了对事务a c i d 的要求,采用补偿操作回滚提交的事务。分离事务将一个事务分割成两个可串行的事务, 最后的结果由合并操作将被分割的事务提交。灵活事务被用在多数据库中,子事务可以提 前提交,用补偿事务来回退,并且引入了超时的概念,超时发生后事务回退。混合事务用 于异构环境中,是上述多种事务模型的混合。 2 2w e b 服务事务的特点 近年来,随着网络技术的快速发展,因特网得到普及,w e b 服务在业界得到广泛应用。 作为一种分布式计算技术,w e b 服务事务处理机制和分布式事务处理系统中的事务处理有 某些相似之处,但是w e b 服务自身的特点决定了它们在事务处理需求方面的差异,w e b 服 务事务处理更应考虑到网络的分布性、动态性和不确定性。这些具体特点表现在如下几个 方面: 5 塑室坚皇奎兰堡主堡壅生堂垡笙塞蔓三皇竺壁堑皇堑竺墨 1 多元化。w e b 服务应用一般建立在多厂商、多平台、多种i t 技术互连互通的基础之上。 服务的创建不再只受某个组织控制,甚至最终用户也可以通过组合现有的服务来创建 一个新的服务。因此一些w e b 服务涉及到跨企业或跨应用的功能。这就表明w e b 服务 实现不会受到服务请求者控制,而是由每个服务提供者自己决定采用何种事务处理方 式。 2 松耦合性。w e b 服务是松耦合的,w e b 服务的实现对调用者来说是透明的,服务提供者 可以单独发布或取消自己的服务。尽管这样可以使得服务能够被快速地换入换出,但 这种灵活性也付出了相应的代价,即提高了组织并控制w e b 服务事务的开销。 3 长时间事务。w e b 服务通常是在i n t e r n e t 上进行业务处理,尤其是当涉及到人为活动 时,可使得事务处理的时间更长,而在开放环境中服务提供者一般不允许长期封锁资 源,因为这样容易使得w e b 服务资源受到恶意攻击,如攻击者也许会利用封锁机制而 使得该资源不可用。 4 无状态w e b 服务。w e b 服务规范工作于h t t p 之上,而h t t p 是松耦合的传输协议,它 仅支持在同一会话进行单次请求响应消息交换,不提供用于保存临时的、持久的状态 机制。这种无状态的服务将无法觉察到事务的状态,因此如果事务失败,则不能请求 它们“回滚”以消除对系统产生的影响。 5 分布特性。采用组合服务技术实现的业务处理流程通常会涉及多个独立的w e b 服务提 供商,每个w e b 服务提供商只是执行处理流程的一部分任务,即只执行整个事务的一 小部分。这也加大了标识w e b 服务事务边界的难度。 6 w e b 服务冲突( i n t e r a c t i o n ) 加剧。早在2 0 世纪8 0 年代,贝尔实验室就首次提出了 业务冲突问题。根据i t u - t 对业务冲突的描述,业务冲突是指一个业务逻辑实例对另 一业务逻辑实例或对同一业务逻辑的不同业务逻辑实例产生的不利影响。但业务冲突 这类问题并不只限于电信网,任何独立开发的系统组件之间都可能会出现相互干扰。 同样w e b 服务也会以意想不到的、不希望有的方式相互干扰,从而产生出不希望有的 结果。但由于w e b 服务的多元化等特性,w e b 服务冲突在某些方面不同于传统电信系 统,即在w e b 服务环境中,不可能存在一个用于检查和管理服务冲突的“中心机构”, 并且服务请求者和服务提供者也可能会各自选择适于自己的方式处理服务冲突。这些 问题都将加剧服务冲突。有研究人员将造成w e b 服务冲突的原因分为7 类【1 4 】:目标冲 突( g o a lc o n f l i c t ) 、部署和所有权( d e p l o y m e n ta n do w n e r s h i p ) 、假设违规( v i o l a t i o n o f a s s u m p t i o n s ) 、不充分接口( i n a d e q u a t ei n t e r f a c e ) 、策略冲突( p o l i c yc o n f l i c t ) 、 资源竞争( r e s o u r c ec o n t e n t i o n ) 、并发性( c o n c u r r e n c y ) 。在这7 类冲突中,资源 6 南京邮电大学硕士研究生学位论文第二章w e b 服务事务处理 竞争和并发性与事务处理的关系最为密切。 2 2 1 资源竞争 当不同的w e b 服务实例访问共享的且容量有限的资源时,这些w e b 服务实例彼此之间 会出现竞争。这些资源可以有多种类型,比如:数据库访问、虚拟书店中的各类图书等。 当不同请求者触发的服务实例在w e b 服务层次上同时修改服务数据时,某个w e b 服务实例 对这些资源的不正确操作可能会影响到其他w e b 服务实例。 为了便于w e b 服务访问这些资源,o a s i s 提出了w e b 服务资源框架【1 5 】( w s r f ) 和一系 列标准,其中的w s r e s o u r c e p r o p e r t i e s 标准建议:w s - r e s o u r c e 可以采用事务处理协议 来保证w s r e s o u r c e 的事务特性,特别是如果需要提供w s - r e s o u r c e 修改的隔离特性,则 可以通过事务的上下文( c o n t e x t ) 来保证w s - r e s o u r c e 的隔离性。尽管当前 w s r e s o u r c e p r o p e r t i e s 标准并没有将隔离级别策略正式引入到w s r e s o u r c e 定义中,但 w s r e s o u r c e p r o p e r t i e s 认为未来也许会将隔离级别策略作为w s - r e s o u r c e 定义的一部分。 这同时也提出了如下需求:声明隔离级别策略并将该策略和w e b 服务消息交换的定义进行 关联。 但当前的w e b 服务结构还不能满足该需求,而且将来自于数据库的a c i d 属性概念映 射到w e b 服务的上下文也并不容易。 2 2 2 并发性 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 服务事务处理规范来 解决w e b 服务环境下的事务处理问题。 7 南京邮电人学硕士研究生学位论文第二章w e b 服务事务处理 2 3w e b 服务事务处理规范 w e b 服务环境下的应用的松耦合的特点,使它对协调过程的灵活性提出更高的要求, 即需要更松散的事务,这样的事务并不严格遵循a c i d 属性。以下将介绍已经被提出的w e b 服务事务规范。 2 3 1b t p 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 ) 【1 6 】是基于x m l 的一种标准协议, 它定义了事务参与者的角色和参与者间交互的消息。该规范中定义了两种事务模型:原子 模型( a t o m ) 和内聚模型( c o h e s i o n ) 。原子模型使用2 p c 协议保证每个逻辑工作单元结 果的一致性。在原子事务上下文中,工作单元中所有工作要么全部完成,要么全部处于同 一状态,整个输出结果具有原子性。内聚模型放宽了原子性,由中心协调者检查各事务的 状态,使得各参与者的选择比较灵活,不同的参与者可以各自选择是否提交回滚,即部分 参与者选择提交的同时,其他的参与者可以选择取消。 b t p 是第一个提供w e b 服务事务管理的规范,它制定了用于b 2 b 事务的x m l 标准, 并在松耦合的软件服务之间编排业务流程来获得参与事务各方的一致性。但是b t p 并没有 利用w e b 服务架构,不是专门的w e b 服务事务协议,并且它不支持范围或者事务的嵌套, 缺乏一些灵活的恢复机制。 2 3 2 n m i n t e l 公司提出的t h p 1 7 】( t e n t a t i v eh o l dp r o t o c 0 1 ) 协议是一个开放的、松耦合的、基 于消息的协议。t h p 协议本身并不是一种事务处理协议,而是用于事务处理开始前的业务 双方试探性信息的交换,提供了一种基于消息的尝试性质的保持或预留资源的方式,并且 是非阻塞式,这样提高了资源的利用效率。其目标是简化多业务事务的自动协调过程,避 免出现类似于2 p c 协议中发生的资源封锁现象,并能优化事务吞吐量和资源消耗,但是t h p 不能单独用于事务处理。为优化事务处理过程,t h p 协议必须要和其他事务提交协议一起 使用,比如在2 p c 协议中使用t h p 可以避免资源封锁。 当一个客户应用程序请求一个资源时,过程如下: ( 1 ) 客户应用程序向自己的客户端协调器( c 1 l e n tc o o r d i n a t o r ) 发送一个对所需资源 的试探性的h o l d 请求消息。 8 塑室堂皇盔堂堡主堕窒竺兰垡堡茎兰三童塑竺里箜皇箜竺里 ( 2 ) 客户端协调器连接到资源协调器( r e s o u r c ec o o r d i n a t o r ) 并转发客户应用程序的 请求。 ( 3 ) 资源协调器接收到并处理这个请求后,向资源的业务规则管理器( r u l e s i n t e g r a t i o nm o d u l e ) 转发这个请求。 ( 4 ) 业务规则管理器根据自己的业务规则检查请求的合法性,判断资源是否可以满足 这个请求,并决定这个请求的有效时间。最后返回相应的消息给资源协调器。 ( 5 ) 资源协调器把这个相应消息发送给客户端协调器。 ( 6 ) 客户端协调器将结果通知客户应用程序。 2 3 3b p e l 4 w s b p e l 4 w s 1 8 】( b u s i n e s sp

温馨提示

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

最新文档

评论

0/150

提交评论