[發(fā)明專利]一種面向海量小文件的分布式存儲方法在審
| 申請?zhí)枺?/td> | 201510940679.7 | 申請日: | 2015-12-15 |
| 公開(公告)號: | CN105573674A | 公開(公告)日: | 2016-05-11 |
| 發(fā)明(設計)人: | 陳霸東;肖建鋒;鄭南寧 | 申請(專利權)人: | 西安交通大學 |
| 主分類號: | G06F3/06 | 分類號: | G06F3/06 |
| 代理公司: | 西安通大專利代理有限責任公司 61200 | 代理人: | 徐文權 |
| 地址: | 710049 陜*** | 國省代碼: | 陜西;61 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 面向 海量 文件 分布式 存儲 方法 | ||
技術領域
本發(fā)明涉及數(shù)據(jù)存儲領域,尤其涉及分布式存儲系統(tǒng)數(shù)據(jù)路由方法。
背景技術
更加普及的互聯(lián)網(wǎng)、瘋狂生長的移動互聯(lián)網(wǎng)、正在萌芽的物聯(lián)網(wǎng),使得個人、企業(yè)在 各類應用上的狀態(tài)信息發(fā)生井噴。這些數(shù)據(jù)具有容量大、形式多、速率高的顯著特點,傳 統(tǒng)的數(shù)據(jù)管理系統(tǒng)對其進行處理已顯吃力。這對信息科學提出了新的需求,也期盼擁有更 高性能的計算系統(tǒng)能應用于生產(chǎn)實踐當中。對此,國內(nèi)外學者設計了形式各樣的分布式文 件系統(tǒng)來滿足井噴式數(shù)據(jù)的需求。近年來興起的各類云存儲系統(tǒng)、NoSQL都是從不同的 角度關注數(shù)據(jù)劇增問題。
數(shù)據(jù)規(guī)模變大時,需要增加機器數(shù)目,即實現(xiàn)系統(tǒng)的橫向擴展,將數(shù)據(jù)分散到各個存 儲節(jié)點,實現(xiàn)分布式存儲。如何將數(shù)據(jù)均衡分布在各個機器,又能在查詢階段迅速找到對 應的數(shù)據(jù),就是數(shù)據(jù)分片與數(shù)據(jù)路由問題。每份數(shù)據(jù)都擁有多個副本以保證容災,這就是 數(shù)據(jù)復制過程。數(shù)據(jù)復制還有利于提高讀操作的效率,客戶端可以從副本中選擇訪問速度 較快的一個進行訪問,達到數(shù)據(jù)流分流的目的。在設計分布式文件系統(tǒng)時,數(shù)據(jù)路由策略 是關鍵。如果數(shù)據(jù)分片與路由策略設計不合理,有可能導致不必要的大規(guī)模數(shù)據(jù)遷移。如 果對數(shù)據(jù)復制與一致性考慮不周全,有可能導致系統(tǒng)出錯。
數(shù)據(jù)量驟增的現(xiàn)象催生出了各類大型分布式文件系統(tǒng)。早前的這些系統(tǒng)在特定應用場 景的存儲性能較為優(yōu)異。但當程師們使用這些系統(tǒng)的設計思想去處理數(shù)量龐大的小文件 時,發(fā)現(xiàn)其效果并不理想,主要是使用磁盤存儲小文件會帶來空間利用率問題與磁盤I/O 挑戰(zhàn)。對海量小文件帶來的問題,存儲系統(tǒng)需要做出一定的調(diào)整,提高磁盤的空間利用率, 優(yōu)化讀寫流程。主要思路為:將元數(shù)據(jù)與文件實際內(nèi)容分開處理,元數(shù)據(jù)保存在主控節(jié)點 的內(nèi)存中,文件實際內(nèi)容合并成大文件再保存在存儲集群的磁盤中,存儲節(jié)點通過內(nèi)存索 引檢索文件實際內(nèi)容。
現(xiàn)有的分布式存儲方法中尚無針對海量小文件存儲效率和存儲空間利用率等問題提 出較好的解決辦法。同時對于數(shù)據(jù)容災等問題也缺少考慮。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種面向海量小文件的分布式存儲方法。
為達到上述目的,本發(fā)明采用了以下技術方案:
步驟1、在存儲集群初始化階段,將數(shù)據(jù)副本數(shù)設置為K,將存儲節(jié)點分配在N個網(wǎng) 段,每個網(wǎng)段包含M個存儲節(jié)點,其中,N大于K;
步驟2、在存儲集群初始化階段,創(chuàng)建P個數(shù)據(jù)分區(qū),將所述P個數(shù)據(jù)分區(qū)稱為寫入 窗口,數(shù)據(jù)分區(qū)的數(shù)量P由用戶設定,一個數(shù)據(jù)分區(qū)由K個大文件組成,K個大文件分 別存儲在不同網(wǎng)段的存儲節(jié)點上;在寫入窗口的各個數(shù)據(jù)分區(qū)上設置用于標記的序號,將 寫入窗口的各個數(shù)據(jù)分區(qū)的可寫標志位設置為可寫;
步驟3、存儲小文件時,從寫入窗口中選擇一個數(shù)據(jù)分區(qū),以追加寫的方式將該小文 件寫入該數(shù)據(jù)分區(qū);
步驟4、當某個數(shù)據(jù)分區(qū)存儲的數(shù)據(jù)量到達閾值時,將該數(shù)據(jù)分區(qū)從寫入窗口中剔除, 當數(shù)據(jù)分區(qū)數(shù)量少于P時,參考存儲集群中存儲節(jié)點的實時負載狀態(tài)和計算性能創(chuàng)建一 個新的數(shù)據(jù)分區(qū),并納入寫入窗口。
所述步驟1中,數(shù)據(jù)副本數(shù)K是指存儲系統(tǒng)為了實現(xiàn)數(shù)據(jù)容災而將同一份數(shù)據(jù)復制 為多個備份的數(shù)量。
所述步驟2中,數(shù)據(jù)分區(qū)的數(shù)量P一般等于存儲節(jié)點總數(shù)量。
所述步驟3具體包括以下步驟:
A1、以隨機的方式從寫入窗口中選出一個數(shù)據(jù)分區(qū)作為待寫入分區(qū);
A2、若待寫入分區(qū)的可寫標志位為不可寫,則執(zhí)行步驟A3;若待寫入分區(qū)的可寫標 志位為可寫,則執(zhí)行步驟A4;
A3、按序號遞減的方式遍歷寫入窗口找到一個可寫標志位為可寫的數(shù)據(jù)分區(qū)并作為 待寫入分區(qū),然后執(zhí)行步驟A4;若寫入窗口中不存在可寫標志位為可寫的數(shù)據(jù)分區(qū),則 參考存儲集群中存儲節(jié)點的實時負載狀態(tài)和計算性能創(chuàng)建一個新的數(shù)據(jù)分區(qū)作為待寫入 分區(qū),并納入寫入窗口,然后執(zhí)行步驟A4;
A4、將待寫入分區(qū)的可寫標志位設置為不可寫,然后執(zhí)行步驟A5;
A5、從待寫入分區(qū)對應的存儲節(jié)點中隨機選出1個作為第一個寫入小文件的存儲節(jié) 點,該存儲節(jié)點再將小文件復制到待寫入分區(qū)的其它存儲節(jié)點,然后執(zhí)行步驟A6;
A6、將待寫入分區(qū)的可寫標志位設置為可寫。
所述閾值由用戶設定。
創(chuàng)建一個新的數(shù)據(jù)分區(qū)包括以下步驟:
B1、從N個網(wǎng)段中隨機選出K個網(wǎng)段;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于西安交通大學,未經(jīng)西安交通大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201510940679.7/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字數(shù)據(jù)處理
G06F3-00 用于將所要處理的數(shù)據(jù)轉(zhuǎn)變成為計算機能夠處理的形式的輸入裝置;用于將數(shù)據(jù)從處理機傳送到輸出設備的輸出裝置,例如,接口裝置
G06F3-01 .用于用戶和計算機之間交互的輸入裝置或輸入和輸出組合裝置
G06F3-05 .在規(guī)定的時間間隔上,利用模擬量取樣的數(shù)字輸入
G06F3-06 .來自記錄載體的數(shù)字輸入,或者到記錄載體上去的數(shù)字輸出
G06F3-09 .到打字機上去的數(shù)字輸出
G06F3-12 .到打印裝置上去的數(shù)字輸出
- 一種數(shù)據(jù)庫海量數(shù)據(jù)比對的方法
- 基于云計算的海量數(shù)據(jù)訪問處理系統(tǒng)
- 一種實現(xiàn)海量數(shù)據(jù)離線分析的方法
- 一種海量矢量切片數(shù)據(jù)云存儲方法及系統(tǒng)
- 一種多源海量數(shù)據(jù)處理系統(tǒng)及方法
- 快速實現(xiàn)海量數(shù)據(jù)準實時全量統(tǒng)計的方法、裝置及系統(tǒng)
- 一種海量數(shù)據(jù)分析系統(tǒng)及方法
- 在線繪制地圖海量線的方法
- 一種海量點數(shù)據(jù)聚合渲染方法、裝置、設備及存儲介質(zhì)
- 一種海量不確定XML數(shù)據(jù)存儲方法





