皮素梅
(沈阳工学院 辽宁 抚顺 113122)
OTA(Over-the-Air Technology)是指终端通过无线网络下载远程服务器上的升级包,对系统或应用进行升级的技术。有些情况下,公安、医院等特殊部门不需要这样复杂的流程,只需要在局域网内实现升级即可,也不需要在服务器界面配置或者查看升级率等复杂的功能。对于这些市场需求,我们只需开发简易的服务器,完成检测下载即可。这种实现方式,使得服务器具有灵活性。
随着时代的发展,现在警务通设备、医院的医疗终端都需要系统升级,这些特定场所的系统升级都必须使用局域网。经调查研究,我们采用轻量级的系统升级方案,设计一个服务器的安装包,将此安装包放置到特定场所的一台设备上,进行相应的安装,这台设备就变成了一个管理版本和配置升级策略的服务器,按照特定的格式配置好升级包和升级策略。终端根据服务器的配置方案进行版本的检测下载即可。系统框架见图1。
图1 系统架构图
我们利用apache服务器的配置以及FTP的文件传输协议搭建了一个简易服务器的框架,设定服务器的配置文件夹为hmctdocs,其中hmctdocs文件夹中设置upgrade目录和updateinfo.xml,其中upgrade放置需要升级的升级包,updateinfo.xml放置升级策略的文件。在需要配置服务器的主机上直接安装应用程序,安装完成后,我们的下载路径和配置升级策略的文件也就准备好了[1]。
其中,updateinfo.xml的结构如下:
每一个updateinfo节点为一条升级策略,此配置文件中可以有多条升级策略,即包含多条的内容。
局域网升级的服务器没有复杂的界面设置,在配置文件中配置好各个节点即可。
客户端首先配置需要检测升级包的服务器的IP,手动输入IP后,终端去检测版本时直接去下载http://ip/server/hmctdocs/updateinfo.xml。下载解析文件完毕后,查看文件中的IMEI、软件版本号、产品型号是否和终端的IMEI、软件版本号、产品型号匹配。如果数据匹配就说明有新版本,接着下载upgrade文件夹下的升级包即可。如果数据不匹配,说明没有新版本,提示用户已经是最新版本即可[2]。
其中,客户端检测版本的流程见图2。
图2 客户端检测版本的流程图
下载完毕升级包,会通过下载的升级包在本地生成一个sha256sum,判断本地的sha256sum与服务器上的sha256sum是否一致,如果不一致,提示用户升级包出错,请等待最新版本。如果一致就显示下载成功,提示用户立即安装[3]。如果用户不立即安装,设置每天提醒用户安装的方式,便于提高升级率。
移动终端的公网系统升级和局域网系统升级的差别主要体现在两个方面:第一方面就是服务器,公网的服务器需要评估服务器的性能、带宽,以及CDN加速等,考虑产品的创建、源版本和目标版本的管理,升级策略的配置,对于特定用户的局域网配置,我们不需要考虑服务器的性能、带宽,以及CDN加速等,只需要搭建好一般配置的服务器,写好配置文件,把制作好的升级包放到相应的目录下即可。
第二方面就是移动终端,不论是公网还是局域网系统升级,移动终端都需要和其检测升级包的服务器一一匹配,在公网的系统升级中,连接服务器和移动终端的需要SDK文件,客户端调用SDK里的方法去上传移动终端的产品名和IMEI,移动终端获得服务器下发的token,去服务器认证这个设备是否合法。在局域网系统升级中,只需要将服务器的IP配置到终端,终端通过下载服务器的配置文件,解析配置文件后,将服务器的产品型号、软件版本号、IMEI和移动终端的相关数据进行比对,如果数据匹配,就说明有新版本;如果不匹配,则提示用户当前版本已经是最新版本。
在局域网升级系统中没有繁琐的界面上的产品型号的创建,版本的上传,升级策略的配置,只要配置一个文件即可。在局域网的升级系统中有一步是终端配置服务器的IMEI,用户进入移动终端的系统更新界面,可以直接设置其IP进行版本检测。此步骤可以优化的空间如下:由于使用局域网升级系统的用户职业的特殊性,针对这一情况,我们可以将服务器的IP,在移动终端配置好。将不同用户的服务器IP和用户代码写成一个数据组(四川公安,10.22.33.55;青岛市立医院,11.13.44.56),在检测版本时移动终端通过数据组去自动获取服务器的IP。这种优化的前提是必须确定使用移动终端进行局域网系统升级的场所中局域网的IP。
本方案的局域网升级系统已经在高通平台(SDM450)、MTK平台(MTK 6739)、展讯平台上实现了。
高通64位SDM450智能平台解决方案,八核1.8 GHz,存储器64 GB(eMMC)+ 4 GB(LPDDR3)的eMCP(兼容32+4),android o的移动终端。
服务器的处理器是Inter(R)Core(TM)i5-8250U CPU @ 1.60 GHz 1.80 GHz,内存8 G,64位操作系统的Windows 10系统。
在服务器安装上应用程序后,作为局域网系统升级的服务器。在以上3种平台上分别测试了差分升级、整包升级、IMEI黑名单的功能,测试结果都升级成功了。
本文设计了基于Android平台的局域网轻量级系统升级,采用局域网系统升级,省掉了服务器的设计、搭建以及界面开发,安装上我们的服务器软件应用程序即可搭建好局域网服务器,相比公网服务器的配置省时省力省钱。客户端只需要解析配置文件即可,不需要通过SDK和服务器进行繁琐的交互,测试表明该方案简单易用。