CN107391463A - 一种行情数据压缩方法及系统 - Google Patents

一种行情数据压缩方法及系统 Download PDF

Info

Publication number
CN107391463A
CN107391463A CN201710597285.5A CN201710597285A CN107391463A CN 107391463 A CN107391463 A CN 107391463A CN 201710597285 A CN201710597285 A CN 201710597285A CN 107391463 A CN107391463 A CN 107391463A
Authority
CN
China
Prior art keywords
data
market data
market
array
floating
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
Application number
CN201710597285.5A
Other languages
English (en)
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 Golden Master Network Technology Co Ltd
Original Assignee
Shanghai Golden Master Network 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 Golden Master Network Technology Co Ltd filed Critical Shanghai Golden Master Network Technology Co Ltd
Priority to CN201710597285.5A priority Critical patent/CN107391463A/zh
Publication of CN107391463A publication Critical patent/CN107391463A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/146Coding or compression of tree-structured data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明公开了一种行情数据压缩方法及系统,该压缩方法包括:行情数据压缩,将protobuf中存储的浮点数据转化为整数数据,对相邻两条行情数据的数值进行求差处理,并将所有行情数据合并为一个数组;行情数据解压,将合并的数组进行等长分割,每一份分割的数组片段对应一条行情数据,对相邻的两条行情数据的数值进行求和处理,并将整数数据还原为相应的浮点数据。本发明的系统对应本发明的方法。本发明将金融类行情数据在protobuf技术基础上做了进一步地压缩处理,方法简单,易于实现,有效地降低每条行情在网络中的传输长度,节约存储空间。

Description

