李剛 周遵四
摘要:軟件在線自動(dòng)更新系統(tǒng)是在VC環(huán)境下開發(fā),使用oracle數(shù)據(jù)庫進(jìn)行軟件信息列表設(shè)計(jì),使用Web Service作為訪問數(shù)據(jù)庫接口,使用FTP服務(wù)器存儲(chǔ)安裝文件。
關(guān)鍵詞:自動(dòng)更新;Web Service;實(shí)現(xiàn)
中圖分類號(hào):TP39 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9416(2018)04-0090-02
軟件維護(hù)主要是指根據(jù)需求變化或硬件環(huán)境的變化對(duì)應(yīng)用程序進(jìn)行部分或全部的修改,作為一個(gè)軟件設(shè)計(jì)人員,深知軟件維護(hù)的重要性。軟件維護(hù)活動(dòng)類型總起來大概有四種:糾錯(cuò)性維護(hù)(校正性維護(hù))、適應(yīng)性維護(hù)、完善性維護(hù)或增強(qiáng)、預(yù)防性維護(hù)或再工程。除此四類維護(hù)活動(dòng)外,還有一些其它類型的維護(hù)活動(dòng),如:支援性維護(hù)(如用戶的培訓(xùn)等)。軟件在線自動(dòng)更新系統(tǒng)就是在設(shè)計(jì)人員不去現(xiàn)場(chǎng)的前提下,遠(yuǎn)程實(shí)現(xiàn)軟件維護(hù)工作。不僅節(jié)約人力物力財(cái)力的,還大大縮短了軟件維護(hù)周期。
1 系統(tǒng)概述
軟件在線自動(dòng)更新系統(tǒng)使用者包含管理員和訪問者兩種角色。管理員使用軟件在線自動(dòng)更新系統(tǒng)進(jìn)行軟件組成文件的上傳和維護(hù),訪問者使用軟件在線自動(dòng)更新系統(tǒng)進(jìn)行初始安裝、更新和修復(fù)操作。軟件在線自動(dòng)更新系統(tǒng)主要由FTP服務(wù)器、數(shù)據(jù)庫、數(shù)據(jù)庫接口和人機(jī)界面四個(gè)部分組成。具體介紹如下:
FTP服務(wù)器主要用于提供軟件段包存儲(chǔ)控件,便于軟件操作系統(tǒng)上傳和下載軟件段包文件操作。
數(shù)據(jù)庫主要用于存放軟件段包信息,便于軟件操作系統(tǒng)相關(guān)操作。
數(shù)據(jù)庫接口即Web Service,它是軟件操作系統(tǒng)和數(shù)據(jù)庫之間的橋梁。軟件操作系統(tǒng)通過數(shù)據(jù)庫接口進(jìn)行增加、刪除、修改和查詢操作。
人機(jī)界面是訪問者和管理員的操作界面,訪問者可以通過其進(jìn)行軟件的安裝、修復(fù)和更新操作,管理員使用其進(jìn)行上傳操作。
2 系統(tǒng)設(shè)計(jì)
2.1 FTP服務(wù)器
在FTP服務(wù)器上分配一個(gè)存儲(chǔ)空間,用于管理員上傳軟件組成文件和用戶下載安裝文件。
2.2 數(shù)據(jù)庫設(shè)計(jì)
數(shù)據(jù)庫共包含四個(gè)表,分別為用戶權(quán)限表、軟件信息表、軟件文件組成表和已安裝軟件信息表。
(1)用戶權(quán)限表(TAB-USER):存儲(chǔ)可以登錄軟件在線自動(dòng)更新系統(tǒng)的人員信息。表內(nèi)容如下:1) USERNAME:用戶名稱;2)USERPASSWORD:登錄密碼;3)USERLEVER:用戶權(quán)限(0,管理員;1,訪問者);(2)軟件安裝表(TAB- SetUPList):存儲(chǔ)客戶端需要安裝的所有軟件信息。表內(nèi)容如下:1) CLIENTNAME: 計(jì)算機(jī)唯一識(shí)別號(hào), 采用IP地址方式區(qū)分;2)PRONAME:工程名稱,上傳工程時(shí)定義;3)PROVERSION:最新版本,軟件工程版本,上傳工程時(shí)定義;4)PROLASTWRITETIME:最新修改日期,軟件工程版本修改日期,上傳工程時(shí)設(shè)置;(3)安裝文件信息表(TAB-SPFILESLIST):存儲(chǔ)所有軟件工程的安裝文件。表內(nèi)容如下:1)PRONAME:工程名稱,上傳工程時(shí)定義;2)PROVERSION:最新版本,軟件工程版本,上傳工程時(shí)定義;3)FILENAMES:軟件工程組成文件名稱(包含擴(kuò)展名);4)FILELASTWRITETIME:軟件工程組成文件最新修改日期;5)PROFTPSETUPLOCAL:軟件工程組成文件在在FTP上位置(絕對(duì)位置);6)FILESTYPE:文件類別,分組成文件(0)和安裝文件(1);7)FILEMD5:文件哈希值,判斷文件是否變更的依據(jù);(4)安裝記錄表(TAB-SETUPMES):存儲(chǔ)客戶端安裝軟件的記錄。表內(nèi)容如下:1)CLIENTNAME:計(jì)算機(jī)唯一識(shí)別號(hào),采用IP地址方式區(qū)分;2)PRONAME:工程名稱,安裝工程時(shí)從軟件安裝表中獲??;3)PROVERSION:軟件版本號(hào),安裝工程時(shí)從軟件安裝表中獲?。?)PROLASTWRITETIME:軟件修改日期,安裝工程時(shí)從軟件安裝表中獲??;5)PROLOCAL:本地安裝位置(絕對(duì)位置)。
2.3 數(shù)據(jù)庫接口設(shè)計(jì)
用戶通過Web Service訪問數(shù)據(jù)庫,接口采用soap協(xié)議(簡單對(duì)象訪問協(xié)議),數(shù)據(jù)格式采用json格式(輕量級(jí)數(shù)據(jù)交換格式)。Web Service操作函數(shù)如下:(1)查詢安裝列表函數(shù)QuerysetupList(&CLIENTNAME;):根據(jù)IP地址查詢需要安裝的軟件信息;(2)查詢安裝記錄表函數(shù)QuerysetupMessage(&CLIENTNAME;):根據(jù)IP地址查詢已經(jīng)安裝的安裝記錄信息;(3)修改安裝記錄表Modify SetupMes(tversion, tLWtime,tIP, texe):更新軟件工程成功后修改安裝記錄表中版本和修改日期列值;(4)查詢安裝文件表Query SetUpFilesList(protectname):根據(jù)軟件工程名獲取安裝文件;(5)刪除安裝文件表deleteFilesList(protectname):根據(jù)軟件工程名刪除所有文件;(6)插入文件列表 InsertFilesList():將管理員上傳的軟件文件信息存入軟件信息表和軟件文件組成表。
2.4 人機(jī)界面設(shè)計(jì)
(1)系統(tǒng)登錄:在登錄對(duì)話框中輸入用戶名和密碼,錯(cuò)誤時(shí)返回;正確時(shí)根據(jù)權(quán)限進(jìn)入相應(yīng)操作界面。管理員操作界面主要是對(duì)FTP服務(wù)器文件的修改和數(shù)據(jù)庫列表的增刪工作。訪問者操作界面主要完成初始安裝、更新和修復(fù)操作。(2)系統(tǒng)狀態(tài)檢測(cè):訪問者登錄軟件在線自動(dòng)更新系統(tǒng),讀取數(shù)據(jù)庫中軟件信息表和已安裝軟件信息表并在列表里一一對(duì)應(yīng)顯示。軟件會(huì)出現(xiàn)以下四種狀態(tài):1)初始安裝:軟件在已安裝軟件信息表中不存在,置狀態(tài)為初始安裝;2)更新:軟件在兩個(gè)表中的信息不完全一致,置狀態(tài)為更新;3)修復(fù):軟件在兩個(gè)表中信息一致,但是安裝文件信息表中文件信息與安裝目錄下的文件信息不完全一致,置狀態(tài)為修復(fù);4)不需更新:軟件在兩個(gè)表中信息一致,并且安裝文件信息表中文件信息與安裝目錄下的文件信息也完全一致,置狀態(tài)為不需更新。(3)初始安裝:對(duì)于狀態(tài)位為初始安裝狀態(tài)的軟件,執(zhí)行初始安裝操作。選擇安裝目錄,將FTP該軟件的所有文件下載到安裝目錄中,并將安裝信息記錄到安裝記錄表。(4)更新:對(duì)于狀態(tài)位為更新狀態(tài)的軟件,執(zhí)行更新操作。將需要更新軟件在安裝文件信息表的所有文件與本地安裝目錄中所有文件一一對(duì)比,將不一致的文件進(jìn)行替換操作。最后將安裝信息更新到安裝記錄表。(5)恢復(fù):對(duì)于狀態(tài)位為恢復(fù)狀態(tài)的軟件,執(zhí)行恢復(fù)操作。將需要修復(fù)軟件在安裝文件信息表的所有文件與本地安裝目錄中所有文件一一對(duì)比,將不一致的文件進(jìn)行替換操作。(6)上傳:當(dāng)設(shè)計(jì)師需要對(duì)軟件進(jìn)行維護(hù)操作時(shí),以管理員身份登錄在線自動(dòng)升級(jí)系統(tǒng),上傳最新的軟件工程組成文件到FTP服務(wù)器上。同時(shí),對(duì)數(shù)據(jù)庫軟件安裝表和安裝文件信息表進(jìn)行更新操作。
3 結(jié)語
軟件在線自動(dòng)更新系統(tǒng)除了可以用于軟件更新和軟件修復(fù)等軟件日常維護(hù)工作外,還可以進(jìn)行軟件部署工作。軟件在線自動(dòng)更新系統(tǒng)即可以獨(dú)立運(yùn)行,又可以作為自動(dòng)更新模塊嵌入到指定系統(tǒng)中。
參考文獻(xiàn)
[1]唐教兵,郭四穩(wěn).基于Web服務(wù)的應(yīng)用程序自動(dòng)更新系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].電腦知識(shí)與技術(shù)(學(xué)術(shù)交流),2007,(11):1294-1297.