本發(fā)明涉及車輛軟件程序刷寫,尤其涉及一種程序數(shù)據(jù)雙備份回滾方法、系統(tǒng)、車輛及存儲介質(zhì)。
背景技術(shù):
1、汽車在生活中越來越普遍,隨之而來汽車排放法規(guī)加嚴(yán),ecu控制策略也越來越完善,勢必導(dǎo)致汽車相關(guān)軟件程序文件代碼量增加,目前國六汽車相關(guān)軟件的程序文件已接近20mb。
2、目前針對軟件程序的備份是基于當(dāng)前主芯片的flash中根據(jù)應(yīng)用場景最復(fù)雜軟件代碼大小,劃分出一個對應(yīng)的固定flash作為備份區(qū),備份區(qū)能充分涵蓋程序區(qū)的代碼,在軟件刷寫完成后在備份區(qū)進(jìn)行備份,在下一次刷寫失敗或者程序異常后能夠?qū)浞輩^(qū)完好的程序回滾到程序區(qū)。然而,由于隨著汽車智能化的不斷發(fā)展,軟件程序復(fù)雜度會越來越高,其代碼量也會逐漸增多,如果超過了當(dāng)前程序區(qū)的大小范圍,將會影響到軟件程序備份功能。另一方面,采用外置flash芯片備份當(dāng)前運(yùn)行的程序,但當(dāng)頻繁執(zhí)行刷寫的時候,備份是需要時間的,則將會導(dǎo)致備份區(qū)會出現(xiàn)紊亂的情況,進(jìn)而導(dǎo)致備份區(qū)無法備份到一個穩(wěn)定的有效軟件程序。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明提供了一種程序數(shù)據(jù)雙備份回滾方法、系統(tǒng)、車輛及存儲介質(zhì),以解決目前軟件程序備份受芯片大小限制,同時頻繁刷寫將導(dǎo)致備份紊亂,進(jìn)而使得車輛無法正常運(yùn)行的問題。
2、根據(jù)本發(fā)明的一方面,提供了一種程序數(shù)據(jù)雙備份回滾方法,該程序數(shù)據(jù)雙備份回滾方法包括:
3、在程序存儲區(qū)的待刷寫程序刷寫完成且控制所述待刷寫程序運(yùn)行設(shè)定時間長度后,根據(jù)外置存儲模塊的第一程序備份區(qū)的第一備份標(biāo)識以及第二程序備份區(qū)的第二備份標(biāo)識,確定將所述待刷寫程序的第一備份程序備份至所述第一程序備份區(qū)或?qū)⑺龃懗绦虻牡诙浞莩绦騻浞葜了龅诙绦騻浞輩^(qū);
4、當(dāng)所述程序存儲區(qū)的所述待刷寫程序運(yùn)行異常時,根據(jù)所述第一備份標(biāo)識和所述第二備份標(biāo)識確定將所述第一備份程序或所述第二備份程序回滾至所述程序存儲區(qū),以基于所述第一備份程序或所述第二備份程序進(jìn)行刷寫。
5、可選的,在程序存儲區(qū)的待刷寫程序刷寫完成之后,還包括:
6、若控制所述待刷寫程序無法運(yùn)行超過所述設(shè)定時間長度,則根據(jù)所述第一備份標(biāo)識和所述第二備份標(biāo)識將所述第一備份程序或所述第二備份程序回滾至所述程序存儲區(qū)。
7、可選的,所述第一備份標(biāo)識為記錄所述第一程序備份區(qū)的第一備份次數(shù)的第一備份次數(shù)標(biāo)識,所述第二備份標(biāo)識為記錄所述第一程序備份區(qū)的第二備份次數(shù)的第二備份次數(shù)標(biāo)識;
8、根據(jù)外置存儲模塊的第一程序備份區(qū)的第一備份標(biāo)識以及第二程序備份區(qū)的第二備份標(biāo)識,確定將所述待刷寫程序的第一備份程序備份至所述第一程序備份區(qū)或?qū)⑺龃懗绦虻牡诙浞莩绦騻浞葜了龅诙绦騻浞輩^(qū),包括:
9、若所述第一備份次數(shù)標(biāo)識的所述第一備份次數(shù)小于所述第二備份次數(shù)標(biāo)識的所述第二備份次數(shù),則確定將所述待刷寫程序的第一備份程序備份至所述第一程序備份區(qū),并控制所述第一備份次數(shù)加1;
10、若所述第一備份次數(shù)大于所述第二備份次數(shù),則確定將所述待刷寫程序的第二備份程序備份至所述第二程序備份區(qū),并控制所述第二備份次數(shù)加1。
11、可選的,所述第一備份標(biāo)識為所述第一備份程序備份成功的第一備份成功標(biāo)識,所述第二備份標(biāo)識為所述第二備份程序備份成功的第二備份成功標(biāo)識;
12、在確定將所述待刷寫程序的第一備份程序備份至所述第一程序備份區(qū)或?qū)⑺龃懗绦虻牡诙浞莩绦騻浞葜了龅诙绦騻浞輩^(qū)之后,還包括:
13、若所述第一備份程序的第一校驗(yàn)和與所述待刷寫程序的程序校驗(yàn)和一致,則在所述第一備份程序成功備份至所述第一程序備份區(qū)后,將所述第一備份成功標(biāo)識置1;或,
14、若所述第二備份程序的第二校驗(yàn)和與所述待刷寫程序的程序校驗(yàn)和一致,則在所述第二備份程序成功備份至所述第二程序備份區(qū)后,將所述第二備份成功標(biāo)識置1。
15、可選的,所述程序數(shù)據(jù)雙備份回滾方法還包括:
16、若所述第一備份程序的第一校驗(yàn)和與所述待刷寫程序的程序校驗(yàn)和不一致,且所述第一程序備份區(qū)的第一備份次數(shù)對應(yīng)累加備份次數(shù)未超過設(shè)定備份次數(shù),則將所述第一備份成功標(biāo)識置0;或,
17、若所述第二備份程序的第二校驗(yàn)和與所述待刷寫程序的程序校驗(yàn)和不一致,且所述第二程序備份區(qū)的第二備份次數(shù)對應(yīng)累加備份次數(shù)未超過所述設(shè)定備份次數(shù),則將所述第二備份成功標(biāo)識置0。
18、可選的,所述程序數(shù)據(jù)雙備份回滾方法還包括:
19、在收到程序刷寫指令后,若所述第一備份程序和/或所述第二備份程序備份完成,則基于所述第一備份程序或所述第二備份程序進(jìn)行刷寫。
20、可選的,根據(jù)所述第一備份標(biāo)識和所述第二備份標(biāo)識確定將所述第一備份程序或所述第二備份程序回滾至所述程序存儲區(qū),以基于所述第一備份程序或所述第二備份程序進(jìn)行刷寫,包括:
21、若所述第一備份標(biāo)識的標(biāo)識號大于所述第二備份標(biāo)識的標(biāo)識號,則確定將所述第一備份程序回滾至所述程序存儲區(qū),以基于所述第一備份程序進(jìn)行刷寫;
22、若所述第二備份標(biāo)識的標(biāo)識號大于所述第一備份標(biāo)識的標(biāo)識號,則確定將所述第二備份程序回滾至所述程序存儲區(qū),以基于所述第二備份程序進(jìn)行刷寫。
23、根據(jù)本發(fā)明的另一方面,提供了一種程序數(shù)據(jù)雙備份回滾裝置,該程序數(shù)據(jù)雙備份回滾裝置包括:
24、程序備份模塊,用于執(zhí)行在程序存儲區(qū)的待刷寫程序刷寫完成且控制所述待刷寫程序運(yùn)行設(shè)定時間長度后,根據(jù)外置存儲模塊的第一程序備份區(qū)的第一備份標(biāo)識以及第二程序備份區(qū)的第二備份標(biāo)識,確定將所述待刷寫程序的第一備份程序備份至所述第一程序備份區(qū)或?qū)⑺龃懗绦虻牡诙浞莩绦騻浞葜了龅诙绦騻浞輩^(qū);
25、程序刷寫模塊,用于執(zhí)行當(dāng)所述程序存儲區(qū)的所述待刷寫程序運(yùn)行異常時,根據(jù)所述第一備份標(biāo)識和所述第二備份標(biāo)識確定將所述第一備份程序或所述第二備份程序回滾至所述程序存儲區(qū),以基于所述第一備份程序或所述第二備份程序進(jìn)行刷寫。
26、根據(jù)本發(fā)明的另一方面,提供了一種車輛,所述車輛包括:
27、至少一個處理器;以及,
28、與所述至少一個處理器通信連接的存儲器;其中,
29、所述存儲器存儲有可被所述至少一個處理器執(zhí)行的計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被所述至少一個處理器執(zhí)行,以使所述至少一個處理器能夠執(zhí)行本發(fā)明任一實(shí)施例所述的程序數(shù)據(jù)雙備份回滾方法。
30、根據(jù)本發(fā)明的另一方面,提供了一種計(jì)算機(jī)可讀存儲介質(zhì),所述計(jì)算機(jī)可讀存儲介質(zhì)存儲有計(jì)算機(jī)指令,所述計(jì)算機(jī)指令用于使處理器執(zhí)行時實(shí)現(xiàn)本發(fā)明任一實(shí)施例所述的程序數(shù)據(jù)雙備份回滾方法。
31、本發(fā)明實(shí)施例的技術(shù)方案,通過在程序存儲區(qū)的待刷寫程序刷寫完成且控制所述待刷寫程序運(yùn)行設(shè)定時間長度后,根據(jù)外置存儲模塊的第一程序備份區(qū)的第一備份標(biāo)識以及第二程序備份區(qū)的第二備份標(biāo)識,確定將所述待刷寫程序的第一備份程序備份至所述第一程序備份區(qū)或?qū)⑺龃懗绦虻牡诙浞莩绦騻浞葜了龅诙绦騻浞輩^(qū);當(dāng)所述程序存儲區(qū)的所述待刷寫程序運(yùn)行異常時,根據(jù)所述第一備份標(biāo)識和所述第二備份標(biāo)識確定將所述第一備份程序或所述第二備份程序回滾至所述程序存儲區(qū),以基于所述第一備份程序或所述第二備份程序進(jìn)行刷寫。本發(fā)明解決了目前軟件程序備份受芯片大小限制,同時頻繁刷寫將導(dǎo)致備份紊亂,進(jìn)而使得車輛無法正常運(yùn)行的問題,實(shí)現(xiàn)基于備份標(biāo)識的動態(tài)程序數(shù)據(jù)雙備份,保證了頻繁刷寫的需求,同時能夠回滾完整程序數(shù)據(jù),保證車輛正常運(yùn)行。
32、應(yīng)當(dāng)理解,本部分所描述的內(nèi)容并非旨在標(biāo)識本發(fā)明的實(shí)施例的關(guān)鍵或重要特征,也不用于限制本發(fā)明的范圍。本發(fā)明的其它特征將通過以下的說明書而變得容易理解。