一种负载分担的方法和装置的制造方法

文档序号:9828313阅读:266来源:国知局
一种负载分担的方法和装置的制造方法
【技术领域】
[0001]本发明涉及通信技术领域,尤其涉及一种负载分担的方法和装置。
【背景技术】
[0002]随着数据中心业务日益增加,用户需求不断提高,数据中心的规模和功能日趋复杂,管理难度越来越高,因此,对数据中心资源进行虚拟化,成为目前数据中心整合的重要趋势。虚拟化技术通过对物理资源和提供的服务进行抽象化,让资源使用者和系统管理者不关心对象的物理特征和服务边界的细节,从而降低资源使用和管理的复杂度,提高使用效率。因而,对数据中心的虚拟化能够提高数据中心的资源利用率,并降低系统的能耗。进一步的,通过专用的虚拟化软件可以将一台物理服务器虚拟出多台虚拟机,每个虚拟机独立运行,互不影响,都有自己的操作系统、应用程序和硬件环境。
[0003]当虚拟机对外提供应用时,如果有大量用户需要访问该应用,则提供该应用的虚拟机可能无法满足大量用户的访问需求,因此,需要增加提供该应用的虚拟机的数量。而且,如果访问该应用的用户数量较少时,如果有大量的虚拟机均提供该应用,则会浪费虚拟机的资源,因此,需要减少提供该应用的虚拟机的数量。基于此,需要知道何时增加提供该应用的虚拟机的数量,以及何时减少提供该应用的虚拟机的数量,从而动态调整虚拟机的数量。

【发明内容】

