基于完全图最小带宽再生码的局部性节点修复方法技术

技术编号:20992349 阅读:28 留言:0更新日期:2019-04-29 22:24
本发明专利技术公开了一种基于完全图最小带宽再生码的局部性节点修复方法,其实现步骤为:构造完全图最小带宽再生码,将分布式存储系统中的节点划分为多个修复组,在各个修复组内构造完全图最小带宽再生码,将待存储数据分块打包并在各个修复组内编码存储,当分布式存储系统发生单节点失效时,新节点连接失效节点所在修复组内的存活节点即可完成修复。本发明专利技术可修复分布式存储系统中的单个失效节点,降低节点修复过程中的修复带宽开销和磁盘I/O开销,且修复过程不需要编解码操作,提高了修复效率。

Local Node Repair Method Based on Minimum Bandwidth Reproductive Code of Complete Graph

The invention discloses a local node repair method based on the minimum bandwidth regeneration code of complete graph. The implementation steps are: constructing the minimum bandwidth regeneration code of complete graph, dividing nodes in distributed storage system into several repair groups, constructing the minimum bandwidth regeneration code of complete graph in each repair group, packing the data to be stored in blocks and encoding and storing them in each repair group. When a single node fails in a distributed storage system, the surviving node in the repair group where the new node connects the failed node can be repaired. The invention can repair a single failed node in a distributed storage system, reduce the repair bandwidth overhead and disk I/O overhead in the repair process of the node, and the repair process does not require coding and decoding operation, thus improving the repair efficiency.

