V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
chinvo
V2EX  ›  问与答

二进制差异(BSDiff/VCDiff)静态托管方案讨论

  •  
  •   chinvo · 2021-06-06 15:26:15 +08:00 · 444 次点击
    这是一个创建于 1115 天前的主题,其中的信息可能已经有所发展或是发生改变。

    现在项目采用全量更新, 每次检查更新先请求 项目.manifest, 里面有最新版本的 ID, 然后请求 项目 /版本 /版本.manifest 获取文件列表, 文件列表是一个 相对路径 - hash 的 map, 更新时逐一对比 hash, hash 不匹配就到对应路径下载文件.

    /-
     |- 项目.manifest
     |- 项目
        |- 版本 1 (空目录)
        |- 版本 2 (空目录)
        |- 版本 3
        |  |- 版本.manifest
        |  |- 0
        |  |  |- 00
        |  |  |- ...
        |  |- 1
        |  |- ...
        |  |- f
    

    现在想要改成二进制差异更新, 目前想到的设计方案就是额外增加差异存储目录, 更新时检查 项目 /本地版本-最新版本 /差异.manifest 是否存在, 存在就进行差异更新, 不存在就按原有模式更新.

    /-
     |- 项目.manifest
     |- 项目
        |- 版本 1 (空目录)
        |- 版本 2 (空目录)
        |- 版本 3
        |- 版本 1-版本 2 (空目录)
        |- 版本 1-版本 3
        |- 版本 2-版本 3
        |  |- 差异.manifest
        |  |- 0
        |  |  |- 00
        |  |  |- ...
        |  |- 1
        |  |- ...
        |  |- f
    

    不知道各位有没有更好的方案.

    另外差异存几个版本合适呢?

    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5364 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 03:20 · PVG 11:20 · LAX 20:20 · JFK 23:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.