CN111970283A - 基于fpga的证券行情tcp应用层报文处理方法 - Google Patents

基于fpga的证券行情tcp应用层报文处理方法 Download PDF

Info

Publication number
CN111970283A
CN111970283A CN202010838751.6A CN202010838751A CN111970283A CN 111970283 A CN111970283 A CN 111970283A CN 202010838751 A CN202010838751 A CN 202010838751A CN 111970283 A CN111970283 A CN 111970283A
Authority
CN
China
Prior art keywords
message
length
data
application layer
byte
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.)
Withdrawn
Application number
CN202010838751.6A
Other languages
English (en)
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.)
Nanjing Accelecom Information Technology Co ltd
Original Assignee
Nanjing Accelecom 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 Nanjing Accelecom Information Technology Co ltd filed Critical Nanjing Accelecom Information Technology Co ltd
Priority to CN202010838751.6A priority Critical patent/CN111970283A/zh
Publication of CN111970283A publication Critical patent/CN111970283A/zh
Withdrawn legal-status Critical Current

Links

Classifications

    • 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
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/06Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
    • 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]
    • 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/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Communication Control (AREA)

Abstract

一种基于FPGA的证券行情TCP应用层报文处理方法,包括以下步骤:步骤1,接收到报文,确定所述应用层协议的报文长度在报文字节流中的位置;步骤2:收到的报文字节放入长度字节寄存器中,当长度字节寄存器中的字节数大于等于N时停止;步骤3:将报文长度计算出来,并将N个字节输出,标记数据开始,如果长度字节寄存器中还有数据,则将数据直接输出;步骤4:直到报文长度减少到0,首先将最后几个字节的数据进行输出并标记数据结束,将完整报文个数加1,再将剩下的数据放到长度字节寄存器中用于长度判定,重复步骤2,依次循环。本发明提供的基于FPGA的证券行情TCP应用层报文处理方法所需要的延迟仅仅根据报文的长度所决定,延时低而且功耗也低。

Description

基于FPGA的证券行情TCP应用层报文处理方法
技术领域
本发明属于金融行业网络协议领域,涉及一种基于FPGA的证券行情TCP应用层报文处理方法。
背景技术
随着我国金融市场进一步与国际接轨,量化交易,高频交易等工具越来越多的应用到金融从业者的策略方案中。
传统的计算机策略虽然具有准确性,稳定性和及时性等特点,但是随着从业人员对交易延迟性的要求,交易系统的延迟指标一直是对该系统评估的重要指标。
TCP协议的解析一般是通过操作系统的TCP协议栈进行,解析完毕后还需要根据应用层协议的规则进行组包和解析,此过程在计算机中会存在大量的时间延迟。
发明内容
1、所要解决的技术问题:
现有的TCP协议的解析完毕后还需要根据应用层协议的规则进行组包和解析,此过程在计算机中会存在大量的时间延迟。
2、技术方案:
为了解决以上问题,本发明提供了一种基于FPGA(Field Programmable Gate Array现场可编程逻辑门阵列)的证券行情TCP应用层报文处理方法,包括以下步骤:步骤1,接收到应用层协议的报文,设所述报文的报文头数为X,确定所述应用层协议的报文长度在报文字节流中的位置;步骤2:记长度在报文中的文字节流中的位置为N,收到的报文字节首先放入长度字节寄存器中,当长度字节寄存器中的字节数大于等于N时停止;步骤3:将报文长度计算出来,并将N个字节输出,标记数据开始,记录此时的存入RAM的地址:如果长度字节寄存器中还有数据,则将数据直接输出;步骤4:直到报文长度减少到0,首先将最后几个字节的数据进行输出并标记数据结束,将完整报文个数加1,再将剩下的数据放到长度字节寄存器中用于长度判定,重复步骤2,依次循环。
在步骤2中,所述长度字节寄存器的字节数为N+X-1。
在实施例中,所述X的值为8。
在步骤3中,根据报文长度取数据,将输入的数据直接输出。
在步骤3中,如果遇到TCP数据结束,并且此时有错误信号,则将RAM地址清0,返回步骤1,没有错误信号则跳转步骤4。
3、有益效果:
本发明提供的基于FPGA的证券行情TCP应用层报文处理方法所需要的延迟仅仅根据报文的长度所决定,延时低而且功耗也低。
具体实施方式
下面结合实施例来对本发明进行详细说明。
一种基于FPGA的证券行情TCP应用层报文处理方法,步骤1,接收到应用层协议的报文,设所述报文的报文头数为X,确定所述应用层协议的报文长度在报文字节流中的位置;步骤2:记长度在报文中的文字节流中的位置为N,收到的报文字节首先放入长度字节寄存器中,当长度字节寄存器中的字节数大于等于N时停止;步骤3:此时长度字节寄存器中的数据已经包含了一个报文头,将报文长度计算出来,并将N个字节输出,标记数据开始,记录此时的存入RAM的地址,如果长度字节寄存器中还有数据,根据报文长度取数据,将输入的数据直接输出;如果遇到TCP数据结束,并且此时有错误信号,则将RAM地址清0,返回步骤1,没有错误信号则跳转步骤4;步骤4:直到报文长度减少到0,首先将最后几个字节的数据进行输出并标记数据结束,将完整报文个数加1,再将剩下的数据放到长度字节寄存器中用于长度判定,重复步骤2,依次循环。
实施例
以FTD(期货互换数据协议)协议为例,FTD协议的报文头是8个字节,0200_00c7_0100_044c这是一个标准的FTD报文头,0200_00c7是报文长度,所以这里的N等于4。这里需要一个4+8-1字节的长度字节寄存器缓存,当收到的字节在长度字节寄存器中大于4个字节的时候,提取长度,此时长度为C7,也就是十进制的199;先将长度字节寄存器中前四个字节,也就是0200_00c7输出,标记为数据开始,之后再将长度字节寄存器中剩余的数据输出;后面的数据直接从接口读入再输出,直到报文长度从199减少到0,将最后一组数据输出,假设下一组数据紧跟在刚刚处理完毕的报文后面,并且有6个字节的报文头;将这6个字节放入长度字节寄存器中,依次循环。
虽然本发明已以较佳实施例公开如上,但它们并不是用来限定本发明的,任何熟习此技艺者,在不脱离本发明之精神和范围内,自当可作各种变化或润饰,因此本发明的保护范围应当以本申请的权利要求保护范围所界定的为准。

