一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于FPGA的高速行情数据缓存方法与流程

2022-11-16 07:36:59 来源:中国专利 TAG:

一种基于fpga的高速行情数据缓存方法
技术领域
1.本发明涉及证券行业行情数据解析加速领域,具体涉及一种基于fpga的高速行情数据缓存方法。


背景技术:

2.fpga,是field programmable gate array的简称,中文名称为现场可编程门阵列,是一种可编程器件,是在pal(可编程逻辑阵列)、gal(通用阵列逻辑)、cpld(复杂可编程逻辑器件)等传统逻辑电路和门阵列的基础上发展起来的一种半定制电路,既解决了半定制电路的不足,又克服了原有可编程器件门电路数有限的缺点,其计算存储、算法加速和低延时传输等方面的独特优势在金融领域有着深入的技术应用价值。
3.目前在金融证券行业,行情的解析开始采用基于fpga进行硬件上的解码。但是由于fast行情数据的高速数据传输,对下游的解码模块造成大的压力,影响运行的稳定性。同时,cpu相对固定的处理模式,无法提供底层更细颗粒度的操作调度,所以fast的软解码延时较高,对cpu的负载占用较大,是现有行情解析系统的痛点所在。


技术实现要素:

4.本发明要解决的技术问题是提供一种基于fpga的高速行情数据缓存方法,实现了对来自网络的行情流数据的硬件解析,并将解析后的高速数据进行缓存,降低数据流对于解码模块协议流数据的解码压力。
5.为解决上述技术问题,本发明的实施例提供一种基于fpga的高速行情数据缓存方法,包括以下步骤:s1、行情数据流通过fpga的网口传输至tcp/udp/ip模块,tcp/udp/ip模块接收行情数据流,对行情数据流进行网络协议地解析和协议上的转换,并传输至数据搬移模块;s2、数据搬移模块接收步骤s1传输的行情数据并生成写入或读出命令与行情数据一同传入互联模块;s3、互联模块将来自数据搬移模块或mig缓存模块的信息与写入或读出命令进行协议上的转换;s4、mig缓存模块根据写入或读出命令对来自互联模块的解析后的行情数据缓存至ddr/hbm缓存空间。
6.其中,步骤s1包括以下步骤:s1.1、fast数据流通过10g网口到达gty收发器;s1.2、数据流分别通过物理编码子层mac、媒体访问控制器pcs实现物理层上的解析,管理时钟域cdc对数据流进行跨时钟域的传输并转化为axi的流式协议;s1.3、通过帧管理模块对行情数据进一步的缓存和帧丢弃;s1.4、通过tcp/udp/ip实现网络协议上的解析。
7.其中,步骤s1中,fast数据流需要依靠10g网口的ip核心和tcp/udp/ip的ip核实现
行情数据的组片与错误重传功能。
8.其中,步骤s2包括以下步骤:数据搬移模块根据数据大小进行计算并生成相应的写入命令,随同行情数据一同传入互联模块;检测解码模块的空闲情况,生成一定数据量大小的读出命令,发送至互联模块,并将数据搬移到解码模块上。
9.其中,步骤s3包括以下步骤:互联模块根据数据搬移模块的写入命令和数据将axi流式协议转换为一般的axi协议,并发送至mig缓存模块;互联模块根据数据搬移模块的读出命令和mig缓存模块的数据分别进行协议转换,将读出的缓存数据发送至数据搬移模块。
10.其中,步骤s4包括以下步骤:mig缓存模块接收互联模块发送的写入命令,则在ddr/hbm中开辟缓存地址空间,将到来的axi一般协议数据存储到相应的地址空间中;mig缓存模块接收互联模块发送的读出命令,则将相应地址空间中的数据转化为axi的一般协议输出到互联模块。
11.其中,数据互联模块与mig缓存模块在基于blcok下由rtl外围代码实现,按照一定时钟频率周期性地监测总线是否有数据,若有,就接受来自tcp/udp/ip解析模块的数据。
12.本发明上述技术方案的有益效果如下:1、本发明提供一种基于fpga的高速网络行情数据缓存方法,采用xilinx alveo u系列的fpga硬件加速卡;结合verilog硬件描述语言与hls硬件描述语言实现,在fpga加速卡上开发了高速网络行情数据缓存,对网络数据的解析和缓存过程进行一定的优化。
13.2、本发明设计了针对行情数据的数据搬移模块和互联模块,降低cpu负载,从而提高了对fast协议流数据的硬件解码的整体稳定性。
附图说明
14.图1为本发明的架构图。
具体实施方式
15.为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
16.如图1所示,本发明的实施例提供一种基于fpga的高速行情数据缓存方法,包括以下步骤:s1、行情数据流通过fpga的网口传输至tcp/udp/ip模块,tcp/udp/ip模块接收行情数据流,对行情数据流进行网络协议地解析和协议上的转换,并传输至数据搬移模块;s2、数据搬移模块接收步骤s1传输的行情数据并生成写入或读出命令与行情数据一同传入互联模块;s3、互联模块将来自数据搬移模块或mig缓存模块的信息与写入或读出命令进行协议上的转换;
s4、mig缓存模块根据写入或读出命令对来自互联模块的解析后的行情数据缓存至ddr/hbm缓存空间。
17.步骤s1包括以下步骤:s1.1、fast数据流(fast data stream)通过10g网口到达gty收发器;s1.2、数据流分别通过物理编码子层mac、媒体访问控制器pcs实现物理层上的解析,管理时钟域cdc对数据流进行跨时钟域的传输并转化为axi的流式协议;s1.3、通过帧管理模块对行情数据进一步的缓存和帧丢弃等;s1.4、通过tcp/udp/ip实现网络协议上的解析。
18.具体的,gty收发器用于接收来自网口的行情信息。数据流会先经过pcs与mac模块实现物理层上的解析,然后经过cdc将数据进行跨时钟域的传输并转化为axi的流式协议。该解析器在每个周期从获取来自网口的64-bit数据段。随后帧管理模块会检测数据帧,并将坏帧进行提取并进行丢弃。最后基于网络协议数据的axi流式信息会通过tcp/udp/ip的ip核心进行网络协议上的识别,将icmp,igmp等通过多路选择器传输到对应的解析模块上,最后作为axi流式信息传输。
19.步骤s2包括以下步骤:数据搬移模块根据数据大小进行计算并生成相应的写入命令,随同行情数据一同传入互联模块;检测解码模块的空闲情况,生成一定数据量大小的读出命令,发送至互联模块,并将数据搬移到解码模块上。
20.具体的,所述数据搬移模块(axi_datamover模块)用于对到来的解析行情数据进行数据搬移,根据不同的数据流向和当前时钟周期下的读写命令,可以接收来自网络模块的数据。
21.步骤s3包括以下步骤:互联模块(axi_interconnect模块)根据数据搬移模块的写入命令和数据将axi流式协议转换为一般的axi协议,并发送至mig缓存模块;互联模块根据数据搬移模块的读出命令和mig缓存模块的数据分别进行协议转换,将读出的缓存数据发送至数据搬移模块。
22.步骤s4包括以下步骤:mig缓存模块接收互联模块发送的写入命令,则在ddr/hbm模块上开辟缓存地址空间,将到来的axi一般协议数据存储到相应的地址空间中;mig缓存模块接收互联模块发送的读出命令,则将相应地址空间中的数据转化为axi的一般协议输出到互联模块。
23.本实施例中,对于整个缓存方法,网络协议上的数据解析需要调用专用的ip核,这些ip核负责将网络的数据转换为基于axi的流式信息。也负责将到来的网络层协议解析。这里的ip核就相当于这里的tcp/udp/ip的ip核和10g网口ip核。
24.将本发明适用的高速行情数据缓存硬件系统和不具备高速行情缓存的硬件解码系统分别部署在两台相同配置的物理服务器上,且两台服务器上均部署有交易所的行情网关,发送同一天的fast流数据行情。
25.通过对比数据如下:
高速行情数据缓存硬件系统一般高速行情数据硬件系统240min30min
26.通过测试发现,相较于一般高速行情数据硬件系统,基于fpga高速网络行情数据缓存硬件系统可以有效缓解在网络fast协议流数据对解码模块的压力,可以持续承担一天的行情数据解码。
27.本发明提供一种基于fpga的高速网络行情数据缓存方法,采用xilinx alveo u系列的fpga硬件加速卡;结合verilog硬件描述语言与hls硬件描述语言实现,在fpga加速卡上开发了高速网络行情数据缓存,对网络数据的解析和缓存过程进行一定的优化。设计了针对行情数据的数据搬移模块和数据互联模块,降低cpu负载,从而提高了了对fast协议流数据的硬件解码的整体稳定性。
28.以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献