基于FPGA的证券行情TCP应用层报文处理方法技术

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

【技术实现步骤摘要】
基于FPGA的证券行情TCP应用层报文处理方法
本专利技术属于金融行业网络协议领域,涉及一种基于FPGA的证券行情TCP应用层报文处理方法。
技术介绍
随着我国金融市场进一步与国际接轨,量化交易,高频交易等工具越来越多的应用到金融从业者的策略方案中。传统的计算机策略虽然具有准确性,稳定性和及时性等特点,但是随着从业人员对交易延迟性的要求,交易系统的延迟指标一直是对该系统评估的重要指标。TCP协议的解析一般是通过操作系统的TCP协议栈进行,解析完毕后还需要根据应用层协议的规则进行组包和解析,此过程在计算机中会存在大量的时间延迟。
技术实现思路
1、所要解决的技术问题:现有的TCP协议的解析完毕后还需要根据应用层协议的规则进行组包和解析,此过程在计算机中会存在大量的时间延迟。2、技术方案:为了解决以上问题,本专利技术提供了一种基于FPGA(FieldProgrammableGateArray现场可编程逻辑门阵列)的证券行情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个字节放入长度字节寄存器中,依次循环。虽然本专利技术已以较佳实施例公开如上,但它们并不是用来限定本专利技术的,任何熟习此技艺者,在不脱离本专利技术之精神和范围内,自当可作各种变化或润饰,因此本专利技术的保护范围应当以本申请的权利要求保护范围所界定的为准。本文档来自技高网...

【技术保护点】
1.一种基于FPGA的证券行情TCP应用层报文处理方法,包括以下步骤:步骤1,接收到应用层协议的报文,设所述报文的报文头数为X,确定所述应用层协议的报文长度在报文字节流中的位置;步骤2:记长度在报文中的文字节流中的位置为N,收到的报文字节首先放入长度字节寄存器中,当长度字节寄存器中的字节数大于等于N时停止;步骤3:将报文长度计算出来,并将N个字节输出,标记数据开始,记录此时的存入RAM的地址:如果长度字节寄存器中还有数据,则将数据直接输出;步骤4:直到报文长度减少到0,首先将最后几个字节的数据进行输出并标记数据结束,将完整报文个数加1,再将剩下的数据放到长度字节寄存器中用于长度判定,重复步骤2,依次循环。/n

【技术特征摘要】
1.一种基于FPGA的证券行情TCP应用层报文处理方法,包括以下步骤:步骤1,接收到应用层协议的报文,设所述报文的报文头数为X,确定所述应用层协议的报文长度在报文字节流中的位置;步骤2:记长度在报文中的文字节流中的位置为N,收到的报文字节首先放入长度字节寄存器中,当长度字节寄存器中的字节数大于等于N时停止;步骤3:将报文长度计算出来,并将N个字节输出,标记数据开始,记录此时的存入RAM的地址:如果长度字节寄存器中还有数据,则将数据直接输出;步骤4:直到报文长度减少到0,首先将最后几个字节的数据进行输出并标记数据结束,将完整报文个数加1,再将剩下的数据...

【专利技术属性】
技术研发人员:秦轶轩夏滢
申请(专利权)人:南京艾科朗克信息科技有限公司
类型:发明
国别省市:江苏;32

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

1