欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

軟件升級(jí)的方法和裝置的制作方法

文檔序號(hào):6603096閱讀:114來(lái)源:國(guó)知局
專利名稱:軟件升級(jí)的方法和裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)軟件領(lǐng)域,特別涉及一種軟件升級(jí)的方法和裝置。
背景技術(shù)
在計(jì)算機(jī)領(lǐng)域,對(duì)于已經(jīng)安裝好的軟件,為了優(yōu)化軟件、提高軟件的性能,通常需要對(duì)軟件進(jìn)行升級(jí)?,F(xiàn)有技術(shù)中,軟件升級(jí)過(guò)程主要包括以下步驟客戶端與服務(wù)器建立通信連接后,客戶端中的升級(jí)引擎從服務(wù)器下載軟件升級(jí)包,該軟件升級(jí)包中包括一個(gè)安裝引擎,該升級(jí)引擎調(diào)用安裝引擎,使該安裝引擎在被調(diào)用啟動(dòng)后,將升級(jí)軟件包中的升級(jí)資源文件更新到客戶端,從而完成一個(gè)軟件升級(jí)的過(guò)程。綜合上述,現(xiàn)有技術(shù)至少存在以下問(wèn)題目前的軟件升級(jí)方法,需要下載整個(gè)軟件的升級(jí)包,因此下載時(shí)間比較長(zhǎng),影響升級(jí)效率,并且只能對(duì)整個(gè)軟件進(jìn)行升級(jí),缺乏靈活性。

