数据库归档方法及系统与流程

文档序号:12363275阅读:435来源:国知局
数据库归档方法及系统与流程

本公开涉及数据处理技术领域,尤其涉及数据库归档方法及系统。



背景技术:

随着互联网的快速发展,数据库中存储的数据越来越多。某些互联网应用,每天大量的访问量或业务量给数据库的I/O性能带来巨大的压力,严重影响到业务的稳定性和扩展性,尤其是对数据一致性、隔离性、持久性要求很高的业务,如在线支付业务,数据库的不稳定有可能带来灾难性的损失,同时低效的数据库读写性能给用户带来糟糕的用户体验。因此数据库归档是互联网企业解决日益增长的海量数据的关键。

目前,可以将源数据库中的数据备份到目标数据库,并删除源数据库中已备份的数据,从而实现提升系统性能。然而历史数据有可能在未来某一时刻被用到,此时无法从源数据库中查询到已删除数据,直接从目标数据库中查询所需数据时,由于目标数据库存储数据量大,从而导致查询效率低。



技术实现要素:

为克服相关技术中存在的问题,本公开提供了数据库归档方法及系统。

根据本公开实施例的第一方面,提供一种数据库归档方法,所述方法包括:

根据预配置的备份任务启动相应的备份线程,所述备份任务包括用于筛选出源数据库中待归档的目标数据的筛选信息、所述目标数据要被归档到的分布式数据库中的目标位置以及键值生成方式;

根据所述筛选信息获取源数据库中的目标数据;

根据所述目标数据和所述键值生成方式确定目标键值;

根据所述目标键值将所述目标数据归档到所述分布式数据库的目标位置中,所述目标键值用于查询分布式数据库中的目标数据。

可选的,所述方法还包括:

通过预设查询接口基于所述目标键值从所述分布式数据库中查询所归档的目标数据。

可选的,所述方法还包括:

在执行所述备份任务过程中,基于所述源数据库中所述目标数据的表结构,将所述目标数据存储在关系型的中转数据库中;

在内置备份任务中的文件备份时间到达时,根据所述内置备份任务将所述中转数据库中每个数据表中的数据生成对应的文件,将所生成文件存储到分布式文件系统中,并将所述中转数据库中所述数据表中的数据删除。

可选的,所述方法还包括:

根据所述内置备份任务和所述备份任务将所述分布式文件系统中的文件恢复至源数据库中。

可选的,所述预配置的备份任务是预配置的归档任务中任务类型为备份的任务,所述归档任务还包括任务类型为删除的删除任务,所述删除任务用于删除源数据库中的数据。

可选的,所述方法还包括:

在归档任务配置完成后,模拟并输出所述归档任务的执行过程;

和/或,

在归档任务执行过程中,记录执行所述归档任务时产生的信息,所述信息至少包括执行归档任务的结果、执行归档任务的流程、执行归档任务耗费的时间中的一种或多种。

可选的,所述方法还包括:

在归档任务执行过程中,执行归档任务的结果为失败或异常时,输出失败或异常的报警信息。

根据本公开实施例的第二方面,提供一种数据库归档系统,包括:

线程启动模块,被配置为根据预配置的备份任务启动相应的备份线程,所述备份任务包括用于筛选出源数据库中待归档的目标数据的筛选信息、所述目标数据要被归档到的分布式数据库中的目标位置以及键值生成方式;

数据获取模块,被配置为根据所述筛选信息获取源数据库中的目标数据;

键值确定模块,被配置为根据所述目标数据和所述键值生成方式确定目标键值;

数据归档模块,被配置为根据所述目标键值将所述目标数据归档到所述分布式数据库的目标位置中,所述目标键值用于查询分布式数据库中的目标数据。

可选的,所述系统还包括:

数据查询模块,被配置为通过预设查询接口基于所述目标键值从所述分布式数据库中查询所归档的目标数据。

可选的,所述系统还包括:

数据中转模块,被配置为在执行所述备份任务过程中,基于所述源数据库中所述目标数据的表结构,将所述目标数据存储在关系型的中转数据库中;

文件备份模块,被配置为在内置备份任务中的文件备份时间到达时,根据所述内置备份任务将所述中转数据库中每个数据表中的数据生成对应的文件,将所生成文件存储到分布式文件系统中,并将所述中转数据库中所述数据表中的数据删除。

可选的,所述系统还包括:

数据恢复模块,被配置为根据所述内置备份任务和所述备份任务将所述分布式文件系统中的文件恢复至源数据库中。

可选的,所述预配置的备份任务是预配置的归档任务中任务类型为备份的任务,所述归档任务还包括任务类型为删除的删除任务,所述删除任务用于删除源数据库中的数据。

可选的,所述系统还包括:

预览模块,被配置为在归档任务配置完成后,模拟并输出所述归档任务的执行过程;

和/或,

信息记录模块,被配置为在归档任务执行过程中,记录执行所述归档任务时产生的信息,所述信息至少包括执行归档任务的结果、执行归档任务的流程、执行归档任务耗费的时间中的一种或多种。

可选的,所述系统还包括:

报警模块,被配置为在归档任务执行过程中,执行归档任务的结果为失败或异常时,输出失败或异常的报警信息。

根据本公开实施例的第三方面,提供一种数据库归档系统,包括:

处理器;

用于存储处理器可执行指令的存储器;

其中,所述处理器被配置为:

根据预配置的备份任务启动相应的备份线程,所述备份任务包括用于筛选出源数据库中待归档的目标数据的筛选信息、所述目标数据要被归档到的分布式数据库中的目标位置以及键值生成方式;

根据所述筛选信息获取源数据库中的目标数据;

根据所述目标数据和所述键值生成方式确定目标键值;

根据所述目标键值将所述目标数据归档到所述分布式数据库的目标位置中,所述目标键值用于查询分布式数据库中的目标数据。

本公开的实施例提供的技术方案可以包括以下有益效果:

本公开根据预配置的备份任务启动相应的备份线程,利用备份任务中的筛选信息获取源数据库中的目标数据,并根据目标数据和备份任务中的键值生成方式确定目标键值,根据目标键值将目标数据归档到分布式数据库的目标位置中,从而可以根据目标键值查询分布式数据库中的目标数据,由于分布式数据库的处理能力强,并采用了键值对的方式存储数据,因此可以实现即时查询数据,提高查询数据的效率。

本公开可以通过调用预设的查询接口,根据目标键值查询到相应的目标数据,从而实现即时查询。

本公开内置一个备份任务,该内置备份任务可以在文件备份时间到达时,将中转数据库中每个数据表中的数据生成对应的文件,并存储到分布式文件系统中,实现批量备份到分布式文件系统中。将中转数据库中的数据批量备份到分布式文件系统中,并将中转数据库中数据表中的数据删除,可以避免中转数据库存储容量有限的缺陷,并且避免了数据丢失。

本公开不仅对源数据中删除的数据任意时刻可读,还可以恢复数据,从而使删除的数据不会成为无效数据。

本公开可以通过归档任务中的任务类型区分当前归档任务是备份任务,或是删除任务,从而实现备份和删除分离,用户配置灵活。

本公开通过模拟归档任务的执行过程,并将执行过程输出,用户可以预览配置任务的执行过程,避免由于配置出错而直接执行归档任务导致的损失。

本公开通过实时记录执行归档任务时产生的信息,用户可以通过查询等手段了解到每个归档任务的执行过程,使源数据的删除和备份完全透明。

本公开在归档任务的结果为失败或异常时,及时通知相应负责人,以便负责人对归档任务做出调整,最大可能性确保数据的安全性。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。

图1是本公开根据一示例性实施例示出的一种数据库归档方法的流程图。

图2是本公开根据一示例性实施例示出的另一种数据库归档方法的流程图。

图3是本公开根据一示例性实施例示出的一种数据库归档系统的框图。

图4是本公开根据一示例性实施例示出的另一种数据库归档系统的框图。

图5是本公开根据一示例性实施例示出的另一种数据库归档系统的框图。

图6是本公开根据一示例性实施例示出的另一种数据库归档系统的框图。

图7是本公开根据一示例性实施例示出的另一种数据库归档系统的框图。

图8是本公开根据一示例性实施例示出的另一种数据库归档系统的框图。

图9是本公开根据一示例性实施例示出的一种用于数据库归档系统的框图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

