一种磁盘快照的建立方法及装置制造方法及图纸

技术编号:12398335 阅读:118 留言:0更新日期:2015-11-26 04:00
本发明专利技术提供一种磁盘快照建立方法及装置,该方法包括设立全局快照号作为全局变量,全局快照号根据快照建立的次数进行取值,对当前二级表管理的每个数据块设立局部编号,局部编号根据全局快照号的取值进行取值;接收快照建立命令,根据快照建立命令拷贝当前一级表和当前二级表作为快照一级表和快照二级表;接收写操作命令,根据写操作命令获取写操作命令指向的待操作数据块;对比待操作数据块在当前二级表中的局部编号是否等于全局快照号,根据比对结果判断是否需要进行写时拷贝。由于本技术方案中建立快照时仅对当前一级表和当前二级表进行了拷贝操作,没有遍历所有当前二级表对每个数据块的引用计数进行获取,因此建立快照的时间大大缩短。

【技术实现步骤摘要】

本专利技术涉及数据备份
,尤其涉及一种磁盘快照建立方法及装置。
技术介绍
快照是一种基于时间点的数据拷贝技术,是数据备份领域的一个重要概念。建立快照的目的在于保存磁盘在某一时刻的数据信息,如果日后磁盘发生故障可以通过快照将磁盘数据恢复到快照建立时的状态。现有技术中快照的建立方法包括两种,一种是物理拷贝,一种是逻辑拷贝。物理拷贝是指对磁盘中的原始数据进行完全拷贝,占用和原始数据相等的存储空间,所需存储空间过大。逻辑拷贝是指只针对发生过改变的数据进行拷贝,现有技术中通过写时拷贝(CopyOn Write,简称COW)技术进行逻辑拷贝。具体方法如下:COff技术采用两级表(一级表LI和二级表L2)的存储管理机制,其中一级表LI包括多个表项,每个表项记录一个二级表L2的地址信息,通过一级表LI可以查找到二级表L2 ;二级表L2包括多个表项,每个表项记录一个数据块的地址映射关系,该地址映射关系为该数据块中元数据与物理地址的映射关系。在快照建立时,拷贝整个磁盘的当前一级表LI和当前二级表L2作为快照一级表LI和快照二级表L2,遍历快照一级表LI和所有快照二级表L2,接收快照二级表L2所指向的所有数据块的引用计数,其中引用计数大于I时表示该数据块已发生写时拷贝的次数。当发生数据写操作时,首先判断该写操作所对应的数据块的引用计数是否大于I。若大于I则将存储该数据块改写前的地址映射关系的二级表L2的地址信息写入快照一级表LI中,将存储该数据块改写后的地址映射关系的二级表L2的地址信息写入该磁盘的源一级表LI中。由于现有快照技术在创建时需要遍历整个磁盘的快照一级表LI和快照二级表L2,因此耗时时间长。
技术实现思路
本专利技术的目的在于提供一种磁盘快照建立方法及装置,从而解决现有技术中存在的前述问题。为了实现上述目的,本专利技术采用的技术方案如下:一种磁盘快照建立方法,包括:设立全局快照号作为全局变量,所述全局快照号根据快照建立的次数进行取值,对当前二级表管理的每个数据块设立局部编号,所述局部编号根据所述全局快照号的取值进行取值;接收快照建立命令,根据所述快照建立命令拷贝所述当前一级表和所述当前二级表作为快照一级表和快照二级表;接收写操作命令,根据所述写操作命令获取所述写操作命令指向的待操作数据块;对比所述待操作数据块在所述当前二级表中的局部编号是否等于所述全局快照号,根据比对结果判断是否需要进行写时拷贝。在另一种实施例中,所述设立全局快照号作为全局变量之前,还包括:设定针对所述元数据进行写操作时,保存所述元数据在原数据块中,拷贝所述元数据至另一目标数据块,并将所述元数据的存储地址改为指向所述目标数据块。在另一种实施例中,所述对比所述待操作数据块在所述当前二级表中的局部编号是否等于所述全局快照号,根据比对结果判断是否需要进行写时拷贝,包括:若所述待操作数据块在所述当前二级表中的局部编号等于所述全局快照号,则直接执行所述写操作命令;若所述待操作数据块在所述当前二级表中的局部编号不等于所述全局快照号,则进行写时拷贝操作。在另一种实施例中,所述局部编号根据所述全局快照号的取值进行取值,还包括:新申请数据块的局部编号根据引用计数进行取值。在另一种实施例中,所述对比所述待操作数据块在所述当前二级表中的局部编号是否等于所述全局快照号,根据比对结果判断是否需要进行写时拷贝,包括:若所述待操作数据块在所述当前二级表中的局部编号等于所述全局快照号,则进行写时拷贝;若所述待操作数据块在所述当前二级表中的局部编号不等于所述全局快照号,则直接执行所述写操作命令。本专利技术的有益效果是:通过采用本专利技术公开的上述技术方案,得到了如下有益的效果:通过设立全局快照号和对存储对象数据块设立局部编号,来记录快照的版本。当发生写操作时,通过对比存储该对象数据块的局部编号和全局快照号,来判断该写操作是对原有数据的改写操作还是对新申请数据块的写操作。若是对原有数据的改写操作,则需要进行写时拷贝。由于本技术方案中建立快照时仅对当前一级表和当前二级表进行了拷贝操作,没有遍历所有当前二级表对每个数据块的引用计数进行获取,因此建立快照的时间大大缩短。一种磁盘快照建立装置,包括:变量设立模块,用于设立全局快照号作为全局变量,所述全局快照号根据快照建立的次数进行取值,对当前二级表管理的每个数据块设立局部编号,所述局部编号根据所述全局快照号的取值进行取值;快照建立模块,用于接收快照建立命令,根据所述快照建立命令拷贝所述当前一级表和所述当前二级表作为快照一级表和快照二级表;接收模块,用于接收写操作命令,根据所述写操作命令获取所述写操作命令指向的待操作数据块;执行模块,用于对比所述待操作数据块在所述当前二级表中的局部编号是否等于所述全局快照号,根据比对结果判断是否需要进行写时拷贝。在另一种实施例中,所述装置还包括:指针修改模块,用于设定针对所述元数据进行写操作时,保存所述元数据在原数据块中,拷贝所述元数据至另一目标数据块,并将所述元数据的存储地址改为指向所述目标数据块。在另一种实施例中,所述执行模块包括:第一判断单元,用于对比所述待操作数据块在所述当前二级表中的局部编号是否等于所述全局快照号;第一执行单元,用于若所述待操作数据块在所述当前二级表中的局部编号等于所述全局快照号,则直接执行所述写操作命令;第二执行单元,用于若所述待操作数据块在所述当前二级表中的局部编号不等于所述全局快照号,则进行写时拷贝操作。在另一种实施例中,所述变量设立模块还用于:新申请数据块的局部编号根据引用计数进行取值。在另一种实施例中,所述执行模块包括:第二判断单元,用于对比所述待操作数据块在所述当前二级表中的局部编号是否等于所述全局快照号;第三执行单元,用于若所述待操作数据块在所述当前二级表中的局部编号等于所述全局快照号,则进行写时拷贝;第四执行单元,用于若所述待操作数据块在所述当前二级表中的局部编号不等于所述全局快照号,则直接执行所述写操作命令。本专利技术的有益效果是:通过采用本专利技术公开的上述技术方案,得到了如下有益的效果:通过设立全局快照号和对存储对象数据块设立局部编号,来记录快照的版本。当发生写操作时,通过对比存储该对象数据块的局部编号和全局快照号,来判断该写操作是对原有数据的改写操作还是对新申请数据块的写操作。若是对原有数据的改写操作,则需要进行写时拷贝。由于本技术方案中建立快照时仅对当前一级表和当前二级表进行了拷贝操作,没有遍历所有当前二级表对每个数据块的引用计数进行获取,因此建立快照的时间大大缩短。【附图说明】图1是本专利技术磁盘快照建立方法第当前第1页1 2 3 4 本文档来自技高网
...
一种<a href="http://www.xjishu.com/zhuanli/55/CN105095015.html" title="一种磁盘快照的建立方法及装置原文来自X技术">磁盘快照的建立方法及装置</a>

【技术保护点】
一种磁盘快照建立方法,其特征在于,包括:设立全局快照号作为全局变量,所述全局快照号根据快照建立的次数进行取值,对当前二级表管理的每个数据块设立局部编号,所述局部编号根据所述全局快照号的取值进行取值;接收快照建立命令,根据所述快照建立命令拷贝所述当前一级表和所述当前二级表作为快照一级表和快照二级表;接收写操作命令,根据所述写操作命令获取所述写操作命令指向的待操作数据块;对比所述待操作数据块在所述当前二级表中的局部编号是否等于所述全局快照号,根据比对结果判断是否需要进行写时拷贝。

【技术特征摘要】

【专利技术属性】
技术研发人员:杨耀敏董世宁马龙飞杨效振
申请(专利权)人:北京云巢动脉科技有限公司
类型:发明
国别省市:北京;11

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

1