APP下载

浅析电信设备软件自动升级系统的开发与实现

2014-03-13时青

电脑与电信 2014年8期
关键词:客户端升级服务器

时青

(凯易讯网络技术开发(南京)有限公司,江苏 南京 210012)

浅析电信设备软件自动升级系统的开发与实现

时青

(凯易讯网络技术开发(南京)有限公司,江苏 南京 210012)

随着社会科技水平的提高,电信行业取得了突飞猛进的发展,随之而来电信设备软件程序的更新换代也越来越频繁,从而大大增加了系统升级工作的难度。对此,本文重点研究电信设备软件自动升级系统的设计开发,力求实现电信系统各设备软件的自动升级,从而提高电信系统的工作效率与质量。

电信设备软件;自动升级系统;开发实现

1.引言

随着电信业务规模的逐渐扩大,电信网络系统越来越复杂,系统所使用的设备软件越来越多,再加上客户需求的不断变化,网络科技手段的提高,电信设备软件的升级成为电信系统日常工作的主要内容。然而,传统的设备软件升级方法需要工作人员的全程监督,耗费了大量的人力物力,不利于电信系统效益的增加。因此,相关研究学将程序自动更新理念应用到电信设备软件的自动升级研究中。

2.程序自动升级理论分析

2.1 程序自动升级定义分析

所谓程序自动升级就是本地服务器利用相关网络协议通过互联网在远程服务器中下载关于某程序的新版文件,然后在本地客户端对新旧文件进行比对,最后自动进行替换。

程序自动升级系统一般是按照以下思路进行设计的:本地服务器客户端会自动检测当前程序的版本号,然后将版本号与远程服务器中所记录的关于该程序的版本号进行比对,如果本地版本比远程版本旧,那么本地客户端就会通过HTTP或者SCOKS等协议自动从互联网上下载更新程序所需要的文件目录,从而完成更新。为提高自动更新效率,避免出现错误,该设计思路规定如果本地程序更新需要的文件过多,那么本地客户端会直接下载最新版本的程序从而自动进行安装。另外,在自动更新完成后,本地程序的版本号也会自动更新,并且与远程服务器中的版本保持一致。

2.2 程序自动升级工作流程

第一,客户端自动判断是否需要升级。通常情况下客户使用的升级程序会默认开机自启动,因此在客户打开计算机后,升级程序就会自动开启。此时,升级程序会通过互联网与程序中已经规定的某一固定网站连接,比对当前程序版本是否为最新,如不是则会在计算机界面上弹出提示窗口,提醒用户进行程序升级。当然,自动升级系统不会提醒用户升级,而是自动后台运行升级,只有在升级完成后对用户进行提醒。

第二,确定需要下载的文件。自动升级系统通过比对新旧两版程序模块数量、文件数量、文件修改时间等确定升级需要哪些文件,同时判断这些文件是否已经存在。例如:用户有时已经下载了升级所需的全部文件,但是却没有升级安装,此时系统通过检测发现所需文件已经存在,不会再重新下载,而是直接自动升级。

第三,下载文件并进行校对。自动升级系统按照所需文件目录从远程服务器中下载文件,并将文件存储在固定的文件夹内。然后,自动升级程序会对已经下载的进行测试检验以确保这些文件是程序升级所需的。

第四,文件替换备份,完成自动升级。自动升级程序先将旧版程序压缩存储在备份目录,然后用已经下载的文件替换旧版程序内的相应文件或者将文件放到指定位置,最后系统会更新客户端的相关信息使新版程序号与远程中的程序号保持一致,从而完成升级工作。

2.3 设计开发程序自动升级系统的技术难点

第一,确保自动升级系统的开机自启动。升级程序的开机自启动是实现程序自动升级的关键,通常情况,需要在程序运行注册表中编写相应代码。

第二,具备网络协议客户端接口。网络协议是自动升级系统查询并获得升级文件的途径,因此技术人员采用了HTTP、FTP等常见的引用层协议。

第三,信息安全存储技术。版本信息的安全存储是程序自动升级的前提,因此为确保本地版本信息的安全,技术人员通常将本地版本信息写入客户端注册表中。

第四,新旧版本的自动比对技术。每一个程序都包含着大量的文件,因此为提高升级效率,在升级之前先比对旧版本升级所需的程序十分重要。通常情况下,自动升级系统会通过比对文件的日期来确定所需的文件。

另外,自动升级系统还需要具备多线程处理以及断点续传等功能,因此在设计开发系统时还需要用到多线程以及断点续传技术。

3.电信设备软件自动升级系统设计分析

3.1 系统结构设计

电信设备软件的自动升级系统主要有三个结构层组成:控制层,该结构层的主要工作是控制整个自动升级工作的顺利进行;业务层,在客户端进行新旧程序对比、文件替换备份等具体工作,属于执行结构;通信层,负责自动系统中的内部通信,实现控制层对业务层的具体控制,同时通信层还负责连接本地客户端与远程服务器,实现远程服务器中文件的下载与传输。因此,电信设备软件自动升级系统的具体工作流程如下:

图1 电信设备软件自动升级系统工作流程

根据上图分析看出,电信设备软件自动升级系统的工作流程与前文所述的程序自动升级流程类似,因此本文在此不多赘述。

3.2 电信设备软件自动升级系统技术分析

电信设备软件自动升级系统要想实现工作必须依靠通信、加密、数据库等技术的支持,因此文章重点对自动升级系统采用的技术进行探讨研究。

(1)通信技术

自动升级系统所应用的通信技术主要是指系统从远程服务器与客户端之间进行文件传输所采用的网络协议,具体包括以下几种:

第一,TCP/IP技术。这是一种应用最广泛的通信协议,是计算机从互联网中获取信息以及上传信息都需要的通信协议。该通信协议具体分为传输控制协议与网际协议,是一种由许多协议所组成的协议组。

第二,FIP协议技术。该协议是实现两台不同主机之间数据传输的方法,可以将本地主机与远程主机连接起来。然而,在使用该协议是必须要进行身份信息认证的。

第三,HTTP协议。是一种将TCP协议作为地层的数据传输协议,HTTP协议可以确保服务器与客户端信息传递的准确无误,从而避免数据信息丢失,可靠性较强。

(2)软件自动升级系统的加密保护技术

软件升级过程是软件安全防护减弱的阶段,因此自动升级系统必要具备一定的保护能力,所以在设计开发自动升级系统时需要使用加密保护技术。当前常见的加密保护算法有:

第一,MD5算法。该算法可以说是目前应用比较广泛的一种算法,并且该算法的安全性相对于MD4的安全性有了很大提高,这是因为:该算法增加了第四轮且每一步都有一个唯一的加法常数;雪崩效应加快;每一轮的左移位移量各不相同。

第二,RSA算法。该算法也是一种比较流行的算法,虽然该算法容易理解和掌握,但是该算法的安全性过于依赖大数因子分解,并且其密钥的产生过程复杂,运算速度过慢。

第三,DES算法。该算法是一种比较有效的加密保护技术,它可以为系统提供高质量的数据保护服务,并且安全性较高。同时,该算法的经济性较强,应用范围比较广。

(3)软件版本检测控制技术

对新旧软件版本进行检测是确定进行自动升级的关键所在,可以确保客户端与远程服务器版本的一致。这种检测更新包括两种:远程服务器中的软件检测更新和客户端的软件更新。

第一,远程服务器中的软件检测更新。其目的是确保远程服务器中的软件程序文件是最新的文件,从而为客户端的程序更新提供准确依据。

第二,客户端的软件检测更新技术。该技术的主要工作是比较客户端中软件版本信息与远程服务器中的软件版本信息,从而判断是否需要进行更新升级。

4.电信设备软件自动升级系统的实现

4.1 自动升级系统断点续传技术的实现

