CN114416280A - 一种需求资源预测方法、装置、设备及存储介质 - Google Patents

一种需求资源预测方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN114416280A
CN114416280A CN202111566668.9A CN202111566668A CN114416280A CN 114416280 A CN114416280 A CN 114416280A CN 202111566668 A CN202111566668 A CN 202111566668A CN 114416280 A CN114416280 A CN 114416280A
Authority
CN
China
Prior art keywords
operating parameters
target container
historical
target
current
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
CN202111566668.9A
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.)
Sangfor Technologies Co Ltd
Original Assignee
Sangfor Technologies 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 Sangfor Technologies Co Ltd filed Critical Sangfor Technologies Co Ltd
Priority to CN202111566668.9A priority Critical patent/CN114416280A/zh
Publication of CN114416280A publication Critical patent/CN114416280A/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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support

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

一种需求资源预测方法、装置、设备及存储介质
技术领域
本申请涉及计算机领域中的需求资源预测技术,尤其涉及一种需求资源预测方法、装置、设备及存储介质。
背景技术
垂直pod自动扩缩器(Vertical Pod Autoscaler,VPA)是kubernetes(简称k8s)的一种资源对象,可以根据pod中容器资源的使用情况,预测容器未来的需求资源,来为容器提供适当的资源;相关技术中只采用当前时刻之后5分钟内容器的运行参数(即当前运行参数)来预测容器未来的需求资源,进而为容器提供适当的资源,但是,pod中容器所消耗的资源往往是具有周期性的,只采用当前运行参数来预测容器未来的需求资源,容易造成预测不准确的问题。
发明内容
为解决上述技术问题,本申请实施例期望提供一种需求资源预测方法、装置、设备及存储介质,解决了预测容器未来的需求资源不准确的问题,提高了预测的准确率。
本申请的技术方案是这样实现的:
一种需求资源预测方法,所述方法包括:
获取目标容器的历史运行参数和当前运行参数;
基于所述历史运行参数和所述当前运行参数,预测所述目标容器的需求资源。
上述方案中,所述获取目标容器的历史运行参数和当前运行参数,包括:
获取第一历史时间段中包括的多个第二历史时间段内所述目标容器的运行参数;
基于所述多个第二历史时间段内所述目标容器的运行参数,得到所述第一历史时间段内所述目标容器的运行参数并存储;
按照目标采样周期获取存储的多个所述第一历史时间段内所述目标容器的运行参数,得到所述历史运行参数;
获取当前时刻之后目标时长内所述目标容器的运行参数,得到所述当前运行参数。
上述方案中,所述基于所述历史运行参数和所述当前运行参数,预测所述目标容器的需求资源,包括:
对所述历史运行参数和所述当前运行参数进行分析,确定所述目标容器的服务类型;
基于所述历史运行参数、所述当前运行参数和所述目标容器的服务类型,预测所述目标容器的需求资源。
上述方案中,所述对所述历史运行参数和所述当前运行参数进行分析,确定所述目标容器的服务类型,包括:
从所述历史运行参数和所述当前运行参数中,获取与第一目标标识对应的第一运行参数和与第二目标标识对应的第二运行参数;其中,所述第一目标标识和所述第二目标标识不同;
基于所述第一运行参数和所述第二运行参数,确定所述目标容器的服务类型。
上述方案中,所述基于所述第一运行参数和所述第二运行参数,确定所述目标容器的服务类型,包括:
基于第一运行参数和所述第二运行参数,确定所述第一运行参数和所述第二运行参数之间的差异信息;
基于所述差异信息,确定所述目标容器的服务类型。
上述方案中,所述基于所述历史运行参数、所述当前运行参数和所述服务类型,预测所述目标容器的需求资源,包括:
确定资源预测模型;
采用所述资源预测模型,对所述历史运行参数、所述当前运行参数和所述服务类型进行处理,得到所述目标容器的所述需求资源。
上述方案中,所述获取资源预测模型,包括:
获取样本容器的样本运行参数和所述样本容器的服务类型;
采用长短期记忆网络,基于所述样本运行参数和所述样本容器的服务类型进行模型训练,得到所述资源预测模型。
上述方案中,所述历史运行参数包括:所述目标容器的中央处理器的历史使用信息、内存的历史使用信息、磁盘的历史输入输出信息、所述目标容器运行时接收历史请求的次数和所述目标容器对所述历史请求处理的时间;
所述当前运行参数包括:所述目标容器的中央处理器的当前使用信息、内存的当前使用信息、磁盘的当前输入输出信息、所述目标容器运行时接收当前请求的次数和所述目标容器对所述当前请求处理的时间;
所述样本运行参数包括:样本容器的中央处理器的样本使用信息、内存的样本使用信息、磁盘的样本输入输出信息、所述样本容器运行时接收样本请求的次数、所述样本容器对所述样本请求处理的时间。
一种需求资源预测装置,所述装置包括:
获取单元,用于获取目标容器的历史运行参数和当前运行参数;
预测单元,用于基于所述历史运行参数和所述当前运行参数,预测所述目标容器的需求资源。
一种需求资源预测设备,所述设备包括:处理器、存储器和通信总线;
所述通信总线用于实现处理器和存储器之间的通信连接;
所述处理器用于执行存储器中的需求资源预测程序,以实现以下步骤:
获取目标容器的历史运行参数和当前运行参数;
基于所述历史运行参数和所述当前运行参数,预测所述目标容器的需求资源。
一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述的需求资源预测方法的步骤。
本申请实施例所提供的需求资源预测方法、装置、设备及存储介质,获取目标容器的历史运行参数和当前运行参数;基于历史运行参数和当前运行参数,预测目标容器的需求资源;如此,可以基于目标容器的历史运行参数和当前运行参数来分析目标容器消耗资源的规律,并对目标容器消耗资源的规律、历史运行参数和当前运行参数进行处理,来预测目标容器的需求资源,提高了预测目标容器的需求资源的准确率。
附图说明
图1为本申请实施例提供的一种需求资源预测方法的流程示意图;
图2为本申请实施例提供的另一种需求资源预测方法的流程示意图;
图3为本申请实施例提供的一种需求资源预测装置的结构示意图;
图4为本申请实施例提供的一种需求资源预测设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供一种需求资源预测方法,该方法可以应用于需求资源预测设备,参照图1所示,该方法包括以下步骤:
步骤101、获取目标容器的历史运行参数和当前运行参数。
其中,目标容器可以是pod中的容器;pod是可以在kubernetes中创建和管理的最小的可部署的计算单元,pod是由至少一个容器组成的;kubernetes是一个开源的,用于管理云平台中多个主机上的容器化的应用。其中,历史运行参数可以表示目标容器历史运行过程中所消耗的资源;当前运行参数可以表示目标容器当前运行过程中所消耗的资源;其中,历史运行参数至少包括中央处理器(central processing unit,cpu)的历史使用信息和内存的历史使用信息;当前运行参数至少包括中央处理器的当前使用信息和内存的当前使用信息。
在本申请实施例中,获取目标容器的历史运行参数和当前运行参数可以是由需求资源预测设备上运行的kubernetes中的VPA来实现,具体可以是VPA根据预先设定的预测周期和目标容器的标识,主动获取pod中目标容器的历史运行参数和当前运行参数;还可以是需求资源预测设备接收用户的预测指令,预测指令中携带有目标容器的标识,其中,预测指令用于指示需求资源设备预测目标容器未来的需求资源。
步骤102、基于历史运行参数和当前运行参数,预测目标容器的需求资源。
在本申请实施例中,可以对历史运行参数和当前运行参数进行分析,确定目标容器消耗资源的规律,并根据历史运行参数、当前运行参数和目标容器消耗资源的规律,来预测未来一段时间目标容器的需求资源。
此外,还可以对历史运行参数和当前运行参数进行计算,得到目标容器的需求资源的预测值。
在一种可行的实现方式中,可以以历史运行参数为中央处理器的历史使用信息和内存的历史使用信息,当前运行参数为中央处理器的当前使用信息和内存的当前使用信息为例,可以将中央处理器的历史使用信息和中央处理器的当前使用信息求平均来得到目标容器对中央处理器的需求信息,并对内存的历史使用信息和内存的当前使用信息求平均来得到目标容器对内存的需求信息,并将预测得到的目标容器对中央处理器的需求信息和目标容器对内存的需求信息作为目标容器的需求资源的预测值。
需要说明的是,pod中的容器所消耗的资源往往是具有周期性的,在一种可行的实现方式中,在服务高峰期时pod中的(如09:00-11:00,15:00-17:00)容器被频繁调用,因此应该为pod中的容器分配更多的资源,以避免资源过少容器不够用,无法提供服务,在服务空闲期时pod中(18:00-08:00)的容器基本很少被调用,因此应该为pod中的容器分配较少的资源,以避免资源分配过多造成浪费。现有技术只采用当前运行参数来确定目标容器的需求资源,具有偶然性,导致确定的目标容器的需求资源的不准确,而本申请实施例中,对目标容器的历史运行参数和当前运行参数进行分析,可以得到目标容器消耗资源的规律,并根据得到的目标容器消耗资源的规律以及历史运行参数和当前运行参数进行处理,来预测目标容器的需求资源,提高了预测目标容器的需求资源的准确率。
本申请实施例所提供的需求资源预测方法,获取目标容器的历史运行参数和当前运行参数;基于历史运行参数和当前运行参数,预测目标容器的需求资源;如此,可以基于目标容器的历史运行参数和当前运行参数来分析目标容器消耗资源的规律,并对目标容器消耗资源的规律、历史运行参数和当前运行参数进行处理,来预测目标容器的需求资源,提高了预测目标容器的需求资源的准确率。
基于前述实施例,本申请实施例提供的需求资源预测方法,参照图2所示,该方法包括以下步骤:
步骤201、需求资源预测设备获取第一历史时间段中包括的多个第二历史时间段内目标容器的运行参数。
在本申请实施例中,需求资源预测设备可以实时采集目标容器的运行参数,并对实时采集的目标容器的运行参数进行存储,之后可以从存储的目标容器的运行参数中获取第一历史时间段中包括多个第二历史时间段内目标容器的运行参数。其中,第一历史时间段和第二历史时间段分别对应的时长可以是预先设置的。
在一种可行的实现方式中,第一历史时间段对应的第一预设时长可以为1个小时,第二历史时间段对应的第二预设时长可以为3分钟,需求资源预测设备可以每隔3分钟采集一次目标容器的运行参数,可以在1个小时之内获取每个3分钟对应采集的目标容器的运行参数;其中,采集的目标容器的运行参数的次数可以为20次。
步骤202、需求资源预测设备基于多个第二历史时间段内目标容器的运行参数,得到第一历史时间段内目标容器的运行参数并存储。
在本申请实施例中,需求资源预测设备可以对多个第二历史时间段内的目标容器的运行参数进行叠加,得到第一历史时间段内目标容器的运行参数,并存储至数据库中。
需要说明的是,在存储目标容器的运行参数时,是根据不同运行参数的标识和采集的时间来进行存储的;可以将多个第二历史时间段内运行参数的标识相同的运行参数进行叠加,得到第一历史时间段内目标容器的运行参数。
在一种可行的实现方式中,第二历史时间段对应的时长可以为3分钟,第一历史时间段可以为1个小时,目标容器的运行参数可以为目标容器的中央处理器的运行参数和内存的运行参数,则可以将1个小时之内采集的多个3分钟的运行参数中中央处理器的运行参数进行叠加,并对内存的运行参数进行叠加,以得到第一历史时间段内目标容器的运行参数。
步骤203、需求资源预测设备按照目标采样周期获取存储的多个第一历史时间段内目标容器的运行参数,得到历史运行参数。
在本申请实施例中,目标采样周期可以是根据pod中容器所消耗的资源的周期性来确定的;在目标容器运行的过程中,可以按照目标采样周期,获取目标采样周期内多个第一历史时间段内目标容器的运行参数,得到历史运行参数。
其中,VPA可以实时采集目标容器的运行参数,也可以是间隔第一预设时长采集一次目标容器的运行参数,并将采集的目标容器的运行参数根据目标容器的标识以及采集的时间存储至数据库中,当需要预测目标容器的需求资源时,VPA可以按照目标容器的标识和目标采样周期,从数据库中调用历史运行参数。
需要说明的是,VPA在采集目标容器的运行参数时,无论是实时采集还是间隔第一预设时长采集一次目标容器的运行参数,都可以按照第二预设时长来统计第二预设时长内所采集的目标容器的运行参数。其中,第二预设时长大于第一预设时长。
在本申请实施例中,历史运行参数可以包括:目标容器的中央处理器的历史使用信息、内存的历史使用信息、磁盘的历史输入输出信息、目标容器运行时接收历史请求的次数和目标容器对历史请求处理的时间。
步骤204、需求资源预测设备获取当前时刻之后目标时长内目标容器的运行参数,得到当前运行参数。
其中,目标时长可以是预先设置的。
在本申请实施例中,当需要预测目标容器的需求资源时,可以获取当前时刻之后目标时长内目标容器的运行参数,得到当前运行参数。其中,当前运行参数可以包括:目标容器的中央处理器的当前使用信息、内存的当前使用信息、磁盘的当前输入输出信息、目标容器运行时接收当前请求的次数和目标容器对当前请求处理的时间。
在一种可行的实现方式中,目标时长可以为10分钟,以当前运行参数为中央处理器的当前使用信息为例,获取中央处理器的当前使用信息具体可以是在当前时刻之后10分钟之内实时采集目标容器的中央处理器的使用信息,并对10分钟之内实时采集的目标容器的中央处理器的使用信息进行统计得到目标容器的中央处理器的当前使用信息。
步骤205、需求资源预测设备对历史运行参数和当前运行参数进行分析,确定目标容器的服务类型。
其中,目标容器的服务类型包括但不限于:CPU密集型和IO密集型。
在本申请实施例中,可以对历史运行参数和当前运行参数进行分析,确定CPU的使用量和磁盘的输入/输出(Input/Output,IO)的使用量,并将CPU的使用量和IO的使用量进行比较,确定目标容器的服务类型为CPU密集型,还是IO密集型。
在一种可行的实现方式中,若对历史运行参数和当前运行参数进行分析后,确定CPU的使用量大于IO的使用量,则可以确定目标容器的服务类型为CPU密集型,当确定IO的使用量大于CPU的使用量时,则确定目标容器的服务类型为IO密集型。其中,CPU密集型可以指的是目标容器在执行任务期间(或可以理解为服务期间),99%的时间都花费在CPU上,而花费在IO上的时间很少;IO密集型可以指的是目标容器在执行任务期间,99%的时间都花在IO上,而花在CPU上的时间很少。
需要说明的是,步骤205可以由步骤a1-a2来实现:
步骤a1、需求资源预测设备从历史运行参数和当前运行参数中,获取与第一目标标识对应的第一运行参数和与第二目标标识对应的第二运行参数。
其中,第一目标标识和第二目标标识不同;第一目标标识可以为CPU的标识,第二目标标识可以为磁盘的标识,第一运行参数可以为目标容器的中央处理器的当前使用信息和历史使用信息,第二运行参数可以为磁盘的历史输入输出信息和当前输入输出信息。第一目标标识可以为磁盘的标识,第二目标标识可以为CPU的标识,第一运行参数可以为磁盘的历史输入输出信息和当前输入输出信息,第二运行参数可以为目标容器的中央处理器的历史使用信息和当前使用信息。
在本申请实施例中,需求资源预测设备可以根据第一目标标识从历史运行参数和当前运行参数中提取与第一目标标识对应的第一运行参数,以及根据第二目标标识从历史运行参数和当前运行参数中提取与第二目标标识对应的第二运行参数。
步骤a2、需求资源预测设备基于第一运行参数和第二运行参数,确定目标容器的服务类型。
在本申请实施例中,可以对第一运行参数进行分析,确定第一运行参数对应的第一使用量,并对第二运行参数进行分析,确定第二运行参数对应的第二使用量,当第一使用量大于第二使用量时,确定目标容器的服务类型为第一运行参数所对应的服务类型,当第二使用量大于第一使用量时,则确定目标容器的服务类型为第二运行参数所对应的服务类型。
在一种可行的实现方式中,第一运行参数所对应的服务类型可以为CPU密集型,第二运行参数所对应的服务类型可以为IO密集型。
需要说明的是,步骤a2还可以通过步骤b1-b2来实现:
步骤b1、需求资源预测设备基于第一运行参数和第二运行参数,确定第一运行参数和第二运行参数之间的差异信息;
在本申请实施例中,差异信息可以为第一运行参数对应的第一使用量和第二运行参数对应的第二使用量之间的差异值;差异信息还可以为第一运行参数和第二运行参数之间的协方差。
在一种可行的实现方式中,需求资源预测设备可以采用协方差计算公式,对第一运行参数和第二运行参数进行计算,得到第一运行参数和第二运行参数之间的协方差。
步骤b2、需求资源预测设备基于差异信息,确定目标容器的服务类型。
在本申请实施例中,可以对协方差进行分析,来确定目标容器的服务类型。
在一种可行的实现方式中,确定的是目标容器的中央处理器的运行参数和磁盘的运行参数之间的协方差,若协方差大于0,则可以确定目标容器的服务类型为CPU密集型,当协方差小于0时,则可以确定目标容器的服务类型为IO密集型。
步骤206、需求资源预测设备基于历史运行参数、当前运行参数和目标容器的服务类型,预测目标容器的需求资源。
其中,历史运行参数包括:目标容器的中央处理器的历史使用信息、内存的历史使用信息、磁盘的历史输入输出信息、目标容器运行时接收历史请求的次数和目标容器对历史请求处理的时间;当前运行参数包括:目标容器的中央处理器的当前使用信息、内存的当前使用信息、磁盘的当前输入输出信息、目标容器运行时接收当前请求的次数和目标容器对当前请求处理的时间。
需要说明的是,可以通过VPA中的采集模块,对所有容器每隔10分钟采集一次数据,记录的数据包括采集的时间t,以及时间t所对应的CPU的使用信息、内存的使用信息、磁盘的输入输出信息、容器接收请求的次数和容器对请求处理的时间,即总共5个维度的数据进行存储,当需要预测目标容器的需求资源时,可以从存储的数据中获取目标容器的历史运行参数,并采集目标容器的当前运行参数,其中,无论是历史运行参数还是当前运行参数均是5个维度的数据,根据获取的历史运行参数和当前运行参数,确定目标容器的服务类型,并根据历史运行参数、当前运行参数以及目标容器的服务类型,即6个维度的数据来预测目标容器的需求资源,相比于相关技术而言,仅仅从2个维度,具体采用CPU的当前使用信息和内存的当前使用信息来预测目标容器的需求资源,增加了预测目标容器的需求资源所采用的数据的维度,提高了预测目标容器的需求资源的准确率。
此外,为了提高预测目标容器的需求资源的准确率,还可以对目标容器历史运行对应的运行参数和当前运行对应的运行参数进行数据清洗,具体可以通过3sigma原则剔除运行参数中的异常数据,并且,对目标容器历史运行对应的运行参数和当前运行对应的运行参数进行分析时,若发现部分数据存在缺失,可以采用K近邻插补法来补全缺失数据,来得到历史运行参数和当前运行参数,以提高预测目标容器的需求资源时所采用的数据的完整性。
其中,异常数据指的是目标容器历史运行对应的运行参数和当前运行对应的运行参数中差异比较大的数据,异常数据可以是对历史运行对应的运行参数和当前运行对应的运行参数进行分析后确定的。
需要说明的是,可以将预测目标容器的需求资源所需要的6个维度的数据进行变换得到无量纲的归一化的数据,具体可以将6个维度的数据映射在(0,1)之间,可以降低预测目标容器的需求资源时的计算复杂度。
在一种可行的实现方式中,6个维度的数据可以用x(t)来表示,实际给目标容器所分配的资源可以用y(t)来表示,可以确定x(t)和y(t)之间的逻辑关系,并根据x(t)和y(t)之间的逻辑关系,预测目标容器的需求资源;如此,采用6个维度的数据来预测目标容器的需求资源,可以提高预测目标容器的需求资源的准确率,避免预测的目标容器的需求资源过大浪费大量资源,也可以避免预测的目标容器的需求资源过小无法满足目标容器的正常运行。
其中,步骤206包括步骤c1-c2来实现:
步骤c1、需求资源预测设备确定资源预测模型。
在本申请实施例中,资源预测模型可以是在获取目标容器的历史运行参数和当前运行参数之前确定的,也可以是在获取目标容器的历史运行参数和当前运行参数之后确定的,还可以是在获取目标容器的历史运行参数和当前运行参数时,同时确定的资源预测模型。
需要说明的是,步骤c1可以通过步骤d1-d2来实现:
步骤d1、需求资源预测设备获取样本容器的样本运行参数和样本容器的服务类型。
其中,样本运行参数包括:样本容器的中央处理器的样本使用信息、内存的样本使用信息、磁盘的样本输入输出信息、样本容器运行时接收样本请求的次数、样本容器对样本请求处理的时间。其中,样本运行参数包括5个维度的参数。
在本申请实施例中,样本运行参数包括5个维度的数据,与样本容器的服务类型可以组成6个维度的数据。
步骤d2、需求资源预测设备采用长短期记忆网络,基于样本运行参数和样本容器的服务类型进行模型训练,得到资源预测模型。
其中,长短期记忆网络(Long Short-Term Memory,LSTM)是一种时间循环神经网络,是为了解决循环神经网络(Recurrent Neural Network,RNN)存在的长期依赖问题而专门设计出来的,所有的循环神经网络都具有一种重复神经网络模块的链式形式。
在本申请实施例中,采用长短期记忆网络,对样本运行参数和样本容器的服务类型进行模型训练,通过调节长短期记忆网络中的参数,训练得到资源预测模型。
步骤c2、需求资源预测设备采用资源预测模型,对历史运行参数、当前运行参数和服务类型进行处理,得到目标容器的需求资源。
在本申请实施例中,可以将历史运行参数、当前运行参数和服务类型输入至资源预测模型中,使得资源预测模型可以对历史运行参数、当前运行参数和服务类型进行分析,得到目标容器的需求资源。
需要说明的是,目标容器的需求资源包括但不限于预测的CPU的使用信息、内存的使用信息以及磁盘的输入输出信息。其中,还可以根据预测的磁盘的输入输出信息来进一步预测blkio。
下述结合应用场景对本申请所提供的需求资源预测方法进行详细的解释说明:
在本申请实施例中,VPA包括采集模块、预测模块、更新模块、资源调整模块和创建模块;其中,采集模块用于收集每个时间对应的pod中容器运行时CPU的使用信息、内存的使用信息、磁盘的输入输出信息、容器运行时接收请求的次数和容器对请求处理的时间并存储,其中,还可以对磁盘的输入输出信息进行分析,得到blkio,并将blkio作为资源预测时所采用的一种数据。其中,blkio可以用于替换磁盘的输入输出信息来作为资源预测时所采用的一个维度的数据。
预测模块可以从采集模块获取历史运行参数和当前运行参数,并基于历史运行参数和当前运行参数,充分挖掘数据之间的内在联系来确定目标容器的服务类型,并采用LSTM来预测目标容器的需求资源;其中,当确定目标容器的服务类型为IO密集型,则应该给目标容器的blkio更大的权重和更多的内存,当确定目标容器的服务类型为CPU密集型,则可以给目标容器分配更多的CPU,在目标容器处于空闲时,还可以缩减目标容器的资源;如此,通过挖掘数据之间内在的联系,可以给目标容器以及目标容器所在的pod推荐分配的资源,既能提高资源利用率,又能保证目标容器的正常运行,避免资源不够目标容器无法运行引起的卡顿问题。
更新模块可以定时从预测模块获取预测的目标容器的需求资源,当确定预测的目标容器的需求资源与正在运行的pod中容器的实际运行参数之间的比值超过目标比值时,则会删除目标容器所在的pod,并触发创建模块,使得pod进入重建流程,也就是说,pod会存在频繁被更新的风险,为了降低这种风险,预测的目标容器的需求资源要尽可能的接近pod正在运行的运行参数,以减少pod的更新次数。创建模块,主要用于拦截创建pod流程,并结合预测的目标容器的需求资源来创建满足要求的pod。
资源调整模块可以根据预测的目标容器的需求资源,来调整目标容器的资源,当确定目标容器的资源不足时,可以根据预测的目标容器的需求资源,来为目标容器分配资源,当确定目标容器的资源过量时,则可以根据预测的目标容器的需求资源缩减目标容器的资源,以实现动态调整目标容器的资源,进而动态实现调整pod的资源。
本申请实施例所提供的需求资源预测方法,不仅采用了当前运行参数,还结合了历史运行参数来预测目标容器的需求资源,提高了预测的准确性,而且,增加了预测目标容器的需求资源所采用数据的维度,预测目标容器的需求资源时更加的细化,提高了预测的精度。
此外,相关技术中,预测目标容器的需求资源时只是采用简单的算术运算,而本申请技术方案中采用了长短期记忆网络,对样本参数进行模型训练,得到资源预测模型,其中,这样预测方法可以理解为时序预测方法,克服了相关技术中预测不准确的问题,实现了高效的预测目标容器的需求资源,进一步地,提高了预测目标容器的需求资源的准确率。
基于前述实施例,本申请实施例还提供了一种需求资源预测装置,该需求资源预测装置可以应用于图1-2对应的实施例提供的需求资源预测方法中,参考图3,该需求资源预测装置3包括:
获取单元31,用于获取目标容器的历史运行参数和当前运行参数;
预测单元32,用于基于历史运行参数和当前运行参数,预测目标容器的需求资源。
在本申请实施例中,获取单元31还用于执行以下步骤:
获取第一历史时间段中包括的多个第二历史时间段内目标容器的运行参数;
基于多个第二历史时间段内目标容器的运行参数,得到第一历史时间段内目标容器的运行参数并存储;
按照目标采样周期获取存储的多个第一历史时间段内目标容器的运行参数,得到历史运行参数;
获取当前时刻之后目标时长内目标容器的运行参数,得到当前运行参数。
在本申请实施例中,预测单元32,还用于执行以下步骤:
对历史运行参数和当前运行参数进行分析,确定目标容器的服务类型;
基于历史运行参数、当前运行参数和目标容器的服务类型,预测目标容器的需求资源。
在本申请实施例中,预测单元32,还用于执行以下步骤:
从历史运行参数和当前运行参数中,获取与第一目标标识对应的第一运行参数和与第二目标标识对应的第二运行参数;其中,第一目标标识和第二目标标识不同;
基于第一运行参数和第二运行参数,确定目标容器的服务类型。
在本申请实施例中,预测单元32,还用于执行以下步骤:
基于第一运行参数和第二运行参数,确定第一运行参数和第二运行参数之间的差异信息;
基于差异信息,确定目标容器的服务类型。
在本申请实施例中,预测单元32,还用于执行以下步骤:
确定资源预测模型;
采用资源预测模型,对历史运行参数、当前运行参数和服务类型进行处理,得到目标容器的需求资源。
在本申请实施例中,获取单元31,还用于执行以下步骤:
获取样本容器的样本运行参数和样本容器的服务类型;
采用长短期记忆网络,基于样本运行参数和样本容器的服务类型进行模型训练,得到资源预测模型。
在本申请实施例中,历史运行参数包括:目标容器的中央处理器的历史使用信息、内存的历史使用信息、磁盘的历史输入输出信息、目标容器运行时接收历史请求的次数和目标容器对历史请求处理的时间;
当前运行参数包括:目标容器的中央处理器的当前使用信息、内存的当前使用信息、磁盘的当前输入输出信息、目标容器运行时接收当前请求的次数和目标容器对当前请求处理的时间;
样本运行参数包括:样本容器的中央处理器的样本使用信息、内存的样本使用信息、磁盘的样本输入输出信息、样本容器运行时接收样本请求的次数、样本容器对样本请求处理的时间。
需要说明的是,本申请实施例中各单元之间的交互过程,可以参照图1-2对应的实施例提供的需求资源预测方法的实现过程,此处不再赘述
本申请实施例所提供的需求资源预测装置,可以基于目标容器的历史运行参数和当前运行参数来分析目标容器消耗资源的规律,并对目标容器消耗资源的规律、历史运行参数和当前运行参数进行处理,来预测目标容器的需求资源,提高了预测目标容器的需求资源的准确率。
基于前述实施例,本申请的实施例提供一种需求资源预测设备,该需求资源预测设备可以应用于图1-2对应的实施例提供的需求资源预测方法中,参照图4所示,该需求资源预测设备4可以包括:处理器41、存储器42和通信总线43,其中:
通信总线43用于实现处理器41和存储器42之间的通信连接;
处理器41用于执行存储器42中的需求资源预测程序,以实现以下步骤:
获取目标容器的历史运行参数和当前运行参数;
基于历史运行参数和当前运行参数,预测目标容器的需求资源。
在本申请的其他实施例中,处理器41用于执行存储器42中的获取目标容器的历史运行参数和当前运行参数,以实现以下步骤:
获取第一历史时间段中包括的多个第二历史时间段内目标容器的运行参数;
基于多个第二历史时间段内目标容器的运行参数,得到第一历史时间段内目标容器的运行参数并存储;
按照目标采样周期获取存储的多个第一历史时间段内目标容器的运行参数,得到历史运行参数;
获取当前时刻之后目标时长内目标容器的运行参数,得到当前运行参数。
在本申请的其他实施例中,处理器41用于执行存储器42中的基于历史运行参数和当前运行参数,预测目标容器的需求资源,以实现以下步骤:
对历史运行参数和当前运行参数进行分析,确定目标容器的服务类型;
基于历史运行参数、当前运行参数和目标容器的服务类型,预测目标容器的需求资源。
在本申请的其他实施例中,处理器41用于执行存储器42中的对历史运行参数和当前运行参数进行分析,确定目标容器的服务类型,以实现以下步骤:
从历史运行参数和当前运行参数中,获取与第一目标标识对应的第一运行参数和与第二目标标识对应的第二运行参数;其中,第一目标标识和第二目标标识不同;
基于第一运行参数和第二运行参数,确定目标容器的服务类型。
在本申请的其他实施例中,处理器41用于执行存储器42中的基于第一运行参数和第二运行参数,确定目标容器的服务类型,以实现以下步骤:
基于第一运行参数和第二运行参数,确定第一运行参数和第二运行参数之间的差异信息;
基于差异信息,确定目标容器的服务类型。
在本申请的其他实施例中,处理器41用于执行存储器42中的基于历史运行参数、当前运行参数和服务类型,预测目标容器的需求资源,以实现以下步骤:
确定资源预测模型;
采用资源预测模型,对历史运行参数、当前运行参数和服务类型进行处理,得到目标容器的需求资源。
在本申请的其他实施例中,处理器41用于执行存储器42中的获取资源预测模型,以实现以下步骤:
获取样本容器的样本运行参数和样本容器的服务类型;
采用长短期记忆网络,基于样本运行参数和样本容器的服务类型进行模型训练,得到资源预测模型。
在本申请的其他实施例中,历史运行参数包括:目标容器的中央处理器的历史使用信息、内存的历史使用信息、磁盘的历史输入输出信息、目标容器运行时接收历史请求的次数和目标容器对历史请求处理的时间;
当前运行参数包括:目标容器的中央处理器的当前使用信息、内存的当前使用信息、磁盘的当前输入输出信息、目标容器运行时接收当前请求的次数和目标容器对当前请求处理的时间;
样本运行参数包括:样本容器的中央处理器的样本使用信息、内存的样本使用信息、磁盘的样本输入输出信息、样本容器运行时接收样本请求的次数、样本容器对样本请求处理的时间。
需要说明的是,本实施例中处理器所执行的步骤的具体实现过程,可以参照图1-2对应的实施例提供的需求资源预测方法中的实现过程,此处不再赘述。
本申请实施例所提供的需求资源预测设备,可以基于目标容器的历史运行参数和当前运行参数来分析目标容器消耗资源的规律,并对目标容器消耗资源的规律、历史运行参数和当前运行参数进行处理,来预测目标容器的需求资源,提高了预测目标容器的需求资源的准确率。
基于前述实施例,本申请的实施例提供一种计算机可读存储介质,该计算机可读存储介质存储有一个或者多个程序,该一个或者多个程序可被一个或者多个处理器执行,以实现图1-2对应的实施例提供的需求资源预测方法中的步骤。
需要说明的是,上述计算机可读存储介质可以是只读存储器(Read Only Memory,ROM)、可编程只读存储器(Programmable Read-Only Memory,PROM)、可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,EPROM)、电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性随机存取存储器(Ferromagnetic Random Access Memory,FRAM)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(Compact Disc Read-Only Memory,CD-ROM)等存储器;也可以是包括上述存储器之一或任意组合的各种电子设备,如移动电话、计算机、平板设备、个人数字助理等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所描述的方法。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (11)

