CN108259603A - 一种负载均衡方法及装置 - Google Patents

一种负载均衡方法及装置 Download PDF

Info

Publication number
CN108259603A
CN108259603A CN201810043261.XA CN201810043261A CN108259603A CN 108259603 A CN108259603 A CN 108259603A CN 201810043261 A CN201810043261 A CN 201810043261A CN 108259603 A CN108259603 A CN 108259603A
Authority
CN
China
Prior art keywords
nas
nas server
server
group
network throughput
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
CN201810043261.XA
Other languages
English (en)
Other versions
CN108259603B (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.)
New H3C Technologies Co Ltd
Original Assignee
New H3C Technologies 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 New H3C Technologies Co Ltd filed Critical New H3C Technologies Co Ltd
Priority to CN201810043261.XA priority Critical patent/CN108259603B/zh
Publication of CN108259603A publication Critical patent/CN108259603A/zh
Application granted granted Critical
Publication of CN108259603B publication Critical patent/CN108259603B/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
    • 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/1012Server selection for load balancing based on compliance of requirements or conditions with available server resources
    • 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/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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/1017Server selection for load balancing based on a round robin mechanism

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer And Data Communications (AREA)

Abstract

本申请提供了一种负载均衡方法及装置,其中,该方法包括:根据网络附属存储NAS组中各个NAS服务器当前的CPU利用率和网络吞吐量,确定每个NAS服务器在所属NAS组中的综合负载权重;所述综合负载权重用于衡量所述NAS组中的各个NAS服务器当前的服务能力;根据所述每个NAS服务器在所属NAS组中的综合负载权重,为访问所述NAS组的客户端选择NAS服务器;将选择的所述NAS服务器的IP地址发送给所述客户端,以便所述客户端向选择的所述NAS服务器发起访问请求。本申请实施例提高了分布式文件系统对客户端请求的处理效率。

Description

