CN102799543B - 在动态变化的存储介质上分散存储数据及恢复方法 - Google Patents

在动态变化的存储介质上分散存储数据及恢复方法 Download PDF

Info

Publication number
CN102799543B
CN102799543B CN201210284546.5A CN201210284546A CN102799543B CN 102799543 B CN102799543 B CN 102799543B CN 201210284546 A CN201210284546 A CN 201210284546A CN 102799543 B CN102799543 B CN 102799543B
Authority
CN
China
Prior art keywords
data
memory device
block
decile
group
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201210284546.5A
Other languages
English (en)
Other versions
CN102799543A (zh
Inventor
黄旭涛
李家川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HANGZHOU CLOUDUOLC NETWORK Technology Co Ltd
Original Assignee
HANGZHOU CLOUDUOLC NETWORK Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by HANGZHOU CLOUDUOLC NETWORK Technology Co Ltd filed Critical HANGZHOU CLOUDUOLC NETWORK Technology Co Ltd
Priority to CN201210284546.5A priority Critical patent/CN102799543B/zh
Publication of CN102799543A publication Critical patent/CN102799543A/zh
Application granted granted Critical
Publication of CN102799543B publication Critical patent/CN102799543B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了在动态变化的存储介质上分散存储数据及恢复方法,包括如下步骤:将需要存储的数据首先等分J组,对每一组的数据进行编号,设为1…J;然后对每一组再次等分N块,并加入相应的校检块X块,所述X>0,再次对等分的数据进行编号,设为1.1,1.2…1.N+X;?2.1,2.2…2.N+X;…J.1,J.2…J.N+X;对网络上所有的存储设备进行编号,设为1....M,M>0,将T块数据分布于M台存储设备上;当M台设备只有部分设备在线,获取当前在线的存储设备编号,取得和每一组的数据编号最近的T台存储设备,将T块数据分布保存在T台存储设备上;定时监视是否有存储设备上下线变动:如果有存储设备下线或者损坏导致数据变化的,则还原出原始数据块或者校检块,并将这些数据块按步骤重新进行分布。

Description

在动态变化的存储介质上分散存储数据及恢复方法
技术领域
本发明涉及在动态变化的存储介质上分散存储数据及恢复方法。
背景技术
数据的安全存储是一项非常重要的工作,特别对于一些特殊行业,对数据存储的安全性、可靠性、稳定性甚至超过对于功能性的要求,甚至要求对损坏的数据能在最短时间内得以恢复,以实现数据的及时读取,保证计算机系统执行的工作不被中断。比如用于电视台视频服务器的存储设备,要求保障存储的节目数据安全可靠,即使数据损坏,也能即时恢复,尤其是在节目播放过程中,如果所播放节目的数据损坏,要求能在不中断所播放节目的前提下恢复数据,不得影响节目的正常播放。这对数据存储的安全性和即时恢复性提出了很高的要求。
目前,为了实现数据的安全存储,采用包括:通过采用高性能的存储设备保障数据不被损坏,但是这类设备成本较高,而且也存在被损坏的可能;采用数据备份技术,实现在数据或存储数据的存储设备被损坏后能恢复原有数据。
公知的数据备份技术主要包括:
利用数据压缩技术,把需要备份的数据压缩生成备份文件存储到其他存储器,当数据损坏后,通过备份文件恢复原有数据。这种技术的优点在于可以降低备份文件对存储设备的占用量,有利于存储空间的充分利用,但是这种方式在建立备份和数据恢复时采用统一服务器,而服务器单独处理这些任务,都需要大量的时间和费用,而且在数据恢复过程中无法提取该数据供系统使用,无法实现不中断数据使用和数据恢复。
现在网络数据存储多以中心存储为主,在用于大数量和海量用户时,存在以下问题:
a)依赖于中心节点的带宽,随着使用人群增加和数据量的增加必然要不断加大带宽和存储方面的投资,同时增加其他方面的投资如电力等等。
b)数据的存储依赖于中心节点的,如果中心节点失效,则所有服务失效。
RAID技术(RedundantArrayofInexpensiveDisks)的缩写,中文简称为廉价磁盘冗余阵列)提供了一系列较为成熟的数据安全存储技术,该技术通过专用的硬件设备RAID控制器,比如RAID卡、带有RAID芯片的主板或者SCSI控制器等,将多个转速、容量、规格完全相同的磁盘连接到计算机组成磁盘阵列,进行数据的安全存储。具体技术包括RAID0(DiskStriping,数据条带化技术)、RAID1(DiskMirroring,硬盘镜像技术)、RAID3至RAID6(数据冗余技术),RAID技术作为数据安全保证手段获得了极大成功,广泛应用到了各个数据存储领域。其中:RAID0技术把拟存储的文件分成多个数据块,顺次存入硬盘阵列中的全部硬盘,读取数据时同时从各个硬盘中读取各个数据块,组合成文件,无法实现数据的安全存储,但是它能提高从存储设备中读取数据的效率。
RAID1用一个RAID控制器带至少两个互为镜像的硬盘。数据同时写入两个硬盘的相同位置,两个硬盘上的数据完全相同,因此一个硬盘故障时,另一个硬盘可提供数据,通过替换损坏的硬盘,系统自动从另一个硬盘取出所有数据,存储到新的硬盘上,形成新的镜像。这种方式能很好地保障存储数据的安全,即使在数据读取过程中,所述数据的硬盘损坏,也能即时从另一个硬盘读取数据,不会中断数据的读取。
RAID3至RAID6技术是通过在将同一文件的数据分成多个文件数据块分散存储到不同硬盘、通过奇偶码模式的数据冗余技术生成校验信息,存储到一个专作奇偶校验用的硬盘,或者分散存储在硬盘阵列的全部硬盘中来提高数据的安全性。如果一块硬盘损坏,更换新硬盘后,可通过Rebuild(重建)从其他未损坏硬盘中提取数据,通过对应的数据校验信息进行运算实现数据恢复。这类RAID技术的优点在于,冗余信息仅仅是校验信息,冗余小,对存储设备的利用率高,安全性较强;而且由于采用了数据块分散存储的模式,在读取数据时可以同时读取各数据块,有较高的读取效率。
但是RAID技术也存在很明显的不足:其一、需要增加昂贵的硬件RAID和使用相同的硬盘,其控制性才能基本满足读写要求,需增加额外的成本;其二、RAID存储可扩展性差,RAID的硬盘捆绑使用模式,增减硬盘容量都变的很困难;其三、如果硬盘阵列中的硬盘损坏,没有及时更换新磁盘,此时数据存储安全性无法得到保障;其四、只能用于多个硬盘,而不能用于多个服务器。
虽然RAID1技术采用硬盘镜像,能保证数据的即时恢复,但是由于是镜像,同一数据在两个磁盘的存储位置完全对应,如磁盘的磁道损坏,将是镜像失去意义,数据无法安全存储;而且由于是镜像技术,需要偶数个磁盘才能实现,而且如果没能及时更换损坏的硬盘,数据的安全性将受影响;在读取数据时,被镜像的磁盘经常处于闲置状态,只有一个磁盘提供数据,读写效率较低。
对于RAID3至6技术需要把数据分散存储并计算校验数据,校验的运算量极大,磁盘损坏后,RAID的Rebuild重建通常要花掉十几、二十个小时才能完成,影响系统的正常运转,在此期间,如果再次发生磁盘故障,将彻底导致数据丢失。
发明内容
针对上述技术缺陷,本发明提供了一种适合各种存储设备实现的、安全性更好的数据安全存储方法,并能在数据损坏或者存储数据的存储设备损坏或者动态变化后,无需数据恢复时间即可直接读取数据并用于系统工作的数据安全存储方法。
为了解决上述技术问题,本发明的技术方案如下:
在动态变化的存储介质上分散存储数据及恢复方法,包括如下步骤:
11)将需要存储的数据首先等分J组,对每一组的数据进行编号,设为1…J;所述需要存储的数据如果不足以等分,则将数据用统一标示进行补齐后进行等分,
12)然后对每一组再次等分N块,并加入相应的校检块X块,所述X>0,再次对等分的数据进行编号,设为1.1,1.2…1.N+X;2.1,2.2…2.N+X;…J.1,J.2…J.N+X;如每一组数据不足以等分,则将每一组数据用统一标示进行补齐后进行等分;
所述分块标准为保证在T块中任意N块就可以还原出原始数据组,所述T=N+X;
13)对网络上所有的存储设备进行编号,设为1....M,M>0,将T块数据分布于M台存储设备上;
14)当M台设备只有部分设备在线,获取当前在线的存储设备编号,取得和每一组的数据编号最近的T台存储设备,将T块数据分布保存在T台存储设备上;
15)定时监视是否有存储设备上下线变动:如果有存储设备下线或者损坏导致数据变化的,则还原出原始数据块或者校检块,并将这些数据块按步骤14)重新进行分布。
进一步的,所述定时监视可以有专门的服务器担任,也可以由各个存储设备负责监视与其邻近的T台存储设备范围内的数据的完整性。
进一步的,所述校检方式为异或运算,以产生1块校验块。
进一步的,所述校检方式为Reed-Solomon算法,以产生多于1块的校验块。
进一步的,当存储设备编号大于J时,则对超过的部分采用循环编号。
本发明的有益效果在于:本发明解决了对于中心节点的依赖性,参与的用户本身提供资源,将需要存储的数据分布于多台设备上,能提供以下优点:
1、保证网络上的数据的完整性,通过设备间的相互备份,保证任意设备的下线也能保证数据的有效性和完整性。
2、无中心节点依赖,能支持海量用户,由于将数据分布存储各用户的设备上,可以利用用户的带宽,随着用户量的增加,系统能利用的带宽和存储也同步增加,不会降低用户使用效果。
3、由于数据分布在T台设备上,在数据获取的时候能够同时向T台设备获取,同时由于数据有冗余块,只需获取成功任意的N块即可恢复数据:
a)速度快的设备优先获取,不会由于部分设备速度慢而导致降低整体获取的速度。
b)实现了数据的分布存储,可以同时向多台获取,提高获取速度,解决了现有数据中心模式对中心点的依赖和瓶颈。
4、能有效利用参与用户的资源,减少中心模式的投资(带宽,存储空间,电力等等)。
具体实施方式
下面将结合具体实施例对本发明做进一步的说明。
本发明涉及的存储介质为带有计算功能的存储设备包括但不限于如服务器、电脑、个人电脑、智能家电和移动设备。用网络将这些存储的设备连接起来,这些设备可以是任意部分在线或者全部在线。
例如如果采用异或算法作为校检算法时,其基本原理:如P=D1xorD2xorD3…xorDn(D1,D2,D3…Dn为数据块,P为校验,xor为异或运算)
XOR(ExclusiveOR)的校验原理如下表:
a)这里的A与B值就代表了两个位,从中可以发现,A与B一样时,XOR结果为0,A与B不一样时,XOR结果就是1,而且知道XOR结果和A与B中的任何一个数值,就可以反推出另一个数值。比如A为1,XOR结果为1,那么B肯定为0,如果XOR结果为0,那么B肯定为1。这就是XOR编码与校验的基本原理。
例如一个图像文件,首先将原始数据分为相等的两块,用异或算法算出校验块,将以上三块分布于三台存储设备上,任意在线两台设备可取的两块数据,如两块都是数据块,则直接得到原始数据;如一块为数据,另一块为校验块,则通过异或算法反推得到另一数据块,则可以将两块数据恢复出原来数据块。如果网络中有另外的设备A在线,且没有保存3块中的任何一块数据,则有数据的设备可以通过两块数据计算出另一块数据,将其保存设备A上,这样网络上依然有三块数据,如果网络上只有一块数据,则需要具备其他数据块的设备上线后复原。以上算法只是2+1冗余,还可以采用Reed-Solomon算法产生更多的校验块,如10+5冗余,或者16+4冗余等等,由于这些校检算法基本是现有技术,本领域的技术人员可以不付出创造性劳动的情况下得出,因此在此不予赘述。
实施例一:
一个图像文件将其分为2组,第一组编号为1,第二组编号为2,(当遇到数据不可被2整除时即数据不能等分的时候,可采用0对数据进行补齐),此次分组的目的在于增加文件的颗粒度,方便后续处理的速度,此次分组可按实际要求进行,并无严格要求,一般以整除为宜,但是不整除也可以实现本发明。
对每一组数据如果采用10+5的冗余模式,(同样在分块中,当遇到数据不可被10整除时即数据不能等分的时候,可采用0对数据进行补齐),则第一组数据分块的编号为1.1,1.2…,1.15;第二组数据分块的编号则为2.1,2.2…,2.15;如果所有存储设备的数量4台,则分别将设备编号为1,2,3,4。当原始分组的编号大于设备编号时,采用循环编号,例如所有存储设备的数量4台,而当原始数据分为5组的时候,可将第5组数据存入编号1的设备上,依次类推。
假设设备数量为15台,编号从1~15;第一组数据以设备编号1为中心,取得和该设备编号距离最近的15台设备,将1.1,1.2…,1.15数据块分别保存在这些15台设备上,第二组数据以设备编号2为中心,取得和该设备编号距离最近的15台设备,将2.1,2.2…,2.15数据块分别保存在这些15台设备上。距离最近的定义是编号差的绝对值最小。
定时监视是否有设备上下线变动,如果当前邻近的15台设备发生了变化,则采用上述算法重新恢复数据和校验块,并重新搜索设备编号距离最近的15台设备,将这些数据分布于这新的15台设备。定时监视的设备可以是专有服务器,也可以由每一台设备负责其邻近的15台设备编码范围内的数据区的完整性。
由此可见,在监视时间间隔内只要不发生邻近的15台设备中有5台同时下线或者同时损坏,就可以保证数据完整。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员,在不脱离本发明构思的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明保护范围内。

Claims (3)

1.在动态变化的存储介质上分散存储数据及恢复方法,其特征在于,包括如下步骤:
11)将需要存储的数据首先等分J组,对每一组的数据进行编号,设为1…J;所述需要存储的数据如果不足以等分,则将数据用统一标示进行补齐后进行等分,
12)然后对每一组再次等分N块,并加入相应的校检块X块,所述X>0,再次对等分的数据进行编号,设为1.1,1.2…1.N+X;2.1,2.2…2.N+X;…J.1,J.2…J.N+X;如每一组数据不足以等分,则将每一组数据用统一标示进行补齐后进行等分;分块标准为保证在T块中任意N块就可以还原出原始数据组,所述T=N+X;
13)对网络上所有的存储设备进行编号,设为1....M,M>0,将J组数据分布于M台存储设备上;
14)当M台设备只有部分设备在线,获取当前在线的存储设备编号,取得和每一组的数据编号最近的T台存储设备,将T块数据分布保存在T台存储设备上;
15)定时监视是否有存储设备上下线变动:如果有存储设备下线导致数据变化的,则还原出原始数据块或者校检块,并将这些数据块按步骤14)重新进行分布。
2.根据权利要求1所述的在动态变化的存储介质上分散存储数据及恢复方法,其特征在于,所述定时监视可以有专门的服务器担任,也可以由各个存储设备负责监视与其邻近的T台存储设备范围内的数据的完整性。
3.据权利要求1所述的在动态变化的存储介质上分散存储数据及恢复方法,其特征在于,当存储设备编号大于J时,则对超过的部分采用循环编号。
CN201210284546.5A 2012-08-10 2012-08-10 在动态变化的存储介质上分散存储数据及恢复方法 Expired - Fee Related CN102799543B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210284546.5A CN102799543B (zh) 2012-08-10 2012-08-10 在动态变化的存储介质上分散存储数据及恢复方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210284546.5A CN102799543B (zh) 2012-08-10 2012-08-10 在动态变化的存储介质上分散存储数据及恢复方法

