CN109408227B - 负载均衡方法、装置及存储介质 - Google Patents

负载均衡方法、装置及存储介质 Download PDF

Info

Publication number
CN109408227B
CN109408227B CN201811096374.2A CN201811096374A CN109408227B CN 109408227 B CN109408227 B CN 109408227B CN 201811096374 A CN201811096374 A CN 201811096374A CN 109408227 B CN109408227 B CN 109408227B
Authority
CN
China
Prior art keywords
server
real
time
value
preset
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
CN201811096374.2A
Other languages
English (en)
Other versions
CN109408227A (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.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen 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 Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN201811096374.2A priority Critical patent/CN109408227B/zh
Publication of CN109408227A publication Critical patent/CN109408227A/zh
Application granted granted Critical
Publication of CN109408227B publication Critical patent/CN109408227B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)

Abstract

本发明涉及云计算技术,揭露了一种负载均衡方法、装置及存储介质,该方法设置每个服务器的每个模块的权重及使用率阈值。接着,该方法统计每个服务器处理预设数量请求的总响应时间及实时使用率,计算出每个请求的平均响应时间。最后,该方法根据每个服务器处理每个请求的平均响应时间,以及每个模块的配置参数、权重、使用率阈值及实时使用率,实时计算每个服务器的空闲值,并根据每个服务器的空闲值,利用预设的分配规则将所述请求分配给相应的服务器处理。利用本发明,能够实现服务器集群兼容不同配置的服务器,提高服务器集群整体的吞吐率。

Description

