李剛 周遵四
摘要:軟件在線自動更新系統是在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.