服务器集群的负载均衡方法、装置、存储介质和系统与流程

文档序号:14022924阅读:138来源:国知局
服务器集群的负载均衡方法、装置、存储介质和系统与流程

本发明属于网络通信技术领域,具体涉及一种服务器集群的负载均衡方法、装置以及系统。



背景技术:

随着网络技术的发展,某一网站或某一提供网络服务的平台机构随着其业务的不断增加,登录其网站或访问其后台服务端的用户也是不断地增长的,因而网站或后台服务端通常是设置有服务集群的结构为用户提供访问服务。该服务器集群的结构存在以下缺点:

当大规模用户对服务器集群进行访问时,会存在以下现象:服务器集群中的某一个服务器由于与其连接的客户端过多,进而导致负载过重而崩溃,但服务器集群中的其他服务器却闲置。



技术实现要素:

本发明实施例提供一种服务器集群的负载均衡方法、装置、存储介质和系统,实现服务器集群的负载分布均衡。

在第一方面,本发明实施例提供一种服务器集群的负载均衡方法,由门服务器执行,包括:

响应接收到的客户端发送的登录服务器请求,获取服务器集群中的服务器负载分布;所述服务器集群包括至少一个服务器;

根据所述服务器负载分布,从所述服务器集群中选取满足负载要求的服务器;

将选取的服务器的端口信息发送给所述客户端;所述端口信息用于提供给所述客户端根据所述端口信息与所述选取的服务器建立通信连接。

优选地,所述的服务器集群的负载均衡方法,还包括:

监控所述服务器集群中的每一个服务器当前的负载是否达到预设的负载阈值;

当存在有服务器当前的负载上升且达到所述负载阈值时,将该服务器的标识信息从满足负载要求的服务器的标识队列信息中删除;所述服务器负载分布记录有满足负载要求的服务器的标识队列信息;

当存在有服务器当前的负载下降且低于所述负载阈值时,将该服务器的标识信息增加到满足负载要求的服务器的标识队列信息中。

进一步地,所述服务器负载分布包括每一个服务器的已建立通信连接的链接数量;所述服务器集群的负载均衡方法还包括:

当接收到服务器发送的连接信息时,对所述服务器的建立通信连接的链接数量加一;所述连接信息包括所述服务器的标识信息和与所述服务器新建立通信连接的客户端的用户信息;

当接收到所述服务器发送的断开信息时,对所述服务器的建立通信连接的链接数量减一;所述断开信息包括所述服务器的标识信息和与所述服务器断开通信连接的客户端的用户信息。

进一步地,所述将选取的服务器的端口信息发送给所述客户端之后,还包括:

断开所述客户端与所述门服务器的连接。

优选地,所述的服务器集群的负载均衡方法,还包括:

对于所述服务器集群中的每一个服务器,定时发送心跳给所述服务器;

当在计时阈值内未接收到所述服务器的心跳反馈时,将所述服务器的标识信息从满足负载要求的服务器的标识队列信息中删除。

在第二方面,本发明实施例还提供一种服务器集群的负载均衡装置,所述装置包括:

负载分布获取模块,用于响应接收到的客户端发送的登录服务器请求,获取服务器集群中的服务器负载分布;所述服务器集群包括至少一个服务器;

判断模块,用于根据所述服务器负载分布,从所述服务器集群中选取满足负载要求的服务器;

端口信息发送模块,用于将选取的服务器的端口信息发送给所述客户端;所述端口信息用于提供给所述客户端根据所述端口信息与所述选取的服务器建立通信连接;

进一步地,所述服务器集群的负载均衡装置还包括:

监控模块,用于监控所述服务器集群中的每一个服务器当前的负载是否达到预设的负载阈值;

第一信息删除模块,用于当存在有服务器当前的负载上升且达到所述负载阈值时,将该服务器的标识信息从所述判断模块中满足负载要求的服务器的标识队列信息中删除;

信息增加模块,用于当存在有服务器当前的负载下降且低于所述负载阈值时,将该服务器的标识信息增加到所述判断模块的满足负载要求的服务器的标识队列信息中。

进一步地,所述服务器集群的负载均衡装置,还包括:

定时询问模块,用于对于所述服务器集群中的每一个服务器,定时发送心跳给所述服务器;;

第二信息删除模块,用于当在计时阈值内未接收到所述服务器的心跳反馈时,将所述服务器的标识信息从满足负载要求的服务器的标识队列信息中删除。。

在第三方面,本发明实施例还提供一种存储介质,所述存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述存储介质所在设备执行第一方面提供的服务器集群的负载均衡方法。

在第四方面,本发明实施例还提供一种服务器集群的负载均衡系统,包括:门服务器和服务器集群;所述门服务器与所述服务器集群中的所有服务器连接;所述门服务器执行第一方面提供的服务器集群的负载均衡方法。

实施本发明实施例,具有如下有益效果:

本发明实施例提供的服务器集群的负载均衡方法、装置、存储介质和系统,门服务器响应接收到的客户端发送的登录服务器请求,获取服务器集群中的服务器负载分布;根据所述服务器负载分布,从所述服务器集群中选取满足负载要求的服务器;将选取的服务器的端口信息发送给所述客户端;所述端口信息用于提供给所述客户端根据所述端口信息与所述选取的服务器建立通信连接;由于当客户端请求登录服务器时,门服务器根据服务器集群中的服务器负载分布选取满足负载要求的服务器给客户端连接,能够合理的对服务器集群中的服务器进行分配,使得服务器集群中的每个服务器都能够被充分利用,实现服务器集群的负载分布均衡。

附图说明

图1是本发明实施例提供的一种服务器集群的负载均衡方法的流程示意图;

图2是本发明实施例提供的一种服务器集群的负载均衡装置的结构示意图;

图3是本发明实施例提供的一种服务器集群的负载均衡系统的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

参见图1,是本发明实施例提供的一种服务器集群的负载均衡方法的流程示意图。

本发明实施例提供的一种服务器集群的负载均衡方法由门服务器执行,且下文均以门服务器作为执行主体进行说明。

所述服务器集群的负载均衡方法,包括:

s1,响应接收到的客户端发送的登录服务器请求,获取服务器集群中的服务器负载分布;所述服务器集群包括至少一个服务器;

在本发明实施例中,所述客户端可为智能手机、个人电脑等智能终端,所述服务器集群为前端连接服务器集群或游戏服务器集群或登录服务器集群等。以前端连接服务器集群为例,当用户通过客户端登录时,用户的客户端立即向门服务器发送登录服务器请求。门服务器响应所述登录服务器请求,立即在本地查询门服务器数据库以获取前端服务器集群中的服务器负载分布。

s2,根据所述服务器负载分布,从所述服务器集群中选取满足负载要求的服务器;所述满足负载要求的服务器可为负载最小的服务器;

s3,将选取的服务器的端口信息发送给所述客户端;所述端口信息用于提供给所述客户端根据所述端口信息与所述选取的服务器建立通信连接。所述端口信息包括服务器的ip地址。

优选地,所述的服务器集群的负载均衡方法,还包括:

监控所述服务器集群中的每一个服务器当前的负载是否达到预设的负载阈值;

当存在有服务器当前的负载上升且达到所述负载阈值时,将该服务器的标识信息从满足负载要求的服务器的标识队列信息中删除;所述服务器负载分布记录有满足负载要求的服务器的标识队列信息;

当存在有服务器当前的负载下降且低于所述负载阈值时,将该服务器的标识信息增加到满足负载要求的服务器的标识队列信息中。

在本发明实施例中,门服务器实时监控所述服务器集群中的每一个服务器当前的负载是否达到预设的负载阈值;当发现有服务器当前的负载上升且达到所述负载阈值时,将该服务器的标识信息从满足负载要求的服务器的标识队列信息中删除,门服务器不分配该服务器与客户端连接。当发现有服务器当前的负载下降且低于所述负载阈值时,将该服务器的标识信息增加到满足负载要求的服务器的标识队列信息中,该服务器重新加入分配。

进一步地,所述服务器负载分布包括每一个服务器的已建立通信连接的链接数量;默认每个客户端的资源消耗程度在大数据量的情况下是相同的,所以服务器的已建立通信连接的链接数量可以反映服务器当前的负载分布;所述服务器集群的负载均衡方法还包括:

当接收到服务器发送的连接信息时,对所述服务器的建立通信连接的链接数量加一;所述连接信息包括所述服务器的标识信息和与所述服务器新建立通信连接的客户端的用户信息;

当接收到所述服务器发送的断开信息时,对所述服务器的建立通信连接的链接数量减一;所述连接信息包括所述服务器的标识信息和与所述服务器新建立通信连接的客户端的用户信息。

在本发明实施例中,当门服务器接收到服务器发送的连接信息时,在门服务器数据库存储的服务器集群中的服务器负载分布列表中,记录所述服务器的建立通信连接的链接数量相应的增加数量;当接收到所述服务器发送的断开信息时,在门服务器数据库存储的服务器集群中的服务器负载分布列表中,记录所述服务器的建立通信连接的链接数量相应的减少数量;从而实现门服务器可以动态维护服务器集群中的每个服务器的建立通信连接的链接数量。

进一步地,所述将选取的服务器的端口信息发送给所述客户端之后,还包括:

断开所述客户端与所述门服务器的连接。

当门服务器将所述将选取的服务器的端口信息发送给所述客户端之后,立即断开与所述客户端的连接,当所述客户端获取到所述选取的服务器的端口信息时,所述客户端与所述选取的服务器建立通信连接。

优选地,所述的服务器集群的负载均衡方法,还包括:

对于所述服务器集群中的每一个服务器,定时发送所述服务器;

当在计时阈值内未接收到所述服务器的心跳反馈时,将所述服务器的标识信息从满足负载要求的服务器的标识队列信息中删除。

门服务器定时发送心跳给所述服务器集群中的每一个服务器,当服务器集群中的某个服务器发生损坏时,损坏的服务器无法对所述门服务器发送的心跳进行反馈,门服务器在计时阈值内未接收到损坏的服务器的心跳反馈时,将损坏的服务器的标识信息从满足负载要求的服务器的标识队列信息中删除,使得损坏的服务器被再次激活之前,门服务器都不会分配该损坏的服务器与客户端连接。

本发明实施例提供的服务器集群的负载均衡方法,门服务器响应接收到的客户端发送的登录服务器请求,获取服务器集群中的服务器负载分布;根据所述服务器负载分布,从所述服务器集群中选取满足负载要求的服务器;将选取的服务器的端口信息发送给所述客户端;所述端口信息用于提供给所述客户端根据所述端口信息与所述选取的服务器建立通信连接;由于当客户端请求登录服务器时,门服务器根据服务器集群中的服务器负载分布选取满足负载要求的服务器给客户端连接,能够合理的对服务器集群中的服务器进行分配,使得服务器集群中的每个服务器都能够被充分利用,实现服务器集群的负载分布均衡。

参见图2,是本发明实施例提供的一种服务器集群的负载均衡装置的结构示意图;

本发明实施例提供的服务器集群的负载均衡装置,包括:

服务器负载分布获取模块201,用于响应接收到的客户端发送的登录服务器请求,获取服务器集群中的服务器负载分布;所述服务器集群包括至少一个服务器;

判断模块202,用于根据所述服务器负载分布,从所述服务器集群中选取满足负载要求的服务器;

端口信息发送模块203,用于将选取的服务器的端口信息发送给所述客户端;所述端口信息用于提供给所述客户端根据所述端口信息与所述选取的服务器建立通信连接。

进一步地,所述服务器集群的负载均衡装置还包括:

监控模块204,用于监控所述服务器集群中的每一个服务器当前的负载是否达到预设的负载阈值;

第一信息删除模块205,用于当存在有服务器当前的负载上升且达到所述负载阈值时,将该服务器的标识信息从所述判断模块中满足负载要求的服务器的标识队列信息中删除;

信息增加模块206,用于当存在有服务器当前的负载下降且低于所述负载阈值时,将该服务器的标识信息增加到所述判断模块的满足负载要求的服务器的标识队列信息中。

本发明实施例提供的一种服务器集群的负载均衡装置,负载分布获取模块201响应接收到的客户端发送的登录服务器请求,获取服务器集群中的服务器负载分布,并由判断模块202根据所述服务器负载分布从所述服务器集群中选取满足负载要求的服务器,随即端口信息发送模块203将选取的服务器的端口信息发送给所述客户端,同时监控模块204实时监控所述服务器集群中的每一个服务器当前的负载是否达到预设的负载阈值;当存在有服务器当前的负载上升且达到所述负载阈值时,第一信息删除模块205将该服务器的标识信息从所述判断模块202中满足负载要求的服务器的标识队列信息中删除;当存在有服务器当前的负载下降且低于所述负载阈值时,信息增加模块206将该服务器的标识信息增加到所述判断模块202的满足负载要求的服务器的标识队列信息中。本发明根据服务器集群中的服务器负载分布选取满足负载要求的服务器给客户端连接,能够合理的对服务器集群中的服务器进行分配,使得服务器集群中的每个服务器都能够被充分利用,实现服务器集群的负载分布均衡。

优选地,所述服务器集群的负载均衡装置,还包括:

定时询问模块207,用于对于所述服务器集群中的每一个服务器,定时发送心跳给所述服务器;第二信息删除模块208,用于当在计时阈值内未接收到所述服务器的心跳反馈时,将所述服务器的标识信息从所述判断模块202中满足负载要求的服务器的标识队列信息中删除。

在本发明实施例提供的一种服务器集群的负载均衡装置中,定时询问模块207定时发送心跳给所述服务器集群中的每一个服务器,当服务器集群中的某个服务器发生损坏时,损坏的服务器无法对所述定时询问模块207发送的心跳进行反馈,定时询问模块207在计时阈值内未接收到损坏的服务器的心跳反馈时,第二信息删除模块208将损坏的服务器的标识信息从判断模块202中满足负载要求的服务器的标识队列信息中删除,使得损坏的服务器被再次激活之前,判断模块202都不会分配该损坏的服务器与客户端连接。

本发明实施例还提供一种存储介质,所述存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述存储介质所在设备执行前文所述的服务器集群的负载均衡方法。

参见图3,是本发明实施例提供的一种服务器集群的负载均衡系统的结构示意图;

本发明实施例提供的服务器集群的负载均衡系统,包括:门服务器和服务器集群;所述门服务器与所述服务器集群中的所有服务器连接;所述门服务器能够执行前文所述的服务器集群的负载均衡的方法。

本发明实施例提供的服务器集群的负载均衡方法、装置、存储介质和系统,门服务器响应接收到的客户端发送的登录服务器请求,获取服务器集群中的服务器负载分布;根据所述服务器负载分布,从所述服务器集群中选取满足负载要求的服务器;将选取的服务器的端口信息发送给所述客户端;所述端口信息用于提供给所述客户端根据所述端口信息与所述选取的服务器建立通信连接;由于当客户端请求登录服务器时,门服务器根据服务器集群中的服务器负载分布选取满足负载要求的服务器给客户端连接,能够合理的对服务器集群中的服务器进行分配,使得服务器集群中的每个服务器都能够被充分利用,实现服务器集群的负载分布均衡。

以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1