本发明属于行情数据处理,具体涉及一种基于fpga的行情数据解析监测异构系统的解析方法。
背景技术:
1、fpga,是field programmable gate array的简称,中文名称为现场可编程门阵列,是一种可编程器件,是在pal(可编程逻辑阵列)、gal(通用阵列逻辑)、cpld(复杂可编程逻辑器件)等传统逻辑电路和门阵列的基础上发展起来的一种半定制电路,既解决了半定制电路的不足,又克服了原有可编程器件门电路数有限的缺点,其计算存储、算法加速和低延时传输等方面的独特优势在金融领域有着深入的技术应用价值。
2、目前在金融证券行业,行情数据的解析和监测任务一般依赖于传统的cpu,其一般会有更高的延时,在面对不同的行情源和数据类型,难以满足大量的数据解析和数据监测,无法及时提供相应服务器集群的响应情况,影响系统的及时决策。同样的,实时分析和处理的大量数据流也会对cpu带来较高的计算负载,是现有行情解析监测系统的痛点所在。
技术实现思路
1、本发明要解决的技术问题是提供一种基于fpga的行情数据解析监测异构系统及解析方法,在解析监控系统中实现对对应服务器集群的主站发送来的行情数据流进行监测和解析,满足对多种行情数据流实现多协议数据兼容和解析的同时,实现多种行情数据流类型的丢包和延时监测,最后还可以接受机组的pcie控制,实现对行情数据流的订阅和实时行情数据流传输。本发明可降低整个解析监控系统的响应延时,并及时返回警报,提高整个服务器集群的决策速度。
2、为解决上述技术问题,本发明的实施例提供一种基于fpga的行情数据解析监测异构系统的解析方法,包括如下步骤:
3、s1、10g网口接受来自多个主站的行情数据流,经过mac+pcs后,解析mac帧中的前导码,并将对应行情数据流的网络ip存储至ip寄存器
4、s2、网络标识模块对10g网口传送来的行情数据流采用ip寄存器中的网络ip进行打标;
5、s3、协议检测模块对打标后的行情数据流进行协议分析,根据预存在bram中的协议模板进行配对,分别分流至fast-step协议解析模块、step协议解析模块和其他协议解析模块;
6、s4、zip解压模块根据步骤s1中解析后的包头信息对step协议解析模块中的数据进行解压缩,将行情数据流解析为二进制形式;
7、s5、数据类型检测模块会对到来的二进制行情数据流进行数据类型分类,包括快照数据、逐笔数据和k线数据,对应分流至快照数据解析模块、逐笔数据解析模块和k线数据解析模块中进行数据解析,解析后行情数据流根据bram的数据模板进行配对,提取相应的时间字段、ip标识和序列字段;
8、s6、通过pcie获取系统时间,延时比较模块提取存储于bram内的时间字段,与系统时间进行延时运算,获得当前行情数据流与系统时间的时间差,然后通过pcie返回至提前映射好的服务器内存中,存储对应ip网络的数据延时;
9、s7、丢包比较模块根据到来的行情数据流类型,与额外的bram存储的前时间字段、前序列字段和前ip标识进行比较,完成丢包监测,判断行情数据流是否丢包;若丢包,通过pcie返回至提前映射好的服务器内存中,使得对应ip的数据类型丢包加1;
10、s8、利用pcie对订阅模块进行定制设计,选择订阅的行情数据流类型和行情数据流,订阅模块根据订阅端口和订阅行情类型,保留符合同一订阅行情类型的数据流,然后通过10g网口发送至实时解析行情模块进行数据解析,并将解析好的行情数据流实时发送至业务系统。
11、其中,步骤s7中,判断丢包的标准为:
12、对于快照数据,如果当前快照时间字段与前时间字段大于3s则认为是丢包,需要通过pcie返回至提前映射好的服务器内存中,使得对应ip的数据类型丢包加1;
13、对于逐笔数据,如果当前序列字段与前序列字段相差大于1,则认为是丢包,需要通过pcie返回至提前映射好的服务器内存中,使得对应ip的数据类型丢包加1;
14、对于k线数据,如果当前时间字段与前时间字段小于60s则认为是丢包,需要通过pcie返回至提前映射好的服务器内存中,使得对应ip的数据类型丢包加1。
15、其中,步骤s5中,当行情数据流更新时,需要额外的bram存储相同ip、相同数据类型的前一个行情数据流的字段信息,包括:前时间字段、前序列字段和前ip标识,用于步骤s7中的行情数据流丢包比较。
16、其中,基于fpga的行情数据解析监测异构系统包括:
17、行情源:向异构服务器发送tcp实时行情数据流;
18、异构服务器:负责对行情数据流进行解析和监控;
19、业务系统:综合异构服务器解析后的行情数据流,进行展示,并对出现问题的主站进行重启,切换线路并反馈至终端平台;
20、终端平台:展示行情数据流的信息,包括丢包情况、延时情况;
21、所述异构服务器包括多个服务器集群,每一服务器集群包含多个主站,主站接受来自行情源的数据,并将数据综合到异构服务器中。
22、本发明还提供一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机指令,当其在计算机上运行时,使得计算机执行上述的基于fpga的行情数据解析监测异构系统的解析方法。
23、本发明的上述技术方案的有益效果如下:
24、1、本发明提供一种基于fpga的行情数据解析监测异构系统及解析方法,在解析监控系统中实现对对应服务器集群的主站发送来的行情数据流进行监测和解析,满足对多种行情数据流实现多协议数据兼容和解析的同时,实现多种行情数据流类型的丢包和延时监测,最后还可以接受机组的pcie控制,实现对行情数据流的订阅和实时行情数据流传输。
25、2、本发明可降低整个解析监控系统的响应延时,并及时返回警报,提高整个服务器集群的决策速度。
1.一种基于fpga的行情数据解析监测异构系统的解析方法,其特征在于,包括如下步骤:
2.根据权利要求1所述的基于fpga的行情数据解析监测异构系统的解析方法,其特征在于,步骤s7中,判断丢包的标准为:
3.根据权利要求1所述的基于fpga的行情数据解析监测异构系统的解析方法,其特征在于,步骤s5中,当行情数据流更新时,需要额外的bram存储相同ip、相同数据类型的前一个行情数据流的字段信息,包括:前时间字段、前序列字段和前ip标识,用于步骤s7中的行情数据流丢包比较。
4.根据权利要求1所述的基于fpga的行情数据解析监测异构系统的解析方法,其特征在于,基于fpga的行情数据解析监测异构系统包括:
5.根据权利要求4所述的基于fpga的行情数据解析监测异构系统的解析方法,其特征在于,所述异构服务器包括多个服务器集群,每一服务器集群包含多个主站,主站接受来自行情源的数据,并将数据综合到异构服务器中。
6.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机指令,当其在计算机上运行时,使得计算机执行上述权利要求1-3中任一项所述的基于fpga的行情数据解析监测异构系统的解析方法。