您的位置 首页 元件

根据Facebook开发的实时数据压缩程序

基于Facebook开发的实时数据压缩程序-重要的是, Zstandard有一套丰富的API,支持几乎所有流行的编程语言,包括Python、Java、JavaScript、Nodejs、Perl、Ruby、C#、Go、Rust、PHP和Swift等语言。

Zstandard(又名Zstd)是一款免费开源的快速实时数据紧缩程序,具有更高的紧缩比,由Facebook开发。它是用C言语编写的无损紧缩算法,因而它是一个原生的Linux程序。

需求的话,它能够献身紧缩速度,交换更高的紧缩比(紧缩速度与紧缩比这个组合能够逐级装备),反之亦然。它有一种用于小数据紧缩的特别形式,名为字典紧缩,能够用供给的任何样本集来构建字典。它带有一个指令行有用程序,用于创立和解码.zst、.gz、.xz和.lz4等文件。

重要的是, Zstandard有一套丰厚的API,支撑简直一切盛行的编程言语,包含Python、Java、JavaScript、Nodejs、Perl、Ruby、C#、Go、Rust、PHP和Swift等言语。

它在Facebook活跃用于紧缩多种格局的很多数据,支撑多种运用场景,适用于亚马逊Redshift数据库房等服务、Hadoop和Redis等数据库、Tor网络以及包含游戏在内的其他许多运用。

经过运用lzbench这种开源的内存基准测验东西,在一台运转Linux Debian的服务器上履行几项快速紧缩算法测验,获得了以下成果:

根据Facebook开发的实时数据紧缩程序

Zstandard紧缩测验

如安在Linux中装置Zstandard紧缩东西?

想在Linux发行版上装置Zstandard,你需求用源代码来编译,不过在此之前,需求运用发行版软件包管理器在体系上装置必要的开发东西,如下所示:

$ sudo apt update && sudo apt install build-essenTIal #Ubuntu/Debian # yum group install “Development Tools” #CentOS/REHL # dnf groupinstall “C Development Tools and Libraries” #Fedora 22+

一旦装置了一切需求的开发东西,能够下载源代码软件包,进入到本地库房目录,构建二进制文件并装置,所下所示:

$ cd ~/Downloads $ git clone https://github.com/facebook/zstd.git $ cd zstd $ make $ sudo make install

一旦Zstandard装置结束,现在咱们能够进一步学习下面部分中Zstd指令示例的一些根本用法。

学习Linux中10个Zstd指令运用示例

Zstd的指令行语法一般与gzip和xz东西相似,不过有几个差异。

1.想创立.zst紧缩文件,只需供给一个紧缩文件名即可,或许运用-z标志也意味着紧缩,这是默许操作。

$ zstd etcher-1.3.1-x86_64.AppImage

或许

$ zstd -z etcher-1.3.1-x86_64.AppImage

2.想解紧缩.zst紧缩文件,运用-d标志或unzstd有用程序,如下所示:

$ zstd -d etcher-1.3.1-x86_64.AppImage

或许

$ unzstd etcher-1.3.1-x86_64.AppImage

3.想在紧缩操作和后删去源文件,默许情况下,源文件在成功紧缩或解紧缩后不会被删去;想删去它,运用–rm选项。

$ ls etcher-1.3.1-x86_64.AppImage $ zstd –rm etcher-1.3.1-x86_64.AppImage $ ls etcher-1.3.1-x86_64.AppImage

4.想设置紧缩等级,Zstd有许多操作修正符,比方你能够指定紧缩等级为-6 (数值1-19,默许值为3),如下所示:

$ zstd -6 –rm etcher-1.3.1-x86_64.AppImage

5.想设置紧缩速度,Zstd的紧缩速度比为1-10,默许紧缩速度为1。能够运用–fast选项,献身紧缩比,交换更高的紧缩速度;数值越大,紧缩速度越快。

$ zstd –fast=10 etcher-1.3.1-x86_64.AppImage

6.想显现有关紧缩文件的信息,运用-l标志,这能够用来显现有关紧缩文件的信息。

$ zstd -l etcher-1.3.1-x86_64.AppImage.zst

7.想测验紧缩文件的完整性,运用-t标志,如下所示:

$ zstd -t etcher-1.3.1-x86_64.AppImage.zst

8.想启用具体形式,运用-v选项。

$ zstd -v -5 etcher-1.3.1-x86_64.AppImage

9.想运用其他文件紧缩或解紧缩格局,比方gzip、xz、lzma和lz4,运用–format=FORMAT,如下所示:

$ zstd -v –format=gzip etcher-1.3.1-x86_64.AppImage $ zstd -v –format=xz etcher-1.3.1-x86_64.AppImage

10.想将Zstd进程优先级设置为实时,能够运用选项-priority = rt,如下所示:

$zstd –priority=rt etcher-1.3.1-x86_64.AppImage

-r标志指令Zstd对字典履行递归操作。只需查阅Zstd参考手册页,你就能够找到许多有用的高档选项,以及怎么阅览或创立字典。

$ man zstd Zstandard Github库房:https://github.com/facebook/zstd

Zstandard是一种快速的实时无损数据紧缩算法和紧缩东西,供给了高紧缩比。测验一下,共享你的主意,也能够经过下面的反应表来发问。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/xinpin/yuanjian/103085.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部