[发明专利]一种适用于高并发场景的TCP通道管理系统及其方法在审
申请号: | 201810097944.3 | 申请日: | 2018-01-31 |
公开(公告)号: | CN108459915A | 公开(公告)日: | 2018-08-28 |
发明(设计)人: | 马汉铸 | 申请(专利权)人: | 中电福富信息科技有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 福州君诚知识产权代理有限公司 35211 | 代理人: | 林世庭 |
地址: | 350000 福建省福州*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 接入网关 消息中间件 业务服务 场景 链路 并发 检测器 数据分析服务 网络通信技术 多线程技术 合法性验证 客户端接入 客户端连接 并发应用 分析服务 管理服务 管理系统 连接数据 连接消息 任务队列 异步通信 链路表 任务池 中间件 超时 解耦 引入 管理 通信 环节 | ||
本发明公开一种适用于高并发场景的TCP通道管理方法,其包括接入网关、消息中间件、数据分析服务和TSP业务服务,多个客户端连接接入网关,接入网关连接消息中间件,消息中间件分别连接数据分析服务和TSP业务服务,接入网关提供客户端接入、链路合法性验证以及超时管理服务。本发明采用epoll异步通信模型,引入任务池、链路表管理、链路检测器,结合任务队列池和多线程技术,解耦通信环节。本发明适用于高并发应用场景特点及网络通信技术背景,充分考虑各技术优缺点,扬长避短。
技术领域
本发明涉及电信通讯领域,尤其涉及一种适用于高并发场景的TCP通道管理系统及其方法。
背景技术
在进行网络编程时,同步(Sync)/异步(Async),阻塞(Block)/非阻塞(Unblock)四种常见调用方式,同步IO和异步IO的区别就在于数据访问的时候进程是否阻塞;阻塞IO和非阻塞IO的区别就在于,应用程序的调用是否立即返回;select、epoll是Linux 内核提供多路I/O复用的解决方案,select本质上是通过设置或者检查存放fd标志位的数据结构来进行下一步处理,缺点1是单个进程可监视的fd数量被限制,即能监听端口的大小有限;缺点2是socket进行扫描时是线性扫描,即采用轮询的方法,效率较低;epoll实现是根据是内核每个fd上的callback函数来实现的,只有活跃的socket才会主动调用callback,所以在活跃socket较少的情况下,使用epoll没有select的线性下降的性能问题,但是所有socket都很活跃的情况下,可能会有性能问题。
发明内容
本发明的目的在于克服现有技术的不足,提供一种适用于高并发场景的TCP通道管理系统及其方法,充分利用epoll高性能特点,满足高并发应用场景需求。
本发明采用的技术方案是:
一种适用于高并发场景的TCP通道管理系统,其包括接入网关、消息中间件、数据分析服务和TSP业务服务,多个客户端连接接入网关,接入网关连接消息中间件,消息中间件分别连接数据分析服务和TSP业务服务,接入网关提供客户端接入、链路合法性验证以及超时管理服务;
接入网关包括接收器、socket管理表、任务池和链路检测器,接收器用于启动监听服务、接受客户端连接请求、加入epoll通讯模型以及藉由epoll事件监测socket链路操作;socket管理表用于存储客户端与接入建立的socket链路信息;任务池用于藉由epoll事件监测线程、根据分发策略分配放入任务队列的分发事件处理、任务消费线程处理和解析业务逻辑通过业务线程处理;链路检测器用于定时的链路管理、监测到通道状态、以事件的方式通知消息处理模块实例以及将消息处理实例以任务的形式分发到任务队列。
进一步地,所述socket链路信息包括socket链路唯一标识和socket管理信息。每个socket链路都有一个唯一标识OID作为socket管理表map成员key值,map的value值包含socket的管理信息。
进一步地,所述socket的管理信息包括链路状态、时间戳、句柄和流水号。
进一步地,所述链路管理包括链路心跳和链路合法性验证超时管理。
本发明还公开了一种适用于高并发场景的TCP通道管理方法,其包括以下步骤:
S1,初始化全局数据,创建任务队列池,绑定处理线程,实例化epoll实现类、接收器;
S2,接收器启动监听服务,由一个线程循环接收epoll事件;
S3,接收器处理接受连接事件,创建接入socket实例,并socket链路信息加入socket管理表,
S4,处理读写事件根据socket句柄分配放入任务队列,由读写线程去处理,解析业务逻辑由业务线程去处理;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中电福富信息科技有限公司,未经中电福富信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810097944.3/2.html,转载请声明来源钻瓜专利网。