欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

數(shù)據(jù)存儲(chǔ)方法及裝置與流程

文檔序號(hào):11406704閱讀:197來(lái)源:國(guó)知局
數(shù)據(jù)存儲(chǔ)方法及裝置與流程

本發(fā)明涉及數(shù)據(jù)處理技術(shù)領(lǐng)域,具體涉及一種數(shù)據(jù)存儲(chǔ)方法及裝置。



背景技術(shù):

目前在安防監(jiān)控以及車輛監(jiān)控等領(lǐng)域,涉及到全時(shí)段的音視頻錄像需求,限于成本以及技術(shù)的問(wèn)題,錄制的數(shù)據(jù)會(huì)在存儲(chǔ)設(shè)備不斷地寫(xiě)入及刪除,在此過(guò)程中會(huì)產(chǎn)生大量的文件碎片,從而降低整個(gè)系統(tǒng)的效率和速度,減少存儲(chǔ)設(shè)備的壽命,并為存儲(chǔ)的數(shù)據(jù)帶來(lái)安全性及穩(wěn)定性上的風(fēng)險(xiǎn),而隨著高清、超高清以及多路錄像的需求與普及,上述問(wèn)題將愈加嚴(yán)峻。

現(xiàn)有技術(shù)中公開(kāi)了一種整理移動(dòng)終端文件碎片的方法,其做法是將整理區(qū)域內(nèi)的數(shù)據(jù)復(fù)制到另一存儲(chǔ)器中;再將整理區(qū)域進(jìn)行格式化;最后將復(fù)制到另一存儲(chǔ)器中的數(shù)據(jù)復(fù)制回格式化后的整理區(qū)域中,從而實(shí)現(xiàn)移動(dòng)終端存儲(chǔ)器的文件碎片整理。該方法客觀條件需要額外的配置一個(gè)獨(dú)立的存儲(chǔ)器,在對(duì)碎片進(jìn)行整理的過(guò)程中,需要兩次復(fù)制,并且操作的是存儲(chǔ)器中所有的數(shù)據(jù),效率低下。

現(xiàn)有技術(shù)中還提供了一種文件碎片的整理方法,其做法是為存儲(chǔ)設(shè)備分配連續(xù)的存儲(chǔ)空間,將存在碎片的文件移到分配好的連續(xù)存儲(chǔ)空間中,即更新碎片的文件的存儲(chǔ)地址為連續(xù)的空塊的地址,再對(duì)整理區(qū)域進(jìn)行格式化。該方法在效率上有了一定的提高,但每次運(yùn)行需要?jiǎng)澐种辽僖粔K單獨(dú)的連續(xù)地址,不能高效的利用存儲(chǔ)器,并且隨著碎片文件的增多,劃分空間的大小始終有限,適用范圍有限。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明提供一種數(shù)據(jù)存儲(chǔ)方法及裝置,通過(guò)使用該方法和裝置可以解決現(xiàn)有技術(shù)中存儲(chǔ)設(shè)備在存儲(chǔ)數(shù)據(jù)時(shí)會(huì)產(chǎn)生大量文件碎片,而導(dǎo)致的降低采用該存儲(chǔ)設(shè)備的系統(tǒng)效率降低以及減少存儲(chǔ)設(shè)備使用壽命的問(wèn)題,可以實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ)時(shí)避免產(chǎn)生文件碎片的效果,并且通用于常規(guī)的文件管理系統(tǒng),顯著的提高采用本發(fā)明方法和裝置的系統(tǒng)及存儲(chǔ)設(shè)備的性能和效率,降低了成本。

在一個(gè)實(shí)施例中,公開(kāi)了一種數(shù)據(jù)存儲(chǔ)方法的具體步驟,包括:

檢測(cè)存儲(chǔ)設(shè)備的剩余空間是否大于特定值;

若為是,則在存儲(chǔ)設(shè)備中創(chuàng)建新文件并根據(jù)預(yù)分配空間值為新文件分配空間及添加標(biāo)識(shí)信息;

若為否,則在存儲(chǔ)設(shè)備中根據(jù)標(biāo)識(shí)信息找到對(duì)應(yīng)數(shù)據(jù)的存儲(chǔ)時(shí)間最早的文件;

