正在加载图片...
china-pub.com 载 第9章4)和务丝b应用程序561 测试能够满足。基本的事务处理不能满足要求,因为如果其中一个数据库服务器失败,无法 确保另外一个数据库的数据还没有提交并成为永久的。换句话说,无法协调发生在不同地方 的多个事务处理就没有办法保证事务的原子性 例如,运行在机器A上的一个组件是单个事务的组成部分之一,组件能够利用机器B上的 QL Server执行数据库事务。组成事务的另一组件用运行在机器C上的 Oracle服务器执行数据 库事务。这三台机器运行着四块不同的代码,它们全都要参与到这个事务中 即使通过COM+隐藏分布式事务中的细节,也必要研究和了解分布式事务的“幕后”结 构。请记住这些ACID特性适用于所有类型的事务,不论事务涉及的数据库是什么类型或数量 有多少 使用 MS DTC进行两阶段提交 让我们再看一下上述分布式事务的例子。如果 Oracle服务器停机了,如何保证事务的原子 性。答案是使用两阶段提交(two- phase commit.,2PC)和通过 Microsoft分布式事务协调器(MS DTC协调。 MS DTC是最先集成在 SQL Server中,现在已成为COM+必不可少的部分,通过在事务处 理中加入其他的因子, MS DTC确认所有的过程完成并提交他们 让我们进一步研究 MS DTC,了解其工作方式。为了能用两阶段提交协议进行协调,事务 中的每个数据源必须装有 MS DTC。在这些安装中,主要的协调器总是在事务的起源之处。这 个主要的协调器称为提交协调器,它负责确保事务的提交或终止。不管事务是成功地提交还 是回滚,提交协调器都负责向客户应用程序返回一个报告。 在两阶段提交中第一阶段是准备阶段,每个服务器执行它接收的指令,但所有应写到磁 盘的内容都被缓冲,如图19-1所示 旦服务器已执行了指令,就通知提交协调器关于事务的状况,如图192所示。 插入 准备 事务开始 事务执行閤 提交 准备 提交协调器 提交协调器anc 提交 图19-1准备阶段 图19-2通知提交协调器关于事务的状况 提交 提交 更新成功 滚到原始状态 提交 终止 提交协调器 提交协调器 图19-3提交协调器提交事务 图19-4事务回滚测试能够满足。基本的事务处理不能满足要求,因为如果其中一个数据库服务器失败,无法 确保另外一个数据库的数据还没有提交并成为永久的。换句话说,无法协调发生在不同地方 的多个事务处理就没有办法保证事务的原子性。 例如,运行在机器A上的一个组件是单个事务的组成部分之一,组件能够利用机器 B上的 SQL Server执行数据库事务。组成事务的另一组件用运行在机器 C上的O r a c l e服务器执行数据 库事务。这三台机器运行着四块不同的代码,它们全都要参与到这个事务中。 即使通过C O M +隐藏分布式事务中的细节,也必要研究和了解分布式事务的“幕后”结 构。请记住这些A C I D特性适用于所有类型的事务,不论事务涉及的数据库是什么类型或数量 有多少。 使用MS DTC进行两阶段提交 让我们再看一下上述分布式事务的例子。如果 O r a c l e服务器停机了,如何保证事务的原子 性。答案是使用两阶段提交 (two-phase commit,2 P C )和通过M i c r o s o f t分布式事务协调器 ( M S D T C )协调。 MS DTC是最先集成在SQL Server中,现在已成为C O M +必不可少的部分,通过在事务处 理中加入其他的因子,MS DTC确认所有的过程完成并提交他们。 让我们进一步研究MS DTC,了解其工作方式。为了能用两阶段提交协议进行协调,事务 中的每个数据源必须装有MS DTC。在这些安装中,主要的协调器总是在事务的起源之处。这 个主要的协调器称为提交协调器,它负责确保事务的提交或终止。不管事务是成功地提交还 是回滚,提交协调器都负责向客户应用程序返回一个报告。 在两阶段提交中第一阶段是准备阶段,每个服务器执行它接收的指令,但所有应写到磁 盘的内容都被缓冲,如图1 9 - 1所示。 一旦服务器已执行了指令,就通知提交协调器关于事务的状况,如图 1 9 - 2所示。 第1 9章 A S P和事务性We b应用程序计计561 下载 图19-1 准备阶段 图19-2 通知提交协调器关于事务的状况 图19-3 提交协调器提交事务 图19-4 事务回滚 事务开始 更新成功 提交 提交 终止 回滚到原始状态 提交 事务执行 插入 更新 准备 提交 准备 提交 插入 更新 提交协调器 提交协调器 提交协调器 提交协调器
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有