CN107357677B - 一种GlusterFS基于纠删码的数据冗余存储方法 - Google Patents

一种GlusterFS基于纠删码的数据冗余存储方法 Download PDF

Info

Publication number
CN107357677B
CN107357677B CN201710489365.9A CN201710489365A CN107357677B CN 107357677 B CN107357677 B CN 107357677B CN 201710489365 A CN201710489365 A CN 201710489365A CN 107357677 B CN107357677 B CN 107357677B
Authority
CN
China
Prior art keywords
file
block
glusterfs
files
data 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.)
Active
Application number
CN201710489365.9A
Other languages
English (en)
Other versions
CN107357677A (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.)
Shandong Chaoyue CNC Electronics Co Ltd
Original Assignee
Shandong Chaoyue CNC Electronics 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 Shandong Chaoyue CNC Electronics Co Ltd filed Critical Shandong Chaoyue CNC Electronics Co Ltd
Priority to CN201710489365.9A priority Critical patent/CN107357677B/zh
Publication of CN107357677A publication Critical patent/CN107357677A/zh
Application granted granted Critical
Publication of CN107357677B publication Critical patent/CN107357677B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种GlusterFS基于纠删码的数据冗余存储方法。本发明针对GlusterFS存在的数据冗余存储方案单一的缺点,提出一种基于纠删码的冗余存储的方案,在进行大量冷数据存储时可以有效提高存储介质的利用率。本发明所述GlusterFS基于纠删码的数据冗余存储方法,在丢失了部分块文件之后仍然可以利用其它块文件进行计算合成,其数据冗余比例可以人为控制,实现在较低的存储利用率下的数据冗余保障。

Description

