升级流程
2023-02-01 13:50:34 30 举报
登录查看完整内容
升级流程
作者其他创作
大纲/内容
校验文件
替换完成
三次校验MD5都不正确
启动下载进程
找出新文件
结束文件下载
是
判断filelist的ID,是否有升级
通过filelist.xml文件里的MD5和安装目录下的文件的MD5进行比对,生成需要更新的文件upgrade.xml
启动主进程
校验下载文件的MD5是否正确
判断下载缓存目录update下,文件是否为最新
生成需要下载的升级文件列表upgrade.xml文件
结束升级进程
否
结束主进程
启动主进程检查线程
判断文件已下载完成,且是最新升级版本
从服务端下载filelist.xml文件
当前filelist.xml
upgrade.xml
主进程
下载进程结束
下载文件
替换升级文件
判断是否要启动升级进程
下载文件:根据upgrade.xml列表里的文件,逐个的去下载文件。1、判断下载缓存目录,update里面是否有当前需要下载这个文件,如果存在,判断一下文件是否为最新的,如果是最新的,接着下载下一个为文件,如果不是最新的就重新下载。2、下载文件后,校验一下文件的MD5,如果文件的MD5值与服务端上传的MD5值不一致,文件可能存在缓存,然后重新下载,如果3次下载的文件,MD5校验都不通过,结束本次下载流程,下次重新开始下载。3、所有文件下载完成之后,会在本地目录下生成section.data,下一次启动软件会根据这个文件进行升级。
开始下载单个升级文件
升级流程
下载进程启动
升级控制文件关系图
当前filelist.xml:安装根目录下的filelists.xml文件新filelist.xml:从服务端下载的filelists.xml文件校验文件:根据安装目录下的filelists.xml文件,逐个计算原文件的MD5值和filelists.xml文件里记录的MD5进行比较,如果不一致,以原文件的为准。找出新文件:将服务端下载的文件列表和本地安装目录的文件列表进行比较,如果服务端有的文件,本地文件列表没有,则更新到缓存里,如果服务端文件MD5值和本地文件的MD5值不一致的情况下,也更新到缓存里,最终生成了upgrade.xml文件,是需要下载和升级的文件列表。
下载进程
升级进程启动
新filelist.xml
section.data
检查主进程是否存在
文件升级进程
启动文件替换线程
判断主进程是否存在
从服务端下载单个升级文件
收藏
0 条评论
回复 删除
下一页