本发明涉及计算机领域,尤其涉及一种传输控制协议连接的管理系统、方法、装置及存储介质。
背景技术:
1、随着互联网的飞速发展,对服务器的并发性能要求也不断提高。在保持硬件环境不变的情况下,通过改善服务器的软件架构,可以显著提升服务器的并发性能,从而提升服务器的传输控制协议(transmission control protocol,tcp)连接的管理效率。
2、目前,现有的传输控制协议连接的管理方法,通常基于反应器reactor模型和线程池技术实现。然而,在现有技术中,反应器模型较为单一,由单个反应器模型运行在单线程中,承担所有事件的监听和响应,在高并发场景下易限制服务器的并发性能;其次,线程池均为静态模式,线程池内线程数量无法根据实际场景自适应调整,易导致服务器资源的浪费;最后,线程池种类单一,易导致低优先级连接阻塞高优先级连接,从而影响服务器的性能表现。
技术实现思路
1、本发明提供了一种传输控制协议连接的管理系统、方法、装置及存储介质,可以避免系统线程资源的浪费,可以提升服务器的传输控制协议连接并发处理性能。
2、根据本发明的一方面,提供了一种传输控制协议连接的管理系统,包括反应器模型、高优先级弹性线程池和低优先级弹性线程池,所述反应器模型分别与所述高优先级弹性线程池和所述低优先级弹性线程池连接;
3、所述反应器模型,用于根据客户端发送的连接请求,建立服务器与所述客户端之间的传输控制协议链接,基于所述传输控制协议链接获取所述客户端发送的读写请求,以及根据所述传输控制协议链接对应的优先级,将所述读写请求发送到所述高优先级弹性线程池或者所述低优先级弹性线程池;
4、所述高优先级弹性线程池或者所述低优先级弹性线程池,用于在接收到所述反应器模型发送的读写请求时,通过所述读写请求对应的工作线程,执行所述读写请求对应的数据读写操作。
5、可选的,所述反应器模型为单反应器模型,所述单反应器模型包括单epoll监听对象、单事件分发器和单连接管理器,所述单epoll监听对象通过所述单事件分发器与所述单连接管理器连接;
6、所述单epoll监听对象,用于接收客户端发送的连接请求,以及基于服务器与客户端之间的传输控制协议链接接收客户端发送的读写请求,并发送所述连接请求和所述读写请求到所述单事件分发器;
7、所述单事件分发器,用于发送所述连接请求到所述单连接管理器,以及根据所述单连接管理器发送的弹性线程池标识和工作线程标识,将所述读写请求发送到所述高优先级弹性线程池或者所述低优先级弹性线程池,以通过所述工作线程标识对应的工作线程执行所述读写请求对应的数据读写操作;
8、所述单连接管理器,用于根据所述连接请求,建立服务器与客户端之间的传输控制协议链接,并根据所述连接请求对应的连接信息,获取所述传输控制协议链接对应的弹性线程池标识和工作线程标识,发送所述弹性线程池标识和所述工作线程标识到所述单事件分发器。
9、采用上述技术方案,可以实现对tcp连接的高效管理,可以实现对tcp连接的访问控制。
10、可选的,所述反应器模型为主从反应器模型,所述主从反应器模型包括主反应器单元和至少一个从反应器单元;所述主反应器单元包括主epoll监听对象、主事件分发器和主连接管理器,所述从反应器单元包括从epoll监听对象和从事件分发器,所述主连接管理器与各所述从epoll监听对象连接;
11、所述主epoll监听对象与所述主事件分发器连接,用于接收客户端发送的连接请求,发送所述连接请求到所述主事件分发器;
12、所述主事件分发器与所述主连接管理器连接,用于转发所述连接请求到所述主连接管理器;
13、所述主连接管理器,用于根据所述连接请求,建立服务器与客户端之间的传输控制协议链接,并根据所述连接请求对应的连接信息,确定所述传输控制协议链接对应的目标从反应器单元、弹性线程池标识和工作线程标识,并将所述弹性线程池标识和所述工作线程标识发送到所述目标从反应器单元的从epoll监听对象;
14、所述从epoll监听对象与从事件分发器连接,用于基于所述传输控制协议链接,接收所述客户端发送的读写请求,并将所述读写请求、所述弹性线程池标识和所述工作线程标识发送到所述从事件分发器;
15、所述从事件分发器,用于根据所述弹性线程池标识和所述工作线程标识,将所述读写请求发送到所述高优先级弹性线程池或者所述低优先级弹性线程池,以通过所述工作线程标识对应的工作线程执行所述读写请求对应的数据读写操作。
16、采用上述技术方案,可以实现不同epoll监听对象仅负责单一类型的请求事件,可以降低主epoll监听对象的负担。
17、可选的,所述主连接管理器包括连接访问控制单元、连接优先级决策单元、连接从反应器决策单元和连接弹性线程池决策单元;
18、所述连接访问控制单元,用于根据所述连接请求对应的连接信息,若检测到所述连接请求为非法连接请求,则丢弃所述连接请求;
19、所述连接优先级决策单元,用于在检测到传输控制协议链接数量大于或者等于预设链接最大值时,淘汰低优先级的传输控制协议链接,以及根据连接请求对应的连接信息,确定所述连接请求对应的传输控制协议链接匹配的优先级;
20、所述连接从反应器决策单元,用于根据所述连接请求对应的连接信息,确定所述连接请求对应的传输控制协议链接匹配的从反应器单元;
21、所述连接弹性线程池决策单元,用于根据所述连接请求对应的连接信息,确定所述连接请求对应的传输控制协议链接匹配的弹性线程池标识和工作线程标识。
22、采用上述技术方案,可以实现连接访问控制,可以避免非法连接占用大量系统资源,从而影响正常tcp连接,可以提升系统安全性。
23、可选的,所述连接访问控制单元,具体用于:
24、当检测到预设白名单的内容为空,或者所述连接请求对应的连接信息与所述预设白名单中各允许连接信息均不匹配时,判断预设黑名单的内容是否为空;
25、若否,则在检测到所述预设黑名单中存在与所述连接请求对应的连接信息匹配的目标禁止连接信息时,确定所述连接请求为非法连接请求。
26、采用上述技术方案,可以提升对非法连接的识别准确度,可以避免对正常tcp连接的误识别,可以进一步提升系统安全性。
27、可选的,所述主反应器单元还包括定时器,所述定时器与所述主事件分发器连接;
28、所述主epoll对象,还用于接收所述客户端发送的老化事件,发送所述老化事件到所述主事件分发器;
29、所述主事件分发器,还用于转发所述老化事件到所述定时器;
30、所述定时器,用于根据所述老化事件,设置定时老化任务。
31、采用上述技术方案,可以丰富tcp连接的管理功能,可以提升tcp连接的管理效率。
32、可选的,所述高优先级弹性线程池和所述低优先级弹性线程池分别包括一个管理线程和至少一个工作线程;
33、所述管理线程,用于获取目标工作线程的持续空闲时间,若检测到所述持续空闲时间大于或者等于预设时间阈值,则在确定工作线程的数量大于预设线程最小值时,销毁所述目标工作线程。
34、采用上述技术方案,可以实现弹性线程池,可以实现线程数量的自适应动态调整,可以改善系统的负载性。
35、根据本发明的另一方面,提供了一种传输控制协议连接的管理方法,应用于本发明任一实施例所述的传输控制协议连接的管理系统,包括:
36、通过反应器模型根据客户端发送的连接请求,建立服务器与所述客户端之间的传输控制协议链接,并基于所述传输控制协议链接获取所述客户端发送的读写请求;
37、根据所述传输控制协议链接对应的优先级,在高优先级弹性线程池和低优先级弹性线程池中,确定所述读写请求对应的目标弹性线程池;
38、通过所述目标弹性线程池中所述读写请求对应的工作线程,执行所述读写请求对应的数据读写操作。
39、根据本发明的另一方面,提供了一种传输控制协议连接的管理装置,应用于本发明任一实施例所述的传输控制协议连接的管理系统,包括:
40、链接建立模块,用于通过反应器模型根据客户端发送的连接请求,建立服务器与所述客户端之间的传输控制协议链接,并基于所述传输控制协议链接获取所述客户端发送的读写请求;
41、弹性线程池确定模块,用于根据所述传输控制协议链接对应的优先级,在高优先级弹性线程池和低优先级弹性线程池中,确定所述读写请求对应的目标弹性线程池;
42、数据读写操作执行模块,用于通过所述目标弹性线程池中所述读写请求对应的工作线程,执行所述读写请求对应的数据读写操作。
43、根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的传输控制协议连接的管理方法。
44、本发明实施例的技术方案,通过反应器模型根据客户端发送的连接请求,建立服务器与客户端之间的传输控制协议链接,并基于传输控制协议链接获取客户端发送的读写请求,以及根据传输控制协议链接对应的优先级,将读写请求发送到高优先级弹性线程池或者低优先级弹性线程池;然后,通过高优先级弹性线程池或者低优先级弹性线程池,采用读写请求对应的工作线程,执行读写请求对应的数据读写操作,通过设置对应不同优先级的弹性线程池,以使不同优先级的传输控制协议连接被分配到不同线程池进行处理,可以避免系统线程资源的浪费,可以提升服务器的传输控制协议连接并发处理性能。
45、应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
1.一种传输控制协议连接的管理系统,其特征在于,包括反应器模型、高优先级弹性线程池和低优先级弹性线程池,所述反应器模型分别与所述高优先级弹性线程池和所述低优先级弹性线程池连接;
2.根据权利要求1所述的系统,其特征在于,所述反应器模型为单反应器模型,所述单反应器模型包括单epoll监听对象、单事件分发器和单连接管理器,所述单epoll监听对象通过所述单事件分发器与所述单连接管理器连接;
3.根据权利要求1所述的系统,其特征在于,所述反应器模型为主从反应器模型,所述主从反应器模型包括主反应器单元和至少一个从反应器单元;所述主反应器单元包括主epoll监听对象、主事件分发器和主连接管理器,所述从反应器单元包括从epoll监听对象和从事件分发器,所述主连接管理器与各所述从epoll监听对象连接;
4.根据权利要求3所述的系统,其特征在于,所述主连接管理器包括连接访问控制单元、连接优先级决策单元、连接从反应器决策单元和连接弹性线程池决策单元;
5.根据权利要求4所述的系统,其特征在于,所述连接访问控制单元,具体用于:
6.根据权利要求3所述的系统,其特征在于,所述主反应器单元还包括定时器,所述定时器与所述主事件分发器连接;
7.根据权利要求1所述的系统,其特征在于,所述高优先级弹性线程池和所述低优先级弹性线程池分别包括一个管理线程和至少一个工作线程;
8.一种传输控制协议连接的管理方法,其特征在于,应用于权利要求1-7中任一项所述的传输控制协议连接的管理系统,包括:
9.一种传输控制协议连接的管理装置,其特征在于,应用于权利要求1-7中任一项所述的传输控制协议连接的管理系统,包括:
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求8所述的传输控制协议连接的管理方法。