一种快速拆分虚拟化磁盘镜像的系统及方法技术方案

技术编号:15499965 阅读:43 留言:0更新日期:2017-06-03 22:02
本发明专利技术公开了一种快速拆分虚拟化磁盘镜像的系统及方法,包括:分区表解析模块,解析目标分区、虚拟化磁盘文件物理地址;磁盘解析模块,基于物理地址判断虚拟化磁盘文件是否在目标分区范围,不在报错退出,在则对虚拟化磁盘文件解析,获取文件分区表和文件分配表;文件分配表提取模块,基于文件分配表判断所述文件分区表中文件是否按原样保存在虚拟化磁盘,记录可被直接提取的文件的文件分配记录;分区解析模块,对目标分区解析,获取目标分区文件分配表位置;冲突解决模块,比对文件分配记录和目标分区中文件名,文件名相同则对文件分配记录文件名修改;文件分配表写入模块,基于目标分区文件分配表,将文件分配记录写入目标分区,并删除原文件。

System and method for quick resolution of virtual disk mirror image

The invention discloses a system for rapid separation of virtual disk image and method, including: partition table parsing module, parsing the target partition, virtual disk file disk physical address; the analysis module, based on the physical address to determine whether virtual disk file in the target partition, do not exit in error, in the virtual disk file parsing, get file partition table and file allocation table; file allocation table extraction module, file allocation table judges the file partition table file is saved as is in the virtual disk based on the record can be recorded directly from the file allocation file; partition analysis module, the target partition resolution, access location the target partition file allocation table; the conflict resolution module, file distribution records and target partition ratio, the file name of the file allocation Record file name modification; the file allocation table writes to the module. The file allocation record is written to the target partition and the original file is deleted based on the target partition file allocation table.

