[发明专利]一种基于动态分组码的数据容错方法有效
申请号: | 201811250945.3 | 申请日: | 2018-10-25 |
公开(公告)号: | CN109491835B | 公开(公告)日: | 2022-04-12 |
发明(设计)人: | 孟宇龙;张玲玲;徐东;张子迎;关智允;王磊;李贤;王岩俊;宫思远;任龙 | 申请(专利权)人: | 哈尔滨工程大学 |
主分类号: | G06F11/14 | 分类号: | G06F11/14 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 150001 黑龙江省哈尔滨市南岗区*** | 国省代码: | 黑龙江;23 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 动态 分组码 数据 容错 方法 | ||
1.一种基于动态分组码的数据容错方法,其特征在于,主要通过以下步骤实现:
(1)按照分布式系统中磁盘的分组对将要存储的数据分块存储到数据盘中;
(2)判断一个条带上的磁盘节点是否存储完全,如果存储完全执行步骤(4),否则执行步骤(3);
(3)继续等待新的文件数据,返回执行步骤(1);
(4)利用DLRC编码对数据盘上同一条带上的数据块进行编码操作,得到全局校验块及局部校验块;
(5)将计算出的全局校验块和局部校验块分别存入对应的校验盘;
(6)判断是否有失效节点出现,其中,所述的失效节点为数据失效的存储节点;若出现失效节点执行步骤(7),否则执行步骤(3);
(7)根据失效节点的位置,读取与失效节点相关联的全部参与重构计算的节点数据;
(8)利用DLRC编码反向解码计算,重构出失效的数据内容;
(9)将重构出的数据存入对应的磁盘中;
DLRC码的设计方案以及编码公式:
DLRC编码包含四个参数k,m,n,l,记为DLRC(k,m,n,l);其中k表示初始数据块的个数,m表示全局校验块的个数,n表示参与计算每个局部校验码的编码块个数,l表示局部校验块的个数;四个参数k,m,n,l需要满足条件:n×l可以整除k+m;
DLRC编码一共有10个数据块d1-d10,运算产生2个全局校验块q1、q2,分别与原始数据块一起参与两个分组校验码的计算;每4个编码块运算产生一个局部校验块,共3个局部校验块p1、p2和p3;其中,每个编码块参与一个局部校验块的计算;或每次选取6个编码块产生局部校验块,共4个局部校验块,且每个编码块参与2个局部校验块的计算;
DLRC码的编码公式以及编码系数的选取为:
q1=α1d1+α2d2+α3d3+β1d4+β2d5+β3d6
p1=d1+d2+d3+q1
p2=d4+d5+d6+q2
上述编码等式转换为如下形式:
q1=α1d1+α2d2+α3d3+β1d4+β2d5+β3d6
p1=(1+α1)d1+(1+α2)d2+(1+α3)d3+β1d4+β2d5+β3d6
上述等式的矩阵形式为:
编码系数需要满足的条件包括;
(1)出错的都是数据盘,即有4个数据盘发生故障;
其中3个数据盘在同一组,1个数据盘属于另一组;设d1、d2、d3、d4失效,则编码矩阵表示为:
失效模式重构等价于数据块所在列向量有解,而列向量有解等价于编码矩阵的行列式不为0;
即
化简计算得到(α2-α1)·(α3-α1)·(α3-α2)≠0,即α1≠α2≠α3;
其他4数据块失效模式计算得到系数需满足的条件为:
αi≠αj,βi≠βj,i,j=1,2,3,i≠j
2个数据块属于一组,另外2个数据块属于另外一组;得到系数需要满足的条件为:
αi≠αj,βm≠βn,αi+αj≠βm+βn,i,j=1,2,3,i≠j,m≠n
(2)3个数据块和1个局部校验块失效;
3个数据块和1个局部校验块同组是理论不可重构的情况;
3个数据块同组,1个局部校验块属于另外一组;
αi≠αj,βi≠βj,i,j=1,2,3,i≠j
2个数据块和1个局部校验块在同一组,1个数据块属于另外一组;
αi≠αj≠0,βi≠βj≠0,i,j=1,2,3,i≠j
2个数据块在同一组,1个数据块和1个局部校验块在另外一组;
βk≠0,αi≠αj,αi+αj≠βk,i,j,k=1,2,3,i≠j
(3)3个数据块和1个全局校验块失效;
3个数据块和1个全局校验块同组是理论不可重构的情况;
3个数据块同组,1个全局校验块属于另外一组;
αi≠αj,βi≠βj,i,j=1,2,3,i≠j
2个数据块和1个全局校验块在同一组,1个数据块属于另外一组;
αi≠αj,αi+αj+αi×αj≠0,βi≠βj,βi×βj≠1,i,j=1,2,3,i≠j
2个数据块在同一组,1个数据块和1个局部校验块在另外一组;
(4)2个数据块和2个局部校验块失效;
2个数据块属于同一组;
αi≠αj≠0,βi≠βj≠0,i,j=1,2,3,i≠j
2个数据块属于不同的组;
αi≠βk≠0,i,k=1,2,3
(5)2个数据块和2个全局校验块失效;
2个数据块属于同一组;
αi≠αj,αi+αj+αi×αj≠0,βi≠βj,βi×βj≠1,i,j=1,2,3,i≠j
2个数据块属于不同的组;
(6)2个数据块、1个全局校验块和1个局部校验块失效;
2个数据块、1个全局校验块和1个局部校验块全部在同一组,此情况是理论不可重构的情况;
2个数据块和1个全局校验块在同一个组内,局部校验块在另外一个组;
αi≠αj,αi+αj+αi×αj≠0,βi≠βj,βi×βj≠1,i,j=1,2,3,i≠j
2个数据块和1个局部校验块在同一个组内,全局校验块在另外一个组;
αi≠αj≠0,βi≠βj≠0,i,j=1,2,3,i≠j
2个数据块在一个组内,全局校验块和1个局部校验块在另外一个组;
αi≠αj,βi≠βj,βi+βj≠0,i,j=1,2,3,i≠j
1个数据块、1个全局校验块和1个局部校验块在同一个组内,另一个数据块在另一个组内;
αk≠0,βk≠0,k=1,2,3
1个数据块和1个全局校验块在同一个组内,另一个数据块和1个局部校验块在另一个组内;
(7)1个数据块、2个全局校验块和1个局部校验块失效;
1个数据块和1个局部校验块在同一组;
αk≠0,βk≠0,k=1,2,3
1个数据块和1个局部校验块不在同一组;
(8)1个数据块、1个全局校验块和2个局部校验块失效;
1个数据块和1个全局校验块在同一组;
αk≠0,βk≠0,k=1,2,3
1个数据块和1个全局校验块不在同一组;
αk≠0,βk≠0,k=1,2,3
(9)2个全局校验块和2个局部校验块失效;用原始数据重新编码即可恢复;
综合上述不同条件下编码矩阵系数需要满足的条件,得到总体的编码矩阵系数需要满足的条件如下:
αi≠αj≠βi≠βj≠0,αi+αj+αi×αj≠0,βi×βj≠1
αi+αj≠βk;βi+βj≠αk;αi+αj≠βm+βn
。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于哈尔滨工程大学,未经哈尔滨工程大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811250945.3/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种应用于数据库的数据恢复方法及装置
- 下一篇:数据恢复方法、装置及基站
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置