为了缓解源数据库的存储压力,提高在线处理效率,可以进行数据库归档。数据库归档是将不经常使用的数据移到一个单独的存储设备来进行长期保存的过程。为了解决相关技术中查询效率低的问题,本公开提供一种数据库归档方法,通过源数据库中的数据备份到分布式数据库中,并利用键值对的方式存储数据,从而可以提高数据处理能力,进而提高查询效率。

如图1所示,图1是本公开根据一示例性实施例示出的一种数据库归档方法的流程图,包括以下步骤101至步骤104:

在步骤101中,根据预配置的备份任务启动相应的备份线程,所述备份任务包括用于筛选出源数据库中待归档的目标数据的筛选信息、所述目标数据要被归档到的分布式数据库中的目标位置以及键值生成方式。

在步骤102中,根据所述筛选信息获取源数据库中的目标数据。

在步骤103中,根据所述目标数据和所述键值生成方式确定目标键值。

在步骤104中,根据所述目标键值将所述目标数据归档到所述分布式数据库的目标位置中,所述目标键值用于查询分布式数据库中的目标数据。

其中,备份任务是预先配置的任务,不同源数据库的负责人可以根据各自需求配置不同的备份任务,从而实现灵活配置。各业务负责人直接在管理后台配置自己所管理的数据库表的备份任务,且业务负责人相比数据库管理员更清楚数据的意义,可以灵活、有选择性地备份某一类数据。步骤101至104介绍了备份任务的执行过程。

备份任务中至少包括用于筛选出源数据库中待归档的目标数据的筛选信息、所述目标数据要被归档到的分布式数据库中的目标位置以及键值生成方式。

目标数据是指需要归档的数据。筛选信息是用于从源数据库中筛选出目标数据的信息,即确定了目标数据的来源。由于不同的业务可以对应不同的服务器,同一服务器中可以包括多个数据库,同一个数据库中可以包括多个数据表,因此,筛选信息可以包括目标数据所属业务对应的服务器的标识、目标数据所属源数据库的标识、目标数据所在数据表的标识。例如,筛选信息可以包括服务器名、数据库名、数据表名等。

进一步的,还可以通过设置筛选条件筛选出具有某特征的一类数据,即筛选信息中还可以包括筛选条件。举例,筛选条件可以是基于时间的查询条件,则筛选出满足时间条件的数据作为目标数据,如筛选出数据库A中表A1中2015年1月1号到2015年12月31号的数据。又如,筛选条件还可以是满足某一业务特征的查询条件,筛选出满足查询条件的数据作为目标数据。如,筛选出数据库A中表A1中的交易历史数据。

在备份任务中还需指定目标数据要被归档到的分布式数据库中的位置,将该位置称为目标位置,即确定了目标数据的去向。可见,根据来源和去向可以实现将需要备份的目标数据备份到分布式数据库中的指定位置。分布式数据库比传统数据库处理能力强,并且数据容量大。在一个可选的实现方式中,分布式数据库可以是HBase(Hadoop Database)数据库。HBase是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,通过HBase数据库备份源数据库中的数据可以提高处理能力,方便后续查询。

为了能实现查询目标数据,本实施例利用键值对(key-value)的方式将目标数据存储在分布式数据库的目标位置中。具体的,备份任务中可以包括键值生成方式,在获取到目标数据后,可以根据目标数据和键值生成方式确定目标键值,然后将目标键值作为key、将目标数据作为value存放到分布式数据库的目标位置中,以便后续根据目标键值查询分布式数据库中的目标数据。

在一个可选的实现方式中,可以预设一个查询接口,通过预设查询接口基于所述目标键值从所述分布式数据库中查询所归档的目标数据。可见,任何人可以通过调用预设的查询接口,根据目标键值查询到相应的目标数据,从而实现即时查询。

本公开列举一个具体示例进行说明,例如,有一张源表名为mysql_charge,里面有4个字段:

用户账号user_id,充值状态charge_status,充值时间charge_time,充值单号charge_order_id

备份任务中指定HBase数据库中的目标位置为hbase_charge,键值生成方式userId和charge_time的组合,如果源表mysql_charge有2条记录:

A(10000,success,2016-07-01 12:00:00,2016070112000034827348)

B(10001,success,2016-07-02 13:00:00,2016070213000034827349)

因此,在备份时根据指定的键值生成方式用10000_2016-07-01 12:00:00作为key,A作为value存放到HBase数据库的hbase_charge表;用10001_2016-07-0112:00:00作为key,B作为value存放到HBase数据库的hbase_charge表。

后续需要查用户10000在2016年7月份的所有充值记录时,可以用10000_2016-07*和10000_2016-08-01*作为查询条件,就可以查到10000七月份的所有充值记录。

由上述实施例可见,本公开根据预配置的备份任务启动相应的备份线程,利用备份任务中的筛选信息获取源数据库中的目标数据,并根据目标数据和备份任务中的键值生成方式确定目标键值,根据目标键值将目标数据归档到分布式数据库的目标位置中,从而可以根据目标键值查询分布式数据库中的目标数据,由于分布式数据库的处理能力强,并采用了键值对的方式存储数据,因此可以实现即时查询数据,提高查询数据的效率。

在一个例子中,可以直接根据目标键值将目标数据归档到分布式数据库的目标位置中。在另一个例子中,步骤104可以包括:

基于所述源数据库中所述目标数据的表结构,将所述目标数据存储在关系型的中转数据库中;根据所述目标键值将中转数据库中的目标数据归档到所述分布式数据库的目标位置中。

本实施例中设置了一个中转数据库,按目标数据在源数据库中的表结构将目标数据存储在中转数据库中,可以避免数据丢失。

在一个可选的实现方式中,所述方法还包括:

在执行所述备份任务过程中,基于所述源数据库中所述目标数据的表结构,将所述目标数据存储在关系型的中转数据库中。

在内置备份任务中的文件备份时间到达时,根据所述内置备份任务将所述中转数据库中每个数据表中的数据生成对应的文件,将所生成文件存储到分布式文件系统中,并将所述中转数据库中所述数据表中的数据删除。

在该实施例中,可以内置一个备份任务,在内置备份任务中的文件备份时间到达时,将中转数据库中每个表中的数据生成对应的文件存储到分布式文件系统中,并将中转数据库中的数据删除,实现将数据批量备份到分布式文件系统中。由于中转数据库的存储容量有限,将中转数据库中的数据批量备份到分布式文件系统中,并将中转数据库中所述数据表内的数据删除,可以避免中转数据库存储容量有限的缺陷,并且避免了数据丢失。

其中,文件备份时间是按文件备份周期确定的时间。文件备份周期可以根据中转数据库的存储容量和从源数据库备份到中转数据库中的数据量确定。当数据量较大、存储容量较小时,可将文件备份周期设置为较短周期,当数据量较小、存储容量较大时,可将文件备份周期设置为较长周期。例如,每间隔30天将中转数据库中每个表中的数据生成对应的文件存储到分布式文件系统中,并将中转数据库中的数据删除。

分布式文件系统是一个处理大规模数据的文件系统,将中转数据库中的数据批量备份到分布式文件系统中,可以避免中转数据库存储容量有限的缺陷。进一步的,分布式存储系统可以是HDFS(Hadoop Distributed File System)分布式文件系统,HDFS分布式文件系统被设计成适合运行在通用硬件上的分布式文件系统。HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。利用HDFS分布式文件系统进行备份,可以备份的文件数量大。

在内置备份任务中,可以通过预设定的规则确定每个数据表的存储路径。例如,当目标数据在中转数据库中的目标表名为charge,数据时间是2016年7月份,则可以将该数据生成文件后保存到分布式文件系统的backup/2016-07/charge中。又如,当目标数据在中转数据库中的目标表名为trade,数据时间是2016年6月份,则可以将该数据生成文件后保存到分布式文件系统的backup/2016-06/trade中。

进一步的,还可以根据所述内置备份任务和所述备份任务将所述分布式文件系统中的文件恢复至源数据库中。

由于可以根据备份任务确定数据来源和去向,根据内置备份任务确定文件来源和去向,因此可以根据内置备份任务将文件反推到中转数据库,并根据备份任务中的备份信息反推到源数据中,例如根据数据来源和目标位置反推到源数据中,实现将分布式文件系统中的文件恢复至源数据库中。可见,本公开不仅对源数据中删除的数据任意时刻可读,还可以恢复数据,从而使删除的数据不会成为无效数据。

另外,为了缓解源数据库的存储压力,提高在线处理效率,可以将源数据库中的数据删除。在一个可选的实现方式中,备份任务还包括删除字段,在步骤104实现目标数据的备份后,可以直接删除已备份的目标数据,从而实现备份后的数据即刻删除。

在另一个可选的实现方式中,所述预配置的备份任务是预配置的归档任务中任务类型为备份的任务,所述归档任务还包括任务类型为删除的删除任务,所述删除任务用于删除源数据库中的数据。

其中,备份任务是归档任务中的其中一种任务,归档任务还可以包括删除任务,通过归档任务中的任务类型区分当前归档任务是备份任务,或是删除任务。

针对删除任务,可以根据预配置的删除任务启动相应的删除线程,所述删除任务包括筛选信息,所述筛选信息用于筛选出源数据库中待删除数据;根据所述筛选信息删除源数据库中的待删除数据。可以理解的是,待删除数据可以是已备份的目标数据中的数据。针对不需要备份的数据,可以根据删除任务直接将未备份的数据作为待删除数据,并将其删除。

进一步的,归档任务可以是定时归档任务,也可以是一次性归档任务,即可以包括定时备份任务、定时删除任务、一次性备份任务、一次性删除任务。

归档任务为定时任务时,当定时时间到达时,可以扫描各归档任务,每个归档任务启用一个线程,执行相应的归档任务。定时时间可以是调度系统设置的时间。

例如,可以在每天七点钟扫描所有已配置好的归档任务,当判断归档任务为定时任务时,检测到归档任务的任务类型为删除,有一个字段表示删除距今第90天的数据,有一字段为源数据库名A,有一个字段为数据表名a,则在执行该归档任务时,会将源数据库A的数据表a中距今第90天的数据删除,每天执行该任务,可以使源数据库中仅保留距今90天的数据。检测到归档任务的任务类型为备份,有一个字段表示备份距今第60天的数据,有一字段为源数据库名B,有一个字段为数据表名b,则在执行该归档任务时,会将源数据库B的数据表b中距今第60天的数据备份,每天执行该任务,可以备份源数据库中60天以前的数据。

归档任务为一次性任务时,可以在任务配置成功后即刻执行归档任务,也可以在接收到用户触发的启动指令时执行归档任务,还可以在定时时间到达时执行归档任务,已执行的一次性任务,可以标记为已执行,或将该任务删除。例如,当判断归档任务为一次性任务时,检测到归档任务的任务类型为删除,有一个字段表示删除距今90天以前的数据,有一字段为源数据库名C,有一个字段为数据表名c,则在执行该归档任务时,会将源数据库C的数据表c中距今90天以前的数据全部删除,并将该任务标记为已执行,后续检测到该任务时不再执行。

在一个可选的实现方式中,在归档任务配置完成后,模拟并输出所述归档任务的执行过程。

可见,通过模拟归档任务的执行过程,并将执行过程输出,用户可以预览配置任务的执行过程,避免由于配置出错而直接执行归档任务导致的损失。

在另一个可选的实现方式中,在归档任务执行过程中,记录执行所述归档任务时产生的信息,所述信息至少包括执行归档任务的结果、执行归档任务的流程、执行归档任务耗费的时间中的一种或多种。

可见,通过实时记录执行归档任务时产生的信息,用户可以通过查询等手段了解到每个归档任务的执行过程,使源数据的删除和备份完全透明。

进一步的,在归档任务执行过程中,执行归档任务的结果为失败或异常时,输出失败或异常的报警信息。输出方式可以是显示输出或语音输出等。例如,通过预设优先级的方式通过邮箱、短信等方式通知相应的负责人。

可见,在归档任务的结果为失败或异常时,及时通知相应负责人,以便负责人对归档任务做出调整,最大可能性确保数据的安全性。

以上实施方式中的各种技术特征可以任意进行组合,只要特征之间的组合不存在冲突或矛盾,但是限于篇幅,未进行一一描述,因此上述实施方式中的各种技术特征的任意进行组合也属于本说明书公开的范围。本公开列举其中一种组合进行说明。

如图2所示,图2是本公开根据一示例性实施例示出的另一种数据库归档方法的流程图,包括以下步骤201至步骤205:

在步骤201中,根据预配置的归档任务启动相应的归档线程,所述归档任务指定任务类型、且用于筛选出源数据库中待处理数据的筛选信息。

在步骤202中,任务类型为删除时,根据所述筛选信息删除源数据库中的待处理数据。

在步骤203中,任务类型为备份时,所述归档任务还包括待处理数据要被归档到的分布式数据库中的目标位置以及键值生成方式。根据所述筛选信息获取源数据库中的待处理数据。基于所述源数据库中所述待处理数据的表结构,将所述待处理数据存储在关系型的中转数据库中。

在步骤204中,根据所述待处理数据和所述键值生成方式确定目标键值;根据所述目标键值将中转数据库中的待处理数据归档到所述分布式数据库的目标位置中。

在步骤205中,在内置备份任务中的文件备份时间到达时,根据所述内置备份任务将所述中转数据库中每个数据表中的数据生成对应的文件,将所生成文件存储到分布式文件系统中,并将所述中转数据库中所述数据表中的数据删除。

由上述实施例可见,通过源数据库中的数据备份到分布式数据库中,并利用键值对的方式存储数据,从而可以提高数据处理能力,进而提高查询效率,同时将中转数据库中的数据批量备份到分布式文件系统中,并将中转数据库中已生成文件的目标数据删除,可以避免中转数据库存储容量有限的缺陷,并且避免了数据丢失,还可以实现数据恢复。

与前述数据库归档方法的实施例相对应,本公开还提供了数据库归档系统及其所应用的设备的实施例。

如图3所示,图3是本公开根据一示例性实施例示出的一种数据库归档系统的框图,所述系统包括:线程启动模块310、数据获取模块320、键值确定模块330和数据归档模块340。

其中,线程启动模块310,被配置为根据预配置的备份任务启动相应的备份线程,所述备份任务包括用于筛选出源数据库中待归档的目标数据的筛选信息、所述目标数据要被归档到的分布式数据库中的目标位置以及键值生成方式。

数据获取模块320,被配置为根据所述筛选信息获取源数据库中的目标数据。

键值确定模块330,被配置为根据所述目标数据和所述键值生成方式确定目标键值。

数据归档模块340,被配置为根据所述目标键值将所述目标数据归档到所述分布式数据库的目标位置中,所述目标键值用于查询分布式数据库中的目标数据。

由上述实施例可见,根据预配置的备份任务启动相应的备份线程,利用备份任务中的筛选信息获取源数据库中的目标数据,并根据目标数据和备份任务中的键值生成方式确定目标键值,根据目标键值将目标数据归档到分布式数据库的目标位置中,从而可以根据目标键值查询分布式数据库中的目标数据,由于分布式数据库的处理能力强,并采用了键值对的方式存储数据,因此可以实现即时查询数据,提高查询数据的效率。

如图4所示,图4是本公开根据一示例性实施例示出的另一种数据库归档系统的框图,该实施例在前述图3所示实施例的基础上,所述系统还包括:数据查询模块350。

其中,数据查询模块350,被配置为通过预设查询接口基于所述目标键值从所述分布式数据库中查询所归档的目标数据。

由上述实施例可见,可以通过调用预设的查询接口,根据目标键值查询到相应的目标数据,从而实现即时查询。

如图5所示,图5是本公开根据一示例性实施例示出的另一种数据库归档系统的框图,该实施例在前述图3所示实施例的基础上,所述系统还包括:数据中转模块360和文件备份模块370。

其中,数据中转模块360,被配置为在执行所述备份任务过程中,基于所述源数据库中所述目标数据的表结构,将所述目标数据存储在关系型的中转数据库中。

文件备份模块370,被配置为在内置备份任务中的文件备份时间到达时,根据所述内置备份任务将所述中转数据库中每个数据表中的数据生成对应的文件,将所生成文件存储到分布式文件系统中,并将所述中转数据库中所述数据表中的数据删除。

由上述实施例可见,可以内置一个备份任务,该内置备份任务可以在文件备份时间到达时,将中转数据库中每个数据表中的数据生成文件,实现批量备份到分布式文件系统中。将中转数据库中的数据批量备份到分布式文件系统中,并将中转数据库中数据表中的数据删除,可以避免中转数据库存储容量有限的缺陷,并且避免了数据丢失。

如图6所示,图6是本公开根据一示例性实施例示出的另一种数据库归档系统的框图,该实施例在前述图5所示实施例的基础上,所述系统还包括:数据恢复模块380。

其中,数据恢复模块380,被配置为根据所述内置备份任务和所述备份任务将所述分布式文件系统中的文件恢复至源数据库中。

由上述实施例可见,不仅对源数据中删除的数据任意时刻可读,还可以恢复数据,从而使删除的数据不会成为无效数据。

在一个可选的实现方式中,所述预配置的备份任务是预配置的归档任务中任务类型为备份的任务,所述归档任务还包括任务类型为删除的删除任务,所述删除任务用于删除源数据库中的数据。

如图7所示,图7是本公开根据一示例性实施例示出的另一种数据库归档系统的框图,该实施例在前述图3所示实施例的基础上,所述系统还包括至少一个下述模块,为了示例清楚,图7中示出了该系统可以包括的模块:预览模块390和信息记录模块400。

其中,预览模块390,被配置为在归档任务配置完成后,模拟并输出所述归档任务的执行过程。

信息记录模块400,被配置为在归档任务执行过程中,记录执行所述归档任务时产生的信息,所述信息至少包括执行归档任务的结果、执行归档任务的流程、执行归档任务耗费的时间中的一种或多种。

由上述实施例可见,可以通过模拟归档任务的执行过程,并将执行过程输出,用户可以预览配置任务的执行过程,避免由于配置出错而直接执行归档任务导致的损失;还可以通过实时记录执行归档任务时产生的信息,用户可以通过查询等手段了解到每个归档任务的执行过程,使源数据的删除和备份完全透明。

如图8所示,图8是本公开根据一示例性实施例示出的另一种数据库归档系统的框图,该实施例在前述图3所示实施例的基础上,所述系统还包括:报警模块410。

报警模块410,被配置为在归档任务执行过程中,执行归档任务的结果为失败或异常时,输出失败或异常的报警信息。

由上述实施例可见,在归档任务的结果为失败或异常时,及时通知相应负责人,以便负责人对归档任务做出调整,最大可能性确保数据的安全性。

相应的,本公开还提供一种数据库归档系统,所述系统包括有处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为:

根据预配置的备份任务启动相应的备份线程,所述备份任务包括用于筛选出源数据库中待归档的目标数据的筛选信息、所述目标数据要被归档到的分布式数据库中的目标位置以及键值生成方式。

根据所述筛选信息获取源数据库中的目标数据。

根据所述目标数据和所述键值生成方式确定目标键值。

根据所述目标键值将所述目标数据归档到所述分布式数据库的目标位置中,所述目标键值用于查询分布式数据库中的目标数据。

上述系统中各个模块的功能和作用的实现过程具体详情见上述方法中对应步骤的实现过程,在此不再赘述。

对于系统实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的系统实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本公开方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

如图9所示,图9是根据一示例性实施例示出的一种用于数据库归档系统900的框图。

例如,系统900可以被提供为服务设备。参照图9,系统900包括处理组件922,其进一步包括一个或多个处理器,以及由存储器932所代表的存储器资源,用于存储可由处理部件922的执行的指令,例如应用程序。存储器932中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件922被配置为执行指令,以执行上述数据库归档方法。

系统900还可以包括一个电源组件926被配置为执行系统900的电源管理,一个有线或无线网络接口950被配置为将系统900连接到网络,和一个输入输出(I/O)接口958。系统900可以操作基于存储在存储器932的操作系统。

其中,当所述存储器932中的指令由所述处理组件922执行时,使得系统900能够执行一种数据库归档方法,包括:

根据预配置的备份任务启动相应的备份线程,所述备份任务包括用于筛选出源数据库中待归档的目标数据的筛选信息、所述目标数据要被归档到的分布式数据库中的目标位置以及键值生成方式。

根据所述筛选信息获取源数据库中的目标数据。

根据所述目标数据和所述键值生成方式确定目标键值。

根据所述目标键值将所述目标数据归档到所述分布式数据库的目标位置中,所述目标键值用于查询分布式数据库中的目标数据。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

以上所述仅为本公开的较佳实施例而已,并不用以限制本公开,凡在本公开的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本公开保护的范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1