掌桥专利:专业的专利平台
掌桥专利
首页

分布式系统的自动负载均衡方法及装置

文献发布时间:2023-06-19 11:02:01


分布式系统的自动负载均衡方法及装置

技术领域

本申请涉及数据处理技术领域,特别涉及云计算技术领域,具体涉及分布式系统的自动负载均衡方法及装置。

背景技术

随着计算机技术的飞速发展,如云计算等分布式计算产业已经成为了所有信息技术发展的核心战略重点,无论是传统的IT公司还是金融科技行业,都纷纷在积极地向如云计算等分布式计算转型。相比于传统服务器的高昂维护费用,如云计算等分布式计算的低廉投入受到了多数用户的青睐。因此,如何保证分布式系统的运行稳定也成为了当前的研究重点之一。例如,针对云计算的核心三大块:计算、存储及网络,能否保证各个部分平稳正常运行是云计算是否值得信赖的基础。其中,计算节点的有效利用影响着整个分布式系统的整体投入。

目前,在分布式系统的日常计算资源的使用过程中,难免会由于业务扩张、节点异常或规划变化需要对计算资源进行扩容,新扩容的计算节点在没有新的虚拟机创建时,资源将不会被调度,计算节点出现闲置,此时需要手动将已存计算节点上的虚拟机迁移至新加入计算节点上,才能使新加入计算节点的资源得到利用;同时,当已存计算节点其上的CPU、内存使用率很高时,计算节点将存在宕机的风险,影响业务正常运行,此时也需要手动迁移使用率较高的计算节点上的虚拟机到其他使用率相对较低的计算节点上。以上两种场景都需要在运维时,人为根据运行情况手动迁移计算节点上的虚拟机。

然而,在大型的分布式系统的实际应用中,计算节点数量众多,甚至已经达到几千个,而其上的虚拟机则有几万的规模,面对如此庞大的生产规模和有效的变更操作时间窗,人工运维显然已无法满足分布式系统的运行需求,使得针对分布式系统的运维工作面临着很大的挑战。

发明内容

针对现有技术中的问题,本申请提供一种分布式系统的自动负载均衡方法及装置,能够自动实现分布式系统中计算节点之间的负载均衡,能够有效提高负载均衡过程的处理及时性及可靠性,且能够有效提高负载均衡结果的准确性及有效性,进而能够有效提高分布式系统的资源利用率及运行稳定性。

为解决上述技术问题,本申请提供以下技术方案:

第一方面,本申请提供一种分布式系统的自动负载均衡方法,包括:

基于预设的自动负载均衡参数,在当前的分布式系统中选取待负载均衡的源计算节点及目的计算节点,并在所述源计算节点对应的各个虚拟机中选取目标虚拟机;

若所述目的计算节点满足所述目标虚拟机的资源设置要求,则将所述目标虚拟机自所述源计算节点迁移至所述目的计算节点。

进一步地,所述自动负载均衡参数包括:所述分布式系统对应的自动负载均衡生效范围;

相对应的,所述基于预设的自动负载均衡参数,在当前的分布式系统中选取待负载均衡的源计算节点及目的计算节点,并在所述源计算节点对应的各个虚拟机中选取目标虚拟机,包括:

根据所述自动负载均衡生效范围,在所述分布式系统中确定待进行负载均衡检测的多个计算节点;

在待进行负载均衡检测的多个计算节点中选取待负载均衡的源计算节点及目的计算节点;

在所述源计算节点对应的各个虚拟机中选取目标虚拟机。

进一步地,所述自动负载均衡参数还包括:各个所述计算节点各自对应的可用资源的权重,所述可用资源包括CPU和/或内存;

相对应的,所述在待进行负载均衡检测的多个计算节点中选取待负载均衡的源计算节点及目的计算节点,包括:

获取各个所述计算节点各自对应的可用资源的使用率;

基于各个所述计算节点各自对应的可用资源的使用率及权重,分别确定各个所述计算节点各自对应的使用率加权和;

根据各个所述计算节点各自对应的使用率加权和在各个所述计算节点中选取待负载均衡的源计算节点及目的计算节点。

进一步地,所述自动负载均衡参数还包括:自动负载均衡触发阈值;

相对应的,所述根据各个所述计算节点各自对应的使用率加权和在各个所述计算节点中选取待负载均衡的源计算节点及目的计算节点,包括:

按照使用率加权和的数值从大到小的顺序,对各个所述计算节点进行排序;

将排序后的首个计算节点与最后一个计算节点的使用率加权和相减以得到对应的资源使用差值;

若所述资源使用差值等于或大于所述自动负载均衡触发阈值,则将排序后的首个计算节点确定为当前的源计算节点,并将排序后的最后一个计算节点确定为当前的目的计算节点。

进一步地,所述自动负载均衡参数还包括:自动负载均衡例外参数,该自动负载均衡例外参数用于在所述分布式系统中的计算节点中指定至少一个禁用负载均衡的虚拟机;

相对应的,在所述源计算节点对应的各个虚拟机中选取目标虚拟机之前,还包括:

根据所述自动负载均衡例外参数确定所述源计算节点中是否包含有禁用负载均衡的虚拟机,若是,则锁定该禁用负载均衡的虚拟机。

进一步地,所述自动负载均衡参数还包括:各个所述计算节点各自对应的虚拟机迁移个数;

相对应的,所述在所述源计算节点对应的各个虚拟机中选取目标虚拟机,包括:

根据所述源计算节点对应的所述虚拟机迁移个数,在所述源计算节点中除已锁定的虚拟机之外的各个虚拟机中,选取对应数量的虚拟机作为所述目标虚拟机。

进一步地,在所述在当前的分布式系统中选取待负载均衡的源计算节点及目的计算节点之前,还包括:

分别接收并存储所述自动负载均衡参数;

其中,所述自动负载均衡参数包括:所述分布式系统对应的自动负载均衡生效范围、自动负载均衡触发阈值、自动负载均衡例外参数、各个所述计算节点各自对应的虚拟机迁移个数及可用资源的权重,所述可用资源包括CPU和/或内存。

第二方面,本申请提供一种分布式系统的自动负载均衡装置,包括:

均衡触发模块,用于基于预设的自动负载均衡参数,在当前的分布式系统中选取待负载均衡的源计算节点及目的计算节点,并在所述源计算节点对应的各个虚拟机中选取目标虚拟机;

负载均衡模块,用于若所述目的计算节点满足所述目标虚拟机的资源设置要求,则将所述目标虚拟机自所述源计算节点迁移至所述目的计算节点。

第三方面,本申请提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述分布式系统的自动负载均衡方法。

第四方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述分布式系统的自动负载均衡方法。

由上述技术方案可知,本申请提供的一种分布式系统的自动负载均衡方法及装置,方法通过基于预设的自动负载均衡参数,在当前的分布式系统中选取待负载均衡的源计算节点及目的计算节点,并在所述源计算节点对应的各个虚拟机中选取目标虚拟机;若所述目的计算节点满足所述目标虚拟机的资源设置要求,则将所述目标虚拟机自所述源计算节点迁移至所述目的计算节点,能够自动实现分布式系统中计算节点之间的负载均衡,能够有效提高负载均衡过程的处理及时性及可靠性,且能够有效提高负载均衡结果的准确性及有效性,进而能够有效提高分布式系统的资源利用率及运行稳定性,能够降低分布式系统中宿主机宕机的风险及运维成本;并能够有效减少运维人员操作并降低变更操作风险,提高分布式系统的运维人员和使用人员的用户体验。

附图说明

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

图1是本申请实施例中的分布式系统的自动负载均衡方法的第一种流程示意图。

图2是本申请实施例中的分布式系统的自动负载均衡方法中第二种流程示意图。

图3是本申请实施例中的分布式系统的自动负载均衡方法的第三种流程示意图。

图4是本申请实施例中的分布式系统的自动负载均衡方法的第四种流程示意图。

图5是本申请实施例中的分布式系统的自动负载均衡方法的第五种流程示意图。

图6是本申请实施例中的分布式系统的自动负载均衡方法的第六种流程示意图。

图7是本申请实施例中的分布式系统的自动负载均衡方法的第七种流程示意图。

图8是本申请实施例中的分布式系统的自动负载均衡装置的第一种结构示意图。

图9是本申请实施例中的分布式系统的自动负载均衡装置的第二种结构示意图。

图10是本申请应用实例中的分布式系统的自动负载均衡方法的逻辑流程示意图。

图11是本申请应用实例中的输入参数表的举例示意图。

图12是本申请实施例中的电子设备的结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

需要说明的是,本申请公开的分布式系统的自动负载均衡方法和装置可用于云计算技术领域,也可用于除云计算技术领域之外的任意领域,本申请公开的分布式系统的自动负载均衡方法和装置的应用领域不做限定。

针对大型的分布式系统中得众多计算节点存在的负载不均衡问题,人工运维显然已无法满足分布式系统的运行需求,使得针对分布式系统的运维工作面临着很大的挑战的问题,本申请提供一种分布式系统的自动负载均衡方法、分布式系统的自动负载均衡装置、电子设备及计算机可读存储介质,通过基于预设的自动负载均衡参数,在当前的分布式系统中选取待负载均衡的源计算节点及目的计算节点,并在所述源计算节点对应的各个虚拟机中选取目标虚拟机;若所述目的计算节点满足所述目标虚拟机的资源设置要求,则将所述目标虚拟机自所述源计算节点迁移至所述目的计算节点,能够自动实现分布式系统中计算节点之间的负载均衡,能够有效提高负载均衡过程的处理及时性及可靠性,且能够有效提高负载均衡结果的准确性及有效性,进而能够有效提高分布式系统的资源利用率及运行稳定性,能够降低分布式系统中宿主机宕机的风险及运维成本;并能够有效减少运维人员操作并降低变更操作风险,提高分布式系统的运维人员和使用人员的用户体验。

基于上述内容,本申请还提供一种用于实现本申请一个或多个实施例中提供的分布式系统的自动负载均衡方法的自动负载均衡系统,该自动负载均衡系统中至少包含有自动负载均衡装置、如金融机构的后台应用系统等的目标处理系统以及客户端设备,首先,目标处理系统可以触发自动负载均衡装置运行,自动负载均衡装置可以周期性或者实时地执行所述分布式系统的自动负载均衡方法,并在每次成功实施分布式系统的自动负载均衡过程之后,将对应的负载均衡结果发送至客户端设备,或者在无法执行分布式系统的自动负载均衡过程失败后,向所述客户端设备发送对应的报错信息。

在一种实际应用情形中,所述分布式系统的自动负载均衡装置可以采用服务器实现;所述服务器可以与至少一个客户端设备之间通信连接。

