The invention discloses a method and device for load balancing, which executes the following steps: the method to determine the overall throughput, until meet preset equilibrium conditions; according to the current processing weights for each server, the load flow to determine the distribution of each server; the load flow distribution to each server will be determined by the current time; the processing pressure parameter acquisition for each server; according to the real-time processing of pressure parameters for each server to collect, to determine the overall throughput of whether or not to meet the preset equilibrium conditions; in determining the overall throughput does not meet the preset equilibrium conditions, with weight adjustment for each server, and each server will handle weights adjusted, as the weights of the next cycle. The technical scheme of the embodiment of the invention solves the problem that the whole back-end processing cluster can not reach the optimum state even under the current network or machine environment, and even leads to the excessive load of some machines.
【技术实现步骤摘要】
负载均衡方法及装置
本专利技术涉及云计算技术,尤其涉及一种负载均衡方法及装置。
技术介绍
负载均衡问题在分布式服务中一直是一项热门的关注点,目前常见的负载均衡算法有随机与轮询算法。目前百度云日流量已在百亿级,并且不断在增长。百度云的流量在经过域名解析之后会通过一级反向代理进入百度云的自有接入层(二级反向代理),通过百度云接入层的流量根据请求分布代理到后端的相应处理集群。在请求处理过程中涉及到的机器、集群、机房较多,后端服务可能存在着各种混布,服务之间会相互影响;同时存在机器性能不一,机房网络情况差异等问题,导致后端处理层各机器负载不均衡以及同一接口处理延时差异较大等情况,如果负载均衡策略采用简单的随机或轮询,在目前百度云的网络或机器环境下,并不能将整体的后端处理集群发挥至最佳状态,甚至容易导致部分机器负载过高。
技术实现思路
有鉴于此,本专利技术实施例提供一种负载均衡方法及装置,以解决现有技术中的在目前的网络或机器环境下,不能将整体的后端处理集群发挥至最佳状态,甚至容易导致部分机器负载过高的问题。第一方面,本专利技术实施例提供了一种负载均衡方法,包括:循环执行下述步骤,直到确定整体处理吞吐量满足预设均衡条件;根据各个服务器的当前处理权值,确定向所述各个服务器分发的当前负载流量;将所确定的当前负载流量分发给所述各个服务器;采集所述各个服务器的当前实时处理压力参数;根据所采集到的各个服务器的当前实时处理压力参数,确定整体处理吞吐量是否满足预设均衡条件;在确定出整体处理吞吐量未满足预设均衡条件时,调整所述各个服务器的处理权值,并将调整后的各个服务器的处理权值,作为下 ...
【技术保护点】
一种负载均衡方法,其特征在于,包括:循环执行下述步骤,直到确定整体处理吞吐量满足预设均衡条件;根据各个服务器的当前处理权值,确定向所述各个服务器分发的当前负载流量;将所确定的当前负载流量分发给所述各个服务器;采集所述各个服务器的当前实时处理压力参数;根据所采集到的各个服务器的当前实时处理压力参数,确定整体处理吞吐量是否满足预设均衡条件;在确定出整体处理吞吐量未满足预设均衡条件时,调整所述各个服务器的处理权值,并将调整后的各个服务器的处理权值,作为下一循环的当前处理权值。
【技术特征摘要】
1.一种负载均衡方法,其特征在于,包括:循环执行下述步骤,直到确定整体处理吞吐量满足预设均衡条件;根据各个服务器的当前处理权值,确定向所述各个服务器分发的当前负载流量;将所确定的当前负载流量分发给所述各个服务器;采集所述各个服务器的当前实时处理压力参数;根据所采集到的各个服务器的当前实时处理压力参数,确定整体处理吞吐量是否满足预设均衡条件;在确定出整体处理吞吐量未满足预设均衡条件时,调整所述各个服务器的处理权值,并将调整后的各个服务器的处理权值,作为下一循环的当前处理权值。2.根据权利要求1所述的方法,其特征在于,在执行循环操作之前,所述方法还包括:对所述各个服务器的处理权值进行初始化。3.根据权利要求1所述的方法,其特征在于,所述服务器的实时处理压力参数至少包括下述一项:平均处理延时时间、每秒查询率和异常事件发生概率;其中,所述异常事件包括:未响应事件,和/或差错事件。4.根据权利要求3所述的方法,其特征在于,所述在确定出整体处理吞吐量未满足预设均衡条件时,调整所述各个服务器的处理权值包括:根据所述各个服务器的实时处理压力参数以及所有服务器的实时处理压力参数,计算所述各个服务器的权值增量;将所计算出的权值增量与所述各个服务器的当前权值相加,作为调整后的权值。5.根据权利要求4所述的方法,其特征在于,所采集的各个服务器的实时处理压力参数包括实时处理压力参数集{Ti,Qi,Pi},i∈[1,N];其中,Ti为第i个服务器的平均处理延时时间、Qi为第i个服务器的每秒查询率、Pi为第i个服务器的异常事件发生概率、N为服务器的总数量,且N为大于1的整数;所述根据所述各个服务器的实时处理压力参数以及所有服务器的实时处理压力参数,计算所述各个服务器的权值增量包括:根据所述采集到的各个服务器的实时处理压力参数集{Ti,Qi,Pi},计算平均实时处理压力参数集{Tave,Qave,Pave};根据公式:ΔDj=K1(Tave-Ti)+K2(Qi-Qave)+K3(Pave-Pi);计算各个服务器的权值增量ΔDj,j∈[1,N],其中,K1、K2、K3为设定比例系数。6.根据权利要求5所述的方法,其特征在于,根据所采集到的各个服务器的当前实时处理压力参数,确定整体处理吞吐量是否满足预设均衡条件包括:分别计算各个服务器的Ti与所述Tave之间的差值ΔTi;如果与各个服务器对应的ΔTi均位于设定误差范围内,则确定整体处理吞吐量满足预设均衡条件。7.根据权利要求2所述的方法,其特征在于,对至少两个服务器的处理权值进行初始化,具体包括:根据所述服务器的处理性能参数的差异值,为至少两个服务器的处理权值进行初始化;其中,所述处理性能参数包括:服务器的中央处理器CPU运算速度...
【专利技术属性】
技术研发人员:林晓刚,高巍,范利平,
申请(专利权)人:百度在线网络技术北京有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。