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