可以理解的是,所述客户端设备可以包括智能手机、平板电子设备、网络机顶盒、便携式计算机、台式电脑、个人数字助理(PDA)、车载设备、智能穿戴设备等。其中,所述智能穿戴设备可以包括智能眼镜、智能手表、智能手环等。

在另一种实际应用情形中,前述的分布式系统的自动负载均衡装置进行分布式系统的自动负载均衡的部分可以在如上述内容的服务器中执行,也可以所有的操作都在所述客户端设备中完成。具体可以根据所述客户端设备的处理能力,以及用户使用场景的限制等进行选择。本申请对此不作限定。若所有的操作都在所述客户端设备中完成,所述客户端设备还可以包括处理器,用于分布式系统的自动负载均衡的具体处理。

上述的客户端设备可以具有通信模块(即通信单元),可以与远程的服务器进行通信连接,实现与所述服务器的数据传输。所述服务器可以包括任务调度中心一侧的服务器,其他的实施场景中也可以包括中间平台的服务器,例如与任务调度中心服务器有通信链接的第三方服务器平台的服务器。所述的服务器可以包括单台计算机设备,也可以包括多个服务器组成的服务器集群,或者分布式装置的服务器结构。

上述服务器与所述客户端设备之间可以使用任何合适的网络协议进行通信,包括在本申请提交日尚未开发出的网络协议。所述网络协议例如可以包括TCP/IP协议、UDP/IP协议、HTTP协议、HTTPS协议等。当然,所述网络协议例如还可以包括在上述协议之上使用的RPC协议(Remote Procedure Call Protocol,远程过程调用协议)、REST协议(Representational State Transfer,表述性状态转移协议)等。

在本申请的一个或多个实施例中,所述分布式系统可以采用云计算系统或其他分布式计算系统,其中,云计算(cloud computing)是分布式计算的一种,指的是通过网络“云”将巨大的数据计算处理程序分解成无数个小程序,然后,通过多部服务器组成的系统进行处理和分析这些小程序得到结果并返回给用户。

在本申请的一个或多个实施例中,所述计算节点是指分布式系统中提供计算资源的节点,且每个计算节点对应的宿主机均提供CPU及内存资源等使用资源。

具体通过下述各个实施例及应用实例分别进行详细说明。

为了自动且可靠地实现分布式系统中计算节点之间的负载均衡,本申请提供一种分布式系统的自动负载均衡方法的实施例,参见图1,所述分布式系统的自动负载均衡方法具体包含有如下内容:

步骤100:基于预设的自动负载均衡参数,在当前的分布式系统中选取待负载均衡的源计算节点及目的计算节点,并在所述源计算节点对应的各个虚拟机中选取目标虚拟机。

在本申请的一个或多个实施例中,所述源计算节点为所述分布式系统中当前过载的计算节点,需要将源计算节点的虚拟机迁移到其他资源使用率较低的计算节点中,即本申请的一个或多个实施例中提及的目的计算节点,该目的计算节点可以为新加入分布式系统的计算节点,可以为分布式系统中的资源使用率较低的原计算节点。

步骤200:若所述目的计算节点满足所述目标虚拟机的资源设置要求,则将所述目标虚拟机自所述源计算节点迁移至所述目的计算节点。

在步骤200中,所述目标虚拟机的资源设置要求是指所述目的计算节点的CUP和/或内存是否能够承载目标虚拟机。同时,在本申请的一个或多个实施例中,目标虚拟机可以包含有至少一个虚拟机,具体可以根据源计算节点的实际情形选取,也可以根据自动负载均衡参数进行选取,其中,根据自动负载均衡参数进行选取的情形在后续实施例中进行详细说明。

从上述描述可知,本申请实施例提供的分布式系统的自动负载均衡方法,能够自动实现分布式系统中计算节点之间的负载均衡,能够有效提高负载均衡过程的处理及时性及可靠性,且能够有效提高负载均衡结果的准确性及有效性,进而能够有效提高分布式系统的资源利用率及运行稳定性,能够降低分布式系统中宿主机宕机的风险及运维成本;并能够有效减少运维人员操作并降低变更操作风险,提高分布式系统的运维人员和使用人员的用户体验。

为了提供一种自动负载均衡生效范围的应用方式,在本申请提供的分布式系统的自动负载均衡方法的一个实施例中,所述自动负载均衡参数包括:所述分布式系统对应的自动负载均衡生效范围;参见图2,所述分布式系统的自动负载均衡方法中的步骤100具体包含有如下内容:

步骤110:根据所述自动负载均衡生效范围,在所述分布式系统中确定待进行负载均衡检测的多个计算节点。

在步骤110中,自动负载均衡生效范围限定了需要进行自动负载均衡的主机范围,云环境中,一般指定区域进行自动负载均衡,在指定区域内相同主机组内的宿主机进行自动负载均衡。

步骤120:在待进行负载均衡检测的多个计算节点中选取待负载均衡的源计算节点及目的计算节点。

步骤130:在所述源计算节点对应的各个虚拟机中选取目标虚拟机。

从上述描述可知,本申请实施例提供的分布式系统的自动负载均衡方法,通过自动负载均衡生效范围的应用,能够有效提高在所述分布式系统中确定待进行负载均衡检测的多个计算节点的有效性及可靠性,进而能够有效提高负载均衡过程的有效性及可靠性。

