从副本节点的数据恢复方法、装置、电子设备和可读介质制造方法及图纸

技术编号:33392213 阅读:12 留言:0更新日期:2022-05-11 23:09
本公开提供一种从副本节点的数据恢复方法、装置、电子设备和可读介质,其中,从副本节点的数据恢复方法包括:响应于主副本节点的日志同步指令,确定待恢复的日志数据;将所述日志数据写入所述副本节点的日志空间,并确定所述日志数据与所述从副本节点的数据文件之间的对应关系;检测所述数据文件的数据恢复状态;根据所述数据恢复状态确定所述数据文件的恢复数据优先级或丢弃对应的日志数据。通过本公开实施例,降低了应用日志的延时,减少了日志文件的积压,也解决了数据恢复失败的问题。也解决了数据恢复失败的问题。也解决了数据恢复失败的问题。

【技术实现步骤摘要】
从副本节点的数据恢复方法、装置、电子设备和可读介质


[0001]本公开涉及数据恢复
,具体而言,涉及一种从副本节点的数据恢复方法、装置、电子设备和可读介质。

技术介绍

[0002]目前,分布式存储系统采用多副本的方式来保证数据可靠性,多个副本组成一个副本组,每一个副本组设定一个主副本(节点),其他副本作为从副本(节点),主副本接收到用户的数据后,生成一条日志,写入主副本的日志文件,同时同步到其他从副本。
[0003]在相关技术中,当出现副本故障时,需要删除故障副本,增加新副本并恢复数据,以保证数据可靠性,新副本在恢复全量数据时,以数据文件为单位逐个恢复,单个数据文件按数据块顺序恢复。
[0004]但是,当日志文件对应的数据块还没有恢复时,需要优先恢复该日志对应的数据块,增加了日志应用的延时,从而导致日志积压。尤其是在用户写入的IOPS(Input/Output Operations Per Second,对计算机存储设备每秒的读写次数)越高时,该问题越严重,如果新副本的日志积压过多,衔接不上主副本最早的日志(日志空间有限,日志应用后,空间会回收再重复使用),那么本次数据恢复就失败了,需要重新启动数据恢复流程。
[0005]需要说明的是,在上述
技术介绍
部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。

技术实现思路

