一种虚拟机计算能力动态调整方法、装置以及系统与流程

文档序号:11180756阅读:569来源:国知局
一种虚拟机计算能力动态调整方法、装置以及系统与流程

本发明涉及分布式计算技术领域,具体而言,涉及一种虚拟机计算能力动态调整方法、装置以及系统。



背景技术:

目前,随着分布式业务的技术不断发展,尤其是其在b/s(browser/server,浏览器/服务器)架构中的深化应用,在很多情况下需要对架构中的虚拟机的计算能够进行动态调整。例如,在访问高峰,虚拟机的计算压力大,此时需要更多的计算资源,以增加虚拟机的计算能力;而在访问低谷的时候,虚拟机的计算压力小,如果虚拟机的计算能力远远大于需要,那么就会造成虚拟机计算资源的浪费,因此,需要减少计算资源,以减小虚拟机的计算能力,节省资源。

但是目前的虚拟机计算能力在进行调整的时候,只能依赖于人工进行虚拟机的增减,调整速度较慢,无法满足虚拟机快速扩展和收缩的要求。



技术实现要素:

有鉴于此,本发明实施例的目的在于提供一种虚拟机计算能力动态调整方法、装置以及系统,能够快速的扩展和收缩分布式计算中虚拟机的计算能力。

第一方面,本发明实施例提供了虚拟机计算能力动态调整系统,包括:监控中心、负载均衡服务器以及虚拟机集群;

其中,所述虚拟机集群用于向所述监控中心提供负载数据;

所述监控中心,用于监控所述虚拟机集群的负载数据;根据所述负载数据,判断是否需要对虚拟机集群内的计算资源进行调整;在需要调整计算资源后,与所述负载均衡服务器进行交互,以释放虚拟机集群内的计算资源、增加虚拟机集群内的计算资源、对虚拟机集群中虚拟机的权重进行修正,或者对虚拟机集群中虚拟机的分担策略进行修正;

所述负载均衡服务器,用于对虚拟机集群内的计算资源进行调整。

结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中:所述虚拟机集群内包括多个虚拟机;

所述负载数据包括:集群负载数据;

所述监控中心具体用于:将所述集群负载数据与预设的最大性能阈值进行比对;在所述集群负载数据大于所述最大性能阈值时,生成并向所述负载均衡服务器发送虚拟机增加指令;

所述负载均衡服务器具体用于,接收所述虚拟机增加指令,并根据所述虚拟机增加指令创建新的虚拟机,将所创建的新的虚拟机加入到所述虚拟机集群。

结合第一方面,本发明实施例提供了第一方面的第二种可能的实施方式,其中:所述监控中心还用于,将所述集群负载数据与预设的最小性能阈值进行比对;在所述集群负载数据小于所述最小性能阈值时,生成并向所述负载均衡服务器发送虚拟机减少指令;

所述负载均衡服务器,还用于接收所述虚拟机减少指令,并根据所述虚拟机减少指令,对虚拟机集群内的虚拟机按照预设的消除方式进行消除。

结合第一方面,本发明实施例提供了第一方面的第三种可能的实施方式,其中:所述负载数据包括:虚拟机性能数据;

监控中心还用于,根据每台虚拟机的虚拟机性能数据,计算所有虚拟机性能数据的平均值以及方差;将虚拟机性能数据的平均值与预设性能平均值进行比对;在虚拟机性能数据的平均值小于所述性能平均值时,根据虚拟机性能数据的方差判断虚拟机负载是否均衡;在虚拟机负载不均衡时,根据所述虚拟机性能数据以及预设调整条件,生成并向负载均衡服务器发送虚拟机负载均衡指令;所述负载均衡指令中携带有均衡类别;

所述负载均衡服务器,还用于接收所述虚拟机负载均衡指令,并根据所述均衡类别,调整虚拟机的分担策略。

结合第一方面,本发明实施例提供了第一方面的第四种可能的实施方式,其中:所述监控中心还用于:在虚拟机负载不均衡时,根据所述虚拟机性能数据生成计算资源调取指令;并将所述计算资源调取指令发送给所述负载均衡服务器;所述计算资源调取指令中携带有虚拟机的身份标识;

