一种基于集群的负载均衡方法及其装置与流程

文档序号:11254111阅读:453来源:国知局
一种基于集群的负载均衡方法及其装置与流程

本发明涉及集群资源分配技术领域,特别是涉及一种基于集群的负载均衡方法及其装置。



背景技术:

在计算机集群领域,集群上运行很多不同类型的负载。为了集群稳定性,提高集群节点的使用寿命,需要采用一些规则对负载进行分配。

目前采用的方法多为通过计算节点的cpu使用率或者网络带宽占用率的方式来分配负载。这种分配方式下,若出现个别cpu使用率或者网络带宽占用率特别高的负载,会使得部分集群节点上的负载个数很少,而有的节点上的负载个数很多,负载分配也不够均衡。

因此,如何提供一种均衡性能好的基于集群的负载均衡方法及其装置是本领域技术人员目前需要解决的问题。



技术实现要素:

本发明的目的是提供一种基于集群的负载均衡方法及其装置,通过结合每个节点运行的各类负载的数量,实现对负载数量的均衡分配,并且能够尽可能保证各个节点上负载使用的资源的均衡分配。

为解决上述技术问题,本发明提供了一种基于集群的负载均衡方法,包括:

步骤s1:实时记录集群内每个节点上运行的各类负载的数量;

步骤s2:所述集群接收新负载;

步骤s3:从未标记过的节点内选择负载数量最少的节点进行标记,并进入步骤s4;若所述集群内不包含未标记过的节点,选择负载数量最少的节点运行所述新负载,并进入步骤s5;

步骤s4:判断当前选择的节点上是否有与所述新负载类型相同的负载,若有,返回步骤s3;若没有,在当前选择的节点上运行所述新负载,并进入步骤s5;

步骤s5:清除全部节点上的标记。

优选地,还包括:

周期性查询各个节点上每类负载的数量;

若与上周期相比,有节点上运行的一类负载的减少数量达到预设个数,则从所述集群内选择负载数量最多的节点;

查看当前选择的节点上是否有与上述数量减少的负载类型相同的负载,若有,从当前选择的节点上按照预设规则选择特定个数的该类型的负载;若没有,从当前选择的节点上按照所述预设规则选择特定个数的、且上述出现负载数量减少的节点上没有的负载类型的负载;

将选择的负载迁移至所述出现负载数量减少的节点上运行。

优选地,所述负载类型包括:

cpu密集型、内存密集型、带宽密集型。

优选地,所述特定个数为1个。

优选地,当有节点上出现运行的多类负载的减少数量均达到所述预设个数,则按照数量从大到小的顺序对各类负载的减少数量进行排序,并按照顺序依次将各类负载作为所述数量减少的负载类型进行处理。

为解决上述技术问题,本发明还提供了一种基于集群的负载均衡装置,包括:

数量记录模块,用于实时记录集群内每个节点上运行的各类负载的数量;

接收模块,用于所述集群接收新负载,并触发标记模块;

所述标记模块,用于从未标记过的节点内选择负载数量最少的节点进行标记,并触发判断模块;若所述集群内不包含未标记过的节点,选择负载数量最少的节点运行所述新负载,并触发清除模块;

所述判断模块,用于判断当前选择的节点上是否有与所述新负载类型相同的负载,若有,触发所述标记模块;若没有,在当前选择的节点上运行所述新负载,并触发清除模块;

所述清除模块,用于清除全部节点上的标记。

优选地,还包括:

查询模块,用于周期性查询各个节点上每类负载的数量;若与上周期相比,有节点上运行的一类负载的减少数量达到预设个数,则触发选择模块;

所述选择模块,用于从所述集群内选择负载数量最多的节点,触发查看模块;

所述查看模块,用于查看当前选择的节点上是否有与上述数量减少的负载类型相同的负载,若有,从当前选择的节点上按照预设规则选择特定个数的该类型的负载;若没有,从当前选择的节点上按照所述预设规则选择特定个数的、且上述出现负载数量减少的节点上没有的负载类型的负载;触发迁移模块;

所述迁移模块,用于将选择的负载迁移至所述出现负载数量减少的节点上运行。

优选地,所述查询模块还包括:

排序单元,用于当有节点上出现运行的多类负载的减少数量均达到所述预设个数,则按照数量从大到小的顺序对各类负载的减少数量进行排序,并按照顺序依次将各类负载作为所述数量减少的负载类型触发所述选择模块。

本发明提供了一种基于集群的负载均衡方法及其装置,对负载分类,并实时记录集群内每个节点上运行的各类负载的数量,当集群接收新负载后,选择负载数量少且不包含与新负载类型相同的负载的节点来运行新负载,一方面使得新负载能够尽可能在包含负载数量最少的节点上运行,使各个节点上的负载数量较为均衡,另一方面由于相同类型的负载的资源占用情况类型,为了避免多个同类型负载在同一节点上运行导致的资源干扰的情况出现,故本发明尽可能寻找不包含与新负载类型相同的负载的节点来运行新负载,从而使得各个节点上的资源使用也较为均衡,可见,本发明的负载数量以及负载使用的资源的均衡性能均比较好。

附图说明

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

图1为本发明提供的一种基于集群的负载均衡方法的过程的流程图;

图2为本发明提供的一种基于集群的负载均衡方法中负载减少时的过程的流程图;

图3为本发明提供的一种基于集群的负载均衡装置的结构示意图。

具体实施方式

本发明的核心是提供一种基于集群的负载均衡方法及其装置,通过结合每个节点运行的各类负载的数量,实现对负载数量的均衡分配,并且能够尽可能保证各个节点上负载使用的资源的均衡分配。

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

本发明提供了一种基于集群的负载均衡方法,参见图1所示,图1为本发明提供的一种基于集群的负载均衡方法的过程的流程图;该方法包括:

步骤s1:实时记录集群内每个节点上运行的各类负载的数量;

在此过程之前,本发明还包括对负载进行分类,分类依据为各个负载所占用的资源的情况,例如,负载类型包括cpu密集型、内存密集型、带宽密集型等。当然,负载类型还可以包括其他类型的资源密集型,本发明对此不作具体限定。

另外,由于每个节点上会运行多个类型的负载,因此需要分别记录每个节点上每类负载的数量。

步骤s2:集群接收新负载;

当然,需要注意的是,步骤s1为实时进行的,在后续步骤进行时仍在进行,与步骤s2并无先后顺序关系。

步骤s3:从未标记过的节点内选择负载数量最少的节点进行标记,并进入步骤s4;若集群内不包含未标记过的节点,选择负载数量最少的节点运行新负载,并进入步骤s5;

即判断是否还包含未标记过的节点,若包括,则从未标记过的节点内选择负载数量最少的节点进行标记,并进入步骤s4;若不包括,选择负载数量最少的节点运行新负载,并进入步骤s5;

可以理解的是,优先选择负载数量最少的节点的目的是为了尽可能使新负载在该负载数量最少的节点上运行,进而使各个节点上运行的负载数量较为均衡。

步骤s4:判断当前选择的节点上是否有与新负载类型相同的负载,若有,返回步骤s3;若没有,在当前选择的节点上运行新负载,并进入步骤s5;

可以理解的是,若当前选择的节点上有与新负载类型相同的负载,则该负载会与新负载在资源分配上发生一定的资源竞争,例如若两者均为cpu密集型负载,则表明两者均对cpu需求较高,因此若分配至同一个节点运行即可能导致资源竞争,因此需要尽可能将新负载分配至不包含与自身类型相同的负载的节点上。

由于每次选择一个节点后,均会对该节点进行标记,若该节点包含与新负载类型相同的负载,则返回步骤s3重新从剩余节点内选择;当全部节点均标记后,表明各个节点内均包含与新负载类型相同的负载,此时不再考虑相同类型负载导致的资源冲突问题,而是直接选择负载数量最少的节点运行新负载。

步骤s5:清除全部节点上的标记。

可以理解的是,由于每次接收新负载后,需要从集群内全部节点内寻找合适的节点运行,因此,每次新负载的分配结束后,需要清除全部节点上的标记,便于后续新负载的分配。

作为优选地,参见图2所示,图2为本发明提供的一种基于集群的负载均衡方法中负载减少时的过程的流程图;该方法还包括:

步骤s21:周期性查询各个节点上每类负载的数量;

步骤s22:若与上周期相比,有节点上运行的一类负载的减少数量达到预设个数,则从集群内选择负载数量最多的节点;

即若有某一个节点上运行的某一类负载的减少数量达到预设个数,即对该节点进行后续操作。

步骤s23:查看当前选择的节点上是否有与上述数量减少的负载类型相同的负载,若有,从当前选择的节点上按照预设规则选择特定个数的该类型的负载;若没有,从当前选择的节点上按照预设规则选择特定个数的、且上述出现负载数量减少的节点上没有的负载类型的负载;

步骤s24:将选择的负载迁移至出现负载数量减少的节点上运行。

