基于网络的数据压缩

原创 2006年05月21日 17:22:00
从网络共享的方面看数据压缩
                                  陈航
                  北京林业大学信息学院   计算机系 100083
   
摘要:世界是一个统一的整体,同时我们的资源也是有限的,无论是水,还是其他的,都是我们生存下去的基础,所以我们号召大家节约资源,从自己作起。我们现在的数据压缩方面的研究目的是从本地计算机的角度来考虑如何节约我们的硬盘空间,但是这一点远远不能满足我们对压缩效果的要求,随着网络技术的高速发展,使得我们一整个网络的观点来看待我们需要的数据压缩变得越来越有可能,离我们也越来越近了。
关键字:压缩 网络
前言:虽然说现在的世界是一个信息的世界,但是数据冗余的情况是随处可见的,我们平时上网需要的搜索引擎,例如:baidu,Google,Yahoo等,虽然给我们带来了很大的便利,能提供我们所需要的信息,同时能很精确的找到网上的资源,但同时也见证了网络上有很多很大的数据冗余情况,一条相同的信息,一个完全相同的资源下载却有上万条的网站同时存在,而且提供下载,我们想想,如果这些机器的硬盘上面都有这些资源而且是独立的,我们是不是很浪费空间了,同时也浪费了我们的资源,从整个世界的观点来看,这一点是不可取的,虽然我们在研究先进的算法来单单从本地来解决本地硬盘的空间存储问题,但这毕竟是一个方面,如果我们从更高更加广阔的视野来考虑这个问题,也就是不从个人或者某个公司来考虑,而是从整个人类的观点来看待数据压缩,这比现在的效果要好得很多,但是这仅仅现在只是设想,当然我们在完善我们的网络的同时也要将这点考虑进去。
正文部分:
1 理论分析部分:
1.1效率低下的主要原因:(如图)
                           (图1.1)
1.2分析:我们可以免费的从网络上获取大量的绿色软件,也就是免费软件,大多数是某个公司或者编程爱好者为表现其实力来编写的,但是这种软件多数最初只有单独的一个服务器来提供下载功能,但是很多商业网站或者其他软件下载网站为了达到其自身的商业目的,也就是为了使得其点击率比较高也为此软件提供了上载功能,为我们提供方便快捷的同时也在使我们的资源在浪费。我们可以看看主要的浪费途径就是过程1和过程2,每个商业网站的服务器中都有这个软件。即使是软件所占的硬盘空间很少,但是由于商业网站服务器的数量很大,所以浪费也很大。
2.解决途径的分析:
2.1方法一:
把每个计算机看成独立的部分,没有连入任何的网络中,同时也没有得到任何的网络共享,所以单单改进我们压缩算法,编制高效率的压缩工具,这样我们就可以省下空间。
2.2方法二:
用网络方面的知识去思考.事实上也就是我们能不能为某个网络资源(用户需求量很大)在整个网络中只存在一份这种资源,或者有另外备份的一份,这样我们就可以得到很大的压缩比例.
3.具体事例分析:
3.1事例:我们用Visual Studio2005.net的文件来作为具体事例.首先我们用要进行分析.同时我们作几点假设,具体如下:
  1. 全球需要这个软件的用户是1000人.
  2. 同时有10000个网站提供这个软件的下载.
  3. 假设每个用户和网站都需要一份安装文件.
3.2方法一结果:
  用rar压缩后, Visual Studio2005.net(中文版)的大小是2.73G.解压后为大约为3G左右.
计算节约的空间:
   (3-2.73)*(11000) = 2970G   节省空间
但是全世界总共需要的存储空间:
   2.73*11000 = 30030G        实际存储空间
3.3方法二结果:
两份Visual Studio2005.net(中文版)为整个所网络共享.
计算节约的空间:
(3-2.73)*(2) = 0.54G   节省空间
但是全世界总共需要的存储空间:
2.73*2 = 5.46G         实际存储空间
3.4对比:
方法一:
全世界总共需要的存储空间: 30030G
方法二:
全世界总共需要的存储空间: 5.46G
压缩比例:
结果一:结果二 = 5500 : 1
3.5基于方法二的思考:
3.5.1实现条件:
1.需要数据不冗余的网络共享.
2.需要高效的网络环境.
3.解决在下载中的队列问题。
4.参考文献:
1.     笨笨数据压缩教程,
2. 《计算机网络》吴功宜 编著 清华大学出版社 2003年
 

