当前位置: 首页 > 专利查询>重庆大学专利>正文

一种数据容错方法及分布式存储系统技术方案

技术编号:34520468 阅读:14 留言:0更新日期:2022-08-13 21:09
本发明专利技术公开了一种数据容错方法和分布式存储系统,其通过将文件经编码容错技术获得的多个原始数据块分发到对应的数据节点上,相比于现有的采用传统冗余机制对生成的原始数据块立即生成三副本的方法,本发明专利技术能减少文件初始上传时的网络传输压力,对数据的写放大问题有很好的优化效果;在数据节点随着文件操作过程中生成潜在副本时,向管理节点询问是否保留生成的潜在副本,并由管理节点设置的文件生命周期管理策略,对相应的潜在副本进行销毁。本发明专利技术的潜在副本随着系统的常规操作产生,只需要向管理节点询问是否保留副本资源,几乎不额外消耗网络带宽资源,从而能够在保证数据修复性能的同时,减少系统的存储开销。减少系统的存储开销。减少系统的存储开销。

【技术实现步骤摘要】
一种数据容错方法及分布式存储系统


[0001]本专利技术涉及数据存储
,尤其涉及一种数据容错方法及分布式存储系统。

技术介绍

[0002]容错是分布式存储系统的重要研究内容之一。现有的分布式存储系统主要通过副本、纠删码和传统混合容错技术提高系统的容错能力,保证数据的可靠存储。
[0003]副本是将数据复制存储在不同的节点上,每个副本与原始数据完全相同,当某个节点失效时,可以将服务切换到其它存有该数据的存活节点上,或者从这些节点直接拷贝数据,保证服务和数据的可靠性与可用性。绝大多数分布式存储系统默认采用三副本的容错技术,例如GFS(Google File System)、HDFS(Hadoop distributed file system)和Ceph系统。
[0004]与副本技术相比,纠删码能提供更高的可靠性和更低的存储开销。大部分大规模分布式存储集群存储,如GFS、HDFS和WAS等系统,先后引入纠删码以降低存储成本。其中最常见、利用范围最广的是里德

所罗门码(reed solomon codes,RS),其由两个可配置的参数k和m构造而成,用RS(k,m)表示。RS将一个数据块D切分为k个大小相等的原始数据块,经过线性组合编码生成m个校验块,这k+m个块形成一个条带。为了达到最高的容错效率,条带中的块一般分布在不同群组的节点上.在无节点故障的情况下,可以读取相应的数据块来获得原始数据,无需额外的解码。但若一个或多个块不可用,则该条带已降级,可以最多容忍m个块的缺失,缺失的数据可以通过幸存节点中任意k个块进行解码重构。
[0005]传统的混合容错技术指纠删码和多副本混合的容错方案,即在纠删码编码得到相应的数据块和校验块后,立即生成多个副本并分发数据。以RS(3,2)和三副本混合为例,在采用纠删码编码得到5*(3+2)个数据块后,再对每个数据块构建三个副本,共生成15个副本数据。与单一的纠删码容错方案相比,混合容错方案虽然能在一定程度上通过使用副本加快数据修复,但与单一的副本容错方案相比,由于所需要存储的数据更多,造成了比三副本容错技术更加严重的数据写放大,难以在弱网环境下的分布式存储系统中实际部署。
[0006]综上,副本技术和传统混合容错技术的存储开销都非常大,其会造成严重的数据写放大问题,而纠删码方法的数据修复时间长,修复性能较副本技术和传统混合容错技术差。

技术实现思路

