CN114281474A - 一种资源调节方法及装置 - Google Patents
一种资源调节方法及装置 Download PDFInfo
- Publication number
- CN114281474A CN114281474A CN202111532704.XA CN202111532704A CN114281474A CN 114281474 A CN114281474 A CN 114281474A CN 202111532704 A CN202111532704 A CN 202111532704A CN 114281474 A CN114281474 A CN 114281474A
- Authority
- CN
- China
- Prior art keywords
- network
- application
- state data
- platform
- use state
- 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 50
- 238000012544 monitoring process Methods 0.000 claims abstract description 28
- 238000012360 testing method Methods 0.000 claims description 98
- 238000012549 training Methods 0.000 claims description 75
- 238000013528 artificial neural network Methods 0.000 claims description 44
- 230000015654 memory Effects 0.000 claims description 36
- 238000004590 computer program Methods 0.000 claims description 9
- 238000003860 storage Methods 0.000 claims description 7
- 230000001105 regulatory effect Effects 0.000 claims description 2
- 230000033228 biological regulation Effects 0.000 abstract description 4
- 230000008569 process Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 14
- 238000012545 processing Methods 0.000 description 11
- 238000009530 blood pressure measurement Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000009825 accumulation Methods 0.000 description 2
- 230000008602 contraction Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000011022 operating instruction Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000005764 inhibitory process Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开一种资源调节方法及装置,适用于K8S平台中的各应用,K8S平台包括多个Pod;通过监控工具获取K8S平台中的第一应用在连续N‑1个周期中的历史资源使用状态数据;N为大于1的正整数;将第一应用的N‑1个历史资源使用状态数据输入第一网络,通过第一网络得到第一应用在第N个周期中的预测资源使用状态数据;第一网络是联合第二网络进行对抗训练得到的;将预测资源使用状态数据输入第三网络,通过第三网络得到第一应用在第N个周期中的待用Pod数量;第三网络是根据K8S平台中的多个应用的资源使用状态数据和对应的Pod数量进行训练得到的。该方式达成了对灵活、主动地对K8S平台上的资源进行合理调控的目标。
Description
技术领域
本申请实施例涉及计算机技术领域,尤其涉及一种资源调节方法及装置。
背景技术
Kubernetes(简写为K8S)是开源、可拓展的容器自动化运维平台,旨在为数据中心容器化的应用程序(简称为应用)提供跨主机集群的自动部署、扩展和数据库管理系统操作的能力。随着业务的发展,各K8S平台上应用的规模在不断扩大着。其中,应用对平台资源的需求随用户群体规模、使用习惯、时间等因素的变动,发生动态变化。为解决相对有限的K8S平台资源与其上各应用资源需求量动态变化的矛盾,以实现K8S平台资源的利用率最大化,进行精准地应用扩缩容成为了亟待解决的问题。目前,K8S原生提供自动扩缩容功能,该自动扩缩容功能主要是通过监控应用资源使用量、并人为设定阈值与参数的方式进行。该方式不仅依赖管理人员对应用的观察经验进行调控、灵活度低,且作为对资源使用变化的被动响应,该方式并不具备主动调整的敏捷性,易造成资源浪费和业务过忙两种极端现象。
因此,目前亟需一种灵活、主动地对K8S平台上的资源进行合理调控的方案。
发明内容
本申请提供一种资源调节方法及装置,用以灵活、主动地对K8S平台上的资源进行合理调节。
第一方面,本申请实施例提供一种资源调节方法,适用于K8S平台中的各应用,所述K8S平台包括多个Pod;该方法包括:通过监控工具获取所述K8S平台中的第一应用在连续N-1个周期中的历史资源使用状态数据;所述第一应用为所述K8S平台中的各应用中的任一应用,N为大于1的正整数;将所述第一应用的N-1个历史资源使用状态数据输入第一网络,通过所述第一网络得到所述第一应用在第N个周期中的预测资源使用状态数据;所述第一网络是联合第二网络进行对抗训练得到的;将所述预测资源使用状态数据输入第三网络,通过所述第三网络得到所述第一应用在所述第N个周期中的待用Pod数量;所述第三网络是根据所述K8S平台中的多个应用的资源使用状态数据和对应的Pod数量进行训练得到的。
上述方案中,通过使用监控工具获取位于K8S平台上的任一个应用(即第一应用)在连续N-1个周期中的历史资源使用状态数据,随后将该N-1个历史资源使用状态数据输入到第一网络中,其中由于第一网络是联合第二网络进行对抗训练得到的,因此第一网络关于第一应用的N-1个历史资源使用状态数据可以输出第一应用在第N个周期中的预测资源使用状态数据,最后通过将该预测资源使用状态数据输入到第三网络中,就可以快速输出第一应用在第N个周期中所需要用到的K8S平台中的Pod的数量(即待用Pod数量),其中由于在第一应用的第N个周期还未真的到来之前,就已经完成了对第一应用在第N个周期中所需要用到的K8S平台中的资源的预测,从而在第一应用的第N个周期到来的时候,将第一应用在K8S平台中所需用到的Pod的数量调整到待用Pod数量,进而达成了对灵活、主动地对K8S平台上的资源进行合理调控的目标。
在一种可能实现的方法中,所述第一网络和所述第二网络通过下述方式训练得到,包括:针对所述K8S平台中的G个应用,获取所述G个应用在N个测试周期中的真实资源使用状态数据;G为大于1的正整数;根据所述G个应用在前N-1个测试周期中的真实资源使用状态数据对初始生成网络进行训练,得到所述G个应用在第N个测试周期的预测资源使用状态数据,以及各第一损失值;根据所述G个应用在第N个测试周期的真实资源使用状态数据和在第N个测试周期的预测资源使用状态数据对初始判别网络进行训练,得到各第二损失值;所述初始判别网络用于区分资源使用状态数据的真伪;根据所述各第一损失值和所述各第二损失值,确定综合损失值;若所述综合损失值不满足第一设定要求,则继续训练新一代的生成网络和判别网络;在P代生成网络和P代判别网络下的综合损失值满足所述第一设定要求时,则确定所述P代生成网络为第一网络,所述P代判别网络为第二网络。
上述方案中,描述了第一网络和第二网络的生成过程,包括通过获取K8S平台中的G个应用在N个测试周期中的真实资源使用状态数据,然后可以基于该G个应用在前N-1个测试周期中的真实资源使用状态数据对初始生成网络进行训练,可得到该G个应用在第N个测试周期中的预测资源使用状态数据及各第一损失值,接着通过该G个应用在第N个测试周期中的真实资源使用状态数据和第N个测试周期中的预测资源使用状态数据对初始判别网络的训练,可得到初始判别网络分别在该G个应用下的第二损失值,最后通过判断初始生成网络与初始判别网络的综合损失值(其中,综合损失值基于各第一损失值和各第二损失值得到)是否满足第一设定要求,如果确定前者不满足后者,则在调整初始生成网络和/或初始判别网络的参数后,继续新一轮的生成-判别网络的对抗训练,直到P代生成网络与P代判别网络的综合损失值满足第一设定要求,则可以将P代生成网络作为第一网络、P代判别网络作为第二网络。该方式中,通过预先基于K8S平台中的多个应用在N个测试周期中的真实资源使用状态数据对生成-判别网络进行对抗训练,如此当训练的P代生成网络和P代判别网络满足设定要求时,则可以将P代生成网络应用于对K8S平台中的各个应用的资源使用状态数据的精准预测,实现了方案在使用时的泛化性。
在一种可能实现的方法中,所述根据所述G个应用在前N-1个测试周期中的真实资源使用状态数据对初始生成网络进行训练,得到所述G个应用在第N个测试周期的预测资源使用状态数据,以及各第一损失值,包括:针对所述G个应用中的任一应用,将所述应用在前N-1个测试周期中的真实资源使用状态数据和与对应的随机序列输入初始生成网络,从而得到所述应用在第N个测试周期的预测资源使用状态数据,并对应生成第一损失值;所述根据所述G个应用在第N个测试周期的真实资源使用状态数据和在第N个测试周期的预测资源使用状态数据对初始判别网络的训练,得到各第二损失值,包括:针对所述G个应用中的任一应用,分别将所述应用在前N-1个测试周期中的真实资源使用状态数据,与所述应用在所述第N个测试周期的真实资源使用状态数据构成第一序列,及与所述应用在所述第N个测试周期的预测资源使用状态数据构成第二序列,并将所述第一序列和所述第二序列输入至初始判别网络进行训练,得到第二损失值。
上述方案中,描述了以K8S平台中的G个应用中的一个应用为例、如何对生成网络(如初始生成网络)和判别网络(如初始判别网络)进行训练的过程,包括将应用在前N-1个测试周期中的真实资源使用状态数据和对应的随机序列输入初始生成网络,从而可以得到该应用在第N个测试周期的预测资源使用状态数据,接着通过将N个测试周期的真实资源使用状态数据作为一个序列,以及将N-1个测试周期的真实资源使用状态数据和第N个测试周期的预测资源使用状态数据作为另外一个序列,一齐输入到初始判别网络中,从而就可以得到初始判别网络对这两个序列的识别结果,如果初始判别网络将预测资源使用状态数据所在的序列识别为真,则说明初始生成网络用于生成预测资源使用状态数据的效果还不错,成功地欺骗到了自己(自己指初始判别网络);又如果初始判别网络将预测资源使用状态数据所在的序列识别为假,则说明初始生成网络用于生成预测资源使用状态数据的效果一般甚至不太好,因为未能够欺骗过自己(自己指初始判别网络),同时说明初始判别网络用于识别真伪的效果还不错,基于初始生成网络与初始判别网络之间的该种互相牵制、互相影响的特征,通过计算初始生成网络与初始判别网络的综合损失值,并将所计算出的综合损失值与设定的要求进行比较,从而就可以知道初始生成网络与初始判别网络是否可以进行应用;如果不能的话,则需要在调整初始生成网络和/或初始判别网络的参数后,重新训练新一轮的生成网络与判别网络,直到某一代训练出的生成网络与判别网络之间的综合损失值满足设定的要求,则表示当前的生成网络已经可以精准地预测资源状态使用数据了,从而可以投入使用。
在一种可能实现的方法中,所述第三网络通过下述方式训练得到,包括:针对所述K8S平台中的任一应用,通过所述监控工具获取所述应用在设定的第一Pod数量下的第一最大外部访问量和第一资源使用量;将各应用分别在所述第一Pod数量下的第一最大外部访问量和第一资源使用量作为输入,所述第一Pod数量作为标签值,对初始神经网络进行训练,得到所述初始神经网络的损失值;若确定Q代神经网络的损失值与Q-1代神经网络的损失值的差距满足第二设定要求,则确定所述Q代神经网络为第三网络。
上述方案中,描述了第三网络的生成过程,包括对于一应用,获取该应用在设定的对K8S平台中所用到的Pod数量下的最大外部访问量和资源使用量,然后可以基于各应用的各最大外部访问量和各资源使用量,并以对应的Pod数量作为标签值、来对初始神经网络进行训练,然后通过调整初始神经网络的参数继续对同一批的数据集进行训练,直到相邻两轮的神经网络(指Q轮和Q-1轮)各自的损失值的差值满足设定的要求(即相邻两次的损失几乎持平),则可以确定该Q代神经网络为第二网络。该方式中在已经得到应用对K8S平台所需要用的资源时(即预测资源使用状态数据),通过将其输入第三网络,那么第三网络将可以准确输出该应用对K8S平台所占用到的Pod的数量(即待用Pod数量),以便于在时间真的到来之前而将应用所需要占用到的K8S平台中的Pod数量调整为待用Pod数量,将可以满足应用以一种最佳的状态对K8S平台的资源进行使用,实现了K8S平台的自动扩缩容的目的。
在一种可能实现的方法中,所述通过所述监控工具获取所述应用在设定的第一Pod数量下的第一最大外部访问量和第一资源使用量,包括:设置所述应用对应的Pod数量为第一Pod数量;在所述第一Pod数量下,向所述应用发送测试报文;若确定测试报文的丢失率超过设定阈值,则确定当前测试报文的数量为所述应用在所述第一Pod数量下的第一最大外部访问量,并通过所述监控工具获取所述应用对CPU的使用量和对内存的使用量作为第一资源使用量。
上述方案中,对于通过训练神经网络以得到第三网络的过程,可以通过压测的方式来获取训练神经网络的数据集,包括对于一应用,通过固定该应用所用到的Pod的数量,然后基于所设置的Pod,向该应用发送测试报文,如果确定测试报文的丢失率超过设定阈值,则可以将当前测试报文的数量作为应用在所设置Pod下的最大外部访问量,同时还可以通过监控工具获取应用对CPU的使用量和对内存的使用量,并将其作为资源使用量。基于压测的方式,可以获取到尽可能多的用于训练神经网络的数据集,如此可以使得对神经网络的训练是精准的,也即后续第三网络可基于预测资源使用状态数据而准确确定出应用在K8S平台中所需用到的Pod的数量,另一方面,该尽可能多的用于训练神经网络的数据集中因为包括有各个应用的压测数据,因此所训练出来的第三网络将具有泛化能力。
在一种可能实现的方法中,所述针对所述G个应用中的任一应用,将所述应用在前N-1个测试周期中的真实资源使用状态数据和与对应的随机序列输入初始生成网络,从而得到所述应用在第N个测试周期的预测资源使用状态数据,包括:针对所述G个应用中的任一应用,将所述应用在前N-1个测试周期中的真实资源使用状态数据与对应的随机序列输入初始生成网络;通过所述初始生成网络中的RNN单元和全连接网络提取所述N-1个真实资源使用状态数据的历史时序特征,从而得到所述应用在第N个测试周期的预测资源使用状态数据。
上述方案中,通过将资源使用状态数据以序列的形式输入到判别网络中进行训练,则可以保证待测时刻的资源使用状态数据的预测值会比较准确,因为网络在训练过程中就已经考虑到了资源使用状态数据的前后依赖关系。
在一种可能实现的方法中,基于所述待用Pod数量调节所述第一应用在所述第N个周期中使用的Pod数量;通过所述监控工具获取所述第一应用在所述第N个周期中的真实资源使用状态数据;根据所述第二网络对基于所述第N个周期中的预测资源使用状态数据和所述第N个周期中的真实资源使用状态数据的判别,确定是否更新所述第一网络。
上述方案中,当将第一网络应用于对第一应用在第N个周期中的资源使用状态数据的预测而得到预测资源使用状态数据、并通过第三网络对预测资源使用状态数据的处理,可以得到第一应用在第N个周期中所需要用到的K8S平台中的Pod数量(即待用Pod数量),那么通过在第N个周期真的到来之前将第一应用所需用到的Pod的数量调节为待用Pod数量,就可以满足第一应用在第N个周期中以一种较佳的资源占用状态而在K8S平台中进行运行;其中,当第一应用在第N个周期进行运行的时候,还可以同时监测第一应用在第N个周期中的真实资源使用状态数据,然后由第二网络对第一应用在第N个周期中的真实资源使用状态数据和预测资源使用状态数据的判断,以确定是否需要更新第一网络。该方式可实现在第一网络被投入使用的过程中,仍可继续被优化的目标,以更好地自适应K8S平台中的应用对K8S平台中的资源进行使用的状态。
第二方面,本申请实施例提供一种资源调节装置,适用于K8S平台中的各应用,所述K8S平台包括多个Pod;该装置包括:历史资源使用状态数据获取单元,用于通过监控工具获取所述K8S平台中的第一应用在连续N-1个周期中的历史资源使用状态数据;所述第一应用为所述K8S平台中的各应用中的任一应用,N为大于1的正整数;预测资源使用状态数据确定单元,用于将所述第一应用的N-1个历史资源使用状态数据输入第一网络,通过所述第一网络得到所述第一应用在第N个周期中的预测资源使用状态数据;所述第一网络是联合第二网络进行对抗训练得到的;待用资源确定单元,用于将所述预测资源使用状态数据输入第三网络,通过所述第三网络得到所述第一应用在所述第N个周期中的待用Pod数量;所述第三网络是根据所述K8S平台中的多个应用的资源使用状态数据和对应的Pod数量进行训练得到的。
第三方面,本申请实施例提供了一种计算设备,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行如第一方面任一实现方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如第一方面任一实现方法。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种资源调节方法的示意图;
图2为本申请实施例提供的一种资源调节装置的示意图;
图3为本申请实施例提供的一种计算设备的示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
目前,一些公司随着自身业务的不断发展、壮大,已经逐渐开始采用K8S平台来部署一个个的应用,其中,K8S平台以Pod作为应用的最小部署单位。K8S平台上所部署的应用在运行期间,对K8S平台资源的需求随用户群体规模、使用习惯以及时间而动态变化。对此,目前主要是通过K8S原生提供的自动扩缩容特性,即通过监控应用资源使用量并人为设定阈值与参数的方式进行应用的扩缩容。显然,该种资源调节方式不仅要求管理人员对应用要有着严格的观察经验的把控,且作为对资源使用变化的被动响应,导致该方式并不具备主动调节的敏捷性,易造成资源浪费和业务过忙。
针对上述技术问题,本申请实施例提供一种资源调节方法,适用于K8S平台中的各应用,该K8S平台包括多个Pod。如图1所示,为本申请实施例提供的一种资源调节方法的示意图,该方法包括以下步骤:
步骤101,通过监控工具获取所述K8S平台中的第一应用在连续N-1个周期中的历史资源使用状态数据。
其中,所述第一应用为所述K8S平台中的各应用中的任一应用,N为大于1的正整数。
在本步骤中,K8S平台中的第一应用在运行过程中,可涉及到接收外部访问请求,然后使用相应的CPU、内存等来对外部请求进行响应,因此在需要调节第一应用在第N个周期中所需要用到的K8S平台中的Pod的数量之前,可以通过监控工具获取第一应用在连续N-1个周期中的历史资源使用状态数据,然后通过对所获取的N-1个历史资源使用状态数据的处理,即可得到第一应用在第N个周期中所需用到的K8S平台中的Pod的数量。其中,历史资源使用状态数据至少可包括历史的外部访问请求量和资源使用量两项内容;进一步的,资源使用量至少可包括CPU使用量和内存使用量两项内容。
步骤102,将所述第一应用的N-1个历史资源使用状态数据输入第一网络,通过所述第一网络得到所述第一应用在第N个周期中的预测资源使用状态数据。
其中,所述第一网络是联合第二网络进行对抗训练得到的。
在本步骤中,当获取到第一应用在连续N-1个周期中的历史资源使用状态数据后,可将该N-1个历史资源使用状态数据输入第一网络中,以通过第一网络得到第一应用在第N个周期中的预测资源使用状态数据。其中,由于第一网络是联合第二网络进行对抗训练得到的,从而通过对抗训练得到的第一网络可以用于准确地根据应用在连续N-1个周期中的历史资源使用状态数据而预测出应用在第N个周期中的资源使用状态数据,即得到预测资源使用状态数据。
步骤103,将所述预测资源使用状态数据输入第三网络,通过所述第三网络得到所述第一应用在所述第N个周期中的待用Pod数量。
其中,所述第三网络是根据所述K8S平台中的多个应用的资源使用状态数据和对应的Pod数量进行训练得到的。
在本步骤中,在得到第一应用在第N个周期中的资源使用状态数据的准确预测值后,即预测资源使用状态数据,则可以将该预测资源使用状态数据输入到第三网络中,从而通过第三网络对该预测资源使用状态数据的处理,即可对外输出第一应用在第N个周期中需要对K8S平台中的资源进行使用的量的大小,即第三网络可输出待用Pod数量,进而后续在第一应用即将进入第N个周期的时间点之前,可将第一应用在K8S平台中所需使用到的Pod的数量调整为通过第三网络输出的待用Pod数量,如此可以保证第一应用在第N个周期中能够很好、很合理地使用K8S平台中的资源来对外部访问请求进行响应。该方式中,由于第三网络是根据K8S平台中的多个应用的资源使用状态数据和对应的Pod数量进行训练得到的,因此在将第三网络用于对第一应用在第N个周期中所需用到的K8S平台中的资源的数量,即待用Pod数量的计算时,可以使得所计算出得来待用Pod数量是客观、合理的。
上述方案中,通过使用监控工具获取位于K8S平台上的任一个应用(即第一应用)在连续N-1个周期中的历史资源使用状态数据,随后将该N-1个历史资源使用状态数据输入到第一网络中,其中由于第一网络是联合第二网络进行对抗训练得到的,因此第一网络关于第一应用的N-1个历史资源使用状态数据可以输出第一应用在第N个周期中的预测资源使用状态数据,最后通过将该预测资源使用状态数据输入到第三网络中,就可以快速输出第一应用在第N个周期中所需要用到的K8S平台中的Pod的数量(即待用Pod数量),其中由于在第一应用的第N个周期还未真的到来之前,就已经完成了对第一应用在第N个周期中所需要用到的K8S平台中的资源的预测,从而在第一应用的第N个周期到来的时候,将第一应用在K8S平台中所需用到的Pod的数量调整到待用Pod数量,进而达成了对灵活、主动地对K8S平台上的资源进行合理调控的目标。
以下将结合示例分别对上述一些步骤进行详细说明。
本申请实施例为了实现对K8S平台中的应用进行自动、合理扩缩容的目标,提出可基于K8S平台中的各应用于历史阶段对K8S平台中的资源进行使用的数据(即资源使用状态数据)对模型进行训练,在训练的模型满足要求时,则可以使用训练好的模型来对K8S平台中的任一应用在真实投入使用期间所需要用到的K8S平台中的资源进行准确预测。其中,关于模型的选择,本申请实施例提出采用生成对抗网络(Generative Adversarial Network,GAN)的方案来对应用所需要用到K8S平台中的资源进行预测。因此,以下将对本申请所需要用到的生成对抗网络进行训练的过程进行详细说明。
在上述步骤102的一个实施中,所述第一网络和所述第二网络通过下述方式训练得到,包括:针对所述K8S平台中的G个应用,获取所述G个应用在N个测试周期中的真实资源使用状态数据;G为大于1的正整数;根据所述G个应用在前N-1个测试周期中的真实资源使用状态数据对初始生成网络进行训练,得到所述G个应用在第N个测试周期的预测资源使用状态数据,以及各第一损失值;根据所述G个应用在第N个测试周期的真实资源使用状态数据和在第N个测试周期的预测资源使用状态数据对初始判别网络进行训练,得到各第二损失值;所述初始判别网络用于区分资源使用状态数据的真伪;根据所述各第一损失值和所述各第二损失值,确定综合损失值;若所述综合损失值不满足第一设定要求,则继续训练新一代的生成网络和判别网络;在P代生成网络和P代判别网络下的综合损失值满足所述第一设定要求时,则确定所述P代生成网络为第一网络,所述P代判别网络为第二网络。
例如,随着业务的大力发展,技术人员可通过在K8S平台中部署多个应用以满足业务拓展的需求。因此,在K8S平台包括有多个应用的场景下,本申请实施例为了实现所训练好的生成网络能够为K8S平台中的多个应用所使用的目标,即为了使得所训练好的生成网络具备泛化能力,则可以在生成网络训练的过程中基于K8S平台中的多个应用的历史资源使用状态数据进行训练,比如,本申请实施例中设以K8S平台中的G个应用的历史资源使用状态数据进行网络的训练,训练过程如下:
首先,可获取K8S平台中的G个应用在N个测试周期中的真实资源使用状态数据。比如,针对G个应用中的任一个应用(为了描述的方便,令应用为应用A),可先行让应用A进行一段时间的业务服务,并由监控工具记录应用A的外部访问请求量、资源占用量,本申请实施例中将关于某应用同一次所记录的外部访问请求量和资源占用量定义为一个资源使用状态数据,如此本申请实施例中可令应用A在时刻t的资源使用状态数据以向量表示,则应用A在t时刻前大小为c的窗口中的各资源使用状态数据分别可以记作此时,针对应用A所获取的它在N(N=c+1)个测试周期中的真实资源使用状态数据依次为
接着,可将G个应用在前N-1个测试周期中的真实资源使用状态数据对初始生成网络进行训练。例如,接着前述的例子,可将应用A的前N-1个资源使用状态数据(即应用A在t时刻前大小为c的窗口中的各资源使用状态数据)所构成的序列和一段随机序列输入初始生成网络;在输入到初始生成网络后,具体又可利用初始生成网络中的RNN单元和全连接网络提取资源使用状态数据所在序列中的历史时序特征,从而生成应用A在t时刻的资源使用状态数据的预测值(即预测资源使用状态数据),以及初始生成网络在应用A下的损失值,即第一损失值。根据与应用A相同的处理逻辑,在初始生成网络完成对G个应用分别对应的一组N-1个资源使用状态数据所构成的序列的训练后,可以得到初始生成网络在本次训练过程中的总损失值,记为loss1;其中一种可能的实现方式是,loss1是G个应用分别对应的第一损失值的累加。
紧接着,可根据G个应用在N个测试周期的真实资源使用状态数据和在第N个测试周期的预测资源使用状态数据对初始判别网络进行训练。可选的,针对所述G个应用中的任一应用,分别将所述应用在前N-1个测试周期中的真实资源使用状态数据,与所述应用在所述第N个测试周期的真实资源使用状态数据构成第一序列,及与所述应用在所述第N个测试周期的预测资源使用状态数据构成第二序列,并将所述第一序列和所述第二序列输入至初始判别网络进行训练,得到第二损失值。比如,接着前述的例子,可将应用A的N个测试周期的真实资源使用状态数据构成第一序列以及将应用A的前N-1个测试周期的真实资源使用状态数据和应用A在第N个测试周期的资源使用状态数据的预测值构成第二序列并将该两个序列输入到初始判别网络中。其中,初始判别网络用于识别应用A在第N个测试周期的资源使用状态数据的预测值的真伪,包括:如果初始判别网络将预测资源使用状态数据所在的序列识别为真,则说明初始生成网络用于生成预测资源使用状态数据的效果还不错,成功地欺骗到了自己(自己指初始判别网络);如果初始判别网络将预测资源使用状态数据所在的序列识别为假,则说明初始生成网络用于生成预测资源使用状态数据的效果一般甚至不太好,因为未能够欺骗过自己(自己指初始判别网络),同时说明初始判别网络用于识别真伪的效果还不错。其中,根据第一序列和第二序列对初始判别网络的训练,在训练结束后,可以得到初始判别网络在应用A下的损失值,即第二损失值。根据与应用A相同的处理逻辑,在初始判别网络完成对G个应用分别对应的第一序列和第二序列的训练后,可以得到初始判别网络在本次训练过程中的总损失值,记为loss2;其中一种可能的实现方式是,loss2是G个应用分别对应的第二损失值的累加。
接着,根据各第一损失值和各第二损失值,可以确定综合损失值。一种可能的实现方式是,综合损失值可以为各第一损失值和各第二损失值的累加,也即综合损失值可以表示为loss1+loss2。在得到综合损失值loss1+loss2后,可以将综合损失值与预设的第一设定要求进行比较,其中,第一设定要求由本领域技术人员根据实际的训练要求而进行设定,若确定综合损失值不满足第一设定要求,则说明初始生成网络尚且还不可以用于预测K8S平台中的应用对平台资源进行使用的数据,因此需要继续训练新一代的生成网络和判别网络。其中,可在调整初始生成网络和/或初始判别网络的参数后,基于用于训练初始生成网络的数据集对第二代的生成网络进行训练,以及基于用于训练初始判别网络的数据集对第二代的判别网络进行训练,然后计算第二代的生成网络与第二代的判别网络的综合损失值,并与第一设定要求进行比较,如果该综合损失值仍不满足第一设定要求,则继续训练第三代的生成网络和判别网络,如此循环下去,直到P代生成网络和P代判别网络的综合损失值满足了第一设定要求,则可以确定P代生成网络为第一网络,P代判别网络为第二网络。也即,后续可以基于P代生成网络预测K8S平台中的应用对平台资源进行使用的数据(即预测资源使用状态数据)。
上述方案中,通过生成对抗网络优越的模型优化能力和长期可迭代的特性,实现对应用资源需求模式精准而实时的预测,进而促进平台快速合理地调整应用资源分配,避免了人工调整维护决策机制的难题。
以上描述了本申请是如何训练得到用于预测K8S平台中的应用对平台资源进行使用的数据的第一网络的过程,因此,通过第一网络,本申请实施例可以对K8S平台中的任一应用在第N个周期中的资源使用状态数据进行精准预测。当第一网络完成对应用在第N个周期中的资源使用状态数据的精准预测后,本申请实施例提出可基于第三网络对所预测出的应用在第N个周期中的资源使用状态数据所需要占用到K8S平台中的资源进行确定,其中K8S平台中的资源可以通过Pod的数量进行量化,若应用所占用到的K8S平台中的资源较少,则需要使用到的K8S平台中的Pod的数量也相对较少,若应用所占用到的K8S平台中的资源较多,则需要使用到的K8S平台中的Pod的数量也相对较多。具体的,资源使用状态数据与Pod数量之间的关系如何,是可以由第三网络进行确定的。之所以第三网络可以用于确定资源使用状态数据与Pod数量之间的关系,主要在于第三网络是基于历史的资源使用状态数据与对应的Pod数量的关系进行有监督的学习得到的。下面将详细描述第三网络的生成过程。
首先,可获取用于训练第三网络的数据集。其中,本申请实施例中可以通过对应用进行压测的方式进行数据集的获取,包括:设置所述应用对应的Pod数量为第一Pod数量;在所述第一Pod数量下,向所述应用发送测试报文;若确定测试报文的丢失率超过设定阈值,则确定当前测试报文的数量为所述应用在所述第一Pod数量下的第一最大外部访问量,并通过所述监控工具获取所述应用对CPU的使用量和对内存的使用量作为第一资源使用量。
例如,本申请实施例中可将压测工具(如,一种可能的压测工具为Fortio)和待测试应用分别部署在两个工作节点上,比如初始状态可令为使待测试应用Pod副本数量为1。在主节点脚本控制下,每轮实验中压测工具逐渐提升对待测试应用的访问频率,即不断提升向待测试应用所发送的测试报文的数量,直到测试报文的丢失率高于设定的标准,此时的访问频率(即当前测试报文的数量)即为当前Pod副本数量下的负载极限,也即待测试应用在1个Pod下的最大外部访问量;同时,可通过监控工具(如,一种可能的压测工具为Prometheus)采样该负载极限下待测试应用包括CPU使用量、内存使用量在内的资源使用情况,即得到待测试应用在1个Pod下的资源使用量。
说明的是,在一设定的Pod副本数量下,可以将K8S平台中的多个应用分别作为一个待测试应用,如此可以提升神经网络的泛化能力;同时在该设定的Pod副本数量下,可以关于同一个待测试应用进行多次的压测,如此可以极大扩充用于训练初始神经网络的数据集。
接着,可以将第一最大外部访问量和第一资源使用量输入到初始神经网络中,并以第一Pod作为标签值,以对初始神经网络进行有监督的训练。由于有监督的训练为现有技术,故此处不赘述。当在完成对初始神经网络的训练后,可以得到初始神经网络在本次训练过程中的损失值,若确定初始神经网络的损失值不满足第二设定要求,则可以在对初始神经网络进行参数的调整后,基于对初始神经网络进行训练的数据集而对参数调整后的第二代的神经网络进行有监督的训练,并确定第二代的初始神经网络的损失值,并确定第二代神经网络的损失值与初始神经网络的损失值之间的差距是否满足第二设定要求,如果不满足,则可以在对第二代的神经网络进行参数的调整后,再次基于对初始神经网络进行训练的数据集而对参数调整后的第三代的神经网络进行有监督的训练,如此训练下去,直到Q代神经网络的损失值与Q-1代神经网络的损失值的差距满足了第二设定要求,则可以确定Q代神经网络为第三网络。换句话说,后续可以基于第三网络而对经第一网络预测出来的应用在第N个周期中的资源使用状态数据所占用到的K8S平台当中的Pod的数量进行准确确定。
上述方案中提出了一种基于神经网络的应用资源需求分析模型,即第三网络,基于该网络模型可建立应用访问量与平台资源占用量到Pod数目的合理映射。利用该网络模型,平台扩缩容决策被自动确定下来,避免了人为定义扩缩容行为的出错风险。
以上描述了第三网络的生成过程,通过所生成的第三网络,可以在第一网络预测出应用在第N个周期中的资源使用状态数据后,根据该第三网络来对该资源状态数据所占用到的K8S平台中Pod的数量进行准确预测,即关于第一应用可以得到该应用在第N个周期中所用到K8S平台当中的Pod的数量,即得到待用Pod数量,从而可以在第N个周期真的到来之前将第一应用在K8S平台中所需用到的Pod的数量调整为待用Pod数量,并在此之后,还可以通过监控工具获取第一应用在第N个周期中的真实资源使用状态数据,由于有了第一应用在第N个周期中的预测资源使用状态数据和第一应用在第N个周期中的真实资源使用状态数据,则可以基于该二者分别与第一应用在前N-1个周期中的真实资源使用状态数据分别构成第二序列和第一序列,输入到第二网络中进行判别,确定是否要对第二网络进行调整,该方式保证了在第一网络实际投入使用的过程中,仍然存在着对第一网络的精确度进行确定和调整(如有需要的话)的操作,如此可以保证第一网络在实际使用时的高精确度。
基于同样的构思,本申请实施例提供一种资源调节装置,适用于K8S平台中的各应用,所述K8S平台包括多个Pod;如图2所示,为本申请实施例提供的一种资源调节装置的示意图,该装置包括历史资源使用状态数据获取单元201和预测资源使用状态数据确定单元202和待用资源确定单元203;
历史资源使用状态数据获取单元201,用于通过监控工具获取所述K8S平台中的第一应用在连续N-1个周期中的历史资源使用状态数据;所述第一应用为所述K8S平台中的各应用中的任一应用,N为大于1的正整数;
预测资源使用状态数据确定单元202,用于将所述第一应用的N-1个历史资源使用状态数据输入第一网络,通过所述第一网络得到所述第一应用在第N个周期中的预测资源使用状态数据;所述第一网络是联合第二网络进行对抗训练得到的;
待用资源确定单元203,用于将所述预测资源使用状态数据输入第三网络,通过所述第三网络得到所述第一应用在所述第N个周期中的待用Pod数量;所述第三网络是根据所述K8S平台中的多个应用的资源使用状态数据和对应的Pod数量进行训练得到的。
进一步的,对于该装置,还包括第一网络和第二网络训练单元204;第一网络和第二网络训练单元204,用于:针对所述K8S平台中的G个应用,获取所述G个应用在N个测试周期中的真实资源使用状态数据;G为大于1的正整数;根据所述G个应用在前N-1个测试周期中的真实资源使用状态数据对初始生成网络进行训练,得到所述G个应用在第N个测试周期的预测资源使用状态数据,以及各第一损失值;根据所述G个应用在第N个测试周期的真实资源使用状态数据和在第N个测试周期的预测资源使用状态数据对初始判别网络进行训练,得到各第二损失值;所述初始判别网络用于区分资源使用状态数据的真伪;根据所述各第一损失值和所述各第二损失值,确定综合损失值;若所述综合损失值不满足第一设定要求,则继续训练新一代的生成网络和判别网络;在P代生成网络和P代判别网络下的综合损失值满足所述第一设定要求时,则确定所述P代生成网络为第一网络,所述P代判别网络为第二网络。
进一步的,对于该装置,第一网络和第二网络训练单元204,具体用于:针对所述G个应用中的任一应用,将所述应用在前N-1个测试周期中的真实资源使用状态数据和与对应的随机序列输入初始生成网络,从而得到所述应用在第N个测试周期的预测资源使用状态数据,并对应生成第一损失值,及针对所述G个应用中的任一应用,分别将所述应用在前N-1个测试周期中的真实资源使用状态数据,与所述应用在所述第N个测试周期的真实资源使用状态数据构成第一序列,及与所述应用在所述第N个测试周期的预测资源使用状态数据构成第二序列,并将所述第一序列和所述第二序列输入至初始判别网络进行训练,得到第二损失值。
进一步的,对于该装置,还包括第三网络训练单元205;第三网络训练单元205,用于:针对所述K8S平台中的任一应用,通过所述监控工具获取所述应用在设定的第一Pod数量下的第一最大外部访问量和第一资源使用量;将各应用分别在所述第一Pod数量下的第一最大外部访问量和第一资源使用量作为输入,所述第一Pod数量作为标签值,对初始神经网络进行训练,得到所述初始神经网络的损失值;若确定Q代神经网络的损失值与Q-1代神经网络的损失值的差距满足第二设定要求,则确定所述Q代神经网络为第三网络。
进一步的,对于该装置,第三网络训练单元205,具体用于:设置所述应用对应的Pod数量为第一Pod数量;在所述第一Pod数量下,向所述应用发送测试报文;若确定测试报文的丢失率超过设定阈值,则确定当前测试报文的数量为所述应用在所述第一Pod数量下的第一最大外部访问量,并通过所述监控工具获取所述应用对CPU的使用量和对内存的使用量作为第一资源使用量。
进一步的,对于该装置,第一网络和第二网络训练单元204,具体用于:针对所述G个应用中的任一应用,将所述应用在前N-1个测试周期中的真实资源使用状态数据与对应的随机序列输入初始生成网络;通过所述初始生成网络中的RNN单元和全连接网络提取所述N-1个真实资源使用状态数据的历史时序特征,从而得到所述应用在第N个测试周期的预测资源使用状态数据。
进一步的,对于该装置,还包括第一网络更新单元206;第一网络更新单元206,用于:基于所述待用Pod数量调节所述第一应用在所述第N个周期中使用的Pod数量;通过所述监控工具获取所述第一应用在所述第N个周期中的真实资源使用状态数据;根据所述第二网络对基于所述第N个周期中的预测资源使用状态数据和所述第N个周期中的真实资源使用状态数据的判别,确定是否更新所述第一网络。
本申请实施例还提供了一种计算设备,该计算设备具体可以为桌面计算机、便携式计算机、智能手机、平板电脑、个人数字助理(Personal Digital Assistant,PDA)等。该计算设备可以包括中央处理器(Center Processing Unit,CPU)、存储器、输入/输出设备等,输入设备可以包括键盘、鼠标、触摸屏等,输出设备可以包括显示设备,如液晶显示器(Liquid Crystal Display,LCD)、阴极射线管(Cathode Ray Tube,CRT)等。
存储器,可以包括只读存储器(ROM)和随机存取存储器(RAM),并向处理器提供存储器中存储的程序指令和数据。在本申请实施例中,存储器可以用于存储资源调节方法的程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行资源调节方法。
如图3所示,为本申请实施例提供的一种计算设备的示意图,该计算设备包括:
处理器301、存储器302、收发器303、总线接口304;其中,处理器301、存储器302与收发器303之间通过总线305连接;
所述处理器301,用于读取所述存储器302中的程序,执行上述资源调节方法;
处理器301可以是中央处理器(central processing unit,简称CPU),网络处理器(network processor,简称NP)或者CPU和NP的组合。还可以是硬件芯片。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,简称ASIC),可编程逻辑器件(programmable logic device,简称PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,简称CPLD),现场可编程逻辑门阵列(field-programmable gate array,简称FPGA),通用阵列逻辑(generic array logic,简称GAL)或其任意组合。
所述存储器302,用于存储一个或多个可执行程序,可以存储所述处理器301在执行操作时所使用的数据。
具体地,程序可以包括程序代码,程序代码包括计算机操作指令。存储器302可以包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,简称RAM);存储器302也可以包括非易失性存储器(non-volatile memory),例如快闪存储器(flash memory),硬盘(hard disk drive,简称HDD)或固态硬盘(solid-state drive,简称SSD);存储器302还可以包括上述种类的存储器的组合。
存储器302存储了如下的元素,可执行模块或者数据结构,或者它们的子集,或者它们的扩展集:
操作指令:包括各种操作指令,用于实现各种操作。
操作系统:包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。
总线305可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
总线接口304可以为有线通信接入口,无线总线接口或其组合,其中,有线总线接口例如可以为以太网接口。以太网接口可以是光接口,电接口或其组合。无线总线接口可以为WLAN接口。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行资源调节方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种资源调节方法,适用于K8S平台中的各应用,所述K8S平台包括多个Pod;其特征在于,包括:
通过监控工具获取所述K8S平台中的第一应用在连续N-1个周期中的历史资源使用状态数据;所述第一应用为所述K8S平台中的各应用中的任一应用,N为大于1的正整数;
将所述第一应用的N-1个历史资源使用状态数据输入第一网络,通过所述第一网络得到所述第一应用在第N个周期中的预测资源使用状态数据;所述第一网络是联合第二网络进行对抗训练得到的;
将所述预测资源使用状态数据输入第三网络,通过所述第三网络得到所述第一应用在所述第N个周期中的待用Pod数量;所述第三网络是根据所述K8S平台中的多个应用的资源使用状态数据和对应的Pod数量进行训练得到的。
2.如权利要求1所述的方法,其特征在于,所述第一网络和所述第二网络通过下述方式训练得到,包括:
针对所述K8S平台中的G个应用,获取所述G个应用在N个测试周期中的真实资源使用状态数据;G为大于1的正整数;
根据所述G个应用在前N-1个测试周期中的真实资源使用状态数据对初始生成网络进行训练,得到所述G个应用在第N个测试周期的预测资源使用状态数据,以及各第一损失值;
根据所述G个应用在第N个测试周期的真实资源使用状态数据和在第N个测试周期的预测资源使用状态数据对初始判别网络进行训练,得到各第二损失值;所述初始判别网络用于区分资源使用状态数据的真伪;
根据所述各第一损失值和所述各第二损失值,确定综合损失值;若所述综合损失值不满足第一设定要求,则继续训练新一代的生成网络和判别网络;
在P代生成网络和P代判别网络下的综合损失值满足所述第一设定要求时,则确定所述P代生成网络为第一网络,所述P代判别网络为第二网络。
3.如权利要求2所述的方法,其特征在于,
所述根据所述G个应用在前N-1个测试周期中的真实资源使用状态数据对初始生成网络进行训练,得到所述G个应用在第N个测试周期的预测资源使用状态数据,以及各第一损失值,包括:
针对所述G个应用中的任一应用,将所述应用在前N-1个测试周期中的真实资源使用状态数据和与对应的随机序列输入初始生成网络,从而得到所述应用在第N个测试周期的预测资源使用状态数据,并对应生成第一损失值;
所述根据所述G个应用在第N个测试周期的真实资源使用状态数据和在第N个测试周期的预测资源使用状态数据对初始判别网络的训练,得到各第二损失值,包括:
针对所述G个应用中的任一应用,分别将所述应用在前N-1个测试周期中的真实资源使用状态数据,与所述应用在所述第N个测试周期的真实资源使用状态数据构成第一序列,及与所述应用在所述第N个测试周期的预测资源使用状态数据构成第二序列,并将所述第一序列和所述第二序列输入至初始判别网络进行训练,得到第二损失值。
4.如权利要求1所述的方法,其特征在于,所述第三网络通过下述方式训练得到,包括:
针对所述K8S平台中的任一应用,通过所述监控工具获取所述应用在设定的第一Pod数量下的第一最大外部访问量和第一资源使用量;
将各应用分别在所述第一Pod数量下的第一最大外部访问量和第一资源使用量作为输入,所述第一Pod数量作为标签值,对初始神经网络进行训练,得到所述初始神经网络的损失值;
若确定Q代神经网络的损失值与Q-1代神经网络的损失值的差距满足第二设定要求,则确定所述Q代神经网络为第三网络。
5.如权利要求4所述的方法,其特征在于,
所述通过所述监控工具获取所述应用在设定的第一Pod数量下的第一最大外部访问量和第一资源使用量,包括:
设置所述应用对应的Pod数量为第一Pod数量;
在所述第一Pod数量下,向所述应用发送测试报文;
若确定测试报文的丢失率超过设定阈值,则确定当前测试报文的数量为所述应用在所述第一Pod数量下的第一最大外部访问量,并通过所述监控工具获取所述应用对CPU的使用量和对内存的使用量作为第一资源使用量。
6.如权利要求3所述的方法,其特征在于,
所述针对所述G个应用中的任一应用,将所述应用在前N-1个测试周期中的真实资源使用状态数据和与对应的随机序列输入初始生成网络,从而得到所述应用在第N个测试周期的预测资源使用状态数据,包括:
针对所述G个应用中的任一应用,将所述应用在前N-1个测试周期中的真实资源使用状态数据与对应的随机序列输入初始生成网络;
通过所述初始生成网络中的RNN单元和全连接网络提取所述N-1个真实资源使用状态数据的历史时序特征,从而得到所述应用在第N个测试周期的预测资源使用状态数据。
7.如权利要求1-6任一项所述的方法,其特征在于,所述方法还包括:
基于所述待用Pod数量调节所述第一应用在所述第N个周期中使用的Pod数量;
通过所述监控工具获取所述第一应用在所述第N个周期中的真实资源使用状态数据;
根据所述第二网络对基于所述第N个周期中的预测资源使用状态数据和所述第N个周期中的真实资源使用状态数据的判别,确定是否更新所述第一网络。
8.一种资源调节装置,适用于K8S平台中的各应用,所述K8S平台包括多个Pod;其特征在于,包括:
历史资源使用状态数据获取单元,用于通过监控工具获取所述K8S平台中的第一应用在连续N-1个周期中的历史资源使用状态数据;所述第一应用为所述K8S平台中的各应用中的任一应用,N为大于1的正整数;
预测资源使用状态数据确定单元,用于将所述第一应用的N-1个历史资源使用状态数据输入第一网络,通过所述第一网络得到所述第一应用在第N个周期中的预测资源使用状态数据;所述第一网络是联合第二网络进行对抗训练得到的;
待用资源确定单元,用于将所述预测资源使用状态数据输入第三网络,通过所述第三网络得到所述第一应用在所述第N个周期中的待用Pod数量;所述第三网络是根据所述K8S平台中的多个应用的资源使用状态数据和对应的Pod数量进行训练得到的。
9.一种计算机设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于调用所述存储器中存储的计算机程序,按照获得的程序执行如权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111532704.XA CN114281474A (zh) | 2021-12-15 | 2021-12-15 | 一种资源调节方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111532704.XA CN114281474A (zh) | 2021-12-15 | 2021-12-15 | 一种资源调节方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114281474A true CN114281474A (zh) | 2022-04-05 |
Family
ID=80872305
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111532704.XA Pending CN114281474A (zh) | 2021-12-15 | 2021-12-15 | 一种资源调节方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114281474A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114780170A (zh) * | 2022-04-11 | 2022-07-22 | 远景智能国际私人投资有限公司 | 容器资源的配置方法、装置、设备及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112163715A (zh) * | 2020-10-14 | 2021-01-01 | 腾讯科技(深圳)有限公司 | 生成式对抗网络的训练方法及装置、电力负荷预测方法 |
-
2021
- 2021-12-15 CN CN202111532704.XA patent/CN114281474A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112163715A (zh) * | 2020-10-14 | 2021-01-01 | 腾讯科技(深圳)有限公司 | 生成式对抗网络的训练方法及装置、电力负荷预测方法 |
Non-Patent Citations (1)
Title |
---|
马航: "基于Kubernetes的容器云平台资源动态调度的研究与实现", 《中国知网》, 15 March 2020 (2020-03-15), pages 3 - 5 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114780170A (zh) * | 2022-04-11 | 2022-07-22 | 远景智能国际私人投资有限公司 | 容器资源的配置方法、装置、设备及存储介质 |
CN114780170B (zh) * | 2022-04-11 | 2023-07-21 | 远景智能国际私人投资有限公司 | 容器资源的配置方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2018076791A1 (zh) | 一种资源负载均衡控制方法及集群调度器 | |
US20220255817A1 (en) | Machine learning-based vnf anomaly detection system and method for virtual network management | |
CN109586952B (zh) | 服务器扩容方法、装置 | |
CN110933178B (zh) | 调整集群系统内的节点配置的方法及服务器 | |
CN112819258A (zh) | 银行网点到店客户数量预测方法及装置 | |
US11669374B2 (en) | Using machine-learning methods to facilitate experimental evaluation of modifications to a computational environment within a distributed system | |
CN114444074A (zh) | 一种异常区块链节点检测方法及装置 | |
CN113902116A (zh) | 一种面向深度学习模型推理批处理优化方法与系统 | |
WO2022084784A1 (en) | Auto-scaling a query engine for enterprise-level big data workloads | |
CN111209111B (zh) | 基于区块链系统的资源分配方法、装置、设备和存储介质 | |
CN115525394A (zh) | 容器数量的调整方法及装置 | |
CN117435306A (zh) | 集群容器扩缩容方法、装置、设备及存储介质 | |
CN114281474A (zh) | 一种资源调节方法及装置 | |
CN112925634A (zh) | 异构资源调度方法和系统 | |
US20240249160A1 (en) | Prediction apparatus, prediction method and prediction program | |
US11526347B2 (en) | Intelligent software patch management | |
CN107357649B (zh) | 系统资源部署策略的确定方法、装置及电子设备 | |
CN109992408B (zh) | 一种资源分配方法、装置、电子设备和存储介质 | |
CN110728372B (zh) | 一种人工智能模型动态加载的集群设计方法及集群系统 | |
CN111143033B (zh) | 基于可伸缩操作系统的操作执行方法及装置 | |
CN112379913A (zh) | 基于风险识别的软件优化方法、装置、设备及存储介质 | |
CN112148483A (zh) | 一种容器迁移方法及相关装置 | |
CN111783487A (zh) | 一种读卡器设备的故障预警方法及装置 | |
CN110764975B (zh) | 设备性能的预警方法、装置及监控设备 | |
CN114841267B (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 |