本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,尤其涉及一種下載路徑確定的方法以及客戶端。
背景技術(shù):
版本升級(jí)是指對(duì)操作系統(tǒng)或應(yīng)用程序前版本的漏洞進(jìn)行完善,或者對(duì)應(yīng)用程序添加新的應(yīng)用功能的更新,使應(yīng)用程序更加完善好用,故而叫做版本升級(jí)。把原先存在的缺陷等錯(cuò)誤信息進(jìn)行修正等。不同的版本可以按照版本號(hào)進(jìn)行分類或者按照產(chǎn)品類別進(jìn)行分類。
目前,版本升級(jí)主要采用默認(rèn)下載路徑,也就是業(yè)務(wù)維護(hù)人員通過直接制作相鄰相關(guān)版本的升級(jí)數(shù)據(jù)包,并配置于相關(guān)的下載平臺(tái),用戶可以在下載平臺(tái)上按照版本順序逐一安裝升級(jí)數(shù)據(jù)包。
然而,由于相關(guān)版本的升級(jí)數(shù)據(jù)包之間通常會(huì)包含較多的重復(fù)文件,如果用戶按照版本順序依次安裝升級(jí)數(shù)據(jù)包,則會(huì)多次下載重復(fù)的文件,導(dǎo)致下載量較大,并且浪費(fèi)下載帶寬資源,從而造成下載路徑復(fù)雜化。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供了一種下載路徑確定的方法以及客戶端,無需按照版本順序依次下載各版本對(duì)應(yīng)的升級(jí)數(shù)據(jù)包,避免了多次下載重復(fù)的文件,從而減少了下載量并且節(jié)省了帶寬資源,使得下載路徑簡單化。
有鑒于此,本發(fā)明第一方面提供了一種下載路徑確定的方法,包括:
獲取待選擇版本集合中第一可選版本,其中,所述待選擇版本集合中還包括第二可選版本以及第三可選版本,所述第三可選版本為當(dāng)前最新版本,所述第二可選版本為所述第三可選版本的前一個(gè)可選版本;
獲取從所述第一可選版本更新至所述第二可選版本所對(duì)應(yīng)的第一版本文件內(nèi)容,并獲取從所述第二可選版本更新至所述第三可選版本所對(duì)應(yīng)的第二版本文件內(nèi)容;
若所述第一版本文件內(nèi)容與所述第二版本文件內(nèi)容一致,則根據(jù)所述第一可選版本以及所述第三可選版本確定第一目標(biāo)下載路徑。
本發(fā)明第二方面提供了一種客戶端,包括:
第一獲取模塊,用于獲取待選擇版本集合中第一可選版本,其中,所述待選擇版本集合中還包括第二可選版本以及第三可選版本,所述第三可選版本為當(dāng)前最新版本,所述第二可選版本為所述第三可選版本的前一個(gè)可選版本;
第二獲取模塊,用于獲取從所述第一獲取模塊獲取的所述第一可選版本更新至所述第二可選版本所對(duì)應(yīng)的第一版本文件內(nèi)容,并獲取從所述第二可選版本更新至所述第三可選版本所對(duì)應(yīng)的第二版本文件內(nèi)容;
第一確定模塊,用于若所述第二獲取模塊獲取的所述第一版本文件內(nèi)容與所述第二版本文件內(nèi)容一致,則根據(jù)所述第一可選版本以及所述第三可選版本確定第一目標(biāo)下載路徑。
從以上技術(shù)方案可以看出,本發(fā)明實(shí)施例具有以下優(yōu)點(diǎn):
本發(fā)明實(shí)施例中,提供了一種下載路徑確定的方法,主要為客戶端先獲取待選擇版本集合中第一可選版本待選擇版本集合中還包括第二可選版本以及第三可選版本,第三可選版本為當(dāng)前最新版本,第二可選版本為第三可選版本的前一個(gè)可選版本,再獲取從第一可選版本更新至第二可選版本所對(duì)應(yīng)的第一版本文件內(nèi)容,并獲取從第二可選版本更新至第三可選版本所對(duì)應(yīng)的第二版本文件內(nèi)容,若第一版本文件內(nèi)容與第二版本文件內(nèi)容一致,則客戶端根據(jù)第一可選版本以及第三可選版本確定第一目標(biāo)下載路徑。通過上述方式,若相關(guān)版本之間存在完全一致的文件,則可以忽略包含重復(fù)文件的版本,并直接跳躍到當(dāng)前最新的版本,以此確定下載路徑,無需按照版本順序依次下載各版本對(duì)應(yīng)的升級(jí)數(shù)據(jù)包,避免了多次下載重復(fù)的文件,從而減少了下載量并且節(jié)省了帶寬資源,使得下載路徑簡單化。
附圖說明
圖1為本發(fā)明實(shí)施例中下載路徑確定的方法一個(gè)實(shí)施例示意圖;
圖2為本發(fā)明實(shí)施例中待選擇版本集合的文件信息對(duì)比示意圖;
圖3為本發(fā)明實(shí)施例中待選擇版本集合的版本信息示意圖;
圖4為本發(fā)明實(shí)施例中各個(gè)可選版本所對(duì)應(yīng)的用戶數(shù)量分布示意圖;
圖5為本發(fā)明應(yīng)用場景中推薦下載路徑的界面示意圖;
圖6為本發(fā)明實(shí)施例中客戶端一個(gè)實(shí)施例示意圖;
圖7為本發(fā)明實(shí)施例中客戶端另一個(gè)實(shí)施例示意圖;
圖8為本發(fā)明實(shí)施例中客戶端另一個(gè)實(shí)施例示意圖;
圖9為本發(fā)明實(shí)施例中客戶端另一個(gè)實(shí)施例示意圖;
圖10為本發(fā)明實(shí)施例中客戶端另一個(gè)實(shí)施例示意圖;
圖11為本發(fā)明實(shí)施例中客戶端另一個(gè)實(shí)施例示意圖;
圖12為本發(fā)明實(shí)施例中客戶端另一個(gè)實(shí)施例示意圖;
圖13為本發(fā)明實(shí)施例中客戶端一個(gè)結(jié)構(gòu)示意圖。
具體實(shí)施方式
本發(fā)明實(shí)施例提供了一種下載路徑確定的方法以及客戶端,無需按照版本順序依次下載各版本對(duì)應(yīng)的升級(jí)數(shù)據(jù)包,避免了多次下載重復(fù)的文件,從而減少了下載量并且節(jié)省了帶寬資源,使得下載路徑簡單化。
本發(fā)明的說明書和權(quán)利要求書及上述附圖中的術(shù)語“第一”、“第二”、“第三”、“第四”等(如果存在)是用于區(qū)別類似的對(duì)象,而不必用于描述特定的順序或先后次序。應(yīng)該理解這樣使用的數(shù)據(jù)在適當(dāng)情況下可以互換,以便這里描述的本發(fā)明的實(shí)施例例如能夠以除了在這里圖示或描述的那些以外的順序?qū)嵤4送?,術(shù)語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或?qū)τ谶@些過程、方法、產(chǎn)品或設(shè)備固有的其它步驟或單元。
應(yīng)理解,本方案主要應(yīng)用于對(duì)應(yīng)用程序進(jìn)行版本升級(jí)的場景,即在客戶端對(duì)應(yīng)用程序升級(jí)之前,通過預(yù)先決策出來的最佳下載路徑下載該應(yīng)用程序的升級(jí)數(shù)據(jù)包。通常情況下,應(yīng)用程序在經(jīng)過一段時(shí)間的使用,就會(huì)逐步顯現(xiàn)出自身的一些漏洞和缺陷,這些漏洞和缺陷無法滿足日益發(fā)展軟件事業(yè)要求,因此應(yīng)用開發(fā)商必須定期或者不定期對(duì)軟件本身的漏洞和缺陷進(jìn)行修復(fù)和更正,這樣就產(chǎn)生了新的版本,以滿足使用新的要求。
通常情況下,為了區(qū)別不同的版本,可以對(duì)每個(gè)版本設(shè)定一個(gè)特定的標(biāo)識(shí),例如版本號(hào)。程序的版本信息主要有四個(gè)值組成,分別是主版本號(hào)、次版本號(hào)、內(nèi)部版本號(hào)以及內(nèi)部修訂號(hào),例如:1.0.0.0版。如果沒有修訂號(hào)和內(nèi)部版本號(hào),則一般取默認(rèn)值0,有時(shí)也可以將其省略,直接用主版本號(hào)和次版本號(hào)表示也可以,例如:1.0版。如果應(yīng)用程序在功能上有重要的增強(qiáng)或改進(jìn),則可將主版本號(hào)增加,主版本號(hào)增加時(shí)次版本號(hào)為0,例如:DOS2.10版升級(jí)為DOS3.00版。若新版本只是排除了幾個(gè)錯(cuò)誤或者在功能等方面變化不大,主版本號(hào)不變,次版本號(hào)增加,例如:DOS3.40版升級(jí)為DOS3.41版。
應(yīng)理解,本發(fā)明所提到的應(yīng)用程序具體可以是指交互式應(yīng)用或者即時(shí)通信類應(yīng)用,也可以是其他不同類型的應(yīng)用程序,例如瀏覽器應(yīng)用、郵箱應(yīng)用或者記事本應(yīng)用等,此處不作限定。
應(yīng)理解,本發(fā)明中所提到的升級(jí)可以為手動(dòng)升級(jí)或者自動(dòng)升級(jí),手動(dòng)升級(jí)可以由用戶自主選擇所要下載的升級(jí)數(shù)據(jù)包,對(duì)于一些不重要的升級(jí)數(shù)據(jù)包或者補(bǔ)丁可以不進(jìn)行下載,從而節(jié)省下載量。而自動(dòng)升級(jí)操作簡潔,客戶端更新工具會(huì)比較應(yīng)用程序的版本與服務(wù)器提供的最新版本是否一致,當(dāng)服務(wù)器中的最新版本比較新時(shí),客戶端更新工具會(huì)自動(dòng)將服務(wù)器中的最新版本下載到客戶端,然后覆蓋應(yīng)用程序的當(dāng)前版本,更新完成。
下面將從客戶端的角度,對(duì)本發(fā)明中下載路徑確定的方法進(jìn)行介紹,請(qǐng)參閱圖1,本發(fā)明實(shí)施例中下載路徑確定的方法一個(gè)實(shí)施例包括:
101、獲取待選擇版本集合中第一可選版本,其中,待選擇版本集合中還包括第二可選版本以及第三可選版本,第三可選版本為當(dāng)前最新版本,第二可選版本為第三可選版本的前一個(gè)可選版本;
本實(shí)施例中,客戶端首先需要獲取待選擇版本集合中的第一可選版本,其中,客戶端可以通過向服務(wù)器發(fā)送版本信息調(diào)用請(qǐng)求來獲得待選擇版本集合,而該待選擇版本集合中至少有三個(gè)可選版本。先以三個(gè)待選擇版本集合中包含三個(gè)可選版本為例進(jìn)行介紹,由于版本之間存在著一定的時(shí)間先后順序,因此,我們將當(dāng)前最新的可選版本稱為第三可選版本,而將次新版本,即第二新的版本稱為第二可選版本,將客戶端當(dāng)前檢測到的應(yīng)用程序版本稱之為第一可選版本。
如果有三個(gè)以上的可選版本,同樣地,則還是將應(yīng)用程序的最新版本作為第三可選版本,將最新版本的前一個(gè)版本稱為第二可選版本,將第二可選版本之前的版本稱為第一可選版本,且第一可選版本也就是當(dāng)前應(yīng)用程序?qū)?yīng)的版本。
102、獲取從第一可選版本更新至第二可選版本所對(duì)應(yīng)的第一版本文件內(nèi)容,并獲取從第二可選版本更新至第三可選版本所對(duì)應(yīng)的第二版本文件內(nèi)容;
本實(shí)施例中,接下來客戶端需要分別檢測從第一可選版本升級(jí)至第二可選版本時(shí)所需更新的第一版本文件內(nèi)容,以及檢測從第二可選版本升級(jí)至第三可選版本所需要更新的第二版本文件內(nèi)容。
其中,第一版本文件內(nèi)容與第二版本文件內(nèi)容具有相同的性質(zhì),版本文件內(nèi)容可以包含而不僅限于文件名稱和/或文件路徑,而版本文件內(nèi)容需要具備標(biāo)識(shí)文件的功能,以幫助客戶端或者服務(wù)器識(shí)別相鄰版本之間是否具有重復(fù)的文件。
103、若第一版本文件內(nèi)容與第二版本文件內(nèi)容一致,則根據(jù)第一可選版本以及第三可選版本確定第一目標(biāo)下載路徑。
本實(shí)施例中,如果客戶端檢測到第一版本文件內(nèi)容與第二版本文件內(nèi)容完全一致,則可以將第一目標(biāo)下載路徑確定為直接從第一可選版本更新至第三可選版本。
本發(fā)明實(shí)施例中,提供了一種下載路徑確定的方法,主要為客戶端先獲取待選擇版本集合中第一可選版本待選擇版本集合中還包括第二可選版本以及第三可選版本,第三可選版本為當(dāng)前最新版本,第二可選版本為第三可選版本的前一個(gè)可選版本,再獲取從第一可選版本更新至第二可選版本所對(duì)應(yīng)的第一版本文件內(nèi)容,并獲取從第二可選版本更新至第三可選版本所對(duì)應(yīng)的第二版本文件內(nèi)容,若第一版本文件內(nèi)容與第二版本文件內(nèi)容一致,則客戶端根據(jù)第一可選版本以及第三可選版本確定第一目標(biāo)下載路徑。通過上述方式,若相關(guān)版本之間存在完全一致的文件,則可以忽略包含重復(fù)文件的版本,并直接跳躍到當(dāng)前最新的版本,以此確定下載路徑,無需按照版本順序依次下載各版本對(duì)應(yīng)的升級(jí)數(shù)據(jù)包,避免了多次下載重復(fù)的文件,從而減少了下載量并且節(jié)省了帶寬資源,使得下載路徑簡單化。
可選地,在上述圖1對(duì)應(yīng)的實(shí)施例的基礎(chǔ)上,本發(fā)明實(shí)施例提供的下載路徑確定的方法第一個(gè)可選實(shí)施例中,獲取從第一可選版本更新至第二可選版本所對(duì)應(yīng)的第一版本文件內(nèi)容,并獲取從第二可選版本更新至第三可選版本所對(duì)應(yīng)的第二版本文件內(nèi)容之后,還可以包括:
獲取第一版本文件內(nèi)容中的至少一個(gè)第一文件,每個(gè)第一文件對(duì)應(yīng)一個(gè)第一標(biāo)識(shí);
獲取第二版本文件內(nèi)容中的至少一個(gè)第二文件,每個(gè)第二文件對(duì)應(yīng)一個(gè)第二標(biāo)識(shí);
判斷第一標(biāo)識(shí)與第二標(biāo)識(shí)是否相同,若相同,則確定第一版本文件內(nèi)容與第二版本文件內(nèi)容一致。
本實(shí)施例中,客戶端獲取從第一可選版本更新至第二可選版本所對(duì)應(yīng)的第一版本文件內(nèi)容,并獲取從第二可選版本更新至第三可選版本所對(duì)應(yīng)的第二版本文件內(nèi)容,其中,第一版本文件內(nèi)容和第二版本文件內(nèi)容均指版本升級(jí)時(shí)所需的更新文件。
具體地,請(qǐng)參閱圖2,圖2為本發(fā)明實(shí)施例中待選擇版本集合的文件信息對(duì)比示意圖,如圖所示,“update_datetime”表示更新版本的發(fā)布時(shí)間,“target_version”表示待升級(jí)版本的版本號(hào),“source_version”表示上一個(gè)版本的版本號(hào),“duplicate_file_diff_size”表示與上一個(gè)相鄰版本之間重復(fù)文件內(nèi)容中不同部分的大小,“duplicate_file_total_size”表示與上一個(gè)相鄰版本之間重復(fù)文件內(nèi)容的總大小,“duplicate_file_count”表示與上一個(gè)相鄰版本之間重復(fù)文件的數(shù)量,文件內(nèi)容可以通過標(biāo)識(shí)來進(jìn)行區(qū)別,例如文件名稱或者文件路徑等。如果標(biāo)識(shí)一致,說明文件內(nèi)容也相同。
以圖2為例,從版本17.0.28.5升級(jí)到版本17.0.31.0沒有新的文件需要進(jìn)行更新,從版本17.0.31.0升級(jí)到版本17.0.31.5也沒有新的文件需要進(jìn)行更新,而從版本17.0.31.5升級(jí)到版本17.0.31.8則開始存在新的文件需要更新的情況,于是為了簡化下載路徑,可以從版本17.0.28.5直接升級(jí)到版本17.0.31.8,接下來再從版本17.0.31.8開始檢測是否與后續(xù)版本所需更新的文件一致,直到升級(jí)至最新版本。
其次,本發(fā)明實(shí)施例中,在客戶端獲取到第一版本文件內(nèi)容和第二版本文件內(nèi)容之后,可以利用版本文件內(nèi)容中的標(biāo)識(shí)來確定哪些文件是重復(fù)的,哪些文件是上一個(gè)版本所沒有。通過上述方式,可以更準(zhǔn)確的識(shí)別各個(gè)相鄰版本之間是否存在升級(jí)數(shù)據(jù)包中下載文件一致的情況,如果下一個(gè)版本需要下載的文件與當(dāng)前版本一致,且下下個(gè)版本需要下載的文件也與當(dāng)前版本一致,那么就可以直接跨過下一個(gè)版本,直接升級(jí)到下下個(gè)版本即可,從而節(jié)省了下載至少一個(gè)升級(jí)數(shù)據(jù)包的時(shí)間,提升方案的實(shí)用性。
可選地,在上述圖1對(duì)應(yīng)的實(shí)施例的基礎(chǔ)上,本發(fā)明實(shí)施例提供的下載路徑確定的方法第二個(gè)可選實(shí)施例中,獲取待選擇版本集合中第一可選版本之后,還可以包括:
獲取第一可選版本所對(duì)應(yīng)的目標(biāo)用戶數(shù)量;
判斷目標(biāo)用戶數(shù)量是否大于預(yù)置用戶平均數(shù)量,其中,預(yù)置用戶平均數(shù)量為排除待選擇版本集合中的第二可選版本以及第三可選版本后,所確定的至少一個(gè)可選版本的用戶數(shù)量平均值;
若目標(biāo)用戶數(shù)量大于預(yù)置用戶平均數(shù)量,則確定執(zhí)行獲取第一版本文件內(nèi)容以及第二版本文件內(nèi)容的步驟;
若目標(biāo)用戶數(shù)量小于預(yù)置用戶平均數(shù)量,則從待選擇版本集合中排除第一可選版本。
本實(shí)施例中,客戶端在獲取第一可選版本之后還可以進(jìn)而確定其對(duì)應(yīng)的目標(biāo)用戶數(shù)量,也就是下載了第一可選版本的用戶數(shù)量,將該目標(biāo)用戶數(shù)量與預(yù)置用戶平均數(shù)據(jù)進(jìn)行對(duì)比,只有大于預(yù)置用戶平均數(shù)量才能繼續(xù)執(zhí)行后續(xù)的步驟,否則將從待選擇版本集合中刪除第一可選版本。
具體地,客戶端先調(diào)用服務(wù)器的數(shù)據(jù)庫,并查詢一段時(shí)間內(nèi)用戶最后一次登錄應(yīng)用程序的賬號(hào)和時(shí)間,并把重復(fù)的賬號(hào)進(jìn)行刪除。其中,可以采用如下代碼查詢出從2016年7月7日至2016年9月22日之間用戶最后一次登錄應(yīng)用程序的賬號(hào)和時(shí)間:
根據(jù)更新版本的發(fā)布時(shí)間以及通過上述代碼獲取到的用戶最后登錄時(shí)間,通過腳本進(jìn)行統(tǒng)計(jì)計(jì)算,即可獲得用戶本地版本分布數(shù)據(jù)。下面將以一個(gè)示例來介紹如何通過腳本計(jì)算某個(gè)版本對(duì)應(yīng)的用戶數(shù)量:
awk–F"丨"‘{
if($2<"2016-07-14 04:03:59"){print$0,"17.0.31.0"}
if($2<="2016-07-14 04:03:59"&&$2<"2016-07-21 06:04:34"){print$0,"17.0.34.0"}
}’dnf_tbip.txt
最后,根據(jù)統(tǒng)計(jì)得到的各個(gè)版本用戶數(shù)量,計(jì)算得到一個(gè)平均值,即預(yù)置用戶平均數(shù)量,可供后續(xù)判斷所用。
其次,本發(fā)明實(shí)施例中,在客戶端獲取待選擇版本集合中的第一可選版本之后,需要檢測該第一可選版本所對(duì)應(yīng)的目標(biāo)用戶數(shù)量是否滿足一定的條件,即是否大于預(yù)置用戶平均數(shù)量,如果是,則進(jìn)入后續(xù)的重復(fù)文件比對(duì)步驟,如果不是,則排除第一可選版本。通過上述方式,可以將用戶下載量較少的版本進(jìn)行排除處理,也就是對(duì)一些不熱門的版本而言,本身所具有的下載價(jià)值就較低,排除后也可以簡化下載路徑,從而進(jìn)一步減少了下載量并且節(jié)省了帶寬資源,提升方案的實(shí)用性。
可選地,在上述圖1對(duì)應(yīng)的第二個(gè)實(shí)施例的基礎(chǔ)上,本發(fā)明實(shí)施例提供的下載路徑確定的方法第三個(gè)可選實(shí)施例中,獲取第一可選版本所對(duì)應(yīng)的目標(biāo)用戶數(shù)量之前,還可以包括:
向服務(wù)器發(fā)送版本信息獲取請(qǐng)求,版本信息獲取請(qǐng)求用于指示服務(wù)器下發(fā)待選擇版本集合;
接收服務(wù)器發(fā)送的待選擇版本集合,待選擇版本集合中包含第一可選版本。
本實(shí)施例中,在在客戶端獲取目標(biāo)用戶數(shù)量之前,可以向服務(wù)器發(fā)送一個(gè)版本信息獲取請(qǐng)求,該請(qǐng)求用于指示服務(wù)器下發(fā)待選擇版本集合,其中,信息獲取請(qǐng)求具體可以是應(yīng)用程序編程接口(英文全稱:Application Programming Interface,英文縮寫:API)請(qǐng)求,通過API請(qǐng)求對(duì)應(yīng)的預(yù)定義函數(shù),調(diào)用應(yīng)用程序與開發(fā)人員基于某軟件或硬件得以訪問的一組例程,而又無需訪問源碼或理解內(nèi)部工作機(jī)制的細(xì)節(jié)。由上述圖1對(duì)應(yīng)的第二可選實(shí)施例可知,在獲取更新版本的發(fā)布時(shí)間這個(gè)過程中,實(shí)際上就是通過API請(qǐng)求調(diào)用了服務(wù)器后臺(tái)的數(shù)據(jù)庫,并得到更新版本的發(fā)布時(shí)間以及其他的信息。
具體地,假設(shè)當(dāng)前需要調(diào)用2016年7月至2016年9月之間的待選擇版本集合,則請(qǐng)參閱圖3,圖3為本發(fā)明實(shí)施例中待選擇版本集合的版本信息示意圖,圖3所示的更新版本發(fā)布時(shí)間是從2016年7月7日5時(shí)39分鐘23秒到2016年9月22日5時(shí)10分25秒的,其中,“update_datetime”表示更新版本的發(fā)布時(shí)間,“target_version”表示待升級(jí)版本的版本號(hào),“source_version”表示上一個(gè)版本的版本號(hào),“update_policy”表示升級(jí)策略,“resource_url”表示上一個(gè)版本的地址。待選擇版本集合中可包含圖3所述的各類信息。
再次,本發(fā)明實(shí)施例中,介紹了客戶端在獲取第一可選版本所對(duì)應(yīng)的目標(biāo)用戶數(shù)量之前,還需要通過向服務(wù)器發(fā)送版本信息獲取請(qǐng)求來獲取待選擇版本集合。通過上述方式,能夠使得客戶端有效地獲取到待選擇版本集合,保證方案的可行性和可操作性。
可選地,在上述圖1對(duì)應(yīng)的第三個(gè)實(shí)施例的基礎(chǔ)上,本發(fā)明實(shí)施例提供的下載路徑確定的方法第四個(gè)可選實(shí)施例中,根據(jù)版本信息獲取請(qǐng)求接收服務(wù)器發(fā)送的待選擇版本集合之后,還可以包括:
向服務(wù)器發(fā)送用戶數(shù)量獲取請(qǐng)求,用戶數(shù)量獲取請(qǐng)求用于指示服務(wù)器下發(fā)待選擇版本集合中各個(gè)可選版本所對(duì)應(yīng)的用戶數(shù)量;
接收服務(wù)器發(fā)送的待選擇版本集合中各個(gè)可選版本所對(duì)應(yīng)的用戶數(shù)量;
獲取第一可選版本所對(duì)應(yīng)的目標(biāo)用戶數(shù)量,可以包括:
根據(jù)待選擇版本集合中各個(gè)可選版本所對(duì)應(yīng)的用戶數(shù)量,確定第一可選版本所對(duì)應(yīng)的目標(biāo)用戶數(shù)量。
本實(shí)施例中,服務(wù)器可以實(shí)時(shí)統(tǒng)計(jì)各個(gè)版本用戶數(shù)量,然后客戶端通過向服務(wù)器發(fā)送用戶數(shù)量獲取請(qǐng)求來調(diào)用服務(wù)器所統(tǒng)計(jì)的各個(gè)版本用戶數(shù)量,以此,在得到待選擇版本集合中各個(gè)可選版本所對(duì)應(yīng)的用戶數(shù)量之后,就不難找到第一可選版本所對(duì)應(yīng)的用戶數(shù)量,即目標(biāo)用戶數(shù)量。
具體地,各個(gè)版本用戶數(shù)量的統(tǒng)計(jì)的結(jié)果可以以圖表量化的方式顯示出來,當(dāng)然,該結(jié)果也可以以數(shù)據(jù)的形式顯示出來,且在服務(wù)器端維護(hù)這樣一個(gè)統(tǒng)計(jì)結(jié)果供客戶端調(diào)用。下面將以圓餅圖的表現(xiàn)形式為例進(jìn)行介紹,請(qǐng)參閱圖4,圖4為本發(fā)明實(shí)施例中各個(gè)可選版本所對(duì)應(yīng)的用戶數(shù)量分布示意圖,如圖所示,統(tǒng)計(jì)的結(jié)果為:
1號(hào)區(qū)域表示版本17.0.31.0,用戶數(shù)量為868084,用戶人數(shù)占比為3%;
2號(hào)區(qū)域表示版本17.0.34.0,用戶數(shù)量為2246026,用戶人數(shù)占比為8%;
3號(hào)區(qū)域表示版本17.0.34.6,用戶數(shù)量為2514540,用戶人數(shù)占比為9%;
4號(hào)區(qū)域表示版本17.0.39.0,用戶數(shù)量為1708820,用戶人數(shù)占比為6%;
5號(hào)區(qū)域表示版本17.0.39.1,用戶數(shù)量為1760594,用戶人數(shù)占比為6%;
6號(hào)區(qū)域表示版本17.0.45.0,用戶數(shù)量為1670232,用戶人數(shù)占比為6%;
7號(hào)區(qū)域表示版本17.0.45.2,用戶數(shù)量為2165450,用戶人數(shù)占比為8%;
8號(hào)區(qū)域表示版本17.0.51.0,用戶數(shù)量為2649106,用戶人數(shù)占比為10%;
9號(hào)區(qū)域表示版本17.0.51.8,用戶數(shù)量為3732600,用戶人數(shù)占比為13%;
10號(hào)區(qū)域表示版本17.0.51.15,用戶數(shù)量為8594530,用戶人數(shù)占比為31%。
根據(jù)上述的統(tǒng)計(jì)結(jié)果,即可以很快的確定各個(gè)版本所對(duì)應(yīng)的用戶數(shù)量。進(jìn)一步地,如果需要計(jì)算預(yù)置用戶平均數(shù)量,既可以執(zhí)行如下的代碼:
if user_Num(x)<average(User_Num);then
delete_This_Verison();
fi
如果以圖4為例,那就是計(jì)算從版本17.0.31.0至版本17.0.51.0的預(yù)置用戶平均數(shù)量。
進(jìn)一步地,本發(fā)明實(shí)施例中,客戶端在獲取到待選擇版本集合之后,還可以通過發(fā)送用戶數(shù)量獲取請(qǐng)求來得到待選擇版本集合中各個(gè)版本所對(duì)應(yīng)的用戶數(shù)量,利用第一可選版本的標(biāo)識(shí)來提取與之對(duì)應(yīng)的目標(biāo)用戶數(shù)量。通過上述方式,一方面可以更準(zhǔn)確的得到第一可選版本對(duì)應(yīng)的目標(biāo)用戶數(shù)量,從而提升方案的實(shí)用性,另一方面還能跟得到待選擇版本集合中其他版本所對(duì)應(yīng)的用戶數(shù)量,有利于進(jìn)行后續(xù)的統(tǒng)計(jì),從而提升方案的靈活性。
可選地,在上述圖1對(duì)應(yīng)的實(shí)施例的基礎(chǔ)上,本發(fā)明實(shí)施例提供的下載路徑確定的方法第五個(gè)可選實(shí)施例中,獲取從第一可選版本更新至第二可選版本所對(duì)應(yīng)的第一版本文件內(nèi)容,并獲取從第二可選版本更新至第三可選版本所對(duì)應(yīng)的第二版本文件內(nèi)容之后,還可以包括:
若第一版本文件內(nèi)容與第二版本文件內(nèi)容不一致,則根據(jù)第一可選版本、第二可選版本以及第三可選版本確定第二目標(biāo)下載路徑。
本實(shí)施例中,如果檢測到第一版本文件內(nèi)容與第二版本文件內(nèi)容不一致,那么當(dāng)前就不能直接跨過第二可選版本下載升級(jí)數(shù)據(jù)包。
具體地,假設(shè)待選擇版本集合中共有五個(gè)可選版本,分別為版本1、版本2、版本3、版本4和版本5,這五個(gè)版本的排列順序?yàn)閺呐f到新,即版本1為最舊的版本,版本為為最新版本,即第三可選版本,版本4則為次新的版本,即第二可選版本,而第一版本可以是版本1、版本2或版本3。首先檢測從版本1升級(jí)到版本2的文件與從版本2升級(jí)到版本3的文件是否一致,如果是,則忽略版本2,反之,則需要從先從版本1升級(jí)到版本2。
若忽略了版本2,則接著檢測從版本2升級(jí)到版本3與從版本3升級(jí)到版本4的文件是否一致,如果是,則繼續(xù)忽略版本3,反之,則需要從版本1升級(jí)到版本2再升級(jí)到版本3。
若忽略了版本3,則進(jìn)一步檢測從版本3升級(jí)到版本4與從版本4升級(jí)到版本5的文件是否一致,如果是,則繼而忽略版本4,反之,則需要從版本1開始依次升級(jí)到版本2、版本3和版本4。最后得到的第一目標(biāo)下載路徑則是從版本1到版本5的升級(jí)數(shù)據(jù)包下載路徑,而第二目標(biāo)下載路徑則是按照次序,從版本1、版本2、版本3、版本4到版本5的升級(jí)數(shù)據(jù)包下載路徑。
其中,排除重復(fù)文件為0的下載路徑還可以通過以下的代碼實(shí)現(xiàn):
If sum(dup_File_Num(x))==0;then
delete_This_Verison();
fi
其次,本發(fā)明實(shí)施例中,如果存在第一版本文件與第二文件內(nèi)容不一致的情況,則不會(huì)直接忽略下一個(gè)版本,而是依次下載各個(gè)升級(jí)數(shù)據(jù)包。通過上述方式,保證了在下載路徑的確定過程中,不會(huì)遺漏非重復(fù)的文件,從而保證每次更新都是有效的更新,以此提升方案的使用便利性和升級(jí)可靠性。
可選地,在上述圖1以及圖1對(duì)應(yīng)的第一至第四個(gè)實(shí)施例中任一項(xiàng)的基礎(chǔ)上,本發(fā)明實(shí)施例提供的下載路徑確定的方法第六個(gè)可選實(shí)施例中,根據(jù)第一可選版本以及第三可選版本確定第一目標(biāo)下載路徑之后,還可以包括:
根據(jù)第一目標(biāo)下載路徑下載第三可選版本對(duì)應(yīng)的升級(jí)數(shù)據(jù)包,其中,升級(jí)數(shù)據(jù)包用于對(duì)客戶端進(jìn)行版本升級(jí)。
本實(shí)施例中,在客戶端確定了第一目標(biāo)下載路徑之后,就可以下載當(dāng)前最新的升級(jí)數(shù)據(jù)包,然后從第一可選版本升級(jí)到第三可選版本,其中,第一可選版本為應(yīng)用程序的當(dāng)前版本。
客戶端第一目標(biāo)下載路徑下載第三可選版本對(duì)應(yīng)的升級(jí)數(shù)據(jù)包,然后客戶端進(jìn)一步采用該升級(jí)數(shù)據(jù)包對(duì)應(yīng)用程序進(jìn)行版本升級(jí)。
需要說明的是,客戶端可以根據(jù)第一目標(biāo)下載路徑自動(dòng)下載最新的升級(jí)數(shù)據(jù)包,也可以由用戶發(fā)起指令,該指令用于指示所采用的第一目標(biāo)下載路徑,然后客戶端根據(jù)用戶發(fā)出的指令確定第一目標(biāo)下載路徑,并下載最新的升級(jí)數(shù)據(jù)包,此處不對(duì)客戶端下載最新升級(jí)包的方式進(jìn)行限定。
其次,本發(fā)明實(shí)施例中,客戶端還可以進(jìn)一步根據(jù)第一目標(biāo)下載路徑下載最新版本所對(duì)應(yīng)的升級(jí)數(shù)據(jù)包,并且采用升級(jí)數(shù)據(jù)包對(duì)應(yīng)用程序進(jìn)行更新。通過上述方式,可以有效地利用較優(yōu)下載路徑進(jìn)行升級(jí)數(shù)據(jù)包的下載,從而提升了方案的實(shí)用性和可行性。
為便于理解,下面可以以一個(gè)具體應(yīng)用場景對(duì)本發(fā)明中對(duì)下載路徑確定的流程進(jìn)行詳細(xì)描述,具體為:
用戶甲下載了一款“穿越火線”的游戲應(yīng)用,且當(dāng)前該游戲應(yīng)用的版本為17.0.34.6.,一段時(shí)間之后,用戶甲通過游戲體驗(yàn)管理平臺(tái)查看到“穿越火線”推出了幾個(gè)新的版本,包括了版本17.0.39.0、版本17.0.39.1、版本17.0.45.0、版本17.0.45.2、版本17.0.51.0以及版本17.0.51.15,其中,版本17.0.51.15是目前最新的版本。
于是,游戲體驗(yàn)管理平臺(tái)在后臺(tái)開始計(jì)算從版本17.0.34.6.到版本17.0.51.15之間的最佳下載路徑。
首先,客戶端獲取近兩個(gè)月以來各個(gè)版本的用戶下載量,然后檢測哪些版本的用戶下載量少于用戶下載量平均值,其中,用戶下載量平均值可以采用以下的計(jì)算公式:
用戶下載量平均值=(版本17.0.34.6用戶下載量+版本17.0.39.0用戶下載量+版本17.0.39.1用戶下載量+版本17.0.45.0用戶下載量+版本17.0.45.2用戶下載量)/5;
若得到的結(jié)果為10000,則判斷每個(gè)版本的用戶下載量是否小于10000,如果是,則排除該版本。假設(shè)版本17.0.39.0的用戶下載量為5000,則排除該版本,此外版本17.0.45.0的用戶下載量為9000,則也排除該版本。于是剩下版本17.0.39.1和版本17.0.45.2,接下來需要分別獲取版本17.0.34.6到版本17.0.39.1的文件內(nèi)容,版本17.0.39.1到版本17.0.45.0的文件內(nèi)容,版本版本17.0.45.0到版本17.0.51.0的文件內(nèi)容。
若確定版本17.0.34.6到版本17.0.39.1的文件內(nèi)容為A和B,版本17.0.39.1到版本17.0.45.0的文件內(nèi)容為A和B,版本版本17.0.45.0到版本17.0.51.0的文件內(nèi)容為A和B,那么可以認(rèn)為中間幾個(gè)版本所更新的文件都是重復(fù)的,即最佳的升級(jí)數(shù)據(jù)包下載路徑可以是直接從版本17.0.34.6升級(jí)到版本17.0.51.15,即如圖5所示,圖5為本發(fā)明應(yīng)用場景中推薦下載路徑的界面示意圖,圖中黑色字體標(biāo)識(shí)的“執(zhí)行打包”則是較優(yōu)路徑的升級(jí)數(shù)據(jù)包打包,白色字體標(biāo)識(shí)的“執(zhí)行打包”則是按照順序依次下載各個(gè)升級(jí)數(shù)據(jù)包,直到下載至最近的版本。
下面對(duì)本發(fā)明中的客戶端進(jìn)行詳細(xì)描述,請(qǐng)參閱圖6,本發(fā)明實(shí)施例中的客戶端為應(yīng)用于下載路徑確定的客戶端,客戶端20包括:
第一獲取模塊201,用于獲取待選擇版本集合中第一可選版本,其中,所述待選擇版本集合中還包括第二可選版本以及第三可選版本,所述第三可選版本為當(dāng)前最新版本,所述第二可選版本為所述第三可選版本的前一個(gè)可選版本;
第二獲取模塊202,用于獲取從所述第一獲取模塊201獲取的所述第一可選版本更新至所述第二可選版本所對(duì)應(yīng)的第一版本文件內(nèi)容,并獲取從所述第二可選版本更新至所述第三可選版本所對(duì)應(yīng)的第二版本文件內(nèi)容;
第一確定模塊203,用于若所述第二獲取模塊202獲取的所述第一版本文件內(nèi)容與所述第二版本文件內(nèi)容一致,則根據(jù)所述第一可選版本以及所述第三可選版本確定第一目標(biāo)下載路徑。
本實(shí)施例中,第一獲取模塊201獲取待選擇版本集合中第一可選版本,其中,所述待選擇版本集合中還包括第二可選版本以及第三可選版本,所述第三可選版本為當(dāng)前最新版本,所述第二可選版本為所述第三可選版本的前一個(gè)可選版本,第二獲取模塊202獲取從所述第一獲取模塊201獲取的所述第一可選版本更新至所述第二可選版本所對(duì)應(yīng)的第一版本文件內(nèi)容,并獲取從所述第二可選版本更新至所述第三可選版本所對(duì)應(yīng)的第二版本文件內(nèi)容,若所述第二獲取模塊202獲取的所述第一版本文件內(nèi)容與所述第二版本文件內(nèi)容一致,則第一確定模塊203根據(jù)所述第一可選版本以及所述第三可選版本確定第一目標(biāo)下載路徑。
本發(fā)明實(shí)施例中,提供了一種下載路徑確定的客戶端,主要為客戶端先獲取待選擇版本集合中第一可選版本待選擇版本集合中還包括第二可選版本以及第三可選版本,第三可選版本為當(dāng)前最新版本,第二可選版本為第三可選版本的前一個(gè)可選版本,再獲取從第一可選版本更新至第二可選版本所對(duì)應(yīng)的第一版本文件內(nèi)容,并獲取從第二可選版本更新至第三可選版本所對(duì)應(yīng)的第二版本文件內(nèi)容,若第一版本文件內(nèi)容與第二版本文件內(nèi)容一致,則客戶端根據(jù)第一可選版本以及第三可選版本確定第一目標(biāo)下載路徑。通過上述方式,若相關(guān)版本之間存在完全一致的文件,則可以忽略包含重復(fù)文件的版本,并直接跳躍到當(dāng)前最新的版本,以此確定下載路徑,無需按照版本順序依次下載各版本對(duì)應(yīng)的升級(jí)數(shù)據(jù)包,避免了多次下載重復(fù)的文件,從而減少了下載量并且節(jié)省了帶寬資源,使得下載路徑簡單化。
可選地,在上述圖6所對(duì)應(yīng)的實(shí)施例的基礎(chǔ)上,請(qǐng)參閱圖7,本發(fā)明實(shí)施例提供的服務(wù)器的另一實(shí)施例中,
所述客戶端20還包括:
第三獲取模塊204A,用于所述第二獲取模塊202獲取從所述第一可選版本更新至所述第二可選版本所對(duì)應(yīng)的第一版本文件內(nèi)容,并獲取從所述第二可選版本更新至所述第三可選版本所對(duì)應(yīng)的第二版本文件內(nèi)容之后,獲取所述第一版本文件內(nèi)容中的至少一個(gè)第一文件,每個(gè)第一文件對(duì)應(yīng)一個(gè)第一標(biāo)識(shí);
第四獲取模塊204B,用于獲取所述第三獲取模塊獲取的所述第二版本文件內(nèi)容中的至少一個(gè)第二文件,每個(gè)第二文件對(duì)應(yīng)一個(gè)第二標(biāo)識(shí);
第一判斷模塊204C,用于判斷所述第三獲取模塊204A獲取的所述第一標(biāo)識(shí)與所述第四獲取模塊204B獲取的所述第二標(biāo)識(shí)是否相同,若相同,則確定所述第一版本文件內(nèi)容與所述第二版本文件內(nèi)容一致。
其次,本發(fā)明實(shí)施例中,在客戶端獲取到第一版本文件內(nèi)容和第二版本文件內(nèi)容之后,可以利用版本文件內(nèi)容中的標(biāo)識(shí)來確定哪些文件是重復(fù)的,哪些文件是上一個(gè)版本所沒有。通過上述方式,可以更準(zhǔn)確的識(shí)別各個(gè)相鄰版本之間是否存在升級(jí)數(shù)據(jù)包中下載文件一致的情況,如果下一個(gè)版本需要下載的文件與當(dāng)前版本一致,且下下個(gè)版本需要下載的文件也與當(dāng)前版本一致,那么就可以直接跨過下一個(gè)版本,直接升級(jí)到下下個(gè)版本即可,從而節(jié)省了下載至少一個(gè)升級(jí)數(shù)據(jù)包的時(shí)間,提升方案的實(shí)用性。
可選地,在上述圖6所對(duì)應(yīng)的實(shí)施例的基礎(chǔ)上,請(qǐng)參閱圖8,本發(fā)明實(shí)施例提供的服務(wù)器的另一實(shí)施例中,
所述客戶端20還包括:
第五獲取模塊205A,用于所述第一獲取模塊201獲取待選擇版本集合中第一可選版本之后,獲取所述第一可選版本所對(duì)應(yīng)的目標(biāo)用戶數(shù)量;
第二判斷模塊205B,用于判斷所述第五獲取模塊205A獲取的所述目標(biāo)用戶數(shù)量是否大于預(yù)置用戶平均數(shù)量,其中,所述預(yù)置用戶平均數(shù)量為排除所述待選擇版本集合中的所述第二可選版本以及所述第三可選版本后,所確定的至少一個(gè)可選版本的用戶數(shù)量平均值;
第二確定模塊205C,用于若所述第二判斷模塊205B判斷得到所述目標(biāo)用戶數(shù)量大于預(yù)置用戶平均數(shù)量,則確定執(zhí)行獲取所述第一版本文件內(nèi)容以及所述第二版本文件內(nèi)容的步驟;
排除模塊205D,用于若所述第二判斷模塊205B判斷得到所述目標(biāo)用戶數(shù)量小于預(yù)置用戶平均數(shù)量,則從所述待選擇版本集合中排除所述第一可選版本。
其次,本發(fā)明實(shí)施例中,在客戶端獲取待選擇版本集合中的第一可選版本之后,需要檢測該第一可選版本所對(duì)應(yīng)的目標(biāo)用戶數(shù)量是否滿足一定的條件,即是否大于預(yù)置用戶平均數(shù)量,如果是,則進(jìn)入后續(xù)的重復(fù)文件比對(duì)步驟,如果不是,則排除第一可選版本。通過上述方式,可以將用戶下載量較少的版本進(jìn)行排除處理,也就是對(duì)一些不熱門的版本而言,本身所具有的下載價(jià)值就較低,排除后也可以簡化下載路徑,從而進(jìn)一步減少了下載量并且節(jié)省了帶寬資源,提升方案的實(shí)用性。
可選地,在上述圖8所對(duì)應(yīng)的實(shí)施例的基礎(chǔ)上,請(qǐng)參閱圖9,本發(fā)明實(shí)施例提供的服務(wù)器的另一實(shí)施例中,
所述客戶端20還包括:
第一發(fā)送模塊206A,用于所述第五獲取模塊205A獲取所述第一可選版本所對(duì)應(yīng)的目標(biāo)用戶數(shù)量之前,向服務(wù)器發(fā)送版本信息獲取請(qǐng)求,所述版本信息獲取請(qǐng)求用于指示所述服務(wù)器下發(fā)所述待選擇版本集合;
第一接收模塊206B,用于接收所述服務(wù)器發(fā)送的所述待選擇版本集合,所述待選擇版本集合中包含所述第一可選版本。
再次,本發(fā)明實(shí)施例中,介紹了客戶端在獲取第一可選版本所對(duì)應(yīng)的目標(biāo)用戶數(shù)量之前,還需要通過向服務(wù)器發(fā)送版本信息獲取請(qǐng)求來獲取待選擇版本集合。通過上述方式,能夠使得客戶端有效地獲取到待選擇版本集合,保證方案的可行性和可操作性。
可選地,在上述圖9所對(duì)應(yīng)的實(shí)施例的基礎(chǔ)上,請(qǐng)參閱圖10,本發(fā)明實(shí)施例提供的服務(wù)器的另一實(shí)施例中,
所述客戶端20還包括:
第二發(fā)送模塊207A,用于所述第一接收模塊206B接收所述服務(wù)器發(fā)送的所述待選擇版本集合之后,向所述服務(wù)器發(fā)送用戶數(shù)量獲取請(qǐng)求,所述用戶數(shù)量獲取請(qǐng)求用于指示所述服務(wù)器下發(fā)所述待選擇版本集合中各個(gè)可選版本所對(duì)應(yīng)的用戶數(shù)量;
第二接收模塊207B,用于接收所述服務(wù)器發(fā)送的所述待選擇版本集合中各個(gè)可選版本所對(duì)應(yīng)的用戶數(shù)量;
所述第五獲取模塊205A包括:
確定單元2051,用于根據(jù)所述待選擇版本集合中各個(gè)可選版本所對(duì)應(yīng)的用戶數(shù)量,確定所述第一可選版本所對(duì)應(yīng)的所述目標(biāo)用戶數(shù)量。
進(jìn)一步地,本發(fā)明實(shí)施例中,客戶端在獲取到待選擇版本集合之后,還可以通過發(fā)送用戶數(shù)量獲取請(qǐng)求來得到待選擇版本集合中各個(gè)版本所對(duì)應(yīng)的用戶數(shù)量,利用第一可選版本的標(biāo)識(shí)來提取與之對(duì)應(yīng)的目標(biāo)用戶數(shù)量。通過上述方式,一方面可以更準(zhǔn)確的得到第一可選版本對(duì)應(yīng)的目標(biāo)用戶數(shù)量,從而提升方案的實(shí)用性,另一方面還能跟得到待選擇版本集合中其他版本所對(duì)應(yīng)的用戶數(shù)量,有利于進(jìn)行后續(xù)的統(tǒng)計(jì),從而提升方案的靈活性。
可選地,在上述圖6所對(duì)應(yīng)的實(shí)施例的基礎(chǔ)上,請(qǐng)參閱圖11,本發(fā)明實(shí)施例提供的服務(wù)器的另一實(shí)施例中,
所述客戶端20還包括:
第三確定模塊208,用于所述第二獲取模塊202獲取從所述第一可選版本更新至所述第二可選版本所對(duì)應(yīng)的第一版本文件內(nèi)容,并獲取從所述第二可選版本更新至所述第三可選版本所對(duì)應(yīng)的第二版本文件內(nèi)容之后,若所述第一版本文件內(nèi)容與所述第二版本文件內(nèi)容不一致,則根據(jù)所述第一可選版本、所述第二可選版本以及所述第三可選版本確定第二目標(biāo)下載路徑。
其次,本發(fā)明實(shí)施例中,如果存在第一版本文件與第二文件內(nèi)容不一致的情況,則不會(huì)直接忽略下一個(gè)版本,而是依次下載各個(gè)升級(jí)數(shù)據(jù)包。通過上述方式,保證了在下載路徑的確定過程中,不會(huì)遺漏非重復(fù)的文件,從而保證每次更新都是有效的更新,以此提升方案的使用便利性和升級(jí)可靠性。
可選地,在上述圖6至圖10所對(duì)應(yīng)的實(shí)施例的基礎(chǔ)上,請(qǐng)參閱圖12,本發(fā)明實(shí)施例提供的服務(wù)器的另一實(shí)施例中,
所述客戶端20還包括:
下載模塊209,用于所述第一確定模塊203根據(jù)所述第一可選版本以及所述第三可選版本確定第一目標(biāo)下載路徑之后,根據(jù)所述第一目標(biāo)下載路徑下載所述第三可選版本對(duì)應(yīng)的升級(jí)數(shù)據(jù)包,其中,升級(jí)數(shù)據(jù)包用于對(duì)客戶端進(jìn)行版本升級(jí)。
其次,本發(fā)明實(shí)施例中,客戶端還可以進(jìn)一步根據(jù)第一目標(biāo)下載路徑下載最新版本所對(duì)應(yīng)的升級(jí)數(shù)據(jù)包,并且采用升級(jí)數(shù)據(jù)包對(duì)應(yīng)用程序進(jìn)行更新。通過上述方式,可以有效地利用較優(yōu)下載路徑進(jìn)行升級(jí)數(shù)據(jù)包的下載,從而提升了方案的實(shí)用性和可行性。
本發(fā)明實(shí)施例還提供了另一種客戶端,如圖13所示,為了便于說明,僅示出了與本發(fā)明實(shí)施例相關(guān)的部分,具體技術(shù)細(xì)節(jié)未揭示的,請(qǐng)參照本發(fā)明實(shí)施例方法部分。該客戶端可以為包括手機(jī)、平板電腦、個(gè)人數(shù)字助理(英文全稱:Personal Digital Assistant,英文縮寫:PDA)、銷售終端(英文全稱:Point of Sales,英文縮寫:POS)、車載電腦等任意終端設(shè)備,以客戶端為手機(jī)為例:
圖13示出的是與本發(fā)明實(shí)施例提供的客戶端相關(guān)的手機(jī)的部分結(jié)構(gòu)的框圖。參考圖13,手機(jī)包括:射頻(英文全稱:Radio Frequency,英文縮寫:RF)電路310、存儲(chǔ)器320、輸入單元330、顯示單元340、傳感器350、音頻電路360、無線保真(英文全稱:wireless fidelity,英文縮寫:WiFi)模塊370、處理器380、以及電源390等部件。本領(lǐng)域技術(shù)人員可以理解,圖13中示出的手機(jī)結(jié)構(gòu)并不構(gòu)成對(duì)手機(jī)的限定,可以包括比圖示更多或更少的部件,或者組合某些部件,或者不同的部件布置。
下面結(jié)合圖13對(duì)手機(jī)的各個(gè)構(gòu)成部件進(jìn)行具體的介紹:
RF電路310可用于收發(fā)信息或通話過程中,信號(hào)的接收和發(fā)送,特別地,將基站的下行信息接收后,給處理器380處理;另外,將設(shè)計(jì)上行的數(shù)據(jù)發(fā)送給基站。通常,RF電路310包括但不限于天線、至少一個(gè)放大器、收發(fā)信機(jī)、耦合器、低噪聲放大器(英文全稱:Low Noise Amplifier,英文縮寫:LNA)、雙工器等。此外,RF電路310還可以通過無線通信與網(wǎng)絡(luò)和其他設(shè)備通信。上述無線通信可以使用任一通信標(biāo)準(zhǔn)或協(xié)議,包括但不限于全球移動(dòng)通訊系統(tǒng)(英文全稱:Global System of Mobile communication,英文縮寫:GSM)、通用分組無線服務(wù)(英文全稱:General Packet Radio Service,GPRS)、碼分多址(英文全稱:Code Division Multiple Access,英文縮寫:CDMA)、寬帶碼分多址(英文全稱:Wideband Code Division Multiple Access,英文縮寫:WCDMA)、長期演進(jìn)(英文全稱:Long Term Evolution,英文縮寫:LTE)、電子郵件、短消息服務(wù)(英文全稱:Short Messaging Service,SMS)等。
存儲(chǔ)器320可用于存儲(chǔ)軟件程序以及模塊,處理器380通過運(yùn)行存儲(chǔ)在存儲(chǔ)器320的軟件程序以及模塊,從而執(zhí)行手機(jī)的各種功能應(yīng)用以及數(shù)據(jù)處理。存儲(chǔ)器320可主要包括存儲(chǔ)程序區(qū)和存儲(chǔ)數(shù)據(jù)區(qū),其中,存儲(chǔ)程序區(qū)可存儲(chǔ)操作系統(tǒng)、至少一個(gè)功能所需的應(yīng)用程序(比如聲音播放功能、圖像播放功能等)等;存儲(chǔ)數(shù)據(jù)區(qū)可存儲(chǔ)根據(jù)手機(jī)的使用所創(chuàng)建的數(shù)據(jù)(比如音頻數(shù)據(jù)、電話本等)等。此外,存儲(chǔ)器320可以包括高速隨機(jī)存取存儲(chǔ)器,還可以包括非易失性存儲(chǔ)器,例如至少一個(gè)磁盤存儲(chǔ)器件、閃存器件、或其他易失性固態(tài)存儲(chǔ)器件。
輸入單元330可用于接收輸入的數(shù)字或字符信息,以及產(chǎn)生與手機(jī)的用戶設(shè)置以及功能控制有關(guān)的鍵信號(hào)輸入。具體地,輸入單元330可包括觸控面板331以及其他輸入設(shè)備332。觸控面板331,也稱為觸摸屏,可收集用戶在其上或附近的觸摸操作(比如用戶使用手指、觸筆等任何適合的物體或附件在觸控面板331上或在觸控面板331附近的操作),并根據(jù)預(yù)先設(shè)定的程式驅(qū)動(dòng)相應(yīng)的連接裝置??蛇x的,觸控面板331可包括觸摸檢測裝置和觸摸控制器兩個(gè)部分。其中,觸摸檢測裝置檢測用戶的觸摸方位,并檢測觸摸操作帶來的信號(hào),將信號(hào)傳送給觸摸控制器;觸摸控制器從觸摸檢測裝置上接收觸摸信息,并將它轉(zhuǎn)換成觸點(diǎn)坐標(biāo),再送給處理器380,并能接收處理器380發(fā)來的命令并加以執(zhí)行。此外,可以采用電阻式、電容式、紅外線以及表面聲波等多種類型實(shí)現(xiàn)觸控面板331。除了觸控面板331,輸入單元330還可以包括其他輸入設(shè)備332。具體地,其他輸入設(shè)備332可以包括但不限于物理鍵盤、功能鍵(比如音量控制按鍵、開關(guān)按鍵等)、軌跡球、鼠標(biāo)、操作桿等中的一種或多種。
顯示單元340可用于顯示由用戶輸入的信息或提供給用戶的信息以及手機(jī)的各種菜單。顯示單元340可包括顯示面板341,可選的,可以采用液晶顯示器(英文全稱:Liquid Crystal Display,英文縮寫:LCD)、有機(jī)發(fā)光二極管(英文全稱:Organic Light-Emitting Diode,英文縮寫:OLED)等形式來配置顯示面板341。進(jìn)一步的,觸控面板331可覆蓋顯示面板341,當(dāng)觸控面板331檢測到在其上或附近的觸摸操作后,傳送給處理器380以確定觸摸事件的類型,隨后處理器380根據(jù)觸摸事件的類型在顯示面板341上提供相應(yīng)的視覺輸出。雖然在圖13中,觸控面板331與顯示面板341是作為兩個(gè)獨(dú)立的部件來實(shí)現(xiàn)手機(jī)的輸入和輸入功能,但是在某些實(shí)施例中,可以將觸控面板331與顯示面板341集成而實(shí)現(xiàn)手機(jī)的輸入和輸出功能。
手機(jī)還可包括至少一種傳感器350,比如光傳感器、運(yùn)動(dòng)傳感器以及其他傳感器。具體地,光傳感器可包括環(huán)境光傳感器及接近傳感器,其中,環(huán)境光傳感器可根據(jù)環(huán)境光線的明暗來調(diào)節(jié)顯示面板341的亮度,接近傳感器可在手機(jī)移動(dòng)到耳邊時(shí),關(guān)閉顯示面板341和/或背光。作為運(yùn)動(dòng)傳感器的一種,加速計(jì)傳感器可檢測各個(gè)方向上(一般為三軸)加速度的大小,靜止時(shí)可檢測出重力的大小及方向,可用于識(shí)別手機(jī)姿態(tài)的應(yīng)用(比如橫豎屏切換、相關(guān)游戲、磁力計(jì)姿態(tài)校準(zhǔn))、振動(dòng)識(shí)別相關(guān)功能(比如計(jì)步器、敲擊)等;至于手機(jī)還可配置的陀螺儀、氣壓計(jì)、濕度計(jì)、溫度計(jì)、紅外線傳感器等其他傳感器,在此不再贅述。
音頻電路360、揚(yáng)聲器361,傳聲器362可提供用戶與手機(jī)之間的音頻接口。音頻電路360可將接收到的音頻數(shù)據(jù)轉(zhuǎn)換后的電信號(hào),傳輸?shù)綋P(yáng)聲器361,由揚(yáng)聲器361轉(zhuǎn)換為聲音信號(hào)輸出;另一方面,傳聲器362將收集的聲音信號(hào)轉(zhuǎn)換為電信號(hào),由音頻電路360接收后轉(zhuǎn)換為音頻數(shù)據(jù),再將音頻數(shù)據(jù)輸出處理器380處理后,經(jīng)RF電路310以發(fā)送給比如另一手機(jī),或者將音頻數(shù)據(jù)輸出至存儲(chǔ)器320以便進(jìn)一步處理。
WiFi屬于短距離無線傳輸技術(shù),手機(jī)通過WiFi模塊370可以幫助用戶收發(fā)電子郵件、瀏覽網(wǎng)頁和訪問流式媒體等,它為用戶提供了無線的寬帶互聯(lián)網(wǎng)訪問。雖然圖13示出了WiFi模塊370,但是可以理解的是,其并不屬于手機(jī)的必須構(gòu)成,完全可以根據(jù)需要在不改變發(fā)明的本質(zhì)的范圍內(nèi)而省略。
處理器380是手機(jī)的控制中心,利用各種接口和線路連接整個(gè)手機(jī)的各個(gè)部分,通過運(yùn)行或執(zhí)行存儲(chǔ)在存儲(chǔ)器320內(nèi)的軟件程序和/或模塊,以及調(diào)用存儲(chǔ)在存儲(chǔ)器320內(nèi)的數(shù)據(jù),執(zhí)行手機(jī)的各種功能和處理數(shù)據(jù),從而對(duì)手機(jī)進(jìn)行整體監(jiān)控。可選的,處理器380可包括一個(gè)或多個(gè)處理單元;優(yōu)選的,處理器380可集成應(yīng)用處理器和調(diào)制解調(diào)處理器,其中,應(yīng)用處理器主要處理操作系統(tǒng)、用戶界面和應(yīng)用程序等,調(diào)制解調(diào)處理器主要處理無線通信。可以理解的是,上述調(diào)制解調(diào)處理器也可以不集成到處理器380中。
手機(jī)還包括給各個(gè)部件供電的電源390(比如電池),優(yōu)選的,電源可以通過電源管理系統(tǒng)與處理器380邏輯相連,從而通過電源管理系統(tǒng)實(shí)現(xiàn)管理充電、放電、以及功耗管理等功能。
盡管未示出,手機(jī)還可以包括攝像頭、藍(lán)牙模塊等,在此不再贅述。
在本發(fā)明實(shí)施例中,該終端所包括的處理器380還具有以下功能:
獲取待選擇版本集合中第一可選版本,其中,所述待選擇版本集合中還包括第二可選版本以及第三可選版本,所述第三可選版本為當(dāng)前最新版本,所述第二可選版本為所述第三可選版本的前一個(gè)可選版本;
獲取從所述第一可選版本更新至所述第二可選版本所對(duì)應(yīng)的第一版本文件內(nèi)容,并獲取從所述第二可選版本更新至所述第三可選版本所對(duì)應(yīng)的第二版本文件內(nèi)容;
若所述第一版本文件內(nèi)容與所述第二版本文件內(nèi)容一致,則根據(jù)所述第一可選版本以及所述第三可選版本確定第一目標(biāo)下載路徑。
所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統(tǒng),裝置和單元的具體工作過程,可以參考前述方法實(shí)施例中的對(duì)應(yīng)過程,在此不再贅述。
在本申請(qǐng)所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的系統(tǒng),裝置和方法,可以通過其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來實(shí)現(xiàn)本實(shí)施例方案的目的。
另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能單元的形式實(shí)現(xiàn)。
所述集成的單元如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。基于這樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:U盤、移動(dòng)硬盤、只讀存儲(chǔ)器(英文全稱:Read-Only Memory,英文縮寫:ROM)、隨機(jī)存取存儲(chǔ)器(英文全稱:Random Access Memory,英文縮寫:RAM)、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
以上所述,以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精神和范圍。