配置對(duì)應(yīng)文件為新文件;以及

將數(shù)據(jù)寫(xiě)入新文件,并在寫(xiě)入數(shù)據(jù)的大小達(dá)到預(yù)分配空間值時(shí)關(guān)閉新文件。

在一個(gè)實(shí)施例中,公開(kāi)了一種數(shù)據(jù)存儲(chǔ)裝置的具體組成,包括:

檢測(cè)模塊,用于檢測(cè)存儲(chǔ)設(shè)備的剩余空間是否大于預(yù)存的特定值;

第一預(yù)分配模塊,用于在剩余空間大于特定值時(shí),在存儲(chǔ)設(shè)備中創(chuàng)建新文件,根據(jù)預(yù)存的預(yù)分配空間值為新文件分配空間,根據(jù)數(shù)據(jù)的信息為新文件添加標(biāo)識(shí)信息;

第二預(yù)分配模塊,用于在剩余空間小于特定值時(shí),根據(jù)數(shù)據(jù)的信息在存儲(chǔ)設(shè)備中尋找具有對(duì)應(yīng)標(biāo)識(shí)信息的存儲(chǔ)時(shí)間最早的文件,并根據(jù)數(shù)據(jù)的信息更新文件的標(biāo)識(shí)信息;

存儲(chǔ)控制模塊,用于將數(shù)據(jù)寫(xiě)入新文件或第二預(yù)分配模塊更新標(biāo)識(shí)信息后的文件,并在寫(xiě)入的數(shù)據(jù)達(dá)到預(yù)存的預(yù)分配空間值后關(guān)閉新文件或第二預(yù)分配模塊更新標(biāo)識(shí)信息后的文件。

提供本發(fā)明內(nèi)容是以簡(jiǎn)化形式介紹在以下詳細(xì)描述中的一些概念。本發(fā)明內(nèi)容并不旨在標(biāo)識(shí)所要求保護(hù)的主題的關(guān)鍵特征或必要特征,也不旨在用于限制所要求保護(hù)的主題的范圍。

附圖說(shuō)明

圖1是本發(fā)明一實(shí)施例數(shù)據(jù)存儲(chǔ)方法的流程圖;

圖2是本發(fā)明一實(shí)施例為文件預(yù)分配空間的示意圖;

圖3是本發(fā)明一實(shí)施例預(yù)分配空間文件寫(xiě)入新數(shù)據(jù)的示意圖;

圖4是本發(fā)明一實(shí)施例覆寫(xiě)文件數(shù)據(jù)的示意圖;

圖5是本發(fā)明一實(shí)施例數(shù)據(jù)存儲(chǔ)裝置的功能模塊圖。

具體實(shí)施方式

文件碎片的形成具有多樣、復(fù)雜的原因,其與存儲(chǔ)數(shù)據(jù)的類型、大小,存儲(chǔ)設(shè)備本身的性質(zhì)以及數(shù)據(jù)寫(xiě)入刪除的頻繁程度相關(guān)。目前在復(fù)雜類型數(shù)據(jù)的存儲(chǔ)領(lǐng)域沒(méi)有較好的解決辦法,而對(duì)于安防、汽車監(jiān)控領(lǐng)域的視頻錄像數(shù)據(jù)存儲(chǔ)類單一數(shù)據(jù),現(xiàn)有的做法是將存儲(chǔ)設(shè)備配備成專用的文件管理系統(tǒng),可以防止文件碎片的產(chǎn)生,但由于文件格式特殊,其存儲(chǔ)的數(shù)據(jù)并不能通用于其他設(shè)備,而且成本較高,也不適用于復(fù)雜的數(shù)據(jù)存儲(chǔ)環(huán)境。

本發(fā)明提供的方法與裝置用于防止單一類型數(shù)據(jù)存儲(chǔ)情況下產(chǎn)生文件碎片的問(wèn)題,同時(shí)還可以適用于復(fù)雜的數(shù)據(jù)存儲(chǔ)環(huán)境,并做到文件數(shù)據(jù)通用的效果。

