【发布时间】:2017-01-20 23:47:41
【问题描述】:
寻找获取文件的最佳算法,将其拆分为 N 个部分,添加 M 个冗余部分,然后将文件存储在 N+M 个不同的位置。文件通常很大。
例如:一个 1GB 的文件可以拆分为 (32) 个 32MB 的部分,计算出 (8) 个额外的 32MB 部分,并将 1.25GB 的冗余结构存储在 40 个不同的区域中。目标是从任何 (32) 个有效部分重新创建文件。原始(32)部分的独立散列可用于完整性检查正确重建。
如果这是可行的,我相信这将提供相当于拥有 8 个镜像副本的功能,而开销仅为 25%(加上计算时间),不是吗?
我发现 1989 Rabin 算法似乎可以做到这一点。想知道是否有人知道更好/更快的东西?
我认识到这与 Raid 5 和 Raid 6 的工作方式类似——希望采用这种方法,将其扩展到 8 个以上的奇偶校验块,并在文件级别执行。
【问题讨论】:
-
听起来你在说secret sharing,我想你是说拉宾算法吧?有没有什么东西让你相信有人在这方面有所改进?
-
感谢您发现错字。 Rabin 在他 1989 年 IDA 文章中的方法正是我所寻找的。读那篇文章的印象是,他的方法与沙米尔的秘密分享不同。
-
也感谢 Cauchy-Reed 线程,现在正在阅读。
标签: algorithm channel redundancy