国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種flash數(shù)據(jù)處理方法以及裝置制造方法

      文檔序號:6486399閱讀:136來源:國知局
      一種flash數(shù)據(jù)處理方法以及裝置制造方法
      【專利摘要】本發(fā)明公開了一種FLASH數(shù)據(jù)處理方法以及裝置,該方法包括:嵌入式系統(tǒng)啟動后,當對所述嵌入式系統(tǒng)的設(shè)定目錄下的數(shù)據(jù)執(zhí)行操作時,以設(shè)定的時間周期歸檔所述設(shè)定目錄下的數(shù)據(jù)得到備份數(shù)據(jù),并為得到的備份數(shù)據(jù)添加用于表示備份數(shù)據(jù)生成時間先后順序的編號信息;在目標閃存FLASH的各個分區(qū)中輪流寫入添加編號信息的備份數(shù)據(jù)。該方案可以從根本上避免系統(tǒng)異常時FLASH數(shù)據(jù)損壞的問題。
      【專利說明】一種FLASH數(shù)據(jù)處理方法以及裝置
      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明涉及通信【技術(shù)領(lǐng)域】,尤指一種FLASH數(shù)據(jù)處理方法以及裝置。
      【背景技術(shù)】
      [0002]閃存(Flash Memory,FLASH)是一種可快速擦除、可現(xiàn)場編程的非易失性快擦寫存儲器。由于FLASH具有非易失性,它被廣泛用于在線擦寫、掉電保護數(shù)據(jù)、分區(qū)保護數(shù)據(jù)等場合,在現(xiàn)代通信及微電子領(lǐng)域的應(yīng)用極為廣泛。
      [0003]嵌入式系統(tǒng)的配置數(shù)據(jù)和日志信息一般存儲在FLASH中,通常使用閃存設(shè)備日志型文件系統(tǒng)第 2 版(Journaling Flash File System Version 2, JFFS2),當用戶對該嵌入式系統(tǒng)的設(shè)定目錄下的數(shù)據(jù)執(zhí)行創(chuàng)建、修改、刪除等等操作時,嵌入式系統(tǒng)會定期備份該設(shè)定目錄下的數(shù)據(jù),并將備份數(shù)據(jù)寫入FLASH中,新寫入的備份數(shù)據(jù)會替換已有的備份數(shù)據(jù)。一旦發(fā)生系統(tǒng)掉電等異常狀態(tài)需要對設(shè)定目錄下的數(shù)據(jù)進行恢復(fù)時,直接將FLASH中存儲的備份數(shù)據(jù)導(dǎo)入設(shè)定目錄下即可。但是,如果正在寫入新的備份數(shù)據(jù)時系統(tǒng)出現(xiàn)異常,那么新寫入的備份數(shù)據(jù)就可能發(fā)生損壞,進而也就無法實現(xiàn)對FLASH數(shù)據(jù)的恢復(fù)。
      [0004]因此,現(xiàn)有技術(shù)中的FLASH數(shù)據(jù)處理方法不能解決系統(tǒng)異常時FLASH數(shù)據(jù)損壞的問題。

      【發(fā)明內(nèi)容】

      [0005]本發(fā)明實施例提供一種FLASH數(shù)據(jù)處理方法以及裝置,用以解決現(xiàn)有技術(shù)中的FLASH數(shù)據(jù)處理方法不能解決系統(tǒng)異常時FLASH數(shù)據(jù)損壞的問題。
      [0006]一種FLASH數(shù)據(jù)處理方法,包括:
      [0007]嵌入式系統(tǒng)啟動后,當對所述嵌入式系統(tǒng)的設(shè)定目錄下的數(shù)據(jù)執(zhí)行操作時,以設(shè)定的時間周期歸檔所述設(shè)定目錄下的數(shù)據(jù)得到備份數(shù)據(jù),并為得到的備份數(shù)據(jù)添加用于表示備份數(shù)據(jù)生成時間先后順序的編號信息;
      [0008]在目標閃存FLASH的各個分區(qū)中輪流寫入添加編號信息的備份數(shù)據(jù)。
      [0009]一種FLASH數(shù)據(jù)處理裝置,包括:
      [0010]數(shù)據(jù)備份單元,用于嵌入式系統(tǒng)啟動后,當對所述嵌入式系統(tǒng)的設(shè)定目錄下的數(shù)據(jù)執(zhí)行操作時,以設(shè)定的時間周期歸檔所述設(shè)定目錄下的數(shù)據(jù)得到備份數(shù)據(jù),并為得到的備份數(shù)據(jù)添加用于表示備份數(shù)據(jù)生成時間先后順序的編號信息;
      [0011]數(shù)據(jù)寫入單元,用于在目標閃存FLASH的各個分區(qū)中輪流寫入添加編號信息的備份數(shù)據(jù)。
      [0012]本發(fā)明有益效果如下:
      [0013]本發(fā)明實施例提供的FLASH數(shù)據(jù)處理方法以及裝置,嵌入式系統(tǒng)啟動后,當對所述嵌入式系統(tǒng)的設(shè)定目錄下的數(shù)據(jù)執(zhí)行操作時,以設(shè)定的時間周期歸檔所述設(shè)定目錄下的數(shù)據(jù)得到備份數(shù)據(jù),并為得到的備份數(shù)據(jù)添加用于表示備份數(shù)據(jù)生成時間先后順序的編號信息;在目標閃存FLASH的各個分區(qū)中輪流寫入添加編號信息的備份數(shù)據(jù)。由于將目標FLASH進行了分區(qū),并且將設(shè)定目錄的備份數(shù)據(jù)輪流寫入FLASH各個分區(qū)中,一旦嵌入式系統(tǒng)出現(xiàn)異常,至少有一個分區(qū)中的備份數(shù)據(jù)不會損壞,這樣就可以從根本上避免系統(tǒng)異常時FLASH數(shù)據(jù)損壞的問題。
      【專利附圖】

      【附圖說明】
      [0014]圖1為本發(fā)明實施例中FLASH數(shù)據(jù)處理方法的流程圖;
      [0015]圖2為本發(fā)明實施例中FLASH數(shù)據(jù)處理裝置的結(jié)構(gòu)示意圖。
      【具體實施方式】
      [0016]針對現(xiàn)有技術(shù)中的FLASH數(shù)據(jù)處理方法不能根本解決系統(tǒng)異常時FLASH數(shù)據(jù)損壞的問題,本發(fā)明實施例提供一種FLASH數(shù)據(jù)處理方法,該方法的流程如圖1所示,具體執(zhí)行步驟如下:
      [0017]S10:嵌入式系統(tǒng)啟動后,當對嵌入式系統(tǒng)的設(shè)定目錄下的數(shù)據(jù)執(zhí)行操作時,以設(shè)定的時間周期歸檔設(shè)定目錄下的數(shù)據(jù)得到備份數(shù)據(jù),并為得到的備份數(shù)據(jù)添加用于表示備份數(shù)據(jù)生成時間先后順序的編號信息。
      [0018]在嵌入時系統(tǒng)啟動后,將內(nèi)存文件系統(tǒng)掛載到嵌入式系統(tǒng)的根文件系統(tǒng),也就是掛載到嵌入式文件系統(tǒng)的設(shè)定目錄下,例如可以將RAMFS掛載到目錄/mnt/mtd下。
      [0019]可以采用基于Linux的inotify機制對設(shè)定目錄下的數(shù)據(jù)進行管理,當對設(shè)定目錄下的數(shù)據(jù)執(zhí)行修改、倉Il建、刪除等等操作時,inotify機制會返回一個消息??梢栽O(shè)定時間周期,一旦用戶對設(shè)定目錄下的數(shù)據(jù)執(zhí)行了任意的操作,就可以按照設(shè)定的時間周期存儲設(shè)定目錄下的數(shù)據(jù)??梢愿鶕?jù)實際需要設(shè)定時間周期,當需要精確的記錄對設(shè)定目錄中的文件操作的情況時,可以將時間周期設(shè)定的短一些,反之,就可以將時間周期設(shè)定的長一些。這里僅僅是舉例說明了設(shè)定時間周期的兩種情況,當然并不局限于這里說明的兩種情況。
      [0020]一旦設(shè)定目錄內(nèi)有操作執(zhí)行時,就開始計時,設(shè)定的時間周期到期后就歸檔設(shè)定目錄下的數(shù)據(jù),得到備份數(shù)據(jù),例如可以壓縮設(shè)定目錄下的數(shù)據(jù),就得到壓縮數(shù)據(jù)包,并且為這些數(shù)據(jù)包分配編號信息,用來表示這些壓縮數(shù)據(jù)包生成時間先后順序??梢栽趬嚎s數(shù)據(jù)包中生成專門的編號信息文件一起存儲在壓縮數(shù)據(jù)包中,當然也可以采用其他的方式,在這里不再贅述。
      [0021]Sll:在目標閃存FLASH的各個分區(qū)中輪流寫入添加編號信息的備份數(shù)據(jù)。
      [0022]可以在對目標FLASH格式化時,將目標FLASH進行分區(qū),可以等分為空間相等的兩個、三個、四個等等分區(qū),較優(yōu)的是劃分為兩個分區(qū),分別記為blockl和block2。每個分區(qū)中都存儲有備份數(shù)據(jù),這些備份數(shù)據(jù)采用一定的文件格式,例如壓縮格式等等。
      [0023]假設(shè)目標FLASH分為兩個分區(qū)blockl和block2,就可以輪流在blockl和block2中寫入添加編號信息的備份數(shù)據(jù),若第一份備份數(shù)據(jù)寫入blockl中,第二份備份數(shù)據(jù)就寫Ablock2中,第三份備份數(shù)據(jù)再寫入blockl中并且替換第一份備份數(shù)據(jù),第四份備份數(shù)據(jù)再寫入block2中并且替換第二份備份數(shù)據(jù),依次類推。并且,只有當?shù)谝粋浞輸?shù)據(jù)寫入blockl后,第二份備份數(shù)據(jù)才會寫入block2;當?shù)诙浞輸?shù)據(jù)寫入block2后,第三份備份數(shù)據(jù)才會寫入blockl ;第三備份數(shù)據(jù)寫入blockl后,第四份備份數(shù)據(jù)才會寫入block2,也就是說在某一時刻只有一個block的數(shù)據(jù)在更新。
      [0024]S12:當嵌入式系統(tǒng)發(fā)生異常重新啟動后,在FLASH所有分區(qū)存儲的備份數(shù)據(jù)中選取一份有效備份數(shù)據(jù)導(dǎo)入設(shè)定目錄下,用于恢復(fù)設(shè)定目錄下的數(shù)據(jù)。
      [0025]當嵌入式系統(tǒng)發(fā)生斷電等異常現(xiàn)象時,就可以根據(jù)目標FLASH所有分區(qū)中存儲的備份數(shù)據(jù)進行數(shù)據(jù)恢復(fù)了??梢栽谀繕薋LASH所有分區(qū)存儲的數(shù)據(jù)包中選取一份有效備份數(shù)據(jù)導(dǎo)入設(shè)定目錄下,從而實現(xiàn)了恢復(fù)設(shè)定目錄下的數(shù)據(jù)。
      [0026]由于將目標FLASH進行了分區(qū),并且將設(shè)定目錄的備份數(shù)據(jù)輪流寫入FLASH各個分區(qū)中,一旦嵌入式系統(tǒng)出現(xiàn)異常,至少有一個分區(qū)中的備份數(shù)據(jù)不會損壞,這樣就可以從根本上避免系統(tǒng)異常時FLASH數(shù)據(jù)損壞的問題。
      [0027]具體的,上述S12中的在FLASH所有分區(qū)存儲的備份數(shù)據(jù)中選取一份有效備份數(shù)據(jù)導(dǎo)入設(shè)定目錄下,具體包括:檢測FLASH所有分區(qū)中存儲的備份數(shù)據(jù)是否有效;當檢測到FLASH至少一個分區(qū)中存儲的備份數(shù)據(jù)有效時,在所有有效的備份數(shù)據(jù)中選取編號信息最大的備份數(shù)據(jù)導(dǎo)入設(shè)定目錄下;當檢測到FLASH所有分區(qū)中存儲的備份數(shù)據(jù)均無效時,不導(dǎo)入備份數(shù)據(jù)到設(shè)定目錄下。
      [0028]在選取有效備份數(shù)據(jù)時,可以獲取目標FLASH所有分區(qū)存儲的備份數(shù)據(jù),并逐一進行檢測來判斷這些備份數(shù)據(jù)是否有效。下面以存儲的是壓縮數(shù)據(jù)包為例進行說明,當然存儲的也可以是其他格式的備份數(shù)據(jù),在這里不再贅述。
      [0029]當存儲的是經(jīng)過壓縮處理的壓縮數(shù)據(jù)包時,如果該壓縮數(shù)據(jù)包可以解壓打開且校驗信息正確,那么說明該壓縮數(shù)據(jù)包是有效的;否則,說明該壓縮數(shù)據(jù)包無效。
      [0030]如果至少有一個壓縮數(shù)據(jù)包有效,就選取編號信息最大的壓縮數(shù)據(jù)包導(dǎo)入設(shè)定目錄下,因為編號標識最大就代表是按照時間先后順序最后存入目標FLASH中的,也就是設(shè)定目錄下的最新的數(shù)據(jù)。
      [0031]當所有的壓縮數(shù)據(jù)包都無效時,也就說明目標FLASH中沒有成功備份設(shè)定目錄下的數(shù)據(jù),說明系統(tǒng)是初次運行的,則不導(dǎo)入備份數(shù)據(jù)到設(shè)定目錄下,也就是說設(shè)定目錄為空目錄。
      [0032]較佳的,上述FLASH數(shù)據(jù)處理方法,還包括:當需要立即存儲設(shè)定目錄下的數(shù)據(jù)時,歸檔設(shè)定目錄下的數(shù)據(jù)得到備份數(shù)據(jù),并為得到的備份數(shù)據(jù)添加用于表示備份數(shù)據(jù)生成時間先后順序的編號信息。
      [0033]當嵌入式系統(tǒng)中的應(yīng)用程序需要立即存儲設(shè)定目錄下的數(shù)據(jù)時,例如需要關(guān)機、重啟時,那么應(yīng)用程序就需要發(fā)送消息,例如使用套接字(Socket)通信,當接收到應(yīng)用程序發(fā)送的需要立即保存數(shù)據(jù)的消息時,就立即歸檔設(shè)定目錄下的數(shù)據(jù)得到備份數(shù)據(jù),并為得到的備份數(shù)據(jù)添加編號信息,并寫入相應(yīng)的FLASH分區(qū)中。
      [0034]具體的,上述為得到的備份數(shù)據(jù)添加用于表示備份數(shù)據(jù)生成時間先后順序的編號信息,具體包括:得到備份數(shù)據(jù)后,將當前的編號信息增加設(shè)定數(shù)值;為得到的備份數(shù)據(jù)添加增加設(shè)定數(shù)值的編號信息。
      [0035]可以將設(shè)定數(shù)值設(shè)定為1、2、3等等,這里以設(shè)定數(shù)值為I進行說明。若第一份備份數(shù)據(jù)添加的編號信息為1,那么后續(xù)在得到備份數(shù)據(jù)時,將當前的編號信息添加設(shè)定數(shù)值,也就是將當前的編號信息I添加1,得到編號信息2,就可以將2添加到得到的備份數(shù)據(jù)中。
      [0036]基于同一發(fā)明構(gòu)思,本發(fā)明實施例提供一種FLASH數(shù)據(jù)處理裝置,該裝置的結(jié)構(gòu)如圖2所示,包括:
      [0037]數(shù)據(jù)備份單元20,用于嵌入式系統(tǒng)啟動后,當對嵌入式系統(tǒng)的設(shè)定目錄下的數(shù)據(jù)執(zhí)行操作時,以設(shè)定的時間周期歸檔設(shè)定目錄下的數(shù)據(jù)得到備份數(shù)據(jù),并為得到的備份數(shù)據(jù)添加用于表示備份數(shù)據(jù)生成時間先后順序的編號信息。
      [0038]數(shù)據(jù)寫入單元21,用于在目標閃存FLASH的各個分區(qū)中輪流寫入添加編號信息的備份數(shù)據(jù)。
      [0039]較佳的,上述FLASH數(shù)據(jù)處理裝置還包括:數(shù)據(jù)導(dǎo)入單元22,用于當嵌入式系統(tǒng)發(fā)生異常重新啟動后,在FLASH所有分區(qū)存儲的備份數(shù)據(jù)中選取一份有效備份數(shù)據(jù)導(dǎo)入設(shè)定目錄下,用于恢復(fù)設(shè)定目錄下的數(shù)據(jù)。
      [0040]具體的,上述數(shù)據(jù)導(dǎo)入單元22,具體用于:檢測FLASH所有分區(qū)中存儲的備份數(shù)據(jù)是否有效;當檢測到FLASH至少一個分區(qū)中存儲的備份數(shù)據(jù)有效時,在所有有效的備份數(shù)據(jù)中選取編號信息最大的備份數(shù)據(jù)導(dǎo)入設(shè)定目錄下;當檢測到FLASH所有分區(qū)中存儲的備份數(shù)據(jù)均無效時,不導(dǎo)入備份數(shù)據(jù)到設(shè)定目錄下。
      [0041]具體的,上述數(shù)據(jù)備份單元20,還用于:當需要立即存儲設(shè)定目錄下的數(shù)據(jù)時,歸檔設(shè)定目錄下的數(shù)據(jù)得到備份數(shù)據(jù),并為得到的備份數(shù)據(jù)添加用于表示備份數(shù)據(jù)生成時間先后順序的編號信息。
      [0042]具體的,上述數(shù)據(jù)備份單元20,具體用于:得到備份數(shù)據(jù)后,將當前的編號信息增加設(shè)定數(shù)值;為得到的備份數(shù)據(jù)添加增加設(shè)定數(shù)值的編號信息。
      [0043]顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。
      【權(quán)利要求】
      1.一種FLASH數(shù)據(jù)處理方法,其特征在于,包括: 嵌入式系統(tǒng)啟動后,當對所述嵌入式系統(tǒng)的設(shè)定目錄下的數(shù)據(jù)執(zhí)行操作時,以設(shè)定的時間周期歸檔所述設(shè)定目錄下的數(shù)據(jù)得到備份數(shù)據(jù),并為得到的備份數(shù)據(jù)添加用于表示備份數(shù)據(jù)生成時間先后順序的編號信息; 在目標閃存FLASH的各個分區(qū)中輪流寫入添加編號信息的備份數(shù)據(jù)。
      2.如權(quán)利要求1所述的方法,其特征在于,還包括: 當所述嵌入式系統(tǒng)發(fā)生異常重新啟動后,在所述FLASH所有分區(qū)存儲的備份數(shù)據(jù)中選取一份有效備份數(shù)據(jù)導(dǎo)入所述設(shè)定目錄下,用于恢復(fù)所述設(shè)定目錄下的數(shù)據(jù)。
      3.如權(quán)利要求2所述的方法,其特征在于,在所述FLASH所有分區(qū)存儲的備份數(shù)據(jù)中選取一份有效備份數(shù)據(jù)導(dǎo)入所述設(shè)定目錄下,具體包括: 檢測所述FLASH所有分區(qū)中存儲的備份數(shù)據(jù)是否有效; 當檢測到所述FLASH至少一個分區(qū)中存儲的備份數(shù)據(jù)有效時,在所有有效的備份數(shù)據(jù)中選取編號信息最大的備份數(shù)據(jù)導(dǎo)入所述設(shè)定目錄下; 當檢測到所述FLASH所有分區(qū)中存儲的備份數(shù)據(jù)均無效時,不導(dǎo)入備份數(shù)據(jù)到所述設(shè)定目錄下。
      4.如權(quán)利要求1所述的方法,其特征在于,還包括: 當需要立即存儲所述設(shè)定目錄下的數(shù)據(jù)時,歸檔所述設(shè)定目錄下的數(shù)據(jù)得到備份數(shù)據(jù),并為得到的備份數(shù)據(jù)添加用于表示備份數(shù)據(jù)生成時間先后順序的編號信息。
      5.如權(quán)利要求1-4任一所述的方法,其特征在于,為得到的備份數(shù)據(jù)添加用于表示備份數(shù)據(jù)生成時間先后順序的編號信息,具體包括: 得到備份數(shù)據(jù)后,將當前的編號信息增加設(shè)定數(shù)值; 為得到的備份數(shù)據(jù)添加增加設(shè)定數(shù)值的編號信息。
      6.一種FLASH數(shù)據(jù)處理裝置,其特征在于,包括: 數(shù)據(jù)備份單元,用于嵌入式系統(tǒng)啟動后,當對所述嵌入式系統(tǒng)的設(shè)定目錄下的數(shù)據(jù)執(zhí)行操作時,以設(shè)定的時間周期歸檔所述設(shè)定目錄下的數(shù)據(jù)得到備份數(shù)據(jù),并為得到的備份數(shù)據(jù)添加用于表示備份數(shù)據(jù)生成時間先后順序的編號信息; 數(shù)據(jù)寫入單元,用于在目標閃存FLASH的各個分區(qū)中輪流寫入添加編號信息的備份數(shù)據(jù)。
      7.如權(quán)利要求6所述的裝置,其特征在于,還包括: 數(shù)據(jù)導(dǎo)入單元,用于當所述嵌入式系統(tǒng)發(fā)生異常重新啟動后,在所述FLASH所有分區(qū)存儲的備份數(shù)據(jù)中選取一份有效備份數(shù)據(jù)導(dǎo)入所述設(shè)定目錄下,用于恢復(fù)所述設(shè)定目錄下的數(shù)據(jù)。
      8.如權(quán)利要求7所述的裝置,其特征在于,所述數(shù)據(jù)導(dǎo)入單元,具體用于: 檢測所述FLASH所有分區(qū)中存儲的備份數(shù)據(jù)是否有效; 當檢測到所述FLASH至少一個分區(qū)中存儲的備份數(shù)據(jù)有效時,在所有有效的備份數(shù)據(jù)中選取編號信息最大的備份數(shù)據(jù)導(dǎo)入所述設(shè)定目錄下; 當檢測到所述FLASH所有分區(qū)中存儲的備份數(shù)據(jù)均無效時,不導(dǎo)入備份數(shù)據(jù)到所述設(shè)定目錄下。
      9.如權(quán)利要求7所述的裝置,其特征在于,所述數(shù)據(jù)備份單元,還用于:當需要立即存儲所述設(shè)定目錄下的數(shù)據(jù)時,歸檔所述設(shè)定目錄下的數(shù)據(jù)得到備份數(shù)據(jù),并為得到的備份數(shù)據(jù)添加用于表示備份數(shù)據(jù)生成時間先后順序的編號信息。
      10.如權(quán)利要求6-9任一所述的裝置,其特征在于,所述數(shù)據(jù)備份單元,具體用于: 得到備份數(shù)據(jù)后,將當前的編號信息增加設(shè)定數(shù)值; 為得到的備份數(shù)據(jù)添加增加設(shè)定數(shù)`值的編號信息。
      【文檔編號】G06F11/14GK103514063SQ201210209125
      【公開日】2014年1月15日 申請日期:2012年6月21日 優(yōu)先權(quán)日:2012年6月21日
      【發(fā)明者】高迎軍, 張興明, 傅利泉, 朱江明, 吳軍, 吳堅 申請人:浙江大華技術(shù)股份有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1