[发明专利]一种虚拟机备份和逆向恢复方法有效
申请号: | 201610552015.8 | 申请日: | 2016-07-13 |
公开(公告)号: | CN106155843B | 公开(公告)日: | 2019-03-12 |
发明(设计)人: | 袁凌;葛玮;陈翠娥;黄飞;张黎 | 申请(专利权)人: | 袁凌 |
主分类号: | G06F11/14 | 分类号: | G06F11/14 |
代理公司: | 成都顶峰专利事务所(普通合伙) 51224 | 代理人: | 李崧岩 |
地址: | 610000 四川省*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种虚拟机备份和逆向恢复方法,包括:虚拟机备份,在T0时刻,安全备份F0和增量备份K1通过逆向增量计算后,生成新的安全备份F1和逆向增量备份R0,并在T1‑Tn时刻的每次增量备份中,均进行逆向增量计算,到Tn时刻时,生成安全备份Fn,逆向增量R0~R(n‑1),保持最新时刻点Tn数据为安全备份;逆向恢复,恢复最新时刻点Tn数据时,直接恢复安全备份Fn;恢复次新时刻点T(n‑1)数据时,首先恢复安全备份Fn,再恢复逆向增量R(n‑1)。本发明在虚拟机备份数据存储到备份服务器后,生成当前备份点的完全备份,将上一个备份通过逆向差异计算,生成完全备份、逆向增量备份或者逆向差异备份,在恢复最新备份点时,最新备份为完全备份,可大大加快恢复速度。 | ||
搜索关键词: | 一种 虚拟机 备份 逆向 恢复 方法 | ||
【主权项】:
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;其中运算符⊙表示逆向增量计算;所述虚拟机备份中完全备份的流程包括步骤:定义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,删除虚拟磁盘快照;所述逆向增量计算过程包括步骤: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;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;所述逆向恢复的流程过程包括步骤: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;Q306、判断FxBitMap[n]==1,如是,执行步骤Q307;否则执行步骤Q309;Q307、从完全备份数据文件Fs中偏移量n*S处读出长度为S的数据Dr;Q308、发送(n*S,Dr)给Hypervisor/备份代理,并写入数据Dr到虚拟磁盘偏移量n*S处,执行步骤Q305;Q309、设置数据Dr为全0,长度为S,执行步骤Q308;Q310、判断p==P,如是,执行步骤Q321;否则执行步骤Q311;Q311、判断n==C,如是,执行步骤Q320;否则执行步骤Q312;Q312、打开第p个逆向增量备份元文件Rm,读出RxBitMap[C],打开第p个逆向增量备份数据文件Rs,设n=0;Q313、判断RxBitMap[n]≥2,如是,执行步骤Q314;否则执行步骤Q318;Q314、判断FxBitMap[n]==2,如是,执行步骤Q315,否则执行步骤Q316;Q315、设置n=n+1,执行步骤Q310;Q316、设置数据Dr为全0,长度为S;Q317、发送(n*S,Dr)给Hypervisor/备份代理,并写入数据Dr到虚拟磁盘n*S处,执行步骤Q315;Q318、判断FxBitMap[n]==0,如是,执行步骤Q315;否则执行步骤Q319;Q319、从逆向增量备份数据文件Rs中偏移量n*S处读出长度为S的数据Dr,执行步骤Q317;Q320、设置p=p+1,执行步骤Q310;Q321、完成逆向恢复,关闭Fm、Fs,关闭P个Rm,关闭P个Rs。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于袁凌,未经袁凌许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610552015.8/,转载请声明来源钻瓜专利网。
- 上一篇:入窑提升机联锁保护装置
- 下一篇:一种货架旋转护拦板结构装置