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

      文件處理方法和裝置的制造方法

      文檔序號:9839678閱讀:442來源:國知局
      文件處理方法和裝置的制造方法
      【技術(shù)領域】
      [0001]本發(fā)明涉及軟件領域,具體而言,涉及一種文件處理方法和裝置。
      【背景技術(shù)】
      [0002]在實現(xiàn)海量存儲服務時,一臺機器往往要存儲千萬數(shù)量的小文件,很容易超出機器的文件系統(tǒng)目錄數(shù)量和文件數(shù)量限制,過多的小文件會影響系統(tǒng)的讀寫性能,容易產(chǎn)生磁盤碎片不能有效利用存儲空間,所以需要將小文件進行合并。既然是提供海量的存儲服務,那么還需要保證多用戶并發(fā)讀寫效率,也就是保證將多文件合并的效率和從合并后大文件讀小文件的效率,同時便于回收利用刪除文件的空間。
      [0003]在相關(guān)技術(shù)中,對小文件的合并都是串行進行的。例如,先打開一個文件用于合并,再將一個個小文件串行追加到文件的末尾,記錄每個小文件的位置偏移信息和文件大小作為索引;讀取時從索引集合中檢索到小文件的索引,讀取小文件位置偏移信息和文件大小,然后從合并的文件讀取內(nèi)容;刪除小文件時,先刪除小文件索引,然后將合并文件內(nèi)其它文件平移占用刪除文件的空間,再重建該合并文件的索引,這樣小文件就從合并文件中刪除了。
      [0004]上述處理文件的方法均沒有注重效率和吞吐量的問題,例如,由于合并文件時是串行進行的,如果多個用戶存儲文件,那就必須得等待;讀取小文件時,小文件索引定位慢。這些問題導致了得處理文件的效率低,影響了存儲服務的吞吐量。

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

      [0005]本發(fā)明實施例提供了一種文件處理方法和裝置,以至少解決相關(guān)技術(shù)中串行處理小文件的方法導致效率低的問題。
      [0006]根據(jù)本發(fā)明實施例的一個方面,提供了一種文件處理方法,該方法包括:通過數(shù)據(jù)庫管理文件邏輯信息,所述文件邏輯信息包括以下至少之一:目標文件在合并文件中的信息、所述合并文件的信息;其中,所述合并文件由多個所述目標文件合并而成;根據(jù)所述文件邏輯信息通過調(diào)用操作系統(tǒng)中的文件處理對所述合并文件并發(fā)進行操作。
      [0007]進一步地,通過所述數(shù)據(jù)庫管理所述文件邏輯信息包括:在所述數(shù)據(jù)庫中執(zhí)行處理腳本,通過所述處理腳本的執(zhí)行管理所述文件邏輯信息;其中,所述處理腳本的執(zhí)行是原子性的,所述數(shù)據(jù)庫為內(nèi)存數(shù)據(jù)庫。
      [0008]進一步地,通過所述數(shù)據(jù)庫管理所述文件邏輯信息包括:根據(jù)每個目標文件和合并文件對應的文件標識在所述數(shù)據(jù)庫中管理所述文件邏輯信息;其中,所述數(shù)據(jù)庫為鍵值數(shù)據(jù)庫。
      [0009]進一步地,在所述操作為打開所述合并文件并將所述目標文件合并到所述合并文件中的情況下,根據(jù)所述文件邏輯信息通過調(diào)用操作系統(tǒng)中的文件處理對所述合并文件并發(fā)進行操作包括:為所述目標文件分配其在所述合并文件中的信息并寫入到所述數(shù)據(jù)庫中,其中,所述目標文件在所述合并文件中的信息包括:位置偏移量和所述目標文件占用的空間,所述位置偏移量表示所述目標文件在所述合并文件中的起始位置;根據(jù)所述合并文件的信息打開所述合并文件,其中,所述合并文件的信息至少包括:所述合并文件的物理路徑;根據(jù)位置偏移量和所述目標文件占用的空間將所述目標文件寫入所述合并文件。
      [0010]進一步地,在為所述目標文件分配其在所述合并文件中的信息之后,所述方法還包括:根據(jù)所述目標文件在所述合并文件中的信息對所述合并文件的信息中的以下至少之一進行更新:所述合并文件小文件的數(shù)量、所述合并文件中已經(jīng)分配的空間大小、所述合并文件中的有效空間大小。
      [0011 ]進一步地,為所述目標文件分配其在所述合并文件中的信息包括:從所述數(shù)據(jù)庫中的資源回收區(qū)中選擇占用空間大于或等于所述目標文件大小的項目;其中,所述項目是已經(jīng)從所述合并文件中刪除的文件,所述刪除的文件的位置偏移量和占用的空間保留在所述數(shù)據(jù)庫中;根據(jù)所述刪除文件的位置偏移量和占用的空間為所述目標文件分配其在所述合并文件中的信息。
      [0012]進一步地,根據(jù)所述刪除文件的位置偏移量和占用的空間為所述目標文件分配其在所述合并文件中的信息包括:在所述刪除文件占用的空間大于所述合并文件的大小的情況下,將所述刪除文件的位置偏移量分配給所述目標文件,并從所述刪除文件占用的空間中分配空間給所述目標文件;將所述目標文件的偏移量和所述目標文件占用的空間作為所述目標文件在所述合并文件中的信息;根據(jù)所述刪除文件占用的空間的剩余修改所述資源回收區(qū)中的所述刪除文件的位置偏移量和所述占用的空間。
      [0013]進一步地,根據(jù)所述刪除文件的位置偏移量和占用的空間為所述目標文件分配其在所述合并文件中的信息包括:在所述刪除文件占用的空間等于所述合并文件的大小的情況下,將所述刪除文件的位置偏移量和所述刪除文件占用的空間分配給所述目標文件;將所述目標文件的偏移量和所述目標文件占用的空間作為所述目標文件在所述合并文件中的信息;從所述資源回收區(qū)中刪除所述項目。
      [0014]進一步地,在所述操作為從所述合并文件中讀取所述目標文件情況下,根據(jù)所述文件邏輯信息通過調(diào)用操作系統(tǒng)中的文件處理對所述合并文件并發(fā)進行操作包括:根據(jù)所述目標文件在所述合并文件中的信息從所述合并文件中讀取所述目標文件,其中,所述目標文件在所述合并文件中的信息包括:位置偏移量和所述目標文件占用的空間。
      [0015]根據(jù)本發(fā)明實施例的另一方面,還提供了一種文件處理裝置,該裝置包括:管理單元,用于通過調(diào)用數(shù)據(jù)庫管理文件邏輯信息,所述文件邏輯信息包括以下至少之一:目標文件在合并文件中的信息、所述合并文件的信息;其中,所述合并文件由多個所述目標文件合并而成;調(diào)用單元,用于根據(jù)所述文件邏輯信息通過操作系統(tǒng)中的文件處理對所述合并文件并發(fā)進行操作。
      [0016]在本發(fā)明實施例中,采用本發(fā)明實施例,使用數(shù)據(jù)庫管理文件邏輯信息,并通過調(diào)用操作系統(tǒng)中的文件處理并發(fā)讀寫合并文件的物理文件。通過本發(fā)明解決了現(xiàn)有的串行合并文件的方法效率低的技術(shù)問題,實現(xiàn)了高效的并發(fā)合并文件的效果。
      【附圖說明】
      [0017]此處所說明的附圖用來提供對本發(fā)明的進一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當限定。在附圖中:
      [0018]圖1是根據(jù)本發(fā)明實施例的文件處理方法的流程圖;
      [0019]圖2是根據(jù)本發(fā)明實施例的可選的文件處理的全局數(shù)據(jù)組織的示意圖;
      [0020]圖3是根據(jù)本發(fā)明實施例的可選的文件處理方法的流程圖一;
      [0021]圖4是根據(jù)本發(fā)明實施例的可選的文件處理方法的流程圖二;
      [0022]圖5是根據(jù)本發(fā)明實施例的可選的文件處理方法的流程圖三;以及
      [0023]圖6是根據(jù)本發(fā)明實施例的文件處理裝置的示意圖。
      【具體實施方式】
      [0024]為了使本技術(shù)領域的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分的實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應當屬于本發(fā)明保護的范圍。
      [0025]需要說明的是,本發(fā)明的說明書和權(quán)利要求書及上述附圖中的術(shù)語“第一”、“第二”等是用于區(qū)別類似的對象,而不必用于描述特定的順序或先后次序。應該理解這樣使用的數(shù)據(jù)在適當情況下可以互換,以便這里描述的本發(fā)明的實施例能夠以除了在這里圖示或描述的那些以外的順序?qū)嵤?。此外,術(shù)語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統(tǒng)、產(chǎn)品或設備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或?qū)τ谶@些過程、方法、產(chǎn)品或設備固有的其它步驟或單元。
      [0026]在以下某些可選實施例中涉及到一些技術(shù)詞語,在此對這些名詞解釋如下。需要說明的是,這些技術(shù)并不構(gòu)成限定。
      [0027]redis:緩存數(shù)據(jù)庫服務。
      [0028]Iua腳本:是一個很輕量級的腳本語言,最快最高效的腳本語言之一。
      [0029 ]系統(tǒng)調(diào)用open/read/wr i te:操作系統(tǒng)層面的打開/讀/寫文件調(diào)用。
      [0030]系統(tǒng)調(diào)用lseek:操作系統(tǒng)層面的文件位置,能把文件的讀寫指針指向到大于文件實際大小的位置。
      [0031]根據(jù)本發(fā)明實施例,提供了一種文件處理方法的實施例,需要說明的是,在附圖的流程圖示出的步驟可以在諸如一組計算機可執(zhí)行指令的計算機系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
      [0032]圖1是根據(jù)本發(fā)明實施例的一種文件處理方法的示意圖,如圖1所示,該方法包括如下步驟:
      [0033]步驟S102,通過數(shù)據(jù)庫管理文件邏輯信息,該文件邏輯信息包括以下至少之一:目標文件在合并文件中的信息、合并文件的信息;其中,合并文件由多個目標文件合并而成。
      [0034]步驟S104,根據(jù)文件邏輯信息通過操作系統(tǒng)中的文件處理對合并文件并發(fā)進行操作。
      [0035]通過上述,使用數(shù)據(jù)庫管理文件邏輯信息,并使用操作系統(tǒng)中的文件處理并發(fā)讀寫合并文件的物理文件,操作系統(tǒng)中的文件處理允許多進程或者多線程同時對同個文件進行讀寫的,
      當前第1頁1 2 3 4 5 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1