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

文档序号:7802597阅读:217来源:国知局
一种针对编码冗余存储系统的自适应数据存储与重构方法
【专利摘要】本发明提供一种针对编码冗余存储系统的自适应数据存储与重构方法。该自适应数据存储方法包括如下步骤:(1)客户端计算待存储文件的哈希值,将该哈希值上传至服务器端;(2)将待存储文件的哈希值与服务器端已存储的文件的哈希值进行比对;(3)若出现相同的哈希值,服务器端不接受待存储文件的上传;若未出现相同的哈希值,服务器端接受待存储文件的上传,将上传的文件进行分块,计算并存储各文件分块的哈希值,将各文件分块进行编码产生校验数据分块。相对于现有技术,本发明通过记录存储文件及每个文件分块的哈希值,根据系统与客户端的情况来选择相应的文件存储与重构方法,从而降低数据中心因重构数据带来的网络带宽压力和计算压力。
【专利说明】一种针对编码冗余存储系统的自适应数据存储与重构方法
【技术领域】
[0001]本发明涉及信息【技术领域】,特别是涉及利用编码冗余策略为基础存储架构的数据存储系统的自适应数据存储与丢失数据重构方法。
【背景技术】
[0002]与复制冗余技术相比,基于编码冗余的可靠性技术,在拥有相同容错能力的前提下具有更低的数据冗余和存储开销。但当系统中出现节点损毁或者数据块丢失时,基于复制冗余的存储策略仅需下载与丢失数据同样大小的数据量就可以实现修复过程,但基于编码冗余,如纠删码的冗余策略则至少需要下载k倍的丢失数据量才能解码重构出丢失数据。因而与复制冗余策略相比,纠删码冗余策略在文件恢复时要占用更多的网络带宽资源,这将会给数据中心中本来就比较紧张的网络带宽资源带来更大的压力,进而给数据的读取带来更大的性能影响。正是由于纠删码冗余策略在数据修复过程中需要更大的维护带宽,再加之需要更为复杂的管理策略,从而极大地限制了基于编码容错技术的应用和推广。
[0003]显然,如何利用体系结构的设计来避免编码冗余策略本身在重构带宽方面存在的劣势,或者使纠删编码存储系统具有更优的性能,同样是业界关注的焦点。近年,随着海量数据存储系统基础环节(如服务器性能、网络带宽、传输技术等)的飞速发展,系统结构研究的重心逐渐向客户端过渡。
[0004]本发明针对编码冗余存储系统中,当有文件分块丢失时,系统需要调用远大于丢失的数据量来重构丢失的文件分块的缺点,针对纠删码分布式存储的特点,提出了基于对等结构的分布式存储与重构方式。

【发明内容】

