999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種小文件合并存儲的方法

2021-01-18 03:37:44王海霞趙正軍
現代計算機 2020年32期
關鍵詞:優化

王海霞,趙正軍

(1.中國電信股份有限公司研究院,廣州 510630;2.廣州智光自動化有限公司,廣州 510760)

0 引言

隨著互聯網和信息技術不斷發展,數據信息對經濟和社會生活產生重大影響,我們進入了一個信息爆炸的時代,每個行業每天都在制造和產生大量數據。IDC白皮書預測到2025年,全球的數據總量將高達163ZB。尤其是物聯網、5G和人工智能等新技術等各種應用產生的數據,呈現指數級增長,甚至可能會涌現高達百億級的海量小文件。海量小文件(Lots Of Small Files,LOSF)在數據訪問和存儲等方面面臨巨大的挑戰,日漸成為業屆公認的難題。

海量小文件問題簡稱LOSF,通常是指文件大小在1MB以內,數量級別在百萬及以上。典型應用場景,例如我們生活中常用的最大電子商務網站淘寶,系統平臺上保存大量的圖片文件,平均大小僅為15KB,總量至少超過200億張。還有著名的社交網站Facebook,系統存儲了600億張以上的圖片。還有動漫渲染的后期制作過程中需要大量的視音頻素材,這些文件的大小都集中在10-20KB之間,數量通常超過500萬個。

目前的文件系統,例如本地文件系統、分布式文件系統等,在數據管理、數據存儲和緩存管理等實現方式和策略都是針對大文件設計的,例如GlusterFS、GFS、HDFS,海量小文件在現有的文件系統的存儲效率比較低,甚至無法實現快速訪問。

1 LOSF優化策略

1.1 硬件優化

如果忽略成本的因素,最直接的優化策略就是升級硬件配置,通過降低數據訪問時間來提高LOSF性能。例如,存儲介質用SSD替換原有的機械硬盤,或者增加存儲的Cache,或者采用分層存儲的部署,這樣可以大大提升IOPS/OPS的讀寫性能;或者采用處理性能更強的CPU,直接有效地提升并發處理能力及I/O訪問速度;還可以增大內存容量,顯著提高數據讀寫緩存命中率;以及使用傳輸效率更高的網絡設備,網絡訪問的帶寬高,延時小,這樣事務并發處理效率高,數據訪問的吞吐量大。硬件優化的核心思想,就是通過提升硬件的性能,消除I/O物理通道上的障礙,但是代價是成本較高。

1.2 Cache 管理

Cache技術的優化思路是用空間換取時間,通過提高數據訪問的緩存命中率,突破數據訪問的時間和空間的限制,提升文件訪問的性能。Cache技術可以應用到多個領域,例如CPU的Cache、存儲介質Cache和文件系統的Cache等。Cache技術的特點是先將數據集中讀寫到Cache中,然后再將數據用異步的方式移到穩定的存儲介質上。Cache技術通過異步的數據存取的模式來解決數據高并發訪問和延時的問題,有效減小存儲介質的訪問次數,來進一步提高存儲的效率。但是Cache容量不能無止境的增加,當達到一定閾值時,即便再繼續增大Cache容量,Cache的命中率也不會有顯著提高。

Cache技術對訪問過的數據進行短時間的保留,但是如果數據更新頻繁,緩存在性能改善方面的影響不再明顯,因此針對大量小文件的訪問,可以采用先預測頻繁訪問的文件集合,預先讀到Cache系統中,有效提高系統存儲的性能。預存取是一種主動緩存的技術,它充分利用數據的空間局部性,對未來可能發生的數據訪問請求進行預測,在實際訪問之前讀取數據并緩存,方便用戶快速訪問,有效減少數據訪問的時延。對于用戶來說,不是所有的預測都是有效的,正確的預測可以提升系統的性能,而不正確的預測就會造成Cache的浪費,I/O帶寬的占用,還有數據訪問的延時。

1.3 小文件合并存儲

對于大量小文件而言,可以采用小文件合并存儲的優化策略,首先,減少元數據數量。先將多個小文件合并成一個大文件,通過減少文件數量來提升元數據的訪問和查詢效率,減少文件讀寫的I/O操作次數,節約數據傳輸的時間。合并成大文件存儲在文件系統上,可以降低文件系統的I/O的壓力,提升存儲性能。在小文件合并存儲的同時,會生成索引文件,訪問數據時通過索引來查找,索引文件可以先預存到Cache中,這樣讀寫小文件時,只需要一次I/O就可實現。

對比傳統的文件系統,文件的元數據和數據是存儲在文件系統的不同的地方,而小文件合并存儲的方式是將元數據和數據連續存儲在大文件中,這樣增加了單個小文件內部的數據局部性,存儲系統上的I/O方式由隨機轉換成了順序,大大提高I/O讀寫性能。此外,采用小文件單獨存儲,磁盤上會產生大量的碎片。采用小文件合并存儲的方式,磁盤上的碎片會隨著文件數量大幅減少而降低,有效提高LOSF存儲效率。

傳統的文件系統,系統讀寫文件時,主要的系統開銷在open調用方面,例如路徑查找和路徑解析。采用小文件合并存儲的機制,I/O訪問流程也會發生變化,多個小文件合并成一個大文件,open系統調用的開銷轉換成了seek操作,先訪問Cache中的索引,再在大文件對應的位置上查找,節省了之前的大部分的系統調用的開銷。

小文件合并存儲的方式,對于存在大量修改和刪除操作的存儲系統不是很適用。文件在修改和刪除操作時,存儲系統會產生大量碎片,執行碎片整理,又會產生額外系統開銷。如果不進行空間整理,采用直接追加寫的方式,就會導致數據分布的隨機性增加,浪費存儲空間,降低性能,這些問題的存在,是小文件合并存儲的優化策略所面臨的挑戰。

2 小文件合并存儲改進方案

綜上所述,小文件合并存儲是解決目前LOSF問題最為有效的策略。著名的社交網站Facebook和電子商務網站淘寶等都采用了這種方式。小文件合并存儲的機制,核心思想是將多個小文件合并成一個大文件中,合并時同步生成索引文件,小文件的元數據,例如位置信息、文件名稱等與實際文件是分開存儲的,在具體訪問文件的時候,會首先獲取元數據的offset和size等關鍵信息,然后依據索引檢索實際文件。

但是這種合并存儲方法也存在以下一些問題:

小文件以合并存儲的方式存放到磁盤上,小文件之間需要嚴格的邊界來區分,一旦寫入便不能再修改邊界,因此在不同數據塊上修改或刪除單個小文件時,無法立即回收存儲空間,會產生一些磁盤碎片,不僅造成訪問性能下降,還導致磁盤空間浪費。

本文提出對一種改進的小文件合并存儲的方法,針對現有的小文件合并存儲的方法在修改和刪除單個小文件時,無法立即回收存儲空間,導致磁盤空間浪費等問題,提出以文件的大小為參數,先對小文件進行分組,再對同一組的小文件進行合并存儲在同一個數據塊中,存儲時優先選擇數據塊中空閑的單元。在修改單個小文件時,如果修改后的文件大小發生變化,就將小文件移至其對應的文件組里,存儲到相應的數據塊里;如果修改后的文件大小不變,就直接修改。這樣可以減少因修改和刪除單個小文件產生的數據塊中空閑單元,優化數據布局,及時回收存儲空間,提高磁盤空間的利用率,彌補現有的合并存儲方法的不足。

3 小文件合并存儲改進方案具體流程

3.1 新增文件的流程

(1)客戶端發出請求

(2)判斷文件大小

(3)根據文件大小選擇數據塊組group_x

(4)在數據塊組 group_x中找到一個可寫的block_id

(5)判斷block_id中是否有空閑的存儲單元

(6)如果沒有,對同一組待寫的小文件合并成一個大文件,如果有,在block_id中選擇空閑的存儲單元

(7)把文件寫入磁盤,同時生成元數據+索引文件

(8)向客戶端返回成功信息

小文件合并存儲改進方案在新增文件時,會以文件的大小為參數,先對小文件進行分組,再對同一組的小文件進行合并存儲在同一個數據塊中,存儲時優先選擇block中空閑的單元。而原有方案不考慮文件大小,對新增文件直接合并,以追寫的方式,存儲在數據塊中。

圖1 新增文件流程圖

3.2 刪除文件的流程

(1)客戶端請求

(2)查找文件的元數據,獲取文件名稱、位置信息等屬性

(3)確認文件所在group_x和block_id

(4)根據元數據和索引表的文件名稱、offset和size,找到文件File_xx

(5)刪除File_xx,修改文件File_xx的存儲單元變為空閑狀態,同時更新元數據和索引表

(6)向客戶端返回成功信息

小文件合并存儲改進方案在刪除文件時,會將文件所在的存儲單元修改為空閑狀態,當有相同大小的文件寫入時,優先考慮。

圖2 修改文件流程圖

3.3 修改文件的流程

(1)客戶端請求

(2)判斷文件大小是否變化

(3)如果是,把文件File_xx看作一份新文件處理,增加新文件(詳見新增文件流程),刪除舊文件(詳見刪除文件流程)

