一种针对EVENODD码单盘故障的数据恢复方法技术

技术编号:18350054 阅读:46 留言:0更新日期:2018-07-01 23:00
本发明专利技术公开了一种针对EVENODD码单盘故障的数据恢复方法,属于计算机信息存储及恢复技术领域。本方法在现有EVENODD编码的基础上,对包含p个数据磁盘的EVENODD,取其中的前

【技术实现步骤摘要】
一种针对EVENODD码单盘故障的数据恢复方法
本专利技术涉及计算机信息存储及恢复
,特别涉及一种针对EVENODD码单盘故障的数据恢复算法。
技术介绍
近年来,随着社会和科技的快速发展,数据库中的数据量正以爆炸性的速度增长,因此存储系统的规模也日益增大。而随着规模的增大,存储系统的稳定性所面临的问题也逐渐增多。主要表现在随着磁盘数量的不断增加,磁盘故障所带来的数据丢失的概率也在增加。而为了保障数据即使在磁盘发生故障后仍保持完好,就需要对数据进行恢复。因此,数据恢复的时间和恢复过程所需读取的数据量就成为了系统稳定性的关键。文献【EVENODD:aneffcientschemefortoleratingdoublediskfailuresinRAIDarchitectures】提出的EVENODD码是存储系统中较为常用的一类容两错的阵列码。其原理主要是通过增加额外的两个冗余磁盘来保证数据的完整性。EVENODD码能够在任意的两个数据磁盘发生故障后仍正确地恢复出原始数据。对于EVENODD编码而言,其优点在于结构简单,编译码过程基于异或运算,因而速度很快。但是其主要缺点之一就是单盘故障恢复所需读取的数据过多,需要读取所有的剩余原数据,数据读取时间较长,数据恢复效率较低。
技术实现思路
基于上述所述,本专利技术要解决的技术问题是针对现有EVENODD码单盘故障数据恢复时间长,恢复效率低的不足,提供一种新的针对EVENODD码单盘故障时的数据恢复方法,该算法的存储开销略大于传统EVENODD编码,但是单盘故障恢复的读取开销仅约为现有EVENODD编码的50%,数据恢复时间短,恢复效率高。本专利技术所述的数据恢复方法的整体的原理是:在EVENODD编码的基础上,取其中的前个数据磁盘进行异或计算,将异或的结果保存到一个新的冗余磁盘中,该新的冗余磁盘定义为局部冗余磁盘。当单个磁盘发生数据故障时,依故障磁盘的位置或类型进行相应的数据恢复。即如果是数据磁盘发生故障,则根据数据磁盘所处的位置进行相应的数据恢复;如果是冗余磁盘发生故障,则根据冗余磁盘的类型进行相应的数据恢复。本专利技术所述的数据恢复方法步骤是:(1)首先对包含p个数据磁盘以及两个冗余磁盘EVENODD编码,取其中的前个数据磁盘进行异或计算,其中,p为数据磁盘的个数,p取值为素数,两个冗余磁盘分别是水平冗余磁盘及对角冗余磁盘;(2)将异或的结果保存到一个新的冗余磁盘中,该冗余磁盘定义为局部冗余磁盘,计算公式如下:ai,j为该磁盘阵列中的数据块,i,j为该数据块的行列坐标;(3)当单个数据磁盘发生数据故障(数据丢失)时,根据故障数据磁盘的位置进行故障恢复;(4)当单个冗余磁盘发生数据故障(数据丢失)时,根据故障冗余磁盘类型进行故障恢复。具体地,上述步骤(3)的具体步骤为:①首先判断发生数据故障的数据磁盘位置,可将情况分为故障发生在前个数据磁盘和后个数据磁盘两种情况;②如果发生数据故障的数据磁盘位于前个数据磁盘中,则读取前个磁盘中完好的磁盘及局部冗余磁盘的数据,进行异或计算,得到的数据即为发生数据故障磁盘的数据,设发生数据故障的数据磁盘为e,数据恢复公式如下;ai,j为该磁盘阵列中的数据块,i,j为该数据块的行列坐标;③如果发生数据故障的数据磁盘在后个磁盘中,则读取在后个数据磁盘中完好的磁盘及水平冗余磁盘和局部冗余磁盘的数据,进行异或计算,得到的数据即为发生数据故障磁盘的数据磁盘,设发生数据故障的数据磁盘为e,数据恢复公式如下:ai,j为该磁盘阵列中的数据块,i,j为该数据块的行列坐标具体地,上述步骤(4)的具体步骤为:①首先判断发生故障的冗余磁盘类型,分为三种情况:②如果发生数据故障的磁盘是水平冗余磁盘,则读取后个数据磁盘及局部冗余磁盘的数据进行异或计算,得到的数据即为发生数据故障的水平冗余磁盘数据,数据恢复公式如下:ai,j为该磁盘阵列中的数据块,i,j为该数据块的行列坐标;③如果发生数据故障的是对角冗余磁盘,则需要读取所有数据磁盘中的数据进行异或计算,计算公式如下:ai,j为该磁盘阵列中的数据块,i,j为该数据块的行列坐标;④如果发生数据故障的是局部冗余磁盘,则读取前个数据磁盘进行异或计算,得到的数据即为发生数据故障的局部冗余磁盘数据,计算公式同上述步骤(2)中公式,具体是:ai,j为该磁盘阵列中的数据块,i,j为该数据块的行列坐标本方法利用新增的局部冗余磁盘,使得与单一数据磁盘相关的磁盘数目减少。该恢复算法降低了磁盘读取的数目,时间和空间上均优于传统的EVENODD单盘故障恢复算法。通常,数据恢复方法可以从存储开销、恢复读取开销、系统稳定性、正确性四个方面来综合评价。存储开销可以通过比较编码所需的大小得出,虽然本算法较现有EVENODD多增加了一个冗余列(局部冗余磁盘),但是实际中p的取值往往较大,增加的存储开销几乎可以忽略不计;恢复读取开销指标可以由恢复同类型错误所需读取的文件块数目来观察得出,由于数据磁盘发生故障的概率大于冗余磁盘发生故障的概率,可以说是远远大于,当p趋于无穷时,单盘故障开销趋近于因此,本专利技术读取开销理论上能够降低50%的读取开销,恢复效率高。磁盘阵列中的系统稳定性往往取决于单盘故障恢复时间,数据恢复时间越短,就意味着产生多个错误的几率越低;由于降低了读取的数据块数目,本算法的恢复时间也得以降低,因此系统稳定性有所提高;最后由于本算法的前p+2列保留了EVENODD编码,因此也能够恢复任意两个错误,保证了解码的正确性。因此本专利技术提出的数据故障恢复方法是极优的。由上述方法可知,本专利技术的有益效果是:1、解决了现有EVENODD码单盘故障恢复读取开销过高的问题;本专利技术是基于EVENODD单盘故障恢复的改进,EVENODD编码方法是一种算法简单,运算基于异或的效率很高的编码方式。但是EVENODD却有一个比较显著的缺点,对于单一磁盘发生故障,在恢复时需要用到全部的数据,读取开销极大。本专利技术所提出的数据恢复方法,由于加入局部冗余磁盘,使得单一数据盘相关的磁盘数目缩减至一半,有效降低了读取开销。2、提升了系统整体的稳定性;阵列存储系统中绝大多数的磁盘故障都是单盘故障,而系统稳定性就取决于单盘故障的恢复时间与读取开销。本专利技术所提出的数据恢复方法,由于降低了参与运算的磁盘个数,因此不仅降低了读取开销,也节省了运算时间,进一步提高了恢复的效率,进而间接地提升了系统整体的稳定性。附图说明图1是现有EVENODD(5,7)编码磁盘阵列模型示意图;图2是图1中水平冗余磁盘及对对角冗余磁盘数据算法示意图:图3是本专利技术改进后的EVENODD(5,7)编码磁盘阵列模型示意图;图4是EVENODD(5,7)编码磁盘阵列模型中第一个数据磁盘发生数据故障时的结构示意图;图5是EVENODD(5,7)编码磁盘阵列模型中第三个数据磁盘发生数据故障时的结构示意图;图6是EVENODD(5,7)编码磁盘阵列模型中水平冗余磁盘发生故障时的结构示意图;具体实施方式下面结合附图对本专利技术的实施例进行详细说明。本专利技术所描述的实施例仅是本专利技术的部分实施例,而不是全部实施例。为了便于描述,附图中仅示出与本专利技术相关的部分而非全部内容。下述实施例所述的数据故障也可称之为数据丢失,本说明书所出现的本文档来自技高网...
一种针对EVENODD码单盘故障的数据恢复方法

