亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

嵌入式固件差分升級(jí)的文件生成和合成的方法和系統(tǒng)的制作方法

文檔序號(hào):6624633閱讀:1568來(lái)源:國(guó)知局
嵌入式固件差分升級(jí)的文件生成和合成的方法和系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了嵌入式固件差分升級(jí)的文件生成和合成的方法和系統(tǒng),包括以下步驟:A、差分升級(jí)文件的生成:根據(jù)終端已有固件和需要更新的固件比較出二者不同的數(shù)據(jù)字節(jié),以數(shù)據(jù)字節(jié)為單位取得刪除包和增添包,將刪除包與增添包合成為升級(jí)包;B、下載所述升級(jí)包;C、差分升級(jí)文件的合成:將所述升級(jí)包解析為刪除包和增添包,將刪除包、增添包以及終端已有固件合成需要更新的固件。本發(fā)明通過區(qū)分兩個(gè)文件的中同與不同的數(shù)據(jù)字節(jié),來(lái)打包數(shù)據(jù)進(jìn)行差分升級(jí)的升級(jí)包,壓縮升級(jí)文件大小,縮短升級(jí)時(shí)間和減少資源消耗,實(shí)現(xiàn)固件的快速升級(jí)。
【專利說(shuō)明】嵌入式固件差分升級(jí)的文件生成和合成的方法和系統(tǒng)

【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通過空中接口技術(shù),對(duì)嵌入式固件進(jìn)行更新升級(jí),具體是一種嵌入式固件差分升級(jí)文件的生成方法,以及通過差分升級(jí)文件合成相應(yīng)嵌入式固件的合成方法和系統(tǒng)。

【背景技術(shù)】
[0002]隨著物聯(lián)網(wǎng)產(chǎn)業(yè)的興起,低功耗無(wú)線通信技術(shù)藍(lán)牙和Zigbee的發(fā)展,需求日新月異,需要能快速有效的對(duì)嵌入式產(chǎn)品進(jìn)行升級(jí)。傳統(tǒng)的一對(duì)一式的固件升級(jí)技術(shù),升級(jí)過程占用太多資源,耗費(fèi)數(shù)據(jù)流量巨大,升級(jí)過程緩慢,已經(jīng)越來(lái)越不能滿足客戶的需求。
[0003]因此出現(xiàn)了一種通過差分包升級(jí)的方式,已經(jīng)被越來(lái)越多的人采用。但是原有的差分包升級(jí)方式,針對(duì)手機(jī)等大型嵌入式軟件產(chǎn)品,不能適合基于低速率低功耗的藍(lán)牙和zigbee等無(wú)線通信技術(shù)空中接口升級(jí)的產(chǎn)品。如申請(qǐng)?zhí)枮?01210209785.4的發(fā)明專利《升級(jí)包生成方法和系統(tǒng)、動(dòng)態(tài)文件差分升級(jí)的方法和終端》,這種升級(jí)方式是針對(duì)大型嵌入式系統(tǒng)固件,這種固件帶文件系統(tǒng)的,升級(jí)可控制區(qū)分的是每一個(gè)文件。
[0004]如圖1所示,該專利打包升級(jí)包的思想是,如果終端(手機(jī))上已經(jīng)擁有這個(gè)文件,打包升級(jí)包的時(shí)候,就不用打包進(jìn)去,如果沒有這個(gè)文件,他就把它打包到升級(jí)包里面去。這樣,因?yàn)榇蠖鄶?shù)文件是相同的,沒有改變的,不同的文件就比較少,所以打包的升級(jí)包也是比較小的,能在一定程度上縮短升級(jí)時(shí)間和減少資源消耗。
[0005]這個(gè)升級(jí)思想比較宏觀。就好像一個(gè)書柜,我們要更新書柜上面的書籍,就會(huì)看著書籍的名字和封面,就可以把需要撤下來(lái)的書籍就拿下來(lái),需要更新上去的書籍就放上去。
[0006]這種升級(jí)思想雖然在一定程度上在一定程度上縮短升級(jí)時(shí)間和減少資源消耗,但仍未找到最為有效的方案,因?yàn)閱蝹€(gè)文件不是最小的數(shù)據(jù)單位,單個(gè)文件它包含大量的字節(jié)數(shù)據(jù),當(dāng)升級(jí)過程中需要更新的只是某些字節(jié)數(shù)據(jù)時(shí),更新整個(gè)文件也是極其緩慢和浪費(fèi)資源的,尤其是在低速率低功耗的藍(lán)牙和zigbee等無(wú)線通信技術(shù)空中接口升級(jí)的產(chǎn)品O


【發(fā)明內(nèi)容】

[0007]為解決上述技術(shù)問題,本發(fā)明的目的是提供一種可實(shí)現(xiàn)快速升級(jí)的嵌入式固件差分升級(jí)文件生成和合成的方法和系統(tǒng)。
[0008]本發(fā)明采用的技術(shù)方案是:
嵌入式固件差分升級(jí)的文件生成和合成的方法,包括以下步驟:
A、差分升級(jí)文件的生成:根據(jù)終端已有固件和需要更新的固件比較出二者不同的數(shù)據(jù)字節(jié),以數(shù)據(jù)字節(jié)為單位取得刪除包和增添包,將刪除包與增添包合成為升級(jí)包;
B、下載所述升級(jí)包;
C、差分升級(jí)文件的合成:將所述升級(jí)包解析為刪除包和增添包,將刪除包、增添包以及終端已有固件合成需要更新的固件。
[0009]進(jìn)一步的,所述步驟A中刪除包包含的內(nèi)容為終端已有固件有而需要更新的固件沒有的,增添包包含的內(nèi)容為終端已有固件沒有而需要更新的固件有的。
[0010]進(jìn)一步的,所述步驟C中終端已有固件參與合成的內(nèi)容為終端已有固件和需要更新的固件二者相同的部分。
[0011]其中,所述升級(jí)包還包括升級(jí)包長(zhǎng)度、升級(jí)包類型、刪除包長(zhǎng)度、增添包長(zhǎng)度、升級(jí)固件校驗(yàn)值、文件校驗(yàn)。
[0012]進(jìn)一步的,所述步驟B下載完成之后、所述步驟C解析升級(jí)包之前設(shè)置有一校驗(yàn)程序,當(dāng)校驗(yàn)成功則進(jìn)入步驟C。
[0013]本發(fā)明還包括與上述方法基于同一個(gè)發(fā)明構(gòu)思的一種嵌入式固件差分升級(jí)的文件生成和合成的系統(tǒng),包括至少一服務(wù)器和/或主機(jī)設(shè)備端、以及與服務(wù)器和/或主機(jī)設(shè)備端交互的至少一終端;
該服務(wù)器和/或主機(jī)設(shè)備端用于差分升級(jí)文件的生成:根據(jù)終端已有固件和需要更新的固件比較出二者不同的數(shù)據(jù)字節(jié),以數(shù)據(jù)字節(jié)為單位取得刪除包和增添包,將刪除包與增添包合成為升級(jí)包;
該終端包括一協(xié)議棧模塊、一升級(jí)包解析模塊、一固件組裝模塊、一固件升級(jí)模塊,其中,協(xié)議棧模塊與服務(wù)器和/或主機(jī)設(shè)備端交互以下載所述升級(jí)包,升級(jí)包解析模塊將所述升級(jí)包解析為刪除包和增添包,固件組裝模塊將刪除包、增添包以及終端已有固件合成需要更新的固件,固件升級(jí)模塊將終端已有固件升級(jí)為需要更新的固件。
[0014]進(jìn)一步的,所述刪除包包含的內(nèi)容為終端已有固件有而需要更新的固件沒有的,增添包包含的內(nèi)容為終端已有固件沒有而需要更新的固件有的。
[0015]進(jìn)一步的,所述終端已有固件參與合成的內(nèi)容為終端已有固件和需要更新的固件二者相同的部分。
[0016]其中,所述升級(jí)包還包括升級(jí)包長(zhǎng)度、升級(jí)包類型、刪除包長(zhǎng)度、增添包長(zhǎng)度、升級(jí)固件校驗(yàn)值、文件校驗(yàn)。
[0017]進(jìn)一步的,下載升級(jí)包完成之后、解析升級(jí)包之前設(shè)置有一校驗(yàn)程序,當(dāng)校驗(yàn)成功則進(jìn)入解析環(huán)節(jié)。
[0018]本發(fā)明的有益效果:
本發(fā)明提出一種嵌入式固件差分升級(jí)文件生成和合成的方法和系統(tǒng),通過區(qū)分兩個(gè)文件的中同與不同的數(shù)據(jù)字節(jié),來(lái)打包數(shù)據(jù)進(jìn)行差分升級(jí)的升級(jí)包,壓縮升級(jí)文件大小,縮短升級(jí)時(shí)間和減少資源消耗,實(shí)現(xiàn)固件的快速升級(jí)。

【專利附圖】

【附圖說(shuō)明】
[0019]下面結(jié)合附圖對(duì)本發(fā)明的【具體實(shí)施方式】做進(jìn)一步的說(shuō)明。
[0020]圖1是現(xiàn)有固件升級(jí)方案流程圖;
圖2是本發(fā)明DBOTA升級(jí)系統(tǒng)結(jié)構(gòu)圖;
圖3是固件升級(jí)包結(jié)構(gòu)圖;
圖4是本發(fā)明實(shí)施例固件升級(jí)包生成裝置框圖;
圖5是本發(fā)明實(shí)施例固件升級(jí)包合成裝置框圖;
圖6是本發(fā)明實(shí)施例所述固件升級(jí)方案流程圖。
[0021]

【具體實(shí)施方式】
首選,需要說(shuō)明的是,在文件系統(tǒng)中,靜態(tài)文件是指在終端中版本發(fā)布時(shí)就已經(jīng)確定,且不會(huì)由于用戶使用/修改配置等因素改變的文件,這種文件用戶不能通過菜單等方式修改,對(duì)于同一個(gè)版本的不同終端來(lái)說(shuō),是相同的,本實(shí)施例中所述的固件即靜態(tài)文件。
[0022]參考圖2所示,為本發(fā)明的一種嵌入式固件差分升級(jí)的文件生成和合成的系統(tǒng),包括一服務(wù)器和/或主機(jī)設(shè)備端、以及與服務(wù)器和/或主機(jī)設(shè)備端交互的一終端,該終端為客戶端或終端設(shè)備端;
該服務(wù)器和/或主機(jī)設(shè)備端用于差分升級(jí)文件的生成:根據(jù)終端已有固件和需要更新的固件比較出二者不同的數(shù)據(jù)字節(jié),以數(shù)據(jù)字節(jié)為單位取得刪除包和增添包(二者稱為差分包),將刪除包與增添包合成為升級(jí)包;
該終端包括一協(xié)議棧模塊、一升級(jí)包解析模塊、一固件組裝模塊、一固件升級(jí)模塊,其中,協(xié)議棧模塊與服務(wù)器和/或主機(jī)設(shè)備端交互以下載所述升級(jí)包,升級(jí)包解析模塊將所述升級(jí)包解析為刪除包和增添包,固件組裝模塊將刪除包、增添包以及終端已有固件合成需要更新的固件,并通知協(xié)議棧模塊固件的組裝結(jié)果;固件升級(jí)模塊將終端已有固件升級(jí)為需要更新的固件,并通知協(xié)議棧模塊固件的升級(jí)結(jié)果。
[0023]在取差分包的過程中,其工作原理是通過對(duì)原始固件進(jìn)行操作,刪除不同的部分,添加沒有的部分,保持相同的部分,從而獲得了我們需要進(jìn)行升級(jí)的固件。故所述刪除包包含的內(nèi)容為終端已有固件有而需要更新的固件沒有的,增添包包含的內(nèi)容為終端已有固件沒有而需要更新的固件有的,而所述終端已有固件參與合成的內(nèi)容為終端已有固件和需要更新的固件二者相同的部分。
[0024]其中,如圖3所示,所述升級(jí)包包括升級(jí)包長(zhǎng)度、升級(jí)包類型、刪除包、增添包、刪除包長(zhǎng)度、增添包長(zhǎng)度、升級(jí)固件校驗(yàn)值、文件校驗(yàn)。
[0025]本發(fā)明還包括與上述系統(tǒng)基于同一個(gè)發(fā)明構(gòu)思的嵌入式固件差分升級(jí)的文件生成和合成的方法,包括以下步驟:
A、差分升級(jí)文件的生成:如圖4,根據(jù)終端已有固件和需要更新的固件比較出二者不同的數(shù)據(jù)字節(jié),以數(shù)據(jù)字節(jié)為單位取得刪除包和增添包(二者稱為差分包),將刪除包與增添包合成為升級(jí)包;
B、下載所述升級(jí)包;
C、差分升級(jí)文件的合成:如圖5,將所述升級(jí)包解析為刪除包和增添包,將刪除包、增添包以及終端已有固件合成需要更新的固件。
[0026]在上述取差分包的過程中,其工作原理是通過對(duì)原始固件進(jìn)行操作,刪除不同的部分,添加沒有的部分,保持相同的部分,從而獲得了我們需要進(jìn)行升級(jí)的固件。故所述步驟A中刪除包包含的內(nèi)容為終端已有固件有而需要更新的固件沒有的,增添包包含的內(nèi)容為終端已有固件沒有而需要更新的固件有的;所述步驟C中終端已有固件參與合成的內(nèi)容為終端已有固件和需要更新的固件二者相同的部分。
[0027]其中,如圖3,所述升級(jí)包還包括升級(jí)包長(zhǎng)度、升級(jí)包類型、刪除包、增添包、刪除包長(zhǎng)度、增添包長(zhǎng)度、升級(jí)固件校驗(yàn)值、文件校驗(yàn)。
[0028]如圖6所示,本發(fā)明實(shí)施例所述固件升級(jí)方案流程,包括具體步驟:
Ql、開始升級(jí)流程; Q2、終端接收到主機(jī)或服務(wù)器升級(jí)固件的通知;
Q3、協(xié)議棧模塊與服務(wù)器交互通信,下載升級(jí)包;
Q4,檢驗(yàn)是否下載完成,若完成則進(jìn)入下一步,否則返回Q3 ;
Q5、通過升級(jí)包的文件校驗(yàn)進(jìn)行校驗(yàn),校驗(yàn)通過進(jìn)入下一步,否則跳至Q13 ;
Q6、解析模塊對(duì)升級(jí)包進(jìn)行解析;
Q7、判斷是否解析成功,若解析成功則進(jìn)入下一步,否則跳至Q13 ;
Q8、固件組裝模塊對(duì)解析的數(shù)據(jù)和原有固件數(shù)據(jù)進(jìn)行組裝;
Q9、檢驗(yàn)是否組裝成功,若組裝成功則進(jìn)入下一步,否則跳至Q13 ;
Q10、固件升級(jí)模塊使用組裝后的固件進(jìn)行升級(jí);
Q11、檢驗(yàn)是否升級(jí)成功,若升級(jí)成功則進(jìn)入Q13,否則進(jìn)入Q12;
Q12、終端或客戶端重啟,回滾到升級(jí)前的系統(tǒng);
Q13、上報(bào)服務(wù)器升級(jí)結(jié)果;
如上所述,本發(fā)明提出一種嵌入式固件差分升級(jí)文件生成和合成的方法和系統(tǒng),通過區(qū)分兩個(gè)文件的中同與不同的數(shù)據(jù)字節(jié),來(lái)打包數(shù)據(jù)進(jìn)行差分升級(jí)的升級(jí)包,壓縮升級(jí)文件大小,相比傳統(tǒng)技術(shù)以文件為最小單位差分升級(jí),本發(fā)明可以更好的縮短升級(jí)時(shí)間和減少資源消耗,實(shí)現(xiàn)固件的快速升級(jí),尤其是適用于中小型嵌入式系統(tǒng)固件,當(dāng)然大型嵌入式系統(tǒng)也是可以實(shí)現(xiàn)的,升級(jí)小型的嵌入式產(chǎn)品一般只需要一個(gè)文件就可以了。當(dāng)然,我們升級(jí)的方法,升級(jí)兩個(gè),三個(gè),多個(gè)的文件也是沒有問題的。
[0029]以上所述僅為本發(fā)明的優(yōu)先實(shí)施方式,本發(fā)明并不限定于上述實(shí)施方式,只要以基本相同手段實(shí)現(xiàn)本發(fā)明目的的技術(shù)方案都屬于本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.嵌入式固件差分升級(jí)的文件生成和合成的方法,其特征在于包括以下步驟: A、差分升級(jí)文件的生成:根據(jù)終端已有固件和需要更新的固件比較出二者不同的數(shù)據(jù)字節(jié),以數(shù)據(jù)字節(jié)為單位取得刪除包和增添包,將刪除包與增添包合成為升級(jí)包; B、下載所述升級(jí)包; C、差分升級(jí)文件的合成:將所述升級(jí)包解析為刪除包和增添包,將刪除包、增添包以及終端已有固件合成需要更新的固件。
2.根據(jù)權(quán)利要求1所述的嵌入式固件差分升級(jí)的文件生成和合成的方法,其特征在于:所述步驟A中刪除包包含的內(nèi)容為終端已有固件有而需要更新的固件沒有的,增添包包含的內(nèi)容為終端已有固件沒有而需要更新的固件有的。
3.根據(jù)權(quán)利要求2所述的嵌入式固件差分升級(jí)的文件生成和合成的方法,其特征在于:所述步驟C中終端已有固件參與合成的內(nèi)容為終端已有固件和需要更新的固件二者相同的部分。
4.根據(jù)權(quán)利要求1所述的嵌入式固件差分升級(jí)的文件生成和合成的方法,其特征在于:所述升級(jí)包還包括升級(jí)包長(zhǎng)度、升級(jí)包類型、刪除包長(zhǎng)度、增添包長(zhǎng)度、升級(jí)固件校驗(yàn)值、文件校驗(yàn)。
5.根據(jù)權(quán)利要求4所述的嵌入式固件差分升級(jí)的文件生成和合成的方法,其特征在于:所述步驟B下載完成之后、所述步驟C解析升級(jí)包之前設(shè)置有一校驗(yàn)程序,當(dāng)校驗(yàn)成功則進(jìn)入步驟C。
6.嵌入式固件差分升級(jí)的文件生成和合成的系統(tǒng),其特征在于: 包括至少一服務(wù)器和/或主機(jī)設(shè)備端、以及與服務(wù)器和/或主機(jī)設(shè)備端交互的至少一終端; 該服務(wù)器和/或主機(jī)設(shè)備端用于差分升級(jí)文件的生成:根據(jù)終端已有固件和需要更新的固件比較出二者不同的數(shù)據(jù)字節(jié),以數(shù)據(jù)字節(jié)為單位取得刪除包和增添包,將刪除包與增添包合成為升級(jí)包; 該終端包括一協(xié)議棧模塊、一升級(jí)包解析模塊、一固件組裝模塊、一固件升級(jí)模塊,其中,協(xié)議棧模塊與服務(wù)器和/或主機(jī)設(shè)備端交互以下載所述升級(jí)包,升級(jí)包解析模塊將所述升級(jí)包解析為刪除包和增添包,固件組裝模塊將刪除包、增添包以及終端已有固件合成需要更新的固件,固件升級(jí)模塊將終端已有固件升級(jí)為需要更新的固件。
7.根據(jù)權(quán)利要求6所述的嵌入式固件差分升級(jí)的文件生成和合成的系統(tǒng),其特征在于:所述刪除包包含的內(nèi)容為終端已有固件有而需要更新的固件沒有的,增添包包含的內(nèi)容為終端已有固件沒有而需要更新的固件有的。
8.根據(jù)權(quán)利要求7所述的嵌入式固件差分升級(jí)的文件生成和合成的系統(tǒng),其特征在于:所述終端已有固件參與合成的內(nèi)容為終端已有固件和需要更新的固件二者相同的部分。
9.根據(jù)權(quán)利要求6所述的嵌入式固件差分升級(jí)的文件生成和合成的系統(tǒng),其特征在于:所述升級(jí)包還包括升級(jí)包長(zhǎng)度、升級(jí)包類型、刪除包長(zhǎng)度、增添包長(zhǎng)度、升級(jí)固件校驗(yàn)值、文件校驗(yàn)。
10.根據(jù)權(quán)利要求9所述的嵌入式固件差分升級(jí)的文件生成和合成的系統(tǒng),其特征在于:下載升級(jí)包完成之后、解析升級(jí)包之前設(shè)置有一校驗(yàn)程序,當(dāng)校驗(yàn)成功則進(jìn)入解析環(huán) 節(jié)。
【文檔編號(hào)】G06F9/445GK104184814SQ201410422666
【公開日】2014年12月3日 申請(qǐng)日期:2014年8月25日 優(yōu)先權(quán)日:2014年8月25日
【發(fā)明者】盧軍營(yíng), 沈阜山 申請(qǐng)人:中山市永衡日用制品有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1