【技术实现步骤摘要】
一种快速拆分虚拟化磁盘镜像的系统及方法
本专利技术涉及计算机
,更具体地涉及一种快速拆分虚拟化磁盘镜像的系统及方法。
技术介绍
当需要从虚拟化镜像中提取文件时,目前通过操作系统,将虚拟机镜像映射为磁盘,并进行文件拷贝,该操作在不需要保留虚拟机镜像时完全没有必要。在从镜像中提取少量文件时,效率尚可忍耐,但需要提取大量文件时,特别是需要提取全部文件时,拆解方法主要依赖虚拟层挂载镜像,并挂载文件系统,在拆解虚拟机磁盘镜像时时间消耗很长而且需要双倍的空间,并需要拷贝全部数据文件内容,且需要不断的随机寻道,效率较低。
技术实现思路
为了解决上述技术问题,提供了根据本专利技术的一种快速拆分虚拟化磁盘镜像的系统及方法。根据本专利技术的第一方面,提供了一种快速拆分虚拟化磁盘镜像的系统。该系统包括:分区表解析模块,用于解析目标分区、虚拟化磁盘文件的物理地址;磁盘解析模块,用于基于物理地址判断所述虚拟化磁盘文件是否在所述目标分区范围内,若不在,则报错退出,若在,则对所述虚拟化磁盘文件进行解析,获取文件分区表和文件分配表;文件分配表提取模块,用于基于所述文件分配表判断所述文件分区表中的文件是否按照原样保存在虚拟化磁盘上,并记录可以被直接提取的文件的文件分配记录;分区解析模块,用于对所述目标分区进行解析,获取所述目标分区的文件分配表位置;冲突解决模块,用于比对所述文件分配记录和所述目标分区中的文件名,若有文件名相同,则对所述文件分配记录的文件名进行修改;文件分配表写入模块,用于基于所述目标分区的文件分配表,将所述文件分配记录写入所述目标分区,并删除虚拟化磁盘上的原文件。在一些实施例中,系统包括:信息修正模块,用于修正所述目标分区的信息。在一些实施例中,所述文件分配记录包括文件名、文件开始点、结束点、分配区块物理地址。在一些实施例中,所述对所述文件分配记录的文件名进行修改包括给出新的文件名、在文件名后加一些随机字符。在一些实施例中,所述用于修正所述目标分区的信息包括空余区块记录、大小记录、日志信息。根据本专利技术的第二方面,提供一种快速拆分虚拟化磁盘镜像的方法,方法包括:解析目标分区、虚拟化磁盘文件的物理地址;基于物理地址判断所述虚拟化磁盘文件是否在所述目标分区范围内,若不在,则报错退出,若在,则对所述虚拟化磁盘文件进行解析,获取文件分区表和文件分配表;基于所述文件分配表判断所述文件分区表中的文件是否按照原样保存在虚拟化磁盘上,并记录可以被直接提取的文件的文件分配记录;对所述目标分区进行解析,获取所述目标分区的文件分配表位置;比对所述文件分配记录和所述目标分区中的文件名,若有文件名相同,则对所述文件分配记录的文件名进行修改;基于所述目标分区的文件分配表,将所述文件分配记录写入所述目标分区,并删除虚拟化磁盘上的原文件。在一些实施例中,方法包括:修正所述目标分区的信息。在一些实施例中,所述文件分配记录包括文件名、文件开始点、结束点、分配区块物理地址。在一些实施例中,所述对所述文件分配记录的文件名进行修改包括给出新的文件名、在文件名后加一些随机字符。在一些实施例中,所述修正所述目标分区的信息包括空余区块记录、大小记录、日志信息。本专利技术所提供的技术方案,直接解析虚拟化磁盘的内容,并获取虚拟化磁盘中,按照原样保存(未压缩,未加密的)每个文件的物理位置。然后在虚拟化磁盘所在分区的文件分配表中新增项,写入虚拟化磁盘的全部文件的文件名等信息,及其对应的根据物理位置计算出的逻辑位置。然后从虚拟化磁盘所在分区中移除该文件,并修正空闲分区块等数据。本专利技术只需批量扫描磁盘文件分配记录,并批量添加磁盘文件分配记录,无需移动原始文件内容,由于文件分配记录的聚集性,可以批量获取写入,极大的减少IO次数,提高速度。附图说明为了更清楚地说明本专利技术的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为根据本专利技术实施例的一种快速拆分虚拟化磁盘镜像的系统的框图;图2为根据本专利技术实施例的一种快速拆分虚拟化磁盘镜像的方法的流程图。具体实施方式下面参照附图对本专利技术的优选实施例进行详细说明,在描述过程中省略了对于本专利技术来说是不必要的细节和功能,以防止对本专利技术的理解造成混淆。虽然附图中显示了示例性实施例,然而应当理解,可以以各种形式实现本专利技术而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本专利技术的范围完整的传达给本领域的技术人员。本专利技术提供的方法是当在同一个逻辑分区下,且虚拟机磁盘内存放的文件均按照原始比特存放在物理机磁盘上,即磁盘镜像存放目标文件的部分未经压缩或加密时,直接解析虚拟机磁盘镜像内的磁盘文件分配表和该磁盘文件所在的区块,计算该区块在物理磁盘上的位置,并在物理磁盘上新增磁盘文件分配表项指向该区块。移除虚拟机磁盘镜像文件的磁盘分配表记录,并将原始虚拟机磁盘镜像未能拆解的部分作为空白块处理,修改区块分配记录和日志系统等内容,使其与系统一致。图1为根据本专利技术实施例的一种快速拆分虚拟化磁盘镜像的系统的框图。如图1所述,系统可以包括:分区表解析模块110、磁盘解析模块120、文件分配表提取模块130、分区解析模块140、冲突解决模块150、文件分配表写入模块160、信息修正模块170。分区表解析模块110,用于解析目标分区、虚拟化磁盘文件的物理地址。磁盘解析模块120,用于基于物理地址判断所述虚拟化磁盘文件是否在所述目标分区范围内,若不在,则报错退出,若在,则对所述虚拟化磁盘文件进行解析,获取文件分区表和文件分配表。磁盘解析模块120有各种开源实现,本质上是强依赖于镜像格式的,可参考的开源实现包括qemu-img、guestfish等工具。文件分配表提取模块130,用于基于所述文件分配表判断所述文件分区表中的文件是否按照原样保存在虚拟化磁盘上,并记录可以被直接提取的文件的文件分配记录。文件分配记录包括文件名、文件开始点、结束点、分配区块物理地址。分区解析模块140,用于对所述目标分区进行解析,获取所述目标分区的文件分配表位置。分区表解析模块110和分区解析模块140可使用fdisk、sfdisk等开源工具,其本质为对磁盘分区表的解析和修改。冲突解决模块150,用于比对所述文件分配记录和所述目标分区中的文件名,若有文件名相同,则对所述文件分配记录的文件名进行修改。对所述文件分配记录的文件名进行修改包括给出新的文件名、在文件名后加一些随机字符。文件分配表写入模块160,用于基于所述目标分区的文件分配表,将所述文件分配记录写入所述目标分区,并删除虚拟化磁盘上的原文件。文件分配表提取模块130和文件分配表写入模块160可参考linuxkernel和相关磁盘开源代码中对对应文件系统的目录、文件读取和写入相关信息。一些实施例中,系统还包括:信息修正模块170,用于修正所述目标分区的信息。用于修正所述目标分区的信息包括空余区块记录、大小记录、日志信息。具体的,首先,使用分区表解析模块110解析出目标分区、虚拟化磁盘文件的物理地址范围,并判断虚拟化磁盘文件是否在目标分区范围内,若不在范围内本文档来自技高网...
一种快速拆分虚拟化磁盘镜像的系统及方法

