Solid Compression

来源:互联网 发布:通信网络代维 外包 编辑:程序博客网 时间:2024/05/17 22:42

定义

Solid Compression是一种多文件的数据压缩方式,其中所有未被压缩的文件是一个整体,视为一个独立的data block。这样的文件称为solid archive。7z、RAR压缩格式和tar-based格式都支持Solid Compression。但是ZIP压缩不支持,因为ZIP存储分立的压缩文件。

概念解释

文件压缩格式通常包括:压缩(compression)和打包(archiving)。对于多文件的情况,可以用两种不同的方式组合压缩和打包过程:
1. 先单独压缩每个文件,然后打包成一个独立的文件
2. 先打包成一个独立的文件,然后再进行压缩(Solid Compression)

ZIP可以使用第1种方式实现Solid Compression的效果。在Unix中,压缩和打包是两个分立的过程,以下是一个例子:
- compressing individual files and then archiving would be a tar of gzip’ed files – this is very uncommon, while
- archiving via tar and then compressing yields a compressed archive: a .tar.gz – and this is solid compression.

Solid Compression的优缺点

  • 优点

    1. 对于所有文件都很相似的情况(相同的文件格式等),Solid Compression的压缩率更高
    2. 打包很多小文件时更加高效
  • 缺点

    1. 使用Solid Compression后,如果要从压缩包中提取出某一个文件,则需要处理所有的文件才能实现。因此,修改Solid Archive会比较慢和不方便。但是最新版的7-zip中可以设置solid block size,修改压缩文件相对比较简单。
    2. 使用Solid Compression,一旦压缩文件有一点损坏,可能导致压缩包里面的所有文件都无法使用。

参考资料

wiki: Solid compression

0 0