基于动态权重调整的负载均衡方法、装置和电子设备制造方法及图纸

技术编号:19186825 阅读:21 留言:0更新日期:2018-10-17 02:22
本发明专利技术提供一种基于动态权重调整的负载均衡方法、装置、电子设备和可读存储介质。该方法包括:从业务请求方接收业务请求;在接收到所述业务请求之后,确定是否需要调用第三方接口;在确定了需要调用所述第三方接口的情况下,获取第三方接口服务的服务器权重;根据所获取的第三方接口服务的服务器权重,来选取需要对所述业务请求进行处理的服务器;建立与所选取的服务器的连接;使用所建立的连接来调用所述第三方接口,并且返回第三方接口数据;根据所述第三方接口数据,对所述服务器的权重进行动态调整;以及对所述第三方接口数据进行处理,并且将所处理的第三方接口数据返回给所述业务请求方。

Load balancing method, device and electronic device based on dynamic weight adjustment

The invention provides a load balancing method, a device, an electronic device and a readable storage medium based on dynamic weight adjustment. The method includes: receiving a business request from a business requester; determining whether a third-party interface needs to be invoked after receiving the business request; obtaining the server weight of the third-party interface service when the third-party interface needs to be invoked; and obtaining a server based on the acquired third-party interface service. The weights are used to select the servers that need to process the business requests; establish a connection with the selected servers; use the established connections to invoke the third-party interface and return the third-party interface data; dynamically adjust the weights of the servers according to the third-party interface data; and The third-party interface data is processed and the processed third-party interface data is returned to the service requester.