[0005]针对现有技术存在的问题,本发明的主要目的在于提供一种降低编码冗余存储系统的网络带宽压力和服务器端计算压力的自适应数据存储与重构方法。
[0006]一种针对编码冗余存储系统的自适应数据存储方法,该编码冗余存储系统包含服务器端和客户端,客户端向服务器端提出文件存储需求,该针对编码冗余存储系统的自适应数据存储方法包括如下步骤:
[0007](I)该客户端计算待存储文件的哈希值,将待存储文件的哈希值上传至服务器端;
[0008](2)将待存储文件的哈希值与服务器端已经存储的文件的哈希值进行比对;
[0009](3)若出现相同的哈希值,则服务器端不接受该待存储文件的上传,但服务器端接受客户端上传的关于存储文件的文件信息,并建立该文件信息与已经存储的具有相同哈希值的文件的关联;若未出现相同的哈希值,则服务器端接受该待存储文件的上传,将上传的文件进行分块,计算并存储各文件分块的哈希值,将各文件分块进行编码产生校验数据分块。
[0010]进一步地,在步骤(I)客户端计算待存储文件的哈希值之前,服务器端先询问客户端是否愿意计算待存储文件的哈希值,若客户端不愿意计算待存储文件的哈希值,则将该待存储文件直接上传服务器端,由服务器端计算该待存储文件的哈希值。针对待存储文件直接上传服务器端,由服务器端计算该待存储文件的哈希值的情况,步骤(3)中若出现相同的哈希值,则对已经上传的待存储文件进行删除。
[0011]一种针对编码冗余存储系统的自适应数据重构方法,该针对编码冗余存储系统的自适应数据重构方法包括如下步骤:
[0012](I)实时检测编码冗余存储系统服务器端是否有存储节点损毁;
[0013](2)当有存储节点损毁时,系统将损毁存储节点的文件分块对应的哈希值标记为丢失状态,并判断损毁的存储节点数是否大于系统的设定值,该系统的设定值在编码所允许的容灾范围内;
[0014](3)当损毁的存储节点数大于系统的设定值时,编码冗余存储系统服务器端利用内部计算资源对丢失的文件分块进行重构,当损毁的存储节点数不大于系统的设定值时,进入步骤⑷;
[0015](4)实时判断是否有客户端提出读取文件请求;
[0016](5)若有客户端提出读取文件请求,则判断待读取的文件是否有文件分块丢失;
[0017](6)若待读取的文件有文件分块丢失,则判断客户端的硬件资源是否符合设定的硬件性能要求;
[0018](7)若客户端的硬件资源不符合设定的硬件性能要求,则编码冗余存储系统服务器端利用内部计算资源对丢失的文件分块进行重构,将恢复出的文件分块提供给客户端;若客户端的硬件资源符合设定的硬件性能要求,则进入步骤(8);
[0019](8)询问客户端是否愿意参与丢失文件分块的恢复;
[0020](9)若客户端愿意参与丢失文件分块的恢复,则客户端下载相关文件分块与可以满足恢复丢失文件分块的校验数据分块,对丢失的文件分块进行恢复。若客户端不愿意参与丢失文件分块的恢复,则编码冗余存储系统服务器端利用内部计算资源对丢失的文件分块进行重构。
[0021]进一步地,对丢失的文件分块进行恢复后,该针对编码冗余存储系统的自适应数据重构方法还包括如下步骤:
[0022]计算重构的文件分块的哈希值;
[0023]将该重构文件分块的哈希值上传至服务器端;
[0024]服务器端比较重构文件分块的哈希值与对应丢失的原文件分块的哈希值是否相同;
[0025]若重构文件分块的哈希值与对应丢失的原文件分块的哈希值相同,则允许客户端上传重构的文件分块;
[0026]客户端上传该重构的文件分块;
[0027]服务器端计算该上传文件分块的哈希值,并与对应丢失的原文件分块的哈希值进行比对;
[0028]若上传文件分块的哈希值与对应丢失的原文件分块的哈希值相同时,服务器端保存该上传的文件分块,并将该上传文件分块对应的哈希值设置为可用。
[0029]相对于现有技术,首先,本发明在存储系统体系结构上提出了一种基于对等结构的分布式存储与重构方式,利用了散布广泛客户端的计算能力,使得系统尽可能少的利用数据中心服务器端内部有限的网络带宽及计算资源来实现丢失数据的译码重构,而是根据客户对文件的需求特点将丢失文件分块的恢复功能部分的迁移到了客户端,从而减弱了系统恢复数据时各节点并发读入现象对集群内部网络的影响,从体系结构设计的角度解决了纠删码冗余策略在恢复文件时的维护带宽问题,具体地说,当系统中出现节点损毁或数据丢失时,系统会根据客户端的需要和相关硬件性能确定是由系统内部自行恢复还是由客户端来对数据进行恢复。当利用客户端对数据进行重构时,客户端会计算重构出的丢失数据的哈希值,并将该值发送到服务器端,经服务器端确认该哈希值后,客户端将上传该重构出的数据块;其次,本发明通过记录存储文件及每个文件分块的哈希值,并根据系统的运行与客户端的情况来选择相应的文件存储方法与丢失文件分块的重构方法,降低文件分块重构过程对系统集群内部传输及前台应用的I/o性能的影响,进而降低数据中心因重构数据带来的网络带宽压力和计算压力。
【专利附图】

【附图说明】
[0030]图1是本发明针对编码冗余存储系统的自适应数据重构方法流程图
[0031]图2是本发明针对编码冗余存储系统的自适应数据重构方法客户端数据恢复示意图
【具体实施方式】
[0032]下面结合附图,详细说明本发明的【具体实施方式】。
[0033]本发明针对利用编码冗余策略作为基础存储架构的数据存储中心,设计了一种数据存储中心系统,即客户端与分布广泛的客户端之间协同进行的数据重构方式。编码冗余存储系统由服务器端和分布广泛的客户端组成。数据存储系统的基础存储架构由编码策略实现,这种编码策略不限于某一种特定的编码方式,如RS编码方法、EVEN0DD编码方法等均可。
[0034]本发明提出了一种针对编码冗余存储系统的自适应数据存储方法,当客户端向服务器端提出文件存储需求时,该针对编码冗余存储系统的自适应数据存储方法包括如下步骤(I)至步骤⑶:
[0035](I)客户端计算待存储文件的哈希值,将待存储文件的哈希值上传至服务器端。利用现有的哈希算法将任意长度的二进制值映射为固定长度(125或250位)的由字母和数字组成的字符串,这个具有固定长度的字符串即为哈希值。哈希值是一段数据唯一且极其紧凑的数值表示形式。一个文件对应一个哈希值,不同的数据经过转换后,哪怕两个文件之间只差一个字符,其哈希值都是不同的。在客户端计算待存储文件的哈希值之前,可先由服务器端询问客户端是否愿意计算待存储文件的哈希值,若客户端不愿对待存储文件的哈希值进行计算,则服务器端将接受上传待存储文件,并计算该文件的哈希值。若客户端愿意对待存储文件的哈希值进行计算,则由客户端计算待存储文件的哈希值。
[0036](2)将待存储文件的哈希值与服务器端已经存储的文件的哈希值进行比对。
[0037](3)若出现相同的哈希值,则服务器端不接受待存储文件的上传;针对待存储文件直接上传服务器端,由服务器端计算该待存储文件的哈希值的情况,若出现相同的哈希值,则将已上传的待存储文件进行删除。在文件上传之前先利用哈希值进行验证,可避免不同客户重复上传同样的文件,进而降低存储系统内部的数据冗余度。服务器端虽不接受具有相同哈希值的待存储文件的上传,但服务器端接受客户端上传的关于存储文件的文件信息,存储文件的文件信息是指文件的名称、文件的大小、文件的类型等文件标注信息。并建立该文件信息与已经存储的具有相同哈希值的文件的关联,以便客户端可以按其规定的特征来识别该文件。如用户A和用户B具有一段相同的视频,但是他们的视频的文件名称不同,首先利用哈希算法获得的哈希值判别这两个视频是否相同,若相同,则不接受第二位用户上传的视频文件,但接受第二位用户上传文件的文件信息,即也会按照第二位客户上传文件的信息进行标记,此时存储系统中只有一份该视频文件,但有两份与该视频文件关联的文件信息;
[0038]若服务器端经过查询已经存储的哈希值表,未出现相同的哈希值,则服务器端接受该待存储文件的上传,并存储该文件的哈希值,同时将上传的文件进行分块,计算并存储各文件分块的哈希值,每一个文件分块都对应一个哈希值,文件分块的哈希值主要是用来检验后续客户端上传的重构好的文件分块是否是丢失的文件分块,文件分块所具有的哈希值是整个文件哈希值的备份。另外将各文件分块进行编码产生校验数据分块,可以采用已有的STAR码、EVEN0DD码或其它的编码方法来产生校验数据分块。
[0039]本发明还提出一种针对编码冗余存储系统的自适应数据重构方法,如图1所示,该针对编码冗余存储系统的自适应数据重构方法包括如下步骤SI至S15:
[0040]S1、系统检测模块输出,即系统开始运行。
[0041]S2、系统运行时实时检测编码冗余存储系统服务器端是否有存储节点损毁。当有存储节点损毁时,系统将损毁存储节点的文件分块对应的哈希值标记为丢失状态,并进入步骤S3,若无存储节点损毁时,则进入步骤S15,退出恢复模式。
[0042]S3、判断损毁的存储节点数是否大于系统的设定值,该系统的设定值根据编码冗余存储系统所使用的编码方法进行设定,必须在编码所允许的容灾范围内。每一种编码方法都会有一个容错界限,如RS码可以容许50%的存储节点损毁,因而,设定值可以根据编码容错的界限,在界限以下进行设定。当损毁的存储节点数大于系统的设定值时,进入步骤S4,当损毁的存储节点数不大于,即小于或等于系统的设定值时,进入步骤S6。
[0043]S4、进入集群节点整体恢复模式,即编码冗余存储系统服务器端利用内部计算资源对丢失的文件分块进行重构。
[0044]S5、判断是否恢复完毕,若恢复完毕,则进入步骤S15,退出恢复模式,若未恢复完毕,则返回步骤S3。
[0045]S6、实时判断是否有客户端提出读取文件请求,若有客户端提出读取文件请求,则进入步骤S7,若无客户端提出读取文件请求,则返回步骤S2 ;
[0046]S7、判断待读取的文件是否完整,即是否有文件分块丢失,若待读取的文件有文件分块丢失,则进入步骤S8,若待读取的文件无文件分块丢失,则进入步骤S15,退出恢复模式,客户端可直接读取文件。
[0047]S8、判断客户端的硬件资源是否符合设定的硬件性能要求,此处主要根据客户端的硬件配置情况来确定在该种配置情况下对丢失数据恢复,是否会给客户端正常运行的程序带来影响,或者较大影响机器运行性能。若客户端的硬件资源不符合设定的硬件性能要求,则进入步骤S9。若客户端的硬件资源符合设定的硬件性能要求,则进入步骤S11。
[0048]S9、进入集群单文件恢复模式,即编码冗余存储系统服务器端利用内部计算资源对丢失的文件分块进行重构,将恢复出的文件分块提供给客户端。
[0049]S10、判断是否恢复完毕,若恢复完毕,则进入步骤S15,退出恢复模式,若未恢复完毕,则返回步骤S9。
[0050]S11、询问客户端是否愿意参与丢失文件分块的恢复。若客户端愿意参与丢失文件分块的恢复,则进入步骤S12,若客户端不愿意参与丢失文件分块的恢复,则进入步骤S9,由服务器端进行丢失文件分块的恢复。
[0051]S12、客户端下载相关文件分块与可以满足恢复丢失文件分块的校验数据分块,对丢失的文件分块进行恢复。客户端对丢失的文件分块进行恢复后,对重构的文件分块进行验证,方法为:计算重构的文件分块的哈希值;客户端将该重构文件分块的哈希值上传至服务器端;服务器端检验该哈希值是否正确,即比较重构文件分块的哈希值与对应丢失的原文件分块的哈希值是否相同;若重构文件分块的哈希值与对应丢失的原文件分块的哈希值相同,说明该客户端拟上传的重构文件分块是与丢失的原文件分块完全一致,则允许客户端上传重构的文件分块并进入步骤S13 ;若重构文件分块的哈希值与对应丢失的原文件分块的哈希值不相同,说明该客户端拟上传的重构文件分块不是丢失的原文件分块,则不允许客户端上传重构的文件分块。
[0052]S13、客户端上传重构的文件分块。
[0053]S14、判断重构的文件分块是否上传完毕,服务器端计算该上传文件分块的哈希值,并与对应丢失的原文件分块的哈希值进行比对;若上传文件分块的哈希值与对应丢失的原文件分块的哈希值相同时,说明该客户端上传的重构文件分块与丢失的原文件分块完全一致,服务器端保存该上传的文件分块,并将该文件分块对应的哈希值设置为可用。若重构的文件分块上传完毕,则进入步骤S15,退出恢复模式,若重构的文件分块未上传完毕,则返回步骤S13。
[0054]如图2所示,为本发明针对编码冗余存储系统的自适应数据重构方法利用客户端进行数据恢复的示意图。当编码冗余存储系统出现文件分块丢失时,系统既可以采用服务器端内部计算资源对丢失的文件分块进行重构,也可以利用客户端的计算资源进行重构,在利用客户端对丢失的文件分块进行恢复时,系统并不强制客户端对丢失的文件分块进行恢复,而是当客户端具有对丢失文件分块的文件有读取需求时,客户端在下载所需文件的其余完好分块的同时,并下载一定数量的校验数据分块,并最终将丢失的文件分块重构出来,并为客户端自己所用。另外,对重构出的文件分块计算哈希值,客户端将重构文件分块的哈希值上传至服务器端,服务器端通过比对哈希值来判断该客户端拟上传的重构文件分块是与丢失的原文件分块完全一致,若一致,则允许客户端上传重构的文件分块,客户端将重构的文件分块上传至服务器端。
[0055]服务器端在客户端上传文件分块之前和客户端上传文件分块之后,均进行了哈希值的比对。在客户端上传文件分块之前进行哈希值的比对主要为了确保重构的文件分块与丢失的原文件分块完全一致;在客户端上传文件分块之后,服务器端保存文件分块之前进行哈希值的比对,主要是怕上传过程中出现数据丢失或者因其它情况出现的恶意纂改,为保证上传文件的准确性,因此在文件保存前又进行了一次哈希值的对比。[0056]实施例一
[0057]本实施例中,编码冗余存储系统是利用普通PC机搭建,因而,系统将节点失效作为常态来处理。在利用纠删编码重构丢失的文件分块时,根据纠删编码原理,系统需要至少任意m个数据块,即m个文件分块和校验数据分块参与运算才可以恢复丢失的文件分块,因而伴随其产生的基于内部网络的In Cast问题(即由于重构节点需要调用多个文件分块,因而,会出现多个文件分块同时向重构节点集中汇聚,当汇聚节点网卡性能较差时,会出现数据延迟的情况)会严重降低集群内部网络并发传输能力。但是,基于纠多错的纠删编码存储方式,为恢复丢失的文件分块提供了更多的可选恢复策略。为了降低文件分块重构过程对系统集群内部传输及前台应用的I/O性能的影响,本实施例利用散布在客户端大量的计算资源参与丢失文件分块的重构与集群内部,即服务器端集中重构相结合的方式,来实现损毁节点上文件分块的重构。
[0058]由于编码冗余存储系统的客户端可能是硬件性能较好的个人电脑,也可能是性能较差的移动终端。虽然每个客户端节点在网络中都是平等的,但是它们的网络带宽、计算能力、内存大小可能有较大的差异。因而,对于网络带宽较小、计算能力较弱、内存容量较小的节点,如果让其通过客户端恢复方式来读取文件的话,可能具有较差的用户体验。因而,系统必须对 客户端的相关的硬件性能及计算能力进行测试。那些硬件性能及计算能力较好的节点被选为客户端恢复模式的计算节点。这些节点应该具有以下特点:该节点首先具有充足的网络带宽和较小的网络延迟,并有足够的计算能力和内存空间。该节点能够保证稳定的,相对较长的在线时间,不能过于频繁的加入或者离开系统。该节点自主的选择用客户端恢复的方式获取文件,并愿意将重构出的文件分块上传到服务器上。
[0059]本实施例中系统选用的纠删编码参数为(n,k,n_k+l)的MDS码,则该编码最小距离为η-k+l,即若原文件为k个分块,经编码后产生n-k个校验数据分块,则从这η个数据块(文件分块和校验数据分块)中任意取出k个分块便可重构出原文件。
[0060]集群存储系统运行时,对重构临界参数k(ln-m),即系统的设定值进行设置。当集群中损毁存储节点kf < k时,集群管理器(服务器端)并不组织内部节点对损毁存储节点上的数据块进行恢复,而是利用客户对所需求的文件分块进行恢复。由于校验数据分块并不能直接为用户提供可用信息,因而,考虑极端情况为损毁的节点全部为原文件分块所在的节点。则客户在读取某一文件时,需要同时下载集群中所剩余的n-kff原文件分块和kf个校验数据分块,并下载码字信息,重构出损毁的kf个文件分块,并将重构出的文件分块与5下载的n-kf个文件分块,拼接成原文件。同时,客户端将对恢复出的1^个文件分块按照集群系统中文件分块封装的格式再次进行封装,并上传到服务器集群上。文件服务器将计算该文件分块的哈希值,并与已存储的原文件分块的哈希值进行比较,若相同,则存储该分块,若不同则拒绝该文件分块的上传请求。当计算机集群中损毁的节点个数kf超过设置的重构临界参数值k时,服务器将根据未被恢复的文件分块数据量大小及集群内节点运行情况确定集群内恢复策略。文件管理服务器将计算重构所有剩余文件分块所需要的计算量,系统将按照计算量的均衡负载原则,对恢复节点进行任务分配。并将恢复的文件分块再次部署于集群内存储节点上。
[0061]由于本发明恢复模式是将用户重构好的数据重新上传到服务器端,因而上传数据的私密性、完整性、安全性自然就变成为关键问题,同时,网络中存在的恶意节点可能蓄意破坏网络运行协议,破坏节点的正常路由,造成网络瘫痪。或上传带有病毒的文件,造成存储中心的节点出现数据不可用。因此,保证重构数据的私密性、完整性及安全性,发现并隔离不安全节点、拒绝与原文件分块不同的客户端上传文件分块等措施同样是该种恢复模式方法的一个环节。实现时,客户端首先计算已经重构出的文件分块的哈希值,将哈希值上传到服务器端,由于服务器端中已经存储了在最初文件存储时的哈希值库,与库中的对应丢失的文件分块的哈希值进行比对,如果发现客户端重构出的文件分块的哈希值与丢失文件分块的哈希值相同,那么允许客户端上传该文件分块,若客户端重构出的文件分块的哈希值与对应丢失的原文件分块的哈希值不同,说明重构的文件分块不正确,或者该数据已经被恶意篡改,不接收该文件分块。对于重要数据,当文件分块上传完毕时,系统内部需要对已经上传完毕的文件分块进行二次检测,服务器端再次计算该上传文件分块的哈希值,并与对应丢失的原文件分块的哈希值再次比对,检测其是否在上传过程中,受到恶意攻击或者篡改,确保客户端数据的可靠安全。
[0062]由于采用客户端恢复方式,避免了集群内部出现数据的IN CAST现象,在集群出口链接点上,系统只需要与丢失文件分块等量的通信量,系统便可获得完整的原文件。从而避免了基于集群内部网络的IN CAST问题会严重降低并发传输能力的问题,节约了云存储数据中的网络资源和计算资源。
[0063]以上介绍了一种针对编码冗余存储系统的自适应数据存储与重构方法,在构建大数据存储中心,传感器网络方面具有较好的应用价值。本发明并不限定于以上实施例,任何未脱离本发明技术方案,即仅仅对其进行本领域普通技术人员所知悉的改进或变更,均属于本发明的保护范围之内。
【权利要求】
1.一种针对编码冗余存储系统的自适应数据存储方法,所述编码冗余存储系统包含服务器端和客户端,所述客户端向服务器端提出文件存储需求,其特征在于,所述针对编码冗余存储系统的自适应数据存储方法包括如下步骤: (1)所述客户端计算待存储文件的哈希值,将待存储文件的哈希值上传至服务器端; (2)将待存储文件的哈希值与服务器端已经存储的文件的哈希值进行比对; (3)若出现相同的哈希值,则服务器端不接受所述待存储文件的上传,若未出现相同的哈希值,则服务器端接受所述待存储文件的上传,将上传的文件进行分块,计算并存储各文件分块的哈希值,将各文件分块进行编码产生校验数据分块。
2.如权利要求1所述的针对编码冗余存储系统的自适应数据存储方法,其特征在于:所述步骤(1)客户端计算待存储文件的哈希值之前,服务器端询问客户端是否愿意计算待存储文件的哈希值,若客户端不愿意计算所述待存储文件的哈希值,则将待存储文件直接上传服务器端,由服务器端计算所述待存储文件的哈希值。
3.如权利要求2所述的针对编码冗余存储系统的自适应数据存储方法,其特征在于:所述步骤(3)若出现相同的哈希值,则对已经上传的待存储文件进行删除。
4.如权利要求1所述的针对编码冗余存储系统的自适应数据存储方法,其特征在于:当出现相同的哈希值,服务器端不接受所述待存储文件的上传时,服务器端接受客户端上传的关于存储文件的文件信息,并建立所述文件信息与已经存储的具有相同哈希值的文件的关联。
5.一种针对编码冗余存储系统的自适应数据重构方法,其特征在于,所述针对编码冗余存储系统的自适应数据重构方法包括如下步骤: (1)实时检测编码冗余存储系统服务器端是否有存储节点损毁; (2)当有存储节点损毁时,系统将损毁存储节点的文件分块对应的哈希值标记为丢失状态,并判断损毁的存储节点数是否大于系统的设定值; (3)当损毁的存储节点数大于系统的设定值时,编码冗余存储系统服务器端利用内部计算资源对丢失的文件分块进行重构,当损毁的存储节点数不大于系统的设定值时,进入步骤⑷; (4)实时判断是否有客户端提出读取文件请求; (5)若有客户端提出读取文件请求,则判断待读取的文件是否有文件分块丢失; (6)若待读取的文件有文件分块丢失,则判断客户端的硬件资源是否符合设定的硬件性能要求; (7)若客户端的硬件资源不符合设定的硬件性能要求,则编码冗余存储系统服务器端利用内部计算资源对丢失的文件分块进行重构,将恢复出的文件分块提供给客户端;若客户端的硬件资源符合设定的硬件性能要求,则进入步骤(8); (8)客户端下载相关文件分块与可以满足恢复丢失文件分块的校验数据分块,对丢失的文件分块进行恢复。
6.如权利要求5所述的针对编码冗余存储系统的自适应数据重构方法,其特征在于,所述步骤(7)若客户端的硬件资源符合设定的硬件性能要求,则询问客户端是否愿意参与丢失文件分块的恢复,若客户端愿意参与丢失文件分块的恢复,则进入步骤(8),若客户端不愿意参与丢失文件分块的恢复,则编码冗余存储系统服务器端利用内部计算资源对丢失的文件分块进行重构。
7.如权利要求5所述的针对编码冗余存储系统的自适应数据重构方法,其特征在于,所述针对编码冗余存储系统的自适应数据重构方法还包括如下步骤: 对丢失的文件分块进行恢复后,计算重构的文件分块的哈希值; 将所述重构文件分块的哈希值上传至服务器端; 服务器端比较重构文件分块的哈希值与对应丢失的原文件分块的哈希值是否相同; 若重构文件分块的哈希值与对应丢失的原文件分块的哈希值相同,则允许客户端上传重构的文件分块; 客户端上传所述重构的文件分块; 服务器端计算所述上传文件分块的哈希值,并与对应丢失的原文件分块的哈希值进行比对; 若上传文件分块的哈希值与对应丢 失的原文件分块的哈希值相同时,服务器端保存所述上传的文件分块,并将所述上传文件分块对应的哈希值设置为可用。
8.如权利要求5至7任一所述的针对编码冗余存储系统的自适应数据重构方法,其特征在于,所述系统的设定值在编码所允许的容灾范围内。
【文档编号】H04L29/08GK103916483SQ201410175898
【公开日】2014年7月9日 申请日期:2014年4月28日 优先权日:2014年4月28日
【发明者】蒋海波, 李娜, 周星梅, 陈建中, 王晓京 申请人:中国科学院成都生物研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1