所述负载均衡服务器,还用于接收所述计算资源调取指令;根据所述计算资源调取指令,增加与所述身份标识对应的虚拟机的cpu核心数和/或内存量。

第二方面,本发明实施例还提供一种虚拟机计算能力动态调整方法,包括:

获取虚拟机集群内所有虚拟机的负载数据;

根据所述负载数据判断是否需要对所述虚拟机集群内的虚拟机节点进行调整;

需要调整计算资源后,与所述负载均衡服务器进行交互,以释放虚拟机集群内的计算资源、增加虚拟机集群内的计算资源、对虚拟机集群中虚拟机的权重进行修正,或者对虚拟机集群中虚拟机的分担策略进行修正。

结合第二方面,本发明实施例提供了第二方面的第一种可能的实施方式,其中:所述负载数据包括:集群负载数据;

所述增加虚拟机集群内的计算资源,具体包括:

将所述集群负载数据与预设的最大性能阈值进行比对;

如果所述集群负载数据大于所述最大性能阈值,则生成并向所述负载均衡服务器发送虚拟机增加指令,以使所述负载均衡服务器根据所述虚拟机增加指令,创建新的虚拟机,并将新创建的所述虚拟机加入所述虚拟机集群。

结合第二方面,本发明实施例提供了第二方面的第二种可能的实施方式,其中:所述释放虚拟机集群内的计算资源,具体包括:

将所述集群负载数据与预设的最小性能阈值进行比对;

如果所述集群负载数据小于所述最小性能阈值,则生成并向所述负载均衡服务器发送虚拟机减少指令,以使所述负载均衡服务器根据所述虚拟机减少指令,对虚拟机集群内的虚拟机按照预设的方式进行消除。

结合第二方面,本发明实施例提供了第二方面的第三种可能的实施方式,其中:所述负载数据还包括:虚拟机性能数据;

所述对虚拟机集群中虚拟机的分担策略进行修正,具体包括:

根据每台虚拟机的虚拟机性能数据,计算所有虚拟机性能数据的平均值以及方差;

将虚拟机性能数据的平均值与预设性能平均值进行比对;

如果虚拟机性能数据的平均值小于所述性能平均值,则根据所述虚拟机性能数据的方差判断虚拟机集群内负载是否均衡;

如果虚拟机集群内负载不均衡,则根据所述虚拟机性能数据以及预设调整条件,生成并向负载均衡服务器发送虚拟机负载均衡指令;所述负载均衡指令中携带有均衡类别,以使所述负载均衡服务器,调整虚拟机的分担策略。

结合第二方面,本发明实施例提供了第二方面的第四种可能的实施方式,其中:如果虚拟机集群内负载不均衡时,还包括:

根据所述虚拟机性能数据生成计算资源调取指令;所述计算资源调取指令中携带有虚拟机的身份标识;

将所述计算资源调取指令发送给负载均衡服务器,以使所述负载均衡服务器根据所述计算资源调取指令,增加与所述身份标识对应的虚拟机的cpu核心数和/或内存量。

本发明实施例所提供的虚拟机计算能力动态调整方法、装置以及系统中,监控中心在获取了虚拟机集群所发送的负载数据之后,根据所述负载数据,判断是否需要对虚拟机集群内的计算资源进行调整;在需要调整计算资源后,与所述负载均衡服务器进行交互,以释放虚拟机集群内的计算资源、增加虚拟机集群内的计算资源、对虚拟机集群中虚拟机的权重进行修正,或者对虚拟机集群中虚拟机的分担策略进行修正,这样实时获取虚拟机集群的负载数据,实时对虚拟机集群进行调整,能够快速的扩展和收缩分布式计算中虚拟机的计算能力。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1示出了本发明实施例所提供的一种虚拟机计算能力动态调整系统的结构示意图;

图2示出了本发明实施例所提供的一种虚拟机计算能力动态调整方法的流程图;

图3示出了本发明实施例所提供的虚拟机计算能力动态调整方法中,增加虚拟机集群内的计算资源具体方法的流程图;

图4示出了本发明实施例所提供的虚拟机计算能力动态调整方法中,释放虚拟机集群内的计算资源具体方法的流程图;

图5示出了本发明实施例所提供的虚拟机计算能力动态调整方法中,对虚拟机集群中虚拟机的分担策略进行修正的具体方法的流程图;

图6示出了本发明实施例所提供的虚拟机计算能力动态调整方法中,对虚拟机计算资源进行动态调整具体方法的流程图;

图7示出了本发明实施例所提供的一种虚拟机计算能力动态调整装置的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

随着分布式业务的技术发展,尤其是其在b/s架构中的迅猛发展,在虚拟化环境中,需要有一种方法能够快速扩展b/s架构的计算能力,使得业务在高峰的时候可以适应更大容量的计算环境,在业务低谷的时候可以自动收缩业务能力,基于此,本申请提供的一种虚拟机计算能力动态调整方法、装置以及系统,可以以更快的速度扩展和收缩分布式计算应用在b/s架构中时虚拟机的计算能力。

为便于对本实施例进行理解,首先对本发明实施例所公开的一种虚拟机计算能力动态调整系统进行详细介绍。

参见图1所示,本发明实施例所提供的虚拟机计算能力动态调整系统,包括:监控中心、负载均衡服务器以及虚拟机集群;

其中,所述虚拟机集群,用于向所述监控中心提供负载数据;

所述监控中心,用于监控所述虚拟机集群的负载数据;根据所述负载数据,判断是否需要对虚拟机集群内的计算资源进行调整;在需要调整计算资源后,与所述负载均衡服务器进行交互,以释放虚拟机集群内的计算资源、增加虚拟机集群内的计算资源、对虚拟机集群中虚拟机的权重进行修正,或者对虚拟机集群中虚拟机的分担策略进行修正;

所述负载均衡服务器,用于对虚拟机集群内的计算资源进行调整。

在具体实现的时候,在分布式计算应用到b/s架构的环境中,一般都具备一个负载均衡服务器来满足不同虚拟机计算业务的均衡调整,该负载均衡服务器能够将服务请求均衡分配到实际执行的服务器中,从而保证整个系统的响应速度。具体地,所有用户的请求都首先发送到此负载均衡服务器,然后由此负载均衡服务器根据各个虚拟服务器(即虚拟机)状态将请求具体分配到某个实际处理的虚拟服务器中,由相应的虚拟服务器对请求进行响应,而对外公开的域名与ip地址都对应于负载均衡服务器。

虚拟机集群实际上是一个由多个虚拟机所构成的集合,一个虚拟机集群承担至少一个分布式计算任务,其作为一个负载均衡组,进行计算能力的动态调整。当分布式计算运用到b/s架构中的时候,一个虚拟机实际上应当相当于是一台虚拟服务器。用户虚拟机集群内的虚拟机越多,也就意味着虚拟机集群中的计算资源越多,虚拟机集群的计算能力也就越强,虚拟机集群能够处理更多的用户访问;而虚拟机集群内的虚拟机越少,也就意味着虚拟机集群中的计算资源越少,虚拟机集群的计算能力也越弱,虚拟机集群内能够处理的用户访问也就越少。

本发明实施例对虚拟机计算能力进行动态调整,首先是对整个虚拟机集群内整体计算能力进行调整:当分布式任务需要的计算资源较多的时候,即用户的访问量较大的时候,那么就相应增加虚拟机集群内虚拟机的数量;如果需要的计算资源较少,即用户的访问量较少,那么就相应的减少虚拟机集群内虚拟机的数量,以节省计算资源。其次,是在不调整虚拟机数量的前提下,对虚拟机集群内的虚拟机进行计算能力的均衡调整:在虚拟机集群内的虚拟机,并非一直处于均衡状态,而是会根据负载均衡服务器所下发的计算任务出现不同的变化,造成部分的虚拟机较之其他虚拟机承担更加繁重的计算,因此,本发明实施例所述的虚拟机计算能力动态调整,还指在虚拟机集群内,各个虚拟机计算能力的均衡。

其调整主要包括四个方面:

1、释放虚拟机集群内的计算资源,即减少虚拟机集群内虚拟机的数量。

2、增加虚拟机集群内的计算资源,即增加虚拟机集群内虚拟机的数量。

3、对虚拟机集群内虚拟机的权重进行修正。

