一种qcow2镜像文件增量更新方法及装置制造方法及图纸

技术编号:32178368 阅读:8 留言:0更新日期:2022-02-08 15:39
本发明专利技术公开了一种qcow2镜像文件增量更新方法,包括:获取待下发至VOI客户端以进行VOI客户端中qcow2镜像文件更新的qcow2镜像文件;分析待下发qcow2镜像文件的元数据,得到每个已分配数据簇的数据内容、数据大小和在qcow2镜像文件对应的虚拟磁盘中的扇区偏移;将每个已分配数据簇的数据内容、数据大小和扇区偏移下发至VOI客户端;将所述数据大小、扇区偏移和VOI客户端上待进行数据写入的文件句柄作为参数,然后将所述数据内容写入VOI客户端中qcow2镜像文件对应的虚拟磁盘的扇区。在整个qcow2镜像文件的增量更新过程中,VOI客户端无需准备额外较大的硬盘空闲空间来存放临时数据,且VOI客户端仅需对待下发qcow2镜像文件进行一次写操作,有效提升更新效率,同时缩短更新时间。间。间。

【技术实现步骤摘要】
一种qcow2镜像文件增量更新方法及装置


[0001]本专利技术涉及VOI(Virtual OS Infrastructure,虚拟终端管理系统)
,具体涉及一种qcow2镜像文件增量更新方法及装置。

技术介绍

[0002]在VOI场景下,用户首次通过VOI服务端将qcow2格式的系统镜像文件下发给VOI客户端完成系统部署后,当用户想要对模板系统数据进行更新时,VOI服务端通常会采用qcow2外部快照的形式来存放用户的更新数据,每一次的更新数据对应1个qcow2镜像文件,这样通过VOI服务端便能以增量的形式将更新数据下发给所有客户端。但随着用户更新次数的增多,模板系统对应的qcow2(一种磁盘镜像格式)文件层级也会越来越多,如果VOI客户端像VOI服务端一样把所有更新都以qcow2外部快照形式存放,那么根据qcow2算法原理,一个系统对应的qcow2镜像文件层级越多,它在系统里读写磁盘的效率就会越低,这样会影响到用户使用体验。
[0003]针对上述情况,当前常见的做法是:VOI服务端将更新文件下发给VOI客户端时,VOI客户端使用qcow2合并功能将2个及以上的qcow2镜像文件合并为1个文件,以此来减少层级关系,避免系统里读写磁盘的效率降低。但这种方式存在以下缺陷:1、使用qcow2合并功能时,需先将需要合并的文件存放到本地,执行完合并操作后才能删除下发的文件,在执行合并的过程中,被合并的文件可能会逐渐增大,最大增加的容量基本等于更新文件的大小,此时需要VOI客户端有2倍及以上更新文件大小的硬盘空闲空间,如果硬盘空闲空间不足,就会合并失败;2、在整个合并更新过程中,VOI客户端要对同一个文件进行1次读操作和2次写操作,第一次写操作是在接收VOI服务器发送的文件过程中,读操作和第二次写操作是在执行合并的过程中,导致需要耗费较多时间,影响更新效率。

技术实现思路

