CN109683996A - 通信数据的传输方法及系统 - Google Patents

通信数据的传输方法及系统 Download PDF

Info

Publication number
CN109683996A
CN109683996A CN201811564088.4A CN201811564088A CN109683996A CN 109683996 A CN109683996 A CN 109683996A CN 201811564088 A CN201811564088 A CN 201811564088A CN 109683996 A CN109683996 A CN 109683996A
Authority
CN
China
Prior art keywords
data stream
binary data
module
binary
compressed
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
CN201811564088.4A
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.)
Ctrip Travel Network Technology Shanghai Co Ltd
Original Assignee
Ctrip Travel Network Technology Shanghai 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 Ctrip Travel Network Technology Shanghai Co Ltd filed Critical Ctrip Travel Network Technology Shanghai Co Ltd
Priority to CN201811564088.4A priority Critical patent/CN109683996A/zh
Publication of CN109683996A publication Critical patent/CN109683996A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • G06F9/548Object oriented; Remote method invocation [RMI]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种通信数据的传输方法及系统,所述传输方法包括:获取待传输的对象数据;将所述对象数据转换为二进制数据流;压缩所述二进制数据流;输出压缩后的所述二进制数据流。本发明提供的通信数据的传输方法能够通过直接将待传输的数据对象转化为二进制数据流、通过Deflate算法压缩及解压,实现高效的序列化过程,从而不仅节省了一定的序列化时间,释放了一定的CPU资源,也减少了传输过程中的流量损耗,有效利用系统资源的同时使用户体验更佳。

Description

通信数据的传输方法及系统
技术领域
本发明涉及微服务应用间通信领域,特别涉及一种通信数据的传输方法及系统。
背景技术
无论是在SOA(面向服务的架构)、企业框架,还是在其它的场景中,微服务架构在互联网企业中应用越来越广泛,与此同时,也带来了更加频繁的网络通信,以及网络通信所带来的时间、资源的损耗。
在使用传统的对象序列化通信中,对象的序列化一直是最费时并且最消耗CPU(中央处理器)资源的工作,传统的网络通信中的序列化过程,通常需要经过大量数据之间的转化,该转化过程不仅仅降低了传输的效率,耗费了大量的数据传输流量,同时也存在系统资源利用率不高的问题,对于互联网企业的大型项目更是如此。
因此有必要对序列化过程作一些改进,使其能提升网络通信效果,在大量使用网络通信的场景中可以节省通信耗时量。
发明内容
本发明要解决的技术问题是为了克服现有技术中网络通信时间长及资源占用率高的缺陷,提供一种通信数据的传输方法及系统。
本发明是通过下述技术方案来解决上述技术问题:
本发明提供了一种通信数据的传输方法,所述传输方法包括:
获取待传输的对象数据;
将所述对象数据转换为二进制数据流;
其中,通过二进制序列化的方式将所述对象转换为二进制数据流。
压缩所述二进制数据流;
输出压缩后的所述二进制数据流。
可选地,所述压缩所述二进制数据流的步骤具体包括:使用Deflate算法(一种无损的压缩算法)对所述二进制数据流进行压缩。
可选地,所述压缩所述二进制数据流的步骤具体包括:使用GZip算法(一种无损的压缩算法)对所述二进制数据流进行压缩。
可选地,所述将所述对象数据转换为二进制数据流的步骤包括;
将所述对象数据转换为字符串;
将所述字符串转换为所述二进制数据流。
本发明还提供了一种通信数据的传输方法,所述传输方法包括:
接收被压缩的二进制数据流;
解压所述被压缩的二进制数据流;
将解压后的所述二进制数据流转换为对象数据;
其中,通过二进制反序列的方法将二进制数据流转换为对象数据。
可选地,所述解压所述被压缩的二进制数据流的步骤具体包括:使用Deflate算法,对所述被压缩的二进制数据流进行解压。
可选地,所述解压所述被压缩的二进制数据流的步骤具体包括:使用GZip算法,对所述被压缩的二进制数据流进行解压。
可选地,所述将解压后的所述二进制数据流转换为对象数据的步骤包括:
将所述解压后的所述二进制数据流转换为字符串;
将所述字符串转换为所述对象数据。
本发明还提供了一种通信数据的传输系统,所述传输系统包括:获取模块、第一转换模块、压缩模块及输出模块;
所述获取模块用于获取待传输的对象数据;
所述第一转换模块用于将所述对象数据转换为二进制数据流;
其中所述第一转换模块通过二进制序列化的方式将所述对象数据转化为二进制数据流。
所述压缩模块用于压缩所述二进制数据流;
所述输出模块用于输出压缩后的所述二进制数据流。
可选地,所述压缩模块使用Deflate算法对所述二进制数据流进行压缩。
可选地,所述压缩模块使用GZip算法对所述二进制数据流进行压缩。
可选地,所述第一转换模块用于将所述对象数据转换为字符串并将所述字符串转换为所述二进制数据流。
本发明还提供了一种通信数据的传输系统,其特征在于,所述传输系统包括接收模块、解压模块、第二转换模块;
所述接收模块用于接收被压缩的二进制数据流;
所述解压模块用于解压所述被压缩的二进制数据流;
所述第二转换模块用于将解压后的所述二进制数据流转换为对象数据;
所述第二转换模块通过反二进制序列化的方式将所述二进制数据流转换为对象数据。
可选地,所述解压模块使用Deflate算法对所述被压缩的二进制数据流进行解压。
可选地,所述解压模块使用GZip算法对所述被压缩的二进制数据流进行解压。
可选地,所述第二转换模块用于将所述解压后的所述二进制数据流转换为字符串并将所述字符串转换为所述对象数据。
本发明的积极进步效果在于:
本发明提供的通信数据的传输方法能够通过直接将待传输的数据对象转化为二进制数据流、通过Deflate算法压缩及解压,实现高效的序列化过程,从而不仅节约了网络通信数据传输的时间,也节省了CPU的占用、减少了传输过程中的流量损耗,有效利用系统资源的同时使用户体验更佳。
附图说明
图1为本发明实施例1的通信数据的传输方法的流程图。
图2为本发明实施例3的通信数据的传输系统的模块示意图。
具体实施方式
下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。
实施例1
如图1所示,本实施例提供了一种通信数据的传输方法,发送端基于该传输方法将对象数据发送至接收端,该传输方法包括:
步骤S11、发送端获取所述待传输的对象数据;
步骤S12、发送端将所述对象数据转换为二进制数据流;
其中,通过二进制序列化的方式将所述对象数据转化为二进制数据流,具体可以通过Serializable(一种序列化工具)来实现,也可以通过其他的方式来实现。
步骤S13、发送端压缩所述二进制数据流;
本实施例中,可以但不限于使用Deflate算法或GZip算法实现二进制数据流的压缩。需要说明的是,由于GZip算法相比Deflate算法而言在二进制数据流的源文件前增加了10个字节,尾部添加了8个字节的校验字节和长度标识字节,所以本发明实施例优选使用Deflate算法,一方面可以在压缩数据流时节省CPU资源,另一方面也有利于网络的传输。
步骤S14、发送端将压缩后的所述二进制数据流输出至接收端;
步骤S15、接收端接收被压缩的二进制数据流;
步骤S16、接收端解压所述被压缩的二进制数据流;
步骤S16中使用与步骤S13对应的方法解压二进制数据流。
步骤S17、接收端将解压后的所述二进制数据流转换为对象数据;
其中,通过反二进制序列化的方式将所述二进制数据流转化为对象数据,具体可以通过Deserialization(一种反序列化工具)来实现,也可以通过其他的方式来实现。
步骤S18、输出所述对象数据。
本实施例中,通过二进制序列化的方式将对象数据直接转换成二进制数据流,通过Deflate算法将所述二进制数据流压缩后输出,接收压缩后的数据流后通过Deflate算法解压所述被压缩的二进制数据流,再通过反二进制序列化的方式直接将解压后的二进制数据流转换为对象数据,不仅仅节省了对象数据的转换时间、也节约了系统资源、减少传输流量的损耗。
实施例2
实施例2与实施例1脚本相同,不同之处在于,本实施例中,在步骤S12中,发送端先将所述对象数据转换成字符串,再将字符串转换成二进制数据流;步骤S13中,发送端具体使用Deflate算法压缩二进制数据流。
相应的,步骤S16中,接收端具体使用Deflate算法解压二进制数据流;步骤S17中,接收端先将解压后的二进制数据流转换为字符串,再将字符串转换成对象数据。
本实施例中,节约了对象数据传输过程中系统的资源占用率、减少了传输流量的损耗,同时还能满足用户对各种数据格式的需求。
实施例3
如图2所示,本实施例提供了一种通信数据的传输系统,所述传输系统包括:获取模块11、第一转换模块12、压缩模块13、第一输出模块14、接收模块15、解压模块16、第二转换模块17、第二输出模块18;
获取模块11用于发送端获取所述待传输的对象数据。
第一转换模块12用于发送端将所述对象数据转换为二进制数据流。
其中,通过二进制序列化的方式将所述对象数据转化为二进制数据流,具体可以通过Serializable来实现,也可以通过其他的方式来实现。
压缩模块13用于发送端压缩所述二进制数据流;
本实施例中,可以但不限于使用Deflate算法或GZip算法实现二进制数据流的压缩。需要说明的是,由于GZip算法相比Deflate算法而言在二进制数据流的源文件前增加了10个字节,尾部添加了8个字节的校验字节和长度标识字节,所以本发明实施例优选使用Deflate算法,一方面可以在压缩数据流时节省CPU资源,另一方面也有利于网络的传输。
第一输出模块14用于发送端将压缩后的所述二进制数据流输出至接收端。
接收模块15用于接收端接收被压缩的二进制数据流。
解压模块16用于接收端解压所述被压缩的二进制数据流。
所述解压模块16中使用与所述压缩模块13对应的方法解压二进制数据流。
第二转换模块17用于接收端将解压后的所述二进制数据流转换为对象数据。
其中,通过反二进制序列化的方式将所述二进制数据流转化为对象数据,具体可以通过Deserialization来实现,也可以通过其他的方式来实现。
第二输出模块18用于输出所述对象数据。
本实施例中,通过二进制序列化的方式将对象数据直接转换成二进制数据流,通过Deflate算法将所述二进制数据流压缩后输出,接收压缩后的数据流后通过Deflate算法解压所述被压缩的二进制数据流,再通过反二进制序列化的方式直接将解压后的二进制数据流转换为对象数据,不仅仅节省了对象数据的转换时间、也节约了系统资源、减少传输流量的损耗。
实施例4
实施例4与实施例3脚本相同,不同之处在于,本实施例中,在第一转换模块12中,发送端先将所述对象数据转换成字符串,再将字符串转换成二进制数据流;在压缩模块13中发送端具体使用Deflate算法压缩二进制数据流。
相应的,解压模块16中,接收端具体使用Deflate算法解压二进制数据流;第二转换模块17中,接收端先将解压后的二进制数据流转换为字符串,再将字符串转换成对象数据。
本实施例中,节约了对象数据传输过程中系统的资源占用率、减少了传输流量的损耗,同时还能满足用户对各种数据格式的需求。
虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。

Claims (16)

1.一种通信数据的传输方法,其特征在于,所述传输方法包括:
获取待传输的对象数据;
将所述对象数据转换为二进制数据流;
压缩所述二进制数据流;
输出压缩后的所述二进制数据流。
2.如权利要求1所述的通信数据的传输方法,其特征在于,所述压缩所述二进制数据流的步骤具体包括:
使用Deflate算法对所述二进制数据流进行压缩。
3.如权利要求1所述的通信数据的传输方法,其特征在于,所述压缩所述二进制数据流的步骤具体包括:
使用GZip算法对所述二进制数据流进行压缩。
4.如权利要求2所述的通信数据的传输方法,其特征在于,所述将所述对象数据转换为二进制数据流的步骤包括;
将所述对象数据转换为字符串;
将所述字符串转换为所述二进制数据流。
5.一种通信数据的传输方法,其特征在于,所述传输方法包括:
接收被压缩的二进制数据流;
解压所述被压缩的二进制数据流;
将解压后的所述二进制数据流转换为对象数据。
6.如权利要求5所述的通信数据的传输方法,其特征在于,所述解压所述被压缩的二进制数据流的步骤具体包括:
使用Deflate算法,对所述被压缩的二进制数据流进行解压。
7.如权利要求5所述的通信数据的传输方法,其特征在于,所述解压所述被压缩的二进制数据流的步骤具体包括:
使用GZip算法,对所述被压缩的二进制数据流进行解压。
8.如权利要求6所述的通信数据的传输方法,其特征在于,所述将解压后的所述二进制数据流转换为对象数据的步骤包括:
将所述解压后的所述二进制数据流转换为字符串;
将所述字符串转换为所述对象数据。
9.一种通信数据的传输系统,其特征在于,所述传输系统包括:获取模块、第一转换模块、压缩模块及输出模块;
所述获取模块用于获取待传输的对象数据;
所述第一转换模块用于将所述对象数据转换为二进制数据流;
所述压缩模块用于压缩所述二进制数据流;
所述输出模块用于输出压缩后的所述二进制数据流。
10.如权利要求9所述的通信数据的传输系统,其特征在于,所述压缩模块使用Deflate算法对所述二进制数据流进行压缩。
11.如权利要求9所述的通信数据的传输系统,其特征在于,所述压缩模块使用GZip算法对所述二进制数据流进行压缩。
12.如权利要求10所述的通信数据的传输系统,其特征在于,所述第一转换模块用于将所述对象数据转换为字符串并将所述字符串转换为所述二进制数据流。
13.一种通信数据的传输系统,其特征在于,所述传输系统包括接收模块、解压模块、第二转换模块;
所述接收模块用于接收被压缩的二进制数据流;
所述解压模块用于解压所述被压缩的二进制数据流;
所述第二转换模块用于将解压后的所述二进制数据流转换为对象数据。
14.如权利要求13所述的通信数据的传输系统,其特征在于,所述解压模块使用Deflate算法对所述被压缩的二进制数据流进行解压。
15.如权利要求13所述的通信数据的传输系统,其特征在于,所述解压模块使用GZip算法对所述被压缩的二进制数据流进行解压。
16.如权利要求14所述的通信数据的传输系统,其特征在于,所述第二转换模块用于将所述解压后的所述二进制数据流转换为字符串并将所述字符串转换为所述对象数据。
CN201811564088.4A 2018-12-20 2018-12-20 通信数据的传输方法及系统 Pending CN109683996A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811564088.4A CN109683996A (zh) 2018-12-20 2018-12-20 通信数据的传输方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811564088.4A CN109683996A (zh) 2018-12-20 2018-12-20 通信数据的传输方法及系统

