[發明專利]基于HDFS分布式文件系統的數據冗余及文件操作方法有效
| 申請號: | 201110340417.9 | 申請日: | 2011-11-01 |
| 公開(公告)號: | CN102419766A | 公開(公告)日: | 2012-04-18 |
| 發明(設計)人: | 樊凱;李暉;吳昊;張大洋 | 申請(專利權)人: | 西安電子科技大學 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 陜西電子工業專利中心 61205 | 代理人: | 王品華;朱紅星 |
| 地址: | 710071*** | 國省代碼: | 陜西;61 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 hdfs 分布式 文件系統 數據 冗余 文件 操作方法 | ||
技術領域
本發明屬于數字信息存儲技術領域,特別涉及基于Hadoop?Distributed?File?Syetem(HDFS)分布式文件系統的數據冗余和文件操作方法,可用于文件系統的存儲和管理。
背景技術
隨著信息技術的發展,存儲數據在爆炸式的增長,本地的存儲很難滿足不斷增長的海量存儲的需要,加上個人移動計算和企業級的大規模計算對底層存儲系統提出更高的要求,人們越來越多的使用分布式文件系統,因為它能給人們帶來更高的存儲能力、可靠性、安全性和移動性。
目前,分布式文件系統有Sun公司開發的NFS分布式文件系統,它是第一個基于IP協議分布式文件系統,微軟研究院的Farsite系統,加州大學圣地亞哥分校的TotalRecall系統,亞馬遜公司的Dynamo系統,以及Google公司為其商業應用開發的GFS和Apache基金會開發的HDFS。
HDFS是GFS的開源實現,有著大量的參考文檔和實驗方式,HDFS采用master/slave架構,如圖1所示。HDFS集群是由一個Namenode結點和多個Datanode結點組成。Namenode結點是一個中心服務器,相當于GFS中Master結點。其負責管理文件系統的名字空間以及客戶端對文件的訪問,比如打開、關閉、重命名文件或目錄操作等。Datanode結點當于GFS中Chunk?Server結點,負責管理它所在結點上塊數據的存儲。即在Namenode結點的統一調度下進行數據塊的創建、刪除和復制。
為了保證數據的可用性,現實中的分布式存儲系統都對數據采取冗余技術。冗余技術包括兩大類:完整副本冗余和編碼冗余。HDFS的數據冗余機制采取復制機制,默認情況下系統分布式存儲三份副本,分散存儲在系統Datanode結點,這樣雖然能夠保證數據恢復的完整性,但造成了系統資源的巨大浪費。HDFS文件操作包括文件寫入、文件讀取、文件追加和文件刪除,由于采用三個副本的數據冗余方案,帶來文件讀取和文件寫入效率和性能上的損失。
發明內容
本發明的目的在于克服上述已有技術的不足,提出了一種基于HDFS分布式文件系統的數據冗余方法和文件操作方法,有效地在數據可靠性和讀寫性能間取得了平衡,在相同的冗余度下提高了文件的讀取和文件寫入的性能和效率,縮減了系統硬盤的存儲空間。
為實現上述目的,本發明基于HDFS分布式文件系統的數據冗余方法,包括如下步驟:
(1)將文件數據進行分段,每個文件段的基本長度為64MB,如果不足64MB的文件段數據結尾用0填補;
(2)將分好的文件段分為等長的基本塊,并且將這些基本塊存儲在同一Datanode結點的Block塊中,同時對存儲在Block塊中的數據生成校驗和,存入文件元數據表中;
(3)對基本塊數據進行編碼,得到編碼塊,將這些編碼塊、對應的編碼系數和Block標志發送到系統的不同于基本塊的Datanode結點;
(4)收到編碼塊的節點將編碼塊保存在本地Block塊上,并對這些編碼塊生成校驗和,將Block標志、校驗和、編碼系數寫入附加文件中,完成數據冗余。
為實現上述目的,本發明基于HDFS分布式文件系統的文件操作方法,包括:
(A)文件寫入步驟:
A1)客戶端向Namenode結點發出文件寫請求;
A2)Namenode結點在文件命名空間里查詢是否存在相同的文件請求名,如果存在,則要求客戶端更改文件名,如果不存在,則為該客戶指定一個主結點,并且將其它結點作為該客戶端的次結點;
A3)客戶端將數據發送給主結點,主結點對接收到的數據進行冗余:
首先,由主結點將數據劃分成文件段,每個文件段的基本長度為64MB,如果不足64MB的文件段數據結尾用0填補;
其次,將分好的文件段分為等長的基本塊,并且將這些基本塊存儲在同一Datanode結點的Block塊中,同時對存儲在Block塊中的數據生成校驗和,存入文件元數據表中;
再次,對基本塊數據進行編碼,得到編碼塊,將這些編碼塊對應的編碼向量和Block標志發送到各個次結點;
最后,由收到編碼塊的次節點將編碼塊保存在本地Block塊上,并對這些編碼塊生成校驗和,將Block標志、校驗和、編碼向量寫入附加文件中,完成數據冗余;
A4)數據冗余結束后,主結點向客戶端報告寫入文件完成;
(B)文件讀取步驟:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于西安電子科技大學,未經西安電子科技大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110340417.9/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:堿錳電池正電極體、堿錳電池及其制造方法
- 下一篇:一種家用脈動燃燒熱水器