[0004]本发明提供一种负载分担的方法,业务虚拟机组内包括多个虚拟机,且业务虚拟机组内的虚拟机用于提供同一应用,所述方法包括以下步骤:
[0005]获得所述业务虚拟机组中的每个虚拟机的应用信息和性能信息;
[0006]利用所述业务虚拟机组中的每个虚拟机的应用信息和性能信息,对所述业务虚拟机组中的虚拟机进行动态资源扩展DRX处理;
[0007]利用负载均衡算法,在DRX处理之后的所述业务虚拟机组中的各虚拟机之间,对访问所述应用的用户访问请求报文进行负载分担。
[0008]本发明提供一种负载分担的装置,业务虚拟机组内包括多个虚拟机,且业务虚拟机组内的虚拟机用于提供同一应用,所述装置具体包括:获得模块,用于获得所述业务虚拟机组中的每个虚拟机的应用信息和性能信息;
[0009]处理模块,用于利用所述业务虚拟机组中的每个虚拟机的应用信息和性能信息,对所述业务虚拟机组中的虚拟机进行动态资源扩展DRX处理;
[0010]负载模块,用于利用负载均衡算法,在DRX处理之后的所述业务虚拟机组中的各虚拟机之间,对访问所述应用的用户访问请求报文进行负载分担。
[0011]基于上述技术方案,本发明实施例中,通过配置包括多个虚拟机的业务虚拟机组,并且业务虚拟机组内的虚拟机提供同一应用,从而可以利用业务虚拟机组中的每个虚拟机的应用信息和性能信息对业务虚拟机组中的虚拟机进行DRX(Dynamic Resourceextens1n,动态资源扩展)处理,当有大量用户需要访问该应用时,可以增加提供该应用的虚拟机的数量,以满足大量用户的访问需求,增强处理能力;当需要访问该应用的用户数量减少时,可以减少提供该应用的虚拟机的数量,以回收虚拟机的资源。上述方式通过动态调整虚拟机的数量,提高了资源利用率,并可以合理的利用虚拟机的资源。
【附图说明】
[0012]图1是本发明一种实施方式中的负载分担的方法的流程图;
[0013]图2是本发明一种实施方式中的负载分担设备的硬件结构图;
[0014]图3是本发明一种实施方式中的负载分担的装置的结构图。
【具体实施方式】
[0015]针对现有技术中存在的问题,本发明实施例中提出一种负载分担的方法,该方法应用于包括多个虚拟机的系统中。虚拟机是物理服务器上虚拟化的逻辑的虚拟机,不同的虚拟机可以位于相同的物理服务器上,也可以位于不同的物理服务器上。通过DRX技术,可以将多个虚拟机添加到一个业务虚拟机组中。基于此,业务虚拟机组内包括多个虚拟机,且业务虚拟机组内的虚拟机可用于提供同一应用。例如,业务虚拟机组内的多个虚拟机均用于对外提供网页应用,或业务虚拟机组内的多个虚拟机均用于对外提供邮箱应用等。
[0016]在上述应用场景下,如图1所示,该负载分担的方法具体包括以下步骤:
[0017]步骤101,获得业务虚拟机组中的每个虚拟机的应用信息和性能信息。
[0018]步骤102,利用业务虚拟机组中的每个虚拟机的应用信息和性能信息,对业务虚拟机组中的虚拟机进行DRX (动态资源扩展)处理。
[0019]步骤103,利用负载均衡算法,在DRX处理之后的业务虚拟机组中的各虚拟机之间,对访问应用的用户访问请求报文进行负载分担。
[0020]本发明实施例中,可以启动定时任务,该定时任务用于周期性的执行上述负载分担的方法,即每隔一段时间,执行上述步骤101-步骤103,对业务虚拟机组中的虚拟机进行DRX处理,以下结合一次执行过程进行说明。
[0021]本发明实施例中,性能信息具体包括但不限于CPU (Central Processing Unit,中央处理器)利用率和/或内存利用率。应用信息具体包括但不限于应用运行状态和应用指标,应用运行状态具体可以为可用状态或者不可用状态。
[0022]当然,性能信息并不局限于CPU利用率和/或内存利用率,还可以包括吞吐率、带宽利用率等其它性能信息,为了方便描述,本发明实施例的后续过程中,以性能信息包括CPU利用率和/或内存利用率为例进行说明。
[0023]在一种DRX技术中,通过将多个虚拟机添加到一个业务虚拟机组中,定时检测业务虚拟机组中的各虚拟机的CPU利用率和内存利用率。如果所有虚拟机的CPU利用率和内存利用率均小于预设阈值,则减少业务虚拟机组中的虚拟机数量,如果有虚拟机的CPU利用率和/或内存利用率大于预设阈值,则增加业务虚拟机组中的虚拟机数量。基于此,在只利用业务虚拟机组中的每个虚拟机的性能信息(如CPU利用率和/或内存利用率)对业务虚拟机组中的虚拟机进行DRX处理时,则会出现如下情况:1、虽然所有虚拟机的CPU利用率和内存利用率均小于预设阈值,但是可能有虚拟机已经无法在处理访问应用的用户访问请求报文,其原因是该虚拟机上可能有大量的用户访问请求报文待处理,在此情况下,如果减少业务虚拟机组中的虚拟机数量,则分配到该虚拟机上的用户访问请求报文会更多,即更多的用户访问请求报文无法被及时处理。2、虽然有虚拟机的CPU利用率和/或内存利用率大于预设阈值,但是可能有虚拟机上只处理很少的用户访问请求报文,该虚拟机有大量的资源还可以使用,在此情况下,如果增加业务虚拟机组中的虚拟机数量,则分配到该虚拟机上的用户访问请求报文会更少,浪费了虚拟机的资源。
[0024]针对上述发现,本发明实施例中,在对业务虚拟机组中的虚拟机进行DRX处理时,会综合考虑业务虚拟机组中的每个虚拟机的应用信息(如应用运行状态和应用指标)和性能信息(如CPU利用率和/或内存利用率),对业务虚拟机组中的虚拟机进行DRX处理。为了实现这一 DRX处理过程,需要先统计出业务虚拟机组中的每个虚拟机的应用信息和性能
?目息O
[0025]其中,在业务虚拟机组中的每个虚拟机的使用过程中,可以直接统计出该虚拟机的性能信息(如CPU利用率和/或内存利用率)。
[0026]其中,针对业务虚拟机组中的每个虚拟机,通过检测虚拟机对外是否能够提供相应应用,确定该虚拟机的应用运行状态为可用状态或者不可用状态。当虚拟机对外不能够提供相应应用时,则确定该虚拟机的应用运行状态为不可用状态。当虚拟机对外能够提供相应应用时,则确定该虚拟机的应用运行状态为可用状态。例如,针对网页应用(Web应用),在虚拟机处理用户访问请求报文的过程中,如果虚拟机向指定的URL(UniformResource Locator,统一资源定位符)页面发送 HTTP (Hyper Text Transfer Protocol,超文本传输协议)请求时,能够收到状态码为200的HTTP响应(状态码200的响应代表请求已成功),则认为该虚拟机对外能够提供网页应用,确定该虚拟机的应用运行状态为可用状态。如果虚拟机向指定的URL页面发送HTTP请求时,能够收到状态码为404的HTTP响应(状态码404的响应代表页面不存在),或者在最大超时时间范围内没有收到任何HTTP响应,则认为该虚拟机对外不能够提供网页应用,确定该虚拟机的应用运行状态为不可用状
??τ O
[0027]进一步的,在虚拟机的应用运行状态为可用状态时,还可以检测该虚拟机的应用指标。其中,该应用指标可以根据实际经验任意配置,这些应用指标用于表示该应用的健康状况。例如,针对网页应用,则可以配置应用指标为当前连接Sess1n(会话)个数、连接响应时间等。针对Apache应用,则可以配置应用指标为每次请求字节数、每秒请求数、每秒请求字节数等。
[0028]本发明实施例中,利用业务虚拟机组中的每个虚拟机的应用信息和性能信息,对业务虚拟机组中的虚拟机进行DRX处理的过程,具体可以包括但不限于如下方式:如果业务虚拟机组中有虚拟机的应用运行状态为不可用状态,则对该虚拟机进行重启处理,或者对该虚拟机进行关闭处理。或者,如果业务虚拟机组中有多个虚拟机(如所有虚拟机)的应用运行状态为可用状态,且这多个虚拟机中的每个虚拟机的应用指标均小于预设第一阈值,性能信息均小于预设第二阈值,
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1