現(xiàn)今的行車記錄儀不僅需要同步、長(zhǎng)時(shí)間的存儲(chǔ)其車前、車后及車周等兩路或多路錄像源帶來(lái)的視頻數(shù)據(jù),同時(shí)還需要存儲(chǔ)例如gps導(dǎo)航,影音娛樂(lè),拍照等其余數(shù)據(jù),因此極易在其存儲(chǔ)設(shè)備中產(chǎn)生文件碎片,對(duì)使用帶來(lái)不便。下面就結(jié)合行車記錄儀的使用場(chǎng)景及附圖,對(duì)本發(fā)明的優(yōu)選實(shí)施例作詳細(xì)說(shuō)明。應(yīng)當(dāng)理解的是,此處所采用的運(yùn)用場(chǎng)景及描述的實(shí)施例僅用于解釋本發(fā)明,而非對(duì)本發(fā)明的限定。

參閱圖1,圖1示出了本發(fā)明一實(shí)施例數(shù)據(jù)存儲(chǔ)方法100的流程圖。一般而言,新接入系統(tǒng)的存儲(chǔ)設(shè)備會(huì)被格式化后再存儲(chǔ)數(shù)據(jù),方法100就用于將數(shù)據(jù)存儲(chǔ)至存儲(chǔ)設(shè)備,如圖1所示,當(dāng)需要存儲(chǔ)數(shù)據(jù)時(shí),方法100執(zhí)行以下步驟:

s110,檢測(cè)存儲(chǔ)設(shè)備的剩余空間是否大于一個(gè)特定值;

若存儲(chǔ)設(shè)備的剩余空間大于該特定值,則至

s120,創(chuàng)建新文件并根據(jù)預(yù)分配空間值為其分配空間及添加標(biāo)識(shí)信息。

具體地,當(dāng)需要存儲(chǔ)數(shù)據(jù)時(shí),需要檢測(cè)存儲(chǔ)設(shè)備的剩余空間是否大于一個(gè)預(yù)設(shè)的特定值,若判定為大于該特定值,則在存儲(chǔ)設(shè)備中創(chuàng)建一個(gè)新文件并為其預(yù)分配一個(gè)空間。如圖2所示,當(dāng)同時(shí)寫(xiě)入a、b兩個(gè)文件時(shí),通用的文件系統(tǒng)操作會(huì)根據(jù)數(shù)據(jù)寫(xiě)入順序同時(shí)為a、b文件分配存儲(chǔ)空間,那么就會(huì)造成單個(gè)文件的分離存儲(chǔ),從而形成文件碎片。而通過(guò)預(yù)分配空間的形式存儲(chǔ)文件,在文件開(kāi)始寫(xiě)入時(shí)就根據(jù)其大小預(yù)先分配好空余的空間,就可以保證文件數(shù)據(jù)的連續(xù)性,避免文件碎片的形成。特定值應(yīng)設(shè)定為大于或等于預(yù)分配空間值,而預(yù)分配空間值可以依據(jù)所存儲(chǔ)數(shù)據(jù)的類型、用途來(lái)制定,例如當(dāng)存儲(chǔ)設(shè)備的容量為500gb,而單次存儲(chǔ)的文件大小為400m至500m之間,那么預(yù)分配空間值就可以設(shè)定為500m。同時(shí),新文件中還需要添加所存儲(chǔ)數(shù)據(jù)的相關(guān)標(biāo)識(shí)信息,包括數(shù)據(jù)來(lái)源、數(shù)據(jù)類型及存儲(chǔ)時(shí)間等。

需要指出的是,當(dāng)存儲(chǔ)設(shè)備的空間被使用完畢,不足以再預(yù)分配空間給新的文件時(shí),就只能不斷地更新已經(jīng)存儲(chǔ)的數(shù)據(jù)類型,而不能存入新的數(shù)據(jù)。因此在其他實(shí)施方式中,可以保留一些空間供其他復(fù)雜數(shù)據(jù)使用,這個(gè)保留的空間大小設(shè)定為保留值,那么此時(shí)判斷存儲(chǔ)設(shè)備剩余空間的特定值的標(biāo)準(zhǔn)就應(yīng)當(dāng)大于或者等于預(yù)分配空間值與保留值。

當(dāng)完成新文件的配置后,進(jìn)行如下步驟:

