一种数据恢复方法及装置制造方法及图纸

技术编号:20025263 阅读:23 留言:0更新日期:2019-01-06 04:18
本申请公开了一种数据恢复方法及装置,包括:在数据恢复过程中的每个恢复周期内,第一存储节点获取已恢复数据的第一数据量,判断其是否达到预设的允许恢复数据量,若是,则暂停数据恢复,其中,允许数据量对应于当前业务场景,该允许恢复数据量为预设的在一个恢复周期内允许恢复的数据量;判断第一存储节点是否达到预设恢复完成条件,如果未达到预设恢复结束条件,则在与该恢复周期相邻的下一个恢复周期内,继续进行数据恢复,并重新执行上述步骤,而如果达到预设恢复结束条件,则结束数据恢复过程。可见,在进行数据恢复时,针对于当前业务场景,限制了第一存储节点的数据恢复速度,从而能够尽可能降低数据恢复过程对于用户业务的影响。

【技术实现步骤摘要】
一种数据恢复方法及装置
本申请涉及数据处理
,特别是涉及一种数据恢复方法及装置。
技术介绍
在分布式共享存储系统中,若集群中存现磁盘故障或者节点故障,比如存储节点上所存储的部分数据出现损坏,为了避免数据丢失,通常需要在短时间内完成对该部分数据的恢复。但是,存储节点进行数据恢复的过程,通常会影响用户业务对于该存储节点上的数据的读写,从而可能会影响当前分布式共享存储系统的性能。而在视频监控和广电媒资等场景中,通常是要求分布式存储系统具有持续稳定的性能,这就意味着在恢复存储节点上的部分数据时,要尽可能的降低数据恢复过程对于用户业务的影响。
技术实现思路
本申请实施例所要解决的技术问题是,提供一种的数据恢复方法及装置,以在保证在完成数据恢复的同时,能够降低数据恢复过程对于用户业务的影响,第一方面,本申请实施例提供了一种数据恢复方法,包括:在数据恢复过程中的每个恢复周期内,第一存储节点获取在所述恢复周期内已恢复数据的第一数据量;若所述第一数据量达到预设的允许恢复数据量,则在所述恢复周期内,所述第一存储节点暂停数据恢复;其中,所述允许恢复数据量为预先设定的在一个恢复周期内允许所述第一存储节点恢复的数据量,所述允许恢复数据量对应于当前业务场景;若所述第一存储节点未达到预设恢复完成条件,则所述第一存储节点在与所述恢复周期相邻的下一个恢复周期内,继续进行数据恢复,并重新执行上述步骤;若所述第一存储节点达到预设恢复完成条件,则所述第一存储节点结束所述数据恢复过程。在一些可能的实施方式中,所述方法还包括:所述第一存储节点获取预先建立的不同业务场景与允许恢复数据量的对应关系;所述第一存储节点根据所述对应关系,确定当前业务场景所对应的允许恢复数据量。在一些可能的实施方式中,在所述恢复周期内已恢复的数据包含多个待恢复对象的数据,所述第一存储节点获取在所述恢复周期内已恢复数据的第一数据量,包括:针对于每个待恢复对象,若获取到所述待恢复对象的数据量大小,则所述第一存储节点将所述待恢复对象的数据量大小计入所述已恢复数据的第一数据量中;针对于每个待恢复对象,若未获取到所述待恢复对象的数据量大小,则所述第一存储节点将与所述待恢复对象对应的预设大小的分配数据量计入所述已恢复数据的第一数据量中。在一些可能的实施方式中,所述方法还包括:所述第一存储节点接收第二存储节点发送的对象消息,所述第二存储节点上存储有所述待恢复数据;所述第一存储节点基于所述对象消息,确定所述待恢复对象实际的数据量大小;所述第一存储节点基于所述待恢复对象实际的数据量大小,对所述已恢复数据的第一数据量进行补偿。在一些可能的实施方式中,所述方法还包括:所述第一存储节点将所述待恢复对象以及所述待恢复对象的数据量大小存储于补偿Map中;或,所述第一存储节点将所述待恢复对象以及与所述待恢复对象对应的分配数据量大小存储于所述补偿Map中;则,所述第一存储节点基于所述待恢复对象实际的数据量大小,对所述已恢复数据的第一数据量进行补偿,包括:所述第一存储节点计算所述补偿Map存储的所述待恢复对象的数据量大小以及所述待恢复对象实际的数据量大小之间的第一补偿值;所述第一存储节点利用所述第一补偿值,对所述已恢复数据的第一数据量进行补偿或,所述第一存储节点计算所述补偿Map存储的与所述待恢复对象对应的分配数据量大小以及所述待恢复对象实际的数据量大小之间的第二补偿值;所述第一存储节点利用所述第二补偿值,对所述已恢复数据的第一数据量进行补偿。此外,本申请实施例还提供给了一种数据恢复装置,所述装置包括:获取模块,用于在数据恢复过程中的每个恢复周期内,获取在所述恢复周期内已恢复数据的第一数据量;暂停模块,用于若所述第一数据量达到预设的允许恢复数据量,则在所述恢复周期内,所述暂停数据恢复;其中,所述允许恢复数据量为预先设定的在一个恢复周期内允许第一存储节点恢复的数据量,所述允许恢复数据量对应于当前业务场景;继续恢复模块,用于若所述第一存储节点未达到预设恢复完成条件,则在与所述恢复周期相邻的下一个恢复周期内,继续进行数据恢复,并重新执行获取模块以及暂停模块;结束模块,用于若所述第一存储节点达到预设恢复完成条件,则结束所述数据恢复过程。在一些可能的实施方式中,所述装置还包括:对应关系获取模块,用于获取预先建立的不同业务场景与允许恢复数据量的对应关系;确定模块,用于根据所述对应关系,确定当前业务场景所对应的允许恢复数据量。在一些可能的实施方式中,在所述恢复周期内已恢复的数据包含多个待恢复对象的数据,所述获取模块,包括:第一计入单元,用于针对于每个待恢复对象,若获取到所述待恢复对象的数据量大小,则将所述待恢复对象的数据量大小计入所述已恢复数据的第一数据量中;第二计入单元,用于针对于每个待恢复对象,若未获取到所述待恢复对象的数据量大小,则将与所述待恢复对象对应的预设大小的分配数据量计入所述已恢复数据的第一数据量中。在一些可能的实施方式中,所述装置还包括:接收模块,用于接收第二存储节点发送的对象消息,所述第二存储节点上存储有所述待恢复数据;数据量确定模块,用于基于所述对象消息,确定所述待恢复对象实际的数据量大小;补偿模块,用于基于所述待恢复对象实际的数据量大小,对所述已恢复数据的第一数据量进行补偿。在一些可能的实施方式中,所述装置还包括:第一存储模块,用于将所述待恢复对象以及所述待恢复对象的数据量大小存储于补偿Map中;或,第二存储模块,用于将所述待恢复对象以及与所述待恢复对象对应的分配数据量大小存储于所述补偿Map中;则,所述补偿模块,包括:第一计算单元,用于计算所述补偿Map存储的所述待恢复对象的数据量大小以及所述待恢复对象实际的数据量大小之间的第一补偿值;第一补偿单元,用于利用所述第一补偿值,对所述已恢复数据的第一数据量进行补偿或,第二计算单元,用于计算所述补偿Map存储的与所述待恢复对象对应的分配数据量大小以及所述待恢复对象实际的数据量大小之间的第二补偿值;第二补偿单元,用于利用所述第二补偿值,对所述已恢复数据的第一数据量进行补偿。在本申请实施例的上述实现方式中,针对于当前业务场景,确定出与该当前业务场景对应的数据恢复速度,即在一个恢复周期内所允许存储节点恢复的数据量,从而在保证在完成数据恢复的同时,能够尽可能降低数据恢复过程对于用户业务的影响。具体的,在数据恢复过程中的每个恢复周期内,需要进行数据恢复的第一存储节点可以获取在该恢复周期内已经恢复的第一数据量,然后可以判断该第一数据量是否达到预设的允许恢复数据量,若是,则在该恢复周期内第一存储节点暂停数据恢复,其中,预设的允许数据量对应于当前业务场景,该允许恢复数据量为预先设定的在一个恢复周期内所允许第一存储节点恢复的数据量;然后,可以判断第一存储节点是否达到预设恢复完成条件,如果未达到预设恢复结束条件,则数据恢复过程尚未结束,第一存储节点可以在与该恢复周期相邻的下一个恢复周期内,继续进行数据恢复,并重新执行上述步骤,而如果达到预设恢复结束条件,则第一存储节点可以结束数据恢复过程。可见,在第一存储节点进行数据恢复时,针对于当前业务场景,限制了在一个恢复周期内第一存储节点所能恢复的数据量,也即限制了第一存储节点的数据恢复速度,基于此,在该恢复周期内除本文档来自技高网...

