CN116192858B - 一种基于加权流量的负载均衡方法及装置 - Google Patents

一种基于加权流量的负载均衡方法及装置 Download PDF

Info

Publication number
CN116192858B
CN116192858B CN202310129008.7A CN202310129008A CN116192858B CN 116192858 B CN116192858 B CN 116192858B CN 202310129008 A CN202310129008 A CN 202310129008A CN 116192858 B CN116192858 B CN 116192858B
Authority
CN
China
Prior art keywords
server
load
server node
weighted
node
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.)
Active
Application number
CN202310129008.7A
Other languages
English (en)
Other versions
CN116192858A (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.)
Tongming Zhiyun Beijing Technology Co ltd
Original Assignee
Tongming Zhiyun Beijing 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 Tongming Zhiyun Beijing Technology Co ltd filed Critical Tongming Zhiyun Beijing Technology Co ltd
Priority to CN202310129008.7A priority Critical patent/CN116192858B/zh
Publication of CN116192858A publication Critical patent/CN116192858A/zh
Application granted granted Critical
Publication of CN116192858B publication Critical patent/CN116192858B/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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种基于加权流量的负载均衡方法及装置,该方法包括:对服务器集群进行初始化设置,构建加权流量数据结构并初始化;根据加权流量数据结构,获取并统计各服务器节点的加权流量数据信息;所述服务器集群接收任务请求,根据所述加权流量数据信息,对所述服务器集群内的各服务器节点进行负载均衡处理,并确定目标服务器节点;将所述任务请求分配至所述目标服务器节点进行处理,并返回处理结果。从而实现了基于加权流量,对后端服务器的动态负载均衡调度,确保数据在多服务器间高效流通,进而提升服务器集群的负载均衡可靠性,以及任务处理的灵活性和性能。

Description

一种基于加权流量的负载均衡方法及装置
技术领域
本申请涉及数据库技术领域,更具体地,涉及一种基于加权流量的负载均衡方法及装置。
背景技术
负载均衡,英文名称为LoadBalance,其含义就是指将同类负载(工作任务)进行平衡、分摊到多个操作单元上进行运行,例如FTP服务器、Web服务器、企业核心应用服务器和其它主要任务服务器等,从而协同完成工作任务。负载均衡构建在原有网络结构之上,它提供了一种透明且廉价有效的方法扩展服务器和网络设备的带宽、加强网络数据处理能力、增加吞吐量、提高网络的可用性和灵活性。
目前已有的负载均衡方法主要有轮询、随机、HASH、最小连接、最小响应时间等,这些方法都存在一个问题,即未实现基于流量的负载均衡调度,从后端服务器响应流量均衡角度,把海量客户并发的请求包按流量均衡的策略分派到不同的服务端程序实例,均衡的结果导致后端服务器流量负载不均衡。因此,如何基于加权流量的完成对后端服务器的负载均衡调度已经成为本领域所面临的一个技术难题。
基于此,有必要引入一种新的方法及装置,基于加权流量,从后端服务器响应流量均衡角度,把海量客户并发的请求包按流量均衡的策略分派到不同的服务端程序实例,以解决现有技术中后端服务器流量负载不均衡的技术难题,有效地实现对后端服务器的负载均衡调度,确保数据在多服务器间高效流通,进而提升服务器集群的负载均衡可靠性,以及任务处理的灵活性和性能。
发明内容
针对上面提到的技术问题,本发明提供一种基于加权流量的负载均衡方法及装置,根据加权流量数据结构,实时统计获取各后端服务器节点的加权流量数据信息,并根据所述加权流量数据信息,对所述服务器集群内的各服务器节点进行负载均衡处理;在处理任务请求时,快速从集群的多个后端服务器节点中准确的确定高性能的目标服务器节点,高效地完成所述任务请求的处理工作,实现了基于加权流量的负载均衡;另外,从后端服务器响应流量均衡角度,把海量客户并发的请求包按流量均衡的策略分派到不同的服务端程序实例,解决了现有技术中后端服务器流量负载不均衡的技术难题,有效地实现对后端服务器的负载均衡调度,确保数据在多服务器间高效流通,进而提升服务器集群的负载均衡可靠性,以及任务处理的灵活性和性能。
本发明提供一种基于加权流量的负载均衡方法,所述方法应用于由服务器节点构成的集群中,所述方法包括:
S101,对服务器集群进行初始化设置,构建加权流量数据结构并初始化;
S102,根据加权流量数据结构,获取并统计各服务器节点的加权流量数据信息;
S103,所述服务器集群接收任务请求,根据所述加权流量数据信息,对所述服务器集群内的各服务器节点进行负载均衡处理,并确定目标服务器节点;
S104,将所述任务请求分配至所述目标服务器节点进行处理,并返回处理结果。
如上所述,所述加权流量数据结构包括9个字段,分别为服务器节点数量、服务器节点编号、权值、负载阈值、总流量字节数、平均字节数、连接数、初始阈值和流量统计周期;
设,所述服务器节点数量为m,所述服务器节点编号为Sn,所述总流量字节数为ZBS(Sn),所述平均字节数为V(Sn),所述权值为W(Sn),所述连接数为LJS(Sn),所述初始阈值为X,所述流量统计周期为T,则
Sn={S1,S2,S3…Sn-2,Sn-1},
ZBS(Sn)={ZBS(S1),ZBS(S2),…ZBS(Sn-2),ZBS(Sn-1)},
V(Sn)=ZBS(Sn)/LJS(Sn),
W(Sn)={W(S1),W(S2),…W(Sn-2),W(Sn-1)},
其中,1≤n≤m。
如上所述,对服务器集群进行初始化的步骤包括:
统计所述服务器集群内的所述服务器节点数量;
基于所述服务器节点数量,对所述服务器集群内的所有服务器节点的所述服务器节点编号、所述权值W(Sn)、所述负载阈值、所述初始阈值X和所述流量统计周期T进行初始化设置;
其中,所述初始阈值X等于所述权值W(Sn)。
如上所述,所述S102,根据加权流量数据结构,获取并统计各服务器节点的加权流量数据信息的步骤包括:
所述服务器集群根据所述加权流量数据结构,获取所述服务器集群内的所述服务器节点数量m,以及各服务器节点的所述服务器节点编号Sn、所述总流量字节数ZBS(Sn)、所述权值W(Sn)、所述连接数LJS(Sn)和所述流量统计周期为T,并计算更新所述平均字节数V(Sn)和所述阈值X,生成所述加权流量数据信息。
如上所述,所述S103,所述服务器集群接收任务请求,根据所述加权流量数据信息,对所述服务器集群内的各服务器节点进行负载均衡处理,并确定目标服务器节点的步骤包括:
所述服务器集群接收所述任务请求,并对所述任务请求进行解析得到执行任务;
基于所述服务器编号,获取所述服务器节点的所述负载阈值,以及当前所述权值W(Sn)和所述连接数LJS(Sn),确定各所述服务器节点的负载状态;
若所述服务器集群内的所有所述服务器节点的负载状态均为“超载”,则所述执行任务将被挂起等待处理;
若所述服务器集群内的存在负载状态为“正常”的所述服务器节点,则根据所述服务器集群内各所述服务器节点的所述负载状态和所述加权流量数据信息,对全部所述服务器节点进行所述负载均衡处理,从所述服务器节点中确定所述目标服务器节点;
其中,
所述服务器节点的负载状态包括2种,分别为“超载”和“正常”;
所述负载均衡处理包括三种方式,分别为基于加权最小连接数负载处理、基于加权轮询负载处理和基于加权流量负载处理。
如上所述,所述基于所述服务器编号,获取所述服务器节点的所述负载阈值,以及当前所述权值W(Sn)和所述连接数LJS(Sn),确定各所述服务器节点的负载状态的步骤包括:
若LJS(Sn)/W(Sn)大于或等于所述负载阈值,则所述服务器节点的负载状态为“超载”;
若LJS(Sn)/W(Sn)小于所述负载阈值,则所述服务器节点的负载状态为“正常”。
如上所述,所述基于加权最小连接数负载处理的步骤为:
根据所述权值,从全部负载状态为“正常”的所述服务器节点中确定权值最大的所述服务器节点为当前节点,并获取所述当前节点的所述服务器节点编号为SK、所述平均字节数为V(Sk)和所述权值为W(Sk);
基于所述当前节点,对全部负载状态为“正常”的所述服务器节点进行遍历,并根据V(SK)*W(Sn)与V(Sn)*W(SK)的比较结果,确定所述目标服务器节点;
其中,
当V(SK)*W(Sn)大于或等于V(Sn)*W(SK)时,确定所述服务器节点编号为Sn的所述服务器节点为所述目标服务器节点;
当V(SK)*W(Sn)小于V(Sn)*W(SK)时,确定所述当前节点为所述目标服务器节点。
如上所述,所述基于加权轮询负载处理的步骤为:
基于所述流量统计周期T,获取全部负载状态为“正常”的所述服务器节点的所述平均字节数V(Sn),并计算得到单位时间平均字节数,
所述单位时间平均字节数=V(Sn)/T;
比较所述单位时间平均字节数与所述初始阈值X,并根据比较结果对负载状态为“正常”的所述服务器节点进行遍历,确定所述目标服务器节点;
其中,
当所述单位时间平均字节数大于或等于所述初始阈值X时,继续对负载状态为“正常”的其它所述服务器节点进行遍历;
当所述单位时间平均字节数小于所述初始阈值X时,确定所述服务器节点为所述目标服务器节点;
若遍历结束,仍未确定所述目标服务器节点,则所述执行任务将被挂起等待处理,并继续对负载状态为“正常”的所有所述服务器节点进行重新遍历。
如上所述,所述基于加权流量负载处理的步骤为:
获取时间周期为所述流量统计周期T时间范围内的全部负载状态为“正常”的所述服务器节点的所述平均字节数V(Sn),以及所述权值W(Sn);
根据V(Sn)/W(Sn)的比值,从小到大的顺序对全部负载状态为“正常”的所述服务器节点进行排序,确定V(Sn)/W(Sn)的比值最小的所述服务器节点为所述目标服务器节点;
其中,
若至少存在2个V(Sn)/W(Sn)的比值均为最小的所述服务器节点,则选择所述服务器节点编号小的所述服务器节点为所述目标服务器节点。
相应的,本发明还提供了一种基于加权流量的负载均衡装置,所述装置应用于由服务器节点构成的集群中,所述装置包括初始化单元、获取单元、处理单元和返回单元;
其中,
所述初始化单元,用于对服务器集群进行初始化设置,构建加权流量数据结构并初始化;
所述获取单元,用于根据加权流量数据结构,获取并统计各服务器节点的加权流量数据信息;
所述处理单元,用于所述服务器集群接收任务请求,根据所述加权流量数据信息,对所述服务器集群内的各服务器节点进行负载均衡处理,并确定目标服务器节点;
所述返回单元,用于将所述任务请求分配至所述目标服务器节点进行处理,并返回处理结果。
本发明通过应用以上技术方案,根据加权流量数据结构,实时统计获取各后端服务器节点的加权流量数据信息,并根据所述加权流量数据信息,对所述服务器集群内的各服务器节点进行负载均衡处理;在处理任务请求时,快速从集群的多个后端服务器节点中准确的确定高性能的目标服务器节点,高效地完成所述任务请求的处理工作,实现了基于加权流量的负载均衡;另外,从后端服务器响应流量均衡角度,把海量客户并发的请求包按流量均衡的策略分派到不同的服务端程序实例,解决了现有技术中后端服务器流量负载不均衡的技术难题,有效地实现对后端服务器的负载均衡调度,确保数据在多服务器间高效流通,进而提升服务器集群的负载均衡可靠性,以及任务处理的灵活性和性能。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本发明实施例提出的一种基于加权流量的负载均衡方法的流程示意图;
图2示出了本发明实施例提出的一种基于加权流量的负载均衡装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本发明提供了一种基于加权流量的负载均衡方法,应用于由服务器节点构成的集群中,如图1所示,所述方法包括以下步骤:
S101,对服务器集群进行初始化设置,构建加权流量数据结构并初始化。
本实施例中,所述加权流量数据结构包括9个字段,分别为服务器节点数量、服务器节点编号、权值、负载阈值、总流量字节数、平均字节数、连接数、初始阈值和流量统计周期。
设,所述服务器节点数量为m,所述服务器节点编号为Sn,所述总流量字节数为ZBS(Sn),所述平均字节数为V(Sn),所述权值为W(Sn),所述连接数为LJS(Sn),所述初始阈值为X,所述流量统计周期为T,则
Sn={S1,S2,S3…Sn-2,Sn-1},
ZBS(Sn)={ZBS(S1),ZBS(S2),…ZBS(Sn-2),ZBS(Sn-1)},
V(Sn)=ZBS(Sn)/LJS(Sn),
W(Sn)={W(S1),W(S2),…W(Sn-2),W(Sn-1)},
其中,1≤n≤m。
值得说明的是,在一些具体实施例应用中,为了确保设置的所述权值W(Sn)和所述流量统计周期T更精确,系统管理员可以根据系统性能要求或业务需求对所述权值W(Sn)和所述流量统计周期T进行按需动态设置。例如,系统管理员可以动态设置服务器的权值,并设置缺省权值为1秒,系统管理员也可以根据不同服务器的处理能力动态设置服务器的权值,并设置缺省权值为1。根据所述流量统计周期T,分别统计所述服务器节点编号为S1的所述服务器节点在T1时刻和T2时刻的总流量字节数为ZBS(Sn),并分别记为T1_ZBS(S1)和T1_ZBS(S2),则
单位时间内的平均字节数=(T1_ZBS(S1)-T1_ZBS(S2))/(T2-T1)。
本实施例中,对服务器集群进行初始化的步骤包括:
统计所述服务器集群内的所述服务器节点数量;
基于所述服务器节点数量,对所述服务器集群内的所有服务器节点的所述服务器节点编号、所述权值W(Sn)、所述负载阈值、所述初始阈值X和所述流量统计周期T进行初始化设置;
其中,所述初始阈值X等于所述权值W(Sn)。
S102,根据加权流量数据结构,获取并统计各服务器节点的加权流量数据信息。
本实施例中,所述S102,根据加权流量数据结构,获取并统计各服务器节点的加权流量数据信息的步骤包括:
所述服务器集群根据所述加权流量数据结构,获取所述服务器集群内的所述服务器节点数量m,以及各服务器节点的所述服务器节点编号Sn、所述总流量字节数ZBS(Sn)、所述权值W(Sn)、所述连接数LJS(Sn)和所述流量统计周期为T,并计算更新所述平均字节数V(Sn)和所述阈值X,生成所述加权流量数据信息。
S103,所述服务器集群接收任务请求,根据所述加权流量数据信息,对所述服务器集群内的各服务器节点进行负载均衡处理,并确定目标服务器节点。
本实施例中,所述S103,所述服务器集群接收任务请求,根据所述加权流量数据信息,对所述服务器集群内的各服务器节点进行负载均衡处理,并确定目标服务器节点的步骤包括:
所述服务器集群接收所述任务请求,并对所述任务请求进行解析得到执行任务;
基于所述服务器编号,获取所述服务器节点的所述负载阈值,以及当前所述权值W(Sn)和所述连接数LJS(Sn),确定各所述服务器节点的负载状态;
若所述服务器集群内的所有所述服务器节点的负载状态均为“超载”,则所述执行任务将被挂起等待处理;
若所述服务器集群内的存在负载状态为“正常”的所述服务器节点,则根据所述服务器集群内各所述服务器节点的所述负载状态和所述加权流量数据信息,对全部所述服务器节点进行所述负载均衡处理,从所述服务器节点中确定所述目标服务器节点;
其中,
所述服务器节点的负载状态包括2种,分别为“超载”和“正常”;
所述负载均衡处理包括三种方式,分别为基于加权最小连接数负载处理、基于加权轮询负载处理和基于加权流量负载处理。
为准确判断服务器节点的负载状态,本实施例中,所述基于所述服务器编号,获取所述服务器节点的所述负载阈值,以及当前所述权值W(Sn)和所述连接数LJS(Sn),确定各所述服务器节点的负载状态的步骤包括:
若LJS(Sn)/W(Sn)大于或等于所述负载阈值,则所述服务器节点的负载状态为“超载”;
若LJS(Sn)/W(Sn)小于所述负载阈值,则所述服务器节点的负载状态为“正常”。
本实施例中,所述基于加权最小连接数负载处理的步骤为:
根据所述权值,从全部负载状态为“正常”的所述服务器节点中确定权值最大的所述服务器节点为当前节点,并获取所述当前节点的所述服务器节点编号为SK、所述平均字节数为V(Sk)和所述权值为W(Sk);
基于所述当前节点,对全部负载状态为“正常”的所述服务器节点进行遍历,并根据V(SK)*W(Sn)与V(Sn)*W(SK)的比较结果,确定所述目标服务器节点;
其中,
当V(SK)*W(Sn)大于或等于V(Sn)*W(SK)时,确定所述服务器节点编号为Sn的所述服务器节点为所述目标服务器节点;
当V(SK)*W(Sn)小于V(Sn)*W(SK)时,确定所述当前节点为所述目标服务器节点。
值得说明的是,在一些具体实施例中,所述加权最小连接数负载处理是指在最小连接数调度算法的基础上,根据服务器的不同处理能力,给每个服务器分配不同的权值,使其能够接受相应权值数的服务请求,是在最小连接数调度算法的基础上的改进。
本实施例中,所述基于加权轮询负载处理的步骤为:
基于所述流量统计周期T,获取全部负载状态为“正常”的所述服务器节点的所述平均字节数V(Sn),并计算得到单位时间平均字节数,
所述单位时间平均字节数=V(Sn)/T;
比较所述单位时间平均字节数与所述初始阈值X,并根据比较结果对负载状态为“正常”的所述服务器节点进行遍历,确定所述目标服务器节点;
其中,
当所述单位时间平均字节数大于或等于所述初始阈值X时,继续对负载状态为“正常”的其它所述服务器节点进行遍历;
当所述单位时间平均字节数小于所述初始阈值X时,确定所述服务器节点为所述目标服务器节点;
若遍历结束,仍未确定所述目标服务器节点,则所述执行任务将被挂起等待处理,并继续对负载状态为“正常”的所有所述服务器节点进行重新遍历。
值得说明的是,在一些具体实施例中,所述基于加权轮询负载处理通过加权轮询算法根据新建连接数来调度,权值高的服务器先收到连接,权重值越高被轮询到的次数(概率)也越高,相同权值的服务器处理相同数目的连接数。
本实施例中,所述基于加权流量负载处理的步骤为:
获取时间周期为所述流量统计周期T时间范围内的全部负载状态为“正常”的所述服务器节点的所述平均字节数V(Sn),以及所述权值W(Sn);
根据V(Sn)/W(Sn)的比值,从小到大的顺序对全部负载状态为“正常”的所述服务器节点进行排序,确定V(Sn)/W(Sn)的比值最小的所述服务器节点为所述目标服务器节点;
其中,
若至少存在2个V(Sn)/W(Sn)的比值均为最小的所述服务器节点,则选择所述服务器节点编号小的所述服务器节点为所述目标服务器节点。
值得说明的是,在一些具体实施例中,所述基于加权流量负载处理通过加权流量的字节数来评估服务器的负载情况,并记录各个服务器的流量,根据服务器的不同处理能力,给每个服务器分配不同的权值,使所述服务器能够接受相应权值数的服务请求。
S104,将所述任务请求分配至所述目标服务器节点进行处理,并返回处理结果。
通过应用以上技术方案,根据加权流量数据结构,实时统计获取各后端服务器节点的加权流量数据信息,并根据所述加权流量数据信息,对所述服务器集群内的各服务器节点进行负载均衡处理;在处理任务请求时,快速从集群的多个后端服务器节点中准确的确定高性能的目标服务器节点,高效地完成所述任务请求的处理工作,实现了基于加权流量的负载均衡;另外,从后端服务器响应流量均衡角度,把海量客户并发的请求包按流量均衡的策略分派到不同的服务端程序实例,解决了现有技术中后端服务器流量负载不均衡的技术难题,有效地实现对后端服务器的负载均衡调度,确保数据在多服务器间高效流通,进而提升服务器集群的负载均衡可靠性,以及任务处理的灵活性和性能。
与本发明实施例中的一种所述基于加权流量的负载均衡方法相对应,本发明还公开了一种基于加权流量的负载均衡装置,如图2所示,所述装置应用于由服务器节点构成的集群中,所述装置包括初始化单元、获取单元、处理单元和返回单元。
其中,
所述初始化单元,用于对服务器集群进行初始化设置,构建加权流量数据结构并初始化;
所述获取单元,用于根据加权流量数据结构,获取并统计各服务器节点的加权流量数据信息;
所述处理单元,用于所述服务器集群接收任务请求,根据所述加权流量数据信息,对所述服务器集群内的各服务器节点进行负载均衡处理,并确定目标服务器节点;
所述返回单元,用于将所述任务请求分配至所述目标服务器节点进行处理,并返回处理结果。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (5)

1.一种基于加权流量的负载均衡方法,应用于由服务器节点构成的集群中,其特征在于,所述方法包括:
S101,对服务器集群进行初始化设置,构建加权流量数据结构并初始化;
S102,根据加权流量数据结构,获取并统计各服务器节点的加权流量数据信息;
S103,所述服务器集群接收任务请求,根据所述加权流量数据信息,对所述服务器集群内的各服务器节点进行负载均衡处理,并确定目标服务器节点;
S104,将所述任务请求分配至所述目标服务器节点进行处理,并返回处理结果;
其中,所述加权流量数据结构包括9个字段,分别为服务器节点数量、服务器节点编号、权值、负载阈值、总流量字节数、平均字节数、连接数、初始阈值和流量统计周期;
设,所述服务器节点数量为m,所述服务器节点编号为Sn,所述总流量字节数为ZBS(Sn),所述平均字节数为V(Sn),所述权值为W(Sn),所述连接数为LJS(Sn),所述初始阈值为X,所述流量统计周期为T,则
Sn={S1,S2,S3…Sn-2,Sn-1},
ZBS(Sn)={ZBS(S1),ZBS(S2),…ZBS(Sn-2),ZBS(Sn-1)},
V(Sn)=ZBS(Sn)/LJS(Sn),
W(Sn)={W(S1),W(S2),…W(Sn-2),W(Sn-1)},
其中,1≤n≤m;
所述S102,根据加权流量数据结构,获取并统计各服务器节点的加权流量数据信息的步骤包括:
所述服务器集群根据所述加权流量数据结构,获取所述服务器集群内的所述服务器节点数量m,以及各服务器节点的所述服务器节点编号Sn、所述总流量字节数ZBS(Sn)、所述权值W(Sn)、所述连接数LJS(Sn)和所述流量统计周期为T,并计算更新所述平均字节数V(Sn)和所述阈值X,生成所述加权流量数据信息;
所述S103,所述服务器集群接收任务请求,根据所述加权流量数据信息,对所述服务器集群内的各服务器节点进行负载均衡处理,并确定目标服务器节点的步骤包括:
所述服务器集群接收所述任务请求,并对所述任务请求进行解析得到执行任务;
基于所述服务器编号,获取所述服务器节点的所述负载阈值,以及当前所述权值W(Sn)和所述连接数LJS(Sn),确定各所述服务器节点的负载状态;
若所述服务器集群内的所有所述服务器节点的负载状态均为“超载”,则所述执行任务将被挂起等待处理;
若所述服务器集群内的存在负载状态为“正常”的所述服务器节点,则根据所述服务器集群内各所述服务器节点的所述负载状态和所述加权流量数据信息,对全部所述服务器节点进行所述负载均衡处理,从所述服务器节点中确定所述目标服务器节点;
其中,
所述服务器节点的负载状态包括2种,分别为“超载”和“正常”;
所述负载均衡处理包括三种方式,分别为基于加权最小连接数负载处理、基于加权轮询负载处理和基于加权流量负载处理;
所述基于加权轮询负载处理的步骤为:
基于所述流量统计周期T,获取全部负载状态为“正常”的所述服务器节点的所述平均字节数V(Sn),并计算得到单位时间平均字节数,
所述单位时间平均字节数=V(Sn)/T;
比较所述单位时间平均字节数与所述初始阈值X,并根据比较结果对负载状态为“正常”的所述服务器节点进行遍历,确定所述目标服务器节点;
其中,
当所述单位时间平均字节数大于或等于所述初始阈值X时,继续对负载状态为“正常”的其它所述服务器节点进行遍历;
当所述单位时间平均字节数小于所述初始阈值X时,确定所述服务器节点为所述目标服务器节点;
若遍历结束,仍未确定所述目标服务器节点,则所述执行任务将被挂起等待处理,并继续对负载状态为“正常”的所有所述服务器节点进行重新遍历;
所述基于加权流量负载处理的步骤为:
获取时间周期为所述流量统计周期T时间范围内的全部负载状态为“正常”的所述服务器节点的所述平均字节数V(Sn),以及所述权值W(Sn);
根据V(Sn)/W(Sn)的比值,从小到大的顺序对全部负载状态为“正常”的所述服务器节点进行排序,确定V(Sn)/W(Sn)的比值最小的所述服务器节点为所述目标服务器节点;
其中,
若至少存在2个V(Sn)/W(Sn)的比值均为最小的所述服务器节点,则选择所述服务器节点编号小的所述服务器节点为所述目标服务器节点。
2.如权利要求1所述的方法,其特征在于,对服务器集群进行初始化的步骤包括:
统计所述服务器集群内的所述服务器节点数量;
基于所述服务器节点数量,对所述服务器集群内的所有服务器节点的所述服务器节点编号、所述权值W(Sn)、所述负载阈值、所述初始阈值X和所述流量统计周期T进行初始化设置;
其中,所述初始阈值X等于所述权值W(Sn)。
3.如权利要求1所述的方法,其特征在于,所述基于所述服务器编号,获取所述服务器节点的所述负载阈值,以及当前所述权值W(Sn)和所述连接数LJS(Sn),确定各所述服务器节点的负载状态的步骤包括:
若LJS(Sn)/W(Sn)大于或等于所述负载阈值,则所述服务器节点的负载状态为“超载”;
若LJS(Sn)/W(Sn)小于所述负载阈值,则所述服务器节点的负载状态为“正常”。
4.如权利要求1所述的方法,其特征在于,所述基于加权最小连接数负载处理的步骤为:
根据所述权值,从全部负载状态为“正常”的所述服务器节点中确定权值最大的所述服务器节点为当前节点,并获取所述当前节点的所述服务器节点编号为SK、所述平均字节数为V(Sk)和所述权值为W(Sk);
基于所述当前节点,对全部负载状态为“正常”的所述服务器节点进行遍历,并根据V(SK)*W(Sn)与V(Sn)*W(SK)的比较结果,确定所述目标服务器节点;
其中,
当V(SK)*W(Sn)大于或等于V(Sn)*W(SK)时,确定所述服务器节点编号为Sn的所述服务器节点为所述目标服务器节点;
当V(SK)*W(Sn)小于V(Sn)*W(SK)时,确定所述当前节点为所述目标服务器节点。
5.一种实施权利要求1所述基于加权流量的负载均衡方法的装置,所述装置应用于由服务器节点构成的集群中,其特征在于,所述装置包括初始化单元、获取单元、处理单元和返回单元;
其中,
所述初始化单元,用于对服务器集群进行初始化设置,构建加权流量数据结构并初始化;
所述获取单元,用于根据加权流量数据结构,获取并统计各服务器节点的加权流量数据信息;
所述处理单元,用于所述服务器集群接收任务请求,根据所述加权流量数据信息,对所述服务器集群内的各服务器节点进行负载均衡处理,并确定目标服务器节点;
所述返回单元,用于将所述任务请求分配至所述目标服务器节点进行处理,并返回处理结果。
CN202310129008.7A 2023-02-17 2023-02-17 一种基于加权流量的负载均衡方法及装置 Active CN116192858B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310129008.7A CN116192858B (zh) 2023-02-17 2023-02-17 一种基于加权流量的负载均衡方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310129008.7A CN116192858B (zh) 2023-02-17 2023-02-17 一种基于加权流量的负载均衡方法及装置

Publications (2)

Publication Number Publication Date
CN116192858A CN116192858A (zh) 2023-05-30
CN116192858B true CN116192858B (zh) 2024-01-09

Family

ID=86437909

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310129008.7A Active CN116192858B (zh) 2023-02-17 2023-02-17 一种基于加权流量的负载均衡方法及装置

Country Status (1)

Country Link
CN (1) CN116192858B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105376317A (zh) * 2015-11-19 2016-03-02 网宿科技股份有限公司 负载均衡的控制方法及装置
CN111930511A (zh) * 2020-08-24 2020-11-13 北京工业大学 一种基于机器学习的标识解析节点负载均衡装置
CN113938488A (zh) * 2021-09-24 2022-01-14 浙江理工大学 一种基于动静态加权轮询的负载均衡方法
CN115604278A (zh) * 2022-09-30 2023-01-13 中国工商银行股份有限公司(Cn) 动态负载均衡方法和系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105376317A (zh) * 2015-11-19 2016-03-02 网宿科技股份有限公司 负载均衡的控制方法及装置
CN111930511A (zh) * 2020-08-24 2020-11-13 北京工业大学 一种基于机器学习的标识解析节点负载均衡装置
CN113938488A (zh) * 2021-09-24 2022-01-14 浙江理工大学 一种基于动静态加权轮询的负载均衡方法
CN115604278A (zh) * 2022-09-30 2023-01-13 中国工商银行股份有限公司(Cn) 动态负载均衡方法和系统

Also Published As

Publication number Publication date
CN116192858A (zh) 2023-05-30

Similar Documents

Publication Publication Date Title
JP5654022B2 (ja) 企業ネットワーク内の割り当てられたクラウドリソースの動的な負荷分散およびスケーリング
US7203747B2 (en) Load balancing system and method in a multiprocessor system
Ren et al. The load balancing algorithm in cloud computing environment
CN103401947A (zh) 多个服务器的任务分配方法和装置
KR20170029263A (ko) 부하 분산 장치 및 방법
US8813087B2 (en) Managing a workload in a cluster of computing systems with multi-type operational resources
CN113110933A (zh) 一种具有Nginx负载均衡技术的系统
Mukhopadhyay et al. The power of randomized routing in heterogeneous loss systems
Pattanaik et al. Performance study of some dynamic load balancing algorithms in cloud computing environment
CN110233866B (zh) 一种负载均衡方法及负载均衡器
Vashistha et al. Comparative study of load balancing algorithms
CN117155942A (zh) 一种微服务动态自适应客户端负载均衡方法及系统
KR20070032441A (ko) 퍼지 그룹핑 기반의 로드 밸런싱 시스템 및 그 로드 밸런싱방법
CN105872082B (zh) 基于容器集群负载均衡算法的细粒度资源响应系统
CN116192858B (zh) 一种基于加权流量的负载均衡方法及装置
Datta A new task scheduling method for 2 level load balancing in homogeneous distributed system
CN108200185B (zh) 一种实现负载均衡的方法及装置
CN114945024B (zh) 基于长短期记忆网络的服务器负载均衡优化方法
CN112685167A (zh) 资源使用方法、电子设备和计算机程序产品
Tychalas et al. An advanced weighted round robin scheduling algorithm
Kaur et al. Load balancing in cloud computing: The online traffic management
CN113377866A (zh) 一种虚拟化数据库代理服务的负载均衡方法及装置
CN113377539A (zh) 实现负载均衡的处理方法及装置
KR100576713B1 (ko) 동적 부하 분산 시스템 및 그 방법
CN111506394A (zh) 一种Docker Swarm容器调度方法及调度系统

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