CN109683996A - 通信数据的传输方法及系统 - Google Patents
通信数据的传输方法及系统 Download PDFInfo
- 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
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 51
- 238000004891 communication Methods 0.000 title claims abstract description 41
- 238000000034 method Methods 0.000 title claims abstract description 36
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 35
- 230000006837 decompression Effects 0.000 claims abstract description 32
- 230000006835 compression Effects 0.000 claims abstract description 25
- 238000007906 compression Methods 0.000 claims abstract description 25
- 238000006243 chemical reaction Methods 0.000 claims description 19
- 229910002056 binary alloy Inorganic materials 0.000 claims description 3
- 230000003247 decreasing effect Effects 0.000 abstract 1
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008092 positive effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4488—Object-oriented
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
- G06F9/548—Object 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所述的通信数据的传输系统,其特征在于,所述第二转换模块用于将所述解压后的所述二进制数据流转换为字符串并将所述字符串转换为所述对象数据。
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)
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 | 广州经传多赢投资咨询有限公司 | 一种基于实时流压缩技术的高效二进制传输协议 |
-
2018
- 2018-12-20 CN CN201811564088.4A patent/CN109683996A/zh active Pending
Patent Citations (5)
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 |