• 请不要在回答技术问题时复制粘贴 AI 生成的内容
pipixiarwksb
V2EX  ›  程序员

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

  •  
  •   pipixiarwksb · May 7, 2024 · 2201 views
    This topic created in 781 days ago, the information mentioned may be changed or developed.

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

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

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