發(fā)明內(nèi)容
為了提高軟件升級(jí)的效率和靈活性,本發(fā)明實(shí)施例提供了一種軟件升級(jí)的方法和裝置。所述技術(shù)方案如下一種軟件升級(jí)的方法所述方法包括向服務(wù)器發(fā)送查詢報(bào)文,所述查詢報(bào)文攜帶軟件中模塊的標(biāo)識(shí)和所述模塊的當(dāng)前版本號(hào);接收所述服務(wù)器返回的響應(yīng)報(bào)文,所述響應(yīng)報(bào)文攜帶所述模塊標(biāo)識(shí)、所述模塊的最新版本號(hào)和所述模塊的升級(jí)信息;根據(jù)所述模塊的當(dāng)前版本號(hào)、所述模塊的最新版本號(hào)和所述模塊的升級(jí)信息,升級(jí)所述模塊標(biāo)識(shí)對(duì)應(yīng)的模塊。其中,所述模塊的升級(jí)信息包括所述模塊的安裝包地址信息或所述模塊的文件列表信息;所述根據(jù)所述模塊的當(dāng)前版本號(hào)、所述模塊的最新版本號(hào)和所述模塊的升級(jí)信息,升級(jí)所述模塊標(biāo)識(shí)對(duì)應(yīng)的模塊包括如果所述模塊的當(dāng)前版本號(hào)與所述模塊的最新版本號(hào)不一致,安裝所述模塊的安裝包地址信息對(duì)應(yīng)的安裝包;或者,如果所述模塊的當(dāng)前版本號(hào)與所述模塊的最新版本號(hào)不一致,將所述模塊中的文件更新為所述模塊的文件列表信息對(duì)應(yīng)的文件。其中,所述文件列表信息包括增量更新屬性;所述將所述模塊中的文件更新為所述文件列表信息對(duì)應(yīng)的文件包括如果所述文件列表信息對(duì)應(yīng)的文件的內(nèi)容為空,刪除所述模塊中文件標(biāo)識(shí)與所述內(nèi)容為空的文件標(biāo)識(shí)相同的文件;
如果所述文件列表信息對(duì)應(yīng)的文件在所述模塊中存在與其相同標(biāo)識(shí)的文件,替換所述模塊中與其相同標(biāo)識(shí)的文 件;如果所述文件列表信息對(duì)應(yīng)的文件在所述模塊中不存在與其相同標(biāo)識(shí)的文件,在所述模塊中增加所述文件列表信息對(duì)應(yīng)的文件。其中,所述查詢報(bào)文還包括所述模塊中文件的標(biāo)識(shí)和所述文件的當(dāng)前版本號(hào);所述模塊的升級(jí)信息包括所述文件的標(biāo)識(shí)、所述文件的最新版本號(hào)和所述文件的地址信息;所述根據(jù)所述模塊的當(dāng)前版本號(hào)、所述模塊的最新版本號(hào)和所述模塊的升級(jí)信息,升級(jí)所述模塊標(biāo)識(shí)對(duì)應(yīng)的模塊包括如果所述模塊的當(dāng)前版本號(hào)與所述模塊的最新版本號(hào)不一致,且所述文件的當(dāng)前版本號(hào)與所述文件的最新版本號(hào)不一致,將所述文件的標(biāo)識(shí)對(duì)應(yīng)的文件更新為所述文件的地址信息對(duì)應(yīng)的文件。其中,所述模塊的升級(jí)信息還包括所述模塊的依賴模塊、所述模塊與其依賴模塊之間的依賴關(guān)系和所述依賴模塊的升級(jí)信息,所述方法還包括根據(jù)所述依賴關(guān)系,確定優(yōu)先級(jí)順序;根據(jù)所述依賴模塊的升級(jí)信息,按照所述優(yōu)先級(jí)順序,依次升級(jí)相應(yīng)的依賴模塊。一種軟件升級(jí)的裝置,所述裝置包括發(fā)送模塊,用于向服務(wù)器發(fā)送查詢報(bào)文,所述查詢報(bào)文攜帶軟件中模塊的標(biāo)識(shí)和所述模塊的當(dāng)前版本號(hào);接收模塊,用于接收所述服務(wù)器返回的響應(yīng)報(bào)文,所述響應(yīng)報(bào)文攜帶所述模塊標(biāo)識(shí)、所述模塊的最新版本號(hào)和所述模塊的升級(jí)信息;升級(jí)模塊,用于根據(jù)所述模塊的當(dāng)前版本號(hào)、所述模塊的最新版本號(hào)和所述模塊的升級(jí)信息,升級(jí)所述模塊標(biāo)識(shí)對(duì)應(yīng)的模塊。其中,所述模塊的升級(jí)信息包括所述模塊的安裝包地址信息或所述模塊的文件列表信息;所述升級(jí)模塊包括安裝單元或更新單元;所述安裝單元,用于如果所述模塊的當(dāng)前版本號(hào)與所述模塊的最新版本號(hào)不一致,安裝所述模塊的安裝包地址信息對(duì)應(yīng)的安裝包;所述更新單元,用于如果所述模塊的當(dāng)前版本號(hào)與所述模塊的最新版本號(hào)不一致,將所述模塊中的文件更新為所述模塊的文件列表信息對(duì)應(yīng)的文件。其中,所述文件列表信息包括增量更新屬性;所述更新單元包括刪除子單元、替換子單元和增加子單元;刪除子單元,用于如果所述文件列表信息對(duì)應(yīng)的文件的內(nèi)容為空,刪除所述模塊中文件標(biāo)識(shí)與所述內(nèi)容為空的文件標(biāo)識(shí)相同的文件;替換子單元,用于如果所述文件列表信息對(duì)應(yīng)的文件在所述模塊中存在與其相同標(biāo)識(shí)的文件,替換所述模塊中與其相同標(biāo)識(shí)的文件;增加子單元,用于如果所述文件列表信息對(duì)應(yīng)的文件在所述模塊中不存在與其相同標(biāo)識(shí)的文件,在所述模塊中增加所述文件列表信息對(duì)應(yīng)的文件。其中,所述查詢報(bào)文還包括所述模塊中文件的標(biāo)識(shí)和所述文件的當(dāng)前版本號(hào);
所述模塊的升級(jí)信 息包括所述文件的標(biāo)識(shí)、所述文件的最新版本號(hào)和所述文件的地址信息;所述升級(jí)模塊包括文件升級(jí)單元,用于如果所述模塊的當(dāng)前版本號(hào)與所述模塊的最新版本號(hào)不一致,且所述文件的當(dāng)前版本號(hào)與所述文件的最新版本號(hào)不一致,將所述文件的標(biāo)識(shí)對(duì)應(yīng)的文件更新為所述文件的地址信息對(duì)應(yīng)的文件。其中,所述模塊的升級(jí)信息還包括所述模塊的依賴模塊、所述模塊與其依賴模塊之間的依賴關(guān)系和所述依賴模塊的升級(jí)信息,所述裝置還包括第二升級(jí)模塊,用于根據(jù)所述依賴關(guān)系,確定優(yōu)先級(jí)順序;根據(jù)所述依賴模塊的升級(jí)信息,按照所述優(yōu)先級(jí)順序,依次升級(jí)相應(yīng)的依賴模塊。本發(fā)明實(shí)施例提供的技術(shù)方案帶來(lái)的有益效果是通過(guò)向服務(wù)器發(fā)送軟件中模塊的標(biāo)識(shí)和當(dāng)前版本號(hào),并接收服務(wù)器返回的該模塊的升級(jí)信息,根據(jù)模塊的當(dāng)前版本號(hào)、最新版本號(hào)和升級(jí)信息升級(jí)該模塊,實(shí)現(xiàn)了一種基于模塊的軟件升級(jí),提高了軟件升級(jí)的效率和靈活性。另外,通過(guò)向服務(wù)器發(fā)送模塊中文件的標(biāo)識(shí)和文件的當(dāng)前版本號(hào),并接收服務(wù)器返回的該文件的地址信息,還可以對(duì)模塊中的文件進(jìn)行升級(jí),進(jìn)一步提高了軟件升級(jí)的效率和靈活性。


圖1是本發(fā)明實(shí)施例1中提供的軟件升級(jí)的方法流程圖;圖2是本發(fā)明實(shí)施例1中提供的軟件升級(jí)的方法流程圖;圖3是本發(fā)明實(shí)施例1中提供的安裝包升級(jí)的流程圖;圖4是本發(fā)明實(shí)施例1中提供的替換文件的流程圖;圖5是本發(fā)明實(shí)施例1中提供的重啟機(jī)器后替換的流程圖;圖6是本發(fā)明實(shí)施例1中提供的關(guān)閉程序進(jìn)行替換的流程圖;圖7是本發(fā)明實(shí)施例1中提供的程序退出時(shí)進(jìn)行替換的流程圖;圖8是本發(fā)明實(shí)施例1中提供的程序下次啟動(dòng)時(shí)進(jìn)行替換的流程圖;圖9是本發(fā)明實(shí)施例1中提供的文件增量更新示意圖;圖10是本發(fā)明實(shí)施例2中提供的軟件升級(jí)的裝置結(jié)構(gòu)示意圖;圖11是本發(fā)明實(shí)施例2中提供的軟件升級(jí)的裝置另一結(jié)構(gòu)示意圖;圖12是本發(fā)明實(shí)施例2中提供的軟件自升級(jí)的流程圖。
具體實(shí)施例方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明實(shí)施方式作進(jìn)一步地詳細(xì)描述。實(shí)施例1參見(jiàn)圖1,本實(shí)施例提供了一種軟件升級(jí)的方法,包括101 向服務(wù)器發(fā)送查詢報(bào)文,查詢報(bào)文攜帶軟件中模塊的標(biāo)識(shí)和模塊的當(dāng)前版本號(hào);進(jìn)一步的,查詢報(bào)文還包括模塊中文件的標(biāo)識(shí)和文件的當(dāng)前版本號(hào)。102 接收服務(wù)器返回的響應(yīng)報(bào)文,響應(yīng)報(bào)文攜帶模塊標(biāo)識(shí)、模塊的最新版本號(hào)和模塊的升級(jí)信息; 其中,對(duì)于模塊級(jí)別的軟件升級(jí),模塊的升級(jí)信息至少包括安裝包地址信息或文件列表信息;對(duì)于文件級(jí)別的軟件升級(jí),模塊的升級(jí)信息至少包括文件的標(biāo)識(shí)、文件的最新版本號(hào)和文件的地址信息。進(jìn)一步的,模塊的升級(jí)信息還可以包括模塊的依賴模塊、模塊與其依賴模塊之間的依賴關(guān)系和依賴模塊的升級(jí)信息。其中,模塊的依賴模塊是指在軟件升級(jí)過(guò)程中,如果對(duì)該模塊進(jìn)行升級(jí),必須先對(duì)其依賴模塊進(jìn)行升級(jí),也即模塊與其依賴模塊在其升級(jí)過(guò)程中存在一定的依附性。相應(yīng)的,軟件升級(jí)的方法還包括根據(jù)依賴關(guān)系,確定優(yōu)先級(jí)順序;根據(jù)依賴模塊的升級(jí)信息,按照優(yōu)先級(jí)順序,依次升級(jí)相應(yīng)的依賴模塊。其中,依賴關(guān)系是指在軟件升級(jí)過(guò)程中,如果欲對(duì)某一模塊進(jìn)行升級(jí),需要先對(duì)另一模塊進(jìn)行升級(jí)的這種依附關(guān)系,稱為依賴關(guān)系,該另一模塊即為該模塊的依賴模塊。103:根據(jù)模塊的當(dāng)前版本號(hào)、模塊的最新版本號(hào)和模塊的升級(jí)信息,升級(jí)模塊標(biāo)識(shí)對(duì)應(yīng)的模塊。對(duì)于模塊級(jí)別的軟件升級(jí),本步驟具體包括如果模塊的當(dāng)前版本號(hào)與模塊的最新版本號(hào)不一致,安裝安裝包地址信息對(duì)應(yīng)的安裝包;或者,如果模塊的當(dāng)前版本號(hào)與模塊的最新版本號(hào)不一致,將模塊中的文件更新為文件列表信息對(duì)應(yīng)的文件。對(duì)于文件級(jí)別的軟件升級(jí),本步驟具體包括如果模塊的當(dāng)前版本號(hào)與模塊的最新版本號(hào)不一致,且文件的當(dāng)前版本號(hào)與文件的最新版本號(hào)不一致,升級(jí)文件的標(biāo)識(shí)對(duì)應(yīng)的文件為文件的地址信息對(duì)應(yīng)的文件。本實(shí)施例提供的方法,通過(guò)向服務(wù)器發(fā)送軟件中模塊的標(biāo)識(shí)和當(dāng)前版本號(hào),并接收服務(wù)器返回的該模塊的升級(jí)信息,根據(jù)模塊的當(dāng)前版本號(hào)、最新版本號(hào)和升級(jí)信息升級(jí)該模塊,實(shí)現(xiàn)了一種基于模塊的軟件升級(jí),提高了軟件升級(jí)的效率和靈活性。另外,通過(guò)向服務(wù)器發(fā)送模塊中文件的標(biāo)識(shí)和文件的當(dāng)前版本號(hào),并接收服務(wù)器返回的該文件的地址信息,還可以對(duì)模塊中的文件進(jìn)行升級(jí),進(jìn)一步提高了軟件升級(jí)的效率和靈活性。參見(jiàn)圖2,下面結(jié)合具體實(shí)例介紹上述軟件升級(jí)的方法。201 客戶端在收集了本地模塊的版本信息之后,向服務(wù)器發(fā)送不同級(jí)別的查詢報(bào)文;其中,模塊級(jí)別的查詢報(bào)文至少攜帶軟件中模塊的標(biāo)識(shí)和模塊的當(dāng)前版本號(hào),文件級(jí)別的查詢報(bào)文除了攜帶軟件中模塊的標(biāo)識(shí)和模塊的當(dāng)前版本號(hào),還需要攜帶模塊中文件的標(biāo)識(shí)和文件的當(dāng)前版本號(hào)。通常情況下,客戶端僅發(fā)送已安裝模塊的模塊級(jí)別的信息。對(duì)于需要頻繁更新的文件,可以發(fā)送文件級(jí)別的信息。客戶端可以配置一個(gè)常見(jiàn)的頻繁更新的文件列表,如果發(fā)送的模塊中包含該列表中的文件,則會(huì)附帶一起發(fā)送給服務(wù)器。另外,文件級(jí)別的查詢可由服務(wù)器控制,服務(wù)器在提供文件信息時(shí),可以指定該文件是否是頻繁更新文件,客戶端根據(jù)服務(wù)器的指定更新相應(yīng)的文件列表。具體的,服務(wù)器可以根據(jù)各個(gè)文件更新次數(shù)的統(tǒng)計(jì)信息,判斷該文件是否是頻繁更新文件,也可以采用其他判斷方法,本實(shí)施例并不限定。202:服務(wù)器在接收到客戶端的查詢報(bào)文之后,對(duì)不同級(jí)別的查詢分別給客戶端不同的響應(yīng)報(bào)文其中,響應(yīng)報(bào)文至少攜帶模塊標(biāo)識(shí)、模塊的最新版本號(hào)、以及模塊的升級(jí)信息。具體的,a)對(duì)于模塊級(jí)別的查詢,模塊的升級(jí)信息至少包括模塊的安裝包地址信息或模塊的文件列表信息,還可以包括是否完全升級(jí)、是否強(qiáng)制升級(jí)等信息。其中,模塊的文件列表信息是指該模塊中所有文件的標(biāo)識(shí)、最新版本以及地址信息等。如果是完全升級(jí),則更新整個(gè)模塊,也即這個(gè)模塊中的所有文件都被升級(jí)。如果是強(qiáng)制升級(jí),則該模塊必須升級(jí),不允許用戶選擇。其中,對(duì)于安裝包方式或文件列表方式的選擇,如果升級(jí)涉及到的文件是關(guān)鍵文件,即會(huì)改變插件狀態(tài)的文件,如dlKDynamic Link Library,動(dòng)態(tài)鏈接庫(kù))或 xml (Extensible Markup Language,可擴(kuò)展標(biāo)記語(yǔ)言)文件,服務(wù)器應(yīng)以安裝包地址形式返回,否則,可以文件列表形式返回。b)對(duì)于文件級(jí)別的查詢,模塊的升級(jí)信息至少包括查詢報(bào)文中文件對(duì)應(yīng)的文件標(biāo)識(shí)、該文件的最新版本號(hào)、以及該文件的地址信息等該文件的文件列表信息。其中,a)和b)所涉及的文件的地址信息具體有兩種存在方式,如果所有文件地址信息的XML文件的內(nèi)容在報(bào)文長(zhǎng)度允許范圍之內(nèi),以UDP報(bào)文為例,報(bào)文最大長(zhǎng)度為1024, 則使用XML文件直接返回,否則使用URL (UniversalResource Locator,統(tǒng)一資源定位符) 方式返回,再由客戶端自行拉取。進(jìn)一步的,模塊的升級(jí)信息還包括模塊的依賴模塊、模塊與其依賴模塊之間的依賴關(guān)系、以及依賴模塊的升級(jí)信息。其中,依賴模塊的升級(jí)信息與模塊的升級(jí)信息包括的內(nèi)容相似,至少包括依賴模塊的安裝包地址信息或文件列表信息,還可以包括是否完全升級(jí)、 是否強(qiáng)制升級(jí)等信息。其中,模塊的依賴模塊是指在軟件升級(jí)過(guò)程中,如果對(duì)該模塊進(jìn)行升級(jí),必須先對(duì)其依賴模塊進(jìn)行升級(jí),也即模塊與其依賴模塊在其升級(jí)過(guò)程中存在一定的依附性。依賴關(guān)系是指在軟件升級(jí)過(guò)程中,如果欲對(duì)某一模塊進(jìn)行升級(jí),需要先對(duì)另一模塊進(jìn)行升級(jí)的這種依附關(guān)系,稱為依賴關(guān)系,該另一模塊即為該模塊的依賴模塊。例如,待升級(jí)的模塊為一插件,該插件的依賴模塊為一主模塊,該主模塊的依賴模塊為一主程序,依賴關(guān)系為插件依賴主模塊,主模塊依賴主程序。203:客戶端根據(jù)模塊的當(dāng)前版本號(hào)、模塊的最新版本號(hào)和模塊的升級(jí)信息,升級(jí)模塊標(biāo)識(shí)對(duì)應(yīng)的模塊。具體的,如果模塊的當(dāng)前版本號(hào)與模塊的最新版本號(hào)不一致,安裝模塊的安裝包地址信息對(duì)應(yīng)的安裝包;或者,如果模塊的當(dāng)前版本號(hào)與模塊的最新版本號(hào)不一致,將模塊中的文件更新為模塊的文件列表信息對(duì)應(yīng)的文件。其中,參見(jiàn)圖3,安裝包升級(jí)的具體過(guò)程為客戶端直接啟動(dòng)安裝包,監(jiān)控其安裝狀態(tài),判斷安裝是否成功,如果失敗,則升級(jí)失敗,如果安裝成功,判斷是否需要后續(xù)處理, 如果不需要后續(xù)處理,則升級(jí)成功,如果需要后續(xù)處理,則標(biāo)記為需要后續(xù)處理。其中,后續(xù)處理是指安裝時(shí)需要重啟應(yīng)用程序或重啟系統(tǒng)等,本實(shí)施例并不限定。其中,文件列表升級(jí)過(guò)程中的文件更新包括替換文件、刪除文件和增量更新文件等,更新類型屬性具體可以在文件列表信息中標(biāo)識(shí)。下面簡(jiǎn)單介紹替換文件和增量更新文件。參見(jiàn)圖4,替換文件的具體過(guò)程為對(duì)文件列表中的文件逐一進(jìn)行備份、替換,具體可以備份到臨時(shí)文件夾中,然后判斷文件是否替換成功,如果替換失敗,則回滾至該文件替換前的狀態(tài),并提示升級(jí)失敗,如果替換成功,判斷文件列表中是否還有其他文件,如果還有其他文件,重復(fù)備份、替換的過(guò)程,如果沒(méi)有其他文件,判斷文件列表中的文件是否需要延遲替換,如果沒(méi)有需要延遲替換的文件,則報(bào)告升級(jí)成功,如果有需要延遲替換的文件,例如文件被占用時(shí),則報(bào)告升級(jí)完成但有需要延遲替換的文件。上述延遲替換包括重 啟機(jī)器后替換、重啟程序后替換、重啟插件后替換三種情況。重啟機(jī)器后替換,是指被占用文件屬于內(nèi)核態(tài)的模塊,如網(wǎng)絡(luò)瀏覽監(jiān)控等。參見(jiàn)圖 5,客戶端將這些文件標(biāo)記為重啟后替換,由操作系統(tǒng)在重啟后自動(dòng)替換。重啟程序后替換,是指被占用文件屬于主框架、主模塊,或者屬于不可由插件管理器重啟的插件??蛻舳诉x擇關(guān)閉程序進(jìn)行替換,或在程序退出時(shí),或程序下次啟動(dòng)時(shí)進(jìn)行文件替換。其中,參見(jiàn)圖6,關(guān)閉程序進(jìn)行替換的過(guò)程為通知程序關(guān)閉,替換文件,再次啟動(dòng)程序。參見(jiàn)圖7,程序退出時(shí)進(jìn)行替換的過(guò)程為通知、并標(biāo)記程序退出時(shí)替換文件,退出前啟動(dòng)更新程序,替換文件后退出。參見(jiàn)圖8,程序下次啟動(dòng)時(shí)進(jìn)行替換的過(guò)程為通知并標(biāo)記程序重啟時(shí)替換文件,啟動(dòng)前啟動(dòng)更新程序,替換文件后啟動(dòng)。重啟插件后替換,是指被占用文件屬于可以被插件管理器重啟的插件??蛻舳送ㄖ寮芾砥麝P(guān)閉對(duì)應(yīng)的插件,進(jìn)行文件替換后,再通知插件管理器重啟對(duì)應(yīng)插件。增量更新文件的具體過(guò)程為如果文件對(duì)應(yīng)的文件子單元的內(nèi)容為空,刪除文件中對(duì)應(yīng)子單元標(biāo)識(shí)的內(nèi)容;如果文件中存在與其相同標(biāo)識(shí)的文件子單元,替換文件中與其相同標(biāo)識(shí)的文件子單元;如果文件不存在與其相同標(biāo)識(shí)的文件子單元,在文件中增加對(duì)應(yīng)的文件子單元。例如,參見(jiàn)圖9,文件1為替換,文件2為刪除,文件100為增加。進(jìn)一步的,如果待升級(jí)的模塊與其他模塊之間有一定的依賴關(guān)系,還應(yīng)按照一定的優(yōu)先級(jí)順序升級(jí),具體包括根據(jù)依賴關(guān)系確定優(yōu)先級(jí)順序,根據(jù)依賴模塊的升級(jí)信息,按照優(yōu)先級(jí)順序,依次升級(jí)相應(yīng)的依賴模塊。本實(shí)施例的優(yōu)先級(jí)順序以依賴關(guān)系的逆序確定,本實(shí)施例并不限定。例如,待升級(jí)的模塊為一插件,該插件依賴的模塊為一主模塊,該主模塊依賴的模塊為一主程序,依賴關(guān)系為插件依賴主模塊,主模塊依賴主程序,則升級(jí)的優(yōu)先級(jí)順序?yàn)橹鞒绦颉⒅髂K、以及插件。其中,主程序可以是含界面的可執(zhí)行程序,主模塊可以是在主程序中提供特定功能的模塊,如系統(tǒng)清理模塊、插件管理模塊等,插件可以是以Plug in(插入) 形式存在的獨(dú)立功能模塊。本實(shí)施例提供的方法,通過(guò)向服務(wù)器發(fā)送軟件中模塊的標(biāo)識(shí)和當(dāng)前版本號(hào),并接收服務(wù)器返回的該模塊的升級(jí)信息,根據(jù)模塊的當(dāng)前版本號(hào)、最新版本號(hào)和升級(jí)信息升級(jí)該模塊,實(shí)現(xiàn)了一種基于模塊的軟件升級(jí),提高了軟件升級(jí)的效率和靈活性。另外,通過(guò)向服務(wù)器發(fā)送模塊中文件的標(biāo)識(shí)和文件的當(dāng)前版本號(hào),并接收服務(wù)器返回的該文件的地址信息,還可以對(duì)模塊中的文件進(jìn)行升級(jí),進(jìn)一步提高了軟件升級(jí)的效率和靈活性。實(shí)施例2參見(jiàn)圖10,本實(shí)施例提供了一種軟件升級(jí)的裝置,包括
發(fā)送模塊301,用于向服務(wù)器發(fā)送查詢報(bào)文,查詢報(bào)文攜帶軟件中模塊的標(biāo)識(shí)和模塊的當(dāng)前版本號(hào);接收模塊302,用于接收服務(wù)器返回的響應(yīng)報(bào)文,響應(yīng)報(bào)文攜帶模塊標(biāo)識(shí)、模塊的最新版本號(hào)和模塊的升級(jí)信息;升級(jí)模塊303,用于根據(jù)模塊的當(dāng)前版本號(hào)、模塊的最新版本號(hào)和模塊的升級(jí)信息,升級(jí)模塊標(biāo)識(shí)對(duì)應(yīng)的模塊。其中,模塊的升級(jí)信息包括模塊的安裝包地址信息或者模塊的文件列表信息;相應(yīng)的,參見(jiàn)圖11,升級(jí)模塊303包括安裝單元303a或更新單元303b ;安裝單元303a,用于如果模塊的當(dāng)前版本號(hào)與模塊的最新版本號(hào)不一致,安裝模塊的安裝包地址信息對(duì)應(yīng)的安裝包;更新單元303b,用于如果模塊的當(dāng)前版本號(hào)與模塊的最新版本號(hào)不一致,將模塊中的文件更新為模塊的文件列表信息對(duì)應(yīng)的文件。其中,文件列表信息包括增量更新屬性;更新單元303b包括刪除子單元303bl、替換子單元303b2和增加子單元303b3 ;刪除子單元303bl,用于如果文件列表信息對(duì)應(yīng)的文件的內(nèi)容為空,刪除模塊中文件標(biāo)識(shí)與內(nèi)容為空的文件標(biāo)識(shí)相同的文件;替換子單元303b2,用于如果文件列表信息對(duì)應(yīng)的文件在模塊中存在與其相同標(biāo)識(shí)的文件,替換模塊中與其相同標(biāo)識(shí)的文件;增加子單元303b3,用于如果文件列表信息對(duì)應(yīng)的文件在模塊中不存在與其相同標(biāo)識(shí)的文件,在模塊中增加文件列表信息對(duì)應(yīng)的文件。其中,查詢報(bào)文還包括模塊中文件的標(biāo)識(shí)和文件的當(dāng)前版本號(hào);模塊的升級(jí)信息包括文件的標(biāo)識(shí)、文件的最新版本號(hào)和文件的地址信息;相應(yīng)的,升級(jí)模塊303包括文件升級(jí)單元303c,用于如果模塊的當(dāng)前版本號(hào)與模塊的最新版本號(hào)不一致,且文件的當(dāng)前版本號(hào)與文件的最新版本號(hào)不一致,將文件的標(biāo)識(shí)對(duì)應(yīng)的文件更新為文件的地址信息對(duì)應(yīng)的文件。其中,模塊的升級(jí)信息還包括模塊依賴的模塊、模塊與其依賴模塊之間的依賴關(guān)系和依賴模塊的升級(jí)信息,該裝置還包括第二升級(jí)模塊304,用于根據(jù)依賴關(guān)系,確定優(yōu)先級(jí)順序;根據(jù)依賴模塊的升級(jí)信息,按照優(yōu)先級(jí)順序,依次升級(jí)相應(yīng)的依賴模塊。本實(shí)施例提供的裝置,還可以進(jìn)行自升級(jí),參見(jiàn)圖12,具體過(guò)程為在退出前啟動(dòng)新的升級(jí)程序的進(jìn)程,新升級(jí)程序的進(jìn)程會(huì)等待老進(jìn)程退出,如果超時(shí)未退出,則強(qiáng)制殺掉老進(jìn)程,然后替換文件,并標(biāo)記機(jī)器重啟后,刪除臨時(shí)文件后退出。本實(shí)施例提供的裝置,與方法實(shí)施例中的客戶端屬于同一構(gòu)思,其具體實(shí) 現(xiàn)過(guò)程, 詳見(jiàn)方法實(shí)施例,這里不再贅述。本實(shí)施例提供的裝置,通過(guò)向服務(wù)器發(fā)送軟件中模塊的標(biāo)識(shí)和當(dāng)前版本號(hào),并接收服務(wù)器返回的該模塊的升級(jí)信息,根據(jù)模塊的當(dāng)前版本號(hào)、最新版本號(hào)和升級(jí)信息升級(jí)該模塊,實(shí)現(xiàn)了一種基于模塊的軟件升級(jí),提高了軟件升級(jí)的效率和靈活性。另外,通過(guò)向服務(wù)器發(fā)送模塊中文件的標(biāo)識(shí)和文件的當(dāng)前版本號(hào),并接收服務(wù)器返回的該文件的地址信息,還可以對(duì)模塊中的文件進(jìn)行升級(jí),進(jìn)一步提高了軟件升級(jí)的效率和靈活性。
以上實(shí)施例提供的技術(shù)方案中的全部或部分內(nèi)容可以通過(guò)軟件編程實(shí)現(xiàn), 其軟件程序存儲(chǔ)在可讀取的存儲(chǔ)介質(zhì)中,存儲(chǔ)介質(zhì)例如;計(jì)算機(jī)中的硬盤(pán)、光盤(pán)或軟盤(pán)。以上所述僅為本發(fā)明的較佳實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種軟件升級(jí)的方法,其特征在于,所述方法包括向服務(wù)器發(fā)送查詢報(bào)文,所述查詢報(bào)文攜帶軟件中模塊的標(biāo)識(shí)和所述模塊的當(dāng)前版本號(hào);接收所述服務(wù)器返回的響應(yīng)報(bào)文,所述響應(yīng)報(bào)文攜帶所述模塊標(biāo)識(shí)、所述模塊的最新版本號(hào)和所述模塊的升級(jí)信息;根據(jù)所述模塊的當(dāng)前版本號(hào)、所述模塊的最新版本號(hào)和所述模塊的升級(jí)信息,升級(jí)所述模塊標(biāo)識(shí)對(duì)應(yīng)的模塊。
2.如權(quán)利要求1所述的方法,其特征在于,所述模塊的升級(jí)信息包括所述模塊的安裝包地址信息或所述模塊中所有文件的文件列表信息,所述文件列表信息至少包括文件的標(biāo)識(shí)和 更新方式;所述根據(jù)所述模塊的當(dāng)前版本號(hào)、所述模塊的最新版本號(hào)和所述模塊的升級(jí)信息,升級(jí)所述模塊標(biāo)識(shí)對(duì)應(yīng)的模塊包括如果所述模塊的當(dāng)前版本號(hào)與所述模塊的最新版本號(hào)不一致,安裝所述模塊的安裝包地址信息對(duì)應(yīng)的安裝包;或者,如果所述模塊的當(dāng)前版本號(hào)與所述模塊的最新版本號(hào)不一致,對(duì)所述模塊中的所有文件,按照其文件標(biāo)識(shí)對(duì)應(yīng)的更新方式進(jìn)行更新。
3.如權(quán)利要求1所述的方法,其特征在于,所述查詢報(bào)文還包括所述模塊中文件的標(biāo)識(shí)和所述文件的當(dāng)前版本號(hào);所述模塊的升級(jí)信息包括所述查詢報(bào)文中文件的文件列表信息,所述文件列表信息至少包括文件的標(biāo)識(shí)和更新方式;所述根據(jù)所述模塊的當(dāng)前版本號(hào)、所述模塊的最新版本號(hào)和所述模塊的升級(jí)信息,升級(jí)所述模塊標(biāo)識(shí)對(duì)應(yīng)的模塊包括如果所述模塊的當(dāng)前版本號(hào)與所述模塊的最新版本號(hào)不一致,對(duì)所述模塊中與所述查詢報(bào)文中文件標(biāo)識(shí)相同的文件,按照其文件標(biāo)識(shí)對(duì)應(yīng)的更新方式進(jìn)行更新。
4.如權(quán)利要求2或3所述的方法,其特征在于,所述更新方式包括增量更新方式,所述按照其文件標(biāo)識(shí)對(duì)應(yīng)的更新方式進(jìn)行更新包括如果文件信息列表中文件記錄的內(nèi)容為空,在所述模塊中與所述文件信息列表相同文件標(biāo)識(shí)的文件中,刪除與所述內(nèi)容為空的記錄標(biāo)識(shí)相同的記錄;如果文件信息列表中文件的記錄在所述模塊中與所述文件信息列表相同文件標(biāo)識(shí)的文件中存在與其記錄標(biāo)識(shí)相同的記錄,替換所述與其記錄標(biāo)識(shí)相同的記錄;如果文件信息列表中文件的記錄在所述模塊中與所述文件信息列表相同文件標(biāo)識(shí)的文件中不存在與其記錄標(biāo)識(shí)相同的記錄,增加所述文件信息列表中文件的記錄。
5.如權(quán)利要求2-4任一權(quán)利要求所述的方法,其特征在于,所述模塊的升級(jí)信息還包括所述模塊的依賴模塊、所述模塊與其依賴模塊之間的依賴關(guān)系和所述依賴模塊的升級(jí)信息,所述方法還包括根據(jù)所述依賴關(guān)系,確定優(yōu)先級(jí)順序;根據(jù)所述依賴模塊的升級(jí)信息,按照所述優(yōu)先級(jí)順序,依次升級(jí)相應(yīng)的依賴模塊。
6.一種軟件升級(jí)的裝置,其特征在于,所述裝置包括發(fā)送模塊,用于向服務(wù)器發(fā)送查詢報(bào)文,所述查詢報(bào)文攜帶軟件中模塊的標(biāo)識(shí)和所述模塊的當(dāng)前版本號(hào);接收模塊,用于接收所述服務(wù)器返回的響應(yīng)報(bào)文,所述響應(yīng)報(bào)文攜帶所述模塊標(biāo)識(shí)、所述模塊的最新版本號(hào)和所述模塊的升級(jí)信息;升級(jí)模塊,用于根據(jù)所述模塊的當(dāng)前版本號(hào)、所述模塊的最新版本號(hào)和所述模塊的升級(jí)信息,升級(jí)所述模塊標(biāo)識(shí)對(duì)應(yīng)的模塊。
7.如權(quán)利要求6所述的裝置,其特征在于,所述模塊的升級(jí)信息包括所述模塊的安裝包地址信息或所述模塊中所有文件的文件列表信息,所述文件列表信息至少包括文件的標(biāo)識(shí)和更新方式;所述升級(jí)模塊包括安裝單元或更新單元;所述安裝單元,用于如果所述模塊的當(dāng)前版本號(hào)與所述模塊的最新版本號(hào)不一致,安裝所述模塊的安裝包地址信息對(duì)應(yīng)的安裝包;所述更新單元,用于如果所述模塊的當(dāng)前版本號(hào)與所述模塊的最新版本號(hào)不一致,對(duì)所述模塊中的所有文件,按照其文件標(biāo)識(shí)對(duì)應(yīng)的更新方式進(jìn)行更新。
8.如權(quán)利要求6所述的裝置,其特征在于,所述查詢報(bào)文還包括所述模塊中文件的標(biāo)識(shí)和所述文件的當(dāng)前版本號(hào);所述模塊的升級(jí)信息包括所述查詢報(bào)文中文件的文件列表信息,所述文件列表信息至少包括文件的標(biāo)識(shí)和更新方式;所述升級(jí)模塊包括文件升級(jí)單元,用于如果所述模塊的當(dāng)前版本號(hào)與所述模塊的最新版本號(hào)不一致,對(duì)所述模塊中與所述查詢報(bào)文中文件標(biāo)識(shí)相同的文件,按照其文件標(biāo)識(shí)對(duì)應(yīng)的更新方式進(jìn)行更新。
9.如權(quán)利要求7或8所述的裝置,其特征在于,所述更新方式包括增量更新方式,所述更新單元或所述文件升級(jí)單元包括刪除子單元、替換子單元和增加子單元;所述刪除子單元,用于如果文件信息列表中文件記錄的內(nèi)容為空,在所述模塊中與所述文件信息列表相同文件標(biāo)識(shí)的文件中,刪除與所述內(nèi)容為空的記錄標(biāo)識(shí)相同的記錄;所述替換子單元,用于如果文件信息列表中文件的記錄在所述模塊中與所述文件信息列表相同文件標(biāo)識(shí)的文件中存在與其記錄標(biāo)識(shí)相同的記錄,替換所述與其記錄標(biāo)識(shí)相同的記錄;所述增加子單元,用于如果文件信息列表中文件的記錄在所述模塊中與所述文件信息列表相同文件標(biāo)識(shí)的文件中不存在與其記錄標(biāo)識(shí)相同的記錄,增加所述文件信息列表中文件的記錄。
10.如權(quán)利要求7-9任一權(quán)利要求所述的裝置,其特征在于,所述模塊的升級(jí)信息還包括所述模塊的依賴模塊、所述模塊與其依賴模塊之間的依賴關(guān)系和所述依賴模塊的升級(jí)信息,所述裝置還包括第二升級(jí)模塊,用于根據(jù)所述依賴關(guān)系,確定優(yōu)先級(jí)順序;根據(jù)所述依賴模塊的升級(jí)信息,按照所述優(yōu)先級(jí)順序,依次升級(jí)相應(yīng)的依賴模塊。
全文摘要
本發(fā)明公開(kāi)了一種軟件升級(jí)的方法和裝置,屬于計(jì)算機(jī)軟件領(lǐng)域。所述方法包括向服務(wù)器發(fā)送查詢報(bào)文,所述查詢報(bào)文攜帶軟件中模塊的標(biāo)識(shí)和所述模塊的當(dāng)前版本號(hào);接收所述服務(wù)器返回的響應(yīng)報(bào)文,所述響應(yīng)報(bào)文攜帶所述模塊標(biāo)識(shí)、所述模塊的最新版本號(hào)和所述模塊的升級(jí)信息;根據(jù)所述模塊的當(dāng)前版本號(hào)、所述模塊的最新版本號(hào)和所述模塊的升級(jí)信息,升級(jí)所述模塊標(biāo)識(shí)對(duì)應(yīng)的模塊。所述裝置包括發(fā)送模塊、接收模塊和升級(jí)模塊。本發(fā)明通過(guò)上述方法和裝置,實(shí)現(xiàn)了一種基于模塊的軟件升級(jí),還可以對(duì)模塊中的文件進(jìn)行升級(jí),提高了軟件升級(jí)的效率和靈活性。
文檔編號(hào)G06F9/445GK102262544SQ201010183430
公開(kāi)日2011年11月30日 申請(qǐng)日期2010年5月24日 優(yōu)先權(quán)日2010年5月24日
發(fā)明者李世平, 李旭陽(yáng), 熊奇, 紀(jì)金松, 陳旭東 申請(qǐng)人:騰訊科技(深圳)有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
策勒县| 嘉兴市| 乡宁县| 陵水| 洛南县| 江津市| 沙洋县| 大连市| 新巴尔虎右旗| 英超| 措美县| 平安县| 庆阳市| 阳江市| 新余市| 始兴县| 阿尔山市| 吴旗县| 昆山市| 龙口市| 永春县| 普格县| 金阳县| 元朗区| 英超| 万盛区| 瓮安县| 璧山县| 克山县| 河东区| 白河县| 耿马| 扶余县| 吉木乃县| 迁西县| 外汇| 九台市| 密云县| 鄂州市| 浮梁县| 兴山县|