CN117135231A - 一种基于fpga低延时金融大数据流的解压方法 - Google Patents

一种基于fpga低延时金融大数据流的解压方法 Download PDF

Info

Publication number
CN117135231A
CN117135231A CN202311396655.0A CN202311396655A CN117135231A CN 117135231 A CN117135231 A CN 117135231A CN 202311396655 A CN202311396655 A CN 202311396655A CN 117135231 A CN117135231 A CN 117135231A
Authority
CN
China
Prior art keywords
data
compressed
module
decompression
data stream
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
Application number
CN202311396655.0A
Other languages
English (en)
Other versions
CN117135231B (zh
Inventor
崔建军
高伟峻
王洪旺
朱清文
李斌
房俊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Tegao Information Technology Co ltd
Original Assignee
Shanghai Tegao Information Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Tegao Information Technology Co ltd filed Critical Shanghai Tegao Information Technology Co ltd
Priority to CN202311396655.0A priority Critical patent/CN117135231B/zh
Publication of CN117135231A publication Critical patent/CN117135231A/zh
Application granted granted Critical
Publication of CN117135231B publication Critical patent/CN117135231B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/04Protocols for data compression, e.g. ROHC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/10Streamlined, light-weight or high-speed protocols, e.g. express transfer protocol [XTP] or byte stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明提供一种基于FPGA低延时金融大数据流的解压方法,包括如下步骤:S1、16bits‑AXIS数据流经接收模块进行协议上的转换得到压缩行情数据;S2、调用头部解析模块对压缩行情数据进行元数据解析,生成元数据;S3、解压模块接收压缩标志为1的压缩行情数据,识别头部信息,生成相应的数组码表,进行码表的解码;S4、解压模式完成三级数据解码;S5、经由上采样模块将行情数据中的操作数丢弃,并将到来的数据补齐到64bits防止数据阻塞;最后经过发送模块进行AXIS协议转换,实现与下游模块的握手和协议一致。本发明采用霍夫曼表数据结结构,序列检测器和三级解压缩流水,降低数据流对于解压模块流数据的解压压力。

Description

一种基于FPGA低延时金融大数据流的解压方法
技术领域
本发明涉及证券行业行情数据解析加速领域,具体涉及一种基于FPGA低延时金融大数据流的解压方法。
背景技术
FPGA,是Field Programmable Gate Array的简称,中文名称为现场可编程门阵列,是一种可编程器件,是在PAL(可编程逻辑阵列)、GAL(通用阵列逻辑)、CPLD(复杂可编程逻辑器件)等传统逻辑电路和门阵列的基础上发展起来的一种半定制电路,既解决了半定制电路的不足,又克服了原有可编程器件门电路数有限的缺点,其计算存储、算法加速和低延时传输等方面的独特优势在金融领域有着深入的技术应用价值。
目前在金融证券行业,行情数据在传输过程中为了保证传输速率,都进行了一定的压缩。行情数据都具有速率高,吞吐量大,颗粒大的特点。使得行情系统接收系统既要保证传输速率,也要保证解压速率,解决解压压力大的问题。同时,CPU相对固定的处理模式,无法提供底层更细颗粒度的操作调度,所以高吞吐量的行情数据的解压缩延时较高,对CPU的负载占用较大,是现用行情系统传输速率的短板所在。
发明内容
本发明要解决的技术问题是提供一种基于FPGA低延时金融大数据流的解压方法,实现了对来自网络的行情数据流的硬件解压缩,采用有针对性的霍夫曼表数据结结构,序列检测器和三级解压缩流水,降低数据流对于解压模块流数据的解压压力。
为解决上述技术问题,本发明的实施例提供一种基于FPGA低延时金融大数据流的解压方法,包括如下步骤:
S1、16bits-AXIS数据流经由接收模块进行协议上的转换,将AXIS总线上的信号综合到一条信号线上,得到压缩行情数据;
S2、调用头部解析模块对到来的压缩行情数据进行元数据解析,包括一级头部数据解析和尾部数据解析,然后进行头部信息整合,生成128-bit的元数据;若压缩行情数据的压缩标志为0,则该压缩行情数据为非压缩数据,将元数据和非压缩数据流一同发往发送模块;
S3、解压模块接收压缩标志为1的压缩行情数据,通过ZIP模式识别压缩行情数据的头部信息,然后根据解压模式生成相应的数组码表,采用16-bits的序列匹配器进行数组码表的解码;
S4、解压模式将数据解码分为三级:一级数据解码将压缩行情数据的数据进行转换;二级数据解码将COPY操作与数据流解耦;三级数据解码进行数据解析,进行相应的COPY操作和补零操作;
S5、经由上采样模块,将压缩行情数据流中的操作数丢弃,并将到来的数据补齐到64bits防止数据阻塞;最后经过发送模块转换成AXIS总线协议,实现与下游模块的握手和协议一致。
其中,步骤S2中,一级头部数据解析和尾部数据解析获得头部和尾部的关键信息,包括压缩标志、序列号、压缩后长度和产品类别。
其中,步骤S3中,数组码表的存储数据结构以数组形式存储。
其中,步骤S4中,一级数据解码将压缩行情数据的数据转换成对应的literal结果;二级数据解码将COPY操作与数据流解耦,将操作指示从数据流中剥离出来;三级数据解码进行数据解析,同时将解析的数据存入FPGA上的BRAM,在接收到操作数指示时,寻址对应的地址进行相应的COPY操作和补零操作。
优选的,步骤S3中的数组码表为霍夫曼码表。
本发明还提供一种基于FPGA低延时金融大数据流的解压系统,包括:
接收模块:用于16bits-AXIS数据流在协议上的转换,得到压缩行情数据;
头部解析模块:将压缩行情数据进行元数据解析得到元数据;
解压模块:将到来的压缩行情数据分三级流水进行解压,得到原始的行情数据;
发送模块:用于64bits-AXIS数据流在协议上的转换,实现与下游模块的握手和协议一致本发明的上述技术方案的有益效果如下:
本发明提供一种基于FPGA低延时金融大数据流的解压方法,采用XILINX- AlveoU系列的FPGA硬件加速卡;结合Verilog硬件描述语言与HLS硬件描述语言实现,在FPGA加速卡上开发了低延时行情数据解压,对高吞吐的行情数据的解析和缓存过程进行一定的优化。设计了针对高吞吐压缩行情数据的数组码表数据结构和三级解析流水线,降低CPU负载,从而提高了对大颗粒低延时行情数据的硬件解压的速率。
附图说明
图1为本发明的架构图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
如图1所示,本发明提供一种基于FPGA低延时金融大数据流的解压方法,包括如下步骤:
S1、16bits-AXIS数据流先经过接收模块进行协议上的转换,将AXIS总线上的STRB,READY,VALID和LAST信号综合到一条信号线上,得到压缩行情数据,减少对AXIS信号的交互操作,保证下游模块的协议一致性。
S2、调用头部解析模块对到来的压缩行情数据进行元数据解析,包括一级头部数据解析和尾部数据解析,获取头部和尾部的关键信息,比如压缩标志、序列号、压缩后长度和产品类别等等。并进行头部信息整合,生成128-bit的元数据,等待和发送模块同步发出。若压缩行情数据的压缩标志为0,则该数据为非压缩数据,同样会进行头部信息整合,将元数据和余下的数据流一同发往发送模块,同步发出。
S3、解压模块接收压缩标志为1的压缩行情数据,首先通过ZIP模式识别数据流的头部信息,判断到来数据的幻数是否合法以及解压模式。随后根据解压模式生成相应的霍夫曼码表,为了提高硬件码表查询速率,改变码表的数据存储结构。认为固定位宽间隔下相应的序列代表的结果相同,以此采用16-bits的序列匹配器而非每个周期单bit匹配霍夫曼树的方法,这样在速率上可以做到最快每个周期解出16bits的数据流。
S4、解压模块在获得数组结构的霍夫曼码表下,为了不影响硬件的解码频率,将数据解码分为三级,一级负责完成数据解码,仅负责将压缩行情数据的数据转换成对应的literal结果。不处理distance和length项带来的COPY操作和填充0的操作。而是在第二级流水将COPY等操作与数据流解耦,将操作指示从数据流中剥离出来,进行数据流的二级解析(第三级流水)。二级解析则进行数据解析,同时将解析的数据存入FPGA上的BRAM,在接收到操作数指示时,寻址对应的地址进行相应的COPY操作和补零操作等等。
S5、由于解压模块获得的数据长度会远比输入的数据要长,所以需要经过上采样模块,将数据流中的操作数丢弃,并将到来的数据补齐到64bits以防数据阻塞,保证传输频率和吞吐量。最后再次经过发送模块,进行AXIS协议转换,实现与下游模块的握手和协议一致。
将采用超低延时高吞吐量行情数据解压方法的行情系统和一般的行情系统分别部署在两台相同配置的物理服务器上,且两台服务器上均接收同样的低延时行情数据,持续接收的情况,其解码速率对比如下:
低延时大数据流解压系统 一般行情系统
3.5GB/s 500MB/s
通过测试发现,相较于一般高速行情数据硬件系统,基于FPGA超低延时高吞吐量行情数据解压方法的行情系统可以快速地解压高吞吐量的行情数据维持整个系统在一个较高的吞吐量数据传输。
本发明提供一种基于FPGA低延时金融大数据流的解压方法,采用XILINX- AlveoU系列的FPGA硬件加速卡;结合Verilog硬件描述语言与HLS硬件描述语言实现,在FPGA加速卡上开发了低延时行情数据解压,对高吞吐的行情数据的解析和缓存过程进行一定的优化。设计了针对高吞吐压缩行情数据的码表数据结构和三级解析流水线,降低CPU负载,从而提高了对大颗粒低延时行情数据的硬件解压的速率。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (6)

1.一种基于FPGA低延时金融大数据流的解压方法,其特征在于,包括如下步骤:
S1、16bits-AXIS数据流经由接收模块进行协议上的转换,将AXIS总线上的信号综合到一条信号线上,得到压缩行情数据;
S2、调用头部解析模块对到来的压缩行情数据进行元数据解析,包括一级头部数据解析和尾部数据解析,然后进行头部信息整合,生成128-bit的元数据;若压缩行情数据的压缩标志为0,则该压缩行情数据为非压缩数据,将元数据和非压缩数据流一同发往发送模块;
S3、解压模块接收压缩标志为1的压缩行情数据,通过ZIP模式识别压缩行情数据的头部信息,然后根据解压模式生成相应的数组码表,采用16-bits的序列匹配器进行数组码表的解码;
S4、解压模式将数据解码分为三级:一级数据解码将压缩行情数据的数据进行转换;二级数据解码将COPY操作与数据流解耦;三级数据解码进行数据解析,进行相应的COPY操作和补零操作;
S5、经由上采样模块,将压缩行情数据流中的操作数丢弃,并将到来的数据补齐到64bits防止数据阻塞;最后经过发送模块转换成AXIS总线协议,实现与下游模块的握手和协议一致。
2.根据权利要求1所述的基于FPGA低延时金融大数据流的解压方法,其特征在于,步骤S2中,一级头部数据解析和尾部数据解析获得头部和尾部的关键信息,包括压缩标志、序列号、压缩后长度和产品类别。
3.根据权利要求1所述的基于FPGA低延时金融大数据流的解压方法,其特征在于,步骤S3中,数组码表的存储数据结构以数组形式存储。
4.根据权利要求1所述的基于FPGA低延时金融大数据流的解压方法,其特征在于,步骤S4中,一级数据解码将压缩行情数据的数据转换成对应的literal结果;二级数据解码将COPY操作与数据流解耦,将操作指示从数据流中剥离出来;三级数据解码进行数据解析,同时将解析的数据存入FPGA上的BRAM,在接收到操作数指示时,寻址对应的地址进行相应的COPY操作和补零操作。
5.根据权利要求1所述的基于FPGA低延时金融大数据流的解压方法,其特征在于,步骤S3中的数组码表为霍夫曼码表。
6.一种基于FPGA低延时金融大数据流的解压系统,其特征在于,包括:
接收模块:用于16bits-AXIS数据流在协议上的转换,得到压缩行情数据;
头部解析模块:将压缩行情数据进行元数据解析得到元数据;
解压模块:将到来的压缩行情数据分三级流水进行解压,得到原始的行情数据;
发送模块:用于64bits-AXIS数据流在协议上的转换,实现与下游模块的握手和协议一致。
CN202311396655.0A 2023-10-26 2023-10-26 一种基于fpga低延时金融大数据流的解压方法 Active CN117135231B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311396655.0A CN117135231B (zh) 2023-10-26 2023-10-26 一种基于fpga低延时金融大数据流的解压方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311396655.0A CN117135231B (zh) 2023-10-26 2023-10-26 一种基于fpga低延时金融大数据流的解压方法

Publications (2)

Publication Number Publication Date
CN117135231A true CN117135231A (zh) 2023-11-28
CN117135231B CN117135231B (zh) 2023-12-29

Family

ID=88863193

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311396655.0A Active CN117135231B (zh) 2023-10-26 2023-10-26 一种基于fpga低延时金融大数据流的解压方法

Country Status (1)

Country Link
CN (1) CN117135231B (zh)

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000054411A1 (en) * 1999-03-11 2000-09-14 Easic Corporation Integrated circuit technology
US6879266B1 (en) * 1997-08-08 2005-04-12 Quickshift, Inc. Memory module including scalable embedded parallel data compression and decompression engines
US7020160B1 (en) * 2001-12-17 2006-03-28 Supergate Technology Usa, Inc. Interface circuits for modularized data optimization engines and methods therefor
US20120262314A1 (en) * 2011-04-15 2012-10-18 Cavium Networks, Inc. System and Method of Compression and Decompression
US20150081726A1 (en) * 2013-09-16 2015-03-19 Erez Izenberg Configurable parser and a method for parsing information units
CN107483867A (zh) * 2017-08-22 2017-12-15 广州波视信息科技股份有限公司 一种tico格式4k/8k解码器及其实现方法
US20180069568A1 (en) * 2016-09-04 2018-03-08 ScaleFlux, Inc. Hybrid software-hardware implementation of lossless data compression and decompression
CN108269188A (zh) * 2016-12-30 2018-07-10 上海金融期货信息技术有限公司 一种基于fpga的交易所行情信息处理方法和系统
CN109962754A (zh) * 2019-02-15 2019-07-02 深圳市紫光同创电子有限公司 适配64b/66b编码的pcs发送装置、接收装置
CN111738862A (zh) * 2020-08-19 2020-10-02 南京艾科朗克信息科技有限公司 一种基于fpga的证券行情低延迟行情恢复方法
CN111801916A (zh) * 2018-02-23 2020-10-20 赛灵思公司 与多种接口通信协议兼容的可编程noc
CN112650499A (zh) * 2020-12-29 2021-04-13 国泰君安证券股份有限公司 基于OpenCL平台实现对交易所level-2 FAST行情的硬件解码处理的系统
US20210279062A1 (en) * 2020-03-06 2021-09-09 Microsoft Technology Licensing, Llc Automated runtime configuration for dataflows
CN115344527A (zh) * 2022-10-18 2022-11-15 上海特高信息技术有限公司 一种基于fpga的高速行情数据缓存方法
CN116846669A (zh) * 2023-07-28 2023-10-03 中国电信股份有限公司技术创新中心 网络流量处理方法、装置、计算机设备、存储介质及产品

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6879266B1 (en) * 1997-08-08 2005-04-12 Quickshift, Inc. Memory module including scalable embedded parallel data compression and decompression engines
WO2000054411A1 (en) * 1999-03-11 2000-09-14 Easic Corporation Integrated circuit technology
US7020160B1 (en) * 2001-12-17 2006-03-28 Supergate Technology Usa, Inc. Interface circuits for modularized data optimization engines and methods therefor
US20120262314A1 (en) * 2011-04-15 2012-10-18 Cavium Networks, Inc. System and Method of Compression and Decompression
US20150081726A1 (en) * 2013-09-16 2015-03-19 Erez Izenberg Configurable parser and a method for parsing information units
US20180069568A1 (en) * 2016-09-04 2018-03-08 ScaleFlux, Inc. Hybrid software-hardware implementation of lossless data compression and decompression
CN108269188A (zh) * 2016-12-30 2018-07-10 上海金融期货信息技术有限公司 一种基于fpga的交易所行情信息处理方法和系统
CN107483867A (zh) * 2017-08-22 2017-12-15 广州波视信息科技股份有限公司 一种tico格式4k/8k解码器及其实现方法
CN111801916A (zh) * 2018-02-23 2020-10-20 赛灵思公司 与多种接口通信协议兼容的可编程noc
CN109962754A (zh) * 2019-02-15 2019-07-02 深圳市紫光同创电子有限公司 适配64b/66b编码的pcs发送装置、接收装置
US20210279062A1 (en) * 2020-03-06 2021-09-09 Microsoft Technology Licensing, Llc Automated runtime configuration for dataflows
CN111738862A (zh) * 2020-08-19 2020-10-02 南京艾科朗克信息科技有限公司 一种基于fpga的证券行情低延迟行情恢复方法
CN112650499A (zh) * 2020-12-29 2021-04-13 国泰君安证券股份有限公司 基于OpenCL平台实现对交易所level-2 FAST行情的硬件解码处理的系统
CN115344527A (zh) * 2022-10-18 2022-11-15 上海特高信息技术有限公司 一种基于fpga的高速行情数据缓存方法
CN116846669A (zh) * 2023-07-28 2023-10-03 中国电信股份有限公司技术创新中心 网络流量处理方法、装置、计算机设备、存储介质及产品

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
蒋卫寅;李斌;凌力;: "针对无线传感网络的内存数据压缩算法", 微型电脑应用, no. 05 *

Also Published As

Publication number Publication date
CN117135231B (zh) 2023-12-29

Similar Documents

Publication Publication Date Title
US7924183B2 (en) Method and system for reducing required storage during decompression of a compressed file
KR102616804B1 (ko) 시맨틱 값 데이터 압축 및 압축해제를 위한 방법, 장치 및 시스템
US10102260B2 (en) Method and apparatus for accelerated data translation using record layout detection
US20190079984A1 (en) Method and Apparatus for Accelerated Record Layout Detection
CN106549673B (zh) 一种数据压缩方法及装置
WO2020025006A1 (zh) 数据压缩、解压方法及相关装置、电子设备、系统
CN109886399B (zh) 一种张量处理装置及方法
CN101630323B (zh) 确定自动机的空间压缩方法
CN106852185A (zh) 基于字典的并行压缩编码器
CN109450450B (zh) 一种json数据实时无损压缩以及解压方法
Hu et al. Detection of heterogeneous parallel steganography for low bit-rate VoIP speech streams
US20090204626A1 (en) Systems and methods for information compression
CN103346800B (zh) 一种数据压缩方法及装置
US20170193351A1 (en) Methods and systems for vector length management
CN108287877A (zh) 一种rib渲染压缩文件fpga压缩/解压缩系统及硬件解压方法
CN117135231B (zh) 一种基于fpga低延时金融大数据流的解压方法
US10929764B2 (en) Boolean satisfiability
CN108573069B (zh) 一种加速压缩流量正则表达式匹配的Twins方法
WO2023159820A1 (zh) 图像压缩方法、图像解压缩方法及装置
Tang et al. A real-time updatable FPGA-based architecture for fast regular expression matching
JP2006100973A (ja) データ圧縮装置、及びデータ伸長装置
US7657559B2 (en) Method to exchange objects between object-oriented and non-object-oriented environments
CN112839230A (zh) 图像数据压缩装置及图像数据解压缩装置
CN113343116A (zh) 基于企业数仓的智能聊天推荐方法、系统、设备及存储介质
CN102395031B (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