Tuxedo事务处理
2010-08-20 10:43:27| 分类: 默认分类|举报|字号 订阅
Tuxedo事务处理 zz from http://blog./u/21558/
Tuxedo事务处理
一、什么是事务
事务(Transaction)是一组逻辑上相关联的操作,这些操作要么全都成功执行,要么全都不执行。事务所含的操作可以分布在不同的程序甚至不同的机器上。
事务处理必须具备四个基本属性原子性、一致性、独立性、耐久性(Atomic、Consistent、 Isolated、Durable也叫ACID属性):
n 原子性(Atomic)要求一个事务是一个最小的不可分割的单位,以银行转帐事务为例,一个完整的事务处理需要改变转出和转入两个帐户的资金,只改变一个帐户是不对的。
n 一致性(Consistent)意味着事务处理正确地转换了系统状态。要么是资金离开一个帐户进入另一个帐户,要么是都保持不变---只有这两种可能的状态。如果系统没有得到转换后状态,就回到没有转换时的状态而不会停在中间。
n 独立性(Isolated)保证任何其他的事务都不能看到一个处在不完整状态下的事务处理。尽管实际上在钱款被提走而还没有存入另一个帐号期间有一个远远小于一秒的间隔,系统中的其他事务也不会知道的。
n
耐久性(Durable)表示事务处理能在系统失败时保存完好。一个事务处理应当能够承受所有的失败,包括服务器、进程、通信以及媒体失败等等。
二、事务处理系统的X/Open DTP 模式
由于分布式事务处理中的操作可能位于许多不同的平台和数据库产品上,为了协调和控制这些不同的事务操作的行为,必须有一个事务管理进程,而X/Open标准正是为此而定义了一个分布式事务处理(Distributed Transaction Processing, DTP)的模式以及用于事务管理进程和资源管理器交互的XA接口。
X/Open DTP模式的结构图:
DTP模式有三个模块:
1) 应用程序(Application Program)通过TX接口向事务管理器定义一个事务边界,然后向资源管理器提交事务操作;
2) 资源管理器(Resource Manager, RM)是支持XA接口并提供对共享资源访问接口的管理程序。最常见的RM是数据库,但象消息队列或打印机缓冲池等也可以作为RM,只要它们支持XA接口。
3) 事务管理器(Transaction Manager, TM)为事务处理编号,监控事务处理全过程并负责事务执行或错误恢复。
Tuxedo系统提供了用于创建事务管理器的组件和工具(buildtms)。资源管理器厂商(Oracle, Infomix等)必须提供兼容XA接口的函数库,这些函数库用来和Tuxedo的组件及工具一同编译生成一个Tuxedo的事务管理器。
XA接口及两步提交协议
DTP模式中事务管理器和资源管理器之间通过XA接口进行通信,XA接口定义了关于如何协调、执行及恢复事务的一个协议规范。两步提交协议(
Two mit prot
Tuxedo事务处理 来自淘豆网m.daumloan.com转载请标明出处.