如何将文件分片file
成m 个文件,以便可以用其中任意n 个文件恢复?
它看起来像Erasure Code,最好是“最佳擦除代码”。(另一个应用程序和建议的编程库示例:“您需要擦除代码” /sf/answers/2025246681/)。这就像Reed-Solomon 纠错(比RAID6更灵活)风格的冗余。
早期发现:rsbep
到目前为止,我已经发现了一些修改,但它们似乎是针对不同的用例设计的。我还发现从 Linux 内核移植到用户空间的 reed-solomon 在这里,但它不是我所描述的目的的工具。
3-out-of-6 冗余级别示例:
split_with_redundancy -n 3 -m 6 input.dat
Run Code Online (Sandbox Code Playgroud)
生成input.dat.0..5
,因此这些文件的任何树都足以恢复:
recover_using_redundancy intput.dat.{0,2,4}
Run Code Online (Sandbox Code Playgroud)
我不关心给定文件中的错误,即我不需要Forward Error Correction。我假设我可以依靠让 n-out-of-m 冗余部分完全正确。
小智 4
你想看看
https://pypi.org/project/zfec/
这正是您正在寻找的。例如
zfec -k3 -m6 input.dat
Run Code Online (Sandbox Code Playgroud)
创建 6 个文件,其中 3 个是重建原始文件所必需的。
归档时间: |
|
查看次数: |
677 次 |
最近记录: |