【技术实现步骤摘要】
本申请涉及计算机文件处理技术,特别是涉及一种收缩虚拟磁盘镜像文件的方法及装置。
技术介绍
镜像文件其实和ZIP压缩包类似,它将特定的一系列文件按照一定的格式制作成单一的文件,以方便用户下载和使用,例如一个测试版的操作系统、游戏等。它最重要的特点是可以被特定的软件识别并可直接刻录到光盘上。其实通常意义上的镜像文件可以再扩展一下,在镜像文件中可以包含更多的信息。比如说系统文件、引导文件、分区表信息等,这样镜像文件就可以包含一个分区甚至是一块硬盘的所有信息。VHD (Virtual Hard Disk)是一种虚拟磁盘的镜像文件格式。VHD格式的文件可以 作为一种虚拟磁盘,进行文件系统格式化、存储虚拟机的数据。VHD包括三种类型固定(fixed)磁盘镜像、动态(dynamic)磁盘镜像、增量(differencing)磁盘镜像。固定磁盘镜像文件的大小在创建时就确定了下来,在它上面格式化文件系统、写入数据、删除数据都不会改变镜像文件的大小。动态磁盘镜像文件和增量磁盘镜像文件会随着写入数据的增加而增长,但当数据被删除后,镜像文件的大小不会减小。例如,创建一个2GB的动态磁盘镜像文件,它的最初大小仅为十几KB,随着写入的数据不断增加,它的大小最多可以增长到约2GB,但删除数据并不会使它的大小减少。基于这种特性,所述动态磁盘镜像文件和增量磁盘镜像文件一旦写入数据,其文件大小就会增长,即使以后删除数据也不会使文件减小,因此这部分删除的数据相当于仍在占用VHD的存储空间,造成了存储空间的浪费。
技术实现思路
本申请提供了一种收缩虚拟磁盘镜像文件的方法及装置,以解决目前的虚拟磁盘 ...
【技术保护点】
一种收缩虚拟磁盘镜像文件的方法,其特征在于:所述文件包含数据块和用于记录每个数据块信息的块分配表;所述方法包括:查找文件中的垃圾数据块,并修改所述垃圾数据块在块分配表中的相应记录,其中所述垃圾数据块为不保存有效数据的数据块;将位于垃圾数据块后面的有效数据块迁移至垃圾数据块的位置,并修改迁移后的有效数据块在块分配表中的相应记录;在完成数据块迁移后,将所述文件进行截短。
【技术特征摘要】
1.一种收缩虚拟磁盘镜像文件的方法,其特征在于 所述文件包含数据块和用于记录每个数据块信息的块分配表; 所述方法包括 查找文件中的垃圾数据块,并修改所述垃圾数据块在块分配表中的相应记录,其中所述垃圾数据块为不保存有效数据的数据块; 将位于垃圾数据块后面的有效数据块迁移至垃圾数据块的位置,并修改迁移后的有效数据块在块分配表中的相应记录; 在完成数据块迁移后,将所述文件进行截短。2.根据权利要求I所述的方法,其特征在于 每个数据块包含扇区和用于记录每个扇区信息的扇区位图; 所述查找文件中的垃圾数据块之前,还包括 查找文件数据块中的垃圾扇区,并修改所述垃圾扇区在扇区位图中的相应记录。3.根据权利要求2所述的方法,其特征在于,所述查找文件中的垃圾数据块,包括 查找文件数据块中的扇区位图,将扇区位图中对应所有扇区的记录都表示为垃圾扇区的数据块作为垃圾数据块。4.根据权利要求2所述的方法,其特征在于,所述查找文件数据块中的垃圾扇区,包括 查找文件数据块中的扇区位图,如果扇区位图中对应某个扇区的记录表示该扇区中存储着数据,则继续进行以下判断 如果所述文件是动态磁盘镜像文件,则判断该扇区中存储的数据是否全为O,如果是,则将该扇区作为垃圾扇区; 如果所述文件是增量磁盘镜像文件,则判断该扇区中存储的数据是否与父镜像文件中相同扇区位置的数据一致,如果一致,则将该扇区作为垃圾扇区。5.根据权利要求2所述的方法,其特征在于,所述查找文件数据块中的垃圾扇区,包括 如果所述文件是动态磁盘镜像文件,则获取文件数据块的原始扇区位图和表示对应扇区是否存储有效数据的反演扇区位图; 对比所述原始扇区位图和反演扇区位图的每一位 如果原始扇区位图中对应某个扇区的记录表示该扇区中存储着数据,并且该扇区在反演扇区位图中的相应记录表示该扇区中没有存储数据,则将该扇区作为垃圾扇区。6.根据权利要求2所述的方法,其特征在于,所述查找文件数据块中的垃圾扇区,包括 如果所述文件是增量磁盘镜像文件,则获取文件数据块的原始扇区位图和表示对应扇区是否存储有效数据的反演扇区位图以及祖先镜像文件中相同数据块的扇区位图; 对比所述原始扇区位图、反演扇区位图和祖先镜像扇区位图的每一位 如果原始扇区位图中对应某个扇区的记录表示该扇区中存储着数据,并且该扇区在祖先镜像扇区位图中的相应记录表示该扇区中没有存储数据,并且该扇区在反演扇区位图中的相应记录表示该扇区中没有存储数据,则将该扇区作为垃圾扇区。7.根据权利要求I所述的方法,其特征在于,在完成数据块迁移后,将所述文件进行截短,包括 在完成数据块迁移后,文件末尾形成一块等于所有垃圾数据块大小的无用区域,将所述无用区域截断...
【专利技术属性】
技术研发人员:宋振华,陈伟才,王倩,万佳,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。