使用少量资源的擦除编码

时间:2017-04-04 17:06:10

标签: encoding reed-solomon raptor erasure-code

嘿,我对很多擦除编码概念都很陌生。我大多只读过有关里德 - 所罗门的内容,但它并不符合我的需要。

我需要找到一种技术,可以在大数据上创建奇偶校验分片,而不需要大量的系统资源使用。

例如:

我想将一个32GB的视频存储到8个4gb分片中。我想为此创建3个奇偶校验分片。我最多不能超过几百mb的内存,我希望逐步创建整个奇偶校验分片,以便我可以将它们写入另一个文件系统而不将整个内容存储在内存/本地磁盘上。

是否有擦除编码技术,所以我可以:

  • 为大文件创建奇偶校验分片而不使用重要分片 内存量
  • 通过在创建字节时发送字节,逐步创建奇偶校验分片并将其分发到另一个系统。

1 个答案:

答案 0 :(得分:0)

所以我理解这里的目标,如果你把8个4gb分片视为8行矩阵,每行有4GB的数据,那么奇偶校验是3行,每行有4GB的数据?假设是这种情况,那么代码将需要一次编码和传输11个行块,可能使用10 MB块,这需要110MB内存(加上RSECC使用的表的开销)。根据传输数据时的消息传递开销,使用更小的块可能会更好。

在接收端,您希望至少对接收到的数据进行双重缓冲,将初始视频输出延迟至少一个缓冲时间,以便数据接收和校正与视频显示并行进行。 / p>

这个问题提到了擦除,这是一个只有擦除的方案,如果出现错误需要重新传输吗?通过3个奇偶校验,可以校正1行数据块,剩下一个奇偶校验行用于错误检测。