国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      軟件升級方法、裝置、客戶端及系統(tǒng)的制作方法

      文檔序號:6502295閱讀:184來源:國知局
      軟件升級方法、裝置、客戶端及系統(tǒng)的制作方法
      【專利摘要】本發(fā)明實施例提供一種軟件升級方法、裝置、客戶端及系統(tǒng),其中的方法可包括:當客戶端中的第一版本軟件需要升級時,獲取關(guān)于所述第一版本軟件的增量升級文件;將所述第一版本軟件和所述增量升級文件進行整合,生成第二版本軟件;在所述客戶端中安裝所述第二版本軟件。本發(fā)明在軟件升級過程中,無需下載新版本軟件的完整安裝包,僅需要下載軟件的增量升級文件,減少帶寬資源的消耗,降低軟件維護成本。
      【專利說明】軟件升級方法、裝置、客戶端及系統(tǒng)

      【技術(shù)領(lǐng)域】
      [0001] 本發(fā)明涉及一種互聯(lián)網(wǎng)【技術(shù)領(lǐng)域】,具體涉及軟件【技術(shù)領(lǐng)域】,尤其涉及一種軟件升 級方法、裝置、客戶端及系統(tǒng)。

      【背景技術(shù)】
      [0002] 軟件(software),又可稱為應用或應用軟件,指采用程序設(shè)計語言編制得到的程 序的集合,可以為用戶提供在不同領(lǐng)域、解決不同問題的應用功能。
      [0003] 為了滿足用戶不斷增長的應用需求,軟件發(fā)布者需要定期或者不定期地提供軟件 的新版本軟件的安裝包,以實現(xiàn)客戶端(例如:手機、筆記本電腦等)中舊版本軟件的功能升 級?,F(xiàn)有的客戶端軟件的升級過程一般包括:軟件發(fā)布者通過各個推廣渠道發(fā)布新版本軟 件的安裝包,用戶可從各個推廣渠道下載新版本軟件的安裝包,在客戶端安裝該新版本軟 件的安裝包以替換客戶端中的舊版本軟件,完成軟件升級,實現(xiàn)客戶端中的軟件的功能升 級。然而,上述現(xiàn)有方案中,每次進行軟件升級過程,均需要下載新版本軟件的完整安裝包, 由于安裝包的數(shù)據(jù)量一般較大(例如:一個APK (Android Package,安卓系統(tǒng)的安裝包)通 常有16M),這需要消耗客戶端中較大的帶寬資源,提高了軟件升級和維護成本。


      【發(fā)明內(nèi)容】

      [0004] 本發(fā)明實施例提供一種軟件升級方法、裝置、客戶端及系統(tǒng),在軟件升級過程中, 無需下載新版本軟件的完整安裝包,僅需要下載軟件的增量升級文件,減少帶寬資源的消 耗,降低軟件升級和維護成本。
      [0005] 本發(fā)明第一方面提供一種軟件升級方法,可包括:
      [0006] 當客戶端中的第一版本軟件需要升級時,獲取關(guān)于所述第一版本軟件的增量升級 文件;
      [0007] 將所述第一版本軟件和所述增量升級文件進行整合,生成第二版本軟件;
      [0008] 在所述客戶端中安裝所述第二版本軟件。
      [0009] 本發(fā)明第二方面提供一種軟件升級裝置,可包括:
      [0010] 升級獲取模塊,用于當客戶端中的第一版本軟件需要升級時,獲取關(guān)于所述第一 版本軟件的增量升級文件;
      [0011] 整合模塊,用于將所述第一版本軟件和所述增量升級文件進行整合,生成第二版 本軟件;
      [0012] 安裝模塊,用于在所述客戶端中安裝所述第二版本軟件。
      [0013] 本發(fā)明第三方面提供一種客戶端,可包括上述第二方面提供的軟件升級裝置。
      [0014] 本發(fā)明第四方面提供一種軟件升級系統(tǒng),包括服務(wù)器,還包括至少一個上述第三 方面提供的客戶端。
      [0015] 實施本發(fā)明實施例,具有如下有益效果:
      [0016] 本發(fā)明實施例中,當客戶端中的第一版本軟件需要升級時,無需下載新版本軟件 的完整安裝包,僅需要獲取關(guān)于所述第一版本軟件的增量升級文件進行軟件升級;由于增 量升級文件的數(shù)據(jù)量相對于完整安裝包的數(shù)據(jù)量通常較?。├纾阂粋€APK安裝包的增量 升級文件通常僅有4M),從而有效的降低了帶寬資源的消耗,降低軟件升級和維護成本。

      【專利附圖】

      【附圖說明】
      [0017] 為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本 發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以 根據(jù)這些附圖獲得其他的附圖。
      [0018] 圖1為本發(fā)明實施例提供的軟件的結(jié)構(gòu)示意圖;
      [0019] 圖2為本發(fā)明實施例提供的軟件的擴展字段的結(jié)構(gòu)示意圖;
      [0020] 圖3為本發(fā)明實施例提供的增量升級文件的結(jié)構(gòu)示意圖;
      [0021] 圖4為本發(fā)明實施例提供的一種軟件升級方法的流程圖;
      [0022] 圖5為本發(fā)明實施例提供的另一種軟件升級方法的流程圖;
      [0023] 圖6為本發(fā)明實施例提供的又一種軟件升級方法的流程圖;
      [0024] 圖7為本發(fā)明實施例提供的一種軟件升級裝置的結(jié)構(gòu)示意圖;
      [0025] 圖8為本發(fā)明實施例提供的另一種軟件升級裝置的結(jié)構(gòu)示意圖;
      [0026] 圖9為本發(fā)明實施例提供的升級判斷模塊的結(jié)構(gòu)示意圖;
      [0027] 圖10a為本發(fā)明實施例提供的升級獲取模塊的一個實施例的結(jié)構(gòu)示意圖;
      [0028] 圖10b為本發(fā)明實施例提供的升級獲取模塊的另一個實施例的結(jié)構(gòu)示意圖;
      [0029] 圖11a為本發(fā)明實施例提供的整合模塊的一個實施例的結(jié)構(gòu)示意圖;
      [0030] 圖lib為本發(fā)明實施例提供的整合模塊的另一個實施例的結(jié)構(gòu)示意圖;
      [0031] 圖12為本發(fā)明實施例提供的一種軟件升級系統(tǒng)的結(jié)構(gòu)示意圖;
      [0032] 圖13為本發(fā)明實施例提供的一種服務(wù)器的結(jié)構(gòu)示意圖。

      【具體實施方式】
      [0033] 下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完 整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;?本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他 實施例,都屬于本發(fā)明保護的范圍。
      [0034] 本發(fā)明實施例中,客戶端可以為:PC (Personal Computer,個人計算機)、平板電 腦、手機、智能手機、電子閱讀器、筆記本電腦等終端設(shè)備中的任一種。軟件可以包括但不限 于:IM (Instant Messenger,即時通信)軟件、SNS (SocialNetworking Services,社會性 網(wǎng)絡(luò)服務(wù))軟件、瀏覽器軟件等等。
      [0035] 本發(fā)明實施例中,第一版本軟件又可稱為"舊版本軟件"或"Old File",可以指已 安裝于客戶端中的軟件;第二版本軟件又可稱為"新版本軟件"或"NewFile",指第一版本 軟件進行升級后的軟件;第一版本軟件與第二版本軟件可以屬于版本不同、但類型相同的 軟件,例如:若第一版本軟件為第一版本的頂軟件A,則第二版本軟件為第二版本的IM軟 件A。
      [0036] 第一版本軟件與第二版本軟件也可以屬于版本不同,類型也不同的軟件,例如:若 第一版本軟件為第一版本的頂軟件B,則第二版本軟件可以為第二版本的SNS軟件B。
      [0037] 關(guān)于所述第一版本軟件的增量升級文件,指第一版本軟件與第二版本軟件的補丁 差異文件;第一版本軟件與所述增量升級文件可進行相應的補丁合成,整合為第二版本軟 件。
      [0038] 下面將結(jié)合附圖1-附圖3,對本發(fā)明實施例提供的軟件的結(jié)構(gòu)和增量升級文件的 結(jié)構(gòu)進行詳細說明。需要說明的是,圖1-圖3所示的軟件結(jié)構(gòu)和增量升級文件的結(jié)構(gòu)可以 應用于本發(fā)明后續(xù)各實施例中。
      [0039] 請參見圖1,為本發(fā)明實施例提供的軟件的結(jié)構(gòu)示意圖;該軟件可包括數(shù)據(jù)字段 和擴展字段,即本發(fā)明實施例中,第一版本軟件可包括第一數(shù)據(jù)字段和擴展字段;第二版本 軟件可包括第二數(shù)據(jù)字段和擴展字段;第一版本軟件的擴展字段與第二版本軟件的擴展字 段相同。優(yōu)選地,本發(fā)明實施例的增量升級文件指第一版本軟件的第一數(shù)據(jù)字段與第二版 本軟件的第二數(shù)據(jù)字段的補丁差異文件。由于增量升級文件不考慮軟件的擴展字段,無需 針對不同擴展字段的同一版本軟件分別生成相應的增量升級文件,針對同一版本軟件,無 論該軟件的擴展字段的內(nèi)容是否相同,均可以僅維護一個增量升級文件,從而可降低軟件 升級系統(tǒng)的維護成本。
      [0040] 其中,數(shù)據(jù)字段用于存儲軟件的數(shù)據(jù)信息,該數(shù)據(jù)信息可以為能夠獨立運行的程 序,可用于實現(xiàn)軟件的相應功能。其中,擴展字段用于存儲軟件的配置信息,例如:渠道編 號、版本號、網(wǎng)絡(luò)流量提醒等等。需要說明的是,本發(fā)明實施例的軟件的數(shù)據(jù)字段,可以參與 簽名校驗計算,獲得軟件的校驗信息;而軟件的擴展字段,可以無需參與簽名校驗計算。
      [0041] 請參見圖2,為本發(fā)明實施例提供的軟件的擴展字段的結(jié)構(gòu)示意圖;如圖2所示, 軟件的擴展字段的結(jié)構(gòu)說明如下:
      [0042] 擴展字段頭部(Header ):共8個字節(jié),前4個字節(jié)用于存儲軟件標識的哈希碼,后4 個字節(jié)用于存儲擴展字段的總長度信息;例如:以Android系統(tǒng)的客戶端為例,在該客戶端 中的標識為"Micromsg"的IM軟件的擴展字段中,Header的前4個字節(jié)包含了"Micromsg" 這個字符串的哈希碼,后4個字節(jié)存儲了該IM軟件的擴展字段的總長度;
      [0043] 校驗信息:由軟件的數(shù)據(jù)字段進行簽名校驗計算獲得,可唯一標識軟件;該校驗 信息可以采用校驗算法進行計算獲得,該校驗算法包括但不限于:哈希算法、MD5 (Message Digest Algorithm5,摘要算法第五版)算法等等。除特別說明外,本發(fā)明后續(xù)實施例中,軟 件的校驗信息為該軟件的MD5值;
      [0044] 渠道編號(Channel ID):指軟件發(fā)布的目標推廣渠道的編號,該編號可以由軟件 的發(fā)布商確定,例如:軟件的官網(wǎng)的渠道編號可以為〇〇〇〇,或者第三方電子市場的渠道編 號可以為0001,等等;
      [0045] 設(shè)備類型(Profile Device Type):用于存儲默認值,例如:可存儲一個空字符串;
      [0046] 升級模式(Update Mode):指軟件所采用的升級方式,該升級方式可包括但不限 于:跳轉(zhuǎn)至第三方電子市場進行升級,或者在軟件的官網(wǎng)進行升級;
      [0047] 版本號(Build Version):指軟件當前版本編號,例如:客戶端中的第一版本軟件 的版本號為VI. 〇,等等;
      [0048] 第三方電子市場URL (Uniform Resource Locator,統(tǒng)一資源定位符),當Update Mode為跳轉(zhuǎn)至第三方電子市場進行升級時,所跳轉(zhuǎn)到的第三方電子市場的URL地址。
      [0049] 需要說明的是,圖2所示的軟件的擴展字段的結(jié)構(gòu)僅為舉例,當軟件的配置信息 發(fā)生變化時,擴展字段的結(jié)構(gòu)也可能發(fā)生變化,例如:某軟件定制了網(wǎng)絡(luò)流量提醒的配置信 息,則該軟件的擴展字段除了包含如圖2所示的結(jié)構(gòu)之外,還可包含網(wǎng)絡(luò)流量提醒的結(jié)構(gòu) 段,用于存儲網(wǎng)絡(luò)流量提醒的配置信息。
      [0050] 請參見圖3,為本發(fā)明實施例提供的增量升級文件的結(jié)構(gòu)示意圖;其中,增量升級 文件指第一版本軟件與第二版本軟件的補丁差異文件,具體為第一版本軟件的第一數(shù)據(jù)字 段與第二版本軟件的第二數(shù)據(jù)字段的補丁差異文件。增量升級文件可以由第一版本軟件 的第一數(shù)據(jù)字段與第二版本軟件的第二數(shù)據(jù)字段進行二進制差異計算獲得,例如:可基于 BSdiff (Binary Diff,二進制差異)算法,對第一版本軟件的第一數(shù)據(jù)字段和第二版本軟 件的第二數(shù)據(jù)字段進行計算,獲得增量升級文件。相應地,第一版本軟件的第一數(shù)據(jù)字段 與增量升級文件可進行相應的合成,整合為第二版本軟件的第二數(shù)據(jù)字段;例如:可基于 BSPatch (Binary Patch,二進制補丁合成,常與BSdiff配套使用)算法,對第一版本軟件的 第一數(shù)據(jù)字段和增量升級文件進行計算,生成第二版本軟件的第二數(shù)據(jù)字段。如圖3所示, 增量升級文件的結(jié)構(gòu)說明如下:
      [0051] 頭部(Header):共8個字節(jié),用于存儲軟件標識的哈希碼,例如:以Android系統(tǒng)的 客戶端為例,在該客戶端中的關(guān)于標識為"Micromsg"的IM軟件的增量升級文件中,Header 存儲了 "Micromsg"這個字符串的哈希碼;
      [0052] 控制信息塊長度(Ctrl Block Length):共8個字節(jié),用于存儲增量升級文件的控 制信息塊的總長度;
      [0053] 差異數(shù)據(jù)塊長度(Diff Block Length):共8個字節(jié),用于存儲增量升級文件的差 異數(shù)據(jù)塊的總長度;
      [0054] 新版本軟件長度(New File Length):共8個字節(jié),用于存儲第二版本軟件(或稱新 版本軟件)的總長度;
      [0055] 控制信息塊(Ctrl Block):用于存儲第一版本軟件的第一數(shù)據(jù)字段與增量升級文 件的整合過程的控制信息;
      [0056] 差異數(shù)據(jù)塊(Diff Block):用于存儲第二版本軟件與第一版本軟件的差異化數(shù)據(jù) 信息,該差異化數(shù)據(jù)塊的形成過程可以為:采用BSdiff算法,從第二版本軟件的第二數(shù)據(jù) 字段和第一版本軟件的第一數(shù)據(jù)字段中尋找相似數(shù)據(jù),然后將從第二版本軟件的第二數(shù)據(jù) 字段中查找到的相似數(shù)據(jù)和從第一版本軟件的第一數(shù)據(jù)字段中查找到的相似數(shù)據(jù)進行二 進制差異計算,得到差異化數(shù)據(jù)信息并存儲至差異數(shù)據(jù)塊(Diff Block);
      [0057] 新增數(shù)據(jù)塊(Extra Block):用于存儲第二版本軟件相對于第一版本軟件的新增 數(shù)據(jù)信息,該新增數(shù)據(jù)塊的形成過程可以為:采用BSdiff算法,查找第二版本軟件的第二 數(shù)據(jù)字段相對于第一版本軟件的第一數(shù)據(jù)字段的新增數(shù)據(jù)信息,將查找到的新增數(shù)據(jù)信息 存入新增數(shù)據(jù)塊(Extra Block)。
      [0058] 由上述可知,增量升級文件包括控制信息和數(shù)據(jù)信息,所述控制信息即為所述控 制信息塊(Ctrl Block)中所存儲的信息,包括所述差異數(shù)據(jù)塊(Diff Block)中所存儲的差 異化數(shù)據(jù)信息和所述新增數(shù)據(jù)塊(Extra Block)中所存儲的新增數(shù)據(jù)信息。
      [0059] 再請參見圖3,增量升級文件的結(jié)構(gòu)中,控制信息塊(Ctrl Block)中包含了至少一 個子控制信息塊,所述第一版本軟件的第一數(shù)據(jù)字段與增量升級文件的整合過程的控制信 息分布于所述至少一個子控制信息塊中;所述至少一個子控制信息塊按順序存儲于控制信 息塊(Ctrl Block)中。在軟件升級過程中,按照所述至少一個子控制信息塊在控制信息塊 (Ctrl Block)中的存儲順序,依次獲取所述至少一個子控制信息塊中的控制信息,以對第 一版本軟件的第一數(shù)據(jù)字段和增量升級文件包括的數(shù)據(jù)信息進行有序、準確地整合,形成 第二版本軟件的第二數(shù)據(jù)字段;例如:按照第一個子控制信息塊中的控制信息,對第一版 本軟件的第一數(shù)據(jù)字段和增量升級文件中的數(shù)據(jù)信息進行整合,形成第二版本軟件的第二 數(shù)據(jù)字段的第一部分數(shù)據(jù)內(nèi)容;再按照第二個子控制信息塊中的控制信息,對第一版本軟 件的第一數(shù)據(jù)字段和增量升級文件中的數(shù)據(jù)信息進行整合,形成第二版本軟件的第二數(shù)據(jù) 字段的第二部分數(shù)據(jù)內(nèi)容,將第二數(shù)據(jù)字段的第二部分數(shù)據(jù)內(nèi)容順序填充至第二數(shù)據(jù)字段 的第一部分數(shù)據(jù)內(nèi)容之后;以此類推,直至生成完整的第二數(shù)據(jù)字段。其中,子控制信息塊 的結(jié)構(gòu)說明如下:
      [0060] 從舊版本文件和差異數(shù)據(jù)塊讀取的長度(Read length from old file and Diff Block):共4個字節(jié),用于在第一版本軟件的第一數(shù)據(jù)字段與增量升級文件進行整合過程 中,指示從第一版本文件(舊版本文件)的第一數(shù)據(jù)字段中讀取的數(shù)據(jù)長度,以及從增量升 級文件的差異數(shù)據(jù)塊中讀取的數(shù)據(jù)長度;
      [0061] 從新增數(shù)據(jù)塊讀取的長度(Read length from Extra Block):共4個字節(jié),用于在 第一版本軟件的第一數(shù)據(jù)字段與增量升級文件進行整合過程中,指示從增量升級文件的新 增數(shù)據(jù)塊中讀取的數(shù)據(jù)長度;
      [0062] 舊版本文件跳讀的長度(Old file skip length):共4個字節(jié),用于指示下一次數(shù) 據(jù)讀取時,需要從第一版本文件的第一數(shù)據(jù)字段中跳過第一版本軟件的長度;例如:當根 據(jù)子控制信息塊對第一版本軟件的第一數(shù)據(jù)字段和增量升級文件進行數(shù)據(jù)整合時,從第一 版本軟件的第一數(shù)據(jù)字段中跳過上一個子控制信息塊中的舊版本文件跳讀的長度之后,再 進行數(shù)據(jù)的讀取。
      [0063] 下面將結(jié)合附圖4-附圖6,對本發(fā)明實施例提供的軟件升級方法進行詳細介紹。 需要說明的是,下述的方法流程可以由本發(fā)明實施例提供的軟件升級裝置所執(zhí)行。
      [0064] 請參見圖4,為本發(fā)明實施例提供的一種軟件升級方法的流程圖;該方法可包括 以下步驟S101-步驟S103。
      [0065] S101,當客戶端中的第一版本軟件需要升級時,獲取關(guān)于所述第一版本軟件的增 量升級文件。
      [0066] 其中,所述第一版本軟件包括第一數(shù)據(jù)字段和擴展字段;所述增量升級文件包括 控制信息和數(shù)據(jù)信息。本步驟中,當客戶端中的第一版本軟件需要升級時,可以從服務(wù)器獲 取所述增量升級文件的地址信息,并根據(jù)該地址信息,下載所述增量升級文件。
      [0067] S102,將所述第一版本軟件和所述增量升級文件進行整合,生成第二版本軟件。
      [0068] 其中,所述增量升級文件指第一版本軟件與第二版本軟件的補丁差異文件,因此 相應地,在獲得所述第一版本軟件的增量升級文件之后,本步驟可以將所述第一版本軟件 和所述增量升級文件進行整合,生成第二版本軟件??梢岳斫獾氖?,本步驟的將所述第一版 本軟件和增量升級文件進行整合的過程,與第一版本軟件與第二版本軟件進行差異計算獲 得增量升級文件的過程屬于相逆的過程。
      [0069] S103,在所述客戶端中安裝所述第二版本軟件。
      [0070] 在所述客戶端中安裝所述第二版本軟件之后,該第二版本軟件則可替換客戶端中 的所述第一版本軟件,從而完成軟件升級過程。
      [0071] 本發(fā)明實施例中,當客戶端中的第一版本軟件需要升級時,無需下載新版本軟件 的完整安裝包,僅需要獲取關(guān)于所述第一版本軟件的增量升級文件進行軟件升級;由于增 量升級文件的數(shù)據(jù)量相對于完整安裝包的數(shù)據(jù)量通常較小,從而有效的降低了帶寬資源的 消耗,降低軟件升級和維護成本。
      [0072] 請參見圖5,為本發(fā)明實施例提供的另一種軟件升級方法的流程圖;該方法可包 括以下步驟S201-步驟S204。
      [0073] S201,判斷客戶端中的第一版本軟件是否需要升級。
      [0074] 本步驟中,可以在用戶登錄至第一版本軟件時,發(fā)起對該第一版本軟件的升級判 斷過程;或者,在用戶已登錄至第一版本軟件之后,使用該第一版本軟件的過程中,發(fā)起對 該第一版本軟件的升級判斷過程;例如:針對客戶端中的VI. 0版本的IM軟件A,當用戶登 錄該VI. 0版本的IM軟件A時,可向服務(wù)器發(fā)送升級檢測消息,以判斷該VI. 0版本的IM軟 件A是否需要升級:或者,用戶登錄該VI. 0版本的IM軟件A之后,可以定時(例如:每隔一 天、或每隔兩天等等)向服務(wù)器發(fā)送升級檢測消息,以判斷該VI. 0版本的IM軟件A是否需 要升級。
      [0075] S202,當所述客戶端中的第一版本軟件需要升級時,獲取關(guān)于所述第一版本軟件 的增量升級文件。
      [0076] S203,將所述第一版本軟件和所述增量升級文件進行整合,生成第二版本軟件。
      [0077] S204,在所述客戶端中安裝所述第二版本軟件。
      [0078] 本實施例的步驟S202-步驟S204可參見圖4所示實施例的步驟S101-步驟S103, 在此不贅述。
      [0079] 本發(fā)明實施例中,當客戶端中的第一版本軟件需要升級時,無需下載新版本軟件 的完整安裝包,僅需要獲取關(guān)于所述第一版本軟件的增量升級文件進行軟件升級;由于增 量升級文件的數(shù)據(jù)量相對于完整安裝包的數(shù)據(jù)量通常較小,從而有效的降低了帶寬資源的 消耗,降低軟件升級和維護成本。
      [0080] 請參見圖6,為本發(fā)明實施例提供的又一種軟件升級方法的流程圖;該方法可包 括以下步驟S301-步驟S314。
      [0081] S301,向服務(wù)器發(fā)送升級檢測消息。
      [0082] 其中,所述升級檢測消息中攜帶所述客戶端中的第一版本軟件的版本相關(guān)信息; 該第一版本軟件的版本相關(guān)信息可以包括但不限于:第一版本軟件的校驗信息(例如:第 一版本軟件的MD5值)、該第一版本軟件的版本號(例如:V1. 0)、客戶端的系統(tǒng)參數(shù)(如:操 作系統(tǒng)類型、操作系統(tǒng)的版本等),等等。本步驟中,可以在用戶登錄至第一版本軟件時,向 服務(wù)器發(fā)送升級檢測消息;或者,在用戶已登錄至第一版本軟件之后,使用該第一版本軟件 的過程中,向服務(wù)器發(fā)送升級檢測消息;例如:針對客戶端中的VI. 0版本的IM軟件A,當用 戶登錄該VI. 0版本的IM軟件A時,可向服務(wù)器發(fā)送升級檢測消息;或者,用戶登錄該VI. 0 版本的IM軟件A之后,可以定時(例如:每隔一天、或每隔兩天等等)向服務(wù)器發(fā)送升級檢 測消息。
      [0083] S302,接收所述服務(wù)器返回的升級配置信息。
      [0084] 服務(wù)器在接收到升級檢測消息之后,可以根據(jù)升級檢測消息中攜帶的第一版本軟 件的版本相關(guān)信息,生成關(guān)于所述第一版本軟件的升級配置信息;本步驟接收所述服務(wù)器 返回的所述升級配置信息。舉例來說,所述升級配置信息可采用下述的XML (Extensible Markup Language,可擴展標記語言)格式:
      [0085] <patchupdate base="htlp://dldirl.xx.corn/" count-'" > <item oldl = '' MD5xl'" newl = " MD5,," patch 1 = "A//;)5, uil = 'patch Γ'
      [0086] size = "19965"> </item> 〈item old2 = " M)5:丨" new2 = " MJ)52 2 " patcii2 = " Mj)52 ;" url = "patch2,! size = '!19965'!> </item> <item......</item> </patchupdate>
      [0087] 上述例子中,一個item表示所述升級配置信息中一個升級配置項;每個item中的 old的值表示第一配置校驗信息;new的值表示第二配置校驗信息;patch的值表示增量配 置校驗信息;base+url的值表示地址信息。
      [0088] 根據(jù)上述升級配置信息的格式可知,所述升級配置信息可包括至少一個升級配置 項(item),每個升級配置項(item)可包括:第一配置校驗信息、所述第一配置校驗信息對 應的第二配置校驗信息、所述第一配置校驗信息對應的增量配置校驗信息,以及所述第一 配置校驗信息對應的地址信息;例如:上述第一個item中,第一配置校驗信息為〃MD5K", 所述第一配置校驗信息對應的第二配置校驗信息為〃MD5i_ 2〃,所述第一配置校驗信息對應 的增量配置校驗信息為〃MD5i_3〃,所述第一配置校驗信息對應的地址信息可以為〃http:// dldirl. XX. com/patchl〃。再如:上述第二個item中,第一配置校驗信息為〃MD52_i〃,所述第 一配置校驗信息對應的第二配置校驗信息為〃MD5 2_2〃,所述第一配置校驗信息對應的增量 配置校驗信息為〃 MD52_3 〃,所述第一配置校驗信息對應的地址信息可以為〃 http: //dldirl. XX.com/patch2〃。
      [0089] S303,判斷所述升級配置信息中是否存在與所述客戶端中的第一版本軟件的校驗 信息相匹配的第一配置校驗信息;如果判斷結(jié)果為是,轉(zhuǎn)入步驟S304 ;否則,結(jié)束。
      [0090] 本步驟的判斷過程可以為:首先,獲取所述客戶端中的第一版本軟件的校驗信息, 例如:可以從所述客戶端中的第一版本軟件的擴展字段中讀取所述第一版本軟件的校驗信 息;或者,可以根據(jù)所述客戶端中的第一版本軟件的第一數(shù)據(jù)字段,計算所述客戶端中的第 一版本軟件的校驗信息。其次,將所述客戶端中的第一版本軟件的校驗信息分別與所述升 級配置信息中的每個升級配置項(item)中的第一配置校驗信息進行比較,如果所述客戶端 中的第一版本軟件的校驗信息與所述升級配置信息中的任一個升級配置項(item)中的第 一配置校驗信息相同,則將與所述客戶端中的第一版本軟件的校驗信息相同的第一配置校 驗信息確定為相匹配的第一配置校驗信息,例如:如果判斷所述客戶端中的第一版本軟件 的校驗信息與所述升級配置信息中的第一個item中的MD5h相同,則確定MD5h為相匹配 的第一配置校驗信息。如果所述升級配置信息中存在所述相匹配的第一配置校驗信息,表 明所述客戶端中的第一版本軟件存在升級配置,需要進行升級,則轉(zhuǎn)入步驟S304 ;如果所 述升級配置信息中存在所述相匹配的第一配置校驗信息,表明所述客戶端中的第一版本軟 件不存在升級配置,無需進行升級,可結(jié)束軟件升級流程。
      [0091] S304,確認所述客戶端中的第一版本軟件需要升級。
      [0092] 本實施例的步驟S301-步驟S304可以為圖5所示實施例的步驟S201的具體細化 步驟。
      [0093] S305,從所述升級配置信息中查找所述相匹配的第一配置校驗信息對應的地址信 息。
      [0094] 如前述,所述升級配置信息中包括至少一個第一配置校驗信息,以及所述至少一 個第一配置校驗信息各對應的地址信息。本步驟中則可從所述升級配置信息中查找所述 相匹配的第一配置校驗信息對應的地址信息;按照上述例子,所述相匹配的第一配置校驗 信息為MD5h,則可從所述升級配置信息中查找到MD5h對應的地址信息,如圖6所示步驟 S302中所給出的例子,MD5K對應的地址信息為〃http://dldirl. XX. com/patchl〃。
      [0095] S306,根據(jù)查找到的地址信息,下載所述增量升級文件。
      [0096] 本步驟中,可利用查找到的地址信息,從該地址信息所指示的服務(wù)器或網(wǎng)絡(luò)中下 載所述增量升級文件;按照圖6所示步驟S302中所給出的例子,可從"http://dldirl. XX. com/patchl"所指示的服務(wù)器或網(wǎng)絡(luò)中下載所述增量升級文件。
      [0097] S307,計算已下載的所述增量升級文件的校驗信息。
      [0098] 其中,所述增量升級文件的校驗信息,指對所述增量升級文件進行校驗計算獲得, 可唯一標識一個增量升級文件;該校驗信息可以采用校驗算法進行計算獲得,該校驗算法 包括但不限于:哈希算法、MD5算法等等。優(yōu)選地,本步驟中所述增量升級文件的校驗信息 為所述增量升級文件的MD5值。
      [0099] S308,比較已下載的所述增量升級文件的校驗信息與所述升級配置信息中的所述 相匹配的第一配置校驗信息對應的增量配置檢驗信息是否相同;若相同,轉(zhuǎn)入步驟S309 ; 否則,轉(zhuǎn)入步驟S306。
      [0100] 如前述,所述升級配置信息中包括至少一個第一配置校驗信息,以及所述至少一 個第一配置校驗信息各對應的增量配置校驗信息。本步驟中,可比較步驟S307計算獲得 的已下載的所述增量升級文件的校驗信息與所述升級配置信息中的所述相匹配的第一配 置校驗信息對應的增量配置檢驗信息是否相同;按照上述例子,所述相匹配的第一配置校 驗信息為MD5h,按照圖6所示步驟S302中所給出的例子,MD5h對應的增量配置校驗信息 為MD5i_ 3,本步驟則判斷步驟S307計算獲得的已下載的所述增量升級文件的MD5值是否與 MD5i_3的值相同;如果二者相同,表明已下載的增量升級文件正確,在下載過程中未出現(xiàn)數(shù) 據(jù)丟失,可繼續(xù)執(zhí)行步驟S309 ;如果二者不同,表明已下載的增量升級文件可能在下載過 程中出現(xiàn)數(shù)據(jù)丟失,則需要返回步驟S306重新下載正確的增量升級文件;進一步,本發(fā)明 實施例中還可以設(shè)置重新下載的次數(shù)限制,例如:可設(shè)置重新下載的次數(shù)為5次,當經(jīng)過步 驟S306重新下載5次增量升級文件后,如果本步驟S308仍然判斷該增量升級文件在下載 過程中出現(xiàn)了數(shù)據(jù)丟失,則可輸出升級失敗提示信息。
      [0101] 本實施例的步驟S305-步驟S308可以為圖4所示實施例的步驟S101的具體細化 步驟,或者可以為圖5所示實施例的步驟S202的具體細化步驟。需要說明的是,其中的步 驟S307-步驟S308為可選步驟,如果可以確定步驟S306下載的增量升級文件正確,也可以 不用執(zhí)行步驟S307-步驟S308,直接轉(zhuǎn)而執(zhí)行步驟S309。
      [0102] S309,解析所述第一版本軟件,獲得第一數(shù)據(jù)字段和擴展字段。
      [0103] 如圖1所示,所述第一版本軟件包含第一數(shù)據(jù)字段和擴展字段。本步驟則解析所 述第一版本軟件,獲得第一數(shù)據(jù)字段和擴展字段。
      [0104] S310,按照所述增量升級文件中的控制信息,將所述第一數(shù)據(jù)字段和所述增量升 級文件中的數(shù)據(jù)信息進行合成計算,生成第二數(shù)據(jù)字段。
      [0105] 如圖3所示,所述增量升級文件包括控制信息和數(shù)據(jù)信息。本步驟的合成計算過 程可以存在以下兩種可行的實施方式:
      [0106] 在第一種可行的實施方式中,本步驟具體可包括以下過程:a、將所述增量升級文 件的控制信息塊(Ctrl Block)中的控制信息全部讀取至所述客戶端的內(nèi)存空間中;b、將所 述第一數(shù)據(jù)字段和所述增量升級文件中的數(shù)據(jù)信息也全部讀取至所述客戶端的內(nèi)存空間 中;c、在所述客戶端的內(nèi)存空間中,按照所述增量升級文件的控制信息,將所述第一數(shù)據(jù)字 段和所述增量升級文件中的數(shù)據(jù)信息進行合成計算,生成第二數(shù)據(jù)字段;d、將所述第二數(shù) 據(jù)字段從所述客戶端的內(nèi)存空間中讀出,并寫入所述客戶端的磁盤空間中,刪除所述客戶 端的內(nèi)存空間中的內(nèi)容以釋放所述客戶端的內(nèi)存空間。本實施方式可快速合成第二數(shù)據(jù)字 段,提升合成計算的效率。
      [0107] 在第二種可行的實施方式中,本步驟具體可包括以下過程:e、將所述增量升級文 件的控制信息塊(Ctrl Block)中的第一個子控制信息塊中的控制信息讀取至所述客戶端 的內(nèi)存空間中;f、按照所述第一個子控制信息塊中的控制信息,從所述第一數(shù)據(jù)字段和所 述增量升級文件中的數(shù)據(jù)信息中讀取相應的數(shù)據(jù)至所述客戶端的內(nèi)存空間中;g、在所述客 戶端的內(nèi)存空間中,按照所述第一子控制信息塊中的控制信息,對所述內(nèi)存空間中的從所 述第一數(shù)據(jù)字段和所述增量升級文件中的數(shù)據(jù)信息讀取的相應數(shù)據(jù)進行合成計算,生成第 二數(shù)據(jù)字段的第一部分數(shù)據(jù)內(nèi)容;h、將所述第二數(shù)據(jù)字段的第一部分數(shù)據(jù)內(nèi)容從所述客戶 端的內(nèi)存空間中讀出,并寫入所述客戶端的磁盤空間中,刪除所述客戶端的內(nèi)存空間中的 內(nèi)容以釋放所述客戶端的內(nèi)存空間;i、再按照上述步驟e-h,生成第二數(shù)據(jù)字段的其他部 分數(shù)據(jù)內(nèi)容并寫入所述客戶端的磁盤空間中,刪除所述客戶端的內(nèi)存空間中的內(nèi)容以釋放 所述客戶端的內(nèi)存空間;j、在所述客戶端的內(nèi)存空間中,將所述第二數(shù)據(jù)字段的各部分數(shù) 據(jù)內(nèi)容順序組合,形成第二數(shù)據(jù)字段。本實施方式可有效節(jié)省合成計算所需的內(nèi)存空間占 用率,有效降低內(nèi)存資源的消耗。
      [0108] 需要說明的是,上述兩種實施方式可以根據(jù)實際情況進行選擇,例如:當客戶端的 硬件配置較高,內(nèi)存資源較豐富的情況下,可選用第一種實施方式,提升合成計算的效率; 再如:當客戶端的硬件配置較低,內(nèi)存資源較少的情況下,可選用第二種實施方式,有效降 低內(nèi)存資源的消耗。
      [0109] S311,將所述第二數(shù)據(jù)字段和所述擴展字段整合為第二版本軟件。
      [0110] 本步驟中,可以將所述擴展字段添加至所述第二數(shù)據(jù)字段的末端,整合形成第二 版本軟件。
      [0111] S312,計算所述第二版本軟件的校驗信息。
      [0112] 其中,所述第二版本軟件的校驗信息,指對所述第二版本軟件的第二數(shù)據(jù)字段進 行校驗計算獲得,可唯一標識一個第二版本軟件;該校驗信息可以采用校驗算法進行計算 獲得,該校驗算法包括但不限于:哈希算法、MD5算法等等。優(yōu)選地,本步驟中所述第二版本 軟件的校驗信息為所述第二版本軟件的第二數(shù)據(jù)字段的MD5值。
      [0113] S313,比較所述第二版本軟件的校驗信息與所述升級配置信息中的所述相匹配的 第一配置校驗信息對應的第二配置檢驗信息是否相同;若相同,轉(zhuǎn)入步驟S314;否則,結(jié) 束。
      [0114] 如前述,所述升級配置信息中包括至少一個第一配置校驗信息,以及所述至少一 個第一配置校驗信息各對應的第二配置校驗信息。本步驟中,可比較步驟S312計算獲得 的所述第二版本軟件的校驗信息與所述升級配置信息中的所述相匹配的第一配置校驗信 息對應的第二配置檢驗信息是否相同;按照上述例子,所述相匹配的第一配置校驗信息為 MD5h,按照圖6所示步驟S302中所給出的例子,MD5h對應的第二配置校驗信息為MD5i_2, 本步驟則判斷步驟S312計算獲得的所述第二版本軟件的MD5值是否與MD5i_ 2的值相同; 如果二者相同,表明所述第二版本軟件正確,在整合過程中未出現(xiàn)錯誤,可繼續(xù)執(zhí)行步驟 S314;如果二者不同,表明所述第二版本軟件存在數(shù)據(jù)錯誤,可能在整合過程中出現(xiàn)了錯 誤,結(jié)束軟件升級過程,同時還可輸出升級失敗提示信息。
      [0115] 本實施例的步驟S309-步驟S313可以為圖4所示實施例的步驟S102的具體細化 步驟,或者可以為圖5所示實施例的步驟S203的具體細化步驟。需要說明的是,其中的步 驟S312-步驟S313為可選步驟,如果可以確定步驟S311整合獲得的第二版本軟件正確,也 可以不用執(zhí)行步驟S312-步驟S313,直接轉(zhuǎn)而執(zhí)行步驟S314。
      [0116] S314,在所述客戶端中安裝所述第二版本軟件。
      [0117] 在所述客戶端中安裝所述第二版本軟件之后,該第二版本軟件則可替換客戶端中 的所述第一版本軟件,從而完成軟件升級過程。
      [0118] 本發(fā)明實施例中,當客戶端中的第一版本軟件需要升級時,無需下載新版本軟件 的完整安裝包,僅需要獲取關(guān)于所述第一版本軟件的增量升級文件進行軟件升級;由于增 量升級文件的數(shù)據(jù)量相對于完整安裝包的數(shù)據(jù)量通常較小,從而有效的降低了帶寬資源的 消耗,降低軟件升級和維護成本。
      [0119] 下面將結(jié)合附圖7-附圖11,對本發(fā)明實施例提供的一種軟件升級裝置的結(jié)構(gòu)進 行詳細介紹。需要說明的是,附圖7-附圖11所示的軟件升級裝置,用于執(zhí)行本發(fā)明圖4-圖 6所示實施例的方法,為了便于說明,僅示出了與本發(fā)明實施例相關(guān)的部分,具體技術(shù)細節(jié) 未揭示的,請參照本發(fā)明圖4-圖6所示的實施例。
      [0120] 請參見圖7,為本發(fā)明實施例提供的一種軟件升級裝置的結(jié)構(gòu)示意圖;該裝置可 包括:升級獲取模塊101、整合模塊102和安裝模塊103。
      [0121] 升級獲取模塊101,用于當客戶端中的第一版本軟件需要升級時,獲取關(guān)于所述第 一版本軟件的增量升級文件。
      [0122] 其中,所述第一版本軟件包括第一數(shù)據(jù)字段和擴展字段;所述增量升級文件包括 控制信息和數(shù)據(jù)信息。當客戶端中的第一版本軟件需要升級時,所述升級獲取模塊101可 以從服務(wù)器獲取所述增量升級文件的地址信息,并根據(jù)該地址信息,下載所述增量升級文 件。
      [0123] 整合模塊102,用于將所述第一版本軟件和所述增量升級文件進行整合,生成第二 版本軟件。
      [0124] 其中,所述增量升級文件指第一版本軟件與第二版本軟件的補丁差異文件,因此 相應地,在獲得所述第一版本軟件的增量升級文件之后,所述整合模塊102可以將所述第 一版本軟件和所述增量升級文件進行整合,生成第二版本軟件??梢岳斫獾氖?,所述整合模 塊102將所述第一版本軟件和增量升級文件進行整合的過程,與第一版本軟件與第二版本 軟件進行差異計算獲得增量升級文件的過程屬于相逆的過程。
      [0125] 安裝模塊103,用于在所述客戶端中安裝所述第二版本軟件。
      [0126] 在所述客戶端中安裝所述第二版本軟件之后,該第二版本軟件則可替換客戶端中 的所述第一版本軟件,從而完成軟件升級過程。
      [0127] 本發(fā)明實施例中,當客戶端中的第一版本軟件需要升級時,無需下載新版本軟件 的完整安裝包,僅需要獲取關(guān)于所述第一版本軟件的增量升級文件進行軟件升級;由于增 量升級文件的數(shù)據(jù)量相對于完整安裝包的數(shù)據(jù)量通常較小,從而有效的降低了帶寬資源的 消耗,降低軟件升級和維護成本。
      [0128] 請參見圖8,為本發(fā)明實施例提供的另一種軟件升級裝置的結(jié)構(gòu)示意圖;該裝置 可包括:升級獲取模塊101、整合模塊102、安裝模塊103和升級判斷模塊104。其中,升級 獲取模塊101、整合模塊102和安裝模塊103的結(jié)構(gòu)可參見圖7所示實施例的相關(guān)描述,在 此不贅述。
      [0129] 升級判斷模塊104,用于判斷所述客戶端中的第一版本軟件是否需要升級。
      [0130] 所述升級判斷模塊104可以在用戶登錄至第一版本軟件時,發(fā)起對該第一版本軟 件的升級判斷過程;或者,在用戶已登錄至第一版本軟件之后,使用該第一版本軟件的過程 中,發(fā)起對該第一版本軟件的升級判斷過程;例如:針對客戶端中的VI. 0版本的IM軟件A, 當用戶登錄該VI. 0版本的IM軟件A時,所述升級判斷模塊104可向服務(wù)器發(fā)送升級檢測 消息,以判斷該VI. 0版本的IM軟件A是否需要升級;或者,用戶登錄該VI. 0版本的IM軟 件A之后,所述升級判斷模塊104可以定時(例如:每隔一天、或每隔兩天等等)向服務(wù)器發(fā) 送升級檢測消息,以判斷該VI. 0版本的IM軟件A是否需要升級。
      [0131] 本發(fā)明實施例中,當客戶端中的第一版本軟件需要升級時,無需下載新版本軟件 的完整安裝包,僅需要獲取關(guān)于所述第一版本軟件的增量升級文件進行軟件升級;由于增 量升級文件的數(shù)據(jù)量相對于完整安裝包的數(shù)據(jù)量通常較小,從而有效的降低了帶寬資源的 消耗,降低軟件升級和維護成本。
      [0132] 下面將結(jié)合附圖9-附圖11,對圖7和圖8所示實施例的軟件升級裝置的各模塊進 行詳細介紹。
      [0133] 請參見圖9,為本發(fā)明實施例提供的升級判斷模塊的結(jié)構(gòu)示意圖;該升級判斷模 塊104可包括:檢測單元1401、配置接收單元1402、升級判斷單元1403和升級確認單元 1404。
      [0134] 檢測單元1401,用于向服務(wù)器發(fā)送升級檢測消息。
      [0135] 其中,所述升級檢測消息中攜帶所述客戶端中的第一版本軟件的版本相關(guān)信息; 該第一版本軟件的版本相關(guān)信息可以包括但不限于:第一版本軟件的校驗信息(例如:第 一版本軟件的MD5值)、該第一版本軟件的版本號(例如:V1. 0)、客戶端的系統(tǒng)參數(shù)(如:操 作系統(tǒng)類型、操作系統(tǒng)的版本等),等等。所述檢測單元1401可以在用戶登錄至第一版本軟 件時,向服務(wù)器發(fā)送升級檢測消息;或者,在用戶已登錄至第一版本軟件之后,使用該第一 版本軟件的過程中,向服務(wù)器發(fā)送升級檢測消息;例如:針對客戶端中的VI. 0版本的IM軟 件A,當用戶登錄該VI. 0版本的IM軟件A時,所述檢測單元1401可向服務(wù)器發(fā)送升級檢 測消息;或者,用戶登錄該VI. 0版本的IM軟件A之后,所述檢測單元1401可以定時(例如: 每隔一天、或每隔兩天等等)向服務(wù)器發(fā)送升級檢測消息。
      [0136] 配置接收單元1402,用于接收所述服務(wù)器返回的升級配置信息。
      [0137] 服務(wù)器在接收到升級檢測消息之后,可以根據(jù)升級檢測消息中攜帶的第一版本軟 件的版本相關(guān)信息,生成關(guān)于所述第一版本軟件的升級配置信息;所述配置接收單元1402 接收所述服務(wù)器返回的所述升級配置信息。舉例來說,所述升級配置信息可采用下述的XML 格式:
      [0138] <patchupdate base="http://dldirl.xx.corii/ " count="" > 〈item oldl = 'VW)5, newl = " MD5,," patch 1 = " MD5] 3" url = "patch 1" size = "19965"> <item> <item old2 = " MD52 i" new2 = " M.)52 , patch2 = " M/..)52./ url = "patch2" size = "19965M> </item>
      [0139] <item......</item> </patchupdate>
      [0140] 其中,一個item表示所述升級配置信息中一個升級配置項;每個item中的old的 值表示第一配置校驗信息;new的值表示第二配置校驗信息;patch的值表示增量配置校驗 ?目息;base+url的值表不地址彳目息。
      [0141] 根據(jù)上述升級配置信息的格式可知,所述升級配置信息可包括至少一個升級配置 項(item),每個升級配置項(item)可包括:第一配置校驗信息、所述第一配置校驗信息對 應的第二配置校驗信息、所述第一配置校驗信息對應的增量配置校驗信息,以及所述第一 配置校驗信息對應的地址信息;例如:上述第一個item中,第一配置校驗信息為〃MD5K", 所述第一配置校驗信息對應的第二配置校驗信息為〃MD5i_2〃,所述第一配置校驗信息對 應的增量配置校驗信息為〃MD5i_ 3〃,所述第一配置校驗信息對應的地址信息為〃http:// dldirl. XX. com/patchl〃。再如:上述第二個item中,第一配置校驗信息為〃MD52_i〃,所述 第一配置校驗信息對應的第二配置校驗信息為〃MD5 2_2〃,所述第一配置校驗信息對應的增 量配置校驗信息為〃 MD52_3 〃,所述第一配置校驗信息對應的地址信息為〃 http://dldirl. XX.com/patch2〃。
      [0142] 升級判斷單元1403,用于判斷所述升級配置信息中是否存在與所述客戶端中的第 一版本軟件的校驗信息相匹配的第一配置校驗信息。
      [0143] 所述升級判斷單元1403的判斷過程可以為:首先,獲取所述客戶端中的第一版本 軟件的校驗信息,例如:可以從所述客戶端中的第一版本軟件的擴展字段中讀取所述第一 版本軟件的校驗信息;或者,可以根據(jù)所述客戶端中的第一版本軟件的第一數(shù)據(jù)字段,計算 所述客戶端中的第一版本軟件的校驗信息。其次,將所述客戶端中的第一版本軟件的校驗 信息分別與所述升級配置信息中的每個升級配置項(item)中的第一配置校驗信息進行比 較,如果所述客戶端中的第一版本軟件的校驗信息與所述升級配置信息中的任一個升級配 置項(item)中的第一配置校驗信息相同,則將與所述客戶端中的第一版本軟件的校驗信息 相同的第一配置校驗信息確定為相匹配的第一配置校驗信息,例如:如果判斷所述客戶端 中的第一版本軟件的校驗信息與所述升級配置信息中的第一個item中的MD5 W相同,則確 定MD5h為相匹配的第一配置校驗信息。如果所述升級配置信息中存在所述相匹配的第一 配置校驗信息,表明所述客戶端中的第一版本軟件存在升級配置,需要進行升級;如果所述 升級配置信息中存在所述相匹配的第一配置校驗信息,表明所述客戶端中的第一版本軟件 不存在升級配置,無需進行升級,可結(jié)束軟件升級過程。
      [0144] 升級確認單元1404,用于當所述升級配置信息中存在所述相匹配的第一配置檢驗 信息時,確認所述客戶端中的第一版本軟件需要升級。
      [0145] 請參見圖10a,為本發(fā)明實施例提供的升級獲取模塊的一個實施例的結(jié)構(gòu)示意圖; 該升級獲取模塊101可包括:地址查找單元1101和下載單元1102。
      [0146] 地址查找單元1101,用于當客戶端中的第一版本軟件需要升級時,從所述升級配 置信息中查找所述相匹配的第一配置校驗信息對應的地址信息。
      [0147] 其中,所述升級配置信息中包括至少一個第一配置校驗信息,以及所述至少一個 第一配置校驗信息各對應的地址信息。所述地址查找單元1101可從所述升級配置信息中 查找所述相匹配的第一配置校驗信息對應的地址信息;按照圖9所示實施例中所給出的例 子,所述相匹配的第一配置校驗信息為MD5h,所述地址查找單元1101則可從所述升級配 置信息中查找到MD5K對應的地址信息為〃http://dldirl. XX. com/patchl〃。
      [0148] 下載單元1102,用于根據(jù)查找到的地址信息,下載所述增量升級文件。
      [0149] 所述下載單元1102可利用查找到的地址信息,從該地址信息所指示的服務(wù)器或 網(wǎng)絡(luò)中下載所述增量升級文件;按照圖9所示實施例中所給出的例子,所述下載單元1102 可從〃http://dldirl. XX. com/patchl〃所指示的服務(wù)器或網(wǎng)絡(luò)中下載所述增量升級文件。
      [0150] 請參見圖10b,為本發(fā)明實施例提供的升級獲取模塊的另一個實施例的結(jié)構(gòu)示意 圖;地址查找單元1101、下載單元1102、第一校驗計算單元1103和第一比較單元1104。其 中,地址查找單元1101和下載單元1102的結(jié)構(gòu)可參見圖10a所示實施例的相關(guān)描述,在此 不贅述。
      [0151] 第一校驗計算單元1103,用于計算已下載的所述增量升級文件的校驗信息。
      [0152] 其中,所述增量升級文件的校驗信息,指對所述增量升級文件進行校驗計算獲得, 可唯一標識一個增量升級文件;該校驗信息可以采用校驗算法進行計算獲得,該校驗算法 包括但不限于:哈希算法、MD5算法等等。優(yōu)選地,所述增量升級文件的校驗信息為所述增 量升級文件的MD5值。
      [0153] 第一比較單元1104,用于比較已下載的所述增量升級文件的校驗信息與所述升 級配置信息中的所述相匹配的第一配置校驗信息對應的增量配置檢驗信息是否相同,若相 同,則通知所述整合模塊將所述第一版本軟件和所述增量升級文件進行整合,生成第二版 本軟件;若不同,則通知所述下載單元根據(jù)查找到的地址信息,重新下載所述增量升級文 件。
      [0154] 其中,所述升級配置信息中包括至少一個第一配置校驗信息,以及所述至少一個 第一配置校驗信息各對應的增量配置校驗信息。所述第一比較單元1104可比較已下載的 所述增量升級文件的校驗信息與所述升級配置信息中的所述相匹配的第一配置校驗信息 對應的增量配置檢驗信息是否相同;按照圖9所示實施例中所給出的例子,所述相匹配的 第一配置校驗信息為MD5K, MD5H對應的增量配置校驗信息為MD5i_3,所述第一比較單元 1104則判斷已下載的所述增量升級文件的MD5值是否與MD5i_ 3的值相同;如果二者相同,表 明已下載的增量升級文件正確,在下載過程中未出現(xiàn)數(shù)據(jù)丟失,可通知所述整合模塊將所 述第一版本軟件和所述增量升級文件進行整合,生成第二版本軟件;如果二者不同,表明已 下載的增量升級文件可能在下載過程中出現(xiàn)數(shù)據(jù)丟失,則需要通知所述下載單元根據(jù)查找 到的地址信息,重新下載所述增量升級文件;進一步,本發(fā)明實施例中還可以設(shè)置重新下載 的次數(shù)限制,例如:可設(shè)置重新下載的次數(shù)為5次,當所述下載單元重新下載5次增量升級 文件后,如果仍然判斷該增量升級文件在下載過程中出現(xiàn)了數(shù)據(jù)丟失,則可輸出升級失敗 提示信息。
      [0155] 請參見圖11a,為本發(fā)明實施例提供的整合模塊的一個實施例的結(jié)構(gòu)示意圖;該 整合模塊102可包括:解析單元1201、合成計算單元1202和整合單元1203。
      [0156] 解析單元1201,用于解析所述第一版本軟件,獲得第一數(shù)據(jù)字段和擴展字段。
      [0157] 如圖1所示,所述第一版本軟件包含第一數(shù)據(jù)字段和擴展字段。所述解析單元 1201解析所述第一版本軟件,獲得第一數(shù)據(jù)字段和擴展字段。
      [0158] 合成計算單元1202,用于按照所述增量升級文件中的控制信息,將所述第一數(shù)據(jù) 字段和所述增量升級文件中的數(shù)據(jù)信息進行合成計算,生成第二數(shù)據(jù)字段。
      [0159] 如圖3所示,所述增量升級文件包括控制信息和數(shù)據(jù)信息。所述合成計算單元 1202的合成計算過程可以存在以下兩種可行的實施方式:
      [0160] 在第一種可行的實施方式中,所述合成計算單元1202的合成計算過程可包括:a、 將所述增量升級文件的控制信息塊(Ctrl Block)中的控制信息全部讀取至所述客戶端的 內(nèi)存空間中;b、將所述第一數(shù)據(jù)字段和所述增量升級文件中的數(shù)據(jù)信息也全部讀取至所述 客戶端的內(nèi)存空間中;c、在所述客戶端的內(nèi)存空間中,按照所述增量升級文件的控制信息, 將所述第一數(shù)據(jù)字段和所述增量升級文件中的數(shù)據(jù)信息進行合成計算,生成第二數(shù)據(jù)字 段;d、將所述第二數(shù)據(jù)字段從所述客戶端的內(nèi)存空間中讀出,并寫入所述客戶端的磁盤空 間中,刪除所述客戶端的內(nèi)存空間中的內(nèi)容以釋放所述客戶端的內(nèi)存空間。本實施方式可 快速合成第二數(shù)據(jù)字段,提升合成計算的效率。
      [0161] 在第二種可行的實施方式中,述合成計算單元1202的合成計算過程可包括:e、將 所述增量升級文件的控制信息塊(Ctrl Block)中的第一個子控制信息塊中的控制信息讀 取至所述客戶端的內(nèi)存空間中;f、按照所述第一個子控制信息塊中的控制信息,從所述第 一數(shù)據(jù)字段和所述增量升級文件中的數(shù)據(jù)信息中讀取相應的數(shù)據(jù)至所述客戶端的內(nèi)存空 間中;g、在所述客戶端的內(nèi)存空間中,按照所述第一子控制信息塊中的控制信息,對所述內(nèi) 存空間中的從所述第一數(shù)據(jù)字段和所述增量升級文件中的數(shù)據(jù)信息讀取的相應數(shù)據(jù)進行 合成計算,生成第二數(shù)據(jù)字段的第一部分數(shù)據(jù)內(nèi)容;h、將所述第二數(shù)據(jù)字段的第一部分數(shù) 據(jù)內(nèi)容從所述客戶端的內(nèi)存空間中讀出,并寫入所述客戶端的磁盤空間中,刪除所述客戶 端的內(nèi)存空間中的內(nèi)容以釋放所述客戶端的內(nèi)存空間;i、再按照上述e-h,生成第二數(shù)據(jù) 字段的其他部分數(shù)據(jù)內(nèi)容并寫入所述客戶端的磁盤空間中,刪除所述客戶端的內(nèi)存空間中 的內(nèi)容以釋放所述客戶端的內(nèi)存空間;j、在所述客戶端的內(nèi)存空間中,將所述第二數(shù)據(jù)字 段的各部分數(shù)據(jù)內(nèi)容順序組合,形成第二數(shù)據(jù)字段。本實施方式可有效節(jié)省合成計算所需 的內(nèi)存空間占用率,有效降低內(nèi)存資源的消耗。
      [0162] 需要說明的是,上述兩種實施方式可以根據(jù)實際情況進行選擇,例如:當客戶端的 硬件配置較高,內(nèi)存資源較豐富的情況下,可選用第一種實施方式,提升合成計算的效率; 再如:當客戶端的硬件配置較低,內(nèi)存資源較少的情況下,可選用第二種實施方式,有效降 低內(nèi)存資源的消耗。
      [0163] 整合單元1203,用于將所述第二數(shù)據(jù)字段和所述擴展字段整合為第二版本軟件。
      [0164] 所述整合單元1203可以將所述擴展字段添加至所述第二數(shù)據(jù)字段的末端,整合 形成第二版本軟件。
      [0165] 請參見圖11b,為本發(fā)明實施例提供的整合模塊的另一個實施例的結(jié)構(gòu)示意圖; 解析單元1201、合成計算單元1202、整合單元1203、第二校驗計算單元1204和第二比較單 元1205。其中,解析單元1201、合成計算單元1202和整合單元1203的結(jié)構(gòu)可參見圖11a 所示實施例的相關(guān)描述,在此不贅述。
      [0166] 第二校驗計算單元1204,用于計算所述第二版本軟件的校驗信息。
      [0167] 其中,所述第二版本軟件的校驗信息,指對所述第二版本軟件的第二數(shù)據(jù)字段進 行校驗計算獲得,可唯一標識一個第二版本軟件;該校驗信息可以采用校驗算法進行計算 獲得,該校驗算法包括但不限于:哈希算法、MD5算法等等。優(yōu)選地,所述第二版本軟件的校 驗信息為所述第二版本軟件的第二數(shù)據(jù)字段的MD5值。
      [0168] 第二比較單元1205,用于比較比較所述第二版本軟件的校驗信息與所述升級配置 信息中的所述相匹配的第一配置校驗信息對應的第二配置檢驗信息是否相同,若相同,通 知所述安裝模塊在所述客戶端中安裝所述第二版本軟件。
      [0169] 其中,所述升級配置信息中包括至少一個第一配置校驗信息,以及所述至少一個 第一配置校驗信息各對應的第二配置校驗信息。所述第二比較單元1205可比較所述第二 版本軟件的校驗信息與所述升級配置信息中的所述相匹配的第一配置校驗信息對應的第 二配置檢驗信息是否相同;按照圖9所示實施例中所給出的例子,所述相匹配的第一配置 校驗信息為MD5h,MD5 W對應的第二配置校驗信息為MD5i_2,所述第二比較單元1205判斷 所述第二版本軟件的MD5值是否與MD5i_ 2的值相同;如果二者相同,表明所述第二版本軟 件正確,在整合過程中未出現(xiàn)錯誤,可通知所述安裝模塊在所述客戶端中安裝所述第二版 本軟件;如果二者不同,表明所述第二版本軟件存在數(shù)據(jù)錯誤,可能在整合過程中出現(xiàn)了錯 誤,可結(jié)束軟件升級過程,同時還可輸出升級失敗提示信息。
      [0170] 本發(fā)明實施例中,當客戶端中的第一版本軟件需要升級時,無需下載新版本軟件 的完整安裝包,僅需要獲取關(guān)于所述第一版本軟件的增量升級文件進行軟件升級;由于增 量升級文件的數(shù)據(jù)量相對于完整安裝包的數(shù)據(jù)量通常較小,從而有效的降低了帶寬資源的 消耗,降低軟件升級和維護成本。
      [0171] 本發(fā)明實施例還提供了一種客戶端,該客戶端可包含軟件升級裝置,該軟件升級 裝置的結(jié)構(gòu)可參見圖7-圖11所示實施例的相關(guān)描述,在此不贅述。需要說明的是,本實施 例的客戶端可以應用于上述圖4-圖6所示的方法中。
      [0172] 本發(fā)明實施例中,當客戶端中的第一版本軟件需要升級時,無需下載新版本軟件 的完整安裝包,僅需要獲取關(guān)于所述第一版本軟件的增量升級文件進行軟件升級;由于增 量升級文件的數(shù)據(jù)量相對于完整安裝包的數(shù)據(jù)量通常較小,從而有效的降低了帶寬資源的 消耗,降低軟件升級和維護成本。
      [0173] 請參見圖12,為本發(fā)明實施例提供的一種軟件升級系統(tǒng)的結(jié)構(gòu)示意圖;該系統(tǒng)可 包含服務(wù)器和至少一個客戶端,該客戶端包括軟件升級裝置,該軟件升級裝置的結(jié)構(gòu)可參 見圖7-圖11所示實施例的相關(guān)描述,在此不贅述。需要說明的是,本實施例的軟件升級系 統(tǒng)以及系統(tǒng)中的服務(wù)器、客戶端均可應用于圖4-圖6所示實施例的方法中。
      [0174] 請一并參見圖13,為本發(fā)明實施例提供的一種服務(wù)器的結(jié)構(gòu)示意圖;該服務(wù)器可 包括:升級檢測模塊201、升級配置模塊202和返回模塊203。
      [0175] 升級檢測模塊201,用于接收所述客戶端發(fā)送的升級檢測消息。
      [0176] 其中,所述升級檢測消息中攜帶所述客戶端中的第一版本軟件的版本相關(guān)信息。 所述升級檢測消息中攜帶所述客戶端中的第一版本軟件的版本相關(guān)信息;該第一版本軟件 的版本相關(guān)信息可以包括但不限于:第一版本軟件的校驗信息(例如:第一版本軟件的MD5 值)、該第一版本軟件的版本號(例如:V1.0)、客戶端的系統(tǒng)參數(shù)(如:操作系統(tǒng)類型、操作系 統(tǒng)的版本等),等等。所述升級檢測模塊201可以在用戶登錄至所述客戶端的第一版本軟件 時,接收所述客戶端發(fā)送的升級檢測消息;或者,所述升級檢測模塊201也可以在用戶已登 錄至第一版本軟件之后,使用該第一版本軟件的過程中,定時接收所述客戶端發(fā)送的升級 檢測消息。
      [0177] 升級配置模塊202,用于根據(jù)所述升級檢測消息,生成關(guān)于所述第一版本軟件的升 級配置信息。
      [0178] 所述升級配置模塊202可以根據(jù)升級檢測消息中攜帶的第一版本軟件的版本相 關(guān)信息,生成關(guān)于所述第一版本軟件的升級配置信息;所述升級配置信息可采用下述的 XML格式表示如下:
      [0179] <patchupdate base-'http://dldirl.xx.com/" coimt-'" > 〈item oldl = " MD5, i" newl = v patch ! = '' MD5, 3" uii = "patch 1" size = "19965 "> </item> 〈item o!d2 = " MI)52 :" new2 = " M)5;:" patch2 = " MI)52 3" url = "patch2" size = "19965M> </item> 〈item......</itern> </patchupdate>
      [0180] 其中,一個item表示所述升級配置信息中一個升級配置項;每個item中的old的 值表示第一配置校驗信息;new的值表示第二配置校驗信息;patch的值表示增量配置校驗 ?目息;base+url的值表不地址彳目息。
      [0181] 根據(jù)上述升級配置信息的格式可知,所述升級配置信息可包括至少一個升級配置 項(item),每個升級配置項(item)可包括:第一配置校驗信息、所述第一配置校驗信息對 應的第二配置校驗信息、所述第一配置校驗信息對應的增量配置校驗信息,以及所述第一 配置校驗信息對應的地址信息;例如:上述第一個item中,第一配置校驗信息為〃MD5K", 所述第一配置校驗信息對應的第二配置校驗信息為〃MD5i_ 2〃,所述第一配置校驗信息對 應的增量配置校驗信息為〃MD5i_3〃,所述第一配置校驗信息對應的地址信息為〃http:// dldirl. XX. com/patchl〃。再如:上述第二個item中,第一配置校驗信息為〃MD52_i〃,所述 第一配置校驗信息對應的第二配置校驗信息為〃MD5 2_2〃,所述第一配置校驗信息對應的增 量配置校驗信息為〃 MD52_3 〃,所述第一配置校驗信息對應的地址信息為〃 http://dldirl. XX.com/patch2〃。
      [0182] 返回模塊203,用于向所述客戶端返回所述升級配置信息。
      [0183] 所述返回模塊203向所述客戶端返回所述升級配置信息,所述客戶端則可以根據(jù) 所升級配置信息,完成所述客戶端的第一版本軟件的升級過程。
      [0184] 本發(fā)明實施例中,當客戶端中的第一版本軟件需要升級時,無需下載新版本軟件 的完整安裝包,僅需要獲取關(guān)于所述第一版本軟件的增量升級文件進行軟件升級;由于增 量升級文件的數(shù)據(jù)量相對于完整安裝包的數(shù)據(jù)量通常較小,從而有效的降低了帶寬資源的 消耗,降低軟件升級和維護成本。
      [0185] 本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例方法中的全部或部分流程,是可以 通過計算機程序來指令相關(guān)的硬件來完成,所述的程序可存儲于一計算機可讀取存儲介質(zhì) 中,該程序在執(zhí)行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質(zhì)可為磁 碟、光盤、只讀存儲記憶體(Read-Only Memory, ROM)或隨機存儲記憶體(Random Access Memory,RAM)等。
      [0186] 以上所揭露的僅為本發(fā)明較佳實施例而已,當然不能以此來限定本發(fā)明之權(quán)利范 圍,因此依本發(fā)明權(quán)利要求所作的等同變化,仍屬本發(fā)明所涵蓋的范圍。
      【權(quán)利要求】
      1. 一種軟件升級方法,其特征在于,包括: 當客戶端中的第一版本軟件需要升級時,獲取關(guān)于所述第一版本軟件的增量升級文 件; 將所述第一版本軟件和所述增量升級文件進行整合,生成第二版本軟件; 在所述客戶端中安裝所述第二版本軟件。
      2. 如權(quán)利要求1所述的方法,其特征在于,所述當客戶端中的第一版本軟件需要升級 時,獲取關(guān)于所述第一版本軟件的增量升級文件之前,還包括: 判斷所述客戶端中的第一版本軟件是否需要升級。
      3. 如權(quán)利要求2所述的方法,其特征在于,所述判斷所述客戶端中的第一版本軟件是 否需要升級,包括: 向服務(wù)器發(fā)送升級檢測消息,所述升級檢測消息中攜帶所述客戶端中的第一版本軟件 的版本相關(guān)信息; 接收所述服務(wù)器返回的升級配置信息,所述升級配置信息中包括至少一個第一配置校 驗信息; 判斷所述升級配置信息中是否存在與所述客戶端中的第一版本軟件的校驗信息相匹 配的第一配置校驗信息; 如果所述升級配置信息中存在所述相匹配的第一配置檢驗信息,確認所述客戶端中的 第一版本軟件需要升級。
      4. 如權(quán)利要求3所述的方法,其特征在于,所述升級配置信息中還包括所述至少一個 第一配置校驗信息各對應的地址信息; 所述當客戶端中的第一版本軟件需要升級時,獲取關(guān)于所述第一版本軟件的增量升級 文件,包括: 當客戶端中的第一版本軟件需要升級時,從所述升級配置信息中查找所述相匹配的第 一配置校驗信息對應的地址信息; 根據(jù)查找到的地址信息,下載所述增量升級文件。
      5. 如權(quán)利要求4所述的方法,其特征在于,所述升級配置信息中還包括所述至少一個 第一配置校驗信息各對應的增量配置校驗信息; 所述根據(jù)查找到的地址信息,下載所述增量升級文件之后,還包括: 計算已下載的所述增量升級文件的校驗信息; 比較已下載的所述增量升級文件的校驗信息與所述升級配置信息中的所述相匹配的 第一配置校驗信息對應的增量配置檢驗信息是否相同; 若相同,執(zhí)行將所述第一版本軟件和所述增量升級文件進行整合,生成第二版本軟件 的步驟; 若不同,根據(jù)查找到的地址信息,重新下載所述增量升級文件。
      6. 如權(quán)利要求3-5任一項所述的方法,其特征在于,所述第一版本軟件包括第一數(shù)據(jù) 字段和擴展字段; 所述增量升級文件包括控制信息和數(shù)據(jù)信息; 所述第二版本軟件包括第二數(shù)據(jù)字段和擴展字段。
      7. 如權(quán)利要求6所述的方法,其特征在于,所述將所述第一版本軟件和所述增量升級 文件進行整合,生成第二版本軟件,包括: 解析所述第一版本軟件,獲得第一數(shù)據(jù)字段和擴展字段; 按照所述增量升級文件中的控制信息,將所述第一數(shù)據(jù)字段和所述增量升級文件中的 數(shù)據(jù)信息進行合成計算,生成所述第二數(shù)據(jù)字段; 將所述第二數(shù)據(jù)字段和所述擴展字段整合為第二版本軟件。
      8. 如權(quán)利要7所述的方法,其特征在于,所述升級配置信息中還包括所述至少一個第 一配置校驗信息各對應的第二配置校驗信息; 所述將所述第二數(shù)據(jù)字段和所述擴展字段整合為第二版本軟件之后,還包括: 計算所述第二版本軟件的校驗信息; 比較所述第二版本軟件的校驗信息與所述升級配置信息中的所述相匹配的第一配置 校驗信息對應的第二配置檢驗信息是否相同; 若相同,執(zhí)行在所述客戶端中安裝所述第二版本軟件的步驟。
      9. 一種軟件升級裝置,其特征在于,包括: 升級獲取模塊,用于當客戶端中的第一版本軟件需要升級時,獲取關(guān)于所述第一版本 軟件的增量升級文件; 整合模塊,用于將所述第一版本軟件和所述增量升級文件進行整合,生成第二版本軟 件; 安裝模塊,用于在所述客戶端中安裝所述第二版本軟件。
      10. 如權(quán)利要求9所述的裝置,其特征在于,還包括: 升級判斷模塊,用于判斷所述客戶端中的第一版本軟件是否需要升級。
      11. 如權(quán)利要求10所述的裝置,其特征在于,所述升級判斷模塊包括: 檢測單元,用于向服務(wù)器發(fā)送升級檢測消息,所述升級檢測消息中攜帶所述客戶端中 的第一版本軟件的版本相關(guān)信息; 配置接收單元,用于接收所述服務(wù)器返回的升級配置信息,所述升級配置信息中包括 至少一個第一配置校驗信息; 升級判斷單元,用于判斷所述升級配置信息中是否存在與所述客戶端中的第一版本軟 件的校驗信息相匹配的第一配置校驗信息; 升級確認單元,用于當所述升級配置信息中存在所述相匹配的第一配置檢驗信息時, 確認所述客戶端中的第一版本軟件需要升級。
      12. 如權(quán)利要求11所述的裝置,其特征在于,所述升級配置信息中還包括所述至少一 個第一配置校驗信息各對應的地址信息; 所述升級獲取模塊包括: 地址查找單元,用于當客戶端中的第一版本軟件需要升級時,從所述升級配置信息中 查找所述相匹配的第一配置校驗信息對應的地址信息; 下載單元,用于根據(jù)查找到的地址信息,下載所述增量升級文件。
      13. 如權(quán)利要求12所述的裝置,其特征在于,所述升級配置信息中還包括所述至少一 個第一配置校驗信息各對應的增量配置校驗信息; 所述升級獲取模塊還包括: 第一校驗計算單元,用于計算已下載的所述增量升級文件的校驗信息; 第一比較單元,用于比較已下載的所述增量升級文件的校驗信息與所述升級配置信息 中的所述相匹配的第一配置校驗信息對應的增量配置檢驗信息是否相同,若相同,則通知 所述整合模塊將所述第一版本軟件和所述增量升級文件進行整合,生成第二版本軟件;若 不同,則通知所述下載單元根據(jù)查找到的地址信息,重新下載所述增量升級文件。
      14. 如權(quán)利要求11-13任一項所述的裝置,其特征在于,所述第一版本軟件包括第一數(shù) 據(jù)字段和擴展字段; 所述增量升級文件包括控制信息和數(shù)據(jù)信息; 所述第二版本軟件包括第二數(shù)據(jù)字段和擴展字段。
      15. 如權(quán)利要求14所述的裝置,其特征在于,所述整合模塊包括: 解析單元,用于解析所述第一版本軟件,獲得第一數(shù)據(jù)字段和擴展字段; 合成計算單元,用于按照所述增量升級文件中的控制信息,將所述第一數(shù)據(jù)字段和所 述增量升級文件中的數(shù)據(jù)信息進行合成計算,生成第二數(shù)據(jù)字段; 整合單元,用于將所述第二數(shù)據(jù)字段和所述擴展字段整合為第二版本軟件。
      16. 如權(quán)利要求11-15任一項所述的裝置,其特征在于,所述升級配置信息中還包括所 述至少一個第一配置校驗信息各對應的第二配置校驗信息; 所述整合模塊還包括: 第二校驗計算單元,用于計算所述第二版本軟件的校驗信息; 第二比較單元,用于比較比較所述第二版本軟件的校驗信息與所述升級配置信息中的 所述相匹配的第一配置校驗信息對應的第二配置檢驗信息是否相同,若相同,通知所述安 裝模塊在所述客戶端中安裝所述第二版本軟件。
      17. -種客戶端,其特征在于,包括如權(quán)利要求9-16任一項所述的軟件升級裝置。
      18. -種軟件升級系統(tǒng),包括服務(wù)器,其特征在于,還包括至少一個如權(quán)利要求17所述 的客戶端,所述客戶端與所述服務(wù)器通信連接。
      19. 如權(quán)利要求18所述的系統(tǒng),其特征在于,所述服務(wù)器包括: 升級檢測模塊,用于接收所述客戶端發(fā)送的升級檢測消息,所述升級檢測消息中攜帶 所述客戶端中的第一版本軟件的版本相關(guān)信息; 升級配置模塊,用于根據(jù)所述升級檢測消息,生成關(guān)于所述第一版本軟件的升級配置 信息; 返回模塊,用于向所述客戶端返回所述升級配置信息。
      【文檔編號】G06F9/445GK104123149SQ201310155618
      【公開日】2014年10月29日 申請日期:2013年4月28日 優(yōu)先權(quán)日:2013年4月28日
      【發(fā)明者】趙志宏 申請人:騰訊科技(深圳)有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1