论文网首页|会计论文|管理论文|计算机论文|医药学|经济学论文|法学论文|社会学论文|文学论文|教育论文|理学论文|工学论文|艺术论文|哲学论文|文化论文|外语论文|论文格式
中国论文网

用户注册

设为首页

您现在的位置: 中国论文网 >> 计算机论文 >> 计算机理论论文 >> 正文 会员中心
 计算机应用论文   计算机理论论文   计算机网络论文   电子商务论文   软件工程论文   操作系统论文   通信技术论文
云存储中基于PAXOS算法的数据一致性研究
【摘 要】云存储技术需要完善的数据一致性管理机制以保证分布式计算环境中的数据安全、可用和可靠性。本文分析了云存储中数据一致性问题,介绍了分布式系统中解决数据一致性问题的paxos算法,提出了基于paxos算法的数据复制一致性问题解决方案。该解决方案对于云存储系统的设计和构建有一定的参考价值。
  【关键词】数据一致性;paxos算法;云存储
  0 前言
  随着云计算的兴起,云存储成为信息存储领域的一个研究热点。云存储是云计算的底层服务,具有海量存储、随意读取、实时扩容、saas、统一管理、超强安全及资源共享等特性。它是基于商业组件的,可按需收费,可跨不同应用,不受具体地理位置所限等。云存储还灵活支持各种协议,具有性能、容量、空间的扩展能力,具有提供高效技术架构的能力,其高效的存储节省更多的电耗、空间和制冷等。云存储在“云”的环境里,能够自由移动、迁移应用,而不影响到它的高可用性。
  云存储提供了存储服务,通过网络将本地数据存放在存储服务提供商(ssp)提供的在线存储空间。需要存储服务的用户不再需要建立自己的数据中心,只需向ssp申请存储服务,从而避免了存储平台的重复建设,节约了软硬件基础设施投资。云存储已经推出,就得到了众多厂商的关注和支持。amazon公司推出弹性块存储(ebs)技术支持数据持久性存储;google推出在线存储服务gdrive;microsoft公司推出windows azure,并在美国各地建立庞大的数据中心;ibm也将云计算标准作为全球备份中心扩展方案的一部分。Www.11665.coM
  1 云存储中数据一致性问题
  在云存储的文件系统中,数据复制是不可避免的,而且是大量的。首先,复制可以提高系统的可靠性。如果一个文件系统已经实现了数据复制,那么当一个副本被破坏时,文件系统只需要转换到另一个副本就可以继续运行下去。通过维持多个副本,系统可以更好的防止数据破坏。其次,复制可以提高性能。当分布式系统需要在服务器数量和地理区域进行拓展时,系统可以在服务器端进行复制,随后让他们分担工作负荷;对于地理区域的复制,如果在使用数据的进程附近放置一份该数据的副本,那么进程访问数据所花费的时间将减少,性能得以提升。
  然而复制会带来一系列的问题,其中最为突出的一个就是一致性问题。所谓数据一致性,就是当多个用户试图同时访问一个数据库,它们的事务同时使用相同的数据时,可能会发生以下四种情况:丢失更新、未确定的相关性、不一致的分析和幻想读。解决一致性问题的算法很多,但是解决分布式系统的一致性问题的算法,最受关注的就是paxos。随着云存储技术的发展,paxos算法得到了空前的重视。google甚至在其论文中公开宣称,分布式文件系统中只有一种一致性算法,那就是paxos。
  2 paxos算法介绍
  paxos算法是leslie lamport在1990年提出的一种基于消息传递的一致性算法。这个算法被认为是类似算法中最有效的。一个典型的场景是,在一个分布式数据库系统中,如果各节点的初始状态一致,每个节点都执行相同的操作序列,那么他们最后能得到一个一致的状态。为保证每个节点执行相同的命令序列,需要在每一条指令上执行一个“一致性算法”以保证每个节点看到的指令一致。
  为描述paxos算法,leslie lamport虚拟了一个叫做paxos的希腊城邦,这个岛按照议会民主制的政治模式制订法律,但是没有人愿意将自己的全部时间和精力放在这种事情上。岛屿paxos上的执法者在议会大厅中表决通过法律,并通过服务员传递纸条的方式交流信息,每个执法者会将通过的法律记录在自己的账目上。问题在于执法者和服务员都不可靠,他们随时会因为各种事情离开议会大厅,并随时可能有新的执法者(或者是刚暂时离开的)回到议会大厅进行法律表决,使用何种方式能够使得这个表决过程正常进行,且通过的法律不发生矛盾。
  不难看出故事中的议会大厅就是我们的分布式系统,每个执法者就是对应的每个节点或者进程,服务员传递纸条的过程即通信的过程,法律即是我们需要保证一致性的值。执法者和服务员的进出对应着节点/网络的失效和加入,执法者的账目对应节点持久化存储设备。上面表决过程正常进行可以进一步表述为过程需求:当大部分执法者在议会大厅呆了足够长时间,且期间没有执法者进入或者退出,那么提出的法案应该被通过并被记录在每个执法者的账目上


  在该算法中规定了3种角色(proposers,acceptors,和learners)和2个阶段(accept和learn)。其中proposers提出决议,acceptors批准决议,learners获取并使用已经通过的决议。在这种情况下,满足以下3个条件就可以保证数据的一致性:
  (1)决议只有在被proposers提出以后才能批准。
  (2)每次只批准一个决议。
  (3)只有决议确定被批准后learners才能获取这个决议。
  paxos至今己有许多实现方案,主要有google文件系统中的分布式锁服务chubby,但表现形式也不确定,可能是以库的形式提供也可能散布在程序的很多地方。
  3 基于paxos算法的数据复制一致性问题解决方案
  客户端需要通过一个数据代理服务器将一个文件写入到块服务器中。如果假设只有一个服务节点,每个客户端均连接到此,那么一个文件写入后,之后的客户端总可以在这个节点上通过该文件的数据索引到写入的文件分块。
  单点接入主要存在单点故障问题,使得系统的可靠性不足,当然,可以考虑实时备份方案。当检测到故障发生时,立即切换到备份节点,然而性能尤其是并发接入却不能保证。所以,提出了通过数据服务器的代理模型,此时就相当于增加了一个服务节点。通过多个服务节点进行文件写入服务后,节点之间进行数据的复制使得之后接入的客户端在其它数据服务器上也能访问到这个文件的分块。由于消息传输的不确定性,多个客户端的接入会导致问题的复杂化。这将形成一个异步系统——提交消息的时间上界不固定,或者执行之间的时间间隔不固定。
  深入来看,在上面的模型中,数据复制的份数相当于读取数据的时候需要读取的节点数,更新数据时需要保证写完成的节点数最小为1。只需要一个节点写入成功即可,写性能和可用性都比较高。但是读取其他节点的进程可能不能获取更新后的数据,因此是弱一致性。可以采用paxos算法,将更新数据时需要保证写完成的节点数大幅度提高,目的在于增强元数据复制的一致性。
  4 结束语
  云存储技术是现在的研究热点,而其中的数据一致性问题则是其中的关键技术。通过对数据进行高效管理和技术改进,使云存储技术向更高效、更安全的方向发展,逐步被广泛使用,彻底改变原有的存储模式,这其中还有很长一段路需要我们不断探索前进。
  【参考文献】
  [1]lamport, l. paxos made simple[j].acm sigact news 32,4(2001):18-25.
  [2]lamport, l. the part-time parliament[j].acm tocs 16,2(1998):133-169.
  [3]王红爱,祝红光,贾新茹.铁路客票系统中基于paxos算法的数据一致性模型研究[j].铁路计算机应用,2012,2:24-25.
  [4]徐小龙.分布式存储系统中数据副本管理机制[j].计算机技术与发展,2013, 23(2):245-249.
  [责任编辑:陈双芹]
  • 上一个计算机论文:
  • 下一个计算机论文:
  •  更新时间:2014-01-07 17:52:28  作者:佚名 [标签: 算法 数据一致性 ]
    姓 名: *
    E-mail:
    评 分: 1分 2分 3分 4分 5分
    评论内容:
    发表评论请遵守中国各项有关法律法规,评论内容只代表网友个人观点,与本网站立场无关。
    移动存储器在计算机操作系统安装中的应用
    浅论GIS中多媒体信息存储和管理方式的研究
    云存储技术及其应用
    简论云存储应用中的加密存储及其检索技术
    IP网络存储技术在数字图书馆系统中应用分析
    网络存储技术初探
    网络存储服务器优势分析
    存储备份技术探析
    顺序存储的线性表中关键字数量有限的记录的
    应用于海量存储中高度容错的新编码方案
    存储备份技术探讨
    几种常见的网络存储技术的比较研究
    | 设为首页 | 加入收藏 | 联系我们 | 网站地图 | 手机版 | 论文发表

    Copyright 2006-2013 © 毕业论文网 All rights reserved 

     [中国免费论文网]  版权所有