本發(fā)明涉及存儲領(lǐng)域,特別涉及一種數(shù)據(jù)管理方法及管理裝置。
背景技術(shù):
現(xiàn)今單片機應用領(lǐng)域廣泛,隨著幾十年的技術(shù)發(fā)展,單片機的性能越來越高,外部擴展能力越來強,于此同時網(wǎng)絡(luò)技術(shù)、數(shù)據(jù)存儲介質(zhì)技術(shù)的發(fā)展給整個行業(yè)帶來了新思路,高速度的網(wǎng)絡(luò)、大數(shù)據(jù)的存儲在一些行業(yè)成了需求,于是一些高性能的單片機外掛大容量的存儲設(shè)備成了水到渠成的事,而單片機外掛sd卡便是其中之一(日志內(nèi)容短小、但保存頻繁,導致sd卡擦寫次數(shù)頻繁)。
一般的sd卡都有擦除次數(shù)壽命限制,保守點講市面上銷售的sd卡擦除壽命少的幾千次,多的上萬次,如果將這些sd卡應用在一些長時間運行、頻繁讀寫數(shù)據(jù)的設(shè)備上,就不得不面臨一個問題:sd卡壽命有限,如何才能讓設(shè)備的sd卡延長使用壽命。
現(xiàn)有技術(shù)中,為了使sd卡有足夠的空間,不定時會對sd卡空間進行清理,使得sd卡內(nèi)各個扇區(qū)的使用頻率出現(xiàn)了嚴重不一的情況,以至于個別扇區(qū)率先損壞,對于有個別扇區(qū)損壞的sd卡,必須格式化,隔離開損壞的扇區(qū),使用剩余的扇區(qū),直至所有扇區(qū)都遭到損壞,則該sd卡報廢。
然而,sd卡對存儲數(shù)據(jù)的破壞性很大,多次的sd卡個別扇區(qū)損壞嚴重影響了sd卡存儲數(shù)據(jù)的安全性。
技術(shù)實現(xiàn)要素:
為了解決現(xiàn)有技術(shù)的問題,本發(fā)明提供了一種數(shù)據(jù)管理方法及管理裝置,均衡各扇區(qū)的使用頻率,延長sd卡的擦寫周期,技術(shù)方案如下:
一方面,本發(fā)明提供了一種數(shù)據(jù)管理方法,包括:
對寫入存儲設(shè)備的存儲數(shù)據(jù)進行打標,打標的標記與存儲數(shù)據(jù)的寫入時間一一對應;
響應于寫入時間達到預設(shè)的時間閾值,將對應的標記保存在允許刪除清單中;
接收刪除文件指令;
在存儲設(shè)備中刪除所述允許刪除清單中的標記所對應的存儲數(shù)據(jù);
在允許刪除清單中刪除對應的標記。
進一步地,所述刪除所述允許刪除清單中的標記所對應的存儲數(shù)據(jù)包括:查找允許刪除清單中存儲時間最早的標記,根據(jù)該標記刪除對應的存儲數(shù)據(jù)。
進一步地,所述接收刪除文件指令之前還包括:
接收待寫入的目標存儲數(shù)據(jù);
檢測存儲設(shè)備的剩余容量;
判斷所述剩余容量是否大于所述目標存儲數(shù)據(jù)的數(shù)據(jù)容量,若是,則將目標存儲數(shù)據(jù)寫入存儲設(shè)備,并等待接收下一次待寫入的目標存儲數(shù)據(jù);
若否,則發(fā)出刪除文件指令。
進一步地,所述刪除所述允許刪除清單中的標記所對應的存儲數(shù)據(jù)之后還包括:
判斷存儲設(shè)備當前剩余容量是否大于所述目標存儲數(shù)據(jù)的數(shù)據(jù)容量,若是,則將目標存儲數(shù)據(jù)寫入存儲設(shè)備,并等待接收下一次待寫入的目標存儲數(shù)據(jù);
若否,則再一次刪除所述允許刪除清單中的標記所對應的存儲數(shù)據(jù)。
進一步地,所述刪除所述允許刪除清單中的標記所對應的存儲數(shù)據(jù)包括:刪除對應的存儲數(shù)據(jù)允許刪除清單中的全部標記所對應的存儲數(shù)據(jù)。
另一方面,本發(fā)明提供了第二種數(shù)據(jù)管理方法,包括:
對寫入存儲設(shè)備的存儲數(shù)據(jù)進行打標,打標的標記與存儲數(shù)據(jù)的寫入時間一一對應;
接收刪除文件指令;
判斷最早的打標標記是否達到預設(shè)的時間閾值,若是,則在存儲設(shè)備中刪除所述最早的打標標記及其對應的存儲數(shù)據(jù)。
再一方面,本發(fā)明提供了一種數(shù)據(jù)管理裝置,包括:
打標模塊,用于對寫入存儲設(shè)備的存儲數(shù)據(jù)進行打標,打標的標記與存儲數(shù)據(jù)的寫入時間一一對應;
允許刪除清單模塊,用于響應寫入時間達到預設(shè)的時間閾值,將對應的標記保存在允許刪除清單中;
指令模塊,用于接收刪除文件指令;
文件刪除模塊,用于在存儲設(shè)備中刪除所述允許刪除清單中的標記所對應的存儲數(shù)據(jù);
標記刪除模塊,用于在允許刪除清單中刪除對應的標記。
進一步地,所述裝置還包括:
待寫入模塊,用于接收待寫入的目標存儲數(shù)據(jù);
檢測模塊,用于檢測存儲設(shè)備的剩余容量;
容量比較模塊,用于判斷所述剩余容量是否大于所述目標存儲數(shù)據(jù)的數(shù)據(jù)容量,所述容量比較模塊包括寫入再接收單元和指令發(fā)送單元,所述寫入再接收單元用于將目標存儲數(shù)據(jù)寫入存儲設(shè)備,并等待接收下一次待寫入的目標存儲數(shù)據(jù);所述指令發(fā)送單元用于發(fā)出刪除文件指令。
進一步地,所述裝置還包括:
第二容量比較模塊,用于判斷存儲設(shè)備當前剩余容量是否大于所述目標存儲數(shù)據(jù)的數(shù)據(jù)容量,所述第二容量比較模塊包括第二寫入再接收單元和再刪除單元,所述第二寫入再接收單元用于將目標存儲數(shù)據(jù)寫入存儲設(shè)備,并等待接收下一次待寫入的目標存儲數(shù)據(jù);所述再刪除單元用于再一次刪除所述允許刪除清單中的標記所對應的存儲數(shù)據(jù)。
再一方面,本發(fā)明提供了一種數(shù)據(jù)管理裝置,包括:
第二打標模塊,用于對寫入存儲設(shè)備的存儲數(shù)據(jù)進行打標,打標的標記與存儲數(shù)據(jù)的寫入時間一一對應;
第二指令模塊,用于接收刪除文件指令;
判斷模塊,用于判斷最早的打標標記是否達到預設(shè)的時間閾值;
刪除模塊,用于在存儲設(shè)備中刪除所述最早的打標標記及其對應的存儲數(shù)據(jù)。
本發(fā)明提供的技術(shù)方案帶來的有益效果如下:
a.通過延長擦寫周期,相應sd的單扇區(qū)擦寫周期也延長了,平衡各個扇區(qū)的使用頻率,有效防止個別扇區(qū)率先報廢,既延長了sd卡的使用壽命,又提高了sd卡存儲數(shù)據(jù)的安全性;
b.確保刪除的文件是超過時間閾值的,有效的杜絕了信息的誤刪除,提高數(shù)據(jù)的安全性和可靠性。
附圖說明
為了更清楚地說明本發(fā)明實施例中的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明實施例提供的數(shù)據(jù)管理方法的流程圖;
圖2是本發(fā)明實施例提供的刪除文件指令的觸發(fā)方法的流程圖;
圖3是本發(fā)明實施例提供的數(shù)據(jù)后續(xù)管理方法的流程圖;
圖4是本發(fā)明實施例提供的第二種數(shù)據(jù)管理方法的流程圖;
圖5是本發(fā)明實施例提供的數(shù)據(jù)管理裝置的模塊框圖;
圖6是本發(fā)明實施例提供的第二種數(shù)據(jù)管理裝置的模塊框圖;
圖7是本發(fā)明實施例提供的延長擦寫周期的示意圖。
具體實施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分的實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應當屬于本發(fā)明保護的范圍。
需要說明的是,本發(fā)明的說明書和權(quán)利要求書及上述附圖中的術(shù)語“第一”、“第二”等是用于區(qū)別類似的對象,而不必用于描述特定的順序或先后次序。應該理解這樣使用的數(shù)據(jù)在適當情況下可以互換,以便這里描述的本發(fā)明的實施例能夠以除了在這里圖示或描述的那些以外的順序?qū)嵤4送?,術(shù)語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、裝置、產(chǎn)品或設(shè)備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或?qū)τ谶@些過程、方法、產(chǎn)品或設(shè)備固有的其它步驟或單元。
實施例1
在本發(fā)明的一個實施例中,提供了一種數(shù)據(jù)管理方法,參見圖1,包括:
s1、對寫入存儲設(shè)備的存儲數(shù)據(jù)進行打標,打標的標記與存儲數(shù)據(jù)的寫入時間一一對應。
具體地,所述打標可視作對寫入存儲設(shè)備的存儲數(shù)據(jù)(即文件)進行編號,文件編號可以以創(chuàng)建時間(即寫入時間)進行命名,實現(xiàn)一一對應,比如文件編號201706011130,表示的是該文件是2017年6月1日11點30分寫入到存儲設(shè)備中的。
s2、判斷寫入時間是否達到預設(shè)的時間閾值,若是,執(zhí)行s3。
s3、將對應的標記保存在允許刪除清單中。
當存儲設(shè)備(比如sd卡)中第一次出現(xiàn)文件編號對應的創(chuàng)建時間超過時間閾值,則新建一個允許刪除清單,將該文件編號新增到該清單中。創(chuàng)建時間超過時間閾值可作如下定義:
比如,預設(shè)的時間閾值為20天,當前時間為2017年6月21日12:00,則對于文件編號201706011130的數(shù)據(jù),判定為達到預設(shè)的時間閾值,而對于201706011300的數(shù)據(jù),則判定為未達到預設(shè)的時間閾值。
s4、接收刪除文件指令。
當觸發(fā)文件刪除指令后,則接收該刪除指令,具體觸發(fā)刪除指令的方式在下述實施例中進行說明。
s5、在存儲設(shè)備中刪除所述允許刪除清單中的標記所對應的存儲數(shù)據(jù)。
s6、在允許刪除清單中刪除對應的標記。
在本實施例中,通過開辟允許刪除清單,限制了刪除文件的隨意性,即確保刪除的文件是創(chuàng)建時間達到預設(shè)的時間閾值的,所述時間閾值根據(jù)實際應用可以設(shè)定,比如,在日志記錄方面,若31天前的日志是沒有參考價值的日志,則時間閾值可以設(shè)定為31天,甚至更久。由于確保了刪除的文件是超過時間閾值的,因此有效的杜絕了信息的誤刪除,提高數(shù)據(jù)的安全性和可靠性。
實施例2
在實施例1的基礎(chǔ)上,本實施例中提供了刪除文件指令的觸發(fā)方法,參見圖2,所述方法流程包括:
s201、接收待寫入的目標存儲數(shù)據(jù)。
s202、檢測存儲設(shè)備的剩余容量。
s203、判斷所述剩余容量是否大于目標存儲數(shù)據(jù)的數(shù)據(jù)量,若是,則執(zhí)行s204和s205,否則執(zhí)行s206-s208。
s204、將目標存儲數(shù)據(jù)寫入存儲設(shè)備。
s205、等待接受下一次的待寫入的目標存儲數(shù)據(jù)。
s206、觸發(fā)刪除文件指令。
s207、在存儲設(shè)備中刪除所述允許刪除清單中存儲時間最早的標記所對應的存儲數(shù)據(jù)。
s208、在允許刪除清單中刪除該最早的標記。
根據(jù)本實施例中的數(shù)據(jù)管理方法,是在存儲設(shè)備的剩余容量不足以存儲下一個待存儲的文件的數(shù)據(jù)容量時,觸發(fā)刪除指令,根據(jù)刪除指令,在允許刪除清單中查找對應存儲時間最早的標記,根據(jù)該標記,在存儲設(shè)備中刪除該標記對應的存儲文件,同時,在允許刪除清單中刪除該標記,此方法延長了sd卡的擦寫周期,參見圖7,使各個扇區(qū)的擦寫頻率趨近于均勻一致,減少個別扇區(qū)率先報廢的幾率及對應的格式化操作,理想狀態(tài)下整個sd卡的扇區(qū)到一定使用時間后統(tǒng)一報廢,提高數(shù)據(jù)安全性。
實施例3
在實施例2的基礎(chǔ)上,本實施例中提供了一種文件后續(xù)管理方法,參見圖3,所述方法流程包括:
s301、觸發(fā)刪除文件指令。
s302、在存儲設(shè)備中刪除允許刪除清單中最早的標記所對應的存儲數(shù)據(jù)。
s303、在允許刪除清單中刪除該最早的標記。
s304、判斷存儲設(shè)備當前剩余容量是否大于目標存儲數(shù)據(jù)容量,若是,則執(zhí)行s305和s306,否則返回執(zhí)行s302-s304,即繼續(xù)刪除最早的一個文件后,再進行容量空間比較判斷。
s305、將目標存儲數(shù)據(jù)寫入存儲設(shè)備。
當判斷結(jié)果為存儲設(shè)備當前剩余容量大于目標存儲數(shù)據(jù)容量時,即表示可以將待寫入的目標存儲數(shù)據(jù)寫入該存儲設(shè)備中。
s306、等待接收下一次待寫入的目標存儲數(shù)據(jù)。
完成寫入后,等待接收下一次待寫入的目標存儲數(shù)據(jù),再利用實施例2中的s201-s203,判斷是否觸發(fā)刪除文件指令,即本實施例中的s301。
在本發(fā)明的另一個實施例中,與實施例2和3不同的是,本實施例中不是單次刪除最早的一個文件,而是每觸發(fā)一次刪除指令,則將允許刪除清單中的全部標記所對應的存儲數(shù)據(jù)從存儲設(shè)備中刪除,并清空所述允許刪除清單中的標記記錄。這樣的好處是,雖然在延長擦寫周期方面有所欠缺,但是,在寫入文件時無需重復檢測存儲設(shè)備的剩余容量是否滿足需求,大大提高了文件的寫入效率。
實施例4
在本發(fā)明的一個實施例中,提供了第二種數(shù)據(jù)管理方法,參見圖4,包括以下流程:
s401、對寫入存儲設(shè)備的存儲數(shù)據(jù)進行打標,打標的標記與存儲數(shù)據(jù)的寫入時間一一對應;
s402、接收刪除文件指令;
s403、判斷最早的打標標記是否達到預設(shè)的時間閾值,若是,則執(zhí)行s404;
s404、在存儲設(shè)備中刪除所述最早的打標標記及其對應的存儲數(shù)據(jù)。
與實施例1-3不同的是,本實施例中不存在允許刪除清單,而是在接收到刪除文件指令時,查找時間最早的打標標記,判斷其是否達到預設(shè)的時間閾值,若達到,則刪除對應的存儲數(shù)據(jù),同步刪除其標記。
實施例5
在本發(fā)明的一個實施例中,提供了一種數(shù)據(jù)管理裝置,參見圖5,所述裝置包括以下模塊:
打標模塊,用于對寫入存儲設(shè)備的存儲數(shù)據(jù)進行打標,打標的標記與存儲數(shù)據(jù)的寫入時間一一對應;
允許刪除清單模塊,用于響應寫入時間達到預設(shè)的時間閾值,將對應的標記保存在允許刪除清單中;
指令模塊,用于接收刪除文件指令;
文件刪除模塊,用于在存儲設(shè)備中刪除所述允許刪除清單中的標記所對應的存儲數(shù)據(jù);
標記刪除模塊,用于在允許刪除清單中刪除對應的標記。
進一步地,所述裝置還包括:
待寫入模塊,用于接收待寫入的目標存儲數(shù)據(jù);
檢測模塊,用于檢測存儲設(shè)備的剩余容量;
容量比較模塊,用于判斷所述剩余容量是否大于所述目標存儲數(shù)據(jù)的數(shù)據(jù)容量,所述容量比較模塊包括寫入再接收單元和指令發(fā)送單元,所述寫入再接收單元用于將目標存儲數(shù)據(jù)寫入存儲設(shè)備,并等待接收下一次待寫入的目標存儲數(shù)據(jù);所述指令發(fā)送單元用于發(fā)出刪除文件指令。
進一步地,所述裝置還包括:
第二容量比較模塊,用于判斷存儲設(shè)備當前剩余容量是否大于所述目標存儲數(shù)據(jù)的數(shù)據(jù)容量,所述第二容量比較模塊包括第二寫入再接收單元和再刪除單元,所述第二寫入再接收單元用于將目標存儲數(shù)據(jù)寫入存儲設(shè)備,并等待接收下一次待寫入的目標存儲數(shù)據(jù);所述再刪除單元用于再一次刪除所述允許刪除清單中的標記所對應的存儲數(shù)據(jù)。
需要說明的是:上述實施例提供的數(shù)據(jù)管理裝置在進行儲存數(shù)據(jù)管理時,僅以上述各功能模塊的劃分進行舉例說明,實際應用中,可以根據(jù)需要而將上述功能分配由不同的功能模塊完成,即將數(shù)據(jù)管理裝置的內(nèi)部結(jié)構(gòu)劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。另外,本實施例提供的數(shù)據(jù)管理裝置實施例與上述實施例1-3提供的數(shù)據(jù)管理方法屬于同一構(gòu)思,其具體實現(xiàn)過程詳見方法實施例,這里不再贅述。
實施例6
再一方面,本發(fā)明提供了一種數(shù)據(jù)管理裝置,包括:
第二打標模塊,用于對寫入存儲設(shè)備的存儲數(shù)據(jù)進行打標,打標的標記與存儲數(shù)據(jù)的寫入時間一一對應;
第二指令模塊,用于接收刪除文件指令;
判斷模塊,用于判斷最早的打標標記是否達到預設(shè)的時間閾值;
刪除模塊,用于在存儲設(shè)備中刪除所述最早的打標標記及其對應的存儲數(shù)據(jù)。
需要說明的是:上述實施例提供的數(shù)據(jù)管理裝置在進行儲存數(shù)據(jù)管理時,僅以上述各功能模塊的劃分進行舉例說明,實際應用中,可以根據(jù)需要而將上述功能分配由不同的功能模塊完成,即將數(shù)據(jù)管理裝置的內(nèi)部結(jié)構(gòu)劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。另外,本實施例提供的數(shù)據(jù)管理裝置實施例與上述實施例4提供的數(shù)據(jù)管理方法屬于同一構(gòu)思,其具體實現(xiàn)過程詳見方法實施例,這里不再贅述。
以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。