资源组内应用实例的调整方法、装置、存储介质和处理器与流程

文档序号:24813920发布日期:2021-04-27 13:31阅读:60来源:国知局
资源组内应用实例的调整方法、装置、存储介质和处理器与流程

1.本发明涉及计算机领域,具体而言,涉及一种资源组内应用实例的调整方法、装置、存储介质和处理器。


背景技术:

2.快速,灵活的扩展性是云计算资源的重要特点与优势,使得用户可以真正程度上实现按需使用。但是,一直以来,如何对云计算资源的调整过程进行指导,是一项对用户具有挑战的事情。
3.在传统的扩缩容方式中,用户的关注点主要分为两个方面:1.什么时候调整;2.如何调整。而其中,最受关注的问题是如何动态扩展云资源。因此通常用户会对云资源指标进行监控,设置当指标值达到某一阈值条件时则执行相应事先定义好的伸缩规则。但是,这样的做法存在以下问题:
4.1.用户难以确定合适的伸缩规则。伸缩规则过于保守,调整过程会增长;伸缩规则过于激进,调整过程会不满足期望。
5.2.对调整过程缺乏控制,调整精度低。伸缩活动在扩缩容发生期间,由于资源规模变化,新建资源预热等原因,将使得云资源的监控历史数据发生较大的抖动,如果不对该抖动进行处理,会导致扩缩容过程行为异常,扩容结果与期望差别大。
6.3.震荡问题。用户可能由于不合适的扩容和缩容配置导致扩容和缩容过程来回震荡。
7.针对上述云计算资源的扩缩容过程可靠性差的问题,目前尚未提出有效的解决方案。


技术实现要素:

8.本发明实施例提供了一种资源组内应用实例的调整方法、装置、存储介质和处理器,以至少解决云计算资源的扩缩容过程可靠性差的技术问题。
9.根据本发明实施例的一个方面,提供了一种资源组内应用实例的调整方法,包括:获取监控历史数据,其中,所述监控历史数据包括以下至少之一:资源组内应用实例的历史上报数据,结束预热状态的扩容实例的历史上报数据;将所述监控历史数据与预先设定的目标值进行对比,得到对比结果;根据所述对比结果调整所述资源组内应用实例的数量。
10.根据本发明实施例的另一方面,还提供了一种资源组内应用实例的调整装置,包括:获取单元,用于获取监控历史数据,其中,所述监控历史数据包括以下至少之一:资源组内应用实例的历史上报数据,结束预热状态的扩容实例的历史上报数据;对比单元,用于将所述监控历史数据与预先设定的目标值进行对比,得到对比结果;调整单元,用于根据所述对比结果调整所述资源组内应用实例的数量。
11.根据本发明实施例的另一个方面,还提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行上述所述的资源组内
应用实例的调整方法资源组内应用实例的调整方法。
12.根据本发明实施例的又一个方面,还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述所述的资源组内应用实例的调整方法。
13.根据本发明实施例的又一个方面,还提供了一种电子设备,包括:处理器;以及存储器,与所述处理器连接,用于为所述处理器提供处理以下处理步骤的指令:步骤1,获取监控历史数据,其中,所述监控历史数据包括以下至少之一:资源组内应用实例的历史上报数据,结束预热状态的扩容实例的历史上报数据;步骤2,将所述监控历史数据与预先设定的目标值进行对比,得到对比结果;步骤3,根据所述对比结果调整所述资源组内应用实例的数量。
14.在本发明实施例中,监控历史数据包括资源组内应用实例的历史上报数据,以及结束预热状态的扩容实例的历史上报数据中的至少一种,通过获取监控历史数据,再后将监控历史数据与预先设定的目标值进行对比,得到对比结果;然后再根据对比结果调整资源组内应用实例的数量,达到了对资源组内应用实例的数量进行动态调整的目的,并且根据监控历史数据调整资源组内应用实例的数量,可以使调整资源组内应用实例的数量更加符合实际使用需求,从而实现了提高云计算资源的扩缩容过程可靠性的技术效果,进而解决了云计算资源的扩缩容过程可靠性差的技术问题。
附图说明
15.此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
16.图1示出了一种用于实现资源组内应用实例的调整方法的计算机终端(或移动设备)的硬件结构框图;
17.图2是根据本发明实施例的资源组内应用实例的调整方法的流程图;
18.图3是根据本发明实施例的目标追踪伸缩规则的示意图;
19.图4是根据本发明实施例的二次函数的示意图;
20.图5是根据本发明实施例的资源组内应用实例的调整装置的示意图;
21.图6是根据本发明实施例的一种计算机终端的结构框图。
具体实施方式
22.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
23.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于
清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
24.首先,在对本申请实施例进行描述的过程中出现的部分名词或术语适用于如下解释:
25.目标追踪:指通过一系列内部计算与调整,动态追踪设定的目标值。
26.实例预热:指新扩容的实例的预热过程,预热中的实例不会上报自身监控数据。
27.应用实例:即数据库实例,是一组用于管理数据库文件的内存结构。
28.实施例1
29.根据本发明实施例,还提供了一种资源组内应用实例的调整方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
30.本申请实施例1所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。图1示出了一种用于实现资源组内应用实例的调整方法的计算机终端(或移动设备)的硬件结构框图。如图1所示,计算机终端10(或移动设备10)可以包括一个或多个(图中采用102a、102b,
……
,102n来示出)处理器102(处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输模块106,其中,传输模块106至少包括输入/输出接口(i/o接口)、网络接口。除此以外,还可以包括:通用串行总线(bus)、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
31.应当注意到的是上述一个或多个处理器102和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机终端10(或移动设备)中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
32.存储器104可用于存储应用软件的软件程序以及模块,如本发明实施例中的资源组内应用实例的调整方法对应的程序指令/数据存储装置,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的资源组内应用实例的调整方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
33.传输模块106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输模块106包括一个网络适配器(network interface controller,nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输模块106可以为射频(radio frequency,rf)模块,其用于通过无线方式与互联网进行通讯。
34.显示器可以例如触摸屏式的液晶显示器(lcd),该液晶显示器可使得用户能够与计算机终端10(或移动设备)的用户界面进行交互。
35.此处需要说明的是,在一些可选实施例中,上述图1所示的计算机设备(或移动设备)可以包括硬件元件(包括电路)、软件元件(包括存储在计算机可读介质上的计算机代码)、或硬件元件和软件元件两者的结合。应当指出的是,图1仅为特定具体实例的一个实例,并且旨在示出可存在于上述计算机设备(或移动设备)中的部件的类型。
36.在上述运行环境下,本申请提供了如图2所示的资源组内应用实例的调整方法。图2是根据本发明实施例的资源组内应用实例的调整方法的流程图,如图2所示,该方法包括如下步骤:
37.步骤s202,获取监控历史数据,其中,监控历史数据包括以下至少之一:资源组内应用实例的历史上报数据,结束预热状态的扩容实例的历史上报数据;
38.步骤s204,将监控历史数据与预先设定的目标值进行对比,得到对比结果;
39.步骤s206,根据对比结果调整资源组内应用实例的数量。
40.在本发明实施例中,监控历史数据包括资源组内应用实例的历史上报数据,以及结束预热状态的扩容实例的历史上报数据中的至少一种,通过获取监控历史数据,再后将监控历史数据与预先设定的目标值进行对比,得到对比结果;然后再根据对比结果调整资源组内应用实例的数量,达到了对资源组内应用实例的数量进行动态调整的目的,并且根据监控历史数据调整资源组内应用实例的数量,可以使调整资源组内应用实例的数量更加符合实际使用需求,从而实现了提高云计算资源的扩缩容过程可靠性的技术效果,进而解决了云计算资源的扩缩容过程可靠性差的技术问题。
41.在步骤s202提供的方案中,监控历史数据可以表示应用实例的使用率,例如监控历史数据可以表示cpu平均使用率和网络流量的平均值。
42.需要说明的是,假设用户的业务负载不变,则使用率与应用实例之间成反比。
43.可选地,监控历史数据可以是资源组内的应用实例在监控时间段内上报的数据,其中,监控时间段为一分钟。
44.作为一种可选的实施例,监控历史数据的采集粒度为分钟级别。
45.本发明上述实施例,可以以一分钟作为采样周期,获取一分钟内的监控历史数据。
46.可选地,在获取监控历史数据之前,可以预先配置目标追踪规则,进而在目标追踪规则的触发下,获取监控历史数据。
47.作为一种可选的实施例,在获取监控历史数据之前,还包括:接收预先输入的目标追踪伸缩规则,其中,目标追踪伸缩规则包括:监控历史数据的度量值、目标值和实例预热时长;配置与目标追踪伸缩规则对应扩容监控报警规则和缩容监控报警规则。
48.可选地,目标值可以根据实际使用需求进行修改。
49.可选地,可以针对不同的监控历史数据设定不同的目标值,例如,在监控历史数据用于指示cpu平均使用率的情况下,目标值可以是与cpu平均使用率对应的第一目标值;在监控历史数据用于指示网络流量的平均值的情况下,目标值可以是与网络流量的平均值对应的第二目标值。
50.需要说明的是,目标追踪伸缩规则,用于根据监控历史数据判断增加资源组内应用实例的数量;或者降低资源组内应用实例的数量,因此,目标追踪伸缩规则中可以包括监
控历史数据的度量值和目标值,从而根据监控历史数据的度量值和目标值来判断是否需要增加资源组内应用实例的数量;或者是否需要降低资源组内应用实例的数量;并且在确定需要增加资源组内应用实例的数量的情况下,需要对增加的应用实例进行预热,因此,目标追踪伸缩规则中还可以包括实例预热时长。
51.可选地,可以根据监控历史数据的度量值,配置与目标追踪伸缩规则对应是扩容监控报警规则,还是缩容监控报警规则。
52.需要说明的是,扩容监控报警规则,用于指示增加资源组内应用实例的数量;缩容监控报警规则,用于指示较少资源组内应用实例的数量。
53.本发明上述实施例,在获取监控历史数据之前,可以由用户预先输入目标追踪伸缩规则来设定监控历史数据的度量值,目标值和实例预热时长,进而根据监控历史数据的度量值和目标值,可以判断启动扩容监控报警规则,还是启动缩容监控报警规则,并且在启动缩容监控报警规则的情况下,根据目标追踪伸缩规则中的实例预热时长对增加的资源组内应用实例进行预热。
54.作为一种可选的实施例,获取监控历史数据包括:在扩容监控报警规则或缩容监控报警规则的触发下,获取监控历史数据。
55.本发明上述实施例,在扩容监控报警规则和缩容监控报警规则中的任意一条监控报警规则启动后,可以由启动的监控报警规则,触发对监控历史数据进行获取。
56.在步骤s204提供的方案中,与监控历史数据进行对比的目标值可以是与预先输入的目标追踪伸缩规则中的目标值。
57.需要说明的是,将监控历史数据与目标值进行对比的目的是为了确定目标值附近的一个稳定区间,根据该稳定区间调整资源组内应用实例的数量,能够确保调整过程可以快速进入稳定期。
58.可选地,对比结果用于指示监控历史数据与目标值之间的差距,若该差距较小,则表明监控历史数据实际上是接近目标值的;若该差距较大,则表明监控历史数据与当前的目标之间会发生剧烈变化才能接近目标值。
59.可选地,在监控历史数据高于目标值时,启动扩容监控报警规则,对应用实例进行扩容处理;在监控历史数据低于目标值时,启动缩容监控报警规则,对应用实例进行缩容处理。
60.在步骤s206提供的方案中,若比较结果指示监控历史数据高于目标值,则需要对应用实例进行扩容处理;若比较结果指示监控历史数据低于目标值,则需要对应用实例进行缩容处理。
61.作为一种可选的实施例,根据对比结果调整资源组内应用实例的数量包括:在根据对比结果确定监控历史数据高于目标值时,对应用实例进行扩容处理,并依据监控历史数据与目标值之间的差值确定当前扩容实例的数量。
62.本发明上述实施例,在对比结果指示监控历史数据高于目标值时,确定需要对应用实例进行扩容处理,并计算监控历史数据与目标值之间的差值,然后根据该差值确定对应用实例进行扩容的数量,也即根据该差值确定需要增加的应用实例的数量。
63.需要说明的是,在新增应用实例的过程中,需要先对新增的应用实例进行预热,则需要启动预热的应用实例即为扩容实例,也即,扩容实例是指需要进入预热阶段的扩容实
例。
64.需要说明的是,由于在扩容的过程中,需要对新增加的应用实例进行预热,而处于预热阶段的应用实例却不会上报自身的监控数据,所以依据监控历史数据确定的扩容实例的数量中并未考虑已处于预热阶段的应用实例,因此,在确定扩容实例的数量之前,需要剔除该资源组内已处于预热阶段的应用实例的数量。
65.例如,指定资源组内存在5个已运行的应用实例,和3个处于预热阶段的应用实例,则获取的监控历史数据,即为已运行的5个应用实例对应的监控历史数据,若根据已运行的5个应用实例的监控历史数据确定需要为该指定资源组增加4个应用实例,由于已有3个应用实例处于预热阶段,则需要增加的4个应用实例中应剔除已处于预热阶段的3个应用实例,即该指定资源组的扩容实例的数量应为1个,进而为该指定资源组添加一个新的应用实例,并使新添加的应用实例处于预热阶段。
66.可选地,若需要扩容的资源组内不存在已经处于预热阶段的应用实例,则依据监控历史数据与目标值之间的差值确定扩容实例的数量包括:依据监控历史数据与目标值之间的差值,在第一数值的基础上计算得到扩容比例;根据该扩容比例可以直接确定该资源组内扩容实例的数量。
67.可选地,若需要扩容的资源组内不存在已经处于预热阶段的应用实例,则依据监控历史数据与目标值之间的差值确定扩容实例的数量,需要剔除该资源组中已处于预热阶段的应用实例。
68.作为一种可选的实施例,依据监控历史数据与目标值之间的差值确定扩容实例的数量包括:依据监控历史数据与目标值之间的差值,在第一数值的基础上计算得到扩容比例,并按照扩容比例确定第二数值,其中,第一数值为资源组内未处于预热阶段的应用实例数量;计算第二数值与第三数值的差值,得到扩容实例的数量,其中,第三数值为资源组内处于预热阶段的应用实例数量。
69.本发明上述实施例,在需要对应用实例进行扩容处理的情况下,可以预先确定需要扩容的资源组内未处于预热阶段的应用实例数量,得到第一数值;以及该资源组内处于预热阶段的应用实例数量,得到第三数值,然后依据监控历史数据与目标值之间的差值,在第一数值的基础上计算该资源组内的扩容比例,并根据该扩容比例确定该资源组内的需要增加的应用实例的数量,得到的第二数值;再计算第二数值与第三数值之间的差值,在需要增加的应用实例的数量中剔除该资源组内已处于预热阶段的应用实例的数量,进而可以确定该差值对应数量的应用实例即为扩容实例。
70.可选地,在确定资源组的扩容实例的数量后,可以按照该数量使该资源组内的应用实例处于预热阶段。
71.作为一种可选的实施例,在根据对比结果调整应用实例的数量之后,还包括:将扩容实例加入至资源组;控制扩容实例进入预热阶段,并在预热阶段的实例预热时长结束后上报扩容实例的监控数据,其中,实例预热时长由目标追踪伸缩规则设定。
72.作为另一种可选的实施例,根据对比结果调整应用实例的数量包括:在根据对比结果确定监控历史数据低于目标值时,对应用实例进行缩容处理,并依据监控历史数据与目标值之间的差值确定缩容实例的数量。
73.本发明上述实施例,在对比结果指示监控历史数据低于目标值时,确定需要对应
用实例进行缩容处理,并计算监控历史数据与目标值之间的差值,然后根据该差值确定对应用实例进行缩容的数量,也即根据该差值确定需要减少的应用实例的数量。
74.需要说明的是,资源组中的存在已运行的应用实例,和处于预热阶段的应用实例,在减少应用实例的过程中,需要使部分已运行的应用实例停止运行,并使处于预热阶段的应用实例全部退出预热阶段,则缩容实例即为已运行的应用实例中需要停止运行的应用实例,和处于预热阶段的应用实例。
75.需要说明的是,由于处于预热阶段的应用实例却不会上报自身的监控数据,所以依据监控历史数据确定的缩容实例的数量中并未考虑已处于预热阶段的应用实例,因此,在确定缩容实例的数量之前,需要增加该资源组内已处于预热阶段的应用实例的数量。
76.可选地,在对资源组进行缩容处理的过程中,若直接将资源组内运行的应用实例所容到目标值,则运行的应用实例的数量会发生剧烈变化,会对业务产生剧烈的影响,因此,在对资源组进行缩容处理的过程中,可以将资源组内已运行的应用实例分批释放,降低业务产生的影响。
77.作为一种可选的实施例,依据监控历史数据与目标值之间的差值确定缩容实例的数量包括:依据监控历史数据与目标值之间的差值,确定与目标值对应的目标区间以及在第四数值的基础上计算得到缩容比例,并按照缩容比例确定第五数值,其中,第四数值为资源组内未处于预热阶段的应用实例数量;分批释放第五数值的缩容实例,并在监控历史数据位于目标区间内时,停止释放第五数值中剩余的缩容实例,将第五数值中已释放的缩容实例的数量确定为缩容实例的数量。
78.本发明上述实施例,在需要对应用实例进行缩容处理的情况下,可以预先确定需要缩容的资源组内未处于预热阶段的应用实例数量,得到第四数值,以及与目标值对应的目标区间;然后依据监控历史数据与目标值之间的差值,在第四数值的基础上结合目标值对应的目标区间,计算缩容比例,并根据该缩容比例确定该资源组需要释放的应用实例的数量,得到第五数值;接下来对第五数值的所容实例进行分批释放,并在释放的过程实时监控该资源组的监控历史数据,若分批释放的过程中,监控历史数据位于目标区间内,则停止释放第五数值中剩余的缩容实例,则第五数值中已释放的缩容实例的数量即为实际的缩容实例的数量。
79.本发明还提供了一种优选实施例,该优选实施例提供了一种基于云计算资源的目标追踪扩展策略。
80.本申请提供的目标追踪伸缩规则,旨在从用户的角度重新定义了云资源的动态调整过程。在目标追踪伸缩规则中,用户的关注点集中在监控指标的期望值(即监控历史数),为用户隐藏了复杂的动态调整过程,而将最终的目标暴露给用户。目标追踪伸缩规则相比传统的基于监控的动态扩缩容过程,增加了对监控数据的感知能力,对扩缩容过程进行了更加精细的流程控制。
81.本发明提供的目标追踪伸缩规则,主要应用于基于监控的云资源扩缩容过程,具有以下优点:
82.1.用户理解难度低。用户只需要和其期望的目标直接交互,概念上清晰明了。
83.2.扩展过程更加快速,粒度更加精细。目标追踪扩展策略增加了对监控数据的感知能力,根据历史的监控数据值和期望目标值实时计算出所需要的扩缩容实例数,使得使
用尽量少的调整过程达到目标结果。
84.3.对扩容的资源增加了预热时间,我们将该过程作为独立的预热阶段,在该阶段的资源,将不上报其监控数据,也不作为扩缩容过程的基数实例。预热阶段能够有效防止删除或增加过多的实例。
85.4.动态计算的稳定区间。根据资源组整体的监控历史数据计算目标值稳定的区间。
86.需要说明的是,追踪目标值(即目标值),实际上是追踪目标值附近的一个稳定区间,这个稳定各区间的大小对于追踪的结果存在直接的影响。
87.在用户创建或修改追踪目标(即目标值)的情况下,将会根据最近一段时间来判断历史与目标值之间的差距,当差距较小时,表明用户追踪的目标实际上是接近目标值的,那么此时将采取[0.9*target,target]这样的区间;当差距较大时,表明监控历史数据与当前的目标值之间会发生较剧烈变化才能接近目标值,那么可以放大稳定区间,采取[0.7*target,target]这样的区间,以确保能够快速的进入稳定期。
[0088]
图3是根据本发明实施例的目标追踪伸缩规则的示意图,如图3所示,目标追踪伸缩规则主要流程如下:
[0089]
1.创建目标追踪伸缩规则,此时,在云监控中将针对该伸缩组(即资源组)创建两条报警规则,其中一条用于触发扩容报警,另一条用于触发缩容报警。
[0090]
2.当触发报警时,将拉取监控历史数据,将监控历史数据同目标值进行对比,并计算出需要扩容或缩容的应用实例的数量。
[0091]
3.当触发扩容操作时,新扩容的应用实例将首先进入预热阶段。应用实例在预热阶段时,会正常的加入伸缩组(即资源组),但是不会向云监控上报自身的监控数据,同时,也不会作为计算扩缩容应用实例个数的基数。当应用实例的预热阶段结束,该应用实例开始向云监控上报监控数据。
[0092]
4.当触发缩容操作时,首先将进行缩容前置检查。在缩容检查中,将进一步对缩容过程的应用实例个数和频率进行调整。
[0093]
本系统的核心在于通过感知云监控历史数据,对伸缩组(即资源组)调整过程进行精细的控制,下面详细介绍调控过程:
[0094]
1.调整值计算。当用户的业务总量和一定时,得到这样一条简单的公式:当用户的使用率增长a%时,那么应用实例个数相比现在需要减少a%。根据这一关系可以知道,通过获取监控历史数据和目标值的差距,进而可以计算出扩容实例和缩容实例的数量。
[0095]
需要说明的是,使用率是指伸缩组(即资源组)中应用实例整体的使用率。例如,可以通过监控历史数据表示cpu平均使用率和网络平均流量。
[0096]
图4是根据本发明实施例的二次函数的示意图,如图4所示,横坐标表示缩容百分比,纵坐标表示释放应用实例的百分比。
[0097]
可选地,a%表示释放的应用实例的比例,a%可以设置为75%,则在对伸缩组(即资源组)进行扩容时,扩容的比例为75%-80%;在对伸缩组(即资源组)进行缩容时,缩容的比例为70%-75%。
[0098]
可选地,由于缩容将需要释放应用实例,对业务的影响要比增加应用实例严重的多,因此,在缩容时,一方面可以延长缩容的判断时间来确定是否需要进行缩容(例如连续
15分钟的监控历史数据均指示需要对资源组进行缩容);另一方面还可以根据二次函数进行分批释放。
[0099]
例如,假设需要释放10个应用实例,那么第一批可能只会释放0.75*10个应用实例,其中,二次函数的作用是根据监控历史数据与目标值的差距程度来选择第一批释放的应用实例的比例,差距越大,释放比例越大,可以通过更快的速度对资源组内的应用实例数量进行调整,从而应对变化剧烈的情况。
[0100]
2.在计算需要扩容的应用实例个数时,是将当前伸缩组(即资源组)中已有的应用实例个数作为计算基数,但是由于预热阶段的应用实例尚未向云监控上报监控数据,计算得到的扩容比例实际上是基于上报监控历史数据的这些应用实例。因此,预热阶段的应用实例不会作为扩展过程计算的基数。同时,对于扩容过程,计算得到的需扩展的应用实例个数,还需要进一步减去正在预热阶段的应用实例,才真正得到实际需要扩展的应用实例个数。
[0101]
3.缩容前置检查缩容操作相比于扩容操作,对用户的业务具有更加严重的影响,因此,在缩容时,才起了保守的缩容策略。对于前一步计算得到的缩容实例个数,将进一步根据实际的缩容比例,对调整个数进行控制。计算过程为关于释放比例的二次函数,最小值为75%,最大值为100%,并且在区间内呈先逐渐加快的增长趋势。一分钟的采样频率可能使得新的采样数据尚未获取到时再次缩容活动,导致释放过多的应用实例,因此,在缩容操作室我们增加了一定的间隔时间。
[0102]
本发明提供的目标追踪动态调整策略具有以下优点:
[0103]
1.监控历史数据支持1分钟级别的采集精度。
[0104]
2.根据监控历史数据提供可调整的目标值稳定区间。
[0105]
3.目标追踪动态调整策略能够通过一次伸缩活动趋近目标值。
[0106]
4.在缩容过程中,根据缩容比例动态调整应用实例的数量,采用一种保守的缩容策略,防止过多的应用实例被误释放。
[0107]
可选地,对于监控历史数据的采集方式,目前是通过云监控采集伸缩组(即资源组)内的数据。对于这部分数据采集过程,也可以通过用户自行采集监控历史数据,上报给云监控,并创建目标追踪伸缩规则,使得极大的扩展了监控方式。
[0108]
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
[0109]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
[0110]
实施例2
[0111]
根据本发明实施例,还提供了一种用于实施上述资源组内应用实例的调整方法的资源组内应用实例的调整装置,如图5所示,该装置包括:获取单元51,用于获取监控历史数据,其中,所述监控历史数据包括以下至少之一:资源组内应用实例的历史上报数据,结束预热状态的扩容实例的历史上报数据;对比单元53,用于将所述监控历史数据与预先设定的目标值进行对比,得到对比结果;调整单元55,用于根据所述对比结果调整所述资源组内应用实例的数量。
[0112]
此处需要说明的是,上述获取单元51至调整单元55对应于实施例1中的步骤s202至步骤s206,上述单元与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述单元作为装置的一部分可以运行在实施例1提供的计算机终端10中。
[0113]
在本发明实施例中,监控历史数据包括资源组内应用实例的历史上报数据,以及结束预热状态的扩容实例的历史上报数据中的至少一种,通过获取监控历史数据,再后将监控历史数据与预先设定的目标值进行对比,得到对比结果;然后再根据对比结果调整资源组内应用实例的数量,达到了对资源组内应用实例的数量进行动态调整的目的,并且根据监控历史数据调整资源组内应用实例的数量,可以使调整资源组内应用实例的数量更加符合实际使用需求,从而实现了提高云计算资源的扩缩容过程可靠性的技术效果,进而解决了云计算资源的扩缩容过程可靠性差的技术问题。
[0114]
作为一种可选的实施例,该装置还包括:接收单元,用于在获取监控历史数据之前,接收预先输入的目标追踪伸缩规则,其中,所述目标追踪伸缩规则包括:所述监控历史数据的度量值、所述目标值和实例预热时长;配置单元,用于配置与所述目标追踪伸缩规则对应扩容监控报警规则和缩容监控报警规则。
[0115]
作为一种可选的实施例,获取单元包括:获取模块,用于在所述扩容监控报警规则或所述缩容监控报警规则的触发下,获取所述监控历史数据。
[0116]
作为一种可选的实施例,调整单元包括:扩容模块,用于在根据所述对比结果确定所述监控历史数据高于所述目标值时,对所述应用实例进行扩容处理,并依据所述监控历史数据与所述目标值之间的差值确定当前扩容实例的数量。
[0117]
作为一种可选的实施例,扩容模块包括:第一计算模块,用于依据所述监控历史数据与所述目标值之间的差值,在第一数值的基础上计算得到扩容比例,并按照所述扩容比例确定第二数值,其中,所述第一数值为所述资源组内未处于预热阶段的应用实例数量;第二计算模块,用于计算第二数值与第三数值的差值,得到所述扩容实例的数量,其中,所述第三数值为所述资源组内处于所述预热阶段的应用实例数量。
[0118]
作为一种可选的实施例,该装置还包括:添加模块,用于在根据所述对比结果调整所述应用实例的数量之后,将所述扩容实例加入至所述资源组;上报模块,用于控制所述扩容实例进入所述预热阶段,并在所述预热阶段的实例预热时长结束后上报所述扩容实例的监控数据,其中,所述实例预热时长由目标追踪伸缩规则设定。
[0119]
作为一种可选的实施例,调整单元包括:缩容模块,用于在根据所述对比结果确定所述监控历史数据低于所述目标值时,对所述应用实例进行缩容处理,并依据所述监控历史数据与所述目标值之间的差值确定缩容实例的数量。
[0120]
作为一种可选的实施例,缩容模块包括:确定模块,用于依据所述监控历史数据与
所述目标值之间的差值,确定与所述目标值对应的目标区间以及在第四数值的基础上计算得到缩容比例,并按照所述缩容比例确定第五数值,其中,所述第四数值为所述资源组内未处于预热阶段的应用实例数量;释放模块,用于分批释放所述第五数值的缩容实例,并在所述监控历史数据位于所述目标区间内时,停止释放所述第五数值中剩余的缩容实例,将所述第五数值中已释放的缩容实例的数量确定为所述缩容实例的数量。
[0121]
作为一种可选的实施例,监控历史数据的采集粒度为分钟级别。
[0122]
实施例3
[0123]
本发明的实施例可以提供一种计算机终端,该计算机终端可以是计算机终端群中的任意一个计算机终端设备。可选地,在本实施例中,上述计算机终端也可以替换为移动终端等终端设备。
[0124]
可选地,在本实施例中,上述计算机终端可以位于计算机网络的多个网络设备中的至少一个网络设备。
[0125]
在本实施例中,上述计算机终端可以执行资源组内应用实例的调整方法中以下步骤的程序代码:获取监控历史数据,其中,监控历史数据包括以下至少之一:资源组内应用实例的历史上报数据,结束预热状态的扩容实例的历史上报数据;将监控历史数据与预先设定的目标值进行对比,得到对比结果;根据对比结果调整资源组内应用实例的数量。
[0126]
可选地,图6是根据本发明实施例的一种计算机终端的结构框图。如图所示,该计算机终端10可以包括:一个或多个(图中仅示出一个)处理器102、存储器104、以及传输模块106。
[0127]
其中,存储器可用于存储软件程序以及模块,如本发明实施例中的资源组内应用实例的调整方法和装置对应的程序指令/模块,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的资源组内应用实例的调整方法。存储器可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0128]
处理器可以通过传输模块调用存储器存储的信息及应用程序,以执行下述步骤:获取监控历史数据,其中,监控历史数据包括以下至少之一:资源组内应用实例的历史上报数据,结束预热状态的扩容实例的历史上报数据;将监控历史数据与预先设定的目标值进行对比,得到对比结果;根据对比结果调整资源组内应用实例的数量。
[0129]
可选的,上述处理器还可以执行如下步骤的程序代码:接收预先输入的目标追踪伸缩规则,其中,目标追踪伸缩规则包括:监控历史数据的度量值、目标值和实例预热时长;配置与目标追踪伸缩规则对应扩容监控报警规则和缩容监控报警规则。
[0130]
可选的,上述处理器还可以执行如下步骤的程序代码:在扩容监控报警规则或缩容监控报警规则的触发下,获取监控历史数据。
[0131]
可选的,上述处理器还可以执行如下步骤的程序代码:在根据对比结果确定监控历史数据高于目标值时,对应用实例进行扩容处理,并依据监控历史数据与目标值之间的差值确定当前扩容实例的数量。
[0132]
可选的,上述处理器还可以执行如下步骤的程序代码:依据监控历史数据与目标
值之间的差值,在第一数值的基础上计算得到扩容比例,并按照扩容比例确定第二数值,其中,第一数值为资源组内未处于预热阶段的应用实例数量;计算第二数值与第三数值的差值,得到扩容实例的数量,其中,第三数值为资源组内处于预热阶段的应用实例数量。
[0133]
可选的,上述处理器还可以执行如下步骤的程序代码:将扩容实例加入至资源组;控制扩容实例进入预热阶段,并在预热阶段的实例预热时长结束后上报扩容实例的监控数据,其中,实例预热时长由目标追踪伸缩规则设定。
[0134]
可选的,上述处理器还可以执行如下步骤的程序代码:在根据对比结果确定监控历史数据低于目标值时,对应用实例进行缩容处理,并依据监控历史数据与目标值之间的差值确定缩容实例的数量。
[0135]
可选的,上述处理器还可以执行如下步骤的程序代码:依据监控历史数据与目标值之间的差值,确定与目标值对应的目标区间以及在第四数值的基础上计算得到缩容比例,并按照缩容比例确定第五数值,其中,第四数值为资源组内未处于预热阶段的应用实例数量;分批释放第五数值的缩容实例,并在监控历史数据位于目标区间内时,停止释放第五数值中剩余的缩容实例,将第五数值中已释放的缩容实例的数量确定为缩容实例的数量。
[0136]
可选的,监控历史数据的采集粒度为分钟级别。
[0137]
采用本发明实施例,提供了一种资源组内应用实例的调整方案,在该方案中,监控历史数据包括资源组内应用实例的历史上报数据,以及结束预热状态的扩容实例的历史上报数据中的至少一种,通过获取监控历史数据,再后将监控历史数据与预先设定的目标值进行对比,得到对比结果;然后再根据对比结果调整资源组内应用实例的数量,达到了对资源组内应用实例的数量进行动态调整的目的,并且根据监控历史数据调整资源组内应用实例的数量,可以使调整资源组内应用实例的数量更加符合实际使用需求,从而实现了提高云计算资源的扩缩容过程可靠性的技术效果,进而解决了云计算资源的扩缩容过程可靠性差的技术问题。
[0138]
本领域普通技术人员可以理解,图6所示的结构仅为示意,计算机终端也可以是智能手机(如android手机、ios手机等)、平板电脑、掌声电脑以及移动互联网设备(mobile internet devices,mid)、pad等终端设备。图6其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图6中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图6所示不同的配置。
[0139]
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(read-only memory,rom)、随机存取器(random access memory,ram)、磁盘或光盘等。
[0140]
实施例4
[0141]
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例1所提供的资源组内应用实例的调整方法所执行的程序代码。
[0142]
可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
[0143]
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:获取监控历史数据,其中,监控历史数据包括以下至少之一:资源组内应用实例的历史上报数
据,结束预热状态的扩容实例的历史上报数据;将监控历史数据与预先设定的目标值进行对比,得到对比结果;根据对比结果调整资源组内应用实例的数量。
[0144]
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:接收预先输入的目标追踪伸缩规则,其中,目标追踪伸缩规则包括:监控历史数据的度量值、目标值和实例预热时长;配置与目标追踪伸缩规则对应扩容监控报警规则和缩容监控报警规则。
[0145]
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:在扩容监控报警规则或缩容监控报警规则的触发下,获取监控历史数据。
[0146]
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:在根据对比结果确定监控历史数据高于目标值时,对应用实例进行扩容处理,并依据监控历史数据与目标值之间的差值确定当前扩容实例的数量。
[0147]
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:依据监控历史数据与目标值之间的差值,在第一数值的基础上计算得到扩容比例,并按照扩容比例确定第二数值,其中,第一数值为资源组内未处于预热阶段的应用实例数量;计算第二数值与第三数值的差值,得到扩容实例的数量,其中,第三数值为资源组内处于预热阶段的应用实例数量。
[0148]
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:将扩容实例加入至资源组;控制扩容实例进入预热阶段,并在预热阶段的实例预热时长结束后上报扩容实例的监控数据,其中,实例预热时长由目标追踪伸缩规则设定。
[0149]
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:在根据对比结果确定监控历史数据低于目标值时,对应用实例进行缩容处理,并依据监控历史数据与目标值之间的差值确定缩容实例的数量。
[0150]
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:依据监控历史数据与目标值之间的差值,确定与目标值对应的目标区间以及在第四数值的基础上计算得到缩容比例,并按照缩容比例确定第五数值,其中,第四数值为资源组内未处于预热阶段的应用实例数量;分批释放第五数值的缩容实例,并在监控历史数据位于目标区间内时,停止释放第五数值中剩余的缩容实例,将第五数值中已释放的缩容实例的数量确定为缩容实例的数量。
[0151]
可选地,监控历史数据的采集粒度为分钟级别。
[0152]
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0153]
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0154]
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
[0155]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显
示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0156]
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0157]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
[0158]
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1