一种基于TCP长连接的服务器节点服役方法及装置制造方法及图纸

技术编号:32968299 阅读:12 留言:0更新日期:2022-04-09 11:28
本说明书实施例公开了一种基于TCP长连接的服务器节点服役方法及装置。方案可以包括:获取服务节点的数量和与服务节点建立长连接的客户端连接总数量;服务节点包括扩容后的新增服务节点和已有服务节点;根据服务节点的数量和客户端连接总数量,确定各个服务节点所需处理的客户端连接平均数量;根据各个服务节点所需处理的客户端连接平均数量,确定已有服务节点需要断开的客户端连接的目标数量;将已有服务节点中目标数量的客户端连接断开;将从已有服务节点断开后的目标数量的客户端连接,分配至扩容后的新增服务节点。本说明书实施例提供的方法能够保证服务的稳定性,提升服务资源利用效率,快速缓解集群中其他服务节点压力。快速缓解集群中其他服务节点压力。快速缓解集群中其他服务节点压力。

【技术实现步骤摘要】
一种基于TCP长连接的服务器节点服役方法及装置


[0001]本申请涉及服务器
,尤其涉及一种基于TCP长连接的服务器节点服役方法及装置。

技术介绍

[0002]传输控制协议(Transmission Control Protocol,简称TCP)是一种面向连接的、可靠的、基于字节流的传输层通信协议。客户端向服务器发起连接,服务器接受客户端连接,双方建立连接。客户端与服务器完成一次读写之后,它们之间的连接并不会主动关闭,后续的读写操作会继续使用这个连接。
[0003]在基于TCP的长连接应用场景中,客户端访问网络服务的报文先到达负载均衡调度器,调度器根据连接调度算法从后端的一组服务节点(服务池)选出一个服务节点,将数据报文发送给选定的服务节点,同时在本地记录连接哈希表,当这个客户端连接的下一次报文到达时,从连接哈希表中获取已选定的服务节点信息,再次将数据包发送到该服务节点。
[0004]当集群服务器的服务能力不足时,有效的解决方案是通过水平扩容(如增加服务节点)的方式来提升群集的服务能力。对于扩容后新增服务节点,如果客户端没有发起新的连接,原有服务节点的压力并未减小,然而要使新增服务节点服役,就必须重启负载均衡器,或重启其他现有服务节点,促使断开各客户端已建立的连接,触发客户端发起重连,进而由负载均衡器重新按负载均衡调度策略,完成重新分发连接,此时新增服务节点才有可能加入服务,但此操作会影响整个系统的服务稳定性和可靠性。
[0005]因此,急需一种使扩容后的服务节点快速服役的方法。
>
技术实现思路

[0006]本说明书实施例提供一种基于TCP长连接的服务器节点服役方法及装置,以减少扩容后的服务节点未服役的时间,提升扩容升级对客户端连接稳定性。
[0007]为解决上述技术问题,本说明书实施例是这样实现的:
[0008]本说明书实施例提供的基于TCP长连接的服务器节点服役方法,包括:
[0009]获取服务节点的数量和与所述服务节点建立长连接的客户端连接总数量;所述服务节点包括扩容后的新增服务节点和已有服务节点;
[0010]根据所述服务节点的数量和所述客户端连接总数量,确定各个所述服务节点所需处理的客户端连接平均数量;
[0011]根据各个所述服务节点所需处理的客户端连接平均数量,确定所述已有服务节点需要断开的客户端连接的目标数量;
[0012]将所述已有服务节点中所述目标数量的客户端连接断开;
[0013]将从所述已有服务节点断开后的所述目标数量的客户端连接,分配至所述扩容后的新增服务节点。
[0014]可选的,所述获取服务节点的数量和与所述服务节点建立长连接的客户端连接总数量之前,还包括:
[0015]调整所述扩容后的新增服务节点和已有服务节点的数据分配优先级,以使所述扩容后的新增服务节点的数据分配优先级高于所述已有服务节点的数据分配优先级。
[0016]可选的,获取所述断开的客户端的最大允许连接窗口期,以及所述断开的客户端与所述扩容后的新增服务节点建立起连接的连接时间;
[0017]当所述连接时间长于所述最大允许连接窗口期时,调整所述扩容后的新增服务节点的分配优先级与所述已有服务节点的数据分配优先级相同。
[0018]可选的,所述将所述已有服务节点需要断开的客户端连接数量,分配至所述扩容后的新增服务节点之后,还包括:
[0019]调整所述扩容后的新增服务节点的数据分配优先级与已有服务节点的数据分配优先级相同。
[0020]本说明书实施例提供的一种基于TCP长连接的服务器节点服役装置,包括:第一获取模块,用于获取服务节点的数量和与所述服务节点建立长连接的客户端连接总数量;所述服务节点包括扩容后的新增服务节点和已有服务节点;
[0021]第一确定模块,用于根据所述服务节点的数量和所述客户端连接总数量,确定各个所述服务节点所需处理的客户端连接平均数量;
[0022]第二确定模块,用于根据各个所述服务节点所需处理的客户端连接平均数量,确定所述已有服务节点需要断开的客户端连接的目标数量;
[0023]客户端连接断开模块,用于将所述已有服务节点中所述目标数量的客户端连接断开;
[0024]分配模块,用于将从所述已有服务节点断开后的所述目标数量的客户端连接,分配至所述扩容后的新增服务节点。
[0025]可选的,第一调整模块,用于调整所述扩容后的新增服务节点和已有服务节点的数据分配优先级,以使所述扩容后的新增服务节点的数据分配优先级高于所述已有服务节点的数据分配优先级。
[0026]可选的,所述装置还包括:
[0027]第二获取模块,用于获取所述断开的客户端的最大允许连接窗口期,以及所述断开的客户端与所述扩容后的新增服务节点建立起连接的连接时间;
[0028]第二调整模块,用于当所述连接时间长于所述最大允许连接窗口期时,调整所述扩容后的新增服务节点的分配优先级与所述已有服务节点的数据分配优先级相同。
[0029]可选的,
[0030]第三调整模块,用于调整所述扩容后的新增服务节点的数据分配优先级与已有服务节点的数据分配优先级相同。
[0031]本说明书一个实施例至少能够达到以下有益效果:
[0032]通过获取服务节点的数量和全部客户端连接的总数量,计算出每一服务节点的客户端连接平均数量,将已有服务节点中的超出客户端连接平均数量的客户端断开,分配至扩容后的新增服务节点中。本说明书实施例中的方法仅针对已有服务点中的部分客户端断开连接,将客户端稳定连接的影响降到了最低,同时能够实现扩容后的新增节点的快速服
役,提升服务资源利用效率及快速缓解集群中其他服务节点压力,快速提升集群整体服务能力。
附图说明
[0033]为了更清楚地说明本说明书实施例或已有技术中的技术方案,下面将对实施例或已有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0034]图1为本说明书实施例中基于TCP长连接的服务器节点服役方法的整体方案流程示意图;
[0035]图2为本说明书实施例提供的基于TCP长连接的服务器节点服役方法的流程示意图;
[0036]图3为本实施例提供的基于TCP长连接的服务器节点服役方法的整体架构示意图;
[0037]图4为本说明书实施例提供的经过扩容后的整体架构示意图;
[0038]图5为本说明书实施例提供的经过分配后的整体架构示意图;
[0039]图6为本说明书实施例提供的对应于图2的基于TCP长连接的服务器节点服役装置的结构示意图。
具体实施方式
[0040]为使本说明书一个或多个实施例的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本说明书一个或多个实施例的技术方案进本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于TCP长连接的服务器节点服役方法,其特征在于,包括:获取服务节点的数量和与所述服务节点建立长连接的客户端连接总数量;所述服务节点包括扩容后的新增服务节点和已有服务节点;根据所述服务节点的数量和所述客户端连接总数量,确定各个所述服务节点所需处理的客户端连接平均数量;根据各个所述服务节点所需处理的客户端连接平均数量,确定所述已有服务节点需要断开的客户端连接的目标数量;将所述已有服务节点中所述目标数量的客户端连接断开;将从所述已有服务节点断开后的所述目标数量的客户端连接,分配至所述扩容后的新增服务节点。2.根据权利要求1所述的基于TCP长连接的服务器节点服役方法,其特征在于,所述获取服务节点的数量和与所述服务节点建立长连接的客户端连接总数量之前,还包括:调整所述扩容后的新增服务节点和已有服务节点的数据分配优先级,以使所述扩容后的新增服务节点的数据分配优先级高于所述已有服务节点的数据分配优先级。3.根据权利要求2所述的基于TCP长连接的服务器节点服役方法,其特征在于,所述方法还包括:获取所述断开的客户端的最大允许连接窗口期,以及所述断开的客户端与所述扩容后的新增服务节点建立起连接的连接时间;当所述连接时间长于所述最大允许连接窗口期时,调整所述扩容后的新增服务节点的分配优先级与所述已有服务节点的数据分配优先级相同。4.根据权利要求2所述的基于TCP长连接的服务器节点服役方法,其特征在于,所述将所述已有服务节点需要断开的客户端连接数量,分配至所述扩容后的新增服务节点之后,还包括:调整所述扩容后的新增服务节点的数据分配优先级与已有服务节点的数据分配优先级相同。5.一种基于TCP...

【专利技术属性】
技术研发人员:熊超李海峰王明会杨轩
申请(专利权)人:云控智行科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1