当前位置: 首页 > 专利查询>南京大学专利>正文

一种私有云基于动态反馈的局部一致性哈希负载均衡方法技术

技术编号:15653592 阅读:154 留言:0更新日期:2017-06-17 08:33
本发明专利技术公开一种私有云基于动态反馈的局部一致性哈希负载均衡方法。该方法通过私有云中的服务发现模块和健康检查模块获取服务提供端及其实时负载,计算出其能够继续提供服务的权重,并利用带权重的局部一致性哈希算法,计算出哈希路由表,为客户端的请求提供服务。本发明专利技术能够实时动态地更新服务提供端的权重,提升负载均衡服务的性能,并且平衡每个服务提供端的负载情况。

【技术实现步骤摘要】
一种私有云基于动态反馈的局部一致性哈希负载均衡方法
本专利技术涉及通信
,具体来说,涉及一种基于动态反馈的局部一致性哈希负载均衡方法。
技术介绍
随着互联网的发展,云计算的使用范围越来越广泛,云计算是基于互联网的相关服务的增加、使用和交付模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源。在一般的支持云计算的云平台中,用户可以通过控制台创建自己的云环境,包括网络、存储、计算等各种各样的特定需求。大部分的云平台还需要支持某些特定的环境,如负载均衡服务、虚拟专用网络等。在上述的各种技术中,负载均衡服务是各类云计算平台不可或缺的部分。负载均衡服务的主要作用在于提供一种廉价有效透明的方法扩展网络设置和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。但是,在常规的负载均衡技术中,往往存在着以下几点不足。首先,现有的负载均衡算法中关于权重的部分,都是静态配置的,不能根据服务提供端现有的负载,及时更新提供服务的权重,导致可能因为某些原因实时负载率很高的服务提供端,依旧因为初始权重过高而接收到大部分的客户端请求。其次,现有的负载均衡算法,一般还是采用一致性哈希算法,其均衡性并不足够,其时间复杂度也较高,对其性能有一定的影响。
技术实现思路
针对现有技术中存在的不足,本专利技术公开了一种私有云基于动态反馈的局部一致性哈希负载均衡算法,其特征在于,包括:通过服务发现模块,实时获得对应服务所有的可以提供服务的服务提供端;通过健康检查模块,实时获取每个服务对应的服务提供端的资源总量和实时负载;根据每个服务提供端的资源总量和实时负载计算出当前服务的服务提供端的实时负载率;通过对服务提供端的实时负载率的进一步计算,得出每个服务提供端能够提供的服务权重;根据局部一致性哈希算法和服务提供端能够提供服务的权重,计算出哈希路由表;服务请求连接达到,根据服务请求客户端的请求连接数据,计算出唯一的哈希值;查找路由表,根据路由表找到对应的服务提供端;当服务提供端的数量增减或者能够提供的负载变化时,重复该过程。上述的负载均衡方法,其特征在于,进一步包括:通过服务发现模块,可以对对应的服务进行监控,获得提供该对应服务的所有服务提供端。通过私有云中的健康检查模块,可以对每个服务提供端提供实时监控,包括处理器、内存和磁盘,从多个方面监控服务提供端所能提供的实时负载。根据每个服务提供端的资源总量和实时负载情况,计算出当前服务端的实时负载率。定义Cp为服务提供端的处理器的实时负载,Cm为服务提供端内存的实时负载,Cd为服务提供端磁盘的实时负载,Np为服务提供端的处理器的总资源量,Nm为服务提供端的内存总资源量,Nd为服务提供端的磁盘总资源量。则实时负载率根据对服务提供端的实时负载率的进一步计算,每个服务提供端能提供的权重为W=1-R所述局部一致性哈希算法,包括:横轴使用每个服务提供端,纵轴使用远大于服务提供端个数的数字n,采用经典的洗牌算法,生成一张随机全排列的表格。带权重的局部一致性哈希算法如图2;根据服务请求计算出哈希值,从哈希路由表可以直接得到对应的服务提供端。当服务提供端的数量增减或者负载发生变化时,重复上述步骤,重新计算哈希路由表,其大部分路由还是正确的,极大的减少了回源数量。有益效果:借助于本专利技术的上述技术方案,通过动态实时获取服务提供端的负载,进一步计算其提供服务的权重,采用带权重的局部一致性哈希算法,得到路由表,为客户端的请求提供服务,实现了动态反馈服务器负载,及时修改负载均衡器的负载均衡策略。同时,新的带权重的负载均衡算法,保证了服务提供端在权重的基础上,实现了足够的均衡,以及保证在服务提供端负载和数量发生变化的时候,回源率维持在较低的水准。附图说明图1为本专利技术实施例的系统结构图。图2为本专利技术实施例的带权重的一致性哈希算法图。图3为本专利技术实施例的服务端信息列表。图4为本专利技术实施例的服务端全排列表。图5为本专利技术实施例的服务端哈希路由表。图6为本专利技术实施例的新一轮服务端信息表。图7为本专利技术实施例的新一轮服务端哈希路由表。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本专利技术保护的范围。根据本专利技术的实施例,提供了一种私有云基于动态反馈的局部一致性哈希负载均衡方法。如图1所示,根据本专利技术实施例的负载均衡方法包括:通过服务发现模块,实时获得对应服务所有的可以提供服务的服务提供端;通过私有云的健康检查模块,获取服务提供端的列表和每个服务提供端的处理器、内存、磁盘的使用情况;根据处理器、内存和磁盘的使用情况,以及实时负载率计算公式计算出每个服务提供端的实时负载率;根据服务提供端的权重计算公式,计算出每个服务提供端在新一轮的服务提供中所能提供的权重,如图3所示列表;图1中的配置文件指各种负载均衡器的配置文件,比如nginx的配置文件;根据上一轮计算的服务提供端的提供权重,修改配置文件的初始权重,并重新加载,使其实时权重重新生效;根据服务提供端的个数和名字,利用如下的计算公式,计算出一张随机全排列的表格,如图4;offset=h(name[i])modMskip=h(name[i])mod(M-1)+1permutation[i][j]=(offset+j*skip)modM其中,M为哈希值的总数;根据带权重的局部一致性哈希算法,可以进一步得到哈希路由表,如图5;可以看到,在新的哈希路由表中,其哈希值对应的服务提供端的个数,和上文计算的权重的比例基本相同。对于负载均衡器的总体流程框架我们并不作修改,本专利技术所做的修改主要集中在对于哈希路由表的计算方式和服务提供端的服务提供权重的动态修改,使其更加均衡和满足动态适配的特点。假设这个时候,有一个客户端请求到达,把整个客户端请求做一次哈希,得到的哈希值假如为3,那么查找路由表,对应的服务提供端为B2,就把B2的ip地址返还给客户端;对于本专利技术实施例的系统结构图如图1所示,健康检查模块每隔一个时间周期会去监控检查服务提供端的各项数据,获得服务提供端的包括处理器、内存、磁盘等各方面的数据,计算好负载率、服务提供权重,然后更新负载均衡器配置文件里面的权重数值,负载均衡器的核心计算部分会利用带权重的负载均衡算法,计算出一张哈希路由表,等待客户端请求的到来。当客户端请求到来时,计算哈希值,并通过哈希路由表,找到对应的服务提供端。当下一个时间周期到来的时候,继续重复这一过程。假设在新的一轮时间周期内,服务提供端的处理器、内存、磁盘的使用情况如图6;可以看到,服务提供端B2宕机,只有B0和B1,同时,他们的负载也发生了变化;通过随机全排列表,我们进一步可以得到新的哈希路由表,如图7;从新的表格中,我们可以看到,新的服务提供端在哈希表中所占的比例和他们能够提供的权重基本相同,同时,原本映射到B0和B1服务提供端的哈希值大部分依旧落在B0和B1上,保证了一定的回源率;当再次经过一个时间周期后,又开始了新一轮的循环;综上所述,借助于本专利技术的上述技术方案,通过动态实时获取服务提供端的负载,进一步计算其提供服务的权重本文档来自技高网...
一种私有云基于动态反馈的局部一致性哈希负载均衡方法

