分布式存储系统中数据副本恢复方法及装置的制造方法

文档序号:8415651阅读:857来源:国知局
分布式存储系统中数据副本恢复方法及装置的制造方法
【技术领域】
[0001]本发明涉及数据存储技术领域,尤其涉及一种分布式存储系统中数据副本恢复方法及装置。
【背景技术】
[0002]现有的多副本分布式存储系统中,每个文件数据以N个副本的方式按照预设节点容量负载均衡策略存放于M台数据节点中(M3 N)。系统中低于N个数据存储节点故障时,可以其它数据副本为源重构恢复出预设数量的其它副本,以保证在分布式存储系统中数据的可靠性符合预设值。
[0003]目前的分布式存储系统中数据副本恢复主要有以下两种方式:
[0004]方式一、
[0005]数据节点故障后马上进行多副本数据重构恢复:每个文件数据以N个副本的方式存放于M台数据节点中(M ^ N), Master (主)节点检测出M台数据节点中任一台数据节点被检测出故障即将该数据节点中丢失的数据副本在其它节点中进行重构恢复,如果该故障节点恢复正常运行状态或加入了新的替代节点,再将新数据节点加入到均衡分布的存储资源池范围。
[0006]方式二、
[0007]在数据节点故障后超过预设时间之后再进行多副本数据重构恢复:每个文件数据以N个副本的方式存放于M台数据节点中(M彡N), Master (主)节点检测出M台数据节点中个别数据节点故障,为保证存储系统对外服务性能最大化或考虑到短时间内故障节点可能恢复或新的替代数据节点可能会加入,因此,不立即执行数据副本重构恢复,而是按照每日定时任务或设定超时阈值的方式等待一定时间后再执行数据副本重构恢复操作。
[0008]上述第一种方式中,其能够保证数据副本数量及时恢复到预设值,但是,若数据节点故障时,存储系统的系统性能负载较高,数据副本恢复操作将会影响存储系统的读写性倉泛。
[0009]上述第二种方式中,其能够保证在存储系统中(N-1)台以内数量的数据节点故障后,不执行数据副本重构恢复任务可保证在预设时间段内不影响系统读写性能,且避免了因为数据节点短停机维护或新数据节点可短时间替代故障节点造成的无效工作,但这种方式没有考虑存储系统中数据可靠性的容忍上限为最多允许(N-1)台以内数量的数据节点故障,如果在存储系统没有执行数据副本重构恢复任务的情况下,预设时间内发生了 N台及以上数据节点故障时,部分数据所有的副本会丢失,影响了存储系统的可靠性。
[0010]因此,如何能够在保证分布式存储系统可靠性的同时,又不影响存储系统的读写性能成为现有技术亟待解决的技术问题之一。

【发明内容】

[0011]本发明实施例提供一种存储系统中数据副本恢复方法及装置,用以在不影响分布式存储系统的读写性能的同时,保证分布式存储系统的可靠性。
[0012]本发明实施例提供一种分布式存储系统中数据副本恢复方法,包括:
[0013]在检测到数据节点故障时,统计故障数据节点的数量;
[0014]根据故障数据节点的数量,执行数据副本恢复操作。
[0015]本发明实施例提供一种分布式存储系统数据副本恢复装置,包括:
[0016]故障检测模块,用于检测故障数据节点;
[0017]故障记录模块,用于在所述故障检测模块检测出数据节点故障时,统计故障数据节点的数量;
[0018]数据副本重构恢复模块,用于根据故障数据节点的数量,执行数据副本恢复操作。
[0019]本发明实施例提供的分布式存储系统中数据副本恢复方法及装置,在检测到数据节点故障时,统计故障数据节点的数据量,并根据故障数据节点的数量执行数据副本恢复操作。由于本发明实施例中,根据故障数据节点的数量来执行数据副本恢复操作,既不是一出现故障节点便立即恢复,也不是周期性的对故障节点恢复,这样,能够同时兼顾分布式存储系统的可靠性和读写性能,在不影响读写性能的同时,保证分布式存储系统的可靠性。
[0020]本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
【附图说明】
[0021]此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0022]图1为本发明实施例中,分布式存储系统中数据副本恢复方法的实施流程示意图;
[0023]图2为本发明实施例中,分布式存储系统中数据副本恢复装置的结构示意图。
【具体实施方式】
[0024]为了在不影响分布式存储系统读写性能的同时,保证分布式存储系统的可靠性。
[0025]以下结合说明书附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明,并且在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
[0026]如图1所示,为本发明实施例提供的分布式存储系统中数据副本恢复方法的实施流程示意图,可以包括以下步骤:
[0027]S101、在检测到数据节点故障时,统计故障数据节点的数量;
[0028]具体实施时,由于分布式存储系统对上层应用提供数据读写服务,并确保数据以多副本方式存储在不同的数据节点中,来确保个别数据节点故障时数据的可靠性。由于上层应用可以读取分布式存储系统指定的任一数据节点上的数据本,因此,个别数据节点故障或数据副本恢复操作都会改变数据文件可以读写的节点范围,这个读写范围需要实时更新并通知分布式存储系统的Master节点。因此,分布式存储系统检测出有故障数据节点时,不仅需要统计故障数据节点的数量,同时,为了避免系统从故障数据节点上读写数据,需要即时更新可用数据节点范围。具体实施时,更新可用数据节点范围的操作可与统计故障数据节点数量的操作同时执行,也可以先于统计故障节点数量的操作执行,当然也可以在统计故障数据节点数量操作执行,本发明实施例对此不做限定。
[0029]S102、根据故障数据节点的数量,执行数据副本恢复操作。
[0030]为了实现在不影响分布式存储系统读写性能的同时,保证分布式存储系统的可靠性的目的,本发明实施例中,可根据存储数据的重要性预设故障数据节点数量阈值R,当存储数据副本数量设定为N时(N > 2时数据副本才具有冗余性,一般设定为3或者更高),其中,I彡R彡(N-1),当R=I时即为有一个数据节点故障即开始执行数据副本恢复操作,而当RXN-1)时可能出现数据副本丢失的风险。
[0031]具体实施时,故障数据节点数量越多,表明数据丢失的风险就越大,当故障数据节点为R时表明分布式存储系统存储的数据副本达到预设的最高风险等级,当故障数据节点数量为(N-1)时表明分布式存储系统数据达到了事实上的最高风险等级,在这两种情况下应立即进行数据副本恢复操作,降低了潜在的数据副本丢失风险。本发明实施例中,当故障节点数量达到预设故障节点数量阈值R时,可以按照数据副本在故障数据节点中的重复度执行数据副本恢复操作,即根据数据副本在所有故障数据节点的存储数量执行数据副本恢复操作。较佳的,本发明实施例中,针对分布式存储系统时存储的每一数据副本,在该数据副本写入分布式存储系统时记录该数据副本的数量信息;若该数据副本所在数据节点故障,或者在执行数据副本恢复之后更新记录的数量信息;这样,分布式存储系统在执行数据副本恢复操作时,可以针对各故障节点所存储的每一数据副本,根据记录的该数据副本的数量信息,按照数量由多至少的顺序,依次对每一数据副本进行恢复。
[0032]例如,假设预先设定的故障数据节点数量阈值为5,即当分布式存储系统中存在5台故障数据节点时,需要执行数据副本恢复操作。若数据I存储在5台故障节点中的4台故障数据节点上,数据2存储于5台故障节点中的3台故障数据节点上,数据3存储在5台故障节点中的2台故障数据节点上,则分布式存储系统首先对数据I执行数据副本恢复操作,再对数据2执行数据副本恢复操作,最后执行数据3执行数据副本恢复操作。即本发明实施例中,分布式存储系统优先恢复多台故障数据节点中共同存储的数据副本。
[0033]若故障数据节点未达到预设的故障节点阈值时,表明分布式存储系统数据副本没有达到预设最高风险阈值,其能够容忍一定数量的数据节点故障而不会丢失数据,这种情况下,本发明实施例中可以根据分布式存储系统的性能指标参数执行数据副本恢复操作。其中,性能指标参数包括分布式存储系统的数据存储1带宽和/或分布式存储系统的数据读写时延,若分布式存储系统的数据存储1带宽不超过预设带宽阈值和/或分布式存储系统的数据读写时延不超过预设时延阈值时,可以执行数据副本恢复操作。
[0034]本发明实施例中,当数据副本可靠性处于低风险状态(即故障数据节点数量未达到预设故障节点数量阈值)时,检测分布式存储系统的性能指标参数,可以包括分布式存储系统的数据存储10(输入/输出)带宽和/或分布式存储系统的数据读写时延,若分布式存储系统的数据存储1带宽不超过预设带宽阈值和/或分布式存储系统的数据读写时延不超过预设时延阈值时,可以执行数据副本恢复操作;若分布式存储系统的数据存储1带宽超过预设带宽阈值和/或分布式存储系统的数据读写时延超过预设时延阈值时,则不执行数据副本恢复操作,确保分布式存储系统的读写性能,同时,可以继续执行数据存储1带宽以及数据读写时延,当其满足条件时,再执行数据副本恢复操作,从而能够保证分布式存储系统
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1