一种动态分块数据库增量备份方法技术

技术编号:16873602 阅读:55 留言:0更新日期:2017-12-23 11:36
本发明专利技术公开了一种动态分块数据库增量备份方法,包括以下几个步骤:(1)获取数据库系统的历史备份信息;(2)根据数据库的备份日志,分析数据库历史备份情况与增量备份数据库分块情况;(3)通过以上分析,建立数据库增量备份分块策略表;(4)利用数据库增量备份分块策略表对待备份数据库文件进行分块,使用DIFF算法计算待备份的文件块的增量备份;(5)把累积的DIFF算法计算得到的增量备份转化成合成备份。通过本发明专利技术的方法不但可以快速构建出数据库增量备份分块方法,还能利用合适的分块粒度降低数据库DIFF算法的执行时间,加快数据库备份增量备份的速度。

A dynamic block database incremental backup method

The invention discloses a dynamic block incremental database backup method, including the following steps: (1) the historical information backup database system; (2) according to the database backup log, database backup and incremental analysis of historical database backup block; (3) through the above analysis, the establishment of database backup points block strategy table; (4) using the database partition table with incremental backup database backup file block, incremental backup using DIFF algorithm to backup file blocks; (5) to calculate the cumulative incremental backup DIFF algorithm into synthetic backup. The method can not only quickly build the incremental backup and block method of database, but also can reduce the execution time of database DIFF algorithm and speed up the incremental backup of database backup by using the appropriate partition granularity.

【技术实现步骤摘要】
一种动态分块数据库增量备份方法
本专利技术涉及一种动态分块数据库增量备份方法,属于数据库备份

