[發明專利]一種hadoop數據存儲方法和裝置在審
| 申請號: | 201710799237.4 | 申請日: | 2017-09-07 |
| 公開(公告)號: | CN107566496A | 公開(公告)日: | 2018-01-09 |
| 發明(設計)人: | 辛永欣 | 申請(專利權)人: | 鄭州云海信息技術有限公司 |
| 主分類號: | H04L29/08 | 分類號: | H04L29/08 |
| 代理公司: | 北京安信方達知識產權代理有限公司11262 | 代理人: | 李紅爽,李丹 |
| 地址: | 450018 河南省鄭州市*** | 國省代碼: | 河南;41 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 hadoop 數據 存儲 方法 裝置 | ||
技術領域
本發明實施例涉及數據存儲技術,尤指一種hadoop數據存儲方法和裝置。
背景技術
隨著互聯網和分布式計算技術的發展,出現了越來越多的數據密集型應用,這些應用常常需要涉及數TB(太字節)的數據,如何高效、可靠而又方便地處理大量的數據成為當前一個重要研究方向,并且如何可靠而且合理地存放海量數據是Hadoop(一種分布式系統基礎架構)體系中的一個重要問題。Hadoop將數據的多個副本存放在集群中的不同機器上,當有節點失效時,其仍然可以讀取數據。但另一方面,由于MapReduce中的運算常常需要輸入大量的數據,而大量數據的移動會顯著影響運算的性能,所以數據的存放應當遵循本地性的原則,即數據應當距離運算節點較近,從而減少因數據移動帶來的性能損失。HDFS(Hadoop分布式文件系統)目前的副本放置策略如下:如果寫入者在一個數據節點DataNode上,那么第一個副本在本機,否則隨機選取一個節點。第二個副本先在另一個機架上,第三個副本被放置在同第二個副本同一機架,但不同的數據節點上。該方案存在以下問題:隨機選取的機架的節點可能會由于距離本地節點太遠而增加不必要的數據恢復時間,同時隨機選取節點也不能保證節點之間數據存儲的平衡。由于系統中節點的失效是常態,數據恢復時不必要的性能損失會導致整個存儲系統性能下降。
發明內容
為了解決上述技術問題,本發明實施例提供了一種hadoop數據存儲方法,能夠實現數據存放的負載均衡,又能實現良好的數據傳輸性能。
為了達到本發明實施例目的,本發明實施例提供了一種hadoop數據存儲方法,包括:
當接收到用戶提交的數據存儲請求時,名字節點NameNode從多個不同機架中隨機選取預設數量的數據節點DataNode;
獲取預設數量的DataNode中各個DataNode在網絡拓撲中到當前DataNode的距離信息以及各個DataNode當前存放的數據副本數量;
根據該距離信息以及數據副本數量計算每個DataNode的調度評價值;
根據計算出的調度評價值選取數據存放節點。
可選地,當接收到用戶提交的數據存儲請求時,名字節點NameNode從多個不同機架中隨機選取預設數量的數據節點DataNode包括:
根據該數據存儲請求,NameNode調用預設的副本放置策略BlockPlacementPolicy;其中,該BlockPlacementPolicy的節點選取函數chooseTarget()中增加有網絡拓撲NetworkTopology類成員變量clusterMap;
根據clusterMap的節點選擇函數Node chooseRandom(String scope)從多個不同機架中獲得隨機的DataNode。
可選地,獲取預設數量的DataNode中各個DataNode在網絡拓撲中到當前DataNode的距離信息包括:
根據clusterMap的目標距離函數intgetDistance(Node node1,Node node2)獲得各個DataNode與當前DataNode之間的網絡距離。
可選地,獲取各個DataNode當前存放的數據副本數量包括:
調用Hadoop系統中描述DataNode的數據節點描述策略DataNodeDescriptor;
根據DataNodeDescriptor中的塊數據組函數intnumBlocks()獲取各個DataNode上已經存放的數據塊數量,作為數據副本數量。
可選地,根據該距離信息以及數據副本數量計算每個DataNode的調度評價值包括:將獲取的關于每個DataNode的所述距離信息以及數據副本數量代入以下預設的節點評價函數計算每個DataNode的調度評價值E:
E=f(ld,d)=Al+(1-A)d;
其中,f(ld,d)為節點評價函數;1為該DataNode的負載系數,反比于該DataNode當前存放的數據副本數量;d為距離系數,反比于該DataNode到當前DataNode的網絡距離;A∈[0,1]為平衡因子。
可選地,根據計算出的調度評價值選取數據存放節點包括:
對計算出的調度評價值進行排序;
依據調度評價值從高到低選取數據存放節點。
為了達到本發明實施例目的,本發明實施例還提供了一種hadoop數據存儲裝置,包括:選取模塊、獲取模塊、計算模塊和存儲模塊;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于鄭州云海信息技術有限公司,未經鄭州云海信息技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710799237.4/2.html,轉載請聲明來源鉆瓜專利網。
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