【技术保护点】
1.一种数据恢复方法,其特征在于,所述方法包括:在数据恢复过程中的每个恢复周期内,第一存储节点获取在所述恢复周期内已恢复数据的第一数据量;若所述第一数据量达到预设的允许恢复数据量,则在所述恢复周期内,所述第一存储节点暂停数据恢复;其中,所述允许恢复数据量为预先设定的在一个恢复周期内允许所述第一存储节点恢复的数据量,所述允许恢复数据量对应于当前业务场景;若所述第一存储节点未达到预设恢复完成条件,则所述第一存储节点在与所述恢复周期相邻的下一个恢复周期内,继续进行数据恢复,并重新执行上述步骤;若所述第一存储节点达到预设恢复完成条件,则所述第一存储节点结束所述数据恢复过程。

【技术特征摘要】
1.一种数据恢复方法,其特征在于,所述方法包括:在数据恢复过程中的每个恢复周期内,第一存储节点获取在所述恢复周期内已恢复数据的第一数据量;若所述第一数据量达到预设的允许恢复数据量,则在所述恢复周期内,所述第一存储节点暂停数据恢复;其中,所述允许恢复数据量为预先设定的在一个恢复周期内允许所述第一存储节点恢复的数据量,所述允许恢复数据量对应于当前业务场景;若所述第一存储节点未达到预设恢复完成条件,则所述第一存储节点在与所述恢复周期相邻的下一个恢复周期内,继续进行数据恢复,并重新执行上述步骤;若所述第一存储节点达到预设恢复完成条件,则所述第一存储节点结束所述数据恢复过程。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:所述第一存储节点获取预先建立的不同业务场景与允许恢复数据量的对应关系;所述第一存储节点根据所述对应关系,确定当前业务场景所对应的允许恢复数据量。3.根据权利要求1所述的方法,其特征在于,在所述恢复周期内已恢复的数据包含多个待恢复对象的数据,所述第一存储节点获取在所述恢复周期内已恢复数据的第一数据量,包括:针对于每个待恢复对象,若获取到所述待恢复对象的数据量大小,则所述第一存储节点将所述待恢复对象的数据量大小计入所述已恢复数据的第一数据量中;针对于每个待恢复对象,若未获取到所述待恢复对象的数据量大小,则所述第一存储节点将与所述待恢复对象对应的预设大小的分配数据量计入所述已恢复数据的第一数据量中。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:所述第一存储节点接收第二存储节点发送的对象消息,所述第二存储节点上存储有所述待恢复数据;所述第一存储节点基于所述对象消息,确定所述待恢复对象实际的数据量大小;所述第一存储节点基于所述待恢复对象实际的数据量大小,对所述已恢复数据的第一数据量进行补偿。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:所述第一存储节点将所述待恢复对象以及所述待恢复对象的数据量大小存储于补偿Map中;或,所述第一存储节点将所述待恢复对象以及与所述待恢复对象对应的分配数据量大小存储于所述补偿Map中;则,所述第一存储节点基于所述待恢复对象实际的数据量大小,对所述已恢复数据的第一数据量进行补偿,包括:所述第一存储节点计算所述补偿Map存储的所述待恢复对象的数据量大小以及所述待恢复对象实际的数据量大小之间的第一补偿值;所述第一存储节点利用所述第一补偿值,对所述已恢复数据的第一数据量进行补偿或,所述第一存储节点计算所述补偿Map存储的与所述待恢复对象对应的分配数据量大小以及所述待恢复对象实际的数据量大小之间的第二补偿值;所述第一存储节点利用所述第二补...

【专利技术属性】
技术研发人员:许银龙
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

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

1