專利名稱:一種客戶端程序自動更新升級的方法
技術領域:
本發(fā)明涉及計算機技術領域中客戶端程序自動更新升級(Update) 的方法,尤其涉及終端電子產(chǎn)品軟件的自動更新升級方法。
背景技術:
現(xiàn)在電子產(chǎn)品的運用越來越廣泛,功能變化也越來越快,用戶購買 電子產(chǎn)品后,常常會遇到該電子產(chǎn)品在功能上有變化,軟件版本有更新, 傳統(tǒng)上如果用戶想更新版本需要到廠家或廠家指定的經(jīng)銷商那里去升 級,這樣對產(chǎn)品的銷售和發(fā)展帶來很大的不便,使產(chǎn)品銷售受到制約。此外,如果客戶在使用中客戶端的軟件受損,導致用戶不能正常使 用客戶端,必須到廠家或廠家指定的經(jīng)銷商那里去恢復,這樣導致用戶 在使用上的不便。眾所周知,傳統(tǒng)的客戶端程序更新升級方法有以下兩種 一是用戶 手工連接到ftp服務器,利用ftp將所需軟件下載到本地完成更新,但這種做法有以下幾個缺點(1)對客戶端用戶要求較高,客戶端用戶必 須是會使用一些常規(guī)ftp命令的比較專業(yè)的人士; (2)操作比較復雜, 容易出錯;(3)下載前要通知客戶端用戶下載哪幾個模塊,費時費力, 并且容易下載錯文件或遺漏文件。由于客戶端用戶大部分屬非計算機專 業(yè)人士,該方法在很多實際情況中都缺乏可行性。另一種比較流行的軟 件更新方法是在服務器端(server端)建立web站點,將需要更新的軟件
放在服務器上并在web頁上設置導向該軟件的鏈接,用戶只需在該web 站點點擊該鏈接即可下載。與上一個方法相比,下載的操作簡單了,也 不需要太專業(yè)的技術,但該方法也存在著以下幾個缺點(1)要建立一 個web站點,增加了時間和經(jīng)費的開銷;(2)軟件下載前需要通知用戶 到哪個站點下載哪個軟件,比較麻煩;(3)對于某些不熟悉web操作的 用戶來說,這種方法也比較難操作。發(fā)明內(nèi)容有鑒于此,為改進上述存在的客戶端程序版本更新升級時所遇到的 問題和困難,本發(fā)明提出了一種可令客戶端程序進行自動修復并且能自 動更新升級版本的方法。以便能讓客戶及時享受到最新版本的功能,實 現(xiàn)了產(chǎn)品的網(wǎng)絡化,免除了客戶手動升級客戶端程序的麻煩。本發(fā)明的一個目的,通過將加密后的更新升級Update程序和軟件 版本ID存儲在客戶端的隱藏存儲區(qū)中,將上述兩個文件作為客戶端的 更新升級程序的備份文件,當自由存儲區(qū)中的客戶端程序或更新升級程 序受損或被格式化后,存儲在虛擬存儲區(qū)中的客戶端啟動程序會自動把 自由存儲區(qū)的更新升級程序恢復,并同時將客戶端程序更新升級到現(xiàn)有 的最新版本,更新升級程序進行下列步驟(1) 通過網(wǎng)絡自動檢測并登錄更新升級服務器;(2) 進行自動更新升級客戶端程序;(3) 修復客戶端程序;從而實現(xiàn)客戶端程序自動修復和自動升級程序的功能。
本發(fā)明的另一目的,當該客戶端的啟動程序被啟動時,其程序?qū)⒁?下列的步驟進行處理首先,客戶端的啟動程序通過系統(tǒng)的自動啟動AutoRun功能被自動啟動,接著啟動程序自動啟動更新升級程序,然后判斷更新升級程序是否啟動成功,若是,進行下列的步驟讀取客戶端本身攜帶的程序ID,登錄更新升級服務器;更新升級程序?qū)y帶的程序ID與服務器上的程序ID進行匹配,檢測是否有新的升級程序存在,如果有,就直接將升級程序下載到本地,然后更新升級客戶端程序;如果沒有,更新升級程序?qū)⒈镜氐目蛻舳顺绦蚺c服務器上保存的客 戶端程序進行匹配,判斷客戶端程序是否與服務器上的程序完全一致, 若不是,更新升級程序?qū)⒆詣酉螺d服務器上的程序,更新本地的客戶端 程序,最后更新升級程序退出,啟動客戶端程序登錄業(yè)務服務器。當有新的客戶端程序發(fā)布時,客戶端中的更新升級程序會自動檢測 新版本的客戶端程序,并同時把現(xiàn)有版本升級到最新版本。在本發(fā)明中,裝有更新升級程序的客戶端檢測到客戶端程序感染上 病毒,更新升級程序會自動將客戶端程序與更新升級程序服務器上的程 序進行比對,找出具體感染病毒的文件,然后更新升級程序會自動從更 新升級程序服務器上下載這幾個文件,完成客戶端程序的自動修復。在本發(fā)明中,還可以實現(xiàn)在裝有更新升級程序的客戶端檢測到客戶 端程序被刪除或存儲有客戶端程序的存儲設備被格式化時,更新升級程 序會自動將更新升級程序服務器上的客戶端程序下載到客戶端中客戶
端程序的存儲路徑,全部恢復客戶端程序,實現(xiàn)客戶端程序的正常運行。 在本發(fā)明中,還可以實現(xiàn)在裝有更新升級程序的客戶端檢測到更新 升級程序服務器有新版本發(fā)布時,更新升級程序會自動將更新升級程序 服務器上的客戶端程序下載到客戶端中客戶端程序的存儲路徑中,將以 前的程序全部覆蓋掉,并且還能夠控制從更新升級服務器上下載的程序 容量大小,實現(xiàn)軟件自動升級的功能。在本發(fā)明中,還可以實現(xiàn)在服務提供商要在客戶端上增加新的增值 服務時,他們只需要將新的客戶端程序發(fā)布在更新升級程序服務器上, 客戶端通過下載并升級本地客戶端程序,從而實現(xiàn)增加新的增值業(yè)務的 功能。在本發(fā)明中,服務提供商要實現(xiàn)客戶端的升級功能,直接加上更新 升級程序即可實現(xiàn),而且服務提供商不需要單獨安裝更新升級程序服務 器程序,只需要找一個能在因特網(wǎng)上提供下載的服務器即可,服務器的操作系統(tǒng)可以是linux、 Unix、 Windows等通用的操作系統(tǒng),對更新升 級程序沒有任何影響。如果軟件的升級版本過多,會占用更新升級程序 服務器的很多空間,使用更新升級程序的打包的軟件,在存儲過程中, 將所有軟件版本中所有共同的部分在更新升級程序服務器上只存儲一 次,然后將所有軟件版本中不同的部分對應軟件版本信息保存在更新升 級程序服務器上,以這種方式在更新升級程序服務器上存儲客戶端程 序,可以在很大成度上節(jié)省服務器的存儲空間,有效地為企業(yè)節(jié)省資源 和費用。在本發(fā)明中,在更新升級程序服務器上存儲的軟件版本全部是經(jīng)過 特殊方式加密的,在更新升級程序下載軟件版本到本地后,更新升級程 序會自動將軟件解密,然后再替換掉以前的客戶端程序,這樣能最大限 度的防止客戶端在升級的時候感染病毒。為能對本發(fā)明的目的、邏輯、功能特征做更詳細的認識與了解,茲 舉實例配合附圖,詳細說明如下
圖1是本發(fā)明的客戶端程序分布框圖;圖2是本發(fā)明的客戶端程序自動更新升級方法的流程圖;圖3是本發(fā)明的客戶端程序自動更新升級方法的使用狀態(tài)方塊示意圖。
具體實施方式
參見圖1,本發(fā)明涉及一種可令客戶端程序自動修復并且能自動升級 版本的方法,客戶端的存儲區(qū)可分為三個區(qū)自由存儲區(qū)、虛擬存儲區(qū) 和隱藏存儲區(qū)。a)在客戶端的隱藏存儲區(qū)中存儲一個加密后的更新升 級程序和加密的軟件版本ID,作為客戶端的更新升級程序的備份文件; (2)在客戶端的自由存儲區(qū)中存儲客戶端程序,該客戶端程序的功能是登陸業(yè)務服務器,該程序中也包括更新升級程序,通過與服務器上的軟件版本ID與客戶端的軟件版本ID匹配,然后進行自動修復和自動升 級的功能;(3)在客戶端的虛擬存儲區(qū)中存儲未加密的更新升級程序和 客戶端的啟動程序,以防備在隱藏存儲區(qū)和自由存儲區(qū)中的程序都受到
損壞的情況下,這時用戶可以手動把虛擬存儲區(qū)中的更新升級程序拷貝 到自由存儲區(qū)中,最終達到自動修復和自動升級客戶端程序的功能。 參見圖2所示,當客戶端插入電腦開始運行后,具體進行如下步驟1、 首先利用客戶端的隱藏存儲區(qū)來存儲一個加密的軟件版本ID,作 為客戶端中軟件版本身份的唯一標識,同時在該隱藏存儲區(qū)中存儲加密 的更新升級程序,作為客戶端程序的更新升級程序的備份文件;2、 然后在客戶端的虛擬存儲區(qū)中存儲未加密的更新升級程序和客戶 端的啟動程序,這里的未加密的更新升級程序也起到備用文件的作用;3、 在客戶端的自由存儲區(qū)中存儲客戶端程序,該客戶端程序的功能 是登陸業(yè)務服務器,該程序中也包括更新升級程序;4、 當虛擬存儲區(qū)中的啟動程序啟動時,首先調(diào)用自由存儲區(qū)中的更 新升級程序;5、 如果更新升級程序有損壞或更新升級程序被刪除,啟動程序自動 調(diào)用隱藏存儲區(qū)的備份文件,自動恢復更新升級程序;6、 如果更新升級程序沒有損壞,啟動程序不做任何處理,更新升級 程序正常啟動;7、 更新升級程序攜帶隱藏存儲區(qū)中存儲的軟件版本ID訪問更新升 級程序服務器,檢測是否有對應這個軟件版本ID的升級程序;8、 如果沒有檢測有更新升級程序,更新升級程序會自動轉(zhuǎn)到第12 步繼續(xù)運行程序;9、 如果檢測到有升級程序,更新升級程序自動下載對應這個軟件版 本ID的最新軟件版本;
10、 如果新軟件版本下載成功,客戶端啟動程序繼續(xù)啟動客戶端程 序,登錄業(yè)務服務器,客戶端登錄服務器流程完成;11、 如果新軟件版本下載失敗,更新升級程序會繼續(xù)下載新軟件版本,直到下載成功為止;12、 更新升級程序訪問更新升級程序服務器,將自由存儲區(qū)中的客 戶端程序與更新升級程序服務器上的相同版本做比較,檢測判斷上述兩 個文件是否完全相同;13、 如果比較結(jié)果相同,更新升級程序自動退出;14、 如果比較結(jié)果不相同,更新升級程序自動將更新升級服務器上 的文件下載到本地,更新成本版本的原有客戶端程序;15、 客戶端啟動程序繼續(xù)啟動客戶端程序,登錄業(yè)務服務器,客戶 端登錄服務器流程完成;16、 如果隱藏存儲區(qū)和自由存儲區(qū)中的程序同時受到損壞的情況下, 這時需要用戶自己手動將虛擬存儲區(qū)中的更新升級程序拷貝到自由存 儲區(qū),然后再雙擊虛擬存儲區(qū)的啟動程序,以后程序重復第4步與第15 之間的啟動流程,直到成功登錄業(yè)務服務器為止。如此,用戶即可利用具有該功能的客戶端在任何地點、任何環(huán)境下 使用,如果客戶端程序感染病毒或被格式化,客戶端中存儲的更新升級 程序會自動將客戶端程序恢復到最新版本;當有新的客戶端程序發(fā)布 時,更新升級程序程序會自動檢測軟件版本,達到利用該更新升級程序 自動從更新升級程序服務器上修復客戶端程序和自動下載更新軟件版 本的目的。在本發(fā)明中,更新升級程序服務器可以是任何一臺因特網(wǎng)上 的服務器,不需要特殊的程序,只要能提供程序下載即可,對操作系統(tǒng)也沒有要求,可以是linux、 Unix、 Windows等所有通用的操作系統(tǒng)。雖然已經(jīng)在說明書實施例部分具體詳細地描述了本發(fā)明的實施例,但 是這種描述僅僅是出于示例性的目的,并且可以理解不脫離本發(fā)明的權(quán)利要 求書的衞申或范圍盼瞎況下可以獲得多種改變和M。
權(quán)利要求
1.一種客戶端程序自動更新升級的方法,通過將加密后的更新升級Update程序和軟件版本ID存儲在客戶端的隱藏存儲區(qū)中,將上述兩個文件作為客戶端的更新升級程序的備份文件,當自由存儲區(qū)中的客戶端程序或更新升級程序受損或被格式化后,存儲在虛擬存儲區(qū)中的客戶端啟動程序會自動把自由存儲區(qū)的更新升級程序恢復,并同時將客戶端程序更新升級到現(xiàn)有的最新版本,更新升級程序進行下列步驟(1)通過網(wǎng)絡自動檢測并登錄更新升級服務器;(2)進行自動更新升級客戶端程序;(3)修復客戶端程序;從而實現(xiàn)客戶端程序自動修復和自動升級程序的功能。
2. 如權(quán)利要求l所述的方法,其特征在于,當該客戶端啟動程序 被啟動時,其程序?qū)⒁韵铝械牟襟E進行處理首先,客戶端的啟動程序通過系統(tǒng)的自動啟動AutoRun功能被自 動啟動,接著啟動程序自動啟動更新升級程序,然后判斷更新升級程 序是否啟動成功,若是,進行下列的步驟-讀取客戶端本身攜帶的程序ID,登錄更新升級服務器;更新升級程序?qū)y帶的程序ID與服務器上的程序ID進行匹配, 檢測是否有新的升級程序存在,如果有,就直接將升級程序下載到本 地,然后更新升級客戶端程序;如果沒有,更新升級程序?qū)⒈镜氐目蛻舳顺绦蚺c服務器上保存的客戶端程序進行匹配,判斷客戶端程序是否與服務器上的程序完全一 致,若不是,更新升級程序?qū)⒆詣酉螺d服務器上的程序,更新本地的 客戶端程序,最后更新升級程序退出,啟動客戶端程序登錄業(yè)務服務 器°
3. 如權(quán)利要求2所述的方法,其特征在于,當更新升級程序啟動 失敗時,啟動程序會自動將備份在隱藏存儲區(qū)的更新升級程序解密 后,更新現(xiàn)有的更新升級程序。
4. 如權(quán)利要求2所述的方法,其特征在于,更新升級程序訪問的 服務器可以是任何一個可提供下載的因特網(wǎng)服務器,不需要安裝專門 的更新升級程序服務器程序,服務器所使用的操作系統(tǒng)可以是任何通 用操作系統(tǒng)。
5. 如權(quán)利要求2所述的方法,其特征在于,當更新升級程序從更 新升級服務器上下載修復程序或下載更新升級程序時,更新升級程序 可控制從更新升級服務器上下載的程序容量大小,當更新升級程序?qū)?客戶端進行修復或更新升級時,更新升級程序?qū)蛻舳顺绦蚺c更新升 級服務器上的程序進行比對,比對完成以后,更新升級程序只下載客 戶端本地沒有的程序。
6. 如權(quán)利要求2所述的方法,其特征在于,更新升級程序在從更 新升級服務器上下載的程序都是經(jīng)過加密的,更新升級程序下載到本 地后,更新升級程序會自動將這個程序解密,然后覆蓋掉本地的客戶 端程序。
7. 如權(quán)利要求2所述的方法,其特征在于,利用更新升級程序的 這種下載方式,更新升級程序服務器可以按照以下方式來存儲客戶端 程序?qū)⑺谐绦蛑兴邢嗤牟糠衷诟律壏掌魃现淮鎯σ淮危?將所有程序中不同的部分對應于相應的程序版本信息存儲在更新升 級服務器上。
全文摘要
一種可令客戶端程序自動修復并且能自動升級版本的方法(1)在客戶端的隱藏存儲區(qū)中存儲一個加密后的更新升級程序和加密的軟件版本ID,作為客戶端的更新升級程序的備份文件;(2)在客戶端的自由存儲區(qū)中存儲客戶端程序,該客戶端程序的功能是登陸業(yè)務服務器,該程序中也包括更新升級程序,通過與服務器上的軟件版本ID與客戶端的軟件版本ID匹配,然后進行自動修復和自動升級的功能;(3)在客戶端的虛擬存儲區(qū)中存儲未加密的更新升級程序和客戶端的啟動程序,以防備在隱藏存儲區(qū)和自由存儲區(qū)中的程序都受到損壞的情況下,用戶手動把虛擬存儲區(qū)中的更新升級程序拷貝到自由存儲區(qū)中,從而達到自動修復和自動升級客戶端程序的功能。
文檔編號G06F9/445GK101158906SQ20071014359
公開日2008年4月9日 申請日期2007年8月10日 優(yōu)先權(quán)日2007年8月10日
發(fā)明者林明輝 申請人:林明輝