Publications (2)

Publication Number Publication Date
CN102799543A CN102799543A (zh) 2012-11-28
CN102799543B true CN102799543B (zh) 2015-12-02

Family

ID=47198656

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210284546.5A Expired - Fee Related CN102799543B (zh) 2012-08-10 2012-08-10 在动态变化的存储介质上分散存储数据及恢复方法

Country Status (1)

Country Link
CN (1) CN102799543B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5971354B2 (ja) * 2013-01-25 2016-08-17 株式会社日立製作所 ストレージシステム
CN103365739B (zh) * 2013-08-02 2016-03-02 深圳市瑞耐斯技术有限公司 一种nand闪存存储设备及其数据恢复方法
CN103559102A (zh) * 2013-10-22 2014-02-05 北京航空航天大学 数据冗余处理方法、装置和分布式存储系统
CN106528330A (zh) * 2016-10-29 2017-03-22 华为技术有限公司 一种数据备份方法、节点及数据备份系统
CN108920104B (zh) * 2018-06-29 2021-06-25 吴俊杰 一种无中心的视频监控云存取方法
CN110968456B (zh) * 2018-09-30 2023-05-02 阿里巴巴集团控股有限公司 分布式存储系统中故障磁盘的处理方法及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102546755A (zh) * 2011-12-12 2012-07-04 华中科技大学 云存储系统的数据存储方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4546387B2 (ja) * 2005-11-17 2010-09-15 富士通株式会社 バックアップシステム、方法及びプログラム
US20100042794A1 (en) * 2008-08-15 2010-02-18 Wen-Sen Tsai Data protection system and method

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102546755A (zh) * 2011-12-12 2012-07-04 华中科技大学 云存储系统的数据存储方法

