CN117519913B - 一种容器内存资源弹性伸缩调度方法和系统 - Google Patents
一种容器内存资源弹性伸缩调度方法和系统 Download PDFInfo
- Publication number
- CN117519913B CN117519913B CN202410021315.8A CN202410021315A CN117519913B CN 117519913 B CN117519913 B CN 117519913B CN 202410021315 A CN202410021315 A CN 202410021315A CN 117519913 B CN117519913 B CN 117519913B
- Authority
- CN
- China
- Prior art keywords
- resource
- occupancy rate
- data
- time
- scheduling
- 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 26
- 238000012544 monitoring process Methods 0.000 claims abstract description 46
- 238000013468 resource allocation Methods 0.000 claims description 52
- 230000008859 change Effects 0.000 claims description 24
- 238000004458 analytical method Methods 0.000 claims description 17
- 238000011084 recovery Methods 0.000 claims description 11
- 238000004064 recycling Methods 0.000 claims description 6
- 238000001914 filtration Methods 0.000 claims description 5
- 238000012545 processing Methods 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 6
- 238000007405 data analysis Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
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/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- 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/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
-
- 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/45583—Memory management, e.g. access or allocation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种容器内存资源弹性伸缩调度方法和系统,本发明通过历史平均资源占用数据变化比值、预设资源占用规律分析模型结合当前时间段的资源分配数据对下一时间段所需资源进行预测,在必要情况下将下一时间段分割成多个子时间段,对每个子时间段分别进行资源分配。同时对实时资源占用率进行监测,当实时资源占用率满足资源调度分配条件,基于实时资源占用率所对应的资源占用数据对容器进行资源分配调度。实现各个容器之间的资源弹性伸缩调度,达到容器负载均衡的目的。
Description
技术领域
本申请涉及资源调度技术领域,更具体的,涉及一种容器内存资源弹性伸缩调度方法和系统。
背景技术
随着云计算和容器技术的普及,越来越多的应用程序需要在分布式环境中运行。为了确保应用程序的可靠性和高效性,容器资源调度成为了一个重要的研究方向。然而,目前容器资源调度仍然存在一些缺点,如:
手动配置过多:传统的容器资源调度主要依赖于人工的配置和调度,这种方式需要管理员进行大量的配置工作,容易出错,且不够灵活。
缺乏自动化:目前容器资源调度还需要依赖于管理员进行配置和监控。这种方式缺乏灵活性,容易出错。
可伸缩性不足:现有的容器资源调度方案在应对高负载时存在一些问题,如资源分配不均、无法扩展等。这些问题会导致应用程序的性能下降,甚至会出现应用程序崩溃的情况。
因此现有技术存在缺陷,急需改进。
发明内容
鉴于上述问题,本发明的目的是提供一种容器内存资源弹性伸缩调度方法和系统,能够更有效更快速的对容器资源进行调度分配,实现容器负载均衡。
本发明第一方面提供了一种容器内存资源弹性伸缩调度方法,包括:
根据资源占用数据绘制资源占用曲线;
计算当前时间段内最大资源占用率和最小资源占用率的差值,将得到的占用率差值与第一预设阈值进行对比;
若所述占用率差值小于第一预设阈值,通过当前时间段的资源占用数据对下一时间段的资源占用数据进行预测,得到第一预测资源占用数据,根据所述第一预测资源占用数据对下一时间段的资源数据进行调度分配;
反之,则通过预设资源占用规律分析模型对当前时间段的资源占用曲线进行分析,得到第二预测资源占用数据,基于所述第二预测资源占用数据将下一时间段分割成多个子时间段,并对每个子时间段的资源占用数据进行调度分配;
若无法从当前时间段内的资源占用曲线得到第二预测资源占用数据,则基于当前资源分配数据设置第一占用率和第二占用率;
根据所述第一占用率和第二占用率对实时资源占用率进行分析,当所述实时资源占用率满足资源调度分配条件时,基于当前资源占用数据进行资源调度分配。
本方案中,所述通过当前时间段的资源占用数据对下一时间段的资源占用数据进行预测,得到第一预测资源占用数据,包括:
在历史数据中选取相同时间段以及相邻时间段的平均资源占用数据进行对比,得到历史平均资源占用数据变化比值;
基于所述历史平均资源占用数据变化比值和当前时间段的资源占用数据进行分析,对下一时间段所需资源数据进行预测,得到第一预测资源占用数据。
本方案中,所述通过预设资源占用规律分析模型对当前时间段的资源占用曲线进行分析,得到第二预测资源占用数据,包括:
分别计算资源占用曲线中相邻两个时间节点的曲线变化率;
将曲线变化率低于第二预设阈值的时间节点标记为平稳节点,相邻平稳节点之间的资源占用曲线为平稳曲线;
对长度小于第三预设阈值的平稳曲线进行过滤;
根据预设资源占用率差值对所述平稳曲线进行截取,得到一个或多个平稳曲线区间;
根据所述一个或多个平稳曲线区间进行分析,得到资源占用规律数据;
根据所述资源占用规律数据对下一时间段的资源占用数据进行预测,得到第二预测资源占用数据。
本方案中,所述根据所述第一占用率和第二占用率对实时资源占用率进行分析,当所述实时资源占用率满足资源调度分配条件时,基于当前资源占用数据进行资源调度分配,包括:
对实时资源占用率进行监控,根据得到实时资源占用率绘制实时资源占用率曲线;
当所述实时资源占用率大于第一占用率或小于第二占用率时,判断所述实时资源占用率是否满足资源调度分配条件;
若满足,则进行资源调度分配,根据当前资源占用数据和第三占用率进行计算,确定资源分配最大值;
计算所述资源分配最大值和当前资源分配数据的数据差值;
根据所述数据差值进行多余资源回收或空闲资源分配。
本方案中,还包括:
当所述实时资源占用率大于第一占用率时,记录超过次数并根据所述实时资源占用率大于第一占用率的持续时长得到第一持续时长;
当所述超过次数大于第四预设阈值或所述第一持续时长大于第一预设时长时,判断与上一次资源调度的时间间隔是否大于第二预设时长;
若是,则满足资源调度分配条件;
若否,则继续进行监控,当与上一次资源调度的时间间隔大于第二预设时长时,满足资源调度分配条件;
在监控过程中,若所述实时资源占用率达到资源分配最大值且持续时间大于第三预设时长,则发送预警信息并基于所述实时资源占用率进行资源调度分配。
本方案中,还包括:
当所述实时资源占用率小于第二占用率时,记录所述实时资源占用率小于第二占用率的持续时长得到第二持续时长;
当所述第二持续时长大于第四预设时长时,基于所述实时资源占用率计算预设范围内的平均资源占用率;
当所述平均资源占用率低于第五预设阈值时,满足资源调度分配条件;
当所述实时资源占用率大于第二占用率时,重置第二持续时长。
本方案中,所述根据资源占用数据绘制资源占用曲线,包括:
将当前时间段分割成多个时间节点,每个时间节点的资源占用数据为相对应时间节点内资源占用数据的平均值;
基于每个时间节点的资源占用数据绘制资源占用曲线。
本方案中,还包括:
当系统空闲资源无法满足全部容器的资源调度需求时,根据每个容器所对应任务的优先等级进行资源分配调整;
判断调整后的资源分配方案是否满足全部容器的资源调度需求;
若满足,则基于调整后的资源分配方案进行资源调度分配;
若不满足,则对部分低优先等级容器的资源进行回收,使所述部分低优先等级容器进入休眠状态,并将回收的资源分配至其他容器,直至未回收容器满足资源调度需求。
本发明第二方面提供了一种容器内存资源弹性伸缩调度系统,包括:
曲线绘制模块,用于根据资源占用数据绘制资源占用曲线;
资源预测调度模块,用于计算当前时间段内最大资源占用率和最小资源占用率的差值,将得到的占用率差值与第一预设阈值进行对比;若所述占用率差值小于第一预设阈值,通过当前时间段的资源占用数据对下一时间段的资源占用数据进行预测,得到第一预测资源占用数据,根据所述第一预测资源占用数据对下一时间段的资源数据进行调度分配;反之,则通过预设资源占用规律分析模型对当前时间段的资源占用曲线进行分析,得到第二预测资源占用数据,基于所述第二预测资源占用数据将下一时间段分割成多个子时间段,并对每个子时间段的资源占用数据进行调度分配;
资源调度模块,用于若无法从当前时间段内的资源占用曲线得到第二预测资源占用数据,则基于当前资源分配数据设置第一占用率和第二占用率;根据所述第一占用率和第二占用率对实时资源占用率进行分析,当所述实时资源占用率满足资源调度分配条件时,基于当前资源占用数据进行资源调度分配。
本方案中,所述通过当前时间段的资源占用数据对下一时间段的资源占用数据进行预测,得到第一预测资源占用数据,包括:
在历史数据中选取相同时间段以及相邻时间段的平均资源占用数据进行对比,得到历史平均资源占用数据变化比值;
基于所述历史平均资源占用数据变化比值和当前时间段的资源占用数据进行分析,对下一时间段所需资源数据进行预测,得到第一预测资源占用数据。
本方案中,所述通过预设资源占用规律分析模型对当前时间段的资源占用曲线进行分析,得到第二预测资源占用数据,包括:
分别计算资源占用曲线中相邻两个时间节点的曲线变化率;
将曲线变化率低于第二预设阈值的时间节点标记为平稳节点,相邻平稳节点之间的资源占用曲线为平稳曲线;
对长度小于第三预设阈值的平稳曲线进行过滤;
根据预设资源占用率差值对所述平稳曲线进行截取,得到一个或多个平稳曲线区间;
根据所述一个或多个平稳曲线区间进行分析,得到资源占用规律数据;
根据所述资源占用规律数据对下一时间段的资源占用数据进行预测,得到第二预测资源占用数据。
本方案中,所述根据所述第一占用率和第二占用率对实时资源占用率进行分析,当所述实时资源占用率满足资源调度分配条件时,基于当前资源占用数据进行资源调度分配,包括:
对实时资源占用率进行监控,根据得到实时资源占用率绘制实时资源占用率曲线;
当所述实时资源占用率大于第一占用率或小于第二占用率时,判断所述实时资源占用率是否满足资源调度分配条件;
若满足,则进行资源调度分配,根据当前资源占用数据和第三占用率进行计算,确定资源分配最大值;
计算所述资源分配最大值和当前资源分配数据的数据差值;
根据所述数据差值进行多余资源回收或空闲资源分配。
本方案中,还包括:
当所述实时资源占用率大于第一占用率时,记录超过次数并根据所述实时资源占用率大于第一占用率的持续时长得到第一持续时长;
当所述超过次数大于第四预设阈值或所述第一持续时长大于第一预设时长时,判断与上一次资源调度的时间间隔是否大于第二预设时长;
若是,则满足资源调度分配条件;
若否,则继续进行监控,当与上一次资源调度的时间间隔大于第二预设时长时,满足资源调度分配条件;
在监控过程中,若所述实时资源占用率达到资源分配最大值且持续时间大于第三预设时长,则发送预警信息并基于所述实时资源占用率进行资源调度分配。
本方案中,还包括:
当所述实时资源占用率小于第二占用率时,记录所述实时资源占用率小于第二占用率的持续时长得到第二持续时长;
当所述第二持续时长大于第四预设时长时,基于所述实时资源占用率计算预设范围内的平均资源占用率;
当所述平均资源占用率低于第五预设阈值时,满足资源调度分配条件;
当所述实时资源占用率大于第二占用率时,重置第二持续时长。
本方案中,所述根据资源占用数据绘制资源占用曲线,包括:
将当前时间段分割成多个时间节点,每个时间节点的资源占用数据为相对应时间节点内资源占用数据的平均值;
基于每个时间节点的资源占用数据绘制资源占用曲线。
本方案中,还包括:
当系统空闲资源无法满足全部容器的资源调度需求时,根据每个容器所对应任务的优先等级进行资源分配调整;
判断调整后的资源分配方案是否满足全部容器的资源调度需求;
若满足,则基于调整后的资源分配方案进行资源调度分配;
若不满足,则对部分低优先等级容器的资源进行回收,使所述部分低优先等级容器进入休眠状态,并将回收的资源分配至其他容器,直至未回收容器满足资源调度需求。
本发明第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质中包括一种容器内存资源弹性伸缩调度方法程序,所述一种容器内存资源弹性伸缩调度方法程序被处理器执行时,实现如上述任一项所述的一种容器内存资源弹性伸缩调度方法的步骤。
本发明公开了一种容器内存资源弹性伸缩调度方法和系统,本发明通过历史平均资源占用数据变化比值、预设资源占用规律分析模型结合当前时间段的资源分配数据对下一时间段所需资源进行预测,在必要情况下将下一时间段分割成多个子时间段,对每个子时间段分别进行资源分配。同时对实时资源占用率进行监测,当实时资源占用率满足资源调度分配条件,基于实时资源占用率所对应的资源占用数据对容器进行资源分配调度。实现各个容器之间的资源弹性伸缩调度,达到容器负载均衡的目的。
附图说明
图1示出了本发明一种容器内存资源弹性伸缩调度方法的流程图;
图2示出了本发明一种第二预测资源占用数据获取方法的流程图;
图3示出了本发明一种满足资源调度分配条件时资源调度分配方法的流程图;
图4示出了本发明一种容器内存资源弹性伸缩调度系统的框图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
图1示出了本发明一种容器内存资源弹性伸缩调度方法的流程图。
如图1所示,本发明公开了一种容器内存资源弹性伸缩调度方法,包括:
S102,根据资源占用数据绘制资源占用曲线;
S104,计算当前时间段内最大资源占用率和最小资源占用率的差值,将得到的占用率差值与第一预设阈值进行对比;
S106,若所述占用率差值小于第一预设阈值,通过当前时间段的资源占用数据对下一时间段的资源占用数据进行预测,得到第一预测资源占用数据,根据所述第一预测资源占用数据对下一时间段的资源数据进行调度分配;
S108,反之,则通过预设资源占用规律分析模型对当前时间段的资源占用曲线进行分析,得到第二预测资源占用数据,基于所述第二预测资源占用数据将下一时间段分割成多个子时间段,并对每个子时间段的资源占用数据进行调度分配;
S110,若无法从当前时间段内的资源占用曲线得到第二预测资源占用数据,则基于当前资源分配数据设置第一占用率和第二占用率;
S112,根据所述第一占用率和第二占用率对实时资源占用率进行分析,当所述实时资源占用率满足资源调度分配条件时,基于当前资源占用数据进行资源调度分配。
根据本发明实施例,资源占用数据为CPU、内存、磁盘中至少一种,不同资源分别进行调度分配。对每次监测时的资源占用数据进行收集,并以时间节点为单位绘制资源占用曲线。首先通过资源占用曲线计算当前时间段的占用率差值,在占用率差值小于第一预设阈值的情况下,通过历史平均资源占用数据变化比值对下一时间段所需资源数据进行预测。在当前时间段占用率波动较大的情况下,通过预设资源占用规律分析模型对当前时间段的资源占用曲线进行分析从而对下一时间段所需的资源数据进行预测,并根据得到第二预测资源占用数据将下一时间段分割成多个子时间段,对每个子时间段分配不同的资源数据,使每个子时间段内的资源占用率尽可能处于第一占用率和第二占用率之间,实现各个容器之间的负载均衡。另外,每个子时间段的长度不小于最小资源调度分配时长。在无法得到第二预测资源占用数据的情况下,暂时不对下一时间段的容器资源进行调度分配,监测实时资源占用率,当实时资源占用率满足资源调度分配条件时,对当前容器进行多余资源回收或空闲资源分配。同时,可以通过实时资源占用率对基于第一预测资源占用数据和第二预测资源占用数据进行验证,当实时资源占用率在通过第一预测资源占用数据和第二预测资源占用数据分配的资源调度数据中满足资源调度分配条件时,同样对当前容器进行多余资源回收或空闲资源分配。其中,实时资源占用率同样以时间节点为单位进行绘制。
在计算最大资源占用率和最小资源占用率的差值时,首先按照系统预设比例去掉一定数量的最大资源占用数据和最小资源占用数据,消除数据波动对数据分析的影响,然后对剩余的资源占用数据进行平均值计算,得到占用率差值。
其中,每个时间段的取值相同,其系统设定初始值为1小时,第一占用率的初始值为80%、第二占用率的初始值为30%,本领域技术人员可以根据实际使用需求对第一预设阈值进行设置,并对每个时间段、第一占用率和第二占用率的取值进行调整。
根据本发明实施例,所述通过当前时间段的资源占用数据对下一时间段的资源占用数据进行预测,得到第一预测资源占用数据,包括:
在历史数据中选取相同时间段以及相邻时间段的平均资源占用数据进行对比,得到历史平均资源占用数据变化比值;
基于所述历史平均资源占用数据变化比值和当前时间段的资源占用数据进行分析,对下一时间段所需资源数据进行预测,得到第一预测资源占用数据。
需要说明的是,容器的资源占用情况和容器使用时间存在一定的关系,例如工作日的工作时间容器资源占用数据较大,休息时间的容器资源占用数据较小。通常情况下,不同工作日的每个时间段的资源占用数据变化比值基本一致,因此可以通过当前时间段的资源占用数据对下一时间段所需的资源数据进行预测,提前对空闲资源进行调度,并在下一时间段将这部分空闲资源调度至当前容器。
图2示出了本发明一种第二预测资源占用数据获取方法的流程图。
如图2所示,根据本发明实施例,所述通过预设资源占用规律分析模型对当前时间段的资源占用曲线进行分析,得到第二预测资源占用数据,包括:
S202,分别计算资源占用曲线中相邻两个时间节点的曲线变化率;
S204,将曲线变化率低于第二预设阈值的时间节点标记为平稳节点,相邻平稳节点之间的资源占用曲线为平稳曲线;
S206,对长度小于第三预设阈值的平稳曲线进行过滤;
S208,根据预设资源占用率差值对所述平稳曲线进行截取,得到一个或多个平稳曲线区间;
S210,根据所述一个或多个平稳曲线区间进行分析,得到资源占用规律数据;
S212,根据所述资源占用规律数据对下一时间段的资源占用数据进行预测,得到第二预测资源占用数据。
需要说明的是,预设资源占用规律分析模型通过容器资源占用数据的历史监测数据训练得到,通过预设资源占用规律分析模型对输入的资源占用曲线进行分析,在资源占用曲线的平稳部分截取一个或多个平稳曲线区间,通过对截取的一个或多个平稳曲线区间的区间长度、区间变化范围、区间分布位置等参数进行分析,确定该资源占用曲线中的资源占用规律数据,对下一时间段的资源占用数据进行预测,并通过历史监测数据对得到的第二预测资源占用数据进行验证。首先选取多个与输入资源占用曲线相似的历史监测数据,将历史监测数据中下一时间段的样本资源占用曲线与第二预测资源占用数据所形成的资源占用曲线进行对比,计算历史监测数据中相似曲线的占比,当该占比大于系统预设阈值时,输出第二预测资源占用数据。若输入的资源占用曲线中无法确定资源占用规律数据,则在历史监测数据中选取多个与输入资源占用曲线相似的历史监测数据,对这部分历史监测数据中下一时间段的样本资源占用曲线进行分析,选取占比最高的样本资源占用曲线,根据该曲线的最大值以及输入资源占比曲线的最大值进行等比例转换输出得到第二预测资源占用数据。其中,样本资源占用曲线中按照历史监测数据中当前时间段的最大值进行绘制;第二预测资源占用数据所形成的资源占用曲线按当前时间段的最大值进行绘制。其中,本领域技术人员可以根据实际使用需求对第二预设阈值、第三预设阈值和预设资源占用率差值进行设置。
图3示出了本发明一种满足资源调度分配条件时资源调度分配方法的流程图。
如图3所示,根据本发明实施例,所述根据所述第一占用率和第二占用率对实时资源占用率进行分析,当所述实时资源占用率满足资源调度分配条件时,基于当前资源占用数据进行资源调度分配,包括:
S302,对实时资源占用率进行监控,根据得到实时资源占用率绘制实时资源占用率曲线;
S304,当所述实时资源占用率大于第一占用率或小于第二占用率时,判断所述实时资源占用率是否满足资源调度分配条件;
S306,若满足,则进行资源调度分配,根据当前资源占用数据和第三占用率进行计算,确定资源分配最大值;
S308,计算所述资源分配最大值和当前资源分配数据的数据差值;
S310,根据所述数据差值进行多余资源回收或空闲资源分配。
需要说明的是,资源调度分配条件包括实时资源占用率大于第一占用率的次数和持续时间超过相对应的系统预设阈值,以及实时资源占用率小于第二占用率的持续时间超过相对应的系统预设阈值且预设范围内的平均资源占用率低于相对应的系统预设阈值等。其中,第三占用率的初始值为60%,资源分配最大值=当前资源占用数据/第三占用率。当满足资源调度分配条件时,系统根据当前资源占用数据和第三占用率确定资源分配最大值,并与当前资源分配数据进行差值计算,当差值为正数时,将差值数量的空闲资源分配至该容器;当差值为负数时,从该容器中分割差值数量的资源回收转移至空闲资源。
根据本发明实施例,还包括:
当所述实时资源占用率大于第一占用率时,记录超过次数并根据所述实时资源占用率大于第一占用率的持续时长得到第一持续时长;
当所述超过次数大于第四预设阈值或所述第一持续时长大于第一预设时长时,判断与上一次资源调度的时间间隔是否大于第二预设时长;
若是,则满足资源调度分配条件;
若否,则继续进行监控,当与上一次资源调度的时间间隔大于第二预设时长时,满足资源调度分配条件;
在监控过程中,若所述实时资源占用率达到资源分配最大值且持续时间大于第三预设时长,则发送预警信息并基于所述实时资源占用率进行资源调度分配。
需要说明的是,通过系统设置的第四预设阈值和第一预设时长可以判断当前容器是否存在任务处理压力,当超过次数大于第四预设阈值或第一持续时长大于第一预设时长时表示当前容器存在任务处理压力,可以将空闲资源调度分配至当前容器从而降低当前容器的处理压力,提高容器性能。但为了避免容器资源调度分配频率过快导致容器性能不稳定设置最小资源调度分配时长,即第二预设时长,其中,第二预设时长大于第一预设时长。当容器存在任务处理压力的情况下,若与上一次资源调度的时间间隔不满足第二预设时长,则继续对其进行监控,直至与上一次资源调度的时间间隔达到第二预设时长,进行容器资源调度分配。另外,当资源占用率达到资源分配最大值时,表示容器资源是否分配不足,无法及时对系统分配任务进行处理,在这种情况下,考虑数据波动的影响,继续进行监控并记录资源占用率达到资源分配最大值的持续时长,当持续时长达到第三预设时长时,直接进行容器资源调度并生成预警信息,将该预警信息通过显示终端进行显示。其中,第三预设时长小于第二预设时长。本领域技术人员可以根据实际使用需求对第四预设阈值、第一预设时长、第二预设时长、第三预设时长进行设置。
根据本发明实施例,还包括:
当所述实时资源占用率小于第二占用率时,记录所述实时资源占用率小于第二占用率的持续时长得到第二持续时长;
当所述第二持续时长大于第四预设时长时,基于所述实时资源占用率计算预设范围内的平均资源占用率;
当所述平均资源占用率低于第五预设阈值时,满足资源调度分配条件;
当所述实时资源占用率大于第二占用率时,重置第二持续时长。
需要说明的是,当实时资源占用率小于第二占用率时,表示当前时间节点容器内存在大量未使用资源,考虑数据波动的影响,继续对其进行监控,当第二持续时长大于第四预设时长时,确定当前容器资源利用率较低,存在大量未使用资源。通过计算预设范围内的平均资源占用率判断是否满足资源调度分配条件,其中预设范围的平均资源占用率为实时资源占用率以及前m个时间节点资源占用率的平均值,用公式表示为:
K平均=(Kn+Kn-1+Kn-2...+Kn-m)/(1+m)
其中,K平均为预设范围内的平均资源占用率,Kn为实时资源占用率,Kn-1、Kn-2、...、Kn-m为相对应时间节点的资源占用率,m为时间节点个数。
本领域技术人员可以根据实际使用需求对第四预设时长、第五预设阈值进行设置。其中,第五预设阈值小于第二占用率。
根据本发明实施例,所述根据资源占用数据绘制资源占用曲线,包括:
将当前时间段分割成多个时间节点,每个时间节点的资源占用数据为相对应时间节点内资源占用数据的平均值;
基于每个时间节点的资源占用数据绘制资源占用曲线。
需要说明的是,每个时间节点的长度相同,其具体长度根据系统设置的监测精确度进行确定,监测精确度越高,其时间节点长度越小。用时间节点内的全部资源占用数据的平均值表示当前时间节点内的当前容器的平均资源占用情况。同时,在计时间节点的资源占用数据时,首先按照系统预设比例去掉一定数量的最大资源占用数据和最小资源占用数据,然后对剩余的资源占用数据进行平均值计算,得到以时间节点为单位的资源占用数据,从而消除数据波动对数据分析的影响。
根据本发明实施例,还包括:
基于预警调整次数对第三占用率进行动态调整。
需要说明的是,预警调整次数指实时资源占用率达到资源分配最大值且持续时间大于第三预设时长时进行容器资源调度分配的次数,表示容器资源占用率波动较大,系统预设的第三占用率无法满足容器资源调度需求,系统基于预警调整次数对第三占用率的数值进行调整,预警调整次数越多,第三占用率的数值越小,通过降低第三占用率的数据可以在下一次资源调度分配时为当前容器分配更多的空闲资源。
同时通过系统对预设调整次数设置最大值,当预设调整次数达到最大值时,发送警报信息至显示终端。
根据本发明实施例,还包括:
当系统空闲资源无法满足全部容器的资源调度需求时,根据每个容器所对应任务的优先等级进行资源分配调整;
判断调整后的资源分配方案是否满足全部容器的资源调度需求;
若满足,则基于调整后的资源分配方案进行资源调度分配;
若不满足,则对部分低优先等级容器的资源进行回收,使所述部分低优先等级容器进入休眠状态,并将回收的资源分配至其他容器,直至未回收容器满足资源调度需求。
需要说明的是,任务优先等级分为三个等级,分别为一级任务、二级任务和三级任务,容器的资源分配比例按照所对应任务的优先等级分别为100%、80%、60%。在仍不满足全部容器的资源调度需求的情况下,在三级任务中选择优先度最低的任务,对其所对应容器的资源进行回收,保留部分资源使容器进入休眠状态,并防止该任务取消或消失。当存在空闲资源时,则将空闲资源分配至休眠状态容器,对休眠状态容器中的任务进行处理。
图4示出了本发明一种容器内存资源弹性伸缩调度系统的框图。
如图4所示,本发明第二方面提供了一种容器内存资源弹性伸缩调度系统,包括:
曲线绘制模块,用于根据资源占用数据绘制资源占用曲线;
资源预测调度模块,用于计算当前时间段内最大资源占用率和最小资源占用率的差值,将得到的占用率差值与第一预设阈值进行对比;若所述占用率差值小于第一预设阈值,通过当前时间段的资源占用数据对下一时间段的资源占用数据进行预测,得到第一预测资源占用数据,根据所述第一预测资源占用数据对下一时间段的资源数据进行调度分配;反之,则通过预设资源占用规律分析模型对当前时间段的资源占用曲线进行分析,得到第二预测资源占用数据,基于所述第二预测资源占用数据将下一时间段分割成多个子时间段,并对每个子时间段的资源占用数据进行调度分配;
资源调度模块,用于若无法从当前时间段内的资源占用曲线得到第二预测资源占用数据,则基于当前资源分配数据设置第一占用率和第二占用率;根据所述第一占用率和第二占用率对实时资源占用率进行分析,当所述实时资源占用率满足资源调度分配条件时,基于当前资源占用数据进行资源调度分配。
根据本发明实施例,资源占用数据为CPU、内存、磁盘中至少一种,不同资源分别进行调度分配。对每次监测时的资源占用数据进行收集,并以时间节点为单位绘制资源占用曲线。首先通过资源占用曲线计算当前时间段的占用率差值,在占用率差值小于第一预设阈值的情况下,通过历史平均资源占用数据变化比值对下一时间段所需资源数据进行预测。在当前时间段占用率波动较大的情况下,通过预设资源占用规律分析模型对当前时间段的资源占用曲线进行分析从而对下一时间段所需的资源数据进行预测,并根据得到第二预测资源占用数据将下一时间段分割成多个子时间段,对每个子时间段分配不同的资源数据,使每个子时间段内的资源占用率尽可能处于第一占用率和第二占用率之间,实现各个容器之间的负载均衡。另外,每个子时间段的长度不小于最小资源调度分配时长。在无法得到第二预测资源占用数据的情况下,暂时不对下一时间段的容器资源进行调度分配,监测实时资源占用率,当实时资源占用率满足资源调度分配条件时,对当前容器进行多余资源回收或空闲资源分配。同时,可以通过实时资源占用率对基于第一预测资源占用数据和第二预测资源占用数据进行验证,当实时资源占用率在通过第一预测资源占用数据和第二预测资源占用数据分配的资源调度数据中满足资源调度分配条件时,同样对当前容器进行多余资源回收或空闲资源分配。其中,实时资源占用率同样以时间节点为单位进行绘制。
在计算最大资源占用率和最小资源占用率的差值时,首先按照系统预设比例去掉一定数量的最大资源占用数据和最小资源占用数据,消除数据波动对数据分析的影响,然后对剩余的资源占用数据进行平均值计算,得到占用率差值。
其中,每个时间段的取值相同,其系统设定初始值为1小时,第一占用率的初始值为80%、第二占用率的初始值为30%,本领域技术人员可以根据实际使用需求对第一预设阈值进行设置,并对每个时间段、第一占用率和第二占用率的取值进行调整。
根据本发明实施例,所述通过当前时间段的资源占用数据对下一时间段的资源占用数据进行预测,得到第一预测资源占用数据,包括:
在历史数据中选取相同时间段以及相邻时间段的平均资源占用数据进行对比,得到历史平均资源占用数据变化比值;
基于所述历史平均资源占用数据变化比值和当前时间段的资源占用数据进行分析,对下一时间段所需资源数据进行预测,得到第一预测资源占用数据。
需要说明的是,容器的资源占用情况和容器使用时间存在一定的关系,例如工作日的工作时间容器资源占用数据较大,休息时间的容器资源占用数据较小。通常情况下,不同工作日的每个时间段的资源占用数据变化比值基本一致,因此可以通过当前时间段的资源占用数据对下一时间段所需的资源数据进行预测,提前对空闲资源进行调度,并在下一时间段将这部分空闲资源调度至当前容器。
根据本发明实施例,所述通过预设资源占用规律分析模型对当前时间段的资源占用曲线进行分析,得到第二预测资源占用数据,包括:
分别计算资源占用曲线中相邻两个时间节点的曲线变化率;
将曲线变化率低于第二预设阈值的时间节点标记为平稳节点,相邻平稳节点之间的资源占用曲线为平稳曲线;
对长度小于第三预设阈值的平稳曲线进行过滤;
根据预设资源占用率差值对所述平稳曲线进行截取,得到一个或多个平稳曲线区间;
根据所述一个或多个平稳曲线区间进行分析,得到资源占用规律数据;
根据所述资源占用规律数据对下一时间段的资源占用数据进行预测,得到第二预测资源占用数据。
需要说明的是,预设资源占用规律分析模型通过容器资源占用数据的历史监测数据训练得到,通过预设资源占用规律分析模型对输入的资源占用曲线进行分析,在资源占用曲线的平稳部分截取一个或多个平稳曲线区间,通过对截取的一个或多个平稳曲线区间的区间长度、区间变化范围、区间分布位置等参数进行分析,确定该资源占用曲线中的资源占用规律数据,对下一时间段的资源占用数据进行预测,并通过历史监测数据对得到的第二预测资源占用数据进行验证。首先选取多个与输入资源占用曲线相似的历史监测数据,将历史监测数据中下一时间段的样本资源占用曲线与第二预测资源占用数据所形成的资源占用曲线进行对比,计算历史监测数据中相似曲线的占比,当该占比大于系统预设阈值时,输出第二预测资源占用数据。若输入的资源占用曲线中无法确定资源占用规律数据,则在历史监测数据中选取多个与输入资源占用曲线相似的历史监测数据,对这部分历史监测数据中下一时间段的样本资源占用曲线进行分析,选取占比最高的样本资源占用曲线,根据该曲线的最大值以及输入资源占比曲线的最大值进行等比例转换输出得到第二预测资源占用数据。其中,样本资源占用曲线中按照历史监测数据中当前时间段的最大值进行绘制;第二预测资源占用数据所形成的资源占用曲线按当前时间段的最大值进行绘制。其中,本领域技术人员可以根据实际使用需求对第二预设阈值、第三预设阈值和预设资源占用率差值进行设置。
根据本发明实施例,所述根据所述第一占用率和第二占用率对实时资源占用率进行分析,当所述实时资源占用率满足资源调度分配条件时,基于当前资源占用数据进行资源调度分配,包括:
对实时资源占用率进行监控,根据得到实时资源占用率绘制实时资源占用率曲线;
当所述实时资源占用率大于第一占用率或小于第二占用率时,判断所述实时资源占用率是否满足资源调度分配条件;
若满足,则进行资源调度分配,根据当前资源占用数据和第三占用率进行计算,确定资源分配最大值;
计算所述资源分配最大值和当前资源分配数据的数据差值;
根据所述数据差值进行多余资源回收或空闲资源分配。
需要说明的是,资源调度分配条件包括实时资源占用率大于第一占用率的次数和持续时间超过相对应的系统预设阈值,以及实时资源占用率小于第二占用率的持续时间超过相对应的系统预设阈值且预设范围内的平均资源占用率低于相对应的系统预设阈值等。其中,第三占用率的初始值为60%,资源分配最大值=当前资源占用数据/第三占用率。当满足资源调度分配条件时,系统根据当前资源占用数据和第三占用率确定资源分配最大值,并与当前资源分配数据进行差值计算,当差值为正数时,将差值数量的空闲资源分配至该容器;当差值为负数时,从该容器中分割差值数量的资源回收转移至空闲资源。
根据本发明实施例,还包括:
当所述实时资源占用率大于第一占用率时,记录超过次数并根据所述实时资源占用率大于第一占用率的持续时长得到第一持续时长;
当所述超过次数大于第四预设阈值或所述第一持续时长大于第一预设时长时,判断与上一次资源调度的时间间隔是否大于第二预设时长;
若是,则满足资源调度分配条件;
若否,则继续进行监控,当与上一次资源调度的时间间隔大于第二预设时长时,满足资源调度分配条件;
在监控过程中,若所述实时资源占用率达到资源分配最大值且持续时间大于第三预设时长,则发送预警信息并基于所述实时资源占用率进行资源调度分配。
需要说明的是,通过系统设置的第四预设阈值和第一预设时长可以判断当前容器是否存在任务处理压力,当超过次数大于第四预设阈值或第一持续时长大于第一预设时长时表示当前容器存在任务处理压力,可以将空闲资源调度分配至当前容器从而降低当前容器的处理压力,提高容器性能。但为了避免容器资源调度分配频率过快导致容器性能不稳定设置最小资源调度分配时长,即第二预设时长,其中,第二预设时长大于第一预设时长。当容器存在任务处理压力的情况下,若与上一次资源调度的时间间隔不满足第二预设时长,则继续对其进行监控,直至与上一次资源调度的时间间隔达到第二预设时长,进行容器资源调度分配。另外,当资源占用率达到资源分配最大值时,表示容器资源是否分配不足,无法及时对系统分配任务进行处理,在这种情况下,考虑数据波动的影响,继续进行监控并记录资源占用率达到资源分配最大值的持续时长,当持续时长达到第三预设时长时,直接进行容器资源调度并生成预警信息,将该预警信息通过显示终端进行显示。其中,第三预设时长小于第二预设时长。本领域技术人员可以根据实际使用需求对第四预设阈值、第一预设时长、第二预设时长、第三预设时长进行设置。
根据本发明实施例,还包括:
当所述实时资源占用率小于第二占用率时,记录所述实时资源占用率小于第二占用率的持续时长得到第二持续时长;
当所述第二持续时长大于第四预设时长时,基于所述实时资源占用率计算预设范围内的平均资源占用率;
当所述平均资源占用率低于第五预设阈值时,满足资源调度分配条件;
当所述实时资源占用率大于第二占用率时,重置第二持续时长。
需要说明的是,当实时资源占用率小于第二占用率时,表示当前时间节点容器内存在大量未使用资源,考虑数据波动的影响,继续对其进行监控,当第二持续时长大于第四预设时长时,确定当前容器资源利用率较低,存在大量未使用资源。通过计算预设范围内的平均资源占用率判断是否满足资源调度分配条件,其中预设范围的平均资源占用率为实时资源占用率以及前m个时间节点资源占用率的平均值,用公式表示为:
K平均=(Kn+Kn-1+Kn-2...+Kn-m)/(1+m);
其中,K平均为预设范围内的平均资源占用率,Kn为实时资源占用率,Kn-1、Kn-2、...、Kn-m为相对应时间节点的资源占用率,m为时间节点个数。
本领域技术人员可以根据实际使用需求对第四预设时长、第五预设阈值进行设置。其中,第五预设阈值小于第二占用率。
根据本发明实施例,所述根据资源占用数据绘制资源占用曲线,包括:
将当前时间段分割成多个时间节点,每个时间节点的资源占用数据为相对应时间节点内资源占用数据的平均值;
基于每个时间节点的资源占用数据绘制资源占用曲线。
需要说明的是,每个时间节点的长度相同,其具体长度根据系统设置的监测精确度进行确定,监测精确度越高,其时间节点长度越小。用时间节点内的全部资源占用数据的平均值表示当前时间节点内的当前容器的平均资源占用情况。同时,在计时间节点的资源占用数据时,首先按照系统预设比例去掉一定数量的最大资源占用数据和最小资源占用数据,然后对剩余的资源占用数据进行平均值计算,得到以时间节点为单位的资源占用数据,从而消除数据波动对数据分析的影响。
根据本发明实施例,还包括:
基于预警调整次数对第三占用率进行动态调整。
需要说明的是,预警调整次数指实时资源占用率达到资源分配最大值且持续时间大于第三预设时长时进行容器资源调度分配的次数,表示容器资源占用率波动较大,系统预设的第三占用率无法满足容器资源调度需求,系统基于预警调整次数对第三占用率的数值进行调整,预警调整次数越多,第三占用率的数值越小,通过降低第三占用率的数据可以在下一次资源调度分配时为当前容器分配更多的空闲资源。
同时通过系统对预设调整次数设置最大值,当预设调整次数达到最大值时,发送警报信息至显示终端。
根据本发明实施例,还包括:
当系统空闲资源无法满足全部容器的资源调度需求时,根据每个容器所对应任务的优先等级进行资源分配调整;
判断调整后的资源分配方案是否满足全部容器的资源调度需求;
若满足,则基于调整后的资源分配方案进行资源调度分配;
若不满足,则对部分低优先等级容器的资源进行回收,使所述部分低优先等级容器进入休眠状态,并将回收的资源分配至其他容器,直至未回收容器满足资源调度需求。
需要说明的是,任务优先等级分为三个等级,分别为一级任务、二级任务和三级任务,容器的资源分配比例按照所对应任务的优先等级分别为100%、80%、60%。在仍不满足全部容器的资源调度需求的情况下,在三级任务中选择优先度最低的任务,对其所对应容器的资源进行回收,保留部分资源使容器进入休眠状态,并防止该任务取消或消失。当存在空闲资源时,则将空闲资源分配至休眠状态容器,对休眠状态容器中的任务进行处理。
本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质中包括一种容器内存资源弹性伸缩调度方法程序,所述一种容器内存资源弹性伸缩调度方法程序被处理器执行时,实现如上述任一项所述的一种容器内存资源弹性伸缩调度方法的步骤。
本发明公开了一种容器内存资源弹性伸缩调度方法和系统,本发明通过历史平均资源占用数据变化比值、预设资源占用规律分析模型结合当前时间段的资源分配数据对下一时间段所需资源进行预测,在必要情况下将下一时间段分割成多个子时间段,对每个子时间段分别进行资源分配。同时对实时资源占用率进行监测,当实时资源占用率满足资源调度分配条件,基于实时资源占用率所对应的资源占用数据对容器进行资源分配调度。实现各个容器之间的资源弹性伸缩调度,达到容器负载均衡的目的。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (6)
1.一种容器内存资源弹性伸缩调度方法,其特征在于,包括:
根据资源占用数据绘制资源占用曲线;
计算当前时间段内最大资源占用率和最小资源占用率的差值,将得到的占用率差值与第一预设阈值进行对比;
若所述占用率差值小于第一预设阈值,通过当前时间段的资源占用数据对下一时间段的资源占用数据进行预测,得到第一预测资源占用数据,根据所述第一预测资源占用数据对下一时间段的资源数据进行调度分配;
反之,则通过预设资源占用规律分析模型对当前时间段的资源占用曲线进行分析,得到第二预测资源占用数据,基于所述第二预测资源占用数据将下一时间段分割成多个子时间段,并对每个子时间段的资源占用数据进行调度分配;
若无法从当前时间段内的资源占用曲线得到第二预测资源占用数据,则基于当前资源分配数据设置第一占用率和第二占用率;
根据所述第一占用率和第二占用率对实时资源占用率进行分析,当所述实时资源占用率满足资源调度分配条件时,基于当前资源占用数据进行资源调度分配;
所述根据所述第一占用率和第二占用率对实时资源占用率进行分析,当所述实时资源占用率满足资源调度分配条件时,基于当前资源占用数据进行资源调度分配,包括:
对实时资源占用率进行监控,根据得到实时资源占用率绘制实时资源占用率曲线;
当所述实时资源占用率大于第一占用率或小于第二占用率时,判断所述实时资源占用率是否满足资源调度分配条件;
若满足,则进行资源调度分配,根据当前资源占用数据和第三占用率进行计算,确定资源分配最大值;
计算所述资源分配最大值和当前资源分配数据的数据差值;
根据所述数据差值进行多余资源回收或空闲资源分配;
还包括:
当所述实时资源占用率大于第一占用率时,记录超过次数并根据所述实时资源占用率大于第一占用率的持续时长得到第一持续时长;
当所述超过次数大于第四预设阈值或所述第一持续时长大于第一预设时长时,判断与上一次资源调度的时间间隔是否大于第二预设时长;
若是,则满足资源调度分配条件;
若否,则继续进行监控,当与上一次资源调度的时间间隔大于第二预设时长时,满足资源调度分配条件;
在监控过程中,若所述实时资源占用率达到资源分配最大值且持续时间大于第三预设时长,则发送预警信息并基于所述实时资源占用率进行资源调度分配;
还包括:
当所述实时资源占用率小于第二占用率时,记录所述实时资源占用率小于第二占用率的持续时长得到第二持续时长;
当所述第二持续时长大于第四预设时长时,基于所述实时资源占用率计算预设范围内的平均资源占用率;
当所述平均资源占用率低于第五预设阈值时,满足资源调度分配条件;
当所述实时资源占用率大于第二占用率时,重置第二持续时长。
2.根据权利要求1所述的容器内存资源弹性伸缩调度方法,其特征在于,所述通过当前时间段的资源占用数据对下一时间段的资源占用数据进行预测,得到第一预测资源占用数据,包括:
在历史数据中选取相同时间段以及相邻时间段的平均资源占用数据进行对比,得到历史平均资源占用数据变化比值;
基于所述历史平均资源占用数据变化比值和当前时间段的资源占用数据进行分析,对下一时间段所需资源数据进行预测,得到第一预测资源占用数据。
3.根据权利要求1所述的容器内存资源弹性伸缩调度方法,其特征在于,所述通过预设资源占用规律分析模型对当前时间段的资源占用曲线进行分析,得到第二预测资源占用数据,包括:
分别计算资源占用曲线中相邻两个时间节点的曲线变化率;
将曲线变化率低于第二预设阈值的时间节点标记为平稳节点,相邻平稳节点之间的资源占用曲线为平稳曲线;
对长度小于第三预设阈值的平稳曲线进行过滤;
根据预设资源占用率差值对所述平稳曲线进行截取,得到一个或多个平稳曲线区间;
根据所述一个或多个平稳曲线区间进行分析,得到资源占用规律数据;
根据所述资源占用规律数据对下一时间段的资源占用数据进行预测,得到第二预测资源占用数据。
4.根据权利要求1所述的容器内存资源弹性伸缩调度方法,其特征在于,所述根据资源占用数据绘制资源占用曲线,包括:
将当前时间段分割成多个时间节点,每个时间节点的资源占用数据为相对应时间节点内资源占用数据的平均值;
基于每个时间节点的资源占用数据绘制资源占用曲线。
5.根据权利要求1所述的容器内存资源弹性伸缩调度方法,其特征在于,还包括:
当系统空闲资源无法满足全部容器的资源调度需求时,根据每个容器所对应任务的优先等级进行资源分配调整;
判断调整后的资源分配方案是否满足全部容器的资源调度需求;
若满足,则基于调整后的资源分配方案进行资源调度分配;
若不满足,则对部分低优先等级容器的资源进行回收,使所述部分低优先等级容器进入休眠状态,并将回收的资源分配至其他容器,直至未回收容器满足资源调度需求。
6.一种容器内存资源弹性伸缩调度系统,其特征在于,包括:
曲线绘制模块,用于根据资源占用数据绘制资源占用曲线;
资源预测调度模块,用于计算当前时间段内最大资源占用率和最小资源占用率的差值,将得到的占用率差值与第一预设阈值进行对比;若所述占用率差值小于第一预设阈值,通过当前时间段的资源占用数据对下一时间段的资源占用数据进行预测,得到第一预测资源占用数据,根据所述第一预测资源占用数据对下一时间段的资源数据进行调度分配;反之,则通过预设资源占用规律分析模型对当前时间段的资源占用曲线进行分析,得到第二预测资源占用数据,基于所述第二预测资源占用数据将下一时间段分割成多个子时间段,并对每个子时间段的资源占用数据进行调度分配;
资源调度模块,用于若无法从当前时间段内的资源占用曲线得到第二预测资源占用数据,则基于当前资源分配数据设置第一占用率和第二占用率;根据所述第一占用率和第二占用率对实时资源占用率进行分析,当所述实时资源占用率满足资源调度分配条件时,基于当前资源占用数据进行资源调度分配;
所述根据所述第一占用率和第二占用率对实时资源占用率进行分析,当所述实时资源占用率满足资源调度分配条件时,基于当前资源占用数据进行资源调度分配,包括:
对实时资源占用率进行监控,根据得到实时资源占用率绘制实时资源占用率曲线;
当所述实时资源占用率大于第一占用率或小于第二占用率时,判断所述实时资源占用率是否满足资源调度分配条件;
若满足,则进行资源调度分配,根据当前资源占用数据和第三占用率进行计算,确定资源分配最大值;
计算所述资源分配最大值和当前资源分配数据的数据差值;
根据所述数据差值进行多余资源回收或空闲资源分配;
还包括:
当所述实时资源占用率大于第一占用率时,记录超过次数并根据所述实时资源占用率大于第一占用率的持续时长得到第一持续时长;
当所述超过次数大于第四预设阈值或所述第一持续时长大于第一预设时长时,判断与上一次资源调度的时间间隔是否大于第二预设时长;
若是,则满足资源调度分配条件;
若否,则继续进行监控,当与上一次资源调度的时间间隔大于第二预设时长时,满足资源调度分配条件;
在监控过程中,若所述实时资源占用率达到资源分配最大值且持续时间大于第三预设时长,则发送预警信息并基于所述实时资源占用率进行资源调度分配;
还包括:
当所述实时资源占用率小于第二占用率时,记录所述实时资源占用率小于第二占用率的持续时长得到第二持续时长;
当所述第二持续时长大于第四预设时长时,基于所述实时资源占用率计算预设范围内的平均资源占用率;
当所述平均资源占用率低于第五预设阈值时,满足资源调度分配条件;
当所述实时资源占用率大于第二占用率时,重置第二持续时长。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410021315.8A CN117519913B (zh) | 2024-01-08 | 2024-01-08 | 一种容器内存资源弹性伸缩调度方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410021315.8A CN117519913B (zh) | 2024-01-08 | 2024-01-08 | 一种容器内存资源弹性伸缩调度方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117519913A CN117519913A (zh) | 2024-02-06 |
CN117519913B true CN117519913B (zh) | 2024-03-22 |
Family
ID=89755437
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410021315.8A Active CN117519913B (zh) | 2024-01-08 | 2024-01-08 | 一种容器内存资源弹性伸缩调度方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117519913B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112269650A (zh) * | 2020-12-18 | 2021-01-26 | 北京达佳互联信息技术有限公司 | 任务调度方法、装置、电子设备和存储介质 |
CN114253698A (zh) * | 2020-09-22 | 2022-03-29 | 中兴通讯股份有限公司 | 资源调度方法、系统、电子设备及存储介质 |
CN115774602A (zh) * | 2022-12-06 | 2023-03-10 | 北京京东尚科信息技术有限公司 | 一种容器资源的分配方法、装置、设备及存储介质 |
CN116467082A (zh) * | 2023-04-21 | 2023-07-21 | 山西邵嗨杨科技有限公司 | 一种基于大数据的资源分配方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115437739A (zh) * | 2021-06-02 | 2022-12-06 | 伊姆西Ip控股有限责任公司 | 虚拟化系统的资源管理方法、电子设备和计算机程序产品 |
-
2024
- 2024-01-08 CN CN202410021315.8A patent/CN117519913B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114253698A (zh) * | 2020-09-22 | 2022-03-29 | 中兴通讯股份有限公司 | 资源调度方法、系统、电子设备及存储介质 |
CN112269650A (zh) * | 2020-12-18 | 2021-01-26 | 北京达佳互联信息技术有限公司 | 任务调度方法、装置、电子设备和存储介质 |
CN115774602A (zh) * | 2022-12-06 | 2023-03-10 | 北京京东尚科信息技术有限公司 | 一种容器资源的分配方法、装置、设备及存储介质 |
CN116467082A (zh) * | 2023-04-21 | 2023-07-21 | 山西邵嗨杨科技有限公司 | 一种基于大数据的资源分配方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN117519913A (zh) | 2024-02-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7890620B2 (en) | Monitoring system and monitoring method | |
US20180144251A1 (en) | Server and cloud computing resource optimization method thereof for cloud big data computing architecture | |
US8627330B2 (en) | Workload manager managing a workload of an enterprise data warehouse | |
US10255114B2 (en) | Abnormality detection apparatus, control method, and program | |
CN111400022A (zh) | 一种资源调度方法、装置及电子设备 | |
CN105900064A (zh) | 调度数据流任务的方法和装置 | |
CN112667376A (zh) | 任务调度处理方法、装置、计算机设备及存储介质 | |
CN110474852B (zh) | 一种带宽调度方法及装置 | |
EP3932025B1 (en) | Computing resource scheduling method, scheduler, internet of things system, and computer readable medium | |
CN111414070B (zh) | 一种机箱功耗管理方法、系统及电子设备和存储介质 | |
CN108491255B (zh) | 自助式MapReduce数据优化分配方法及系统 | |
CN113010576A (zh) | 云计算系统容量评估的方法、装置、设备和存储介质 | |
CN111046091B (zh) | 数据交换系统的运行方法、装置及设备 | |
CN111985726A (zh) | 资源数量预测方法、装置、电子设备及存储介质 | |
CN113032157B (zh) | 一种服务器自动智能扩缩容方法及系统 | |
CN116185645B (zh) | 基于神经网络的集群资源智能调度方法、系统及存储介质 | |
CN103248622B (zh) | 一种自动伸缩的在线视频服务质量保障方法及系统 | |
CN107038067B (zh) | 分布式流处理中处理资源的管理方法和装置 | |
CN117519913B (zh) | 一种容器内存资源弹性伸缩调度方法和系统 | |
CN116566696B (zh) | 一种基于云计算的安全性评估系统及方法 | |
CN114866563A (zh) | 扩容方法、装置、系统和存储介质 | |
CN114490078A (zh) | 一种微服务的动态缩扩容方法、装置及设备 | |
CN112559078B (zh) | 一种移动边缘计算服务器分级卸载任务方法及系统 | |
CN109901931B (zh) | 一种归约函数数量确定方法、装置及系统 | |
CN116089248B (zh) | 一种写i/o突发分布预测方法、装置、设备及存储介质 |
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 |