The present invention discloses a cross block encoding and decoding method for improving the error correction ability, which is used to improve the error correction ability of the existing distributed storage system. This method is the original data S divided into k blocks and K data stored in the node, the K node data packet data node on the cross, good group to obtain a matrix over finite field G, G obtained by generating matrix check blocks and then check blocks and stored in a new node. When a part or node failure, with the remaining nodes and parity blocks of simultaneous equations solved node failure. The invention uses cross block coding to store check data, and the number of check nodes can be set according to users' needs. The number of check nodes is related to the ability of error correction, so users can set them by measuring their own situations. The invention can improve the utilization ratio of the storage space, reduce the space redundancy and save a lot of space, which is very practical for users with limited storage space.
【技术实现步骤摘要】
一种提高纠错能力的交叉分组编译码方法
本专利技术涉及计算机信息存储及恢复
,特别涉及一种提高纠错能力的交叉分组编译码方法。
技术介绍
进入大数据时代,数据在规模上呈现出几何级的数量增长趋势。构建于大量商用硬件之上的分布式存储系统,不仅可以通过并行访问的方式提供极高的数据存取性能,也可以通过增加存储节点增加存储规模。因此,分布式存储系统在大数据的存储管理中得到了极为广泛的应用。数据容错是大规模分布式存储系统中一项不可或缺的关键技术。由于数据量极为庞大,该类存储系统往往包含几千甚至几万个存储节点。因此,采用一定的数据容错技术,从而保证在部分存储节点失效的情况下,数据仍然能够被正常地访问就显得尤为重要。目前,常见的数据容错技术有两种:一种是多副本容错技术,通过复制进行容错;另一种是纠删码容错技术,通过编码进行容错。与多副本容错技术相比,纠删码容错技术可以在显著降低存储空间消耗的同时提供相同甚至高得多的数据容错能力。因此,在分布式存储系统中寻找合适的纠删码极具意义。
技术实现思路
本专利技术的目的是提供一种可灵活应用在分布式存储系统中的一种纠删码。该编码方法在空间效率、耐用性及恢复效率三者之间可达到一种相对的平衡,可显著提高系统效率及系统稳定性。为实现这一目的,本专利技术利用一种交叉分组的编码方法将数据分块分组存储于分布式存储系统中,使用者可以自己设置参数,很好的体现了编码方法的灵活性,同时也更好地降低了数据冗余,提高了效率。本专利技术所述的方法整体原理是将原数据S平均分为k块,分别为D1、D2、…、Dk。校验块节点数用户自定义为n个,分别是P1、P2、…、Pn ...
【技术保护点】
一种提高纠错能力的交叉分组编译码方法,其特征在于,包括如下步骤:⑴、将原数据S平均分为k块,分别为D1、D2、…、Dk,并储存于k个数据节点上,k为偶数;⑵、将k个数据节点交叉分组,每组中的数据节点个数为l,其中,l=k/2个;⑶、对交叉分组后的数据节点,在有限域上求得一个生成矩阵G,利用生成矩阵G求得局部校验块,然后将局部校验块存入新的节点;⑷、当一组数据节点中的一个节点失效时,利用该组中剩余数据节点和局部校验块联立方程恢复出失效节点。
【技术特征摘要】
1.一种提高纠错能力的交叉分组编译码方法,其特征在于,包括如下步骤:⑴、将原数据S平均分为k块,分别为D1、D2、…、Dk,并储存于k个数据节点上,k为偶数;⑵、将k个数据节点交叉分组,每组中的数据节点个数为l,其中,l=k/2个;⑶、对交叉分组后的数据节点,在有限域上求得一个生成矩阵G,利用生成矩阵G求得局部校验块,然后将局部校验块存入新的节点;⑷、当一组数据节点中的一个节点失效时,利用该组中剩余数据节点和局部校验块联立方程恢复出失效节点。2.如权利要求1所述的一种提高纠错能力的交叉分组编译码方法,其特征在于,采用如下步骤代替上述步骤(4),⑴、利用生成矩阵G最后一行,求出全局校验块,然后将全局校验块存入新的节点;⑵、当所有数据节点中有两个以上的数据节点失效时,则结合剩余数据节点,局部校验块和全局校验块联立方程组共同恢复出失效节点。3.如权利要求1或2所述的一种提高纠错能力的交叉分组编译码方法,其特征在于:步骤⑵中所述的交叉分组的方法是,第一组从第一个数据节点D1开始,连续选取l个数据节点;第二组向后错开m位,其中m≥1,从第1+m个数据节点D1+m开始...
【专利技术属性】
技术研发人员:唐聃,范迪,萧枫,
申请(专利权)人:成都信息工程大学,
类型:发明
国别省市:四川,51
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。