TCP/IP加速器多连接交互方法和装置制造方法及图纸

技术编号:23991616 阅读:22 留言:0更新日期:2020-04-29 16:23
本发明专利技术提供了一种TCP/IP加速器多连接交互方法和装置,其中,该方法包括:建立第一流水线、第二流水线和第三流水线;获取TCP/IP加速器的TCP连接队列;通过所述第一流水线根据所述TCP连接队列中的队列信息建立TCP连接,通过所述第二流水线进行数据收发,通过所述第三流水线断开第一流水线建立的连接。通过上述方案解决了现有的通过一条流水线串行处理TCP连接所存在的TCP/IP加速器的加速效率较低的问题,达到了有效提升TCP/IP加速器的加速能力的技术效果。

Multi connection interaction method and device of TCP / IP accelerator

【技术实现步骤摘要】
TCP/IP加速器多连接交互方法和装置
本专利技术涉及计算机
,特别涉及一种TCP/IP加速器多连接交互方法和装置。
技术介绍
目前,100GbE已经成为超大规模数据中心的默认选项,服务器端也正在迈向25GbE、50GbE。在100GbE时代,带宽将不再是阻碍数据传输的主要原因,限制数据传输的瓶颈将是设备能够处理的连接数量。在web2.0时代,出现了C10K问题(即,单机一万个并发连接问题),这个问题虽然已经得到了解决,但是也随之出现了新的问题:C10M问题。为了解决这个问题,就需要TCP/IP加速器可以支持多连接处理。尽管100GbE的有线网络时代已经开始使用,400GbE也即将进入商用,但是低时延的需求一直存在,车联网和数据中心的容灾要求均低于10ms,尤其在金融证券的高频交易领域,对时延的要求需要低于1ms,因此,TCP/IP加速器不仅需要支持多连接还需要满足高效性的要求。TCP/IP加速器一般使用的是FPGA作为数据传输中间件,FPGA与主机之间依靠的是PCIe3.0接口,虽然PCIe3.0的最大速度已经达到了32GB/s,但是PCIe总线存在严重的传输延时:PCIe链路使用串行方式进行数据传送,然而在芯片内部,数据总线仍然是并行的,因此PCIe链路接口需要进行串并转换,这种串并转换将产生较大的延时。除此之外,PCIe总线的数据报文需要经过事务层、数据链路层和物理层,这些数据报文在穿越这些层次时,也将带来延时。然而,在TCP/IP协议中,一般将数据传输分为三个阶段:建立连接、发送/接收数据和断开连接。在使用TCP/IP加速器时,这三个阶段只能串行,如果存在多个连接,那么就需要采用排队的方法来处理,效率较低。针对如何有效提升TCP/IP加速器的性能,目前尚未提出有效的解决方案。
技术实现思路
本专利技术实施例提供了一种TCP/IP加速器多连接交互方法和装置,以达到提升TCP/IP加速器的加速能力的目的。一方面,提供了一种TCP/IP加速器多连接交互方法,包括:建立第一流水线、第二流水线和第三流水线;获取TCP/IP加速器的TCP连接队列;通过所述第一流水线根据所述TCP连接队列中的队列信息建立TCP连接,通过所述第二流水线进行数据收发,通过所述第三流水线断开第一流水线建立的连接。在一个实施方式中,通过所述第一流水线根据所述TCP连接队列中的队列信息建立TCP连接,包括:所述第一流水线重复执行如下步骤直至所述TCP连接队列为空:所述第一流水线从所述TCP连接队列中读取队列信息,并根据读取的队列信息建立TCP连接;所述第一流水线激活所述第二流水线,向所述第二流水线发送数据收发信号,以触发所述第二流水线进行数据收发,并判断所述TCP连接队列是否为空。在一个实施方式中,所述队列信息包括以下至少之一:ID、IP、端口号。在一个实施方式中,通过所述第三流水线断开第一流水线建立的连接,包括:所述第三流水线接收ID;所述第三流水线删除与接收到的ID相关的信息,并断开对应的TCP连接。在一个实施方式中,在获取TCP连接队列之后,还包括:所述第一流水线接收系统发出的信号;确定接收到的信号是否为退出指令;在接收到的信号为退出指令的情况下,通知所述第二流水线退出,第二流水线通知第三流水线退出;在接收到的信号不是退出指令的情况下,通过所述第一流水线根据所述TCP连接队列中的队列信息建立TCP连接,通过所述第二流水线进行数据收发,通过所述第三流水线断开第一流水线建立的连接。在一个实施方式中,所述第一流水线、第二流水线和第三流水线为线程。另一方面,提供了一种TCP/IP加速器多连接交互装置,包括:建立模块,用于建立第一流水线、第二流水线和第三流水线;获取模块,用于获取TCP/IP加速器的TCP连接队列;控制模块,用于通过所述第一流水线根据所述TCP连接队列中的队列信息建立TCP连接,通过所述第二流水线进行数据收发,通过所述第三流水线断开第一流水线建立的连接。在一个实施方式中,所述控制模块具体用于控制所述第一流水线重复执行如下步骤直至所述TCP连接队列为空:所述第一流水线从所述TCP连接队列中读取队列信息,并根据读取的队列信息建立TCP连接;所述第一流水线激活所述第二流水线,向所述第二流水线发送数据收发信号,以触发所述第二流水线进行数据收发,并判断所述TCP连接队列是否为空。在一个实施方式中,所述控制模块具体用于控制所述第三流水线执行如下流程以断开第一流水线建立的连接:所述第三流水线接收ID;所述第三流水线删除与接收到的ID相关的信息,并断开对应的TCP连接。在一个实施方式中,所述控制模块还用于在获取TCP连接队列之后,控制所述第一流水线接收系统发出的信号,所述第一流水线确定接收到的信号是否为退出指令;在接收到的信号为退出指令的情况下,通知所述第二流水线退出,第二流水线通知第三流水线退出;在接收到的信号不是退出指令的情况下,通过所述第一流水线根据所述TCP连接队列中的队列信息建立TCP连接,通过所述第二流水线进行数据收发,通过所述第三流水线断开第一流水线建立的连接。又一方面,提供了一种网络设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。又一方面,提供了一种非易失性计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。在本专利技术实施例中,建立了第一流水线、第二流水线和第三流水线,通过这三个流水线同时对TCP连接进行处理,通过第一流水线根据所述TCP连接队列中的队列信息建立TCP连接,通过第二流水线进行数据收发,通过第三流水线断开第一流水线建立的连接。这种方式相对于通过一条流水线串行处理TCP连接所存在的TCP/IP加速器的加速效率较低的问题,达到了有效提升TCP/IP加速器的加速能力的技术效果。附图说明此处所说明的附图用来提供对本专利技术的进一步理解,构成本申请的一部分,并不构成对本专利技术的限定。在附图中:图1是根据本专利技术实施例的TCP/IP加速器多连接交互方法的方法流程图;图2是串行处理时单流水线时的处理时序图;图3是根据本专利技术实施例的系统最好情况下的时序图;图4是根据本专利技术实施例的系统最坏情况下的时序图;图5是根据本专利技术实施例的系统运行时的流程图;图6是根据本专利技术实施例的系统运行时第一个流水线建立连接线程的流程图;图7是根据本专利技术实施例的系统运行时第二个流水线发送/接收数据线程的流程图;图8是根据本专利技术实施例的系统运行时第三个流水线断开连接线程的流程图;图9是根据本专利技术实施例的TCP/IP加速器多连接交互装置的结构框图。具体实施方式为使本专利技术的目的、技本文档来自技高网
...

【技术保护点】
1.一种TCP/IP加速器多连接交互方法,其特征在于,包括:/n建立第一流水线、第二流水线和第三流水线;/n获取TCP/IP加速器的TCP连接队列;/n通过所述第一流水线根据所述TCP连接队列中的队列信息建立TCP连接,通过所述第二流水线进行数据收发,通过所述第三流水线断开第一流水线建立的连接。/n

【技术特征摘要】
1.一种TCP/IP加速器多连接交互方法,其特征在于,包括:
建立第一流水线、第二流水线和第三流水线;
获取TCP/IP加速器的TCP连接队列;
通过所述第一流水线根据所述TCP连接队列中的队列信息建立TCP连接,通过所述第二流水线进行数据收发,通过所述第三流水线断开第一流水线建立的连接。


2.根据权利要求1所述的方法,其特征在于,通过所述第一流水线根据所述TCP连接队列中的队列信息建立TCP连接,包括:
所述第一流水线重复执行如下步骤直至所述TCP连接队列为空:
所述第一流水线从所述TCP连接队列中读取队列信息,并根据读取的队列信息建立TCP连接;
所述第一流水线激活所述第二流水线,向所述第二流水线发送数据收发信号,以触发所述第二流水线进行数据收发,并判断所述TCP连接队列是否为空。


3.根据权利要求1所述的方法,其特征在于,所述队列信息包括以下至少之一:ID、IP、端口号。


4.根据权利要求3所述的方法,其特征在于,通过所述第三流水线断开第一流水线建立的连接,包括:
所述第三流水线接收ID;
所述第三流水线删除与接收到的ID相关的信息,并断开对应的TCP连接。


5.根据权利要求1所述的方法,其特征在于,在获取TCP连接队列之后,还包括:
所述第一流水线接收系统发出的信号;
确定接收到的信号是否为退出指令;
在接收到的信号为退出指令的情况下,通知所述第二流水线退出,第二流水线通知第三流水线退出;
在接收到的信号不是退出指令的情况下,通过所述第一流水线根据所述TCP连接队列中的队列信息建立TCP连接,通过所述第二流水线进行数据收发,通过所述第三流水线断开第一流水线建立的连接。


6.根据权利要求1至5中任一项所述的方法,其特征在于,所述第一流水线、第二流水线和第三流水线为线程。


7.一种TCP/IP加速器多连接交互装置,其特征在于,...

【专利技术属性】
技术研发人员:鄢贵海黄勇康龚施俊
申请(专利权)人:中科驭数北京科技有限公司
类型:发明
国别省市:北京;11

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

1