黄浦区中心医院挂号网:什么是分布式事务处理?

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/28 03:48:50
据说Notes的长项是处理文档型数据,如电子邮件、公文、文档.J2EE的长项是分布式事务处理.
什么是分布式事务处理?

分布式事务是指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节点之上。
为了实现分布式事务,需要使用下面将介绍的两阶段提交协议。 * 阶段一:开始向事务涉及到的全部资源发送提交前信息。此时,事务涉及到的资源还有最后一次机会来异常结束事务。如果任意一个资源决定异常结束事务,则整个事务取消,不会进行资源的更新。否则,事务将正常执行,除非发生灾难性的失败。为了防止会发生灾难性的失败,所有资源的更新都会写入到日志中。这些日志是永久性的,因此,这些日志会幸免遇难并且在失败之后可以重新对所有资源进行更新。 * 阶段二:只在阶段一没有异常结束的时候才会发生。此时,所有能被定位和单独控制的资源管理器都将开始执行真正的数据更新。 在分布式事务两阶段提交协议中,有一个主事务管理器负责充当分布式事务协调器的角色。事务协调器负责整个事务并使之与网络中的其他事务管理器协同工作。 为了实现分布式事务,必须使用一种协议在分布式事务的各个参与者之间传递事务上下文信息,IIOP便是这种协议。这就要求不同开发商开发的事务参与者必须支持一种标准协议,才能实现分布式的事务。
分布式事务处理 (TP) 系统旨在协助在分布式环境中跨异类的事务识别资源的事务。在分布式 TP 系统的支持下,应用程序可以将不同的活动合并为一个事务性单元,这些活动包括从"消息队列"队列检索消息、将消息存储在 Microsoft SQL Server 数据库中、将所有现有的消息引用从 Oracle Server 数据库中移除,等等。因为分布式事务跨多个数据库资源,故强制 ACID 属性维护所有资源上的数据一致性是很重要的。

美 国Sybase 公 司 于 今 年 七 月 发 布 了PowerBuilder 6.0 的Beta 版, 正 式 的 版 本也 将 于 不 久 的 将 来 推 出, 其 中 对 分 布 式 事 务 处 理 的 支持 是 新 版 本 中 增 强 得 最 多 的 功 能。 早 在1995 年,PowerSoft 公司 就 提 出 了 在“ 分 布 式 事 务” 方 面 的 发 展 战 略, 并 在1996 年 发 布 的PowerBuilder 5.0 中 支 持 了 分 布 式 事 务 处 理 的 功 能,笔 者 在 以 前 的 讲 座 中 也 曾 经 讨 论 过 有 关 如 何 创 建 分布 式PowerBuilder 应 用 的 问 题, 但 是 得 到 读 者 反 馈 意 见 却 很少。 以 往, 一 个 使 用PowerBuilder 开 发 客 户/ 服 务 器 应 用 软 件的 程 序 员 是 较 少 会 想 到 使 用 分 布 式 事 务 来 分 割 应 用的, 因 此 一 般 的 用 户 对 分 布 式 事 务 的 概 念 和 意 义 也 不甚 了 解, 这 里 我 们 来 进 一 步 讨 论 一 下 分 布 式 事 务 处 理及 其 应 用。

三 级 体 系 结 构
首 先我 们 介 绍 三 级 体 系 结 构 这 一 概 念。 所 谓 级 是 指 一 种 功能 划 分, 我 们 以 往 所 开 发 的 数 据 库 应 用 软 件 一 般 是 基于 客 户/ 服 务 器 结 构 的, 我 们 称 之 为 两 级 体 系 结 构。 也就 是 说 整 个 系 统 可 以 分 成 两 个 功 能 块, 第 一 级 包 括 了软 件 的 应 用 层 和 表 现 层, 驻 留 于 客 户 端。 我 们 使 用PowerBuilder 开 发 出 的 应 用 主 要 用 于 第 一 级, 运 行 于 客 户 端。 第 二级 包 含 数 据 库 和 服 务 器 的 组 件。 一 个 基 于SQL 的 数 据 库管 理 系 统 一 般 安 装 在 服 务 器 端, 应 用 软 件 在 服 务 器 端进 行 的 操 作 主 要 是 数 据 存 储 和 检 索。 在 两 级 模 式 中 会有 一 些 应 用 逻 辑 以 存 储 过 程 和 触 发 器 的 形 式 存 储 在服 务 器 端, 以 优 化 服 务 器 的 性 能, 但 绝 大 多 数 的 应 用逻 辑 是 放 在 客 户 端 的。

三 级模 式 是 将 系 统 分 为 有 三 个 不 同 的“ 级”: 表 现 级, 商业 逻 辑 级 和 数 据 访 问 级。 表 现 级 是 处 理 用 户 界 面 的 功能; 数 据 访 问 级 是 数 据 源, 在 通 常 状 况 下 指 数 据 库;商 业 逻 辑 级 是 新 增 加 的 一 级, 指 程 序 中 作 出 智 能 决 策的 那 一 部 分 功 能。 在 早 期 的 应 用 中, 这 一 部 分 的 功 能并 不 十 分 复 杂, 一 般 将 其 放 在 表 现 级 即 可, 另 有 少 量以 存 储 过 程 或 触 发 器 的 形 式 放 在 数 据 访 问 一 级, 而 随着 软 件 工 程 的 发 展, 软 件 的 日 益 复 杂, 软 件 中 功 能 增加 最 多 的 就 是 在 这 一 级。 一 个MIS 系 统 的 功 能 由 早 先 的对 某 一 个 表 的 简 单 查 询, 发 展 到 涉 及 多 个 表 的 分 类 统计 求 和, 根 据 复 杂 的 公 式 分 析 计 算, 进 行 决 策 支 持等, 如 将 这 些 增 强 的 功 能 仍 全 部 放 置 在 表 现 级, 会 使得 客 户 机 越 来 越 不 堪 重 负, 因 此 就 有 人 提 出 在 系 统 中将 商 业 逻 辑 分 离 出 来, 单 独 形 成 了 一 级, 这 就 形 成 了三 级 结 构。 随 着 三 级 结 构 的 进 一 步 发 展, 一 般 总 是 把运 行 在 商 业 逻 辑 级 的 软 件 编 写 成 为 了 一 个 为 客 户 机所 调 用, 能 够 完 成 一 定 的 逻 辑 功 能 的 专 用 软 件, 同 数据 库 服 务 器 相 区 别, 我 们 称 之 为 应 用 服 务 器。 在 一 个网 络 中, 可 以 有 着 多 个 不 同 功 能 的 应 用 服 务 器, 为 客户 机 或 其 它 的 应 用 服 务 器 提 供 专 业 服 务, 这 样, 三 级结 构 就 发 展 成 为 了N 级, 这 就 是 所 谓 的 分 布 式 计 算 方式。

分 布式 计 算 的 优 势:
采 用 分 布 式 计 算 有 着 多方 面 的 技 术 优 势, 包 括:

逻 辑封 装 性: 这 是 分 布 式 模 式 中 最 具 诱 惑 力 的 特 征, 这 种模 式 的 根 基 在 于 将 以 往 全 部 由 客 户 机 完 成 的 事 务 逻辑 中 的 一 部 分 从 客 户 端 分 开。 当 使 公 司 需 要 动 态 改 变一 个 应 用 软 件 的 商 业 逻 辑 规 则 时, 只 要 改 变 一 个 应 用服 务 器 的 程 序 即 可, 而 不 需 要 更 改 客 户 端 用 户 界 面,这 样 就 无 需 中 断 用 户, 为 最 终 用 户 重 新 发 放 新 的 界 面软 件 或 亲 自 上 门 为 其 安 装 调 试 并 重 新 培 训 用 户, 提 高了 工 作 效 率。 这 种 多 级 模 式 对 于 需 经 常、 快 速 改 变 应用 程 序 的 行 业 很 有 帮 助。 瘦 客 户 机: 这 种 类 型 的 应 用在 运 行 时 最 显 著 的 特 点 就 是 减 少 甚 至 消 除 了 传 统 的两 级 体 系 结 构 中, 以 客 户 机 为 中 心 或 称 为“ 肥 客 户” 的 模 式, 减 轻 了 客 户 机 的 功 能 负 担, 使 其 消 肿 成 为了“ 瘦 客 户”。“ 肥 客 户” 是 用 户 感 到 十 分 苦 恼 的 事情, 用 户 为 使 用 更 强 功 能 的 软 件, 就 必 须 付 出 高 昂 的维 护 费 用, 不 断 地 为 个 人 电 脑 的 软 硬 件 设 备 升 级。 近日 流 行 的NC 也 正 是 看 到 一 般 用 户 在 维 护PC 机 运 行 时 负担 过 重, 而 提 出 通 过 网 络 将 一 部 分 的 任 务 交 给 了 服 务器 完 成。 这 两 种 方 法 有 着 相 通 之 处。

性能: 性 能 的 提 高 是 三 级 模 式 最 终 被 用 户 采 用 的 主 要 原因。 将 复 杂 的 应 用 和 商 业 逻 辑 分 离 出 来 由 专 门 的 一 台应 用 服 务 器 来 处 理, 既 可 以 提 高 应 用 的 执 行 速 度, 也可 以 减 少 网 络 调 用 的 通 讯 量。 不 过 这 种 性 能 提 高 是 有一 定 代 价 的。 这 就 是 开 发 时 要 将 应 用 逻 辑 分 割 为 客 户端 逻 辑 和 服 务 器 端 逻 辑, 这 就 增 加 了 设 计 的 复 杂 性。

安 全性 管 理: 在 分 布 式 计 算 模 式 中, 由 于 所 有 的 商 业 逻 辑都 驻 留 在 服 务 器 端, 信 息 管 理 部 门 就 可 以 十 分 方 便 地监 控 服 务 器 的 运 行 情 况, 很 容 易 地 控 制 访 问 服 务 器 以及 与 服 务 器 应 用 打 交 道 人 员 的 数 量。 这 可 以 大 大 简 化管 理 员 对 系 统 的 管 理, 减 轻 系 统 维 护 的 工 作 量, 并 确保 系 统 的 可 靠 运 行。

