LZJB
LZJB—алгоритмсжатия данных без потерь,изобретённыйДжефом Бонвиком[англ.]в 1998 году для сжатия аварийных дампов программ и данных в файловой системеZFS.Основан наметоде сжатия с использованием словаря[1].Этот алгоритм включает множество исправлений к алгоритмуLZRW1,который в свою очередь является вариантомLZRW[англ.],являющимся членом семейства алгоритмов сжатияLempel-Ziv. Этот алгоритм нацелен на увеличение скорости сжатия[2][3].
В 2012—2013 годах в ZFS рассматривалась замена LZJB на байт-ориентированныйLZ4,как более быстрый метод с немного лучшим сжатием[4][3].
Сжатый поток в LZJB является байтовым. Для разметки потока используется управляющий байт, описывающий типы следующих 8 последовательностей. Каждый бит управляющего байта определяет тип одного элемента[5].Бит со значением 0 соответствуетлитеральномубайту: один байт сжатого потока копируется в выходной поток. Бит со значением 1 означает ссылку в словарь («совпадение»). Два следующих за ним байта содержат 6-битное поле длины и 10-битное поле смещения (LLLLLLdd dddddddd). Биты длины декодируются в длину от 3 до 66 байтов (длина равна L+3), затем из выходного буфера выбирается строка, отстоящая на «смещение» (d) байтов назад от текущей позиции.
Примечания
[править|править код]- ↑M. A. Basir, M. H. Yousaf.Transparent Compression Scheme for Linux File System(англ.)// The Nucleus. — 2012. —Vol. 49,no. 2.—P. 133.Архивировано12 февраля 2017 года.
- ↑Y. Rathore, M. Ahirwar, R. Pandey.A Brief Study of Data Compression Algorithms(англ.)// Journal of Computer Science IJCSIS. — 2013. — October (vol. 11,no. 10). —P. 90.Архивировано14 декабря 2018 года.
- ↑12Архивированная копия .Дата обращения: 17 октября 2018.Архивировано17 октября 2018 года.
- ↑LZ4 Compression - illumos - illumos wiki .Дата обращения: 17 октября 2018. Архивировано изоригинала9 октября 2018 года.
- ↑LZJB decoderАрхивная копияот 17 октября 2018 наWayback Machine/ Wikibooks
Ссылки
[править|править код]- «compress» source code
- LZJB source code/ OpenSolaris, Illumos
- LZJB python binding
- Javascript port of the LZJB algorithm
- lzjbв ZFS on Linux
- LZJB decoder/ Wikibooks
Этозаготовка статьиобинформационных технологияхивычислительной технике.Помогите Википедии, дополнив её. |