[发明专利]一种用于分布式存储系统节点修复的编码方法有效
申请号: | 201611078518.2 | 申请日: | 2016-11-29 |
公开(公告)号: | CN106790408B | 公开(公告)日: | 2019-08-09 |
发明(设计)人: | 袁帅;黄勤 | 申请(专利权)人: | 中国空间技术研究院 |
主分类号: | H04L29/08 | 分类号: | H04L29/08 |
代理公司: | 中国航天科技专利中心 11009 | 代理人: | 陈鹏 |
地址: | 100194 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 一种用于分布式存储系统节点修复的编码方法,首先提取分布式存储系统的编码参数并构建存储系统的编码模型,引入保护列、设计列,得到扩展后的编码模型,然后根据归一化修复带宽的偏导确定两者的比例,进而得到保护列、设计列取值,最后根据保护列、设计列取值建立附加信息构造矩阵并完成附加信息的构造,将附加信息叠加到设计列的检验信息之上,完成generalized piggybacking code的编码构造。本发明没有额外存储开销,在节点修复过程中能够保持存储系统原先的译码特性不变,另外在节点修复过程中不需要复杂的矩阵运算,只需要简单的线性叠加运算,复杂度低,便于实现,具有很好的实用价值。 | ||
搜索关键词: | 一种 用于 分布式 存储系统 节点 修复 编码 方法 | ||
【主权项】:
1.一种用于分布式存储系统节点修复的编码方法,其特征在于包括如下步骤:(1)提取当前分布式存储系统所采用的纠删码参数,使用纠删码参数对原始信息进行编码并分别存储在分布式存储系统;所述的提取当前分布式存储系统所采用的纠删码参数,使用纠删码参数对原始信息进行编码并分别存储在分布式存储系统的方法为:提取当前分布式存储系统所采用的纠删码参数,假设当前分布式存储系统采用系统型纠删码参数(n,k,r),n表示系统型纠删码码长,k表示系统型纠删码码字中信息维度,r表示系统型纠删码码字中校验信息个数,n=r+k,在当前分布式存储系统中原始信息被分为k个数据段,然后利用参数为(n,k,r)的系统型纠删码将原始信息的k个数据段编码成n个数据段,编码后的n个数据段分别存储在分布式存储系统的n个离散节点中;所述的分布式存储系统包括n个节点,k个系统节点,r个校验节点,采用的r个维度为k的编码向量为p1、p2、…、pr;(2)生成多组分布式存储系统编码模型;所述的生成多组分布式存储系统编码模型的方法为:引入变量s、p,用维度为k的向量u=[u1,u2,…,uk]代表分布式存储系统需要编码的原始信息,进而得到当i不大于k时分布式存储系统中第i个节点存储的数据用ui表示,当i大于k时分布式存储系统中第i个节点存储的数据用
表示,i=1,2,3,…,k,k+1,k+2,…,n,得到分布式存储系统中各个节点存储的数据分别用
表示,并作为编码模型,遍历s+p次,得到s+p组编码模型;其中,第j组编码模型记为
uj=[uj,1,uj,2,…,uj,k]表示第j组编码模型使用的原始信息代表向量,uj,x表示uj中的第x个原始信息,s表示保护列的列数,p表示设计列的列数,x=1,2,…,k,j=1,2,…,s+p,s为保护列的列数,p为设计列的列数;(3)生成扩展后的存储结构,其中,扩展后的存储结构中每一行分别代表分布式存储系统中的每一个存储节点;所述的生成扩展后的存储结构的方法为:将第j组
作为当前分布式存储系统扩展后的存储结构的第j列,遍历所有j的取值,得到扩展后的存储结构,扩展后的存储结构中每一行分别代表分布式存储系统中的每一个存储节点,将扩展后的存储结构中第1到第k行的第1到第s列作为区域A,将第1到第k+1行的第s+1到第s+p列作为区域B,将扩展后的存储结构中第k+1到第k+r行的第1到第s列作为区域C,将扩展后的存储结构中第k+2到第k+r行的第s+1到第s+p列作为区域D;(4)根据扩展后的存储结构生成附加信息构造矩阵,当分布式存储系统中系统节点数据损坏时,使用附加信息构造矩阵完成当前损坏节点修复;所述的根据扩展后的存储结构生成附加信息构造矩阵,当分布式存储系统中系统节点数据损坏时,使用附加信息构造矩阵完成当前损坏节点修复的方法包括如下步骤:(41)计算generalized piggybacking code的归一化修复带宽函数γ为
其中,
定义保护列、设计列的比例为
求出γ的下界为
将γ的下界记为Γlow(pp),进而得到
其中,s为保护列的列数,p为设计列的列数;(42)求出Γlow(pp)关于pp的偏导数为
然后令Γlow(pp)关于pp的偏导数为0,确定Γlow(pp)取为正数的极小值时pp的值为
(43)如果
不是0.25的倍数,则在
左侧选取两个与
最近且为0.25倍数的数,记为d1、d2,在
右侧选取两个与
最近且为0.25倍数的数,记为d3、d4,进而得到4组变量s、p取值,并记为(s1,p1)、(s2,p2)、(s3,p3)、(s4,p4),其中,
若(s1,p1)、(s2,p2)、(s3,p3)、(s4,p4)中存在1组取值令γ最小,将该组取值作为变量s、p取值,若(s1,p1)、(s2,p2)、(s3,p3)、(s4,p4)中存在至少两组取值令γ最小且s+p的取值不等,将令γ最小且s+p最小的取值作为变量s、p取值,若(s1,p1)、(s2,p2)、(s3,p3)、(s4,p4)中存在至少两组取值令γ最小且s+p的取值相等,从令令γ最小且s+p的取值相等的至少两组取值中任选1组作为变量s、p取值;如果
是0.25的倍数,则将
表示为最简分数,将最简分数的分子作为变量s取值,最简分数的分母减去分子作为变量p取值;(44)根据步骤(43)得到的变量s、p取值,建立一个
的附加信息构造矩阵,从扩展后的存储结构A区中按行依次取出数据,并按行将取出的数据依次填充到附加信息构造矩阵的对应位置,当A区所有的数据被取出并填充到附加信息构造矩阵后,把附加信息构造矩阵的(r‑1)p个列的值进行叠加,进而得到(r‑1)p个累加值,将这些累加值命名为附加信息,然后按任意顺序把(r‑1)p个附加信息分别与扩展后的存储结构D区的(r‑1)p个校验数据相加,并分别替换存储结构D区的(r‑1)p个校验数据,完成用于分布式存储系统节点修复的编码,其中,当分布式存储系统中一个系统节点数据损坏时,下载所有B区健全节点数据,进而通过译码得到当前损坏节点的B区数据,从D区下载与A区当前损坏节点中相关的数据,得到A区当前损坏节点相关的附加信息与校验数据的叠加,将附加信息与校验数据的叠加分别与D区的原始校验数据、A区健全数据做差,进而得到当前损坏节点的A区数据,完成当前损坏节点修复。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国空间技术研究院,未经中国空间技术研究院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201611078518.2/,转载请声明来源钻瓜专利网。
- 上一篇:一种弹性温和的弹性无纺布
- 下一篇:一种细纹灯布