技术介绍
信息系统已成为生产生活中重要的组成部分,保护系统中的数据尤为重要。数据备份技术是解决数据遭受损坏的有效手段,可靠的数据备份技术能够保证灾后数据完整快速的恢复。数据备份是容灾的基础,是指在生产中为了防止误操作、硬件故障、外界物理原因等造成数据损坏,定期的将主机中的全部或部分数据复制存储到主机的磁盘阵列或者其他的存储介质中的一种技术。数据备份的三种基本策略是完全备份、增量备份和差异备份。由于每种备份策略优缺点明显,所以在实际生产中,一般采用多种备份策略相结合的方式。现对三种备份策略简介如下:完全备份是备份所有选中的目标文件,拷贝到其他存储介质上,一般完全备份的时间间隔较长,例如,一个月一次全备份。增量备份是在第一次进行完全备份,之后每次与上次备份版本相比较,只备份发生改变的部分,大大提高了存储空间利用率。差异备份针对增量备份恢复较慢的缺点,第一次进行完全备份,之后每次与完全备份的版本相比较,存储与完全备份差异的部分。恢复时,只需要完全备份和最后一次的差异备份两个版本即可全部恢复。增量备份常见的实现方式是在备份前先运行Runscript调用数据库备份shell脚本,第一次执行完全备份,之后每次备份与旧版本的SQL文件运算DIFF算法,把增量edit存储到恢复目录中,备份之后把新版本重命名为旧版本,即完成一次增量备份。DIFF算法是解决最长公共子序列问题的,算法的核心思想是生成两个待比较的序列,实现方法是按行读取文件内容,存入字符串数组中形成两个序列,以此两个序列的长度构造二维数组,从数组[0,0]位置开始,寻找两个序列中相同的元素,具体过程中用动态规划方法实现。但是数据库现有的增量备份方法对大文件、不同文件格式备份支持不足。
技术实现思路
针对现有技术存在的不足,本专利技术目的是提供一种应用在大规模文件、不同文件格式下的动态分块数据库增量备份方法,根据对数据库历史备份文件的查询与总结,建立基于数据库历史备份数据和文件类型的分块策略,通过给出的分块策略进行分块,然后使用DIFF算法进行增量备份,在不影响数据库自身性能的情况下,实现了数据库根据历史备份数据和文件类型灵活高效的备份。为了实现上述目的,本专利技术是通过如下的技术方案来实现:本专利技术的一种动态分块数据库增量备份方法,通过分析数据库历史备份数据,构建增量备份分块策略表,按照分块策略表将待备份文件分块,再使用DIFF压缩算法压缩文件块,最后把累积的DIFF算法计算得到的增量备份转化成合成备份,具体包括以下几个步骤:(1)获取数据库系统相关信息及其历史备份信息,包括数据库备份时间、增量备份间隔时间、备份文件格式、数据库备份文件块的大小和数据库版本信息等;(2)根据数据库的备份日志,分析数据库历史备份情况与增量备份数据库分块情况,预估新备份文件修改情况;(3)通过以上分析,建立数据库增量备份分块策略表;(4)利用所述数据库增量备份分块策略表,对待备份数据库文件进行分块,使用DIFF算法(DIFF算法是用来比较两个文本文件的差异的一种算法,为现有算法此处不再赘述)计算待备份的文件块的增量备份;(5)每隔设定时间周期,把累积的DIFF算法计算得到的增量备份转化成合成备份。步骤(1)中,获取数据库系统的历史备份信息,具体包括连接待备份数据库,获取数据库的备份日志、数据库版本、增量备份数据库分块情况和数据库历史备份情况。步骤(2)中,所述数据库历史备份情况与增量备份数据库分块情况具体的分析方法如下:(2-1)增量备份的内容包括数据库表的增加部分、删除部分与更改部分,获取数据库备份文件修改情况,即增量备份中删除、修改部分占总增量备份的比例;(2-2)分别获取修改部分占总增量备份的10%、20%、30%、40%的备份情况,记录并统计在各个情况下执行DIFF算法的时间;(2-3)获取待备份文件的类型,所述待备份文件类型分为普通数据库表和图片文件;(2-4)获取待备份文件的大小,所述待备份文件的大小分为大于100G、10G到100G、1G到10G、小于1G的情况,记录并统计待备份文件大小不同的情况下,数据库增量备份执行DIFF算法的执行时间,即增量备份的备份效率。步骤(2-1)、(2-2)、(2-3)、(2-4)每一步都是通过查询历史备份记录,创建相关的备份数据块执行DIFF算法的时间的数据表,通过创建这些数据表,获取最优分块表,然后再执行DIFF算法,完成增量备份。步骤(2-1)中,定义数据库的修改部分为删除数据与更改数据的部分,那么增量备份中除修改部分外还有一种增加数据部分,则数据库修改率(数据库修改情况)计算如下:数据库增量备份中的未修改表示增量备份中仅增加数据,并没有删除与更改数据,数据库改变10%表示数据库中删除与更改部分的数据占总增量备份的10%;定义DIFF算法执行时间评价数据库增量备份的效率,DIFF算法执行时间为数据库备份文件分块时间、分块后通过Hash算法查找相同数据块的查找时间、DIFF算法的运行时间之和,具体DIFF算法的定义如下:DIFF算法执行时间=数据库备份文件分块时间+分块后hash算法查找时间+DIFF算法的运行时间。分块数据越多,分块时间与hash算法查找时间越多,但是DIFF算法运行时间就会越少。分块越少,分块时间与hash查找时间越少,但是DIFF算法的运行时间越长。故需要整体考虑DIFF算法执行时间,通过定义DIFF算法执行时间评价增量备份效率。步骤(2-3)中,图片文件转为二进制文件,MySQL中为blob类型,Oracle数据库中是blob或bfile类型。步骤(3)中,所述数据库增量备份分块策略表具体的建立方法如下:(3-1)根据数据库修改情况表,合并不同分块情况下执行DIFF算法的时间,对比执行时间,确定不同修改状态下最优分块大小,画出不同修改状态下最优分块曲线;(3-2)根据数据库备份文件类型表,合并不同的文件类型在执行DIFF算法的时间,对比执行时间,确定不同文件类型下最优的分块大小,画出不同备份文件类型下最优分块曲线;(3-3)将上述不同修改状态下最优分块表与不同文件类型下最优分块表合并为增量备份分块策略表。步骤(4)中,具体的方法如下:(4-1)初始化数据库;具体包括设置数据库备份模式,选择数据库备份方式;(4-2)将数据库进行一次全量备份,备份数据库版本信息、数据库状态表、数据库建表信息、数据库表中的信息;(4-3)一个备份周期之后,再将运行一个备份周期之后的数据库与初始数据库按照所述数据库增量备份分块策略表进行分块,分别计算初始文件块的hash值与新备份文件块的hash值;(4-4)判断步骤(4-3)中两个hash值是否一致,若新备份文件的hash值与初始数据库文件块中的hash值一致,则不执行DIFF算法,仅仅保留指向该数据块的指针;若新备份文件的hash值与初始数据库文件块中的hash值都不一致,则找到对应的文件块执行DIFF算法,将DIFF算法的运行结果与hash值一致的指针保存为增量备份文件块。通过数据库增量备份分块策略表解决了数据库在备份大文件时无法执行DIFF算法的文件,同时,通过分块策略表可本文档来自技高网
...
一种动态分块数据库增量备份方法

【技术保护点】
一种动态分块数据库增量备份方法,其特征在于,包括以下几个步骤:(1)获取数据库系统的历史备份信息,包括数据库备份时间、增量备份间隔时间、备份文件格式、数据库备份文件块的大小和数据库版本信息等;(2)根据数据库的备份日志,分析数据库历史备份情况与增量备份数据库分块情况,采用与历史备份数据对比的方式得到预估新备份文件修改情况;(3)通过以上分析,建立数据库增量备份分块策略表;(4)利用所述数据库增量备份分块策略表,对待备份数据库文件进行分块,使用DIFF算法计算待备份的文件块的增量备份;(5)每隔设定时间周期,把累积的DIFF算法计算得到的增量备份转化成合成备份。

【技术特征摘要】
1.一种动态分块数据库增量备份方法,其特征在于,包括以下几个步骤:(1)获取数据库系统的历史备份信息,包括数据库备份时间、增量备份间隔时间、备份文件格式、数据库备份文件块的大小和数据库版本信息等;(2)根据数据库的备份日志,分析数据库历史备份情况与增量备份数据库分块情况,采用与历史备份数据对比的方式得到预估新备份文件修改情况;(3)通过以上分析,建立数据库增量备份分块策略表;(4)利用所述数据库增量备份分块策略表,对待备份数据库文件进行分块,使用DIFF算法计算待备份的文件块的增量备份;(5)每隔设定时间周期,把累积的DIFF算法计算得到的增量备份转化成合成备份。2.根据权利要求1所述的动态分块数据库增量备份方法,其特征在于,步骤(2)中,所述数据库历史备份情况与增量备份数据库分块情况具体的分析方法如下:(2-1)增量备份的内容包括数据库表的增加部分、删除部分与更改部分,获取数据库备份文件修改情况,即增量备份中删除、修改部分占总增量备份的比例;(2-2)分别获取修改部分占总增量备份的10%、20%、30%、40%的备份情况,记录并统计在各个情况下执行DIFF算法的时间,创建数据库修改情况表,记录不同修改情况下执行DIFF算法的运行时间;(2-3)获取待备份文件的类型,所述待备份文件类型分为普通数据库表和图片文件,创建数据库备份文件类型表,记录不同文件类型执行DIFF算法的运行时间;(2-4)获取待备份文件的大小,所述待备份文件的大小分为大于100G、10G到100G、1G到10G、小于1G的情况,记录并统计待备份文件大小不同的情况下,数据库增量备份执行DIFF算法的执行时间,即增量备份的备份效率。3.根据权利要求2所述的动态分块数据库增量备份方法,其特征在于,步骤(2-1)中,定义数据库的修改部分为删除数据与更改部分的部分,则数据库修改率计算如下:数据库增量备份中的未修改表示增量备份中仅增加数据,并没有删除与更改数据,数据库改变10%表示数据库中删除与更改部分的数据占总增量备份的10%;定义DIFF算法执行时间评价数据库增量备份的效率,DIFF算法执行时间为数据库备份文件分块时间、分块后通过Hash算法查找相同数据块的时间、DIFF算法的运行时间之和,具体DIFF算法的定义如下:DIFF算法执行时...

【专利技术属性】
技术研发人员:刘赛聂庆节杨华飞周忠冉刘嘉华刘军张磊马悦皎缪骞云周建华崔林
申请(专利权)人:南京南瑞集团公司国网江苏省电力公司电力科学研究院国家电网公司
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1