CN106982165A - 数据压缩方法及其*** - Google Patents
数据压缩方法及其*** Download PDFInfo
- Publication number
- CN106982165A CN106982165A CN201610027489.0A CN201610027489A CN106982165A CN 106982165 A CN106982165 A CN 106982165A CN 201610027489 A CN201610027489 A CN 201610027489A CN 106982165 A CN106982165 A CN 106982165A
- Authority
- CN
- China
- Prior art keywords
- packet
- header
- data block
- compression
- packet header
- 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
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
-
- 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/32—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
-
- 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/36—Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
本发明公开了一种数据压缩方法及其***,所述方法包括:遍历数据包,获取各个冗余数据块的偏移量、冗余字节数和冗余字符;将各个冗余数据块的偏移量、冗余字节数和冗余字符打包生成对应的包头项;依据所述包头项的个数生成包头项数量;获取包括所述包头项数量和包头项的包头字段;在数据包前***所述包头字段;删除数据包中的冗余数据块。本发明通过增加包头字段来标示冗余数据块的属性,在数据包中删除冗余数据块,可减小数据包的占用空间,在传输时可减小网络负载和所消耗的数据流量,提高传输稳定性和传输速度,降低数据包在传输过程中出错的概率。
Description
技术领域
本发明涉及数据处理领域,尤其涉及一种数据压缩方法及其***。
背景技术
在车载卫星定位监控终端提供位置跟踪等各种远程服务的过程中,车载终端与监控服务器之间是按照预先约定的通讯协议通过移动网络进行数据交互的,通讯协议种类繁多,格式不一,但它们因为遵循固定的协议格式,都不可避免的存在一个问题——封装的协议数据内容包含了较大的冗余度,这种冗余度表现为连续多个的相同字节。车载终端与监控服务器之间的频繁数据交互将使这种冗余度带来的危害性放大,它不仅增加网络负载,消耗数据流量,而且会降低数据传输的可靠性,特别是在移动网络这种带宽比较有限的通信环境中,这种由冗余数据带来的网络负担更不可忽视。
在申请号为201210572738.6的专利文件中,提出了一种网络数据压缩方法和***。所述方法包括:通过数据发送端判断网络数据对应的类型是否属于预设的网络流量类型,若是,则采用网络代理缓存实现网络数据的压缩得到所述网络数据对应的标识信息,并传输所述标识信息,若否,则采用网络冗余删除处理来实现网络数据的压缩得到所述网络数据对应的指纹信息,并传输所述指纹信息;通过数据接收端接收所述指纹信息和标识信息,并根据所述标识信息提取曾缓存于所述数据接收端的网络数据,根据所述指纹信息恢复网络冗余删除处理前的网络数据;汇聚所述标识信息对应的网络数据和指纹信息对应的网络数据。该方法分别对数据块进行分析和传输,但若标示信息或指纹信息丢失,则所恢复的数据是不完整的。
发明内容
本发明所要解决的技术问题是:提供一种数据压缩方法及其***,减小网络负载,提高数据传输的效率和可靠性。
为了解决上述技术问题,本发明采用的技术方案为:一种数据压缩方法,包括
遍历数据包,获取各个冗余数据块的偏移量、冗余字节数和冗余字符;
将各个冗余数据块的偏移量、冗余字节数和冗余字符打包生成对应的包头项;依据所述包头项的个数生成包头项数量;获取包括所述包头项数量和包头项的包头字段;
在数据包前***所述包头字段;
删除数据包中的冗余数据块。
本发明还涉及一种数据压缩***,包括
第一获取模块,用于遍历数据包,获取各个冗余数据块的偏移量、冗余字节数和冗余字符;
第一生成模块,用于将各个冗余数据块的偏移量、冗余字节数和冗余字符打包生成对应的包头项;
第二生成模块,用于依据所述包头项的个数生成包头项数量;
第二获取模块,用于获取包括所述包头项数量和包头项的包头字段;
***模块,用于在数据包前***所述包头字段;
删除模块,用于删除数据包中的冗余数据块。
本发明的有益效果在于:通过增加包头字段来标示冗余数据块的属性,在数据包中删除冗余数据块,可减小数据包的占用空间,在传输时可减小网络负载和所消耗的数据流量,提高传输稳定性和传输速度,降低数据包在传输过程中出错的概率。
附图说明
图1为本发明一种数据压缩方法的流程图;
图2为本发明实施例一的方法流程图;
图3为本发明实施例一的冗余数据块示意图;
图4为本发明实施例一的包头字段封装示意图;
图5为本发明一种数据压缩***的结构示意图;
图6为本发明实施例二的***结构示意图。
标号说明:
1、第一获取模块;2、第一生成模块;3、第二生成模块;4、第二获取模块;5、***模块;6、删除模块;7、发送模块;8、接收模块;9、解析还原模块。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图详予说明。
本发明最关键的构思在于:在数据包中加入包头,用以标记冗余数据在数据包中出现的位置、字节数及字符,即以较短的包头项,替换较长的冗余数据,实现冗余数据压缩的目的。
请参阅图1,一种数据压缩方法,包括
遍历数据包,获取各个冗余数据块的偏移量、冗余字节数和冗余字符;
将各个冗余数据块的偏移量、冗余字节数和冗余字符打包生成对应的包头项;依据所述包头项的个数生成包头项数量;获取包括所述包头项数量和包头项的包头字段;
在数据包前***所述包头字段;
删除数据包中的冗余数据块。
从上述描述可知,本发明的有益效果在于:通过包头字段表示冗余数据块的属性以及作为还原冗余数据块的依据,实现冗余数据块的压缩,提高传输稳定性和传输速度,降低数据包在传输过程中出错的概率。
进一步地,所述“在数据包前***所述包头字段;删除数据包中的冗余数据块”之后还包括:
发送端获取压缩后的数据包,并发送到接收端;所述压缩后的数据包包括所述包头字段和所述数据包删除冗余数据块后得到的数据块。
由上述描述可知,进入发送链路的数据包已删除了冗余数据块,减小网络负载和数据流量,且冗余数据块的长度越长,压缩的比例就越大,节约的资源也就越多。
进一步地,所述“发送端获取压缩后的数据包,并发送到接收端”之后还包括:
接收端接收所述压缩后的数据包,解析所述包头字段,根据所述包头字段,还原冗余数据块到所述数据块中,获取压缩前的数据包。
由上述描述可知,通过包头字段可将压缩后的数据包还原为压缩前的数据包,数据不易丢失,传输可靠性高。
进一步地,依据包头的占用空间和压缩比率确定所述包头项和所述包头项数量占用的字节。
进一步地,所述包头项数量占用一个字节;所述包头项占用三个字节,其中所述偏移量、冗余字节数和冗余字符各占用一个字节。
由上述描述可知,综合考虑包头的占用空间和压缩比率,通过占用空间较少的包头字段来代替占用空间较多的冗余数据块,可大大减小数据包的占用空间,提高传输速度,同时可保证冗余数据块在解析过程中可完全被还原,使数据不易丢失。
本发明还提出了一种数据压缩***,包括
第一获取模块,用于遍历数据包,获取各个冗余数据块的偏移量、冗余字节数和冗余字符;
第一生成模块,用于将各个冗余数据块的偏移量、冗余字节数和冗余字符打包生成对应的包头项;
第二生成模块,用于依据所述包头项的个数生成包头项数量;
第二获取模块,用于获取包括所述包头项数量和包头项的包头字段;
***模块,用于在数据包前***所述包头字段;
删除模块,用于删除数据包中的冗余数据块。
进一步地,还包括
发送模块,用于发送端获取压缩后的数据包,并发送到接收端;所述压缩后的数据包包括所述包头字段和所述数据包删除冗余数据块后得到的数据块。
进一步地,还包括
接收模块,用于接收端接收所述压缩后的数据包;
解析还原模块,用于解析所述包头字段,根据所述包头字段,还原冗余数据块到所述数据块中,获取压缩前的数据包。
进一步地,依据包头的占用空间和压缩比率确定所述包头项和所述包头项数量占用的字节。
进一步地,所述包头项数量占用一个字节;所述包头项占用三个字节,其中所述偏移量、冗余字节数和冗余字符各占用一个字节。
实施例一
请参照图1-4,本发明的实施例一为:一种数据压缩方法,可运用于车载终端和监控服务器之间的数据交互,具体步骤如下:
S1:遍历整个数据包,获取并依次记录各个冗余数据块的偏移量I、冗余字节数N和冗余字符C;如图3所示,所述偏移量I为冗余数据块的第一个字节在数据包中的相对位置,所述冗余字节数N为冗余数据块中冗余字符连续出现的个数,所述冗余字符C为冗余数据块中唯一存在的连续出现多个的字符;所述冗余字符用十六进制表示,范围为0x00-0xFF,图3所示的冗余字符C=0x00。
S2:将各个冗余数据块的偏移量、冗余字节数和冗余字符打包生成对应的包头项;依据所述包头项的个数生成包头项数量;获取包括所述包头项数量和包头项的包头字段;所述包头项和所述包头项数量占用的字节依据包头的占用空间和压缩比率确定,可选地,所述包头项数量占用一个字节;所述包头项占用三个字节,其中所述偏移量、冗余字节数和冗余字符各占用一个字节;包头字段的封装示意图如图4所示,图中的A代表包头项,M代表包头项的数量。
S3:在数据包前***所述包头字段。
S4:删除数据包中的冗余数据块。
S5:发送端获取压缩后的数据包,并发送到接收端;所述压缩后的数据包包括所述包头字段和所述数据包删除冗余数据块后得到的数据块。
S6:接收端接收所述压缩后的数据包,解析所述包头字段,解析的过程中,包头项数量指明了数据包中需要还原的冗余数据块数量,而各包头项指明了的冗余数据块的偏移量、字节数和字符,根据所述包头字段,逐项还原冗余数据块到所述数据块中,即可获取压缩前的数据包。
可选地,所述步骤S3和S4可不分先后,也就是说,可先执行S4再执行S3。
实施例二
请参照图5-6,一种数据压缩***,包括第一获取模块1、第一生成模块2、第二生成模块3、第二获取模块4、***模块5和删除模块6。
所述第一获取模块1用于遍历数据包,获取各个冗余数据块的偏移量、冗余字节数和冗余字符;
所述第一生成模块2用于将各个冗余数据块的偏移量、冗余字节数和冗余字符打包生成对应的包头项;
所述第二生成模块3用于依据所述包头项的个数生成包头项数量;
所述第二获取模块4用于获取包括所述包头项数量和包头项的包头字段;
所述***模块5用于在数据包前***所述包头字段;
所述删除模块6用于删除数据包中的冗余数据块。
所述数据压缩***还包括发送模块7、接收模块8和解析还原模块9。
所述发送模块7用于发送端获取压缩后的数据包,并发送到接收端;所述压缩后的数据包包括所述包头字段和所述数据包删除冗余数据块后得到的数据块。
所述接收模块8用于接收端接收所述压缩后的数据包;
所述解析还原模块9用于解析所述包头字段,根据所述包头字段,还原冗余数据块到所述数据块中,获取压缩前的数据包。
综上所述,本发明提供的一种数据压缩方法及其***,通过增加包头字段来标示冗余数据块的属性,在数据包中删除冗余数据块,可减小数据包的占用空间,在传输时可减小网络负载和所消耗的数据流量,减少通信费用,提高传输稳定性和传输速度,降低数据包在传输过程中出错的概率;且冗余数据块的长度越长,压缩的比例就越大;同时,接收端可根据包头字段解析还原为压缩前的原始数据,数据不易丢失,传输可靠性高。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种数据压缩方法,其特征在于:包括:
遍历数据包,获取各个冗余数据块的偏移量、冗余字节数和冗余字符;
将各个冗余数据块的偏移量、冗余字节数和冗余字符打包生成对应的包头项;依据所述包头项的个数生成包头项数量;获取包括所述包头项数量和包头项的包头字段;
在数据包前***所述包头字段;
删除数据包中的冗余数据块。
2.根据权利要求1所述的数据压缩方法,其特征在于:所述“在数据包前***所述包头字段;删除数据包中的冗余数据块”之后还包括:
发送端获取压缩后的数据包,并发送到接收端;所述压缩后的数据包包括所述包头字段和所述数据包删除冗余数据块后得到的数据块。
3.根据权利要求2所述的数据压缩方法,其特征在于:所述“发送端获取压缩后的数据包,并发送到接收端”之后还包括:
接收端接收所述压缩后的数据包,解析所述包头字段,根据所述包头字段,还原冗余数据块到所述数据块中,获取压缩前的数据包。
4.根据权利要求1所述的数据压缩方法,其特征在于:依据包头的占用空间和压缩比率确定所述包头项和所述包头项数量占用的字节。
5.根据权利要求1所述的数据压缩方法,其特征在于:所述包头项数量占用一个字节;所述包头项占用三个字节,其中所述偏移量、冗余字节数和冗余字符各占用一个字节。
6.一种数据压缩***,其特征在于:包括
第一获取模块,用于遍历数据包,获取各个冗余数据块的偏移量、冗余字节数和冗余字符;
第一生成模块,用于将各个冗余数据块的偏移量、冗余字节数和冗余字符打包生成对应的包头项;
第二生成模块,用于依据所述包头项的个数生成包头项数量;
第二获取模块,用于获取包括所述包头项数量和包头项的包头字段;
***模块,用于在数据包前***所述包头字段;
删除模块,用于删除数据包中的冗余数据块。
7.根据权利要求6所述的数据压缩***,其特征在于:还包括
发送模块,用于发送端获取压缩后的数据包,并发送到接收端;所述压缩后的数据包包括所述包头字段和所述数据包删除冗余数据块后得到的数据块。
8.根据权利要求6所述的数据压缩***,其特征在于:还包括
接收模块,用于接收端接收所述压缩后的数据包;
解析还原模块,用于解析所述包头字段,根据所述包头字段,还原冗余数据块到所述数据块中,获取压缩前的数据包。
9.根据权利要求6所述的数据压缩***,其特征在于:依据包头的占用空间和压缩比率确定所述包头项和所述包头项数量占用的字节。
10.根据权利要求6所述的数据压缩***,其特征在于:所述包头项数量占用一个字节;所述包头项占用三个字节,其中所述偏移量、冗余字节数和冗余字符各占用一个字节。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610027489.0A CN106982165A (zh) | 2016-01-15 | 2016-01-15 | 数据压缩方法及其*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610027489.0A CN106982165A (zh) | 2016-01-15 | 2016-01-15 | 数据压缩方法及其*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106982165A true CN106982165A (zh) | 2017-07-25 |
Family
ID=59341177
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610027489.0A Pending CN106982165A (zh) | 2016-01-15 | 2016-01-15 | 数据压缩方法及其*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106982165A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109104732A (zh) * | 2018-06-13 | 2018-12-28 | 珠海格力电器股份有限公司 | 数据发送方法、装置及智能电器 |
CN112769883A (zh) * | 2019-11-01 | 2021-05-07 | 科美诊断技术股份有限公司 | 一种耗材数据的上传方法及装置 |
CN115361454A (zh) * | 2022-10-24 | 2022-11-18 | 北京智芯微电子科技有限公司 | 消息序列编码、解码、传输方法及编码、解码设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101523732A (zh) * | 2006-09-01 | 2009-09-02 | 帕克比特软件股份有限公司 | 用于通过数据网络传输数据文件的方法和*** |
CN101667843A (zh) * | 2009-09-22 | 2010-03-10 | 中兴通讯股份有限公司 | 嵌入式***的数据压缩、及解压缩方法与装置 |
CN102075287A (zh) * | 2010-11-22 | 2011-05-25 | 浪潮(北京)电子信息产业有限公司 | 一种数据处理方法及装置 |
WO2013032825A2 (en) * | 2011-09-01 | 2013-03-07 | Microsoft Corporation | Optimization of a partially deduplicated file |
CN103020317A (zh) * | 2013-01-10 | 2013-04-03 | 曙光信息产业(北京)有限公司 | 基于重复数据删除的数据压缩方法和装置 |
CN105027071A (zh) * | 2013-03-06 | 2015-11-04 | 起元科技有限公司 | 管理对存储数据单元的操作 |
-
2016
- 2016-01-15 CN CN201610027489.0A patent/CN106982165A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101523732A (zh) * | 2006-09-01 | 2009-09-02 | 帕克比特软件股份有限公司 | 用于通过数据网络传输数据文件的方法和*** |
CN101667843A (zh) * | 2009-09-22 | 2010-03-10 | 中兴通讯股份有限公司 | 嵌入式***的数据压缩、及解压缩方法与装置 |
CN102075287A (zh) * | 2010-11-22 | 2011-05-25 | 浪潮(北京)电子信息产业有限公司 | 一种数据处理方法及装置 |
WO2013032825A2 (en) * | 2011-09-01 | 2013-03-07 | Microsoft Corporation | Optimization of a partially deduplicated file |
CN103020317A (zh) * | 2013-01-10 | 2013-04-03 | 曙光信息产业(北京)有限公司 | 基于重复数据删除的数据压缩方法和装置 |
CN105027071A (zh) * | 2013-03-06 | 2015-11-04 | 起元科技有限公司 | 管理对存储数据单元的操作 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109104732A (zh) * | 2018-06-13 | 2018-12-28 | 珠海格力电器股份有限公司 | 数据发送方法、装置及智能电器 |
CN112769883A (zh) * | 2019-11-01 | 2021-05-07 | 科美诊断技术股份有限公司 | 一种耗材数据的上传方法及装置 |
CN115361454A (zh) * | 2022-10-24 | 2022-11-18 | 北京智芯微电子科技有限公司 | 消息序列编码、解码、传输方法及编码、解码设备 |
CN115361454B (zh) * | 2022-10-24 | 2023-03-24 | 北京智芯微电子科技有限公司 | 消息序列编码、解码、传输方法及编码、解码设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101568144B (zh) | 一种适用于无线自组织网络的报头压缩方法 | |
WO2017012510A1 (zh) | 传输灵活以太网的业务流的方法和装置 | |
CN102480462B (zh) | 通用协议适配方法及装置 | |
CN101436922B (zh) | 一种基于udp协议传输大量数据的方法 | |
CN111083161A (zh) | 数据传输的处理方法及装置、物联网设备 | |
EP3651438B1 (en) | Data transmission based on application- and protocol-adaptive compression strategies | |
CN103825869A (zh) | 以太网报文头的压缩及解压缩方法、压缩及解压缩设备 | |
CN102523119B (zh) | 基于snmp协议的epon网管***数据传输方法 | |
CN102480335B (zh) | 一种业务数据的发送方法及*** | |
CN109818930A (zh) | 一种基于tcp协议的通讯文本数据传输方法 | |
CN101237419A (zh) | 航空电信网空地通信中的报头压缩方法 | |
CN103369593B (zh) | 一种压缩和解压缩以太网报文的方法及网元设备 | |
WO2018171641A1 (zh) | 网络管理信息的收发方法、装置、发送设备和接收设备 | |
CN106982165A (zh) | 数据压缩方法及其*** | |
CN102420822A (zh) | 网络文件传输方法及*** | |
CN101146025A (zh) | 压缩实时传输协议的报文传输方法和***以及压缩端单元 | |
CN102571939A (zh) | 一种跨平台通信方法及*** | |
CN102006173A (zh) | 一种以太网接口扩展方法及装置 | |
CN104967498A (zh) | 一种基于历史的卫星网络数据包压缩传输方法 | |
CN102006295A (zh) | 基于atm承载ip语音的数据压缩方法 | |
CN108040041A (zh) | 一种基于业务驱动的图像差异传输协议设计***及方法 | |
CN112566180A (zh) | 一种提升tetra***分组数据传输速率的方法 | |
CN113364790B (zh) | 数据传输方法及装置 | |
CN102480463B (zh) | 网络交互方法及*** | |
CN101247415A (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: 20170725 |