可以理解的是,在没有新负载进入时,也需要根据各个节点上的负载数量进行负载均衡,避免部分节点上负载过多的情况出现。因此,当有某一个节点上运行的某一类负载的减少数量达到预设个数时,选择负载数量最多的节点,将其上的部分负载迁移至该出现负载数量减少的节点上,以达到负载均衡的目的。

另外,上述特定个数和预设个数为一般均为1个,当然也可按照预设规则确定特定个数的具体数值,本发明对此不作限定,本发明也不限定预设个数的具体数值。

在具体实施例中,当有节点上出现运行的多类负载的减少数量均达到预设个数,则按照数量从大到小的顺序对各类负载的减少数量进行排序,并按照顺序依次将各类负载作为数量减少的负载类型进行处理。

可以理解的是,这里的处理,指的是将该节点上的该类负载作为步骤s23中数量减少的负载类型。

另外,当集群中同时出现多个节点上负载减少时,可以按照特定规则对各个节点进行排序,然后依次进行步骤s22~步骤s24的操作,这里的特定规则可以为随机规则,或者是依据负载减少的数量从大到小的顺序,当然也可采用其他顺序,本发明对此不作限定。

本发明提供了一种基于集群的负载均衡方法,对负载分类,并实时记录集群内每个节点上运行的各类负载的数量,当集群接收新负载后,选择负载数量少且不包含与新负载类型相同的负载的节点来运行新负载,一方面使得新负载能够尽可能在包含负载数量最少的节点上运行,使各个节点上的负载数量较为均衡,另一方面由于相同类型的负载的资源占用情况类型,为了避免多个同类型负载在同一节点上运行导致的资源干扰的情况出现,故本发明尽可能寻找不包含与新负载类型相同的负载的节点来运行新负载,从而使得各个节点上的资源使用也较为均衡,可见,本发明的负载数量以及负载使用的资源的均衡性能均比较好。

本发明还提供了一种基于集群的负载均衡装置,参见图3所示,图3为本发明提供的一种基于集群的负载均衡装置的结构示意图。该装置包括:

数量记录模块1,用于实时记录集群内每个节点上运行的各类负载的数量;

接收模块2,用于集群接收新负载,并触发标记模块3;

标记模块3,用于从未标记过的节点内选择负载数量最少的节点进行标记,并触发判断模块4;若集群内不包含未标记过的节点,选择负载数量最少的节点运行新负载,并触发清除模块5;

判断模块4,用于判断当前选择的节点上是否有与新负载类型相同的负载,若有,触发标记模块3;若没有,在当前选择的节点上运行新负载,并触发清除模块5;

清除模块5,用于清除全部节点上的标记。

作为优选地,该装置还包括:

查询模块6,用于周期性查询各个节点上每类负载的数量;若与上周期相比,有节点上运行的一类负载的减少数量达到预设个数,则触发选择模块7;

该查询模块6与数量记录模块1相连。

选择模块7,用于从集群内选择负载数量最多的节点,触发查看模块8;

查看模块8,用于查看当前选择的节点上是否有与上述数量减少的负载类型相同的负载,若有,从当前选择的节点上按照预设规则选择特定个数的该类型的负载;若没有,从当前选择的节点上按照预设规则选择特定个数的、且上述出现负载数量减少的节点上没有的负载类型的负载;触发迁移模块9;

迁移模块9,用于将选择的负载迁移至出现负载数量减少的节点上运行。

作为优选地,查询模块6还包括:

排序单元,用于当有节点上出现运行的多类负载的减少数量均达到预设个数,则按照数量从大到小的顺序对各类负载的减少数量进行排序,并按照顺序依次将各类负载作为数量减少的负载类型触发选择模块7。

本发明提供了一种基于集群的负载均衡装置,对负载分类,并实时记录集群内每个节点上运行的各类负载的数量,当集群接收新负载后,选择负载数量少且不包含与新负载类型相同的负载的节点来运行新负载,一方面使得新负载能够尽可能在包含负载数量最少的节点上运行,使各个节点上的负载数量较为均衡,另一方面由于相同类型的负载的资源占用情况类型,为了避免多个同类型负载在同一节点上运行导致的资源干扰的情况出现,故本发明尽可能寻找不包含与新负载类型相同的负载的节点来运行新负载,从而使得各个节点上的资源使用也较为均衡,可见,本发明的负载数量以及负载使用的资源的均衡性能均比较好。

以上的几种具体实施方式仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进,这些改进也应视为本发明的保护范围。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

还需要说明的是,在本说明书中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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