- 5
- 0
- 约8.54千字
- 约 8页
- 2017-10-19 发布于重庆
- 举报
分布式数据库系统及其应用第四章
第四章?分布式数据库中的事务管理和恢复
?两阶段提交(2PC)
由于两阶段提交(2PC)在系统效率和可用性两方面都存在缺碴 一方面与单节点事务相比.2PC的分布事务太慢;另一方面一旦参与分布事务的某一个结点不适时地失败,会使其它结点无法继续处理数据,从而降低了系统的可靠性复制服务器有敛地解决了2PC存在的同题。
首先,从效率上看.通过数据在多个节点的副本.使某节点对该数据的访问无需通过网络远程去获取-而且复制服务器的异步RPC技术使原来依赖于2PC技术的分布式事务能快速有效地进行;从可用性看,复制服务器通过Store—Forward技术解决了原有系统对网络及远程节. 可用性的依赖,在网络或远程节点出现故障时本地正常提交,复制服务器监听各种状态,一旦网络重新连通或远地节点恢复运行,则能将事务传递到远程节点进行同步?Replication Server在整个Client/Server网络的异构平台上同步复制数据.它赋予了高度的本地自治能力和灵活性。
三阶段提交协议
主要思想是将事务的提交过程进行延长,增加了发起者结点的预提交状态和参与者结点的准备提交状态,因而在发生故障时参与者可以有更多的选择余地。具体的说,如果是参与者发生了故障,那么它重新启动后就向其他未发生故障的参与者发送查询消息,如果已经有结点进人PREPARE COMMIT状态那么故障结点就可以提交,因为发起者发出PREPARE TO COMMIT命令的前提是收到了所有参与者结点的READY消息。如果任一参与者都没有收到PREPARE TO COMMIT命令,就要考虑事务的发起者是否出现了故障,按照协议,所有无故障的参与者可依据某种策略(如排队法)来产生新的发起者来结束事务,新的发起者可以撤消事务以使各参与者尽快释放所占有的资源。如果原来的发起者发生故障时已经有参与者收到了准备提交命令,则新推选出的参与者可发出COMMIT命令提交事务。
平坦事务模型
平坦事务模型是一种简单的事务模型,其事务性应用控制只有一层,事务的ACID特性能够得到保证,适用于短事务和较为简单的应用.目前代表产品主要有IBM Websphere,BEA Weblogic等.它不仅包括对分布事务处理的支持,还能够在成千上万的Internet用户并发访问规模下,支持多种类型的客户访问及高可用的服务性能.
基于角色的分布式事务处理模型设计
传统的事务处理主要应用于数据库系统和操作系统领域。随着网络技术和分布式对象技术的飞速发展,在大型的、分布的、异构的计算环境中也广泛引入了事务处理技术。通过比较分析目前主要分布式事务处理模型的优缺点,在异构数据集成系统中设计一种基于角色的Agent分布式事务处理模型,旨在异构数据集成系统中建立高性能、高可用性的应用。
Agent是能为用户执行特定的任务,具有一定程度的智能以允许自主执行部分任务并以一种合适的方式与环境相互作用的软件程序。Agent首先是智能化的,它对环境具有响应性、自主性和主动性,同时Agent具有自适应性、社会姓。Agent有静态和移动Agent之分,移动Agent除了有静态Agent的特性之外,还有节省带宽、均衡网络负载等特性.
事务创建Agent:事务创建Agent在收到事务性应用程序的创建事务请求信息后,为新建事务分配一个唯一的事务标识号,并且为事务创建相应的事务协调Agent。
事务分解Agent:事务分解Agent负责判断事务是局部事务还是全局事务。如果是一个全局事务,事务分解Agent则把全局事务映射到多个分布站点的子事务上去,保证全局事务的正确调度执行。
事务协调Agent:事务协调Ag ent是移动Ag ent,它根据各个分布式场地参与者的表决信息来完成局部或全局事务的提交或回滚,实现事务的两阶段提交协议保证事务执行的原子性。
事务控制Agent:在异构数据集成系统中,不同模式结构的分布式数据资源允许多个用户同时访问和使用。
因此在同一时刻可能存在多个并行运行的事务,如何保证一个对象被并行事务计算和访问时的数据一致性,这就需要用到事务控制Agent。事务控制Agent主要负责协调并行运行的事务,保证事务执行的可串行性,从而保证数据资源的一致性。
事务日志Agent:事务日志Agent记录事务执行过程中发生的所有事件,为事务恢复提供依据。事务日志Agent把事务开始、事务提交、事务结束和事务回滚等每一个操作都登记为一条日志记录,存放在日志文件中。日志登记次序严格按照并行事务操作执行的时间次序,同时遵循先写日志文件,再执行操作的规则。
事务恢复Agent:事务恢复Agent主要是为了在事务异常情况下采取一定的事务恢复策略来保证事务的原子性。根据事务执行在空间、时间上出现故障的不同,事务恢复Agent将采取不同的恢复策略,如果故障出现在两阶段协议
原创力文档

文档评论(0)