System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及证券行业行情数据解析加速领域,具体涉及一种基于fpga的模块化行情数据回放方法及回放系统。
技术介绍
1、fpga,是field programmable gate array的简称,中文名称为现场可编程门阵列,是一种可编程器件,是在pal(可编程逻辑阵列)、gal(通用阵列逻辑)、cpld(复杂可编程逻辑器件)等传统逻辑电路和门阵列的基础上发展起来的一种半定制电路,既解决了半定制电路的不足,又克服了原有可编程器件门电路数有限的缺点,其计算存储、算法加速和低延时传输等方面的独特优势在金融领域有着深入的技术应用价值。
2、目前在金融证券行业,行情数据都具有速率高,吞吐量大,颗粒大的特点因此行情数据在回放过程中,为了能快速完成系统验证测试,经常需要对数据进行倍速加速进程,但是由于cpu对这些数据的调度策略设计,其倍速的速度有限,每一次完整的测试依然需要花费大量的时间。同时数据回放需要进行大量复杂的系统配置,导致需要花费大量的时间完成重复的任务。因此需要一种模块化的硬件设计,实现高速的数据回放,加快系统验证测试的过程,同时减少多余的系统配置开销。
技术实现思路
1、本专利技术要解决的技术问题是提供一种基于fpga的模块化行情数据回放方法及回放系统,实现了对行情数据的高速回放以及模块化设计,采用pcie获取来自服务器的缓存行情数据,并预缓存到hbm中。在处理过程中,同样采用预取数据的策略,轮询控制模块的时间关系,根据系统配置,将行情数据以一定的速率发送并将数据以t
2、为解决上述技术问题,本专利技术的实施例提供一种基于fpga的模块化行情数据回放方法,包括如下步骤:
3、s1、fpga的pcie驱动获取服务器指定内存地址存放的行情数据,并搬移进超级逻辑域,然后根据映射关系将数据分为行情数据和控制数据;
4、s2、行情数据预先缓存至fpga中的片上存储hbm,等待数据处理;控制数据通过轻量级axi协议转换模块转换为axi_lite协议交由控制模块进行时间关系和倍数的处理;
5、s3、处理模块中的预取模块根据处理模块状态进行预测,并通过片上存储映射模块将来自片上高速存储hbm的行情数据进行预取值,提取行情数据的时间信息;处理模块中的比较模块将来自控制模块的控制信号与行情数据的时间信息进行比对;
6、s4、若步骤s3的比对结果符合倍速要求,阻塞缓存模块停止阻塞,将行情数据发送至订阅模块准备下一步的过滤;如果不符合倍速要求,阻塞缓存模块进行阻塞,直到控制信号的到来;
7、s5、订阅模块根据来自tcp的订阅信息和来自上游的pcie控制信息中的其一,对到来的行情数据进行过滤;若数据标签符合下游服务器的要求,通过网络模块将该行情数据输出;若数据标签不符合下游服务器的要求,直接将该行情数据丢弃,等待下一个行情数据。
8、其中,步骤s3中,行情数据在通过片上高速存储hbm发送至预取模块时,将其数据协议转换为axis的协议。
9、其中,步骤s2中,片上高速存储hbm中的行情数据以数组形式存储。
10、其中,步骤s4中的倍速要求包括:当前的行情数据的时间标签是否小于倍速下的时间差,如果小于,则意味着这段时间内需要将这个行情数据发出,否则就要进行阻塞。
11、其中,步骤s5中,订阅模块需要同时处理来自上游的行情数据和下游的订阅信息,并将符合要求的行情数据进行基于tcp的报文分割。
12、本专利技术还提供一种基于fpga的模块化行情数据回放系统,包括:
13、pcie,用于获取服务器指定内存地址存放的行情数据,并将行情数据搬移进超级逻辑域 (slr 0);
14、超级逻辑域 (slr 0),根据映射关系将数据分为行情数据和控制数据;
15、片上高速存储hbm,用于缓存行情数据;
16、轻量级axi协议转换模块,将控制数据转换为axi_lite协议交由控制模块进行时间关系和倍数的处理,得到控制信号;
17、预取模块,预提取缓存于片上高速存储hbm内的行情数据的时间信息;
18、比较模块,将行情数据的时间信息与控制信号进行比对;
19、阻塞缓存模块,对符合倍速要求的行情数据停止阻塞,并将行情数据发送至订阅模块;对不符合倍速要求的行情数据进行阻塞;
20、订阅模块,根据来自tcp的订阅信息和来自上游的pcie控制信息中的其一,对行情数据进行过滤,若数据标签符合下游服务器的要求,通过网络模块将该行情数据输出;若数据标签不符合下游服务器的要求,直接将该行情数据丢弃,等待下一个行情数据。
21、本专利技术还提供一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机指令,当其在计算机上运行时,使得计算机可以执行上述的基于fpga的模块化行情数据回放方法。
22、本专利技术的上述技术方案的有益效果如下:
23、本专利技术提供一种基于fpga的模块化行情数据回放方法及回放系统,采用xilinx-alveo u系列的fpga硬件加速卡,结合verilog硬件描述语言与hls硬件描述语言,在fpga加速卡上开发了一种模块化的高速数据回放,对高吞吐的行情数据的倍速过程进行一定的优化,设计了针对高吞吐行情数据的预存储策略和预测调度策略,降低cpu负载的同时,实现fpga直接在服务器上就可以完成高速的数据回放。
本文档来自技高网...【技术保护点】
1.一种基于FPGA的模块化行情数据回放方法,其特征在于,包括如下步骤:
2.根据权利要求1所述的基于FPGA的模块化行情数据回放方法,其特征在于,步骤S3中,行情数据在通过片上高速存储HBM发送至预取模块时,将其数据协议转换为AXIS的协议。
3.根据权利要求1所述的基于FPGA的模块化行情数据回放方法,其特征在于,步骤S2中,片上高速存储HBM中的行情数据以数组形式存储。
4.根据权利要求1所述的基于FPGA的模块化行情数据回放方法,其特征在于,步骤S4中的倍速要求包括:根据前后行情数据的时间差,与fpga根据倍速数值计算的时间差进行比较,如果小于,则需要将这个行情数据发出,否则进行阻塞。
5.根据权利要求1所述的基于FPGA的模块化行情数据回放方法,其特征在于,步骤S5中,订阅模块同时处理来自上游的行情数据和下游的订阅信息,并将符合下游服务器的要求的行情数据进行基于TCP的报文分割。
6.一种基于FPGA的模块化行情数据回放系统,其特征在于,包括:
7.一种计算机可读存储介质,其特征在于,所述计算机可读
...【技术特征摘要】
1.一种基于fpga的模块化行情数据回放方法,其特征在于,包括如下步骤:
2.根据权利要求1所述的基于fpga的模块化行情数据回放方法,其特征在于,步骤s3中,行情数据在通过片上高速存储hbm发送至预取模块时,将其数据协议转换为axis的协议。
3.根据权利要求1所述的基于fpga的模块化行情数据回放方法,其特征在于,步骤s2中,片上高速存储hbm中的行情数据以数组形式存储。
4.根据权利要求1所述的基于fpga的模块化行情数据回放方法,其特征在于,步骤s4中的倍速要求包括:根据前后行情数据的时间差,与fpga根据倍速数值计...
【专利技术属性】
技术研发人员:崔建军,高伟峻,王洪旺,房俊,朱清文,
申请(专利权)人:上海特高信息技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。