一种针对编码冗余存储系统的自适应数据存储与重构方法技术方案

技术编号:10200179 阅读:175 留言:0更新日期:2014-07-11 13:17
本发明专利技术提供一种针对编码冗余存储系统的自适应数据存储与重构方法。该自适应数据存储方法包括如下步骤:(1)客户端计算待存储文件的哈希值,将该哈希值上传至服务器端;(2)将待存储文件的哈希值与服务器端已存储的文件的哈希值进行比对;(3)若出现相同的哈希值,服务器端不接受待存储文件的上传;若未出现相同的哈希值,服务器端接受待存储文件的上传,将上传的文件进行分块,计算并存储各文件分块的哈希值,将各文件分块进行编码产生校验数据分块。相对于现有技术,本发明专利技术通过记录存储文件及每个文件分块的哈希值,根据系统与客户端的情况来选择相应的文件存储与重构方法,从而降低数据中心因重构数据带来的网络带宽压力和计算压力。

【技术实现步骤摘要】

本专利技术涉及信息
,特别是涉及利用编码冗余策略为基础存储架构的数据存储系统的自适应数据存储与丢失数据重构方法。
技术介绍
与复制冗余技术相比,基于编码冗余的可靠性技术,在拥有相同容错能力的前提下具有更低的数据冗余和存储开销。但当系统中出现节点损毁或者数据块丢失时,基于复制冗余的存储策略仅需下载与丢失数据同样大小的数据量就可以实现修复过程,但基于编码冗余,如纠删码的冗余策略则至少需要下载k倍的丢失数据量才能解码重构出丢失数据。因而与复制冗余策略相比,纠删码冗余策略在文件恢复时要占用更多的网络带宽资源,这将会给数据中心中本来就比较紧张的网络带宽资源带来更大的压力,进而给数据的读取带来更大的性能影响。正是由于纠删码冗余策略在数据修复过程中需要更大的维护带宽,再加之需要更为复杂的管理策略,从而极大地限制了基于编码容错技术的应用和推广。显然,如何利用体系结构的设计来避免编码冗余策略本身在重构带宽方面存在的劣势,或者使纠删编码存储系统具有更优的性能,同样是业界关注的焦点。近年,随着海量数据存储系统基础环节(如服务器性能、网络带宽、传输技术等)的飞速发展,系统结构研究的重心逐渐向客户端过渡。本专利技术针对编码冗余存储系统中,当有文件分块丢失时,系统需要调用远大于丢失的数据量来重构丢失的文件分块的缺点,针对纠删码分布式存储的特点,提出了基于对等结构的分布式存储与重构方式。
技术实现思路
针对现有技术存在的问题,本专利技术的主要目的在于提供一种降低编码冗余存储系统的网络带宽压力和服务器端计算压力的自适应数据存储与重构方法。一种针对编码冗余存储系统的自适应数据存储方法,该编码冗余存储系统包含服务器端和客户端,客户端向服务器端提出文件存储需求,该针对编码冗余存储系统的自适应数据存储方法包括如下步骤:(I)该客户端计算待存储文件的哈希值,将待存储文件的哈希值上传至服务器端;(2)将待存储文件的哈希值与服务器端已经存储的文件的哈希值进行比对;(3)若出现相同的哈希值,则服务器端不接受该待存储文件的上传,但服务器端接受客户端上传的关于存储文件的文件信息,并建立该文件信息与已经存储的具有相同哈希值的文件的关联;若未出现相同的哈希值,则服务器端接受该待存储文件的上传,将上传的文件进行分块,计算并存储各文件分块的哈希值,将各文件分块进行编码产生校验数据分块。进一步地,在步骤(I)客户端计算待存储文件的哈希值之前,服务器端先询问客户端是否愿意计算待存储文件的哈希值,若客户端不愿意计算待存储文件的哈希值,则将该待存储文件直接上传服务器端,由服务器端计算该待存储文件的哈希值。针对待存储文件直接上传服务器端,由服务器端计算该待存储文件的哈希值的情况,步骤(3)中若出现相同的哈希值,则对已经上传的待存储文件进行删除。一种针对编码冗余存储系统的自适应数据重构方法,该针对编码冗余存储系统的自适应数据重构方法包括如下步骤:(I)实时检测编码冗余存储系统服务器端是否有存储节点损毁;(2)当有存储节点损毁时,系统将损毁存储节点的文件分块对应的哈希值标记为丢失状态,并判断损毁的存储节点数是否大于系统的设定值,该系统的设定值在编码所允许的容灾范围内;(3)当损毁的存储节点数大于系统的设定值时,编码冗余存储系统服务器端利用内部计算资源对丢失的文件分块进行重构,当损毁的存储节点数不大于系统的设定值时,进入步骤⑷;(4)实时判断是否有客户端提出读取文件请求;(5)若有客户端提出读取文件请求,则判断待读取的文件是否有文件分块丢失;(6)若待读取的文件有文件分块丢失,则判断客户端的硬件资源是否符合设定的硬件性能要求;(7)若客户端的硬件资源不符合设定的硬件性能要求,则编码冗余存储系统服务器端利用内部计算资源对丢失的文件分块进行重构,将恢复出的文件分块提供给客户端;若客户端的硬件资源符合设定的硬件性能要求,则进入步骤(8);(8)询问客户端是否愿意参与丢失文件分块的恢复;(9)若客户端愿意参与丢失文件分块的恢复,则客户端下载相关文件分块与可以满足恢复丢失文件分块的校验数据分块,对丢失的文件分块进行恢复。若客户端不愿意参与丢失文件分块的恢复,则编码冗余存储系统服务器端利用内部计算资源对丢失的文件分块进行重构。进一步地,对丢失的文件分块进行恢复后,该针对编码冗余存储系统的自适应数据重构方法还包括如下步骤:计算重构的文件分块的哈希值;将该重构文件分块的哈希值上传至服务器端;服务器端比较重构文件分块的哈希值与对应丢失的原文件分块的哈希值是否相同;若重构文件分块的哈希值与对应丢失的原文件分块的哈希值相同,则允许客户端上传重构的文件分块;客户端上传该重构的文件分块;服务器端计算该上传文件分块的哈希值,并与对应丢失的原文件分块的哈希值进行比对;若上传文件分块的哈希值与对应丢失的原文件分块的哈希值相同时,服务器端保存该上传的文件分块,并将该上传文件分块对应的哈希值设置为可用。相对于现有技术,首先,本专利技术在存储系统体系结构上提出了一种基于对等结构的分布式存储与重构方式,利用了散布广泛客户端的计算能力,使得系统尽可能少的利用数据中心服务器端内部有限的网络带宽及计算资源来实现丢失数据的译码重构,而是根据客户对文件的需求特点将丢失文件分块的恢复功能部分的迁移到了客户端,从而减弱了系统恢复数据时各节点并发读入现象对集群内部网络的影响,从体系结构设计的角度解决了纠删码冗余策略在恢复文件时的维护带宽问题,具体地说,当系统中出现节点损毁或数据丢失时,系统会根据客户端的需要和相关硬件性能确定是由系统内部自行恢复还是由客户端来对数据进行恢复。当利用客户端对数据进行重构时,客户端会计算重构出的丢失数据的哈希值,并将该值发送到服务器端,经服务器端确认该哈希值后,客户端将上传该重构出的数据块;其次,本专利技术通过记录存储文件及每个文件分块的哈希值,并根据系统的运行与客户端的情况来选择相应的文件存储方法与丢失文件分块的重构方法,降低文件分块重构过程对系统集群内部传输及前台应用的I/o性能的影响,进而降低数据中心因重构数据带来的网络带宽压力和计算压力。【附图说明】图1是本专利技术针对编码冗余存储系统的自适应数据重构方法流程图图2是本专利技术针对编码冗余存储系统的自适应数据重构方法客户端数据恢复示意图【具体实施方式】下面结合附图,详细说明本专利技术的【具体实施方式】。本专利技术针对利用编码冗余策略作为基础存储架构的数据存储中心,设计了一种数据存储中心系统,即客户端与分布广泛的客户端之间协同进行的数据重构方式。编码冗余存储系统由服务器端和分布广泛的客户端组成。数据存储系统的基础存储架构由编码策略实现,这种编码策略不限于某一种特定的编码方式,如RS编码方法、EVEN0DD编码方法等均可。本专利技术提出了一种针对编码冗余存储系统的自适应数据存储方法,当客户端向服务器端提出文件存储需求时,该针对编码冗余存储系统的自适应数据存储方法包括如下步骤(I)至步骤⑶:(I)客户端计算待存储文件的哈希值,将待存储文件的哈希值上传至服务器端。利用现有的哈希算法将任意长度的二进制值映射为固定长度(125或250位)的由字母和数字组成的字符串,这个具有固定长度的字符串即为哈希值。哈希值是一段数据唯一且极其紧凑的数值表示形式。一个文件对应一个哈本文档来自技高网...

【技术保护点】
一种针对编码冗余存储系统的自适应数据存储方法,所述编码冗余存储系统包含服务器端和客户端,所述客户端向服务器端提出文件存储需求,其特征在于,所述针对编码冗余存储系统的自适应数据存储方法包括如下步骤:(1)所述客户端计算待存储文件的哈希值,将待存储文件的哈希值上传至服务器端;(2)将待存储文件的哈希值与服务器端已经存储的文件的哈希值进行比对;(3)若出现相同的哈希值,则服务器端不接受所述待存储文件的上传,若未出现相同的哈希值,则服务器端接受所述待存储文件的上传,将上传的文件进行分块,计算并存储各文件分块的哈希值,将各文件分块进行编码产生校验数据分块。

【技术特征摘要】
1.一种针对编码冗余存储系统的自适应数据存储方法,所述编码冗余存储系统包含服务器端和客户端,所述客户端向服务器端提出文件存储需求,其特征在于,所述针对编码冗余存储系统的自适应数据存储方法包括如下步骤: (1)所述客户端计算待存储文件的哈希值,将待存储文件的哈希值上传至服务器端; (2)将待存储文件的哈希值与服务器端已经存储的文件的哈希值进行比对; (3)若出现相同的哈希值,则服务器端不接受所述待存储文件的上传,若未出现相同的哈希值,则服务器端接受所述待存储文件的上传,将上传的文件进行分块,计算并存储各文件分块的哈希值,将各文件分块进行编码产生校验数据分块。2.如权利要求1所述的针对编码冗余存储系统的自适应数据存储方法,其特征在于:所述步骤(1)客户端计算待存储文件的哈希值之前,服务器端询问客户端是否愿意计算待存储文件的哈希值,若客户端不愿意计算所述待存储文件的哈希值,则将待存储文件直接上传服务器端,由服务器端计算所述待存储文件的哈希值。3.如权利要求2所述的针对编码冗余存储系统的自适应数据存储方法,其特征在于:所述步骤(3)若出现相同的哈希值,则对已经上传的待存储文件进行删除。4.如权利要求1所述的针对编码冗余存储系统的自适应数据存储方法,其特征在于:当出现相同的哈希值,服务器端不接受所述待存储文件的上传时,服务器端接受客户端上传的关于存储文件的文件信息,并建立所述文件信息与已经存储的具有相同哈希值的文件的关联。5.一种针对编码冗余存储系统的自适应数据重构方法,其特征在于,所述针对编码冗余存储系统的自适应数据重构方法包括如下步骤: (1)实时检测编码冗余存储系统服务器端是否有存储节点损毁; (2)当有存储节点损毁时,系统将损毁存储节点的文件分块对应的哈希值标记为丢失状态,并判断损毁的存储节点数是否大于系统的设定值; (3)当损毁的存储节点数大于系统的设定值时,编码冗余存储系统服务器端利用内部计算资源对丢失的文件分块进行重构,当损毁的存储节点数不大于...

【专利技术属性】
技术研发人员:蒋海波李娜周星梅陈建中王晓京
申请(专利权)人:中国科学院成都生物研究所
类型:发明
国别省市:四川;51

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

1