System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及存储,尤其涉及一种故障节点数据恢复方法、装置、电子设备及存储介质。
技术介绍
1、云存储和大数据是构建在分布式存储之上的应用。云存储的核心是后端的大规模分布式存储系统。大数据则更近一步,不仅需要存储海量数据,还需要通过合适的计算框架或者工具对这些数据进行分析,抽取其中有价值的部分。在分布式存储系统中,业务数据会按照其冗余策略分散在不同的目标存储节点上。进一步地,当存储系统检测到某一个存储节点发生故障并解决完毕后,数据需要按照其冗余策略进行恢复。因此才能实现在存储节点故障时,仍然能够保证分布式存储系统中所有业务数据的完整性。
2、目前,分布式存储环境下的磁盘故障恢复方案包括:在磁盘故障的目标存储节点上,运行故障注入指令;故障注入程序收到故障注入指令后,对故障注入指令进行解析,确定故障目标磁盘和磁盘故障类型;根据故障目标磁盘和磁盘故障类型,执行对应的故障注入指令;检测到故障恢复指令时,自动执行将故障节点中的原有数据全部清除及磁盘恢复动作。
3、然而,该方案的故障节点数据恢复过程,通常需要先将故障节点中的原有数据全部清除后再从其它存储节点上迁移过来新数据。而该过程对故障节点进行数据恢复处理耗时很长且会给存储系统造成极大的资源开销,从而可能影响系统的输入/输出(input/output,i/o)性能。
技术实现思路
1、本申请的目的是提供一种故障节点数据恢复方法、装置、电子设备及存储介质,用于大大减少故障节点数据恢复时长和存储系统的资源开销,从而避免对系统
2、本申请提供一种故障节点数据恢复方法,包括:
3、基于故障节点的故障发生时间和故障解决时间,确定故障时间区间;
4、从增量数据备份节点中获取所述故障时间区间内的所有增量数据块,从全量数据备份节点中获取所述故障时间区间内的所有全量数据块;
5、将所述故障时间区间内的所述增量数据块和/或所述全量数据块复制到所述故障节点中,以恢复所述故障节点缺失的数据;
6、其中,所述增量数据块包括目标数据容量的新增数据以及所述新增数据的开始备份时间和结束备份时间;所述全量数据块包括目标时间间隔内各所述增量数据块的所述新增数据、第一个所述增量数据块的所述开始备份时间和最后一个所述增量数据块的所述结束备份时间。
7、可选地,还包括:
8、基于业务数据量确定所述目标数据容量;
9、在新增的数据每次增长的过程中,将本次新增的第一个数据的产生时间确定为所述新增数据的所述开始备份时间,将本次新增的数据增长到所述目标数据容量时的时间确定为所述新增数据的所述结束备份时间;
10、将所述目标数据容量的新增数据以及所述新增数据的所述开始备份时间和所述结束备份时间作为所述增量数据块;
11、将所述增量数据块保存到所述增量数据备份节点中。
12、可选地,还包括:
13、基于业务数据量确定所述目标时间间隔;
14、针对每个所述目标时间间隔,将所述目标时间间隔内所述增量数据备份节点中新增的各所述增量数据块的所述新增数据、第一个所述增量数据块的所述开始备份时间和最后一个所述增量数据块的所述结束备份时间合成为所述全量数据块;
15、将所述全量数据块移入所述全量数据备份节点中。
16、可选地,还包括:
17、基于业务数据量确定所述增量数据块全部清除的目标时间周期;
18、针对每个所述目标时间周期,将所述目标时间周期内所述增量数据备份节点中的各所述增量数据块进行清除。
19、可选地,所述从增量数据备份节点中获取所述故障时间区间内的所有增量数据块,从全量数据备份节点中获取所述故障时间区间内的所有全量数据块,包括:
20、获取所述增量数据备份节点中未被清除的所有增量数据块;
21、获取所述全量数据备份节点中的所有全量数据块;
22、将获取的各所述增量数据块和各所述全量数据块按照所述开始备份时间进行排序,得到数据块序列;其中,在排序过程中,当所述全量数据块和相应的所述增量数据块同时存在时,将所述全量数据块设置于所述目标时间间隔内最后一个所述增量数据块之后;
23、从所述数据块序列中筛选出所述故障时间区间内的目标数据块序列。
24、可选地,所述将所述故障时间区间内的所述增量数据块和/或所述全量数据块复制到所述故障节点中,包括:
25、启动多线程将所述目标数据块序列中的所述增量数据块和/或所述全量数据块并行复制到所述故障节点中。
26、可选地,所述启动多线程将所述目标数据块序列中的所述增量数据块和/或所述全量数据块并行复制到所述故障节点中,包括:
27、在所述目标数据块序列中仅存在所述增量数据块的情况下,启动多线程将所述目标数据块序列中的所有增量数据块并行复制到所述故障节点中;
28、在所述目标数据块序列中仅存在所述全量数据块的情况下,启动多线程将所述目标数据块序列中的所有全量数据块并行复制到所述故障节点中;
29、在所述目标数据块序列中同时存在所述增量数据块和所述全量数据块的情况下,确定所述目标数据块序列中的最后一个数据块为所述增量数据块或所述全量数据块;
30、在所述目标数据块序列中的最后一个数据块为所述全量数据块的情况下,启动多线程将所述目标数据块序列中的所有全量数据块并行复制到所述故障节点中;
31、在所述目标数据块序列中的最后一个数据块为所述增量数据块的情况下,启动多线程将所述目标数据块序列中的所有全量数据块和最后一个所述全量数据块之后的所有增量数据块并行复制到所述故障节点中。
32、本申请还提供一种故障节点数据恢复装置,包括:
33、确定模块,用于基于故障节点的故障发生时间和故障解决时间,确定故障时间区间;
34、获取模块,用于从增量数据备份节点中获取所述故障时间区间内的所有增量数据块,从全量数据备份节点中获取所述故障时间区间内的所有全量数据块;
35、恢复模块,用于将所述故障时间区间内的所述增量数据块和/或所述全量数据块复制到所述故障节点中,以恢复所述故障节点缺失的数据;
36、其中,所述增量数据块包括目标数据容量的新增数据以及所述新增数据的开始备份时间和结束备份时间;所述全量数据块包括目标时间间隔内各所述增量数据块的所述新增数据、第一个所述增量数据块的所述开始备份时间和最后一个所述增量数据块的所述结束备份时间。
37、本申请还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述的故障节点数据恢复方法的步骤。
38、本申请还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述的故障节点数据恢复方法的步本文档来自技高网...
【技术保护点】
1.一种故障节点数据恢复方法,其特征在于,包括:
2.根据权利要求1所述的故障节点数据恢复方法,其特征在于,还包括:
3.根据权利要求1所述的故障节点数据恢复方法,其特征在于,还包括:
4.根据权利要求1所述的故障节点数据恢复方法,其特征在于,还包括:
5.根据权利要求1所述的故障节点数据恢复方法,其特征在于,所述从增量数据备份节点中获取所述故障时间区间内的所有增量数据块,从全量数据备份节点中获取所述故障时间区间内的所有全量数据块,包括:
6.根据权利要求5所述的故障节点数据恢复方法,其特征在于,所述将所述故障时间区间内的所述增量数据块和/或所述全量数据块复制到所述故障节点中,包括:
7.根据权利要求6所述的故障节点数据恢复方法,其特征在于,所述启动多线程将所述目标数据块序列中的所述增量数据块和/或所述全量数据块并行复制到所述故障节点中,包括:
8.一种故障节点数据恢复装置,其特征在于,包括:
9.一种电子设备,其特征在于,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的
10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的故障节点数据恢复方法的步骤。
...【技术特征摘要】
1.一种故障节点数据恢复方法,其特征在于,包括:
2.根据权利要求1所述的故障节点数据恢复方法,其特征在于,还包括:
3.根据权利要求1所述的故障节点数据恢复方法,其特征在于,还包括:
4.根据权利要求1所述的故障节点数据恢复方法,其特征在于,还包括:
5.根据权利要求1所述的故障节点数据恢复方法,其特征在于,所述从增量数据备份节点中获取所述故障时间区间内的所有增量数据块,从全量数据备份节点中获取所述故障时间区间内的所有全量数据块,包括:
6.根据权利要求5所述的故障节点数据恢复方法,其特征在于,所述将所述故障时间区间内的所述增量数据块和/或所述全量数据块复制到所...
【专利技术属性】
技术研发人员:尹云峰,宋凯,徐国振,苏志远,
申请(专利权)人:苏州元脑智能科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。