CN114338691B - 一种负载均衡管理的方法及装置 - Google Patents
一种负载均衡管理的方法及装置 Download PDFInfo
- Publication number
- CN114338691B CN114338691B CN202111679067.9A CN202111679067A CN114338691B CN 114338691 B CN114338691 B CN 114338691B CN 202111679067 A CN202111679067 A CN 202111679067A CN 114338691 B CN114338691 B CN 114338691B
- Authority
- CN
- China
- Prior art keywords
- server
- servers
- probability
- probability value
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Computer And Data Communications (AREA)
Abstract
本申请公开了一种负载均衡管理的方法及装置,预先根据每个服务器的处理能力为各自服务器配置对应的第一概率值,并生成服务器分配集合,该服务器分配集合中包含与服务器的数量一致的子集合,其中,每个子集合中最多包含两个服务器及各自被选中的概率值,且每个子集合中的概率值之和等于1,各子集合中包含的同一服务器的概率值之和等于该同一服务器的第一概率值与服务器的数量的乘积,在获取服务器分配请求后,可以根据服务器分配请求,确定预先生成的服务器分配集合,并从服务器分配集合中随机选择一个子集合作为目标集合,再按照目标集合中服务器对应的概率值,从目标集合中选取一个服务器,从而实现负载的均衡管理。
Description
技术领域
本申请涉及网络通讯领域,尤其涉及一种负载均衡管理的方法及装置。
背景技术
随着互联网的快速发展,计算机网络用户的数量也不断攀升,这使得应用服务端所需要处理的数据量也不断增多。目前利用单个服务器为用户提供相应的服务已经无法满足实际的需求,因此需要设置多台服务器对用户的请求进行处理,为用户提供相应的服务。但是,在使用多台服务器进行数据处理时,如果不能对各个服务器的负载进行均衡管理,也会导致服务请求分配不均,出现某些服务器超负荷运行,而某些服务器处于空闲状态的情况,增大服务器过载的风险,因此,如何实现负载均衡管理是人们一直关注的问题。
发明内容
有鉴于此,本申请提供了一种负载均衡管理的方法及装置,以便于一定程度上实现负载均衡管理。
为了实现上述目的,现提出的方案如下:
一种负载均衡管理方法,包括:
获取服务器分配请求;
根据所述服务器分配请求确定预先生成的服务器分配集合,并从所述服务器分配集合中随机选择一个子集合作为目标集合;
其中,所述服务器分配集合中包含与服务器的数量一致的子集合,每个子集合中最多包含两个服务器及各自被选中的概率值,且每个子集合中的概率值之和等于1,各子集合中包含的同一服务器的概率值之和等于所述同一服务器的第一概率值与服务器的数量的乘积,每个服务器对应的第一概率值根据各自服务器的处理能力预先配置得到;
按照目标集合中服务器对应的概率值,从目标集合中选取一个服务器。
可选的,所述服务器分配集合的生成过程,包括:
获取服务器的数量和各服务器对应的第一概率值,所述服务器对应的第一概率值根据各自服务器的处理能力预先配置得到;
针对每个服务器,将第一概率值与服务器的数量相乘,得到第二概率值;
基于服务器的数量和各个服务器对应的第二概率值,得到与服务器数量一致的集合,其中,每个集合中最多包含两个服务器以及各自被选中的概率值,且每个集合中的概率值之和等于1,各个集合中包含的同一服务器的概率值之和为所述同一服务器对应的第二概率值;
将得到的集合作为子集合,组成服务器分配集合。
可选的,所述基于服务器的数量和各个服务器对应的第二概率值,得到与服务器数量一致的集合,包括:
根据服务器的数量创建与服务器数量一致的空的集合;
根据各第二概率值的大小,将第二概率值小于1的服务器以及对应的第二概率值放入第一候选集合,其余服务器以及各自对应的第二概率值放入第二候选集合;
从空的集合中选取一个集合作为待填充集合;
从所述第一候选集合中,选取一个服务器作为第一服务器,将所述第一服务器以及其对应的第二概率值,从所述第一候选集合中取出放入所述待填充集合;
从所述第二候选集合中,选取一个服务器作为第二服务器,将所述第二服务器以及其对应的第二概率值,从所述第二候选集合中取出,并将所述第二服务器对应的第二概率值分为两个概率子值,且所述两个概率子值之和等于所述第二服务器对应的第二概率值,将一个概率子值与第二服务器放入所述待填充集合,其中,所述待填充集合中所述第一服务器对应的第二概率值与放入所述待填充集合中的概率子值之和为1;
判断第二服务器剩余的另一个概率子值是否小于1;
若所述另一个概率子值小于1,则将第二服务器以及其另一个概率子值放入第一候选集合;
若所述另一个概率子值不小于1,则将第二服务器以及其另一个概率子值放入第二候选集合;
判断是否存在空的集合;
若存在空的集合,则执行从空的集合中选取一个集合作为待填充集合的步骤;
若不存在空的集合,则得到与服务器数量一致的集合。
可选的,根据服务器的处理能力,配置各自服务器的第一概率值的过程,包括:
针对每个服务器,根据服务器的处理能力,给服务器分配对应的权重值;
将各个服务器对应的权重值相加,得到总权重值;
针对每一个服务器,将对应的权重值除以总权重值,得到服务器对应的第一概率值。
可选的,在将得到的集合作为子集合,组成服务器分配集合之后,还包括:
监测服务器的数量以及各服务器对应的第一概率值;
在服务器的数量或服务器对应的第一概率值变化时,返回执行获取服务器的数量和各服务器对应的第一概率值的步骤。
可选的,按照目标集合中服务器对应的概率值,从目标集合中选取一个服务器,包括:
从目标集合中选择一个服务器作为参考服务器,并以参考服务器对应的概率值作为判断阈值;
随机选择一个不大于1的数值,并判断所述数值是否大于所述判断阈值;
若否,则从目标集合中选取参考服务器;
若是,则从目标集合中选取另一个服务器。
一种负载均衡管理装置,包括:
请求获取模块,用于获取服务器分配请求;
目标集合确定模块,用于根据所述服务器分配请求确定预先生成的服务器分配集合,并从所述服务器分配集合中随机选择一个子集合作为目标集合;
其中,所述服务器分配集合中包含与服务器的数量一致的子集合,每个子集合中最多包含两个服务器及各自被选中的概率值,且每个子集合中的概率值之和等于1,各子集合中包含的同一服务器的概率值之和等于所述同一服务器的第一概率值与服务器的数量的乘积,每个服务器对应的第一概率值根据各自服务器的处理能力预先配置得到;
服务器选取模块,用于按照目标集合中服务器对应的概率值,从目标集合中选取一个服务器。
可选的,还包括:
分配集合生成模块,用于生成得到所述服务器分配集合,所述服务器分配集合的生成过程包括:
获取服务器的数量和各服务器对应的第一概率值,所述服务器对应的第一概率值根据各自服务器的处理能力预先配置得到;
针对每个服务器,将第一概率值与服务器的数量相乘,得到第二概率值;
基于服务器的数量和各个服务器对应的第二概率值,得到与服务器数量一致的集合,其中,每个集合中最多包含两个服务器以及各自被选中的概率值,且每个集合中的概率值之和等于1,各个集合中包含的同一服务器的概率值之和为所述同一服务器对应的第二概率值;
将得到的集合作为子集合,组成服务器分配集合。
可选的,还包括:
第一概率配置模块,用于根据服务器的处理能力,配置各自服务器的第一概率值,根据服务器的处理能力,配置各自服务器的第一概率值的过程,包括:
针对每个服务器,根据服务器的处理能力,给服务器分配对应的权重值;
将各个服务器对应的权重值相加,得到总权重值;
针对每一个服务器,将对应的权重值除以总权重值,得到服务器对应的第一概率值。
可选的,还包括:
监测模块,用于监测服务器的数量以及各服务器对应的第一概率值;
在服务器的数量或服务器对应的第一概率值变化时,返回执行分配集合生成模块获取服务器的数量和各服务器对应的第一概率值的步骤。
从上述的技术方案可以看出,本申请实施例提供的一种负载均衡管理的方法及装置,预先根据每个服务器的处理能力为各自服务器配置对应的第一概率值,并生成服务器分配集合,该服务器分配集合中包含与服务器的数量一致的子集合,其中,每个子集合中最多包含两个服务器及各自被选中的概率值,且每个子集合中的概率值之和等于1,各子集合中包含的同一服务器的概率值之和等于该同一服务器的第一概率值与服务器的数量的乘积,在获取服务器分配请求后,可以根据服务器分配请求,确定预先生成的服务器分配集合,并从服务器分配集合中随机选择一个子集合作为目标集合,再按照目标集合中服务器对应的概率值,从目标集合中选取一个服务器,从而实现负载的均衡管理。
进一步的,本申请中通过预先生成服务器分配集合,在获取服务器分配请求时,只需要从服务器分配集合中随机选择一个子集合作为目标集合,并按照目标集合中服务器对应的概率值,从目标集合中选取一个服务器,此时各服务器被选中的概率值与各服务器对应的第一概率值一致,相比于,直接根据各服务器的第一概率值,选取目标服务器,可能会出现需要遍历所有服务器的情况,本申请处理的数据量更小,可以一定程度上减轻数据处理的负担,提升数据处理的速度。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种负载均衡管理方法流程图;
图2为本申请实施例提供的一种服务器分配集合的生成方法流程图;
图3为本申请实施例提供的一种服务器分配集合的生成示意图;
图4为本申请实施例提供的一种服务器分配集合中子集合的生成方法流程图;
图5为本申请实施例提供的一种配置服务器第一概率值的方法流程图;
图6为本申请实施例提供的一种从目标集合中选取服务器的方法流程图;
图7为本申请实施例提供的一种负载均衡管理的装置结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1为本申请实施例提供的一种负载均衡管理方法流程图,方法可以包括以下步骤:
步骤S100、获取服务器分配请求。
具体的,一个服务提供方一般会有多个服务器,每个服务器中运行服务代码,且每个服务器均可以单独提供服务。比如天气服务的提供方,会对应有多个服务器,不管用户访问哪个服务器,都可以获取需求的天气信息,所以当用户的天气请求发送至服务提供方时,服务提供方需要从多个服务器中选取一个为用户提供服务,此时会产生服务器分配请求。其中,服务提供方的每一个服务器可以称为一个微服务实例,微服务实例提供服务,处理用户客户端的请求。
步骤S101、根据服务器分配请求确定预先生成的服务器分配集合,并从服务器分配集合中随机选择一个子集合作为目标集合。
其中,服务器分配集合中包含与服务器的数量一致的子集合,每个子集合中最多包含两个服务器及各自被选中的概率值,且每个子集合中的概率值之和等于1,各子集合中包含的同一服务器的概率值之和等于所述同一服务器的第一概率值与服务器的数量的乘积,每个服务器对应的第一概率值根据各自服务器的处理能力预先配置得到。
步骤S102、按照目标集合中服务器对应的概率值,从目标集合中选取一个服务器。
具体的,在上述步骤中通过随机选取的方式,从预先生成的服务器分配集合中选取一个子集合作为目标集合,在目标集合中最多包含两个服务器及各自被选中的概率值,且每个目标集合中的概率值之和等于1。在确定目标集合之后,可以按照目标集合中服务器对应的概率值,从目标集合中选取一个服务器。比如目标集合中包括服务器A和服务器B,且服务器A被选中的概率值为40%,服务器B被选中的概率值为60%,此时按照服务器A和服务器B对应的被选中的概率值,从二者中选出一个服务器。
在上述实施例中,提供了一种负载均衡管理的方法,预先根据每个服务器的处理能力为各自服务器配置对应的第一概率值,并生成服务器分配集合,该服务器分配集合中包含与服务器的数量一致的子集合,其中,每个子集合中最多包含两个服务器及各自被选中的概率值,且每个子集合中的概率值之和等于1,各子集合中包含的同一服务器的概率值之和等于该同一服务器的第一概率值与服务器的数量的乘积,在获取服务器分配请求后,可以根据服务器分配请求,确定预先生成的服务器分配集合,并从服务器分配集合中随机选择一个子集合作为目标集合,再按照目标集合中服务器对应的概率值,从目标集合中选取一个服务器,从而实现负载的均衡管理。
进一步的,本申请中通过预先生成服务器分配集合,在获取服务器分配请求时,只需要从服务器分配集合中随机选择一个子集合作为目标集合,并按照目标集合中服务器对应的概率值,从目标集合中选取一个服务器,此时各服务器被选中的概率值与各服务器对应的第一概率值一致,相比于,直接根据各服务器的第一概率值,选取目标服务器,可能会出现需要遍历所有服务器的情况,本申请处理的数据量更小,可以一定程度上减轻数据处理的负担,提升数据处理的速度。
在本申请的一些实施例中,参考图2所示,图2为本申请实施例提供的一种服务器分配集合的生成方法流程图,该方法可以包括:
步骤S200、获取服务器的数量和各服务器对应的第一概率值。
其中,服务器对应的第一概率值,根据各自服务器的处理能力预先配置得到。
具体的,服务提供方启动服务时,会将服务器进行注册,并且会对服务器进行配置,通过注册信息和配置信息,可以获取服务器的数量和各服务器对应的第一概率值。各服务器对应的第一概率值可以是各服务器被选中的概率值,各服务器的第一概率值之和为1。
步骤S201、针对每个服务器,将第一概率值与服务器的数量相乘,得到第二概率值。
具体的,针对每个服务器,可以将第一概率值与服务器的数量相乘,得到第二概率值,此时各服务器的第二概率值之和等于服务器的数量。
步骤S202、基于服务器的数量和各个服务器对应的第二概率值,得到与服务器数量一致的集合。
其中,每个集合中最多包含两个服务器以及各自被选中的概率值,且每个集合中的概率值之和等于1,各个集合中包含的同一服务器的概率值之和为所述同一服务器对应的第二概率值。
步骤S203、将得到的集合作为子集合,组成服务器分配集合。
具体的,通过上述步骤可以得到与服务器的数量一致的集合,通过将得到的集合作为子集合,可以组成服务器分配集合。
比如,结合图3所示,假设此时有6个服务器A、B、C、D、E和F,将各个服务器配置对应的第一概率值,服务器A的第一概率值为1/3,服务器B的第一概率值为1/6,服务器C的第一概率值为3/10,服务器D的第一概率值为1/10,服务器E的第一概率值为2/30,服务器F的第一概率值为1/30。
针对每个服务器,第一概率值乘6得到第二概率值,服务器A的第二概率值为2,服务器B的第二概率值为1,服务器C的第二概率值为9/5,服务器D的第二概率值为3/5,服务器E的第二概率值为2/5,服务器F的第二概率值为1/5。
基于服务器的数量6和各个服务器对应的第二概率值,得到6个集合,其中,可选的一种组合方式为集合1中包含服务器A及服务器A对应的被选中的概率1,集合2中包含服务器B及服务器B对应的被选中的概率1,集合3中包含服务器C及服务器C对应的被选中的概率1,集合4中包含服务器A,和服务器A对应的被选中的概率2/5,以及服务器D和服务器D对应的被选中的概率3/5,集合5中包含服务器A和服务器A对应的被选中的概率3/5,以及服务器E和服务器E被选中的概率2/5,集合6中包含服务器C和服务器C对应的被选中的概率4/5,以及服务器F和服务器F被选中的概率1/5。
此时得到的集合1、2、3、4、5和6作为子集合,可以组成服务器分配集合。
在本申请的一些实施例中,对步骤S202、基于服务器的数量和各个服务器对应的第二概率值,得到与服务器数量一致的集合的过程进行介绍,参考图4所示,该过程可以包括:
步骤S300、根据服务器的数量创建与服务器数量一致的空的集合。
步骤S301、根据各第二概率值的大小,将第二概率值小于1的服务器以及对应的第二概率值放入第一候选集合,其余服务器以及各自对应的第二概率值放入第二候选集合。
具体的,通过将各服务器对应的第二概率值大小进行区分,可以第二概率值小于1的服务器以及对应的第二概率值放入第一候选集合,并可以将其余的服务器以及各自对应的第二概率值放入第二候选集合。
步骤S302、从空的集合中选取一个集合作为待填充集合。
步骤S303、从第一候选集合中,选取一个服务器作为第一服务器,将第一服务器以及其对应的第二概率值,从第一候选集合中取出放入待填充集合。
具体的,将第一服务器以及其对应的第二概率值从第一候选集合中取出之后,第一候选集合中将不存在第一服务器以及其对应的第二概率值。
步骤S304、从第二候选集合中选取一个服务器作为第二服务器,将第二服务器以及其对应的第二概率值,从所述第二候选集合中取出,并将所述第二服务器对应的第二概率值拆分为两个概率子值,将一个概率子值与第二服务器放入所述待填充集合。
其中,上述第二服务器对应的第二概率值拆分得到的两个概率子值之和,等于所述第二服务器对应的第二概率值。此时上述待填充集合中第一服务器对应的第二概率值与放入待填充集合中的概率子值之和为1。
步骤S305、判断第二服务器剩余的另一个概率子值是否小于1。
具体的,在上述步骤中将第二服务器对应的第二概率值拆分为两个概率子值,且将其中一个概率子值放入待填充集合中。此时第二服务器还剩余另一个概率子值,可以判断剩余的另一个概率子值的大小,若另一个概率子值小于1,则执行步骤S306;若另一个概率子值不小于1,则执行步骤S307。
步骤S306、将第二服务器以及其另一个概率子值放入第一候选集合。
步骤S307、将第二服务器以及其另一个概率子值放入第二候选集合。
步骤S308、判断是否存在空的集合。
具体的,判断步骤S300中创建的集合是否还存在空的集合,若存在空的集合,则返回执行步骤S302、从空的集合中选取一个集合作为待填充集合的步骤;若不存在空的集合,则执行步骤S309。
步骤S309、得到与服务器数量一致的集合。
示例如,假设有6个服务器A、B、C、D、E和F,且服务器A的第二概率值为2,服务器B的第二概率值为1,服务器C的第二概率值为9/5,服务器D的第二概率值为3/5,服务器E的第二概率值为2/5,服务器F的第二概率值为1/5。
此时,创建6个空的集合,并且判断6个服务器对应的第二概率值是否小于1,将第二概率值小于1的服务器D、E和F以及服务器D、E和F各自对应的第二概率值放入第一候选集合,将其余的服务器A、B和C以及A、B和C各自对应的第二概率值放入第二候选集合。
从创建的集合中选中一个空的集合作为待填充集合,并从第一候选集合中选取服务器E作为第一服务器,将服务器E以及其对应的第二概率值2/5,从第一候选集合中取出,并放入待填充集合。
再从第二候选集合中选取服务器A作为第二服务器,将服务器A以及其对应的第二概率值2从第而候选集合中取出,并拆分为两个概率子值,将一个概率子值3/5与服务器A放入待填充集合。
判断服务器A的另一个概率子值7/5不小于1,则将服务器A以及服务器A的另一个概率子值7/5放入第二候选集合。
在本申请的一些实施例中,对根据服务器的处理能力,配置各自服务器的第一概率值的过程进行介绍,参考图5所示,该过程可以包括:
步骤S400、针对每个服务器,根据服务器的处理能力,给服务器分配对应的权重值。
具体的,由于服务器对应的处理能力会有区别,比如处理器主频比较低等。所以可以根据服务器的处理能力对服务器进行配置相应的权重值,对于处理能力较弱的服务器,可以将配置的权重值调小,相反的对于处理能力较强的服务器,可以将配置的权重值调大。当某个服务器出现故障时,可以将故障服务器的权重调整为零。
步骤S401、将各个服务器对应的权重值相加,得到总权重值。
步骤S402、针对每一个服务器,将对应的权重值除以总权重值,得到服务器对应的第一概率值。
具体的,通过上述步骤可以得到总权重值,再针对每一个服务器,可以将对应的权重值除以总权重值,从而得到服务器对应的第一概率值。服务器对应的第一概率值可以是对应服务器被选中的概率。
在上述实施例中,通过先通过服务器的处理能力确定各自的权重,再利用权重值计算得到最终的第一概率值,从而给每个服务器配置了不同的被选中概率,使得在选取服务器时可以更加均衡。
在实际的使用过程中,服务器的数量可能会发生改变,比如基于业务需求对新增服务器,或者由于故障原因减少服务器,均会导致服务器数量改变以及各个服务器对应的第一概率值发生变化。
由于服务器分配集合是基于服务器的数量和各服务器对应的第一概率值创建的,所以在服务器数量和各服务器对应的第一概率值发生变化后,再利用原有的服务器分配集合进行服务器分配可能会出现问题,基于此,在本申请的一些实施例中,可以对服务器的数量和各服务器对应的第一概率值进行监测。
具体的,监测服务器的数量以及各服务器对应的第一概率值。由于服务器的数量以及各服务器对应的第一概率值的变化会导致原有的服务器分配集合不能兼顾到现有的变化,比如新增服务器后,如果还是利用原有的服务器分配集合,则新增的服务器不会被选中,而出现故障服务器之后,如果还是利用原有的服务器分配集合,则选中的服务器可能是故障服务器。
在服务器的数量或服务器对应的第一概率值变化时,返回执行步骤S200、获取服务器的数量和各服务器对应的第一概率值的步骤。
上述实施例中,通过对服务器的数量和各服务器对应的第一概率值进行监测,可以在服务器的数量或各服务器对应的第一概率值发生变化时,重新生成新的服务器分配集合,从而在现有的服务器和各服务器对应的第一概率值的基础上对服务器进行分配。
在本申请的一些实施例中,对步骤S102、按照目标集合中服务器对应的概率值,从目标集合中选取一个服务器的过程进行介绍,参考图6所示,该过程可以包括:
步骤S600、从目标集合中选择一个服务器作为参考服务器,并以参考服务器对应的概率值作为判断阈值。
具体的,目标集合中最多包含两个服务器及各自被选中的概率值,且目标集合中的概率值之和等于1。在确定目标集合之后,可以从目标集合中选择一个服务器作为参考服务器,并以参考服务器对应的概率值作为判断阈值。
步骤S601、随机选择一个不大于1的数值,并判断数值是否大于所述判断阈值。
具体的,在0-1的范围内随机的选取一个数值,并判断选取的数值是否大于上述步骤中确定的判断阈值,若否,则执行步骤S602;若是,则执行步骤S603。
步骤S602、从目标集合中选取参考服务器。
步骤S603、从目标集合中选取另一个服务器。
示例如,假设在目标集合中包括服务器A和服务器B,以及服务器A被选中的概率1/5和服务器B被选中的概率4/5,此时选择服务器A为参考服务器,则以服务器A对应的概率值1/5作为判断阈值,再从0-1的范围内选取一个数值,假设选取的数值为1/10,由于1/10小于1/5,则选取服务器A;假设选取的数值为1/2,由于1/2大于1/5,则选取服务器B。
在上述实施例中,由于目标集合中的概率值之和等于1,所以随机选择一个服务器被选中的概率值作为判断阈值,再随机的从0-1中选取一个数字,判断选取的数字的大小与判断阈值的关系,即可以确定一个服务器。
下面对本申请实施例提供的一种负载均衡管理的装置进行描述,下文描述的一种负载均衡管理的装置与上文描述的一种负载均衡管理的方法可相互对应参照。
图7为本申请实施例提供的一种负载均衡管理的装置结构示意图,参考图7所示,该装置可以包括:
请求获取模块10,用于获取服务器分配请求;
目标集合确定模块20,用于根据所述服务器分配请求确定预先生成的服务器分配集合,并从所述服务器分配集合中随机选择一个子集合作为目标集合;
其中,所述服务器分配集合中包含与服务器的数量一致的子集合,每个子集合中最多包含两个服务器及各自被选中的概率值,且每个子集合中的概率值之和等于1,各子集合中包含的同一服务器的概率值之和等于所述同一服务器的第一概率值与服务器的数量的乘积,每个服务器对应的第一概率值根据各自服务器的处理能力预先配置得到;
服务器选取模块30,用于按照目标集合中服务器对应的概率值,从目标集合中选取一个服务器。
在上述实施例中,提供的一种负载均衡管理的装置,预先根据每个服务器的处理能力为各自服务器配置对应的第一概率值,并生成服务器分配集合,该服务器分配集合中包含与服务器的数量一致的子集合,其中,每个子集合中最多包含两个服务器及各自被选中的概率值,且每个子集合中的概率值之和等于1,各子集合中包含的同一服务器的概率值之和等于该同一服务器的第一概率值与服务器的数量的乘积,在请求获取模块10获取服务器分配请求后,目标集合确定模块20可以根据服务器分配请求,确定预先生成的服务器分配集合,并从服务器分配集合中随机选择一个子集合作为目标集合,服务器选取模块30按照目标集合中服务器对应的概率值,从目标集合中选取一个服务器,从而实现负载的均衡管理。
进一步的,本申请中通过预先生成服务器分配集合,在请求获取模块10获取服务器分配请求时,只需要从服务器分配集合中随机选择一个子集合作为目标集合,并按照目标集合中服务器对应的概率值,从目标集合中选取一个服务器,此时各服务器被选中的概率值与各服务器对应的第一概率值一致,相比于,直接根据各服务器的第一概率值,选取目标服务器,可能会出现需要遍历所有服务器的情况,本申请处理的数据量更小,可以一定程度上减轻数据处理的负担,提升数据处理的速度。
可选的,负载均衡管理的装置,还可以包括:
分配集合生成模块,用于生成得到所述服务器分配集合,所述服务器分配集合的生成过程可以包括:
获取服务器的数量和各服务器对应的第一概率值,所述服务器对应的第一概率值根据各自服务器的处理能力预先配置得到;
针对每个服务器,将第一概率值与服务器的数量相乘,得到第二概率值;
基于服务器的数量和各个服务器对应的第二概率值,得到与服务器数量一致的集合,其中,每个集合中最多包含两个服务器以及各自被选中的概率值,且每个集合中的概率值之和等于1,各个集合中包含的同一服务器的概率值之和为所述同一服务器对应的第二概率值;
将得到的集合作为子集合,组成服务器分配集合。
可选的,负载均衡管理的装置,还可以包括:
第一概率配置模块,用于根据服务器的处理能力,配置各自服务器的第一概率值,根据服务器的处理能力,配置各自服务器的第一概率值的过程,包括:
针对每个服务器,根据服务器的处理能力,给服务器分配对应的权重值;
将各个服务器对应的权重值相加,得到总权重值;
针对每一个服务器,将对应的权重值除以总权重值,得到服务器对应的第一概率值。
可选的,负载均衡管理的装置,还可以包括:
监测模块,用于监测服务器的数量以及各服务器对应的第一概率值;
在服务器的数量或服务器对应的第一概率值变化时,返回执行分配集合生成模块获取服务器的数量和各服务器对应的第一概率值的步骤。
可选的,分配集合生成模块执行基于服务器的数量和各个服务器对应的第二概率值,得到与服务器数量一致的集合的过程,可以包括:
根据服务器的数量创建与服务器数量一致的空的集合;
根据各第二概率值的大小,将第二概率值小于1的服务器以及对应的第二概率值放入第一候选集合,其余服务器以及各自对应的第二概率值放入第二候选集合;
从空的集合中选取一个集合作为待填充集合;
从所述第一候选集合中,选取一个服务器作为第一服务器,将所述第一服务器以及其对应的第二概率值,从所述第一候选集合中取出放入所述待填充集合;
从所述第二候选集合中,选取一个服务器作为第二服务器,将所述第二服务器以及其对应的第二概率值,从所述第二候选集合中取出,并将所述第二服务器对应的第二概率值分为两个概率子值,且所述两个概率子值之和等于所述第二服务器对应的第二概率值,将一个概率子值与第二服务器放入所述待填充集合,其中,所述待填充集合中所述第一服务器对应的第二概率值与放入所述待填充集合中的概率子值之和为1;
判断第二服务器剩余的另一个概率子值是否小于1;
若所述另一个概率子值小于1,则将第二服务器以及其另一个概率子值放入第一候选集合;
若所述另一个概率子值不小于1,则将第二服务器以及其另一个概率子值放入第二候选集合;
判断是否存在空的集合;
若存在空的集合,则执行从空的集合中选取一个集合作为待填充集合的步骤;
若不存在空的集合,则得到与服务器数量一致的集合。
可选的,服务器选取模块30执行按照目标集合中服务器对应的概率值,从目标集合中选取一个服务器的过程,可以包括:
从目标集合中选择一个服务器作为参考服务器,并以参考服务器对应的概率值作为判断阈值;
随机选择一个不大于1的数值,并判断所述数值是否大于所述判断阈值;
若否,则从目标集合中选取参考服务器;
若是,则从目标集合中选取另一个服务器。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间可以相互组合,且相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种负载均衡管理方法,其特征在于,包括:
获取服务器分配请求;
根据所述服务器分配请求确定预先生成的服务器分配集合,并从所述服务器分配集合中随机选择一个子集合作为目标集合;
其中,所述服务器分配集合中包含与服务器的数量一致的子集合,每个子集合中最多包含两个服务器及各自被选中的概率值,且每个子集合中的概率值之和等于1,各子集合中包含的同一服务器的概率值之和等于所述同一服务器的第一概率值与服务器的数量的乘积,每个服务器对应的第一概率值根据各自服务器的处理能力预先配置得到;
按照目标集合中服务器对应的概率值,从目标集合中选取一个服务器。
2.根据权利要求1所述的方法,其特征在于,所述服务器分配集合的生成过程,包括:
获取服务器的数量和各服务器对应的第一概率值,所述服务器对应的第一概率值根据各自服务器的处理能力预先配置得到;
针对每个服务器,将第一概率值与服务器的数量相乘,得到第二概率值;
基于服务器的数量和各个服务器对应的第二概率值,得到与服务器数量一致的集合,其中,每个集合中最多包含两个服务器以及各自被选中的概率值,且每个集合中的概率值之和等于1,各个集合中包含的同一服务器的概率值之和为所述同一服务器对应的第二概率值;
将得到的集合作为子集合,组成服务器分配集合。
3.根据权利要求2所述的方法,其特征在于,所述基于服务器的数量和各个服务器对应的第二概率值,得到与服务器数量一致的集合,包括:
根据服务器的数量创建与服务器数量一致的空的集合;
根据各第二概率值的大小,将第二概率值小于1的服务器以及对应的第二概率值放入第一候选集合,其余服务器以及各自对应的第二概率值放入第二候选集合;
从空的集合中选取一个集合作为待填充集合;
从所述第一候选集合中,选取一个服务器作为第一服务器,将所述第一服务器以及其对应的第二概率值,从所述第一候选集合中取出放入所述待填充集合;
从所述第二候选集合中,选取一个服务器作为第二服务器,将所述第二服务器以及其对应的第二概率值,从所述第二候选集合中取出,并将所述第二服务器对应的第二概率值分为两个概率子值,且所述两个概率子值之和等于所述第二服务器对应的第二概率值,将一个概率子值与第二服务器放入所述待填充集合,其中,所述待填充集合中所述第一服务器对应的第二概率值与放入所述待填充集合中的概率子值之和为1;
判断第二服务器剩余的另一个概率子值是否小于1;
若所述另一个概率子值小于1,则将第二服务器以及其另一个概率子值放入第一候选集合;
若所述另一个概率子值不小于1,则将第二服务器以及其另一个概率子值放入第二候选集合;
判断是否存在空的集合;
若存在空的集合,则执行从空的集合中选取一个集合作为待填充集合的步骤;
若不存在空的集合,则得到与服务器数量一致的集合。
4.根据权利要求2所述的方法,其特征在于,根据服务器的处理能力,配置各自服务器的第一概率值的过程,包括:
针对每个服务器,根据服务器的处理能力,给服务器分配对应的权重值;
将各个服务器对应的权重值相加,得到总权重值;
针对每一个服务器,将对应的权重值除以总权重值,得到服务器对应的第一概率值。
5.根据权利要求2所述的方法,其特征在于,在将得到的集合作为子集合,组成服务器分配集合之后,还包括:
监测服务器的数量以及各服务器对应的第一概率值;
在服务器的数量或服务器对应的第一概率值变化时,返回执行获取服务器的数量和各服务器对应的第一概率值的步骤。
6.根据权利要求1所述的方法,其特征在于,按照目标集合中服务器对应的概率值,从目标集合中选取一个服务器,包括:
从目标集合中选择一个服务器作为参考服务器,并以参考服务器对应的概率值作为判断阈值;
随机选择一个不大于1的数值,并判断所述数值是否大于所述判断阈值;
若否,则从目标集合中选取参考服务器;
若是,则从目标集合中选取另一个服务器。
7.一种负载均衡管理装置,其特征在于,包括:
请求获取模块,用于获取服务器分配请求;
目标集合确定模块,用于根据所述服务器分配请求确定预先生成的服务器分配集合,并从所述服务器分配集合中随机选择一个子集合作为目标集合;
其中,所述服务器分配集合中包含与服务器的数量一致的子集合,每个子集合中最多包含两个服务器及各自被选中的概率值,且每个子集合中的概率值之和等于1,各子集合中包含的同一服务器的概率值之和等于所述同一服务器的第一概率值与服务器的数量的乘积,每个服务器对应的第一概率值根据各自服务器的处理能力预先配置得到;
服务器选取模块,用于按照目标集合中服务器对应的概率值,从目标集合中选取一个服务器。
8.根据权利要求7所述的装置,其特征在于,还包括:
分配集合生成模块,用于生成得到所述服务器分配集合,所述服务器分配集合的生成过程包括:
获取服务器的数量和各服务器对应的第一概率值,所述服务器对应的第一概率值根据各自服务器的处理能力预先配置得到;
针对每个服务器,将第一概率值与服务器的数量相乘,得到第二概率值;
基于服务器的数量和各个服务器对应的第二概率值,得到与服务器数量一致的集合,其中,每个集合中最多包含两个服务器以及各自被选中的概率值,且每个集合中的概率值之和等于1,各个集合中包含的同一服务器的概率值之和为所述同一服务器对应的第二概率值;
将得到的集合作为子集合,组成服务器分配集合。
9.根据权利要求7所述的装置,其特征在于,还包括:
第一概率配置模块,用于根据服务器的处理能力,配置各自服务器的第一概率值,根据服务器的处理能力,配置各自服务器的第一概率值的过程,包括:
针对每个服务器,根据服务器的处理能力,给服务器分配对应的权重值;
将各个服务器对应的权重值相加,得到总权重值;
针对每一个服务器,将对应的权重值除以总权重值,得到服务器对应的第一概率值。
10.根据权利要求8所述的装置,其特征在于,还包括:
监测模块,用于监测服务器的数量以及各服务器对应的第一概率值;
在服务器的数量或服务器对应的第一概率值变化时,返回执行分配集合生成模块获取服务器的数量和各服务器对应的第一概率值的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111679067.9A CN114338691B (zh) | 2021-12-31 | 2021-12-31 | 一种负载均衡管理的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111679067.9A CN114338691B (zh) | 2021-12-31 | 2021-12-31 | 一种负载均衡管理的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114338691A CN114338691A (zh) | 2022-04-12 |
CN114338691B true CN114338691B (zh) | 2023-05-23 |
Family
ID=81022580
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111679067.9A Active CN114338691B (zh) | 2021-12-31 | 2021-12-31 | 一种负载均衡管理的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114338691B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9116752B1 (en) * | 2009-03-25 | 2015-08-25 | 8X8, Inc. | Systems, methods, devices and arrangements for server load distribution |
CN110233860A (zh) * | 2018-03-05 | 2019-09-13 | 杭州萤石软件有限公司 | 一种负载均衡方法、装置和系统 |
CN113765966A (zh) * | 2020-09-01 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 一种负载均衡方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090259736A1 (en) * | 2008-04-15 | 2009-10-15 | Juniper Networks, Inc. | Label-based target host configuration for a server load balancer |
-
2021
- 2021-12-31 CN CN202111679067.9A patent/CN114338691B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9116752B1 (en) * | 2009-03-25 | 2015-08-25 | 8X8, Inc. | Systems, methods, devices and arrangements for server load distribution |
CN110233860A (zh) * | 2018-03-05 | 2019-09-13 | 杭州萤石软件有限公司 | 一种负载均衡方法、装置和系统 |
CN113765966A (zh) * | 2020-09-01 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 一种负载均衡方法和装置 |
Non-Patent Citations (1)
Title |
---|
基于改进权重的D-S证据理论的动态负载平衡算法;邰滢滢;庞影;段苛苛;付云鹏;;计算机应用(第10期) * |
Also Published As
Publication number | Publication date |
---|---|
CN114338691A (zh) | 2022-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10079879B2 (en) | Weighted rendezvous hashing | |
US9979657B2 (en) | Offloading traffic to edge data centers in a content delivery network | |
EP2915283B1 (en) | Cdn load balancing in the cloud | |
CN105279027B (zh) | 一种虚拟机部署方法及装置 | |
CN103841134B (zh) | 基于api发送、接收信息的方法、装置及系统 | |
US8291424B2 (en) | Method and system of managing resources for on-demand computing | |
US20140089510A1 (en) | Joint allocation of cloud and network resources in a distributed cloud system | |
CN108173774B (zh) | 一种客户端的升级方法及系统 | |
US20050278439A1 (en) | System and method for evaluating capacity of a heterogeneous media server configuration for supporting an expected workload | |
CN113348651B (zh) | 切片的虚拟网络功能的动态云间放置 | |
CN102724105B (zh) | 一种负载均衡方法和装置 | |
US8959177B1 (en) | Automated selection of a content provider | |
US10834220B2 (en) | Apparatus for providing cloud brokerage service based on multiple clouds and method thereof | |
CN109032800A (zh) | 一种负载均衡调度方法、负载均衡器、服务器及系统 | |
Shivakumar et al. | Ranking cloud services using fuzzy multi-attribute decision making | |
CN113485825A (zh) | 一种服务器负载均衡方法及相关设备 | |
KR101613513B1 (ko) | 네트워크 대역폭 및 cpu 이용률을 고려한 가상머신 배치 방법 및 시스템 | |
CN116431282A (zh) | 一种云虚拟主机服务器管理方法、装置、设备及存储介质 | |
CN110035128B (zh) | 一种直播调度方法、装置、直播系统及存储介质 | |
CN114338691B (zh) | 一种负载均衡管理的方法及装置 | |
CN115168017B (zh) | 一种任务调度云平台及其任务调度方法 | |
CN115794421B (zh) | 资源分配方法、装置和电子设备 | |
CN105323290A (zh) | 一种基于用户流量分布特征的内容调度方法和装置 | |
US8533333B2 (en) | Shared hosting using host name affinity | |
CN116546028A (zh) | 服务请求的处理方法、装置、存储介质及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |