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

      小文件處理方法及裝置制造方法

      文檔序號:6486523閱讀:163來源:國知局
      小文件處理方法及裝置制造方法
      【專利摘要】本發(fā)明所提供的小文件處理方法,針對海量小文件的重復(fù)數(shù)據(jù)刪除的處理,將小文件整合為一個大文件后,對整合后的大文件整體進行分塊后,在分塊的過程中,如果當前正在劃分的數(shù)據(jù)塊中,包括了任一個小文件的尾部時,需要以這個小文件的尾部作為當前數(shù)據(jù)分塊的結(jié)束位置,對整合后的大文件分塊完成后再作重復(fù)數(shù)據(jù)查找等操作,提高了小文件的重復(fù)數(shù)據(jù)刪除效率。
      【專利說明】小文件處理方法及裝置【技術(shù)領(lǐng)域】[0001]本發(fā)明涉及文件處理技術(shù),尤其涉及小文件處理方法及裝置。【背景技術(shù)】[0002]重復(fù)數(shù)據(jù)刪除技術(shù)是存儲系統(tǒng)中的一種新型應(yīng)用。通過刪除存儲系統(tǒng)中重復(fù)的數(shù) 據(jù),只保留其中的一份,從而消除冗余數(shù)據(jù)。重刪文件需要對文件進行分塊、相似性分析、查 詢重復(fù)塊等操作,那么,在對一個小文件進行重刪時,都會耗費很多時間在消除小塊冗余數(shù) 據(jù)上,不僅耗時,而且占用系統(tǒng)資源。[0003]現(xiàn)有技術(shù)中,在重刪過程中,在對大量小文件的處理,通常采用如下方式:將多個 小文件按照一定方式合并為一個大文件,這個大文件頭中記錄小文件信息,用于大量小文 件的存放與讀取。[0004]由于上述方法只是將小文件整合在一個大文件中,不對大文件進行重復(fù)數(shù)據(jù)刪 除,增加文件頭記錄小文件信息,增加了小文件的空間占用,對大文件的存放與讀取操作速 度較慢;而且只是減少了小文件的占用空間,對大于最小讀寫塊的小文件沒有作用。
      【發(fā)明內(nèi)容】
      [0005]本發(fā)明實施例提供小文件處理方法,應(yīng)用在重復(fù)數(shù)據(jù)刪除操作中,能夠加快大量 小文件重復(fù)數(shù)據(jù)刪除速度、減少大量小文件占用空間。[0006]本發(fā)明實施例所提供的一種小文件處理方法,包括:[0007]讀取N個小文件,其中,所述小文件為小于預(yù)置大小的小文件;[0008]將所述讀取的N個小文件整合為一個大文件,利用滑動窗口對所述整合后的大文 件進行分塊;所述利用滑動窗口對所述整合后的大文件進行分塊,包括:[0009]判斷所述滑動窗口的結(jié)束位置是否是所述任一小文件的尾部,如果是,則將從上 一個分塊的結(jié)束位置到當前滑動窗口的結(jié)束位置之間的數(shù)據(jù)作為一個數(shù)據(jù)分塊;如果否, 則判斷滑動窗口當前覆蓋的數(shù)據(jù),是否滿足數(shù)據(jù)分塊條件;[0010]如果滿足所述分塊條件,則將從上一個分塊的結(jié)束位置到當前滑動窗口的結(jié)束位 置之間的數(shù)據(jù)作為一個數(shù)據(jù)分塊;如果不滿足所述分塊條件,則將所述滑動窗口移動一個 字節(jié),繼續(xù)利用滑動窗口對所述整合后的大文件進行分塊,直到完成對所述整合后大文件 的數(shù)據(jù)分塊;[0011]根據(jù)預(yù)先設(shè)置的數(shù)據(jù)塊元據(jù)數(shù)信息庫,在得到的數(shù)據(jù)分塊中確定重復(fù)塊和新塊;[0012]將確定得到的新塊的元數(shù)據(jù)信息添加到所述的元數(shù)據(jù)信息庫中,并將新塊的數(shù)據(jù) 添加到記錄文件中,在所述元數(shù)據(jù)信息庫中更新重復(fù)塊的引用次數(shù)。[0013]本發(fā)明實施例還提供一種小文件處理裝置,包括:[0014]讀取單元,用于讀取N個小文件,其中,所述小文件為小于預(yù)置大小的小文件;[0015]拆分單元,用于將所述讀取的N個小文件整合為一個大文件,對整合后的大文件 進行數(shù)據(jù)分塊;[0016]確定單元,用于根據(jù)預(yù)先設(shè)置的數(shù)據(jù)塊元數(shù)據(jù)信息庫,在得到的數(shù)據(jù)分塊中確定 重復(fù)塊和新塊;[0017]處理單元,將確定得到的新塊的元數(shù)據(jù)信息添加到所述的元數(shù)據(jù)信息庫中,并將 新塊的數(shù)據(jù)添加到記錄文件中,在所述元數(shù)據(jù)信息庫中更新重復(fù)塊的引用次數(shù);[0018]其中,所述拆分單元,包括:[0019]整合單元,用于將所述讀取的小文件整合為一個大文件;[0020]第一判斷單元,用于判斷所述滑動窗口的結(jié)束位置是否是所述任一小文件的尾 部,如果是,將判斷結(jié)果發(fā)送給拆分處理單元;如果否,將判斷結(jié)果發(fā)送給第二判斷單元;[0021]第二判斷單元,用于判斷滑動窗口當前覆蓋的數(shù)據(jù),是否滿足數(shù)據(jù)分塊條件,如果 是,將判斷結(jié)果發(fā)送給拆分處理單元,如果否,將滑動窗口移動一個字節(jié)后,返回執(zhí)行所述 第一判斷單元功能以繼續(xù)利用滑動窗口對所述整合后的大文件進行分塊,直到完成對所述 整合后大文件的數(shù)據(jù)分塊;[0022]拆分處理單元,用于當判斷所述滑動窗口的結(jié)束位置是所述任一小文件的尾部或 者判斷滑動窗口當前覆蓋的數(shù)據(jù)滿足數(shù)據(jù)分塊條件時,將從上一個分塊的結(jié)束位置到當前 滑動窗口的結(jié)束位置之間的數(shù)據(jù)作為一個數(shù)據(jù)分塊,并將滑動窗口移動一個字節(jié)后,返回 執(zhí)行所述第一判斷單元功能以繼續(xù)利用滑動窗口對所述整合后的大文件進行分塊,直到完 成對所述整合后大文件的數(shù)據(jù)分塊。[0023]本發(fā)明實施例提供小文件處理方法及裝置,可針對海量小文件的重復(fù)數(shù)據(jù)刪除的 處理,將小文件整合為一個大文件后,對整合后的大文件整體進行數(shù)據(jù)分塊后,再作重復(fù)數(shù) 據(jù)查找等操作,提高了小文件的重復(fù)數(shù)據(jù)刪除效率;減少磁盤空間的占用。【專利附圖】

      【附圖說明】[0024]圖1為本發(fā)明實施例提供的一種小文件處理方法的流程圖;[0025]圖2為本發(fā)明實施例提供的一種利用滑動窗口對整合得到的大文件進行分塊的 流程圖;[0026]圖3為本發(fā)明實施例提供的另一種小文件處理方法的流程圖;[0027]圖4為本發(fā)明實施例所提供的小文件處理方法的應(yīng)用示意圖;[0028]圖5為本發(fā)明實施例所提供的一種小文件處理裝置的結(jié)構(gòu)示意圖;[0029]圖6為本發(fā)明實施例提供的另一種小文件處理裝置的結(jié)構(gòu)示意圖;[0030]圖7為本發(fā)明實施例提供的另一種小文件處理裝置的結(jié)構(gòu)示意圖?!揪唧w實施方式】[0031]圖1為本發(fā)明實施例一提供的小文件處理方法流程圖,如圖1所示,該方法包括:[0032]步驟101、讀取N個小文件,其中小文件為小于MkB的文件。[0033]步驟101的動作可以由重刪管理進程(Management,MGT)來執(zhí)行,可以采用的方式 為:MGT讀取磁盤的同一目錄下的N個文件,這樣做的優(yōu)點在于讀取速度快并且管理方便。 而M是一個可以根據(jù)需要人為定義的一個數(shù)值。N表示小文件的個數(shù),顯然,N可以是大于 O的自然數(shù)。[0034]步驟103、將N個小文件整合為一個大文件,利用滑動窗口對所述整合后的大文件進行分塊;[0035]其中,將所述讀取的N個小文件邏輯組合成一個大文件,也就是將N個小文件看出 是邏輯組合成大文件的N部分,而這N個小文件物理上分散的,只是在虛擬上看成一個文 件,同時每個小文件的末尾是已知的。顯然,整合后的大文件也就是對小文件整合后得到的 大文件。[0036]其中,參見圖2,利用滑動窗口對所述整合后的大文件進行分塊,包括:[0037]步驟1031,判斷所述滑動窗口的結(jié)束位置是否是所述任一小文件的尾部,如果是, 則進入步驟1034 ;如果否,則進入步驟1033 ;[0038]步驟1033,判斷滑動窗口當前覆蓋的數(shù)據(jù),是否滿足數(shù)據(jù)分塊條件;如果滿足所 述分塊條件,則進入步驟1034 ;如果不滿足所述分塊條件,則進入步驟1035 ;[0039]步驟1034,將從上一個分塊的結(jié)束位置到當前滑動窗口的結(jié)束位置之間的數(shù)據(jù)作 為一個數(shù)據(jù)分塊,并進入步驟1035 ;[0040]步驟1035,將所述滑動窗口移動一個字節(jié),返回步驟1031繼續(xù)利用滑動窗口對所 述整合后的大文件進行分塊,直到完成對所述整合后大文件的數(shù)據(jù)分塊。[0041]其中,所述的將滑動窗口移動一個字節(jié),是向數(shù)據(jù)的尾部方向滑動一個字節(jié);所述 的滿足數(shù)據(jù)分塊條件,包括對滑動窗口所覆蓋的數(shù)據(jù)進行哈希值運算,判斷哈希值是否滿 足進行分塊的條件,或者是,通過判斷滑動窗口所滑動的數(shù)據(jù)長度是否滿足分塊條件等等, 方法很多,在此不再贅述。顯然,所述的滿足數(shù)據(jù)分塊的條件中,不再包括判斷所述滑動窗 口的結(jié)束位置是否是所述任一小文件的尾部,判斷是否將從上一個分塊的結(jié)束位置到當前 滑動窗口的結(jié)束位置之間的數(shù)據(jù)作為一個數(shù)據(jù)分塊的情況。[0042]本發(fā)明實施例中,對整合后的大文件進行數(shù)據(jù)分塊,得到多個分塊,其中,在分塊 的過程中,如果當前正在劃分的數(shù)據(jù)塊中,包括了任一個小文件的尾部時,需要以這個小文 件的尾部作為當前數(shù)據(jù)分塊的結(jié)束位置,以使可以對得到的數(shù)據(jù)分塊通過組合后得到完整 的小文件;例如,對兩個小文件filel和file2整合為的一個大文件進行數(shù)據(jù)分塊,得到分 塊A, B, A三個數(shù)據(jù)分塊,其中filel被劃分為第一個數(shù)據(jù)分塊A, file2被劃分為第二個數(shù) 據(jù)分塊B和第三個數(shù)據(jù)分塊A,A組成filel,BA組成file2。[0043]其中,對于文件進行分塊可以采用現(xiàn)有技術(shù)中提供的各種分塊算法,這里不做限 定,分塊的主要目的在于后續(xù)找到文件中相同的塊。對于每個分塊的大小有上限和下限,也 即最大分塊和最小分塊。其中,最大分塊為MkB,也即不超過一個小文件的大小。分塊可以 是等長的也可以是不等長的,此處不做限定。[0044]步驟105、根據(jù)預(yù)先設(shè)置的數(shù)據(jù)分塊元數(shù)據(jù)信息庫,在得到的數(shù)據(jù)分塊中確定重復(fù) 塊和新塊;[0045]本發(fā)明實施例所述的重復(fù)塊,指對大文件進行拆分得到的某一個數(shù)據(jù)塊,判斷預(yù) 先設(shè)置的數(shù)據(jù)分塊元數(shù)據(jù)信息庫中的元數(shù)據(jù)信息,是否已經(jīng)包含有該數(shù)據(jù)分塊的元數(shù)據(jù)信 息,若是,則判斷得到在記錄文件(存儲真實有效地數(shù)據(jù))中,已經(jīng)包含了該數(shù)據(jù)塊的信息, 那么,該數(shù)據(jù)塊就被認為是重復(fù)塊;反之,則判斷得到記錄文件中沒有包含該數(shù)據(jù)塊的信 息,則該數(shù)據(jù)塊為新塊。[0046]其中,對拆分得到的數(shù)據(jù)分塊,如何判斷是新塊還是重復(fù)塊,可通過如下方式:根 據(jù)將整合后大文件進行拆分得到的數(shù)據(jù)分塊的特征信息,在元數(shù)據(jù)信息庫中查詢是否已經(jīng)存儲有相同的特征信息,如果有,說明與元數(shù)據(jù)信息庫對應(yīng)的記錄文件中已經(jīng)存儲了該數(shù) 據(jù)分塊,則確定該數(shù)據(jù)分塊為重復(fù)塊;反之,則說明記錄文件中沒有存儲該數(shù)據(jù)分塊,則確 定該數(shù)據(jù)分塊為新塊。新塊和重復(fù)塊的判斷方式,還可以依賴其他現(xiàn)有技術(shù),在此不再贅 述。[0047]步驟107、將確定得到的新塊的元數(shù)據(jù)信息添加到所述的元數(shù)據(jù)信息庫中,并將新 塊的數(shù)據(jù)添加到記錄文件中,在所述元數(shù)據(jù)信息庫中更新重復(fù)塊的引用次數(shù)。[0048]本發(fā)明實施例中,當判斷得到N個數(shù)據(jù)塊中的新塊后,將新塊的元數(shù)據(jù)信息添加 到元數(shù)據(jù)信息庫中,并將新塊的數(shù)據(jù)添加到記錄文件中;另外,對重復(fù)塊可以記錄被引用的 次數(shù)。對新塊和重復(fù)塊的處理方式,類似現(xiàn)有技術(shù),在此不再贅述。[0049]本發(fā)明實施例還可以包括:[0050]步驟109、根據(jù)組成所述讀取的小文件所需的數(shù)據(jù)塊在記錄文件中的地址,建立組 成所述讀取的小文件的數(shù)據(jù)塊地址和小文件標識之間的對應(yīng)關(guān)系。[0051]這里,所述讀取的小文件,也就是前面所讀取的用于整合為大文件的N個小文件; 其中,步驟109,本發(fā)明實施例可以通過以下方式:[0052]步驟1091:將所述得到的數(shù)據(jù)分塊在記錄文件中的地址信息存儲到索引文件中。[0053]其中,索引文件可以但不限于被命名為索引文件,該索引文件是用來保存N個小 文件整合后的大文件進行劃分后得到的每個數(shù)據(jù)分塊在記錄文件中的地址信息,因此,索 弓I文件中保存的都是指向記錄文件中相應(yīng)塊的地址。[0054]步驟1092、根據(jù)索引文件中組成所述讀取的小文件所需的數(shù)據(jù)塊在記錄文件中的 地址,建立組成所讀取的小文件的數(shù)據(jù)塊地址和小文件標識之間的對應(yīng)關(guān)系。[0055]建立組成所讀取的小文件的數(shù)據(jù)塊地址和小文件標識之間的對應(yīng)關(guān)系的具體方 式,本發(fā)明實施例采用以下方式但并不限于此:[0056]根據(jù)整合前一個小文件的不同數(shù)據(jù)塊在記錄文件中的地址,建立一個鏈接,每個 鏈接對應(yīng)一個所讀取的小文件,按照每個鏈接對應(yīng)的小文件的標識,將建立的鏈接分別重 命名。[0057]本實施例中建立的鏈接,可以是硬鏈接,使得實際存在的索引文件中的不同小文 件只有一份,占用的物理空間也只有一份,但是卻具有多個鏡像。這樣可以更為有效地節(jié)約 磁盤空間。[0058]本發(fā)明實施例對步驟109的實現(xiàn)方式,僅舉例說明,并不限于此。根據(jù)本發(fā)明實施 例所提供的方式的啟示,所提出的其他方式在此不再贅述。[0059]本發(fā)明實施例所提供的小文件處理方法,針對海量小文件的重復(fù)數(shù)據(jù)刪除的處 理,將小文件整合為一個大文件后,對整合后的大文件整體進行分塊后,再作重復(fù)數(shù)據(jù)查找 等操作,提高了小文件的重復(fù)數(shù)據(jù)刪除效率。[0060]參見附圖3,本發(fā)明實施例還提供一種小文件處理方法,和附圖1對應(yīng)的實施例不 同之處在于,在得到的數(shù)據(jù)分塊中確定重復(fù)塊和新塊,還可以包括:[0061]步驟104、將得到的數(shù)據(jù)分塊進行相互比較,將得到的數(shù)據(jù)分塊中相同的數(shù)據(jù)塊刪 除至一份;[0062]本實施例中,通過步驟104,對整合后的大文件進行拆分得到的數(shù)據(jù)分塊,先進行 相互比較,確定N個數(shù)據(jù)分塊中的相同的數(shù)據(jù)塊,并將相同的數(shù)據(jù)塊刪除。由此,可以進一步提高重復(fù)數(shù)據(jù)的查詢效率。當然,將拆分得到的數(shù)據(jù)塊進行相互之間的比較,可以在步驟 105之前完成,也可以在步驟105之后完成,本發(fā)明實施例為了提高查詢效率,以在步驟105 之前完成步驟104為例。[0063]另外,本發(fā)明實施例在步驟109之后,還可以包括:[0064]步驟110,接收讀請求,讀請求中包括欲讀取的小文件標識,根據(jù)組成所讀取的小 文件的數(shù)據(jù)塊地址和小文件標識之間的對應(yīng)關(guān)系,從記錄文件中讀取組成小文件的數(shù)據(jù) 塊。[0065]本發(fā)明實施例所提供的小文件處理方法,針對海量小文件的重復(fù)數(shù)據(jù)刪除的處 理,將小文件整合為一個大文件后,對整合后的大文件整體進行分塊后,再作重復(fù)數(shù)據(jù)查 詢、刪除等操作,提高了小文件的重復(fù)數(shù)據(jù)刪除效率,尤其是在進行重復(fù)塊查詢時,在所得 的分塊之間進行比較,提高了重復(fù)塊的查詢效率。[0066]下面結(jié)合一個實例對本發(fā)明提供的文件重刪的方法進行說明,如圖4所示的方法 示意圖,假設(shè)N為5,也即5個小文件,如圖5第一行所示的filel、file2、file3、file4以 及file5。本實施例中以每個小文件為單位對5個小文件進行了一次性的分塊處理,采用 的是變長分塊的方法,將5個小文件分成為:A、B、A、B、C、E、E、D這8個分塊。其中,A組成 filel, BA組成file2,BC組成file3,E組成file4,ED組成file5。采用隨機方式對上述 幾個分塊進行采樣,得到采樣分塊A、B、C、E、D,根據(jù)采樣分塊的元數(shù)據(jù)信息對采樣分塊與預(yù) 置的數(shù)據(jù)分塊元數(shù)據(jù)信息庫中已知的數(shù)據(jù)塊元數(shù)據(jù)信息分組進行相似性分析,得到相似度 最高的分組:groupi。對上述8個分塊與相似度最高的分組之間進行重復(fù)塊、新塊的查詢。 得到重復(fù)塊為A、B和C,新塊為E和D。將新塊E和D寫入相似度最高的分組中,并記錄A、 B、C的引用次數(shù)。將新塊ED的真實數(shù)據(jù)添加到記錄文件中。將組成整合前小文件的數(shù)據(jù) 塊地址存放到索引文件中,按照組成上述5個小文件的數(shù)據(jù)塊地址,也即A組成filel,BA 組成file2,BC組成file3,E組成file4,ED組成file5,將A在記錄文件中的地址信息、B 和A在記錄文件中的地址信息、B和C在記錄文件中的地址信息,E在記錄文件中的地址信 息、E和D在記錄文件中的地址信息記錄存放在一個索引文件的文件頭當中。根據(jù)整合前 一個小文件不同數(shù)據(jù)塊在記錄文件中的地址,建立一個統(tǒng)一硬鏈接,從而從索引文件中做N 個硬鏈接,分別按照每個鏈接和小文件的標識之間的對應(yīng)關(guān)系,將N個鏈接分別重命名。用 戶讀取小文件時,由讀寫驅(qū)動讀出相應(yīng)的文件數(shù)據(jù)即可。[0067]本發(fā)明實施例提供的方案,將多個小文件作為一個整體進行分塊、重復(fù)塊查詢、刪 除等動作,加快了小文件重刪速率的同時,減少磁盤空間的占用。[0068]參見圖5,本發(fā)明實施例還提供一種小文件處理裝置,包括:[0069]讀取單元41,用于讀取N個小文件,其中,所述小文件為小于預(yù)置大小小文件;[0070]拆分單元42,用于將所述讀取的N個小文件整合為一個大文件,對整合后的大文 件進行數(shù)據(jù)分塊;[0071]確定單元43,用于根據(jù)預(yù)先設(shè)置的數(shù)據(jù)塊元數(shù)據(jù)信息庫,在得到的數(shù)據(jù)分塊中確 定重復(fù)塊和新塊;[0072]處理單元44,將確定得到的新塊的元數(shù)據(jù)信息添加到所述的元數(shù)據(jù)信息庫中,并 將新塊的數(shù)據(jù)添加到記錄文件中,在所述元數(shù)據(jù)信息庫中更新重復(fù)塊的引用次數(shù);[0073]本發(fā)明實施例中的裝置和圖1對應(yīng)的方法實施例的特征相對應(yīng),具體分塊過程可參見附圖1對應(yīng)的實施例中的描述。[0074]參見圖6為另一種小文件處理裝置的示意圖,其中,拆分單元42可以包括:[0075]整合單元420,用于將所述讀取小文件整合為一個大文件;[0076]第一判斷單元421,用于判斷所述滑動窗口的結(jié)束位置是否是所述任一小文件 的尾部,如果是,將判斷結(jié)果發(fā)送給拆分處理單元;如果否,將判斷結(jié)果發(fā)送給第二判斷單 元;[0077]第二判斷單元422,用于判斷滑動窗口當前覆蓋的數(shù)據(jù),是否滿足數(shù)據(jù)分塊條件, 如果是,將判斷結(jié)果發(fā)送給拆分處理單元,如果否,將滑動窗口移動一個字節(jié)后,返回執(zhí)行 所述第一判斷單元功能以繼續(xù)利用滑動窗口對所述整合后的大文件進行分塊,直到完成對 所述整合后大文件的數(shù)據(jù)分塊;[0078]拆分處理單元423,用于當判斷所述滑動窗口的結(jié)束位置是所述任一小文件的尾 部或者判斷滑動窗口當前覆蓋的數(shù)據(jù)滿足數(shù)據(jù)分塊條件時,將從上一個分塊的結(jié)束位置到 當前滑動窗口的結(jié)束位置之間的數(shù)據(jù)作為一個數(shù)據(jù)分塊,并將滑動窗口移動一個字節(jié)后, 返回執(zhí)行所述第一判斷單元功能以繼續(xù)利用滑動窗口對所述整合后的大文件進行分塊,直 到完成對所述整合后大文件的數(shù)據(jù)分塊。[0079]本發(fā)明實施例所提供的小文件處理裝置,針對海量小文件的重復(fù)數(shù)據(jù)刪除的處 理,將小文件整合為一個大文件后,對整合后的大文件整體進行分塊后,再坐重復(fù)數(shù)據(jù)查找 等操作,有效提供了小文件的重復(fù)數(shù)據(jù)刪除效率。[0080]參見圖7,本發(fā)明實施例還提供另一種小文件處理裝置,其結(jié)構(gòu)和圖6對應(yīng)的實施 例中裝置的結(jié)構(gòu)大致相同,與之相同的部分不再贅述。不同之處在于,還包括:[0081]映射單元55,用于根據(jù)組成所述讀取的每個小文件所需的數(shù)據(jù)塊在記錄文件中的 地址,建立組成所述讀取的每個小文件的數(shù)據(jù)塊地址和小文件標識之間的對應(yīng)關(guān)系。[0082]其中,映射單元55,可以包括:[0083]索引單元551,用于存儲至少N個數(shù)據(jù)分塊在記錄文件中的地址信息;[0084]映射子單元552,用于根據(jù)索引文件中組成所述讀取的每個小文件所需的數(shù)據(jù)塊 在記錄文件中的地址,建立組成所述讀取的每個小文件的數(shù)據(jù)塊地址和小文件標識之間的 對應(yīng)關(guān)系。[0085]其中,映射子單元552,可具體用于根據(jù)所述讀取的每個一個小文件的不同數(shù)據(jù)塊 在記錄文件中的地址,建立一個的鏈接,從而得到N個鏈接且每個鏈接對應(yīng)一個統(tǒng)一的小 文件,按照每個鏈接對應(yīng)的小文件的標識,將N個鏈接分別重命名。[0086]本發(fā)明實施例所提供的小文件處理裝置,還可以包括:[0087]請求處理單元56,用于接收讀取N個小文件中至少一個小文件的請求,讀取請求 中包括欲讀取的小文件標識,根據(jù)組成統(tǒng)一小文件的數(shù)據(jù)塊地址和小文件標識之間的對應(yīng) 關(guān)系,從記錄文件中讀取組成小文件的數(shù)據(jù)塊。[0088]利用本發(fā)明實施例所提供的小文件處理方法和裝置,對讀取的小文件整合為一個 大文件后,對整合后的大文件進行整體進行分塊后,再進行重復(fù)數(shù)據(jù)查找等操作,提高了小 文件的重復(fù)數(shù)據(jù)刪除效率。[0089]本領(lǐng)域普通技術(shù)人員可以理解:實現(xiàn)上述各方法實施例的全部或部分步驟可以通 過程序指令相關(guān)的硬件來完成。前述的程序可以存儲于一計算機可讀取存儲介質(zhì)中。該程序在執(zhí)行時,執(zhí)行包括上述各方法實施例的步驟;而前述的存儲介質(zhì)包括:ROM、RAM、磁碟 或者光盤等各種可以存儲程序代碼的介質(zhì)。[0090]最后應(yīng)說明的是:以上各實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制; 盡管參照前述各實施例對本發(fā)明進行了詳細的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當理解:其 依然可以對前述各實施例所記載的技術(shù)方案進行修改,或者對其中部分或者全部技術(shù)特征 進行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技 術(shù)方案的范圍。
      【權(quán)利要求】
      1.一種小文件處理方法,其特征在于:讀取N個小文件,其中,所述小文件為小于預(yù)置大小的小文件;將所述讀取的N個小文件整合為一個大文件,利用滑動窗口對所述整合后的大文件進行分塊;所述利用滑動窗口對所述整合后的大文件進行分塊,包括:判斷所述滑動窗口的結(jié)束位置是否是所述任一小文件的尾部,如果是,則將從上一個分塊的結(jié)束位置到當前滑動窗口的結(jié)束位置之間的數(shù)據(jù)作為一個數(shù)據(jù)分塊;如果否,則判斷滑動窗口當前覆蓋的數(shù)據(jù),是否滿足數(shù)據(jù)分塊條件;如果滿足所述分塊條件,則將從上一個分塊的結(jié)束位置到當前滑動窗口的結(jié)束位置之間的數(shù)據(jù)作為一個數(shù)據(jù)分塊;如果不滿足所述分塊條件,則將所述滑動窗口移動一個字節(jié), 繼續(xù)利用滑動窗口對所述整合后的大文件進行分塊,直到完成對所述整合后大文件的數(shù)據(jù)分塊;根據(jù)預(yù)先設(shè)置的數(shù)據(jù)塊元據(jù)數(shù)信息庫,在得到的數(shù)據(jù)分塊中確定重復(fù)塊和新塊;將確定得到的新塊的元數(shù)據(jù)信息添加到所述的元數(shù)據(jù)信息庫中,并將新塊的數(shù)據(jù)添加到記錄文件中,在所述元數(shù)據(jù)信息庫中更新重復(fù)塊的引用次數(shù)。
      2.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括:根據(jù)組成所述讀取的每個小文件所需的數(shù)據(jù)塊在所述記錄文件中的地址,建立組成所述讀取的每個小文件的數(shù)據(jù)塊地址和小文件標識之間的對應(yīng)關(guān)系。
      3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述根據(jù)組成所述讀取的每個小文件所需的數(shù)據(jù)塊在記錄文件中的地址,建立組成所述讀取的每個小文件的數(shù)據(jù)塊地址和小文件標識之間的對應(yīng)關(guān)系,包括:將所述得到的數(shù)據(jù)分塊在記錄文件中的地址信息存儲到索引文件中;根據(jù)索引文件中組成所述讀取的小文件所需的數(shù)據(jù)塊在所述記錄文件中的地址,建立組成所述讀取的小文件的數(shù)據(jù)塊地址和小文件標識之間的對應(yīng)關(guān)系。
      4.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述根據(jù)組成所述讀取的每個小文件所需的數(shù)據(jù)塊在記錄文件中的地址,建立組成所述讀取的每個小文件的數(shù)據(jù)塊地址和小文件標識之間的對應(yīng)關(guān)系,包括:根據(jù)組成所述讀取的一個小文件的所有數(shù)據(jù)塊在記錄文件中的地址,建立一個鏈接, 每個鏈接對應(yīng)一個所述讀取的小文件,按照每個鏈接對應(yīng)的小文件的標識,將建立的鏈接分別重命名。
      5.根據(jù)權(quán)利要求1-4任一所述的方法,其特征在于,所述根據(jù)預(yù)先設(shè)置的數(shù)據(jù)塊元數(shù)據(jù)信息庫,在得到的數(shù)據(jù)分塊中確定重復(fù)塊和新塊,之前還包括:將得到的數(shù)據(jù)分塊,進行相互比較,將得到的數(shù)據(jù)分塊中相同的數(shù)據(jù)塊刪除至一份。
      6.根據(jù)權(quán)利要求1-4任一所述的方法,其特征在于,所述讀取的N個小文件為存儲器中同一目錄下的N個小文件。
      7.根據(jù)權(quán)利要求2所述的方法,其特征在于,還包括:接收讀請求,所述讀請求中包括欲讀取的小`文件標識,根據(jù)組成所述讀取的小文件的數(shù)據(jù)塊地址和小文件標識之間的所述對應(yīng)關(guān)系,從記錄文件中讀取組成小文件的數(shù)據(jù)塊。
      8.一種小文件處理裝置,其特征在于,包括:讀取單元,用于讀取N個小文件,其中,所述小文件為小于預(yù)置大小的小文件;拆分單元,用于將所述讀取的N個小文件整合為一個大文件,對整合后的大文件進行數(shù)據(jù)分塊;確定單元,用于根據(jù)預(yù)先設(shè)置的數(shù)據(jù)塊元數(shù)據(jù)信息庫,在得到的數(shù)據(jù)分塊中確定重復(fù)塊和新塊;處理單元,將確定得到的新塊的元數(shù)據(jù)信息添加到所述的元數(shù)據(jù)信息庫中,并將新塊的數(shù)據(jù)添加到記錄文件中,在所述元數(shù)據(jù)信息庫中更新重復(fù)塊的引用次數(shù);其中,所述拆分單元,包括:整合單元,用于將所述讀取的小文件整合為一個大文件;第一判斷單元,用于判斷所述滑動窗口的結(jié)束位置是否是所述任一小文件的尾部,如果是,將判斷結(jié)果發(fā)送給拆分處理單元;如果否,將判斷結(jié)果發(fā)送給第二判斷單元;第二判斷單元,用于判斷滑動窗口當前覆蓋的數(shù)據(jù),是否滿足數(shù)據(jù)分塊條件,如果是, 將判斷結(jié)果發(fā)送給拆分處理單元,如果否,將滑動窗口移動一個字節(jié)后,返回執(zhí)行所述第一判斷單元功能以繼續(xù)利用滑動窗口對所述整合后的大文件進行分塊,直到完成對所述整合后大文件的數(shù)據(jù)分塊;拆分處理單元,用于當判斷所述滑動窗口的結(jié)束位置是所述任一小文件的尾部或者判斷滑動窗口當前覆蓋的數(shù)據(jù)滿足數(shù)據(jù)分塊條件時,將從上一個分塊的結(jié)束位置到當前滑動窗口的結(jié)束位置之間的數(shù)據(jù)作為一個數(shù)據(jù)分塊,并將滑動窗口移動一個字節(jié)后,返回執(zhí)行所述第一判斷單元功能以繼續(xù)利用滑動窗口對所述整合后的大文件進行分塊,直到完成對所述整合后大文件的數(shù)據(jù)分塊。
      9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,還包括:映射單元,用于根據(jù)組成所述讀取的每個小文件所需的數(shù)據(jù)塊在所述記錄文件中的地址,建立組成所述讀取的每個小文件的數(shù)據(jù)塊地址和小文件標識之間的對應(yīng)關(guān)系。
      10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,還包括:請求處理單元,用于接收讀取所述N個小文件中至少一個小文件的請求,讀取請求中包括欲讀取的小文件標識,根據(jù)組成統(tǒng)一小文件的數(shù)據(jù)塊地址和小文件標識之間的對應(yīng)關(guān)系,從所述記錄文件中讀取組成小文件的數(shù)據(jù)塊。
      11.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述映射單元,包括:索引單元,用于存儲所述拆分得到的數(shù)據(jù)分塊在所述記錄文件中的地址信息;映射子單元,用于根據(jù)索引文件中組成所讀取的小文件所需的數(shù)據(jù)塊在所述記錄文件中的地址,建立組成所讀取的小文件的數(shù)據(jù)塊地址和小文件標識之間的對應(yīng)關(guān)系。`
      【文檔編號】G06F17/30GK103514210SQ201210217046
      【公開日】2014年1月15日 申請日期:2012年6月28日 優(yōu)先權(quán)日:2012年6月28日
      【發(fā)明者】葉林睿, 張宗全, 鐘延輝 申請人:華為技術(shù)有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1