CN102402467A - 基于MultiplePass算法及连续DELTA序列的文件系统压缩备份方案 - Google Patents

基于MultiplePass算法及连续DELTA序列的文件系统压缩备份方案 Download PDF

Info

Publication number
CN102402467A
CN102402467A CN2010102833524A CN201010283352A CN102402467A CN 102402467 A CN102402467 A CN 102402467A CN 2010102833524 A CN2010102833524 A CN 2010102833524A CN 201010283352 A CN201010283352 A CN 201010283352A CN 102402467 A CN102402467 A CN 102402467A
Authority
CN
China
Prior art keywords
file
algorithm
delta
calculate
version
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
Application number
CN2010102833524A
Other languages
English (en)
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.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology of China
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 University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN2010102833524A priority Critical patent/CN102402467A/zh
Publication of CN102402467A publication Critical patent/CN102402467A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提出了基于MultiplePass算法及连续DELTA序列的文件系统压缩备份方案。为了减小连续DELTA序列中数据恢复的时间开销,提出了一种DELTA文件MultiplePass算法,并在此基础上提出了基于MultiplePass算法及连续DELTA序列的文件系统压缩备份及数据恢复方案。该方案在恢复数据时无需计算中间版本文件,较好地解决了连续DELTA序列数据恢复性能差的问题,同时MultiplePass算法不影响连续DELTA序列的备份方法,因此保持了其存储效率高、备份性能好的优点。

Description

基于MultiplePass算法及连续DELTA序列的文件系统压缩备份方案
技术领域
本发明涉及备份数据压缩及恢复的应用领域,具体涉及一种基于MultiplePass算法及连续DELTA序列的文件系统压缩备份方案。
背景技术
基于术的飞速发展,电子数据迅猛增长。大量的备份数据使得数据中心和网络带宽越来越不堪重远程复制的备份技术被广泛应用于保护有价值的商业和个人数据。随着计算机技术和存储技负,因此需要研究能有效减小备份数据物理存储量及网络传输量的技术,以适应海量数据的备份。
数据压缩是一种常用的方法,传统的压缩方法是利用文件内部编码的信息冗余进行压缩,能够获得的压缩比非常有限,通常为1∶2或更低。与传统数据压缩方法不同,DELTA压缩方法利用文件间的信息冗余进行压缩,可以达到1∶20甚至更高的压缩比。
DELTA压缩算法是一个函数(记为D),它的输入为一个待压缩文件(通常称为版本文件,记为V)和一个参照文件(记为R),输出为一个DELTA文件(记为Δ(R:V))。DELTA压缩算法D对照文件R的内容对文件V进行压缩,并输出压缩文件Δ(R:V),Δ(R:V)记录了V相对于R的变化,该压缩过程记为Δ(R:V)=D(R,V)。文件可以看作是由一系列符号组成的有序串,这里的符号可以是字符、数字、比特或字节等。压缩过程可以看作是对串V从头到尾进行编码的过程,编码的过程结果(即DELTA文件)是由一系列的copy命令和add命令组成的串。
基于DELTA压缩的文件备份系统采用客户/服务器架构,如图1所示。文件系统服务器为备份系统的客户端,负责工作文件系统的管理、备份数据的DELTA压缩及传送、恢复数据的接收及解压缩等工作。数据中心为备份系统的服务端,负责存储和管理备份数据,并在需要时给客户端传送恢复所需的数据文件。客户端和服务器端都在磁盘中保留了一个缓存区,用于存放DELTA压缩/解压缩所需的参照文件及其生成的中间文件,具体存放的内容和占用的空间大小取决于DELTA文件的管理策略。服务端的元数据中保存了用于管理DELTA文件所需的信息。
连续DELTA序列是一种直观的管理策略,它对版本文件序列B1B2...Bi-1BiBi+1...Bn的存储方法是:除了B1存储完整的文件,其余两两相邻的版本文件Bi和Bj(i≥1,j-i=1),只存储由这两个文件生成的DELTA文件
Figure BSA00000272302700021
这样就形成了连续DELTA序列
Figure BSA00000272302700022
连续DELTA序列的依赖关系如图2所示,图中矩形代表完整文件,三角形代表DELTA文件,箭头代表其尾部的文件依赖于箭头指向的文件。依赖关系图指明了恢复版本文件的流程:当需要恢复链中任意一个版本文件Bj时,只需从图中对应的DELTA文件
Figure BSA00000272302700023
出发,沿着箭头方向行进,直至到达某一完整版本文件为止,记录下所经过的路径;再从该完整版本文件出发,沿着相反的路径方向,顺次恢复所有中间版本文件,直到恢复出所需的版本文件。
该策略中,版本文件的压缩由客户端完成,客户端的缓存区中保存最新的两个版本文件用于生成DELTA文件。服务器端保存
Figure BSA00000272302700024
作为备份数据。当需要恢复数据时,服务器端用该连续DELTA序列计算出客户端要求的版本文件Bi,并传送给客户端。服务器端的缓存区中保存当前计算所需的中间版本文件和DELTA文件,并实时删除不再使用的文件。
连续DELTA序列具有最优的存储效率,并且客户端和服务器端之间传送的数据量小,但恢复数据所花费的时间取决于中间文件的数量。
发明内容
本发明解决的问题在于,用传统方法恢复连续DELTA序列中的数据时,时间开销会随着中间版本文件数量的增加而迅速增加,数据恢复效率低下的问题。为此,提供一种基于MultiplePass算法及连续DELTA序列的文件系统压缩备份方案。
本发明解决问题所采取的方案是,提供一种基于MultiplePass算法及连续DELTA序列压缩的文件系统备份方案;其在不计算中间文件的情况下,提出了一种高效的TriplePass数据恢复算法。所述TriplePass算法可直接用于对压缩备份数据进行运算,直接得到原始版本文件,不需要计算中间文件。
在本发明所述的一种基于MultiplePass算法的连续DELTA序列压缩的文件系统备份方案中,所述TriplePass算法是一种对传统DELTA序列数据恢复方法的改进算法,其对传统管理策略进行提炼与升华,得到一种高效简炼的算法,其效率高,存储利用率高。
具体的,所述TriplePass算法直接作用于DELTA备份文件与待恢复原始版本文件上,省掉了全部计算中间版本文件的中间过程。所以本发明提供的基于TriplePass算法及连续DELTA序列的文件系统压缩备份方案执行效率高,存储量小,恢复速度快。
在本发明所述的一种基于TriplePass算法及连续DELTA序列的文件系统压缩备份方案中,所述TriplePass算法得到的计算结果由add和copy命令有序组成。
具体的,DELTA文件中,add命令由于包含了所代表子串的全部信息,故可以直接解释执行,恢复出对应的子串;而copy命令实质是一个指向参照文件的指针,故需要参照文件的参与才能恢复出对应的子串。所述TriplePass算法的基本思想是将DELTA文件中指向相邻版本文件的copy命令全部转换为指向最终参照文件的copy命令,而add命令直接保留。
进一步的,所述TriplePass算法得到的DELTA文件只需要最终参照文件即可直接恢复出所需的原始版本文件。
更进一步的,所述TriplePass算法很容易扩展为适用于多个文件的通用数据恢复算法,无需计算任何中间文件,称通用的算法为MultiplePass算法。
为了使本发明更清楚明白,下面结合具体表征阐明本发明所带来的技术效果,本发明提出一种DELTA文件TriplePass算法,设R,V和T代表3个版本文件,已知R,Δ(R:V)和Δ(V:T),如要得到T,传统的方法是先用R和Δ(R:V)计算出V,再用V和Δ(V:T)计算出T,而TriplePass算法的目的是在不计算V的情况下,直接用Δ(R:V)和Δ(V:T)计算出Δ(R:T),并且计算过程无需R的参与,即Δ(R:T)=TriplePass(Δ(R:V),Δ(V:T))。有了Δ(R:T),R又是已知的,再运行一次解压算法即可得到T。DELTA文件由add和copy命令组成。在解压缩时,add命令由于包含了所代表子串的全部信息,故可以直接解释执行,恢复出对应的子串;而copy命令实质是一个指向参照文件的指针,故需要参照文件的参与才能恢复出对应的子串。TriplePass算法的基本思想是将Δ(V:T)中指向V的copy命令全部转换为指向R的copy命令,而add命令直接保留,最终得到的DELTA文件只需要参照R即可恢复出T,即通过转换得到了Δ(R:T)。很容易将TriplePass推广到适用于多个文件BmBm+1...Bi...Bn-1Bn的通用DELTA文件MultiplePass算法。设已知Bm(m≤i≤n-1),MultiplePass算法利用这n-m个DELTA文件直接计算出
Figure BSA00000272302700032
该计算过程不需要计算中间文件Bm+1Bm+2...Bn-1,也不需要Bm的参与。有了Bm
Figure BSA00000272302700033
再运行一次解压缩算法,即可得到Bn
在连续DELTA序列的设计上,该发明采用MultiplePass算法来改进连续DELTA序列的数据恢复性能。一方面,这样避免了计算中间文件,相对传统方法大大提高了数据恢复效率;另一方面,MultiplePass算法不影响连续DELTA序列的存储和备份方法,保持了连续DELTA序列优良的存储和备份性能。
本发明提出的基于MultiplePass算法及连续DELTA序列压缩的文件系统备份方案,实现了减小备份存储开销的目的;所提出的MultiplePass算法极大提高了数据恢复效率,解决了传统恢复方法时间开销大的问题,进而为减轻数据中心和网络带宽越来越不堪承受的重负打下坚实的技术基础。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1是DELTA备份系统结构示意图;
图2是连续DELTA序列依赖关系图;
图3是一个TriplePass算法的实例。
具体实施方式
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
图3给出了本发明的一个TriplePass算法的实例。
本发明提出的DELTA文件TriplePass算法具体实施转换过程如下:
(1)读出Δ(V:T)中的第一个命令<C,10,6>(对应的子串为“CEABCMNKCD”),该命令的off=6,len=10,子串最后一个符号“D”在V中的偏移量end=off+len-1=15。
(2)顺次将Δ(R:V)中各命令的len值累加到lensum中(lensum的初始值为0),并将lensum与(1)中的off和end相比较,就可以定位出<C,10,6>在Δ(R:V)中所对应的命令。如实例中从Δ(R:V)的第1个命令<C,4,1>开始累加,第一次累加lensum=4<6;当累加到第2个命令<C,3,6>时,6<lensum=4+3=7<15;继续累加,直到第5个命令<C,3,3>时,lensum=4+3+3+3+3=16>15。由此判定<C,10,6>所代表的子串在Δ(R:V)中对应为<C,3,6>的后2个符号、<C,3,1>的全部符号、<A,3,MNK>的全部符号和<C,3,3>的前2个符号,即图中V的虚线框所包含的部分。
(3)由于只包含了首命令<C,3,6>和尾命令<C,3,3>的部分符号,故调整首命令的off和len(将<C,3,6>转化为<C,2,7>),并调整尾命令的len(将<C,3,3>转化为<C,2,3>)。中间的命令<C,3,1>和<A,3,MNK>,由于全部符号都被包含,因此不需要转换,直接复制。<C,10,6>命令最后被转换为<C,2,7><C,3,1><A,3,MNK><C,2,3>。
(4)读出Δ(V:T)中的下一个命令<A,5,PQYZW>,由于是add命令,不需要转换,直接复制。
(5)Δ(V:T)中的命令读取结束,输出最终转换结果Δ(R:T)=<C,2,7><C,3,1><A,3,MNK><C,2,3><A,5,PQYZW>。
采用了MultiplePass算法后,备份方案仍然采用连续DELTA序列管理策略,在服务器端仍是保存形如的备份数据。在数据恢复时,有以下两种情况:
(1)客户端有某个版本文件Bm可用。文件系统管理员需要恢复到意外出错之前的某个版本Bk,而此时管理员有文件系统某个版本文件Bm(m<k)的本地备份(可能以磁带、光盘等离线方式存储)。这种情况下,客户端向服务器端请求
Figure BSA00000272302700052
文件。如果k-m=1,服务器端直接从DELTA序列中取出并发送给客户端;如果k-m≥2,则服务器端调用MultiplePass({Δ(i:i+1)|m≤i≤k-1})计算出
Figure BSA00000272302700054
后返回给客户端。客户端有了Bm
Figure BSA00000272302700055
再运行一次解压缩算法即可得到Bk
(2)客户端没有任何版本文件可用。客户端在重建硬件系统后,向服务器端请求重建前的最新版本文件Bn。服务器端调用MultiplePass({Δ(i:i+1)|1≤i≤n-1})计算出
Figure BSA00000272302700056
再运行一次解压缩算法得到Bn,最后将Bn传送给客户端。
综上所述,本发明由于避免了计算中间文件,基于MultiplePass算法的连续DELTA序列相对传统方法大大提高了数据恢复效率;另一方面,由于MultiplePass算法不影响连续DELTA序列的存储和备份方法,因此保持了连续DELTA序列优良的存储和备份性能。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡是本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (5)

1.基于MultiplePass算法及连续DELTA序列的文件系统压缩备份方案,在现有的压缩方式和文件管理策略的基础上,从压缩效率、存储开销、数据恢复性对文件系统备份和恢复总体性能进行提高。
其特征在于:
该文件系统的备份文件管理策略采用连续DELTA文件序列,该策略具有优良的存储和备份性能;
该文件系统的数据恢复方法采用基于MultiplePass算法的连续DELTA序列数据恢复方法,该方法仅凭相邻版本文件的DELTA文件就可以计算出任意两个版本文件之间的DELTA文件,从而不需要恢复中间版本文件,直接由一个先前版本文件可恢复出任意一个所需的版本文件。
2.如权利要求1所述,基于MultiplePass算法的连续DELTA序列数据恢复方法,其特征是,仅凭相邻版本文件的DELTA文件就可以计算出任意两个版本文件之间的DELTA文件,从而在不需要计算中间版本文件的情况下,可以由一个先前的版本文件和相关DELTA文件计算出所需的版本文件;DELTA文件由add和copy命令组成,在解压缩时,由于add命令包含了所代表的子串的全部信息,故可以直接解释执行,计算出对应的子串,而copy命令实质是一个指向参照文件的指针,故需要参照文件的参与才能计算出对应的子串;TriplePass算法在解压缩时,基本思想是将Δ(V:T)中指向V的copy命令全部转换为指向R的copy命令,而add命令直接保留,最终得到的DELTA文件只需要参照R即可计算出T,即通过转换得到了Δ(R:T)
3.如权利要求2所述,TriplePass算法可以推广到适用于多个版本文件BmBm+t…Bi…Bn-1Bn的通用MultiplePass算法,设已知Bm
Figure FSA00000272302600011
(m≤i≤n-1),MultiplePass算法利用这n-m个DELTA文件直接计算出
Figure FSA00000272302600012
该计算过程不需要计算中间版本文件Bm+1Bm+2…Bn-1,也不需要Bm的参与。有了Bm
Figure FSA00000272302600013
再运行一次解压缩算法,即可得到Bn。计算过程共调用TriplePass算法n-m-1次,每次调用计算出
Figure FSA00000272302600014
(m≤i≤n-2)供下一步计算使用,直到计算出
Figure FSA00000272302600015
4.如权利要求1所述,若文件系统管理员需要恢复到出错之前的某个版本Bk,而此时管理员有文件系统某个先前版本文件Bm(m<k)的本地备份,这种情况下,客户端向服务器端请求
Figure FSA00000272302600021
文件;如果k-m=1,服务器端直接从DELTA序列中取出
Figure FSA00000272302600022
并发送给客户端,如果k-m≥2,则服务器端调用MultiplePass({Δ(i:i+1)|m≤i≤k-1})计算出
Figure FSA00000272302600023
后返回给客户端;客户端有了Bm
Figure FSA00000272302600024
再运行一次解压缩算法即可得到Bk
5.如权利要求1所述,若客户端没有任何版本文件可用,客户端在重建硬件系统后,向服务器端请求灾难前的最新版本文件Bn;服务器端调用MultiplePass({Δ(i:i+1)|1≤i≤n-1})计算出
Figure FSA00000272302600025
再运行一次解压缩算法得到Bn,最后将Bn传送给客户端。
CN2010102833524A 2010-09-16 2010-09-16 基于MultiplePass算法及连续DELTA序列的文件系统压缩备份方案 Pending CN102402467A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010102833524A CN102402467A (zh) 2010-09-16 2010-09-16 基于MultiplePass算法及连续DELTA序列的文件系统压缩备份方案

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010102833524A CN102402467A (zh) 2010-09-16 2010-09-16 基于MultiplePass算法及连续DELTA序列的文件系统压缩备份方案

