軟件升級原理 軟件自動升級流程
盡(jin)管我們(men)所見的(de)軟件(jian)(jian)升(sheng)(sheng)(sheng)(sheng)(sheng)級(ji)(ji)(ji)方(fang)(fang)式各異,但(dan)是它們(men)的(de)原理都是一(yi)樣,即用(yong)新(xin)的(de)功(gong)(gong)(gong)能模(mo)塊(kuai)替換(huan)原軟件(jian)(jian)中(zhong)舊(jiu)的(de)功(gong)(gong)(gong)能模(mo)塊(kuai),因(yin)此為(wei)(wei)了便于軟件(jian)(jian)升(sheng)(sheng)(sheng)(sheng)(sheng)級(ji)(ji)(ji),要求軟件(jian)(jian)在開發設(she)計(ji)的(de)時候(hou)應該很(hen)好地(di)劃分功(gong)(gong)(gong)能模(mo)塊(kuai),做到強內聚和弱耦合。軟件(jian)(jian)自動升(sheng)(sheng)(sheng)(sheng)(sheng)級(ji)(ji)(ji)方(fang)(fang)式基(ji)于Internet,軟件(jian)(jian)商以(yi)功(gong)(gong)(gong)能模(mo)塊(kuai)為(wei)(wei)單位對軟件(jian)(jian)進(jin)行更新(xin),然后通過電子(zi)郵件(jian)(jian)通知用(yong)戶(hu)軟件(jian)(jian)更新(xin)的(de)消息以(yi)及增加的(de)功(gong)(gong)(gong)能和升(sheng)(sheng)(sheng)(sheng)(sheng)級(ji)(ji)(ji)的(de)條件(jian)(jian)。用(yong)戶(hu)根據自己的(de)情況決定是否升(sheng)(sheng)(sheng)(sheng)(sheng)級(ji)(ji)(ji),升(sheng)(sheng)(sheng)(sheng)(sheng)級(ji)(ji)(ji)時先(xian)通過因(yin)特網(wang)將(jiang)升(sheng)(sheng)(sheng)(sheng)(sheng)級(ji)(ji)(ji)文(wen)件(jian)(jian)下載(zai)到本地(di)硬盤上,然后覆(fu)蓋指(zhi)定目錄下的(de)老(lao)版(ban)本文(wen)件(jian)(jian),在升(sheng)(sheng)(sheng)(sheng)(sheng)級(ji)(ji)(ji)的(de)過程中(zhong)用(yong)戶(hu)只需(xu)按照向導的(de)提示一(yi)步(bu)一(yi)步(bu)進(jin)行就可以(yi)了,確保了用(yong)戶(hu)及時和正確地(di)升(sheng)(sheng)(sheng)(sheng)(sheng)級(ji)(ji)(ji)軟件(jian)(jian)。
自動升級原理的具體流程:
主要(yao)分為兩個部分,一個是(shi)主程序(xu);一個是(shi)升級程序(xu);所有升級任務都由升級程序(xu)完成。
1. 啟動升(sheng)級(ji)程(cheng)序,升(sheng)級(ji)程(cheng)序連接到網站,下(xia)載(zai)升(sheng)級(ji)內容到臨時文件夾;
2. 升級程(cheng)序(xu)獲取服務器端配置(zhi)信(xin)息(xi)中新版本程(cheng)序(xu)的更新日期(qi)或版本號或文件大小(xiao);
3. 升(sheng)級(ji)(ji)程(cheng)序(xu)(xu)(xu)獲取原有客(ke)戶端應(ying)用程(cheng)序(xu)(xu)(xu)的(de)最近一(yi)次更(geng)(geng)(geng)新(xin)日(ri)期(qi)(qi)或版(ban)(ban)本號或文(wen)件大(da)(da)小(xiao),二者(zhe)進行(xing)比較;如果發現(xian)升(sheng)級(ji)(ji)程(cheng)序(xu)(xu)(xu)的(de)日(ri)期(qi)(qi)大(da)(da)于原有程(cheng)序(xu)(xu)(xu)的(de)最新(xin)日(ri)期(qi)(qi),則更(geng)(geng)(geng)新(xin);或者(zhe)是采用將(jiang)現(xian)有版(ban)(ban)本與最新(xin)版(ban)(ban)本作比較,發現(xian)最新(xin)的(de)則更(geng)(geng)(geng)新(xin);再或者(zhe)用其它屬性(xing)如文(wen)件大(da)(da)小(xiao)進行(xing)比較,發現(xian)升(sheng)級(ji)(ji)程(cheng)序(xu)(xu)(xu)的(de)文(wen)件大(da)(da)小(xiao)大(da)(da)于舊版(ban)(ban)本的(de)程(cheng)序(xu)(xu)(xu)的(de)大(da)(da)小(xiao)則升(sheng)級(ji)(ji);
4. 升(sheng)級時,獲取下載(zai)文(wen)件列表,開始進行批量下載(zai)文(wen)檔;
5. 升級程序檢(jian)測舊的主程序是否(fou)活(huo)動(dong),若(ruo)活(huo)動(dong)則關(guan)閉舊的主程序;
6. 備份舊的主程序到備份文(wen)件(jian)夾中,刪除舊的程序,拷貝臨時文(wen)件(jian)夾中的文(wen)件(jian)到相應的位置;
7. 檢查主(zhu)程序的狀態,若狀態為活動(dong)的,則啟(qi)動(dong)新(xin)的主(zhu)程序;
8. 關閉升級程序,升級完成。