一种负载均衡方法及装置
技术领域
本申请涉及网络通信技术领域,具体而言,涉及一种负载均衡方法及装置。
背景技术
计算机通过文件系统来存储和管理计算机资源,在当今信息化时代,传统的数据存储方法通过单纯的增加硬盘数量来扩展计算机文件系统的存储容量已经无法满足实际需求,因此,引入了分布式文件系统来解决数据存储和管理的难题。这种分布式文件系统将固定于某个地点的单个文件系统扩展为可以分布在不同地点的多个文件系统,有效的解决了传统的文件系统过于集中、容灾能力弱的特点。
在分布式文件系统中,每个可以处理客户端请求的服务器称为网络附属存储(Network Attached Storage,NAS)服务器。为了均衡客户端的访问请求,需要将不同客户端的访问请求分散到不同的NAS服务器上,也就是实现集群NAS服务器的负载均衡。当客户端通过域名访问域名系统(Domain Name System,DNS)时,域名系统会根据预先设置的负载均衡策略将客户端的访问请求均匀分配给各个NAS服务器,从而使客户端的访问请求能够被迅速处理,提升了整个集群的性能。
当前技术中,DNS负载均衡实现算法大都是基于简单的轮询,即客户端对DNS发起请求后,DNS对当前可提供服务的NAS服务器进行轮询,返回给客户端一个可用的NAS服务器的IP地址,客户端直接按照该IP地址连接对应的NAS服务器即可,但是每个NAS服务器处理客户端访问请求的能力不同,若仅仅按照简单的轮询给客户端分配NAS服务器,无法充分利用NAS服务器资源,并且会影响整个分布式文件系统的处理效率。
发明内容
有鉴于此,本申请的目的在于提供一种负载均衡方法及装置,以提高分布式文件系统对客户端请求的处理效率。
第一方面,本申请实施例提供了一种负载均衡方法,包括:
根据网络附属存储NAS组中各个NAS服务器当前的CPU利用率和网络吞吐量,确定每个NAS服务器在所属NAS组中的综合负载权重;所述综合负载权重用于衡量所述NAS组中的各个NAS服务器当前的服务能力;
根据所述每个NAS服务器在所属NAS组中的综合负载权重,为访问所述NAS组的客户端选择NAS服务器;
将选择的所述NAS服务器的IP地址发送给所述客户端,以便所述客户端向选择的所述NAS服务器发起访问请求。
第二方面,本申请实施例提供了一种负载均衡装置,包括:
确定模块,用于根据网络附属存储NAS组中各个NAS服务器当前的CPU利用率和网络吞吐量,确定每个NAS服务器在所属NAS组中的综合负载权重;所述综合负载权重用于衡量所述NAS组中的各个NAS服务器当前的服务能力;
选择模块,用于根据所述每个NAS服务器在所属NAS组中的综合负载权重,为访问所述NAS组的客户端选择NAS服务器;
发送模块,用于将选择的所述NAS服务器的IP地址发送给所述客户端,以便所述客户端向选择的所述NAS服务器发起访问请求。
与现有技术中相比,本申请DNS服务器会根据NAS组中各个NAS服务器当前的CPU利用率和网络吞吐量,来确定每个NAS服务器在所属NAS组中的当前服务能力,并根据每个NAS服务器在所属NAS组中的当前服务能力为访问该NAS组的客户端选择NAS服务器,并不是通过简单的轮询策略为访问NAS组的客户端分配NAS服务器,本申请这种负载均衡方法能够结合NAS组中的每个NAS服务器的当前服务能力,为访问该NAS组的客户端选择合适的NAS服务器,能够充分利用NAS服务器资源,从而提高整个分布式文件系统的处理效率。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例所提供的一种分布式文件系统结构示意图;
图2示出了本申请实施例所提供的一种负载均衡方法流程示意图;
图3示出了本申请实施例所提供的一种确定NAS服务器的综合负载权重的流程示意图;
图4示出了本申请实施例所提供的一种加权轮询负载均衡图;
图5示出了本申请实施例所提供的一种负载均衡装置结构示意图;
图6示出了本申请实施例所提供的另一种负载均衡装置结构示意图。
具体实施方式
分布式文件系统中包括多个NAS组,每个NAS组是由若干个NAS服务器构建的一个集合,同一NAS组内的各个NAS服务器可以提供相同的服务内容。为了保证NAS组的服务效率,需要使用负载均衡策略。在提出本申请实施例方案之前,主要使用的负载均衡策略是简单轮询方式,但这种方式并没有考虑到每个NAS服务器当前实际的服务能力,基于此,本申请提出了另一种负载均衡策略-基于综合负载权重来选择NAS服务器。为了便于说明,本申请实施例以如图1所示,分布式文件系统包括3个NAS组,每个NAS组包括3个NAS服务器为例进行说明。
如图1所示,该分布式文件系统包括3个NAS组,分别记为NAS组1、NAS组2和NAS组3,各个NAS组均包括3个NAS服务器,这里的NAS服务器是分布式文件系统中对外提供文件存储服务的服务器,在其上一般安装提供服务器的软件,比如通用网络文件系统(CommonInternet File System,CIFS)和网络文件系统(Network File System,NFS),这里的CIFS允许windows客户端通过SMB(Server Messages Block,信息服务块)协议接入,NFS则允许linux客户端通过NFS协议接入。
需要说明的是,本申请实施例所提供的基于综合负载权重来选择NAS服务器的策略可以与现有的简单轮询方式结合使用。在具体实施中,可以为每个NAS组分别配置对应的负载均衡策略。一个NAS组的负载均衡策略与该NAS组中NAS服务器的配置相关,如果一个NAS组中的每个NAS服务器的配置均相同,则说明该NAS组中各个NAS服务器的服务能力也相同,则该NAS组的负载均衡策略可以被配置为简单轮询,若一个NAS组中各个NAS服务器的配置存在不同,则说明该NAS组中各个NAS服务器的服务能力不同,此时可以将该NAS组的负载均衡策略配置为本申请实施例所提供的基于综合负载权重来选择NAS服务器的策略。下面,本申请实施例重点对上述基于综合负载权重来选择NAS服务器的策略进行详细说明。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
实施例1
参见图2所示,本申请实施例1所提供的负载均衡方法包括以下步骤S200~S220:
S200:根据NAS组中各个NAS服务器当前的CPU利用率和网络吞吐量,确定每个NAS服务器在所属NAS组中的综合负载权重;该综合负载权重用于衡量NAS组中各个NAS服务器当前的服务能力。
其中,CPU利用率指运行的程序占用的CPU资源,网络吞吐量是指NAS服务器接收和发出的数据包的总大小。
NAS服务器的当前综合负载权重是与该NAS服务器当前的CPU利用率以及当前的网络吞吐量相关的,在本申请中,参见图3所示,本申请实施例1所提供的任一NAS服务的综合负载权重的确定方法包括以下步骤S300~S310:
S300:根据任一NAS服务器当前的CPU利用率,确定该任一NAS服务器的剩余CPU利用率;以及,根据任一NAS服务器的网络吞吐量以及同组的各个NAS服务器的最大网络吞吐量,确定任一NAS服务器的网络吞吐量相对值。
在步骤S300中,该NAS服务器的剩余CPU利用率可以通过以下公式(1)确定:
cpui=1-ci; (1)
其中,ci表示该任一NAS服务器当前的CPU利用率,这里的i是指该任一服务器为NAS组中的第i个NAS服务器。
其中,NAS服务器的网络吞吐量相对值可以通过差值或者比值进行表示,考虑到为了方便表示NAS服务器的综合负载权重,本申请实施例中采用比值来表示NAS服务器的网络吞吐量。
具体的,按照以下公式(2)确定NAS服务器的网络吞吐量相对值:
throughti=ti/tm(tm≥ti,i=1.2.3...n); (2)
其中,throughti表示第i个NAS服务器的网络吞吐量相对值;ti表示第i个NAS服务器的网络吞吐量;tm表示与第i个NAS服务器同组的各个NAS服务器中的最大的网络吞吐量值。
S310:根据任一NAS服务器的剩余CPU利用率和网络吞吐量相对值,确定任一NAS服务器的综合负载权重。
NAS服务器的综合负载权重表示NAS服务器当前的服务能力,其与剩余CPU利用率成正相关,与网络吞吐量相对值成负相关,具体地,NAS服务器的综合负载权重可以通过以下公式(3)进行计算:
wi=f(cpui,throughti)=(1-ci)a×tm/ti,(tm≥ti,i=1.2.3...n); (3)
其中,wi表示第i个NAS服务器的综合负载权重;cpui表示第i个NAS服务器的剩余CPU利用率;throughti表示第i个NAS服务器的网络吞吐量相对值;ci表示第i个NAS服务器的CPU利用率;a为设定系数;tm表示与第i个NAS服务器同组的各个NAS服务器中的最大的网络吞吐量值;ti表示第i个NAS服务器的网络吞吐量。
其中,a可以取正整数,需说明的是,在确定各个NAS服务器的综合负载权重时,a的取值应该相同,特别地,当a=2时,NAS服务器的综合负载权重由以下公式(4)确定:
wi=f(cpui,throughti)=(1-ci)2×tm/ti,(tm≥ti,i=1.2.3...n); (4)
由公式(4)可以看出,综合负载权重由CPU利用率和网络吞吐量决定,当CPU利用率低时,网络吞吐量对综合负载权重的影响占主导作用;当CPU利用率高时,CPU利用率影响逐渐加大。
具体地,确定每个NAS服务器在所属的NAS组中的综合负载权重包括几种不同的时机,具体情况如下:
(1)在接收到客户端针对NAS组的访问请求后,采集NAS组中各个NAS服务器当前的CPU利用率和网络吞吐量,并根据采集的NAS组中各个NAS服务器当前的CPU利用率和网络吞吐量,确定每个NAS服务器在所属NAS组中的综合负载权重。
(2)按照预设的周期,采集NAS组中各个NAS服务器当前的CPU利用率和网络吞吐量,并根据采集的NAS组中各个NAS服务器当前的CPU利用率和网络吞吐量,确定每个NAS服务器在所属NAS组中的综合负载权重,以便在接收到所述客户端针对所述NAS组的访问请求后,根据预先确定的每个NAS服务器在所属NAS组中的综合负载权重,为访问NAS组的客户端选择NAS服务器。
(3)按照预设的周期,采集NAS组中各个NAS服务器当前的CPU利用率和网络吞吐量;在接收到客户端针对NAS组的访问请求后,根据预先采集的NAS组中各个NAS服务器当前的CPU利用率和网络吞吐量,确定每个NAS服务器在所属NAS组中的综合负载权重。
综上,确定每个NAS服务器在所属的NAS组中的综合负载权重包括:
只有在接收到客户端请求时,才会进行CPU利用率和网路吞吐量的采集及综合负载权重的计算;或者,不管是否接收到客户端请求,一直周期性进行CPU利用率和网路吞吐量的采集及综合负载权重的计算;或者,不管是否接收到客户端请求,一直周期性进行CPU利用率和网路吞吐量采集,但是,只有在接收到客户端请求时,才会基于本周期内采集的CPU利用率和网路吞吐量值进行综合负载权重的计算。
S210:根据每个NAS服务器在所属NAS组中的综合负载权重,为访问NAS组的客户端选择NAS服务器。
具体地,针对上述情况(1),由于只有在接收到客户端的访问请求后,才会对各个NAS服务器进行CPU利用率和网路吞吐量采集及综合负载权重的计算,则可以通过比较客户端请求的NAS组中所有NAS服务器的综合负载权重,为访问该NAS组的客户端选取综合负载权重最大的NAS服务器。
针对上述情况(2)或者(3),因为预先采集并保存了CPU利用率和网路吞吐量,在一个设定周期内,综合负载权重不会被更新,则可以按照综合负载权重对应的比例为访问的客户端分配NAS服务器,比如,在某个设定周期内,3个NAS服务器的综合负载权重之比为3:2:1,则在该周期内3台服务器上接收客户端的访问请求个数之比大致为3:2:1。
S220:将选择的NAS服务器的IP地址发送给客户端,以便客户端向选择的NAS服务器发起访问请求。
这里,NAS服务器的IP地址一般指主服务器的IP地址。在分布式文件系统中,各个NAS服务器通过虚拟路由冗余协议(Virtual Router Redundancy Protocol,vrrp)保持高可用性,在每个NAS服务器中均预设一个主服务器和多个备份服务器,由主服务器统一对外提供虚拟动态IP地址,同时,主服务器会按照设定时间间隔向各个备份服务器发送vrrp包,若备份服务器接收不到该vrrp包时,则确定该服务器发生宕机,则会按照预先配置的vrrp优先级重新选择一个备份服务器作为主服务器,并将新的主服务器的IP地址作为此时的NAS服务器的IP地址,从而保证了NAS服务器的高可用性,避免了客户端无法访问该NAS服务器。
下面以上述第(3)种情况,并结合图1对客户端针对NAS组的访问请求进行详细阐述,该过程包括以下步骤S400~S420:
S400:DNS服务器按照预设的周期,比如每隔30秒采集一下图1中的分布式文件系统中的每个NAS组中的中各个NAS服务器的当前的CPU利用率和网络吞吐量,并保存最新的采集数据。
S410:当DNS服务器接收到客户端针对NAS组的访问请求后,首先从该访问请求对应的域名中获取到该客户端请求访问的NAS组,比如,该客户端请求访问的NAS组为NAS组2,并确定该NAS组2对应的负载均衡策略为综合负载。
S420:DNS服务器根据预先保存在本地的采集数据以及公式(1)、公式(2)和公式(3),确定NAS组2中的NAS服务器21、NAS服务器22和NAS服务器23的综合负载权重,并最终根据公式(3)确定了NAS服务器21、NAS服务器22和NAS服务器23的综合负载权重分别为0.3、0.2和0.1,则依次对客户端分配访问的NAS服务器为:NAS服务器21、NAS服务器22、NAS服务器23、NAS服务器21、NAS服务器22和NAS服务器21,即在设定的一段时间内,NAS组2中的3台服务器接收客户端的请求个数比例大致为3:2:1,如图4所示,为在设定的一端时间t1~t6内,接收到客户端的访问请求后,向客户端分配的NAS服务器的负载均衡图。
其中,t1~t6可以为预设的周期内的一个相邻的时间段,在该周期内,NAS组2中的3个NAS服务器的综合负载权重之比为3:2:1,则DNS服务器会按照图4所示的顺序依次处理客户端的访问请求,在本周期内,超过t6的下一个时刻,则会重新按照该方法处理客户端的访问请求,若超过该周期接收到客户端的访问请求时,则会按照重新采集的各个NAS服务器的CPU利用率和网络吞吐量计算当前NAS组2内各个NAS服务器的综合负载权重,并按照重新确定的综合负载权重处理客户端的访问请求。
实施例2
参见图5所示,本申请实施例2提供的负载均衡装置500,该负载均衡装置500存储于实施例1提出的DNS服务器中,包括:
确定模块501,用于根据NAS组中各个NAS服务器当前的CPU利用率和网络吞吐量,确定每个NAS服务器在所属NAS组中的综合负载权重;综合负载权重用于衡量NAS组中的各个NAS服务器当前的服务能力。
选择模块502,用于根据每个NAS服务器在所属NAS组中的综合负载权重,为访问NAS组的客户端选择NAS服务器。
发送模块503,用于将选择的NAS服务器的IP地址发送给客户端,以便客户端向选择的NAS服务器发起访问请求。
可选地,确定模块501,具体用于:
在接收到客户端针对所述NAS组的访问请求后,采集NAS组中各个NAS服务器当前的CPU利用率和网络吞吐量,并根据采集的NAS组中各个NAS服务器当前的CPU利用率和网络吞吐量,确定每个NAS服务器在所属NAS组中的综合负载权重。或者,
按照预设的周期,采集NAS组中各个NAS服务器当前的CPU利用率和网络吞吐量,并根据采集的NAS组中各个NAS服务器当前的CPU利用率和网络吞吐量,确定每个NAS服务器在所属NAS组中的综合负载权重,以便在接收到客户端针对所述NAS组的访问请求后,根据预先确定的每个NAS服务器在所属NAS组中的综合负载权重,为访问NAS组的客户端选择NAS服务器。或者,
按照预设的周期,采集NAS组中各个NAS服务器当前的CPU利用率和网络吞吐量;在接收到客户端针对NAS组的访问请求后,根据预先采集的NAS组中各个NAS服务器当前的CPU利用率和网络吞吐量,确定每个NAS服务器在所属NAS组中的综合负载权重。
可选地,确定模块501具体用于:
根据任一NAS服务器当前的CPU利用率,确定该任一NAS服务器的剩余CPU利用率;以及,根据任一NAS服务器的网络吞吐量以及同组的各个NAS服务器的最大网络吞吐量,确定任一NAS服务器的网络吞吐量相对值。
根据任一NAS服务器的剩余CPU利用率和所述网络吞吐量相对值,确定任一NAS服务器的综合负载权重。
可选地,确定模块501具体按照以下公式确定NAS服务器的网络吞吐量相对值:
throughti=ti/tm(tm≥ti,i=1.2.3...n);
其中,throughti表示第i个NAS服务器的网络吞吐量相对值;ti表示第i个NAS服务器的网络吞吐量;tm表示与第i个NAS服务器同组的各个NAS服务器中的最大的网络吞吐量值。
可选地,确定模块501具体按照以下公式确定NAS服务器的综合负载权重:
wi=f(cpui,throughti)=(1-ci)a×tm/ti,(tm≥ti,i=1.2.3...n);
其中,wi表示第i个NAS服务器的综合负载权重;cpui表示第i个NAS服务器的剩余CPU利用率;throughti表示第i个NAS服务器的网络吞吐量相对值;ci表示第i个NAS服务器的CPU利用率;a为设定系数;tm表示与第i个NAS服务器同组的各个NAS服务器中的最大的网络吞吐量值;ti表示第i个NAS服务器的网络吞吐量。
如图6所示,为本申请另一实施例所提供的负载均衡装置600的结构示意图,该负载均衡装置600包括:处理器601、存储器602和总线603,存储器602存储执行指令,当装置运行时,处理器601与存储器602之间通过总线603通信,处理器601执行存储器602中存储的如下执行指令:
根据网络附属存储NAS组中各个NAS服务器当前的CPU利用率和网络吞吐量,确定每个NAS服务器在所属NAS组中的综合负载权重;综合负载权重用于衡量NAS组中的各个NAS服务器当前的服务能力。
根据每个NAS服务器在所属NAS组中的综合负载权重,为访问NAS组的客户端选择NAS服务器。
将选择的NAS服务器的IP地址发送给客户端,以便客户端向选择的NAS服务器发起访问请求。
可选地,处理器601执行的执行指令具体包括:
在接收到客户端针对NAS组的访问请求后,采集NAS组中各个NAS服务器当前的CPU利用率和网络吞吐量,并根据采集的NAS组中各个NAS服务器当前的CPU利用率和网络吞吐量,确定每个NAS服务器在所属NAS组中的综合负载权重。或者,
确定每个NAS服务器在所属NAS组中的综合负载权重,包括:按照预设的周期,采集NAS组中各个NAS服务器当前的CPU利用率和网络吞吐量,并根据采集的NAS组中各个NAS服务器当前的CPU利用率和网络吞吐量,确定每个NAS服务器在所属NAS组中的综合负载权重,以便在接收到客户端针对NAS组的访问请求后,根据预先确定的每个NAS服务器在所属NAS组中的综合负载权重,为访问NAS组的客户端选择NAS服务器。或者,
确定每个NAS服务器在所属NAS组中的综合负载权重,包括:按照预设的周期,采集NAS组中各个NAS服务器当前的CPU利用率和网络吞吐量;在接收到客户端针对NAS组的访问请求后,根据预先采集的NAS组中各个NAS服务器当前的CPU利用率和网络吞吐量,确定每个NAS服务器在所属NAS组中的综合负载权重。
可选地,处理器601执行的执行指令中,确定任一NAS服务器的综合负载权重包括:
根据任一NAS服务器当前的CPU利用率,确定该任一NAS服务器的剩余CPU利用率;以及,根据任一NAS服务器的网络吞吐量以及同组的各个NAS服务器的最大网络吞吐量,确定任一NAS服务器的网络吞吐量相对值。
根据任一NAS服务器的剩余CPU利用率和网络吞吐量相对值,确定任一NAS服务器的综合负载权重。
可选地,处理器601按照以下公式确定NAS服务器的所述剩余CPU利用率:
throughti=ti/tm(tm≥ti,i=1.2.3...n);
其中,throughti表示第i个NAS服务器的网络吞吐量相对值;ti表示第i个NAS服务器的网络吞吐量;tm表示与第i个NAS服务器同组的各个NAS服务器中的最大的网络吞吐量值。
可选地,处理器601按照以下公式确定NAS服务器的综合负载权重:
wi=f(cpui,throughti)=(1-ci)a×tm/ti,(tm≥ti,i=1.2.3...n);
其中,wi表示第i个NAS服务器的综合负载权重;cpui表示第i个NAS服务器的剩余CPU利用率;throughti表示第i个NAS服务器的网络吞吐量相对值;ci表示第i个NAS服务器的CPU利用率;a为设定系数;tm表示与第i个NAS服务器同组的各个NAS服务器中的最大的网络吞吐量值;ti表示第i个NAS服务器的网络吞吐量。
与现有技术中相比,本申请DNS服务器会根据NAS组中各个NAS服务器当前的CPU利用率和网络吞吐量,来确定每个NAS服务器在所属NAS组中的当前服务能力,并根据每个NAS服务器在所属NAS组中的当前服务能力为访问该NAS组的客户端选择NAS服务器,并不是通过简单的轮询策略为访问NAS组的客户端分配NAS服务器,本申请这种负载均衡方法能够结合NAS组中的每个NAS服务器的当前服务能力,为访问该NAS组的客户端选择合适的NAS服务器,能够充分利用NAS服务器资源,从而提高整个分布式文件系统的处理效率。
本申请实施例所提供的进行负载均衡方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
本申请实施例所提供的负载均衡装置可以为设备上的特定硬件或者安装于设备上的软件或固件等。本申请实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,前述描述的系统、装置和单元的具体工作过程,均可以参考上述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请提供的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释,此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围。都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

