首页> 中国专利> 基于磁盘镜像文件的碎片整理方法及碎片整理系统

基于磁盘镜像文件的碎片整理方法及碎片整理系统

摘要

本发明涉及磁盘镜像文件技术领域,本发明公开了一种基于磁盘镜像文件的碎片整理方法及碎片整理系统,该方法包括:创建第一文件,并在所述第一文件内形成表格;获取源文件,并分离所述源文件的各个数据块;对各个所述数据块进行位置排序,并依次输入至所述表格;若各个所述数据块完全输入至所述表格,则触发所述第一文件的保存程序;将所述第一文件替代所述源文件,并完成所述源文件的碎片整理,此时,各个所述数据块按照位置顺序依次输入至第一文件的表格,并且所述源文件逐步转移数据至第一文件,以便于各数据库连续性输入至第一文件,提高了源文件的碎片整理的完整性和效率,并且提高虚拟机的运行效能。

著录项

  • 公开/公告号CN115629716A

    专利类型发明专利

  • 公开/公告日2023-01-20

    原文格式PDF

  • 申请/专利权人 广东睿江云计算股份有限公司;

    申请/专利号CN202211564706.1

  • 发明设计人 刘杰;霍键聪;

    申请日2022-12-07

  • 分类号G06F3/06(2006.01);

  • 代理机构佛山市恒瑞知识产权代理事务所(普通合伙) 44688;

  • 代理人史亮亮

  • 地址 528000 广东省佛山市石湾镇街道镇中三路152号东平云谷西座

  • 入库时间 2023-06-19 18:24:15

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-04-11

    授权

    发明专利权授予

  • 2023-02-14

    实质审查的生效 IPC(主分类):G06F 3/06 专利申请号:2022115647061 申请日:20221207

    实质审查的生效

  • 2023-01-20

    公开

    发明专利申请公布

说明书

技术领域

本发明涉及磁盘镜像文件技术领域,尤其涉及一种基于磁盘镜像文件的碎片整理方法及碎片整理系统。

背景技术

随着步入信息化时代,在云计算虚拟化场景中,Qcow2作为虚拟磁盘镜像文件,是一种应用十分普遍的虚拟磁盘格式,它具有空间占用更小,支持加密,支持压缩,支持写时拷贝,支持快照等多种在云计算场景中非常实用的特点。

目前,虚拟磁盘镜像文件基于动态存储进行数据载入,并且在表格中按照时间先后顺序进行排序,例如在虚拟磁盘的位置写入一个数据,这个时候,这个数据可能会被映射到文件的第一位置,在这之后如果再往虚拟磁盘的位置写入一个数据,这个时候,这个数据可能会被映射到文件第二的位置;如此往复的进行之后,虚拟磁盘中连续的位置可能在文件中的分布会变得完全不连续,并且呈碎片化布置,进而严重影响虚拟机的运行效能。

发明内容

本发明的目的在于克服现有技术的不足,本发明提供了一种基于磁盘镜像文件的碎片整理方法及碎片整理系统,创建第一文件,并在所述第一文件内形成表格;获取源文件,并分离所述源文件的各个数据块;对各个所述数据块进行位置排序,并依次输入至所述表格;若各个所述数据块完全输入至所述表格,则触发所述第一文件的保存程序;将所述第一文件替代所述源文件,并完成所述源文件的碎片整理,此时,各个所述数据块按照位置顺序依次输入至第一文件的表格,并且所述源文件逐步转移数据至第一文件,以便于各数据库连续性输入至第一文件,提高了源文件的碎片整理的完整性和效率,并且提高虚拟机的运行效能。

为了解决上述技术问题,本发明提供了一种基于磁盘镜像文件的碎片整理方法,包括:创建第一文件,并在所述第一文件内形成表格;获取源文件,并分离所述源文件的各个数据块;对各个所述数据块进行位置排序,并依次输入至所述表格;若各个所述数据块完全输入至所述表格,则触发所述第一文件的保存程序;将所述第一文件替代所述源文件,并完成所述源文件的碎片整理。

另外,本发明还提供了一种基于磁盘镜像文件的碎片整理系统,所述基于磁盘镜像文件的碎片整理系统包括:创建模块:用于创建第一文件,并在所述第一文件内形成表格;获取模块:用于获取源文件,并分离所述源文件的各个数据块;位置排序模块:用于对各个所述数据块进行位置排序,并依次输入至所述表格;表格模块:用于若各个所述数据块完全输入至所述表格,则触发所述第一文件的保存程序;替代模块:用于将所述第一文件替代所述源文件,并完成所述源文件的碎片整理。

与现有技术相比,本发明的有益效果为:

各个所述数据块按照位置顺序依次输入至第一文件的表格,并且所述源文件逐步转移数据至第一文件,以便于各数据库连续性输入至第一文件,提高了源文件的碎片整理的完整性和效率,并且提高虚拟机的运行效能。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见的,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

图1是本发明实施例中的基于磁盘镜像文件的碎片整理方法的流程示意图;

图2是本发明实施例中的基于磁盘镜像文件的碎片整理方法的源文件分离数据块的流程示意图;

图3是本发明实施例中的基于磁盘镜像文件的碎片整理方法的数据块排序的流程示意图;

图4是本发明实施例中的基于磁盘镜像文件的碎片整理方法的数据块载入的流程示意图;

图5是本发明实施例中的基于磁盘镜像文件的碎片整理方法的示意图;

图6是本发明实施例中的基于磁盘镜像文件的碎片整理系统的结构组成示意图;

图7是根据一示例性实施例示出的一种电子装置的硬件图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

实施例一

请参阅图1至图4,一种基于磁盘镜像文件的碎片整理方法,方法包括:

S11:创建第一文件,并在所述第一文件内形成表格;

在本发明具体实施过程中,具体的步骤可以为:基于云计算虚拟化场景构建第一文件,所述第一文件为qcow2文件;触发所述第一文件,并在所述第一文件输入表格;基于所述第一文件的表格形成第一表格和第二表格,所述第一表格和所述第二表格之间具有第一映射关系。

其中,创建新的文件作为记录文件,并且对磁盘镜像文件进行碎片整理,所述第一文件为qcow2文件,并且在所述第一文件中进行第一表格和第二表格的设计,以便于对应将源文件的对应表格内容进行复制,并且基于第一映射关系作为内容的逻辑关系,保证了载入的数据逻辑关系的准确性。

S12:获取源文件,并分离所述源文件的各个数据块;

在本发明具体实施过程中,具体的步骤可以为:

S121:获取所述源文件,并遍历所述源文件;

S122:定位所述源文件的第三表格和第四表格;

S123:对比所述第三表格和所述第四表格,并确定第二映射关系;

S124:基于所述第二映射关系依次对所述源文件分离所述源文件的各个所述数据块;

S125:将各个所述数据块在所述第二映射关系中依次进行位置排序。

其中,对源文件进行数据分离,并且遍历源文件,以便于定位所述源文件的第三表格和第四表格,该第三表格和第一表格对应,第四表格和第二表格对应,第二映射关系与第一映射关系对应,并且基于所述第二映射关系依次对所述源文件分离所述源文件的各个所述数据块,从而保证了源文件和第一文件之间的数据载入。

S13:对各个所述数据块进行位置排序,并依次输入至所述表格;

在本发明具体实施过程中,具体的步骤可以为:

S131:基于各个所述数据块按照位置顺序依次载入所述第一文件,此时,每载入一个数据块,将对应的数据块的虚拟磁盘偏移和文件偏移的对应关系写入到所述第一文件的第一表格和第二表格中;

S132:循环上述两个步骤,直至所述源文件的各个所述数据块完全载入至所述第一文件。

其中,对各个数据块基于位置逻辑进行排序,并且各个位置之间不存在空格位置,将各个数据依照位置顺序依次载入所述第一文件,此时,每载入一个数据块,将对应的数据块的虚拟磁盘偏移和文件偏移的对应关系写入到所述第一文件的第一表格和第二表格中,保证了各个数据库载入的顺序性。

S14:若各个所述数据块完全输入至所述表格,则触发所述第一文件的保存程序;

在本发明具体实施过程中,具体的步骤可以为:

S141:若各个所述数据块完全输入至所述第一表格和所述第二表格,则所述第一文件的第一表格和第二表格处于对应关系,并触发所述第一文件的保存程序;

S142:检测各个所述数据块的载入进度,并确定各个所述数据块的载入进度为完成;

S143:触发所述第一文件的保存程序。

S15:将所述第一文件替代所述源文件,并完成所述源文件的碎片整理;

在本发明具体实施过程中,具体的步骤可以为:将所述第一文件替代所述源文件,并确定所述源文件中各个数据块的完整性;若各个数据块的完整性为完整,则完成所述源文件的碎片整理。

落更到实际的应用环境下,详细的步骤:

1. 读取源qcow2文件的头信息,并定位得到l1索引表的位置;

2. 遍历l1索引表中的非零记录,得到虚拟磁盘中已经分配了空间的数据块在虚拟磁盘文件中的l2索引表的地址,并得到该部分数据块所对应的虚拟磁盘的数据地址(此处需要区分虚拟磁盘文件的地址和虚拟磁盘的地址);

3. 遍历第二步中得到的l2索引表中的非零记录,得到数据块在虚拟磁盘文件中的实际地址,并结合第二步骤中得到的虚拟磁盘的数据地址,得到该数据块对应的虚拟磁盘的数据地址;其中,l1索引表中的非零记录和l2索引表中的非零记录分别为不同的索引表的记录。

4. 第二步和第三步遍历完成后,将得到一张包含了虚拟磁盘文件地址和虚拟磁盘地址的一一映射的一张表格;

5. 按照虚拟磁盘地址对第4步骤中得到的表格进行排序,按虚拟磁盘位置的大小,从小到大进行排序;

6. 建立一个新的qcow2的文件,并按源qcow2的大小,预先建立好对应的l1表格和l2表格,其中l2表格初始化为全零,由于预先建立了l2表格,因此l1表格将全部被预先填充好;

7. 遍历第5步骤中排序好的表格,按所得到的源qcow2文件的虚拟磁盘文件偏移地址,从源qcow2文件中拷贝数据块,并顺序写入到新建立的qcow2文件中;

7.1.每写入一个数据块之前,先获取到本次即将写入的虚拟磁盘文件的偏移地址,并从遍历的表格中获取到本次即将读取的数据所对应的虚拟磁盘偏移地址;

7.2 根据本次即将读取的数据所对应的虚拟磁盘偏移地址计算出本次即将拷贝的数据块所对应的l2表的序号,通过查询l1表格得到该l2表格在新的虚拟磁盘文件中的偏移;

7.3 根据本次即将读取的数据所对应的虚拟磁盘偏移地址计算出本次即将拷贝的数据块所对应的l2表中的记录的偏移地址,并将7.1步骤中获取到的“即将写入的虚拟磁盘文件的偏移地址”写入到该地址;

7.4 对第7.3步骤的数据拷贝;

8. 当遍历完成第5步骤所生成的表格后,整个qcow2的碎片整理工作即完成,生成的新的qcow2文件即为碎片整理后的虚拟磁盘。

在本发明实施例中,通过本发明实施例中的方法,创建第一文件,并在所述第一文件内形成表格;获取源文件,并分离所述源文件的各个数据块;对各个所述数据块进行位置排序,并依次输入至所述表格;若各个所述数据块完全输入至所述表格,则触发所述第一文件的保存程序;将所述第一文件替代所述源文件,并完成所述源文件的碎片整理,此时,各个所述数据块按照位置顺序依次输入至第一文件的表格,并且所述源文件逐步转移数据至第一文件,以便于各数据库连续性输入至第一文件,提高了源文件的碎片整理的完整性和效率,并且提高虚拟机的运行效能。

实施例二

请参阅图6,图6是本发明实施例中的基于磁盘镜像文件的碎片整理系统的结构组成示意图。

如图6所示,一种基于磁盘镜像文件的碎片整理系统,所述基于磁盘镜像文件的碎片整理系统包括:

创建模块21:用于创建第一文件,并在所述第一文件内形成表格;

获取模块22:用于获取源文件,并分离所述源文件的各个数据块;

位置排序模块23:用于对各个所述数据块进行位置排序,并依次输入至所述表格;

表格模块24:用于若各个所述数据块完全输入至所述表格,则触发所述第一文件的保存程序;

替代模块25:用于将所述第一文件替代所述源文件,并完成所述源文件的碎片整理。

在本发明实施例中,通过本发明实施例中的方法,创建第一文件,并在所述第一文件内形成表格;获取源文件,并分离所述源文件的各个数据块;对各个所述数据块进行位置排序,并依次输入至所述表格;若各个所述数据块完全输入至所述表格,则触发所述第一文件的保存程序;将所述第一文件替代所述源文件,并完成所述源文件的碎片整理,此时,各个所述数据块按照位置顺序依次输入至第一文件的表格,并且所述源文件逐步转移数据至第一文件,以便于各数据库连续性输入至第一文件,提高了源文件的碎片整理的完整性和效率,并且提高虚拟机的运行效能。

实施例三

请参阅图7,下面参照图7来描述根据本发明的这种实施方式的电子设备40。图7显示的电子设备40仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。

如图7所示,电子设备40以通用计算设备的形式表现。电子设备40的组件可以包括但不限于:上述至少一个处理单元41、上述至少一个存储单元42、连接不同系统组件(包括存储单元42和处理单元41)的总线43。

其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元41执行,使得所述处理单元41执行本说明书上述“实施例方法”部分中描述的根据本发明各种示例性实施方式的步骤。

存储单元42可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)421和/或高速缓存存储单元422,还可以进一步包括只读存储单元(ROM)423。

存储单元42还可以包括具有一组(至少一个)程序模块425的程序/实用工具424,这样的程序模块425包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。

总线43可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。

电子设备40也可以与一个或多个外部设备(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备40交互的设备通信,和/或与使得该电子设备40能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口45进行。并且,电子设备40还可以通过网络适配器46与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图7所示,网络适配器46通过总线43与电子设备40的其它模块通信。应当明白,尽管图7中未示出,可以结合电子设备40使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。

通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,ReadOnly Memory)、随机存取存储器(RAM,Random AccessMemory)、磁盘或光盘等。并且,其存储有计算机程序指令,当所述计算机程序指令被计算机执行时,使计算机执行根据上述的方法。

另外,以上对本发明实施例所提供的基于磁盘镜像文件的碎片整理方法及碎片整理系统进行了详细介绍,本文中应采用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号