CN116302329A - 实例处理方法、电子设备及存储介质 - Google Patents
实例处理方法、电子设备及存储介质 Download PDFInfo
- Publication number
- CN116302329A CN116302329A CN202310156804.XA CN202310156804A CN116302329A CN 116302329 A CN116302329 A CN 116302329A CN 202310156804 A CN202310156804 A CN 202310156804A CN 116302329 A CN116302329 A CN 116302329A
- Authority
- CN
- China
- Prior art keywords
- instance
- equipment
- group
- equipment group
- period
- 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
-
- 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/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Selective Calling Equipment (AREA)
Abstract
本申请实施例提供一种实例处理方法、电子设备及存储介质。在本申请实施例中,以设备组粒度为实例分配设备,新增的设备组能够有效应对实例的流量数据突然增加的情况,在为实例新增设备组后,能够显著地降低原有的运行实例的设备的水位,抗抖动能力较强,保证了实例性能。另外,各个实例运行在一个或多个设备组中的设备上,降低了运维管理难度和运维成本。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种实例处理方法、电子设备及存储介质。
背景技术
实例(Instance)是云服务厂商提供服务的最小单位。实际应用中,云服务厂商提供多种类型的实例,例如,负载均衡实例、数据库实例和云服务器实例等等。在实例弹性的场景下,可能会出现实例的流量数据突然增加(可以理解为实例水位上涨)的情况,流量数据例如包括但不限于:QPS(Query Per Second,每秒查询率)、CPS(Connection PerSecond,每秒新建连接数)和maxConn(最大连接数)。以运行负载均衡实例为诸如容器、虚拟机或云虚拟主机等各种虚拟网元设备为例,若访问负载均衡实例的流量数据突然增加,这些虚拟网元设备的负载压力也会随之突然增加很多。显然,实例水位过高会导致运行实例的设备水位过高(可以理解为设备的负载压力增加较多),影响实例性能和服务可靠性。
发明内容
本申请的多个方面提供一种实例处理方法、电子设备及存储介质,用以有效解决因实例水位过高导致原有的设备水位过高问题。
本申请实施例提供一种实例处理方法,包括:在至少一个第一设备组上运行目标实例;周期性获取所述目标实例的当前流量数据;判断第一预设时间段内至少一个周期所述目标实例的当前流量数据是否满足实例维度的高实例水位条件,所述实例维度的高实例水位条件是指所述目标实例的当前流量数据大于第一流量数据阈值;若所述第一预设时间段内至少一个周期所述目标实例的当前流量数据满足实例维度的高实例水位条件,则对所述目标实例进行设备组扩容处理。
本申请实施例还提供一种电子设备,包括:存储器和处理器;所述存储器,用于存储计算机程序;所述处理器耦合至所述存储器,用于执行所述计算机程序以用于执行实例处理方法中的步骤。
本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,当所述计算机程序被处理器执行时,致使所述处理器能够实现实例处理方法中的步骤。
在本申请实施例中,以设备组粒度为实例分配设备,新增的设备组能够有效应对实例的流量数据突然增加的情况,在为实例新增设备组后,能够显著地降低原有的运行实例的设备的水位,抗抖动能力较强,保证了实例性能。另外,各个实例运行在一个或多个设备组中的设备上,降低了运维管理难度和运维成本。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例提供的示例性的应用场景图;
图2为本申请实施例提供的一种实例处理方法的流程图;
图3为本申请实施例提供的另一种实例处理方法的流程图;
图4为本申请实施例提供的另一种实例处理方法的流程图;
图5为本申请实施例提供的一种实例处理装置的结构示意图;
图6为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请的实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的访问关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,其中A,B可以是单数或者复数。在本申请的文字描述中,字符“/”一般表示前后关联对象是一种“或”的关系。此外,在本申请实施例中,“第一”、“第二”、“第三”、等只是为了区分不同对象的内容而已,并无其它特殊含义。
目前,为应对实例水位过高的情况,基于设备粒度为实例增加一个或多个设备。然而,基于设备粒度为实例增加的一个或多个设备不能有效解决因实例水位过高导致原有的设备水位过高问题。另外,不同实例需要新增的设备数量也是不同的,长久下来每个实例拥有的设备数量不一样,造成运维管理的困难。
为此,本申请实施例提供一种实例处理方法、电子设备及存储介质。以设备组粒度为实例分配设备,新增的设备组能够有效应对实例的流量数据突然增加的情况,在为实例新增设备组后,能够显著地降低原有的运行实例的设备的水位,抗抖动能力较强,保证了实例性能。另外,各个实例运行在一个或多个设备组中的设备上,降低了运维管理难度和运维成本。
以下结合附图,详细说明本申请各实施例提供的技术方案。
图1为本申请实施例提供的示例性的应用场景图。参见图1,以设备组粒度为实例分配设备,一个实例可以分配一个或多个设备组,不同的实例可能会分配同一个设备组。设备组中的设备可以为虚拟设备也可以为硬件设备,例如包括但不限于:容器、虚拟机(Virtual Machine,VM)和云服务器。具体举例来说,之前实例1仅仅运行在设备组1和设备组2上,随着时间推移,实例1的水位上涨过多,为实例1新增设备组4,这样,实例1分配了3个设备组。之前实例2仅仅运行在设备组1上,随着时间推移,实例2的水位上涨过多,为实例2新增设备组3,这样,实例2分配了2个设备组。之前实例3仅仅运行在设备组2上,随着时间推移,实例3的水位基本未改变,无需为实例3新增新的设备组。
图2为本申请实施例提供的一种实例处理方法的流程图。该方法可由实例处理装置执行,该装置可由软件和/或硬件组成,并一般可以配置在电子设备中。参见图2,该方法可以包括以下步骤:
201、在至少一个第一设备组上运行目标实例。
202、周期性获取目标实例的当前流量数据。
203、判断第一预设时间段内至少一个周期目标实例的当前流量数据是否满足实例维度的高实例水位条件。若判断结果为是,执行步骤204。
204、对目标实例进行设备组扩容处理。
在本实施例中,目标实例可以是各种类型的实例,例如包括但不限于:负载均衡实例、数据库实例和云服务器实例等等。以设备组粒度为目标实例分配一个或多个设备组,目标实例运行在所分配的一个或多个设备组上。为了便于理解和区分,将目标实例所运行的设备组称作为第一设备组。实际应用中,随机地从多个设备组中选择一个或多个第一设备组。进一步可选的,为了更好地保证实例性能,可以根据至少一个设备组的当前运行状态数据,确定至少一个设备组的当前负载等级;根据当前负载等级从低到高的顺序,从所述至少一个设备组中选择至少一个第一设备组。
实际应用中,设备组的当前运行状态数据可以包括设备组中各个设备的当前运行状态数据,设备的当前运行状态数据可以包括一种或多种维度的子运行状态数据。子运行状态数据例如包括但不限于:CPU(Central Processing Unit,中央处理器)利用率、GPU(Graphics Processing Unit,图形处理器)利用率和内存利用率等等。
在本实施例中,设备组的当前负载等级可以由设备组中各个设备的当前负载等级决定,若设备组中各个设备的当前负载等级相同,设备组的当前负载等级为相同的负载等级。若设备组中各个设备的当前负载等级不同,统计各个当前负载等级的数量,将数量最多的当前负载等级作为设备组的负载等级。或者,若设备组中各个设备的当前负载等级不同,将最高的当前负载等级作为设备组的负载等级,或者,若设备组中各个设备的当前负载等级不同,对各个设备的当前负载等级进行加权求和,得到设备组的负载等级。当然,设备组的当前负载等级由设备组中各个设备的当前负载等级决定的具体实现方式不做限制。例如,设备组包括5个设备,其中,第一负载等级的设备有3个,第二负载等级的设备有2个,此时,设备组的负载等级可以为第一负载等级。
在本实施例中,可以基于设备的一种维度的子运行状态数据评估设备的一种当前负载等级,根据设备的至少一个维度的当前负载等级评估设备整体的当前负载等级。例如,若设备的各个维度的当前负载等级相同,设备整体的当前负载等级为相同的负载等级。若设备的各个维度的当前负载等级不同,将最关注的子运行状态数据的当前负载等级作为设备整体的负载等级。或者,若设备的各个维度的当前负载等级不同,统计各个当前负载等级的数量,将数量最多的当前负载等级作为设备整体的负载等级。或者,若设备的各个维度的当前负载等级不同,将最高的当前负载等级作为设备整体的当前负载等级,或者,若设备的各个维度的当前负载等级不同,对设备的各个维度的当前负载等级进行加权求和,得到设备整体的负载等级。当然,对根据设备的至少一个维度的当前负载等级评估设备整体的当前负载等级的具体实现方式不做限制。例如,设备包括5个维度的当前负载等级,其中,第一负载等级的维度有3个,第二负载等级的维度有2个,此时,设备的负载等级可以为第一负载等级。在本实施例中,在基于设备的一种维度的子运行状态数据评估设备的一种当前负载等级。针对每个子运行状态数据,设置资源利用率上限值和资源利用率下限值,资源利用率上限值大于资源利用率下限值;若子运行状态数据大于资源利用率上限值,设备在该维度的负载等级为第一负载等级;若子运行状态数据大于或等于资源利用率下限值,子运行状态数据小于或等于资源利用率上限值,设备在该维度的负载等级为第二负载等级;若子运行状态数据小于资源利用率下限值,设备在该维度的负载等级为第三负载等级;按照负载压力从大到小的排序,依次为第一负载等级、第二负载等级和第三负载等级。例如,设备的当前CPU利用率大于CPU利用率上限值,设备在CPU维度的负载等级为第一负载等级;设备的当前CPU利用率小于或等于CPU利用率上限值,且设备的当前CPU利用率大于或等于CPU利用率下限值,设备在CPU维度的负载等级为第二负载等级;设备的当前CPU利用率小于CPU利用率下限值,设备在CPU维度的负载等级为第三负载等级。例如,设备的当前内存利用率大于内存利用率上限值,设备在内存维度的负载等级为第一负载等级;设备的当前内存利用率小于或等于内存利用率上限值,且设备的当前内存利用率大于或等于内存利用率下限值,设备在内存维度的负载等级为第二负载等级;设备的当前内存利用率小于内存利用率下限值,设备在内存维度的负载等级为第三负载等级。
在本实施例中,根据当前负载等级从低到高的顺序,从所述至少一个设备组中选择至少一个第一设备组,可以保证选择出负载压力较轻的至少一个第一设备组。
进一步可选的,为了保证更好地选择出负载压力较轻的至少一个第一设备组,在根据当前负载等级从低到高的顺序,从所述至少一个设备组中选择至少一个第一设备组时,可以根据所述至少一个设备组的当前负载等级,确定所述至少一个设备组中是否存在当前负载等级满足低负载条件的至少一个候选设备组;若存在当前负载等级满足低负载条件的至少一个候选设备组,则根据当前负载等级从低到高的顺序,从所述至少一个候选设备组中选择所述至少一个第一设备组。
具体而言,先从至少一个设备组筛选出当前负载等级满足低负载条件的至少一个候选设备组,再从当前负载等级满足低负载条件的至少一个候选设备组筛选出至少一个第一设备组。
实际应用中,低负载条件与高负载条件灵活设置,设备组满足低负载条件,说明设备组的负载压力较轻,设备组满足高负载条件,说明设备组的负载压力较重。例如,按照负载压力从大到小的排序,依次为第一负载等级、第二负载等级和第三负载等级。若设备组的当前负载等级大于或等于第二负载等级,可以认为设备组满足高负载条件;若设备组的当前负载等级小于等于第二负载等级,可以认为设备组满足低负载条件。又例如,若设备组的当前负载等级等于第一负载等级,可以认为设备组满足高负载条件;若设备组的当前负载等级等于第三负载等级,可以认为设备组满足低负载条件。又例如,若设备组的当前负载等级等于第一负载等级,可以认为设备组满足高负载条件;若设备组的当前负载等级小于或等于第二负载等级,可以认为设备组满足低负载条件。
在本实施例中,在选择运行目标实例的至少一个第一设备组后,在至少一个第一设备组上运行目标实例。另外,周期性获取目标实例的当前流量数据,当前流量数据例如包括但不限于:QPS、CPS和maxConn。实际应用中,一个周期可以是灵活设置,例如为1毫秒、1秒、1分钟等等。针对第一预设时间段内的每个周期,评估该周期的目标实例的当前流量数据是否满足实例维度的高实例水位条件。第一预设时间段按需灵活设置,例如为最近1秒钟、最近1分钟或最近5分钟等等。
在本实施例中,实例维度的高实例水位条件是指目标实例的当前流量数据大于第一流量数据阈值,这种情况下,目标实例的实例水位较高。
若当前流量数据包括诸如QPS、CPS和maxConn中一个流量数据,相应的,第一流量数据阈值的数量为1个。若目标实例的当前流量数据大于对应的第一流量数据阈值,则目标实例的当前流量数据满足实例维度的高实例水位条件,需要对目标实例进行设备组扩容处理;若目标实例的当前流量数据小于或等于对应的第一流量数据阈值,则目标实例的当前流量数据不满足实例维度的高实例水位条件,可以无需对目标实例进行设备组扩容处理。
若当前流量数据包括诸如QPS、CPS和maxConn中多种流量数据,相应的,第一流量数据阈值的数量为多个,第一流量数据阈值例如包括但不限于:QPS阈值、CPS阈值和maxConn阈值。在目标实例的当前流量数据包括多种流量数据的情况下,针对每种流量数据,若该种流量数据大于对应的第一流量数据阈值,则该种流量数据满足实例维度的高实例水位条件;该种流量数据小于或等于对应的第一流量数据阈值,则该种流量数据不满足实例维度的高实例水位条件。若目标实例的多种流量数据中有一个或多个流量数据满足实例维度的高实例水位条件,便需要对目标实例进行设备组扩容处理。若目标实例的多种流量数据中没有一个流量数据满足实例维度的高实例水位条件,可以无需对目标实例进行设备组扩容处理。
在本实施例中,在对目标实例进行设备组扩容处理时,以设备组粒度为目标实例新增新的一个或多个设备组,这样,运行目标实例的设备组增多,新增新的一个或多个设备组可以分摊原有的运行实例的设备的水位,进而能够显著地降低原有的运行实例的设备的水位,抗抖动能力较强。新增的设备组可以参照运行目标实例的第一设备组的选择方式选择得到,对此不再赘述。
在一些可选的实施例中,在所述至少一个第一设备组上运行目标实例之后,还可以判断所述至少一个第一设备组上是否出现故障实例;若存在出现所述故障实例的第一设备组,则将所述故障实例迁移至未运行实例的沙箱设备组上。
具体而言,第一设备组除了运行的实例数量可能有多个,故障实例会影响与故障实例运行于相同第一设备组的其他实例的性能。于是,为了减少故障实例对其他实例的性能的影响,可以将故障实例进行迁移至沙箱设备组上,沙箱设备组是指尚未分配给任何实例的设备组,在故障实例迁移至沙箱设备组后,仅仅有故障实例运行在沙箱设备组上。
本实施例提供的技术方案,在确定实例的水位较高时,以设备组粒度为实例分配设备,新增的设备组能够有效应对实例的流量数据突然增加的情况,在为实例新增设备组后,能够显著地降低原有的运行实例的设备的水位,抗抖动能力较强,保证了实例性能。另外,各个实例运行在一个或多个设备组中的设备上,降低了运维管理难度和运维成本。
实际应用中,随着时间推移,实例水位会上涨,设备组的水位(可以理解设备组的负载压力)也会上涨,可以综合实例水位和设备组的水位判断实例是否需要进行设备组扩容处理。为此,本申请还提供一种实例处理方法。
图3为本申请实施例提供的另一种实例处理方法的流程图。该方法可由实例处理装置执行,该装置可由软件和/或硬件组成,并一般可以配置在电子设备中。参见图3,该方法可以包括以下步骤:
301、在至少一个第一设备组上运行目标实例,执行步骤302和304。
302、周期性获取目标实例的当前流量数据。
303、判断第一预设时间段内至少一个周期目标实例的当前流量数据是否满足实例维度的高实例水位条件,实例维度的高实例水位条件是指目标实例的当前流量数据大于第一流量数据阈值,若判断结果为是,执行步骤306;
304、周期性获取至少一个第一设备组的当前负载等级。
305、判断第二预设时间段内至少一个周期至少一个第一设备组中是否出现当前负载等级满足高负载条件的第一设备组,若判断结果为是,执行步骤306。
306、对目标实例进行设备组扩容处理。
关于步骤301、步骤302、骤303、步骤306的实现方式可以参见前述实施例的相关介绍,在此不再赘述。另外,对步骤302和步骤304的执行顺序不做限制,可以同步或异步执行。
在本实施例中,既从实例水位维度评估目标实例是否需要设备组扩容处理,又从设备组水位维度评估目标实例是否需要设备组扩容处理。周期性获取至少一个第一设备组的当前负载等级,实际应用中,一个周期可以是灵活设置,例如为1毫秒、1秒、1分钟等等。针对第二预设时间段内的每个周期,判断至少一个第一设备组中是否出现当前负载等级满足高负载条件的第一设备组。若出现当前负载等级满足高负载条件的第一设备组,说明需要对目标实例进行设备组扩容处理。第二预设时间段按需灵活设置,例如为最近1秒钟、最近1分钟或最近5分钟等等。
在本实施例中,若第一预设时间段内至少一个周期目标实例的当前流量数据满足实例维度的高实例水位条件,或者,若第二预设时间段内出现当前负载等级满足高负载条件的第一设备组,都需要对目标实例进行设备组扩容处理。若第一预设时间段内不存在至少一个周期目标实例的当前流量数据满足实例维度的高实例水位条件以及第二预设时间段内未出现当前负载等级满足高负载条件的第一设备组,可以无需对目标实例进行设备组扩容处理。
本实施例提供的技术方案,在确定实例的水位或设备组的水位较高时,以设备组粒度为实例分配设备,新增的设备组能够有效应对实例的流量数据突然增加或原有的运行实例的设备的水位过高的情况,在为实例新增设备组后,能够显著地降低原有的运行实例的设备的水位,抗抖动能力较强,保证了实例性能。另外,各个实例运行在一个或多个设备组中的设备上,降低了运维管理难度和运维成本。
图4为本申请实施例提供的另一种实例处理方法的流程图。该方法可由实例处理装置执行,该装置可由软件和/或硬件组成,并一般可以配置在电子设备中。参见图4,该方法可以包括以下步骤:
401、在至少一个第一设备组上运行目标实例,执行步骤402和404。
402、周期性获取目标实例的当前流量数据。
403、判断第一预设时间段内至少一个周期目标实例的当前流量数据是否满足实例维度的高实例水位条件,实例维度的高实例水位条件是指目标实例的当前流量数据大于第一流量数据阈值,若判断结果为是,执行步骤406;
404、周期性获取至少一个第一设备组的当前负载等级,执行步骤405和407。
405、判断第二预设时间段内至少一个周期至少一个第一设备组中是否出现当前负载等级满足高负载条件的第一设备组,若判断结果为是,执行步骤406或执行步骤409。
406、对目标实例进行设备组扩容处理。
407、判断第二预设时间段内至少一个周期当前负载等级满足低负载条件的第一设备组的数量是否大于或等于预设数量;若判断结果为是,执行步骤408。
408、对所述目标实例进行设备组缩容处理。
409、从除所述至少一个第一设备组之外的至少一个设备组中选择当前负载等级满足低负载条件的至少一个第二设备组。
410、将满足高负载条件的第一设备组上运行的实例迁移至所述至少一个第二设备组。
关于步骤401至406的实现方式可以参加前述实施例的相关介绍,在此不再赘述。
在本实施例中,为了提高设备组的资源利用率,还可以对目标实例进行设备组缩容处理,也即减少运行目标实例的设备组的数量,设备组所需减少的数量可以按需灵活设置,例如为1个、2个或3个等等。
在本实施例中,周期性获取至少一个第一设备组的当前负载等级。针对第二预设时间段内的每个周期,还可以判断第二预设时间段内至少一个周期当前负载等级满足低负载条件的第一设备组的数量是否大于或等于预设数量。其中,预设数量按需灵活设置,至少一个周期的数量不做限制,例如为1个、2个或3个周期。若所述第二预设时间段内至少一个周期当前负载等级满足低负载条件的第一设备组的数量大于或等于预设数量,说明较多的第一设备组的资源利用率不高,可以对所述目标实例进行设备组缩容处理。若所述第二预设时间段内至少一个周期当前负载等级满足低负载条件的第一设备组的数量小于预设数量,说明较多的第一设备组的资源利用率较高,无需对所述目标实例进行设备组缩容处理。
实际应用中,设备组的水位可能较低,但是实例的水位较高,假如对实例进行设备组缩容处理,会影响实例性能。于是,进一步可选的,为了保证实例性能,若所述第二预设时间段内至少一个周期当前负载等级满足低负载条件的第一设备组的数量大于或等于预设数量,则获取所述第二预设时间段内至少一个周期当前负载等级满足低负载条件的第一设备组的聚合流量特征,每个周期所述第一设备组的聚合流量特征由每个周期所述第一设备组所运行的至少一个实例的当前流量数据聚合得到;若所述第二预设时间段内至少一个周期当前负载等级满足低负载条件的第一设备组符合设备组维度的低实例水位条件,所述设备组维度的低实例水位条件是指所述第一设备组的聚合流量特征小于第二流量数据阈值,则对所述目标实例进行设备组缩容处理。
若所述第二预设时间段内至少一个周期当前负载等级满足低负载条件的第一设备组符合设备组维度的高实例水位条件,所述设备组维度的高实例水位条件是指所述第一设备组的聚合流量特征大于或等于第三流量数据阈值,则对所述第三流量数据阈值进行增大处理。
在本实施例中,第二流量数据阈值小于第三流量数据阈值,第二流量数据阈值和第三流量数据阈值按需灵活设置。
在本实施例中,在第二预设时间段内若干个周期内当前负载等级满足低负载条件的第一设备组的数量较多时,还可以判断第二预设时间段内至少一个周期当前负载等级满足低负载条件的第一设备组是符合设备组维度的低实例水位条件还是符合设备组维度的高实例水位条件。第一设备组符合设备组维度的低实例水位条件,说明第一设备组的实例水位较低,第一设备组符合设备组维度的高实例水位条件,说明第一设备组的实例水位较高。
具体而言,对当前负载等级满足低负载条件的第一设备组,对每个周期第一设备组所运行的至少一个实例的当前流量数据进行聚合处理,得到每个周期第一设备组的聚合流量特征。例如,当前流量数据为QPS,在每个周期,对第一设备组所运行的全部实例的QPS进行诸如累加、求均值或加权求和等各种运算,得到该周期第一设备组的聚合流量特征。又例如,当前流量数据为CPS,在每个周期,对第一设备组所运行的全部实例的CPS进行诸如累加、求均值或加权求和等各种运算,得到该周期第一设备组的聚合流量特征。又例如,当前流量数据为maxConn,在每个周期,对第一设备组所运行的全部实例的maxConn进行诸如累加、求均值或加权求和等各种运算,得到该周期第一设备组的聚合流量特征。
若当前流量数据包括诸如QPS、CPS和maxConn中一个流量数据,相应的,第二流量数据阈值和第三流量数据阈值的数量为1个。针对每个周期,若当前负载等级满足低负载条件的第一设备组的聚合流量特征小于第二流量数据阈值,则对所述目标实例进行设备组缩容处理。若当前负载等级满足低负载条件的第一设备组的聚合流量特征大于第三流量数据阈值,则增大第三流量数据阈值。
若当前流量数据包括诸如QPS、CPS和maxConn中多个流量数据,相应的,第一设备组的聚合流量特征为多个,第二流量数据阈值和第三流量数据阈值的数量为多个。针对每个周期,若当前负载等级满足低负载条件的第一设备组的有一个或多个聚合流量特征小于对应的第二流量数据阈值,则对所述目标实例进行设备组缩容处理。若当前负载等级满足低负载条件的第一设备组的有一个或多个聚合流量特征大于对应的第三流量数据阈值,则增大对应的第三流量数据阈值。
进一步可选的,参见图4,若第二预设时间段内至少一个周期出现当前负载等级满足高负载条件的第一设备组,除了可以执行步骤406对目标实例进行设备组扩容处理,还可以执行步骤409将实例迁移至其他设备组上。当然,进行设备组扩容处理和将实例迁移至其他设备组可以选择其中一个执行,对此不做限制。
具体而言,若第二预设时间段内至少一个周期出现当前负载等级满足高负载条件的第一设备组,则从除所述至少一个第一设备组之外的至少一个设备组中选择当前负载等级满足低负载条件的至少一个第二设备组;将满足高负载条件的第一设备组上运行的实例迁移至所述至少一个第二设备组。
可以理解的是,由于将负载压力较大的第一设备组的实例迁移至负载压力较小的第二设备组,能够减轻第一设备组的负载压力,进而保证第一设备组上运行的实例的实例性能。
本实施例提供的技术方案,在确定实例的水位或设备组的水位较高时,以设备组粒度为实例分配设备,新增的设备组能够有效应对实例的流量数据突然增加或原有的运行实例的设备的水位过高的情况,在为实例新增设备组后,能够显著地降低原有的运行实例的设备的水位,抗抖动能力较强,保证了实例性能。另外,各个实例运行在一个或多个设备组中的设备上,降低了运维管理难度和运维成本。进一步地,还可以进行设备组缩容处理以提高设备组的资源利用率,甚至还可以将负载压力较大的设备组的实例迁移至负载压力较小的设备组,能够减轻设备组的负载压力,进而保证设备组上运行的实例的实例性能。
图5为本申请实施例提供的一种实例处理装置的结构示意图。如图5所示,该装置可以包括:
运行模块51,用于在至少一个第一设备组上运行目标实例;
获取模块52,用于周期性获取所述目标实例的当前流量数据;
判断模块53,用于判断第一预设时间段内至少一个周期所述目标实例的当前流量数据是否满足实例维度的高实例水位条件,所述实例维度的高实例水位条件是指所述目标实例的当前流量数据大于第一流量数据阈值;
扩容模块54,用于若所述第一预设时间段内至少一个周期所述目标实例的当前流量数据满足实例维度的高实例水位条件,则对所述目标实例进行设备组扩容处理。
进一步可选的,获取模块52,还用于周期性获取所述至少一个第一设备组的当前负载等级;
判断模块53,还用于判断第二预设时间段内至少一个周期所述至少一个第一设备组中是否出现当前负载等级满足高负载条件的第一设备组;
扩容模块54,还用于若所述第二预设时间段内至少一个周期出现当前负载等级满足高负载条件的第一设备组,则对所述目标实例进行设备组扩容处理。
进一步可选的,上述装置还包括:缩容模块,用于若所述第二预设时间段内至少一个周期当前负载等级满足低负载条件的第一设备组的数量大于或等于预设数量,则对所述目标实例进行设备组缩容处理。
进一步可选的,缩容模块,具体用于:若所述第二预设时间段内至少一个周期当前负载等级满足低负载条件的第一设备组的数量大于或等于预设数量,则获取所述第二预设时间段内至少一个周期当前负载等级满足低负载条件的第一设备组的聚合流量特征,每个周期所述第一设备组的聚合流量特征由每个周期所述第一设备组所运行的至少一个实例的当前流量数据聚合得到;若所述第二预设时间段内至少一个周期当前负载等级满足低负载条件的第一设备组符合设备组维度的低实例水位条件,所述设备组维度的低实例水位条件是指所述第一设备组的聚合流量特征小于第二流量数据阈值,则对所述目标实例进行设备组缩容处理。
进一步可选的,缩容模块还用于:若所述第二预设时间段内至少一个周期当前负载等级满足低负载条件的第一设备组符合设备组维度的高实例水位条件,所述设备组维度的高实例水位条件是指所述第一设备组的聚合流量特征大于或等于第三流量数据阈值,则对所述第三流量数据阈值进行增大处理。
进一步可选的,上述装置还包括:选择模块和迁移模块;
选择模块,用于若第二预设时间段内至少一个周期出现当前负载等级满足高负载条件的第一设备组,则从除所述至少一个第一设备组之外的至少一个设备组中选择当前负载等级满足低负载条件的至少一个第二设备组;
迁移模块,用于将满足高负载条件的第一设备组上运行的实例迁移至所述至少一个第二设备组。
进一步可选的,选择模块还用于:根据至少一个设备组的当前运行状态数据,确定至少一个设备组的当前负载等级;根据当前负载等级从低到高的顺序,从所述至少一个设备组中选择至少一个第一设备组。
进一步可选的,选择模块根据当前负载等级从低到高的顺序,从所述至少一个设备组中选择至少一个第一设备组时,具体用于:根据所述至少一个设备组的当前负载等级,确定所述至少一个设备组中是否存在当前负载等级满足低负载条件的至少一个候选设备组;若存在当前负载等级满足低负载条件的至少一个候选设备组,则根据当前负载等级从低到高的顺序,从所述至少一个候选设备组中选择所述至少一个第一设备组。
进一步可选的,迁移模块还用于:判断所述至少一个第一设备组上是否出现故障实例;若存在出现所述故障实例的第一设备组,则将所述故障实例迁移至未运行实例的沙箱设备组上。
图5所示的装置可以执行图2至图4所示的方法,其实现原理和技术效果不再赘述。对于上述实施例中的图5所示的装置其中各个模块、单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤201至步骤203的执行主体可以为设备A;又比如,步骤201和202的执行主体可以为设备A,步骤203和步骤204的执行主体可以为设备B;等等。
另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如201、202等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
图6为本申请实施例提供的一种电子设备的结构示意图。如图6所示,该电子设备包括:存储器61和处理器62;
存储器61,用于存储计算机程序,并可被配置为存储其它各种数据以支持在计算平台上的操作。这些数据的示例包括用于在计算平台上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
存储器61可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(Static Random-AccessMemory,SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable read only memory,EEPROM),可擦除可编程只读存储器(Erasable Programmable Read Only Memory,EPROM),可编程只读存储器(Programmable read-only memory,PROM),只读存储器(Read-Only Memory,ROM),磁存储器,快闪存储器,磁盘或光盘。
处理器62,与存储器61耦合,用于执行存储器61中的计算机程序,以用于执行实例处理方法中的步骤。
进一步,如图6所示,该电子设备还包括:通信组件63、显示器64、电源组件65、音频组件66等其它组件。图6中仅示意性给出部分组件,并不意味着电子设备只包括图6所示组件。另外,图6中虚线框内的组件为可选组件,而非必选组件,具体可视电子设备的产品形态而定。本实施例的电子设备可以实现为台式电脑、笔记本电脑、智能手机或IOT(物联网,Internet of things)设备等终端设备,也可以是常规服务器、云服务器或服务器阵列等服务端设备。若本实施例的电子设备实现为台式电脑、笔记本电脑、智能手机等终端设备,可以包含图6中虚线框内的组件;若本实施例的电子设备实现为常规服务器、云服务器或服务器阵列等服务端设备,则可以不包含图6中虚线框内的组件。
关于处理器执行各动作的详细实施过程可参见前述方法实施例或设备实施例中的相关描述,在此不再赘述。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被执行时能够实现上述方法实施例中可由电子设备执行的各步骤。
相应地,本申请实施例还提供一种计算机程序产品,包括计算机程序/指令,当计算机程序/指令被处理器执行时,致使处理器能够实现上述方法实施例中可由电子设备执行的各步骤。
上述通信组件被配置为便于通信组件所在设备和其他设备之间有线或无线方式的通信。通信组件所在设备可以接入基于通信标准的无线网络,如WiFi,2G、3G、4G/LTE、5G等移动通信网络,或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件还包括近场通信(Near Field Communication,NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(Radio Frequency Identification,RFID)技术,红外数据协会(TheInfrared Data Association,IrDA)技术,超宽带(Ultra Wide Band,UWB)技术,蓝牙(Bluetooth,BT)技术和其他技术来实现。
上述显示器包括屏幕,其屏幕可以包括液晶显示器(Liquid Crystal Display,LCD)和触摸面板(touch panel,TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。
上述电源组件,为电源组件所在设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。
上述音频组件,可被配置为输出和/或输入音频信号。例如,音频组件包括一个麦克风(microphone,MIC),当音频组件所在设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器或经由通信组件发送。在一些实施例中,音频组件还包括一个扬声器,用于输出音频信号。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可读存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(central processingunit,CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RandomAccess Memory,RAM)和/或非易失性内存等形式,如只读存储器(Read Only Memory,ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变化内存(Phase Change RAM,PRAM)、静态随机存取存储器(Static Random-Access Memory,SRAM)、动态随机存取存储器(DynamicRandom Access Memory,DRAM)、其他类型的随机存取存储器(Random Access Memory,RAM)、只读存储器(Read Only Memory,ROM)、电可擦除可编程只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(Digital versatile disc,DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (11)
1.一种实例处理方法,其特征在于,包括:
在至少一个第一设备组上运行目标实例;
周期性获取所述目标实例的当前流量数据;
判断第一预设时间段内至少一个周期所述目标实例的当前流量数据是否满足实例维度的高实例水位条件,所述实例维度的高实例水位条件是指所述目标实例的当前流量数据大于第一流量数据阈值;
若所述第一预设时间段内至少一个周期所述目标实例的当前流量数据满足实例维度的高实例水位条件,则对所述目标实例进行设备组扩容处理。
2.根据权利要求1所述的方法,其特征在于,在至少一个第一设备组上运行目标实例后,还包括:
周期性获取所述至少一个第一设备组的当前负载等级;
判断第二预设时间段内至少一个周期所述至少一个第一设备组中是否出现当前负载等级满足高负载条件的第一设备组;
若所述第二预设时间段内至少一个周期出现当前负载等级满足高负载条件的第一设备组,则对所述目标实例进行设备组扩容处理。
3.根据权利要求2所述的方法,其特征在于,还包括:
若所述第二预设时间段内至少一个周期当前负载等级满足低负载条件的第一设备组的数量大于或等于预设数量,则对所述目标实例进行设备组缩容处理。
4.根据权利要求3所述的方法,其特征在于,若所述第二预设时间段内至少一个周期当前负载等级满足低负载条件的第一设备组的数量大于或等于预设数量,则对所述目标实例进行设备组缩容处理包括:
若所述第二预设时间段内至少一个周期当前负载等级满足低负载条件的第一设备组的数量大于或等于预设数量,则获取所述第二预设时间段内至少一个周期当前负载等级满足低负载条件的第一设备组的聚合流量特征,每个周期所述第一设备组的聚合流量特征由每个周期所述第一设备组所运行的至少一个实例的当前流量数据聚合得到;
若所述第二预设时间段内至少一个周期当前负载等级满足低负载条件的第一设备组符合设备组维度的低实例水位条件,所述设备组维度的低实例水位条件是指所述第一设备组的聚合流量特征小于第二流量数据阈值,则对所述目标实例进行设备组缩容处理。
5.根据权利要求4所述的方法,其特征在于,还包括:
若所述第二预设时间段内至少一个周期当前负载等级满足低负载条件的第一设备组符合设备组维度的高实例水位条件,所述设备组维度的高实例水位条件是指所述第一设备组的聚合流量特征大于或等于第三流量数据阈值,则对所述第三流量数据阈值进行增大处理。
6.根据权利要求2所述的方法,其特征在于,还包括:
若第二预设时间段内至少一个周期出现当前负载等级满足高负载条件的第一设备组,则从除所述至少一个第一设备组之外的至少一个设备组中选择当前负载等级满足低负载条件的至少一个第二设备组;
将满足高负载条件的第一设备组上运行的实例迁移至所述至少一个第二设备组。
7.根据权利要求1至6任一项所述的方法,其特征在于,在至少一个第一设备组上运行目标实例之前,还包括:
根据至少一个设备组的当前运行状态数据,确定至少一个设备组的当前负载等级;
根据当前负载等级从低到高的顺序,从所述至少一个设备组中选择至少一个第一设备组。
8.根据权利要求7所述的方法,其特征在于,根据当前负载等级从低到高的顺序,从所述至少一个设备组中选择至少一个第一设备组,包括:
根据所述至少一个设备组的当前负载等级,确定所述至少一个设备组中是否存在当前负载等级满足低负载条件的至少一个候选设备组;
若存在当前负载等级满足低负载条件的至少一个候选设备组,则根据当前负载等级从低到高的顺序,从所述至少一个候选设备组中选择所述至少一个第一设备组。
9.根据权利要求1至6任一项所述的方法,其特征在于,在所述至少一个第一设备组上运行目标实例之后,还包括:
判断所述至少一个第一设备组上是否出现故障实例;
若存在出现所述故障实例的第一设备组,则将所述故障实例迁移至未运行实例的沙箱设备组上。
10.一种电子设备,其特征在于,包括:存储器和处理器;所述存储器,用于存储计算机程序;所述处理器耦合至所述存储器,用于执行所述计算机程序以用于执行权利要求1-9任一项所述方法中的步骤。
11.一种存储有计算机程序的计算机可读存储介质,其特征在于,当所述计算机程序被处理器执行时,致使所述处理器能够实现权利要求1-9任一项所述方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310156804.XA CN116302329A (zh) | 2023-02-17 | 2023-02-17 | 实例处理方法、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310156804.XA CN116302329A (zh) | 2023-02-17 | 2023-02-17 | 实例处理方法、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116302329A true CN116302329A (zh) | 2023-06-23 |
Family
ID=86821532
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310156804.XA Pending CN116302329A (zh) | 2023-02-17 | 2023-02-17 | 实例处理方法、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116302329A (zh) |
-
2023
- 2023-02-17 CN CN202310156804.XA patent/CN116302329A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200328984A1 (en) | Method and apparatus for allocating resource | |
US10572285B2 (en) | Method and apparatus for elastically scaling virtual machine cluster | |
US9665410B2 (en) | Processing of application programming interface traffic | |
CN107241281B (zh) | 一种数据处理方法及其装置 | |
US20150244645A1 (en) | Intelligent infrastructure capacity management | |
KR20160132432A (ko) | 멀티 프로세스 애플리케이션들을 위한 동적 자원 관리 | |
CN109359118B (zh) | 一种数据写入方法及装置 | |
US10986191B2 (en) | Method and device for scheduling resources | |
WO2014194704A1 (en) | A grouping processing method and system | |
CN108228752B (zh) | 数据全量导出方法、数据导出任务分配装置及数据导出节点装置 | |
CN110677854A (zh) | 载频容量调整的方法、装置、设备和介质 | |
CN112346965A (zh) | 测试用例分配方法、装置及存储介质 | |
CN114996134A (zh) | 容器化部署方法、电子设备及存储介质 | |
CN104968051A (zh) | 一种小区宽带上行链路的资源分配方法和装置 | |
CN117093149A (zh) | 内存管理方法、装置、介质及电子设备 | |
CN112114804A (zh) | 应用程序的生成方法、装置及系统 | |
CN109286532B (zh) | 云计算系统中告警信息的管理方法和装置 | |
CN116541174A (zh) | 存储设备容量处理方法、装置、设备及存储介质 | |
CN116302329A (zh) | 实例处理方法、电子设备及存储介质 | |
US9479579B2 (en) | Grouping processing method and system | |
CN111262794B (zh) | 网关的流量控制方法及装置 | |
CN112149964A (zh) | 资源分配方法及装置 | |
CN110187987B (zh) | 用于处理请求的方法和装置 | |
CN113391882A (zh) | 虚拟机内存管理方法、装置、存储介质及电子设备 | |
CN116107761B (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 |