CN106851733A - 一种针对移动网络应用的自适应http消息压缩方法 - Google Patents
一种针对移动网络应用的自适应http消息压缩方法 Download PDFInfo
- Publication number
- CN106851733A CN106851733A CN201611244920.3A CN201611244920A CN106851733A CN 106851733 A CN106851733 A CN 106851733A CN 201611244920 A CN201611244920 A CN 201611244920A CN 106851733 A CN106851733 A CN 106851733A
- Authority
- CN
- China
- Prior art keywords
- message
- compression
- compression method
- content
- mobile network
- 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.)
- Withdrawn
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/06—Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
-
- 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3084—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
- H03M7/3086—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method employing a sliding window, e.g. LZ77
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Mobile Radio Communication Systems (AREA)
- Information Transfer Between Computers (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明公开了一种针对移动网络应用的自适应HTTP消息压缩方法,在移动端与服务端进行HTTP消息传递时,对待传输的消息体的大小进行计算,提供自适应的消息压缩方法,根据消息体大小不同,判断采用不同压缩方式进行压缩,将压缩后的消息发送到消息接收方,消息接收方通过解压方法将消息解压成实际需要的消息格式。自适应压缩方法提供两种方案,一种为择优策略,一种为阈值策略;本发明方法一定程度地压缩前后端交互过程中经由网络传输的HTTP消息,从而有效地节约手机端的流量消耗。
Description
技术领域
本发明提供了一种针对移动互联网应用的自适应式的HTTP消息压缩方法,涉及移动互联网应用,HTTP协议,HTTP压缩,尤其涉及一种适用于小文本消息的压缩方法。
背景技术
随着智能移动设备和移动互联网应用的飞速发展,HTTP几乎已经快成为一种通用的Web标准,Web Services、REST、Open API、OAuth等等都是基于HTTP协议的。它已经不仅仅是Hyper Text的传输标准了,几乎所有数据的传输(多媒体、XML、JSON)都可以采用HTTP只需要按照web开发流程就可以快速,稳定,高效的架起一个服务器了。
发明内容
本发明的目的在于针对现有的移动互联网产品前后端消息交互方式,提供一种根据传输内容大小不同而采取不同压缩方式的压缩方法,一定程度地压缩前后端交互过程中经由网络传输的HTTP消息,从而有效地节约手机端的流量消耗。
本发明的目的是通过以下技术方案来实现的:在移动端与服务端进行HTTP消息传递时,对待传输的消息体的大小进行计算,提供自适应的消息压缩方法,根据消息体大小不同,判断采用不同压缩方式进行压缩,将压缩后的消息发送到消息接收方,消息接收方通过解压方法将消息解压成实际需要的消息格式。具体包括以下步骤:
(1)消息发送方的HTTP消息压缩:消息发送方提供两种不同的压缩方法,第一种为基于LZ77算法以及哈夫曼编码的压缩方法,第二种为基于二进制编码的压缩方法。消息发送方采用一种自适应的方式进行消息压缩,即自动选择上述两种压缩方法中的一种进行消息压缩,并修改HTTP头信息中的Content-Type信息,以标识消息经由何种压缩方法压缩,将处理后的消息发送到消息接收方。
(2)消息接收方的HTTP消息解压缩:消息接收方获取到HTTP消息后,根据头信息中的Content-Type,将消息体进行解压缩,恢复原始消息体内容,并且修改HTTP头信息中的Content-Type为原始消息格式。
进一步地,所述步骤(1)中自适应的方式选择压缩方法具体为:同时采用两种压缩方法压缩消息体,随后将二者的压缩结果进行比较,选取压缩效果好的进行传输,这种方式能够更精准的节约带宽,但是一定程度上会增加消息发送端的计算资源消耗以及增加了压缩消息所消耗的时间。
进一步地,所述步骤(1)中自适应的方式选择压缩方法具体为:制定一个阈值,根据消息体大小在哪一个区间而采用不同的压缩方式。经过调研和反复实验,第一种压缩方法对大文本压缩效果较好,对小于一定大小的文本压缩效果较差甚至无效果;第二种压缩方法对小文本压缩效果较好,对大于一定大小的文本压缩效果较差甚至无效果。基于以上实验结论,将原始消息体大小与阈值进行比较,大于阈值则采用第一种压缩方法进行压缩,小于阈值则采用第二种压缩方法进行压缩。所述阈值的范围为[2kb,5kb]。
进一步地,所述基于LZ77算法以及哈夫曼编码的压缩方法具体为:对原始文本进行LZ77算法压缩后,再进行动态的哈夫曼编码压缩;所述LZ77算法压缩具体为:如果文本中有两块内容相同的话,那么只要知道前一块的位置和大小,就可以确定后一块的内容。进而采用两者之间的距离与相同内容的长度这样一对信息,来替换后一块内容,由于替换后的内容长度会小于被替换内容的大小,所以文本得到了压缩;所述哈夫曼编码压缩具体为:哈夫曼编码为一种可变字长的编码方式,把文本中一定位长的值看作符号,比如把8位长的256种值,也就是字节的256种值看作是符号。根据这些符号在文件中出现的频率,对这些符号重新编码。对于出现次数非常多的,用较少的位来表示,对于出现次数非常少的,用较多的位来表示,这样编码后,文本的一些部分位数变少了,一些部分位数变多了,由于变小的部分比变大的部分多,整个文本的大小还是会减小,所以文本得到了压缩。
进一步地,所述基于二进制编码的压缩方法具体为:传统的HTTP消息序列化方式一般采用字节流或字符流传输,例如目前常见的JSON或XML等格式,这种序列化方式是将对象属性以键值对的形式组织成字符串的一种编码过程,为描述数据结构而增加了很多且重复的属性字符串以及标点符号,从体积上看会比原始内容增加很多。这也意味着字节流或字符流的序列化方式在传输内容上有较大的可压缩空间。二进制序列化方式,则是直接将对象的内存映射抽取出来直接形成二进制流,相比之下省略了JSON或XML格式下冗余的属性信息占用的传输空间,从而使HTTP消息体大小得到了压缩。
本发明的有益效果是:本发明提供一种根据传输内容大小不同而采取不同压缩方式的压缩方法,一定程度地压缩前后端交互过程中经由网络传输的HTTP消息,从而有效地节约手机端的流量消耗。
附图说明
图1是本发明的采用择优策略的自适应压缩方法的消息发送端流程示意图;
图2是本发明的采用阈值策略的自适应压缩方法的消息发送端流程示意图;
图3是本发明的自适应压缩方法的消息接收端流程示意图。
具体实施方式
下面结合附图详细描述本发明,本发明的目的和效果将变得更加明显。
本发明一种针对移动互联网应用节约带宽的自适应式的HTTP消息压缩方法,具体实施方式包括以下步骤:
(1)消息发送端进行消息压缩的流程,在实际应用中,根据采用不同的自适应压缩策略而略有不同。
采用两种压缩方式并行压缩,根据压缩效果择优发送的策略下的流程如图1所示,首先并行进行两种压缩方式对消息体进行压缩,一种是基于LZ77算法或变体算法以及哈夫曼编码的压缩方法,可选用GZIP压缩方式实现,GZIP方法是对原始文本进行LZ77变体算法压缩后,再进行动态的哈弗曼编码压缩的一种方法;另一种是基于二进制编码的压缩方法,可采用Google Protocol Buffer(以下简称为GPB)编码格式来实现。比较两种压缩方法的压缩结果,选择压缩后体积更小的结果发送。
采用消息体大小阈值策略的流程如图2所示,消息发送端提供一个拦截器,首先在消息发送之前,计算原始消息体的大小,以二进制位为单位,根据消息体大小判断采用何种消息压缩方式。消息发送端的拦截器提供两种不同的压缩方式,一种是基于LZ77算法或变体算法以及哈夫曼编码的压缩方法,可选用GZIP压缩方式实现,GZIP方法是对原始文本进行LZ77变体算法压缩后,再进行动态的哈弗曼编码压缩的一种方法;另一种是基于二进制编码的压缩方法,可采用Google Protocol Buffer(以下简称为GPB)编码格式来实现。
采用阈值策略的自适应方法时,需要制定一个阈值,作为选用何种压缩方案的依据。经过反复实验,已发现GZIP压缩方法对小于一定大小的文本内容压缩效果较差,GPB编码方法对大于一定大小的文本压缩效果较差。判定阈值可以设定为[2kb,5kb],优选2kb,即待传输消息体的大小大于2kb,则调用GZIP压缩方法进行压缩,待传输消息体大小小于2kb,则调用GPB压缩方法将原始内容转换成GPB编码格式。
采用根据压缩效果择优的策略,可以确保体积压缩最小化,以更加精确的节约网络传输流量,另一方面则会更多的消耗计算资源以及增加了消息压缩所用的时间。采用阈值策略的自适应压缩方法,根据经验预测大概率下应采用何种压缩方法能使压缩结果最优,可以很好的节约压缩消耗的时间成本与计算资源,更加省电以及降低网络延时。在实际实施中,可结合实际需求,具体情况具体分析,综合考虑选择何种自适应压缩策略。
压缩后的消息需要在头信息中修改消息类型属性,以便消息接收方判定消息体是经由何种压缩方式压缩的。之后消息发送端将处理好的HTTP消息发送给消息接收端。
(2)消息接收端进行消息解压缩的流程如图2所示,消息接收端提供一个拦截器,首先,在获取到HTTP消息时,解析头信息,根据消息格式不同,相应的调用不同的解压缩方法对收到的消息体进行解压缩:相对于步骤(1),消息接收端的拦截器提供两种不同的解压缩方法,消息格式判定为GZIP编码时,调用GZIP解压缩方法将消息体转换成原始消息格式,并修改HTTP头信息中的消息格式为原始消息格式;消息格式判定为GPB编码时,调用GPB解压缩方法将消息体转换成原始消息格式,并修改HTTP头信息中的消息格式为原始消息格式。拦截器将转换后的HTTP消息发送给真正的消息接收接口。
进一步地,在实际应用中,手机端与服务端需要双向进行消息压缩与解压缩,即手机端应用既要作为步骤(1)所述的消息发送方,又要作为步骤(2)所述的消息接收方;服务端也是同理。所以,手机端与服务端都需要同时配有消息压缩拦截器和消息解压缩拦截器。
Claims (6)
1.一种针对移动网络应用的自适应HTTP消息压缩方法,其特征在于,包括以下步骤:
(1)消息发送方的HTTP消息压缩:消息发送方提供两种不同的压缩方法,第一种为基于LZ77算法以及哈夫曼编码的压缩方法,第二种为基于二进制编码的压缩方法。消息发送方采用一种自适应的方式进行消息压缩,即自动选择上述两种压缩方法中的一种进行消息压缩,并修改HTTP头信息中的Content-Type信息,以标识消息经由何种压缩方法压缩,将处理后的消息发送到消息接收方。
(2)消息接收方的HTTP消息解压缩:消息接收方获取到HTTP消息后,根据头信息中的Content-Type,将消息体进行解压缩,恢复原始消息体内容,并且修改HTTP头信息中的Content-Type为原始消息格式。
2.根据权利要求1所述的一种针对移动网络应用的自适应HTTP消息压缩方法,其特征在于,所述步骤(1)中自适应的方式选择压缩方法具体为:同时采用两种压缩方法压缩消息体,随后将二者的压缩结果进行比较,选取压缩效果好的进行传输。
3.根据权利要求1所述的一种针对移动网络应用的自适应HTTP消息压缩方法,其特征在于,所述步骤(1)中自适应的方式选择压缩方法具体为:制定一个阈值,将原始消息体大小与阈值进行比较,大于阈值则采用第一种压缩方法进行压缩,小于阈值则采用第二种压缩方法进行压缩。
4.根据权利要求3所述的一种针对移动网络应用的自适应HTTP消息压缩方法,其特征在于,所述阈值的范围为[2kb,5kb]。
5.根据权利要求1所述的一种针对移动网络应用的自适应HTTP消息压缩方法,其特征在于,所述基于LZ77算法以及哈夫曼编码的压缩方法具体为:对原始文本进行LZ77算法压缩后,再进行动态的哈夫曼编码压缩;所述LZ77算法压缩具体为:如果文本中有两块内容相同,那么只要知道前一块的位置和大小,就可以确定后一块的内容。进而采用两者之间的距离与相同内容的长度这样一对信息,来替换后一块内容;所述哈夫曼编码压缩具体为:把文本中一定位长的值看作符号,根据这些符号在文件中出现的频率,对这些符号重新编码,对于出现次数非常多的,用较少的位来表示,对于出现次数非常少的,用较多的位来表示。
6.根据权利要求1所述的一种针对移动网络应用的自适应HTTP消息压缩方法,其特征在于,所述基于二进制编码的压缩方法具体为:直接将对象的内存映射抽取出来直接形成二进制流,省略了JSON或XML格式下冗余的属性信息占用的传输空间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611244920.3A CN106851733A (zh) | 2016-12-29 | 2016-12-29 | 一种针对移动网络应用的自适应http消息压缩方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611244920.3A CN106851733A (zh) | 2016-12-29 | 2016-12-29 | 一种针对移动网络应用的自适应http消息压缩方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106851733A true CN106851733A (zh) | 2017-06-13 |
Family
ID=59113434
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611244920.3A Withdrawn CN106851733A (zh) | 2016-12-29 | 2016-12-29 | 一种针对移动网络应用的自适应http消息压缩方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106851733A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108156173A (zh) * | 2018-01-09 | 2018-06-12 | 江苏徐工信息技术股份有限公司 | 一种json数据包的动态无损压缩方法 |
CN109218214A (zh) * | 2018-10-31 | 2019-01-15 | 中盈优创资讯科技有限公司 | 运营商级通用流量压缩方法及装置 |
CN110505655A (zh) * | 2018-09-10 | 2019-11-26 | 深圳市文鼎创数据科技有限公司 | 数据指令处理方法、存储介质及蓝牙盾 |
CN111935261A (zh) * | 2020-07-30 | 2020-11-13 | 北京达佳互联信息技术有限公司 | 应答消息处理方法、装置、电子设备及存储介质 |
CN114501682A (zh) * | 2020-10-23 | 2022-05-13 | 诺基亚技术有限公司 | 有效载荷压缩 |
CN114679602A (zh) * | 2022-03-30 | 2022-06-28 | 北京达佳互联信息技术有限公司 | 一种数据处理方法、装置、电子设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101079889A (zh) * | 2007-06-26 | 2007-11-28 | 中兴通讯股份有限公司 | 数据传输系统及其传输方法 |
CN101212471A (zh) * | 2006-12-31 | 2008-07-02 | 中兴通讯股份有限公司 | 一种使用SyncML协议进行数据同步的方法 |
CN101582067A (zh) * | 2008-05-15 | 2009-11-18 | 国际商业机器公司 | 解压压缩文件时减小存储需求的方法和系统 |
EP2122935A2 (en) * | 2007-03-12 | 2009-11-25 | Citrix Systems, Inc. | Systems and methods of providing proxy-based quality of service |
CN103166983A (zh) * | 2011-12-09 | 2013-06-19 | 中国移动通信集团广东有限公司 | 网络数据优化处理方法与装置、网络服务器 |
CN105339924A (zh) * | 2013-05-22 | 2016-02-17 | 亚马逊科技公司 | 作为服务的有效数据压缩和分析 |
-
2016
- 2016-12-29 CN CN201611244920.3A patent/CN106851733A/zh not_active Withdrawn
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101212471A (zh) * | 2006-12-31 | 2008-07-02 | 中兴通讯股份有限公司 | 一种使用SyncML协议进行数据同步的方法 |
EP2122935A2 (en) * | 2007-03-12 | 2009-11-25 | Citrix Systems, Inc. | Systems and methods of providing proxy-based quality of service |
CN101079889A (zh) * | 2007-06-26 | 2007-11-28 | 中兴通讯股份有限公司 | 数据传输系统及其传输方法 |
CN101582067A (zh) * | 2008-05-15 | 2009-11-18 | 国际商业机器公司 | 解压压缩文件时减小存储需求的方法和系统 |
CN103166983A (zh) * | 2011-12-09 | 2013-06-19 | 中国移动通信集团广东有限公司 | 网络数据优化处理方法与装置、网络服务器 |
CN105339924A (zh) * | 2013-05-22 | 2016-02-17 | 亚马逊科技公司 | 作为服务的有效数据压缩和分析 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108156173A (zh) * | 2018-01-09 | 2018-06-12 | 江苏徐工信息技术股份有限公司 | 一种json数据包的动态无损压缩方法 |
CN110505655A (zh) * | 2018-09-10 | 2019-11-26 | 深圳市文鼎创数据科技有限公司 | 数据指令处理方法、存储介质及蓝牙盾 |
CN109218214A (zh) * | 2018-10-31 | 2019-01-15 | 中盈优创资讯科技有限公司 | 运营商级通用流量压缩方法及装置 |
CN111935261A (zh) * | 2020-07-30 | 2020-11-13 | 北京达佳互联信息技术有限公司 | 应答消息处理方法、装置、电子设备及存储介质 |
CN111935261B (zh) * | 2020-07-30 | 2023-08-08 | 北京达佳互联信息技术有限公司 | 应答消息处理方法、装置、电子设备及存储介质 |
CN114501682A (zh) * | 2020-10-23 | 2022-05-13 | 诺基亚技术有限公司 | 有效载荷压缩 |
CN114679602A (zh) * | 2022-03-30 | 2022-06-28 | 北京达佳互联信息技术有限公司 | 一种数据处理方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106851733A (zh) | 一种针对移动网络应用的自适应http消息压缩方法 | |
US9454552B2 (en) | Entropy coding and decoding using polar codes | |
US9392082B2 (en) | Communication interface and method for robust header compression of data flows | |
US7640362B2 (en) | Adaptive compression in an edge router | |
US6963587B2 (en) | Communication system and method utilizing request-reply communication patterns for data compression | |
CN105052040A (zh) | 多流压缩与解压的方法与系统 | |
US9866356B2 (en) | Data distribution method and device | |
US9294125B2 (en) | Leveraging language structure to dynamically compress a short message service (SMS) message | |
US7605721B2 (en) | Adaptive entropy coding compression output formats | |
CN102752320B (zh) | 一种代理服务器主动压缩方法及代理服务器 | |
WO2022063058A1 (zh) | 基于netconf协议的传输方法、设备及存储介质 | |
CN112399479A (zh) | 用于数据传输的方法、电子设备和存储介质 | |
US20060270418A1 (en) | State-mediated data signaling used for compression in telecommunication services | |
CN104767710B (zh) | 基于dfa的http分块传输编码的传输载荷提取方法 | |
CN101197825B (zh) | 一种传输压缩消息的方法、系统及设备 | |
WO2023179800A1 (zh) | 通信接收方法及其装置 | |
CN107615810B (zh) | 用于在线网络代码的包头压缩系统和方法 | |
Jin et al. | Using SigComp to compress SIP/SDP messages | |
CN104038307A (zh) | 数据流传输系统及方法 | |
CN107517202B (zh) | 一种sip信令的二进制化发送和接收方法 | |
CN108737349B (zh) | 一种语音数据包的处理方法及装置 | |
EP1334559A2 (en) | Communication system and method utilizing request-reply communication patterns for data compression | |
CN114900555A (zh) | 基于无损压缩算法的数据分发方法及装置 | |
CN101197823A (zh) | 在压缩/解压缩过程中传输解压缩信息的方法、系统及装置 | |
CN110289932B (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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20170613 |