一种实现负载均衡的方法和负载均衡器技术

技术编号:36873665 阅读:13 留言:0更新日期:2023-03-15 20:17
本发明专利技术公开了一种实现负载均衡的方法和负载均衡器,涉及负载均衡技术领域。该方法的一具体实施方式包括:接收业务请求,其中,业务请求包括有请求发起端的特征信息和/或业务路径信息;根据请求发起端的特征信息和/或业务路径信息,计算业务请求的业务哈希值;根据业务哈希值和多个业务服务端的资源总权重,计算业务请求的业务特征值,其中,资源总权重是由确定出的多个业务服务端的资源权重加和得到;根据业务哈希值和多个业务服务端的资源权重,为业务请求筛选出目标业务服务端,并将业务请求路由给目标业务服务端。该实施方式能够降低对负载均衡器内存的消耗,有效地提高负载均衡的分配效率。的分配效率。的分配效率。

【技术实现步骤摘要】
一种实现负载均衡的方法和负载均衡器


[0001]本专利技术涉及负载均衡
,尤其涉及一种实现负载均衡的方法和负载均衡器。

技术介绍

[0002]随着互联网的高速发展,用户数量与日俱增,用户发出的请求越来越多,这些请求对单机服务器会产生巨大的负载压力,通过负载均衡技术可以将用户的访问请求分摊到,为了能够满足大量的访问请求或数据的处理时效性的需求,目前主要通过搭建多个操作设备(服务器,中间件)来分摊访问请求或数据实现。而为了能够使多个操作单元比较好地发挥其性能,需要均衡多个操作单元的负载。
[0003]目前,常用的一种实现多个操作单元静态负载均衡的方式是,在负载均衡器的内存中构建出映射关系(比如操作设备与特定数据源之间的映射关系、操作设备与操作设备的权重相关的特定数值的映射关系等),通过获取到的数据源的特征信息以及内存中的映射关系,来为该数据源的请求或者数据分配操作设备。这种静态负载均衡增加了内存的使用量,降低了负载均衡的分配效率。

技术实现思路

