本發(fā)明涉及軟件升級方法,尤其涉及一種基于遠(yuǎn)程校驗算法的C/S架構(gòu)軟件自動更新升級方法。
背景技術(shù):
目前,常用的C/S架構(gòu)的軟件升級方法存在一些不足,例如,業(yè)務(wù)邏輯客戶端不能共享,組件之間缺乏關(guān)聯(lián),開放程度也差。另外,由于客戶端很龐大,以至于應(yīng)用程序的升級和維護(hù)十分困難。在目前的C/S模式下,應(yīng)用程序的每次升級時都需要重新在每個客戶端安裝應(yīng)用程序,每個程序的升級策略、升級時間、升級配置均不一致,因此,在對于整個系統(tǒng)存在大量軟件的情況下,升級過程非常繁瑣,用戶體驗差。同時目前軟件更新往往是采用重新下載安裝包,先卸載原有軟件后重新安裝的方式,網(wǎng)絡(luò)傳輸量大,更新速度慢。
技術(shù)實現(xiàn)要素:
發(fā)明目的:本發(fā)明針對現(xiàn)有技術(shù)存在的問題,提供一種基于遠(yuǎn)程校驗算法的C/S架構(gòu)軟件自動更新升級方法,能夠使得用戶端所有需要升級的客戶端軟件能夠統(tǒng)一自動升級到最新版本,并能夠?qū)ι壊呗?、升級時間等進(jìn)行統(tǒng)一的設(shè)置,并且采用增量式下載技術(shù),減少升級軟件文件傳輸,提高升級速度,提升用戶軟件升級過程體驗度。
技術(shù)方案:本發(fā)明所述的基于遠(yuǎn)程校驗算法的C/S架構(gòu)軟件自動更新升級方法包括:
各用戶的客戶端對待更新的軟件版本、校驗值信息和對應(yīng)的更新策略信息進(jìn)行采集,并上報給服務(wù)端;
服務(wù)端對各用戶的客戶端上報的軟件版本、校驗值信息和對應(yīng)的更新策略信息進(jìn)行匯總,形成軟件自動更新策略管理文件;
當(dāng)應(yīng)用軟件新版本提交至服務(wù)端的版本庫后,服務(wù)端根據(jù)各用戶的自動更新策略管理文件下發(fā)更新通告;
客戶端采用編解碼技術(shù)以及數(shù)字簽名技術(shù)將應(yīng)用軟件當(dāng)前版本形成校驗值,發(fā)送至服務(wù)端;
服務(wù)端將應(yīng)用軟件新版本的校驗值與客戶端當(dāng)前軟件版本的校驗值進(jìn)行比對;
服務(wù)端通過比對,將與客戶端不一致的軟件文件版本下發(fā)至客戶端;
客戶端將接收的文件版本的安裝運行文件替換掉當(dāng)前版本的文件,完成升級;
在軟件升級的過程中,服務(wù)端通過軟件更新監(jiān)視管理后臺軟件對于軟件狀態(tài)進(jìn)行可視化顯示。
其中,客戶端通過Web服務(wù)以統(tǒng)一的格式向服務(wù)器進(jìn)行直接獲取各種文件和信息。
其中,所述編解碼數(shù)字簽名技術(shù)是綜合將文件內(nèi)容、文件名稱、文件大小以及文件修改時間作為待校驗內(nèi)容運用MD5算法進(jìn)行數(shù)字摘要校驗,形成校驗值。
有益效果:本發(fā)明與現(xiàn)有技術(shù)相比,其顯著優(yōu)點是:1、采用本發(fā)明進(jìn)行軟件更新,能夠?qū)⒋碌目蛻舳塑浖y(tǒng)一到最新軟件版本上,從而避免軟件版本的“碎片化”產(chǎn)生;2、減少升級文件數(shù)量,提高升級速度,提升用戶體驗度;3、通過用戶對于需要保留的已有個人數(shù)據(jù),可以避免在軟件升級的過程中軟件設(shè)置以及已有的數(shù)據(jù)丟失;4、通過綜合利用Web服務(wù)技術(shù)以及數(shù)據(jù)分發(fā)服務(wù)技術(shù),使得軟件版本庫中有新版本軟件發(fā)布時,應(yīng)用客戶端能夠自動感知,無需用戶主動去查詢具體軟件的版本情況;5、通過軟件更新的可視化方式,對于軟件更新過程進(jìn)行全程的跟蹤,并對軟件更新過程中出現(xiàn)的錯粗進(jìn)行跟蹤,提高軟件更新效率,增強(qiáng)用戶體驗度。
附圖說明
圖1是本發(fā)明的一個實施例的流程示意圖。
具體實施方式
如圖1所示,本實施例的基于遠(yuǎn)程校驗算法的C/S架構(gòu)軟件自動更新升級方法包括以下步驟:
S1、各用戶的客戶端對待更新的軟件版本、校驗值信息和對應(yīng)的更新策略信息進(jìn)行采集,并上報給服務(wù)端。
其中,待更新的軟件版本信息包括用戶待更新的軟件名稱、軟件安裝目錄等軟件信息,更新策略信息包括自動/手動更新方式和更新時間等信息??蛻舳送ㄟ^Web服務(wù)以統(tǒng)一的格式與服務(wù)端數(shù)據(jù)通信。Web服務(wù)技術(shù)是指客戶端將文件校驗值、軟件目錄結(jié)構(gòu)樹以及文件內(nèi)容等信息通過Web服務(wù)以統(tǒng)一的格式向服務(wù)器進(jìn)行直接獲取,避免不同數(shù)據(jù)的格式不同、訪問方式不同導(dǎo)致軟件更新過程失敗。
S2、服務(wù)端對各用戶的客戶端上報的軟件版本、校驗值信息和對應(yīng)的更新策略信息進(jìn)行匯總,形成軟件自動更新策略管理文件。
S3、當(dāng)應(yīng)用軟件新版本提交至服務(wù)端的版本庫后,服務(wù)端根據(jù)各用戶的自動更新策略管理文件下發(fā)更新通告。
其中,應(yīng)用軟件新版本提交至服務(wù)端后,需要軟件版本管理人員進(jìn)行審核,在審核完成后提交至軟件版本庫,從而完成軟件版本的安全審計。在完成最新版本軟件審核入庫后,軟件版本管理員可以選擇該軟件對全部用戶進(jìn)行更新通告,也可以選擇部分用戶進(jìn)行更新通告。
另外,本步驟采用了數(shù)據(jù)分發(fā)服務(wù)技術(shù),在軟件版本或者軟件升級配置有所變化時,將變化通告給用戶客戶端,從而使得客戶端能夠及時獲取服務(wù)器端軟件版本更新信息,避免客戶端定時向服務(wù)器端詢問軟件版本信息,減少網(wǎng)絡(luò)開銷。
S4、客戶端采用編解碼技術(shù)以及數(shù)字簽名技術(shù)將應(yīng)用軟件當(dāng)前版本形成校驗值,發(fā)送至服務(wù)端。
其中,編解碼技術(shù)以及數(shù)字簽名技術(shù)是綜合將文件內(nèi)容、文件名稱、文件大小以及文件修改時間作為待校驗內(nèi)容運用MD5算法進(jìn)行數(shù)字摘要校驗,形成校驗值。
S5、服務(wù)端將應(yīng)用軟件新版本的校驗值與客戶端當(dāng)前軟件版本的校驗值進(jìn)行比對。
其中,將校驗值作為文件的身份ID在客戶端以及服務(wù)器版本庫中進(jìn)行比較,從而避免對文件進(jìn)行全部的二進(jìn)制比較,由此支持用戶自定義保留無需替換的軟件運行時數(shù)據(jù)文件,從而提高軟件升級速度,提升用戶體驗度,減少網(wǎng)絡(luò)傳輸開銷、降低系統(tǒng)資源消耗,提高比較速度。
S6、服務(wù)端通過比對,將與客戶端不一致的軟件文件版本下發(fā)至客戶端。
如果用戶是手動更新方式,則用戶選擇更新后,開始下發(fā)軟件新版本,如果自動更新則直接下發(fā)新版本。本步驟采用了增量式更新技術(shù),只對于版本庫中與客戶端不一致的軟件文件(二進(jìn)制執(zhí)行程序文件、配置文件、數(shù)據(jù)文件)進(jìn)行下載替換,而不是進(jìn)行全部軟件文件的下載,從而在待更新軟件數(shù)量較大的情況下,能夠快速進(jìn)行軟件的更新升級過程并減少網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)量、降低網(wǎng)絡(luò)資源的開銷。
S7、客戶端將接收的文件版本的安裝運行文件替換掉當(dāng)前版本的文件,完成升級。
S8、在軟件升級的過程中,服務(wù)端通過軟件更新監(jiān)視管理后臺軟件對于軟件狀態(tài)進(jìn)行可視化顯示。
其中,本步驟采用了軟件更新反饋可視化技術(shù),服務(wù)端通過軟件更新監(jiān)視管理后臺軟件對于軟件狀態(tài)進(jìn)行可視化顯示,如表1所示,包括已發(fā)送更新通知、用戶選擇更新/用戶拒絕更新/自動更新、完成更新、更新失敗等狀態(tài),從而能夠完整快速的掌握軟件更新狀態(tài),并對軟件更新過程中出現(xiàn)的錯誤進(jìn)行跟蹤,提高軟件更新效率,增強(qiáng)用戶體驗度。
表1基于遠(yuǎn)程校驗算法的C/S架構(gòu)軟件自動更新升級方法軟件更新狀態(tài)結(jié)構(gòu)表