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