CN110287004A - 基于docker容器技术的基础环境镜像预热方法及装置 - Google Patents

基于docker容器技术的基础环境镜像预热方法及装置 Download PDF

Info

Publication number
CN110287004A
CN110287004A CN201910602356.5A CN201910602356A CN110287004A CN 110287004 A CN110287004 A CN 110287004A CN 201910602356 A CN201910602356 A CN 201910602356A CN 110287004 A CN110287004 A CN 110287004A
Authority
CN
China
Prior art keywords
inventory
mirror image
preheating
mirror
host
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910602356.5A
Other languages
English (en)
Other versions
CN110287004B (zh
Inventor
沈一帆
白佳乐
蔡中原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN201910602356.5A priority Critical patent/CN110287004B/zh
Publication of CN110287004A publication Critical patent/CN110287004A/zh
Application granted granted Critical
Publication of CN110287004B publication Critical patent/CN110287004B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45575Starting, stopping, suspending or resuming virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Facsimiles In General (AREA)

Abstract

本发明公开了一种基于docker容器技术的基础环境镜像预热方法及装置,该方法包括:根据待投产的汇总应用基础环境镜像清单确定对应的宿主机标签清单以及各宿主机标签对应的待投产基础环境镜像清单;确定所述各宿主机标签对应本地基础环境镜像清单;根据所述本地基础环境镜像清单以及所述待投产基础环境镜像清单确定所述各宿主机标签对应的增量基础环境镜像清单;根据所述增量基础环境镜像清单以及用户设置的预热配置参数拉取所述增量基础环境镜像清单中的增量基础环境镜像到对应的宿主机本地。本发明解决了现有技术在版本更迭过程中,并发拉取镜像时间过长导致容器启动缓慢的技术问题。

Description

基于docker容器技术的基础环境镜像预热方法及装置
技术领域
本发明涉及云计算docker镜像领域,具体而言,涉及一种基于docker容器技术的基础环境镜像预热方法及装置。
背景技术
开源容器引擎docker使得开发者可以在单台主机中运行多个容器(container),每一个容器单独提供一个独立的应用运行环境。而容器的发布依赖于打包好的镜像(image),镜像往往以分层存储的方式保存在文件***中以方便共用一些镜像层来达到节约存储的目的,开发者可以将镜像推送至镜像仓库(registry)进行镜像的存储,再通过从镜像仓库拉取镜像到本地宿主机运行容器。
在大型数据中心的容器云集群中,成千上万的容器节点部署在大型的宿主机资源池中,特别是跨数据中心部署的容器云中,容器节点更是成倍的增加。同时在云化时代,大量应用会不断产生迭代版本的镜像,这使得应用在版本更迭时,有大量的容器节点并发连接到镜像仓库进行新版本的镜像拉取,这个时候镜像仓库在并发连接数、磁盘I/O、网络带宽等性能方面都面临着极大的挑战,容易出现镜像拉取速度过慢,甚至导致应用容器无法按时启动的问题。
当前主流的镜像仓库开源解决方案有Docker hub及Harbor等,但这些解决方案仅仅提供了基础的镜像存储、分发和基本的管理功能,无法解决大型跨数据中心的容器集群对镜像仓库在支持高并发、高网络带宽、高磁盘I/O等方面的要求。现有的性能提升方案往往通过横向扩容镜像仓库节点以镜像仓库集群的方式来提升负载能力,但由于镜像仓库节点需提供高存储容量及高磁盘I/O方面的特性,无法通过云容器伸缩的方式进行横向扩容,扩容方案往往是同时在虚拟机或物理机上部署多副本的镜像仓库,该方法往往会造成较大的资源浪费和维护成本。
为了解决上述技术问题中的至少一个,本发明提出了一种基于docker容器技术的基础环境镜像预热方法及装置。
发明内容
本发明的主要目的在于提供一种基于docker容器技术的基础环境镜像预热方法及装置,以解决现有技术在版本更迭过程中,并发拉取镜像时间过长导致容器启动缓慢的技术问题。
为了实现上述目的,根据本发明的一个方面,提供了一种基于docker容器技术的基础环境镜像预热方法,该方法包括:
根据待投产的汇总应用基础环境镜像清单确定对应的宿主机标签清单以及各宿主机标签对应的待投产基础环境镜像清单,其中,所述汇总应用基础环境镜像清单包括待投产的所有基础环境镜像的信息以及各基础环境镜像对应的宿主机标签;
确定所述各宿主机标签对应本地基础环境镜像清单;
根据所述本地基础环境镜像清单以及所述待投产基础环境镜像清单确定所述各宿主机标签对应的增量基础环境镜像清单;
根据所述增量基础环境镜像清单以及用户设置的预热配置参数拉取所述增量基础环境镜像清单中的增量基础环境镜像到对应的宿主机本地,其中,所述预热配置参数包括:网络带宽、镜像仓库的存储每秒读写次数以及预热时间。
进一步的,该方法还包括:
确定所述各宿主机标签对应的宿主机数量。
进一步的,所述根据所述增量基础环境镜像清单以及用户设置的预热配置参数拉取所述增量基础环境镜像清单中的增量基础环境镜像到对应的宿主机本地,包括:
根据所述增量基础环境镜像清单、所述预热配置参数以及所述宿主机数量生成预热镜像清单;
根据所述预热镜像清单生成预热镜像拉取队列;
根据所述预热镜像拉取队列逐步拉取队列中的基础环境镜像到对应的宿主机本地。
进一步的,所述根据所述增量基础环境镜像清单以及用户设置的预热配置参数拉取所述增量基础环境镜像清单中的增量基础环境镜像到对应的宿主机本地,还包括:
根据所述增量基础环境镜像清单、所述预热配置参数以及所述宿主机数量计算预热线程并发数;
所述根据所述预热镜像拉取队列逐步拉取队列中的基础环境镜像到对应的宿主机本地,具体包括:
根据所述预热镜像拉取队列采用所述预热线程并发数的后台线程逐步拉取队列中的基础环境镜像到对应的宿主机本地。
进一步的,所述根据所述增量基础环境镜像清单、所述预热配置参数以及所述宿主机数量生成预热镜像清单,包括:
确定所述增量基础环境镜像清单中各增量基础环境镜像的大小;
根据所述网络带宽和所述预热时间确定第一迭代数据总量,根据所述镜像仓库的存储每秒读写次数和所述预热时间确定第二迭代数据总量;
根据所述各增量基础环境镜像的大小、所述第一迭代数据总量、所述第二迭代数据总量以及所述宿主机数量确定所述预热镜像清单。
进一步的,所述根据所述增量基础环境镜像清单、所述预热配置参数以及所述宿主机数量计算预热线程并发数,包括:
确定所述增量基础环境镜像清单中各增量基础环境镜像的大小;
根据所述网络带宽和所述预热时间确定第一迭代数据总量,根据所述镜像仓库的存储每秒读写次数和所述预热时间确定第二迭代数据总量;
根据所述各增量基础环境镜像的大小、所述第一迭代数据总量、所述第二迭代数据总量以及所述宿主机数量确定所述预热线程并发数。
为了实现上述目的,根据本发明的另一方面,提供了一种基于docker容器技术的基础环境镜像预热装置,该装置包括:
用户策略配置单元,用于接收用户设置的预热配置参数,其中,所述预热配置参数包括:网络带宽、镜像仓库的存储每秒读写次数以及预热时间;
预热镜像清单加载单元,用于接收待投产的汇总应用基础环境镜像清单,并根据所述汇总应用基础环境镜像清单确定对应的宿主机标签清单以及各宿主机标签对应的待投产基础环境镜像清单,其中,所述汇总应用基础环境镜像清单包括待投产的所有基础环境镜像的信息以及各基础环境镜像对应的宿主机标签;
宿主机镜像信息获取单元,用于确定所述各宿主机标签对应本地基础环境镜像清单;
镜像差异比对单元,用于根据所述本地基础环境镜像清单以及所述待投产基础环境镜像清单确定所述各宿主机标签对应的增量基础环境镜像清单;
镜像分发单元,用于根据所述增量基础环境镜像清单以及所述预热配置参数拉取所述增量基础环境镜像清单中的增量基础环境镜像到对应的宿主机本地。
进一步的,所述宿主机镜像信息获取单元,还用于确定所述各宿主机标签对应的宿主机数量。
进一步的,所述镜像分发单元,包括:
预热镜像清单生成模块,用于根据所述增量基础环境镜像清单、所述预热配置参数以及所述宿主机数量生成预热镜像清单;
预热镜像拉取模块,用于根据所述预热镜像清单生成预热镜像拉取队列,并根据所述预热镜像拉取队列逐步拉取队列中的基础环境镜像到对应的宿主机本地。
进一步的,所述镜像分发单元,还包括:
预热线程并发数确定模块,用于根据所述增量基础环境镜像清单、所述预热配置参数以及所述宿主机数量计算预热线程并发数;
所述预热镜像拉取模块,具体用于:
根据所述预热镜像拉取队列采用所述预热线程并发数的后台线程逐步拉取队列中的基础环境镜像到对应的宿主机本地。
进一步的,所述预热镜像清单生成模块,具体用于:确定所述增量基础环境镜像清单中各增量基础环境镜像的大小;根据所述网络带宽和所述预热时间确定第一迭代数据总量,根据所述镜像仓库的存储每秒读写次数和所述预热时间确定第二迭代数据总量;以及根据所述各增量基础环境镜像的大小、所述第一迭代数据总量、所述第二迭代数据总量以及所述宿主机数量确定所述预热镜像清单。
进一步的,所述预热线程并发数确定模块,具体用于:确定所述增量基础环境镜像清单中各增量基础环境镜像的大小;根据所述网络带宽和所述预热时间确定第一迭代数据总量,根据所述镜像仓库的存储每秒读写次数和所述预热时间确定第二迭代数据总量;以及根据所述各增量基础环境镜像的大小、所述第一迭代数据总量、所述第二迭代数据总量以及所述宿主机数量确定所述预热线程并发数。
为了实现上述目的,根据本发明的另一方面,还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述基于docker容器技术的基础环境镜像预热方法中的步骤。
为了实现上述目的,根据本发明的另一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序在计算机处理器中执行时实现上述基于docker容器技术的基础环境镜像预热方法中的步骤。
本发明的有益效果为:本发明实施例通过将待投产的新版本镜像对应的基础环境镜像提前拉取到宿主机本地,减少了投产时镜像仓库拉取的压力,解决了现有技术在版本更迭过程中,并发拉取镜像时间过长导致容器启动缓慢的技术问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1是本发明实施例基于docker容器技术的基础环境镜像预热方法的流程示意图;
图2是本发明实施例基础环境镜像拉取方法的第一流程示意图;
图3是本发明实施例基础环境镜像拉取方法的第二流程示意图;
图4是本发明实施例确定预热镜像清单的方法流程图;
图5是本发明实施例确定预热线程并发数的方法流程图;
图6是本发明实施例基于docker容器技术的基础环境镜像预热装置的结构框图;
图7是本发明实施例镜像分发单元的组成结构示意图;
图8是本发明实施例用户策略配置单元的组成结构示意图;
图9是本发明实施例预热镜像清单加载单元的组成结构示意图;
图10是本发明实施例宿主机镜像信息获取单元的组成结构示意图;
图11是本发明实施例计算机设备示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
docker容器技术采用将应用程序及其基础环境介质打包成docker镜像的方式来方便版本的发布,而docker镜像的存储方式采用增量的存储方式,应用版本在特定基础环境镜像的基础之上增量更迭版本,往往基础环境镜像包含应用程序运行时的环境,如操作***及JDK(Java Development Kit,Java语言的软件开发工具包),也占到了整个镜像存储的绝大部分,且应用在更迭程序版本之前会优先确定对应的基础环境镜像,因此基础环境镜像清单的获取时间亦先于应用完整镜像的获取时间,故本发明提供一种基于docker容器技术的基础环境镜像预热方法,将包含新版本镜像的对应基础环境镜像提前拉取到宿主机本地,以减少投产时镜像仓库拉取的压力。
图1是本发明实施例基于docker容器技术的基础环境镜像预热方法的流程示意图,如图1所示,本实施例的基于docker容器技术的基础环境镜像预热方法包括步骤S101至步骤S104。
步骤S101,根据待投产的汇总应用基础环境镜像清单确定对应的宿主机标签清单以及各宿主机标签对应的待投产基础环境镜像清单,其中,所述汇总应用基础环境镜像清单包括待投产的所有基础环境镜像的信息以及各基础环境镜像对应的宿主机标签。
在本发明实施例中,本步骤首先接收导入的本次待投产的汇总应用基础环境镜像清单(在本申请中用A来表示)。该汇总应用基础环境镜像清单A可以包含应用名称、投产所需基础环境镜像及其大小、以及其对应宿主机标签。在本发明的可选实施例中,汇总应用基础环境镜像清单A的数据结构可以如下表1:
应用名称1 基础环境镜像1 镜像大小 宿主机标签U
基础环境镜像2 镜像大小 宿主机标签U
基础环境镜像3 镜像大小 宿主机标签V
应用名称2 基础环境镜像3 镜像大小 宿主机标签W
基础环境镜像4 镜像大小 宿主机标签W
应用名称3 基础环境镜像5 镜像大小 宿主机标签U
基础环境镜像6 镜像大小 宿主机标签X
表1
在本发明实施例中,本步骤通过对汇总应用基础环境镜像清单A进行解析,以宿主机标签作为主字段经过查重和聚合并剔除应用信息后生成各宿主机标签的待投产基础镜像清单(在本申请中用B来表示)。在本发明的可选实施例中,待投产基础镜像清单B的json样例可以如下表2所示:
表2
在本发明的可选实施例中,待投产基础镜像清单B的xml样例可以如下所示:
在本发明实施例中,本步骤还通过对汇总应用基础环境镜像清单A进行解析,筛选出汇总应用基础环境镜像清单A对应的所有宿主机标签,生成宿主机标签清单(在本申请中用C来表示)。宿主机标签清单C仅包含本次待投产所有的宿主机标签。
步骤S102,确定所述各宿主机标签对应本地基础环境镜像清单。
在本发明实施例中,本步骤针对宿主机标签清单C中的所有宿主机标签,通过向宿主机标签对应的宿主机上的Docker调用Restful API接口来获取各宿主机标签的本地基础环境镜像清单(在本申请中用D来表示)。在本发明的可选实施例中,本地基础环境镜像清单D与待投产基础镜像清单B的数据结构一致,便于后续进行对比。
在本发明的可选实施例中,本步骤针对宿主机标签清单C中的所有宿主机标签,可通过宿主机集群数据库获取相应标签的宿主机地址,例如调用Kubernetes(Google开源的一种容器编排引擎)集群的Apiserver(Kubernetes中对外提供调用接口的组件)接口可以从数据库etcd中获取相对应的标签下的全量宿主机的地址。将获取的宿主机地址url组装成docker restful api地址,当获取该api后,可以调用该api获取当台宿主机本地的全量镜像列表,并最终将不同标签的宿主机本地镜像列表汇总成与待投产基础镜像清单B格式一致的总的本地基础环境镜像清单。
步骤S103,根据所述本地基础环境镜像清单以及所述待投产基础环境镜像清单确定所述各宿主机标签对应的增量基础环境镜像清单。
在本发明实施例中,本步骤将本地基础环境镜像清单D与待投产基础镜像清单B做差异对比,确定待投产基础镜像清单B中多出的基础环境镜像,并根据多出的基础环境镜像生成增量基础环境镜像清单(在本申请中用F来表示)。在本发明实施例中,增量基础环境镜像清单F的数据结构与本地基础环境镜像清单D和待投产基础镜像清单B一致。
步骤S104,根据所述增量基础环境镜像清单以及用户设置的预热配置参数拉取所述增量基础环境镜像清单中的增量基础环境镜像到对应的宿主机本地,其中,所述预热配置参数包括:网络带宽、镜像仓库的存储每秒读写次数以及预热时间。
在本发明实施例中,本步骤通过解析用户设置的预热配置参数,并对照增量基础环境镜像清单F,通过后台进程根据该增量基础环境镜像清单F调用相应标签宿主机的Docker Restful API(对象接口)以拉取相应的基础环境镜像到宿主机本地。
由以上描述可以看出,本发明实施例通过将待投产的新版本镜像对应的基础环境镜像提前拉取到宿主机本地,减少了投产时镜像仓库拉取的压力,解决了现有技术在版本更迭过程中,并发拉取镜像时间过长导致容器启动缓慢的技术问题。
图2是本发明实施例基础环境镜像拉取方法的第一流程示意图,如图2所示,本发明一实施例的基础环境镜像拉取方法包括步骤S201至步骤S204。
步骤S201,确定所述各宿主机标签对应的宿主机数量。
在本发明实施例中,本步骤针对宿主机标签清单C中的所有宿主机标签,通过宿主机集群数据库获取不同宿主机标签下对应的宿主机数量,并根据各宿主机标签的宿主机数量生成宿主机数量清单(在本申请中用E来表示)。在本发明的可选实施例中,宿主机数量清单E的数据结构可以如下表3所示:
宿主机标签U 对应宿主机数量1
宿主机标签V 对应宿主机数量2
宿主机标签W 对应宿主机数量3
宿主机标签X 对应宿主机数量4
表3
在本发明的可选实施例中,本步骤针对宿主机标签清单C中的所有宿主机标签,可通过宿主机集群数据库获取相应标签的宿主机数量,例如调用Kubernetes(Google开源的一种容器编排引擎)集群的Apiserver(Kubernetes中对外提供调用接口的组件)接口可以从数据库etcd中获取相对应的标签下的宿主机数量。最后汇总成不同标签的宿主机数量清单E,其中E中不同的标签对应于宿主机标签清单C中的各标签信息。
步骤S202,根据所述增量基础环境镜像清单、所述预热配置参数以及所述宿主机数量生成预热镜像清单。
在本发明实施例中,本步骤根据增量基础环境镜像清单F、宿主机数量清单E以及用户设置的预热配置参数(网络带宽、镜像仓库的存储每秒读写次数以及预热时间等)生成相应的预热策略,保证基础环境镜像在预热的过程中、以及直接投产的基础环境镜像在镜像仓库实时投产的过程中相应的性能指标均处于镜像仓库的性能能力范围之内,最终生成本次的预热镜像清单(在本申请中用G来表示)。
在本发明实施例中,预热镜像清单G中的基础环境镜像的数量小于或等于增量基础环境镜像清单F中的数量。预热镜像清单G包括确定出的本次需要预热的基础环境镜像及其对应的宿主机标签。
步骤S203,根据所述预热镜像清单生成预热镜像拉取队列。
步骤S204,根据所述预热镜像拉取队列逐步拉取队列中的基础环境镜像到对应的宿主机本地。
在本发明实施例中,本步骤根据预热镜像清单G产生一个预热镜像拉取队列,后台线程与相应标签的宿主机建立连接,调用其上的docker restful api对队列中的基础环境镜像进行逐步拉取,在投产前完成基础环境镜像的预热工作。
在本发明实施例中,生成预热镜像拉取队列可以按照预热镜像清单G中基础环境镜像的顺序生成队列,也可以按照预热镜像清单G中宿主机标签的顺序来生成队列。
图3是本发明实施例基础环境镜像拉取方法的第二流程示意图,如图3所示,本发明另一实施例的基础环境镜像拉取方法包括步骤S301和步骤S302。
步骤S301,根据所述增量基础环境镜像清单、所述预热配置参数以及所述宿主机数量计算预热线程并发数。
在本发明实施例中,本发明为了提高基础环境镜像的预热效率可以采用多线程同时拉取镜像。采用的预热线程并发数由增量基础环境镜像清单F、宿主机数量清单E以及用户设置的预热配置参数(网络带宽、镜像仓库的存储每秒读写次数以及预热时间等)来确定。
步骤S302,根据所述预热镜像拉取队列采用所述预热线程并发数的后台线程逐步拉取队列中的基础环境镜像到对应的宿主机本地。
在本发明实施例中,本发明在确定预热线程并发数后,根据预热镜像清单G产生预热镜像拉取队列,与预热线程并发数对应数量的后台线程按照预热镜像拉取队列与相应标签的宿主机建立连接,调用其上的docker restful api对队列中的基础环境镜像进行逐步拉取,在投产前完成基础环境镜像的预热工作。
图4是本发明实施例确定预热镜像清单的方法流程图,如图4所示,本发明实施例确定预热镜像清单的方法包括步骤S401至步骤S403。
步骤S401,确定所述增量基础环境镜像清单中各增量基础环境镜像的大小。
步骤S402,根据所述网络带宽和所述预热时间确定第一迭代数据总量,根据所述镜像仓库的存储每秒读写次数和所述预热时间确定第二迭代数据总量。
步骤S403,根据所述各增量基础环境镜像的大小、所述第一迭代数据总量、所述第二迭代数据总量以及所述宿主机数量确定所述预热镜像清单。
在本发明的实施例中,预热镜像清单G由用户设置的预热配置参数(网络带宽、镜像仓库的存储每秒读写次数以及预热时间)、增量基础环境镜像清单F中各增量基础环境镜像的大小、以及宿主机标签清单C中的各宿主机标签对应的宿主机数量来决定的。
在本发明实施例中,预热配置参数中的网络带宽为存储基础环境镜像的镜像仓库与宿主机之间网络传输的带宽。预热时间为用户设置的新版本投产时间,也为镜像拉取时间。由于应用投产版本的更迭有时间限制,需在新版本投产时间前完成镜像拉取。
在本发明实施例中,上述第一迭代数据总量为网络带宽与预热时间的乘积,上述第二迭代数据总量为镜像仓库的存储每秒读写次数(IOPS)与预热时间的乘积。
在本发明实施例中,预热镜像清单G中的基础环境镜像的数量小于或等于增量基础环境镜像清单F中的数量,本发明实施例可以通过以下规则从增量基础环境镜像清单F中确认预热镜像清单G:
1、预热镜像清单G中的每个基础环境镜像的大小与其对应的宿主机标签的宿主机数量的乘积的总和要小于上述第一迭代数据总量;
2、预热镜像清单G中的每个基础环境镜像的大小与其对应的宿主机标签的宿主机数量的乘积的总和要小于上述第二迭代数据总量;
3、各宿主机标签的宿主机数量与预热镜像清单G中的每个基础环境镜像的大小的乘积的总和应该趋于一致。
图5是本发明实施例确定预热线程并发数的方法流程图,如图5所示,本发明实施例确定预热线程并发数的方法包括步骤S501至步骤S503。
步骤S501,确定所述增量基础环境镜像清单中各增量基础环境镜像的大小。
步骤S502,根据所述网络带宽和所述预热时间确定第一迭代数据总量,根据所述镜像仓库的存储每秒读写次数和所述预热时间确定第二迭代数据总量。
步骤S503,根据所述各增量基础环境镜像的大小、所述第一迭代数据总量、所述第二迭代数据总量以及所述宿主机数量确定所述预热线程并发数。
在本发明的实施例中,预热线程并发数由用户设置的预热配置参数(网络带宽、镜像仓库的存储每秒读写次数以及预热时间)、增量基础环境镜像清单F中各增量基础环境镜像的大小、以及宿主机标签清单C中的各宿主机标签对应的宿主机数量来决定的。
本发明实施例可以通过以下规则确认预热线程并发数:
1、预热线程并发数应大于预热镜像清单G中的每个基础环境镜像的大小与其对应的宿主机标签的宿主机数量的乘积的总和除以第一迭代数据总量的商;
2、预热线程并发数应大于预热镜像清单G中的每个基础环境镜像的大小与其对应的宿主机标签的宿主机数量的乘积的总和除以第二迭代数据总量的商。
由以上描述可以看出,本发明实施例为解决大规模容器集群在应用版本更迭时对镜像仓库的性能压力,提出了一种基于docker容器技术的基础环境镜像预热装置。本发明实施例利用docker镜像分层存储的特点,通过解析相关预热配置信息和预热镜像清单,根据用户输入的镜像仓库性能指标和预热时间来向相应宿主机对应的提供镜像预热的功能。帮助用户减少在投产过程中版本升级所需要的时间,同时降低大规模并发投产时宿主机并发镜像拉取请求对镜像仓库产生的性能压力。很大程度上保证了应用容器的稳定运行。本发明实施例的优点如下:
1.可定制化的镜像预热配置和预热时间,提高镜像预热的灵活度。
2.通过应用投产间隔进行预热,不用扩容镜像仓库集群,降低不必要的存储资源消耗。
3.通过镜像仓库性能指标量化拉取清单,使得镜像预热的程度与镜像仓库性能相匹配。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
基于同一发明构思,本发明实施例还提供了一种基于docker容器技术的基础环境镜像预热装置,可以用于实现上述实施例所描述的基于docker容器技术的基础环境镜像预热方法,如下面的实施例所述。由于基于docker容器技术的基础环境镜像预热装置解决问题的原理与基于docker容器技术的基础环境镜像预热方法相似,因此基于docker容器技术的基础环境镜像预热装置的实施例可以参见基于docker容器技术的基础环境镜像预热方法的实施例,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图6是本发明实施例基于docker容器技术的基础环境镜像预热装置的结构框图,如图6所示,本发明实施例基于docker容器技术的基础环境镜像预热装置包括:用户策略配置单元1、预热镜像清单加载单元2、宿主机镜像信息获取单元3、镜像差异比对单元4、镜像分发单元5。
用户策略配置单元1,用于接收用户设置的预热配置参数,其中,所述预热配置参数包括:网络带宽、镜像仓库的存储每秒读写次数以及预热时间。
预热镜像清单加载单元2,用于接收待投产的汇总应用基础环境镜像清单,并根据所述汇总应用基础环境镜像清单确定对应的宿主机标签清单以及各宿主机标签对应的待投产基础环境镜像清单,其中,所述汇总应用基础环境镜像清单包括待投产的所有基础环境镜像的信息以及各基础环境镜像对应的宿主机标签。
宿主机镜像信息获取单元3,用于确定所述各宿主机标签对应本地基础环境镜像清单。
镜像差异比对单元4,用于根据所述本地基础环境镜像清单以及所述待投产基础环境镜像清单确定所述各宿主机标签对应的增量基础环境镜像清单。
镜像分发单元5,用于根据所述增量基础环境镜像清单以及所述预热配置参数拉取所述增量基础环境镜像清单中的增量基础环境镜像到对应的宿主机本地。
在本发明的一实施例中,所述宿主机镜像信息获取单元3还用于确定所述各宿主机标签对应的宿主机数量。
图7是本发明实施例镜像分发单元的组成结构示意图,如图7所示,本发明实施例的镜像分发单元5包括:预热镜像清单生成模块501和预热镜像拉取模块503。
预热镜像清单生成模块501,用于根据所述增量基础环境镜像清单、所述预热配置参数以及所述宿主机数量生成预热镜像清单;
预热镜像拉取模块503,用于根据所述预热镜像清单生成预热镜像拉取队列,并根据所述预热镜像拉取队列逐步拉取队列中的基础环境镜像到对应的宿主机本地。
如图7所示,本发明实施例的镜像分发单元5还包括:预热线程并发数确定模块502。
预热线程并发数确定模块502,用于根据所述增量基础环境镜像清单、所述预热配置参数以及所述宿主机数量计算预热线程并发数。
在本发明的一实施例中,预热镜像拉取模块503还用于根据所述预热镜像拉取队列采用所述预热线程并发数的后台线程逐步拉取队列中的基础环境镜像到对应的宿主机本地。
在本发明的实施例中,预热镜像清单生成模块501,具体用于:确定所述增量基础环境镜像清单中各增量基础环境镜像的大小;根据所述网络带宽和所述预热时间确定第一迭代数据总量,根据所述镜像仓库的存储每秒读写次数和所述预热时间确定第二迭代数据总量;以及根据所述各增量基础环境镜像的大小、所述第一迭代数据总量、所述第二迭代数据总量以及所述宿主机数量确定所述预热镜像清单。
在本发明的实施例中,预热线程并发数确定模块502,具体用于确定所述增量基础环境镜像清单中各增量基础环境镜像的大小;根据所述网络带宽和所述预热时间确定第一迭代数据总量,根据所述镜像仓库的存储每秒读写次数和所述预热时间确定第二迭代数据总量;以及根据所述各增量基础环境镜像的大小、所述第一迭代数据总量、所述第二迭代数据总量以及所述宿主机数量确定所述预热线程并发数。
图8是本发明实施例用户策略配置单元的组成结构示意图,如图8所示,本发明实施例的用户策略配置单元1包括:镜像仓库阈值配置模块101、预热时间配置模块102、预热启用配置模块103。
镜像仓库阈值配置模块101,用于用户配置投产时镜像仓库的各项阈值,其中,可参考的重要指标为网络带宽阈值、存储IOPS阈值等。
预热时间配置模块102,用于用户自定义配置预热的时间限制,用户根据自己本次预热距离投产的时间限制输入相应的预热时间。预热时间的配置保证了预热能在投产前完成。
预热启用配置模块103,用于确定是否启用后台镜像预热功能,默认启用预热功能,预热相应镜像,若用户担心预热性能或者其他考虑,可通过修改配置关闭预热功能。
图9是本发明实施例预热镜像清单加载单元的组成结构示意图,如图9所示,本发明实施例预热镜像清单加载单元包括:汇总应用基础镜像清单接收模块201、汇总应用基础镜像清单解析模块202、可对比的基础镜像清单生成单模块203。
汇总应用基础镜像清单接收模块201,用于提供一个前台入口用于导入本次投产的汇总应用基础镜像清单A。
汇总应用基础镜像清单解析模块202:用于解析本次待投产的汇总应用基础镜像清单A,得到以json或者xml格式的清单。
可对比的基础镜像清单生成单模块203,用于根据汇总应用基础镜像清单解析模块202输入的解析后投产镜像清单,进行数据的查重和聚合,以生成各宿主机标签的基础镜像清单B及宿主机标签清单C。
图10是本发明实施例宿主机镜像信息获取单元的组成结构示意图,如图10所示,本发明实施例宿主机镜像信息获取单元3包括:宿主机地址获取模块301和宿主机本地镜像信息获取模块302。
宿主机地址获取模块301,用于获取本次待投产中可能涉及到的具有相应标签的宿主机地址。通过宿主机标签清单C中的各宿主机标签信息,宿主机地址获取单元301可通过宿主机集群数据库获取相应标签的宿主机地址及该标签下的宿主机数量,例如调用Kubernetes(Google开源的一种容器编排引擎)集群的Apiserver(Kubernetes中对外提供调用接口的组件)接口可以从数据库etcd中获取相对应的标签下的全量宿主机的地址及某标签下的宿主机数量,并从每一个标签对应的宿主机群体中取一台宿主机地址作为该标签的样例地址,最后汇总成不同标签的宿主机数量清单E,其中E中不同的标签对应于宿主机标签清单C中的各标签信息。
宿主机本地镜像信息获取模块302,用于将宿主机地址获取模块301中获取的宿主机地址url组装成docker restful api地址,当获取该api后,宿主机本地镜像信息获取模块302调用该api获取当台宿主机本地的全量镜像列表,并最终将不同标签的宿主机本地镜像列表汇总成本地镜像清单。
为了实现上述目的,根据本申请的另一方面,还提供了一种计算机设备。如图11所示,该计算机设备包括存储器、处理器、通信接口以及通信总线,在存储器上存储有可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述实施例方法中的步骤。
处理器可以为中央处理器(Central Processing Unit,CPU)。处理器还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及单元,如本发明上述方法实施例中对应的程序单元。处理器通过运行存储在存储器中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及作品数据处理,即实现上述方法实施例中的方法。
存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需要的应用程序;存储数据区可存储处理器所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个单元存储在所述存储器中,当被所述处理器执行时,执行上述实施例中的方法。
上述计算机设备具体细节可以对应参阅上述实施例中对应的相关描述和效果进行理解,此处不再赘述。
为了实现上述目的,根据本申请的另一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序在计算机处理器中执行时实现上述基于DOCKER容器技术的基础环境镜像预热方法中的步骤。本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)、随机存储记忆体(RandomAccessMemory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (14)

1.一种基于docker容器技术的基础环境镜像预热方法,其特征在于,包括:
根据待投产的汇总应用基础环境镜像清单确定对应的宿主机标签清单以及各宿主机标签对应的待投产基础环境镜像清单,其中,所述汇总应用基础环境镜像清单包括待投产的所有基础环境镜像的信息以及各基础环境镜像对应的宿主机标签;
确定所述各宿主机标签对应本地基础环境镜像清单;
根据所述本地基础环境镜像清单以及所述待投产基础环境镜像清单确定所述各宿主机标签对应的增量基础环境镜像清单;
根据所述增量基础环境镜像清单以及用户设置的预热配置参数拉取所述增量基础环境镜像清单中的增量基础环境镜像到对应的宿主机本地,其中,所述预热配置参数包括:网络带宽、镜像仓库的存储每秒读写次数以及预热时间。
2.根据权利要求1所述的基于docker容器技术的基础环境镜像预热方法,其特征在于,还包括:
确定所述各宿主机标签对应的宿主机数量。
3.根据权利要求2所述的基于docker容器技术的基础环境镜像预热方法,其特征在于,所述根据所述增量基础环境镜像清单以及用户设置的预热配置参数拉取所述增量基础环境镜像清单中的增量基础环境镜像到对应的宿主机本地,包括:
根据所述增量基础环境镜像清单、所述预热配置参数以及所述宿主机数量生成预热镜像清单;
根据所述预热镜像清单生成预热镜像拉取队列;
根据所述预热镜像拉取队列逐步拉取队列中的基础环境镜像到对应的宿主机本地。
4.根据权利要求3所述的基于docker容器技术的基础环境镜像预热方法,其特征在于,所述根据所述增量基础环境镜像清单以及用户设置的预热配置参数拉取所述增量基础环境镜像清单中的增量基础环境镜像到对应的宿主机本地,还包括:
根据所述增量基础环境镜像清单、所述预热配置参数以及所述宿主机数量计算预热线程并发数;
所述根据所述预热镜像拉取队列逐步拉取队列中的基础环境镜像到对应的宿主机本地,具体包括:
根据所述预热镜像拉取队列采用所述预热线程并发数的后台线程逐步拉取队列中的基础环境镜像到对应的宿主机本地。
5.根据权利要求3所述的基于docker容器技术的基础环境镜像预热方法,其特征在于,所述根据所述增量基础环境镜像清单、所述预热配置参数以及所述宿主机数量生成预热镜像清单,包括:
确定所述增量基础环境镜像清单中各增量基础环境镜像的大小;
根据所述网络带宽和所述预热时间确定第一迭代数据总量,根据所述镜像仓库的存储每秒读写次数和所述预热时间确定第二迭代数据总量;
根据所述各增量基础环境镜像的大小、所述第一迭代数据总量、所述第二迭代数据总量以及所述宿主机数量确定所述预热镜像清单。
6.根据权利要求4所述的基于docker容器技术的基础环境镜像预热方法,其特征在于,所述根据所述增量基础环境镜像清单、所述预热配置参数以及所述宿主机数量计算预热线程并发数,包括:
确定所述增量基础环境镜像清单中各增量基础环境镜像的大小;
根据所述网络带宽和所述预热时间确定第一迭代数据总量,根据所述镜像仓库的存储每秒读写次数和所述预热时间确定第二迭代数据总量;
根据所述各增量基础环境镜像的大小、所述第一迭代数据总量、所述第二迭代数据总量以及所述宿主机数量确定所述预热线程并发数。
7.一种基于docker容器技术的基础环境镜像预热装置,其特征在于,包括:
用户策略配置单元,用于接收用户设置的预热配置参数,其中,所述预热配置参数包括:网络带宽、镜像仓库的存储每秒读写次数以及预热时间;
预热镜像清单加载单元,用于接收待投产的汇总应用基础环境镜像清单,并根据所述汇总应用基础环境镜像清单确定对应的宿主机标签清单以及各宿主机标签对应的待投产基础环境镜像清单,其中,所述汇总应用基础环境镜像清单包括待投产的所有基础环境镜像的信息以及各基础环境镜像对应的宿主机标签;
宿主机镜像信息获取单元,用于确定所述各宿主机标签对应本地基础环境镜像清单;
镜像差异比对单元,用于根据所述本地基础环境镜像清单以及所述待投产基础环境镜像清单确定所述各宿主机标签对应的增量基础环境镜像清单;
镜像分发单元,用于根据所述增量基础环境镜像清单以及所述预热配置参数拉取所述增量基础环境镜像清单中的增量基础环境镜像到对应的宿主机本地。
8.根据权利要求7所述的基于docker容器技术的基础环境镜像预热装置,其特征在于,所述宿主机镜像信息获取单元,还用于确定所述各宿主机标签对应的宿主机数量。
9.根据权利要求8所述的基于docker容器技术的基础环境镜像预热装置,其特征在于,所述镜像分发单元,包括:
预热镜像清单生成模块,用于根据所述增量基础环境镜像清单、所述预热配置参数以及所述宿主机数量生成预热镜像清单;
预热镜像拉取模块,用于根据所述预热镜像清单生成预热镜像拉取队列,并根据所述预热镜像拉取队列逐步拉取队列中的基础环境镜像到对应的宿主机本地。
10.根据权利要求9所述的基于docker容器技术的基础环境镜像预热装置,其特征在于,所述镜像分发单元,还包括:
预热线程并发数确定模块,用于根据所述增量基础环境镜像清单、所述预热配置参数以及所述宿主机数量计算预热线程并发数;
所述预热镜像拉取模块,具体用于:
根据所述预热镜像拉取队列采用所述预热线程并发数的后台线程逐步拉取队列中的基础环境镜像到对应的宿主机本地。
11.根据权利要求9所述的基于docker容器技术的基础环境镜像预热装置,其特征在于,所述预热镜像清单生成模块,具体用于:确定所述增量基础环境镜像清单中各增量基础环境镜像的大小;根据所述网络带宽和所述预热时间确定第一迭代数据总量,根据所述镜像仓库的存储每秒读写次数和所述预热时间确定第二迭代数据总量;以及根据所述各增量基础环境镜像的大小、所述第一迭代数据总量、所述第二迭代数据总量以及所述宿主机数量确定所述预热镜像清单。
12.根据权利要求10所述的基于docker容器技术的基础环境镜像预热装置,其特征在于,所述预热线程并发数确定模块,具体用于:确定所述增量基础环境镜像清单中各增量基础环境镜像的大小;根据所述网络带宽和所述预热时间确定第一迭代数据总量,根据所述镜像仓库的存储每秒读写次数和所述预热时间确定第二迭代数据总量;以及根据所述各增量基础环境镜像的大小、所述第一迭代数据总量、所述第二迭代数据总量以及所述宿主机数量确定所述预热线程并发数。
13.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6任一项方法中的步骤。
14.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序在计算机处理器中执行时实现如权利要求1至6任意一项方法中的步骤。
CN201910602356.5A 2019-07-05 2019-07-05 基于docker容器技术的基础环境镜像预热方法及装置 Active CN110287004B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910602356.5A CN110287004B (zh) 2019-07-05 2019-07-05 基于docker容器技术的基础环境镜像预热方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910602356.5A CN110287004B (zh) 2019-07-05 2019-07-05 基于docker容器技术的基础环境镜像预热方法及装置

Publications (2)

Publication Number Publication Date
CN110287004A true CN110287004A (zh) 2019-09-27
CN110287004B CN110287004B (zh) 2021-07-30

Family

ID=68020688

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910602356.5A Active CN110287004B (zh) 2019-07-05 2019-07-05 基于docker容器技术的基础环境镜像预热方法及装置

Country Status (1)

Country Link
CN (1) CN110287004B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114153565A (zh) * 2021-12-08 2022-03-08 兴业银行股份有限公司 基于p2p技术实现镜像加速和预热方法及***

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050114870A1 (en) * 2003-11-21 2005-05-26 Song Dong H. System and method for executing an application on a secured run-time environment
CN101159596A (zh) * 2006-10-02 2008-04-09 国际商业机器公司 用于布置服务器的方法和设备
CN101594387A (zh) * 2009-06-29 2009-12-02 北京航空航天大学 虚拟集群部署方法和***
US20120192184A1 (en) * 2009-12-18 2012-07-26 International Business Machines Corporation Virtual image deployment with a warm cache
CN105260229A (zh) * 2015-10-28 2016-01-20 北京百度网讯科技有限公司 拉取虚拟机镜像文件的方法和装置
CN106060122A (zh) * 2016-05-20 2016-10-26 北京奇虎科技有限公司 Docker容器上传/下载特性的控制方法及装置
CN106131113A (zh) * 2016-06-14 2016-11-16 武汉深之度科技有限公司 一种资源下载方法、装置、***以及资源服务器
US9537745B1 (en) * 2014-03-07 2017-01-03 Google Inc. Distributed virtual machine disk image deployment
CN106302632A (zh) * 2016-07-21 2017-01-04 华为技术有限公司 一种基础镜像的下载方法以及管理节点
CN106293512A (zh) * 2016-07-27 2017-01-04 福建升腾资讯有限公司 基于Xen虚拟化平台的基础镜像跨区存储与分发的实现方法
CN106339254A (zh) * 2015-07-15 2017-01-18 中兴通讯股份有限公司 一种虚拟机快速启动方法、装置及管理节点
CN106528224A (zh) * 2016-11-03 2017-03-22 腾讯科技(深圳)有限公司 一种Docker容器的内容更新方法、服务器及***
CN107220100A (zh) * 2016-03-22 2017-09-29 ***(深圳)有限公司 一种开发运维方法、装置及云计算PaaS平台
CN109756533A (zh) * 2017-11-02 2019-05-14 阿里巴巴集团控股有限公司 一种镜像加速方法、装置及服务器

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050114870A1 (en) * 2003-11-21 2005-05-26 Song Dong H. System and method for executing an application on a secured run-time environment
CN101159596A (zh) * 2006-10-02 2008-04-09 国际商业机器公司 用于布置服务器的方法和设备
CN101594387A (zh) * 2009-06-29 2009-12-02 北京航空航天大学 虚拟集群部署方法和***
US20120192184A1 (en) * 2009-12-18 2012-07-26 International Business Machines Corporation Virtual image deployment with a warm cache
US9537745B1 (en) * 2014-03-07 2017-01-03 Google Inc. Distributed virtual machine disk image deployment
CN106339254A (zh) * 2015-07-15 2017-01-18 中兴通讯股份有限公司 一种虚拟机快速启动方法、装置及管理节点
CN105260229A (zh) * 2015-10-28 2016-01-20 北京百度网讯科技有限公司 拉取虚拟机镜像文件的方法和装置
CN107220100A (zh) * 2016-03-22 2017-09-29 ***(深圳)有限公司 一种开发运维方法、装置及云计算PaaS平台
CN106060122A (zh) * 2016-05-20 2016-10-26 北京奇虎科技有限公司 Docker容器上传/下载特性的控制方法及装置
CN106131113A (zh) * 2016-06-14 2016-11-16 武汉深之度科技有限公司 一种资源下载方法、装置、***以及资源服务器
CN106302632A (zh) * 2016-07-21 2017-01-04 华为技术有限公司 一种基础镜像的下载方法以及管理节点
CN106293512A (zh) * 2016-07-27 2017-01-04 福建升腾资讯有限公司 基于Xen虚拟化平台的基础镜像跨区存储与分发的实现方法
CN106528224A (zh) * 2016-11-03 2017-03-22 腾讯科技(深圳)有限公司 一种Docker容器的内容更新方法、服务器及***
CN109756533A (zh) * 2017-11-02 2019-05-14 阿里巴巴集团控股有限公司 一种镜像加速方法、装置及服务器

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114153565A (zh) * 2021-12-08 2022-03-08 兴业银行股份有限公司 基于p2p技术实现镜像加速和预热方法及***

Also Published As

Publication number Publication date
CN110287004B (zh) 2021-07-30

Similar Documents

Publication Publication Date Title
US11204793B2 (en) Determining an optimal computing environment for running an image
US11740938B2 (en) Methods and systems of scheduling computer processes or tasks in a distributed system
CN111213340B (zh) 选择用于密码功能的证明委托并使其安全
CN104737133B (zh) 使用服务组的分布式应用优化
CN104937584B (zh) 基于共享资源的质量向经优先级排序的虚拟机和应用程序提供优化的服务质量
US10348582B1 (en) Providing an instance availability estimate
US20150006608A1 (en) Networked solutions integration using a cloud business object broker
US10826993B2 (en) Cloud resource provisioning using blueprint chaining
CN109117169A (zh) 用于修复内核漏洞的方法和装置
US20130117157A1 (en) Optimally sourcing services in hybrid cloud environments
CN106201566A (zh) 利博伟特软件热升级方法及设备
CN105515872B (zh) 配置信息的更新方法、装置及***
CN109684065A (zh) 一种资源调度方法、装置及***
US9766910B1 (en) Providing field-programmable devices in a distributed execution environment
WO2016118429A1 (en) System for efficient processing of transaction requests related to an account in a database
US20170060878A1 (en) Field Extension in Database System
EP2778968B1 (en) Mobile telecommunication device remote access to cloud-based or virtualized database systems
JP6975153B2 (ja) データ格納サービス処理方法及び装置
US20240061712A1 (en) Method, apparatus, and system for creating training task on ai training platform, and medium
CN109976907A (zh) 任务分配方法和***、电子设备、计算机可读介质
US20190253488A1 (en) Transaction process management by dynamic transaction aggregation
US7991962B2 (en) System and method of using threads and thread-local storage
CN110287004A (zh) 基于docker容器技术的基础环境镜像预热方法及装置
CN110008431A (zh) 页面组件构建方法、装置、页面生成设备及可读存储介质
CN109327555A (zh) 分布式发号***、方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant