一种应用于数据库的数据恢复方法及装置制造方法及图纸

技术编号:20622043 阅读:24 留言:0更新日期:2019-03-20 14:11
本发明专利技术公开了一种应用于数据库的数据恢复方法及装置。所述方法包括:至少根据接收到的数据恢复请求中包括的数据恢复的时间点以及预先存储的多个备份数据的备份时间点,确定目标备份时间点,若确定目标备份时间点位于数据恢复的时间点之后,则可以对目标备份时间点与数据恢复的时间点之间的对应的日志记录进行逆向解析,进而可以执行数据恢复。相比于现有技术中直接选择位于数据恢复的时间点之前的备份时间点的方式而言,本发明专利技术实施例扩大了的目标备份时间点的可选择性,从而使得在执行数据恢复的过程中,能够更加合理地选择目标备份时间点,进而缩短数据恢复的时长。

A Data Recovery Method and Device Applied to Database

The invention discloses a data recovery method and device applied to a database. The method includes: determining the target backup time point at least according to the data recovery time point included in the received data recovery request and the backup time point of the pre-stored multiple backup data. If the target backup time point is determined to be after the data recovery time point, the corresponding log record between the target backup time point and the time point of data recovery can be made. Reverse parsing allows data recovery. Compared with the existing technology, the embodiment of the present invention enlarges the selectivity of the target backup time point, so that the target backup time point can be selected more reasonably in the process of data recovery, thereby shortening the time of data recovery.

【技术实现步骤摘要】
一种应用于数据库的数据恢复方法及装置
本专利技术涉及数据库
,尤其涉及一种应用于数据库的数据恢复方法及装置。
技术介绍
随着科技的进步与信息化的发展,各种各样的信息不断地被产生以及被重复利用,用来存储信息的数据库也因此扮演着重要的角色。MySQL数据库是一种被广泛使用的开源数据库。现有技术中,当MySQL数据库需要恢复指定时间点的数据时,通常是先将数据恢复到指定时间点之前且与指定时间点最近的一次备份时间点,然后获取备份时间点与指定时间点之间的所有操作语句,最后在恢复出来的备份时间点对应的备份数据上重新回放执行备份时间点与指定时间点之间的所有操作语句,从而实现MySQL数据库的数据恢复至指定时间点。然而,现有的数据方法可能存在相邻两个备份时间点之间的跨度较大,备份时间点与指定时间点之间的所有操作语句的数量较多,导致延长了对这些操作语句进行解析和回放所需的时间,进而导致数据恢复耗时长的问题。基于此,目前亟需一种应用于数据库的数据恢复方法,用于解决现有技术中数据恢复耗时长的问题。
技术实现思路
本专利技术实施例提供一种应用于数据库的数据恢复方法及装置,以解决现有技术中数据恢复耗时长的技术问题。本专利技术实施例提供一种应用于数据库的数据恢复方法,所述方法包括:接收数据恢复请求,所述数据恢复请求包括数据恢复的时间点;至少根据所述数据恢复的时间点,以及预先存储的多个备份数据的备份时间点,确定目标备份时间点;若确定所述目标备份时间点位于所述数据恢复的时间点之后,且所述候选备份时间点与所述数据恢复的时间点之间的日志记录中不存在DDL语句,则确定所述目标备份时间点与所述数据恢复的时间点之间的第一时间区间,并对所述第一时间区间对应的日志记录进行逆向解析,得到第一文本信息;根据所述目标备份时间点对应的备份数据以及所述第一文本信息,执行数据恢复。如此,本专利技术实施例中可以根据数据恢复的时间点与备份时间点之间的关系确定合适的目标备份时间点,进而可以根据数据恢复的时间点与备份时间点之间的关系,确定对目标备份时间点与数据恢复的时间点之间的日志记录是进行逆向解析还是正向解析。相比于现有技术中直接选择位于数据恢复的时间点之前的备份时间点的方式而言,本专利技术实施例扩大了的目标备份时间点的可选择性,从而使得在执行数据恢复的过程中,能够更加合理地选择目标备份时间点,进而缩短数据恢复的时长。在一种可能的实现方式中,所述至少根据所述数据恢复的时间点,以及预先存储的多个备份数据的备份时间点,确定目标备份时间点,包括:根据所述数据恢复的时间点,以及所述预先存储的多个备份数据的备份时间点,确定与所述数据恢复的时间点的时间差最小的备份时间点为候选备份时间点;针对所述候选备份时间点进行确认处理,包括:若所述候选备份时间点位于所述数据恢复的时间点之后,且所述候选备份时间点与所述数据恢复的时间点之间的日志记录中不存在数据库模式定义语言(DataDefinitionLanguage,DDL)语句,则将所述候选备份时间点确定为所述目标备份时间点。采用上述方法,能够确保目标备份时间点为距离数据恢复的时间点最近的备份时间点,并且,也能够确保目标备份时间点中不会存在无法逆向解析的DDL语句,从而能够有效缩短数据恢复的耗时。在一种可能的实现方式中,针对所述候选备份时间点进行确认处理,还包括:若所述候选备份时间点位于所述数据恢复的时间点之前,则将所述候选备份时间点确定为所述目标备份时间点;所述方法还包括:若确定所述目标备份时间点位于所述数据恢复的时间点之前,则确定所述目标备份时间点与所述数据恢复的时间点之间的第二时间区间,并对所述第二时间区间对应的日志记录进行正向解析,得到第二文本信息;根据所述目标备份时间点对应的备份数据以及所述第二文本信息,执行数据恢复。在一种可能的实现方式中,针对所述候选备份时间点进行确认处理,还包括:若所述候选备份时间点位于所述数据恢复的时间点之后,且所述候选备份时间点与所述数据恢复的时间点之间的日志记录中存在DDL语句,则确定与所述数据恢复的时间点的时间差仅次于上一个候选备份时间点与所述数据恢复的时间点之间的时间区间对应的备份时间点为所述候选备份时间点;重复针对所述候选备份时间点进行确认处理的步骤。在一种可能的实现方式中,对第一时间区间对应的日志进行逆向解析之前,还包括:根据各日志文件的起始记录时间和终止记录时间,确定候选日志文件;从所述候选日志文件中获取所述第一时间区间对应的日志记录。在一种可能的实现方式中,所述各日志文件中还包括DDL标识,所述DDL标识用于指示日志文件是否包含DDL语句;通过如下方式确定所述候选备份时间点与所述数据恢复的时间点之间的日志记录中是否存在DDL语句,包括:根据各日志文件的起始记录时间和终止记录时间,确定第三时间区间对应的日志文件;所述第三时间区间为所述候选备份时间点与所述数据恢复的时间点之间的时间区间;根据所述第三时间区间对应的日志文件的DDL标识,确定所述候选备份时间点与所述数据恢复的时间点之间的日志记录中是否存在DDL语句。考虑到一个日志文件中可以包括多个语句,而对于日志文件中的DDL语句是不能够逆向解析的,因此,在候选备份时间点位于数据恢复的时间点之后的情况下,需要进一步判断候选备份时间点与数据恢复的时间点之间的日志记录中是否存在DDL语句,从而避免因DDL语句无法逆向解析而导致数据恢复失败的情况。在一种可能的实现方式中,对所述第一时间区间对应的日志记录进行逆向解析,得到第一文本信息,包括:对所述第一时间区间对应的日志记录进行正向解析,得到第三文本信息;将所述第三文本信息逆向解析并转换为所述第一文本信息。在一种可能的实现方式中,所述日志记录为以行模式存储的二进制日志文件。本专利技术实施例提供一种应用于数据库的数据恢复装置,所述装置包括:接收单元,用于接收数据恢复请求,所述数据恢复请求包括数据恢复的时间点;处理单元,用于至少根据所述数据恢复的时间点,以及预先存储的多个备份数据的备份时间点,确定目标备份时间点;若确定所述目标备份时间点位于所述数据恢复的时间点之后,且所述候选备份时间点与所述数据恢复的时间点之间的日志记录中不存在DDL语句,则确定所述目标备份时间点与所述数据恢复的时间点之间的第一时间区间,并对所述第一时间区间对应的日志记录进行逆向解析,得到第一文本信息;以及根据所述目标备份时间点对应的备份数据以及所述第一文本信息,执行数据恢复。在一种可能的实现方式中,所述处理单元具体用于:根据所述数据恢复的时间点,以及所述预先存储的多个备份数据的备份时间点,确定与所述数据恢复的时间点的时间差最小的备份时间点为候选备份时间点;若所述候选备份时间点位于所述数据恢复的时间点之后,且所述候选备份时间点与所述数据恢复的时间点之间的日志记录中不存在DDL语句,则将所述候选备份时间点确定为所述目标备份时间点。在一种可能的实现方式中,所述处理单元还用于:若所述候选备份时间点位于所述数据恢复的时间点之前,则将所述候选备份时间点确定为所述目标备份时间点;若确定所述目标备份时间点位于所述数据恢复的时间点之前,则确定所述目标备份时间点与所述数据恢复的时间点之间的第二时间区间,并对所述第二时间区间对应的日志记录进行正向解析,得到第二文本信息;本文档来自技高网...

【技术保护点】
1.一种应用于数据库的数据恢复方法,其特征在于,所述方法包括:接收数据恢复请求,所述数据恢复请求包括数据恢复的时间点;至少根据所述数据恢复的时间点,以及预先存储的多个备份数据的备份时间点,确定目标备份时间点;若确定所述目标备份时间点位于所述数据恢复的时间点之后,且所述候选备份时间点与所述数据恢复的时间点之间的日志记录中不存在DDL语句,则确定所述目标备份时间点与所述数据恢复的时间点之间的第一时间区间,并对所述第一时间区间对应的日志记录进行逆向解析,得到第一文本信息;根据所述目标备份时间点对应的备份数据以及所述第一文本信息,执行数据恢复。

【技术特征摘要】
1.一种应用于数据库的数据恢复方法,其特征在于,所述方法包括:接收数据恢复请求,所述数据恢复请求包括数据恢复的时间点;至少根据所述数据恢复的时间点,以及预先存储的多个备份数据的备份时间点,确定目标备份时间点;若确定所述目标备份时间点位于所述数据恢复的时间点之后,且所述候选备份时间点与所述数据恢复的时间点之间的日志记录中不存在DDL语句,则确定所述目标备份时间点与所述数据恢复的时间点之间的第一时间区间,并对所述第一时间区间对应的日志记录进行逆向解析,得到第一文本信息;根据所述目标备份时间点对应的备份数据以及所述第一文本信息,执行数据恢复。2.根据权利要求1所述的方法,其特征在于,所述至少根据所述数据恢复的时间点,以及预先存储的多个备份数据的备份时间点,确定目标备份时间点,包括:根据所述数据恢复的时间点,以及所述预先存储的多个备份数据的备份时间点,确定与所述数据恢复的时间点的时间差最小的备份时间点为候选备份时间点;针对所述候选备份时间点进行确认处理,包括:若所述候选备份时间点位于所述数据恢复的时间点之后,且所述候选备份时间点与所述数据恢复的时间点之间的日志记录中不存在数据库模式定义语言DDL语句,则将所述候选备份时间点确定为所述目标备份时间点。3.根据权利要求2所述的方法,其特征在于,针对所述候选备份时间点进行确认处理,还包括:若所述候选备份时间点位于所述数据恢复的时间点之前,则将所述候选备份时间点确定为所述目标备份时间点;所述方法还包括:若确定所述目标备份时间点位于所述数据恢复的时间点之前,则确定所述目标备份时间点与所述数据恢复的时间点之间的第二时间区间,并对所述第二时间区间对应的日志记录进行正向解析,得到第二文本信息;根据所述目标备份时间点对应的备份数据以及所述第二文本信息,执行数据恢复。4.根据权利要求2所述的方法,其特征在于,针对所述候选备份时间点进行确认处理,还包括:若所述候选备份时间点位于所述数据恢复的时间点之后,且所述候选备份时间点与所述数据恢复的时间点之间的日志记录中存在DDL语句,则确定与所述数据恢复的时间点的时间差仅次于上一个候选备份时间点与所述数据恢复的时间点之间的时间区间对应的备份时间点为所述候选备份时间点;重复针对所述候选备份时间点进行确认处理的步骤。5.根据权利要求1至4任一项所述的方法,其特征在于,对第一时间区间对应的日志进行逆向解析之前,还包括:根据各日志文件的起始记录时间和终止记录时间,确定候选日志文件;从所述候选日志文件中获取所述第一时间区间对应的日志记录。6.根据权利要求5所述的方法,其特征在于,所述各日志文件中还包括DDL标识,所述DDL标识用于指示日志文件是否包含DDL语句;通过如下方式确定所述候选备份时间点与所述数据恢复的时间点之间的日志记录中是否存在DDL语句,包括:根据各日志文件的起始记录时间和终止记录时间,确定第三时间区间对应的日志文件;所述第三时间区间为所述候选备份时间点与所述数据恢复的时间点之间的时间区间;根据所述第三时间区间对应的日志文件的DDL标识,确定所述候选备份时间点与所述数据恢复的时间点之间的日志记录中是否存在DDL语句。7.根据权利要求1所述的方法,其特征在于,对所述第一时间区间对应的日志记录进行逆向解析,得到第一文本信息,包括:对所述第一时间区间对应的日志记录进行正向解析,得到第三文本信息;将所述第三文本信息逆向解析并转换为所述第一文本信息。8.根据权利要求1所述的方法,其特征在于,所述日志记录为以行模式存储的二进制日志文件。9.一种应用于数据库的数据恢...

【专利技术属性】
技术研发人员:严辉华
申请(专利权)人:网宿科技股份有限公司
类型:发明
国别省市:上海,31

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

1