为了提供一种各个所述计算节点各自对应的可用资源的权重的应用方式,在本申请提供的分布式系统的自动负载均衡方法的一个实施例中,所述自动负载均衡参数还包括:各个所述计算节点各自对应的可用资源的权重,所述可用资源包括CPU和/或内存;参见图3,所述分布式系统的自动负载均衡方法中的步骤120具体包含有如下内容:

步骤121:获取各个所述计算节点各自对应的可用资源的使用率;

步骤122:基于各个所述计算节点各自对应的可用资源的使用率及权重,分别确定各个所述计算节点各自对应的使用率加权和。

在步骤122中,CPU权重\自动负载均衡内存权重:CPU、内存是宿主机资源使用情况的重要衡量维度,两个参数相互独立,CPU使用率高不一定内存使用率高,反之内存使用率高CPU使用率不一定高,因此好的权重系数的设置,是该方法是否最优运行的关键。其中CPU权重加内存权重之和为1,运维人员可以根据实际使用的不同自行设置,当CPU权重设置为1,内存权重设置为0时,说明该自动负载均衡方法仅根据计算节点CPU使用情况进行判断计算节点是否需要进行自动负载均衡;当CPU权重设置为0,内存权重设置为1时,说明该自动负载均衡方法仅根据计算主机内存私用情况进行判断计算节点是否需要进行自动负载均衡。

步骤123:根据各个所述计算节点各自对应的使用率加权和在各个所述计算节点中选取待负载均衡的源计算节点及目的计算节点。

从上述描述可知,本申请实施例提供的分布式系统的自动负载均衡方法,通过各个计算节点各自对应的可用资源的权重,所述可用资源包括CPU和/或内存的应用,能够有效真实反映各个计算节点的使用情况,并能够有效提高确定各个计算节点的使用率的准确性及有效性,进而能够有效提高负载均衡结果的准确性及有效性。

为了提供一种自动负载均衡触发阈值的应用方式,在本申请提供的分布式系统的自动负载均衡方法的一个实施例中,所述自动负载均衡参数还包括:自动负载均衡触发阈值;参见图4,所述分布式系统的自动负载均衡方法中的步骤123具体包含有如下内容:

步骤1231:按照使用率加权和的数值从大到小的顺序,对各个所述计算节点进行排序。

步骤1232:将排序后的首个计算节点与最后一个计算节点的使用率加权和相减以得到对应的资源使用差值。

步骤1233:若所述资源使用差值等于或大于所述自动负载均衡触发阈值,则将排序后的首个计算节点确定为当前的源计算节点,并将排序后的最后一个计算节点确定为当前的目的计算节点。

在步骤1233中,自动负载均衡触发阈值是指当宿主机满足阈值条件则进行自动负载均衡,否则将不会自动负载均衡。

从上述描述可知,本申请实施例提供的分布式系统的自动负载均衡方法,通过自动负载均衡触发阈值的应用,能够有效提高触发自动负载均衡的智能化程度及有效性,进而能够有效提高负载均衡结果的智能化程度、准确性及有效性。

为了提供一种自动负载均衡例外参数的应用方式,在本申请提供的分布式系统的自动负载均衡方法的一个实施例中,所述自动负载均衡参数还包括:自动负载均衡例外参数,该自动负载均衡例外参数用于在所述分布式系统中指定至少一个禁用负载均衡的例外计算节点;参见图5,所述分布式系统的自动负载均衡方法中的步骤120和步骤130之间还具体包含有如下内容:

步骤124:根据所述自动负载均衡例外参数确定所述源计算节点中是否包含有禁用负载均衡的虚拟机,若是,则锁定该禁用负载均衡的虚拟机。

在步骤124中,自动负载均衡例外参数是指:在分布式系统中存在一些重要或特殊的虚拟机不希望改变其所在宿主机,则可以进行设置,其宿主机需要自动负载均衡时将不会对例外的虚拟机进行处理。

从上述描述可知,本申请实施例提供的分布式系统的自动负载均衡方法,通过自动负载均衡例外参数的应用,能够在不影响一些重要或特殊的虚拟机不希望改变其所在宿主机的基础上,有效提高负载均衡结果的准确性及有效性。

为了提供一种虚拟机迁移个数的应用方式,在本申请提供的分布式系统的自动负载均衡方法的一个实施例中,所述自动负载均衡参数还包括:各个所述计算节点各自对应的虚拟机迁移个数;参见图6,所述分布式系统的自动负载均衡方法中的步骤130具体包含有如下内容:

步骤131:根据所述源计算节点对应的所述虚拟机迁移个数,在所述源计算节点中除已锁定的虚拟机之外的各个虚拟机中,选取对应数量的虚拟机作为所述目标虚拟机。

在步骤131中,虚拟机迁移个数是指每一轮针对宿主机的自动负载均衡的虚拟机个数进行可以进行设置,避免长时间的自动负载均衡影响整个系统的调度。

从上述描述可知,本申请实施例提供的分布式系统的自动负载均衡方法,通过各个计算节点各自对应的虚拟机迁移个数的应用,能够有效提高在源计算节点对应的各个虚拟机中选取目标虚拟机的可靠性及有效性,进而能够有效提高负载均衡过程的可靠性及有效性。

为了进一步提高负载均衡过程的处理效率,在本申请提供的分布式系统的自动负载均衡方法的一个实施例中,参见图7,所述分布式系统的自动负载均衡方法中的步骤100之前还具体包含有如下内容:

