掌桥专利:专业的专利平台
掌桥专利
首页

一种基于FPGA的信息管理装置

文献发布时间:2023-06-19 13:26:15


一种基于FPGA的信息管理装置

技术领域

本发明涉及FPGA领域,特别是涉及一种基于FPGA的信息管理装置。

背景技术

用户在进行股票交易前通常需要参考整个市场上的交易行情来进行决策,例如可以参考股价走势图来进行决策等,然而股价走势毕竟仅仅是整个市场交易行情的一个方面,现有技术中缺少此类的信息管理方法来为用户展现更多能够反映市场交易行情的参考信息,从而导致用户在股票交易前可参考的信息有限,用户体验较差。

因此,如何提供一种解决上述技术问题的方案是本领域技术人员目前需要解决的问题。

发明内容

本发明的目的是提供一种基于FPGA的信息管理装置,可以对指定证券交易所中当前各个价格档位的委托交易总数量进行更新,最终汇总成最新的全局委托信息表,并且由于本申请应用于处理速度较快的FPGA中,因此保障了全局委托信息表中信息的实时性。

为解决上述技术问题,本发明提供了一种基于FPGA的信息管理装置,包括:

数据解析模块,用于对指定证券交易所发送的行情报文进行解析,得到最新的股票委托交易订单以及最新的股票成交订单;

档位数据处理模块,用于根据所述股票委托交易订单以及所述股票成交订单,对所述指定证券交易所中当前各个价格档位的委托交易总数量进行更新,以得到由最新的各个价格档位的所述委托交易总数量组成的全局委托信息表;

信息输出模块,用于输出最新的所述全局委托信息表。

优选地,所述数据解析模块包括:

网络协议处理模块,用于对指定证券交易所发送的行情报文进行传输协议解析;

数据协议处理模块,用于对经过传输协议解析的所述行情报文进行数据协议解析,得到最新的股票委托交易订单以及最新的股票成交订单。

优选地,所述档位数据处理模块包括:

筛选模块,从最新的股票委托交易订单以及最新的股票成交订单中,筛选得到预设证券集合中的各指定证券对应的股票委托交易订单以及股票成交订单;

第一存储模块,用于存储筛选得到的所述股票委托交易订单;

匹配模块,用于从所述第一存储模块中匹配得到筛选后的所述股票成交订单对应的所述股票委托交易订单,并确定出所述股票成交订单中的成交数量;

报文调度模块,用于将筛选后的所述股票委托交易订单、匹配得到的所述股票委托交易订单及其对应的所述成交数量,发送至主控模块;

所述主控模块,用于根据所述报文调度模块发送的数据对全局委托信息表进行更新;

其中,所述全局委托信息表包括委托购入信息表以及委托售出信息表,每个所述信息表中均包含各个委托价格档位及其对应的市场当前委托数量。

优选地,所述主控模块包括:

控制模块,用于确定出筛选后的所述股票委托交易订单的委托类型、委托价格以及期望交易数量,并确定出匹配得到的所述股票委托交易订单的委托类型、委托价格以及已交易数量;

排序模块,用于判断筛选后的所述股票委托交易订单的委托类型对应的全局委托信息表内是否存在与其委托价格相同的价格档位;

若存在,则将所述期望交易数量添加至与所述委托价格相同的价格档位的委托交易总数量;

若不存在,则将筛选后的所述股票委托交易订单的委托价格作为新的价格档位添加至所述委托类型对应的全局委托信息表中,并将所述期望交易数量作为新添加的所述价格档位初始的委托交易总数量;

所述排序模块还用于根据将匹配得到的所述股票委托交易订单的委托类型对应的所述全局委托信息表中,匹配得到的所述股票委托交易订单的委托价格对应的价格档位的数量减去所述已交易数量;

第二存储模块,用于按照在自身内部每个存储地址对应存储所述全局委托信息表中多个所述价格档位的委托交易总数量的方式,存储所述全局委托信息表;

其中,委托类型包括委托购入以及委托售出。

优选地,所述第二存储模块具体用于:

以在自身内部每个存储地址对应存储所述全局委托信息表中多个所述价格档位的委托交易总数量的方式,按照价格由高到低的顺序排列存储所述委托购入信息表,并按照价格由低到高的顺序排列存储所述委托售出信息表。

优选地,所述数据协议处理模块包括:

缓存模块,用于对经过传输协议解析的所述行情报文进行缓存;

数据处理单元,用于对所述模块中的所述行情报文进行数据协议解析,得到最新的股票委托交易订单以及最新的股票成交订单。

优选地,所述缓存模块为先进先出存储器FIFO。

优选地,所述筛选模块为CAM筛选表。

优选地,所述第二存储模块为RAM。

优选地,所述第一存储模块为Cache存储器。

本发明提供了一种基于FPGA的信息管理装置,考虑到广大用户的委托信息汇聚起来后可以从宏观的角度分析整个市场上用户的全局委托信息,因此本申请中可以基于从指定证券交易所发送的行情报文得到的最新的股票委托交易订单以及最新的股票成交订单,对指定证券交易所中当前各个价格档位的委托交易总数量进行更新,最终汇总成最新的全局委托信息表,如此一来,用户便可以参考最新的各个价格档位的委托交易总数量进行决策,提升了用户体验,其次,由于本申请应用于处理速度较快的FPGA中,因此保障了全局委托信息表中信息的实时性。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明提供的一种基于FPGA的信息管理装置的结构示意图;

图2为本发明提供的另一种基于FPGA的信息管理装置的结构示意图。

具体实施方式

本发明的核心是提供一种基于FPGA的信息管理装置,可以对指定证券交易所中当前各个价格档位的委托交易总数量进行更新,最终汇总成最新的全局委托信息表,并且由于本申请应用于处理速度较快的FPGA中,因此保障了全局委托信息表中信息的实时性。

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参考图1,图1为本发明提供的一种基于FPGA的信息管理装置的结构示意图,该基于FPGA的信息管理装置包括:

数据解析模块11,用于对指定证券交易所发送的行情报文进行解析,得到最新的股票委托交易订单以及最新的股票成交订单;

档位数据处理模块12,用于根据股票委托交易订单以及股票成交订单,对指定证券交易所中当前各个价格档位的委托交易总数量进行更新,以得到由最新的各个价格档位的委托交易总数量组成的全局委托信息表;

信息输出模块13,用于输出最新的全局委托信息表。

具体的,考虑到如上背景技术中的技术问题,又结合考虑到广大用户的委托信息汇聚起来后可以从宏观的角度分析整个市场上用户的全局委托信息,因此本申请中欲计算指定证券交易所最新的各个价格档位的委托交易总数量汇总而成的全局委托信息表,并将其输出提示出来,以便用户参考最新的各个价格档位的委托交易总数量进行决策,因此本申请中首先需要获取指定证券交易所发送的行情报文进行解析,得到最新的股票委托交易订单以及最新的股票成交订单,其可以作为后续步骤的数据基础。

具体的,由于最新的股票委托交易订单新增了委托交易数量,而最新的股票成交订单可能与已存在的委托交易订单相关,因此可以基于最新的股票成交订单对相应的委托交易数量进行削减,因此本步骤中可以基于前述步骤获得的股票委托交易订单以及股票成交订单对指定证券交易所中当前各个价格档位的委托交易总数量进行更新,以得到由最新的各个价格档位的委托交易总数量组成的全局委托信息表,该表中的内容便反映了指定证券交易所当前各个价格档位的委托交易总数量,对于用户来说具有较大参考价值。

具体的,为了便于用户在第一时间获取全局委托信息表中的各项数据,本发明实施例中可以将最新的全局委托信息表输出至提示器,以便提示器提示最新的全局委托信息表,从而提高了数据的实时性并进一步地提升用户体验。

