差分升級(jí)方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明涉及通信領(lǐng)域,公開了一種差分升級(jí)方法及系統(tǒng),其中該方法包括:獲取源資源包和目標(biāo)資源包;判斷存在差分工具;在存在差分工具的情況下,根據(jù)所獲取的源資源包和目標(biāo)資源包確定差分升級(jí)平臺(tái);以及根據(jù)所獲取的源資源包和目標(biāo)資源包,基于所確定的差分升級(jí)平臺(tái)選擇差分工具創(chuàng)建升級(jí)差分包。通過(guò)上述技術(shù)方案,根據(jù)所獲取的源資源包和目標(biāo)資源包確定差分升級(jí)平臺(tái);以及根據(jù)所獲取的源資源包和目標(biāo)資源包,基于所確定的差分升級(jí)平臺(tái)選擇差分工具創(chuàng)建升級(jí)差分包,提供了同時(shí)適用于不同平臺(tái)的差分方式,提高了差分包的生成效率。
【專利說(shuō)明】
差分升級(jí)方法及系統(tǒng)
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及通信領(lǐng)域,具體地,涉及一種差分升級(jí)方法及系統(tǒng)。
【背景技術(shù)】
[0002]諸如智能手機(jī)、電視等設(shè)備,具有獨(dú)立的操作系統(tǒng),獨(dú)立的運(yùn)行空間,可以由用戶自行安裝軟件、游戲、導(dǎo)航等第三方服務(wù)商提供的程序,并可以通過(guò)移動(dòng)通訊網(wǎng)絡(luò)來(lái)實(shí)現(xiàn)無(wú)線網(wǎng)絡(luò)接入。設(shè)備的使用者在使用過(guò)程中,為了解決設(shè)備存在的缺陷或增加設(shè)備的功能,需要設(shè)備發(fā)行方對(duì)系統(tǒng)軟件或應(yīng)用程序進(jìn)行升級(jí)。升級(jí)的方式主要有TF卡升級(jí)以及OTA升級(jí)。
[0003]OTA英文全稱是Over-the-Air Technology,即空間下載技術(shù)的意思。OTA升級(jí)有兩種類型,這兩種類型分別是:差分(或增量)0ΤΑ和整包0ΤΑ。
[0004]OTA兩種升級(jí)類型中,通常情況下,整包的大小比較接近于整個(gè)固件的鏡像。而差分包并沒有特定的限制,可以和整包差不多大,也可以只有幾KB,不過(guò)通常情況下,差分包要比整包小得多。
[0005]OTA的差分升級(jí)包非常的小,一般幾M到十幾M,如果用網(wǎng)絡(luò)升級(jí),非常的方便,基本是在系統(tǒng)上點(diǎn)擊幾下就完成了升級(jí),并且最重要的是,OTA升級(jí)無(wú)需備份數(shù)據(jù),短短幾分鐘就搞定所有升級(jí)工作,所有數(shù)據(jù)都會(huì)完好無(wú)損的保留下來(lái)。
[0006]雖然差分升級(jí)的方式具有優(yōu)勢(shì),然而現(xiàn)有技術(shù)中利用差分工具創(chuàng)建差分包要針對(duì)每個(gè)平臺(tái)、每個(gè)芯片進(jìn)行差分,效率低下、存儲(chǔ)量大。
[0007]針對(duì)上述技術(shù)問(wèn)題,現(xiàn)有技術(shù)中尚無(wú)良好解決方案。
【發(fā)明內(nèi)容】
[0008]本發(fā)明的目的是提供一種方法及系統(tǒng),該方法及系統(tǒng)能夠提供一種通用的差分方式,實(shí)現(xiàn)自動(dòng)差分。
[0009]為了實(shí)現(xiàn)上述目的,本發(fā)明提供一種差分升級(jí)方法,該方法包括:
[0010]獲取源資源包和目標(biāo)資源包;
[0011]判斷存在差分工具;
[0012]在存在差分工具的情況下,根據(jù)所獲取的源資源包和目標(biāo)資源包確定差分升級(jí)平臺(tái);以及
[0013]根據(jù)所獲取的源資源包和目標(biāo)資源包,基于所確定的差分升級(jí)平臺(tái)選擇差分工具創(chuàng)建升級(jí)差分包。
[0014]優(yōu)選地,在所述獲取源資源包和目標(biāo)資源包之后,該方法包括:分別解析所述源資源包和所述目標(biāo)資源包得到特征參數(shù);比較所述源資源包的特征參數(shù)和所述目標(biāo)資源包的特征參數(shù);當(dāng)比較結(jié)果為相同時(shí),確定存在所述升級(jí)差分包;以及提取所述升級(jí)差分包。
[0015]優(yōu)選地,該方法包括:分別解析所述源資源包和所述目標(biāo)資源包得到特征參數(shù);以及根據(jù)所得到的特征參數(shù)確定所述差分升級(jí)平臺(tái)。
[0016]優(yōu)選地,該方法包括:將所創(chuàng)建或提取的升級(jí)差分包傳送到版本服務(wù)器。
[0017]優(yōu)選地,所述特征參數(shù)包括以下至少之一者:創(chuàng)建標(biāo)識(shí)、平臺(tái)名以及創(chuàng)建類型。
[0018]本發(fā)明的另一個(gè)方面,提供了一種差分升級(jí)系統(tǒng),該系統(tǒng)包括:
[0019]獲取裝置,被配置成獲取源資源包和目標(biāo)資源包;
[0020]處理裝置,被配置成:
[0021]判斷存在差分工具;
[0022]在存在差分工具的情況下,根據(jù)所獲取的源資源包和目標(biāo)資源包確定差分升級(jí)平臺(tái);以及
[0023]根據(jù)所獲取的源資源包和目標(biāo)資源包,基于所確定的差分升級(jí)平臺(tái)選擇差分工具創(chuàng)建升級(jí)差分包。
[0024]優(yōu)選地,所述處理器還被配置成:分別解析所述源資源包和所述目標(biāo)資源包得到特征參數(shù);比較所述源資源包的特征參數(shù)和所述目標(biāo)資源包的特征參數(shù);當(dāng)比較結(jié)果為相同時(shí),確定存在所述升級(jí)差分包;以及提取所述升級(jí)差分包。
[0025]優(yōu)選地,所述處理器還被配置成:分別解析所述源資源包和所述目標(biāo)資源包得到特征參數(shù);以及根據(jù)所得到的特征參數(shù)確定所述差分升級(jí)平臺(tái)。
[0026]優(yōu)選地,所述處理器還被配置成:將所創(chuàng)建或提取的升級(jí)差分包傳送到版本服務(wù)器。
[0027]優(yōu)選地,所述特征參數(shù)包括以下至少之一者:創(chuàng)建標(biāo)識(shí)、平臺(tái)名以及創(chuàng)建類型。
[0028]通過(guò)上述技術(shù)方案,根據(jù)所獲取的源資源包和目標(biāo)資源包確定差分升級(jí)平臺(tái);以及根據(jù)所獲取的源資源包和目標(biāo)資源包,基于所確定的差分升級(jí)平臺(tái)選擇差分工具創(chuàng)建升級(jí)差分包,提供了同時(shí)適用于不同平臺(tái)的差分方式,提高了差分包的生成效率。
[0029]本發(fā)明的其它特征和優(yōu)點(diǎn)將在隨后的【具體實(shí)施方式】部分予以詳細(xì)說(shuō)明。
【附圖說(shuō)明】
[0030]附圖是用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,并且構(gòu)成說(shuō)明書的一部分,與下面的【具體實(shí)施方式】一起用于解釋本發(fā)明,但并不構(gòu)成對(duì)本發(fā)明的限制。在附圖中:
[0031 ]圖1是本發(fā)明實(shí)施方式提供的差分升級(jí)方法流程圖;
[0032]圖2是本發(fā)明實(shí)施方式提供的差分升級(jí)系統(tǒng)結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0033]以下結(jié)合附圖對(duì)本發(fā)明的【具體實(shí)施方式】進(jìn)行詳細(xì)說(shuō)明。應(yīng)當(dāng)理解的是,此處所描述的【具體實(shí)施方式】?jī)H用于說(shuō)明和解釋本發(fā)明,并不用于限制本發(fā)明。
[0034]圖1是本發(fā)明實(shí)施方式提供的差分升級(jí)方法流程圖。如圖1所示,本發(fā)明提供一種差分升級(jí)方法可以包括:
[0035]步驟101:獲取源資源包和目標(biāo)資源包;
[0036]源資源包和目標(biāo)資源包可以存儲(chǔ)在升級(jí)服務(wù)器中。本領(lǐng)域技術(shù)人員可以理解,至少源資源包應(yīng)當(dāng)存儲(chǔ)在升級(jí)服務(wù)器中,目標(biāo)資源包可以在需要時(shí),例如,需要使用目標(biāo)資源包提供漏洞補(bǔ)丁或功能更新時(shí),將目標(biāo)資源包上傳到升級(jí)服務(wù)器中,以使源資源包和目標(biāo)資源包處于可被獲取的狀態(tài)。
[0037]步驟102:判斷存在差分工具;
[0038]本領(lǐng)域技術(shù)人員可以理解,差分工具為執(zhí)行差分升級(jí)所必須的工具,可以包括差分包工具、比較工具以及簽名工具等。以安卓系統(tǒng)為例,工具列表可以如下:
[0039]差分包工具:
[0040]=>Bins/releasetools
[0041 ] build/tools/releasetools/blockimgdiff.py
[0042]build/tooIs/releasetools/common.py
[0043]build/tools/releasetools/edify_generator.py
[0044]build/tools/releasetools/ota_from_target_files
[0045]build/tooIs/releasetooIs/rangeIib.py
[0046]build/tools/releasetools/sparse_img.py
[0047]比較工具:
[0048]=>Bins/linux_x86/bin
[0049]out/host/1inux-x86/bin/bsdiff
[0050]out/host/linux_x86/bin/imgdiff
[0051]簽名工具:
[0052]=>Bins/linux-x86/framework
[0053]out/host/1inux-x86/framework/signapk.jar
[0054]步驟103:在存在差分工具的情況下,可以根據(jù)所獲取的源資源包和目標(biāo)資源包確定差分升級(jí)平臺(tái);
[0055]本領(lǐng)域技術(shù)人員可以理解,在源資源包和目標(biāo)資源包中優(yōu)選會(huì)包含特征參數(shù)指示該資源包所針對(duì)的平臺(tái)的信息,根據(jù)這樣的特征參數(shù),可以根據(jù)所獲取的源資源包和目標(biāo)資源包確定差分升級(jí)平臺(tái)。
[0056]步驟104:根據(jù)所獲取的源資源包和目標(biāo)資源包,基于所確定的差分升級(jí)平臺(tái)選擇差分工具創(chuàng)建升級(jí)差分包。
[0057]在經(jīng)過(guò)步驟101-103之后,差分升級(jí)平臺(tái)已經(jīng)確定并且存在可用的差分工具,因此執(zhí)行差分升級(jí)所需要的條件已經(jīng)具備,可以根據(jù)源資源包和目標(biāo)資源包的內(nèi)容,利用差分工具創(chuàng)建升級(jí)差分包。
[0058]在實(shí)施方式中,為了避免重復(fù)創(chuàng)建差分包而造成時(shí)間和存儲(chǔ)空間的浪費(fèi),在創(chuàng)建差分包之前可以先確認(rèn)升級(jí)服務(wù)器中是否存在已創(chuàng)建的差分包。上述過(guò)程可以通過(guò)資源包的特征參數(shù),通過(guò)對(duì)比得到確認(rèn)結(jié)果。
[0059]相應(yīng)地,在實(shí)施方式中,可在所述獲取源資源包和目標(biāo)資源包之后執(zhí)行以下方法步驟:分別解析所述源資源包和所述目標(biāo)資源包得到特征參數(shù);比較所述源資源包的特征參數(shù)和所述目標(biāo)資源包的特征參數(shù);當(dāng)比較結(jié)果為相同時(shí),確定存在所述升級(jí)差分包;以及提取所述升級(jí)差分包。此時(shí),被提取的升級(jí)差分包為以前利用差分工具創(chuàng)建的升級(jí)差分包。由于升級(jí)服務(wù)器是公共服務(wù)器,多個(gè)用戶都可以向升級(jí)服務(wù)器提交目標(biāo)資源包,因此,可能出現(xiàn)前后不同的用戶提交相同的目標(biāo)資源包的情況。在這樣的情況下,基于后提交的目標(biāo)資源包的差分升級(jí)可以直接利用現(xiàn)有的升級(jí)差分包進(jìn)行,提取出的升級(jí)差分包可以直接用于差分升級(jí)。
[0060]在本公開的實(shí)施方式中,資源包的特征參數(shù)可以包括以下至少之一者:創(chuàng)建標(biāo)識(shí)、平臺(tái)名以及創(chuàng)建類型。以安卓系統(tǒng)舉例,上述特征參數(shù)在安卓系統(tǒng)中標(biāo)識(shí)為:build, id、platform、build.type,分別表示創(chuàng)建標(biāo)識(shí)、平臺(tái)名以及創(chuàng)建類型。
[0061 ]在實(shí)施方式中,當(dāng)獲取到源資源包和目標(biāo)資源包時(shí),可以分別提取源資源包和目標(biāo)資源包的創(chuàng)建標(biāo)識(shí)、平臺(tái)名以及創(chuàng)建類型,比較所述源資源包的特征參數(shù)和所述目標(biāo)資源包的上述特征參數(shù),當(dāng)二者的上述特征參數(shù)相同時(shí),可以判斷升級(jí)服務(wù)器中存在已有的升級(jí)差分包。同時(shí),根據(jù)創(chuàng)建標(biāo)識(shí)、平臺(tái)名以及創(chuàng)建類型,可以根據(jù)預(yù)定命名規(guī)則得到升級(jí)差分包的名稱。然后,根據(jù)該名稱可以在升級(jí)服務(wù)器中搜索,從而找到對(duì)應(yīng)的升級(jí)差分包。
[0062]相應(yīng)地,本領(lǐng)域技術(shù)人員可以理解,利用上述特征參數(shù)中的平臺(tái)名可以確定資源包所對(duì)應(yīng)的平臺(tái)。因此,在本發(fā)明的實(shí)施方式中,方法可以包括:分別解析所述源資源包和所述目標(biāo)資源包得到特征參數(shù)(例如,平臺(tái)名);以及根據(jù)所得到的特征參數(shù)確定所述差分升級(jí)平臺(tái)。此外,根據(jù)特征參數(shù)中的創(chuàng)建類型,還可以確定資源包的關(guān)鍵路徑。
[0063]最后,不管是新創(chuàng)建的升級(jí)差分包還是提取到的升級(jí)差分包都將被傳送到版本服務(wù)器,以供設(shè)備升級(jí)。相應(yīng)地,上述方法中還包括將所創(chuàng)建或提取的升級(jí)差分包傳送到版本服務(wù)器的步驟。
[0064]圖2是本發(fā)明實(shí)施方式提供的差分升級(jí)系統(tǒng)結(jié)構(gòu)示意圖。如圖2所示,本發(fā)明的實(shí)施方式,還提供了一種差分升級(jí)系統(tǒng)(例如,升級(jí)服務(wù)器),該系統(tǒng)可以包括:獲取裝置201和處理裝置202。其中,
[0065]獲取裝置201,可以被配置成獲取源資源包和目標(biāo)資源包;以及
[0066]處理裝置202,可以被配置成:
[0067]判斷存在差分工具;其中,該判斷可以通過(guò)差分工具列表或名稱在諸如升級(jí)服務(wù)器的系統(tǒng)中遍歷查找進(jìn)行,或者在系統(tǒng)中設(shè)置差分工具的位置(例如,安裝路徑)查找。
[0068]在存在差分工具的情況下,根據(jù)所獲取的源資源包和目標(biāo)資源包確定差分升級(jí)平臺(tái);以及
[0069]根據(jù)所獲取的源資源包和目標(biāo)資源包,基于所確定的差分升級(jí)平臺(tái)選擇差分工具創(chuàng)建升級(jí)差分包。
[0070]在本公開的實(shí)施方式中,處理器可以是各種具有分析運(yùn)算功能的元件,處理器可以是微控制器、邏輯可編程電路等。
[0071]為了提高升級(jí)差分包的生成效率,在實(shí)施方式中,所述處理器202還被配置成:分別解析所述源資源包和所述目標(biāo)資源包得到特征參數(shù);比較所述源資源包的特征參數(shù)和所述目標(biāo)資源包的特征參數(shù);當(dāng)比較結(jié)果為相同時(shí),確定存在所述升級(jí)差分包;以及提取所述升級(jí)差分包。
[0072]由于升級(jí)服務(wù)器是公共服務(wù)器,多個(gè)用戶都可以向升級(jí)服務(wù)器提交目標(biāo)資源包,因此,可能出現(xiàn)前后不同的用戶提交相同的目標(biāo)資源包的情況。在這樣的情況下,基于后提交的目標(biāo)資源包的差分升級(jí)可以直接利用現(xiàn)有的升級(jí)差分包進(jìn)行,提取出的升級(jí)差分包可以直接用于差分升級(jí)。
[0073]在實(shí)施方式中,所述處理器202還可以被配置成:分別解析所述源資源包和所述目標(biāo)資源包得到特征參數(shù);以及根據(jù)所得到的特征參數(shù)確定所述差分升級(jí)平臺(tái)。舉例的特征參數(shù)包括以下至少之一者:創(chuàng)建標(biāo)識(shí)、平臺(tái)名以及創(chuàng)建類型。
[0074]最后,為了使升級(jí)差分包能夠被需要的用戶獲取,所述處理器202還可以被配置成:將所創(chuàng)建或提取的升級(jí)差分包傳送到版本服務(wù)器。
[0075]通過(guò)上述技術(shù)方案,根據(jù)所獲取的源資源包和目標(biāo)資源包確定差分升級(jí)平臺(tái);以及根據(jù)所獲取的源資源包和目標(biāo)資源包,基于所確定的差分升級(jí)平臺(tái)選擇差分工具創(chuàng)建升級(jí)差分包,提供了同時(shí)適用于不同平臺(tái)的差分方式,提高了差分包的生成效率。
[0076]以上結(jié)合附圖詳細(xì)描述了本發(fā)明的優(yōu)選實(shí)施方式,但是,本發(fā)明并不限于上述實(shí)施方式中的具體細(xì)節(jié),在本發(fā)明的技術(shù)構(gòu)思范圍內(nèi),可以對(duì)本發(fā)明的技術(shù)方案進(jìn)行多種簡(jiǎn)單變型,這些簡(jiǎn)單變型均屬于本發(fā)明的保護(hù)范圍。
[0077]另外需要說(shuō)明的是,在上述【具體實(shí)施方式】中所描述的各個(gè)具體技術(shù)特征,在不矛盾的情況下,可以通過(guò)任何合適的方式進(jìn)行組合。為了避免不必要的重復(fù),本發(fā)明對(duì)各種可能的組合方式不再另行說(shuō)明。
[0078]此外,本發(fā)明的各種不同的實(shí)施方式之間也可以進(jìn)行任意組合,只要其不違背本發(fā)明的思想,其同樣應(yīng)當(dāng)視為本發(fā)明所公開的內(nèi)容。
【主權(quán)項(xiàng)】
1.一種差分升級(jí)方法,其特征在于,該方法包括: 獲取源資源包和目標(biāo)資源包; 判斷存在差分工具; 在存在差分工具的情況下,根據(jù)所獲取的源資源包和目標(biāo)資源包確定差分升級(jí)平臺(tái);以及 根據(jù)所獲取的源資源包和目標(biāo)資源包,基于所確定的差分升級(jí)平臺(tái)選擇差分工具創(chuàng)建升級(jí)差分包。2.根據(jù)權(quán)利要求1所述的差分升級(jí)方法,其特征在于,在所述獲取源資源包和目標(biāo)資源包之后,該方法包括: 分別解析所述源資源包和所述目標(biāo)資源包得到特征參數(shù); 比較所述源資源包的特征參數(shù)和所述目標(biāo)資源包的特征參數(shù); 當(dāng)比較結(jié)果為相同時(shí),確定存在所述升級(jí)差分包;以及 提取所述升級(jí)差分包。3.根據(jù)權(quán)利要求1所述的差分升級(jí)方法,其特征在于,該方法包括: 分別解析所述源資源包和所述目標(biāo)資源包得到特征參數(shù);以及 根據(jù)所得到的特征參數(shù)確定所述差分升級(jí)平臺(tái)。4.根據(jù)權(quán)利要求1或2所述的差分升級(jí)方法,其特征在于,該方法包括: 將所創(chuàng)建或提取的升級(jí)差分包傳送到版本服務(wù)器。5.根據(jù)權(quán)利要求2或3所述的差分升級(jí)方法,其特征在于,所述特征參數(shù)包括以下至少之一者: 創(chuàng)建標(biāo)識(shí)、平臺(tái)名以及創(chuàng)建類型。6.一種差分升級(jí)系統(tǒng),其特征在于,該系統(tǒng)包括: 獲取裝置,被配置成獲取源資源包和目標(biāo)資源包; 處理裝置,被配置成: 判斷存在差分工具; 在存在差分工具的情況下,根據(jù)所獲取的源資源包和目標(biāo)資源包確定差分升級(jí)平臺(tái);以及 根據(jù)所獲取的源資源包和目標(biāo)資源包,基于所確定的差分升級(jí)平臺(tái)選擇差分工具創(chuàng)建升級(jí)差分包。7.根據(jù)權(quán)利要求6所述的差分升級(jí)系統(tǒng),其特征在于,所述處理器還被配置成: 分別解析所述源資源包和所述目標(biāo)資源包得到特征參數(shù); 比較所述源資源包的特征參數(shù)和所述目標(biāo)資源包的特征參數(shù); 當(dāng)比較結(jié)果為相同時(shí),確定存在所述升級(jí)差分包;以及 提取所述升級(jí)差分包。8.根據(jù)權(quán)利要求6所述的差分升級(jí)系統(tǒng),其特征在于,所述處理器還被配置成: 分別解析所述源資源包和所述目標(biāo)資源包得到特征參數(shù);以及 根據(jù)所得到的特征參數(shù)確定所述差分升級(jí)平臺(tái)。9.根據(jù)權(quán)利要求6或7所述的差分升級(jí)系統(tǒng),其特征在于,所述處理器還被配置成: 將所創(chuàng)建或提取的升級(jí)差分包傳送到版本服務(wù)器。10.根據(jù)權(quán)利要求7或8所述的差分升級(jí)系統(tǒng),其特征在于,所述特征參數(shù)包括以下至少之一者: 創(chuàng)建標(biāo)識(shí)、平臺(tái)名以及創(chuàng)建類型。
【文檔編號(hào)】G06F9/44GK105867922SQ201610186976
【公開日】2016年8月17日
【申請(qǐng)日】2016年3月29日
【發(fā)明人】孫穎, 鄭超
【申請(qǐng)人】樂(lè)視控股(北京)有限公司, 樂(lè)視致新電子科技(天津)有限公司