Zstandard srautas (.zstd)

IETF Standartinis

„Zstandard" (Zstd) yra šiuolaikinis „Meta" realaus laiko be nuostolių suspaudimo algoritmas, užtikrinantis suspaudimo koeficientus, prilygstančius „Deflate", ir išskleidžiantis duomenis kelių gigabaitų per sekundę greičiu šiuolaikinėje aparatinėje įrangoje.

Konvertuoti ZSTD į GZIP

Nemokamas ZSTD į GZIP konverteris naršyklėje. Konvertuokite failus akimirksniu savo įrenginyje.

Tikrinti ir metaduomenys

Operacinės sistemos ir failų analizatoriai atpažįsta Zstandard failus tikrindami pradinę dvejetainę baitų seką:

Pasirinkite arba nuvilkite failus čia

100% privatus konvertavimas naršyklėje - failai niekada nepalieka jūsų įrenginio

arba įklijuokite Ctrl+V
Nulinio tinklo perdavimo privatumo garantija: 0 baitų įkelta į išorinius serverius. Visas apdorojimas vyko vietoje, jūsų naršyklės smėlio dėžėje (sandbox).

Baitų lygio antraštės parašas (magiškieji baitai)

Operacinės sistemos ir failų analizatoriai atpažįsta Zstandard failus tikrindami pradinę dvejetainę baitų seką:

ŠEŠIOLIKTAINIS PARAŠAS (POSLINKIS 0):

28 B5 2F FD

ASCII ATVAIZDAVIMAS: (µ/ý

Standartizacija: IETF RFC 8878

Techninės specifikacijos

Konteinerio architektūraFrame header with magic 0xFD2FB528, frame descriptor, data blocks, and optional 32-bit/64-bit checksum
GlaudinimasFinite State Entropy (FSE) coder + Huffman coding + LZ77 with large search windows (up to 2 GB)
Baitų seka (Endianness)Little-Endian byte and bitstream order
Spalvų erdvėsN/A (Data Compression Stream)
Kanalai ir struktūraGeneral-purpose byte stream compression
Maksimalūs matmenysUnbounded streaming data capacity
Skaidrumas100% bit-exact lossless data reproduction
Srautas ir progresyvusis įkėlimasUltra-high-throughput streaming designed to saturate multi-gigabit NVMe and network links

Techninė palyginimo matrica: Zstandard vs konkurentai

Techninis atributasZstandard (Dabartinis)GZBROTLILZ4
Išskleidimo greitisItin greitas (1.5 - 3.0 GB/s)Vidutinis (~300 MB/s)Greitas (~400 MB/s)Žaibiškas (~4.0 GB/s)
Suspaudimo efektyvumasDidesnis nei Gzip, prilygsta Bzip2Bazinis standartasAukščiausias žiniatinklio tekstuiŽemas (orientuotas į greitį)
Žodyno mokymasPritaikyti išmokyti žodynaiNėraFiksuotas 120 KB žiniatinklio žodynasNėra
Šiuolaikinė OS adaptacijaLinux branduolys, Arch, Fedora, BtrfsUniversalus pasenęs UnixŽiniatinklio naršyklės ir CDN kraštasLinux branduolys ir žaidimų varikliai

Dažni sugadinimo režimai ir šešioliktainio atkūrimo vadovas

Išskleidimo klaida: „ZSTD_error_checksum_wrong: Checksum verification failed".

Pirminė priežastis: Sugadintas baitas duomenų bloke, dėl kurio nepavyksta atlikti 32 bitų arba 64 bitų xxHash patvirtinimo.

Atkūrimas: Išskleiskite naudodami „--force", kad apeitumėte kontrolinę sumą, arba suremontuokite naudodami „File2File Zstd Converter".

Saugumo analizė ir analizatoriaus atakos vektoriai

„Zstandard" FSE dekodavimo būsenos mašina turi griežtai tiklizruoti lentelės aprašymus, kad išvengtų neteisingų būsenos šuolių.

Žinomi atakos vektoriai

  • Sugadintos FSE normalizuotų skaitiklių lentelės, sukeliančios neleistinas būsenos lentelės paieškas.
  • Sveikųjų skaičių perpildymas paskirstant didelio lango buferį.
  • Paslaugos trikdymas per pasirinktinio žodyno atminties išsekimą.

Geriausia apsaugos praktika:

Istorinė kilmė ir svarbiausi etapai

2021IETF paskelbia „Zstandard" kaip RFC 8878; pagrindinės „Linux" distribucijos („Arch", „Fedora", „Ubuntu") pritaiko jį pakavimui.
2018„Linux" branduolys 4.14 integruoja „Zstandard" suspaudimą Btrfs ir SquashFS failų sistemoms.
2015Yann Collet išleidžia „Zstandard" „Facebook" įmonėje, pristatydamas baigtinės būsenos entropijos (FSE) technologiją.

Pagrindiniai privalumai

  • Neįtikėtinas išskleidimo greitis: išskleidžia 1,5 - 3,0 GB/s greičiu vienam branduoliui, išnaudodamas greitaveikius NVMe SSD diskus.
  • Labai lanksti suspaudimo skalė: siūlo 22 suspaudimo lygius nuo itin greito realaus laiko iki itin glausto archyvinio.
  • Pritaikytas žodyno mokymas leidžia pasiekti 3 - 5 kartus geresnį suspaudimą mažiems įrašams, tokiems kaip JSON ir duomenų bazės eilutės.

Techniniai apribojimai ir trūkumai

  • Šiek tiek didesnis atminties poreikis nei pasenusio „Deflate" metu atliekant aukšto lygio suspaudimą su dideliais lango dydžiais.
  • Reikalauja šiuolaikinių įrankių; senesniuose „Unix" serveriuose gali nebūti iš anksto įdiegtų zstd komunalinių programų.
  • Neapdoroti .zst srautai reikalauja konteinerizacijos (kaip TAR), kad būtų išlaikyta katalogų hierarchija.

Įdomūs techniniai faktai

  • „Zstandard" naudoja baigtinės būsenos entropiją (tANS) - asimetrinių skaitmenų sistemų proveržį, kurį sukūrė Jarek Duda ir kuris pasiekia Šenono entropijos ribas aparatinės įrangos greičiu.
  • „Arch Linux" ir „Fedora" pakeitė savo paketų tvarkykles („pacman" ir „dnf") į .tar.zst formatą, o tai pagreitino programinės įrangos diegimą daugiau nei 400 %.
  • Magiškieji baitai 0x28 0xB5 0x2F 0xFD buvo parinkti taip, kad būtų lengvai atpažįstami ir išvengtų konfliktų su pasenusiais formatais.

Dažniausiai užduodami techniniai klausimai

Kodėl „Zstandard“ šiuolaikinėse „Linux“ sistemose keičia „Gzip“?

„Zstandard“ suspaudžia failus mažesniais nei „Gzip“, o išskleidžia 5–10 kartų greičiau, žymiai sutrumpindama programinės įrangos diegimo laiką ir sumažindama serverio procesoriaus apkrovą.

Kas yra žodyno suspaudimas (dictionary compression) Zstd formate?

Zstd gali mokytis iš mažų failų rinkinio (pvz., JSON API atsakymų) ir sukurti pasirinktinį žodyną, leidžiantį vėlesnius failus suspausti iki 5 kartų geriau, remiantis bendrais šablonais.

Kaip galiu išskleisti .zst arba .zstd failą?

Galite išskleisti .zst ir .tar.zst failus tiesiogiai interneto naršyklėje naudodami File2File.app, neįdiegdami komandų eilutės įrankių.