一种GlusterFS基于纠删码的数据冗余存储方法
技术领域
本发明涉及一种GlusterFS基于纠删码的数据冗余存储方法,属于分布式存储的技术领域。
背景技术
数据冗余存储从原理上可以分为两种类型:基于副本的数据存储和基于纠删编解码的数据存储。基于副本的数据存储是将数据完整的拷贝到另外一个存储位置(可以是另外一种存储介质)实现数据的冗余存储,一旦其中一份备份数据出现损坏可以通过其他的数据副本进行修复,提高数据存储的可靠性和安全性。基于副本的数据存储与传统的RAID1技术非常相似,其缺点是对存储资源的利用率较低,数据恢复速度缓慢。基于纠删编解码的数据备份将原始数据通过一种规则编码成数据块和校验块后,再将这些块一一进行存储。这种冗余存储技术使存储空间的利用率得到了显著提高,其缺点是读性能下降,一般情况下将长期不再访问的冷数据通过纠删码的方式存储。
分布式文件系统从架构上可以分为有中心的文件系统和无中心的文件系统。GlusterFS是一个开源的无中心的分布式文件系统,存储容量可以轻松扩展到PB级,处理上千个客户端的请求。GlusterFS提供了基于卷组的灵活的存储方案配置,通过设定可以实现类似于RAID1的数据镜像存储。在有中心的分布式文件系统中纠删码的实现可以借助于元数据服务器跟踪元数据切块后的存放位置关系,实现起来相对比较简单。GlusterFS是典型的无中心的分布式文件系统,对于系统中所存储数据的访问依赖算法实现,如果一个文件通过纠删码的方式进行存储,文件数据会被分割存储在不同位置,难以通过算法进行多个离散存储位置的描述,因此实现较困难。
对于有中心的分布式文件系统,其基于纠删码的冗余存储方案的实现方法如下:客户端向元数据服务器请求写入文件数据,元数据服务器返回写入服务器的列表后,客户端将文件进行切片存入各个服务器,然后元数据服务器会利用RS纠删编解码(这里以RS编码技术为例)对存入的文件进行编码得到冗余的编码块,元数据服务器改变文件记录映射表,为冗余的编码块数据申请存储服务器,然后将冗余编码块数据写入相应的数据块服务器中。进行数据访问的时候,首先通过元数据服务器获得包含了冗余编码块的数据,经过RS解码规则合成并验证原文件,验证成功后返回给客户端。
上述过程中,元数据服务器在纠删编解码中起到了至关重要的作用。在无中心的分布式文件系统中,不存在元数据服务器,导致基于纠删码的数据存储实现困难。
发明内容
针对现有技术的不足,本发明提供一种GlusterFS基于纠删码的数据冗余存储方法。
发明概述:
本发明针对GlusterFS存在的数据冗余存储方案单一的缺点,提出一种基于纠删码的冗余存储的方案,在进行大量冷数据存储时可以有效提高存储介质的利用率。
本发明的技术方案为:
一种GlusterFS基于纠删码的数据冗余存储方法,通过实现GlusterFS模块CheckCode进行,CheckCode模块将存入GlusterFS的数据进行基于纠删码的编码,对原文件的访问进行解码合并;所述GlusterFS为基于模块化的堆栈式架构。
根据本发明优选的,所述GlusterFS基于纠删码的数据冗余存储方法,包括具体步骤如下:
1)将原文件提交给CheckCode模块,CheckCode模块对原文件进行拆分得到多个块文件和多个冗余编码块文件;通过属性编码规则生成编码信息;所述编码信息包括,原文件属性信息、冗余编码块文件属性信息和块文件属性信息;CheckCode模块将所述块文件以私有的命名方式按照普通文件存储到集群中;
属性编码中保留原文件的信息和所有纠删编码块文件的信息,方便后期的互相查找;
2)将所有块文件的属性编码信息汇总,生成与原文件同名的普通文件;所述普通文件通过普通的存储方式存储,普通文件提供纠删码块文件的查找功能;
3)客户端访问文件时,CheckCode模块检测所访问文件的存储方式,如果文件采用纠删码的方式存储,则CheckCode模块首先访问相应的普通文件得到各个块文件的私有名称,取出相应的块文件属性信息,读出各个块文件的内容进行验证后合成原文件返回给客户端。
进一步优选的,每个块文件设置有预留空间,所述编码信息存储在所述预留空间内。CheckCode模块对即将存储的文件进行拆分的过程中会生成冗余编码块文件,为了方便实现数据的读出,编码之后的每个块文件会额外留出一点空间来记录关于原文件的属性和经过纠删编码后的各个块文件的属性,同时记录自身的块文件属性。
再进一步优选的,所述预留空间设置在块文件的末尾。
进一步优选的,所述块文件的属性信息通过统一的编码规则标志,与普通文件进行区别。
进一步优选的,当部分块文件损坏或普通文件丢失时,CheckCode模块扫描私有命名空间下的所有块文件的属性信息,恢复损坏的块文件。即使同名文件丢失也可以通过搜索块文件的属性信息得到完整的原文件。
本发明的有益效果为:
1.本发明所述GlusterFS基于纠删码的数据冗余存储方法,在丢失了部分块文件之后仍然可以利用其它块文件进行计算合成,其数据冗余比例可以人为控制,实现在较低的存储利用率下的数据冗余保障。
附图说明
图1为现有技术中有中心的分布式存储系统纠删码存储实现方法示意图;
图2为本发明所述GlusterFS基于纠删码的数据冗余存储方法示意图。
具体实施方式
下面结合实施例和说明书附图对本发明做进一步说明,但不限于此。
实施例1
如图2所示。
一种GlusterFS基于纠删码的数据冗余存储方法,通过实现GlusterFS模块CheckCode进行,CheckCode模块将存入GlusterFS的数据进行基于纠删码的编码,对原文件的访问进行解码合并;所述GlusterFS为基于模块化的堆栈式架构。
实施例2
如实施例1所述的GlusterFS基于纠删码的数据冗余存储方法,所不同的是,所述GlusterFS基于纠删码的数据冗余存储方法,包括具体步骤如下:
1)将原文件提交给CheckCode模块,CheckCode模块对原文件进行拆分得到三个块文件和两个冗余编码块文件;通过属性编码规则生成编码信息;所述编码信息包括,原文件属性信息、冗余编码块文件属性信息和块文件属性信息;CheckCode模块将所述块文件以私有的命名方式按照普通文件存储到集群中;
属性编码中保留原文件的信息和所有纠删编码块文件的信息,方便后期的互相查找;
2)将所有块文件的属性编码信息汇总,生成与原文件同名的普通文件;所述普通文件通过普通的存储方式存储,普通文件提供纠删码块文件的查找功能;
3)客户端访问文件时,CheckCode模块检测所访问文件的存储方式,如果文件采用纠删码的方式存储,则CheckCode模块首先访问相应的普通文件得到各个块文件的私有名称,取出相应的块文件属性信息,读出各个块文件的内容进行验证后合成原文件返回给客户端。
实施例3
如实施例2所述的GlusterFS基于纠删码的数据冗余存储方法,所不同的是,每个块文件设置有预留空间,所述编码信息存储在所述预留空间内。CheckCode模块对即将存储的文件进行拆分的过程中会生成冗余编码块文件,为了方便实现数据的读出,编码之后的每个块文件会额外留出一点空间来记录关于原文件的属性和经过纠删编码后的各个块文件的属性,同时记录自身的块文件属性。
实施例4
如实施例3所述的GlusterFS基于纠删码的数据冗余存储方法,所不同的是,所述预留空间设置在块文件的末尾。
实施例5
如实施例2所述的GlusterFS基于纠删码的数据冗余存储方法,所不同的是,所述块文件的属性信息通过统一的编码规则标志,与普通文件进行区别。
实施例6
如实施例2所述的GlusterFS基于纠删码的数据冗余存储方法,所不同的是,当部分块文件损坏或普通文件丢失时,CheckCode模块扫描私有命名空间下的所有块文件的属性信息,恢复损坏的块文件。即使同名文件丢失也可以通过搜索块文件的属性信息得到完整的原文件。

