CN102609338A - 一种逆向的文件增量归档方法 - Google Patents
一种逆向的文件增量归档方法 Download PDFInfo
- Publication number
- CN102609338A CN102609338A CN2012100242694A CN201210024269A CN102609338A CN 102609338 A CN102609338 A CN 102609338A CN 2012100242694 A CN2012100242694 A CN 2012100242694A CN 201210024269 A CN201210024269 A CN 201210024269A CN 102609338 A CN102609338 A CN 102609338A
- Authority
- CN
- China
- Prior art keywords
- file
- difference
- reverse
- content
- filing
- 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.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提出了一种逆向的文件增量归档方法,属于信息安全技术领域。该方法在客户端对一个文件的新旧版本进行一次扫描比较,计算文件新旧版本之间的差异,同时生成文件内容正向差异和文件内容逆向差异,以上文件差异通过网络传输到归档服务器,正向差异用于更新归档服务器文件,逆向差异用于管理和重放各个归档点文件。恢复最新归档时间点文件时,服务器无需进行差异重放操作,直接将服务器保存的最新文件版本传至客户端即可完成文件恢复操作;恢复次新归档时间点文件时,服务器仅做一次差异重放操作。该方法具有差异计算快,差异重放快,恢复速度快等特征,提高了文件归档和恢复的效率,在灾难备份,文件归档等方面具有广阔的应用前景。
Description
技术领域
本发明提出了一种逆向的文件增量归档方法,属于信息安全技术领域。
背景技术
文件归档在防止数据丢失、意外删除、病毒破坏和灾难的影响等方面应用广泛。文件归档问题关键在于:如何以最小的存储空间和最高的效率来实现文件的归档和恢复,特别是当需要恢复归档文件时,应该能够快速地恢复出用户所需归档时间点的文件。现有的基于增量备份模型的文件归档方法中,如专利公开号CN101064730、CN1975683,服务器只保存了最近全备份点的文件和其余各归档时间点的差异数据。然而,当文件损坏或者丢失后,人们通常会选择恢复最新归档时间点的文件,以减少由此带来的损失。因此,能否快速地恢复最新归档时间点文件非常重要。上述方法用于归档存在以下的不足:
1) 恢复最新归档时间点文件耗时长。在文件恢复至最新归档时间点时,需要根据最近全备份点文件和各归档时间点差异文件逐次重放出所需归档点文件,需要搜索、扫描和重放该文件最近全备份点至最新归档时间点之间的所有归档版本,耗费时间长。
2) 恢复文件至最新归档时间点需占用的资源多。由于恢复到最新归档时间点需要执行多次的重放操作,需要多次将旧版本文件和差异文件从磁盘读出,然后生成新版本文件再写入磁盘,这些步骤需要大量的磁盘操作,造成服务器性能的严重下降。
本发明提出一种逆向的文件增量归档方法,该方法通过计算两个相邻时刻归档文件的正向及逆向差异和重构最新归档点文件来实现文件的增量归档,并在恢复归档文件时,根据逆向差异文件,对归档点文件进行重构、恢复。本发明具有以下优点:
1) 恢复文件至最新归档时间点速度快。服务器保存文件最新归档,无需进行差异重放操作,直接将服务器保存的最新归档文件复制到客户端即可完成文件恢复操作。
2) 归档速度快。在客户端仅做一次新旧版本文件之间的比较,即可同时生成文件内容正向差异和文件内容逆向差异,前者用于客户端和归档服务器文件的同步,后者用于产生文件逆向差异并进行基于时间点逆向的文件增量恢复;
3)恢复次新归档时间点文件,服务器仅做一次逆向差异重放操作,文件恢复速度快。
发明内容
本发明提出了一种逆向的文件增量归档方法。其基本思想是:本方法由归档文件备份和归档文件恢复两部分构成。在进行归档文件备份时,首先在客户端对一个文件的新旧版本进行一次扫描比较,计算出文件新旧版本之间的差异,同时生成基于时间点的文件内容正向差异和文件内容逆向差异;然后将以上文件差异通过网络传输到归档服务器,正向差异用于更新归档服务器文件,得到最新文件版本,逆向差异用于管理和重放各个归档点文件。在进行归档文件恢复时,若恢复最新归档时间点文件,服务器无需进行差异重放操作,直接将服务器保存的最新文件版本传至客户端即可完成文件恢复操作;若恢复次新归档时间点文件,服务器仅做一次差异重放操作,文件重放速度快,这样实现了归档文件的快速恢复。
在详细阐述本发明前,先定义如下术语:
(5) 文件分块大小k,指将文件f以k字节为单位分成一系列没有重叠的数据块,如果最后一块不足k字节,则填充为k字节。
(11) 逆向差异文件对,记录文件f内容的逆向差异,其中是逆向差异指示文件,记录匹配数据块的偏移量和未匹配数据块的标示,分别用正整数和-1表示,是逆向差异数据文件,记录和两个文件之间的差异数据,是一个流文件。
为了进一步说明本发明的原理及特征,以下结合附图进行详细的说明。
附图说明
图1是本发明的工作原理图。
图2是归档文件增量备份的步骤。
图3是判断归档文件内容是否发生变化的步骤。
图4是生成文件内容正向差异和逆向差异匹配记录文件的步骤。
图5是文件内容正向差异和逆向差异匹配记录文件传输的步骤。
图6是生成文件内容逆向差异的步骤。
图7是文件内容正向差异重放的步骤。
图8 是指定归档点文件逆向增量恢复的步骤。
具体实施方式
以下结合附图详细说明本发明的具体方法。
图1是本发明的工作原理图。
图1是本发明的工作原理图,其中包括归档文件备份和归档文件恢复两部分。
图1中左边虚线框中为归档文件的备份流程:客户端发起归档文件f备份操作,比较文件f与其上一归档点文件f t ,计算出两个文件内容的差异,并生成出正向差异文件和逆向差异匹配记录文件,传送到归档服务器;归档服务器根据文件内容逆向差异匹配记录文件计算出文件内容逆向差异,据此来管理各归档点,同时文件归档服务器根据正向差异文件和上一归档点文件f t 重放出归档文件f。
图1中右边虚线框中为指定归档点文件恢复过程:客户端向归档服务器发出所需归档时间点的文件的请求信息,归档服务器接收该请求信息,根据最新归档点文件f t 和各归档点文件内容的逆向差异,以时间的逆序完成文件的重放操作,得到用户指定归档点文件,并传回客户端。
具体地,本发明提出的一种逆向的文件增量归档方法包括以下步骤:
1) 归档文件增量备份的步骤,其中包括以下步骤:
a) 判断归档文件内容是否发生变化的步骤;
b) 生成文件内容正向差异和逆向差异匹配记录文件的步骤;
c) 文件内容正向差异和逆向差异匹配记录文件传输的步骤;
d) 生成文件内容逆向差异的步骤;
e) 文件内容正向差异重放的步骤;
2) 指定归档点文件逆向增量恢复的步骤。
图2是归档文件增量备份的步骤。
图2给出了归档文件增量备份的步骤。首先通过比较客户端文件f与其在归档服务器中上一归档时间点文件f t ,计算出两者的差异,同时生成基于时间点的文件内容正向差异和文件内容逆向差异;然后将以上文件差异通过网络传输到归档服务器,正向差异用于更新归档服务器文件,得到最新文件版本,逆向差异用于管理和重放各个归档点文件,具体步骤如下:
1) 判断归档文件内容是否发生变化的步骤;
2) 生成文件内容正向差异和逆向差异匹配记录文件的步骤;
3) 文件内容正向差异和逆向差异匹配记录文件传输的步骤;
4) 生成文件内容逆向差异的步骤;
5) 文件内容正向差异重放的步骤;
图3是判断归档文件内容是否发生变化的步骤。
图3给出了判断文件内容是否发生变化的步骤。判断文件f客户端版本和归档服务器版本f i 文件内容是否有变化,即判断是否成立。可表示为文件属性和文件内容,其中为文件长度,为文件最后修改时间,为文件内容散列值,具体步骤如下:
1) 获取归档服务器文件属性的步骤:客户端向归档服务器请求文件f i 的文件属性,归档服务器传回文件属性;
4) 比较文件散列值的步骤:比较是否等于,如果不同,则文件内容发生变化,转5);
5) 判定比较结束的步骤:保存文件是否发生改变的结果,结束比较。
图4是生成文件内容正向差异和逆向差异匹配记录文件的步骤。
图4给出了生成文件内容正向差异和逆向差异匹配记录文件的具体步骤。对于i、i+1时刻的文件版本f i 、f i+1 ,首先判断文件内容是否发生变化,若文件内容发生了变化,客户端向归档服务器请求校验值文件f H ,然后计算该文件内容的正向差异和该文件内容的逆向差异匹配记录,生成正向差异对文件和逆向差异匹配记录文件,具体步骤如下:
1) 归档服务器文件分块的步骤:将文件f i 以k字节为单位分成一系列没有重叠的数据块,共n块,如果最后一块不足k字节,则用0xFF补足为k字节。为f i 文件长度,为f i 文件分块序列号,文件偏移量为j(),文件数据块的分块序号为: ,其中运算符“/”表示整除,从1开始计数,最大为;
2) 归档服务器计算校验值并生成校验值文件的步骤:对于每个分块进行滚动校验和计算(滚动校验和计算采用rsync算法)、计算校验值(如:MD4),计算结果表示为,其中是滚动校验和,是校验值,j为文件偏移量,如果文件最后一块不足k字节,则用0xFF补足为k字节再计算。将校验值保存到文件f H 中;
3) 客户端通过网络获得校验值文件的步骤:客户端向归档服务器请求校验值文件f H ,归档服务器向客户端传回校验值文件f H ;
4) 客户端生成滚动校验值哈希表与索引表步骤:从校验值文件f H 中重新载入校验值,对滚动校验和进行哈希排序,将排序结果放入一个16bit的哈希表中。然后创建一个16bit的索引表,每一项索引值指向哈希表的每一个入口点;
5) 客户端扫描搜索、生成正向差异文件对及逆向差异匹配记录文件的步骤,设文件f i+1 的偏移量为,文件的偏移量为j,最近匹配块的偏移量为g(初始值为0),表示正向差异文件对,表示逆向差异匹配记录文件。该步骤描述如下:
b) 查找哈希值匹配块的步骤:当时,计算出不匹配块长度,若,转e);若,记录不匹配块长度到文件中,转e)。当时,计算从偏移量l开始的大小为的数据块的滚动校验和,并对进行哈希计算,如果不足k字节,则用0xFF补足为k字节再计算,然后搜索滚动校验和索引表与哈希表,查找相匹配的校验和,如果没有找到匹配的校验和,转c),否则,转d);
d) 验证匹配块散列值的步骤:计算中匹配块的校验值,并与匹配数据块的校验值相比较。若,则说明两个数据块完全一样。则先计算出不匹配块长度,当时,记录到文件中,记录的数据块序号的相反数,即到文件中,并记录Q = <j, l>到中,然后,转b);若,转c);
图5是文件内容正向差异和逆向差异匹配记录文件传输的步骤。
图5给出了文件内容正向差异和逆向差异匹配记录文件传输的具体步骤。客户端以文件,,的形式分别存储中不同类型的差异;对存放中差异的三类文件,依次序:,,,分别将文件打开,将其内容通过网络传输到归档服务器,具体步骤如下:
2) 发送文件差异内容的步骤:将1)中打开文件的内容通过网络发送到归档服务器;
图6是生成文件内容逆向差异的步骤。
1) 扫描逆向差异匹配记录文件的步骤:逆向差异匹配记录文件中存储着匹配数据块在服务器端i时刻文件中的偏移量j以及在i+1时刻文件中的偏移量l,将这两个值读入结构体实例,其中block赋值j/k+1,offset赋值l,将各实例放入数组S myblock ;
2) 数组排序的步骤:按每个结构体的block值升序对数组S myblock 进行排序;
5) 查找匹配数据块的步骤:设当前文件的块号为iblock(),初始值为1;当iblock > num时,转至8);否则将iblock值与数组S myblock 中各实例的block值进行匹配查找:若iblock值与数组S myblock 中某实例block值相同,转至6);否则,转至7);
图7是文件内容正向差异重放的步骤。
图7给出了文件内容正向差异重放的具体步骤。服务器在收到客户端通过网络传输过来的文件内容差异后,重放文件内容差异,即执行,得到最新归档时间点文件内容,完成文件的归档,重放过程中作为临时文件。具体步骤如下:
2) 判定正向差异指示数据的步骤:若x > 0,转至3);若x < 0,转至4);
图8 是指定归档点文件恢复的步骤。
图8给出了指定归档点文件恢复的具体步骤。客户端向归档服务器发出所需归档时间点的文件的请求信息,服务器接收该请求信息,根据最新文件版本、文件内容逆向差异,以时间的逆序完成文件的重放操作,即执行,其中为指定归档点的文件,以恢复文件为例说明。具体步骤如下:
1) 发送指定归档点文件恢复请求的步骤:客户端向归档服务器发出所需归档时间点的文件恢复的请求信息;
c) 判定逆向差异指示数据的步骤:若y = -1,转至d);若y > 0,转至e);
f) 逆向差异重放操作完成的步骤:逆向差异重放操作结束。
3) 发送所需归档时间点文件的步骤:将2)中重放出的归档点文件通过网络发送到客户端,完成文件的恢复。
Claims (6)
1.一种逆向的文件增量归档方法,其特征在于,所述方法包括以下步骤:
(1) 归档文件增量备份的步骤,包括以下步骤:
1) 判断归档文件内容是否发生变化的步骤;
2) 生成文件内容正向差异和逆向差异匹配记录文件的步骤,包括以下步骤:
a) 归档服务器文件分块的步骤;
b) 归档服务器计算校验值并生成校验值文件的步骤;
c) 客户端通过网络获得校验值文件的步骤;
d) 客户端生成滚动校验值哈希表与索引表的步骤;
e) 客户端扫描搜索、生成正向差异文件对及逆向差异匹配记录文件 的步骤;
3) 文件内容正向差异和逆向差异匹配记录文件传输的步骤;
4) 生成文件内容逆向差异的步骤,包括以下步骤:
a) 扫描逆向差异匹配记录文件的步骤;
b) 数组排序的步骤;
c) 创建逆向差异对文件的步骤;
d) 保存最新归档文件描述信息的步骤;
e) 查找匹配数据块的步骤;
f) 记录匹配块信息的步骤;
g) 记录不能匹配块信息的步骤;
h) 文件内容逆向差异生成完毕的步骤
5) 文件内容正向差异重放的步骤;
(2) 指定归档点文件逆向增量恢复的步骤。
2.根据权利要求1所述的一种逆向的文件增量归档方法,其特征在于,所述的判断归档文件内容是否发生变化的步骤包括以下步骤:
(1) 获取归档服务器文件属性的步骤;
(2) 比较文件长度的步骤;
(3) 比较文件最后修改时间的步骤;
(4) 比较文件散列值的步骤;
(5) 判定比较结束的步骤。
3.根据权利要求1所述的一种逆向的文件增量归档方法,其特征在于生成文件内容正向差异和逆向差异匹配记录文件的步骤中,客户端扫描搜索、生成正向差异文件对及逆向差异匹配记录文件的步骤包括以下步骤:
(1) 记录文件描述信息的步骤;
(2) 查找哈希值匹配块的步骤;
(3) 记录正向差异数据的步骤;
(4) 验证匹配块散列值的步骤;
(5) 正向差异对文件和逆向差异匹配记录文件生成结束的步骤。
4.根据权利要求1所述的一种逆向的文件增量归档方法,其特征在于,所述的文件内容正向差异和逆向差异匹配记录文件传输的步骤包括以下步骤:
(1) 客户端打开存放文件内容差异的文件的步骤;
(2) 发送文件差异内容的步骤;
(3) 归档服务器保存文件差异内容的步骤。
5.根据权利要求1所述的一种逆向的文件增量归档方法,其特征在于,所述的文件内容正向差异重放的步骤包括以下步骤:
(1) 读取正向差异指示文件的步骤;
(2) 判定正向差异指示数据的步骤;
(3) 从正向差异数据文件中读取数据的步骤;
(4) 从上一归档点文件中读取数据的步骤;
(5) 正向差异重放操作完成的步骤。
6.根据权利要求1所述的一种逆向的文件增量归档方法,其特征在于,所述的指定归档点文件逆向增量恢复的步骤包括以下步骤:
(1) 发送指定归档点文件恢复请求的步骤;
(2) 逆向差异重放的步骤,包括以下步骤:
1) 获取上一时刻归档文件的描述信息的步骤;
2) 读取逆向差异指示文件的步骤;
3) 判定逆向差异指示数据的步骤;
4) 从逆向差异数据文件中读取数据的步骤;
5) 从本次归档点文件中读取数据的步骤;
6) 逆向差异重放操作完成的步骤;
(3) 发送所需归档时间点文件的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012100242694A CN102609338A (zh) | 2012-02-05 | 2012-02-05 | 一种逆向的文件增量归档方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012100242694A CN102609338A (zh) | 2012-02-05 | 2012-02-05 | 一种逆向的文件增量归档方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102609338A true CN102609338A (zh) | 2012-07-25 |
Family
ID=46526730
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012100242694A Pending CN102609338A (zh) | 2012-02-05 | 2012-02-05 | 一种逆向的文件增量归档方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102609338A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103049263A (zh) * | 2012-12-12 | 2013-04-17 | 华中科技大学 | 一种基于相似性的文件分类方法 |
CN106155843A (zh) * | 2016-07-13 | 2016-11-23 | 袁凌 | 一种虚拟机备份和逆向恢复方法 |
CN106776150A (zh) * | 2017-01-04 | 2017-05-31 | 上海上讯信息技术股份有限公司 | 一种获取事务日志转储文件信息的方法及设备 |
-
2012
- 2012-02-05 CN CN2012100242694A patent/CN102609338A/zh active Pending
Non-Patent Citations (3)
Title |
---|
陈世爵等: "文件集的逆向差异归档方法", 《计算机工程与设计》 * |
马晓旭等: "一种逆向的差异归档方法 ", 《四川大学学报(工程科学版)》 * |
马晓旭等: "一种逆向的差异归档方法", 《四川大学学报(工程科学版)》, vol. 41, no. 04, 31 July 2009 (2009-07-31), pages 191 - 195 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103049263A (zh) * | 2012-12-12 | 2013-04-17 | 华中科技大学 | 一种基于相似性的文件分类方法 |
CN103049263B (zh) * | 2012-12-12 | 2015-06-10 | 华中科技大学 | 一种基于相似性的文件分类方法 |
CN106155843A (zh) * | 2016-07-13 | 2016-11-23 | 袁凌 | 一种虚拟机备份和逆向恢复方法 |
CN106155843B (zh) * | 2016-07-13 | 2019-03-12 | 袁凌 | 一种虚拟机备份和逆向恢复方法 |
CN106776150A (zh) * | 2017-01-04 | 2017-05-31 | 上海上讯信息技术股份有限公司 | 一种获取事务日志转储文件信息的方法及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103959256B (zh) | 基于指纹的数据重复删除 | |
CN102831222B (zh) | 一种基于重复数据删除的差量压缩方法 | |
US8738668B2 (en) | System and method for creating a de-duplicated data set | |
US7685384B2 (en) | System and method for replicating files in a computer network | |
US8386521B2 (en) | System for backing up and restoring data | |
CN103095843B (zh) | 一种基于版本矢量的数据备份方法及客户端 | |
CN104166600B (zh) | 数据备份与恢复方法及装置 | |
US8572340B2 (en) | Systems and methods for retaining and using data block signatures in data protection operations | |
CN106933703B (zh) | 一种数据库数据备份的方法、装置及电子设备 | |
CN103116615B (zh) | 一种基于版本矢量的数据索引方法及服务器 | |
WO2012065408A1 (zh) | 容灾数据备份的方法及系统 | |
CN108255647B (zh) | 一种samba服务器集群下的高速数据备份方法 | |
CN101243447A (zh) | 可搜索备份 | |
CN103118104B (zh) | 一种基于版本矢量的数据还原方法及服务器 | |
CN104932956A (zh) | 一种面向大数据的云容灾备份方法 | |
KR101429575B1 (ko) | 데이터베이스의 실시간 백업 시스템, 데이터 복구 시스템 및 데이터 복구 방법 | |
CN102880663A (zh) | 部分去重复的文件的优化 | |
CN102185889B (zh) | 基于iSCSI的重复数据删除方法 | |
CN106202173B (zh) | 一种文件仓库存储的智能排重方法及系统 | |
CN102027457A (zh) | 单独可访问数据单元的管理存储 | |
CN101963982A (zh) | 基于位置敏感哈希的删冗存储系统元数据管理方法 | |
CN104584524A (zh) | 聚合中介系统中的数据 | |
US8943024B1 (en) | System and method for data de-duplication | |
CN103838645B (zh) | 一种基于哈希的远程差异合成备份实现方法 | |
US7949630B1 (en) | Storage of data addresses with hashes in backup systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20120725 |