[發(fā)明專利]一種實現數據讀寫的方法以及分布式文件系統、客戶端有效
| 申請?zhí)枺?/td> | 201210030425.8 | 申請日: | 2012-02-10 |
| 公開(公告)號: | CN103248656B | 公開(公告)日: | 2017-04-19 |
| 發(fā)明(設計)人: | 張云龍 | 申請(專利權)人: | 聯想(北京)有限公司 |
| 主分類號: | H04L29/08 | 分類號: | H04L29/08;G06F17/30 |
| 代理公司: | 北京同達信恒知識產權代理有限公司11291 | 代理人: | 黃志華 |
| 地址: | 100085 *** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 實現 數據 讀寫 方法 以及 分布式 文件系統 客戶端 | ||
技術領域
本發(fā)明涉及分布式系統領域,尤其涉及一種實現數據讀寫的方法以及分布式文件系統、客戶端。
背景技術
Hadoop Distributed File System,簡稱HDFS,是一個分布式文件系統。在HDFS架構中必要角色有三個,Namenode(控制節(jié)點)、Datanode(數據節(jié)點)和Client(客戶端),其中Namenode為集群單點,在整體架構中,Namenode既充當Client的Server,也充當Datanode的Server,其架構簡圖如圖1所示。當HDFS集群增加到一定規(guī)模,如Datanode的數量達到1000以上,Client數量達到1000以上,而每個Client 100+RW/s(Read&Write per second,每秒讀寫請求次數),這時Namenode上承載的長連接數即為2000,且Namenode RWS數量達到100萬左右。
發(fā)明人在發(fā)明過程中,發(fā)現現有的HDFS架構中要完成一次完整的文件讀寫過程會被Client分解成M次Client與Namenode之間的RPC連接和N次Client與Datanode之間的TCP連接,當其中任何一個環(huán)節(jié)阻塞時,會影響后續(xù)環(huán)節(jié)。
HDFS原生RPC架構為1 Selector+N handler模式,當Namenode連接數大于N時,其他請求處于緩沖隊列等待讀取。
因此,運用現有的分布式文件系統,由于以上限制,在大規(guī)模集群訪問時,會存在嚴重的排隊延遲現象,造成讀寫請求延時過高。
同時,因Namenode節(jié)點只有一個,無法有效應對Client和Datanode數量的線性增長,存在集群擴容方面的瓶頸。
發(fā)明內容
本申請實施例提供一種實現數據讀寫的方法以及分布式文件系統、客戶端,用于解決現有的分布式文件系統在大規(guī)模集群訪問時,會存在嚴重的排隊延遲現象,造成讀寫請求延時過高的問題,實現讀寫分離。
本申請實施例一提供一種實現數據讀寫的方法,應用在分布式文件系統的第一客戶端中,所述分布式文件系統包括至少兩個控制節(jié)點,與所述至少兩個控制節(jié)點分別連接的至少一個數據節(jié)點,所述第一客戶端分別與所述至少兩個控制節(jié)點及所述至少一個數據節(jié)點分別連接,其中,所述至少兩個控制節(jié)點中至少包括第一控制節(jié)點及至少一個第二控制節(jié)點,所述方法包括:
判斷發(fā)出的第一請求為寫數據請求還是讀數據請求,所述寫數據請求為寫入第一數據的請求,所述讀數據請求為讀取第二數據的請求;
如果是寫數據請求,將所述第一數據寫入寫目標數據節(jié)點,其中,所述寫目標數據節(jié)點具體為所述第一控制節(jié)點基于所述寫數據請求從所述至少一個數據節(jié)點中確定的數據節(jié)點;所述第一控制節(jié)點為能將所述寫目標數據節(jié)點的信息發(fā)送至所述至少一個第二控制節(jié)點的節(jié)點;
如果是讀數據請求,從讀目標數據節(jié)點讀取所述第二數據,其中,所述讀目標數據節(jié)點為所述至少一個第二控制節(jié)點中一個第二控制節(jié)點基于所述讀數據請求從所述至少一個數據節(jié)點中確定的數據節(jié)點;
其中,所述第一數據與所述第二數據為相同或不相同的數據,所述寫目標數據節(jié)點與所述讀目標數據節(jié)點為相同或不相同的數據節(jié)點。
進一步的,如上所述的方法,所述如果是寫數據請求,將所述第一數據寫入寫目標數據節(jié)點,具體包括:
獲取所述第一控制節(jié)點的地址信息;
向所述第一控制節(jié)點發(fā)送寫數據請求,接收所述第一控制節(jié)點發(fā)送的基于所述寫數據請求從所述至少一個數據節(jié)點中確定的寫目標數據節(jié)點的地址信息;
基于所述寫目標數據節(jié)點的地址信息,將所述第一數據寫入所述寫目標數據節(jié)點。
進一步的,如上所述的方法,所述如果是讀數據請求,從讀目標數據節(jié)點讀取所述第二數據,具體包括:
獲取所述至少一個第二控制節(jié)點中的一個第二控制節(jié)點的地址信息;
向所述地址信息對應的第二控制節(jié)點發(fā)送讀數據請求,接收所述地址信息對應的第二控制節(jié)點發(fā)送的基于所述讀數據請求從所述至少一個數據節(jié)點中確定的讀目標數據節(jié)點的地址信息;
基于所述讀目標數據節(jié)點的地址信息,從所述讀目標數據節(jié)點獲取所述第二數據。
其中,所述分布式系統還包括協調服務模塊,所述方法還包括:
當檢測到有新增第二控制節(jié)點,建立與所述增加第二控制節(jié)點的連接;
其中,所述新增第二控制節(jié)點具體為新增控制節(jié)點通過所述協調服務模塊認證的非第一控制節(jié)點的節(jié)點。
所述新增控制節(jié)點通過所述協調服務模塊認證,具體包括:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于聯想(北京)有限公司,未經聯想(北京)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210030425.8/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:紙箱板自動碰線機
- 下一篇:實現訪問網站資源的方法、正向代理服務器和系統
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發(fā)送方法、數據發(fā)送系統、數據發(fā)送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發(fā)送和數據接收設備、數據發(fā)送和數據接收方法
- 數據發(fā)送裝置、數據接收裝置、數據收發(fā)系統、數據發(fā)送方法、數據接收方法和數據收發(fā)方法
- 數據發(fā)送方法、數據再現方法、數據發(fā)送裝置及數據再現裝置
- 數據發(fā)送方法、數據再現方法、數據發(fā)送裝置及數據再現裝置





