2013年5月23日
摘要: 附件C-一致性模型对一致性模型的描述主要从三个出发点进行考虑:(1) 响应前还是响应后,即在完成对所有副本数据集的同步前返回用户,还是完成同步后再给用户反馈。(2) 进行同步对象的多少,是对每次更新进行同步还是在多次更新后再同步。(3) 对更新顺序的维护,维护更新操作间不同的顺序会提供不同的一致性,当完全不考虑更新顺序,甚至更新的类型时,只提供最终数据的相互一致,则是最终一致性。1.相互一致性文献... 阅读全文
posted @ 2013-05-23 21:35 修炼思维 阅读(241) 评论(0) 推荐(0) 编辑
摘要: 附件B-Version vectors算法介绍和不足Version vectors算法在分布式操作系统LOCUS中提出【Pope et al.1981】,用于检查分布式系统中,在网络中断期间对数据进行的并发修改是否存在冲突。下面对Version vectors算法进行说明,然后再论述该算法的不足。Version vectors算法介绍每一个副本节点对于文件f保存一个版本向量version vect... 阅读全文
posted @ 2013-05-23 21:28 修炼思维 阅读(272) 评论(0) 推荐(0) 编辑
摘要: 10. 总结 本节将会对前面给出的算法和系统做一个总结,并为乐观复制系统的设计者和用户给出一些建议。10.1 对比乐观复制策略 表4总结了Section1.4中所介绍的乐观复制系统在最高比较层面上的不同。该表说明了这里并没有唯一的赢家;每种策略都有自己的优点和缺点。单master传输对于请求负载主要为读取的应用并仅有一个写入节点的应用是一个好的选择,因为它的实现简单同时没有冲突。多master的状... 阅读全文
posted @ 2013-05-23 21:27 修炼思维 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 9. 扩展乐观复制系统 本节讨论在乐观复制环境下如何支持大量副本节点。(支持大对象的问题在5.3节已经讨论过了)我们将讨论支持许多副本的挑战以及三条补救路线:一个结构化的通信拓扑,主动式的更新推送,以及高效网络。9.1 评估冲突比例 支持多副本会产生两个问题:增加更新冲突以及传播延迟。更新冲突问题需要一些说明。Gray,Helland,O’Neil和Shasha指出多master的乐观复制系统无法... 阅读全文
posted @ 2013-05-23 21:25 修炼思维 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 8. 保证内容质量 乐观复制算法不能保证单个副本的一致性。一致性仅能保证副本在静止状态是一致的,或者在过去的某一个虚拟点上是一致的。因为更新请求的到达可能是乱序,以及没有严格的传输延时限制,乐观复制难以向用户提供某一个时间点上副本内容的一致性保证。 一些复制服务在采用弱一致保证时仍工作的很好。Usenet和Porcupine邮件服务就是这样的例子;副本不一致不会比NNTP和SMTP中的潜在问题更糟... 阅读全文
posted @ 2013-05-23 21:22 修炼思维 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 7.Operation-transfer系统中的调度和冲突处理 本章讨论operation-transfer系统中的操作调度算法,以及为达成一致的冲突操作解决。调度紧密地依赖可靠的组通信,向所有站点传播顺序定义良好的网络消息。实际上,TSAE(Time-Stamped Anti-Entropy protocol)作为一个组通信服务出现,尽管它很容易被理解为一个乐观复制服务。本书中呈现的语法更新调度... 阅读全文
posted @ 2013-05-23 21:20 修炼思维 阅读(366) 评论(0) 推荐(0) 编辑
摘要: 6.多Master的operation transfer系统我们转向研究多master的operation-transfer系统。Operation-transfer系统比state-transfer系统要复杂许多,因为副本为了能达到一致必须在操作集以及操作顺序上达成一致。一个operation-transfer系统工作的基本流程:1)副本从一个公共的初始状态开始2)每个Master节点维护一个l... 阅读全文
posted @ 2013-05-23 21:19 修炼思维 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 5.多master的state-transfer系统 我们现在开始着手在多master系统中实现一致性。这一章讨论state-transfer系统;对operation-transfer系统的讨论在第6和第7章。 一个state-transfer系统在每个节点包括下面组成部分:对象内容,描述副本如何更新的信息(比如,a timestamp)。副本一致性管理通常通过下面步骤实施:1)一个站点决定与另... 阅读全文
posted @ 2013-05-23 21:17 修炼思维 阅读(332) 评论(0) 推荐(0) 编辑
摘要: 3. 基本定义这一节介绍一些重要的词汇。3.1节说明对象,3.2节定义冲突,3.3节对冲突处理技术进行分类。3.1 对象任何复制系统都有一个最小更新粒度的概念,有些系统表示为可识别的粒度,有些系统表示为可传播更新的粒度。文中我们称最小的粒度为对象。不同系统的对象可能差距巨大。比如,文件同步中,一个典型的对象是一个目录或者文件。在groupware系统中,相同的文件会被视为一个包括许多对象文档;比如... 阅读全文
posted @ 2013-05-23 21:15 修炼思维 阅读(246) 评论(0) 推荐(0) 编辑
摘要: 2. 采用乐观复制技术的应用乐观复制被应用到许多重要领域,包括广域网的数据管理,移动信息系统,和基于计算机的协作。为后续技术的讨论提供背景,我们将选取这些领域中的一些主要服务,介绍它们的功能和结构。2.1 互联网服务对于站点间通信缓慢和不可靠的情况,乐观复制特别具有吸引力,对于互联网上的应用这一点十分突出。我们将考察两种互联网应用,一个是广播信息的应用,另一个是具有更多信息交互的应用。1.1.1 ... 阅读全文
posted @ 2013-05-23 21:13 修炼思维 阅读(275) 评论(0) 推荐(0) 编辑
摘要: 乐观复制算法 在分布式数据共享系统中,复制是能同时提高系统可用性和性能的一项关键技术。本文讨论的乐观复制算法,为了支持并发工作,容忍低质量通信链路中的错误,它允许副本内容在短时间内出现不一致。随着基于广域网和移动网络的协作越来越流行,这项技术也越来越重要。 乐观复制算法采用的技术与传统的悲观算法有很大的不同。与悲观算法依赖于同步副本的协作不同,乐观算法在后台传播更新,在更新发生后发现冲突,逐步在对... 阅读全文
posted @ 2013-05-23 21:12 修炼思维 阅读(687) 评论(0) 推荐(0) 编辑
摘要: 本文是关于乐观复制算法的一篇综述性文章。对于弱一致性,乐观复制的研究主要是因为三年前我们想实现一款与Dropbox类似的软件。在过去的三年间,我们完成了我们的工作,同时也解决了期间遇到的许多问题。在解决这些问题中,个人觉得《Replication: Optimistic Approaches》(Yasushi Saito, Marc Shapiro 2004)这篇文章对我们的帮助最大,所以自己抽空... 阅读全文
posted @ 2013-05-23 21:09 修炼思维 阅读(230) 评论(0) 推荐(0) 编辑