一种独立介质的冗余阵列的制作方法

文档序号:16246055发布日期:2018-12-11 23:35阅读:189来源:国知局
一种独立介质的冗余阵列的制作方法

本发明涉及数据存储领域,尤其涉及一种独立介质的冗余阵列。

背景技术

在数据存储领域中,raid(redundantarrayofindependentdisks)技术被广泛采用。这种技术是把多块独立的物理硬盘按不同方法组合成一个逻辑硬盘,从而提供一个在存储速度和可靠性都高于单个硬盘的存储设备。这种设备通常被简称作“磁盘阵列”。采用raid技术的磁盘阵列通常含有多块硬盘,在操作系统下作为一个独立的存储设备出现,raid技术对于存储系统有如下三个优点:(1)通过多个磁盘组织在一起作为一个逻辑卷提供磁盘跨越功能;(2)通过把数据分成多个数据块,并行写入/读出多个磁盘以提高访问磁盘的速度;(3)通过镜像或校验操作提高整体的容错能力。根据不同的应用场景,raid技术可提供不同的容错能力。如raid5可以允许磁盘阵列在运行中有一块硬盘损坏,此时通过其余硬盘上的数据条带可以将坏损硬盘上的数据恢复到一块新硬盘上。这种恢复过程被称为磁盘数据的重建,重建是一个比较耗时的过程。常用的还有raid6,raid6具有更高的容错能力,可以允许系统中有两块硬盘坏损。raid6的技术实现复杂度也相应较高。

鉴于以上的优点,各种raid技术在现代存储系统中是被普遍应用的主流技术。近年来,市场上也出现了直接采用raid技术的离线/近线产品,如光盘库产品。将若干张光盘按照raid5,或raid6的方式组织起来,每张光盘上的数据都是条带化的。将这些光盘加载到光盘驱动器后,这些光驱仍然在写入/读出速度以及容错方面具有优点。与此同时,对于离线/近线设备,如光盘库,硬盘库等,这种完全仿照磁盘阵列,将独立介质直接条带化并组成raid的方法,也对离线/近线存储系统带来了一些问题,这些问题在以下方面尤为突出:(1)原本位于库中的大量介质(光盘、磁盘)失去了独立可操作性。任何一个文件的读写,均需要加载组成raid的全体光盘才能够操作;(2)任何一张介质在从设备中取出后,都无法进行读写操作;(3)当缺失或损坏的介质数量超过所设raid的冗余限度时,则余下的raid组中全部介质也都不能进行读/写操作,也就是该raid组中的数据全部丢失。具体举例,当组成raid5时,缺失或坏损介质数量大于1,当组成raid6时,缺失或坏损介质数量大于2,则会发生raid组中的数据全部丢失的重大事故;(4)对于数据归档介质的单张独立可读性和记录格式的标准化是档案法规的明确要求。照搬在线raid的做法,使得归档介质失去了法规遵从性。

综上所述,直接将在线的raid技术用于离线/近线设备,如光盘库、硬盘库,是不合适的,本发明提供一种独立介质的冗余阵列,解决现有raid技术对离线/近线存储系统带来的一系列问题,是非常有必要的。



技术实现要素:

本发明的目的是针对现有技术的不足,提供一种独立介质的冗余阵列。

本发明是通过以下技术方案实现的:

本发明公开了一种独立介质的冗余阵列,所述冗余阵列包括m个独立数据介质{di,0≤i≤m-1}和至少一个校验介质,所述独立数据介质{di,0≤i≤m-1}与所述校验介质组成一个介质集合,所述介质集合中的介质之间互不关联。

进一步地,所述校验介质有且仅有一个,所述校验介质为dp,所述介质集合包括m+1个介质,每一个介质{di,0≤i≤m-1,p}与介质集合中的其他介质均互不关联。

进一步地,所述独立数据介质{di,0≤i≤m-1}包括如下所述的n个相同大小的数据块:

所述dp包括如下所示的n个相同大小的数据块:

所述冗余阵列如下所示:

