WinRAR 恢复记录如何工作?

WinRAR 恢复记录如何工作?

我试图设置一些保护措施来防止位腐烂,而 WinRAR 可以选择添加“恢复记录”的“百分比”,据称可以防止数据损坏。

我能想到的唯一一种无需复制整个档案即可防止任意位置损坏的方法是对数据的所有“部分”进行异或运算。然后,它们的异或运算可以恢复任何损坏的“部分”。

这是否意味着 WinRAR 将档案分成我们无法看到的“部分”并生成我们也无法看到的 XOR?并且我们设置的“百分比”越大,“部分”的大小就越大?

这是否也意味着如果在数据的开始和结束处发生两次位腐烂,这种保护将变得无效?

答案1

XOR 是实现此目的的一种方式(在 RAID5 中也称为“奇偶校验”)。根据WinRAR 文档,这就是“RAR 4”格式所使用的 - 尽管其结构与您描述的不同,但为了实现自定义百分比缩放,并且大概是为了确保即使在您描述的边缘情况下也具有一定的可恢复性。

然而,更先进的方法。具体来说,根据WinRAR 文档,“新” RAR 5 格式使用Reed-Solomon编码,如果我理解正确的话,它可以恢复给定数量的字节任何地方在档案数据中。

Parchive/PAR2 也使用了 Reed-Solomon。还有其他实现;有关高级技术的一般参考,请参阅以下文章:

相关内容