一种镜像拉取方法、装置、设备及存储介质与流程

文档序号:37437822发布日期:2024-03-25 19:37阅读:13来源:国知局
一种镜像拉取方法、装置、设备及存储介质与流程

本发明涉及边缘计算,尤其是涉及一种镜像拉取方法、装置、设备及存储介质。


背景技术:

1、目前边缘计算等服务中,会将软件包或软件所需运行环境打包成docker镜像后,托管在第三方云平台。在部署时,云端下发docker服务的镜像地址,边缘端设备直接根据该镜像地址拉取docker镜像,并启动服务。

2、但是由于各个边缘设备或边缘节点部署现场网络的差异,比如一些地区网络的原因,施工现场在部署边缘计算服务时,时常会出现拉取镜像失败的现象,比如访问第三方云平台镜像仓库超时,或者客户端与云平台断开连接,导致无法获取镜像文件。


技术实现思路

1、有鉴于此,本发明提供了一种镜像拉取方法、装置、设备及存储介质,以解决边缘设备拉取镜像超时导致无法获取镜像文件的问题。

2、第一方面,本发明提供了一种镜像拉取方法,该方法应用于边缘设备,边缘设备包括守护进程模块和边缘代理模块,方法包括:

3、边缘代理模块接收来自守护进程模块的镜像拉取请求;

4、边缘代理模块根据镜像拉取请求,探测边缘设备与云端拉取镜像的目标镜像仓库之间网络是否连接正常;

5、如果连接不正常,则将镜像拉取请求发送给云代理模块,镜像拉取请求用于指示云代理模块获取镜像文件的下载地址;

6、边缘代理模块接收从云代理模块获取的镜像文件的下载地址,并修改下载地址的头部信息;边缘代理模块将修改后的下载地址发送至守护进程模块,以使边缘设备根据修改后的下载地址下载并获得镜像文件。

7、结合第一方面,在一种可选的实施方式中,边缘代理模块接收从云代理模块发送的镜像文件的下载地址,包括:边缘代理模块接收云代理模块从对象存储中存储的镜像文件的下载地址,其中对象存储中预先存储镜像文件的下载地址。

8、结合第一方面,在另一种可选的实施方式中,边缘代理模块接收从云代理模块发送的镜像文件的下载地址,包括:边缘代理模块接收云代理模块从设备缓存中存储的镜像文件的下载地址,其中设备缓存中预先存储镜像文件的下载地址。

9、结合第一方面,在又一种可选的实施方式中,边缘代理模块将修改后的下载地址发送至守护进程模块,包括:边缘代理模块将修改后的下载地址通过超文本传输协议http请求同步返回至守护进程模块。

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、本实施例提供的镜像拉取方法、装置和设备,在边缘设备端设置边缘代理模块,在云端设置云代理模块,该云代理模块与云端的设备存储和对象存储连接,由于设备存储和对象存储中预先存储有镜像文件的下载地址,因此当边缘设备与目标镜像仓库之间网络是否连接异常时,通过边缘代理模块将镜像拉取请求发送至云代理模块,云代理模块根据该镜像拉取请求从设备存储或对象存储中获取镜像文件的下载地址,最后将该镜像文件的下载地址发送给边缘代理模块,以使所述边缘设备根据所述修改后的下载地址下载并获得镜像文件,本方法实现了在网络连接异常时,从云端获取镜像文件的下载地址,最终边缘设备获取目标镜像仓库的镜像文件。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1