一种进行伸缩处理的方法、装置和系统与流程

文档序号:12824543阅读:222来源:国知局
一种进行伸缩处理的方法、装置和系统与流程

本发明涉及互联网技术领域,特别涉及一种进行伸缩处理的方法、装置和系统。



背景技术:

随着互联网技术的发展,互联网的功能也越来越强大,使用云计算系统的应用也来越广泛。云计算系统中可以设置有多个虚拟应用服务器(又可称作应用实例),如虚拟机或容器等,若干个虚拟应用服务器可以组成一个业务组,来为某业务提供后台服务。

虚拟应用服务器在使用的过程中,可以周期性的检测自身的状态数据,状态数据可以是cpu(centralprocessingunit,中央处理器)使用率、单位时间内的用户访问数量,以及内存使用率等。业务组中的每个虚拟应用服务器可以将检测到的状态数据发送给虚拟应用服务器的管理设备,管理设备可以包括伸缩引擎和虚拟应用服务器管理器。管理设备可以根据该业务组中的每个虚拟应用服务器对应的状态数据,判断该业务组是否满足预设的伸缩条件,如果满足,则可以根据预先存储的业务提供商设置的伸缩策略,进行伸缩处理。例如,管理设备可以分别确定该业务组中的每个虚拟应用服务器对应的状态数据是否超过预设状态数据上限,进而确定对应的状态数据超过预设状态数据上限的虚拟应用服务器的数量,如果该数量大于预设阈值,则可以在该业务组中,增加预设数量虚拟应用服务器。管理设备也可以分别确定该业务组中的每个虚拟应用服务器对应的状态数据是否小于预设状态数据下限,进而确定对应的状态数据小于预设状态数据下限的虚拟应用服务器的数量,如果该数量大于预设阈值,则可以在该业务组中,减少预设数量虚拟应用服务器。这样,当该业务的访问量较大时,可以增加虚拟应用服务器的数量,以使用户可以正常使用该业务,当该业务的访问量较小时,可以减少虚拟应用服务器的数量,提高资源的利用率。

然而,现有的管理设备只有在接收到业务组中的所有虚拟应用服务器发送 的状态数据后,才能确定是否进行伸缩处理,如果虚拟应用服务器发送的状态数据出现延时,或丢失的情况,管理设备将不能进行伸缩处理,导致进行伸缩处理的及时性较差。



技术实现要素:

本发明实施例提供了一种在云计算中对虚拟应用服务器进行伸缩处理方法、装置和系统,可以确定发生延时的虚拟应用服务器当前的负载状态消息,从而进行伸缩处理,提高进行伸缩处理的及时性。所述技术方案如下:

第一方面,提供了一种在云计算中对虚拟应用服务器进行伸缩处理方法。其中,管理设备获取未发送负载状态消息的第一虚拟应用服务器的负载均衡权值和最近一次发送的负载状态消息后,根据所述第一虚拟应用服务器的负载均衡权值和所述第一虚拟应用服务器最近一次发送的负载状态消息,估计第一虚拟应用服务器当前的负载状态消息。然后,管理设备根据第一虚拟应用服务器当前的负载状态消息、其它虚拟应用服务器当前的负载状态消息,以及预设的伸缩策略,对虚拟应用服务器进行伸缩处理。这样,管理设备可以确定未发送负载状态消息的虚拟应用服务器当前的负载状态消息,进而可以根据业务组中所有的虚拟应用服务器的负载状态消息,进行伸缩处理,从而可以提高伸缩处理的及时性。

在一个可能的设计中,管理设备接收至少一个虚拟应用服务器发送的负载状态消息,所述负载状态消息为过载状态消息或轻载状态消息,确定接收到的负载状态消息中的过载状态消息的数量满足预设上报条件,或确定接收到的负载状态消息中的轻载状态消息的数量满足预设上报条件时,向未发送负载状态消息的第二虚拟应用服务器发送上报通知;获取在发送上报通知后预设时长内未发送负载状态消息的第一虚拟应用服务器的负载均衡权值和所述第一虚拟应用服务器最近一次发送的负载状态消息。

虚拟应用服务器可以周期性的获取当前的负载状态,然后可以将获取到的负载状态与预先存储的负载状态阈值进行对比,确定对应的负载状态消息,然后可以向管理设备发送负载状态消息。负载状态消息可以包括过载状态消息、轻载状态消息和正常状态消息,管理设备中可以预先设置上报条件,管理设备确定接收到的过载状态消息的数量满足预设上报条件,或确定接收到的轻载状 态消息的数量满足预设上报条件时,向未发送负载状态消息的第二虚拟应用服务器发送上报通知,并开始计时。这样,达到预设时长时,可以确定未发送负载状态消息的第一虚拟应用服务器,进而获取第一虚拟应用服务器的负载均衡权值和第一虚拟应用服务器最近一次发送的负载状态消息。

在一个可能的设计中,确定接收到的负载状态消息中的过载状态消息的数量在负载状态消息的总数量中所占比例大于第一预设阈值;或者,确定接收到的负载状态消息中的轻载状态消息的数量在负载状态消息的总数量中所占比例大于所述第一预设阈值。

管理设备可以接收负载状态消息,如过载状态消息或轻载状态消息,管理设备接收到负载状态消息时,可以计算接收到的过载状态消息的数量在负载状态消息的总数量中所占比例,以及轻载状态消息的数量在负载状态消息的总数量中所占比例。其中,负载状态消息的总数量可以是业务组所包含的虚拟应用服务器的数量。管理设备可以判断计算出的比例是否大于第一预设阈值,管理设备确定接收到的过载状态消息的数量在负载状态消息的总数量中所占比例大于第一预设阈值时,则可以向未发送负载状态消息的第二虚拟应用服务器发送上报通知,管理设备确定接收到的过载状态消息的数量在负载状态消息的总数量中所占比例均小于第一预设阈值时,则可以不发送上报通知。

在一个可能的设计中,确定接收到的负载状态消息中的过载状态消息的数量大于第二预设阈值;确定接收到的负载状态消息中的轻载状态消息的数量大于所述第二预设阈值。

管理设备接收到负载状态消息后,确定负载状态消息中的过载状态消息的数量,以及负载状态消息中的轻载状态消息的数量,然后可以将过载状态消息的数量与第二预设阈值进行对比,将轻载状态消息的数量与第二预设阈值进行对比。管理设备确定接收到的过载状态消息的数量大于第二预设阈值,或者,管理设备确定接收到的轻载状态消息的数量大于所述第二预设阈值时,可以向未发送负载状态消息的第二虚拟应用服务器发送上报通知。管理设备确定过载状态消息的数量和轻载状态消息的数量均不大于第二预设阈值时,可以不对虚拟应用服务器进行伸缩处理。

在一个可能的设计中,管理设备接收各虚拟应用服务器按预设周期发送的负载状态消息;获取当前周期时间点后预设时长内未发送负载状态消息的第一 虚拟应用服务器的负载均衡权值和所述第一虚拟应用服务器最近一次发送的负载状态消息。

