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

      文件存儲方法和裝置的制作方法

      文檔序號:6356460閱讀:228來源:國知局
      專利名稱:文件存儲方法和裝置的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及存儲技術(shù)領(lǐng)域,尤其涉及一種文件存儲方法和裝置。
      背景技術(shù)
      操作系統(tǒng)中負責管理和存儲文件信息的軟件機構(gòu)稱為文件管理系統(tǒng),簡稱文件系 統(tǒng)。從系統(tǒng)角度來看,文件系統(tǒng)是對文件存儲器空間(例如硬盤、磁盤或分區(qū)等)進行組織 和分配,負責文件的存儲并對存入的文件進行保護和檢索的系統(tǒng)。具體地說,文件系統(tǒng)負責 為用戶建立文件,存入、讀出、修改、轉(zhuǎn)儲文件,控制文件的存取,當用戶不再使用時撤銷文 件等。一個磁盤或分區(qū)在能夠作為文件系統(tǒng)使用之前,需要初始化,并將記錄數(shù)據(jù)結(jié)構(gòu) 寫到磁盤上。這個過程稱為建立文件系統(tǒng)。文件系統(tǒng)建立完成后,會將磁盤或分區(qū)的存儲 空間以一定的大小劃分為很多個文件系統(tǒng)塊(即磁盤空間的分塊)以用于存儲文件。目前,文件系統(tǒng)在寫入文件時,為每個文件都單獨分配文件系統(tǒng)塊,進行存儲。如 圖1所示,大文件(即大小較大的文件)分配較多的文件系統(tǒng)塊進行存儲,而小文件(即大 小較小的文件)則分配少量的文件系統(tǒng)塊進行存儲。在寫入大量大小不同的文件時,分別 向各自分配的文件系統(tǒng)塊位置寫入。而且,為各個文件分配的文件系統(tǒng)塊的位置是隨機的, 因此,各個文件的寫入位置也是沒有規(guī)律的。在一些場景,如云存儲系統(tǒng)中,文件系統(tǒng)需要存儲海量的大小不同的文件,文件系 統(tǒng)在處理這些海量的大小不同的文件,尤其是海量的小文件的存儲時,由于這些海量的大 小不同文件的寫入位置是沒有規(guī)律的,因此,文件系統(tǒng)在寫入這些海量的大小不同文件時, 磁頭會不斷地從一個位置轉(zhuǎn)移到另一個位置,磁頭位置轉(zhuǎn)移需要較長的時間,從而嚴重影 響了文件系統(tǒng)的寫入速度,使得文件系統(tǒng)的寫入性能較差。

      發(fā)明內(nèi)容
      本發(fā)明實施例提供一種文件存儲方法和裝置,可至少解決現(xiàn)有技術(shù)的文件系統(tǒng)在 寫入海量的大小不同的文件時,寫入性能較差的問題?!矫?,提供了一種文件存儲方法,包括將多個文件中的每個文件拆分成一個或 多個大小不同的文件塊對象;將這多個文件拆分得到的多個文件塊對象寫入對應(yīng)的對象存 儲大文件,其中,存儲裝置中預(yù)先創(chuàng)建有預(yù)定數(shù)量的對象存儲大文件,這預(yù)定數(shù)量的對象存 儲大文件在該存儲裝置中占用的存儲空間是連續(xù)的。另一方面,提供了一種文件存儲裝置,包括存儲模塊,用于存儲文件,存儲模塊中 預(yù)先創(chuàng)建有預(yù)定數(shù)量的對象存儲大文件,這預(yù)定數(shù)量的對象存儲大文件在存儲模塊中占用 的存儲空間是連續(xù)的;拆分模塊,用于將多個文件中的每個文件拆分成一個或多個大小不 同的文件塊對象;寫入模塊,用于將這多個文件經(jīng)拆分模塊拆分得到的多個文件塊對象寫 入對應(yīng)的對象存儲大文件。本發(fā)明實施例采用拆分聚合的方式,首先將海量的大小不同的文件中的每個文件拆分成一個或多個文件塊對象,然后將拆分得到的海量的文件塊對象寫入到預(yù)先創(chuàng)建在磁 盤等存儲裝置中的對應(yīng)的對象存儲大文件中,且存儲裝置中的對象存儲大文件的數(shù)量是固 定的、存儲空間是連續(xù)的,從而將海量的大小不同的文件聚合(合并)到這些固定數(shù)量的對 象存儲大文件中。由于存儲裝置中的對象存儲大文件的數(shù)量是固定的、存儲空間是連續(xù)的, 從而使得海量的大小不同的文件最終可以按照相對順序的方式寫入到固定數(shù)量的對象存 儲大文件的存儲空間中,進而提高了存儲海量的大小不同的文件時文件系統(tǒng)的寫入性能。


      為了更清楚地說明本發(fā)明實施例的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中 所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明一部分 實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些 附圖獲得其他的附圖。圖1是根據(jù)現(xiàn)有技術(shù)的文件的存儲示意圖;圖2是根據(jù)本發(fā)明實施例一的文件存儲方法的流程圖;圖3是根據(jù)本發(fā)明實施例二的文件存儲方法的具體處理流程圖;圖4是根據(jù)本發(fā)明實施例三的文件塊對象的寫入過程的示意圖;圖5是根據(jù)本發(fā)明實施例一的文件存儲裝置的結(jié)構(gòu)示意圖;圖6是根據(jù)本發(fā)明實施例二的文件存儲裝置的結(jié)構(gòu)示意圖;圖7是根據(jù)本發(fā)明實施例三的文件存儲裝置的結(jié)構(gòu)示意圖。
      具體實施例方式為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施方式, 對本發(fā)明進行進一步詳細說明。應(yīng)當理解,此處所描述的具體實施方式
      僅僅用于解釋本發(fā) 明,并不用于限定本發(fā)明。實施例一圖2是根據(jù)本發(fā)明實施例一的文件存儲方法的流程圖,包括以下步驟步驟S202,將多個(海量的)文件(也可稱為用戶文件)中的每個文件拆分成一 個或多個(即至少一個)大小不同的文件塊對象;例如,可以按照預(yù)先設(shè)置的大小級別,將需要存儲的海量的文件中的每個文件拆 分成一個或多個文件塊對象,拆分成的每個文件塊對象的大小對應(yīng)一個大小級別。顯然,如 果一個文件的大小正好等于一個大小級別或者小于最小的大小級別時,此時無需拆分該文 件。步驟S204,將這多個文件拆分得到的多個文件塊對象(即文件的分塊)寫入對應(yīng) 的對象存儲大文件,其中,存儲裝置中預(yù)先創(chuàng)建有預(yù)定數(shù)量的對象存儲大文件,預(yù)定數(shù)量的 對象存儲大文件在存儲裝置中占用的存儲空間是連續(xù)的。例如,在文件系統(tǒng)建立完成之后,可以首先在硬盤、磁盤或分區(qū)等存儲裝置中創(chuàng)建 預(yù)定(或固定)數(shù)量個大文件(稱為對象存儲大文件),這些對象存儲大文件占用的存儲空 間是連續(xù)的,即,將存儲裝置的總存儲空間劃分為預(yù)定數(shù)量個連續(xù)的存儲空間,每個對象存 儲大文件占用其中的一個存儲空間。然后,在文件系統(tǒng)寫入文件時,文件系統(tǒng)會將按照步驟S202拆分得到的多個文件塊對象(當文件為海量時,拆分得到的文件塊對象也是海量的) 寫入到對應(yīng)的對象存儲大文件中。上述步驟S202-步驟S204可以由文件系統(tǒng)執(zhí)行,也可以僅由文件系統(tǒng)執(zhí)行步驟 S204,而由其他裝置或模塊來執(zhí)行步驟S202。本發(fā)明實施例采用拆分聚合的方式,首先將海量的大小不同的文件中的每個文件 拆分成一個或多個文件塊對象,然后將拆分得到的海量的文件塊對象寫入到預(yù)先創(chuàng)建在磁 盤等存儲裝置中的對應(yīng)的對象存儲大文件中,且存儲裝置中的對象存儲大文件的數(shù)量是固 定的、存儲空間是連續(xù)的,從而將海量的大小不同的文件聚合(合并)到這些固定數(shù)量的對 象存儲大文件中。由于存儲裝置中的對象存儲大文件的數(shù)量是固定的、存儲空間是連續(xù)的, 從而使得海量的大小不同的文件最終可以按照相對順序的方式寫入到固定數(shù)量的對象存 儲大文件的存儲空間中,進而提高了存儲海量的大小不同的文件時文件系統(tǒng)的寫入性能。實施例二如圖3所示,根據(jù)本發(fā)明實施例二的文件存儲方法的具體處理過程可以包括以下 步驟步驟S302,預(yù)先設(shè)置N個大小級別,N為正整數(shù);例如,這N個大小級別按照從小到大的順序分別為=S1KB, S2KB, ... , ScKB, P1MB, P2MB,…,PdMB, Q1GB, Q2GB,…,QeGB, A1TB, A2TB,…,AfTB, C+D+E+F = N。在實際應(yīng)用中,可以通過兩個分級參數(shù)設(shè)置N個大小級別,一個是分級范圍,一個 是分級單位??梢愿鶕?jù)實際需求調(diào)整這兩個分級參數(shù)來設(shè)置不同的N個大小級別。例如首先,確定分級范圍,可以是(0,1MB), [1MB,1GB)、[1GB,1TB],也可以更少 或更多。然后,確定每個分級范圍的分級單位,例如上述分級范圍的分級單位可以分別為 IKBUMB和1GB,也可以分得更細或更粗。則此時,N個大小級別按照從小到大的順序分別 為1KB,IB,. . .,1023KB, 1MB, 2MB, . . .,1023MB, 1GB,2GB,. . .,1023GB, 1TB,即,S1 = 1,& =2, Sc = 1023,P1 = 1,P2 = 2,Pd = 1023,Q1 = 1, = 2,Qe = 1023,A1 = 1,C = 1023, D = 1023,E = 1023,F(xiàn)=LN= 3070。在實際應(yīng)用中,還可以根據(jù)實際情況以及文件的特點,來設(shè)置N個大小級別,盡量 使得更多的文件不需要進行拆分,例如,需要存儲的文件正好等于某一個大小級別或者小 于最小的大小級別。這樣,能夠進一步提高存儲效率,減少處理文件拆分占用的資源。步驟S304,建立文件系統(tǒng),建立完成之后,在磁盤中創(chuàng)建預(yù)定數(shù)量個對象存儲大文 件,這預(yù)定數(shù)量個對象存儲大文件在磁盤中占用的存儲空間是連續(xù)的。此時,這預(yù)定數(shù)量個 對象存儲大文件是空的;創(chuàng)建對象存儲大文件可以使用現(xiàn)有技術(shù)的創(chuàng)建方法,預(yù)定數(shù)量個對象存儲大文件 占用的存儲空間可以相同也可以不同,并且,磁盤的總存儲空間有多大,對象存儲大文件就 可以多大。一般在文件系統(tǒng)中,幾MB以下的文件認為是小文件,幾十MB以上的認為是大文 件。因此,對象存儲大文件占用的存儲空間可以在幾十MB以上,甚至幾十TB以上。顯然,為了不浪費磁盤空間,上述的預(yù)定數(shù)量可以為N,這樣,步驟S302中設(shè)置的N 個大小級別可以與N個對象存儲大文件一一對應(yīng)。步驟S306,對于海量的需要存儲的大小不同的文件中的每個文件,將該文件拆分 成一個或多個文件塊對象,其中,拆分得到的每一個文件塊對象的大小屬于步驟S302中設(shè)置的N個大小級別中的一個;例如,可以按照以下公式(1)將一個大小為Size的文件,至多劃分成4個文件塊 對象,大小分別為XTB、YGB、ZMB和WKB Size = XTB+YGB+ZMB+WKB(1)其中,X為以下之一 =OiA^A2,...,AF,Y為以下之一 0,0^ ,...,%,Z為以下之
      一 0, P1, P2, . . .,PD,W為以下之一 0,S1, S2, ... , SC,KB表示千字節(jié),MB表示兆字節(jié),GB表 示千兆(或吉)字節(jié),TB表示兆兆字節(jié)。上述步驟S302和步驟S306對應(yīng)于圖1中的步驟S102。步驟S308,將步驟S306中拆分得到的屬于同一個大小級別的多個文件塊對象,順 序地寫入到與該大小級別對應(yīng)的對象存儲大文件中的連續(xù)空閑空間,其中,預(yù)定數(shù)量為N,N 個對象存儲大文件與N個大小級別一一對應(yīng)。海量的大小不同的文件經(jīng)步驟S306拆分后,同樣得到了海量的文件塊對象,文件 系統(tǒng)在寫入這些海量的文件塊對象時,可以將屬于同一個大小級別的文件塊對象順序地寫 入到與該大小級別對應(yīng)的對象存儲大文件中的連續(xù)空閑的存儲空間,即,每次都將屬于同 一個級別的新的文件塊對象存儲到對應(yīng)的對象存儲大文件中的連續(xù)空閑空間,確保順序?qū)?入。這樣,還可以將多個小10(請求寫入的數(shù)據(jù)量較小)合并成一個大10(請求寫入的數(shù) 據(jù)量較大),將下發(fā)到磁盤的隨機小10,轉(zhuǎn)成相對順序的大10,從而通過提高一次IO的寫入 數(shù)據(jù)量,提高了單盤的IO帶寬(即每次能夠讀寫的數(shù)據(jù)量),從而進一步提高了海量的大小 不同的文件的存儲(寫入)性能。在上述的實施例二中,在有大量文件被刪除之后,對象存儲大文件中會留下很多 不連續(xù)的空閑空間,可以將對象存儲大文件中的這些不連續(xù)的空閑空間合并成連續(xù)的空閑 空間,即,將這些不連續(xù)的空閑空間回收合并成連續(xù)的大塊空間。此外,還可以對存儲在每 個對象存儲大文件中的文件塊對象維護其訪問頻率統(tǒng)計信息,以便將經(jīng)常被訪問的文件塊 對象集中存放,提高訪問速度。實施例三在實施例二中,步驟S302中設(shè)置N個大小級別如下1)小于1MB的文件塊對象,按1KB為單位等分為1023個級別,每個級別的大小,從 小到大分別是 1KB,2KB,3KB,4KB,. . .,1023KB ;2)大于1MB小于IGB的文件塊對象,以1MB為單位分為1023個級別,每個級別的 大小,從小到大分別是 1MB, 2MB, 3MB, 4MB, · · ·,1023MB ;3)大于IGB小于或等于ITB的文件塊對象,以IGB單位分為IOM個級別,每個級 別的大小,從小到大分別是1GB,2GB,3GB,4GB,. . .,1024GB(即1TB)。這樣,共支持N= 1023+1023+1024 = 3070個大小級別,S卩,3070個大小級別按 照從小到大的順序分別為1KB, 2KB, · · ·,1023KB, 1MB, 2MB, · · ·,1023MB, 1GB, 2GB, · · ·, 1023GB, ITB0文件系統(tǒng)可以將所有大小不同的文件先拆分成不同大小等級的文件塊對象, 然后將拆分出來的文件塊對象按照不同的大小級別,存到級別對應(yīng)的對象存儲大文件中。則在步驟S306中,可以按照上述的公式(1)將一個大小為Size的文件,至多劃分 成4個文件塊對象。例如,文件系統(tǒng)需要存儲一個大小為1234567890B的文件,即Size = 1234567890,具體拆分過程如下
      步驟1 按照IGB大小級另丨」,可以拆分出L!234567890/(1024X1024X1024)」=1個IGB
      的文件塊對象;步驟2 將扣除 IGB 的剩下部分 1234567890-1024X 1024X 1024 = 160826066 再 次拆分出1個Ll6O826O66 / (IO24x 1024)」=153MB的文件塊對象。步驟3 將扣除IGB和153MB后的剩下部分393938/1024 = 384. 70KB作為一個 385KB的文件塊對象。這樣,將一個大小為1234567890B的文件拆分成了 3個文件塊對象,大小級別分別 為 1GBU53MB 和 385KB。后續(xù),在步驟S308中,如圖4所示,文件系統(tǒng)將海量的文件拆分得到的海量的文件 塊對象中大小級別為1KB的多個文件塊對象順序地寫入到與1KB級別對應(yīng)的對象存儲大文 件中,大小級別為2KB的多個文件塊對象順序地寫入到與2KB級別對應(yīng)的對象存儲大文件 中,其他大小級別的相同。這樣,上述大小為1234567890的文件拆分得到的IGB文件塊對 象、153MB和385KB的文件塊對象就可以分別寫入到與IGB級別、153MB級別和385KB級別 對應(yīng)的對象存儲大文件中。因此,按照本發(fā)明上述實施例三的技術(shù)方案,任意大小小于ITB的文件都可以拆 分成GB級別、MB級別和KB級別,最多三個文件塊對象。任意數(shù)量的文件都能夠被有序地 存儲到3070個對象存儲大文件中。圖5是根據(jù)本發(fā)明實施例一的文件存儲裝置的示意圖,包括存儲模塊102,用于 存儲文件,存儲模塊102中預(yù)先創(chuàng)建有預(yù)定數(shù)量的對象存儲大文件,這預(yù)定數(shù)量的對象存 儲大文件在存儲模塊102中占用的存儲空間是連續(xù)的;拆分模塊104,用于將多個文件中的 每個文件拆分成一個或多個大小不同的文件塊對象;寫入模塊106,用于將這多個文件經(jīng) 拆分模塊104拆分得到的多個文件塊對象寫入對應(yīng)的對象存儲大文件。上述的存儲模塊102可以是硬盤、磁盤或分區(qū)等。本發(fā)明實施例采用拆分聚合的方式,拆分模塊首先將海量的大小不同的文件中的 每個文件拆分成一個或多個文件塊對象,然后寫入模塊將拆分得到的海量的文件塊對象寫 入到預(yù)先創(chuàng)建在磁盤等存儲模塊中的對應(yīng)的對象存儲大文件中,且存儲模塊中的對象存儲 大文件的數(shù)量是固定的、存儲空間是連續(xù)的,從而將海量的大小不同的文件聚合(合并)到 這些固定數(shù)量的對象存儲大文件中。由于存儲模塊中的對象存儲大文件的數(shù)量是固定的、 存儲空間是連續(xù)的,從而使得海量的大小不同的文件最終可以按照相對順序的方式寫入到 固定數(shù)量的對象存儲大文件的存儲空間中,進而提高了存儲海量的大小不同的文件時文件 系統(tǒng)的寫入性能。如圖6所示,拆分模塊104包括設(shè)置單元1042,用于預(yù)先設(shè)置N個大小級別,N 為正整數(shù);拆分單元1044,用于對于每個文件,將該文件拆分成一個或多個文件塊對象,其 中,拆分得到的每一個文件塊對象的大小屬于所述設(shè)置單元1042設(shè)置的N個大小級別中的一個。其中,當設(shè)置單元1042設(shè)置的N個大小級別從小到大分別為=S1KB, S2KB,..., ScKB, P1MB, P2MB,. . .,PdMB, Q1GB, Q2GB,. . .,QeGB,A1TB, A2TB,. . .,AfTB,C+D+E+F = N 時,拆分 單元1044可以通過上述公式(1)將一個大小為Size的文件,至多劃分成大小為XTB、YGB、 ZMB和WKB4個文件塊對象。
      為了能夠?qū)⒍鄠€小IO合并成一個大IO以便提高IO帶寬,寫入模塊106在將這多 個文件經(jīng)拆分模塊104拆分得到的多個文件塊對象寫入對應(yīng)的對象存儲大文件時,可以將 拆分得到的屬于同一個大小級別的多個文件塊對象,順序地寫入到與該大小級別對應(yīng)的對 象存儲大文件中的連續(xù)空閑空間,其中,預(yù)定數(shù)量為N,N個對象存儲大文件與N個大小級別
      --對應(yīng)。如圖7所示,上述文件存儲裝置還可以包括合并模塊108,用于當刪除文件后在 對象存儲大文件中形成不連續(xù)的空閑空間時,將對象存儲大文件中的不連續(xù)的空閑空間合 并成連續(xù)的空閑空間。這樣,可以方便后續(xù)新的文件塊對象的寫入。上述實施例的文件存儲裝置可以是文件系統(tǒng)或文件系統(tǒng)的一部分;也可以是其 中的一些模塊屬于文件系統(tǒng),而另一些模塊屬于其他裝置,例如,寫入模塊106和合并模塊 108屬于文件系統(tǒng)。本發(fā)明上述實施例的方法和裝置提出了一種將海量的大小不同的文件拆分聚合 成對象存儲大文件的技術(shù)方案,將所有文件先拆分成不同大小的文件塊對象,然后將這些 文件塊對象按照不同的大小級別,聚合到對應(yīng)的對象存儲大文件中,使得文件系統(tǒng)在存儲 海量的不同大小的文件,尤其是海量的小文件時,可以用相對順序的大IO寫入文件到磁盤 中,提高了單盤的IO帶寬,也提高了單位時間的訪問次數(shù),從而提高了存儲海量文件時的 存儲(即寫入)性能。本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例方法中的全部或部分流程,是可以 通過計算機程序來指令相關(guān)的硬件來完成,所述的程序可存儲于一計算機可讀取存儲介質(zhì) 中,該程序在執(zhí)行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質(zhì)可為磁 碟、光盤、只讀存儲記憶體(Read-Only Memory, ROM)或隨機存儲記憶體(Random Access Memory, RAM)等。以上所述,僅為本發(fā)明較佳的具體實施方式
      ,但本發(fā)明的保護范圍并不局限于此, 任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換, 都應(yīng)涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應(yīng)該以權(quán)利要求的保護范圍 為準。
      權(quán)利要求
      1.一種文件存儲方法,其特征在于,包括將多個文件中的每個文件拆分成一個或多個大小不同的文件塊對象; 將所述多個文件拆分得到的多個文件塊對象寫入對應(yīng)的對象存儲大文件,其中,存儲 裝置中預(yù)先創(chuàng)建有預(yù)定數(shù)量的對象存儲大文件,所述預(yù)定數(shù)量的對象存儲大文件在所述存 儲裝置中占用的存儲空間是連續(xù)的。
      2.如權(quán)利要求1所述的方法,其特征在于,將多個文件中的每個文件拆分成一個或多 個大小不同的文件塊對象包括預(yù)先設(shè)置N個大小級別,N為正整數(shù);對于每個文件,將該文件拆分成一個或多個文件塊對象,其中,拆分得到的每一個文件 塊對象的大小屬于所述N個大小級別中的一個。
      3.如權(quán)利要求2所述的方法,其特征在于,當所述N個大小級別從小到大分別為=S1KB, S2KB, . . .,ScKB, P1MB, P2MB, . . .,PdMB, Q1GB, Q2GB, . . .,QeGB, A1TB, A2TB, . . .,AfTB, C+D+E+F =N時,對于每個文件,將該文件拆分成一個或多個文件塊對象包括按照以下公式將大小為Size的文件,至多劃分成大小為XTB、YGB、ZMB和WKB的文件塊 對象Size = XTB+YGB+ZMB+WKB,其中,X 為以下之一 =OiAliA2, ...,Af, Y 為以下之一 0,Q1, Q2,. . .,QE,Z 為以下之一 0,P1, P2,. . .,PD,W 為以下之一 0,S1, S2,. . .,Sc,KB 表示千字節(jié),MB表示兆字節(jié),GB表示千兆字節(jié),TB表示兆兆字節(jié)。
      4.如權(quán)利要求2或3所述的方法,其特征在于,將所述多個文件拆分得到的多個文件塊 對象寫入對應(yīng)的對象存儲大文件包括將所述多個文件拆分得到的屬于同一個大小級別的多個文件塊對象,順序地寫入到與 該大小級別對應(yīng)的對象存儲大文件中的連續(xù)空閑空間,其中,所述預(yù)定數(shù)量為N,所述預(yù)定 數(shù)量的對象存儲大文件與所述N個大小級別一一對應(yīng)。
      5.如權(quán)利要求1所述的方法,其特征在于,還包括當刪除文件后在對象存儲大文件中形成不連續(xù)的空閑空間時,將對象存儲大文件中的 不連續(xù)的空閑空間合并成連續(xù)的空閑空間。
      6.一種文件存儲裝置,其特征在于,包括存儲模塊,用于存儲文件,所述存儲模塊中預(yù)先創(chuàng)建有預(yù)定數(shù)量的對象存儲大文件,所 述預(yù)定數(shù)量的對象存儲大文件在所述存儲模塊中占用的存儲空間是連續(xù)的;拆分模塊,用于將多個文件中的每個文件拆分成一個或多個大小不同的文件塊對象; 寫入模塊,用于將所述拆分模塊拆分得到的多個文件塊對象寫入對應(yīng)的對象存儲大文件。
      7.如權(quán)利要求6所述的裝置,其特征在于,所述拆分模塊包括 設(shè)置單元,用于預(yù)先設(shè)置N個大小級別,N為正整數(shù);拆分單元,用于對于每個文件,將該文件拆分成一個或多個文件塊對象,其中,拆分得 到的每一個文件塊對象的大小屬于所述N個大小級別中的一個。
      8.如權(quán)利要求7所述的裝置,其特征在于,所述拆分單元用于在所述N個大小級別 從小到大分別為=S1KB, S2KB, · · ·,ScKB, P1MB, P2MB, · · ·,PdMB, Q1GB, Q2GB, · · ·,QeGB, A1TB, A2TB,.. .,AfTB,C+D+E+F = N的情況下,通過以下公式將大小為Size的文件,至多劃分成大小為XTB、YGB、ZMB和WKB的文件塊對象Size = XTB+YGB+ZMB+WKB,其中,X 為以下之一 =OiAliA2, ...,Af, Y 為以下之一 0,Q1, Q2,. . .,QE,Z 為以下之一 0,P1, P2,. . .,PD,W 為以下之一 0,S1, S2,. . .,Sc,KB 表示千字節(jié), MB表示兆字節(jié),GB表示千兆字節(jié),TB表示兆兆字節(jié)。
      9.如權(quán)利要求7或8所述的裝置,其特征在于,所述寫入模塊具體用于將所述拆分模塊 拆分得到的屬于同一個大小級別的多個文件塊對象,順序地寫入到與該大小級別對應(yīng)的對 象存儲大文件中的連續(xù)空閑空間,其中,所述預(yù)定數(shù)量為N,所述預(yù)定數(shù)量的對象存儲大文 件與所述N個大小級別一一對應(yīng)。
      10.如權(quán)利要求6所述的裝置,其特征在于,還包括合并模塊,用于當刪除文件后在對象存儲大文件中形成不連續(xù)的空閑空間時,將對象 存儲大文件中的不連續(xù)的空閑空間合并成連續(xù)的空閑空間。
      全文摘要
      本發(fā)明實施例提供一種文件存儲方法和裝置,用于存儲技術(shù)領(lǐng)域中。其中,上述的文件存儲方法包括將多個文件中的每個文件拆分成一個或多個大小不同的文件塊對象;將這多個文件拆分得到的多個文件塊對象寫入對應(yīng)的對象存儲大文件,其中,存儲裝置中預(yù)先創(chuàng)建有預(yù)定數(shù)量的對象存儲大文件,這預(yù)定數(shù)量的對象存儲大文件在該存儲裝置中占用的存儲空間是連續(xù)的。本發(fā)明實施例能夠使得海量的大小不同的文件最終可以按照相對順序的方式寫入到固定數(shù)量的對象存儲大文件的存儲空間中,進而提高了存儲海量的大小不同的文件時文件系統(tǒng)的寫入性能。
      文檔編號G06F17/30GK102096722SQ20111006742
      公開日2011年6月15日 申請日期2011年3月21日 優(yōu)先權(quán)日2011年3月21日
      發(fā)明者張巍, 魏明昌 申請人:成都市華為賽門鐵克科技有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1