Erasure Encoding с небольшим использованием ресурсов

Привет, я новичок во многих концепциях кодирования стирания. Я в основном только читал о Риде-Соломоне, но это не соответствует тому, что мне нужно.

Мне нужно найти метод, который может создавать сегменты четности для больших данных БЕЗ интенсивного использования системных ресурсов.

Например:

Я хочу сохранить видео размером 32 ГБ, разделенное на восемь фрагментов по 4 ГБ. Я хочу создать для этого 3 сегмента четности. Я не могу превышать максимум несколько сотен МБ памяти, и я хочу, чтобы все сегменты четности создавались постепенно, чтобы я мог записывать их в другую файловую систему, не сохраняя все это в памяти / на локальном диске.

Есть ли метод кодирования стирания, чтобы я мог:

  • Создавайте сегменты четности для больших файлов без использования значительного объема памяти.
  • постепенно создавать и распространять сегменты четности в другую систему, отправляя байты по мере их создания.

person Alexander Leitner    schedule 04.04.2017    source источник


Ответы (1)


Итак, я понимаю цель здесь, если вы рассматриваете восемь осколков по 4 ГБ как матрицу из 8 строк, где каждая строка имеет 4 ГБ данных, тогда четность будет 3 строки, где каждая строка имеет 4 ГБ данных? Предполагая, что это так, тогда коду потребуется кодировать и передавать 11 фрагментов строк за раз, возможно, используя фрагменты по 10 МБ, для чего потребуется 110 МБ памяти (плюс накладные расходы для таблиц, используемых RSECC). Возможно, было бы лучше использовать гораздо меньшие фрагменты, в зависимости от накладных расходов на обмен сообщениями при передаче данных.

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

В вопросе упоминаются стирания, должна ли это быть схема только стирания, которая потребует повторной передачи в случае ошибки? При 3 четностях можно исправить 1 строку данных, оставив одну строку четности для обнаружения ошибок.

person rcgldr    schedule 19.04.2017