本發(fā)明涉及汽車電子,特別涉及一種程序運(yùn)行方法、裝置、設(shè)備及介質(zhì)。
背景技術(shù):
1、現(xiàn)有的adas(advanced?driver?assistance?system,高級(jí)駕駛輔助系統(tǒng))域控制器在運(yùn)行程序時(shí)通常采用雙分區(qū)啟動(dòng)方式,這在一定程度上提升了系統(tǒng)的穩(wěn)定性和可靠性。然而,隨著自動(dòng)駕駛技術(shù)的飛速發(fā)展,對(duì)系統(tǒng)的安全性和可靠性要求越來(lái)越高。
2、一方面,自動(dòng)駕駛車輛需要在各種復(fù)雜的環(huán)境中運(yùn)行,面臨著諸多不確定性因素。例如,惡劣的天氣條件、復(fù)雜的路況以及潛在的網(wǎng)絡(luò)攻擊等,都可能對(duì)adas系統(tǒng)的正常運(yùn)行造成影響。在這種情況下,傳統(tǒng)的雙分區(qū)啟動(dòng)方式可能無(wú)法滿足自動(dòng)駕駛系統(tǒng)對(duì)高安全性和高可靠性的需求。
3、另一方面,隨著自動(dòng)駕駛技術(shù)的不斷進(jìn)步,adas系統(tǒng)所承擔(dān)的功能也越來(lái)越多。除了傳統(tǒng)的駕駛輔助功能外,還需要具備更高級(jí)的自動(dòng)駕駛決策、環(huán)境感知和車輛控制等能力。這些功能的實(shí)現(xiàn)需要更加復(fù)雜的軟件和硬件架構(gòu),也對(duì)系統(tǒng)的安全性和可靠性提出了更高的要求。
4、綜上,如何提高系統(tǒng)運(yùn)行過(guò)程中的安全性和可靠性是目前有待解決的問(wèn)題。
技術(shù)實(shí)現(xiàn)思路
1、有鑒于此,本發(fā)明的目的在于提供一種程序運(yùn)行方法、裝置、設(shè)備及介質(zhì),能夠提高系統(tǒng)運(yùn)行過(guò)程中的安全性和可靠性。其具體方案如下:
2、第一方面,本技術(shù)公開(kāi)了一種程序運(yùn)行方法,應(yīng)用于第一處理器,包括:
3、若監(jiān)測(cè)到用于監(jiān)控應(yīng)用程序運(yùn)行狀態(tài)的第二處理器處于運(yùn)行狀態(tài),則根據(jù)預(yù)設(shè)分區(qū)標(biāo)志位運(yùn)行對(duì)應(yīng)目標(biāo)分區(qū)內(nèi)的應(yīng)用程序;所述目標(biāo)分區(qū)為閃存區(qū)域中的預(yù)設(shè)數(shù)量個(gè)分區(qū)中的任意一個(gè)分區(qū);
4、監(jiān)測(cè)所述預(yù)設(shè)分區(qū)標(biāo)志位是否發(fā)生預(yù)設(shè)目標(biāo)事件;所述預(yù)設(shè)目標(biāo)事件為所述第二處理器在基于所述目標(biāo)分區(qū)中應(yīng)用程序的運(yùn)行狀態(tài)確定所述目標(biāo)分區(qū)存在異常后對(duì)所述預(yù)設(shè)分區(qū)標(biāo)志位進(jìn)行變更的事件;
5、若所述預(yù)設(shè)分區(qū)標(biāo)志位發(fā)生所述預(yù)設(shè)目標(biāo)事件,則從所述目標(biāo)分區(qū)切換至所述第二處理器確定的除所述目標(biāo)分區(qū)以外的當(dāng)前最優(yōu)分區(qū),以運(yùn)行所述當(dāng)前最優(yōu)分區(qū)中的應(yīng)用程序。
6、可選的,所述程序運(yùn)行方法,還包括:
7、若監(jiān)測(cè)到用于監(jiān)控應(yīng)用程序運(yùn)行狀態(tài)的第二處理器處于未運(yùn)行狀態(tài),則從所述閃存區(qū)域中加載所述第二處理器的運(yùn)行程序,以運(yùn)行所述第二處理器。
8、可選的,所述程序運(yùn)行方法,還包括:
9、將用于反映所述目標(biāo)分區(qū)中應(yīng)用程序的運(yùn)行狀態(tài)的性能數(shù)據(jù)發(fā)送至所述第二處理器,以便所述第二處理器基于所述性能數(shù)據(jù)判斷所述目標(biāo)分區(qū)是否存在異常;其中,所述性能數(shù)據(jù)包括內(nèi)存使用信息、異常日志數(shù)據(jù)、啟動(dòng)時(shí)間、運(yùn)行效率、錯(cuò)誤率和所述第一處理器的使用率。
10、可選的,所述若所述預(yù)設(shè)分區(qū)標(biāo)志位發(fā)生所述預(yù)設(shè)目標(biāo)事件,則從所述目標(biāo)分區(qū)切換至所述第二處理器確定的除所述目標(biāo)分區(qū)以外的當(dāng)前最優(yōu)分區(qū),以運(yùn)行所述當(dāng)前最優(yōu)分區(qū)中的應(yīng)用程序,包括:
11、若所述預(yù)設(shè)分區(qū)標(biāo)志位發(fā)生所述預(yù)設(shè)目標(biāo)事件,則重新上電啟動(dòng),然后監(jiān)測(cè)當(dāng)前所述第二處理器是否處于運(yùn)行狀態(tài);
12、若當(dāng)前所述第二處理器處于運(yùn)行狀態(tài),則獲取所述預(yù)設(shè)分區(qū)標(biāo)志位的當(dāng)前標(biāo)志,以基于所述當(dāng)前標(biāo)志確定相應(yīng)的當(dāng)前最優(yōu)分區(qū);其中,所述當(dāng)前標(biāo)志為所述第二處理器在確定所述目標(biāo)分區(qū)存在異常后,將所述預(yù)設(shè)分區(qū)標(biāo)志位設(shè)置為除所述目標(biāo)分區(qū)以外的當(dāng)前最優(yōu)分區(qū)對(duì)應(yīng)的標(biāo)志后得到的標(biāo)志;
13、運(yùn)行所述當(dāng)前最優(yōu)分區(qū)中的應(yīng)用程序。
14、可選的,所述當(dāng)前最優(yōu)分區(qū)為所述第二處理器根據(jù)預(yù)設(shè)篩選機(jī)制確定出的分區(qū);其中,所述預(yù)設(shè)篩選機(jī)制包括:
15、根據(jù)各個(gè)分區(qū)的當(dāng)前運(yùn)行狀態(tài)和歷史運(yùn)行狀態(tài)為各分區(qū)分配權(quán)重系數(shù);
16、將各個(gè)分區(qū)的當(dāng)前運(yùn)行狀態(tài)和歷史運(yùn)行狀態(tài)輸入至預(yù)測(cè)模型,以得到各個(gè)分區(qū)的未來(lái)運(yùn)行狀態(tài)的預(yù)測(cè)結(jié)果;
17、基于各個(gè)分區(qū)的所述權(quán)重系數(shù)和所述預(yù)測(cè)結(jié)果確定出當(dāng)前最優(yōu)分區(qū)。
18、可選的,所述閃存區(qū)域設(shè)置有第一分區(qū)、第二分區(qū)和第三分區(qū),當(dāng)有程序升級(jí)需求時(shí),所述第一分區(qū)和所述第二分區(qū)的優(yōu)先級(jí)高于所述第三分區(qū);
19、相應(yīng)的,所述運(yùn)行所述當(dāng)前最優(yōu)分區(qū)中的應(yīng)用程序之后,還包括:
20、若所述當(dāng)前最優(yōu)分區(qū)為所述第一分區(qū),在獲取到程序升級(jí)請(qǐng)求時(shí),則在所述第二分區(qū)中對(duì)應(yīng)用程序進(jìn)行更新,并在更新完成后重新上電啟動(dòng),以運(yùn)行所述第二分區(qū)中的應(yīng)用程序;
21、若所述當(dāng)前最優(yōu)分區(qū)為所述第二分區(qū),在獲取到程序升級(jí)請(qǐng)求時(shí),則在所述第一分區(qū)中對(duì)應(yīng)用程序進(jìn)行更新,并在更新完成后重新上電啟動(dòng),以運(yùn)行所述第一分區(qū)中的應(yīng)用程序。
22、可選的,當(dāng)所述當(dāng)前最優(yōu)分區(qū)為所述第三分區(qū)時(shí),將所述第一分區(qū)設(shè)置為默認(rèn)升級(jí)區(qū)域;
23、相應(yīng)的,所述運(yùn)行所述當(dāng)前最優(yōu)分區(qū)中的應(yīng)用程序之后,還包括:
24、若所述當(dāng)前最優(yōu)分區(qū)為所述第三分區(qū),在獲取到程序升級(jí)請(qǐng)求時(shí),則在所述第一分區(qū)中對(duì)應(yīng)用程序進(jìn)行更新,并在更新完成后重新上電啟動(dòng),以運(yùn)行所述第一分區(qū)中的應(yīng)用程序。
25、第二方面,本技術(shù)公開(kāi)了一種程序運(yùn)行裝置,應(yīng)用于第一處理器,包括:
26、程序運(yùn)行模塊,用于若監(jiān)測(cè)到用于監(jiān)控應(yīng)用程序運(yùn)行狀態(tài)的第二處理器處于運(yùn)行狀態(tài),則根據(jù)預(yù)設(shè)分區(qū)標(biāo)志位運(yùn)行對(duì)應(yīng)目標(biāo)分區(qū)內(nèi)的應(yīng)用程序;所述目標(biāo)分區(qū)為閃存區(qū)域中的預(yù)設(shè)數(shù)量個(gè)分區(qū)中的任意一個(gè)分區(qū);
27、標(biāo)志位監(jiān)測(cè)模塊,用于監(jiān)測(cè)所述預(yù)設(shè)分區(qū)標(biāo)志位是否發(fā)生預(yù)設(shè)目標(biāo)事件;所述預(yù)設(shè)目標(biāo)事件為所述第二處理器在基于所述目標(biāo)分區(qū)中應(yīng)用程序的運(yùn)行狀態(tài)確定所述目標(biāo)分區(qū)存在異常后對(duì)所述預(yù)設(shè)分區(qū)標(biāo)志位進(jìn)行變更的事件;
28、分區(qū)切換模塊,用于若所述預(yù)設(shè)分區(qū)標(biāo)志位發(fā)生所述預(yù)設(shè)目標(biāo)事件,則從所述目標(biāo)分區(qū)切換至所述第二處理器確定的除所述目標(biāo)分區(qū)以外的當(dāng)前最優(yōu)分區(qū),以運(yùn)行所述當(dāng)前最優(yōu)分區(qū)中的應(yīng)用程序。
29、第三方面,本技術(shù)公開(kāi)了一種電子設(shè)備,包括:
30、存儲(chǔ)器,用于保存計(jì)算機(jī)程序;
31、處理器,用于執(zhí)行所述計(jì)算機(jī)程序,以實(shí)現(xiàn)前述公開(kāi)的程序運(yùn)行方法的步驟。
32、第四方面,本技術(shù)公開(kāi)了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),用于存儲(chǔ)計(jì)算機(jī)程序;其中,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)前述公開(kāi)的程序運(yùn)行方法的步驟。
33、可見(jiàn),本技術(shù)中,第一處理器若監(jiān)測(cè)到用于監(jiān)控應(yīng)用程序運(yùn)行狀態(tài)的第二處理器處于運(yùn)行狀態(tài),則根據(jù)預(yù)設(shè)分區(qū)標(biāo)志位運(yùn)行對(duì)應(yīng)目標(biāo)分區(qū)內(nèi)的應(yīng)用程序;所述目標(biāo)分區(qū)為閃存區(qū)域中的預(yù)設(shè)數(shù)量個(gè)分區(qū)中的任意一個(gè)分區(qū);監(jiān)測(cè)所述預(yù)設(shè)分區(qū)標(biāo)志位是否發(fā)生預(yù)設(shè)目標(biāo)事件;所述預(yù)設(shè)目標(biāo)事件為所述第二處理器在基于所述目標(biāo)分區(qū)中應(yīng)用程序的運(yùn)行狀態(tài)確定所述目標(biāo)分區(qū)存在異常后對(duì)所述預(yù)設(shè)分區(qū)標(biāo)志位進(jìn)行變更的事件;若所述預(yù)設(shè)分區(qū)標(biāo)志位發(fā)生所述預(yù)設(shè)目標(biāo)事件,則從所述目標(biāo)分區(qū)切換至所述第二處理器確定的除所述目標(biāo)分區(qū)以外的當(dāng)前最優(yōu)分區(qū),以運(yùn)行所述當(dāng)前最優(yōu)分區(qū)中的應(yīng)用程序
34、有益效果:本技術(shù)中的第一處理器在上電啟動(dòng)后,首先需要確定用于監(jiān)控應(yīng)用程序運(yùn)行狀態(tài)的第二處理器是否處于運(yùn)行狀態(tài),若監(jiān)測(cè)到第二處理器處于運(yùn)行狀態(tài),則根據(jù)預(yù)設(shè)分區(qū)標(biāo)志位運(yùn)行對(duì)應(yīng)目標(biāo)分區(qū)內(nèi)的應(yīng)用程序。需要指出的是,本技術(shù)預(yù)先對(duì)閃存區(qū)域進(jìn)行了劃分,目標(biāo)分區(qū)為閃存區(qū)域中的預(yù)設(shè)數(shù)量個(gè)分區(qū)中的任意一個(gè)分區(qū),預(yù)設(shè)分區(qū)標(biāo)志位的數(shù)值與各分區(qū)一一對(duì)應(yīng),通過(guò)確定當(dāng)前的預(yù)設(shè)分區(qū)標(biāo)志位,從而運(yùn)行相應(yīng)分區(qū)內(nèi)的應(yīng)用程序。進(jìn)一步的,對(duì)預(yù)設(shè)分區(qū)標(biāo)志位進(jìn)行監(jiān)測(cè),判斷其是否發(fā)生預(yù)設(shè)目標(biāo)事件,可以理解的是,由于第二處理器由于已處于運(yùn)行狀態(tài),因此第二處理器會(huì)實(shí)時(shí)監(jiān)測(cè)目標(biāo)分區(qū)中應(yīng)用程序的運(yùn)行狀態(tài),從而基于運(yùn)行狀態(tài)判斷目標(biāo)分區(qū)是否存在異常,如果存在異常,則對(duì)預(yù)設(shè)分區(qū)標(biāo)志位進(jìn)行變更,使得第一處理器則監(jiān)測(cè)到預(yù)設(shè)目標(biāo)事件。當(dāng)預(yù)設(shè)分區(qū)標(biāo)志位發(fā)生預(yù)設(shè)目標(biāo)事件時(shí),則從目標(biāo)分區(qū)切換至第二處理器確定的除目標(biāo)分區(qū)以外的當(dāng)前最優(yōu)分區(qū),以運(yùn)行當(dāng)前最優(yōu)分區(qū)中的應(yīng)用程序。也即,本技術(shù)在目標(biāo)分區(qū)當(dāng)前存在異常時(shí),可以將其切換為當(dāng)前最優(yōu)分區(qū),即切換為閃存區(qū)域中除目標(biāo)分區(qū)以外的分區(qū),從而保證在出現(xiàn)異常的情況下,系統(tǒng)也能夠安全運(yùn)行,并且并非是隨機(jī)切換至任意一個(gè)分區(qū),而是切換至第二處理器確定的當(dāng)前最優(yōu)分區(qū),使得程序運(yùn)行更加可靠。如此一來(lái),通過(guò)以上方案,提高了系統(tǒng)運(yùn)行過(guò)程中的安全性和可靠性。