首页 / 专利库 / 商业 / 电子商务 / 一种计算机的负载均衡方法及装置

一种计算机的负载均衡方法及装置

阅读:25发布:2024-01-11

专利汇可以提供一种计算机的负载均衡方法及装置专利检索,专利查询,专利分析的服务。并且本 发明 提供一种 服务器 动态负载均衡方法及装置。所述动态负载均衡方法包括:根据用户 请求 的URL应用层信息对接收的所述用户请求进行分类并发往相应的队列;不同队列对应不同的服务器集群;采集各 节点 服务器的响应时间,并根据响应时间计算各节点服务器的当前负载权值;采用加权轮转法,将相应队列的用户请求根据所述当前负载权值分发至对应集群的节点服务器。本发明不仅克服了静态负载均衡的缺点,能够实时根据节点服务器的负载进行分发,并且能够根据请求内容把相同的请求分发到相同服务器上,能够充分发挥各种服务器的性能,实现最大限度的负载均衡。,下面是一种计算机的负载均衡方法及装置专利的具体信息内容。

1.一种服务器动态负载均衡方法,其特征在于,所述动态负载均衡方法包括:
根据用户请求的URL应用层信息对接收的所述用户请求进行分类并发往相应的队列;
不同队列对应不同的服务器集群;
采集各节点服务器的响应时间,并根据响应时间计算各节点服务器的当前负载权值;
采用加权轮转法,将相应队列的用户请求根据所述当前负载权值分发至对应集群的节点服务器。
2.如权利要求1所述的服务器动态负载均衡方法,其特征在于,每个所述服务器集群至少包括两个节点服务器。
3.如权利要求1所述的服务器动态负载均衡方法,其特征在于,周期性的采集各节点服务器的响应时间。
4.如权利要求1所述的服务器动态负载均衡方法,其特征在于,所述根据用户请求的URL应用层信息对接收的所述用户请求进行分类包括:
根据用户请求的URL应用层信息对接收的所述用户请求分为静态文件请求型、DB查询型、DB单事务型、DB多事务型、多媒体型以及电子商务型。
5.如权利要求1所述的服务器动态负载均衡方法,其特征在于,所述动态负载均衡方法还包括:
根据 计算各节点服务
器的初始负载权值Loading(Ri);
其中,Lcpu(Ri)为CPU处理速度,Lm(Ri)为内存容量,Li/o(Ri)为系统I/O速率,Lnet(Ri)为节点的网络接口速率,Ci表示节点服务器i的处理器数量;BASEcpu为基准CPU处理速度、BASEm为基准内存容量、BASEi/o为基准I/O速率,BASEnet为基准网络接口速率,fi为节点服务器i对应的可调系数,其中Σfi=1。
6.一种服务器动态负载均衡装置,其特征在于,所述动态负载均衡装置包括:
请求分类单元,用于根据用户请求的URL应用层信息对接收的所述用户请求进行分类并发往相应的队列;不同队列对应不同的服务器集群;
权值计算单元,用于采集各节点服务器的响应时间,并根据响应时间计算各节点服务器的当前负载权值;
请求分发单元,用于采用加权轮转法,将相应队列的用户请求根据所述当前负载权值分发至对应集群的节点服务器。
7.如权利要求6所述的服务器动态负载均衡装置,其特征在于,每个所述服务器集群至少包括两个节点服务器。
8.如权利要求6所述的服务器动态负载均衡装置,其特征在于,权值计算单元,用于周期性的采集各节点服务器的响应时间。
9.如权利要求6所述的服务器动态负载均衡装置,其特征在于,请求分类单元用于根据用户请求的URL应用层信息对接收的所述用户请求分为静态文件请求型、DB查询型、DB单事务型、DB多事务型、多媒体型以及电子商务型。
10.如权利要求1所述的服务器动态负载均衡装置,其特征在于,所述动态负载均衡装置还包括:
初始权值计算单元,用于根据
计算各节点服务器的初始负载权值Loading(Ri);
其中,Lcpu(Ri)为CPU处理速度,Lm(Ri)为内存容量,Li/o(Ri)为系统I/O速率,Lnet(Ri)为节点的网络接口速率,Ci表示节点服务器i的处理器数量;BASEcpu为基准CPU处理速度、BASEm为基准内存容量、BASEi/o为基准I/O速率,BASEnet为基准网络接口速率,fi为节点服务器i对应的可调系数,其中Σfi=1。

说明书全文

一种计算机的负载均衡方法及装置

技术领域

[0001] 本发明涉及计算机负载均衡领域,尤其涉及一种根据请求类型分发请求的计算机负载均衡方法及装置。

背景技术

[0002] Internet的飞速发展给网络带宽和服务器带来巨大的挑战。从网络技术的发展来看,网络带宽的增长远高于处理器速度和内存访问速度的增长。基于此,负载均衡成为计算机发展的一种趋势。
[0003] 负载均衡用在多个计算机(计算机集群)、网络连接、CPU、磁盘驱动器或其他资源中分配负载,以达到最佳化资源使用、最大化吞吐率、最小化响应时间、同时避免过载的目的,使用带有负载平衡的多个服务器组件,取代单一的组件,可以通过冗余提高可靠性。负载平衡服务通常是由专用软体和硬件来完成负载平衡最重要的一个应用是利用多台服务器提供单一服务,这种方案有时也称之为"服务器农场"。通常,负载平衡主要应用于:Web网站、高流量的文件下载网站、DNS服务、SOCKET长连接、HTTP连接、数据库连接等服务。集群一般由一台服务器接受请求,并按照某种策略动态地分配到各节点服务器上进行处理。集群的负载均衡策略是提高集群整体性能的关键,其目的是根据处理机的性能来分配与其相称的任务,以最小化应用程序的执行时间,最大限度的利用各节点的处理能,从而提高集群系统的整体性能。
[0004] 常见的负载均衡算法包括两大类:一类是静态负载均衡算法,常用的如轮转法(Round-Robin)、最小连接数法(Least-Connection)等,这些算法都没有考虑到用户请求任务间的差异和集群内各节点服务器的性能差异及实际负载情况,无法充分利用各节点服务器的处理能力,并不能有效地解决集群内各服务器间的负载均衡问题。另一类是动态负载均衡算法,可以根据各节点服务器的实际情况动态分发用户请求。
[0005] 静态调度算法不能根据服务器的负载情况实时调整调度策略。普通动态不能根据客户端请求内容调度,不能充分发挥服务器性能。

发明内容

[0006] 为克服现有技术中存在的上述问题,本发明的目的在于,提供一种服务器动态负载均衡方法,包括:
[0007] 根据用户请求的URL应用层信息对接收的所述用户请求进行分类并发往相应的队列;不同队列对应不同的服务器集群;
[0008] 采集各节点服务器的响应时间,并根据响应时间计算各节点服务器的当前负载权值;
[0009] 采用加权轮转法,将相应队列的用户请求根据所述当前负载权值分发至对应集群的节点服务器。
[0010] 优选的,每个所述服务器集群至少包括两个节点服务器。
[0011] 优选的,周期性的采集各节点服务器的响应时间。
[0012] 优选的,所述根据用户请求的URL应用层信息对接收的所述用户请求进行分类包括:
[0013] 根据用户请求的URL应用层信息对接收的所述用户请求分为静态文件请求型、DB查询型、DB单事务型、DB多事务型、多媒体型以及电子商务型。
[0014] 优选的,所述动态负载均衡方法还包括:
[0015] 根据 计算各节点服务器的初始负载权值Loading(Ri);
[0016] 其中,Lcpu(Ri)为CPU处理速度,Lm(Ri)为内存容量,Li/o(Ri)为系统I/O速率,Lnet(Ri)为节点的网络接口速率,Ci表示节点服务器i的处理器数量;BASEcpu为基准CPU处理速度、BASEm为基准内存容量、BASEi/o为基准I/O速率,BASEnet为基准网络接口速率,fi为节点服务器i对应的可调系数,其中Σfi=1。
[0017] 本发明另一方面还提供了一种服务器动态负载均衡装置,包括:
[0018] 请求分类单元,用于根据用户请求的URL应用层信息对接收的所述用户请求进行分类并发往相应的队列;不同队列对应不同的服务器集群;
[0019] 权值计算单元,用于采集各节点服务器的响应时间,并根据响应时间计算各节点服务器的当前负载权值;
[0020] 请求分发单元,用于采用加权轮转法,将相应队列的用户请求根据所述当前负载权值分发至对应集群的节点服务器。
[0021] 优选的,每个所述服务器集群至少包括两个节点服务器。
[0022] 优选的,权值计算单元,用于周期性的采集各节点服务器的响应时间。
[0023] 优选的,请求分类单元用于根据用户请求的URL应用层信息对接收的所述用户请求分为静态文件请求型、DB查询型、DB单事务型、DB多事务型、多媒体型以及电子商务型。
[0024] 优选的,所述动态负载均衡装置还包括:
[0025] 初始权值计算单元,用于根据
[0026] 计算各节点服务器的初始负载权值Loading(Ri);
[0027] 其中,Lcpu(Ri)为CPU处理速度,Lm(Ri)为内存容量,Li/o(Ri)为系统I/O速率,Lnet(Ri)为节点的网络接口速率,Ci表示节点服务器i的处理器数量;BASEcpu为基准CPU处理速度、BASEm为基准内存容量、BASEi/o为基准I/O速率,BASEnet为基准网络接口速率,fi为节点服务器i对应的可调系数,其中Σfi=1。
[0028] 本发明首先将不同请求内容的请求分发至不同的队列,之后根据各队列对应的集群服务器内的各节点的当前负载权值将请求分发至节点服务器。这不仅克服了静态负载均衡的缺点,能够实时根据节点服务器的负载进行分发,并且能够根据请求内容把相同的请求分发到相同服务器上,能够充分发挥各种服务器的性能,实现最大限度的负载均衡。附图说明
[0029] 为了更清楚地说明本发明实施例技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0030] 图1为本发明方法流程图
[0031] 图2为本发明算法框图
[0032] 图3为本发明装置结构图;
[0033] 图4为本发明系统结构图。

具体实施方式

[0034] 下面结合附图分别对本发明的较佳实施例进行详细阐述,以使本发明的优点和特征能更易于被本领域的技术人员理解,从而对本发明的保护范围作出更为清楚明确的界定。
[0035] 为解决背景技术提出的问题,本发明实施例1公开了一种服务器动态负载均衡方法,如图1所示,该方法包括:
[0036] S11、根据用户请求的URL应用层信息对接收的用户请求进行分类并发往相应的队列;不同队列对应不同的服务器集群。
[0037] S12、采集各节点服务器的响应时间,并根据响应时间计算各节点服务器的当前负载权值。具体的,可以周期性也可以实时或是根据用户的触发采集。或者当监测到目前有超过一定数量的请求要分发时,出发采集节点发武器的响应时间。负载权值的顺序代表着优先级的顺序,本发明会按照负载权值顺序决定分发优先级。
[0038] S13、采用加权轮转法,将相应队列的用户请求根据当前负载权值分发至对应集群的节点服务器。根据各节点的响应时间可得到各节点的当前优先级,然后采用加权轮转法对各个队列中的用户请求进行调度,即根据节点权值的大小按轮转方式将用户请求分发到各节点上,权值越高的节点得到的用户请求就越多,每个节点所分配到的用户请求数按其权值占节点权值总和的比例来确定。
[0039] 在本发明中,服务器集群的个数至少为两个,且每个服务器集群内的节点服务器个数至少为两个。
[0040] 在端的请求中,存在着大量的静态文件和对数据库的增删改查的请求,这使得不同请求任务所消耗的系统资源差异可能很大,为了达到负载均衡的目的,需要先将用户请求进行分类。对应的,本发明设置的每个服务器集群对应不同的请求类型,其中的节点服务器用于处理同一类型的请求。
[0041] 本发明中根据用户的URL应用层信息将用户请求分为静态文件请求型、DB查询型、DB单事务型、DB多事务型、多媒体型以及电子商务型。其中,
[0042] 静态文件请求型:
[0043] 主要提供静态信息(如HTML页面及嵌入的对象),以及轻微动态网络发布服务或者是一些log型的操作。
[0044] DB查询型:
[0045] 对于数据库仅仅是查询的操作,可以是一次或者多次,不涉及事务概念。
[0046] DB单事务型:
[0047] 对于数据库操作都包含在一次事务中。
[0048] DB多事务型:
[0049] 对于数据库操作包含在多次事务中,每个事务可独立。
[0050] 多媒体型:
[0051] 提供音频和视频流媒体服务。这类服务一般通过特殊的服务器和网络协议连接。
[0052] 电子商务型:
[0053] 提供静态、动态和安全信息传输,主要面向电子商务应用。出于安全原因,一些动态生成的数据需要通过安全途径进行传送,大部分情况下会使用SSL协议。加解密操作会消耗大量的CPU资源,而进行数据库访问时又需要密集磁盘访问,因此这类服务也称为磁盘/CPU密集型服务。
[0054] 根据之前所述,在收到用户请求后,首先根据其URL等应用层信息进行分类,然后发往相应队列等候分发。为了满足异构集群的需求,队列内的请求分发采用加权轮转法(WRR),以使每个节点服务器得到的各类请求数大致与其权重相似,为了尽可能避免节点负载的不均衡情况,需要监测各节点服务器的真实负载状况,通过采集各节点服务器的响应时间,可等效计算出各个节点服务器当前的负载权值,然后根据实际负载权值调整分发比例。
[0055] 算法框图如图2,其中:Server(i)代表节点服务器i;Kn表示用户请求的分类类别,包含每种请求对应的队列。
[0056] 需要说明的是,首次分发请求时,各节点服务器尚无响应时间等参数可以采集,因此需要通过其他方式计算节点服务器的初始权值。本发明中,具体的根据不同server的环境和处理能力来计算其相应的优先级或者说是权值。硬件资源对应用程序的影响因素主要有:CPU处理速度、内存容量、系统I/O速率和网络带宽。为了表示各因素对权值的影响,本发明在上述几个影响因素前加上一个因子,各节点初始权值的计算公式如下:
[0057]
[0058] 其中Lf(Ri)表示节点Ri某一参数的当前值,即公式中Lcpu(Ri)为CPU处理速度,Lm(Ri)为内存容量,Li/o(Ri)为系统I/O速率,Lnet(Ri)为节点的网络接口速率,,Ci表示节点i的处理器数量。BASEf表示某一参数的基准值,即公式中BASWcpu为基准CPU处理速度、BASEm为基准内存容量、BASEi/o为基准I/O速率,BASEnet为基准网络接口速率。这些基准值可根据各节点的实际情况统计确定。fi是为每个参数设定的一个可调系数,可用以区分各种硬件资源的重要程度,其中Σfi=1。一组典型设置可采用:(0.4、0.2、0.1、0.3)。
[0059] 根据初始权值进行完初始分配后,后续的请求分发依据响应时间得到的负载权值进行。
[0060] 对应上述方法,本发明实施例2还提供了一种服务器动态负载均衡装置,该装置具体的可以是一控制器。如图3所示,该动态负载均衡装置包括:
[0061] 请求分类单元11,用于根据用户请求的URL应用层信息对接收的所述用户请求进行分类并发往相应的队列;不同队列对应不同的服务器集群。
[0062] 权值计算单元12,用于采集各节点服务器的响应时间,并根据响应时间计算各节点服务器的当前负载权值。具体的,权值计算单元12可以周期性也可以实时或是根据用户的触发采集。或者当监测到目前有超过一定数量的请求要分发时,出发采集节点发武器的响应时间。负载权值的顺序代表着优先级的顺序,本发明会按照负载权值顺序决定分发优先级。
[0063] 请求分发单元13,用于采用加权轮转法,将相应队列的用户请求根据所述当前负载权值分发至对应集群的节点服务器。根据各节点的响应时间可得到各节点的当前优先级,然后采用加权轮转法对各个队列中的用户请求进行调度,即根据节点权值的大小按轮转方式将用户请求分发到各节点上,权值越高的节点得到的用户请求就越多,每个节点所分配到的用户请求数按其权值占节点权值总和的比例来确定。
[0064] 在本发明中,服务器集群的个数至少为两个,且每个服务器集群内的节点服务器个数至少为两个。
[0065] 在云端的请求中,存在着大量的静态文件和对数据库的增删改查的请求,这使得不同请求任务所消耗的系统资源差异可能很大,为了达到负载均衡的目的,控制器的请求分类单元需要先将用户请求进行分类。对应的,本发明设置的每个服务器集群对应不同的请求类型,其中的节点服务器用于处理同一类型的请求。
[0066] 本发明中根据用户的URL应用层信息将用户请求分为静态文件请求型、DB查询型、DB单事务型、DB多事务型、多媒体型以及电子商务型。其中,
[0067] 静态文件请求型:
[0068] 主要提供静态信息(如HTML页面及嵌入的对象),以及轻微动态网络发布服务或者是一些log型的操作。
[0069] DB查询型:
[0070] 对于数据库仅仅是查询的操作,可以是一次或者多次,不涉及事务概念。
[0071] DB单事务型:
[0072] 对于数据库操作都包含在一次事务中。
[0073] DB多事务型:
[0074] 对于数据库操作包含在多次事务中,每个事务可独立。
[0075] 多媒体型:
[0076] 提供音频和视频流媒体服务。这类服务一般通过特殊的服务器和网络协议连接。
[0077] 电子商务型:
[0078] 提供静态、动态和安全信息传输,主要面向电子商务应用。出于安全原因,一些动态生成的数据需要通过安全途径进行传送,大部分情况下会使用SSL协议。加解密操作会消耗大量的CPU资源,而进行数据库访问时又需要密集磁盘访问,因此这类服务也称为磁盘/CPU密集型服务。
[0079] 根据之前所述,在收到用户请求后,请求分发单元首先根据其URL等应用层信息进行分类,然后发往相应队列等候分发。为了满足异构集群的需求,队列内的请求分发采用加权轮转法(WRR),以使每个节点服务器得到的各类请求数大致与其权重相似,为了尽可能避免节点负载的不均衡情况,权值计算单元需要监测各节点服务器的真实负载状况,通过采集各节点服务器的响应时间,可等效计算出各个节点服务器当前的负载权值,然后根据实际负载权值调整分发比例。
[0080] 算法框图如图2,其中:Server(i)代表节点服务器i;Kn表示用户请求的分类类别,包含每种请求对应的队列。
[0081] 需要说明的是,首次分发请求时,各节点服务器尚无响应时间等参数可以采集,因此需要通过其他方式计算节点服务器的初始权值。本发明中该装置还包括初始权值计算单元,用于根据不同server的环境和处理能力来计算其相应的优先级或者说是权值。硬件资源对应用程序的影响因素主要有:CPU处理速度、内存容量、系统I/O速率和网络带宽。为了表示各因素对权值的影响,本发明在上述几个影响因素前加上一个因子,各节点初始权值的计算公式如下:
[0082]
[0083] 其中Lf(Ri)表示节点Ri某一参数的当前值,即公式中Lcpu(Ri)为CPU处理速度,Lm(Ri)为内存容量,Li/o(Ri)为系统I/O速率,Lnet(Ri)为节点的网络接口速率,,Ci表示节点i的处理器数量。BASEf表示某一参数的基准值,即公式中BASEcpu为基准CPU处理速度、BASEm为基准内存容量、BASEi/o为基准I/O速率,BASEnet为基准网络接口速率。这些基准值可根据各节点的实际情况统计确定。fi是为每个参数设定的一个可调系数,可用以区分各种硬件资源的重要程度,其中Σfi=1。一组典型设置可采用:(0.4、0.2、0.1、0.3)。
[0084] 根据初始权值进行完初始分配后,后续的请求分发由请求分发单元依据响应时间得到的负载权值进行。
[0085] 本发明图4示出了一种负载均衡系统,包括控制器21和至少两个服务器集群22,每个服务器集群22包括至少两个节点服务器221。
[0086] 其中,控制器21用于根据用户请求的URL应用层信息对接收的所述用户请求进行分类并发往相应的队列;采集各节点服务器的响应时间,并根据响应时间计算各节点服务器的当前负载权值;采用加权轮转法,将相应队列的用户请求根据所述当前负载权值分发至对应集群的节点服务器。
[0087] 以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