【技术保护点】
一种私有云基于动态反馈的局部一致性哈希负载均衡方法,其特征在于,包括:通过服务发现模块,实时获得对应服务所有的可以提供服务的服务提供端;通过健康检查模块,实时获取每个服务对应的服务提供端的资源总量和实时负载;根据每个服务提供端的资源总量和实时负载计算出当前服务的服务提供端的实时负载率;通过对服务提供端的实时负载率的进一步计算,得出每个服务提供端能够提供的服务权重;根据局部一致性哈希算法和服务提供端能够提供服务的权重,计算出哈希路由表;服务请求连接达到,根据服务请求客户端的请求连接数据,计算出唯一的哈希值;查找路由表,根据路由表找到对应的服务提供端;当服务提供端的数量增减或者能够提供的负载变化时,重复该过程。

【技术特征摘要】
1.一种私有云基于动态反馈的局部一致性哈希负载均衡方法,其特征在于,包括:通过服务发现模块,实时获得对应服务所有的可以提供服务的服务提供端;通过健康检查模块,实时获取每个服务对应的服务提供端的资源总量和实时负载;根据每个服务提供端的资源总量和实时负载计算出当前服务的服务提供端的实时负载率;通过对服务提供端的实时负载率的进一步计算,得出每个服务提供端能够提供的服务权重;根据局部一致性哈希算法和服务提供端能够提供服务的权重,计算出哈希路由表;服务请求连接达到,根据服务请求客户端的请求连接数据,计算出唯一的哈希值;查找路由表,根据路由表找到对应的服务提供端;当服务提供端的数量增减或者能够提供的负载变化时,重复该过程。2.根据权利要求1所述的负载均衡方法,其特征在于,进一步包括:根据每个服务提供端的资源总量和实时负载情况,计算出当前服务端的实时负载率;定义Cp为服务提供端的处理器的实时负载,Cm为服务提供端内存的实时负载,Cd为服务提供端磁盘的实时负载,Np为服务提供端的处理器的总资源量,N...

【专利技术属性】
技术研发人员:曹春余萍袁忠良
申请(专利权)人:南京大学
类型:发明
国别省市:江苏,32

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

1