CN101840366A - 环链式n+1位奇偶校验码的存储方法 - Google Patents

环链式n+1位奇偶校验码的存储方法 Download PDF

Info

Publication number
CN101840366A
CN101840366A CN201010171265A CN201010171265A CN101840366A CN 101840366 A CN101840366 A CN 101840366A CN 201010171265 A CN201010171265 A CN 201010171265A CN 201010171265 A CN201010171265 A CN 201010171265A CN 101840366 A CN101840366 A CN 101840366A
Authority
CN
China
Prior art keywords
data block
original data
data blocks
original
redundant
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.)
Granted
Application number
CN201010171265A
Other languages
English (en)
Other versions
CN101840366B (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.)
Shanghai Jiaotong University
Original Assignee
Shanghai Jiaotong University
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 Shanghai Jiaotong University filed Critical Shanghai Jiaotong University
Priority to CN201010171265XA priority Critical patent/CN101840366B/zh
Publication of CN101840366A publication Critical patent/CN101840366A/zh
Application granted granted Critical
Publication of CN101840366B publication Critical patent/CN101840366B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

一种信息处理技术领域的环链式n+1位奇偶校验码的存储方法,包括以下步骤:对待存储文件进行分块处理,得到N个大小相同的原始数据块;采用现有的奇偶校验编码得到相邻的每两个原始数据块的冗余数据块,将冗余数据块放在对应的两个原始数据块之间,得到原始数据库和冗余数据块交替排列的数据块环链;将第i块原始数据块和第i块冗余数据块作为第i组数据块,每组数据块中的原始数据块和冗余数据块放在同一机架上的不同数据节点上,相邻的两组数据块位于不同的机架上;当存储文件中有数据块损坏时,采用现有的奇偶校验编码和解码方法对损坏的数据块进行恢复,得到恢复后的数据块。本发明节省了存储空间,降低了成本,可靠性高,效率高。

Description

