[发明专利]一种可容多错交叉循环卷积码的局部性修复编码方法有效
申请号: | 201810257383.9 | 申请日: | 2018-03-27 |
公开(公告)号: | CN108683422B | 公开(公告)日: | 2021-08-27 |
发明(设计)人: | 王静;张雪飞;贺书磊;王淑霞;王甜甜 | 申请(专利权)人: | 长安大学 |
主分类号: | H03M13/11 | 分类号: | H03M13/11;H04L29/08 |
代理公司: | 西安恒泰知识产权代理事务所 61216 | 代理人: | 李婷;周春霞 |
地址: | 710064 陕西省*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 可容多错 交叉 循环 卷积码 局部性 修复 编码 方法 | ||
1.一种可容多错交叉循环卷积码的局部性修复编码方法,该方法用于将原始文件M存储到分布式存储系统中的节点上,分布式存储系统中的节点至少包括2n个,其特征在于,包括以下步骤:
步骤1,将原始文件M分成k个原始数据块,对k个原始数据块采用(n,k)系统MDS码进行编码,得到n个编码数据块c1,…,cn-1,cn;
步骤2,将n个编码数据块复制2次,每个编码数据块形成3个副本;
步骤3,在分布式存储系统中随机选取n个节点作为n个数据节点N1,...,Ni,...Nn;
步骤4,将n个编码数据块的3个副本存储到选取的n个数据节点上;采用的方法如下:
对于数据节点Ni,当1≤i≤n-1时,该数据节点Ni上存储的编码数据块是ci、ci+1和ci+2;当i=n时,该数据节点Ni上存储的编码数据块是cn、c1和c2;
步骤5,在分布式存储系统中随机选取除去步骤3选取的n个数据节点以外的n个节点作为n个校验节点Nn+1,...,Nn+j...,N2n;
步骤6,在n个编码数据块c1,…,cn-1,cn中选取两个编码数据块ca和cb进行异或编码操作,得到n个校验数据块ca,b;其中,1≤a≤n,b=a+1,当a=n时,b=1;
步骤7,将n个校验数据块ca,b分别按序存储到n个校验节点Nn+1,...,Nn+j...,N2n上,其中,1≤a≤n,b=a+1,当a=n时,b=1,采用的方法如下:
对于校验节点Nn+j,若1≤j≤n-1,则校验节点Nn+j上存储的校验数据块为cj,j+1;若j=n,则校验节点Nn+j上存储的校验数据块为cn,1。
2.一种节点修复方法,其特征在于,包括以下步骤:
按照权利要求1所述的可容多错交叉循环卷积码的局部性修复编码方法,将原始文件M存储到分布式存储系统中的2n个节点中,2n个节点包括n个数据节点N1,...,Ni,...Nn和n个校验节点Nn+1,...,Nn+j...,N2n;
(1)若数据节点中单个节点Ni,1≤i≤n,发生故障
修复方案1:从节点Ni-1上采集编码数据块ci和ci+1,从节点Ni+1上采集编码数据块ci+2,将编码数据块ci、ci+1和ci+2传送给节点Ni,实现节点Ni的故障修复;
在该修复方案中,当i=1时,节点Ni-1为节点Nn,当i=n时,节点Ni+1为节点N1;
修复方案2:从节点Ni-1上采集编码数据块ci,从节点Ni+1上采集编码数据块ci+1和ci+2,将编码数据块ci、ci+1和ci+2传送给节点Ni,实现节点Ni的故障修复;
在该修复方案中,当i=1时,节点Ni-1为节点Nn,当i=n时,节点Ni+1为节点N1;
修复方案3:从节点Ni-1上采集编码数据块ci和ci+1,从节点Ni+2上采集编码数据块ci+2,将编码数据块ci、ci+1和ci+2传送给节点Ni,实现节点Ni的故障修复;
在该修复方案中,当i=1时,节点Ni-1为节点Nn,当i=n时,节点Ni+2为节点N2,当i=n-1时,节点Ni+2为节点N1;
修复方案4:从节点Ni-2上采集编码数据块ci,从节点Ni+1上采集编码数据块ci+1和ci+2,将编码数据块ci、ci+1和ci+2传送给节点Ni,实现Ni节点的故障修复;
在该修复方案中,当i=1时,节点Ni-2为节点Nn-1;当i=2时,节点Ni-2为节点Nn;当i=n时,节点Ni+1为节点N1;
修复方案5:从节点Ni-1上采集编码数据块ci和ci+1,从节点Nn+i+1上采集校验数据块c(i+1),(i+2),根据校验数据块c(i+1),(i+2)和编码数据块ci+1恢复得到编码数据块ci+2,将编码数据块ci、ci+1和ci+2传送给节点Ni,实现节点的故障修复;
在该修复方案中,当i=1时,节点Ni-1为节点Nn;当i=n时,节点Nn+i+1为节点Nn+1;
(2)若数据节点中两个相邻节点Ni-1和Ni,1≤i≤n,发生故障
修复方案1:从节点Ni-2上采集编码数据块ci和ci-1,从节点Ni+1上采集编码数据块ci+1和ci+2,将编码数据块ci、ci+1和ci+2传送给节点Ni,将编码数据块ci-1ci和ci+1传送给节点Ni-1,实现节点Ni-1和Ni的故障修复;
在该修复方案中,当i=1时,节点Ni-1为节点Nn,节点Ni-2为节点Nn-1;当i=2时,节点Ni-2为节点Nn;当i=n时,节点Ni+1为节点N1;
修复方案2:从节点Ni-2上采集编码数据块ci和ci-1,从节点Nn+i上采集校验数据块ci,(i+1),从节点Nn+i+1上采集校验数据块c(i+1),(i+2),根据校验数据块ci,(i+1)和编码数据块ci恢复得到编码数据块ci+1,根据校验数据块c(i+1),(i+2)和编码数据块ci+1恢复得到编码数据块ci+2;将编码数据块ci、ci+1和ci+2传送给节点Ni,将编码数据块ci-1ci和ci+1传送给节点Ni-1,实现节点Ni-1和Ni的故障修复;
在该修复方案中,当i=1时,节点Ni-1为节点Nn,节点Ni-2为节点Nn-1;当i=2时,节点Ni-2为节点Nn;当i=n时,节点Nn+i+1为节点Nn+1;
(3)若数据节点中两个不相邻节点Ni-1和Ni+1,1≤i≤n,发生故障
修复方案1:从节点Ni-2上采集编码数据块ci-1,从节点Ni上采集编码数据块ci、ci+1和ci+2,从节点Ni+2上采集编码数据块ci+3,将编码数据块ci-1、ci和ci+1传送给节点Ni-1,将编码数据块ci+1、ci+2和ci+3、传送给节点Ni+1,实现节点Ni-1和Ni+1的故障修复;
在该修复方案中,当i=1时,节点Ni-1为节点Nn,节点Ni-2为节点Nn-1;当i=2时,节点Ni-2为节点Nn;当i=n-1时,节点Ni+2为节点N1;当i=n时,节点Ni+2为节点N2,节点Ni+1为节点N1;
修复方案2:从节点Ni上采集编码数据块ci、ci+1和ci+2,从节点Nn+i-1上采集校验数据块c(i-1),i,从节点Nn+i+2上采集校验数据块c(i+2),(i+3),根据校验数据块c(i-1),i和编码数据块ci恢复得到编码数据块ci-1,根据校验数据块c(i+2),(i+3)和编码数据块ci+2恢复得到编码数据块ci+3;将编码数据块ci-1、ci和ci+1传送给节点Ni-1,将编码数据块ci+1、ci+2和ci+3、传送给节点Ni+1,实现节点Ni-1和Ni+1的故障修复;
在该修复方案中,当i=1时,节点Ni-1为节点Nn;当i=n时,节点Ni+1为节点N1,节点Nn+i+2为节点Nn+2;当i=n-1时,节点Nn+i+2为节点Nn+1。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于长安大学,未经长安大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810257383.9/1.html,转载请声明来源钻瓜专利网。
- 同类专利
- 专利分类