s130,將數(shù)據(jù)寫(xiě)入該文件,當(dāng)寫(xiě)入數(shù)據(jù)大小達(dá)到預(yù)分配空間值時(shí)關(guān)閉該文件。

具體地,當(dāng)完成對(duì)新文件的空間分配后,就可以將數(shù)據(jù)寫(xiě)入該文件中,由于預(yù)先分配了空間,保證了存儲(chǔ)數(shù)據(jù)的連續(xù)性,因此不會(huì)與其它數(shù)據(jù)混合存儲(chǔ)并產(chǎn)生文件碎片。而當(dāng)寫(xiě)入的數(shù)據(jù)達(dá)到預(yù)分配空間值時(shí),或是此次寫(xiě)入數(shù)據(jù)已結(jié)束,就可以關(guān)閉該文件。當(dāng)所需存儲(chǔ)數(shù)據(jù)遠(yuǎn)大于預(yù)分配空間值時(shí),可在文件關(guān)閉后跳至步驟s110重新開(kāi)始實(shí)施本實(shí)施例的數(shù)據(jù)存儲(chǔ)方法。

而當(dāng)需要同時(shí)存儲(chǔ)多個(gè)數(shù)據(jù)時(shí),則可以為不同的數(shù)據(jù)建立不同的存儲(chǔ)線程,不同的存儲(chǔ)線程采用的特定值、預(yù)分配空間值等參數(shù)與標(biāo)識(shí)信息都不同,因而可以在實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ)連續(xù)性的同時(shí)不會(huì)造成數(shù)據(jù)的混淆,從而達(dá)到防止文件碎片生產(chǎn)的目的,而這些參數(shù)和設(shè)定可以由所屬領(lǐng)域的技術(shù)人員根據(jù)不同數(shù)據(jù)的性質(zhì)以及實(shí)際需要進(jìn)行配置。

在其他實(shí)施方式中,還可以單獨(dú)為文件的標(biāo)識(shí)信息進(jìn)行備份,然后調(diào)整文件的寫(xiě)入數(shù)據(jù)的順序,標(biāo)識(shí)信息最后一起寫(xiě)入,這樣可以進(jìn)一步保證存儲(chǔ)設(shè)備內(nèi)部數(shù)據(jù)的順序性,進(jìn)一步提供速度的穩(wěn)定性,同時(shí)由于標(biāo)識(shí)信息做了備份,系統(tǒng)出錯(cuò)或異常斷電也能保證之前錄制的數(shù)據(jù)不丟失。

以行車記錄儀為例,當(dāng)開(kāi)始錄像時(shí),首先會(huì)檢測(cè)存儲(chǔ)設(shè)備的剩余空間,并在剩余空間大于特定值時(shí)在存儲(chǔ)設(shè)備上建立一個(gè)新文件,同時(shí)為新文件預(yù)分配空間以及添加錄像數(shù)據(jù)的所屬錄像通道、錄像時(shí)間等標(biāo)識(shí)信息,繼而將錄像數(shù)據(jù)寫(xiě)入已經(jīng)分配好空間的文件中,這里的預(yù)分配空間值可以設(shè)定為100m,那么特定值就需要大于或等于100m,在其他實(shí)施方式中還可以根據(jù)錄像數(shù)據(jù)的碼流、用途等因素根據(jù)需要自主制定。在特定值的設(shè)定中除了考慮預(yù)分配空間值的大小之外,還可以增加為gps導(dǎo)航、影音娛樂(lè)及拍照等其余數(shù)據(jù)保留的空間,例如保留500m的空間,若預(yù)分配空間值為100m,那么特定值就需要大于或等于600m。

由于預(yù)分配空間的值是固定的,而錄像數(shù)據(jù)的大小與錄像通道的碼流大小和錄像時(shí)間長(zhǎng)短有關(guān)。因此可以根據(jù)錄像數(shù)據(jù)的碼流通過(guò)設(shè)定錄像時(shí)間來(lái)控制每段錄像數(shù)據(jù)的大小,使得寫(xiě)入的錄像數(shù)據(jù)略小于預(yù)分配的空間值,當(dāng)該段錄像的時(shí)間達(dá)到設(shè)定值就停止向選定文件寫(xiě)入數(shù)據(jù)。對(duì)于循環(huán)錄像而言,錄像數(shù)據(jù)的總大小必然會(huì)大于預(yù)分配的空間值,那么可以循環(huán)以上存儲(chǔ)流程直至錄像完畢。

