发明名称 一种数据恢复方法及装置
摘要 本发明实施例公开了一种数据恢复方法及装置。本发明实施例中,利用符合预置斜率的斜率线经过的所有子数据块之间的异或运算计算第二校验块,能够对任意数目的数据块设置冗余数据,并在发生数据丢失,利用冗余数据进行丢失数据的恢复时,仅通过第一校验块和第二校验块中的相应子块之间的异或运算即可实现,因此,能够提高数据恢复效率。
申请公布号 CN103744750A 申请公布日期 2014.04.23
申请号 CN201410014238.X 申请日期 2014.01.13
申请人 杭州华为数字技术有限公司 发明人 许焰;孙亚萍;周慧强
分类号 G06F11/14(2006.01)I 主分类号 G06F11/14(2006.01)I
代理机构 北京弘权知识产权代理事务所(普通合伙) 11363 代理人 陈蕾;许伟群
主权项 一种数据恢复方法,其特征在于,包括:获取存储在一个或多个存储设备上的N个数据块,将每个数据块等分为M个子数据块,将等分后的所有子数据块形成N*M的矩阵分布,其中,N和M均为大于1的整数,N代表矩阵的行数,M代表矩阵的列数;确定列校验数据集合,所述列校验数据集合包括M个列校验数据,每个列校验数据通过对每一列中的所有子数据块进行异或运算后得到;确定至少一个斜校验数据集合,每个斜校验数据集合包括多个斜校验数据,每个斜校验数据值为对以预置的斜率的直线通过的所述矩阵中的所有子数据块进行异或运算后得到:当所述预置的斜率为负斜率时,以第N行中每一列的子数据块作为直线经过的一个数据块,将绝对值小于等于1的一条或多条负斜率直线经过的所述矩阵中的所有子数据块进行异或运算,得到各个斜校验数据的值,其中,将第N行中超出M列的部分补充为0;当所述预置的斜率为正斜率时,以第M列中每一行的数据块作为直线经过的一个数据块,将大于等于1的一条或多条正斜率直线经过的所述矩阵中的所有数据块进行异或运算,得到各个斜校验数据的值,其中,将第N行中超出M列的部分补充为0;其中,所述预置的斜率的直线包括一个或多个斜率为1/n的直线,n为不等于0的整数;当预置的斜率为一个时,斜率为1或者‑1;当预置的斜率为多个时,第一个斜率为‑1,第二个斜率不等于第一个斜率但绝对值等于第一个斜率的绝对值;第三个斜率的绝对值小于第二个斜率的绝对值,第四个斜率不等于第三个斜率但等于第三个斜率的绝对值,依次类推;当有所述数据块丢失时,利用所述列校验数据集合和所述斜校验数据集合将丢失的数据块中的子数据块进行恢复。
地址 310052 浙江省杭州市滨江区滨兴路301号3幢A楼301室