1.一种需求资源预测方法,其特征在于,所述方法包括:
获取目标容器的历史运行参数和当前运行参数;
基于所述历史运行参数和所述当前运行参数,预测所述目标容器的需求资源。
2.根据权利要求1所述的方法,其特征在于,所述获取目标容器的历史运行参数和当前运行参数,包括:
获取第一历史时间段中包括的多个第二历史时间段内所述目标容器的运行参数;
基于所述多个第二历史时间段内所述目标容器的运行参数,得到所述第一历史时间段内所述目标容器的运行参数并存储;
按照目标采样周期获取存储的多个所述第一历史时间段内所述目标容器的运行参数,得到所述历史运行参数;
获取当前时刻之后目标时长内所述目标容器的运行参数,得到所述当前运行参数。
3.根据权利要求1所述的方法,其特征在于,所述基于所述历史运行参数和所述当前运行参数,预测所述目标容器的需求资源,包括:
对所述历史运行参数和所述当前运行参数进行分析,确定所述目标容器的服务类型;
基于所述历史运行参数、所述当前运行参数和所述目标容器的服务类型,预测所述目标容器的需求资源。
4.根据权利要求3所述的方法,其特征在于,所述对所述历史运行参数和所述当前运行参数进行分析,确定所述目标容器的服务类型,包括:
从所述历史运行参数和所述当前运行参数中,获取与第一目标标识对应的第一运行参数和与第二目标标识对应的第二运行参数;其中,所述第一目标标识和所述第二目标标识不同;
基于所述第一运行参数和所述第二运行参数,确定所述目标容器的服务类型。
5.根据权利要求4所述的方法,其特征在于,所述基于所述第一运行参数和所述第二运行参数,确定所述目标容器的服务类型,包括:
基于第一运行参数和所述第二运行参数,确定所述第一运行参数和所述第二运行参数之间的差异信息;
基于所述差异信息,确定所述目标容器的服务类型。
6.根据权利要求3所述的方法,其特征在于,所述基于所述历史运行参数、所述当前运行参数和所述服务类型,预测所述目标容器的需求资源,包括:
确定资源预测模型;
采用所述资源预测模型,对所述历史运行参数、所述当前运行参数和所述服务类型进行处理,得到所述目标容器的所述需求资源。
7.根据权利要求6所述的方法,其特征在于,所述获取资源预测模型,包括:
获取样本容器的样本运行参数和所述样本容器的服务类型;
采用长短期记忆网络,基于所述样本运行参数和所述样本容器的服务类型进行模型训练,得到所述资源预测模型。
8.根据权利要求7所述的方法,其特征在于,
所述历史运行参数包括:所述目标容器的中央处理器的历史使用信息、内存的历史使用信息、磁盘的历史输入输出信息、所述目标容器运行时接收历史请求的次数和所述目标容器对所述历史请求处理的时间;
所述当前运行参数包括:所述目标容器的中央处理器的当前使用信息、内存的当前使用信息、磁盘的当前输入输出信息、所述目标容器运行时接收当前请求的次数和所述目标容器对所述当前请求处理的时间;
所述样本运行参数包括:样本容器的中央处理器的样本使用信息、内存的样本使用信息、磁盘的样本输入输出信息、所述样本容器运行时接收样本请求的次数、所述样本容器对所述样本请求处理的时间。
9.一种需求资源预测装置,其特征在于,所述装置包括:
获取单元,用于获取目标容器的历史运行参数和当前运行参数;
预测单元,用于基于所述历史运行参数和所述当前运行参数,预测所述目标容器的需求资源。
10.一种需求资源预测设备,其特征在于,所述设备包括:处理器、存储器和通信总线;
所述通信总线用于实现处理器和存储器之间的通信连接;
所述处理器用于执行存储器中的需求资源预测程序,以实现以下步骤:
获取目标容器的历史运行参数和当前运行参数;
基于所述历史运行参数和所述当前运行参数,预测所述目标容器的需求资源。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如权利要求1至8中任一项所述的需求资源预测方法的步骤。
CN202111566668.9A 2021-12-20 2021-12-20 一种需求资源预测方法、装置、设备及存储介质 Pending CN114416280A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111566668.9A CN114416280A (zh) 2021-12-20 2021-12-20 一种需求资源预测方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111566668.9A CN114416280A (zh) 2021-12-20 2021-12-20 一种需求资源预测方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN114416280A true CN114416280A (zh) 2022-04-29

