CN108289117B - 一种基于fpga的多方接入系统及处理方法 - Google Patents

一种基于fpga的多方接入系统及处理方法 Download PDF

Info

Publication number
CN108289117B
CN108289117B CN201710874714.9A CN201710874714A CN108289117B CN 108289117 B CN108289117 B CN 108289117B CN 201710874714 A CN201710874714 A CN 201710874714A CN 108289117 B CN108289117 B CN 108289117B
Authority
CN
China
Prior art keywords
data
protocol
module
session
application layer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710874714.9A
Other languages
English (en)
Other versions
CN108289117A (zh
Inventor
阙志强
高剑
车延辙
朱恺
章庆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Financial Futures Information Technology Co ltd
Original Assignee
Shanghai Financial Futures Information Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Financial Futures Information Technology Co ltd filed Critical Shanghai Financial Futures Information Technology Co ltd
Priority to CN201710874714.9A priority Critical patent/CN108289117B/zh
Publication of CN108289117A publication Critical patent/CN108289117A/zh
Application granted granted Critical
Publication of CN108289117B publication Critical patent/CN108289117B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5681Pre-fetching or pre-delivering data based on network characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2212/00Encapsulation of packets

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种基于FPGA的多方接入系统及处理方法,解决了目前由于网卡软件轮询而造成的多方请求录入延时不均的问题,其应用场景例如交易所的交易前置系统。其技术方案为:使用FPGA硬件芯片,将多个TCP连接中的请求以网口收发数据的速度(线速)或者高于网口速度(超线速)进行并行处理,不再使用CPU处理器串行的处理,从而解决多方接入延迟不均问题。

Description

一种基于FPGA的多方接入系统及处理方法
技术领域
本发明涉及期货领域数据处理技术,尤其涉及期货领域中基于FPGA硬件加速对交易所内各系统报单请求进行接收处理等延时敏感的系统和方法。
背景技术
在单一系统处理来自多方请求的过程中,需要接收多个连接实体通过TCP连接发送来的基于应用层协议的请求,并按照请求进入网口的时间先后排序并做简单处理,最后发送给后续处理系统。
现有的多方接入系统(例如交易所前置系统)通常运行在CPU服务器上,经过CPU以指令方式串行执行。然而,随着交易所交易量的不断增长以及以毫秒、微秒计时的高频交易的兴起,现存的以软件编写的多方接入系统延时越来越不能满足对延迟的需求。
对标的多方接入系统,通过Linux socket软件与多个连接实体建立TCP连接,这里假设有100个连接。由于CPU是以串行运行软件代码,在多个连接的情况下,CPU需要处理完一个具体的连接中的报单请求,然后再处理下一个连接中的报单请求,依次轮询,直至处理好全部100个连接中的请求,再回到处理第一个连接中的请求,如此实现就会造成多方延迟不均问题。。
仍以100个连接为例来说明,由于CPU是串行的、一个一个连接的、顺序轮询处理各个连接中请求,那么如果当CPU还在处理连接1中的报单请求时,连接50和连接20的请求先后到达,其中连接50要比连接20的请求早一些(例如几个微秒),但是由于CPU还在处理连接1,并且CPU将会依次处理,因此之后连接20的请求会优先被处理。这造成了一定的延迟不均问题,因为连接50的请求比连接20要早一些,但是实际情况是先处理了连接20的请求。这是由于CPU的串行处理软件代码的本质所决定的。
发明内容
以下给出一个或多个方面的简要概述以提供对这些方面的基本理解。此概述不是所有构想到的方面的详尽综览,并且既非旨在指认出所有方面的关键性或决定性要素亦非试图界定任何或所有方面的范围。其唯一的目的是要以简化形式给出一个或多个方面的一些概念以为稍后给出的更加详细的描述之序。
本发明的目的在于提出了一种基于FPGA的多方接入系统及处理方法,使用新硬件解决了目前由于网卡软件轮询而造成的多方请求录入延时不均的问题,优化了客户订单延时,提高了前置处理效率。
本发明的技术方案为:本发明揭示了一种基于FPGA的多方接入系统,包括网络接口、多路TCP连接模块、会话管理模块、多路的会话模块、多路的应用数据协议处理模块、仲裁模块、主缓存模块,其中:
网络接口,用于接收交易报单数据流;
多路TCP连接模块,连接网络接口,用于将多路TCP数据流根据IP地址和端口号分组,根据每组数据包中TCP的序列号对TCP协议数据包进行乱序重排和封装,处理后输出完整的有序的只含有效负载的数据,同时根据IP地址和端口号生成或者识别会话编号;
会话管理模块,连接多路TCP连接模块,根据多路TCP连接模块输出的会话编号,将应用层协议数据包发往对应的会话模块和应用数据协议处理模块;
会话模块和应用数据协议处理模块一一对应连接,每一路会话模块均连接会话管理模块,会话模块用于验证数据是否属于本会话,应用数据协议处理模块用于根据应用层协议数据包中的序列号过滤过时或者重复的应用层协议数据包,验证后将其完整输出;
仲裁模块,连接所有的应用数据协议处理模块,将各路的应用数据协议处理模块输出的数据包依照时间先后顺序进入到主缓存模块中;
主缓存模块,按照数据包到达的时间先后顺序存放所有会话中的报单请求。
根据本发明的多方接入系统的一实施例,多路TCP连接模块针对IP分片、TCP分片进行封装重组,再进行数据CRC校验及去除数据包中的包头后输出完整的有序的只含有效负载的数据。
根据本发明的多方接入系统的一实施例,会话模块和应用数据协议处理模块拆解出应用层协议数据包的协议头,根据协议头中的序列号确定应用层协议数据包的序列,同时确定应用层协议数据包的长度。
根据本发明的多方接入系统的一实施例,会话模块和应用数据协议处理模块的时钟频率等于网络接口数据处理频率或者高于网络接口数据处理频率,以使任意时刻只有一个应用数据协议处理模块的输出数据包是有效的,仲裁模块直接输出有效的数据包。
根据本发明的多方接入系统的一实施例,仲裁模块基于预设的仲裁规则对多个应用数据协议处理模块的输出数据包进行处理,以使数据包按照时间先后顺序进入到主缓存模块中。
根据本发明的多方接入系统的一实施例,应用数据协议包括FTD协议、FIX协议、XMP协议。
根据本发明的多方接入系统的一实施例,多方接入系统包括交易所前置系统。
本发明还揭示了一种基于FPGA的多方接入处理方法,包括:
步骤1:来自多个报单数据流通过TCP连接进入FPGA;
步骤2:将多路TCP数据流根据IP地址和端口号分组,根据每组数据包中TCP的序列号对TCP协议数据包进行乱序重排和封装,处理后输出完整的有序的只含有效负载的数据;
步骤3:根据IP地址和端口号生成或者识别会话编号;
步骤4:应用层协议数据包根据不同的会话编号进行管理与分流,应用层协议数据包进入对应会话的应用数据协议处理模块;
步骤5:根据应用层协议数据包中的序列号过滤过时或者重复的应用数据协议数据包;
步骤6:验证后将应用层协议数据包完整输出;
步骤7:来自多个会话的数据包进入主缓存;
步骤8:主缓存的应用层协议数据包输出到外部接口或者网络。
根据本发明的基于FPGA的多方接入处理方法的一实施例,在步骤2中,针对IP分片、TCP分片进行封装重组,再进行数据CRC校验及去除数据包中的包头后输出完整的有序的只含有效负载的数据。
根据本发明的基于FPGA的多方接入处理方法的一实施例,步骤5还包括:
拆解出应用层协议数据包的协议头,根据协议头中的序列号确定应用层协议数据包的序列,同时确定应用层协议数据包的长度。
根据本发明的基于FPGA的多方接入处理方法的一实施例,会话和应用数据协议处理的时钟频率等于网口接口数据处理频率或者高于网络接口数据处理频率,以使任意时刻只有一个会话和协议处理输出的数据包是有效的,步骤7中无需仲裁直接输出有效的数据包。
根据本发明的基于FPGA的多方接入处理方法的一实施例,步骤7中基于预设的仲裁规则对多个会话和协议处理输出的数据包进行处理,以使数据包按照时间先后顺序进入到主缓存中。
根据本发明的基于FPGA的多方接入处理方法的一实施例,应用数据协议包括FTD协议、FIX协议、XMP协议。
根据本发明的基于FPGA的多方接入处理方法的一实施例,多方接入处理方法包括交易所前置处理方法。
本发明对比现有技术有如下的有益效果:本发明使用FPGA硬件芯片,将多个TCP连接中的请求以网口收发数据的速度(线速)或者高于网口速度(超线速)进行并行处理,不再使用CPU处理器串行的处理,从而解决多方接入延迟不均问题。
附图说明
在结合以下附图阅读本公开的实施例的详细描述之后,能够更好地理解本发明的上述特征和优点。在附图中,各组件不一定是按比例绘制,并且具有类似的相关特性或特征的组件可能具有相同或相近的附图标记。
图1示出了本发明的基于FPGA的多方接入系统的实施例的系统架构图。
图2示出了本发明的基于FPGA的多方接入系统的处理方法的实施例的流程图。
具体实施方式
以下结合附图和具体实施例对本发明作详细描述。注意,以下结合附图和具体实施例描述的诸方面仅是示例性的,而不应被理解为对本发明的保护范围进行任何限制。
图1示出了本发明的基于FPGA的多方接入系统的实施例的系统架构。请参见图1,本实施例的系统包括:网络接口、多路TCP连接模块、会话管理模块、各路会话模块(例如会话0~会话N)、各路FTD协议处理模块(例如FTD协议处理0~FTD协议处理N)、仲裁模块和主缓存模块。
网络接口接收来自连接实体发送来的交易报单数据。网络接口可以是1G、10G、40G或者100G等,接口速率的不同不影响整体系统功能。
多路TCP连接模块主要将多路TCP数据流根据IP地址和端口号分组,根据每组数据包中TCP的序列号针对数据包进行乱序重排,同时针对可能的IP分片、TCP分片进行封装重组,进行数据CRC校验,以及去除数据包中的包头等信息,使得输出的数据包是完整的有序的只含有效负载(payload)的数据,同时输出具体的会话编号。
在实际应用中,一个连接实体含有一个TCP连接。如图1所示,假设共有N个TCP连接,其中N受限于FPGA的硬件资源。在硬件资源较大的情况下,可以存放下更大的TCP模块以及后续的处理模块,如此N可以很大,例如512个连接。
会话管理模块根据多路TCP连接模块输出的会话编号,将应用层FTD协议数据包发往后续的各路会话模块和各路FTD协议处理模块。每一路会话模块对应一路FTD协议处理模块。
会话模块与其对应的FTD协议处理模块共同实现在应用层FTD协议数据包中,根据应用层FTD协议数据包中的序列号,过滤过时的或者重复的应用层FTD协议数据包,以便FTD数据以FTD序列号递增的方式依次输出。然后验证期货应用数据协议的应用层FTD协议数据包,并将其完整输出。会话模块和FTD协议处理模块的时钟频率等于网络接口数据处理频率(线速)或者高于网络接口数据处理频率。同时,会话模块与其对应的FTD协议处理模块设计为每个时钟周期都可以流水处理数据。
FTD协议处理模块是基于应用层FTD协议实现,当然也可以用其他协议来实现,例如FIX协议、XMP协议等,具体的协议方式不影响本发明的保护范围。
仲裁模块使得各个会员单位的TCP连接上,各自的FTD报单数据包按照输入网络接口的先后顺序进行主缓存中。因为本发明的系统只有一个网络接口输入数据,根据会话模块与其对应的FTD协议处理模块的时钟频率的设计,以网络接口数据处理频率接收的网络数据包最终进入高于网络接口频率并可以流水处理的FTD协议处理模块中,使得在各路FTD协议处理模块的输出端口上,任意时刻永远只有一个处理模块的输出数据是有效的,其他数据包或者还在多路TCP连接模块中处理,或者还在FTD协议处理模块中处理,因而解决了由于软件轮询造成的延时不均问题。
如果以网络接口数据处理频率接收的网络数据包最终进入低于网络接口频率的FTD协议处理模块中,则需要通过仲裁模块对多个FTD协议处理模块的输出数据进行仲裁处理,使得数据包按照先后顺序进入到主缓存模块中。
主缓存模块按照数据包到达的时间先后顺序存放所有会话中的FTD报单请求,缓存中的数据可以通过高速PCIe输出给主机以供软件处理,也可以直接通过网络接口将数据输出给后续的交易系统。
图2示出了本发明基于FPGA的多方接入系统的处理方法的实施例的流程。请参见图2,本实施例的方法是基于图1所示的系统架构来实现的,各实施步骤详述如下。
步骤S1:来自多个连接实体的报单系统的报单数据流,通过TCP连接进入FPGA系统。
步骤S2:完成IP协议的解析,完成TCP协议数据包的解析,同时针对TCP协议数据包进行乱序重排和组装,减小CPU的负载。
步骤S3:根据IP地址和端口号生成或者识别会话编号。
步骤S4:应用层FTD协议数据包根据不同的会话编号进行管理与分流,应用层FTD协议数据包进入自己所对应会话的数据处理模块。
步骤S5:拆解出应用层FTD协议数据包的协议头,根据协议头中FTD序列号确定应用层FTD协议数据包的序列,同时确定应用层FTD协议数据包长度。
步骤S6:将完整的应用层FTD协议数据包输出。
步骤S7:来自多个会话的应用层FTD协议数据包经过协议处理之后进入主缓存。
步骤S8:主缓存中应用层FTD协议数据包统一输出到PCIe或者网络。
在本发明中,基于FPGA的多方接入系统及其处理方法的其中一个应用场合是交易所前置系统。
尽管为使解释简单化将上述方法图示并描述为一系列动作,但是应理解并领会,这些方法不受动作的次序所限,因为根据一个或多个实施例,一些动作可按不同次序发生和/或与来自本文中图示和描述或本文中未图示和描述但本领域技术人员可以理解的其他动作并发地发生。
本领域技术人员将进一步领会,结合本文中所公开的实施例来描述的各种解说性逻辑板块、模块、电路、和算法步骤可实现为电子硬件、计算机软件、或这两者的组合。为清楚地解说硬件与软件的这一可互换性,各种解说性组件、框、模块、电路、和步骤在上面是以其功能性的形式作一般化描述的。此类功能性是被实现为硬件还是软件取决于具体应用和施加于整体系统的设计约束。技术人员对于每种特定应用可用不同的方式来实现所描述的功能性,但这样的实现决策不应被解读成导致脱离了本发明的范围。
结合本文所公开的实施例描述的各种解说性逻辑板块、模块、和电路可用通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立的门或晶体管逻辑、分立的硬件组件、或其设计成执行本文所描述功能的任何组合来实现或执行。通用处理器可以是微处理器,但在替换方案中,该处理器可以是任何常规的处理器、控制器、微控制器、或状态机。处理器还可以被实现为计算设备的组合,例如DSP与微处理器的组合、多个微处理器、与DSP核心协作的一个或多个微处理器、或任何其他此类配置。
结合本文中公开的实施例描述的方法或算法的步骤可直接在硬件中、在由处理器执行的软件模块中、或在这两者的组合中体现。软件模块可驻留在RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动盘、CD-ROM、或本领域中所知的任何其他形式的存储介质中。示例性存储介质耦合到处理器以使得该处理器能从/向该存储介质读取和写入信息。在替换方案中,存储介质可以被整合到处理器。处理器和存储介质可驻留在ASIC中。ASIC可驻留在用户终端中。在替换方案中,处理器和存储介质可作为分立组件驻留在用户终端中。
在一个或多个示例性实施例中,所描述的功能可在硬件、软件、固件或其任何组合中实现。如果在软件中实现为计算机程序产品,则各功能可以作为一条或更多条指令或代码存储在计算机可读介质上或藉其进行传送。计算机可读介质包括计算机存储介质和通信介质两者,其包括促成计算机程序从一地向另一地转移的任何介质。存储介质可以是能被计算机访问的任何可用介质。作为示例而非限定,这样的计算机可读介质可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁存储设备、或能被用来携带或存储指令或数据结构形式的合意程序代码且能被计算机访问的任何其它介质。任何连接也被正当地称为计算机可读介质。例如,如果软件是使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)、或诸如红外、无线电、以及微波之类的无线技术从web网站、服务器、或其它远程源传送而来,则该同轴电缆、光纤电缆、双绞线、DSL、或诸如红外、无线电、以及微波之类的无线技术就被包括在介质的定义之中。如本文中所使用的盘(disk)和碟(disc)包括压缩碟(CD)、激光碟、光碟、数字多用碟(DVD)、软盘和蓝光碟,其中盘(disk)往往以磁的方式再现数据,而碟(disc)用激光以光学方式再现数据。上述的组合也应被包括在计算机可读介质的范围内。
提供对本公开的先前描述是为使得本领域任何技术人员皆能够制作或使用本公开。对本公开的各种修改对本领域技术人员来说都将是显而易见的,且本文中所定义的普适原理可被应用到其他变体而不会脱离本公开的精神或范围。由此,本公开并非旨在被限定于本文中所描述的示例和设计,而是应被授予与本文中所公开的原理和新颖性特征相一致的最广范围。

