本申請涉及計算機技術(shù)領(lǐng)域,具體涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,尤其涉及應(yīng)用更新方法和裝置。
背景技術(shù):
隨著計算機技術(shù)的發(fā)展,安裝在終端設(shè)備的應(yīng)用的種類越來越豐富。通常,開發(fā)人員需要依賴應(yīng)用管理系統(tǒng)來進(jìn)行應(yīng)用的發(fā)布、版本更新等管理,用戶也需要依賴應(yīng)用管理系統(tǒng)進(jìn)行應(yīng)用的更新等操作。
現(xiàn)有的應(yīng)用更新方法通?;趹?yīng)用的當(dāng)前版本的更新補丁,下載并安裝上述更新補丁來進(jìn)行應(yīng)用的整體性更新。然而,應(yīng)用通常由多個資源文件包構(gòu)成,現(xiàn)有的應(yīng)用更新方式無法實現(xiàn)針對各個資源文件包進(jìn)行更新,因而,存在著更新不夠靈活、流量耗費較大的問題。
技術(shù)實現(xiàn)要素:
本申請的目的在于提出一種改進(jìn)的應(yīng)用更新方法和裝置,來解決以上背景技術(shù)部分提到的技術(shù)問題。
第一方面,本申請?zhí)峁┝艘环N用于應(yīng)用管理服務(wù)器的應(yīng)用更新方法,上述方法包括:接收客戶端發(fā)送的更新請求,其中,上述更新請求包括待更新應(yīng)用的多個資源文件包中每一個資源文件包的版本信息;基于所接收的版本信息,確定是否需要對各個資源文件包更新;對于每一個資源文件包,響應(yīng)于確定需要對該資源文件包更新,確定該資源文件包的目標(biāo)更新包,并獲取上述目標(biāo)更新包的下載地址;將所獲取的下載地址發(fā)送至上述客戶端,以使上述客戶端從下載地址下載目標(biāo)更新包,并更新上述待更新應(yīng)用。
在一些實施例中,上述應(yīng)用管理服務(wù)器分別與客戶端和更新包生成服務(wù)器通信連接,上述客戶端和上述更新包生成服務(wù)器均與用于存儲應(yīng)用的更新包的存儲服務(wù)器通信連接,上述更新包生成服務(wù)器用于生成應(yīng)用的更新包。
在一些實施例中,上述接收客戶端發(fā)送的更新請求之前,上述方法還包括:對于所管理的多個應(yīng)用中的每一個應(yīng)用,將該應(yīng)用的多個資源文件包發(fā)送至上述更新包生成服務(wù)器,以使上述更新包生成服務(wù)器生成與每一個資源文件包匹配的多個更新包,并將所生成的更新包發(fā)送至上述存儲服務(wù)器;接收上述更新包生成服務(wù)器返回的各個更新包的下載地址,其中,更新包的下載地址是上述存儲服務(wù)器在接收到更新包后返回給上述更新包生成服務(wù)器的。
在一些實施例中,上述更新請求還包括客戶端信息;以及上述基于所接收的版本信息,確定是否需要對各個資源文件包更新,包括:對于每一個資源文件包,獲取該資源文件包的歷史版本信息集合,其中,上述歷史版本信息集合中的歷史版本信息包括版本標(biāo)識;檢索上述版本信息集合中的、所包含的版本標(biāo)識為灰度發(fā)布版本標(biāo)識的歷史版本信息;若檢索到,基于上述客戶端信息和該資源文件包的版本信息,確定上述客戶端是否滿足預(yù)設(shè)的與該資源文件包匹配的灰度測試條件;若是,將包含灰度發(fā)布版本標(biāo)識的歷史版本信息確定為目標(biāo)版本信息;基于上述目標(biāo)版本信息和該資源文件包的版本信息的匹配情況,確定是否需要對該資源文件包更新。
在一些實施例中,版本信息包含主版本號,歷史版本信息包含歷史主版本號;以及上述基于所接收的版本信息,確定是否需要對各個資源文件包更新,還包括:對于每一個資源文件包,響應(yīng)于從該資源文件包的歷史版本信息集合中未檢索到所包含的檢索版本標(biāo)識為灰度發(fā)布版本標(biāo)識的歷史版本信息或上述客戶端不滿足與該資源文件包匹配的灰度測試條件,則確定最高歷史主版本號;響應(yīng)于該資源文件包的主版本號與上述最高歷史主版本號相同,則將所包含的歷史主版本號為最高歷史主版本號且所包含的版本標(biāo)識為最高全量版本標(biāo)識的歷史版本信息確定為目標(biāo)版本信息。
在一些實施例中,上述基于所接收的版本信息,確定是否需要對各個資源文件包更新,還包括:對于每一個資源文件包,響應(yīng)于該資源文件包的主版本號小于該資源文件包的最高歷史主版本號,則將所包含的歷史主版本號為該資源文件包的主版本號且所包含的版本標(biāo)識為最高全量版本標(biāo)識的歷史版本信息確定為目標(biāo)版本信息。
在一些實施例中,上述基于上述目標(biāo)版本信息和該資源文件包的版本信息的匹配情況,確定是否需要對該資源文件包更新,包括:對于每一個資源文件包,響應(yīng)于該資源文件包的版本信息與目標(biāo)版本信息相匹配,則確定不需要對該資源文件包更新。
在一些實施例中,上述基于上述目標(biāo)版本信息和該資源文件包的版本信息的匹配情況,確定是否需要對該資源文件包更新,包括:對于每一個資源文件包,響應(yīng)于該資源文件包的版本信息與目標(biāo)版本信息不匹配,則確定需要對該資源文件包更新。
在一些實施例中,上述對于每一個資源文件包,響應(yīng)于確定需要對該資源文件包更新,確定該資源文件包的目標(biāo)更新包,包括:對于每一個需要更新的資源文件包,若該資源文件包的版本信息低于目標(biāo)版本信息,確定該資源文件包的更新類型為增量更新;若該資源文件包的版本信息高于目標(biāo)版本信息,確定該資源文件包的更新類型為全量更新;基于所確定的更新類型、該資源文件包的版本信息和上述目標(biāo)版本信息,確定目標(biāo)更新包。
在一些實施例中,上述對于每一個資源文件包,響應(yīng)于確定需要對該資源文件包更新,確定該資源文件包的目標(biāo)更新包,包括:對于每一個資源文件包,響應(yīng)于確定需要對該資源文件包更新,確定該資源文件包的更新類型和目標(biāo)更新包。
在一些實施例中,上述將所獲取的下載地址發(fā)送至上述客戶端之后,上述方法還包括:接收上述客戶端發(fā)送的更新結(jié)果信息,上述更新結(jié)果信息包括上述客戶端應(yīng)用的各個資源文件包當(dāng)前的版本信息和更新日期;存儲上述更新結(jié)果信息。
第二方面,本申請?zhí)峁┝擞糜趹?yīng)用管理服務(wù)器的應(yīng)用更新裝置,上述裝置包括:第一接收單元,配置用于接收客戶端發(fā)送的更新請求,其中,上述更新請求包括待更新應(yīng)用的多個資源文件包中每一個資源文件包的版本信息;第一確定單元,配置用于基于所接收的版本信息,確定是否需要對各個資源文件包更新;第二確定單元,配置用于對于每一個資源文件包,響應(yīng)于確定需要對該資源文件包更新,確定該資源文件包的目標(biāo)更新包,并獲取上述目標(biāo)更新包的下載地址;第一發(fā)送單元,配置用于將所獲取的下載地址發(fā)送至上述客戶端,以使上述客戶端從下載地址下載目標(biāo)更新包,并更新上述待更新應(yīng)用。
在一些實施例中,上述應(yīng)用管理服務(wù)器分別與客戶端和更新包生成服務(wù)器通信連接,上述客戶端和上述更新包生成服務(wù)器均與用于存儲應(yīng)用的更新包的存儲服務(wù)器通信連接,上述更新包生成服務(wù)器用于生成應(yīng)用的更新包。
在一些實施例中,上述裝置還包括:第二發(fā)送單元,配置用于對于所管理的多個應(yīng)用中的每一個應(yīng)用,將該應(yīng)用的多個資源文件包發(fā)送至上述更新包生成服務(wù)器,以使上述更新包生成服務(wù)器生成與每一個資源文件包匹配的多個更新包,并將所生成的更新包發(fā)送至上述存儲服務(wù)器;第二接收單元,配置用于接收上述更新包生成服務(wù)器返回的各個更新包的下載地址,其中,更新包的下載地址是上述存儲服務(wù)器在接收到更新包后返回給上述更新包生成服務(wù)器的。
在一些實施例中,上述更新請求還包括客戶端信息;以及上述第一確定單元進(jìn)一步配置用于:對于每一個資源文件包,獲取該資源文件包的歷史版本信息集合,其中,上述歷史版本信息集合中的歷史版本信息包括版本標(biāo)識;檢索上述版本信息集合中的、所包含的版本標(biāo)識為灰度發(fā)布版本標(biāo)識的歷史版本信息;若檢索到,基于上述客戶端信息和該資源文件包的版本信息,確定上述客戶端是否滿足預(yù)設(shè)的與該資源文件包匹配的灰度測試條件;若是,將包含灰度發(fā)布版本標(biāo)識的歷史版本信息確定為目標(biāo)版本信息;基于上述目標(biāo)版本信息和該資源文件包的版本信息的匹配情況,確定是否需要對該資源文件包更新。
在一些實施例中,版本信息包含主版本號,歷史版本信息包含歷史主版本號;以及上述第一確定單元進(jìn)一步配置用于:對于每一個資源文件包,響應(yīng)于從該資源文件包的歷史版本信息集合中未檢索到所包含的檢索版本標(biāo)識為灰度發(fā)布版本標(biāo)識的歷史版本信息或上述客戶端不滿足與該資源文件包匹配的灰度測試條件,則確定最高歷史主版本號;響應(yīng)于該資源文件包的主版本號與上述最高歷史主版本號相同,則將所包含的歷史主版本號為最高歷史主版本號且所包含的版本標(biāo)識為最高全量版本標(biāo)識的歷史版本信息確定為目標(biāo)版本信息。
在一些實施例中,上述第一確定單元進(jìn)一步配置用于:對于每一個資源文件包,響應(yīng)于該資源文件包的主版本號小于該資源文件包的最高歷史主版本號,則將所包含的歷史主版本號為該資源文件包的主版本號且所包含的版本標(biāo)識為最高全量版本標(biāo)識的歷史版本信息確定為目標(biāo)版本信息。
在一些實施例中,上述第一確定單元進(jìn)一步配置用于:對于每一個資源文件包,響應(yīng)于該資源文件包的版本信息與目標(biāo)版本信息相匹配,則確定不需要對該資源文件包更新。
在一些實施例中,上述第一確定單元進(jìn)一步配置用于:對于每一個資源文件包,響應(yīng)于該資源文件包的版本信息與目標(biāo)版本信息不匹配,則確定需要對該資源文件包更新。
在一些實施例中,上述第二確定單元進(jìn)一步配置用于:對于每一個需要更新的資源文件包,若該資源文件包的版本信息低于目標(biāo)版本信息,確定該資源文件包的更新類型為增量更新;若該資源文件包的版本信息高于目標(biāo)版本信息,確定該資源文件包的更新類型為全量更新;基于所確定的更新類型、該資源文件包的版本信息和上述目標(biāo)版本信息,確定目標(biāo)更新包。
在一些實施例中,上述第二確定單元進(jìn)一步配置用于:對于每一個資源文件包,響應(yīng)于確定需要對該資源文件包更新,確定該資源文件包的更新類型。
在一些實施例中,上述裝置還包括:第三接收單元,配置用于接收上述客戶端發(fā)送的更新結(jié)果信息,上述更新結(jié)果信息包括上述客戶端應(yīng)用的各個資源文件包當(dāng)前的版本信息和更新日期;存儲單元,配置用于存儲上述更新結(jié)果信息。
本申請?zhí)峁┑膽?yīng)用更新方法和裝置,通過接收待更新應(yīng)用的每一個資源文件包的版本信息以便確定是否對該資源文件包進(jìn)行更新,而后確定需要更新的資源文件包的目標(biāo)更新包,并獲取目標(biāo)更新包的下載地址,最后將獲取的下載地址發(fā)送至客戶端,以使客戶端從下載地址下載目標(biāo)更新包并更新待更新應(yīng)用,因而可實現(xiàn)針對待更新應(yīng)用的各個資源文件包進(jìn)行更新,提高了應(yīng)用更新的靈活性,減少了應(yīng)用更新過程中的流量消耗。
附圖說明
通過閱讀參照以下附圖所作的對非限制性實施例所作的詳細(xì)描述,本申請的其它特征、目的和優(yōu)點將會變得更明顯:
圖1是本申請可以應(yīng)用于其中的示例性系統(tǒng)架構(gòu)圖;
圖2是根據(jù)本申請的應(yīng)用更新方法的一個實施例的流程圖;
圖3是根據(jù)本申請的應(yīng)用更新方法的一個應(yīng)用場景的示意圖;
圖4是根據(jù)本申請的應(yīng)用更新方法的又一個實施例的流程圖;
圖5是根據(jù)本申請的應(yīng)用更新方法的裝置間交互過程的示意圖;
圖6是根據(jù)本申請的應(yīng)用更新裝置的一個實施例的結(jié)構(gòu)示意圖;
圖7是適于用來實現(xiàn)本申請實施例的終端設(shè)備或服務(wù)器的計算機系統(tǒng)的結(jié)構(gòu)示意圖。
具體實施方式
下面結(jié)合附圖和實施例對本申請作進(jìn)一步的詳細(xì)說明??梢岳斫獾氖牵颂幩枋龅木唧w實施例僅僅用于解釋相關(guān)發(fā)明,而非對該發(fā)明的限定。另外還需要說明的是,為了便于描述,附圖中僅示出了與有關(guān)發(fā)明相關(guān)的部分。
需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。下面將參考附圖并結(jié)合實施例來詳細(xì)說明本申請。
圖1示出了可以應(yīng)用本申請的應(yīng)用下載方法或應(yīng)用下載裝置的示例性系統(tǒng)架構(gòu)100。
如圖1所示,系統(tǒng)架構(gòu)100可以包括終端設(shè)備101、102、103,網(wǎng)絡(luò)104和應(yīng)用管理服務(wù)器105。網(wǎng)絡(luò)104用以在終端設(shè)備101、102、103和服務(wù)器105之間提供通信鏈路的介質(zhì)。網(wǎng)絡(luò)104可以包括各種連接類型,例如有線、無線通信鏈路或者光纖電纜等等。
用戶可以使用終端設(shè)備101、102、103通過網(wǎng)絡(luò)104與服務(wù)器105交互,以接收或發(fā)送消息等。終端設(shè)備101、102、103上可以安裝有各種客戶端應(yīng)用,例如網(wǎng)頁瀏覽器應(yīng)用、購物類應(yīng)用、搜索類應(yīng)用、即時通信工具、郵箱客戶端、社交平臺軟件等。此外,終端設(shè)備101、102、103上還可以安裝有用于管理(例如下載、更新、卸載等)上述終端設(shè)備所安裝的各個應(yīng)用的管理類應(yīng)用。
終端設(shè)備101、102、103可以是支持應(yīng)用下載、更新、卸載的各種電子設(shè)備,包括但不限于智能手機、平板電腦、膝上型便攜計算機和臺式計算機等等。
應(yīng)用管理服務(wù)器105可以是為終端設(shè)備101、102、103上所安裝的管理類應(yīng)用提供支持的服務(wù)器。應(yīng)用管理服務(wù)器105可以對接收到的更新請求等數(shù)據(jù)進(jìn)行分析,確定待更新應(yīng)用的各個資源文件包是否需要更新,還可以進(jìn)行更新類型的確定等處理,并將處理結(jié)果(例如更新包的下載地址)反饋給終端設(shè)備101、102、103。
此外,上述示例性系統(tǒng)架構(gòu)100還可以包括更新包生成服務(wù)器106和存儲服務(wù)器107。上述更新包生成服務(wù)器106可以用于生成應(yīng)用的更新包,上述存儲服務(wù)器107可以用于存儲應(yīng)用的更新包。
需要說明的是,本申請實施例所提供的應(yīng)用更新方法一般由應(yīng)用管理服務(wù)器105執(zhí)行,相應(yīng)地,應(yīng)用更新裝置一般設(shè)置于應(yīng)用管理服務(wù)器105中。
應(yīng)該理解,圖1中的終端設(shè)備、網(wǎng)絡(luò)和服務(wù)器的數(shù)目僅僅是示意性的。根據(jù)實現(xiàn)需要,可以具有任意數(shù)目的終端設(shè)備、網(wǎng)絡(luò)和服務(wù)器。
繼續(xù)參考圖2,其示出了根據(jù)本申請的應(yīng)用更新方法的一個實施例的流程200。所述的應(yīng)用更新方法,包括以下步驟:
步驟201,接收客戶端發(fā)送的更新請求。
在本實施例中,應(yīng)用更新方法運行于其上的電子設(shè)備(例如圖1所示的應(yīng)用更新服務(wù)器105)可以通過有線連接方式或者無線連接方式從客戶端(例如圖1所示的終端設(shè)備101、102、103)接收更新請求,其中,上述更新請求可以包括待更新應(yīng)用的多個資源文件包中每一個資源文件包的版本信息。實踐中,客戶端所安裝的每一個應(yīng)用可以包含多個資源文件包,每一個資源文件包可以存儲可執(zhí)行程序、腳本、配置文件以及圖片、音視頻等數(shù)據(jù)。另外,每一個資源文件包可以有相應(yīng)的版本信息,版本信息可以用于指示該資源文件包的版本。需要指出的是,上述無線連接方式可以包括但不限于3G/4G連接、WiFi連接、藍(lán)牙連接、WiMAX連接、Zigbee連接、UWB(ultra wideband)連接、以及其他現(xiàn)在已知或?qū)黹_發(fā)的無線連接方式。
通常,用戶可以利用上述客戶端所安裝的管理類應(yīng)用,向應(yīng)用管理服務(wù)器發(fā)送上述待更新應(yīng)用的更新請求,也可以運行上述待更新應(yīng)用,點擊上述待更新應(yīng)用的更新按鍵,向上述應(yīng)用管理服務(wù)器發(fā)送更新請求。此外,用戶還可以對上述待更新應(yīng)用的對更新請求發(fā)送時間進(jìn)行設(shè)置,使客戶端可以自動發(fā)送更新請求。例如,可以設(shè)置為上述待更新應(yīng)用啟動時自動發(fā)送更新請求,或者上述待更新應(yīng)用切換到后臺運行時自動發(fā)送更新請求,或者每隔預(yù)設(shè)的時間間隔(如1天、一周等)自動發(fā)送更新請求等。
步驟202,基于所接收的版本信息,確定是否需要對各個資源文件包更新。
在本實施例中,上述電子設(shè)備可以對多個應(yīng)用的進(jìn)行管理,其中,上述多個應(yīng)用中包括上述待更新應(yīng)用。上述電子設(shè)備上可以存儲有上述待更新應(yīng)用的每一個資源文件包的多個版本信息。對于上述待更新應(yīng)用的每一個資源文件包,上述電子設(shè)備可以首先從所存儲的該資源文件包的多個版本信息中選取一個版本信息作為目標(biāo)版本信息;之后,可以將步驟201所接收的該資源文件包的版本信息與上述目標(biāo)版本信息進(jìn)行匹配,基于匹配結(jié)果確定是否需要對該資源文件包進(jìn)行更新。
在本實施例的一些可選的實現(xiàn)方式中,若所接收的該資源文件包的版本信息與上述目標(biāo)版本信息相匹配,則可以確定不需要對該資源文件包更新。
在本實施例的一些可選的實現(xiàn)方式中,若所接收的該資源文件包的版本信息與上述目標(biāo)版本信息不匹配,則可以確定需要對該資源文件包更新。
在本實施例的一些可選的實現(xiàn)方式中,步驟201所接收每一個資源文件包的版本信息可以包含主版本號。實踐中,每一個資源文件包的版本信息中還可以包含次版本號、修訂版本號等??蓪⒅靼姹咎?、次版本號、修訂版本號以及標(biāo)點符號按照預(yù)設(shè)順序進(jìn)行組合作為該資源文件包的版本。作為示例,資源文件包的主版本號、次版本號、修訂版本號分別為1、0、10,則該資源文件包的版本可以用字段“1.0.10”表示。
在本實施例的一些可選的實現(xiàn)方式中,對于上述待更新應(yīng)用的每一個資源文件包,確定是否需要對該資源文件包更新,還可以按照如下步驟進(jìn)行:
第一步,上述電子設(shè)備可以將所存儲的該資源文件包的多個版本信息中的各個版本信息作為歷史版本信息,生成歷史版本信息集合,其中,每一個歷史版本信息可以包含歷史主版本號和版本標(biāo)識。實踐中,版本標(biāo)識可以用于區(qū)分資源文件包的版本類型,且版本標(biāo)識可以是任意的字符串(例如數(shù)字、字母、中文字符等)。作為示例,版本標(biāo)識可以是用于指示資源文件包的版本類型為最高全量版本的最高全量版本標(biāo)識、指示版本類型為最低全量版本的最低全量版本標(biāo)識、指示版本類型為灰度發(fā)布版本的灰度發(fā)布版本標(biāo)識等。
第二步,上述電子設(shè)備可以讀取各個歷史版本信息的歷史主版本號,確定最高歷史主版本號,其中,上述最高歷史主版本號可以是最新更新版本的主版本號;若該資源文件包的主版本號與上述最高歷史主版本號相同,則將所包含的歷史主版本號為上述最高歷史主版本號且所包含的版本標(biāo)識為最高全量版本標(biāo)識的歷史版本信息確定為目標(biāo)版本信息;若該資源文件包的主版本號與上述最高歷史主版本號不同,則將所包含的歷史主版本號為上述最高歷史主版本號且所包含的版本標(biāo)識為最高全量版本標(biāo)識的歷史版本信息確定為目標(biāo)版本信息。
第三步,上述電子設(shè)備可以基于上述目標(biāo)版本信息和步驟201所接收的該資源文件包的版本信息的匹配情況,確定是否需要對該資源文件包更新。具體的,若所接收的該資源文件包的版本信息與上述目標(biāo)版本信息相匹配,則確定不需要對該資源文件包更新;若所接收的該資源文件包的版本信息與上述目標(biāo)版本信息不匹配,則確定需要對該資源文件包更新。實踐中,對于上述待更新應(yīng)用的每一個資源文件包,若該資源文件包的版本信息中的主版本號、次版本號、修訂版本號與目標(biāo)版本信息中相應(yīng)的主版本號、次版本號、修訂版本號均匹配,則上述電子設(shè)備可以確定該資源文件包的版本信息與該目標(biāo)版本信息相匹配。
步驟203,對于每一個資源文件包,響應(yīng)于確定需要對該資源文件包更新,確定該資源文件包的目標(biāo)更新包,并獲取目標(biāo)更新包的下載地址。
在本實施例中,對于上述待更新應(yīng)用的每一個資源文件包,響應(yīng)于確定需要對該資源文件包更新,上述電子設(shè)備可以將所接收的該資源文件包的版本信息與目標(biāo)版本信息進(jìn)行比較,基于比較結(jié)果,確定該資源文件包的目標(biāo)更新包。實踐中,對于上述待更新應(yīng)用的每一個資源文件包,該資源文件包的每一個版本均可有多個更新包,上述多個更新包可以包括用于全量更新的更新包和用于增量更新的更新包等。上述多個用于增量更新的更新包可以是基于該資源文件包的多個歷史版本而預(yù)先生成的。
在本實施例的一些可選的實現(xiàn)方式中,對于上述待更新應(yīng)用的每一個資源文件包,若所接收的該資源文件包的版本信息低于上述目標(biāo)版本信息,則上述電子設(shè)備可以確定該資源文件包的目標(biāo)更新包為用于增量更新的更新包。
在本實施例的一些可選的實現(xiàn)方式中,對于上述待更新應(yīng)用的每一個資源文件包,若所接收的該資源文件包的版本信息高于目標(biāo)版本信息,則上述電子設(shè)備可以確定該資源文件包的目標(biāo)更新包為用于全量更新的更新包。
在本實施例中,上述電子設(shè)備中可以預(yù)先存儲更新包和下載地址之間的映射。對于上述待更新應(yīng)用的每一個資源文件包,上述電子設(shè)備可以基于所確定的該資源文件包的目標(biāo)更新包,以及更新包和下載地址之間的映射,確定并獲取與目標(biāo)更新包的下載地址。實踐中,上述下載地址可以由統(tǒng)一資源定位符(Uniform Resource Locator,URL)來表示。
步驟204,將所獲取的下載地址發(fā)送至客戶端,以使客戶端從下載地址下載目標(biāo)更新包,并更新待更新應(yīng)用。
在本實施例中,上述電子設(shè)備可以將步驟203所獲取的下載地址發(fā)送至上述客戶端,以使上述客戶端從下載地址下載目標(biāo)更新包,并更新待更新應(yīng)用。實踐中,上述目標(biāo)更新包可以存儲在另一服務(wù)器中,上述客戶端可以從下載地址所指示的用于存儲目標(biāo)更新包的另一服務(wù)器中下載上述目標(biāo)更新包。
繼續(xù)參見圖3,圖3是根據(jù)本實施例的應(yīng)用更新方法的應(yīng)用場景的一個示意圖。在圖3的應(yīng)用場景中,首先,客戶端301向應(yīng)用管理服務(wù)器302發(fā)送了對待更新應(yīng)用的更新請求303,其中,上述更新請求303包括了待更新應(yīng)用的多個資源文件包中每一個資源文件包的版本信息。之后,上述應(yīng)用管理服務(wù)器302基于所接收的版本信息,確定是否需要對各個資源文件包更新;對于每一個資源文件包,響應(yīng)于確定需要對該資源文件包更新,上述應(yīng)用管理服務(wù)器302確定該資源文件包的目標(biāo)更新包,并獲取上述目標(biāo)更新包的下載地址304。而后,上述應(yīng)用管理服務(wù)器302將所獲取的下載地址發(fā)送至上述客戶端301。上述客戶端301在接收到下載地址304后,從下載地址304所指示的用于存儲目標(biāo)更新包的另一服務(wù)器305中下載目標(biāo)更新包306,并更新上述待更新應(yīng)用。
本申請的上述實施例提供的方法通過接收待更新應(yīng)用的每一個資源文件包的版本信息以便確定是否對該資源文件包進(jìn)行更新,而后確定需要更新的資源文件包的目標(biāo)更新包,并獲取目標(biāo)更新包的下載地址,最后將獲取的下載地址發(fā)送至客戶端,以使客戶端從下載地址下載目標(biāo)更新包并更新待更新應(yīng)用,因而可實現(xiàn)針對待更新應(yīng)用的各個資源文件包進(jìn)行更新,提高了應(yīng)用更新的靈活性,減少了應(yīng)用更新過程中的流量消耗。
進(jìn)一步參考圖4,其示出了應(yīng)用更新方法的又一個實施例的流程400。應(yīng)用管理服務(wù)器分別與客戶端和更新包生成服務(wù)器通信連接,上述客戶端和上述更新包生成服務(wù)器均與用于存儲應(yīng)用的更新包的存儲服務(wù)器通信連接,上述更新包生成服務(wù)器用于生成應(yīng)用的更新包。用于應(yīng)用管理服務(wù)器的應(yīng)用更新方法的流程400,包括以下步驟:
步驟401,對于所管理的多個應(yīng)用中的每一個應(yīng)用,將該應(yīng)用的多個資源文件包發(fā)送至更新包生成服務(wù)器。
在本實施例中,上述電子設(shè)備對于所管理的多個應(yīng)用中的每一個應(yīng)用,可以將該應(yīng)用的多個資源文件包發(fā)送至上述更新包生成服務(wù)器,以使上述更新包生成服務(wù)器生成與每一個資源文件包匹配的多個更新包,并將所生成的更新包發(fā)送至上述存儲服務(wù)器??梢詤⒁妶D5,圖5示出了上述電子設(shè)備(即圖5中的應(yīng)用更新服務(wù)器)、上述更新包生成服務(wù)器和上述存儲服務(wù)器之間的交互過程的示意圖。在圖5中,上述電子設(shè)備在將應(yīng)用的多個資源文件包501發(fā)送至上述更新包生成服務(wù)器后,上述更新包生成服務(wù)器生成與每一個資源文件包匹配的多個更新包502,并將所生成的更新包502發(fā)送至上述存儲服務(wù)器。
實踐中,上述電子設(shè)備對于所管理的多個應(yīng)用中的每一個應(yīng)用,可以配置該應(yīng)用的名稱、介紹等信息,也可以為該應(yīng)用配置應(yīng)用標(biāo)識、版本信息等。其中,上述應(yīng)用標(biāo)識可以是用于區(qū)別各個應(yīng)用的任意標(biāo)識,如由字母和/或數(shù)字組成的編號等。另外,上述電子設(shè)備還可以為每一個應(yīng)用配置密鑰等,其中,上述密鑰可以包含公鑰和私鑰,上述公鑰可以供開發(fā)者查看和使用。此外,上述電子設(shè)備對于所管理的每一個應(yīng)用,可以配置該應(yīng)用的各個資源文件包的名稱、介紹等信息,也可以為各個資源文件包配置資源文件包標(biāo)識。
需要說明的是,對于每一個資源文件包,上述更新包生成服務(wù)器可以基于該資源文件包的版本信息生成與該資源文件包匹配的多個更新包。其中,上述多個更新包可以包含一個用于更新類型為全量更新的更新包和多個用于更新類型為增量更新的更新包。上述多個用于更新類型為增量更新的更新包可以是基于該資源文件包的多個歷史版本生成的。
步驟402,接收更新包生成服務(wù)器返回的各個更新包的下載地址。
在本實施例中,上述電子設(shè)備接收上述更新包生成服務(wù)器返回的各個更新包的下載地址,其中,更新包的下載地址是上述存儲服務(wù)器在接收到更新包后返回給上述更新包生成服務(wù)器的。如圖5所示,在上述更新包生成服務(wù)器所生成的更新包502發(fā)送至上述存儲服務(wù)器后,上述存儲服務(wù)器將更新包的下載地址503返回給上述更新包生成服務(wù)器;之后,上述更新包生成服務(wù)器將所接收到的下載地址503返回給上述電子設(shè)備。實踐中,上述電子設(shè)備在接收上述更新包生成服務(wù)器返回的各個更新包的下載地址之后,可以建立更新包和下載地址之間的映射。
步驟403,接收客戶端發(fā)送的更新請求。
在本實施例中,在本實施例中,應(yīng)用更新方法運行于其上的電子設(shè)備(例如圖1所示的應(yīng)用更新服務(wù)器105)可以通過有線連接方式或者無線連接方式從客戶端(例如圖1所示的終端設(shè)備101、102、103)接收更新請求,其中,上述更新請求可以包括待更新應(yīng)用的多個資源文件包中每一個資源文件包的版本信息。此處,每一個資源文件包的版本信息可以包含主版本號、次版本號和修訂版本號。
需要說明的是,上述更新請求還可以包括客戶端信息。其中,上述客戶端信息可以包括但不限于上述客戶端的設(shè)備識別號、用戶標(biāo)識、上述客戶端類型(如PC(personal computer,個人計算機)端、移動端)等等。
步驟404,對于待更新應(yīng)用的每一個資源文件包,獲取該資源文件包的歷史版本信息集合。
在本實施例中,上述電子設(shè)備上可以存儲有上述待更新應(yīng)用的每一個資源文件包的歷史版本信息集合。其中,上述歷史版本信息集合可以存儲該資源文件包的多個歷史版本信息,上述電子設(shè)備可以直接從本地獲取上述待更新應(yīng)用的各個資源文件包的歷史版本信息集合。
需要說明的是,每個歷史版本信息可以包含主版本號、次版本號和修訂版本號,還可以包含版本標(biāo)識。
步驟405,確定是否可檢索到版本信息集合中的、所包含的版本標(biāo)識為灰度發(fā)布版本標(biāo)識的歷史版本信息。
在本實施例中,對于上述待更新應(yīng)用的每一個資源文件包,上述電子設(shè)備可以檢索該資源文件包的版本信息集合中的、所包含的版本標(biāo)識為灰度發(fā)布版本標(biāo)識的歷史版本信息。若確定檢索到,則上述電子設(shè)備可以執(zhí)行步驟406;若確定未檢索到,則上述電子設(shè)備可以執(zhí)行步驟408。
步驟406,基于客戶端信息和該資源文件包的版本信息,確定客戶端是否滿足預(yù)設(shè)的灰度測試條件。
在本實施例中,對于上述待更新應(yīng)用的每一個資源文件包,響應(yīng)于步驟405確定檢索到與該資源文件包匹配的版本信息集合中的、所包含的版本標(biāo)識為灰度發(fā)布版本標(biāo)識的歷史版本信息,則上述電子設(shè)備可以按如下步驟執(zhí)行:
首先,獲取預(yù)設(shè)的與該資源文件包匹配的灰度測試條件。其中,上述灰度測試條件可以包括以下一項或多項:上述客戶端的設(shè)備識別號在預(yù)設(shè)的設(shè)備識別號集合中、用戶標(biāo)識在預(yù)設(shè)的用戶標(biāo)識集合中,上述客戶端類型為預(yù)設(shè)的客戶端類型。此外,上述灰度測試條件還可以包括以下一項或多項:該資源文件包的版本小于灰度發(fā)布版本、該資源文件包的主版本號與上述灰度發(fā)布版本的主版本號相同、該資源文件包的版本信息在預(yù)設(shè)版本信息集合中。
之后,上述電子設(shè)備可以確定上述客戶端信息和該資源文件包的版本信息所指示的該資源文件包的版本是否滿足上述灰度測試條件,若滿足,則確定上述客戶端滿足上述灰度測試條件。響應(yīng)于確定上述客戶端滿足上述灰度測試條件,則上述電子設(shè)備可以執(zhí)行步驟407;響應(yīng)于確定上述客戶端不滿足上述灰度測試條件,則上述電子設(shè)備可以執(zhí)行步驟408。需要說明的是,上述灰度測試條件不限于上述列舉的條件。
步驟407,將包含灰度發(fā)布版本標(biāo)識的歷史版本信息確定為目標(biāo)版本信息。
在本實施例中,對于上述待更新應(yīng)用的每一個資源文件包,響應(yīng)于步驟406確定上述客戶端滿足與該資源文件包匹配的灰度測試條件,則上述電子設(shè)備可以將步驟405檢索到的包含灰度發(fā)布版本標(biāo)識的歷史版本信息確定為目標(biāo)版本信息,并執(zhí)行步驟412。
步驟408,確定最高歷史主版本號。
在本實施例中,對于上述待更新應(yīng)用的每一個資源文件包,響應(yīng)于步驟405確定從該資源文件包的歷史版本信息集合中未檢索到所包含的檢索版本標(biāo)識為灰度發(fā)布版本標(biāo)識的歷史版本信息,或者響應(yīng)于步驟407確定上述客戶端不滿足與該資源文件包匹配的灰度測試條件,則上述電子設(shè)備可以讀取該資源文件包的歷史版本信息集合中的各個歷史版本信息的歷史主版本號,確定該資源文件包的最高歷史主版本號。
步驟409,確定資源文件包的主版本號是否與最高歷史主版本號相同。
在本實施例中,對于上述待更新應(yīng)用的每一個資源文件包,上述電子設(shè)備可以確定該資源文件包的主版本號是否與該資源文件包的最高歷史主版本號相同。響應(yīng)于確定該資源文件包的主版本號與該資源文件包的歷史主版本號相同,則可以執(zhí)行步驟410;響應(yīng)于確定該資源文件包的主版本號與該資源文件包的最高歷史主版本號不同,則可以執(zhí)行步驟411。通常,該資源文件包的主版本號與該資源文件包的最高歷史主版本號不同是指該資源文件包的主版本號小于該資源文件包的最高歷史主版本號。
步驟410,將所包含的歷史主版本號為最高歷史主版本號且所包含的版本標(biāo)識為最高全量版本標(biāo)識的歷史版本信息確定為目標(biāo)版本信息。
在本實施例中,對于上述待更新應(yīng)用的每一個資源文件包,響應(yīng)于步驟409確定該資源文件包的主版本號與該資源文件包的最高歷史主版本號相同,則上述電子設(shè)備可以從該資源文件包的歷史版本信息集合中檢索所包含的歷史主版本號為上述最高歷史主版本號且所包含的版本標(biāo)識為最高全量版本標(biāo)識的歷史版本信息,并將所檢索到的歷史版本信息確定為目標(biāo)版本信息,并執(zhí)行步驟412。
步驟411,將所包含的歷史主版本號為該資源文件包的主版本號且所包含的版本標(biāo)識為最高全量版本標(biāo)識的歷史版本信息確定為目標(biāo)版本信息。
在本實施例中,對于上述待更新應(yīng)用的每一個資源文件包,響應(yīng)于步驟409確定該資源文件包的主版本號與該資源文件包的最高歷史主版本號不同,即該資源文件包的主版本號小于該資源文件包的最高歷史主版本號,則上述電子設(shè)備可以從該資源文件包的歷史版本信息集合中檢索所包含的歷史主版本號為該資源文件包的主版本號且所包含的版本標(biāo)識為最高全量版本標(biāo)識的歷史版本信息,并將所檢索到的歷史版本信息確定為目標(biāo)版本信息,并執(zhí)行步驟412。
步驟412,對于待更新應(yīng)用的每一個資源文件包,基于目標(biāo)版本信息和該資源文件包的版本信息的匹配情況,確定是否需要對該資源文件包更新。
在本實施例中,對于待更新應(yīng)用的每一個資源文件包,上述電子設(shè)備可以通過字符串匹配方式確定該資源文件包的版本信息是否與該資源文件包的目標(biāo)版本信息相匹配。響應(yīng)于確定該資源文件包的版本信息與該資源文件包的目標(biāo)版本信息相匹配,則上述電子設(shè)備可以確定不需要對該資源文件包更新;響應(yīng)于確定該資源文件包的版本信息與該資源文件包的目標(biāo)版本信息不匹配,則可以確定需要對該資源文件包更新,并執(zhí)行步驟413。
步驟413,對于待更新應(yīng)用的每一個資源文件包,響應(yīng)于確定需要對該資源文件包更新,確定該資源文件包的更新類型和目標(biāo)更新包,并獲取目標(biāo)更新包的下載地址。
在本實施例中,對于待更新應(yīng)用的每一個資源文件包,響應(yīng)于確定需要對該資源文件包更新,上述電子設(shè)備可以確定該資源文件包的更新類型。其中,更新類型可以包括但不限于增量更新、全量更新、回滾等。
在本實施例中,對于待更新應(yīng)用的每一個資源文件包,若所接收的該資源文件包的版本信息低于該資源文件包的目標(biāo)版本信息,則上述電子設(shè)備可以確定該資源文件包的更新類型為增量更新;若所接收的該資源文件包的版本信息高于目標(biāo)版本信息,則上述電子設(shè)備可以確定該資源文件包的更新類型為全量更新。
在本實施例中,上述電子設(shè)備也可以預(yù)先存儲更新包與更新類型、版本信息之間的映射,也可以預(yù)先存儲更新包和下載地址之間的映射。對于上述待更新應(yīng)用的每一個資源文件包,上述電子設(shè)備可以基于所接收的該資源文件包的版本信息和所確定的更新類型,以及更新包與更新類型、版本信息之間的映射,確定該資源文件包的目標(biāo)更新包;之后,基于所確定的該資源文件包的目標(biāo)更新包,以及更新包和下載地址之間的映射,確定并獲取與目標(biāo)更新包的下載地址。
步驟414,將所獲取的下載地址發(fā)送至客戶端,以使客戶端從下載地址下載目標(biāo)更新包,并更新待更新應(yīng)用。
在本實施例中,上述電子設(shè)備可以將步驟413所獲取的下載地址發(fā)送至上述客戶端,以使上述客戶端基于下載地址從上述存儲服務(wù)器中下載目標(biāo)更新包,并更新待更新應(yīng)用。
在本實施例中,上述電子設(shè)備將下載地址發(fā)送至上述客戶端之后,還可以接收上述客戶端發(fā)送的更新結(jié)果信息。其中,上述更新結(jié)果信息可以包括但不限于上述客戶端應(yīng)用的各個資源文件包當(dāng)前的版本信息和更新日期;之后,上述電子設(shè)備可以存儲上述更新結(jié)果信息,并進(jìn)行更新成功率等數(shù)據(jù)的更新。
需要說明的是,上述步驟409-步驟412的具體操作與步驟202的具體操作基本相同,在此不再贅述。
從圖4中可以看出,與圖1對應(yīng)的實施例相比,本實施例中的應(yīng)用更新方法的流程400突出了應(yīng)用管理服務(wù)器、更新包生成服務(wù)器和版本服務(wù)器的連接關(guān)系和通信的步驟,還突出了灰度發(fā)布版本的判定步驟。由此,本實施例描述的方案引入了更多的更新類型,進(jìn)一步提高了應(yīng)用更新的靈活性。
進(jìn)一步參考圖6,作為對上述各圖所示方法的實現(xiàn),本申請?zhí)峁┝艘环N應(yīng)用更新裝置的一個實施例,該裝置實施例與圖2所示的方法實施例相對應(yīng),該裝置具體可以應(yīng)用于各種電子設(shè)備中。
如圖6所示,本實施例所述的應(yīng)用更新裝置600包括:第一接收單元601,配置用于接收客戶端發(fā)送的更新請求,其中,上述更新請求包括待更新應(yīng)用的多個資源文件包中每一個資源文件包的版本信息;第一確定單元602,配置用于基于所接收的版本信息,確定是否需要對各個資源文件包更新;第二確定單元603,配置用于對于每一個資源文件包,響應(yīng)于確定需要對該資源文件包更新,確定該資源文件包的目標(biāo)更新包,并獲取上述目標(biāo)更新包的下載地址;第一發(fā)送單元604,配置用于將所獲取的下載地址發(fā)送至上述客戶端,以使上述客戶端從下載地址下載目標(biāo)更新包,并更新上述待更新應(yīng)用。
在本實施例中,上述應(yīng)用更新裝置600的第一接收單元601可以通過有線連接方式或者無線連接方式從客戶端(例如圖1所示的終端設(shè)備101、102、103)接收更新請求,其中,上述更新請求可以包括待更新應(yīng)用的多個資源文件包中每一個資源文件包的版本信息。
在本實施例中,上述第一確定單元602可以存儲有上述待更新應(yīng)用的每一個資源文件包的多個版本信息。對于上述待更新應(yīng)用的每一個資源文件包,上述第一確定單元602可以首先從所存儲的該資源文件包的多個版本信息中選取一個版本信息作為目標(biāo)版本信息;之后,可以將上述第一接收單元601所接收的該資源文件包的版本信息與上述目標(biāo)版本信息進(jìn)行匹配,基于匹配結(jié)果確定是否需要對該資源文件包進(jìn)行更新。
在本實施例的一些可選的實現(xiàn)方式中,上述更新請求還可以包括客戶端信息;上述第一確定單元602可以進(jìn)一步配置用于執(zhí)行以下操作:對于每一個資源文件包,首先可以獲取該資源文件包的歷史版本信息集合,其中,上述歷史版本信息集合中的歷史版本信息包括版本標(biāo)識;之后,檢索上述版本信息集合中的、所包含的版本標(biāo)識為灰度發(fā)布版本標(biāo)識的歷史版本信息;若檢索到,可以基于上述客戶端信息和該資源文件包的版本信息,確定上述客戶端是否滿足預(yù)設(shè)的與該資源文件包匹配的灰度測試條件;若是,可以將包含灰度發(fā)布版本標(biāo)識的歷史版本信息確定為目標(biāo)版本信息;最后,可以基于上述目標(biāo)版本信息和該資源文件包的版本信息的匹配情況,確定是否需要對該資源文件包更新。
在本實施例的一些可選的實現(xiàn)方式中,版本信息可以包含主版本號,歷史版本信息可以包含歷史主版本號;上述第一確定單元602還可以進(jìn)一步配置用于執(zhí)行以下操作:對于每一個資源文件包,響應(yīng)于從該資源文件包的歷史版本信息集合中未檢索到所包含的檢索版本標(biāo)識為灰度發(fā)布版本標(biāo)識的歷史版本信息或上述客戶端不滿足與該資源文件包匹配的灰度測試條件,則確定最高歷史主版本號;響應(yīng)于該資源文件包的主版本號與上述最高歷史主版本號相同,則將所包含的歷史主版本號為最高歷史主版本號且所包含的版本標(biāo)識為最高全量版本標(biāo)識的歷史版本信息確定為目標(biāo)版本信息。
在本實施例的一些可選的實現(xiàn)方式中,上述第一確定單元602可以進(jìn)一步配置用于對于每一個資源文件包,響應(yīng)于該資源文件包的主版本號小于該資源文件包的最高歷史主版本號,則將所包含的歷史主版本號為該資源文件包的主版本號且所包含的版本標(biāo)識為最高全量版本標(biāo)識的歷史版本信息確定為目標(biāo)版本信息。
在本實施例的一些可選的實現(xiàn)方式中,上述第一確定單元602可以進(jìn)一步配置用于對于每一個資源文件包,響應(yīng)于該資源文件包的版本信息與目標(biāo)版本信息相匹配,則確定不需要對該資源文件包更新。
在本實施例的一些可選的實現(xiàn)方式中,上述第一確定單元602可以進(jìn)一步配置用于對于每一個資源文件包,響應(yīng)于該資源文件包的版本信息與目標(biāo)版本信息不匹配,則確定需要對該資源文件包更新。
在本實施例中,對于上述待更新應(yīng)用的每一個資源文件包,響應(yīng)于確定需要對該資源文件包更新,上述第二確定單元603可以將所接收的該資源文件包的版本信息與目標(biāo)版本信息進(jìn)行比較,基于比較結(jié)果,確定該資源文件包的目標(biāo)更新包。
在本實施例中,上述第二確定單元603可以預(yù)先存儲更新包和下載地址之間的映射。對于上述待更新應(yīng)用的每一個資源文件包,上述第二確定單元603可以基于所確定的該資源文件包的目標(biāo)更新包,以及更新包和下載地址之間的映射,確定并獲取與目標(biāo)更新包的下載地址。
在本實施例的一些可選的實現(xiàn)方式中,上述第二確定單元603可以進(jìn)一步配置用于對于每一個資源文件包,響應(yīng)于確定需要對該資源文件包更新,確定該資源文件包的更新類型。
在本實施例的一些可選的實現(xiàn)方式中,上述第二確定單元603可以進(jìn)一步配置用于對于每一個需要更新的資源文件包,若該資源文件包的版本信息低于目標(biāo)版本信息,確定該資源文件包的更新類型為增量更新;若該資源文件包的版本信息高于目標(biāo)版本信息,確定該資源文件包的更新類型為全量更新;基于所確定的更新類型、該資源文件包的版本信息和上述目標(biāo)版本信息,確定目標(biāo)更新包。
在本實施例中,第一發(fā)送單元604可以將上述第二確定單元603所獲取的下載地址發(fā)送至上述客戶端,以使上述客戶端從下載地址下載目標(biāo)更新包,并更新待更新應(yīng)用。
在本實施例的一些可選的實現(xiàn)方式中,上述應(yīng)用更新裝置600還可以包括第三接收單元和存儲單元(圖中未示出)。其中,上述第三接收單元可以配置用于接收上述客戶端發(fā)送的更新結(jié)果信息,上述更新結(jié)果信息包括上述客戶端應(yīng)用的各個資源文件包當(dāng)前的版本信息和更新日期;上述存儲單元可以配置用于存儲上述更新結(jié)果信息。
在本實施例的一些可選的實現(xiàn)方式中,上述應(yīng)用管理服務(wù)器可以分別與客戶端和更新包生成服務(wù)器通信連接,上述客戶端和上述更新包生成服務(wù)器均可以與用于存儲應(yīng)用的更新包的存儲服務(wù)器通信連接,上述更新包生成服務(wù)器可以用于生成應(yīng)用的更新包。
在本實施例的一些可選的實現(xiàn)方式中,上述裝置還可以包括第二發(fā)送單元和第二接收單元(圖中未示出)。其中,上述第二發(fā)送單元可以配置用于對于所管理的多個應(yīng)用中的每一個應(yīng)用,將該應(yīng)用的多個資源文件包發(fā)送至上述更新包生成服務(wù)器,以使上述更新包生成服務(wù)器生成與每一個資源文件包匹配的多個更新包,并將所生成的更新包發(fā)送至上述存儲服務(wù)器;上述第二接收單元可以配置用于接收上述更新包生成服務(wù)器返回的各個更新包的下載地址,其中,更新包的下載地址是上述存儲服務(wù)器在接收到更新包后返回給上述更新包生成服務(wù)器的。
本申請的上述實施例提供的裝置,通過第一接收單元601接收待更新應(yīng)用的每一個資源文件包的版本信息以便第一確定單元602確定是否對該資源文件包進(jìn)行更新,而后第二確定單元603確定需要更新的資源文件包的目標(biāo)更新包,并獲取目標(biāo)更新包的下載地址,最后第一發(fā)送單元604將獲取的下載地址發(fā)送至客戶端,以使客戶端從下載地址下載目標(biāo)更新包并更新待更新應(yīng)用,因而可實現(xiàn)針對待更新應(yīng)用的各個資源文件包進(jìn)行更新,提高了應(yīng)用更新的靈活性,減少了應(yīng)用更新過程中的流量消耗。
下面參考圖7,其示出了適于用來實現(xiàn)本申請的終端設(shè)備或服務(wù)器(包括應(yīng)用管理服務(wù)器、更新包應(yīng)用服務(wù)器及存儲服務(wù)器)的計算機系統(tǒng)700的結(jié)構(gòu)示意圖。
如圖7所示,計算機系統(tǒng)700包括中央處理單元(CPU)701,其可以根據(jù)存儲在只讀存儲器(ROM)702中的
程序或者從存儲部分708加載到隨機訪問存儲器(RAM)703中的程序而執(zhí)行各種適當(dāng)?shù)膭幼骱吞幚?。在RAM 703中,還存儲有系統(tǒng)700操作所需的各種程序和數(shù)據(jù)。CPU 701、ROM 702以及RAM 703通過總線704彼此相連。輸入/輸出(I/O)接口705也連接至總線704。
以下部件連接至I/O接口705:包括鍵盤、鼠標(biāo)等的輸入部分706;包括諸如陰極射線管(CRT)、液晶顯示器(LCD)等以及揚聲器等的輸出部分707;包括硬盤等的存儲部分708;以及包括諸如LAN卡、調(diào)制解調(diào)器等的網(wǎng)絡(luò)接口卡的通信部分709。通信部分709經(jīng)由諸如因特網(wǎng)的網(wǎng)絡(luò)執(zhí)行通信處理。驅(qū)動器710也根據(jù)需要連接至I/O接口705??刹鹦督橘|(zhì)711,諸如磁盤、光盤、磁光盤、半導(dǎo)體存儲器等等,根據(jù)需要安裝在驅(qū)動器710上,以便于從其上讀出的計算機程序根據(jù)需要被安裝入存儲部分708。
特別地,根據(jù)本公開的實施例,上文參考流程圖描述的過程可以被實現(xiàn)為計算機軟件程序。例如,本公開的實施例包括一種計算機程序產(chǎn)品,其包括有形地包含在機器可讀介質(zhì)上的計算機程序,上述計算機程序包含用于執(zhí)行流程圖所示的方法的程序代碼。在這樣的實施例中,該計算機程序可以通過通信部分709從網(wǎng)絡(luò)上被下載和安裝,和/或從可拆卸介質(zhì)711被安裝。在該計算機程序被中央處理單元(CPU)701執(zhí)行時,執(zhí)行本申請的方法中限定的上述功能。
附圖中的流程圖和框圖,圖示了按照本申請各種實施例的系統(tǒng)、方法和計算機程序產(chǎn)品的可能實現(xiàn)的體系架構(gòu)、功能和操作。在這點上,流程圖或框圖中的每個方框可以代表一個模塊、程序段、或代碼的一部分,上述模塊、程序段、或代碼的一部分包含一個或多個用于實現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應(yīng)當(dāng)注意,在有些作為替換的實現(xiàn)中,方框中所標(biāo)注的功能也可以以不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個接連地表示的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或操作的專用的基于硬件的系統(tǒng)來實現(xiàn),或者可以用專用硬件與計算機指令的組合來實現(xiàn)。
描述于本申請實施例中所涉及到的單元可以通過軟件的方式實現(xiàn),也可以通過硬件的方式來實現(xiàn)。所描述的單元也可以設(shè)置在處理器中,例如,可以描述為:一種處理器包括第一接收單元、第一確定單元、第二確定單元和第一發(fā)送單元。其中,這些單元的名稱在某種情況下并不構(gòu)成對該單元本身的限定,例如,第一接收單元還可以被描述為“接收客戶端發(fā)送的更新請求的單元”。
作為另一方面,本申請還提供了一種非易失性計算機存儲介質(zhì),該非易失性計算機存儲介質(zhì)可以是上述實施例中上述裝置中所包含的非易失性計算機存儲介質(zhì);也可以是單獨存在,未裝配入終端中的非易失性計算機存儲介質(zhì)。上述非易失性計算機存儲介質(zhì)存儲有一個或者多個程序,當(dāng)上述一個或者多個程序被一個設(shè)備執(zhí)行時,使得上述設(shè)備:接收客戶端發(fā)送的更新請求,其中,更新請求包括待更新應(yīng)用的多個資源文件包中每一個資源文件包的版本信息;基于所接收的版本信息,確定是否需要對各個資源文件包更新;對于每一個資源文件包,響應(yīng)于確定需要對該資源文件包更新,確定該資源文件包的目標(biāo)更新包,并獲取目標(biāo)更新包的下載地址;將所獲取的下載地址發(fā)送至客戶端,以使客戶端從下載地址下載目標(biāo)更新包,并更新待更新應(yīng)用。
以上描述僅為本申請的較佳實施例以及對所運用技術(shù)原理的說明。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,本申請中所涉及的發(fā)明范圍,并不限于上述技術(shù)特征的特定組合而成的技術(shù)方案,同時也應(yīng)涵蓋在不脫離所述發(fā)明構(gòu)思的情況下,由上述技術(shù)特征或其等同特征進(jìn)行任意組合而形成的其它技術(shù)方案。例如上述特征與本申請中公開的(但不限于)具有類似功能的技術(shù)特征進(jìn)行互相替換而形成的技術(shù)方案。