VC环境下软件在线自动更新系统的研究与实现

2018-08-18 08:23李刚周遵四
数字技术与应用 2018年4期
关键词:实现

李刚 周遵四

摘要:软件在线自动更新系统是在VC环境下开发,使用oracle数据库进行软件信息列表设计,使用Web Service作为访问数据库接口,使用FTP服务器存储安装文件。

关键词:自动更新;Web Service;实现

中图分类号:TP39 文献标识码:A 文章编号:1007-9416(2018)04-0090-02

软件维护主要是指根据需求变化或硬件环境的变化对应用程序进行部分或全部的修改,作为一个软件设计人员,深知软件维护的重要性。软件维护活动类型总起来大概有四种:纠错性维护(校正性维护)、适应性维护、完善性维护或增强、预防性维护或再工程。除此四类维护活动外,还有一些其它类型的维护活动,如:支援性维护(如用户的培训等)。软件在线自动更新系统就是在设计人员不去现场的前提下,远程实现软件维护工作。不仅节约人力物力财力的,还大大缩短了软件维护周期。

1 系统概述

软件在线自动更新系统使用者包含管理员和访问者两种角色。管理员使用软件在线自动更新系统进行软件组成文件的上传和维护,访问者使用软件在线自动更新系统进行初始安装、更新和修复操作。软件在线自动更新系统主要由FTP服务器、数据库、数据库接口和人机界面四个部分组成。具体介绍如下:

FTP服务器主要用于提供软件段包存储控件,便于软件操作系统上传和下载软件段包文件操作。

数据库主要用于存放软件段包信息,便于软件操作系统相关操作。

数据库接口即Web Service,它是软件操作系统和数据库之间的桥梁。软件操作系统通过数据库接口进行增加、删除、修改和查询操作。

人机界面是访问者和管理员的操作界面,访问者可以通过其进行软件的安装、修复和更新操作,管理员使用其进行上传操作。

2 系统设计

2.1 FTP服务器

在FTP服务器上分配一个存储空间,用于管理员上传软件组成文件和用户下载安装文件。

2.2 数据库设计

数据库共包含四个表,分别为用户权限表、软件信息表、软件文件组成表和已安装软件信息表。

(1)用户权限表(TAB-USER):存储可以登录软件在线自动更新系统的人员信息。表内容如下:1) USERNAME:用户名称;2)USERPASSWORD:登录密碼;3)USERLEVER:用户权限(0,管理员;1,访问者);(2)软件安装表(TAB- SetUPList):存储客户端需要安装的所有软件信息。表内容如下:1) CLIENTNAME: 计算机唯一识别号, 采用IP地址方式区分;2)PRONAME:工程名称,上传工程时定义;3)PROVERSION:最新版本,软件工程版本,上传工程时定义;4)PROLASTWRITETIME:最新修改日期,软件工程版本修改日期,上传工程时设置;(3)安装文件信息表(TAB-SPFILESLIST):存储所有软件工程的安装文件。表内容如下:1)PRONAME:工程名称,上传工程时定义;2)PROVERSION:最新版本,软件工程版本,上传工程时定义;3)FILENAMES:软件工程组成文件名称(包含扩展名);4)FILELASTWRITETIME:软件工程组成文件最新修改日期;5)PROFTPSETUPLOCAL:软件工程组成文件在在FTP上位置(绝对位置);6)FILESTYPE:文件类别,分组成文件(0)和安装文件(1);7)FILEMD5:文件哈希值,判断文件是否变更的依据;(4)安装记录表(TAB-SETUPMES):存储客户端安装软件的记录。表内容如下:1)CLIENTNAME:计算机唯一识别号,采用IP地址方式区分;2)PRONAME:工程名称,安装工程时从软件安装表中获取;3)PROVERSION:软件版本号,安装工程时从软件安装表中获取;4)PROLASTWRITETIME:软件修改日期,安装工程时从软件安装表中获取;5)PROLOCAL:本地安装位置(绝对位置)。

2.3 数据库接口设计

用户通过Web Service访问数据库,接口采用soap协议(简单对象访问协议),数据格式采用json格式(轻量级数据交换格式)。Web Service操作函数如下:(1)查询安装列表函数QuerysetupList(&CLIENTNAME;):根据IP地址查询需要安装的软件信息;(2)查询安装记录表函数QuerysetupMessage(&CLIENTNAME;):根据IP地址查询已经安装的安装记录信息;(3)修改安装记录表Modify SetupMes(tversion, tLWtime,tIP, texe):更新软件工程成功后修改安装记录表中版本和修改日期列值;(4)查询安装文件表Query SetUpFilesList(protectname):根据软件工程名获取安装文件;(5)删除安装文件表deleteFilesList(protectname):根据软件工程名删除所有文件;(6)插入文件列表 InsertFilesList():将管理员上传的软件文件信息存入软件信息表和软件文件组成表。

2.4 人机界面设计

(1)系统登录:在登录对话框中输入用户名和密码,错误时返回;正确时根据权限进入相应操作界面。管理员操作界面主要是对FTP服务器文件的修改和数据库列表的增删工作。访问者操作界面主要完成初始安装、更新和修复操作。(2)系统状态检测:访问者登录软件在线自动更新系统,读取数据库中软件信息表和已安装软件信息表并在列表里一一对应显示。软件会出现以下四种状态:1)初始安装:软件在已安装软件信息表中不存在,置状态为初始安装;2)更新:软件在两个表中的信息不完全一致,置状态为更新;3)修复:软件在两个表中信息一致,但是安装文件信息表中文件信息与安装目录下的文件信息不完全一致,置状态为修复;4)不需更新:软件在两个表中信息一致,并且安装文件信息表中文件信息与安装目录下的文件信息也完全一致,置状态为不需更新。(3)初始安装:对于状态位为初始安装状态的软件,执行初始安装操作。选择安装目录,将FTP该软件的所有文件下载到安装目录中,并将安装信息记录到安装记录表。(4)更新:对于状态位为更新状态的软件,执行更新操作。将需要更新软件在安装文件信息表的所有文件与本地安装目录中所有文件一一对比,将不一致的文件进行替换操作。最后将安装信息更新到安装记录表。(5)恢复:对于状态位为恢复状态的软件,执行恢复操作。将需要修复软件在安装文件信息表的所有文件与本地安装目录中所有文件一一对比,将不一致的文件进行替换操作。(6)上传:当设计师需要对软件进行维护操作时,以管理员身份登录在线自动升级系统,上传最新的软件工程组成文件到FTP服务器上。同时,对数据库软件安装表和安装文件信息表进行更新操作。

3 结语

软件在线自动更新系统除了可以用于软件更新和软件修复等软件日常维护工作外,还可以进行软件部署工作。软件在线自动更新系统即可以独立运行,又可以作为自动更新模块嵌入到指定系统中。

参考文献

[1]唐教兵,郭四稳.基于Web服务的应用程序自动更新系统的设计与实现[J].电脑知识与技术(学术交流),2007,(11):1294-1297.

猜你喜欢
实现
基于天地图API的航空无线电干扰区域定位平台设计与实现
初探勘察测绘科技档案管理系统设计与实现
信息系统安全评价系统设计及实现
高校声像档案数字化管理的实现路径
办公室人员尚需制定个人发展规划
浅析铁路通信传输的构成及实现方法