应用于数据库的数据恢复方法及装置.pdf

上传人:小** 文档编号:177015 上传时间:2018-01-31 格式:PDF 页数:10 大小:577.44KB
返回 下载 相关 举报
摘要
申请专利号:

CN201510218185.8

申请日:

2015.04.30

公开号:

CN104765659A

公开日:

2015.07.08

当前法律状态:

实审

有效性:

审中

法律详情:

实质审查的生效IPC(主分类):G06F 11/14申请日:20150430|||公开

IPC分类号:

G06F11/14; G06F17/30

主分类号:

G06F11/14

申请人:

北京奇虎科技有限公司; 奇智软件(北京)有限公司

发明人:

李丹

地址:

100088北京市西城区新街口外大街28号D座112室(德胜园区)

优先权:

专利代理机构:

北京市立方律师事务所11330

代理人:

王增鑫

PDF下载: PDF下载
内容摘要

本发明提供了一种应用于数据库的数据恢复方法及装置,所述方法包括:接收数据恢复请求;确定与数据恢复请求相应的二进制日志信息;将二进制日志信息解析并转换为第一文本信息;将第一文本信息逆向解析并转换成第二文本信息;基于第二文本信息执行数据恢复。本发明的方案通过仅对待恢复时间区间内的二进制日志信息进行转换处理,大大降低了数据处理量,从而有效地降低数据库的数据恢复时间,当发生对数据的误操作等情况时,可以缩短前端服务被中断的时长,大大降低对前端用户的使用影响。

权利要求书

1.  一种应用于数据库的数据恢复方法,其特征在于,包括:
接收数据恢复请求;
确定与所述数据恢复请求相应的二进制日志信息;
将所述二进制日志信息解析并转换为第一文本信息;
将所述第一文本信息逆向解析并转换成第二文本信息;以及
基于所述第二文本信息执行数据恢复。

2.
  根据权利要求1所述的应用于数据库的数据恢复方法,其特征在于,所述数据恢复请求包括待恢复时间区间;
其中,确定与所述数据恢复请求相应的二进制日志信息,具体包括:
确定在所述待恢复时间区间内数据库的二进制日志信息。

3.
  根据权利要求1或2所述的应用于数据库的数据恢复方法,其特征在于,所述第一文本信息具体包括操作指令、操作内容及操作指令的执行顺序。

4.
  根据权利要求1-3任一项所述的应用于数据库的数据恢复方法,其特征在于,所述第二文本信息具体包括逆向操作指令、操作内容及该逆向操作指令的逆向执行顺序。

5.
  根据权利要求1-4任一项所述的应用于数据库的数据恢复方法,其特征在于,将所述第一文本信息逆向解析并转换成第二文本信息,具体包括:
将所述第一文本信息中的操作指令逆向解析并转换为逆向操作指令;以及
将所述第一文本信息中的操作指令的执行顺序逆向解析并转换为逆向操作指令的逆向执行顺序。

6.
  一种应用于数据库的数据恢复装置,其特征在于,包括:
恢复请求接收模块,用于接收数据恢复请求;
日志确定模块,用于确定与所述数据恢复请求相应的二进制日志信息;
第一转换模块,用于将所述二进制日志信息解析并转换为第一文本信息;
第二转换模块,用于将所述第一文本信息逆向解析并转换成第二文本信息;
数据恢复模块,用于基于所述第二文本信息执行数据恢复。

7.
  根据权利要求6所述的应用于数据库的数据恢复装置,其特征在于,所述数据恢复请求包括待恢复时间区间;
其中,所述日志确定模块具体用于确定在所述待恢复时间区间内数据库的二进制日志信息。

8.
  根据权利要求6或7所述的应用于数据库的数据恢复装置,其特征在于,所述第一文本信息具体包括操作指令、操作内容及操作指令的执行顺序。