分 布式 事 务 处 理 最 广 泛 和 最 成 功 的 应 用 当 数Internet/Intranet 技术 了, 尽 管 许 多 人 并 不 意 识 到Internet 就 是 一 个 三 级 体 系结 构 的 代 表。 随 着Internet/Intranet 使 用 的 不 断 深 化, 用 户 对Web 服 务 器 所 查 询 的 信 息 就 不 只 局 限 于 以 文 件 方 式 存 放在 服 务 器 端 的 静 态 的 超 文 本 文 件 了。 这 时 我 们 需 要 借助 关 系 型 数 据 库 来 存 放 变 化 的 数 据, 并 在Web 服 务 器 与数 据 库 服 务 器 之 间 以JDBC、CGI 等 协 议 建 立 起 两 者 的 连接, 使Web 服 务 器 能 够 实 现 对 数 据 库 的 即 席 查 询, 并 将结 果 返 回 浏 览 器。 我 们 可 以 发 现, 在 这 样 一 个Intranet 结构 中, 浏 览 器--Web 服 务 器-- 数 据 库 服 务 器 就 分 别 对 应 于客 户 端-- 应 用 服 务 器-- 数 据 库 服 务 器 三 级 体 系 结 构 中的 三 个 环 节,Intranet 就 是 一 个 典 型 的 三 级 体 系 结 构 的 应用。 因 此, 我 们 可 以 认 为,Internet 模 式 的 技 术 优 势 如 用户 界 面 简 单, 管 理 人 员 易 于 维 护 等 也 正 是 多 级 计 算 方式 的 优 势 所 在。 此 外, 由 于PowerBuilder 支 持 分 布 式 事 务 处理, 这 就 使 得PowerBuilder 很 容 易 地 支 持 了 作 为 分 布 式 事 务的 特 例---Internet 的 开 发 了。

分 布 式 应 用 的 开 发
尽 管分 布 式 计 算 是 一 个 较 新 的 概 念, 但 是 使 用PowerBuilder 开 发分 布 式 应 用 却 十 分 简 单, 只 要 您 会 使 用PowerBuilder 中 的 用户 自 定 义 的 不 可 视 对 象, 您 就 会 很 快 地 掌 握 分 布 式PowerBuilder 的 开 发。 在PowerBuilder 中, 应 用 服 务 器 一 端 的 功 能 都 是 通过 不 可 视 用 户 对 象 实 现 的, 开 发 人 员 可 以 将PowerBuilder 的自 定 义 用 户 的 对 象 放 于 应 用 服 务 器 一 侧, 被 称 作 远 端对 象, 在 客 户 端 放 置 该 用 户 对 象 的 代 理 对 象。 此 外,在 服 务 器 一 侧 有 一 个 新 的transport 对 象 用 于 监 听 任 何 一个 用 户 或 其 它 应 用 服 务 器 的 请 求, 在 客 户 端 有 一 个connection 对 象 用 以 建 立 同 远 端 对 象 的 连 接。 客 户 端 的 应 用 程 序通 过connection 对 象 连 接 应 用 服 务 器, 连 接 建 立 后, 客 户端 的 应 用 就 可 以 象 调 用 本 地 对 象 一 样 调 用 应 用 服 务器 上 的 对 象 函 数 了。 当 然, 我 们 这 里 指 的 用 户 可 以 是一 般 意 义 上 的 客 户, 也 可 以 指 应 用 服 务 器 以 一 个 客 户的 身 份 调 用 其 它 应 用 服 务 器。

远 端的 用 户 对 象 中 的 商 业 逻 辑 可 以 是 采 用PowerScript 编 写 的,作 为 一 个 不 可 视 用 户 对 象 的 特 例, 这 个 对 象 可 以 调 用任 何 函 数 或 使 用 数 据 库 命 令, 它 也 可 以 使 用 不 可 视 的DataStore 来 封 装 数 据 库 访 问,PowerBuilder 5.0 可 以 支 持 除 可 视 对 象 以外 的 所 有 的 数 据 类 型。 在 客 户 端 使 用 这 种 形 式 调 用 就象 在 使 用 存 储 过 程 一 样 将 参 数 通 过 网 络 传 递 给 服 务器, 服 务 器 的 运 行 结 果 返 回 客 户 端。

布式事务处理(Distributed Transaction Processing,DTP)
分布式事务处理是指一个事务可能涉及多个数据库操作,分布式事务处理的关键是必须有一种方法可以知道事务在任何地方所做的所有动作,提交或回滚事务的决定必须产生统一的结果(全部提交或全部回滚)。

分布式事务是指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节点之上。

在一个网络中 ,可以有着多个不同功能的应用服务器,为客户机或其它的应用服务器提供专业服务,这样,三级结构就发展成为了N级,这就是所谓的分布式计算方式。