本發(fā)明涉及通信技術(shù)領(lǐng)域,具體涉及一種固件升級(jí)方法、裝置及音頻播放設(shè)備。
背景技術(shù):
智能音頻播放設(shè)備是一種新型的智能家電設(shè)備,包括智能音箱、智能電視等。其集成了處理器和網(wǎng)絡(luò)接口,可以通過(guò)訪問(wèn)互聯(lián)網(wǎng)的流媒體音樂(lè)直接從網(wǎng)絡(luò)獲取音樂(lè)資源播放。同時(shí)智能音頻播放設(shè)備還可以與智能手機(jī)、平板電腦等電子設(shè)備連接,在這些電子設(shè)備中的控制應(yīng)用的控制下工作。
其中,智能音頻播放系統(tǒng)包括至少兩個(gè)智能音頻播放設(shè)備,一個(gè)為主音頻播放設(shè)備,其它為從音頻播放設(shè)備。當(dāng)電子設(shè)備中的控制應(yīng)用升級(jí)后,相應(yīng)也要對(duì)智能音頻播放系統(tǒng)中各個(gè)音頻播放設(shè)備中的固件版本進(jìn)行升級(jí)?,F(xiàn)有的升級(jí)方法是檢測(cè)各個(gè)音頻播放設(shè)備的固件版本是否與控制應(yīng)用的版本兼容,如果不兼容則進(jìn)行升級(jí)。這種升級(jí)方法需要將每個(gè)音頻播放設(shè)備當(dāng)前的固件版本與新的固件版本進(jìn)行比較,以找出更新的數(shù)據(jù)來(lái)進(jìn)行升級(jí),降低了升級(jí)的效率。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供一種固件升級(jí)方法、裝置及音頻播放設(shè)備,可以提高音頻播放設(shè)備的升級(jí)效率。
本發(fā)明實(shí)施例提供一種固件升級(jí)方法,包括:
獲取終端中應(yīng)用的版本信息;
在版本信息與第一音頻播放設(shè)備固件的當(dāng)前版本信息不兼容時(shí),獲取用于升級(jí)第一音頻播放設(shè)備固件的升級(jí)包;
對(duì)升級(jí)包和第一音頻播放設(shè)備固件的當(dāng)前安裝包進(jìn)行差異化分析,生成差分包;
通過(guò)差分包對(duì)第一音頻播放設(shè)備固件進(jìn)行升級(jí),并將差分包發(fā)送給第二音頻播放設(shè)備,以使第二音頻播放設(shè)備根據(jù)差分包對(duì)第二音頻播放設(shè)備固件進(jìn)行升級(jí)。
本發(fā)明實(shí)施例還提供一種固件升級(jí)裝置,包括:
第一獲取模塊,用于獲取終端中應(yīng)用的版本信息;
第二獲取模塊,用于在版本信息與第一音頻播放設(shè)備固件的當(dāng)前版本信息不兼容時(shí),獲取用于升級(jí)第一音頻播放設(shè)備固件的升級(jí)包;
生成模塊,用于對(duì)升級(jí)包和第一音頻播放設(shè)備固件的當(dāng)前安裝包進(jìn)行差異化分析,生成差分包;
升級(jí)模塊,用于通過(guò)差分包對(duì)第一音頻播放設(shè)備固件進(jìn)行升級(jí),并將差分包發(fā)送給第二音頻播放設(shè)備,以使第二音頻播放設(shè)備根據(jù)差分包對(duì)第二音頻播放設(shè)備固件進(jìn)行升級(jí)。
本發(fā)明實(shí)施例還提供了一種音頻播放設(shè)備,包括:
存儲(chǔ)有可以執(zhí)行程序代碼的存儲(chǔ)器;
與所述存儲(chǔ)器耦合的處理器;
所述處理器調(diào)用所述存儲(chǔ)器中存儲(chǔ)的所述可執(zhí)行程序代碼,執(zhí)行如本發(fā)明實(shí)施例任一方法中所描述的部分或全部步驟。
本優(yōu)選實(shí)施例采用第一音頻播放設(shè)備對(duì)升級(jí)包和當(dāng)前安裝包進(jìn)行差異化分析得到差分包來(lái)對(duì)第一音頻播放設(shè)備和第二音頻播放設(shè)備進(jìn)行升級(jí)的方案,提高了升級(jí)效率。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明優(yōu)選實(shí)施例的固件升級(jí)方法的流程示意圖。
圖2為本發(fā)明優(yōu)選實(shí)施例的固件升級(jí)方法的場(chǎng)景示意圖。
圖3為本發(fā)明優(yōu)選實(shí)施例的固件升級(jí)方法的又一流程示意圖。
圖4為本發(fā)明優(yōu)選實(shí)施例的固件升級(jí)裝置的結(jié)構(gòu)示意圖。
圖5為本發(fā)明優(yōu)選實(shí)施例的音頻播放設(shè)備的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
本發(fā)明中的術(shù)語(yǔ)“第一”、“第二”、“第三”和“第四”等是用于區(qū)別不同對(duì)象,而不是用于描述特定順序。此外,術(shù)語(yǔ)“包括”和“具有”以及它們?nèi)魏巫冃?,意圖在于覆蓋不排他的包含。例如包含了一系列步驟或模塊的過(guò)程、方法、系統(tǒng)、產(chǎn)品或設(shè)備沒(méi)有限定于已列出的步驟或模塊,而是可選地還包括沒(méi)有列出的步驟或模塊,或可選地還包括對(duì)于這些過(guò)程、方法、產(chǎn)品或設(shè)備固有的其它步驟或模塊。
在本文中提及“實(shí)施例”意味著,結(jié)合實(shí)施例描述的特定特征、結(jié)構(gòu)或特性可以包含在本發(fā)明的至少一個(gè)實(shí)施例中。在說(shuō)明書(shū)中的各個(gè)位置出現(xiàn)該短語(yǔ)并不一定均是指相同的實(shí)施例,也不是與其它實(shí)施例互斥的獨(dú)立的或備選的實(shí)施例。本領(lǐng)域技術(shù)人員顯式地和隱式地理解的是,本文所描述的實(shí)施例可以與其它實(shí)施例相結(jié)合。
本發(fā)明實(shí)施例提供的固件升級(jí)方法的執(zhí)行主體,可以為本發(fā)明實(shí)施例提供的固件升級(jí)裝置,或者集成了固件升級(jí)裝置的系統(tǒng)。本發(fā)明實(shí)施例所描述的音頻播放設(shè)備可以是智能音箱、智能電視設(shè)備,上述裝置僅是舉例,而非窮舉,包含但不限于上述裝置。
本發(fā)明實(shí)施例提供了一種固件升級(jí)方法、裝置及音頻播放設(shè)備。以下將分別進(jìn)行詳細(xì)說(shuō)明。
請(qǐng)參照?qǐng)D1,圖1為本發(fā)明實(shí)施例提供的一種固件升級(jí)方法的流程示意圖。下面對(duì)固件升級(jí)方法的各個(gè)步驟進(jìn)行詳細(xì)說(shuō)明。
s101,獲取終端中應(yīng)用的版本信息。
其中,終端為智能手機(jī)、平板電腦、掌上電腦、筆記本電腦或移動(dòng)互聯(lián)網(wǎng)設(shè)備(mid,mobileinternetdevices)等移動(dòng)設(shè)備。安裝在該終端中的所述應(yīng)用與第一音頻播放設(shè)備通過(guò)藍(lán)牙、wifi(wirelessfidelity,無(wú)線保真)等方式建立通信連接來(lái)控制第一音頻播放設(shè)備,比如控制第一音頻播放設(shè)備播放音樂(lè)、暫停播放音樂(lè)等。其中第一音頻播放設(shè)備可以為智能音箱、智能電視等音頻播放設(shè)備。
為了保障終端應(yīng)用與第一音頻播放設(shè)備之間的通信順暢,需要保持應(yīng)用的版本與第一音頻播放設(shè)備固件的版本相互兼容。因此當(dāng)終端中的應(yīng)用版本升級(jí)了之后,第一音頻播放設(shè)備也應(yīng)相應(yīng)的對(duì)自身固件版本進(jìn)行調(diào)整以兼容升級(jí)后的應(yīng)用版本。
當(dāng)終端中應(yīng)用進(jìn)行了版本升級(jí)操作后,將升級(jí)后應(yīng)用的版本信息發(fā)送給第一音頻播放設(shè)備,其中該版本信息包括版本號(hào)。接著第一音頻播放設(shè)備接收該應(yīng)用的版本信息。舉例來(lái)說(shuō),終端應(yīng)用當(dāng)前的版本號(hào)為3.0,進(jìn)行升級(jí)操作后版本號(hào)為4.0,則終端將攜帶版本號(hào)4.0信息的消息發(fā)送給第一音頻播放設(shè)備,如圖2所示。
s102,在版本信息與第一音頻播放設(shè)備固件的當(dāng)前版本信息不兼容時(shí),獲取用于升級(jí)第一音頻播放設(shè)備固件的升級(jí)包。
然后,第一音頻播放設(shè)備判斷該版本信息是否與第一音頻播放設(shè)備固件的當(dāng)前版本信息是否兼容,其中第一音頻播放設(shè)備固件是指保存在第一音頻播放設(shè)備內(nèi)部,以驅(qū)動(dòng)設(shè)備運(yùn)行的驅(qū)動(dòng)程序。假設(shè)版本4.0的兼容版本為android6.0,則第一音頻播放設(shè)備接收到攜帶版本號(hào)為4.0信息的消息后,檢查自身固件版本為android5.0后即可判斷版本信息與第一音頻播放設(shè)備固件的當(dāng)前版本信息不兼容,因此需要獲取將固件升級(jí)至android6.0的升級(jí)包。
如圖2所示,第一音頻播放設(shè)備將向服務(wù)器發(fā)送獲取android6.0版本升級(jí)包的請(qǐng)求,在該服務(wù)器中存儲(chǔ)了多個(gè)安卓版本的升級(jí)包,服務(wù)器接收到該請(qǐng)求后,將對(duì)應(yīng)的android6.0版本升級(jí)包發(fā)送給該第一音頻播放設(shè)備。
s103,對(duì)升級(jí)包和第一音頻播放設(shè)備固件的當(dāng)前安裝包進(jìn)行差異化分析,生成差分包。
其中,升級(jí)包中包含多個(gè)升級(jí)文件,當(dāng)前安裝包中包含多個(gè)安裝文件。這些文件組合在一起可以實(shí)現(xiàn)各種功能,通過(guò)對(duì)這些文件進(jìn)行差異化分析可以生成差分包。
在一些實(shí)施例中,可以首先將升級(jí)包和當(dāng)前安裝包中文件的文件名進(jìn)行比較,如果某個(gè)文件名只在升級(jí)包中而不在當(dāng)前安裝包中,可以將具有該文件名的文件設(shè)置為差分包。如圖2所示,升級(jí)包中包含文件a,文件b,文件c及文件d,當(dāng)前安裝包中包括文件b及文件c。對(duì)上述文件名進(jìn)行比較可知,當(dāng)前安裝包中不包含文件a及文件d,因此可以將升級(jí)包中的文件a及文件d設(shè)置為差分包。
在一些實(shí)施例中,可以進(jìn)一步比較具有相同文件名的文件大小,如果大小不相等,則將該文件設(shè)置為差分包。如圖2所示,升級(jí)包中的文件b大小為3m,文件c大小為4m,而當(dāng)前安裝包中的文件b大小為5m,文件c大小為4m,比較分析可知升級(jí)包和當(dāng)前安裝包中的文件b大小不相等,因此可以認(rèn)為升級(jí)包中文件b相對(duì)于當(dāng)前安裝包中文件b進(jìn)行了內(nèi)容修改,因此將升級(jí)包中的文件b設(shè)置為差分包。
經(jīng)過(guò)上述的差異化分析,升級(jí)包中的文件a、文件b及文件d構(gòu)成了差分包。
s104,通過(guò)差分包對(duì)第一音頻播放設(shè)備固件進(jìn)行升級(jí),并將差分包發(fā)送給第二音頻播放設(shè)備,以使第二音頻播放設(shè)備根據(jù)差分包對(duì)第二音頻播放設(shè)備固件進(jìn)行升級(jí)。
首先將當(dāng)前安裝包中與差分包對(duì)應(yīng)的安裝文件刪除,如與差分包中差分文件具有相同文件名的安裝文件b。然后將差分包中的差分文件寫(xiě)入第一音頻播放設(shè)備固件中,以實(shí)現(xiàn)對(duì)第一音頻播放設(shè)備固件的升級(jí)。
如圖2所示,第一音頻播放設(shè)備還可以將差分包發(fā)送給第二音頻播放設(shè)備,以使第二音頻播放設(shè)備根據(jù)該差分包對(duì)音頻播放設(shè)備固件進(jìn)行升級(jí)。其中,第二音頻播放設(shè)備為智能音箱、智能電視等音頻播放設(shè)備。這樣第二音頻播放設(shè)備不需要再進(jìn)行差異化分析的操作,可以直接根據(jù)該差分包進(jìn)行升級(jí),提高了升級(jí)效率。進(jìn)一步的,在發(fā)送差分包之前還可以對(duì)差分包進(jìn)行封裝及壓縮的操作,再將壓縮后的差分包發(fā)送給第二音頻播放設(shè)備,從而提高傳輸效率,進(jìn)一步節(jié)省升級(jí)時(shí)間。
本優(yōu)選實(shí)施例的固件升級(jí)方法,采用對(duì)升級(jí)包及當(dāng)前安裝包進(jìn)行差異化分析生成差分包,以對(duì)第一音頻播放設(shè)備固件進(jìn)行升級(jí),同時(shí)將該差分包發(fā)送給的第二音頻播放設(shè)備來(lái)對(duì)第二音頻播放設(shè)備固件進(jìn)行升級(jí)的方案,提高了升級(jí)的效率。
請(qǐng)參照?qǐng)D3,圖3為本發(fā)明實(shí)施例提供的固件升級(jí)方法的又一流程示意圖。下面對(duì)固件升級(jí)方法的各個(gè)步驟進(jìn)行詳細(xì)說(shuō)明。
s201,獲取終端中應(yīng)用的版本信息。
其中,終端為智能手機(jī)、平板電腦、掌上電腦、筆記本電腦或移動(dòng)互聯(lián)網(wǎng)設(shè)備(mid,mobileinternetdevices)等移動(dòng)設(shè)備。安裝在該終端中的所述應(yīng)用與第一音頻播放設(shè)備通過(guò)藍(lán)牙、wifi(wirelessfidelity,無(wú)線保真)等方式建立通信連接來(lái)控制第一音頻播放設(shè)備,比如控制第一音頻播放設(shè)備播放音樂(lè)、暫停播放音樂(lè)等。其中第一音頻播放設(shè)備可以為智能音箱、智能電視等音頻播放設(shè)備。
為了保障終端應(yīng)用與第一音頻播放設(shè)備之間的通信順暢,需要保持應(yīng)用的版本與第一音頻播放設(shè)備固件的版本相互兼容。因此當(dāng)終端中的應(yīng)用版本升級(jí)了之后,第一音頻播放設(shè)備也應(yīng)相應(yīng)的對(duì)自身固件版本進(jìn)行調(diào)整以兼容升級(jí)后的應(yīng)用版本。
當(dāng)終端中應(yīng)用進(jìn)行了版本升級(jí)操作后,將升級(jí)后應(yīng)用的版本信息發(fā)送給第一音頻播放設(shè)備,其中該版本信息包括版本號(hào)。接著第一音頻播放設(shè)備接收該應(yīng)用的版本信息。舉例來(lái)說(shuō),終端應(yīng)用當(dāng)前的版本號(hào)為3.0,進(jìn)行升級(jí)操作后版本號(hào)為4.0,則終端將攜帶版本號(hào)4.0信息的消息發(fā)送給第一音頻播放設(shè)備,如圖2所示。
s202,在版本信息與第一音頻播放設(shè)備固件當(dāng)前版本信息不兼容時(shí),獲取用于升級(jí)第一音頻播放設(shè)備固件的升級(jí)包。
然后,第一音頻播放設(shè)備判斷該版本信息是否與第一音頻播放設(shè)備固件的當(dāng)前版本信息是否兼容,其中第一音頻播放設(shè)備固件是指保存在第一音頻播放設(shè)備內(nèi)部,以驅(qū)動(dòng)設(shè)備運(yùn)行的驅(qū)動(dòng)程序。假設(shè)版本4.0的兼容版本為android6.0,則第一音頻播放設(shè)備接收到攜帶版本號(hào)為4.0信息的消息后,檢查自身固件版本為android5.0后即可判斷版本信息與第一音頻播放設(shè)備固件的當(dāng)前版本信息不兼容,因此需要獲取將固件升級(jí)至android6.0的升級(jí)包。
如圖2所示,第一音頻播放設(shè)備將向服務(wù)器發(fā)送獲取android6.0版本升級(jí)包的請(qǐng)求,在該服務(wù)器中存儲(chǔ)了多個(gè)安卓版本的升級(jí)包,服務(wù)器接收到該請(qǐng)求后,將對(duì)應(yīng)的android6.0版本升級(jí)包發(fā)送給該第一音頻播放設(shè)備。
s203,獲取升級(jí)包中升級(jí)文件的第一文件標(biāo)識(shí)。
接下來(lái)將獲取到的升級(jí)包與第一音頻播放設(shè)備的當(dāng)前安裝包進(jìn)行比較,以生成差分包。其中,所述升級(jí)包具有多個(gè)升級(jí)文件,所述當(dāng)前安裝包具有多個(gè)安裝文件。其中,每個(gè)升級(jí)文件或安裝文件都具有可以唯一標(biāo)識(shí)該文件的文件標(biāo)識(shí),比如文件名、文件編號(hào)等。因此可以根據(jù)文件標(biāo)識(shí)來(lái)區(qū)分升級(jí)包中與當(dāng)前安裝包中是否具有不同的文件。
首先獲取升級(jí)包中升級(jí)文件的第一文件標(biāo)識(shí)。如圖2所示,升級(jí)包中有4個(gè)升級(jí)文件,依次獲取該3個(gè)升級(jí)文件的文件名,分別為文件a、文件b、文件c及文件d。然后將這些文件名與安裝文件中安裝文件的名字依次進(jìn)行對(duì)比。
s204,判斷當(dāng)前安裝包中的安裝文件是否有與第一文件標(biāo)識(shí)匹配的第二文件標(biāo)識(shí)。
舉例來(lái)說(shuō),如果某個(gè)升級(jí)文件名為“升級(jí)說(shuō)明書(shū)”即第一文件標(biāo)識(shí)為“升級(jí)說(shuō)明書(shū)”,如果安裝文件中只有“安裝說(shuō)明書(shū)”沒(méi)有“升級(jí)說(shuō)明書(shū)”即第二文件標(biāo)識(shí)為“安裝說(shuō)明書(shū)”,則說(shuō)明安裝文件中沒(méi)有與第一文件標(biāo)識(shí)匹配的第二文件標(biāo)識(shí),轉(zhuǎn)入步驟s206。相應(yīng)的,如果安裝文件中有“升級(jí)說(shuō)明書(shū)”則說(shuō)明安裝文件中有與第一文件標(biāo)識(shí)匹配的第二文件標(biāo)識(shí),轉(zhuǎn)入步驟s205。
承接步驟s203,如圖2所示,當(dāng)前安裝包中有2個(gè)安裝文件,分別為文件b和文件c。由于當(dāng)前安裝包中沒(méi)有與升級(jí)文件中文件a、文件d匹配的文件,因此可以轉(zhuǎn)入步驟s206將文件a、文件d設(shè)置為差分包。而當(dāng)前安裝包中有與升級(jí)文件中文件b、文件c匹配的文件,因此需要轉(zhuǎn)入步驟s205對(duì)文件b及文件c進(jìn)行進(jìn)一步判斷。
s205,如果有匹配的第二文件標(biāo)識(shí),則將第一文件標(biāo)識(shí)對(duì)應(yīng)的第一特征參數(shù)與第二文件標(biāo)識(shí)對(duì)應(yīng)的第二特征參數(shù)進(jìn)行對(duì)比。
進(jìn)一步的,每個(gè)升級(jí)文件或安裝文件都還具有表征文件特征的特征參數(shù),比如文件類型、文件大小等。因此在具有匹配的第二文件標(biāo)識(shí)的情況下,可以進(jìn)一步根據(jù)文件特征參數(shù)來(lái)區(qū)分具有相同文件標(biāo)識(shí)的文件內(nèi)容是否發(fā)生改變。比如說(shuō),如果安裝文件和升級(jí)文件中都包含有“升級(jí)說(shuō)明書(shū)”的文件,則可以對(duì)比兩份文件的大小是否相等,如果不相等說(shuō)明文件的內(nèi)容發(fā)生了改變,因此轉(zhuǎn)入步驟s206。
承接步驟s204,如圖2所示,升級(jí)包中的文件b大小為3m,文件c大小為4m,而當(dāng)前安裝包中的文件b大小為5m,文件c大小為4m,比較分析可知升級(jí)包和當(dāng)前安裝包中的文件b大小不相等,因此可以認(rèn)為升級(jí)包中文件b相對(duì)于當(dāng)前安裝包中文件b進(jìn)行了內(nèi)容修改,故將升級(jí)包中的文件b設(shè)置為差分包。
s206,如果沒(méi)有匹配的第二文件標(biāo)識(shí)或如果第一特征參數(shù)與第二特征參數(shù)不匹配,則將升級(jí)文件設(shè)置為差分包。
如果安裝文件中沒(méi)有與第一文件標(biāo)識(shí)匹配的第二文件標(biāo)識(shí),說(shuō)明第一文件標(biāo)識(shí)對(duì)應(yīng)的升級(jí)文件是新增的,因此將升級(jí)文件設(shè)置為差分包。如果有匹配的第二文件標(biāo)識(shí),但是第一特征參數(shù)與第二特征參數(shù)不匹配,說(shuō)明該升級(jí)文件的內(nèi)容發(fā)生了改變,因此也將該升級(jí)文件設(shè)置為差分包。
s207,刪除當(dāng)前安裝包中與差分包中對(duì)應(yīng)的目標(biāo)安裝文件。
如圖2所示,差分包中文件b在當(dāng)前安裝包中對(duì)應(yīng)的目標(biāo)安裝文件為文件b,因此首先將當(dāng)前安裝包中的文件b刪除。
s208,將差分包寫(xiě)入第一音頻播放設(shè)備固件,以對(duì)第一音頻播放設(shè)備固件進(jìn)行升級(jí)。
承接步驟s207,將差分包中的文件a、文件b及文件d寫(xiě)入第一音頻播放設(shè)備固件的閃存區(qū),即可實(shí)現(xiàn)對(duì)第一音頻播放設(shè)備固件進(jìn)行升級(jí)的操作。
s209,將差分包中的升級(jí)文件進(jìn)行封裝并壓縮;將壓縮后的差分包發(fā)送給第二音頻播放設(shè)備,以使第二音頻播放設(shè)備根據(jù)差分包對(duì)第二音頻播放設(shè)備固件進(jìn)行升級(jí)。
未經(jīng)封裝并壓縮的升級(jí)文件往往體積比較大,如果直接傳輸給第二音頻播放設(shè)備,將大大增加傳輸時(shí)間。因此可以將差分包中的升級(jí)文件進(jìn)行封裝并壓縮,將壓縮后的差分包發(fā)送給第二音頻播放設(shè)備。
第二音頻播放設(shè)備接收到壓縮后的差分包,先將該差分包解壓,再直接將該差分包中的升級(jí)文件寫(xiě)入第二音頻播放設(shè)備固件的閃存區(qū),從而節(jié)省了第二音頻播放設(shè)備從服務(wù)器獲取升級(jí)包并生成差分包的步驟,提高了升級(jí)效率。
本優(yōu)選實(shí)施例的固件升級(jí)方法,采用對(duì)升級(jí)包及當(dāng)前安裝包進(jìn)行差異化分析生成差分包,以對(duì)第一音頻播放設(shè)備固件進(jìn)行升級(jí),同時(shí)將該差分包發(fā)送給的第二音頻播放設(shè)備來(lái)對(duì)第二音頻播放設(shè)備固件進(jìn)行升級(jí)的方案,提高了升級(jí)的效率。
請(qǐng)參照?qǐng)D4,圖4為本發(fā)明優(yōu)選實(shí)施例的固件升級(jí)裝置的結(jié)構(gòu)圖。固件升級(jí)裝置30包括第一獲取模塊301、第二獲取模塊302、生成模塊303及升級(jí)模塊304。具體描述如下:
第一獲取模塊301,用于獲取終端中應(yīng)用的版本信息;第二獲取模塊302,用于在版本信息與第一音頻播放設(shè)備固件的當(dāng)前版本信息不兼容時(shí),獲取用于升級(jí)第一音頻播放設(shè)備固件的升級(jí)包;生成模塊303,用于對(duì)升級(jí)包和第一音頻播放設(shè)備固件的當(dāng)前安裝包進(jìn)行差異化分析,生成差分包;升級(jí)模塊304,用于通過(guò)差分包對(duì)第一音頻播放設(shè)備固件進(jìn)行升級(jí),并將差分包發(fā)送給第二音頻播放設(shè)備,以使第二音頻播放設(shè)備根據(jù)差分包對(duì)第二音頻播放設(shè)備固件進(jìn)行升級(jí)。
當(dāng)終端中應(yīng)用進(jìn)行了版本升級(jí)操作后,將升級(jí)后應(yīng)用的版本信息發(fā)送給第一音頻播放設(shè)備,其中該版本信息包括版本號(hào)。接著第一獲取模塊301接收該應(yīng)用的版本信息。舉例來(lái)說(shuō),終端應(yīng)用當(dāng)前的版本號(hào)為3.0,進(jìn)行升級(jí)操作后版本號(hào)為4.0,則終端將攜帶版本號(hào)4.0信息的消息發(fā)送給第一音頻播放設(shè)備,第一獲取模塊301將接收該消息,并從該消息中獲取到版本號(hào)為4.0。
然后,判斷該版本信息是否與第一音頻播放設(shè)備固件的當(dāng)前版本信息是否兼容,其中第一音頻播放設(shè)備固件是指保存在第一音頻播放設(shè)備內(nèi)部,以驅(qū)動(dòng)設(shè)備運(yùn)行的驅(qū)動(dòng)程序。假設(shè)版本4.0的兼容版本為android6.0,則在第一獲取模塊301接收到攜帶版本號(hào)為4.0信息的消息后,檢查自身固件版本為android5.0后即可判斷版本信息與第一音頻播放設(shè)備固件的當(dāng)前版本信息不兼容,于是通過(guò)第二獲取模塊302獲取能將固件升級(jí)至android6.0的升級(jí)包。
其中,升級(jí)包中包含多個(gè)升級(jí)文件,當(dāng)前安裝包中包含多個(gè)安裝文件。這些文件組合在一起可以實(shí)現(xiàn)各種功能,通過(guò)生成模塊303對(duì)這些文件進(jìn)行差異化分析可以生成差分包。具體的,生成模塊303首先將升級(jí)包和當(dāng)前安裝包中文件的文件名進(jìn)行比較,如果某個(gè)文件名只在升級(jí)包中而不在當(dāng)前安裝包中,將具有該文件名的文件設(shè)置為差分包。進(jìn)一步的,生成模塊303比較具有相同文件名的文件大小,如果大小不相等,則將該文件設(shè)置為差分包。
在一些實(shí)施例中,生成模塊303還包括第一獲取子模塊3031、判斷子模塊3032及設(shè)置子模塊3033。具體描述如下:
第一獲取子模塊3031,用于獲取升級(jí)包中升級(jí)文件的第一文件標(biāo)識(shí);判斷子模塊3032,用于判斷當(dāng)前安裝包中的安裝文件是否有與第一文件標(biāo)識(shí)匹配的第二文件標(biāo)識(shí);設(shè)置子模塊3033,用于在沒(méi)有匹配的第二文件標(biāo)識(shí)時(shí),將升級(jí)文件設(shè)置為差分包。
由于每個(gè)升級(jí)文件或安裝文件都具有可以唯一標(biāo)識(shí)該文件的文件標(biāo)識(shí),比如文件名、文件編號(hào)等。因此可以根據(jù)文件標(biāo)識(shí)來(lái)區(qū)分升級(jí)包中與當(dāng)前安裝包中是否具有不同的文件。
如圖2所示,升級(jí)包中有4個(gè)升級(jí)文件,第一獲取子模塊3031依次獲取該3個(gè)升級(jí)文件的文件名,分別為文件a、文件b、文件c及文件d。然后判斷子模塊3032將這些文件名與安裝文件中安裝文件的名字依次進(jìn)行對(duì)比。當(dāng)前安裝包中有2個(gè)安裝文件,分別為文件b和文件c。由于當(dāng)前安裝包中沒(méi)有與升級(jí)文件中文件a、文件d匹配的文件,因此判斷子模塊3032判斷沒(méi)有與文件a、文件d匹配的第二文件標(biāo)識(shí),故通過(guò)設(shè)置子模塊3033將文件a、文件d設(shè)置為差分包。
在一些實(shí)施例中,生成模塊303還包括第二獲取子模塊3034。第二獲取子模塊3034,用于在有匹配的第二文件標(biāo)識(shí)時(shí),獲取第一文件標(biāo)識(shí)對(duì)應(yīng)的第一特征參數(shù)及第二文件標(biāo)識(shí)對(duì)應(yīng)的第二特征參數(shù)。設(shè)置子模塊3033,還用于在第一特征參數(shù)與第二特征參數(shù)不匹配時(shí),將升級(jí)文件設(shè)置為差分包。
每個(gè)升級(jí)文件或安裝文件都還具有表征文件特征的特征參數(shù),比如文件類型、文件大小等。因此在具有匹配的第二文件標(biāo)識(shí)的情況下,可以進(jìn)一步根據(jù)文件特征參數(shù)來(lái)區(qū)分具有相同文件標(biāo)識(shí)的文件內(nèi)容是否發(fā)生改變。
第二獲取子模塊3034獲取到升級(jí)包中的文件b大小為3m,文件c大小為4m,而當(dāng)前安裝包中的文件b大小為5m,文件c大小為4m,比較分析可知升級(jí)包和當(dāng)前安裝包中的文件b大小不相等,因此可以認(rèn)為升級(jí)包中文件b相對(duì)于當(dāng)前安裝包中文件b進(jìn)行了內(nèi)容修改,故設(shè)置子模塊3033將升級(jí)包中的文件b設(shè)置為差分包。
在一些實(shí)施例中,升級(jí)模塊304包括刪除子模塊3041和升級(jí)子模塊3042。具體描述如下:
刪除子模塊3041,用于刪除當(dāng)前安裝包中與差分包中對(duì)應(yīng)的目標(biāo)安裝文件;升級(jí)子模塊3042,用于將差分包寫(xiě)入第一音頻播放設(shè)備固件,以對(duì)第一音頻播放設(shè)備固件進(jìn)行升級(jí)。
在一些實(shí)施例中,升級(jí)模塊304包括壓縮子模塊3043和發(fā)送子模塊3044,具體描述如下:
壓縮子模塊3043,用于將差分包中的升級(jí)文件進(jìn)行封裝并壓縮;發(fā)送子模塊3044,用于將壓縮后的差分包發(fā)送給第二音頻播放設(shè)備。
未經(jīng)封裝并壓縮的升級(jí)文件往往體積比較大,如果直接傳輸給第二音頻播放設(shè)備,將大大增加傳輸時(shí)間。因此可以通過(guò)壓縮子模塊3043將差分包中的升級(jí)文件進(jìn)行封裝并壓縮,再通過(guò)發(fā)送子模塊3044將壓縮后的差分包發(fā)送給第二音頻播放設(shè)備。
第二音頻播放設(shè)備接收到壓縮后的差分包,先將該差分包解壓,再直接將該差分包中的升級(jí)文件寫(xiě)入第二音頻播放設(shè)備固件的閃存區(qū),從而節(jié)省了第二音頻播放設(shè)備從服務(wù)器獲取升級(jí)包并生成差分包的步驟,提高了升級(jí)效率。
本優(yōu)選實(shí)施例的固件升級(jí)裝置,采用對(duì)升級(jí)包及當(dāng)前安裝包進(jìn)行差異化分析生成差分包,以對(duì)第一音頻播放設(shè)備固件進(jìn)行升級(jí),同時(shí)將該差分包發(fā)送給的第二音頻播放設(shè)備來(lái)對(duì)第二音頻播放設(shè)備固件進(jìn)行升級(jí)的方案,提高了升級(jí)的效率。
請(qǐng)參照?qǐng)D5,圖5本發(fā)明優(yōu)選實(shí)施例的音頻播放設(shè)備的結(jié)構(gòu)示意圖。該音頻播放設(shè)備400可以包括射頻(rf,radiofrequency)電路401、包括有一個(gè)或一個(gè)以上計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的存儲(chǔ)器402、音頻電路403、無(wú)線保真(wifi,wirelessfidelity)模塊404以及包括有一個(gè)或者一個(gè)以上處理核心的處理器405等部件。本領(lǐng)域技術(shù)人員可以理解,圖5中示出的音頻播放設(shè)備結(jié)構(gòu)并不構(gòu)成對(duì)音頻播放設(shè)備的限定,可以包括比圖示更多或更少的部件,或者組合某些部件,或者不同的部件布置。
射頻電路401可以用于收發(fā)信息,比如將基站的下行信息接收后,交由一個(gè)或者一個(gè)以上處理器405處理。射頻電路401還可以通過(guò)無(wú)線通信與網(wǎng)絡(luò)和其他設(shè)備通信,比如服務(wù)器、終端設(shè)備等。
存儲(chǔ)器402可用于存儲(chǔ)軟件程序以及模塊。處理器408通過(guò)運(yùn)行存儲(chǔ)在存儲(chǔ)器402的軟件程序以及模塊,從而執(zhí)行各種功能應(yīng)用以及數(shù)據(jù)處理。存儲(chǔ)器402可以包括高速隨機(jī)存取存儲(chǔ)器,還可以包括非易失性存儲(chǔ)器,例如至少一個(gè)磁盤(pán)存儲(chǔ)器件、閃存器件、或其他易失性固態(tài)存儲(chǔ)器件。
音頻電路403可通過(guò)揚(yáng)聲器、傳聲器提供用戶與音頻播放設(shè)備之間的音頻接口。音頻電路403可將接收到的音頻數(shù)據(jù)轉(zhuǎn)換成電信號(hào),傳輸?shù)綋P(yáng)聲器,由揚(yáng)聲器轉(zhuǎn)換為聲音信號(hào)輸出;另一方面,傳聲器將收集的聲音信號(hào)轉(zhuǎn)換為電信號(hào),由音頻電路403接收后轉(zhuǎn)換為音頻數(shù)據(jù),再將音頻數(shù)據(jù)輸出處理器405處理后,經(jīng)射頻電路401發(fā)送出去。
無(wú)線保真(wifi)屬于短距離無(wú)線傳輸技術(shù),音頻播放設(shè)備通過(guò)無(wú)線保真模塊404可以瀏覽網(wǎng)頁(yè)和訪問(wèn)流式媒體,或者與其他設(shè)備建立通信連接。
處理器405是音頻播放設(shè)備的控制中心,利用各種接口和線路連接整個(gè)音頻播放設(shè)備的各個(gè)部分,通過(guò)運(yùn)行或執(zhí)行存儲(chǔ)在存儲(chǔ)器402內(nèi)的軟件程序和/或模塊,以及調(diào)用存儲(chǔ)在存儲(chǔ)器402內(nèi)的數(shù)據(jù),執(zhí)行音頻播放設(shè)備的各種功能和處理數(shù)據(jù),從而對(duì)音頻播放設(shè)備進(jìn)行整體監(jiān)控。
盡管未示出,音頻播放設(shè)備還可以包括電源、藍(lán)牙模塊等,在此不再贅述。
具體在本實(shí)施例中,處理器405先獲取終端中應(yīng)用的版本信息,然后在版本信息與第一音頻播放設(shè)備固件的當(dāng)前版本信息不兼容時(shí),獲取用于升級(jí)第一音頻播放設(shè)備固件的升級(jí)包;再對(duì)升級(jí)包和第一音頻播放設(shè)備固件的當(dāng)前安裝包進(jìn)行差異化分析,生成差分包;最后通過(guò)差分包對(duì)第一音頻播放設(shè)備固件進(jìn)行升級(jí),并將差分包發(fā)送給第二音頻播放設(shè)備,以使第二音頻播放設(shè)備根據(jù)差分包對(duì)第二音頻播放設(shè)備固件進(jìn)行升級(jí)。
進(jìn)一步的,處理器405還獲取升級(jí)包中升級(jí)文件的第一文件標(biāo)識(shí);判斷當(dāng)前安裝包中的安裝文件是否有與第一文件標(biāo)識(shí)匹配的第二文件標(biāo)識(shí);如果沒(méi)有匹配的第二文件標(biāo)識(shí),則將升級(jí)文件設(shè)置為差分包。
進(jìn)一步的,處理器405還在有匹配的第二文件標(biāo)識(shí)時(shí),獲取第一文件標(biāo)識(shí)對(duì)應(yīng)的第一特征參數(shù)及第二文件標(biāo)識(shí)對(duì)應(yīng)的第二特征參數(shù);在第一特征參數(shù)與第二特征參數(shù)不匹配時(shí),將升級(jí)文件設(shè)置為差分包。
進(jìn)一步的,處理器405還刪除當(dāng)前安裝包中與差分包中對(duì)應(yīng)的目標(biāo)安裝文件;將差分包寫(xiě)入第一音頻播放設(shè)備固件,以對(duì)第一音頻播放設(shè)備固件進(jìn)行升級(jí)。
進(jìn)一步的,處理器405還將差分包中的升級(jí)文件進(jìn)行封裝并壓縮;
將壓縮后的差分包發(fā)送給第二音頻播放設(shè)備。
本優(yōu)選實(shí)施例的音頻播放設(shè)備,采用對(duì)升級(jí)包及當(dāng)前安裝包進(jìn)行差異化分析生成差分包,以對(duì)第一音頻播放設(shè)備固件進(jìn)行升級(jí),同時(shí)將該差分包發(fā)送給的第二音頻播放設(shè)備來(lái)對(duì)第二音頻播放設(shè)備固件進(jìn)行升級(jí)的方案,提高了升級(jí)的效率。
以上對(duì)本發(fā)明實(shí)施例提供的一種固件升級(jí)方法、裝置及終端進(jìn)行了詳細(xì)介紹,其各功能模塊可以集成在一個(gè)處理芯片中,也可以是各個(gè)模塊單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上模塊集成在一個(gè)模塊中。上述集成的模塊既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能模塊的形式實(shí)現(xiàn)。本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說(shuō)明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式及應(yīng)用范圍上均會(huì)有改變之處,綜上,本說(shuō)明書(shū)內(nèi)容不應(yīng)理解為對(duì)本發(fā)明的限制。