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

一种纠删码存储系统均衡冗余转换方法及装置制造方法及图纸

技术编号:39049242 阅读:17 留言:0更新日期:2023-10-10 12:02
本发明专利技术公开了一种纠删码存储系统均衡冗余转换方法及装置,方法在发冗余转换发起之后进行高效且均衡的转换,包括:数据块分配步骤,制定一个最大流问题来指导数据块重分配,通过检查条带分布,并寻找适当的数据块来补充拉伸条带,以减少数据块迁移的流量;校验块更新步骤,设计先收集再编码算法来更新拉伸条带的校验块,以减少校验块更新的流量;负载均衡步骤,提出了一种启发式算法,仔细挑选条带进行分解或拉伸,以平衡各节点的流量负载。本发明专利技术在抑制冗余转换流量的同时平衡节点之间的负载,能够更快地完成转换过程。够更快地完成转换过程。够更快地完成转换过程。

【技术实现步骤摘要】
一种纠删码存储系统均衡冗余转换方法及装置


[0001]本专利技术涉及存储
,特别涉及一种纠删码存储系统均衡冗余转换方法及装置。

技术介绍

[0002]随着如今大规模存储系统的故障越来越普遍,为了保护数据的可靠性不受意外故障的影响,大多数现有的存储系统通常通过“备份”和“纠删码”来提前维护额外的数据冗余,以便在出现故障时利用预先存储的冗余恢复原始数据。备份将数据复制N份并分别存储于N个不同节点中,因而它的存储开销是原始数据的N倍。纠删码则是引入轻量计算,将固定大小的数据(称为数据块)作为输入,通过计算得到少量同等大小的冗余数据(称为校验块)。具体地,纠删码由两个参数k和m进行配置,在编码时将k个数据块计算生成m个校验块,这(k+m)个块组成一个“条带”并存入(k+m)个不同节点中(需要保证每个节点只有该条带的一个块),同时条带中的任意k个块都可解码出其余m个块,纠删码以此来保证了出现故障时能够恢复原始数据。与存储多个相同副本的备份相比,纠删码的空间效率更高,能够在拥有更少数据冗余的情况下保持与备份相同的容错能力。目前,纠删码已广泛应用于各个存储系统,主要用于冷数据的持久性存储和缓解频繁访问数据的拖延者。
[0003]在大多数情况下,存储系统通常采用一系列不同冗余级别(也就是存储开销,计算为)的纠删码,以便在面对不断变化的访问特性和不断变化的可靠性需求时,从容地调整访问性能。因此,在不同冗余级别纠删码之间的转换(称为冗余转换)对于现代存储系统至关重要,其过程却容易产生大量的转换流量(即通过网络传输的数据进行转换)。通常情况下,冗余转换代表将(k,m)纠删码转化为(k',m)纠删码的操作,本专利技术考虑使得k'>k的冗余转换操作,这也是现有方法常考虑的情况,以下的冗余转换默认为使得k'>k的转换。具体来说,冗余转换需要对(k,m)编码的一些旧条带进行拆解(称为拆解条带),将其中的数据块分配给其它(k,m)编码的条带(称为拉伸条带),以便在新的(k',m)编码下重新编码。假设{D1,D2,...,D
k
}和{P1,P2,...,P
m
}为某一条带的k个数据块和m个校验块,每个校验块即为k个数据块的线性组合,可以通过伽罗瓦域[1]下的公式来计算,其中α
i,j
(1≤i≤k,1≤j≤m)为由数据块D
i
计算校验块P
j
时使用的编码系数。对于拆解条带,需要将旧有的线性关系解耦,即无效掉其校验块,并将其数据块视为新数据块加入拉伸条带中;对于拉伸条带,需要接收这些新数据块并更新自己的校验块,用P
j
'表示被更新后的校验块P
j
,则在公式上可计算为其中1≤j≤m,ΔP
j
称为校验增量块。
[0004]冗余转换的流量开销由两个部分组成,即数据块迁移和校验块更新。转换过程中,一部分数据块需要迁移到其他节点以保证(k',m)编码的新条带的(k'+m)块仍然存储在(k'
+m)个不同节点中,产生的流量即为数据块迁移流量。同时,拉伸条带由(k,m)编码转换为(k',m)编码,由于新加入了数据块,需要重新计算每个拉伸条带的m个校验块以保证容错能力在转换之后仍然生效,这部分流量即为校验块更新流量。现有的工作主要通过减少流量以加速冗余转换过程,如SRS[2]通过设计数据布局以消除数据块迁移流量;ERS[3]同SRS一样设计了特殊数据布局,不仅消除了数据块迁移流量,还进一步减少了校验块更新流量;StripeMerge[4]通过直接合并两个条带以达到k到2k的转换。现有的方法存在如下不足:(i)冗余转换的参数选择缺乏灵活性(SRS和ERS需要提前给定参数以配置布局,StripeMerge只能进行k到其倍数的转换);(ii)尽管优化了单次转换流量,但是它们在连续转换(即进行多次转换)时仍然容易产生大量流量(SRS和ERS在每次转换之前都需要重新调整布局);(iii)没有考虑转换过程中节点之间负载不均衡问题,因而延长转换时间。
[0005][1]Plank J S,Simmerman S,Schuman C D.Jerasure:A library in C/C++facilitating erasure coding for storage applications

Version 1.2[J].University of Tennessee,Tech.Rep.CS

08

627,2008,23.
[0006][2]Taranov K,Alonso G,Hoefler T.Fast and strongly

consistent per

item resilience in key

value stores[C]//Proceedings of the Thirteenth EuroSys Conference.2018:1

14.
[0007][3]Wu S,Shen Z,Lee P P C.Enabling I/O

efficient redundancy transitioning in erasure

coded KV stores via elastic Reed

Solomon codes[C]//2020 International Symposium on Reliable Distributed Systems(SRDS).IEEE,2020:246

255.
[0008][4]Yao Q,Hu Y,Cheng L,et al.Stripemerge:Efficient wide

stripe generation for large

scale erasure

coded storage[C]//2021IEEE 41st International Conference on Distributed Computing Systems(ICDCS).IEEE,2021:483

493.

技术实现思路

[0009]本专利技术提出一种纠删码存储系统均衡冗余转换方法及装置,减少冗余转换过程中的流量,同时使节点间流量负载均衡,从而更快地完成转换过程。在发起冗余转换之后,本专利技术通过如下三个主要步骤达到上述目的,其一,制定一个最大流问题来指导数据块重分配,通过检查条带分布,并寻找适当的数据块来补充拉伸条带,以减少数据块迁移的流量;其二,设计先收集再编码算法来更新拉伸条带的校验块,以减少校验块更新的流量;其三,提出了一种启发式算法,仔细挑选条带进行分解或拉伸,以平衡各节点的流量负载。
[0010]本专利技术采用如下技术方案:
[0011]第一方面,一种纠删码存储系统均衡本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种纠删码存储系统均衡冗余转换方法,其特征在于,包括:数据块分配步骤,为各拉伸条带分配适当的数据块以最小化迁移流量;校验块更新步骤,基于为拉伸条带分配的数据块,使用先收集再更新的方式更新其校验块;负载均衡步骤,通过启发式算法迭代地挑选剩余未进行冗余转换的条带作为拉伸或者拆解条带以实现负载均衡。2.根据权利要求1所述的纠删码存储系统均衡冗余转换方法,其特征在于,所述数据块分配步骤,具体包括:(1.1)建立网络流图;每个拉伸条带、拆解条带以及存储节点分别用一个顶点表示;拆解条带的顶点连有指向存储节点的顶点的有向边,边容量为1,每个拆解条带连接有k个存储节点;存储节点的顶点连有指向拉伸条带的顶点的有向边,边容量为1,若拉伸条带的k个数据块有存于该存储节点,则该存储节点的顶点和该拉伸条带的顶点之间不连接有向边;建立源点,源点连有指向每个拆解条带的顶点的有向边,边容量为k,表示每个拆解条带拥有k个数据块待分配;建立汇点,每个拉伸条带的顶点都连有指向汇点的有向边,边容量为k'

k,表示每个拉伸条带都需要k'

k个数据块以完成冗余转换;(1.2)运行Dinic算法找到最大流;(1.3)根据找到的最大流来分配拆解条带的数据块给拉伸条带:若最大流中包含了某一存储节点的顶点到拉伸条带的顶点之间的有向边,将对应的存储节点中的任意拆解条带的数据块分配给对应的拉伸条带,每个拉伸条带使用分得的k'

k个数据块完成冗余转换。3.根据权利要求2所述的纠删码存储系统均衡冗余转换方法,其特征在于,系统包括有t个拉伸条带和e个拆解条带,为保证t个拉伸条带能够完全接收e个拆解条带的数据块并完成k到k'的冗余转换,需满足条件4.根据权利要求2所述的纠删码存储系统均衡冗余转换方法,其特征在于,所述校验块更新步骤,具体包括:(2.1)对每个条带,将存储其数据块的节点设置为数据节点,存储其校验块的节点设置为校验节点;为每个拉伸条带选取一个校验节点作为收集者节点,默认选取拉伸条带第一个校验块所在节点为其收集者节点;(2.2)分配给拉伸条带的k'

k个数据块所在的数据节点将对应数据块发送给拉伸条带的收集者节点;(2.3)收集者节点收集完k'

k个数据块后,计算出每个校验块所需的校验增量块,即需要计算m个校验增量块;(2.4)收集者节点...

【专利技术属性】
技术研发人员:沈志荣万志国龚国文舒继武
申请(专利权)人:厦门大学
类型:发明
国别省市:

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

1