Claims (10)

1.一种负载均衡方法,其特征在于,包括:
根据网络附属存储NAS组中各个NAS服务器当前的CPU利用率和网络吞吐量,确定每个NAS服务器在所属NAS组中的综合负载权重;所述综合负载权重用于衡量所述NAS组中的各个NAS服务器当前的服务能力;
根据所述每个NAS服务器在所属NAS组中的综合负载权重,为访问所述NAS组的客户端选择NAS服务器;
将选择的所述NAS服务器的IP地址发送给所述客户端,以便所述客户端向选择的所述NAS服务器发起访问请求。
2.根据权利要求1所述的方法,其特征在于,所述确定每个NAS服务器在所属NAS组中的综合负载权重,包括:
在接收到所述客户端针对所述NAS组的访问请求后,采集所述NAS组中各个NAS服务器当前的CPU利用率和网络吞吐量,并根据采集的所述NAS组中各个NAS服务器当前的CPU利用率和网络吞吐量,确定每个NAS服务器在所属NAS组中的综合负载权重;或者,
所述确定每个NAS服务器在所属NAS组中的综合负载权重,包括:按照预设的周期,采集所述NAS组中各个NAS服务器当前的CPU利用率和网络吞吐量,并根据采集的所述NAS组中各个NAS服务器当前的CPU利用率和网络吞吐量,确定每个NAS服务器在所属NAS组中的综合负载权重,以便在接收到所述客户端针对所述NAS组的访问请求后,根据预先确定的所述每个NAS服务器在所属NAS组中的综合负载权重,为访问所述NAS组的客户端选择NAS服务器;或者,
所述确定每个NAS服务器在所属NAS组中的综合负载权重,包括:按照预设的周期,采集所述NAS组中各个NAS服务器当前的CPU利用率和网络吞吐量;在接收到所述客户端针对所述NAS组的访问请求后,根据预先采集的所述NAS组中各个NAS服务器当前的CPU利用率和网络吞吐量,确定每个NAS服务器在所属NAS组中的综合负载权重。
3.根据权利要求1所述的方法,其特征在于,根据以下步骤确定任一NAS服务器的综合负载权重:
根据所述任一NAS服务器当前的CPU利用率,确定该任一NAS服务器的剩余CPU利用率;以及,根据所述任一NAS服务器的网络吞吐量以及同组的各个NAS服务器的最大网络吞吐量,确定所述任一NAS服务器的网络吞吐量相对值;
根据所述任一NAS服务器的剩余CPU利用率和所述网络吞吐量相对值,确定所述任一NAS服务器的综合负载权重。
4.根据权利要求3所述的方法,其特征在于,包括:按照以下公式确定所述NAS服务器的网络吞吐量相对值:
throughti=ti/tm(tm≥ti,i=1.2.3...n);
其中,throughti表示第i个NAS服务器的网络吞吐量相对值;ti表示第i个NAS服务器的网络吞吐量;tm表示与第i个NAS服务器同组的各个NAS服务器中的最大的网络吞吐量值。
5.根据权利要求3所述的方法,其特征在于,按照以下公式确定所述NAS服务器的综合负载权重:
wi=f(cpui,throughti)=(1-ci)a×tm/ti,(tm≥ti,i=1.2.3...n);
其中,wi表示第i个NAS服务器的综合负载权重;cpui表示第i个NAS服务器的剩余CPU利用率;throughti表示第i个NAS服务器的网络吞吐量相对值;ci表示第i个NAS服务器的CPU利用率;a为设定系数;tm表示与第i个NAS服务器同组的各个NAS服务器中的最大的网络吞吐量值;ti表示第i个NAS服务器的网络吞吐量。
6.一种负载均衡装置,其特征在于,包括:
确定模块,用于根据网络附属存储NAS组中各个NAS服务器当前的CPU利用率和网络吞吐量,确定每个NAS服务器在所属NAS组中的综合负载权重;所述综合负载权重用于衡量所述NAS组中的各个NAS服务器当前的服务能力;
选择模块,用于根据所述每个NAS服务器在所属NAS组中的综合负载权重,为访问所述NAS组的客户端选择NAS服务器;
发送模块,用于将选择的所述NAS服务器的IP地址发送给所述客户端,以便所述客户端向选择的所述NAS服务器发起访问请求。
7.根据权利要求6所述的装置,其特征在于,所述确定模块,具体用于:
在接收到所述客户端针对所述NAS组的访问请求后,采集所述NAS组中各个NAS服务器当前的CPU利用率和网络吞吐量,并根据采集的所述NAS组中各个NAS服务器当前的CPU利用率和网络吞吐量,确定每个NAS服务器在所属NAS组中的综合负载权重;或者,
按照预设的周期,采集所述NAS组中各个NAS服务器当前的CPU利用率和网络吞吐量,并根据采集的所述NAS组中各个NAS服务器当前的CPU利用率和网络吞吐量,确定每个NAS服务器在所属NAS组中的综合负载权重,以便在接收到所述客户端针对所述NAS组的访问请求后,根据预先确定的所述每个NAS服务器在所属NAS组中的综合负载权重,为访问所述NAS组的客户端选择NAS服务器;或者,
按照预设的周期,采集所述NAS组中各个NAS服务器当前的CPU利用率和网络吞吐量;在接收到所述客户端针对所述NAS组的访问请求后,根据预先采集的所述NAS组中各个NAS服务器当前的CPU利用率和网络吞吐量,确定每个NAS服务器在所属NAS组中的综合负载权重。
8.根据权利要求6所述的装置,其特征在于,所述确定模块具体用于:
根据任一NAS服务器当前的CPU利用率,确定该任一NAS服务器的剩余CPU利用率;以及,根据所述任一NAS服务器的网络吞吐量以及同组的各个NAS服务器的最大网络吞吐量,确定所述任一NAS服务器的网络吞吐量相对值;
根据所述任一NAS服务器的剩余CPU利用率和所述网络吞吐量相对值,确定所述任一NAS服务器的综合负载权重。
9.根据权利要求8所述的装置,其特征在于,所述确定模块具体按照以下公式确定所述NAS服务器的网络吞吐量相对值:
throughti=ti/tm(tm≥ti,i=1.2.3...n);
其中,throughti表示第i个NAS服务器的网络吞吐量相对值;ti表示第i个NAS服务器的网络吞吐量;tm表示与第i个NAS服务器同组的各个NAS服务器中的最大的网络吞吐量值。
10.根据权利要求8所述的装置,其特征在于,所述确定模块具体按照以下公式确定所述NAS服务器的综合负载权重:
wi=f(cpui,throughti)=(1-ci)a×tm/ti,(tm≥ti,i=1.2.3...n);
其中,wi表示第i个NAS服务器的综合负载权重;cpui表示第i个NAS服务器的剩余CPU利用率;throughti表示第i个NAS服务器的网络吞吐量相对值;ci表示第i个NAS服务器的CPU利用率;a为设定系数;tm表示与第i个NAS服务器同组的各个NAS服务器中的最大的网络吞吐量值;ti表示第i个NAS服务器的网络吞吐量。
CN201810043261.XA 2018-01-17 2018-01-17 一种负载均衡方法及装置 Active CN108259603B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810043261.XA CN108259603B (zh) 2018-01-17 2018-01-17 一种负载均衡方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810043261.XA CN108259603B (zh) 2018-01-17 2018-01-17 一种负载均衡方法及装置

