求文件分割的算法
各位好!
问题如下。
有一个文件需要保存到多台计算机上(大于等于3),所以要把该文件分割为多份(大于等于3),使得每个计算机都能保存其中的一部分,如何进行分割时,当所被分割的文件有三分子二以上的部分可以得到时,就可以恢复整个文件?换句话说,即使有三分之一的部分被毁坏,文件仍然可以救回?希望能够用加入较少的校验码既可以实现。
问题点数:100、回复次数:5Top
1 楼dext(德克斯特)回复于 2002-07-10 17:20:01 得分 0
4Top
2 楼Lawrence444(胖子)回复于 2002-07-10 19:17:00 得分 20
你可以参考一下RAID的做法,找一本操作系统的书来看。
基本的思想是用异或运算符来做。Top
3 楼fesir(fesir)回复于 2002-07-10 21:43:48 得分 0
同意Top
4 楼alidiedie(阿里)回复于 2002-07-10 21:54:01 得分 80
有挑战性.
好象已经有人解决了这个问题.
要实现这个目的,无论用什么算法都离不开数据冗余.
显然要实现分割后各部分之间的关联性.
1.我在想能不能设计一个函数,对文件分割时进行变换,实现内容的充分"混淆"
2.可以参考密码学中的纠错码的有关内容,好象听老师讲过这个问题:是如何实现网络传输中数据纠错的.编码后的数据失真,可以根据部分内容还原全部.
3.数字信号处理的思想也可以借鉴,一个模拟信号经过采样(当然采样频率要符合那奎斯特准则)得到数字信号,傅立叶逆变换可以把数字信号不失真的还原成模拟信号,要设法把文件流转化成信号,然后用信号处理的方法.
具体怎么实现,我得回去看看书.或问老师.
Top
5 楼ppgo(掉得大)回复于 2002-07-10 22:02:58 得分 0
这个问题确实是已经解决的,如分布式存储中的单一I/O就是这总问题。不过具体进行实现我现在还不是很清楚!还希望大家多提意见。Top




