時青
(凱易訊網絡技術開發(南京)有限公司,江蘇 南京 210012)
淺析電信設備軟件自動升級系統的開發與實現
時青
(凱易訊網絡技術開發(南京)有限公司,江蘇 南京 210012)
隨著社會科技水平的提高,電信行業取得了突飛猛進的發展,隨之而來電信設備軟件程序的更新換代也越來越頻繁,從而大大增加了系統升級工作的難度。對此,本文重點研究電信設備軟件自動升級系統的設計開發,力求實現電信系統各設備軟件的自動升級,從而提高電信系統的工作效率與質量。
電信設備軟件;自動升級系統;開發實現
隨著電信業務規模的逐漸擴大,電信網絡系統越來越復雜,系統所使用的設備軟件越來越多,再加上客戶需求的不斷變化,網絡科技手段的提高,電信設備軟件的升級成為電信系統日常工作的主要內容。然而,傳統的設備軟件升級方法需要工作人員的全程監督,耗費了大量的人力物力,不利于電信系統效益的增加。因此,相關研究學將程序自動更新理念應用到電信設備軟件的自動升級研究中。
2.1 程序自動升級定義分析
所謂程序自動升級就是本地服務器利用相關網絡協議通過互聯網在遠程服務器中下載關于某程序的新版文件,然后在本地客戶端對新舊文件進行比對,最后自動進行替換。
程序自動升級系統一般是按照以下思路進行設計的:本地服務器客戶端會自動檢測當前程序的版本號,然后將版本號與遠程服務器中所記錄的關于該程序的版本號進行比對,如果本地版本比遠程版本舊,那么本地客戶端就會通過HTTP或者SCOKS等協議自動從互聯網上下載更新程序所需要的文件目錄,從而完成更新。為提高自動更新效率,避免出現錯誤,該設計思路規定如果本地程序更新需要的文件過多,那么本地客戶端會直接下載最新版本的程序從而自動進行安裝。另外,在自動更新完成后,本地程序的版本號也會自動更新,并且與遠程服務器中的版本保持一致。
2.2 程序自動升級工作流程
第一,客戶端自動判斷是否需要升級。通常情況下客戶使用的升級程序會默認開機自啟動,因此在客戶打開計算機后,升級程序就會自動開啟。此時,升級程序會通過互聯網與程序中已經規定的某一固定網站連接,比對當前程序版本是否為最新,如不是則會在計算機界面上彈出提示窗口,提醒用戶進行程序升級。當然,自動升級系統不會提醒用戶升級,而是自動后臺運行升級,只有在升級完成后對用戶進行提醒。
第二,確定需要下載的文件。自動升級系統通過比對新舊兩版程序模塊數量、文件數量、文件修改時間等確定升級需要哪些文件,同時判斷這些文件是否已經存在。例如:用戶有時已經下載了升級所需的全部文件,但是卻沒有升級安裝,此時系統通過檢測發現所需文件已經存在,不會再重新下載,而是直接自動升級。
第三,下載文件并進行校對。自動升級系統按照所需文件目錄從遠程服務器中下載文件,并將文件存儲在固定的文件夾內。然后,自動升級程序會對已經下載的進行測試檢驗以確保這些文件是程序升級所需的。
第四,文件替換備份,完成自動升級。自動升級程序先將舊版程序壓縮存儲在備份目錄,然后用已經下載的文件替換舊版程序內的相應文件或者將文件放到指定位置,最后系統會更新客戶端的相關信息使新版程序號與遠程中的程序號保持一致,從而完成升級工作。
2.3 設計開發程序自動升級系統的技術難點
第一,確保自動升級系統的開機自啟動。升級程序的開機自啟動是實現程序自動升級的關鍵,通常情況,需要在程序運行注冊表中編寫相應代碼。
第二,具備網絡協議客戶端接口。網絡協議是自動升級系統查詢并獲得升級文件的途徑,因此技術人員采用了HTTP、FTP等常見的引用層協議。
第三,信息安全存儲技術。版本信息的安全存儲是程序自動升級的前提,因此為確保本地版本信息的安全,技術人員通常將本地版本信息寫入客戶端注冊表中。
第四,新舊版本的自動比對技術。每一個程序都包含著大量的文件,因此為提高升級效率,在升級之前先比對舊版本升級所需的程序十分重要。通常情況下,自動升級系統會通過比對文件的日期來確定所需的文件。
另外,自動升級系統還需要具備多線程處理以及斷點續傳等功能,因此在設計開發系統時還需要用到多線程以及斷點續傳技術。
3.1 系統結構設計
電信設備軟件的自動升級系統主要有三個結構層組成:控制層,該結構層的主要工作是控制整個自動升級工作的順利進行;業務層,在客戶端進行新舊程序對比、文件替換備份等具體工作,屬于執行結構;通信層,負責自動系統中的內部通信,實現控制層對業務層的具體控制,同時通信層還負責連接本地客戶端與遠程服務器,實現遠程服務器中文件的下載與傳輸。因此,電信設備軟件自動升級系統的具體工作流程如下:

