CN113918658A - 恢复数据的方法及装置 - Google Patents

恢复数据的方法及装置 Download PDF

Info

Publication number
CN113918658A
CN113918658A CN202010652323.4A CN202010652323A CN113918658A CN 113918658 A CN113918658 A CN 113918658A CN 202010652323 A CN202010652323 A CN 202010652323A CN 113918658 A CN113918658 A CN 113918658A
Authority
CN
China
Prior art keywords
data table
target
full
backup
amount
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010652323.4A
Other languages
English (en)
Inventor
李婵玲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Rockwell Technology Co Ltd
Original Assignee
Beijing Rockwell Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Rockwell Technology Co Ltd filed Critical Beijing Rockwell Technology Co Ltd
Priority to CN202010652323.4A priority Critical patent/CN113918658A/zh
Publication of CN113918658A publication Critical patent/CN113918658A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore

Abstract

本发明公开了一种恢复数据的方法及装置,涉及数据处理技术领域。本发明的方法包括:接收数据恢复信息,数据恢复信息中包含待恢复数据表对应的唯一标识和DDL误操作对应的误操作时间;根据误操作时间查找目标全量备份文件,并根据唯一标识在目标全量备份文件中查找待恢复数据表对应的目标全量备份数据表;根据唯一标识查找目标全量备份数据表对应的多个目标日志记录;根据多个目标日志记录对目标全量备份数据表进行更新处理,获得已恢复数据表,并在目标数据库中使用已恢复数据表替换待恢复数据表。本发明适用于对数据表进行数据恢复处理的过程中。

Description

恢复数据的方法及装置
技术领域
本发明涉及数据处理技术领域,特别是涉及一种恢复数据的方法及装置。
背景技术
MySQL数据库是一种开放源代码的关系型数据库管理系统(RDBMS,RelationalDatabase Management System),由于,MySQL数据库具有速度快、可靠性高和适应性高等优点而备受关注。在MySQL数据库运行的过程中,当对MySQL数据库中的某个数据表进行的DDL(Data Definition Language,数据定义语言)操作为误操作时,需要在MySQL数据库中对该数据表进行数据恢复处理,从而保证该数据表的准确性。
目前,当对MySQL数据库中的某个数据表进行DDL误操作,而需要对该数据表进行数据恢复处理时,通常是先查找DDL误操作前的全量备份文件和全量备份文件到DDL误操作之间的所有日志记录,再根据全量备份文件和所有日志记录对MySQL数据库中的所有数据表进行数据恢复处理。由于,是对MySQL数据库中的所有数据表进行数据恢复处理,因此,导致耗费的时间较长、恢复效率较低。
发明内容
有鉴于此,本发明提供一种恢复数据的方法及装置,主要目的在于当对MySQL数据库中的数据表进行DDL误操作,而需要对数据表进行数据恢复处理时,提高对数据表进行数据恢复处理的恢复效率。
为了达到上述目的,本发明主要提供如下技术方案:
第一方面,本发明提供了一种恢复数据的方法,该方法包括:
接收数据恢复信息,所述数据恢复信息中包含待恢复数据表对应的唯一标识和DDL误操作对应的误操作时间;
根据所述误操作时间查找目标全量备份文件,并根据所述唯一标识在所述目标全量备份文件中查找所述待恢复数据表对应的目标全量备份数据表,所述目标全量备份文件为备份时间与所述误操作时间最接近的全量备份文件;
根据所述唯一标识查找所述目标全量备份数据表对应的多个目标日志记录,其中,所述目标全量备份数据表对应的多个目标日志记录的操作时间处于所述目标全量备份文件对应的备份时间与所述误操作时间之间;
根据多个所述目标日志记录对所述目标全量备份数据表进行更新处理,获得已恢复数据表,并在目标数据库中使用所述已恢复数据表替换所述待恢复数据表。
可选的,所述根据所述唯一标识在所述目标全量备份文件中查找所述待恢复数据表对应的目标全量备份数据表,包括:
将所述唯一标识输入至预置逻辑恢复工具中;
通过所述预置逻辑恢复工具在所述目标全量备份文件中查找所述目标全量备份数据表。
可选的,在所述根据所述唯一标识在所述目标全量备份文件中查找所述待恢复数据表对应的目标全量备份数据表之后,所述方法还包括:
创建备份数据库;
通过所述预置逻辑恢复工具将所述目标全量备份数据表存储至所述备份数据库中。
可选的,所述根据多个所述目标日志记录对所述目标全量备份数据表进行更新处理,以获得已恢复数据表,包括:
采用多线程技术对多个所述目标日志记录进行解析处理,以获得多个操作信息;
在所述备份数据库中根据多个所述操作信息对所述目标全量备份数据表进行更新处理。
可选的,所述根据所述唯一标识查找所述目标全量备份数据表对应的多个目标日志记录,包括:
获取所述目标全量备份文件中每个全量备份数据表对应的多个目标日志记录,其中,每个所述全量备份数据表对应的多个目标日志记录的操作时间处于所述目标全量备份文件对应的备份时间与所述误操作时间之间;
根据所述唯一标识在多个所述全量备份数据表对应的多个目标日志记录中,查找所述目标全量备份数据表对应的多个目标日志记录。
可选的,所述获取所述目标全量备份文件中每个全量备份数据表对应的多个目标日志记录,包括:
根据所述误操作时间确定所述DDL误操作对应的第一位置点,并根据所述目标全量备份文件对应的备份时间确定所述目标全量备份文件对应的第二位置点;
根据所述第一位置点和所述第二位置点,获取所述目标全量备份文件中每个全量备份数据表对应的多个目标日志记录。
可选的,所述在目标数据库中使用所述已恢复数据表替换所述待恢复数据表,包括:
在所述备份数据库中提取所述已恢复数据表,并将所述已恢复数据表存储至所述目标数据库中;
输出任务完成提示信息,以提醒用户对所述已恢复数据表进行验证;
在接收到验证确认信息后,在所述目标数据库中删除所述待恢复数据表。
第二方面,本发明还提供一种恢复数据的装置,该装置包括:
接收单元,用于接收数据恢复信息,所述数据恢复信息中包含待恢复数据表对应的唯一标识和DDL误操作对应的误操作时间;
第一查找单元,用于根据所述误操作时间查找目标全量备份文件,所述目标全量备份文件为备份时间与所述误操作时间最接近的全量备份文件;
第二查找单元,用于根据所述唯一标识在所述目标全量备份文件中查找所述待恢复数据表对应的目标全量备份数据表;
第三查找单元,用于根据所述唯一标识查找所述目标全量备份数据表对应的多个目标日志记录,其中,所述目标全量备份数据表对应的多个目标日志记录的操作时间处于所述目标全量备份文件对应的备份时间与所述误操作时间之间;
更新单元,用于根据多个所述目标日志记录对所述目标全量备份数据表进行更新处理,获得已恢复数据表;
替换单元,用于在目标数据库中使用所述已恢复数据表替换所述待恢复数据表。
可选的,所述第二查找单元包括:
输入模块,用于将所述唯一标识输入至预置逻辑恢复工具中;
第一查找模块,用于通过所述预置逻辑恢复工具在所述目标全量备份文件中查找所述目标全量备份数据表。
可选的,所述装置还包括:
创建单元,用于在所述第二查找单元根据所述唯一标识在所述目标全量备份文件中查找所述待恢复数据表对应的目标全量备份数据表之后,创建备份数据库;
存储单元,用于通过所述预置逻辑恢复工具将所述目标全量备份数据表存储至所述备份数据库中。
可选的,所述更新单元包括:
解析模块,用于采用多线程技术对多个所述目标日志记录进行解析处理,以获得多个操作信息;
更新模块,用于在所述备份数据库中根据多个所述操作信息对所述目标全量备份数据表进行更新处理。
可选的,所述第三查找单元包括:
获取模块,用于获取所述目标全量备份文件中每个全量备份数据表对应的多个目标日志记录,其中,每个所述全量备份数据表对应的多个目标日志记录的操作时间处于所述目标全量备份文件对应的备份时间与所述误操作时间之间;
第二查找模块,用于根据所述唯一标识在多个所述全量备份数据表对应的多个目标日志记录中,查找所述目标全量备份数据表对应的多个目标日志记录。
可选的,所述获取模块,具体用于根据所述误操作时间确定所述DDL误操作对应的第一位置点,并根据所述目标全量备份文件对应的备份时间确定所述目标全量备份文件对应的第二位置点;根据所述第一位置点和所述第二位置点,获取所述目标全量备份文件中每个全量备份数据表对应的多个目标日志记录。
可选的,所述替换单元包括:
提取模块,用于在所述备份数据库中提取所述已恢复数据表;
存储模块,用于将所述已恢复数据表存储至所述目标数据库中;
输出模块,用于输出任务完成提示信息,以提醒用户对所述已恢复数据表进行验证;
删除模块,在接收到验证确认信息后,在所述目标数据库中删除所述待恢复数据表。
第三方面,本发明的实施例提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行第一方面所述的恢复数据的方法。
第四方面,本发明的实施例提供了一种恢复数据的装置,所述装置包括存储介质;及一个或者多个处理器,所述存储介质与所述处理器耦合,所述处理器被配置为执行所述存储介质中存储的程序指令;所述程序指令运行时执行第一方面所述的恢复数据的方法。
借由上述技术方案,本发明提供的技术方案至少具有下列优点:
本发明提供一种恢复数据的方法及装置,与现有技术中根据DDL误操作前的全量备份文件和全量备份文件到DDL误操作之间的所有日志记录对MySQL数据库中的所有数据表进行数据恢复处理相比,本发明能够在后台服务器接收到包含待恢复数据表对应的唯一标识和DDL误操作对应的误操作时间的数据恢复信息后,由后台服务器根据DDL误操作对应的误操作时间查找备份时间与误操作时间最接近的全量备份文件(即目标全量备份文件),并根据待恢复数据表对应的唯一标识在目标全量备份文件中查找待恢复数据表对应的全量备份数据表(即目标全量备份数据表),再根据待恢复数据表对应的唯一标识,查找目标全量备份数据表对应的多个目标日志记录(操作时间处于目标全量备份文件对应的备份时间与DDL误操作对应的误操作时间之间),以及根据查找到的多个目标日志记录对目标全量备份数据表进行更新处理,从而获得已恢复数据表,最后在目标数据库中使用已恢复数据表替换待恢复数据表。由于,在本发明中是,在对目标数据表进行DDL误操作得到待恢复数据表后,根据待恢复数据表对应的全量备份数据表和待恢复数据表对应的日志记录对待恢复数据表进行数据恢复处理,因此,可以有效提高对待恢复数据表进行数据恢复处理的恢复效率。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的一种恢复数据的方法流程图;
图2示出了本发明实施例提供的另一种恢复数据的方法流程图;
图3示出了本发明实施例提供的一种恢复数据的装置的组成框图;
图4示出了本发明实施例提供的另一种恢复数据的装置的组成框图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
本发明实施例提供一种恢复数据的方法,如图1所示,该方法包括:
101、接收数据恢复信息。
其中,数据恢复信息中包含待恢复数据表对应的唯一标识和DDL误操作对应的误操作时间。本发明实施例中,各个步骤中的执行主体为与目标数据库相连接的后台服务器,其中,目标数据库具体为MySQL数据库。
在本发明实施例中,当用户(即数据库管理人员)确定对目标数据库中的目标数据表进行的DDL操作为误操作时,数据库管理人员需要向前端设备输入目标数据表(待恢复数据表)对应的唯一标识和DDL误操作对应的误操作时间,前端设备在接收到数据库管理人员输入的待恢复数据表对应的唯一标识和DDL误操作对应的误操作时间后,便会向后台服务器发送包含待恢复数据表对应的唯一标识和DDL误操作对应的误操作时间的数据恢复信息,此时,后台服务器便能接收到该数据恢复信息,其中,待恢复数据表为对目标数据表进行DDL误操作后得到的数据表;其中,对目标数据表进行的DDL操作可以但不限为:对目标数据表进行删除操作、对目标数据表进行修改操作、对目标数据表进行格式化操作、对目标数据表进行字段变换操作等。
102、根据误操作时间查找目标全量备份文件,并根据唯一标识在目标全量备份文件中查找待恢复数据表对应的目标全量备份数据表。
其中,目标全量备份文件为备份时间与误操作时间最接近的全量备份文件;其中,待恢复数据表对应的目标全量备份数据表为在目标全量备份文件对应的备份时间点进行全量备份的过程中,生成的目标数据表对应的备份数据表。
在本发明实施例中,后台服务器在接收到包含待恢复数据表对应的唯一标识和DDL误操作对应的误操作时间的数据恢复信息后,便可根据DDL误操作对应的误操作时间查找备份时间与误操作时间最接近的全量备份文件(即目标全量备份文件),再根据待恢复数据表对应的唯一标识在目标全量备份文件中查找待恢复数据表对应的全量备份数据表(即目标全量备份数据表)。
103、根据唯一标识查找目标全量备份数据表对应的多个目标日志记录。
其中,目标全量备份数据表对应的多个目标日志记录的操作时间处于目标全量备份文件对应的备份时间与DDL误操作对应的误操作时间之间,即目标全量备份数据表对应的多个目标日志记录为:在目标全量备份文件对应的备份时间与DDL误操作误操作时间之间,对目标数据表进行操作而生成的日志记录。
在本发明实施例中,后台服务器在查找到待恢复数据表对应的目标全量备份数据表后,便可根据待恢复数据表对应的唯一标识,查找目标全量备份数据表对应的多个目标日志记录,即根据待恢复数据表对应的唯一标识,查找目标全量备份数据表对应的、操作时间处于目标全量备份文件对应的备份时间与DDL误操作对应的误操作时间之间的多个日志记录。
104、根据多个目标日志记录对目标全量备份数据表进行更新处理,获得已恢复数据表,并在目标数据库中使用已恢复数据表替换待恢复数据表。
在本发明实施例中,后台服务器在根据待恢复数据表对应的唯一标识,查找得到目标全量备份数据表对应的多个目标日志记录后,便可根据查找到的多个目标日志记录对目标全量备份数据表进行更新处理,从而获得已恢复数据表;并在目标数据库中使用已恢复数据表替换待恢复数据表,从而完成对待恢复数据表进行数据恢复处理的任务,其中,已恢复数据表的表结构和包含的数据内容与目标数据表的表结构和包含的数据内容相同。
本发明实施例提供一种恢复数据的方法,与现有技术中根据DDL误操作前的全量备份文件和全量备份文件到DDL误操作之间的所有日志记录对MySQL数据库中的所有数据表进行数据恢复处理相比,本发明实施例能够在后台服务器接收到包含待恢复数据表对应的唯一标识和DDL误操作对应的误操作时间的数据恢复信息后,由后台服务器根据DDL误操作对应的误操作时间查找备份时间与误操作时间最接近的全量备份文件(即目标全量备份文件),并根据待恢复数据表对应的唯一标识在目标全量备份文件中查找待恢复数据表对应的全量备份数据表(即目标全量备份数据表),再根据待恢复数据表对应的唯一标识,查找目标全量备份数据表对应的多个目标日志记录(操作时间处于目标全量备份文件对应的备份时间与DDL误操作对应的误操作时间之间),以及根据查找到的多个目标日志记录对目标全量备份数据表进行更新处理,从而获得已恢复数据表,最后在目标数据库中使用已恢复数据表替换待恢复数据表。由于,在本发明中是,在对目标数据表进行DDL误操作得到待恢复数据表后,根据待恢复数据表对应的全量备份数据表和待恢复数据表对应的日志记录对待恢复数据表进行数据恢复处理,因此,可以有效提高对待恢复数据表进行数据恢复处理的恢复效率。
以下为了更加详细地说明,本发明实施例提供了另一种恢复数据的方法,具体如图2所示,该方法包括:
201、接收数据恢复信息。
其中,关于步骤201、接收数据恢复信息,可以参考图1对应部分的描述,本发明实施例此处将不再赘述。
202、根据误操作时间查找目标全量备份文件。
其中,关于步骤202、根据误操作时间查找目标全量备份文件,可以参考图1对应部分的描述,本发明实施例此处将不再赘述。
203、根据唯一标识在目标全量备份文件中查找待恢复数据表对应的目标全量备份数据表。
在本发明实施例中,后台服务器在接收到包含待恢复数据表对应的唯一标识和DDL误操作对应的误操作时间的数据恢复信息,并根据DDL误操作对应的误操作时间查找目标全量备份文件后,便可根据待恢复数据表对应的唯一标识在目标全量备份文件中查找待恢复数据表对应的目标全量备份数据表。
具体的,在本步骤中,后台服务器可以采用以下方式根据待恢复数据表对应的唯一标识在目标全量备份文件中查找待恢复数据表对应的目标全量备份数据表:首先,将待恢复数据表对应的唯一标识输入至预置逻辑恢复工具中,其中,预置逻辑恢复工具具体可以为:Myloader工具;其次,通过预置逻辑恢复工具在目标全量备份文件中查找待恢复数据表对应的目标全量备份数据表,但不限于此。
204、创建备份数据库,并通过预置逻辑恢复工具将目标全量备份数据表存储至备份数据库中。
其中,备份数据库具体为MySQL数据库。
在本发明实施例中,后台服务器在根据待恢复数据表对应的唯一标识在目标全量备份文件中查找到待恢复数据表对应的目标全量备份数据表后,需要先创建一个备份数据库,再通过预置逻辑恢复工具将待恢复数据表对应的目标全量备份数据表存储至备份数据库中,从而可以保证后台服务器在根据多个目标日志记录对目标全量备份数据表进行更新处理时,是在MySQL数据库运行环境下对目标全量备份数据表进行更新处理,进而可以保证获得的已恢复数据表的准确性。
205、根据唯一标识查找目标全量备份数据表对应的多个目标日志记录。
在本发明实施例中,后台服务器在将目标全量备份数据表存储至备份数据库中后,便可根据待恢复数据表对应的唯一标识,查找目标全量备份数据表对应的多个目标日志记录。以下将对后台服务器如何根据待恢复数据表对应的唯一标识,查找目标全量备份数据表对应的多个目标日志记录进行详细说明。
(1)获取目标全量备份文件中每个全量备份数据表对应的多个目标日志记录,其中,每个全量备份数据表对应的多个目标日志记录的操作时间处于目标全量备份文件对应的备份时间与DDL误操作对应的误操作时间之间。
具体的,在本步骤中,由于,在对MySQL数据库中的数据表进行DDL操作时,会在Binlog日志文件中的相应日志记录中添加位置点(即DDL操作对应的位置点,具体包括FILE点和POS点);根据全量备份文件对应的备份时间,可以在Binlog日志文件中得到在对MySQL数据库进行全量备份前,最后一个日志记录对应的位置点(即全量备份文件对应的位置点,具体包括FILE点和POS点),而Binlog日志文件中目标全量备份文件对应的位置点与DDL误操作对应的位置点之间的多条日志记录便是操作时间处于目标全量备份文件对应的备份时间与DDL误操作对应的误操作时间之间的、目标全量备份文件中各个全量备份数据表对应的日志记录,因此,后台服务器可以采用以下方式获取目标全量备份文件中每个全量备份数据表对应的多个目标日志记录:首先,根据DDL误操作对应的误操作时间在Binlog日志文件中确定DDL误操作对应的位置点(即第一位置点),再根据目标全量备份文件对应的备份时间在Binlog日志文件中确定目标全量备份文件对应的位置点(即第二位置点);然后,根据第一位置点和第二位置点,获取目标全量备份文件中每个全量备份数据表对应的多个目标日志记录,即在Binlog日志文件中获取第一位置点与第二位置点之间的多个日志记录。
(2)根据待恢复数据表对应的唯一标识在步骤(1)中获取得到的多个全量备份数据表对应的多个目标日志记录中,查找目标全量备份数据表对应的多个目标日志记录。
206、根据多个目标日志记录对目标全量备份数据表进行更新处理,获得已恢复数据表。
在本发明实施例中,后台服务器在根据待恢复数据表对应的唯一标识查找到操作时间处于目标全量备份文件对应的备份时间与误操作时间之间的、目标全量备份数据表对应的多个目标日志记录后,便可根据查找到的多个目标日志记录对目标全量备份数据表进行更新处理,从而获得已恢复数据表。具体的,在本步骤中,后台服务器可以采用以下方式根据查找到的多个目标日志记录对目标全量备份数据表进行更新处理:首先,采用多线程技术对查找到的多个目标日志记录进行解析处理,以获得每个目标日志记录对应的操作信息;其次,在备份数据库中根据解析获得的多个操作信息对目标全量备份数据表进行更新处理,从而获得已恢复数据表,但不限于此。
207、在目标数据库中使用已恢复数据表替换待恢复数据表。
在本发明实施例中,后台服务器在获取得到已恢复数据表后,便可在目标数据库中使用已恢复数据表替换待恢复数据表,从而完成对待恢复数据表进行数据恢复处理的任务。以下将对后台服务器如何在目标数据库中使用已恢复数据表替换待恢复数据表进行详细说明。
(1)后台服务器在备份数据库中提取已恢复数据表后,将已恢复数据表存储至目标数据库中。
(2)后台服务器在将已恢复数据表存储至目标数据库中后,输出任务完成提示信息,以提醒用户(即数据库管理人员)对已恢复数据表进行验证。
(3)数据库管理人员在对已恢复数据表进行验证,并确认已恢复数据表无误后,便会向后台服务器输入验证确认信息,后台服务器在接收到验证确认信息后,便可在目标数据库中删除待恢复数据表,此时,后台服务器便完成了对待恢复数据表进行数据恢复处理的任务。
为了实现上述目的,根据本发明的另一方面,本发明实施例还提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行上述所述的恢复数据的方法。
为了实现上述目的,根据本发明的另一方面,本发明实施例还提供了一种恢复数据的装置,所述装置包括存储介质;及一个或者多个处理器,所述存储介质与所述处理器耦合,所述处理器被配置为执行所述存储介质中存储的程序指令;所述程序指令运行时执行上述所述的恢复数据的方法。
进一步的,作为对上述图1及图2所示方法的实现,本发明另一实施例还提供了一种恢复数据的装置。该装置实施例与前述方法实施例对应,为便于阅读,本装置实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。该装置应用于提高对数据表进行数据恢复处理的恢复效率,具体如图3所示,该装置包括:
接收单元31,用于接收数据恢复信息,所述数据恢复信息中包含待恢复数据表对应的唯一标识和DDL误操作对应的误操作时间;
第一查找单元32,用于根据所述误操作时间查找目标全量备份文件,所述目标全量备份文件为备份时间与所述误操作时间最接近的全量备份文件;
第二查找单元33,用于根据所述唯一标识在所述目标全量备份文件中查找所述待恢复数据表对应的目标全量备份数据表;
第三查找单元34,用于根据所述唯一标识查找所述目标全量备份数据表对应的多个目标日志记录,其中,所述目标全量备份数据表对应的多个目标日志记录的操作时间处于所述目标全量备份文件对应的备份时间与所述误操作时间之间;
更新单元35,用于根据多个所述目标日志记录对所述目标全量备份数据表进行更新处理,获得已恢复数据表;
替换单元36,用于在目标数据库中使用所述已恢复数据表替换所述待恢复数据表。
进一步的,如图4所示,第二查找单元33包括:
输入模块331,用于将所述唯一标识输入至预置逻辑恢复工具中;
第一查找模块332,用于通过所述预置逻辑恢复工具在所述目标全量备份文件中查找所述目标全量备份数据表。
进一步的,如图4所示,该装置还包括:
创建单元37,用于在所述第二查找单元33根据所述唯一标识在所述目标全量备份文件中查找所述待恢复数据表对应的目标全量备份数据表之后,创建备份数据库;
存储单元38,用于通过所述预置逻辑恢复工具将所述目标全量备份数据表存储至所述备份数据库中。
进一步的,如图4所示,更新单元35包括:
解析模块351,用于采用多线程技术对多个所述目标日志记录进行解析处理,以获得多个操作信息;
更新模块352,用于在所述备份数据库中根据多个所述操作信息对所述目标全量备份数据表进行更新处理。
进一步的,如图4所示,第三查找单元34包括:
获取模块341,用于获取所述目标全量备份文件中每个全量备份数据表对应的多个目标日志记录,其中,每个所述全量备份数据表对应的多个目标日志记录的操作时间处于所述目标全量备份文件对应的备份时间与所述误操作时间之间;
第二查找模块342,用于根据所述唯一标识在多个所述全量备份数据表对应的多个目标日志记录中,查找所述目标全量备份数据表对应的多个目标日志记录。
进一步的,如图4所示,获取模块341,具体用于根据所述误操作时间确定所述DDL误操作对应的第一位置点,并根据所述目标全量备份文件对应的备份时间确定所述目标全量备份文件对应的第二位置点;根据所述第一位置点和所述第二位置点,获取所述目标全量备份文件中每个全量备份数据表对应的多个目标日志记录。
进一步的,如图4所示,替换单元36包括:
提取模块361,用于在所述备份数据库中提取所述已恢复数据表;
存储模块362,用于将所述已恢复数据表存储至所述目标数据库中;
输出模块363,用于输出任务完成提示信息,以提醒用户对所述已恢复数据表进行验证;
删除模块364,在接收到验证确认信息后,在所述目标数据库中删除所述待恢复数据表。
本发明实施例提供一种恢复数据的方法及装置,与现有技术中根据DDL误操作前的全量备份文件和全量备份文件到DDL误操作之间的所有日志记录对MySQL数据库中的所有数据表进行数据恢复处理相比,本发明实施例能够在后台服务器接收到包含待恢复数据表对应的唯一标识和DDL误操作对应的误操作时间的数据恢复信息后,由后台服务器根据DDL误操作对应的误操作时间查找备份时间与误操作时间最接近的全量备份文件(即目标全量备份文件),并根据待恢复数据表对应的唯一标识在目标全量备份文件中查找待恢复数据表对应的全量备份数据表(即目标全量备份数据表),再根据待恢复数据表对应的唯一标识,查找目标全量备份数据表对应的多个目标日志记录(操作时间处于目标全量备份文件对应的备份时间与DDL误操作对应的误操作时间之间),以及根据查找到的多个目标日志记录对目标全量备份数据表进行更新处理,从而获得已恢复数据表,最后在目标数据库中使用已恢复数据表替换待恢复数据表。由于,在本发明中是,在对目标数据表进行DDL误操作得到待恢复数据表后,根据待恢复数据表对应的全量备份数据表和待恢复数据表对应的日志记录对待恢复数据表进行数据恢复处理,因此,可以有效提高对待恢复数据表进行数据恢复处理的恢复效率。
所述恢复数据的装置包括处理器和存储器,上述接收单元、第一查找单元、第二查找单元、第三查找单元、更新单元和替换单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来提高对数据表进行数据恢复处理的恢复效率。
本发明实施例提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行上述所述的恢复数据的方法。
存储介质可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM),存储器包括至少一个存储芯片。
本发明实施例还提供了一种恢复数据的装置,所述装置包括存储介质;及一个或者多个处理器,所述存储介质与所述处理器耦合,所述处理器被配置为执行所述存储介质中存储的程序指令;所述程序指令运行时执行上述所述的恢复数据的方法。
本发明实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:
接收数据恢复信息,所述数据恢复信息中包含待恢复数据表对应的唯一标识和DDL误操作对应的误操作时间;
根据所述误操作时间查找目标全量备份文件,并根据所述唯一标识在所述目标全量备份文件中查找所述待恢复数据表对应的目标全量备份数据表,所述目标全量备份文件为备份时间与所述误操作时间最接近的全量备份文件;
根据所述唯一标识查找所述目标全量备份数据表对应的多个目标日志记录,其中,所述目标全量备份数据表对应的多个目标日志记录的操作时间处于所述目标全量备份文件对应的备份时间与所述误操作时间之间;
根据多个所述目标日志记录对所述目标全量备份数据表进行更新处理,获得已恢复数据表,并在目标数据库中使用所述已恢复数据表替换所述待恢复数据表。
进一步的,所述根据所述唯一标识在所述目标全量备份文件中查找所述待恢复数据表对应的目标全量备份数据表,包括:
将所述唯一标识输入至预置逻辑恢复工具中;
通过所述预置逻辑恢复工具在所述目标全量备份文件中查找所述目标全量备份数据表。
进一步的,在所述根据所述唯一标识在所述目标全量备份文件中查找所述待恢复数据表对应的目标全量备份数据表之后,所述方法还包括:
创建备份数据库;
通过所述预置逻辑恢复工具将所述目标全量备份数据表存储至所述备份数据库中。
进一步的,所述根据多个所述目标日志记录对所述目标全量备份数据表进行更新处理,以获得已恢复数据表,包括:
采用多线程技术对多个所述目标日志记录进行解析处理,以获得多个操作信息;
在所述备份数据库中根据多个所述操作信息对所述目标全量备份数据表进行更新处理。
进一步的,所述根据所述唯一标识查找所述目标全量备份数据表对应的多个目标日志记录,包括:
获取所述目标全量备份文件中每个全量备份数据表对应的多个目标日志记录,其中,每个所述全量备份数据表对应的多个目标日志记录的操作时间处于所述目标全量备份文件对应的备份时间与所述误操作时间之间;
根据所述唯一标识在多个所述全量备份数据表对应的多个目标日志记录中,查找所述目标全量备份数据表对应的多个目标日志记录。
进一步的,所述获取所述目标全量备份文件中每个全量备份数据表对应的多个目标日志记录,包括:
根据所述误操作时间确定所述DDL误操作对应的第一位置点,并根据所述目标全量备份文件对应的备份时间确定所述目标全量备份文件对应的第二位置点;
根据所述第一位置点和所述第二位置点,获取所述目标全量备份文件中每个全量备份数据表对应的多个目标日志记录。
进一步的,所述在目标数据库中使用所述已恢复数据表替换所述待恢复数据表,包括:
在所述备份数据库中提取所述已恢复数据表,并将所述已恢复数据表存储至所述目标数据库中;
输出任务完成提示信息,以提醒用户对所述已恢复数据表进行验证;
在接收到验证确认信息后,在所述目标数据库中删除所述待恢复数据表。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序代码:接收数据恢复信息,所述数据恢复信息中包含待恢复数据表对应的唯一标识和DDL误操作对应的误操作时间;根据所述误操作时间查找目标全量备份文件,并根据所述唯一标识在所述目标全量备份文件中查找所述待恢复数据表对应的目标全量备份数据表,所述目标全量备份文件为备份时间与所述误操作时间最接近的全量备份文件;根据所述唯一标识查找所述目标全量备份数据表对应的多个目标日志记录,其中,所述目标全量备份数据表对应的多个目标日志记录的操作时间处于所述目标全量备份文件对应的备份时间与所述误操作时间之间;根据多个所述目标日志记录对所述目标全量备份数据表进行更新处理,获得已恢复数据表,并在目标数据库中使用所述已恢复数据表替换所述待恢复数据表。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (16)

1.一种恢复数据的方法,其特征在于,包括:
接收数据恢复信息,所述数据恢复信息中包含待恢复数据表对应的唯一标识和DDL误操作对应的误操作时间;
根据所述误操作时间查找目标全量备份文件,并根据所述唯一标识在所述目标全量备份文件中查找所述待恢复数据表对应的目标全量备份数据表,所述目标全量备份文件为备份时间与所述误操作时间最接近的全量备份文件;
根据所述唯一标识查找所述目标全量备份数据表对应的多个目标日志记录,其中,所述目标全量备份数据表对应的多个目标日志记录的操作时间处于所述目标全量备份文件对应的备份时间与所述误操作时间之间;
根据多个所述目标日志记录对所述目标全量备份数据表进行更新处理,获得已恢复数据表,并在目标数据库中使用所述已恢复数据表替换所述待恢复数据表。
2.根据权利要求1所述的方法,其特征在于,所述根据所述唯一标识在所述目标全量备份文件中查找所述待恢复数据表对应的目标全量备份数据表,包括:
将所述唯一标识输入至预置逻辑恢复工具中;
通过所述预置逻辑恢复工具在所述目标全量备份文件中查找所述目标全量备份数据表。
3.根据权利要求2所述的方法,其特征在于,在所述根据所述唯一标识在所述目标全量备份文件中查找所述待恢复数据表对应的目标全量备份数据表之后,所述方法还包括:
创建备份数据库;
通过所述预置逻辑恢复工具将所述目标全量备份数据表存储至所述备份数据库中。
4.根据权利要求3所述的方法,其特征在于,所述根据多个所述目标日志记录对所述目标全量备份数据表进行更新处理,以获得已恢复数据表,包括:
采用多线程技术对多个所述目标日志记录进行解析处理,以获得多个操作信息;
在所述备份数据库中根据多个所述操作信息对所述目标全量备份数据表进行更新处理。
5.根据权利要求1所述的方法,其特征在于,所述根据所述唯一标识查找所述目标全量备份数据表对应的多个目标日志记录,包括:
获取所述目标全量备份文件中每个全量备份数据表对应的多个目标日志记录,其中,每个所述全量备份数据表对应的多个目标日志记录的操作时间处于所述目标全量备份文件对应的备份时间与所述误操作时间之间;
根据所述唯一标识在多个所述全量备份数据表对应的多个目标日志记录中,查找所述目标全量备份数据表对应的多个目标日志记录。
6.根据权利要求5所述的方法,其特征在于,所述获取所述目标全量备份文件中每个全量备份数据表对应的多个目标日志记录,包括:
根据所述误操作时间确定所述DDL误操作对应的第一位置点,并根据所述目标全量备份文件对应的备份时间确定所述目标全量备份文件对应的第二位置点;
根据所述第一位置点和所述第二位置点,获取所述目标全量备份文件中每个全量备份数据表对应的多个目标日志记录。
7.根据权利要求3所述的方法,其特征在于,所述在目标数据库中使用所述已恢复数据表替换所述待恢复数据表,包括:
在所述备份数据库中提取所述已恢复数据表,并将所述已恢复数据表存储至所述目标数据库中;
输出任务完成提示信息,以提醒用户对所述已恢复数据表进行验证;
在接收到验证确认信息后,在所述目标数据库中删除所述待恢复数据表。
8.一种恢复数据的装置,其特征在于,包括:
接收单元,用于接收数据恢复信息,所述数据恢复信息中包含待恢复数据表对应的唯一标识和DDL误操作对应的误操作时间;
第一查找单元,用于根据所述误操作时间查找目标全量备份文件,所述目标全量备份文件为备份时间与所述误操作时间最接近的全量备份文件;
第二查找单元,用于根据所述唯一标识在所述目标全量备份文件中查找所述待恢复数据表对应的目标全量备份数据表;
第三查找单元,用于根据所述唯一标识查找所述目标全量备份数据表对应的多个目标日志记录,其中,所述目标全量备份数据表对应的多个目标日志记录的操作时间处于所述目标全量备份文件对应的备份时间与所述误操作时间之间;
更新单元,用于根据多个所述目标日志记录对所述目标全量备份数据表进行更新处理,获得已恢复数据表;
替换单元,用于在目标数据库中使用所述已恢复数据表替换所述待恢复数据表。
9.根据权利要求8所述的装置,其特征在于,所述第二查找单元包括:
输入模块,用于将所述唯一标识输入至预置逻辑恢复工具中;
第一查找模块,用于通过所述预置逻辑恢复工具在所述目标全量备份文件中查找所述目标全量备份数据表。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
创建单元,用于在所述第二查找单元根据所述唯一标识在所述目标全量备份文件中查找所述待恢复数据表对应的目标全量备份数据表之后,创建备份数据库;
存储单元,用于通过所述预置逻辑恢复工具将所述目标全量备份数据表存储至所述备份数据库中。
11.根据权利要求10所述的装置,其特征在于,所述更新单元包括:
解析模块,用于采用多线程技术对多个所述目标日志记录进行解析处理,以获得多个操作信息;
更新模块,用于在所述备份数据库中根据多个所述操作信息对所述目标全量备份数据表进行更新处理。
12.根据权利要求8所述的装置,其特征在于,所述第三查找单元包括:
获取模块,用于获取所述目标全量备份文件中每个全量备份数据表对应的多个目标日志记录,其中,每个所述全量备份数据表对应的多个目标日志记录的操作时间处于所述目标全量备份文件对应的备份时间与所述误操作时间之间;
第二查找模块,用于根据所述唯一标识在多个所述全量备份数据表对应的多个目标日志记录中,查找所述目标全量备份数据表对应的多个目标日志记录。
13.根据权利要求12所述的装置,其特征在于,
所述获取模块,具体用于根据所述误操作时间确定所述DDL误操作对应的第一位置点,并根据所述目标全量备份文件对应的备份时间确定所述目标全量备份文件对应的第二位置点;根据所述第一位置点和所述第二位置点,获取所述目标全量备份文件中每个全量备份数据表对应的多个目标日志记录。
14.根据权利要求10所述的装置,其特征在于,所述替换单元包括:
提取模块,用于在所述备份数据库中提取所述已恢复数据表;
存储模块,用于将所述已恢复数据表存储至所述目标数据库中;
输出模块,用于输出任务完成提示信息,以提醒用户对所述已恢复数据表进行验证;
删除模块,在接收到验证确认信息后,在所述目标数据库中删除所述待恢复数据表。
15.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至7中任一项所述的恢复数据的方法。
16.一种恢复数据的装置,其特征在于,所述装置包括存储介质;及一个或者多个处理器,所述存储介质与所述处理器耦合,所述处理器被配置为执行所述存储介质中存储的程序指令;所述程序指令运行时执行权利要求1至7中任一项所述的恢复数据的方法。
CN202010652323.4A 2020-07-08 2020-07-08 恢复数据的方法及装置 Pending CN113918658A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010652323.4A CN113918658A (zh) 2020-07-08 2020-07-08 恢复数据的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010652323.4A CN113918658A (zh) 2020-07-08 2020-07-08 恢复数据的方法及装置

