CN103559102A - 数据冗余处理方法、装置和分布式存储系统 - Google Patents

数据冗余处理方法、装置和分布式存储系统 Download PDF

Info

Publication number
CN103559102A
CN103559102A CN201310499656.8A CN201310499656A CN103559102A CN 103559102 A CN103559102 A CN 103559102A CN 201310499656 A CN201310499656 A CN 201310499656A CN 103559102 A CN103559102 A CN 103559102A
Authority
CN
China
Prior art keywords
data
fragment
blocks
redundant
redundancy
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.)
Pending
Application number
CN201310499656.8A
Other languages
English (en)
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.)
Beihang University
Original Assignee
Beihang 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 Beihang University filed Critical Beihang University
Priority to CN201310499656.8A priority Critical patent/CN103559102A/zh
Publication of CN103559102A publication Critical patent/CN103559102A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

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

Abstract

本发明提供了一种数据冗余处理方法、装置和分布式存储系统。所述装置包括数据分段模块、冗余数据生成模块和存储模块。所述方法为将写入数据进行等长切分,不足长度用二进制0填充,对切分的每个片段再等长切分为4个数据块,通过冗余算法计算出4个冗余数据块,将每个片段的8个数据块存储到至少4个存储节点上。所述分布式存储系统利用所述装置或方法存储数据,并包括4个以上的存储节点。当一个片段的8个数据块中部分数据出现损坏时,可利用剩余数据块对损坏的数据进行恢复。本发明提高了存储空间的利用率,降低了存储节点的负载,节省了数据访问时间,且支持多种类型的冗余备份方式,灵活性较高。

Description