具体地,负载均衡服务器在向虚拟机集群内的虚拟机下达计算任务的时候,会根据每一个虚拟机的当前负载情况来具体进行的,一般地,虚拟机的负载越小,其权重应当越大。而针对每一个虚拟机,也具有不同的权重值。权重值较大的虚拟机,负载均衡服务器会更多的分配计算任务,而权重值较小的虚拟机,负载均衡服务器会更少的分配计算任务。由于虚拟机的计算压力每时每刻都在变化,因此每一台负载均衡服务器的权重值也需要根据虚拟机当前的计算情况进行调整。

4、对虚拟机集群内虚拟机的分担策略进行修正。

具体地,分担策略实际上是负载均衡服务器将用户访问下发至具体的虚拟机的下发策略。一般地,虚拟机的分担策略均是已经预先制定好的,负载均衡服务器根据预先制定好的分担策略将用户的访问请求发送至对应的虚拟服务器。

例如,当前虚拟机集群内包括了十台虚拟服务器,分别为第一服务器、第二服务器……第十服务器;分担策略为:按照轮询的方式,依次将用户访问请求平均分配给各个虚拟服务器;即,将访问请求,按照接收到次序、按照计算量的多寡、按照连接数、按照交易数等依次分配给第一服务器、第二服务器、……第十服务器、第一服务器……如此循环。

又例如,分担策略可以为:设定阈值,该阈值可以是流量阈值、连接数阈值、交易数阈值、健康行阈值等多种判定条件中的一种。另外,每一类的阈值阈值可以是一个,也可以是多个,如以当前虚拟机所处理的连接数为阈值,连接数阈值由大大小逐渐递增的第1阈值、第2阈值……第n阈值;当访问量小于第1阈值时,负载均衡服务器将用户访问集中分配给第一服务器;当访问量大于第1阈值且小于第2阈值时,将用户访问平均分配给第一服务器以及第二服务器……。

需要注意的是,上述仅仅是分担策略的举例,只是为了明确分担策略的概念,而并非对具体分担策略进行的限定。具体的分担策略,实际上可以根据实际的情况进行具体的设定,另外,实际上按照虚拟机的权重进行计算任务的分配实际上也可以算作是分担策略的一种,因此在调整虚拟机的权重时,也可以认为是对分担策略的调整。

优选地,每一个负载均衡服务器实际上均可以对应多个分担策略,根据不同的情况,应用不同的分担策略。例如在上述两个分担策略的例子中,当对虚拟机集群总体的访问量小于某个阈值,可以采用上述例子中的第二种分担策略,以减少虚拟机的使用,节省资源;当虚拟机集群总体的访问量大于该阈值时,转而采用上述例子中的第一种分担策略,尽量保证多个虚拟机的计算压力是均衡的。

监控中心,具有获取虚拟机集群内所有虚拟机的负载数据的功能。其中,在监控中心获取虚拟机的负载数据时,可以是主动获取,例如,每隔预设时间,监控中心会向各个虚拟机发送相应的查询指令,虚拟机在接收到该查询指令之后,会将与查询指令对应的负载数据发送给监控中心;或者监控中心也可以是被动的获取负载数据,例如,处于虚拟机集群内的所有虚拟机每隔预设时间都会向监控中心发送负载数据。

在对虚拟机集群内的计算资源进行调整时,具体如下述:

监控中心获取到虚拟机集群内所有的虚拟机所发送的负载数据之后,会对负载数据进行进一步的处理。

负载数据一般包括:集群负载数据以及虚拟机性能数据;

集群负载数据一般包括:集群接口流量、集群连接数(外部应用的连接数)、集群交易数、集群响应延迟数、集群交易数中至少一种。

其中,集群接口流量指:虚拟机集群目前所处理的计算任务总的接口流量;集群连接数指:目前虚拟机集群所处理的连接数(外部应用的连接)总量;集群交易数指:目前虚拟机集群所处理的交易数的总量;集群响应延迟数指:目前响应延迟超出预设阈值的虚拟机的数量。

由于监控中心所采集到的负载数据实际上是从每一台虚拟机上获取的(由于负载均衡服务器除了不具有具体的响应功能,而仅仅是分配任务的作用,因此不能从负载均衡服务器获取负载数据),而每一台虚拟机都能获得与该虚拟机对应的接口流量、连接数、交易数、响应延迟等响应的虚拟机性能数据,因此,在获得需要获得上述集群负载数据的时候,一般需要将来源于每一台虚拟机的相应数据做求和处理,从而能够得到集群负载数据。