[0004]有鉴于此,本专利技术实施例提供一种实现负载均衡的方法和负载均衡器,能够有效地降低对负载均衡器内存的消耗,提高负载均衡的分配效率。
[0005]为实现上述目的,根据本专利技术实施例的一个方面,提供了一种实现负载均衡的方法,包括:
[0006]接收业务请求,其中,所述业务请求包括有请求发起端的特征信息和/或业务路径信息;
[0007]根据所述请求发起端的特征信息和/或业务路径信息,计算所述业务请求的业务哈希值;
>[0008]根据所述业务哈希值和多个业务服务端的资源总权重,计算所述业务请求的业务特征值,其中,资源总权重是由确定出的多个业务服务端的资源权重加和得到;
[0009]根据所述业务特征值和多个所述业务服务端的资源权重,为所述业务请求筛选出目标业务服务端,并将所述业务请求路由给所述目标业务服务端。
[0010]可选地,所述为所述业务请求筛选出目标业务服务端,包括:
[0011]将所述业务特征值作为当前业务特征值,并循环执行下述步骤N1至N5,直至为所述业务请求确定出目标业务服务端:
[0012]步骤N1:按照预设的特定权重顺序,选择出未被选择过的排在最前的目标资源权重;
[0013]步骤N2:确定所述当前业务特征值减所述目标资源权重的差值;
[0014]步骤N3:判断所述差值是否小于零,如果是,则执行步骤N4;否则,执行步骤N5;
[0015]步骤N4:确定所述目标资源权重所对应的业务服务端为目标业务服务端,并结束当前流程;
[0016]步骤N5:将所述差值作为当前业务特征值,并执行步骤N1。
[0017]可选地,所述计算所述业务请求的业务特征值,包括:
[0018]将所述业务哈希值对所述资源总权重取模,得到所述业务请求的业务特征值。
[0019]可选地,上述实现负载均衡的方法,还包括:
[0020]定时获取多个所述业务服务端的资源使用情况;
[0021]根据所述业务服务端的资源使用情况,调整多个所述业务服务端的资源权重。
[0022]可选地,多个所述业务服务端的资源权重是基于所述业务服务端的资源信息确定出的或者由配置中心配置的,其中,所述资源权重的取值为正整数。
[0023]可选地,上述实现负载均衡的方法,还包括:在所述定时获取多个所述业务服务端的资源使用情况之后,还包括:
[0024]根据每一个所述业务服务端的资源使用情况,确定每一个所述业务端的剩余资源;
[0025]在多个所述业务服务端中的至少一个业务服务端的剩余资源降低至其对应的资源阈值的情况下,
[0026]对多个所述业务服务端的剩余资源进行排序;
[0027]将剩余资源排序的结果与多个所述业务服务端的资源权重排序的结果进行匹配;
[0028]如果匹配的结果未超过预设的匹配阈值,则执行所述调整多个所述业务服务端的资源权重的步骤;
[0029]如果匹配的结果超过预设的匹配阈值,则维持多个所述业务服务端的资源权重不变。
[0030]第二方面,本专利技术实施例提供一种负载均衡器,包括:接收单元、均衡分配单元以及路由单元,其中,
[0031]所述接收单元,用于接收业务请求,其中,所述业务请求包括有请求发起端的特征信息和/或业务路径信息;
[0032]所述均衡分配单元,用于根据所述请求发起端的特征信息和/或业务路径信息,计算所述业务请求的业务哈希值;根据所述业务哈希值和多个业务服务端的资源总权重,计算所述业务请求的业务特征值,其中,资源总权重是由确定出的多个业务服务端的资源权重加和得到;根据所述业务哈希值和多个所述业务服务端的资源权重,为所述业务请求筛选出目标业务服务端;
[0033]所述路由单元,用于将所述业务请求路由给所述目标业务服务端。
[0034]可选地,所述均衡分配单元,进一步用于将所述业务特征值作为当前业务特征值,并循环执行下述步骤N1至N5,直至为所述业务请求确定出目标业务服务端:
[0035]步骤N1:按照预设的特定权重顺序,选择出未被选择过的排在最前的目标资源权重;
[0036]步骤N2:确定所述当前业务特征值减所述目标资源权重的差值;
[0037]步骤N3:判断所述差值是否小于零,如果是,则执行步骤N4;否则,执行步骤N5;
[0038]步骤N4:确定所述目标资源权重所对应的业务服务端为目标业务服务端,并结束
当前流程;
[0039]步骤N5:将所述差值作为当前业务特征值,并执行步骤N1。
[0040]上述专利技术中的一个实施例具有如下优点或有益效果:通过根据请求发起端的特征信息和/或业务路径信息计算出的业务请求的业务哈希值和多个业务服务端的资源权重加和得到资源总权重,计算业务请求的业务特征值,并根据计算出的业务特征值和多个业务服务端的资源权重,为业务请求筛选出目标业务服务端,整个过程无需借助业务特征值与业务服务端之间的映射关系,因此,本申请提供的技术方案无需在内存中构建映射关系(比如操作设备与特定数据源之间的映射关系、操作设备与操作设备的权重相关的特定数值的映射关系等),通过计算出的业务特征值和多个业务服务端的资源权重,即可筛选出目标业务服务端,能够有效地降低对负载均衡器内存的消耗,提高负载均衡的分配效率。
[0041]上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
[0042]附图用于更好地理解本专利技术,不构成对本专利技术的不当限定。其中:
[0043]图1是本专利技术实施例可以应用于其中的示例性系统架构图;
[0044]图2是根据本专利技术实施例的实现负载均衡的方法的主要流程的示意图;
[0045]图3是根据本专利技术实施例的为业务请求筛选出目标业务服务端的主要流程的示意图;
[0046]图4是根据本专利技术实施例的调整多个业务服务端的资源权重的主要本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种实现负载均衡的方法,其特征在于,包括:接收业务请求,其中,所述业务请求包括有请求发起端的特征信息和/或业务路径信息;根据所述请求发起端的特征信息和/或业务路径信息,计算所述业务请求的业务哈希值;根据所述业务哈希值和多个业务服务端的资源总权重,计算所述业务请求的业务特征值,其中,资源总权重是由确定出的多个业务服务端的资源权重加和得到;根据所述业务特征值和多个所述业务服务端的资源权重,为所述业务请求筛选出目标业务服务端,并将所述业务请求路由给所述目标业务服务端。2.根据权利要求1所述的实现负载均衡的方法,其特征在于,所述为所述业务请求筛选出目标业务服务端,包括:将所述业务特征值作为当前业务特征值,并循环执行下述步骤N1至N5,直至为所述业务请求确定出目标业务服务端:步骤N1:按照预设的特定权重顺序,选择出未被选择过的排在最前的目标资源权重;步骤N2:确定所述当前业务特征值减所述目标资源权重的差值;步骤N3:判断所述差值是否小于零,如果是,则执行步骤N4;否则,执行步骤N5;步骤N4:确定所述目标资源权重所对应的业务服务端为目标业务服务端,并结束当前流程;步骤N5:将所述差值作为当前业务特征值,并执行步骤N1。3.根据权利要求1所述的实现负载均衡的方法,其特征在于,所述计算所述业务请求的业务特征值,包括:将所述业务哈希值对所述资源总权重取模,得到所述业务请求的业务特征值。4.根据权利要求1所述的实现负载均衡的方法,其特征在于,还包括:定时获取多个所述业务服务端的资源使用情况;根据所述业务服务端的资源使用情况,调整多个所述业务服务端的资源权重。5.根据权利要求1所述的实现负载均衡的方法,其特征在于,多个所述业务服务端的资源权重是基于所述业务服务端的资源信息确定出的或者由配置中心配置的,其中,所述资源权重的取值为正整数。6.根据权利要求4所述的实现负载均衡的方法,其特征在于,还包括:在所述定时获取多个所述业务服务端的资源使用情况之后,还包括:根据每一个所述业务服务端的资源使用情况,确定每一个所述业务端的剩余资源;在多个所述业务服务端中的至少一个业务服务端的剩余资源降...

【专利技术属性】
技术研发人员:赵军王建召李刚
申请(专利权)人:北京天空卫士网络安全技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1