CN114706596B - 容器部署方法、资源调度方法、装置、介质和电子设备 - Google Patents
容器部署方法、资源调度方法、装置、介质和电子设备 Download PDFInfo
- Publication number
- CN114706596B CN114706596B CN202210376957.0A CN202210376957A CN114706596B CN 114706596 B CN114706596 B CN 114706596B CN 202210376957 A CN202210376957 A CN 202210376957A CN 114706596 B CN114706596 B CN 114706596B
- Authority
- CN
- China
- Prior art keywords
- resource information
- container
- working node
- deployed
- sets
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 92
- 238000012545 processing Methods 0.000 claims description 18
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000004590 computer program Methods 0.000 claims description 3
- 238000004891 communication Methods 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 21
- 230000008569 process Effects 0.000 description 16
- 241001026509 Kata Species 0.000 description 12
- 238000005516 engineering process Methods 0.000 description 8
- 238000002955 isolation Methods 0.000 description 5
- 238000013468 resource allocation Methods 0.000 description 4
- 238000012163 sequencing technique Methods 0.000 description 4
- 239000002699 waste material Substances 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 238000011176 pooling Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- HRANPRDGABOKNQ-ORGXEYTDSA-N (1r,3r,3as,3br,7ar,8as,8bs,8cs,10as)-1-acetyl-5-chloro-3-hydroxy-8b,10a-dimethyl-7-oxo-1,2,3,3a,3b,7,7a,8,8a,8b,8c,9,10,10a-tetradecahydrocyclopenta[a]cyclopropa[g]phenanthren-1-yl acetate Chemical compound C1=C(Cl)C2=CC(=O)[C@@H]3C[C@@H]3[C@]2(C)[C@@H]2[C@@H]1[C@@H]1[C@H](O)C[C@@](C(C)=O)(OC(=O)C)[C@@]1(C)CC2 HRANPRDGABOKNQ-ORGXEYTDSA-N 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000009449 lightweight packaging Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation 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
- G06F9/5022—Mechanisms to release resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本公开提供了一种容器部署方法、容器部署装置和资源调度方法、资源调度装置、存储介质、电子设备,涉及无线通信技术领域。该容器部署方法包括:获取各待部署容器所需的资源信息和各工作节点可用的资源信息,根据各待部署容器所需特殊资源信息类别,对各待部署容器进行分组,得到多个容器集合并获取各容器集合所需的资源信息;基于各工作节点可用特殊资源信息类别,对各工作节点进行分组,得到多个工作节点集合并获取各工作节点集合可用的资源信息;从多个工作节点集合中确定与各容器集合分别匹配的目标工作节点集合;在目标工作节点集合中的各工作节点上部署匹配的容器集合中各待部署容器。本公开可以提高容器部署效率和集群资源利用率。
Description
技术领域
本公开涉及无线通信技术领域,具体而言,涉及一种容器部署方法、容器部署装置和资源调度方法、资源调度装置、存储介质、电子设备。
背景技术
随着无线通信技术的快速发展,基站也逐渐向云化、虚拟化技术发展,而容器技术是一种基于内核轻量级的虚拟化技术。其中Docker应用容器引擎可在容器级别提供虚拟机隔离,每个容器都是作为一个轻量级虚拟机启动的,有自己独有的内核,因此可以实现应用之间的资源隔离、配置以及数据安全。使用容器技术运行应用程序时,需要在集群的工作节点上部署对应的容器,容器可使用工作节点的资源实现应用程序的运行。且不同工作节点运行不同的容器,其资源利用率也有差别。
目前,在集群的工作节点上部署容器时,通常需要逐一对比待部署容器需要的资源信息和工作节点可用的资源信息。当工作节点可用的资源信息大于待部署容器需要的资源信息,便可在该工作节点上部署该容器。
然而,上述现有技术的方法,一方面逐一对比待部署容器需要的资源信息和工作节点可用的资源信息,时间耗费长,导致容器部署的效率低。另一方面,待部署容器需要的资源信息与工作节点可用的资源信息差异较大,且当工作节点的资源信息长期被某一容器占用时,由于没有充足的资源则其他容器很难被部署到该工作节点上,造成资源利用率低。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种容器部署方法、容器部署装置和资源调度方法、资源调度装置、存储介质、电子设备,进而至少在一定程度上克服由于相关技术的限制和缺陷而导致的容器部署效率低以及资源利用率低的问题。
根据本公开的第一方面,提供一种容器部署方法,包括:获取各待部署容器所需的资源信息和集群的各工作节点可用的资源信息,其中,资源信息包括通用资源信息和特殊资源信息;根据各待部署容器所需的特殊资源信息的类别,对各待部署容器进行分组,得到多个容器集合,并获取各容器集合所需的资源信息;基于各工作节点可用的特殊资源信息的类别,对各工作节点进行分组,得到多个工作节点集合,并获取各工作节点集合可用的资源信息;根据各容器集合所需的资源信息和各工作节点集合可用的资源信息,从多个工作节点集合中确定与各容器集合分别匹配的目标工作节点集合;在目标工作节点集合中的各工作节点上部署匹配的容器集合中各待部署容器。
可选的,根据各容器集合所需的资源信息和各工作节点集合可用的资源信息,从多个工作节点集合中确定与各容器集合分别匹配的目标工作节点集合包括:根据各容器集合所需的总资源信息计算各容器集合的权重值;基于各容器集合的权重值,从多个工作节点集合中确定与各容器集合分别匹配的目标工作节点集合。
可选的,基于各容器集合的权重值,从多个工作节点集合中确定与各容器集合分别匹配的目标工作节点集合包括:根据各工作节点集合可用的总资源信息,计算各工作节点集合的权重值;按照各容器集合的权重值由大到小的顺序,针对每一个容器集合,从多个工作节点集合中确定权重值最大的工作节点集合为匹配的目标工作节点集合。
可选的,在目标工作节点集合中的各工作节点上部署匹配的容器集合中各待部署容器包括:在集群中配置kata容器的运行环境;基于运行环境,在目标工作节点集合中的工作节点上部署容器集合中各待部署容器。
可选的,在待部署容器中运行应用程序,在获取各待部署容器所需的资源信息和集群的各工作节点可用的资源信息前,容器部署方法还包括:获取用户终端持续发送应用程序产生的应用数据,并根据应用数据生成容器部署指令;基于容器部署指令获取各待部署容器所需的资源信息。
可选的,在获取用户终端持续发送的应用程序产生的应用数据前,容器部署方法还包括:获取用户终端的用户状态数据;基于用户状态数据向用户终端分配相应的无线资源;根据无线资源,获取用户终端发送的应用程序的应用数据。
可选的,容器部署方法还包括:若用户终端停止发送应用程序产生的应用数据,则释放应用程序占用待部署容器的资源信息以及向用户终端分配的无线资源。
根据本公开的第二方面,提供一种容器部署装置,包括:信息获取模块用于获取各待部署容器所需的资源信息和集群的各工作节点可用的资源信息,其中资源信息包括通用资源信息和特殊资源信息;第一分组模块,用于根据各待部署容器所需的特殊资源信息的类别,对各待部署容器进行分组,得到多个容器集合,并获取各容器集合所需的资源信息;第二分组模块,用于基于各工作节点可用的特殊资源信息的类别,对各工作节点进行分组,得到多个工作节点集合,并获取各工作节点集合可用的资源信息;确定模块,用于根据各容器集合所需的资源信息和各工作节点集合可用的资源信息,从多个工作节点集合中确定与各容器集合分别匹配的目标工作节点集合;容器部署模块,用于在目标工作节点集合中的各工作节点上部署匹配的容器集合中各待部署容器。
可选的,确定模块,用于根据各容器集合所需的总资源信息计算各容器集合的权重值;基于各容器集合的权重值,从多个工作节点集合中确定与各容器集合分别匹配的目标工作节点集合。
可选的,确定模块,用于根据各工作节点集合可用的总资源信息,计算各工作节点集合的权重值;按照各容器集合的权重值由大到小的顺序,针对每一个容器集合,从多个工作节点集合中确定权重值最大的工作节点集合为匹配的目标工作节点集合。
可选的,容器部署模块,用于在集群中配置kata容器的运行环境;基于运行环境,在目标工作节点集合中的工作节点上部署容器集合中各待部署容器。
可选的,信息获取模块,用于获取用户终端持续发送应用程序产生的应用数据,并根据应用数据生成容器部署指令;信息获取模块还用于基于容器部署指令获取各待部署容器所需的资源信息。
可选的,信息获取模块,用于获取用户终端的用户状态数据;资源分配模块,用于基于用户状态数据向用户终端分配相应的无线资源;信息获取模块,用于根据无线资源,获取用户终端发送的应用程序的应用数据。
可选的,资源释放模块,用于若用户终端停止发送应用程序产生的应用数据,则释放应用程序占用待部署容器的资源信息以及向用户终端分配的无线资源。
根据本公开的第三方面,提供一种资源调度方法,该资源调度方法包括:利用上述容器部署方法,得到在目标工作节点集合中的工作节点上部署的容器集合中各待部署容器;获取容器集合占用的资源信息和集群的各工作节点所有的资源信息,其中资源信息包括通用资源信息和特殊资源信息;根据容器集合占用的资源信息和集群的各工作节点所有的资源信息,计算容器集合的资源信息占用工作节点资源信息的占用率,其中占用率为容器集合已占用的资源信息与各工作节点所有的资源信息比值;基于占用率调度集群的各工作节点上部署的容器集合。
可选的,基于占用率调度集群的各工作节点上部署的容器集合,包括:分别计算各工作节点的特殊资源信息占用率和通用资源信息占用率;根据特殊资源信息占用率和通用资源信息占用率,调度集群的各工作节点上部署的容器集合。
可选的,根据特殊资源信息占用率和通用资源信息占用率,调度集群的各工作节点上部署的容器集合,包括:若各工作节点的特殊资源信息占用率大于第一阈值,则调度集群的各工作节点上部署容器集合的数量;若各工作节点的通用资源信息占用率大于第二阈值,且在容器集合中包含目标容器集合,目标容器集合是占用工作节点的通用资源信息大于预设时间的容器集合,则将目标容器集合调度到通用资源信息占用率最小的工作节点上。
根据本公开的第四方面,提供一种资源调度装置,包括:信息获取模块,用于获取容器集合占用的资源信息和集群的各工作节点所有的资源信息,其中资源信息包括通用资源信息和特殊资源信息;数据计算模块,用于根据容器集合占用的资源信息和集群的各工作节点所有的资源信息,计算容器集合的资源信息占用工作节点资源信息的占用率,其中占用率为容器集合已占用的资源信息与各工作节点所有的资源信息比值;资源调度模块,用于基于占用率调度集群的各工作节点上部署的容器集合。
可选的,资源调度模块,用于分别计算各工作节点的特殊资源信息占用率和通用资源信息占用率;根据特殊资源信息占用率和通用资源信息占用率,调度集群的各工作节点上部署的容器集合。
可选的,资源调度模块,用于当各工作节点的特殊资源信息占用率大于第一阈值,则调度集群的各工作节点上部署容器集合的数量;若各工作节点的通用资源信息占用率大于第二阈值,且在容器集合中包含目标容器集合,目标容器集合是占用工作节点的通用资源信息大于预设时间的容器集合,则将目标容器集合调度到通用资源信息占用率最小的工作节点上。
根据本公开的第五方面,提供一种存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任意一种的容器部署方法或实现上述任意一种的资源调度方法。
根据本公开的第六方面,提供一种电子设备,包括:处理器;以及存储器,用于存储处理器的可执行指令;其中,处理器配置为经由执行可执行指令来执行上述任意一种的容器部署方法或实现上述任意一种的资源调度方法。
在本公开的一些实施例所提供的技术方案中,通过获取各待部署容器所需的资源信息和集群的各工作节点可用的资源信息,其中,资源信息包括通用资源信息和特殊资源信息;根据各待部署容器所需的特殊资源信息,对各待部署容器进行分组,得到多个容器集合,并获取各容器集合所需的资源信息;基于各工作节点可用的特殊资源信息,对各工作节点进行分组,得到多个工作节点集合,并获取各工作节点集合可用的资源信息;根据各容器集合所需的资源信息和各工作节点集合可用的资源信息,从多个工作节点集合中确定与各容器集合分别匹配的目标工作节点集合;在目标工作节点集合中的各工作节点上部署匹配的容器集合中各待部署容器。在该方法中,根据各待部署容器所需的特殊资源信息和各工作节点可用的特殊资源信息分别对待部署容器和各工作节点进行分组得到多个容器集合、工作节点集合。然后根据容器集合所需的资源信息,在多个工作节点集合中匹配可用资源最合适的工作节点集合,实现了批量在工作节点集合中各工作节点上,根据容器集合所需的资源分配相应具有可用资源的工作节点集合。从而一方面避免了现有技术中单个容器所需资源分别与各工作节点的可用资源进行逐一对比,该方法极大提高了容器部署的效率。另一方面避免了现有技术中容器所需资源和各工作节点的可用资源不匹配,导致各工作节点的可用资源浪费,该方法提高了资源利用率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示意性示出了根据本公开的示例性实施方式的一种云化基站的架构图;
图2示意性示出了根据本公开的示例性实施方式的容器调度方法的系统架构图;
图3示意性示出了根据本公开的示例性实施方式的容器部署方法的流程图;
图4示出了根据本公开的示例性实施方式的为本公开示例性实施例提供的一种kata容器架构图;
图5示意性示出了根据本公开的示例性实施方式的一种待部署容器分组的过程示意图;
图6示意性示出了根据本公开的示例性实施方式的一种各工作节点分组的过程示意图;
图7示意性示出了根据本公开的示例性实施方式的确定目标工作节点集合的过程示意图;
图8示意性示出了根据本公开的示例性实施方式的资源调度方法的流程图;
图9示意性示出了根据本公开的示例性实施方式的整个资源调度方法的流程图;
图10示意性示出了根据本公开的示例性实施方式的一种容器部署装置的方框图;
图11示意性示出了根据本公开的示例性实施方式的另一种容器部署装置的方框图;
图12示意性示出了根据本公开的示例性实施方式的一种资源调度装置的方框图;以及
图13示意性示出了根据本公开的示例性实施方式的电子设备的方框图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的步骤。例如,有的步骤还可以分解,而有的步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
本公开示例性实施例提供的容器部署方法,可以应用于在集群各节点上部署容器的应用场景中,尤其是应用于云化基站中使用容器化技术接收用户终端发送的应用数据,以在集群中部署容器实现应用程序运行的应用场景中。例如:当用户终端操作某应用程序时,云基站便会通过无线网络实时获取用户终端发送的应用数据。便可根据应用数据在云基站的集群工作节点中部署容器,以实现应用程序在容器中运行。
图1为示意性示出了根据本公开的示例性实施方式的一种5G云化基站的3层架构示意图,包括基带处理单元(Baseband Unit,BBU)或者集中单元(Centralized Unit,CU)和分布单元(Distribute Unit,DU)的组合、交换机及射频处理单元(Remote Radio Unit,RRU)的三级架构。其中,BBU中包含由各工作节点组合的集群,每个工作节点均具有中央处理器(Central Processing Unit,CPU)、内存、硬盘和其他等资源信息,容器可部署在各工作节点上,以使用这些资源信息运行应用程序。云化基站可以实现无线网络资源的池化共享,可以支持与边缘应用的共平台部署,满足无线网络多种用户业务的灵活需求,以及多种业务对于无线底层基础资源的弹性伸缩需求,实现池化增益。同时,云化基站能够很好地实现软硬件解耦,使得多类业务场景不依赖底层硬件驱动,在用户请求时可以快速部署容器。
对于云化基站的云网资源协同调度,传统的虚拟机会占用大量的软硬件资源,目前常使用可移植的轻量级打包应用程序的容器技术,可以实现应用程序的资源隔离、配置。Kata容器通过使用硬件虚拟化来提供容器间隔离。就Docker引擎而言,每个容器都是作为一个轻量级虚拟机启动的,有自己独有的内核。由于每个容器现在都使用自己的虚拟机运行,因此它们不能够访问主机内核,并且能够获得虚拟机的所有安全方面的优势。
目前,在云化基站中,在集群的各工作节点上部署容器时,通常需要逐一对比待部署容器需要的资源信息和工作节点可用的资源信息。当工作节点可用的资源信息大于待部署容器需要的资源信息,便可在该工作节点上部署该容器。然而,目前使用的容器部署方法,一方面逐一对比待部署容器需要的资源信息和工作节点可用的资源信息,时间耗费长,导致容器部署的效率低。另一方面,待部署容器需要的资源信息与工作节点可用的资源信息差异较大,且当工作节点的资源信息长期被某一容器占用时,由于没有充足的资源则其他容器很难被部署到该工作节点上,造成资源利用率低。
本公开示例性实施例中考虑到上述问题,提出一种容器部署方法,该方法首先对多个待部署容器和多个工作节点分别进行分组,以得到多个容器集合和工作节点集合。然后按照各容器集合所需的资源信息匹配各工作节点集合可用的资源信息。一方面,该过程减少了逐一对比待部署容器需要的资源信息和工作节点可用的资源信息的时间,提高了容器部署的效率。另一方面,该过程根据容器集合所需资源信息匹配具有相对应可用资源信息的工作节点,从而避免了待部署容器需要的资源信息与工作节点可用的资源信息差异较大,没有充足的资源则其他容器很难被部署到该工作节点上,造成资源利用率低的问题,较好的提高了资源利用率。
图2为本公开实施例提供的容器部署方法的系统架构图,如图2所示,该系统中包括用户终端21、基站/BBU23、工作节点25和集群数据库27。
其中,用户终端21向基站/BBU23持续发送应用程序产生的应用数据,基站/BBU23接收到应用数据后,便开始在工作节点25上部署容器,以便应用程序在容器中运行。首先,基站/BBU23获取各待部署容器所需的资源信息,并在集群数据库27中工作节点25可用的资源信息。然后,根据待部署容器所需特殊资源信息的类别,对各待部署容器进行分组,得到多个容器集合,并获取容器集合所需的资源信息;基于各工作节点25可用特殊资源信息的类别,对集群中工作节点25进行分组,得到多个工作节点集合,并获取各工作节点集合可用的资源信息;最后根据容器集合需要的资源信息查找工作节点集合中可用的资源信息匹配的目标工作节点集合,并在目标工作节点集合内的各工作节点25上部署待部署容器。
应该理解,在图2所示的系统架构中,用户设备21、基站/BBU23和工作节点25、集群数据库27的数目仅仅是示例性的,更多或更少的数量都属于本公开的保护范畴。并且,在上述示例运行场景中,用户终端25例如可以是个人计算机、服务器、掌上电脑(PersonalDigital Assistant,PDA)、笔记本或其它任何具有联网功能的计算设备。用户设备21、基站/BBU23和工作节点25、集群数据库27之间通信的网络可以包括各种类型的有线和无线网络,例如但不局限于:互联网、局域网、无线保真(Wireless Fidelity,WIFI)、无线局域网(Wireless Local Area Networks,WLAN)、蜂窝通信网络(通用分组无线服务技术(GeneralPacket Radio Service,GPRS)、码分多址(Code Division Multiple Access,CDMA)、2G/3G/4G/5G蜂窝网络)、卫星通信网络等等。
在了解了本公开的系统架构后,图3示意性示出了本公开的示例性实施方式的容器部署方法的流程图。该方法可以由任意执行容器部署方法的装置来执行,该装置可以通过软件和/或硬件实现。本实施例中,该装置可以集成在如图2所示的基站中。参考图3,容器部署方法可以包括以下步骤:
S30.获取各待部署容器所需的资源信息和集群的各工作节点可用的资源信息,其中,资源信息包括通用资源信息和特殊资源信息。
其中,通用资源信息具体为CPU、内存和硬盘。特殊资源信息为至少包括除CPU、内存、硬盘以外的一种资源,例如:摄像头、音频设备、传感器、编解码芯片、加密芯片等硬件资源。各待部署容器所需的资源信息为运行该容器时所需要的资源信息,各工作节点的资源信息包含已占用的资源信息和可用的资源信息,可用资源信息为空闲未被占用的资源信息。
在本公开的示例性实施方式中,在工作节点上部署容器前,需要在基站的BBU侧中的集群中布置kata容器运行环境,以保证在各工作节点上部署的容器处于互相隔离。
图4为本公开示例性实施例提供的一种kata容器架构图。如图4所示,Kata容器通过使用硬件虚拟化来提供容器间隔离,即每个容器都是作为一个轻量级虚拟机启动的,有自己独有的内核,硬件相互隔离。通过在云化基站的BBU侧布置kata容器运行环境,每一个容器或者容器集合都运行在独立的虚拟机上,容器间不会互相访问,不再从宿主机内核上获取相应所有的权限,从而保障了应用程序间的数据安全。
在本公开的示例性实施方式中,在基站的BBU侧布置kata容器运行环境后,基站集群的各工作节点可获取用户终端的用户状态数据;基于用户状态数据向用户终端分配相应的无线资源;根据无线资源,获取用户终端发送的应用程序的应用数据。
其中,用户终端的用户状态数据,也可称用户业务特性参数。用户状态数据包括用户终端的缓存状态数据和信道状态数据。例如用户终端与基站集群的工作节点或容器连接的时间、用户终端向基站进行应用数据传输的时长、单位时间内该用户终端向基站申请无线资源的次数、单位时间内的应用数据重传次数、单位时间内的平均速率和峰值速率、单位时间内的数据传输量、以及用户终端对接入网设备无线资源的服务质量(Quality ofService,QoS)要求。无线资源为网络资源的统称,例如:无线资源包括频率,时间,空间,功率,码字,带宽等信息。
示例性的,用户终端与基站通过无线网络连接互相传输数据,具体的,用户终端可通过物理上行控制信道(Physical Uplink Control Channel,PUCCH)向基站集群的各工作节点上传用户状态数据,以向基站申请无线资源,基站通过物理下行控制信道(PhysicalDownlink Control Channel,PDCCH)向用户终端发送无线资源分配的结果。
具体的,基站可通过调度器为用户终端分配无线资源。首先,基站可通过PUCCH接收到用户终端发送的用户状态数据。然后在基站的调度器在某调度周期时刻,判断任务缓存队列是否为空,当任务缓存队列为空,则当前无可用的无线资源或无足够可用的无线资源可进行分配,继续等待下一个调度周期;当任务缓存队列为非空,则基站的调度器根据用户终端发送的用户状态数据,将相对应的无线资源分配到不同网络切片中。最后,基站通过PDCCH向用户终端发送无线资源分配的结果。
通过用户终端发送的用户状态数据向基站申请相应的无线资源,可以根据所需无线资源进行分配,可以在避免无线资源浪费的同时,确保无线资源分配的稳定性。
在本公开的示例性实施方式中,基站向用户终端分配无线资源后,基站便可通过无线资源获取用户终端持续发送应用程序产生的应用数据,并根据应用数据生成容器部署指令;基于容器部署指令获取各待部署容器所需的资源信息。
其中,应用数据为用户运行应用程序时实时产生的数据;容器部署指令为在工作节点上部署容器的请求指令,通过容器部署指令可计算待部署容器或待部署容器中应用程序运行所需占用的资源信息。
具体的,基站可通过上行共享物理信道(Physical Uplink Share Channel,PUSCH)获取用户终端持续发送应用程序产生的应用数据。然后根据应用数据生成容器部署指令和云化应用的请求指令。
通过获取用户终端持续发送应用程序产生的应用数据,从而生成容器部署指令,以根据容器部署指令可获取待部署容器所需要的资源信息。从而可快速根据待部署容器所需要的资源信息分配相应的工作节点,进一步提高容器部署效率。
S32.根据各待部署容器所需特殊资源信息的类别,对各待部署容器进行分组,得到多个容器集合,并获取各容器集合所需的资源信息。
具体的,根据用户虚拟化容器部署指令中计算的资源信息,将特殊资源信息的类别相同或相近的待部署容器进行分组,得到不同特殊资源信息的容器集合。完成分组后便可根据容器集合内部每一个待部署容器所需的资源信息来获取容器集合所需的资源信息。
接下来将结合图5对根据各待部署容器所需特殊资源信息的类别进行分组的情况进行详细说明。
如图5所示,图5为本公开示例性实施方式提供的一种待部署容器分组的过程示意图。
当特殊资源的类别有2个摄像头和1个音频设备时,此时基站分别获取的应用数据为视频业务1、音频业务、视频业务2,则将类别同为视频业务的视频业务1和视频业务2的待部署容器a1、a3,组成容器集合A,音频业务的待部署容器a2组成容器集合B。
在上述示例中,若视频业务1的待部署容器所需资源信息为1.5G,视频业务2的待部署容器所需资源信息为2G。则容器集合A所需的资源信息为1.5G+2G=3.5G。
根据特殊资源信息的类别对各待部署容器进行分组,可以将使用相同特殊资源信息的待部署容器进行批量的与相对应可用特殊资源信息的各工作节点进行匹配,提高了容器部署的效率。
S34.基于各工作节点可用特殊资源信息的类别,对各工作节点进行分组,得到多个工作节点集合,并获取各工作节点集合可用的资源信息。
具体的,从集群数据库中直接获取各工作节点可用的资源信息,并根据各工作节点可用特殊资源信息的类别进行分组,得到多个工作节点集合。然后根据各工作节点可用的资源信息,计算各工作节点集合可用的资源信息。
在上述图5的基础上,接下来将结合图6对根据各工作节点可用的特殊资源信息的类别进行分组的情况进行详细说明。
如图6所示,图6为本公开示例性实施方式提供的一种各工作节点分组的过程示意图。假设特殊资源类别同样有2个摄像头和1个音频设备,则获得用于处理视频业务1的工作节点A1、处理音频业务的工作节点B、处理视频业务2的工作节点A2,则工作节点A1、工作节点A2可分为工作节点集合a,工作节点B可分组为工作节点集合b。
根据特殊资源信息的类别对各工作节点进行分组,可以将相同特殊资源信息的工作节点组成工作节点集合。再批量的与特殊资源信息类别相同的容器集合进行匹配,提高了在工作节点集合上部署容器的效率。
在本公开的示例性实施方式中,同样在确定各工作节点集合可用的资源信息,与确定各容器集合所需的资源信息方法类似。例如可使用工作节点A1可用的资源信息、工作节点A2可用的资源信息之和确定工作节点集合a可用的资源信息。
S36.根据各容器集合所需的资源信息和各工作节点集合可用的资源信息,从多个工作节点集合中确定与各容器集合分别匹配的目标工作节点集合。
具体的,根据特殊资源信息的类别对各待部署容器和各工作节点进行分组后,便可各容器集合所需的通用资源信息和特殊资源信息分别匹配目标工作节点集合。
在本公开的示例性实施方式中,在根据各容器集合所需的资源信息分别匹配相对应的工作节点集合为目标工作节点集合时,可分别计算容器集合的权重值和工作节点集合的权重值。然后按照各容器集合的权重值,对多个容器集合进行排序,同时每一个容器集合中的各待部署容器也根据其对应的权重值进行排序。同理,按照各工作节点集合的权重值,对多个工作节点集合进行排序,同时每一个工作节点集合中的各工作节点也根据其对应的权重值进行排序。
在本公开的一种示例性实施方式中,根据各容器集合所需的资源信息计算各容器集合的权重值,然后基于各容器集合的权重值,从多个工作节点集合中确定与各容器集合分别匹配的目标工作节点集合。同理科根据各工作节点集合可用的资源信息计算各工作节点集合的权重值。
接下来,以容器集合为例,说明根据各容器集合所需的资源信息计算各容器集合的权重值的过程进行具体说明。
在一种可能的实现方式中,可根据用户终端发送的业务优先级确定各待部署容器的权重值,再根据各待部署容器的权重值确定各容器集合的权重值。
同样在上述容器集合A的基础上进行说明,假设特殊资源为可见光摄像头、音频设备、红外摄像头时,则可见光视频业务、红外视频业务同属视频业务,其待部署容器可组成容器集合A。若红外视频业务优先级高于可见光视频业务,确定红外视频业务的待部署容器权重值为1.2,可见光视频业务的待部署容器权重值为1。此时容器集合A的权重值为1+1.2=2.2。
在另一种可能的实现方式中,可根据各待部署容器所需资源需求确定各待部署容器的权重值,再根据各待部署容器的权重值确定各容器集合的权重值。
同样以上述容器集合A为例进行说明,例如:可见光视频业务的待部署容器所需资源为3G,红外视频业务的待部署容器所需资源为2G。则设红外视频业务的待部署容器权重值为1.1,可见光视频业务的待部署容器权重值为1.5。此时容器集合A的权重值为2.6。
在本公开的另一个实施例中,根据各工作节点集合可用的资源信息,计算各工作节点集合的权重值,按照各容器集合的权重值由大到小的顺序,针对每一个容器集合,从多个工作节点集合中确定权重值最大的工作节点集合为匹配的目标工作节点集合。
具体的,可根据各容器集合的权重值由大到小的顺序逐一匹配合适的工作节点集合作为目标工作节点集合。
S38.在目标工作节点集合中的各工作节点上部署匹配的容器集合中各待部署容器。
具体的,确定好目标工作节点集合后便可以在目标工作节点集合中确定目标工作节点,以在目标工作节点上部署容器集合。部署容器后便可在容器中运行应用程序。
接下来将以按照所占资源信息计算权重值的情况为例,在上述图5、图6的基础上,结合图7对确定目标工作节点集合的过程进行详细说明。
如图7所示,图7为本公开示例性实施方式提供的一种确定目标工作节点集合的过程示意图。
如图5所示的容器集合A、容器集合B,其中容器集合A包含了基于视频业务1的待部署容器a1和基于视频业务2的待部署容器a3。待部署容器a1和待部署容器a3所需的资源信息分别为2G、3G;容器集合B中包含音频业务,其待部署容器a2所需的资源信息为1.2G。
假设容器集合A待部署容器a1的权重值为2,待部署容器a3的权重值为3,容器集合B中待部署容器a2的权重值为1。则同时对容器集合A和容器集合B匹配其对应的目标工作节点集合。具体为,容器集合A中待部署容器a1的权重值小于待部署容器a3的权重值,则优先在特殊资源信息类别相同的工作节点集合a中匹配待部署容器a3。
同时,从集群数据库中获取工作节点集合a和工作节点集合b可用的资源信息,并根据工作节点A1、工作节点A2的权重值进行排序,以确定权重值最大的工作节点为目标工作节点。具体为工作节点A1的可用资源信息为4G、工作节点A2的可用资源信息为2.5G,则优先在工作节点A1中部署待部署容器a3,再在在工作节点A2中部署待部署容器a1。
应该说明的是,本公开示例性实施方式提供的按照各容器集合的权重值由大到小的顺序进行匹配目标工作节点集合的方式是示例性,本公开不对匹配的顺序进行具体限定,多种顺序均在本公开的保护范围内。例如,按照各容器集合的权重值由小到大的顺序进行匹配或其他。
在本公开的另一个实施例中,当在目标工作节点上部署容器或容器集合后,便可运行应用程序。当用户终端停止发送应用程序产生的应用数据,则释放应用程序占用待部署容器的资源信息以及向用户终端分配的无线资源。
其中,释放应用程序占用待部署容器的资源信息为解除该应用程序占用的资源信息,回收资源信息并将该资源信息添加为工作节点可用的资源信息。
具体的,当用户关闭某应用程序后,该用户终端停止发送应用程序产生的应用数据,此时基站的调度器终止应用所在的容器运行和无线资源的占用,集群的调度器将回收不再使用的应用程序占用的资源信息和无线资源。
在用户终端不再运行应用程序时,便回收该应用程序占用的资源信息和无线资源,以便其他应用程序使用释放的资源信息,进一步提高了资源利用率。
在本公开的一些实施例所提供的技术方案中,通过获取各待部署容器所需的资源信息和集群的各工作节点可用的资源信息,其中,资源信息包括通用资源信息和特殊资源信息;根据各待部署容器所需的特殊资源信息,对各待部署容器进行分组,得到多个容器集合,并获取各容器集合所需的资源信息;基于各工作节点可用的特殊资源信息,对各工作节点进行分组,得到多个工作节点集合,并获取各工作节点集合可用的资源信息;根据各容器集合所需的资源信息和各工作节点集合可用的资源信息,从多个工作节点集合中确定与各容器集合分别匹配的目标工作节点集合;在目标工作节点集合中的各工作节点上部署匹配的容器集合中各待部署容器。在该方法中,根据各待部署容器所需的特殊资源信息和各工作节点可用的特殊资源信息分别对待部署容器和各工作节点进行分组得到多个容器集合、工作节点集合。然后根据容器集合所需的资源信息,在多个工作节点集合中匹配可用资源最合适的工作节点集合,实现了批量在工作节点集合中各工作节点上,根据容器集合所需的资源分配相应具有可用资源的工作节点集合。从而一方面避免了现有技术中单个容器所需资源分别与各工作节点的可用资源进行逐一对比,该方法极大提高了容器部署的效率。另一方面避免了现有技术中容器所需资源和各工作节点的可用资源不匹配,导致各工作节点的可用资源浪费,该方法提高了资源利用率。
在图3中步骤S30至步骤S38的示例性实施例的基础上,利用图3所示的容器部署方法,得到在目标工作节点集合中的工作节点上部署的容器集合中各待部署容器。图8示意性示出了本公开的示例性实施方式的资源调度方法流程图。参考图8,资源调度方法可以包括以下步骤:
S80.获取容器集合占用的资源信息和集群的各工作节点所有的资源信息,其中资源信息包括通用资源信息和特殊资源信息。
S82.根据容器集合占用的资源信息和集群的各工作节点所有的资源信息,计算容器集合的资源信息占用工作节点资源信息的占用率,其中占用率为容器集合已占用的资源信息与各工作节点所有的资源信息比值。
其中,在使用上述容器部署方法完成容器的部署后,占有率为计算每一个工作节点中,容器集合已使用的资源信息占用工作节点所有的资源信息比率。从而可实时掌握当前工作节点可用的资源信息,并根据当前工作节点可用的资源信息决定是否可以调度资源。
S84.基于占用率调度集群的各工作节点上部署的容器集合。
在本公开的示例性实施方式中,分别计算各工作节点的特殊资源信息占用率和通用资源信息占用率,根据特殊资源信息占用率和通用资源信息占用率,调度集群的各工作节点上部署的容器集合。
其中,各工作节点的特殊资源信息占用率为容器已使用的特殊资源占该工作节点的全部特殊资源信息的比率;各工作节点的通用资源信息占用率为容器已使用的通用资源占该工作节点的全部通用资源信息的比率。
通过分别计算各工作节点的特殊资源信息占用率和通用资源信息占用率,可以分别了解目前各工作节点的通用资源占用情况和特殊资源占用情况,可以判断是否需要调度资源信息,从而提高资源利用率。
在本公开的另一个实施例中,若各工作节点的特殊资源信息占用率大于第一阈值,则调度集群的各工作节点上部署容器集合的数量;若各工作节点的通用资源信息占用率大于第二阈值,且在容器集合中包含目标容器集合,目标容器集合是占用工作节点的通用资源信息大于预设时间的容器集合,则将目标容器集合调度到通用资源信息占用率最小的工作节点上。
示例性的,在集群的各工作节点的通用资源信息或特殊资源信息占用率超过90%时,基站的调度器对容器和容器集合进行水平调度和垂直调度。具体为,当工作节点的特殊资源信息占用率超过90%时,对容器集合中的容器进行缩容或扩容,以实现对各工作节点上的容器集合进行水平资源调度。其中,扩容为容器集合中执行的应用程序所占用的资源信息大于一阈值后,生成新的容器集合以运行应用程序,为原有的容器集合分担资源压力;缩容则在容器集合空闲时,删除空闲的容器集合。
当工作节点的通用资源信息占用率超过90%时,回收工作节点中占用通用资源信息超过预设时间的目标容器集合。再重新计算目标容器集合所需的资源需求,并将该目标容器集合调度到通用资源信息占用率最小的工作节点上,以实现对工作节点上的容器集合进行垂直调度。
在本公开的一些实施例所提供的技术方案中,通过获取容器集合占用的资源信息和集群的各工作节点所有的资源信息,其中资源信息包括通用资源信息和特殊资源信息;根据容器集合占用的资源信息和集群的各工作节点所有的资源信息,计算容器集合的资源信息占用工作节点资源信息的占用率,其中占用率为容器集合已占用的资源信息与各工作节点所有的资源信息比值;基于占用率调度集群的各工作节点上部署的容器集合。该资源调度方法根据占用率实时调整各工作节点上的容器集合,并将长期占用工作节点资源信息的容器或容器集合调度到资源信息更多的工作节点上。该方法可以避免现有技术中当工作节点的资源信息长期被某一容器占用时,由于没有充足的资源则其他容器很难被部署到该工作节点上,造成资源利用率低的问题,该方法可以提高资源利用率。
下面将参考图9对本公开的示例性实施方式的整个资源调度方法进行详细说明。
首先,在步骤S901中,在基站的集群中配置kata容器的运行环境。通过kata容器的运行环境可为待部署容器提供相互独立的内核和虚拟机。在步骤S903中,基站获取用户终端发送的用户状态数据。在步骤S905中,判断任务缓存队列是否为空,若为空,则执行步骤S907,等待下一个调度周期。若为非空,则执行步骤S909,根据用户状态数据向用户终端分配无线资源,并将无线资源分配到网络切片中。将无线资源分配到互相独立的网络切片中可以根据用户的需求提供个性化方案,进而实现无线资源的最大化应用。
基站获取到无线资源后,执行步骤S911,获取用户终端发送的应用程序的应用数据,并根据应用数据生成容器部署指令。
其次,获取到容器部署指令以及调用集群数据库后,在步骤S913中,获取各待部署容器所需的资源信息和集群的各工作节点可用的资源信息。并根据各待部署容器所需的资源信息和集群的各工作节点可用的资源信息,执行步骤S915,对各待部署容器进行分组得到多个容器集合,以及对各工作节点进行分组得到多个工作节点集合。
然后,在步骤S917中,分别计算各容器集合的权重值和计算各工作节点集合的权重值。可以根据各容器集合所需的资源信息计算各容器集合的权重值;根据各工作节点集合可用的资源信息,计算各工作节点集合的权重值。在步骤S919中,按照各容器集合的权重值由大到小的顺序,从多个工作节点集合中确定权重值最大的工作节点集合为匹配的目标工作节点集合。然后在S921中,在目标工作节点集合上按照各工作节点的权重匹配容器集合。
最后,在目标工作节点上布置容器集合中的待部署容器后,便可在步骤S923中,在部署的容器中运行应用程序。应用程序运行过程中,同时执行步骤S925和步骤S927。在步骤S925中,基站调度器调度网络切片中无线资源,以将应用程序的结果发送到用户终端。在步骤S927中,根据特殊资源信息占用率和通用资源信息占用率,调度集群的各工作节点上部署的容器集合。在步骤S929中,用户终端停止发送应用程序产生的应用数据,则释放应用程序占用待部署容器的资源信息以及向用户终端分配的无线资源。
根据各待部署容器所需的特殊资源信息和各工作节点可用的特殊资源信息分别对待部署容器和各工作节点进行分组得到多个容器集合、工作节点集合。然后根据容器集合所需的资源信息,在多个工作节点集合中匹配可用资源最合适的工作节点集合,实现了批量在工作节点集合中各工作节点上,根据容器集合所需的资源分配相应具有可用资源的工作节点集合。从而一方面避免了现有技术中单个容器所需资源分别与各工作节点的可用资源进行逐一对比,该方法极大提高了容器部署的效率。同时,另一方面避免了现有技术中容器所需资源和各工作节点的可用资源不匹配,导致各工作节点的可用资源浪费,该方法提高了资源利用率。同时,该过程根据占用率实时调整各工作节点上的容器集合,并将长期占用工作节点资源信息的容器或容器集合调度到资源信息更多的工作节点上。该过程避免现有技术中当工作节点的资源信息长期被某一容器占用时,由于没有充足的资源则其他容器很难被部署到该工作节点上,造成资源利用率低的问题,该方法可以提高资源利用率。
进一步的,本示例实施方式中还提供了一种容器部署装置。
图10示意性示出了本公开的示例性实施方式的容器部署装置的方框图。参考图10,根据本公开的示例性实施方式的容器部署装置10可以包括:信息获取模块101、第一分组模块103、第二分组模块105、确定模块107、容器部署模块109。
在本公开的示例性实施方式中,信息获取模块101,用于获取各待部署容器所需的资源信息和集群的各工作节点可用的资源信息,其中,资源信息包括通用资源信息和特殊资源信息;第一分组模块103,用于根据各待部署容器所需的特殊资源信息,对各待部署容器进行分组,得到多个容器集合,并获取各容器集合所需的资源信息;第二分组模块105,用于基于各工作节点可用的特殊资源信息,对各工作节点进行分组,得到多个工作节点集合,并获取各工作节点集合可用的资源信息;确定模块107,用于根据各容器集合所需的资源信息和各工作节点集合可用的资源信息,从多个工作节点集合中确定与各容器集合分别匹配的目标工作节点集合;容器部署模块109,用于在目标工作节点集合中的各工作节点上部署匹配的容器集合中各待部署容器。
进一步的,本示例实施方式中还提供了另一种容器部署装置。
图11示意性示出了本公开的示例性实施方式的另一个容器部署装置的方框图。参考图11,根据本公开的示例性实施方式的容器部署装置11可以包括:信息获取模块111、确定模块113、容器部署模块115和资源释放模块117。
在本公开的示例性实施方式中,确定模块113,可以用于根据各容器集合所需的资源信息计算各容器集合的权重值;基于各容器集合的权重值,从多个工作节点集合中确定与各容器集合分别匹配的目标工作节点集合。
根据本公开的示例性实施例,确定模块113,可以用于根据各工作节点集合可用的总资源信息,计算各工作节点集合的权重值;按照各容器集合的权重值由大到小的顺序,针对每一个容器集合,从多个工作节点集合中确定权重值最大的工作节点集合为匹配的目标工作节点集合
根据本公开的示例性实施例,容器部署模块115,用于在集群中配置kata容器的运行环境;基于运行环境,在目标工作节点集合中的工作节点上部署容器集合中各待部署容器。
在本公开的示例性实施方式中,信息获取模块111,用于获取用户终端持续发送应用程序产生的应用数据,并根据应用数据生成容器部署指令;基于容器部署指令获取各待部署容器所需的资源信息。
在本公开的示例性实施方式中,信息获取模块111,用于获取用户终端的用户状态数据;基于用户状态数据向用户终端分配相应的无线资源;根据无线资源,获取用户终端发送的应用程序的应用数据。
在本公开的示例性实施方式中,资源释放模块117,可以用于当用户终端停止发送应用程序产生的应用数据,则释放应用程序占用待部署容器的资源信息以及向用户终端分配的无线资源。
进一步的,本示例实施方式中还提供了一种资源调度装置,应用与资源调度方法,利用上述容器部署方法,得到在目标工作节点集合中的工作节点上部署的容器集合中各待部署容器。
图12示意性示出了本公开的示例性实施方式的资源调度装置的方框图。参考图12,根据本公开的示例性实施方式的资源调度装置12可以包括信息获取模块121,数据计算模块123,资源调度模块125,其中:信息获取模块121,用于获取容器集合占用的资源信息和集群的各工作节点所有的资源信息,其中资源信息包括通用资源信息和特殊资源信息;数据计算模块123,用于根据容器集合占用的资源信息和集群的各工作节点所有的资源信息,计算容器集合的资源信息占用工作节点资源信息的占用率,其中占用率为容器集合已占用的资源信息与各工作节点所有的资源信息比值;资源调度模块125,用于基于占用率调度集群的各工作节点上部署的容器集合。
在本公开的示例性实施方式中,资源调度模块125,用于分别计算各工作节点的特殊资源信息占用率和通用资源信息占用率;根据特殊资源信息占用率和通用资源信息占用率,调度集群的各工作节点上部署的容器集合。
在本公开的示例性实施方式中,资源调度模块125,用于当各工作节点的特殊资源信息占用率大于第一阈值,则调度集群的各工作节点上部署容器集合的数量;若各工作节点的通用资源信息占用率大于第二阈值,且在容器集合中包含目标容器集合,目标容器集合是占用工作节点的通用资源信息大于预设时间的容器集合,则将目标容器集合调度到通用资源信息占用率最小的工作节点上。
由于本发明实施方式的程序运行性能分析装置的各个功能模块与上述方法发明实施方式中相同,因此在此不再赘述。
在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在终端设备上运行时,程序代码用于使用户终端执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。
根据本发明的实施方式的用于实现上述方法的程序产品,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
在本公开的示例性实施例中,还提供了一种能够实现上述方法的电子设备。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
下面参照图13来描述根据本发明的这种实施方式的电子设备1300。图13显示的电子设备1300仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图13所示,电子设备1300以通用计算设备的形式表现。电子设备1300的组件可以包括但不限于:上述至少一个处理单元1310、上述至少一个存储单元1320、连接不同系统组件(包括存储单元1320和处理单元1310)的总线1330、显示单元1340。
其中,存储单元存储有程序代码,程序代码可以被处理单元1310执行,使得处理单元1310执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。例如,处理单元1310可以执行如图3中所示的步骤S30至步骤S38或如图8中所示的步骤S80至步骤S84。
存储单元1320可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)13201和/或高速缓存存储单元13202,还可以进一步包括只读存储单元(ROM)13203。
存储单元1320还可以包括具有一组(至少一个)程序模块13205的程序/实用工具13204,这样的程序模块13205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线1330可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备1300也可以与一个或多个外部设备1400(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备900交互的设备通信,和/或与使得该电子设备1300能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口1350进行。并且,电子设备1300还可以通过网络适配器1360与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器1360通过总线1330与电子设备1300的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备1300使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。
此外,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施例。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限。
Claims (10)
1.一种容器部署方法,其特征在于,包括:
获取各待部署容器所需的资源信息和集群的各工作节点可用的资源信息,其中,所述资源信息包括通用资源信息和特殊资源信息,所述通用资源信息为中央处理器CPU、内存、硬盘中的至少一个,所述特殊资源信息为除所述通用资源信息以外的至少一种硬件资源;
根据各所述待部署容器所需特殊资源信息的类别,对各所述待部署容器进行分组,得到多个容器集合,并获取各所述容器集合所需的资源信息;
基于各所述工作节点可用特殊资源信息的类别,对所述各工作节点进行分组,得到多个工作节点集合,并获取各所述工作节点集合可用的资源信息;
根据各所述容器集合所需的资源信息和各所述工作节点集合可用的资源信息,从所述多个工作节点集合中确定与各所述容器集合分别匹配的目标工作节点集合;
在所述目标工作节点集合中的各工作节点上部署匹配的所述容器集合中各待部署容器。
2.根据权利要求1所述的容器部署方法,其特征在于,根据各所述容器集合所需的资源信息和各所述工作节点集合可用的资源信息,从所述多个工作节点集合中确定与各所述容器集合分别匹配的目标工作节点集合,包括:
根据各所述容器集合所需的资源信息计算各所述容器集合的权重值;
基于各所述容器集合的权重值,从所述多个工作节点集合中确定与各所述容器集合分别匹配的目标工作节点集合。
3.根据权利要求2所述的容器部署方法,其特征在于,基于各所述容器集合的权重值,从所述多个工作节点集合中确定与各所述容器集合分别匹配的目标工作节点集合,包括:
根据各所述工作节点集合可用的资源信息,计算各所述工作节点集合的权重值;
按照各所述容器集合的权重值由大到小的顺序,针对每一个容器集合,从所述多个工作节点集合中确定权重值最大的工作节点集合为匹配的目标工作节点集合。
4.一种资源调度方法,其特征在于,包括:
利用权利要求1至3中任一项所述的容器部署方法,得到在所述目标工作节点集合中的工作节点上部署的所述容器集合中各待部署容器;
获取所述容器集合占用的资源信息和集群的各工作节点所有的资源信息,其中,所述资源信息包括通用资源信息和特殊资源信息,所述通用资源信息为中央处理器CPU、内存、硬盘中的至少一个,所述特殊资源信息为除所述通用资源信息以外的至少一种硬件资源;
根据所述容器集合占用的资源信息和集群的各所述工作节点所有的资源信息,计算所述容器集合的资源信息占用所述工作节点资源信息的占用率,其中所述占用率为所述容器集合已占用的资源信息与各所述工作节点所有的资源信息比值;
基于所述占用率调度所述集群的各工作节点上部署的容器集合。
5.根据权利要求4所述的资源调度方法,其特征在于,基于所述占用率调度所述集群的各工作节点上部署的容器集合,包括:
分别计算所述各工作节点的特殊资源信息占用率和通用资源信息占用率;
根据所述特殊资源信息占用率和所述通用资源信息占用率,调度所述集群的各工作节点上部署的容器集合。
6.根据权利要求5所述的资源调度方法,其特征在于,根据所述特殊资源信息占用率和所述通用资源信息占用率,调度所述集群的各工作节点上部署的容器集合,包括:
若各所述工作节点的特殊资源信息占用率大于第一阈值,则调度所述集群的各工作节点上部署容器集合的数量;
若所述各工作节点的通用资源信息占用率大于第二阈值,且在所述容器集合中包含目标容器集合,所述目标容器集合是占用所述工作节点的通用资源信息大于预设时间的容器集合,则将所述目标容器集合调度到通用资源信息占用率最小的工作节点上。
7.一种容器部署装置,其特征在于,包括:
信息获取模块,用于获取各待部署容器所需的资源信息和集群的各工作节点可用的资源信息,其中,所述资源信息包括通用资源信息和特殊资源信息,所述通用资源信息为中央处理器CPU、内存、硬盘中的至少一个,所述特殊资源信息为除所述通用资源信息以外的至少一种硬件资源;
第一分组模块,用于根据各所述待部署容器所需的特殊资源信息,对各所述待部署容器进行分组,得到多个容器集合,并获取各所述容器集合所需的资源信息;
第二分组模块,用于基于各所述工作节点可用的特殊资源信息,对所述各工作节点进行分组,得到多个工作节点集合,并获取各所述工作节点集合可用的资源信息;
确定模块,用于根据各所述容器集合所需的资源信息和各所述工作节点集合可用的资源信息,从所述多个工作节点集合中确定与各所述容器集合分别匹配的目标工作节点集合;
容器部署模块,用于在所述目标工作节点集合中的各工作节点上部署匹配的所述容器集合中各待部署容器。
8.一种资源调度装置,其特征在于,包括:
利用权利要求1至3中任一项所述的容器部署方法,得到在所述目标工作节点集合中的工作节点上部署的所述容器集合中各待部署容器;
信息获取模块,用于获取所述容器集合占用的资源信息和集群的各工作节点所有的资源信息,其中,所述资源信息包括通用资源信息和特殊资源信息,所述通用资源信息为中央处理器CPU、内存、硬盘中的至少一个,所述特殊资源信息为除所述通用资源信息以外的至少一种硬件资源;
数据计算模块,用于根据所述容器集合占用的资源信息和集群的各所述工作节点所有的资源信息,计算所述容器集合的资源信息占用所述工作节点资源信息的占用率,其中所述占用率为所述容器集合已占用的资源信息与各所述工作节点所有的资源信息比值;
调度模块,用于基于所述占用率调度所述集群的各工作节点上部署的容器集合。
9.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至3中任一项所述的容器部署方法或权利要求4至6中任一项所述的资源调度方法。
10.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1至3中任一项所述的容器部署方法或权利要求4至6中任一项所述的资源调度方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210376957.0A CN114706596B (zh) | 2022-04-11 | 2022-04-11 | 容器部署方法、资源调度方法、装置、介质和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210376957.0A CN114706596B (zh) | 2022-04-11 | 2022-04-11 | 容器部署方法、资源调度方法、装置、介质和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114706596A CN114706596A (zh) | 2022-07-05 |
CN114706596B true CN114706596B (zh) | 2023-12-01 |
Family
ID=82173151
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210376957.0A Active CN114706596B (zh) | 2022-04-11 | 2022-04-11 | 容器部署方法、资源调度方法、装置、介质和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114706596B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115408100A (zh) * | 2022-07-21 | 2022-11-29 | 天翼云科技有限公司 | 容器集群调度的方法、装置、设备及存储介质 |
CN117500068A (zh) * | 2022-07-21 | 2024-02-02 | 中兴通讯股份有限公司 | 基于联邦学习的基站算力调用方法、装置、设备及介质 |
CN114979282B (zh) * | 2022-07-28 | 2023-01-20 | 北京金山云网络技术有限公司 | 任务调度方法、装置、存储介质以及电子设备 |
CN116974744B (zh) * | 2023-03-14 | 2024-05-17 | 福州创星通信息科技有限公司 | 一种用于共享空间的交互控制系统与交互控制方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108228354A (zh) * | 2017-12-29 | 2018-06-29 | 杭州朗和科技有限公司 | 调度方法、系统、计算机设备和介质 |
CN108572867A (zh) * | 2017-03-09 | 2018-09-25 | 株式会社日立制作所 | 为应用部署分布式容器集群且执行该应用的方法和装置 |
CN110851236A (zh) * | 2019-11-11 | 2020-02-28 | 星环信息科技(上海)有限公司 | 一种实时资源调度方法、装置、计算机设备及存储介质 |
CN111263933A (zh) * | 2017-09-30 | 2020-06-09 | 甲骨文国际公司 | 部署的容器平台中的实时调试实例 |
CN112199194A (zh) * | 2020-10-14 | 2021-01-08 | 广州虎牙科技有限公司 | 基于容器集群的资源调度方法、装置、设备和存储介质 |
WO2021175152A1 (zh) * | 2020-03-05 | 2021-09-10 | 北京金山云网络技术有限公司 | 容器集群系统、容器控制台和服务器 |
CN113986458A (zh) * | 2021-10-21 | 2022-01-28 | 百果园技术(新加坡)有限公司 | 容器集合调度方法、装置、设备及存储介质 |
CN114035941A (zh) * | 2021-10-18 | 2022-02-11 | 阿里巴巴(中国)有限公司 | 资源调度系统、方法以及计算设备 |
CN114237894A (zh) * | 2021-12-17 | 2022-03-25 | 中国电信股份有限公司 | 容器调度方法、装置、设备以及可读存储介质 |
-
2022
- 2022-04-11 CN CN202210376957.0A patent/CN114706596B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108572867A (zh) * | 2017-03-09 | 2018-09-25 | 株式会社日立制作所 | 为应用部署分布式容器集群且执行该应用的方法和装置 |
CN111263933A (zh) * | 2017-09-30 | 2020-06-09 | 甲骨文国际公司 | 部署的容器平台中的实时调试实例 |
CN108228354A (zh) * | 2017-12-29 | 2018-06-29 | 杭州朗和科技有限公司 | 调度方法、系统、计算机设备和介质 |
CN110851236A (zh) * | 2019-11-11 | 2020-02-28 | 星环信息科技(上海)有限公司 | 一种实时资源调度方法、装置、计算机设备及存储介质 |
WO2021175152A1 (zh) * | 2020-03-05 | 2021-09-10 | 北京金山云网络技术有限公司 | 容器集群系统、容器控制台和服务器 |
CN112199194A (zh) * | 2020-10-14 | 2021-01-08 | 广州虎牙科技有限公司 | 基于容器集群的资源调度方法、装置、设备和存储介质 |
CN114035941A (zh) * | 2021-10-18 | 2022-02-11 | 阿里巴巴(中国)有限公司 | 资源调度系统、方法以及计算设备 |
CN113986458A (zh) * | 2021-10-21 | 2022-01-28 | 百果园技术(新加坡)有限公司 | 容器集合调度方法、装置、设备及存储介质 |
CN114237894A (zh) * | 2021-12-17 | 2022-03-25 | 中国电信股份有限公司 | 容器调度方法、装置、设备以及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114706596A (zh) | 2022-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114706596B (zh) | 容器部署方法、资源调度方法、装置、介质和电子设备 | |
Foukas et al. | Concordia: Teaching the 5G vRAN to share compute | |
Angelakis et al. | Allocation of heterogeneous resources of an IoT device to flexible services | |
CN107708214B (zh) | 基于李雅普诺夫的网络效用最大化虚拟资源分配方法 | |
CN102308650B (zh) | 无线通信网络中的多上行链路载波分配 | |
JP6515931B2 (ja) | 無線基地局装置、基地局セル処理リソース割り当て方法およびプログラム | |
WO2014094310A1 (zh) | 资源调度的方法和装置 | |
CN111338779B (zh) | 资源分配方法、装置、计算机设备和存储介质 | |
CN105144109A (zh) | 分布式数据中心技术 | |
CN111324424B (zh) | 一种虚拟机部署方法、装置、服务器及存储介质 | |
CN110267276B (zh) | 网络切片部署方法及装置 | |
CN112905342A (zh) | 资源调度方法、装置、设备及计算机可读存储介质 | |
JP2023521398A (ja) | リソース決定方法及び機器 | |
CN111510959A (zh) | 一种部署nRT RIC功能的方法和设备 | |
CN111769988A (zh) | 一种多切片共享基站资源的管理方法 | |
CN113535376B (zh) | 一种算力调度方法、集中控制设备及算力申请设备 | |
CN118251953A (zh) | 基于频谱利用在资源受限环境中复用多种无线技术的系统和方法 | |
WO2016184166A1 (zh) | 载波聚合带宽分配的方法及装置 | |
CN115220920A (zh) | 资源调度方法及装置、存储介质、电子设备 | |
CN117082477A (zh) | 任务处理方法和装置、系统、存储介质及电子设备 | |
CN115878309A (zh) | 资源分配方法、装置、处理核、设备和计算机可读介质 | |
WO2024208304A1 (zh) | 用于资源调度的方法、设备、装置和介质 | |
CN112565320B (zh) | 负载均衡方法及装置 | |
CN113473488B (zh) | 一种基于容器的cu与mec共平台部署方法 | |
CN117891618B (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 |