论文部分内容阅读
本文主要是针对分布式数据库系统中的数据一致性问题.所谓分布式数据库是指数据库中数据在物理上分布但是在逻辑上是一个整体的数据库系统,为了获得更高的可用性,可靠性和安全性,提高系统效率,通常会在分布式数据库中引入多个数据副本,如何保证这些副本数据的一致性是分布式数据库系统的一个核心问题,也是本文的研究重点.用于维护分布式数据库的数据一致性的方法有很多,本文重点讨论了主控副本控制方法,这是分布式数据库中的一种常用方法,适用于对实时性要求不太高的系统,能很好的改善系统的响应效率.但是这种方法存在缺陷,会引起单站点失效问题,因此,在论文中还提出了简单有效的后援主控副本的维护方案,它能有效的解决单站点失效问题,提高系统的可用性.在主控副本方法中如何进行数据库的故障恢复也是论文中讨论的问题,文中针对站点故障和网络分割这两种故障模型进行了分析和讨论,提出了不一致性的检测算法,该算法能够正确有效的检测出系统中的数据不一致性以及发生网络分割的情况,同时简单讨论了不一致性的解决方法.本文的重点是主控副本控制协议.首先在各数据副本中指定某一个副本为主控副本,所有的更新首先在主控副本进行,然后再将更新传播到其它可获得的副本.对主控副本控制协议的研究是基于副本控制协议的通用模型的,共分成四个阶段:提交阶段主要是客户端提交请求,然后是在主控站点执行更新操作,对客户端请求的响应阶段,最后是更新事务的传播以及各辅副本的更新阶段.论文对控制协议的每个阶段的工作流程进行了详细描述,对辅副本的更新提出了两种改进方案:可更新快照方法和缓冲区方法,有效的保证了系统的数据一致性,降低了系统进行数据操作时读取到"脏数据"的几率,能在很大程度上避免系统产生瓶颈问题.更新消息传播时采用了原子广播技术,它有效的保证了消息传播的正确性和有序性.消息传播时以事务单元的形式传播,屏蔽了事务中包含一个或多个操作的不同.