CN117827740B - 一种基于fpga的模块化行情数据回放方法及回放系统 - Google Patents

一种基于fpga的模块化行情数据回放方法及回放系统 Download PDF

Info

Publication number
CN117827740B
CN117827740B CN202410247931.5A CN202410247931A CN117827740B CN 117827740 B CN117827740 B CN 117827740B CN 202410247931 A CN202410247931 A CN 202410247931A CN 117827740 B CN117827740 B CN 117827740B
Authority
CN
China
Prior art keywords
data
market data
module
speed
fpga
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
CN202410247931.5A
Other languages
English (en)
Other versions
CN117827740A (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 Tegao Information Technology Co ltd
Original Assignee
Shanghai Tegao 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 Tegao Information Technology Co ltd filed Critical Shanghai Tegao Information Technology Co ltd
Priority to CN202410247931.5A priority Critical patent/CN117827740B/zh
Publication of CN117827740A publication Critical patent/CN117827740A/zh
Application granted granted Critical
Publication of CN117827740B publication Critical patent/CN117827740B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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的模块化行情数据回放方法及回放系统。
背景技术
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 (6)

1.一种基于FPGA的模块化行情数据回放方法,其特征在于,包括如下步骤:
S1、FPGA的PCIe驱动获取服务器指定内存地址存放的行情数据,并搬移进超级逻辑域,然后根据映射关系将数据分为行情数据和控制数据;
S2、行情数据预先缓存至FPGA中的片上高速存储HBM,等待数据处理;控制数据通过轻量级AXI协议转换模块转换为AXI_lite协议交由控制模块进行时间关系和倍速的处理;
S3、处理模块中的预取模块根据处理模块的运行状态进行预测,并通过片上存储映射模块将来自片上高速存储HBM的行情数据进行预取值,提取行情数据的时间信息;处理模块中的比较模块将来自控制模块的控制信号与行情数据的时间信息进行比对;
S4、若步骤S3的比对结果符合倍速要求,阻塞缓存模块停止阻塞,将行情数据发送至订阅模块准备下一步的过滤;如果不符合倍速要求,阻塞缓存模块进行阻塞,直到预取模块下一个控制信号的到来;
步骤S4中的倍速要求包括:根据前后行情数据的时间差,与fpga根据倍速数值计算的时间差进行比较,如果小于,则需要将这个行情数据发出,否则进行阻塞;
S5、订阅模块根据来自TCP的订阅信息和来自上游的PCIe控制信息中的其一,对到来的行情数据进行过滤;若数据标签符合下游服务器的要求,通过网络模块将该行情数据输出;若数据标签不符合下游服务器的要求,直接将该行情数据丢弃,等待下一个行情数据。
2.根据权利要求1所述的基于FPGA的模块化行情数据回放方法,其特征在于,步骤S3中,行情数据在通过片上高速存储HBM发送至预取模块时,将其数据协议转换为AXIS的协议。
3.根据权利要求1所述的基于FPGA的模块化行情数据回放方法,其特征在于,步骤S2中,片上高速存储HBM中的行情数据以数组形式存储。
4.根据权利要求1所述的基于FPGA的模块化行情数据回放方法,其特征在于,步骤S5中,订阅模块同时处理来自上游的行情数据和下游的订阅信息,并将符合下游服务器的要求的行情数据进行基于TCP的报文分割。
5.一种基于FPGA的模块化行情数据回放系统,其特征在于,包括:
PCIe,用于获取服务器指定内存地址存放的行情数据,并将行情数据搬移进超级逻辑域;
超级逻辑域,根据映射关系将数据分为行情数据和控制数据;
片上高速存储HBM,用于缓存行情数据;
轻量级AXI协议转换模块,将控制数据转换为AXI_lite协议交由控制模块进行时间关系和倍速的处理,得到控制信号;
预取模块,预提取缓存于片上高速存储HBM内的行情数据的时间信息;
比较模块,将行情数据的时间信息与控制信号进行比对;
阻塞缓存模块,对符合倍速要求的行情数据停止阻塞,并将行情数据发送至订阅模块;对不符合倍速要求的行情数据进行阻塞;其中,倍速要求包括:根据前后行情数据的时间差,与fpga根据倍速数值计算的时间差进行比较,如果小于,则需要将这个行情数据发出,否则进行阻塞;
订阅模块,根据来自TCP的订阅信息和来自上游的PCIe控制信息中的其一,对行情数据进行过滤,若数据标签符合下游服务器的要求,通过网络模块将该行情数据输出;若数据标签不符合下游服务器的要求,直接将该行情数据丢弃,等待下一个行情数据。
6.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机指令,当其在计算机上运行时,使得计算机可以执行上述权利要求1-4中任一项所述的基于FPGA的模块化行情数据回放方法。
CN202410247931.5A 2024-03-05 2024-03-05 一种基于fpga的模块化行情数据回放方法及回放系统 Active CN117827740B (zh)

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 CN117827740A (zh) 2024-04-05
CN117827740B true 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 (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017020607A1 (zh) * 2015-08-06 2017-02-09 中兴通讯股份有限公司 Rdp协议数据回放方法、服务器及系统
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 上海卡方信息科技有限公司 一种数据处理方法、装置、设备及可读存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7363368B2 (en) * 2001-12-24 2008-04-22 International Business Machines Corporation System and method for transaction recording and playback
US8346646B2 (en) * 2008-11-20 2013-01-01 Advanced Intellectual Property Group, Llc Financial market replicator and simulator
US20180114269A1 (en) * 2016-10-24 2018-04-26 Trade Off, LLC Accelerated streaming price chart data for trading competitions

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017020607A1 (zh) * 2015-08-06 2017-02-09 中兴通讯股份有限公司 Rdp协议数据回放方法、服务器及系统
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)

* Cited by examiner, † Cited by third party
Title
生产原型交易回放测试设计及实践;曾立环;;中国金融电脑;20160507(第05期);41-50 *

Also Published As

Publication number Publication date
CN117827740A (zh) 2024-04-05

Similar Documents

Publication Publication Date Title
US10649927B2 (en) Dual in-line memory module (DIMM) programmable accelerator card
US11604605B2 (en) Memory controller
WO2020028594A9 (en) Storage edge controller with a metadata computational engine
DE102009043411B4 (de) Bereitstellen eines Zurückstellungsmechanismus für "gepostete" Interrupt-Transaktionen
US20080005484A1 (en) Cache coherency controller management
US20130219148A1 (en) Network on chip processor with multiple cores and routing method thereof
CN109558373B (zh) 一种高效能融合服务器
CN104954795A (zh) 一种基于jpeg2000的图像采集传输系统
US20230017643A1 (en) Composable infrastructure enabled by heterogeneous architecture, delivered by cxl based cached switch soc
KR20140084155A (ko) 네트워크 프로세서에서의 멀티-코어 상호접속
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) 一种联邦学习数据传输方法、计算机设备、系统及存储介质
US6970978B1 (en) System and method for providing a pre-fetch memory controller
CN117827740B (zh) 一种基于fpga的模块化行情数据回放方法及回放系统
US7000041B2 (en) Method and an apparatus to efficiently handle read completions that satisfy a read request
US20140164553A1 (en) Host ethernet adapter frame forwarding
US11847049B2 (en) Processing system that increases the memory capacity of a GPGPU
US20230041362A1 (en) Memory Controller with Programmable Atomic Operations
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
CN105718393A (zh) 用于网络接口芯片的寄存器多源访问调度方法及装置
CN106911715B (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