LZJB

LZJB  er en tabsfri datakomprimeringsalgoritme opfundet af Jeff Bonwick i 1998 for at komprimere program- og datanedbrudsdumps i ZFS -filsystemet . Baseret på ordbogskomprimeringsmetoden [1] . Denne algoritme indeholder mange rettelser til LZRW1- algoritmen , som igen er en variant af LZRW , som er medlem af Lempel-Ziv- familien af ​​kompressionsalgoritmer . Denne algoritme har til formål at øge kompressionshastigheden [2] [3] .

I 2012-2013 overvejede ZFS at erstatte LZJB med byte-orienteret LZ4 som en hurtigere metode med lidt bedre komprimering [4] [3] .

En komprimeret stream i LZJB er en byte-stream. Til markering af strømmen bruges en kontrolbyte, der beskriver typerne af de næste 8 sekvenser. Hver bit af kontrolbyten specificerer typen af ​​et element [5] . En bit med en værdi på 0 svarer til en literal byte: en byte af den komprimerede strøm kopieres til outputstrømmen. En bit med værdien 1 betyder en ordbogsreference ("match"). De næste to bytes indeholder et 6-bit længdefelt og et 10-bit offsetfelt (LLLLLLdd dddddddd). Længdebittene afkodes til længder fra 3 til 66 bytes (længden er L+3), derefter hentes strengen, der er "offset" (d) bytes tilbage fra den aktuelle position, fra outputbufferen.

Noter

  1. M. A. Basir, M. H. Yousaf. Gennemsigtigt komprimeringsskema til Linux-filsystem  //  Nucleus. - 2012. - Bd. 49 , nr. 2 . — S. 133 . Arkiveret fra originalen den 12. februar 2017.
  2. Y. Rathore, M. Ahirwar, R. Pandey. En kort undersøgelse af datakomprimeringsalgoritmer  //  Journal of Computer Science IJCSIS. - 2013. - Oktober ( bind 11 , nr. 10 ). — S. 90 . Arkiveret fra originalen den 14. december 2018.
  3. 1 2 Arkiveret kopi . Hentet 17. oktober 2018. Arkiveret fra originalen 17. oktober 2018.
  4. LZ4 Kompression - illumos - illumos wiki (utilgængeligt link) . Hentet 17. oktober 2018. Arkiveret fra originalen 9. oktober 2018. 
  5. LZJB-dekoder Arkiveret 17. oktober 2018 på Wayback Machine /Wikibooks

Links