步骤010:分别接收并存储所述自动负载均衡参数;其中,所述自动负载均衡参数包括:所述分布式系统对应的自动负载均衡生效范围、自动负载均衡触发阈值、自动负载均衡例外参数、各个所述计算节点各自对应的虚拟机迁移个数及可用资源的权重,所述可用资源包括CPU和/或内存。

从上述描述可知,本申请实施例提供的分布式系统的自动负载均衡方法,通过预先接收各类自动负载均衡参数,能够有效提高负载均衡过程的处理效率。

从软件层面来说,为了自动且可靠地实现分布式系统中计算节点之间的负载均衡,本申请提供一种用于执行所述分布式系统的自动负载均衡方法中全部或部分内容的分布式系统的自动负载均衡装置的实施例,参见图8,所述分布式系统的自动负载均衡装置具体包含有如下内容:

均衡触发模块10,用于基于预设的自动负载均衡参数,在当前的分布式系统中选取待负载均衡的源计算节点及目的计算节点,并在所述源计算节点对应的各个虚拟机中选取目标虚拟机。

在本申请的一个或多个实施例中,所述源计算节点为所述分布式系统中当前过载的计算节点,需要将源计算节点的虚拟机迁移到其他资源使用率较低的计算节点中,即本申请的一个或多个实施例中提及的目的计算节点,该目的计算节点可以为新加入分布式系统的计算节点,可以为分布式系统中的资源使用率较低的原计算节点。

负载均衡模块20,用于若所述目的计算节点满足所述目标虚拟机的资源设置要求,则将所述目标虚拟机自所述源计算节点迁移至所述目的计算节点。

在负载均衡模块20中,所述目标虚拟机的资源设置要求是指所述目的计算节点的CUP和/或内存是否能够承载目标虚拟机。同时,在本申请的一个或多个实施例中,目标虚拟机可以包含有至少一个虚拟机,具体可以根据源计算节点的实际情形选取,也可以根据自动负载均衡参数进行选取,其中,根据自动负载均衡参数进行选取的情形在后续实施例中进行详细说明。

本申请提供的分布式系统的自动负载均衡装置的实施例具体可以用于执行上述实施例中的分布式系统的自动负载均衡方法的实施例的处理流程,其功能在此不再赘述,可以参照上述方法实施例的详细描述。

从上述描述可知,本申请实施例提供的分布式系统的自动负载均衡装置,能够自动实现分布式系统中计算节点之间的负载均衡,能够有效提高负载均衡过程的处理及时性及可靠性,且能够有效提高负载均衡结果的准确性及有效性,进而能够有效提高分布式系统的资源利用率及运行稳定性,能够降低分布式系统中宿主机宕机的风险及运维成本;并能够有效减少运维人员操作并降低变更操作风险,提高分布式系统的运维人员和使用人员的用户体验。

为了提供一种自动负载均衡生效范围的应用方式,在本申请提供的分布式系统的自动负载均衡装置的一个实施例中,所述自动负载均衡参数包括:所述分布式系统对应的自动负载均衡生效范围;所述分布式系统的自动负载均衡装置中的均衡触发模块10具体包含有如下内容:

第一单元,用于根据所述自动负载均衡生效范围,在所述分布式系统中确定待进行负载均衡检测的多个计算节点。

在第一单元中,自动负载均衡生效范围限定了需要进行自动负载均衡的主机范围,云环境中,一般指定区域进行自动负载均衡,在指定区域内相同主机组内的宿主机进行自动负载均衡。

第二单元,用于在待进行负载均衡检测的多个计算节点中选取待负载均衡的源计算节点及目的计算节点。

第三单元,用于在所述源计算节点对应的各个虚拟机中选取目标虚拟机。

从上述描述可知,本申请实施例提供的分布式系统的自动负载均衡装置,通过自动负载均衡生效范围的应用,能够有效提高在所述分布式系统中确定待进行负载均衡检测的多个计算节点的有效性及可靠性,进而能够有效提高负载均衡过程的有效性及可靠性。

为了提供一种各个所述计算节点各自对应的可用资源的权重的应用方式,在本申请提供的分布式系统的自动负载均衡装置的一个实施例中,所述自动负载均衡参数还包括:各个所述计算节点各自对应的可用资源的权重,所述可用资源包括CPU和/或内存;所述分布式系统的自动负载均衡装置中的第二单元具体用于执行下述内容:

步骤121:获取各个所述计算节点各自对应的可用资源的使用率;

步骤122:基于各个所述计算节点各自对应的可用资源的使用率及权重,分别确定各个所述计算节点各自对应的使用率加权和。

在步骤122中,CPU权重\自动负载均衡内存权重:CPU、内存是宿主机资源使用情况的重要衡量维度,两个参数相互独立,CPU使用率高不一定内存使用率高,反之内存使用率高CPU使用率不一定高,因此好的权重系数的设置,是该装置是否最优运行的关键。其中CPU权重加内存权重之和为1,运维人员可以根据实际使用的不同自行设置,当CPU权重设置为1,内存权重设置为0时,说明该自动负载均衡装置仅根据计算节点CPU使用情况进行判断计算节点是否需要进行自动负载均衡;当CPU权重设置为0,内存权重设置为1时,说明该自动负载均衡装置仅根据计算主机内存私用情况进行判断计算节点是否需要进行自动负载均衡。