数据冗余处理方法、装置和分布式存储系统
技术领域:
本发明涉及存储技术,尤其涉及一种数据冗余处理方法、装置和分布式存储系统。
背景技术:
分布式存储系统包括通过网络互联的多个存储节点,数据可以被分散地存储到不同的存储节点上,以实现大容量、高可靠性且易扩展的存储应用。
现有的分布式存储系统可以采用基于对象的存储方式。对于这种存储方式来说,现有技术采用存储节点间的多份机制以保证数据存储的可靠性。具体来说,该多份机制即为将该分布式存储系统中的某一个或者某几个存储节点作为主存储节点的备份节点。在写数据时,需要将数据在这些存储节点上写入多份相同的数据,从而实现数据的冗余备份,在一个存储节点发生故障时,其它存储节点上的数据是可用的。
但是,上述现有的多份机制只是筒单地向多个存储节点中写入相同的数据,如果要保证损坏N个存储节点后数据仍可用,则数据至少需要重复写N+1份,则存储节点的空间利用率最多为1/(N+1),因此,存储空间的利用率较低,存储节点的负载增高;而且,这种多份机制不能支持多种类型的冗余备份方式,灵活性较低。
发明内容:
本发明针对现有多份机制所需的存储空间利用率低且不支持多种类型的冗余备份方式的缺点,提供了一种数据冗余处理方法、装置和分布式存储系统。
本发明提供的一种数据冗余处理方法,具体是:首先,将写入数据以固定长度L进行切分,得到K个片段数据,当最后一个片段的长度小于L时,以二进制值00000000进行填充,L为4N个字节,K为不小于1的自然数,N为正整数;然后,将每个片段数据等分成4个数据块,由4个数据块计算出4个冗余数据块;最后,对每个片段数据,将对应的4个数据块和4个冗余数据块存储到至少4个存储节点上,每个存储节点包含每个片段数据的至多2个数据块。所述的4个冗余数据块通过对4个数据块进行逻辑异或操作(XOR)计算得到。
本发明提供的一种数据冗余处理装置,包括:数据分段模块、冗余数据生成模块以及存储模块。数据分段模块用于将写入数据以固定长度L进行切分,设共得到K个片段数据,当最后一个片段的长度小于L时,以二进制值00000000进行填充,L为4N个字节,K为不小于1的自然数,N为正整数。冗余数据生成模块,将每个片段数据等分成4个数据块,并由4个数据块计算出4个冗余数据块。所述的4个冗余数据块通过对4个数据块进行逻辑异或操作计算得到。存储模块将每个片段数据所对应的4个数据块和4个冗余数据块存储到至少4个存储节点上,每个存储节点包含每个片段数据的至多2个数据块。
本发明还提供了一种分布式存储系统,使用所述的数据冗余处理方法和装置,该系统中最少包含4个存储节点,每个存储节点包含每个片段数据的至多2个数据块。
所述的片段的长度L为固定值,且对于同一个系统中的数据,片段长度是唯一的。
本发明的数据冗余处理方法、装置和分布式存储系统,提高了存储空间的利用率,降低了存储节点的负载,且支持多种类型的冗余备份方式,灵活性较高。对于大容量数据,本发明的分块存储可以提高数据的访问速度,例如在进行数据迁移和校验时,对散布在不同节点的数据可以进行并行的操作,相比对一个大文件的线性处理,节省时间。本发明的备份方式按照实际占用的容量,需要两倍于原数据的存储容量,并且通过逻辑异或操作产生的存储块,可在分块不完整的情况下恢复丢失的数据。而典型的分布式数据存储系统(如Apache的HDFS)中不使用数据恢复编码,而是直接使用三个一致的副本和简单的检错码。相比之下,本发明的数据冗余处理方法、装置和分布式存储系统占用更少的存储空间。
附图说明:
图1为本发明的数据冗余处理装置的结构示意图;
图2为本发明的数据冗余处理方法中对数据处理的示意图。
具体实施方式:
下面将结合附图和实施例对本发明的技术方案进行详细说明。
如图1所示,本发明提供了一种数据冗余处理装置,包括数据分段模块1、冗余数据生成模块2以及存储模块3。
所述的数据分段模块1将写入数据切分为等长的K个片段数据,K为不小于1的自然数,每个片段的长度为L。最后的第K个片段有可能小于所设定的长度L,则使用二进制值00000000来进行填充,使第K个片段的长度为L。片段的长度L在具体实施时采用固定值,对于一个系统中的数据,片段长度L是唯一的。设置片段长度L为4N个字节,N为正整数。
所述的冗余数据生成模块2将每个片段数据进一步均等地切分成4个数据块,通过逻辑异或操作(XOR)对4个数据块进行计算,得到4个冗余数据块。所述的4个块数据和4个冗余数据块中,当任意损坏至多4个数据时,都能够利用未损坏的数据块恢复损坏的数据。
所述的存储模块3对于每一个片段数据的4个数据块和4个冗余数据块都存储到位于至少4个存储节点的对象中。对于一个片段数据,共存储8个数据块,并且每个存储节点包含每个片段数据的至多2个数据块。本发明提供的数据冗余处理方法,包括如下三个步骤:
步骤1:将写入数据以固定长度L进行切分,得到K个片段数据。当最后一个片段的长度小于L时,以二进制值00000000进行填充,L为4N个字节,K为不小于1的自然数,N为正整数。如图2所示。
步骤2:将每个片段数据等分成4个数据块,并对得到的4个数据块通过冗余数据算法计算出4个冗余数据块。如图2所示。所述的冗余数据算法可为逻辑异或操作算法。
步骤3:对每个片段数据,将对应的4个数据块和4个冗余数据块存储到至少4个存储节点上,每个存储节点包含每个片段数据的至多2个数据块。
本发明将所述的数据冗余处理装置或方法应用到分布式存储系统中,得到一种分布式存储系统,该分布式存储系统最少包含4个存储节点,每个存储节点存储每个片段数据中的至多2个数据块。
实施例:
写入数据被切分为等长的K个片段数据,K为不小于1的自然数。每个片段数据的长度为64MB。K个片段中的最后一个数据块有可能小于固定的长度,使用二进制值00000000来进行填充。
每个数据片段被进一步等分成4个数据块,每个数据块长度为16MB。通过逻辑异或操作,由4个数据块计算出4个冗余数据块,每个冗余数据块的长度为16MB。所述4个数据块和4个冗余数据块中任意损坏至多4个时,能够利用未损坏的数据块来恢复损坏的数据。
对于每一个数据片段,将该数据片段的4个数据块和4个冗余数据块分别存储到位于至少4个存储节点上的对象中,共存储8个数据块,每个存储节点包含每个片段数据的至多2个数据块。
冗余数据块是采用冗余算法对片段数据的4个数据块进行冗余运算获取得到,冗余数据块是保证在数据块和冗余数据块中任意几个数据出错时,采用剩余的数据块均能够恢复出原始数据,而具体可以允许几个数据块出错,则由冗余算法确定。
本发明的技术方案并非在各个存储节点上进行多份存储,而是通过将块数据和冗余块数据分别存储在位于至少4个存储节点上,从而可以实现存储节点之间的冗余处理,可以提高存储空间地利用率且降低了存储节点的负载,另外,本发明实施例可以支持不同的冗余算法,从而满足客户不同的可靠性需求,灵活性较高。

Claims (5)

