CN112291041A - 一种基于fpga的数据解码装置、方法 - Google Patents
一种基于fpga的数据解码装置、方法 Download PDFInfo
- Publication number
- CN112291041A CN112291041A CN202011139251.XA CN202011139251A CN112291041A CN 112291041 A CN112291041 A CN 112291041A CN 202011139251 A CN202011139251 A CN 202011139251A CN 112291041 A CN112291041 A CN 112291041A
- Authority
- CN
- China
- Prior art keywords
- data
- field
- module
- market
- market data
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0006—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/06—Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/26—Special purpose or proprietary protocols or architectures
Abstract
本申请公开了一种基于FPGA的数据解码装置、方法,所述装置包括网络协议处理模块、Binary协议解析模块和数据传输模块,其中,所述网络协议处理模块,用于基于网络行情数据包确定目标行情数据;所述Binary协议解析模块,用于确定所述目标行情数据中携带的信息类型,利用所述信息类型对应的状态机对所述目标行情数据进行解析,每解析出一个字段则将该字段传输至所述数据传输模块;所述数据传输模块,用于基于所述字段进行数据重组,以得到重组数据包,并将所述重组数据包传输至交易策略执行端。这样,能够降低数据解码的延时,从而保障交易策略执行端及时的接收到行情数据。
Description
技术领域
本申请涉及数据处理技术领域,特别涉及一种基于FPGA的数据解码装置、方法。
背景技术
在目前证券交易领域中,随着量化交易算法的出现,使得盈利的机会稍纵即逝。能够超低延迟的接收到交易所的行情信息,是目前所有的金融交易机构追求的目标。
目前,国内金融机构的交易系统大多是基于传统的通用CPU(即centralprocessing unit,中央处理器)架构的,受限于系统架构的原因,加速交易系统,降低交易延时存在瓶颈,很难满足于现在金融机构追寻的低延时交易的需求,延迟较大给目前兴起的各种算法交易、量化交易策略的执行,高延迟导致接收行情数据不及时,带来很多挂单却不能成交的问题,使用户错失盈利机会。
发明内容
有鉴于此,本申请的目的在于提供一种基于FPGA的数据解码装置、方法,能够降低数据解码的延时,从而保障交易策略执行端及时的接收到行情数据。其具体方案如下:
第一方面,本申请公开了一种基于FPGA的数据解码装置,包括网络协议处理模块、Binary协议解析模块和数据传输模块,其中,
所述网络协议处理模块,用于基于网络行情数据包确定目标行情数据;
所述Binary协议解析模块,用于确定所述目标行情数据中携带的信息类型,利用所述信息类型对应的状态机对所述目标行情数据进行解析,每解析出一个字段则将该字段传输至所述数据传输模块;
所述数据传输模块,用于基于所述字段进行数据重组,以得到重组数据包,并将所述重组数据包传输至交易策略执行端。
可选的,所述Binary协议解析模块,具体用于确定所述目标行情数据中拓展字段数据对应的行情条目类别,将不同所述行情条目类别对应的所述拓展字段数据分别利用不同的解析子模块进行并行解析。
可选的,所述解析子模块包括:
第一预设解析单元,用于解析第一预设级别的所述拓展字段数据;
第二预设解析单元,用于解析第二预设级别的所述拓展字段数据。
可选的,所述Binary协议解析模块,具体用于每解析出一个字段,则将该字段以结构体的形式传输至所述数据传输模块。
可选的,所述结构体包括解析出的所述字段以及该字段对应的有效标志。
可选的,所述Binary协议解析模块,具体用于确定所述目标行情数据中携带的信息类型以及长度信息,基于所述长度信息利用所述信息类型对应的状态机对所述目标行情数据进行解析。
可选的,所述网络协议处理模块,具体用于基于预设端口获取所述网络行情数据包,然后对所述网络行情数据包进行解析,确定出所述目标行情数据。
可选的,所述数据解码装置,还包括:
光模块,用于通过万兆光纤获取所述网络行情数据包。
第二方面,本申请公开了一种基于FPGA的数据解码方法,包括:
通过网络协议处理模块基于网络行情数据包确定目标行情数据;
通过Binary协议解析模块确定所述目标行情数据中携带的信息类型,利用所述信息类型对应的状态机对所述目标行情数据进行解析,每解析出一个字段则将该字段传输至所述数据传输模块;
通过数据传输模块基于所述字段进行数据重组,以得到重组数据包,并将所述重组数据包传输至交易策略执行端。
可选的,所述利用所述信息类型对应的状态机对所述目标行情数据进行解析,包括:
判断所述目标行情数据中拓展字段数据的行情条目类别,将不同所述行情条目类别对应的所述拓展字段数据分别利用不同的解析子模块进行并行解析。
可见,本申请公开的基于FPGA的数据解码装置,包括网络协议处理模块、Binary协议解析模块和数据传输模块,其中,所述网络协议处理模块,用于基于网络行情数据包确定目标行情数据;所述Binary协议解析模块,用于确定所述目标行情数据中携带的信息类型,利用所述信息类型对应的状态机对所述目标行情数据进行解析,每解析出一个字段则将该字段传输至所述数据传输模块;所述数据传输模块,用于基于所述字段进行数据重组,以得到重组数据包,并将所述重组数据包传输至交易策略执行端。这样,基于FPGA进行数据解码,具体的,通过Binary协议解析模块确定所述目标行情数据中携带的信息类型,利用信息类型对应的状态机对目标行情数据进行解析,每解析出一个字段则将该字段传输至数据传输模块,以便数据传输模块及时的基于所述字段进行数据重组,并将所述重组数据包传输至交易策略执行端,能够降低数据解码的延时,从而保障交易策略执行端及时的接收到行情数据。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的一种基于FPGA的数据解码装置结构示意图;
图2为本申请公开的一种具体的市场行情数据解析示意图;
图3为本申请公开的一种具体的基于FPGA的数据解码装置结构示意图;
图4为本申请公开的一种基于FPGA的数据解码方案实施架构图;
图5为本申请公开的一种具体的基于FPGA的数据解码方案实施架构图;
图6为本申请公开的一种软件解码和基于FPGA的解码方案解码时间比对示意图;
图7为本申请公开的一种基于FPGA的数据解码方法流程图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
目前,国内金融机构的交易系统大多是基于传统的通用CPU(即centralprocessing unit,中央处理器)架构的,受限于系统架构的原因,加速交易系统,降低交易延时存在瓶颈,很难满足于现在金融机构追寻的低延时交易的需求,延迟较大给目前兴起的各种算法交易、量化交易策略的执行,高延迟导致接收行情数据不及时,带来很多挂单却不能成交的问题,使用户错失盈利机会。为此,本申请提供了一种基于FPGA(即FieldProgrammable Gate Array,现场可编程与门阵列)的数据解码方案,能够降低数据解码的延时,从而保障交易策略执行端及时的接收到行情数据。
参见图1所示,本申请实施例公开了一种基于FPGA的数据解码装置,包括网络协议处理模块11、Binary协议解析模块12和数据传输模块13,其中,
所述网络协议处理模块11,用于基于网络行情数据包确定目标行情数据;
所述Binary协议解析模块12,用于确定所述目标行情数据中携带的信息类型,利用所述信息类型对应的状态机对所述目标行情数据进行解析,每解析出一个字段则将该字段传输至所述数据传输模块;
所述数据传输模块13,用于基于所述字段进行数据重组,以得到重组数据包,并将所述重组数据包传输至交易策略执行端。
在具体的实施方式中,所述Binary协议解析模块,具体用于确定所述目标行情数据中携带的信息类型以及长度信息,基于所述长度信息利用所述信息类型对应的状态机对所述目标行情数据进行解析。
其中,所述信息类型可以包括但不限于市场行情、指数行情、逐笔成交、逐笔委托等。以上四种类型数据是交易策略执行端主要的需求行情数据。
需要指出的,需要基于所述长度信息判断整帧的数据包。
并且,所述Binary协议解析模块,具体用于每解析出一个字段,则将该字段以结构体的形式传输至所述数据传输模块。其中,所述结构体包括解析出的所述字段以及该字段对应的有效标志。具体的,结构体中可以包括多bit组成的使能信号valid,每个bit代表一个字段,每解析出一个字段,则将所述使能信号中该字段对应bit位中的标志置为有效,输出对应的结构体。
这样,可以在第一时间将解析出来的字段送至数据传输模块,实现流水线操作,极大的降低行情数据解析的延迟。
进一步的,所述Binary协议解析模块,具体用于确定所述目标行情数据中拓展字段数据对应的行情条目类别,将不同所述行情条目类别对应的所述拓展字段数据分别利用不同的解析子模块进行并行解析。
并且,所述解析子模块包括:
第一预设解析单元,用于解析第一预设级别的所述拓展字段数据;
第二预设解析单元,用于解析第二预设级别的所述拓展字段数据。
表1
信息级别 | 域名 | 字段描述 |
1 | Standard Header | 消息头 |
1 | Orig Time | 数据生成时间 |
1 | ChangelNo | 频道代码 |
1 | MDStreamID | 行情代码 |
1 | … | … |
1 | TotalValue Trade | 成交总金额 |
1 | Extend Fields | 各业务拓展字段 |
表2
需要指出的是,binary协议中,行情数据包括固有字段和拓展字段,拓展字段是根据实时交易信息可变长度的消息载体。以市场行情快照为例,表1、表2中为的深证证券交易所binary行情数据接口规范文档中提供的标准协议。表1为MDGW(即Market Data GateWay,行情网关)发布快照消息的定义。表2中包括各拓展字段含义。
表1和表2中展示的为binary协议中300111市场行情快照协议,其中一帧数据中,所包含的信息级别可分为三类,其中,级别1为固有字段,级别2、级别3为拓展字段,每一帧行情信息中拓展字段会根据实时行情来确认是否需要。其中级别1的最后一条行情条目个数决定级别2的信息有多少条,级别2中价位总委托笔数来确定级别3的信息有多少条。也即,一帧协议中存在级别1信息、N个级别2信息、M个级别3信息。
在具体的实施方式中,300111市场行情中级别2的拓展字段中包含21种行情条目类型,可以在RTL解析设计中,并行例化21个子模块,分别承接21类型行情的解析工作。监控到不同类型的行情信息则进入对应的行情解析模块。同时在级别2的信息中,买入卖出的行情信息中同时包含着级别3信息委托数量,在RTL设计中,在级别2买入和卖出解析模块中,再嵌入委托笔数的解析单元。这样使得整个解析的流程是整体并行执行。可以完成binary协议的信息即到即解,不需将行情网络数据进行缓存,流水线型解析行情数据,进而将所需行情数据送入到交易策略执行端,执行策略,超低延时完成策略,进而完成交易和盈利。
也即,本实施例中,所述解析子模块可以包括:第一预设解析单元,用于解析2级拓展字段数据;第二预设解析单元,用于解析3级拓展字段数据。
例如,参见图2所示,图2为本申请公开的一种具体的市场行情数据解析示意图,例化21个解析子模块,在买入和卖出数据的模块中嵌入3级信息的解析单元,解析3级信息。
需要指出的是,目前沪深交易所发布的行情数据,现在业内多是采用基于传统通用CPU的软件进行解码,提供行情服务。这其中需CPU参与到行情网络数据的接收、解析、运算、反馈回交易所。Binary协议相对于step协议内容较为简单,压缩率低,易于解码。压缩率低导致数据长度相对较长,因此行情数据的延迟会增大。同时CPU同网络的直接交互,消耗更多的CPU资源,同时还带有较大延迟。限于CPU的系统架构,可优化的空间很少,优化难度较大。因此高延迟问题是软件解码的一个难以解决的短板。FPGA具有硬件可编程、低功耗、低延时的特性。FPGA寄存器级别的逻辑编程,能够灵活的适用于各类型协议定制、编解码等各种细颗粒度的工作中,因此,本申请实施例利用FPGA,能够降低数据解码的延时。
可见,本申请实施例公开的基于FPGA的数据解码装置,包括网络协议处理模块、Binary协议解析模块和数据传输模块,其中,所述网络协议处理模块,用于基于网络行情数据包确定目标行情数据;所述Binary协议解析模块,用于确定所述目标行情数据中携带的信息类型,利用所述信息类型对应的状态机对所述目标行情数据进行解析,每解析出一个字段则将该字段传输至所述数据传输模块;所述数据传输模块,用于基于所述字段进行数据重组,以得到重组数据包,并将所述重组数据包传输至交易策略执行端。这样,基于FPGA进行数据解码,具体的,通过Binary协议解析模块确定所述目标行情数据中携带的信息类型,利用信息类型对应的状态机对目标行情数据进行解析,每解析出一个字段则将该字段传输至数据传输模块,以便数据传输模块及时的基于所述字段进行数据重组,并将所述重组数据包传输至交易策略执行端,能够降低数据解码的延时,从而保障交易策略执行端及时的接收到行情数据。
参见图3所示,本申请实施例公开了一种具体的基于FPGA的数据解码装置,包括:
光模块21,用于通过万兆光纤获取所述网络行情数据包。
在具体的实施方式中,本实施例可以基于FPGA加速卡实现,通过万兆光纤通过光模块将网络行情数据包传输至FPGA数据解码装置。其中,网络行情数据包可以为TCP协议数据包。
网络协议处理模块22,用于基于网络行情数据包确定目标行情数据。
在具体的实施方式中,所述网络协议处理模块22具体用于基于预设端口获取所述网络行情数据包,然后对所述网络行情数据包进行解析,确定出所述目标行情数据。
Binary协议解析模块23,用于确定所述目标行情数据中携带的信息类型,利用所述信息类型对应的状态机对所述目标行情数据进行解析,每解析出一个字段则将该字段传输至所述数据传输模块。
数据传输模块24,用于基于所述字段进行数据重组,以得到重组数据包,并将所述重组数据包传输至交易策略执行端。
在具体的实施方式中,所述数据传输模块在向所述交易策略执行端传输重组数据包前,可以对所述重组数据包进行压缩,将压缩后的重组数据包传输至交易策略执行端。
例如,参见图4所示,图4为本申请实施公开的一种基于FPGA的数据解码方案实施架构示意图。网络行情数据包通过10G光模块进入FPGA解码装置,通过端口映射关系,获取并解析网络数据包,取出有效行情数据。将取出的有效数据送入binary协议解析模块,根据binary协议具体定义将深交所行情信息按需求解析。依据交易算法和策略需求,主要关心的行情数据集中在市场行情,指数行情、逐笔成交、逐笔委托四项行情数据。将解析完成的数据经过一定的压缩和储存逐步的送入交易策略执行端,交易策略执行端更快的收到行情数据,能够迅速的判断出是否符合算法的交易机会,进而更快的进行挂单交易,是用户把握交易机会,实现盈利。
例如,参见图5所示,图5为本申请实施例公开的一种具体的基于FPGA的数据解码方案实施架构图。binary协议解析模块,主要包括固有字段的解析及拓展字段解析,也即,binary协议解析模块包括固有字段解析子模块和拓展字段解析子模块,固有字段解析子模块用于解析固有字段,拓展字段解析子模块用于解析拓展字段。
需要指出的是,基于通用CPU的软件解码,TCP/IP协议是基于CPU软件实现的,而使用CPU进行TCP/IP协议栈处理,存在能力不强、效率不高的缺点,占用大量的CPU资源,浪费存储空间及产生大量功耗,使其性价比很低,影响性能,并且万兆以太网的带宽资源得不到充分的利用。
本实施例可以基于FPGA进行网络行情数据包解析,解析速度快,并且,充分利用万兆光纤的资源。在实施过程中,从深交所网络行情包通过万兆光纤进入光模块接口到binary协议解析模块开始数据解析共用时20cycle,主要用于TCP的解包工作。其中,主频250M,20cycle共耗时80ns,即可开始行情数据的解析。并且,向Binary协议解析模块发送binary行情网络包结束后4cycle内完成行情字段的解析工作,行情数据按照协议约定段使能信号组成行情解析字段结构体,进行后续数据处理传输。
例如,参见图6所示,图6为本申请实施例公开的一种软件解码和基于FPGA的解码方案解码时间比对示意图。从深交所前置机到行情策略执行端的延时,基于CPU的软件解码延时环节要大于5ms级别。其中网卡自身延时、CPU处理交互延时,均受限于系统架构问题,可优化的空间很小。同时行情解码软件的数据处理能力有限,在数据吞吐过高时,很难保证数据的实时性。
参见图7所示,本申请是实施例公开了一种基于FPGA的数据解码方法,包括:
步骤S11:通过网络协议处理模块基于网络行情数据包确定目标行情数据。
步骤S12:通过Binary协议解析模块确定所述目标行情数据中携带的信息类型,利用所述信息类型对应的状态机对所述目标行情数据进行解析,每解析出一个字段则将该字段传输至所述数据传输模块;
步骤S13:通过数据传输模块基于所述字段进行数据重组,以得到重组数据包,并将所述重组数据包传输至交易策略执行端。
在具体的实施方式中,所述利用所述信息类型对应的状态机对所述目标行情数据进行解析,包括:判断所述目标行情数据中拓展字段数据的行情条目类别,将不同所述行情条目类别对应的所述拓展字段数据分别利用不同的解析子模块进行并行解析。
并且,所述解析子模块包括:第一预设解析单元,用于解析第一预设级别的所述拓展字段数据;第二预设解析单元,用于解析第二预设级别的所述拓展字段数据。
在具体的实施方式中,通过第一预设解析单元解析第一预设级别的所述拓展字段数据;通过第二预设解析单元解析第二预设级别的所述拓展字段数据。
在具体的实施方式中,所述每解析出一个字段则将该字段传输至所述数据传输模块,包括:每解析出一个字段,则将该字段以结构体的形式传输至所述数据传输模块。
其中,所述结构体包括解析出的所述字段以及该字段对应的有效标志。
进一步的,所述通过Binary协议解析模块确定所述目标行情数据中携带的信息类型,利用所述信息类型对应的状态机对所述目标行情数据进行解析,包括:通过所述Binary协议解析模块确定所述目标行情数据中携带的信息类型以及长度信息,基于所述长度信息利用所述信息类型对应的状态机对所述目标行情数据进行解析。
并且,所述通过网络协议处理模块基于网络行情数据包确定目标行情数据,具体包括:通过所述网络协议处理模块基于预设端口获取所述网络行情数据包,然后对所述网络行情数据包进行解析,确定出所述目标行情数据。
所述方法还包括:利用光模块通过万兆光纤获取所述网络行情数据包。
可见,本申请实施例公开的基于FPGA的数据解码方法,先通过网络协议处理模块基于网络行情数据包确定目标行情数据,然后通过Binary协议解析模块确定所述目标行情数据中携带的信息类型,利用所述信息类型对应的状态机对所述目标行情数据进行解析,每解析出一个字段则将该字段传输至所述数据传输模块,之后通过数据传输模块基于所述字段进行数据重组,以得到重组数据包,并将所述重组数据包传输至交易策略执行端。这样,基于FPGA进行数据解码,具体的,通过Binary协议解析模块确定所述目标行情数据中携带的信息类型,利用信息类型对应的状态机对目标行情数据进行解析,每解析出一个字段则将该字段传输至数据传输模块,以便数据传输模块及时的基于所述字段进行数据重组,并将所述重组数据包传输至交易策略执行端,能够降低数据解码的延时,从而保障交易策略执行端及时的接收到行情数据。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的一种基于FPGA的数据解码装置、方法进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种基于FPGA的数据解码装置,其特征在于,包括网络协议处理模块、Binary协议解析模块和数据传输模块,其中,
所述网络协议处理模块,用于基于网络行情数据包确定目标行情数据;
所述Binary协议解析模块,用于确定所述目标行情数据中携带的信息类型,利用所述信息类型对应的状态机对所述目标行情数据进行解析,每解析出一个字段则将该字段传输至所述数据传输模块;
所述数据传输模块,用于基于所述字段进行数据重组,以得到重组数据包,并将所述重组数据包传输至交易策略执行端。
2.根据权利要求1所述的数据解码装置,其特征在于,所述Binary协议解析模块,具体用于确定所述目标行情数据中拓展字段数据对应的行情条目类别,将不同所述行情条目类别对应的所述拓展字段数据分别利用不同的解析子模块进行并行解析。
3.根据权利要求2所述的数据解码装置,其特征在于,所述解析子模块包括:
第一预设解析单元,用于解析第一预设级别的所述拓展字段数据;
第二预设解析单元,用于解析第二预设级别的所述拓展字段数据。
4.根据权利要求1所述的数据解码装置,其特征在于,所述Binary协议解析模块,具体用于每解析出一个字段,则将该字段以结构体的形式传输至所述数据传输模块。
5.根据权利要求4所述的数据解码装置,其特征在于,所述结构体包括解析出的所述字段以及该字段对应的有效标志。
6.根据权利要求1所述的数据解码装置,其特征在于,所述Binary协议解析模块,具体用于确定所述目标行情数据中携带的信息类型以及长度信息,基于所述长度信息利用所述信息类型对应的状态机对所述目标行情数据进行解析。
7.根据权利要求1所述的数据解码装置,其特征在于,所述网络协议处理模块,具体用于基于预设端口获取所述网络行情数据包,然后对所述网络行情数据包进行解析,确定出所述目标行情数据。
8.根据权利要求1至7任一项所述的数据解码装置,其特征在于,还包括:
光模块,用于通过万兆光纤获取所述网络行情数据包。
9.一种基于FPGA的数据解码方法,其特征在于,包括:
通过网络协议处理模块基于网络行情数据包确定目标行情数据;
通过Binary协议解析模块确定所述目标行情数据中携带的信息类型,利用所述信息类型对应的状态机对所述目标行情数据进行解析,每解析出一个字段则将该字段传输至所述数据传输模块;
通过数据传输模块基于所述字段进行数据重组,以得到重组数据包,并将所述重组数据包传输至交易策略执行端。
10.根据权利要求9所述的基于FPGA的数据解码方法,其特征在于,所述利用所述信息类型对应的状态机对所述目标行情数据进行解析,包括:
判断所述目标行情数据中拓展字段数据的行情条目类别,将不同所述行情条目类别对应的所述拓展字段数据分别利用不同的解析子模块进行并行解析。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011139251.XA CN112291041B (zh) | 2020-10-22 | 2020-10-22 | 一种基于fpga的数据解码装置、方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011139251.XA CN112291041B (zh) | 2020-10-22 | 2020-10-22 | 一种基于fpga的数据解码装置、方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112291041A true CN112291041A (zh) | 2021-01-29 |
CN112291041B CN112291041B (zh) | 2022-05-27 |
Family
ID=74423578
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011139251.XA Active CN112291041B (zh) | 2020-10-22 | 2020-10-22 | 一种基于fpga的数据解码装置、方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112291041B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113132478A (zh) * | 2021-04-16 | 2021-07-16 | 国泰君安证券股份有限公司 | 基于OpenCL实现证券交易系统中Binary协议行情加速解码的系统 |
CN115314570A (zh) * | 2022-10-12 | 2022-11-08 | 深圳华锐分布式技术股份有限公司 | 基于协议开发框架的数据下发方法、装置、设备及介质 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105654383A (zh) * | 2016-01-07 | 2016-06-08 | 中国科学院信息工程研究所 | 基于流水线架构的低时延fast行情解码装置和方法 |
CN105989538A (zh) * | 2015-07-28 | 2016-10-05 | 盛立金融软件开发(杭州)有限公司 | 一种金融产品自动交易系统及自动交易方法 |
CN108269188A (zh) * | 2016-12-30 | 2018-07-10 | 上海金融期货信息技术有限公司 | 一种基于fpga的交易所行情信息处理方法和系统 |
CN108683603A (zh) * | 2018-05-14 | 2018-10-19 | 广州经传多赢投资咨询有限公司 | 一种基于实时流压缩技术的高效二进制传输协议 |
CN109062574A (zh) * | 2018-07-11 | 2018-12-21 | 武汉灯塔之光科技有限公司 | 一种可扩展的证券行情数据传输显示方法及系统 |
CN109274747A (zh) * | 2018-09-29 | 2019-01-25 | 上海中畅信息科技有限公司 | 行情网关系统及其处理方法 |
CN109902274A (zh) * | 2019-02-22 | 2019-06-18 | 今天东翼科技有限公司 | 一种将json字符串转化为thrift二进制流的方法及系统 |
CN110517136A (zh) * | 2019-07-30 | 2019-11-29 | 上海兮通信息科技有限公司 | 一种证券行情加速处理方法及系统 |
CN110543510A (zh) * | 2019-09-05 | 2019-12-06 | 腾讯科技(深圳)有限公司 | 票据数据处理方法、装置、存储介质和计算机设备 |
CN111147462A (zh) * | 2019-12-17 | 2020-05-12 | 苏州浪潮智能科技有限公司 | 一种基于FPGA的step协议解析方法、系统、终端及存储介质 |
CN111488610A (zh) * | 2020-04-08 | 2020-08-04 | 北京瑞策科技有限公司 | 基于业务数据区块链的状态数据查询方法及装置 |
CN111695093A (zh) * | 2020-05-29 | 2020-09-22 | 平安科技(深圳)有限公司 | 基于iOS应用的加固方法、电子装置及存储介质 |
-
2020
- 2020-10-22 CN CN202011139251.XA patent/CN112291041B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105989538A (zh) * | 2015-07-28 | 2016-10-05 | 盛立金融软件开发(杭州)有限公司 | 一种金融产品自动交易系统及自动交易方法 |
CN105654383A (zh) * | 2016-01-07 | 2016-06-08 | 中国科学院信息工程研究所 | 基于流水线架构的低时延fast行情解码装置和方法 |
CN108269188A (zh) * | 2016-12-30 | 2018-07-10 | 上海金融期货信息技术有限公司 | 一种基于fpga的交易所行情信息处理方法和系统 |
CN108683603A (zh) * | 2018-05-14 | 2018-10-19 | 广州经传多赢投资咨询有限公司 | 一种基于实时流压缩技术的高效二进制传输协议 |
CN109062574A (zh) * | 2018-07-11 | 2018-12-21 | 武汉灯塔之光科技有限公司 | 一种可扩展的证券行情数据传输显示方法及系统 |
CN109274747A (zh) * | 2018-09-29 | 2019-01-25 | 上海中畅信息科技有限公司 | 行情网关系统及其处理方法 |
CN109902274A (zh) * | 2019-02-22 | 2019-06-18 | 今天东翼科技有限公司 | 一种将json字符串转化为thrift二进制流的方法及系统 |
CN110517136A (zh) * | 2019-07-30 | 2019-11-29 | 上海兮通信息科技有限公司 | 一种证券行情加速处理方法及系统 |
CN110543510A (zh) * | 2019-09-05 | 2019-12-06 | 腾讯科技(深圳)有限公司 | 票据数据处理方法、装置、存储介质和计算机设备 |
CN111147462A (zh) * | 2019-12-17 | 2020-05-12 | 苏州浪潮智能科技有限公司 | 一种基于FPGA的step协议解析方法、系统、终端及存储介质 |
CN111488610A (zh) * | 2020-04-08 | 2020-08-04 | 北京瑞策科技有限公司 | 基于业务数据区块链的状态数据查询方法及装置 |
CN111695093A (zh) * | 2020-05-29 | 2020-09-22 | 平安科技(深圳)有限公司 | 基于iOS应用的加固方法、电子装置及存储介质 |
Non-Patent Citations (2)
Title |
---|
邹经纬等: "基于OpenCL开发的深交所Binary协议行情解码", 《HTTPS://WWW.SOHU.COM/A/424357392_100006100》 * |
邹经纬等: "基于OpenCL开发的深交所Binary协议行情解码", 《HTTPS://WWW.SOHU.COM/A/424357392_100006100》, 13 October 2020 (2020-10-13), pages 2 - 3 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113132478A (zh) * | 2021-04-16 | 2021-07-16 | 国泰君安证券股份有限公司 | 基于OpenCL实现证券交易系统中Binary协议行情加速解码的系统 |
CN115314570A (zh) * | 2022-10-12 | 2022-11-08 | 深圳华锐分布式技术股份有限公司 | 基于协议开发框架的数据下发方法、装置、设备及介质 |
CN115314570B (zh) * | 2022-10-12 | 2023-01-03 | 深圳华锐分布式技术股份有限公司 | 基于协议开发框架的数据下发方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112291041B (zh) | 2022-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10963962B2 (en) | Offload processing of data packets containing financial market data | |
US10872078B2 (en) | Intelligent feed switch | |
US10650452B2 (en) | Offload processing of data packets | |
US11436672B2 (en) | Intelligent switch for processing financial market data | |
US20140180904A1 (en) | Offload Processing of Data Packets Containing Financial Market Data | |
CN112291041B (zh) | 一种基于fpga的数据解码装置、方法 | |
US20160379227A1 (en) | Fpga matrix architecture | |
US10296974B2 (en) | Methods and systems for monitoring market data to identify user defined market conditions | |
US20100241758A1 (en) | System and method for hardware accelerated multi-channel distributed content-based data routing and filtering | |
CN110517136A (zh) | 一种证券行情加速处理方法及系统 | |
CN105338061A (zh) | 一种轻量级消息中间件的实现方法与系统 | |
CN108306852B (zh) | 一种基于简单二进制编码的消息中间件系统和方法 | |
CN110708256B (zh) | Cdn调度方法、装置、网络设备及存储介质 | |
WO2013148693A1 (en) | Offload processing of data packets | |
CN111600915A (zh) | 一种证券行情tcp/ip报文快速处理装置和方法 | |
CN103380438A (zh) | 市场接入系统及方法 | |
CN101888303A (zh) | 网络流量信息的记录方法以及相关装置 | |
CN111832661B (zh) | 分类模型构建方法、装置、计算机设备及可读存储介质 | |
CN111861742A (zh) | 一种fpga平台及一种数据处理系统 | |
Kao et al. | An FPGA-based high-frequency trading system for 10 gigabit ethernet with a latency of 433 ns | |
CN111311405A (zh) | 一种数字经济风险管理评估系统 | |
AU2011201428B2 (en) | Single threaded system for matching, computation and broadcasting of market data for stock exchange | |
CN112019589B (zh) | 一种多层级负载均衡数据包处理方法 | |
CN110110081B (zh) | 用于移动互联网海量监测数据的分级分类处理方法及系统 | |
CN112910763B (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 |