`
- 浏览:
220474 次
- 性别:
- 来自:
深圳
-
XA接口标准是事务处理系统与数据库服务器的事务管理接口,CICS事务所作的数据库修改在事务提交(COMMIT)或回撤(ROLLBACK)时由事务处理器通过XA接口向数据库服务器发出提交或回撤请求。由于网络通讯故障随时可能发生,任何发出请求后等待回应的程序都会有失去联系的危险。这种危险发生在发出请求之后,服务器返回应答之前,如果在这个期间网络通讯发生故障,发出请求一方无法收到回应,于是无法判断服务器是否已经成功地处理请求,因为收不到回应可能是请求没有成功地发送到服务器,也可能是服务器处理完成后的回应无法传回请求方。这段时间称为网络通讯的危险期(In-doubt Time)。 无论如何,网络通讯危险期总是存在的,两阶段提交是为了解决这个问题的一种办法。一阶段提交就是事务处理器向数据库服务器发出提交请求,然后等待数据库服务器的回应,收到回应后完成事务的提交,或者服务器返回提交失败的结果就回撤事务。危险期从发出请求开始,到收到回应结束,这段时间中数据库完成数据的修改、日志记录等处理,处理越复杂,危险期就越长。 两阶段提交把事务提交分成两个阶段,第一阶段,事务处理器向数据库服务器发出 " 准备提交 " 请求,数据库收到请求后执行相同的数据修改和日志记录等处理,不同的是处理完成后只是把事务的状态改成 " 可以提交 " ,然后把结果返回给事务处理器。事务处理器收到回应后进入第二阶段,如果在第一阶段内的危险期中发生了故障,事务处理器收不到回应,则认为事务失败,回撤事务。数据库服务器收不到第二阶段的确认提交请求,把 " 可以提交 " 的事务回撤。 两阶段的第二阶段中事务处理器向数据库服务器发出 " 确认提交 " 请求,数据库服务器把事务的 " 可以提交 " 状态改为 " 提交完成 " 状态,然后返回应答。从严格意义上说,两阶段提交并没有完全解决网络通讯危险期的问题,但因为第二阶段的处理很简单,只是修改了事务的状态,与第一阶段相比其处理时间极短,所以危险期极短,发生事务提交故障的可能性几乎不存在。 很多人会问:如果事务处理器只管理一个数据库资源,是不是可以只用一阶段提交的XA接口,如果要管理两个或以上的数据库资源就要使用两阶段提交的XA接口?答案是否定的,用不用两阶段提交不是取决于数据库资源的个数,而是取决于通讯危险期的长短,即事务处理器与数据库服务器间的网络通讯质量。如果事务处理器通过XA接口连接远程数据库,网络通讯质量不高,为了保证事务的完整性,即使只连接一个数据库也应该使用两阶段提交接口。如果事务处理通过XA接口连接局域网上的数据库服务器,连接一个或多个数据库都可以使用一阶段提交接口。 管理多个数据资源的事务处理器中发生的事务可以修改所有相连的数据库,事务提交被分解为多个子事务,分别向各个数据库发出提交请求,这种事务也被称为全局事务。管理单个数据资源的事务处理器中发生的事务只能修改一个数据库,因而不会被分解,这种事务被称为局部事务。虽然多数关于两阶段提交的资料都以全局事务的运作来说明两阶段提交的原理,但两阶段提交与全局事务并没有直接的联系。 同一个事务处理器连接的多个数据资源要使用类型相同的XA接口,不能一些使用一阶段提交接口,另一些却使用两阶段提交接口,如果这样配置,全局事务的提交会失败。两阶段提交的处理过程比一阶段提交复杂,所以效率也较低,大多数企业事务处理系统的事务处理器与数据库服务器运行在同一个计算中心内,以高速而稳定的网络相连接,甚至运行在同一台机器上,这种配置最好使用一阶段提交接口。 这时会引出第二个问题:一台CICS服务器上的应用要连接一个本地的数据库(指运行在同一台机器上或连接在同一个高速的局域网上的数据库),同时也要通过不稳定的网络连接另一个远程数据库,该如何保证CICS应用执行的事务完整性?如果访问远程数据库的响应时间不会过长以至严重地影响整个事务的处理时间,仍然可以采用两阶段提交XA接口。否则应该采用另一种方案,在远程数据库一端安装一个CICS服务器与该数据库通过一阶段提交XA接口相连,本地CICS服务器上的应用要访问远程数据库时通过CICS间的互连机制向远程CICS服务器发出处理请求,由远程CICS服务器上的程序完成处理,整个事务的完整性由CICS的分布式事务管理机制保证,这就已经超出了XA接口的功能范围了,具体的配置请参阅CICS相关文档CICS Intercommunication Guide 。
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
根据提供的文件内容,以下是关于AN1001-CMT211xA & CMT221xA通讯范例的知识点详细介绍: 1. 无线遥控芯片概述: 文中提到的CMT211xA和CMT221xA是HopeRF公司CMOSTEK无线产品线中的两款芯片,分别适用于单发射和单...
2007ZDH2007LWP000000480.pdf文档可能是关于800xA系统电气集成的具体实施方案或技术手册。这份资料可能涵盖了以下几个方面: 1. **系统架构**:介绍800xA系统的整体架构,包括Control Builder(控制构建器)、...
至于提供的"2007ZDH2007LW11003511.pdf"文件,虽然具体内容未知,但根据文件名推测可能是一份关于800xA系统的详细技术文档或应用案例分析。这份文档可能包含了系统架构、功能特性、实施步骤、最佳实践等内容,对于...
描述中的“AC800F扩展800XA系统PPTrar”重复了标题的信息,暗示这个PPT文件可能是关于如何将AC800F控制器整合到800XA系统中的详细介绍。这种集成可以提高工厂的自动化水平,实现更高效的过程控制和数据管理。 标签...
系统中的2007ZDH2007LWP000000611.pdf文件可能包含详细的技术文档或用户手册,这些资源通常会提供关于800xA系统如何安装、配置、操作以及维护的信息。通过学习这些内容,用户可以更好地理解和掌握800xA系统的工作...
本文将围绕标题"MZ7XA_HW_20190918_sch_米联_米联客_开发资料_Mz7xa_SCH_"和描述"米联客开发原理图资料-MZ7XAB(2019版本)",深入探讨其中包含的硬件设计知识,并对压缩包内的"02_原理图"进行解析。 首先,"MZ7XAB...
ABB DCS 800xA项目总结资料,关于ABB DCS的组态和学习!!
根据提供的压缩包文件名称 "06xa-e2.pdf",我们可以推测这是一个关于06xa-e2模块的详细技术文档,可能包含模块的技术规格、操作指南、接线图、应用实例等内容。该文档对于理解模块的工作原理、安装、配置和故障排查...
首先,关于模拟输出,手册提到了0V到+10V的五通道电压输出和0mA到20mA的电流输出。这些模拟信号通常用于驱动如伺服电机、记录器、比例阀等工业控制元件。 需要注意的是,在连接类似模拟输出这样的信号线时,应该与...
《分布式事务处理:XA+ 规范版本2》是X/Open组织发布的一份关于分布式事务处理的重要规范文档,该文档详细介绍了分布式事务处理模型以及相关的接口定义。X/Open作为一个国际性的标准化组织,在信息技术领域尤其是...
关于89S51单片机的知识点包括: 1. **结构与特性**:89S51拥有4KB的可编程ROM、128B的RAM、32个输入/输出(I/O)口线、两个16位定时器/计数器、五个中断源、全双工串行通信接口等。 2. **指令系统**:89S51支持一套...
用户可以在网上找到关于固件升级和降级的选项(https://support.industry.siemens.com/cs/cn/en/view/109769381)。除此之外,配送还包括一个用于USS/Modbus RTU连接的插拔式RS485连接器,一套屏蔽连接套件(仅适用...
文档提供了关于TEF668XA系列设备控制的概述,详细介绍了如何通过API(应用程序接口)和I²C总线进行控制。 在设备控制方面,手册阐述了TEF668XA系列的接口设计和操作方法,包括如何初始化设备以及如何通过API执行...
XA6132 万能铣床电气控制系统 PLC 改造设计样本是一个关于数控技术改造机床的设计样本,旨在提高铣床的自动化程度和生产效率。本设计样本主要介绍了 XA6132 铣床的控制电路分析、PLC 的应用和设计、电气控制系统的...
标题中提到的“22mm-XB2 XB5 XA2国产按钮_CN.pdf”意味着这份文件是关于施耐德电气在中国市场销售的Ø22mm直径的XB2、XB5和XA2系列按钮及指示灯的产品目录。 描述中明确了产品目录发布于2017年,并指出了产品系列,...
标题"PIC16F87xA帮助文档"表明这是一个关于PIC16F87xA微控制器的详细参考资料,通常包括数据手册、应用笔记、编程指南等内容。描述同样强调了这一点,暗示文档可能包含了该微控制器的技术规格、功能介绍以及使用方法...
系统管理和维护章节提供了关于iBMC远程管理的说明,以及如何进行服务器的日常维护。整个白皮书旨在为不同类型的售前工程师提供深入的XA320服务器节点信息,包括产品规格、特点、部件选型、管理和维护知识,以便他们...
【标签】"综合资料"暗示了这个压缩包可能包含了关于800xA系统的全面介绍、技术文档、案例研究、操作手册等多方面内容,帮助用户深入了解该系统的全面功能和应用场景。 【压缩包子文件的文件名称列表】中的"2007ZDH...
【描述】中提到的“sii9022a 驱动内附重要数字图像原理”意味着这个驱动程序不仅提供了硬件操作的基础,还包含了关于数字图像处理的基本理论。这使得用户在使用驱动时,能够理解其背后的工作机制,增加了技术深度。...
从给定的文件内容中,我们可以得知,文章讨论的是关于幂函数y=xa的导数公式(xa)'=axa-1的证明问题。这个导数公式是高等数学中非常基本和重要的公式,常用于求导运算。当前教材中的证明方法存在问题,本文作者提出了...