9.
  根据权利要求6-8任一项所述的应用于数据库的数据恢复装置,其特征在于,所述第二文本信息具体包括逆向操作指令、操作内容及该逆向操作指令的逆向执行顺序。

10.
  根据权利要求6-9任一项所述的应用于数据库的数据恢复装置,其特征在于,所述第二转换模块具体用于将所述第一文本信息中的操作指令逆向解析并转换为逆向操作指令;及将所述第一文本信息中的操作指令的执行顺序逆向解析并转换为逆向操作指令的逆向执行顺序。

说明书

应用于数据库的数据恢复方法及装置
技术领域
本发明涉及计算机技术领域,具体而言,本发明涉及一种应用于数据库的数据恢复方法及装置。
背景技术
在信息时代中,数据对于人们的重要程度不言自明,随之应运而生的是按照数据结构来组织、存储和管理数据的数据库。数据库技术是管理信息系统、办公自动化系统、决策支持系统等各类信息系统的核心部分,是进行科学研究和决策管理的重要技术手段。许多系统应用都会使用数据库来存储各种信息,系统中的应用程序可以通过数据库命令将信息写入数据库,也能够通过数据库命令由数据库读取所需的信息。因此,数据库所存储的数据具有极高的重要性,如果当用户在对数据库进行操作时发生了误操作,其影响程度是非常大的。
MySQL数据库是一种广泛使用的开源关系型数据库管理系统,但现有的MySQL数据库并未提供能够快速恢复数据的功能,当用户对数据库进行误操作而需要恢复数据时,通常会根据备份数据进行数据恢复工作。然而,备份数据的恢复过程需要消耗很长的时间,因而会造成数据库长时间无法正常的运作,使得前端服务被长时间中断,大大降低前端用户的使用体验。
发明内容
为克服上述技术问题或者至少部分地解决上述技术问题,特提出以下技术方案:
本发明的实施例提出了一种应用于数据库的数据恢复方法,包括:
接收数据恢复请求;
确定与数据恢复请求相应的二进制日志信息;
将二进制日志信息解析并转换为第一文本信息;
将第一文本信息逆向解析并转换成第二文本信息;
基于第二文本信息执行数据恢复。
本发明的实施例还提出了一种应用于数据库的数据恢复装置,包括:
恢复请求接收模块,用于接收数据恢复请求;
日志确定模块,用于确定与数据恢复请求相应的二进制日志信息;
第一转换模块,用于将二进制日志信息解析并转换为第一文本信息;
第二转换模块,用于将第一文本信息逆向解析并转换成第二文本信息;
数据恢复模块,用于基于第二文本信息执行数据恢复。
本发明的实施例中,采用行存储模式的二进制日志信息可以记录MySQL数据库中数据变化前后的信息,从而能够从二进制日志信息中确定执行数据变化的操作指令与操作指令的执行顺序,通过将操作指令及操作指令的执行顺序分别逆向转换为逆向操作指令及逆向操作指令的逆向操作顺序,并结合操作内容,可将数据库的数据恢复至所需的状态;由于本发明的方案中仅对待恢复时间区间内的二进制日志信息进行转换处理,大大降低了数据处理量,从而有效地降低数据库的数据恢复时间,当发生对数据的误操作等情况时,可以缩短前端服务被中断的时长,大大降低对前端用户的使用影响。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明中应用于数据库的数据恢复的方法一个实施例的流程示意图;
图2为本发明中应用于数据库的数据恢复的装置一个实施例的结构 示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
本发明的方法和装置适用于所有类似MySQL的数据库,其中,所述类似MySQL的数据库即为关系型数据库,且包括记录有操作信息的日志信息。
下文以MySQL数据库为例进行本发明实施例的详述。
MySQL数据库的二进制日志信息(binlog)用来记录所有用户对数据库操作,即记录用户对数据库操作的SQL语句。通过读取该二进制日志信息,能够查看到用户在该二进制日志信息中记录的一定时间段内用户所做的操作。
MySQL数据库的二进制日志信息通常有三种存储模式,分别是行(row)模式、陈述(statement)模式和混和(mix)模式。其中,行存储模式的二进制日志信息会记录MySQL数据库中每一行数据被修改的信息。本发明的实施例中以行模式存储二进制日志信息。
图1为本发明中应用于数据库的数据恢复方法一个实施例的流程示意图。
步骤S110:接收数据恢复请求;步骤S120:确定与数据恢复请求相应的二进制日志信息;步骤S130:将二进制日志信息解析并转换为第一文本信息;步骤S140:将第一文本信息逆向解析并转换成第二文本信息;步骤S150:基于第二文本信息执行数据恢复。
本发明的实施例中,采用行存储模式的二进制日志信息可以记录MySQL数据库中数据变化前后的信息,从而能够从二进制日志信息中确定执行数据变化的操作指令与操作指令的执行顺序,通过将操作指令及操作指令的执行顺序分别逆向转换为逆向操作指令及逆向操作指令的逆向操作顺序,并结合操作内容,可将数据库的数据恢复至所需的状态;由于本发明的方案中仅对待恢复时间区间内的二进制日志信息进行转换处理,大大降低了数据处理量,从而有效地降低数据库的数据恢复时间,当发生对数据的误操作等情况时,可以缩短前端服务被中断的时长,大大降低对前端用户的使用影响。
步骤S110:接收数据恢复请求。
步骤S120:确定与数据恢复请求相应的二进制日志信息。
具体地,数据恢复请求包括待恢复时间区间;根据待恢复时间区间,确定在待恢复时间区间内数据库的二进制日志信息。
例如,误操作发生在2015年4月17日10点至12点的时间区间内,可通过执行数据库命令:mysqlbinlog--start-date="2015-04-1710:00:00"--stop-date="2015-04-1712:00:00",来定位在该时间区间内的二进制日志信息。
优选地,基于在该时间区间内的二进制日志信息,可确定多个操作对应二进制日志信息的起始位置,如需要恢复从A位置“50”到B位置的 “100”的数据,可进一步执行命令:mysqlbinlog--start-positon="50"--stop-postion="100",来定位从A位置开始到B位置结束的二进制日志信息。
步骤S130:将二进制日志信息解析并转换为第一文本信息。
例如,通过MySQL数据库自带的数据库命令mysqlbinlog,而将二进制日志文件解析并转换为相应的第一文本信息。
其中,第一文本信息具体包括在待恢复时间区间内,用户对数据库执行全部操作的操作指令、操作内容及操作指令的执行顺序;操作指令包括插入、删除、更新等。
步骤S140:将第一文本信息逆向解析并转换成第二文本信息。
其中,第二文本信息具体包括与第一文本信息中操作指令相应的逆向操作指令、操作内容及该逆向操作指令的逆向执行顺序。
具体地,通过将第一文本信息中的操作指令逆向解析并转换为逆向操作指令,并将第一文本信息中的操作指令的执行顺序逆向解析并转换为逆向操作指令的逆向执行顺序,来将第一文本信息逆向解析并转换成第二文本信息。
其中,将操作指令逆向解析并转换为逆向操作指令的方式具体包括:
将在数据库中插入数据的误操作指令逆向转换为删除数据的逆向操作指令;例如,将insert指令转换成delete指令;
将在数据库中删除数据的误操作指令逆向转换为插入数据的逆向操作指令;例如,将delete指令转换成insert指令;
将在数据库中更新数据的误操作指令逆向转换为再次更新数据的逆向操作指令;例如,将update指令转换成update指令。
其中,将第一文本信息中的操作指令的执行顺序逆向解析并转换为逆向操作指令的逆向执行顺序,具体为:将第一文本信息中的操作指令的从前到后的执行顺序,逆向转换为从后至前的逆向执行顺序。
例如,第一文本信息为:
mysql>delete into user(name)values(李四);
mysql>insert into user(name)values(王五);
mysql>insert into user(name)values(张三);
其中,第一文本信息中的操作指令及操作内容为:删除“李四”、插入“王五”、插入“张三”;操作顺序为:1删除“李四”-2插入“王五”-3插入“张三”;
将第一文本信息逆向解析并转换成第二文本信息为:
mysql>delete into user(name)values(张三);
mysql>delete into user(name)values(王五);
mysql>insert into user(name)values(李四);
其中,第二文本信息中的逆向操作指令及操作内容为:删除“张三”、删除“王五”、插入“李四”;逆向操作顺序为:1删除“张三”-2删除“王五”-3插入“李四”。
步骤S150:基于第二文本信息执行数据恢复.
具体地,将第二文本信息导入数据库相应的实例中,以恢复数据。
图2为本发明中应用于数据库的数据恢复装置一个实施例的结构示意图。
恢复请求接收模块210接收数据恢复请求;日志确定模块220确定与数据恢复请求相应的二进制日志信息;第一转换模块230将二进制日志信息解析并转换为第一文本信息;第二转换模块240将第一文本信息逆向解析并转换成第二文本信息;数据恢复模块250基于第二文本信息执行数据恢复。
本发明的实施例中,采用行存储模式的二进制日志信息可以记录MySQL数据库中数据变化前后的信息,从而能够从二进制日志信息中确定执行数据变化的操作指令与操作指令的执行顺序,通过将操作指令及操作指令的执行顺序分别逆向转换为逆向操作指令及逆向操作指令的逆向操作顺序,并结合操作内容,可将数据库的数据恢复至所需的状态;由于本发明的方案中仅对待恢复时间区间内的二进制日志信息进行转换处理,大大降低了数据处理量,从而有效地降低数据库的数据恢复时间,当发生对数据的误操作等情况时,可以缩短前端服务被中断的时长,大大降低对前端用户的使用影响。
恢复请求接收模块210接收数据恢复请求。
日志确定模块220确定与数据恢复请求相应的二进制日志信息。
具体地,数据恢复请求包括待恢复时间区间;根据待恢复时间区间,确定在待恢复时间区间内数据库的二进制日志信息。
例如,误操作发生在2015年4月17日10点至12点的时间区间内,可通过执行数据库命令:mysqlbinlog--start-date="2015-04-1710:00:00"--stop-date="2015-04-1712:00:00",来定位在该时间区间内的二进制日志信息。
优选地,基于在该时间区间内的二进制日志信息,可确定多个操作对应二进制日志信息的起始位置,如需要恢复从A位置“50”到B位置的“100”的数据,可进一步执行命令:mysqlbinlog--start-positon="50"--stop-postion="100",来定位从A位置开始到B位置结束的二进制日志信息。
第一转换模块230将二进制日志信息解析并转换为第一文本信息。
例如,通过MySQL数据库自带的数据库命令mysqlbinlog,而将二进制日志文件解析并转换为相应的第一文本信息。
其中,第一文本信息具体包括在待恢复时间区间内,用户对数据库执行全部操作的操作指令、操作内容及操作指令的执行顺序;操作指令包括插入、删除、更新等。
第二转换模块240将第一文本信息逆向解析并转换成第二文本信息。
其中,第二文本信息具体包括与第一文本信息中操作指令相应的逆向操作指令、操作内容及该逆向操作指令的逆向执行顺序。
具体地,通过将第一文本信息中的操作指令逆向解析并转换为逆向操作指令,并将第一文本信息中的操作指令的执行顺序逆向解析并转换为逆向操作指令的逆向执行顺序,来将第一文本信息逆向解析并转换成第二文本信息。
其中,将操作指令逆向解析并转换为逆向操作指令的方式具体包括:
将在数据库中插入数据的误操作指令逆向转换为删除数据的逆向操作指令;例如,将insert指令转换成delete指令;
将在数据库中删除数据的误操作指令逆向转换为插入数据的逆向操作指令;例如,将delete指令转换成insert指令;
将在数据库中更新数据的误操作指令逆向转换为再次更新数据的逆向操作指令;例如,将update指令转换成update指令。
其中,将第一文本信息中的操作指令的执行顺序逆向解析并转换为逆向操作指令的逆向执行顺序,具体为:将第一文本信息中的操作指令的从前到后的执行顺序,逆向转换为从后至前的逆向执行顺序。
例如,第一文本信息为:
mysql>delete into user(name)values(李四);
mysql>insert into user(name)values(王五);
mysql>insert into user(name)values(张三);
其中,第一文本信息中的操作指令及操作内容为:删除“李四”、插入“王五”、插入“张三”;操作顺序为:1删除“李四”-2插入“王五”-3插入“张三”;
将第一文本信息逆向解析并转换成第二文本信息为:
mysql>delete into user(name)values(张三);
mysql>delete into user(name)values(王五);
mysql>insert into user(name)values(李四);
其中,第二文本信息中的逆向操作指令及操作内容为:删除“张三”、删除“王五”、插入“李四”;逆向操作顺序为:1删除“张三”-2删除“王五”-3插入“李四”。
数据恢复模块250基于第二文本信息执行数据恢复.
具体地,将第二文本信息导入数据库相应的实例中,以恢复数据。
技术领域技术人员可以理解,本发明包括涉及用于执行本申请中所述操作中的一项或多项的设备。这些设备可以为所需的目的而专门设计和制造,或者也可以包括通用计算机中的已知设备。这些设备具有存储在其内的计算机程序,这些计算机程序选择性地激活或重构。这样的计算机程序可以被存储在设备(例如,计算机)可读介质中或者存储在适于存储电子指令并分别耦联到总线的任何类型的介质中,所述计算机可读介质包括 但不限于任何类型的盘(包括软盘、硬盘、光盘、CD-ROM、和磁光盘)、ROM(Read-Only Memory,只读存储器)、RAM(Random Access Memory,随即存储器)、EPROM(Erasable Programmable Read-Only Memory,可擦写可编程只读存储器)、EEPROM(Electrically Erasable Programmable Read-Only Memory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,可读介质包括由设备(例如,计算机)以能够读的形式存储或传输信息的任何介质。
技术领域技术人员可以理解,可以用计算机程序指令来实现这些结构图和/或框图和/或流图中的每个框以及这些结构图和/或框图和/或流图中的框的组合。本技术领域技术人员可以理解,可以将这些计算机程序指令提供给通用计算机、专业计算机或其他可编程数据处理方法的处理器来实现,从而通过计算机或其他可编程数据处理方法的处理器来执行本发明公开的结构图和/或框图和/或流图的框或多个框中指定的方案。
技术领域技术人员可以理解,本发明中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本发明中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本发明中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

应用于数据库的数据恢复方法及装置.pdf_第1页
第1页 / 共10页
应用于数据库的数据恢复方法及装置.pdf_第2页
第2页 / 共10页
应用于数据库的数据恢复方法及装置.pdf_第3页
第3页 / 共10页
点击查看更多>>
资源描述

《应用于数据库的数据恢复方法及装置.pdf》由会员分享,可在线阅读,更多相关《应用于数据库的数据恢复方法及装置.pdf(10页珍藏版)》请在专利查询网上搜索。

本发明提供了一种应用于数据库的数据恢复方法及装置,所述方法包括:接收数据恢复请求;确定与数据恢复请求相应的二进制日志信息;将二进制日志信息解析并转换为第一文本信息;将第一文本信息逆向解析并转换成第二文本信息;基于第二文本信息执行数据恢复。本发明的方案通过仅对待恢复时间区间内的二进制日志信息进行转换处理,大大降低了数据处理量,从而有效地降低数据库的数据恢复时间,当发生对数据的误操作等情况时,可以缩短。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1