Pull to refresh

Компрессия данных в системах промышленной автоматизации. Алгоритм SwingingDoor

Reading time 5 min
Views 8.4K
Algorithms *
Здравствуйте, уважаемые читатели. Хочу представить вашему вниманию описание алгоритма компрессии данных SwingingDoor и рассказать о том, как мы его применяем.



По роду деятельности я занимаюсь разработкой решений в области промышленной автоматизации, а более конкретно — разработкой информационных систем производства. Их назначение — предоставлять информацию для людей и других систем. Они предоставляют оперативные, самые последние данные, а также данные за прошлое. Данные поступают из многочисленных систем контроля (СК), количество параметров измеряется десятками тысяч.

Зачем использовать компрессию, почему бы не хранить все данные?
Читать дальше →
Total votes 70: ↑66 and ↓4 +62
Comments 43

FreeArc — современный архиватор

Reading time 4 min
Views 33K
Data recovery *
Столько всего хочется хранить на жестком диске: фильмы, музыку, программы, документы… Но, к сожалению, винчестер – не резиновый. Заставить данные потесниться смогут программы-архиваторы. Сейчас довольно сильно распространены 7Zip и WinRAR, но в данный момент по эффективности все же лидирует FreeArc. По результатам одного из самых авторитетных тестов FreeArc занял три первых места, причём c большим отрывом от соперников:


Читать дальше →
Total votes 104: ↑93 and ↓11 +82
Comments 196

Java: Тестирование алгоритмов компрессии – 16 файлов, 5 типов

Reading time 4 min
Views 5.6K
IT systems testing *Java *Algorithms *
Здравствуй «ХабраСообщество»!
Выкладываю небольшой обзор и результаты тестирования основных алгоритмов сжатия с Java.
Кому интересно прошу под кат, кому нет — просьба не минусовать и сказать, что тема не достойна хабра – уберу в черновики.
Читать дальше →
Total votes 16: ↑9 and ↓7 +2
Comments 13

IIS 7: компрессия JSON ответа

Reading time 4 min
Views 13K
.NET *ASP *
Tutorial
Несколько дней назад мой знакомый обратил внимание, что его большие JSON ответы (порядка 0,5-1 мегабайт) не паковались. Рабочая связка Windows 2008 R2 + IIS 7.5 + ASP.NET MVC 4. Проблема обозначена, начался поиск решения. Чтобы воспроизвести наши действия, для статьи я написал отдельное приложение.
Читать дальше →
Total votes 30: ↑23 and ↓7 +16
Comments 11

Компрессия больших массивов простых чисел

Reading time 20 min
Views 17K
C *Mathematics *Data compression *
Sandbox
песочница

Свойства простых чисел редко позволяют работать с ними иначе, чем в виде заранее вычисленного массива — и желательно как можно более объемного. Естественный формат хранения в виде целых чисел той или иной разрядности страдает при этом некоторыми недостатками, которые становятся существенными при росте объема данных.

 

Так, формат 16-разрядных беззнаковых целых при размере такой таблицы около 13 килобайт вмещает всего лишь 6542 простых числа: вслед за числом 65531 идут значения более высокой разрядности. Такая таблица годится разве что в качестве игрушки.

 

Наиболее ходовой в программировании формат 32-разрядных целых выглядит значительно солиднее — он позволяет хранить около 203 млн простых. Но такая таблица занимает уже около 775 мегабайт.

 

Еще больше перспектив у 64-разрядного формата. Однако при теоретической мощности порядка 1e+19 значений, таблица имела бы размер 64 экзабайта.


Читать дальше →
Total votes 55: ↑54 and ↓1 +53
Comments 56

Фрактальное сжатие изображений

Reading time 7 min
Views 10K
Algorithms *Image processing *Mathematics *
Translation
image

Пару лет назад я написал очень простую реализацию фрактального сжатия изображений для студенческой работы и выложил код на github.

К моему удивлению, репозиторий оказался довольно популярным, поэтому я решил обновить код и написать статью, объясняющую его и теорию.
Читать дальше →
Total votes 20: ↑19 and ↓1 +18
Comments 5

Если данные не помещаются в память. Простейшие методы

Reading time 5 min
Views 16K
Дата-центр «Миран» corporate blog Python *Programming *Algorithms *Server optimization *
Translation

Самка трубкозуба с детёнышем. Фото: Scotto Bear, CC BY-SA 2.0

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

Проблема в нехватке памяти. Если у вас 16 гигабайт ОЗУ, вы не сможете туда загрузить стогигабайтный файл. В какой-то момент у ОС закончится память, она не сможет выделить новую, и программа вылетит.

Что делать?
Читать дальше →
Total votes 36: ↑27 and ↓9 +18
Comments 9

Скоростная отказоустойчивая компрессия (Продолжение)

Reading time 8 min
Views 2.6K
Programming *IT Infrastructure *Algorithms *Data compression *
Recovery mode
Данная статья уже вторая в теме о скоростной компрессии данных. В первой статье был описан компрессор работающий со скоростью 10Гбайт/сек. на одно процессорное ядро (минимальное сжатие, RTT-Min).

Этот компрессор, уже внедрен в оборудование криминалистических дубликаторов для скоростного сжатия дампов носителей информации и усиления стойкости криптографии, также он может применяться для сжатия образов виртуальных машин и своп файлов оперативной памяти при сохранении их на быстродействующих SSD накопителях.

В первой статье также анонсировалась разработка алгоритма компрессии для сжатия резервных копий HDD и SSD дисковых накопителей (среднее сжатие, RTT-Mid) с существенно улучшенными параметрами сжатия данных. К настоящему времени этот компрессор полностью готов и данная статья именно о нем.
Читать дальше →
Total votes 7: ↑5 and ↓2 +3
Comments 6

Только для ваших глаз: повышение качества видео Netflix при помощи нейросетей

Reading time 6 min
Views 4.1K
RUVDS.com corporate blog Working with video *Machine learning *Artificial Intelligence
Translation

Пока вы запоем просматриваете последний сезон «Очень странных дел» или «Озарка», мы всеми силами стремимся обеспечить для вас максимально высокое качество видео. Для этого мы постоянно расширяем возможности качества потокового видео и используем лучшие видеотехнологии. Например, мы вложили средства в кодеки нового поколения с лицензией royalty-free и изощрённые оптимизации кодирования видео. Недавно мы добавили в свой арсенал ещё один мощный инструмент: нейросети для уменьшения разрешения (даунскейлинга) видео. В этой статье мы расскажем, как повысили качество видео Netflix при помощи нейросетей, о сложностях, с которыми мы столкнулись и которые нам ещё предстоит встретить.
Читать дальше →
Total votes 27: ↑26 and ↓1 +25
Comments 2