一种行情数据压缩方法及系统
技术领域
本发明涉及到计算机数据处理技术领域,具体地,涉及一种行情数据压缩方法及系统。
背景技术
金融类行情每个交易日数据庞大,仅上海黄金市场每个交易日就可达百万条行情数据。如果能够降低每条行情在网络中传输的数据长度,则能够大量降低用户的流量,减少企业服务器的带宽资源。
现有技术中,申请号为:CN201410340117.4,名称为“一种数据存储方法及装置”,该方法包括:获取交易所的行情数据;将获取的行情数据按照所述行情数据所属的交易所进行拆分,并保留拆分后行情数据中的有效数值;在每个预设间隔时间内,统计所述有效数值的交易价格信息,得到一数据集合;存储所述有效数值中变化后的数据,以及存储所述数据集合中变化后的数据;压缩并存储所述有效数值中没有变化的数据,以及压缩并存储所述数据集合中没有变化的数据。
申请号为:CN200910047004.4,名称为“移动多媒体广播数据的压缩方法”,该数据与金融业务信息相关,其中,该压缩方法包括:形成数据组头,数据组头包括数据广播扩展业务同步字,8位字段,标识扩展数据业务数据包头的起始字节;数据净荷长度,10位字段,标识数据净荷的长度,以字节为单位;加密类型,2位字段,表示数据净荷使用的加密类型;压缩类型,2位字段,表示数据净荷使用的压缩编码类型;校验类型,2位字段,表示对数据净荷使用的校验类型;扩展数据业务类型标识,8位字段,表示当前数据组所表示的业务类型的编码;8位字段,保留;校验字,16位字段,表示对数据净荷根据一定校验算法计算产生的16位校验字处理;形成数据组数据净荷,数据组净荷为8N位字段。
申请号为:CN201511032477.9,名称为“一种利用protobuf的数据存储、读取方法及装置”,利用protobuf的数据存储方法包括:获取待存储数据;构建用于存储待存储数据的目标消息实例并根据预定规则定义该目标消息实例的名称;从proto包文件中获得与所述目标消息实例的名称相关的目标存储标识所对应的目标关联配置信息,proto包文件存储有与消息实例的名称相关的存储标识以及与所述存储标识对应的关联配置信息;将目标消息实例存储到数据库中目标关联配置信息所指示的存储位置。与现有技术相比,protobuf技术不需要配置文件,不需要人工维护proto源文件与配置文件的一致性,大大降低了人工维护成本。
公开号为CN103378863A、发明名称为“空间数据压缩、解压与渐进传输的有关方法与装置”,解决了空间数据压缩及渐进传输的方法计算量大、效率低以及不能保证所有经压缩后的空间数据之间的空间关系正确显示的问题,然而,虽然该申请和本发明都是用于数据压缩,然而,该申请只应用于三维数据压缩,不能够对二维数据进行压缩,并且该申请的数据粒度宏观,该申请其与本申请所要解决的技术问题完全不同,本申请为了解决二维行情数据压缩,通过protobuf的基础进行处理压缩。
由于,protobuf技术对数据的存储已经进行了优化,本发明结合金融业务行情数据的特点在protobuf技术基础上对数据存储的进一步压缩技术进行研究。
发明内容
针对上述技术问题,本发明的目的在于提供一种行情数据压缩方法及系统,将金融类行情数据在protobuf技术基础上做了进一步地压缩处理,方法简单,易于实现,其中,protobuf是一种Google开源技术,用于协议以及协议中涉及的数据存储的自带压缩。
为实现上述目的,本发明是根据以下技术方案实现的:
一种行情数据压缩方法,包括如下步骤:
步骤S1:将行情数据进行压缩,其中,将protobuf中存储的浮点数据转化为整数数据,对相邻两条行情数据的数值进行求差处理,并将所有行情数据合并为一个数组;
步骤S2:将行情数据进行解压,其中,将合并的数组进行等长分割,每一份分割的数组片段对应一条行情数据,对相邻的两条行情数据的数值进行求和处理,并将整数数据还原为相应的浮点数据。
上述技术方案中,步骤S1具体包括如下步骤:
步骤S101:将protobuf中存储的浮点数据按照浮点数据有效小数点的位数进行相应倍数的放大;
步骤S102:将当前处理的行情数据与前一条行情数据进行对应字段做差运算;
步骤S103:按顺序依次地将每条行情数据的每个字段放到一个整形数组中。
上述技术方案中,步骤S2具体包括如下步骤:
步骤S201:根据整形数组的第一个元素对该整形数组进行等长分割,每一份分割得到的数组片段对应一条行情数据;
步骤S302:将当前处理的行情数据与前一条行情数据进行对应字段求和运算;
步骤S303:将得到的整数除以相应放大的倍数,得到原始的浮点数据。
本发明提出的一种行情数据压缩系统,包括:
行情数据压缩模块:用于将protobuf中存储的浮点数据转化为整数数据,对相邻两条行情数据的数值进行求差处理,并将所有行情数据合并为一个数组;
行情数据解压模块:用于将合并的数组进行等长分割,每一份分割的数组片段对应一条行情数据,对相邻的两条行情数据的数值进行求和处理,并将整数数据还原为相应的浮点数据。
上述技术方案中,所述行情数据压缩模块包括:
数据放大子模块:将protobuf中存储的浮点数据按照浮点数据有效小数点的位数进行相应倍数的放大;
数据求差子模块:将当前处理的行情数据与前一条行情数据进行对应字段做差运算;
数据合并子模块:按顺序依次地将每条行情数据的每个字段放到一个整形数组中。
上述技术方案中,所述行情数据解压模块包括:
数据拆解子模块:根据整形数组的第一个元素对该整形数组进行等长分割,每一份分割得到的数组片段对应一条行情数据;
数据求和子模块:将当前处理的行情数据与前一条行情数据进行对应字段求和运算;
数据缩放子模块:将得到的整数除以相应放大的倍数,得到原始的浮点数据。
本发明与现有技术相比,具有如下有益效果:
本发明通过将行情数据中的浮点数据转化为整数数据,并将整数数据合并为一个数组进行保存,从而有效地降低每条行情在网络中的传输长度,节约存储空间。在调取数据时,只要经过逆处理,也即将数组进行分割,并对分割后的整数数据进行还原,即可得到初始的浮点数据。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1为本发明提供的行情数据压缩方法的流程示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
每个行情数据由若干个字段构成,每个字段的数据类型为整形,浮点类型或字符串类型,本发明中的方法不对字符串类型的数据进行处理。本发明中的方法的输入与输出的行情数据使用protobuf进行定义的。protobuf存放整形时会根据数据的实际值大小而不是根据类型定义来分配空间存放。例如:一个字段定义为int64类型,存储值120只要一个字节,而不是8个字节。本发明主要是利用这个特性将数据浮点数据转换成整形数据。
本发明的一种行情数据压缩方法,包括如下步骤:
步骤S1:将行情数据进行压缩,其中,将protobuf中存储的浮点数据转化为整数数据,对相邻两条行情数据的数值进行求差处理,并将所有行情数据合并为一个数组;
步骤S2:将行情数据进行解压,其中,将合并的数组进行等长分割,每一份分割的数组片段对应一条行情数据,对相邻的两条行情数据的数值进行求和处理,并将整数数据还原为相应的浮点数据。
步骤S1具体包括如下步骤:
步骤S101:将protobuf中存储的浮点数据按照浮点数据有效小数点的位数进行相应倍数的放大;由于在protobuf中存储一个值相同的浮点数比整数所需的存储空间更大,所以需要将其转换成整数。根据数据有效小数点位数进行相应倍数的放大,例如:两位小数的数据274.32乘以100后得到27432。数据放大多少倍是预配置的,且每个合约的扩大的倍数是一样的,如果字段是整形数据不进行放大处理。
步骤S102:将当前处理的行情数据与前一条行情数据进行对应字段做差运算;其中,相邻的两条行情数值相差很小,数据传输时传递差值比传递实际的值所需的储存空间会更小。
步骤S103:按顺序依次地将每条行情数据的每个字段放到一个整形数组中,其中,所述整形数组的第一个元素为对应行情的字段数;由于protobuf对每个字段固有信息需要一定的存储空间,所以将所有条的数据合并到一个字段中可节省存储空间。
步骤S2具体包括如下步骤:
步骤S201:根据整形数组的第一个元素对该整形数组进行等长分割,每一份分割得到的数组片段对应一条行情数据;
步骤S302:将当前处理的行情数据与前一条行情数据进行对应字段求和运算;
步骤S303:将得到的整数除以相应放大的倍数,得到原始的浮点数据。
图1为本发明提供的行情数据压缩方法的简易流程示意图。
本发明的一种行情数据压缩系统,包括:
行情数据压缩模块:用于将protobuf中存储的浮点数据转化为整数数据,对相邻两条行情数据的数值进行求差处理,并将所有行情数据合并为一个数组;
行情数据解压模块:用于将合并的数组进行等长分割,每一份分割的数组片段对应一条行情数据,对相邻的两条行情数据的数值进行求和处理,并将整数数据还原为相应的浮点数据。
行情数据压缩模块包括:
数据放大子模块:将protobuf中存储的浮点数据按照浮点数据有效小数点的位数进行相应倍数的放大;由于在protobuf中存储一个值相同的浮点数比整数所需的存储空间更大,所以需要将其转换成整数。根据数据有效小数点位数进行相应倍数的放大,例如:两位小数的数据274.32乘以100后得到27432。数据放大多少倍是预配置的,且每个合约的扩大的倍数是一样的,如果字段是整形数据不进行放大处理。
数据求差子模块:将当前处理的行情数据与前一条行情数据进行对应字段做差运算;其中,相邻的两条行情数值相差很小,数据传输时传递差值比传递实际的值所需的储存空间会更小。
数据合并子模块:按顺序依次地将每条行情数据的每个字段放到一个整形数组中,其中,所述整形数组的第一个元素为对应行情的字段数;由于protobuf对每个字段固有信息需要一定的存储空间,所以将所有条的数据合并到一个字段中可节省存储空间。
行情数据解压模块包括:
数据拆解子模块:根据整形数组的第一个元素对该整形数组进行等长分割,每一份分割得到的数组片段对应一条行情数据;
数据求和子模块:将当前处理的行情数据与前一条行情数据进行对应字段求和运算;
数据缩放子模块:将得到的整数除以相应放大的倍数,得到原始的浮点数据。
需要说明的是,本发明提供的所述行情数据压缩方法中的步骤,可以利用行情数据压缩方法系统中对应的模块、装置、单元等予以实现,本领域技术人员可以参照所述系统的技术方案实现所述方法的步骤流程,即,所述系统中的实施例可理解为实现所述方法的优选例,在此不予赘述。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统及其各个装置以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统及其各个装置以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同功能。所以,本发明提供的系统及其各项装置可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构;也可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。

Claims (6)

1.一种行情数据压缩方法,其特征在于,包括如下步骤:
步骤S1:将行情数据进行压缩,其中,将protobuf中存储的浮点数据转化为整数数据,对相邻两条行情数据的数值进行求差处理,并将所有行情数据合并为一个数组;
步骤S2:将行情数据进行解压,其中,将合并的数组进行等长分割,每一份分割的数组片段对应一条行情数据,对相邻的两条行情数据的数值进行求和处理,并将整数数据还原为相应的浮点数据。
2.根据权利要求1所述的行情数据压缩方法,其特征在于,步骤S1具体包括如下步骤:
步骤S101:将protobuf中存储的浮点数据按照浮点数据有效小数点的位数进行相应倍数的放大;
步骤S102:将当前处理的行情数据与前一条行情数据进行对应字段做差运算;
步骤S103:按顺序依次地将每条行情数据的每个字段放到一个整形数组中。
3.根据权利要求1所述的行情数据压缩方法,其特征在于,步骤S2具体包括如下步骤:
步骤S201:根据整形数组的第一个元素对该整形数组进行等长分割,每一份分割得到的数组片段对应一条行情数据;
步骤S302:将当前处理的行情数据与前一条行情数据进行对应字段求和运算;
步骤S303:将得到的整数除以相应放大的倍数,得到原始的浮点数据。
4.一种行情数据压缩系统,其特征在于,包括:
行情数据压缩模块:用于将protobuf中存储的浮点数据转化为整数数据,对相邻两条行情数据的数值进行求差处理,并将所有行情数据合并为一个数组;
行情数据解压模块:用于将合并的数组进行等长分割,每一份分割的数组片段对应一条行情数据,对相邻的两条行情数据的数值进行求和处理,并将整数数据还原为相应的浮点数据。
5.根据权利要求4所述的一种行情数据压缩系统,其特征在于,所述行情数据压缩模块包括:
数据放大子模块:将protobuf中存储的浮点数据按照浮点数据有效小数点的位数进行相应倍数的放大;
数据求差子模块:将当前处理的行情数据与前一条行情数据进行对应字段做差运算;
数据合并子模块:按顺序依次地将每条行情数据的每个字段放到一个整形数组中。
6.根据权利要求4所述的一种行情数据压缩系统,其特征在于,所述行情数据解压模块包括:
数据拆解子模块:根据整形数组的第一个元素对该整形数组进行等长分割,每一份分割得到的数组片段对应一条行情数据;
数据求和子模块:将当前处理的行情数据与前一条行情数据进行对应字段求和运算;
数据缩放子模块:将得到的整数除以相应放大的倍数,得到原始的浮点数据。
CN201710597285.5A 2017-07-20 2017-07-20 一种行情数据压缩方法及系统 Pending CN107391463A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710597285.5A CN107391463A (zh) 2017-07-20 2017-07-20 一种行情数据压缩方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710597285.5A CN107391463A (zh) 2017-07-20 2017-07-20 一种行情数据压缩方法及系统

Publications (1)

Publication Number Publication Date
CN107391463A true CN107391463A (zh) 2017-11-24

Family

ID=60337335

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710597285.5A Pending CN107391463A (zh) 2017-07-20 2017-07-20 一种行情数据压缩方法及系统

Country Status (1)

Country Link
CN (1) CN107391463A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110198171A (zh) * 2018-03-15 2019-09-03 腾讯科技(深圳)有限公司 数据压缩方法、装置、计算机可读介质及电子设备
CN110677245A (zh) * 2019-09-26 2020-01-10 昆明市测绘研究院 基于加密狗的坐标转换参数加密与解密方法
CN110874346A (zh) * 2018-08-30 2020-03-10 Sap欧洲公司 浮点值的压缩方案
CN111078188A (zh) * 2019-12-16 2020-04-28 广东三维家信息科技有限公司 JavaScript运算中浮点数据处理方法、装置及电子设备
CN111104776A (zh) * 2019-12-23 2020-05-05 苏州思必驰信息科技有限公司 一种浮点数处理方法、装置及电子设备
CN111651490A (zh) * 2020-06-04 2020-09-11 深圳前海微众银行股份有限公司 数据筛选方法、装置、设备及计算机存储介质
CN112003814A (zh) * 2019-05-27 2020-11-27 招商证券股份有限公司 行情数据处理方法、装置、终端设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102103630A (zh) * 2010-12-08 2011-06-22 中国联合网络通信集团有限公司 数据压缩方法和装置以及数据解压缩方法和装置
CN102932001A (zh) * 2012-11-08 2013-02-13 大连民族学院 运动捕获数据压缩、解压缩方法
CN103457610A (zh) * 2013-08-30 2013-12-18 百度在线网络技术(北京)有限公司 一种空间数据的编码方法及系统
CN106055275A (zh) * 2016-05-24 2016-10-26 深圳市敢为软件技术有限公司 数据压缩记录方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102103630A (zh) * 2010-12-08 2011-06-22 中国联合网络通信集团有限公司 数据压缩方法和装置以及数据解压缩方法和装置
CN102932001A (zh) * 2012-11-08 2013-02-13 大连民族学院 运动捕获数据压缩、解压缩方法
CN103457610A (zh) * 2013-08-30 2013-12-18 百度在线网络技术(北京)有限公司 一种空间数据的编码方法及系统
CN106055275A (zh) * 2016-05-24 2016-10-26 深圳市敢为软件技术有限公司 数据压缩记录方法及装置

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110198171A (zh) * 2018-03-15 2019-09-03 腾讯科技(深圳)有限公司 数据压缩方法、装置、计算机可读介质及电子设备
CN110198171B (zh) * 2018-03-15 2022-04-12 腾讯科技(深圳)有限公司 数据压缩方法、装置、计算机可读介质及电子设备
CN110874346A (zh) * 2018-08-30 2020-03-10 Sap欧洲公司 浮点值的压缩方案
CN110874346B (zh) * 2018-08-30 2023-09-29 Sap欧洲公司 浮点值的压缩方案
CN112003814A (zh) * 2019-05-27 2020-11-27 招商证券股份有限公司 行情数据处理方法、装置、终端设备及存储介质
CN110677245A (zh) * 2019-09-26 2020-01-10 昆明市测绘研究院 基于加密狗的坐标转换参数加密与解密方法
CN111078188A (zh) * 2019-12-16 2020-04-28 广东三维家信息科技有限公司 JavaScript运算中浮点数据处理方法、装置及电子设备
CN111104776A (zh) * 2019-12-23 2020-05-05 苏州思必驰信息科技有限公司 一种浮点数处理方法、装置及电子设备
CN111651490A (zh) * 2020-06-04 2020-09-11 深圳前海微众银行股份有限公司 数据筛选方法、装置、设备及计算机存储介质

Similar Documents

Publication Publication Date Title
CN107391463A (zh) 一种行情数据压缩方法及系统
Li et al. A fundamental tradeoff between computation and communication in distributed computing
CN107046812B (zh) 一种数据保存方法和装置
CN108197324B (zh) 用于存储数据的方法和装置
WO2018103452A1 (zh) 信息位图的编码、解码方法、装置及存储介质
CN103179133B (zh) 基于实体类的客户端与服务器通信的方法
CN101702639B (zh) 循环冗余校验的校验值计算方法及装置
CN108989205B (zh) 身份标识、路由数据生成方法、装置及服务器
CN109493043A (zh) 交易记录区块化方法、装置、电子设备及存储介质
CN105704028A (zh) 报文处理方法及装置
CN104580158A (zh) 一种分布式平台文件与内容分发方法及系统
CN104462524A (zh) 一种物联网数据压缩存储方法
CN101197773A (zh) 基于多链路的报文压缩发送和接收解压缩方法及系统
CN110413354B (zh) 一种实现与第三方平台交互的方法、设备以及存储介质
CN108347300A (zh) 一种调整Polar码的方法、装置及编译码装置
CN111770150B (zh) 访问流量控制方法、装置及电子设备
CN111259013A (zh) 一种存储数据的方法和装置
CN111367916B (zh) 一种数据存储方法及装置
US10230391B2 (en) Compression and/or encryption of a file
CN114422608B (zh) 一种数据传输方法、装置及设备
CN113704206B (zh) 一种元数据的处理方法、装置、电子设备及存储介质
CN104636377A (zh) 数据压缩方法及设备
Lin et al. Data synchronization algorithm for IoT gateway and platform
CN115499244A (zh) 一种基于数据湖的流式数据安全传输和存储方法
CN112017049B (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20171124