基于万维网服务的事务处理模型研究.pdf_第1页
基于万维网服务的事务处理模型研究.pdf_第2页
基于万维网服务的事务处理模型研究.pdf_第3页
基于万维网服务的事务处理模型研究.pdf_第4页
基于万维网服务的事务处理模型研究.pdf_第5页
已阅读5页,还剩70页未读 继续免费阅读

基于万维网服务的事务处理模型研究.pdf.pdf 免费下载

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

文档简介

南京邮电大学 硕士学位论文摘要 学科 专业 工学计算机应用技术 研究方向 计算机网络与分布计算系统 y 1 4 1 1 90 9 作 者 Q 9 生爨研究生 万小霞 指导教师三 莲墨 题目 基于万维网服务的事务处理模型研究 奠文题目 R e s e a r c hf i nT r a n s a c t i o nM o d e lb a s e dO NW e bS e r v i c e s 主题词 万维网服劳 协调器 K e y w o r d s W e bS e r v i c e s C 0 0 r d i n a t o r 事务处理W S B A 补偿 T r a n s a c t i o nW S B A c o m p e n s a t e 课题来源 国家自然科学基金重大研究计划项目 项目编号 9 0 4 1 2 0 0 2 南京邮电大学硕士研究生学位论文基于万维网服务的事务处理模型研究 摘要 随着电子商务和计算机网络技术的快速发展 越来越多的业务需要在已有业务的基础 上增值新业务 企业间相互合作 资源共享等现象己越来越普遍 传统的中间件技术为企 业之间的交互合作提供了一种解决方案 但是这些技术是紧耦合技术 对参与应用的企业 系统有严格的要求 基于X M L 等标准技术的万维网服务一种自包含 自描述的技术 支持 在松散耦合环境下 在异构平台之上的应用之间进行互通互操作 万维网服务组合为服务 之间交互操作提供一种更好的解决方案 采用基于H T T P S M T P 协议之上的S O A P 协议传输 消息 使得处在不同结点上的不同服务之间可以跨越网络和防火墙进行消息传递 但是网 络结点中的硬件设施故障或是数据传输过程中出现数据包丢失等现象 使得服务组合缺少 可靠性的保障 而万维网服务组合缺少有效的事务支持 事务定义了一个操作序列 最初是出现在数据库系统中 具有A C I D 的特性 而处于 万维网服务环境下的事务有原子事务 也有长时间事务 如果完全采用了A C I D 特性 必 然会出现资源被长时间占有的现象 而在开放互联环境下 资源被长期独占在很大程度上 降低了资源的利用率 因此传统数据库中事务的A C I D 特性并不能完全适用于万维网服务 环境下的事务 关于万维网服务的事务处理 w S C o o r d i n a t i o n w S A T W S B A 和W S C A F 等规范都提出了自己的框架 但目前并没有统一的万维网服务事务标准 万维网服务事务和传统事务的不同之处在于业务活动 本论文分析比较了当前的研究 和规范 并在此基础上提出一个事务处理模型 模型中采用了W S C o o r d i n a t i o n 建立参与 方注册机制 根据注册信息确定事务处理的协调类型和协调协议 并利用w S B A 实现事务 处理控制协议 文中研究W S B A 的实现机制 协调各个参与者服务之间的协调操作 并对 可能出现的资源访问冲突进行分析并提出一种解决方案 关键词 万维网服务 事务处理 W S B A 补偿 协调器 南京邮电大学硕士研究生学位论文 基于万维网服务的事务处理模型研究 A b s t r a c t N e wv a l u e a d d e ds e r v i c ei sb e c o m i n go fn e c e s s i t yt os o m ee x i s t i n gs e r v i c ew i t ht h ed e v e l o p m e n to fE l e c t r o n i cC o m m e r c ea n dc o m p u t e rn e t w o r k T h ep h e n o m e n a i sp o p u l a rt h a te n t e r p r i s e sc o o p e r a t ew i t he a c ha n o t h e ra n ds h a r er e s o u r c e sa m o n gt h e m T h et r a d i t i o n a lm i d d l e w a r et e c h n o l o g i e sc a np r o v i d et h ee n t e r p r i s e sw i t hak i n do fs o l u t i o nt oc o o p e r a t ew i t he a c h o t h e r b u tt h et e c h n o l o g i e sr e q u i r et h a tt h ee n t e r p r i s e sw h ow a n tt op a r t i c i p a n ti nt h ec o o p e r a t i o n s h o u l da b i d eb yt h es a m er u l eb e c a u s et h e ya r ec l o s e c o u p l e dt e c h n o l o g i e s W e bs e r v i c e si s b a s e do nX M La n do t h e rs t a n d a r d h a v i n gt h ef e a t u r eo fs e l f c o n t a i n i n ga n ds e l f d e s c r i p t i o n I t C a ns u p p o r tc o m m u n i c a t i o na n dc o o p e r a t i o nb e t w e e na p p l i c a t i o n st h a ta r ed e p l o y e do na s y n c h r o n o u sp l a t f o r m so ri nl o o s e c o u p l e de n v i r o n m e n t s W e bS e r v i c e sc o m p o s i t i o np r o v i d e sa b e t t e rs o l u t i o nf o re n t e r p r i s e st oc o o p e r a t ew i t he a c ho t h e r S O A Pw h i c hi sb a s e do nH T T Pa n d S M T PC a nm a k em e s s a g et r a n s f e r r e da m o n gd i f f e r e n ts e r v i c eo nd i f f e r e n ts i t e st r a v e r s en e t w o r k a n df i r ew a l l T h ep r o v i d e r st h a tp r o v i d et h es e r v i c ea r ed i s t r i b u t e do nd i f f e r e n ts i t e s a n dt h e r e w i l lb eo c c u r r e dt h a td r o p o u ti nd a t ap a c k a g ef o rt h eb r e a k d o w no fh a r d w a r ei n f r a s t r u c t u r ei n n e t w o r ko rt h ec o n g e s t i o ni nt r a n s f e r r i n g a l lo fw h i c hw i l lr e s u l ti nl a c ko fr e l i a b i l i t yi ns e r v i c e c o m p o s i t i o n W h e r e a s c u r r e n tt e c h n o l o g i e sa r ef o u n dl a c k i n ge f f i c i e n tt r a n s a c t i o n a ls u p p o r tf o r c o m p o s i t eW e bS e r v i c e s T r a n s a c t i o nt h a ti sp r i m a r i l yp r e s e n ti nd a t a b a s es y s t e md e f i n e sa no p e r a t i o ns e q u e n c e h a v i n gt h ec h a r a c t e r i s t i co f A C I D T r a n s a c t i o ni nW e bS e r v i c e se n v i r o n m e n tC a nb ea t o m i c t r a n s a c t i o no rl o n gr u nt r a n s a c t i o n I f A C I Di sa d o p t e dt h o r o u g h l y i ti si n e v i t a b l yt h a ts o m e r e s o u r c ew i l lb eo c c u p i e df o ral o n gt i m e I nt h ec i r c u m s t a n c eo fo p e ni n t e r c o n n e c t i o n l o n g t i m e So c c u p y i n gt h er e s o u r c ew i l lr e d u c et h eu s a g er a t et oal a r g ee x t e n t S ot h eA C I Di nt r a d i t i o n a ld a t a b a s ei sn o tw h o l l yf i tt oW e bS e r v i c e st r a n s a c t i o n T h e r ea r es p e c i f i c a t i o n ss u c ha s W S C o o r d i n a t i o n W S A T W S B Aa n dW S C A Fp r o v i d e c o r r e s p o n d i n gs o l u t i o nt oW S t r a n s a c t i o n b u tt h e r ea r en os t a n d a r df o ri t T h ed i f f e r e n c eb e t w e e nW e bS e r v i c e st r a n s a c t i o na n dt r a d i t i o n a lt r a n s a c t i o ni Sb u s i n e s s a c t i v i t y B a s e do na n a l y s i sa n dc o m p a r i s o no fc u r r e n tr e s e a r c ha n ds p e c i f i c a t i o n at r a n s a c t i o n m o d e li sp r e s e n ti nt h i sp a p e r T h er e g i s t e rm e c h a n i s mo np a r t i c i p a n ts i d ei sb u i l di nt h em o d e l a c c o r d i n gt oW S C o o r d i n a t i o n T h ec o o r d i a n t i o nt y p ea n dc o o r d i n a t i o np r o t o c o la r ec o n f i r m e d a c c o r d i n gt ot h er e g i s t r a t i o ni n f o r m a t i o na n dt h et r a n s a c t i o nc o n t r o lp r o t o c o li si m p l e m e n t e d I I 南京邮电大学硕士研究生学位论文基于万维网服务的事务处理模型研究 l e v e r a g i n gW S B A I nt h ep a p e rw ei n v e s t i g a t et h ei m p l e m e n t a t i o nm e c h a n i s mo fW S B A t o g e t h e rw i t hc o o r d i n a t i n gt h eo p e r m i o n sa m o n gp a r t i c i p a n t s As o l u t i o ni sp r o v i d e da c c o r d i n g t oa n a l y s i n go f p r o b a b l ec o n t e n t i o ni nr e s o u r c ea c c e s s i n g 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 n W S B A c o m p e n s a t e c o o r d i n a t o r I I l 南京邮电大学学位论文独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究 工作及取得的研究成果 尽我所知 除了文中特别加以标注和致谢的 地方外 论文中不包含其他人已经发表或撰写过的研究成果 也不包 含为获得南京邮电大学或其它教育机构的学位或证书而使用过的材 料 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了 明确的说明并表示了谢意 研究生签名 乏遵日期 d 删 研究生签名 局尘 硷日期 童坚2 生 2 南京邮电大学学位论文使用授权声明 南京邮电大学 中国科学技术信息研究所 国家图书馆有权保留 本人所送交学位论文的复印件和电子文档 可以采用影印 缩印或其 他复制手段保存论文 本人电子文档的内容和纸质论文的内容相一 致 除在保密期内的保密论文外 允许论文被查阅和借阅 可以公布 包括刊登 论文的全部或部分内容 论文的公布 包括刊登 授权 南京邮电大学研究生部办理 研究生签名 丕缸导师签名 j 型址剐明 哗 南京邮电大学硕士研究生学位论文第一章引言 1 引言 1 1 研究背景 随着计算机网络技术的快速发展和电子商务的兴起 越来越多的企业或组织需要进行 在线业务的交流或是服务的共享 企业之间的合作跨出了地域限制 这些都需要相应的技 术支持 C O R B A C o m m o nO b j e c tR e q u e s tB r o k e rA r c h i t e c t u r e 公共对象请求代理体系结 构 C O M C o m p o n e n tO b j e c tM o d e l 组件对象模型 D C O M D i s t r i b u t e dC o m p o n e n tO b j e c t M o d e l 分布式组件对象模型 等传统中间件技术为分布式系统集成提供了 定的技术支 持 但是这些技术是紧耦合技术 对交互双方采用的系统平台 交互操作采用的传输协议 以及数据交换采用的数据格式都有一定的要求 随着电子商务的全球化发展 企业之间的 相互合作越来越普遍 但是不同企业所应用的开发语言 部署平台 通信协议和数据交换 采用的格式不尽相同 因此这种异构系统之间的互通互操作是企业集成面临的主要问题 万维网服务 W e bS e r v i c e s 可简称为w s 是以X M L e X t e n s i b l eM a r k u pL a n g u a g e 可扩 展标识语言 为基础的一系列开放的W e b 规范技术 它的出现为异构系统之间的互通互操 作提供了一种很好的解决方案 万维网服务使用基于X M L 的W S D L W e bS e r v i c e s D e s c r i p t i o nL a n g u a g e 万维网服务描述语言 对万维网服务进行描述 W S D L 的服务描述 隐藏了服务实现的细节 允许通过独立于服务实现 独立于软硬件平台 独立于编程语言 的方式使用服务 这一特点使得基于W S 的应用程序具有松散耦合 面向组件和跨技术实 现的特点 万维网服务的这些特点使得万维网服务组合可以解决企业集成和电子商务中的应用 问题 服务组合是为了满足用户需求 动态发现 集成和执行已有服务从而创建定制新服 务的过程 l 由于在万维网服务环境下 组合服务和它的参与者之间的交互是通过I n t e m e t 传递消息 如何保障异构系统之间交互操作的可靠完成 如何保障网络上不同服务结点之 间事务的完整性是万维网服务技术中需要解决的问题 而当前服务组合技术中缺少有效的 事务支持 因此业内人士也在不断地研究事务处理在万维网服务技术中的解决方案 事务概念从数据库发展而来 但它并不仅仅用于数据库 2 事务定义一个完整的操作 过程 在传统数据库中事务具有A C I D 特性 3 1 其中原子性 A t o m i c i t y 要求事务操作过 程中的所有操作单元要么全部执行 要么都不执行 具有a 1 1 o r n o t h i n g 的特点 一致性 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 则意味着一旦事务成功完成 事务对数据库所施加的更新 都是永久的 A C I D 特性保证了传统数据库管理系统中数据的可靠性和一致性 这种特性 很好地在扁平事务中得以体现 2 但是扁平事务具有结构简单 运行时间短等特点 只能 应用于简单的事务处理 为了解决分布式计算环境中的长事务问题 研究人员在数据库事 务模型的基础上提出了高级事务模型A T M A d v a n c e dT r a n s a c t i o nM o d e l 如s a g a s 多 层事务模型等 A T M 放松了传统事务的原子性和隔离性 在万维网服务环境下 服务具 有松耦合 自治性等特点 如果采用传统事务处理的2 P L T w o P h a s eL o c k i n g 结合 2 P C T w o P h a s eC o m m i D 协议1 4 1 将访问数据加锁来保证A C I D 特性 这样可能导致松耦合 环境下其他事务不能访问此数据 不仅妨碍了并发性 而且降低了执行效率 5 1 也就是说 传统的事务处理模型和A T M 并不能完全适用于万维网服务环境下的事务处理 因此在万 维网服务环境下的组合服务需要一定的万维网服务事务处理机制来保证事务的完整和一 致性 本文在研究分析当前万维网服务事务处理规范的基础上提出了一个万维网服务事务 处理模型 1 2 论文的主要工作 本论文研究了万维网服务体系结构和事务处理模型的发展变迁 对万维网服务环境下 的事务处理研究状况和万维网服务事务处理规范作了详细的分析 并在研究分析已有研究 成果的基础上 提出了一个万维网服务环境下的事务处理模型 并利用现有的工具对模型 进行了验证 主要的工作有 1 介绍了万维网服务技术 分析了W S 事务处理面临的问题 研究了W S 事务处理的 相关规范 包括保证W e b 组合服务一致性和可靠性的相关标准和规范 提出了一种 基于试探性操作和补偿概念的事务处理模型 该模型允许事务试探性提交W S 共享的 数据 从而避免了对资源的封锁 2 针对W S C o o r d i n a t i o n W S B A 规范提出了事务处理模型的系统架构 而对于现有规 范不足或未涉及的内容 则依据我们对W S 事务处理的分析提出了解决方案 本文的 研究主要在于设计出可供万维网服务事务处理系统开发者参考的架构 并为W S 开发 者提供一套可供参考的设计方式 3 提出了一种事务日志方案 以保证事务处理过程中的故障恢复 2 南京邮电大学硕士研究生学位论文 第一章引言 1 3 论文的主体结构 第二章叙述万维网服务技术和事务处理模型的发展过程 分析万维网服务事务处理的 特点并介绍事务处理的相关规范 第三章提出了万维网服务事务模型 设计了协调器和参与者的实现架构 第四章描述了万维网服务事务处理系统的实现细节 并分析了实验结果 第五章对全文进行总结 并在此基础之上对以后改进工作的展望 南京邮电大学硕士研究生学位论文第二章万维网服务事务处理技术 2 万维网服务事务处理技术 2 1 万维网服务技术 2 1 1 万维网服务体系架构 W e bS e r v i c e s 作为一个新的技术概念被提出来 但它并不是全新的技术 而是在已 有技术的基础上发展起来的 是现有应用面向I n t e r n e t 的一个延伸 6 1 W 3 C 的W e b S e r v i c e s 体系工作组在他所制定的工作组文件中描述了W e bS e r v i c e s 体系架构 W e b S e r v i c e s 体系构架如图2 1 所示 它包含了三种角色 即服务提供者 服务注册中心和 服务请求者 服务提供者提供了通过网络可访问的W e bS e r v i c e s 实现 并且服务提供者 可以将服务描述发布到服务请求者或注册中心 服务请求者使用服务发现技术如 U D D I U n i v e r s a lD e s c r i p t i o n D i s c o v e r y a n dI n t e g r a t i o n 统一描述 发现和集成 搜索 到服务描述 然后调用绑定的服务从而获得所需要的执行结果 图2 1W e bS e r v i c e s 体系架构模型 2 1 2 万维网服务标准技术 异构系统之间具有系统平台不同 编程语言各异 数据交换格式不同等特点 万维网 服务为异构系统之间的交互操作提供了一定的技术支撑 图2 2 显示万维网服务协议栈 其中常见的标准技术如下所述 1 S O A P S O A P S i m p l eO b j e c tA c c e s sP r o t o c 0 1 是一种在分布环境中交换信息的轻量级协议 4 南京邮电大学硕士研究生学位论文第二章万维网服务事务处理技术 7 1 用于交换万维网上的结构化和模块化的信息 S O A P 消息的封装模型图如图2 3 所示 目前S O A P 还没有将事务作为消息内的标准标记 6 1 S O A P 主要由四个部分组成 1 S O A PE n v e l o p e S O A P 信封 定义一个整体的表示框架 用于表示消息中的内容 由 谁处理此消息以及操作的强制处理选择 如果表示强制 则必须处理 否则就需要提 供返回的错误 2 S O A Pe n c o d i n gr u l e s S O A P 编码规则 定义数据的编码机制 通过编码机制来定义 应用程序中需要使用的数据类型 并用于交换应用程序需要使用的数据类型的实例 3 S O A PR P Cr e p r e s e n t a t i o n S O A PR P C 表示 定义用于表示远程过程调用和响应的 约定 4 S O A Pb i n d i n g S O A P 绑定 定义使用底层传输协议在结点之间交换S O A P 信封的约 定 图2 2 万维网服务协议栈 8 南京邮电大学硕士研究生学位论文第二章万维网服务事务处理技术 图2 3S O A P 消息封装模型 2 W S D L W S D L 是基于X M L 的万维网服务描述语言 它描述服务请求者和服务提供者之间的交 互消息 9 1 并将其绑定到具体的网络协议和消息格式 万维网服务定义可以被映射到任意 的实现语言 实现平台 对象模型或是消息系统 在具体的应用中 W S D L 还可以被扩展 使用 W S D L 是由W 3 C 发布的工作草案 其中定义的主要元素及其作用如下所述 t y p e s 是一个数据类型定义的容器 包含了所有在M e s s a g e 部分中需要的X M L 元 素的类型定义 p o r t T y p e 定义了万维网服务的操作 这些操作可以由一个或多个服务访问点来支 持 m e s s a g e 定义通信中使用的消息的数据结构 使用t y p e s 所定义的类型来定义整 个消息的数据结构 o p e r a t i o n 对服务中所支持的操作的抽象描述 单个o p e r a t i o n 描述一个访问入 口的请求 响应消息 b i n d i n g 为特定端口类型所定义的操作和消息指定具体的协议和数据格式规范 p o r t 通过为绑定指定一个地址来定义一个端点 s e r v i c e 定义服务访问点的集合 6 南京邮电大学硕士研究生学位论文第二章万维网服务事务处理技术 2 2 事务处理模型 在集中式数据库管理系统中 保证事务A C I D 的特性是最基本的要求 原子性是从调 用操作人员的角度来定义 要求对操作单元的结果有两种要求 要么全部完成并返回结果 要么所有操作都不执行 但是在一些特殊应用中 如果某个步骤出错就全部回滚 则会带 来不必要的损失 尤其在分布式系统和长事务中 因此需要针对不同应用提出不同的事务 模型 也就是说每种应用类型需要根据自己的事务处理需求选择相应的事务模型 这些事 务模型反映了事务处理系统在放松原子性和隔离性与其所付出的代价 2 之间的权衡结果 2 2 1 扁平事务 扁平事务 f l a t t r a n s a c t i o n 是最简单的一种事务模型 扁平事务中的操作类型简 单 只需要将整个执行单元作为一个整体来执行而不需要考虑执行过程中的中间状态变 化 扁平事务在应用程序中的表现体现在应用程序的控制只有一层 即由B E G I N W O R K 和 C O M M I T W O R K 括起来的部分是在一个层次上 事务不和其它语句共存 扁平事务有三种结 果 一种是提交 要么全做 要么全不做 第二种是应用程序要求停止 第三种是由于 外界的不可控行为如系统崩溃 电源掉电等强制停止 在这三种结果中 以第一种所发生 的概率最多 几乎占所有扁平事务发生率的9 6 2 J T P C A 和T C B B 基准 2 从技术方面说明扁平事务是事务系统的唯一的工业标准 但扁 平事务的控制结构比较简单 不能表达更为复杂的应用结构 而且扁平事务在概念上认为 事务是和数据库联系在一起 但实际上 事务在理论上囊括了调用事务的所有子系统 2 J 2 2 2 链事务 扁平事务的特点决定了当应用出现错误时就需要全部回滚还未提交的操作 但是在某 些应用中这种处理方式带来了非常大的损失 因此需要扩展事务模型 链事务属于一种带 有保存点的扁平事务变种 能够在系统崩溃后在回滚操作和丢失部分工作之间找到一种折 中的解决办法 2 1 它需要编写程序加以实现 链事务以类似于链接的形式将多个事务连接 起来 前一个事务的提交是下一个事务的开始 它将提交前一个事务和开始下一个事务作 为一个原子操作 即整个事务是由原子操作序列组成 在一个时间只执行一个事务 链事 务的模型如图2 4 和图2 5 所示 南京邮电大学硕士研究生学位论文 第二章万维网服务事务处理技术 图2 4 链事务模型一 图2 5 链事务模型二 链中提交之后不能撤销完成的事务 回滚操作仅限于当前的活动 即只能恢复一个点 所以在系统崩溃时 不能保证整个事务的原子性 因为它只回滚最后一个正在执行的事务 南京邮电大学硕士研究生学位论文 第二章万维网服务事务处理技术 2 2 3 高级事务模型 传统事务处理模型具有结构简单的特点 适合于运行时间较短的事务处理 严格遵循 A C I D 特性 而对于一些特殊应用 传统事务模型无法解决 因此引入了高级事务模型A T M 高级事务模型把事务处理的一系列操作分解成若干个子操作 从不同程度上放宽了传统事 务的A C I D 特性的要求 常见的高级事务模型有嵌套事务模型 S a g a s 分支 汇合事务模 型等 1 嵌套事务模型 链事务是按照时间顺序执行各个活动 是一种线型的结构 而嵌套事务则给出了事务 的层次结构 它的基本架构如图2 6 所示 图2 6 嵌套事务结构 嵌套事务是若干子事务组成的一棵树f 子事务可以是嵌套事务 也可以是扁平事 务 而叶子结点是扁平事务 根结点处的事务则是顶层事务 其它结点都为子事务 顶层 事务提交是以子事务提交为基础 父事务提交后 子事务提交才正式生效 即子事务的提 交正式生效是在根事务提交之后 如果一个事务被取消 则此事务的所有子事务都要被取 消 如果某个子事务失败 则顶层事务可以选择自己的恢复方法 子事务仅有A 原子性 C 一致性 I 隔离性 特性 而没有D 持久性 特性 嵌套事务在全局层次上保证了完 9 堕壅塑皇奎堂堡主塑塑生堂垡笙茎墨三兰互丝旦望墨皇墨竺堡垫查 全的隔离性 同时在失败处理时具有更细的粒度 在事务内部具有更高级别的并发性 减 少了处理的响应时间 在嵌套事务模型中 只有叶子结点的事务才与数据库进行交互或 对资源进行管理 高层事务仅仅组织控制流并根据相关的规则来决定何时调用子事务 何 时提交本级事务 2 S a g a s 模型 线性S a g a 1 1 1 事务模型最初是由G a r c i a M o l i n a 和S a l e m 提出的 主要目的是为了解 决有关长事务的问题 S a g a 的基本思想是允许事务在全部提交之前释放某些占用的资源 这一特点可以显著提高资源的利用率 增强系统的事务处理能力 一个长事务 或称作一 个S a g a 可以看作是一个预先定义好执行顺序的子事务 扁平事务 T l T 2 T i T n l T n 的集合 每个子事务T i 1 i n 必须有一个补偿事务C j C i 从语义上解除T i 的执行效果 S a g a 的执行的最终结果有两种 a T 1 T 2 T i T n 1 T n b T l T 2 T j C i c 2 C I 序列 a 是正常提交的执行结果 序列 b 是在T i 出现故障中止时回滚的执行情 况 S a g a 事务模型放宽了隔离性 但是实际应用中 有些事务是不可补偿的 3 分支 汇合事务 分支 汇合事务 s p l i t j o i n tt r a n s a c t i o n 模型是由美国哥伦比亚大学的G K a i s e r 和C P u 提出的 是针对 末端开放 o p e n e n d e d 的活动而专门设计的 所谓 末端开 放 是指活动具有不可确定的执行时间 不可预知的发展方向 同其他并发的活动进行交 互等特点 这种高级事务模型通过动态重构正在进行的事务 解决了多个用户间的合作问 题 分支 命令把一个正在进行的事务分成两个事务 汇合 命令则是将两个事务合 并成一个事务 分支 汇合事务模型实现了一种多用户的合作行为 通过 分支 和 汇合 能够把 部分事务的处理工作分配给某一合作者 另外 如果分支后的某一个事务能够立刻提交 则将增加系统的并发处理能力 分支 汇合事务模型也存在一些问题 比如 如何保证分支 后的两个事务能够再次形成有效的工作单元 如何定义资源的分配等 4 A C T A A C T A 1 刁是一个综合性的事务框架 它可以实现对多种扩展事务模型属性的形式化描 述与推理 A C T A 把事务的属性表达为可见性 v i s i b i l i t y 一致性 c o n s i s t e n c y 恢复 性 r e c o v e r y 以及持久性 p e r m a n e n c e A C T A 允许采用重要事件 s i g n i f i c a n te v e n t 来 表达事务之间的相互依赖关系 这些重要事件包括开始 准备 提交 退出 产生 分支 1 0 堕室坚皇奎堂堡主婴壅生堂篁堡壅 蔓三兰互丝塑壁堑皇堑竺堡垫查 汇合 这比单纯地用普遍存在的提交 c o m m i t 和退出 a b o r t 事件来表达事务间的交互要 更强大 事务间的依赖关系将随着新的重要事件的定义而不断增加 A C T A 是一个具有开 放性质的框架 A C T A 由两方面组成 事务方面 主要是事务之间的依赖关系 它们是通过重要事件来 定义的 对象方面 主要包括事务视图 事务冲突集以及代理三个部分 用户是通过以上 的基本组件来定义整个事务模型的行为属性 2 2 4 分布事务 随着分布式技术的发展 分布式应用的可靠性由分布事务加以保证 分布事务的定义 是从应用的角度来定义的 分布事务应用于分布环境下 一个事务被分解成多个分布子事 务 子事务不仅要与本地并发执行的其他事务相协调 还要与全局事务产生的其他事务相 协调 分布式事务各结点上的子事务之间不是嵌套事务的层次结构 而是运行在同一层次 上的事务片段 分布事务一般表现为扁平事务 但分布事务是不能独立回滚的 因为它的 回滚会使其它结点上的事务受到影响 这表现了分布式事务的原子性 组成事务的所有子 事务要么一致性地全部提交 要么一致性地全部回滚 常见的分布式事务模型有X O p e n 的分布式事务处理D T P D i s t r i b u t e dT r a n s a c t i o n P r o c e s s 对象管理组织的对象事务服务O T S O b j e c tT r a n s a c t i o nS e r v i c e 和J 2 E E 的J T A J T S 等 2 3 万维网服务事务处理特点 作为一种分布式计算技术 万维网服务事务处理机制和分布式事务处理系统中的事务 处理有某些相似之处 但是万维网服务自身的特点决定了它们在事务处理需求方面的差 异 这些具体特点表现如下几个方面 1 多元化 万维网服务应用一般建立在多厂商 多平台 多种工T 技术互连互通的基础 之上 服务的创建不再只受某个组织控制 甚至最终用户也可以通过组合现有的服务 来创建一个新的服务 同时 一些万维网服务涉及到跨企业或跨应用的功能 这就表 明万维网服务实现不会受到服务请求者控制 而是由每个服务提供者自己决定采用何 种事务处理方式 2 松耦合性 万维网服务是松耦合的 万维网服务的实现对调用者来说是透明的 服务 提供者可以单独发布或取消自己的服务 尽管这样可以使得服务能够被快速地换入换 1 l 南京邮电大学硕士研究生学位论文第二章万维网服务事务处理技术 出 但这种灵活性也付出了相应的代价 即提高了组织并控制万维网服务事务的开销 3 长时间事务 万维网服务通常是在I n t e r n e t 上进行业务处理 网络的延时或是业务 活动本身的完成就需要消耗一定的时间 如果有人为活动的参与 则可使得事务处理 的时间更长 而在开放环境中服务提供者一般不允许长期封锁资源 A T M 通过放松A C I D 可以做到 因为这样容易使得万维网服务资源受到恶意攻击 J 比如攻击者也许会 利用封锁机制长期地封锁资源 4 无状态万维网服务 万维网服务规范工作于H T T P 之上 而H T T P 是松耦合的传输协议 它仅支持在同一会话进行单次请求 响应的消息交换 不提供用于保存临时的 持久 的状态机制 5 这种无状态的服务将无法觉察到事务的状态 因此如果事务失败 则 不能请求它们 回滚 以消除对系统产生的影响 5 分布特性 采用组合服务技术实现的业务处理流程通常会涉及多个独立的w S 提供商 每个w S 提供商只是执行处理流程的一部分任务 即只执行整个事务的一小部分 这 也加大了标识W S 事务边界的难度 6 w s 冲突 i n t e r a c t i o n 早在2 0 世纪8 0 年代 贝尔实验室就首次提出了业务冲突问 题 根据I T U T 对业务冲突的描述 业务冲突是指一个业务逻辑实例对另一业务逻辑 实例或对同一业务逻辑的不同业务逻辑实例的不利影响 但业务冲突这类问题并不只 限于电信网 任何独立开发的系统组件之间都可能会出现相互干扰 同样w S 也许会 以意想不到的 不希望存在的方式相互干扰 从而产生出不希望出现的结果 但由于 w S 的多元化等特性 w S 冲突在某些方面不同于传统电信系统 即在w S 环境中 不可 能存在一个用于检查和管理服务冲突的 中心机构 1 4 并且服务请求者和服务提供 者也可能会各自选择适于自己的方式处理服务冲突 这些问题都将加剧服务冲突 造 成w S 冲突的原因分为七类 1 4 目标冲突 g o a lc o n f l i c t 部署和所有权 D e p l o y m e n t a n do w n e r s h i p 假设违规 V i o l a t i o no fA s s u m p t i o n s 不恰当接口 I n a d e q u a t e i 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 类冲突中 资源竞争和并发性与事务处理的关系最为密 切 资源竞争 当不同的w S 实例访问共享的且容量有限的资源时 这些w S 实例彼此 之间会出现竞争 这些资源可以多种类型 比如 C P U 数据库访问 虚拟书店中 的各类图书等 当不同请求者触发的服务实例在w S 层次上同时修改服务数据时 某个w S 实例对这些资源的不正确访问操作可能会影响到其他W S 实例 为了便于 W e bS e r v i c e s 访问这些资源 O A S I S 提出了W e bS e r v i c e s 资源框架 W S R F l 纠 1 2 南京邮电大学硕士研究生学位论文第二章万维网服务事务处理技术 和一系列标准 其中的w S R e s o u r c e P r o p e r t i e s 1 6 标准建议 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 定义的一部分 l6 1 这同时也提出了如下需求 声明隔离级别策略并 将该策略关联到w S 消息交换的定义上 但当前的万维网服务结构还不能满足该需 求 而且把来自于数据库的A C I D 属性概念映射到w S 的上下文也并不容易 并发性 w S 允许被多个请求者同时访问 这些请求者也可以同时访问多个W S 而 一些组合w S 的正确执行也许会依赖于w S 事务处理系统的并发控制 但不正确的 调用时序 事务失败都可能导致出现w S 冲突 因此当服务参与事务时 服务可以 采用某种策略以确定各个事务正确的调度时序 同时也需要确定何时或如何锁定 释放数据记录 事务处理系统必须能够确保事务处理过程中某个事务执行的变更 不会被其他事务覆盖 例如 首先启动一个事务 以便更新某个购买新产品的客 户订单 在该订单处理的过程中 又启动了另外一个事务 以便取消某些变更 如果这两个事务出现冲突 则可能会出现下面这种情形 客户没有获得希望获得 的产品 而是获得了其他产品 与资源竞争的解决方法一样 可以利用事务处理 协议来保证组合服务的事务特性 万维网服务的上述特性为万维网服务事务管理增加了复杂性 也促进人们研究适合万 维网服务计算环境的模型和协议 当前许多组织和厂商提出了相关的万维网服务事务处理 规范来解决万维网服务环境下的事务处理问题 2 4 万维网服务事务规范 2 4 1 B T P O A S I S 的B T P 1 7 1 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 2 B B u s i n e s st oB u s i n e s s 事务的X M L 标准 并在松耦合的软件服务 之间编排业务流程来获得参与业务各方的一致性 该规范中定义了两种事务模型 原子模 型 a t o m 和内聚模型 c o h e n s i o n 原子模型 原子模型使用2 P C 协议保证每个逻辑工作单元结果的一致性 在原子 塑室塑皇奎堂堡圭堕窒竺兰篁笙奎 箜三童互丝塑璺釜皇釜丝堡垫查 事务上下文中 工作单元中所有工作要么全部完成 要么全部处于同一状态 整 个输出结果具有原子性 内聚模型 内聚模型放宽了原子性 由中心协调者检查各事务的状态 使得各参 与者的选择比较灵活 不同的参与者可以各自选择是否提交回滚 即部分参与者 选择提交的同时 其他的参与者可以选择取消 B T P 已经在H P 的W S T W e bS e r v i c e sT r a n s a c t i o n 1 8 产品中和C o l l a x aW S O S W e b 一 S e r v i c e sO r c h e s t r a t i o nS e r v e r l9 J 中得到了实现 但是B T P 并没有利用万维网服务架 构 8 不是专门的万维网服务事务协议 实现时需要将协调绑定到事务上 并且它不支持 范围或者事务的嵌套 缺乏一些灵活的恢复机制 2 4 2 T H P T H P T e n t a t i v eH o l dP r o t o c 0 1 协议 2 0 是一个开放的 松耦合的 基于消息的协议 T H P 协议本身并不是一种事务处理协议 而是用于定义事务处理开始前的业务双方试探性 信息的交换

温馨提示

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

最新文档

评论

0/150

提交评论