一种读取镜像数据的方法、装置以及计算设备制造方法及图纸

技术编号:24888359 阅读:22 留言:0更新日期:2020-07-14 18:15
本发明专利技术公开了一种读取镜像数据的方法、装置以及计算设备,方法包括:在计算节点上的虚拟机/容器的启动过程中,发起对所述虚拟机/容器的云盘中镜像数据的读请求,其中,所述镜像数据用于启动所述虚拟机/容器,所述启动过程包括多个时间片;当所述读请求是当前时间片的第一个读请求时,通过第一、二路径分别读取镜像数据,其中,第一路径为从所述计算节点的缓存读取镜像数据的路径,第二路径为从数据节点读取镜像数据的路径;将第一、二路径中数据读取延时小的路径确定为目标路径;当所述读请求不是当前时间片的第一个读请求时,通过所述目标路径读取镜像数据。

【技术实现步骤摘要】
一种读取镜像数据的方法、装置以及计算设备
本专利技术涉及云计算领域,特别涉及一种读取镜像数据的方法、装置以及计算设备。
技术介绍
虚拟机(VirtualMachinem,VM)是云计算服务商提供的,具有弹性计算功能的云服务器(ElasticComputeService,ECS)实例。在一台物理机(计算节点)上,可以启动多个虚拟机,每个虚拟机关联一个用于启动该虚拟机的云盘,且该虚拟机通过该云盘中的镜像文件进行启动。云盘实质上是一种虚拟块设备,其对应的是一个逻辑磁盘地址(LogicalBlockAddress,LBA),也就是说,云盘中的镜像文件实际上是存储于存储集群的数据节点中的,且镜像文件默认以3副本方式存储。在一些应用场景,需要快速启动大批量(N个,每个虚拟机对应一个云盘)的虚拟机。这些虚拟机瞬间同时启动时,它们会同时向存储集群读取这N个云盘的镜像数据。当N的数值越大,存储集群需要响应的并发读请求越多,压力越大,导致读取性能下降,进而影响虚拟机的启动速度。另外,计算节点的N个云盘同时从存储集群读取的是相同的镜像数据,从而造成大量重复数据的传输,浪费了网络带宽。
技术实现思路
鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的读取镜像数据的方法、装置以及计算设备。根据本专利技术的一个方面,提供了一种读取镜像数据的方法,包括:在计算节点上的虚拟机/容器的启动过程中,发起对所述虚拟机/容器的云盘中镜像数据的读请求,其中,所述镜像数据用于启动所述虚拟机/容器,所述启动过程包括多个时间片;当所述读请求是当前时间片的第一个读请求时,通过第一、二路径分别读取镜像数据,其中,第一路径为从所述计算节点的缓存读取镜像数据的路径,第二路径为从数据节点读取镜像数据的路径;将第一、二路径中数据读取延时小的路径确定为目标路径;当所述读请求不是当前时间片的第一个读请求时,通过所述目标路径读取镜像数据。可选地,在根据本专利技术的读取镜像数据的方法中,当所述读请求不是当前时间片的第一个读请求时,若目标路径尚未确定,则通过第一路径读取镜像数据。可选地,根据本专利技术的读取镜像数据的方法,还包括,当通过第一路径读取镜像数据失败时,通过第二路径读取镜像数据,并将读取到的镜像数据存储到计算节点的缓存中。可选地,根据本专利技术的读取镜像数据的方法,还包括:若当前时间片对应的目标路径与上一个时间片对应的目标路径不相同,则将下一个时间片的时长设置为与当前时间片的时长相同。可选地,根据本专利技术的读取镜像数据的方法,还包括:若当前时间片对应的目标路径与上一个时间片对应的目标路径相同,则将下一个时间片的时长设置为:当前时间片的时长增加预定时长。可选地,根据本专利技术的读取镜像数据的方法,还包括:若连续预定数目个时间片对应的目标路径均为第一路径,则后续所有的读请求,均通过第一路径读取镜像数据。可选地,在根据本专利技术的读取镜像数据的方法中,所述计算节点同时启动多个虚拟机/容器。根据本专利技术的另一方面,还提供一种读取镜像数据的装置,包括:请求发起模块,适于在计算节点上的虚拟机/容器启动过程中,发起对所述虚拟机/容器的云盘中镜像数据的读请求,其中,所述镜像数据用于启动所述虚拟机/容器,所述启动过程被划分为多个时间片;第一处理模块,适于当所述读请求是当前时间片的第一个读请求时,通过第一、二路径分别获取镜像数据,其中,第一路径为从所述计算节点的缓存读取镜像数据的路径,第二路径为从数据节点云盘镜像数据的路径;目标路径确定模块,适于将第一、二路径中数据读取延时小的路径确定为目标路径;以及第二处理模块,适于当所述读请求不是当前时间片的第一个读请求时,通过所述目标路径读取镜像数据。根据本专利技术的另一方面,还提供一种计算设备,包括:一个或多个处理器;存储器;以及一个或多个程序,其中所述一个或多个程序存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行根据上述方法中的任一方法的指令。根据本专利技术的又一方面,还提供一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括指令,所述指令当由计算设备执行时,使得所述计算设备执行根据上述方法中的任一方法。根据本专利技术实施例的读取镜像数据的方案,将虚拟机/容器的启动过程划分为多个时间片,在每个时间片,根据数据读取延时来选择进行“缓存读”(从计算节点的本地缓存中读)还是“直接读”(从存储集群的数据节点中读),充分结合了二者各自的优势,同时避开了二者各自的劣势,能够提高镜像数据的读取效率,从而解决了大批量虚拟机/容器启动时,通过各自的云盘同时读存储集群所带来的性能下降问题,以及重复读取相同数据带来的网络带宽浪费问题。进一步,通过动态调整时间片的长短,还能够达到更好的镜像加速效果。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1示出了根据本专利技术一个实施例的云计算系统100的结构图;图2示出了根据本专利技术一个实施例的计算设备200的结构图;图3示出了根据本专利技术一个实施例的读取镜像数据的方法300流程图;图4示出了根据本专利技术一个实施例的读取镜像数据的装置400结构图;图5示出了两种读取路径的数据读取延时的测试结果对比示意图。具体实施方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。图1示出了根据本专利技术一个实施例的云计算系统100的结构图。参照图1,云计算系统100包括计算集群和存储集群,计算集群包括多个计算节点(图中仅示出了2个),存储集群包括多个数据节点(图中仅示出了2个)。在每个计算节点上,可以启动一个或多个虚拟机,虚拟机通过与该虚拟机对应的云盘中的镜像文件启动;在每个计算节点上,也可以启动一个或多个容器(Docker),容器通过与该容器对应的云盘中的镜像文件启动。计算节点中还包括读取镜像数据的装置,计算节点中的虚拟机/容器启动时,利用该读取镜像数据的装置来读取对应的云盘镜像数据。云盘实质上是一种虚拟块设备,其对应的是一个逻辑磁盘地址,也就是说,云盘中的镜像文件实际上是存储于存储集群的数据节点中的,且镜像文件默认以3副本方式存储。如前所述,在现有技术中,N个虚拟机同时本文档来自技高网...

