[发明专利]一种基于分级压缩的数据传输方法和系统在审
申请号: | 201210233707.8 | 申请日: | 2012-07-06 |
公开(公告)号: | CN103533004A | 公开(公告)日: | 2014-01-22 |
发明(设计)人: | 马驰;黄明生;赵黎斌;黄希彤;余子军;曹凤龙;徐晓 | 申请(专利权)人: | 深圳市腾讯计算机系统有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;H04L29/06 |
代理公司: | 北京派特恩知识产权代理事务所(普通合伙) 11270 | 代理人: | 张颖玲;任媛 |
地址: | 518057 广东省深圳市南*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 分级 压缩 数据传输 方法 系统 | ||
技术领域
本发明涉及互联网的数据传输技术,尤其涉及一种基于分级压缩的数据传输方法和系统。
背景技术
Gzip压缩技术最早用于UNIX系统的文件压缩,现今已经成为互联网上使用非常普遍的一种数据压缩格式。超文本传输协议(HTTP,Hypertext Transport Protocol)上的Gzip压缩是一种用来改进网络(WEB)应用程序性能的技术,大流量的WEB站点常常使用Gzip压缩技术来让用户感受更快的速度,这一般是指HTTP服务器中安装的一个功能,当有用户访问这个服务器中的网站时,服务器中的这个功能就将网页内容利用Gzip算法压缩后传输到客户端,由浏览器或者其他HTTP客户端工具将压缩文件解压后显示出来,一般对纯文本内容可压缩到原大小的40%,这样,就可以降低HTTP服务器的输出带宽,提高数据传输速率。
但是,Gzip压缩技术存在如下的问题:由于Gzip压缩是基于单个文件的,因此,压缩效率会比较低,数据压缩的空间有限,相应的,节省的带宽也有限。目前而言,Gzip是比较通用的压缩方法,因为基本上所有的客户端浏览器都能对其进行解压。
SDCH(Shared Dictionary Compression over HTTP)压缩,即通过字典压缩算法对各个HTTP页面中相同的内容进行压缩,减少相同的内容的传输。如:一个网站中一般都是共同的头部和尾部,甚至一些侧边栏也是共同的。如果采用Gzip压缩技术,那么每个页面打开的时候这些共同的信息都要重新加载,但使用SDCH压缩方式的话,这些共同的内容只用传输一次就可以了;客户端接收到压缩数据后,根据其中附带的头部信息获取对应的字典,并利用字段对数据进行解压。由此可见,SDCH压缩方式克服了Gzip压缩方式存在的第1个问题,SDCH压缩比高于Gzip,使HTTP服务器的输出带宽更小。
但是,SDCH压缩方式也存在着一些问题,例如:1、SDCH压缩也需要客户端的配合,这样不利于SDCH压缩算法的改良;2、SDCH压缩文件使用vcdiff格式,不能使用霍夫曼树编码,压缩比仍然不能达到最优。
发明内容
有鉴于此,本发明的主要目的在于提供一种基于分级压缩的数据传输方法和系统,以优化数据的压缩比,降低带宽成本。
为达到上述目的,本发明的技术方案是这样实现的:
本发明提供一种基于分级压缩的数据传输方法,该方法包括:
源服务器对待传输的源数据采用第一压缩算法压缩后传输到接入服务器;
接入服务器对来自所述源服务器的压缩数据进行解压,并将解压后的数据采用第二压缩算法压缩后发送到客户端;
其中,所述第一压缩算法和所述第二压缩算法是不同的压缩算法。
该方法还包括:所述客户端对接入服务器发送的数据进行解压。
所述源服务器包括位于数据中心DC的服务器,所述接入服务器包括位于操作中心OC的服务器。
所述源服务器包括提供数据源的服务器,所述接入服务器包括网络拓扑上距离客户端最近的可用服务器。
所述第一压缩算法的压缩效率高于所述第二压缩算法。
所述第一压缩算法包括基于共享字典的压缩算法,所述第二压缩算法包括Gzip算法。
所述接入服务器被配置为适于对采用第一压缩法压缩的数据进行解压。
本发明还提供一种基于分级压缩的数据传输系统,该系统包括:
源服务器,用于对待传输的源数据采用第一压缩算法压缩后传输到接入服务器;
接入服务器,用于对来自所述源服务器的压缩数据进行解压,并将解压后的数据采用第二压缩算法压缩后发送到客户端;
其中,所述第一压缩算法和所述第二压缩算法是不同的压缩算法。
所述客户端用于对接入服务器发送的数据进行解压。
所述源服务器包括位于数据中心DC的服务器,所述接入服务器包括位于操作中心OC的服务器。
所述源服务器包括提供数据源的服务器,所述接入服务器包括网络拓扑上距离客户端最近的可用服务器。
本发明还提供一种基于分级压缩的数据传输系统,该系统包括:第一压缩模块、第二压缩模块和客户端模块,其中,
所述第一压缩模块,用于对待传输的源数据采用第一压缩算法压缩后传输到所述第二压缩模块;
所述第二压缩模块,用于对来自所述第一压缩模块的压缩数据进行解压,并将解压后的数据采用第二压缩算法压缩后发送到客户端模块;
其中,所述第一压缩算法和所述第二压缩算法是不同的压缩算法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市腾讯计算机系统有限公司,未经深圳市腾讯计算机系统有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210233707.8/2.html,转载请声明来源钻瓜专利网。