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