国产精品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)的小文件存儲方法和裝置的制造方法_2

      文檔序號:9865504閱讀:來源:國知局
      ,第一記錄區(qū)中存儲有數(shù)據(jù)文件的存儲路徑信息;
      [0052]第二處理模塊,用于將小文件存儲到數(shù)據(jù)文件中,并將小文件對應(yīng)的索引塊信息存儲到第二記錄區(qū)中,索引塊信息中包括:索引塊號、小文件在數(shù)據(jù)文件中的起始偏移位置和小文件的大小。
      [0053]較佳地,
      [0054]第一處理模塊可確定文件句柄隊列中包括的文件句柄數(shù)是否已經(jīng)達(dá)到預(yù)定閾值;如果否,則創(chuàng)建一個新的文件句柄,其中的數(shù)據(jù)文件和索引文件的第二記錄區(qū)中均為空,并將新創(chuàng)建的文件句柄分配給小文件;如果是,則將位于文件句柄隊列最前面的文件句柄分配給小文件;
      [0055]相應(yīng)地,第二處理模塊可進(jìn)一步用于,當(dāng)小文件及其對應(yīng)的索引塊信息均已存儲完成時,將為小文件分配的文件句柄放入到文件句柄隊列的末尾。
      [0056]另外,
      [0057]第二處理模塊還可進(jìn)一步用于,如果為小文件分配的文件句柄的數(shù)據(jù)文件中的剩余存儲空間小于小文件的大小或者發(fā)生存儲異常,則將為小文件分配的文件句柄關(guān)閉,并從文件句柄隊列中移除,并創(chuàng)建一個新的文件句柄,將新創(chuàng)建的文件句柄分配給小文件。
      [0058]較佳地,
      [0059]第一記錄區(qū)可位于第二記錄區(qū)的前面,且大小固定;第二記錄區(qū)中按照索引塊號由小到大的順序依次存儲有各索引塊信息,且每個索引塊信息的大小固定;
      [0060]第二處理模塊可從數(shù)據(jù)文件中已存儲的數(shù)據(jù)結(jié)束位置開始,存儲小文件;
      [0061]小文件對應(yīng)的索引塊號等同于小文件在數(shù)據(jù)文件中的存儲順序號。
      [0062]另外,
      [0063]第二處理模塊還可進(jìn)一步用于,當(dāng)小文件及其對應(yīng)的索引塊信息均已存儲完成時,將小文件對應(yīng)的索引文件的存儲路徑信息和索引塊號返回給存儲請求的發(fā)送方。
      [0064]還有,
      [0065]該裝置中還可進(jìn)一步包括:第三處理模塊;
      [0066]第三處理模塊,用于當(dāng)接收到針對任一小文件的讀取請求時,獲取其中攜帶的索引文件的存儲路徑信息和索引塊號;根據(jù)獲取到的索引文件的存儲路徑信息,找到相應(yīng)的索引文件,并讀取出存儲在找到的索引文件的第一記錄區(qū)中的數(shù)據(jù)文件的存儲路徑信息,根據(jù)讀取出的數(shù)據(jù)文件的存儲路徑信息找到對應(yīng)的數(shù)據(jù)文件;計算(獲取到的索引塊號-1)*每個索引塊信息的大小,得到獲取到的索引塊號對應(yīng)的索引塊信息在找到的索引文件的第二記錄區(qū)中的起始偏移位置,并根據(jù)得到的起始偏移位置和每個索引塊信息的大小,從第二記錄區(qū)中讀取出獲取到的索引塊號對應(yīng)的索引塊信息;根據(jù)讀取出的索引塊信息中的小文件在數(shù)據(jù)文件中的起始偏移位置和小文件的大小,從找到的數(shù)據(jù)文件中讀取出小文件,并返回給讀取請求的發(fā)送方。
      [0067]上述裝置實(shí)施例的具體工作流程請參照前述方法實(shí)施例中的相應(yīng)說明,此處不再贅述。
      [0068]總之,本發(fā)明所述方案中,可采用將多個小文件合并存儲到一個大的數(shù)據(jù)文件中的方式,來實(shí)現(xiàn)小文件的存儲,從而僅需要維護(hù)每個數(shù)據(jù)文件及對應(yīng)的索引文件的元數(shù)據(jù)信息,進(jìn)而較好的節(jié)省了內(nèi)存空間;比如,一個數(shù)據(jù)文件合并存儲了 10000個200KB大小的小文件,那么只需要維護(hù)2個元數(shù)據(jù)信息即可,而如果按照現(xiàn)有方式,將這些小文件直接進(jìn)行存儲的話,將需要維護(hù)10000個元數(shù)據(jù)信息。
      [0069]而且,本發(fā)明所述方案中,可利用文件句柄來實(shí)現(xiàn)多個小文件的并行存儲,從而減少了小文件存儲的等待時間,進(jìn)而提高了小文件的存儲效率。
      [0070]另外,本發(fā)明所述方案中,通過一些簡單的運(yùn)算等,即可實(shí)現(xiàn)小文件的快速讀取,從而提聞了小文件的讀取效率。
      [0071]綜上所述,以上僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
      【主權(quán)項】
      1.一種基于分布式文件系統(tǒng)HDFS的小文件存儲方法,其特征在于,包括: 當(dāng)接收到針對任一小文件的存儲請求時,為小文件分配一個文件句柄,該文件句柄由一個索引文件和一個數(shù)據(jù)文件組成,其中,索引文件中包括一個第一記錄區(qū)和一個第二記錄區(qū),第一記錄區(qū)中存儲有數(shù)據(jù)文件的存儲路徑信息; 將小文件存儲到數(shù)據(jù)文件中,并將小文件對應(yīng)的索引塊信息存儲到第二記錄區(qū)中,索引塊信息中包括:索引塊號、小文件在數(shù)據(jù)文件中的起始偏移位置和小文件的大小。2.根據(jù)權(quán)利要求1所述的方法,其特征在于, 所述為小文件分配一個文件句柄包括: 確定文件句柄隊列中包括的文件句柄數(shù)是否已經(jīng)達(dá)到預(yù)定閾值; 如果否,則創(chuàng)建一個新的文件句柄,其中的數(shù)據(jù)文件和索引文件的第二記錄區(qū)中均為空,并將新創(chuàng)建的文件句柄分配給小文件; 如果是,則將位于文件句柄隊列最前面的文件句柄分配給小文件; 該方法進(jìn)一步包括:當(dāng)小文件及其對應(yīng)的索引塊信息均已存儲完成時,將為小文件分配的文件句柄放入到文件句柄隊列的末尾。3.根據(jù)權(quán)利要求2所述的方法,其特征在于, 該方法進(jìn)一步包括: 如果為小文件分配的文件句柄的數(shù)據(jù)文件中的剩余存儲空間小于小文件的大小或者發(fā)生存儲異常,則將為小文件分配的文件句柄關(guān)閉,并從文件句柄隊列中移除,并創(chuàng)建一個新的文件句柄,將新創(chuàng)建的文件句柄分配給小文件。4.根據(jù)權(quán)利要求1、2或3所述的方法,其特征在于, 第一記錄區(qū)位于第二記錄區(qū)的前面,且大小固定;第二記錄區(qū)中按照索引塊號由小到大的順序依次存儲有各索引塊信息,且每個索引塊信息的大小固定; 所述將小文件存儲到數(shù)據(jù)文件中包括:從數(shù)據(jù)文件中已存儲的數(shù)據(jù)結(jié)束位置開始,存儲小文件; 小文件對應(yīng)的索引塊號等同于小文件在數(shù)據(jù)文件中的存儲順序號。5.根據(jù)權(quán)利要求4所述的方法,其特征在于, 該方法進(jìn)一步包括: 當(dāng)小文件及其對應(yīng)的索引塊信息均已存儲完成時,將小文件對應(yīng)的索引文件的存儲路徑信息和索引塊號返回給存儲請求的發(fā)送方。6.根據(jù)權(quán)利要求5所述的方法,其特征在于, 該方法進(jìn)一步包括: 當(dāng)接收到針對任一小文件的讀取請求時,獲取其中攜帶的索引文件的存儲路徑信息和索引塊號; 根據(jù)獲取到的索引文件的存儲路徑信息,找到相應(yīng)的索引文件,并讀取出存儲在找到的索引文件的第一記錄區(qū)中的數(shù)據(jù)文件的存儲路徑信息,根據(jù)讀取出的數(shù)據(jù)文件的存儲路徑信息找到對應(yīng)的數(shù)據(jù)文件; 計算(獲取到的索引塊號-1)*每個索引塊信息的大小,得到獲取到的索引塊號對應(yīng)的索引塊信息在找到的索引文件的第二記錄區(qū)中的起始偏移位置,并根據(jù)得到的起始偏移位置和每個索引塊信息的大小,從第二記錄區(qū)中讀取出獲取到的索引塊號對應(yīng)的索引塊信息; 根據(jù)讀取出的索引塊信息中的小文件在數(shù)據(jù)文件中的起始偏移位置和小文件的大小,從找到的數(shù)據(jù)文件中讀取出小文件,并返回給讀取請求的發(fā)送方。7.一種基于分布式文件系統(tǒng)HDFS的小文件存儲裝置,其特征在于,包括:第一處理模塊和第二處理模塊; 所述第一處理模塊,用于當(dāng)接收到針對任一小文件的存儲請求時,為小文件分配一個文件句柄,該文件句柄由一個索弓I文件和一個數(shù)據(jù)文件組成,其中,索引文件中包括一個第一記錄區(qū)和一個第二記錄區(qū),第一記錄區(qū)中存儲有數(shù)據(jù)文件的存儲路徑信息; 所述第二處理模塊,用于將小文件存儲到數(shù)據(jù)文件中,并將小文件對應(yīng)的索引塊信息存儲到第二記錄區(qū)中,索引塊信息中包括:索引塊號、小文件在數(shù)據(jù)文件中的起始偏移位置和小文件的大小。8.根據(jù)權(quán)利要求7所述的裝置,其特征在于, 所述第一處理模塊確定文件句柄隊列中包括的文件句柄數(shù)是否已經(jīng)達(dá)到預(yù)定閾值;如果否,則創(chuàng)建一個新的文件句柄,其中的數(shù)據(jù)文件和索引文件的第二記錄區(qū)中均為空,并將新創(chuàng)建的文件句柄分配給小文件;如果是,則將位于文件句柄隊列最前面的文件句柄分配給小文件; 所述第二處理模塊進(jìn)一步用于,當(dāng)小文件及其對應(yīng)的索引塊信息均已存儲完成時,將為小文件分配的文件句柄放入到文件句柄隊列的末尾。9.根據(jù)權(quán)利要求8所述的裝置,其特征在于, 所述第二處理模塊進(jìn)一步用于,如果為小文件分配的文件句柄的數(shù)據(jù)文件中的剩余存儲空間小于小文件的大小或者發(fā)生存儲異常,則將為小文件分配的文件句柄關(guān)閉,并從文件句柄隊列中移除,并創(chuàng)建一個新的文件句柄,將新創(chuàng)建的文件句柄分配給小文件。10.根據(jù)權(quán)利要求7、8或9所述的裝置,其特征在于, 第一記錄區(qū)位于第二記錄區(qū)的前面,且大小固定;第二記錄區(qū)中按照索引塊號由小到大的順序依次存儲有各索引塊信息,且每個索引塊信息的大小固定; 所述第二處理模塊從數(shù)據(jù)文件中已存儲的數(shù)據(jù)結(jié)束位置開始,存儲小文件; 小文件對應(yīng)的索引塊號等同于小文件在數(shù)據(jù)文件中的存儲順序號。11.根據(jù)權(quán)利要求10所述的裝置,其特征在于, 所述第二處理模塊進(jìn)一步用于,當(dāng)小文件及其對應(yīng)的索引塊信息均已存儲完成時,將小文件對應(yīng)的索引文件的存儲路徑信息和索引塊號返回給存儲請求的發(fā)送方。12.根據(jù)權(quán)利要求11所述的裝置,其特征在于, 該裝置中進(jìn)一步包括:第三處理模塊; 所述第三處理模塊,用于當(dāng)接收到針對任一小文件的讀取請求時,獲取其中攜帶的索引文件的存儲路徑信息和索引塊號;根據(jù)獲取到的索引文件的存儲路徑信息,找到相應(yīng)的索引文件,并讀取出存儲在找到的索引文件的第一記錄區(qū)中的數(shù)據(jù)文件的存儲路徑信息,根據(jù)讀取出的數(shù)據(jù)文件的存儲路徑信息找到對應(yīng)的數(shù)據(jù)文件;計算(獲取到的索引塊號-1)*每個索引塊信息的大小,得到獲取到的索引塊號對應(yīng)的索引塊信息在找到的索引文件的第二記錄區(qū)中的起始偏移位置,并根據(jù)得到的起始偏移位置和每個索引塊信息的大小,從第二記錄區(qū)中讀取出獲取到的索引塊號對應(yīng)的索引塊信息;根據(jù)讀取出的索引塊信息中的小文件在數(shù)據(jù)文件中的起始偏移位置和小文件的大小,從找到的數(shù)據(jù)文件中讀取出小文件,并返回給讀取請求的發(fā)送方。
      【專利摘要】本發(fā)明公開了一種基于HDFS的小文件存儲方法和裝置:當(dāng)接收到針對任一小文件的存儲請求時,為小文件分配一個文件句柄,該文件句柄由一個索引文件和一個數(shù)據(jù)文件組成,其中,索引文件中包括一個第一記錄區(qū)和一個第二記錄區(qū),第一記錄區(qū)中存儲有數(shù)據(jù)文件的存儲路徑信息;將小文件存儲到數(shù)據(jù)文件中,并將小文件對應(yīng)的索引塊信息存儲到第二記錄區(qū)中,索引塊信息中包括:索引塊號、小文件在數(shù)據(jù)文件中的起始偏移位置和小文件的大小。應(yīng)用本發(fā)明所述方案,能夠較好的節(jié)省內(nèi)存空間。
      【IPC分類】G06F17/30
      【公開號】CN105630779
      【申請?zhí)枴緾N201410581517
      【發(fā)明人】黃學(xué)軍, 王宇, 胡景翔
      【申請人】杭州海康威視系統(tǒng)技術(shù)有限公司
      【公開日】2016年6月1日
      【申請日】2014年10月27日
      當(dāng)前第2頁1 2 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1