概要说明:
自动更新程序主要负责从服务器中获取相应的更新文件,并且把这些文件下载到本地,替换现有的文件。达到修复Bug,更新功能的目的。
本文作为更新程序的一个框架性设计,主要侧重介绍功能和流程。也许在若干年后,我再回顾当初自己的设计,会有另外一份所获。
系统组成:
FTP服务器 |
主要存放要更新的所有文件。提供客户端下载 |
更新文件生成功能 |
根据FTP文件夹中的内容,生成更新列表(xml文件) |
自动更新程序 |
判断版本号,下载最新的文件,替换现有程序。 |
服务端的流程图:
客户端的流程图:
更新列表文件介绍:
补充:
1:更新程序没有做成全自动。用户必须手工点击更新按钮,才启动更新程序。
因为目前的系统平时更新并不频繁。在系统刚上线的时候,可能更新会勤一些,但在系统运行稳定后,也许一年半载都不会去更新。
2:更新程序如果执行到一半,发生意外导致更新被迫终止,目前的解决方案是让用户再重新更新一次。没有断电续传。没有中间过程恢复。
如果更新程序使用并不频繁,就没必要加入过多的逻辑。偶尔出一些错误,只要不影响业务程序运行,绝大数用户还是可以忍受的。
3:虽然此更新功能和windows的update,瑞星的update相比,简直就是一个小儿科程序,但是这个程序的却也满足了我参与的所有项目的要求。
不求最好,够用就行。呵呵