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

对称部分重复码的矩阵构造方法及故障节点修复方法技术

技术编号:23314920 阅读:23 留言:0更新日期:2020-02-11 17:44
本发明专利技术属于计算机领域,公开了一种对称部分重复码的矩阵构造方法及故障节点修复方法。对称部分重复码的矩阵构造方法主要是根据爪形矩阵s

Matrix construction method and fault node repair method of symmetric partial repeat codes

【技术实现步骤摘要】
对称部分重复码的矩阵构造方法及故障节点修复方法
本专利技术属于计算机领域,具体涉及一种对称部分重复码的矩阵构造方法及故障节点修复方法。
技术介绍
信息数据的海量化使得分布式存储系统规模变大,为了确保数据的可用性和可靠性,存储系统通常采用“复制”和“纠删码”策略生成冗余数据,而“复制”的冗余策略产生的存储代价过高;纠删码虽然可以使分布式存储系统的存储开销达到最优,但是在修复单个故障节点过程中必须还原整个文件,带宽开销过大。针对“复制”和“纠删码”冗余策略存在的局限性,Dimakis等人提出了再生码,但再生码在故障节点修复过程中连接的节点数量较多,具有较高的磁盘I/O开销。而部分重复码融合了复制和再生码技术,使得修复故障节点时只需从部分存活节点下载少量数据块,并将下载的数据块传输给新节点无需其他运算操作即可完成故障节点的修复,修复复杂度低。针对成对平衡设计构造FR码或基于不完全平衡区组设计,均需满足复杂的参数要求,而基于超图染色构造FR码和基于投影几何构造的FR码构造过程繁琐,且根据图的几何性质有一定参数限制。由于存储系统中存储的数据量大,存储节点数增多,若采用传统部分重复码的构造方法,当单节点出现故障时,故障节点修复方案单一且修复过程中的磁盘I/O开销较大,同时系统的容错能力较低,不满足当前时代对存储节点的要求。如传统的基于正则图构造的部分重复码和基于超图构造的部分重复码,均只能修复单节点故障且节点修复度为节点存储容量。
技术实现思路
本专利技术的目的在于提供一种对称部分重复码的矩阵构造方法及故障节点修复方法,用以解决现有技术中部分重复码构造方法复杂、节点修复过程中修复局部性大,容错能力小和节点修复选择性小等问题。为了实现上述任务,本专利技术采用以下技术方案:一种对称部分重复码的矩阵构造方法,包括如下步骤:步骤1:将原始文件分成k个原始数据块,对k个原始数据块进行(n,k)MDS编码,得到n个编码块C1,C2,…,Cn,其中n≥4且n,k为正整数;步骤2:构造n阶爪形矩阵s1,根据s1构造n阶调节矩阵s2;步骤3:将n阶矩阵s1和n阶调节矩阵s2对应位置上的元素逻辑相加,得到对称部分重复码的n阶关联矩阵s,关联矩阵s的行表示节点,关联矩阵s的列表示编码块,sij表示s中的元素,若sij=1则第i个节点存有编码块Cj,若sij=0则第i个节点不存编码块Cj,获取每个节点存有的编码块,完成对称部分重复码的构造。进一步的,根据s1构造到n阶调节矩阵s2包括如下子步骤:步骤a:根据矩阵s1,去掉s1的最后一列和最后一行得到n-1阶矩阵s3;步骤b:获取矩阵s3的最后一行向量,并在最后一行的末尾添0元素,得到行向量m;步骤c:构造n阶调节矩阵s2,令m作为s2的第一行,然后令m向右进行循环移位,使得m向右移动一位得到的行向量作为s2的第二行,使得m向右移动两位得到的行向量作为s2的第三行,以此类推,使得m向右移动n-1位得到的行向量作为s2的第n行,完成s2的构造。故障节点修复方法,按照上述的对称部分重复码的矩阵构造方法,将包含n个编码块的原始文件M存储到分布式存储系统的n个节点中,令每个节点存储3个编码块;若单节点发生故障,则从所有存活节点中任取两个存活节点采集编码块,然后将采集到的编码块传递给新节点,完成单节点故障的修复;若双节点发生故障,则从所有存活节点中任取两个存活节点采集编码块,然后将采集到的编码块分别传递给两个新节点,完成双节点故障的修复。本专利技术与现有技术相比具有以下技术特点:(1)本专利技术节点中由原数据块经过MDS编码生成的冗余块较少,系统的存储率较高。此外,该部分重复码构造过程简单,极易推广,可操作性强。(2)当单节点故障时,可以通过从两个节点下载编码块,快速实现故障节点的数据重构,修复方案选择性较多且修复过程运算简单,修复局部性较小。(3)所构造的对称部分重复码能容两个节点故障,无论是连续的还是不连续的两个节点出现故障时,仍可采用修复度为2的故障节点的修复方案修复故障节点,磁盘I/O开销相对较小。附图说明图1是实施例中存储系统具有5个编码块,编码块的重复度为3,部分重复码的构造示意图;图2是实施例中包含5个节点5个编码块的单节点v1故障修复的示意图;图3是实施例中存储系统具有6个编码块,编码块的重复度为3,部分重复码的构造示意图;图4是实施例中包含6个节点6个编码块中连续两个节点v1和v2故障修复的示意图。图5是实施例中包含6个节点6个编码块中不连续的两个节点v3和节点v6故障修复的示意图。具体实施方式实施例1在本实施例中公开了一种对称部分重复码的矩阵构造方法,且该方法适用于编码块重复度为3的构造方案,包括如下步骤:步骤1:将原始文件分成k个原始数据块,对k个原始数据块进行(n,k)MDS编码,得到n个编码块C1,C2,…,Cn,其中n≥4且n,k为正整数;步骤2:构造n阶爪形矩阵s1,根据s1构造n阶调节矩阵s2;步骤3:将n阶矩阵s1和n阶调节矩阵s2对应位置上的元素逻辑相加,得到对称部分重复码的n阶关联矩阵s,关联矩阵s的行表示节点,关联矩阵s的列表示编码块,sij表示s中的元素,若sij=1则第i个节点存有编码块Cj,若sij=0则第i个节点不存有编码块Cj,获取每个节点存有的编码块,完成对称部分重复码的构造。本专利技术的目的在于,提供一种对称部分重复码的矩阵构造方法,该对称部分重复码的系统存储率高,能容两个节点故障。在修复单故障节点时有多种修复局部性为2的修复方案。当连续的或不连续的两个节点发生故障时,仍只需要连接两个存活节点即可修复,修复过程中不需任何计算操作。此外,该码构造过程简单极易推广,可操作性强。具体的,根据s1构造到n阶调节矩阵s2包括如下子步骤:步骤a:根据s1,去掉s1的最后一列和最后一行得到n-1阶矩阵s3;步骤b:获取矩阵s3的最后一行向量,并在最后一行的末尾添0,得到行向量m;步骤c:构造n阶调节矩阵s2,令m作为s2的第一行,然后令m向右进行循环移位,使得m向右移动一位得到的行向量作为s2的第二行,使得m向右移动两位得到的行向量作为s2的第三行,以此类推,使得m向右移动n-1位得到的行向量作为s2的第n行,完成s2的构造。在本实施例中还公开了一种故障节点修复方法,按照上文所述的对称部分重复码的矩阵构造方法,将包含n个编码块的原始文件M存储到分布式存储系统的n个节点中,令每个节点存储3个编码块;若单节点发生故障,则从所有存活节点中任取两个存活节点采集编码块,然后将采集到的编码块传递给新节点,完成单节点故障的修复;若双节点发生故障,则从所有存活节点中任取两个存活节点采集编码块,然后将采集到的编码块分别传递给两个新节点,完成双节点故障的修复。由于“包含失效节点存储编码块的两个存活节点的组合较本文档来自技高网...

【技术保护点】
1.一种对称部分重复码的矩阵构造方法,其特征在于,包括如下步骤:/n步骤1:将原始文件分成k个原始数据块,对k个原始数据块进行(n,k)MDS编码,得到n个编码块C

【技术特征摘要】
1.一种对称部分重复码的矩阵构造方法,其特征在于,包括如下步骤:
步骤1:将原始文件分成k个原始数据块,对k个原始数据块进行(n,k)MDS编码,得到n个编码块C1,C2,…,Cn,其中n≥4且n,k为正整数;
步骤2:构造n阶爪形矩阵s1,根据s1构造n阶调节矩阵s2;
步骤3:将n阶矩阵s1和n阶调节矩阵s2对应位置上的元素逻辑相加,得到对称部分重复码的n阶关联矩阵s,关联矩阵s的行表示节点,关联矩阵s的列表示编码块,sij表示s中的元素,若sij=1则第i个节点存有编码块Cj,若sij=0则第i个节点不存编码块Cj,获取每个节点存有的编码块,完成对称部分重复码的构造。


2.如权利要求1所述的对称部分重复码的矩阵构造方法,其特征在于,根据s1构造n阶调节矩阵s2包括如下子步骤:
步骤a:根据s1,去掉s1的最后一列和最后一行得到n-1阶矩阵s3;<...

【专利技术属性】
技术研发人员:王静王秘余春雷刘艳
申请(专利权)人:长安大学
类型:发明
国别省市:陕西;61

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

1