由于行車記錄儀工作時(shí)會(huì)同時(shí)具有幾路的錄像通道,那么就需要根據(jù)每一路的錄像碼流參數(shù)為其對(duì)應(yīng)錄像數(shù)據(jù)設(shè)置單獨(dú)的存儲(chǔ)策略,其流程相同,但特定值、預(yù)分配空間值等參數(shù)不同,同時(shí)還具有不同的標(biāo)識(shí)信息,在運(yùn)行時(shí)有幾路錄像就有幾路存儲(chǔ)線程同時(shí)運(yùn)行,因此各個(gè)錄像通道之間的錄像數(shù)據(jù)不會(huì)互相混淆,防止了文件碎片的產(chǎn)生,而對(duì)相同錄像通道的錄像數(shù)據(jù)而言還因具有相同的信息標(biāo)識(shí)而保持了數(shù)據(jù)的連續(xù)性,利于進(jìn)行其他應(yīng)用。

由于存儲(chǔ)設(shè)備的容量并不是無(wú)上限的,當(dāng)存儲(chǔ)的數(shù)據(jù)接近存儲(chǔ)設(shè)備的容量時(shí)需要對(duì)舊文件進(jìn)行處理以便寫(xiě)入新數(shù)據(jù)。通常的做法是將舊文件刪除之后再寫(xiě)入新文件,但是這樣的做法會(huì)引入新的文件碎片,即便是采用了預(yù)分配空間的做法。如圖3所示,寫(xiě)入6個(gè)文件,由于其中一類文件的預(yù)分配空間值為另一類文件的2.5倍,因此文件a、c、e的大小為文件b、d、f的2.5倍。此時(shí)刪除文件b、d、f,又同時(shí)寫(xiě)入這兩類文件,那么會(huì)分別形成文件g及h,g文件大小是h文件的2.5倍,那么可以看到g文件被分成了多個(gè)片段,形成了文件碎片。因此需要對(duì)舊文件進(jìn)一步的處理,使得存儲(chǔ)設(shè)備在寫(xiě)入新數(shù)據(jù)同時(shí)不會(huì)形成文件碎片。

如果在步驟s110檢測(cè)到存儲(chǔ)設(shè)備的剩余空間小于特定值時(shí),進(jìn)行如下步驟:

s140,根據(jù)標(biāo)識(shí)信息找到對(duì)應(yīng)存儲(chǔ)數(shù)據(jù)的存儲(chǔ)時(shí)間最早的文件;

s150,配置該文件為新文件。當(dāng)文件配置完成后,轉(zhuǎn)至步驟s130寫(xiě)入數(shù)據(jù)。

具體地,當(dāng)存儲(chǔ)設(shè)備的剩余空間小于特定值,因而無(wú)法再在存儲(chǔ)設(shè)備上新建文件并預(yù)分配空間時(shí),就需要根據(jù)文件標(biāo)識(shí)信息找到存儲(chǔ)時(shí)間最早的一個(gè)文件,而對(duì)于有多種類型數(shù)據(jù)文件的情況而言,還需要匹配文件標(biāo)識(shí)中的數(shù)據(jù)文件類型信息。當(dāng)找到對(duì)應(yīng)的最早文件后,需要更新文件中的標(biāo)識(shí)信息為當(dāng)前寫(xiě)入數(shù)據(jù)的對(duì)應(yīng)信息,之后將數(shù)據(jù)直接寫(xiě)入該新文件中。

