负载均衡的方法、装置、存储介质和终端设备制造方法及图纸

技术编号:19352919 阅读:22 留言:0更新日期:2018-11-07 17:46
本发明专利技术提出一种负载均衡的方法、装置、存储介质和终端设备,其中,所述方法包括:获取各机房的负载均衡器接收服务请求的服务流量;根据各机房的负载均衡器接收服务请求的服务流量和各机房的服务容量,获得各负载均衡器向各机房分配服务请求的调度结果;以及将所述调度结果推送给分流比例配置中心,所述分流比例配置中心用于向所述负载均衡器发送最新的调度结果。采用本发明专利技术,可以快速准确地调度服务请求,达到负载均衡的效果。

【技术实现步骤摘要】
负载均衡的方法、装置、存储介质和终端设备
本专利技术涉及计算机
,尤其涉及一种负载均衡的方法、装置、存储介质和终端设备。
技术介绍
为了达到服务容灾、用户就近访问等目的,提供服务的系统通常会在多个机房中部署服务。这时,用户的访问流量需要在多个机房之间进行调度,以实现负载均衡、故障止损等目的。在多个机房之间调度流量的技术统称为全局负载均衡。参见图1,全局负载均衡一般基于DNS(DomainNameSystem,域名系统)来实现。具体地,首先,按地域对用户进行划分(例如,北京、天津)。然后,为各地域所对应的用户选择一个IP(InternetProtocol,互联网协议)地址。当某一地域的用户请求解析服务的域名时,返回为该地域的用户选择的IP地址,并将该地域用户流量引导到此IP地址对应的机房。通过这种方式可以实现以下效果:1、负载均衡:通过按用户所在的地域将用户流量划分到相应地域的机房,可以调整各个机房的负载,实现负载均衡;2、止损:如果一个机房出现故障,将解析到此故障的机房IP地址调整为解析到其他机房的IP地址,以将用户流量切换到正常工作的机房,达到止损的目的。但是,基于DNS的全局负载均衡存有如下的缺陷:1、调度生效缓慢:DNS在每一次解析地址时都需要对缓存进行清除。如此,调度生效时间缓慢,甚至长达十分钟甚至数小时。2、调度不精准:当按地域划分的机房过于细分时,难于准确地划分用户所属的地域。尤其是在多个不同地域的用户混用LocalDNS(本地域名)的情况下。因此,DNS调度难以准确地为各个地域的分配用户流量,负载均衡的效果往往不符合预期。
技术实现思路
专利技术实施例提供一种负载均衡的方法、装置、存储介质和终端设备,以解决或缓解现有技术中的以上一个或多个技术问题。第一方面,本专利技术实施例提供了一种负载均衡的方法,包括:获取各机房的负载均衡器接收服务请求的服务流量;根据各机房的负载均衡器接收服务请求的服务流量和各机房的服务容量,获得各负载均衡器向各机房分配服务请求的调度结果;以及将所述调度结果推送给分流比例配置中心,所述分流比例配置中心用于向所述负载均衡器发送最新的调度结果。结合第一方面,在第一方面的第一种实施方式中,获取各机房的负载均衡器接收服务请求的服务流量,包括:通过各机房的流量采集器,分别获取在过去的一个时间周期内,各机房的负载均衡器接收到服务请求的请求速率,并发送给全局流量汇聚器;通过所述全局流量汇聚器,接收各流量采集器发送的请求速率;根据各机房的负载均衡器的请求速率和所述时间周期,分别计算各机房的负载均衡器接收服务请求的服务流量。结合第一方面,在第一方面的第二种实施方式中,所述方法还包括:根据各机房的负载均衡器接收到的服务请求的服务流量,统计全局流量;根据各机房的服务容量,统计全局容量;判断所述全局流量是否超过所述全局容量;以及当所述全局流量超过所述全局容量时,重新调整各机房的服务容量。结合第一方面第二种实施方式,在第一方面的第三种实施方式中,所述重新调整各机房的服务容量,包括:将所述全局流量除以所述全局容量,获得全局负载系数;将各机房的服务容量分别乘以所述全局负载系数,获得调整后各机房的服务容量。结合第一方面或其任意一种实施方式,在第一方面的第四种实施方式中,所述根据各机房的负载均衡器接收服务请求的服务流量和各机房的服务容量,获得各负载均衡器向各机房分配服务请求的调度结果,包括:采用负载均衡器优先向同机房分配服务请求的原则,根据所述机房的负载均衡器接收服务请求的服务流量和所述机房的服务容量,计算所述机房的同机房分流比例、剩余服务流量和剩余服务容量;和/或如果所述机房的剩余服务流量不为零,将所述机房的剩余服务流量除以所述机房的服务流量,获得所述机房向剩余服务容量不为零的其他机房分配服务请求的非同机房分流比例。结合第一方面的第四种实施方式,在第一方面的第五种实施方式中,所述采用负载均衡器优先向同机房分配服务请求的原则,根据所述机房的负载均衡器接收到的服务请求的服务流量和所述机房的服务容量,计算所述机房的同机房分流比例、剩余服务流量和剩余服务容量,包括:当所述机房的负载均衡器的服务流量不大于所述机房的服务容量时,所述机房的同机房分流比例为100%,所述机房的剩余服务流量为零,以及所述机房的剩余服务容量为所述服务容量与所述服务流量的差值;当所述服务流量大于所述服务容量时,所述机房的同机房分流比例为所述服务容量与所述服务流量的比值,所述机房的剩余服务流量为所述服务流量与所述服务容量的差值,以及所述机房的剩余服务容量为零。结合第一方面第二种实施方式,在第一方面的第六种实施方式中,所述方法还包括:当所述全局流量超过所述全局容量,且调度策略为丢弃时,将所述机房向剩余服务容量不为零的其他机房分配服务请求的非同机房分流比例,作为所述机房的负载均衡器丢弃服务请求的丢弃比例。第二方面,本专利技术实施例提供一种负载均衡的方法,包括:从分流比例配置中心获取最新的调度结果;其中,所述调度结果包括根据各负载均衡器接收服务请求的服务流量和各机房的服务容量,获得各负载均衡器向各机房分配服务请求的调度结果;接收请求端发送的服务请求;以及根据最新的调度结果和接收到的服务请求,对接收到的服务请求进行调度。结合第二方面,在第二方面的第一种实施方式中,所述根据最新的调度结果和接收到的服务请求,对接收到的服务请求进行调度包括:建立预设数量的哈希桶;根据所述调度结果,确定各哈希桶对应的机房;根据所述服务请求的头部字段计算哈希结果,以确定哈希桶;以及根据确定的哈希桶,确定处理所述服务请求的机房。第三方面,本专利技术实施例提供一种负载均衡的装置,包括:服务流量获取模块,用于获取各机房的负载均衡器接收服务请求的服务流量;调度结果计算模块,用于根据各机房的负载均衡器接收服务请求的服务流量和各机房的服务容量,获得各负载均衡器向各机房分配服务请求的调度结果;以及调度结果推送模块,用于将所述调度结果推送给分流比例配置中心,所述分流比例配置中心用于向所述负载均衡器发送最新的调度结果。结合第三方面,在第三方面的第一种实施方式中,所述装置还包括:全局流量统计模块,用于根据各机房的负载均衡器接收到的服务请求的服务流量,统计全局流量;全局容量统计模块,用于根据各机房的服务容量,统计全局容量;超量判断模块,用于判断所述全局流量是否超过所述全局容量;以及服务容量调整模块,用于当所述全局流量超过所述全局容量时,重新调整各机房的服务容量。结合第三方面,在第三方面的第二种实施方式中,所述调度结果计算模块包括:第一计算单元,用于采用负载均衡器优先向同机房分配服务请求的原则,根据所述机房的负载均衡器接收服务请求的服务流量和所述机房的服务容量,计算所述机房的同机房分流比例、剩余服务流量和剩余服务容量;和/或第二计算单元,用于如果所述机房的剩余服务流量不为零,将所述机房的剩余服务流量除以所述机房的服务流量,获得所述机房向剩余服务容量不为零的其他机房分配服务请求的非同机房分流比例。第四方面,本专利技术实施例提供一种负载均衡的装置,包括:调度结果获取模块,用于从分流比例配置中心获取最新的调度结果;其中,所述调度结果包括根据各负载均衡器接收服务请求的服务流量和各机房的服务容量,获得各负载均衡本文档来自技高网...

