- 1、本文档共231页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于法定数量的协议 第一个限制条件用于防止读写操作冲突,而第二个用于防止读读操作冲突。只有在适当个数的服务器同意参与文件的读写后,客户才能读或写该文件。 如下图(a)所示,其中NR = 3且NW = 10。假设最近的写团体由服务器C到L的10个服务器组成。任何随后由三个服务器组成的读团体必须至少包含一个该集合中的服务器。客户查看版本号时,它会知道哪个服务器是最新的,并选择那个服务器。 基于法定数量的协议 基于法定数量的协议 在上图(b)中说明可能发生写写操作冲突,这是因为Nw?N/2。特别,如果一个客户选择{A, B, C, E, F, G}作为它的写集合,而另一个客户选择{D, H, I, J, K, L}作为它的写集合,那么显然会遇到麻烦,因为我们没有检测这两个更新实际上是否冲突而直接接受了这两个更新。 基于法定数量的协议 上图(c)所示的情况特别有趣,因为它设置NR为1,这使它可以通过找到并使用复制的文件的任何拷贝来读取该文件。但是,它所付出的代价是写更新需要获取所有拷贝。这种方法通常称为“读一个,写全部”(read-one, write all简记为ROW)。基于法定数量的复制协议有许多变种。文献(Jalote 1994)很好地总结了这些协议。 高速缓存相关性协议 高速缓存相关性协议 高速缓存相关性协议 高速缓存相关性协议 一致性协议 换句话说,需要一个保持复制一致的协议。两个维持一致性的基本协议是 写-使无效协议和 写更新协议。 基于主备份的协议 基于主备份的协议 ②主备份协议(primary-backup protocol) 允许进程在本地可用的副本上执行读操作,但必须向一个固定的主拷贝转发写操作。下图表示了协议的工作原理。 要对数据项x执行写操作的进程把该操作转发给x的主服务器,主服务器在其x的本地拷贝上执行更新,然后将更新转发给备份服务器。每个备份服务器也都执行这个更新,然后向主服务器返回一个确认消息。当所有的备份服务器都更新了它们的本地拷贝后,主服务器向初始进程返回一个确认消息。 基于主备份的协议 基于主备份的协议 该方法存在一个潜在性能问题,即启动更新的进程被允许继续执行前可能需要等待相对较长的时间。实际上,在这种方法中,更新是以阻塞操作方式实现的。 另一种方法是使用非阻塞的方式,只要主服务器已经更新了其x的本地拷贝。它就返回确认消息。然后,它再通知备份服务器也执行这个更新。 基于主备份的协议 非阻塞的主备份协议中的主要问题是其容错能力。在阻塞的方式中,客户端进程确切地知道其它备份服务器执行了更新操作。但是在非阻塞的方式中,情况并非这样。 基于主备份的协议 主备份协议提供了一种实现顺序一致性的直接方法,因为主服务器可以对所有进程的写操作排序。显然,无论各个进程使用哪个备份服务器执行读操作,所有进程都会以相同的顺序看到所有的写操作。在阻塞的方式中,进程将总会看到它们最近执行的写操作的结果。但在阻塞的方式中,若不采取特殊措施将不能保证这一点。 基于主备份的协议 ⒉本地写协议 ①完全迁移协议:每个数据项x都只有一个单一的拷贝,也就是说不存在多个副本。每当一个进程要在某个数据项上执行操作时,先将那个数据项的单一拷贝传送到这个进程所在的节点,然后进程再执行相应操作。这个协议本质上建立了一个完全分布式的、非复制的数据存储。 基于主备份的协议 其一致性是直截了当的,因为每个数据项总是只有一个单一的拷贝。下图表示了这个协议。 这个完全迁移协议的一个主要问题是它需要跟踪每个数据项的当前位置。对于局域可使用底层的广播工具来解决。另一种解决方法是使用转发指针和基于原点的方法。这种方法已应用于分布式共享存储系统。但是,使用大规模的分布较广的数据存储时,要使用其它机制,例如层次定位服务。 基于主备份的协议 基于主备份的协议 ②主备份迁移本地写协议:在主备份协议中,主拷贝在多个要执行写操作的进程的节点之间迁移。即每当一个进程要更新数据项x时,它先定位x的主拷贝,然后将该拷贝移动到它自己的节点位置,如下图所示。 基于主备份的协议 基于主备份的协议 这种方法的主要优点是多个相继的写操作可在本地进行,而执行读操作的进程仍然可以访问它们的本地拷贝。但是,只有使用非阻塞协议,即在主备份收到更新后,将更新传播到其它副本时,才可实现这个优点。它已经被应用到各种分布式共享存储系统。 基于主备份的协议 这种协议也可应用到能够以离线方式操作的移动计算机。离线前移动计算机成为每个它期望更新的数据项的主服务器。离线时所有更新操作都在本地执行,而其它进程仍可以执行读操作,但不能执行写操作。稍后,再次连接时,更新从主服务器传播到备份服务器,使数据存储再次达到一致的状态。 复制的写协议 在复制的写协议中,写操作可以在多个副本上执行,而不是像基于主备份协议那样只在一
文档评论(0)