[0007]本专利技术提供一种分布式存储系统及数据容错方法,以解决上述副本技术、纠删码技术和传统混合容错方法提及的问题。本专利技术能使得分布式存储集群达到更好的容错以及读写、修复性能。
[0008]本专利技术第一方面提供一种数据容错方法,所述数据容错方法应用于分布式存储系统中,所述分布式存储系统包括管理节点和多个数据节点:
[0009]所述方法包括:
[0010]所述管理节点在接收到用户终端发送的文件写入请求后,选择多个数据节点存储文件经过编码容错技术获得的多个原始数据块;
[0011]所述数据节点在系统对文件操作过程中生成潜在副本后,向管理节点询问是否保留其生成的潜在副本;其中,所述潜在副本为文件经过编码容错技术获得的原始数据块或随着系统对文件操作过程产生的原始数据块副本;
[0012]所述管理节点根据预先设置的文件生命周期管理策略,确定是否保留发出询问的数据节点所生成的潜在副本,并返回所述发出询问的数据节点的询问响应结果;其中,所述文件生命周期管理策略为根据潜在副本的初始生成时间和冷热程度对各个潜在副本的生命周期进行管理。
[0013]本专利技术第二方面提供一种分布式存储系统,所述分布式存储系统包括管理节点和多个数据节点:
[0014]所述管理节点用于在接收到用户终端发送的文件写入请求后,选择多个数据节点存储文件经过编码容错技术获得的多个原始数据块;
[0015]所述数据节点用于在系统对文件操作过程中生成潜在副本后,向管理节点询问是否保留其生成的潜在副本;其中,所述潜在副本为文件经过编码容错技术获得的原始数据块或随着系统对文件操作过程产生的原始数据块副本;
[0016]所述管理节点还用于根据预先设置的文件生命周期管理策略,确定是否保留发出询问的数据节点所生成的潜在副本,并返回所述发出询问的数据节点的询问响应结果;其中,所述文件生命周期管理策略为根据潜在副本的初始生成时间和冷热程度对各个潜在副本的生命周期进行管理。
[0017]与现有技术相比,本专利技术提供的数据容错方法及分布式存储系统的有益效果如下:
[0018]本专利技术通过将文件经过编码容错技术获得的多个原始数据块分发到对应的数据节点上,相比于现有的采用传统冗余机制对生成的原始数据块立即生成三副本的方法,本专利技术能减少文件初始上传时的网络传输压力,对数据的写放大问题有很好的优化效果;在数据节点随着文件操作过程中生成潜在副本时,向管理节点询问是否保留生成的潜在副本,并由管理节点设置的文件生命周期管理策略,对相应的潜在副本进行销毁。本专利技术的潜在副本随着系统的常规操作产生,只需要向管理节点询问是否保留副本资源,几乎不额外消耗网络带宽资源,从而能够在保证数据修复性能的同时,减少系统的存储开销。
附图说明
[0019]图1是本专利技术提供的在不同出口带宽上限下,副本和RS纠删码的写性能曲线图;
[0020]图2是本专利技术提供的三副本和不同编码配置RS码的修复性能曲线图;
[0021]图3是本专利技术提供的数据容错方法的一种实施例的流程图;
[0022]图4是本专利技术实施例提供的数据容错方法中所涉及的文件分层管理架构图;
[0023]图5是本专利技术实施例提供的数据容错方法中所涉及的老化算法管理潜在副本访问情况示意图;
[0024]图6是本专利技术的数据容错方法的另一种实施例的架构图;
[0025]图7是本专利技术提供的不同冗余机制的存储开销对比图;
[0026]图8是本专利技术提供的在不同出口带宽上限下,不同冗余机制写数据实际网络传输流量的对比图;
[0027]图9是本专利技术提供的RS(3,2)和不同层级比例的HFPR在不同节点故障个数的条件下测试发生降级读的概率的对比图;
[0028]图10(a)是本专利技术提供的副本、纠删码和HFPR修复一个块所需要的时间;
[0029]图10(b)是本专利技术提供的不同层级比例的HFPR在不同冷热数据读取比例下的副本命中率;
[0030]图11是本专利技术提供的传统方法和HFPR在不同传输数据块数的条件下的数据传输成功率;
[0031]图12是本专利技术提供的集群节点掉线在10~30个的情况下,采用不同容错方案存储文件的数据永久失效概率的对比图。
具体实施方式
[0032]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据容错方法,其特征在于,所述数据容错方法应用于分布式存储系统中,所述分布式存储系统包括管理节点和多个数据节点:所述方法包括:所述管理节点在接收到用户终端发送的文件写入请求后,选择多个数据节点存储文件经过编码容错技术获得的多个原始数据块;所述数据节点在系统对文件操作过程中生成潜在副本后,向管理节点询问是否保留其生成的潜在副本;其中,所述潜在副本为文件经过编码容错技术获得的原始数据块或随着系统对文件操作过程产生的原始数据块副本;所述管理节点根据预先设置的文件生命周期管理策略,确定是否保留发出询问的数据节点所生成的潜在副本,并返回所述发出询问的数据节点的询问响应结果;其中,所述文件生命周期管理策略为根据潜在副本的初始生成时间和冷热程度对各个潜在副本的生命周期进行管理。2.如权利要求1所述的数据容错方法,其特征在于,所述文件生命周期管理策略基于文件分层架构,在所述文件分层架构中,包括新层、次新层和旧层;且各个层级都预先设置有对应的层级副本存储容量阈值;则,所述管理节点根据潜在副本的初始生成时间和冷热程度对各个潜在副本的生命周期进行管理,具体包括:所述管理节点根据潜在副本的初始生成时间、冷热程度和各个层级对应的层级副本存储容量对潜在副本所处的层级进行动态调整,同时对潜在副本的生命周期进行管理。3.如权利要求2所述的数据容错方法,其特征在于,所述管理节点根据潜在副本的初始生成时间、冷热程度和各个层级对应的层级副本存储容量对潜在副本所处的层级进行动态调整,同时对潜在副本的生命周期进行管理,具体包括:对于新生成的潜在副本或发生层级迁移的潜在副本,所述管理节点检测各个层级的潜在副本数量是否达到对应的层级副本存储阈值;若是,则对新生成的潜在副本或发生层级迁移的潜在副本作销毁决定;否则,将新生成的潜在副本或发生层级迁移的潜在副本放置在对应的层级中;其中,新生成的潜在副本的初始位置置于新层;所述管理节点设置活动检测器以触发潜在副本的升层操作,通过所述活动检测器中检测潜在副本在历史一段时间内的被访问次数,将被访问次数达到预设的次数阈值的处于旧层的潜在副本迁移到次新层、将被访问次数达到所述次数阈值的处于次新层的潜在副本迁移到新层;所述管理节点在检测到处于新层的潜在副本的数量达到新层副本存储阈值时,将达到定时器时间的潜在副本降到次新层;同时,在对潜在副本降层时检测发生降层的潜在副本在历史一段时间内的被访问次数达到所述次数阈值时,重置降层的潜在副本的定时器,以延迟其留在新层的时间;其中,每个潜在副本的定时器在对应的潜在副本生成时即生成;所述管理节点将在历史一段时间内未被访问过的处于次新层的潜在副本迁移到旧层,或,所述管理节点在检测到处于次新层的潜在副本的数量达到次新层副本存储阈值时,将次新层中在历史一段时间内被访问次数最少的潜在副本迁移到旧层。4.如权利要求3所述的数据容错方法,其特征在于,所述管理节点通过所述活动检测器中检测潜在副本在历史一段时间内的被访问次数,将被访问次数达到预设的次数阈值的处
于旧层的潜在副本迁移到次新层、将被访问次数达到所述次数阈值的处于次新层的潜在副本迁移到新层,包括:所述管理节点通过监控每一处于次新层的潜在副本的老化变量,并根据各个潜在副本的老化变量将多个潜在副本组成最小堆;其中,所述最小堆中的各个节点用于表示各个潜在副本的老化变量;所述老化变量的每一位标志着在历史一个周期内潜在副本是否被访问过;所述管理节点通过活动探测器检测最小堆的所有叶节点在历史一...

【专利技术属性】
技术研发人员:谭玉娟魏鑫蕾刘铎伍代涛吴宇陈咸彰
申请(专利权)人:重庆大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1