管理设备接收各虚拟应用服务器按预设周期发送的负载状态消息,当管理设备接收到各虚拟应用服务器中的任一虚拟应用服务器发送的负载状态消息时,可以开始计时,在达到当前周期时间点后预设时长时,管理设备可以确定未发送负载状态消息的第一虚拟应用服务器,获取第一虚拟应用服务器最近一次发送的负载状态消息。

在一个可能的设计中,根据负载均衡权值、最近一次发送的负载状态消息和当前的负载状态消息的对应关系,以及所述第一虚拟应用服务器的负载均衡权值和所述第一虚拟应用服务器最近一次发送的负载状态消息,确定所述第一虚拟应用服务器当前的负载状态消息。

管理设备可以获取负载均衡权值、最近一次发送的负载状态消息和当前的负载状态消息的对应关系,该对应关系可以存储在某数据缓存中,管理设备可以从该数据缓存中读取该对应关系,另外,该对应关系也可以存储在管理设备中。管理设备可以根据第一虚拟应用服务器的负载均衡权值和第一虚拟应用服务器最近一次发送的负载状态消息,在上述对应关系中查找对应的负载状态消息,该负载状态消息可以作为第一虚拟应用服务器当前的负载状态消息。

在一个可能的设计中,获取当前设置的工作模式信息,所述工作模式信息包括资源利用率优先或处理速度优先;根据预先存储的负载均衡权值、最近一次发送的负载状态消息、工作模式信息和当前的负载状态消息的对应关系,以及所述第一虚拟应用服务器的负载均衡权值、所述第一虚拟应用服务器最近一次发送的负载状态消息和所述当前设置的工作模式信息,确定所述第一虚拟应用服务器当前的负载状态消息。

管理设备可以预先存储各业务组对应的工作模式信息,并可以预先存储的负载均衡权值、最近一次发送的负载状态消息、工作模式信息和当前的负载状态消息的对应关系,然后管理设备可以根据第一虚拟应用服务器的负载均衡权值和第一虚拟应用服务器最近一次发送的负载状态消息,在上述对应关系中查找对应的负载状态消息,该负载状态消息可以作为第一虚拟应用服务器当前的负载状态消息。

这样,可以结合当前工作模式信息来确定第一虚拟应用服务器当前的负载 状态消息,使得确定出的结果更加合理。

在一个可能的设计中,管理设备确定所述第一虚拟应用服务器当前的负载状态消息,以及其他虚拟应用服务器当前的负载状态消息中,过载状态消息的数量满足预设增加条件,则管理设备可以增加虚拟应用服务器的数量;管理设备确定所述第一虚拟应用服务器当前的负载状态消息,以及其他虚拟应用服务器当前的负载状态消息中,轻载状态消息的数量满足预设缩减条件,则管理设备可以减少虚拟应用服务器的数量。

又一方面,可以通过计算过载状态消息的数量在负载状态消息的总数量中所占比例,来判断是否对虚拟应用服务器进行伸缩处理,管理服务器确定所述第一虚拟应用服务器当前的负载状态消息,以及其他虚拟应用服务器当前的负载状态消息中,过载状态消息的数量在负载状态消息的总数量中所占比例大于第三预设阈值;或者,确定所述第一虚拟应用服务器当前的负载状态消息,以及其他虚拟应用服务器当前的负载状态消息中,轻载状态消息的数量在负载状态消息的总数量中所占比例大于所述第三预设阈值。

又一方面,可以设置过载状态消息的数量和轻载状态消息的数量的阈值,管理设备可以根据设置的预设阈值,来判断是否对虚拟应用服务器进行伸缩处理。管理设备确定所述第一虚拟应用服务器当前的负载状态消息,以及其他虚拟应用服务器当前的负载状态消息中,过载状态消息的数量大于第四预设阈值,则管理设备可以进行伸缩处理;或者,管理设备确定所述第一虚拟应用服务器当前的负载状态消息,以及其他虚拟应用服务器当前的负载状态消息中,轻载状态消息的数量大于所述第四预设阈值,则管理设备可以进行伸缩处理。

第二方面,本发明实施例提供了一种在云计算中对虚拟应用服务器进行伸缩处理方法,所述方法包括:

接收虚拟应用服务器的管理设备发送的数据请求,所述数据请求中携带有第一虚拟应用服务器的标识;获取所述第一虚拟应用服务器的标识对应的负载均衡权值和/或所述第一虚拟应用服务器最近一次发送的负载状态消息,向所述管理设备发送所述负载均衡权值和/或所述负载状态消息,以使所述管理设备获取未发送负载状态消息的第一虚拟应用服务器的负载均衡权值和所述第一虚拟应用服务器最近一次发送的负载状态消息。负载均衡器中可以存储某业务组中 各虚拟应用服务器的标识、各虚拟应用服务器对应的负载均衡权值、以及各虚拟应用服务器发送的负载状态消息。该负载状态消息中可以包括负载状态,负载状态可以是cpu使用率、单位时间内的用户访问数量,以及内存使用率等。负载均衡器接收到数据请求后,可以获取数据请求中的第一虚拟应用服务器的标识,然后可以在存储的数据中,获取第一虚拟应用服务器对应的负载均衡权值和/或第一虚拟应用服务器最近一次发送的负载状态消息,然后向管理设备发送该负载均衡权值和该负载状态消息。

第三方面,本发明实施例提供了一种管理设备,该管理设备具有实现上述方法实际中执管理设备行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的单元。

第四方面,本发明实施例提供了负载均衡器,该负载均衡器具有实现上述方法实际中执行负载均衡器行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的单元。

第五方面,本发明实施例提供了一种在云计算中对虚拟应用服务器进行管理的管理设备,存储器,收发器和处理器。其中存储器用于存储计算机可执行程序代码,并与和收发器耦合。所述程序代码包括指令,当所述处理器执行所述指令时,所述指令使所述管理设备执行上述方法中所涉及的信息或者指令。

第六方面,本发明实施例提供了一种在云计算中的负载均衡器,

收发器和处理器。其中存储器用于存储计算机可执行程序代码,并与和收发器耦合。所述程序代码包括指令,当所述处理器执行所述指令时,所述指令使所述负载均衡器执行上述方法中所涉及的信息或者指令。

第七方面,本发明实施例提供了一种在云计算中对虚拟应用服务器进行伸缩处理的系统,用于执行上述管理设备和负载均衡器执行的方法。

本发明实施例提供的技术方案带来的有益效果是:

本发明实施例中,获取未发送负载状态消息的第一虚拟应用服务器的负载均衡权值和第一虚拟应用服务器最近一次发送的负载状态消息;根据第一虚拟应用服务器的负载均衡权值和第一虚拟应用服务器最近一次发送的负载状态消息,确定第一虚拟应用服务器当前的负载状态消息;根据第一虚拟应用服务器当前的负载状态消息,以及其它虚拟应用服务器当前的负载状态消息,进行伸缩处理,基于上述处理,管理设备可以确定未发送负载状态消息的虚拟应用服务器当前的负载状态消息,进而可以根据业务组中所有的虚拟应用服务器的负载状态消息,进行伸缩处理,从而可以提高伸缩处理的及时性。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的一种系统架构图;

图2是本发明实施例提供的一种系统架构图;

图3是本发明实施例提供的一种系统架构图;

图4是本发明实施例提供的一种管理设备或负载均衡器的结构示意图;

图5是本发明实施例提供的一种在云计算中对虚拟应用服务器进行伸缩处理方法流程图;

图6是本发明实施例提供的一种在云计算中对虚拟应用服务器进行伸缩处理方法流程图;

图7是本发明实施例提供的一种在云计算中对虚拟应用服务器进行伸缩处理方法流程图;

图8是本发明实施例提供的一种管理设备的结构示意图;

图9是本发明实施例提供的一种负载均衡器的结构示意图。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发 明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。而且,方法实施例中的具体操作方法也可以应用于装置实施例或系统实施例中。

本发明实施例描述的网络架构以及业务场景是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本发明实施例提供的技术方案对于类似的技术问题,同样适用。本发明中,对于某一业务组包含的各虚拟应用服务器130,管理设备110可以确定该业务组中负载状态消息发生延迟的虚拟应用服务器130,然后可以获取未负载状态消息发生延时的第一虚拟应用服务器130的负载均衡权值,以及第一虚拟应用服务器130最近一次发送的负载状态消息,管理设备110可以根据第一虚拟应用服务器130的负载均衡权值,以及第一虚拟应用服务器130最近一次发送的负载状态消息,确定第一虚拟应用服务器130当前的负载状态消息,这样,管理设备110可以获取该业务组包含的各虚拟应用服务器130当前的负载状态消息,进而可以确定是否进行伸缩处理,通过本发明,可以确定未发送负载状态消息的虚拟应用服务器130当前的负载状态消息,进而可以根据业务组中所有的虚拟应用服务器130的负载状态消息,进行伸缩处理,从而可以提高伸缩处理的及时性。本发明所涉及的系统架构图可以如图1、图2、图3所示,本发明的主要改进点在于伸缩引擎111,具体的处理方式参见下面介绍。

云计算可以对资源进行划分,得到多个虚拟应用服务器130(又可称作应用实例),如虚拟机或容器等。虚拟应用服务器130可以用于部署业务提供商的应用并处理用户对应用的访问请求,若干个虚拟应用服务器130可以组成一个业务组,来共同为某业务提供后台服务。另外,云计算系统中还可以设置有负载均衡器120,负载均衡器120可以实时获取各虚拟应用服务器130的负载状态,如cpu使用率、单位时间内的用户访问数量,以及内存使用率等。负载均衡器120可以根据业务组中的各虚拟应用服务器130的负载状态,为各虚拟应用服务器130设置对应的负载均衡权值。在设置负载均衡权值时,对于负载较高的虚拟应用服务器130,可以分配较小的负载均衡权值,对于负载较小的虚拟应用服务器130,可以分配较小的负载均衡权值。技术人员可以预先设置负载均衡权值 的范围,如0~5,其中,0表示虚拟应用服务器130当前的负载很高,一定时间内不再为该虚拟应用服务器130分配访问请求,5表示虚拟应用服务器130当前的负载很低,一定时间内将会为该虚拟应用服务器130分配大量的访问请求。例如,某业务组中有3个虚拟应用服务器130,cpu使用率分别为30%、50%和70%,则对应的负载均衡权值可以分别是4、2和0。负载均衡器120可以接收用户发送的访问请求,并根据各虚拟应用服务器130对应的负载均衡权值,为各虚拟应用服务器130分配访问请求,从而实现负载均衡。

云计算系统中可以设置有虚拟应用服务器130的管理设备110,该管理设备110可以包括伸缩引擎111和管理器112。其中,伸缩引擎111和管理器112也可以是一个集成的设备,本实施例以管理设备110可以包括伸缩引擎111和管理器112为例进行说明,其他情况与之类似。管理设备110可以动态的对上述资源进行分配和调整,以提高资源的利用率,同时达到较好的服务质量。其中,对资源的分配和调整可以通过增加或减少虚拟应用服务器130的数量,来调整用户资源的调整策略。

伸缩引擎111中可以预先存储用户定义的伸缩策略,例如,可以存储过载状态消息数量对应的预设阈值、轻载状态消息数量对应的预设阈值,以及在进行伸缩处理时,增加或减少虚拟应用服务器130的数量。一个伸缩引擎111可以与多个业务组中的虚拟应用服务器130建立连接,记录各业务组所包含的虚拟应用服务器130的标识,得到各业务组对应的虚拟应用服务器130列表。在为用户提供服务的过程中,伸缩引擎111可以接收各虚拟应用服务器130的负载状态消息,从而实时监控业务组所包含的各虚拟应用服务器130的工作状态,根据接收到的负载状态消息和预先存储的伸缩策略,确定是否进行伸缩处理。伸缩引擎111确定进行伸缩处理时,可以向虚拟应用服务器管理器112向业务组中发送增加或减少虚拟应用服务器130请求消息,该请求消息中可以携带增加或减少虚拟应用服务器130的数量,以及需要增加或减少虚拟应用服务器130的业务组的标识。

虚拟应用服务器管理器112中可以存储各业务组对应的虚拟应用服务器130列表,以及多个未使用的虚拟应用服务器130的标识,如果上述请求消息为增加虚拟应用服务器130的数量,则虚拟应用服务器管理器112启动对应数量的新虚拟应用服务器130,将这些虚拟应用服务器130的标识加入到业务组的虚拟 应用服务器130列表中;如果该请求消息减少虚拟应用服务器130的数量,则虚拟应用服务器管理器112可以获取业务组的虚拟应用服务器130列表,从中选择对应数量的虚拟应用服务器130并终止这些虚拟应用服务器130,将这些虚拟应用服务器130的标识从该业务组的应用虚拟应用服务器130列表中删除。之后,虚拟应用服务器管理器112可以将增加或减少的虚拟应用服务器130的标识发送给伸缩引擎111,伸缩引擎111更新对该业务组对应的虚拟应用服务器130列表进行更新。

如图1所示,为本发明实施例的一种系统框架图,其中包括虚拟应用服务器130、负载均衡器120、伸缩引擎111和虚拟应用服务器管理器112。其中,虚拟应用服务器130中可以设置有伸缩代理模块131,该伸缩代理模块131中可以存储负载状态阈值,该阈值可以包括负载状态上限和负载状态下限。伸缩代理模块131可以根据负载状态阈值和所属的虚拟应用服务器130当前的负载状态,确定对应的负载状态消息。其中,负载状态可以是cpu使用率、单位时间内的用户访问数量,以及内存使用率等。负载状态消息可以包括过载状态消息、轻载状态消失和正常状态消息。如果伸缩代理模块131判定负载状态超过负载状态上限,则确定对应的负载状态消息为过载状态消息;如果伸缩代理模块131判定负载状态低于负载状态下限,则确定对应的负载状态消息为轻载状态消息;如果伸缩代理模块131判定负载状态在负载状态上限与负载状态下限之间,则确定对应的负载状态消息为正常状态消息。伸缩代理模块131可以将负载状态消息发送给伸缩引擎111,以便伸缩引擎111进行后续处理,具体过程下面会进行详细介绍。

如图2所示,为本发明实施例的另一系统框架图,其中包括虚拟应用服务器130、监控中心140、负载均衡器120、伸缩引擎111和虚拟应用服务器管理器112。该系统架构与现有技术的系统架构相比,增加了监控中心140,并在虚拟应用服务器130中可以设置有监控代理模块132,该监控代理模块132中设置有接口,可以周期性的向监控中心140发送所属的虚拟应用服务器130的负载状态,监控中心140中可以存储负载状态阈值,该阈值可以包括负载状态上限和负载状态下限,监控中心140可以根据负载状态阈值和接收到的各虚拟应用服务器130当前的负载状态,确定各虚拟应用服务器130对应的负载状态消息,该处理过程与上述相同,不再赘述。监控中心140可以通过接口将负载状态消 息发送给伸缩引擎111,以便伸缩引擎111进行后续处理,具体过程下面会进行详细介绍。

如图3所示,为本发明实施例的又一系统框架图,其中包括虚拟应用服务器130、负载均衡器120、伸缩引擎111和虚拟应用服务器管理器112。与图2所示的系统架构相比,图3所示的系统架构中未设置监控中心140,该系统架构中,各虚拟应用服务器130中设置有监控代理模块132,该监控代理模块132可以通过接口周期性的向伸缩引擎111发送所属的虚拟应用服务器130的负载状态消息,伸缩引擎111中可以存储负载状态阈值,该阈值可以包括负载状态上限和负载状态下限,伸缩引擎111可以根据负载状态阈值和接收到的各虚拟应用服务器130当前的负载状态消息,确定各虚拟应用服务器130对应的负载状态,然后伸缩引擎111可以根据各虚拟应用服务器130的负载状态消息,进行后续处理,具体过程下面会进行详细介绍。

图4显示了本发明实施例提供的管理设备110的结构示意图,该管理设备110可以包括收发器410、处理器420和存储器430,收发器410和存储器430可以分别与处理器420连接,如图4所示。收发器410可以用于收发消息或数据,收发器410可以包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、耦合器、lna(lownoiseamplifier,低噪声放大器)、双工器等。处理器420可以是管理设备110的控制中心,利用各种接口和线路连接整个服务器的各个部分,通过运行或执行存储在存储器430内的软件程序和/或模块,以及调用存储在存储器430内的数据,执行服务器的各种功能和处理数据,从而对管理设备110进行整体监控。处理器420可以包括一个或多个处理单元;处理器420可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或者其他可编程逻辑器件等。存储器430可以用于存储程序。具体地,程序可以包括程序代码,程序代码包括计算机操作指令。存储器430可能包含ram,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。处理器420执行存储器430中存储的程序代码,以实现各种功能。

其中所述程序代码包括指令,当所述处理器420执行所述指令时,所述指令使所述管理设备110执行图5~图7中的相关步骤。

此外,图4还可以作为本发明实施例提供的负载均衡器120的结构示意图。负载均衡器120可以包括收发器410、处理器420和存储器430。存储器430,用于存储计算机可执行程序代码;处理器420与所述存储器430和所述收发器410耦合;

其中所述程序代码包括指令,当所述处理器420执行所述指令时,所述指令使所述负载均衡器120执行图5~图7中的相关步骤。

本发明实施例提供了一种在云计算中对虚拟应用服务器130进行伸缩处理方法,该方法可以由虚拟应用服务器130、负载均衡器120和虚拟应用服务器130的管理设备110共同实现。本发明的方案可以应用于某个业务组中,以下所介绍的虚拟应用服务均属于同一业务组,本实施例以对某一个业务组进行处理为例进行说明,通过本发明,可以对业务组进行伸缩处理。如图1所示,为本实施例的系统框架图。

如图5所示,该方法的处理流程可以如下:

步骤501,管理设备110接收至少一个虚拟应用服务器130发送的负载状态消息。

在实施中,业务组中的各虚拟应用服务器130中可以设置有伸缩代理模块,该伸缩代理模块131中可以周期性的获取所属的虚拟应用服务器130当前的负载状态,然后可以将获取到的负载状态与预先存储的负载状态阈值进行对比,确定对应的负载状态消息。其中,负载状态可以是cpu使用率、单位时间内的用户访问数量,以及内存使用率等。负载状态消息可以包括过载状态消息、轻载状态消失和正常状态消息。负载状态消息中可以携带上述负载状态,也可以携带表征过载、轻载或正常的状态标识。以负载状态消息携带状态标识为例,过载状态消息中的状态标识可以为grow,轻载状态消息中的状态标识可以为shrink,正常状态消息中的状态标识可以为none。另外,负载状态消息中还可以携带虚拟应用服务器130的标识。

虚拟应用服务器130中可以预先存储状态标识(如votingtag),在初始时,各虚拟应用服务器130存储的状态标识均为none。伸缩代理模块131可以判断当前负载状态是否超过负载状态上限,或者是否低于负载状态下限。伸缩代理模块131中可以存储负载状态阈值,该阈值可以包括负载状态上限和负载状态下限。伸缩代理模块131判定负载状态超过负载状态上限时,则确定对应的负 载状态消息为过载状态消息,然后可以将本地的状态标识修改为grow,并可以向伸缩引擎111发送过载状态消息,过载状态消息可以携带状态标识grow。伸缩代理模块131判定负载状态低于负载状态下限时,则确定对应的负载状态消息为轻载状态消息,然后可以将本地的状态标识修改为shrink,并可以向伸缩引擎111发送轻载状态消息,轻载状态消息可以携带状态标识shrink。伸缩代理模块131判定负载状态在负载状态上限与负载状态下限之间时,则确定对应的负载状态消息为正常状态消息,然后可以不进行处理。

伸缩引擎111中也可以预先存储业务组中,各虚拟应用服务器130的状态标识,在初始时,各虚拟应用服务器130的状态标识均为none。伸缩引擎111接收到某个虚拟应用服务器130发送的负载状态消息,然后可以对该虚拟应用服务器130对应的状态标识进行修改,以便后续在步骤505中,伸缩引擎111可以获取到业务组中,除第一虚拟应用服务器以外的其他虚拟应用服务器的负载状态消息。

步骤502,管理设备110确定接收到的负载状态消息中的过载状态消息的数量满足预设上报条件,或确定接收到的负载状态消息中的轻载状态消息的数量满足预设上报条件时,向未发送负载状态消息的第二虚拟应用服务器发送上报通知。

其中,第二虚拟应用服务器是指伸缩引擎111确定接收到的过载状态消息的数量满足预设上报条件或轻载状态消息的数量满足预设上报条件时,业务组中未发送负载状态消息的虚拟应用服务器。

在实施中,伸缩引擎111中可以预先设置上报条件,伸缩引擎111接收到负载状态消息后,可以分别判断负载状态消息中的过载状态消息的数量,或负载状态消息中的轻载状态消息的数量是否满足预设上报条件,如果满足,则伸缩引擎111可以向未发送负载状态消息的第二虚拟应用服务器发送上报通知。预设上报条件可以是多种多样的,本实施例提供了以下几种可行的方式。

作为上报条件的一种可选方式,伸缩引擎111可以在接收到一个虚拟应用服务器130发送的过载状态消息,或轻载状态消息时,向该虚拟应用服务器130所属的业务组中的其他虚拟应用服务器130发送上报通知,以获取业务组中,除该虚拟应用服务器130以外的其他虚拟应用服务器130的负载状态消息。

作为上报条件的另一可选方式,伸缩引擎111确定接收到的负载状态消息 中的过载状态消息的数量在负载状态消息的总数量中所占比例大于第一预设阈值,或者,伸缩引擎111确定接收到的负载状态消息中的轻载状态消息的数量在负载状态消息的总数量中所占比例大于第一预设阈值。

在具体实施中,伸缩引擎111接收到负载状态消息后,可以计算负载状态消息中的过载状态消息的数量在负载状态消息的总数量中所占比例,以及负载状态消息中的轻载状态消息的数量在负载状态消息的总数量中所占比例。其中,负载状态消息的总数量可以是业务组所包含的虚拟应用服务器130的数量。伸缩引擎111可以判断轻载状态比例是否大于第一预设阈值,如果计算出的比例大于第一预设阈值,则可以向未发送负载状态消息的第二虚拟应用服务器130发送上报通知,如果计算出的比例均小于第一预设阈值,则可以不发送上报通知。例如,第一预设阈值可以为40%,则过载状态消息的数量在上述总数量中所占比例超过40%,或轻载状态消息的数量在上述总数量中所占比例超过40%,则可以向未发送负载状态消息的第二虚拟应用服务器130发送上报通知。

作为上报条件的另一可选方式,伸缩引擎111确定接收到的负载状态消息中的过载状态消息的数量大于第二预设阈值,或者,伸缩引擎111确定接收到的负载状态消息中的轻载状态消息的数量大于第二预设阈值。

在具体实施中,伸缩引擎111接收到负载状态消息后,可以将负载状态消息中的过载状态消息的数量与第二预设阈值进行对比,也可以将负载状态消息中的轻载状态消息的数量与第二预设阈值进行对比,如果伸缩引擎111确定接收到的过载状态消息的数量大于第二预设阈值,或者,伸缩引擎111确定接收到的轻载状态消息的数量大于第二预设阈值,则可以向未发送负载状态消息的第二虚拟应用服务器130发送上报通知。如果伸缩引擎111确定过载状态消息的数量和轻载状态消息的数量均不大于第二预设阈值,则可以不发送上报通知。例如,业务组中共有8个虚拟应用服务器130,第二预设阈值可以为3,过载状态消息的数量超过3,或轻载状态消息的数量超过3,则可以向第二虚拟应用服务器130发送上报通知。

步骤503,管理设备110获取在发送上报通知后预设时长内未发送负载状态消息的第一虚拟应用服务器130的负载均衡权值和第一虚拟应用服务器130最近一次发送的负载状态消息。

其中,第一虚拟应用服务器可以是上述第二虚拟应用服务器中,发送上报 通知后预设时长时内未发送负载状态消息的虚拟应用服务器。

在实施中,伸缩引擎111向第二虚拟服务器发送上报通知后,可以开始计时,伸缩引擎111可以接收虚拟应用服务器130发送的负载状态消息,并可以记录已发送负载状态消息的虚拟应用服务器130。当达到预设时长时,伸缩引擎111可以确定未发送负载状态消息的第一虚拟应用服务器130。伸缩引擎111可以获取第一虚拟应用服务器130的负载均衡权值和第一虚拟应用服务器130最近一次发送的负载状态消息可以包括以下步骤:

步骤一、伸缩引擎111向负载均衡器120发送数据请求,数据请求中携带有第一虚拟应用服务器130的标识。

在实施中,当达到预设时长时,伸缩引擎111确定第一虚拟应用服务器130未发送负载状态消息,然后可以向负载均衡器120发送数据请求,该数据请求中携带有第一虚拟应用服务器130的标识。

步骤二、负载均衡器120接收虚拟应用服务器130的管理设备110的伸缩引擎111发送的数据请求。

步骤三、负载均衡器120获取与第一虚拟应用服务器130的标识对应的负载均衡权值和第一虚拟应用服务器130最近一次发送的负载状态消息,向管理设备110发送负载均衡权值和负载状态消息。

在实施中,虚拟应用服务器130可以周期性的向负载均衡器120发送负载状态消息,以便负载均衡器120为业务组中的虚拟应用服务器130分配负载均衡权值。负载均衡器120可以存储业务组中各虚拟应用服务器130的标识,各虚拟应用服务器130对应的负载均衡权值,以及各虚拟应用服务器130发送的负载状态消息。该负载状态消息中可以携带上述负载状态,负载状态可以是cpu使用率、单位时间内的用户访问数量,以及内存使用率等。负载均衡器120接收到数据请求后,可以获取数据请求中的第一虚拟应用服务器130的标识,然后可以在存储的数据中,获取第一虚拟应用服务器130对应的负载均衡权值,以及第一虚拟应用服务器130最近一次发送的负载状态消息,然后向伸缩引擎111发送该负载均衡权值和该负载状态消息。

步骤四、伸缩引擎111接收第一虚拟应用服务器130的标识对应的负载均衡权值和第一虚拟应用服务器130最近一次发送的负载状态消息。

步骤504,管理设备110根据第一虚拟应用服务器130的负载均衡权值和第 一虚拟应用服务器130最近一次发送的负载状态消息,确定第一虚拟应用服务器130当前的负载状态。

在实施中,伸缩引擎111中可以根据预先存储的负载均衡权值、最近一次发送的负载状态消息和当前的负载状态消息的对应关系,该对应关系可以由技术人员进行设置,技术人员还可以在上述对应关系中,设置负载均衡权值的阈值,以划分负载均衡权值的等级,例如,负载均衡权值的范围是0~5,负载均衡权值的阈值为2和4,则负载均衡权值在(0,2]范围内的,认为是低,负载均衡权值在(2,4)范围内的,认为是中,负载均衡权值在[4,5]范围内的,认为是高,通过阈值的设置,可以方便伸缩引擎111进行判断。伸缩引擎111可以根据第一虚拟应用服务器130的负载均衡权值和第一虚拟应用服务器130最近一次发送的负载状态消息,在该对应关系中查找对应的负载状态,得到第一虚拟应用服务器130当前的负载状态。其中,最近一次发送的负载状态消息可以从负载均衡器120中获取,最近一次发送的负载状态消息中可以携带有负载状态,

以最近一次发送的负载状态消息中的负载状态为cpu使用率,负载均衡权的范围为0~5为例,该对应关系可以如表一所示:

表一

例如,第一虚拟应用服务器130的负载均衡权值为4,最近一次发送的负载状态消息中,cpu使用率为70%,则可以确定第一虚拟应用服务器130当前的负载状态消息,为携带grow的负载状态消息。

可选的,业务提供商可以预先设置业务组的工作模式,相应的。步骤504的处理过程可以如下:获取当前设置的工作模式信息,工作模式信息包括资源利用率优先或处理速度优先;根据预先存储的负载均衡权值、最近一次发送的负载状态消息、工作模式信息和当前的负载状态消息的对应关系,以及第一虚拟应用服务器130的负载均衡权值、第一虚拟应用服务器130最近一次发送的负载状态消息和当前设置的工作模式信息,确定第一虚拟应用服务器130当前的负载状态消息。

在实施中,业务提供商以预先设置业务组的工作模式,伸缩引擎111可以获取并存储工作模式信息,工作模式信息可以为资源利用率优先或处理速度优先。伸缩引擎111中可以预先存储的负载均衡权值、最近一次发送的负载状态消息、工作模式信息和当前的负载状态消息的对应关系。其中,最近一次发送的负载状态消息可以从负载均衡器120中获取,最近一次发送的负载状态消息中可以携带有负载状态,以最近一次发送的负载状态消息中的负载状态为cpu使用率为例,该对应关系可以如表二所示:

表二

例如,第一虚拟应用服务器130的负载均衡权值为3,最近一次发送的负载状态消息中,cpu使用率为70%,如果伸缩引擎111确定业务组当前的工作模式信息为资源利用率优先,则可以确定第一虚拟应用服务器130当前的负载状 态消息,为携带none的负载状态消息,如果伸缩引擎111确定业务组当前的工作模式信息为处理速度优先,则可以确定第一虚拟应用服务器130当前的负载状态消息,为携带grow的负载状态消息。

步骤505,管理设备110根据第一虚拟应用服务器130当前的负载状态消息,以及其它虚拟应用服务器130当前的负载状态消息,进行伸缩处理。

在实施中,基于上述处理,伸缩引擎111可以获取到业务组中的所有虚拟应用服务器130当前的负载状态消息。伸缩引擎111确定第一虚拟应用服务器130当前的负载状态消息后,可以根据第一虚拟应用服务器130当前的负载状态消息,以及其它虚拟应用服务器130当前的负载状态消息,确定业务组是否满足预设伸缩条件。其中,其它虚拟应用服务器130是指业务组中,除第一虚拟应用服务器130以外的其它虚拟应用服务器130。如果业务组满足预设的伸缩条件,则伸缩引擎111可以向虚拟应用服务器管理器112发送增加或减少虚拟应用服务器130的请求消息,该请求消息中可以携带增加或减少虚拟应用服务器130的数量,以及需要增加或减少虚拟应用服务器130的业务组的标识。虚拟应用服务器管理器112中可以存储各业务组对应的虚拟应用服务器130列表,以及多个未使用的虚拟应用服务器130的标识,如果接收到增加虚拟应用服务器的数量的请求消息,则虚拟应用服务器管理器112启动对应数量的新虚拟应用服务器,将这些虚拟应用服务器的标识加入到业务组的虚拟应用服务器列表中;如果接收到减少虚拟应用服务器130的数量的请求消息,则虚拟应用服务器管理器112可以获取业务组的虚拟应用服务器130列表,从中选择对应数量的虚拟应用服务器130并终止这些虚拟应用服务器130,将这些虚拟应用服务器130的标识从该业务组的应用虚拟应用服务器130列表中删除。虚拟应用服务器管理器112可以将增加或减少的虚拟应用服务器130的标识发送给伸缩引擎111,伸缩引擎111更新对该业务组对应的虚拟应用服务器130列表进行更新。然后,伸缩引擎111可以向更新后的业务组中的各虚拟应用服务器130发送状态更改消息,以使业务组中的各虚拟应用服务器130将自身的votingtag修改为none。

可选的,预设伸缩条件可以包括预设增加条件和预设缩减条件,相应的,步骤505的处理过程可以如下:确定第一虚拟应用服务器130当前的负载状态消息,以及其他虚拟应用服务器130当前的负载状态消息中,过载状态消息的数量满足预设增加条件,则增加虚拟应用服务器130的数量;或者,确定第一 虚拟应用服务器130当前的负载状态消息,以及其他虚拟应用服务器130当前的负载状态消息中,轻载状态消息的数量满足预设缩减条件,则减少虚拟应用服务器130的数量。

在实施中,伸缩引擎111中可以预先存储伸缩测量,伸缩引擎111可以在第一虚拟应用服务器130当前的负载状态消息,以及其它虚拟应用服务器130当前的负载状态消息中,确定过载状态消息的数量,进而判断过载状态消息的数量是否满足预设增加条件,如果满足,则根据伸缩策略中预先设置的虚拟应用服务器的增加数量,进行增加虚拟应用服务器130的数量的处理,否则,可以不进行增加虚拟应用服务器130的数量的处理。伸缩引擎111还可以在第一虚拟应用服务器130当前的负载状态消息,以及其它虚拟应用服务器130当前的负载状态消息中,确定轻载状态消息的数量,进而判断轻载状态消息的数量是否满足预设缩减条件,如果满足,则根据伸缩策略中预先设置的虚拟应用服务器的减少数量,进行减少虚拟应用服务器130的数量处理,否则,可以不进行减少虚拟应用服务器130的数量处理。预设增加条件和预设缩减条件可以是多种多样的,下面提供了几种可行的处理方式。

判断过载状态消息的数量是否满足预设增加条件的方向可以包括以下两种:

方式一、确定第一虚拟应用服务器130当前的负载状态消息,以及其他虚拟应用服务器130当前的负载状态消息中,过载状态消息的数量在负载状态消息的总数量中所占比例大于第三预设阈值。

在实施中,伸缩引擎111可以在第一虚拟应用服务器130当前的负载状态消息,以及其它虚拟应用服务器130当前的负载状态消息中,确定过载状态消息的数量,然后可以计算过载状态消息的数量在负载状态消息的总数量中所占比例。其中,负载状态消息的总数量可以是业务组所包含的虚拟应用服务器130的数量。伸缩引擎111可以判断计算出的比例是否大于第三预设阈值,如果计算出的比例大于第三预设阈值,则进行增加虚拟应用服务器130的数量的处理,否则,可以不进行增加虚拟应用服务器130的数量的处理。其中,第三预设阈值大于第一预设阈值。例如,第三预设阈值可以为51%,则过载状态消息的数量在上述总数量中所占比例超过51%,则进行增加虚拟应用服务器130的数量的处理。

方式二、确定第一虚拟应用服务器130当前的负载状态消息,以及其他虚拟应用服务器130当前的负载状态消息中,过载状态消息的数量大于第四预设阈值。

在实施中,伸缩引擎111可以在第一虚拟应用服务器130当前的负载状态消息,以及其它虚拟应用服务器130当前的负载状态消息中,确定过载状态消息的数量,然后可以将过载状态消息的数量与第四预设阈值进行对比,如果伸缩引擎111确定接收到的过载状态消息的数量大于第四预设阈值,则进行增加虚拟应用服务器130的数量的处理,否则,可以不进行增加虚拟应用服务器130的数量的处理。其中,第四预设阈值大于第二预设阈值。例如,业务组中共有8个虚拟应用服务器130,第四预设阈值可以为5,过载状态消息的数量超过5,则进行增加虚拟应用服务器130的数量的处理。

判断轻载状态消息的数量是否满足预设增加条件的方向可以包括以下两种:

方式一、确定第一虚拟应用服务器130当前的负载状态消息,以及其他虚拟应用服务器130当前的负载状态消息中,轻载状态消息的数量在负载状态消息的总数量中所占比例大于第三预设阈值。

在实施中,伸缩引擎111可以在第一虚拟应用服务器130当前的负载状态消息,以及其它虚拟应用服务器130当前的负载状态消息中,确定轻载状态消息的数量,然后可以计算轻载状态消息的数量在负载状态消息的总数量中所占比例。其中,负载状态消息的总数量可以是业务组所包含的虚拟应用服务器130的数量。伸缩引擎111可以判断计算出的比例是否大于第三预设阈值,如果计算出的比例大于第三预设阈值,则进行减少虚拟应用服务器130的数量的处理,否则,可以不进行减少虚拟应用服务器130的数量的处理。其中,第四预设阈值大于第二预设阈值。例如,第三预设阈值可以为51%,则轻载状态消息的数量在上述总数量中所占比例超过51%,则进行减少虚拟应用服务器130的数量的处理。

方式二、确定第一虚拟应用服务器130当前的负载状态消息,以及其他虚拟应用服务器130当前的负载状态消息中,轻载状态消息的数量大于第四预设阈值。

在实施中,伸缩引擎111可以在第一虚拟应用服务器130当前的负载状态 消息,以及其它虚拟应用服务器130当前的负载状态消息中,确定轻载状态消息的数量,然后可以将轻载状态消息的数量与第四预设阈值进行对比,如果伸缩引擎111确定接收到的轻载状态消息的数量大于第四预设阈值,则进行减少虚拟应用服务器130的数量的处理,否则,可以不进行减少虚拟应用服务器130的数量的处理。其中,第四预设阈值大于第二预设阈值。例如,业务组中共有8个虚拟应用服务器130,第四预设阈值可以为5,轻载状态消息的数量超过5,则进行减少虚拟应用服务器130的数量的处理。

本发明实施例中,获取未发送负载状态消息的第一虚拟应用服务器的负载均衡权值和第一虚拟应用服务器最近一次发送的负载状态消息;根据第一虚拟应用服务器的负载均衡权值和第一虚拟应用服务器最近一次发送的负载状态消息,确定第一虚拟应用服务器当前的负载状态消息;根据第一虚拟应用服务器当前的负载状态消息,以及其它虚拟应用服务器当前的负载状态消息,进行伸缩处理,基于上述处理,管理设备可以确定未发送负载状态消息的虚拟应用服务器当前的负载状态消息,进而可以根据业务组中所有的虚拟应用服务器的负载状态消息,进行伸缩处理,从而可以提高伸缩处理的及时性。

本发明实施例还提供了一种在云计算中对虚拟应用服务器130进行伸缩处理方法,该方法可以由虚拟应用服务器130、负载均衡器120、监控中心140和虚拟应用服务器130的管理设备110共同实现。本发明的方案可以应用于某个业务组中,以下所介绍的虚拟应用服务均属于同一业务组,为了便于介绍该业务组可以称为业务组,通过本发明,可以对业务组进行伸缩处理。如图2所示,为本实施例的系统框架图。

如图6所示,该方法的处理流程可以如下:

步骤601,管理设备110接收监控中心140发送的各虚拟应用服务器130的负载状态消息。

在实施中,虚拟应用服务器130中可以设置有监控代理模块132,该监控代理模块132可以周期性的向监控中心140发送所属的虚拟应用服务器130的负载状态,如cpu使用率、单位时间内的用户访问数量,或内存使用率等。监控中心140中可以存储负载状态阈值,该阈值可以包括负载状态上限和/或负载状态下限,监控中心140可以根据负载状态阈值和接收到的各虚拟应用服务器130 当前的负载状态,确定各虚拟应用服务器130对应的负载状态消息,如果监控中心140判定负载状态超过负载状态上限,则确定对应的负载状态消息为过载状态消息,然后可以向伸缩引擎111发送过载状态消息,如addcapacitytoprocessqueue警报;如果监控中心140判定负载状态低于负载状态下限,则确定对应的负载状态消息为轻载状态消息,然后可以向伸缩引擎111发送轻载状态消息,如removecapacityfromprocessqueue警报;如果监控中心140判定负载状态在负载状态上限与负载状态下限之间,则确定对应的负载状态消息为正常状态消息,然后可以向伸缩引擎111发送正常状态消息,或者,也可以不发送消息。如果当前周期时间后预设时长内,监控中心140未接收到第一虚拟应用服务器130发送的负载状态消息,则可以判定第一虚拟应用服务器发送的负载状态消息发生延迟,并可以向伸缩引擎111发送statusnotavaliable警报,该警报中可以携带有第一虚拟应用服务器130的标识,以通知伸缩引擎111第一虚拟服务器发送的负载状态消息发生延迟。

步骤602,管理设备110获取当前周期时间点后预设时长内未发送负载状态消息的第一虚拟应用服务器130的负载均衡权值和第一虚拟应用服务器130最近一次发送的负载状态消息。

其中,当前周期为虚拟应用服务器当前发送负载状态的发送周期,当前周期时间点为当前的发送周期的开始时间点。

在实施中,伸缩引擎111可以接收监控中心140发送的过载状态消息,或轻载状态消息,然后可以根据接收到的过载状态消息和轻载状态消息确定应用实例的状态。伸缩引擎111还可以收到statusenotavailable警报,并可以根据statusenotavailable警报,确定第一虚拟应用服务器130发送的负载状态消息出现延迟,即第一虚拟应用服务器在当前周期时间点后预设时长内未发送负载状态消息。伸缩引擎111可以向负载均衡器120发送数据请求,该数据请求中携带有第一虚拟应用服务器130的标识,负载均衡器120可以只将第一虚拟应用服务器130的负载均衡权值发送给伸缩引擎111,也可以将第一虚拟应用服务器130的负载均衡权值和第一虚拟应用服务器130最近一次发送的负载状态消息发送给伸缩引擎111。

步骤602',管理设备110向监控中心140发送负载状态数据请求。

在实施中,对于负载均衡器120只将第一虚拟应用服务器130的负载均衡 权值发送给伸缩引擎111的情况,伸缩引擎111可以向监控中心140发送负载状态数据请求,以获取第一虚拟应用服务器130最近一次发送的负载状态消息。

步骤603,管理设备110根据第一虚拟应用服务器130的负载均衡权值和第一虚拟应用服务器130最近一次发送的负载状态消息,确定第一虚拟应用服务器130当前的负载状态消息。

该步骤的具体处理可以参见上述步骤504。

步骤604,管理设备110根据第一虚拟应用服务器130当前的负载状态消息,以及其它虚拟应用服务器130当前的负载状态消息,进行伸缩处理。

该步骤的具体处理可以参见上述步骤505。