是否需要对网络传输数据进行压缩?如何选择压缩算法?

在网络网络传输过程中,最关心的就是传输效率问题。而提高传输效率最有效的方法就是对传输的数据进行压缩。但压缩数据也要耗费一定的时间,是不是压缩后一定能提高效率呢?该如何选择合适的压缩算法呢?请看本文的具...
  • jmppok
  • jmppok
  • 2014年07月25日 17:20
  • 4145

《从零开始搭建游戏服务器》 网络数据压缩——Zlib算法

前言:关于压缩算法,其实有不少,例如:ZIP、RAR和bzip2等,这里我们举例使用的Zlib相较于前者都要简单一些,与ZIP、RAR等归档算法不同,它与bzip2更为接近。那么,下面我们就来尝试一下...
  • linshuhe1
  • linshuhe1
  • 2017年06月08日 15:46
  • 1261

压缩算法-游程算法

简介 无论现在计算机和网络的速度有多快,用户始终要求更快速的体验。为了降低传输数据的容量,我们通常会对数据进行压缩。这就是计算机科学领域一直是研究和发展的焦点的原因。 数据压缩算法有很多,...
  • devillixin
  • devillixin
  • 2014年11月18日 18:04
  • 2142

无损数据压缩算法发展史

内容丰富,闲暇时可以细品 引言 有两种主要的压缩算法: 有损和无损。有损压缩算法通过移除在保真情形下需要大量的数据去存储的小细节,从而使文件变小。在有损压缩里,因某些必要数...
  • Beatman
  • Beatman
  • 2015年05月11日 22:26
  • 1462

基于Socket实现网络编程

Socket是网络上两个程序间双向通讯的一端,它既可以发送请求,也可以接收请求,利用它可以方便的编写网络上数据的传递,在java中,有专门的类类处理用户的请求和响应。利用Socket 类的方法,就可以...
  • u012942818
  • u012942818
  • 2015年05月24日 17:40
  • 2214

墨妈的教学笔记之《数据压缩》之一—绪论(数据压缩的可行性及思路)

解决数据压缩的问题通常可以从三步来分析:第一步是为什么要做,即数据压缩的必要性问题;第二步是为什么可以做,即分析信源数据的特性,并在此基础上进行数据压缩的可行性分析;第三步是在第二步分析的基础上,如何...
  • MomoMum
  • MomoMum
  • 2017年03月05日 23:30
  • 596

解密 广域网带宽压缩法加速详解

随着局域网技术的飞速发展,内网计算机之间的传输速度已经从以前的10M到了现在的100M甚至是1000M。但是当用户访问internet时依然感觉速度不足,不管如何优化都无法达到那种局域网传输所经历的畅...
  • koukouyu
  • koukouyu
  • 2007年05月29日 11:13
  • 597

使用Java来实现网络传输数据压缩的实例

      1:选择或者创建一个新的套接字。(可以参看SUN´S的"创建一个典型的套接字")。  2:创建一个服务器端的套接字  3:创建一个RMIClientSocketFactory  4:创建一...
  • ninibinbin
  • ninibinbin
  • 2009年01月22日 13:29
  • 3976

笨笨数据压缩教程--序

介绍压缩算法的历史,各种压缩算法的原理。 原帖地址:http://www.cnpaf.net/forum/viewthread.php?tid=354&extra=&page=1 但已成死链接...
  • ErikLiu
  • ErikLiu
  • 2011年04月26日 08:59
  • 1227

数据压缩算法综述

《笨笨数据压缩教程》是我在1998年因工作需要研究压缩算法时写的文章(算是一 种工作笔记吧,其中难免有许多疏漏),1999年初随着项目变迁,就把压缩技术的 研究暂时搁置了。从那以后,一是工作太忙,二是...
  • jackyzzy
  • jackyzzy
  • 2012年02月25日 10:35
  • 2762
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:基于网络的数据压缩
举报原因:
原因补充:

(最多只允许输入30个字)