当前位置: 首页 > 专利查询>袁凌专利>正文

一种虚拟机备份和逆向恢复方法技术

技术编号:14063205 阅读:99 留言:0更新日期:2016-11-28 01:48
本发明专利技术公开了一种虚拟机备份和逆向恢复方法,包括:虚拟机备份,在T0时刻,安全备份F0和增量备份K1通过逆向增量计算后,生成新的安全备份F1和逆向增量备份R0,并在T1‑Tn时刻的每次增量备份中,均进行逆向增量计算,到Tn时刻时,生成安全备份Fn,逆向增量R0~R(n‑1),保持最新时刻点Tn数据为安全备份;逆向恢复,恢复最新时刻点Tn数据时,直接恢复安全备份Fn;恢复次新时刻点T(n‑1)数据时,首先恢复安全备份Fn,再恢复逆向增量R(n‑1)。本发明专利技术在虚拟机备份数据存储到备份服务器后,生成当前备份点的完全备份,将上一个备份通过逆向差异计算,生成完全备份、逆向增量备份或者逆向差异备份,在恢复最新备份点时,最新备份为完全备份,可大大加快恢复速度。

【技术实现步骤摘要】

本专利技术属于信息安全领域中的数据保护领域,涉及云计算领域内的虚拟机保护领域,具体的说,是涉及一种虚拟机备份和逆向恢复方法
技术介绍
虚拟机备份通常有完全备份、增量备份、差异备份等备份类型。在恢复时,用户首先选择恢复的时间点,备份系统按照这个时间点查找备份链,从备份链中提取出恢复该时间点的完全备份、增量备份或差异备份,然后按照顺序,先恢复完全备份,然后按照时间先后顺序,依次恢复增量备份或差异备份,至到恢复到用户选择的时间点。如果恢复点相距完全备份点的时间越长,则需要恢复的备份点就越多,则需要恢复的时间就越长。而在大多数恢复场景下,用户最需要恢复最新的备份点,因此,该恢复方式在实际使用中存在恢复数据量大、等待时间较长的缺陷。
技术实现思路
本专利技术的目的在于提供一种虚拟机备份和逆向恢复方法,解决了现有虚拟机备份恢复存在恢复数据量大、等待时间长的问题。为了实现上述目的,本专利技术采用的技术方案如下:一种虚拟机备份和逆向恢复方法,包括步骤:虚拟机备份、逆向恢复;虚拟机备份在T0时刻,安全备份F0和增量备份K1通过逆向增量计算后,生成新的安全备份F1和逆向增量备份R0,并在T1~Tn时刻的每次增量备份中,均进行逆向增量计算,到Tn时刻时,生成安全备份Fn,逆向增量R0~R(n-1),保持最新时刻点Tn数据为安全备份;逆向恢复恢复最新时刻点Tn数据时,直接恢复安全备份Fn;恢复次新时刻点T(n-1)数据时,首先恢复安全备份Fn,再恢复逆向增量R(n-1);然后,在恢复每个时刻点的数据时,均首先恢复安全备份Fn,再依次恢复逆向增量;直至恢复时刻点T0数据时,首先恢复安全备份Fn,再依次恢复逆向增量R(n-1)、R(n-2)、…、R0;具体地,所述虚拟机备份中,各时刻点备份数据表示为:T0时刻数据:完全备份Fn⊙逆向增量R(n-1)…⊙逆向增量R3⊙逆向增量R2⊙逆向增量R1⊙逆向增量R0;T1时刻数据:完全备份Fn⊙逆向增量R(n-1)…⊙逆向增量R3⊙逆向增量R2⊙逆向增量R1;T2时刻数据:完全备份Fn⊙逆向增量R(n-1)…⊙逆向增量R3⊙逆向增量R2;T3时刻数据:完全备份Fn⊙逆向增量R(n-1)…⊙逆向增量R3;…Tn-1时刻数据:完全备份Fn⊙逆向增量R(n-1);Tn时刻数据:完全备份Fn;其中运算符⊙表示逆向增量计算。进一步地,所述虚拟机备份中安全备份的流程包括步骤:定义虚拟磁盘中数据块大小S,S应为512字节的倍数。定义虚拟磁盘中数据块的个数C。定义虚拟磁盘的存储容量Z,Z=S×C,存储容量单位为字节。定义xBitMap,用于描述虚拟磁盘中每个块的使用情况,为了表述方便,xBitMap用一个byte描述。xBitMap的含义为:0表示未占用;1表示已占用;2表示制备为0;3表示数据和上次备份相比较未发生变化。定义数组xBitMap[C],用于描述虚拟磁盘的使用情况。数组xBitMap[C]存储到文件中,称为虚拟磁盘元文件。Fm表示完全备份的虚拟磁盘元文件,其中xBitMap[C]的别名为FxBitMap[C],Rm表示逆向增量备份的虚拟磁盘元文件,其中xBitMap[C]的别名为RxBitMap[C]。虚拟磁盘数据在备份端存储为文件,该文件称为虚拟磁盘数据文件。Fs表示完全备份的虚拟磁盘数据文件,Rs表示逆向增量备份的虚拟磁盘数据文件。虚拟磁盘的各备份数据,使用一个虚拟磁盘元文件和一个虚拟磁盘数据文件描述。Q101、接收虚拟磁盘大小Z、数据块大小S,计算数据块个数 C=Z/S;Q102、初始化完全备份数据文件Fs、完全备份元文件Fm,设n=0,对虚拟磁盘进行快照操作;初始化过程为新建文件Fs和Fm,对虚拟磁盘执行快照操作通常通过Hypervisor的API进行或者通过备份代理进行;Q103、判断n是否等于C,如是,执行步骤Q111;否则执行步骤Q104;Q104、从Hypervisor/备份代理中读第n块数据D;Q105、判断数据D是否为空,如是,执行步骤Q106;否则执行步骤Q108;Q106、设置FxBitMap[n]=0;Q107、设置n=n+1,执行步骤Q103;Q108、判断数据D是否为全0,如是,执行步骤Q109;否则执行步骤Q110;Q109、设置FxBitMap[n]=2,执行步骤Q107;Q110、设置FxBitMap[n]=1,将数据D写入完全备份数据文件Fs偏移量为n*S处,执行步骤Q107;Q111、关闭完全备份数据文件Fs、写入FxBitMap[C]到完全备份元文件Fm,删除虚拟磁盘快照。更进一步地,所述逆向增量计算过程包括步骤:Q201、初始化逆向增量元文件Rm、逆向增量备份数据文件Rs,得到虚拟磁盘大小Z、数据块大小S、数据块数C;Q202、初始化逆向增量元文件Rm中数组RxBitMap[C]中每个记录的值为3;Q203、打开完全备份元文件Fm,读出FxBitMap[C]到内存,打开完全备份数据文件Fs;Q204、通过Hypervisor/备份代理对虚拟磁盘进行快照,获得增量数据块个数M,设m=0;Q205、判断m==M,如是,执行步骤Q213;否则执行步骤Q206;Q206、通过Hypervisor/备份代理获得第m块增量数据D及偏移量Ds;增量数据D的长度为S;Q207、判断FxBitMap[Ds/S]==0,如是,执行步骤Q208;否则执行步骤Q210;本步骤判断完全备份数据中第Ds/S块是否已经占用;Q208、设置FxBitMap[Ds/S]=1,RxBitMap[Ds/S]=0,将数据D写入完全备份数据文件Fs偏移量Ds处;Q209、设置m=m+1,转步骤Q205;Q210、判断FxBitMap[Ds/S]==1,如是执行步骤Q211;否则执行步骤Q212;Q211、设置RxBitMap[Ds/S]=1,将完全备份数据文件Fs偏移量Ds开始,长度为S的数据读出,追加到逆向增量备份数据文件Rs中,将数据D写入完全备份数据文件Fs偏移量Ds处,执行步骤Q209;Q212、设置FxBitMap[Ds/S]=1,RxBitMap[Ds/S]=2,将数据D写入完全备份数据文件Fs偏移量为Ds处,执行步骤Q209;Q213、通过Hypervisor/备份代理删除虚拟磁盘快照,将FxBitMap[C]写入到完全备份元文件Fm中,关闭Fm,将RxBitMap[C]写入到逆向增量备份元文件Rm中,关闭Rm,关闭Fs、关闭Rs。再进一步地,所述逆向恢复的流程过程包括步骤:逆向恢复流程可以完成1个完全备份和P个逆向增量备份数据的恢复,其中P大于或等于0。逆向增量备份数据按照时间顺序,由新向旧访问。Q301、获得需要恢复的完全备份元文件Fm、完全备份数据文件Fs和P个逆向增量元文件Rm和P个逆向增量备份数据文件Rs,设p=0;Q302、获得虚拟磁盘大小Z,数据块大小S,计算数据块个数C,打开完全备份元文件Fm,读出FxBitMap[C],设n=0;Q303、判断n==C,如是,执行步骤Q310;否则执行步骤Q304;Q304、判断FxBitMap[n]==0,如是,执行步骤Q305;否则执行步骤Q306;Q305、设置n=n+1,执行步骤Q303;本文档来自技高网...
一种虚拟机备份和逆向恢复方法