本发明实施例中,获取未发送负载状态消息的第一虚拟应用服务器的负载均衡权值和第一虚拟应用服务器最近一次发送的负载状态消息;根据第一虚拟应用服务器的负载均衡权值和第一虚拟应用服务器最近一次发送的负载状态消息,确定第一虚拟应用服务器当前的负载状态消息;根据第一虚拟应用服务器当前的负载状态消息,以及其它虚拟应用服务器当前的负载状态消息,进行伸缩处理,基于上述处理,管理设备可以确定未发送负载状态消息的虚拟应用服务器当前的负载状态消息,进而可以根据业务组中所有的虚拟应用服务器的负载状态消息,进行伸缩处理,从而可以提高伸缩处理的及时性。

本发明实施例还提供了一种在云计算中对虚拟应用服务器进行伸缩处理方法,该方法可以由虚拟应用服务器130、负载均衡器120和虚拟应用服务器管理设备112共同实现。本发明的方案可以应用于某个业务组中,以下所介绍的虚拟应用服务均属于同一业务组,为了便于介绍该业务组可以称为业务组,通过本发明,可以对业务组进行伸缩处理。如图3所示,为本实施例的系统框架图。

如图7所示,该方法的处理流程可以如下:

步骤701,管理设备接收各虚拟应用服务器130发送的负载状态消息。

在实施中,虚拟应用服务器130中可以设置有监控代理模块132,该监控代理模块132可以周期性的向伸缩引擎111发送所属的虚拟应用服务器130的负载状态消息,如cpu使用率、单位时间内的用户访问数量,或内存使用率等,伸缩引擎111111则可以将接收到的负载状态消息进行存储。伸缩引擎111中可以存储负载状态阈值,该阈值可以包括负载状态上限和/或负载状态下限,伸缩 引擎111可以根据负载状态阈值和接收到的各虚拟应用服务器130当前的负载状态,确定各虚拟应用服务器130对应的负载状态消息,该处理过程与可以参数上述步骤501和步骤601,不再赘述。

步骤702,管理设备获取当前周期时间点后预设时长内未发送负载状态消息的第一虚拟应用服务器的负载均衡权值和第一虚拟应用服务器最近一次发送的负载状态消息。

其中,当前周期为虚拟应用服务器130当前发送负载状态的发送周期,当前周期时间点为当前的发送周期的开始时间点。

在实施中,伸缩引擎111接收到业务组中的虚拟应用服务器130发送的负载状态消息后,可以开始计时,如果当前周期时间点后预设时长内,伸缩引擎111未接收到第一虚拟应用服务器130发送的负载状态,则可以判定第一虚拟应用服务器130发送的负载状态消息发生延迟。然后可以向负载均衡器120发送数据请求,该数据请求中携带有第一虚拟应用服务器130的标识,负载均衡器120可以将第一虚拟应用服务器130的负载均衡权值发送给伸缩引擎111。这样,伸缩引擎111可以获取第一虚拟应用服务器130的负载均衡权值和已存储的第一虚拟应用服务器130最近一次发送的负载状态消息。

步骤703,管理设备根据第一虚拟应用服务器130的负载均衡权值和第一虚拟应用服务器130最近一次发送的负载状态消息,确定第一虚拟应用服务器130当前的负载状态消息。

该步骤的具体处理可以参见上述步骤504。

步骤704,管理设备根据第一虚拟应用服务器130当前的负载状态消息,以及其它虚拟应用服务器130当前的负载状态消息,进行伸缩处理。

该步骤的具体处理可以参见上述步骤505。

本发明实施例中,获取未发送负载状态消息的第一虚拟应用服务器的负载均衡权值和第一虚拟应用服务器最近一次发送的负载状态消息;根据第一虚拟应用服务器的负载均衡权值和第一虚拟应用服务器最近一次发送的负载状态消息,确定第一虚拟应用服务器当前的负载状态消息;根据第一虚拟应用服务器当前的负载状态消息,以及其它虚拟应用服务器当前的负载状态消息,进行伸缩处理,基于上述处理,管理设备可以确定未发送负载状态消息的虚拟应用服务器当前的负载状态消息,进而可以根据业务组中所有的虚拟应用服务器的负 载状态消息,进行伸缩处理,从而可以提高伸缩处理的及时性。

如图8所示,本发明实施例还提供了一种在云计算中对虚拟应用服务器进行管理的管理设备的结构示意图。该管理设备800包括:获取单元810,确定单元820和处理单元830。其中,获取单元810,用于获取未发送负载状态消息的第一虚拟应用服务器的负载均衡权值和所述第一虚拟应用服务器最近一次发送的负载状态消息;

确定单元820,用于根据所述第一虚拟应用服务器的负载均衡权值和所述第一虚拟应用服务器最近一次发送的负载状态消息,确定所述第一虚拟应用服务器当前的负载状态消息;

处理单元830,用于根据所述第一虚拟应用服务器当前的负载状态消息,以及其它虚拟应用服务器当前的负载状态消息,进行伸缩处理。

进一步的,获取单元810还用于执行图5-图7中的步骤501,601或701等步骤。确定单元820还可以执行图5-图7中的502,503,504,505,602、702,703等步骤,处理单元830用于执行图5-图7中的505,604和704步骤。本发明实施例在此不再详述。

进一步的,图8中的管理设备是以功能单元的形式来呈现。这里的“单元”可以指特定应用集成电路(application-specificintegratedcircuit,asic),电路,执行一个或多个软件或固件程序的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。在一个简单的实施例中,本领域的技术人员可以想到图8中的管理设备可以采用图4所示的形式。各单元可以通过图4的处理器、存储器和收发器来实现。

如图9所示,本发明实施例还提供了一种在云计算中的负载均衡器的结构示意图。该负载均衡器可以包括:接收单元910和发送单元920。

其中,接收单元910,用于接收虚拟应用服务器的管理设备发送的数据请求,所述数据请求中携带有第一虚拟应用服务器的标识;

发送单元920,用于获取所述第一虚拟应用服务器的标识对应的负载均衡权值和/或所述第一虚拟应用服务器最近一次发送的负载状态消息,向所述管理设备发送所述负载均衡权值和/或所述负载状态消息。

进一步的,接收单元910还用于执行图5-图7中的步骤503,602,702等 步骤。发送单元920还可以执行图5-图7中的503,602,702等步骤,本发明实施例在此不再详述。

进一步的,图9中的负载均衡器是以功能单元的形式来呈现。这里的“单元”可以指特定应用集成电路(application-specificintegratedcircuit,asic),电路,执行一个或多个软件或固件程序的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。在一个简单的实施例中,本领域的技术人员可以想到图9中的负载均衡器可以采用图4所示的形式。各单元可以通过图4的处理器、存储器和收发器来实现。

本发明实施例中,获取未发送负载状态消息的第一虚拟应用服务器的负载均衡权值和第一虚拟应用服务器最近一次发送的负载状态消息;根据第一虚拟应用服务器的负载均衡权值和第一虚拟应用服务器最近一次发送的负载状态消息,确定第一虚拟应用服务器当前的负载状态消息;根据第一虚拟应用服务器当前的负载状态消息,以及其它虚拟应用服务器当前的负载状态消息,进行伸缩处理,基于上述处理,管理设备可以确定未发送负载状态消息的虚拟应用服务器当前的负载状态消息,进而可以根据业务组中所有的虚拟应用服务器的负载状态消息,进行伸缩处理,从而可以提高伸缩处理的及时性。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1