V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
pipixiarwksb
V2EX  ›  程序员

关于版本更新的问题需要请教下

  •  
  •   pipixiarwksb · 12 天前 · 981 次点击

    如何比较当前软件的版本和上个版本的区别以及改了哪些文件呢,客户更新的时候如何进行增量更新呢(只更新有改动和新增的文件,没有改动的文件就不用下载更新了),用的 python 语言,请教如何做到远程更新呢?

    客户端是否需要更新接口已做,但是增量更新这块还需要斟酌,有没有好点的方案呢?或者常规的做法是什么呢?

    第 1 条附言  ·  12 天前
    对了 现在不仅是相邻版本差异的更新的问题了, 还有一个跨版本的差异问题。。。。越想越复杂了这块!!!
    第 2 条附言  ·  12 天前
    方案一:rclone 在客户端维护一个 rclone 服务,然后写脚本
    第 3 条附言  ·  12 天前
    方案一:rclone 在客户端维护一个 rclone 服务,然后写脚本
    优点:支持多系统
    (缺点:包太大,有点蚂蚁日大象了,增加了包的大小)
    6 条回复    2024-05-07 19:25:23 +08:00
    gang4399
        1
    gang4399  
       12 天前 via Android
    啥系统下的更新?
    pipixiarwksb
        2
    pipixiarwksb  
    OP
       12 天前
    @gang4399 windows 和 macos
    lcy630409
        3
    lcy630409  
       12 天前
    “如何比较当前软件的版本和上个版本的区别以及改了哪些文件呢”
    我觉得你都不知道你修改了哪些文件么....
    Chad0000
        4
    Chad0000  
       12 天前
    大致就是维护文件列表,然后一个主更新程序(主要是防止特殊更新)。每次先检查主更新程序是否需要更新,然后用主更新程序对比文件列表替换。大概 VS 就是这样更新的吧:因为它每次都更新那个更新程序先。
    Golor
        5
    Golor  
       12 天前
    1. 编写一个脚本或其他的对比工具,用这个工具对比版本差异文件,生成增量更新包。
    2. 客户端里面加一个单独的更新程序,由这个更新程序,来控制更新,例如关闭主程序,替换资源等。
    xguanren
        6
    xguanren  
       11 天前
    要么简单的 对比 md5 以服务器为准.但是网络传输的话可能会导致 md5 改变.要么就是对比版本号 以服务器最新的为准.
    服务器那边把匹配的打包成一个列表. 客户端下载替换就好了.临时生成一个链接.设置下有效期防止被刷
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2215 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 10:22 · PVG 18:22 · LAX 03:22 · JFK 06:22
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.