專利名稱:軟件版本升級方法及裝置、服務器的制作方法
技術領域:
本發明涉及計算機及計算機網絡技術領域,尤其涉及一種軟件 版本升級方法及裝置、月良務器。
背景技術:
當前,隨著計算機技術迅速發展,各類軟件產品層出不窮,每 類軟件產品也在不停的更新換代。對于大多數基于服務器-客戶端架 構模式的軟件,客戶端的軟件版本主要通過網絡進行升級。通過軟 件版本的網絡升級,不僅可以使客戶端軟件具有更新更強的功能,
還可以解決一些軟件系統的镅-i吳。因此,壽欠件版本的網絡升級成了 服務器-客戶端模式的軟件在使用過程中一個不可缺少的功能。
圖1為相關技術中軟件版本網絡升級的流程圖,如圖1所示,
步驟S101:客戶端軟件在運行過程中查看服務器上是否存在比 其當前運行的軟件版本更新的軟件版本,若有更新的軟件版本,則 下載該新的軟件版本,將該新的軟件版本存儲在本地永久存儲器上;
步驟S102:客戶端停止運行當前軟件版本的軟件,安裝下載的 新的專欠件版本;
步驟S103:客戶端重達斤啟動升級后的l欠4牛。(1 )在某些情況下,客戶端存儲下載的新的版本文件耗時較多, 從而使得客戶端需要等待較長的時間才能重新啟動升級后的軟件。 比如,對于很多通信設備,其本地沒有硬盤,下載的新的軟件版本
一般存儲在可擦寫閃存(FLASH)上。而可4察寫FLASH的寫入速 度比較慢,因此,在下載更新版本過程中,直接將軟件版本寫入可 擦寫FLASH時,若軟件版本比較大,則將消耗較長的時間;
(2 )相關技術的上述軟件升級方法中由客戶端軟件查看服務器 上是否存在新版本,若服務器上發布了新版本不能主動告知客戶端, 乂人而可能造成客戶端的W反本禾呈序更新不及時。
發明內容
針對相關技術中存在的上述問題而提出本發明,為此,本發明 的主要目的在于提供一種改進的軟件版本升級方案,以解決客戶端 存儲下載的新的版本程序耗時較多的問題,或者,客戶端的版本程 序更新不及時的問題。
根據本發明的一個方面,提供了一種軟件版本升級方法。
才艮據本發明的專欠件版本升級方法包括在啟動時,客戶端啟動 Boot程序,向服務器發送請求消息,其中,該請求消息用于i青求最 新的版本程序的參數信息;客戶端接收服務器響應于請求消息返回 的響應消息,其中,該響應消息中攜帶有參^:信息;客戶端才艮據參 數信息確定本地的版本程序不是最新的版本考呈序,從服務器讀取最 新的版本程序,并將最新的版本程序加栽到內存中。
根據本發明的另一個方面,^提供了一種^i件版本升級裝置。根據本發明的軟件版本升級裝置包括發送模塊、接收才莫塊、 第一判斷模塊、下載模塊、加載模塊和存儲模塊。其中,發送模塊,
請求消息,其中,該請求消息用于請求最新的版本程序的參數信息; 接收模塊,用于接收服務器響應于請求消息返回的響應消息,其中, 該響應消息中攜帶有參數信息;第一判斷模塊,用于根據接收模塊 接收到參數信息,判斷客戶端本地的版本程序是否為最新的版本程 序;下載模塊,用于在第一判斷^^莫塊的判斷結果為否的情況下,從 服務器讀取最新的版本程序;加載模塊,用于在客戶端啟動時,將 下載模塊讀取的最新的版本程序加載到客戶端的內存中;存儲模塊, 用于在客戶端運行本地的版本程序時,將下載模塊讀取的最新的版 本程序存儲到客戶端的本地存儲設備上。
根據本發明的再一個方面,提供了另 一種軟件版本升級方法。
根據本發明的軟件版本升級方法包括服務器在發布新的版本 程序時,將版本程序的參數信息發送到其管理的各個客戶端;服務 器接收各個客戶端返回的回執消息,其中,該回執消息中攜帶有指 示該客戶端是否需要下載版本程序的信息;服務器向需要下載版本 程序的客戶端發送版本程序;需要下載版本程序的客戶端將月良務器 發送的版本程序加載到內存中或存儲在本地存儲設備上。
根據本發明的又一個方面,提供了一種服務器。
根據本發明的服務器包括通知模塊、接收模塊和發送模塊。 其中,通知模塊,用于在發布新的版本程序時,向其管理的各個客 戶端發送通知,其中,該通知中攜帶有版本程序的參數信息;接收 模塊,用于接收各個客戶端返回的回執消息,其中,該回執消息中 攜帶有指示該客戶端是否需要下載版本程序的信息;發送模塊,用
于向需要下載版本程序的客戶端發送版本程序。通過本發明的上述至少一個方案,客戶端在啟動時,啟動Boot 程序,并檢測是否需要下載新的版本程序,在需要下載新的版本程 序時,將新版本程序直4妻下載到客戶端的內存中,乂人而減少了客戶 端存儲下載的新的版本程序的時間,并且,在本發明實施例的另一 個方案中,服務器發布新的版本程序時,主動檢測各個客戶端是否 需要下載,并向需要下載的客戶端發送新的版本程序,從而4吏得客 戶端的版本程序能夠及時更新。
本發明的其它特征和優點將在隨后的說明書中闡述,并且,部 分地從說明書中變得顯而易見,或者通過實施本發明而了解。本發 明的目的和其他優點可通過在所寫的說明書、權利要求書、以及附 圖中所特別指出的結構來實現和獲得。
附圖用來提供對本發明的進一步理解,并且構成說明書的一部 分,與本發明的實施例一起用于解釋本發明,并不構成對本發明的 限制。在附圖中
圖1為相關技術中軟件版本網絡升級的流程圖2為根據本發明實施例第一種方案的軟件版本升級方法的流 程圖3為根據本發明實施例第一種方案的軟件版本升級方法的具 體實現流程圖4為才艮據本發明實施例第二種方案的專欠件版本升級方法的流 程圖;圖5為根據本發明實施例第二種方案的軟件版本升級方法的具 體實現流程圖6為根據本發明實施例的軟件版本升級裝置的結構示意圖; 圖7為根據本發明優選實施例的軟件版本升級裝置的結構示意
圖8為根據本發明實施例第三種方案的軟件版本升級方法的流 程圖9為根據本發明實施例第三種方案的軟件版本升級方法的具 體實現流禾呈圖10為根據本發明實施例第三種方案的服務器的結構示意圖。
具體實施例方式
功能相克述
在相關技術中,由于客戶端通過客戶端軟件運行啟動,在4企測 到新版本時,客戶端將新的版本程序下載到其可纟察寫FLASH中, 并停止運^亍舊片反本,在新版本下載完后,安裝新片反本,由于可擦寫 FLASH的寫入速度比較慢,因此,可以消耗較長的時間,從而影響 客戶端的工作。并且,在相關技術中,客戶端軟件的升級是由客戶 端周期性發起的,客戶端不能在第 一 時間獲取服務器發布了新的版 本,從而可能造成客戶端的版本程序更新不及時,并且,在客戶端 數目較多時,大量的客戶端向服務器請求最新版本信息,可能會加 服務器的負擔。針對上述問題,本發明實施例提供改進的版本程序 更新方案。在本發明實施例中,客戶端在啟動時,啟動引導(Boot) 程序,由Boot程序發起版本程序的升級流程,在確定需要下載新的片反本程序時,將下載的片反本程序加載到客戶端的內存,乂人而可以解 決新的版本程序下載速度慢的問題。并且,在本發明實施例中,還 提供了一種由服務器發起客戶端軟件升級流程的方法,在該方法中, 當服務器發布新的版本程序時,服務器通知其下的各個客戶端該版 本程序的參數信息,各個客戶端根據該參數信息確定需要下載時, 向服務器發送指示需要下載的回執消息,服務器向需要下載的客戶 端發送該軟件程序的數據。
在本發明實施例中,客戶端包括兩個程序, 一個用于完成的客
戶端的功能,稱之為版本程序,即客戶端壽欠件;此外,客戶端還有 一個較小的軟件程序,稱之為Boot程序。客戶端在啟動時首先啟動 Boot程序,由Boot程序^r測是否需要/人力艮務器上下載最新的;f反本 程序,并在需要的情況下,從服務器上下載最新的版本程序并加載 到內存中,然后啟動加載在內存中的版本程序。 一般情況下,Boot 程序不需要修改,并且,Boot程序的容量較小、功能簡單穩定,由 該程序來啟動客戶端,可以簡化啟動流程,加快客戶端的啟動速度。
在不沖突的情況下,本申請中的實施例及實施例中的特征可以 相互組合。
以下結合附圖對本發明的優選實施例進行說明,應當理解,此 處所描述的優選實施例僅用于說明和解釋本發明,并不用于限定本 發明。
在本發明實施例中,針對客戶端啟動時和客戶端運行過程中兩 種場景,提供了兩種由客戶端發起版本程序升級流程的方案,另夕卜, 本發明實施例還提供了 一種由服務器發起客戶端的版本程序升級流 禾呈的方案,這三種方案可以相互4妄合4吏用,也可以單獨-使用。以下 分別對這種三種方案進行說明。第一種方案在客戶端啟動時由客戶端^其軟件亂^的更新
斜呈
在該方案中,客戶端通過運4亍Boot禾呈序啟動,在啟動后,Boot 程序向服務器發送請求消息,請求最新的版本程序的參數信息,根 據該參數信息,確定需要下載最新的版本程序時,Boot程序從服務 器讀耳又最新的片反本程序,并將該版本程序加載到內存中,然后退出 Boot程序,運4亍內存中的X反本程序。
根據本發明實施例的該方案,首先提供了 一種軟件版本升級方 法,該方法用于在客戶端啟動時對客戶端專欠件進4亍升級。
圖2為根據本發明實施例第一種方案的軟件版本升級方法的流 程圖,如圖2所示,根據本發明實施例第一種方案的軟件版本升級 方法主要包4舌以下步驟(步驟S201 -步驟S205 ):
步驟S201:在啟動時,客戶端運行Boot程序,向服務器發送 請求消息,其中,該請求消息用于請求最新的版本程序的參數信息;
步驟S203:客戶端接收力良務器響應于上述請求消息返回的響應 消息,其中,該響應消息中攜帶有服務器發布的最新的版本程序的 參數信息;
在具體實施過程中,該參數信息包括^f旦不限于最新的版本程 序的版本號、大小和文件檢驗合信息等。
步驟S205:客戶端根據上述參數信息確定本地的版本程序不是 最新的版本程序,從力艮務器讀取最新的版本程序,并將該版本程序 加載到內存中。具體地,客戶端可以接收到的參數信息中包括的最新的版本程 序的版本號判斷本地的版本程序是否為最新的版本程序,如果不是, 則客戶端從服務器讀取該最新的版本程序的內容,并將該片反本程序
的內容加載到客戶端的內存中,然后退出Boot程序,運4亍內存中的 版本程序。
如果客戶端根據版本號確定本地的版本程序與服務器發布的最 新的版本程序的版本相同,則客戶端可以根據校驗合信息進行判斷 本地的版本程序是否完整,如果不完整,則客戶端從服務器讀取該 最新的版本程序的內容,并將該版本程序的內容加載到客戶端的內 存中,然后退出Boot程序,運行內存中的版本程序;否則,將本地 的版本程序加載到內存中,然后退出Boot程序,運行內存中的版本 程序。
在具體實施過程中,上述步驟S201 -步驟S205中的客戶端是 指客戶端運行的Boot程序。
圖3為上述方法的具體實現流程圖,如圖3所示,才艮據本發明 實施例的第 一 種方案的軟件版本升級可以通過以下步驟實現
步驟S301:客戶端啟動時,在客戶端啟動Boot程序;
步驟S302: Boot程序向服務器請求最新的版本程序信息(包 括版本程序的版本號,大小和文件校驗合信息等);
步驟S303:服務器接收到客戶端的上述請求后,向客戶端發送 最新的版本程序信息;
步驟S304: Boot程序接收到服務器發送的版本程序信息后, 根據版本號判斷本地的版本程序的版本是否是最新的版本,如果是, 則執行步驟S305,否則,執行步驟S307;步驟S305:根據從服務器獲得的最新的版本程序的校驗合信息 判斷本地的版本程序是否被破壞(即是否完整),若校驗通過則執行 步驟S306,否則,沖丸行步驟S307;
步驟S306: Boot程序將本地的版本程序加載到內存中;
步驟S307: Boot程序從服務器讀取最新的版本程序的內容, 并將最新的版本程序的內容直接加載到內存中;
步驟S308:退出Boot程序,然后直接運行內存中的版本程序。
根據本發明實施例的第一種方案,客戶端在啟動時,從服務器 上下載最新的版本程序后,并不是直4妄將下載的版本程序寫入本地 存儲,而是直接加載在內存中執行,由于內存的讀寫速度很快的, 因此,通過本發明實施例的第一種方案可以大幅提高客戶端啟動的 速度。
第二種方案在客戶端運行;M^呈序的過程中由客戶端^其 軟件版本的更新絲
該方案可以作為上述第一種方案的后續過程,也可以作為一個
獨立的方案,在該方案中,Boot程序負責將最新的版本禾呈序加載到 內存中運行,然后,在該版本程序的運行過程中,客戶端向服務器 請求最新版本信息,在需要下載最新的版本程序的情況下,從服務 器上下載最新豸反本程序并寫入本地存儲。
根據本發明實施例第二種方案,提供了 一種軟件版本升級方法, 該方^ 升級,圖4為根據本發明實施例第二種方案的軟件版本升級方法的流 程圖,如圖4所示,根據本發明實施例第二種方案的軟件版本升級 方法主要包括以下步驟(步驟S401 -步驟S405 ):
步驟S401:客戶端在版本程序運行的過程中向服務器發送請求 消息,其中,該請求消息用于請求最新的版本程序的參數信息;
步驟S403:客戶端接收述服務器響應于上述請求消息返回的響 應消息,其中,該響應消息中攜帶有服務器發布的最新的版本程序 的參數信息;
在具體實施過程中,該參數信息包括但不限于最新的版本程 序的版本號、大小和文件4企驗合信息等。
步驟S405:客戶端根據接收到的上述參數信息確定本地的版本 程序的版本不是最新的版本程序,從服務器讀取最新的版本程序, 并將最新的版本程序存儲在本地存儲i殳備上。
具體地,客戶端可以接收到的參數信息中包括的最新的版本程 序的版本號判斷本地的版本程序是否為最新的版本程序,如果不是, 則客戶端從服務器讀取該最新的版本程序的內容,并將該版本程序 的內^4儲到客戶端的本地存儲設備中(比如,可擦寫FLASH、硬盤)。
如果客戶端根據版本號確定本地的版本程序與服務器發布的最 新的版本程序的版本相同,則客戶端可以根據接收到的最新的版本 程序的校驗合信息判斷本地的版本程序是否完整,如果不完整,則 客戶端從服務器讀取該最新的版本程序的內容,并將該版本程序的 內容存儲到客戶端的本地存儲設備中。客戶端在本次運行結束后,在下一次啟動時,Boot程序將上述 下載的版本程序加載到內存中運行。
圖5為上述方法的具體實現流程圖,如圖5所示,才艮據本發明 實施例的第 一 種方案的軟件版本升級可以通過以下步驟實現
步驟S501:客戶端的版本程序由Boot程序負責加載到內存中, 成功運行后,向服務器請求最新版本信息(包括服務器發布的最新 版本程序的版本號、大小和文件校驗合信息等);
步驟S502:服務器接收到客戶端的上述請求后,向客戶端發送 其發布的最新版本信息;
步驟S503:客戶端接收到上述版本信息后,根據其中的版本號 判斷其本地的jf反本程序的;f反本是否為最新版本,若確定本地的W反本 程序的版本為最新版本則執行步驟S505,否則,執行步驟S504;
步驟S504:客戶端根據從服務器獲得的最新版本程序的校驗合 信息判斷本地的版本程序是否完整,若是,則結束流程,否則執行 步驟S505;
步驟S505:客戶端從服務器上下載最新的版本程序,并將該版 本程序直接寫入本地存儲設備上(一般為可擦寫FLASH)。
才艮據本發明實施例的第二種方案,在客戶端運4亍過考呈中,在確 定需要下載最新的版本程序的情況下,將從服務器上下載最新版本 程序并寫入本地存〗諸,;f寺客戶端下次運^亍時加載,而不是在本次運
4亍過程中,停止原版本程序的運^f于,;f寺下栽完最新的版本程序后, 再重啟動,從而可以加快客戶端的啟動速度。才艮據本發明實施例的上述軟件版本升級的方法,還才是供了 一種 軟件版本升級裝置,該裝置位于客戶端,用于實現根據本發明實施 例第一種方案和第二種方案纟是供的上述軟件版本升級方法。
圖6為#4居本發明實施例的軟件版本升級裝置的結構示意圖, 如圖6所示,根據本發明實施例的軟件版本升級裝置主要包括發 送模塊61、接收模塊63、第一判斷模塊65、下載模塊67、加載模 塊60和存〗諸才莫塊62。其中,發送才莫塊61,用于在客戶端啟動時或 客戶端運行本地的版本程序時向服務器發送請求消息,其中,該請 求消息用于請求最新的版本程序的參數信息;接收模塊63,用于接 4欠月l務器響應于上述"i青求消息返回的響應消息,其中,該響應消息 中攜帶有該服務器發布的最新的版本程序的參數信息(包括最新的
版本程序的版本號、文件校驗合信息等信息);第一判斷模塊65與 接收模塊63連接,用于根據接收模塊63接收到上述參數信息,判 斷客戶端本地的版本程序的版本是否為最新的版本程序;下載模塊 67與第一判斷模塊65連接,用于在第一判斷模塊65的判斷結果為 否的情況下,從服務器讀取最新的版本程序;加載才莫塊60與下載模 塊67連接,用于在客戶端啟動時,將下載模塊67讀取的最新的版 本程序加載到客戶端的內存中;存儲模塊62與下載模塊67連接, 用于在客戶端運行本地的版本程序時,將下載才莫塊67讀取的最新的 版本程序存儲到客戶端的本地存儲設備上。
進一步地,如圖7所示,該裝置還可以包括第二判斷模塊69 與第一判斷模塊65連接,用于在第一判斷模塊65的判斷結果為是 的情況下,根據接收模塊63接收到的上述參數信息判斷客戶端本地 的版本程序是否完整,在不完整的情況下,觸發下載模塊67。第三種方案由服務器j^j:戶端的版^f呈序的升級流程
在本方案中,服務器在發布新版本后,主動通知其下的各個客 戶端,如果有客戶端需要下載新版本的版本程序,則服務器將新版 本的版本程序發送給該客戶端。
根據本發明實施例的第三種方案,提供了 一種軟件版本升級方法。
圖8為根據本發明實施例第三種方案的軟件版本升級方法的流 程圖,如圖8所示,才艮據本發明實施例第三種方案的軟件版本升級 方法主要包4舌以下步艱《(步驟S801 -步驟S807):
步驟S801:服務器在發布新的版本程序時,將該版本程序的參 數信息發送到其管理的各個客戶端;
在具體實施過程中,服務器可以以組播的方式將該版本程序的 參數信息發送給其管理的各個客戶端;
各個客戶端在接收到上述參數信息時,根據該參數信息,判斷 其本地的W反本程序是否為最新的;f反本程序,如果是,則在向"良務器 返回的回執消息中攜帶指示不需要下載新的版本程序的信息,否則, 客戶端在向服務器返回的回執消息中攜帶指示需要下載新的版本程 序的信息。
具體地,上述參數信息包括但不限于服務器發布的新的版本 程序的版本號、文件校驗合信息等信息,并且,各個客戶端在接收 到服務器組播的參數信息后,可以根據上述第一種方案或第二種方 案中所采用的方法判斷是否需要下載服務器發布的新的版本程序。
步驟S803:服務器接收各個客戶端返回的回執消息;步驟S805:服務器向需要下載最新發布的上述版本程序的客戶 端發送該版本程序;
在具體實施過程中,服務器可以創建組播組,在接收到各個客 戶端返回的回執消息后,服務器根據各個客戶端返回的回執消息中 攜帶的信息,將需要下載該新版本的版本程序的客戶端加入到組播 組中,然后通過該組播組向各個客戶端發送該版本程序。
步驟S807:需要下載版本程序的客戶端將服務器發送的版本程 序加載到內存中或存^f諸在本地存小者設備上。
在具體實施過程中,組播組中的各個客戶端在接收到服務器發 送的上述版本程序的數據,如果客戶端正在啟動,則客戶端將接收 到的版本程序加載到內存中,如果客戶端正在運行本地的版本程序, 則該客戶端將接收到的該版本程序存儲在本地存儲設備,待下一次 運4亍時,由Boot禾呈序加載到內存中運4亍。
圖9為才艮據本發明實施例第三種方案的壽t件版本升級方法的具 體實現流程圖,如圖9所示,才艮據本發明實施例的第三種方案的軟 ^牛片反本升級可以通過以下步驟實J見
步驟S901:月l務器發布新的版本程序;
步驟S9Q2:服務器將新的版本程序信息(包括版本程序的版本 號,大小和文件校驗合信息等)組播發送到各個客戶端上,并創建 組播組;
服務器在后續過程中,將需要下載最新版本程序的客戶端加入 該組播-組,然后,通過該組纟番組進4于版本考呈序紐i番。步驟S903:客戶端接收到上述版本程序信息后,根據版本程序 信息中的版本號與本地的版本程序的版本號的比較結果,判斷本地 的版本程序是否為最新版本,若是則執行步驟S904,否則,執行步 驟S905j
步驟S904:直接向服務器發送回執消息,該回執消息中可以攜 帶指示不需要下載新版本的信息,也可以采用默認的方式,不攜帶
該信息;
步驟S905:該客戶端加入服務器創建的上述組播組,該客戶端 向服務器發送回執消息,該回執消息中攜帶有指示需要下載新版本 的信息;
步驟S906:服務器接收到所有客戶端的回執消息后,根據各個 客戶端的回執消息判斷是否有客戶端需要下載新版本,若有則執行 步驟S907,否則,結束流程;
步驟S907:服務器通過組播組向各客戶端組播版本程序數據;
步驟S908'.需要更新版本的客戶端通過組,燔組4妻收到版本程序 的數據包后,直接將該版本程序的數據包寫入本地存儲設備(假設 客戶端當前正在運行本地的版本程序)。
根據本發明實施例第三種方案,還提供了一種服務器,該服務 器可以用于實現上述軟件升級方法。
圖IO為根據本發明實施例第三種方案的服務器的結構示意圖, 如圖IO所示,根據本發明實施例第三種方案的服務器主要包括通 知模塊ll、接收模塊13和發送模塊15。其中,通知模塊ll,用于 在發布新的版本程序時,向其管理的各個客戶端發送通知,其中, 該通知中攜帶有所述版本程序的參數信息;接收模塊13,用于接收各個客戶端返回的回執消息,其中,該回執消息中攜帶有指示該客
戶端是否需要下載所述版本程序的信息;發送模塊15與接收模塊 13連4妄,用于向需要下載新的版本程序的客戶端發送該版本程序。
根據本發明實施例的第三種方案,服務器發布新版本后,可以 主動更新各客戶端上的版本,從而保證了客戶端的版本程序可以實 時更新。
如上所述,借助本發明實施例提供的4支術方案,在客戶端啟動
儲,而是直接加載在內存中執行。由于內存的讀寫速度較快,因此, 可以大幅加高客戶端啟動的速度;并且,在本發明實施例中,客戶 端在運4亍版本程序的過程中,也可以從服務器上下載最新版本禾呈序 并寫入本地存儲,由于客戶端運行正常,服務器能夠正常下發版本, 客戶端再次啟動時不需從服務器更新版本,從而進一步加快了客戶 端的啟動速度。并且,在本發明實施例中月良務器可以主動向客戶端 下發新的版本程序,從而可以提高軟件版本升級的效率,減少服務 器的資源,提高服務器的業務處理能力。
以上所述〗又為本發明的優選實施例而已,并不用于限制本發明, 對于本領域的技術人員來說,本發明可以有各種更改和變化。凡在
本發明的精神和原則之內,所作的任何修改、等同替換、改進等, 均應包含在本發明的保護范圍之內。
權利要求
1.一種軟件版本升級方法,其特征在于,包括在啟動時,客戶端啟動Boot程序,向服務器發送請求消息,其中,所述請求消息用于請求最新的版本程序的參數信息;所述客戶端接收所述服務器響應于所述請求消息返回的響應消息,其中,所述響應消息中攜帶有所述參數信息;所述客戶端根據所述參數信息確定本地的版本程序不是最新的版本程序,從所述服務器讀取所述最新的版本程序,并將所述最新的版本程序加載到內存中。
2. 根據權利要求1所述的方法,其特征在于,所述參數信息包括 所述最新的版本程序的版本號、文件校驗合信息。
3. 根據權利要求2所述的方法,其特征在于,所述客戶端根據所 述參凄t信息確定所述本地的版本程序是最新的版本程序的情 況下,所述方法還包4舌所述客戶端根據所述校驗合信息,判斷所述本地的版本程 序是否完整,如果不是,則從所述服務器讀取所述最新的版本 程序,并將所述最新的版本程序加栽到內存中;否則,將所述 本地的版本程序加載到內存中。
4. 根據權利要求1至3中任一項所述的方法,其特征在于,在將 所述版本程序加載到內存中之后,所述方法還包括退出所述Boot禾呈序,運4亍內存中的所述片反本禾呈序。
5. 根據權利要求4所述的方法,其特征在于,在所述客戶端運行 內存中的所述版本程序之后,所述方法包括客戶端向服務器發送請求消息,其中,所述請求消息用于 :清求最新的"反本程序的所述參凄t信息;所述客戶端接收所述服務器響應于所述請求消息返回的 響應消息,其中,所述響應消息中攜帶有所述參數信息;所述客戶端根據所述參數信息確定本地的版本程序的版 本不是最新的X反本禾呈序,,人所述力良務器讀取所述最新的W反本禾呈 序,并將所述最新的版本程序存儲在本地存儲設備上。
6. 根據權利要求5所述的方法,其特征在于,所述客戶端根據所 述參數信息確定所述本地的版本程序是最新的版本程序的情 況下,所述方法還包4舌所述客戶端根據所述校驗合信息,判斷所述本地的版本程 序是否完整,如果不是,則從所述服務器讀取所述最新的版本 程序,并將所述最新的版本程序存儲在本地存儲設備上。
7. 根據權利要求5所述的方法,其特征在于,在將所述最新的版 本程序存儲在本地存儲設備上之后,所述方法還包括所述客戶端在下一次啟動時,將存儲的所述最新的版本程 序加載到內存中,運4亍所述最新的片反本禾呈序。
8. —種軟件版本升級裝置,其特征在于,包括發送才莫塊,用于在客戶端啟動時或客戶端運^于本地的版本 程序時向服務器發送請求消息,其中,所述請求消息用于請求 最新的版本程序的參凄t信息;接收模塊,用于接收所述服務器響應于所述請求消息返回 的響應消息,其中,所述響應消息中攜帶有所述參數信息;第一判斷模塊,用于根據所述接收模塊接收到所述參數信息,判斷所述客戶端本地的版本程序是否為最新的版本程序;下載模塊,用于在所述第一判斷模塊的判斷結果為否的情 況下,從所述服務器讀取所述最新的版本程序;加載模塊,用于在客戶端啟動時,將所述下載模塊讀取的 所述最新的版本程序加載到所述客戶端的內存中;存儲;溪塊,用于在客戶端運行本地的版本程序時,將所述 下載模塊讀取的所述最新的版本程序存儲到所述客戶端的本 地存儲設備上。
9. 根據權利要求8所述的裝置,其特征在于,所述裝置還包括第二判斷模塊,用于在所述第一判斷模塊的判斷結果為是 的情況下,根據所述參數信息判斷所述本地的版本程序是否完 整,在不完整的情況下,觸發所述下栽模塊。
10. —種軟件版本升級方法,其特征在于,包括服務器在發布新的版本程序時,將所述版本程序的參數信 息發送到其管理的各個客戶端;所述服務器接收所述各個客戶端返回的回執消息,其中, 所述回執消息中攜帶有指示該客戶端是否需要下載所述版本 程序的信息;所述服務器向需要下載所述版本程序的客戶端發送所述 版本程序;需要下載所述版本程序的客戶端將所述服務器發送的所 述版本程序加載到內存中或存儲在本地存儲設備上。
11. 根據權利要求10所述的方法,其特征在于,所述服務器向需 要下載所述版本程序的客戶端發送所述版本程序的數據包括所述服務器創建組播組;所述服務器根據接收到的所述回纟丸消息,將需要下載所述 版本程序的客戶端加入所述組播組;所述服務器通過所述組播組向所述組播組中的各個客戶 端組l番所述版本程序。
12. 根據權利要求IO所述的方法,其特征在于,所述參數信息包括所述新的版本程序的版本號、文件校 驗合信息;所述服務器將所述參數信息發送到其管理的各個客戶端 之后,對于每個客戶端,所述方法還包括所述客戶端#4居所述參凄t信息判斷本地的版本程序是否 為最新的版本程序,如果是,則在向所述力良務器返回的所述回 執消息中攜帶指示不需要下載新的所述版本程序的信息,否 則,所述客戶端在向所述服務器返回的所述回執消息中攜帶指 示需要下載新的所述版本程序的信息。
13. 根據權利要求10至12中任一項所述的方法,其特征在于,所序的數據之后,對于需要下載所述版本程序的每個客戶端,所 述方法還包括所述客戶端將接收到的所述版本程序的數據存儲在本地 存儲設備。
14.一種服務器,其特征在于,包括通知模塊,用于在發布新的版本程序時,向其管理的各個 客戶端發送通知,其中,所述通知中攜帶有所述版本程序的參 數信息;接收模塊,用于接收所述各個客戶端返回的回執消息,其 中,所述回執消息中攜帶有指示該客戶端是否需要下載所述版 本程序的信息;發送模塊,用于向需要下載所述版本程序的客戶端發送所 述片反本程序。
全文摘要
本發明公開了一種軟件版本升級方法及裝置、服務器。其中,該方法包括在啟動時,客戶端啟動Boot程序,向服務器發送請求消息,其中,該請求消息用于請求最新的版本程序的參數信息;客戶端接收服務器響應于請求消息返回的響應消息,其中,該響應消息中攜帶有參數信息;客戶端根據參數信息確定本地的版本程序不是最新的版本程序,從服務器讀取最新的版本程序,并將最新的版本程序加載到內存中。通過本發明,可以減少客戶端存儲下載的新的版本程序的時間,提高升級的效率。
文檔編號G06F9/445GK101576828SQ200910143099
公開日2009年11月11日 申請日期2009年6月1日 優先權日2009年6月1日
發明者健 孫 申請人:中興通訊股份有限公司