CN117827740A - 一种基于fpga的模块化行情数据回放方法及回放系统 - Google Patents
一种基于fpga的模块化行情数据回放方法及回放系统 Download PDFInfo
- Publication number
- CN117827740A CN117827740A CN202410247931.5A CN202410247931A CN117827740A CN 117827740 A CN117827740 A CN 117827740A CN 202410247931 A CN202410247931 A CN 202410247931A CN 117827740 A CN117827740 A CN 117827740A
- Authority
- CN
- China
- Prior art keywords
- data
- market data
- module
- fpga
- speed
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 30
- 230000000903 blocking effect Effects 0.000 claims abstract description 23
- 239000000284 extract Substances 0.000 claims abstract description 7
- 238000012545 processing Methods 0.000 claims description 15
- 238000013507 mapping Methods 0.000 claims description 9
- 238000011144 upstream manufacturing Methods 0.000 claims description 9
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 238000001914 filtration Methods 0.000 claims description 5
- 230000002093 peripheral effect Effects 0.000 claims description 4
- 230000011218 segmentation Effects 0.000 claims description 2
- 238000013461 design Methods 0.000 abstract description 5
- 238000012360 testing method Methods 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
Landscapes
- Information Transfer Between Computers (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明提供一种基于FPGA的模块化行情数据回放方法及回放系统,包括步骤:S1、FPGA的PCIe驱动获取行情数据,由SLR 0将数据分为行情数据和控制数据;S2、行情数据缓存至HBM;控制数据由控制模块进行时间关系和倍数的处理;S3、预取模块预提取行情数据的时间信息,与控制信号进行比对;S4、若符合倍速要求,则控制阻塞缓存模块停止阻塞,将行情数据发送至订阅模块;如果不符合倍速要求,进行阻塞。本发明实现了对行情数据的高速回放以及模块化设计,采用PCIe获取来自服务器的缓存行情数据,并预缓存到HBM中,同样采用预取数据的策略,轮询控制模块的时间关系,将行情数据根据倍速要求完成数据速,提高倍速速率。
Description
技术领域
本发明涉及证券行业行情数据解析加速领域,具体涉及一种基于FPGA的模块化行情数据回放方法及回放系统。
背景技术
FPGA,是Field Programmable Gate Array的简称,中文名称为现场可编程门阵列,是一种可编程器件,是在PAL(可编程逻辑阵列)、GAL(通用阵列逻辑)、CPLD(复杂可编程逻辑器件)等传统逻辑电路和门阵列的基础上发展起来的一种半定制电路,既解决了半定制电路的不足,又克服了原有可编程器件门电路数有限的缺点,其计算存储、算法加速和低延时传输等方面的独特优势在金融领域有着深入的技术应用价值。
目前在金融证券行业,行情数据都具有速率高,吞吐量大,颗粒大的特点因此行情数据在回放过程中,为了能快速完成系统验证测试,经常需要对数据进行倍速加速进程,但是由于CPU对这些数据的调度策略设计,其倍速的速度有限,每一次完整的测试依然需要花费大量的时间。同时数据回放需要进行大量复杂的系统配置,导致需要花费大量的时间完成重复的任务。因此需要一种模块化的硬件设计,实现高速的数据回放,加快系统验证测试的过程,同时减少多余的系统配置开销。
发明内容
本发明要解决的技术问题是提供一种基于FPGA的模块化行情数据回放方法及回放系统,实现了对行情数据的高速回放以及模块化设计,采用PCIe获取来自服务器的缓存行情数据,并预缓存到HBM中。在处理过程中,同样采用预取数据的策略,轮询控制模块的时间关系,根据系统配置,将行情数据以一定的速率发送并将数据以TCP进行发送。同时兼容下游TCP订阅设置,完成行情数据过滤,提高倍速速率。
为解决上述技术问题,本发明的实施例提供一种基于FPGA的模块化行情数据回放方法,包括如下步骤:
S1、FPGA的PCIe驱动获取服务器指定内存地址存放的行情数据,并搬移进超级逻辑域,然后根据映射关系将数据分为行情数据和控制数据;
S2、行情数据预先缓存至FPGA中的片上存储HBM,等待数据处理;控制数据通过轻量级AXI协议转换模块转换为AXI_lite协议交由控制模块进行时间关系和倍数的处理;
S3、处理模块中的预取模块根据处理模块状态进行预测,并通过片上存储映射模块将来自片上高速存储HBM的行情数据进行预取值,提取行情数据的时间信息;处理模块中的比较模块将来自控制模块的控制信号与行情数据的时间信息进行比对;
S4、若步骤S3的比对结果符合倍速要求,阻塞缓存模块停止阻塞,将行情数据发送至订阅模块准备下一步的过滤;如果不符合倍速要求,阻塞缓存模块进行阻塞,直到控制信号的到来;
S5、订阅模块根据来自TCP的订阅信息和来自上游的PCIe控制信息中的其一,对到来的行情数据进行过滤;若数据标签符合下游服务器的要求,通过网络模块将该行情数据输出;若数据标签不符合下游服务器的要求,直接将该行情数据丢弃,等待下一个行情数据。
其中,步骤S3中,行情数据在通过片上高速存储HBM发送至预取模块时,将其数据协议转换为AXIS的协议。
其中,步骤S2中,片上高速存储HBM中的行情数据以数组形式存储。
其中,步骤S4中的倍速要求包括:当前的行情数据的时间标签是否小于倍速下的时间差,如果小于,则意味着这段时间内需要将这个行情数据发出,否则就要进行阻塞。
其中,步骤S5中,订阅模块需要同时处理来自上游的行情数据和下游的订阅信息,并将符合要求的行情数据进行基于TCP的报文分割。
本发明还提供一种基于FPGA的模块化行情数据回放系统,包括:
PCIe,用于获取服务器指定内存地址存放的行情数据,并将行情数据搬移进超级逻辑域 (SLR 0);
超级逻辑域 (SLR 0),根据映射关系将数据分为行情数据和控制数据;
片上高速存储HBM,用于缓存行情数据;
轻量级AXI协议转换模块,将控制数据转换为AXI_lite协议交由控制模块进行时间关系和倍数的处理,得到控制信号;
预取模块,预提取缓存于片上高速存储HBM内的行情数据的时间信息;
比较模块,将行情数据的时间信息与控制信号进行比对;
阻塞缓存模块,对符合倍速要求的行情数据停止阻塞,并将行情数据发送至订阅模块;对不符合倍速要求的行情数据进行阻塞;
订阅模块,根据来自TCP的订阅信息和来自上游的PCIe控制信息中的其一,对行情数据进行过滤,若数据标签符合下游服务器的要求,通过网络模块将该行情数据输出;若数据标签不符合下游服务器的要求,直接将该行情数据丢弃,等待下一个行情数据。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机指令,当其在计算机上运行时,使得计算机可以执行上述的基于FPGA的模块化行情数据回放方法。
本发明的上述技术方案的有益效果如下:
本发明提供一种基于FPGA的模块化行情数据回放方法及回放系统,采用XILINX-Alveo U系列的FPGA硬件加速卡,结合Verilog硬件描述语言与HLS硬件描述语言,在FPGA加速卡上开发了一种模块化的高速数据回放,对高吞吐的行情数据的倍速过程进行一定的优化,设计了针对高吞吐行情数据的预存储策略和预测调度策略,降低CPU负载的同时,实现FPGA直接在服务器上就可以完成高速的数据回放。
附图说明
图1为本发明的架构图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
如图1所示,本发明提供一种基于FPGA的模块化行情数据回放方法,包括如下步骤:
S1、FPGA的PCIe驱动获取服务器指定内存地址存放的行情数据,并搬移进超级逻辑域 (SLR 0),然后根据映射关系将数据分为行情数据和控制数据;
S2、行情数据预先缓存至FPGA中的片上高速存储HBM,等待数据处理;控制数据通过轻量级AXI协议转换模块(AXI_Lite Crossbar)转换为AXI_lite协议交由控制模块(ControlModule)进行时间关系和倍数的处理;
S3、处理模块(Processer Module)中的预取模块(Prefetch Module)根据处理模块状态进行预测,并通过片上存储映射模块(XDMA)将来自片上高速存储HBM的行情数据进行预取值,提取行情数据的时间信息;处理模块中的比较模块(CompareControl)将来自控制模块的控制信号与时间信息进行比对。
本步骤中,行情数据在通过片上高速存储HBM发送至预取模块时,将其数据协议转换为AXIS的协议。
S4、若步骤S3的比对结果符合倍速要求,阻塞缓存模块(Blocking Cache)停止阻塞,将行情数据发送至订阅模块(SubscribingModule)准备下一步的过滤;如果不符合倍速要求,阻塞缓存模块进行阻塞,直到控制信号的到来;
所述的倍速要求是指:当前的行情数据的时间标签是否小于倍速下的时间差,如果小于,则意味着这段时间内需要将这个行情数据发出,否则就要进行阻塞。
S5、订阅模块根据来自TCP的订阅信息和来自上游的PCIe控制信息中的其一,对到来的行情数据进行过滤;若数据标签符合下游服务器的要求,通过网络模块(ETH)将该行情数据输出;若数据标签不符合下游服务器的要求,直接将该行情数据丢弃,等待下一个行情数据。
本步骤中,订阅模块需要同时处理来自上游的行情数据和下游的订阅信息,并将符合要求的行情数据进行基于TCP的报文分割。
本发明还提供一种基于FPGA的模块化行情数据回放系统,包括:
PCIe,用于获取服务器指定内存地址存放的行情数据,并将行情数据搬移进超级逻辑域 (SLR 0);
超级逻辑域 (SLR 0),根据映射关系将数据分为行情数据和控制数据;
片上高速存储HBM,用于缓存行情数据;
轻量级AXI协议转换模块(Crossbar模块),将控制数据转换为AXI_lite协议交由控制模块进行时间关系和倍数的处理,得到控制信号;
预取模块,预提取缓存于片上高速存储HBM内的行情数据的时间信息;
比较模块,将行情数据的时间信息与控制信号进行比对;
阻塞缓存模块,对符合倍速要求的行情数据停止阻塞,并将行情数据发送至订阅模块;对不符合倍速要求的行情数据进行阻塞;
订阅模块,根据来自TCP的订阅信息和来自上游的PCIe控制信息中的其一,对行情数据进行过滤,若数据标签符合下游服务器的要求,通过网络模块将该行情数据输出;若数据标签不符合下游服务器的要求,直接将该行情数据丢弃,等待下一个行情数据。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机指令,当其在计算机上运行时,使得计算机可以执行上述的基于FPGA的模块化行情数据回放方法。
将采用基于FPGA的模块化行情数据回放系统和传统软件行情数据系统回放分别部署在两台相同配置的物理服务器上,且两台服务器上均发送同样的低延时行情数据,其最高倍速速率对比如下:
模块化行情数据回放系统 | 一般行情系统 |
2.5GB/s | 125MB/s |
通过测试发现,相较于一般行情数据硬件系统,基于FPGA高速行情数据回放系统可以有更高的数据发送速率,同时不需要在server上进行繁杂的配置,就可以快速完成行情数据回放。
本发明提供一种基于FPGA的模块化行情数据回放方法及回放系统,实现了对行情数据的高速回放以及模块化设计,采用PCIe获取来自服务器的缓存行情数据,并预缓存到HBM中。在处理过程中,同样采用预取数据的策略,轮询控制模块的时间关系,将行情数据根据倍速要求完成数据速,并将数据以TCP进行发送。同时兼容下游TCP订阅设置,完成行情数据过滤,提高倍速速率。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (7)
1.一种基于FPGA的模块化行情数据回放方法,其特征在于,包括如下步骤:
S1、FPGA的PCIe驱动获取服务器指定内存地址存放的行情数据,并搬移进超级逻辑域,然后根据映射关系将数据分为行情数据和控制数据;
S2、行情数据预先缓存至FPGA中的片上高速存储HBM,等待数据处理;控制数据通过轻量级AXI协议转换模块转换为AXI_lite协议交由控制模块进行时间关系和倍数的处理;
S3、处理模块中的预取模块根据处理模块的运行状态进行预测,并通过片上存储映射模块将来自片上高速存储HBM的行情数据进行预取值,提取行情数据的时间信息;处理模块中的比较模块将来自控制模块的控制信号与行情数据的时间信息进行比对;
S4、若步骤S3的比对结果符合倍速要求,阻塞缓存模块停止阻塞,将行情数据发送至订阅模块准备下一步的过滤;如果不符合倍速要求,阻塞缓存模块进行阻塞,直到预取模块下一个控制信号的到来;
S5、订阅模块根据来自TCP的订阅信息和来自上游的PCIe控制信息中的其一,对到来的行情数据进行过滤;若数据标签符合下游服务器的要求,通过网络模块将该行情数据输出;若数据标签不符合下游服务器的要求,直接将该行情数据丢弃,等待下一个行情数据。
2.根据权利要求1所述的基于FPGA的模块化行情数据回放方法,其特征在于,步骤S3中,行情数据在通过片上高速存储HBM发送至预取模块时,将其数据协议转换为AXIS的协议。
3.根据权利要求1所述的基于FPGA的模块化行情数据回放方法,其特征在于,步骤S2中,片上高速存储HBM中的行情数据以数组形式存储。
4.根据权利要求1所述的基于FPGA的模块化行情数据回放方法,其特征在于,步骤S4中的倍速要求包括:根据前后行情数据的时间差,与fpga根据倍速数值计算的时间差进行比较,如果小于,则需要将这个行情数据发出,否则进行阻塞。
5.根据权利要求1所述的基于FPGA的模块化行情数据回放方法,其特征在于,步骤S5中,订阅模块同时处理来自上游的行情数据和下游的订阅信息,并将符合下游服务器的要求的行情数据进行基于TCP的报文分割。
6.一种基于FPGA的模块化行情数据回放系统,其特征在于,包括:
PCIe,用于获取服务器指定内存地址存放的行情数据,并将行情数据搬移进超级逻辑域;
超级逻辑域,根据映射关系将数据分为行情数据和控制数据;
片上高速存储HBM,用于缓存行情数据;
轻量级AXI协议转换模块,将控制数据转换为AXI_lite协议交由控制模块进行时间关系和倍数的处理,得到控制信号;
预取模块,预提取缓存于片上高速存储HBM内的行情数据的时间信息;
比较模块,将行情数据的时间信息与控制信号进行比对;
阻塞缓存模块,对符合倍速要求的行情数据停止阻塞,并将行情数据发送至订阅模块;对不符合倍速要求的行情数据进行阻塞;
订阅模块,根据来自TCP的订阅信息和来自上游的PCIe控制信息中的其一,对行情数据进行过滤,若数据标签符合下游服务器的要求,通过网络模块将该行情数据输出;若数据标签不符合下游服务器的要求,直接将该行情数据丢弃,等待下一个行情数据。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机指令,当其在计算机上运行时,使得计算机可以执行上述权利要求1-5中任一项所述的基于FPGA的模块化行情数据回放方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410247931.5A CN117827740B (zh) | 2024-03-05 | 2024-03-05 | 一种基于fpga的模块化行情数据回放方法及回放系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410247931.5A CN117827740B (zh) | 2024-03-05 | 2024-03-05 | 一种基于fpga的模块化行情数据回放方法及回放系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117827740A true CN117827740A (zh) | 2024-04-05 |
CN117827740B CN117827740B (zh) | 2024-05-14 |
Family
ID=90523150
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410247931.5A Active CN117827740B (zh) | 2024-03-05 | 2024-03-05 | 一种基于fpga的模块化行情数据回放方法及回放系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117827740B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030131008A1 (en) * | 2001-12-24 | 2003-07-10 | Paulin Jean Marc | System and method for transaction recording and playback |
US20100138360A1 (en) * | 2008-11-20 | 2010-06-03 | Stephen Cutler | Financial market replicator and simulator |
WO2017020607A1 (zh) * | 2015-08-06 | 2017-02-09 | 中兴通讯股份有限公司 | Rdp协议数据回放方法、服务器及系统 |
US20180114269A1 (en) * | 2016-10-24 | 2018-04-26 | Trade Off, LLC | Accelerated streaming price chart data for trading competitions |
CN108269188A (zh) * | 2016-12-30 | 2018-07-10 | 上海金融期货信息技术有限公司 | 一种基于fpga的交易所行情信息处理方法和系统 |
CN110278260A (zh) * | 2019-06-17 | 2019-09-24 | 武汉灯塔之光科技有限公司 | 一种不同证券行情数据的转发录播方法、系统和装置 |
CN111552622A (zh) * | 2020-04-30 | 2020-08-18 | 上海英方软件股份有限公司 | 一种行情数据的回放装置及方法 |
CN114827734A (zh) * | 2022-04-19 | 2022-07-29 | 深圳市商汤科技有限公司 | 流媒体数据回放方法、装置、系统和存储介质 |
CN115269709A (zh) * | 2022-09-30 | 2022-11-01 | 深圳华锐分布式技术股份有限公司 | 基于行情数据的查询及回放方法、装置、设备及介质 |
CN117215785A (zh) * | 2023-09-12 | 2023-12-12 | 华泰证券股份有限公司 | 一种行情回放系统微服务资源调度方法 |
CN117453534A (zh) * | 2023-10-10 | 2024-01-26 | 上海卡方信息科技有限公司 | 一种数据处理方法、装置、设备及可读存储介质 |
-
2024
- 2024-03-05 CN CN202410247931.5A patent/CN117827740B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030131008A1 (en) * | 2001-12-24 | 2003-07-10 | Paulin Jean Marc | System and method for transaction recording and playback |
US20100138360A1 (en) * | 2008-11-20 | 2010-06-03 | Stephen Cutler | Financial market replicator and simulator |
WO2017020607A1 (zh) * | 2015-08-06 | 2017-02-09 | 中兴通讯股份有限公司 | Rdp协议数据回放方法、服务器及系统 |
US20180114269A1 (en) * | 2016-10-24 | 2018-04-26 | Trade Off, LLC | Accelerated streaming price chart data for trading competitions |
CN108269188A (zh) * | 2016-12-30 | 2018-07-10 | 上海金融期货信息技术有限公司 | 一种基于fpga的交易所行情信息处理方法和系统 |
CN110278260A (zh) * | 2019-06-17 | 2019-09-24 | 武汉灯塔之光科技有限公司 | 一种不同证券行情数据的转发录播方法、系统和装置 |
CN111552622A (zh) * | 2020-04-30 | 2020-08-18 | 上海英方软件股份有限公司 | 一种行情数据的回放装置及方法 |
CN114827734A (zh) * | 2022-04-19 | 2022-07-29 | 深圳市商汤科技有限公司 | 流媒体数据回放方法、装置、系统和存储介质 |
CN115269709A (zh) * | 2022-09-30 | 2022-11-01 | 深圳华锐分布式技术股份有限公司 | 基于行情数据的查询及回放方法、装置、设备及介质 |
CN117215785A (zh) * | 2023-09-12 | 2023-12-12 | 华泰证券股份有限公司 | 一种行情回放系统微服务资源调度方法 |
CN117453534A (zh) * | 2023-10-10 | 2024-01-26 | 上海卡方信息科技有限公司 | 一种数据处理方法、装置、设备及可读存储介质 |
Non-Patent Citations (1)
Title |
---|
曾立环;: "生产原型交易回放测试设计及实践", 中国金融电脑, no. 05, 7 May 2016 (2016-05-07), pages 41 - 50 * |
Also Published As
Publication number | Publication date |
---|---|
CN117827740B (zh) | 2024-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190108145A1 (en) | Dual in-line memory module (dimm) programmable accelerator card | |
WO2020028594A9 (en) | Storage edge controller with a metadata computational engine | |
US20130219148A1 (en) | Network on chip processor with multiple cores and routing method thereof | |
US20080005484A1 (en) | Cache coherency controller management | |
CN109558373B (zh) | 一种高效能融合服务器 | |
US10789194B2 (en) | Techniques for efficiently synchronizing data transmissions on a network | |
CN104954795A (zh) | 一种基于jpeg2000的图像采集传输系统 | |
US20230017583A1 (en) | Composable infrastructure enabled by heterogeneous architecture, delivered by cxl based cached switch soc | |
CN110347626B (zh) | 服务器系统 | |
CN111400212B (zh) | 一种基于远程直接数据存取的传输方法、设备 | |
US11601489B2 (en) | Method for transmitting stream, streaming server and storage medium | |
US6892281B2 (en) | Apparatus, method, and system for reducing latency of memory devices | |
CN112445735A (zh) | 一种联邦学习数据传输方法、计算机设备、系统及存储介质 | |
CN110955390B (zh) | 数据处理方法、装置、电子设备和存储介质 | |
US6970978B1 (en) | System and method for providing a pre-fetch memory controller | |
US7000041B2 (en) | Method and an apparatus to efficiently handle read completions that satisfy a read request | |
CN117827740B (zh) | 一种基于fpga的模块化行情数据回放方法及回放系统 | |
US11847049B2 (en) | Processing system that increases the memory capacity of a GPGPU | |
US20140164553A1 (en) | Host ethernet adapter frame forwarding | |
US20200213217A1 (en) | SYSTEM AND METHOD FOR COMPUTATIONAL TRANSPORT NETWORK-ON-CHIP (NoC) | |
CN110297785A (zh) | 一种基于fpga的金融数据流控装置和流控方法 | |
EP3926482A1 (en) | System and method for performing transaction aggregation in a network-on-chip (noc) | |
US11315209B2 (en) | In-line and offline staggered bandwidth efficient image signal processing | |
CN115563053A (zh) | 高性能片上内存控制器及其执行的方法 | |
CN115344393A (zh) | 业务处理方法及相关设备 |
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 |