Claims (5)

1.一种基于FPGA的证券行情TCP应用层报文处理方法,包括以下步骤:步骤1,接收到应用层协议的报文,设所述报文的报文头数为X,确定所述应用层协议的报文长度在报文字节流中的位置;步骤2:记长度在报文中的文字节流中的位置为N,收到的报文字节首先放入长度字节寄存器中,当长度字节寄存器中的字节数大于等于N时停止;步骤3:将报文长度计算出来,并将N个字节输出,标记数据开始,记录此时的存入RAM的地址:如果长度字节寄存器中还有数据,则将数据直接输出;步骤4:直到报文长度减少到0,首先将最后几个字节的数据进行输出并标记数据结束,将完整报文个数加1,再将剩下的数据放到长度字节寄存器中用于长度判定,重复步骤2,依次循环。
2.如权利要求1所述的方法,其特征在于:在步骤2中,所述长度字节寄存器的字节数为N+X-1。
3.如权利要求1或2所述的方法,其特征在于:所述X的值为8。
4.如权利要求1或2所述的方法,其特征在于:在步骤3中,根据报文长度取数据,将输入的数据直接输出。
5.如权利要求4所述的方法,其特征在于:在步骤3中,如果遇到TCP数据结束,并且此时有错误信号,则将RAM地址清0,返回步骤1,没有错误信号则跳转步骤4。
CN202010838751.6A 2020-08-19 2020-08-19 基于fpga的证券行情tcp应用层报文处理方法 Withdrawn CN111970283A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010838751.6A CN111970283A (zh) 2020-08-19 2020-08-19 基于fpga的证券行情tcp应用层报文处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010838751.6A CN111970283A (zh) 2020-08-19 2020-08-19 基于fpga的证券行情tcp应用层报文处理方法

Publications (1)

Publication Number Publication Date
CN111970283A true CN111970283A (zh) 2020-11-20

Family

ID=73388835

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010838751.6A Withdrawn CN111970283A (zh) 2020-08-19 2020-08-19 基于fpga的证券行情tcp应用层报文处理方法

Country Status (1)

Country Link
CN (1) CN111970283A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113132478A (zh) * 2021-04-16 2021-07-16 国泰君安证券股份有限公司 基于OpenCL实现证券交易系统中Binary协议行情加速解码的系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113132478A (zh) * 2021-04-16 2021-07-16 国泰君安证券股份有限公司 基于OpenCL实现证券交易系统中Binary协议行情加速解码的系统

Similar Documents

Publication Publication Date Title
US20070162847A1 (en) Spell checking in network browser based applications
US20130318107A1 (en) Generating data feed specific parser circuits
CN107395565B (zh) 一种定长单字节格式报文协议下串口接收预处理方法
CN107277006A (zh) 一种报文解析方法和装置
CN111970283A (zh) 基于fpga的证券行情tcp应用层报文处理方法
CN107040549A (zh) 一种tcp粘包处理方法、服务器及系统
CN110704356A (zh) 一种通用的解析串口数据方法
CN106921665A (zh) 一种报文处理方法及网络设备
CN112291041B (zh) 一种基于fpga的数据解码装置、方法
CN113225320A (zh) 一种用户可配置报文格式保密的网络报文解析方法
US10015100B1 (en) Network device architecture using cache for multicast packets
US7412546B2 (en) System method structure in network processor that indicates last data buffer of frame packet by last flag bit that is either in first or second position
CN113852533B (zh) 一种多通道数据通信系统、方法及电子设备
CN117155400A (zh) 一种行数据解压方法、系统及fpga异构数据加速卡
US20150100861A1 (en) Apparatus and method for calculating transmission control protocol checksum
CN108073678A (zh) 应用于大数据分析中的文档解析处理方法、系统及装置
CN111817915A (zh) 一种基于dpdk的协议解析框架
TWI459763B (zh) 切割網路封包之卸載方法及其裝置
TW202246970A (zh) 資料分析方法、裝置及計算機可讀存儲介質
CN112069772B (zh) 基于fpga的数据处理方法、装置、电子设备及存储介质
CN110769049B (zh) 一种配电终端及其soe数据上送方法
US11909801B1 (en) Ultra-low latency parsing system and method
CN114817641B (zh) 一种工业数据采集方法、装置及电子设备
CN117271402B (zh) 一种基于FPGA的低延时PCIe DMA数据传输方法
CN115514829B (zh) 一种基于xml的udp数据报文自动转换方法

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
WW01 Invention patent application withdrawn after publication

Application publication date: 20201120

WW01 Invention patent application withdrawn after publication