本文总结工作中使用过的数据压缩方法,主要有zlib,qatzip,igzip等
最后还进行了针对大规模数据多线程解压缩加速的分析
zlib库
zlib是用于数据压缩的函数库,使用deflate算法
deflate...uLong sourceLen);
压缩方法,将源缓冲中的数据压缩并放入目的缓冲区
注意目的缓冲区的大小有可能比压缩前还要大,因此destLen要留够空间,至少比sourceLen加12字节之后还大0.1%...压缩文件是二进制的,由三部分组成
头信息
数据主体
校验
以下为标准格式的简要说明,详细解释可以看参考文档
qatzip库
通过硬件加速的方式进行压缩,即需要插入一张单独的intel的QAT卡;好处显而易见...ID,extra field添加压缩前和后的bytes大小;以zlib压缩举例
压缩后,更新extra filed中压缩前后数据长度
解压缩的时候,首先找到第一个block,读入头信息,获取当前block...,则直接将10个block的二进制数据连续输出到磁盘文件即可,多个block可以直接cat到一起而不影响解压缩
参考文档
zlib压缩数据
zlib官网
High Performance DEFLATE