[发明专利]一种快速纠删码计算方法有效
申请号: | 201911128043.7 | 申请日: | 2019-11-18 |
公开(公告)号: | CN111078460B | 公开(公告)日: | 2020-08-25 |
发明(设计)人: | 吴思齐;吴小岭 | 申请(专利权)人: | 北京中电兴发科技有限公司 |
主分类号: | G06F11/10 | 分类号: | G06F11/10 |
代理公司: | 北京市盛峰律师事务所 11337 | 代理人: | 于国强 |
地址: | 100095 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 快速 纠删码 计算方法 | ||
本发明涉及数据保护技术领域,公开了一种快速纠删码计算方法。包括以下步骤:S1)将原始数据进行拆分,构建原始编码矩阵M;S2)获得横向异或编码矩阵M1;S3)获得纵向异或编码矩阵M2;S4)根据横向异或编码矩阵M1和纵向异或编码矩阵M2获得异或编码矩阵M3;S5)对横向异或编码矩阵M1进行数据位置变换,获得存储矩阵M4;S6)判断存有存储矩阵M4最后一列数据的存储节点是否发生损坏;S7)根据损失节点位置一对损失数据进行恢复;S8)根据损失节点位置二对损失数据进行恢复。本发明仅采用异或这一种运算便获得了所有校验数据,当存储节点中任意两个节点损坏,都能够通过未损坏节点中的数据进行恢复,运算快速,计算效率高。
技术领域
本发明涉及数据保护技术领域,尤其涉及一种快速纠删码计算方法。
背景技术
针对传统数据冗余保护技术在大容量磁盘存储系统中所表现出的不足,以分布式、大规模、大容量磁盘存储为特点的海量存储系统中出现了一种更加高效的数据冗余技术——纠删码。纠删码起源于通信传输领域,目前逐渐出现在大规模存储系统中,特别是分布式存储环境。纠删码技术基本思想是将一份数据划分为k块原始的数据,基于k块原始数据冗余计算获得m块冗余数据。对于这k+m块数据,其中任意的m块元素出错时,存储系统均可以通过重构算法恢复出原来的k块数据,纠删码冗余保护技术解决了传统冗余保护技术不适于分布式生产存储系统的问题。
纠删码可以用于有大量数据和任何需要容错的应用程序或系统中,比如磁盘阵列系统、数据网格、分布式存储应用程序、对象存储或归档存储。基于纠删码的方法与传统的镜像、副本技术相比,具有冗余度低、磁盘利用率高等优点。目前,纠删码的一个常见的使用案例是基于对象的云存储,其针对云计算、大数据业务对海量存储系统的多样性、大规模存储容量需求,能够较好的适应分布式存储应用环境。
纠删码是一种有效的数据容错方法,一般表示为:n=k+m,变量k代表原始数据的数量,变量m代表故障后添加的提供保护的校验数据的数量,变量n代表纠删码编码后创建的数据的总数量。它花费较小的数据冗余代价,实现了数据的高可靠性,在分布式存储等系统中广泛应用。但通用的纠删码算法,需要使用矩阵乘法运算,算法相对复杂,运算量大,且不易将计算硬件化。在m=1时,可以通过k个原始数据的异或运算算出m=1个校验数据,例如,有k个原始数据:D1、D2、D3、…、Dk-1、Dk,将这些数据逐一进行异或运算,得到校验数C,C=D1xorD2xorD3...Dk-1xorDk,xor表示异或符号,然后将原始数据和校验数据分别存储,当任何一个数据遗失或损坏时,能够通过其他数据的异或运算进行恢复。由于异或运算简单高效,又易于硬件实现,是一种高效的纠删码实现方式,但这种方式无法直接实现m1的情况,只能生成一个校验数据。本发明提供了一种方法,可以通过异或运算实现m=2的数据校验效果。
发明内容
本发明的目的在于为了解决现有纠删码实现方式采用异或运算无法生成两个校验数据的问题,提供一种快速纠删码计算方法,本发明在两个存储节点均发生损坏时只需要采用异或运算就能生成两个校验数据,恢复出所有损失数据,运算快速,计算效率高。
为了实现上述目的,本发明采用的技术方案如下:
一种快速纠删码计算方法,包括以下步骤:
S1)获取需要存储的原始数据,将原始数据进行拆分,构建原始编码矩阵M;
S2)对原始编码矩阵M进行横向异或运算,获得横向异或编码矩阵M1;
S3)对原始编码矩阵M进行纵向异或运算,获得纵向异或编码矩阵M2;
S4)根据横向异或编码矩阵M1和纵向异或编码矩阵M2获得异或编码矩阵M3;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京中电兴发科技有限公司,未经北京中电兴发科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911128043.7/2.html,转载请声明来源钻瓜专利网。