CN111625343A - 容器调度方法、装置、计算机设备及存储介质 - Google Patents

容器调度方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN111625343A
CN111625343A CN201910147477.5A CN201910147477A CN111625343A CN 111625343 A CN111625343 A CN 111625343A CN 201910147477 A CN201910147477 A CN 201910147477A CN 111625343 A CN111625343 A CN 111625343A
Authority
CN
China
Prior art keywords
container
containers
pool
target
type information
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.)
Pending
Application number
CN201910147477.5A
Other languages
English (en)
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.)
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
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 Beijing Jingdong Century Trading Co Ltd, Beijing Jingdong Shangke Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN201910147477.5A priority Critical patent/CN111625343A/zh
Publication of CN111625343A publication Critical patent/CN111625343A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本公开提供了一种容器调度方法、装置、计算机设备及存储介质,该方法包括:获取容器需求,所述容器需求携带有容器类型信息;根据所述容器需求中的所述容器类型信息,从预先构建的容器池中,确定匹配的已预先启动的目标容器;根据所述目标容器的确定结果,对所述目标容器进行调度管理。

Description

容器调度方法、装置、计算机设备及存储介质
技术领域
本公开涉及容器技术,尤其涉及一种容器调度方法、装置、计算机设备及存储介质。
背景技术
近年来,容器技术发展迅速,容器技术架构正在成为数据中心、互联网服务、公有云、私有云、物联网等平台的标准。在容器平台上,一台物理机器可以动态创建多个互相隔离、独立运行的容器;一个业务或应用分成多个逻辑独立的微服务,每一个微服务有一个或多个实例,每个实例运行在一个容器里。为了保证服务性能和优化资源的利用率,容器平台经常需要根据变化的用户请求数量和负载,动态地增加或减少微服务或容器实例的数目。比如,当用户请求数超过当前容器和微服务实例的处理能力时,启动额外的容器和微服务实例来处理多余的请求,当请求数低于目前的处理能力时,减少容器实例数来节省资源。
然而,目前的容器调度方法的一个主要缺点就是当用户请求数超过微服务目前的处理能力,启动一个新容器实例由于需要下载容器镜像文件,加载各种程序库和建立相应配置,经常需要花费不少时间,从几秒到几十秒不等,在容器启动期间,由于没有足够的资源处理请求,应用的性能,尤其是对延迟敏感的在线服务的性能会受到严重影响。
发明内容
有鉴于此,本公开实施例提供一种容器调度方法、装置、计算机设备及存储介质,能够提升容器调度的响应速度、提高资源利用率。
本公开实施例的技术方案是这样实现的:
第一方面,本公开实施例提供一种容器调度方法,包括:获取容器需求,所述容器需求携带有容器类型信息;根据所述容器需求中的所述容器类型信息,从预先构建的容器池中,确定匹配的已预先启动的目标容器;根据所述目标容器的确定结果,对所述目标容器进行调度管理。
其中,所述容器类型信息包括如下至少之一:资源配置信息、系统配置信息、位置信息。
其中,所述获取容器需求之前,包括:构建容器池,所述容器池包括预先创建且处于启动状态的容器。
其中,所述确定匹配的已预先启动的目标容器之前,包括:根据所述容器池中的所述容器的容器类型信息,对所述容器进行分类。
其中,所述对所述容器进行分类包括:根据每一所述容器的容器类型信息形成对应的特征向量,根据两容器对应的特征向量之间的距离确定两容器之间的相似度,根据所述相似度将所述容器分为第一数量的容器类别。
其中,所述根据每一所述容器的容器类型信息形成对应的特征向量,根据两容器对应的特征向量之间的距离确定两容器之间的相似度,根据所述相似度将所述容器分为第一数量的容器类别,包括:
从所述容器池中随机选择多个容器作为初始中心点;
根据每一所述容器的容器类型信息形成对应的特征向量,根据每一所述容器的特征向量与所述初始中心点所对应容器的特征向量之间的距离,确定两容器之间的相似度,根据所述相似度将所述容器分为第一数量的容器类别;
根据每一所述容器类别中相应包含的容器,确定每一所述容器类别对应的类别中心。
其中,所述根据所述容器需求中的所述容器类型信息,从预先构建的容器池中,确定匹配的已预先启动的目标容器,包括:
根据所述容器需求中的容器类型信息形成需求容器对应的特征向量;
根据所述需求容器对应的特征向量与所述容器池中每一容器类别对应的类别中心的特征向量之间的距离,确定目标容器类别;
根据所述需求容器对应的特征向量与所述目标容器类别中已预先启动的每一容器对应的特征向量之间的距离,确定匹配的目标容器。
其中,所述容器需求包括容器请求,所述根据所述目标容器的确定结果,对所述目标容器进行调度管理,包括:
确定所述容器池中包括匹配的所述目标容器时,通过调度所述目标容器响应所述容器请求。
其中,所述根据所述目标容器的确定结果,对所述目标容器进行调度管理,还包括:
确定所述容器池中不包括匹配的所述目标容器时,执行如下至少之一:创建与所述目标容器的容器类型信息相同的容器添加到所述容器池中;查找到所述容器池中存在与所述目标容器的容器类型信息相同或类似的目前处于未启动的容器时,启动所述未启动的容器;将在第一预设历史时间段内响应所述容器请求的频次低于第一预设频次的容器的容器类型信息转换为与所述目标容器的容器类型信息相同。
其中,所述获取容器需求之前,包括:
获取容器管理请求;
根据所述容器管理请求确定所述容器池中各类型容器在第二预设历史时间段内响应容器需求的频次,根据所述频次预测各类型所述容器在下一预设时间段的需求数,根据所述需求数与各类型所述容器的当前数量对所述容器池中容器的数量进行调整。
其中,所述根据所述需求数与各类型所述容器的当前数量对所述容器池中容器的数量进行调整,包括如下至少之一:
将所述频次小于第二预设频次的所述容器关闭;
将所述频次小于第二预设频次的所述容器移出所述容器池;
将所述频次小于第二预设频次的所述容器的容器类型信息转换为与频次高于第三预设频次的容器的容器类型信息相同;
创建所述频次大于第四预设频次的容器并添加到所述容器池中;
将所述频次小于第五预设频次的容器的容器类型信息转换为与所述频次大于所述第四预设频次的容器的容器类型信息相同。
其中,所述容器需求包括容器请求,所述根据所述需求容器对应的特征向量与所述容器池中每一容器类别对应的类别中心的特征向量之间的距离,确定目标容器类别,包括:
计算所述需求容器对应的特征向量与所述容器池中每一容器类别对应的类别中心的特征向量之间的距离;
将计算结果中的在预设阈值范围内的所述距离的值对应的所述容器类别作为目标容器类别。
第二方面,本公开实施例提供一种容器调度装置,所述容器调度装置包括调度模块、与所述调度模块连接的管理模块和与所述管理模块连接的容器池;
所述调度模块,用于获取容器需求,所述容器需求携带有容器类型信息;根据所述容器需求中的容器类型信息从预先构建的容器池中,确定匹配的已预先启动的目标容器;
所述管理模块,用于根据所述目标容器的确定结果,对所述目标容器进行调度管理。
其中,所述管理模块在获取容器需求之前,还用于构建容器池,所述容器池包括预先创建且处于启动状态的容器。
其中,所述调度模块在确定匹配的已预先启动的目标容器之前,还用于根据所述容器池中的所述容器的容器类型信息,对所述容器进行分类。
其中,所述调度模块还用于根据每一所述容器的容器类型信息形成对应的特征向量,根据两容器对应的特征向量之间的距离确定两容器之间的相似度,根据所述相似度将所述容器分为第一数量的容器类别。
其中,所述调度模块还用于:
从所述容器池中随机选择多个容器作为初始中心点;
根据每一所述容器的容器类型信息形成对应的特征向量,根据每一所述容器的特征向量与所述初始中心点所对应容器的特征向量之间的距离,确定两容器之间的相似度,根据所述相似度将所述容器分为第一数量的容器类别;
根据每一所述容器类别中相应包含的容器,确定每一所述容器类别对应的类别中心。
其中,所述调度模块还用于:
根据所述容器需求中的容器类型信息形成需求容器对应的特征向量;
根据所述需求容器对应的特征向量与所述容器池中每一容器类别对应的类别中心的特征向量之间的距离,确定目标容器类别;
根据所述需求容器对应的特征向量与所述目标容器类别中已预先启动的每一容器对应的特征向量之间的距离,确定匹配的目标容器。
其中,所述调度模块还用于确定所述容器池中包括匹配的所述目标容器时,通过调度所述目标容器响应所述容器请求。
其中,所述管理模块还用于:
确定所述容器池中不包括匹配的所述目标容器时,执行如下至少之一:创建与所述目标容器的容器类型信息相同的容器添加到所述容器池中;查找到所述容器池中存在与所述目标容器的容器类型信息相同或类似的目前处于未启动的容器时,启动所述未启动的容器;将在第一预设历史时间段内响应所述容器请求的频次低于第一预设频次的容器的容器类型信息转换为与所述目标容器的容器类型信息相同。
其中,所述管理模块还用于:
获取容器管理请求;
根据所述容器管理请求确定所述容器池中各类型容器在第二预设历史时间段内响应容器需求的频次,根据所述频次预测各类型所述容器在下一预设时间段的需求数,根据所述需求数与各类型所述容器的当前数量对所述容器池中容器的数量进行调整。
其中,所述管理模块根据所述需求数与各类型所述容器的当前数量对所述容器池中容器的数量进行调整,包括如下至少之一:
将所述频次小于第二预设频次的所述容器关闭;
将所述频次小于第二预设频次的所述容器移出所述容器池;
将所述频次小于第二预设频次的所述容器的容器类型信息转换为与频次高于第三预设频次的容器的容器类型信息相同;
创建所述频次大于第四预设频次的容器并添加到所述容器池中;
将所述频次小于第五预设频次的容器的容器类型信息转换为与所述频次大于所述第四预设频次的容器的容器类型信息相同。
其中,所述调度模块还用于:
计算所述需求容器对应的特征向量与所述容器池中每一容器类别对应的类别中心的特征向量之间的距离;
将计算结果中的在预设阈值范围内的所述距离的值对应的所述容器类别作为目标容器类别。
第三方面,本公开实施例提供一种计算机设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述可执行指令时,实现本公开实施例的容器调度方法。其中,可执行指令可以为安装包、程序、代码、插件、库(动态/静态库)。
第四方面,本公开实施例提供一种存储介质,存储有可执行指令,所述可执行指令被执行时,实现本公开实施例的容器调度方法。
应用本公开上述实施例具有以下有益效果:
通过根据容器需求携带的容器类型信息,从预先构建的容器池中调用已经预先启动的目标容器进行调度管理,这样,基于预先构建的容器池,容器池包括已预先启动的容器,从而提供了共享资源,方便了应用调用容器,且预先启动容器池中的容器,能避免临时启动容器占用调度时间,大幅提高了容器的调度性能,从而可以提升容器调度的响应速度、提高资源利用率。
附图说明
图1为本公开实施例提供的一种容器调度方法流程示意图;
图2为本公开实施例提供的另一种容器调度方法流程示意图;
图3为本公开实施例提供的另一种容器调度方法流程示意图;
图4为本公开实施例提供的另一种容器调度方法流程示意图;
图5为本公开实施例提供的另一种容器调度方法流程示意图;
图6为本公开实施例提供的另一种容器调度方法流程示意图;
图7为本公开实施例提供的另一种容器调度方法流程示意图;
图8为本公开实施例提供的另一种容器调度方法流程示意图;
图9为本公开实施例提供的另一种容器调度方法流程示意图;
图10为本公开实施例提供的另一种容器调度方法流程示意图;
图11为本公开实施例提供的另一种容器调度方法流程示意图;
图12为本公开实施例提供的一种容器调度装置示意图;
图13为本公开实施例提供的计算机设备结构示意图。
具体实施方式
以下结合附图及实施例,对本公开进行进一步详细说明。应当理解,此处所提供的实施例仅仅用以解释本公开,并不用于限定本公开。另外,以下所提供的实施例是用于实施本公开的部分实施例,而非提供实施本公开的全部实施例,在不冲突的情况下,本公开实施例记载的技术方案可以任意组合的方式实施。
需要说明的是,在本公开实施例中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的方法或者装置不仅包括所明确记载的要素,而且还包括没有明确列出的其他要素,或者是还包括为实施方法或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的方法或者装置中还存在另外的相关要素(例如方法中的步骤或者装置中的单元,例如的单元可以是部分电路、部分处理器、部分程序或软件等等)。
例如,本公开实施例提供的基于容器调度方法包含了一系列的步骤,但是本公开实施例提供的基于一种容器调度方法不限于所记载的步骤,同样地,本公开实施例提供的基于一种容器调度装置包括了一系列模块,但是本公开实施例提供的装置不限于包括所明确记载的模块,还可以包括为获取相关信息、或基于信息进行处理时所需要设置的模块。
对本公开实施例进行进一步详细说明之前,对本公开实施例中涉及的名词和术语进行说明,本公开实施例中涉及的名词和术语适用于如下的解释。
1)微服务架构,是指一个较为复杂的应用由多个相对“微小”的服务组成。每个微服务只负责完成一个特定的任务,每个微服务可以被独立部署并支持快速的横向扩展。各个微服务相互配合,不同的微服务可以部署在不同的服务器上。每个微服务将相关的业务逻辑和数据放在一起,可以看作是整个应用的组件,每个微服务可以被独立升级甚至替换。这样做的好处是保证各个微服务相互独立,从而实现快速交付和迭代升级。
2)容器,是指包含系统资源和硬件资源的独立体,容器不需要独占资源,没有一个虚拟系统,而是和宿主机共享硬件资源和操作系统,和其他容器共享内核,从而可以实现资源的动态分配。多个容器在同一个宿主机操作系统中的用户空间以独立的进程运行。一个容器用于实现一个微服务,在服务器集群上运行各个微服务容器,来构建一套完整的应用。为了支持多租户,甚至可以部署多套完全相同的应用,每套应用服务一个或一部分租户,应用之间相互隔离,应用的资源也按照租户的使用量来分配。
3)容器管理,是指当容器的数量达到一定规模的时候,通过对容器进行管理,方便容器的调度,保证应用的稳定高效运行、方便升级和故障的快速解决。
接下来将对本公开实施例进行详细说明,请参见图1,为本公开实施例提供的一种容器调度方法流程示意图,包括:
步骤11,获取容器需求,所述容器需求携带有容器类型信息;
所述容器类型信息包括如下至少之一:资源配置信息、系统配置信息、位置信息。
所述获取容器需求的方式可以是接收某个微服务架构的应用发出的请求,所述请求包括了所述容器需求。
所述资源配置信息可以包括处理器配置信息、存储器配置信息、磁盘配置信息和网络配置信息。
所述系统配置信息可以包括操作系统配置信息、软件库配置信息。
所述位置信息可以包括数据中心位置信息、机柜位置信息和物理服务器的位置信息。
所述容器类型信息是基于配置进行容器分类的区分信息,所述基于配置进行容器分类包括如下方式:
可以根据所述容器的硬件资源配置进行分类,例如处理器配置、存储器配置、磁盘配置和网络配置;
可以根据所述容器的系统配置进行分类,例如操作系统配置、软件库配置;
可以根据所述容器的位置进行分类,例如数据中心位置、机柜位置和物理服务器的位置;
可以根据所述容器的至少两个如下配置进行分类:资源配置、系统配置、位置信息。
步骤12,根据所述容器需求中的所述容器类型信息,从预先构建的容器池中,确定匹配的已预先启动的目标容器;
构建容器包括构建系统资源、硬件资源、进程等,预先构建的容器池为预先构建具有多个所述容器的集合;
可以预先启动为使得所述容器预先进入运行状态;
可以所述匹配为将所述容器需求中的所述容器类型信息与所述容器池中的容器的信息进行比较。
步骤13,根据所述目标容器的确定结果,对所述目标容器进行调度管理。
可以当所述目标容器的确定结果为在所述容器池中找到匹配的目标容器时,将所述目标容器配置给所述应用。
本公开实施例提供的容器调度的方法,根据所述容器需求携带的容器类型信息,从预先构建的所述容器池中调用已经预先启动的目标容器进行配置,这样,所述容器池的构建,提供了共享资源,方便了应用调用容器,且预先启动容器池中的容器,能避免临时启动容器,占用调度时间,大幅提高了容器的调度性能。
在一些实施例中,所述获取容器需求之前,包括:构建容器池,所述容器池包括预先创建且处于启动状态的容器。在获取容器需求之前就构建包括预先创建且处于启动状态的容器的容器池。这样,所述容器池预先构建,所述容器池中的容器预先启动,在应用需要调用所述容器时就无需下载容器镜像文件、加载各种程序库和建立相应配置,节约了调用时间,能够方便应用随时获取目标容器。
在一些实施例中,所述确定匹配的已预先启动的目标容器之前,包括:根据所述容器池中的所述容器的容器类型信息,对所述容器进行分类。本实施例在确定匹配的已预先启动的目标容器之前,对容器池中的所述容器的容器类型信息分类,根据设置规则对所述容器进行分类,如将具有相似特征的容器归为一个类,在匹配时先定位到某个类再具体匹配某个容器,能够高效完成匹配过程获得目标容器。
在一些实施例中,请参见图2,所述对所述容器进行分类包括:
步骤21,根据每一所述容器的容器类型信息形成对应的特征向量;
步骤22,根据两容器对应的特征向量之间的距离确定两容器之间的相似度;
步骤23,根据所述相似度将所述容器分为第一数量的容器类别。
其中,根据每一所述容器的容器类型信息形成对应的特征向量可以为:将所述容器的容器类型信息表示为一个N维的特征向量(x1,x2,…xN),其中xN表示容器类型信息中所包含的某个特征参数,比如CPU核的数目、内存额大小、磁盘空间的大小、网络额性能要求、操作系统的类型和版本号等。本公开实施例将每个容器类型信息形成特征向量,基于特征向量之间的距离进行相似度比较,能够快速具有类似特性的容器,方便进行分类。
在一些实施例中,请参见图3,所述根据每一所述容器的容器类型信息形成对应的特征向量,根据两容器对应的特征向量之间的距离确定两容器之间的相似度,根据所述相似度将所述容器分为第一数量的容器类别,包括:
步骤31,从所述容器池中随机选择多个容器作为初始中心点;
步骤32,根据每一所述容器的容器类型信息形成对应的特征向量,根据每一所述容器的特征向量与所述初始中心点所对应容器的特征向量之间的距离,确定两容器之间的相似度,根据所述相似度将所述容器分为第一数量的容器类别;
步骤33,根据每一所述容器类别中相应包含的容器,确定每一所述容器类别对应的类别中心。
所述从所述容器池中随机选择多个容器作为初始中心点可以包括:从所述容器池中随机选出选择K个容器作为每个容器类的初始中心点;或者,将所述容器随机分成K个集合,每个集合中选择一个代表特征向量作为这个集合的代表,所述代表特征向量可以定义为同一个集合中所有容器特征向量的平均值,即对所述容器类别中所有所述容器的特征向量求平均,获得平均特征向量,将所述平均特征向量作为初始中心点。
其中,采用平均特征向量作为初始中心点可以包括:将所述容器随机分成K个集合,每个集合中选择一个代表特征向量作为这个集合的代表,对所述容器类别中所有所述容器的特征向量求平均获得平均特征向量;判断所述第一数量的容器类别中,每个容器类别中的容器间的距离值的最大值与设定阈值的关系,当所述距离值的最大值大于或等于所述设定阈值时,则返回执行对所述容器类别中所有所述容器的特征向量求平均获得平均特征向量的步骤;当所述距离值的最大值小于设定阈值时,将每个类别中对应的平均特征向量对应的容器作为每个容器类的初始中心点。如此,能够使得容器的分类更加准确,同一类别中容器间的差异性更小。
其中,计算每一所述容器的特征向量与所述初始中心点所对应容器的特征向量之间的距离可以为欧氏距离,比如,两个容器的特征向量分别为(x1,x2,…xn)和(y1,y2,…yn),则通过欧氏距离计算距离的公式为:
Figure BDA0001980479750000111
根据欧氏距离把所述容器池中的容器分到K个类别,每个类别中包含性能相似的容器。本公开实施例,通过对容器进行分类,为后续容器调用时的高效匹配提供了优化的数据结构,方便调用时可以先确定容器类别再根据容器类别确定目标容器的二级比较机制,提升调用效率。
在一些实施例中,请参见图4,所述根据所述容器需求中的所述容器类型信息,从预先构建的容器池中,确定匹配的已预先启动的目标容器,包括:
步骤41,根据所述容器需求中的容器类型信息形成需求容器对应的特征向量;
步骤42,根据所述需求容器对应的特征向量与所述容器池中每一容器类别对应的类别中心的特征向量之间的距离,确定目标容器类别;
步骤43,根据所述需求容器对应的特征向量与所述目标容器类别中已预先启动的每一容器对应的特征向量之间的距离,确定匹配的目标容器。
其中,所述确定目标容器类别可以为将计算结果中所述距离值最小的特征向量对应的所述容器类别确定为所述目标容器的所属容器类别;或者,将计算结果中所述距离值在设定阈值范围内的特征向量对应的所述容器类别确定为所述目标容器的所属容器类别。所述确定匹配的目标容器可以为计算所述特征向量到所述所属容器类别中的每个所述容器的所述特征向量之间的距离值,将距离值最小的所述容器作为目标容器;或者将计算所述特征向量到所述所属容器类别中的每个所述容器的所述特征向量之间的距离值,将距离值在设定范围之内的所述容器作为目标容器。
本公开实施例,通过采用先确定容器类别再根据容器类别确定目标容器的二级比较机制,首先通过所述容器特征向量与所述类别中心之间的比较,确定所述目标容器所在的类别,再从所述类别中找到所述目标容器,这样能够减少容器之间比较的次数,减少计算资源的消耗,节约了时间,提高了容器调度的效率。
在一些实施例中,所述容器需求包括容器请求,所述根据所述目标容器的确定结果,对所述目标容器进行调度管理,包括:确定所述容器池中包括匹配的所述目标容器时,通过调度所述目标容器响应所述容器请求。其中,所述通过调度所述目标容器响应所述容器请求为将所述目标容器配置给应用,以方便所述应用调用所述目标容器以实现其功能。
在一些实施例中,所述根据所述目标容器的确定结果,对所述目标容器进行调度管理,还包括:确定所述容器池中不包括匹配的所述目标容器时,执行如下至少之一:创建与所述目标容器的容器类型信息相同的容器添加到所述容器池中;查找到所述容器池中存在与所述目标容器的容器类型信息相同或类似的目前处于未启动的容器时,启动所述未启动的容器;将在第一预设历史时间段内响应所述容器请求的频次低于第一预设频次的容器的容器类型信息转换为与所述目标容器的容器类型信息相同。
其中,所述创建与所述目标容器的容器类型信息相同的容器添加到所述容器池中包括获取容器需求携带的容器类型信息,基于所述容器类型信息中的特征参数信息,如CPU核数目、内存大小、磁盘空间大小、网络性能要求、操作系统类型和版本号等进行容器创建。所述查找到所述容器池中存在与所述目标容器的容器类型信息相同的容器,可以是根据容器之间的容器的特征向量进行比较进行确定。所述容器池中包含的容器,可以对启动和未启动的容器分别设置对应的标识,确认未启动的容器的可以是确定所述容器的启动标识是否为设置的标识。
所述容器池中的容器每次被调用时都会进行统计记录,从而便于根据容器的在第一预设历史时间段内的历史调用记录确定对应的容器在未来一预期时间段内的容器需求。所述第一预设历史时间段可以由用户灵活进行设置。所述将容器的容器类型信息转换为与所述目标容器的容器类型信息相同包括:将相应容器的CPU核数目、内存大小、磁盘空间大小、网络性能要求、操作系统类型和版本号等资源进行重新配置。
在一些实施例中,请参见图5,所述获取容器需求之前,包括:
步骤51,获取容器管理请求;
步骤52、根据所述容器管理请求确定所述容器池中各类型容器在第二预设历史时间段内响应容器需求的频次,根据所述频次预测各类型所述容器在下一预设时间段的需求数,根据所述需求数与各类型所述容器的当前数量对所述容器池中容器的数量进行调整。
其中,不同容器的所述需求数可以通过最近一段时间的使用情况来进行预测,其中一个方法是通过自回归AR模型。在时间点t一个容器的需求数xt是前p个时间点的需求量xt-1,xt-2,...,xt-p的多元线性回归,具体公式可以如下:
xt=φ01xt-12xt-2+...+φpxt-pt
其中,εt是随机误差项,φi是模型参数,这些参数值可以通过对历史数据进行回归分析得到。不同容器的所述需求数还可以采用包括移动平均法(MA)或自回归移动平均模型(ARIMA)计算。
本公开实施例根据所述容器在历史时间段内的需求频次来预测下一预设时间段内的需求量,能够对所述容器池中的容器进行高效管理,避免所述容器池中容器的不足和过剩,使得容器池处于高效利用状态。
在一些实施例中,所述根据所述需求数与各类型所述容器的当前数量对所述容器池中容器的数量进行调整,包括如下至少之一:
将所述频次小于第二预设频次的所述容器关闭;
将所述频次小于第二预设频次的所述容器移出所述容器池;
将所述频次小于第二预设频次的所述容器的容器类型信息转换为与频次高于第三预设频次的容器的容器类型信息相同;
创建所述频次大于第四预设频次的容器并添加到所述容器池中;
将所述频次小于第五预设频次的容器的容器类型信息转换为与所述频次大于所述第四预设频次的容器的容器类型信息相同。
其中,所述第二预设频次、第三预设频次、第四预设频次和第五预设频次可以通过用户灵活设置,其中,第三预设频次、第二预设频次、第五预设频次和第四预设频次的大小依次增加。
本公开实施例提供上述多种调整方式,当所述容器的所述频次低,即不经常被调用,可以将所述容器进行关闭、移出所述容器池或将所述容器池转换为频次高的容器;当所述容器的所述频次高,需要经常被调用,可以创建容器添加到所述容器池或将其他频次低的容器转换为所述容器。这种实施方式能够灵活地对容器池中的容器进行调整,高效整合资源,提升容器的利用率。
在一些实施例中,请参见图6,所述容器需求包括容器请求,所述根据所述需求容器对应的特征向量与所述容器池中每一容器类别对应的类别中心的特征向量之间的距离,确定目标容器类别,包括:
步骤61,计算所述需求容器对应的特征向量与所述容器池中每一容器类别对应的类别中心的特征向量之间的距离;
步骤62,将计算结果中的在预设阈值范围内的所述距离的值对应的所述容器类别作为目标容器类别。
本公开实施例中,通过设置预设阈值范围的设置,能够获得更多的可能存在目标容器的容器类别,使得目标容器的确定更加准确。
为了能够更加便于对本公开实施例提供的容器调度方法的实现流程进一步理解,以下分别通过4个可选的具体实施例对其进行进一步说明:
实施例一:
请参见图7,该容器调度方法包括如下步骤:
步骤71、从所述容器池中随机选择K个容器作为初始中心点;
步骤72、根据每一所述容器的容器类型信息形成对应的特征向量,根据每一所述容器的特征向量与所述初始中心点所对应容器的特征向量之间的欧氏距离,确定两容器之间的相似度,根据所述相似度将所述容器分为K个容器类别;
步骤73、根据每一所述容器类别中相应包含的容器,确定每一所述容器类别对应的类别中心;
步骤74、获取到应用发送的请求信息;
步骤75、根据所述容器需求中的容器类型信息形成需求容器对应的特征向量;
步骤76、根据所述需求容器对应的特征向量与所述容器池中每一容器类别对应的类别中心的特征向量之间的欧氏距离,确定目标容器类别;
步骤77、根据所述需求容器对应的特征向量与所述目标容器类别中已预先启动的每一容器对应的特征向量之间的欧氏距离,确定匹配的目标容器;
步骤78、将所述目标容器配置给所述应用。
请参见图8,该容器调度方法包括如下步骤:
步骤79、获取容器管理请求;
步骤80、根据所述容器管理请求确定所述容器池中各类型容器在过去1小时内响应容器需求的频次,采用AR模型计算并根据所述频次预测各类型所述容器在接下来1小时内的需求数;
步骤81、判断容器1需求量需要增加还是减少;如果增加执行步骤82;如果减少执行步骤83;
步骤82、判断是否存在使用频次低于10次/分钟的容器2;如果是执行83;如果不是执行84;
步骤83、判断能否进行容器转换;如果是执行85;如果否执行84;
步骤84、创建容器1;
步骤85、将容器2转化为容器1;
步骤86、判断是否容器3的使用频次高于50次/分钟,且数量需要增加;如果是执行87;如果否执行89;
步骤87、判断能否进行转换;如果是执行88;如果否执行89;
步骤88、把容器1转换为容器3;
步骤89、关闭容器1。
实施例二:
请参见图9,所述容器调度方法包括:
步骤a1:获取容器需求,所述容器需求携带有容器类型信息;
步骤a2:先从容器池中随机选出选择K个容器做为每个容器类别的初始中心点;
步骤a3:计算每个容器对应的特征向量到这K个初始中心点对应的特征向量之间的欧氏距离;其中,两个容器(x1,x2,…xn)和(y1,y2,…yn)的距离定义如下
Figure BDA0001980479750000161
步骤a4:根据欧氏距离值把所有容器分到K个类别,每个类别里是相似的容器;
步骤a5:将同一个类别中所有容器的特征向量平均值作为所述容器类别的初始中心点;
步骤a6:判断每个类别中所有每个容器与所述初始中心点之间的所述欧氏距离是否满足第一预设距离值,如果满足,执行步骤a6,如果不满足,执行步骤a3;
步骤a7:获取容器需求,所述容器需求携带有容器类型信息;
步骤a8:根据所述容器需求中的所述容器类型信息,从预先构建的容器池中,确定匹配的已预先启动的目标容器;
步骤a9:根据所述目标容器的确定结果,对所述目标容器进行调度管理。
本实施例采用欧氏距离对容器进行相似度比较,对容器进行分类,快速高效。
实施例三
请参见图10,所述容器调度方法包括:
步骤b1:获取容器需求,所述容器需求携带有容器类型信息;
步骤b2:根据所述容器需求中的容器类型信息形成需求容器对应的特征向量;
步骤b3:计算所述需求容器对应的特征向量与所述容器池中每一容器类别对应的类别中心的特征向量之间的欧氏距离;
步骤b4:确定目标容器所属容器类别;
步骤b5:根据所述需求容器对应的特征向量与所述目标容器类别中已预先启动的每一容器对应的特征向量之间的距离,确定匹配的目标容器;
步骤b6:根据所述目标容器的确定结果,对所述目标容器进行调度管理。
本实施例中,首先采用欧氏距离对容器进行分类,然后利用欧氏距离确定所述目标容器所在的类别,最后利用欧氏距离与所在的类别中的容器进行相似度比较,匹配快速,效率更高。
实施例四
请参见图11,所述容器调度方法包括:
步骤c1:获取容器管理请求;
步骤c2:根据所述容器管理请求确定所述容器池中各类型容器在第二预设历史时间段内响应容器需求的频次,根据所述频次预测各类型所述容器在下一预设时间段的需求数,根据所述需求数与各类型所述容器的当前数量对所述容器池中容器的数量进行调整;其中,采用AR算法对需求数进行预测,在第二预设历史时间段内采集p个离散时间点,在时间点t一个容器的需求数xt是前p个时间点的需求量xt-1,xt-2,...,xt-p的多元线性回归,具体公式可以如下:xt=φ01xt-12xt-2+...+φpxt-pt,其中,εt是随机误差项,φi是模型参数,这些参数值可以通过对历史数据进行回归分析得到;
步骤c3:获取容器需求,所述容器需求携带有容器类型信息;
步骤c4:根据所述容器需求中的所述容器类型信息,从预先构建的容器池中,确定匹配的已预先启动的目标容器;
步骤c5:根据所述目标容器的确定结果,对所述目标容器进行调度管理。本实施例中,采用AR算法对需求数进行预测,基于需求数对容器池中的容器进行调整,使得资源利用率高。
本公开实施例还提供一种容器调度装置,请参见图12,所述容器调度装置包括调度模块91、与所述调度模块91连接的管理模块92和与所述管理模块92连接的容器池93;
所述调度模块91,用于获取容器需求,所述容器需求携带有容器类型信息;根据所述容器需求中的容器类型信息从预先构建的容器池93中,确定匹配的已预先启动的目标容器;
所述管理模块92,用于根据所述目标容器的确定结果,对所述目标容器进行调度管理。
其中,所述管理模块92在获取容器需求之前,还用于构建容器池93,所述容器池93包括预先创建且处于启动状态的容器。
其中,所述调度模块91在确定匹配的已预先启动的目标容器之前,还用于根据所述容器池93中的所述容器的容器类型信息,对所述容器进行分类。
其中,所述调度模块91还用于根据每一所述容器的容器类型信息形成对应的特征向量,根据两容器对应的特征向量之间的距离确定两容器之间的相似度,根据所述相似度将所述容器分为第一数量的容器类别。
其中,所述调度模块91还用于:
从所述容器池93中随机选择多个容器作为初始中心点;
根据每一所述容器的容器类型信息形成对应的特征向量,根据每一所述容器的特征向量与所述初始中心点所对应容器的特征向量之间的距离,确定两容器之间的相似度,根据所述相似度将所述容器分为第一数量的容器类别;
根据每一所述容器类别中相应包含的容器,确定每一所述容器类别对应的类别中心。
其中,所述调度模块91还用于:
根据所述容器需求中的容器类型信息形成需求容器对应的特征向量;
根据所述需求容器对应的特征向量与所述容器池93中每一容器类别对应的类别中心的特征向量之间的距离,确定目标容器类别;
根据所述需求容器对应的特征向量与所述目标容器类别中已预先启动的每一容器对应的特征向量之间的距离,确定匹配的目标容器。
其中,所述调度模块91还用于确定所述容器池93中包括匹配的所述目标容器时,通过调度所述目标容器响应所述容器请求。
其中,所述管理模块92还用于:
确定所述容器池93中不包括匹配的所述目标容器时,执行如下至少之一:创建与所述目标容器的容器类型信息相同的容器添加到所述容器池93中;查找到所述容器池93中存在与所述目标容器的容器类型信息相同或类似的目前处于未启动的容器时,启动所述未启动的容器;将在第一预设历史时间段内响应所述容器请求的频次低于第一预设频次的容器的容器类型信息转换为与所述目标容器的容器类型信息相同。
其中,所述管理模块92还用于:
获取容器管理请求;
根据所述容器管理请求确定所述容器池93中各类型容器在第二预设历史时间段内响应容器需求的频次,根据所述频次预测各类型所述容器在下一预设时间段的需求数,根据所述需求数与各类型所述容器的当前数量对所述容器池93中容器的数量进行调整。
其中,所述管理模块92根据所述需求数与各类型所述容器的当前数量对所述容器池93中容器的数量进行调整,包括如下至少之一:
将所述频次小于第二预设频次的所述容器关闭;
将所述频次小于第二预设频次的所述容器移出所述容器池93;
将所述频次小于第二预设频次的所述容器的容器类型信息转换为与频次高于第三预设频次的容器的容器类型信息相同;
创建所述频次大于第四预设频次的容器并添加到所述容器池93中;
将所述频次小于第五预设频次的容器的容器类型信息转换为与所述频次大于所述第四预设频次的容器的容器类型信息相同。
其中,所述调度模块91还用于:
计算所述需求容器对应的特征向量与所述容器池93中每一容器类别对应的类别中心的特征向量之间的距离;
将计算结果中的在预设阈值范围内的所述距离的值对应的所述容器类别作为目标容器类别。
上述实施例提供的容器调度装置在进行容器调度管理时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述步骤分配由不同的程序模块完成,即可以将装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的容器调度装置与容器调度方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本公开实施例还提供一种计算机设备,请参见图13,为本公开实施例提供的调度装置示意图,包括:
存储器102,用于存储可执行指令;
处理器101,用于执行所述存储器102中存储的可执行指令时,所述处理器101执行所述计算机程序时包括实现如下步骤:获取容器需求,所述容器需求携带有容器类型信息;根据所述容器需求中的所述容器类型信息,从预先构建的容器池中,确定匹配的已预先启动的目标容器;根据所述目标容器的确定结果,对所述目标容器进行调度管理。
这里,所述处理器101执行所述计算机程序时还用于实现:所述获取容器需求之前,包括:构建容器池,所述容器池包括预先创建且处于启动状态的容器。
这里,所述处理器101执行所述计算机程序时还用于实现:所述确定匹配的已预先启动的目标容器之前,包括:根据所述容器池中的所述容器的容器类型信息,对所述容器进行分类。
这里,所述处理器101执行所述计算机程序时还用于实现:所述对所述容器进行分类包括:根据每一所述容器的容器类型信息形成对应的特征向量,根据两容器对应的特征向量之间的距离确定两容器之间的相似度,根据所述相似度将所述容器分为第一数量的容器类别。
这里,所述处理器101执行所述计算机程序时还用于实现:所述根据每一所述容器的容器类型信息形成对应的特征向量,根据两容器对应的特征向量之间的距离确定两容器之间的相似度,根据所述相似度将所述容器分为第一数量的容器类别,包括:从所述容器池中随机选择多个容器作为初始中心点;根据每一所述容器的容器类型信息形成对应的特征向量,根据每一所述容器的特征向量与所述初始中心点所对应容器的特征向量之间的距离,确定两容器之间的相似度,根据所述相似度将所述容器分为第一数量的容器类别;根据每一所述容器类别中相应包含的容器,确定每一所述容器类别对应的类别中心。
这里,所述处理器101执行所述计算机程序时还用于实现:所述根据所述容器需求中的所述容器类型信息,从预先构建的容器池中,确定匹配的已预先启动的目标容器,包括:根据所述容器需求中的容器类型信息形成需求容器对应的特征向量;根据所述需求容器对应的特征向量与所述容器池中每一容器类别对应的类别中心的特征向量之间的距离,确定目标容器类别;根据所述需求容器对应的特征向量与所述目标容器类别中已预先启动的每一容器对应的特征向量之间的距离,确定匹配的目标容器。
这里,所述处理器101执行所述计算机程序时还用于实现:所述容器需求包括容器请求,所述根据所述目标容器的确定结果,对所述目标容器进行调度管理,包括:确定所述容器池中包括匹配的所述目标容器时,通过调度所述目标容器响应所述容器请求。
这里,所述处理器101执行所述计算机程序时还用于实现:所述根据所述目标容器的确定结果,对所述目标容器进行调度管理,还包括:确定所述容器池中不包括匹配的所述目标容器时,执行如下至少之一:创建与所述目标容器的容器类型信息相同的容器添加到所述容器池中;查找到所述容器池中存在与所述目标容器的容器类型信息相同或类似的目前处于未启动的容器时,启动所述未启动的容器;将在第一预设历史时间段内响应所述容器请求的频次低于第一预设频次的容器的容器类型信息转换为与所述目标容器的容器类型信息相同。
这里,所述处理器101执行所述计算机程序时还用于实现:所述获取容器需求之前,包括:获取容器管理请求;根据所述容器管理请求确定所述容器池中各类型容器在第二预设历史时间段内响应容器需求的频次,根据所述频次预测各类型所述容器在下一预设时间段的需求数,根据所述需求数与各类型所述容器的当前数量对所述容器池中容器的数量进行调整。
这里,所述处理器101执行所述计算机程序时还用于实现:所述根据所述需求数与各类型所述容器的当前数量对所述容器池中容器的数量进行调整,包括如下至少之一:将所述频次小于第二预设频次的所述容器关闭;将所述频次小于第二预设频次的所述容器移出所述容器池;将所述频次小于第二预设频次的所述容器的容器类型信息转换为与频次高于第三预设频次的容器的容器类型信息相同;创建所述频次大于第四预设频次的容器并添加到所述容器池中;将所述频次小于第五预设频次的容器的容器类型信息转换为与所述频次大于所述第四预设频次的容器的容器类型信息相同。
这里,所述处理器101执行所述计算机程序时还用于实现:所述容器需求包括容器请求,所述根据所述需求容器对应的特征向量与所述容器池中每一容器类别对应的类别中心的特征向量之间的距离,确定目标容器类别,包括:计算所述需求容器对应的特征向量与所述容器池中每一容器类别对应的类别中心的特征向量之间的距离;将计算结果中的在预设阈值范围内的所述距离的值对应的所述容器类别作为目标容器类别。
本公开实施例还提供一种存储介质,存储有可执行指令,所述可执行指令被执行时,用于存储本公开任一实施例所述的容器调度方法。
以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以所述权利要求的保护范围为准。

Claims (25)

1.一种容器调度方法,其特征在于,包括:
获取容器需求,所述容器需求携带有容器类型信息;
根据所述容器需求中的所述容器类型信息,从预先构建的容器池中,确定匹配的已预先启动的目标容器;
根据所述目标容器的确定结果,对所述目标容器进行调度管理。
2.根据权利要求1所述的容器调度方法,其特征在于,所述容器类型信息包括如下至少之一:资源配置信息、系统配置信息、位置信息。
3.根据权利要求1所述的容器调度方法,其特征在于,所述获取容器需求之前,包括:
构建容器池,所述容器池包括预先创建且处于启动状态的容器。
4.如权利要求1所述的容器调度方法,其特征在于,所述确定匹配的已预先启动的目标容器之前,包括:
根据所述容器池中的所述容器的容器类型信息,对所述容器进行分类。
5.如权利要求4所述的容器调度方法,其特征在于,所述对所述容器进行分类包括:
根据每一所述容器的容器类型信息形成对应的特征向量,根据两容器对应的特征向量之间的距离确定两容器之间的相似度,根据所述相似度将所述容器分为第一数量的容器类别。
6.如权利要求5所述的容器调度方法,其特征在于,所述根据每一所述容器的容器类型信息形成对应的特征向量,根据两容器对应的特征向量之间的距离确定两容器之间的相似度,根据所述相似度将所述容器分为第一数量的容器类别,包括:
从所述容器池中随机选择多个容器作为初始中心点;
根据每一所述容器的容器类型信息形成对应的特征向量,根据每一所述容器的特征向量与所述初始中心点所对应容器的特征向量之间的距离,确定两容器之间的相似度,根据所述相似度将所述容器分为第一数量的容器类别;
根据每一所述容器类别中相应包含的容器,确定每一所述容器类别对应的类别中心。
7.如权利要求6所述容器调度方法,其特征在于,所述根据所述容器需求中的所述容器类型信息,从预先构建的容器池中,确定匹配的已预先启动的目标容器,包括:
根据所述容器需求中的容器类型信息形成需求容器对应的特征向量;
根据所述需求容器对应的特征向量与所述容器池中每一容器类别对应的类别中心的特征向量之间的距离,确定目标容器类别;
根据所述需求容器对应的特征向量与所述目标容器类别中已预先启动的每一容器对应的特征向量之间的距离,确定匹配的目标容器。
8.根据权利要求1所述的容器调度方法,其特征在于,所述容器需求包括容器请求,所述根据所述目标容器的确定结果,对所述目标容器进行调度管理,包括:
确定所述容器池中包括匹配的所述目标容器时,通过调度所述目标容器响应所述容器请求。
9.如权利要求8所述的容器调度方法,其特征在于,所述根据所述目标容器的确定结果,对所述目标容器进行调度管理,还包括:
确定所述容器池中不包括匹配的所述目标容器时,执行如下至少之一:创建与所述目标容器的容器类型信息相同的容器添加到所述容器池中;查找到所述容器池中存在与所述目标容器的容器类型信息相同或类似的目前处于未启动的容器时,启动所述未启动的容器;将在第一预设历史时间段内响应所述容器请求的频次低于第一预设频次的容器的容器类型信息转换为与所述目标容器的容器类型信息相同。
10.如权利要求1所述的容器调度方法,其特征在于,所述获取容器需求之前,包括:
获取容器管理请求;
根据所述容器管理请求确定所述容器池中各类型容器在第二预设历史时间段内响应容器需求的频次,根据所述频次预测各类型所述容器在下一预设时间段的需求数,根据所述需求数与各类型所述容器的当前数量对所述容器池中容器的数量进行调整。
11.根据权利要求10所述的容器调度方法,其特征在于,所述根据所述需求数与各类型所述容器的当前数量对所述容器池中容器的数量进行调整,包括如下至少之一:
将所述频次小于第二预设频次的所述容器关闭;
将所述频次小于第二预设频次的所述容器移出所述容器池;
将所述频次小于第二预设频次的所述容器的容器类型信息转换为与频次高于第三预设频次的容器的容器类型信息相同;
创建所述频次大于第四预设频次的容器并添加到所述容器池中;
将所述频次小于第五预设频次的容器的容器类型信息转换为与所述频次大于所述第四预设频次的容器的容器类型信息相同。
12.如权利要求7所述容器调度方法,其特征在于,所述容器需求包括容器请求,所述根据所述需求容器对应的特征向量与所述容器池中每一容器类别对应的类别中心的特征向量之间的距离,确定目标容器类别,包括:
计算所述需求容器对应的特征向量与所述容器池中每一容器类别对应的类别中心的特征向量之间的距离;
将计算结果中的在预设阈值范围内的所述距离的值对应的所述容器类别作为目标容器类别。
13.一种容器调度装置,其特征在于,所述容器调度装置包括调度模块、与所述调度模块连接的管理模块和与所述管理模块连接的容器池;
所述调度模块,用于获取容器需求,所述容器需求携带有容器类型信息;根据所述容器需求中的容器类型信息从预先构建的容器池中,确定匹配的已预先启动的目标容器;
所述管理模块,用于根据所述目标容器的确定结果,对所述目标容器进行调度管理。
14.根据权利要求13所述的容器调度装置,其特征在于,所述管理模块92在获取容器需求之前,还用于构建容器池,所述容器池包括预先创建且处于启动状态的容器。
15.如权利要求13所述的容器调度装置,其特征在于,所述调度模块在确定匹配的已预先启动的目标容器之前,还用于根据所述容器池中的所述容器的容器类型信息,对所述容器进行分类。
16.如权利要求15所述的容器调度装置,其特征在于,所述调度模块还用于根据每一所述容器的容器类型信息形成对应的特征向量,根据两容器对应的特征向量之间的距离确定两容器之间的相似度,根据所述相似度将所述容器分为第一数量的容器类别。
17.如权利要求16所述的容器调度装置,其特征在于,所述调度模块还用于:
从所述容器池中随机选择多个容器作为初始中心点;
根据每一所述容器的容器类型信息形成对应的特征向量,根据每一所述容器的特征向量与所述初始中心点所对应容器的特征向量之间的距离,确定两容器之间的相似度,根据所述相似度将所述容器分为第一数量的容器类别;
根据每一所述容器类别中相应包含的容器,确定每一所述容器类别对应的类别中心。
18.如权利要求17所述容器调度装置,其特征在于,所述调度模块还用于:
根据所述容器需求中的容器类型信息形成需求容器对应的特征向量;
根据所述需求容器对应的特征向量与所述容器池中每一容器类别对应的类别中心的特征向量之间的距离,确定目标容器类别;
根据所述需求容器对应的特征向量与所述目标容器类别中已预先启动的每一容器对应的特征向量之间的距离,确定匹配的目标容器。
19.根据权利要求13所述的容器调度装置,其特征在于,所述调度模块还用于确定所述容器池中包括匹配的所述目标容器时,通过调度所述目标容器响应所述容器请求。
20.如权利要求19所述的容器调度装置,其特征在于,所述管理模块92还用于:
确定所述容器池中不包括匹配的所述目标容器时,执行如下至少之一:创建与所述目标容器的容器类型信息相同的容器添加到所述容器池中;查找到所述容器池中存在与所述目标容器的容器类型信息相同或类似的目前处于未启动的容器时,启动所述未启动的容器;将在第一预设历史时间段内响应所述容器请求的频次低于第一预设频次的容器的容器类型信息转换为与所述目标容器的容器类型信息相同。
21.如权利要求13所述的容器调度装置,其特征在于,所述管理模块92还用于:
获取容器管理请求;
根据所述容器管理请求确定所述容器池中各类型容器在第二预设历史时间段内响应容器需求的频次,根据所述频次预测各类型所述容器在下一预设时间段的需求数,根据所述需求数与各类型所述容器的当前数量对所述容器池中容器的数量进行调整。
22.根据权利要求21所述的容器调度装置,其特征在于,所述管理模块92根据所述需求数与各类型所述容器的当前数量对所述容器池中容器的数量进行调整,包括如下至少之一:
将所述频次小于第二预设频次的所述容器关闭;
将所述频次小于第二预设频次的所述容器移出所述容器池;
将所述频次小于第二预设频次的所述容器的容器类型信息转换为与频次高于第三预设频次的容器的容器类型信息相同;
创建所述频次大于第四预设频次的容器并添加到所述容器池中;
将所述频次小于第五预设频次的容器的容器类型信息转换为与所述频次大于所述第四预设频次的容器的容器类型信息相同。
23.如权利要求17所述容器调度装置,其特征在于,所述调度模块还用于:
计算所述需求容器对应的特征向量与所述容器池中每一容器类别对应的类别中心的特征向量之间的距离;
将计算结果中的在预设阈值范围内的所述距离的值对应的所述容器类别作为目标容器类别。
24.一种计算机设备,其特征在于,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现如权利要求1至12任一项所述的容器调度方法。
25.一种存储介质,其特征在于,存储有可执行指令,所述可执行指令被执行时,用于实现权利要求1至12任一项所述的容器调度方法。
CN201910147477.5A 2019-02-27 2019-02-27 容器调度方法、装置、计算机设备及存储介质 Pending CN111625343A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910147477.5A CN111625343A (zh) 2019-02-27 2019-02-27 容器调度方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910147477.5A CN111625343A (zh) 2019-02-27 2019-02-27 容器调度方法、装置、计算机设备及存储介质