(4)如果不是,查找文件的元數據,獲取文件名稱、位置信息等屬性,確認文件所在group_x和block_id,根據元數據和索引表的文件名稱、offset和size,找到文件File_xx,修改 File_xx

(5)向客戶端返回成功信息

小文件合并存儲改進方案在修改文件時,會先判斷文件大小是否發生改變,如果發生改變,會將文件看作一份新文件處理,同時刪除舊文件。

圖3 刪除文件流程圖

4 小文件合并存儲改進方案的優點

小文件合并存儲改進方案相對于現有方案,具備以下優點:

(1)及時回收存儲空間,有效減少磁盤碎片;

(2)優化數據布局,提高磁盤空間的利用率;

(3)顯著提高存儲系統的數據訪問的效率。

小文件合并存儲改進方案將來可能的應用場景,分布式存儲系統和海量小文件云存儲等。

5 結語

本文在分析海量小文件存儲的主要問題的基礎上,探討了LOSF優化策略,提出了一種小文件合并存儲的改進方法和流程,具體包括新增文件、刪除文件和修改文件的流程,并闡明了小文件合并存儲改進方案的主要優點,為小文件合并存儲提供了一種解決方案。

猜你喜歡
優化
超限高層建筑結構設計與優化思考
房地產導刊(2022年5期)2022-06-01 06:20:14
PEMFC流道的多目標優化
能源工程(2022年1期)2022-03-29 01:06:28
民用建筑防煙排煙設計優化探討
關于優化消防安全告知承諾的一些思考
一道優化題的幾何解法
由“形”啟“數”優化運算——以2021年解析幾何高考題為例
圍繞“地、業、人”優化產業扶貧
今日農業(2020年16期)2020-12-14 15:04:59
事業單位中固定資產會計處理的優化
消費導刊(2018年8期)2018-05-25 13:20:08
4K HDR性能大幅度優化 JVC DLA-X8 18 BC
幾種常見的負載均衡算法的優化
電子制作(2017年20期)2017-04-26 06:57:45
主站蜘蛛池模板: 2021最新国产精品网站| 色婷婷成人网| 亚洲全网成人资源在线观看| 国产激情第一页| 国产精品视屏| 免费中文字幕一级毛片| 波多野结衣一区二区三区四区视频| 97国产精品视频人人做人人爱| 久久久久无码国产精品不卡 | 91九色国产在线| 亚洲成av人无码综合在线观看| 伊人久热这里只有精品视频99| 久久五月视频| 男女男免费视频网站国产| 精品亚洲国产成人AV| 亚洲自偷自拍另类小说| 亚洲天堂视频在线观看免费| 激情无码字幕综合| 无码AV日韩一二三区| 91青青草视频| 91精品国产自产在线老师啪l| 免费观看国产小粉嫩喷水 | 久久久久亚洲Av片无码观看| 综合亚洲色图| 欧美日本在线一区二区三区| 青青草一区| 日本午夜在线视频| 一级毛片免费不卡在线| 成人在线亚洲| 伊人色在线视频| 精品视频在线观看你懂的一区| 三级国产在线观看| 中文字幕天无码久久精品视频免费 | 国产91熟女高潮一区二区| 国产成人超碰无码| 无码国产偷倩在线播放老年人| 欧美在线精品怡红院| 精品国产免费第一区二区三区日韩| 99色亚洲国产精品11p| 亚洲日本中文字幕天堂网| 国产91在线|日本| 一级毛片免费播放视频| 中文无码日韩精品| 亚洲第一成网站| 成人在线天堂| 91精品国产自产在线观看| 国产香蕉在线视频| 国产精品尤物在线| 激情六月丁香婷婷四房播| 亚洲人人视频| 日本不卡在线播放| 亚洲成AV人手机在线观看网站| 91亚洲精选| 日韩精品久久无码中文字幕色欲| 亚洲男女在线| 亚洲视频在线观看免费视频| 午夜福利在线观看成人| 亚洲男人的天堂在线观看| 人妻免费无码不卡视频| 亚洲第一国产综合| 国产精品美女网站| 国产精品亚洲专区一区| 成人免费一区二区三区| 无码一区二区三区视频在线播放| 漂亮人妻被中出中文字幕久久| m男亚洲一区中文字幕| 91久久性奴调教国产免费| 亚洲福利一区二区三区| 在线免费亚洲无码视频| 青青青亚洲精品国产| 免费一级成人毛片| 午夜一级做a爰片久久毛片| 伊人久久综在合线亚洲2019| 黄片在线永久| 无码内射中文字幕岛国片| 呦系列视频一区二区三区| 亚洲人在线| 无码专区国产精品第一页| 久久久久人妻一区精品色奶水| 国产91在线|日本| 亚洲最黄视频| 国产日韩精品欧美一区喷|