圖1 電信設備軟件自動升級系統工作流程
根據上圖分析看出,電信設備軟件自動升級系統的工作流程與前文所述的程序自動升級流程類似,因此本文在此不多贅述。
3.2 電信設備軟件自動升級系統技術分析
電信設備軟件自動升級系統要想實現工作必須依靠通信、加密、數據庫等技術的支持,因此文章重點對自動升級系統采用的技術進行探討研究。
(1)通信技術
自動升級系統所應用的通信技術主要是指系統從遠程服務器與客戶端之間進行文件傳輸所采用的網絡協議,具體包括以下幾種:
第一,TCP/IP技術。這是一種應用最廣泛的通信協議,是計算機從互聯網中獲取信息以及上傳信息都需要的通信協議。該通信協議具體分為傳輸控制協議與網際協議,是一種由許多協議所組成的協議組。
第二,FIP協議技術。該協議是實現兩臺不同主機之間數據傳輸的方法,可以將本地主機與遠程主機連接起來。然而,在使用該協議是必須要進行身份信息認證的。
第三,HTTP協議。是一種將TCP協議作為地層的數據傳輸協議,HTTP協議可以確保服務器與客戶端信息傳遞的準確無誤,從而避免數據信息丟失,可靠性較強。
(2)軟件自動升級系統的加密保護技術
軟件升級過程是軟件安全防護減弱的階段,因此自動升級系統必要具備一定的保護能力,所以在設計開發自動升級系統時需要使用加密保護技術。當前常見的加密保護算法有:
第一,MD5算法。該算法可以說是目前應用比較廣泛的一種算法,并且該算法的安全性相對于MD4的安全性有了很大提高,這是因為:該算法增加了第四輪且每一步都有一個唯一的加法常數;雪崩效應加快;每一輪的左移位移量各不相同。
第二,RSA算法。該算法也是一種比較流行的算法,雖然該算法容易理解和掌握,但是該算法的安全性過于依賴大數因子分解,并且其密鑰的產生過程復雜,運算速度過慢。
第三,DES算法。該算法是一種比較有效的加密保護技術,它可以為系統提供高質量的數據保護服務,并且安全性較高。同時,該算法的經濟性較強,應用范圍比較廣。
(3)軟件版本檢測控制技術
對新舊軟件版本進行檢測是確定進行自動升級的關鍵所在,可以確保客戶端與遠程服務器版本的一致。這種檢測更新包括兩種:遠程服務器中的軟件檢測更新和客戶端的軟件更新。
第一,遠程服務器中的軟件檢測更新。其目的是確保遠程服務器中的軟件程序文件是最新的文件,從而為客戶端的程序更新提供準確依據。
第二,客戶端的軟件檢測更新技術。該技術的主要工作是比較客戶端中軟件版本信息與遠程服務器中的軟件版本信息,從而判斷是否需要進行更新升級。
4.1 自動升級系統斷點續傳技術的實現
斷點續傳技術主要應對的是文件傳輸過程錯誤或者網絡故障而造成的數據斷點問題。采用該技術可以確保第二次傳輸從上次傳輸斷點位置開始,從而避免數據文件的丟失。要想實現這種技術,自動升級系統需要具備以下功能:
首先,具有斷點記錄功能。自動升級系統在客戶端儲存一個update.xml文件。當系統需要對當前的升級狀態進行標記時,該配置文件中的endpos會記錄本地客戶端已經收到的文件大小,filelen則被用來記錄正在傳輸的整個文件的總字節長度,從而為下次傳輸確定起始位置提供依據。而當自動升級程序重新啟動時,系統首先讀取update.xml文件,讀取上次升級的狀態標記,判斷上次傳輸是否完整,若不完整則需要確定上次升級的停止位置,然后從該位置開始重新下載,完成軟件程序升級。
其次,向遠程服務器發送連接申請。斷點續傳的通信協議申請與普通申請不同,其申請命令中增加了一條Range字段。該字段中記錄了續傳文件的具體范圍,從而確保文件斷點連接的準確性,完成文件傳輸。
4.2 電信設備軟件自動升級各功能模塊的實現
本文在所設計的自動升級系統中添加了自動升級服務器,該服務器需要實現的功能有控制、發送、版本管理以及消息收發等功能。對此,文章結合自動服務器的具體功能對其進行了分析:
第一,控制功能的實現。整個自動升級服務器的核心是控制模塊,該模塊的主要功能是監督管理整個服務器的正常工作,包括控制相應消息的發送、服務器異常情況的上報與處理、管理狀態機等。其中管理狀態機是實現整個自動升級活動的關鍵環節。
第二,發送功能的實現。服務器的發送功能需要發送模塊的參與,其主要的工作職責是將相應的軟件數據包發送到本地客戶端,并且向控制模塊上報軟件數據包發送過程中的工作狀態。
另外,對整個系統而言,其控制層與業務層在整個系統正常工作的過程中同樣發揮著重要作用,其二者與自動升級服務器一起構成了一個完整的自動升級服務系統。
電信設備軟件的自動升級是電信企業日常管理工作的重要內容之一,由于傳統的系統升級方法需要耗費大量的人力以及物力,因此本文主要針對設備軟件的自動升級系統進行研究分析。文章首先對常見程序自動升級理論進行了分析,然后闡述了電信設備軟件自動升級系統的具體設計,最后探討了該自動升級系統的具體實現方式。
[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
時青,男,江蘇睢寧人,本科,助理工程師,研究方向:網絡通訊、運營商網絡控制和管理。