一种数据库备份方法

文档序号:6446543阅读:153来源:国知局
专利名称:一种数据库备份方法
技术领域
本发明涉及一种对数据库的操作方法,具体地说,涉及一种数据库的备份方法。
背景技术
一般的大型用户软件系统都需要对采集的关键业务信息进行存储,备份和分析。这些业务信息通常都非常重要并且数据量庞大。在现有的技术中,对于数据库中关键业务信息的备份,大多采用由数据库本身提供的备份工具进行备份的方式。比如Veritas公司的Backup Exec备份和恢复产品,ORACLE公司的export和import工具。用这些工具进行备份,无法做到对数据库表中一部分数据进行备份,另外,备份出的数据,其存储与组织方式也有别于一般的文件,用户很难直接查看文件或者在其上做二次开发。用户如果想要查看备份数据,则必须使用数据库本身的恢复工具将数据恢复到数据库中去。使用这些传统的备份方法,一旦数据量激增时,整库,整表备份或者恢复都需要消耗相当长的时间,整个用户系统效率就显得非常低下。总之,现有的数据库备份方式,存在以下不足1、要利用数据库本身提供的备份工具进行备份;2、备份数据难以识别,难于对备份数据进行二次开发;3、无法对数据库中表的一部分数据进行备份;4、备份数据不能恢复到不同的数据库。5、影响用户系统效率。

发明内容
本发明的目的就是针对上述不足,提出一种数据库备份方法,能够实现独立地对表的一部分数据进行备份,备份结果可以识别并可作二次开发,备份数据能恢复到不同的数据库中。
本发明提出的技术方案如下一种数据库备份方法,包括下列步骤步骤201 设置监控和备份信息;步骤202 对数据库备份内容进行解析;步骤203 连接数据库;步骤204 当备份开始时,进行备份内容查询;步骤205 对查询结果进行备份存储。
所述步骤201具体包括步骤2011 数据库连接设置;步骤2012 设定备份策略模板;步骤2013 设定备份结果文件。
所述步骤2011中数据库连接设置的内容包括设置数据库类型和用户名和密码;所述步骤2012中设定备份策略模板包括备份的关键信息,备份时是否对备份信息进行处理以及备份方式,所述备份的关键信息包括表列表,表字段,备份条件,备份周期,备份开始时间;所述步骤2013中设定备份结果文件包括设定备份结果的存储路径,备份结果文件名,备份结果文件存储结构以及备份结果文件目录结构。备份结果文件存储结构可以多个表备份为一个文件,结构为TABLENAME(KEY+VALUE)存储,也可以为每个表备份一个文件名,结构为VALUE存储。
所述步骤202进一步包括下列四个步骤步骤2021读取连接数据库类型,用户/密码信息,组织完成连接数据库的语句;步骤2022读取备份内容中的表/字段/条件信息,组织完成备份内容的查询语句步骤2023读取备份内容中的备份周期/备份开始时间信息,组织完成对定时器的设置;步骤2024读取备份结果文件模板定义中内容,获得对备份结果的存储方式。
所述步骤205中对查询结果以二进制方式写入备份存储文件。所述方法还可以将备份数据的开始点、结束点、成功与否、生成文件名及路径等记录在备份记录中。
采用本方法提出的数据库备份方法,用户系统可以做到在无人值守的情况下根据需要随时备份数据库中的关键业务信息。与传统的备份方式相比,该方法提供了灵活可变的模板定制方式,可以完成对数据库中部分表的部分信息进行备份,而不是整库或者整表备份,而且对于备份内容,用户可以选择随意组合,这对于数据量庞大的数据库来讲,这无疑是提高效率的一种好方法。另外,因为采用的是可识别的二进制文件备份方式,用户可以随时对备份的数据进行离线浏览,对数据进行进一步的分析,也可以很方便地在其上做二次开发,还可以将备份结果导入到其他类型的数据库,能达到不同数据库类型之间的操作。


图1是进行数据库备份的系统结构示意图;图2是本发明提出的备份方法的总体流程图;
图3是步骤201的详细流程图;图4是步骤202的详细流程图。
具体实施例方式
下面结合附图和实施例对本发明作进一步的详细说明。
图1是进行数据库备份的系统结构示意图。如图1所示,在数据库DB与用户系统之间定义了一个监控与备份模块,这个监控与备份模块负责实现本发明提出的数据库备份方法。在监控与备份模块中有数据库接口,负责构造与数据库形成连接的语句;备份内容模板,接收应用系统的定义,形成数据库查询语句;文件存储模板,形成备份文件的存储方式。监控与备份模块接收来自用户系统的定义和控制,完成对数据库的备份。
图2是本发明提出的备份方法的总体流程图。如图2所示,本发明所述的数据库备份方法,包括下列步骤步骤201 设置监控和备份信息为了方便进行说明,本方法定义了一个数据库监控与备份模块,该模块类似控件,提供一系列接口,用户系统可以通过定义这些接口,指定对数据库的连接,以及对数据库哪些关键信息进行监控和备份管理。用户可以通过修改监控模块中的接口信息达到对不同的数据库,不同的信息进行监控和备份管理的目的;设置监控和备份信息的详细步骤如图3所示,包括以下几步步骤2011 数据库连接设置接口定义的基本信息如下数据库类型用户名/密码步骤2012 设定备份策略模板采用备份策略模板,用户根据自己的备份需求定义模板具体内容,包括备份的关键信息,备份时是否对信息做简单处理,备份过程是否需要记录,备份方式,以及是否记录备份过程等。策略模板基本信息可包含如下备份[表列表][表字段][条件]|[备份周期]|[备份开始时间]其中表列表可以缺省,表示连接用户下所有表表字段可以缺省,表示该表中全部字段条件可以缺省,表示该表全部内容备份周期可以缺省,表示全表备份,不缺省时可以是一个小时,一天,一个星期,一个月等;
步骤2013 设定备份结果文件用户可以通过备份结果模板,定制备份结果的存储路径,文件命名,文件存储结构,文件目录结构等。
可以设置备份结果存储在多个文件或者单个文件中;文件存储结构说明可以多个表备份为一个文件,结构为TABLENAME(KEY+VALUE)存储,也可以为每个表备份一个文件名,结构为VALUE存储。
用户可以根据自己的需要定制备份结果文件;步骤202 对数据库备份内容进行解析用户定置好备份信息及备份存储结构后,监控和备份管理模块对定置后模板内容进行解析,如图4所示,解析内容包括以下几部分步骤2021 读取连接数据库类型,用户/密码信息,组织完成连接数据库的语句;步骤2022 读取备份内容中的表/字段/条件信息,组织完成备份内容的查询语句;步骤2023 读取备份内容中的备份周期/备份开始时间信息,组织完成对定时器的设置;步骤2024 读取备份结果文件模板定义中内容,获得对备份结果的存储方式。
步骤203 连接数据库监控和备份管理模块根据连接数据库的语句连接到数据库,并保持持续连接,直到用户请求更换连接或者终止连接。
步骤204 当备份开始时,进行备份内容查询当定时器到备份开始时间时,就将备份内容的查询语句传入数据库,进行查询;步骤205 对查询结果进行备份存储监控和备份管理模块根据获得的备份结果的存储方式,对查询内容按选择方式进行备份存储,存储以二进制方式写入文件,完成备份过程。
另外,备份数据的开始点,结束点,成功与否,生成文件名及路径等都可以被记录在模块的备份记录中,用户可以随时查看备份记录了解数据的备份情况。
本发明采用的是灵活的二进制文件备份方式,这就为备份文件的可能处理提供了以下几种可能一、对备份文件进行离线浏览这个需求对于一个远程控制的系统尤为重要。因为是二进制的文件,用户可以在系统完全不运行的情况下,通过fread的方式很容易地做到对备份文件中数据的查看。
二、据库中的数据进行恢复本方法提供的备份,对备份过程以及相关的备份信息都做了比较详细的记录,如果用户需要恢复数据库,则只需根据备份记录中的信息对数据库进行完整或者部分的恢复。在这项中,也可以将备份结果恢复到不同类型的数据库中,实现在异库之间的操作。
三、在备份文件上进行二次开发一般的软件系统都需要对关键业务信息进行长期的分析,而数据不可能被永久地存储在数据库,所以就需要对已经转储的数据进行分析。因为该方法备份生成的文件是可识别的二进制方式,用户可以根据自己的分析需求很容易地对这些文件进行分析再处理,这种处理甚至可以是跨越了本身用户软件系统之上的开发。
以下是本发明的一个优选实施例——电信网管系统(C/S模式)采用本发明所述方法实现了对数据库在无人职守情况下的备份与恢复,具体采用下面步骤实现1、设置监控和备份信息根据上述技术方案,定义了一个数据库的监控和备份管理模块,该模块提供一系列接口,客户端可以通过定义这些接口,指定对数据库的连接,以及对数据库哪些关键信息进行监控和备份管理。客户端可以通过修改监控模块中的接口信息达到对不同的数据库,不同的信息进行监控和备份管理的目的;我们定义的接口如下数据库连接设置(包括数据库类型,数据库版本号,用户名/密码)提供备份策略模板(包括备份[表列表][表字段]|[条件][备份开始时间]),其中表列表可以缺省,表示连接用户下所有表,表字段可以缺省,表示该表中全部字段,条件可以缺省,表示全表备份。
备份结果文件(包括备份结果的存储路径,文件命名,文件存储结构,文件目录结构)2、数据库备份监控和备份管理模块根据客户端定义的数据库连接以一定的方式连接到数据库,并保持持续连接,直到用户请求更换连接或者终止连接。
监控和备份管理模块根据用户定义的备份内容,设置一个定时器,当定时器到备份开始时间时,就对数据库中的关键业务信息进行备份。备份过程如下首先监控和备份管理模块将用户填写的备份内容加载进来形成查询语句;
其次将查询语句传入数据库,进行查询;第三对查询结果进行备份。备份时,监控和备份管理模块首先读取用户填写的备份路径,文件名,文件存储结构等信息,根据这些信息在备份路径下产生一个文件,用以存储备份结果。然后获取查询得到结果并将其按照用户定义的文件存储结构以二进制方式写入文件,完成备份过程。
备份数据的开始点,结束点,成功与否,生成文件名及路径等都会被记录在模块的备份记录中,用户可以随时查看备份记录了解数据的备份情况。如果备份失败,监控模块通过读取备份记录,对失败的备份操作进行再次备份尝试,成功则修改备份记录,失败三次后该项备份操作被标记为永久失败,不再尝试,除非用户主动激活。
3、备份数据的再利用a)所述网管系统,配合开局现场需要,对备份的性能报表数据做了离线浏览和分析,以尽快地定位和分析出现场的一些异常数据,解决现场问题。
b)所述网管系统,在从ORACLE向DB2的移植中,对备份数据进行了不同数据库之间的恢复,使得现场已配置好的数据在数据库移植过程中也不会被丢失。
采用本发明提出的数据库备份方法,能够在无人值守的情况下,对数据库中的一些关键业务信息进行监控和备份管理,以防备出现突发事件后,数据库中的数据可以很方便被恢复。利用该方法可以保证数据库数据的可管理性,完整性以及易恢复性;可以在不用用户干预的情况下自动地备份数据库中的数据。本发明由于采用了灵活的文件备份方式,用户可以将备份的数据导入到其他的数据库,也可以对备份的数据做离线浏览,也可以在备份的数据上做灵活的二次开发。
权利要求
1.一种数据库备份方法,其特征在于包括下列步骤步骤201设置监控和备份信息;步骤202对数据库备份内容进行解析;步骤203连接数据库;步骤204当备份开始时,进行备份内容查询;步骤205对查询结果进行备份存储。
2.根据权利要求1所述的数据库备份方法,其特征在于所述步骤201具体包括下列三个步骤步骤2011数据库连接设置;步骤2012设定备份策略模板;步骤2013设定备份结果文件。
3.根据权利要求2所述的数据库备份方法,其特征在于所述步骤2011中数据库连接设置的内容包括设置数据库类型和用户名和密码;所述步骤2012中设定备份策略模板包括备份的关键信息,备份时是否对备份信息进行处理以及备份方式,所述备份的关键信息包括表列表,表字段,备份条件,备份周期,备份开始时间;所述步骤2013中设定备份结果文件包括设定备份结果的存储路径,备份结果文件名,备份结果文件存储结构以及备份结果文件目录结构。
4.根据权利要求3所述的数据库备份方法,其特征在于所述步骤202进一步包括下列四个步骤步骤2021读取连接数据库类型,用户/密码信息,组织完成连接数据库的语句;步骤2022读取备份内容中的表/字段/条件信息,组织完成备份内容的查询语句;步骤2023读取备份内容中的备份周期/备份开始时间信息,组织完成对定时器的设置;步骤2024读取备份结果文件模板定义中内容,获得对备份结果的存储方式。
5.根据权利要求3所述的数据库备份方法,其特征在于所述备份结果文件存储结构可以多个表备份为一个文件,结构为TABLENAME(KEY+VALUE)存储,也可以为每个表备份一个文件名,结构为VALUE存储。
6.根据权利要求1述的数据库备份方法,其特征在于所述步骤205中对查询结果以二进制方式写入备份存储文件。
7.根据权利要求1述的数据库备份方法,其特征在于所述方法还可以将备份数据的开始点、结束点、成功与否、生成文件名及路径等记录在备份记录中。
8.根据权利要求4的数据库备份方法,其特征在于所述步骤203连接数据库是指根据连接数据库的语句连接到数据库,并保持持续连接,直到用户请求更换连接或者终止连接。
全文摘要
本发明公开了一种数据库备份方法,包括下列步骤1.设置监控和备份信息;2.对数据库备份内容进行解析;3.连接数据库;4.当备份开始时,进行备份内容查询;5.对查询结果进行备份存储。采用本方法提出的方法,用户系统可以做到在无人值守的情况下根据需要随时备份数据库中的关键业务信息。该方法提供了灵活可变的模板定制方式,可以完成对数据库中部分表的部分信息进行备份,而不是整库或者整表备份,而且对于备份内容,用户可以选择随意组合。另外,因为采用的是可识别的二进制文件备份方式,用户可以随时对备份的数据进行离线浏览,对数据进行进一步的分析,也可以很方便地在其上做二次开发,还可以将备份结果导入到其他类型的数据库,能达到不同数据库类型之间的操作。
文档编号G06F17/30GK1549128SQ03113490
公开日2004年11月24日 申请日期2003年5月15日 优先权日2003年5月15日
发明者李晓鹏, 李征鹤, 郜艳琴 申请人:深圳市中兴通讯股份有限公司南京分公司, 深圳市中兴通讯股份有限公司南京分公
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1