步骤123:根据各个所述计算节点各自对应的使用率加权和在各个所述计算节点中选取待负载均衡的源计算节点及目的计算节点。

从上述描述可知,本申请实施例提供的分布式系统的自动负载均衡装置,通过各个计算节点各自对应的可用资源的权重,所述可用资源包括CPU和/或内存的应用,能够有效真实反映各个计算节点的使用情况,并能够有效提高确定各个计算节点的使用率的准确性及有效性,进而能够有效提高负载均衡结果的准确性及有效性。

为了提供一种自动负载均衡触发阈值的应用方式,在本申请提供的分布式系统的自动负载均衡装置的一个实施例中,所述自动负载均衡参数还包括:自动负载均衡触发阈值;所述分布式系统的自动负载均衡装置中的第二单元还具体用于执行下述内容:

步骤1231:按照使用率加权和的数值从大到小的顺序,对各个所述计算节点进行排序。

步骤1232:将排序后的首个计算节点与最后一个计算节点的使用率加权和相减以得到对应的资源使用差值。

步骤1233:若所述资源使用差值等于或大于所述自动负载均衡触发阈值,则将排序后的首个计算节点确定为当前的源计算节点,并将排序后的最后一个计算节点确定为当前的目的计算节点。

在步骤1233中,自动负载均衡触发阈值是指当宿主机满足阈值条件则进行自动负载均衡,否则将不会自动负载均衡。

从上述描述可知,本申请实施例提供的分布式系统的自动负载均衡装置,通过自动负载均衡触发阈值的应用,能够有效提高触发自动负载均衡的智能化程度及有效性,进而能够有效提高负载均衡结果的智能化程度、准确性及有效性。

为了提供一种自动负载均衡例外参数的应用方式,在本申请提供的分布式系统的自动负载均衡装置的一个实施例中,所述自动负载均衡参数还包括:自动负载均衡例外参数,该自动负载均衡例外参数用于在所述分布式系统中指定至少一个禁用负载均衡的例外计算节点;所述分布式系统的自动负载均衡装置中还包含有在步骤120和步骤130之间执行的第四单元,该第四单元还具体包含有如下内容:

步骤124:根据所述自动负载均衡例外参数确定所述源计算节点中是否包含有禁用负载均衡的虚拟机,若是,则锁定该禁用负载均衡的虚拟机。

在步骤124中,自动负载均衡例外参数是指:在分布式系统中存在一些重要或特殊的虚拟机不希望改变其所在宿主机,则可以进行设置,其宿主机需要自动负载均衡时将不会对例外的虚拟机进行处理。

从上述描述可知,本申请实施例提供的分布式系统的自动负载均衡装置,通过自动负载均衡例外参数的应用,能够在不影响一些重要或特殊的虚拟机不希望改变其所在宿主机的基础上,有效提高负载均衡结果的准确性及有效性。

为了提供一种虚拟机迁移个数的应用方式,在本申请提供的分布式系统的自动负载均衡装置的一个实施例中,所述自动负载均衡参数还包括:各个所述计算节点各自对应的虚拟机迁移个数;所述分布式系统的自动负载均衡装置中的第三单元具体用于执行下述内容:

步骤131:根据所述源计算节点对应的所述虚拟机迁移个数,在所述源计算节点中除已锁定的虚拟机之外的各个虚拟机中,选取对应数量的虚拟机作为所述目标虚拟机。

在步骤131中,虚拟机迁移个数是指每一轮针对宿主机的自动负载均衡的虚拟机个数进行可以进行设置,避免长时间的自动负载均衡影响整个系统的调度。

从上述描述可知,本申请实施例提供的分布式系统的自动负载均衡装置,通过各个计算节点各自对应的虚拟机迁移个数的应用,能够有效提高在源计算节点对应的各个虚拟机中选取目标虚拟机的可靠性及有效性,进而能够有效提高负载均衡过程的可靠性及有效性。

为了进一步提高负载均衡过程的处理效率,在本申请提供的分布式系统的自动负载均衡装置的一个实施例中,参见图9,所述分布式系统的自动负载均衡装置中还具体包含有如下内容:

参数设置模块01,用于分别接收并存储所述自动负载均衡参数;其中,所述自动负载均衡参数包括:所述分布式系统对应的自动负载均衡生效范围、自动负载均衡触发阈值、自动负载均衡例外参数、各个所述计算节点各自对应的虚拟机迁移个数及可用资源的权重,所述可用资源包括CPU和/或内存。

从上述描述可知,本申请实施例提供的分布式系统的自动负载均衡装置,通过预先接收各类自动负载均衡参数,能够有效提高负载均衡过程的处理效率。

计算是云计算核心的一部分,计算节点在云计算基础设施建设中提供重要的计算资源,因此计算节点能否正常运行是云能否正常运转的关键。而在云计算正常使用过程中,存在应用短期内占满其宿主机的,使计算节点的CPU、内存使用率过高,存在宕机的风险,影响业务正常运行。

另一方面,当没有新的虚拟机发放时,新扩容进云计算环境中的宿主机其上的资源将一直得不到调度,如果运维人员没有手动将已存节点上的虚拟机迁移到新增的计算节点上,新扩容进来的计算节点上的资源将被浪费;而由于金融业应用很多,云计算的规模通常都很大,通过运维人员手工迁移的方式,在运维时间窗有限的前提下给为运维人员增大了运维操作,增加了运维风险和运维成本。

因此,本方案的目的是为了提升云平台稳定性,降低现有云平台宿主机宕机的风险;提升资源的利用率,降低云平台成本;减少运维人员操作,减少变更操作降低风。

基于此,为了进一步说明本方案,本申请还提供一种应用分布式系统的自动负载均衡装置实现的分布式系统的自动负载均衡方法的具体应用实例,在该应用实例中,分布式系统举例为云平台,参见图10,其运行机制主要包括如下步骤:

1、设置自动负载均衡参数;

2、根据系统运行情况及用户配置判断宿主机是否满足自动负载均衡条件;

3、完成自动负载均衡。

步骤1)设置自动负载均衡参数:参见图11所示的输入参数表,主要包括自动负载均衡生效范围、自动负载均衡触发阈值、自动负载均衡例外参数、CPU权重、内存权重和虚拟机迁移个数;

(1)自动负载均衡生效范围:限定了需要进行自动负载均衡的主机范围,云环境中,一般指定region进行自动负载均衡,在指定的region内相同主机组内的宿主机进行自动负载均衡。

(2)自动负载均衡触发阈值:当宿主机满足阈值条件则进行自动负载均衡,否则将不会自动负载均衡。

(3)自动负载均衡例外参数:云环境中存在一些重要或特殊的虚拟机不希望改变其所在宿主机,则可以进行设置,其宿主机需要自动负载均衡时将不会对例外的虚拟机进行处理。

(4)可用资源的权重:自动负载均衡CPU权重\自动负载均衡内存权重:CPU、内存是宿主机资源使用情况的重要衡量维度,两个参数相互独立,CPU使用率高不一定内存使用率高,反之内存使用率高CPU使用率不一定高,因此好的权重系数的设置,是该方法是否最优运行的关键。其中CPU权重加内存权重之和为1,运维人员可以根据实际使用的不同自行设置,当CPU权重设置为1,内存权重设置为0时,说明该自动负载均衡方法仅根据计算节点CPU使用情况进行判断计算节点是否需要进行自动负载均衡;当CPU权重设置为0,内存权重设置为1时,说明该自动负载均衡方法仅根据计算主机内存私用情况进行判断计算节点是否需要进行自动负载均衡。

(5)虚拟机迁移个数:每一轮针对宿主机的自动负载均衡的虚拟机个数进行可以进行设置,避免长时间的自动负载均衡影响整个系统的调度。

步骤2)根据系统运行情况及用户配置判断宿主机是否满足自动负载均衡条件:

(1)首先在设置的自动负载均衡范围内,获取所有宿主机的CPU\内存使用率,根据设置的权重值对CPU\内存使用率进行加权求和,然后对加权后的CPU\内存使用率进行排序,得到当前范围内所有宿主机的资源使用情况。

(2)然后选择排序后资源使用最多的主机和最少的主机相减得到宿主机资源使用的差值,对比自动负载均衡触发阈值,如果差值大于阈值则认为当前范围内的宿主机需要进行自动负载均衡。

(3)最后除去设置的自动负载均衡例外的虚拟机,将资源使用最高的宿主机上一个或多个虚拟机迁移到资源使用最低的宿主机上,其中一个或多个由自动负载均衡处理个数决定。

步骤3)完成自动负载均衡:根据步骤2确定了待自动负载均衡的源宿主机,此时需要确定待负载均衡的目的宿主机;目的宿主机需要满足待迁移进来的虚拟机的CPU\内存要求,同时虚拟机迁移到目的宿主机后,目的宿主机的CPU\内存使用率和负载均衡后源宿主机的CPU\内存使用率的差值需要小于自动负载均衡的触发阈值,否则将会自动负载均衡来回震荡。

从上述描述可知,本申请应用实例提供的分布式系统的自动负载均衡方法,为了避免云计算环境计算节点由于CPU、内存使用率过高导致宕机,影响应用平稳运行;提高云计算环境计算节点的资源使用率,本发明提供了一种自动负载均衡的方法。通过对指定范围内的宿主机进行资源的加权后的排序判断是否存在宿主机需要自主负载均衡,然后对满足条件的宿主机进行负载均衡,最后实现宿主机间资源使用均衡,保证云平台稳定运行。

从硬件层面来说,为了自动且可靠地实现分布式系统中计算节点之间的负载均衡,本申请提供一种用于实现所述分布式系统的自动负载均衡方法中的全部或部分内容的电子设备的实施例,所述电子设备具体包含有如下内容:

图12为本申请实施例的电子设备9600的系统构成的示意框图。如图12所示,该电子设备9600可以包括中央处理器9100和存储器9140;存储器9140耦合到中央处理器9100。值得注意的是,该图12是示例性的;还可以使用其他类型的结构,来补充或代替该结构,以实现电信功能或其他功能。

在一实施例中,分布式系统的自动负载均衡功能可以被集成到中央处理器中。其中,中央处理器可以被配置为进行如下控制:

步骤100:基于预设的自动负载均衡参数,在当前的分布式系统中选取待负载均衡的源计算节点及目的计算节点,并在所述源计算节点对应的各个虚拟机中选取目标虚拟机。

在本申请的一个或多个实施例中,所述源计算节点为所述分布式系统中当前过载的计算节点,需要将源计算节点的虚拟机迁移到其他资源使用率较低的计算节点中,即本申请的一个或多个实施例中提及的目的计算节点,该目的计算节点可以为新加入分布式系统的计算节点,可以为分布式系统中的资源使用率较低的原计算节点。

步骤200:若所述目的计算节点满足所述目标虚拟机的资源设置要求,则将所述目标虚拟机自所述源计算节点迁移至所述目的计算节点。

在步骤200中,所述目标虚拟机的资源设置要求是指所述目的计算节点的CUP和/或内存是否能够承载目标虚拟机。同时,在本申请的一个或多个实施例中,目标虚拟机可以包含有至少一个虚拟机,具体可以根据源计算节点的实际情形选取,也可以根据自动负载均衡参数进行选取,其中,根据自动负载均衡参数进行选取的情形在后续实施例中进行详细说明。

从上述描述可知,本申请实施例提供的电子设备,能够自动实现分布式系统中计算节点之间的负载均衡,能够有效提高负载均衡过程的处理及时性及可靠性,且能够有效提高负载均衡结果的准确性及有效性,进而能够有效提高分布式系统的资源利用率及运行稳定性,能够降低分布式系统中宿主机宕机的风险及运维成本;并能够有效减少运维人员操作并降低变更操作风险,提高分布式系统的运维人员和使用人员的用户体验。

在另一个实施方式中,分布式系统的自动负载均衡装置可以与中央处理器9100分开配置,例如可以将分布式系统的自动负载均衡装置配置为与中央处理器9100连接的芯片,通过中央处理器的控制来实现分布式系统的自动负载均衡功能。

如图12所示,该电子设备9600还可以包括:通信模块9110、输入单元9120、音频处理器9130、显示器9160、电源9170。值得注意的是,电子设备9600也并不是必须要包括图12中所示的所有部件;此外,电子设备9600还可以包括图12中没有示出的部件,可以参考现有技术。

如图12所示,中央处理器9100有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器9100接收输入并控制电子设备9600的各个部件的操作。

其中,存储器9140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且中央处理器9100可执行该存储器9140存储的该程序,以实现信息存储或处理等。

输入单元9120向中央处理器9100提供输入。该输入单元9120例如为按键或触摸输入装置。电源9170用于向电子设备9600提供电力。显示器9160用于进行图像和文字等显示对象的显示。该显示器例如可为LCD显示器,但并不限于此。

该存储器9140可以是固态存储器,例如,只读存储器(ROM)、随机存取存储器(RAM)、SIM卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为EPROM等。存储器9140还可以是某种其它类型的装置。存储器9140包括缓冲存储器9141(有时被称为缓冲器)。存储器9140可以包括应用/功能存储部9142,该应用/功能存储部9142用于存储应用程序和功能程序或用于通过中央处理器9100执行电子设备9600的操作的流程。

存储器9140还可以包括数据存储部9143,该数据存储部9143用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器9140的驱动程序存储部9144可以包括电子设备的用于通信功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。

通信模块9110即为经由天线9111发送和接收信号的发送机/接收机9110。通信模块(发送机/接收机)9110耦合到中央处理器9100,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。

基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块9110,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)9110还经由音频处理器9130耦合到扬声器9131和麦克风9132,以经由扬声器9131提供音频输出,并接收来自麦克风9132的音频输入,从而实现通常的电信功能。音频处理器9130可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器9130还耦合到中央处理器9100,从而使得可以通过麦克风9132能够在本机上录音,且使得可以通过扬声器9131来播放本机上存储的声音。

本申请的实施例还提供能够实现上述实施例中的分布式系统的自动负载均衡方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的执行主体为服务器或客户端的分布式系统的自动负载均衡方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:

步骤100:基于预设的自动负载均衡参数,在当前的分布式系统中选取待负载均衡的源计算节点及目的计算节点,并在所述源计算节点对应的各个虚拟机中选取目标虚拟机。

在本申请的一个或多个实施例中,所述源计算节点为所述分布式系统中当前过载的计算节点,需要将源计算节点的虚拟机迁移到其他资源使用率较低的计算节点中,即本申请的一个或多个实施例中提及的目的计算节点,该目的计算节点可以为新加入分布式系统的计算节点,可以为分布式系统中的资源使用率较低的原计算节点。

步骤200:若所述目的计算节点满足所述目标虚拟机的资源设置要求,则将所述目标虚拟机自所述源计算节点迁移至所述目的计算节点。

在步骤200中,所述目标虚拟机的资源设置要求是指所述目的计算节点的CUP和/或内存是否能够承载目标虚拟机。同时,在本申请的一个或多个实施例中,目标虚拟机可以包含有至少一个虚拟机,具体可以根据源计算节点的实际情形选取,也可以根据自动负载均衡参数进行选取,其中,根据自动负载均衡参数进行选取的情形在后续实施例中进行详细说明。

从上述描述可知,本申请实施例提供的计算机可读存储介质,能够自动实现分布式系统中计算节点之间的负载均衡,能够有效提高负载均衡过程的处理及时性及可靠性,且能够有效提高负载均衡结果的准确性及有效性,进而能够有效提高分布式系统的资源利用率及运行稳定性,能够降低分布式系统中宿主机宕机的风险及运维成本;并能够有效减少运维人员操作并降低变更操作风险,提高分布式系统的运维人员和使用人员的用户体验。

本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本发明是参照根据本发明实施例的方法、设备(装置)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

相关技术
  • 分布式系统的自动负载均衡方法及装置
  • 一种分布式系统的服务负载均衡方法及装置
技术分类

06120112774603