Family

ID=81267045

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111566668.9A Pending CN114416280A (zh) 2021-12-20 2021-12-20 一种需求资源预测方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN114416280A (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110287003A (zh) * 2019-06-28 2019-09-27 北京九章云极科技有限公司 资源的管理方法和管理系统
CN112860403A (zh) * 2021-02-22 2021-05-28 中国联合网络通信集团有限公司 集群负载资源调度方法、装置、设备、介质及产品

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110287003A (zh) * 2019-06-28 2019-09-27 北京九章云极科技有限公司 资源的管理方法和管理系统
CN112860403A (zh) * 2021-02-22 2021-05-28 中国联合网络通信集团有限公司 集群负载资源调度方法、装置、设备、介质及产品

Similar Documents

Publication Publication Date Title
CN108959934B (zh) 安全风险评估方法、装置、计算机设备和存储介质
CN110297711A (zh) 批量数据处理方法、装置、计算机设备及存储介质
CN109961248B (zh) 运单投诉预测方法、装置、设备及其存储介质
CN110264328A (zh) 对账方法、装置、设备、系统及计算机可读存储介质
CN111177485A (zh) 基于参数规则匹配设备故障的预测方法、设备及介质
CN112817721A (zh) 基于人工智能的任务调度方法、装置、计算机设备和介质
CN111835536B (zh) 一种流量预测方法和装置
CN113419950A (zh) Ui自动化脚本的生成方法、装置、计算机设备及存储介质
CN113378498B (zh) 一种任务分配方法及装置
CN111625196A (zh) 区块链节点扩容方法、装置、计算机设备及存储介质
CN117787550A (zh) 基于增量计算模型的指标处理方法、装置及电子设备
CN111800807A (zh) 一种基站用户数量告警的方法及装置
CN109298989A (zh) 业务指标阈值获取方法及装置
CN114416280A (zh) 一种需求资源预测方法、装置、设备及存储介质
CN110764745B (zh) 变量的传输和收集方法、装置及计算机可读存储介质
CN116797270A (zh) 一种资源转移量预测方法、装置、设备及介质
CN115271531A (zh) 数据处理方法、装置、设备及存储介质
CN114721798A (zh) 一种专有云的资源处理方法和装置
CN115765182A (zh) 基于时序数据库的数字孪生方法及装置
CN113824590A (zh) 微服务网络的问题预测方法、计算机设备和存储介质
CN113850462A (zh) 一种事件预测处置推荐方法及系统
CN108471362B (zh) 资源分配预测方法和装置
CN115757002A (zh) 一种能耗确定方法、装置、设备及计算机可读存储介质
CN110955728A (zh) 用电数据传输方法、服务器及存储介质
US10139796B2 (en) System and method for state-transition-controlled processing of objects

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