环链式n+1位奇偶校验码的存储方法
技术领域
本发明涉及的是一种信息处理技术领域的方法,具体是一种环链式n+1位奇偶校验码的存储方法。
背景技术
云存储是服务于云计算的一种存储方式,指通过集群应用、网格技术或分布式文件系统等功能,将网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的一个系统。
随着信息时代的到来,海量信息的存储及对可靠性要求越来越高,存储成本和高可靠性始终是一对难以解决的矛盾。一方面通过增加备份数可以显著提高可靠性,但是存储量也随之成倍地增加;另一方面如果想节约成本,限制数据的备份数,一旦其中一份数据块的备份全部损坏时,整个文件或许都不能使用了,导致不可挽回的损失。
奇偶校验,即比特之间的异或
Figure GDA0000021349230000011
Figure GDA0000021349230000012
Figure GDA0000021349230000013
Figure GDA0000021349230000014
是计算机中的一种基本运算。n+1位奇偶校验编码,即n位逐一异或之后得到的一位为n+1位,当n+1位中任意一位损坏后都可以通过其他n位来恢复。因此,当n=2时两个相同的数据块B1和B2之间也可以通过逐位异或得到冗余数据块
Figure GDA0000021349230000015
则B3就是原始数据块B1和B2之间的奇偶校验编码的冗余数据块。此种编码方式可用于通信中用于通信中,用于检验并纠正信息中出现的一个比特错误,也可用于信息存储中。用于信息存储时使用比较简单,效率也非常高(所有计算机中都有异或计算操作)。其唯一的不足是只能恢复一个冗余块,即如果有超过2个数据块都损坏时则无法恢复另外2块数据块了。
经过对现有的文献检索发现,目前基本所有的云存储技术都是采用了一种类似Hadoop系统中的HDFS(Hadoop Distributed File System,即Hadoop分布式文件系统)。该技术主要是将一个数据文件按照设定的大小(如64M)分成大小n块,再通过对每一个数据块的完整备份(例如Hadoop中的HDFS分布式文件系统为3份相同备份:同一机架不同数据节点各一份,另外一机架上的数据节点1份)来带提高可靠性。但该技术最大的缺点是比较浪费空间:一个文件要备份2倍的额外存储空间,从而提高了成本。
发明内容
本发明的目的在于克服现有技术中存在的不足,提供一种环链式n+1位奇偶校验码的存储方法。本发明通过n+1位奇偶校验码对一个文件的所有数据块进行环链式的奇偶校验编码存储,实现了节省原存储系统中1/3的存储空间,并且克服了奇偶校验编码在存储信息中只能恢复一块数据块的不足,达到具有与原系统相同的可靠性。因此,本发明在保持原有可靠性的基础上,具有极大地节约存储空间以节约成本的优点。
本发明是通过以下技术方案实现的,包括以下步骤:
第一步,对待存储文件进行分块处理,从而得到N个大小相同的原始数据块,并将这些原始数据块按照其原来的顺序进行排列。
所述的分块处理,是:将待存储文件按照固定大小T分为N个原始数据块,当最后一块原始数据块小于T时,对最后一块原始数据块填充冗余,使其大小正好是T。
第二步,采用现有的奇偶校验编码得到相邻的每两个原始数据块的冗余数据块,将冗余数据块放在对应的两个原始数据块之间,并将第一个原始数据块和第N个原始数据块的冗余数据块放在第一个原始数据块和第N个原始数据块之间,从而得到原始数据库和冗余数据块交替排列的数据块环链。
第三步,将第i块原始数据块和第i块冗余数据块作为第i组数据块,共得到N组数据块,将N组数据块放在n个机架上,n≤N,且每组数据块中的原始数据块和冗余数据块放在同一机架上的不同数据节点上,相邻的两组数据块位于不同的机架上。
第四步,当存储文件中有数据块损坏时,采用现有的奇偶校验编码和解码方法对损坏的数据块进行恢复,得到恢复后的数据块。
所述的恢复,是:
1)当损坏的是若干个不相邻的原始数据块时,采用现有的奇偶校验解码方法对与其相邻的前面两个数据块或者与其相邻的后面两个数据块解码得到损坏的原始数据块;
2)当损坏的是若干个不相邻的冗余数据块时,采用现有的奇偶校验编码方法对与其相邻的前面一个原始数据块和与其相邻的后面一个原始数据块编码得到损坏的冗余数据块;
3)当损坏的是两个相邻的原始数据块和冗余数据块时,先采用1)的方法得到损坏的原始数据块,再采用2)的方法得到损坏的冗余数据块;
4)当损坏的是三个相邻的数据块且其中有两个原始数据块时,先采用1)的方法得到损坏的两个原始数据块,再采用2)的方法得到损坏的冗余数据块;
5)当损坏的是三个相邻的数据块且其中有两个冗余数据块时,无法得到损坏的数据块,文件标记为损坏;
6)当损坏的是四个以上相邻的数据块时,无法得到损坏的数据块,文件标记为损坏。
与现有技术相比,本发明的有益效果是:
1、节省存储空间,降低了成本:现有技术中每一个数据块备份3份,则花费比原始数据多出了2倍的存储空间,而本发明比现有技术节省了近1/3空间,从而降低了成本;
2、可靠性高,克服了现有技术中只能恢复一块数据块的缺点,对于任意损坏不超过连续3块数据块的情况下都可以通过解码来恢复,而且即使在连续3块数据块损坏的情况下,也有1/2的概率可以恢复出所有数据块;
3、采用了效率最高的奇偶校验编码和解码方法。
附图说明
图1是实施例的数据块环链示意图。
具体实施方式
以下结合附图对本发明的方法进一步描述:本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
实施例
本实施例包括以下步骤:
第一步,对248M大小的待存储文件进行分块处理,从而得到四个大小相同的原始数据块,并将这些原始数据块按照其原来的顺序进行排列。
所述的分块处理,具体是:将待存储文件按照固定大小64M分为若干原始数据块,其中第四个原始数据块为56M时,对最后一个原始数据块填充8M冗余,使其大小正好是64M。
第二步,采用现有的奇偶校验编码得到相邻的每两块原始数据块的冗余数据块,将冗余数据块放在对应的两个原始数据块之间,并将第一个原始数据块和第四个原始数据块的冗余数据块放在第一个原始数据块和第四个原始数据块之间,从而得到原始数据库和冗余数据块交替排列的数据块环链。
本实施例得到的数据块环链如图1所示,共有四个原始数据块和四个冗余数据块。
第三步,将第一个原始数据块和第一个冗余数据块作为第一组数据块,第一组数据块放在第一个机架上,且第一个原始数据块和第一个冗余数据块放在第一个机架的不同数据节点上,将第二个原始数据块和第二个冗余数据块作为第二组数据块,第二组数据块放在第二个机架上,且第二个原始数据块和第二个冗余数据块放在第二个机架的不同数据节点上,将第三个原始数据块和第三个冗余数据块作为第三组数据块,第三组数据块放在第三个机架上,且第三个原始数据块和第三个冗余数据块放在第三个机架的不同数据节点上,将第四个原始数据块和第四个冗余数据块作为第四组数据块,第四组数据块放在第四个机架上,且第四个原始数据块和第四个冗余数据块放在第四个机架的不同数据节点上。
第四步,当存储文件中有数据块损坏时,采用现有的奇偶校验编码和解码方法对损坏的数据块进行恢复,得到恢复后的数据块。
本实施例中第二个原始数据块、第二个冗余数据块和第三个原始数据块损坏,则具体恢复的过程为:
1)采用现有的奇偶检验解码方法对第一个冗余数据块和第一个原始数据块进行解码,得到第二个原始数据块;
2)采用现有的奇偶检验解码方法对第三个冗余数据块和第四个原始数据块进行解码,得到第三个原始数据块;
3)采用现有的奇偶检验编码方法对第二个原始数据块和第三个原始数据块进行编码,得到第二个冗余数据块。
本实施例成功恢复损坏的连续三块数据块,且节约了1/3的存储空间,从而节约了成本,提高了可靠性,方便维护。

