一种数据库恢复方法及装置制造方法

文档序号:6634257阅读:151来源:国知局
一种数据库恢复方法及装置制造方法
【专利摘要】本发明公开了一种数据库恢复方法及装置,该方法包括:获取旧版本数据库信息;获取新版本数据库信息;根据所述第一数据表结构信息和所述第二数据表结构信息,判断所述旧版本数据库的数据表结构与所述新版本数据库的数据表结构是否一致,如果是,则直接将所述旧版本数据库恢复到所述新版本数据库中,如果不是,则执行下一步;根据所述第一数据表结构信息和所述第二数据表结构信息,获取相对于所述旧版本数据库,所述新版本数据库变化的类型;根据所述变化的类型对应的预设策略,将所述旧版本数据库恢复到所述新版本数据库中。本发明所述的数据库恢复方法及装置能够实现数据库恢复的前向兼容。
【专利说明】一种数据库恢复方法及装置

【技术领域】
[0001]本发明涉及数据库领域,尤其涉及一种数据库恢复方法及装置。

【背景技术】
[0002]现有技术中,数据库的结构设计(包括数据表结构和数据内容)往往随着功能模块的变化而变迁,数据库的各个版本之间的差异可能较大。在安装或更新数据库的新版本后,需要将备份的旧版本的数据库恢复到新版本数据库中。
[0003]现有技术中的数据库恢复方法的流程如图1所示,包括以下步骤:
[0004]110、启动旧版本数据库。120、启动新版本数据库。130、清空新版本数据库中所有表的记录。140、人工判断旧版本数据库和新版本数据库中的每个数据表是否发生变化,如果否,则执行步骤150、采用数据库管理系统提供的数据迁移工具,将旧数据库中数据表的记录迁移到新数据库中;如果是,则执行步骤160、采用数据库管理系统提供的数据迁移工具,根据变化的类型做出不同的操作,将旧数据库中数据表的记录迁移到新数据库中。本步骤160采用数据库管理系统提供的数据迁移工具,对于旧数据库中与新数据库数据表结构不相同的每一个数据表,判断哪些列需要舍弃,哪些列需要进行数据类型转换等特殊策略,选择对应的操作类型后,将记录迁移到新的数据库中;如果某些数据表的记录内容还需要进行特殊修改才能满足新版本的要求,则可以执行一系列SQL语句,或者执行一些程序进行处理。
[0005]由于新版本数据库和旧版本数据库之间数据表结构和数据内容不兼容,现有的将备份的旧版本的数据库恢复到数据库结构设计发生变化的新版本的数据库中时,需要将数据库停止工作,不能实现在线恢复,且该方法步骤繁琐,操作起来比较耗时。


【发明内容】

