本發(fā)明涉及電子設(shè)備技術(shù)領(lǐng)域,尤其涉及一種電池固件處理方法、裝置和充電柜系統(tǒng)。
背景技術(shù):
固件作為電子設(shè)備中最底層的工作軟件,對保證電子設(shè)備的正常運(yùn)行十分重要,因而,為了更好的支持電子設(shè)備的正常運(yùn)行,固件會進(jìn)行更新。
然而,固件在進(jìn)行更新時,如果更新失敗,比如更新的版本與固件版本不兼容,則會導(dǎo)致固件無法正常行使功能服務(wù),導(dǎo)致設(shè)備無法正常運(yùn)行,因而如何在固件更新失敗時對固件進(jìn)行恢復(fù),成為亟待解決的問題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的旨在至少在一定程度上解決上述的技術(shù)問題之一。
為此,本發(fā)明的第一個目的在于提出一種電池固件處理方法,該方法保證了系統(tǒng)網(wǎng)絡(luò)中的多個電池的固件版本的同步,且同步為多個電池的固件版本中的目標(biāo)固件版本,提高了固件恢復(fù)的效率和性能。
本發(fā)明的第二個目的在于提出一種電池固件處理裝置。
本發(fā)明的第三個目的在于提出一種充電柜系統(tǒng)。
為了實(shí)現(xiàn)上述目的,本發(fā)明第一方面實(shí)施例提出了一種固件恢復(fù)處理方法,包括以下步驟:
獲取系統(tǒng)網(wǎng)絡(luò)中各電池的固件版本信息;
根據(jù)所述固件版本信息確定具有目標(biāo)固件版本的第一電池,以及不具有所述目標(biāo)固件版本的第二電池;
將所述第二電池中的固件版本更新為所述目標(biāo)固件版本。
本發(fā)明實(shí)施例的電池固件處理方法,獲取系統(tǒng)網(wǎng)絡(luò)中各電池的固件版本信息,根據(jù)固件版本信息確定具有目標(biāo)固件版本的第一電池,以及不具有目標(biāo)固件版本的第二電池,進(jìn)而將第二電池中的固件版本更新為目標(biāo)固件版本。由此,保證了系統(tǒng)網(wǎng)絡(luò)中的多個電池的固件版本的同步,且同步為多個電池的固件版本中的目標(biāo)固件版本,提高了固件恢復(fù)的效率和性能。
另外,本發(fā)明實(shí)施例的電池固件處理方法,還具有如下附加的技術(shù)特征:
可選地,所述方法應(yīng)用于所述第一電池中,將所述第二電池中的固件版本更新為所述目標(biāo)固件版本,包括:
控制所述第一電池進(jìn)入引導(dǎo)程序,并向所述第二電池發(fā)送引導(dǎo)程序操作指令;
從所述第一電池的固件區(qū)中復(fù)制所述目標(biāo)固件版本的數(shù)據(jù)到所述第二電池的固件區(qū);
向所述第二電池發(fā)送重啟指令,以便所述第二電池重啟后進(jìn)入固件程序。
可選地,從所述第一電池的固件區(qū)中復(fù)制所述目標(biāo)固件版本的數(shù)據(jù)到所述第二電池的固件區(qū)之后,還包括:
控制所述第一電池重啟進(jìn)入固件程序。
可選地,所述方法應(yīng)用于所述管理器中,將所述第二電池中的固件版本更新為所述目標(biāo)固件版本,包括:
向所述第一電池發(fā)送引導(dǎo)程序操作指令,并從所述第一電池中獲取所述目標(biāo)固件版本,且存儲在所述管理器的內(nèi)存中;
向所述第二電池發(fā)送引導(dǎo)程序操作指令,進(jìn)而將所述目標(biāo)固件版本的數(shù)據(jù)寫入到所述第二電池的固件區(qū);
向所述第二電池發(fā)送重啟指令,以便所述第二電池重啟后進(jìn)入固件程序。
可選地,所述方法還包括:
向所述第一電池發(fā)送重啟指令,以便所述第一電池重啟后進(jìn)入固件程序。
為了實(shí)現(xiàn)上述目的,本發(fā)明第二方面實(shí)施例提出了一種電池固件處理裝置,包括:
第一獲取模塊,用于獲取系統(tǒng)網(wǎng)絡(luò)中各電池的固件版本信息;
第一確定模塊,用于根據(jù)所述固件版本信息確定具有目標(biāo)固件版本的第一電池,以及不具有所述目標(biāo)固件版本的第二電池;
第一處理模塊,用于將所述第二電池中的固件版本更新為所述目標(biāo)固件版本。
本發(fā)明實(shí)施例的電池固件處理裝置,獲取系統(tǒng)網(wǎng)絡(luò)中各電池的固件版本信息,根據(jù)固件版本信息確定具有目標(biāo)固件版本的第一電池,以及不具有目標(biāo)固件版本的第二電池,進(jìn)而將第二電池中的固件版本更新為目標(biāo)固件版本。由此,保證了系統(tǒng)網(wǎng)絡(luò)中的多個電池的固件版本的同步,且同步為多個電池的固件版本中的目標(biāo)固件版本,提高了固件恢復(fù)的效率和性能。
另外,本發(fā)明實(shí)施例的電池固件處理裝置,還具有如下附加的技術(shù)特征:
可選地,所述裝置應(yīng)用于所述第一電池中,所述第一處理模塊包括:
第一控制單元,用于控制所述第一電池進(jìn)入引導(dǎo)程序;
第一發(fā)送單元,用于向所述第二電池發(fā)送引導(dǎo)程序操作指令;
第一復(fù)制單元,用于從所述第一電池的固件區(qū)中復(fù)制所述目標(biāo)固件版本的數(shù)據(jù)到所述第二電池的固件區(qū);
所述第一發(fā)送單元,用于向所述第二電池發(fā)送重啟指令,以便所述第二電池重啟后進(jìn)入固件程序。
可選地,所述第一控制單元,還用于:
控制所述第一電池重啟進(jìn)入固件程序。
可選地,所述方法應(yīng)用于管理器中,所述第一處理模塊包括:
第二發(fā)送單元,用于向所述第一電池發(fā)送引導(dǎo)程序操作指令;
第一存儲單元,用于從所述第一電池中獲取所述目標(biāo)固件版本,且存儲在所述管理器的內(nèi)存中;
所述第二發(fā)送單元還用于向所述第二電池發(fā)送引導(dǎo)程序操作指令;
第一寫入單元,用于將所述目標(biāo)固件版本的數(shù)據(jù)寫入到所述第二電池的固件區(qū);
所述第二發(fā)送單元還用于向所述第二電池發(fā)送重啟指令,以便所述第二電池重啟后進(jìn)入固件程序。
可選地,所述第二發(fā)送單元還用于:
向所述第一電池發(fā)送重啟指令,以便所述第一電池重啟后進(jìn)入固件程序。
為了實(shí)現(xiàn)上述目的,本發(fā)明第三方面實(shí)施例提出了一種充電柜系統(tǒng),包括:多個用于連接電池的充電接口,以及電池固件處理裝置,其中,所述電池固件處理裝置包括:
第二獲取模塊,用于獲取系統(tǒng)網(wǎng)絡(luò)中各電池的固件版本信息;
第二確定模塊,用于根據(jù)所述固件版本信息確定具有目標(biāo)固件版本的第一電池,以及不具有所述目標(biāo)固件版本的第二電池;
第二處理模塊,用于將所述第二電池中的固件版本更新為所述目標(biāo)固件版本。
本發(fā)明實(shí)施例的充電柜系統(tǒng),獲取系統(tǒng)網(wǎng)絡(luò)中各電池的固件版本信息,根據(jù)固件版本信息確定具有目標(biāo)固件版本的第一電池,以及不具有目標(biāo)固件版本的第二電池,進(jìn)而將第二電池中的固件版本更新為目標(biāo)固件版本。由此,保證了系統(tǒng)網(wǎng)絡(luò)中的多個電池的固件版本的同步,且同步為多個電池的固件版本中的目標(biāo)固件版本,提高了固件恢復(fù)的效率和性能。
另外,本發(fā)明實(shí)施例的充電柜系統(tǒng),還具有如下附加的技術(shù)特征:
可選地,所述多個電池之間通過差分信號總線連接,其中,包括用于連接多個電池的差分信號總線,所述電池固件處理裝置中的所述第二處理模塊包括:
第二控制單元,用于控制所述第一電池進(jìn)入引導(dǎo)程序;
第三發(fā)送單元,用于向所述第二電池發(fā)送引導(dǎo)程序操作指令;
第二復(fù)制單元,用于從所述第一電池的固件區(qū)中復(fù)制所述目標(biāo)固件版本的數(shù)據(jù)到所述第二電池的固件區(qū);
所述第三發(fā)送單元,用于向所述第二電池發(fā)送重啟指令,以便所述第二電池重啟后進(jìn)入固件程序。
可選地,所述系統(tǒng)還包括:管理器,其中,所述管理器通過第二差分信號總線與多個電池連接,其中,所述管理器中設(shè)置有所述電池固件處理裝置,所述電池固件處理裝置中的所述第二處理模塊包括:
第四發(fā)送單元,用于向所述第一電池發(fā)送引導(dǎo)程序操作指令;
第二存儲單元,用于從所述第一電池中獲取所述目標(biāo)固件版本,且存儲在所述管理器的內(nèi)存中;
所述第四發(fā)送單元還用于向所述第二電池發(fā)送引導(dǎo)程序操作指令;
第二寫入單元,用于將所述目標(biāo)固件版本的數(shù)據(jù)寫入到所述第二電池的固件區(qū);
所述第四發(fā)送單元還用于向所述第二電池發(fā)送重啟指令,以便所述第二電池重啟后進(jìn)入固件程序。
本發(fā)明附加的方面和優(yōu)點(diǎn)將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本發(fā)明的實(shí)踐了解到。
附圖說明
本發(fā)明上述的和/或附加的方面和優(yōu)點(diǎn)從下面結(jié)合附圖對實(shí)施例的描述中將變得明顯和容易理解,其中:
圖1是根據(jù)本發(fā)明一個實(shí)施例的電池內(nèi)部處理器的區(qū)域示意圖;
圖2是根據(jù)本發(fā)明一個實(shí)施例的電池固件處理方法的流程圖;
圖3是根據(jù)本發(fā)明另一個實(shí)施例的電池固件處理方法的流程圖;
圖4是根據(jù)本發(fā)明一個實(shí)施例的系統(tǒng)網(wǎng)絡(luò)中各電池交互場景示意圖;
圖5是根據(jù)本發(fā)明又一個實(shí)施例的電池固件處理方法的流程圖;
圖6是根據(jù)本發(fā)明一個實(shí)施例的電池固件處理裝置的結(jié)構(gòu)示意圖;
圖7是根據(jù)本發(fā)明另一個實(shí)施例的電池固件處理裝置的結(jié)構(gòu)示意圖;
圖8是根據(jù)本發(fā)明又一個實(shí)施例的電池固件處理裝置的結(jié)構(gòu)示意圖;
圖9(a)是根據(jù)本發(fā)明一個實(shí)施例的充電柜系統(tǒng)的結(jié)構(gòu)示意圖;
圖9(b)是根據(jù)本發(fā)明一個實(shí)施例的電池固件處理裝置1000的結(jié)構(gòu)示意圖;
圖10(a)是根據(jù)本發(fā)明另一個實(shí)施例的充電柜系統(tǒng)的結(jié)構(gòu)示意圖;
圖10(b)是根據(jù)本發(fā)明另一個實(shí)施例的電池固件處理裝置1000的結(jié)構(gòu)示意圖;
圖11是根據(jù)本發(fā)明一個實(shí)施例的電池固件處理的場景示意圖;
圖12(a)是根據(jù)本發(fā)明又一個實(shí)施例的充電柜系統(tǒng)的結(jié)構(gòu)示意圖;
圖12(b)是根據(jù)本發(fā)明又一個實(shí)施例的電池固件處理裝置1000的結(jié)構(gòu)示意圖;以及
圖13是根據(jù)本發(fā)明另一個實(shí)施例的充電柜系統(tǒng)的場景示意圖。
具體實(shí)施方式
下面詳細(xì)描述本發(fā)明的實(shí)施例,所述實(shí)施例的示例在附圖中示出,其中自始至終相同或類似的標(biāo)號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實(shí)施例是示例性的,旨在用于解釋本發(fā)明,而不能理解為對本發(fā)明的限制。
下面參考附圖描述本發(fā)明實(shí)施例的電池固件處理方法、裝置和系統(tǒng)。
目前,電池中的固件在進(jìn)行更新時,可能由于網(wǎng)速、固件版本等原因?qū)е赂碌氖。热?,在線對固件更新時,由于網(wǎng)絡(luò)的不穩(wěn)定,導(dǎo)致固件更新時,固件版本不能下載完全從而導(dǎo)致固件更新失敗,或者,由于對固件進(jìn)行更新的版本與電池的相關(guān)配置不兼容,從而導(dǎo)致固件更新失敗。
相關(guān)技術(shù)中,為了避免固件更新失敗時,固件無法繼續(xù)為電池提供功能服務(wù),提出一種固件內(nèi)部恢復(fù)方法。
具體而言,如圖1所示的電池內(nèi)部存儲器的結(jié)構(gòu)示意圖可知,電池內(nèi)部處理器被分為4個區(qū)域:引導(dǎo)區(qū)、固件區(qū)、備份區(qū)和信息區(qū)。當(dāng)系統(tǒng)上電時,首先運(yùn)行引導(dǎo)程序,引導(dǎo)程序通過保存在信息區(qū)的校驗(yàn)碼對固件區(qū)數(shù)據(jù)進(jìn)行校驗(yàn),如果校驗(yàn)正確則跳轉(zhuǎn)至固件區(qū),執(zhí)行主程序,如果校驗(yàn)不成功,說明上一次固件更新失敗,引導(dǎo)程序會將備份區(qū)數(shù)據(jù)復(fù)制到固件區(qū),然后再跳轉(zhuǎn)至固件區(qū),執(zhí)行程序。
然而,上述內(nèi)部固件恢復(fù)方法中,由于備份區(qū)的數(shù)據(jù)出廠時寫入的,也就說內(nèi)部固件恢復(fù)的固件是最原始的,相當(dāng)于出廠設(shè)置,恢復(fù)后的固件版本較低,版本恢復(fù)性能不高。
為了解決上述問題,本發(fā)明提出了一種電池固件處理方法,具體如下:
圖2是根據(jù)本發(fā)明一個實(shí)施例的電池固件處理方法的流程圖。
如圖2所示,該電池固件處理方法可包括:
S101,獲取系統(tǒng)網(wǎng)絡(luò)中各電池的固件版本信息。
其中,各電池的固件版本信息包括電池的固件版本號,比如版本號為V1.0等,電池的固件版本的更新時間等。
應(yīng)當(dāng)理解的是,根據(jù)具體應(yīng)用需求的不同,可采用不同的方式獲取系統(tǒng)網(wǎng)絡(luò)中各電池的固件版本信息,舉例說明如下:
第一種示例,可在系統(tǒng)網(wǎng)路中,主動向各電池發(fā)送獲取版本信息的請求,從而,各電池在接收該請求后,反饋?zhàn)陨淼墓碳姹拘畔ⅰ?/p>
第二種示例,在系統(tǒng)上電后,各電池主動發(fā)送自身的固件版本信息,從而獲取到各電池主動發(fā)送的固件版本信息。
S102,根據(jù)固件版本信息確定具有目標(biāo)固件版本的第一電池,以及不具有目標(biāo)固件版本的第二電池。
其中,根據(jù)具體應(yīng)用場景的不同,目標(biāo)固件版本可為根據(jù)不同的考量標(biāo)準(zhǔn)設(shè)置的不同的固件版本,比如可以為最新的固件版本、最穩(wěn)定的固件版本、兼容性最高的固件版本等。
下面結(jié)合固件版本分別為最新的固件版本和兼容性最高的固件版本,具體說明如何根據(jù)固件版本信息確定第一電池和第二電池的實(shí)施過程,說明如下:
作為一種實(shí)現(xiàn)方式,目標(biāo)固件版本信息可以為最新的固件版本信息,在實(shí)際應(yīng)用中,通常版本較新的固件版本,是相關(guān)技術(shù)人員根據(jù)原先的固件版本進(jìn)行的升級,相較于版本較低的固件版本的功能更加豐富,能更好的滿足電池的相關(guān)功能需求。
因而,在電池的固件更新失敗時,如果將固件版本替換為,上述獲取的各電池的固件版本信息中最新的固件版本信息,不但會對固件信息進(jìn)行恢復(fù),還會提高該固件版本的性能。
具體而言,在本示例中,為了提高固件恢復(fù)效率,僅僅針對固件版本不是最新的固件版本的電池,進(jìn)行最新的固件版本的寫入,在獲取固件版本信息后,對獲取的各電池的固件版本信息進(jìn)行比較,確定出具有目標(biāo)固件版本的第一電池,以及不具有目標(biāo)固件版本的第二電池。
也就是說,在本實(shí)施例中,將目標(biāo)固件版本設(shè)置為最新的固件版本,是為了保證將當(dāng)前系統(tǒng)運(yùn)行網(wǎng)絡(luò)中的電池,同步為通常擁有能夠提供最好功能服務(wù)的最新固件版本的信息。
作為另一種實(shí)現(xiàn)方式,目標(biāo)版本信息也可以是兼容性最高的固件版本,在實(shí)際應(yīng)用中,系統(tǒng)網(wǎng)絡(luò)中的電池的硬件配置可能不相同,有些電池不具有執(zhí)行最新固件版本信息的硬件裝置等,兼顧性最高的固件版本的兼容性較強(qiáng),對電池的硬件裝置要求低,具有較強(qiáng)的通用性。
具體而言,在本示例中,為了提高固件恢復(fù)效率,僅僅針對固件版本不是兼容性最高的固件版本的電池,進(jìn)行兼容性最高的固件版本的寫入,在獲取固件版本信息后,對獲取的各電池的固件版本信息進(jìn)行比較,確定出具有目標(biāo)固件版本的第一電池,以及不具有目標(biāo)固件版本的第二電池。S103,將第二電池中的固件版本更新為目標(biāo)固件版本。
具體地,在確定具有目標(biāo)固件版本第一電池后,將第二電池中的固件版本更新為目標(biāo)固件版本,由此,在對第二電池的固件版本進(jìn)行恢復(fù)時,使用其所在系統(tǒng)網(wǎng)絡(luò)中,其他電池中最新版本的固件版本信息、兼容性最高的固件版本信息等進(jìn)行固件恢復(fù),而不是其備份區(qū)域中存儲的固件版本數(shù)據(jù),不僅實(shí)現(xiàn)了固件版本的恢復(fù),還提高了寫入固件版本的性能。
具體而言,可將第一電池中的固件版本信息進(jìn)行復(fù)制,并寫入到第二電池的固件區(qū),以完成對第二電池中的固件版本的更新。
需要說明的是,將第二電池中的固件版本更新為目標(biāo)固件版本的具體實(shí)施步驟,參照以下結(jié)合圖3和圖5的描述,此處不進(jìn)行詳細(xì)說明。
綜上所述,本發(fā)明實(shí)施例的電池固件處理方法,獲取系統(tǒng)網(wǎng)絡(luò)中各電池的固件版本信息,根據(jù)固件版本信息確定具有目標(biāo)固件版本的第一電池,以及不具有目標(biāo)固件版本的第二電池,進(jìn)而將第二電池中的固件版本更新為目標(biāo)固件版本。由此,保證了系統(tǒng)網(wǎng)絡(luò)中的多個電池的固件版本的同步,且同步為多個電池的固件版本中的目標(biāo)固件版本,提高了固件恢復(fù)的效率和性能。
基于以上實(shí)施例,需要說明的是,根據(jù)具體應(yīng)用場景的不同,將第二電池中的固件版本更新為目標(biāo)固件版本的方式不同,為了更加清楚的說明本發(fā)明實(shí)施例的電池固件處理方法,下面以電池固件處理方法分別應(yīng)用于第一電池中和管理器中為例,結(jié)合其將第二電池中的固件版本更新為目標(biāo)固件版本的具體實(shí)施過程,對本發(fā)明電池固件處理方法進(jìn)行舉例說明,說明如下:
下面首先以電池固件處理方法應(yīng)用于第一電池中進(jìn)行說明,說明如下:
圖3是根據(jù)本發(fā)明另一個實(shí)施例的電池固件處理方法的流程圖,如圖3所示,該電池固件處理方法包括:
S201,獲取系統(tǒng)網(wǎng)絡(luò)中各電池的固件版本信息。
具體地,由于本發(fā)明的電池固件處理方法的執(zhí)行主體是電池,因而,可由系統(tǒng)網(wǎng)絡(luò)中的各個電池互相交換彼此的固件版本信息,從而每個電池可獲取系統(tǒng)網(wǎng)絡(luò)中各電池的固件版本信息。
其中,由于多個電池互相連接在一起形成組網(wǎng)進(jìn)行通信,因而,多個電池之間通過CAN總線、RS485總線,或者其它類型的差分信號總線進(jìn)行通信。
舉例而言,如圖4所示,系統(tǒng)網(wǎng)絡(luò)中包括電池A、B和C,電池A獲取自身的固件版本信息后,通過與電池B和C進(jìn)行信息交互,獲取電池B和C的固件版本信息,基于同樣的原理,電池B和C分別也可獲取電池A、B和C的固件版本信息。
S202,根據(jù)固件版本信息確定具有目標(biāo)固件版本的第一電池,以及不具有目標(biāo)固件版本的第二電池。
具體地,在獲取系統(tǒng)網(wǎng)絡(luò)中各電池的固件版本信息后,對各個固件版本信息進(jìn)行比較,確定出具有目標(biāo)固件版本的第一電池,以及不具有目標(biāo)固件版本的第二電池。
為了更加清楚的說明如何根據(jù)固件版本信息確定第一電池和第二電池,下面以目標(biāo)固件版本是最新的固件版本,舉例說明:
具體而言,由于固件版本信息可包括固件版本號、固件版本出產(chǎn)日期等,因而,確定系統(tǒng)網(wǎng)絡(luò)中的第一電池和第二電池的方式不同,舉例說明如下:
作為一種實(shí)現(xiàn)方式,當(dāng)固件版本信息包括固件版本號時,比較各電池的固件版本號,確定出最新固件版本號,將最新固件版本號對應(yīng)的電池作為第一電池,將不具有該最新固件版本號的電池作為第二電池。
在本示例中,舉例而言,當(dāng)獲取到電池A、B和C的固件版本號分別為V1.2、V1.6和V1.3,則確定最新固件版本號為V1.6,從而將電池B作為第一電池,將電池A和C作為第二電池。
作為另一種實(shí)現(xiàn)方式,當(dāng)固件版本信息包括固件版本出產(chǎn)日期時,比較各電池的固件版本出產(chǎn)日期,確定出最新固件版本號,將最新固件版本號對應(yīng)的電池作為第一電池,將不具有該最新固件版本號的電池作為第二電池。
在本示例中,舉例而言,當(dāng)獲取到電池A、B和C的固件版本出產(chǎn)日期分別為2006年11月、2007年11月和2013年11月,則確定最新固件版本出產(chǎn)日期為2013年11月,從而將電池C作為第一電池,將電池A和B作為第二電池。
S203,控制第一電池進(jìn)入引導(dǎo)程序,并向第二電池發(fā)送引導(dǎo)程序操作指令。
具體地,由于電池只有處于引導(dǎo)程序中,才能對固件進(jìn)行讀寫操作,因而,為了對第一電池以及第二電池之間的固件區(qū)進(jìn)行讀寫操作,控制第一電池進(jìn)入引導(dǎo)程序,并向第二電池發(fā)送引導(dǎo)程序操作指令。
S204,從第一電池的固件區(qū)中復(fù)制目標(biāo)固件版本的數(shù)據(jù)到第二電池的固件區(qū)。
S205,向第二電池發(fā)送重啟指令,以便第二電池重啟后進(jìn)入固件程序。
具體地,由于第一電池處于可讀寫的引導(dǎo)程序,因而從第一電池的固件區(qū)中,復(fù)制目標(biāo)固件版本的數(shù)據(jù)到第二電池的固件區(qū),從而第二電池的固件區(qū)中具有目標(biāo)固件版本。
進(jìn)而,通過向第二電池發(fā)送重啟指令,以使得第二電池在重啟過程中,完成對目標(biāo)固件版本的加載,并在重啟后進(jìn)入固件程序,其中,固件程序下的固件區(qū)不可讀寫,避免固件區(qū)域被惡意進(jìn)程修改,保證了第二電池的系統(tǒng)安全。
其中,需要說明的是,為了避免第一電池被惡意進(jìn)程修改,在完成對第一電池的中固件版本的數(shù)據(jù)復(fù)制后,還可控制第一電池重啟進(jìn)入固件程序。
下面以電池固件處理方法應(yīng)用于管理器中進(jìn)行說明,說明如下:
圖5是根據(jù)本發(fā)明又一個實(shí)施例的電池固件處理方法的流程圖,如圖5所示,該電池固件處理方法包括:
S301,獲取系統(tǒng)網(wǎng)絡(luò)中各電池的固件版本信息。
具體地,由于本發(fā)明的電池固件處理方法的執(zhí)行主體,是獨(dú)立于電池設(shè)置的管理器,因而,可由管理器獲取系統(tǒng)網(wǎng)絡(luò)中各電池的固件版本信息。
比如,管理器向系統(tǒng)網(wǎng)絡(luò)中的各個電池發(fā)送獲取固件版本信息的請求,以便多個電池根據(jù)該請求反饋各電池的固件版本信息。
又比如,可在系統(tǒng)網(wǎng)絡(luò)上電后,多個電池實(shí)時向管理器上報固件版本信息。
其中,由于多個電池和管理器互相連接在一起形成組網(wǎng)進(jìn)行通信,因而,多個電池和管理器之間通過CAN(Controller Area Network,控制器局域網(wǎng))總線、RS485總線,或者其它類型的差分信號總線進(jìn)行通信。
S302,根據(jù)固件版本信息確定具有目標(biāo)固件版本的第一電池,以及不具有目標(biāo)固件版本的第二電池。
具體地,在獲取系統(tǒng)網(wǎng)絡(luò)中各電池的固件版本信息后,對各個固件版本信息進(jìn)行比較,確定出具有目標(biāo)固件版本的第一電池,以及不具有目標(biāo)固件版本的第二電池。
為了更加清楚的說明如何根據(jù)固件版本信息確定第一電池和第二電池,下面以目標(biāo)固件版本是最新的固件版本,舉例說明:
具體而言,由于固件版本信息可包括固件版本號、固件版本出產(chǎn)日期等,因而,確定系統(tǒng)網(wǎng)絡(luò)中的第一電池和第二電池的方式不同,舉例說明如下:
作為一種實(shí)現(xiàn)方式,當(dāng)固件版本信息包括固件版本號時,比較各電池的固件版本號,確定出最新固件版本號,將最新固件版本號對應(yīng)的電池作為第一電池,將不具有該最新固件版本號的電池作為第二電池。
作為另一種實(shí)現(xiàn)方式,當(dāng)固件版本信息包括固件版本出產(chǎn)日期時,比較各電池的固件版本出產(chǎn)日期,確定出最新固件版本號,將最新固件版本號對應(yīng)的電池作為第一電池,將不具有該最新固件版本號的電池作為第二電池。
S303,向第一電池發(fā)送引導(dǎo)程序操作指令,并從第一電池中獲取目標(biāo)固件版本,且存儲在管理器的內(nèi)存中。
具體地,為了得到第一電池對應(yīng)的目標(biāo)固件版本,向第一電池發(fā)送引導(dǎo)程序操作指令,以使得第一電池進(jìn)入可讀寫模式,從而從第一電池中獲取目標(biāo)固件版本,并存儲在管理器的內(nèi)存中。
其中,需要說明的是,為了避免第一電池被惡意進(jìn)程修改,在完成對第一電池的中目標(biāo)固件版本的數(shù)據(jù)復(fù)制后,還可控制第一電池重啟進(jìn)入固件程序,其中,固件程序下的固件區(qū)不可讀寫。
S304,向第二電池發(fā)送引導(dǎo)程序操作指令,進(jìn)而將目標(biāo)固件版本的數(shù)據(jù)寫入到第二電池的固件區(qū)。
具體地,為了將目標(biāo)固件版本寫入第二電池,向第二電池發(fā)送引導(dǎo)程序操作指令,以使得第二電池進(jìn)入可讀寫狀態(tài),從而將目標(biāo)固件版本的數(shù)據(jù)寫入到第二電池的固件區(qū)。
S305,向第二電池發(fā)送重啟指令,以便第二電池重啟后進(jìn)入固件程序。
具體地,通過向第二電池發(fā)送重啟指令,以使得第二電池在重啟過程中,完成對目標(biāo)固件版本的加載,并在重啟后進(jìn)入固件程序,其中,固件程序下的固件區(qū)不可讀寫,避免固件區(qū)被惡意進(jìn)程修改,保證了第二電池的系統(tǒng)安全。
綜上所述,本發(fā)明實(shí)施例的電池固件處理方法,根據(jù)應(yīng)用場景的不同,以不同的方式將第二電池中的固件版本更新為目標(biāo)固件程序,由此,將第二電池中的固件版本同步為目標(biāo)固件版本信息,提高了固件恢復(fù)的效率和性能。
為實(shí)現(xiàn)上述目的,本發(fā)明還提出一種電池固件處理裝置。
圖6是根據(jù)本發(fā)明一個實(shí)施例的電池固件處理裝置的結(jié)構(gòu)示意圖。
如圖6所示,電池固件處理裝置可包括:第一獲取模塊110、第一確定模塊120和第一處理模塊130。
其中,第一獲取模塊110,用于獲取系統(tǒng)網(wǎng)絡(luò)中各電池的固件版本信息。
第一確定模塊120,用于根據(jù)固件版本信息確定具有目標(biāo)固件版本的第一電池,以及不具有目標(biāo)固件版本的第二電池。
第一處理模塊130,用于將第二電池中的固件版本更新為目標(biāo)固件版本。
需要說明的是,前述描述的電池固件處理方法也適用于本發(fā)明實(shí)施例的電池固件處理裝置,本發(fā)明電池固件處理裝置實(shí)施例中未披露的細(xì)節(jié),在此不再贅述。
綜上所述,本發(fā)明實(shí)施例的電池固件處理裝置,獲取系統(tǒng)網(wǎng)絡(luò)中各電池的固件版本信息,根據(jù)固件版本信息確定具有目標(biāo)固件版本的第一電池,以及不具有目標(biāo)固件版本的第二電池,進(jìn)而將第二電池中的固件版本更新為目標(biāo)固件版本。由此,保證了系統(tǒng)網(wǎng)絡(luò)中的多個電池的固件版本的同步,且同步為多個電池的固件版本中的目標(biāo)固件版本,提高了固件恢復(fù)的效率和性能。
圖7是根據(jù)本發(fā)明另一個實(shí)施例的電池固件處理裝置的結(jié)構(gòu)示意圖。如圖7所示,在如圖6所示的基礎(chǔ)上,第一處理模塊130包括第一控制單元131、第一發(fā)送單元132和第一復(fù)制單元133。
其中,第一控制單元131,用于控制第一電池進(jìn)入引導(dǎo)程序。
第一發(fā)送單元132,用于向第二電池發(fā)送引導(dǎo)程序操作指令。
第一復(fù)制單元133,用于從第一電池的固件區(qū)中復(fù)制目標(biāo)固件版本的數(shù)據(jù)到第二電池的固件區(qū)。
進(jìn)一步地,第一發(fā)送單元132向第二電池發(fā)送重啟指令,以便第二電池重啟后進(jìn)入固件程序。
第一控制單元131用于控制第一電池重啟進(jìn)入固件程序。
圖8是根據(jù)本發(fā)明又一個實(shí)施例的電池固件處理裝置的結(jié)構(gòu)示意圖。如圖8所示,在如圖6所示的基礎(chǔ)上,第一處理模塊130包括第二發(fā)送單元134、第一存儲單元135和第一寫入單元136。
其中,第二發(fā)送單元134,用于向第一電池發(fā)送引導(dǎo)程序操作指令。
第一存儲單元135,用于從第一電池中獲取目標(biāo)固件版本,且存儲在管理器的內(nèi)存中。
在本實(shí)施例中,第二發(fā)送單元134還用于向第二電池發(fā)送引導(dǎo)程序操作指令。
第一寫入單元136,用于將目標(biāo)固件版本的數(shù)據(jù)寫入到第二電池的固件區(qū)。
在本實(shí)施例中,第二發(fā)送單元134還用于向第二電池發(fā)送重啟指令,以便第二電池重啟后進(jìn)入固件程序,以及向第一電池發(fā)送重啟指令,以便第一電池重啟后進(jìn)入固件程序。
需要說明的是,前述描述的電池固件處理方法也適用于本發(fā)明實(shí)施例的電池固件處理裝置,本發(fā)明電池固件處理裝置實(shí)施例中未披露的細(xì)節(jié),在此不再贅述。
綜上所述,本發(fā)明實(shí)施例的電池固件處理裝置,根據(jù)應(yīng)用場景的不同,以不同的方式將第二電池中的固件版本更新為目標(biāo)固件程序,由此,將第二電池中的固件版本同步為最新固件版本信息,提高了固件恢復(fù)的效率和性能。
為了實(shí)現(xiàn)上述實(shí)施例,本發(fā)明還提出了一種充電柜系統(tǒng),圖9(a)是根據(jù)本發(fā)明一個實(shí)施例的充電柜系統(tǒng)的結(jié)構(gòu)示意圖,如圖9(a)所示,該充電柜系統(tǒng)包括:電池固件處理裝置1000和多個用于連接電池的充電接口2000,其中,充電柜系統(tǒng)可被安裝在充電柜上,當(dāng)充電接口2000連接電池進(jìn)行充電時,電池的固件開始執(zhí)行固件處理裝置1000對應(yīng)的處理方式,使得相關(guān)電池的固件版本同步為目標(biāo)固件版本。
其中,電池固件處理裝置1000可以位于與充電接口2000連接的多個電池的任一電池中,也可獨(dú)立于電池設(shè)置,(圖9(a)僅示出電池固件處理裝置1000獨(dú)立于多個電池設(shè)置)。
具體而言,當(dāng)充電柜系統(tǒng)的充電接口2000與電池連接以提供充電功能服務(wù)時,固件處理裝置1000獲取系統(tǒng)網(wǎng)絡(luò)中,各電池的固件版本信息,根據(jù)固件版本信息確定具有目標(biāo)固件版本的第一電池,以及不具有目標(biāo)固件版本的第二電池,并將第二電池中的固件版本更新為目標(biāo)固件版本,以完成第二電池的固件版本同步為目標(biāo)固件版本。
其中,為了更加清楚的說明本發(fā)明實(shí)施例的充電柜系統(tǒng)中,電池固件處理裝置1000的詳細(xì)結(jié)構(gòu)示意圖,參照圖9(b)對固件處理裝置1000的結(jié)構(gòu)示意圖進(jìn)行詳細(xì)展示,參照圖9(b),電池固件處理裝置1000包括第二獲取模塊1100、第二確定模塊1200和第二處理模塊1300。
需要說明的是,對本發(fā)明電池固件處理裝置1000的功能描述,可參照上述描述的掛進(jìn)處理方法實(shí)施例,其實(shí)現(xiàn)原理類似,在此不再贅述。
綜上所述,本發(fā)明實(shí)施例的充電柜系統(tǒng),獲取系統(tǒng)網(wǎng)絡(luò)中各電池的固件版本信息,根據(jù)固件版本信息確定具有目標(biāo)固件版本的第一電池,以及不具有目標(biāo)固件版本的第二電池,進(jìn)而將第二電池中的固件版本更新為目標(biāo)固件版本。由此,保證了系統(tǒng)網(wǎng)絡(luò)中的多個電池的固件版本的同步,且同步為多個電池的固件版本中的目標(biāo)固件版本,提高了固件恢復(fù)的效率和性能。
基于以上實(shí)施例,需要說明的是,根據(jù)具體應(yīng)用場景的不同,電池固件處理裝置1000可被設(shè)置于不同位置,下面分別以電池固件處理裝置1000被設(shè)置于第一電池中,以及被設(shè)置于獨(dú)立與電池的裝置中進(jìn)行說明,說明如下:
圖10(a)是根據(jù)本發(fā)明另一個實(shí)施例的充電柜系統(tǒng)的結(jié)構(gòu)示意圖,如圖10所示,多個電池通過差分信號總線連接,即充電柜系統(tǒng)還包括還包括用于連接多個電池的第一差分信號總線。每個電池2000中設(shè)置有電池固件處理裝置1000,需要說明的是,多個電池通過與充電口2000相連進(jìn)行充電(圖中未示出)。
且為了便于描述,通過圖10(b)示出本實(shí)施例中電池固件處理裝置1000的詳細(xì)結(jié)構(gòu)示意圖,參見圖10(b),在如圖9(b)所述的電池固件處理裝置1000的基礎(chǔ)上,電池固件處理裝置1000中的第二處理模塊1300包括:第二控制單元1310、第三發(fā)送單元1320和第二復(fù)制單元1330。
其中,第二控制單元1310,用于控制第一電池進(jìn)入引導(dǎo)程序。
第三發(fā)送單元1320,用于向第二電池發(fā)送引導(dǎo)程序操作指令。
第二復(fù)制單元1330,用于從第一電池的固件區(qū)中復(fù)制目標(biāo)固件版本的數(shù)據(jù)到第二電池的固件區(qū)。
在本發(fā)明的一個實(shí)施例中,第三發(fā)送單元1320,用于向第二電池發(fā)送重啟指令,以便第二電池重啟后進(jìn)入固件程序。
為了更加清楚的說明本發(fā)明實(shí)施例的充電柜系統(tǒng),下面結(jié)合具體的應(yīng)用場景進(jìn)行舉例說明,在該示例中,目標(biāo)固件版本信息是最新的固件版本信息,圖11是根據(jù)本發(fā)明一個實(shí)施例的充電柜系統(tǒng)的場景示意圖,在圖11中,包括電池A和電池B,目標(biāo)固件版本信息包括固件版本號,電池之間通過CAN總線相連。
具體而言,在具體實(shí)施過程中,將電池A與電池B的通過CAN總線連接在一起,從而,電池A與電池B通過CAN總線通信,互相交換版本信號。
版本號高的電池作為主機(jī),將版本號低的電池作為從機(jī),由于電池A的固件版本為V1.1,電池B的固件版本為V1.0,電池A的版本號比較高,所以電池A作為主機(jī)。
進(jìn)一步地,電池A自動進(jìn)入引導(dǎo)程序,同時發(fā)送進(jìn)入引導(dǎo)程序命令到電池B,使電池B也進(jìn)入引導(dǎo)程序,電池A復(fù)制自己固件區(qū)的目標(biāo)固件版本數(shù)據(jù)到電池B的固件區(qū),完成整個固件升級過程。
更進(jìn)一步地,為了保護(hù)電池的安全,電池A發(fā)送重啟命令給電池B,讓電池B重啟,進(jìn)入固件程序,之后電池A重啟,進(jìn)入固件程序,由此電池B的固件版本同步為V1.1。
需要說明的是,對本發(fā)明電池固件處理裝置1000的功能描述,可參照上述描述的電池固件處理方法實(shí)施例,其實(shí)現(xiàn)原理類似,在此不再贅述。
圖12(a)是根據(jù)本發(fā)明又一個實(shí)施例的充電柜系統(tǒng)的結(jié)構(gòu)示意圖,如圖12(a)所示,充電柜系統(tǒng)還包括管理器3000,以及用于連接管理器3000和多個電池的第二差分信號總線。管理器3000中設(shè)置有電池固件處理裝置1000。也就是說,多個電池與充電接口2000連接后,通過差分信號總線與管理器3000連接(圖中未示出)。
且為了便于描述,通過圖12(b)示出本實(shí)施例中電池固件處理裝置1000的詳細(xì)結(jié)構(gòu)示意圖,參見圖12(b),在如圖9(b)所述的電池固件處理裝置1000的基礎(chǔ)上,第二處理模塊1300還包括第四發(fā)送單元1340、第二存儲單元1350和第二寫入單元1360。
其中,第四發(fā)送單元1340,用于向第一電池發(fā)送引導(dǎo)程序操作指令。
第二存儲單元1350,用于從第一電池中獲取目標(biāo)固件版本,且存儲在管理器的內(nèi)存中。
進(jìn)一步地,第四發(fā)送單元1340還用于向第二電池發(fā)送引導(dǎo)程序操作指令。
第二寫入單元1360,用于將目標(biāo)固件版本的數(shù)據(jù)寫入到第二電池的固件區(qū)。
在本實(shí)施例中,第四發(fā)送單元1340還用于向第二電池發(fā)送重啟指令,以便第二電池重啟后進(jìn)入固件程序。
為了更加清楚的說明本發(fā)明實(shí)施例的充電柜系統(tǒng),下面結(jié)合具體的應(yīng)用場景進(jìn)行舉例說明,在該示例中,目標(biāo)固件信息是最新的固件信息,圖13是根據(jù)本發(fā)明另一個實(shí)施例的充電柜系統(tǒng)的場景示意圖,在圖13中,包括電池A、電池B和電池C等,目標(biāo)固件版本信息包括固件版本號,電池之間通過CAN總線相連。
具體而言,在實(shí)際執(zhí)行過程中,管理器實(shí)時獲取系統(tǒng)網(wǎng)絡(luò)中的所有電池的版本號,并找出其中固件版本號最新的電池,本實(shí)施例中,電池C的固件版本號為V1.6,比其他電池的固定版本都要新,因此,最新的固件版本即目標(biāo)固件版本對應(yīng)的電池是電池C。
進(jìn)一步地,管理器向電池C發(fā)送引導(dǎo)程序操作指令,讓電池C進(jìn)入引導(dǎo)程序,以便管理器從電池C中讀取固件區(qū)中存儲的目標(biāo)固件版本信息,并存儲在管理器的內(nèi)存中,隨后發(fā)送重啟指令讓電池C重啟,進(jìn)入固件程序,至此,電池C中的目標(biāo)固件版本(V1.6版本)信息,已經(jīng)復(fù)制到了管理器中。
更進(jìn)一步地,管理器充當(dāng)主機(jī),將電池A、電池B的固件版本,全部升級為V1.6版本,即管理器控制電池A進(jìn)入引導(dǎo)程序,然后將V1.6固件版本信息寫入到電池A中,重啟電池A,以使得電池A的固件版本更新為V1.6固件版本,對電池B也是一樣的處理,在此不再贅述。
需要說明的是,對本發(fā)明電池固件處理裝置1000的功能描述,可參照上述描述的掛進(jìn)處理方法實(shí)施例,其實(shí)現(xiàn)原理類似,在此不再贅述。
綜上所述,本發(fā)明實(shí)施例的充電柜系統(tǒng),根據(jù)應(yīng)用場景的不同,以不同的方式將第二電池中的固件版本更新為目標(biāo)固件程序,由此,將第二電池中的固件版本同步為目標(biāo)固件版本信息,提高了固件恢復(fù)的效率和性能。
在本說明書的描述中,參考術(shù)語“一個實(shí)施例”、“一些實(shí)施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實(shí)施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)包含于本發(fā)明的至少一個實(shí)施例或示例中。在本說明書中,對上述術(shù)語的示意性表述不必須針對的是相同的實(shí)施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)可以在任一個或多個實(shí)施例或示例中以合適的方式結(jié)合。此外,在不相互矛盾的情況下,本領(lǐng)域的技術(shù)人員可以將本說明書中描述的不同實(shí)施例或示例以及不同實(shí)施例或示例的特征進(jìn)行結(jié)合和組合。
盡管上面已經(jīng)示出和描述了本發(fā)明的實(shí)施例,可以理解的是,上述實(shí)施例是示例性的,不能理解為對本發(fā)明的限制,本領(lǐng)域的普通技術(shù)人員在本發(fā)明的范圍內(nèi)可以對上述實(shí)施例進(jìn)行變化、修改、替換和變型。