Publications (1)

Publication Number Publication Date
CN111625343A true CN111625343A (zh) 2020-09-04

Family

ID=72271615

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910147477.5A Pending CN111625343A (zh) 2019-02-27 2019-02-27 容器调度方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN111625343A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113010260A (zh) * 2020-09-29 2021-06-22 证通股份有限公司 容器数量弹性伸缩方法以及容器数量弹性伸缩方法系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113010260A (zh) * 2020-09-29 2021-06-22 证通股份有限公司 容器数量弹性伸缩方法以及容器数量弹性伸缩方法系统

Similar Documents

Publication Publication Date Title
CN109791504B (zh) 针对应用容器的动态资源配置
US10789102B2 (en) Resource provisioning in computing systems
US8954487B2 (en) Management server and method for providing cloud computing service
US11496413B2 (en) Allocating cloud computing resources in a cloud computing environment based on user predictability
EP3191948A1 (en) Computing instance launch time
Smet et al. Docker layer placement for on-demand provisioning of services on edge clouds
US10565021B2 (en) Automated capacity management in distributed computing systems
CN109710406B (zh) 数据分配及其模型训练方法、装置、及计算集群
CN113645262A (zh) 云计算服务系统和方法
US11418606B2 (en) Computing resource management system
Donida Labati et al. Computational intelligence in cloud computing
CN110737425A (zh) 一种计费平台系统的应用程序的建立方法及装置
CN111796933A (zh) 资源调度方法、装置、存储介质和电子设备
US11467884B2 (en) Determining a deployment schedule for operations performed on devices using device dependencies and predicted workloads
CN114035947A (zh) 资源动态调配方法、装置、设备及系统
JP2023535168A (ja) ソフトウェア・コンテナのための実行時間環境決定
CN111625343A (zh) 容器调度方法、装置、计算机设备及存储介质
CN116302448B (zh) 任务调度方法和系统
CN109408230B (zh) 基于能耗优化的Docker容器部署方法及系统
CN113904940A (zh) 资源调整方法、装置、电子设备和计算机可读存储介质
CN112882805A (zh) 一种任务资源约束的利润优化调度方法
Chaurasia et al. A resource efficient expectation maximization clustering approach for cloud
Singh et al. Load‐Balancing Strategy: Employing a Capsule Algorithm for Cutting Down Energy Consumption in Cloud Data Centers for Next Generation Wireless Systems
CN113132445A (zh) 资源调度方法、设备、网络系统及存储介质
CN117311999B (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