进一步地,将所述独立数据介质{di,0≤i≤m-1}上顺序位置相同的数据块{dij,0≤i≤m-1,0≤j≤n-1}进行异或运算,得出所述dp上相应位置的数据块{dpj,0≤j≤n-1},计算公式如下:

进一步地,所述冗余阵列允许缺损任意一个介质{di,0≤i≤m-1,p},当其中一个介质{di,0≤i≤m-1,p}缺损时,将剩余介质中的数据块{dkj,0≤k≤m-1,p,且k≠i,0≤j≤n-1}进行异或运算,恢复缺损的介质上的全部数据。

进一步地,所述校验介质为两个,分别为dp和dq,所述介质集合包括m+2个介质,每一个介质{di,0≤i≤m-1,p,q}与介质集合中的其他介质均互不关联。

所述独立数据介质{di,0≤i≤m-1}包括如下所示的n个相同大小的数据块:

所述dp包括如下所示的n个相同大小的数据块:

所述dq包括如下所示的n个相同大小的数据块:

所述冗余阵列如下所示:

进一步地,将所述独立数据介质{di,0≤i≤m-1}上顺序位置相同的数据块{dij,0≤i≤m-1,0≤j≤n-1}进行异或运算,得出所述校验介质dp上相应位置的数据块{dpj,0≤j≤n-1},计算公式如下:

将所述独立数据介质{di,0≤i≤m-1}上顺序位置相同的数据块{dij,0≤i≤m-1,0≤j≤n-1}与参数gk相乘后进行异或运算,得出所述dq上相应位置的数据块{dqj,0≤j≤n-1},计算公式如下:

其中,gk,0≤k≤m-1,为数据块的线性反馈移位寄存器运算。

进一步地,所述冗余阵列最多允许缺损任意两个介质{di,0≤i≤m-1,p,q}和{dj,0≤j≤m-1,p,q},其中i≠j;

当di和dj缺损时,使用剩余介质中的数据恢复di和dj,具体为:

s1、根据剩余介质中的数据,计算出系数a和b,计算公式如下:

,其中,gk,0≤k≤m-1,为数据块的线性反馈移位寄存器运算;

s2、根据系数a和b计算出dj,计算公式如下:

s3、将剩余介质中的数据和dj进行异或运算得出di。

实施本发明,具有如下有益效果是:

(1)本发明适用于离线/进线存储设备,本发明的数据组织相对于现有的条带化横向分布存储,是数据的纵向独立存储,存储设备中的大量介质可以单一、灵活地被调取操作,每次只需加载含有目标数据的数据介质即可。

(2)任何一介质都可以从存储设备中取出后进行独立读写操作,可以保持原文件的格式及其它属性不变。

(3)本发明的冗余阵列中的每一个介质与介质集合中的其他介质均互不关联,因此,如果缺损的介质数量超过了冗余纠错的限度,则所属介质集合中丢失的数据仅限于缺损介质上的数据,而介质集合中其它介质保持完好状态,不会像raid5或raid6那样受到牵连而全部丢失。

(4)介质集合中的数据归档介质是符合档案法规的。

附图说明

为了更清楚地说明本发明的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。

图1为本发明实施例2中的服务器上的数据并行写入介质上的结构示意图。

图2为本发明实施例2中的数据纵向独立存储的结构示意图。

具体实施方式

下面将结合附图对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例1:

本实施例提供了一种独立介质的冗余阵列,所述冗余阵列包括m个独立数据介质{di,0≤i≤m-1}和至少一个校验介质,所述独立数据介质{di,0≤i≤m-1}与所述校验介质组成一个介质集合,所述介质集合中的介质之间互不关联。所述独立数据介质{di,0≤i≤m-1}和所述校验介质均包括n个相同大小的数据块,将所述独立数据介质{di,0≤i≤m-1}上顺序位置相同的数据块{dij,0≤i≤m-1,0≤j≤n-1}进行异或运算,得出所述校验介质上相应位置的数据块。

本实施例中的冗余阵列适用于离线/近线存储设备,所述离线/近线存储设备可以是带有介质交换机械装置的光盘库,光盘的智能离线库,磁盘库,智能离线磁盘库,也可以是光盘、磁盘混合的介质库,所述介质可以是光盘、固态硬盘、磁盘驱动器等通用存储设备,也可以是多种介质的组合,如光、磁、半导体等。

本实施例中的冗余阵列中的独立数据介质可以是离线的、异地的,对其操作可以是独立的、异步的。冗余阵列中的校验介质可以是独立的,也可以作为数据块均匀分布在独立数据介质上。

相比于现有的数据条带化存储,本实施中是数据的纵向独立存储,因此没有破坏每个独立介质的独立性和完整性。本实施例中的冗余阵列中的介质,也可以被并行操作,但各个介质之间并不存在关联操作。在所有读/写的操作中,冗余集合中的所有介质均保持了操作的独立性。

实施例2:

本实施例中的所述校验介质有且仅有一个,所述校验介质为dp,所述冗余阵列如下所示:

本实施例的具体做法如下:

将m个独立数据介质{di,0≤i≤m-1}与一个校验介质为dp组成一个包括m+1个介质的介质集合,即d0,d1,…,dm-1,dp,每一个介质{di,0≤i≤m-1,p}与介质集合中的其他介质互不关联,所谓互不关联是指所有数据介质均保持了操作的独立性,各个介质之间不存在关联操作。

将每一个独立数据介质{di,0≤i≤m-1}上的数据都分为n个相同大小的数据块,如下所示:

将每一个所述独立数据介质{di,0≤i≤m-1}上顺序位置相同的数据块{dij,0≤i≤m-1,0≤j≤n-1}进行异或运算,得出所述dp上相应位置的数据块{dpj,0≤j≤n-1},计算公式如下:

本实施例中的所述冗余阵列允许缺损任意一个介质{di,0≤i≤m-1,p},当其中一个介质{di,0≤i≤m-1,p}缺损时,将剩余介质中的数据块{dkj,0≤k≤m-1,p,且k≠i,0≤j≤n-1}进行异或运算,恢复/重建缺损的数据介质上的全部数据。

以上的算法与raid5的纠错原理相同,区别在于数据的组织。本实施例没有将所要存储的数据条带化,因此没有破坏每个独立介质的独立性和完整性。每个介质{di,0≤i≤m-1,p}与数据集合中的其它介质都不存在关联性。

下面举例说明本发明的实施例的具体做法:

本实施例中的离线/近线存储设备为光盘库。典型的光盘库由若干个光盘匣、一组光驱和机械手组成。在具体应用例中,设定每个光盘匣为一个介质集合,组成一个冗余阵列。设定每个光盘匣中有12张光盘,光驱组中有12个光驱。机械手将指定光盘盒中的12张光盘,分别加载到12个光驱中。设定离线/近线冗余阵列采用类似raid5的容错算法,即有一张光盘作为校验光盘。此时被加载到光驱组中的光盘排列为:d1,d2,d3,d4,d5,d6,d7,d8,d9,d10,d11,dp。

如图1所示,服务器(server)上的数据可以并行写入加载的光盘上。数据可以是文件形式的,也可以是任何数据块、数据流的形式。驱动器根据d1到d11光盘上的数据,可以横向计算出相应的异或值,存于第12张光盘(即dp)上。这样组织的冗余阵列,系统可以在任何时候随意调用其中的一张或多张。也可以将这些光盘匣从光盘库中移出离线保管。当光盘匣中任意一张光盘损坏或丢失时,这张光盘可以通过前述的异或运算重新产生。如果出现1张以上的光盘坏损或丢失,则这些缺损光盘上的数据将丢失。剩余光盘上的数据仍然完好,但这些光盘已不具备容错性,需要采取补救措施,以防再次丢失数据。

现有的raid技术或其他纠删码(如reed-solomon编码),他们共同特点都是把所要存储的数据横向同时存储在不同的介质中,因此其中任何一个介质都不含有一个数据单元,如文件的完整信息,而是通常仅含有整体信息的一个均匀等份。要得到任何一个完整的数据单元,都必须访问调取冗余介质集合中的所有介质来凑齐所有的信息分割块。

