一种服务器、负载均衡器以及服务器负载均衡方法和系统的制作方法

文档序号:9451570阅读:488来源:国知局
一种服务器、负载均衡器以及服务器负载均衡方法和系统的制作方法
【技术领域】
[0001]本发明涉及服务器集群应用技术领域,特别是涉及一种服务器、负载均衡器以及服务器负载均衡方法和系统。
【背景技术】
[0002]负载均衡技术普遍应用于服务器集群中,由独立的负载均衡软件或硬件,按照设定的负载均衡策略,将服务请求分发至集群中不同的服务器,达到整体服务器集群的处理均衡目的。
[0003]目前普遍采用的负载均衡策略均是基于被动均摊的原则,比如轮询策略(Round-Robin),或者带有权重的轮询策略(Weighted Round-Robin)。这些均衡策略技术是假设集群中的各服务器具有相似的处理能力,而实际应用中集群内各服务器性能参差不齐,并动态变化。其次,现有的均衡策略技术缺乏依据服务器实时处理情况进行动态调整的能力。

【发明内容】

[0004]鉴于以上所述现有技术的缺点,本发明的目的在于提供一种服务器、负载均衡器以及服务器负载均衡方法和系统,用于解决现有负载均衡策略技术缺乏依据服务器实时处理情况进行动态调整的能力的问题。
[0005]为实现上述目的及其他相关目的,本发明提供一种服务器负载均衡方法,应用于负载均衡器和连接在所述负载均衡器上的服务器集群中,所述负载均衡方法包括:
[0006]服务器向负载均衡器发送反映自身处理能力的耗时数据;
[0007]负载均衡器接收所述服务器集群中所有服务器的所述耗时数据并按处理能力由强到弱的顺序对所述耗时数据进行排序,形成一轮优先级队列;以及
[0008]在负载均衡器接收到请求时,将所述请求依次分配至所述优先级队列中当前最高优先级的耗时数据所对应的服务器进行处理。
[0009]优选地,所述耗时数据包括每一服务器处理每次请求的耗时值和在一固定周期内处理一次请求的平均耗时值。
[0010]优选地,所述负载均衡器和服务器之间采用JMS的发布/订阅模式进行通信,并为请求耗时数据建立专用的消息主题,其中,服务器为所述消息主题的发布者,负载均衡器为所述消息主题的订阅者。
[0011]本发明还提供了一种负载均衡器,至少连接于一服务器集群,所述负载均衡器包括:
[0012]耗时数据队列生成单元,用于接收所述服务器集群中所有服务器向负载均衡器发送的反映服务器处理能力的耗时数据,并按处理能力由强到弱的顺序对所述耗时数据进行排序,以形成一轮优先级队列;
[0013]请求均衡分配单元,用于在负载均衡器接收到请求时,将所述请求依次分配至所述优先级队列中当前最高优先级的耗时数据所对应的服务器进行处理。
[0014]优选地,所述耗时数据包括每一服务器处理每次请求的耗时值和在一固定周期内处理一次请求的平均耗时值。
[0015]优选地,所述负载均衡器和服务器之间采用JMS的发布/订阅模式进行通信,并为请求耗时数据建立专用的消息主题,其中,服务器为所述消息主题的发布者,负载均衡器为所述消息主题的订阅者。
[0016]本发明还提供了一种服务器,由若干所述服务器构成一服务器集群,并将所述服务器集群连接在一负载均衡器上,所述服务器包括:
[0017]耗时数据发送单元,用于统计反映服务器处理能力的耗时数据并向负载均衡器发送所述耗时数据,以供负载均衡器在接收所述服务器集群中所有服务器的所述耗时数据后按处理能力由强到弱的顺序对所述耗时数据进行排序以形成一轮优先级队列;
[0018]请求接收单元,用于在负载均衡器接收到请求并将所述请求依次分配至所述优先级队列中当前最高优先级的耗时数据所对应的服务器进行处理时,对应接收所述请求。
[0019]优选地,所述耗时数据包括每一服务器处理每次请求的耗时值和在一固定周期内处理一次请求的平均耗时值。
[0020]优选地,所述负载均衡器和服务器之间采用JMS的发布/订阅模式进行通信,并为请求耗时数据建立专用的消息主题,其中,服务器为所述消息主题的发布者,负载均衡器为所述消息主题的订阅者。
[0021]本发明还提供了一种服务器负载均衡系统,包括:
[0022]服务器集群,包括若干服务器,所述服务器用于向负载均衡器发送反映自身处理能力的耗时数据;
[0023]负载均衡器,用于接收所述服务器集群中所有服务器的所述耗时数据并按处理能力由强到弱的顺序对所述耗时数据进行排序,形成一轮优先级队列;以及在接收到请求时,将所述请求依次分配至所述优先级队列中当前最高优先级的耗时数据所对应的服务器进行处理。
[0024]优选地,所述耗时数据包括每一服务器处理每次请求的耗时值和在一固定周期内处理一次请求的平均耗时值。
[0025]优选地,所述负载均衡器和服务器之间采用JMS的发布/订阅模式进行通信,并为请求耗时数据建立专用的消息主题,其中,服务器为所述消息主题的发布者,负载均衡器为所述消息主题的订阅者。
[0026]如上所述,本发明具有以下有益效果:本发明依据集群中的各服务器上报的实时业务处理情况,动态调整负载均衡策略,以达到整体集群的负载均衡优化目的,很好地解决了现有负载均衡策略技术缺乏依据服务器实时处理情况进行动态调整的能力的问题。
【附图说明】
[0027]图1显示为本发明中服务器负载均衡方法所在的应用环境原理图。
[0028]图2显示为本发明中服务器负载均衡系统的原理图示意图。
[0029]图3示为本发明中一种负载均衡器的实施原理图。
[0030]图4示为本发明中一种服务器的实施原理图。
[0031]元件标号说明
[0032]101,201,301负载均衡器
[0033]102,202服务器集群
[0034]102a, 102b, 102c, 202a, 202b, 202c, 401服务器
[0035]301a耗时数据队列生成单元
[0036]301b请求均衡分配单元
[0037]401a耗时数据发送单元
[0038]401b请求接收单元
【具体实施方式】
[0039]以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的【具体实施方式】加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
[0040]需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
[0041]实施例1
[0042]本实施例给出了一种服务器负载均衡方法,如图1所示,该服务器负载均衡方法应用于负载均衡器101和连接在所述负载均衡器101上的服务器集群102中,所述负载均衡方法包括:由服务器(102a,102b,102c)向负载均衡器101发送反映自身处理能力的耗时数据;负载均衡器101接收所述服务器集群102中所有服务器的所述耗时数据并按处理能力由强到弱的顺序对所述耗时数据进行排序,形成一轮优先级队列;以及在负载均衡器101接收到请求时,将所述请求依次分配至所述优先级队列中当前最高优先级的耗时数据所对应的服务器进行处理。本发明通过负载均衡器101依据各服务器上报的耗时数据,进行负载均衡优化,将访问请求优先转发至处理能力较强的服务器,解决了现有负载均衡策略技术缺乏依据服务器实时处理情况进行动态调整的能力的问题。
[0043]在具体实施中,负载均衡器101内部维护一个优先级队列(Pr1rity Queue),将接收到的服务器请求处理平均耗时数据存入其中,按数值从小到大进行排列(即按服务器处理能力由强到弱的顺序进行排序);这样,负载均衡器101每次分发请求均从该优先级队列中依次取得平均处理时间最小的服务器地址进行分发,直至队列中的服务器均使用,并重复该过程,达到动态优化负载均衡策略的目的。
[0044]在具体实施中,所述耗时数据包括服务器处理每次请求的耗时值和在一固定周期内处理一次请求的平均耗时值。
[0045]其中,服务器记录每次的请求处理时间,即耗时值,定义如下:
[0046]耗时值=I服务器接收到请求的时间点-服务器返回请求结果的时间点I,
[0047]具体地,如果该请求不产生返回值,例如出错或超时等,那么均按出错或超时结束时间点作为服务器返回请求结果的时间点来进行计算。
[0048]在具体实施中,服务器在固定周期内统计所有请求处理耗时的平均值,已得到平均耗时值。该固定周期可根据应用需要变化,通常为分钟或小时级别,如10分钟或I小时等。
[0049]在具体实施中,集群中各服务器将该耗时数据通过JMS网络消息发送至负载均衡器101,在上述固定统计周期的间隔,服务器通过Java消息服务(英文全称JavaMessaging Service,简称:JMS),以网络消息的形式,将请求处理的耗时数据上传至负载均衡器101,具体如下:
[0050]1.采用JMS的发布/订阅模式(Publish/Subscribe),为请求处理平均耗时创建专用的消息主题(Messaging Topic);
[0051]2.负载均衡器101作为该消息主题的订阅者(Subscriber),集群内的各服务器均作为该消息主题的发布者(Publisher);
[0052]3.服务器的请求处理平均耗时数据,以文本形式放入消息体内进行发送。
[0053]也即是,负载均衡器101和集群中各服务器之间采用JMS的发布/订阅模式进行通信,并为请求耗时数据建立专用的消息主题,其中,服务器为所述消息主题的发布者,负载均衡器101为所述消息主题的订阅者。
[0054]实施例2
[0055]本实施例中提供了一种服务器负载均衡系统,如图2,所述服务器负载均衡系统包括:服务器集群202,包括若干服务器(202a,202b,202c),所述服务器(202a,202b,202c)用于向负载均衡器201发送反映自身处理能力的耗时数据;负载均衡器201,用于接收所述服务器集群202中所有服务器的所述耗时数据并按处理能力由强到弱的顺序对所述耗时数据进行排序,形成一轮优先级队
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1