其中,提示器可以为多种类型,例如可以为显示器等,本发明实施例在此不做限定。

具体的,考虑到基于CPU中软件方式进行处理所存在的延时高以及效率低等问题,本发明实施例应用于处理速度较快的FPGA(Field Programmable Gate Array,现场可编程逻辑门阵列)中,因此可以降低延迟,提高数据处理速度,保障了全局委托信息表中信息的实时性。

当然,除了FPGA外,本申请还可以应用于其他类型的处理器中,本发明实施例在此不做限定。

本发明提供了一种基于FPGA的信息管理装置,考虑到广大用户的委托信息汇聚起来后可以从宏观的角度分析整个市场上用户的全局委托信息,因此本申请中可以基于从指定证券交易所发送的行情报文得到的最新的股票委托交易订单以及最新的股票成交订单,对指定证券交易所中当前各个价格档位的委托交易总数量进行更新,最终汇总成最新的全局委托信息表,如此一来,用户便可以参考最新的各个价格档位的委托交易总数量进行决策,提升了用户体验,其次,由于本申请应用于处理速度较快的FPGA中,因此保障了全局委托信息表中信息的实时性。

为了更好地对本发明实施例进行说明,请参考图2,图2为本发明提供的另一种基于FPGA的信息管理装置的结构示意图,在上述实施例的基础上:

作为一种优选的实施例,数据解析模块11包括:

网络协议处理模块,用于对指定证券交易所发送的行情报文进行传输协议解析;

数据协议处理模块,用于对经过传输协议解析的行情报文进行数据协议解析,得到最新的股票委托交易订单以及最新的股票成交订单。

具体的,对于行情报文可以进行传输协议以及数据协议的两层解析,之后便可以获取到最新的股票委托交易订单以及最新的股票成交订单。

具体的,本发明实施例中的一种具体的实施例可以为:

深市行情数据信息通过行情网关将信息通过10G光纤接口接入FPGA(也即基于FPGA的信息管理装置)中,在FPGA中的更新后的全局委托信息表,最后可以通过10g mac接口或PCIE(Peripheral Component Interconnect Express)接口上传到主机host端。

其中,主要步骤和处理如下:

(1)FPGA的mac接口,接收来自交易网关传输的行情报文,FPGA中的网络协议处理模块对行情报文的传输协议解析工作,其中包括数据链路层的解析、网络层的解析,将TCP(Transmission Control Protocol,传输控制协议)的有效信息取出存放在缓存中。

(2)数据协议(例如binary协议)解析模块,将数据从缓存中取出,按照深交所提供的binary标准协议格式进行协议解析工作,同时对大量种类行情信息进行甄别和筛选工作,筛选出交易方感兴趣的交易类型,在该项目中,我们筛选出的行情信息类别为:逐笔成交以及逐笔委托两类信息,其中,逐笔成交展示市场中当前时刻的逐笔成交相关数据、包括股票名称、数量、成交价格等信息;逐笔委托展示市场中当前时刻的逐笔委托相关数据、包括股票名称、买卖类型、数量等信息。

作为一种优选的实施例,档位数据处理模块12包括:

筛选模块,从最新的股票委托交易订单以及最新的股票成交订单中,筛选得到预设证券集合中的各指定证券对应的股票委托交易订单以及股票成交订单;

第一存储模块,用于存储筛选得到的股票委托交易订单;

匹配模块,用于从第一存储模块中匹配得到筛选后的股票成交订单对应的股票委托交易订单,并确定出股票成交订单中的成交数量;

报文调度模块,用于将筛选后的股票委托交易订单、匹配得到的股票委托交易订单及其对应的成交数量,发送至主控模块;

主控模块,用于根据报文调度模块发送的数据对全局委托信息表进行更新;

其中,全局委托信息表包括委托购入信息表以及委托售出信息表,每个信息表中均包含各个委托价格档位及其对应的市场当前委托数量。

具体的,可以利用筛选模块对数据协议处理模块得到最新的股票委托交易订单以及最新的股票成交订单进行进一步的筛选工作,例如可以将重点关注的预设证券集合中的各指定证券对应的股票委托交易订单以及股票成交订单筛选出来,例如得到重点关注的若干(例如512)支股票的逐笔成交以及逐笔委托数据,以便满足需求。

具体的,第一存储模块可以将筛选得到的股票委托交易订单存储起来,以便后续调用,例如可以利用其对全局委托信息表进行更新。

具体的,考虑到若想利用股票成交订单对全局委托信息表进行更新,则需要找到其对应的之前存储的股票委托交易订单,并按照该股票成交订单中的成交数量,对其对应的股票委托交易订单中的委托数量进行相应的减少,因此本发明实施例总可以利用匹配模块完成这项匹配工作。

具体的,在得到筛选后的股票委托交易订单、匹配得到的股票委托交易订单及其对应的成交数量后,报文调度模块便可以将其传输至主控模块,以便主控模块根据报文调度模块发送的数据对全局委托信息表进行更新,从而完成对于全局委托信息表的更新维护。

作为一种优选的实施例,主控模块包括:

控制模块,用于确定出筛选后的股票委托交易订单的委托类型、委托价格以及期望交易数量,并确定出匹配得到的股票委托交易订单的委托类型、委托价格以及已交易数量;

排序模块,用于判断筛选后的股票委托交易订单的委托类型对应的全局委托信息表内是否存在与其委托价格相同的价格档位;

若存在,则将期望交易数量添加至与委托价格相同的价格档位的委托交易总数量;

若不存在,则将筛选后的股票委托交易订单的委托价格作为新的价格档位添加至委托类型对应的全局委托信息表中,并将期望交易数量作为新添加的价格档位初始的委托交易总数量;

排序模块还用于根据将匹配得到的股票委托交易订单的委托类型对应的全局委托信息表中,匹配得到的股票委托交易订单的委托价格对应的价格档位的数量减去已交易数量;

第二存储模块,用于按照在自身内部每个存储地址对应存储全局委托信息表中多个价格档位的委托交易总数量的方式,存储全局委托信息表;

其中,委托类型包括委托购入以及委托售出。

具体的,本发明实施例中的控制模块可以确定出筛选后的股票委托交易订单的委托类型、委托价格以及期望交易数量,并确定出匹配得到的股票委托交易订单的委托类型、委托价格以及已交易数量,以便作为后续模块的数据基础。

其中,排序模块则可以根据筛选后的股票委托交易订单的委托类型、委托价格以及期望交易数量快速的对全局委托信息表进行更新,并可以根据匹配得到的股票委托交易订单的委托类型、委托价格以及已交易数量(也即前述的股票成交订单中的成交数量)对全局委托信息表进行更新,不同的是前者做加法,而后者做减法。

具体的,本发明实施例中的主控模块具有构造简单以及效率高的特点。

当然,除了该具体构造外,主控模块的具体构造还可以为其他多种类型,本发明实施例在此不做限定。

作为一种优选的实施例,第二存储模块具体用于:

以在自身内部每个存储地址对应存储全局委托信息表中多个价格档位的委托交易总数量的方式,按照价格由高到低的顺序排列存储委托购入信息表,并按照价格由低到高的顺序排列存储委托售出信息表。

具体的,为了提高数据传输效率,本发明实施例可以在第二存储模块一个存储地址中存储多个价格档位的委托交易总数量,因此在数据调用时,一次数据调用动作便可以从单个存储地址中获取多个价格档位的信息,提高了数据传输效率。

具体的,第二存储模块可以为RAM(RandomAccess Memory,随机存取存储器)。

具体的,根据RAM的特性,从RAM读出单个存储地址对应数据的操作需要一个周期cycle的时间,在项目中,若在每个存储地址仅存储一个价格档位对应的数据,那么如果需要遍历所有的价格档位则需要很长的时间,因为采用了由多块RAM组成的一个多bit的多控制端口的RAM组(第二存储模块),用来横向存储所有的价格档位及其委托交易总数量,这样因为有多端口的控制器可以同时控制专属的RAM块(第二存储模块),在可以降低延时的同时,也利于FPGA的后续的时序收敛。

