CN115981863A - 一种结合业务特性的智能云资源弹性伸缩方法和系统 - Google Patents
一种结合业务特性的智能云资源弹性伸缩方法和系统 Download PDFInfo
- Publication number
- CN115981863A CN115981863A CN202211730278.5A CN202211730278A CN115981863A CN 115981863 A CN115981863 A CN 115981863A CN 202211730278 A CN202211730278 A CN 202211730278A CN 115981863 A CN115981863 A CN 115981863A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- cpu
- memory
- daily
- service
- 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
Images
Classifications
-
- 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
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种结合业务特性的智能云资源弹性伸缩方法和系统,基于虚拟机上的业务特性进行性能资源利用率评估算法,实现单个虚拟机的资源进行弹性伸缩,并形成智能策略且支持配置;监测时段和预警时段均可自定义,不仅考虑到业务的日时间段特点还考虑到业务的阶段性的特点,从而实现虚拟机资源的阶段性动态按需调整,既可扩容,也可减容,同时对执行结果进行及时反馈,实现云资源弹性伸缩的闭环管理;还可设置触发流程,实现系统自动化弹性伸缩管理和标准化流程驱动人员高效沟通;结合业务特性趋势判断,灵活智能策略机制,把握了最佳弹性伸缩的时机,实现业务按需分配和使用资源,不仅保障资源合理使用和业务的稳定运行,也提高了管理效率和提升用户体验。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种结合业务特性的智能云资源弹性伸缩方法和系统。
背景技术
云资源指云计算资源,这里指的是虚拟机的CPU和内存资源。
云计算的快速发展满足了大规模计算、海量数据存储的要求,为了实现云资源的高效利用,弹性伸缩成为云计算不可缺少的特性。弹性伸缩目的是解决云计算资源不足或者浪费的问题,当前主要通过对云资源的CPU、内存等系统资源的简单性能阀值来判断是否需要弹性伸缩资源,但由于难以把握云资源弹性伸缩时间点,无法灵活应对业务发展变化,且主要通过新增虚拟机来实现,容易导致资源出现瓶颈或造成极大浪费,而不是按需“恰到好处”地分配和使用资源。
传统的云资源弹性伸缩机制主要面向的对象是资源池或者虚拟机。
对虚拟机的弹性伸缩,传统的作法主要是通过新增虚拟机的手段来进行扩容,例如中国发明申请号为201410051843.4、201610575356.7、201210075071.9。这三份发明中主要实现虚拟机的新增和回收来实现云资源的弹性伸缩,而且使用性能指标来简单判断是否需要进行弹性伸缩。
传统的云资源弹性伸缩机制存在如下缺点:
1、通过简单的性能阀值配置,评估的有效性较低,难以依据业务特征来把握最佳的弹性伸缩时机,导致了资源浪费;
2、弹性伸缩方法主要实现对虚拟机的创建或者对虚拟机的回收,针对分配好的虚拟机,虚拟机数量的增加,使得管理变得更加复杂,同时也导致了部分重叠资源的浪费;
3、针对分配好的虚拟机,难以根据实际应用情况情况及时的进行扩容、减容或回收;即对于单个虚拟机而言,只要进行了计算资源分配之后,就不会再进行计算资源的调整。
发明内容
本发明要解决的技术问题,在于提供一种结合业务特性的智能云资源弹性伸缩方法和系统,基于云资源的CPU、内存等的计算资源使用率的采集,支持根据业务特性设置智能伸缩策略模型,实现业务按需分配和使用资源,不仅保障资源合理使用和业务的稳定运行,也提高了管理效率和提升用户体验。
第一方面,本发明提供了一种结合业务特性的智能云资源弹性伸缩方法,包括下述步骤:
S1、根据虚拟机的业务特性配置虚拟机的智能伸缩策略模型,配置项包括策略预警周期的天数、监控期的天数、性能数据计算时间点、扩容策略、收缩策略、日业务特点时间段及日业务特点时间段对应的权重系数,其中,监控期处于策略预警周期内,且所述配置项能通过机器学习自动生成推荐配置;
S2、进入当前的策略预警周期,连续在监控期的天数内,对虚拟机在各个日业务特点时间段的性能数据进行多次采集并分析,得到近期性能数据的分析结果,所述性能数据包括CPU使用率以及内存使用率;
S3、根据近期性能数据的分析结果,判断当前虚拟机的性能数据是否满足所述扩容策略或所述收缩策略的策略阀值;若否,则等待进入下一个策略预警周期;若是,则确定CPU和内存的伸缩量,生成并下发弹性伸缩命令给云管理平台,该弹性伸缩命令为扩容命令和减容命令;
S4、云管理平台若收到所述扩容命令,则根据所述CPU和内存的伸缩量对虚拟机执行扩容命令,若收到所述减容命令,则根据所述CPU和内存的伸缩量对虚拟机执行减容命令,执行结束后,反馈执行结果。
第二方面,本发明提供了一种结合业务特性的智能云资源弹性伸缩系统,包括:
配置模块,用于根据虚拟机的业务特性配置虚拟机的智能伸缩策略模型,配置项包括策略预警周期的天数、监控期的天数、性能数据计算时间点、扩容策略、收缩策略、日业务特点时间段及日业务特点时间段对应的权重系数,其中,监控期处于策略预警周期内,且所述配置项能通过机器学习自动生成推荐配置;
采集分析模块,进入当前的策略预警周期,连续在监控期的天数内,对虚拟机在各个日业务特点时间段的性能数据进行多次采集并分析,得到近期性能数据的分析结果,所述性能数据包括CPU使用率以及内存使用率;
判断处理模块,用于根据近期性能数据的分析结果,判断当前虚拟机的性能数据是否满足所述扩容策略或所述收缩策略的策略阀值;若否,则等待进入下一个策略预警周期;若是,则确定CPU和内存的伸缩量,生成并下发弹性伸缩命令给云管理平台,该弹性伸缩命令为扩容命令和减容命令;
伸缩执行模块,云管理平台若收到所述扩容命令,则根据所述CPU和内存的伸缩量对虚拟机执行扩容命令,若收到所述减容命令,则根据所述CPU和内存的伸缩量对虚拟机执行减容命令,执行结束后,反馈执行结果。
本发明实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:本发明是基于虚拟机上的业务特性进行性能资源利用率评的估算法,实现基于单个虚拟机的资源进行弹性伸缩,并形成智能策略且支持配置;监测时段和预警时段均可自定义,不仅考虑到业务的日时间段特点还考虑到业务的阶段性的特点,从而实现虚拟机资源的阶段性动态按需调整,既可扩容,也可减容,同时对执行结果进行及时反馈,实现云资源弹性伸缩的闭环管理;关于减容还可设置触发流程,实现系统自动化弹性伸缩管理和标准化流程驱动人员高效沟通;结合业务特性趋势判断,灵活智能策略机制,把握了最佳弹性伸缩的时机,实现业务按需分配和使用资源,不仅保障资源合理使用和业务的稳定运行,也提高了管理效率和提升用户体验。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
下面参照附图结合实施例对本发明作进一步的说明。
图1为本发明系统的框架示意图;
图2为本发明实施例一中方法中的流程图;
图3为本发明实施例的日均CPU使用率和日均内存使用率的曲线示意图;
图4为本发明实施例一中方法另一种实现方式的流程图;
图5为本发明伸缩确认的执行过程示意图;
图6为本发明实施例二中系统的结构示意图;
图7为本发明实施例二中系统另一种实现方式的结构示意图。
具体实施方式
本申请实施例通过提供一种结合业务特性的智能云资源弹性伸缩方法和系统,对云资源的单个虚拟机的CPU使用率、内存使用率进行采集,根据业务时段特点性来设置权重系数进行分析,从而更为精准、更为及时判断是否需要进行弹性伸缩。
本申请实施例中的技术方案,总体思路如下:本发明是基于虚拟机上的业务特性进行性能资源利用率评的估算法,并基于单个虚拟机的资源进行弹性伸缩,形成智能策略,且支持配置;监测时段和预警时段均可自定义,不仅考虑到业务的日时间段特点还考虑到业务的阶段性的特点,从而实现虚拟机资源的阶段性调整,既可扩容,也可减容,同时对执行结果进行及时反馈,实现云资源弹性伸缩的闭环管理;关于减容还可设置触发流程,实现系统自动化弹性伸缩管理和标准化流程驱动人员高效沟通;结合业务特性趋势判断,灵活智能策略机制,把握了最佳弹性伸缩的时机,保障业务的稳定运行,不仅提高了管理效率而且提升用户体验。
在介绍具体实施例之前,先介绍本申请实施例方法所对应的系统框架,如图1所示,系统大概分三个部分:
虚拟机,根据业务特性为一个业务分派一台虚拟机或一个虚拟机集群,所述虚拟机集群由多台虚拟机资源基本相同的虚拟机构成;业务特性指业务需要处理的数据量随之时间段的不同而不同。这些虚拟机或虚拟机集群均处在一个云资源池中,由云管理平台统一管理;
智能云资源弹性伸缩系统,基于业务特性进行性能资源利用率评的估算法,并基于单个虚拟机的资源进行弹性伸缩,形成智能策略,且支持配置;
云管理平台,用于对整个云资源池中的虚拟机或虚拟机集群进行管理,执行智能云资源弹性伸缩系统下发的弹性缩命令。
实施例一
如图2所示,本实施例提供一种结合业务特性的智能云资源弹性伸缩方法,包括下述步骤:
S1、根据虚拟机的业务特性配置虚拟机的智能伸缩策略模型,配置项包括策略预警周期的天数N、监控期的天数M、性能数据计算时间点T、扩容策略、收缩策略、日业务特点时间段及日业务特点时间段对应的权重系数,其中,所述监控期的天数M小于或等于所述策略预警周期的天数N,且所述配置项能通过机器学习自动生成推荐配置;
监控期的天数M是在策略预警周期的天数N之内,即不用在整个策略预警周期的每天都对虚拟机进行监控,而是选择一段连续的时间作为一个周期内的监控时间,从而节约不必要的资源浪费。
性能数据计算时间点T是指对采集的数据进行计算,例如计算日平均值和忙时平均值等,由于不用实时计算,可以结合业务特点选择一个业务数据少的时间点作为性能数据计算时间点T;
日业务特点时间段是指对于一项业务往往一天之内的繁忙时段是不同的,对于正常班的业务来说,上班时段忙,下班时段闲;日业务特点时间段对应的权重系数就可以设定不同,忙时权重系统可以设置大些,而闲时则可以设置小些,从而使计算得到的日均值更加准确;
扩容策略和收缩策略,可通过设置扩容或收缩的阀值,以及设置相应的伸缩量来实现。
S2、进入当前的策略预警周期,连续在监控期的天数M内,对虚拟机在各个日业务特点时间段的性能数据进行多次采集并分析,得到近期性能数据的分析结果,所述性能数据包括CPU使用率以及内存使用率;
S3、根据近期性能数据的分析结果,判断当前虚拟机的性能数据是否满足所述扩容策略或所述收缩策略的策略阀值;若否,则等待进入下一个策略预警周期;若是,则确定CPU和内存的伸缩量,生成并下发弹性伸缩命令给云管理平台,该弹性伸缩命令为扩容命令和减容命令;
S4、云管理平台若收到所述扩容命令,则根据所述CPU和内存的伸缩量对虚拟机执行扩容命令,若收到所述减容命令,则根据所述CPU和内存的伸缩量对虚拟机执行减容命令,执行结束后,反馈执行结果和相关日志,反馈可以通过短信、系统信息、邮箱等多种方式推送到虚拟机的使用人手机或者对应账号上。
进一步的,作为本实施具体的或更优的实现方式,所述近期性能数据的分析结果包括:日均CPU使用率Icpu_avg,日均内存使用率Imem_avg,日均CPU忙时使用率Icpu_top和日均内存忙时使用率Imem_top;
所述日均CPU使用率Icpu_avg为虚拟机全天所采集的所有CPU利用率的整体平均值;
所述日均内存使用率Imem_avg为虚拟机全天所采集的所有内存使用率的整体平均值;
所述日均CPU忙时使用率Icpu_top的计算过程是:判断是否配置了日业务特点时间段及日业务特点时间段对应的权重系数,若否,取全天所采集的所有CPU利用率中前n项的最大数据计算整体平均值;若是,则按照日业务特点时间段内所采集的所有CPU利用率中前n项最大数据值及日业务特点时间段对应的权重系数进行计算,计算公式为:
Icpu_top=(cpu_top1*Y1+cpu_top2*Y2+……+cpu_topn*Yn)/(Y1+Y2+……
+Yn)(1);
式(1)中,cpu_top1、cpu_top2、…、cpu_topn为日业务特点时间段内所采集的所有CPU利用率前n项最大数据值,Y1、Y2、…、Yn为各个日业务特点时间段所对应的权重系数;
所述日均内存忙时使用率Imem_top为虚拟机的计算过程是:判断是否配置了日业务特点时间段及日业务特点时间段对应的权重系数,若否,取全天所采集的所有内存利用率中前n项的最大数据计算整体平均值;若是,则按照日业务特点时间段内所采集的所有内存利用率中前n项最大数据值及日业务特点时间段对应的权重系数进行计算,计算公式为:
Imem_top=(mem_top1*Q1+mem_top2*Q2+……+mem_topn*Qn)
/(Q1+Q2+……+Qn)(2);
式(2)中,mem_top1、mem_top2、…、mem_topn为日业务特点时间段内所采集的所有内存利用率前n项最大数据值,Q1、Q2、…、Qn为各个日业务特点时间段所对应的权重系数。
进一步的,所述步骤S2中,在得到近期性能数据的分析结果时,还根据该分析结果判断未来近期内的业务特性发展趋势;
所述步骤S3中,还根据近期性能数据的分析结果和未来近期内的业务特性发展趋势,判断在下一个策略预警周期内虚拟机的性能数据是否满足所述扩容策略或所述收缩策略的策略阀值;若是,在下一个策略预警周期的初始阶段确定CPU和内存的伸缩量,生成并下发弹性伸缩命令。
这种事先根据上一个策略预警周期的性能数据判断下一个策略预警周期的发展趋势,例如,随着政府线下办事的各种事项逐步移到线上来办,对于同一个虚拟机而言,虽然业务各类没有改变,但业务的数据量逐渐增加,且这种业务量的增长是比较稳定的,且可以通过上一个策略预警周期的性能数据直接得出,因此可以在下一个策略预警周期的初始阶段确定CPU和内存的伸缩量,生成并下发弹性伸缩命令。从而能让伸缩具有前瞻性。
进一步的,所述确定CPU和内存的伸缩量的过程为:
判断近期性能数据的分析结果中CPU的数量和内存大小所处的档位;
如图3所示,绘制日均CPU使用率Icpu_avg、日均CPU忙时使用率Icpu_top、日均内存使用率Imem_avg和日均内存忙时使用率Imem_top的曲线图,计算得到各个曲线的中线角度值作为趋势角度值;
根据所述档位和趋势角度值匹配对应的伸缩量配置量。
进一步的,如图4和图5所示,所述这步骤S3中,在判断当前虚拟机的性能数据满足所述扩容策略或所述收缩策略的策略阀值时,发起伸缩确认流程请求,同时将伸缩类型(CPU数量或内存大小)、伸缩量、预警信息及建议派发到虚拟机的用户,也可以让用户自行设置减容时间点和伸缩量,当虚拟机的用户回复确认时,则由资源管理员审核,审核通过后下发弹性伸缩命令;当审核值为“不通过”时,系统自动回退到虚拟机的用户的确认环节,以修改减容时间点和伸缩量后再给资源管理员审核。
所述步骤S4中,云管理平台若收到所述减容命令时,若减容命令中有包括内存减容命令,则,提醒用户保存相关数据并关掉虚拟机正在运行的业务,并在业务关掉后对虚拟机执行减容命令,并在减容结束后提醒用户可以继续之前的业务;或者是:
云管理平台若收到所述减容命令时,若减容命令中有包括内存减容命令,则,先通知用户准备减容操作,然后对虚拟机内存中的数据进行镜像克隆并保存在内存之外,关掉虚拟机正在执行的业务,对虚拟机执行减容命令,并在减容结束后将镜像克隆的数据移至内存中,打开之前的业务继续运行,再通知用户减容操作完成。
基于同一发明构思,本申请还提供了与实施例一中的方法对应的系统,详见实施例二。
实施例二
如图6所示,在本实施例中提供了一种结合业务特性的智能云资源弹性伸缩系统,包括:
配置模块,用于根据虚拟机的业务特性配置虚拟机的智能伸缩策略模型,配置项包括策略预警周期的天数、监控期的天数、性能数据计算时间点、扩容策略、收缩策略、日业务特点时间段及日业务特点时间段对应的权重系数,其中,监控期处于策略预警周期内;
采集分析模块,进入当前的策略预警周期,连续在监控期的天数内,对虚拟机在各个日业务特点时间段的性能数据进行多次采集并分析,得到近期性能数据的分析结果,所述性能数据包括CPU使用率以及内存使用率;
判断处理模块,用于根据近期性能数据的分析结果,判断当前虚拟机的性能数据是否满足所述扩容策略或所述收缩策略的策略阀值;若否,则等待进入下一个策略预警周期;若是,则确定CPU和内存的伸缩量,生成并下发弹性伸缩命令给云管理平台,该弹性伸缩命令为扩容命令和减容命令;
伸缩执行模块,云管理平台若收到所述扩容命令,则根据所述CPU和内存的伸缩量对虚拟机执行扩容命令,若收到所述减容命令,则根据所述CPU和内存的伸缩量对虚拟机执行减容命令,执行结束后,反馈执行结果。
进一步的,作为本实施具体的或更优的实现方式,所述近期性能数据的分析结果包括:日均CPU使用率Icpu_avg,日均内存使用率Imem_avg,日均CPU忙时使用率Icpu_top和日均内存忙时使用率Imem_top;
所述日均CPU使用率Icpu_avg为虚拟机全天所采集的所有CPU利用率的整体平均值;
所述日均内存使用率Imem_avg为虚拟机全天所采集的所有内存使用率的整体平均值;
所述日均CPU忙时使用率Icpu_top的计算过程是:判断是否配置了日业务特点时间段及日业务特点时间段对应的权重系数,若否,取全天所采集的所有CPU利用率中前n项的最大数据计算整体平均值;若是,则按照日业务特点时间段内所采集的所有CPU利用率中前n项最大数据值及日业务特点时间段对应的权重系数进行计算,计算公式为:
Icpu_top=(cpu_top1*Y1+cpu_top2*Y2+……+cpu_topn*Yn)/(Y1+Y2+……
+Yn)(1);
式(1)中,cpu_top1、cpu_top2、…、cpu_topn为日业务特点时间段内所采集的所有CPU利用率前n项最大数据值,Y1、Y2、…、Yn为各个日业务特点时间段所对应的权重系数;
所述日均内存忙时使用率Imem_top为虚拟机的计算过程是:判断是否配置了日业务特点时间段及日业务特点时间段对应的权重系数,若否,取全天所采集的所有内存利用率中前n项的最大数据计算整体平均值;若是,则按照日业务特点时间段内所采集的所有内存利用率中前n项最大数据值及日业务特点时间段对应的权重系数进行计算,计算公式为:
Imem_top=(mem_top1*Q1+mem_top2*Q2+……+mem_topn*Qn)
/(Q1+Q2+……+Qn)(2);
式(2)中,mem_top1、mem_top2、…、mem_topn为日业务特点时间段内所采集的所有内存利用率前n项最大数据值,Q1、Q2、…、Qn为各个日业务特点时间段所对应的权重系数。
进一步的,所述采集分析模块在得到近期性能数据的分析结果时,还根据该分析结果判断未来近期内的业务特性发展趋势;
如图3所示,所述判断处理模块还根据近期性能数据的分析结果和未来近期内的业务特性发展趋势,判断在下一个策略预警周期内虚拟机的性能数据是否满足所述扩容策略或所述收缩策略的策略阀值;若是,在下一个策略预警周期的初始阶段确定CPU和内存的伸缩量,生成并下发弹性伸缩命令。
所述确定CPU和内存的伸缩量的过程为:
判断近期性能数据的分析结果中CPU的数量和内存大小所处的档位;
绘制日均CPU使用率Icpu_avg、日均CPU忙时使用率Icpu_top、日均内存使用率Imem_avg和日均内存忙时使用率Imem_top的曲线图,计算得到各个曲线的中线角度值作为趋势角度值;
根据所述档位和趋势角度值匹配对应的伸缩量配置量。
如图7所示,还包括:
请示模块,用于在判断当前虚拟机的性能数据满足所述扩容策略或所述收缩策略的策略阀值时,发起伸缩确认流程请求,同时将伸缩类型(CPU数量或内存大小)、伸缩量、预警信息及建议派发到虚拟机的用户,也可以让用户自行设置减容时间点和伸缩量,当虚拟机的用户回复确认时,则由资源管理员审核,审核通过后下发弹性伸缩命令;当审核值为“不通过”时,系统自动回退到虚拟机的用户的确认环节,以修改减容时间点和伸缩量后再给资源管理员审核。
所述伸缩执行模块在所述云管理平台若收到所述减容命令时,若减容命令中有包括内存减容命令,则,触发减容确认请求给虚拟机的用户,当虚拟机的用户回复确认时,提醒用户保存相关数据并关掉虚拟机正在运行的业务,并在业务关掉后对虚拟机执行减容命令,并在减容结束后提醒用户可以继续之前的业务;或者是:在云管理平台若收到所述减容命令时,若减容命令中有包括内存减容命令,则,先通知用户准备减容操作,然后对虚拟机内存中的数据进行镜像克隆并保存在内存之外,关掉虚拟机正在执行的业务,对虚拟机执行减容命令,并在减容结束后将镜像克隆的数据移至内存中,打开之前的业务继续运行,再通知用户减容操作完成。
由于本发明实施例二所介绍的装置,为实施本发明实施例一的方法所采用的装置,故而基于本发明实施例一所介绍的方法,本领域所属人员能够了解该装置的具体结构及变形,故而在此不再赘述。凡是本发明实施例一的方法所采用的装置都属于本发明所欲保护的范围。
本申请实施例中提供的技术方案,至少具有如下技术效果或优点:本发明是基于虚拟机上的业务特性进行性能资源利用率评的估算法,并基于单个虚拟机的资源进行弹性伸缩,形成智能策略,且支持配置;监测时段和预警时段均可自定义,不仅考虑到业务的日时间段特点还考虑到业务的阶段性的特点,从而实现虚拟机资源的阶段性调整,既可扩容,也可减容,同时对执行结果进行及时反馈,实现云资源弹性伸缩的闭环管理;关于减容还可设置触发流程,实现系统自动化弹性伸缩管理和标准化流程驱动人员高效沟通;结合业务特性趋势判断,灵活智能策略机制,把握了最佳弹性伸缩的时机,保障业务的稳定运行,不仅提高了管理效率而且提升用户体验。
虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。
Claims (10)
1.一种结合业务特性的智能云资源弹性伸缩方法,其特征在于:包括下述步骤:
S1、根据虚拟机的业务特性配置虚拟机的智能伸缩策略模型,配置项包括策略预警周期的天数、监控期的天数、性能数据计算时间点、扩容策略、收缩策略、日业务特点时间段及日业务特点时间段对应的权重系数,其中,监控期处于策略预警周期内,且所述配置项能通过机器学习自动生成推荐配置;
S2、进入当前的策略预警周期,连续在监控期的天数内,对虚拟机在各个日业务特点时间段的性能数据进行多次采集并分析,得到近期性能数据的分析结果,所述性能数据包括CPU使用率以及内存使用率;
S3、根据近期性能数据的分析结果,判断当前虚拟机的性能数据是否满足所述扩容策略或所述收缩策略的策略阀值;若否,则等待进入下一个策略预警周期;若是,则确定CPU和内存的伸缩量,生成并下发弹性伸缩命令给云管理平台,该弹性伸缩命令为扩容命令和减容命令;
S4、云管理平台若收到所述扩容命令,则根据所述CPU和内存的伸缩量对虚拟机执行扩容命令;若收到所述减容命令,则根据所述CPU和内存的伸缩量对虚拟机执行减容命令,执行结束后,反馈执行结果。
2.根据权利要求1所述的一种结合业务特性的智能云资源弹性伸缩方法,其特征在于:
所述近期性能数据的分析结果包括:日均CPU使用率Icpu_avg,日均内存使用率Imem_avg,日均CPU忙时使用率Icpu_top和日均内存忙时使用率Imem_top;
所述日均CPU使用率Icpu_avg为虚拟机全天所采集的所有CPU利用率的整体平均值;
所述日均内存使用率Imem_avg为虚拟机全天所采集的所有内存使用率的整体平均值;
所述日均CPU忙时使用率Icpu_top的计算过程是:判断是否配置了日业务特点时间段及日业务特点时间段对应的权重系数,若否,取全天所采集的所有CPU利用率中前n项的最大数据计算整体平均值;若是,则按照日业务特点时间段内所采集的所有CPU利用率中前n项最大数据值及日业务特点时间段对应的权重系数进行计算,计算公式为:
Icpu_top=(cpu_top1*Y1+cpu_top2*Y2+……+cpu_topn*Yn)/(Y1+Y2+……
+Yn)(1);
式(1)中,cpu_top1、cpu_top2、…、cpu_topX为日业务特点时间段内所采集的所有CPU利用率前n项最大数据值,Y1、Y2、…、Yn为各个日业务特点时间段所对应的权重系数;
所述日均内存忙时使用率Imem_top为虚拟机的计算过程是:判断是否配置了日业务特点时间段及日业务特点时间段对应的权重系数;若否,取全天所采集的所有内存利用率中前n项的最大数据计算整体平均值;若是,则按照日业务特点时间段内所采集的所有内存利用率中前n项最大数据值及日业务特点时间段对应的权重系数进行计算,计算公式为:
Imem_top=(mem_top1*Q1+mem_top2*Q2+……+mem_topn*Qn)
/(Q1+Q2+……+Qn)(2);
式(2)中,mem_top1、mem_top2、…、mem_topn为日业务特点时间段内所采集的所有内存利用率前n项最大数据值,Q1、Q2、…、Qn为各个日业务特点时间段所对应的权重系数。
3.根据权利要求2所述的一种结合业务特性的智能云资源弹性伸缩方法,其特征在于:
所述步骤S2中,在得到近期性能数据的分析结果时,还根据该分析结果判断未来近期内的业务特性发展趋势;
所述步骤S3中,还根据近期性能数据的分析结果和未来近期内的业务特性发展趋势,判断在下一个策略预警周期内虚拟机的性能数据是否满足所述扩容策略或所述收缩策略的策略阀值;若是,在下一个策略预警周期的初始阶段确定CPU和内存的伸缩量,生成并下发弹性伸缩命令。
4.根据权利要求3所述的一种结合业务特性的智能云资源弹性伸缩方法,其特征在于:所述确定CPU和内存的伸缩量的过程为:
判断近期性能数据的分析结果中CPU的数量和内存大小所处的档位;
绘制日均CPU使用率Icpu_avg、日均CPU忙时使用率Icpu_top、日均内存使用率Imem_avg和日均内存忙时使用率Imem_top的曲线图,计算得到各个曲线的中线角度值作为趋势角度值;
根据所述档位和趋势角度值匹配对应的伸缩量配置量,该伸缩量配置量根据机器学习自动生成推荐配置。
5.根据权利要求1所述的一种结合业务特性的智能云资源弹性伸缩方法,其特征在于:所述这步骤S3中,在判断当前虚拟机的性能数据满足所述扩容策略或所述收缩策略的策略阀值,还发起伸缩确认流程请求,同时将伸缩类型、伸缩量、预警信息及建议派发到虚拟机的用户,当虚拟机的用户回复确认时,则由资源管理员审核,审核通过后下发弹性伸缩命令;
所述步骤S4中,云管理平台若收到所述减容命令时,若减容命令中有包括内存减容命令,则提醒用户保存相关数据并关掉虚拟机正在运行的业务,并在业务关掉后对虚拟机执行减容命令,并在减容结束后提醒用户可以继续之前的业务;或者是:
云管理平台若收到所述减容命令时,若减容命令中有包括内存减容命令,则先通知用户准备减容操作,然后对虚拟机内存中的数据进行镜像克隆并保存在内存之外,关掉虚拟机正在执行的业务,对虚拟机执行减容命令,并在减容结束后将镜像克隆的数据移至内存中,打开之前的业务继续运行,再通知用户减容操作完成。
6.一种结合业务特性的智能云资源弹性伸缩系统,其特征在于:包括:
配置模块,用于根据虚拟机的业务特性配置虚拟机的智能伸缩策略模型,配置项包括策略预警周期的天数、监控期的天数、性能数据计算时间点、扩容策略、收缩策略、日业务特点时间段及日业务特点时间段对应的权重系数,其中,监控期处于策略预警周期内,且所述配置项能通过机器学习自动生成推荐配置;
采集分析模块,进入当前的策略预警周期,连续在监控期的天数内,对虚拟机在各个日业务特点时间段的性能数据进行多次采集并分析,得到近期性能数据的分析结果,所述性能数据包括CPU使用率以及内存使用率;
判断处理模块,用于根据近期性能数据的分析结果,判断当前虚拟机的性能数据是否满足所述扩容策略或所述收缩策略的策略阀值;若否,则等待进入下一个策略预警周期;若是,则确定CPU和内存的伸缩量,生成并下发弹性伸缩命令给云管理平台,该弹性伸缩命令为扩容命令和减容命令;
伸缩执行模块,云管理平台若收到所述扩容命令,则根据所述CPU和内存的伸缩量对虚拟机执行扩容命令,若收到所述减容命令,则根据所述CPU和内存的伸缩量对虚拟机执行减容命令,执行结束后,反馈执行结果。
7.根据权利要求6所述的一种结合业务特性的智能云资源弹性伸缩系统,其特征在于:所述近期性能数据的分析结果包括:日均CPU使用率Icpu_avg,日均内存使用率Imem_avg,日均CPU忙时使用率Icpu_top和日均内存忙时使用率Imem_top;
所述日均CPU使用率Icpu_avg为虚拟机全天所采集的所有CPU利用率的整体平均值;
所述日均内存使用率Imem_avg为虚拟机全天所采集的所有内存使用率的整体平均值;
所述日均CPU忙时使用率Icpu_top的计算过程是:判断是否配置了日业务特点时间段及日业务特点时间段对应的权重系数,若否,取全天所采集的所有CPU利用率中前n项的最大数据计算整体平均值;若是,则按照日业务特点时间段内所采集的所有CPU利用率中前n项最大数据值及日业务特点时间段对应的权重系数进行计算,计算公式为:
Icpu_top=(cpu_top1*Y1+cpu_top2*Y2+……+cpu_topn*Yn)/(Y1+Y2+……
+Yn)(1);
式(1)中,cpu_top1、cpu_top2、…、cpu_topn为日业务特点时间段内所采集的所有CPU利用率前n项最大数据值,Y1、Y2、…、Yn为各个日业务特点时间段所对应的权重系数;
所述日均内存忙时使用率Imem_top为虚拟机的计算过程是:判断是否配置了日业务特点时间段及日业务特点时间段对应的权重系数,若否,取全天所采集的所有内存利用率中前n项的最大数据计算整体平均值;若是,则按照日业务特点时间段内所采集的所有内存利用率中前n项最大数据值及日业务特点时间段对应的权重系数进行计算,计算公式为:
Imem_top=(mem_top1*Q1+mem_top2*Q2+……+mem_topn*Qn)
/(Q1+Q2+……+Qn)(2);
式(2)中,mem_top1、mem_top2、…、mem_topn为日业务特点时间段内所采集的所有内存利用率前n项最大数据值,Q1、Q2、…、Qn为各个日业务特点时间段所对应的权重系数。
8.根据权利要求6所述的一种结合业务特性的智能云资源弹性伸缩系统,其特征在于:
所述采集分析模块在得到近期性能数据的分析结果时,还根据该分析结果判断未来近期内的业务特性发展趋势;
所述判断处理模块还根据近期性能数据的分析结果和未来近期内的业务特性发展趋势,判断在下一个策略预警周期内虚拟机的性能数据是否满足所述扩容策略或所述收缩策略的策略阀值;若是,在下一个策略预警周期的初始阶段确定CPU和内存的伸缩量,生成并下发弹性伸缩命令。
9.根据权利要求8所述的一种结合业务特性的智能云资源弹性伸缩系统,其特征在于:
所述确定CPU和内存的伸缩量的过程为:
判断近期性能数据的分析结果中CPU的数量和内存大小所处的档位;
绘制日均CPU使用率Icpu_avg、日均CPU忙时使用率Icpu_top、日均内存使用率Imem_avg和日均内存忙时使用率Imem_top的曲线图,计算得到各个曲线的中线角度值作为趋势角度值;
根据所述档位和趋势角度值匹配对应的伸缩量配置量,该伸缩量配置量根据机器学习自动生成推荐配置。
10.根据权利要求6所述的一种结合业务特性的智能云资源弹性伸缩系统,其特征在于:还包括:
请示模块,用于在判断当前虚拟机的性能数据满足所述扩容策略或所述收缩策略的策略阀值时,发起伸缩确认流程请求,同时将伸缩类型、伸缩量、预警信息及建议派发到虚拟机的用户,当虚拟机的用户回复确认时,则由资源管理员审核,审核通过后下发弹性伸缩命令;
所述伸缩执行模块在所述云管理平台若收到所述减容命令时,若减容命令中有包括内存减容命令,则触发减容确认请求给虚拟机的用户,当虚拟机的用户回复确认时,提醒用户保存相关数据并关掉虚拟机正在运行的业务,并在业务关掉后对虚拟机执行减容命令,并在减容结束后提醒用户可以继续之前的业务;或者是:在云管理平台若收到所述减容命令时,若减容命令中有包括内存减容命令,则先通知用户准备减容操作,然后对虚拟机内存中的数据进行镜像克隆并保存在内存之外,关掉虚拟机正在执行的业务,对虚拟机执行减容命令,并在减容结束后将镜像克隆的数据移至内存中,打开之前的业务继续运行,再通知用户减容操作完成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211730278.5A CN115981863A (zh) | 2022-12-30 | 2022-12-30 | 一种结合业务特性的智能云资源弹性伸缩方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211730278.5A CN115981863A (zh) | 2022-12-30 | 2022-12-30 | 一种结合业务特性的智能云资源弹性伸缩方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115981863A true CN115981863A (zh) | 2023-04-18 |
Family
ID=85959318
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211730278.5A Pending CN115981863A (zh) | 2022-12-30 | 2022-12-30 | 一种结合业务特性的智能云资源弹性伸缩方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115981863A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116881106A (zh) * | 2023-07-31 | 2023-10-13 | 招商基金管理有限公司 | 业务系统容量运营分析管理方法、装置、存储介质及设备 |
CN117651074A (zh) * | 2023-12-07 | 2024-03-05 | 上海南洋万邦软件技术有限公司 | 云资源的效能评估方法 |
-
2022
- 2022-12-30 CN CN202211730278.5A patent/CN115981863A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116881106A (zh) * | 2023-07-31 | 2023-10-13 | 招商基金管理有限公司 | 业务系统容量运营分析管理方法、装置、存储介质及设备 |
CN116881106B (zh) * | 2023-07-31 | 2024-03-08 | 招商基金管理有限公司 | 业务系统容量运营分析管理方法、装置、存储介质及设备 |
CN117651074A (zh) * | 2023-12-07 | 2024-03-05 | 上海南洋万邦软件技术有限公司 | 云资源的效能评估方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115981863A (zh) | 一种结合业务特性的智能云资源弹性伸缩方法和系统 | |
CN104317658B (zh) | 一种基于MapReduce的负载自适应任务调度方法 | |
CN110532078A (zh) | 一种边缘计算调度优化方法及系统 | |
CN110287029A (zh) | 一种基于kubernetes容器资源动态调整的方法 | |
CN105049268A (zh) | 分布式计算资源分配系统和任务处理方法 | |
CN111459628A (zh) | 基于改进量子蚁群算法的Spark平台任务调度方法 | |
TW202046682A (zh) | 雲端資源管理系統、雲端資源管理方法以及非暫態電腦可讀取記錄媒體 | |
CN104679595B (zh) | 一种面向应用的IaaS层动态资源分配方法 | |
CN103152393A (zh) | 一种云计算的计费方法和计费系统 | |
EP3537281B1 (en) | Storage controller and io request processing method | |
CN112685153A (zh) | 微服务调度方法、装置以及电子设备 | |
CN111209077A (zh) | 深度学习框架设计方法 | |
CN102707995A (zh) | 基于云计算环境的业务调度的方法及装置 | |
CN103902357A (zh) | 应用程序管理系统及方法 | |
CN103699433A (zh) | 一种于Hadoop平台中动态调整任务数目的方法及系统 | |
CN106209967A (zh) | 一种视频监控云资源预测方法及系统 | |
CN110149377A (zh) | 一种视频服务节点资源分配方法、系统、装置及存储介质 | |
CN112084016B (zh) | 一种基于flink的流计算性能优化系统及方法 | |
CN114327811A (zh) | 一种任务调度方法、装置、设备及可读存储介质 | |
CN115080341A (zh) | 计算集群及其数据采集方法、设备及存储介质 | |
CN108920098A (zh) | 一种存储管理系统收集信息的方法、系统及设备 | |
CN109495595A (zh) | Ip地址分配方法、装置、通信系统及存储介质 | |
CN116302451A (zh) | 一种云计算数据中心离线节能调度的方法及系统 | |
TWM583564U (zh) | 雲端資源管理系統 | |
CN112052087B (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 |