[发明专利]一种通用型数据库备份及恢复方法无效
申请号: | 201210593002.7 | 申请日: | 2012-12-31 |
公开(公告)号: | CN103049566A | 公开(公告)日: | 2013-04-17 |
发明(设计)人: | 吴歌 | 申请(专利权)人: | 中国电子科技集团公司第十五研究所 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;G06F11/14 |
代理公司: | 北京理工大学专利中心 11120 | 代理人: | 付雷杰;李爱英 |
地址: | 100083 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 通用型 数据库 备份 恢复 方法 | ||
技术领域
本发明涉及计算机应用领域,具体涉及一种通用型数据库备份及恢复方法。
背景技术
对于数据库备份恢复方式,各数据库厂商均提供了应用层面的备份恢复工具,这些工具在一定程度上能够满足数据的备份恢复需求,大部分只能按用户方式、表方式和全库方式进行备份,不能分门别类进行细粒度的备份恢复,而且在备份恢复过程中出现异常的时候很难定位错误位置;此外,这些工具很难无缝集成到应用系统中。
发明内容
有鉴于此,本发明提供了一种通用型数据库备份及恢复方法,能够对多种数据库进行备份和恢复。
本发明的一种通用型数据库备份及恢复方法,包括如下步骤:
步骤1、建立数据库引擎,在该数据引擎中封装多种主流数据库的客户端协议;将数据库引擎与客户需要的数据库建立起连接,并通过数据引擎读取该数据库的所有数据对象;在数据引擎中生成的选择页面中显示该数据库中所有的数据对象供用户选择,用户选择后,保存用户选择的要备份的数据对象;
步骤2、建立文件读写引擎,设置用于存储待抓取数据的文件的容量大小;根据步骤1中所保存的用户要备份的数据对象,文件读写引擎从该数据库中对数据进行抓取,在文件的文件体中顺序写入抓取的数据对象的内容;同时通过文件读写引擎在文件的文件头中以二进制的形式写入该备份文件的基本信息;
文件读写引擎实时判断每个文件已经写入数据的大小,当数据的大小等于文件的容量大小时,停止向当前文件写入数据,生成新文件,将数据继续写入到新文件中;
所述文件读写引擎采用写缓存方式将数据对象写入文件,具体为:文件读写引擎从数据库抓取数据后,先将数据对象暂存入写缓存区域,写缓存区域内的数据量达到该写缓存的容量上限后,将其中的数据一次性写入所述文件中;
在上述抓取数据过程中,首先读取各个数据对象之间的依赖关系,按照先抓取被其它数据对象依赖的数据对象,后抓取不被依赖数据对象的顺序,对待抓取数据对象进行写缓存处理;
步骤3、根据数据对象间的依赖关系,将数据对象从文件中顺序读取,然后再恢复到数据库中;其中,在恢复的过程中,如果恢复的数据对象为单纯的数据形式,则先删除文件中数据的索引,待数据恢复到数据库后再重建数据的索引。
数据库引擎根据用户对数据对象的备份需求,周期性执行所述步骤2的备份任务。
将所述数据对象从文件向数据库恢复时采用缓存方式,即先将数据对象暂存入写缓存区域,写缓存区域数据量达到该写缓存的容量上限后,将其中的数据一次性恢复到数据库中。
记录数据备份过程中的各种错误信息,出现异常时,根据错误信息查找定位错误位置。
本发明具有如下有益效果:
1)根据客户要求设置要备份的对象类型,包括表、试图、存储过程、函数或者自定义对象等,可以只备份一类、多类或者全部,实现数据对象的细粒度的备份及恢复;
2)在数据库引擎中封装多个主流数据库的,根据用户要求建立所要备份的数据库,实现了应用系统与多个数据库的无缝集成;
3)记录数据备份过程中的各种错误信息,出现异常时,根据错误信息查找定位错误位置。
具体实施方式
下面举实施例,对本发明进行详细描述。
本发明提供了一种通用型数据库备份及恢复方法,包括如下步骤:
步骤1、建立数据库引擎,在该数据引擎中封装ORACLE、DB2、MySQL和MS SQL等多种主流数据库的客户端协议;将数据库引擎与客户需要的数据库建立起连接,并通过数据引擎读取该数据库的所有数据对象,包括表、视图、存储过程、函数、自定义对象等;在数据引擎中生成的选择页面中显示该数据库中所有的数据对象供用户选择,用户选择后,保存用户选择的要备份的数据对象;
步骤2、建立文件读写引擎,设置用于存储待抓取数据的文件的容量大小;根据步骤1中所保存的用户要备份的数据对象,文件读写引擎从该数据库中对数据进行抓取,在文件的文件体中顺序写入抓取的数据对象的内容,如建表语句、具体数据、存储过程源代码、函数源代码何自定义对象描述语句等;同时通过文件读写引擎在文件的文件头中以二进制的形式写入该备份文件的基本信息,如备份时间、备份范围、本次备份文件总数以及该文件时本次备份中的第几个文件等;
文件读写引擎实时判断每个文件已经写入数据的大小,当数据的大小等于文件的容量大小时,停止向当前文件写入数据,生成新文件,将数据继续写入到新文件中。如此,会根据需要生成一定大小的备份文件,避免某些文件容量过大。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国电子科技集团公司第十五研究所,未经中国电子科技集团公司第十五研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210593002.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种LED灯罩注坯吹塑模具的下模
- 下一篇:一种多件胶管挤出等速控制装置