[发明专利]基于部分重复码的局部性修复编码及节点故障修复方法有效
申请号: | 201810115623.1 | 申请日: | 2018-02-06 |
公开(公告)号: | CN108540520B | 公开(公告)日: | 2020-09-11 |
发明(设计)人: | 王静;王甜甜;段宗涛;王淑霞;张雪飞 | 申请(专利权)人: | 长安大学 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;H04L12/24;H04L1/00 |
代理公司: | 西安恒泰知识产权代理事务所 61216 | 代理人: | 李婷;周春霞 |
地址: | 710064 陕西省*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 部分 重复 局部性 修复 编码 节点 故障 方法 | ||
1.一种基于部分重复码的局部性修复编码方法,该方法基于FR码的编码结构,用于将原文件B存储到节点中,其特征在于,包括以下步骤:
步骤1,将分布式存储系统的节点进行分组,得到多个局部修复组;分布式存储系统的节点总数为N;具体分组方法如下:
若分布式存储系统的节点的总数N能够被FR码的编码结构所需节点数n整除,即N=tn,则得到t个局部修复组,每个局部修复组内的节点数为n;
若分布式存储系统的节点的总数N不能够被FR码的编码结构所需节点数n整除,即N=tn+λ,则得到t个局部修复组,前t-1个局部修复组中每个局部修复组内的节点数为n,第t个局部修复组内的节点数为n+λ;
步骤2,若分布式存储系统的节点的总数N能够被FR码的编码结构所需节点数n整除,则将原文件B分成t个子文件,每个子文件包括j个数据块,每个局部修复组包括一个子文件,对每个局部修复组内的子文件包括的j个数据块采用FR码进行编码,得到多个编码块;将该多个编码块存储到该局部修复组中的n个节点中;
若分布式存储系统的节点的总数N不能够被FR码的编码结构所需节点数n整除,则将原文件B分成t个子文件,前t-1个子文件中每个子文件包括j个数据块,最后一个子文件包括j+ε个数据块,1≤ε≤j-1,每个局部修复组包括一个子文件,对前t-1个局部修复组中每个局部修复组内的子文件包括的j个数据块采用FR码进行编码,得到多个编码块,将该多个编码块存储到该局部修复组中的n个节点中;对最后一个局部修复组内的子文件包括的j+ε个数据块采用MDS码进行编码,得到多个编码块,将该多个编码块存储到最后一个局部修复组内的n+λ个节点中。
2.如权利要求1所述的基于部分重复码的局部性修复编码方法,其特征在于,所述步骤2中的对每个局部修复组内的子文件包括的j个数据块采用FR码进行编码,得到多个编码块;将该多个编码块存储到该局部修复组中的n个节点中;具体包括以下步骤:
对j个数据块进行RS编码,生成i个不同的编码块,将生成的i个不同的编码块复制ρ次,得到iρ个编码块;当ρ=2时,按照正则图得到的排布矩阵,或当ρ≥3时,按照Fano平面得到的排布矩阵,将复制后的iρ个编码块存储在局部修复组内的n个节点中,每个节点存储d个编码块,即iρ=nd。
3.如权利要求1所述的基于部分重复码的局部性修复编码方法,其特征在于,所述步骤2中的对前t-1个局部修复组中每个局部修复组内的子文件包括的j个数据块采用FR码进行编码,得到多个编码块,将该多个编码块存储到该局部修复组中的n个节点中;具体包括以下步骤:
对j个数据块进行RS编码,生成i个不同的编码块,将生成的i个不同的编码块复制ρ次,得到iρ个编码块;按照正则图或Fano平面得到的排布矩阵,将复制后的iρ个编码块存储在局部修复组内的n个节点中,每个节点存储d个编码块,即iρ=nd;
所述步骤2中的对最后一个局部修复组内的子文件包括的j+ε个数据块采用MDS码进行编码,得到多个编码块,将该多个编码块存储到最后一个局部修复组内的n+λ个节点中,具体包括以下步骤:
对j+ε个数据块采用MDS码编码方式进行编码,生成(λ+n)d个编码块,将这(λ+n)d个编码块存储在最后一个局部修复组内的n+λ个节点中,每个节点存储d个编码块。
4.一种节点故障修复方法,其特征在于,包括以下步骤:
按照权利要求1-3中任一权利要求所述的基于部分重复码的局部性修复编码方法将原文件B存储到节点中;
若单个节点发生故障,则修复方法如下:
(1)若发生故障的节点中存储的编码块为采用FR码进行编码得到的,则通过正则图,找到与该发生故障的节点相连的多个存活节点,或者通过Fano平面找到与该发生故障的节点中编码块相连的多个存活节点,并从这些存活节点直接下载发生故障的节点丢失的数据,即可修复该发生故障的节点;
(2)若发生故障的节点中存储的编码块为采用MDS码进行编码得到的,则根据MDS码故障节点修复性质,从多个存活节点下载j+ε个不同的编码块,对这些编码块进行MDS编码操作,即可修复该发生故障的节点;
若两个节点同时发生故障,且两个节点属于同一个局部修复组,则修复方法如下:
(1)若发生故障的节点中存储的编码块为采用FR码进行编码得到的,当复制次数ρ=2时,根据正则图,从存活节点下载j个不同的编码块,对上述编码块进行异或操作,即可恢复故障节点;当复制次数ρ≥3时,根据Fano平面,找到与该发生故障的节点中编码块相连的多个存活节点,并从这些存活节点直接下载发生故障的节点丢失的数据,即可修复该发生故障的节点;
(2)若发生故障的节点中存储的编码块为采用MDS码进行编码得到的,根据MDS码故障节点修复性质,从存活节点下载j+ε个不同编码块,对上述编码块进行MDS编码操作,即可修复发生故障的节点。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于长安大学,未经长安大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810115623.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种均衡下载控制方法和装置
- 下一篇:一种同步信息的方法、终端设备及服务器