一种备份和恢复重要数据的方法

文档序号:6447501阅读:839来源:国知局
专利名称:一种备份和恢复重要数据的方法
技术领域
本发明提供了一种备份和恢复重要数据的方法,特别涉及的是在应用关系型数据库系统进行数据存储的系统中,备份和恢复重要数据的组件和方法。
背景技术
对于任何一个大、中型软件系统,数据的备份和恢复都是最普遍、最基本的功能需求。现有的做法是使用数据库管理系统(DBMS,如SQL Server、Oracle等)所提供的工具来实现。但都不同程度地存在灵活性差、用户界面不够友好、操作复杂等缺点。
以Microsoft SQL Server为例。由机械工业出版社在2000年4月第一版的《SQL Server 7关系数据库系统管理于来发指南》中,它提供了三种备份方式完全备份——备份所有数据库对象、数据和事务日志;增量备份——备份从最近一次完全备份开始以来所有的数据;日志备份——备份从最近一次日志备份开始以来所有日志。
以上三种备份方式中,无论哪一种,都是针对整个数据库进行,而且是数据库的结构、对象和数据记录一起备份的。显然灵活性较差。如果用户的需求只是要对部分、甚至对单个库表的记录进行备份,则现有的备份方式就不能满足要求。
对于通讯及相关行业,很多时候需要备份和恢复多套重要配置参数数据,而每套参数之间又相对独立,没有时间上的延续关系,对于此种情况,现有的备份方式在灵活性方面就更显不足了。
此外,现有的备份恢复工具面向的用户多是数据库管理员(DBA),需要掌握非常专业化的计算机以及数据库系统知识,而且该工具都是集成于数据库管理系统平台(如SQL Server Enterprise Manager)之中,于是都存在有操作复杂、用户界面不够友好等等缺陷。

发明内容
本发明的目的是为了克服现有数据备份恢复技术灵活性差、操作复杂、用户界面不够友好等缺点。更好的满足通讯及相关行业,对重要配置参数数据多次、灵活、方便地进行备份和恢复操作的要求。
本发明所述的重要数据备份恢复的操作步骤如下第一步,根据具体情况,自由地选取需要进行备份恢复的库表,库表序列以配置文件的形式存储于工作站或者PC计算机硬盘中,以备调用;第二步,按照库表序列检索关系型数据库中相应的库表中的数据,生成备份数据,以文本文件形式存储于工作站或者PC计算机硬盘中;第三步,在需要恢复数据时,依据用户选定的一个在备份过程所生成的数据备份文件,将文件中的数据项以关系型数据库中记录的形式写入数据库,完成数据恢复操作。
采用本发明所述的方法,与现有的数据备份恢复技术相比,在操作和功能的灵活性方面有了质的飞跃。
特别对于通讯及相关行业,用户可以根据需要方便地备份多份不同的配置数据甚至是针对不同数据库的配置数据,以备查看和恢复使用。
使用本发明所述的方法,可以任意定制所需备份的库表,而不必每次备份都对整个数据库来进行;这样不但减少了数据库设计时的限制,而且提高了备份恢复的效率。使用原有技术需要十几直至几十分钟才能完成的对全部配置数据的备份和恢复的过程,现在几分钟内即可完成,大大提高了工作效率。
使用本发明所述的方法,还可以依据方法所述的设计思想自行开发用户界面,使界面更亲切、更人性化,方便普通技术人员操作使用。特别适用于通讯以及相关行业,需要对重要的配置数据进行多次备份和恢复的情况。