本發(fā)明實(shí)施例數(shù)據(jù)存儲(chǔ)方法100除了創(chuàng)建新文件時(shí),需要使用預(yù)分配策略分配空間外,以后都不會(huì)再分配和釋放空間了。如果文件錄制滿了,可以覆寫(xiě)預(yù)分配文件,而不用刪除文件后再重新分配空間,這樣就避免了文件碎片的產(chǎn)生。如圖4所示,同樣為寫(xiě)入兩種數(shù)據(jù)而預(yù)分配空間值不一致的情況,當(dāng)需要寫(xiě)入新數(shù)據(jù)時(shí),方法100會(huì)將數(shù)據(jù)覆寫(xiě)到對(duì)應(yīng)的舊文件中并形成新文件,如a文件為一種數(shù)據(jù)對(duì)應(yīng)的最早文件,則將a文件覆寫(xiě)入該種數(shù)據(jù)并將其配置為新文件g,而b文件為另一種數(shù)據(jù)對(duì)應(yīng)的最早文件,就將b文件覆寫(xiě)入該種數(shù)據(jù)并將其配置為新文件h,從而就避免了文件分離而形成文件碎片的情況。

由于新配置文件中的數(shù)據(jù)并沒(méi)有清除,而是直接寫(xiě)入新數(shù)據(jù),因此在特殊情況下如寫(xiě)入數(shù)據(jù)小于預(yù)分配空間值或異常斷電時(shí),可能會(huì)存在新舊數(shù)據(jù)同時(shí)存在于一個(gè)文件中的結(jié)果。對(duì)于一些特殊數(shù)據(jù)如音頻、視頻數(shù)據(jù)而言,新舊數(shù)據(jù)混合可能會(huì)導(dǎo)致文件無(wú)法播放的情況。

那么在其他實(shí)施方式中,步驟s150中對(duì)最早的對(duì)應(yīng)文件進(jìn)行配置的內(nèi)容除了更新標(biāo)識(shí)信息之外,需要對(duì)文件進(jìn)行截?cái)嗖僮?,即清除文件?nèi)的舊數(shù)據(jù),但同時(shí)保留文件的占有空間。這樣做的目的在于保持同一個(gè)文件內(nèi)數(shù)據(jù)的統(tǒng)一性,同時(shí)不能將文件的占有空間釋放出來(lái),因?yàn)獒尫趴臻g就相當(dāng)于刪除文件,無(wú)法實(shí)現(xiàn)預(yù)防文件碎片產(chǎn)生的效果。

由于在某些文件系統(tǒng)中,數(shù)據(jù)寫(xiě)出錯(cuò)會(huì)釋放之前預(yù)分配的空間,會(huì)導(dǎo)致文件碎片的形成。因此在存儲(chǔ)設(shè)備中存在不需要預(yù)分配空間的文件時(shí),就需要為預(yù)分配空間的文件的標(biāo)識(shí)信息中添加一個(gè)標(biāo)志,使得文件系統(tǒng)可以區(qū)分預(yù)分配文件與非預(yù)分配文件,僅對(duì)預(yù)分配的文件做保留空間的截?cái)嗖僮?,而非預(yù)分配文件可以正常的寫(xiě)入和刪除。

以fat32文件系統(tǒng)為例,使用系統(tǒng)短文件名目錄項(xiàng)中的偏移為0x0cbyte的第0bit作為區(qū)分是否為預(yù)分配文件的標(biāo)志,將其定義為prealloc_flag,因?yàn)榇薭it是文件系統(tǒng)保留沒(méi)有使用的。當(dāng)應(yīng)用層為新文件添加標(biāo)識(shí)信息時(shí)時(shí),對(duì)應(yīng)的內(nèi)核文件系統(tǒng)層接口寫(xiě)入prealloc_flag。以后,除非刪除文件,否則操作此文件時(shí),內(nèi)核文件系統(tǒng)層都可以區(qū)分該文件是否為預(yù)分配文件了。

以上更新數(shù)據(jù)的步驟以行車記錄儀為例,當(dāng)檢測(cè)到剩余空間不足時(shí),會(huì)根據(jù)當(dāng)前所需存儲(chǔ)錄像數(shù)據(jù)的錄像通道找到具有同樣標(biāo)識(shí)信息的最早的錄像文件,更新該文件的錄像時(shí)間等標(biāo)識(shí)信息,清空其中的錄像數(shù)據(jù)并保留空間,隨后將新的錄像數(shù)據(jù)寫(xiě)入該更新后的文件中,從而實(shí)現(xiàn)循環(huán)錄像的無(wú)縫連接,而不同通道之間的錄像數(shù)據(jù)也可以根據(jù)標(biāo)識(shí)信息進(jìn)行區(qū)分存儲(chǔ)。

