An encoding method for distributed storage system node repair, first extract the encoding parameters of the distributed storage system and encoding model of storage system, the introduction of protection columns, column design, by encoding the extended model, and then according to the normalized partial derivative to determine the repair bandwidth ratio between the two, and then get the protection design of columns, column values. The last column, column structure design according to the protection value of establishing additional information matrix and complete the additional information, additional information is added to the above design a series of inspection information, complete the encoding structure of generalized piggybacking code. The invention has no extra storage overhead, can maintain the original decoding characteristics of storage system in the same node in the repair process, in addition to the node repair process does not require complex matrix operations, only linear superposition of simple operation, low complexity, easy to implement, has good practical value.
【技术实现步骤摘要】
一种用于分布式存储系统节点修复的编码方法
本专利技术涉及分布式存储领域,特别是一种用于分布式存储系统节点修复的编码方法。
技术介绍
分布式存储系统因其投入成本低,存储效率高等优点而广泛被大型网络应用所采纳,但是受到频发的故障、维护等因素的影响,分布式存储系统各个分离的存储节点的可靠性已经成为影响分布式存储系统性能的重要因素。目前,以纠删码为代表的差错控制编码技术已经应用到分布式存储系统中。最大距离可分(Maximumdistanceseparable,MDS)码是一种最常用于存储系统的纠删码技术,在一个参数为(n,k,d)的MDS码中,n代表码长,k为信息的维度,它的最小汉明距离是d=n-k+1。对于固定的参数n和k,MDS码的最小汉明距离d=n-k+1达到了最大的可能取值,因此最大距离可分码可以纠正码字中多达(n-k)个删除错误。使用参数为(n,k)的最大距离可分码进行编码的分布式存储系统如图1所示,该分布式存储系统首先将待存储的原始数据分割成k个信息片段,然后使用(n,k)最大距离可分码编码成n个信息片段,最后再将这n个信息片段分散的存储在n个分离的节点中去。这样便可以用系统中任意k个节点信息恢复出原始数据,换言之,整个系统可以抵抗任意(n-k)的节点的损坏。通过引入冗余信息,整个系统的可靠性有了大幅度的提升。当一些节点损坏后,利用健全节点的数据来恢复损坏节点内丢失的数据的节点修复技术也成为了保持整个分布式存储系统可靠性的一个最主要的手段。节点修复的示意图如图2所示,衡量一个节点修复技术性能的一个关键指标叫做“修复带宽”,修复带宽是指为了修复分布式存储 ...
【技术保护点】
一种用于分布式存储系统节点修复的编码方法,其特征在于包括如下步骤:(1)提取当前分布式存储系统所采用的纠删码参数,使用纠删码参数对原始信息进行编码并分别存储在分布式存储系统;(2)生成多组分布式存储系统编码模型;(3)生成扩展后的存储结构,其中,扩展后的存储结构中每一行分别代表分布式存储系统中的每一个存储节点;(4)根据扩展后的存储结构生成附加信息构造矩阵,当分布式存储系统中系统节点数据损坏时,使用附加信息构造矩阵完成当前损坏节点修复。
【技术特征摘要】
1.一种用于分布式存储系统节点修复的编码方法,其特征在于包括如下步骤:(1)提取当前分布式存储系统所采用的纠删码参数,使用纠删码参数对原始信息进行编码并分别存储在分布式存储系统;(2)生成多组分布式存储系统编码模型;(3)生成扩展后的存储结构,其中,扩展后的存储结构中每一行分别代表分布式存储系统中的每一个存储节点;(4)根据扩展后的存储结构生成附加信息构造矩阵,当分布式存储系统中系统节点数据损坏时,使用附加信息构造矩阵完成当前损坏节点修复。2.根据权利要求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。3.根据权利要求1或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为设计列的列数。4.根据权利要求1或2所述的一种用于分布式存储系统节点修复的编码方法,其特征在于:所述的生成扩展后的存储结构的方法为,将第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。5.根据权利要求1或2所述的一种用于分布式存储系统节点修复的编码方法,其特征在于:所述的根据扩展后的存储结构生成附加信息构造矩阵,当分布式存储系统中系统节点数据损坏时,使用附加信息构造矩阵完成当前损坏节点修复的方法包括如下步骤:(1)计算gen...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。