Claims (11)

1.一种基于FPGA的多方接入系统,其特征在于,包括网络接口、多路TCP连接模块、会话管理模块、多路的会话模块、多路的应用数据协议处理模块、仲裁模块、主缓存模块,其中:
网络接口,用于接收交易报单数据流;
多路TCP连接模块,连接网络接口,用于将多路TCP数据流根据IP地址和端口号分组,根据每组数据包中TCP的序列号对TCP协议数据包进行乱序重排和封装,处理后输出完整的有序的只含有效负载的数据,同时根据IP地址和端口号生成或者识别会话编号;
会话管理模块,连接多路TCP连接模块,根据多路TCP连接模块输出的会话编号,将应用层协议数据包发往对应的会话模块和应用数据协议处理模块;
会话模块和应用数据协议处理模块一一对应连接,每一路会话模块均连接会话管理模块,会话模块用于验证数据是否属于本会话,应用数据协议处理模块用于根据应用层协议数据包中的序列号过滤过时或者重复的应用层协议数据包,验证后将其完整输出;
仲裁模块,连接所有的应用数据协议处理模块,将各路的应用数据协议处理模块输出的数据包依照时间先后顺序进入到主缓存模块中;
主缓存模块,按照数据包到达的时间先后顺序存放所有会话中的报单请求;
其中会话模块和应用数据协议处理模块的时钟频率等于网络接口数据处理频率或者高于网络接口数据处理频率,以使任意时刻只有一个应用数据协议处理模块的输出数据包是有效的,仲裁模块直接输出有效的数据包。
2.根据权利要求1所述的多方接入系统,其特征在于,多路TCP连接模块针对IP分片、TCP分片进行封装重组,再进行数据CRC校验及去除数据包中的包头后输出完整的有序的只含有效负载的数据。
3.根据权利要求1所述的多方接入系统,其特征在于,会话模块和应用数据协议处理模块拆解出应用层协议数据包的协议头,根据协议头中的序列号确定应用层协议数据包的序列,同时确定应用层协议数据包的长度。
4.根据权利要求1所述的多方接入系统,其特征在于,仲裁模块基于预设的仲裁规则对多个应用数据协议处理模块的输出数据包进行处理,以使数据包按照时间先后顺序进入到主缓存模块中。
5.根据权利要求1所述的多方接入系统,其特征在于,应用数据协议包括FTD协议、FIX协议、XMP协议。
6.根据权利要求1至5中任一项所述的多方接入系统,其特征在于,多方接入系统包括交易所前置系统。
7.一种基于FPGA的多方接入处理方法,其特征在于,包括:
步骤1:来自多个报单数据流通过TCP连接进入FPGA;
步骤2:将多路TCP数据流根据IP地址和端口号分组,根据每组数据包中TCP的序列号对TCP协议数据包进行乱序重排和封装,处理后输出完整的有序的只含有效负载的数据;
步骤3:根据IP地址和端口号生成或者识别会话编号;
步骤4:应用层协议数据包根据不同的会话编号进行管理与分流,应用层协议数据包进入对应会话的应用数据协议处理模块;
步骤5:根据应用层协议数据包中的序列号过滤过时或者重复的应用层协议数据包;
步骤6:验证后将应用层协议数据包完整输出;
步骤7:来自多个会话的数据包进入主缓存;
步骤8:主缓存的应用层协议数据包输出到外部接口或者网络;
其中会话和应用数据协议处理的时钟频率等于网络 接口数据处理频率或者高于网络接口数据处理频率,以使任意时刻只有一个会话和协议处理输出的数据包是有效的,步骤7中无需仲裁直接输出有效的数据包。
8.根据权利要求7所述的基于FPGA的多方接入处理方法,其特征在于,在步骤2中,针对IP分片、TCP分片进行封装重组,再进行数据CRC校验及去除数据包中的包头后输出完整的有序的只含有效负载的数据。
9.根据权利要求7所述的基于FPGA的多方接入处理方法,其特征在于,步骤5还包括:
拆解出应用层协议数据包的协议头,根据协议头中的序列号确定应用层协议数据包的序列,同时确定应用层协议数据包的长度。
10.根据权利要求7所述的基于FPGA的多方接入处理方法,其特征在于,步骤7中基于预设的仲裁规则对多个会话和协议处理输出的数据包进行处理,以使数据包按照时间先后顺序进入到主缓存中。
11.根据权利要求7所述的基于FPGA的多方接入处理方法,其特征在于,应用数据协议包括FTD协议、FIX协议、XMP协议。
CN201710874714.9A 2017-09-25 2017-09-25 一种基于fpga的多方接入系统及处理方法 Active CN108289117B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710874714.9A CN108289117B (zh) 2017-09-25 2017-09-25 一种基于fpga的多方接入系统及处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710874714.9A CN108289117B (zh) 2017-09-25 2017-09-25 一种基于fpga的多方接入系统及处理方法

