本公開涉及數(shù)據(jù)處理,尤其涉及一種準(zhǔn)靜態(tài)數(shù)據(jù)處理方法、裝置、電子設(shè)備及存儲介質(zhì)。
背景技術(shù):
1、為了保證車輛控制系統(tǒng)的正常運(yùn)行,需要對關(guān)鍵的準(zhǔn)靜態(tài)數(shù)據(jù)進(jìn)行存儲;當(dāng)車輛運(yùn)行時(shí),隨機(jī)存取存儲器(ram,random?access?memory)從存儲芯片中讀取準(zhǔn)靜態(tài)數(shù)據(jù),并將讀取的準(zhǔn)靜態(tài)數(shù)據(jù)發(fā)送至處理器中,以實(shí)現(xiàn)處理器對車輛的控制。相關(guān)技術(shù)中,由于準(zhǔn)靜態(tài)數(shù)據(jù)的變化頻率降低,因此,為了降低控制成本,可以將準(zhǔn)靜態(tài)數(shù)據(jù)存儲至控制系統(tǒng)內(nèi)部的閃存中,比如,數(shù)據(jù)閃存(dflash,data?flash)或非易失性閃存(nor?flash);當(dāng)準(zhǔn)靜態(tài)數(shù)據(jù)發(fā)生更新時(shí),擦除閃存內(nèi)存儲的所有數(shù)據(jù),并將更新后的數(shù)據(jù)寫入閃存中。然而,當(dāng)擦寫閃存的過程中出現(xiàn)斷電、重啟等異常情況時(shí),容易造成閃存中的歷史數(shù)據(jù)或新寫入的數(shù)據(jù)出現(xiàn)數(shù)據(jù)丟失,從而影響車輛控制系統(tǒng)的正常運(yùn)行,可靠性較差;比如,在擦除過程中發(fā)生異常時(shí),歷史數(shù)據(jù)被部分擦除,而更新的數(shù)據(jù)尚未寫入,使得ram無法從閃存中讀取準(zhǔn)靜態(tài)數(shù)據(jù),影響車輛控制系統(tǒng)的正常運(yùn)行;再比如,在寫入過程中發(fā)生異常時(shí),歷史數(shù)據(jù)已經(jīng)被全部擦除,而更新的數(shù)據(jù)尚未完全寫入,使得ram也無法從閃存中讀取準(zhǔn)靜態(tài)數(shù)據(jù),影響車輛控制系統(tǒng)的正常運(yùn)行。
技術(shù)實(shí)現(xiàn)思路
1、本公開提供了一種準(zhǔn)靜態(tài)數(shù)據(jù)方法、裝置、電子設(shè)備及存儲介質(zhì)。
2、根據(jù)本公開的第一方面,提供了一種準(zhǔn)靜態(tài)數(shù)據(jù)處理方法,包括:
3、在所述電子設(shè)備的準(zhǔn)靜態(tài)數(shù)據(jù)發(fā)生變化的情況下,獲取變化后的準(zhǔn)靜態(tài)數(shù)據(jù),并對閃存的存儲次數(shù)進(jìn)行更新,得到第一存儲次數(shù);其中,所述閃存包括至少兩個(gè)第一扇區(qū);
4、根據(jù)存儲次數(shù)與第一扇區(qū)的關(guān)聯(lián)關(guān)系,確定所述第一存儲次數(shù)在所述關(guān)聯(lián)關(guān)系中對應(yīng)的第一扇區(qū),將確定的與所述第一存儲次數(shù)對應(yīng)的第一扇區(qū)作為待寫入數(shù)據(jù)的第二扇區(qū);
5、將所述準(zhǔn)靜態(tài)數(shù)據(jù)寫入所述第二扇區(qū)。
6、在一些實(shí)施例中,所述根據(jù)存儲次數(shù)與第一扇區(qū)的關(guān)聯(lián)關(guān)系,確定所述第一存儲次數(shù)在所述關(guān)聯(lián)關(guān)系中對應(yīng)的第一扇區(qū),將確定的與所述第一存儲次數(shù)對應(yīng)的第一扇區(qū)作為待寫入數(shù)據(jù)的第二扇區(qū),包括:
7、確定所述第一存儲次數(shù)是否大于預(yù)設(shè)閾值;其中,所述預(yù)設(shè)閾值與所述第一扇區(qū)的數(shù)量相同;
8、在所述第一存儲次數(shù)不大于預(yù)設(shè)閾值的情況下,根據(jù)存儲次數(shù)與第一扇區(qū)的關(guān)聯(lián)關(guān)系,確定所述第一存儲次數(shù)在所述關(guān)聯(lián)關(guān)系中對應(yīng)的第一扇區(qū),將確定的與所述第一存儲次數(shù)對應(yīng)的第一扇區(qū)作為待寫入數(shù)據(jù)的第二扇區(qū);其中,不同存儲次數(shù)在所述關(guān)聯(lián)關(guān)系中對應(yīng)的第一扇區(qū)不同。
9、在一些實(shí)施例中,在確定所述第一存儲次數(shù)是否大于預(yù)設(shè)閾值之后,所述方法還包括:
10、在所述第一存儲次數(shù)大于預(yù)設(shè)閾值的情況下,將預(yù)先指定的第一扇區(qū)作為所述第二扇區(qū)。
11、在一些實(shí)施例中,在對閃存的存儲次數(shù)進(jìn)行更新,得到第一存儲次數(shù)之前,所述方法還包括:
12、獲取所述閃存當(dāng)前的存儲次數(shù),得到第二存儲次數(shù);
13、根據(jù)所述關(guān)聯(lián)關(guān)系,確定所述第二存儲次數(shù)在所述關(guān)聯(lián)關(guān)系中對應(yīng)的第一扇區(qū),將確定的與所述第二存儲次數(shù)對應(yīng)的第一扇區(qū)作為最新一次寫入數(shù)據(jù)的第三扇區(qū);
14、將所述第三扇區(qū)和第四扇區(qū)的數(shù)據(jù)發(fā)送至所述電子設(shè)備的內(nèi)存;所述第四扇區(qū)為在第三扇區(qū)之前寫入數(shù)據(jù)的第一扇區(qū)。
15、在一些實(shí)施例中,所述根據(jù)所述關(guān)聯(lián)關(guān)系,確定所述第二存儲次數(shù)在所述關(guān)聯(lián)關(guān)系中對應(yīng)的第一扇區(qū),將確定的與所述第二存儲次數(shù)對應(yīng)的第一扇區(qū)作為最新一次寫入數(shù)據(jù)的第三扇區(qū),包括:
16、確定每個(gè)第一扇區(qū)存儲的數(shù)據(jù)是否合法;
17、在至少一個(gè)第一扇區(qū)中存儲的數(shù)據(jù)合法的情況下,根據(jù)所述關(guān)聯(lián)關(guān)系,確定所述第二存儲次數(shù)在所述關(guān)聯(lián)關(guān)系中對應(yīng)的第一扇區(qū),將確定的與所述第二存儲次數(shù)對應(yīng)的第一扇區(qū)作為最新一次寫入數(shù)據(jù)的第三扇區(qū)。
18、在一些實(shí)施例中,所述確定每個(gè)第一扇區(qū)存儲的數(shù)據(jù)是否合法之后,所述方法還包括:
19、在所有第一扇區(qū)存儲的數(shù)據(jù)均不合法的情況下,將所述內(nèi)存中的數(shù)據(jù)配置為預(yù)設(shè)數(shù)據(jù);其中,所述預(yù)設(shè)數(shù)據(jù)與所述準(zhǔn)靜態(tài)數(shù)據(jù)格式相同。
20、在一些實(shí)施例中,所述確定每個(gè)第一扇區(qū)存儲的數(shù)據(jù)是否合法,包括:
21、確定所述第一扇區(qū)所存儲數(shù)據(jù)的標(biāo)識信息是否合法;
22、確定所述第一扇區(qū)所存儲數(shù)據(jù)的存儲次數(shù)是否合法;
23、確定所述第一扇區(qū)所述存儲的數(shù)據(jù)內(nèi)容是否合法;
24、確定所述第一扇區(qū)所存儲數(shù)據(jù)的循環(huán)冗余校核(crc,cyclic?redundancy?check)信息是否合法。
25、根據(jù)本公開的第二方面,提供了一種準(zhǔn)靜態(tài)數(shù)據(jù)處理裝置,包括:
26、獲取單元,用于在所述電子設(shè)備的準(zhǔn)靜態(tài)數(shù)據(jù)發(fā)生變化的情況下,獲取變化后的準(zhǔn)靜態(tài)數(shù)據(jù),并對閃存的存儲次數(shù)進(jìn)行更新,得到第一存儲次數(shù);其中,所述閃存包括至少兩個(gè)第一扇區(qū);
27、確定單元,用于根據(jù)存儲次數(shù)與第一扇區(qū)的關(guān)聯(lián)關(guān)系,確定所述第一存儲次數(shù)在所述關(guān)聯(lián)關(guān)系中對應(yīng)的第一扇區(qū),將確定的與所述第一存儲次數(shù)對應(yīng)的第一扇區(qū)作為待寫入數(shù)據(jù)的第二扇區(qū);
28、處理單元,用于將所述準(zhǔn)靜態(tài)數(shù)據(jù)寫入所述第二扇區(qū)。
29、根據(jù)本公開的第三方面,提供了一種電子設(shè)備,包括:
30、至少一個(gè)處理器;以及
31、與所述至少一個(gè)處理器通信連接的存儲器;其中,
32、所述存儲器存儲有可被所述至少一個(gè)處理器執(zhí)行的指令,所述指令被所述至少一個(gè)處理器執(zhí)行,以使所述至少一個(gè)處理器能夠執(zhí)行前述第一方面所述的方法。
33、根據(jù)本公開的第四方面,提供了一種存儲有計(jì)算機(jī)指令的非瞬時(shí)計(jì)算機(jī)可讀存儲介質(zhì),其中,所述計(jì)算機(jī)指令用于使所述計(jì)算機(jī)執(zhí)行前述第一方面所述的方法。
34、根據(jù)本公開的第五方面,提供了一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序,所述計(jì)算機(jī)程序在被處理器執(zhí)行時(shí)實(shí)現(xiàn)如前述第一方面所述的方法。
35、本公開提供的準(zhǔn)靜態(tài)數(shù)據(jù)處理方法、裝置、電子設(shè)備和存儲介質(zhì),在所述電子設(shè)備的準(zhǔn)靜態(tài)數(shù)據(jù)發(fā)生變化的情況下,獲取變化后的準(zhǔn)靜態(tài)數(shù)據(jù),并對閃存的存儲次數(shù)進(jìn)行更新,得到第一存儲次數(shù);其中,所述閃存包括至少兩個(gè)第一扇區(qū);根據(jù)存儲次數(shù)與第一扇區(qū)的關(guān)聯(lián)關(guān)系,確定所述第一存儲次數(shù)在所述關(guān)聯(lián)關(guān)系中對應(yīng)的第一扇區(qū),將確定的與所述第一存儲次數(shù)對應(yīng)的第一扇區(qū)作為待寫入數(shù)據(jù)的第二扇區(qū);將所述準(zhǔn)靜態(tài)數(shù)據(jù)寫入所述第二扇區(qū)。本公開提供的方案,通過在獲取需要寫入的數(shù)據(jù)后,更新存儲次數(shù),并根據(jù)更新后存儲次數(shù)確定待寫入數(shù)據(jù)的扇區(qū),能夠?qū)⒚看胃碌臄?shù)據(jù)存儲至閃存的不同扇區(qū)中,由于不同扇區(qū)之間相互獨(dú)立,因此在對一個(gè)扇區(qū)進(jìn)行擦寫處理的過程中發(fā)生斷電等異常情況時(shí),僅會對當(dāng)前擦寫的扇區(qū)造成影響,而不會影響其他扇區(qū)存儲的數(shù)據(jù),從而使ram能夠正常從其他扇區(qū)中讀取準(zhǔn)靜態(tài)數(shù)據(jù),以保證車倆控制系統(tǒng)能夠穩(wěn)定、可靠地運(yùn)行。
36、應(yīng)當(dāng)理解,本部分所描述的內(nèi)容并非旨在標(biāo)識本技術(shù)的實(shí)施例的關(guān)鍵或重要特征,也不用于限制本技術(shù)的范圍。本技術(shù)的其它特征將通過以下的說明書而變得容易理解。