断点续传技术主要应对的是文件传输过程错误或者网络故障而造成的数据断点问题。采用该技术可以确保第二次传输从上次传输断点位置开始,从而避免数据文件的丢失。要想实现这种技术,自动升级系统需要具备以下功能:

首先,具有断点记录功能。自动升级系统在客户端储存一个update.xml文件。当系统需要对当前的升级状态进行标记时,该配置文件中的endpos会记录本地客户端已经收到的文件大小,filelen则被用来记录正在传输的整个文件的总字节长度,从而为下次传输确定起始位置提供依据。而当自动升级程序重新启动时,系统首先读取update.xml文件,读取上次升级的状态标记,判断上次传输是否完整,若不完整则需要确定上次升级的停止位置,然后从该位置开始重新下载,完成软件程序升级。

其次,向远程服务器发送连接申请。断点续传的通信协议申请与普通申请不同,其申请命令中增加了一条Range字段。该字段中记录了续传文件的具体范围,从而确保文件断点连接的准确性,完成文件传输。

4.2 电信设备软件自动升级各功能模块的实现

本文在所设计的自动升级系统中添加了自动升级服务器,该服务器需要实现的功能有控制、发送、版本管理以及消息收发等功能。对此,文章结合自动服务器的具体功能对其进行了分析:

第一,控制功能的实现。整个自动升级服务器的核心是控制模块,该模块的主要功能是监督管理整个服务器的正常工作,包括控制相应消息的发送、服务器异常情况的上报与处理、管理状态机等。其中管理状态机是实现整个自动升级活动的关键环节。

第二,发送功能的实现。服务器的发送功能需要发送模块的参与,其主要的工作职责是将相应的软件数据包发送到本地客户端,并且向控制模块上报软件数据包发送过程中的工作状态。

另外,对整个系统而言,其控制层与业务层在整个系统正常工作的过程中同样发挥着重要作用,其二者与自动升级服务器一起构成了一个完整的自动升级服务系统。

5.结语

电信设备软件的自动升级是电信企业日常管理工作的重要内容之一,由于传统的系统升级方法需要耗费大量的人力以及物力,因此本文主要针对设备软件的自动升级系统进行研究分析。文章首先对常见程序自动升级理论进行了分析,然后阐述了电信设备软件自动升级系统的具体设计,最后探讨了该自动升级系统的具体实现方式。

[1]陈刚,羌玲玲.用VC++实现软件的自动升级[J].计算机应用与软件,2010(10).

[2]谭亚科.电信设备软件自动升级设计与实现[J].电子科技,2013 (10).

[3]徐晓蕾,方志威.适合网络单元的软件自动升级解决方案[J].电信技术,2011(9).

[4]宋凌怡.软件通用自动升级方法的研究与实现[J].安顺学院学报,2011(3).

[5]肖首先.局域网环境下的软件在线自动升级——基于VB6+ SQL Server2000的实现方法[J].计算机光盘软件与应用,2011(1).

Analysis on the Development ofAutomatic Update System for Telecomm Equipment Software

Shi Qing
(Kaiyi Network Technology Development(Nanjing)Co.,LTD,Nanjing 210012,Jiangsu)

tract】 With the increasing of the social and technological level,the telecom industry has made great achievement,accompanied by more and more frequent upgrading of telecomm equipment software,which greatly increases the difficulty of system upgrade.Therefore,this paper focuses on the the design and development of automatic upgrade of telecom equipment software,realizing the automatic upgrade of telecommunications system software,to improve the work efficiency and quality of telecom system.

words】 telecom equipment software;automatic update system;development

时青,男,江苏睢宁人,本科,助理工程师,研究方向:网络通讯、运营商网络控制和管理。

猜你喜欢

客户端升级服务器
小投入,大升级 Polk Audio Monitor XT系列
幸福,在“家门口”升级
通信控制服务器(CCS)维护终端的设计与实现
如何看待传统媒体新闻客户端的“断舍离”?
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
大枢纽 云平台 客户端——中央人民广播电台的探索之路
回暖与升级
中国服务器市场份额出炉
得形忘意的服务器标准