一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种金融数据带宽压缩方法和装置与流程

2022-04-27 12:22:56 来源:中国专利 TAG:


1.本发明涉及一种数据带宽的压缩方法和装置,具体涉及一种应用于金融期货领域的数据带宽压缩方法和装置。


背景技术:

2.随着中国金融市场的全面开放和程序化交易的盛行,越来越多的投资者参与到了金融衍生品的投资领域,从而掀起了投资者对交易系统速度追求的热潮。然而由于金融数据的数据量大、数据交互频繁的特点,使得低延迟、低带宽的追求目标面临很大的挑战。


技术实现要素:

3.以下给出一个或多个方面的简要概述以提供对这些方面的基本理解。此概述不是所有构想到的方面的详尽综览,并且既非旨在指认出所有方面的关键性或决定性要素亦非试图界定任何或所有方面的范围。其唯一的目的是要以简化形式给出一个或多个方面的一些概念以为稍后给出的更加详细的描述之序。
4.本发明的目的在于解决上述问题,提供了一种金融数据带宽压缩方法和装置,在保证数据完整性及时效性的基础上降低了带宽,解决金融数据尤其是金融期货数据的传输高带宽、高延时的问题,提升了数据传输性能。
5.本发明的技术方案为:本发明揭示了一种金融数据带宽压缩方法,方法包括数据转译压缩过程和数据解压过程,其中:
6.数据转译压缩过程进一步包括:
7.步骤11:判断待发送的数据是否为对应类型下的首个数据,如果是首个数据消息,则转入步骤13;如果不是首个数据消息,则转入步骤12,其中数据是按照业务类型进行分类;
8.步骤12:将该数据和对应类型下的上一笔数据进行逐字节相减,然后转入步骤13;
9.步骤13:对于对应类型下的首个数据、或者经步骤12的逐字节相减后的数据,进行逐字节的转译;
10.步骤14:将转译后的数据进行发送,数据转译压缩过程结束;
11.数据解压过程进一步包括:
12.步骤21:将接收到的数据进行逐字节解析;
13.步骤22:判断接收到的数据是否为对应类型下的首个数据。如果是则转入步骤24,如果不是则转入步骤23;
14.步骤23:将逐字节解析后的数据和对应类型下的上一笔数据进行逐字节相加;
15.步骤24:将逐字节解析后的对应类型下的首个数据、或者经步骤23的逐字节相加后的数据进行存储。
16.根据本发明的金融数据带宽压缩方法的一实施例,步骤13的逐字节转译过程为:对于值为0xff的字节,转译为0xffff,对于值为0的字节,用0xff01~0xfffe表示连续为0的
字节的个数,其他值的字节不做转译。
17.根据本发明的金融数据带宽压缩方法的一实施例,步骤21的逐字节解析过程为:对于0xffff解析为0xff,对于0xff01~0xfffe解析为对应个数的0x00,其他数据无需解析。
18.本发明还揭示了一种金融数据带宽压缩装置,包括转译压缩装置和解压装置,其中:
19.转译压缩装置包括:
20.转译前处理模块,配置为针对对应类型下的首个数据不做处理,针对对应类型下的非首个数据,将其和对应类型下的上一笔数据进行逐字节相减,其中数据是按照业务类型进行分类;
21.转译模块,配置为对转译前处理模块的输出结果进行逐字节转译;
22.发送模块,配置为将转译模块的输出进行发送;
23.解压装置包括:
24.解析模块,配置为将接收到的数据进行逐字节解析;
25.解析后处理模块,配置为对于对应类型下的首个数据不做处理,对于对应类型下的非首个数据,将其和对应类型下的上一笔数据进行逐字节相加;
26.存储模块,配置为将解析后处理模块的输出进行存储。
27.根据本发明的金融数据带宽压缩装置的一实施例,转译模块中的逐字节转译过程为:对于值为0xff的字节,转译为0xffff,对于值为0的字节,用0xff01~0xfffe表示连续为0的字节的个数,其他值的字节不做转译。
28.根据本发明的金融数据带宽压缩装置的一实施例,解析模块中的逐字节解析过程为:对于0xffff解析为0xff,对于0xff01~0xfffe解析为对应个数的0x00,其他数据无需解析。
29.本发明揭示了一种数据转译压缩方法,方法包括:
30.步骤11:判断待发送的数据是否为对应类型下的首个数据,如果是首个数据消息,则转入步骤13;如果不是首个数据消息,则转入步骤12,其中数据是按照业务类型进行分类;
31.步骤12:将该数据和对应类型下的上一笔数据进行逐字节相减,然后转入步骤13;
32.步骤13:对于对应类型下的首个数据、或者经步骤12的逐字节相减后的数据,进行逐字节的转译;
33.步骤14:将转译后的数据进行发送。
34.根据本发明的数据转译压缩方法的一实施例,步骤13的逐字节转译过程为:对于值为0xff的字节,转译为0xffff,对于值为0的字节,用0xff01~0xfffe表示连续为0的字节的个数,其他值的字节不做转译。
35.本发明还揭示了一种数据解压方法,方法包括:
36.步骤21:将接收到的数据进行逐字节解析;
37.步骤22:判断接收到的数据是否为对应类型下的首个数据。如果是则转入步骤24,如果不是则转入步骤23;
38.步骤23:将逐字节解析后的数据和对应类型下的上一笔数据进行逐字节相加;
39.步骤24:将逐字节解析后的对应类型下的首个数据、或者经步骤23的逐字节相加
后的数据进行存储。
40.根据本发明的数据解压方法的一实施例,步骤21的逐字节解析过程为:对于0xffff解析为0xff,对于0xff01~0xfffe解析为对应个数的0x00,其他数据无需解析。
41.本发明对比现有技术有如下的有益效果:本发明基于同类型不同消息的金融期货数据相似度高的特点,把两笔同类型相邻消息中的数据逐字节相减,用两个字节的长度0xff01~0xfffe表示1~254个字节的0,减小了数据的长度,有效压缩了数据带宽,从而提升了数据传输效率。
附图说明
42.在结合以下附图阅读本公开的实施例的详细描述之后,能够更好地理解本发明的上述特征和优点。在附图中,各组件不一定是按比例绘制,并且具有类似的相关特性或特征的组件可能具有相同或相近的附图标记。
43.图1示出了本发明的金融数据带宽压缩方法的一实施例中的数据转译压缩的流程图。
44.图2示出了本发明的金融数据带宽压缩方法的一实施例中的数据解压的流程图。
45.图3示出了本发明的金融数据带宽压缩装置的一实施例的原理图。
具体实施方式
46.以下结合附图和具体实施例对本发明作详细描述。注意,以下结合附图和具体实施例描述的诸方面仅是示例性的,而不应被理解为对本发明的保护范围进行任何限制。
47.本发明的金融数据带宽压缩方法包含图1所示的数据转译压缩的过程以及图2所示的数据解压的过程。
48.如图1所示,数据转译压缩过程的实施步骤详述如下。
49.步骤11:判断待发送的数据是否为对应类型下的首个数据。
50.在本实施例中,数据按照业务类型进行分类,例如业务类型包括行情数据、合约数据等。如果是首个数据消息,则转入步骤13;如果不是首个数据消息,则转入步骤12。
51.步骤12:将该数据和对应类型下的上一笔数据进行逐字节相减,然后转入步骤13。
52.步骤13:对于对应类型下的首个数据、或者经步骤12的逐字节相减后的数据,进行逐字节的转译。
53.因为相同业务类型的连续两笔数据中,只有几个字段值不同,比如行情消息,只有价格和更新时间字段不同,其他的字段都保持不变,所以基于步骤13,得到的数据大部分的字节都是“0”,所以可以通过记录连续为“0”的字节的个数代替这部分字节,从而减少字节数。考虑到可逆性,解析数据时,需要把表示连续“0”字节个数的数据转换为真实的连续“0”字节,防止记录连续“0”字节个数的数据和正常数据混淆,所以需要给记录连续“0”字节个数的数据附一个特殊标志,比如增加前缀0xff(也可以是其他字节,如0x00)。但是真实数据中还可能存在0xff这样的有效数据,为了区分0xff是特殊标识还是有效数据,对有效数据0xff添加特殊标识0xff,即组成0xffff,所以当解析数据时,遇到0xffxx(xx不是ff)时,表示连续xx个“0”字节,遇到0xffff时,表示0xff。
54.具体的逐字节转译过程为:对于值为0xff的字节,转译为0xffff,对于值为0的字
节,用0xff01~0xfffe表示连续为0的字节的个数,其他值的字节不做转译。
55.步骤14:将转译后的数据进行发送,数据转译压缩过程结束。
56.如图2所示,数据解压过程的实施步骤详述如下。
57.步骤21:将接收到的数据进行逐字节解析。
58.本实施例中的逐字节解析的具体过程为:对于0xffff解析为0xff,对于0xff01~0xfffe解析为对应个数的0x00,其他数据无需解析。
59.步骤22:判断接收到的数据是否为对应类型下的首个数据。如果是则转入步骤24,如果不是则转入步骤23。
60.步骤23:将逐字节解析后的数据和对应类型下的上一笔数据进行逐字节相加。
61.步骤24:将逐字节解析后的对应类型下的首个数据、或者经步骤23的逐字节相加后的数据进行存储。
62.图3示出了本发明的金融数据带宽压缩装置的一实施例的原理。请参见图3,本实施例的金融数据带宽压缩装置包括:转译压缩装置和解压装置。
63.转译压缩装置包括:转译前处理模块、转译模块和发送模块。
64.转译前处理模块配置为针对对应类型下的首个数据不做处理,针对对应类型下的非首个数据,将其和对应类型下的上一笔数据进行逐字节相减。
65.在本实施例中,数据是按照业务类型进行分类的,例如业务类型包括行情数据、合约数据等。
66.转译模块配置为对转译前处理模块的输出结果进行逐字节转译,其过程为:对于值为0xff的字节,转译为0xffff,对于值为0的字节,用0xff01~0xfffe表示连续为0的字节的个数,其他值的字节不做转译。
67.转译前处理模块的输出结果或者是对应类型下的首个数据,或者是逐字节相减后的非首个数据。
68.发送模块将转译模块的输出(即转译后的数据)进行发送。
69.解压模块包括:解析模块、解析后处理模块、存储模块。
70.解析模块配置为将接收到的数据进行逐字节解析,解析的具体过程为:对于0xffff解析为0xff,对于0xff01~0xfffe解析为对应个数的0x00,其他数据无需解析。
71.解析后处理模块配置为对于对应类型下的首个数据不做处理,对于对应类型下的非首个数据,将其和对应类型下的上一笔数据进行逐字节相加。
72.存储模块配置为将解析后处理模块的输出进行存储。
73.尽管为使解释简单化将上述方法图示并描述为一系列动作,但是应理解并领会,这些方法不受动作的次序所限,因为根据一个或多个实施例,一些动作可按不同次序发生和/或与来自本文中图示和描述或本文中未图示和描述但本领域技术人员可以理解的其他动作并发地发生。
74.本领域技术人员将进一步领会,结合本文中所公开的实施例来描述的各种解说性逻辑板块、模块、电路、和算法步骤可实现为电子硬件、计算机软件、或这两者的组合。为清楚地解说硬件与软件的这一可互换性,各种解说性组件、框、模块、电路、和步骤在上面是以其功能性的形式作一般化描述的。此类功能性是被实现为硬件还是软件取决于具体应用和施加于整体系统的设计约束。技术人员对于每种特定应用可用不同的方式来实现所描述的
功能性,但这样的实现决策不应被解读成导致脱离了本发明的范围。
75.结合本文所公开的实施例描述的各种解说性逻辑板块、模块、和电路可用通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或其它可编程逻辑器件、分立的门或晶体管逻辑、分立的硬件组件、或其设计成执行本文所描述功能的任何组合来实现或执行。通用处理器可以是微处理器,但在替换方案中,该处理器可以是任何常规的处理器、控制器、微控制器、或状态机。处理器还可以被实现为计算设备的组合,例如dsp与微处理器的组合、多个微处理器、与dsp核心协作的一个或多个微处理器、或任何其他此类配置。
76.结合本文中公开的实施例描述的方法或算法的步骤可直接在硬件中、在由处理器执行的软件模块中、或在这两者的组合中体现。软件模块可驻留在ram存储器、闪存、rom存储器、eprom存储器、eeprom存储器、寄存器、硬盘、可移动盘、cd-rom、或本领域中所知的任何其他形式的存储介质中。示例性存储介质耦合到处理器以使得该处理器能从/向该存储介质读取和写入信息。在替换方案中,存储介质可以被整合到处理器。处理器和存储介质可驻留在asic中。asic可驻留在用户终端中。在替换方案中,处理器和存储介质可作为分立组件驻留在用户终端中。
77.在一个或多个示例性实施例中,所描述的功能可在硬件、软件、固件或其任何组合中实现。如果在软件中实现为计算机程序产品,则各功能可以作为一条或更多条指令或代码存储在计算机可读介质上或藉其进行传送。计算机可读介质包括计算机存储介质和通信介质两者,其包括促成计算机程序从一地向另一地转移的任何介质。存储介质可以是能被计算机访问的任何可用介质。作为示例而非限定,这样的计算机可读介质可包括ram、rom、eeprom、cd-rom或其它光盘存储、磁盘存储或其它磁存储设备、或能被用来携带或存储指令或数据结构形式的合意程序代码且能被计算机访问的任何其它介质。任何连接也被正当地称为计算机可读介质。例如,如果软件是使用同轴电缆、光纤电缆、双绞线、数字订户线(dsl)、或诸如红外、无线电、以及微波之类的无线技术从web网站、服务器、或其它远程源传送而来,则该同轴电缆、光纤电缆、双绞线、dsl、或诸如红外、无线电、以及微波之类的无线技术就被包括在介质的定义之中。如本文中所使用的盘(disk)和碟(disc)包括压缩碟(cd)、激光碟、光碟、数字多用碟(dvd)、软盘和蓝光碟,其中盘(disk)往往以磁的方式再现数据,而碟(disc)用激光以光学方式再现数据。上述的组合也应被包括在计算机可读介质的范围内。
78.提供对本公开的先前描述是为使得本领域任何技术人员皆能够制作或使用本公开。对本公开的各种修改对本领域技术人员来说都将是显而易见的,且本文中所定义的普适原理可被应用到其他变体而不会脱离本公开的精神或范围。由此,本公开并非旨在被限定于本文中所描述的示例和设计,而是应被授予与本文中所公开的原理和新颖性特征相一致的最广范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献