Claims (5)

1.一种GlusterFS基于纠删码的数据冗余存储方法,其特征在于,通过实现GlusterFS模块CheckCode进行,CheckCode模块将存入GlusterFS的数据进行基于纠删码的编码,对原文件的访问进行解码合并;所述GlusterFS为基于模块化的堆栈式架构;
具体步骤如下:
1)将原文件提交给CheckCode模块,CheckCode模块对原文件进行拆分得到多个块文件和多个冗余编码块文件;通过属性编码规则生成编码信息;所述编码信息包括,原文件属性信息、冗余编码块文件属性信息和块文件属性信息;CheckCode模块将所述块文件以私有的命名方式按照普通文件存储到集群中;
2)将所有块文件的属性编码信息汇总,生成与原文件同名的普通文件;所述普通文件通过普通的存储方式存储,普通文件提供纠删码块文件的查找功能;
3)客户端访问文件时,CheckCode模块检测所访问文件的存储方式,如果文件采用纠删码的方式存储,则CheckCode模块首先访问相应的普通文件得到各个块文件的私有名称,取出相应的块文件属性信息,读出各个块文件的内容进行验证后合成原文件返回给客户端。
2.根据权利要求1所述的GlusterFS基于纠删码的数据冗余存储方法,其特征在于,每个块文件设置有预留空间,所述编码信息存储在所述预留空间内。
3.根据权利要求2所述的GlusterFS基于纠删码的数据冗余存储方法,其特征在于,所述预留空间设置在块文件的末尾。
4.根据权利要求1所述的GlusterFS基于纠删码的数据冗余存储方法,其特征在于,所述块文件的属性信息通过统一的编码规则标志,与普通文件进行区别。
5.根据权利要求1所述的GlusterFS基于纠删码的数据冗余存储方法,其特征在于,当部分块文件损坏或普通文件丢失时,CheckCode模块扫描私有命名空间下的所有块文件的属性信息,恢复损坏的块文件。
CN201710489365.9A 2017-06-24 2017-06-24 一种GlusterFS基于纠删码的数据冗余存储方法 Active CN107357677B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710489365.9A CN107357677B (zh) 2017-06-24 2017-06-24 一种GlusterFS基于纠删码的数据冗余存储方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710489365.9A CN107357677B (zh) 2017-06-24 2017-06-24 一种GlusterFS基于纠删码的数据冗余存储方法

Publications (2)

Publication Number Publication Date
CN107357677A CN107357677A (zh) 2017-11-17
CN107357677B true CN107357677B (zh) 2020-09-08

Family

ID=60273620

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710489365.9A Active CN107357677B (zh) 2017-06-24 2017-06-24 一种GlusterFS基于纠删码的数据冗余存储方法

Country Status (1)

Country Link
CN (1) CN107357677B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112328550A (zh) * 2020-11-03 2021-02-05 深圳壹账通智能科技有限公司 一种分布式文件系统架构下的文件管理方法及装置
CN114710238B (zh) * 2022-03-30 2023-11-17 蚂蚁区块链科技(上海)有限公司 纠删码算法冗余度确定方法及区块链节点

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102693286A (zh) * 2012-05-10 2012-09-26 华中科技大学 一种对文件内容与元数据进行组织管理的方法
CN103916483A (zh) * 2014-04-28 2014-07-09 中国科学院成都生物研究所 一种针对编码冗余存储系统的自适应数据存储与重构方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102693286A (zh) * 2012-05-10 2012-09-26 华中科技大学 一种对文件内容与元数据进行组织管理的方法
CN103916483A (zh) * 2014-04-28 2014-07-09 中国科学院成都生物研究所 一种针对编码冗余存储系统的自适应数据存储与重构方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
GlusterFS企业级功能之EC纠删码;杨阳@TaoCloud;《blog.51cto》;20170511;第1-10页 *

Also Published As

Publication number Publication date
CN107357677A (zh) 2017-11-17

Similar Documents

Publication Publication Date Title
US10019317B2 (en) Parity protection for data chunks in an object storage system
US10437672B2 (en) Erasure coding and replication in storage clusters
US9823969B2 (en) Hierarchical wide spreading of distributed storage
EP2787446B1 (en) Distributed storage method, device and system
CN104965845B (zh) 一种小文件的定位方法及系统
CN103944981B (zh) 一种基于纠删码技术改进的云存储系统及实现方法
US9135115B2 (en) Storing data in multiple formats including a dispersed storage format
US10108492B2 (en) Rebuilding data stored in a dispersed storage network
CN101488104B (zh) 一种实现高效安全存储的系统和方法
US9880762B1 (en) Compressing metadata blocks prior to writing the metadata blocks out to secondary storage
CN104111880B (zh) 一种容三盘失效纠删码的单数据盘失效快速重建方法
CN105956128B (zh) 一种基于简单再生码的自适应编码存储容错方法
US9558059B2 (en) Detecting data requiring rebuilding in a dispersed storage network
CN103561057A (zh) 基于分布式哈希表和纠删码的数据存储方法
WO2014056381A1 (zh) 数据冗余实现方法及装置
CN109814807B (zh) 一种数据存储方法及装置
CN110427156B (zh) 一种基于分片的mbr的并行读方法
CN107357677B (zh) 一种GlusterFS基于纠删码的数据冗余存储方法
CN106027638B (zh) 一种基于混合编码的hadoop数据分发方法
CN102184079A (zh) 一种raid5级别磁盘阵列的写性能优化方法
US11728964B2 (en) Performance aided data migration in a distributed storage network
US10592336B1 (en) Layered indexing for asynchronous retrieval of redundancy coded data
US20220374162A1 (en) Facilitating Write Requests in a Storage Network
Ko et al. Fault tolerant erasure coded replication for HDFS based cloud storage
CN113157715A (zh) 纠删码数据中心机架协同更新方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 250000, No. 2877, fairway, Sun Town, Ji'nan hi tech Zone, Shandong

Applicant after: SHANDONG CHAOYUE CNC ELECTRONICS Co.,Ltd.

Address before: 250000, No. 2877, fairway, Sun Town, Ji'nan hi tech Zone, Shandong

Applicant before: SHANDONG CHAOYUE NUMERICAL CONTROL ELECTRONIC Co.,Ltd.

GR01 Patent grant
GR01 Patent grant