国产精品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>

      嵌入式系統(tǒng)及其數(shù)據(jù)刪除的方法

      文檔序號(hào):6545497閱讀:855來(lái)源:國(guó)知局
      嵌入式系統(tǒng)及其數(shù)據(jù)刪除的方法
      【專利摘要】本發(fā)明公開了一種嵌入式系統(tǒng)及其數(shù)據(jù)刪除的方法,將待刪除數(shù)據(jù)所在的文件從flash復(fù)制到RAM,再將文件中待刪除數(shù)據(jù)以外的數(shù)據(jù)寫入RAM,最后重新復(fù)制回flash,沒(méi)有直接執(zhí)行刪除操作,卻實(shí)現(xiàn)了數(shù)據(jù)刪除的目的。由于在RAM中執(zhí)行操作速度較快,因而相比直接在flash中刪除效率得到提高,既節(jié)省了處理數(shù)據(jù)的時(shí)間,也減低了CPU和內(nèi)存的使用率。
      【專利說(shuō)明】嵌入式系統(tǒng)及其數(shù)據(jù)刪除的方法
      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明涉及嵌入式【技術(shù)領(lǐng)域】,特別是涉及一種嵌入式系統(tǒng)及其數(shù)據(jù)刪除的方法?!颈尘凹夹g(shù)】
      [0002]在嵌入式系統(tǒng)的研究領(lǐng)域,由于技術(shù)的不斷進(jìn)步,將文件例如日志文件按照指定位置快速刪除的需求越來(lái)越高,在刪除過(guò)程中,既要保證時(shí)間高效性,也要提高CPU和內(nèi)存的使用率。
      [0003]在嵌入式系統(tǒng)中,CPU接有RAM (Random Access Memory,隨機(jī)存取存儲(chǔ)器)、flash (閃存)等系列外接設(shè)備,將文件直接在flash中刪除,只能一條數(shù)據(jù)一條數(shù)據(jù)的刪除,這樣耗費(fèi)很長(zhǎng)的時(shí)間,浪費(fèi)緩存,導(dǎo)致內(nèi)存使用率過(guò)高,不利于CPU其他任務(wù)的執(zhí)行,也不利于文件系統(tǒng)的大批量的操作,甚至可能引起系統(tǒng)崩潰。

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

      [0004]基于上述情況,本發(fā)明提出了一種嵌入式系統(tǒng)及其數(shù)據(jù)刪除的方法,以快速刪除文件中的數(shù)據(jù)。為此,本發(fā)明采用的方案如下。
      [0005]一種嵌入式系統(tǒng)數(shù)據(jù)的刪除方法,包括步驟:
      [0006]讀取刪除條件,根據(jù)所述刪除條件確定在flash中待刪除數(shù)據(jù)所在的文件及在文件中的起止位置;
      [0007]將待刪除數(shù)據(jù)所在的文件復(fù)制到RAM ;
      [0008]在RAM內(nèi),將復(fù)制的文件中,除待刪除數(shù)據(jù)以外的數(shù)據(jù),重新寫入RAM;
      [0009]將重新寫入RAM的數(shù)據(jù)復(fù)制到flash。
      [0010]一種嵌入式系統(tǒng),包括:
      [0011]刪除條件獲取模塊,用戶讀取刪除條件,并根據(jù)所述刪除條件確定在flash中待刪除數(shù)據(jù)所在的文件及在文件中的起止位置;
      [0012]數(shù)據(jù)復(fù)制模塊,用于將待刪除數(shù)據(jù)所在的文件復(fù)制到RAM ;
      [0013]數(shù)據(jù)處理模塊,用于在RAM內(nèi),將復(fù)制的文件中,除待刪除數(shù)據(jù)以外的數(shù)據(jù),重新寫入RAM ;
      [0014]所述數(shù)據(jù)復(fù)制模塊,還用于將重新寫入RAM的數(shù)據(jù)復(fù)制到flash。
      [0015]本發(fā)明嵌入式系統(tǒng)及其數(shù)據(jù)刪除的方法,將待刪除數(shù)據(jù)所在的文件從flash復(fù)制到RAM,再將待刪除數(shù)據(jù)以外的數(shù)據(jù)寫入RAM,最后重新復(fù)制回flash,實(shí)現(xiàn)數(shù)據(jù)的刪除。由于在RAM中執(zhí)行操作速度較快,因而相比直接在flash中刪除效率得到提高,既節(jié)省了處理數(shù)據(jù)的時(shí)間,也減低了 CPU和內(nèi)存的使用率。
      【專利附圖】

      【附圖說(shuō)明】
      [0016]圖1為本發(fā)明嵌入式系統(tǒng)數(shù)據(jù)的刪除方法的流程示意圖;
      [0017]圖2為本發(fā)明嵌入式系統(tǒng)的結(jié)構(gòu)示意圖?!揪唧w實(shí)施方式】
      [0018]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步的詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的【具體實(shí)施方式】?jī)H僅用以解釋本發(fā)明,并不限定本發(fā)明的保護(hù)范圍。
      [0019]本發(fā)明的嵌入式系統(tǒng)數(shù)據(jù)的刪除方法,如圖1所示,包括如下步驟:
      [0020]步驟slOl、讀取刪除條件,根據(jù)所述刪除條件確定在flash中待刪除數(shù)據(jù)所在的文件及在文件中的起止位置。對(duì)應(yīng)該步驟的可以是一個(gè)刪除數(shù)據(jù)接口函數(shù),有數(shù)據(jù)需要?jiǎng)h除時(shí),則調(diào)用該接口。由于flash中的文件是由文件頭數(shù)據(jù)和每一條數(shù)據(jù)內(nèi)容組成的,文件頭數(shù)據(jù)設(shè)計(jì)成記錄當(dāng)前操作位置和已寫入數(shù)據(jù)的總數(shù)量,文件頭以后就是具體數(shù)據(jù)內(nèi)容,每一條的數(shù)據(jù)內(nèi)容以格式和字?jǐn)?shù)相同為例,默認(rèn)刪除數(shù)據(jù)是從文件的第二條開始的。每條數(shù)據(jù)內(nèi)容包括在文件中的位置,數(shù)據(jù)記錄時(shí)間,數(shù)據(jù)內(nèi)容的優(yōu)先級(jí),數(shù)據(jù)日志ID等相關(guān)信肩、O
      [0021]下面以一個(gè)具體的例子解釋上述步驟。刪除文件接口函數(shù),有2個(gè)參數(shù):一個(gè)是需要?jiǎng)h除數(shù)據(jù)的條數(shù),當(dāng)條數(shù)為OxfTfTfTfT時(shí),默認(rèn)為刪除所有數(shù)據(jù),否則是指刪除條數(shù);一個(gè)是刪除的指定位置,這個(gè)指定位置,指的是從這個(gè)位置開始刪除,如果指定位置為O時(shí),是按存儲(chǔ)時(shí)間最早的開始刪除。當(dāng)需要?jiǎng)h除數(shù)據(jù)的條數(shù)大于等于當(dāng)前存儲(chǔ)文件條數(shù),直接刪除所有的數(shù)據(jù)。刪除數(shù)據(jù)的條數(shù)不能小于I條。找到刪除起止位置的過(guò)程為:讀取flash中待刪除數(shù)據(jù)所在文件的第一條內(nèi)容,讀出當(dāng)前操作位置CurPos和已經(jīng)記錄數(shù)據(jù)的總數(shù)量totalWrite,找到要?jiǎng)h除的數(shù)據(jù)的位置DelPreLef、DelPreRight、DelNextLeft、DelNextRight,將這4個(gè)參數(shù)保存在全局變量里,方便后續(xù)調(diào)用。
      [0022]步驟sl02、將待刪除數(shù)據(jù)所在的文件復(fù)制到RAM。具體是在RAM中分配一段緩存,用來(lái)存儲(chǔ)從flash中拷貝出來(lái)的文件。將整個(gè)文件復(fù)制到RAM,則后續(xù)的數(shù)據(jù)處理只需在RAM中進(jìn)行即可,減少了與flash的交互,有利于提高處理速度。
      [0023]步驟sl03、在RAM內(nèi),將復(fù)制的文件中,除待刪除數(shù)據(jù)以外的數(shù)據(jù),重新寫入RAM。本步驟是將步驟sl02復(fù)制的文件在RAM中重新寫一遍,但待刪除的數(shù)據(jù)段除外,僅寫入非待刪除數(shù)據(jù),形成一個(gè)新的文件,以下是具體實(shí)施例。
      [0024]根據(jù)上述參數(shù)DelPreLef、DelPreRight、DelNextLeft、DelNextRight,找到文件中要?jiǎng)h除數(shù)據(jù)所在的位置。比較當(dāng)前操作位置CurPos和已經(jīng)記錄的數(shù)據(jù)的總數(shù)量totalWrite,如果CurPos小于totalfcite,說(shuō)明當(dāng)前文件已經(jīng)繞接過(guò);如果CurPos等于totalWrite,說(shuō)明數(shù)據(jù)文件沒(méi)有繞接過(guò)。沒(méi)有繞接過(guò)的,一定刪除一段數(shù)據(jù),繞接過(guò)的,可能刪除一段數(shù)據(jù),也可能刪除兩段數(shù)據(jù)。DelPreLef和DelPreRight之間為一段刪除的數(shù)據(jù),DelNextLeft 和 DelNextRight 之間為另一段刪除的數(shù)據(jù),當(dāng) DelNextLeft 和 DelNextRight都為O時(shí),說(shuō)明只刪除一段數(shù)據(jù)。初始化RAM中所復(fù)制的文件的文件頭數(shù)據(jù):將當(dāng)前操作位置CurPos和已經(jīng)寫入數(shù)據(jù)的總數(shù)量totalWrite都置為I。另定義一個(gè)全局變量:文件可保存的總數(shù)量TotalCount,目的是以便后續(xù)多次調(diào)用寫入RAM數(shù)據(jù)文件接口函數(shù)。并建立文件的起始指針,用來(lái)描述數(shù)據(jù)位置。
      [0025]以刪除數(shù)據(jù)的起始位置為O為例,如果待刪除數(shù)據(jù)所在的文件如日志文件是沒(méi)有繞接過(guò)的,且只刪除了 M條數(shù)據(jù)(M〈CUrP0S),則只需要將M到CurPos之間的數(shù)據(jù)拷貝到RAM中即可。如果日志文件是繞接過(guò)的,且只刪除I段,那么需要拷貝2段數(shù)據(jù)。如果日志文件是繞接過(guò)的,且刪除2段,那么需要拷貝I段數(shù)據(jù)。
      [0026]計(jì)算拷貝起始指針的位置和拷貝數(shù)據(jù)段條數(shù):調(diào)用寫入RAM數(shù)據(jù)文件接口,寫入RAM數(shù)據(jù)文件接口中,有2個(gè)參數(shù),一個(gè)為之前提起的拷貝起始指針的位置,一個(gè)為需要拷貝數(shù)據(jù)條數(shù)。首先查看要寫入新數(shù)據(jù)的位置,讀文件頭數(shù)據(jù),根據(jù)文件頭數(shù)據(jù)記錄的當(dāng)前操作位置,將新的數(shù)據(jù)段寫入到文件中,再更新文件頭數(shù)據(jù)內(nèi)容。當(dāng)達(dá)到最大數(shù)據(jù)內(nèi)容以后(當(dāng)當(dāng)前操作位置CurPos大于等于已經(jīng)寫入數(shù)據(jù)的總數(shù)量TotalCount, CurPos從頭開始計(jì)數(shù);當(dāng)已經(jīng)寫入的總數(shù)量totalWrite大于等于文件可保存的總數(shù)量TotalCount,totalWrite值開始不變),當(dāng)前操作位置不變,寫入數(shù)據(jù)的總數(shù)量開始不變。最后寫入文件頭數(shù)據(jù)內(nèi)容。
      [0027]步驟sl04、將重新寫入RAM的數(shù)據(jù)復(fù)制到flash。本步驟是將在RAM中處理好的文件拷回flash,處理好的文件中不包括待刪除數(shù)據(jù),因而相當(dāng)于刪除了待刪除數(shù)據(jù)。
      [0028]下面介紹本發(fā)明的嵌入式系統(tǒng),與上述刪除方法相對(duì)應(yīng),本嵌入式系統(tǒng)具有快速刪除數(shù)據(jù)的功能,其結(jié)構(gòu)如圖2所示,包括:
      [0029]刪除條件獲取模塊,用戶讀取刪除條件,并根據(jù)所述刪除條件確定在flash中待刪除數(shù)據(jù)所在的文件及在文件中的起止位置;
      [0030]數(shù)據(jù)復(fù)制模塊,用于將待刪除數(shù)據(jù)所在的文件復(fù)制到RAM ;
      [0031]數(shù)據(jù)處理模塊,用于在RAM內(nèi),將復(fù)制的文件中,除待刪除數(shù)據(jù)以外的數(shù)據(jù),重新寫入RAM ;
      [0032]所述數(shù)據(jù)復(fù)制模塊,還用于將重新寫入RAM的數(shù)據(jù)復(fù)制到flash。
      [0033]上述刪除條件獲取模塊、數(shù)據(jù)復(fù)制模塊,及數(shù)據(jù)處理模塊依次相連,其中,數(shù)據(jù)復(fù)制模塊還分別與flash和RAM相連,數(shù)據(jù)處理模塊也與RAM相連,從而形成本嵌入式系統(tǒng)。
      [0034]作為一個(gè)優(yōu)選的實(shí)施例,所述刪除條件包括待刪除數(shù)據(jù)的條數(shù)和在文件中的起始位置;
      [0035]所述起止位置中的終止位置根據(jù)條數(shù)和起始位置得來(lái)。
      [0036]作為一個(gè)優(yōu)選的實(shí)施例,若所述刪除條件中的起始位置為0,則所述刪除條件獲取模塊將文件中存儲(chǔ)時(shí)間最早的一條數(shù)據(jù)所在的位置作為起始位置;
      [0037]若所述條數(shù)為Oxffffffff,則所述刪除條件獲取模塊將文件中第一條數(shù)據(jù)和最后一條數(shù)據(jù)所在的位置作為起止位置。
      [0038]作為一個(gè)優(yōu)選的實(shí)施例,所述數(shù)據(jù)復(fù)制模塊,在將重新寫入RAM的數(shù)據(jù)復(fù)制到flash時(shí),覆蓋待刪除數(shù)據(jù)所在的原文件。
      [0039]作為一個(gè)優(yōu)選的實(shí)施例,所述數(shù)據(jù)為嵌入式系統(tǒng)日志文件中的數(shù)據(jù)。
      [0040]綜上,本發(fā)明的嵌入式系統(tǒng)及其數(shù)據(jù)的刪除方法,借助RAM進(jìn)行數(shù)據(jù)處理,沒(méi)有直接執(zhí)行刪除操作,但卻實(shí)現(xiàn)了刪除目的,且相比直接刪除的方法具有更高的速度和效率。
      [0041]以上所述實(shí)施例僅表達(dá)了本發(fā)明的幾種實(shí)施方式,其描述較為具體和詳細(xì),但并不能因此而理解為對(duì)本發(fā)明專利范圍的限制。應(yīng)當(dāng)指出的是,對(duì)于本領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn),這些都屬于本發(fā)明的保護(hù)范圍。因此,本發(fā)明專利的保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。
      【權(quán)利要求】
      1.一種嵌入式系統(tǒng)數(shù)據(jù)的刪除方法,其特征在于,包括步驟: 讀取刪除條件,根據(jù)所述刪除條件確定在flash中待刪除數(shù)據(jù)所在的文件及在文件中的起止位置; 將待刪除數(shù)據(jù)所在的文件復(fù)制到RAM ; 在RAM內(nèi),將復(fù)制的文件中,除待刪除數(shù)據(jù)以外的數(shù)據(jù),重新寫入RAM ; 將重新寫入RAM的數(shù)據(jù)復(fù)制到flash。
      2.根據(jù)權(quán)利要求1所述的嵌入式系統(tǒng)數(shù)據(jù)的刪除方法,其特征在于, 所述刪除條件包括待刪除數(shù)據(jù)的條數(shù)和在文件中的起始位置; 所述起止位置中的終止位置根據(jù)條數(shù)和起始位置得來(lái)。
      3.根據(jù)權(quán)利要求2所述的嵌入式系統(tǒng)數(shù)據(jù)的刪除方法,其特征在于, 若所述起始位置為O,則從存儲(chǔ)時(shí)間最早的一條數(shù)據(jù)開始刪除; 若所述條數(shù)為Oxffffffff,則刪除文件中的所有數(shù)據(jù)。
      4.根據(jù)權(quán)利要求1或2或3所述的嵌入式系統(tǒng)數(shù)據(jù)的刪除方法,其特征在于, 將重新寫入RAM的數(shù)據(jù)復(fù)制到flash時(shí),覆蓋待刪除數(shù)據(jù)所在的原文件。
      5.根據(jù)權(quán)利要求1或2或3所述的嵌入式系統(tǒng)數(shù)據(jù)的刪除方法,其特征在于, 所述數(shù)據(jù)為嵌入式系統(tǒng)日志文件中的數(shù)據(jù)。
      6.一種嵌入式系統(tǒng),其特征在于,包括: 刪除條件獲取模塊,用戶讀取刪除條件,并根據(jù)所述刪除條件確定在flash中待刪除數(shù)據(jù)所在的文件及在文件中的起止位置; 數(shù)據(jù)復(fù)制模塊,用于將待刪除數(shù)據(jù)所在的文件復(fù)制到RAM ; 數(shù)據(jù)處理模塊,用于在RAM內(nèi),將復(fù)制的文件中,除待刪除數(shù)據(jù)以外的數(shù)據(jù),重新寫入RAM ; 所述數(shù)據(jù)復(fù)制模塊,還用于將重新寫入RAM的數(shù)據(jù)復(fù)制到flash。
      7.根據(jù)權(quán)利要求6所述的嵌入式系統(tǒng),其特征在于, 所述刪除條件包括待刪除數(shù)據(jù)的條數(shù)和在文件中的起始位置; 所述起止位置中的終止位置根據(jù)條數(shù)和起始位置得來(lái)。
      8.根據(jù)權(quán)利要求7所述的嵌入式系統(tǒng),其特征在于, 若所述刪除條件中的起始位置為0,則所述刪除條件獲取模塊將文件中存儲(chǔ)時(shí)間最早的一條數(shù)據(jù)所在的位置作為起始位置; 若所述條數(shù)為OxfTfTfTfT,則所述刪除條件獲取模塊將文件中第一條數(shù)據(jù)和最后一條數(shù)據(jù)所在的位置作為起止位置。
      9.根據(jù)權(quán)利要求6或7或8所述的嵌入式系統(tǒng),其特征在于, 所述數(shù)據(jù)復(fù)制模塊,在將重新寫入RAM的數(shù)據(jù)復(fù)制到flash時(shí),覆蓋待刪除數(shù)據(jù)所在的原文件。
      10.根據(jù)權(quán)利要求6或7或8所述的嵌入式系統(tǒng),其特征在于, 所述數(shù)據(jù)為嵌入式系統(tǒng)日志文件中的數(shù)據(jù)。
      【文檔編號(hào)】G06F17/30GK103955513SQ201410183305
      【公開日】2014年7月30日 申請(qǐng)日期:2014年4月30日 優(yōu)先權(quán)日:2014年4月30日
      【發(fā)明者】宋美威, 吳鵬 申請(qǐng)人:廣東威創(chuàng)視訊科技股份有限公司
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1