The invention discloses a local repair encoding method based on Pyramid codes, the minimum encoding structure C Pyramid code encoding as the basic structure, the storage nodes in distributed storage systems are grouped according to the minimum required number of storage nodes encoding Pyramid code structure. At the same time, the invention also discloses a local repair coding method based on Pyramid code to repair the fault storage node. In the structure of the invention is based on local repair Pyramid encoding structure, check block storage node local repair within the group by storing local repair group within the data block local encoding, the encoding based on the structure, when the single node and the two node fault local repair group, only need to connect through to realize fast data reconstruction of fault node local repair group within the limited survival node local repair group, a data storage node fault recovery.
【技术实现步骤摘要】
一种基于Pyramid码的局部性修复编码方法
本专利技术属于计算机领域,涉及一种基于Pyramid码的局部性修复编码方法。
技术介绍
当前分布式存储系统通常采用纠删码提高存储可靠性,其中最大距离可分(MaximumDistanceSeparable,MDS)码,在确保系统可靠性的同时,能提高系统的存储效率。然而,纠删码在修复故障节点时需要下载整个文件大小的数据量,修复带宽开销过大。为了降低传统纠删码的修复带宽开销,Dimakis等人提出了再生码,显著降低了故障节点的修复带宽开销。通过对修复带宽和存储开销进行分析,Dimakis等人于2010年又提出了最小存储再生(MinimumStorageRegeneration,MSR)码和最小带宽再生(MinimumBandwidthRegeneration,MBR)码。简单再生码(SimpleRegeneratingCodes)以较高的存储开销为代价,在修复单节点故障时具有较好的修复局部性,但没有进一步考虑多故障节点的修复。MSR码和MBR码在修复故障节点时,只关注了修复带宽开销和存储开销,没有考虑磁盘存储开销,不适用于云存储系统。云存储系统中两个或多个节点同时发生故障的概率很大,已有的SRC和LRC在修复一个节点故障时具有很好的修复局部性,但是在修复两个或多个故障节点时需要连接多个存活节点,磁盘I/O开销较高。
技术实现思路
针对上述现有技术中存在的缺陷或不足,本专利技术的目的在于,提供一种基于Pyramid码的局部性修复编码方法,该方法可以降低故障节点修复过程中的磁盘I/O开销,且具有较优的节点存储开销。为了实现上 ...
【技术保护点】
一种基于Pyramid码的局部性修复编码方法,在分布式存储系统中,所需存储的文件系统中的每个文件,在存储时被切分成若干个数据块,每个数据块都被存储在分布式存储系统的不同的存储节点上,本方法是对包含n个存储节点的分布式存储系统进行局部性修复编码,其中n为≥8的自然数;其特征在于,包括以下步骤:若n/8=t为整数,文件系统被切分为4t个数据块并存储在t个局部修复组内的存储节点上,每个局部修复组中存储4个数据块和4个校验块,其中,每个所述局部修复组视为一个最小编码结构C,所述最小编码结构C由n个存储节点中任意每8个存储节点构成,所述校验块为数据块经过生成矩阵G线性编码生成,G表示生成C所需的生成矩阵,
【技术特征摘要】
1.一种基于Pyramid码的局部性修复编码方法,在分布式存储系统中,所需存储的文件系统中的每个文件,在存储时被切分成若干个数据块,每个数据块都被存储在分布式存储系统的不同的存储节点上,本方法是对包含n个存储节点的分布式存储系统进行局部性修复编码,其中n为≥8的自然数;其特征在于,包括以下步骤:若n/8=t为整数,文件系统被切分为4t个数据块并存储在t个局部修复组内的存储节点上,每个局部修复组中存储4个数据块和4个校验块,其中,每个所述局部修复组视为一个最小编码结构C,所述最小编码结构C由n个存储节点中任意每8个存储节点构成,所述校验块为数据块经过生成矩阵G线性编码生成,G表示生成C所需的生成矩阵,其中g12、g13、g21、g24、g31、g34、g42和g43为Pyramid码的编码系数,各列之间编码系数线性独立,所述最小编码结构C=D·G,D=[d11,d12,...,dij,...,dtj],dij为第i个局部修复组存储的j个数据块,i表示第i个局部修复组,i≤t,j表示局部修复组内存储的数据块数目,1≤j≤4且为整数;若n/8为非整数,文件系统被切分为4t+ε个数据块,其中前t-1个局部修复组中每个局部修复组存储4个数据块,第t个局部修复组存储4+ε个数据块,其中,ε为n/8的余数个存储节点中包含的数据块个数,ε≤4且为整数,对第t个局部修复组采用MDS编码方式进行编码后存储文件系统。2.一种分布式存储系统中存储节点故障修复方法,其特征在于,包括以下步骤:步骤一、采用权利要求1所述方法对包含有n个存储节点的分布式存储系统进行局部性修复编码;步骤二,若第i个局部修复组内出现存储节点故障,未出现故障的存储节点为存活存储节点,第i个局部修复组内存储4个数据块di1、di2、di3和...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。