[0004]针对现有技术中存在的缺陷,本专利技术的目的在于提供一种qcow2镜像文件增量更新方法及装置。
[0005]为达到以上目的,本专利技术采取的技术方案是:
[0006]第一方面,本专利技术提供一种qcow2镜像文件增量更新方法,具体包括以下步骤:
[0007]获取待下发至VOI客户端以进行VOI客户端中qcow2镜像文件更新的qcow2镜像文件;
[0008]分析待下发qcow2镜像文件的元数据,得到每个已分配数据簇的数据内容、数据大小和在qcow2镜像文件对应的虚拟磁盘中的扇区偏移;
[0009]将每个已分配数据簇的数据内容、数据大小和扇区偏移下发至VOI客户端;
[0010]将所述数据大小、扇区偏移和VOI客户端上待进行数据写入的文件句柄作为参数,然后将所述数据内容写入VOI客户端中qcow2镜像文件对应的虚拟磁盘的扇区。
[0011]在上述技术方案的基础上,所述获取待下发至VOI客户端以进行VOI客户端中
qcow2镜像文件更新的qcow2镜像文件,具体步骤包括:
[0012]将VOI服务端中的qcow2镜像文件与VOI客户端中的qcow2镜像文件进行对比;
[0013]基于对比结果,得到待下发qcow2镜像文件,所述待下发qcow2镜像文件用于下发至VOI客户端以进行VOI客户端中qcow2镜像文件的更新。
[0014]在上述技术方案的基础上,所述分析待下发qcow2镜像文件的元数据,得到每个已分配数据簇的数据内容、数据大小和在qcow2镜像文件对应的虚拟磁盘中的扇区偏移,其中,对于数据大小和扇区偏移,得到的具体步骤为:
[0015]VOI服务端分析待下发qcow2镜像文件的元数据,并基于遍历方式遍历元数据所有L2表的表项,得到所有已分配数据簇的集合;
[0016]创建下发数据信息列表,并将所述集合中每个已分配数据簇的数据大小以及在qcow2镜像文件对应的虚拟磁盘中的扇区偏移,存放至下发数据信息列表中。
[0017]在上述技术方案的基础上,所述将每个已分配数据簇的数据内容、数据大小和扇区偏移下发至VOI客户端之前,还包括:
[0018]VOI服务端将待下发qcow2镜像文件的空间大小信息和父级镜像文件的名称发送至VOI客户端;
[0019]VOI客户端接收空间大小信息和父级镜像文件,并基于接收的空间大小信息判断自身磁盘空闲空间容量是否足够。
[0020]在上述技术方案的基础上,当VOI客户端自身磁盘空闲空间容量足够时:
[0021]VOI客户端将接收的父级镜像文件的路径作为参数,并通过调用qcow2打开文件接口,得到VOI客户端上待写入数据的文件句柄;
[0022]VOI服务端将待下发qcow2镜像文件的文件路径作为参数,并通过调用qcow2打开文件接口,得到待下发qcow2镜像文件的文件句柄。
[0023]在上述技术方案的基础上,当VOI客户端自身磁盘空闲空间容量不够时:则停止VOI客户端上qcow2镜像文件的更新。
[0024]在上述技术方案的基础上,所述分析待下发qcow2镜像文件的元数据,得到每个已分配数据簇的数据内容、数据大小和在qcow2镜像文件对应的虚拟扇区偏移,其中,对于数据内容,得到的具体步骤为:
[0025]VOI服务端遍历下发数据信息列表,获取每个已分配数据簇的数据大小和扇区偏移;
[0026]将获取的数据大小、扇区偏移,以及待下发qcow2镜像文件的文件句柄作为参数,并通过调用qcow2读文件接口,依次获取每个已分配数据簇的数据内容。
[0027]在上述技术方案的基础上,所述将所述数据大小、扇区偏移和VOI客户端上待进行数据写入的文件句柄作为参数,然后将所述数据内容写入VOI客户端中qcow2镜像文件对应的虚拟磁盘的扇区,具体步骤包括:
[0028]将每个已分配数据簇的数据大小、扇区偏移,以及VOI客户端上待进行数据写入的文件句柄作为参数,通过调用qcow2写文件接口,将每个已分配数据簇的数据内容写入VOI客户端中qcow2镜像文件对应的虚拟磁盘的扇区,完成VOI客户端中qcow2镜像文件的更新。
[0029]在上述技术方案的基础上,所述将每个已分配数据簇的数据内容、数据大小和扇区偏移下发至VOI客户端,具体为:
[0030]VOI服务端依次将每个已分配数据簇的数据内容、数据大小和扇区偏移下发至VOI客户端。
[0031]第二方面,本专利技术提供一种qcow2镜像文件增量更新装置,包括:
[0032]VOI服务端,其用于获取待下发至VOI客户端以进行VOI客户端中qcow2镜像文件更新的qcow2镜像文件,以及分析待下发qcow2镜像文件的元数据,得到每个已分配数据簇的数据内容、数据大小和在qcow2镜像文件对应的虚拟磁盘中的扇区偏移,然后将每个已分配数据簇的数据内容、数据大小和扇区偏移下发至VOI客户端;
[0033]VOI客户端,其用于接收VOI服务端下发的数据内容、数据大小和扇区偏移,以及将所述数据大本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种qcow2镜像文件增量更新方法,其特征在于,具体包括以下步骤:获取待下发至VOI客户端以进行VOI客户端中qcow2镜像文件更新的qcow2镜像文件;分析待下发qcow2镜像文件的元数据,得到每个已分配数据簇的数据内容、数据大小和在qcow2镜像文件对应的虚拟磁盘中的扇区偏移;将每个已分配数据簇的数据内容、数据大小和扇区偏移下发至VOI客户端;将所述数据大小、扇区偏移和VOI客户端上待进行数据写入的文件句柄作为参数,然后将所述数据内容写入VOI客户端中qcow2镜像文件对应的虚拟磁盘扇区。2.如权利要求1所述的一种qcow2镜像文件增量更新方法,其特征在于,所述获取待下发至VOI客户端以进行VOI客户端中qcow2镜像文件更新的qcow2镜像文件,具体步骤包括:将VOI服务端中的qcow2镜像文件与VOI客户端中的qcow2镜像文件进行对比;基于对比结果,得到待下发qcow2镜像文件,所述待下发qcow2镜像文件用于下发至VOI客户端以进行VOI客户端中qcow2镜像文件的更新。3.如权利要求1所述的一种qcow2镜像文件增量更新方法,其特征在于,所述分析待下发qcow2镜像文件的元数据,得到每个已分配数据簇的数据内容、数据大小和在qcow2镜像文件对应的虚拟磁盘中的扇区偏移,其中,对于数据大小和扇区偏移,得到的具体步骤为:VOI服务端分析待下发qcow2镜像文件的元数据,并基于遍历方式遍历元数据所有L2表的表项,得到所有已分配数据簇的集合;创建下发数据信息列表,并将所述集合中每个已分配数据簇的数据大小以及在qcow2镜像文件对应的虚拟磁盘中的扇区偏移,存放至下发数据信息列表中。4.如权利要求3所述的一种qcow2镜像文件增量更新方法,其特征在于,所述将每个已分配数据簇的数据内容、数据大小和扇区偏移下发至VOI客户端之前,还包括:VOI服务端将待下发qcow2镜像文件的空间大小信息和父级镜像文件的名称发送至VOI客户端;VOI客户端接收空间大小信息和父级镜像文件,并基于接收的空间大小信息判断自身磁盘空闲空间容量是否足够。5.如权利要求4所述的一种qcow2镜像文件增量更新方法,其特征在于,当VOI客户端自身磁盘空闲空间容量足够时:VOI客户端将接收的父级镜像文件的路径作为参数,并通过调用qcow2打开文件接口,得到VOI客户端上待写入数据的文件句柄;VOI服务端将待下发qcow2镜像文件的文件路径作为...

【专利技术属性】
技术研发人员:程皓
申请(专利权)人:武汉噢易云计算股份有限公司
类型:发明
国别省市:

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

1