[發明專利]基于分布式文件系統的文件處理方法、系統及客戶端無效
| 申請號: | 201110172216.2 | 申請日: | 2011-06-23 |
| 公開(公告)號: | CN102843403A | 公開(公告)日: | 2012-12-26 |
| 發明(設計)人: | 俞強華;鄧明;潘佳偉;王本結 | 申請(專利權)人: | 盛大計算機(上海)有限公司 |
| 主分類號: | H04L29/08 | 分類號: | H04L29/08;H04L29/06 |
| 代理公司: | 北京集佳知識產權代理有限公司 11227 | 代理人: | 陳蕾;逯長明 |
| 地址: | 201203 上海市*** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 分布式 文件系統 文件 處理 方法 系統 客戶端 | ||
技術領域
本申請涉及計算機存儲技術領域,特別是涉及一種基于分布式文件系統的文件處理方法、系統及客戶端。
背景技術
分布式文件系統(Distributed?File?System)是指文件系統管理的物理存儲資源不一定直接連接在本地節點上,而是通過計算機網絡與節點相連。分布式文件系統的設計基于客戶機/服務器模式。參見圖1A,為一種典型的分布式文件系統架構示意圖,主要包括客戶端、元數據節點和數據存儲節點。其中,客戶端(Client)通常部署在業務應用服務器上,業務應用程序通過所在客戶端向分布式文件系統集群發送數據訪問請求;數據存儲節點(chunk?node)用于存放文件數據,其中每個數據存儲節點上可能由若干存儲設備組成;分布式文件系統集群中的元數據節點(meta?node)上保存了設備信息表和文件布局分配表,其中設備信息表中用于保存組成每個數據存儲節點的存儲設備的屬性信息,例如,存儲容量、可用容量等,文件布局分配表中保存了組成每個文件的每個數據塊所在的存儲設備,如圖1B所示,其中文件1由N個數據塊組成,以數據塊1為例,需要記錄該數據塊的數據塊id(標識)、數據塊所在數據節點的數據節點id和存儲設備id。
現有技術,在進行文件寫入操作時,元數據節點需要查找設備信息表中各個存儲設備的可用容量,以選擇合適的存儲設備,當客戶端根據元數據節點選擇的存儲設備完成文件寫入后,將該文件的文件標識,以及各個數據塊與所在存儲設備的對應關系記錄到文件布局分配表中;在進行文件讀取操作時,元數據節點根據文件標識查找文件布局分配表,將獲取到的組成該文件的各個數據塊所在的位置信息返回給客戶端,由客戶端根據該位置信息到對應的存儲設備上讀取文件數據。
發明人在對現有技術的研究過程中發現,現有技術要實現基于分布式文件系統的文件讀寫操作時,需要在元數據節點上通過文件布局分配表記錄每個文件的數據塊的存儲位置信息,當分布式文件系統規模擴大時,文件數量將快速增長,相應的文件布局分配表也相應增大,因此增加了元數據節點為存儲文件布局分配表所占用的磁盤空間;并且,當文件布局分配表增大時,對該文件布局分配表進行I/O(輸入/輸出)操作的時間也將變長,由此降低了文件的讀寫性能。
發明內容
本申請實施例提供了一種基于分布式文件系統的文件處理方法、系統及客戶端,以解決現有根據文件布局分配表進行分布式文件的讀寫操作,導致占用磁盤存儲空間,文件讀寫性能不高的問題。
為了解決上述技術問題,本申請實施例公開了如下技術方案:
一種基于分布式文件系統的文件處理方法,所述系統包括元數據節點、和與所述元數據節點分別通信的客戶端和數據存儲節點,每個數據存儲節點由至少一個存儲設備組成,客戶端內保存基于虛擬節點的一致性哈希環,其中每個存儲設備根據其存儲容量的大小對應到所述一致性哈希環上的至少一個虛擬節點,每個虛擬節點保存所述虛擬節點所屬的存儲設備的設備標識和使用狀態,根據所述虛擬節點的總數為每個虛擬節點分配虛擬節點的值,所述方法包括:
客戶端向元數據節點發送文件寫入請求;
接收元數據節點根據所述文件寫入請求返回的為所述文件分配的文件標識,以及組成所述文件的每個數據塊的數據塊標識、數據塊的副本數量以及選擇性因子,所述選擇性因子初始化值為零;
對于順序組成所述文件的每個數據塊,對所述文件的文件標識、所述數據塊的數據塊標識和選擇性因子進行哈希運算得到哈希值;
根據所述哈希值查找所述一致性哈希環,從所述一致性哈希環上獲取大于所述哈希值的最小虛擬節點的值,從所述虛擬節點開始在所述一致性哈希環上順時針選擇與所述副本數量一致的虛擬節點;
當所選擇的虛擬節點分別屬于不同的存儲設備,且所述不同的存儲設備的使用狀態為可用狀態時,將數據塊發送到所述不同的存儲設備上進行存儲。
一種分布式文件系統,包括:元數據節點、和與所述元數據節點分別通信的客戶端和數據存儲節點,每個數據存儲節點由至少一個存儲設備組成,
所述客戶端,用于保存基于虛擬節點的一致性哈希環,其中每個存儲設備根據其存儲容量的大小對應到所述一致性哈希環上的至少一個虛擬節點,每個虛擬節點保存所述虛擬節點所屬的存儲設備的設備標識和使用狀態,根據所述虛擬節點的總數為每個虛擬節點分配虛擬節點的值;以及向元數據節點發送文件寫入請求;
所述元數據節點,用于根據所述文件寫入請求向所述客戶端返回的為所述文件分配的文件標識,以及組成所述文件的每個數據塊的數據塊標識、數據塊的副本數量以及選擇性因子,所述選擇性因子初始化值為零;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于盛大計算機(上海)有限公司,未經盛大計算機(上海)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110172216.2/2.html,轉載請聲明來源鉆瓜專利網。