与以上所述raid或其它纠删码技术不同,本实施例中的数据组织相对于以上raid或纠删码技术的条带化横向分布存储,是数据的纵向独立存储,如图2所示。冗余集合中的介质,也可以被并行操作,但各个介质之间并不存在关联操作。在所有读/写的操作中,冗余集合中的所有介质均保持了操作的独立性。

实施例3:

本实施例在实施例2的基础上,增加一个校验介质的代价,来提高冗余阵列的整体容错度,所采用的算法可以是通用的raid6(此时可以允许缺损最多二个独立介质)。

本实施例中的校验介质为两个,分别为dp和dq,所述冗余阵列如下所示:

本实施例的具体做法如下:

将m个独立数据介质{di,0≤i≤m-1}与dp、dq组成一个包括m+2个介质的介质集合,即d0,d1,…,dm-1,dp,dq,每一个介质{di,0≤i≤m-1,p,q}与介质集合中的其他介质互不关联,所谓互不关联是指所有数据介质均保持了操作的独立性,各个介质之间不存在关联操作。

将每一个独立数据介质{di,0≤i≤m-1}上的数据都分为n个相同大小的数据块,如下所示:

将每一个所述独立数据介质{di,0≤i≤m-1}上顺序位置相同的数据块{dij,0≤i≤m-1,0≤j≤n-1}进行异或运算,得出所述dp上相应位置的数据块{dpj,0≤j≤n-1},计算公式如下:

将每一个所述独立数据介质{di,0≤i≤m-1}上顺序位置相同的数据块{dij,0≤i≤m-1,0≤j≤n-1}与参数gk相乘后进行异或运算,得出所述dq上相应位置的数据块{dqj,0≤j≤n-1},计算公式如下:

其中,gk,0≤k≤m-1,为数据块的线性反馈移位寄存器运算。

本实施例最多允许缺损任意两个介质{di,0≤i≤m-1,p,q}和{dj,0≤j≤m-1,p,q},其中i≠j;

当di和dj缺损时,使用剩余介质中的数据恢复di和dj,具体为:

s1、根据剩余介质中的数据,计算出系数a和b,计算公式如下:

,其中,gk,0≤k≤m-1,为数据块的线性反馈移位寄存器运算;

s2、根据系数a和b计算出dj,计算公式如下:

s3、将剩余介质中的数据和dj进行异或运算得出di。

以上的算法与raid6的纠错原理相同,区别在于数据的组织,本实施例中的数据组织相对于以上raid或纠删码技术的条带化横向分布存储,是数据的纵向独立存储。本实施例没有将所要存储的数据条带化,因此没有破坏每个独立介质的独立性和完整性,冗余集合中的所有介质均保持了操作的独立性。每个介质{di,0≤i≤m-1,p,q}与数据集合中的其它介质都不存在关联性。

当然,除了上述实施例中的一个或两个校验介质外,本发明还可以采用reed-solomon纠删算法,对冗余阵列加入更多个校验介质,以获得更高的容错度。

本发明在保留了通用raid的并行性和离线/近线介质容错优点的同时,还使得介质的冗余组织能够克服将raid技术直接用于离线/近线介质所带来的一系列缺点。

在实际应用中,本发明特别适用于离线/近线光盘库和离线/近线磁盘库。通过加入较小的介质开销,可以得到较高的数据安全性。在构建冷数据或长期归档数据存储系统解决方案方面,本发明具有应用价值。

本发明的实施例具有如下有益效果:

(1)本发明适用于离线/进线存储设备,本发明的数据组织相对于现有的条带化横向分布存储,是数据的纵向独立存储,存储设备中的大量介质可以单一、灵活地被调取操作,每次只需加载含有目标数据的数据介质即可。

(2)任何一介质都可以从存储设备中取出后进行独立读写操作,可以保持原文件的格式及其它属性不变。

(3)本发明的冗余阵列中的每一个介质与介质集合中的其他介质均互不关联,因此,如果缺损的介质数量超过了冗余纠错的限度,则所属介质集合中丢失的数据仅限于缺损介质上的数据,而介质集合中其它介质保持完好状态,不会像raid5或raid6那样受到牵连而全部丢失。

(4)介质集合中的数据归档介质是符合档案法规的。

以上所述是本发明的优选实施方式,应该指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1