Publications (1)

Publication Number Publication Date
CN113918658A true CN113918658A (zh) 2022-01-11

Family

ID=79231605

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010652323.4A Pending CN113918658A (zh) 2020-07-08 2020-07-08 恢复数据的方法及装置

Country Status (1)

Country Link
CN (1) CN113918658A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115374126A (zh) * 2022-09-15 2022-11-22 中航信移动科技有限公司 一种用于MySQL数据表的数据恢复方法
CN115756960A (zh) * 2022-11-16 2023-03-07 湖南长银五八消费金融股份有限公司 误操作数据恢复方法、装置、计算机设备与存储介质
WO2024027314A1 (zh) * 2022-07-30 2024-02-08 超聚变数字技术有限公司 备份数据恢复方法及计算设备

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024027314A1 (zh) * 2022-07-30 2024-02-08 超聚变数字技术有限公司 备份数据恢复方法及计算设备
CN115374126A (zh) * 2022-09-15 2022-11-22 中航信移动科技有限公司 一种用于MySQL数据表的数据恢复方法
CN115756960A (zh) * 2022-11-16 2023-03-07 湖南长银五八消费金融股份有限公司 误操作数据恢复方法、装置、计算机设备与存储介质

Similar Documents

Publication Publication Date Title
EP2784665B1 (en) Program and version control method
CN113918658A (zh) 恢复数据的方法及装置
US9372765B2 (en) System and method for recovering system status consistently to designed recovering time point in distributed database
CN106897342B (zh) 一种数据校验方法和设备
CN101308471B (zh) 一种恢复数据的方法及装置
CN105205053A (zh) 一种数据库增量日志解析方法及系统
CN106933823B (zh) 数据同步方法及装置
CN109657803B (zh) 机器学习模型的构建
CN111125298A (zh) 重建ntfs文件目录树的方法、设备及存储介质
CN107609011B (zh) 一种数据库记录的维护方法和装置
CN108073595B (zh) 一种在olap数据库实现数据更新和快照的方法及装置
CN110968565A (zh) 一种数据库的创建方法及系统
CN111078719A (zh) 数据的恢复方法及装置、存储介质和处理器
CN111078510B (zh) 一种任务处理进度的记录方法及装置
CN114860654A (zh) 一种基于Flink数据流的Iceberg表Schema动态变更方法及系统
CN111026736B (zh) 数据血缘管理方法及装置、数据血缘解析方法及装置
CN107016028B (zh) 数据处理方法及其设备
CN108062323B (zh) 一种日志读取方法及装置
CN110019295B (zh) 数据库检索方法、装置、系统以及存储介质
CN110928941A (zh) 一种数据分片抽取方法及装置
CN105426676A (zh) 一种钻井数据处理方法和系统
CN111125087A (zh) 数据的存储方法及装置
CN108121719B (zh) 一种实现数据抽取转换加载etl的方法及装置
CN113326063A (zh) 数据处理方法、电子设备及存储介质
CN111125047B (zh) 冷热数据目录识别方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination