CN107656807B - 一种虚拟资源的自动弹性伸缩方法及装置 - Google Patents
一种虚拟资源的自动弹性伸缩方法及装置 Download PDFInfo
- Publication number
- CN107656807B CN107656807B CN201610594541.0A CN201610594541A CN107656807B CN 107656807 B CN107656807 B CN 107656807B CN 201610594541 A CN201610594541 A CN 201610594541A CN 107656807 B CN107656807 B CN 107656807B
- Authority
- CN
- China
- Prior art keywords
- instance
- target
- group
- monitoring data
- statistical information
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明实施例提供了一种虚拟资源的自动弹性伸缩方法及装置,其中方法包括:接收针对目标伸缩组的至少一个工作指标的监控告警;根据监控告警,确定针对目标伸缩组的伸缩策略;当伸缩策略为增加实例时,获取目标伸缩组的实例规格,实例规格为预先根据针对目标伸缩组的至少一个工作指标的监控数据的统计信息确定得到的;向实例资源管理平台发送携带实例规格的增加实例请求,以使实例资源管理平台按照该实例规格,为目标伸缩组增加实例。即本发明实施例中新增实例的实例规格,是根据伸缩组的工作指标所反映的负载情况来进行更新的,可以提升伸缩组实例的资源分配精度和资源利用率。
Description
技术领域
本发明涉及电子技术领域,尤其涉及一种虚拟资源的自动弹性伸缩方法及装置。
背景技术
资源的弹性作为云计算数据中心的一个重要特性,其主要是基于自动弹性伸缩(Auto Scaling)技术来实现。自动弹性伸缩技术,采用某一固定的自动弹性伸缩策略,在某个应用的伸缩组负载变化增加或者减少时,对该应用的伸缩组中虚拟化实例数量进行相应地增加或者减少。实际应用中,由于云计算数据中心常常无法预知应用的实际负载需求,因此,在当前负载需求超过或者即将超过云计算数据中心的资源所能承受的负载时,云计算数据中心需要添加更多的虚拟化实例来应对当前所能承受以外的负载,相反地,当云计算数据中心的资源所能承担的负载远远超出了当前负载需求时,云计算数据中心需要减少未被用到的虚拟化实例,因而,云计算数据中心可采用自动弹性伸缩技术对应用的虚拟化实例数量进行控制。
现有技术中,虚拟化实例都是按照不同的规格来配置的。例如,虚拟化实例可以按照CPU主频为1G,内存为2G的规格来配置,也可以按照CPU主频为2G,内存为4G的规格来配置,这种配置方式缺乏精度,如果初始配置的实例规格过高容易造成资源浪费,如果初始配置的实例规格过低容易造成分配给实例的资源不足。
发明内容
本发明实施例所要解决的技术问题在于,提供一种虚拟资源的自动弹性伸缩方法及装置,用于按照以实际资源需求进行定时更新的实例规格,为伸缩组增加实例,提升了伸缩组实例的资源分配精度和资源利用率。
本发明第一实施例提供了一种虚拟资源的自动弹性伸缩方法。虚拟资源的自动弹性伸缩装置接收到针对目标伸缩组的至少一个工作指标的监控告警根据监控告警后,就确定针对目标伸缩组的伸缩策略,在伸缩策略确定为增加实例的情况时,获取预先根据目标伸缩组的至少一个工作指标的监控数据的统计信息确定得到的实例规格,最后向实例资源管理平台发送携带实例规格的增加实例请求,增加实例请求用于指示实例资源管理平台按照该实例规格,为目标伸缩组增加实例。
在该技术方案中,虚拟资源的自动弹性伸缩装置新增实例的实例规格,是根据目标伸缩组的工作指标所反映的负载情况来进行更新的,这样就可以避免固定实例规格时所造成的实例规格初始配置难的问题,可以提升伸缩组实例的资源分配精度和资源利用率,同时也可以保证伸缩组的相对稳定。
在第一方面的第一种可能的实现方式中,虚拟资源的自动弹性伸缩装置获取所述目标伸缩组的实例规格之前,先获取针对所述目标伸缩组的至少一个工作指标的监控数据,根据获取到的监控数据,确定针对所述目标伸缩组的至少一个工作指标的监控数据的统计信息,再根据所述目标伸缩组的至少一个工作指标的监控数据的统计信息,确定所述目标伸缩组的实例规格。
在该技术方案中,虚拟资源的自动弹性伸缩装置将目标伸缩组的工作指标的监控数据经过统计分析后,得到能够反映目标伸缩组的负载需求的统计信息,从而可以根据目标伸缩组的负载需求定时的更新目标伸缩组的实例规格,提升伸缩组实例的资源分配精度和资源利用率。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,虚拟资源的自动弹性伸缩装置确定所述目标伸缩组的实例规格后,将确定得到的所述目标伸缩组的实例规格覆盖所述目标伸缩组的原有实例规格。
在该技术方案中,虚拟资源的自动弹性伸缩装置将目标伸缩组更新后的实例规格替换原有实例规格,可以节约存储空间。
结合第一方面的第一种可能的实现方式,在第三种可能的实现方式中,虚拟资源的自动弹性伸缩装置确定所述目标伸缩组的实例规格后,获取确定得到的所述目标伸缩组的实例规格的创建时间,将所述创建时间与所述目标伸缩组的实例规格对应存储至预设的所述目标伸缩组的实例规格集合中,所述目标伸缩组的实例规格集合包括多个创建时间对应的所述目标伸缩组的实例规格。
在该技术方案中,虚拟资源的自动弹性伸缩装置将目标伸缩组每一次定时更新的实例规格以及对应的创建时间都存储在实例规格集合中,可以保持实例规格更新记录的完整性,同时也可以在删除目标伸缩组实例时,提供更多可选的删除方法。
结合第一方面的第一种可能的实现方式,在第四种可能的实现方式中,监控数据包括在多个采样时间点采集的多个监控数据,虚拟资源的自动弹性伸缩装置根据所述多个采样时间点的时间前后顺序,确定所述多个采样时间点分别对应的多个监控数据的权重值,然后根据所述多个采样时间点分别对应的多个监控数据,结合所述多个监控数据对应的权重值,计算针对所述目标伸缩组的至少一个工作指标的监控数据的统计信息。
在该技术方案中,虚拟资源的自动弹性伸缩装置可以根据多个采样时间点对应的多个监控数据的重要程度,设定多个采样时间点分别对应的多个监控数据的权重值,从而获取到更精确的统计信息。
结合第一方面的第一种可能的实现方式,在第五种可能的实现方式中,至少一个工作指标的监控数据的统计信息分别存在对应的实例规格分级策略,虚拟资源的自动弹性伸缩装置获取所述目标伸缩组的至少一个工作指标的监控数据的统计信息对应的实例规格分级策略,然后根据所述目标伸缩组的至少一个工作指标的监控数据的统计信息,结合所述至少一个工作指标的监控数据的统计信息对应的实例规格分级策略,确定所述目标伸缩组的实例规格。
在该技术方案中,虚拟资源的自动弹性伸缩装置通过设定实例规格分级策略,得到能够满足不同程度的统计信息的实例规格。
在第一方面的第六种可能的实现方式中,目标伸缩组的实例规格存在多个,虚拟资源的自动弹性伸缩装置获取所述目标伸缩组的多个实例规格中创建时间最晚的实例规格,向所述实例资源管理平台发送携带所述创建时间最晚的实例规格的增加实例请求,增加实例请求用于指示所述实例资源管理平台按照所述创建时间最晚的实例规格,为所述目标伸缩组增加实例。
在第一方面的第七种可能的实现方式中,当所述伸缩策略为减少实例时,虚拟资源的自动弹性伸缩装置获取所述目标伸缩组的实例规格,向所述实例资源管理平台发送携带所述实例规格的减少实例请求,减少实例请求用于指示所述实例资源管理平台根据所述实例规格,删除所述目标伸缩组的多个实例中的至少一个实例。
结合第一方面的第七种可能的实现方式,在第八种可能的实现方式中,目标伸缩组的实例规格存在多个,虚拟资源的自动弹性伸缩装置获取所述目标伸缩组的多个实例规格中创建时间最早的实例规格,向所述实例资源管理平台发送携带所述创建时间最早的实例规格的减少实例请求,减少实例请求用于指示所述实例资源管理平台在所述目标伸缩组的多个实例中删除至少一个实例规格的创建时间最早的实例。
本发明第二方面提供了一种虚拟资源的自动弹性伸缩装置。该装置包括处理器、存储器以及通信接口。处理器连接到存储器和通信接口,例如处理器可以通过总线连接到存储器和通信接口。通信接口用于与监控设备、实例资源管理平台等设备进行通信。存储器用于存储目标伸缩组的实例规格等。处理器用于执行第一方面的部分或全部流程。
第三方面提供了另一种虚拟资源的自动弹性伸缩装置,该装置包括:
接收模块,用于接收针对目标伸缩组的至少一个工作指标的监控告警;
处理模块,用于根据所述监控告警,确定针对所述目标伸缩组的伸缩策略;
所述处理模块还用于:
当所述伸缩策略为增加实例时,获取所述目标伸缩组的实例规格,所述实例规格为预先根据针对所述目标伸缩组的至少一个工作指标的监控数据的统计信息确定得到的;
发送模块,用于向实例资源管理平台发送携带所述实例规格的增加实例请求,所述增加实例请求用于指示所述实例资源管理平台按照所述实例规格,为所述目标伸缩组增加实例。
在第三方面的第一种可能的实现方式中,所述处理模块还用于:
获取针对所述目标伸缩组的至少一个工作指标的监控数据;
根据针对所述目标伸缩组的至少一个工作指标的监控数据,确定针对所述目标伸缩组的至少一个工作指标的监控数据的统计信息;
根据所述目标伸缩组的至少一个工作指标的监控数据的统计信息,确定所述目标伸缩组的实例规格。
结合第三方面的第一种可能的实现方式,在第二种可能的实现方式中,所述处理模块还用于:
将确定得到的所述目标伸缩组的实例规格覆盖所述目标伸缩组的原有实例规格。
结合第三方面的第一种可能的实现方式,在第三种可能的实现方式中,所述处理模块还用于:
获取确定得到的所述目标伸缩组的实例规格的创建时间;
将所述创建时间与所述目标伸缩组的实例规格对应存储至预设的所述目标伸缩组的实例规格集合中,所述目标伸缩组的实例规格集合包括多个创建时间对应的所述目标伸缩组的实例规格。
结合第三方面的第一种可能的实现方式,在第四种可能的实现方式中,所述监控数据包括在多个采样时间点采集的多个监控数据;
所述处理模块还用于:
根据所述多个采样时间点的时间前后顺序,确定所述多个采样时间点分别对应的多个监控数据的权重值;
根据所述多个采样时间点分别对应的多个监控数据,结合所述多个监控数据对应的权重值,计算针对所述目标伸缩组的至少一个工作指标的监控数据的统计信息。
结合第三方面的第一种可能的实现方式,在第五种可能的实现方式中,所述至少一个工作指标的监控数据的统计信息分别存在对应的实例规格分级策略;
所述处理模块还用于:
获取所述目标伸缩组的至少一个工作指标的监控数据的统计信息对应的实例规格分级策略;
根据所述目标伸缩组的至少一个工作指标的监控数据的统计信息,结合所述至少一个工作指标的监控数据的统计信息对应的实例规格分级策略,确定所述目标伸缩组的实例规格。
在第三方面的第六种可能的实现方式中,所述目标伸缩组的实例规格存在多个;
所述处理模块还用于:获取所述目标伸缩组的多个实例规格中创建时间最晚的实例规格;
所述发送模块还用于:向所述实例资源管理平台发送携带所述创建时间最晚的实例规格的增加实例请求,所述增加实例请求用于指示所述实例资源管理平台按照所述创建时间最晚的实例规格,为所述目标伸缩组增加实例。
在第三方面的第七种可能的实现方式中,所述处理模块还用于:当所述伸缩策略为减少实例时,获取所述目标伸缩组的实例规格;
所述发送模块还用于:向所述实例资源管理平台发送携带所述实例规格的减少实例请求,所述减少实例请求用于指示所述实例资源管理平台根据所述实例规格,删除所述目标伸缩组的多个实例中的至少一个实例。
结合第三方面的第七种可能的实现方式,在第八种可能的实现方式中,所述目标伸缩组的实例规格存在多个;
所述处理模块还用于:获取所述目标伸缩组的多个实例规格中创建时间最早的实例规格;
所述发送模块还用于:向所述实例资源管理平台发送携带所述创建时间最早的实例规格的减少实例请求,所述减少实例请求用于指示所述实例资源管理平台在所述目标伸缩组的多个实例中删除至少一个实例规格的创建时间最早的实例。
本申请的第四方面,提供了一种存储介质,该存储介质中存储了程序代码,该程序代码被计算设备运行时,执行第一方面或第一方面的任意一种实现方式提供的一种虚拟资源的自动弹性伸缩方法。该存储介质包括但不限于快闪存储器(英文:flash memory),硬盘(英文:hard disk drive,缩写:HDD)或固态硬盘(英文:solid state drive,缩写:SSD)。
本申请的第五方面,提供了一种计算机程序产品,该计算机产品被计算设备运行时,执行第一方面或第一方面的任意一种实现方式提供的一种虚拟资源的自动弹性伸缩方法。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本发明实施例提供的一种自动弹性伸缩装置的伸缩管理架构示意图;
图1b是本发明实施例提供的一种自动弹性伸缩系统的系统架构图;
图2是本发明实施例提供的一种虚拟资源的自动弹性伸缩方法的流程示意图;
图3是本发明实施例提供的一种伸缩组实例规格的更新方法的流程示意图;
图4是本发明实施例提供的一种虚拟资源的自动弹性伸缩装置的组成结构简化示意图;
图5是本发明实施例提供的一种虚拟资源的自动弹性伸缩装置的组成结构示意图;
图6是本发明实施例提供的另一种虚拟资源的自动弹性伸缩装置的组成结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在此部分,首先对本发明中各个实施例均涉及的一些基本概念进行说明。
本发明实施例中的伸缩组是指执行相同的应用,具有相同的功能的虚拟化实例的集合。
其中,虚拟化实例是指物理资源(计算资源、存储资源、网络资源等)经过虚拟化技术形成的独立的可执行计算、存储、网络通信功能的虚拟个体,主要可以表现为虚拟机和容器。本发明实施例中的自动弹性伸缩方法所涉及的虚拟化实例,可以是虚拟机,也可以是容器,并不特定于某种形态。以下将虚拟化实例简称为“实例”。
实例规格可以理解为虚拟化实例的配置,具体可以包括CPU的主频大小、内存大小、网络带宽、磁盘容量等等。
图1a所示的是一种自动弹性伸缩装置的伸缩管理架构示意图,其中,一个伸缩组包括至少一个虚拟化实例(图1a中展示出了虚拟化实例103a、103b和103c),而虚拟资源的弹性伸缩装置101可以对至少一个伸缩组(图1a中展示出了伸缩组102a、102b和102c)进行伸缩控制管理,也就是说,虚拟资源的弹性伸缩装置101可以对其所管理的某一个伸缩组中的虚拟化实例的增加或减少以及对应增加或减少的实例数量和实例规格等进行决策。例如,伸缩组102b包括虚拟化实例103a、103b和103c,虚拟资源的弹性伸缩装置101可以决策为伸缩组102b增加虚拟化实例,包括增加几个虚拟化实例、增加的实例需配置什么规格;也可以决策将伸缩组102b中的虚拟化实例103a、103b或103c删除。
本实施例中的方法适用于各种基于伸缩组的虚拟化实例的自动弹性伸缩系统中,比如,图1b所示的是一种自动弹性伸缩系统的系统架构图。其中,实例资源管理平台104是管理至少一个虚拟化实例的装置,而其管理的虚拟化实例运行在服务器或服务器集群上(图1b中展示出了运行虚拟化实例的服务器105a、105b和105c)。在图1b所示的系统架构图中,虚拟资源的弹性伸缩装置101确定针对目标伸缩组的伸缩策略后,可以将伸缩策略以及相应的实例规格发送给实例资源管理平台104,实例资源管理平台104根据伸缩策略和实例规格为目标伸缩组增加或减少虚拟化实例。进一步的,实例资源管理平台104不仅可以是如图1b所示的集中式的管理平台,还可以是分布于运行虚拟化实例的各服务器上的一种分布式的管理平台。本发明实施例中描述的执行方法就是在如图1b所示的系统环境中的一种虚拟资源的自动弹性伸缩方法,从而根据虚拟资源的弹性伸缩装置101的伸缩控制管理对伸缩组的虚拟化实例进行调整。
请参阅图2,图2是本发明实施例提供的一种虚拟资源的自动弹性伸缩方法的流程示意图,该方法可以适用于任何伸缩组的虚拟化实例的伸缩控制,而针对每一个伸缩组的虚拟化实例的伸缩控制流程都是基本一致的,因此,本发明实施例中仅以一个伸缩组的自动弹性伸缩方法,即目标伸缩组的自动弹性伸缩方法进行描述。需要说明的是,本发明实施例所涉及的方法可以由虚拟资源的自动弹性伸缩装置执行,所述虚拟资源的自动弹性伸缩装置可以为服务器、个人电脑等电子设备或运行在以上电子设备上的软件程序。
所述方法包括:
步骤S201,接收针对目标伸缩组的至少一个工作指标的监控告警。
工作指标是能够反映伸缩组的整体工作情况或者伸缩组的某一个实例的工作情况的一系列指标数据,例如,工作指标可以是伸缩组中的所有实例平均的CPU(中央处理器,Central Processing Unit)使用量、内存使用量、磁盘占用量、磁盘读写量以及网络吞吐量等等;也可以是伸缩组中的某一个实例的CPU使用量、内存使用量、磁盘占用量、磁盘读写量以及网络吞吐量等等。也就是说,监控的工作指标是针对伸缩组所有实例的整体工作指标还是针对伸缩组的每一个实例的个体工作指标都是可以的,这里不作具体限定。
在本实施例中,监控告警可以是由虚拟资源的自动弹性伸缩装置本身发出的,也可以是由其他的监控设备向虚拟资源的自动弹性伸缩装置发送后,虚拟资源的自动弹性伸缩装置接收到的。具体实施中,虚拟资源的自动弹性伸缩装置或其他的监控设备可以实时的对目标伸缩组的至少一个工作指标进行监控,并且可以预先分别设置针对每一个工作指标的告警条件,在监测到其中某一个工作指标的监控数据满足了该工作指标对应的告警条件时,就触发与之对应的监控告警。例如,可以实时对伸缩组中实例的内存使用量进行监控,如果监控到伸缩组的某一实例的内存使用量占该实例的总内存大小的60%时,则发出针对内存使用量的监控告警。其中,监控告警的具体类型可以包括超过预设阈值的告警和低于预设阈值的告警,例如可以是内存使用量超过一定阈值的告警,也可以是内存使用量低于一定阈值的告警。
步骤S202,根据所述监控告警,确定针对所述目标伸缩组的伸缩策略。
伸缩策略是指虚拟资源的自动弹性伸缩装置对伸缩组中的虚拟化实例的调整策略,可以包括增加伸缩组中的实例和减少伸缩组中的实例。
当接收到监控告警后,就可以根据监控告警确定具体的伸缩策略。例如,当接收到的内存使用量超过预设第一阈值的监控告警,那么目标伸缩组的伸缩策略就可以确定为增加目标伸缩组中的实例;或者,当接收到磁盘占用量低于预设第二阈值的监控告警,那么目标伸缩组的伸缩策略就可以确定为减少目标伸缩组中的实例;或者,当接收到CPU使用量超过第三阈值且内存使用量超过第四阈值的监控告警,那么目标伸缩组的伸缩策略就可以确定为增加目标伸缩组中的实例。
步骤S203,当所述伸缩策略为增加实例时,获取所述目标伸缩组的实例规格,所述实例规格为预先根据针对所述目标伸缩组的至少一个工作指标的监控数据的统计信息确定得到的。
步骤S204,向实例资源管理平台发送携带所述实例规格的增加实例请求,所述增加实例请求用于指示所述实例资源管理平台按照所述实例规格,为所述目标伸缩组增加实例。
伸缩组的每一个实例都配置有对应的实例规格,当伸缩策略为增加目标伸缩组中的实例时,可以先获取目标伸缩组的实例规格,按照获取到的实例规格为目标伸缩组新增实例。需要说明的是,在本发明实施例中,获取到的目标伸缩组的实例规格是根据定时获取的目标伸缩组的至少一个工作指标的监控数据经过分析计算得到的统计信息来确定的。其中,统计信息可以包括所述目标伸缩组的至少一个工作指标的监控数据的均值、上限值、下限值、突发值和概率分布函数等统计参数中的至少一个。
也就是说,虚拟资源的自动弹性伸缩装置可以根据针对目标伸缩组的工作指标的监控数据,定时的对目标伸缩组的实例规格进行更新,当目标伸缩组需要增加实例时,就以更新后最新的实例规格来配置新增的实例。
在一些实施场景中,虚拟资源的自动弹性伸缩装置内存储的目标伸缩组的实例规格有且仅有一个,就是目标伸缩组的最新实例规格,即每次对目标伸缩组的实例规格进行更新生成最新的实例规格后,就将最新的实例规格替换原有的实例规格,则在获取目标伸缩组的实例规格时,直接查找目标伸缩组对应的实例规格即可获取到目标伸缩组的最新实例规格,并向实例资源管理平台发送携带该实例规格的增加实例请求,以使实例资源管理平台按照该实例规格,为目标伸缩组增加实例。
例如,设目标伸缩组经过更新后的最新的实例规格为CPU主频2G、内存大小4GB、磁盘空间10M、网络带宽500Mb/s,那么实例资源管理平台获取到该实例规格后,就可以为目标伸缩组新增至少一个该实例规格的实例。
在另一些实施场景中,虚拟资源的自动弹性伸缩装置内存储的目标伸缩组的实例规格存在多个,即每次生成一个新的实例规格后,就将生成的实例存储起来,从而形成针对目标伸缩组的多个实例规格的实例规格集合,则在获取目标伸缩组的实例规格时,则可以先查找目标伸缩组的实例规格集合中创建时间最晚的实例规格,这里创建时间最晚的实例规格即指多个实例规格中最新建立的实例规格,也即距离当前获取实例规格的时间最近的一次更新所生成的实例规格。最后向实例资源管理平台发送携带该创建时间最晚的实例规格的增加实例请求,以使实例资源管理平台按照该创建时间最晚的实例规格,为目标伸缩组增加实例即可。
进一步地,查找目标伸缩组的实例规格集合中创建时间最晚的实例规格的方式,可以是根据与实例规格对应的创建时间或者版本号或其他可以表现实例规格生成的先后顺序的标识来确定,这里不作具体限定。
例如,设目标伸缩组存在一个实例规格集合,其中包括三个实例规格(以CPU主频、内存大小以及网络带宽配置为例),每个实例规格存在对应的创建时间,示例性的,如表1所示,虚拟资源的自动弹性伸缩装置查找到创建时间最晚的时间是12:15,对应的实例规格为第3组实例规格,则可以以该实例规格为目标伸缩组增加实例,即当前增加的每个实例都是CPU主频为2G、内存大小为4G、网络带宽为800Mb/s的规格。
| 序号 | 实例规格 | 创建时间 |
| 1 | CPU主频1G,内存大小2G,网络带宽500Mb/s | 10:15 |
| 2 | CPU主频3G,内存大小6G,网络带宽1Gb/s | 11:15 |
| 3 | CPU主频2G,内存大小4G,网络带宽800Mb/s | 12:15 |
表1:实例规格与创建时间对应关系示意表(示例)
可选的,本发明实施例还可以进一步包括:
步骤S205,当所述伸缩策略为减少实例时,获取所述目标伸缩组的实例规格。
步骤S206,向所述实例资源管理平台发送携带所述实例规格的减少实例请求,所述减少实例请求用于指示所述实例资源管理平台根据所述实例规格,删除所述目标伸缩组的多个实例中的至少一个实例。
与步骤S203和S204对应的,在一些实施场景中,虚拟资源的自动弹性伸缩装置内存储的目标伸缩组的实例规格有且仅有一个,就是目标伸缩组的最新实例规格,那么在伸缩策略为减少实例时,直接查找目标伸缩组对应的实例规格即可获取到目标伸缩组的最新实例规格,并向实例资源管理平台发送携带该实例规格的减少实例请求,以使实例资源管理平台根据该实例规格,删除目标伸缩组的多个实例中的至少一个实例。具体来说,实例资源管理平台可以保留目标伸缩组中配置为最新实例规格的实例,在其他剩余的实例中选择至少一个进行删除;也可以在其他剩余的实例都删除后仍然需要继续删除一定数量的实例时,再将目标伸缩组中配置为最新实例规格的实例进行部分删除。
例如,设目标伸缩组经过更新后的最新的实例规格为CPU主频2G(以CPU主频规格为例),目标伸缩组中包括4个实例,分别是2个实例规格为CPU主频2G的实例和2个实例规格为CPU主频1G的实例。实例资源管理平台接收到该最新的实例规格后,根据目标伸缩组当前的实例规格,若需要减少2个实例时,则可以优先将2个实例规格为CPU主频1G的实例删除;若需要减少3个实例时,则可以在将2个实例规格为CPU主频1G的实例删除后,再任选一个实例规格为CPU主频2G的实例删除。
在另一些实施场景中,虚拟资源的自动弹性伸缩装置内存储的目标伸缩组的实例规格存在多个,而每个实例规格都存在对应的创建时间或者可以表现创建时间先后顺序的标识,那么在伸缩策略为减少实例时,可以先获取目标伸缩组中的多个实例规格分别对应的创建时间或者可以表现创建时间先后顺序的标识,进而获取目标伸缩组的多个实例规格中创建时间最早的实例规格,这里创建时间最早的实例规格即指多个实例规格中最先建立的实例规格,也即距离当前获取实例规格的时间最远的一次更新所生成的实例规格。最后向实例资源管理平台发送携带创建时间最早的实例规格的减少实例请求,以使实例资源管理平台在目标伸缩组的多个实例中删除至少一个实例规格的创建时间最早的实例。
例如,设虚拟资源的自动弹性伸缩装置内存在针对目标伸缩组的实例规格集合,其中包括三个实例规格(以CPU主频、内存大小以及网络带宽配置为例),每个实例规格存在对应的版本标识,该版本标识可以表示创建时间的前后顺序,即版本标识的数字越大,说明创建时间越晚,版本标识的数字越小,说明创建时间越早。设目标伸缩组中包括4个实例,分别是2个实例规格为CPU主频2G,内存大小4G,网络带宽800Mb/s的实例和2个实例规格为CPU主频3G,内存大小6G,网络带宽1Gb/s的实例。示例性的,如表2所示,虚拟资源的自动弹性伸缩装置查找到目标伸缩组中的4个实例中实例规格CPU主频2G,内存大小4G,网络带宽800Mb/s对应的版本标识为3,实例规格CPU主频3G,内存大小6G,网络带宽1Gb/s对应的版本标识为2,即目标伸缩组中的4个实例中版本标识最小的是2,那么虚拟资源的自动弹性伸缩装置可以将版本标识2对应的实例规格(CPU主频3G,内存大小6G,网络带宽1Gb/s)发送给实例资源管理平台,实例资源管理平台接收到该最新的实例规格后,若需要减少1个实例时,则可以删除一个实例规格为CPU主频3G,内存大小6G,网络带宽1Gb/s的实例。
| 序号 | 实例规格 | 版本标识 |
| 1 | CPU主频1G,内存大小2G,网络带宽500Mb/s | 1 |
| 2 | CPU主频3G,内存大小6G,网络带宽1Gb/s | 2 |
| 3 | CPU主频2G,内存大小4G,网络带宽800Mb/s | 3 |
表2:实例规格与版本标识对应关系示意表(示例)
在图2所示的实施例中,虚拟资源的自动弹性伸缩装置接收到针对目标伸缩组的至少一个工作指标的监控告警根据监控告警后,就确定针对目标伸缩组的伸缩策略,在伸缩策略确定为增加实例的情况时,获取预先根据目标伸缩组的至少一个工作指标的监控数据的统计信息确定得到的实例规格,最后通过实例资源管理平台以该实例规格为目标伸缩组新增的实例进行配置。也就是说,虚拟资源的自动弹性伸缩装置新增实例的实例规格,是根据伸缩组的工作指标所反映的负载情况来进行更新的,这样就可以避免固定实例规格时所造成的实例规格初始配置难的问题,可以提升伸缩组实例的资源分配精度和资源利用率,同时也可以保证伸缩组的相对稳定。
在图2所示的实施例之前,预先要获取针对目标伸缩组的至少一个工作指标的监控数据,并对上述监控数据进行统计分析后得到对应的统计信息,最终确定最新的实例规格。因此,通过图3所示的实施例来进一步描述虚拟资源的自动弹性伸缩装置对实例规格的更新过程。需要说明的是,本发明实施例的更新方法可以进行循环执行,由于每次更新的算法和过程是一致的,因此这里仅对一次更新的过程进行描述。
请参阅图3,图3是本发明实施例提供的一种伸缩组实例规格的更新方法的流程示意图,所述方法包括:
步骤S301,获取针对所述目标伸缩组的至少一个工作指标的监控数据。
如上一实施例中所述,工作指标是能够反映伸缩组的整体工作情况或者伸缩组的某一个实例的工作情况的一系列指标数据,例如,工作指标可以是伸缩组中的所有实例平均的CPU使用量、内存使用量、磁盘占用量、磁盘读写量以及网络吞吐量等等;也可以是伸缩组中的某一个实例的CPU使用量、内存使用量、磁盘占用量、磁盘读写量以及网络吞吐量等等。可以认为虚拟资源的自动弹性伸缩装置在监控目标伸缩组的工作指标时,是定时的对每个工作指标对应的监控数据进行采集,每个采样时间点都对应一个监控数据。而对目标伸缩组的至少一个工作指标的监控数据进行统计分析时,可以预设一个统计周期,那么获取一个统计周期内的监控数据,就是获取统计周期对应的时间长度内的每个采样时间点所采集的监控数据。
例如,若设统计周期为1小时,每隔1分钟对目标伸缩组的工作指标的监控数据进行一次采样,则在一个统计周期内存在59组采样的监控数据,那么虚拟资源的自动弹性伸缩装置可以获取该统计周期内采集的59组采样的监控数据。
步骤S302,根据针对所述目标伸缩组的至少一个工作指标的监控数据,确定针对所述目标伸缩组的至少一个工作指标的监控数据的统计信息。
统计信息是将获取到的多个监控数据根据数学统计方法计算得到的统计数据,具体可以包括但不限于目标伸缩组的至少一个工作指标的多个监控数据的平均值、上限值、下限值、突发值、概率分布函数或联合概率分布函数。
举例来说,虚拟资源的自动弹性伸缩装置获取到了一个周期内定时采集的60个内存使用量的监控数据,则可以根据平均值的数据计算公式计算这60个内存使用量的监控数据的平均值;也可以将监控数据中最大的内存使用量数值作为上限值,最小的内存使用量数值作为下限值;也可以将监控数据中高于平均值一定数量的监控数据作为突发值;还可以通过概率分布函数的数学计算公式计算这60个内存使用量的概率分布函数。
其中,在计算加权平均值时,虚拟资源的自动弹性伸缩装置可以对每个监控数据都分配相同的权重,也可以根据定时采集监控数据时多个采样时间点的时间前后顺序分配多个监控数据的权重值。例如,采样时间点的时间越晚,即离当前进行统计分析的时刻越近,则分配的权重值越高,相反则分配的权重值越低。
进一步的,还可以有多种权重比例的分配,例如,第一种权重分配比例可以是第一个采样点的权重为0.1,第二个采样点的权重为0.2,第三个采样点的权重为0.3,以此类推;第二种权重分配比例可以是第一个采样点的权重为0.1,第二个采样点的权重为0.5,第三个采样点的权重为1,以此类推。可以看出,第一种权重分配比例期望的是获取到一种比较平均的均值统计信息,而第二种权重分配比例则期望获取到一种更贴近采样时间点较晚,即离当前时刻较近的均值统计信息。
进一步的,虚拟资源的自动弹性伸缩装置不仅可以只统计针对一个工作指标的监控数据的统计信息,还可以对多个工作指标的监控数据进行联合统计,例如,可以计算CPU使用量和内存使用量的联合概率分布函数。
在本实施例中,各工作指标的监控数据所对应的统计信息可以是一样的,也可以是不一样的,这里不作具体限定。例如,根据实验经验来说,如果CPU使用量的平均值更准确,则可以计算CPU使用量的平均值,如果网络吞吐量的突发值对实例规格的配置更有参考价值,则可以计算网络吞吐量的突发值。
步骤S303,根据所述目标伸缩组的至少一个工作指标的监控数据的统计信息,确定所述目标伸缩组的实例规格。
虚拟资源的自动弹性伸缩装置计算得到了一个统计周期内所述目标伸缩组的至少一个工作指标的监控数据的统计信息后,可以进一步确定出能够满足这些工作指标的监控数据的统计信息的实例规格。
例如,若计算得到的网络吞吐量的均值为500Mb/s,那么可以确定一个能够满足该统计周期内网络吞吐量均值的网络带宽数据作为目标伸缩组的实例规格中针对网络带宽的规格,例如,可以将实例规格中的网络带宽设定为1Gb/s。
又例如,若计算得到的内存使用量的上限值为3G,那么可以确定一个能够满足该统计周期内内存使用量上限值的内存大小数据作为目标伸缩组的实例规格中针对内存大小的规格,例如,可以将实例规格中的内存大小设定为3G。
进一步可选的,根据上述得到的统计信息所确定的实例规格是可以有很多个的,例如,满足内存使用量上限值为3G的内存大小可以设定为3G,也可以是4G等等。因此,在一些实施场景中,可以根据不同的需求为每一种工作指标对应的多种统计信息中的统计数据设定不同的实例规格分级策略,不同的分级策略所对应得到的实例规格可以不同程度的满足统计信息。
举例来说,若统计信息中的CPU使用量的均值为2G,针对CPU使用量均值的实例规格分级策略有三种,第一种是实例规格能够满足50%的CPU使用量均值,第二种是实例规格能够满足100%的CPU使用量均值,第三种是实例规格能够满足200%的CPU使用量均值。虚拟资源的自动弹性伸缩装置可以根据当前的需求选择一种分级策略,例如若选择第一种分级策略,那么可以将实例规格中CPU主频设定为1G,即满足50%的统计得到的CPU使用量均值;若选择第三种级别,那么可以将实例规格中CPU主频设定为4G,即满足200%的统计得到的CPU使用量均值。
又例如,若统计信息中的CPU使用量和内存使用量的联合概率分布反映出:CPU使用量小于1G且内存使用量小于2G的概率为40%,CPU使用量小于2G且内存使用量小于4G的概率为60%,CPU使用量小于3G且内存使用量小于6G的概率为80%。那么针对CPU使用量和内存使用量联合概率分布的实例规格分级策略也可以有三种,分别为能够满足40%的CPU使用量和内存使用量、能够满足60%的CPU使用量和内存使用量以及能够满足80%的CPU使用量和内存使用量的实例规格分级策略。如果选择第一种实例规格分级策略,那么可以将CPU主频设定为1G,内存大小设置为2G,即满足40%的CPU使用量和内存使用量;如果选择第二种实例规格分级策略,那么可以将CPU主频设定为2G,内存大小设置为4G,即满足60%的CPU使用量和内存使用量。
进一步的,在确定了当前最新的目标伸缩组实例规格之后,需要对生成的最新实例规格进行存储,具体的存储方式可以是是步骤S304中描述的,也可以是步骤S305和S306中描述的。这两种存储方式则分别对应的了图2所示的实施例中虚拟资源的自动弹性伸缩装置在增加或减少实例时,获取目标伸缩组实例规格的两种方式。
步骤S304,将确定得到的所述目标伸缩组的实例规格覆盖所述目标伸缩组的原有实例规格。
原有实例规格可以是针对目标伸缩组配置的初始实例规格,也可以是虚拟资源的自动弹性伸缩装置在前一个统计周期中根据目标伸缩组的监控数据的统计信息更新的实例规格。在一些实施场景中,当确定了当前的统计周期对应的最新的实例规格后,就可以将当前确定得到的目标伸缩组的最新的实例规格替换目标伸缩组的原有实例规格进行存储。也就是说,虚拟资源的自动弹性伸缩装置内仅存储一个目标伸缩组的最新实例规格。
步骤S305,获取确定得到的所述目标伸缩组的实例规格的创建时间。
步骤S306,将所述创建时间与所述目标伸缩组的实例规格对应存储至预设的所述目标伸缩组的实例规格集合中,所述目标伸缩组的实例规格集合包括多个创建时间对应的所述目标伸缩组的实例规格。
在一些实施场景中,在确定了目标伸缩组的实例规格后,就可以记录该实例规格中的配置,即生成一个实例规格的版本或者文档,此时可以记录该实例规格的创建时间或者记录可以表现创建时间先后顺序的标识。在存储的时候,就可以将实例规格与其对应的创建时间或者表现创建时间先后顺序的标识对应的存储在预设的目标伸缩组的实例规格集合,该实例规格集合中可以包括目标伸缩组在之前的各统计周期中更新的实例规格和对应的创建时间。也就是说,通过目标伸缩组的实例规格集合来保存目标伸缩组的每一次更新的实例规格以及对应的创建时间。
在图3所示的实施例中,虚拟资源的自动弹性伸缩装置根据针对目标伸缩组的至少一个工作指标的监控数据,确定统计信息,再根据统计信息,确定能够满足该统计信息的目标伸缩组的实例规格。也就是说,虚拟资源的自动弹性伸缩装置将目标伸缩组的工作指标的监控数据经过统计分析后,得到能够所反映目标伸缩组的负载需求的统计信息,从而可以根据目标伸缩组的负载需求定时的更新目标伸缩组的实例规格,避免固定实例规格时所造成的实例规格初始配置难的问题。
请参阅图4,图4是本发明实施例提供的一种虚拟资源的自动弹性伸缩装置的组成结构示意图。如图4所示,该装置包括:接收模块41、处理模块42以及发送模块43,其中,如图5所示,处理模块42可以包括:伸缩策略确定模块421、实例规格获取模块422、监控数据获取模块423、统计信息确定模块424、实例规格确定模块425、第一存储模块426、创建时间获取模块427以及第二存储模块428,具体的:
接收模块41,用于接收针对目标伸缩组的至少一个工作指标的监控告警;
处理模块42包括:
伸缩策略确定模块421,用于根据所述监控告警,确定针对所述目标伸缩组的伸缩策略;
实例规格获取模块422,用于当所述伸缩策略为增加实例时,获取所述目标伸缩组的实例规格,所述实例规格为预先根据针对所述目标伸缩组的至少一个工作指标的监控数据的统计信息确定得到的;
发送模块43,用于向实例资源管理平台发送携带所述实例规格的增加实例请求,所述增加实例请求用于指示所述实例资源管理平台按照所述实例规格,为所述目标伸缩组增加实例。
可选的,所述目标伸缩组的实例规格存在多个;
所述实例规格获取模块422具体用于:获取所述目标伸缩组的多个实例规格中创建时间最晚的实例规格;
发送模块43具体用于:向所述实例资源管理平台发送携带所述创建时间最晚的实例规格的增加实例请求,所述增加实例请求用于指示所述实例资源管理平台按照所述创建时间最晚的实例规格,为所述目标伸缩组增加实例。
可选的,所述处理模块42还包括:
监控数据获取模块423,用于获取针对所述目标伸缩组的至少一个工作指标的监控数据;
统计信息确定模块424,用于根据针对所述目标伸缩组的至少一个工作指标的监控数据,确定针对所述目标伸缩组的至少一个工作指标的监控数据的统计信息;
实例规格确定模块425,用于根据所述目标伸缩组的至少一个工作指标的监控数据的统计信息,确定所述目标伸缩组的实例规格。
可选的,所述监控数据包括在多个采样时间点采集的多个监控数据;
所述统计信息确定模块424具体用于:
根据所述多个采样时间点的时间前后顺序,确定所述多个采样时间点分别对应的多个监控数据的权重值;
根据所述多个采样时间点分别对应的多个监控数据,结合所述多个监控数据对应的权重值,计算针对所述目标伸缩组的至少一个工作指标的监控数据的统计信息。
可选的,所述至少一个工作指标的监控数据的统计信息分别存在对应的实例规格分级策略;
所述实例规格确定模块425具体用于:
获取所述目标伸缩组的至少一个工作指标的监控数据的统计信息对应的实例规格分级策略;
根据所述目标伸缩组的至少一个工作指标的监控数据的统计信息,结合所述至少一个工作指标的监控数据的统计信息对应的实例规格分级策略,确定所述目标伸缩组的实例规格。
可选的,所述处理模块42还包括:
第一存储模块426,用于将确定得到的所述目标伸缩组的实例规格覆盖所述目标伸缩组的原有实例规格。
可选的,所述处理模块42还包括:
创建时间获取模块427,获取确定得到的所述目标伸缩组的实例规格的创建时间;
第二存储模块428,用于将所述创建时间与所述目标伸缩组的实例规格对应存储至预设的所述目标伸缩组的实例规格集合中,所述目标伸缩组的实例规格集合包括多个创建时间对应的所述目标伸缩组的实例规格。
可选的,所述实例规格获取模块422还用于:
当所述伸缩策略为减少实例时,获取所述目标伸缩组的实例规格;
所述发送模块43还用于:向所述实例资源管理平台发送携带所述实例规格的减少实例请求,所述减少实例请求用于指示所述实例资源管理平台根据所述实例规格,删除所述目标伸缩组的多个实例中的至少一个实例。
可选的,所述目标伸缩组的实例规格存在多个;
所述实例规格获取模块422具体用于:获取所述目标伸缩组的多个实例规格中创建时间最早的实例规格;
所述发送模块43具体用于:向所述实例资源管理平台发送携带所述创建时间最早的实例规格的减少实例请求,所述减少实例请求用于指示所述实例资源管理平台在所述目标伸缩组的多个实例中删除至少一个实例规格的创建时间最早的实例。
在本发明实施例中,虚拟资源的自动弹性伸缩装置接收到针对目标伸缩组的至少一个工作指标的监控告警根据监控告警后,就确定针对目标伸缩组的伸缩策略,在伸缩策略确定为增加实例的情况时,获取预先根据目标伸缩组的至少一个工作指标的监控数据的统计信息确定得到的实例规格,最后通过实例资源管理平台以该实例规格为目标伸缩组新增的实例进行配置。也就是说,虚拟资源的自动弹性伸缩装置新增实例的实例规格,是根据伸缩组的工作指标所反映的负载情况来进行更新的,这样就可以避免固定实例规格时所造成的实例规格初始配置难的问题,可以提升伸缩组实例的资源分配精度和资源利用率,同时也可以保证伸缩组的相对稳定。
图6是本发明实施例提供的另一种虚拟资源的自动弹性伸缩装置的组成结构示意图。如图6所示,该装置包括处理器61、存储器62以及通信接口63。处理器61连接到存储器62和通信接口63,例如处理器61可以通过总线连接到存储器62和通信接口63。该装置在实际场景中可以为用于实现弹性伸缩功能的服务器。
处理器61被配置为支持所述虚拟资源的自动弹性伸缩装置执行上述方法中相应的功能。该处理器61可以是中央处理器(英文:central processing unit,CPU),网络处理器(英文:network processor,NP),硬件芯片或者其任意组合。上述硬件芯片可以是专用集成电路(英文:application-specific integrated circuit,ASIC),可编程逻辑器件(英文:programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(英文:complex programmable logic device,CPLD),现场可编程逻辑门阵列(英文:field-programmable gate array,FPGA),通用阵列逻辑(英文:generic array logic,GAL)或其任意组合。
存储器62存储器用于存储目标伸缩组的实例规格以及程序代码等。存储器62可以包括易失性存储器(英文:volatile memory),例如随机存取存储器(英文:random accessmemory,缩写:RAM);存储器62也可以包括非易失性存储器(英文:non-volatile memory),例如只读存储器(英文:read-only memory,缩写:ROM),快闪存储器(英文:flash memory),硬盘(英文:hard disk drive,缩写:HDD)或固态硬盘(英文:solid-state drive,缩写:SSD);存储器62还可以包括上述种类的存储器的组合。
通信接口63用于与其他设备无线连接,例如监控设备、实例资源管理平台。
处理器61可以调用所述程序代码以执行以下操作:
通过通信接口63接收针对目标伸缩组的至少一个工作指标的监控告警;根据所述监控告警,确定针对所述目标伸缩组的伸缩策略;当所述伸缩策略为增加实例时,获取所述目标伸缩组的实例规格,所述实例规格为预先根据针对所述目标伸缩组的至少一个工作指标的监控数据的统计信息确定得到的;通过通信接口63向实例资源管理平台发送携带所述实例规格的增加实例请求,所述增加实例请求用于指示所述实例资源管理平台按照所述实例规格,为所述目标伸缩组增加实例。
可选的,处理器61获取所述目标伸缩组的实例规格之前,先获取针对所述目标伸缩组的至少一个工作指标的监控数据;根据针对所述目标伸缩组的至少一个工作指标的监控数据,确定针对所述目标伸缩组的至少一个工作指标的监控数据的统计信息;根据所述目标伸缩组的至少一个工作指标的监控数据的统计信息,确定所述目标伸缩组的实例规格。
可选的,处理器61确定所述目标伸缩组的实例规格之后,将确定得到的所述目标伸缩组的实例规格覆盖所述目标伸缩组的原有实例规格。
可选的,处理器61确定所述目标伸缩组的实例规格之后,获取确定得到的所述目标伸缩组的实例规格的创建时间;将所述创建时间与所述目标伸缩组的实例规格对应存储至预设的所述目标伸缩组的实例规格集合中,所述目标伸缩组的实例规格集合包括多个创建时间对应的所述目标伸缩组的实例规格。
可选的,所述监控数据包括在多个采样时间点采集的多个监控数据;当根据针对所述目标伸缩组的至少一个工作指标的监控数据,确定针对所述目标伸缩组的至少一个工作指标的监控数据的统计信息时,处理器61根据所述多个采样时间点的时间前后顺序,确定所述多个采样时间点分别对应的多个监控数据的权重值;根据所述多个采样时间点分别对应的多个监控数据,结合所述多个监控数据对应的权重值,计算针对所述目标伸缩组的至少一个工作指标的监控数据的统计信息。
可选的,所述至少一个工作指标的监控数据的统计信息分别存在对应的实例规格分级策略;当根据所述目标伸缩组的至少一个工作指标的监控数据的统计信息,确定所述目标伸缩组的实例规格时,处理器61获取所述目标伸缩组的至少一个工作指标的监控数据的统计信息对应的实例规格分级策略;根据所述目标伸缩组的至少一个工作指标的监控数据的统计信息,结合所述至少一个工作指标的监控数据的统计信息对应的实例规格分级策略,确定所述目标伸缩组的实例规格。
可选的,所述目标伸缩组的实例规格存在多个;当获取所述目标伸缩组的实例规格时,处理器61获取所述目标伸缩组的多个实例规格中创建时间最晚的实例规格;通过通信接口63向所述实例资源管理平台发送携带所述创建时间最晚的实例规格的增加实例请求,所述增加实例请求用于指示所述实例资源管理平台按照所述创建时间最晚的实例规格,为所述目标伸缩组增加实例。
可选的,当所述伸缩策略为减少实例时,处理器61还获取所述目标伸缩组的实例规格;通过通信接口63向所述实例资源管理平台发送携带所述实例规格的减少实例请求,所述减少实例请求用于指示所述实例资源管理平台根据所述实例规格,删除所述目标伸缩组的多个实例中的至少一个实例。
可选的,所述目标伸缩组的实例规格存在多个;当获取所述目标伸缩组的实例规格时,处理器61获取所述目标伸缩组的多个实例规格中创建时间最早的实例规格;通过通信接口63向所述实例资源管理平台发送携带所述创建时间最早的实例规格的减少实例请求,所述减少实例请求用于指示所述实例资源管理平台在所述目标伸缩组的多个实例中删除至少一个实例规格的创建时间最早的实例。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (13)
1.一种虚拟资源的自动弹性伸缩方法,其特征在于,所述方法包括:
接收针对目标伸缩组的至少一个工作指标的监控告警;
根据所述监控告警,确定针对所述目标伸缩组的伸缩策略;
当所述伸缩策略为增加实例时,获取所述目标伸缩组的实例规格,所述实例规格为预先根据针对所述目标伸缩组的至少一个工作指标的监控数据的统计信息确定得到的;
向实例资源管理平台发送携带所述实例规格的增加实例请求,所述增加实例请求用于指示所述实例资源管理平台按照所述实例规格,为所述目标伸缩组增加所述实例规格的实例;
其中,所述目标伸缩组的实例规格存在多个;
所述获取所述目标伸缩组的实例规格包括:
获取所述目标伸缩组的多个实例规格中创建时间最晚的实例规格;
所述向实例资源管理平台发送携带所述实例规格的增加实例请求包括:
向所述实例资源管理平台发送携带所述创建时间最晚的实例规格的增加实例请求,所述增加实例请求用于指示所述实例资源管理平台按照所述创建时间最晚的实例规格,为所述目标伸缩组增加所述创建时间最晚的实例规格的实例;
当所述伸缩策略为减少实例时,获取所述目标伸缩组的多个实例规格中创建时间最早的实例规格;
向所述实例资源管理平台发送携带所述创建时间最早的实例规格的减少实例请求,所述减少实例请求用于指示所述实例资源管理平台在所述目标伸缩组的多个实例中删除至少一个实例规格的创建时间最早的实例。
2.如权利要求1所述的方法,其特征在于,所述获取所述目标伸缩组的实例规格之前,还包括:
获取针对所述目标伸缩组的至少一个工作指标的监控数据;
根据针对所述目标伸缩组的至少一个工作指标的监控数据,确定针对所述目标伸缩组的至少一个工作指标的监控数据的统计信息;
根据所述目标伸缩组的至少一个工作指标的监控数据的统计信息,确定所述目标伸缩组的实例规格。
3.如权利要求2所述的方法,其特征在于,所述确定所述目标伸缩组的实例规格之后,还包括:
将确定得到的所述目标伸缩组的实例规格覆盖所述目标伸缩组的原有实例规格。
4.如权利要求2所述的方法,其特征在于,所述确定所述目标伸缩组的实例规格之后,还包括:
获取确定得到的所述目标伸缩组的实例规格的创建时间;
将所述创建时间与所述目标伸缩组的实例规格对应存储至预设的所述目标伸缩组的实例规格集合中,所述目标伸缩组的实例规格集合包括多个创建时间对应的所述目标伸缩组的实例规格。
5.如权利要求2所述的方法,其特征在于,所述监控数据包括在多个采样时间点采集的多个监控数据;
所述根据针对所述目标伸缩组的至少一个工作指标的监控数据,确定针对所述目标伸缩组的至少一个工作指标的监控数据的统计信息包括:
根据所述多个采样时间点的时间前后顺序,确定所述多个采样时间点分别对应的多个监控数据的权重值;
根据所述多个采样时间点分别对应的多个监控数据,结合所述多个监控数据对应的权重值,计算针对所述目标伸缩组的至少一个工作指标的监控数据的统计信息。
6.如权利要求2所述的方法,其特征在于,所述至少一个工作指标的监控数据的统计信息分别存在对应的实例规格分级策略;
所述根据所述目标伸缩组的至少一个工作指标的监控数据的统计信息,确定所述目标伸缩组的实例规格包括:
获取所述目标伸缩组的至少一个工作指标的监控数据的统计信息对应的实例规格分级策略;
根据所述目标伸缩组的至少一个工作指标的监控数据的统计信息,结合所述至少一个工作指标的监控数据的统计信息对应的实例规格分级策略,确定所述目标伸缩组的实例规格。
7.一种虚拟资源的自动弹性伸缩装置,其特征在于,所述装置包括:
接收模块,用于接收针对目标伸缩组的至少一个工作指标的监控告警;
处理模块,用于根据所述监控告警,确定针对所述目标伸缩组的伸缩策略;
所述处理模块还用于:
当所述伸缩策略为增加实例时,获取所述目标伸缩组的实例规格,所述实例规格为预先根据针对所述目标伸缩组的至少一个工作指标的监控数据的统计信息确定得到的;
发送模块,用于向实例资源管理平台发送携带所述实例规格的增加实例请求,所述增加实例请求用于指示所述实例资源管理平台按照所述实例规格,为所述目标伸缩组增加实例;
其中,所述目标伸缩组的实例规格存在多个;
所述处理模块还用于:获取所述目标伸缩组的多个实例规格中创建时间最晚的实例规格;
所述发送模块还用于:向所述实例资源管理平台发送携带所述创建时间最晚的实例规格的增加实例请求,所述增加实例请求用于指示所述实例资源管理平台按照所述创建时间最晚的实例规格,为所述目标伸缩组增加实例;
所述处理模块还用于:当所述伸缩策略为减少实例时,获取所述目标伸缩组的多个实例规格中创建时间最早的实例规格;
所述发送模块还用于:向所述实例资源管理平台发送携带所述创建时间最早的实例规格的减少实例请求,所述减少实例请求用于指示所述实例资源管理平台在所述目标伸缩组的多个实例中删除至少一个实例规格的创建时间最早的实例。
8.如权利要求7所述的装置,其特征在于,所述处理模块还用于:
获取针对所述目标伸缩组的至少一个工作指标的监控数据;
根据针对所述目标伸缩组的至少一个工作指标的监控数据,确定针对所述目标伸缩组的至少一个工作指标的监控数据的统计信息;
根据所述目标伸缩组的至少一个工作指标的监控数据的统计信息,确定所述目标伸缩组的实例规格。
9.如权利要求8所述的装置,其特征在于,所述处理模块还用于:
将确定得到的所述目标伸缩组的实例规格覆盖所述目标伸缩组的原有实例规格。
10.如权利要求8所述的装置,其特征在于,所述处理模块还用于:
获取确定得到的所述目标伸缩组的实例规格的创建时间;
将所述创建时间与所述目标伸缩组的实例规格对应存储至预设的所述目标伸缩组的实例规格集合中,所述目标伸缩组的实例规格集合包括多个创建时间对应的所述目标伸缩组的实例规格。
11.如权利要求8所述的装置,其特征在于,所述监控数据包括在多个采样时间点采集的多个监控数据;
所述处理模块还用于:
根据所述多个采样时间点的时间前后顺序,确定所述多个采样时间点分别对应的多个监控数据的权重值;
根据所述多个采样时间点分别对应的多个监控数据,结合所述多个监控数据对应的权重值,计算针对所述目标伸缩组的至少一个工作指标的监控数据的统计信息。
12.如权利要求8所述的装置,其特征在于,所述至少一个工作指标的监控数据的统计信息分别存在对应的实例规格分级策略;
所述处理模块还用于:
获取所述目标伸缩组的至少一个工作指标的监控数据的统计信息对应的实例规格分级策略;
根据所述目标伸缩组的至少一个工作指标的监控数据的统计信息,结合所述至少一个工作指标的监控数据的统计信息对应的实例规格分级策略,确定所述目标伸缩组的实例规格。
13.一种虚拟资源的自动弹性伸缩装置,其特征在于,所述装置包括处理器、存储器以及通信接口,所述存储器用于存储程序代码,所述处理器调用所述存储器中存储的程序代码执行权利要求1至权利要求6任一所述的方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201610594541.0A CN107656807B (zh) | 2016-07-26 | 2016-07-26 | 一种虚拟资源的自动弹性伸缩方法及装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201610594541.0A CN107656807B (zh) | 2016-07-26 | 2016-07-26 | 一种虚拟资源的自动弹性伸缩方法及装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN107656807A CN107656807A (zh) | 2018-02-02 |
| CN107656807B true CN107656807B (zh) | 2021-06-29 |
Family
ID=61127441
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201610594541.0A Active CN107656807B (zh) | 2016-07-26 | 2016-07-26 | 一种虚拟资源的自动弹性伸缩方法及装置 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN107656807B (zh) |
Families Citing this family (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN108932156A (zh) * | 2018-08-22 | 2018-12-04 | 郑州云海信息技术有限公司 | 一种信息获取方法及装置 |
| CN109412841A (zh) * | 2018-09-30 | 2019-03-01 | 北京金山云网络技术有限公司 | 虚拟机资源的调整方法、装置和云平台 |
| CN109445911B (zh) * | 2018-11-06 | 2020-12-18 | 北京金山云网络技术有限公司 | Cvm实例的调整方法、装置、云平台和服务器 |
| CN111190719B (zh) * | 2018-11-14 | 2024-06-18 | 北京京东尚科信息技术有限公司 | 优化集群资源分配的方法、装置、介质及电子设备 |
| CN110175068A (zh) * | 2019-04-16 | 2019-08-27 | 平安科技(深圳)有限公司 | 分布式系统中主机数量弹性伸缩方法、装置和计算机设备 |
| CN110502340A (zh) * | 2019-08-09 | 2019-11-26 | 广东浪潮大数据研究有限公司 | 一种资源动态调整方法、装置、设备及存储介质 |
| CN113760516B (zh) * | 2020-06-03 | 2025-07-25 | 华为云计算技术有限公司 | 一种多云环境下的弹性伸缩方法、装置、设备及介质 |
| CN113900766B (zh) * | 2020-07-06 | 2025-08-05 | 华为云计算技术有限公司 | 一种计算实例规格变更方法、装置及设备 |
| CN113918315A (zh) * | 2020-07-07 | 2022-01-11 | 华为技术有限公司 | 容量调整的方法和装置、系统以及计算设备 |
| CN111857977B (zh) * | 2020-09-21 | 2020-12-25 | 腾讯科技(深圳)有限公司 | 弹性伸缩方法、装置、服务器和存储介质 |
| CN115766336B (zh) * | 2022-09-27 | 2024-10-11 | 中国联合网络通信集团有限公司 | 资源分配方法、装置、设备及存储介质 |
| CN115934342A (zh) * | 2022-12-21 | 2023-04-07 | 平安银行股份有限公司 | 一种作业资源调优方法、装置、设备及存储介质 |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN103257683A (zh) * | 2013-05-07 | 2013-08-21 | 华为技术有限公司 | 一种云计算业务伸缩的方法和装置 |
| TW201407476A (zh) * | 2012-08-06 | 2014-02-16 | Hon Hai Prec Ind Co Ltd | 虛擬機資源配置系統及方法 |
| CN103810020A (zh) * | 2014-02-14 | 2014-05-21 | 华为技术有限公司 | 虚拟机弹性伸缩方法及装置 |
| US9154549B2 (en) * | 2011-10-27 | 2015-10-06 | Cisco Technology, Inc. | Dynamic server farms |
| CN105159775A (zh) * | 2015-08-05 | 2015-12-16 | 浪潮(北京)电子信息产业有限公司 | 基于负载均衡器的云计算数据中心的管理系统和管理方法 |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2014038364A (ja) * | 2010-10-27 | 2014-02-27 | Hitachi Ltd | リソース管理サーバ、リソース管理方法及びリソース管理プログラム |
-
2016
- 2016-07-26 CN CN201610594541.0A patent/CN107656807B/zh active Active
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9154549B2 (en) * | 2011-10-27 | 2015-10-06 | Cisco Technology, Inc. | Dynamic server farms |
| TW201407476A (zh) * | 2012-08-06 | 2014-02-16 | Hon Hai Prec Ind Co Ltd | 虛擬機資源配置系統及方法 |
| CN103257683A (zh) * | 2013-05-07 | 2013-08-21 | 华为技术有限公司 | 一种云计算业务伸缩的方法和装置 |
| CN103810020A (zh) * | 2014-02-14 | 2014-05-21 | 华为技术有限公司 | 虚拟机弹性伸缩方法及装置 |
| CN105159775A (zh) * | 2015-08-05 | 2015-12-16 | 浪潮(北京)电子信息产业有限公司 | 基于负载均衡器的云计算数据中心的管理系统和管理方法 |
Non-Patent Citations (1)
| Title |
|---|
| 多目标优化的云计算虚拟集群动态调整方法;张玮 等;《济南大学学报》;20140306;第28卷(第5期);第378-379页 * |
Also Published As
| Publication number | Publication date |
|---|---|
| CN107656807A (zh) | 2018-02-02 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN107656807B (zh) | 一种虚拟资源的自动弹性伸缩方法及装置 | |
| CN108683720B (zh) | 一种容器集群服务配置方法及装置 | |
| CN110545326B (zh) | 集群负载调度方法、装置、电子设备和存储介质 | |
| US12112214B2 (en) | Predicting expansion failures and defragmenting cluster resources | |
| JP6191691B2 (ja) | 異常検出装置、制御方法、及びプログラム | |
| CN113010260A (zh) | 容器数量弹性伸缩方法以及容器数量弹性伸缩方法系统 | |
| US20160378557A1 (en) | Task allocation determination apparatus, control method, and program | |
| KR20120102664A (ko) | 미래 사용 추정에 기반한 저장 메모리 할당 | |
| CN111522636A (zh) | 应用容器的调整方法、调整系统、计算机可读介质及终端设备 | |
| WO2020172852A1 (en) | Computing resource scheduling method, scheduler, internet of things system, and computer readable medium | |
| JPWO2008102739A1 (ja) | 仮想サーバシステム及び物理サーバ選択方法 | |
| CN113312371A (zh) | 执行计划的处理方法、设备及系统 | |
| CN112367384B (zh) | 基于Kafka集群的动态限速方法、装置以及计算机设备 | |
| CN111966289A (zh) | 基于Kafka集群的分区优化方法和系统 | |
| CN119166592A (zh) | 基于冷数据迁移的数据管理方法、装置、设备及存储介质 | |
| CN117666947A (zh) | 一种数据存储方法、装置、电子设备及计算机可读介质 | |
| CN114490078A (zh) | 一种微服务的动态缩扩容方法、装置及设备 | |
| US11416152B2 (en) | Information processing device, information processing method, computer-readable storage medium, and information processing system | |
| CN111949736B (zh) | 一种数据库负载均衡方法、装置、电子设备和存储介质 | |
| US11212174B2 (en) | Network management device and network management method | |
| KR20170048721A (ko) | 분산 처리를 위한 대용량 파일의 블록화 방법 및 그 장치 | |
| CN115065685B (zh) | 云计算资源调度方法、装置、设备及介质 | |
| CN113448747B (zh) | 数据传输方法、装置、计算机设备和存储介质 | |
| US9367439B2 (en) | Physical memory usage prediction | |
| CN117349001A (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 | ||
| TR01 | Transfer of patent right |
Effective date of registration: 20220215 Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province Patentee after: Huawei Cloud Computing Technologies Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd. |
|
| TR01 | Transfer of patent right |