服务器组内扩容的方法、装置、存储介质和系统与流程

文档序号:14155822阅读:178来源:国知局

本发明涉及网络通信技术领域,尤其涉及一种服务器组内扩容的方法、装置、存储介质和系统。



背景技术:

对于提供网络服务的平台机构,其中的服务器架构设计决定该平台机构是否能在任何阶段都满足实际的运营需求。现有的服务器架构设计存在以下缺点:

当只有少数用户对服务器进行访问时,服务器开启数量过多造成资源浪费;当大规模用户对服务器进行访问时,服务器负载过重而崩溃。



技术实现要素:

本发明实施例提供一种服务器组内扩容的方法、装置、存储介质和系统,实现服务器组内扩容和合理利用服务器组,避免资源浪费。

在第一方面,本发明实施例提供一种服务器组内扩容的方法,由门服务器执行,包括:

响应接收到的客户端发送的登录服务器请求,对所述登录服务器请求对应的服务器组的链接数量加一;其中,所述服务器组包括至少一个服务器;

判断所述链接数量是否超出所述服务器组的链接阈值;

当所述链接数量超出所述服务器组的链接阈值时,在所述服务器组中开启一个新的服务器,并根据所述服务器组包含已开启的服务器个数更新所述服务器组的链接阈值;

当所述链接数量未超出所述服务器组的链接阈值时,获取所述服务器组的服务器负载分布,从中选取服务器并将选取的服务器的端口信息发送给所述客户端;所述端口信息用于提供给所述客户端根据所述端口信息与所述选取的服务器建立通信连接。

进一步地,所述根据所述服务器组包含已开启的服务器个数更新所述服务器组的链接阈值,具体为:

获取所述服务器组中新开启的服务器的链接上限阈值;

将所述链接上限阈值与所述服务器组当前的链接阈值相加,获得更新后的所述服务器组的连接阈值。

进一步地,所述当所述链接数量未超出所述服务器组的链接阈值时,获取所述服务器组的服务器负载分布,从中选取服务器并将选取的服务器的端口信息发送给所述客户端,具体包括:

当所述链接数量未超出所述服务器组的链接阈值时,获取所述服务器组的服务器负载分布;

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

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

优选地,所述的服务器组内扩容的方法,还包括:

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

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

优选地,所述的服务器组内扩容的方法,还包括:

当在计时阈值内未接收到所述服务器的心跳反馈时,对所述服务器进行重启操作。

第二方面,本发明实施例还提供一种服务器组内扩容的装置,所述装置包括:

链接数量统计模块,用于响应接收到的客户端发送的登录服务器请求,对所述登录服务器请求对应的服务器组的链接数量加一;其中,所述服务器组包括至少一个服务器;

判断模块,用于判断所述链接数量是否超出所述服务器组的链接阈值;

扩容模块,用于当所述链接数量超出所述服务器组的链接阈值时,在所述服务器组中开启一个新的服务器,并根据所述服务器组包含已开启的服务器个数更新所述服务器组的链接阈值。

服务器选取模块,用于当所述链接数量未超出所述服务器组的链接阈值时,获取所述服务器组的服务器负载分布,从中选取服务器并将选取的服务器的端口信息发送给所述客户端;所述端口信息用于提供给所述客户端根据所述端口信息与所述选取到的任一服务器建立通信连接。

进一步地,所述服务器选取模块,包括:

负载分布获取单元,用于当所述链接数量未超出所述服务器组的链接阈值时,获取所述服务器组的服务器负载分布;

服务器选取单元,用于根据所述服务器负载分布,从所述服务器组中选取满足负载要求的服务器;

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

进一步地,所述服务器选取模块,还包括:

监控单元,用于对于所述服务器组中的每一个服务器,定时发送心跳给所述服务器;

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

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

在第四方面,本发明实施例还提供一种服务器组内扩容的系统,包括:门服务器和服务器组;所述门服务器与所述服务器组中的所述服务器连接;

其中,所述门服务器执行第一方面提供的服务器组内扩容的方法。

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

本发明实施例提供的服务器组内扩容的方法、装置、存储介质和系统,门服务器响应接收到的客户端发送的登录服务器请求,对所述登录服务器请求对应的服务器组的链接数量加一;判断所述链接数量是否超出所述服务器组的链接阈值;当所述链接数量超出所述服务器组的链接阈值时,在所述服务器组中开启一个新的服务器,并根据所述服务器组包含已开启的服务器个数更新所述服务器组的链接阈值;当所述链接数量未超出所述服务器组的链接阈值时,获取所述服务器组的服务器负载分布,从中选取服务器并将选取的服务器的端口信息发送给所述客户端;所述端口信息用于提供给所述客户端根据所述端口信息与所述选取的服务器建立通信连接;由于当客户端请求登录服务器时,门服务器判断服务器组的链接数量超出服务器组的链接阈值时,在服务器组中开启一个新的服务器,并从服务器组中选取服务器给客户端连接,使得服务器组扩容,实现门服务器根据服务器组的链接数量合理管理开启的服务器的个数,不会造成服务器组中开启的服务器无客户端连接导致资源浪费的情况,从而实现服务器组内扩容和合理利用服务器组,避免资源浪费的问题。

附图说明

图1是本发明实施例提供的一种服务器组内扩容的方法的流程示意图;

图2是本发明实施例提供的一种服务器组内扩容的装置的结构示意图;

图3是本发明实施例提供的一种服务器组内扩容的装置的服务器选取模块的结构示意图;

图4是本发明实施例提供的一种服务器组内扩容的系统的结构示意图。

具体实施方式

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

参见图1,是本发明实施例提供的一种服务器组内扩容的方法的流程示意图;

如图1所示,第一方面,本发明实施例提供一种服务器组内扩容的方法由门服务器执行,且下文均以门服务器作为执行主体进行说明,包括步骤s1至步骤s4,具体如下:

s1,响应接收到的客户端发送的登录服务器请求,对所述登录服务器请求对应的服务器组的链接数量加一;其中,所述服务器组包括至少一个服务器。以及,当所述服务器组中的服务器与客户端断开连接时,对所述服务器组的链接数量减一。

在本发明实施例中,所述客户端可为智能手机、个人电脑等智能终端。当用户通过客户端登录时,用户的客户端立即向门服务器发送登录服务器请求。门服务器响应客户端发送的登录服务器请求,立即在本地门服务器数据库储存的服务器组负载分布表中对所述登录请求对应的服务器组的链接数量进行记录更新,服务器组负载分布包括服务器组的链接数量。

s2,判断所述链接数量是否超出所述服务器组的链接阈值。

在本发明实施例中,服务器组的链接阈值至少大于服务器组中已开启使用的每个服务器的链接上限阈值相加的总和。判断更新后的门服务器数据库储存的服务器组负载分布表中的所述登录请求对应的服务器组的链接数量是否超出所述服务器组的链接阈值。

s3,当所述链接数量超出所述服务器组的链接阈值时,在所述服务器组中开启一个新的服务器,并根据所述服务器组包含已开启的服务器个数更新所述服务器组的链接阈值。

s4,当所述链接数量未超出所述服务器组的链接阈值时,获取所述服务器组的服务器负载分布,从中选取服务器并将选取的服务器的端口信息发送给所述客户端;所述端口信息用于提供给所述客户端根据所述端口信息与所述选取的服务器建立通信连接。

在本发明实施例中,当实际的用户数量多,更新后的门服务器数据库储存的服务器组负载分布表中的所述登录请求对应的服务器组的链接数量超出服务器组的链接阈值时,在所述服务器组中开启一个新的服务器,直至所述链接数量不超出所述服务器组的链接阈值,实现服务器组的扩容。

另一方面,门服务器会实时检测所述服务器组的每一个服务器的链接数量,当所述服务器组内存在有服务器的链接数量低于第二链接阈值,且所述服务器组的总的链接数量也低于第三链接阈值时;将低于所述第二链接阈值的服务器的标识信息从满足负载要求的服务器的标识队列信息中删除,以使该服务器不再进行分配,而且,当所述低于所述第二链接阈值的服务器的链接数量减少至零时,且所述服务器组的总的链接数量也仍低于第三链接阈值的时候,将所述低于所述第二链接阈值的服务器关闭使用,进一步地提升服务器的资源利用率。

进一步地,所述根据所述服务器组包含已开启的服务器个数更新所述服务器链组的链接阈值,具体为:

获取所述服务器组中新开启的服务器的链接上限阈值;

将所述链接上限阈值与所述服务器组当前的链接阈值相加,获得更新后的所述服务器组的连接阈值。

需要说明的是,在上述实时检测所述服务器组的链接数量来决定是否开启新的服务器的同时,需要实时更新所述服务器组的链接阈值,如此才能够在扩容的同时保持服务器的资源的有效利用。

进一步地,所述当所述链接数量未超出所述服务器组的链接阈值时,获取所述服务器组的服务器负载分布,从中选取服务器并将选取的服务器的端口信息发送给所述客户端,具体包括:

当所述链接数量未超出所述服务器组的链接阈值时,获取所述服务器组的服务器负载分布;

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

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

在本发明实施例中,所述链接数量未超出所述服务器组的链接阈值时,门服务器在本地查询门服务器数据库的服务器组负载分布表以获取所述服务器组的服务器负载分布;并根据所述服务器负载分布从所述服务器组中选取满足负载要求的服务器,选取满足负载要求的服务器可以包括多个,也可以只为一个,例如,满足负载要求的服务器优选为负载最小的服务器;门服务器将选取的服务器的端口信息发送给所述客户端后,立即断开与所述客户端的连接,当所述客户端获取到所述选取的服务器的端口信息时,所述客户端与所述选取的服务器中的任一个服务器建立通信连接。

优选地,所述的服务器组内扩容的方法,还包括:

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

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

门服务器定时发送心跳给所述服务器组中的每一个服务器,当服务器组中的某个服务器发生损坏时,损坏的服务器无法对所述门服务器发送的心跳进行反馈,门服务器在计时阈值内未接收到损坏的服务器的心跳反馈时,将损坏的服务器的标识信息从满足负载要求的服务器的标识队列信息中删除,使得损坏的服务器被再次激活之前,门服务器都不会分配该损坏的服务器与客户端连接。实现当服务器组中的某个服务器无法正常工作时,可将后续连接的客户端分配至服务器组中其他正常工作的服务器上,使得服务器仍能提供正常的业务服务,提高了服务器组的容灾能力。

优选地,所述的服务器组内扩容的方法,还包括:

当在计时阈值内未接收到所述服务器的心跳反馈时,对所述服务器进行重启操作。

门服务器在计时阈值内未接收到所述服务器的心跳反馈时,能够在不重启整个服务器组的情况下,对所述服务器进行维护和重启,从而减少由于服务器出现问题对客户的业务造成的影响。

本发明实施例提供的服务器组内扩容的方法,门服务器响应接收到的客户端发送的登录服务器请求,对所述登录服务器请求对应的服务器组的链接数量加一;判断所述链接数量是否超出所述服务器组的链接阈值;当所述链接数量超出所述服务器组的链接阈值时,在所述服务器组中开启一个新的服务器,并根据所述服务器组包含已开启的服务器个数更新所述服务器组的链接阈值;当所述链接数量未超出所述服务器组的链接阈值时,获取所述服务器组的服务器负载分布,从中选取服务器并将选取的服务器的端口信息发送给所述客户端;所述端口信息用于提供给所述客户端根据所述端口信息与所述选取的服务器建立通信连接;由于当客户端请求登录服务器时,门服务器判断服务器组的链接数量超出服务器组的链接阈值时,在服务器组中开启一个新的服务器,并从服务器组中选取服务器给客户端连接,使得服务器组扩容,实现门服务器根据服务器组的链接数量合理管理开启的服务器的个数,不会造成服务器组中开启的服务器无客户端连接导致资源浪费的情况,从而实现服务器组内扩容和合理利用服务器组,避免资源浪费的问题。

参见图2,是本发明实施例提供的一种服务器组内扩容的装置的结构示意图;

在第二方面,本发明实施例提供的服务器组内扩容的装置,包括:

链接数量统计模块201,用于响应接收到的客户端发送的登录服务器请求,对所述登录服务器请求对应的服务器组的链接数量加一;其中,所述服务器组包括至少一个服务器;

判断模块202,用于判断所述链接数量是否超出所述服务器组的链接阈值;

扩容模块203,用于当所述链接数量超出所述服务器组的链接阈值时,在所述服务器组中开启一个新的服务器,并根据所述服务器组包含已开启的服务器个数更新所述服务器组的链接阈值。

服务器选取模块204,用于当所述链接数量未超出所述服务器组的链接阈值时,获取所述服务器组的服务器负载分布,从中选取服务器并将选取的服务器的端口信息发送给所述客户端;所述端口信息用于提供给所述客户端根据所述端口信息与所述选取到的任一服务器建立通信连接。

本发明实施例提供的一种服务器组内扩容的装置,链接数量统计模块201响应接收到的客户端发送的登录服务器请求,对所述登录服务器请求对应的服务器组的链接数量加一,并由判断模块202判断所述链接数量是否超出所述服务器组的链接阈值;用于当所述链接数量超出所述服务器组的链接阈值时,扩容模块203在所述服务器组中开启一个新的服务器,并根据所述服务器组包含已开启的服务器个数更新所述服务器组的链接阈值;当所述链接数量未超出所述服务器组的链接阈值时,服务器选取模块204获取所述服务器组的服务器负载分布,从中选取服务器并将选取的服务器的端口信息发送给所述客户端。本发明通过判断服务器组的链接数量超出服务器组的链接阈值时,在服务器组中开启一个新的服务器,并从服务器组中选取服务器给客户端连接,使得服务器组扩容,实现门服务器根据服务器组的链接数量合理管理开启的服务器的个数,不会造成服务器组中开启的服务器无客户端连接导致资源浪费的情况,从而实现服务器组内扩容和合理利用服务器组,避免资源浪费的问题。

参见图3,是本发明实施例提供的一种服务器组内扩容的装置的服务器选取模块的结构示意图;

进一步地,所述服务器选取模块204,包括:

负载分布获取单元301,用于当所述链接数量未超出所述服务器组的链接阈值时,获取所述服务器组的服务器负载分布;

服务器选取单元302,用于根据所述服务器负载分布,从所述服务器组中选取满足负载要求的服务器;

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

进一步地,所述服务器选取模块204,还包括:

监控单元304,用于对于所述服务器组中的每一个服务器,定时发送心跳给所述服务器;

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

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

参见图4,是本发明实施例提供的一种服务器组内扩容的系统的结构示意图;

在第四方面,本发明实施例还提供一种服务器组内扩容的系统,包括:门服务器和服务器组;所述门服务器与所述服务器组中的所述服务器连接;

其中,所述门服务器执行第一方面提供的服务器组内扩容的方法。

本发明实施例提供的服务器组内扩容的方法、装置、存储介质和系统,门服务器响应接收到的客户端发送的登录服务器请求,对所述登录服务器请求对应的服务器组的链接数量加一;判断所述链接数量是否超出所述服务器组的链接阈值;当所述链接数量超出所述服务器组的链接阈值时,在所述服务器组中开启一个新的服务器,并根据所述服务器组包含已开启的服务器个数更新所述服务器组的链接阈值;当所述链接数量未超出所述服务器组的链接阈值时,获取所述服务器组的服务器负载分布,从中选取服务器并将选取的服务器的端口信息发送给所述客户端;所述端口信息用于提供给所述客户端根据所述端口信息与所述选取的服务器建立通信连接;由于当客户端请求登录服务器时,门服务器判断服务器组的链接数量超出服务器组的链接阈值时,在服务器组中开启一个新的服务器,并从服务器组中选取服务器给客户端连接,使得服务器组扩容,实现门服务器根据服务器组的链接数量合理管理开启的服务器的个数,不会造成服务器组中开启的服务器无客户端连接导致资源浪费的情况,从而实现服务器组内扩容和合理利用服务器组,避免资源浪费的问题。

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

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

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