本技术中涉及数据处理技术,尤其是一种故障节点的数据恢复方法、装置、电子设备及介质。
背景技术:
1、在分布式或集中式存储系统中,业务数据会按照其冗余策略分散在不同的目标存储节点上。进一步的,当存储系统检测到某一个存储节点发生故障并解决完毕后,数据需要按照其冗余策略进行自动恢复。因此才能实现在存储节点故障时,仍然能够自动的保证系统中所有业务数据的完整性。
2、其中,对于故障节点的数据恢复过程而言,通常需要先将故障节点中的原有数据全部清除后再从其它存储节点上迁移过来新数据。而该过程会给存储系统造成大量的资源开销,从而可能影响系统的io性能。
3、因此,如何减少存储系统为故障节点的数据恢复过程所造成的资源开销,成为了本领域技术人员需要解决的问题。
技术实现思路
1、本技术实施例提供一种故障节点的数据恢复方法、装置、电子设备及介质。从而解决相关技术中出现的,如何减少存储系统为故障节点的数据恢复过程所造成的资源开销的问题。
2、其中,根据本技术实施例的一个方面,提供的一种故障节点的数据恢复方法,应用于包含目标存储节点的存储系统,所述存储系统为分布式存储系统或集中式存储系统,方法包括:
3、在检测到所述目标存储节点的故障事件消失后,启动用于对所述目标存储节点进行整体数据恢复的完整重构流程;
4、基于所述目标存储节点的故障恢复参数,计算得到所述目标存储节点在所述故障事件期间对应的损失数据;
5、停止所述完整重构流程,并启动用于对所述目标存储节点进行所述损失数据恢复的增量重构流程。
6、可选地,在基于本技术上述方法的另一个实施例中,所述基于所述目标存储节点的故障恢复参数,计算得到所述目标存储节点在所述故障事件期间对应的损失数据,包括:
7、获取在发生所述故障事件时,为所述目标存储节点标记的起始时间点;以及,获取在所述故障事件终止时,为所述目标存储节点标记的终止时间点;
8、基于所述起始时间点与所述终止时间点,确定所述损失数据。
9、可选地,在基于本技术上述方法的另一个实施例中,所述基于所述起始时间点与所述终止时间点,确定所述损失数据,包括:
10、从所述存储系统的集群状态管理模块poolmap中,调取所述目标存储节点在所述起始时间点对应的起始业务版本号,和,调取所述目标存储节点在所述终止时间点对应的终止业务版本号;
11、获取所述poolmap记录的,所述起始业务版本号包含的第一业务数据集合,和,所述终止业务版本号包含的第二业务数据集合;
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、计算模块,被配置为基于所述目标存储节点的故障恢复参数,计算得到所述目标存储节点在所述故障事件期间对应的损失数据;
39、启动模块,被配置为停止所述完整重构流程,并启动用于对所述目标存储节点进行所述损失数据恢复的增量重构流程。
40、根据本技术实施例的又一个方面,提供的一种电子设备,包括:
41、存储器,用于存储可执行指令;以及
42、显示器,用于与所述存储器执行所述可执行指令从而完成上述任一所述故障节点的数据恢复方法的操作。
43、根据本技术实施例的还一个方面,提供的一种计算机可读存储介质,用于存储计算机可读取的指令,所述指令被执行时执行上述任一所述故障节点的数据恢复方法的操作。
44、本技术中,可以在检测到目标存储节点存在故障事件后,启动用于对目标存储节点进行整体数据恢复的完整重构流程;在检测到故障事件消失后,基于目标存储节点的故障恢复参数,计算得到目标存储节点在故障事件期间对应的损失数据;停止完整重构流程,并启动用于对目标存储节点进行损失数据恢复的增量重构流程。
45、通过应用本技术的技术方案,可以在检测到存储系统中的某个存储节点发生故障后,先对其按照整体数据恢复流程进行处理。并在后续处理过程中发现该故障节点恢复正常后,再为其计算出该故障节点在故障事件期间所损失的数据,以使后续针对性的按照该损失数据的恢复流程进行增量重构流程处理。从而一方面避免了当存储系统发生短时故障或故障期间存储节点无新增或少量写入数据时,依然需要对其进行整体数据恢复流程所导致的资源开销较大的弊端。另一方面,通过优先启动故障节点的整体数据恢复流程再对其进行是否满足转换条件的判断,也不会缩短对故障节点进行数据恢复的处理时长。
46、下面通过附图和实施例,对本技术的技术方案做进一步的详细描述。