具体的,第二存储模块的每个存储地址中最多可存储的价格档位的数量可以设置为统一的预设数量,例如可以为10个,那么在存储价格档位的过程中,可以按照各个价格档位在全局委托信息表中的顺序,按照每预设数量个价格档位一组将各个价格档位(及其对应的委托交易总数量)存储在一个存储地址中。

其中,委托购入类型的全局委托信息表中各项价格档位按照价格由高到低的顺序排列,委托售出类型的全局委托信息表中各项价格档位按照价格由低到高的顺序排列较为符合用户的关注度习惯,也即用户倾向于关注委托购入的最高价格,而倾向于关注委托售出的最低价格。

具体的,前述的判断筛选后的股票委托交易订单的委托类型对应的全局委托信息表内是否存在与其委托价格相同的价格档位具体可以为:

从第二存储模块中的筛选后的股票委托交易订单的委托类型对应的全局委托信息表的第指定次序个存储地址中读取价格档位的信息;

判断本次读取到的所有价格档位的信息中,是否存在与委托价格相同的价格档位;

若存在,则判定委托类型对应的全局委托信息表内存在与委托价格相同的价格档位并将指定次序恢复初始值1;

若不存在,则判断当前的指定次序是否为存在价格档位的存储地址对应次序中的最大者;

若不是,则将指定次序加一并执行从第二存储模块中的筛选后的股票委托交易订单的委托类型对应的全局委托信息表的第指定次序个存储地址中读取价格档位的信息的步骤;

若是,则判定筛选后的股票委托交易订单的委托类型对应的全局委托信息表内不存在与委托价格相同的价格档位。

作为一种优选的实施例,数据协议处理模块包括:

缓存模块,用于对经过传输协议解析的行情报文进行缓存;

数据处理单元,用于对模块中的行情报文进行数据协议解析,得到最新的股票委托交易订单以及最新的股票成交订单。

具体的,为了防止缓存模块前后两端的数据处理速度的差异带来的数据丢失的问题,可以通过缓存模块在中间对数据进行缓存。

其中,同样可以在筛选模块与报文调度模块之间以及第一存储模块与报文调度模块之间设置缓存模块,进一步的防止数据丢失。

作为一种优选的实施例,缓存模块为FIFO(First Input First Output,先进先出存储器)。

具体的,FIFO具有灵活、方便以及高效的优点。

当然,除了FIFO外,缓存模块还可以为其他类型,本发明实施例在此不做限定。

作为一种优选的实施例,筛选模块为CAM筛选表。

具体的,CAM筛选表具有结构简单以及效率高等优点。

当然,除了CAM筛选表外,筛选模块还可以为其他类型,本发明实施例在此不做限定。

作为一种优选的实施例,第二存储模块为RAM。

具体的,RAM具有传输速度快以及体积小等优点。

当然,除了RAM外,第二存储模块还可以为其他类型,本发明实施例在此不做限定。

作为一种优选的实施例,第一存储模块为Cache存储器。

具体的,考虑到DDR(Double Data Rate,双倍数据速率)作为外部缓存读写的时延较大,为此根据特性,进行了两种模式cache的设计,利用片内RAM读写时延小的特点,如果cache命中后,只需要5cycle就可以进行对比匹配结果,如果未命中,到DDR中进行匹配需要30cycle,从而有利于提高数据处理效率。

当然,除了Cache存储器外,第一存储模块还可以为其他多种类型,本发明实施例在此不做限定。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者设备中还存在另外的相同要素。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

相关技术
  • 一种基于FPGA的信息管理装置
  • 一种基于梯度的Bayer格式插值方法及基于FPGA的显示装置
技术分类

06120113677297