Publications (2)

Publication Number Publication Date
CN108289117A CN108289117A (zh) 2018-07-17
CN108289117B true CN108289117B (zh) 2021-04-06

Family

ID=62831614

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710874714.9A Active CN108289117B (zh) 2017-09-25 2017-09-25 一种基于fpga的多方接入系统及处理方法

Country Status (1)

Country Link
CN (1) CN108289117B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111245866B (zh) * 2020-03-04 2021-09-14 深圳市龙信信息技术有限公司 基于硬件加速的以太网应用层协议控制系统及方法
CN117997856A (zh) * 2024-04-03 2024-05-07 山东浪潮数据库技术有限公司 一种用于网络消息排序的方法、系统及可编程交换机

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103425746A (zh) * 2013-07-18 2013-12-04 大连理工大学 基于fpga的实时金融指数行情并行计算方法
CN105989539A (zh) * 2015-09-22 2016-10-05 盛立金融软件开发(杭州)有限公司 一种金融交易行情获取系统以及获取方法
CN106296397A (zh) * 2015-05-26 2017-01-04 南京艾科朗克信息科技有限公司 期货行情加速系统及加速方法
CN106296394A (zh) * 2016-08-16 2017-01-04 盛立金融软件开发(杭州)有限公司 一种金融产品柜台交易方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7139743B2 (en) * 2000-04-07 2006-11-21 Washington University Associative database scanning and information retrieval using FPGA devices

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103425746A (zh) * 2013-07-18 2013-12-04 大连理工大学 基于fpga的实时金融指数行情并行计算方法
CN106296397A (zh) * 2015-05-26 2017-01-04 南京艾科朗克信息科技有限公司 期货行情加速系统及加速方法
CN105989539A (zh) * 2015-09-22 2016-10-05 盛立金融软件开发(杭州)有限公司 一种金融交易行情获取系统以及获取方法
CN106296394A (zh) * 2016-08-16 2017-01-04 盛立金融软件开发(杭州)有限公司 一种金融产品柜台交易方法及系统

Also Published As

Publication number Publication date
CN108289117A (zh) 2018-07-17

Similar Documents

Publication Publication Date Title
US8411677B1 (en) Method and system for processing layered networking protocol packets
US11637917B2 (en) Processing of payload content with parallel validation
CN104050144B (zh) 改善有效链路带宽的完成组合
EP1934760B1 (en) Parallel processing of frame based data transfers
US8885480B2 (en) Packet priority in a network processor
US9612934B2 (en) Network processor with distributed trace buffers
US12003415B2 (en) Message validation using data-link layer fields
CN108289117B (zh) 一种基于fpga的多方接入系统及处理方法
CN108011850B (zh) 数据包的重组方法及装置、计算机设备及可读介质
US12113879B2 (en) Reliable communications using a point to point protocol
CN113872826B (zh) 网卡端口稳定性测试方法、系统、终端及存储介质
CN112565115A (zh) Tcp数据的传输方法、装置、计算机设备及存储介质
US20070036082A1 (en) Method and system for testing network device logic
US9515929B2 (en) Traffic data pre-filtering
US20120239826A1 (en) System authorizing direct data transfers between memories of several components of that system
WO2007120789A2 (en) Method and apparatus for processing data at physical layer
US7424653B2 (en) System and method for error capture and logging in computer systems
CN109155777A (zh) 用于处置sctp分组的方法和网络节点
US9391791B2 (en) Preprocessing unit for network data
US20040236982A1 (en) System and method for in-order queue draining
US9674282B2 (en) Synchronizing SLM statuses of a plurality of appliances in a cluster
TWI820977B (zh) 封包排序與重組電路模組
US20210103484A1 (en) System and method for optimizing bulk data operation
US20060078002A1 (en) Task queuing methods and systems for transmitting frame information over an I/O interface
US8356124B1 (en) Method and system for processing packet transfers

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant