CN115174406B - 容器应用的扩缩容方法、装置、计算机设备及存储介质 - Google Patents
容器应用的扩缩容方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN115174406B CN115174406B CN202210687409.XA CN202210687409A CN115174406B CN 115174406 B CN115174406 B CN 115174406B CN 202210687409 A CN202210687409 A CN 202210687409A CN 115174406 B CN115174406 B CN 115174406B
- Authority
- CN
- China
- Prior art keywords
- container application
- resource
- expansion
- container
- target
- 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 48
- 230000008602 contraction Effects 0.000 title claims abstract description 29
- 238000013468 resource allocation Methods 0.000 claims abstract description 13
- 230000007423 decrease Effects 0.000 claims description 10
- 238000011038 discontinuous diafiltration by volume reduction Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 5
- 239000002699 waste material Substances 0.000 abstract description 10
- 230000006870 function Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000006854 communication Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000013527 convolutional neural network Methods 0.000 description 3
- 230000007175 bidirectional communication Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0896—Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
-
- 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)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请公开了一种容器应用的扩缩容方法、装置、计算机设备及存储介质,该方法包括:获取容器应用中参与资源分配的若干目标用户及若干目标用户中每个目标用户的历史流量信息;根据历史流量信息,确定容器应用的扩容时刻及目标资源量,并获取当前时刻;当当前时刻与扩容时刻为同一时刻时,根据目标资源量对容器应用进行扩容,并获取容器应用的资源使用率;根据资源使用率和预设的缩容阈值,对容器应用进行缩容。本申请可以在业务高峰期来临之前提前对容器应用进行扩容,在扩容之后根据预设的缩容阈值对容器应用进行动态缩容,满足业务高峰期的资源需求的同时,避免资源浪费。
Description
技术领域
本申请涉及计算机技术领域,具体涉及一种容器应用的扩缩容方法、装置、计算机设备及存储介质。
背景技术
随着业务的发展,用户对服务器资源的需求随着请求量增加而不断增加,为了能够满足业务高峰期的资源需求,现有技术一般提前评估峰值业务量,并根据评估出的峰值业务量预留尽可能多的虚拟(Virtual Machine,VM)机器资源。此种方式虽然能够满足业务高峰期的资源需求,但由于非业务高峰期资源没有得到充分利用,容易造成资源浪费。
发明内容
本申请实施例提供一种容器应用的扩缩容方法、装置、计算机设备及存储介质,可以在业务高峰期来临之前提前对容器应用进行扩容,在扩容之后根据预设的缩容阈值对容器应用进行动态缩容,满足业务高峰期的资源需求的同时,避免资源浪费。
一方面,本申请提供一种容器应用的扩缩容方法,所述容器应用的扩缩容方法包括:
获取容器应用中参与资源分配的若干目标用户及所述若干目标用户中每个目标用户的历史流量信息;
根据所述历史流量信息,确定所述容器应用的扩容时刻及目标资源量,并获取当前时刻;
当所述当前时刻与所述扩容时刻为同一时刻时,根据所述目标资源量对所述容器应用进行扩容,并获取所述容器应用的资源使用率;
根据所述资源使用率和预设的缩容阈值,对所述容器应用进行缩容。
在本申请一些实施方案中,所述根据所述历史流量信息,确定所述容器应用的扩容时刻及目标资源量,包括:
根据所述历史流量信息,确定所述每个目标用户在下一时间段的预测流量信息;
根据所述预测流量信息,确定所述容器应用的扩容时刻及目标资源量。
在本申请一些实施方案中,所述根据所述历史流量信息,确定所述每个目标用户在下一时间段的预测流量信息,包括:
将所述历史流量信息输入流量预测模型,通过所述流量预测模型输出所述每个目标用户在下一时间段的预测流量信息。
在本申请一些实施方案中,所述根据所述预测流量信息,确定所述容器应用的扩容时刻及目标资源量,包括:
根据所述预测流量信息,确定所述每个目标用户在下一时间段的资源需求量;
根据所述资源需求量,确定所述容器应用的扩容时刻及目标资源量。
在本申请一些实施方案中,所述根据所述目标资源量对所述容器应用进行扩容,包括:
根据所述目标资源量及所述容器应用的当前资源量,确定所述容器应用的扩容实例数;
根据所述扩容实例数,对所述容器应用进行扩容。
在本申请一些实施方案中,所述根据所述资源使用率和预设的缩容阈值,对所述容器应用进行缩容,包括:
根据所述资源使用率,确定所述容器应用的资源使用率的下降速率;
当所述资源使用率的下降速率大于预设的缩容阈值时,根据所述资源使用率和所述容器应用的当前资源量,确定所述容器应用的缩容实例数;
根据所述缩容实例数,对所述容器应用进行缩容。
在本申请一些实施方案中,所述获取所述容器应用的资源使用率之后,所述方法还包括:
获取预设的扩容阈值,并将所述资源使用率与所述扩容阈值进行比较;
当所述资源使用率大于所述扩容阈值时,根据所述资源使用率和所述扩容阈值对所述容器应用进行扩容。
另一方面,本申请提供一种容器应用的扩缩容装置,所述容器应用的扩缩容装置包括:
获取单元,用于获取容器应用中参与资源分配的若干目标用户及所述若干目标用户中每个目标用户的历史流量信息;
确定单元,用于根据所述历史流量信息,确定所述容器应用的扩容时刻及目标资源量,并获取当前时刻;
扩容单元,用于当所述当前时刻与所述扩容时刻为同一时刻时,根据所述目标资源量对所述容器应用进行扩容,并获取所述容器应用的资源使用率;
缩容单元,用于根据所述资源使用率和预设的缩容阈值,对所述容器应用进行缩容。
另一方面,本申请还提供一种计算机设备,所述计算机设备包括:
一个或多个处理器;
存储器;以及
一个或多个应用程序,其中所述一个或多个应用程序被存储于所述存储器中,并配置为由所述处理器执行以实现第一方面中任一项所述的容器应用的扩缩容方法中的步骤。
第四方面,本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行第一方面任一项所述的容器应用的扩缩容方法中的步骤。
本申请根据容器应用中目标用户的历史流量信息确定容器应用的扩容时刻及目标资源量,并根据扩容时刻和目标资源量对容器应用进行定时扩容,可以在业务高峰期来临之前提前对容器应用进行扩容,保障业务高峰期的资源需求,在库容之后根据资源使用率及预设的缩容阈值对容器应用进行缩容,可以在业务高峰期结束后减少容器应用中的资源,避免资源浪费。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的容器应用的扩缩容***的场景示意图;
图2是本申请实施例中提供的容器应用的扩缩容方法的一个实施例流程示意图;
图3是本申请实施例中提供的容器应用的扩缩容方法的一个具体实施例示意图;
图4是本申请实施例中提供的容器应用的扩缩容装置的一个实施例结构示意图;
图5是本申请实施例中提供的计算机设备的一个实施例结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本申请中,“示例性”一词用来表示“用作例子、例证或说明”。本申请中被描述为“示例性”的任何实施例不一定被解释为比其它实施例更优选或更具优势。为了使本领域任何技术人员能够实现和使用本申请,给出了以下描述。在以下描述中,为了解释的目的而列出了细节。应当明白的是,本领域普通技术人员可以认识到,在不使用这些特定细节的情况下也可以实现本申请。在其它实例中,不会对公知的结构和过程进行详细阐述,以避免不必要的细节使本申请的描述变得晦涩。因此,本申请并非旨在限于所示的实施例,而是与符合本申请所公开的原理和特征的最广范围相一致。
需要说明的是,本申请实施例方法由于是在计算机设备中执行,各计算机设备的处理对象均以数据或信息的形式存在,例如时间,实质为时间信息,可以理解的是,后续实施例中若提及尺寸、数量、位置等,均为对应的数据存在,以便计算机设备进行处理,具体此处不作赘述。
本申请实施例提供一种容器应用的扩缩容方法、装置、计算机设备及存储介质,以下分别进行详细说明。
请参阅图1,图1为本申请实施例所提供的容器应用的扩缩容***的场景示意图,该容器应用的扩缩容***可以包括计算机设备100,计算机设备100中集成有容器应用的扩缩容装置,如图1中的计算机设备。
本申请实施例中计算机设备100主要用于获取容器应用中参与资源分配的若干目标用户及所述若干目标用户中每个目标用户的历史流量信息;根据所述历史流量信息,确定所述容器应用的扩容时刻及目标资源量,并获取当前时刻;当所述当前时刻与所述扩容时刻为同一时刻时,根据所述目标资源量对所述容器应用进行扩容,并获取所述容器应用的资源使用率;根据所述资源使用率和预设的缩容阈值,对所述容器应用进行缩容,可以在业务高峰期来临之前提前对容器应用进行扩容,在扩容之后根据预设的缩容阈值对容器应用进行动态缩容,满足业务高峰期的资源需求的同时,避免资源浪费。
本申请实施例中,该计算机设备100可以是独立的服务器,也可以是服务器组成的服务器网络或服务器集群,例如,本申请实施例中所描述的计算机设备100,其包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云服务器。其中,云服务器由基于云计算(Cloud Computing)的大量计算机或网络服务器构成。
可以理解的是,本申请实施例中所使用的计算机设备100可以是既包括接收和发射硬件的设备,即具有能够在双向通信链路上,执行双向通信的接收和发射硬件的设备。这种设备可以包括:蜂窝或其他通信设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或其他通信设备。具体的计算机设备100具体可以是台式终端或移动终端,计算机设备100具体还可以是手机、平板电脑、笔记本电脑等中的一种。
本领域技术人员可以理解,图1中示出的应用环境,仅仅是与本申请方案一种应用场景,并不构成对本申请方案应用场景的限定,其他的应用环境还可以包括比图1中所示更多或更少的计算机设备,例如图1中仅示出1个计算机设备,可以理解的,该容器应用的扩缩容***还可以包括一个或多个其他服务,具体此处不作限定。
另外,如图1所示,该容器应用的扩缩容***还可以包括存储器200,用于存储数据,如资源数据,例如目标资源量,容器应用的资源使用率等,如每个目标用户的历史流量信息。
需要说明的是,图1所示的容器应用的扩缩容***的场景示意图仅仅是一个示例,本申请实施例描述的容器应用的扩缩容***以及场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着容器应用的扩缩容***的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
首先,本申请实施例中提供一种容器应用的扩缩容方法,该容器应用的扩缩容方法的执行主体为容器应用的扩缩容装置,该容器应用的扩缩容装置应用于计算机设备,该容器应用的扩缩容方法包括:获取容器应用中参与资源分配的若干目标用户及所述若干目标用户中每个目标用户的历史流量信息;根据所述历史流量信息,确定所述容器应用的扩容时刻及目标资源量,并获取当前时刻;当所述当前时刻与所述扩容时刻为同一时刻时,根据所述目标资源量对所述容器应用进行扩容,并获取所述容器应用的资源使用率;根据所述资源使用率和预设的缩容阈值,对所述容器应用进行缩容。
如图2所示,为本申请实施例中容器应用的扩缩容方法的一个实施例流程示意图,该容器应用的扩缩容方法包括:
S100、获取容器应用中参与资源分配的若干目标用户及所述若干目标用户中每个目标用户的历史流量信息。
容器应用为在容器中运行的应用,若干目标用户为容器应用上参与资源分配的用户,历史流量信息为每个目标用户在过去一段时间内的业务请求量信息,例如,在过去一个月每个目标用户的业务请求量信息。考虑到应用所需的资源量会随着目标用户的请求量的增加而增大,若按照应用的最大资源需求量来为应用分配服务器资源,虽然能够满足应用在业务高峰期时的资源需求,但是在非业务高峰期时资源没有得到充分利用,容易造成资源浪费。本实施例将应用以容器的方式进行部署,并获取容器应用中参与资源分配的若干目标用户及若干目标用户中每个目标用户的历史流量信息,以便后续步骤中基于历史流量信息对容器应用进行扩容。传统的方式中应用通常采用虚拟(Virtual Machine,VM)方式部署,本实施例采用容器化方式对应用进行部署,不仅简化了应用的开发与维护成本,而且可以使应用所需的服务器资源按需分配,避免造成资源的浪费。
S200、根据所述历史流量信息,确定所述容器应用的扩容时刻及目标资源量,并获取当前时刻。
扩容时刻为对容器应用执行扩容的时间,例如,扩容时刻为每个月8号凌晨2点,则在每个月8号凌晨2点对容器应用进行扩容。目标资源量为执行扩容后的容器应用的资源量,例如,当目标资源量为2GHz,则表示通过扩容将容器应用的资源量提升至2GHz。本实施例获取若干目标用户中每个目标用户的历史流量信息后,根据历史流量信息,确定容器应用的扩容时刻及目标资源量,并获取当前时刻,以便后续步骤中基于当前时刻、扩容时刻及目标资源量对容器应用进行扩容。
在一具体实施方式中,步骤S200包括:
S210、根据所述历史流量信息,确定所述每个目标用户在下一时间段的预测流量信息;
S220、根据所述预测流量信息,确定所述容器应用的扩容时刻及目标资源量。
预测流量信息为根据每个目标用户的历史流量信息预测出的每个目标用户在下一时间段的流量信息,下一时间段可以根据需要进行设置,例如,下一时间段可以为下一个月、下一周或者下一年等。本实施例根据历史流量信息确定扩容时刻及目标资源量时,首先根据历史流量信息,确定每个目标用户在下一时间段的预测流量信息,然后根据预测流量信息,确定容器应用的扩容时刻及目标资源量。
在一具体实施方式中,步骤S210包括:
S211、将所述历史流量信息输入流量预测模型,通过所述流量预测模型输出所述每个目标用户在下一时间段的预测流量信息。
本实施例通过流量预测模型对每个目标用户在下一时间段的流量信息进行预测,相应地,每个目标用户在下一时间段的预测流量信息的确定方法包括:将每个目标用户的历史流量信息输入流量预测模型,通过流量预测模型输出每个目标用户在下一时间段的预测流量信息。其中,流量预测模型基于预设的训练样本集对预设网络模型进行训练得到,预设网络模型可以采用深度学习模型或机器学习模型,例如,卷积神经网络(ConvolutionalNeural Networks,CNN)、反卷积神经网络(De-Convolutional Networks,DN)等。
在一具体实施方式中,步骤S220包括:
S221、根据所述预测流量信息,确定所述每个目标用户在下一时间段的资源需求量;
S222、根据所述资源需求量,确定所述容器应用的扩容时刻及目标资源量。
用户所需的资源量随用户请求量的增加而增大,资源需求量为每个目标用户在下一时间段所需的资源。本实施例根据预测流量信息确定扩容时刻及目标资源量时,首先根据预测流量信息,确定每个目标用户在下一时间段的资源需求量,然后根据每个目标用户在下一时间段的资源需求量,确定容器应用在下一时间段的资源需求量,最后根据容器应用在下一时间段的资源需求量,确定容器应用的扩容时刻及目标资源量。其中,根据容器应用在下一时间段的资源需求量确定容器应用的扩容时刻及目标资源量时,可以根据容器应用在下一时间段的资源需求量绘制容器应用在下一时间段的资源需求曲线,根据资源需求曲线即可确定容器应用在下一时间段中资源需求量剧增时刻及下一时间段中资源需求量的最大值,并根据资源需求量剧增时刻确定为扩容时刻以及根据资源需求量的最大值确定目标资源量,以提前将容器应用扩容至目标资源量。例如,根据容器应用在下一时间段的资源需求曲线确定容器应用在每月8号上午10点资源需求量剧增,则可以将8号凌晨2点确定为扩容时刻,确定资源需求量的最大值为1.5GHz时,则可以将2GH确定为目标资源量。
在一具体实现方式中,可以预先设置流量信息与资源需求量的对应关系,根据预测流量信息确定每个目标用户在下一时间段的资源需求量时,根据预测流量信息及预先设置的流量信息与资源需求量的对应关系,即可确定每个目标用户在下一时间段的资源需求量。当然,也可以通过需求预测模型确定每个目标用户在下一时间段的资源需求量,相应地,根据预测流量信息确定每个目标用户在下一时间段的资源需求量的步骤包括:将预测流量信息输入需求预测模型,通过需求预测模型输出每个目标用户在下一时间段的资源需求量。
S300、当所述当前时刻与所述扩容时刻为同一时刻时,根据所述目标资源量对所述容器应用进行扩容,并获取所述容器应用的资源使用率。
资源使用率为容器应用的已使用资源量与容器应用的总资源量的比值,确定容器应用的扩容时刻及目标资源量后,本实施例进一步获取当前时刻,并将当前时刻与扩容时刻进行比较,当当前时刻与扩容时刻不是同一时刻时,继续获取当前时刻并将当前时刻与扩容时刻进行比较;反之,当当前时刻与扩容时刻为同一时刻时,表明需要对容器应用进行扩容,则根据目标资源量对容器应用进行扩容,并获取容器应用的资源使用率,以便后续步骤中基于容器应用的资源使用率对容器应用进行缩容。
在一具体实施方式中,步骤S300中根据所述目标资源量对所述容器应用进行扩容,包括:
S310、根据所述目标资源量及所述容器应用的当前资源量,确定所述容器应用的扩容实例数;
S320、根据所述扩容实例数,对所述容器应用进行扩容。
容器应用中包括若干容器实例,对容器应用进行扩容实质是增加容器应用中的容器实例数,扩容实例数为根据目标资源量对容器应用进行扩容时,容器应用中所需增加的容器实例的数目。本实施例根据目标资源量对容器应用进行扩容时,首先根据目标资源量及容器应用的当前资源量,确定容器应用的扩容资源量,然后根据扩容资源量及每个容器实例的资源量,确定容器应用的扩容实例数,最后根据扩容实例数,对容器应用进行扩容。例如,如图3所示,确定容器应用的扩容实例数为6,则将容器应用的容器实例数由3个增加至9个。
S400、根据所述资源使用率和预设的缩容阈值,对所述容器应用进行缩容。
考虑到将容器应用扩容至目标资源量后,若一直保持容器应用的资源量不变,当容器应用由业务高峰期进入非业务高峰期后,容器应用的资源没有得到充分利用,容易造成资源浪费。本实施例在对容器应用进行扩容后,进一步获取容器应用的资源使用率,并根据资源使用率和预设的缩容阈值,对容器应用进行缩容,在保障业务高峰期资源需求的同时,可以避免资源浪费。
在一具体实施方式中,步骤S400包括:
S410、根据所述资源使用率,确定所述容器应用的资源使用率的下降速率;
S420、当所述资源使用率的下降速率大于预设的缩容阈值时,根据所述资源使用率和所述容器应用的当前资源量,确定所述容器应用的缩容实例数;
S430、根据所述缩容实例数,对所述容器应用进行缩容。
资源使用率的下降速率为容器应用的当前时刻资源使用率相对前一时刻资源使用率的下降速率,缩容实例数为容器应用中需要减少的容器实例的数目。考虑到容器应用由非业务高峰期进入业务高峰期,再由业务高峰期进入非业务高峰期的过程中,容器应用的资源使用率通常是呈现先上升再下降的趋势,本实施例根据资源使用率对容器应用进行缩容时,首先根据资源使用率确定容器应用的资源使用率的下降速率,当资源使用率的下降速率大于预设的缩容阈值时,表明此次业务高峰期已经结束,则根据资源使用率和容器应用的当前资源量,确定容器应用中的未使用资源量,然后根据未使用资源量及每个容器实例的资源量,确定容器应用的缩容实例数,最后根据缩容实例数,对容器应用进行缩容。继续参照图3所示,确定容器应用的缩容实例数为6,则将容器应用的容器实例数由9个减少至3个。
在一具体实施方式中,步骤S300之后,所述方法还包括:
M410、获取预设的扩容阈值,并将所述资源使用率与所述扩容阈值进行比较;
M420、当所述资源使用率大于所述扩容阈值时,根据所述资源使用率和所述扩容阈值对所述容器应用进行扩容。
考虑到容器应用中可能存在超出预期的业务量或其他对应用影响的情况,导致按照目标资源量对容器应用进行扩容后,仍然无法满足容器应用所需的资源。本实施例根据目标资源量对容器应用进行扩容后,进一步获取预设的扩容阈值,并将容器应用的资源使用率与扩容阈值进行比较,当资源使用率大于扩容阈值时,表明容器应用的资源存在资源量不足的风险,则根据资源使用率和扩容阈值对容器应用进行扩容。其中,根据资源使用率和扩容阈值对容器应用进行扩容时,可以根据资源使用率和扩容阈值确定资源差值,然后根据资源差值及预先设置的资源差值与扩容实例数的对应关系,确定扩容实例数,然后根据扩容实例数对容器应用进行扩容。例如,资源差值0%~5%对应的扩容实例数为1个,资源差值5%~10%对应的扩容实例数为2个,当资源差值为2%时,确定扩容实例数为1个。
为了更好实现本申请实施例中容器应用的扩缩容方法,在容器应用的扩缩容方法基础之上,本申请实施例中还提供一种容器应用的扩缩容装置,如图4所示,所述容器应用的扩缩容装置600包括:
获取单元601,用于获取容器应用中参与资源分配的若干目标用户及所述若干目标用户中每个目标用户的历史流量信息;
确定单元602,用于根据所述历史流量信息,确定所述容器应用的扩容时刻及目标资源量,并获取当前时刻;
扩容单元603,用于当所述当前时刻与所述扩容时刻为同一时刻时,根据所述目标资源量对所述容器应用进行扩容,并获取所述容器应用的资源使用率;
缩容单元604,用于根据所述资源使用率和预设的缩容阈值,对所述容器应用进行缩容。
本申请实施例中,根据容器应用中目标用户的历史流量信息确定容器应用的扩容时刻及目标资源量,并根据扩容时刻和目标资源量对容器应用进行定时扩容,可以在业务高峰期来临之前提前对容器应用进行扩容,保障业务高峰期的资源需求,在库容之后根据资源使用率及预设的缩容阈值对容器应用进行缩容,可以在业务高峰期结束后减少容器应用中的资源,避免资源浪费。
在本申请一些实施例中,所述确定单元602具体用于:
根据所述历史流量信息,确定所述每个目标用户在下一时间段的预测流量信息;
根据所述预测流量信息,确定所述容器应用的扩容时刻及目标资源量。
在本申请一些实施例中,所述确定单元602具体还用于:
将所述历史流量信息输入流量预测模型,通过所述流量预测模型输出所述每个目标用户在下一时间段的预测流量信息。
在本申请一些实施例中,所述确定单元602具体还用于:
根据所述预测流量信息,确定所述每个目标用户在下一时间段的资源需求量;
根据所述资源需求量,确定所述容器应用的扩容时刻及目标资源量。
在本申请一些实施例中,所述扩容单元603具体用于:
根据所述目标资源量及所述容器应用的当前资源量,确定所述容器应用的扩容实例数;
根据所述扩容实例数,对所述容器应用进行扩容。
在本申请一些实施例中,所述缩容单元604具体用于:
根据所述资源使用率,确定所述容器应用的资源使用率的下降速率;
当所述资源使用率的下降速率大于预设的缩容阈值时,根据所述资源使用率和所述容器应用的当前资源量,确定所述容器应用的缩容实例数;
根据所述缩容实例数,对所述容器应用进行缩容。
在本申请一些实施例中,所述容器应用的扩缩容装置600还包括:
比较单元,用于获取预设的扩容阈值,并将所述资源使用率与所述扩容阈值进行比较。
在本申请一些实施例中,所述扩容单元603具体还用于:
当所述资源使用率大于所述扩容阈值时,根据所述资源使用率和所述扩容阈值对所述容器应用进行扩容。
本申请实施例还提供一种计算机设备,其集成了本申请实施例所提供的任一种容器应用的扩缩容装置,所述计算机设备包括:
一个或多个处理器;
存储器;以及
一个或多个应用程序,其中所述一个或多个应用程序被存储于所述存储器中,并配置为由所述处理器执行上述容器应用的扩缩容方法实施例中任一实施例中所述的容器应用的扩缩容方法中的步骤。
本申请实施例还提供一种计算机设备,其集成了本申请实施例所提供的任一种容器应用的扩缩容装置。如图5所示,其示出了本申请实施例所涉及的计算机设备的结构示意图,具体来讲:
该计算机设备可以包括一个或者一个以上处理核心的处理器701、一个或一个以上计算机可读存储介质的存储器702、电源703和输入单元704等部件。本领域技术人员可以理解,图5中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器701是该计算机设备的控制中心,利用各种接口和线路连接整个计算机设备的各个部分,通过运行或执行存储在存储器702内的软件程序和/或模块,以及调用存储在存储器702内的数据,执行计算机设备的各种功能和处理数据,从而对计算机设备进行整体监控。可选的,处理器701可包括一个或多个处理核心;优选的,处理器701可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作***、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器701中。
存储器702可用于存储软件程序以及模块,处理器701通过运行存储在存储器702的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器702可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器702可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器702还可以包括存储器控制器,以提供处理器701对存储器702的访问。
计算机设备还包括给各个部件供电的电源703,优选的,电源703可以通过电源管理***与处理器701逻辑相连,从而通过电源管理***实现管理充电、放电、以及功耗管理等功能。电源703还可以包括一个或一个以上的直流或交流电源、再充电***、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该计算机设备还可包括输入单元704,该输入单元704可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
尽管未示出,计算机设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,计算机设备中的处理器701会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器702中,并由处理器701来运行存储在存储器702中的应用程序,从而实现各种功能,如下:
获取容器应用中参与资源分配的若干目标用户及所述若干目标用户中每个目标用户的历史流量信息;
根据所述历史流量信息,确定所述容器应用的扩容时刻及目标资源量,并获取当前时刻;
当所述当前时刻与所述扩容时刻为同一时刻时,根据所述目标资源量对所述容器应用进行扩容,并获取所述容器应用的资源使用率;
根据所述资源使用率和预设的缩容阈值,对所述容器应用进行缩容。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种计算机可读存储介质,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行本申请实施例所提供的任一种容器应用的扩缩容方法中的步骤。例如,所述计算机程序被处理器进行加载可以执行如下步骤:
获取容器应用中参与资源分配的若干目标用户及所述若干目标用户中每个目标用户的历史流量信息;
根据所述历史流量信息,确定所述容器应用的扩容时刻及目标资源量,并获取当前时刻;
当所述当前时刻与所述扩容时刻为同一时刻时,根据所述目标资源量对所述容器应用进行扩容,并获取所述容器应用的资源使用率;
根据所述资源使用率和预设的缩容阈值,对所述容器应用进行缩容。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对其他实施例的详细描述,此处不再赘述。
具体实施时,以上各个单元或结构可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元或结构的具体实施可参见前面的方法实施例,在此不再赘述。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
以上对本申请实施例所提供的一种容器应用的扩缩容方法、装置、计算机设备及存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (7)
1.一种容器应用的扩缩容方法,其特征在于,所述容器应用的扩缩容方法包括:
获取容器应用中参与资源分配的若干目标用户及所述若干目标用户中每个目标用户的历史流量信息;所述容器应用为在容器中运行的应用;
根据所述历史流量信息,确定所述容器应用的扩容时刻及目标资源量,并获取当前时刻;
当所述当前时刻与所述扩容时刻为同一时刻时,根据所述目标资源量对所述容器应用进行扩容,并获取所述容器应用的资源使用率;
根据所述资源使用率和预设的缩容阈值,对所述容器应用进行缩容;
所述根据所述历史流量信息,确定所述容器应用的扩容时刻及目标资源量,包括:
根据所述历史流量信息,确定所述每个目标用户在下一时间段的预测流量信息;
根据所述预测流量信息,确定所述容器应用的扩容时刻及目标资源量;
所述根据所述历史流量信息,确定所述每个目标用户在下一时间段的预测流量信息,包括:
将所述历史流量信息输入流量预测模型,通过所述流量预测模型输出所述每个目标用户在下一时间段的预测流量信息;
所述根据所述预测流量信息,确定所述容器应用的扩容时刻及目标资源量,包括:
根据所述预测流量信息,确定所述每个目标用户在下一时间段的资源需求量;
根据所述资源需求量,确定所述容器应用的扩容时刻及目标资源量。
2.根据权利要求1所述的容器应用的扩缩容方法,其特征在于,所述根据所述目标资源量对所述容器应用进行扩容,包括:
根据所述目标资源量及所述容器应用的当前资源量,确定所述容器应用的扩容实例数;
根据所述扩容实例数,对所述容器应用进行扩容。
3.根据权利要求1所述的容器应用的扩缩容方法,其特征在于,所述根据所述资源使用率和预设的缩容阈值,对所述容器应用进行缩容,包括:
根据所述资源使用率,确定所述容器应用的资源使用率的下降速率;
当所述资源使用率的下降速率大于预设的缩容阈值时,根据所述资源使用率和所述容器应用的当前资源量,确定所述容器应用的缩容实例数;
根据所述缩容实例数,对所述容器应用进行缩容。
4.根据权利要求1所述的容器应用的扩缩容方法,其特征在于,所述获取所述容器应用的资源使用率之后,所述方法还包括:
获取预设的扩容阈值,并将所述资源使用率与所述扩容阈值进行比较;
当所述资源使用率大于所述扩容阈值时,根据所述资源使用率和所述扩容阈值对所述容器应用进行扩容。
5.一种容器应用的扩缩容装置,其特征在于,所述容器应用的扩缩容装置包括:
获取单元,用于获取容器应用中参与资源分配的若干目标用户及所述若干目标用户中每个目标用户的历史流量信息;所述容器应用为在容器中运行的应用;
确定单元,用于根据所述历史流量信息,确定所述容器应用的扩容时刻及目标资源量,并获取当前时刻;
扩容单元,用于当所述当前时刻与所述扩容时刻为同一时刻时,根据所述目标资源量对所述容器应用进行扩容,并获取所述容器应用的资源使用率;
缩容单元,用于根据所述资源使用率和预设的缩容阈值,对所述容器应用进行缩容;
所述确定单元具体用于:
根据所述历史流量信息,确定所述每个目标用户在下一时间段的预测流量信息;
根据所述预测流量信息,确定所述容器应用的扩容时刻及目标资源量;
所述确定单元具体还用于:
将所述历史流量信息输入流量预测模型,通过所述流量预测模型输出所述每个目标用户在下一时间段的预测流量信息;
所述确定单元具体还用于:
根据所述预测流量信息,确定所述每个目标用户在下一时间段的资源需求量;
根据所述资源需求量,确定所述容器应用的扩容时刻及目标资源量。
6.一种计算机设备,其特征在于,所述计算机设备包括:
一个或多个处理器;
存储器;以及
一个或多个应用程序,其中所述一个或多个应用程序被存储于所述存储器中,并配置为由所述处理器执行以实现权利要求1至4中任一项所述的容器应用的扩缩容方法中的步骤。
7.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行权利要求1至4任一项所述的容器应用的扩缩容方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210687409.XA CN115174406B (zh) | 2022-06-16 | 2022-06-16 | 容器应用的扩缩容方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210687409.XA CN115174406B (zh) | 2022-06-16 | 2022-06-16 | 容器应用的扩缩容方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115174406A CN115174406A (zh) | 2022-10-11 |
CN115174406B true CN115174406B (zh) | 2024-02-06 |
Family
ID=83484439
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210687409.XA Active CN115174406B (zh) | 2022-06-16 | 2022-06-16 | 容器应用的扩缩容方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115174406B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116594786A (zh) * | 2023-07-19 | 2023-08-15 | 飞狐信息技术(天津)有限公司 | 变更redis内存容量的方法、装置及电子设备 |
CN117762630A (zh) * | 2023-12-25 | 2024-03-26 | 北京燃数科技有限公司 | 一种实时监控驱动的云资源调节方法、***、设备及介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109766182A (zh) * | 2018-12-18 | 2019-05-17 | 平安科技(深圳)有限公司 | ***资源动态扩缩容方法、装置、计算机设备及存储介质 |
CN109918194A (zh) * | 2019-01-16 | 2019-06-21 | 深圳壹账通智能科技有限公司 | 智能化扩容缩容方法、装置、计算机设备及存储介质 |
CN112181649A (zh) * | 2020-09-22 | 2021-01-05 | 广州品唯软件有限公司 | 一种容器资源调整方法、装置、计算机设备及存储介质 |
CN113434253A (zh) * | 2021-06-29 | 2021-09-24 | 平安科技(深圳)有限公司 | 集群资源调度方法、装置、设备及存储介质 |
CN114153609A (zh) * | 2021-11-30 | 2022-03-08 | 中国电信股份有限公司 | 资源控制方法及装置、电子设备、计算机可读存储介质 |
CN114327884A (zh) * | 2021-12-23 | 2022-04-12 | 广州趣丸网络科技有限公司 | 自动扩缩容方法、装置、设备及可读存储介质 |
-
2022
- 2022-06-16 CN CN202210687409.XA patent/CN115174406B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109766182A (zh) * | 2018-12-18 | 2019-05-17 | 平安科技(深圳)有限公司 | ***资源动态扩缩容方法、装置、计算机设备及存储介质 |
CN109918194A (zh) * | 2019-01-16 | 2019-06-21 | 深圳壹账通智能科技有限公司 | 智能化扩容缩容方法、装置、计算机设备及存储介质 |
CN112181649A (zh) * | 2020-09-22 | 2021-01-05 | 广州品唯软件有限公司 | 一种容器资源调整方法、装置、计算机设备及存储介质 |
CN113434253A (zh) * | 2021-06-29 | 2021-09-24 | 平安科技(深圳)有限公司 | 集群资源调度方法、装置、设备及存储介质 |
CN114153609A (zh) * | 2021-11-30 | 2022-03-08 | 中国电信股份有限公司 | 资源控制方法及装置、电子设备、计算机可读存储介质 |
CN114327884A (zh) * | 2021-12-23 | 2022-04-12 | 广州趣丸网络科技有限公司 | 自动扩缩容方法、装置、设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115174406A (zh) | 2022-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115174406B (zh) | 容器应用的扩缩容方法、装置、计算机设备及存储介质 | |
CN109783237B (zh) | 一种资源配置方法及装置 | |
KR101799253B1 (ko) | 다중 클러스터 이종 프로세서 아키텍처에서 동적 캐시 확장을 제공하기 위한 시스템 및 방법 | |
CN110321448B (zh) | 一种图像检索方法、装置和存储介质 | |
CN112231108A (zh) | 任务处理方法、装置、计算机可读存储介质及服务器 | |
CN108694083B (zh) | 一种服务器的数据处理方法和装置 | |
CN113918352B (zh) | 一种服务资源配置方法、计算设备及存储介质 | |
CN108681469A (zh) | 基于Android***的页面缓存方法、装置、设备及存储介质 | |
CN114816766B (zh) | 一种计算资源分配方法及其相关组件 | |
CN113568746B (zh) | 负载均衡方法、装置、电子设备及存储介质 | |
CN115221060A (zh) | 基于关联字段的用例生成方法、装置、设备及存储介质 | |
CN115174890A (zh) | 流量回放测试方法、装置、计算机设备及存储介质 | |
CN111078405B (zh) | 内存分配方法、装置、存储介质及电子设备 | |
CN116955271A (zh) | 一种数据副本存储的方法、装置、电子设备及存储介质 | |
CN110399216B (zh) | 一种整机箱功耗的分配方法、***、装置及可读存储介质 | |
CN114490432A (zh) | 内存处理方法、装置、电子设备和计算机可读存储介质 | |
CN114003238A (zh) | 一种基于转码卡的容器部署方法、装置、设备及存储介质 | |
CN115102924B (zh) | 集群地址切换方法、装置、计算机设备及存储介质 | |
CN115391042B (zh) | 一种资源分配方法、装置、电子设备及存储介质 | |
CN116560818B (zh) | 一种空间数据服务分发与调度的方法及*** | |
CN117724809A (zh) | 程序进程的数量确定方法、装置、电子设备和存储介质 | |
CN115951988B (zh) | 一种作业调度方法、计算设备及存储介质 | |
CN117891618B (zh) | 人工智能模型训练平台的资源任务处理方法及装置 | |
CN116661957A (zh) | 集群资源调度方法、装置、计算机设备及存储介质 | |
CN118277072A (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 |