我正在将许多不同长度的文件存储到面向 block 的介质中(固定大小,例如 1024 字节)。回读文件时,每个 block 将丢失或正确(无位错误等)。丢失的 block 是随机的,并且丢失的 block 不一定有任何顺序。我希望能够重新组合整个文件,只要丢失 block 的数量低于某个阈值,这可能因编码方案而异。
我看到的大多数文献都涉及数据流中的位错误序列,因此这似乎不适用。
一个简单的方法是一次取 N 个 block ,然后存储一个包含 N 个 block 的 XOR 的 block 。如果N个 block 中有一个 block 丢失但校验 block 不存在,则可以重建丢失的 block 。
是否有非常适合这个问题的纠错方案?感谢链接到文献或代码。
最佳答案
查看 Reed-Solomon 代码:
http://en.wikipedia.org/wiki/Reed%E2%80%93Solomon_error_correction
关于error-correction - 需要面向 block 的纠错方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/297212/