一种TCP消息限流方法、装置、服务器及存储介质制造方法及图纸

技术编号:29618243 阅读:16 留言:0更新日期:2021-08-10 18:38
本发明专利技术实施例提供了一种TCP消息限流方法、装置、服务器及存储介质,涉及通信技术领域,该方法包括:通过与客户端之间的传输控制协议TCP连接,接收来自客户端的TCP消息;确定指定时间段内通过TCP连接接收到的来自客户端的TCP消息数量;在TCP消息数量大于等于TCP连接对应的限流次数的情况下,丢弃TCP消息;在TCP消息数量小于TCP连接对应的限流次数的情况下,处理TCP消息。通过对服务器收到的TCP请求数进行限制,防止服务器出现崩溃的现象,从而对整个系统的服务进行保护。

【技术实现步骤摘要】
一种TCP消息限流方法、装置、服务器及存储介质
本专利技术涉及通信
,特别是涉及一种TCP消息限流方法、装置、服务器及存储介质。
技术介绍
传输控制协议(TransmissionControlProtocol,TCP)是一种面向连接的、可靠的、基于字节流的传输层通信协议。在客户端需要使用高可靠的服务时,对服务的稳定性、可靠性、安全性、可管理性等方面要求较高,所以客户端可以与服务器建立TCP连接,进而客户端与服务器之间可通过TCP连接进行通信。在相关技术中,为了保证服务器的稳定可靠性,可以通过对服务器的TCP连接数进行限制以达到限流效果。然而,在服务器建立的TCP连接数达到上限的情况下,如果客户端频繁通过TCP连接向服务器发出请求,服务器仍然会被压垮甚至发生宕机,造成整个系统服务不可用。
技术实现思路
本专利技术实施例的目的在于提供一种TCP消息限流方法、装置、服务器及存储介质,用以解决服务器出现宕机的问题。具体技术方案如下:第一方面,本申请实施例提供一种TCP消息限流方法,应用于服务器;所述方法包括:通过与客户端之间的传输控制协议TCP连接,接收来自所述客户端的TCP消息;确定指定时间段内通过所述TCP连接接收到的来自所述客户端的TCP消息数量;在所述TCP消息数量大于等于所述TCP连接对应的限流次数的情况下,丢弃所述TCP消息;在TCP消息数量小于所述TCP连接对应的限流次数的情况下,处理所述TCP消息。在一种可能的实现方式中,所述确定指定时间段内通过所述TCP连接接收到的来自所述客户端的TCP消息数量,包括:从本地缓存中获取所述客户端标识对应的TCP消息数量,所述本地缓存中缓存有所述指定时间段内,各客户端标识对应的TCP消息数量。在一种可能的实现方式中,在确定指定时间段内通过所述TCP连接接收到的来自所述客户端的TCP消息数量之后,所述方法还包括:在所述TCP消息数量小于所述TCP连接对应的限流次数的情况下,将所述本地缓存中,所述客户端标识对应的TCP消息数量加1。在一种可能的实现方式中,所述方法还包括:针对所述本地缓存中缓存的每个客户端标识,当该客户端标识的缓存时长达到过期时长时,将该客户端标识与该客户端标识对应的TCP消息数量删除。在一种可能的实现方式中,所述方法还包括:从预设中间件中获取限流配置信息,所述限流配置信息包括限流维度与限流次数之间的对应关系;在确定指定时间段内通过所述TCP连接接收到的来自所述客户端的TCP消息数量之后,所述方法还包括:判断所述TCP消息数量是否大于等于所述TCP连接所属的限流维度对应的限流次数。第二方面,本申请实施例提供一种TCP消息限流装置,应用于服务器;所述装置包括:接收模块,用于通过与客户端之间的传输控制协议TCP连接,接收来自客户端的TCP消息;确定模块,用于确定指定时间段内通过TCP连接接收到的来自客户端的TCP消息数量;限流模块,用于在TCP消息数量大于等于TCP连接对应的限流次数的情况下,丢弃TCP消息;处理模块,用于在TCP消息数量小于TCP连接对应的限流次数的情况下,处理TCP消息。在一种可能的实现方式中,所述确定模块,具体用于:从本地缓存中获取客户端标识对应的TCP消息数量,本地缓存中缓存有指定时间段内,各客户端标识对应的TCP消息数量。在一种可能的实现方式中,所述装置还包括:修改模块,用于在TCP消息数量小于TCP连接对应的限流次数的情况下,将本地缓存中,客户端标识对应的TCP消息数量加1。在一种可能的实现方式中,所述装置还包括:删除模块,用于针对本地缓存中缓存的每个客户端标识,当该客户端标识的缓存时长达到过期时长时,将该客户端标识与该客户端标识对应的TCP消息数量删除。在一种可能的实现方式中,所述装置还包括:获取模块,用于从预设中间件中获取限流配置信息,限流配置信息包括限流维度与限流次数之间的对应关系;判断模块,用于判断TCP消息数量是否大于等于TCP连接所属的限流维度对应的限流次数。第三方面,本专利技术实施例还提供一种服务器,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现上述任一所述的TCP消息限流方法步骤。第四方面,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现第一方面中所述的TCP消息限流方法。第五方面,本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面中所述的TCP消息限流方法。本专利技术实施例有益效果:本专利技术实施例提供的一种TCP消息限流方法、装置、服务器及存储介质,服务器在通过TCP连接接收到来自客户端的TCP消息后,可确定指定时间段内通过该TCP连接接收到的TCP消息数量,进而将上述确定的TCP消息数量与该TCP连接对应的限流次数进行对比,如果确定的TCP消息数量超过预设限流次数,则丢弃该TCP消息。如此,服务器就可以实现对同一TCP连接所承载的TCP消息数量进行限流,进而可以防止服务器流量过载而出现宕机的情况,从而对服务器乃至整个系统的服务进行保护。当然,实施本专利技术的任一产品或方法并不一定需要同时达到以上所述的所有优点。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的实施例。图1为本专利技术实施例提供的一种TCP消息限流方法的流程示意图;图2为本专利技术实施例提供的一种TCP消息限流装置的结构示意图;图3为本专利技术实施例提供的一种服务器的结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本申请实施例提供一种TCP消息限流方法,应用于服务器,如图1所示,该方法包括:S101、通过与客户端之间的TCP连接,接收来自客户端的TCP消息。其中,本步骤中服务器与客户端之间的TCP连接是指服务器与同一客户端之间的TCP连接,服务器可通过该TCP连接接收来自同一客户端的TCP消息。服务器可以与多个客户端建立TCP连接,从而通过与每个客户端之间的TCP连接与各客户端通信。可以通过本申请实施例的方法分别对每个TCP连接进行TCP消息限流。<本文档来自技高网...

【技术保护点】
1.一种TCP消息限流方法,其特征在于,应用于服务器;所述方法包括:/n通过与客户端之间的传输控制协议TCP连接,接收来自所述客户端的TCP消息;/n确定指定时间段内通过所述TCP连接接收到的来自所述客户端的TCP消息数量;/n在所述TCP消息数量大于等于所述TCP连接对应的限流次数的情况下,丢弃所述TCP消息;/n在TCP消息数量小于所述TCP连接对应的限流次数的情况下,处理所述TCP消息。/n

【技术特征摘要】
1.一种TCP消息限流方法,其特征在于,应用于服务器;所述方法包括:
通过与客户端之间的传输控制协议TCP连接,接收来自所述客户端的TCP消息;
确定指定时间段内通过所述TCP连接接收到的来自所述客户端的TCP消息数量;
在所述TCP消息数量大于等于所述TCP连接对应的限流次数的情况下,丢弃所述TCP消息;
在TCP消息数量小于所述TCP连接对应的限流次数的情况下,处理所述TCP消息。


2.根据权利要求1所述的方法,其特征在于,所述确定指定时间段内通过所述TCP连接接收到的来自所述客户端的TCP消息数量,包括:
从本地缓存中获取所述客户端标识对应的TCP消息数量,所述本地缓存中缓存有所述指定时间段内,各客户端标识对应的TCP消息数量。


3.根据权利要求2所述的方法,其特征在于,在确定指定时间段内通过所述TCP连接接收到的来自所述客户端的TCP消息数量之后,所述方法还包括:
在所述TCP消息数量小于所述TCP连接对应的限流次数的情况下,将所述本地缓存中,所述客户端标识对应的TCP消息数量加1。


4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
针对所述本地缓存中缓存的每个客户端标识,当该客户端标识的缓存时长达到过期时长时,将该客户端标识与该客户端标识对应的TCP消息数量删除。


5.根据权利要求1-4任一项所述的方法,其特征在于,所述方法还包括:
从预设中间件中获取限流配置信息,所述限流配置信息包括限流维度与限流次数之间的对应关系;
在确定指定时间段内通过所述TCP连接接收到的来自...

【专利技术属性】
技术研发人员:刘帅
申请(专利权)人:上海绚显科技有限公司
类型:发明
国别省市:上海;31

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

1