数据恢复方法、装置及存储系统的制作方法

文档序号:6624895阅读:284来源:国知局
数据恢复方法、装置及存储系统的制作方法
【专利摘要】本发明实施例提供一种数据恢复方法、装置及存储系统。本发明数据恢复方法,用于对存储阵列进行数据恢复,所述存储阵列包括N个数据存储节点以及四个校验存储节点,N+4个存储节点都被划分成p-1个条带,所述方法包括:计算并存储四组校验数据,其中,每一组校验数据包括分别位于一个校验存储节点中的p-1个条带的p-1个校验数据;当所述N+4个存储节点中的任意四个存储节点的数据丢失时,根据剩下的所有存储节点恢复发生数据丢失的四个存储节点的数据,不需要存储三份副本,从而节省了存储空间。
【专利说明】数据恢复方法、装置及存储系统

【技术领域】
[0001] 本发明实施例涉及计算机技术,尤其涉及一种数据恢复方法、装置及存储系统。

【背景技术】
[0002] 随着信息技术的发展,在科学计算、商业计算等众多应用领域中产生了规模巨大 的数据,云计算技术得到了广泛运用。云计算中,数据可以被分布式存储在远程的云存储系 统上,但云存储存在数据可靠性的问题,因此,云存储中的数据容错技术非常重要。
[0003] 现有的容错技术一般都是增加数据冗余,以保证在部分数据失效以后也能通过访 问冗余数据满足需求。目前,常用的容错技术主要采用基于复制(replication)的容错技 术,其中,基于复制的容错技术需要将同一份数据复制多份,存放在不同的存储节点上,以 便当有存储节点出错时,只要有任意一个存储节点存在,用户即可获取到所述数据,可选 地,一般将同一份数据复制三份,也即需要占用的存储空间为原始数据占用存储空间的三 倍。
[0004] 因此,现有基于复制的容错技术的存储空间浪费严重。


【发明内容】

