解读云网互动影视6.0在线升级机制

无意中在云网互动影视6.0后台发现其系统设置下有个在线升级的功能,年前我也刚对B/S系统在线升级做过一番研究,还写了个B/S系统版本管理V1.0,看到云网的在线升级,兴致大增,便体验了一把。云网的升级过程借助了AJAX,使整个升级过程非常直观、舒适!不过我更感兴趣的是他的实现机制,于是找了相关文件研究了一番。

一、升级原理

每次升级时先比较本地版本和服务器版本,发现新版本后再到服务器获取升级文件列表,最后逐个文件下载覆盖本地文件完成更新。由于每次只能升级到当前版本的高一版本,所以当本地版本较旧时得通过多次升级才能完成更新到最新版本。

二、升级步骤

1.版本比较

升级的时候从"Admin/YWNT_TMS_inc/UpdateInc.asp"获取本地版本号,再从"http://www.ywnt.net/Update/Free/Version.asp"获取服务器上的版本号(Version.asp中将低版号到高版本号从左到右依次排列,各版本号间用vbCrLf分隔),通过比较得出当前版本的高一版本号,准备升级。

2.获取文件列表

每个版本的升级文件列表都保存在"http://www.ywnt.net/Update/Free/版本号/Update_text.asp"中,假如要升级到6.2.0,则从http://www.ywnt.net/Update/Free/6.2.0/Update_text.asp中获取文件列表,Update_text.asp中内容大致如下:
Function/Labeling.html|Function/Labeling.asp|73
Function/Function.html|Function/Function.asp|24
Function/HelpLeb.html|Function/HelpLeb.asp|2
Function/NoticeLeb.html|Function/NoticeLeb.asp|3
Function/Page.html|Function/Page.asp|11
Index.html|Index.asp|4
0

每个升级文件都包含了三部分内容:代码存放路径(html)|需升级的文件名及路径(asp)|大小,各升级文件间也是用vbCrLf间隔。为什么代码要放在html文件中而不是直接去服务器下载asp文件完成更新呢?我们能从服务器上得到asp文件的代码吗?想想,呵呵。在B/S系统版本管理V1.0中更新文件已经压缩成了xml包,就没有这样的问题了。

3.下载文件完成更新

将列表中的文件逐个下载回来覆盖本地文件就完成更新了。在B/S系统版本管理V1.0中全部更新文件压缩成一个xml包,增加了更新速度,也一定程度降低了更新失败的风险。

4.升级界面预览





上一篇: 漂亮的排行榜(css版)
下一篇: 一份完整的SEO教程
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags:
最新日志:
评论: 0 | 引用: 0 | 查看次数: 4376
发表评论
登录后再发表评论!