图1是数据备份的实现过程。
具体实施例方式
下面结合附图和具体实施方式
对本发明作进一步的详细描述1.数据备份图1给出了数据备份的实现过程。
数据备份过程的输入项是计算机硬盘上的库表名列表文件和数据库中的记录数据;输出项是以文件形式给出的备份结果,文件中以多个Insert语句记录了需备份库表的所有记录信息。而恢复数据的时候就只要在输出项执行这些Insert语句就可以把备份好的数据恢复到数据库中了。
步骤一,按顺序读取输入项中存储在计算机硬盘上的库表名列表文件中的库表名,生成数据备份文件的Delete语句部分,放入第一存储器1,该部分用于恢复数据时,先删除库中原有的数据;步骤二,对于某个库表,根据库表名,利用数据库管理系统存储器提供的存储过程可以得到该库表的字段信息,以生成备份该库表每条记录的Insert语句的前半部分——“Insert库表名i(…字段名m,字段名n,…)Values”,放入第二存储器2,该步骤对于每个库表执行一次;步骤三,对于步骤二中的库表,根据库表名和库表字段信息,检索出该库表每条记录的各字段的值,以生成备份该库表每条记录的Insert语句的后半部分——“(…字段m的值,字段n的值,…)”,放入第三存储器3;该步骤对于库表i中的每条记录执行一次;步骤四,将步骤二与步骤三所生成的结果凑在一起,形成一条完整的Insert语句,用以备份库表i中的一条记录,放入第四存储器4;该步骤对于库表i中的每条记录执行一次;步骤五,将步骤一执行一次的结果和步骤四针对每个库表每条记录都执行一次所得到的结果合起来,放入第五存储器5就形成了数据备份操作的结果。
2.数据恢复数据备份所生成的文件是用标准的SQL语言写成的,在数据恢复的时候只需将这些SQL语句从头至尾执行一次即可。
SQL语句的执行过程可以封装到自行开发应用程序内部,也可以在数据库管理系统所提供的查询工具中直接执行。有数据库知识基础的操作人员还可以使用任意文本编辑器直接查看数据备份信息。
3.关于库表名列表文件如附图所示,对于数据备份过程,列表文件和数据库记录同为系统输入部分而存储在计算机硬盘上,多个操作步骤都需要从该输入项读取信息。
这个库表名列表文件只是一个简单的文本文件,列出了需要备份的所有库表的名称。
这里值得注意的是,对应于备份过程的步骤一所采用的构造Delete语句的顺序,库表名列表文件中的库表名的排列顺序是有要求的。即,如果上述步骤一中构造Delete语句的顺序与库表名列表文件中的库表名顺序相同,那么对于库表间有外键约束的情况,在库表名列表文件中,主键所在的库表应该排在外键所在库表的后面。反之亦然。
总之,我们所提供的对系统重要数据的备份和恢复的组件和方法,克服了现有数据备份恢复技术灵活性差、操作复杂、用户界面不够友好等缺点。更好的满足了通讯及相关行业,对重要配置参数数据多次、灵活、方便地进行备份和恢复操作的要求。在实际应用中已经取得了令人满意的收益,受到操作人员的广泛好评。
权利要求
1.一种备份和恢复重要数据的方法,包括以下步骤1)根据具体情况,自由地选取需要进行备份恢复的库表,库表序列以配置文件的形式存储于工作站或者PC计算机硬盘中,以备调用;2)按照库表序列检索关系型数据库中相应的库表中的数据,生成备份数据,以文本文件形式存储于工作站或者PC计算机硬盘中;3)在需要恢复数据时,依据用户选定的一个在备份过程所生成的数据备份文件,将文件中的数据项以关系型数据库中记录的形式写入数据库,完成数据恢复操作。
2.如权利要求1所述的一种备份和恢复重要数据的方法,其特征是所述的数据备份的方法是1)按顺序读取输入项中存储在计算机硬盘上的库表名列表文件中的库表名,生成数据备份文件的Delete语句部分,放入第一存储器1,该部分用于恢复数据时,先删除库中原有的数据;2)对于某个库表,根据库表名,利用数据库管理系统存储器提供的存储过程可以得到该库表的字段信息,以生成备份该库表每条记录的Insert语句的前半部分——“Insert库表名i(…字段名m,字段名n,…)Values”,放入第二存储器2,该步骤对于每个库表执行一次;3)对于步骤2)中的库表,根据库表名和库表字段信息,检索出该库表每条记录的各字段的值,以生成备份该库表每条记录的Insert语句的后半部分——“(…字段m的值,字段n的值,…)”,放入第三存储器3;该步骤对于库表i中的每条记录执行一次;4)将步骤2)与步骤3)所生成的结果凑在一起,形成一条完整的Insert语句,用以备份库表i中的一条记录,放入第四存储器4;该步骤对于库表i中的每条记录执行一次;5)将步骤1)执行一次的结果和步骤4)针对每个库表每条记录都执行一次所得到的结果合起来,放入第五存储器5就形成了数据备份操作的结果。
3.如权利要求1或2所述的一种备份和恢复重要数据的方法,其特征是所述的数据恢复方法是数据备份所生成的文件是用标准的SQL语言写成的,在数据恢复的时候只需将这些SQL语句从头至尾执行一次即可。
4.如权利要求3所述的一种备份和恢复重要数据的方法,其特征是SQL语句的执行过程是封装到自行开发应用程序内部。
5.如权利要求3所述的一种备份和恢复重要数据的方法,其特征是SQL语句的执行过程是在数据库管理系统所提供的查询工具中直接执行。
6.如权利要求3所述的一种备份和恢复重要数据的方法,其特征是SQL语句的执行过程是使用任意文本编辑器直接查看数据备份信息。
7.如权利要求3所述的一种备份和恢复重要数据的方法,其特征是如果构造Delete语句的顺序与库表名列表文件中的库表名顺序相同,那么对于库表间有外键约束的情况,在库表名列表文件中,主键所在的库表应该排在外键所在库表的后面;反之亦然。
全文摘要
本发明提供了一种备份和恢复重要数据的方法,包括以下步骤1.根据具体情况,自由地选取需要进行备份恢复的库表,库表序列以配置文件的形式存储于工作站或者PC计算机硬盘中,以备调用;2.按照库表序列检索关系型数据库中相应的库表中的数据,生成备份数据,以文本文件形式存储于工作站或者PC计算机硬盘中;3.在需要恢复数据时,依据用户选定的一个在备份过程所生成的数据备份文件,将文件中的数据项以关系型数据库中记录的形式写入数据库,完成数据恢复操作。本方法可以任意定制所需备份的库表,不必每次备份都对整个数据库来进行;使用原需要十几甚至几十分钟完成的对全部配置数据的备份和恢复的过程,现在几分钟内即可完成。
文档编号G06F17/40GK1517918SQ0311500
公开日2004年8月4日 申请日期2003年1月17日 优先权日2003年1月17日
发明者王振宇, 蒋松平 申请人:深圳市中兴通讯股分有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1