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