本技術(shù)涉及軟件升級(jí),尤其涉及一種軟件包完整性校驗(yàn)方法、設(shè)備及存儲(chǔ)介質(zhì)。
背景技術(shù):
1、軟件包完整性是指軟件包在傳輸或存儲(chǔ)過(guò)程中沒(méi)有被篡改或損壞的狀態(tài),保持軟件包完整性對(duì)于確保安全性和可靠性非常重要。目前常規(guī)的完整性驗(yàn)證方法是,ecu開(kāi)發(fā)供應(yīng)商將軟件包抽幀處理后發(fā)給主機(jī)廠,主機(jī)廠通過(guò)診斷儀測(cè)試,若軟件包不完整會(huì)導(dǎo)致軟件升級(jí)功能測(cè)試失敗。該軟件包的處理方式過(guò)度依賴ecu供應(yīng)商,往往無(wú)法立即響應(yīng)主機(jī)廠的完整性需求,致使其檢驗(yàn)測(cè)試效率底。
技術(shù)實(shí)現(xiàn)思路
1、為克服相關(guān)技術(shù)中存在的問(wèn)題,本說(shuō)明書(shū)提供了方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)。
2、根據(jù)本說(shuō)明書(shū)實(shí)施例的第一方面,提供一種方法,應(yīng)用于具有診斷功能的設(shè)備,所述方法包括:
3、接收用于車輛的電子控制單元ecu升級(jí)的軟件包,基于所述軟件包的信息確定用于升級(jí)的目標(biāo)ecu;
4、對(duì)與所述具有診斷功能的設(shè)備通信連接的中央網(wǎng)關(guān)配置的緩存功能處于關(guān)閉的情況下進(jìn)行緩存測(cè)試,以使所述中央網(wǎng)關(guān)測(cè)試通過(guò)后,在開(kāi)啟所述中央網(wǎng)關(guān)的緩存功能的情況下,由所述中央網(wǎng)關(guān)將所述軟件包轉(zhuǎn)發(fā)給所述目標(biāo)ecu;
5、若接收到所述目標(biāo)ecu基于所述軟件包升級(jí)成功的反饋,則確定所述軟件包具有完整性。
6、根據(jù)本技術(shù)提供的一種軟件包完整性校驗(yàn)方法,所述方法還包括:
7、通過(guò)對(duì)所述中央網(wǎng)關(guān)進(jìn)行配置字處理;其中,所述配置字的不同參數(shù)與所述緩存功能的狀態(tài)具有映射關(guān)系,以分別控制所述中央網(wǎng)關(guān)的緩存功能的開(kāi)啟與關(guān)閉。
8、根據(jù)本技術(shù)提供的一種軟件包完整性校驗(yàn)方法,所述通過(guò)對(duì)所述中央網(wǎng)關(guān)進(jìn)行配置字處理,包括:
9、在所述車輛的診斷儀與所述中央網(wǎng)關(guān)通信的情況下,確定所述緩存功能對(duì)應(yīng)的配置字;
10、確定所述配置字中用于表示緩存功能的開(kāi)啟和關(guān)閉的位置位,并對(duì)所述位置位進(jìn)行相應(yīng)修改;其中,所述位置位設(shè)置為第一值時(shí),控制所述緩存功能關(guān)閉,所述位置位設(shè)置為第二值時(shí),控制所述緩存功能開(kāi)啟;
11、將修改后的配置字應(yīng)用于所述中央網(wǎng)關(guān)上,以使所述中央網(wǎng)關(guān)基于所述修改后的配置字控制所述緩存功能的開(kāi)啟與關(guān)閉。
12、根據(jù)本技術(shù)提供的一種軟件包完整性校驗(yàn)方法,所述對(duì)與所述具有診斷功能的設(shè)備通信連接的中央網(wǎng)關(guān)配置的緩存功能處于關(guān)閉的情況下進(jìn)行緩存測(cè)試,包括:
13、向所述中央網(wǎng)關(guān)發(fā)送所述軟件包,以使所述中央網(wǎng)關(guān)將所述軟件包轉(zhuǎn)發(fā)給所述目標(biāo)ecu;其中,所述中央網(wǎng)關(guān)的轉(zhuǎn)發(fā)速率小于所述目標(biāo)ecu的傳輸速率閾值,當(dāng)所述緩存功能的位置位為第一值時(shí),所述目標(biāo)ecu接收到的軟件包為丟棄所述中央網(wǎng)關(guān)未實(shí)時(shí)轉(zhuǎn)發(fā)的第一數(shù)據(jù)幀后的第一軟件包;
14、接收所述目標(biāo)ecu基于所述第一軟件包進(jìn)行升級(jí)處理后反饋的升級(jí)結(jié)果,基于所述升級(jí)結(jié)果確定所述緩存測(cè)試的結(jié)果。
15、根據(jù)本技術(shù)提供的一種軟件包完整性校驗(yàn)方法,所述基于所述升級(jí)結(jié)果確定所述緩存測(cè)試的結(jié)果,包括:
16、若所述升級(jí)結(jié)果為升級(jí)失敗,確定所述緩存測(cè)試的結(jié)果為測(cè)試通過(guò);
17、若所述升級(jí)結(jié)果為升級(jí)成功,確定所述緩存測(cè)試的結(jié)果為測(cè)試不通過(guò)。
18、根據(jù)本技術(shù)提供的一種軟件包完整性校驗(yàn)方法,所述中央網(wǎng)關(guān)測(cè)試通過(guò)后,在開(kāi)啟所述中央網(wǎng)關(guān)的緩存功能的情況下,由所述中央網(wǎng)關(guān)將所述軟件包轉(zhuǎn)發(fā)給所述目標(biāo)ecu,包括:
19、所述中央網(wǎng)關(guān)測(cè)試通過(guò)后,向所述中央網(wǎng)關(guān)發(fā)送所述軟件包,以使所述中央網(wǎng)關(guān)將所述軟件包轉(zhuǎn)發(fā)給所述目標(biāo)ecu;其中,當(dāng)所述緩存功能的位置位為第二值時(shí),基于所述中央網(wǎng)關(guān)的緩存功能將所述軟件包中的所有數(shù)據(jù)幀保存于所述緩存功能對(duì)應(yīng)的緩存隊(duì)列中,從所述緩存隊(duì)列向所述目標(biāo)ecu轉(zhuǎn)發(fā)所述數(shù)據(jù)幀;
20、若接收到所述目標(biāo)ecu基于所述軟件包升級(jí)成功的反饋,則確定所述軟件包具有完整性,包括:
21、接收所述目標(biāo)ecu基于所述中央網(wǎng)關(guān)轉(zhuǎn)發(fā)的軟件包進(jìn)行升級(jí)處理后反饋的升級(jí)結(jié)果,若接收到所述目標(biāo)ecu基于所述軟件包升級(jí)成功的反饋,則確定所述軟件包具有完整性。
22、根據(jù)本技術(shù)提供的一種軟件包完整性校驗(yàn)方法,所述通過(guò)對(duì)所述中央網(wǎng)關(guān)進(jìn)行配置字處理之前,所述方法還包括:
23、對(duì)用于對(duì)所述中央網(wǎng)關(guān)進(jìn)行配置字操作的具有診斷功能的設(shè)備進(jìn)行服務(wù)安全認(rèn)證;
24、認(rèn)證通過(guò)后,執(zhí)行對(duì)所述中央網(wǎng)關(guān)進(jìn)行配置字處理的步驟。
25、根據(jù)本說(shuō)明書(shū)實(shí)施例的第二方面,提供一種方法,應(yīng)用于中央網(wǎng)關(guān),所述方法包括:
26、在接收到對(duì)所述中央網(wǎng)關(guān)的緩存功能進(jìn)行測(cè)試的測(cè)試通過(guò)的結(jié)果后,控制所述中央網(wǎng)關(guān)的緩存功能開(kāi)啟;其中,所述測(cè)試通過(guò)的結(jié)果是由具有診斷功能的設(shè)備在控制所述中央網(wǎng)關(guān)的緩存功能關(guān)閉的情況下,基于用于車輛的電子控制單元ecu升級(jí)的軟件包,對(duì)所述中央網(wǎng)關(guān)進(jìn)行緩存測(cè)試得到的;由所述軟件包的信息確定用于升級(jí)的目標(biāo)ecu;
27、將所述軟件包轉(zhuǎn)發(fā)給所述目標(biāo)ecu,以使所述目標(biāo)ecu基于所述軟件包進(jìn)行升級(jí)處理;
28、將所述目標(biāo)ecu升級(jí)處理后反饋的升級(jí)結(jié)果轉(zhuǎn)發(fā)給所述具有診斷功能的設(shè)備,以使所述具有診斷功能的設(shè)備根據(jù)所述升級(jí)結(jié)果確定所述軟件包的完整性。
29、根據(jù)本技術(shù)提供的一種軟件包完整性校驗(yàn)方法,所述將所述軟件包轉(zhuǎn)發(fā)給所述目標(biāo)ecu,以使所述目標(biāo)ecu基于所述軟件包進(jìn)行升級(jí)處理,包括:
30、基于所述中央網(wǎng)關(guān)的緩存功能將所述軟件包中的所有數(shù)據(jù)幀保存于所述緩存功能對(duì)應(yīng)的緩存隊(duì)列中,轉(zhuǎn)發(fā)所述緩存隊(duì)列中的所述數(shù)據(jù)幀給所述目標(biāo)ecu,以使所述目標(biāo)ecu基于所述軟件包進(jìn)行升級(jí)處理。
31、根據(jù)本技術(shù)提供的一種軟件包完整性校驗(yàn)方法,所述轉(zhuǎn)發(fā)所述緩存隊(duì)列中的所述數(shù)據(jù)幀給所述目標(biāo)ecu,包括:
32、按照所述軟件包中數(shù)據(jù)幀在所述緩存隊(duì)列中緩存時(shí)的特定順序,從所述緩存隊(duì)列中轉(zhuǎn)發(fā)所述數(shù)據(jù)幀給所述目標(biāo)ecu。
33、本技術(shù)還提供一種軟件包完整性校驗(yàn)設(shè)備,包括存儲(chǔ)器、處理器及存儲(chǔ)在存儲(chǔ)器上并可在處理器上運(yùn)行的計(jì)算機(jī)程序,所述處理器執(zhí)行所述程序時(shí)實(shí)現(xiàn)如上述任一種所述軟件包完整性校驗(yàn)方法。
34、本技術(shù)還提供一種非暫態(tài)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,該計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如上述任一種所述軟件包完整性校驗(yàn)方法。
35、本說(shuō)明書(shū)實(shí)施例中軟件包完整性校驗(yàn)方法、設(shè)備及存儲(chǔ)介質(zhì),接收用于車輛的電子控制單元ecu升級(jí)的軟件包,基于所述軟件包的信息確定用于升級(jí)的目標(biāo)ecu;對(duì)所述中央網(wǎng)關(guān)配置的緩存功能處于關(guān)閉的情況下實(shí)現(xiàn)對(duì)軟件包抽幀處理,并進(jìn)行緩存測(cè)試,路由軟件包丟幀功能可立即實(shí)現(xiàn),靈活且快速驗(yàn)證緩存功能的性能是否滿足預(yù)期,達(dá)到預(yù)期效果。在測(cè)試通過(guò)后,利用中央網(wǎng)關(guān)的緩存功能開(kāi)啟的狀態(tài)將軟件轉(zhuǎn)發(fā)給目標(biāo)ecu,確保對(duì)軟件包傳輸?shù)耐暾裕繕?biāo)ecu基于傳輸?shù)能浖M(jìn)行升級(jí)處理,最終實(shí)現(xiàn)軟件包的完整性校驗(yàn),該過(guò)程無(wú)需過(guò)度依賴供應(yīng)商對(duì)軟件包的處理,可立即響應(yīng)主機(jī)廠的需求,提高校驗(yàn)測(cè)試效率。
36、應(yīng)當(dāng)理解的是,以上的一般描述和后文的細(xì)節(jié)描述僅是示例性和解釋性的,并不能限制本說(shuō)明書(shū)。