Claims (3)

1.一种环链式n+1位奇偶校验码的存储方法,其特征在于,包括以下步骤:
第一步,对待存储文件进行分块处理,从而得到N个大小相同的原始数据块,并将这些原始数据块按照其原来的顺序进行排列;
第二步,采用现有的奇偶校验编码得到相邻的每两个原始数据块的冗余数据块,将冗余数据块放在对应的两个原始数据块之间,并将第一个原始数据块和第N个原始数据块的冗余数据块放在第一个原始数据块和第N个原始数据块之间,从而得到原始数据库和冗余数据块交替排列的数据块环链;
第三步,将第i块原始数据块和第i块冗余数据块作为第i组数据块,共得到N组数据块,将N组数据块放在n个机架上,n≤N,且每组数据块中的原始数据块和冗余数据块放在同一机架上的不同数据节点上,相邻的两组数据块位于不同的机架上;
第四步,当存储文件中有数据块损坏时,采用现有的奇偶校验编码和解码方法对损坏的数据块进行恢复,得到恢复后的数据块。
2.根据权利要求1所述的环链式n+1位奇偶校验码的存储方法,其特征是,第一步中所述的分块处理,具体是:将待存储文件按照固定大小T分为N个原始数据块,当最后一个原始数据块小于T时,对最后一个原始数据块填充冗余,使其大小正好是T。
3.根据权利要求1所述的环链式n+1位奇偶校验码的存储方法,其特征是,第四步中所述的恢复,是:
1)当损坏的是若干个不相邻的原始数据块时,采用现有的奇偶校验解码方法对与其相邻的前面两个数据块或者与其相邻的后面两个数据块解码得到损坏的原始数据块;
2)当损坏的是若干个不相邻的冗余数据块时,采用现有的奇偶校验编码方法对与其相邻的前面一个原始数据块和与其相邻的后面一个原始数据块编码得到损坏的冗余数据块;
3)当损坏的是两个相邻的原始数据块和冗余数据块时,先采用步骤1)得到损坏的原始数据块,再采用步骤2)得到损坏的冗余数据块;
4)当损坏的是三个相邻的数据块且其中有两个原始数据块时,先采用步骤1)得到损坏的两个原始数据块,再采用步骤2)得到损坏的冗余数据块;
5)当损坏的是三个相邻的数据块且其中有两个冗余数据块时,无法得到损坏的数据块,文件标记为损坏;
6)当损坏的是四个以上相邻的数据块时,无法得到损坏的数据块,文件标记为损坏。
CN201010171265XA 2010-05-13 2010-05-13 环链式n+1位奇偶校验码的存储方法 Expired - Fee Related CN101840366B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010171265XA CN101840366B (zh) 2010-05-13 2010-05-13 环链式n+1位奇偶校验码的存储方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010171265XA CN101840366B (zh) 2010-05-13 2010-05-13 环链式n+1位奇偶校验码的存储方法

