延長存儲器使用時間的數據存儲方法、讀取方法及系統與流程
2023-07-20 06:33:51
本發明涉及電動汽車的技術領域,更具體地說,是涉及一種延長存儲器使用時間的數據存儲方法、讀取方法及系統。
背景技術:
近年來,隨著信息技術的發展,存儲介質上存儲的數據的安全性以及數據的恢復能力日益引起重視,這對於存儲數據的存儲介質的使用壽命提出了越來越高的要求以保證其中存儲的數據不受損壞,並且還希望在誤操作或者病毒侵擾的情況下,可以恢復被意外刪除的數據。在現有技術中,數據存儲時對存儲器中的某一塊區域頻繁重複擦寫操作,而其他存儲區域卻極少甚至從不進行擦寫操作,而導致對存儲器使用率低,最終導致存儲器使用時間較短,對於需要頻繁進行存儲的數據流,存儲器的壽命可能達不到系統設計要求。另外,在某些需要更換硬體的應用中,更換硬體後可能使得原有系統中的數據丟失。
技術實現要素:
本發明的目的在於克服現有技術中的上述缺陷,提供一種延長存儲器使用時間的數據存儲方法、讀取方法及系統,支持不修改軟體的情況下改變存儲區域劃分情況並滿足不同參數的存儲,減少修改軟體的繁瑣。為實現上述目的,本發明提供的技術方案如下:本發明提供了一種延長存儲器使用時間的數據存儲方法,該方法包括以下步驟:(1)預先在存儲器中為待存儲數據分配一個以上的存儲區域;(2)數據存儲過程中,將待存儲數據以輪流切換存儲區域的方式存儲在存儲器中。作為優選的技術方案,所述步驟(2)包括以下步驟:(21)為待存儲數據設定一個標誌變量FLAG;(22)寫入數據時,根據標誌變量FLAG確定當前存儲操作將待存儲數據寫入哪一存儲區域;(23)將待存儲數據及其標誌變量FLAG寫入步驟(22)中確定的存儲區域。作為優選的技術方案,所述步驟(21)中標誌變量FLAG初始值為0,每存儲一次數據前該標誌標量FLAG累加1;所述步驟(22)中確定當前存儲操作將待存儲數據寫入哪一存儲區域的過程為:記當前存儲操作將待存儲數據寫入的存儲區域為第n個存儲區域,其中,n等於標誌標量FLAG的值除以預先分配的存儲區域的個數的餘數。本發明還提供了一種延長存儲器使用時間的數據讀取方法,其特徵在於,包括以下步驟:A讀取各存儲區域中的標誌變量FLAG;B根據各存儲區域的標誌變量FLAG判斷最新數據所在的存儲區域;C讀取上述判斷結果對應的存儲區域的數據作為有效數據。作為優選的技術方案,所述步驟B的過程如下:比較各存儲區域的標誌變量FLAG的大小,將標誌變量FLAG最大的存儲區域作為最新數據所在的存儲區域。本發明還提供了一種延長存儲器使用時間的數據存儲系統,該系統包括存儲區域分配模塊和數據處理模塊;所述存儲區域分配模塊,用於預先在存儲器中為待存儲數據分配一個以上的存儲區域;所述數據處理模塊,用於在數據存儲過程中,將待存儲數據以輪流切換存儲區域的方式存儲在存儲器中。作為優選的技術方案,所述數據處理模塊包括標誌變量設定模塊、存儲區域選擇模塊以及寫入模塊;所述標誌變量設定模塊,用於為待存儲數據設定一個標誌變量FLAG;所述存儲區域選擇模塊,用於寫入數據時,根據標誌變量FLAG確定當前存儲操作將待存儲數據寫入哪一存儲區域;所述寫入模塊,用於將待存儲數據及其標誌變量FLAG寫入存儲區域選擇模塊中確定的存儲區域。作為優選的技術方案,所述標誌變量設定模塊中,標誌變量FLAG初始值為0,每存儲一次數據前該標誌標量FLAG累加1;所述存儲區域選擇模塊中,確定當前存儲操作將待存儲數據寫入哪一存儲區域的過程為:記當前存儲操作將待存儲數據寫入的存儲區域為第n個存儲區域,其中,n等於標誌標量FLAG的值除以預先分配的存儲區域的個數的餘數。本發明還提供了一種延長存儲器使用時間的數據讀取系統,該系統包括標誌變量讀取模塊、判斷模塊以及執行模塊;所述讀取模塊,用於讀取各存儲區域中的標誌變量FLAG;;所述判斷模塊,用於根據各存儲區域的標誌變量FLAG判斷最新數據所在的存儲區域;所述執行模塊,用於讀取上述判斷結果對應的存儲區域的數據作為有效數據。作為優選的技術方案,所述判斷模塊的判斷過程如下:比較各存儲區域的標誌變量FLAG的大小,將標誌變量FLAG最大的存儲區域作為最新數據所在的存儲區域。與現有技術相比,本發明的有益效果在於:1、本發明通過將待存儲數據以輪流切換存儲區域的方式存儲在存儲器中,使存儲器的利用率達到最大化,且支持不修改軟體的情況下改變存儲區域劃分情況並滿足不同參數的存儲,減少修改軟體的繁瑣。2、通過該方法即便在選用可操作次數較低的存儲器時仍然能達到系統設計要求,從而降低成本。3、本發明能夠支持數據查閱功能,滿足調試要求;在需要更換硬體的應用中,能夠導入導出數據保證硬體更換後,與系統原有數據保持一致。附圖說明為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發明的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。圖1是本發明實施例一提供的延長存儲器使用時間的數據存儲方法的流程圖;圖2是本發明實施例一中確定當前存儲操作將待存儲數據寫入哪一存儲區域的示意圖;圖3是本發明實施例二提供的延長存儲器使用時間的數據讀取方法的流程圖;圖4是本發明實施例三提供的延長存儲器使用時間的數據存儲系統的結構方框圖;圖5是本發明實施例四提供的延長存儲器使用時間的數據讀取系統的結構方框圖;具體實施方式為使本發明實施例的目的、技術方案和優點更加清楚,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發明一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。實施例一本發明的實施例一提供了一種延長存儲器使用時間及存儲數據查詢的方法,圖1是本發明實施例一的方法流程圖,請參考圖1,本發明實施例的方法包括以下步驟:步驟S101、預先在存儲器中為待存儲數據分配一個以上的存儲區域;步驟S102、數據存儲過程中,將待存儲數據以輪流切換存儲區域的方式存儲在存儲器中。為更好的實施本發明,所述步驟102包括下述步驟:步驟S1021、為待存儲數據設定一個標誌變量FLAG;步驟S1022、寫入數據時,根據標誌變量FLAG確定當前存儲操作將待存儲數據寫入哪一存儲區域;步驟S1023、將待存儲數據及其標誌變量FLAG寫入步驟S1022中確定的存儲區域。所述步驟S1021中標誌變量FLAG初始值為0,每存儲一次數據前該標誌標量FLAG累加1;如圖2所示,所述步驟S1022中確定當前存儲操作將待存儲數據寫入哪一存儲區域的過程為:記當前存儲操作將待存儲數據寫入的存儲區域為第n個存儲區域,其中,n等於標誌標量FLAG的值除以預先分配的存儲區域的個數的餘數。本發明通過將待存儲數據以輪流切換存儲區域的方式存儲在存儲器中,使存儲器的利用率達到最大化,且支持不修改軟體的情況下改變存儲區域劃分情況並使能不同參數的存儲,減少修改軟體的繁瑣。實施例二本發明的實施例二提供了一種延長存儲器使用時間的數據讀取方法,是在實施例一的基礎之上進行的進一步的技術方案。圖3是本發明實施例二的方法流程圖,請參考圖3,本發明實施例的方法包括以下步驟:步驟S201、讀取各存儲區域中的標誌變量FLAG;步驟S202、根據各存儲區域的標誌變量FLAG判斷最新數據所在的存儲區域;步驟S203、讀取上述判斷結果對應的存儲區域的數據作為有效數據。所述步驟S202的具體過程如下:比較各存儲區域的標誌變量FLAG的大小,將標誌變量FLAG最大的存儲區域作為最新數據所在的存儲區域。實施例三本發明的實施例三提供了一種延長存儲器使用時間的數據存儲系統,圖4是本發明實施例三的結構框圖,請參考圖4,本發明實施例的更新系統包括存儲區域分配模塊1和數據處理模塊2;所述存儲區域分配模塊1,用於預先在存儲器中為待存儲數據分配一個以上的存儲區域;所述數據處理模塊2,用於在數據存儲過程中,將待存儲數據以輪流切換存儲區域的方式存儲在存儲器中。所述數據處理模塊2包括標誌變量設定模塊21、存儲區域選擇模塊22以及寫入模塊23;所述標誌變量設定模塊21,用於為待存儲數據設定一個標誌變量FLAG;所述存儲區域選擇模塊22,用於寫入數據時,根據標誌變量FLAG確定當前存儲操作將待存儲數據寫入哪一存儲區域;所述寫入模塊23,用於將待存儲數據及其標誌變量FLAG寫入存儲區域選擇模塊中確定的存儲區域。所述標誌變量設定模塊中21,標誌變量FLAG初始值為0,每存儲一次數據前該標誌標量FLAG累加1;所述存儲區域選擇模塊中22,確定當前存儲操作將待存儲數據寫入哪一存儲區域的過程為:記當前存儲操作將待存儲數據寫入的存儲區域為第n個存儲區域,其中,n等於標誌標量FLAG的值除以預先分配的存儲區域的個數的餘數。實施例四本發明的實施例四提供了一種延長存儲器使用時間的數據讀取系統,是在實施例三的基礎之上進行的進一步的技術方案。請參考圖5,本發明實施例四的數據讀取系統包括標誌變量讀取模塊3、判斷模塊4以及執行模塊5;所述標誌變量讀取模塊3,用於讀取各存儲區域中的標誌變量FLAG;;所述判斷模塊4,用於根據各存儲區域的標誌變量FLAG判斷最新數據所在的存儲區域;所述執行模塊5,用於讀取上述判斷結果對應的存儲區域的數據作為有效數據。所述判斷模塊4的判斷過程如下:比較各存儲區域的標誌變量FLAG的大小,將標誌變量FLAG最大的存儲區域作為最新數據所在的存儲區域。在此需要說明的是,上述實施例提供的一種延長存儲器使用時間的數據讀取系統,僅以上述各功能模塊的劃分進行舉例說明,實際應用中,可以根據需要而將上述功能分配由不同的功能模塊完成,即將系統的內部結構劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。本領域普通技術人員可以理解實現上述實施例方法中的全部或部分步驟是可以通過程序來指令相關的硬體來完成,所述的程序可以在存儲於一計算機可讀取存儲介質中,所述的存儲介質,如ROM/RAM、磁碟、光碟等。上述實施例為本發明較佳的實施方式,但本發明的實施方式並不受上述實施例的限制,其他的任何未背離本發明的精神實質與原理下所作的改變、修飾、替代、組合、簡化,均應為等效的置換方式,都包含在本發明的保護範圍之內。