Publications (1)

Publication Number Publication Date
CN102402467A true CN102402467A (zh) 2012-04-04

Family

ID=45884695

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010102833524A Pending CN102402467A (zh) 2010-09-16 2010-09-16 基于MultiplePass算法及连续DELTA序列的文件系统压缩备份方案

Country Status (1)

Country Link
CN (1) CN102402467A (zh)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010056265A1 (en) * 2008-11-14 2010-05-20 Datadomain, Inc. Delta compression after identity deduplication

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010056265A1 (en) * 2008-11-14 2010-05-20 Datadomain, Inc. Delta compression after identity deduplication

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王灿等: "基于线性链式De l t a压缩的数据库备份方法", 《计算机应用研究》 *

Similar Documents

Publication Publication Date Title
CN101820426B (zh) 一种在线备份服务软件中的数据压缩方法
EP2256934B1 (en) Method and apparatus for content-aware and adaptive deduplication
CN102999543B (zh) 利用了数据段的相似度的高效数据存储
CN102831222B (zh) 一种基于重复数据删除的差量压缩方法
US8595188B2 (en) Operating system and file system independent incremental data backup
US8285957B1 (en) System and method for preprocessing a data set to improve deduplication
CN103095843B (zh) 一种基于版本矢量的数据备份方法及客户端
WO2017096532A1 (zh) 一种数据保存方法和装置
CN103118104B (zh) 一种基于版本矢量的数据还原方法及服务器
CN103116615B (zh) 一种基于版本矢量的数据索引方法及服务器
CN104932956A (zh) 一种面向大数据的云容灾备份方法
CN107682016B (zh) 一种数据压缩方法、数据解压方法及相关系统
CN101968796B (zh) 一种双向并发执行的文件级可变长数据分块方法
CN103177111A (zh) 重复数据删除系统及其删除方法
CN102624871A (zh) 一种基于分布式企业服务总线实现的远程文件同步方法
CN104866430B (zh) 结合主从备份和纠删码的内存计算系统高可用优化方法
CN103944981A (zh) 一种基于纠删码技术改进的云存储系统及实现方法
Sun et al. Data backup and recovery based on data de-duplication
CN105487942A (zh) 一种基于重复数据删除的备份与远程复制方法
CN103379160A (zh) 一种超大文件的差异同步方法
CN107027326B (zh) 存储系统中数据备份的方法及装置
CN101673289A (zh) 分布式文件存储构架的构建方法和装置
CN103152430A (zh) 一种缩减数据占用空间的云存储方法
CN104967660B (zh) 一种面向多云架构的网络性能提升方法
CN111831223A (zh) 提高数据去重系统可扩展性的容错编码方法、装置及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20120404

WD01 Invention patent application deemed withdrawn after publication