【技术保护点】
一种虚拟机备份和逆向恢复方法,其特征在于,包括步骤:虚拟机备份、逆向恢复;虚拟机备份在T0时刻,安全备份F0和增量备份K1通过逆向增量计算后,生成新的安全备份F1和逆向增量备份R0,并在T1~Tn时刻的每次增量备份中,均进行逆向增量计算,到Tn时刻时,生成安全备份Fn,逆向增量R0~R(n‑1),保持最新时刻点Tn数据为安全备份;逆向恢复恢复最新时刻点Tn数据时,直接恢复安全备份Fn;恢复次新时刻点T(n‑1)数据时,首先恢复安全备份Fn,再恢复逆向增量R(n‑1);然后,在恢复每个时刻点的数据时,均首先恢复安全备份Fn,再依次恢复逆向增量;直至恢复时刻点T0数据时,首先恢复安全备份Fn,再依次恢复逆向增量R(n‑1)、R(n‑2)、…、R0。

【技术特征摘要】
1. 一种虚拟机备份和逆向恢复方法,其特征在于,包括步骤:虚拟机备份、逆向恢复;虚拟机备份在T0时刻,安全备份F0和增量备份K1通过逆向增量计算后,生成新的安全备份F1和逆向增量备份R0,并在T1~Tn时刻的每次增量备份中,均进行逆向增量计算,到Tn时刻时,生成安全备份Fn,逆向增量R0~R(n-1),保持最新时刻点Tn数据为安全备份;逆向恢复恢复最新时刻点Tn数据时,直接恢复安全备份Fn;恢复次新时刻点T(n-1)数据时,首先恢复安全备份Fn,再恢复逆向增量R(n-1);然后,在恢复每个时刻点的数据时,均首先恢复安全备份Fn,再依次恢复逆向增量;直至恢复时刻点T0数据时,首先恢复安全备份Fn,再依次恢复逆向增量R(n-1)、R(n-2)、…、R0。2.根据权利要求1所述的一种虚拟机备份和逆向恢复方法,其特征在于,所述虚拟机备份中,各时刻点备份数据表示为:T0时刻数据:完全备份Fn⊙逆向增量R(n-1)…⊙逆向增量R3⊙逆向增量R2⊙逆向增量R1⊙逆向增量R0;T1时刻数据:完全备份Fn⊙逆向增量R(n-1)…⊙逆向增量R3⊙逆向增量R2⊙逆向增量R1;T2时刻数据:完全备份Fn⊙逆向增量R(n-1)…⊙逆向增量R3⊙逆向增量R2;T3时刻数据:完全备份Fn⊙逆向增量R(n-1)…⊙逆向增量R3;…Tn-1时刻数据:完全备份Fn⊙逆向增量R(n-1);Tn时刻数据:完全备份Fn;其中运算符⊙表示逆向增量计算。3.根据权利要求2所述的一种虚拟机备份和逆向恢复方法,其特征在于,所述虚拟机备份中安全备份的流程包括步骤:定义xBitMap,xBitMap的含义为:0表示未占用;1表示已占用;2表示制备为0;3表示数据和上次备份相比较未发生变化;定义数组xBitMap[C],用数组xBitMap[C]存储到文件中,称为虚拟磁盘元文件;Fm表示完全备份元文件,其中xBitMap[C]的别名为FxBitMap[C];Rm表示逆向增量备份元文件,其中xBitMap[C]的别名为RxBitMap[C];虚拟磁盘数据在备份端存储为文件,该文件称为虚拟磁盘数据文件,Fs表示完全备份数据文件,Rs表示逆向增量备份数据文件;Q101、接收虚拟磁盘大小Z、数据块大小S,计算数据块个数 C=Z/S;Q102、初始化完全备份数据文件Fs、完全备份元文件Fm,设n=0,对虚拟磁盘进行快照操作;Q103、判断n是否等于C,如是,执行步骤Q111;否则执行步骤Q104;Q104、从Hypervisor/备份代理中读第n块数据D;Q105、判断数据D否为空,如是,执行步骤Q106;否则执行步骤Q108;Q106、设置FxBitMap[n]=0;Q107、设置n=n+1,执行步骤Q103;Q108、判断数据D是否为全0,如是,执行步骤Q109;否则执行步骤Q110;Q109、设置FxBitMap[n]=2,执行步骤Q107;Q110、设置FxBitMap[n]=1,将数据D写入完全备份数据文件Fs偏移量为n*S处,执行步骤Q107;Q111、关闭完全备份数据文件Fs、写入FxBitMap[C]到完全备份元文件Fm,删除虚拟磁盘快照。4.根据权利要求3所述的一种虚拟机备份和逆向恢复方法,其特征在于,所述逆向增量计算过程包括步骤:Q201、初始化逆向增量元文件Rm、逆向增量备份数据文件Rs,得到虚拟磁盘大小Z、数据块大小S、数据块数C;Q202、初始化逆向增量元文件Rm中数组RxBitMap[C]中每个记录的值为3;Q203、打开完全备份元文件Fm,读出FxBitMap[C]到内存,打开完全备份数据文件Fs;Q204、...

【专利技术属性】
技术研发人员:袁凌葛玮陈翠娥黄飞张黎
申请(专利权)人:袁凌
类型:发明
国别省市:四川;51

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

1