1.一种数据冗余处理方法,其特征在于,具体实现方案为:首先,将写入数据以固定长度L进行切分,得到K个片段数据,当最后一个片段的长度小于L时,以二进制值00000000进行填充,L为4N个字节,K为不小于1的自然数,N为正整数;然后,将每个片段数据等分成4个数据块,由4个数据块计算出4个冗余数据块;最后,对每个片段数据,将对应的4个数据块和4个冗余数据块存储到至少4个存储节点上,每个存储节点包含每个片段数据的至多2个数据块。
2.根据权利要求1所述的数据冗余处理方法,其特征在于,所述的4个冗余数据块,通过对4个数据块进行逻辑异或操作计算得到。
3.一种数据冗余处理装置,其特征在于,包括:数据分段模块、冗余数据生成模块以及存储模块;数据分段模块用于将写入数据以固定长度L进行切分,设共得到K个片段数据,当最后一个片段的长度小于L时,以二进制值00000000进行填充,L为4N个字节,K为不小于1的自然数,N为正整数;冗余数据生成模块,将每个片段数据等分成4个数据块,并根据所述的4个数据块计算出4个冗余数据块;存储模块将每个片段数据所对应的4个数据块和4个冗余数据块存储到至少4个存储节点上,每个存储节点包含每个片段数据的至多2个数据块。
4.根据权利要求3所述的数据冗余处理装置,其特征在于,所述的4个冗余数据块,通过对4个数据块进行逻辑异或操作计算得到。
5.一种分布式存储系统,其特征在于,利用权利要求1所述的数据冗余处理方法或者利用权利要求2所述的数据冗余处理装置,将写入数据进行存储,所述分布式存储系统最少包含4个存储节点,每个存储节点包含每个片段数据的至多2个数据块。
CN201310499656.8A 2013-10-22 2013-10-22 数据冗余处理方法、装置和分布式存储系统 Pending CN103559102A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310499656.8A CN103559102A (zh) 2013-10-22 2013-10-22 数据冗余处理方法、装置和分布式存储系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310499656.8A CN103559102A (zh) 2013-10-22 2013-10-22 数据冗余处理方法、装置和分布式存储系统

Publications (1)

Publication Number Publication Date
CN103559102A true CN103559102A (zh) 2014-02-05

Family

ID=50013354

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310499656.8A Pending CN103559102A (zh) 2013-10-22 2013-10-22 数据冗余处理方法、装置和分布式存储系统

Country Status (1)

Country Link
CN (1) CN103559102A (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104468793A (zh) * 2014-12-10 2015-03-25 北京奇虎科技有限公司 分布式数据存储方法及分布式数据集群系统
WO2015180038A1 (zh) * 2014-05-27 2015-12-03 北京大学深圳研究生院 部分复制码的构建方法、装置及其数据修复的方法
CN105335250A (zh) * 2014-07-28 2016-02-17 浙江大华技术股份有限公司 一种基于分布式文件系统的数据恢复方法及装置
CN108920104A (zh) * 2018-06-29 2018-11-30 吴俊杰 一种无中心的视频监控云存取方法
WO2019218717A1 (zh) * 2018-05-18 2019-11-21 百度在线网络技术(北京)有限公司 一种分布式存储方法、装置、计算机设备及存储介质
CN111007992A (zh) * 2020-03-04 2020-04-14 广东电网有限责任公司佛山供电局 一种磁盘数据存储表示方法、系统、存储介质
CN112799584A (zh) * 2019-11-13 2021-05-14 杭州海康威视数字技术股份有限公司 一种数据存储方法及装置
CN113793110A (zh) * 2021-07-01 2021-12-14 科尔比乐(广州)智能装备有限公司 基于云计算的工业设备数据采集与分析方法及云服务平台
WO2022198429A1 (zh) * 2021-03-23 2022-09-29 深圳市欢太科技有限公司 一种数据冗余备份方法、装置、存储介质及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120254192A1 (en) * 2011-03-29 2012-10-04 Roy Gelbard Method and system for extended bitmap indexing
CN102799543A (zh) * 2012-08-10 2012-11-28 杭州极云网络技术有限公司 在动态变化的存储介质上分散存储数据及恢复方法
CN103023968A (zh) * 2012-11-15 2013-04-03 中科院成都信息技术有限公司 一种网络分布式文件存储与读取方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120254192A1 (en) * 2011-03-29 2012-10-04 Roy Gelbard Method and system for extended bitmap indexing
CN102799543A (zh) * 2012-08-10 2012-11-28 杭州极云网络技术有限公司 在动态变化的存储介质上分散存储数据及恢复方法
CN103023968A (zh) * 2012-11-15 2013-04-03 中科院成都信息技术有限公司 一种网络分布式文件存储与读取方法

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015180038A1 (zh) * 2014-05-27 2015-12-03 北京大学深圳研究生院 部分复制码的构建方法、装置及其数据修复的方法
CN105335250A (zh) * 2014-07-28 2016-02-17 浙江大华技术股份有限公司 一种基于分布式文件系统的数据恢复方法及装置
CN105335250B (zh) * 2014-07-28 2018-09-28 浙江大华技术股份有限公司 一种基于分布式文件系统的数据恢复方法及装置
CN104468793A (zh) * 2014-12-10 2015-03-25 北京奇虎科技有限公司 分布式数据存储方法及分布式数据集群系统
CN104468793B (zh) * 2014-12-10 2017-11-03 北京奇虎科技有限公司 分布式数据存储方法及分布式数据集群系统
WO2019218717A1 (zh) * 2018-05-18 2019-11-21 百度在线网络技术(北京)有限公司 一种分布式存储方法、装置、计算机设备及存储介质
US11842072B2 (en) 2018-05-18 2023-12-12 Baidu Online Network Technology (Beijing) Co., Ltd. Distributed storage method and apparatus, computer device, and storage medium
CN108920104A (zh) * 2018-06-29 2018-11-30 吴俊杰 一种无中心的视频监控云存取方法
CN108920104B (zh) * 2018-06-29 2021-06-25 吴俊杰 一种无中心的视频监控云存取方法
CN112799584A (zh) * 2019-11-13 2021-05-14 杭州海康威视数字技术股份有限公司 一种数据存储方法及装置
CN112799584B (zh) * 2019-11-13 2023-04-07 杭州海康威视数字技术股份有限公司 一种数据存储方法及装置
CN111007992A (zh) * 2020-03-04 2020-04-14 广东电网有限责任公司佛山供电局 一种磁盘数据存储表示方法、系统、存储介质
CN111007992B (zh) * 2020-03-04 2020-08-04 广东电网有限责任公司佛山供电局 一种磁盘数据存储表示方法、系统、存储介质
WO2022198429A1 (zh) * 2021-03-23 2022-09-29 深圳市欢太科技有限公司 一种数据冗余备份方法、装置、存储介质及电子设备
CN113793110A (zh) * 2021-07-01 2021-12-14 科尔比乐(广州)智能装备有限公司 基于云计算的工业设备数据采集与分析方法及云服务平台

Similar Documents

Publication Publication Date Title
CN103559102A (zh) 数据冗余处理方法、装置和分布式存储系统
Rashmi et al. Having Your Cake and Eating It Too: Jointly Optimal Erasure Codes for {I/O}, Storage, and Network-bandwidth
CN101868785B (zh) 生成数据存储系统的并行恢复策略
CN110089035B (zh) 存储控制器、数据处理芯片及数据处理方法
US20140310571A1 (en) Local Erasure Codes for Data Storage
US10353787B2 (en) Data stripping, allocation and reconstruction
US11218174B2 (en) Method and system for storing data locally repairable and efficient multiple encoding
CN101840366B (zh) 环链式n+1位奇偶校验码的存储方法
Le Scouarnec Exact scalar minimum storage coordinated regenerating codes
CN106708653B (zh) 一种基于纠删码与多副本的混合税务大数据安全保护方法
CN103336785A (zh) 一种基于网络编码的分布式存储方法及其装置
CN102857554A (zh) 基于分布式存储系统进行数据冗余处理方法
CN103746774B (zh) 一种高效数据读取的容错编码方法
CN107003933B (zh) 部分复制码的构建方法、装置及其数据修复的方法
CN111831223B (zh) 提高数据去重系统可扩展性的容错编码方法、装置及系统
CN106484559A (zh) 一种校验矩阵的构造方法及水平阵列纠删码的构造方法
US20160285476A1 (en) Method for encoding and decoding of data based on binary reed-solomon codes
CN112435157B (zh) 包括不同类型的存储器装置的图形处理系统及其操作方法
CN111782152A (zh) 数据存储方法、数据恢复方法、装置、服务器及存储介质
CN102843212A (zh) 编解码处理方法及装置
CN103838649A (zh) 一种降低二进制编码存储系统中计算量的方法
CN107153661A (zh) 一种基于hdfs系统的数据的存储、读取方法及其装置
CN106027638A (zh) 一种基于混合编码的hadoop数据分发方法
US20200336157A1 (en) Systematic and xor-based coding technique for distributed storage systems
CN109558086B (zh) 一种数据读取方法、系统及相关组件

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20140205

RJ01 Rejection of invention patent application after publication