【技术实现步骤摘要】
基于完全图最小带宽再生码的局部性节点修复方法
本专利技术属于计算机
,更进一步涉及分布式存储
中的一种基于完全图最小带宽再生码的局部性节点修复方法。本专利技术可以应用于分布式系统、数据库等领域,在分布式存储系统发生单节点失效时,新节点连接修复组内的存活节点实现失效节点数据的局部性修复。
技术介绍
分布式存储系统通过修复失效节点数据来维护系统的可靠性,如何减少因为节点失效而产生的修复数据量,提高失效节点修复的局部性是分布式存储系统需要面对的关键问题。为了降低修复失效节点产生的带宽开销,Dimakis等人通过将分布式存储系统中的节点修复问题抽象成通信网络中的单源多播问题进行分析,得出存储-带宽开销权衡曲线,并首次提出再生码的概念,对应该曲线的2个特殊点,分别是最小存储再生MSR(minimumstorageregenerating)码与最小带宽再生MBR(minimumbandwidthregenerating)码。再生码在故障节点修复时,只关注修复带宽开销和存储开销,没有考虑磁盘I/O开销,磁盘I/O开销是分布式存储系统数据修复的又一性能瓶颈。磁盘I/O开销与失效节点修复过程中连接的存活节点数目成正比,连接的存活节点数目越少,节点修复局部性越好,磁盘I/O开销越小。北京大学深圳研究生院在其申请的专利文献“一种最小带宽再生码的编码和存储节点修复方法”(专利申请号:201380001964.1,授权公告号:CN103688515B)中公开了一种最小带宽再生码的编码和存储节点修复方法。该方法将大小为B的原始数据平均分为k(k+1)/2个数据块,得到第一数据包;使用第一数据包构建尺寸为k×k的、对称的系统矩阵S;构建k个编码标识码,每个编码标识码包括k个元素;分别将所述系统矩阵的一列与编码标识码运算得到编码数据包;分别选择n-k个不同的系统矩阵的列重复上述步骤,得到n-k个编码数据包集;以所述编码数据包集Pg的编码标识码编号g为其列号,构建大小为(n-k)×k的校验矩阵P;分别将所述系统矩阵和编码矩阵的每行存储到一个存储节点。该方法具有较低的修复带宽开销。但是,该方法仍然存在的不足之处是,当系统发生单节点失效时,新节点需要连接k个节点完成修复,磁盘I/O开销较大。长安大学在其申请的专利文献“一种基于系统最小存储再生码的局部性修复编码方法”(专利申请号:201510589073.3,授权公告号:CN105260259B)中公开了一种基于系统最小存储再生码的局部性修复编码方法。该方法采用系统最小存储再生码作为局部码构造局部性修复编码结构,原始数据副本存放在存储节点中,存储节点中的冗余数据部分由前后两个存储节点的最小存储再生编码数据部分生成,当修复组中存在单节点失效时,可以通过前后节点快速实现故障节点数据重构,实现失效节点数据的精确修复。该方法降低了存储节点修复过程中的磁盘I/O。但是,该方法仍然存在的不足之处是,节点修复带宽开销较高,且修复过程需要编解码操作,增加了计算复杂度。
技术实现思路
本专利技术的目的在于针对上述已有技术的不足,提出了一种基于完全图最小带宽再生码的局部性节点修复方法。该方法将完全图最小带宽再生码与局部性修复编码的优点相结合,将分布式存储系统中的节点划分为多个修复组,当分布式存储系统发生单节点失效时,新节点只需连接失效节点所在修复组内的存活节点即可完成修复。实现本专利技术目的思路是,将分布式存储系统中的节点划分为多个修复组,根据每个修复组包含的节点数量,在各个修复组内构造相应参数的完全图最小带宽再生码,利用各个修复组内完全图最小带宽再生码的参数将待存储数据分块打包,将得到的各个数据包在各个修复组内按照构造的完全图最小带宽再生码编码存储,当分布式存储系统发生单节点失效时,新节点连接失效节点所在修复组内的存活节点完成修复。本专利技术的具体步骤包括如下:(1)构造完全图最小带宽再生码:生成一个由三个参数(n,k,d)构成的完全图最小带宽再生码,其中,n表示分布式存储系统的节点数,n≥5;k表示数据收集者重建所存储的数据需要连接的最少节点数,2≤k≤n-1;d表示新节点在节点修复过程中连接的存活节点数,d=n-1;(2)将分布式存储系统中的节点划分为多个修复组:(2a)对分布式存储系统的每个节点编号;(2b)以n1为间隔,将分布式存储系统中的节点均分为t个修复组,将t个修复组的最后一组与剩余节点组成修复组λ,其中,n1表示t-1个修复组中每个修复组内的节点个数,n1≥5;(3)在各个修复组内构造完全图最小带宽再生码:(3a)对t-1个修复组中的每个修复组,生成参数为(n1,k1,d1)的完全图最小带宽再生码,其中,k1表示数据收集者重建每个修复组内所存储的数据需要连接的最少节点数;d1表示新节点在每个修复组内节点修复过程中连接的存活节点数;(3b)在修复组λ内构造参数为(n2,k2,d2)的完全图最小带宽再生码,n2表示修复组λ内的节点个数;k2表示数据收集者重建修复组λ内所存储的数据需要连接的最少节点数;d2表示新节点在修复组λ内节点修复过程中连接的存活节点数;(4)将待存储数据分块打包并在各个修复组内编码存储:(4a)将待存储的数据均分为M个数据块,以B1为间隔,将M个数据块均分为与修复组数量相等的t个数据包,将t个数据包的最后一个与剩余数据块组成大小为B2的数据包,其中,M=(t-1)×B1+B2,B1表示t-1个修复组中的每个修复组内数据包的大小,B2表示修复组λ中数据包的大小,(4b)分别将t-1个大小为B1的数据包在t-1个修复组内编码存储,将大小为B2的数据包在修复组λ内编码存储;(5)在修复组内修复失效节点:(5a)分布式存储系统按照失效节点的编号找到其所在的修复组;(5b)新节点连接失效节点所在修复组内剩余的所有存活节点;(5c)新节点从每个存活结点获取与失效节点相同的编码块并存储,完成修复。本专利技术与现有技术相比具有如下优点:第一,本专利技术采用了将分布式存储系统中的节点划分为多个修复组,将待存储数据分块打包并在各个修复组内编码存储的方法,新节点连接失效节点所在修复组内的存活节点即可完成修复,克服了现有技术在节点修复过程中新节点连接的存活结点数量多,磁盘I/O开销大的问题,使得本专利技术在节点修复过程中有更好的磁盘I/O开销性能。第二,本专利技术采用了在各个修复组内构造完全图最小带宽再生码的方法,克服了现有技术在节点修复过程中修复带宽开销大的问题,使得本专利技术在节点修复过程中有更好的节点修复带宽开销性能。第三,本专利技术采用了在各个修复组内构造完全图最小带宽再生码的方法,克服了现有技术在节点修复过程中需要编解码,计算复杂度高的问题,使得本专利技术在节点修复过程中不需要编解码操作,修复效率更高。附图说明图1是本专利技术的流程图;图2是本专利技术的修复带宽开销性能仿真图;图3是本专利技术的磁盘I/O开销性能仿真图。具体实施方式下面结合附图对本专利技术作进一步的描述。参照图1,本专利技术的具体实现步骤作进一步的描述。步骤1,构造完全图最小带宽再生码。生成一个由三个参数(n,k,d)构成的完全图最小带宽再生码,其中,n表示分布式存储系统的节点数,n≥5;k表示数据收集者重建所存储的数据需要连接的最少节点数,2≤k≤n-1;d表示新本文档来自技高网
...

