第七章-中间件中的事务处理.pptVIP

  1. 1、本文档共57页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

第七章中间件中的事务处理知识点: 分布式事务处理 COM中的事务处理 J2EE中的事务处理 CORBA中的事务处理重点: 分布式事务及特性X/OpenDTP模型两阶段提交协议7.1分布式事务处理银行转账系统:事务指对特定共享资源的一组不可分割的操作。它们 要么全部执行 要么全部不执行。分布式事务是 涉及多个服务器(结点)的事务典型的分布式事务: 在不同银行之间进行转帐事务的ACID特征Atomicity 原子性Consistency 一致性Isolation 分离性Durability 持久性原子性(Atomicity) 事务 或者被全部执行 或者任何修改都不起作用事务的起点 是 回卷点 也是 重复执行的起点事务的终点 是下一个事务的起点一致性(Consistency)共享的资源(的状态)需要保持一致如果事务不能解决不一致问题 事务可以被终止分离性(Isolation) 每个事务访问资源时,任何其它事务的存在皆是透明的在事务执行过程中,任何其它事务进行的修改皆是不可见的持久性(Durability) 对于一个完成的事务,其结果总是持久的,尽管后来的事务可以进一步修改其结果的值在事务结束之前,被修改的资源的状态必须被保存到持久存储体中 例如:磁盘 持续性RAM EPROM事务的启动、提交和回滚Begin:启动一个新事务Commit:结束一个事务存储事务过程所做的修改,使得修改可以被其它事务访问Rollback:结束一个事务取消事务过程所做的所有修改7.1.1X/OpenDTP模型X/OpenDTP:X/Open组织定义的分布式事务处理模型,是一个用于规范在分布、异构的环境下应用程序与不同资源之间相互协调进行事务处理的标准。X/OpenDTP的三个组成部分应用程序(AP):定义事务的边界,确定事务所包含的操作。资源管理器(RM):提供对共享资源的访问。常见的RM有:数据库管理系统或文件访问系统。事务管理器(TM):应用程序和资源管理器之间的协调员。常见的TM有:交易中间件。事务处理过程①AP首先通过TX接口告诉TM要开始一个新事务;②TM分配全局事务ID,调用XA接口通知各RM新事务开始;③AP访问RM;④操作完成后,AP要求TM提交事务;⑤TM调用XA接口协调各RM进行事务提交。X/OpenDTP模型各组成部分之间的作用关系:AP-RM之间采用RM的特有API接口,X/Open对这部分的规范较少。AP-TM之间采用TX接口。AP利用这个接口向TM发出开始和结束一个事务的请求,进行全局事务的管理。TM-RM之间采用XA双向接口。TM利用这个接口使各个RM合作完成一个全局事务。通信资源管理器X/OpenDTP模型可以有不同的实现,当这些实现之间出现互操作问题的时候,X/Open引入了一个称为通信资源管理器(CRM)的组件。CRM底层使用OSITP进行不同组件间的通信。常见的通信资源管理器是消息中间件。采用CRM解决X/OpenDTP不同实现的互操作7.1.2事务的类型事务分为三种类型:平坦事务、链式事务、嵌套事务。平坦事务:所有的操作都包含在一对开始和结束事务的语句的中间,这些操作处于同一级别,被视为一个整体。链式事务:事务的开始并不要求应用程序显示地调用tx_begin(),当前事务的结束就是隐含了新事物的开始。旅行计划问题: 购买从中国南宁到中国北京的火车票 购买从中国北京到美国纽约的飞机票 购买从美国纽约到法国巴黎的飞机票 发现没有飞往法国巴黎的飞机票嵌套事务:一个事务可以包含多个子事务,每个子事务还可以包含其子事务。一个事务的回滚导致其所有子事务的回滚.一个子事务要能成功提交要求其所有祖先事务都能成功提交按作用域划分,事务的类型可分为:全局事务:涉及多个RM的协同工作;本地事物:每个RM负责自己的分支一个全局事务最终将映射到多个本地事务上去执行。如何建立全局事务与本地事务之间的映射关系?XID=GTRID+BQUAL即:事务标识符=全局事务标识符+分支限定符7.1.3两阶段提交协议(2PC)思路:在TM向所有RM发出正式提交请求之前,先询问所有的RM是否已准备好提交;仅当所有的RM都给出肯定的回答时,TM才发出提交的请求;如果有一

文档评论(0)

livestudy + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档