CN112017049B - 一种证券行情转发系统和方法 - Google Patents
一种证券行情转发系统和方法 Download PDFInfo
- Publication number
- CN112017049B CN112017049B CN202011102671.0A CN202011102671A CN112017049B CN 112017049 B CN112017049 B CN 112017049B CN 202011102671 A CN202011102671 A CN 202011102671A CN 112017049 B CN112017049 B CN 112017049B
- Authority
- CN
- China
- Prior art keywords
- data
- module
- field
- processing system
- message
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- 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/04—Protocols for data compression, e.g. ROHC
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Technology Law (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Development Economics (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
一种证券行情转发系统,第一数据处理系统用于接收初始行情并进行压缩后输出,第二数据处理系统用于接收压缩行情并进行数据恢复,所述第一数据处理系统包括原始数据接收模块、数据压缩模块和压缩数据输出模块,所述数据压缩模块中,对于大于4字节的字符串型字段,每两个字符串用一个字节表示,对于小于4字节的字符串不进行压缩,第二所述数据处理系统包括压缩数据接收模块,数据恢复模块,恢复数据输出模块,所述数据恢复模块包括字段解析模块,所述字段解析模块根据交易所协议要求,将每个字段解析出来。本发明还提供了一种证券行情转发方法。本发明的证券行情转发系统和方法很大的降低了延迟和节省了资源开销,实现对行情的快速转发。
Description
技术领域
本发明属于金融证券期货领域,涉及一种证券行情转发系统和方法。
背景技术
在金融行情系统中,证券期货公司有时需要对接收到的交易所行情进行转发,并希望延迟越低越好。深圳交易所行情信息每天数据量非常大,在转发系统中,如果直接转发,则占用的带宽非常大,对转发系统的性能要求非常高,否则会增加丢包的概率,降低转发的可靠性。深圳交易所中以binary协议发送的证券行情中,每个字段都是以二进制表示。这些字段主要分两种,一种是数值型,一种是字符串型。字符串型字段主要用于表示证券代码等。数值型字段主要用于表示价格数量,大都是以8字节表示,但是这些字段的实际值并未用到8字节,所以字段的高位大部分是零。这就导致在行情转发系统中要占用很大的带宽传输很多字段的0值。如果在转发系统中采用hash等常用的压缩编码算法,压缩率比较大,但是延迟也会很大且占用FPGA资源很多。而行情转发作为高频交易处理系统中的一部分,往往对低延迟的要求也很高。
发明内容
1、所要解决的技术问题:
证券期货公司在行情转发系统中用带宽大,现有解决问题的方法为字符字段以8字节表示,但是这些字段实际值并未用到8字节,导致在行情转发系统中要占很大带宽传输很多字段的0值,压缩率比较大,延迟也大。
2、技术方案:
为了解决以上问题,本发明提供了一种证券行情转发系统,包括第一数据处理系统和第二数据处理系统,第一数据处理系统用于接收初始行情并进行压缩后输出,第二数据处理系统用于接收压缩行情并进行数据恢复,所述第一数据处理系统包括原始数据接收模块、数据压缩模块和压缩数据输出模块,所述数据压缩模块中,对于表示数值的字段,采用一种紧凑的数值型表示法,对于大于4字节的字符串型字段,每两个字符串用一个字节表示,对于小于4字节的字符串不进行压缩,第二所述数据处理系统包括压缩数据接收模块,数据恢复模块,恢复数据输出模块,所述数据恢复模块包括字段解析模块,所述字段解析模块根据交易所协议要求,将每个字段解析出来。
所述数据压缩模块中,对数值型字段采用紧凑的竖直表示方法,每个数值用一个或者多个字节表示,用每个字节的高位表示该字段的停止位,对于大于等于4个字节的字符串型字段,用每个字符的ASICII码值和0x30做差,得出的值拼在一起。
所述原始数据接收模块,用于接收交易所发出的行情数据,并进行初步过滤,发送到数据压缩模块;所述压缩数据输出模块对压缩后数据按字段顺序,组成UDP报文后发送出去。
所述原始数据接收模块,包括消息类型匹配模块,所述消息类型匹配模块用于配置文件中匹配的消息类型。
所述压缩数据接收模块,用于接收数据处理系统1的数据;所述恢复数据输出模块,按解压缩字段顺序,组成UDP报文发送出去。
所述数据恢复模块根据交易所协议确定每个要恢复字段的类型及长度,对数值型字段,根据停止位取出字段后在高位补齐字段长度,对字符串型字段,取每4字节值进行加0x30作为一个字节,如果不满规定长度用0x20补齐。
第一数据处理系统和交易所采用tcp连接方式。
本发明还提供了一种利用所述证券行情转发系统进行证券行情快速转发的方法。
3、有益效果:
本发明采用一种简单的压缩方法,实数字段的高位用1表示字段的停止位。对于字符串表示的字段,只压缩大于等于4个字符的字段,每个字符用4个bit表示,也就是每两个字符串用一个字节表示,能很大的降低延迟和节省资源开销,实现对行情的快速转发。
附图说明
图1为本发明的系统结构图。
图2为本发明中第一数据处理系统的结构图。
图3为本发明中第二数据处理系统的结构图。
具体实施方式
除非另作定义,此处使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开专利申请说明书以及权利要求书中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。
下面结合附图来对本发明做详细说明。
如图1-图3所示,一种证券行情转发系统,包括第一数据处理系统1和第二数据处理系统2。第一数据处理系统1用于接收初始行情并进行压缩后输出,第二数据处理系统2用于接收压缩行情并进行数据恢复。
所述第一数据处理系统1包括原始数据接收模块,数据压缩模块,压缩数据输出模块。所述原始数据接收模块,用于接收交易所发出的行情数据,并进行初步过滤,发送到数据压缩模块;所述数据压缩模块,以字段为单位,对行情数据中的数值型字段和字符串型字段用不同方法进行压缩;所述压缩数据输出模块,对压缩后数据按字段顺序,组成UDP报文后发送出去。
所述数据压缩模块包括字段压缩模块,对于表示数值的字段,采用一种紧凑的数值型表示法,对于大于4字节的字符串型字段,每两个字符串用一个字节表示所述第二数据处理系统2包括压缩数据接收模块,数据恢复模块,恢复数据输出模块。
数据压缩方法具体为:对数值型字段,采用紧凑的数值表示方法,每个数值用一个或者多个字节表示,用每个字节的高位表示该字段的停止位。对于大于等于4个字节的字符串型字段,用每个字符的ASICII码值和0x30做差,得出的值拼在一起即可,对于小于4字节的字符串不进行压缩。消息头不进行压缩。
所述数据处理系统2包含压缩数据接收模块,数据恢复模块,恢复数据输出模块。所述压缩数据接收模块,用于接收数据处理系统1的数据;所述数据恢复模块,根据压缩编码规则进行数据解压缩;所述恢复数据输出模块,按解压缩字段顺序,组成UDP报文发送出去。
所述数据恢复模块,包含字段解析模块,根据深圳交易所协议要求,将每个字段解析出来。具体为:第二数据处理系统2主要对系统1的压缩数据进行恢复。数据恢复模块根据交易所协议确定每个要恢复字段的类型及长度。对数值型字段,根据停止位取出字段后在高位补齐字段长度。对字符串型字段,取每4bit值进行加0x30作为一个字节,如果不满规定长度用0x20补齐。
本发明还提供了一种利用所述证券行情转发系统进行证券行情快速转发的方法,包括以下步骤:步骤一:获取证券行情信息到FPGA。FPGA将接收到的报文进行消息报文过滤,输出给数据压缩模块;步骤二:对步骤一发送的报文,根据交易所的报文格式,对各字段进行逐一解析出来,并标记是数值型的还是字符型的;步骤三:对步骤二的字段,根据其类型,进行不同的压缩编码;步骤四:对步骤三压缩后数据,按顺序组成新的报文发送出去;步骤五:接收步骤四发送的报文;步骤六:对步骤五的数据进行解压缩,按顺序填入交易所协议规定的字段中;步骤七:对步骤六中恢复的数据,按顺序组成UDP格式发送出去。
虽然本发明已以较佳实施例公开如上,但它们并不是用来限定本发明的,任何熟习此技艺者,在不脱离本发明之精神和范围内,自当可作各种变化或润饰,因此本发明的保护范围应当以本申请的权利要求保护范围所界定的为准。
Claims (6)
1.一种证券行情转发系统,包括第一数据处理系统(1)和第二数据处理系统(2),第一数据处理系统(1)用于接收初始行情并进行压缩后输出,第二数据处理系统(2)用于接收压缩行情并进行数据恢复,其特征在于:所述第一数据处理系统(1)包括原始数据接收模块、数据压缩模块和压缩数据输出模块,所述数据压缩模块中,对于表示数值的字段,采用一种紧凑的数值型表示法,对于大于4字节的字符串型字段,每两个字符串用一个字节表示,对于小于4字节的字符串不进行压缩,所述第二数据处理系统(2)包括压缩数据接收模块,数据恢复模块,恢复数据输出模块,所述数据恢复模块包括字段解析模块,所述字段解析模块根据交易所协议要求,将每个字段解析出来,所述数据压缩模块中,对数值型字段采用紧凑的竖直表示方法,每个数值用一个或者多个字节表示,用每个字节的高位表示该字段的停止位,对于大于等于4个字节的字符串型字段,用每个字符的ASCII码值和0x30做差,得出的值拼在一起,所述原始数据接收模块,用于接收交易所发出的行情数据,并进行初步过滤,发送到数据压缩模块;所述压缩数据输出模块对压缩后数据按字段顺序,组成UDP报文后发送出去。
2.如权利要求1所述的证券行情转发系统,其特征在于:所述原始数据接收模块,包括消息类型匹配模块,所述消息类型匹配模块用于配置文件中匹配的消息类型。
3.如权利要求1所述的证券行情转发系统,其特征在于:所述压缩数据接收模块,用于接收第一数据处理系统(1)的数据;所述恢复数据输出模块,按解压缩字段顺序,组成UDP报文发送出去。
4.如权利要求1所述的证券行情转发系统,其特征在于:所述数据恢复模块根据交易所协议确定每个要恢复字段的类型及长度,对数值型字段,根据停止位取出字段后在高位补齐字段长度,对字符串型字段,取每4字节值进行加0x30作为一个字节,如果不满规定长度用0x20补齐。
5.如权利要求1所述的证券行情转发系统,其特征在于:第一数据处理系统(1)和交易所采用tcp连接方式。
6.一种利用如权利要求1-5之一所述的证券行情转发系统进行证券行情快速转发的方法,包括以下步骤:步骤一:获取证券行情信息到FPGA,FPGA将接收到的报文进行消息报文过滤,输出给数据压缩模块;步骤二:对步骤一发送的报文,根据交易所的报文格式,对各字段进行逐一解析出来,并标记是数值型的还是字符型的;步骤三:对步骤二的字段,根据其类型,进行不同的压缩编码;步骤四:对步骤三压缩后数据,按顺序组成新的报文发送出去;步骤五:接收步骤四发送的报文;步骤六:对步骤五的数据进行解压缩,按顺序填入交易所协议规定的字段中;步骤七:对步骤六中恢复的数据,按顺序组成UDP格式发送出去。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011102671.0A CN112017049B (zh) | 2020-10-15 | 2020-10-15 | 一种证券行情转发系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011102671.0A CN112017049B (zh) | 2020-10-15 | 2020-10-15 | 一种证券行情转发系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112017049A CN112017049A (zh) | 2020-12-01 |
CN112017049B true CN112017049B (zh) | 2021-05-18 |
Family
ID=73527607
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011102671.0A Active CN112017049B (zh) | 2020-10-15 | 2020-10-15 | 一种证券行情转发系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112017049B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115378847B (zh) * | 2022-08-23 | 2023-10-31 | 国联证券股份有限公司 | 证券行情时延测量系统和方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1790997A (zh) * | 2004-12-17 | 2006-06-21 | 上海证券通信有限责任公司 | 证券行情数据传输方法 |
CN102760119A (zh) * | 2012-07-11 | 2012-10-31 | 北京理工大学 | 嵌入式设备中Unicode编码字符串的存储方法 |
CN109274747A (zh) * | 2018-09-29 | 2019-01-25 | 上海中畅信息科技有限公司 | 行情网关系统及其处理方法 |
CN110830521A (zh) * | 2020-01-13 | 2020-02-21 | 南昌市小核桃科技有限公司 | Vr多人同屏数据同步处理方法及装置 |
-
2020
- 2020-10-15 CN CN202011102671.0A patent/CN112017049B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1790997A (zh) * | 2004-12-17 | 2006-06-21 | 上海证券通信有限责任公司 | 证券行情数据传输方法 |
CN102760119A (zh) * | 2012-07-11 | 2012-10-31 | 北京理工大学 | 嵌入式设备中Unicode编码字符串的存储方法 |
CN109274747A (zh) * | 2018-09-29 | 2019-01-25 | 上海中畅信息科技有限公司 | 行情网关系统及其处理方法 |
CN110830521A (zh) * | 2020-01-13 | 2020-02-21 | 南昌市小核桃科技有限公司 | Vr多人同屏数据同步处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112017049A (zh) | 2020-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10419021B2 (en) | Systems and methods of data compression | |
US7400274B2 (en) | System and method for data feed acceleration and encryption | |
US7737870B1 (en) | Bit-stream huffman coding for data compression | |
CN109818930B (zh) | 一种基于tcp协议的通讯文本数据传输方法 | |
US7692560B2 (en) | Two stage loss-less compressor for a clear channel over a packet network | |
CN112330456A (zh) | 一种超低延时硬件加速行情数据流解析系统 | |
CN101674315A (zh) | 一种时间戳压缩、解压缩的方法及装置 | |
CN106453160A (zh) | 一种北斗数据传输方法及系统 | |
CN110620637B (zh) | 一种基于fpga的数据解压装置及方法 | |
CN112347020A (zh) | 一种基于cgra的fast行情解析系统和方法 | |
CN112017049B (zh) | 一种证券行情转发系统和方法 | |
CN112104376B (zh) | 一种证券期货行情数据实时压缩方法 | |
CN108573069B (zh) | 一种加速压缩流量正则表达式匹配的Twins方法 | |
CN112328373B (zh) | 一种面向分布式仿真的数据分发服务dds自动发现方法 | |
Jain et al. | An efficient compression algorithm (ECA) for text data | |
US7936787B2 (en) | Technique for data compression by decoding binary encoded data | |
CN115334169B (zh) | 一种节省网络带宽的通信协议编码方法 | |
CN113872982B (zh) | 一种基于mqtt协议的船舶监控数据传输方法及系统 | |
CN117709300A (zh) | 一种基于json格式的证券行情数据压缩传输算法 | |
JPS62209948A (ja) | デ−タ圧縮伝送方法 | |
CN109683996A (zh) | 通信数据的传输方法及系统 | |
WO2001065439A1 (en) | A technique for data compression by decoding binary encoded data |
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 |