[发明专利]分布式计算机数据存储系统中多副本一致性的控制方法有效
申请号: | 201410165580.X | 申请日: | 2014-04-23 |
公开(公告)号: | CN103986694B | 公开(公告)日: | 2017-02-15 |
发明(设计)人: | 王建民;黄向东 | 申请(专利权)人: | 清华大学 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L29/08;H04L12/24;G06F17/30 |
代理公司: | 北京清亦华知识产权代理事务所(普通合伙)11201 | 代理人: | 罗文群 |
地址: | 100084*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分布式 计算机 数据 存储系统 副本 一致性 控制 方法 | ||
技术领域
本发明涉及一种分布式计算机数据存储系统中多副本一致性的控制方法,属于计算机数据管理技术领域。
背景技术
在分布式数据存储中,为了提高系统的性能以及可用性,将数据以多副本的形式进行存储已成为一种共识。通过多副本,分布式存储系统可以增加读取数据的I/O带宽,以此提高了系统的性能;当某台(某些)机器宕机时,分布式系统仍然有可能访问到数据的其他副本,以此提高了系统的可用性。现在流行并迅速发展的分布式文件系统以及NoSQL数据库均采用了多副本的策略,如Hadoop的HDFS,Facebook的Cassandra,MongoDB,Hbase,Dynamo等等。
在带来上述益处的同时,多副本之间的数据一致性需要额外的维护代价。数据一致性是指在多副本的分布式数据存储系统中,用户总能读取到最新写入的数据。CAP理论简洁地说明了在当前的分区容忍下,同时保证系统的高度可用性与数据一致性是无法实现的。
现有的分布式数据库系统采取牺牲一定的一致性来保证系统的7*24小时的高可用性。由此给分布式数据管理系统带来了一个新的问题:副本之间的一致性程度如何,以及一致性程度如何进行控制。
发明内容
本发明的目的是提出一种分布式计算机数据存储系统中多副本一致性的控制方法,针对现有的分布式存储系统副本一致性不能直观控制的难题,采用基于队列长度的控制方法,以控制副本的一致性级别,确保分布式存储系统中的数据的多副本之间的最大版本差异能限制在用户允许的范围内。
本发明提出的计算机数据分布式存储系统中多副本一致性的控制方法,包括以下步骤:
(1)记分布式存储系统的节点集合为S,在S中的节点A到节点B的实现通信的转发队列记做SQAB,该转发队列能同时进行转发操作的转发操作数量N_SQAB,S中节点C的用于执行写请求的执行队列记做MQc,该执行队列能同时进行写操作的写操作数量N_MQA,记用户期望的分布式存储系统的同一数据项的不同副本间差异度小于k;
(2)对于一个写请求,设定节点A为协调者节点,集合SA为非协调者节点集合,对于每一个非协调者节点B∈SA,设定协调者节点A与非协调者节点B实现通信的转发队列SQAB的队列长度阈值为L_SQAB,协调者节点A的所有转发队列集合为SQA,节点A执行写请求的执行队列MQA的队列长度阈值为L_MQA,其中L_SQAB=α×k×N_SQAB,L_MQA=β×k×N_MQA,其中α和β取值为任意正整数;
(3)分布式存储系统中的协调者节点A接收到客户端的写请求后,协调者节点A从分布式存储系统中找到存储与该写请求对应的数据副本的所有非协调者节点B∈SA,协调者节点将该写请求插入到本节点的用于与包含该数据项副本的所有非协调者节点实现通信的转发队列SQAB∈SQA中,插入过程包括以下步骤:
(3-1)对协调者节点A中用于与非协调者节点实现通信的所有转发队列SQAB∈SQA的长度分别进行判断,若该转发队列SQAB的长度小于该转发队列长度阈值L_SQAB,则将写请求插入到该转发队列末尾,等待转发,若该转发队列SQAB的长度大于或等于该转发长度阈值L_SQAB,则该写请求暂时不进入转发队列,进入阻塞状态,直到转发队列长度小于L_SQAB,从阻塞状态转换为工作状态,将写请求插入到该转发队列末尾,等待转发;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410165580.X/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置