CN115525394A - 容器数量的调整方法及装置 - Google Patents
容器数量的调整方法及装置 Download PDFInfo
- Publication number
- CN115525394A CN115525394A CN202211175211.XA CN202211175211A CN115525394A CN 115525394 A CN115525394 A CN 115525394A CN 202211175211 A CN202211175211 A CN 202211175211A CN 115525394 A CN115525394 A CN 115525394A
- Authority
- CN
- China
- Prior art keywords
- resource
- load rate
- load
- container
- rates
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000004364 calculation method Methods 0.000 claims description 22
- 238000001914 filtration Methods 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 16
- 238000012545 processing Methods 0.000 claims description 11
- 230000006641 stabilisation Effects 0.000 claims description 4
- 238000011105 stabilization Methods 0.000 claims description 4
- 238000012163 sequencing technique Methods 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 abstract description 11
- 238000009499 grossing Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 230000008602 contraction Effects 0.000 description 6
- 238000005259 measurement Methods 0.000 description 6
- 238000012549 training Methods 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000007689 inspection Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000002474 experimental method Methods 0.000 description 4
- 230000001419 dependent effect Effects 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 102100033121 Transcription factor 21 Human genes 0.000 description 1
- 101710119687 Transcription factor 21 Proteins 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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
-
- 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/5083—Techniques for rebalancing the load in a distributed system
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请实施例提供了一种容器数量的调整方法及装置,其中,该方法包括:获取目标应用中的任意一个容器在多个时刻下的资源负载数据集,分别根据资源负载数据集计算容器对各个资源的资源负载率,得到多组资源负载率;根据每组资源负载率中的多个资源负载率计算综合负载率,得到容器在每个时刻下的综合负载率;根据容器在各个时刻的综合负载率生成容器的负载率序列;将负载率序列输入预设预测模型中,得到容器在目标时刻的综合负载率的预测值,并根据预测值调整目标应用中的容器数量。通过本申请,解决了相关技术中无法准确确定应用中的资源负载率,并且在确定资源负载率后无法及时变更应用中的容器数量的问题。
Description
技术领域
本申请实施例涉及计算机领域,具体而言,涉及一种容器数量的调整方法及装置。
背景技术
随着虚拟化技术和云计算技术的快速发展,基于Hypervisor传统虚拟化的云计算技术因为其较低的资源利用率等一系列问题,已经逐渐被以Docker为代表的基于容器虚拟化的容器技术所代替。
相比于传统虚拟化技术,Docker容器技术通过复用本地操作系统来提高启动速度,减少开销。同时因为Docker容器技术简化了应用的部署工作,受到广大开发者的欢迎。然而在面对大规模集群的容器组时,对这些容器进行管理会显得非常困难。Kubernetes是Google的Borg开源版本,Docker容器集群编排调度系统,使用Master-Slave模型为容器化应用提供资源调度、自动化部署、服务发现、弹性伸缩、资源监控等服务。其中弹性伸缩是通过监测用户指定的评价指标,使用阈值的方式对应用进行水平扩容和缩容,以保障应用的服务质量和最大化地节省资源。
当前Kubernetes内置的弹性伸缩策略为通过HPA(Horizontal Pod Autoscaler)实现Pod的自动伸缩。在部署K8s应用时会设置某项资源监测指标和该资源的目标平均使用率阈值TAU。则该指标的伸缩阈值计算公式为
其中tolarence为系统中的默认值0.1,设置该参数是为了防止应用出现频繁地扩容和缩容。up和down分别是伸缩的上下限阈值。假设当前共有k个该应用的pod,HPA通过轮询的方式获取当前该pod集合中所有的该资源使用量Ui,求得当前资源利用率和CAU为:
其中request代表该pod中资源的分配量。如果k*down≤CAU≤k*up,则不需要扩缩容,否则需要进行扩缩容操作,计算公式为:
TPN=ceil(CAU/TAU) (3)
其中TPN代表目标pod个数,ceil表示对计算结果向上取整。为了限制pod数量,有如下约束:
其中,Rmin为pod数量的最小值,Rmax为pod数量的最大值。
以上是Kubernetes实现伸缩功能的流程概述。从上面的分析可以看出。虽然Kubernetes内置的水平伸缩的算法比较简单,但是存在两个比较明显的问题:单一衡量指标和响应延时。在面对复杂应用系统时,应用涉及多种资源类型的消耗可能会随着时间和业务的变化而发生变化,单一衡量指标无法准确地衡量应用整体负载的情况。当应用面对突发的负载变化时,在pod扩展之前的应用服务质量无法保障,甚至可能会发生应用因为负载太高而崩溃的现象。
发明内容
本申请实施例提供了一种容器数量的调整方法及装置,以至少解决相关技术中无法准确确定应用中的资源负载率,并且在确定资源负载率后无法及时变更应用中的容器数量的问题。
本申请的一个实施例,提供了一种容器数量的调整方法,包括:
在一个示例性实施例中,获取目标应用中的任意一个容器在多个时刻下的资源负载数据集,得到多个资源负载数据集,并分别根据资源负载数据集中的资源使用量和资源占用量计算容器对各个资源的资源负载率,得到多组资源负载率,其中,目标应用中包含至少一个容器,每个容器的资源负载数据集相同;根据每组资源负载率中的多个资源负载率计算综合负载率,得到容器在每个时刻下的综合负载率;根据容器在各个时刻的综合负载率生成容器的负载率序列;将负载率序列输入预设预测模型中,得到容器在目标时刻的综合负载率的预测值,并根据预测值调整目标应用中的容器数量,其中,预设预测模型中包括时间序列预测模型和卡尔曼滤波模型,目标时刻是与多个时刻不同的最大时刻。
可选地,根据每组资源负载率中的多个资源负载率计算综合负载率包括:在多个资源负载率中存在大于等于第一资源负载率的资源负载率的情况下,将大于等于第一资源负载率的资源负载率确定为综合负载率,或;在多个资源负载率均小于等于第二资源负载率的资源负载率的情况下,将多个资源负载率中的最大负载率确定为综合负载率,其中,第一资源负载率大于第二资源负载率,或;在每个资源负载率均大于第二资源负载率,并且小于第一资源负载率的情况下,对多个资源负载率加权求和,得到综合负载率。
可选地,对多个资源负载率加权求和,得到综合负载率包括:将多个资源负载率相加,得到多个资源负载率之和;依次将每个资源负载率与多个资源负载率之和相除,得到每个资源负载率的权值;通过每个资源负载率和对应的权值进行加权求和计算,得到每组资源负载率的综合负载率。
可选地,根据容器在各个时刻的综合负载率生成容器的负载率序列包括:按照时刻由小到大的顺序将综合负载率进行排序,得到候选负载率序列;判断候选负载率序列是否为平稳数据,其中,平稳数据为围绕均值不断波动的数据;在候选负载率序列是平稳数据的情况下,将候选负载率序列确定为负载率序列;在候选负载率序列不是平稳数据的情况下,将候选负载率序列进行平稳化处理,得到负载率序列。
可选地,根据预测值调整目标应用中的容器数量包括:判断预测值是否大于第一预测值,并判断预测值是否小于第二预测值,其中,第一预测值大于第二预测值;在预测值大于第一预测值的情况下,在目标应用中添加预设数量的容器;在预测值小于第二预测值的情况下,在目标应用中清除预设数量的容器;在预测值小于等于第一预测值,并且大于等于第二预测值的情况下,保持目标应用中的容器数量不变。
可选地,将负载率序列输入预设预测模型中,得到容器在目标时刻的综合负载率的预测值包括:将负载率序列输入时间序列预测模型中,得到候选预测值;将负载率序列与候选预测值输入卡尔曼滤波模型中,通过卡尔曼滤波模型和负载率序列对候选预测值进行修正,得到综合负载率的预测值。
可选地,根据资源负载数据集中的资源使用量和资源占用量计算容器对各个资源的资源负载率,得到多组资源负载率包括:确定容器占用的每个资源的资源使用量和资源占用量;分别将每个资源的资源使用量除以资源占用量,得到多个资源负载率;将多个资源负载率分为一组,得到容器在同一时刻下的一组资源负载率。
根据本申请的另一个实施例,提供了一种容器数量的调整装置,包括:获取模块,用于获取目标应用中的任意一个容器在多个时刻下的资源负载数据集,得到多个资源负载数据集,并分别根据资源负载数据集中的资源使用量和资源占用量计算容器对各个资源的资源负载率,得到多组资源负载率,其中,目标应用中包含至少一个容器,每个容器的资源负载数据集相同;计算模块,用于根据每组资源负载率中的多个资源负载率计算综合负载率,得到容器在每个时刻下的综合负载率;生成模块,用于根据容器在各个时刻的综合负载率生成容器的负载率序列;预测模块,用于将负载率序列输入预设预测模型中,得到容器在目标时刻的综合负载率的预测值,并根据预测值调整目标应用中的容器数量,其中,预设预测模型中包括时间序列预测模型和卡尔曼滤波模型,目标时刻是与多个时刻不同的最大时刻。
根据本申请的又一个实施例,还提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本申请的又一个实施例,还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本申请,通过获取容器占用的每个资源的占用量和使用量,从而确定容器对于每个资源的资源负载率,并根据资源之间的重要程度不同,对资源负载率进行加权求和计算,得到准确的容器的综合负载率,并将多个历史时刻的综合负载率作为训练数据对由时间序列预测模型和卡尔曼滤波模型组成的组合模型进行训练,达到可以根据训练数据准确预测容器的综合负载率的效果,进而可以根据预测值提前对应用中的容器数量进行变更,保证应用可以及时准确的执行弹性伸缩操作。因此,可以有效的解决相关技术中无法准确确定应用中的资源负载率,并且在确定资源负载率后无法及时变更应用中的容器数量的问题。
附图说明
图1是本申请实施例的一种容器数量的调整方法的移动终端的硬件结构框图;
图2是根据本申请实施例的容器数量的调整方法的流程图;
图3是根据本申请实施例的可选的候选负载率序列的示意图一;
图4是根据本申请实施例的可选的候选负载率序列的示意图二;
图5是根据本申请实施例的可选的预测值误差程度的示意图;
图6是根据本申请实施例的容器数量的调整装置的示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本申请的实施例。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本申请实施例中所提供的方法实施例可以在移动终端(电子设备)、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本申请实施例的一种容器数量的调整方法的移动终端的硬件结构框图。如图1所示,移动终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,其中,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本申请实施例中的容器数量的调整方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
为了便于描述,以下对本申请实施例涉及的部分名词或术语进行说明:
Kubernetes:是用于自动部署,扩展和管理容器化应用程序的开源系统,简称k8s。
Pod是由一个或一个以上的容器(例如Docker容器)组成的容器集合,且具有共享存储/网络/UTS/PID的能力,以及运行容器的规范,在Kubernetes中,Pod是最小的可被调度的原子单位。
CLR:Comprehensive Load Rate综合负载率。
ARIMA:Autoregressive Integrated Moving Average model差分自回归平稳滑动平均模型。
HPA:Horizontal Pod Autoscaler:水平Pod自动伸缩。
在本实施例中提供了一种运行于上述移动终端(电子设备)的方法,图2是根据本申请实施例的容器数量的调整方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,获取目标应用中的任意一个容器在多个时刻下的资源负载数据集,得到多个资源负载数据集,并分别根据资源负载数据集中的资源使用量和资源占用量计算容器对各个资源的资源负载率,得到多组资源负载率,其中,目标应用中包含至少一个容器,每个容器的资源负载数据集相同。
具体的,目标应用可以为在k8s集群管理下的容器化应用程序,容器可以为k8s中最小的可被调度的单位pod,每个pod中可以包含一个或多个容器,因此,每个pod也可以为一个容器组。
在应用中存在多个pod的情况下,由于每个pod的资源占用情况相同,因此,在确定资源占用率的时候,可以仅计算应用中的任意一个pod的资源占用率,并根据得到的资源占用率结果反映整个应用的资源占用情况,从而可以根据资源占用情况对应用中的pod数量进行弹性伸缩调整。
因此,可以获取目标应用中的任意一个容器在多个时刻下的资源负载数据集,得到多个资源负载数据集。其中,每个资源负载集中包括该pod在一个时刻下对应用中的多个资源的使用情况以及每个资源的分配情况。
例如,在A时刻,1号pod占用的资源为内存,并且该应用中存在2个pod,内存分配给该应用的分配量为2G,则每个pod中的内存分配量即为1G,其中,分配量也即该应用中的pod的占用量,因此,在计算的时候,将分配至pod的资源命名为资源占用量。
在从资源负载数据集中获取了资源占用量之后,还需要在相同时间下同一个pod的资源使用量,也即,已经使用了该资源的使用量。在确定了该pod的资源负载数据集中的资源使用量和资源占用量后,即可根据资源使用量和资源占用量计算该pod对各个资源的资源负载率,也即某时刻下某pod对各个的资源负载率,并将各个资源的资源负载率组合为该时刻下该pod的一组资源负载率信息。
步骤S204,根据每组资源负载率中的多个资源负载率计算综合负载率,得到容器在每个时刻下的综合负载率。
具体的,在得到某个时刻下某个pod的一组资源负载率后,即可根据该组资源负载率中的多个资源负载率确定该容器在该时刻下的综合负载率。其中,综合负载率即为综合多个资源的资源使用情况后得到的综合使用情况,因此,需要根据资源之间的重要程度对综合负载率进行计算,从而可以更加准确的衡量应用中的整体负载水平。
步骤S206,根据容器在各个时刻的综合负载率生成容器的负载率序列。
具体的,在得到该pod在每个时刻下的综合负载率后,可以按照时刻由小到大的顺序生成该pod的综合负载率的时间序列,并将该时间序列确定为pod的负载率序列。
步骤S208,将负载率序列输入预设预测模型中,得到容器在目标时刻的综合负载率的预测值,并根据预测值调整目标应用中的容器数量,其中,预设预测模型中包括时间序列预测模型和卡尔曼滤波模型,目标时刻是与多个时刻不同的最大时刻。
具体的,预设预测模型由时间序列预测模型和卡尔曼滤波模型组合构成,其中,时间序列预测模型为ARIMA模型(Autoregressive Integrated Moving Average model差分自回归平稳滑动平均模型),该模型是时间序列预测方法,可以将非平稳时间序列转化为平稳时间序列,让因变量对其滞后值及随机误差项的现值和滞后值进行回归,从而完成对数据的预测。卡尔曼滤波模型则是一种获取变量的最佳估计,将过去的测量估计误差合并到新的测量误差中来估计将来的误差,来对系统状态进行最优估计的算法。通过将两种模型相结合,可以减小资源负载率的预测值的误差,从而提高了预测值的准确性。
在得到预测值后,可以根据预测值对应用中的pod的数量进行变更,通过提前对应用中的pod进行弹性伸缩,从而保证了应用的服务质量。
通过上述步骤,解决相关技术中无法准确确定应用中的资源负载率,并且在确定资源负载率后无法及时变更应用中的容器数量的问题。提高了计算容器的综合负载率的准确度,并且达到可以根据训练数据准确预测容器的综合负载率的效果,进而可以根据预测值提前对应用中的容器数量进行变更,保证应用可以及时准确的执行弹性伸缩操作。
其中,上述步骤的执行主体可以为移动终端(电子设备)、计算机终端或者类似的运算装置等,但不限于此。
可选地,根据资源负载数据集中的资源使用量和资源占用量计算容器对各个资源的资源负载率,得到多组资源负载率包括:确定容器占用的每个资源的资源使用量和资源占用量;分别将每个资源的资源使用量除以资源占用量,得到多个资源负载率;将多个资源负载率分为一组,得到容器在同一时刻下的一组资源负载率。
具体的,在计算每个pod占用的每个资源的资源负载率的时候,需要确定占用的每个资源的资源使用量Ui和资源占用量Ri,其中,i为第i个资源。之后,可以将每个资源的资源使用量Ui和资源占用量Ri相除,从而得到pod对每个资源的资源负载率。
例如,影响应用的服务质量的因素有许多,可以包括CPU、内存、网络、磁盘I/O等多个基础指标。假设当前pod节点涉及的资源种类为n,Ci表示pod占用的第i种资源的资源负载率,则计算Ci的公式可以为:
Ci=Ui/Ri (5)
其中,Ui为资源使用量,Ri为资源占用量,也即资源分配量。从而确定pod使用的每个资源的资源负载率,并将多个资源负载率分为一组,得到该pod在该时刻下的一组资源负载率。
可选地,根据每组资源负载率中的多个资源负载率计算综合负载率包括:在多个资源负载率中存在大于等于第一资源负载率的资源负载率的情况下,将大于等于第一资源负载率的资源负载率确定为综合负载率,或;在多个资源负载率均小于等于第二资源负载率的资源负载率的情况下,将多个资源负载率中的最大负载率确定为综合负载率,其中,第一资源负载率大于第二资源负载率,或;在每个资源负载率均大于第二资源负载率,并且小于第一资源负载率的情况下,对多个资源负载率加权求和,得到综合负载率。
需要说明的是,在得到某个pod在某时刻下的一组资源负载率后,需要根据资源负载率确定该pod在该时刻下的综合负载率,从而根据综合负载率全面反映出当前pod节点整体负载水平,进而为是否进行弹性伸缩提供数据支持。
具体的,记Cmax为该组资源负载率中的最大资源负载率值,为了保证应用的服务质量,防止出现只有一种资源消耗非常高,其他资源负载率相对较低,导致在应该进行扩容的情况下,由于综合负载率没有达到扩容阈值,使得该应用未正常扩容的情况发生。因此,需要确定该组资源负载率中的Cmax是否大于第一负载率,其中,第一负载率即为资源负载率的上限值,在该组资源负载率中存在超过上限值的资源负载率的情况下,将该组的综合负载率,也即CLR确定为Cmax。
进一步的,为了减少计算的复杂度,当某项资源负载率低于第二资源负载率,也即下限阈值时,认为该资源的负载率对应用负载几乎没有影响,则该资源的负载率将不作为计算综合负载率CLR的参数。因此,在Cmax小于第二资源负载率,也即全部资源负载率小于第二资源负载率的情况下,令CLR=Cmax,从而保证CLR值过低,从而影响后续对综合负载率的预测情况。
在Cmax处于第一资源负载率和第二资源负载率之间的情况下,可以将该组资源负载率中的资源负载率的值大于第二资源负载率的资源负载率进行加权求和计算,从而达到了在简化计算复杂度和保证应用服务质量的前提下,将资源之间的差异也体现在综合负载率中,进而准确全面反映出当前pod节点整体负载水平。
可选地,对多个资源负载率加权求和,得到综合负载率包括:将多个资源负载率相加,得到多个资源负载率之和;依次将每个资源负载率与多个资源负载率之和相除,得到每个资源负载率的权值;通过每个资源负载率和对应的权值进行加权求和计算,得到每组资源负载率的综合负载率。
具体的,在Cmax处于第一资源负载率和第二资源负载率之间的情况下,由于某项负载的利用率越高,对CLR的影响越大,所以需要先计算每个资源负载率的动态权值,权值的计算公式为:
其中,k为该组资源负载率中负载率的值处于第一资源负载率和第二资源负载率之间的资源负载率的个数,mi为第i个资源负载率的权值,Ci表示pod占用的第i种资源的资源负载率。
进一步的,在确定每个资源负载率的动态权值后,可以将多个资源负载率进行加权求和,从而得到pod的综合负载率CLR。综合负载率的计算公式如下所示:
根据以上公式,最终计算出当前pod的CLR,该CLR指标在简化计算复杂度和保证应用服务质量的前提下,全面反映出当前pod的整体负载水平。
可选地,根据容器在各个时刻的综合负载率生成容器的负载率序列包括:按照时刻由小到大的顺序将综合负载率进行排序,得到候选负载率序列;判断候选负载率序列是否为平稳数据,其中,平稳数据为围绕均值不断波动的数据;在候选负载率序列是平稳数据的情况下,将候选负载率序列确定为负载率序列;在候选负载率序列不是平稳数据的情况下,将候选负载率序列进行平稳化处理,得到负载率序列。
具体的,在计算得到每个时刻的综合负载率后,可以将多个综合负载率按照时间的先后顺序进行排序,从而得到随时间变化的综合负载率的时间序列,得到候选负载率序列。
进一步的,在得到候选负载率序列后,为了保证数据的平稳化,因此需要对候选负载率序列利用平稳性检验方法ADF(Augmented Dickey-Fuller Test扩张的迪基-福勒检测)检验进行判断,从而确定候选负载率序列是否为平稳数据序列,在为平稳数据的情况下,可以直接将候选负载率序列确定为负载率序列;在不是平稳数据的情况下,需要通过差分进行平稳化处理至ADF检验满足要求。
例如,图3是根据本申请实施例的可选的候选负载率序列的示意图一,如图3所示,在候选负载率序列的图像为图3中的样式的情况下,表征该数据为平稳数据。图4是根据本申请实施例的可选的候选负载率序列的示意图二,如图4所示,在候选负载率序列的图像为图4中的样式的情况下,表征该数据为不平稳数据,此时,需要通过差分的方式将候选负载率序列进行平稳化处理,从而将图像从图4变更为图3的样式,从而使得数据满足平稳性检验方法ADF的检验。
可选地,根据预测值调整目标应用中的容器数量包括:判断预测值是否大于第一预测值,并判断预测值是否小于第二预测值,其中,第一预测值大于第二预测值;在预测值大于第一预测值的情况下,在目标应用中添加预设数量的容器;在预测值小于第二预测值的情况下,在目标应用中清除预设数量的容器;在预测值小于等于第一预测值,并且大于等于第二预测值的情况下,保持目标应用中的容器数量不变。
具体的,在得到预测值后,可以以根据预测值对应用中的pod数量进行调整,在预测值大于第一预测值的情况下,表征该应用中的每个pod的负载率超过上限,因此需要在该应用中添加新的pod从而缓解应用中的负载压力,在预测值小于第二预测值的情况下,表征该应用中的每个pod的负载率小于下限,因此需要将该应用中的某个pod进行删除,从而将该pod分配至其他需要添加新的pod的应用中,从而完成pod的合理分配,进而通过对应用负载进行准确的预测,解决了应用中弹性伸缩的响应延迟的问题。
可选地,将负载率序列输入预设预测模型中,得到容器在目标时刻的综合负载率的预测值包括:将负载率序列输入时间序列预测模型中,得到候选预测值;将负载率序列与候选预测值输入卡尔曼滤波模型中,通过卡尔曼滤波模型和负载率序列对候选预测值进行修正,得到综合负载率的预测值。
具体的,时间序列预测模型可以为差分自回归平稳滑动平均模型(ARIMA),是时间序列预测方法,该模型将非平稳时间序列转化为平稳时间序列,让因变量对其滞后值及随机误差项的现值和滞后值进行回归。ARIMA模型的优点在于只需要有限的样本序列,就可以建立精度较高的预测模型。但是该模型存在低阶模型预测精度低,高阶模型参数估计难度大的缺点。
卡尔曼滤波是一种获取变量的最佳估计,将过去的测量估计误差合并到新的测量误差中来估计将来的误差,来对系统状态进行最优估计的算法。卡尔曼滤波算法采用递归的形式,不需要全部的数据,只需要根据tk时刻的测量值修正tk-1时刻的估计值,具有动态加权修正的特性,具有较好的预测精确度。但是卡尔曼滤波算法需要状态方程和测量方程才能保证有很好的预测精度。
因此,针对以上对ARIMA预测模型和卡尔曼滤波模型的描述,可以通过使用ARIMA-Kalman模型,将两种预测模型结合的方式,从而减少两种模型中的缺陷对预测结果的影响,其中,ARIMA-Kalman模型为通过历史负载率序列中的靠前时刻的序列作为输入,将得到的结果与靠后时刻的序列中的综合负载率进行对比,从而完成对ARIMA-Kalman模型的训练,从而得到完成训练的预测模型。
首先,将得到的平稳化的负载率序列输入ARIMA-Kalman模型中,利用ARIMA模型建立低阶预测模型,将该低阶模型处理后计算卡尔曼滤波模型的状态方程和测量方程,使用卡尔曼迭代方程进行预测,从而得到准确的综合负载率的预测值。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
下面提供一个根据本申请中的技术方法进行的实验流程以及实验结果。
首先,为了进行对比实验,搭建了两个相同Kubernetes集群环境,Kubernetes的版本都是1.20.5,每个集群包含一个Master节点和两个Slave节点。其中一个集群使用内置的弹性伸缩方法,另一个集群使用本申请实施例提出的容器数量的调整方法。
其次,需要选取实验数据,也即多个资源负载数据集。数据集中包括CPU利用率、内存使用率,网络以及磁盘IO等多个维度的资源使用情况。由于该公开的数据采样的时间间隔不相等,去除时间间隔较近的点并对个别时间间隔较长的数据中间使用均值补差进行补充,使时间间隔大致相等。
进一步的,需要确定检测内容。对本申请实施例提出的容器数量的调整方法需要从功能性和准确性两个方面进行实验验证。所以实验应该包含两个部分:1)使用JMeter工具对Kubernetes的pod进行压力测试,分别记录两个集群的pod的数量变化情况并进行对比。验证本文的pod数量弹性伸缩方法在应对负载变化时的预测伸缩效果。2)使用公开容器负载信息,计算出CLR序列。分别使用指数平滑法,ARIMA预测模型和ARIMA-Kalman预测模型进行预测并对这三种预测模型的预测精度进行评估。
在进行实验时,首先在两个实验环境中分别部署一个相同的Web应用,伸缩阈值设置为60%,容忍度设置为默认的0.1。利用JMeter工具进行模拟并发访问请求,每隔1min增加并发请求数量并检查当前pod的数量。其中使用本文的pod数量弹性伸缩方法的实验环境使用Prometheus获取pod的资源信息并计算CLR进行预测。表1是根据本申请实施例的可选的pod数量变化示意图。
表1
从表1中可以看出,相比内置的伸缩策略方法,本申请使用的方法可以提前针对负载的变化趋势进行预测式的弹性伸缩,从而解决Kubernetes内置的伸缩策略的响应延迟问题,保障了服务的质量。
为了比较本文使用的ARIMA-Kalman预测模型和其他模型的精度,在对多个资源负载数据集进行处理后计算出多个时刻的CLR,并将CLR作为模型预测的输入。分别使用绝对误差(MAE)、平均绝对误差(MSE)、平均绝对均方误差(MSRE)这三种最常见的衡量指标对指数平滑法以及ARIMA预测模型和本文使用的ARIMA-Kalman预测模型进行评估。
每个容器的处理后的采样数据约为650~800个,统一选取前550个信息节点作为训练数据,后100个数据作为预测。指数平滑法,ARIMA预测模型和ARIMA-Kalman的预测值的误差图如图5所示。
由图5可以直观看出,ARIMA-Kalman的误差相对其他两种方法更小。由于ARIMA模型的参数确定过程计算量较大,不适合对数据模型进行动态更新,只适合做短期预测,本文一次性预测100个数据点,所以整体误差较大。指数平滑法由于使用了所有历史节点的信息,在使用中会消耗更多的内存资源,而且没有考虑到数据变化的规律性。ARIMA-Kalman模型通过建立低阶的ARIMA模型确定状态转移方程,使用Kalman模型进行更新迭代预估,其精确度相比ARIMA和指数平滑法较大的提升。表2是各模型评价指标对比结果。
表2
模型/评价指标 | MAE | MSE | RMSE |
指数平滑法 | 0.02269 | 0.00185 | 0.04301 |
ARIMA | 0.02392 | 0.00135 | 0.03681 |
ARIMA-Kalman | 0.01208 | 0.00038 | 0.01959 |
可以看出,相比于指数平滑法、ARIMA模型,本文所使用的ARIMA-Kalman预测模型的预测精度更优。在面对负载变化的情况,能够准确地进行预测。
在本实施例中还提供了一种容器数量的调整装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图6是根据本申请实施例的容器数量的调整装置的示意图,如图6所示,该装置包括:
获取模块61,用于获取目标应用中的任意一个容器在多个时刻下的资源负载数据集,得到多个资源负载数据集,并分别根据资源负载数据集中的资源使用量和资源占用量计算容器对各个资源的资源负载率,得到多组资源负载率,其中,目标应用中包含至少一个容器,每个容器的资源负载数据集相同。
计算模块62,用于根据每组资源负载率中的多个资源负载率计算综合负载率,得到容器在每个时刻下的综合负载率。
生成模块63,用于根据容器在各个时刻的综合负载率生成容器的负载率序列。
预测模块64,用于将负载率序列输入预设预测模型中,得到容器在目标时刻的综合负载率的预测值,并根据预测值调整目标应用中的容器数量,其中,预设预测模型中包括时间序列预测模型和卡尔曼滤波模型,目标时刻是与多个时刻不同的最大时刻。
本申请实施例提供的容器数量的调整装置,通过获取模块61,用于获取目标应用中的任意一个容器在多个时刻下的资源负载数据集,得到多个资源负载数据集,并分别根据资源负载数据集中的资源使用量和资源占用量计算容器对各个资源的资源负载率,得到多组资源负载率,其中,目标应用中包含至少一个容器,每个容器的资源负载数据集相同。计算模块62,用于根据每组资源负载率中的多个资源负载率计算综合负载率,得到容器在每个时刻下的综合负载率。生成模块63,用于根据容器在各个时刻的综合负载率生成容器的负载率序列。预测模块64,用于将负载率序列输入预设预测模型中,得到容器在目标时刻的综合负载率的预测值,并根据预测值调整目标应用中的容器数量,其中,预设预测模型中包括时间序列预测模型和卡尔曼滤波模型,目标时刻是与多个时刻不同的最大时刻。达到可以根据训练数据准确预测容器的综合负载率的效果,进而可以根据预测值提前对应用中的容器数量进行变更,保证应用可以及时准确的执行弹性伸缩操作。因此,可以有效的解决相关技术中无法准确确定应用中的资源负载率,并且在确定资源负载率后无法及时变更应用中的容器数量的问题。
可选地,在本申请实施例提供的容器数量的调整装置中,计算模块62包括:第一确定子模块,用于在多个资源负载率中存在大于等于第一资源负载率的资源负载率的情况下,将大于等于第一资源负载率的资源负载率确定为综合负载率,或;第二确定子模块,用于在多个资源负载率均小于等于第二资源负载率的资源负载率的情况下,将多个资源负载率中的最大负载率确定为综合负载率,其中,第一资源负载率大于第二资源负载率,或;第一计算子模块,用于在每个资源负载率均大于第二资源负载率,并且小于第一资源负载率的情况下,对多个资源负载率加权求和,得到综合负载率。
可选地,在本申请实施例提供的容器数量的调整装置中,第一计算子模块包括:第一计算单元,用于将多个资源负载率相加,得到多个资源负载率之和;第二计算单元,用于依次将每个资源负载率与多个资源负载率之和相除,得到每个资源负载率的权值;第三计算单元,用于通过每个资源负载率和对应的权值进行加权求和计算,得到每组资源负载率的综合负载率。
可选地,在本申请实施例提供的容器数量的调整装置中,根据生成模块63包括:排序子模块,用于按照时刻由小到大的顺序将综合负载率进行排序,得到候选负载率序列;第一判断子模块,用于判断候选负载率序列是否为平稳数据,其中,平稳数据为围绕均值不断波动的数据;第三确定子模块,用于在候选负载率序列是平稳数据的情况下,将候选负载率序列确定为负载率序列;处理子模块,用于在候选负载率序列不是平稳数据的情况下,将候选负载率序列进行平稳化处理,得到负载率序列。
可选地,在本申请实施例提供的容器数量的调整装置中,预测模块64包括:第二判断子模块,用于判断预测值是否大于第一预测值,并判断预测值是否小于第二预测值,其中,第一预测值大于第二预测值;第一添加子模块,用于在预测值大于第一预测值的情况下,在目标应用中添加预设数量的容器;第二添加子模块,用于在预测值小于第二预测值的情况下,在目标应用中清除预设数量的容器;保持子模块,用于在预测值小于等于第一预测值,并且大于等于第二预测值的情况下,保持目标应用中的容器数量不变。
可选地,在本申请实施例提供的容器数量的调整装置中,预测模块64包括:第一输入子模块,用于将负载率序列输入时间序列预测模型中,得到候选预测值;第二输入子模块,用于将负载率序列与候选预测值输入卡尔曼滤波模型中,通过卡尔曼滤波模型和负载率序列对候选预测值进行修正,得到综合负载率的预测值。
可选地,在本申请实施例提供的容器数量的调整装置中,获取模块61包括:第四确定子模块,用于确定容器占用的每个资源的资源使用量和资源占用量;第二计算子模块,用于分别将每个资源的资源使用量除以资源占用量,得到多个资源负载率;分组子模块,用于将多个资源负载率分为一组,得到容器在同一时刻下的一组资源负载率。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本申请的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本申请的实施例还提供了一种电子设备,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述电子设备还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种容器数量的调整方法,其特征在于,包括:
获取目标应用中的任意一个容器在多个时刻下的资源负载数据集,得到多个资源负载数据集,并分别根据资源负载数据集中的资源使用量和资源占用量计算所述容器对各个资源的资源负载率,得到多组资源负载率,其中,所述目标应用中包含至少一个容器,每个容器的资源负载数据集相同;
根据每组资源负载率中的多个资源负载率计算综合负载率,得到所述容器在每个时刻下的综合负载率;
根据所述容器在各个时刻的综合负载率生成所述容器的负载率序列;
将所述负载率序列输入预设预测模型中,得到所述容器在目标时刻的综合负载率的预测值,并根据所述预测值调整所述目标应用中的容器数量,其中,所述预设预测模型中包括时间序列预测模型和卡尔曼滤波模型,所述目标时刻是与所述多个时刻不同的最大时刻。
2.根据权利要求1所述的方法,其特征在于,根据每组资源负载率中的多个资源负载率计算综合负载率包括:
在所述多个资源负载率中存在大于等于第一资源负载率的资源负载率的情况下,将大于等于所述第一资源负载率的资源负载率确定为所述综合负载率,或;
在所述多个资源负载率均小于等于第二资源负载率的资源负载率的情况下,将多个资源负载率中的最大负载率确定为所述综合负载率,其中,所述第一资源负载率大于所述第二资源负载率,或;
在每个所述资源负载率均大于所述第二资源负载率,并且小于所述第一资源负载率的情况下,对多个资源负载率加权求和,得到所述综合负载率。
3.根据权利要求2所述的方法,其特征在于,对多个资源负载率加权求和,得到所述综合负载率包括:
将所述多个资源负载率相加,得到多个资源负载率之和;
依次将每个资源负载率与所述多个资源负载率之和相除,得到每个资源负载率的权值;
通过每个资源负载率和对应的权值进行加权求和计算,得到所述每组资源负载率的综合负载率。
4.根据权利要求1所述的方法,其特征在于,根据所述容器在各个时刻的综合负载率生成所述容器的负载率序列包括:
按照所述时刻由小到大的顺序将所述综合负载率进行排序,得到候选负载率序列;
判断所述候选负载率序列是否为平稳数据,其中,所述平稳数据为围绕均值不断波动的数据;
在所述候选负载率序列是平稳数据的情况下,将所述候选负载率序列确定为所述负载率序列;
在所述候选负载率序列不是平稳数据的情况下,将所述候选负载率序列进行平稳化处理,得到所述负载率序列。
5.根据权利要求1所述的方法,其特征在于,根据所述预测值调整所述目标应用中的容器数量包括:
判断所述预测值是否大于第一预测值,并判断所述预测值是否小于第二预测值,其中,所述第一预测值大于所述第二预测值;
在所述预测值大于所述第一预测值的情况下,在所述目标应用中添加预设数量的容器;
在所述预测值小于所述第二预测值的情况下,在所述目标应用中清除所述预设数量的容器;
在所述预测值小于等于所述第一预测值,并且大于等于所述第二预测值的情况下,保持所述目标应用中的容器数量不变。
6.根据权利要求1所述的方法,其特征在于,将所述负载率序列输入预设预测模型中,得到所述容器在目标时刻的综合负载率的预测值包括:
将所述负载率序列输入所述时间序列预测模型中,得到候选预测值;
将所述负载率序列与所述候选预测值输入所述卡尔曼滤波模型中,通过所述卡尔曼滤波模型和所述负载率序列对所述候选预测值进行修正,得到所述综合负载率的预测值。
7.根据权利要求1所述的方法,其特征在于,根据资源负载数据集中的资源使用量和资源占用量计算所述容器对各个资源的资源负载率,得到多组资源负载率包括:
确定所述容器占用的每个资源的资源使用量和资源占用量;
分别将每个资源的所述资源使用量除以所述资源占用量,得到多个资源负载率;
将所述多个资源负载率分为一组,得到所述容器在同一时刻下的一组资源负载率。
8.一种容器数量的调整装置,其特征在于,包括:
获取模块,用于获取目标应用中的任意一个容器在多个时刻下的资源负载数据集,得到多个资源负载数据集,并分别根据资源负载数据集中的资源使用量和资源占用量计算所述容器对各个资源的资源负载率,得到多组资源负载率,其中,所述目标应用中包含至少一个容器,每个容器的资源负载数据集相同;
计算模块,用于根据每组资源负载率中的多个资源负载率计算综合负载率,得到所述容器在每个时刻下的综合负载率;
生成模块,用于根据所述容器在各个时刻的综合负载率生成所述容器的负载率序列;
预测模块,用于将所述负载率序列输入预设预测模型中,得到所述容器在目标时刻的综合负载率的预测值,并根据所述预测值调整所述目标应用中的容器数量,其中,所述预设预测模型中包括时间序列预测模型和卡尔曼滤波模型,所述目标时刻是与所述多个时刻不同的最大时刻。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现所述权利要求1至7任一项中所述的方法的步骤。
10.一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现所述权利要求1至7任一项中所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211175211.XA CN115525394A (zh) | 2022-09-26 | 2022-09-26 | 容器数量的调整方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211175211.XA CN115525394A (zh) | 2022-09-26 | 2022-09-26 | 容器数量的调整方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115525394A true CN115525394A (zh) | 2022-12-27 |
Family
ID=84699637
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211175211.XA Pending CN115525394A (zh) | 2022-09-26 | 2022-09-26 | 容器数量的调整方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115525394A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117707523A (zh) * | 2024-02-05 | 2024-03-15 | 中铁四局集团有限公司 | 一种自定义组态可视化管理方法及管理应用平台 |
CN117707523B (zh) * | 2024-02-05 | 2024-06-07 | 中铁四局集团有限公司 | 一种自定义组态可视化管理方法及管理应用平台 |
-
2022
- 2022-09-26 CN CN202211175211.XA patent/CN115525394A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117707523A (zh) * | 2024-02-05 | 2024-03-15 | 中铁四局集团有限公司 | 一种自定义组态可视化管理方法及管理应用平台 |
CN117707523B (zh) * | 2024-02-05 | 2024-06-07 | 中铁四局集团有限公司 | 一种自定义组态可视化管理方法及管理应用平台 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108009016B (zh) | 一种资源负载均衡控制方法及集群调度器 | |
CN111459617B (zh) | 基于云平台的容器化应用自动分配优化系统及其方法 | |
US11106560B2 (en) | Adaptive thresholds for containers | |
CN107220108B (zh) | 一种实现云数据中心负载均衡的方法和系统 | |
CN113110914A (zh) | 一种基于微服务架构的物联网平台构建方法 | |
CN111385142B (zh) | 基于Kubernetes的自适应伸缩web容器的方法 | |
CN113282409B (zh) | 边缘计算任务的处理方法、装置和计算机设备 | |
CN111431996B (zh) | 用于资源配置的方法、装置、设备和介质 | |
CN114490078A (zh) | 一种微服务的动态缩扩容方法、装置及设备 | |
CN113553138A (zh) | 一种云资源调度的方法及装置 | |
CN117435306A (zh) | 集群容器扩缩容方法、装置、设备及存储介质 | |
WO2020206699A1 (en) | Predicting virtual machine allocation failures on server node clusters | |
CN113158435B (zh) | 基于集成学习的复杂系统仿真运行时间预测方法与设备 | |
CN112637286B (zh) | 网络架构调整方法、装置、系统和计算机可读存储介质 | |
Kim et al. | FedGPO: Heterogeneity-Aware Global Parameter optimization for Efficient Federated Learning | |
CN115525394A (zh) | 容器数量的调整方法及装置 | |
CN115913967A (zh) | 一种云环境下基于资源需求预测的微服务弹性伸缩方法 | |
CN106874215B (zh) | 一种基于Spark算子的序列化存储优化方法 | |
CN112257977B (zh) | 模糊工时下资源受限的物流项目工期优化方法及系统 | |
CN115225543A (zh) | 一种流量预测方法、装置、电子设备和存储介质 | |
CN108933834A (zh) | 一种调度方法及调度装置 | |
CN111045815B (zh) | 多个处理机的已部署资源的优化方法及其扩展设备 | |
CN115237610B (zh) | 一种基于Kubernetes容器云平台的弹性伸缩方法、装置及应用 | |
CN113296870B (zh) | 预测Kubernetes集群配置的方法以及装置 | |
CN117075684B (zh) | 一种Chiplet芯片的自适应时钟网格化校准方法 |
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 |