CN117709300A - 一种基于json格式的证券行情数据压缩传输算法 - Google Patents
一种基于json格式的证券行情数据压缩传输算法 Download PDFInfo
- Publication number
- CN117709300A CN117709300A CN202311389263.1A CN202311389263A CN117709300A CN 117709300 A CN117709300 A CN 117709300A CN 202311389263 A CN202311389263 A CN 202311389263A CN 117709300 A CN117709300 A CN 117709300A
- Authority
- CN
- China
- Prior art keywords
- data
- compression
- json
- service
- 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.)
- Pending
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 32
- 238000013144 data compression Methods 0.000 title claims abstract description 23
- 238000007906 compression Methods 0.000 claims abstract description 46
- 230000006835 compression Effects 0.000 claims abstract description 46
- 238000004891 communication Methods 0.000 claims description 17
- 230000006837 decompression Effects 0.000 claims description 10
- 238000004458 analytical method Methods 0.000 claims description 3
- 238000007405 data analysis Methods 0.000 claims description 3
- 238000009877 rendering Methods 0.000 claims description 3
- 238000000034 method Methods 0.000 abstract description 6
- 238000011161 development Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000003550 marker Substances 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 210000001072 colon Anatomy 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/126—Character encoding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/151—Transformation
- G06F40/157—Transformation using dictionaries or tables
-
- 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
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3084—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
- H03M7/3088—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method employing the use of a dictionary, e.g. LZ78
-
- 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/0014—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the source coding
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Finance (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Accounting & Taxation (AREA)
- General Business, Economics & Management (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Technology Law (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明公开了一种基于JSON格式的证券行情数据压缩传输算法,包括以下步骤:证券行情数据查询、分析数据、业务系统以及运行状态,所述证券行情数据查询包括查询Gid信息,所述Gid信息查询内设有字段描述信息,所述字段描述信息内设有行情数据,所述行情内设有数据标记。本发明为证券实时行情传输提供了一个高效、准确易于部署应用的无损压缩算法。该算法针对证券行情数据(较大冗余、较多固定关键字、大量的数值、格式稳定)的特点,采用多种压缩策略,在保证高压缩比的情况下,仍能保证运行效率。可以满足,证券行情数据实时传输的要求(及时、高效、准确,提升网络使用率)。同时也可以进行不同平台、语言的移植。
Description
技术领域
本发明涉及计算机金融技术领域,尤其涉及一种基于JSON格式的证券行情数据压缩传输算法。
背景技术
为满足证券行业对行情数据传输的及时、高效、准确以及数据量大的要求。针对性的从报文格式、数据特定方面,发明本压缩算法。该算法为无损可逆压缩算法。行情数据经该算法压缩,并通过网络传输后,可以无损的还原。其原始内容不会因为传输路径、传输时间和传输方式的变化而改变。满足了传输效率、降低网络带宽、提升了网络使用效率,同时保证了压缩和解压算法的高效安全性。避免了因压缩和解压过程带来的不必要性能损耗和失真而影响行情最终展示的实时性。
目前计算机金融领域常见的数据传输压缩算法为FAST和Binary两种,其中上交所采用FAST传输压缩算法,FAST算法对行情数据进行编码压缩,利用先后发送的消息间的字段数据的规律和相互联系来降低冗余度;深交所采用Binary传输压缩算法,Binary协议是基于OpenCL开发,运行于具备网络通信功能的FPGA板卡和x86服务器构建的异构平台,进行行情解码和行情分发。具有较高的压缩比和传输效率,上交所采用FAST算法对行情数据进行编码压缩。利用先后发送的消息间的字段数据的规律和相互联系来降低冗余度。为此,FAST定义了拷贝(copy)、差值(delta)、缺省(default)、递增(increment)、常值(constant)、换尾(tail)等逻辑运算符(operator)来对字段进行优化运算。具有较高的压缩比和传输效率。该协议应用于上交所的LDDS系统中,FAST协议本身分为模板文件和压缩流两部分,模板文件采用XML格式冗余较大。压缩部分采用STEP编码方式。使用FAST协议需要对协议有较深入的了解,开发工作量较大,不利于快速开发新的应用,深交所采用Binary协议是基于OpenCL开发,运行于具备网络通信功能的FPGA板卡和x86服务器构建的异构平台,进行行情解码和行情分发,具有较高的压缩比和传输效率。
发明内容
本发明的目的是为了解决现有技术中存在的缺点,针对终端用户的金融行情数据传输特点,充分利用其内容冗余较大、数据类型较单一、固定字段较多特点,可以有效提升数据的压缩比和解压缩效率,而提出的一种基于JSON格式的证券行情数据压缩传输算法。
为了实现上述目的,本发明采用了如下技术方案:
一种基于JSON格式的证券行情数据压缩传输算法,包括以下步骤:证券行情数据查询、分析数据、业务系统以及运行状态,所述证券行情数据查询包括查询Gid信息,所述Gid信息查询内设有字段描述信息,所述字段描述信息内设有行情数据,所述行情内设有数据标记,所述数据标记内对数据进行描述的数据表描述信息,将数据表描述信息传输至Json进行数据分析。
优选地,所述分析数据包括:
S1、初始化字典表,首先要初始化压缩所需的字典。由于行情报文中有大量的固定且重复的关键字,这些关键字都有一个固定的含义,可以使用一个固定的字符进行编码,解压时,通过查询字典找到其对应的关键字并还原;
S2、遍历json行情报文,判断要解析的json对象类型,并根据json对象的类型,对遇到的json进行压缩,所述json报文对对象进行分析,若对象是数字数组类型,则按照数量进行数据压缩,减少数字长度,若对象是关键字,则对关键字进行查表,使用特定字符进行替换,若对象使字符串,则采用字符串压缩算法,若对象是单数值,则采用数据压缩,减少数字长度,若对象是行情代码,则采用行情代码压缩算法;
S3、对遍历json进行递归,直至报文遍历完成。
优选地,所述业务系统包括客户端与服务端,所述客户端内设有业务模块、压缩算法模块以及网络通讯模块,所述业务模块、压缩算法模块以及网络通讯模块之间的信息单向传递,所述服务端包括网络通讯模块、压缩算法模块以及业务模块,所述服务端包括网络通讯模块、压缩算法模块以及业务模块之间的信息单向传递,而两个网络通讯模块之间互相传输压缩报文。
优选地,所述业务系统包括用户发送登录请求至客户端,客户端发送登录报文至服务端,服务端准备数据字典,数据字典发送解压所需的数据字典。
优选地,所述业务系统包括初始化本地数据字典,业务请求发送业务需求至本地数据字典,本地数据字典根据业务数据类型对业务数据进行数据压缩。
优选地,所述业务系统包括对压缩之后的业务数据进行解压,之后再对解压之后的数据进行数据渲染,再将渲染之后的数据传输至业务请求,从而达到对业务请求所需要的数据。
本发明的有益效果:
1、通过对原始数据采用Json格式,较FAST的XML模板文件减少更多冗余,可以快速的被应用到各种不同类型的平台设备,方便移植。通过对数值类型的内容进行增量压缩,在不影响性能的情况下提升了压缩比。
2、通过对大量固定的字段信息,采用字典压缩方式,固定编码。并提供易于使用的API,仅有compress和decompress两个接口,易于使用,不会给使用者带来额外负担。
附图说明
图1为本发明一种基于JSON格式的证券行情数据压缩传输算法的JSON格式的证券行情数据结构示意图;
图2为本发明一种基于JSON格式的证券行情数据压缩传输算法的压缩算法流程示意图;
图3为本发明一种基于JSON格式的证券行情数据压缩传输算法的压缩算法在业务系统中的集成示意图;
图4为本发明一种基于JSON格式的证券行情数据压缩传输算法的压缩算法在业务系统运行期序列图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
在本发明的描述中,需要理解的是,术语“上”、“下”、“前”、“后”、“左”、“右”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
参照图1-4,一种基于JSON格式的证券行情数据压缩传输算法,包括以下步骤:证券行情数据查询、分析数据、业务系统以及运行状态,所述证券行情数据查询包括查询Gid信息,所述Gid信息查询内设有字段描述信息,所述字段描述信息内设有行情数据,所述行情内设有数据标记,所述数据标记内对数据进行描述的数据表描述信息,将数据表描述信息传输至Json进行数据分析。
所述分析数据包括:
S1、初始化字典表,首先要初始化压缩所需的字典。由于行情报文中有大量的固定且重复的关键字,这些关键字都有一个固定的含义,可以使用一个固定的字符进行编码,解压时,通过查询字典找到其对应的关键字并还原;
S2、遍历json行情报文,判断要解析的json对象类型,并根据json对象的类型,对遇到的json进行压缩,所述json报文对对象进行分析,若对象是数字数组类型,则按照数量进行数据压缩,减少数字长度,若对象是关键字,则对关键字进行查表,使用特定字符进行替换,若对象使字符串,则采用字符串压缩算法,若对象是单数值,则采用数据压缩,减少数字长度,若对象是行情代码,则采用行情代码压缩算法;
S3、对遍历json进行递归,直至报文遍历完成。
所述业务系统包括客户端与服务端,所述客户端内设有业务模块、压缩算法模块以及网络通讯模块,所述业务模块、压缩算法模块以及网络通讯模块之间的信息单向传递,所述服务端包括网络通讯模块、压缩算法模块以及业务模块,所述服务端包括网络通讯模块、压缩算法模块以及业务模块之间的信息单向传递,而两个网络通讯模块之间互相传输压缩报文。
所述业务系统包括用户发送登录请求至客户端,客户端发送登录报文至服务端,服务端准备数据字典,数据字典发送解压所需的数据字典。
所述业务系统包括初始化本地数据字典,业务请求发送业务需求至本地数据字典,本地数据字典根据业务数据类型对业务数据进行数据压缩。
所述业务系统包括对压缩之后的业务数据进行解压,之后再对解压之后的数据进行数据渲染,再将渲染之后的数据传输至业务请求,从而达到对业务请求所需要的数据。
本发明使用时,针对的是基于Json格式的行情数据,首先对Json格式进行简单的描述,JSON(全称:JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,可以在多种语言之间进行数据交换,JSON是一个标记符的序列,这套标记符包含六个构造字符、字符串、数字和三个字面名,采用6个构造字符:"["左方括号、"{"左大括号、"]"右方括号、"}"右大括号、":"冒号和","逗号。Json的数据类型为:对象、数组、数字、字符串或者三个字面值(false、null、true)中的一个,可以看到采用Json数据格式,易于使用,方便人机之间交互,也易于不同语言之间进行交互。同时Json有存在较大的冗余,易于压缩,非常适合作为证券数据的传输的载体,本压缩算法充分依据行情报文的特点针对性的进行压缩。针对行情数据中的关键字,数值类型、数值数组,字符数组,以及行情代码,分别制定相应的压缩算法加以压缩,可以保证达到较高的压缩比的情况下有着较好的处理性能。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
Claims (6)
1.一种基于JSON格式的证券行情数据压缩传输算法,其特征在于,包括以下步骤:证券行情数据查询、分析数据、业务系统以及运行状态,所述证券行情数据查询包括查询Gid信息,所述Gid信息查询内设有字段描述信息,所述字段描述信息内设有行情数据,所述行情内设有数据标记,所述数据标记内对数据进行描述的数据表描述信息,将数据表描述信息传输至Json进行数据分析。
2.根据权利要求1所述的一种基于JSON格式的证券行情数据压缩传输算法,其特征在于,所述分析数据包括:
S1、初始化字典表,首先要初始化压缩所需的字典。由于行情报文中有大量的固定且重复的关键字,这些关键字都有一个固定的含义,可以使用一个固定的字符进行编码,解压时,通过查询字典找到其对应的关键字并还原;
S2、遍历json行情报文,判断要解析的json对象类型,并根据json对象的类型,对遇到的json进行压缩,所述json报文对对象进行分析,若对象是数字数组类型,则按照数量进行数据压缩,减少数字长度,若对象是关键字,则对关键字进行查表,使用特定字符进行替换,若对象使字符串,则采用字符串压缩算法,若对象是单数值,则采用数据压缩,减少数字长度,若对象是行情代码,则采用行情代码压缩算法;
S3、对遍历json进行递归,直至报文遍历完成。
3.根据权利要求2所述的一种基于JSON格式的证券行情数据压缩传输算法,其特征在于,所述业务系统包括客户端与服务端,所述客户端内设有业务模块、压缩算法模块以及网络通讯模块,所述业务模块、压缩算法模块以及网络通讯模块之间的信息单向传递,所述服务端包括网络通讯模块、压缩算法模块以及业务模块,所述服务端包括网络通讯模块、压缩算法模块以及业务模块之间的信息单向传递,而两个网络通讯模块之间互相传输压缩报文。
4.根据权利要求3所述的一种基于JSON格式的证券行情数据压缩传输算法,其特征在于,所述业务系统包括用户发送登录请求至客户端,客户端发送登录报文至服务端,服务端准备数据字典,数据字典发送解压所需的数据字典。
5.根据权利要求4所述的一种基于JSON格式的证券行情数据压缩传输算法,其特征在于,所述业务系统包括初始化本地数据字典,业务请求发送业务需求至本地数据字典,本地数据字典根据业务数据类型对业务数据进行数据压缩。
6.根据权利要求5所述的一种基于JSON格式的证券行情数据压缩传输算法,其特征在于,所述业务系统包括对压缩之后的业务数据进行解压,之后再对解压之后的数据进行数据渲染,再将渲染之后的数据传输至业务请求,从而达到对业务请求所需要的数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311389263.1A CN117709300A (zh) | 2023-10-25 | 2023-10-25 | 一种基于json格式的证券行情数据压缩传输算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311389263.1A CN117709300A (zh) | 2023-10-25 | 2023-10-25 | 一种基于json格式的证券行情数据压缩传输算法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117709300A true CN117709300A (zh) | 2024-03-15 |
Family
ID=90157734
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311389263.1A Pending CN117709300A (zh) | 2023-10-25 | 2023-10-25 | 一种基于json格式的证券行情数据压缩传输算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117709300A (zh) |
-
2023
- 2023-10-25 CN CN202311389263.1A patent/CN117709300A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9300764B2 (en) | High efficiency binary encoding | |
CN109818930B (zh) | 一种基于tcp协议的通讯文本数据传输方法 | |
CN109902274B (zh) | 一种将json字符串转化为thrift二进制流的方法及系统 | |
CN112330456B (zh) | 一种超低延时硬件加速行情数据流解析系统 | |
CN110445860B (zh) | 一种报文发送方法、装置、终端设备及存储介质 | |
EA024623B1 (ru) | Способ и система передачи данных и терминал передачи данных | |
CN103346800B (zh) | 一种数据压缩方法及装置 | |
JP2007124561A (ja) | データ圧縮方法及び圧縮データ送信方法 | |
CN104486396B (zh) | 一种跨平台的网络数据的传输方法 | |
CN109861998B (zh) | 一种基于北斗短报文协议的插件式动态解析系统及方法 | |
CN114492316B (zh) | 数据交换编解码方法和系统 | |
CN1426629A (zh) | 使用多个编码器的优化无损压缩的方法和装置 | |
CA2428788A1 (en) | Static information knowledge used with binary compression methods | |
JP4548184B2 (ja) | 圧縮規則生成方法、圧縮通信装置及びプログラム | |
US20120110025A1 (en) | Coding order-independent collections of words | |
CN101469989A (zh) | 一种手机网络导航中导航数据的压缩方法 | |
CN108563795A (zh) | 一种加速压缩流量正则表达式匹配的Pairs方法 | |
CN117709300A (zh) | 一种基于json格式的证券行情数据压缩传输算法 | |
CN104021121A (zh) | 一种文本数据压缩方法、装置及服务器 | |
US9235610B2 (en) | Short string compression | |
CN108573069B (zh) | 一种加速压缩流量正则表达式匹配的Twins方法 | |
CN112017049B (zh) | 一种证券行情转发系统和方法 | |
CN102387123A (zh) | 一种优化x协议的远程桌面系统和方法 | |
CN106790201A (zh) | 一种传输数据的方法和装置 | |
CN113411307A (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 |