[发明专利]分布式计算机数据存储系统中多副本一致性的控制方法有效
申请号: | 201410165580.X | 申请日: | 2014-04-23 |
公开(公告)号: | CN103986694B | 公开(公告)日: | 2017-02-15 |
发明(设计)人: | 王建民;黄向东 | 申请(专利权)人: | 清华大学 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L29/08;H04L12/24;G06F17/30 |
代理公司: | 北京清亦华知识产权代理事务所(普通合伙)11201 | 代理人: | 罗文群 |
地址: | 100084*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明涉及一种分布式计算机数据存储系统中多副本一致性的控制方法,属于计算机数据管理技术领域。首先根据设定的分布式系统的副本差异度,计算并设定分布式存储系统的节点的转发队列和执行队列长度,节点接收到读写请求后,首先判断节点的转发或执行队列的长度是否小于设定的阈值,若小于阈值,则将请求插入到相应的队列中,若大于或等于阈值,则将插入操作阻塞,直到队列长度小于阈值后,取消阻塞,将请求插入到相应的队列中。本发明方法通过对队列的长度控制和阻塞操作,能够使分布式存储系统的副本差异准确地维持在一定范围内,方法直观有效、便于使用。 | ||
搜索关键词: | 分布式 计算机 数据 存储系统 副本 一致性 控制 方法 | ||
【主权项】:
一种计算机数据分布式存储系统中多副本一致性的控制方法,该方法包括以下步骤:(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,从阻塞状态转换为工作状态,将写请求插入到该转发队列末尾,等待转发;(3‑2)对协调者节点A中的数据副本进行判断,若协调者节点A中不存在与写请求对应的数据副本,则写请求不进入协调者节点A的执行队列,若协调者节点A中存在与写请求对应的数据副本,则当协调者节点A的执行队列MQA的队列长度小于上述执行队列的长度阈值L_MQA时,协调者节点A将写请求插入到执行队列MQA中,等待执行,当协调者节点A的执行队列长度大于或等于上述执行队列的长度阈值L_MQA时,写请求暂时不进入执行队列,进入阻塞状态,直到执行队列长度小于L_MQA时,从阻塞状态转换为工作状态,将写请求插入到执行队列中,等待执行;(4)协调者节点A依次将所有转发队列SQAB∈SQA中的写请求转发给对应的非协调者节点B∈SA;(5)非协调者节点B∈SA接收到协调者节点A转发的写请求后,对本节点B的用于写请求的执行队列MQB的长度进行判断,若执行队列MQB的长度小于上述长度阈值L_MQB,则本节点B将写请求插入到执行队列MQB中,等待执行;若执行队列的长度大于或等于长度阈值L_MQB,则写请求不进入执行队列MQB,进入阻塞状态,直到执行队列长度小于L_MQB,从阻塞状态转换为工作状态,将写请求插入到执行队列中MQB,等待执行;(6)上述步骤(3‑2)中插入了该写请求的协调者节点A与上述步骤(5)中的非协调者节点B∈SA执行本节点中执行队列中的写请求,若写请求操作失败,则减小执行队列长度L_MQ的值,减小方法为:使上述β=β‑1,根据公式L_MQ=β×k×N_MQ,重新计算L_MQ,若写请求操作成功,则该节点向协调者节点返回写入成功信息;(7)设定协调者节点需要接收到成功信息次数的阈值,在设定时间内,对协调者节点收集到成功信息的次数进行判断,若成功信息次数大于或等于成功信息次数阈值,则对于所有的B∈SA,保持所有的L_SQAB不变,若成功信息次数小于成功信息次数阈值,则对于所有的B∈SA,减小所有的L_SQAB的值,减小方法为:使上述α=α‑1,根据公式L_SQAB=α×k×N_SQAB并重新计算所有的L_SQAB,其中B∈SA;(8)对步骤(6)中执行写请求的节点的重新计算得到的执行队列长度L_MQ进行判断,若重新计算得到的执行队列长度L_MQ与该节点原有执行队列长度L_MQ不等,则使用该节点重新计算得到的执行队列长度L_MQ代替该节点原有的执行队列长度L_MQ;若若重新计算得到的执行队列长度L_MQ与该节点原有执行队列长度L_MQ相等,则保持L_MQ不变;(9)分别对步骤(7)中协调者节点A和非协调者节点B,A∈S,B∈SA,重新计算得到的转发队列长度L_SQAB进行判断,若重新计算得到的转发队列长度L_SQAB与协调者节点A原转发队列长度L_SQAB不等,则使用步骤(7)中重新计算得到的转发队列长度L_SQAB代替步骤(2)中的协调者节点A的转发队列长度L_SQAB,若重新计算得到的转发队列长度L_SQAB与协调者节点A原转发队列长度L_SQAB相等,则保持步骤(2)中的协调者节点A的转发队列长度L_SQAB不变;(10)以步骤(8)和步骤(9)中的得到的转发队列长度和执行队列长度作为设定值,返回步骤(3)。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201410165580.X/,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置