另,需要注意的是,由于监控中心是从每一台虚拟机获取的数据,虚拟机性能数据一般能够直接获取,而集群负载数据一般是通过虚拟机性能数据计算而得的。例如,虚拟机性能数据包括:接口流量;而集群性能数据包括:集群接口流量,那么集群接口流量实际上是该集群内所有虚拟机对应的接口流量的总和,其他情况类似,在此不再赘述。

虚拟机性能数据一般包括:接口流量、连接数、交易数、cpu占用率、内存消耗数据、响应延迟中至少一种。上述几者都能在一定程度上用于衡量当前虚拟机计算压力。因此,可以将上述几者中的每一项单独作为虚拟机性能数据,用来衡量一台虚拟机当前的计算压力;也可以将几者结合起来,按照不同性能数据对应的不同权重,来综合衡量衡量虚拟机当前的计算压力;还可以参考多种虚拟机性能数据,即只要有其中一种虚拟机性能数据已经超出了当前虚拟机的负荷,那么就认为当前的虚拟机已经达到最大计算压力。

根据上述负载数据,可以计算出当前虚拟机集群的总体负载情况,和虚拟机集群内每一台虚拟机的平均负载情况。

1、增加虚拟机集群内的计算资源:

在判断是否需要增加虚拟机集群内的计算资源时,主要依赖于集群负载数据。

以集群接口流量的总量为例,由于虚拟机集群当前能够处理的计算量是具有上限的(该上限可以根据实际的虚拟机集群情况进行具体的设定),因此,如果虚拟机集群中,集群接口流量大于(或者大于等于)流量最大阈值,那么意味着当前虚拟机集群将无法再处理更多的用户访问,因此就需要增加虚拟机集群内虚拟机的数量,以增加整个虚拟机集群所能够处理的访问量上限(或者称虚拟机的计算能力)。

因此,监控中心会在计算出接口流量总量后,将之与流量最大阈值进行比对,如果接口流量总量大于该流量最大阈值,则生成虚拟机增加指令,并将该虚拟机增加指令发送至负载均衡服务器;

所述负载均衡服务器根据所述虚拟机增加指令,创建新的虚拟机,并将所创建的新的虚拟机加入至虚拟机集群内,以增加虚拟机集群内的计算资源。

当以其他的集群负载数据作为用于评价是否需要增加继虚拟机集群内的计算资源的评价参数时,监控中心也会同样将之与对应的最大性能阈值进行比对,如果该集群负载数据大于该最大性能阈值,那么则生成并向所述负载均衡服务器发送虚拟机增加指令;

所述负载均衡服务器具体用于,接收所述虚拟机增加指令,并根据所述虚拟机增加指令创建新的虚拟机,并将所创建的新的虚拟机加入到所述虚拟机集群。

2、释放虚拟机集群内的计算资源:

将所述集群负载数据与预设的最小性能阈值进行比对;如果所述集群负载数据小于所述最小性能阈值,则生成并向所述负载均衡服务器发送虚拟机减少指令;

所述负载均衡服务器,还用于接收所述虚拟机减少指令,并根据所述虚拟机减少指令,对虚拟机集群内的虚拟机按照预设的消除方式进行消除。

需要注意的是,在上述增加虚拟机集群内的计算资源和释放虚拟机集群内的计算资源时,最大性能阈值和最小性能阈值,实际上可以进行预先的设定,也可以根据当前虚拟机集群内的虚拟机数量、负载等情况进行具体计算的而得到的。集群内虚拟机的数量不同,当前的最大性能阈值和最小性能阈值也就有所区别,如果要计算得到,则可以从负载均衡服务器获取,也可以通过获取当前集群内虚拟机的负载数据计算而得。

负载均衡服务器在创建新的虚拟机时,是根据预先创建的模板进行启动,使得所创建的虚拟机具备处理分布式任务的能力,然后将该新的虚拟机加入到虚拟机集群中。而新创建的虚拟机则会在被加入到虚拟机集群后,向监控中心上报,从而使得负载中心能够主动或者被动的获取新的虚拟机的负载数据。

负载均衡服务器在消除虚拟机集群内原有的虚拟机时,会对虚拟机按照预设的消除方式进行消除。例如:先将要消除的虚拟机的计算任务分配到其他的虚拟机上,当要消除的虚拟机上不再运行有计算任务时,执行消除的过程;或者负载均衡服务器在接收到虚拟机减少指令后,会根据当前虚拟机的虚拟机性能数据流量,从所有虚拟机中找到当前计算量最少的一台,并不再向该虚拟机分配新的任务。直到监测到该虚拟机上不再运行有计算任务时,执行消除过程。

需要注意的是,也可以将上述集群负载中的几项作为衡量是否需要对虚拟机集群内虚拟机的数量进行调整的依据。具体地,可以预先设置每一种使用到的集群负载数据的在整体衡量结果中的权重值。

例如,采用集群接口流量a、集群连接数b、集群交易数c、集群响应延迟数d、集群交易数e来共同衡量,其中,a的权重值为λ1,b的权重值为λ2,c的权重值为λ3,d的权重值为λ4,e的权重值为λ5,那么衡量指标m满足公式(1):

m=λ1×a+λ2×b+λ3×c+λ4×d+λ5×e(1)

在计算出m后,将m与预设的最大性能阈值和最小性能阈值进行比对;如果,m大于该最大性能阈值,那么就认为需要增加虚拟机,如果m小于该最小性能阈值,那么就认为需要减少虚拟机。

另外,当以多种集群负载数据作为衡量是否需要对虚拟机集群内虚拟机的数量进行调整的依据时,也可以不考虑综合的衡量指标,而是将每一项单独与其所对应的最大性能阈值和最小性能阈值进行比对,此时,使用几种集群负载数据,那么就相应的有几个最大性能阈值和几个最小性能阈值。例如,当使用集群接口流量、集群连接数时,就包括:集群接口流量最大阈值,集群连接数最大阈值;集群接口流量最小阈值、集群连接数最小阈值;将集群接口流量和集群接口流量最大阈值进行比对,并将集群连接数和集群连接数最大阈值,只要有其中一者是超出阈值,那么就认为需要增加虚拟机数量;将和集群接口流量集群接口流量最小阈值,并将集群连接数和集群连接数最小阈值进行比对,当其中两者均小于阈值,或者其中有其中一者小于阈值时,那么就认为需要减少虚拟机数量。

3、对虚拟机集群内虚拟机的分担策略进行调整:

对虚拟机集群内虚拟机的分担策略以及虚拟机权重的调整实际上包括两个调整时机:其一,在每一次增加或者减少了虚拟机集群内的虚拟机的时候,需要对虚拟机的分担策略和/或虚拟机权重进行调整。其二,每隔预设时间,监控中心都要获取一次负载数据,根据负载数据,要判断是否需要调整虚拟机集群内当前的分担策略和/或虚拟机权重。对虚拟机集群内返单策略以及虚拟机权重的调整,实际上是虚拟机集群内负载均衡的过程。即为了实现虚拟机集群内,负载能够较为均衡的被集群内的虚拟机所分担,不会使得某些虚拟机计算任务过重,也不会使得某些虚拟机任务过轻,使得虚拟机集群内所有的虚拟机都处于一个负载较为均衡的状态。

具体地,根据上述判断条件,当不需要增加或者减少集群内的虚拟机的时候,认为当前的虚拟机数量可以满足当前访问需求。那么就要根据虚拟机性能数据来判断是否需要对分担策略和/或虚拟机的权重值进行调整。具体地:

负载数据包括:虚拟机性能数据;

监控中心还用于,根据每台虚拟机的虚拟机性能数据,计算所有虚拟机性能数据的平均值以及方差;将虚拟机性能数据的平均值与预设性能平均值进行比对,如果虚拟机性能数据的平均值小于所述性能平均值,则根据虚拟机性能数据的方差判断虚拟机负载是否均衡;如果否,则根据所述虚拟机性能数据以及预设调整条件,生成并向负载均衡服务器发送虚拟机负载均衡指令;所述负载均衡指令中携带有均衡类别;

所述负载均衡服务器,还用于接收所述虚拟机负载均衡指令,并根据所述均衡类别,调整虚拟机的分担策略和/或虚拟机的权重。

具体地,在调整虚拟机的权重值时,是将计算任务更多的分配给当前性能更加优良的虚拟机上,或者将流量更多的均衡到内存消耗更低的设备。

计算所有虚拟机性能数据的平均值,是要衡量当前虚拟机集群内,总体的虚拟机性能是否已经达到了上限,将虚拟机性能数据的平均值和上限阈值进行比对,实际上如果虚拟机性能数据的平均值如果能够小于预设性能平均值,那么就认为当前虚拟机集群还可以承受更多的计算压力。此时,就需要根据虚拟机性能数据的方差,判断所有虚拟机负载是否是均衡的。如果判断结果是不均衡的,那么久根据虚拟机性能数据和预设的调整条件,生成虚拟机负载均衡指令。虚拟机负载均衡指令中携带有均衡类别,均衡类别的确定要根据当前虚拟机集群内所有虚拟机的负载情况和与均衡类别对应的调整条件来进行。

具体地,在监控中心会预设好相应的调整条件,调整条件一般是基于虚拟机性能数据进行设定的,实际上就是在虚拟机性能数据决定了当前应当采用哪种分担策略分配后续的计算任务。

在本发明实施例中,除了能够对虚拟机集群内的虚拟机进行负载均衡、调整虚拟机集群内虚拟机的数量之外,还可以针对单台虚拟机的具体性能进行调整,这是由于,虚拟机在被分配计算任务之后,负载均衡服务器要取消该虚拟机正在执行的计算任务是不容易实现的,而当虚拟机集群内某一台虚拟机当前计算压力过大,并且超出其最大计算能力阈值的时候,虽然负载均衡服务器不再向其分配任务,但是并不能缓解当前虚拟机的计算压力,从而导致该虚拟机计算缓慢,最终对任务请求端的响应也比较慢。为了减少这一情况的出现,就需要在一段时间内增强该虚拟机的计算能力。

具体地:所述监控中心还用于:在虚拟机负载不均衡时,根据所述虚拟机性能数据生成计算资源调取指令;并将所述计算资源调取指令发送给所述负载均衡服务器;所述计算资源调取指令中携带有虚拟机的身份标识;

所述负载均衡服务器,还用于接收所述计算资源调取指令;根据所述计算资源调取指令,增加与所述身份标识对应的虚拟机的cpu核心数和/或内存量。

其中,在根据虚拟机性能数据生成计算资源调取指令的时候,实际上市要根据虚拟机性能数据,查找到当前已经超出负荷运行的虚拟机所对应的身份标识。其包括多种方法,例如,将所有虚拟机性能数据按照从小到大的顺序进行排序,取其中的至少一台虚拟机作为需要调整内存或者cpu核心数,这几台虚拟机的虚拟机性能数据均大于预设的阈值,或者数量为预设数量。

本发明实施例所提供的虚拟机计算能力动态调整系统,包括了监控中心、负载均衡服务器以及虚拟机集群;监控中心在获取了虚拟机集群所发送的负载数据之后,根据所述负载数据,判断是否需要对虚拟机集群内的计算资源进行调整;在需要调整计算资源后,与所述负载均衡服务器进行交互,以释放虚拟机集群内的计算资源、增加虚拟机集群内的计算资源、对虚拟机集群中虚拟机的权重进行修正,或者对虚拟机集群中虚拟机的分担策略进行修正,这样实时获取虚拟机集群的负载数据,实时对虚拟机集群进行调整,能够快速的扩展和收缩分布式计算中虚拟机的计算能力。

参见图2所示,本发明实施例还提供一种虚拟机计算能力动态调整方法,包括:

s201:获取虚拟机集群内所有虚拟机的负载数据;

s202:根据所述负载数据判断是否需要对所述虚拟机集群内的虚拟机节点进行调整;

s203:需要调整计算资源后,与所述负载均衡服务器进行交互,以释放虚拟机集群内的计算资源、增加虚拟机集群内的计算资源、对虚拟机集群中虚拟机的权重进行修正,或者对虚拟机集群中虚拟机的分担策略进行修正。

本发明实施例所提供的虚拟机计算能力动态调整方法中,s201-s203具体实现方式,可参见图1对应的实施例的记载,在此不再赘述。

本发明实施例所提供的虚拟机计算能力动态调整方法中,在获取了虚拟机集群所发送的负载数据之后,根据所述负载数据,判断是否需要对虚拟机集群内的计算资源进行调整;在需要调整计算资源后,与所述负载均衡服务器进行交互,以释放虚拟机集群内的计算资源、增加虚拟机集群内的计算资源、对虚拟机集群中虚拟机的权重进行修正,或者对虚拟机集群中虚拟机的分担策略进行修正,这样实时获取虚拟机集群的负载数据,实时对虚拟机集群进行调整,能够快速的扩展和收缩分布式计算中虚拟机的计算能力。

参见图3所示,本发明实施例还提供一种虚拟机计算能力动态调整方法中,增加虚拟机集群内的计算资源的具体方法。其中:

所述负载数据包括:集群负载数据;

所述增加虚拟机集群内的计算资源,具体包括:

s301:将所述集群负载数据与预设的最大性能阈值进行比对;

s302:如果所述集群负载数据大于所述最大性能阈值,则生成并向所述负载均衡服务器发送虚拟机增加指令,以使所述负载均衡服务器根据所述虚拟机增加指令,创建新的虚拟机,并将新创建的所述虚拟机加入所述虚拟机集群。

参见图4所示,本发明实施例还提供一种虚拟机计算能力动态调整方法中,释放虚拟机集群内的计算资源的具体方法。包括:

s401:将所述集群负载数据与预设的最小性能阈值进行比对;

s402:如果所述集群负载数据小于所述最小性能阈值,则生成并向所述负载均衡服务器发送虚拟机减少指令,以使所述负载均衡服务器根据所述虚拟机减少指令,对虚拟机集群内的虚拟机按照预设的方式进行消除。

参见图5所示,本发明实施例还提供一种虚拟机计算能力动态调整方法中,所述对虚拟机集群中虚拟机的分担策略进行修正,具体包括:

s501:根据每台虚拟机的虚拟机性能数据,计算所有虚拟机性能数据的平均值以及方差;

s502:将虚拟机性能数据的平均值与预设性能平均值进行比对;

s503:如果虚拟机性能数据的平均值小于所述性能平均值,则根据所述虚拟机性能数据的方差判断虚拟机集群内负载是否均衡;

s504:如果虚拟机集群内负载不均衡,则根据所述虚拟机性能数据以及预设调整条件,生成并向负载均衡服务器发送虚拟机负载均衡指令;所述负载均衡指令中携带有均衡类别,以使所述负载均衡服务器,调整虚拟机的分担策略。

参见图6所示,本发明实施例还提供一种虚拟机计算能力动态调整方法中,所述对虚拟机计算资源进行动态调整,具体包括:

如果虚拟机集群内负载不均衡时,还包括:

s601:根据所述虚拟机性能数据生成计算资源调取指令;所述计算资源调取指令中携带有虚拟机的身份标识;

s602:将所述计算资源调取指令发送给负载均衡服务器,以使所述负载均衡服务器根据所述计算资源调取指令,增加与所述身份标识对应的虚拟机的cpu核心数和/或内存量。

本发明实施例所提供的虚拟机计算能力动态调整方法中,s301-s302、s401-s402、s501-s504、s601-s602等的具体实现方式,可参见图1对应的实施例的记载,在此不再赘述。

参见图7所示,本发明实施例还提供一种虚拟机计算能力动态调整装置,包括:

负载信息获取模块,用于获取虚拟机集群内所有虚拟机的负载数据;

判断模块,用于根据所述负载数据判断是否需要对所述虚拟机集群内的虚拟机节点进行调整;

调整模块,用于在需要调整计算资源时,与所述负载均衡服务器进行交互,以释放虚拟机集群内的计算资源、增加虚拟机集群内的计算资源、对虚拟机集群中虚拟机的权重进行修正,或者对虚拟机集群中虚拟机的分担策略进行修正。

本实施例中,负载信息获取模块、判断模块、调整模块的具体功能和交互方式,可参见图1对应的实施例的记载,在此不再赘述。

本发明实施例所提供的虚拟机计算能力动态调整方法、装置以及系统的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

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