CN103559102A - 数据冗余处理方法、装置和分布式存储系统 - Google Patents
数据冗余处理方法、装置和分布式存储系统 Download PDFInfo
- 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
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个数据块。
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)
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)
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 | 中科院成都信息技术有限公司 | 一种网络分布式文件存储与读取方法 |
-
2013
- 2013-10-22 CN CN201310499656.8A patent/CN103559102A/zh active Pending
Patent Citations (3)
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)
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) | 数据冗余处理方法、装置和分布式存储系统 | |
CN111553473B (zh) | 数据冗余方法及执行数据冗余方法的神经网络处理器 | |
CN107656832B (zh) | 一种低数据重建开销的纠删码方法 | |
Rashmi et al. | Having your cake and eating it too: Jointly optimal erasure codes for {I/O}, storage, and network-bandwidth | |
CN103688515B (zh) | 一种最小带宽再生码的编码和存储节点修复方法 | |
CN101868785B (zh) | 生成数据存储系统的并行恢复策略 | |
US9916478B2 (en) | Data protection enhancement using free space | |
CN102142006B (zh) | 分布式文件系统的文件处理方法及装置 | |
CN110089035B (zh) | 存储控制器、数据处理芯片及数据处理方法 | |
US20140310571A1 (en) | Local Erasure Codes for Data Storage | |
CN101840366B (zh) | 环链式n+1位奇偶校验码的存储方法 | |
Le Scouarnec | Exact scalar minimum storage coordinated regenerating codes | |
CN110750382A (zh) | 用于提高数据修复性能的最小存储再生码编码方法及系统 | |
US20200127684A1 (en) | Method and system for storing data locally repairable and efficient multiple encoding | |
CN105518996B (zh) | 一种基于二进制域里德所罗门码的数据编解码方法 | |
CN111831223B (zh) | 提高数据去重系统可扩展性的容错编码方法、装置及系统 | |
CN107003933B (zh) | 部分复制码的构建方法、装置及其数据修复的方法 | |
CN112435157B (zh) | 包括不同类型的存储器装置的图形处理系统及其操作方法 | |
CN103838649A (zh) | 一种降低二进制编码存储系统中计算量的方法 | |
CN107153661A (zh) | 一种基于hdfs系统的数据的存储、读取方法及其装置 | |
CN106027638A (zh) | 一种基于混合编码的hadoop数据分发方法 | |
CN116501553A (zh) | 数据恢复方法、装置、系统、电子设备及存储介质 | |
WO2019076912A1 (en) | SYSTEMATIC AND XOR-BASED CODING TECHNIQUE FOR DISTRIBUTED STORAGE SYSTEMS | |
CN109558086B (zh) | 一种数据读取方法、系统及相关组件 | |
US11900221B1 (en) | Error correction decoding techniques for lattice surgery |
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 |