有没有 library 可以像 RAID5 一样把一个文件带冗余的放到多个的文件里?

2015-05-26 23:46:54 +08:00
 jadecoder

我指的不是分卷压缩。

刚才看Dropbox专业版那个串想到的,国外的云存储空间略小,专业版太贵。国内的空间几乎无限,但是太没有节操。如果只是做备份的话,可以是否可以像RAID5一样,把数据分布在多个云盘中。这样每个厂家都拿不到有用的数据,可以获得近乎无线的存储空间,而且还可以防止数据丢失。

假设用户注册了百度云,微云,360云盘,115云盘四个云存储。存储文件时分别把第1,4,7,10...个字节放在百度云,第2,5,8,11...个字节放在微云,第3,6,9,12...个字节放在360云盘。然后把相应的奇偶校验位放在115云盘里。

需要取文件的时候,程序就分别从其中3个云盘中取出数据,合并到一起打开。如果有一个云盘挂了,还能通过冗余位恢复出来这个云盘里的数据。

具体的实现,有各个云盘的API最好,没有的话,在本机开4个云盘,指定四个同步目录,程序直接把文件写入到那个目录里,交给官方同步。打开的时候通过程序界面打开。

2630 次点击
所在节点    程序员
15 条回复
powergx
2015-05-27 00:02:18 +08:00
lz 在自寻死路
billlee
2015-05-27 00:44:15 +08:00
par2
moooookey
2015-05-27 00:48:34 +08:00
风险挺大,
用起来必然很折腾
neoblackcap
2015-05-27 00:51:24 +08:00
既然网盘的容量几乎是无限的,为什么不加密然后当raid 1来用啊?其中一个挂了或者API改了我都完全不怕呢,不过其实网盘这东西我觉得更多的是一个基于对象的分布式文件系统,我们用高级的东西模拟底层的东西,我感觉怕是模拟的不是很好。
zhicheng
2015-05-27 01:16:19 +08:00
jadecoder
2015-05-27 01:20:57 +08:00
@billlee 如果我没记错的话,par是独立于rar的,用来在rar损坏的时候修复rar的,也就是rar里存的是所有信息,par里有些冗余
jadecoder
2015-05-27 01:24:01 +08:00
@neoblackcap 加密的话,压缩解压都需要额外的时间,如果单纯做归档的话还可以,要是同时还在硬盘上,要随时用的话,有点慢吧
jadecoder
2015-05-27 01:26:50 +08:00
@zhicheng 看了下,过于复杂了。加密不是强需求,只要防止网盘厂商用大数据的方式利用我的数据就行了。至于百度和腾讯的管理员勾结在一起,就为了拿到我的生活照片,这种事太奇幻了
yangqi
2015-05-27 04:58:53 +08:00
@jadecoder 你这样拆分文件不会比加密解密快,都需要把所有文件读写一边,你这个操作复杂很多,而且依赖的外围因素更多,大大增加了不稳定性,没有比直接加密解密有什么优势
crazycen
2015-05-27 07:20:34 +08:00
为什么奇偶检验放在115 你可以考虑数据加密后再放入网盘!
comicfans44
2015-05-27 07:52:43 +08:00
也有过过相同的想法...不过后来一测试,也就是百度盘上传能满速。最终选择的是encfs+百度盘,文件名和内容加密都是加密的,在本地可以直接挂载读写。只要用百度客户端同步下加密存储的目录即可,推荐楼主试试。windows版用的是encfsmp(同时支持mac),linux版encfs 可用fuse,这样也解决了跨平台的问题。不过没有楼主需要的冗余功能。
bengtuo
2015-05-27 09:07:52 +08:00
单点 很严重啊 那天 哪个网盘不能用了怎么办
est
2015-05-27 09:17:10 +08:00
@billlee 正解!为啥没人顶这个?
zhicheng
2015-05-27 12:16:47 +08:00
@jadecoder 我猜你是看了一下标题,看到加密就关了吧。
简单的说,这个算法是将你的数据分成 N 份,只要能凑齐其中 M 份就能恢复原来内容。N 和 M 可以由你指定 M < N。
这个有个好处,单份数据无法恢复完整数据,但又不需要完整的N份。这样将一个文件分成 N 份之后,可以选择性的,把哪一份放到哪个云盘里比如用 hash 。
jadecoder
2015-05-27 16:58:09 +08:00
@zhicheng 谢谢你的耐心,确实很切题

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/193975

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX