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

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

【技术实现步骤摘要】

本专利技术涉及计算机
,具体而言,本专利技术涉及一种应用于数据库的数据恢复方法及装置
技术介绍
在信息时代中,数据对于人们的重要程度不言自明,随之应运而生的是按照数据结构来组织、存储和管理数据的数据库。数据库技术是管理信息系统、办公自动化系统、决策支持系统等各类信息系统的核心部分,是进行科学研宄和决策管理的重要技术手段。许多系统应用都会使用数据库来存储各种信息,系统中的应用程序可以通过数据库命令将信息写入数据库,也能够通过数据库命令由数据库读取所需的信息。因此,数据库所存储的数据具有极高的重要性,如果当用户在对数据库进行操作时发生了误操作,其影响程度是非常大的。MySQL数据库是一种广泛使用的开源关系型数据库管理系统,但现有的MySQL数据库并未提供能够快速恢复数据的功能,当用户对数据库进行误操作而需要恢复数据时,通常会根据备份数据进行数据恢复工作。然而,备份数据的恢复过程需要消耗很长的时间,因而会造成数据库长时间无法正常的运作,使得前端服务被长时间中断,大大降低前端用户的使用体验。
技术实现思路
为克服上述技术问题或者至少部分地解决上述技术问题,特提出以下技术方案:本专利技术的实施例提出了一种应用于数据库的数据恢复方法,包括:接收数据恢复请求;确定与数据恢复请求相应的二进制日志信息;将二进制日志信息解析并转换为第一文本信息;将第一文本信息逆向解析并转换成第二文本信息;基于第二文本信息执行数据恢复。本专利技术的实施例还提出了一种应用于数据库的数据恢复装置,包括:恢复请求接收模块,用于接收数据恢复请求;日志确定模块,用于确定与数据恢复请求相应的二进制日志信息;第一转换模块,用于将二进制日志信息解析并转换为第一文本信息;第二转换模块,用于将第一文本信息逆向解析并转换成第二文本信息;数据恢复模块,用于基于第二文本信息执行数据恢复。本专利技术的实施例中,采用行存储模式的二进制日志信息可以记录MySQL数据库中数据变化前后的信息,从而能够从二进制日志信息中确定执行数据变化的操作指令与操作指令的执行顺序,通过将操作指令及操作指令的执行顺序分别逆向转换为逆向操作指令及逆向操作指令的逆向操作顺序,并结合操作内容,可将数据库的数据恢复至所需的状态;由于本专利技术的方案中仅对待恢复时间区间内的二进制日志信息进行转换处理,大大降低了数据处理量,从而有效地降低数据库的数据恢复时间,当发生对数据的误操作等情况时,可以缩短前端服务被中断的时长,大大降低对前端用户的使用影响。本专利技术附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本专利技术的实践了解到。【附图说明】本专利技术上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:图1为本专利技术中应用于数据库的数据恢复的方法一个实施例的流程示意图;图2为本专利技术中应用于数据库的数据恢复的装置一个实施例的结构示意图。【具体实施方式】下面详细描述本专利技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本专利技术,而不能解释为对本专利技术的限制。本
技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本专利技术的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。本
技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本专利技术所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。本专利技术的方法和装置适用于所有类似MySQL的数据库,其中,所述类似MySQL的数据库即为关系型数据库,且包括记录有操作信息的日志信息。下文以MySQL数据库为例进行本专利技术实施例的详述。MySQL数据库的二进制日志信息(binlog)用来记录所有用户对数据库操作,即记录用户对数据库操作的SQL语句。通过读取该二进制日志信息,能够查看到用户在该二进制日志信息中记录的一定时间段内用户所做的操作。MySQL数据库的二进制日志信息通常有三种存储模式,分别是行(row)模式、陈述(statement)模式和混和(mix)模式。其中,行存储模式的二进制日志信息会记录MySQL数据库中每一行数据被修改的信息。本专利技术的实施例中以行模式存储二进制日志信息。图1为本专利技术中应用于数据库的数据恢复方法一个实施例的流程示意图。步骤SllO:接收数据恢复请求;步骤S120:确定与数据恢复请求相应的二进制日志信息;步骤S130:将二进制日志信息解析并转换为第一文本信息;步骤S140:将第一文本信息逆向解析并转换成第二文本信息;步骤S150:基于第二文本信息执行数据恢复。 本专利技术的实施例中,采用行存储模式的二进制日志信息可以记录MySQL数据库中数据变化前后的信息,从而能够从二进制日志信息中确定执行数据变化的操作指令与操作指令的执行顺序,通过将操作指令及操作指令的执行顺序分别逆向转换为逆向操作指令及逆向操作指令的逆向操作顺序,并结合操作内容,可将数据库的数据恢复至所需的状态;由于本专利技术的方案中仅对待恢复时间区间内的二进制日志信息进行转换处理,大大降低了数据处理量,从而有效地降低数据库的数据恢复时间,当发生对数据的误操作等情况时,可以缩短前端服务被中断的时长,大大降低对前端用户的使用影响。步骤SllO:接收数据恢复请求。步骤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-post1n = 〃100〃,来定位从 A 位置开始到B位置结束的二进制日志信息。步骤S130:将二进制日志信息解析并转换为第一文本信息。例如,通过MySQL数据库自带的数据库命令mysqlbinlog,而将二进制日志文件解析并转换为相应的第一文本信息。其中,第一文本信息具体包括在本文档来自技高网
...

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

【技术特征摘要】

【专利技术属性】
技术研发人员:李丹
申请(专利权)人:北京奇虎科技有限公司奇智软件北京有限公司
类型:发明
国别省市:北京;11

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

1