CN104994156A - 一种集群的负载均衡方法及系统 - Google Patents
一种集群的负载均衡方法及系统 Download PDFInfo
- Publication number
- CN104994156A CN104994156A CN201510379356.5A CN201510379356A CN104994156A CN 104994156 A CN104994156 A CN 104994156A CN 201510379356 A CN201510379356 A CN 201510379356A CN 104994156 A CN104994156 A CN 104994156A
- Authority
- CN
- China
- Prior art keywords
- node
- access request
- load
- cluster
- url
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1014—Server selection for load balancing based on the content of a request
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
Abstract
本发明公开一种集群的负载均衡方法及系统,方法包括:每隔预设周期更新集群中每个节点的负载信息,选出当前周期内包括多个轻负载节点的调度集;对所述访问请求进行解析,确定所述访问请求为动态请求或者静态请求;如果为动态请求,从访问请求所在周期的调度集中,通过随机算法选择一个节点作为所述访问请求的处理节点,如果为静态请求,则查询URL映射表,如果URL映射表中有访问请求对应的URL的映射记录,则采用映射记录对应的节点作为访问请求的处理节点,如果URL映射表中没有访问请求对应的URL的映射记录,则通过随机算法选择一个节点作为所述访问请求的处理节点。本发明保证负载均衡,同时周期性的对集群的负载进行调整,防止节点过载。
Description
技术领域
本发明涉及网络集群相关技术领域,特别是一种集群的负载均衡方法及系统。
背景技术
网民规模和WEB应用形式的迅速增加给支撑WEB应用的服务器带来了很多具有挑战性的问题。很多热门的网站如各电商网站会吸引庞大的访问流量。从应用角度,随着WEB应用的商业化发展,对支撑WEB应用的系统的高可用性、安全性提出了更高的要求。从用户角度,人们希望获得更加方便快捷的服务,对WEB应用的响应速度和可靠性也提出了更高的要求。
WEB集群技术是提升服务器处理性能的关键技术之一。WEB集群是将若干台WEB服务器通过一定的技术组织构成的一个逻辑整体,从外部来看,系统就是一台性能更加强大的WEB服务器。通过增减服务器的数量能够灵活调整系统的处理容量。WEB集群作为一个统一的整体为外部提供服务,外部服务请求的工作负载由集群内的各个服务器共同承担。WEB集群性能的好坏直接影响集群向外提供服务能力的大小。
目前有两种技术用来提升WEB集群的性能:
一种是缓存技术,目前的WEB服务器为了提高静态页面的响应速度,大多使用了高速缓存技术,会将全部或者部分访问过的页面存储在高速缓存中,当下一次有请求时,WEB服务器首先会查看页面是否存储在高速缓存中,如果在,则WEB服务器将其直接从缓存中取出发送给用户。相比于磁盘,高速缓存的读写速度要远远高出许多,所以如果页面能够命中缓存,则将大大提高静态页面的响应速度。
一种是负载均衡技术,负载均衡技术为WEB集群中如何合理、有效的分配任务提供了解决方案,能够根据集群中服务器的处理能力合理的分配用户的请求任务,整个任务分配的过程对用户来说是透明的。利用负载均衡技术,能够有效的解决WEB集群中服务器负载不均衡的问题,最大限度的利用各个服务器的处理能力,使整个WEB系统的处理性能得到很大提升,缩短用户请求等待的响应时间。
在缓存技术方面,LARD算法是利用缓存技术在访问局部性控制方面表现得比较好的算法,它的核心思想是利用服务分区的方式提高缓存命中率。它把WEB集群中提供的URL服务划分成几个分区,每个服务器节点只负责处理其中一个URL分区的内容,但是物理上每个节点都有全部的URL内容。当请求到达时,分配器根据请求的URL查询该URL属于哪个分区,然后调度该分区的服务器节点来处理请求,一般同一个URL请求将被分配到同一个节点。当WEB集群出现负载失衡状况时,它将负载较重的节点处理的URL分区的部分内容划分给负载较轻的节点。
在负载均衡方面,加权最小连接调度算法是传统调度算法中最典型的动态负载均衡算法,在LVS集群系统中也应用得最为普遍。该算法以权值来描述服务器节点的处理能力,以服务器当前的连接数来表示服务器节点当前的负载,结合权值和连接数来进行请求的分配,每次调度连接数与权值比值最小的节点来处理任务。
WEB页面产生的方式有两类:一种是静态页面,一种是动态页面,静态页面和动态页面。这两种页面在产生和存储方式上的存在很大的差异。
其中,静态页面顾名思义就是静态的、内容不会改变的页面,静态页面存储在磁盘中,当用户请求静态页面时,WEB服务器对请求进行URL解析后,从磁盘中读出页面,对页面进行划分然后封装成报文发送给客户端。静态页面的响应时间主要与页面的长度,以及磁盘I/O的读写速度相关。目前的WEB服务器为了提高静态页面的响应速度,大多使用了高速缓存技术,会将全部或者部分访问过的页面存储在高速缓存中,当下一次有请求时,WEB服务器首先会查看页面是否存储在高速缓存中,如果在,则WEB服务器将其直接从缓存中取出发送给用户。相比于磁盘,高速缓存的读写速度要远远高出许多,所以如果页面能够命中缓存,则将大大提高静态页面的响应速度。如果页面不在缓存中,WEB服务器会从磁盘中去读取页面文件,并将其放在缓存中,以便下一次有同一页面请求时可以高速响应。然而,一般缓存的空间大小是有限的,不可能将WEB服务器上的页面全部缓存,所以,缓存系统一般会根据一定的页面置换算法,淘汰部分页面,将新页面进行缓存。使用高速缓存来提供静态页面服务,将使页面的读取时间减少很多,系统的响应时间和吞吐率都将得到很大的改善。提高缓存命中率对WEB集群性能的提高非常关键。
动态页面与静态页面不同,它不是提前存储在磁盘中有请求时读出页面发送给用户即可,它是根据用户的输入动态生成的,页面生成过程中需要进行一系列的计算或者数据库查询,开销相比静态页面要大很多,而且在不同的输入条件下同一个URL页面的开销也不相同。动态页面的特点就是其不能进行缓存,因为同一个URL在不同的输入条件下的内容完全不同,内容随时在进行动态变化,对其进行缓存毫无意义。
在WEB集群系统中,为提高系统的响应速度和最大化的利用服务器的资源提高系统的吞吐量,理想状况下是,针对静态页面的请求主要考虑如何最大化的提高缓存命中率,现有的算法对集群的内容进行分区,每个服务器只提供部分内容,思想是将同一个URL的请求分配给之前访问过的服务器进行处理,由于服务器处理过该请求,该请求的Cache命中率很高。但是这种访问局部性的控制方式可能会导致部分WEB集群负载失衡,负载集中于处理热点URL的服务器上,而其他服务器则资源闲置。针对动态页面的请求,主要考虑将负载均匀的分配到各个服务器上,但是这样就不利于静态请求命中Cache。
如上述技术方案,LARD算法把WEB集群中提供的URL服务划分成几个分区,每个服务器节点只负责处理其中一个URL分区的内容,但是物理上每个节点都有全部的URL内容。当请求到达时,分配器根据请求的URL查询该URL属于哪个分区,然后调度该分区的服务器节点来处理请求,一般同一个URL请求将被分配到同一个节点。当WEB集群出现负载失衡状况时,它将负载较重的节点处理的URL分区的部分内容划分给负载较轻的节点。它以服务器节点的活动连接数来评估节点的负载,由于各连接上处理的请求的数量和请求所消耗的资源各不相同,这样做并不能正确的评价节点的负载状况,特别是在负载粒度相差较大的集群中,该算法可能会导致WEB集群负载严重不均衡。
加权最小连接算法的缺陷体现在:第一,没有考虑访问局部性利用缓存技术对系统性能的影响;第二,服务器的权值由系统管理员人为设定,太过主观,不适当的权值设定会导致系统严重的负载不均衡;第三,以连接数来表示服务器的负载,然而由于每个连接请求的复杂度不一样,所消耗的服务器资源不一样,连接数并不能真实的反映服务器的负载状况;第四,固定不变的权值将使系统长时间运行后出现负载向权值高的服务器倾斜。
发明内容
基于此,有必要针对现有技术容易导致集群负载不均衡的的技术问题,提供一种集群的负载均衡方法及系统。
一种集群的负载均衡方法,包括:
调度集选择步骤,包括:每隔预设周期更新集群中每个节点的负载信息,根据集群中每个节点的负载信息,选出当前周期内包括多个轻负载节点的调度集;
请求解析步骤,包括:接收到访问请求,对所述访问请求进行解析,确定所述访问请求为动态请求或者静态请求;
服务器选择步骤,包括:如果访问请求为动态请求,从访问请求所在周期的调度集中,通过随机算法选择一个节点作为所述访问请求的处理节点,如果访问请求为静态请求,则查询URL映射表,如果URL映射表中有访问请求对应的URL的映射记录,则采用映射记录对应的节点作为访问请求的处理节点,如果URL映射表中没有访问请求对应的URL的映射记录,则通过随机算法选择一个节点作为所述访问请求的处理节点。
一种集群的负载均衡系统,包括:
调度集选择单元,用于:每隔预设周期更新集群中每个节点的负载信息,根据集群中每个节点的负载信息,选出当前周期内包括多个轻负载节点的调度集;
请求解析单元,用于:接收到访问请求,对所述访问请求进行解析,确定所述访问请求为动态请求或者静态请求;
服务器选择单元,用于:如果访问请求为动态请求,从访问请求所在周期的调度集中,通过随机算法选择一个节点作为所述访问请求的处理节点,如果访问请求为静态请求,则查询URL映射表,如果URL映射表中有访问请求对应的URL的映射记录,则采用映射记录对应的节点作为访问请求的处理节点,如果URL映射表中没有访问请求对应的URL的映射记录,则通过随机算法选择一个节点作为所述访问请求的处理节点。
本发明通过定期选择具有轻负载节点的的调度集,并在获取访问请求时区分动态请求和静态请求,为不同类型的访问请求选择不同方式的选择算法。一方面,针对静态请求尽可能的提高其缓存命中率,调度最有可能缓存该页面的服务器执行该任务请求,另一方面,针对动态请求尽可能的保证将任务均匀的分配到各服务器执行,保证负载均衡。同时周期性的对集群的负载进行调整,防止节点过载。
附图说明
图1为本发明一种集群的负载均衡方法的工作流程图;
图2为本发明最佳实施例的模块示意图;
图3为本发明最佳实施例的各模块协作图;
图4为本发明一种集群的负载均衡系统的结构单元图。
具体实施方式
下面结合附图和具体实施例对本发明做进一步详细的说明。
如图1所示为本发明一种集群的负载均衡方法的工作流程图,包括:
步骤S101,包括:每隔预设周期更新集群中每个节点的负载信息,根据集群中每个节点的负载信息,选出当前周期内包括多个轻负载节点的调度集;
步骤S102,包括:接收到访问请求,对所述访问请求进行解析,确定所述访问请求为动态请求或者静态请求;
步骤S103,包括:如果访问请求为动态请求,从访问请求所在周期的调度集中,通过随机算法选择一个节点作为所述访问请求的处理节点,如果访问请求为静态请求,则查询URL映射表,如果URL映射表中有访问请求对应的URL的映射记录,则采用映射记录对应的节点作为访问请求的处理节点,如果URL映射表中没有访问请求对应的URL的映射记录,则通过随机算法选择一个节点作为所述访问请求的处理节点。
步骤S101中,定期对节点的负载信息进行更新,选择出包括多个轻负载节点的调度集,防止节点过载。在步骤S102中,对访问请求进行区分,从而在步骤S103中根据不同类型的访问请求,采用不同的方式选择处理节点。一方面,针对静态请求尽可能的提高其缓存命中率,调度最有可能缓存该页面的服务器执行该任务请求,另一方面,针对动态请求尽可能的保证将任务均匀的分配到各服务器执行,保证负载均衡。
本文发明对静态请求和动态请求采用不同的策略,在负载均衡的基础上同时提升缓存命中率,很好的解决了这两者的制约关系,提升了WEB集群的性能。本发明在负载最轻的集合内来进行调度,选取负载最小的一类作为周期内的调度集,周期内将负载分配给调度集内的节点,工作负载较重的节点在周期内结束部分处理任务,负载得到降低后,将在下一个周期有机会选入调度集参与到任务的处理,周期内参与调度的节点若工作负载变重,将在下一周期不参与调度,这种周期性的反馈调节机制可以避免节点过载。
如图2所示为本发明最佳实施例的模块示意图,包括:请求解析模块201、负载更新模块202、反馈调节模块203、服务器选择模块204、节点信息采集模块205五个部分。
如图3所示为本发明最佳实施例的各模块协作图,包括:
步骤S301,load_balancer进程每隔周期T调用负载更新模块;
步骤S302,负载更新模块与各节点的节点信息采集模块通信,获取负载信息;
步骤S303,节点信息采集模块采集服务器的负载信息;
步骤S304,节点信息采集模块返回服务器节点的负载信息;
步骤S305,负载更新模块更新完负载表调用反馈调节模块;
步骤S306,反馈调节模块根据负载信息对节点集合进行划分,筛选出较轻负载的节点集合做为T周期内的调度集,并计算调度集内各节点的权值。
当有HTTP请求需要处理时,各模块之间的协作如下:
步骤S307,当有新请求需要调度服务器时,worker进程调用服务器选择模块;
步骤S308,服务器选择模块调用请求解析模块解析请求;
步骤S309,请求解析对请求进行解析;
步骤S310,返回请求的动态静态属性和URL;
步骤S311,服务器选择模块执行调度策略,选择服务器;
步骤S312,返回选定的服务器节点的IP地址。
在其中一个实施例中,所述调度集采用如下方式选出:
获取每个节点的多个负载特征值,得到关于节点的负载向量,所述负载向量的维度值为节点的负载特征值;
通过聚类分析算法,将多个负载向量划分为多个集合,选择集合的中心所对应维度值的加权值最小的集合作为调度集。
聚类分析算法优选采用模糊C均值算法,优选地,将负载向量分为轻载、中载、重载三个集合。具体根据集合中心所对应维度值的加权值进行区分,加权值最小的为轻载,其次为中载,最大为重载。每个维度值的权重预先设定。
优选地,所述负载特征值包括CPU利用率、内存利用率、带宽利用率或磁盘利用率。
本实施例在负载均衡控制方面利用服务器的多个指标(CPU利用率,内存利用率,网络带宽利用率,磁盘I/O利用率)做为负载特征,更准确的衡量服务器的负载情况。
本实施例对应的负载向量为<CPU利用率,内存利用率,带宽利用率,磁盘利用率>。加权值的计算则为:
CPU利用率×CPU权重+内存利用率×内存权重+带宽利用率×带宽权重+磁盘利用率×磁盘权重。
将每个权重的值写入配置文件,系统从配置文件中读取。
上述的伪代码如下:
模糊聚类方法的伪代码如下:
上述函数以服务器节点表ds_active_set及负载表ds_loadinfo_hash_t为输入,以划分好的节点集ds_light_set,ds_middle_set,ds_heavy_set为输出,分别表示轻载节点集,中载节点集,重载节点集。隶属度矩阵用于表示每个节点关于每个集合的隶属度,隶属度越大表示该节点越有可能属于该集合。
在其中一个实施例中,所述步骤S102,具体包括:
接收到访问请求,提取出所述访问请求的URL部分;
获取所述URL部分的文件后缀,如果所述文件后缀为动态请求文件后缀,则所述访问请求为动态请求,如果所述文件后缀为静态请求文件后缀,则所述访问请求为静态请求。
在HTTP请求报文中,通过获取报文的第一行,即请求行作为URL部分。提取出请求行后,将请求行中的URL解析出来,从URL则可以判断出该HTTP请求想要获取的资源类型。由资源类型来判断请求为动态请求还是静态请求。静态请求包括的资源类型仅为静态内容,静态内容一般是HTML文档、图片、声音和图像等文件,其URL文件后缀为.html、.htm、.gif、.JPg、.WS.V和.avi等,而动态请求所包括的资源类型会包含有动态内容。动态页面的URL一般以.jsp、.asp、.php、.servlet等文件后缀形式出现。
在其中一个实施例中:
所述步骤S101,还包括:对调度集内的所有节点,根据节点的最大处理能力进行归一化处理,得到每个节点的归一化权值,根据归一化权值确定每个节点在概率空间中的概率范围;
所述步骤S103的随机算法为:获取一个随机数,确定所述随机数在概率空间中的落点,选择落点在对应概率范围以内的节点作为所述访问请求的处理节点。
若请求为动态请求,临时计算一个随机数,判断随机数在概率空间中的落点,确定调度的服务器节点。若请求为静态请求,首先查询URL映射表,如果有此请求的URL的映射记录,则采用该记录的节点做为请求的处理节点;若无此请求的URL记录,临时计算一个随机数,判断随机数在概率空间中的落点,确定调度的服务器节点,在URL映射表中添加URL映射记录。
根据权值确定概率范围的方法如下:
按权重从大到小排序,最大权重与1之间的范围为最大权重对应节点的概率范围,次最小权重与0之间的范围为最小权重对应节点的概率范围,其他第i个节点的概率范围为(Wi+1,Wi]。
例如,调度集中有A、B、C三个节点,其中节点的最大处理能力为:A>B>C。其权值可以为WA=0.6、WB=0.3、WC=0.1,则对应的概率范围为:RA=(0.6,1]、RB=[0.3,0.6)、RA=[0,0.3),则如果随机数在0.6~1之间选择节点A,在0.3至0.6(不包括0.6)之间选择节点B,在0~0.3(不包括0.3)选择节点C。
本实施例在调度集内根据服务器的最大处理能力进行随机概率分配,处理能力大的服务器概率空间大,将有机会分配到更多的任务。这种随机方式相比根据处理能力进行固定比例的分配,更灵活,不会出现负载向处理能力大的服务器倾斜。
如图4所示为本发明一种集群的负载均衡系统的结构单元图,包括:
调度集选择单元401,用于:每隔预设周期更新集群中每个节点的负载信息,根据集群中每个节点的负载信息,选出当前周期内包括多个轻负载节点的调度集;
请求解析单元402,用于:接收到访问请求,对所述访问请求进行解析,确定所述访问请求为动态请求或者静态请求;
服务器选择单元403,用于:如果访问请求为动态请求,从访问请求所在周期的调度集中,通过随机算法选择一个节点作为所述访问请求的处理节点,如果访问请求为静态请求,则查询URL映射表,如果URL映射表中有访问请求对应的URL的映射记录,则采用映射记录对应的节点作为访问请求的处理节点,如果URL映射表中没有访问请求对应的URL的映射记录,则通过随机算法选择一个节点作为所述访问请求的处理节点。
在其中一个实施例中,所述调度集采用如下方式选出:
获取每个节点的多个负载特征值,得到关于节点的负载向量,所述负载向量的维度值为节点的负载特征值;
通过聚类分析算法,将多个负载向量划分为多个集合,选择集合的中心所对应维度值的加权值最小的集合作为调度集。
在其中一个实施例中,所述负载特征值包括CPU利用率、内存利用率、带宽利用率或磁盘利用率。
在其中一个实施例中,所述请求解析单元,具体用于:
接收到访问请求,提取出所述访问请求的URL部分;
获取所述URL部分的文件后缀,如果所述文件后缀为动态请求文件后缀,则所述访问请求为动态请求,如果所述文件后缀为静态请求文件后缀,则所述访问请求为静态请求。
在其中一个实施例中:
所述调度集选择单元,还包括:对调度集内的所有节点,根据节点的最大处理能力进行归一化处理,得到每个节点的归一化权值,根据归一化权值确定每个节点在概率空间中的概率范围;
所述服务器选择单元的随机算法为:获取一个随机数,确定所述随机数在概率空间中的落点,选择落点在对应概率范围以内的节点作为所述访问请求的处理节点。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种集群的负载均衡方法,其特征在于,包括:
调度集选择步骤,包括:每隔预设周期更新集群中每个节点的负载信息,根据集群中每个节点的负载信息,选出当前周期内包括多个轻负载节点的调度集;
请求解析步骤,包括:接收到访问请求,对所述访问请求进行解析,确定所述访问请求为动态请求或者静态请求;
服务器选择步骤,包括:如果访问请求为动态请求,从访问请求所在周期的调度集中,通过随机算法选择一个节点作为所述访问请求的处理节点,如果访问请求为静态请求,则查询URL映射表,如果URL映射表中有访问请求对应的URL的映射记录,则采用映射记录对应的节点作为访问请求的处理节点,如果URL映射表中没有访问请求对应的URL的映射记录,则通过随机算法选择一个节点作为所述访问请求的处理节点。
2.根据权利要求1所述的集群的负载均衡方法,其特征在于,所述调度集采用如下方式选出:
获取每个节点的多个负载特征值,得到关于节点的负载向量,所述负载向量的维度值为节点的负载特征值;
通过聚类分析算法,将多个负载向量划分为多个集合,选择集合的中心所对应维度值的加权值最小的集合作为调度集。
3.根据权利要求2所述的集群的负载均衡方法,其特征在于,所述负载特征值包括CPU利用率、内存利用率、带宽利用率或磁盘利用率。
4.根据权利要求1所述的集群的负载均衡方法,其特征在于,所述请求解析步骤,具体包括:
接收到访问请求,提取出所述访问请求的URL部分;
获取所述URL部分的文件后缀,如果所述文件后缀为动态请求文件后缀,则所述访问请求为动态请求,如果所述文件后缀为静态请求文件后缀,则所述访问请求为静态请求。
5.根据权利要求1所述的集群的负载均衡方法,其特征在于:
所述调度集选择步骤,还包括:对调度集内的所有节点,根据节点的最大处理能力进行归一化处理,得到每个节点的归一化权值,根据归一化权值确定每个节点在概率空间中的概率范围;
所述服务器选择步骤的随机算法为:获取一个随机数,确定所述随机数在概率空间中的落点,选择落点在对应概率范围以内的节点作为所述访问请求的处理节点。
6.一种集群的负载均衡系统,其特征在于,包括:
调度集选择单元,用于:每隔预设周期更新集群中每个节点的负载信息,根据集群中每个节点的负载信息,选出当前周期内包括多个轻负载节点的调度集;
请求解析单元,用于:接收到访问请求,对所述访问请求进行解析,确定所述访问请求为动态请求或者静态请求;
服务器选择单元,用于:如果访问请求为动态请求,从访问请求所在周期的调度集中,通过随机算法选择一个节点作为所述访问请求的处理节点,如果访问请求为静态请求,则查询URL映射表,如果URL映射表中有访问请求对应的URL的映射记录,则采用映射记录对应的节点作为访问请求的处理节点,如果URL映射表中没有访问请求对应的URL的映射记录,则通过随机算法选择一个节点作为所述访问请求的处理节点。
7.根据权利要求6所述的集群的负载均衡系统,其特征在于,所述调度集采用如下方式选出:
获取每个节点的多个负载特征值,得到关于节点的负载向量,所述负载向量的维度值为节点的负载特征值;
通过聚类分析算法,将多个负载向量划分为多个集合,选择集合的中心所对应维度值的加权值最小的集合作为调度集。
8.根据权利要求7所述的集群的负载均衡系统,其特征在于,所述负载特征值包括CPU利用率、内存利用率、带宽利用率或磁盘利用率。
9.根据权利要求6所述的集群的负载均衡系统,其特征在于,所述请求解析单元,具体用于:
接收到访问请求,提取出所述访问请求的URL部分;
获取所述URL部分的文件后缀,如果所述文件后缀为动态请求文件后缀,则所述访问请求为动态请求,如果所述文件后缀为静态请求文件后缀,则所述访问请求为静态请求。
10.根据权利要求6所述的集群的负载均衡系统,其特征在于:
所述调度集选择单元,还包括:对调度集内的所有节点,根据节点的最大处理能力进行归一化处理,得到每个节点的归一化权值,根据归一化权值确定每个节点在概率空间中的概率范围;
所述服务器选择单元的随机算法为:获取一个随机数,确定所述随机数在概率空间中的落点,选择落点在对应概率范围以内的节点作为所述访问请求的处理节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510379356.5A CN104994156A (zh) | 2015-07-01 | 2015-07-01 | 一种集群的负载均衡方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510379356.5A CN104994156A (zh) | 2015-07-01 | 2015-07-01 | 一种集群的负载均衡方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104994156A true CN104994156A (zh) | 2015-10-21 |
Family
ID=54305907
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510379356.5A Pending CN104994156A (zh) | 2015-07-01 | 2015-07-01 | 一种集群的负载均衡方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104994156A (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105376317A (zh) * | 2015-11-19 | 2016-03-02 | 网宿科技股份有限公司 | 负载均衡的控制方法及装置 |
CN105740077A (zh) * | 2016-01-29 | 2016-07-06 | 中国联合网络通信集团有限公司 | 一种适用于云计算的任务分配方法 |
CN106254516A (zh) * | 2016-08-31 | 2016-12-21 | 北京小米移动软件有限公司 | 负载均衡方法及装置 |
CN106850834A (zh) * | 2017-03-01 | 2017-06-13 | 郑州云海信息技术有限公司 | 一种业务请求方法和装置及负载均衡器 |
CN107135240A (zh) * | 2016-02-29 | 2017-09-05 | 华为技术有限公司 | 一种分布式系统中命令分发方法、装置及系统 |
CN107426332A (zh) * | 2017-08-10 | 2017-12-01 | 华南理工大学 | 一种web服务器集群的负载均衡方法及系统 |
CN108494868A (zh) * | 2018-03-30 | 2018-09-04 | 三盟科技股份有限公司 | 一种基于云业务系统下的负载均衡方法及系统 |
CN108595574A (zh) * | 2018-04-16 | 2018-09-28 | 上海达梦数据库有限公司 | 数据库集群的连接方法、装置、设备及存储介质 |
CN109936587A (zh) * | 2017-12-15 | 2019-06-25 | 北京京东尚科信息技术有限公司 | 控制方法、控制装置、电子设备及存储介质 |
CN110062032A (zh) * | 2019-04-01 | 2019-07-26 | 北京航天发射技术研究所 | 一种计算机网络集群控制平台应用重构系统 |
CN110348681A (zh) * | 2019-06-04 | 2019-10-18 | 国网浙江省电力有限公司衢州供电公司 | 一种电力cps动态负荷分配方法 |
CN110933128A (zh) * | 2019-10-08 | 2020-03-27 | 网宿科技股份有限公司 | 节点流量调度方法、装置、电子设备及存储介质 |
CN111556135A (zh) * | 2020-04-26 | 2020-08-18 | 北京奇艺世纪科技有限公司 | 一种请求调度方法、系统、装置及电子设备 |
CN115174583A (zh) * | 2022-06-28 | 2022-10-11 | 福州大学 | 基于可编程数据平面的服务器负载均衡方法 |
CN117201677A (zh) * | 2023-11-08 | 2023-12-08 | 证通股份有限公司 | 呼入呼出系统和用于呼入呼出系统的调度方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090210242A1 (en) * | 2008-02-19 | 2009-08-20 | Microsoft Corporation | Load balance payment |
CN101697526A (zh) * | 2009-10-10 | 2010-04-21 | 中国科学技术大学 | 分布式文件系统中元数据管理的负载均衡方法及其系统 |
CN103023802A (zh) * | 2012-12-05 | 2013-04-03 | 暨南大学 | 一种面向web集群的低能耗调度系统和方法 |
CN103905472A (zh) * | 2012-12-25 | 2014-07-02 | 中国移动通信集团江苏有限公司 | 一种通过网页方式访问的云存储方法和系统 |
CN104065568A (zh) * | 2014-07-07 | 2014-09-24 | 电子科技大学 | 一种Web服务器集群的路由方法 |
-
2015
- 2015-07-01 CN CN201510379356.5A patent/CN104994156A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090210242A1 (en) * | 2008-02-19 | 2009-08-20 | Microsoft Corporation | Load balance payment |
CN101697526A (zh) * | 2009-10-10 | 2010-04-21 | 中国科学技术大学 | 分布式文件系统中元数据管理的负载均衡方法及其系统 |
CN103023802A (zh) * | 2012-12-05 | 2013-04-03 | 暨南大学 | 一种面向web集群的低能耗调度系统和方法 |
CN103905472A (zh) * | 2012-12-25 | 2014-07-02 | 中国移动通信集团江苏有限公司 | 一种通过网页方式访问的云存储方法和系统 |
CN104065568A (zh) * | 2014-07-07 | 2014-09-24 | 电子科技大学 | 一种Web服务器集群的路由方法 |
Non-Patent Citations (1)
Title |
---|
黄倩: "web集群负载均衡系统的设计与实现", 《万方学位论文数据库》 * |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105376317A (zh) * | 2015-11-19 | 2016-03-02 | 网宿科技股份有限公司 | 负载均衡的控制方法及装置 |
CN105740077A (zh) * | 2016-01-29 | 2016-07-06 | 中国联合网络通信集团有限公司 | 一种适用于云计算的任务分配方法 |
CN105740077B (zh) * | 2016-01-29 | 2020-02-07 | 中国联合网络通信集团有限公司 | 一种适用于云计算的任务分配方法 |
CN107135240A (zh) * | 2016-02-29 | 2017-09-05 | 华为技术有限公司 | 一种分布式系统中命令分发方法、装置及系统 |
CN107135240B (zh) * | 2016-02-29 | 2020-12-15 | 华为技术有限公司 | 一种分布式系统中命令分发方法、装置及系统 |
CN106254516A (zh) * | 2016-08-31 | 2016-12-21 | 北京小米移动软件有限公司 | 负载均衡方法及装置 |
CN106254516B (zh) * | 2016-08-31 | 2020-02-28 | 北京小米移动软件有限公司 | 负载均衡方法及装置 |
CN106850834A (zh) * | 2017-03-01 | 2017-06-13 | 郑州云海信息技术有限公司 | 一种业务请求方法和装置及负载均衡器 |
CN107426332B (zh) * | 2017-08-10 | 2019-08-20 | 华南理工大学 | 一种web服务器集群的负载均衡方法及系统 |
CN107426332A (zh) * | 2017-08-10 | 2017-12-01 | 华南理工大学 | 一种web服务器集群的负载均衡方法及系统 |
CN109936587A (zh) * | 2017-12-15 | 2019-06-25 | 北京京东尚科信息技术有限公司 | 控制方法、控制装置、电子设备及存储介质 |
CN108494868A (zh) * | 2018-03-30 | 2018-09-04 | 三盟科技股份有限公司 | 一种基于云业务系统下的负载均衡方法及系统 |
CN108595574A (zh) * | 2018-04-16 | 2018-09-28 | 上海达梦数据库有限公司 | 数据库集群的连接方法、装置、设备及存储介质 |
CN110062032A (zh) * | 2019-04-01 | 2019-07-26 | 北京航天发射技术研究所 | 一种计算机网络集群控制平台应用重构系统 |
CN110348681B (zh) * | 2019-06-04 | 2022-02-18 | 国网浙江省电力有限公司衢州供电公司 | 一种电力cps动态负荷分配方法 |
CN110348681A (zh) * | 2019-06-04 | 2019-10-18 | 国网浙江省电力有限公司衢州供电公司 | 一种电力cps动态负荷分配方法 |
CN110933128A (zh) * | 2019-10-08 | 2020-03-27 | 网宿科技股份有限公司 | 节点流量调度方法、装置、电子设备及存储介质 |
CN110933128B (zh) * | 2019-10-08 | 2021-04-16 | 网宿科技股份有限公司 | 节点流量调度方法、装置、电子设备及存储介质 |
CN111556135A (zh) * | 2020-04-26 | 2020-08-18 | 北京奇艺世纪科技有限公司 | 一种请求调度方法、系统、装置及电子设备 |
CN115174583A (zh) * | 2022-06-28 | 2022-10-11 | 福州大学 | 基于可编程数据平面的服务器负载均衡方法 |
CN115174583B (zh) * | 2022-06-28 | 2024-03-29 | 福州大学 | 基于可编程数据平面的服务器负载均衡方法 |
CN117201677A (zh) * | 2023-11-08 | 2023-12-08 | 证通股份有限公司 | 呼入呼出系统和用于呼入呼出系统的调度方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104994156A (zh) | 一种集群的负载均衡方法及系统 | |
US20210044662A1 (en) | Server side data cache system | |
Ala’Anzy et al. | Load balancing and server consolidation in cloud computing environments: a meta-study | |
CN102523256B (zh) | 内容的管理方法的方法、装置和系统 | |
CN109308221B (zh) | 一种基于WebSocket长连接的Nginx动态负载均衡方法 | |
US7523454B2 (en) | Apparatus and method for routing a transaction to a partitioned server | |
WO2016074323A1 (zh) | 内容分发网络的http调度系统和方法 | |
CN109120715A (zh) | 一种云环境下动态负载均衡方法 | |
CN107426332B (zh) | 一种web服务器集群的负载均衡方法及系统 | |
CN106462589B (zh) | 动态缓存器分配和网络管理 | |
CN109246229A (zh) | 一种分发资源获取请求的方法和装置 | |
US7085893B2 (en) | Negotiated distribution of cache content | |
US11336718B2 (en) | Usage-based server load balancing | |
CN101557344A (zh) | 一种基于空间地理位置的动态负载均衡方法 | |
CN110417903B (zh) | 一种基于云计算的信息处理方法和系统 | |
US20100037225A1 (en) | Workload routing based on greenness conditions | |
US7085894B2 (en) | Selectively accepting cache content | |
CN103607424B (zh) | 一种服务器连接方法及服务器系统 | |
CN105491150A (zh) | 基于时间序列的负载均衡处理方法及系统 | |
CN102891894A (zh) | 应用于服务器集群的缓存方法、缓存服务器及缓存系统 | |
Dutta et al. | Caching to reduce mobile app energy consumption | |
EP2336902B1 (en) | A method and system for improving information system performance based on usage patterns | |
US10691700B1 (en) | Table replica allocation in a replicated storage system | |
Garg et al. | Optimal virtual machine scheduling in virtualized cloud environment using VIKOR method | |
CN109788062A (zh) | 输电系统服务器负载均衡方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20151021 |
|
RJ01 | Rejection of invention patent application after publication |