CN113691532B - 基于fast协议的万兆通信数据的并行解析方法及装置 - Google Patents
基于fast协议的万兆通信数据的并行解析方法及装置 Download PDFInfo
- Publication number
- CN113691532B CN113691532B CN202110974929.4A CN202110974929A CN113691532B CN 113691532 B CN113691532 B CN 113691532B CN 202110974929 A CN202110974929 A CN 202110974929A CN 113691532 B CN113691532 B CN 113691532B
- Authority
- CN
- China
- Prior art keywords
- data
- parallel
- bitmap
- bytes
- fast protocol
- 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
Links
- 238000004458 analytical method Methods 0.000 title claims abstract description 17
- 238000004891 communication Methods 0.000 title claims abstract description 15
- 238000000034 method Methods 0.000 claims abstract description 8
- 230000009191 jumping Effects 0.000 claims description 12
- 230000001133 acceleration Effects 0.000 abstract description 6
- 230000005540 biological transmission Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
Classifications
-
- 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
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Communication Control (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
基于FAST协议的万兆通信数据的并行解析方法及装置,能够避免串行处理方式对数据延迟带来巨大的延迟,实现硬件并行加速,让客户以更快的方式获取交易所的第一手信息,抢占市场先机,为客户创造利润。用FPGA处理芯片搭建一个硬件并行处理系统,方法包括:(1)开始;(2)数据接收:以156.25M Hz的频率接收到16个字节的数据;(3)并行数据解码,并行流水作业方式以156.25M Hz的频率输出;(4)按FAST协议中位图的位置进行数据分配;(5)结束。
Description
技术领域
本发明涉及万兆以太网通信数据处理的技术领域,尤其涉及一种基于FAST协议的万兆通信数据的并行解析方法,以及一种基于FAST协议的万兆通信数据的并行解析装置。
背景技术
在金融市场中,越先到达交易所的订单越有可能交易成功。在这个背景下高频交易变得越来越流行。所以在电子金融数据传输途径中,延迟因素非常重要。FAST(FinancialInformation Exchange Adapted fpr Streaming)金融协议是高频交易的重要技术背景之一,它可以压缩金融数据,减少数据传输所需要的带宽和时间。
在高频交易系统中,时间就是金钱。交易所必须在第一时间内向客户传递市场的行情信息,此外对于客户的买卖请求,交易所也必须在第一时间给出回应。万兆以太网可以提高网络数据带宽,成为金融加速系统的一个环节。
目前使用的万兆以太网传输系统中,数据解析系统从万兆以太网是以156.25M的频率来接收16个字节的数据。加速处理器接收到数据后,先将接收到的数据进行缓存起来,然后再依照FAST协议数据格式(参照FAST 1.1规范文件),进行数据解码,然后再按着FAST协议内位图分配数据。流程图如图1。
图1中,数据解码子模块是将网络链路上接收到的数据按着FAST数据协议编码格式进行串行解码。按位图数据分配子模块是将已解码的数据按着位图协议进行分配至对应的数据位置。
数据解码子模块流程图如图2。
按位图数据分配子模块流程图如图3。假设位图内共有N位位图信息,位图内有效数据个数位M个。
在本解码方式下,处理器占用资源小,但是对于要求处理速度极快的金融行业,从收到数据至数据解码完成输出之间的延迟可达2至3微秒,如果处理器的运行速度较低的话,延迟时间可能会更长。
从万兆网以太网传输过来的数据单周期是16个字节,如果按着串行的方式去解析每次传输过来的数据,需要进行两次串行解析。
第一次串行解析需要固定的16个时钟周期,如果交易所的每条消息有K个时钟周期来完成传输,那么解析总延迟最少为K*16个时钟周期。并且浪费巨大的存储资源。
在解析完网络传输下来后,需要按串行方式对数据按着FAST协议中位图格式进行依次分配。如果该条消息内有Y个位图,则分配完所有数据需要Y个时钟周期。
所以在整个解析链中,解析一条完整的消息数据总共需要K*16+Y个时钟周期。
发明内容
为克服现有技术的缺陷,本发明要解决的技术问题是提供了一种基于FAST协议的万兆通信数据的并行解析方法,其能够避免串行处理方式对数据延迟带来巨大的延迟,实现硬件并行加速,让客户以更快的方式获取交易所的第一手信息,抢占市场先机,为客户创造利润。
本发明的技术方案是:这种基于FAST协议的万兆通信数据的并行解析方法,用FPGA处理芯片搭建一个硬件并行处理系统,其包括以下步骤:
(1)开始;
(2)数据接收:以156.25M Hz的频率接收到16个字节的数据;
(3)并行数据解码,并行流水作业方式以156.25M Hz的频率输出;
(4)按FAST协议中位图的位置进行数据分配;
(5)结束。
本发明用FPGA处理芯片搭建一个硬件并行处理系统,以156.25M Hz的频率接收到16个字节的数据,并行流水作业方式以156.25M Hz的频率输出,按FAST协议中位图的位置进行数据分配,因此能够避免串行处理方式对数据延迟带来巨大的延迟,实现硬件并行加速,让客户以更快的方式获取交易所的第一手信息,抢占市场先机,为客户创造利润。
还提供了一种基于FAST协议的万兆通信数据的并行解析装置,用FPGA处理芯片搭建一个硬件并行处理系统,其包括:
数据接收模块,其配置来以156.25M Hz的频率接收到16个字节的数据;
解码模块,其配置来进行并行数据解码,并行流水作业方式以
156.25M Hz的频率输出;
数据分配模块,其配置来按FAST协议中位图的位置进行数据分配。
附图说明
图1示出了现有技术的万兆以太网传输系统中数据处理方法的流程图。
图2示出了图1中数据解码的流程图。
图3示出了图1中按位图进行数据分配的流程图。
图4示出了根据本发明的基于FAST协议的万兆通信数据的并行解析方法的流程图。
图5示出了图4中数据解码的流程图。
图6示出了图4中按位图进行数据分配的流程图。
具体实施方式
如图4所示,这种基于FAST协议的万兆通信数据的并行解析方法,用FPGA处理芯片搭建一个硬件并行处理系统,其包括以下步骤:
(1)开始;
(2)数据接收:以156.25M Hz的频率接收到16个字节的数据;
(3)并行数据解码,并行流水作业方式以156.25M Hz的频率输出;
(4)按FAST协议中位图的位置进行数据分配;
(5)结束。
本发明用FPGA处理芯片搭建一个硬件并行处理系统,以156.25M Hz的频率接收到16个字节的数据,并行流水作业方式以156.25M Hz的频率输出,按FAST协议中位图的位置进行数据分配,因此能够避免串行处理方式对数据延迟带来巨大的延迟,实现硬件并行加速,让客户以更快的方式获取交易所的第一手信息,抢占市场先机,为客户创造利润。
本发明中省去了缓存部分。所要实现的就是在数据以156.25M的频率接收到16个字节以后,按并行流水作业方式以156.25M的频率输出,做到无缓存,低延迟解码。
优选地,所述步骤(3)包括以下分步骤,其中步骤(3.3)、(3.6)、(3.9)并行执行:
(3.1)开始;
(3.2)接收16个字节;
(3.3)计算完整数据个数c;
(3.4)c打一拍给c1,打一拍就是系统时钟对外部信号采样一次,把采样的结果数据做为下一步的控制状态;
(3.5)c1打一拍给c2,跳转到步骤(3.10);
(3.6)标志位依次相加赋值a;
(3.7)数据拼接为32字节,按a中计算各数据左移量b;
(3.8)各数据按b依次左移并取高16个字节,跳转到步骤(3.10);
(3.9)判断当前16字节中未用字节,跳转到步骤(3.7);
(3.10)将新解码的c2个数据存入寄存器队列d,并输出c2;
(3.11)结束。
如图5所示,每一级处理相当于解码当前16个字节只需要4个时钟周期即可将FAST数据进行解码并缓存至寄存器中。
解码完成的数据缓存至寄存器以后就需要按FAST协议中位图的位置进行数据分配,流程图如图6。
优选地,所述步骤(4)包括以下分步骤,其中步骤(4.3)、(4.7)并行执行:
(4.1)开始;
(4.2)读取位图并计算出位图中该消息数据总个数并锁存为e,并累加c2得出f;
(4.3)判断f>e是否成立,是则执行步骤(4.4),否则执行步骤
(4.2);
(4.4)跳转到下一个位图位置,并按各个数据自己的j位置进行分配;
(4.5)各个数据位去掉FAST协议中的标志位;
(4.6)输出数据,跳转步骤(4.8);
(4.7)锁存位图数据依次计算出位图中各有效位的位置,跳转步骤(4.4);
(4.8)结束。
本领域普通技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,包括上述实施例方法的各步骤,而所述的存储介质可以是:ROM/RAM、磁碟、光盘、存储卡等。因此,与本发明的方法相对应的,本发明还同时包括一种基于FAST协议的万兆通信数据的并行解析装置,该装置通常以与方法各步骤相对应的功能模块的形式表示。该装置用FPGA处理芯片搭建一个硬件并行处理系统,其包括:
数据接收模块,其配置来以156.25M Hz的频率接收到16个字节的数据;
解码模块,其配置来进行并行数据解码,并行流水作业方式以
156.25M Hz的频率输出;
数据分配模块,其配置来按FAST协议中位图的位置进行数据分配。
优选地,所有强连通分支都至少插入一个表决器。
优选地,所述解码模块执行以下步骤,其中步骤(3.3)、(3.6)、(3.9)并行执行:
(3.1)开始;
(3.2)接收16个字节;
(3.3)计算完整数据个数c;
(3.4)c打一拍给c1,打一拍就是系统时钟对外部信号采样一次,把采样的结果数据做为下一步的控制状态;
(3.5)c1打一拍给c2,跳转到步骤(3.10);
(3.6)标志位依次相加赋值a;
(3.7)数据拼接为32字节,按a中计算各数据左移量b;
(3.8)各数据按b依次左移并取高16个字节,跳转到步骤
(3.10);
(3.9)判断当前16字节中未用字节,跳转到步骤(3.7);
(3.10)将新解码的c2个数据存入寄存器队列d,并输出c2;
(3.11)结束。
优选地,所述数据分配模块执行以下步骤,其中步骤(4.3)、(4.7)并行执行:
(4.1)开始;
(4.2)读取位图并计算出位图中该消息数据总个数并锁存为e,并累加c2得出f;
(4.3)判断f>e是否成立,是则执行步骤(4.4),否则执行步骤(4.2);
(4.4)跳转到下一个位图位置,并按各个数据自己的j位置进行分配;
(4.5)各个数据位去掉FAST协议中的标志位;
(4.6)输出数据,跳转步骤(4.8);
(4.7)锁存位图数据依次计算出位图中各有效位的位置,跳转步骤(4.4);
(4.8)结束。
在本发明中FAST协议解码过程需要4个时钟周期,数据分配模式需要4个周期。总时间算下来需要8个时钟周期即可完成将一整条数据开始接收到输出解析结果。相比于串行解析结果的时间延迟K*16+Y要少很多。按主时钟156.25M的主频来计算,解析部分增加延迟是8*6.4ns,加上万兆网口延迟100ns多的延迟,基本上可实现总延迟300ns。相比于之前串行数据的时间提高一个数量级。
以上所述,仅是本发明的较佳实施例,并非对本发明作任何形式上的限制,凡是依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属本发明技术方案的保护范围。
Claims (4)
1.基于FAST协议的万兆通信数据的并行解析方法,其特征在于:用FPGA处理芯片搭建一个硬件并行处理系统,其包括以下步骤:
(1)开始;
(2)数据接收:以156.25M Hz的频率接收到16个字节的数据;
(3)并行数据解码,并行流水作业方式以156.25M Hz的频率输出;
(4)按FAST协议中位图的位置进行数据分配;
(5)结束;
所述步骤(3)包括以下分步骤,其中步骤(3.3)、(3.6)、(3.9)并行执行:
(3.1)开始;
(3.2)接收16个字节;
(3.3)计算完整数据个数c;
(3.4)c打一拍给c1,打一拍就是系统时钟对外部信号采样一次,把采样的结果数据做为下一步的控制状态;
(3.5)c1打一拍给c2,跳转到步骤(3.10);
(3.6)标志位依次相加赋值a;
(3.7)数据拼接为32字节,按a中计算各数据左移量b;
(3.8)各数据按b依次左移并取高16个字节,跳转到步骤(3.10);
(3.9)判断当前16字节中未用字节,跳转到步骤(3.7);
(3.10)将新解码的c2个数据存入寄存器队列d,并输出c2;
(3.11)结束。
2.根据权利要求1所述的基于FAST协议的万兆通信数据的并行解析方法,其特征在于:所述步骤(4)包括以下分步骤,其中步骤(4.3)、(4.7)并行执行:
(4.1)开始;
(4.2)读取位图并计算出位图中消息数据总个数并锁存为e,并累加c2得出f;
(4.3)判断f>e是否成立,是则执行步骤(4.4),否则执行步骤(4.2);
(4.4)跳转到下一个位图位置,并按各个数据自己的j位置进行分配;
(4.5)各个数据位去掉FAST协议中的标志位;
(4.6)输出数据,跳转步骤(4.8);
(4.7)锁存位图数据依次计算出位图中各有效位的位置,跳转步骤(4.4);
(4.8)结束。
3.基于FAST协议的万兆通信数据的并行解析装置,其特征在于:用FPGA处理芯片搭建一个硬件并行处理系统,其包括:
数据接收模块,其配置来以156.25M Hz的频率接收到16个字节的
数据;
解码模块,其配置来进行并行数据解码,并行流水作业方式以
156.25M Hz的频率输出;
数据分配模块,其配置来按FAST协议中位图的位置进行数据分配;
所述解码模块执行以下步骤,其中步骤(3.3)、(3.6)、(3.9)并行执行:
(3.1)开始;
(3.2)接收16个字节;
(3.3)计算完整数据个数c;
(3.4)c打一拍给c1,打一拍就是系统时钟对外部信号采样一次,把采样的结果数据做为下一步的控制状态;
(3.5)c1打一拍给c2,跳转到步骤(3.10);
(3.6)标志位依次相加赋值a;
(3.7)数据拼接为32字节,按a中计算各数据左移量b;
(3.8)各数据按b依次左移并取高16个字节,跳转到步骤
(3.10);
(3.9)判断当前16字节中未用字节,跳转到步骤(3.7);
(3.10)将新解码的c2个数据存入寄存器队列d,并输出c2;
(3.11)结束。
4.根据权利要求3所述的基于FAST协议的万兆通信数据的并行解析装置,其特征在于:所述数据分配模块执行以下步骤,其中步骤(4.3)、(4.7)并行执行:
(4.1)开始;
(4.2)读取位图并计算出位图中消息数据总个数并锁存为e,并累加c2得出f;
(4.3)判断f>e是否成立,是则执行步骤(4.4),否则执行步
骤(4.2);
(4.4)跳转到下一个位图位置,并按各个数据自己的j位置进行分配;
(4.5)各个数据位去掉FAST协议中的标志位;
(4.6)输出数据,跳转步骤(4.8);
(4.7)锁存位图数据依次计算出位图中各有效位的位置,跳转步骤(4.4);
(4.8)结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110974929.4A CN113691532B (zh) | 2021-08-24 | 2021-08-24 | 基于fast协议的万兆通信数据的并行解析方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110974929.4A CN113691532B (zh) | 2021-08-24 | 2021-08-24 | 基于fast协议的万兆通信数据的并行解析方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113691532A CN113691532A (zh) | 2021-11-23 |
CN113691532B true CN113691532B (zh) | 2023-11-28 |
Family
ID=78581918
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110974929.4A Active CN113691532B (zh) | 2021-08-24 | 2021-08-24 | 基于fast协议的万兆通信数据的并行解析方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113691532B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104699448A (zh) * | 2015-03-20 | 2015-06-10 | 上海交通大学 | Fast协议的并行解码系统及其实现方法 |
CN105654383A (zh) * | 2016-01-07 | 2016-06-08 | 中国科学院信息工程研究所 | 基于流水线架构的低时延fast行情解码装置和方法 |
CN111147462A (zh) * | 2019-12-17 | 2020-05-12 | 苏州浪潮智能科技有限公司 | 一种基于FPGA的step协议解析方法、系统、终端及存储介质 |
CN112330456A (zh) * | 2020-11-27 | 2021-02-05 | 上海特高信息技术有限公司 | 一种超低延时硬件加速行情数据流解析系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2858323A1 (en) * | 2013-10-01 | 2015-04-08 | Enyx SA | A method and a device for decoding data streams in reconfigurable platforms |
-
2021
- 2021-08-24 CN CN202110974929.4A patent/CN113691532B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104699448A (zh) * | 2015-03-20 | 2015-06-10 | 上海交通大学 | Fast协议的并行解码系统及其实现方法 |
CN105654383A (zh) * | 2016-01-07 | 2016-06-08 | 中国科学院信息工程研究所 | 基于流水线架构的低时延fast行情解码装置和方法 |
CN111147462A (zh) * | 2019-12-17 | 2020-05-12 | 苏州浪潮智能科技有限公司 | 一种基于FPGA的step协议解析方法、系统、终端及存储介质 |
CN112330456A (zh) * | 2020-11-27 | 2021-02-05 | 上海特高信息技术有限公司 | 一种超低延时硬件加速行情数据流解析系统 |
Non-Patent Citations (1)
Title |
---|
基于FPGA的FAST协议解码金融加速设计;李函;《中国优秀硕士论文全文数据库》;20160415;摘要、第10-40页 * |
Also Published As
Publication number | Publication date |
---|---|
CN113691532A (zh) | 2021-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105654383B (zh) | 基于流水线架构的低时延fast行情解码装置和方法 | |
CN108495164B (zh) | 音视频同步处理方法及装置、计算机装置及存储介质 | |
CN111818136B (zh) | 数据处理方法、装置、电子设备及计算机可读介质 | |
CN111755017B (zh) | 云会议的音频录制方法、装置、服务器及存储介质 | |
CN110297944B (zh) | 分布式xml数据处理方法及系统 | |
CN112347020A (zh) | 一种基于cgra的fast行情解析系统和方法 | |
CN110990358A (zh) | 一种解压缩方法、电子设备及计算机可读存储介质 | |
CN111885346A (zh) | 画面码流合成方法、终端、电子设备和存储介质 | |
US8892762B2 (en) | Multi-granular stream processing | |
CN113691532B (zh) | 基于fast协议的万兆通信数据的并行解析方法及装置 | |
CN114067800B (zh) | 语音识别方法、装置和电子设备 | |
CN113079386B (zh) | 一种视频在线播放方法、装置、电子设备及存储介质 | |
US20030212743A1 (en) | Scalable low bandwidth multicast handling in mixed core systems | |
US20220100411A1 (en) | Combining write transactions of a large write | |
CN109104581B (zh) | 一种无线传屏的方法、系统及接收终端 | |
CN116668691A (zh) | 一种图片压缩传输方法、装置及终端设备 | |
CN112995543B (zh) | 分布式视频切换系统、方法、设备 | |
CN113242446B (zh) | 视频帧的缓存方法、转发方法、通信服务器及程序产品 | |
CN112188562B (zh) | 中继基站的多播调度方法和装置、存储介质及电子装置 | |
CN106874979B (zh) | 一种条形码处理、显示、读取方法和装置 | |
CN108093258A (zh) | 码流数据的解码方法、计算机装置及计算机可读存储介质 | |
CN113327302A (zh) | 图片处理方法及装置、存储介质、电子装置 | |
CN110445578B (zh) | 一种spi数据传输方法及装置 | |
CN112995067B (zh) | 一种粗粒度可重构数据处理架构及其数据处理方法 | |
CN113242473B (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 |