基于XML升级服务器的设计

时间:2022-02-16 05:05:47

基于XML升级服务器的设计

摘要:升级服务器通过提供在线自动升级的功能,为软件升级提供了通用的升级解决方案,利用XML技术,升级服务器可以具备很好的扩展性,不但增强了升级服务器的适用性,而且还能够支持断点续传等功能。

关键词:升级服务器;XML;断点续传

中图分类号:TP393 文献标识码:A文章编号:1007-9599 (2011) 14-0000-02

The Design of Upgrade Server Based on XML

Guo Li1,Ji Huanshu2

(1.Henan Industrial Design School,Zhengzhou450002,China;2.Henan University of Light Industry Staff,Zhengzhou 450002,China)

Abstract:The upgrade server provides the function of online auto upgrade.It provides a common solution of software’s upgrade.With XML technology,the upgrade server can have good scalability.It not only enhances the applicability,but also supports breakpoint resuming.

Keywords:Upgrade Server;XML;Breakpoint resuming

一、引言

软件升级是很多软件重要的功能,程序在之后,一方面不可避免会出现一些缺陷,另一方面还会需要对软件功能进行改变或增强,此时不可避免地需要进行软件升级。目前软件升级主要有两种方式,一是采用人工方式,此种方式需要用户干预,用户需要离线或从网络上下载安装软件,手工进行安装,另外一种采用在线自动升级方式,此种方式软件上具有专用的升级程序,当有新软件更新时,软件能够自动下载并进行更新,用户无需干预,这种方式下程序可以得到及时升级,而且用户体验良好。

在线自动升级需要升级服务器的支持,升级服务器与用户端升级软件相配合,对用户软件进行升级。一般一个软件都有很多文件构成,升级时对哪个文件进行升级都是不确定,因此,需要升级服务器在定义升级文件时具备一定的可扩展性,本文采取XML的形式描述待升级的文件,能够使升级服务器具有良好的扩展性和通用性。

二、系统总体结构设计

如图所示,系统主要由升级服务器和升级客户端构成。升级服务器中的升级描述文件库(XML格式)存放了版本之间的关系及升级需要更新的文件等内容,所有待升级的软件均存放于升级软件池中。升级客户端将当前软件的相关信息存放于当前升级描述文件中,为了支持断点续传功能,客户端升级软件将文件下载的进度也放入到当前升级描述文件中,供断线或系统重启后继续升级使用。

升级服务器开放了两个通道:描述文件传输通道和升级软件传输通道。描述文件传输通道用于传输升级描述文件,用以检测客户端的软件是否需要升级;升级软件传输通道主要用以传送升级软件,该通道支持断点续传功能。

升级客户端不与任何应用客户端有业务上的联系,只负责升级,根据版本号判断是否需要升级,根据客户端类型决定要升级哪些文件,根据升级文件描述信息决定下载哪些文件,是新增还是替换还是删除。

图1.基于XML升级服务器的总体结构

三、升级流程设计

系统升级是由升级客户端首先发起的,升级客户端可由任何程序启动,也可以设置为开机自启,升级服务器的地址预置在升级客户端内部配置文件中。具体的升级流程如下:

(一)升级客户端启动后连接预置的IP和端口,发送检测版本号的请求。请求内容包含设备类型(笔记本\智能手机\平板电脑等)、操作系统(WINDOWS\LINUX\ARDROID等)、当前版本号、上次升级时间等,这些客户端相关升级信息存放于客户端升级描述文件中,可以支持多个升级描述文件,升级客户端可以按顺序依次发送请求。

(二)升级服务器收到客户端请求后从本地升级描述文件信息库中检索对应的客户端类型对应的版本号,如果比请求的版本号新,则回复需要升级,并推送当前软件的升级描述文件。

升级版本支持合并,比如当前客户端版本是2.0,服务器上最新版本是5.0,服务器应该根据当前版本的前向版本判断当前客户端是依次升级(2.0->3.0->4.0->5.0)还是可以直接从2.0升级到5.0。

(三)客户端解析XML格式的升级信息描述文件,取出需要下载的文件依次下载文件,并根据下载情况标记已经下载完成的文件,以防中途网络断开后需要从头开始。

(四)客户端程序根据XML格式的升级信息描述文件,连接服务器的升级软件传输通道,下载文件时,向升级服务器发送下载文件请求,包含文件所在路径、文件名、文件大小、启始位置,服务器检验下载文件是否是所需要的文件,如果是从指定位置开始推送文件数据。

需要说明的是,下载文件均放到临时目录,当全部下载完成后根据要升级的文件使用情况决定是马上升级还是下次启动时再提示用户升级。

(五)如果升级异常中止(如断电、死机、网络异常等),升级程序在起动时应该检测上次升级的文件有没有完成,如果没有完成应该从最后一个未完成的文件继续下载,如果完成检测是否已经将本地文件替换或删除,以保证升级程序正常完成。

四、交互文件格式

所有升级交互信息均以XML格式构成,根据升级流程,主要包括四种消息,下面分别予以说明。

(一)升级检测请求,该消息由客户端发起,用以升级检测,其格式如下:

CheckUpdate

客户端类型

客户端操作系统

当前版本号,如:3.371.1

(二)升级检测响应,该消息是对上一条消息的回复,其格式如下:

当前版本号,如:3.371.2

文件唯一标识

文件本地路径

文件名称

文件大小

...

(三)文件下载请求,该消息用以下载升级文件,具体格式如下:

文件唯一标识

下载起始位置

(四)文件下载响应,该消息用以推送文件,具体格式如下:

文件唯一标识

下载起始位置

具体文件内容

五、结论

基于XML的升级服务器不仅提供了良好的扩展性,还对断点续传等功能提供了支持,由于其扩展性好的特点,既可配合应用软件一起使用,也作为单独软件分发服务器使用,因此该升级服务器具有良好的适用性。

参考文献:

[1]徐鹏,张玉清.补丁自动管理系统的设计与实现[J].计算机工程,2007,2

[2]袁向英.架设局域网升级服务器WSUS[J].网络安全技术与应用,2007,2

[3]张东黎.大型组织中的补丁管理与解决方案[J].网络安全技术与应用,2005,2

[作者简介]郭丽(1980-),女,河南省南阳市人,学士,河南工业设计学校(助教),主要研究方向:计算机网络。

上一篇:浅谈双向网改造技术方案 下一篇:用于光纤光栅传感器温度补偿方法的研究