差分编码
![本页使用了标题或全文手工转换](http://images.weserv.nl/?url=//upload.wikimedia.org/wikipedia/commons/thumb/c/cd/Zh_conversion_icon_m.svg/35px-Zh_conversion_icon_m.svg.png)
此条目没有列出任何参考或来源。 (2018年6月24日) |
差分编码(英语:Delta encoding),又称增量编码,是指在序列式资料之间以数据差异形式存储或发送资料的方式(相对于存储发送完整文件的方式)。通常应用于目标文件和参考文件之间存在高度冗余的情况,使压缩后文件大小比仅使用目标文件压缩小,可以提高网络和磁盘资源的使用效率。
差异存储在称为“delta”或“diff”的不连续文件中。由于改变通常很小(平均占全部大小的2%),差分编码能大幅减少资料的重复。一连串独特的delta文件在空间上要比未编码的相等文件有效率多了。
差分编码的简单例子是存储序列式资料之间的差异(而不是存储资料本身):不存“2, 4, 6, 9, 7”,而是存“2, 2, 2, 3, -2”。单独使用用处不大,但是在序列式数值常出现时可以帮助压缩资料。
应用
典型的应用场景包括管理有多版本的文件,透过网络传输软件的补丁或更新包,此时需要接收者已经拥有旧版本的资料。或是当网页有共同的布局和菜单结构时可以压缩。 需要查看文件的历史更改记录(版本控制、git等)、Windows中的远程差分压缩、在线备份等场景均用到了差分编码。 大多数使用增量编码的文件为文字或二进制文件。
RCS和SCCS是两种传统系统,为单一文件提供增量压缩的版本控制。更新的版本控制系统,如 CVS和PRCS强调对文件集合(而不是单一文件)提供版本控制的重要性,因此常使用RCS和SCCS进行后端存储而不是用于版本控制。
参考资料
Suel, Torsten. "Delta compression techniques." Encyclopedia of Big Data Technologies 63 (2019). MacDonald, Joshua. (2003). File System Support for Delta Compression.
相关条目
![]() | 这是一篇与计算机相关的小作品。您可以通过编辑或修订扩充其内容。 |
|