【技术保护点】
1.一种基于完全图最小带宽再生码的局部性节点修复方法,其特征在于,将分布式存储系统中的节点划分为多个修复组,在各个修复组内构造完全图最小带宽再生码,将待存储数据分块打包并在各个修复组内编码存储,新节点连接失效节点所在修复组内的存活节点即可完成修复,该方法的步骤包括如下:(1)构造完全图最小带宽再生码:生成一个由三个参数(n,k,d)构成的完全图最小带宽再生码,其中,n表示分布式存储系统的节点数,n≥5;k表示数据收集者重建所存储的数据需要连接的最少节点数,2≤k≤n‑1;d表示新节点在节点修复过程中连接的存活节点数,d=n‑1;(2)将分布式存储系统中的节点划分为多个修复组:(2a)对分布式存储系统的每个节点编号;(2b)以n1为间隔,将分布式存储系统中的节点均分为t个修复组,将t个修复组的最后一组与剩余节点组成修复组λ,其中,n1表示t‑1个修复组中每个修复组内的节点个数,n1≥5;(3)在各个修复组内构造完全图最小带宽再生码:(3a)对t‑1个修复组中的每个修复组,生成参数为(n1,k1,d1)的完全图最小带宽再生码,其中,k1表示数据收集者重建每个修复组内所存储的数据需要连接的最少节点数;d1表示新节点在每个修复组内节点修复过程中连接的存活节点数;(3b)在修复组λ内构造参数为(n2,k2,d2)的完全图最小带宽再生码,n2表示修复组λ内的节点个数;k2表示数据收集者重建修复组λ内所存储的数据需要连接的最少节点数;d2表示新节点在修复组λ内节点修复过程中连接的存活节点数;(4)将待存储数据分块打包并在各个修复组内编码存储:(4a)将待存储的数据均分为M个数据块,以B1为间隔,将M个数据块均分为与修复组数量相等的t个数据包,将t个数据包的最后一个与剩余数据块组成大小为B2的数据包,其中,M=(t‑1)×B1+B2,B1表示t‑1个修复组中的每个修复组内数据包的大小,B2表示修复组λ中数据包的大小,...

【技术特征摘要】
1.一种基于完全图最小带宽再生码的局部性节点修复方法,其特征在于,将分布式存储系统中的节点划分为多个修复组,在各个修复组内构造完全图最小带宽再生码,将待存储数据分块打包并在各个修复组内编码存储,新节点连接失效节点所在修复组内的存活节点即可完成修复,该方法的步骤包括如下:(1)构造完全图最小带宽再生码:生成一个由三个参数(n,k,d)构成的完全图最小带宽再生码,其中,n表示分布式存储系统的节点数,n≥5;k表示数据收集者重建所存储的数据需要连接的最少节点数,2≤k≤n-1;d表示新节点在节点修复过程中连接的存活节点数,d=n-1;(2)将分布式存储系统中的节点划分为多个修复组:(2a)对分布式存储系统的每个节点编号;(2b)以n1为间隔,将分布式存储系统中的节点均分为t个修复组,将t个修复组的最后一组与剩余节点组成修复组λ,其中,n1表示t-1个修复组中每个修复组内的节点个数,n1≥5;(3)在各个修复组内构造完全图最小带宽再生码:(3a)对t-1个修复组中的每个修复组,生成参数为(n1,k1,d1)的完全图最小带宽再生码,其中,k1表示数据收集者重建每个修复组内所存储的数据需要连接的最少节点数;d1表示新节点在每个修复组内节点修复过程中连接的存活节点数;(3b)在修复组λ内构造参数为(n2,k2,d2)的完全图最小带宽再生码,n2表示修复组λ内的节点个数;k2表示数据收集者重建修复组λ内所存储的数据需要连接的最少节点数;d2表示新节点在修复组λ内节点修复过程中连接的存活节点数;(4)将待存储数据分块打包并在各个修复组内编码存储:(4a)将待存储的数据均分为M个数据块,以B1为间隔,将M个数据块均分为与修复组数量相等的t个数据包,将t个数据包的最后一个与剩...

【专利技术属性】
技术研发人员:肖嵩孙沃赵一民李黎钊干红平
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:陕西,61

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

1