【技术保护点】
1.一种负载均衡的方法,其特征在于,包括:获取各机房的负载均衡器接收服务请求的服务流量;根据各机房的负载均衡器接收服务请求的服务流量和各机房的服务容量,获得各负载均衡器向各机房分配服务请求的调度结果;以及将所述调度结果推送给分流比例配置中心,所述分流比例配置中心用于向所述负载均衡器发送最新的调度结果。

【技术特征摘要】
1.一种负载均衡的方法,其特征在于,包括:获取各机房的负载均衡器接收服务请求的服务流量;根据各机房的负载均衡器接收服务请求的服务流量和各机房的服务容量,获得各负载均衡器向各机房分配服务请求的调度结果;以及将所述调度结果推送给分流比例配置中心,所述分流比例配置中心用于向所述负载均衡器发送最新的调度结果。2.如权利要求1所述的负载均衡的方法,其特征在于,获取各机房的负载均衡器接收服务请求的服务流量,包括:通过各机房的流量采集器,分别获取在过去的一个时间周期内,各机房的负载均衡器接收到服务请求的请求速率,并发送给全局流量汇聚器;通过所述全局流量汇聚器,接收各流量采集器发送的请求速率;根据各机房的负载均衡器的请求速率和所述时间周期,分别计算各机房的负载均衡器接收服务请求的服务流量。3.如权利要求1所述的负载均衡的方法,其特征在于,所述方法还包括:根据各机房的负载均衡器接收到的服务请求的服务流量,统计全局流量;根据各机房的服务容量,统计全局容量;判断所述全局流量是否超过所述全局容量;以及当所述全局流量超过所述全局容量时,重新调整各机房的服务容量。4.如权利要求3所述的负载均衡的方法,其特征在于,所述重新调整各机房的服务容量,包括:将所述全局流量除以所述全局容量,获得全局负载系数;将各机房的服务容量分别乘以所述全局负载系数,获得调整后各机房的服务容量。5.如权利要求1至4中任一项所述的负载均衡的方法,其特征在于,所述根据各机房的负载均衡器接收服务请求的服务流量和各机房的服务容量,获得各负载均衡器向各机房分配服务请求的调度结果,包括:采用负载均衡器优先向同机房分配服务请求的原则,根据所述机房的负载均衡器接收服务请求的服务流量和所述机房的服务容量,计算所述机房的同机房分流比例、剩余服务流量和剩余服务容量;和/或如果所述机房的剩余服务流量不为零,将所述机房的剩余服务流量除以所述机房的服务流量,获得所述机房向剩余服务容量不为零的其他机房分配服务请求的非同机房分流比例。6.如权利要求5所述的负载均衡的方法,其特征在于,所述采用负载均衡器优先向同机房分配服务请求的原则,根据所述机房的负载均衡器接收到的服务请求的服务流量和所述机房的服务容量,计算所述机房的同机房分流比例、剩余服务流量和剩余服务容量,包括:当所述机房的负载均衡器的服务流量不大于所述机房的服务容量时,所述机房的同机房分流比例为100%,所述机房的剩余服务流量为零,以及所述机房的剩余服务容量为所述服务容量与所述服务流量的差值;当所述服务流量大于所述服务容量时,所述机房的同机房分流比例为所述服务容量与所述服务流量的比值,所述机房的剩余服务流量为所述服务流量与所述服务容量的差值,以及所述机房的剩余服务容量为零。7.如权利要求3所述的负载均衡的方法,其特征在于,所述方法还包括:当所述全局流量超过所述全局容量,且调度策略为丢弃时,将所述机房向剩余服务容量不为零的其他机房分配服务请求的非同机房分流比例,作为所述机房的负载均衡器丢弃服务请求的丢弃比例。8.一种负载均衡的方法,其特征在于,包括:从分流比例配置中心获取最新的调度结果;其中,所述调度结果包括根据各负载均衡器接收服务请求的服务流量和各机...

【专利技术属性】
技术研发人员:姚广章淼
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:北京,11

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

1