Publications (1)

Publication Number Publication Date
CN109683996A true CN109683996A (zh) 2019-04-26

Family

ID=66187992

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811564088.4A Pending CN109683996A (zh) 2018-12-20 2018-12-20 通信数据的传输方法及系统

Country Status (1)

Country Link
CN (1) CN109683996A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3788763D1 (de) * 1986-09-15 1994-02-24 Ibm Arithmetische Codierung zur Datenkomprimierung-Dekomprimierung mittels selektiver Anwendung von verschiedenen arithmetischen Kodierern und Dekodierern.
CN101557399A (zh) * 2009-05-20 2009-10-14 深圳市汇海科技开发有限公司 一种xmpp协议传输数据压缩与解压缩方法
US20120084635A1 (en) * 2010-09-30 2012-04-05 Microsoft Corporation Parameterized template compression for binary xml
CN105681333A (zh) * 2016-02-24 2016-06-15 携程计算机技术(上海)有限公司 基于二进制的网络数据的传输方法及系统
CN108683603A (zh) * 2018-05-14 2018-10-19 广州经传多赢投资咨询有限公司 一种基于实时流压缩技术的高效二进制传输协议

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3788763D1 (de) * 1986-09-15 1994-02-24 Ibm Arithmetische Codierung zur Datenkomprimierung-Dekomprimierung mittels selektiver Anwendung von verschiedenen arithmetischen Kodierern und Dekodierern.
CN101557399A (zh) * 2009-05-20 2009-10-14 深圳市汇海科技开发有限公司 一种xmpp协议传输数据压缩与解压缩方法
US20120084635A1 (en) * 2010-09-30 2012-04-05 Microsoft Corporation Parameterized template compression for binary xml
CN105681333A (zh) * 2016-02-24 2016-06-15 携程计算机技术(上海)有限公司 基于二进制的网络数据的传输方法及系统
CN108683603A (zh) * 2018-05-14 2018-10-19 广州经传多赢投资咨询有限公司 一种基于实时流压缩技术的高效二进制传输协议

Similar Documents

Publication Publication Date Title
US7737870B1 (en) Bit-stream huffman coding for data compression
US11463102B2 (en) Data compression method, data decompression method, and related apparatus, electronic device, and system
US7692560B2 (en) Two stage loss-less compressor for a clear channel over a packet network
US20170063392A1 (en) Methods and devices for source-coding and decoding of data involving symbol compression
US9094038B2 (en) Compressing and decompressing signal data
US20160007231A1 (en) Radio unit, baseband processing unit and base station system
CN103873877A (zh) 远程桌面的图像传输方法及装置
WO2006017804B1 (en) Compressing xml documents into valid xml documents
WO2016095577A1 (zh) 数据传输方法及装置
CN104768009A (zh) 一种桌面虚拟化spice协议下的图像传输方法
CN105898302B (zh) 一种基于压缩感知的图像传输方法及系统
CN106851733A (zh) 一种针对移动网络应用的自适应http消息压缩方法
CN1584875B (zh) 批量计算机文件的遍历性压缩和解压缩方法
CA2428788A1 (en) Static information knowledge used with binary compression methods
EP1266455A1 (en) Method and apparatus for optimized lossless compression using a plurality of coders
CN102687509B (zh) 使用jpeg-ls的可调节压缩
CN109683996A (zh) 通信数据的传输方法及系统
CN114363419A (zh) 基于netconf协议的传输方法、设备及存储介质
CN112104376A (zh) 一种证券期货行情数据实时压缩方法
WO2023045364A1 (zh) 图像显示方法、装置、存储介质及电子装置
CN116684595A (zh) 一种超低时延的图像编码系统、方法、装置及存储介质
CN112017049B (zh) 一种证券行情转发系统和方法
JP4064782B2 (ja) データ圧縮方法及び復元方法
CN112732810A (zh) 数据发送系统及方法、装置、存储介质、电子装置
WO2023105647A1 (ja) フロー情報収集システム、フロー情報収集方法、および、フロー情報収集プログラム

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

Application publication date: 20190426

RJ01 Rejection of invention patent application after publication