[0005] 本发实施例提供一种数据恢复方法、装置及存储系统,用以节省存储空间。
[0006] 第一方面,本发明实施例提供一种数据恢复方法,用于对存储阵列进行数据恢复, 所述存储阵列包括N个数据存储节点以及四个校验存储节点,N+4个存储节点都被划分成 P-1个条带,其中,P为大于4的素数,N为大于等于1且小于等于p的整数,所述方法包括:
[0007] 计算四组校验数据,并将所述四组校验数据分别存储于所述四个校验存储节点, 其中,每一组校验数据包括分别位于一个校验存储节点中的p-Ι个条带的p-Ι个校验数据, 各个校验数据的值等于通过如下四个步骤计算出来的各个最终校验数据的值:
[0008] (1)对所述存储阵列补一个虚拟条带,位于虚拟条带中的各个数据块都为0 ;
[0009] (2)计算p-Ι个中间校验因子,每个中间校验因子的值为一定斜率的直线经过 的分别位于不同条带以及不同数据存储节点的N个数据块的异或和,其中,计算每一组 校验数据中的各个校验数据时使用的直线的斜率值均不相同,各个斜率值均为大于等 于-(P-1),且小于等于P-1的整数,且四个斜率值按等差数列依次变化;
[0010] (3)计算调节因子,所述调节因子的值为所述存储阵列中经上一个步骤后剩下未 被用于计算异或和的数据块的异或和;
[0011] (4)分别计算每个中间校验因子与所述调节因子进行异或和,得到p-Ι个最终校 验数据;
[0012] 当所述N+4个存储节点中的任意四个存储节点的数据丢失时,根据剩下的所有存 储节点恢复发生数据丢失的四个存储节点的数据。
[0013] 结合第一方面,在第一方面的第一种可能的实现方式中,所述根据剩下的所有存 储节点恢复发生数据丢失的四个存储节点的数据,包括:
[0014] 根据未发生数据丢失的校验存储节点的校验数据以及数据存储节点的数据恢复 第一节点的数据,其中,所述第一节点为所述存储阵列中丢失的四个存储节点中的一个节 占.
[0015] 根据未发生数据丢失的所述校验存储节点的校验数据、所述数据存储节点的数据 和所述第一节点的数据,降级依次恢复丢失的剩余节点的数据。
[0016] 结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式 中,当丢失的所述四个存储节点为四个数据存储节点,且所述第一节点为所述丢失的四个 存储节点中节点盘号处于中间的任一节点时,所述根据未发生数据丢失的校验存储节点的 校验数据以及数据存储节点的数据恢复第一节点的数据,包括:
[0017] 将未发生数据丢失的四个校验存储节点的四组校验数据分成两个组合,并将每个 所述组合中两组校验数据的所有条带的数据进行异或生成对应所述组合的校验数据的调 节因子异或和;
[0018] 将沿所述未发生数据丢失的校验存储节点的校验数据对应斜率的直线经过的分 别位于所述未发生数据丢失的数据存储节点的数据块异或得到第一异或和,并将所述第一 异或和与所述校验数据异或生成所述校验数据的第一校验因子;
[0019] 将所述第一校验因子及所述调节因子异或和采用异或消元运算恢复所述第一节 点的数据。
[0020] 结合第一方面的第一种可能的实现方式,在第一方面的第三种可能的实现方式 中,当丢失的所述四个存储节点为三个数据存储节点和一个校验存储节点且未丢失的三个 校验存储节点的斜率按等差数列连续变化,且所述第一节点为所述丢失的三个数据存储节 点中节点盘号处于中间的节点时,所述根据未发生数据丢失的校验存储节点的校验数据以 及数据存储节点的数据恢复第一节点的数据,包括:
[0021] 根据未发生数据丢失的校验存储节点的校验数据对应直线的斜率值选择校验数 据的异或组合,并将所述异或组合中校验数据对应条带的数据分别进行异或,生成所述校 验数据的调节因子信息;
[0022] 将沿所述未发生数据丢失的校验存储节点的校验数据对应斜率的直线经过的分 别位于所述未发生数据丢失的数据存储节点的数据块异或得到第二异或和,并将所述第二 异或和与所述校验数据异或生成所述校验数据的第二校验因子;
[0023] 将所述第二校验因子及所述调节因子信息采用异或消元运算恢复所述第一节点 的数据;
[0024] 其中,所述根据未发生数据丢失的校验存储节点的校验数据对应直线的斜率值选 择校验数据的异或组合,并将所述异或组合中校验数据对应条带的数据分别进行异或,生 成所述校验数据的调节因子信息,包括:
[0025] 将所述未发生数据丢失的三个校验存储节点中斜率最小和斜率最大的直线所对 应的校验存储节点的校验数据逐条带单元异或,生成所述两组校验数据的调节因子异或 和,或者
[0026] 当所述未发生数据丢失的校验数据存储节点包含斜率为零的直线所对应的校验 数据存储节点时,将所述斜率为零的直线所对应的校验数据分别与所述未发生数据丢失的 校验数据存储节点中剩余两个校验存储节点的校验数据逐条带单元异或,生成对应所述两 个校验数据的第二调节因子。
[0027] 结合第一方面的第一种可能的实现方式,在第一方面的第四种可能的实现方式 中,当丢失的所述四个存储节点为三个数据存储节点和一个校验存储节点且未丢失的三个 校验存储节点的斜率按等差数列非连续变化,且所述第一节点为所述丢失的三个数据存储 节点中节点盘号处于中间的节点时,所述根据未发生数据丢失的校验存储节点的校验数据 以及数据存储节点的数据恢复第一节点的数据,包括:
[0028] 将所述未发生数据丢失的三个校验存储节点中对应直线的斜率不连续的两个校 验存储节点中的校验数据的所有条带的数据进行异或,生成对应所述两组校验数据的调节 因子异或和;
[0029] 将沿所述未发生数据丢失的校验存储节点的校验数据对应斜率的直线经过的分 别位于所述未发生数据丢失的数据存储节点的数据块异或得到第三异或和,并将所述第三 异或和与所述校验数据异或生成所述校验数据的第三校验因子;
[0030] 将所述第三校验因子及所述调节因子异或和采用异或消元运算恢复所述第一节 点的数据。
[0031] 结合第一方面的第一种可能的实现方式,在第一方面的第五种可能的实现方式 中,当丢失的所述四个存储节点为三个数据存储节点和一个校验存储节点,且所述第一节 点为所述丢失的校验数据存储节点时,所述根据未发生数据丢失的校验存储节点的校验数 据以及数据存储节点的数据恢复第一节点的数据,包括:
[0032] 将沿所述未发生数据丢失的校验存储节点的校验数据对应斜率的直线经过的分 别位于所述未发生数据丢失的数据存储节点的数据块异或得到第四异或和,并将所述第四 异或和与所述校验数据异或生成所述校验数据的第四校验因子;
[0033] 将所述第四校验因子采用异或消元运算恢复所述第一节点的数据。
[0034] 结合第一方面的第一种可能的实现方式,在第一方面的第六种可能的实现方式 中,当丢失的所述四个存储节点为两个数据存储节点和两个校验存储节点,且所述第一节 点为所述丢失的两个数据存储节点中的一个节点时,所述根据未发生数据丢失的校验存储 节点的校验数据以及数据存储节点的数据恢复第一节点的数据,包括:
[0035] 将所述未发生数据丢失的两个校验存储节点中的校验数据的所有条带的数据进 行异或,生成对应所述两组校验数据的调节因子异或和;
[0036] 将沿所述未发生数据丢失的校验存储节点的校验数据对应斜率的直线经过的分 别位于所述未发生数据丢失的数据存储节点的数据块异或得到第五异或和,并将所述第五 异或和与所述校验数据异或生成所述校验数据的第五校验因子;
[0037] 将所述第五校验因子及所述调节因子异或和采用异或消元运算恢复所述第一节 点的数据。
[0038] 结合第一方面的第一种可能的实现方式,在第一方面的第七种可能的实现方式 中,当丢失的所述四个存储节点为一个数据存储节点和三个校验存储节点,且所述第一节 点为所述丢失的数据存储节点时,所述根据未发生数据丢失的校验存储节点的校验数据以 及数据存储节点的数据恢复第一节点的数据,包括:
[0039] 将沿所述未发生数据丢失的校验存储节点的校验数据对应斜率的直线经过的分 别位于所述未发生数据丢失的数据存储节点的数据块异或得到第六异或和,并将所述第六 异或和与所述校验数据异或生成所述校验数据的第六校验因子;
[0040] 根据所述第六校验因子以及所述数据存储节点的数据生成所述校验数据的第三 调节因子;
[0041] 根据所述第六校验因子及所述第三调节因子采用异或消元运算恢复所述第一节 点的数据;
[0042] 其中,根据所述第六校验因子以及所述数据存储节点的数据生成的所述校验数据 的第三调节因子的值等于通过如下步骤计算出来的值:
[0043] 采用公式

【权利要求】
1. 一种数据恢复方法,其特征在于,用于对存储阵列进行数据恢复,所述存储阵列包括 N个数据存储节点以及四个校验存储节点,N+4个存储节点都被划分成p-1个条带,其中,p 为大于4的素数,N为大于等于1且小于等于p的整数,所述方法包括: 计算四组校验数据,并将所述四组校验数据分别存储于所述四个校验存储节点,其中, 每一组校验数据包括分别位于一个校验存储节点中的p-Ι个条带的p-Ι个校验数据,各个 校验数据的值等于通过如下四个步骤计算出来的各个最终校验数据的值: (1) 对所述存储阵列补一个虚拟条带,位于所述虚拟条带中的各个数据块都为〇 ; (2) 计算p-Ι个中间校验因子,每个中间校验因子的值为一定斜率的直线经过的分别 位于不同条带以及不同数据存储节点的N个数据块的异或和,其中,计算每一组校验数据 中的各个校验数据时使用的直线的斜率值均不相同,各个斜率值均为大于等于-(P-1),且 小于等于P-1的整数,且四个斜率值按等差数列依次变化; (3) 计算调节因子,所述调节因子的值为所述存储阵列中经上一个步骤后剩下未被用 于计算异或和的数据块的异或和; (4) 分别计算每个中间校验因子与所述调节因子进行异或和,得到p-Ι个最终校验数 据; 当所述N+4个存储节点中的任意四个存储节点的数据丢失时,根据剩下的所有存储节 点恢复发生数据丢失的四个存储节点的数据。
2. 根据权利要求1所述的方法,其特征在于,所述根据剩下的所有存储节点恢复发生 数据丢失的四个存储节点的数据,包括: 根据未发生数据丢失的校验存储节点的校验数据以及数据存储节点的数据恢复第一 节点的数据,其中,所述第一节点为所述存储阵列中丢失的四个存储节点中的一个节点; 根据未发生数据丢失的所述校验存储节点的校验数据、所述数据存储节点的数据和所 述第一节点的数据,降级依次恢复丢失的剩余节点的数据。
3. 根据权利要求2所述的方法,其特征在于,当丢失的所述四个存储节点为四个数据 存储节点,且所述第一节点为所述丢失的四个存储节点中节点盘号处于中间的任一节点 时,所述根据未发生数据丢失的校验存储节点的校验数据以及数据存储节点的数据恢复第 一节点的数据,包括: 将未发生数据丢失的四个校验存储节点的四组校验数据分成两个组合,并将每个所述 组合中两组校验数据的所有条带的数据进行异或生成对应所述组合的校验数据的调节因 子异或和; 将沿所述未发生数据丢失的校验存储节点的校验数据对应斜率的直线经过的分别位 于所述未发生数据丢失的数据存储节点的数据块异或得到第一异或和,并将所述第一异或 和与所述校验数据异或生成所述校验数据的第一校验因子; 将所述第一校验因子及所述调节因子异或和采用异或消元运算恢复所述第一节点的 数据。
4. 根据权利要求2所述的方法,其特征在于,当丢失的所述四个存储节点为三个数据 存储节点和一个校验存储节点且未丢失的三个校验存储节点的斜率按等差数列连续变化, 且所述第一节点为所述丢失的三个数据存储节点中节点盘号处于中间的节点时,所述根据 未发生数据丢失的校验存储节点的校验数据以及数据存储节点的数据恢复第一节点的数 据,包括: 根据未发生数据丢失的校验存储节点的校验数据对应直线的斜率值选择校验数据的 异或组合,并将所述异或组合中校验数据对应条带的数据分别进行异或,生成所述校验数 据的调节因子信息; 将沿所述未发生数据丢失的校验存储节点的校验数据对应斜率的直线经过的分别位 于所述未发生数据丢失的数据存储节点的数据块异或得到第二异或和,并将所述第二异或 和与所述校验数据异或生成所述校验数据的第二校验因子; 将所述第二校验因子及所述调节因子信息采用异或消元运算恢复所述第一节点的数 据; 其中,所述根据未发生数据丢失的校验存储节点的校验数据对应直线的斜率值选择校 验数据的异或组合,并将所述异或组合中校验数据对应条带的数据分别进行异或,生成所 述校验数据的调节因子信息,包括: 将所述未发生数据丢失的三个校验存储节点中斜率最小和斜率最大的直线所对应的 校验存储节点的校验数据逐条带单元异或,生成所述两组校验数据的调节因子异或和,或 者 当所述未发生数据丢失的校验数据存储节点包含斜率为零的直线所对应的校验数据 存储节点时,将所述斜率为零的直线所对应的校验数据分别与所述未发生数据丢失的校验 数据存储节点中剩余两个校验存储节点的校验数据逐条带单元异或,生成对应所述两个校 验数据的第二调节因子。
5. 根据权利要求2所述的方法,其特征在于,当丢失的所述四个存储节点为三个数据 存储节点和一个校验存储节点且未丢失的三个校验存储节点的斜率按等差数列非连续变 化,且所述第一节点为所述丢失的三个数据存储节点中节点盘号处于中间的节点时,所述 根据未发生数据丢失的校验存储节点的校验数据以及数据存储节点的数据恢复第一节点 的数据,包括: 将所述未发生数据丢失的三个校验存储节点中对应直线的斜率不连续的两个校验存 储节点中的校验数据的所有条带的数据进行异或,生成对应所述两组校验数据的调节因子 异或和; 将沿所述未发生数据丢失的校验存储节点的校验数据对应斜率的直线经过的分别位 于所述未发生数据丢失的数据存储节点的数据块异或得到第三异或和,并将所述第三异或 和与所述校验数据异或生成所述校验数据的第三校验因子; 将所述第三校验因子及所述调节因子异或和采用异或消元运算恢复所述第一节点的 数据。
6. 根据权利要求2所述的方法,其特征在于,当丢失的所述四个存储节点为三个数据 存储节点和一个校验存储节点,且所述第一节点为所述丢失的校验数据存储节点时,所述 根据未发生数据丢失的校验存储节点的校验数据以及数据存储节点的数据恢复第一节点 的数据,包括: 将沿所述未发生数据丢失的校验存储节点的校验数据对应斜率的直线经过的分别位 于所述未发生数据丢失的数据存储节点的数据块异或得到第四异或和,并将所述第四异或 和与所述校验数据异或生成所述校验数据的第四校验因子; 将所述第四校验因子采用异或消元运算恢复所述第一节点的数据。
7. 根据权利要求2所述的方法,其特征在于,当丢失的所述四个存储节点为两个数据 存储节点和两个校验存储节点,且所述第一节点为所述丢失的两个数据存储节点中的一个 节点时,所述根据未发生数据丢失的校验存储节点的校验数据以及数据存储节点的数据恢 复第一节点的数据,包括: 将所述未发生数据丢失的两个校验存储节点中的校验数据的所有条带的数据进行异 或,生成对应所述两组校验数据的调节因子异或和; 将沿所述未发生数据丢失的校验存储节点的校验数据对应斜率的直线经过的分别位 于所述未发生数据丢失的数据存储节点的数据块异或得到第五异或和,并将所述第五异或 和与所述校验数据异或生成所述校验数据的第五校验因子; 将所述第五校验因子及所述调节因子异或和采用异或消元运算恢复所述第一节点的 数据。
8. 根据权利要求2所述的方法,其特征在于,当丢失的所述四个存储节点为一个数据 存储节点和三个校验存储节点,且所述第一节点为所述丢失的数据存储节点时,所述根据 未发生数据丢失的校验存储节点的校验数据以及数据存储节点的数据恢复第一节点的数 据,包括: 将沿所述未发生数据丢失的校验存储节点的校验数据对应斜率的直线经过的分别位 于所述未发生数据丢失的数据存储节点的数据块异或得到第六异或和,并将所述第六异或 和与所述校验数据异或生成所述校验数据的第六校验因子; 根据所述第六校验因子以及所述数据存储节点的数据生成所述校验数据的第三调节 因子; 根据所述第六校验因子及所述第三调节因子采用异或消元运算恢复所述第一节点的 数据; 其中,根据所述第六校验因子以及所述数据存储节点的数据生成的所述校验数据的第 三调节因子的值等于通过如下步骤计算出来的值: 采用公式
生成P°的第三调节因子; 其中,由公式<g-x · a>p = p-1确定g的值;X为所述未丢失的校验存储节点对应直线 的斜率
为所述未丢失校验存储节点的第g个条带单元数据。
9. 根据权利要求2所述的方法,其特征在于,当丢失的所述四个存储节点为一个数据 存储节点和三个校验存储节点且未丢失的校验存储节点对应直线的斜率为零,且所述第一 节点为所述丢失的数据存储节点时,所述根据未发生数据丢失的校验存储节点的校验数据 以及数据存储节点的数据恢复第一节点的数据,包括: 将所述未发生数据丢失的校验存储节点的校验数据与所述数据存储节点的数据异或, 恢复所述第一节点的数据。
10. -种数据恢复装置,其特征在于,用于对存储阵列进行数据恢复,所述存储阵列包 括N个数据存储节点以及四个校验存储节点,N+4个存储节点都被划分成p-1个条带,其中, P为大于4的素数,N为大于等于1且小于等于p的整数,所述装置,包括 : 计算模块,用于计算四组校验数据,并将所述四组校验数据分别存储于所述四个校验 存储节点,其中,每一组校验数据包括分别位于一个校验存储节点中的p-1个条带的p-1个 校验数据,各个校验数据的值等于通过如下四个步骤计算出来的各个最终校验数据的值: (1) 对所述存储阵列补一个虚拟条带,位于所述虚拟条带中的各个数据块都为〇 ; (2) 计算p-1个中间校验因子,每个中间校验因子的值为一定斜率的直线经过的分别 位于不同条带以及不同数据存储节点的N个数据块的异或和,其中,计算每一组校验数据 中的各个校验数据时使用的直线的斜率值均不相同,各个斜率值均为大于等于-(P-1),且 小于等于P-1的整数,且四个斜率值按等差数列依次变化; (3) 计算调节因子,所述调节因子的值为所述存储阵列中经上一个步骤后剩下未被用 于计算异或和的数据块的异或和; (4) 分别计算每个中间校验因子与所述调节因子进行异或和,得到p-1个最终校验数 据; 恢复模块,用于当所述N+4个存储节点中的任意四个存储节点的数据丢失时,根据剩 下的所有存储节点恢复发生数据丢失的四个存储节点的数据。
11. 根据权利要求10所述的装置,其特征在于,所述恢复模块包括: 第一恢复单元,用于根据未发生数据丢失的校验存储节点的校验数据以及数据存储节 点的数据恢复第一节点的数据,其中,所述第一节点为所述存储阵列中丢失的四个存储节 点中的一个节点; 降级恢复单元,用于根据未发生数据丢失的所述校验存储节点的校验数据、所述数据 存储节点的数据和所述第一节点的数据,降级依次恢复丢失的剩余节点的数据。
12. 根据权利要求11所述的装置,其特征在于,当丢失的所述四个存储节点为四个数 据存储节点,且所述第一节点为所述丢失的四个存储节点中节点盘号处于中间的任一节点 时,所述第一'陕复单元,包括: 第一调节因子异或和生成子单元,用于将未发生数据丢失的四个校验存储节点的四组 校验数据分成两个组合,并将每个所述组合中两组校验数据的所有条带的数据进行异或生 成对应所述组合的校验数据的调节因子异或和; 第一校验因子生成子单元,用于将沿所述未发生数据丢失的校验存储节点的校验数 据对应斜率的直线经过的分别位于所述未发生数据丢失的数据存储节点的数据块异或得 到第一异或和,并将所述第一异或和与所述校验数据异或生成所述校验数据的第一校验因 子; 第一恢复子单元,用于将所述第一校验因子及所述调节因子异或和采用异或消元运算 恢复所述第一节点的数据。
13. 根据权利要求11所述的装置,其特征在于,当丢失的所述四个存储节点为三个数 据存储节点和一个校验存储节点且未丢失的三个校验存储节点的斜率按等差数列连续变 化,且所述第一节点为所述丢失的三个数据存储节点中节点盘号处于中间的节点时,所述 第一'陕复单元,包括: 调节因子信息生成子单元,用于根据未发生数据丢失的校验存储节点的校验数据对应 直线的斜率值选择校验数据的异或组合,并将所述异或组合中校验数据对应条带的数据分 别进行异或,生成所述校验数据的调节因子信息; 第二校验因子生成子单元,用于将沿所述未发生数据丢失的校验存储节点的校验数 据对应斜率的直线经过的分别位于所述未发生数据丢失的数据存储节点的数据块异或得 到第二异或和,并将所述第二异或和与所述校验数据异或生成所述校验数据的第二校验因 子; 第二恢复子单元,用于将所述第二校验因子及所述调节因子信息采用异或消元运算恢 复所述第一节点的数据; 其中,所述调节因子信息生成子单元具体用于: 将所述未发生数据丢失的三个校验存储节点中斜率最小和斜率最大的直线所对应的 校验存储节点的校验数据逐条带单元异或,生成所述两组校验数据的调节因子异或和,或 者 当所述未发生数据丢失的校验数据存储节点包含斜率为零的直线所对应的校验数据 存储节点时,将所述斜率为零的直线所对应的校验数据分别与所述未发生数据丢失的校验 数据存储节点中剩余两个校验存储节点的校验数据逐条带单元异或,生成对应所述两个校 验数据的第二调节因子。
14. 根据权利要求11所述的装置,其特征在于,当丢失的所述四个存储节点为三个数 据存储节点和一个校验存储节点且未丢失的三个校验存储节点的斜率按等差数列非连续 变化,且所述第一节点为所述丢失的三个数据存储节点中节点盘号处于中间的节点时,所 述第一'陕复单元,包括: 第三调节因子异或和生成子单元,用于将所述未发生数据丢失的三个校验存储节点中 对应直线的斜率不连续的两个校验存储节点中的校验数据的所有条带的数据进行异或,生 成对应所述两组校验数据的调节因子异或和; 第三校验因子生成子单元,用于将沿所述未发生数据丢失的校验存储节点的校验数 据对应斜率的直线经过的分别位于所述未发生数据丢失的数据存储节点的数据块异或得 到第三异或和,并将所述第三异或和与所述校验数据异或生成所述校验数据的第三校验因 子; 第三恢复子单元,用于将所述第三校验因子及所述调节因子异或和采用异或消元运算 恢复所述第一节点的数据。
15. 根据权利要求11所述的装置,其特征在于,当丢失的所述四个存储节点为三个数 据存储节点和一个校验存储节点,且所述第一节点为所述丢失的校验数据存储节点时,所 述第一'陕复单元,包括: 第四校验因子生成子单元,用于将沿所述未发生数据丢失的校验存储节点的校验数 据对应斜率的直线经过的分别位于所述未发生数据丢失的数据存储节点的数据块异或得 到第四异或和,并将所述第四异或和与所述校验数据异或生成所述校验数据的第四校验因 子; 第四恢复子单元,用于将所述第四校验因子采用异或消元运算恢复所述第一节点的数 据。
16. 根据权利要求11所述的装置,其特征在于,当丢失的所述四个存储节点为两个数 据存储节点和两个校验存储节点,且所述第一节点为所述丢失的两个数据存储节点中的一 个节点时,所述第一恢复单元,包括: 第五调节因子异或和生成子单元,用于将所述未发生数据丢失的两个校验存储节点中 的校验数据的所有条带的数据进行异或,生成对应所述两组校验数据的调节因子异或和; 第五校验因子生成子单元,用于将沿所述未发生数据丢失的校验存储节点的校验数 据对应斜率的直线经过的分别位于所述未发生数据丢失的数据存储节点的数据块异或得 到第五异或和,并将所述第五异或和与所述校验数据异或生成所述校验数据的第五校验因 子; 第五恢复子单元,用于将所述第五校验因子及所述调节因子异或和采用异或消元运算 恢复所述第一节点的数据。
17. 根据权利要求11所述的装置,其特征在于,当丢失的所述四个存储节点为一个数 据存储节点和三个校验存储节点,且所述第一节点为所述丢失的数据存储节点时,所述第 一'陕复单元,包括: 第六校验因子生成子单元,用于将沿所述未发生数据丢失的校验存储节点的校验数 据对应斜率的直线经过的分别位于所述未发生数据丢失的数据存储节点的数据块异或得 到第六异或和,并将所述第六异或和与所述校验数据异或生成所述校验数据的第六校验因 子; 第三调节因子生成子单元,用于根据所述第六校验因子以及所述数据存储节点的数据 生成所述校验数据的第三调节因子; 第六恢复子单元,用于根据所述第六校验因子及所述第三调节因子采用异或消元运算 恢复所述第一节点的数据; 其中,所述第三调节因子生成子单元具体用于: 采用公式
生成P°的第三调节因子; 其中,由公式<g-x · a>p = p-ι确定g的值;X为所述未丢失的校验存储节点对应直线 的斜率;
为所述未丢失校验存储节点的第g个条带单元数据。
18. 根据权利要求11所述的装置,其特征在于,当丢失的四个存储节点为一个数据存 储节点和三个校验存储节点且未丢失的校验存储节点对应直线的斜率为零,且所述第一节 点为所述丢失的数据存储节点时,所述第一恢复单元具体用于:将所述未发生数据丢失的 校验存储节点的校验数据与所述数据存储节点的数据异或,恢复所述第一节点的数据。
19. 一种数据处理的存储系统,其特征在于,包括:N个数据存储节点、四个校验存储节 点以及如权利要求10-18任一项所述的数据恢复装置,其中,N+4个存储节点都被划分成 P-1个条带,P为大于4的素数,N为大于等于1且小于等于p的整数。
【文档编号】G06F11/14GK104156283SQ201410427438
【公开日】2014年11月19日 申请日期:2014年8月27日 优先权日:2014年8月27日
【发明者】马晓慧 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1