[0006]本发明是为了解决现有技术中的上述不足而完成的,本发明的目的在于提出一种数据库恢复方法及装置,该方法能够解决现有技术不能实现在线恢复且耗时的问题。
[0007]为达此目的,本发明采用以下技术方案:
[0008]第一方面,本发明公开了一种数据库恢复方法,包括:
[0009]获取旧版本数据库信息,所述旧版本数据库信息包括第一数据表结构信息、数据内容和版本号;
[0010]获取新版本数据库信息,所述新版本数据库信息包括第二数据表结构信息;
[0011]根据所述第一数据表结构信息和所述第二数据表结构信息,判断所述旧版本数据库的数据表结构与所述新版本数据库的数据表结构是否一致,如果是,则直接将所述旧版本数据库恢复到所述新版本数据库中,如果不是,则执行下一步;
[0012]根据所述第一数据表结构信息和所述第二数据表结构信息,获取相对于所述旧版本数据库,所述新版本数据库变化的类型;
[0013]根据所述变化的类型对应的预设策略,将所述旧版本数据库恢复到所述新版本数据库中。
[0014]进一步地,所述第一数据表结构信息为第一数据库名、第一数据表名、第一列名、第一列长度和第一列数据类型中的任一种或至少两种的组合;所述第二数据表结构信息为第二数据库名、第二数据表名、第二列名、第二列长度和第二列数据类型中的任一种或至少两种的组合。
[0015]进一步地,所述变化的类型包括删除表、增加表、表改名、删除列、增加列、列改名、列改变顺序和列改变数据类型中的任一种或至少两种的组合,所述删除表对应的预设策略是略过对删除的表的恢复;所述增加表对应的预设策略是略过对新增的表的恢复;所述表改名对应的预设策略是将所述旧版本数据库中被改名的表恢复到所述新版本数据库中改名的表中;所述删除列对应的预设策略是略过对删除的列的恢复;所述增加列对应的预设策略是略过对新增的列的恢复或者将新增的列设置为预设的默认值、空值或指示值;所述列改名对应的预设策略是将所述旧版本数据库中被改名的列恢复到所述新版本数据库中改名的列中;所述列改变顺序对应的预设策略是按照所述新版本数据库中列的顺序,将所述旧版本数据库的列恢复到所述新版本数据库中;所述列改变数据类型对应的预设策略是将所述旧版本数据库中的值转换为新的数据类型后恢复到所述新版本数据库中,如果无法转换,则将所述新版本数据库中的列恢复为指定的值。
[0016]进一步地,所述获取新版本数据库信息,所述新版本数据库信息包括第二数据表结构信息前还包括:
[0017]建立预设策略配置文件,所述预设策略配置文件包括对所述预设策略配置的规则的执行程序,其中,对所述表改名、增加列、列改名和列改变数据类型对应的预设策略配置的规则的执行程序由用户进行编辑,对所述删除表、增加表、删除列和列改变顺序对应的预设策略配置的规则的执行程序是预先设置的。
[0018]进一步地,所述将备份的所述旧版本数据库恢复到所述新版本数据库中的方式为块拷贝方式。
[0019]第二方面,本发明公开了一种数据库恢复装置,包括:
[0020]旧版本数据库信息获取模块,用于获取旧版本数据库信息,所述旧版本数据库信息包括第一数据表结构信息、数据内容和版本号;
[0021]新版本数据库信息获取模块,用于获取新版本数据库信息,所述新版本数据库信息包括第二数据表结构信息;
[0022]判断模块,用于根据所述第一数据表结构信息和所述第二数据表结构信息,判断所述旧版本数据库的数据表结构与所述新版本数据库的数据表结构是否一致,如果是,则直接将所述旧版本数据库恢复到所述新版本数据库中,如果不是,则执行下一步;
[0023]变化类型获取模块,用于根据所述第一数据表结构信息和所述第二数据表结构信息,获取相对于所述旧版本数据库,所述新版本数据库变化的类型;
[0024]恢复模块,用于根据所述变化的类型对应的预设策略,将所述旧版本数据库恢复到所述新版本数据库中。
[0025]进一步地,所述第一数据表结构信息为第一数据库名、第一数据表名、第一列名、第一列长度和第一列数据类型中的任一种或至少两种的组合;所述第二数据表结构信息为第二数据库名、第二数据表名、第二列名、第二列长度和第二列数据类型中的任一种或至少两种的组合。
[0026]进一步地,所述变化的类型包括删除表、增加表、表改名、删除列、增加列、列改名、列改变顺序和列改变数据类型中的任一种或至少两种的组合,所述删除表对应的预设策略是略过对删除的表的恢复;所述增加表对应的预设策略是略过对新增的表的恢复;所述表改名对应的预设策略是将所述旧版本数据库中被改名的表恢复到所述新版本数据库中改名的表中;所述删除列对应的预设策略是略过对删除的列的恢复;所述增加列对应的预设策略是略过对新增的列的恢复或者将新增的列设置为预设的默认值、空值或指示值;所述列改名对应的预设策略是将所述旧版本数据库中被改名的列恢复到所述新版本数据库中改名的列中;所述列改变顺序对应的预设策略是按照所述新版本数据库中列的顺序,将所述旧版本数据库的列恢复到所述新版本数据库中;所述列改变数据类型对应的预设策略是将所述旧版本数据库中的值转换为新的数据类型后恢复到所述新版本数据库中,如果无法转换,则将所述新版本数据库中的列恢复为指定的值。
[0027]进一步地,还包括:
[0028]预设策略配置文件建立模块,用于建立预设策略配置文件,所述预设策略配置文件包括对所述预设策略配置的规则的执行程序,其中,对所述表改名、增加列、列改名和列改变数据类型对应的预设策略配置的规则的执行程序由用户进行编辑,对所述删除表、增加表、删除列和列改变顺序对应的预设策略配置的规则的执行程序是预先设置的。
[0029]进一步地,所述将备份的所述旧版本数据库恢复到所述新版本数据库中的方式为块拷贝方式。
[0030]本发明所述的数据库恢复方法及装置通过分析旧版本数据库的数据表结构和新版本数据库的数据表结构,得到变化的类型,再根据变化的类型和对应的预设策略,将备份的旧版本数据库恢复到新版本数据库中,实现了数据库恢复的前向兼容,使得数据库恢复时不需要将数据库停止工作,可以实现在线恢复,且步骤简单,耗时较少。

【专利附图】

【附图说明】
[0031]为了更加清楚地说明本发明示例性实施例的技术方案,下面对描述实施例中所需要用到的附图做一简单介绍。显然,所介绍的附图只是本发明所要描述的一部分实施例的附图,而不是全部的附图,对于本领域普通技术人员,在不付出创造性劳动的前提下,还可以根据这些附图得到其他的附图。
[0032]图1是现有技术中数据库恢复方法的流程图。
[0033]图2是本发明实施例一提供的数据库恢复方法的流程图。
[0034]图3是本发明实施例二提供的数据库恢复方法的流程图。
[0035]图4是本发明实施例三提供的数据库恢复装置的结构图。

【具体实施方式】
[0036]为使本发明的目的、技术方案和优点更加清楚,以下将结合本发明实施例中的附图,通过【具体实施方式】,完整地描述本发明的技术方案。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例,基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动的前提下获得的所有其他实施例,均落入本发明的保护范围之内。
[0037]数据库通常包含多个数据表,每个数据表由多个列构成,每个列都具有数据结构。以下实施例均以该结构的数据库为基础予以实施。
[0038]实施例一:
[0039]图2是本实施例一提供的数据库恢复方法的流程图。如图2所示,该方法包括以下步骤:
[0040]步骤210、获取旧版本数据库信息,旧版本数据库信息包括第一数据表结构信息、数据内容和版本号。
[0041]本步骤中,可以对旧版本数据库进行备份,并可以将旧版本数据库信息以文件的形式保存起来。其中,旧版本数据库信息表征了旧版本数据库的结构信息和数据类型等信息,旧版本数据库信息可以包括第一数据表结构信息、数据内容和版本号,第一数据表结构信息可以为第一数据库名、第一数据表名、第一列名、第一列长度和第一列数据类型中的任一种或至少两种的组合。
[0042]步骤220、获取新版本数据库信息,新版本数据库信息包括第二数据表结构信息。
[0043]本步骤中,新版本数据库信息表征了新版本数据库的结构信息和数据类型等信息,其可以包括第二数据表结构信息,第二数据表结构信息可以为第二数据库名、第二数据表名、第二列名、第二列长度和第二列数据类型中的任一种或至少两种的组合。
[0044]步骤230、根据第一数据表结构信息和第二数据表结构信息,判断旧版本数据库的数据表结构与新版本数据库的数据表结构是否一致,如果是,则执行步骤240、直接将旧版本数据库恢复到新版本数据库中,如果不是,则执行以下步骤:步骤250、根据第一数据表结构信息和第二数据表结构信息,获取相对于旧版本数据库,新版本数据库变化的类型;步骤260、根据变化的类型对应的预设策略,将旧版本数据库恢复到新版本数据库中。
[0045]步骤230中,根据旧版本数据库和新版本数据库的数据表结构信息,包括数据库名、表名、列名、列长度和列数据类型中的任一种或至少两种的组合,可以较容易地判断出新版本数据库相对于旧版本数据库是否发生了变化,其中,变化包括结构上的变化和数据类型的变化。
[0046]步骤240中,直接将旧版本数据库恢复到新版本数据库中的方式可以为块拷贝方式,此方式下,数据库恢复的速度较快。
[0047]步骤250中,变化的类型可以是删除表、增加表、表改名、删除列、增加列、列改名、列改变顺序和列改变数据类型中的任一种或至少两种的组合。
[0048]步骤260中,删除表对应的预设策略可以是略过对删除的表的恢复;增加表对应的预设策略可以是略过对新增的表的恢复;表改名对应的预设策略可以是将旧版本数据库中被改名的表恢复到新版本数据库中改名的表中;删除列对应的预设策略可以是略过对删除的列的恢复;增加列对应的预设策略可以是略过对新增的列的恢复或者将新增的列设置为预设的默认值、空值或指示值;列改名对应的预设策略可以是将旧版本数据库中被改名的列恢复到新版本数据库中改名的列中;列改变顺序对应的预设策略可以是按照新版本数据库中列的顺序,将旧版本数据库的列恢复到新版本数据库中;列改变数据类型对应的预设策略可以是将旧版本数据库中的值转换为新的数据类型后恢复到新版本数据库中,如果无法转换,则将新版本数据库中的列恢复为指定的值。将旧版本数据库恢复到新版本数据库中的方式可以为块拷贝方式,此方式下,数据库恢复的速度较快。
[0049]本发明实施例一提供的数据库恢复方法通过分析旧版本数据库的数据表结构和新版本数据库的数据表结构,得到变化的类型,再根据变化的类型和对应的预设策略,将备份的旧版本数据库恢复到新版本数据库中,实现了数据库恢复的前向兼容,使得数据库恢复时不需要将数据库停止工作,可以实现在线恢复,且步骤简单,耗时较少。
[0050]实施例二:
[0051]图3是本实施例二提供的数据库恢复方法的流程图。如图3所示,该方法包括以下步骤:
[0052]步骤301、备份旧版本数据库,获取旧版本数据库信息,得到备份文件。
[0053]本步骤中,在旧版本数据库中执行备份操作,将旧版本数据库中所有需要备份的数据表的第一数据表结构信息、数据内容和当前版本号导出为文件,统一放到一个单独的文件夹中,此文件夹为备份文件,第一数据表结构信息中可以有多个数据表的结构信息,第一数据表结构信息可以为第一数据库名、第一数据表名、第一列名、第一列长度和第一列数据类型中的任一种或至少两种的组合。
[0054]步骤302、建立预设策略配置文件,预设策略配置文件中包括预设策略的执行程序。
[0055]本步骤中,针对新版本数据库,建立预设策略配置文件,将所有需要人工干预的处理步骤以特定的规则写入预设策略配置文件中,即将预设策略以特定的规则写入预设策略配置文件中。如果所有的差异都是恢复过程中能够自动识别的,则预设策略配置文件可以设置为空值。其中,表改名、增加列、列改名和列改变数据类型对应的预设策略的执行程序可以由用户进行编辑,通过对此部分的编辑可以更好地适用不同用户的需求;删除表、增加表、删除列和列改变顺序对应的预设策略配置的执行程序可以进行预先设置,通过此部分进行预先设置,不需要用户进行配置,可以减轻用户操作的负担并加快恢复的速度。此预设策略配置文件可以为XML文件,使用XML文件可以方便用户进行编辑。
[0056]其中,规则可以是以下四个规则中的任一个或至少两个的组合:列修改规则:将新版本数据库中指定的列的值设置为默认值;列删除规则:将新版本数据库中指定的列的值设置成空值;表修改规则:将新版本数据库中的表中的多个列采用列修改规则和列删除规则的组合;后处理规则:在已经将备份恢复到新版本数据库的基础上,通过执行执行程序(SQL语句或者专门的代码段)以修改新版本数据库中的数据中。
[0057]本步骤中,建立预设策略配置文件,能够使得在后面的数据库恢复过程中,通过解析预设策略配置文件,执行执行程序可以将旧版本数据库恢复到新版本数据库中。
[0058]步骤303、将备份文件导入新版本数据库中。
[0059]本步骤中,将步骤301得到的备份文件导入新版本数据库中以便执行数据库恢复操作。
[0060]步骤304、清空新版本数据库中的所有相关数据表的记录。
[0061]本步骤中,将新版本数据库中所有相关的数据表的记录清空,以便执行数据库恢复操作。
[0062]步骤305、获取新版本数据库信息。
[0063]本步骤中,获取新版本数据库的数据表的第二数据表结构信息,此第二数据表结构信息中可以有多个数据表的结构信息,第二数据表结构信息可以为第二数据库名、第二数据表名、第二列名、第二列长度和第二列数据类型中的任一种或至少两种的组合。
[0064]步骤306、判断旧版本数据库的数据表结构与新版本数据库的数据表结构是否一致,并判断策略配置文件中是否有预设策略的执行程序,
[0065]如果一致且没有执行程序,则执行以下步骤:步骤307、直接将旧版本数据库恢复到新版本数据库中;步骤308、判断第一数据表结构信息中是否有下一个数据表结构信息,如果是,则执行步骤306,如果否,则执行步骤309、退出数据库恢复过程;
[0066]如果不一致或有执行程序,则执行以下步骤:步骤310、根据变化的类型和变化类型对应的策略配置文件中的执行程序,将旧版本数据库恢复到新版本数据库中;步骤311、判断策略配置文件中是否有未执行的执行程序,
[0067]如果是,则执行以下步骤:步骤312、执行未执行的执行程序;步骤308、判断第一数据表结构信息中是否有下一个数据表结构信息;
[0068]如果否,则执行步骤308、判断第一数据表结构信息中是否有下一个数据表结构信肩、O
[0069]步骤306中,读取备份文件中的第一数据表结构信息,并与第二数据表结构信息进行比较,判断旧版本数据库的数据表结构与新版本数据库的数据表结构是否一致;通过判断策略配置文件是否为空值来判断策略配置文件中是否有预设策略的执行程序,如果策略配置文件为空值,则策略配置文件中没有预设策略的执行程序,如果策略配置文件不为空值,则策略配置文件中有预设策略的执行程序。
[0070]步骤307中,直接将旧版本数据库恢复到新版本数据库中的方式可以为块拷贝方式。
[0071]步骤308中,通过判断第一数据表结构信息中是否有下一个数据表结构信息并执行后期步骤,可以依次处理每一个数据表,能够将旧版本数据库中所有需要恢复的数据表恢复到新版本数据库中。
[0072]步骤310中,按照策略配置文件中配置的规则,执行执行程序,将旧版本数据库恢复到新版本数据库中,其恢复的方式可以是块拷贝方式。其中,变化的类型及对应的预设策略如实施例一中所述。
[0073]步骤311中,策略配置文件中未执行的执行程序可以是SQL语言,也可以是命令码。
[0074]步骤312中,执行未执行的程序可以在数据库恢复的过程中,将旧版本数据库中的数据进行修改,使得恢复到新版本数据库中的数据为修改后的版本。
[0075]本实施例二提供的数据库恢复方法利用数据库恢复过程和策略配置文件相结合的方式来处理数据库的恢复,通过建立策略配置文件使得恢复过程中将旧版本数据库中需要修改的内容进行了修改,使得恢复到新版本数据库中的数据为修改后的数据。且用户可以自由地配置策略配置文件,很好地满足了各种用户的需求。
[0076]实施例三:
[0077]图4给出了本发明实施例三提供的数据库恢复装置的结构图。如图4所示,该装置包括:
[0078]旧版本数据库信息获取模块401,用于获取旧版本数据库信息,旧版本数据库信息包括第一数据表结构信息、数据内容和版本号。
[0079]本实施例中,第一数据表结构信息可以为第一数据库名、第一数据表名、第一列名、第一列长度和第一列数据类型中的任一种或至少两种的组合。
[0080]新版本数据库信息获取模块402,用于获取新版本数据库信息,新版本数据库信息包括第二数据表结构信息。
[0081]本实施例中,第二数据表结构信息可以为第二数据库名、第二数据表名、第二列名、第二列长度和第二列数据类型中的任一种或至少两种的组合。
[0082]判断模块403,用于根据第一数据表结构信息和第二数据表结构信息,判断旧版本数据库的数据表结构与新版本数据库的数据表结构是否一致,如果是,则直接将旧版本数据库恢复到新版本数据库中,如果不是,则执行下一步。
[0083]本实施例中,直接将旧版本数据库恢复到新版本数据库中的方式可以是块拷贝方式,这种方式可以提高数据库恢复的速度。
[0084]变化类型获取模块404,用于根据第一数据表结构信息和第二数据表结构信息,获取相对于旧版本数据库,新版本数据库变化的类型。
[0085]本实施例中,变化的类型可以包括删除表、增加表、表改名、删除列、增加列、列改名、列改变顺序和列改变数据类型中的任一种或至少两种的组合。
[0086]预设策略配置文件建立模块405,用于建立预设策略配置文件,预设策略配置文件中包括预设策略的执行程序,其中,表改名、增加列、列改名和列改变数据类型对应的预设策略的执行程序可以由用户进行编辑,删除表、增加表、删除列和列改变顺序对应的预设策略配置的执行程序可以是预先设置的。
[0087]恢复模块406,用于根据变化的类型对应的预设策略,将旧版本数据库恢复到新版本数据库中。
[0088]本实施例中,删除表对应的预设策略可以是略过对删除的表的恢复;增加表对应的预设策略可以是略过对新增的表的恢复;表改名对应的预设策略可以是将旧版本数据库中被改名的表恢复到新版本数据库中改名的表中;删除列对应的预设策略可以是略过对删除的列的恢复;增加列对应的预设策略可以是略过对新增的列的恢复或者将新增的列设置为预设的默认值、空值或指示值;列改名对应的预设策略可以是将旧版本数据库中被改名的列恢复到新版本数据库中改名的列中;列改变顺序对应的预设策略可以是按照新版本数据库中列的顺序,将旧版本数据库的列恢复到新版本数据库中;列改变数据类型对应的预设策略可以是将旧版本数据库中的值转换为新的数据类型后恢复到新版本数据库中,如果无法转换,则将新版本数据库中的列恢复为指定的值。
[0089]本实施例中,将旧版本数据库恢复到新版本数据库中的方式可以是块拷贝方式,这种方式可以提高数据库恢复的速度。
[0090]本发明实施例三提供的数据库恢复系统通过分析旧版本数据库的数据表结构和新版本数据库的数据表结构,得到变化的类型,再根据变化的类型和对应的预设策略,将备份的旧版本数据库恢复到新版本数据库中,实现了数据库恢复的前向兼容,使得数据库恢复时不需要将数据库停止工作,可以实现在线恢复,且步骤简单,耗时较少。
[0091]上述仅为本发明的较佳实施例及所运用的技术原理。本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行的各种明显变化、重新调整及替代均不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由权利要求的范围决定。
【权利要求】
1.一种数据库恢复方法,其特征在于,包括: 获取旧版本数据库信息,所述旧版本数据库信息包括第一数据表结构信息、数据内容和版本号; 获取新版本数据库信息,所述新版本数据库信息包括第二数据表结构信息; 根据所述第一数据表结构信息和所述第二数据表结构信息,判断所述旧版本数据库的数据表结构与所述新版本数据库的数据表结构是否一致,如果是,则直接将所述旧版本数据库恢复到所述新版本数据库中,如果不是,则执行下一步; 根据所述第一数据表结构信息和所述第二数据表结构信息,获取相对于所述旧版本数据库,所述新版本数据库变化的类型; 根据所述变化的类型对应的预设策略,将所述旧版本数据库恢复到所述新版本数据库中。
2.根据权利要求1所述的数据库恢复方法,其特征在于,所述第一数据表结构信息为第一数据库名、第一数据表名、第一列名、第一列长度和第一列数据类型中的任一种或至少两种的组合;所述第二数据表结构信息为第二数据库名、第二数据表名、第二列名、第二列长度和第二列数据类型中的任一种或至少两种的组合。
3.根据权利要求1所述的数据库恢复方法,其特征在于,所述变化的类型包括删除表、增加表、表改名、删除列、增加列、列改名、列改变顺序和列改变数据类型中的任一种或至少两种的组合,所述删除表对应的预设策略是略过对删除的表的恢复;所述增加表对应的预设策略是略过对新增的表的恢复;所述表改名对应的预设策略是将所述旧版本数据库中被改名的表恢复到所述新版本数据库中改名的表中;所述删除列对应的预设策略是略过对删除的列的恢复;所述增加列对应的预设策略是略过对新增的列的恢复或者将新增的列设置为预设的默认值、空值或指示值;所述列改名对应的预设策略是将所述旧版本数据库中被改名的列恢复到所述新版本数据库中改名的列中;所述列改变顺序对应的预设策略是按照所述新版本数据库中列的顺序,将所述旧版本数据库的列恢复到所述新版本数据库中;所述列改变数据类型对应的预设策略是将所述旧版本数据库中的值转换为新的数据类型后恢复到所述新版本数据库中,如果无法转换,则将所述新版本数据库中的列恢复为指定的值。
4.根据权利要求3所述的数据库恢复方法,其特征在于,所述获取新版本数据库信息,所述新版本数据库信息包括第二数据表结构信息前还包括: 建立预设策略配置文件,所述预设策略配置文件中包括所述预设策略的执行程序,其中,所述表改名、增加列、列改名和列改变数据类型对应的预设策略的执行程序由用户进行编辑,所述删除表、增加表、删除列和列改变顺序对应的预设策略配置的执行程序是预先设置的。
5.根据权利要求1-4任一所述的数据库恢复方法,其特征在于,所述将备份的所述旧版本数据库恢复到所述新版本数据库中的方式为块拷贝方式。
6.一种数据库恢复装置,其特征在于,包括: 旧版本数据库信息获取模块,用于获取旧版本数据库信息,所述旧版本数据库信息包括第一数据表结构信息、数据内容和版本号; 新版本数据库信息获取模块,用于获取新版本数据库信息,所述新版本数据库信息包括第二数据表结构信息; 判断模块,用于根据所述第一数据表结构信息和所述第二数据表结构信息,判断所述旧版本数据库的数据表结构与所述新版本数据库的数据表结构是否一致,如果是,则直接将所述旧版本数据库恢复到所述新版本数据库中,如果不是,则执行下一步; 变化类型获取模块,用于根据所述第一数据表结构信息和所述第二数据表结构信息,获取相对于所述旧版本数据库,所述新版本数据库变化的类型; 恢复模块,用于根据所述变化的类型对应的预设策略,将所述旧版本数据库恢复到所述新版本数据库中。
7.根据权利要求6所述的数据库恢复装置,其特征在于,所述第一数据表结构信息为第一数据库名、第一数据表名、第一列名、第一列长度和第一列数据类型中的任一种或至少两种的组合;所述第二数据表结构信息为第二数据库名、第二数据表名、第二列名、第二列长度和第二列数据类型中的任一种或至少两种的组合。
8.根据权利要求6所述的数据库恢复装置,其特征在于,所述变化的类型包括删除表、增加表、表改名、删除列、增加列、列改名、列改变顺序和列改变数据类型中的任一种或至少两种的组合,所述删除表对应的预设策略是略过对删除的表的恢复;所述增加表对应的预设策略是略过对新增的表的恢复;所述表改名对应的预设策略是将所述旧版本数据库中被改名的表恢复到所述新版本数据库中改名的表中;所述删除列对应的预设策略是略过对删除的列的恢复;所述增加列对应的预设策略是略过对新增的列的恢复或者将新增的列设置为预设的默认值、空值或指示值;所述列改名对应的预设策略是将所述旧版本数据库中被改名的列恢复到所述新版本数据库中改名的列中;所述列改变顺序对应的预设策略是按照所述新版本数据库中列的顺序,将所述旧版本数据库的列恢复到所述新版本数据库中;所述列改变数据类型对应的预设策略是将所述旧版本数据库中的值转换为新的数据类型后恢复到所述新版本数据库中,如果无法转换,则将所述新版本数据库中的列恢复为指定的值。
9.根据权利要求8所述的数据库恢复装置,其特征在于,还包括: 预设策略配置文件建立模块,用于建立预设策略配置文件,所述预设策略配置文件中包括所述预设策略的执行程序,其中,所述表改名、增加列、列改名和列改变数据类型对应的预设策略的执行程序由用户进行编辑,所述删除表、增加表、删除列和列改变顺序对应的预设策略配置的执行程序是预先设置的。
10.根据权利要求6-9任一所述的数据库恢复装置,其特征在于,所述将备份的所述旧版本数据库恢复到所述新版本数据库中的方式为块拷贝方式。
【文档编号】G06F17/30GK104376073SQ201410646176
【公开日】2015年2月25日 申请日期:2014年11月14日 优先权日:2014年11月14日
【发明者】杨威 申请人:北京锐安科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1