Publications (2)

Publication Number Publication Date
CN101840366A true CN101840366A (zh) 2010-09-22
CN101840366B CN101840366B (zh) 2012-05-23

Family

ID=42743748

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010171265XA Expired - Fee Related CN101840366B (zh) 2010-05-13 2010-05-13 环链式n+1位奇偶校验码的存储方法

Country Status (1)

Country Link
CN (1) CN101840366B (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103136114A (zh) * 2011-11-30 2013-06-05 华为技术有限公司 存储方法及存储装置
CN104008152A (zh) * 2014-05-21 2014-08-27 华南理工大学 支持海量数据访问的分布式文件系统的架构方法
CN105159603A (zh) * 2015-08-18 2015-12-16 福建省海峡信息技术有限公司 一种分布式数据存储系统的修复方法
CN105812448A (zh) * 2016-06-13 2016-07-27 青海师范大学 一种云存储系统的纠删编码方法
WO2018011670A1 (en) * 2016-07-12 2018-01-18 International Business Machines Corporation Manipulating distributed agreement protocol to identify desired set of storage units
CN107632994A (zh) * 2016-07-19 2018-01-26 普天信息技术有限公司 一种基于hdfs文件系统的可靠性增强方法和系统
CN108073471A (zh) * 2016-11-15 2018-05-25 西部数据技术公司 链接的存储系统和主机系统错误校正码
CN108228081A (zh) * 2016-12-21 2018-06-29 伊姆西Ip控股有限责任公司 用于数据保护的方法和设备
CN108733503A (zh) * 2017-04-24 2018-11-02 慧与发展有限责任合伙企业 在分布式存储系统中存储数据
CN108900282A (zh) * 2018-06-29 2018-11-27 南昌华勤电子科技有限公司 校验数据完整性的方法
CN109614266A (zh) * 2018-12-05 2019-04-12 北京和利时系统工程有限公司 一种数据同步方法及装置
CN111007992A (zh) * 2020-03-04 2020-04-14 广东电网有限责任公司佛山供电局 一种磁盘数据存储表示方法、系统、存储介质
CN113568786A (zh) * 2021-09-23 2021-10-29 四川大学 一种数据恢复方法、装置、设备及存储介质

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9442673B2 (en) 2011-11-30 2016-09-13 Huawei Technologies Co., Ltd. Method and apparatus for storing data using a data mapping algorithm
WO2013078801A1 (zh) * 2011-11-30 2013-06-06 华为技术有限公司 存储方法及存储装置
CN103136114B (zh) * 2011-11-30 2015-11-25 华为技术有限公司 存储方法及存储装置
CN103136114A (zh) * 2011-11-30 2013-06-05 华为技术有限公司 存储方法及存储装置
CN104008152A (zh) * 2014-05-21 2014-08-27 华南理工大学 支持海量数据访问的分布式文件系统的架构方法
CN105159603A (zh) * 2015-08-18 2015-12-16 福建省海峡信息技术有限公司 一种分布式数据存储系统的修复方法
CN105159603B (zh) * 2015-08-18 2018-01-12 福建省海峡信息技术有限公司 一种分布式数据存储系统的修复方法
CN105812448A (zh) * 2016-06-13 2016-07-27 青海师范大学 一种云存储系统的纠删编码方法
WO2018011670A1 (en) * 2016-07-12 2018-01-18 International Business Machines Corporation Manipulating distributed agreement protocol to identify desired set of storage units
US10942806B2 (en) 2016-07-12 2021-03-09 International Business Machines Corporation Manipulating a distributed agreement protocol to identify a desired set of storage units
CN109478125A (zh) * 2016-07-12 2019-03-15 国际商业机器公司 操纵分布式一致性协议以识别期望的存储单元集
GB2567106A (en) * 2016-07-12 2019-04-03 Ibm Manipulating distributed agreement protocol to identify desired set of storage units
GB2567106B (en) * 2016-07-12 2021-07-14 Ibm Manipulating distributed agreement protocol to identify desired set of storage units
CN107632994A (zh) * 2016-07-19 2018-01-26 普天信息技术有限公司 一种基于hdfs文件系统的可靠性增强方法和系统
CN107632994B (zh) * 2016-07-19 2021-05-25 普天信息技术有限公司 一种基于hdfs文件系统的可靠性增强方法和系统
CN108073471A (zh) * 2016-11-15 2018-05-25 西部数据技术公司 链接的存储系统和主机系统错误校正码
CN108228081A (zh) * 2016-12-21 2018-06-29 伊姆西Ip控股有限责任公司 用于数据保护的方法和设备
US11068346B2 (en) 2016-12-21 2021-07-20 EMC IP Holding Company LLC Method and apparatus for data protection
CN108733503A (zh) * 2017-04-24 2018-11-02 慧与发展有限责任合伙企业 在分布式存储系统中存储数据
CN108733503B (zh) * 2017-04-24 2021-10-01 慧与发展有限责任合伙企业 存储节点、分布式存储系统以及用于存储数据的方法
CN108900282A (zh) * 2018-06-29 2018-11-27 南昌华勤电子科技有限公司 校验数据完整性的方法
CN109614266B (zh) * 2018-12-05 2021-07-02 北京和利时系统工程有限公司 一种数据同步方法及装置
CN109614266A (zh) * 2018-12-05 2019-04-12 北京和利时系统工程有限公司 一种数据同步方法及装置
CN111007992B (zh) * 2020-03-04 2020-08-04 广东电网有限责任公司佛山供电局 一种磁盘数据存储表示方法、系统、存储介质
CN111007992A (zh) * 2020-03-04 2020-04-14 广东电网有限责任公司佛山供电局 一种磁盘数据存储表示方法、系统、存储介质
CN113568786A (zh) * 2021-09-23 2021-10-29 四川大学 一种数据恢复方法、装置、设备及存储介质
CN113568786B (zh) * 2021-09-23 2021-12-31 四川大学 一种数据恢复方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN101840366B (zh) 2012-05-23

Similar Documents

Publication Publication Date Title
CN101840366B (zh) 环链式n+1位奇偶校验码的存储方法
CN101840377A (zh) 基于rs纠删码的数据存储方法
CN103336785B (zh) 一种基于网络编码的分布式存储方法及其装置
US20150358037A1 (en) Method for encoding msr (minimum-storage regenerating) codes and repairing storage nodes
CN105356968B (zh) 基于循环置换矩阵的网络编码的方法及系统
CN102937967A (zh) 数据冗余实现方法及装置
CN108132854B (zh) 一种可同时恢复数据元素及冗余元素的纠删码解码方法
CN105703782B (zh) 一种基于递增移位矩阵的网络编码方法及系统
CN112835738B (zh) 一种条带数据存储结构的构建方法
CN102843212B (zh) 编解码处理方法及装置
CN106776129A (zh) 一种基于最小存储再生码的多节点数据文件的修复方法
CN106788891A (zh) 一种适用于分布式存储的最优局部修复码构造方法
CN108228382A (zh) 一种针对evenodd码单盘故障的数据恢复方法
CN111444042A (zh) 一种基于纠删码的区块链数据存储方法
CN105518996A (zh) 一种基于二进制域里德所罗门码的数据编解码方法
CN103559102A (zh) 数据冗余处理方法、装置和分布式存储系统
CN111782152A (zh) 数据存储方法、数据恢复方法、装置、服务器及存储介质
CN102932331A (zh) 应用于分布式存储系统的超安存编解码方法
CN112000512A (zh) 一种数据修复方法及相关装置
CN110895497B (zh) 一种分布式存储中降低纠删码修复的方法及装置
CN107153661A (zh) 一种基于hdfs系统的数据的存储、读取方法及其装置
WO2018119976A1 (zh) 应用于数据仓库系统的高效优化数据布局方法
WO2017041232A1 (zh) 一种二进制循环码的编解码框架
CN116501553B (zh) 数据恢复方法、装置、系统、电子设备及存储介质
CN108628697B (zh) 一种基于二进制的节点修复方法及系统

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: 20120523

Termination date: 20150513

EXPY Termination of patent right or utility model