[发明专利]一种用于多副本分布式系统的计算机数据读写方法有效
申请号: | 201310475697.3 | 申请日: | 2013-10-12 |
公开(公告)号: | CN103530362B | 公开(公告)日: | 2017-01-04 |
发明(设计)人: | 汪东升;王占业;鞠大鹏 | 申请(专利权)人: | 清华大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京清亦华知识产权代理事务所(普通合伙)11201 | 代理人: | 罗文群 |
地址: | 100084*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用于 副本 分布式 系统 计算机 数据 读写 方法 | ||
技术领域
本发明涉及一种用于多副本分布式系统的计算机数据读写方法,属于计算机网络技术和计算机数据存储技术领域。
背景技术
随着大数据时代的到来,来自多媒体、互联网的数据正经历着爆炸性增长,单节点计算机系统已经无法满足海量数据的计算与存储要求,所以越来越多的研究机构与IT厂商采用分布式系统解决大量数据的存储、组织与管理问题。分布式系统由多个计算机节点组成,将数据分散存储在多台独立的计算机上,这种设计不但提高了分布式系统的可靠性、可用性和存取效率,还易于扩展。由于在分布式系统中,每个计算机节点都存在发生故障的可能性,所以在存储数据时,分布式系统会对同一份数据产生多份副本,各个副本存放在不同的计算机节点上,当某个计算机节点出现故障时,系统还可以从其它计算机节点获取到相同的数据。
由于每份数据都有多个副本,这就引入的数据访问一致性的问题,即在某份数据的更新过程中,该份数据的各个副本可能会产生数据不一致的情况。针对一致性问题,目前常用的有两种解决方案,各有利弊:
1、同步写入:计算机用户一次性写入所有副本,副本在写入过程中不可以被其他计算机用户访问,这种方案的好处在于,无论哪个用户访问数据时,都会读取到最新的数据,但缺点也很明显,即计算机用户写入数据耗时很长,因为需要等待所有的副本都更新完成。
2、异步写入:对于数据一致性做出一定妥协,计算机用户只写入数据的一个副本即可继续其它操作,不需关系其它副本是否已写入成功,其它副本的写入采用异步的方式进行,所有的副本最终状态是一致的,但在副本数据的异步更新过程中,其他用户可能会读到未被更新的数据副本。
发明内容
本发明的目的是提出一种用于多副本分布式系统的计算机数据读写方法为,以克服已有方法的不足之处,采用时间信息与数据信息相分离的方式,可以保证读操作不会读到未被更新的数据,而写操作的延迟远低于同步更新方法。
本发明提出的用于多副本分布式系统的计算机数据读写方法,多副本分布式系统内的每份数据有N个副本,N为奇数,定义N个副本中的任意一个副本为主副本,主副本用于接受计算机用户的写请求,N份副本用于接受读请求,该方法中的数据写操作包括以下步骤:
(1)计算机用户向多副本分布式系统发起一个写请求,写请求数据的标识记为K,并将写请求发送至标识为K的数据的主副本所在计算机节点;
(2)主副本所在计算机节点接收到写请求后,调用多副本分布式系统的接口,该接口利用网络时间协议,从本计算机节点中读取当前时间,记为操作时间戳ts,并将操作时间戳ts与标识K发送给标识为K的数据的其余N‐1份副本所在的计算机节点,N‐1份副本所在的计算机节点接收到操作时间戳ts与标识K后,向主副本所在计算机节点发出接收确认;
(3)主副本所在计算机节点接收到(N‐1)/2份接收确认后,将标识为K的数据写入成功的信息通知计算机用户;
(4)主副本所在计算机节点生成一个与操作时间戳ts数值相同的数据时间戳ts_data,调用多副本分布式系统的接口,向其余N‐1份副本所在的计算机节点发送标识K、数据时间戳ts_data以及请求写入的标识为K的数据;
(5)除主副本外其余N‐1份副本所在计算机节点接收到主副本所在计算机节点发出的标识K、数据时间戳ts_data以及请求写入的标识为K的数据,写操作结束;
数据读操作包括以下步骤:
(6)计算机用户向多副本分布式系统发起一个读请求,读请求数据的标识记为J,计算机用户调用多副本分布式系统的接口,向标识为J的数据的所有N份副本所在计算机节点发送一个读取请求,并等待N份副本所在计算机节点的接收确认;
(7)标识为J的数据的副本所在计算机节点接收到计算机用户的上述读请求后,从本计算机节点内检索标识为J的数据的操作时间戳ts和数据时间戳ts_data,若操作时间戳ts与数据时间戳ts_data同时被检索出,则向计算机用户发送操作时间戳ts作为确认信息,若操作时间戳ts与数据时间戳ts_data中的任意一个未被检索出,则向计算机用户发送一个字符串“Null”作为确认信息;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310475697.3/2.html,转载请声明来源钻瓜专利网。