[0006]本公开的目的在于提供一种从副本节点的数据恢复方法、装置、电子设备和可读介质,用于至少在一定程度上克服由于相关技术的限制和缺陷而导致的日志恢复过程中日志应用时延高的问题。
[0007]根据本公开实施例的第一方面,提供一种从副本节点的数据恢复方法,包括:响应于主副本节点的日志同步指令,确定待恢复的日志数据;将所述日志数据写入所述副本节点的日志空间,并确定所述日志数据与所述从副本节点的数据文件之间的对应关系;检测所述数据文件的数据恢复状态;根据所述数据恢复状态确定所述数据文件的恢复数据优先级或丢弃对应的日志数据。
[0008]在本公开的一种示例性实施例中,根据所述数据恢复状态确定所述数据文件的恢复数据优先级或丢弃对应的日志数据包括:若检测到第一数据文件的数据恢复状态为已恢复完成,则确定订单第一数据文件对应的第一日志数据;将所述第一日志数据应用到所述第一数据文件对应的数据块,所述数据文件包括所述第一数据文件。
[0009]在本公开的一种示例性实施例中,根据所述数据恢复状态确定所述数据文件的恢复数据优先级或丢弃对应的日志数据还包括:若检测到第二数据文件的数据恢复状态为正在恢复完成,则确定优先恢复所述第二数据文件对应的数据块;确定所述第二数据文件对应的第二日志数据;在完成所述第二日志数据的恢复后,将所述第二日志数据应用到所述
第二数据文件对应的数据块,所述数据文件包括所述第二数据文件,所述日志文件包括所述第二日志数据。
[0010]在本公开的一种示例性实施例中,根据所述数据恢复状态确定所述数据文件的恢复数据优先级或丢弃对应的日志数据还包括:若检测到第三数据文件的数据恢复状态为未开始恢复,则确定所述第三数据文件对应的第三日志数据;确定丢弃所述第三日志数据,所述数据文件包括所述第三数据文件,所述日志文件包括所述第三日志数据。
[0011]在本公开的一种示例性实施例中,还包括:若检测到所述第三数据文件的数据恢复状态为开始恢复,则向所述主副本节点请求获取待同步的日志数据。
[0012]在本公开的一种示例性实施例中,在响应于主副本节点的日志同步指令前,还包括:确定一个副本组中包括的一个所述主副本节点和至少一个所述从副本节点;响应于客户端的读写请求,建立所述客户端与所述主副本之间的连接;检测到所述主副本节点的更新数据,生成所述更新数据对应的日志数据;向所述主副本节点请求所述更新数据对应的日志数据,并对所述更新数据对应的日志数据进行同步。
[0013]在本公开的一种示例性实施例中,还包括:在完成对所述更新数据对应的日志数据的同步恢复后,向所述主副本节点反馈日志同步完成的指令,以供所述主副本节点根据完成日志同步的从副本节点的数量确定是否将同步的日志数据应用到所述从副本节点。
[0014]根据本公开实施例的第二方面,提供一种从副本节点的数据恢复装置,包括:确定模块,设置为响应于主副本节点的日志同步指令,确定待恢复的日志数据;写入模块,设置为将所述日志数据写入所述副本节点的日志空间,并确定所述日志数据与所述从副本节点的数据文件之间的对应关系;检测模块,设置为检测所述数据文件的数据恢复状态;所述确定模块,设置为根据所述数据恢复状态确定所述数据文件的恢复数据优先级或丢弃对应的日志数据。
[0015]根据本公开的第三方面,提供一种电子设备,包括:存储器;以及耦合到所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行如上述任意一项所述的方法。
[0016]根据本公开的第四方面,提供一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现如上述任意一项所述的从副本节点的数据恢复方法。
[0017]本公开实施例,通过响应于主副本节点的日志同步指令,确定待恢复的日志数据,进而将所述日志数据写入所述副本节点的日志空间,并确定所述日志数据与所述从副本节点的数据文件之间的对应关系,若检测所述数据文件的数据恢复状态,则根据所述数据恢复状态确定所述数据文件的恢复数据优先级或丢弃对应的日志数据,降低了日志恢复过程中日志应用时延,新副本在恢复数据期间应用日志时,只有正在恢复的一个数据文件会有延时,日志落在没有开始恢复的数据文件上时,直接丢弃,连正常应用日志的延时都没有了,因此,日志文件不再有积压,紧随主副本的日志进行恢复和同步,也解决了数据恢复失败的问题。
[0018]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
[0019]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0020]图1示出了可以应用本专利技术实施例的从副本节点的数据恢复方案的系统架构的示意图;
[0021]图2是本公开中的一种示例性实施例从副本节点的数据恢复方法的流程图;
[0022]图3是本公开中的另一种示例性实施例从副本节点的数据恢复方法的流程图;
[0023]图4是本公开中的另一种示例性实施例从副本节点的数据恢复方法的流程图;
[0024]图5是本公开中的另一种示例性实施例从副本节点的数据恢复方法的流程图;
[0025]图6是本公开中的另一种示例性实施例从副本节点的数据恢复方法的流程图;
[0026]图7是本公开中的另一种示例性实施例从副本节点的数据恢复方法的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种从副本节点的数据恢复方法,其特征在于,包括:响应于主副本节点的日志同步指令,确定待恢复的日志数据;将所述日志数据写入所述副本节点的日志空间,并确定所述日志数据与所述从副本节点的数据文件之间的对应关系;检测所述数据文件的数据恢复状态;根据所述数据恢复状态确定所述数据文件的恢复数据优先级或丢弃对应的日志数据。2.如权利要求1所述的从副本节点的数据恢复方法,其特征在于,根据所述数据恢复状态确定所述数据文件的恢复数据优先级或丢弃对应的日志数据包括:若检测到第一数据文件的数据恢复状态为已恢复完成,则确定订单第一数据文件对应的第一日志数据;将所述第一日志数据应用到所述第一数据文件对应的数据块,所述数据文件包括所述第一数据文件。3.如权利要求1所述的从副本节点的数据恢复方法,其特征在于,根据所述数据恢复状态确定所述数据文件的恢复数据优先级或丢弃对应的日志数据还包括:若检测到第二数据文件的数据恢复状态为正在恢复完成,则确定优先恢复所述第二数据文件对应的数据块;确定所述第二数据文件对应的第二日志数据;在完成所述第二日志数据的恢复后,将所述第二日志数据应用到所述第二数据文件对应的数据块,所述数据文件包括所述第二数据文件,所述日志文件包括所述第二日志数据。4.如权利要求1所述的从副本节点的数据恢复方法,其特征在于,根据所述数据恢复状态确定所述数据文件的恢复数据优先级或丢弃对应的日志数据还包括:若检测到第三数据文件的数据恢复状态为未开始恢复,则确定所述第三数据文件对应的第三日志数据;确定丢弃所述第三日志数据,所述数据文件包括所述第三数据文件,所述日志文件包括所述第三日志数据。5.如权利要求4所述的从副本节点的数据恢复方法,其特征在于,还包括:若检测到所述第三数据文件的数据恢复状态为开始恢复,则向所述主副本节点...

【专利技术属性】
技术研发人员:张永锋
申请(专利权)人:京东科技信息技术有限公司
类型:发明
国别省市:

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

1