一种释放数据块的方法及装置制造方法及图纸

技术编号:11197695 阅读:84 留言:0更新日期:2015-03-26 04:24
本发明专利技术公开了一种释放数据块的方法及装置,用于解决现有技术中缺乏空间回收率与效率均较高的文件克隆方式的技术问题。该方法包括:在第一文件释放第一数据块时,根据所述第一文件的第一元数据确定出第一文件集合,所述第一文件集合包括所述第一文件的父文件及子文件中引用过所述第一数据块的文件;在所述第一数据块的共享位图中将与所述第一文件、所述第一文件集合中的文件对应的数据位的数据设置为1;在所述第一数据块的释放位图中将与所述第一文件对应的数据位的数据设置为1;在所述共享位图与所述释放位图相等且不等于0时,删除所述第一数据块,控制所述第一数据块占用的存储空间处于可用状态。

【技术实现步骤摘要】
【专利摘要】本专利技术公开了一种释放数据块的方法及装置,用于解决现有技术中缺乏空间回收率与效率均较高的文件克隆方式的技术问题。该方法包括:在第一文件释放第一数据块时,根据所述第一文件的第一元数据确定出第一文件集合,所述第一文件集合包括所述第一文件的父文件及子文件中引用过所述第一数据块的文件;在所述第一数据块的共享位图中将与所述第一文件、所述第一文件集合中的文件对应的数据位的数据设置为1;在所述第一数据块的释放位图中将与所述第一文件对应的数据位的数据设置为1;在所述共享位图与所述释放位图相等且不等于0时,删除所述第一数据块,控制所述第一数据块占用的存储空间处于可用状态。【专利说明】一种释放数据块的方法及装置
本专利技术涉及计算机领域,特别涉及一种释放数据块的方法及装置。
技术介绍
虚拟机克隆能够极大减少存储空间的占用,而且速度很快,已经成为虚拟机中不可或缺的基本功能。 文件克隆是虚拟机克隆的基本技术,文件克隆指的是快速将一个文件拷贝到另一个文件,在拷贝过程中使克隆文件与其父文件(即,克隆文件的来源文件)共享存储空间,因此,文件克隆技术具有占用空间小,拷贝时间短的特点。 文件克隆技术的核心是如何确定共享文件被哪些文件所引用,当某个共享文件未被任何文件引用时,就可以将其释放,收回对应的存储空间。 目前,文件克隆包括如下两种实现方式: 方式一,链接克隆。采用链接克隆技术时,在创建克隆文件时,先生成父文件的文件快照,克隆文件中只记录克隆文件创建之后新写入的数据,如果要读取克隆文件生成时的数据,则可以从文件快照中读取。 方式二、数据块克隆。采用数据块克隆时,在创建克隆文件时,在克隆文件的元数据中保存父文件的所有数据块的信息。而对于每一个共享数据块而言,保存有一个共享位图,共享位图中保存有该数据块被哪些文件所引用的信息。因此,在该数据块被某一个克隆文件引用以及释放时,均要对它的共享位图进行更新。 其中,链接克隆技术的算法简单,性能较高,但是,只有在所有克隆文件(包括文件快照)全部删除时,才能将共享文件占用的空间收回,空间回收率很低。而采用数据块克隆技术时,只要某个数据块没有被任何文件所引用,即可将该数据块所占用的空间收回,空间回收率很高,但是需要在创建和删除克隆文件时遍历克隆文件引用的所有数据块,然后将每个数据块的位图进行更新,算法复杂,效率较低。 综上所述,现有技术中缺乏空间回收率与效率均较高的文件克隆方式。
技术实现思路
本申请实施例提供一种释放数据块的方法及装置,用于解决现有技术中缺乏空间回收率与效率均较高的文件克隆方式的技术问题。 第一方面,本申请实施例提供了一种释放数据块的方法,包括:在第一文件释放第一数据块时,根据所述第一文件的第一元数据确定出第一文件集合,所述第一文件集合包括所述第一文件的父文件及子文件中引用过所述第一数据块的文件;在所述第一数据块的共享位图中将与所述第一文件、所述第一文件集合中的文件对应的数据位的数据设置为1,其中,所述共享位图用于记录引用过所述第一数据块的文件的信息,所述共享位图的初始值为O ;在所述第一数据块的释放位图中将与所述第一文件对应的数据位的数据设置为1,其中,所述释放位图用于记录释放了所述第一数据块的文件的信息,所述释放位图的初始值为O ;在所述共享位图与所述释放位图相等且不等于O时,删除所述第一数据块,控制所述第一数据块占用的存储空间处于可用状态。 结合第一方面,在第一方面的第一种可能的实现方式中,在第一文件释放第一数据块时,根据所述第一文件的第一元数据确定出第一文件集合,包括:在所述第一文件释放所述第一数据块时,根据所述第一元数据确定所述第一文件集合包括所述第一文件的子文件中创建时间晚于所述第一数据块的第一创建时间的子文件。 结合第一方面,在第一方面的第二种可能的实现方式中,在第一文件释放第一数据块时,根据所述第一文件的第一元数据确定出第一文件集合,包括:在所述第一元数据表明所述第一创建时间早于所述第一文件的第二创建时间时,确定所述第一文件集合包括所述第一文件的父文件。 结合第一方面的第一种可能的实现方式,在第一方面的第三种可能的实现方式中,在所述在所述第一文件释放所述第一数据块时,根据所述第一元数据确定所述第一文件集合包括所述第一文件的子文件中创建时间晚于所述第一数据块的第一创建时间的子文件之前,所述方法还包括:在根据所述第一文件创建所述第一文件的子文件时,在所述第一元数据中保存所述第一文件的子文件的创建时间以及所述第一文件的子文件的标识信肩、O 结合第一方面的第二种可能的实现方式,在第一方面的第四种可能的实现方式中,在所述在所述第一元数据表明所述第一创建时间早于所述第一文件的第二创建时间时,确定所述第一文件集合包括所述第一文件的父文件之前,所述方法还包括:在根据所述第一文件的父文件创建所述第一文件时,在所述第一元数据中保存所述第一创建时间以及所述第一文件的父文件的标识信息。 结合第一方面的第一种可能的实现方式至第一方面的第四种可能的实现方式中的任意一种,在所述在第一文件释放第一数据块时,根据所述第一文件的第一元数据确定出第一文件集合之前,所述方法还包括:在创建所述第一数据块时,在所述第一数据块的第二元数据中保存所述第一创建时间。 第二方面,本申请实施例提供了一种装置,包括:确定模块,用于在第一文件释放第一数据块时,根据所述第一文件的第一元数据确定出第一文件集合,所述第一文件集合包括所述第一文件的父文件及子文件中引用过所述第一数据块的文件;共享位图更新模块,用于在所述第一数据块的共享位图中将与所述第一文件、所述第一文件集合中的文件对应的数据位的数据设置为1,其中,所述共享位图用于记录引用过所述第一数据块的文件的信息,所述共享位图的初始值为O ;释放位图更新模块,用于在所述第一数据块的释放位图中将与所述第一文件对应的数据位的数据设置为1,其中,所述释放位图用于记录释放了所述第一数据块的文件的信息,所述释放位图的初始值为O ;空间回收模块,用于在所述共享位图与所述释放位图相等且不等于O时,删除所述第一数据块,控制所述第一数据块占用的存储空间处于可用状态。 结合第二方面,在第二方面的第一种可能的实现方式中,所述确定模块具体用于:在所述第一文件释放所述第一数据块时,根据所述第一元数据确定所述第一文件集合包括所述第一文件的子文件中创建时间晚于所述第一数据块的第一创建时间的子文件。 结合第二方面,在第二方面的第二种可能的实现方式中,所述确定模块具体用于:在所述第一元数据表明所述第一创建时间早于所述第一文件的第二创建时间时,确定所述第一文件集合包括所述第一文件的父文件。 结合第二方面的第一种可能的实现方式,在第二方面的第三种可能的实现方式中,所述装置还包括:第一保持存模块,用于在根据所述第一文件创建所述第一文件的子文件时,在所述第一元数据中保存所述第一文件的子文件的创建时间以及所述第一文件的子文件的标识信息。 结合第二方面的第二种可能的实现方式,在第二方面的第四种可能的实现方式中,所述装置还包括:第二保存模块,用于在根据所述第一文件的父文件创建所述第一文件时,在所述第一元数据中保存所述第一创建时间以及所述本文档来自技高网
...
一种释放数据块的方法及装置

【技术保护点】
一种释放数据块的方法,其特征在于,包括:在第一文件释放第一数据块时,根据所述第一文件的第一元数据确定出第一文件集合,所述第一文件集合包括所述第一文件的父文件及子文件中引用过所述第一数据块的文件;在所述第一数据块的共享位图中将与所述第一文件、所述第一文件集合中的文件对应的数据位的数据设置为1,其中,所述共享位图用于记录引用过所述第一数据块的文件的信息,所述共享位图的初始值为0;在所述第一数据块的释放位图中将与所述第一文件对应的数据位的数据设置为1,其中,所述释放位图用于记录释放了所述第一数据块的文件的信息,所述释放位图的初始值为0;在所述共享位图与所述释放位图相等且不等于0时,删除所述第一数据块,控制所述第一数据块占用的存储空间处于可用状态。

【技术特征摘要】

【专利技术属性】
技术研发人员:杨小锋
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

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

1