Publications (2)

Publication Number Publication Date
CN108259603A true CN108259603A (zh) 2018-07-06
CN108259603B CN108259603B (zh) 2021-05-07

Family

ID=62726567

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810043261.XA Active CN108259603B (zh) 2018-01-17 2018-01-17 一种负载均衡方法及装置

Country Status (1)

Country Link
CN (1) CN108259603B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109104500A (zh) * 2018-09-29 2018-12-28 广东省信息工程有限公司 一种动态调整的服务器负载均衡方法及装置
CN109347944A (zh) * 2018-10-11 2019-02-15 郑州云海信息技术有限公司 一种域名解析方法及装置
CN109783462A (zh) * 2018-12-13 2019-05-21 创新科存储技术有限公司 一种基于分布式文件系统的数据访问方法和装置
CN110647399A (zh) * 2019-09-22 2020-01-03 南京信易达计算技术有限公司 一种基于人工智能网络的高性能计算系统及方法
CN112241319A (zh) * 2019-07-19 2021-01-19 伊姆西Ip控股有限责任公司 均衡负载的方法、电子设备和计算机程序产品
CN112422610A (zh) * 2020-09-11 2021-02-26 深圳市证通电子股份有限公司 一种基于分布式对象存储的智能网关方法和系统
CN116820844A (zh) * 2023-08-29 2023-09-29 南京云信达科技有限公司 一种有效利用存储容量和性能的存储池组设计和优化方法

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1972311A (zh) * 2006-12-08 2007-05-30 华中科技大学 一种基于集群均衡负载的流媒体服务器系统
CN101557499A (zh) * 2008-04-09 2009-10-14 中兴通讯股份有限公司 媒体交付系统及方法、媒体交付系统资源更新方法
WO2010011827A2 (en) * 2008-07-24 2010-01-28 Netapp, Inc. Load-derived probability-based domain name service in a network storage cluster
CN101699825A (zh) * 2009-10-28 2010-04-28 成都市华为赛门铁克科技有限公司 网络文件系统访问方法、装置及系统
CN102508718A (zh) * 2011-11-22 2012-06-20 杭州华三通信技术有限公司 一种虚拟机负载均衡方法和装置
CN104780210A (zh) * 2015-04-13 2015-07-15 杭州华三通信技术有限公司 负载均衡方法以及装置
CN105260235A (zh) * 2015-09-23 2016-01-20 浪潮集团有限公司 一种云平台中基于应用场景的资源调度方法及装置
CN105871983A (zh) * 2015-12-10 2016-08-17 乐视云计算有限公司 一种选择服务器的方法及装置
CN106961490A (zh) * 2017-05-11 2017-07-18 郑州云海信息技术有限公司 一种资源监控方法及系统、一种本地服务器
CN107026899A (zh) * 2017-02-23 2017-08-08 成都谷辘信息技术有限公司 一种基于动态链接库的高效易用稳定的负载均衡服务器
CN107124472A (zh) * 2017-06-26 2017-09-01 杭州迪普科技股份有限公司 负载均衡方法及装置、计算机可读存储介质
US20170346889A1 (en) * 2016-05-31 2017-11-30 Linkedin Corporation Co-locating application instances
CN107547429A (zh) * 2017-07-28 2018-01-05 新华三信息安全技术有限公司 一种负载确定方法、装置及电子设备

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1972311A (zh) * 2006-12-08 2007-05-30 华中科技大学 一种基于集群均衡负载的流媒体服务器系统
CN101557499A (zh) * 2008-04-09 2009-10-14 中兴通讯股份有限公司 媒体交付系统及方法、媒体交付系统资源更新方法
WO2010011827A2 (en) * 2008-07-24 2010-01-28 Netapp, Inc. Load-derived probability-based domain name service in a network storage cluster
CN101699825A (zh) * 2009-10-28 2010-04-28 成都市华为赛门铁克科技有限公司 网络文件系统访问方法、装置及系统
CN102508718A (zh) * 2011-11-22 2012-06-20 杭州华三通信技术有限公司 一种虚拟机负载均衡方法和装置
CN104780210A (zh) * 2015-04-13 2015-07-15 杭州华三通信技术有限公司 负载均衡方法以及装置
CN105260235A (zh) * 2015-09-23 2016-01-20 浪潮集团有限公司 一种云平台中基于应用场景的资源调度方法及装置
CN105871983A (zh) * 2015-12-10 2016-08-17 乐视云计算有限公司 一种选择服务器的方法及装置
US20170346889A1 (en) * 2016-05-31 2017-11-30 Linkedin Corporation Co-locating application instances
CN107026899A (zh) * 2017-02-23 2017-08-08 成都谷辘信息技术有限公司 一种基于动态链接库的高效易用稳定的负载均衡服务器
CN106961490A (zh) * 2017-05-11 2017-07-18 郑州云海信息技术有限公司 一种资源监控方法及系统、一种本地服务器
CN107124472A (zh) * 2017-06-26 2017-09-01 杭州迪普科技股份有限公司 负载均衡方法及装置、计算机可读存储介质
CN107547429A (zh) * 2017-07-28 2018-01-05 新华三信息安全技术有限公司 一种负载确定方法、装置及电子设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
马飞: "云数据中心中虚拟机放置和实时迁移研究", 《中国博士学位论文全文数据库》 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109104500A (zh) * 2018-09-29 2018-12-28 广东省信息工程有限公司 一种动态调整的服务器负载均衡方法及装置
CN109347944A (zh) * 2018-10-11 2019-02-15 郑州云海信息技术有限公司 一种域名解析方法及装置
CN109783462A (zh) * 2018-12-13 2019-05-21 创新科存储技术有限公司 一种基于分布式文件系统的数据访问方法和装置
CN109783462B (zh) * 2018-12-13 2021-01-05 创新科技术有限公司 一种基于分布式文件系统的数据访问方法和装置
CN112241319A (zh) * 2019-07-19 2021-01-19 伊姆西Ip控股有限责任公司 均衡负载的方法、电子设备和计算机程序产品
CN110647399A (zh) * 2019-09-22 2020-01-03 南京信易达计算技术有限公司 一种基于人工智能网络的高性能计算系统及方法
CN112422610A (zh) * 2020-09-11 2021-02-26 深圳市证通电子股份有限公司 一种基于分布式对象存储的智能网关方法和系统
CN112422610B (zh) * 2020-09-11 2023-06-16 深圳市证通电子股份有限公司 一种基于分布式对象存储的智能网关方法和系统
CN116820844A (zh) * 2023-08-29 2023-09-29 南京云信达科技有限公司 一种有效利用存储容量和性能的存储池组设计和优化方法
CN116820844B (zh) * 2023-08-29 2023-11-07 南京云信达科技有限公司 一种有效利用存储容量和性能的存储池组设计和优化方法

Also Published As

Publication number Publication date
CN108259603B (zh) 2021-05-07

Similar Documents

Publication Publication Date Title
CN108259603B (zh) 一种负载均衡方法及装置
US10404790B2 (en) HTTP scheduling system and method of content delivery network
CN107026907B (zh) 一种负载均衡方法、负载均衡器及负载均衡系统
US10044797B2 (en) Load balancing of distributed services
CN106210147B (zh) 一种基于轮询的负载均衡方法和装置
CN107251533B (zh) 用于对等匹配的位于一处的对等设备
CN108737470B (zh) 一种访问请求回源方法和装置
CN107278365B (zh) 用于可扩展的对等匹配的设备
CN108124020B (zh) 域名解析方法、系统及设备
CN109558446B (zh) 作业请求方法、装置、电子设备及存储介质
CN107105013B (zh) 文件的处理方法、服务器、终端和系统
US20150196841A1 (en) Load balancing system and method for rendering service in cloud gaming environment
CN108933829A (zh) 一种负载均衡方法及装置
CN108718327B (zh) 一种许可证资源调度方法及系统
CN113452808B (zh) 域名解析方法、装置、设备及存储介质
US20220318071A1 (en) Load balancing method and related device
CN109032800A (zh) 一种负载均衡调度方法、负载均衡器、服务器及系统
JP2005182641A (ja) 動的負荷分散システム及び動的負荷分散方法
CN112445774A (zh) 一种分布式共享文件系统及其数据处理方法
CN113361913A (zh) 一种通信业务编排方法、装置、计算机设备及存储介质
CN110674098B (zh) 一种分布式文件系统中的域名解析方法
KR101131787B1 (ko) 캐시서버에 저장된 데이터 갱신방법, 그 캐시서버 및 컨텐츠 제공시스템
CN114124797B (zh) 一种服务器路由方法、装置、电子设备及存储介质
CN111274022A (zh) 服务器资源分配方法和系统
EP3304865B1 (en) Systems and methods for server failover and load balancing

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