2023年11月26日发(作者:)
Technology
技术
一种C/S模式下客户端软件版本自动检测
升级方法的设计与实现
贾令涛
(中国飞机强度研究所,陕西西安 710065)
[摘 要]
C/S模式适用于客户端需处理复杂业务逻辑的应用系统中,但是由于客户端部署在应用环境的多个终端,自动检测升
级客户端软件版本成为提高应用系统维护效率的有效手段之一。为此,本文设计并实现了一种C/S模式下客户端软件版本自动检测
升级方法:客户端软件启动时,自动对比客户端配置文件与服务器端数据库中的版本信息,在版本不一致时,客户端应用程序自动下
载更新客户端软件及配置文件,实现客户端软件版本的自动更新。应用结果表明,该方法能够可靠实现客户端软件的自动升级,提高
客户端的维护效率。
[关键词]
C/S模式;客户端;自动升级
[中图分类号][文献标志码]
TP311.1 A
互联网和局域网的发展,基于网络的多种软件系统的应
用,给人们的生活和工作带来了变革性的改变。而基于网
络的应用系统架构模式大致可以分为两种,B/S(Brower/
Server,浏览器/服务器)模式和C/S(Client/Server,客户
端/服务器)模式。前者由于其便于部署维护的特性成为越
来越流行的应用模式,但后者能充分发挥客户端性能的特性
也使得其在需要处理复杂业务逻辑的场景中有一席之地。不
过,C/S模式需要根据业务调整而不断升级多种客户端软件
的问题,确实成为影响C/S模式扩展应用的重要因素之一。
为了能够发挥C/S模式的优势,解决客户端软件版本升
级已经成为开发C/S模式应用系统的一项基本工作
[1-3]
。本文
通过对业务需求的分析,采用C/S模式设计开发客户端软件,
以实现手持设备与数据服务器的数据同步,同时通过对C/S
模式下客户端软件自动升级解决方案的分析与研究
[4-5]
,实现
了一种客户端软件自动检测升级方法,主要包含客户端软件
版本自动检测、客户端软件自动下载安装、更新失败时自动
回退版本。
1 总体设计
1.1 业务分析
为了实现重点设备全生命周期的统一管理,在工作现场
采用手持设备记录设备使用记录,之后通过客户端软件将数
据同步至数据服务器,完成设备相关数据的全生命周期管控。
根据业务需要,客户端和手持设备在局域网的多个地方
均有接入,但是软件的版本升级需要统一管理维护,因此对
客户端软件和手持设备软件进行版本的自动检测和升级,成
为软件推广应用的必要功能之一。
1.2 方法设计
图1 客户端软件版本自动检测升级流程
的版本信息和对应安装文件,在此基础上,运行图1的升级
流程。
步骤1:打开客户端软件,软件将在后台自动线启动版本
检测模块,根据本地配置文件连接服务器,如果连接失败,
则提示用户确认服务器参数是否正确,之后再次连接服务器;
如果连接成功,进入步骤2。
步骤2:从服务器获取最新的客户端版本号,并与本地配
置文件中的版本号进行比对,如果版本号一致,则直接打开
客户端软件;如果版本号不一致,则提示用户可以升级客户
端版本,进入步骤3。
步骤3:用户可以选择是否升级版本,如果选择不升级,
本方法在软件启动时将会自动连接数据库,检测本地版
本是否为最新版本,不是最新版本则可启动自动升级程序,
则直接启动客户端软件;否则,客户端软件将启动自动升级
模块,进入步骤4。
步骤4:备份当前版本的客户端软件和手持设备软件,根
据服务器上获取的地址下载新版客户端软件和手持设备软件,
并运行客户端软件。
步骤5:如果客户端启动成功,进入步骤6;如果客户端
软件启动失败,则回退到备份版本,提示用户升级失败,关
闭客户端软件。
步骤6:关闭自动升级模块,更新本地配置文件中的版本
信息,客户端软件升级完成。
2 应用实例
根据业务环境分析,客户端在物理上分布在局域网的多
个接入点,同时手持设备与客户端配套部署。根据上述设计,
一旦打开客户端软件,版本检测模块就会启动,检测服务器
侧最新版本是否与本地版本一致,然后根据具体客户端软件
的相应条件进行版本升级或软件运行。
下面以服务器侧版本已经升级,客户端软件尚未升级为
例,描述通过本文方法实现客户端软件版本检测和升级的整
个流程。
(1)打开客户端软件之后,版本检测模块连接服务器,
获取数据库中的版本信息。如果连接失败,则弹出如图2所
示的数据库连接参数配置界面;如果连接成功,则在判断版
本需要升级时,弹出图3所示界面,需要用户确认是否升级。
图2 服务器参数配置界面
图3 用户确认是否升级
(2)用户确认升级后,系统跳转到升级进度指示界面,
如图4所示。在升级过程中,会提示版本更新进度。
图4 版本更新进度提示
(3)当版本更新完毕,如果新版本软件启动测试失败,
则回退到之前的版本,如图5所示,用户可选择继续使用原
自动化技术与应用
版本工作;如果新版本软件启动测试成功,则提示软件更新
成功,如图6所示。
图5 版本回退成功提示
图6 版本更新成功提示
通过上述流程,客户端软件更新成功,用户可以使用最
新版本的客户端软件开展相关的业务工作。
3 结束语
本文通过对业务需求的分析,选用C/S模式开发应用系
统以支撑现场工作中的复杂操作。为了使应用系统为广大终
端用户所接受,避免客户端软件版本更新产生过多复杂的用
户操作,实现了本文的客户端软件版本自动检测升级方法。
通过在用户点击客户端软件时,后台自动启动版本检测模块、
与用户交互式的升级选项、升级失败自动回退旧版本等方式,
全面提升客户端软件维护效率,降低用户升级操作复杂度,
为用户带来了较好的使用体验。
实际应用结果表明,本文方法不仅提升了客户端软件的
升级维护效率,同时,通过选择性升级、升级失败自动回退
等功能,在升级失败时也能够保证客户端的正常工作。
参考文献
[1]肖江文,廖幼文. C/S 结构下客户端软件自动升级的方
法研究[J]. 计算机工程与应用, 2005, 41(35): 95-97.
[2] 曾样松,文登敏.C/S 模式客户端应用程序自动升级研
究与实现[J].现代计算机, 2009(9):198-200.
[3] 岳国华.分布式环境下C/S 模式客户端软件自动在
线升级的设计与实现[J].西安科技大学学报,2011(1) :
72-76.
[4] 贺晓春. 基于C/S 模式的客户端软件自动升级设计与
实现[J]. 自动化与仪器仪表, 2017(3): 137-139.
[5] 程浩. 基于.NET的客户端自动升级系统的设计与实现
[J]. 计算机与网络,2014(10): 52-54.
作者简介
贾令涛(1983-), 男,陕西咸阳人,硕士研究生,高级
工程师,研究方向:计算机应用与数据管理技术。
今日制造与升级


发布评论