【技术保护点】
1.一种针对EVENODD码单盘故障的数据恢复方法,其特征在于,包括如下步骤:⑴、对包含p个数据磁盘以及两个冗余磁盘的EVENODD编码,取其中的前

【技术特征摘要】
1.一种针对EVENODD码单盘故障的数据恢复方法,其特征在于,包括如下步骤:⑴、对包含p个数据磁盘以及两个冗余磁盘的EVENODD编码,取其中的前个数据磁盘进行异或计算,其中,p为素数,两个冗余磁盘分别是水平冗余磁盘及对角冗余磁盘;⑵、将步骤⑴异或的结果保存到一个新的冗余磁盘中,该冗余磁盘定义为局部冗余磁盘;⑶、当单个数据磁盘发生数据故障时,根据故障数据磁盘的位置进行数据故障恢复;⑷、当单个冗余磁盘发生数据故障时,根据故障冗余磁盘的类型进行数据故障恢复。2.如权利要求1所述的一种针对EVENODD码单盘故障的数据恢复方法,其特征在于,所述数据磁盘发生故障的概率大于冗余磁盘发生故障的概率。3.如权利要求1所述的一种针对EVENODD码单盘故障的数据恢复方法,其特征在于:所述步骤⑶包括如下子步骤:①首先判断发生数据故障的数据磁盘位置,将情况分为数据故障发生在前个数据磁盘和后个数据磁盘两种情况;②如果发生数据故障的数据磁盘...

【专利技术属性】
技术研发人员:唐聃萧枫范迪
申请(专利权)人:成都信息工程大学
类型:发明
国别省市:四川,51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1