CN107506260A - 一种动态分块数据库增量备份方法 - Google Patents

一种动态分块数据库增量备份方法 Download PDF

Info

Publication number
CN107506260A
CN107506260A CN201710622128.5A CN201710622128A CN107506260A CN 107506260 A CN107506260 A CN 107506260A CN 201710622128 A CN201710622128 A CN 201710622128A CN 107506260 A CN107506260 A CN 107506260A
Authority
CN
China
Prior art keywords
backup
database
file
incremental backup
incremental
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201710622128.5A
Other languages
English (en)
Other versions
CN107506260B (zh
Inventor
刘赛
聂庆节
杨华飞
周忠冉
刘嘉华
刘军
张磊
马悦皎
缪骞云
周建华
崔林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
State Grid Corp of China SGCC
Nanjing NARI Group Corp
Electric Power Research Institute of State Grid Jiangsu Electric Power Co Ltd
Original Assignee
State Grid Corp of China SGCC
Nanjing NARI Group Corp
Electric Power Research Institute of State Grid Jiangsu Electric Power Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by State Grid Corp of China SGCC, Nanjing NARI Group Corp, Electric Power Research Institute of State Grid Jiangsu Electric Power Co Ltd filed Critical State Grid Corp of China SGCC
Priority to CN201710622128.5A priority Critical patent/CN107506260B/zh
Publication of CN107506260A publication Critical patent/CN107506260A/zh
Application granted granted Critical
Publication of CN107506260B publication Critical patent/CN107506260B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

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

Description

一种动态分块数据库增量备份方法
技术领域
本发明涉及一种动态分块数据库增量备份方法,属于数据库备份技术领域。
背景技术
信息系统已成为生产生活中重要的组成部分,保护系统中的数据尤为重要。数据备份技术是解决数据遭受损坏的有效手段,可靠的数据备份技术能够保证灾后数据完整快速的恢复。数据备份是容灾的基础,是指在生产中为了防止误操作、硬件故障、外界物理原因等造成数据损坏,定期的将主机中的全部或部分数据复制存储到主机的磁盘阵列或者其他的存储介质中的一种技术。
数据备份的三种基本策略是完全备份、增量备份和差异备份。由于每种备份策略优缺点明显,所以在实际生产中,一般采用多种备份策略相结合的方式。现对三种备份策略简介如下:完全备份是备份所有选中的目标文件,拷贝到其他存储介质上,一般完全备份的时间间隔较长,例如,一个月一次全备份。增量备份是在第一次进行完全备份,之后每次与上次备份版本相比较,只备份发生改变的部分,大大提高了存储空间利用率。差异备份针对增量备份恢复较慢的缺点,第一次进行完全备份,之后每次与完全备份的版本相比较,存储与完全备份差异的部分。恢复时,只需要完全备份和最后一次的差异备份两个版本即可全部恢复。
增量备份常见的实现方式是在备份前先运行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算法的文件,同时,通过分块策略表可以更加高效的对待备份数据库进行增量备份。
步骤(5)中,所述增量备份转化成合成备份具体的方法如下:合成备份是指将增量备份过程中的多个增量数据合成为一个完整的增量,即最后恢复只需要一个完全备份和最终的增量备份数据,可以改进增量备份的恢复效率。
(5-1)将全备份的文件记为A1、A2...An;
(5-2)分别记录之后的增量备份文件B1、B2…Bn;
(5-3)将第一次的全备份和之后的各个版本的增量备份进行合并,解析增量文件edit,由于diff的增量格式固定,且通过简单的文件合并不用添加额外的说明信息就能够完成合成,相当于一次的差异备份,把diff的增量备份转化成合成备份。
本发明通过分析数据库的历史备份数据和备份文件类型,构建出数据库增量备份分块策略表,利用此数据库增量备份分块策略表可快速对待备份的文件块进行分块,分块之后采用DIFF算法进行增量备份,最后再把各个增量备份合并为合成备份。通过该方法不但可以快速构建出数据库增量备份分块方法,还能利用合适的分块粒度降低数据库DIFF算法的执行时间,加快数据库备份增量备份的速度,具有重要的实际意义。
附图说明
图1是一个备份周期内的增量备份的备份流程图;
图2是数据库增量备份分块策略表获取的流程图;
图3是基于DIFF算法进行增量备份之后再合并为合成备份的架构图。
具体实施方式
为使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体实施方式,进一步阐述本发明。
数据库增量备份恢复策略为多级Patch恢复,执行基础的增量恢复,先恢复到完全备份,再逐个版本恢复到最新状态。Andrew Tridgell博士提出的Rsync算法是经典的增量备份实现,Linux系统上的rsync远程增量备份算法和Windows上的cwRsync等算法皆是以此算法为蓝本实现的。Rsync在网络环境下,通过对文件分块对比每块的校验值,把备份客户端的增量数据传输到存储端备份。计算增量的主要算法是对文件定长K字节分段,对每一段计算两个强弱Hash值,比较客户端和存储端的每段的Hash值确定发生改变后再逐字节比较计算字节增量传输给存储端同步文件。
本发明的一种基于数据库历史备份数据与备份文件类型的增量备份中的分块方法具体步骤流程如图1所示。
(1)获取数据库系统的历史备份信息,数据库备份时间,增量备份时间,备份文件格式,数据库版本信息,具体包括:
连接待备份数据库:加载JDBC驱动程序,首先将要加载的数据库的驱动连接到JVM(Java虚拟机),提供JDBC连接的URL;创建数据库连接与Statement对象,执行SQL语句,获取数据库的备份日志,数据库版本,数据库分块情况,数据库历史备份情况。
(2)根据数据库备份日志,分析数据库历史备份情况与增量备份数据库分块情况,具体包括:
(2-1)增量备份的内容包括数据库表的增加部分、删除部分与更改部分,定义数据库的修改部分为删除数据与改变数据的部分,那么增量备份中除修改部分外还有一种增加数据部分。通过定义数据库增量备份中的修改部分是数据库删除部分与改变部分,则数据库修改率计算如下所示:
数据库增量备份中的未修改表示增量备份中仅增加数据,并没有删除与更改数据,数据库改变10%表示数据库中删除与更改部分的数据占总增量备份的10%。定义DIFF算法执行时间为分块时间和算法执行时间之和。即1G文件切割为10块后的执行时间为10次切割时间+hash算法搜索时间+DIFF算法运行时间。
(2-2)获取数据库修改部分占总增量备份的10%、20%、30%、40%的情况下,分别统计数据库增量备份时执行DIFF算法的时间。通过分析DIFF算法执行时间,建立数据库修改情况表,记录数据库修改情况对DIFF算法影响。
(2-3)获取待备份文件的类型,包括:普通数据库表、图片文件(图片转为二进制文件,MySQL中为blob类型,Oracle数据库中是blob或bfile类型)以及其他二进制大文件。
(2-4)分析不同的文件类型增量备份时执行DIFF算法的时间,考虑不同分块粒度下,各类文件类型的执行DIFF算法的时间。创建数据库备份文件类型表,记录DIFF算法对于不同文件类型的执行时间。
(3)分析不同情况下数据库增量备份执行DIFF算法的时间,建立数据库增量备份分块策略表并构建数据库增量备份分块模型,具体包括:
(3-1)根据数据库修改情况表,合并不同分块情况下执行DIFF算法的时间一致的情形。对比执行时间,确定不同修改状态下最优分块大小,画出不同修改状态下最优分块曲线。
(3-2)根据数据库备份文件类型表,合并不同的文件类型在执行DIFF算法时间一致的情形。对比执行时间,确定不同文件类型下最优的分块大小,画出不同备份文件类型下最优分块曲线。
(3-3)将上述不同修改状态下最优分块表与不同文件类型下最优分块表合并为增量备份分块策略表。在备份文件测试集上测试增量备份分块策略表。数据库增量备份分块策略表如表1所示。
表1数据库增量备份分块策略表
普通数据库表 图片文件 二进制大文件
数据库未改变 1000M 1000M 1000M
数据库改变10& 800M 500M 800M
数据库改变20% 600M 400M 500M
数据库改变30% 300M 200M 200M
数据库改变40% 100M 100M 100M
步骤(3)所使用的数据库增量备份分块模型是一种自定义的数据分块模型。定义的增量备份数据分块模型主要与数据库修改情况和数据库备份文件类型有关,在本数据库增量备份分块模型中,保证了在增量备份中兼顾分块时间、hash算法查找数据块时间、DIFF算法执行时间、计算机运行效率等问题。
其中通过定义数据库修改情况与DIFF算法执行时间,来论证数据库增量备份分块策略的有效性。数据库修改情况的定义如下所示。
数据库增量备份中的未修改表示增量备份中仅仅增加数据,并没有删除与更改数据,数据库改变10%表示数据库中删除与更改部分的数据占总增量备份的10%。通过定义数据库修改率评价数据库增量备份的修改情况。
定义DIFF算法执行时间评价数据库增量备份的效率,DIFF算法执行时间为:数据库备份文件分块时间、分块后hash算法查找时间、DIFF算法的运行时间之和。DIFF算法的定义如下式所示。
DIFF算法执行时间=数据库备份文件分块时间+分块后hash算法查找时间+DIFF算法的运行时间
分块数据越多,分块时间与hash算法查找时间越多,但是DIFF算法运行时间就会越少。分块越少,分块时间与hash查找时间越少,但是DIFF算法的运行时间越长。故需要整体考虑DIFF算法执行时间,通过定义DIFF算法执行时间评价增量备份效率。
(4)利用数据库增量备份分块模型,对待备份文件进行分块,使用DIFF算法计算待备份的文件块的增量情况。
(4-1)初始化数据库,设置数据库备份模式,选择数据库备份方式。
(4-2)首先进行一次全量备份,备份数据库所有数据,包括数据库版本信息、数据库状态表、数据库建表信息、数据库表中的信息等。预估待备份文件的修改情况与文件备份类型,调取数据库增量备份分块策略表,将第一次全量备份的文件按照文件分块策略表进行分类。
(4-3)运行一个备份周期后(通常为一天),查看与预估的增量备份文件修改情况和文件备份类型是否一致。若一致,则直接将运行过一个备份周期后的数据库按照增量备份分块策略表进行分块。若不一致,则将运行一个备份周期之后的数据库与初始数据库按照增量备份分块策略表重新分块。
(4-4)分别计算初始文件块的hash值与新备份文件块的hash值。判断两个hash值是否一致,若新备份文件的hash值与初始数据库文件块中的hash值一致,则不执行DIFF算法,仅仅保留指向该数据块的指针。若新备份文件的hash值与初始数据库文件块中的hash值都不一致,则找到对应的文件块执行DIFF算法,将DIFF算法的运行结果与hash值一致的指针保存为增量备份文件块。
步骤(4)中所使用的数据库增量备份策略是一种基于分块策略表自定义的数据库文件分块方法。首先根据数据库增量备份分块策略表获得分块策略,再按照增量备份分块策略表高效的对待备份文件进行分块,最终通过DIFF算法计算文件块之间差异实现增量备份。在本增量备份模型中,解决了无法针对大文件备份直接执行DIFF算法的问题,通过增量备份分块策略表可以更加高效的执行增量备份。
在基于分块策略表的增量备份模型下,首先,初始化数据库,将数据库进行一次全量备份。一个备份周期之后,再将运行一个备份周期之后的数据库与初始数据库按照增量备份分块策略表进行分块,分别计算初始文件块的hash值与新备份文件块的hash值。判断两个hash值是否一致,若新备份文件的hash值与初始数据库文件块中的hash值一致,则不执行DIFF算法,仅仅保留指向该数据块的指针。若新备份文件的hash值与初始数据库文件块中的hash值都不一致,则找到对应的文件块执行DIFF算法,将DIFF算法的运行结果与hash值一致的指针保存为增量备份文件块。通过数据库增量备份分块策略表解决了数据库在备份大文件时无法执行DIFF算法的文件,同时,通过分块策略表可以更加高效的对待备份数据库进行增量备份。
(5)把DIFF算法计算得到的增量备份转化成合成备份。
(5-1)将全备份的文件记为A1、A2、...An,如图3中最左侧的文件标号。
(5-2)分别记录之后的增量备份文件B1、B2、….Bn等,如图3中右侧的文件标号。
(5-3)将第一次的全备份和之后的各个版本的增量备份进行合并,通过解析增量文件edit实现的,由于diff的增量格式固定,且通过简单的文件合并不用添加额外的说明信息就能够完成合成,相当于一次的差异备份,把diff的增量备份转化成合成备份。合成备份整体的框架图如图3所示。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

Claims (7)

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算法执行时间=数据库备份文件分块时间+分块后hash算法查找时间+DIFF算法的运行时间。
4.根据权利要求2所述的动态分块数据库增量备份方法,其特征在于,
步骤(2-3)中,图片文件转为二进制文件,MySQL中为blob类型,Oracle数据库中是blob或bfile类型。
5.根据权利要求1所述的动态分块数据库增量备份方法,其特征在于,步骤(3)中,所述数据库增量备份分块策略表具体的建立方法如下:
(3-1)根据数据库修改情况表,合并不同分块情况下执行DIFF算法的时间,对比执行时间,确定不同修改状态下最优分块大小,创建不同修改状态下最优分块表,画出不同修改状态下最优分块曲线;
(3-2)根据数据库备份文件类型表,合并不同的文件类型在执行DIFF算法的时间,对比执行时间,确定不同文件类型下最优的分块大小,创建不同文件类型下最优分块表,画出不同备份文件类型下最优分块曲线;
(3-3)将上述不同修改状态下最优分块表与不同文件类型下最优分块表合并为增量备份分块策略表。
6.根据权利要求1所述的动态分块数据库增量备份方法,其特征在于,步骤(4)中,具体的方法如下:
(4-1)初始化数据库;
(4-2)将数据库进行一次全量备份,备份数据库版本信息、数据库状态表、数据库建表信息、数据库表中的信息;
(4-3)一个备份周期之后,再将运行一个备份周期之后的数据库与初始数据库按照所述数据库增量备份分块策略表进行分块,分别计算初始文件块的hash值与新备份文件块的hash值;
(4-4)判断步骤(4-3)中两个hash值是否一致,若新备份文件的hash值与初始数据库文件块中的hash值一致,则不执行DIFF算法,仅仅保留指向该数据块的指针;若新备份文件的hash值与初始数据库文件块中的hash值都不一致,则找到对应的文件块执行DIFF算法,将DIFF算法的运行结果与hash值一致的指针保存为增量备份文件块。
7.根据权利要求1所述的动态分块数据库增量备份方法,其特征在于,步骤(5)中,所述增量备份转化成合成备份具体的方法如下:
(5-1)将全备份的文件记为A1、A2...An;
(5-2)分别记录之后的增量备份文件B1、B2…Bn;
(5-3)将第一次的全备份和之后的各个版本的增量备份进行合并,解析增量文件edit,把DIFF的增量备份转化成合成备份。
CN201710622128.5A 2017-07-27 2017-07-27 一种动态分块数据库增量备份方法 Active CN107506260B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710622128.5A CN107506260B (zh) 2017-07-27 2017-07-27 一种动态分块数据库增量备份方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710622128.5A CN107506260B (zh) 2017-07-27 2017-07-27 一种动态分块数据库增量备份方法

Publications (2)

Publication Number Publication Date
CN107506260A true CN107506260A (zh) 2017-12-22
CN107506260B CN107506260B (zh) 2019-11-05

Family

ID=60689915

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710622128.5A Active CN107506260B (zh) 2017-07-27 2017-07-27 一种动态分块数据库增量备份方法

Country Status (1)

Country Link
CN (1) CN107506260B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108614876A (zh) * 2018-04-26 2018-10-02 武汉斗鱼网络科技有限公司 一种基于Redis数据库的系统和数据处理方法
CN109977077A (zh) * 2019-03-25 2019-07-05 腾讯科技(深圳)有限公司 模型文件存储方法、装置、可读存储介质和计算机设备
CN110287061A (zh) * 2019-06-25 2019-09-27 重庆城市职业学院 基于计算机的信息维护系统
CN110727548A (zh) * 2019-09-29 2020-01-24 上海英方软件股份有限公司 一种基于数据库dml同步的持续数据保护方法及装置
CN110795404A (zh) * 2019-10-31 2020-02-14 京东方科技集团股份有限公司 Hadoop分布式文件系统及其运行方法、修复方法
CN111367871A (zh) * 2020-02-29 2020-07-03 华南理工大学 一种基于sapci可变长分块的文件间增量同步方法
WO2021114025A1 (zh) * 2019-12-09 2021-06-17 深圳市欢太科技有限公司 增量数据确定方法、确定装置、服务器及终端设备
CN113568871A (zh) * 2021-06-10 2021-10-29 山东蓓明医疗科技有限公司 一种医疗边缘设备电力管理实时自动同步的方法
CN114020539A (zh) * 2022-01-05 2022-02-08 国家超级计算天津中心 基于云环境下的块存储自适应备份系统
CN114840361A (zh) * 2022-04-13 2022-08-02 江苏安超云软件有限公司 加快数据库恢复的方法及应用

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102236586A (zh) * 2010-04-21 2011-11-09 雷州 一种计算机本地及网络多次增量的数据备份、恢复方法
US20170109087A1 (en) * 2014-11-20 2017-04-20 Commvault Systems, Inc. Virtual machine change block tracking

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102236586A (zh) * 2010-04-21 2011-11-09 雷州 一种计算机本地及网络多次增量的数据备份、恢复方法
US20170109087A1 (en) * 2014-11-20 2017-04-20 Commvault Systems, Inc. Virtual machine change block tracking

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
朱毅: ""基于动态长度分块增量备份算法的数据备份系统"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108614876B (zh) * 2018-04-26 2021-02-02 武汉斗鱼网络科技有限公司 一种基于Redis数据库的系统和数据处理方法
CN108614876A (zh) * 2018-04-26 2018-10-02 武汉斗鱼网络科技有限公司 一种基于Redis数据库的系统和数据处理方法
CN109977077A (zh) * 2019-03-25 2019-07-05 腾讯科技(深圳)有限公司 模型文件存储方法、装置、可读存储介质和计算机设备
CN110287061A (zh) * 2019-06-25 2019-09-27 重庆城市职业学院 基于计算机的信息维护系统
CN110727548A (zh) * 2019-09-29 2020-01-24 上海英方软件股份有限公司 一种基于数据库dml同步的持续数据保护方法及装置
CN110795404A (zh) * 2019-10-31 2020-02-14 京东方科技集团股份有限公司 Hadoop分布式文件系统及其运行方法、修复方法
CN110795404B (zh) * 2019-10-31 2023-04-07 京东方科技集团股份有限公司 Hadoop分布式文件系统及其运行方法、修复方法
WO2021114025A1 (zh) * 2019-12-09 2021-06-17 深圳市欢太科技有限公司 增量数据确定方法、确定装置、服务器及终端设备
CN111367871A (zh) * 2020-02-29 2020-07-03 华南理工大学 一种基于sapci可变长分块的文件间增量同步方法
CN111367871B (zh) * 2020-02-29 2022-06-10 华南理工大学 一种基于sapci可变长分块的文件间增量同步方法
CN113568871A (zh) * 2021-06-10 2021-10-29 山东蓓明医疗科技有限公司 一种医疗边缘设备电力管理实时自动同步的方法
CN114020539A (zh) * 2022-01-05 2022-02-08 国家超级计算天津中心 基于云环境下的块存储自适应备份系统
CN114020539B (zh) * 2022-01-05 2022-03-18 国家超级计算天津中心 基于云环境下的块存储自适应备份系统
CN114840361A (zh) * 2022-04-13 2022-08-02 江苏安超云软件有限公司 加快数据库恢复的方法及应用

Also Published As

Publication number Publication date
CN107506260B (zh) 2019-11-05

Similar Documents

Publication Publication Date Title
CN107506260A (zh) 一种动态分块数据库增量备份方法
US11126620B2 (en) Automatic verification and triage of query results
CN102831222B (zh) 一种基于重复数据删除的差量压缩方法
CN103034659B (zh) 一种重复数据删除的方法和系统
US7366859B2 (en) Fast incremental backup method and system
CA2279119C (en) Heuristic-based conditional data indexing
US8560500B2 (en) Method and system for removing rows from directory tables
US7478113B1 (en) Boundaries
US7480643B2 (en) System and method for migrating databases
CN108255647B (zh) 一种samba服务器集群下的高速数据备份方法
US11461304B2 (en) Signature-based cache optimization for data preparation
US20120041926A1 (en) Techniques for increasing the usefulness of transaction logs
US7406489B2 (en) Apparatus, system and method for persistently storing data in a data synchronization process
CN110555770B (zh) 一种基于增量哈希的区块链世界状态校验和恢复方法
CN101963982A (zh) 基于位置敏感哈希的删冗存储系统元数据管理方法
CN110096509A (zh) 大数据环境下实现历史数据拉链表存储建模处理的系统及方法
US10740316B2 (en) Cache optimization for data preparation
KR102139087B1 (ko) 인덱스 리두 로그를 이용한 인덱스 복구를 위한 방법, 서버 및 컴퓨터 판독가능 저장매체
CN113821382B (zh) 一种实时数据库数据处理方法、系统和设备
CN111930692B (zh) 一种基于日志解析同步的事务合并执行方法及装置
CN115373889A (zh) 数据同步中的数据比对校验及数据修复的方法及装置
US20160275134A1 (en) Nosql database data validation
CN104391894A (zh) 一种重复数据的检查处理方法
JP2004062759A (ja) データベースログの管理方法、その装置およびそのプログラム
US10877945B1 (en) Optimized block storage for change block tracking systems

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant