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

技术编号:16587292 阅读:26 留言:0更新日期:2017-11-18 14:50
本发明专利技术涉及一种GlusterFS基于纠删码的数据冗余存储方法。本发明专利技术针对GlusterFS存在的数据冗余存储方案单一的缺点,提出一种基于纠删码的冗余存储的方案,在进行大量冷数据存储时可以有效提高存储介质的利用率。本发明专利技术所述GlusterFS基于纠删码的数据冗余存储方法,在丢失了部分块文件之后仍然可以利用其它块文件进行计算合成,其数据冗余比例可以人为控制,实现在较低的存储利用率下的数据冗余保障。

A data redundancy storage method based on erasure code in GlusterFS

The invention relates to a data redundancy storage method based on erasure code of GlusterFS. Aiming at the shortcoming of the redundant data storage scheme in GlusterFS, a redundant storage scheme based on erasure code is proposed, which can effectively improve the utilization ratio of storage medium when a large amount of cold data is stored. The invention of the GlusterFS data storage method to delete redundant erasure codes based on, after the lost blocks of file still can be calculated using other synthetic block files, the data redundancy ratio can be controlled to achieve data redundancy protection in low storage utilization under.

【技术实现步骤摘要】
一种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基于纠删码的数据冗余存储方法

【技术保护点】
一种GlusterFS基于纠删码的数据冗余存储方法,其特征在于,通过实现GlusterFS模块CheckCode进行,CheckCode模块将存入GlusterFS的数据进行基于纠删码的编码,对原文件的访问进行解码合并;所述GlusterFS为基于模块化的堆栈式架构。

【技术特征摘要】
1.一种GlusterFS基于纠删码的数据冗余存储方法,其特征在于,通过实现GlusterFS模块CheckCode进行,CheckCode模块将存入GlusterFS的数据进行基于纠删码的编码,对原文件的访问进行解码合并;所述GlusterFS为基于模块化的堆栈式架构。2.根据权利要求1所述的GlusterFS基于纠删码的数据冗余存储方法,其特征在于,所述GlusterFS基于纠删码的数据冗余存储方法,包括具体步骤如下:1)将原文件提交给CheckCode模块,CheckCode模块对原文件进行拆分得到多个块文件和多个冗余编码块文件;通过属性编码规则生成编码信息;所述编码信息包括,原文件属性信息、冗余编码块文件属性信息和块文件属性信息;CheckCode模块将所述块文件以私有的命名方式按照普通文件存储到集群中;2)将所有块文件的属性编码信息汇总,生成与原文件同名的普通文件;所述普通文件通过普通的存储方式存储,普通文件提供纠删码块文件的查找功能;...

【专利技术属性】
技术研发人员:吴登勇刘毅枫李冬冬钟超群孙超
申请(专利权)人:山东超越数控电子有限公司
类型:发明
国别省市:山东,37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1