微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于WinCE的智能终端自动升级引擎设计

基于WinCE的智能终端自动升级引擎设计

时间:03-21 来源:互联网 点击:

1.引言

软件的维护模式经历了几个阶段,都各有其发展的客观原因,也各有优缺点。

本文在对现有的软件维护模式理论的分析比较后,结合机场智能终端系统的具体项目,应用嵌入式技术、数据库技术和智能推送等技术设计和实现了基于WinCE的智能终端自动升级引擎,对该升级引擎的设计进行了详细说明。

2.软件维护

2.1 软件维护的目的

软件维护是指修正已经运行的软件系统所需要做的工作。运行程序的环境在不断变化,程序的故障也在不断发现,软件需要改正,改进,需要优化;不仅当前的版本要改变,而且仍在使用的旧版本也要维护。即将投入使用的新的版本,可能也需要修改。解决原有的问题需要花费精力,改变后的版本又可能带来新的问题;依靠个人来维护软件在大型系统中显得很不实际。由此软件科学有效地维护成为了软件工程的主要目标之一,意义重大。

2.2 软件维护模式比较

(1)Mainframe/Terminal阶段:在计算机发展的早期,计算资源非常有限,对软件的维护只需对主机进行,维护相对简单。但用户必须登录到主机才能使用计算资源。

(2)Client/Server阶段:Server接收来自Client的请求。完成像数据库这样的处理,将结果返回给Client。这种模式中,Client端软件可能出于不同的软件和硬件平台,导致运行环境和软件版本的不一致,如果让用户自已及时下载最新的 client软件,这会给用户带来不便。

(3)CORBA模式:进一步在软件的可维护性,可扩展性上作了扩展。CORBA定义了一个带有开放软件总线的分布式结构,在这一结构中,运行在不同操作系统上的对象,能够进行互操作。但CORBA模式庞大而复杂,并且技术标准更新相对较慢,影响了系统开发的效率。

可以看出传统的三种维护模式各有忧缺点,在机场智能终端系统具体的应用中,我们充分利用了三种维护模式的优点,并采用当下流行的技术尝试了一种新的软件维护模型:即结合嵌入式技术、数据库技术和智能推送等技术采用基于WinCE的智能终端自动升级模式,充分考虑软件的自动维护和升级,又照顾到实际应用中的带宽限制。客户端启动时能够完成自动升级,并且在运行中运用智能推送技术,当获取到新的版本信息,经分析处理、认定后主动实时地发送给定制版本信息的智能终端用户,实现了信息找用户,保障了软件版本的即时快速的更新。

3.智能终端自动升级

3.1 智能终端自动升级的模型

智能终端自动升级的模型如图1所示。

图1 智能终端自动升级的模型

3.2 智能终端自动升级的流程

(1)在运行智能终端主程序时就启动升级模块,从服务器下载最新的版本号,如果对比当前版本号过时,则提示是否升级。

(2)在获取网络连接正常且带宽允许的情况下,确认升级。

(3)服务器接收到升级请求后,向数据库获取新旧版本的版本信息和文件信息列表,通过任意版本间版本信息的比较算法获取需要更新、删除、添加的文件列表。

(4)智能终端通过获取到的需要更新、删除、添加的文件列表下载相关的升级模块来进行软件的自动升级。

(5)显示下载进度。

(6)下载完毕后,对要注册的文件进行注册。

(7)升级完成,关闭升级模块,运行主程序。

(8)在主程序运行过程中检测、获取服务器智能推送过来的版本信息。

(9)如发现智能推送过来版本升级信息,回到第4步。

(10)关闭主程序。

4.版本信息数据库和算法的设计

4.1 版本信息数据库的设计

(1)tab_ver_all(历史版本控制表)

该表数据项说明如表一所示:

表一 历史版本控制表

列名

数据类型

长度

是否为空

意义

ID

integer

2

N

标志一条记录

Ver_number

verchar

6

N

智能终端软件版本号

Ver_date

date

20

N

软件发布日期

Ver_remark

verchar

100

Y

备注

(2)tab_ver_info(版本信息控制表)

该表数据项说明如表二所示:

表二 版本信息控制表

列名

数据类型

长度

是否为空

意义

ID

integer

2

N

标志一条记录

FileName

verchar

20

N

文件名

BelongVer

verchar

10

N

所属版本,与tab_ver_info建立外键关系

FileVer

verchar

10

N

文件版本

FileSize

verchar

20

N

文件大小

ServerList

verchar

60

N

服务器安装目录

ClientList

verchar

60

N

智能终端安装目录

FileDate

date

20

N

文件发布日期

fileRemark

verchar

100

Y

备注

4.2 任意版本间版本信息比较的算法设计

4.2.1 算法设计的目的

本算法接收新旧版本号,运算后按照接口字符串协议提供给上层应用需要更新、删除、添加的文件列表字符串。

4.2.2 算法设计的思路和流程

(1)根据输入的新旧版本号查询版本信息控制表,获取到新旧版本的文件名列表。

(2)把新旧版本的文件名列表放入new()和old()两个数组中,进行第一次循环比较:相同的文件放入same()数组中,多

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top