一種軟件升級的方法及電子設(shè)備的制造方法
【專利摘要】本發(fā)明實施例提供一種軟件升級的方法及電子設(shè)備,用以解決軟件升級效率較低的技術(shù)問題。所述方法包括:接收終端設(shè)備發(fā)送的軟件升級請求信息,軟件升級請求信息用于請求對終端設(shè)備中安裝的第一應(yīng)用程序進(jìn)行升級,軟件升級請求信息表明終端設(shè)備當(dāng)前是根據(jù)軟件版本為第一APK安裝第一應(yīng)用程序;根據(jù)軟件升級請求信息,從與第一應(yīng)用程序?qū)?yīng)的多個APK中確定軟件版本高于第一APK的第二APK;將第一APK劃分為M個第一文件片段,以及將第二APK劃分為N個第二文件片段,M和N均為大于等于2的整數(shù);根據(jù)M個第一文件片段和N個第二文件片段,獲得升級增量包;將升級增量包發(fā)送給終端設(shè)備,以使終端設(shè)備根據(jù)增量升級包進(jìn)行升級。
【專利說明】
_種軟件升級的方法及電子設(shè)備
技術(shù)領(lǐng)域
[0001]本發(fā)明實施例涉及通信技術(shù)領(lǐng)域,尤其涉及一種軟件升級的方法及電子設(shè)備。
【背景技術(shù)】
[0002]隨著終端設(shè)備技術(shù)的快速發(fā)展,開發(fā)商提供的應(yīng)用程序越來越多,用戶在終端設(shè)備可以安裝多種應(yīng)用程序以實現(xiàn)不同的功能,例如可以通過視頻應(yīng)用觀看視頻,通過游戲應(yīng)用進(jìn)行娛樂,等等。
[0003]在使用應(yīng)用程序的過程中,有時需要對應(yīng)用程序進(jìn)行更新升級,通過更新升級后的應(yīng)用程序可以使用更多的功能。為了對應(yīng)用程序快速進(jìn)行升級,用戶可以只下載用于表明當(dāng)前軟件版本和新版本之間差異量的升級增量包進(jìn)行安裝,而無需下載完整的安裝包,由于升級增量包的數(shù)據(jù)量一般較小,例如一般只有幾十字節(jié)(KB)或者幾兆(M),所以可以縮短下載的時間,節(jié)約流量,同時還可以提高升級的速率。
[0004]目前,一般是直接將新版安裝包和舊版安裝包整體進(jìn)行差異比較進(jìn)而獲得升級增量包,然而,本申請發(fā)明人發(fā)現(xiàn)采用這種整體比較的方式獲得的升級增量包中有可能包含無需進(jìn)行更新的信息,這樣就會增加升級增量包的冗余,同時由于是整體進(jìn)行比較所花費的時間也可能較長,降低軟件升級的效率。
【發(fā)明內(nèi)容】
[0005]本發(fā)明實施例提供一種軟件升級的方法及電子設(shè)備,用以解決現(xiàn)有技術(shù)中軟件升級的效率較低的技術(shù)問題,實現(xiàn)了在保證升級增量包準(zhǔn)確有效的前提下縮短獲得升級增量包的時間,進(jìn)而提高軟件升級的效率的有益效果。
[0006]本發(fā)明實施例提供一種軟件升級的方法,包括:
[0007]接收終端設(shè)備發(fā)送的軟件升級請求信息;其中,所述軟件升級請求信息用于請求對所述終端設(shè)備中安裝的第一應(yīng)用程序進(jìn)行升級,所述軟件升級請求信息表明所述終端設(shè)備當(dāng)前是根據(jù)軟件版本為第一 APK安裝所述第一應(yīng)用程序;
[0008]根據(jù)所述軟件升級請求信息,從與所述第一應(yīng)用程序?qū)?yīng)的多個APK中確定軟件版本高于所述第一 APK的第二 APK;
[0009]將所述第一APK劃分為M個第一文件片段,以及將所述第二 APK劃分為N個第二文件片段,M和N均為大于等于2的整數(shù);
[0010]根據(jù)所述M個第一文件片段和所述N個第二文件片段,獲得升級增量包;
[0011 ]將所述升級增量包發(fā)送給所述終端設(shè)備,以使所述終端設(shè)備根據(jù)所述增量升級包進(jìn)行升級。
[0012]本發(fā)明實施例提供一種電子設(shè)備,包括:
[0013]接收模塊,用于接收終端設(shè)備發(fā)送的軟件升級請求信息;其中,所述軟件升級請求信息用于請求對所述終端設(shè)備中安裝的第一應(yīng)用程序進(jìn)行升級,所述軟件升級請求信息表明所述終端設(shè)備當(dāng)前是根據(jù)軟件版本為第一安卓安裝包APK安裝所述第一應(yīng)用程序;
[0014]確定模塊,用于根據(jù)所述軟件升級請求信息,從與所述第一應(yīng)用程序?qū)?yīng)的多個APK中確定軟件版本高于所述第一 APK的第二 APK;
[0015]劃分模塊,用于將所述第一APK劃分為M個第一文件片段,以及將所述第二 APK劃分為N個第二文件片段,M和N均為大于等于2的整數(shù);
[0016]獲得模塊,用于根據(jù)所述M個第一文件片段和所述N個第二文件片段,獲得升級增量包;
[0017]發(fā)送模塊,用于將所述升級增量包發(fā)送給所述終端設(shè)備,以使所述終端設(shè)備根據(jù)所述增量升級包進(jìn)行升級。
[0018]本發(fā)明實施例提供的軟件升級的方法及電子設(shè)備,在接收到終端設(shè)備發(fā)送的軟件升級請求信息之后,可以確定終端設(shè)備需要對第一應(yīng)用程序進(jìn)行升級,并且可以確定終端設(shè)備中使用的第一應(yīng)用程序是通過第一安卓安裝包(Android Package,APK)安裝的,為了滿足終端設(shè)備的升級需求,可以從與第一應(yīng)用程序?qū)?yīng)的多個APK中確定出軟件版本高于第一 APK的APK,例如確定出第二 APK,為了便于終端設(shè)備快速升級,可以確定第二 APK與第一APK之間的差異量以獲得升級增量包,由于第二 APK的軟件版本高于第一 APK的軟件版本,所以當(dāng)終端設(shè)備安裝升級增量包后即可以實現(xiàn)對第一應(yīng)用程序進(jìn)行升級的目的。
[0019]在本發(fā)明實施例中,在獲得升級增量包時,可以先將第一APK劃分為M個第一文件片段,以及將第二 APK劃分為N個第二文件片段,再根據(jù)M個第一文件片段和N個第二文件片段確定第二 APK和第一 APK之間的差異量以獲得升級增量包,也就是說,是先對高低版本的APK進(jìn)行文件切片,這樣可以將APK從整體劃分為多個文件片段,然后再通過文件片段之間進(jìn)行比較以獲得差異量,由于相互進(jìn)行比較的單元更小,比較差異的力度也就更大,這樣獲得的差異量也就更加準(zhǔn)確,可以盡量避免將重復(fù)的冗余信息也作為差異量的一部分,以提升比較的有效性,也確保升級增量包的準(zhǔn)確,也就是說,在保證升級增量包準(zhǔn)確的前提下可以盡量減小升級增量包的數(shù)據(jù)量,這樣可以為終端設(shè)備節(jié)約下載的流量,縮短終端設(shè)備的下載時間,提高軟件升級的效率。并且還可以對多個數(shù)據(jù)量較小的文件片段并行比較,這樣可以縮短獲得升級增量包的時間,進(jìn)一步的提高軟件升級的效率。
【附圖說明】
[0020]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0021]圖1為本發(fā)明實施例中軟件升級的方法的流程圖;
[0022]圖2為本發(fā)明實施例中電子設(shè)備的結(jié)構(gòu)框圖。
【具體實施方式】
[0023]為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。
[0024]本發(fā)明實施例提供的軟件升級的方法及電子設(shè)備,在接收到終端設(shè)備發(fā)送的軟件升級請求信息之后,可以確定終端設(shè)備需要對第一應(yīng)用程序進(jìn)行升級,并且可以確定終端設(shè)備中使用的第一應(yīng)用程序是通過第一安卓安裝包(Android Package,APK)安裝的,為了滿足終端設(shè)備的升級需求,可以從與第一應(yīng)用程序?qū)?yīng)的多個APK中確定出軟件版本高于第一 APK的APK,例如確定出第二 APK,為了便于終端設(shè)備快速升級,可以確定第二 APK與第一APK之間的差異量以獲得升級增量包,由于第二 APK的軟件版本高于第一 APK的軟件版本,所以當(dāng)終端設(shè)備安裝升級增量包后即可以實現(xiàn)對第一應(yīng)用程序進(jìn)行升級的目的。
[0025]在本發(fā)明實施例中,在獲得升級增量包時,可以先將第一APK劃分為M個第一文件片段,以及將第二 APK劃分為N個第二文件片段,再根據(jù)M個第一文件片段和N個第二文件片段確定第二 APK和第一 APK之間的差異量以獲得升級增量包,也就是說,是先對高低版本的APK進(jìn)行文件切片,這樣可以將APK從整體劃分為多個文件片段,然后再通過文件片段之間進(jìn)行比較以獲得差異量,由于相互進(jìn)行比較的單元更小,比較差異的力度也就更大,這樣獲得的差異量也就更加準(zhǔn)確,可以盡量避免將重復(fù)的冗余信息也作為差異量的一部分,以提升比較的有效性,也確保升級增量包的準(zhǔn)確,也就是說,在保證升級增量包準(zhǔn)確的前提下可以盡量減小升級增量包的數(shù)據(jù)量,這樣可以為終端設(shè)備節(jié)約下載的流量,縮短終端設(shè)備的下載時間,提高軟件升級的效率。并且還可以對多個數(shù)據(jù)量較小的文件片段并行比較,這樣可以縮短獲得升級增量包的時間,進(jìn)一步的提高軟件升級的效率。
[0026]本發(fā)明實施例提供一種軟件升級的方法,該方法可以應(yīng)用于軟件更新服務(wù)器,SP本發(fā)明實施例中提供的軟件升級的方法中各步驟的執(zhí)行主體可以是軟件更新服務(wù)器。軟件更新服務(wù)器存儲有應(yīng)用程序的開發(fā)商或者開發(fā)者上傳的對應(yīng)該應(yīng)用程序的不同版本的APK,例如可以按照APK開發(fā)的時間先后,將越往后的APK稱作更高軟件的APK,并且高版本的APK相對于低版本的APK來說,一般是進(jìn)行了某些功能上的改進(jìn)、優(yōu)化或者新增了某些功能,以一游戲應(yīng)用程序為例,安裝較低版本的APK只有50關(guān)卡,而安裝較高版本的APK則可有150關(guān)卡,相當(dāng)于是增加了一些新的功能,所以為了使用更多的新功能,則存在升級軟件的需要。示意性地說明,例如yy_l.0.APK、yy_l.1.APK、yy_l.2.APK分別是從低到高的三個版本的 APK ο
[0027]請參見圖1,本發(fā)明實施例中的軟件升級的方法的流程描述如下。
[0028]步驟101:接收終端設(shè)備發(fā)送的軟件升級請求信息;其中,軟件升級請求信息用于請求對終端設(shè)備中安裝的第一應(yīng)用程序進(jìn)行升級,軟件升級請求信息表明終端設(shè)備當(dāng)前是根據(jù)軟件版本為第一 APK安裝第一應(yīng)用程序。
[0029]當(dāng)用戶需要進(jìn)行軟件升級時,可以通過對終端設(shè)備進(jìn)行操作以觸發(fā)終端設(shè)備向軟件更新服務(wù)器發(fā)送軟件升級請求信息,例如用戶可以通過點擊終端設(shè)備上顯示的升級按鈕或者通過語音輸入的方式觸發(fā)終端設(shè)備發(fā)送軟件升級請求信息,或者終端設(shè)備也可以自主觸發(fā)進(jìn)行軟件更新,例如當(dāng)終端設(shè)備處于W1-FI網(wǎng)絡(luò)下時則可以觸發(fā)軟件自動更新,等等。
[0030]通過軟件升級請求信息,軟件更新服務(wù)器可以確定終端設(shè)備需要對哪一個應(yīng)用程序進(jìn)行更新,例如確定需要對終端設(shè)備中已經(jīng)安裝的第一應(yīng)用程序進(jìn)行升級更新,同時可以還可以確定終端設(shè)備當(dāng)前使用的是哪個軟件版本,例如確定當(dāng)前正在使用的是軟件版本是第一 APK。
[0031]步驟102:根據(jù)軟件升級請求信息,從與第一應(yīng)用程序?qū)?yīng)的多個APK中確定軟件版本高于第一 APK的第二 APK。
[0032]由于軟件更新服務(wù)器可以存儲第一應(yīng)用程序不同時期的APK,例如可以根據(jù)應(yīng)用程序的名稱來確定哪些是與第一應(yīng)用程序相關(guān)的APK,或者,可以直接將與第一應(yīng)用相關(guān)的所有APK都存儲在預(yù)定位置。
[0033]其中,第二APK的軟件版本高于第一APK,例如可以第一APK高一個版本,或者可以比第一 APK高三個版本,無論是比第一 APK高幾個版本,當(dāng)安裝更高版本的APK之后都可以達(dá)到軟件升級的目的。
[0034]可選的,為了使得本次升級操作后獲得的版本是最新的版本,即是開發(fā)商或者開發(fā)者最新開發(fā)出的版本,可以將多個APK中軟件最高的APK作為第二 APK,具體來說,可以將存儲時間最短的APK作為第二APK,因為存儲時間最短表明是開發(fā)商或者開發(fā)者最后上傳的,即表明可能是最后開發(fā)出的最新版本,或者,可以將數(shù)據(jù)量最大的APK確定為第二APK,因為開發(fā)商一般是針對功能添加或者優(yōu)化進(jìn)行軟件的優(yōu)化,所以隨著版本的升高,其包括的數(shù)據(jù)量也可能越來越大。
[0035]步驟103:將第一APK劃分為M個第一文件片段,以及將第二 APK劃分為N個第二文件片段。
[0036]其中,i^PN均為大于等于2的整數(shù),即可以同時均將第一APK和第二APK劃分為多個文件片段,M和N的取值可以相同或者也可以不同。
[0037]在具體實施過程中,例如可以通過文件切片的方式進(jìn)行劃分。
[0038]由于對于同一應(yīng)用程序的不同版本的APK,其所包括的文件種類一般是相同的,所以可以按照文件類型將APK劃分為多個文件片段,例如APK中包括5種類型的文件,那么可以將該APK劃分為5個文件片段,等等,并且由于對于同一應(yīng)用程序的多個APK所包括的文件數(shù)量一般是相同的,所以可以將第一APK和第二APK劃分為數(shù)量相等的文件片段,這樣可以便于將同種類型的文件片段進(jìn)行對應(yīng)比較,由于同種類型的文件片段之間的差異量一般不會特別大,所以采用這種方式可以有效提高比較的效率。
[0039]進(jìn)一步地,不同的可能是同一類型文件中所包括的信息,而APK之間的差異量也主要可能是通過相同類型的文件中所包括的不同的信息所決定的,所以在進(jìn)行切片劃分時,可以針對特定類型的文件進(jìn)行劃分,例如,可以分別將第一 APK和第二 APK中的第一類型的文件劃分為數(shù)量相等的文件片段,其中,第一類型的文件可以是表明軟件功能增加和/或更新的文件,因為軟件的優(yōu)化主要是對功能的新增或者改變,所以針對第一類型的文件進(jìn)行的等數(shù)量的劃分可以盡量快速、準(zhǔn)確地獲得兩個APK之間的差異量。
[0040]進(jìn)一步地,針對常規(guī)的APK來說,其中一般包括classes, dex的文件,可以將該classes.dex文件看作是上述的第一類型的文件,所以在具體實施過程中,可以將第一APK和第二 APK中的后綴名為dex的文件均劃分為數(shù)量相等的class文件,進(jìn)而通過比較class文件的方式以快速、準(zhǔn)確地確定出第一 APK和第二 APK之間的差異量,進(jìn)而獲得升級增量包。[0041 ]步驟104:根據(jù)M個第一文件片段和N個第二文件片段,確定第二 APK與第一 APK的差異量以獲得升級增量包。
[0042]在獲得針對第一 APK的M個第一文件片段以及針對第二 APK的N個第二文件片段之后,可以將M個第一文件片段和N個第二文件片段對應(yīng)的兩兩之間進(jìn)行比較以進(jìn)行差異化計算,為了確保比較的針對性,可以將M個第一文件片段中和N個第二文件片段中屬于相同類型的文件片段兩兩之間進(jìn)行比較,因為屬于相同類型的文件片段之間的差異量相對較小,這樣可以提高差異計算的效率,在分別進(jìn)行差異比較之后,可以將所有的差異量之和作為第二 APK與第一 APK之間的差異量,進(jìn)而可以根據(jù)第二 APK與第一 APK之間的差異量獲得第二APK相當(dāng)于第一 APK的升級增量包。
[0043]步驟105:將升級增量包發(fā)送給終端設(shè)備,以使終端根據(jù)增量升級包進(jìn)行升級。
[0044]在獲得第二APK相當(dāng)于第一 APK的升級增量包之后,可以將獲得的升級增量包發(fā)送給終端設(shè)備,終端設(shè)備通過下載可以獲得升級增量包,進(jìn)而可以通過安裝升級增量包以完成軟件的更新升級。
[0045]本發(fā)明實施例提供的軟件升級的方法,在接收到終端設(shè)備發(fā)送的軟件升級請求信息之后,可以確定終端設(shè)備需要對第一應(yīng)用程序進(jìn)行升級,并且可以確定終端設(shè)備中使用的第一應(yīng)用程序是通過第一安卓安裝包(Android Package,APK)安裝的,為了滿足終端設(shè)備的升級需求,可以從與第一應(yīng)用程序?qū)?yīng)的多個APK中確定出軟件版本高于第一 APK的APK,例如確定出第二 APK,為了便于終端設(shè)備快速升級,可以確定第二 APK與第一 APK之間的差異量以獲得升級增量包,由于第二 APK的軟件版本高于第一 APK的軟件版本,所以當(dāng)終端設(shè)備安裝升級增量包后即可以實現(xiàn)對第一應(yīng)用程序進(jìn)行升級的目的。
[0046]在本發(fā)明實施例中,在獲得升級增量包時,可以先將第一APK劃分為M個第一文件片段,以及將第二 APK劃分為N個第二文件片段,再根據(jù)M個第一文件片段和N個第二文件片段確定第二 APK和第一 APK之間的差異量以獲得升級增量包,也就是說,是先對高低版本的APK進(jìn)行文件切片,這樣可以將APK從整體劃分為多個文件片段,然后再通過文件片段之間進(jìn)行比較以獲得差異量,由于相互進(jìn)行比較的單元更小,比較差異的力度也就更大,這樣獲得的差異量也就更加準(zhǔn)確,可以盡量避免將重復(fù)的冗余信息也作為差異量的一部分,以提升比較的有效性,也確保升級增量包的準(zhǔn)確,也就是說,在保證升級增量包準(zhǔn)確的前提下可以盡量減小升級增量包的數(shù)據(jù)量,這樣可以為終端設(shè)備節(jié)約下載的流量,縮短終端設(shè)備的下載時間,提高軟件升級的效率。并且還可以對多個數(shù)據(jù)量較小的文件片段并行比較,這樣可以縮短獲得升級增量包的時間,進(jìn)一步的提高軟件升級的效率。
[0047]基于同一發(fā)明構(gòu)思,請參見圖2,本發(fā)明實施例提供一種電子設(shè)備,該電子設(shè)備可以是前述的軟件更新服務(wù)器,該電子設(shè)備包括:接收模塊201、確定模塊202、劃分模塊203、獲得模塊204和發(fā)送模塊205,而且本發(fā)明實施例中的接收模塊201、確定模塊202、劃分模塊203、獲得模塊204和發(fā)送模塊205可以通過硬件處理器來實現(xiàn)相關(guān)功能單元。其中:
[0048]接收模塊201,用于接收終端設(shè)備發(fā)送的軟件升級請求信息;其中,軟件升級請求信息用于請求對終端設(shè)備中安裝的第一應(yīng)用程序進(jìn)行升級,軟件升級請求信息表明終端設(shè)備當(dāng)前是根據(jù)軟件版本為第一 APK安裝第一應(yīng)用程序;
[0049]確定模塊202,用于根據(jù)軟件升級請求信息,從與第一應(yīng)用程序?qū)?yīng)的多個APK中確定軟件版本高于第一 APK的第二 APK;
[0050]劃分模塊203,用于將第一APK劃分為M個第一文件片段,以及將第二APK劃分為N個第二文件片段,M和N均為大于等于2的整數(shù);
[0051 ]獲得模塊204,用于根據(jù)M個第一文件片段和N個第二文件片段,確定第二APK與第一 APK的差異量以獲得升級增量包;
[0052]發(fā)送模塊205,用于將升級增量包發(fā)送給終端設(shè)備,以使終端設(shè)備根據(jù)增量升級包進(jìn)行升級。
[0053]可選的,M個第一文件片段和N個第二文件片段的數(shù)量相等。
[0054]可選的,劃分模塊203用于:
[0055]分別將第一APK中和第二AM中的第一類型文件劃分為數(shù)量相等的文件片段;其中,第一類型文件是表明軟件功能增加和/或更新的文件。
[0056]可選的,劃分模塊203用于:
[0057]將第一APK中和第二 APK中的后綴名為dex的文件劃分為數(shù)量相等的class文件。
[0058]可選的,確定模塊202用于:
[0059]根據(jù)軟件升級請求信息,從多個APK中確定軟件版本最高的APK作為第二APK;其中,軟件版本最高的APK為存儲時間最短的APK,或,軟件版本最高的APK為數(shù)據(jù)量最大的APK
[0060]本發(fā)明實施例提供的電子設(shè)備,在接收到終端設(shè)備發(fā)送的軟件升級請求信息之后,可以確定終端設(shè)備需要對第一應(yīng)用程序進(jìn)行升級,并且可以確定終端設(shè)備中使用的第一應(yīng)用程序是通過第一安卓安裝包(Android Package,APK)安裝的,為了滿足終端設(shè)備的升級需求,可以從與第一應(yīng)用程序?qū)?yīng)的多個APK中確定出軟件版本高于第一 APK的APK,例如確定出第二 APK,為了便于終端設(shè)備快速升級,可以確定第二 APK與第一 APK之間的差異量以獲得升級增量包,由于第二 APK的軟件版本高于第一 APK的軟件版本,所以當(dāng)終端設(shè)備安裝升級增量包后即可以實現(xiàn)對第一應(yīng)用程序進(jìn)行升級的目的。
[0061]在本發(fā)明實施例中,在獲得升級增量包時,可以先將第一APK劃分為M個第一文件片段,以及將第二 APK劃分為N個第二文件片段,再根據(jù)M個第一文件片段和N個第二文件片段確定第二 APK和第一 APK之間的差異量以獲得升級增量包,也就是說,是先對高低版本的APK進(jìn)行文件切片,這樣可以將APK從整體劃分為多個文件片段,然后再通過文件片段之間進(jìn)行比較以獲得差異量,由于相互進(jìn)行比較的單元更小,比較差異的力度也就更大,這樣獲得的差異量也就更加準(zhǔn)確,可以盡量避免將重復(fù)的冗余信息也作為差異量的一部分,以提升比較的有效性,也確保升級增量包的準(zhǔn)確,也就是說,在保證升級增量包準(zhǔn)確的前提下可以盡量減小升級增量包的數(shù)據(jù)量,這樣可以為終端設(shè)備節(jié)約下載的流量,縮短終端設(shè)備的下載時間,提高軟件升級的效率。并且還可以對多個數(shù)據(jù)量較小的文件片段并行比較,這樣可以縮短獲得升級增量包的時間,進(jìn)一步的提高軟件升級的效率。
[0062]以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本實施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性的勞動的情況下,即可以理解并實施。
[0063]通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到各實施方式可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當(dāng)然也可以通過硬件。基于這樣的理解,上述技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機(jī)軟件產(chǎn)品可以存儲在計算機(jī)可讀存儲介質(zhì)中,如R0M/RAM、磁碟、光盤等,包括若干指令用以使得一臺計算機(jī)設(shè)備(可以是個人計算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行各個實施例或者實施例的某些部分所述的方法。
[0064]最后應(yīng)說明的是:以上實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述實施例對本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對前述各實施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的精神和范圍。
【主權(quán)項】
1.一種軟件升級的方法,其特征在于,包括: 接收終端設(shè)備發(fā)送的軟件升級請求信息;其中,所述軟件升級請求信息用于請求對所述終端設(shè)備中安裝的第一應(yīng)用程序進(jìn)行升級,所述軟件升級請求信息表明所述終端設(shè)備當(dāng)前是根據(jù)軟件版本為第一安卓安裝包APK安裝所述第一應(yīng)用程序; 根據(jù)所述軟件升級請求信息,從與所述第一應(yīng)用程序?qū)?yīng)的多個APK中確定軟件版本高于所述第一 APK的第二 APK; 將所述第一 APK劃分為M個第一文件片段,以及將所述第二 APK劃分為N個第二文件片段,M和N均為大于等于2的整數(shù); 根據(jù)所述M個第一文件片段和所述N個第二文件片段,確定第二 APK與第一 APK的差異量以獲得升級增量包; 將所述升級增量包發(fā)送給所述終端設(shè)備,以使所述終端設(shè)備根據(jù)所述增量升級包進(jìn)行升級。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述M個第一文件片段和所述N個第二文件片段的數(shù)量相等。3.根據(jù)權(quán)利要求2所述的方法,其特征在于,將所述第一APK劃分為M個第一文件片段,以及將所述第二 APK劃分為N個第二文件片段,包括: 分別將所述第一 APK中和所述第二 APK中的第一類型文件劃分為數(shù)量相等的文件片段;其中,所述第一類型文件是表明軟件功能增加和/或更新的文件。4.根據(jù)權(quán)利要求3所述的方法,其特征在于,分別將所述第一APK中和所述第二 APK中的第一類型文件劃分為數(shù)量相等的文件片段,包括: 將所述第一 APK中和所述第二 APK中的后綴名為dex的文件劃分為數(shù)量相等的類class文件。5.根據(jù)權(quán)利要求1-4中任一權(quán)利要求所述的方法,其特征在于,根據(jù)所述軟件升級請求信息,從與所述第一應(yīng)用程序?qū)?yīng)的多個APK中確定軟件版本高于所述第一 APK的第二 APK,包括: 根據(jù)所述軟件升級請求信息,從所述多個APK中確定軟件版本最高的APK作為所述第二APK;其中,所述軟件版本最高的APK為存儲時間最短的APK,或,所述軟件版本最高的APK為數(shù)據(jù)量最大的APK。6.一種電子設(shè)備,其特征在于,包括: 接收模塊,用于接收終端設(shè)備發(fā)送的軟件升級請求信息;其中,所述軟件升級請求信息用于請求對所述終端設(shè)備中安裝的第一應(yīng)用程序進(jìn)行升級,所述軟件升級請求信息表明所述終端設(shè)備當(dāng)前是根據(jù)軟件版本為第一安卓安裝包APK安裝所述第一應(yīng)用程序; 確定模塊,用于根據(jù)所述軟件升級請求信息,從與所述第一應(yīng)用程序?qū)?yīng)的多個APK中確定軟件版本高于所述第一 APK的第二 APK; 劃分模塊,用于將所述第一 APK劃分為M個第一文件片段,以及將所述第二 APK劃分為N個第二文件片段,M和N均為大于等于2的整數(shù); 獲得模塊,用于根據(jù)所述M個第一文件片段和所述N個第二文件片段,確定第二 APK與第一 APK的差異量以獲得升級增量包; 發(fā)送模塊,用于將所述升級增量包發(fā)送給所述終端設(shè)備,以使所述終端設(shè)備根據(jù)所述增量升級包進(jìn)行升級。7.根據(jù)權(quán)利要求6所述的電子設(shè)備,其特征在于,所述M個第一文件片段和所述N個第二文件片段的數(shù)量相等。8.根據(jù)權(quán)利要求7所述的電子設(shè)備,其特征在于,所述劃分模塊用于: 分別將所述第一 APK中和所述第二 APK中的第一類型文件劃分為數(shù)量相等的文件片段;其中,所述第一類型文件是表明軟件功能增加和/或更新的文件。9.根據(jù)權(quán)利要求8所述的電子設(shè)備,其特征在于,所述劃分模塊用于: 將所述第一 APK中和所述第二 APK中的后綴名為dex的文件劃分為數(shù)量相等的class文件。10.根據(jù)權(quán)利要求6-9中任一權(quán)利要求所述的電子設(shè)備,其特征在于,所述確定模塊用于: 根據(jù)所述軟件升級請求信息,從所述多個APK中確定軟件版本最高的APK作為所述第二APK;其中,所述軟件版本最高的APK為存儲時間最短的APK,或,所述軟件版本最高的APK為數(shù)據(jù)量最大的APK。
【文檔編號】G06F9/445GK105930197SQ201610495276
【公開日】2016年9月7日
【申請日】2016年6月28日
【發(fā)明人】王國濤, 劉慶平
【申請人】樂視控股(北京)有限公司, 樂視致新電子科技(天津)有限公司