Also Published As

Publication number Publication date
CN102799543A (zh) 2012-11-28

Similar Documents

Publication Publication Date Title
CN102799543B (zh) 在动态变化的存储介质上分散存储数据及恢复方法
CN102880428B (zh) 分布式独立磁盘冗余阵列的创建方法及装置
CN103034458B (zh) 固态硬盘中实现独立磁盘冗余阵列的方法及装置
CN103942112B (zh) 磁盘容错方法、装置及系统
CN102508733B (zh) 一种基于磁盘阵列的数据处理方法及磁盘阵列管理器
CN104639661A (zh) 分布式存储系统及文件存储和读取方法
CN101984400B (zh) 一种raid控制方法、装置及系统
CN102043685A (zh) 独立磁盘冗余阵列系统及其数据恢复方法
CN101980137A (zh) 廉价磁盘冗余阵列重构方法、装置及系统
US11144396B1 (en) Raid reliability with a provisional spare disk
CN104267913A (zh) 一种可动态异步调整raid级别的存储方法及存储系统
CN103761195A (zh) 一种利用分布式数据编码的存储方法
CN105302667A (zh) 基于集群架构的高可靠性数据备份与恢复方法
CN103970486A (zh) 一种数据存储方法和系统
CN104516679B (zh) 一种raid数据处理方法及装置
CN102306121A (zh) 智能调度技术中的虚拟存储测试方法
CN102184079A (zh) 一种raid5级别磁盘阵列的写性能优化方法
CN102226892A (zh) 一种磁盘容错处理方法及设备
CN104461373B (zh) 一种raid数据处理方法及装置
CN101251812A (zh) 一种应用于集群系统数据容错的方法
CN101901115B (zh) 一种磁盘阵列raid6级别的构建方法
CN102033717B (zh) 基于磁盘阵列的数据存储方法及系统
CN104572374B (zh) 存储的处理方法、装置和存储设备
CN106933707B (zh) 基于raid技术的数据存储设备数据恢复方法及系统
CN103729268A (zh) 一种raid5掉两块盘的数据恢复方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20151202

Termination date: 20180810

CF01 Termination of patent right due to non-payment of annual fee