有没有 library 可以像 RAID5 一样把一个文件带冗余的放到多个的文件里? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
jadecoder
V2EX    程序员

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

  •  
  •   jadecoder 2015-05-26 23:46:54 +08:00 3016 次点击
    这是一个创建于 3803 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我指的不是分卷压缩。

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

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

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

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

    15 条回复    2015-05-27 16:58:09 +08:00
    powergx
        1
    powergx  
       2015-05-27 00:02:18 +08:00 via iPhone
    lz 在自寻死路
    billlee
        2
    billlee  
       2015-05-27 00:44:15 +08:00
    par2
    moooookey
        3
    moooookey  
       2015-05-27 00:48:34 +08:00
    风险挺大,
    用起来必然很折腾
    neoblackcap
        4
    neoblackcap  
       2015-05-27 00:51:24 +08:00
    既然网盘的容量几乎是无限的,为什么不加密然后当raid 1来用啊?其中一个挂了或者API改了我都完全不怕呢,不过其实网盘这东西我觉得更多的是一个基于对象的分布式文件系统,我们用高级的东西模拟底层的东西,我感觉怕是模拟的不是很好。
    zhicheng
        5
    zhicheng  
       2015-05-27 01:16:19 +08:00   1
    jadecoder
        6
    jadecoder  
    OP
       2015-05-27 01:20:57 +08:00 via Android
    @billlee 如果我没记错的话,par是独立于rar的,用来在rar损坏的时候修复rar的,也就是ar里存的是所有信息,par里有些冗余
    jadecoder
        7
    jadecoder  
    OP
       2015-05-27 01:24:01 +08:00 via Android
    @neoblackcap 加密的话,压缩解压都需要额外的时间,如果单纯做归档的话还可以,要是同时还在硬盘上,要随时用的话,有点慢吧
    jadecoder
        8
    jadecoder  
    OP
       2015-05-27 01:26:50 +08:00 via Android
    @zhicheng 看了下,过于复杂了。加密不是强需求,只要防止网盘厂商用大数据的方式利用我的数据就行了。至于百度和腾讯的管理员勾结在一起,就为了拿到我的生活照片,这种事太奇幻了
    yangqi
        9
    yangqi  
       2015-05-27 04:58:53 +08:00
    @jadecoder 你这样拆分文件不会比加密解密快,都需要把所有文件读写一边,你这个操作复杂很多,而且依赖的外围因素更多,大大增加了不稳定性,没有比直接加密解密有什么优势
    crazycen
        10
    crazycen  
       2015-05-27 07:20:34 +08:00 via iPhone
    为什么奇偶检验放在115 你可以考虑数据加密后再放入网盘!
    comicfans44
        11
    comicfans44  
       2015-05-27 07:52:43 +08:00
    也有过过相同的想法...不过后来一测试,也就是百度盘上传能满速。最终选择的是encfs+百度盘,文件名和内容加密都是加密的,在本地可以直接挂载读写。只要用百度客户端同步下加密存储的目录即可,推荐楼主试试。windows版用的是encfsmp(同时支持mac),linux版encfs 可用fuse,这样也解决了跨平台的问题。不过没有楼主需要的冗余功能。
    bengtuo
        12
    bengtuo  
       2015-05-27 09:07:52 +08:00
    单点 很严重啊 那天 哪个网盘不能用了怎么办
    est
        13
    est  
       2015-05-27 09:17:10 +08:00 via Android
    @billlee 正解!为啥没人顶这个?
    zhicheng
        14
    zhicheng  
       2015-05-27 12:16:47 +08:00   1
    @jadecoder 我猜你是看了一下标题,看到加密就关了吧。
    简单的说,这个算法是将你的数据分成 N 份,只要能凑齐其中 M 份就能恢复原来内容。N 和 M 可以由你指定 M < N。
    这个有个好处,单份数据无法恢复完整数据,但又不需要完整的N份。这样将一个文件分成 N 份之后,可以选择性的,把哪一份放到哪个云盘里比如用 hash 。
    jadecoder
        15
    jadecoder  
    OP
       2015-05-27 16:58:09 +08:00
    @zhicheng 谢谢你的耐心,确实很切题
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2548 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 34ms UTC 13:17 PVG 21:17 LAX 06:17 JFK 09:17
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86