CN108667882A - 基于动态权重调整的负载均衡方法、装置和电子设备 - Google Patents

基于动态权重调整的负载均衡方法、装置和电子设备 Download PDF

Info

Publication number
CN108667882A
CN108667882A CN201710211843.XA CN201710211843A CN108667882A CN 108667882 A CN108667882 A CN 108667882A CN 201710211843 A CN201710211843 A CN 201710211843A CN 108667882 A CN108667882 A CN 108667882A
Authority
CN
China
Prior art keywords
weight
server
party
interface
service
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201710211843.XA
Other languages
English (en)
Other versions
CN108667882B (zh
Inventor
贺长荣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Jingdong Century Trading Co Ltd, Beijing Jingdong Shangke Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN201710211843.XA priority Critical patent/CN108667882B/zh
Publication of CN108667882A publication Critical patent/CN108667882A/zh
Application granted granted Critical
Publication of CN108667882B publication Critical patent/CN108667882B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Telephonic Communication Services (AREA)

Abstract

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

Description

基于动态权重调整的负载均衡方法、装置和电子设备
技术领域
本发明涉及通信技术领域,具体地涉及一种基于动态权重调整的负载均衡方法、装置、电子设备和可读存储介质。
背景技术
分布式系统(distributed system)架构是建立在网络上的系统。在分布式系统架构中,用户对于数据是分布的这一特征敏感度很低,也就是说,用户并不知道知道数据存在于哪个站点或节点以及业务在哪个站点或节点上执行等。分布式系统通常拥有多种通用的物理和逻辑资源。分布式物理和逻辑资源通过计算机网络实现信息交换。在分布式系统架构中,存在以全局的方式管理资源的分布式操作系统。
负载均衡(Load Balance)是分布式系统架构设计中必须考虑的问题,它将请求均匀的分摊到多个操作单元上执行。常见的负载均衡通常在客户端层、反向代理层以及服务层来实现;而针对调用第三方服务的负责均衡通常是在客户端实现的。通过采用负载均衡,可以保证系统资源不被浪费,并且能够保证均衡的数据处理。
当前,实现针对调用第三方服务的负载均衡的方法通常根据服务器硬件资源的配置情况(例如,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地址(IP Protocol Address:互联网协议地址)。IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一个主机分配一个逻辑地址,并且每个主机(Host)具有一个唯一的IP地址。
此后,在步骤S105处,根据在步骤S104中提供的服务器IP地址,建立与选定的服务器的连接。在步骤S106处,使用在步骤S105中建立的连接,调用第三方接口,并返回第三方接口数据。最后,在步骤S107处,对第三方接口数据进行处理,并且返回给业务请求方。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
首先,在现有技术中,根据服务器硬件资源配置情况来预先定义服务器的权重。然而,因为对接口服务的请求处理速度通常无法按照理想的情况进行划分,并且被调用的服务本身还有可能依赖于其它服务,所以导致了仅仅根据服务器硬件资源配置来预先定义服务器权重并不能完全满足负载均衡的要求,特别是在对负载均衡的需要特别突出的情况下。
其次,在现有技术中,如上所述,负载均衡是根据服务器硬件资源的配置来预先设置的。因此,用于负载均衡的权重分配无法根据各个服务器的运行情况进行动态地调整。因为在如上所述的现有技术的负载均衡处理中,具有相对大量的系统硬件资源的服务器需要处理更多的数据请求,所以这样的服务器往往处于相对较高负载的状态。然而,当请求量激增从而超过该服务器处理峰值时(即,当请求过载时),因为权重分配是预先定义的,所以仍然会对该服务器分配较多的数据请求,因此可能会导致服务器性能下降,甚至不可用,从而无法确保该服务器提供服务的可能性,进而影响对外提供的业务稳定性。
发明内容
有鉴于此,本发明实施例提供一种基于动态权重调整的负载均衡方法、装置、电子设备和可读存储介质,能够完全满足负载均衡的要求,并且实现对服务器的过载保护,保证系统稳定性,同时提升服务器资源的有效利用率。
为实现上述目的,根据本发明的一个方面,提供了一种基于动态权重调整的负载均衡方法。该方法包括:从业务请求方接收业务请求;在根据所述业务请求确定了需要调用所述第三方接口的情况下,获取第三方接口服务的服务器权重;根据所获取的第三方接口服务的服务器权重,来选取需要对所述业务请求进行处理的服务器;建立与所选取的服务器的连接;使用所建立的连接来调用所述第三方接口,并且返回第三方接口数据;根据所述第三方接口数据,对所述服务器的权重进行动态调整;以及对所述第三方接口数据进行处理,并且将所处理的第三方接口数据返回给所述业务请求方。
可选地,所述服务器权重是预先定义的。
可选地,选取需要对所述业务请求进行处理的服务器能够采用轮询方式或随机方式。
可选地,所述服务器权重的值在0至100的范围内;
可选地,对所述服务器的权重进行动态调整包括:当服务器提供的服务出现超时,权重减小第一预定值;并且当所述服务器提供的服务正常时,权重增加第二预定值。
可选地,对所述服务器的权重进行动态调整包括:在所述业务数据存在异常的情况下,权重减小第一预定值;并且在所述业务数据正常的情况下,权重增加第二预定值。
可选地,所述第一预定值大于所述第二预定值。
可选地,所述第一预定值、所述第二预定值和所述服务器权重的值的范围是根据系统处理的细腻程度来定义的。
为实现上述目的,根据本发明的另一个方面,提供了一种基于动态权重调整的负载均衡的装置。该装置包括:接收模块,用于从业务请求方接收业务请求;获取模块,用于根据所述业务请求确定了需要调用所述第三方接口的情况下,获取第三方接口服务的服务器权重;选取模块,用于根据所获取的第三方接口服务的服务器权重,来选取需要对所述业务请求进行处理的服务器;建立模块,用于建立与所选取的服务器的连接;调用和返回模块,用于使用所建立的连接来调用所述第三方接口,并且返回第三方接口数据;动态调整模块,用于根据所述第三方接口数据,对所述服务器的权重进行动态调整;处理模块,用于对所述第三方接口数据进行处理;以及发送模块,用于将所处理的第三方接口数据返回给所述业务请求方。
可选地,所述服务器权重是预先定义的。
可选地,所述选取模块采用轮询方式或随机方式来选取需要对所述业务请求进行处理的服务器。
可选地,所述服务器权重的值在0至100的范围内;
可选地,所述动态调整模块用于:当服务器提供的服务出现超时,权重减小第一预定值;并且当所述服务器提供的服务正常时,权重增加第二预定值。
可选地,所述动态调整模块用于:在所述业务数据存在异常的情况下,权重减小第一预定值;并且在所述业务数据正常的情况下,权重增加第二预定值。
可选地,所述第一预定值大于所述第二预定值。
可选地,所述第一预定值、所述第二预定值和所述服务器权重的值的范围是根据系统处理的细腻程度来定义的。
为实现上述目的,根据本发明的另一个方面,提供了一种电子设备。该电子设备包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明实施例的基于动态权重调整的负载均衡的方法。
为实现上述目的,根据本发明的另一个方面,提供了一种非暂态计算机可读存储介质。该非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行本发明实施例的基于动态权重调整的负载均衡的方法。
上述发明中的一个实施例具有如下优点或有益效果:提供服务的服务器权重大小的配置不仅仅取决于服务器硬件配置,而是还取决于服务器能够提供的服务质量来被动态地调整。因此,能够实现对服务器的过载保护,保障系统稳定性,同时提升服务器资源的有效利用率。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是示出根据现有技术的采用负载均衡时对业务请求进行处理的流程图;
图2是示出根据本发明实施例的系统架构图;
图3是示出根据本发明的实施例的采用负载均衡时对业务请求进行处理的流程图;
图4是示出根据本发明的实施例的采用负载均衡时对第三方调用请求处理的流程图;
图5是根据本发明实施例的基于动态权重调整的负载均衡装置的主要模块的示意图;
图6是根据本发明实施例的基于动态权重调整的负载均衡方法的电子设备的硬件结构示意图。
具体实施方式
以下结合附图对本发明的示例性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示例性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图2具体地示出了根据本发明实施例的系统架构图。在本发明的实施例中,系统架构主要包括应用系统201和第三方服务集群202。应用系统201和第三方服务集群202采用例如RPC(Remote Procedure Call Protocol:远程过程调用协议)通过网络进行通信。具体地,应用系统201向第三方服务集群202发送RPC调用信息,然后等待应答信息。在第三方服务集群202接收到RPC调用信息之后,向应用系统201返回答复信息。此后,应用系统201接收该答复信息,然后调用继续执行。
下面结合图2来对该应用系统201和第三方服务集群202之间的调用过程进行具体地说明。
如图2所示,应用系统201包括业务处理层2011、RPC层2012、权重处理器2014和连接池2013。第三方服务集群202包括多个服务实例,例如服务实例1 2021、服务实例22022…服务器实例2 202N。该第三方服务集群202是被调用的第三方接口的集合,用于处理调用请求并且返回处理的结果。
本发明的实施例的系统在应用系统201接收到业务请求时启动。具体地,应用系统201中的业务处理层2011接收来自用户的业务请求并对该业务请求进行处理,并且将处理结果返回给用户。在处理业务请求的过程中,业务处理层2011判断是否需要调用第三方接口来获取业务数据。在需要调用第三方接口的情况下,为了获取业务数据,业务处理层2011调用应用系统201中的RPC层的函数,来发起对第三方接口的调用。
RPC层2012被配置为供业务处理层2011调用。RPC层2012负责第三方接口的调用,并且将来自第三方服务集群202的数据返回给业务处理层2011。下面具体描述RPC层2012中的处理。首先,业务处理层2011通过RPC层的第三方接口调用函数发起对第三方接口的调用。此后,RPC层2012利用第三方接口调用函数从连接池2013中获取到第三方服务的链接,然后发起对第三方服务的调用,并且等待数据返回。RPC层2012根据数据返回的情况来调用权重处理器2014以进行权重的动态调整(将在下文中具体地描述对权重进行动态调整的规则)。然后,RPC层2012将所调整的权重写入权重处理器2014中。
权重处理器2014负责对权重进行存储和处理。具体地,在权重处理器2014所执行的存储过程中,针对每个接口,权重处理器2014以服务器为维度,用键-值对的方式存储每个服务器的权重。其中,键是每个服务器的IP地址,值是每个服务器的权重,并且权重的值的范围可以根据系统处理的细腻程度(灵敏度)来自由定义。优选地,权重的值的范围是0~100。
另一方面,在权重处理器2014所执行的处理过程中,权重处理器2014对权重所进行的处理包括两个处理:服务器权重调整和处理请求的服务器选取。以下将对这两个处理进行具体地说明。
服务器权重调整
服务器权重调整是按照权重动态调整规则来对服务器的权重进行调整。当权重发生变化时,将根据调整后的权重,按照新的分配比例将请求分配到服务器。现在,将具体地描述对服务器的权重进行动态调整的规则。在本申请的实施例中,为了负载均衡而对服务器的权重进行调整取决于被调用服务接口的服务器的处理能力。应当注意,在本申请的实施例中,服务器的处理能力不仅取决于服务器本身的硬件配置,而且取决于服务器在运行期间的状态。具体的权重动态调整规则如下所述:
在服务提供的服务出现超时或者业务数据异常的情况下,例如当返回数据为空时,每当异常情况出现一次,权重减小第一预定值,第一预定值可以例如为5;在服务提供的服务正常时,权重增加第二预定值,第二预定值可以例如为1。优选地,权重的值不大于100并且不小于0。
应当注意,对于权重的减小幅度(第一预定值)和增加幅度(第二预定值)可以被任意选择。优选地,权重的减小幅度通常大于权重的增加幅度,这是为了确保在系统出现问题时将影响减小到最低。
通过上述权重调整规则来根据被调用接口的服务器处理能力对服务器的权重进行动态调整,进而调整请求数据的分配比例,能够适当地实现对服务器过载保护,确保服务器提供服务的稳定性。
服务器选取
权重处理器2014根据其中所存储的服务器权重来选取处理当前接口调用请求的服务器的IP地址。选取方式可以采用加权随机法、加权轮训法等。然后,权重处理器2014将选定的服务器的IP地址提供给连接池2013,以用于建立与服务器的连接。
连接池2013负责第三方服务的链接管理。当RPC层2012调用第三方接口时,首先从连接池2013中获取提供服务的服务器链接。当建立连接时,连接池2013从权重处理器2014中获取需要对其建立连接的服务器的IP地址,并且然后根据IP地址来建立对与之相对应服务器的链接,并且返回给RPC层2012。
如图2中进一步所示,本发明实施例的系统架构还包括权重配置文件203。权重配置文件203存储权重的初始化配置。该权重的初始化配置的内容包括接口名称、接口对应的服务器IP列表以及每个IP地址的服务器所对应的权重值。当系统启动时,将权重配置文件203加载到应用系统201中的权重处理器2014中。
图3示出了根据本发明的实施例的采用负载均衡时对业务请求进行处理的流程图。图3与图1的不同之处在于步骤S301。在S301处,权重处理器2014执行对服务器权重的动态调整。图3中的与图1相同的附图标记表示与图1相同的步骤,因此省略其具体描述。下面将具体描述步骤S301中的处理。
在步骤S301中,权重处理器2014在调用第三方接口过程中,通过接口数据返回情况,动态地调整服务器的权重。上文中已经具体描述了对服务器权重进行动态调整的具体规则,即:在服务器提供的服务出现超时或者业务数据异常的情况下,例如当返回数据为空时,每当异常情况出现一次,权重减小第一预定值;在服务器提供的服务正常时,权重增加第二预定值。
接下来,将参考图4描述根据本发明的实施例的采用负载均衡时对第三方调用请求处理的流程图。在图4中具体地示出了各个功能模块在第三方调用请求处理中所执行的处理步骤。图4的流程图从步骤S401处开始。
在S402处,业务处理层2011接收业务请求,并且在步骤S403处确定该业务请求是否需要调用第三方接口。当确定了不需要调用第三方接口(S403:否)时,该流程前进到步骤S424。在步骤S424处,业务处理层2011进行业务流程处理,并且在步骤S425处返回请求数据。最后,该流程在步骤S426处结束。
接下来,将具体说明当在步骤S403处确定了需要调用第三方接口时的情况。当确定了需要调用第三方接口(S403:是)时,该流程前进到PRC层2012。在步骤S404处,通过RPC层2012调用第三方接口处理函数,该接口处理函数用于调用连接池2013的链接获取函数。然后,在连接池2013执行的步骤S405处,连接池2013根据链接获取函数,基于权重配置文件203中所包括的接口名称、接口对应的服务器IP列表以及每个IP对应的权重值等来获取连接。
此后,流程前进到权重处理器2014。在步骤S406处,权重处理器2014获取权重列表并且在步骤S407处选取提供服务的服务器IP地址。此后,流程返回到连接池2013。在步骤S408处,建立与第三方服务器的链接,并且在步骤S409处,将与第三方服务器的链接返回到RPC层2012。随后,RPC层2012在步骤S410处,发起对第三方服务的调用。
在第三方服务集群202执行的步骤S411处,第三方服务集群202接收接口调用请求,并且在步骤S412处对业务数据进行处理,并在步骤S413处,将数据返回到PRC层2012。
此时,RPC层2012等待接口数据的返回,并且在步骤S414处确定接口数据返回是否超时。在步骤S414处,RPC层2012确定了接口数据返回超时的情况下(S414:是),该流程进入步骤S416。在步骤S416中,权重处理器2014确定已经连接的服务器的权重值是否为权重范围的下限,例如0。如果步骤S416的确定结果为否,则在步骤S417中,权重处理器2014将该权重值减小第一预定值,例如5,并且将修改后的权重值发送到RPC层2012。此后,该流程前进到步骤S421。如果步骤S416的确定结果为是,则该流程直接前进到步骤S421。步骤S421中,RPC层2012记录接口调用异常的日志。此后,RPC层2012在步骤S422处将数据返回到业务处理器2011。
在确定接口数据返回没有超时的情况下(S414:否),RPC层2012在步骤S415处继续确定业务数据是否存在异常。如果RPC层2012确定了业务数据存在异常(S415:是),例如,如果PRC层2012确定了业务数据为空,则该流程进入步骤S416;如果RPC层2012确定了业务数据不存在异常(S415:否),则该流程继续到步骤S418。
在步骤S418处,权重处理器2014确定已经连接的服务器的权重值是否为权重范围的上限,例如100。如果权重处理器2014确定了已经连接的服务器的权重值是权重范围的上限,则RPC层2012在步骤S420处对业务数据进行处理,并且在步骤S422处将数据返回到业务处理器2011。如果权重处理器2014确定了已经连接的服务器的权重值不是权重范围的上限,则权重处理器2014使该权重值减小第二预定值,例如1,并且将修改后的权重值发送到RPC层2012。此后,进入步骤S420以由RPC层2012对业务数据进行处理,并且在步骤S422处将数据返回到业务处理器2011。
此时,该流程前进到步骤S423。在步骤S423处,业务处理器2011获取第三方接口返回的业务数据。然后,该流程前进到步骤S424。在步骤S424处,业务处理层2011进行业务流程处理,并且在步骤S425处返回请求数据。最后,该流程在步骤S426处结束。
图5是根据本发明实施例的基于动态权重调整的负载均衡装置的主要模块的示意图。
如图5所示,本发明实施例的负载均衡装置500主要包括:接收模块501、确定模块502、获取模块503、选取模块504、建立模块505、调用和返回模块506、动态调整模块507、数据处理模块508和发送模块509。其中:
接收模块501用于从业务请求方接收业务请求;确定模块502用于在接收到所述业务请求之后,确定是否需要调用第三方接口;获取模块503用于在确定了需要调用所述第三方接口的情况下,获取第三方接口服务的服务器权重;选取模块504用于根据所获取的第三方接口服务的服务器权重,来选取需要对所述业务请求进行处理的服务器;建立模块505用于建立与所选取的服务器的连接;调用和返回模块506用于使用所建立的连接来调用所述第三方接口,并且返回第三方接口数据;动态调整模块507用于根据所述第三方接口数据,对所述服务器的权重进行动态调整;数据处理模块508用于对所述第三方接口数据进行处理;并且发送模块509用于将所处理的第三方接口数据返回给所述业务请求方。
此外,选取模块504采用轮询方式或随机方式来选取需要对所述业务请求进行处理的服务器。
本发明实施例中,服务器权重是预先定义的,并且服务器权重的值在0至100的范围内。
需要说明的是,动态调整507模块被配置为,当服务器提供的服务出现超时,权重减小第一预定值;并且当服务器提供的服务正常时,权重增加第二预定值。而且,动态调整507模块还被配置为,在业务数据存在异常的情况下,权重减小第一预定值;并且在业务数据正常的情况下,权重增加第二预定值。其中,第一预定值大于第二预定值,而且,第一预定值、第二预定值和服务器权重的值的范围是根据系统处理的细腻程度来定义的。
从以上描述可以看出,提供服务的服务器权重大小的配置不仅仅取决于服务器硬件配置,而是还取决于服务器能够提供的服务质量来被动态地调整。因此,能够实现对服务器的过载保护,保障系统稳定性,同时提升服务器资源的有效利用率。
根据本发明的实施例,本发明还提供了一种电子设备和一种可读存储介质。
本发明的电子设备包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行本发明所提供的基于动态权重调整的负载均衡的方法。
本发明的非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行本发明所提供的基于动态权重调整的负载均衡的方法。
如图6所示,是根据本发明实施例的基于动态权重调整的负载均衡的方法的电子设备的硬件结构示意图。如图6,该电子设备600包括:一个或多个处理器601以及存储器602,图6中以一个处理器601为例。其中,存储器602即为本发明所提供的非暂态计算机可读存储介质。
基于动态权重调整的负载均衡的方法的电子设备还可以包括:输入装置603和输出装置603。
处理器601、存储器602、输入装置603和输出装置604可以通过总线或者其他方式连接,图6中以通过总线连接为例。
存储器602作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明实施例中的基于动态权重调整的负载均衡的方法对应的程序指令/模块(例如,图5所示的接收模块501、确定模块502、获取模块503、选取模块504、建立模块505、调用和返回模块506、动态调整模块507、数据处理模块508和发送模块509)。处理器601通过运行存储在存储器X2中的非暂态软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的基于动态权重调整的负载均衡的方法。
存储器602可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据基于动态权重调整的负载均衡的装置的使用所创建的数据等。此外,存储器602可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器602可选包括相对于处理器601远程设置的存储器,这些远程存储器可以通过网络连接至基于动态权重调整的负载均衡的装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置603可接收输入的数字或字符信息,以及产生与基于动态权重调整的负载均衡的装置的用户设置以及功能控制有关的键信号输入。输出装置604可包括显示屏等显示设备。
所述一个或者多个模块存储在所述存储器602中,当被所述一个或者多个处理器601执行时,执行上述任意方法实施例中的基于动态权重调整的负载均衡的方法。
上述产品可执行本发明实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明实施例所提供的方法。
根据本发明实施例的技术方案,提供服务的服务器权重大小的配置不仅仅取决于服务器硬件配置,而是还取决于服务器能够提供的服务质量来被动态地调整。因此,能够实现对服务器的过载保护,保障系统稳定性,同时提升服务器资源的有效利用率。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (18)

1.一种基于动态权重调整的负载均衡的方法,其特征在于,包括:
从业务请求方接收业务请求;
在根据所述业务请求确定了需要调用所述第三方接口的情况下,获取第三方接口服务的服务器权重;
根据所获取的第三方接口服务的服务器权重,来选取需要对所述业务请求进行处理的服务器;
建立与所选取的服务器的连接;
使用所建立的连接来调用所述第三方接口,并且返回第三方接口数据;
根据所述第三方接口数据,对所述服务器的权重进行动态调整;以及
对所述第三方接口数据进行处理,并且将所处理的第三方接口数据返回给所述业务请求方。
2.根据权利要求1所述的基于动态权重调整的负载均衡的方法,其特征在于,所述服务器权重是预先定义的。
3.根据权利要求1所述的基于动态权重调整的负载均衡的方法,其特征在于,选取需要对所述业务请求进行处理的服务器能够采用轮询方式或随机方式。
4.根据权利要求2所述的基于动态权重调整的负载均衡的方法,其特征在于,所述服务器权重的值的范围是0至100。
5.根据权利要求1所述的基于动态权重调整的负载均衡的方法,其特征在于,对所述服务器的权重进行动态调整包括:当服务器提供的服务出现超时,权重减小第一预定值;并且当所述服务器提供的服务正常时,权重增加第二预定值。
6.根据权利要求1所述的基于动态权重调整的负载均衡的方法,其特征在于,对所述服务器的权重进行动态调整包括:在所述业务数据存在异常的情况下,权重减小第一预定值;并且在所述业务数据正常的情况下,权重增加第二预定值。
7.根据权利要求5或6所述的基于动态权重调整的负载均衡的方法,其特征在于,所述第一预定值大于所述第二预定值。
8.根据权利要求4至6中的任何一项所述的基于动态权重调整的负载均衡的方法,其特征在于,所述第一预定值、所述第二预定值和所述服务器权重的值的范围是根据系统处理的细腻程度来定义的。
9.一种基于动态权重调整的负载均衡的装置,其特征在于,包括:
接收模块,用于从业务请求方接收业务请求;
获取模块,用于根据所述业务请求确定了需要调用所述第三方接口的情况下,获取第三方接口服务的服务器权重;
选取模块,用于根据所获取的第三方接口服务的服务器权重,来选取需要对所述业务请求进行处理的服务器;
建立模块,用于建立与所选取的服务器的连接;
调用和返回模块,用于使用所建立的连接来调用所述第三方接口,并且返回第三方接口数据;
动态调整模块,用于根据所述第三方接口数据,对所述服务器的权重进行动态调整;
处理模块,用于对所述第三方接口数据进行处理;以及
发送模块,用于将所处理的第三方接口数据返回给所述业务请求方。
10.根据权利要求9所述的基于动态权重调整的负载均衡的装置,其特征在于,所述服务器权重是预先定义的。
11.根据权利要求9所述的基于动态权重调整的负载均衡的装置,其特征在于,所述选取模块采用轮询方式或随机方式来选取需要对所述业务请求进行处理的服务器。
12.根据权利要求10所述的基于动态权重调整的负载均衡的装置,其特征在于,所述服务器权重的值在0至100的范围内。
13.根据权利要求9所述的基于动态权重调整的负载均衡的装置,其特征在于,所述动态调整模块用于:当服务器提供的服务出现超时,权重减小第一预定值;并且当所述服务器提供的服务正常时,权重增加第二预定值。
14.根据权利要求9所述的基于动态权重调整的负载均衡的装置,其特征在于,所述动态调整模块用于:在所述业务数据存在异常的情况下,权重减小第一预定值;并且在所述业务数据正常的情况下,权重增加第二预定值。
15.根据权利要求13或14所述的基于动态权重调整的负载均衡的装置,其特征在于,所述第一预定值大于所述第二预定值。
16.根据权利要求12至14中的任何一项所述的基于动态权重调整的负载均衡的装置,其特征在于,所述第一预定值、所述第二预定值和所述服务器权重的值的范围是根据系统处理的细腻程度来定义的。
17.一种电子设备,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-8中任一项所述的方法。
18.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行权利要求1-8中任一项所述的方法。
CN201710211843.XA 2017-04-01 2017-04-01 基于动态权重调整的负载均衡方法、装置和电子设备 Active CN108667882B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710211843.XA CN108667882B (zh) 2017-04-01 2017-04-01 基于动态权重调整的负载均衡方法、装置和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710211843.XA CN108667882B (zh) 2017-04-01 2017-04-01 基于动态权重调整的负载均衡方法、装置和电子设备

Publications (2)

Publication Number Publication Date
CN108667882A true CN108667882A (zh) 2018-10-16
CN108667882B CN108667882B (zh) 2021-04-30

Family

ID=63784111

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710211843.XA Active CN108667882B (zh) 2017-04-01 2017-04-01 基于动态权重调整的负载均衡方法、装置和电子设备

Country Status (1)

Country Link
CN (1) CN108667882B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110290222A (zh) * 2019-07-16 2019-09-27 北京奇艺世纪科技有限公司 一种请求消息处理方法及装置
CN110399178A (zh) * 2019-06-14 2019-11-01 五八有限公司 一种第三方服务的调用方法、装置、电子设备和存储介质
CN112256432A (zh) * 2020-10-29 2021-01-22 北京达佳互联信息技术有限公司 服务过载的处理方法、装置、电子设备及存储介质
CN113157447A (zh) * 2021-04-13 2021-07-23 中南大学 一种基于智能网卡的rpc负载均衡方法
CN114205361A (zh) * 2021-12-08 2022-03-18 聚好看科技股份有限公司 一种负载均衡方法以及服务器
CN114268615A (zh) * 2021-12-24 2022-04-01 成都知道创宇信息技术有限公司 基于tcp连接的业务处理方法和系统
CN115190066A (zh) * 2022-06-02 2022-10-14 武汉众邦银行股份有限公司 一种基于加权随机算法的计算路由权重比例方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080195755A1 (en) * 2007-02-12 2008-08-14 Ying Lu Method and apparatus for load balancing with server state change awareness
CN101364930A (zh) * 2008-09-24 2009-02-11 深圳市金蝶中间件有限公司 会话控制方法、装置及系统
CN102541655A (zh) * 2010-12-31 2012-07-04 中国银联股份有限公司 一种实现动态负载均衡的方法和装置
CN103442030A (zh) * 2013-07-31 2013-12-11 北京京东尚科信息技术有限公司 发送和处理业务请求信息的方法和系统以及客户端装置
CN104683253A (zh) * 2013-11-27 2015-06-03 北京大唐高鸿数据网络技术有限公司 用于统一通信系统的动态负载均衡方法
CN104780210A (zh) * 2015-04-13 2015-07-15 杭州华三通信技术有限公司 负载均衡方法以及装置
CN105208133A (zh) * 2015-10-20 2015-12-30 上海斐讯数据通信技术有限公司 一种服务器、负载均衡器以及服务器负载均衡方法和系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080195755A1 (en) * 2007-02-12 2008-08-14 Ying Lu Method and apparatus for load balancing with server state change awareness
CN101364930A (zh) * 2008-09-24 2009-02-11 深圳市金蝶中间件有限公司 会话控制方法、装置及系统
CN102541655A (zh) * 2010-12-31 2012-07-04 中国银联股份有限公司 一种实现动态负载均衡的方法和装置
CN103442030A (zh) * 2013-07-31 2013-12-11 北京京东尚科信息技术有限公司 发送和处理业务请求信息的方法和系统以及客户端装置
CN104683253A (zh) * 2013-11-27 2015-06-03 北京大唐高鸿数据网络技术有限公司 用于统一通信系统的动态负载均衡方法
CN104780210A (zh) * 2015-04-13 2015-07-15 杭州华三通信技术有限公司 负载均衡方法以及装置
CN105208133A (zh) * 2015-10-20 2015-12-30 上海斐讯数据通信技术有限公司 一种服务器、负载均衡器以及服务器负载均衡方法和系统

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110399178A (zh) * 2019-06-14 2019-11-01 五八有限公司 一种第三方服务的调用方法、装置、电子设备和存储介质
CN110399178B (zh) * 2019-06-14 2022-09-27 五八有限公司 一种第三方服务的调用方法、装置、电子设备和存储介质
CN110290222A (zh) * 2019-07-16 2019-09-27 北京奇艺世纪科技有限公司 一种请求消息处理方法及装置
CN112256432A (zh) * 2020-10-29 2021-01-22 北京达佳互联信息技术有限公司 服务过载的处理方法、装置、电子设备及存储介质
CN113157447A (zh) * 2021-04-13 2021-07-23 中南大学 一种基于智能网卡的rpc负载均衡方法
CN113157447B (zh) * 2021-04-13 2023-08-29 中南大学 一种基于智能网卡的rpc负载均衡方法
CN114205361A (zh) * 2021-12-08 2022-03-18 聚好看科技股份有限公司 一种负载均衡方法以及服务器
CN114205361B (zh) * 2021-12-08 2023-10-27 聚好看科技股份有限公司 一种负载均衡方法以及服务器
CN114268615A (zh) * 2021-12-24 2022-04-01 成都知道创宇信息技术有限公司 基于tcp连接的业务处理方法和系统
CN114268615B (zh) * 2021-12-24 2023-08-08 成都知道创宇信息技术有限公司 基于tcp连接的业务处理方法和系统
CN115190066A (zh) * 2022-06-02 2022-10-14 武汉众邦银行股份有限公司 一种基于加权随机算法的计算路由权重比例方法
CN115190066B (zh) * 2022-06-02 2023-07-07 武汉众邦银行股份有限公司 一种基于加权随机算法的计算路由权重比例方法

Also Published As

Publication number Publication date
CN108667882B (zh) 2021-04-30

Similar Documents

Publication Publication Date Title
CN108667882A (zh) 基于动态权重调整的负载均衡方法、装置和电子设备
US20210149737A1 (en) Method for fast scheduling for balanced resource allocation in distributed and collaborative container platform environment
US11838199B1 (en) System and method for deploying, scaling and managing network endpoint groups in cloud computing environments
US20190109768A1 (en) Management of network slices and associated services
US7558859B2 (en) Peer-to-peer auction based data distribution
JP5582344B2 (ja) 接続管理システム、及びシンクライアントシステムにおける接続管理サーバの連携方法
US11928514B2 (en) Systems and methods providing serverless DNS integration
US9071609B2 (en) Methods and apparatus for performing dynamic load balancing of processing resources
WO2022160886A1 (en) Task allocation method, apparatus, storage medium, and electronic device
CN112513816B (zh) 函数即服务(faas)执行分配器
CN107078969A (zh) 实现负载均衡的计算机设备、系统和方法
CN108833462A (zh) 一种面向微服务的自注册服务发现的系统及方法
WO2018201856A1 (en) System and method for self organizing data center
WO2021254331A1 (zh) 资源管理方法、系统、代理服务器及存储介质
CN102970379A (zh) 在多个服务器之间实现负载均衡的方法
CN107534981A (zh) 资源重分配
US8458702B1 (en) Method for implementing user space up-calls on java virtual machine before/after garbage collection
US7827141B2 (en) Dynamically sizing buffers to optimal size in network layers when supporting data transfers related to database applications
US10656966B1 (en) Deep-inspection weighted round robin of multiple virtualized resources
US20110153826A1 (en) Fault tolerant and scalable load distribution of resources
CN116800825A (zh) 一种基于微服务拆分的调用方法、装置、设备及介质
US11314559B2 (en) Method for balanced scale out of resources in distributed and collaborative container platform environment
US20200153749A1 (en) Biased selection of dedicated physical connections to provider network
CN107196800B (zh) 一种基于配置的超时分层控制方法
US8274890B2 (en) Method and device for distributing connections towards a receiving domain

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant