负载均衡方法、装置、电子设备及存储介质制造方法及图纸

技术编号:19436727 阅读:19 留言:0更新日期:2018-11-14 13:13
本发明专利技术实施例提供了一种负载均衡方法、装置、电子设备及存储介质,该方法包括:获取服务系统中各服务节点的负载信息;通过预设均衡算法,利用各服务节点的负载信息,确定各服务节点当前的负载权重;将路由表当前的路由数据,备份到预设位置;按照各服务节点的负载权重,更新预设位置中的路由数据,得到更新后的路由数据;将更新后的路由数据配置为路由表当前的路由数据。在本发明专利技术实施例的负载均衡方法中,利用各服务节点的负载信息,确定各服务节点当前的负载权重,能够根据各服务节点实时的负载信息,配置各服务节点的负载,各服务节点的负载更加合理,可以提高服务系统的处理效率。

【技术实现步骤摘要】
负载均衡方法、装置、电子设备及存储介质
本专利技术涉及计算机
,特别是涉及负载均衡方法、装置、电子设备及存储介质。
技术介绍
随着互联网技术的发展,互联网的业务形态也呈多样性趋势,后端功能逻辑更加复杂。随着微服务等技术的发展,后端服务系统也更倾向于逻辑和功能解耦。在服务系统中,按照预设的比例,通过轮询方式为各服务节点配置服务请求,例如,在服务系统包括三个服务节点,预设比例为1:2:1时,则按照为第一个服务节点分配1个服务请求,为第二个服务节点分配2个服务请求,为第三个服务节点分配1个服务请求的顺序,轮询分配服务请求。然而,专利技术人在实现本专利技术的过程中发现,现有技术至少存在如下问题:在实际业务处理过程中,不同服务请求所占用的服务节点的处理资源也不同,按照预设的比例,采用轮询方法分配服务请求,可能会存在部分服务节点负载过高而部分服务节点负载空闲的情况,影响服务系统的处理效率。
技术实现思路
本专利技术实施例的目的在于提供一种负载均衡方法、装置、电子设备及存储介质,以实现提高服务系统的处理效率。具体技术方案如下:第一方面,本专利技术实施例提供了一种负载均衡方法,所述方法包括:获取服务系统中各服务节点的负载信息;通过预设均衡算法,利用各所述服务节点的负载信息,确定各所述服务节点当前的负载权重;将路由表当前的路由数据备份到预设位置;按照各所述服务节点当前的负载权重,更新所述预设位置中的路由数据,得到更新后的路由数据;将所述更新后的路由数据配置为所述路由表当前的路由数据。可选的,所述负载信息包括所述服务节点的响应时间、每秒查询率及单位时间内的错误请求个数;所述通过预设均衡算法,利用各所述服务节点的负载信息,确定各所述服务节点的负载权重,包括:根据计算所述服务节点的剩余负载系数,其中,Tsvr-i为服务节点i的响应时间,γ为预设系数,Taverage为各所述服务节点的平均响应时间,Errsvr-i为服务节点i单位时间内的错误请求的个数,Ctotal为单位时间内的总请求数,count为计数函数,Ai为服务节点i的剩余负载系数;若Ai<Thresholdmin,确定服务节点i当前的负载权重newWeightsvr-i=0,其中,newWeightsvr-i为服务节点i当前的负载权重;若Thresholdmin≤Ai<Thresholdmax,确定服务节点i当前的负载权重newWeightsvr-i=α*Weightsvr-i,其中,α为预设值,且0<α<1;若Ai≥Thresholdmax,确定服务节点i当前的负载权重newWeightsvr-i=(1+β)*Weightsvr-i,其中,β为预设值,且0<β<1。可选的,所述将路由表当前的路由数据,备份到预设位置,包括:判断预设位置中的路由数据是否正在被读线程读取;若所述预设位置中的路由数据没有正在被读线程读取,将路由表当前的路由数据,备份到所述预设位置。可选的,在所述获取服务系统中各服务节点的负载信息之前,所述方法还包括:向所述服务系统发送注册请求,获取所述服务系统根据所述注册请求返回的服务信息,其中,所述服务信息包括服务节点列表及各所述服务节点的负载权重。第二方面,本专利技术实施例提供了一种负载均衡装置,所述装置包括:信息获取模块,用于获取服务系统中各服务节点的负载信息;权重确定模块,用于通过预设均衡算法,利用各所述服务节点的负载信息,确定各所述服务节点当前的负载权重;数据备份模块,用于将路由表当前的路由数据备份到预设位置;数据更新模块,用于按照各所述服务节点当前的负载权重,更新所述预设位置中的路由数据,得到更新后的路由数据;路由更新模块,用于将所述更新后的路由数据配置为所述路由表当前的路由数据。可选的,所述负载信息包括所述服务节点的响应时间、每秒查询率及单位时间内的错误请求个数;所述权重确定模块,具体用于:根据计算所述服务节点的剩余负载系数,其中,Tsvr-i为服务节点i的响应时间,γ为预设系数,Taverage为各所述服务节点的平均响应时间,Errsvr-i为服务节点i单位时间内的错误请求的个数,Ctotal为单位时间内的总请求数,count为计数函数,Ai为服务节点i的剩余负载系数;若Ai≥Thresholdmax,确定服务节点i当前的负载权重newWeightsvr-i=0,其中,newWeightsvr-i为服务节点i当前的负载权重;若Thresholdmin≤Ai<Thresholdmax,确定服务节点i当前的负载权重newWeightsvr-i=α*Weightsvr-i,其中,α为预设值,且0<α<1;若Ai<Thresholdmin,确定服务节点i当前的负载权重newWeightsvr-i=(1+β)*Weightsvr-i,其中,β为预设值,且0<β<1。可选的,所述数据备份模块,包括:占用判定子模块,用于判断预设位置中的路由数据是否正在被读线程读取;数据更新子模块,用于若所述预设位置中的路由数据没有正在被读线程读取,将路由表当前的路由数据,备份到所述预设位置。可选的,本专利技术实施例的负载均衡装置还包括:注册模块,用于向所述服务系统发送注册请求,获取所述服务系统根据所述注册请求返回的服务信息,其中,所述服务信息包括服务节点列表及各所述服务节点的负载权重。第三方面,本专利技术实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,所述处理器,所述通信接口,所述存储器通过所述通信总线完成相互间的通信;所述存储器,用于存放计算机程序;所述处理器,用于执行存储器上所存放的程序时,实现上述第一方面任一负载均衡方法。第四方面,本专利技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面任一负载均衡方法。第五方面,本专利技术实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面任一负载均衡方法。本专利技术实施例提供的负载均衡方法、装置、电子设备及存储介质,获取服务系统中各服务节点的负载信息;通过预设均衡算法,利用各服务节点的负载信息,确定各服务节点当前的负载权重;将路由表当前的路由数据,备份到预设位置;按照各服务节点的负载权重,更新预设位置中的路由数据,得到更新后的路由数据;将更新后的路由数据配置为路由表当前的路由数据。利用各服务节点的负载信息,确定各服务节点当前的负载权重,能够根据各服务节点实时的负载信息,配置各服务节点的负载,各服务节点的负载更加合理,可以提高服务系统的处理效率。在更新路由数据时更新备份的路由数据,在路由数据更新完毕后,将更新后的路由数据配置为路由表当前的路由数据,读取路由表时不需要加锁,更新路由数据不影响路由表的读取,能够提高服务形同的性能和每秒查询率。当然,实施本专利技术的任一产品或方法并不一定需要同时达到以上所述的所有优点。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。图1为本专利技术实施例的负载均衡方法的一种流程示意图;图2为本专利技术实施例的负载均衡方法的应用场景的一种示意图;图3为本专利技术实施例的负载均衡方法的另一种流程示意图;图4为本专利技术实施例的负载均衡装置的一种示本文档来自技高网...

【技术保护点】
1.一种负载均衡方法,其特征在于,所述方法包括:获取服务系统中各服务节点的负载信息;通过预设均衡算法,利用各所述服务节点的负载信息,确定各所述服务节点当前的负载权重;将路由表当前的路由数据备份到预设位置;按照各所述服务节点当前的负载权重,更新所述预设位置中的路由数据,得到更新后的路由数据;将所述更新后的路由数据配置为所述路由表当前的路由数据。

【技术特征摘要】
1.一种负载均衡方法,其特征在于,所述方法包括:获取服务系统中各服务节点的负载信息;通过预设均衡算法,利用各所述服务节点的负载信息,确定各所述服务节点当前的负载权重;将路由表当前的路由数据备份到预设位置;按照各所述服务节点当前的负载权重,更新所述预设位置中的路由数据,得到更新后的路由数据;将所述更新后的路由数据配置为所述路由表当前的路由数据。2.根据权利要求1所述的方法,其特征在于,所述负载信息包括所述服务节点的响应时间、每秒查询率及单位时间内的错误请求个数;所述通过预设均衡算法,利用各所述服务节点的负载信息,确定各所述服务节点的负载权重,包括:根据计算所述服务节点的剩余负载系数,其中,Tsvr-i为服务节点i的响应时间,γ为预设系数,Taverage为各所述服务节点的平均响应时间,Errsvr-i为服务节点i单位时间内的错误请求的个数,Ctotal为单位时间内的总请求数,count为计数函数,Ai为服务节点i的剩余负载系数;若Ai≥Thresholdmax,确定服务节点i当前的负载权重newWeightsvr-i=0,其中,newWeightsvr-i为服务节点i当前的负载权重;或者,若Thresholdmin≤Ai<Thresholdmax,确定服务节点i当前的负载权重newWeightsvr-i=α*Weightsvr-i,其中,α为预设值,且0<α<1;或者,若Ai<Thresholdmin,确定服务节点i当前的负载权重newWeightsvr-i=(1+β)*Weightsvr-i,其中,β为预设值,且0<β<1。3.根据权利要求1所述的方法,其特征在于,所述将路由表当前的路由数据,备份到预设位置,包括:判断预设位置中的路由数据是否正在被读线程读取;若所述预设位置中的路由数据没有正在被读线程读取,将路由表当前的路由数据,备份到所述预设位置。4.根据权利要求1所述的方法,其特征在于,在所述获取服务系统中各服务节点的负载信息之前,所述方法还包括:向所述服务系统发送注册请求,获取所述服务系统根据所述注册请求返回的服务信息,其中,所述服务信息包括服务节点列表及各所述服务节点的负载权重。5.一种负载均衡装置,其特征在于,所述装置包括:信息获取模块,用于获取服务系统中各服务节点的负载信息;权重确定模块,用于通过预设均衡算法,利用各所述服务节点的负载信息,确定各所述服务节点当前的负载权重...

【专利技术属性】
技术研发人员:燕亚
申请(专利权)人:北京奇艺世纪科技有限公司
类型:发明
国别省市:北京,11

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

1