负载均衡方法、装置及存储介质
技术领域
本发明涉及云计算技术领域,尤其涉及一种负载均衡方法、装置及计算机可读存储介质。
背景技术
负载均衡是指将业务请求灵活的分配到多个服务器上进行处理,从而灵活、快速的完成业务请求。随着网络业务量的提高,访问量和数据流量的快速增长,所需要的处理和计算能力也大大增强,单一的服务器设备根本无法承担。因此需要采用服务器集群的方式,利用负载均衡对服务器集群的每个服务器设备进行灵活分配业务请求。目前的负载均衡方法主要是对品牌、型号、配置一致的服务器设备进行分配请求,且无法区分每个服务器设备实时利用率,造成利用率过高的服务器可能会出现拥塞,降低服务器集群整体的吞吐率。
发明内容
鉴于以上内容,本发明提供一种负载均衡方法、装置及计算机可读存储介质,其主要目的在于兼容不同配置的服务器,提高服务器集群整体的吞吐率。
为实现上述目的,本发明提供一种负载均衡方法,该方法包括:
设置步骤:设置每个服务器的每个模块的权重及使用率阈值,所述模块包括中央处理器、内存、网络模块及硬盘;
统计步骤:统计每个服务器处理预设数量请求的总响应时间及实时使用率,计算出每个请求的平均响应时间;
计算步骤:根据每个服务器处理每个请求的平均响应时间,以及每个模块的配置参数、权重、使用率阈值及实时使用率,实时计算每个服务器的空闲值;
分配步骤:接收客户端发送的请求,根据每个服务器的空闲值,利用预设的分配规则将所述请求分配给相应的服务器处理。
优选地,所述计算步骤包括:
根据服务器处理每个请求的平均响应时间,以及服务器的每个模块的配置参数、权重、使用率阈值及实时使用率,利用预设的第一计算公式分别计算出服务器的理论处理状态值及实时处理状态值;
将服务器的理论处理状态值及实时处理状态值输入到预设的第二计算公式计算得到该服务器的空闲值。
优选地,所述第一计算公式包括:
中央处理器理论处理状态值CQPS=每个请求平均响应时间×CS×CT×CW;
内存理论处理状态值MQPS=MS×MT×MW;
网络模块理论处理状态值NQPS=NS×NT×NW;
硬盘理论处理状态值DQPS=DS×DT×DW;
服务器的理论处理状态值EX=CQPS×MQPS×NQPS×DQPS/1000;
中央处理器实时处理状态值CQPS′=每个请求平均响应时间×CS×CU×CW;
内存实时处理状态值MQPS′=MS×MU×MW;
网络模块实时处理状态值NQPS′=NS×NU×NW;
硬盘实时处理状态值DQPS′=DS×DU×DW;
服务器的实时处理状态值AC=CQPS′×MQPS′×NQPS′×DQPS′/1000;
其中,CW、MW、NW、DW分别代表所述服务器的中央处理器、内存、网络模块、硬盘的权重,CT、MT、NT、DT分别代表所述服务器的中央处理器、内存、网络模块、硬盘的使用率阈值,CS、MS、NS、DS分别代表所述服务器的中央处理器每秒的理论计算量、内存的理论计算量、网络模块的延迟、硬盘的速度,CU、MU、NU、DU分别代表所述服务器的中央处理器、内存、网络模块、硬盘的实时使用率。
优选地,所述第二计算公式为:
P=(EX-AC)/EX×100%
其中,P代表所述服务器的空闲值,EX代表所述服务器的理论处理状态值,AC代表所述服务器的实时处理状态值。
优选地,所述分配规则包括:
设置服务器空闲值的预设值,判断所有服务器的空闲值与预设值的大小,若有预设数量的服务器的空闲值大于或等于所述预设值,则按照预设的负载均衡方式将请求分配给所述预设数量的服务器;
若所有服务器的空闲值均小于所述预设值,则暂停分配请求,延迟预设时间后,重新计算每个服务器的空闲值,并返回判断所有服务器的空闲值与预设值的大小的步骤。
优选地,该方法还包括:当服务器的某个模块的实时使用率大于使用率阈值时,自动调整服务器的处理速率使得实时使用率小于或等于使用率阈值。
此外,本发明还提供一种电子装置,该电子装置包括:存储器及处理器,所述存储器上存储负载均衡程序,所述负载均衡程序被所述处理器执行,可实现如下步骤:
设置步骤:设置每个服务器的每个模块的权重及使用率阈值,所述模块包括中央处理器、内存、网络模块及硬盘;
统计步骤:统计每个服务器处理预设数量请求的总响应时间及实时使用率,计算出每个请求的平均响应时间;
计算步骤:根据每个服务器处理每个请求的平均响应时间,以及每个模块的配置参数、权重、使用率阈值及实时使用率,实时计算每个服务器的空闲值;
分配步骤:接收客户端发送的请求,根据每个服务器的空闲值,利用预设的分配规则将所述请求分配给相应的服务器处理。
优选地,所述计算步骤包括:
根据服务器处理每个请求的平均响应时间,以及服务器的每个模块的配置参数、权重、使用率阈值及实时使用率,利用预设的第一计算公式分别计算出服务器的理论处理状态值及实时处理状态值;
将服务器的理论处理状态值及实时处理状态值输入到预设的第二计算公式计算得到该服务器的空闲值。
优选地,所述分配规则包括:
设置服务器空闲值的预设值,判断所有服务器的空闲值与预设值的大小,若有预设数量的服务器的空闲值大于或等于所述预设值,则按照预设的负载均衡方式将请求分配给所述预设数量的服务器;
若所有服务器的空闲值均小于所述预设值,则暂停分配请求,延迟预设时间后,重新计算每个服务器的空闲值,并返回判断所有服务器的空闲值与预设值的大小的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中包括负载均衡程序,所述负载均衡程序被处理器执行时,可实现如上所述负载均衡方法中的任意步骤。
本发明提出的负载均衡方法、电子装置及计算机可读存储介质,通过设置服务器的每个模块的权重、使用率阈值,以及计算出每个请求的平均响应时间,根据所述平均响应时间、每个模块的配置参数、权重、使用率阈值及实时使用率,计算服务器空闲值,根据空闲值为每个服务器分配相应的请求,从而提高服务器集群的整体利用率,避免低端服务器被闲置。
附图说明
图1为本发明负载均衡方法的应用环境示意图;
图2为本发明电子装置较佳实施例的示意图;
图3为图2中负载均衡程序较佳实施例的模块示意图;
图4为本发明负载均衡方法较佳实施例的流程图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
如图1所示,是本发明负载均衡方法的应用环境示意图。
本发明旨在提供一种负载均衡系统,该系统主要包括负载均衡装置,即电子装置1、服务器集群2、分发设备3、网络及客户端4,如客户端41、客户端42、……、客户端4N。用户利用客户端4通过网络进行发送请求,该系统接收用户的请求后,利用负载均衡装置分析服务器集群中各个服务器的处理状态值及当前状态值,根据服务器集群中各个服务器的空闲值,为空闲的服务器分发相应的请求。其中,所述服务器集群2包含多个服务器,如服务器21、服务器22、……、服务器2M,所述服务器可以是机架式服务器、刀片式服务器、塔式服务器或机柜式服务器等服务设备。所述分发设备3用于根据负载均衡装置的分发信息将请求分发至服务器集群的相应服务器进行处理,所述分发设备3可以包括交换机、路由器的一种或多种。所述客户端4包括个人电脑、手机。平板等。
如图2所示,是本发明电子装置1较佳实施例的示意图。
在本实施例中,电子装置1是指产品服务平台,该电子装置1可以是机架式服务器、刀片式服务器、塔式服务器或机柜式服务器等计算设备,该电子装置1可以是独立的服务器,也可以是多个服务器所组成的服务器集群。
该电子装置1包括但不限于:存储器11、处理器12、及网络接口13。所述电子装置1通过网络接口13连接网络,获取原始数据。其中,所述网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(Global System of Mobile communication,GSM)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi、通话网络等无线或有线网络。
所述存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器11可以是所述电子装置1的内部存储单元,例如该电子装置1的硬盘或内存。在另一些实施例中,所述存储器11也可以是所述电子装置1的外部存储设备,例如该电子装置1配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,所述存储器11还可以既包括所述电子装置1的内部存储单元也包括其外部存储设备。本实施例中,所述存储器11通常用于存储安装于所述电子装置1的操作系统和各类应用软件,例如负载均衡程序10的程序代码等。此外,所述存储器11还可以用于暂时地存储已经输出或者将要输出的各类数据,例如,将要分配给服务器集群中的服务器的请求。
所述处理器12在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器12通常用于控制所述电子装置1的总体操作,例如执行数据交互或者通信相关的控制和处理等。本实施例中,所述处理器12用于运行所述存储器11中存储的程序代码或者处理数据,例如运行负载均衡程序10的程序代码等。
网络接口13可选地可以包括标准的有线接口、无线接口(如WI-FI接口),该网络接口13通常用于在所述电子装置1与其他电子设备之间建立通信连接。
图2仅示出了具有组件11-13以及负载均衡程序10的电子装置1,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
可选地,该电子装置1还可以包括显示器,所述显示器可以称为显示屏或显示单元。在一些实施例中显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及有机发光二极管(Organic Light-Emitting Diode,OLED)触摸器等。显示器用于显示在电子装置1中处理的信息以及用于显示可视化的工作界面,例如显示每个服务器分配的请求数。
可选地,该电子装置1还可以包括用户接口,用户接口可以包括输入单元比如键盘(Keyboard)、语音输出装置比如音响、耳机等,可选地用户接口还可以包括标准的有线接口、无线接口。
可选地,该电子装置1还包括触摸传感器。所述触摸传感器所提供的供用户进行触摸操作的区域称为触控区域。此外,这里所述的触摸传感器可以为电阻式触摸传感器、电容式触摸传感器等。而且,所述触摸传感器不仅包括接触式的触摸传感器,也可包括接近式的触摸传感器等。此外,所述触摸传感器可以为单个传感器,也可以为例如阵列布置的多个传感器。用户可以通过触摸所述触控区域启动负载均衡程序10。
此外,该电子装置1的显示器的面积可以与所述触摸传感器的面积相同,也可以不同。可选地,将显示器与所述触摸传感器层叠设置,以形成触摸显示屏。该电子装置1基于触摸显示屏侦测用户触发的触控操作。
该电子装置1还可以包括射频(Radio Frequency,RF)电路、传感器和音频电路等等,在此不再赘述。
如图3所示,是图2中负载均衡程序10较佳实施例的模块示意图。本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段。
在本实施例中,负载均衡程序10包括:设置模块110、统计模块120、计算模块130及分配模块140,所述模块110-140所实现的功能或操作步骤如下:
设置模块110,用于设置每个服务器的每个模块的权重及使用率阈值。所述模块包括但不限于中央处理器(Central Processing Unit,CPU)、内存、网络模块及硬盘。其中,所述CPU为服务器的核心部件,用于读取请求,根据请求内容执行相应请求任务或运算。例如,
Figure BDA0001805642650000075
Processor E3-1230v5处理器、Intel Xeon Gold 5118处理器等。所述内存为服务器的内存储器,用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据。所述网络模块是指服务器的网卡驱动,如
Figure BDA0001805642650000073
i210AT、
Figure BDA0001805642650000074
X722等。所述硬盘为服务器的外部存储器,用于存储服务器接收到的数据,如存储服务器接收到的请求等。
统计模块120,用于统计每个服务器处理预设数量请求的总响应时间及实时使用率,计算出每个请求的平均响应时间。例如,根据1000次请求进行采样,获取每个服务器处理1000次请求的总处理时间,取平均值得到服务器处理每个请求的平均处理时间。
计算模块130,用于根据每个服务器处理每个请求的平均响应时间,以及每个模块的配置参数、权重、使用率阈值及实时使用率,实时计算每个服务器的空闲值。具体的,根据每个服务器处理每个请求的平均响应时间,以及服务器的每个模块的配置参数、权重、使用率阈值及实时使用率,利用预设的第一计算公式分别计算出服务器的理论处理状态值及实时处理状态值。其中,根据CPU理论处理状态值CQPS=每个请求响应时间×CS×CT×CW,内存理论处理状态值MQPS=MS×MT×MW,网络模块理论处理状态值NQPS=NS×NT×NW,硬盘理论处理状态值DQPS=DS×DT×DW,理论处理状态值EX=CQPS×MQPS×NQPS×DQPS/1000,得到该服务器的理论处理状态值。根据CPU实时处理状态值CQPS′=每个请求响应时间×CS×CU×CW,内存实时处理状态值MQPS′=MS×MU×MW,网络模块实时处理状态值NQPS′=NS×NU×NW,硬盘实时处理状态值DQPS′=DS×DU×DW,实时处理状态值AC=CQPS′×MQPS′×NQPS′×DQPS′/1000,得到该服务器的实时处理状态值。其中,CPU处理状态值,包括CPU理论处理状态值及CPU实时处理状态值,即CPU每秒处理请求的个数(CPU Query Per Second,CQPS),同理,内存处理状态值,包括内存理论处理状态值及内存实时处理状态值,即内存每秒处理请求的个数(Memory Query Per Second,MQPS),网络模块处理状态值,包括网络模块理论处理状态值及网络模块实时处理状态值,即网络模块每秒处理请求的个数(NetworkQuery Per Second,NQPS),硬盘处理状态值,包括硬盘理论处理状态值及硬盘实时处理状态值,即硬盘每秒处理请求的个数(Disc Query Per Second,DQPS)。CS=800MHz×CTD(核数)、MS=容量MG(GB)×频率MM。CW、MW、NW、DW分别代表所述服务器的CPU、内存、网络模块、硬盘的权重,CT、MT、NT、DT分别代表所述服务器的CPU、内存、网络模块、硬盘的使用率阈值,CS、MS、NS、DS分别代表所述服务器的CPU每秒的理论计算量、内存的理论计算量、网络模块的延迟、硬盘的速度,CU、MU、NU、DU分别代表所述服务器的CPU、内存、网络模块、硬盘的实时使用率。但应理解的是,当服务器的某个模块的实时使用率大于使用率阈值时,自动调整该服务器的处理速率,自动控制实时使用率小于或等于使用率阈值。
接着,将服务器的理论处理状态值及实时处理状态值输入到预设的第二计算公式,得到该服务器的空闲值。所述预设的第二计算公式为:
P=(EX-AC)/EX×100%
其中,P代表所述服务器的空闲值,EX代表所述服务器的理论处理状态值,AC代表所述服务器的实时处理状态值。
分配模块140,用于接收客户端发送的请求,根据每个服务器的空闲值,利用预设的分配规则将所述请求分配给相应的服务器处理。所述预设的分配规则包括:设置服务器空闲值的预设值,判断所有服务器的空闲值与预设值的大小,若有预设数量的服务器的空闲值大于或等于所述预设值,则按照预设的负载均衡方式将请求分配给所述预设数量的服务器,若所有服务器的空闲值均小于所述预设值,则暂停分配请求,延迟预设时间后,重新计算每个服务器的空闲值,并返回判断所有服务器的空闲值与预设值的大小的步骤。进一步地,所述预设的负载均衡方式包括:随机分配策略、轮询分配策略及最短路径分配策略中的一种或多种。
如图4所示,是本发明负载均衡方法较佳实施例的流程图。
在本实施例中,处理器12执行存储器11中存储的负载均衡程序10的计算机程序时实现负载均衡方法包括:步骤S10-步骤S40。
步骤S10,设置模块110设置每个服务器的每个模块的权重及使用率阈值。所述模块包括但不限于CPU、内存、网络模块及硬盘。例如,设置CPU、内存、网络模块及硬盘的权重分别为5、4、2、3,以及对应的使用率阈值分别为80%、80%、80%、80%。其中,所述CPU为服务器的核心部件,用于读取请求,根据请求内容执行相应请求任务或运算。例如,
Figure BDA0001805642650000095
Processor E3-1230v5处理器、Intel Xeon Gold 5118处理器等。所述内存为服务器的内存储器,用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据。所述网络模块是指服务器的网卡驱动,如
Figure BDA0001805642650000093
i210AT、
Figure BDA0001805642650000094
X722等。所述硬盘为服务器的外部存储器,用于存储服务器接收到的数据,如存储服务器接收到的请求等。
步骤S20,统计模块120统计每个服务器处理预设数量请求的总响应时间及实时使用率,计算出每个请求的平均响应时间。例如,根据1000次请求进行采样,获取每个服务器处理1000次请求的总处理时间,取平均值得到每个服务器处理每个请求的平均处理时间。
步骤S30,计算模块130根据每个服务器处理每个请求的平均响应时间,以及每个模块的配置参数、权重、使用率阈值及实时使用率,实时计算每个服务器的空闲值。具体的,根据服务器处理每个请求的平均响应时间,以及服务器的每个模块的配置参数、权重、使用率阈值及实时使用率,利用预设的第一计算公式分别计算出服务器的理论处理状态值及实时处理状态值。其中,根据CPU理论处理状态值CQPS=每个请求响应时间×CS×CT×CW,内存理论处理状态值MQPS=MS×MT×MW,网络模块理论处理状态值NQPS=NS×NT×NW,硬盘理论处理状态值DQPS=DS×DT×DW,理论处理状态值EX=CQPS×MQPS×NQPS×DQPS/1000,得到服务器的理论处理状态值。根据CPU实时处理状态值CQPS′=每个请求响应时间×CS×CU×CW,内存实时处理状态值MQPS′=MS×MU×MW,网络模块实时处理状态值NQPS′=NS×NU×NW,硬盘实时处理状态值DQPS′=DS×DU×DW,实时处理状态值AC=CQPS′×MQPS′×NQPS′×DQPS′/1000,得到服务器的实时处理状态值。其中,CS=800MHz×CTD(核数)、MS=容量MG(GB)×频率MM。CW、MW、NW、DW分别代表所述服务器的CPU、内存、网络模块、硬盘的权重,CT、MT、NT、DT分别代表所述服务器的CPU、内存、网络模块、硬盘的使用率阈值,CS、MS、NS、DS分别代表所述服务器的CPU每秒的理论计算量、内存的理论计算量、网络模块的延迟、硬盘的速度,CU、MU、NU、DU分别代表所述服务器的CPU、内存、网络模块、硬盘的实时使用率。但应理解的是,当服务器的某个模块的实时使用率大于使用率阈值时,自动调整该服务器的处理速率使得实时使用率小于或等于使用率阈值。
接着,将服务器的理论处理状态值及实时处理状态值输入到预设的第二计算公式,得到该服务器的空闲值。所述预设的第二计算公式为:
P=(EX-AC)/EX×100%
其中,P代表服务器的空闲值,EX代表服务器的理论处理状态值,AC代表服务器的实时处理状态值。
步骤S40,分配模块140接收客户端发送的请求,根据每个服务器的空闲值,利用预设的分配规则将所述请求分配给相应的服务器处理。所述预设的分配规则包括:设置服务器空闲值的预设值,如设置预设值为60%,判断所有服务器的空闲值与预设值的大小,若有预设数量的服务器的空闲值大于或等于所述预设值,则按照预设的负载均衡方式将请求分配给所述预设数量的服务器,若所有服务器的空闲值均小于所述预设值,则暂停分配请求,延迟预设时间后,重新计算每个服务器的空闲值,并返回判断所有服务器的空闲值与预设值的大小的步骤。进一步地,所述预设的负载均衡方式包括:随机分配策略、轮询分配策略及最短路径分配策略中的一种或多种。例如,筛选出空闲值大于预设值的服务器,按照随机分配策略将请求随机分配给筛选出的服务器。
具体实施例如下:假设服务器集群有两台服务器,包括服务器21及服务器22,设置CW=5、MW=4、NW=2、DW=3且服务器的各个模块的使用率阈值均为80%,对应的配置参数如下:
服务器21:
处理器:
Figure BDA0001805642650000115
Processor E3-1230v5 4核心3.4GHz;内存:8GB DDR4ECC2400MHz;网络模块:2个GE(
Figure BDA0001805642650000113
i210AT);硬盘:1TB SATA7.2K 3.5英寸企业级。
从而得到服务器21的配置参数:CT=80%,MT=80%,NT=80%,DT=80%,CS=3.4×4,MS=8×2.4,NS=100,DS=7.2,CW=5,MW=4,NW=2,DW=3。
服务器22:
处理器:Xeon Gold 5118 12C 2.3GHz;内存:2条16GB DDR4 RECC 2400MHz;网络模块:双千兆网络(
Figure BDA0001805642650000114
X722);硬盘:Intel 240GB DC级固态硬盘2块4TB SATA 3.5英寸企业级。
从而得到服务器22的配置参数:CT=80%,MT=80%,NT=80%,DT=80%,CS=2×12×2.3,MS=2×16×2.4,NS=100,DS=14,CW=5,MW=4,NW=2,DW=3。
程序运行后,根据1000次请求进行采样,取得每个服务器的每个请求的平均处理时间,并统计各个模块的实时使用率。假设,以1000次请求进行采样,总平均处理时间为10000ms,则平均时间为10ms。
服务器21:
网络延迟时间=100ms,CU=50%,DU=50%,NU=50%,MU=50%,
则理论处理状态值:CQPS=10×3.4×4×80%×5=544;MQPS=8×2.4×80%×4=61.44;NQPS=100×80%×2=160;DQPS=7.2×80%×3=17.28;EX=544×61.44×160×17.28/1000=92408.9;
实时处理状态值:CQPS′=10×3.4×4×50%×5=340;MQPS′=8×2.4×50%×4=38.4;NQPS′=100×50%×2=100;DQPS′=7.2×50%×3=10.8;AC=340×38.4×100×10.8/1000=14100.4;
空闲值:P1=(92408.9-14100.4)/92408.9×100%=84.7%。
服务器22:
网络延迟时间=100ms,CU=70%,DU=70%,NU=70%,MU=70%,
则理论处理状态值:CQPS=10×2×2.3×12×80%×5=2208;MQPS=2×16×2.4×80%×4=245.76;NQPS=100×80%×2=160;DQPS=14×80%×3=33.6;EX=2208×245.76×160×33.6/1000=2917222.3;
实时处理状态值:CQPS′=10×2×2.3×12×70%×5=1932;MQPS′=2×16×2.4×70%×4=215;NQPS′=100×70%×2=140;DQPS′=14×70%×3=29.4;AC=1932×215×140×29.4/1000=1709704;
空闲值:P2=(2917222.3-1709704)/2917222.3×100%=41.4%。
假设,预设值为60%,当前服务器集群中服务器21和服务器22的空闲值分别为P1=84.7%、P2=41.4%,则将请求分配给服务器21。进一步地,若服务器集群中存在多个服务器的空闲值大于预设值,则按照预设的负载均衡方式将请求分配给所述预设数量的服务器。例如,筛选出空闲值大于预设值的服务器,按照最短路径分配策略将某用户的请求分配给距离该用户IP地址最近的服务器。
上述实施例提出的负载均衡方法,通过设置服务器的每个模块的权重、使用率阈值,以及计算出每个请求的平均响应时间,根据所述平均响应时间、每个模块的配置参数、权重、使用率阈值及实时使用率,计算服务器空闲值,根据空闲值为每个服务器分配相应的请求,从而避免低端服务器被闲置,提高服务器集群的整体利用率及吞吐量。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质中包括负载均衡程序10,所述负载均衡程序10被处理器执行时实现如下操作:
设置步骤:设置每个服务器的每个模块的权重及使用率阈值,所述模块包括中央处理器、内存、网络模块及硬盘;
统计步骤:统计每个服务器处理预设数量请求的总响应时间及实时使用率,计算出每个请求的平均响应时间;
计算步骤:根据每个服务器处理每个请求的平均响应时间,以及每个模块的配置参数、权重、使用率阈值及实时使用率,实时计算每个服务器的空闲值;
分配步骤:接收客户端发送的请求,根据每个服务器的空闲值,利用预设的分配规则将所述请求分配给相应的服务器处理。
优选地,所述计算步骤包括:
根据服务器处理每个请求的平均响应时间,以及服务器的每个模块的配置参数、权重、使用率阈值及实时使用率,利用预设的第一计算公式分别计算出服务器的理论处理状态值及实时处理状态值;
将服务器的理论处理状态值及实时处理状态值输入到预设的第二计算公式计算得到该服务器的空闲值。
优选地,所述第一计算公式包括:
中央处理器理论处理状态值CQPS=每个请求平均响应时间×CS×CT×CW;
内存理论处理状态值MQPS=MS×MT×MW;
网络模块理论处理状态值NQPS=NS×NT×NW;
硬盘理论处理状态值DQPS=DS×DT×DW;
服务器的理论处理状态值EX=CQPS×MQPS×NQPS×DQPS/1000;
中央处理器实时处理状态值CQPS′=每个请求平均响应时间×CS×CU×CW;
内存实时处理状态值MQPS′=MS×MU×MW;
网络模块实时处理状态值NQPS′=NS×NU×NW;
硬盘实时处理状态值DQPS′=DS×DU×DW;
服务器的实时处理状态值AC=CQPS′×MQPS′×NQPS′×DQPS′/1000;
其中,CW、MW、NW、DW分别代表所述服务器的中央处理器、内存、网络模块、硬盘的权重,CT、MT、NT、DT分别代表所述服务器的中央处理器、内存、网络模块、硬盘的使用率阈值,CS、MS、NS、DS分别代表所述服务器的中央处理器每秒的理论计算量、内存的理论计算量、网络模块的延迟、硬盘的速度,CU、MU、NU、DU分别代表所述服务器的中央处理器、内存、网络模块、硬盘的实时使用率。
优选地,所述第二计算公式为:
P=(EX-AC)/EX×100%
其中,P代表所述服务器的空闲值,EX代表所述服务器的理论处理状态值,AC代表所述服务器的实时处理状态值。
优选地,所述分配规则包括:
设置服务器空闲值的预设值,判断所有服务器的空闲值与预设值的大小,若有预设数量的服务器的空闲值大于或等于所述预设值,则按照预设的负载均衡方式将请求分配给所述预设数量的服务器;
若所有服务器的空闲值均小于所述预设值,则暂停分配请求,延迟预设时间后,重新计算每个服务器的空闲值,并返回判断所有服务器的空闲值与预设值的大小的步骤。
优选地,该方法还包括:当服务器的某个模块的实时使用率大于使用率阈值时,自动调整服务器的处理速率使得实时使用率小于或等于使用率阈值。
本发明之计算机可读存储介质的具体实施方式与上述负载均衡方法的具体实施方式大致相同,在此不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (6)

