• Какой алгоритм сжатия данных использовать при архивации лог файлов?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    "Стоит задача написать архиватор лог файлов"

    "Алгоритмов сжатия данных немало и у каждого своя спецификация.
    Как определить какой алгоритм сжатия данных нужно использовать для архивации файла, в котором много повторяющихся элементов?"

    У вас в задаче я не вижу требований, написать идеальный архиватор лог файлов.
    Вдобавок написать хотя бы простейший архиватор - уже нетривиальная задача для новичка, а судя по вопросу - вы новичок.

    Что я могу подсказать, так это свою догадку, что хотел ваш препод, но для этого нужно понять принципы алгоритмов сжатия по словарю - когда вы анализируете файл, находите в нем что-то похожее, составляете словарь похожих частей и сжимаете используя этот словарь.
    Так вот - в случае сжатия нескольких файлов, можно использовать словарь первого файла для сжатия второго и так далее.
    В архиваторах это называется solid архив.
    Его преимущество - меньший размер.
    Недостаток - при распаковке одного конкретного файла (например последнего), вам придется распаковать все предыдущие.
    Ответ написан
    3 комментария
  • Какой алгоритм сжатия данных использовать при архивации лог файлов?

    Zettabyte
    @Zettabyte
    Проф. восстановление данных ▪ Вопрос? См. профиль
    Из "традиционных" Линуксовых лучше всего сжимает BZIP2.
    Ещё лучше будет сжимать LZMA (7-Zip), в нём выставляете максимально большой размер словаря, на который у вас хватит памяти, word size ставите на максимум.

    Также протестируйте PPMd, выставив те же настройки вверх, этот алгоритм тоже есть в 7-Zip. Я давно им не пользовался и ничего не читал, но раньше он был хорош для текстов и логов.

    У 4-го WinRAR'а был preset именно для текстов и логов, проверьте и его (не знаю сохранился ли он в 5-й версии).

    Ну и почитайте MaximumCompression, там наверняка найдётся алгоритм, который легко зарулит всех выше, но будет работать полдня.
    Ответ написан
    1 комментарий