是否需要对网络传输数据进行压缩?如何选择压缩算法? | 您所在的位置:网站首页 › 数据传输和处理采用什么技术进行 › 是否需要对网络传输数据进行压缩?如何选择压缩算法? |
版权所有。如需转载,请保留作者及出处信息:http://blog.csdn.net/jmppok/article/details/38121115
在网络网络传输过程中,最关心的就是传输效率问题。而提高传输效率最有效的方法就是对传输的数据进行压缩。但压缩数据也要耗费一定的时间,是不是压缩后一定能提高效率呢?该如何选择合适的压缩算法呢?请看本文的具体分析。 1.数据传输时间 假设数据大小为D (MB) 网络带宽为 N (MBps) -------------注意这里是MBps,而不是通常说的Mbps, 1MBps = 10Mbps, 1000Mbps=100MBps.
那么数据传输时间T1 = D/N 2.压缩后的数据传输时间
假设压缩算法压缩率为 R ------------------ 即压缩后数据大小为D*R 压缩速度为 Vc MB/S 解压缩速度为 Vd MB/S
那么压缩后的数据传输时间 T2 = D/Vc + D*R/N + D/Vd = D/N * ( R + N/Vc + N/Vd) 3.分析 对比: T1 = D/N T2 = D/N*(R+N/Vc+N/vd) 发现: 如果R + N/Vc + N/Vd < 1,则压缩后传输要更快,否则压缩后传输反而更慢。 也就是压缩后传输能否更快是和压缩算法的 “压缩率”,“压缩/解压缩速度” 以及当前“带宽”相关 压缩率越小,压缩/解压缩越快,带宽越小,压缩后传输越能提高效率。而在带宽不变得情况下,压缩率越小,压缩/解压缩越快 越好。 而由于压缩率和压缩/解压缩速度成指数型反比(压缩率提高一点点,压缩/解压缩速度就大幅降低),所以在选用压缩算法时: 最好选择压缩/解压缩速度快的算法,而不必太关注压缩率(当然也不能完全不压缩) 4.常用压缩算法对比 这是来自网上一个常用压缩算法压缩比,压缩/解压缩速度对比图: 来源:http://blog.csdn.net/zhangskd/article/details/17009111 压缩率R为 图中的 1/Ratio。 那么带入到上面公式: LZ4:1/2.084 + N/422 + N/1820 = 0.48 + N*0.0029 也就是说在带宽N |
CopyRight 2018-2019 实验室设备网 版权所有 |