【技术保护点】
1.一种读取镜像数据的方法,包括:/n在计算节点上的虚拟机/容器的启动过程中,发起对所述虚拟机/容器的云盘中镜像数据的读请求,其中,所述镜像数据用于启动所述虚拟机/容器,所述启动过程包括多个时间片;/n当所述读请求是当前时间片的第一个读请求时,通过第一、二路径分别读取镜像数据,其中,第一路径为从所述计算节点的缓存读取镜像数据的路径,第二路径为从数据节点读取镜像数据的路径;/n将第一、二路径中数据读取延时小的路径确定为目标路径;以及/n当所述读请求不是当前时间片的第一个读请求时,通过所述目标路径读取镜像数据。/n

【技术特征摘要】
1.一种读取镜像数据的方法,包括:
在计算节点上的虚拟机/容器的启动过程中,发起对所述虚拟机/容器的云盘中镜像数据的读请求,其中,所述镜像数据用于启动所述虚拟机/容器,所述启动过程包括多个时间片;
当所述读请求是当前时间片的第一个读请求时,通过第一、二路径分别读取镜像数据,其中,第一路径为从所述计算节点的缓存读取镜像数据的路径,第二路径为从数据节点读取镜像数据的路径;
将第一、二路径中数据读取延时小的路径确定为目标路径;以及
当所述读请求不是当前时间片的第一个读请求时,通过所述目标路径读取镜像数据。


2.如权利要求1所述的方法,其中,当所述读请求不是当前时间片的第一个读请求时,若目标路径尚未确定,则通过第一路径读取镜像数据。


3.如权利要求1或2所述的方法,其中,还包括,当通过第一路径读取镜像数据失败时,通过第二路径读取镜像数据,并将读取到的镜像数据存储到计算节点的缓存中。


4.如权利要求1所述的方法,其中,还包括:
若当前时间片对应的目标路径与上一个时间片对应的目标路径不相同,则将下一个时间片的时长设置为与当前时间片的时长相同。


5.如权利要求1所述的方法,其中,还包括:
若当前时间片对应的目标路径与上一个时间片对应的目标路径相同,则将下一个时间片的时长设置为:当前时间片的时长增加预定时长。


6.如权利要求1所述的方法,其中,还包括...

【专利技术属性】
技术研发人员:彭海林孙思杰
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

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

1