跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • zip/gzip 这类压缩工具,有自带的冗余/错误纠正功能吗?有没有熟悉的朋友
未分類
11 3 月 2021

zip/gzip 这类压缩工具,有自带的冗余/错误纠正功能吗?有没有熟悉的朋友

zip/gzip 这类压缩工具,有自带的冗余/错误纠正功能吗?有没有熟悉的朋友

資深大佬 : LeeReamond 4

如题,前几天发了一个贴问了一下数据冷存有没有什么好方法,根据贴中老哥的回复,感觉采用序列化+压缩的方案就已经很不错了,压缩率已经满足期望,而且读取上也没什么延迟,各方面都很好

唯一的问题是,冷存数据是一个比较长周期的行为,我比较担心比如因为电磁干扰之类的导致硬盘上某些字符变化,使整个文件无法解码的情况。

我知道 winrar 这类工具在创建压缩文件时候是可以设计冗余的,比如留下百分之几的冗余,出错且无法恢复的概率就比较小了。但是 winrar 无法可编程化的编码和解码,我简单搜了一下使用 python 编解码的话 zip 和 gzip 都有成型第三方库。想请问一下这些编码格式设计时带有类似的冗余功能吗?还是我必须手动实现某种备份逻辑才能有比较好的抗变动效果?

大佬有話說 (12)

  • 資深大佬 : gyf304

    ZIP 和 Gzip 都自带 CRC

  • 資深大佬 : gyf304

    不过纠错应该都没有 这个建议物理上复制 如果冷存的话防止 bitrot 是基本没办法的

  • 資深大佬 : neteroster

    可以考虑使用 Parchive
    https://parchive.github.io/

  • 主 資深大佬 : LeeReamond

    @gyf304 请问这个 CRC 应该如何理解,我理解的 CRC 都是在传输过程中发生的,比如写入硬盘的时候硬盘校验 CRC,来证明实际写入和希望写入相同。但是 zip 这个,感觉对应不上这个过程?

    @neteroster 感谢,有时间研究一下,如果命令行模式能满足需求的话,popen 调用似乎成本也不高。最好是新建一个冗余文件而不修改源文件,这样完全作为外挂,不影响原有实现

  • 資深大佬 : gyf304

    @LeeReamond CRC, 和 MD5 / SHA 一样就是个算法 和 MD5 / SHA 类主要的区别是 CRC 不密码学安全
    CRC 可以用作传输校验也可以用作其他的校验

  • 資深大佬 : xiangyuecn

    “winrar 无法可编程化的编码和解码” WinRAR 自带有一个手册,还是中文版的,我从未见过如此友好的文档

  • 主 資深大佬 : LeeReamond

    @xiangyuecn 因为实际业务场景不可能那么单纯,popen 一次就完事。实际处理中你可能需要修改已有文件,这样的话先命令行解码,再编辑,再命令行编码,可靠性和维护难度显然远低于程序内部 IOstream 一把梭,所以我称之为不能可编程化。上提供了一个第三方冗余,因为不影响整个操作流程,只是在结尾通过命令行调用一个附加品,所以我说这个可以。显然区别很明显。

    我原贴当中就说了两种方案,用户级的备份逻辑显然是后一种选择,先问冗余肯定是因为要平衡效率和成本。比如你有 100T 的文件要备份,另外搞一些硬盘,将数据变成 200T 当然是能够解决,我只是综合考量失效后成本和备份成本,感觉这样对抗电子衰变已经可以接受了。

  • 資深大佬 : Kagari

    不支持增量更新,走别的路吧。不知道单机 ceph 和 minio 之类的冷存会怎么样

  • 資深大佬 : des

    @LeeReamond
    7z 和 zip 都没恢复记录这个东西
    如果想要的话是可以单独用其他软件搞得,比如说 QuickPar
    反正你都打算编码了

  • 資深大佬 : OliverDD

    多个盘,整个压缩包冗余备份 doge

  • 資深大佬 : lff0305

    生成压缩包以后用 par2 工具生成恢复记录,可以选生成百分之几的恢复包,以后如果压缩包损坏了但是损坏少于这个百分比,就可以重建

  • 資深大佬 : Tony042

    @LeeReamond winrar 自带了 cli,你可以用 python 进行调用,我另外记得 winrar 有部分源码好像是开源的,你可以用 pybind11 包装一下 C++暴露一个 python 接口

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具