1.一种负载均衡方法,应用于负载均衡装置,该负载均衡装置连接一个或多个服务器,其特征在于,所述方法包括:
设置步骤:设置每个服务器的每个模块的权重及使用率阈值,所述模块包括中央处理器、内存、网络模块及硬盘;
统计步骤:统计每个服务器处理预设数量请求的总响应时间及实时使用率,计算出每个请求的平均响应时间;
计算步骤:根据每个服务器处理每个请求的平均响应时间,以及每个模块的配置参数、权重、使用率阈值及实时使用率,实时计算每个服务器的空闲值;
分配步骤:接收客户端发送的请求,根据每个服务器的空闲值,利用预设的分配规则将所述请求分配给相应的服务器处理;
其中,所述计算步骤包括:根据服务器处理每个请求的平均响应时间,以及服务器的每个模块的配置参数、权重、使用率阈值及实时使用率,利用预设的第一计算公式分别计算出服务器的理论处理状态值及实时处理状态值;将服务器的理论处理状态值及实时处理状态值输入到预设的第二计算公式计算得到该服务器的空闲值;
所述第一计算公式包括:
中央处理器理论处理状态值
内存理论处理状态值
网络模块理论处理状态值
硬盘理论处理状态值
服务器的理论处理状态值
中央处理器实时处理状态值
内存实时处理状态值
网络模块实时处理状态值
硬盘实时处理状态值
服务器的实时处理状态值
其中,分别代表所述服务器的中央处理器、内存、网络模块、硬盘的权重,分别代表所述服务器的中央处理器、内存、网络模块、硬盘的使用率阈值,分别代表所述服务器的中央处理器每秒的理论计算量、内存的理论计算量、网络模块的延迟、硬盘的速度,分别代表所述服务器的中央处理器、内存、网络模块、硬盘的实时使用率;
所述第二计算公式为:
其中,代表所述服务器的空闲值,代表所述服务器的理论处理状态值,代表所述服务器的实时处理状态值。
2.根据权利要求1所述的负载均衡方法,其特征在于,所述分配规则包括:
设置服务器空闲值的预设值,判断所有服务器的空闲值与预设值的大小,若有预设数量的服务器的空闲值大于或等于所述预设值,则按照预设的负载均衡方式将请求分配给所述预设数量的服务器;
若所有服务器的空闲值均小于所述预设值,则暂停分配请求,延迟预设时间后,重新计算每个服务器的空闲值,并返回判断所有服务器的空闲值与预设值的大小的步骤。
3.根据权利要求1所述的负载均衡方法,其特征在于,该方法还包括:当服务器的某个模块的实时使用率大于使用率阈值时,自动调整服务器的处理速率使得实时使用率小于或等于使用率阈值。
4.一种电子装置,其特征在于,所述电子装置包括:存储器及处理器,所述存储器上存储有负载均衡程序,所述负载均衡程序被所述处理器执行,可实现如下步骤:
设置步骤:设置每个服务器的每个模块的权重及使用率阈值,所述模块包括中央处理器、内存、网络模块及硬盘;
统计步骤:统计每个服务器处理预设数量请求的总响应时间及实时使用率,计算出每个请求的平均响应时间;
计算步骤:根据每个服务器处理每个请求的平均响应时间,以及每个模块的配置参数、权重、使用率阈值及实时使用率,实时计算每个服务器的空闲值;
分配步骤:接收客户端发送的请求,根据每个服务器的空闲值,利用预设的分配规则将所述请求分配给相应的服务器处理;
其中,所述计算步骤包括:根据服务器处理每个请求的平均响应时间,以及服务器的每个模块的配置参数、权重、使用率阈值及实时使用率,利用预设的第一计算公式分别计算出服务器的理论处理状态值及实时处理状态值;将服务器的理论处理状态值及实时处理状态值输入到预设的第二计算公式计算得到该服务器的空闲值;
所述第一计算公式包括:
中央处理器理论处理状态值
内存理论处理状态值
网络模块理论处理状态值
硬盘理论处理状态值
服务器的理论处理状态值
中央处理器实时处理状态值
内存实时处理状态值
网络模块实时处理状态值
硬盘实时处理状态值
服务器的实时处理状态值
其中,分别代表所述服务器的中央处理器、内存、网络模块、硬盘的权重,分别代表所述服务器的中央处理器、内存、网络模块、硬盘的使用率阈值,分别代表所述服务器的中央处理器每秒的理论计算量、内存的理论计算量、网络模块的延迟、硬盘的速度,分别代表所述服务器的中央处理器、内存、网络模块、硬盘的实时使用率;
所述第二计算公式为:
其中,代表所述服务器的空闲值,代表所述服务器的理论处理状态值,代表所述服务器的实时处理状态值。
5.根据权利要求4所述的电子装置,其特征在于,所述分配规则包括:
设置服务器空闲值的预设值,判断所有服务器的空闲值与预设值的大小,若有预设数量的服务器的空闲值大于或等于所述预设值,则按照预设的负载均衡方式将请求分配给所述预设数量的服务器;
若所有服务器的空闲值均小于所述预设值,则暂停分配请求,延迟预设时间后,重新计算每个服务器的空闲值,并返回判断所有服务器的空闲值与预设值的大小的步骤。
6.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中包括负载均衡程序,所述负载均衡程序被处理器执行时,可实现如权利要求1至3中任一项所述负载均衡方法的步骤。
CN201811096374.2A 2018-09-19 2018-09-19 负载均衡方法、装置及存储介质 Active CN109408227B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811096374.2A CN109408227B (zh) 2018-09-19 2018-09-19 负载均衡方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811096374.2A CN109408227B (zh) 2018-09-19 2018-09-19 负载均衡方法、装置及存储介质

Publications (2)

Publication Number Publication Date
CN109408227A CN109408227A (zh) 2019-03-01
CN109408227B true CN109408227B (zh) 2023-04-14

Family

ID=65465040

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811096374.2A Active CN109408227B (zh) 2018-09-19 2018-09-19 负载均衡方法、装置及存储介质

Country Status (1)

Country Link
CN (1) CN109408227B (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110134513B (zh) * 2019-04-17 2023-08-22 平安科技(深圳)有限公司 负载均衡方法、装置、计算机设备及存储介质
CN110213351A (zh) * 2019-05-17 2019-09-06 北京航空航天大学 一种面向广域高性能计算环境的动态自适应io负载均衡方法
CN110389841A (zh) * 2019-07-25 2019-10-29 中南民族大学 一种服务器负载均衡方法、装置和存储介质
CN110691118A (zh) * 2019-08-30 2020-01-14 许昌许继软件技术有限公司 一种微服务集群中的服务选择方法及装置
CN112995265A (zh) * 2019-12-18 2021-06-18 中国移动通信集团四川有限公司 请求分发方法、装置及电子设备
CN111209110B (zh) * 2019-12-31 2023-10-10 明度智云(浙江)科技有限公司 一种实现负载均衡的任务调度管理方法、系统和存储介质
CN111432012A (zh) * 2020-03-30 2020-07-17 浙江每日互动网络科技股份有限公司 异步通信方法及装置、系统、终端和计算机可读存储介质
CN111597047A (zh) * 2020-05-15 2020-08-28 北京金山云网络技术有限公司 一种服务部署方法、装置、电子设备及存储介质
CN112118314B (zh) * 2020-09-18 2023-05-05 北京百度网讯科技有限公司 负载均衡方法和装置
CN112153138A (zh) * 2020-09-23 2020-12-29 杭州迪普科技股份有限公司 一种流量调度的方法及装置、电子设备、存储介质
CN113301126B (zh) * 2021-05-06 2024-03-12 中国南方电网有限责任公司 一种适用于异构组网网关的边缘计算方法
CN113285890B (zh) * 2021-05-18 2022-11-11 挂号网(杭州)科技有限公司 网关流量的分配方法、装置、电子设备及存储介质
CN113822485B (zh) * 2021-09-27 2023-10-20 国网山东省电力公司泗水县供电公司 一种配电网调度任务优化方法及系统
CN115225507B (zh) * 2022-07-21 2024-03-08 天翼云科技有限公司 一种服务器组资源分配方法、装置、设备及介质
CN115580618A (zh) * 2022-10-14 2023-01-06 济南浪潮数据技术有限公司 一种负载均衡方法、装置、设备及介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107295048A (zh) * 2016-04-01 2017-10-24 百度在线网络技术(北京)有限公司 负载均衡方法及装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013164822A (ja) * 2012-02-13 2013-08-22 Fujitsu Ltd 負荷閾値算出プログラム、負荷閾値算出装置および負荷閾値算出方法
CN104202220B (zh) * 2014-09-19 2018-02-23 北京国双科技有限公司 压力测试方法和装置
CN106445629B (zh) * 2016-07-22 2019-05-21 平安科技(深圳)有限公司 一种负载均衡的方法及其装置
CN107800756A (zh) * 2017-03-13 2018-03-13 平安科技(深圳)有限公司 一种负载均衡方法及负载均衡器
CN107196869B (zh) * 2017-07-14 2019-11-15 北京知道创宇信息技术股份有限公司 基于主机实际负载的自适应负载均衡方法、设备和系统

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107295048A (zh) * 2016-04-01 2017-10-24 百度在线网络技术(北京)有限公司 负载均衡方法及装置

Also Published As

Publication number Publication date
CN109408227A (zh) 2019-03-01

Similar Documents

Publication Publication Date Title
CN109408227B (zh) 负载均衡方法、装置及存储介质
CN107832126B (zh) 一种线程的调整方法及其终端
US11888756B2 (en) Software load balancer to maximize utilization
CN109144700B (zh) 超时时长的确定方法、装置、服务器和数据处理方法
WO2018210005A1 (zh) 系统上菜单选项的管理方法、装置、处理设备及介质
CN110602156A (zh) 一种负载均衡调度方法及装置
EP2930909A1 (en) Method and scheduler for arranging applications
CN111490963B (zh) 基于quic协议栈的数据处理方法、系统、设备及存储介质
CN108306717B (zh) 数据传输方法、服务器及存储介质
CN109327540A (zh) 电子装置、服务器负载均衡方法及存储介质
CN107995286B (zh) 基于dubbo平台的服务自动启停方法、服务器及存储介质
CN106817314B (zh) 大数据采集方法、装置以及系统
CN111464616A (zh) 自动调节应用负载服务数量的方法、服务器及存储介质
EP3369238B1 (en) Method, apparatus, computer-readable medium and computer program product for cloud file processing
CN104980472A (zh) 网络访问量的控制方法及装置
US9665409B2 (en) Methods and apparatus facilitating access to storage among multiple computers
WO2019061647A1 (zh) 队列消息处理方法、装置、终端设备及介质
WO2021012506A1 (zh) 语音识别系统中的负载均衡实现方法、装置以及计算机设备
CN114095567A (zh) 数据访问请求的处理方法、装置、计算机设备及介质
US9674064B1 (en) Techniques for server transaction processing
CN105025105A (zh) 请求处理方法和装置
CN109697117B (zh) 终端控制方法、装置以及计算机可读存储介质
CN109670932A (zh) 信贷数据核算方法、装置、系统和计算机存储介质
CN111858035A (zh) 一种fpga设备分配方法、装置、设备及存储介质
CN104021046A (zh) 处理应用的方法和装置

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