CN108683603A - 一种基于实时流压缩技术的高效二进制传输协议 - Google Patents
一种基于实时流压缩技术的高效二进制传输协议 Download PDFInfo
- Publication number
- CN108683603A CN108683603A CN201810454212.5A CN201810454212A CN108683603A CN 108683603 A CN108683603 A CN 108683603A CN 201810454212 A CN201810454212 A CN 201810454212A CN 108683603 A CN108683603 A CN 108683603A
- Authority
- CN
- China
- Prior art keywords
- data
- binary
- message
- design
- real
- 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 20
- 238000000034 method Methods 0.000 title claims abstract description 9
- 238000013461 design Methods 0.000 claims abstract description 14
- 238000007906 compression Methods 0.000 claims description 11
- 230000006835 compression Effects 0.000 claims description 11
- 238000013144 data compression Methods 0.000 claims description 3
- 238000006243 chemical reaction Methods 0.000 abstract description 4
- 238000012545 processing Methods 0.000 abstract description 3
- 229910002056 binary alloy Inorganic materials 0.000 abstract description 2
- 238000007796 conventional method Methods 0.000 abstract description 2
- 238000005538 encapsulation Methods 0.000 abstract description 2
- 238000012546 transfer Methods 0.000 abstract description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/38—Flow control; Congestion control by adapting coding or compression rate
-
- 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)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明公开了一种基于实时流压缩技术的高效二进制传输协议,其针对应用层数据结构、二进制双向转换进行了抽象设计,可以根据IDL中间定义文件生成对应的处理类,简化了二进制数据流和应用层数据结构的转换,降低了传统二进制协议的封装和设计复杂性。并且对协议进行了三级设计,采用包头+消息基,消息基作为抽象层,嵌入第三级业务消息结构的方式,由于大部分中间传输层只需要识别第一、二级消息,不需要识别具体的第三级消息,通过这样的分层设计,可以实现高效、易扩展二进制传输协议。同时对第二级消息进行了通用压缩设计,相比传统方法,降低数据传输流量50%‑80%。
Description
技术领域
本发明涉及一种传输协议,具体是一种基于实时流压缩技术的高效二进制传输协议。
背景技术
证券行情数据经过交易所官方数据出口,以3秒为周期采集快照,并经过专线转发到专用接收程序, 最后经过合并,加工和分发,最终传输到终端用户的客户端程序.随着国家大力推进互联网+战略,带动高速宽带、移动互联网的普及,终端设备数量呈现爆炸式增长,对证券行情数据的高效、稳定传输提出了新的挑战。
传统的证券行情传输一般采用基于TCP协议的自定义二进制编码, 随着移动互联网的普及, 需要系统同时支持PC、手机、平板等设备,网络连接复杂度也大大提高。需要系统同时支持各种平台设备、适配传统宽带、2G、3G、4G等网络。然而传统的数据传输协议存在跨平台困难、 难以扩展、 数据流量过大, 而不能直接适配移动端设备。证券行情数据高质量传输,需要解决的一个核心问题是设计一种高效、低流量、易扩展的新型二进制数据传输协议。
而目前市面上虽然已经有不少的优化和改进方案,但是其实现方法大多数基于原有协议的扩展或者直接放弃兼容旧的协议的方式进行,一方面改进不够彻底,第二就是实现成本较高,方案难以通用,在可见将来依然存在快速被淘汰的技术风险。
发明内容
本发明的目的在于提供一种基于实时流压缩技术的高效二进制传输协议,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:
一种基于实时流压缩技术的高效二进制传输协议,包含以下步骤:
A、编写数据结构定义IDL中间文件;
B、将IDL文件读入,并自动生成对应的模块代码;
C、引用的时候,直接集成上述步骤生成的代码,并依次填充对应数据字段;
D、利用步骤C中数据对象自带的接口,将对象序列化成二进制数据流;
E、利用数据流压缩算法,对步骤D中的数据流进行压缩;
F、统计数据流长度,在数据流前端追加用于标识数据体长度的字段;
G、将步骤F得到的数据的包头+包体整体写入TCP传输模块,进行转发。
作为本发明的进一步技术方案:所述步骤E具体包括:
1)判断数据载荷大小,小于额定大小的数据不进行压缩,即透明传输;
2)如果数据大小符合设计值,表示数据压缩后能够比获得合理的压缩率,则进行下一步;
3)采用“有限状态熵(Finite State Entropy, 缩写为FSE)”编码器,该编码器是基于ANS理论开发的一种新型熵编码器,与经典的“霍夫曼编码器(Huffman encoder)”和“算数编码器”相竞争, 利用上述高效的流压缩协议对数据流进行压缩;
4)计算压缩后数据流的长度,并在包头部分追加压缩数据标记,提示客户端进行解压后使用。
与现有技术相比,本发明的有益效果是:1、针对应用层数据结构、二进制双向转换进行了抽象设计,可以根据IDL中间定义文件生成对应的处理类,简化了二进制数据流和应用层数据结构的转换,降低了传统二进制协议的封装和设计复杂性。
2、对协议进行了三级设计,采用包头+消息基,消息基作为抽象层,嵌入第三级业务消息结构的方式,由于大部分中间传输层只需要识别第一、二级消息,不需要识别具体的第三级消息,通过这样的分层设计,可以实现高效、易扩展二进制传输协议。
3、对第二级消息进行了通用压缩设计,相比传统方法,降低数据传输流量50%-80%。
附图说明
图1为本发明的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,一种基于实时流压缩技术的高效二进制传输协议,包含以下步骤:
A、编写数据结构定义IDL中间文件;
B、将IDL文件读入,并自动生成对应的模块代码;
C、引用的时候,直接集成上述步骤生成的代码,并依次填充对应数据字段;
D、利用步骤C中数据对象自带的接口,将对象序列化成二进制数据流;
E、利用数据流压缩算法,对步骤D中的数据流进行压缩;
F、统计数据流长度,在数据流前端追加用于标识数据体长度的字段;
G、将步骤F得到的数据的包头+包体整体写入TCP传输模块,进行转发。
其中步骤E具体包括:
1)判断数据载荷大小,小于额定大小的数据不进行压缩,即透明传输;
2)如果数据大小符合设计值,表示数据压缩后能够比获得合理的压缩率,则进行下一步;
3)采用“有限状态熵(Finite State Entropy, 缩写为FSE)”编码器,该编码器是基于ANS理论开发的一种新型熵编码器,与经典的“霍夫曼编码器(Huffman encoder)”和“算数编码器”相竞争,利用上述高效的流压缩协议对数据流进行压缩;
4)计算压缩后数据流的长度,并在包头部分追加压缩数据标记,提示客户端进行解压后使用。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
Claims (2)
1.一种基于实时流压缩技术的高效二进制传输协议,其特征在于,包含以下步骤:
编写数据结构定义IDL中间文件;
将IDL文件读入,并自动生成对应的模块代码;
引用的时候,直接集成上述步骤生成的代码,并依次填充对应数据字段;
利用步骤C中数据对象自带的接口,将对象序列化成二进制数据流;
利用数据流压缩算法,对步骤D中的数据流进行压缩;
统计数据流长度,在数据流前端追加用于标识数据体长度的字段;
将步骤F得到的数据的包头+包体整体写入TCP传输模块,进行转发。
2.根据权利要求1所述的一种基于实时流压缩技术的高效二进制传输协议,其特征在于,所述步骤E具体包括:
判断数据载荷大小,小于额定大小的数据不进行压缩,即透明传输;
如果数据大小符合设计值,表示数据压缩后能够比获得合理的压缩率,则进行下一步;
采用编码器对数据流进行压缩;
计算压缩后数据流的长度,并在包头部分追加压缩数据标记,提示客户端进行解压后使用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810454212.5A CN108683603A (zh) | 2018-05-14 | 2018-05-14 | 一种基于实时流压缩技术的高效二进制传输协议 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810454212.5A CN108683603A (zh) | 2018-05-14 | 2018-05-14 | 一种基于实时流压缩技术的高效二进制传输协议 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108683603A true CN108683603A (zh) | 2018-10-19 |
Family
ID=63806126
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810454212.5A Pending CN108683603A (zh) | 2018-05-14 | 2018-05-14 | 一种基于实时流压缩技术的高效二进制传输协议 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108683603A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109683996A (zh) * | 2018-12-20 | 2019-04-26 | 携程旅游网络技术(上海)有限公司 | 通信数据的传输方法及系统 |
CN112291041A (zh) * | 2020-10-22 | 2021-01-29 | 山东云海国创云计算装备产业创新中心有限公司 | 一种基于fpga的数据解码装置、方法 |
CN112738124A (zh) * | 2020-08-24 | 2021-04-30 | 英韧科技(上海)有限公司 | 硬件友好的数据压缩 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101686493A (zh) * | 2008-09-27 | 2010-03-31 | 国际商业机器公司 | 用于控制移动设备能耗的系统和方法 |
CN103414538A (zh) * | 2013-08-05 | 2013-11-27 | 国云科技股份有限公司 | 一种分布式环境下网络数据通信的数据包分拣方法 |
CN106411963A (zh) * | 2016-12-16 | 2017-02-15 | 北京元心科技有限公司 | 即时通讯消息的传输方法及装置 |
CN106603476A (zh) * | 2015-10-19 | 2017-04-26 | 中兴通讯股份有限公司 | 数据压缩方法及装置 |
-
2018
- 2018-05-14 CN CN201810454212.5A patent/CN108683603A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101686493A (zh) * | 2008-09-27 | 2010-03-31 | 国际商业机器公司 | 用于控制移动设备能耗的系统和方法 |
CN103414538A (zh) * | 2013-08-05 | 2013-11-27 | 国云科技股份有限公司 | 一种分布式环境下网络数据通信的数据包分拣方法 |
CN106603476A (zh) * | 2015-10-19 | 2017-04-26 | 中兴通讯股份有限公司 | 数据压缩方法及装置 |
CN106411963A (zh) * | 2016-12-16 | 2017-02-15 | 北京元心科技有限公司 | 即时通讯消息的传输方法及装置 |
Non-Patent Citations (6)
Title |
---|
POISONAPPLE: "二进制数据压缩算法", 《电子说》 * |
POISONAPPLE: "二进制数据压缩算法", 《电子说》, 28 February 2018 (2018-02-28), pages 2 * |
刘丁: "序列化和反序列化", 《美团技术团队》 * |
刘丁: "序列化和反序列化", 《美团技术团队》, 26 February 2015 (2015-02-26), pages 1 * |
华斌等: "基于轻量级XML Web服务的代码生成技术", 《实验科学与技术》 * |
华斌等: "基于轻量级XML Web服务的代码生成技术", 《实验科学与技术》, 28 December 2006 (2006-12-28) * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109683996A (zh) * | 2018-12-20 | 2019-04-26 | 携程旅游网络技术(上海)有限公司 | 通信数据的传输方法及系统 |
CN112738124A (zh) * | 2020-08-24 | 2021-04-30 | 英韧科技(上海)有限公司 | 硬件友好的数据压缩 |
CN112738124B (zh) * | 2020-08-24 | 2022-11-01 | 英韧科技(上海)有限公司 | 硬件友好的数据压缩方法、压缩器 |
CN112291041A (zh) * | 2020-10-22 | 2021-01-29 | 山东云海国创云计算装备产业创新中心有限公司 | 一种基于fpga的数据解码装置、方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108683603A (zh) | 一种基于实时流压缩技术的高效二进制传输协议 | |
KR100913900B1 (ko) | 이동통신 시스템에서 미리 정의된 길이 지시자를 이용해서 패킷 데이터를 송수신하는 방법 및 장치 | |
CN101356816B (zh) | 用于将无线网络中的系统信息消息分段的方法和装置 | |
CN101179564B (zh) | 基于链路层自动请求重传的tcp分组头部压缩方法及其系统 | |
CN105830451A (zh) | 用于内容分发的方法和装置 | |
AU1981201A (en) | Messaging system | |
CN101964722A (zh) | 用于通信的方法和系统 | |
CN102255972A (zh) | 6LoWPAN网络中面向HTTP协议的TCP首部压缩方法 | |
WO2002087134B1 (en) | Interactive streaming media production tool using communication optimization | |
CN104243561A (zh) | 一种电子设备、信息处理方法和信息推送系统 | |
CN103532828B (zh) | 一种基于扩展的xmpp协议的富文本格式实现系统和方法 | |
CN107645538A (zh) | 提供动态压缩字典的方法及装置和电子设备 | |
CN102025983B (zh) | 一种数据传输处理方法、系统及对应的led显示系统 | |
EP1347594A3 (en) | Streaming multimedia data over variable channels | |
CN106851733A (zh) | 一种针对移动网络应用的自适应http消息压缩方法 | |
CN101056252B (zh) | 压缩文件的传播方法 | |
CN101820590A (zh) | 语音短信通过文字短信通道发送和接收方法及移动通讯装置 | |
CN107005497A (zh) | Mmt中媒体数据的低延迟消费的信令和操作的方法和装置 | |
JP2018006964A (ja) | データ圧縮方法、ゲートウェイ、及びデータ送信システム | |
CN104767710B (zh) | 基于dfa的http分块传输编码的传输载荷提取方法 | |
CN106506390A (zh) | 一种数据流传输方法 | |
CN106452663A (zh) | 基于rtp协议的网络通话数据传输方法及通信设备 | |
CN104079580B (zh) | 教务教学图像语音识别系统及方法 | |
CN100463385C (zh) | 移动多媒体广播电子业务指南数据模型的传输方法 | |
CN104935406B (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: 20181019 |