【技术实现步骤摘要】
基于动态权重调整的负载均衡方法、装置和电子设备
本专利技术涉及通信
,具体地涉及一种基于动态权重调整的负载均衡方法、装置、电子设备和可读存储介质。
技术介绍
分布式系统(distributedsystem)架构是建立在网络上的系统。在分布式系统架构中,用户对于数据是分布的这一特征敏感度很低,也就是说,用户并不知道知道数据存在于哪个站点或节点以及业务在哪个站点或节点上执行等。分布式系统通常拥有多种通用的物理和逻辑资源。分布式物理和逻辑资源通过计算机网络实现信息交换。在分布式系统架构中,存在以全局的方式管理资源的分布式操作系统。负载均衡(LoadBalance)是分布式系统架构设计中必须考虑的问题,它将请求均匀的分摊到多个操作单元上执行。常见的负载均衡通常在客户端层、反向代理层以及服务层来实现;而针对调用第三方服务的负责均衡通常是在客户端实现的。通过采用负载均衡,可以保证系统资源不被浪费,并且能够保证均衡的数据处理。当前,实现针对调用第三方服务的负载均衡的方法通常根据服务器硬件资源的配置情况(例如,CPU、内存、网卡等)来设置接口权重。权重定义了对数据请求进行处理的分配比例。具体地,例如,在服务集群中有2个服务器:第一服务器和第二服务器。第一服务器被配置为具有双核CPU和4G内存,并且第二服务器被配置为具有4核CPU和8G内存。在执行负载均衡的操作中,当配置权重时,根据第一服务器和第二服务器的硬件配置,将第一服务器的权重设置为10,并且将第二服务器的权重设置为20,从而保证对数据请求的处理被按比例分配,即第一服务器承担1/3的请求处理,而第二服务器承担2/3请求处理。这样,具有相对少量的系统硬件资源的第一服务器仅需要处理1/3的数据请求,而具有相对大量的系统硬件资源的第二服务器需要处理2/3的数据请求。在图1中具体示出了根据现有技术的采用负载均衡时对业务请求进行处理的流程图。该流程图从在S101处接收到业务请求时开始。在接收到来自业务请求方的业务请求之后,在步骤S102处,检查是否需要调用第三方接口。如果不需要调用第三方接口,则流程前进到S108,以对业务流程进行处理并返回数据。如果需要调用第三方接口,则流程进入步骤S103。在步骤S103处,获取第三方接口服务的服务器权重。该服务器权重是预先定义的。然后,在步骤S104处,根据在步骤S103中获取的第三方接口服务的服务器权重,来选取需要对业务请求进行处理的服务器。选取服务器的方式可以包括轮询式选取、随机式选取等。然后,提供该选定的服务器的IP地址(IPProtocolAddress:互联网协议地址)。IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一个主机分配一个逻辑地址,并且每个主机(Host)具有一个唯一的IP地址。此后,在步骤S105处,根据在步骤S104中提供的服务器IP地址,建立与选定的服务器的连接。在步骤S106处,使用在步骤S105中建立的连接,调用第三方接口,并返回第三方接口数据。最后,在步骤S107处,对第三方接口数据进行处理,并且返回给业务请求方。在实现本专利技术过程中,专利技术人发现现有技术中至少存在如下问题:首先,在现有技术中,根据服务器硬件资源配置情况来预先定义服务器的权重。然而,因为对接口服务的请求处理速度通常无法按照理想的情况进行划分,并且被调用的服务本身还有可能依赖于其它服务,所以导致了仅仅根据服务器硬件资源配置来预先定义服务器权重并不能完全满足负载均衡的要求,特别是在对负载均衡的需要特别突出的情况下。其次,在现有技术中,如上所述,负载均衡是根据服务器硬件资源的配置来预先设置的。因此,用于负载均衡的权重分配无法根据各个服务器的运行情况进行动态地调整。因为在如上所述的现有技术的负载均衡处理中,具有相对大量的系统硬件资源的服务器需要处理更多的数据请求,所以这样的服务器往往处于相对较高负载的状态。然而,当请求量激增从而超过该服务器处理峰值时(即,当请求过载时),因为权重分配是预先定义的,所以仍然会对该服务器分配较多的数据请求,因此可能会导致服务器性能下降,甚至不可用,从而无法确保该服务器提供服务的可能性,进而影响对外提供的业务稳定性。
技术实现思路
有鉴于此,本专利技术实施例提供一种基于动态权重调整的负载均衡方法、装置、电子设备和可读存储介质,能够完全满足负载均衡的要求,并且实现对服务器的过载保护,保证系统稳定性,同时提升服务器资源的有效利用率。为实现上述目的,根据本专利技术的一个方面,提供了一种基于动态权重调整的负载均衡方法。该方法包括:从业务请求方接收业务请求;在根据所述业务请求确定了需要调用所述第三方接口的情况下,获取第三方接口服务的服务器权重;根据所获取的第三方接口服务的服务器权重,来选取需要对所述业务请求进行处理的服务器;建立与所选取的服务器的连接;使用所建立的连接来调用所述第三方接口,并且返回第三方接口数据;根据所述第三方接口数据,对所述服务器的权重进行动态调整;以及对所述第三方接口数据进行处理,并且将所处理的第三方接口数据返回给所述业务请求方。可选地,所述服务器权重是预先定义的。可选地,选取需要对所述业务请求进行处理的服务器能够采用轮询方式或随机方式。可选地,所述服务器权重的值在0至100的范围内;可选地,对所述服务器的权重进行动态调整包括:当服务器提供的服务出现超时,权重减小第一预定值;并且当所述服务器提供的服务正常时,权重增加第二预定值。可选地,对所述服务器的权重进行动态调整包括:在所述业务数据存在异常的情况下,权重减小第一预定值;并且在所述业务数据正常的情况下,权重增加第二预定值。可选地,所述第一预定值大于所述第二预定值。可选地,所述第一预定值、所述第二预定值和所述服务器权重的值的范围是根据系统处理的细腻程度来定义的。为实现上述目的,根据本专利技术的另一个方面,提供了一种基于动态权重调整的负载均衡的装置。该装置包括:接收模块,用于从业务请求方接收业务请求;获取模块,用于根据所述业务请求确定了需要调用所述第三方接口的情况下,获取第三方接口服务的服务器权重;选取模块,用于根据所获取的第三方接口服务的服务器权重,来选取需要对所述业务请求进行处理的服务器;建立模块,用于建立与所选取的服务器的连接;调用和返回模块,用于使用所建立的连接来调用所述第三方接口,并且返回第三方接口数据;动态调整模块,用于根据所述第三方接口数据,对所述服务器的权重进行动态调整;处理模块,用于对所述第三方接口数据进行处理;以及发送模块,用于将所处理的第三方接口数据返回给所述业务请求方。可选地,所述服务器权重是预先定义的。可选地,所述选取模块采用轮询方式或随机方式来选取需要对所述业务请求进行处理的服务器。可选地,所述服务器权重的值在0至100的范围内;可选地,所述动态调整模块用于:当服务器提供的服务出现超时,权重减小第一预定值;并且当所述服务器提供的服务正常时,权重增加第二预定值。可选地,所述动态调整模块用于:在所述业务数据存在异常的情况下,权重减小第一预定值;并且在所述业务数据正常的情况下,权重增加第二预定值。可选地,所述第一预定值大于所述第二预定值。可选地,所述第一预定值、所述第二预定值和所述服务器权重的值的范围是根据系统处理的本文档来自技高网
...

【技术保护点】
1.一种基于动态权重调整的负载均衡的方法,其特征在于,包括:从业务请求方接收业务请求;在根据所述业务请求确定了需要调用所述第三方接口的情况下,获取第三方接口服务的服务器权重;根据所获取的第三方接口服务的服务器权重,来选取需要对所述业务请求进行处理的服务器;建立与所选取的服务器的连接;使用所建立的连接来调用所述第三方接口,并且返回第三方接口数据;根据所述第三方接口数据,对所述服务器的权重进行动态调整;以及对所述第三方接口数据进行处理,并且将所处理的第三方接口数据返回给所述业务请求方。

【技术特征摘要】
1.一种基于动态权重调整的负载均衡的方法,其特征在于,包括:从业务请求方接收业务请求;在根据所述业务请求确定了需要调用所述第三方接口的情况下,获取第三方接口服务的服务器权重;根据所获取的第三方接口服务的服务器权重,来选取需要对所述业务请求进行处理的服务器;建立与所选取的服务器的连接;使用所建立的连接来调用所述第三方接口,并且返回第三方接口数据;根据所述第三方接口数据,对所述服务器的权重进行动态调整;以及对所述第三方接口数据进行处理,并且将所处理的第三方接口数据返回给所述业务请求方。2.根据权利要求1所述的基于动态权重调整的负载均衡的方法,其特征在于,所述服务器权重是预先定义的。3.根据权利要求1所述的基于动态权重调整的负载均衡的方法,其特征在于,选取需要对所述业务请求进行处理的服务器能够采用轮询方式或随机方式。4.根据权利要求2所述的基于动态权重调整的负载均衡的方法,其特征在于,所述服务器权重的值的范围是0至100。5.根据权利要求1所述的基于动态权重调整的负载均衡的方法,其特征在于,对所述服务器的权重进行动态调整包括:当服务器提供的服务出现超时,权重减小第一预定值;并且当所述服务器提供的服务正常时,权重增加第二预定值。6.根据权利要求1所述的基于动态权重调整的负载均衡的方法,其特征在于,对所述服务器的权重进行动态调整包括:在所述业务数据存在异常的情况下,权重减小第一预定值;并且在所述业务数据正常的情况下,权重增加第二预定值。7.根据权利要求5或6所述的基于动态权重调整的负载均衡的方法,其特征在于,所述第一预定值大于所述第二预定值。8.根据权利要求4至6中的任何一项所述的基于动态权重调整的负载均衡的方法,其特征在于,所述第一预定值、所述第二预定值和所述服务器权重的值的范围是根据系统处理的细腻程度来定义的。9.一种基于动态权重调整的负载均衡的装置,其特征在于,包括:接收模块,用于从业务请求方接收业务请求;获取模块,用于根据所述业务请求确定了需要调用所述第三方接口的情况下,获取第三方接口服务的服务器权重;选取模块,用于根据所获取的第三方接口服务的服务器权重,来选取需要对...

【专利技术属性】
技术研发人员:贺长荣
申请(专利权)人:北京京东尚科信息技术有限公司北京京东世纪贸易有限公司
类型:发明
国别省市:北京,11

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

1