參閱圖5,圖5示出了本發(fā)明一實(shí)施例數(shù)據(jù)存儲(chǔ)裝置200的功能模塊圖。裝置200用于將數(shù)據(jù)存儲(chǔ)至存儲(chǔ)設(shè)備300中,如圖5所示,裝置200包括:

檢測(cè)模塊210,用于檢測(cè)存儲(chǔ)設(shè)備300的剩余空間是否大于預(yù)存的特定值。

第一預(yù)分配模塊220,用于在檢測(cè)模塊210的檢測(cè)結(jié)果為剩余空間大于特定值時(shí)在存儲(chǔ)設(shè)備300中創(chuàng)建新文件,根據(jù)預(yù)存的預(yù)分配空間值為新文件分配空間,根據(jù)所存儲(chǔ)的數(shù)據(jù)信息為新文件添加標(biāo)識(shí)信息。

具體地,特定值可以依據(jù)預(yù)分配空間值來(lái)制定,要大于或等于預(yù)分配空間值,預(yù)分配空間值可以根據(jù)存儲(chǔ)數(shù)據(jù)的類型、用途來(lái)制定,新文件的標(biāo)識(shí)信息包括數(shù)據(jù)來(lái)源、數(shù)據(jù)類型及存儲(chǔ)時(shí)間等。

第二預(yù)分配模塊230,用于根據(jù)檢測(cè)模塊210的檢測(cè)結(jié)果為剩余空間小于特定值時(shí)根據(jù)當(dāng)前存儲(chǔ)數(shù)據(jù)信息在存儲(chǔ)設(shè)備300中尋找具有對(duì)應(yīng)標(biāo)識(shí)信息的存儲(chǔ)時(shí)間最早的文件,并根據(jù)當(dāng)前存儲(chǔ)數(shù)據(jù)信息更新該文件的標(biāo)識(shí)信息。

存儲(chǔ)控制模塊240,用于將存儲(chǔ)數(shù)據(jù)寫(xiě)入預(yù)分配模塊220創(chuàng)建的新文件或更新標(biāo)識(shí)后的文件,并在寫(xiě)入的數(shù)據(jù)達(dá)到預(yù)存的預(yù)分配空間值后關(guān)閉該文件。

具體地,當(dāng)存儲(chǔ)設(shè)備300不允許再創(chuàng)建新文件時(shí),第二預(yù)分配模塊230會(huì)根據(jù)找到與當(dāng)前存儲(chǔ)數(shù)據(jù)信息一致的存儲(chǔ)時(shí)間最早的文件,并更新該文件的標(biāo)識(shí)信息為當(dāng)前存儲(chǔ)數(shù)據(jù)的信息。而文件配置完成后,存儲(chǔ)控制模塊240將數(shù)據(jù)寫(xiě)入文件中,并在寫(xiě)入的數(shù)據(jù)達(dá)到預(yù)分配空間值或是此次寫(xiě)入數(shù)據(jù)已結(jié)束后關(guān)閉文件。而大于預(yù)分配空間值的數(shù)據(jù)只需重新經(jīng)過(guò)檢測(cè)模塊210的判斷進(jìn)行上述數(shù)據(jù)存儲(chǔ)操作。

在其他實(shí)施方式中,還可以在存儲(chǔ)設(shè)備300中為其余復(fù)雜數(shù)據(jù)保留通用的空間,這個(gè)保留的空間大小設(shè)定為保留值,那么檢測(cè)模塊210的特定值就要大于或者等于保留值和預(yù)分配空間值之和。

進(jìn)一步地,針對(duì)一些特殊數(shù)據(jù)如音頻、視頻數(shù)據(jù),新舊數(shù)據(jù)混合可能會(huì)導(dǎo)致這些數(shù)據(jù)文件無(wú)法使用的情況,因此存儲(chǔ)控制模塊240還可以對(duì)更新標(biāo)識(shí)后的文件進(jìn)行截?cái)嗖僮?,即清除文件?nèi)的舊數(shù)據(jù),但同時(shí)保留文件的占有空間。這樣做的目的在于保持同一個(gè)文件內(nèi)數(shù)據(jù)的統(tǒng)一性,同時(shí)不能將文件的占有空間釋放出來(lái),因?yàn)獒尫趴臻g就相當(dāng)于刪除文件,無(wú)法實(shí)現(xiàn)預(yù)防文件碎片產(chǎn)生的效果。

在某些文件系統(tǒng)中,數(shù)據(jù)寫(xiě)出錯(cuò)會(huì)釋放之前預(yù)分配的空間,會(huì)導(dǎo)致文件碎片的形成。因此在存儲(chǔ)設(shè)備300中存在非預(yù)分配的文件時(shí),就需要第一預(yù)分配模塊220和第二預(yù)分配模塊230為預(yù)分配文件的標(biāo)識(shí)信息中添加一個(gè)標(biāo)志,使得存儲(chǔ)控制模塊240可以區(qū)分預(yù)分配文件與非預(yù)分配文件,僅對(duì)預(yù)分配的文件做保留空間的截?cái)嗖僮鳌?/p>

進(jìn)一步地,存儲(chǔ)控制模塊240還可以對(duì)第一預(yù)分配模塊220和第二預(yù)分配模塊230生成的標(biāo)識(shí)信息進(jìn)行備份,并在文件寫(xiě)入數(shù)據(jù)達(dá)到特定值需要關(guān)閉時(shí)再一并寫(xiě)入,這樣可以進(jìn)一步保證存儲(chǔ)設(shè)備300內(nèi)部數(shù)據(jù)的順序性,進(jìn)一步提供速度的穩(wěn)定性,同時(shí)由于標(biāo)識(shí)信息做了備份,系統(tǒng)出錯(cuò)或異常斷電也能保證之前錄制的數(shù)據(jù)不丟失。

綜述本發(fā)明,通過(guò)預(yù)分配和覆寫(xiě)的方式實(shí)現(xiàn)了單一數(shù)據(jù)存儲(chǔ)時(shí)避免產(chǎn)生文件碎片的效果,同時(shí)不改變存儲(chǔ)數(shù)據(jù)以及設(shè)備本身的屬性,使得存儲(chǔ)數(shù)據(jù)和設(shè)備可以通用與其他系統(tǒng),進(jìn)一步的還可以通過(guò)預(yù)分配文件和非預(yù)分配文件的分別處理,實(shí)現(xiàn)單一數(shù)據(jù)與復(fù)雜數(shù)據(jù)混合存放的效果,可以顯著的提高采用本發(fā)明存儲(chǔ)的系統(tǒng)及其存儲(chǔ)設(shè)備的性能和效率,降低了成本。

通過(guò)以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可以通過(guò)硬件實(shí)現(xiàn),也可以借助軟件輔與必要的通用硬件平臺(tái)的方式來(lái)實(shí)現(xiàn)。基于這樣的理解,本發(fā)明的技術(shù)方案可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該軟件產(chǎn)品可以存儲(chǔ)在一個(gè)非易失性存儲(chǔ)介質(zhì)(可以是cd-rom,u盤(pán),移動(dòng)硬盤(pán)等)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述的方法。

應(yīng)當(dāng)理解的是,以上優(yōu)選實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案,而非用以限定,對(duì)本領(lǐng)域技術(shù)人員來(lái)說(shuō),可以對(duì)上述優(yōu)選實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替換;而所有這些修改和替換,都應(yīng)屬于本發(fā)明所附權(quán)利要求的保護(hù)范圍。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
肥乡县| 七台河市| 集贤县| 湛江市| 建德市| 紫金县| 兴城市| 江安县| 鲁甸县| 汉川市| 济宁市| 德江县| 永靖县| 枣阳市| 邢台县| 五莲县| 克东县| 北碚区| 仪陇县| 平山县| 丹东市| 丹阳市| 马龙县| 山阳县| 泽库县| 且末县| 女性| 太原市| 邢台市| 南丹县| 平舆县| 富裕县| 临颍县| 北海市| 平遥县| 新密市| 临安市| 海晏县| 南漳县| 乌拉特后旗| 武穴市|