Erasure Encoding с небольшим использованием ресурсов
Эй, я довольно новичок во многих концепциях кодирования стирания. Я в основном только читал о Риде-Соломоне, но он не соответствует тому, что мне нужно.
Мне нужно найти технику, которая может создавать фрагменты четности на больших данных без необходимости интенсивного использования системных ресурсов.
Например:
Я хочу сохранить 32-гигабайтное видео, разрезанное на восемь 4-гигабайтных осколков. Я хочу создать 3 паритета для этого. Я не могу превышать максимум несколько сотен мегабайт памяти, и я хочу, чтобы все осколки четности создавались постепенно, чтобы я мог записать их в другую файловую систему, не сохраняя все это в памяти / на локальном диске.
Есть ли метод кодирования стирания, чтобы я мог:
- Создавайте осколки четности для больших файлов без использования значительных объемов памяти
- постепенно создавайте и распространяйте фрагменты четности в другую систему, отправляя байты по мере их создания.
1 ответ
Таким образом, чтобы я понял цель здесь, если вы рассматриваете восемь сегментов по 4 ГБ как матрицу из 8 строк, где каждая строка имеет 4 ГБ данных, тогда четности будут 3 строки, где каждая строка имеет 4 ГБ данных? Если предположить, что это так, тогда код должен будет кодировать и передавать 11 фрагментов строки за раз, возможно, используя 10 МБ фрагментов, что потребует 110 МБ памяти (плюс накладные расходы для таблиц, используемых RSECC). Возможно, было бы лучше использовать намного меньшие фрагменты, в зависимости от накладных расходов на обмен сообщениями при передаче данных.
На принимающей стороне вы хотели бы по крайней мере удвоить буферизацию полученных данных, задерживая начальный вывод видео, по крайней мере, на один раз, чтобы прием и коррекция данных происходили параллельно с отображением видео.
В вопросе упоминается стирание, является ли это схемой, предназначенной только для стирания, которая потребует повторной передачи в случае ошибки? С 3 четностями можно исправить один ряд данных, оставив одну строку четности для обнаружения ошибок.