CN105373448A - 数据库中故障数据的恢复方法和系统 - Google Patents
数据库中故障数据的恢复方法和系统 Download PDFInfo
- Publication number
- CN105373448A CN105373448A CN201510706770.2A CN201510706770A CN105373448A CN 105373448 A CN105373448 A CN 105373448A CN 201510706770 A CN201510706770 A CN 201510706770A CN 105373448 A CN105373448 A CN 105373448A
- Authority
- CN
- China
- Prior art keywords
- fault data
- snapshot
- incremental log
- backup file
- database
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/84—Using snapshots, i.e. a logical point-in-time copy of the data
Abstract
本申请公开了数据库中故障数据的恢复方法和系统。所述方法的一具体实施方式包括:接收故障数据恢复请求信息,其中,所述故障数据恢复请求信息包括故障数据的标识信息和目标恢复时间信息;基于所述故障数据的标识信息在所述数据库的第一快照中获取所述故障数据的备份文件;获取所述故障数据的增量日志,其中,所述故障数据的增量日志包括所述故障数据在所述第一快照的快照时刻和所述目标恢复时间信息中的目标恢复时刻之间的变化信息;以及基于所述故障数据的备份文件和所述故障数据的增量日志,恢复所述故障数据。该实施方式实现了快速将数据库恢复到目标恢复时刻。
Description
技术领域
本申请涉及数据处理领域,尤其涉及数据库中故障数据的恢复方法和系统。
背景技术
随着大数据时代的到来,数据库变得日益重要。然而随着数据库业务迭代的增加,数据库的故障概率也随之增加。而数据库出现故障会对业务造成很大的影响,因此当数据库出现故障时,如何快速有效的恢复数据库变得尤为重要。
目前,业内往往是通过全量快照和人工追加变更日志的方式来实现数据库的恢复。但是由于数据库中存在大量数据,上述方法恢复数据库就会存在以下问题:①效率低,由于数据库中的数据量很大,恢复全量数据非常慢,追加全量变更日志的效率也低,恢复效率非常低;②恢复代价大,由于需要恢复全量数据,占用磁盘空间很大,往往需要使用额外的机器资源完成数据恢复,而且数据恢复过程中需要数据库维护人员的全程参与,恢复成本较高;③恢复数据粒度单一,只支持全部数据一块恢复,无法针对故障数据部分完成数据恢复。因此,现在亟需一种快速有效的数据库恢复方法来满足数据库恢复到任意目标时刻的需求。
发明内容
本申请的目的在于提出一种改进的数据库中故障数据的恢复方法和系统,来解决以上背景技术部分提到的技术问题。
第一方面,本申请提供了一种数据库中故障数据的恢复方法,所述方法包括:接收故障数据恢复请求信息,其中,所述故障数据恢复请求信息包括故障数据的标识信息和目标恢复时间信息;基于所述故障数据的标识信息在所述数据库的第一快照中获取所述故障数据的备份文件;获取所述故障数据的增量日志,其中,所述故障数据的增量日志包括所述故障数据在所述第一快照的快照时刻和所述目标恢复时间信息中的目标恢复时刻之间的变化信息;以及基于所述故障数据的备份文件和所述故障数据的增量日志,恢复所述故障数据。
在一些实施例中,所述第一快照的快照时刻与所述目标恢复信息中的目标恢复时刻之间没有创建其它快照。
在一些实施例中,所述基于所述故障数据的标识信息在所述数据库的第一快照中获取所述故障数据的备份文件,包括:判断所述第一快照的压缩状态,其中所述压缩状态为指示所述第一快照中各备份文件是否为压缩文件的状态;若所述第一快照未处于压缩状态,则获取所述故障数据的备份文件;若所述第一快照处于压缩状态,则解压缩所述第一快照,获取所述故障数据的备份文件。
在一些实施例中,所述获取所述故障数据的增量日志,包括:获取所述第一快照的快照时刻与所述目标恢复时间信息中的目标恢复时刻之间的与所述数据库中包含的所有数据对应的增量日志,构成增量日志集合;从所述增量日志集合中提取所述故障数据的增量日志。
在一些实施例中,所述从所述增量日志集合中提取所述故障数据的增量日志,包括:将所述增量日志集合解析成可读文本信息;基于锚点定位确定所述增量日志集合中每个增量日志所对应的可读文本信息的起始位置和结束位置;基于预设的正则表达式与所述起始位置和所述结束位置的匹配,确定与所述故障数据的增量日志对应的可读文本信息;提取所述故障数据的增量日志。
在一些实施例中,所述基于所述故障数据的备份文件和所述故障数据的增量日志,恢复所述故障数据,包括:创建临时实例;将所述第一快照中获取的所述故障数据的备份文件导入所述临时实例;将所述第一快照的快照时刻和所述目标恢复时间信息中的目标恢复时刻之间的所述故障数据的增量日志导入所述临时实例;基于所述临时实例,将所述数据库恢复到所述目标恢复时刻。
在一些实施例中,所述将所述第一快照中获取的所述故障数据的备份文件导入所述临时实例,包括:从所述第一快照中获取所述故障数据的备份文件的编号;将所述故障数据的备份文件的编号与所述临时实例中的编号进行对比;当所述故障数据的备份文件的编号与所述临时实例中的编号相同时,将所述故障数据的备份文件导入所述临时实例。
第二方面,本申请提供了数据库中故障数据的恢复系统,所述系统包括:接收模块,用于接收故障数据恢复请求信息,其中,所述故障数据恢复请求信息包括故障数据的标识信息和目标恢复时间信息;备份文件获取模块,用于基于所述故障数据的标识信息在所述数据库的第一快照中获取所述故障数据的备份文件;增量日志获取模块,用于获取所述故障数据的增量日志,其中,所述故障数据的增量日志包括所述故障数据在所述第一快照的快照时刻和所述目标恢复时间信息中的目标恢复时刻之间的变化信息;以及恢复模块,用于基于所述故障数据的备份文件和所述故障数据的增量日志,恢复所述故障数据。
在一些实施例中,所述第一快照的快照时刻与所述目标恢复信息中的目标恢复时刻之间没有创建其它快照。
在一些实施例中,所述备份文件获取模块,具体用于:判断所述第一快照的压缩状态,其中所述压缩状态为指示所述第一快照中各备份文件是否为压缩文件的状态;若所述第一快照未处于压缩状态,则获取所述故障数据的备份文件;若所述第一快照处于压缩状态,则解压缩所述第一快照,获取所述故障数据的备份文件。
在一些实施例中,所述增量日志获取模块,具体用于:获取所述第一快照的快照时刻与所述目标恢复时间信息中的目标恢复时刻之间的与所述数据库中包含的所有数据对应的增量日志,构成增量日志集合;从所述增量日志集合中提取所述故障数据的增量日志。
在一些实施例中,所述增量日志获取模块进一步配置用于:将所述增量日志集合解析成可读文本信息;基于锚点定位确定所述增量日志集合中每个增量日志所对应的可读文本信息的起始位置和结束位置;基于预设的正则表达式与所述起始位置和所述结束位置的匹配,确定所述故障数据的增量日志对应的可读文本信息;提取所述故障数据的增量日志。
在一些实施例中,所述恢复模块,具体用于:创建临时实例;将所述第一快照中获取的所述故障数据的备份文件导入所述临时实例;将所述第一快照的快照时刻和所述目标恢复时间信息中的目标恢复时刻之间的所述故障数据的增量日志导入所述临时实例;基于所述临时实例,将所述数据库恢复到所述目标恢复时刻。
在一些实施例中,所述恢复模块进一步配置用于:从所述第一快照中获取与所述故障数的备份文件的编号;将所述故障数据的备份文件的编号与所述临时实例中的编号进行对比;若所述故障数据的备份文件的编号与所述临时实例中的编号相同时,则将所述故障数据的备份文件导入所述临时实例。
本申请提供的数据库中故障数据的恢复方法和系统,通过获得所述数据库的第一快照中获取故障数据的备份文件,以及所述第一快照的快照时刻和所述目标恢复时间信息中的目标恢复时刻之间的故障数据的增量日志,最后基于所述故障数据的备份文件和所述故障数据的增量日志,恢复所述故障数据,通过快照和增量日志的结合将恢复数据库恢复到目标恢复时刻,并且这种方法只需要恢复数据库中故障数据,极大的缩短了数据库恢复需要的时间,提高了数据库恢复的效率。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是可以应用于本申请实施例的示例性系统架构图;
图2是根据本申请的数据库中故障数据的恢复方法的一个实施例的流程图;
图3是根据本申请的数据库中故障数据的恢复方法的一时间轴简图;
图4是根据本申请的数据库中故障数据的恢复方法中,获取故障数据的备份文件的一种实现方式的示意性流程图;
图5是根据本申请的数据库中故障数据的恢复方法中,获取故障数据的增量日志的一种实现方式的示意性流程图;
图6是根据本申请的数据库中故障数据的恢复方法中,基于临时实例恢复故障数据的一种实现方式的示意性流程图;
图7是根据本申请的数据库中故障数据的恢复系统的一个实施例的结构示意图;
图8是适于用来实现本申请实施例的客户端设备或服务器的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请的数据库中故障数据的恢复方法或数据库中故障数据的恢复系统的实施例的示例性系统架构100。
如图1所示,系统架构100可以包括客户端设备101、102、103,网络104和一个或多个服务器105。网络104用以在客户端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用客户端端设备101、102、103通过网络104与服务器105交互,以查询、存储或恢复数据等。客户端设备101、102、103上可以安装与数据库交互的工具,例如SQLPLUS等,对数据库进行查看、修改等操作。
客户端设备101、102、103可以是用于访问数据库的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、膝上型便携计算机和台式计算机等等。
服务器105可以是一台服务器,或者是由若干台服务器组形成的服务器集群,用于提供各种数据服务,例如对客户端设备101、102、103上的查询、更新、索引等请求提供支持的数据库服务器。服务器可以对接收到的数据进行存储、分析等处理,并将处理结果反馈给客户端设备。
需要说明的是,本申请实施例所提供的数据库中故障数据恢复方法可以由客户端设备101、102、103或服务器105单独执行,也可以由客户端设备101、102、103和服务器105共同执行。相应地,数据库中故障数据的恢复系统可以设置于客户端设备101、102、103中,也可以设置于服务器105中。
应该理解,图1中的客户端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的客户端设备、网络和服务器。
本申请的方法和系统适用于所有类似MySQL的数据库,在这里,类似MySQL的数据库中还包括数据库的快照和记录有操作信息的日志。
继续参考图2,其示出了根据本申请的数据库中故障数据的恢复方法的一个实施例的流程200。所述的数据库中故障数据的恢复方法,包括以下步骤:
步骤201,接收故障数据恢复请求信息。
在本实施例中,用户所使用的电子设备(例如图1所示的客户端设备或服务器)可以从本地或者远程地接收数据库的故障数据恢复请求信息。上述故障数据恢复请求信息至少包括:故障数据的标识信息和目标恢复时间信息。其中,故障数据标识信息用于标识出数据库中出故障的数据的编号等信息,目标恢复时间信息用于确定数据库需要恢复到的目标恢复时刻。
步骤202,基于故障数据的标识信息在数据库的第一快照中获取故障数据的备份文件。
在本实施例中,在上述电子设备接收到数据库的故障数据恢复请求信息之后,其可以对应的获得数据库中的第一快照,从而进一步的获得第一快照中故障数据所对应的备份文件,供后继恢复数据库使用。其中,快照是指数据库在某一时刻保存的数据库文件,该快照中包括创建快照的时间信息和数据信息等。
在本实施例的一些可选的实现方式中,在上述第一快照的快照时刻与上述目标恢复信息中的目标恢复时刻之间没有创建其它快照。
在本实施例的一些可选的实现方式中,上述电子设备保存的数据库的第一快照中的备份文件可能是未压缩文件的状态,也可能是压缩文件的状态。
在一些应用场景中,可以每间隔一预设时间(例如,24小时)对数据库进行一次快照备份。在进行每次的快照备份时,例如,可以将当前快照保存为非压缩文件,并将前一次的快照进行压缩,形成压缩文件。可选地,在将前一次的快照进行压缩时,可以将前一次的快照中,与数据库中的各数据文件和表文件等对应的备份文件进行单独地并行压缩,从而节省压缩所需时间。由于数据库出现故障时,需要恢复的数据的大多是最近时间段的数据,因而在数据库恢复时,最有可能用到的快照为距离当前时刻最近的快照。而按照上述过程对数据库进行快照备份后,距离当前时刻最近的快照为非压缩文件,因而,在这些应用场景中,可直接从距离当前时刻最近的快照提取出与故障数据对应的快照(即故障数据的备份文件)。
步骤203,获取故障数据的增量日志,其中,故障数据的增量日志包括故障数据在第一快照的快照时刻和目标恢复时间信息中的目标恢复时刻之间的变化信息。
在本实施例中,上述电子设备获取数据库的第一快照中故障数据的备份文件之后,还需要获取第一快照的快照时刻和目标恢复时间信息中的目标恢复时刻之间的增量日志,进而获取上述增量日志中故障数据对应的增量日志。上述增量日志可以是数据库用的结构化查询语言(SQL)记录所有用户对数据库的操作,其表现形式例如可以是连续的二进制文件。上述操作例如可以包括用户对数据库的增、删、改等动作。上述电子设备可以通过各种手段读取二进制文件中的某时间段内的增量日志,进而获取该时间段内的增量日志中记录的数据库所有的变化信息及与这些变化对应的时间信息。
步骤204,基于故障数据的备份文件和故障数据的增量日志,恢复故障数据。
在本实施例中,利用在步骤202中获得的故障数据的备份文件和步骤203中获得的故障数据的增量日志,恢复数据库的故障数据。
本申请的上述实施例提供的方法通过从第一快照和增量日志分别获取故障数据对应的备份文件和故障数据对应的增量日志及相关时间信息,然后基于上述故障数据的备份文件和故障数据的增量日志及相关时间信息,恢复故障数据到目标恢复时刻,缩短了数据库恢复需要的时间,提高了数据库恢复的效率。
进一步参考图3,其示出了时间轴300,以进一步提供有关数据库中故障数据的恢复方法的清晰性。时间在时间轴300上从左到右推进,或者说定位在时间轴右边的事件时间上发生在定位在左边的事件之后。在301时刻,创建第一快照。一段时间(1小时或1天)过后,事件发生于303时刻,例如该事件可以是用户意外删除附图标记302所表示的时间段内对应的数据。其后,利用本申请的数据库中故障数据的恢复方法,上述电子设备接收故障数据恢复请求信息,其中,故障数据恢复请求信息包括用户意外删除的附图标记302所表示的时间段内对应数据的信息和目标恢复时间信息的目标恢复时刻303;基于数据库中上述第一快照,获取附图标记302所表示的时间段内对应的被删除数据的备份文件;获取301时刻与303时刻之间对应的被删除数据的增量日志;以及基于上述被删除数据的备份文件和上述被删除数据的增量日志,恢复被删除的数据。
在本实施例的一些可选的实现方式中,在第一快照的快照时刻301与目标恢复时刻303之间没有创建其它快照。
在一些可选的方案中,图4所示,步骤202的“基于故障数据的标识信息在数据库的第一快照中获取故障数据的备份文件”可以通过如下的步骤来实现:
步骤401,判断第一快照是否为压缩状态。
在本实现方式中,上述压缩状态为指示第一快照中各备份文件是否为压缩文件的状态。上述电子设备获取第一快照后,其判断第一快照保存的备份文件是否为压缩文件的状态,如果判断结果不是压缩文件的状态,则转到步骤402,如果判断结果是压缩文件的状态,则转到步骤403。
步骤402,获取故障数据的备份文件。例如,上述电子设备可以根据上述故障数据的标识信息从第一快照中获取故障数据的备份文件。
步骤403,解压缩第一快照的压缩文件,获取故障数据的备份文件。例如,上述电子设备可以解压缩上述第一快照,之后根据上述故障数据的标识信息从上述解压缩的备份文件中获取故障数据的备份文件。
本申请的上述实施例的实现方式提供的方法通过分别保存快照压缩和非压缩备份文件的方法,可以节约数据库恢复过程中获取快照备份文件的时间,提高数据库恢复的效率。
在一些可选的方案中,图5所示,步骤203的获取故障数据的增量日志可以通过如下的步骤来实现:
步骤501,获取第一快照的快照时刻与目标恢复时刻之间的与数据库中包含的所有数据对应的增量日志,构成增量日志集合。
在本实现方式中,上述电子设备从数据库的变更日志中获取第一快照的快照时刻与目标恢复时间信息中的目标恢复时刻,并获取上述两个时刻之间与数据库中包含的所有数据对应的增量日志,构成增量日志集合。其中,上述增量日志是从数据库的备份日志中获取的处于快照时刻与目标恢复时刻之间的所有日志。在一些可选的实现方式中,例如,可以实时地从数据库的主库抓取数据变化产生的日志的方式来获得备份日志。这种实时抓取备份日志的方式有助于减轻数据库的主库网卡的压力。上述备份日志至少包括用户对数据库的操作信息和与这些操作信息对应的时间信息。
步骤502,从增量日志集合中提取故障数据的增量日志。
在本实现方式中,上述电子设备通过官方工具(如mysql数据库中的数据库命令mysqlbinlog)将第一快照的快照时刻与目标恢复时间信息中的目标恢复时刻之间的所有二进制的增量日志解析成可读文本信息,之后采用锚点定位的方式确定上述每个增量日志所对应的可读文本信息的起始位置和结束位置,通过预设的正则表达式和上述起始位置和结束位置确定的可读文本信息,获得该增量日志集合中故障数据的增量日志对应的可读文本信息,最后提取所述故障数据的增量日志。
如上所述的通过先进行锚点定位再进行正则表达式匹配来提取故障数据的增量日志的方式,可以降低正则表达式匹配的可读文本信息的长度,避免单个增量日志过长可能导致的正则表达式匹配不响应等问题,提高了提取故障数据的增量日志的效率。
在一些可选的方案中,如图6所示,步骤204的基于故障数据的备份文件和故障数据的增量日志,恢复故障数据可以通过如下的步骤来实现:
步骤601,创建临时实例。
在本实现方式中,上述电子设备创建一个类似数据库的临时实例,临时实例中包含与数据库中数据备份文件编号相同的一系列编号。该临时实例供步骤602导入故障数据的备份文件和故障数据的增量日志。
步骤602,将第一快照中获取的故障数据的备份文件导入临时实例。
在本实现方式中,上述电子设备将上述获取的故障数据对应的备份文件的编号与临时实例中的编号进行对比,当故障数据对应的备份文件的编号与临时实例的编号相同时,将故障数据对应的备份文件导入临时实例。
步骤603,将第一快照的快照时刻和目标恢复时刻之间的故障数据的增量日志导入临时实例。
在本实现方式中,上述电子设备将上述获取的故障数据所对应的增量日志导入临时实例。
步骤604,基于上述临时实例,将数据库恢复到目标恢复时刻。
在本实现方式中,上述电子设备启动上述包括第一快照中获取的故障数据对应的备份文件和第一快照的快照时刻与目标恢复时间信息中的目标恢复时刻之间的故障数据对应的增量日志的临时实例,将该临时实例导入线上数据库中,最后将数据库恢复到目标恢复时刻,本实施例提供方法可以有针对性且更加有效的恢复数据库中的故障数据。
进一步参考图7,作为对上述各图所示方法的实现,本申请提供了一种数据库中故障数据的恢复系统的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图7所示,本实施例所述的数据库中故障数据的恢复系统700包括:接收模块701、备份文件获取模块702、增量日志获取模块703和恢复模块704。其中,接收模块701用于接收故障数据恢复请求信息,其中,上述故障数据恢复请求信息至少包括:故障数据的标识信息和目标恢复时间信息;备份文件获取模块702用于基于上述故障数据的标识信息在该数据库的第一快照中获取上述故障数据的备份文件;增量日志获取模块703用于获取故障数据的增量日志,其中,上述故障数据的增量日志包括故障数据在第一快照的快照时刻和上述目标恢复时间信息中的目标恢复时刻之间的变化信息;以及恢复模块704用于基于上述故障数据的备份文件和故障数据的增量日志,恢复数据库的故障数据。
在本实施例中,数据库中故障数据的恢复系统700的接收模块701可以从本地或者远程地接收数据库的故障数据恢复请求信息。
在本实施例中,接收模块701接收故障数据恢复请求信息之后,备份文件获取模块702可以利用故障数据的标识信息在数据库的第一快照中获取故障数据的备份文件,增量日志获取模块703可以利用上述故障数据恢复请求信息获取第一快照的快照时刻和目标恢复时间信息中的目标恢复时刻之间的故障数据的增量日志。最后,恢复模块704根据备份文件获取模块702和增量日志获取模块703得到的故障数据的备份文件和故障数据的增量日志恢复数据库的故障数据。
在本实施例的一个可选实现方式中,上述数据库中故障数据的恢复系统700的增量日志获取模块703进一步配置用于:将上述第一快照的快照时刻与上述目标恢复时间信息中的目标恢复时刻之间的增量日志集合解析成可读文本信息,并通过锚点定位的方式确定增量日志集合中每个增量日志所对应的可读文本信息的起始位置和结束位置,基于预设的正则表达式和锚点定位到的可读文本信息,匹配出故障数据对应的增量日志的可读文本信息,提取该数据库中故障数据所对应的增量日志;恢复模块704进一步配置用于:从上述第一快照中获取与故障数据对应的备份文件的编号,并将故障数据对应的备份文件的编号与临时实例中的编号进行对比,当故障数据的备份文件的编号与临时实例中的编号相同时,将上述故障数据的备份文件导入临时实例。
本领域技术人员可以理解,上述数据库中故障数据的恢复系统700还包括一些其他公知结构,例如处理器、存储器等,为了不必要地模糊本公开的实施例,这些公知的结构在图7中未示出。
下面参考图8,其示出了适于用来实现本申请实施例的客户端设备或服务器的计算机系统800的结构示意图。
如图8所示,计算机系统800包括中央处理单元(CPU)801,其可以根据存储在只读存储器(ROM)802中的程序或者从存储部分808加载到随机访问存储器(RAM)803中的程序而执行各种适当的动作和处理。在RAM803中,还存储有系统800操作所需的各种程序和数据。CPU801、ROM802以及RAM803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
以下部件连接至I/O接口805:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至I/O接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括接收模块、备份文件获取模块、增量日志获取模块和恢复模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,接收模块还可以被描述为“接收故障数据恢复请求信息的模块”。
作为另一方面,本申请还提供了一种非易失性计算机存储介质,该非易失性计算机存储介质可以是上述实施例中所述装置中所包含的非易失性计算机存储介质;也可以是单独存在,未装配入终端中的非易失性计算机存储介质。上述非易失性计算机存储介质存储有一个或者多个程序,当所述一个或者多个程序被一个设备执行时,使得所述设备:接收故障数据恢复请求信息,其中,所述故障数据恢复请求信息包括故障数据的标识信息和目标恢复时间信息;基于所述故障数据的标识信息在所述数据库的第一快照中获取所述故障数据的备份文件;获取所述故障数据的增量日志,其中,所述故障数据的增量日志包括所述故障数据在所述第一快照的快照时刻和所述目标恢复时间信息中的目标恢复时刻之间的变化信息;以及基于所述故障数据的备份文件和所述故障数据的增量日志,恢复所述故障数据。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (14)
1.一种数据库中故障数据的恢复方法,其特征在于,包括:
接收故障数据恢复请求信息,其中,所述故障数据恢复请求信息包括故障数据的标识信息和目标恢复时间信息;
基于所述故障数据的标识信息在所述数据库的第一快照中获取所述故障数据的备份文件;
获取所述故障数据的增量日志,其中,所述故障数据的增量日志包括所述故障数据在所述第一快照的快照时刻和所述目标恢复时间信息中的目标恢复时刻之间的变化信息;以及
基于所述故障数据的备份文件和所述故障数据的增量日志,恢复所述故障数据。
2.根据权利要求1所述的数据库中故障数据的恢复方法,其特征在于,所述第一快照的快照时刻与所述目标恢复信息中的目标恢复时刻之间没有创建其它快照。
3.根据权利要求1所述的数据库中故障数据的恢复方法,其特征在于,所述基于所述故障数据的标识信息在所述数据库的第一快照中获取所述故障数据的备份文件,包括:
判断所述第一快照的压缩状态,其中所述压缩状态为指示所述第一快照中各备份文件是否为压缩文件的状态;
若所述第一快照未处于压缩状态,则获取所述故障数据的备份文件;
若所述第一快照处于压缩状态,则解压缩所述第一快照,获取所述故障数据的备份文件。
4.根据权利要求1所述的数据库中故障数据的恢复方法,其特征在于,所述获取所述故障数据的增量日志,包括:
获取所述第一快照的快照时刻与所述目标恢复时间信息中的目标恢复时刻之间的与所述数据库中包含的所有数据对应的增量日志,构成增量日志集合;
从所述增量日志集合中提取所述故障数据的增量日志。
5.根据权利要求4所述的数据库中故障数据的恢复方法,其特征在于,所述从所述增量日志集合中提取所述故障数据的增量日志,包括:
将所述增量日志集合解析成可读文本信息;
基于锚点定位确定所述增量日志集合中每个增量日志所对应的可读文本信息的起始位置和结束位置;
基于预设的正则表达式与所述起始位置和所述结束位置的匹配,确定与所述故障数据的增量日志对应的可读文本信息;
提取所述故障数据的增量日志。
6.根据权利要求1所述的数据库中故障数据的恢复方法,其特征在于,所述基于所述故障数据的备份文件和所述故障数据的增量日志,恢复所述故障数据,包括:
创建临时实例;
将所述第一快照中获取的所述故障数据的备份文件导入所述临时实例;
将所述第一快照的快照时刻和所述目标恢复时间信息中的目标恢复时刻之间的所述故障数据的增量日志导入所述临时实例;
基于所述临时实例,将所述数据库恢复到所述目标恢复时刻。
7.根据权利要求6所述的数据库中故障数据的恢复方法,其特征在于,所述将所述第一快照中获取的所述故障数据的备份文件导入所述临时实例,包括:
从所述第一快照中获取所述故障数据的备份文件的编号;
将所述故障数据的备份文件的编号与所述临时实例中的编号进行对比;
当所述故障数据的备份文件的编号与所述临时实例中的编号相同时,将所述故障数据的备份文件导入所述临时实例。
8.一种数据库中故障数据的恢复系统,其特征在于,包括:
接收模块,用于接收故障数据恢复请求信息,其中,所述故障数据恢复请求信息包括故障数据的标识信息和目标恢复时间信息;
备份文件获取模块,用于基于所述故障数据的标识信息在所述数据库的第一快照中获取所述故障数据的备份文件;
增量日志获取模块,用于获取所述故障数据的增量日志,其中,所述故障数据的增量日志包括所述故障数据在所述第一快照的快照时刻和所述目标恢复时间信息中的目标恢复时刻之间的变化信息;以及
恢复模块,用于基于所述故障数据的备份文件和所述故障数据的增量日志,恢复所述故障数据。
9.根据权利要求8所述的数据库中故障数据的恢复系统,其特征在于,所述第一快照的快照时刻与所述目标恢复信息中的目标恢复时刻之间没有创建其它快照。
10.根据权利要求8所述的数据库中故障数据的恢复系统,其特征在于,所述备份文件获取模块,具体用于:
判断所述第一快照的压缩状态,其中所述压缩状态为指示所述第一快照中各备份文件是否为压缩文件的状态;
若所述第一快照未处于压缩状态,则获取所述故障数据的备份文件;
若所述第一快照处于压缩状态,则解压缩所述第一快照,获取所述故障数据的备份文件。
11.根据权利要求8所述的数据库中故障数据的恢复系统,其特征在于,所述增量日志获取模块,具体用于:
获取所述第一快照的快照时刻与所述目标恢复时间信息中的目标恢复时刻之间的与所述数据库中包含的所有数据对应的增量日志,构成增量日志集合;
从所述增量日志集合中提取所述故障数据的增量日志。
12.根据权利要求11所述的数据库中故障数据的恢复系统,其特征在于,所述增量日志获取模块进一步配置用于:
将所述增量日志集合解析成可读文本信息;
基于锚点定位确定所述增量日志集合中每个增量日志所对应的可读文本信息的起始位置和结束位置;
基于预设的正则表达式与所述起始位置和所述结束位置的匹配,确定与所述故障数据的增量日志对应的可读文本信息;
提取所述故障数据的增量日志。
13.根据权利要求8所述的数据库中故障数据的恢复系统,其特征在于,所述恢复模块,具体用于:
创建临时实例;
将所述第一快照中获取的所述故障数据的备份文件导入所述临时实例;
将所述第一快照的快照时刻和所述目标恢复时间信息中的目标恢复时刻之间的所述故障数据的增量日志导入所述临时实例;
基于所述临时实例,将所述数据库恢复到所述目标恢复时刻。
14.根据权利要求13所述的数据库中故障数据的恢复系统,其特征在于,所述恢复模块进一步配置用于:
从所述第一快照中获取所述故障数据的备份文件的编号;
将所述故障数据的备份文件的编号与所述临时实例中的编号进行对比;
当所述故障数据的备份文件的编号与所述临时实例中的编号相同时,将所述故障数据的备份文件导入所述临时实例。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510706770.2A CN105373448B (zh) | 2015-10-27 | 2015-10-27 | 数据库中故障数据的恢复方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510706770.2A CN105373448B (zh) | 2015-10-27 | 2015-10-27 | 数据库中故障数据的恢复方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105373448A true CN105373448A (zh) | 2016-03-02 |
CN105373448B CN105373448B (zh) | 2018-11-02 |
Family
ID=55375669
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510706770.2A Active CN105373448B (zh) | 2015-10-27 | 2015-10-27 | 数据库中故障数据的恢复方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105373448B (zh) |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106126371A (zh) * | 2016-06-15 | 2016-11-16 | 腾讯科技(深圳)有限公司 | 数据回档方法、装置及系统 |
CN106850308A (zh) * | 2017-02-27 | 2017-06-13 | 湘电风能有限公司 | 一种双机热备份系统 |
CN107908755A (zh) * | 2017-11-21 | 2018-04-13 | 郑州云海信息技术有限公司 | 一种快照文件处理方法及装置 |
CN108228390A (zh) * | 2018-01-19 | 2018-06-29 | 腾讯科技(深圳)有限公司 | 数据回档方法及装置 |
CN109117312A (zh) * | 2018-08-23 | 2019-01-01 | 北京小米智能科技有限公司 | 数据恢复方法及装置 |
CN109189613A (zh) * | 2018-09-20 | 2019-01-11 | 快云信息科技有限公司 | 一种数据库数据恢复方法及相关装置 |
CN109298978A (zh) * | 2018-11-14 | 2019-02-01 | 武汉烽火信息集成技术有限公司 | 一种指定位置的数据库集群的恢复方法及系统 |
CN109408283A (zh) * | 2018-09-04 | 2019-03-01 | 深圳市宝德计算机系统有限公司 | 一种服务器数据保护的方法、设备及存储介质 |
CN110083579A (zh) * | 2019-03-21 | 2019-08-02 | 深圳壹账通智能科技有限公司 | 增量数据同步的方法、装置、计算机设备及计算机存储介质 |
CN110351386A (zh) * | 2019-07-23 | 2019-10-18 | 无锡华云数据技术服务有限公司 | 一种不同副本间的增量同步方法及装置 |
CN110795287A (zh) * | 2019-10-30 | 2020-02-14 | 深圳前海环融联易信息科技服务有限公司 | 数据恢复方法、系统、电子设备及计算机存储介质 |
CN110990395A (zh) * | 2018-09-29 | 2020-04-10 | 北京国双科技有限公司 | 一种数据处理方法及装置 |
CN111143124A (zh) * | 2019-12-19 | 2020-05-12 | 上海上讯信息技术股份有限公司 | 数据库自动化恢复方法、装置及电子设备 |
CN111949447A (zh) * | 2020-08-11 | 2020-11-17 | 北京天融信网络安全技术有限公司 | 一种数据处理方法及数据处理系统 |
CN112214471A (zh) * | 2019-07-09 | 2021-01-12 | 浙江宇视科技有限公司 | 数据库管理方法、装置、计算机可读存储介质和电子设备 |
CN112631830A (zh) * | 2020-12-16 | 2021-04-09 | 福建升腾资讯有限公司 | 桌面虚拟化架构下不还原桌面故障的快速恢复方法及装置 |
CN112749124A (zh) * | 2020-12-28 | 2021-05-04 | 深圳壹账通创配科技有限公司 | 页面信息管理方法、装置、计算机设备及可读存储介质 |
CN112765111A (zh) * | 2019-10-21 | 2021-05-07 | 伊姆西Ip控股有限责任公司 | 用于处理数据的方法、设备和计算机程序产品 |
CN112860490A (zh) * | 2021-03-17 | 2021-05-28 | 北京理工大学 | 一种基于Docker容器故障恢复的属性权重快照选择方法 |
CN113778946A (zh) * | 2021-09-15 | 2021-12-10 | 上海威迈斯新能源有限公司 | 一种故障快照系统 |
CN116401220A (zh) * | 2023-06-01 | 2023-07-07 | 联想凌拓科技有限公司 | 文件系统的数据恢复方法、装置、设备及介质 |
CN110795287B (zh) * | 2019-10-30 | 2024-04-26 | 深圳前海环融联易信息科技服务有限公司 | 数据恢复方法、系统、电子设备及计算机存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090300284A1 (en) * | 2004-02-16 | 2009-12-03 | Hitachi, Ltd. | Disk array apparatus and disk array apparatus control method |
CN103226502A (zh) * | 2013-05-21 | 2013-07-31 | 中国工商银行股份有限公司 | 一种数据灾备控制系统及数据恢复方法 |
CN103914359A (zh) * | 2012-12-31 | 2014-07-09 | 中国移动通信集团浙江有限公司 | 一种数据恢复方法及装置 |
-
2015
- 2015-10-27 CN CN201510706770.2A patent/CN105373448B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090300284A1 (en) * | 2004-02-16 | 2009-12-03 | Hitachi, Ltd. | Disk array apparatus and disk array apparatus control method |
CN103914359A (zh) * | 2012-12-31 | 2014-07-09 | 中国移动通信集团浙江有限公司 | 一种数据恢复方法及装置 |
CN103226502A (zh) * | 2013-05-21 | 2013-07-31 | 中国工商银行股份有限公司 | 一种数据灾备控制系统及数据恢复方法 |
Cited By (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10956374B2 (en) | 2016-06-15 | 2021-03-23 | Tencent Technology (Shenzhen) Company Limited | Data recovery method, apparatus, and system |
WO2017215432A1 (zh) * | 2016-06-15 | 2017-12-21 | 腾讯科技(深圳)有限公司 | 数据回档方法、装置及系统 |
CN106126371A (zh) * | 2016-06-15 | 2016-11-16 | 腾讯科技(深圳)有限公司 | 数据回档方法、装置及系统 |
CN106850308A (zh) * | 2017-02-27 | 2017-06-13 | 湘电风能有限公司 | 一种双机热备份系统 |
CN107908755A (zh) * | 2017-11-21 | 2018-04-13 | 郑州云海信息技术有限公司 | 一种快照文件处理方法及装置 |
CN108228390A (zh) * | 2018-01-19 | 2018-06-29 | 腾讯科技(深圳)有限公司 | 数据回档方法及装置 |
CN108228390B (zh) * | 2018-01-19 | 2024-04-09 | 腾讯科技(深圳)有限公司 | 数据回档方法及装置 |
CN109117312A (zh) * | 2018-08-23 | 2019-01-01 | 北京小米智能科技有限公司 | 数据恢复方法及装置 |
CN109117312B (zh) * | 2018-08-23 | 2022-03-01 | 北京小米智能科技有限公司 | 数据恢复方法及装置 |
CN109408283A (zh) * | 2018-09-04 | 2019-03-01 | 深圳市宝德计算机系统有限公司 | 一种服务器数据保护的方法、设备及存储介质 |
CN109189613A (zh) * | 2018-09-20 | 2019-01-11 | 快云信息科技有限公司 | 一种数据库数据恢复方法及相关装置 |
CN110990395A (zh) * | 2018-09-29 | 2020-04-10 | 北京国双科技有限公司 | 一种数据处理方法及装置 |
CN110990395B (zh) * | 2018-09-29 | 2023-04-07 | 北京国双科技有限公司 | 一种数据处理方法及装置 |
CN109298978B (zh) * | 2018-11-14 | 2021-07-20 | 武汉烽火信息集成技术有限公司 | 一种指定位置的数据库集群的恢复方法及系统 |
CN109298978A (zh) * | 2018-11-14 | 2019-02-01 | 武汉烽火信息集成技术有限公司 | 一种指定位置的数据库集群的恢复方法及系统 |
CN110083579A (zh) * | 2019-03-21 | 2019-08-02 | 深圳壹账通智能科技有限公司 | 增量数据同步的方法、装置、计算机设备及计算机存储介质 |
CN112214471B (zh) * | 2019-07-09 | 2024-04-05 | 浙江宇视科技有限公司 | 数据库管理方法、装置、计算机可读存储介质和电子设备 |
CN112214471A (zh) * | 2019-07-09 | 2021-01-12 | 浙江宇视科技有限公司 | 数据库管理方法、装置、计算机可读存储介质和电子设备 |
CN110351386B (zh) * | 2019-07-23 | 2022-09-16 | 华云工业互联网有限公司 | 一种不同副本间的增量同步方法及装置 |
CN110351386A (zh) * | 2019-07-23 | 2019-10-18 | 无锡华云数据技术服务有限公司 | 一种不同副本间的增量同步方法及装置 |
CN112765111A (zh) * | 2019-10-21 | 2021-05-07 | 伊姆西Ip控股有限责任公司 | 用于处理数据的方法、设备和计算机程序产品 |
CN110795287B (zh) * | 2019-10-30 | 2024-04-26 | 深圳前海环融联易信息科技服务有限公司 | 数据恢复方法、系统、电子设备及计算机存储介质 |
CN110795287A (zh) * | 2019-10-30 | 2020-02-14 | 深圳前海环融联易信息科技服务有限公司 | 数据恢复方法、系统、电子设备及计算机存储介质 |
CN111143124A (zh) * | 2019-12-19 | 2020-05-12 | 上海上讯信息技术股份有限公司 | 数据库自动化恢复方法、装置及电子设备 |
CN111949447A (zh) * | 2020-08-11 | 2020-11-17 | 北京天融信网络安全技术有限公司 | 一种数据处理方法及数据处理系统 |
CN112631830B (zh) * | 2020-12-16 | 2024-02-02 | 福建升腾资讯有限公司 | 桌面虚拟化架构下不还原桌面故障的快速恢复方法及装置 |
CN112631830A (zh) * | 2020-12-16 | 2021-04-09 | 福建升腾资讯有限公司 | 桌面虚拟化架构下不还原桌面故障的快速恢复方法及装置 |
CN112749124A (zh) * | 2020-12-28 | 2021-05-04 | 深圳壹账通创配科技有限公司 | 页面信息管理方法、装置、计算机设备及可读存储介质 |
CN112860490B (zh) * | 2021-03-17 | 2022-07-26 | 北京理工大学 | 一种基于Docker容器故障恢复的属性权重快照选择方法 |
CN112860490A (zh) * | 2021-03-17 | 2021-05-28 | 北京理工大学 | 一种基于Docker容器故障恢复的属性权重快照选择方法 |
CN113778946A (zh) * | 2021-09-15 | 2021-12-10 | 上海威迈斯新能源有限公司 | 一种故障快照系统 |
CN116401220A (zh) * | 2023-06-01 | 2023-07-07 | 联想凌拓科技有限公司 | 文件系统的数据恢复方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN105373448B (zh) | 2018-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105373448A (zh) | 数据库中故障数据的恢复方法和系统 | |
CN107832406B (zh) | 海量日志数据的去重入库方法、装置、设备及存储介质 | |
CN107688664B (zh) | 图表生成方法、装置、计算机设备和存储介质 | |
CN104572689A (zh) | 数据同步方法、装置及系统 | |
CN107832291B (zh) | 人机协作的客服方法、电子装置及存储介质 | |
CN106789249B (zh) | 热更新方法、客户端及服务器 | |
CN105450705A (zh) | 业务数据处理方法及设备 | |
CN104965764A (zh) | 静态资源的处理方法及装置 | |
CN108092667B (zh) | 压缩时序数据以及查询时序数据的方法、装置 | |
CN105491078A (zh) | Soa系统中的数据处理方法及装置、soa系统 | |
CN103077019B (zh) | 一种图形化参数批量维护方法和装置 | |
US11373006B2 (en) | Processing system using natural language processing for performing dataset filtering and sanitization | |
CN109902272A (zh) | 电子表格数据处理方法、装置、计算机设备和存储介质 | |
CN104317957A (zh) | 一种报表处理的开放平台、系统及报表处理方法 | |
CN103716384A (zh) | 跨数据中心实现云存储数据同步的方法和装置 | |
CN112612775A (zh) | 一种数据存储方法、装置、计算机设备及存储介质 | |
CN109871263B (zh) | 线下区块链系统的运行方法、装置、设备及存储介质 | |
CN104408097A (zh) | 一种基于字符段热更新的混合索引方法及系统 | |
CN110765131A (zh) | 货源数据的数据压缩方法、装置、计算机设备和存储介质 | |
CN106204031A (zh) | 卡应用处理方法及装置 | |
CN115544007A (zh) | 标签预处理方法、装置、计算机设备和存储介质 | |
CN112860376A (zh) | 一种快照链的制作方法、装置、电子设备及存储介质 | |
CN103106217A (zh) | 一种留言信息的处理方法和设备 | |
CN112235332A (zh) | 一种集群的读写切换方法和装置 | |
US20190324869A1 (en) | Method, device and computer readable medium for data synchronization |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |