[发明专利]一种低延迟通讯系统有效
| 申请号: | 201710812188.3 | 申请日: | 2017-09-11 |
| 公开(公告)号: | CN108289063B | 公开(公告)日: | 2021-07-27 |
| 发明(设计)人: | 张飞;张备战;余峰;张海荣 | 申请(专利权)人: | 上海金融期货信息技术有限公司 |
| 主分类号: | H04L12/801 | 分类号: | H04L12/801;H04L29/08;G06Q40/04 |
| 代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 施浩 |
| 地址: | 200122 上海市浦东新*** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 延迟 通讯 系统 | ||
1.一种低延迟通讯系统,其特征在于,包括API接口管理模块、信息交互管理模块、策略管理模块、描述符管理模块和数据收发模块,其中:
API接口管理模块,用于向用户应用程序提供数据收发接口;
信息交互管理模块,用于管理不同进程之间的通信机制;
策略管理模块,用于维护数据分发策略方法;
描述符管理模块,用于管理所有用户进程所申请的描述符;
数据收发模块,用于通过描述符在用户层、内核和网卡之间的数据收发;
其中,API接口管理模块提供发送、接收、描述符申请、描述符释放四个API接口,API接口管理模块包括第一描述符请求响应单元和第一描述符维护单元,其中:
第一描述符请求响应单元,用户应用程序通过用户数据隔离层提供的描述符申请的API接口发出描述符申请,用户数据隔离层对描述符申请进行校验后将其打包封装再通过信息交互管理模块的共享内存管理单元中的描述符请求队列传递给网络数据包分发层,并发送信号量通知消息激活网络数据包分发层的用户请求响应线程,然后阻塞等待,用户请求响应线程被激活后从描述符请求队列中提取描述符申请并向描述符管理模块的第二描述符请求响应单元进行注册,然后向用户返回注册结果;
第一描述符维护单元,用于维护当前进程中各个已申请的描述符的管理和释放,用户请求响应线程通过信息交互管理模块中的管道将描述符在共享内存中的分配信息返回给用户数据隔离层,用户数据隔离层解除阻塞后读取分配信息并调用第一描述符维护单元更新进程内存信息;
信息交互管理模块所管理的通信机制包括共享内存、管道和信号量,当用户应用程序申请到一个描述符后维护该描述符所对应的数据收发队列缓冲区;
策略管理模块包括ARP表维护单元、数据分发策略表维护单元和CPU线程绑定单元,其中的数据分发策略表维护单元用于根据当前所有用户申请的描述符,对从网卡接收到的网络数据包进行匹配路由;
描述符管理模块包括第二描述符请求响应单元和第二描述符维护单元,其中:
第二描述符请求响应单元,用于维护当前系统中所有的用户应用程序描述符的申请和释放,第一描述符请求响应单元通过用户请求响应线程向第二描述符请求响应单元进行注册,收到该注册申请后,第二描述符请求响应单元对描述符申请进行检测,检测信息包括所申请的端口号是否已经被占用,IP地址、协议类型是否合法,如果检测未通过则拒绝该申请并返回错误信息,如果检测通过则生成描述符并为该描述符在共享内存中分配数据收队列和数据发队列,当第二描述符请求响应单元收到的是描述符释放申请时,直接交由第二描述符维护单元操作;
第二描述符维护单元,用于维护当前系统中所有描述符的管理和释放,当收到第二描述符请求响应单元发送的描述符申请注册成功信息时,更新内存表信息,标记该描述符已经被占用,并记录所分配的数据收发队列、进程间通讯地址;当接收到第二描述符请求响应单元发送的描述符释放信息时,更新内存表信息,释放该描述符所占用的数据收发队列、进程通讯地址;
数据收发模块用于将从用户层和内核发送过来的数据通过指定的网卡队列发送出去,以及将从网卡上接收的数据,通过数据分发策略表发送给指定的用户或者操作系统内核网络协议栈。
2.根据权利要求1所述的低延迟通讯系统,其特征在于,API接口管理模块提供的描述符申请的信息包括源IP地址、目的IP地址、源端口号、目的端口号,以及数据类型。
3.根据权利要求2所述的低延迟通讯系统,其特征在于,信息交互管理模块包括共享内存管理单元和进程间通信管理单元,其中:
共享内存管理单元,用于维护共享内存中各个数据结构的申请和释放;
进程间通信管理单元,提供用户应用程序和底层环境的一套通讯机制,包括管道和信号量。
4.根据权利要求3所述的低延迟通讯系统,其特征在于,策略管理模块中:
ARP表维护单元,用于实时的在内存中维护ARP表,并对外提供ARP信息查询接口;
CPU绑定单元,用于根据当前线程要处理的网络数据包的来源,选择一个最佳逻辑CPU进行线程绑定。
5.根据权利要求4所述的低延迟通讯系统,其特征在于,数据收发模块进一步包括上行数据分发单元、下行数据分发单元和内核交互单元。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海金融期货信息技术有限公司,未经上海金融期货信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710812188.3/1.html,转载请声明来源钻瓜专利网。