【技术保护点】
一种快速拆分虚拟化磁盘镜像的系统,其特征在于,包括:分区表解析模块,用于解析目标分区、虚拟化磁盘文件的物理地址;磁盘解析模块,用于基于物理地址判断所述虚拟化磁盘文件是否在所述目标分区范围内,若不在,则报错退出,若在,则对所述虚拟化磁盘文件进行解析,获取文件分区表和文件分配表;文件分配表提取模块,用于基于所述文件分配表判断所述文件分区表中的文件是否按照原样保存在虚拟化磁盘上,并记录可以被直接提取的文件的文件分配记录;分区解析模块,用于对所述目标分区进行解析,获取所述目标分区的文件分配表位置;冲突解决模块,用于比对所述文件分配记录和所述目标分区中的文件名,若有文件名相同,则对所述文件分配记录的文件名进行修改;文件分配表写入模块,用于基于所述目标分区的文件分配表,将所述文件分配记录写入所述目标分区,并删除虚拟化磁盘上的原文件。

【技术特征摘要】
1.一种快速拆分虚拟化磁盘镜像的系统,其特征在于,包括:分区表解析模块,用于解析目标分区、虚拟化磁盘文件的物理地址;磁盘解析模块,用于基于物理地址判断所述虚拟化磁盘文件是否在所述目标分区范围内,若不在,则报错退出,若在,则对所述虚拟化磁盘文件进行解析,获取文件分区表和文件分配表;文件分配表提取模块,用于基于所述文件分配表判断所述文件分区表中的文件是否按照原样保存在虚拟化磁盘上,并记录可以被直接提取的文件的文件分配记录;分区解析模块,用于对所述目标分区进行解析,获取所述目标分区的文件分配表位置;冲突解决模块,用于比对所述文件分配记录和所述目标分区中的文件名,若有文件名相同,则对所述文件分配记录的文件名进行修改;文件分配表写入模块,用于基于所述目标分区的文件分配表,将所述文件分配记录写入所述目标分区,并删除虚拟化磁盘上的原文件。2.根据权利要求1所述的系统,其特征在于,包括:信息修正模块,用于修正所述目标分区的信息。3.根据权利要求1所述的系统,其特征在于,所述文件分配记录包括文件名、文件开始点、结束点、分配区块物理地址。4.根据权利要求1所述的系统,其特征在于,所述对所述文件分配记录的文件名进行修改包括给出新的文件名、在文件名后加一些随机字符。5.根据权利要求2所述的系统,其特征在...

【专利技术属性】
技术研发人员:李林哲关墨辰张栗伟
申请(专利权)人:北京安天网络安全技术有限公司
类型:发明
国别省市:北京,11

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

1