【技术实现步骤摘要】
Docker镜像的下载方法及节点、Docker镜像的预热方法及节点
本申请涉及Docker镜像
,特别涉及一种Docker镜像的下载方法及相关节点,以及,Docker镜像的预热方法及相关节点,以及,一种P2P分发系统。
技术介绍
Docker,是一个开源的应用容器引擎,让应用开发者可以打包应用以及依赖包到一个可移植的容器中,然后将该可移植的容器发布到任何机器上,即发布应用。同时,Docker还可以实现虚拟化,容器完全使用沙箱机制,相互隔离。而Docker镜像,可以由多个只读的、镜像层的层文件构成统一视角,每一个镜像层都包含若干文件和元信息数据。在现有技术中,在使用Docker发布应用时,各个待发布的机器(例如需要部署应用的主机),需要从保存Docker镜像的Docker仓库下载Docker镜像,而对于远距离的跨区域、跨国际等Docker镜像下载场景或者大规模镜像分发来说,Docker镜像的下载效率较为低下。
技术实现思路
但是专利技术人在研究过程中发现,现有技术中Docker镜像的下载效率较为低下的原因之一在于,从Docker仓库导出Docker镜像、层文件的抽 ...
【技术保护点】
1.一种Docker镜像的下载方法,其特征在于,所述下载方法应用于端到端P2P分发系统中的P2P客户端,所述P2P分发系统包括:管控节点、超级节点和P2P客户端;所述方法包括:第一P2P客户端向所述管控节点发送Docker镜像的层文件的下载请求,以便所述管控节点依据所述第一P2P客户端的位置和各超级节点的负载,确定可用的、超级节点列表;所述第一P2P客户端向所述超级节点列表中的最优超级节点请求下载所述层文件,以便所述最优超级节点生成所述层文件的各分片的分片信息,所述分片信息包括:分片标识和对应的分片校验码;所述第一P2P客户端依据所述分片信息,从所述最优超级节点和/或所述其 ...
【技术特征摘要】
1.一种Docker镜像的下载方法,其特征在于,所述下载方法应用于端到端P2P分发系统中的P2P客户端,所述P2P分发系统包括:管控节点、超级节点和P2P客户端;所述方法包括:第一P2P客户端向所述管控节点发送Docker镜像的层文件的下载请求,以便所述管控节点依据所述第一P2P客户端的位置和各超级节点的负载,确定可用的、超级节点列表;所述第一P2P客户端向所述超级节点列表中的最优超级节点请求下载所述层文件,以便所述最优超级节点生成所述层文件的各分片的分片信息,所述分片信息包括:分片标识和对应的分片校验码;所述第一P2P客户端依据所述分片信息,从所述最优超级节点和/或所述其他P2P客户端,下载所述层文件的各分片至本地。2.根据权利要求1所述的方法,其特征在于,还包括:所述第一P2P客户端判断从所述最优超级节点下载分片是否成功,如果否,则按照超级节点列表中各超级节点的优先级,向下一个超级节点进行注册,直至重新注册成功为止;所述第一P2P客户端以断点续传的方式从重新注册的超级节点下载所述分片。3.根据权利要求1所述的方法,其特征在于,还包括:所述第一P2P客户端判断从第二P2P客户端下载分片是否成功,如果否,则将下载失败的分片信息和对应的第二P2P客户端发送至所述最优超级节点,以便所述最优超级节点为所述第一P2P客户端分配第三P2P客户端;所述第一P2P客户端从所述第三P2P客户端下载所述分片。4.一种Docker镜像的下载方法,其特征在于,所述下载方法应用于端到端P2P分发系统中的超级节点上,所述P2P分发系统包括:管控节点、超级节点和P2P客户端;所述方法包括:所述超级节点接收第一P2P客户端的下载请求,所述下载请求包括Docker镜像的层文件的源站地址;依据所述源站地址判断所述层文件是否存在,如果存在,则生成所述层文件的分片信息,所述分片信息包括:分片标识和对应的分片校验码;以便所述第一P2P客户端依据所述分片信息从所述超级节点服务器和/或其他P2P客户端下载所述层文件的各分片;如果不存在,则依据所述源站地址将所述层文件的各分片从源站下载至本地,并生成已下载的各分片的分片信息,以便所述第一P2P客户端依据所述分片信息从所述超级节点和/或其他P2P客户端下载所述层文件的各分片。5.根据权利要求4所述的方法,其特征在于,如果层文件存在,还包括:所述超级节点向源站发送所述层文件的最新修改时间;依据源站返回的响应码判断所述层文件在源站中是否被修改过,如果修改过,则依据所述源站地址将所述层文件的各分片从源站下载至本地;如果未被修改过,则判断本地存在的层文件是否缺失,如果缺失,则将所述层文件中缺失的分片通过断点续传的方式从源站下载至本地。6.一种Docker镜像的下载方法,其特征在于,所述下载方法应用于端到端P2P分发系统中,所述P2P分发系统包括:管控节点、超级节点和P2P客户端;所述方法包括:第一P2P客户端向所述管控节点发送Docker镜像的层文件的下载请求;所述管控节点依据所述第一P2P客户端的位置和各超级节点的负载,确定可用的、超级节点列表,并将所述超级节点列表发送至所述第一P2P客户端;所述第一P2P客户端向所述超级节点列表中的最优超级节点请求下载所述层文件;所述超级节点依据所述第一P2P客户端的下载请求中的源站地址,判断所述层文件是否存在,如果存在,则生成所述层文件的分片信息,以便所述第一P2P客户端依据所述分片信息从所述超级节点服务器和/或其他P2P客户端下载所述层文件的各分片;如果不存在,则依据所述源站地址将所述层文件的各分片从源站下载至本地,并生成已下载的各分片的分片信息,以便所述第一P2P客户端依据所述分片信息从所述超级节点服务器和/或其他P2P客户端下载所述层文件的各分片。7.一种Docker镜像的预热方法,其特征在于,该预热方法应用于端到端P2P分发系统中的管控节点上,所述P2P分发系统包括:管控节点、超级节点和P2P客户端;所述方法包括:在接收到Docker客户端发送的、Docker镜像的层文件的触发预热请求后,所述管控节点向Docker镜像管理服务节点发送所述层文件的下载请求;所述管控节点接收所述Docker镜像管理服务节点发送的、所述层文件的下载地址;所述管控节点将所述层文件的下载地址发送至待预热的超级节点,以便所述待预热的超级节点依据所述层文件的下载地址将所述层文件预热至本地。8.一种Docker镜像的预热方法,其特征在于,该预热方法应用于端到端P2P分发系统中的超级节点上,所述P2P分发系统包括:管控节点、超级节点和P2P客户端;所述方法包括:所述超级节点接收所述管控节点发送的、Docker镜像的层文件的下载地址;所述超级节点依据所述层文件的下载地址判断本地是否缓存有所述层文件,如果否,则依据所述层文件的下载地址将所述层文件预热至本地,并生成所述层文件的层信息,所述层信息包括:已下载的层文件的标识和校验码。9.根据权利要求8所述的方法,其特征在于,还包括:在接收到所述P2P客户端发送的、层文件的下载请求后,所述下载请求包括所述层文件的源站地址,所述超级节点判断是否缓存有所述待下载的层文件,如果有,则生成各分片的分片信息,所述分片信息包括:分片标识和对应的分片校验码;以及,将已生成分片信息的各分片分别发送至所述客户端;如果没有,则依据所述源站地址将所述层文件的各分片从源站下载至本地,并分别生成已下载各分片的分片信息,所述分片信息包括:分片标识和对应的分片校验码;以及,将已生成分片信息的各分片分别发送至所述P2P客户端。10.一种端到端P2P客户端,其特征在于,所述P2P客户端位于P2P分发系统中,所述P2P分发系统包括:管控节点、超级节点和P2P客户端;所述P2P客户端包括:第一发送单元,用于向所述管控节点发送Docker镜像的层文件的下载请求,以便所述管控节点依据所述第一P2P客户端的位置和各超级节点的负载,确定可用的、超级节点列表;请求单元,用于向所述超级节点列表中的最优超级节点请求下载所述层文件,以便所述最优超级节点生成所述层文件的各分片的分片信息,所述分片信息包括:分片标识和对应的分片校验码;第一下载单元,用于依据所述分片信息,从所述最优超级节点和/或所述其他P2P客户端,下载所述层文件的各分片至本地。11.根据权利要求10所述的客户端,其特征在于,还包括:第一判断单元,用于判断从所述最优超级节点下载分片是否成功;注册单元,用于在所述第一判断单元的结果为否的...
【专利技术属性】
技术研发人员:胡作政,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛,KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。