文件分割还原

你的问题就是著名的 secret sharing 啊……假如你的文件是文件分割还原
维空间中的点的座标,那么文件分割还原
个不平行的「平面」就可以计算出它的位置来:文件分割还原

因此,作为座标的拥有者,你可以画文件分割还原
个平面,它们都经过这个秘密点,然后将它们分开存放就可以了。这些面中只要获取到文件分割还原
个就能重现秘密座标,但少一个都不行,因此可以保证绝对安全(信息论安全);而且因为只需要获取到文件分割还原
个面,所以也增强了健壮性。
■网友
文件X份,每份M字节,丢掉Y份
假设文件是不可压缩的,举个极端的例子。如果Y是0,那么你直接切开文件就好了。
假设X=100,Y=99,那你的文件的内容就要有99份冗余,用来被丢掉。
假设X=5, Y=1,那文件的内容大概就是
12,34,51,23,45
随便干掉哪个你都能恢复完整的12345。
【文件分割还原】 假设X=5,Y=2,那文件内容大概就是
123,451,234,512,345
随便干掉哪2个你都能恢复完整的12345。
如果是
12,34,51,23,45
那么你要祈祷最好不要干掉刚好包含两个一样数字的文件。没了12,34可以,没了12,51就不行了。所以随便拿掉两个会导致无法恢复的概率是50%。
但是这样看起来还是很浪费,所以其实在真正的系统里面,有很小的概率,就算你只死掉了一万台里面的5台,因为你只有4个replication,刚好那个文件就丢了,但是仍然有相当大的概率所有文件都在。
以此类推,如果要保证【无论选哪Y个,都不能丢掉任何数据】,那你的文件只能复制Y+1份错开存了,就跟上面的粒子一样,跟X和M其实没有关系。

■网友
看Erasure code


    推荐阅读