镜像缓存方法、装置、电子设备及存储介质与流程

文档序号:30064335发布日期:2022-05-18 00:30阅读:138来源:国知局
镜像缓存方法、装置、电子设备及存储介质与流程

1.本技术涉及计算机技术领域,尤其涉及一种镜像缓存方法、装置、电子设备及存储介质。


背景技术:

2.随着计算机技术的发展,容器、镜像等概念在网络上出现的频率也越来越高,应用容器化已成为一种开发趋势。应用容器化后就能以镜像的形式交付,并以容器的形式运行,并且,对诸多的镜像进行管理也是应用开发工作中的重点。应理解,镜像管理通常离不开镜像的拉取,对于时间方面有严格要求的镜像,比如在启动、扩容方面要求高速实时的镜像,其在拉取过程中是无法容忍过程耗时的,而目前的应对方案通常是基于本地镜像仓库进行镜像的拉取缓存,但是从本地镜像仓库拉取镜像仍然存在较明显的延迟,且节点可能存在与本地镜像仓库网络失联的情况,仍然难以满足镜像运行对高速实时的要求。


技术实现要素:

3.针对上述问题,本技术提供了一种镜像缓存方法、装置、电子设备及存储介质,能够满足镜像运行对高速实时的要求。
4.为实现上述目的,本技术实施例第一方面提供了一种镜像缓存方法,应用于容器编排平台,该方法包括:
5.获取镜像缓存任务,镜像缓存任务包括待缓存镜像的任务配置信息,任务配置信息包括用于缓存待缓存镜像的目标节点;
6.根据任务配置信息生成待缓存镜像的部署编排,其中,部署编排用于指示目标节点从镜像仓库拉取缓存镜像以进行缓存;
7.在目标节点成功拉取待缓存镜像的情况下,将镜像缓存任务的状态更新为成功。
8.结合第一方面,在一种可能的实施方式中,该方法还包括:
9.在目标节点未成功拉取待缓存镜像的情况下,将镜像缓存任务的状态更新为失败。
10.结合第一方面,在一种可能的实施方式中,在目标节点未成功拉取待缓存镜像的情况下,将镜像缓存任务的状态更新为失败,包括:
11.在目标节点未成功拉取待缓存镜像的情况下,重新执行获取镜像缓存任务及根据任务配置信息生成待缓存镜像的部署编排的操作;
12.若检测到目标节点拉取待缓存镜像未成功,则将镜像缓存任务的未拉取成功次数增加一次;
13.若镜像缓存任务的未拉取成功的次数未达到预设次数,则继续执行获取镜像缓存任务及根据任务配置信息生成待缓存镜像的部署编排的操作,直至镜像缓存任务的未拉取成功的次数达到预设次数;
14.在镜像缓存任务的未拉取成功的次数达到预设次数的情况下,结束镜像缓存任
务,并将镜像缓存任务的状态更新为失败。
15.结合第一方面,在一种可能的实施方式中,在获取镜像缓存任务之前,该方法还包括:
16.接收待缓存镜像的缓存请求,根据缓存请求生成镜像缓存任务,并将镜像缓存任务添加至镜像缓存任务队列;
17.和/或,
18.响应于定时任务的触发,根据定时任务生成镜像缓存任务,并将镜像缓存任务添加至镜像缓存任务队列。
19.结合第一方面,在一种可能的实施方式中,缓存请求包括镜像缓存任务的第一任务清单,根据缓存请求生成镜像缓存任务,包括:
20.对第一任务清单进行校验;
21.在第一任务清单校验通过的情况下,对第一任务清单进行解析,得到任务配置信息;
22.根据任务配置信息生成镜像缓存任务。
23.结合第一方面,在一种可能的实施方式中,响应于定时任务的触发,根据定时任务生成镜像缓存任务,包括:
24.响应于定时任务的触发,获取待缓存镜像的列表信息和目标节点的列表信息;
25.将待缓存镜像的列表信息和目标节点的列表信息整合为第二任务清单;
26.对第二任务清单进行解析,得到任务配置信息;
27.根据任务配置信息生成镜像缓存任务。
28.结合第一方面,在一种可能的实施方式中,任务配置信息还包括待缓存镜像的拉取策略,部署编排具体用于指示目标节点按照拉取策略从镜像仓库拉取缓存镜像以进行缓存。
29.本技术实施例第二方面提供了一种镜像缓存装置,应用于容器编排平台,该装置包括获取单元和处理单元;其中,
30.获取单元,用于获取镜像缓存任务,镜像缓存任务包括待缓存镜像的任务配置信息,任务配置信息包括用于缓存待缓存镜像的目标节点;
31.处理单元,用于根据任务配置信息生成待缓存镜像的部署编排,其中,部署编排用于指示目标节点从镜像仓库拉取缓存镜像以进行缓存;
32.处理单元,还用于在目标节点成功拉取待缓存镜像的情况下,将镜像缓存任务的状态更新为成功。
33.本技术实施例第三方面提供了一种电子设备,该电子设备包括输入设备和输出设备,还包括处理器,适于实现一条或多条指令;以及,存储器,所述存储器存储有一条或多条计算机程序,所述一条或多条计算机程序适于由所述处理器加载并执行如下步骤:
34.获取镜像缓存任务,所述镜像缓存任务包括待缓存镜像的任务配置信息,所述任务配置信息包括用于缓存所述待缓存镜像的目标节点;
35.根据所述任务配置信息生成所述待缓存镜像的部署编排,其中,所述部署编排用于指示所述目标节点从镜像仓库拉取所述缓存镜像以进行缓存;
36.在所述目标节点成功拉取所述待缓存镜像的情况下,将所述镜像缓存任务的状态
更新为成功。
37.本技术实施例第四方面提供了一种计算机存储介质,所述计算机存储介质存储有一条或多条指令,所述一条或多条指令适于由处理器加载并执行如下步骤:
38.获取镜像缓存任务,所述镜像缓存任务包括待缓存镜像的任务配置信息,所述任务配置信息包括用于缓存所述待缓存镜像的目标节点;
39.根据所述任务配置信息生成所述待缓存镜像的部署编排,其中,所述部署编排用于指示所述目标节点从镜像仓库拉取所述缓存镜像以进行缓存;
40.在所述目标节点成功拉取所述待缓存镜像的情况下,将所述镜像缓存任务的状态更新为成功。
41.本技术的上述方案至少包括以下有益效果:
42.本技术实施例中,通过获取镜像缓存任务,镜像缓存任务包括待缓存镜像的任务配置信息,任务配置信息包括用于缓存待缓存镜像的目标节点;根据任务配置信息生成待缓存镜像的部署编排,其中,部署编排用于指示目标节点从镜像仓库拉取缓存镜像以进行缓存;在目标节点成功拉取待缓存镜像的情况下,将镜像缓存任务的状态更新为成功。这样基于镜像缓存任务生成待缓存镜像的部署编排,然后由目标节点拉取待缓存镜像进行缓存,能够实现在使用待缓存镜像前完成对待缓存镜像的拉取缓存,从而节省了在使用时才对待缓存镜像进行拉取所带来耗时,进而能够满足镜像运行对高速实时的要求。
附图说明
43.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
44.图1为本技术实施例提供的一种应用环境的示意图;
45.图2为本技术实施例提供的一种容器编排平台的框图;
46.图3为本技术实施例提供的一种镜像缓存方法的流程示意图;
47.图4为本技术实施例提供的一种任务配置信息的示意图;
48.图5为本技术实施例提供的另一种镜像缓存方法的流程示意图;
49.图6为本技术实施例提供的一种镜像缓存装置的结构示意图;
50.图7为本技术实施例提供的一种电子设备的结构示意图。
具体实施方式
51.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
52.本技术说明书、权利要求书和附图中出现的术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或
设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。此外,术语“第一”、“第二”和“第三”等是用于区别不同的对象,而并非用于描述特定的顺序。
53.以下对本技术实施例涉及到的相关技术进行简要分析。
54.镜像拉取通常具有以下特性:无法容忍过程耗时,即拉取过程有严格的低耗时要求;对镜像仓库的依赖高,镜像仓库单点故障会导致无法拉取镜像,最终得到镜像无法部署的结果;对网络的依赖高,就边缘设备上运行的应用而言,比如物联网应用程序,边缘设备和镜像仓库之间的网络连接是间歇性的,拉取镜像仓库中的镜像通常存在卡顿的情况;滚动升级,在镜像拉取失败的情况下,会导致应用升级失败。针对上述特性,相关技术通过设计本地镜像仓库进行镜像的拉取缓存,在这种模式下,所有镜像请求都通过本地镜像仓库,如果本地镜像仓库有对应镜像,则使用本地镜像仓库的镜像;如果本地镜像仓库没有对应镜像,则会从公共镜像仓库拖取对应镜像,并保存在本地镜像仓库。但是,基于本地镜像仓库的方案,在部署和运维本地镜像仓库上会消耗大量计算资源和人力资源,且并不能完全解决容器应用快速启动的问题,另一方面,节点与本地镜像仓库的网络失联,会导致镜像的拉取任务被强制暂停,直至网络恢复。
55.基于上述相关技术存在的问题,本技术实施例提供一种镜像缓存方法,可基于图1所示的应用环境实施,请参见图1,该应用环境中包括电子设备101和通过网络与电子设备101连接的终端设备102。其中,终端设备102可用于向电子设备101发送镜像的缓存请求,该缓存请求中包括镜像的缓存任务的任务配置信息,电子设备101在接收到缓存请求的情况下,对任务配置信息的格式进行校验,在校验通过的情况下,根据该任务配置信息生成对应的镜像缓存任务,并将镜像缓存任务添加至镜像缓存任务队列,在需要执行镜像缓存任务时,电子设备101从镜像缓存任务队列中获取镜像缓存任务,并根据该镜像缓存任务的任务配置信息生成镜像的部署编排,以指示后续需要使用该镜像的目标节点从对应镜像仓库拉取该镜像并进行缓存。电子设备101在确定目标节点成功拉取该镜像后,可在镜像缓存任务队列中将该镜像的镜像缓存任务的状态更新为成功,即完成该镜像缓存任务。
56.示例性的,电子设备101可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(content delivery network,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端设备102可以是智能手机、电脑、个人数字助理、以及自助终端,等等。
57.示例性的,图1所示的电子设备101中还部署或运行有容器编排平台,电子设备101所执行的方法步骤具体还可由该容器编排平台完成。请参见图2,图2为本技术实施例提供的一种容器编排平台的框图,如图2所示,该容器编排平台包括交互器和控制器,其中,交互器包括解析模块和镜像仓库交互模块,解析模块用于对外部发送的缓存请求进行校验和解析,在校验和解析完成后,将对应的镜像缓存任务交由控制器;镜像仓库交互模块用于与镜像仓库交互,具体可用于获取镜像列表、获取指定镜像的描述信息。控制器包括镜像管理模块和任务管理模块,镜像管理模块用于监测镜像缓存任务队列中是否存在待执行的镜像缓存任务,若存在则根据该镜像缓存任务的任务配置信息生成对应的部署编排,比如该部署编码可以是任务配置信息中的对应节点拉取对应镜像仓库的对应镜像,在确定镜像拉取成功的情况下,返回镜像缓存任务的执行结果;任务管理模块,用于维护镜像缓存任务队列,
对任务进行分类,比如对删除镜像和缓存镜像进行区分,对镜像缓存任务的状态和执行结果进行更新记录,以及执行任务重试机制。基于该容器编排平台,能够在使用镜像前完成对镜像的拉取缓存,从而节省了在使用时才对镜像进行拉取所带来耗时,进而能够满足镜像运行对高速实时的要求。基于图1所示的应用环境和图2所示的容器编排平台,以下结合其他附图对本技术实施例提供的镜像缓存方法进行详细阐述。
58.请参见图3,图3为本技术实施例提供的一种镜像缓存方法的流程示意图,该方法应用于容器编排平台,如图3所示,包括步骤301-303:
59.301:获取镜像缓存任务,镜像缓存任务包括待缓存镜像的任务配置信息,任务配置信息包括用于缓存待缓存镜像的目标节点。
60.本技术具体实施例中,镜像缓存任务通常存在于镜像缓存任务队列中,容器编排平台可实时或定时监测镜像缓存任务队列,当镜像缓存任务队列中存在镜像缓存任务时,则提取该镜像缓存任务进行执行。其中,镜像缓存任务包括待缓存镜像的任务配置信息,任务配置信息包括用于缓存待缓存镜像的目标节点、该待缓存镜像的相关信息和镜像仓库的相关信息,示例性的,如图4所示,待缓存镜像的相关信息可以包括待缓存镜像的名称、拉取策略等,镜像仓库的相关信息可包括镜像仓库的地址、账号等,目标节点可以是服务器,用节点名称或ip(internet protocol,网际互连协议)地址标识。
61.其中,待缓存镜像的拉取策略可以是ifnotpresent或always,ifnotpresent表示当待缓存镜像不存在于目标节点(宿主机)上,才拉取待缓存镜像,always表示每次都拉取待缓存镜像。
62.302:根据任务配置信息生成待缓存镜像的部署编排,其中,部署编排用于指示目标节点从镜像仓库拉取缓存镜像以进行缓存。
63.本技术具体实施例中,在获取到镜像缓存任务的任务配置信息后,可根据该任务配置信息中的镜像、镜像仓库、节点等信息生成对应的部署编排。应理解,编排是指根据被部署的对象之间的耦合关系,以及被部署对象环境的依赖,制定部署流程中各个动作的执行顺序,部署过程所需要的依赖文件的存储位置和获取方式,以及如何验证部署成功,部署是指按照编排所指定的内容和流程,在目标机器上执行编排指定环境初始化,存放指定的依赖和文件,运行指定的部署动作,最终按照编排中的规则来确认联署成功。在容器编排工具中,都有一个最基本的部署方式,使一个应用作为容器运行起来,此处由于只涉及到待缓存镜像的拉取缓存,因此,部署编排主要用于指示目标节点从镜像仓库拉取缓存镜像以进行缓存,具体可以是指示目标节点按照拉取策略从镜像仓库拉取缓存镜像,比如,指定目标节点从哪个镜像仓库拉取哪个镜像,使容器运行只是简单的打印,并无实质性操作。
64.303:在目标节点成功拉取待缓存镜像的情况下,将镜像缓存任务的状态更新为成功。
65.本技术具体实施例中,容器编排平台在确定目标节点成功拉取待缓存镜像的情况下,比如接收到目标节点返回的拉取成功的提示信息或缓存成功的提示信息,可在镜像缓存任务队列中将镜像缓存任务的状态更新为成功。
66.示例性的,在目标节点未成功拉取待缓存镜像的情况下,容器编排平台可将镜像缓存任务的状态更新为失败。具体而言,当目标节点未成功拉取待缓存镜像,容器编排平台将重新执行获取镜像缓存任务及根据任务配置信息生成待缓存镜像的部署编排的操作,比
如:从镜像缓存任务队列中重新获取该镜像缓存任务的任务配置信息,并根据该任务配置信息生成待缓存镜像的部署编排,即再次指示目标节点从镜像仓库拉取缓存镜像以进行缓存,同时将镜像缓存任务的未拉取成功次数增加一次。若镜像缓存任务的未拉取成功的次数未达到预设次数,则继续执行获取镜像缓存任务及根据任务配置信息生成待缓存镜像的部署编排的操作,直至镜像缓存任务的未拉取成功的次数达到预设次数(比如:3次),在镜像缓存任务的未拉取成功的次数达到预设次数的情况下,结束镜像缓存任务,并将镜像缓存任务的状态更新为失败,即不再执行该镜像缓存任务。应理解,镜像缓存任务执行失败的原因可以是镜像仓库不可用,等等。
67.示例性的,在获取镜像缓存任务之前,该方法还包括:
68.接收待缓存镜像的缓存请求,根据缓存请求生成镜像缓存任务,并将镜像缓存任务添加至镜像缓存任务队列;
69.和/或,
70.响应于定时任务的触发,根据定时任务生成镜像缓存任务,并将镜像缓存任务添加至镜像缓存任务队列。
71.本技术具体实施例中,镜像缓存任务可以是基于外部请求生成的,也可以是基本本地定时任务被触发所生成的。
72.示例性的,缓存请求包括镜像缓存任务的第一任务清单,根据缓存请求生成镜像缓存任务,包括:
73.对第一任务清单进行校验;
74.在第一任务清单校验通过的情况下,对第一任务清单进行解析,得到任务配置信息;
75.根据任务配置信息生成镜像缓存任务。
76.具体的,第一任务清单包括待缓存镜像的任务配置信息,容器编排平台需要对任务配置信息的格式进行校验,若校验成功则获取该任务配置信息,并生成镜像缓存任务,若校验失败则处理下一个任务清单。
77.示例性的,响应于定时任务的触发,根据定时任务生成镜像缓存任务,包括:
78.响应于定时任务的触发,获取待缓存镜像的列表信息和目标节点的列表信息;
79.将待缓存镜像的列表信息和目标节点的列表信息整合为第二任务清单;
80.对第二任务清单进行解析,得到任务配置信息;
81.根据任务配置信息生成镜像缓存任务。
82.具体的,定时任务是指定时执行镜像拉取缓存的任务,当定时任务被触发,容器编排平台会获取到待缓存镜像的列表信息和目标节点的列表信息,其中,待缓存镜像的列表信息可以包括待缓存镜像的名称、拉取策略、镜像仓库地址等,目标节点的列表信息可以包括目标节点的名称、ip地址等。容器编排平台将待缓存镜像的列表信息和目标节点的列表信息整合为一个任务清单,即第二任务清单,并对第二任务清单中指定的任务配置信息的格式进行校验,若校验成功则解析该第二任务清单,得到如图4所示的任务配置信息,并生成镜像缓存任务。
83.可以看出,通过获取镜像缓存任务,镜像缓存任务包括待缓存镜像的任务配置信息,任务配置信息包括用于缓存待缓存镜像的目标节点;根据任务配置信息生成待缓存镜
像的部署编排,其中,部署编排用于指示目标节点从镜像仓库拉取缓存镜像以进行缓存;在目标节点成功拉取待缓存镜像的情况下,将镜像缓存任务的状态更新为成功。这样基于镜像缓存任务生成待缓存镜像的部署编排,然后由目标节点拉取待缓存镜像进行缓存,能够实现在使用待缓存镜像前完成对待缓存镜像的拉取缓存,从而节省了在使用时才对待缓存镜像进行拉取所带来耗时,进而能够满足镜像运行对高速实时的要求。另外,由于不用消耗大量计算资源和人力资源去部署和运维本地镜像仓库,本技术实施例相对弱化了对本地镜像仓库和网络的依赖。
84.请参见图5,图5本技术实施例提供的另一种镜像缓存方法的流程示意图,如图5所示,包括步骤501-507:
85.501:判断是否存在镜像缓存任务且该镜像缓存任务的未拉取成功的次数是否小于预设次数;
86.若是则执行步骤502,若否则执行步骤507;
87.502:获取镜像缓存任务;
88.其中,镜像缓存任务包括待缓存镜像的任务配置信息,任务配置信息包括用于缓存待缓存镜像的目标节点;
89.503:根据任务配置信息生成待缓存镜像的部署编排;
90.其中,部署编排用于指示目标节点从镜像仓库拉取缓存镜像以进行缓存;
91.504:判断待缓存镜像是否拉取成功;
92.若是则执行步骤505,若否则执行步骤506;
93.505:将镜像缓存任务的状态更新为成功;
94.506:重新执行获取镜像缓存任务及根据任务配置信息生成待缓存镜像的部署编排的操作,并将镜像缓存任务的未拉取成功次数增加一次;
95.507:结束镜像缓存任务,并将镜像缓存任务的状态更新为失败。
96.其中,步骤501-507的具体实施方式在图3、图4所示的实施例中已有相关说明,且能达到相同或相似的有益效果,为避免重复,此处不再赘述。
97.可以看出,本技术实施例通过获取镜像缓存任务,镜像缓存任务包括待缓存镜像的任务配置信息,任务配置信息包括用于缓存待缓存镜像的目标节点;根据任务配置信息生成待缓存镜像的部署编排,其中,部署编排用于指示目标节点从镜像仓库拉取缓存镜像以进行缓存;在目标节点成功拉取待缓存镜像的情况下,将镜像缓存任务的状态更新为成功。这样基于镜像缓存任务生成待缓存镜像的部署编排,然后由目标节点拉取待缓存镜像进行缓存,能够实现在使用待缓存镜像前完成对待缓存镜像的拉取缓存,从而节省了在使用时才对待缓存镜像进行拉取所带来耗时,进而能够满足镜像运行对高速实时的要求。
98.基于上述镜像缓存方法实施例的描述,请参见图6,图6为本技术实施例提供的一种镜像缓存装置的结构示意图,如图6所示,该装置包括获取单元601和处理单元602;其中,
99.获取单元601,用于获取镜像缓存任务,镜像缓存任务包括待缓存镜像的任务配置信息,任务配置信息包括用于缓存待缓存镜像的目标节点;
100.处理单元602,用于根据任务配置信息生成待缓存镜像的部署编排,其中,部署编排用于指示目标节点从镜像仓库拉取缓存镜像以进行缓存;
101.处理单元602,还用于在目标节点成功拉取待缓存镜像的情况下,将镜像缓存任务
的状态更新为成功。
102.可以看出,在图6所示的镜像缓存装置中,通过获取镜像缓存任务,镜像缓存任务包括待缓存镜像的任务配置信息,任务配置信息包括用于缓存待缓存镜像的目标节点;根据任务配置信息生成待缓存镜像的部署编排,其中,部署编排用于指示目标节点从镜像仓库拉取缓存镜像以进行缓存;在目标节点成功拉取待缓存镜像的情况下,将镜像缓存任务的状态更新为成功。这样基于镜像缓存任务生成待缓存镜像的部署编排,然后由目标节点拉取待缓存镜像进行缓存,能够实现在使用待缓存镜像前完成对待缓存镜像的拉取缓存,从而节省了在使用时才对待缓存镜像进行拉取所带来耗时,进而能够满足镜像运行对高速实时的要求。
103.在一种可能的实施方式中,处理单元602还用于:
104.在目标节点未成功拉取待缓存镜像的情况下,将镜像缓存任务的状态更新为失败。
105.在一种可能的实施方式中,在目标节点未成功拉取待缓存镜像的情况下,将镜像缓存任务的状态更新为失败方面,处理单元602具体用于:
106.在目标节点未成功拉取待缓存镜像的情况下,重新执行获取镜像缓存任务及根据任务配置信息生成待缓存镜像的部署编排的操作;
107.若检测到目标节点拉取待缓存镜像未成功,则将镜像缓存任务的未拉取成功次数增加一次;
108.若镜像缓存任务的未拉取成功的次数未达到预设次数,则继续执行获取镜像缓存任务及根据任务配置信息生成待缓存镜像的部署编排的操作,直至镜像缓存任务的未拉取成功的次数达到预设次数;
109.在镜像缓存任务的未拉取成功的次数达到预设次数的情况下,结束镜像缓存任务,并将镜像缓存任务的状态更新为失败。
110.在一种可能的实施方式中,处理单元602还用于:
111.接收待缓存镜像的缓存请求,根据缓存请求生成镜像缓存任务,并将镜像缓存任务添加至镜像缓存任务队列;
112.和/或,
113.响应于定时任务的触发,根据定时任务生成镜像缓存任务,并将镜像缓存任务添加至镜像缓存任务队列。
114.在一种可能的实施方式中,缓存请求包括镜像缓存任务的第一任务清单在根据缓存请求生成镜像缓存任务方面,处理单元602具体用于:
115.对第一任务清单进行校验;
116.在第一任务清单校验通过的情况下,对第一任务清单进行解析,得到任务配置信息;
117.根据任务配置信息生成镜像缓存任务。
118.在一种可能的实施方式中,在响应于定时任务的触发,根据定时任务生成镜像缓存任务方面,处理单元602具体用于:
119.响应于定时任务的触发,获取待缓存镜像的列表信息和目标节点的列表信息;
120.将待缓存镜像的列表信息和目标节点的列表信息整合为第二任务清单;
121.对第二任务清单进行解析,得到任务配置信息;
122.根据任务配置信息生成镜像缓存任务。
123.在一种可能的实施方式中,任务配置信息还包括待缓存镜像的拉取策略,部署编排具体用于指示目标节点按照拉取策略从镜像仓库拉取缓存镜像以进行缓存。
124.根据本技术的一个实施例,图6所示的镜像缓存装置的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本技术的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本技术的其它实施例中,镜像缓存装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
125.根据本技术的另一个实施例,可以通过在包括中央处理单元(cpu)、随机存取存储介质(ram)、只读存储介质(rom)等处理元件和存储元件的例如计算机的通用计算设备上运行能够执行如图3或图5中所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图6中所示的镜像缓存装置设备,以及来实现本技术实施例的镜像缓存方法。所述计算机程序可以记载于例如计算机可读记录介质上,并通过计算机可读记录介质装载于上述计算设备中,并在其中运行。
126.基于上述方法实施例和装置实施例的描述,本技术实施例还提供一种电子设备。请参见图7,该电子设备至少包括处理器701、输入设备702、输出设备703以及存储器704。其中,电子设备内的处理器701、输入设备702、输出设备703以及存储器704可通过总线或其他方式连接。
127.存储器704可以存储在电子设备的存储器中,所述存储器704用于存储计算机程序,所述计算机程序包括程序指令,所述处理器701用于执行所述存储器704存储的程序指令。处理器701(或称cpu(central processing unit,中央处理器))是电子设备的计算核心以及控制核心,其适于实现一条或多条指令,具体适于加载并执行一条或多条指令从而实现相应方法流程或相应功能。
128.在一个实施例中,本技术实施例提供的电子设备的处理器701可以用于进行一系列镜像缓存处理:
129.获取镜像缓存任务,镜像缓存任务包括待缓存镜像的任务配置信息,任务配置信息包括用于缓存待缓存镜像的目标节点;
130.根据任务配置信息生成待缓存镜像的部署编排,其中,部署编排用于指示目标节点从镜像仓库拉取缓存镜像以进行缓存;
131.在目标节点成功拉取待缓存镜像的情况下,将镜像缓存任务的状态更新为成功。
132.可以看出,在图7所示的电子设备中,通过获取镜像缓存任务,镜像缓存任务包括待缓存镜像的任务配置信息,任务配置信息包括用于缓存待缓存镜像的目标节点;根据任务配置信息生成待缓存镜像的部署编排,其中,部署编排用于指示目标节点从镜像仓库拉取缓存镜像以进行缓存;在目标节点成功拉取待缓存镜像的情况下,将镜像缓存任务的状态更新为成功。这样基于镜像缓存任务生成待缓存镜像的部署编排,然后由目标节点拉取待缓存镜像进行缓存,能够实现在使用待缓存镜像前完成对待缓存镜像的拉取缓存,从而
节省了在使用时才对待缓存镜像进行拉取所带来耗时,进而能够满足镜像运行对高速实时的要求。
133.再一个实施例中,处理器701还用于执行:
134.在目标节点未成功拉取待缓存镜像的情况下,将镜像缓存任务的状态更新为失败。
135.再一个实施例中,处理器701执行在目标节点未成功拉取待缓存镜像的情况下,将镜像缓存任务的状态更新为失败,包括:
136.在目标节点未成功拉取待缓存镜像的情况下,重新执行获取镜像缓存任务及根据任务配置信息生成待缓存镜像的部署编排的操作;
137.若检测到目标节点拉取待缓存镜像未成功,则将镜像缓存任务的未拉取成功次数增加一次;
138.若镜像缓存任务的未拉取成功的次数未达到预设次数,则继续执行获取镜像缓存任务及根据任务配置信息生成待缓存镜像的部署编排的操作,直至镜像缓存任务的未拉取成功的次数达到预设次数;
139.在镜像缓存任务的未拉取成功的次数达到预设次数的情况下,结束镜像缓存任务,并将镜像缓存任务的状态更新为失败。
140.再一个实施例中,在获取镜像缓存任务之前,处理器701还用于执行:
141.接收待缓存镜像的缓存请求,根据缓存请求生成镜像缓存任务,并将镜像缓存任务添加至镜像缓存任务队列;
142.和/或,
143.响应于定时任务的触发,根据定时任务生成镜像缓存任务,并将镜像缓存任务添加至镜像缓存任务队列。
144.再一个实施例中,缓存请求包括镜像缓存任务的第一任务清单,处理器701执行根据缓存请求生成镜像缓存任务,包括:
145.对第一任务清单进行校验;
146.在第一任务清单校验通过的情况下,对第一任务清单进行解析,得到任务配置信息;
147.根据任务配置信息生成镜像缓存任务。
148.再一个实施例中,处理器701执行响应于定时任务的触发,根据定时任务生成镜像缓存任务,包括:
149.响应于定时任务的触发,获取待缓存镜像的列表信息和目标节点的列表信息;
150.将待缓存镜像的列表信息和目标节点的列表信息整合为第二任务清单;
151.对第二任务清单进行解析,得到任务配置信息;
152.根据任务配置信息生成镜像缓存任务。
153.再一个实施例中,任务配置信息还包括待缓存镜像的拉取策略,部署编排具体用于指示目标节点按照拉取策略从镜像仓库拉取缓存镜像以进行缓存。
154.示例性的,电子设备包括但不仅限于处理器701、输入设备702、输出设备703以及存储器704。还可以包括内存、电源、应用客户端模块等。输入设备702可以是键盘、触摸屏、射频接收器等,输出设备703可以是扬声器、显示器、射频发送器等。本领域技术人员可以理
解,所述示意图仅仅是电子设备的示例,并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件。
155.需要说明的是,由于电子设备的处理器701执行计算机程序时实现上述的镜像缓存方法中的步骤,因此上述镜像缓存方法的实施例均适用于该电子设备,且均能达到相同或相似的有益效果。
156.本技术实施例还提供了一种计算机存储介质(memory),所述计算机存储介质是电子设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机存储介质既可以包括终端中的内置存储介质,当然也可以包括终端所支持的扩展存储介质。计算机存储介质提供存储空间,该存储空间存储了终端的操作系统。并且,在该存储空间中还存放了适于被处理器701加载并执行的一条或多条的指令,这些指令可以是一个或一个以上的计算机程序(包括程序代码)。需要说明的是,此处的计算机存储介质可以是高速ram存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器;可选的,还可以是至少一个位于远离前述处理器701的计算机存储介质。在一个实施例中,可由处理器701加载并执行计算机存储介质中存放的一条或多条指令,以实现上述有关镜像缓存方法的相应步骤。
157.示例性的,计算机存储介质的计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。
158.需要说明的是,由于计算机存储介质的计算机程序被处理器执行时实现上述的镜像缓存方法中的步骤,因此上述镜像缓存方法的所有实施例均适用于该计算机存储介质,且均能达到相同或相似的有益效果。
159.以上对本技术实施例进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的一般技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1