[发明专利]一种利用分布式数据编码的存储方法有效
申请号: | 201410009331.1 | 申请日: | 2014-01-09 |
公开(公告)号: | CN103761195B | 公开(公告)日: | 2017-05-10 |
发明(设计)人: | 王欢 | 申请(专利权)人: | 浪潮电子信息产业股份有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;G06F11/14 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 250014 山东*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 利用 分布式 数据 编码 存储 方法 | ||
技术领域
本发明涉及计算机数据存储技术领域,具体的说是一种利用分布式数据编码的存储方法。
背景技术
现代的传统分布式文件系统无论是商业还是开源系统,基本都是采用了多副本的方式保证数据的安全性,如商业的IBM的GPFS,蓝鲸的BWFS,Pansas公司的panFS等等,开源的例如lustre,GlusterFS,HDFS,ceph等,一般情况下是在节点间采用多副本的方式,保障节点的故障冗余,在节点上又采用RAID5或者RAID6等保障磁盘的故障冗余,往往副本的方式是通过多写一份数据的形式实现,这就导致写的性能随着副本的数量增加而成线性降低,对于磁盘间的RAID操作,不论是初始化还是重建恢复,其高耗时都是业内的难题,在种种的低效率的保障安全性的情况下,反而仅仅可以保障一两个节点和一个磁盘的故障,与工业上的99.9999%的要求相差甚远。
如今大数据时代,数据是一个企业的最重要的资产,数据的安全性很多时候是一个公司的命脉。当移动互联网时候的到来,海量用户的数据每日的增长速度惊人,在一定时间内,数据都需要高安全性的存储,而影响数据存储最主要的因素,一是安全性,二是性能。
在现有技术中,传统分布式文件系统中副本方式容易带来的脑裂问题和不一致性问题;同时传统的磁盘级RAID5或RAID方案会大大提高企业的成本,同时重建和恢复过程中功耗较大,造成资源浪费,基于此,现提供一种新型的、高可用的高性能存储方法。
发明内容
本发明的技术任务是解决现有技术的不足,提供一种利用分布式数据编码的存储方法。
本发明的技术方案是按以下方式实现的,该一种利用分布式数据编码的存储方法,其具体存储过程为:
一、客户端进程接收到来自缓存的数据后,进行编码计算生成校验数据块,该校验数据块可保证在3个节点或者磁盘损坏情况下进行,即采用N+M方式,N是数据块的数目,M是校验块的数目,N为大于等于1的自然数,M为大于等于3的自然数;
二、当完成编码以后,客户端发送数据片到所有的服务器端,每次一个服务器返回写成功后,在客户端维护计数器,根据系统的配置参数,当达到可以恢复数据的不同级别,则对写失败的服务器节点不再进行重写。
所述步骤一中客户端实时进行编码计算采用的为2+2分组并行高速编码方式,该方式的具体内容为:3个数据块为一组,采用两组分别编码方式形成各自的校验块数据,同时进行整个6块数据的总体编码,此时产生3个校验块,冗余度达到3。
所述步骤二的详细过程为:当客户端收到读请求时,由客户端发送读指令到所有的存储服务器节点,在客户端等待接受各个存储服务器返回的数据,当客户端对返回的数据进行一致性检测和计算器的累积以后,对于优先返回的校验块进行缓存,缓存个数根据配置确定,如果后续返回所有正常的数据块,则数据块返回给用户调用,缓存的校验块丢弃;
当正常读的过程中发现有数据块无法读取或者根据标记位发现已经损坏,则由缓存的校验块填充,并且根据2+2的分组情况,进行解码计算,得到数据后,再返回给上层调用的用户。
所述正常读流程中,优先发送读请求到正常的数据块节点。
所述集群中存在修复进程,该进程对所有的数据进行不间断的检查,当发现有数据丢失或者节点失效的时候,重新读取数据,解码恢复数据,然后重新写入存储服务器,修复进程对修复文件和布局都进行了详细记录,当新节点放回集群中,则由修复进程进行数据的转存。
本发明与现有技术相比所产生的有益效果是:
本发明的一种利用分布式数据编码的存储方法代替了传统的副本方式保证的可靠性,并且同时代替了磁盘级别的RAID方案,解决了副本的脑裂问题和低性能,以及RAID5或者RAID6方案中的重建和恢复的高耗时和高成本问题;利用矩阵的运算实现了灾备方案,允许任意多个存储节点或者磁盘故障,使传统的纠删码或者矩阵运算的CPU占用率大大降低;实用性强,易于推广。
附图说明
附图1为本发明的写文件流程图。
附图2为本发明的编码算法示意图。
附图3为本发明中读文件流程图。
附图4为本发明中修复读文件流程图。
附图5为本发明中修复文件流程图。
具体实施方式
下面结合附图对本发明的一种利用分布式数据编码的存储方法作以下详细说明。
如附图1~5所示,本发明提供一种利用分布式数据编码的存储方法,其具体存储过程为:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮电子信息产业股份有限公司,未经浪潮电子信息产业股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410009331.1/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置