LZJB

LZJB  on häviötön tietojen pakkausalgoritmi , jonka Jeff Bonwick keksi vuonna 1998 ohjelmien ja tietojen kaatumisvedosten pakkaamiseen ZFS -tiedostojärjestelmässä . Perustuu sanakirjan pakkausmenetelmään [1] . Tämä algoritmi sisältää monia korjauksia LZRW1- algoritmiin , joka puolestaan ​​on muunnos LZRW :stä , joka on Lempel-Ziv- pakkausalgoritmien perheen jäsen . Tämän algoritmin tarkoituksena on lisätä pakkausnopeutta [2] [3] .

Vuosina 2012-2013 ZFS harkitsi LZJB:n korvaamista tavusuuntautuneella LZ4 :llä nopeampana menetelmänä hieman paremmalla pakkauksella [4] [3] .

Pakattu virta LZJB:ssä on tavuvirta. Virran merkitsemiseen käytetään ohjaustavua, joka kuvaa seuraavan 8 sekvenssin tyypit. Jokainen ohjaustavun bitti määrittää yhden elementin tyypin [5] . Bitti, jonka arvo on 0, vastaa kirjaimellista tavua: yksi tavu pakatusta virrasta kopioidaan lähtövirtaan. Bitti, jonka arvo on 1, tarkoittaa sanakirjaviittausta ("match"). Seuraavat kaksi tavua sisältävät 6-bittisen kentän ja 10-bittisen offset-kentän (LLLLLLdd dddddddd). Pituusbitit dekoodataan pituuksiksi 3 - 66 tavua (pituus on L+3), sitten merkkijono, joka on "offset" (d) tavua taaksepäin nykyisestä paikasta, haetaan lähtöpuskurista.

Muistiinpanot

  1. M. A. Basir, M. H. Yousaf. Läpinäkyvä pakkausjärjestelmä Linux-tiedostojärjestelmälle  //  The Nucleus. - 2012. - Vol. 49 , ei. 2 . - s. 133 . Arkistoitu alkuperäisestä 12. helmikuuta 2017.
  2. Y. Rathore, M. Ahirwar, R. Pandey. Lyhyt tutkimus tietojen pakkausalgoritmeista  //  Journal of Computer Science IJCSIS. - 2013. - lokakuu ( osa 11 , nro 10 ). — s. 90 . Arkistoitu alkuperäisestä 14. joulukuuta 2018.
  3. 1 2 Arkistoitu kopio . Haettu 17. lokakuuta 2018. Arkistoitu alkuperäisestä 17. lokakuuta 2018.
  4. LZ4 Compression - illumos - illumos wiki (linkki ei saatavilla) . Haettu 17. lokakuuta 2018. Arkistoitu alkuperäisestä 9. lokakuuta 2018. 
  5. LZJB-dekooderi Arkistoitu 17. lokakuuta 2018 Wayback Machinessa /Wikibooksissa

Linkit