[发明专利]GPyramid-Code布局及该布局单盘故障的数据恢复与存储方法有效
申请号: | 202110494918.6 | 申请日: | 2021-05-07 |
公开(公告)号: | CN113094213B | 公开(公告)日: | 2022-07-05 |
发明(设计)人: | 刘靖宇;朱希康;李浩鹏;李萧言;牛秋霞;武优西 | 申请(专利权)人: | 河北工业大学 |
主分类号: | G06F11/14 | 分类号: | G06F11/14;G06F3/06 |
代理公司: | 天津翰林知识产权代理事务所(普通合伙) 12210 | 代理人: | 王瑞 |
地址: | 300130 天津市红桥区*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | gpyramid code 布局 故障 数据 恢复 存储 方法 | ||
1.一种基于GPyramid-Code布局的单盘故障的数据恢复方法,其特征在于,该GPyramid-Code布局为(n-1)*n的阵列;该阵列由n个磁盘组成,包括n-1个数据盘和1个校验盘;将每个数据盘划分成n-1个大小相同的数据块,将校验盘划分成n-1个与数据块大小相同的校验块;Bi,j表示第j个磁盘上的第i个块,i和j的取值范围分别为:0≤i≤n-2,0≤j≤n-1;对所有磁盘进行条带化,同一偏移单位的数据块和校验块组成一个条带;
在(n-1)*n的阵列中,第n列为校验盘,校验块中的数据由公式(1)生成:
式(1)中,Bi,n-1代表校验盘上的第i个校验块;t-1n-1=(t-1)mod(n-1);
该数据恢复方法包括以下步骤:
步骤一、设计GPyramid-Code的布局,将GPyramid-Code设计成(n-1)*n的阵列;
步骤二、当单个数据盘发生故障时,根据GPyramid-Code的单盘恢复算法进行数据恢复;当单个检验盘发生故障时,根据公式(1)进行数据恢复;
步骤二中,GPyramid-Code的单盘恢复算法包括以下步骤:
步骤1、确定所有校验链:对于n-1行n列的阵列,校验链的数量为n-1条,第k条校验链Lk表达为:
式(2)中,0≤k≤n-2;
步骤2、确定故障磁盘的恢复序列串RS:恢复序列串中的元素由校验链按k值大小顺序组成;对于故障数据盘的故障数据块M,存在一条或两条校验链L由故障数据块M生成;
如果故障数据块M参与两条校验链的生成,M为此两条校验链的一个公共块,则选择M生成的两条校验链中的一个作为一条恢复序列串中的一个元素,两条校验链中的另一个作为另一条恢复序列串中的一个元素;如果故障数据块M参与一条校验链的生成,则该条校验链作为每条恢复序列串的一个元素;进而得到所有恢复序列串;
若故障磁盘中公共块的个数为p,则恢复序列串共2p条;
步骤3、选择2p条中任意一条恢复序列串,故障数据块M的恢复链MR=Lk-M,根据此条恢复链MR中数据块之间的异或生成故障数据块M的重构数据,完成故障数据块M的数据恢复;
同理,完成所有故障数据块的数据恢复。
2.根据权利要求1所述的GPyramid-Code布局的单盘故障的数据恢复方法,其特征在于,步骤3中,若2p≥2,则首先确定每条恢复序列串中公共块的个数,然后选择所有恢复序列串中公共块个数最多的一条用于故障磁盘的数据恢复。
3.根据权利要求2所述的GPyramid-Code布局的单盘故障的数据恢复方法,其特征在于,步骤3中,确定恢复序列串中公共块的个数,具体是:
对于恢复序列串RS中若干个连续的校验链:如果连续的校验链的个数为m条,1<m≤|RS|,那么这m条校验链之间公共块的个数为:
对于恢复序列串RS中不连续的校验链:如果两条校验链之间的距离为奇数,那么两条校验链之间存在唯一的公共块。
4.一种根据权利要求1-3任一所述的GPyramid-Code布局的单盘故障的数据恢复方法得到的GPyramid-Code布局的恢复数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于河北工业大学,未经河北工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110494918.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种经鼻腔止血装置及其操作方法
- 下一篇:一种电子地球仪及其控制系统