亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種分布式文件系統(tǒng)的數(shù)據(jù)存儲方法和裝置制造方法

文檔序號:6488805閱讀:162來源:國知局
一種分布式文件系統(tǒng)的數(shù)據(jù)存儲方法和裝置制造方法
【專利摘要】本發(fā)明公開了一種分布式文件系統(tǒng)的數(shù)據(jù)存儲方法和裝置,屬于網絡通信領域。所述方法包括:接收分布式文件系統(tǒng)的客戶端發(fā)送的寫文件請求;所述寫文件請求中包含所述客戶端標識;為所述寫文件請求分配對應的數(shù)據(jù)節(jié)點DataNode,所述分配的DataNode至少包括所述客戶端標識對應的客戶端;將所述客戶端所寫的文件數(shù)據(jù)存儲在為所述寫文件請求分配的DataNode中。所述裝置包括:接收模塊、分配模塊和存儲模塊。本發(fā)明通過將客戶端所寫的文件數(shù)據(jù)存儲在客戶端所對應的機器的DataNode中,降低讀寫文件時系統(tǒng)產生的讀寫流量,從而提高文件系統(tǒng)的讀寫速度,加快處理系統(tǒng)的運算處理速度。
【專利說明】一種分布式文件系統(tǒng)的數(shù)據(jù)存儲方法和裝置
【技術領域】
[0001]本發(fā)明涉及網絡通信領域,特別涉及一種分布式文件系統(tǒng)的數(shù)據(jù)存儲方法和裝置。
【背景技術】
[0002]DFS (Distributed File System,分布式文件系統(tǒng)),是指文件系統(tǒng)管理的物理存儲資源不一定直接連接在本地節(jié)點上,而是通過計算機網絡與存儲資源的節(jié)點相連。為了增強DFS中的數(shù)據(jù)安全,目前在DFS中,如常用的GFS(Google File System,可擴展的分布式文件系統(tǒng))和HDFS (Hadoop Distributed File System,開源的分布式文件系統(tǒng)),每個文件都會保存數(shù)據(jù)完全相同的多個副本,每個副本保存在由名字節(jié)點NameNode分配的不同的數(shù)據(jù)節(jié)點DataNode上;其中,NameNode在分布式文件系統(tǒng)中負責分配調度DataNode ;DataNode是分布式文件系統(tǒng)的數(shù)據(jù)存儲單元,部署在分布式文件系統(tǒng)的多臺機器上。
[0003]在大規(guī)模分布式系統(tǒng)中,分布式文件系統(tǒng)的DataNode除了保存客戶端所寫的文件數(shù)據(jù)外,還需要保存用來進行數(shù)據(jù)運算處理的運算處理系統(tǒng)的輸入數(shù)據(jù),中間運算數(shù)據(jù)以及結果輸出數(shù)據(jù)??蛻舳嗽趯懳募臅r候,由DFS的NameNode隨機分配一些DataNode用來存儲數(shù)據(jù)。
[0004]在實現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術至少存在以下問題:
[0005]目前在分布式文件系統(tǒng)在客戶端寫文件時,都是由NameNode隨機分配DataNode來存儲數(shù)據(jù),這樣很可能將所寫的文件數(shù)據(jù)存儲到客戶端以外的其他DataNode,造成產生大量的寫流量,增加系統(tǒng)的負載,降低運算系統(tǒng)的性能,影響其他應用對分布式文件系統(tǒng)的訪問速度。

【發(fā)明內容】

[0006]為了解決現(xiàn)有技術的問題,本發(fā)明實施例提供了一種分布式文件系統(tǒng)的數(shù)據(jù)存儲方法和裝置。所述技術方案如下:
[0007]一方面,提供了一種分布式文件系統(tǒng)的數(shù)據(jù)存儲方法,所述方法包括:
[0008]接收分布式文件系統(tǒng)的客戶端發(fā)送的寫文件請求;所述寫文件請求中包含所述客戶端的客戶端標識;
[0009]為所述寫文件請求分配對應的數(shù)據(jù)節(jié)點DataNode,所述分配的DataNode至少包括所述客戶端標識對應的客戶端;
[0010]將所述客戶端所寫的文件數(shù)據(jù)存儲在為所述寫文件請求分配的DataNode中。
[0011]具體地,所述將所述客戶端所寫的文件數(shù)據(jù)存儲在為所述寫文件請求分配的DataNode中之后,包括:
[0012]記錄所寫文件的文件標識以及所述文件標識對應的所有DataNode。
[0013]進一步地,所述記錄所寫文件的文件標識以及所述文件標識對應的所有DataNode之后,包括:[0014]接收所述客戶端發(fā)送的讀文件請求;所述讀文件請求中包含所述文件標識;
[0015]根據(jù)所述文件標識,查找所述文件標識對應的所有DataNode ;
[0016]從查找的所有DataNode中選擇所述客戶端標識對應的DataNode,并從所述選擇的DataNode中讀取所述文件標識對應的文件數(shù)據(jù)。
[0017]進一步地,所述從選擇的所述DataNode中讀取所述文件標識對應的文件數(shù)據(jù)之后,還包括:
[0018]對所述文件數(shù)據(jù)進行處理,將所述處理后的文件數(shù)據(jù)分別存儲在所述客戶端標識對應的客戶端和為所述文件分配的其他DataNode。
[0019]另一方面,提供了一種分布式文件系統(tǒng)的數(shù)據(jù)存儲裝置,所述裝置包括:
[0020]接收模塊,用于接收分布式文件系統(tǒng)的客戶端發(fā)送的寫文件請求;所述寫文件請求中包含所述客戶端的客戶端標識;
[0021]分配模塊,用于為所述寫文件請求分配對應的數(shù)據(jù)節(jié)點DataNode,所述分配的DataNode至少包括所述客戶端標識對應的客戶端;
[0022]存儲模塊,用于將所述客戶端所寫的文件數(shù)據(jù)存儲在為所述寫文件請求分配的DataNode 中。
[0023]具體地,所述裝置包括:
[0024]記錄模塊,用于所述存儲模塊將所述客戶端所寫的文件數(shù)據(jù)存儲在為所述寫文件請求分配的DataNode中之后,記錄所寫文件的文件標識以及所述文件標識對應的所有DataNode。
[0025]進一步地,所述裝置包括:
[0026]讀文件模塊,用于所述記錄模塊記錄所寫文件的文件標識以及所述文件標識對應的所有DataNode之后,接收所述客戶端發(fā)送的讀文件請求;所述讀文件請求中包含所述文件標識;根據(jù)所述文件標識,查找所述文件標識對應的所有DataNode ;從查找的所有DataNode中選擇所述客戶端標識對應的DataNode,并從所述選擇的DataNode中讀取所述文件標識對應的文件數(shù)據(jù)。
[0027]進一步地,所述裝置還包括:
[0028]更新模塊,用于所述讀文件模塊從選擇的所述DataNode中讀取所述文件標識對應的文件數(shù)據(jù)之后,對所述文件數(shù)據(jù)進行處理,將所述處理后的文件數(shù)據(jù)分別存儲在所述客戶端標識對應的客戶端和為所述文件分配的其他DataNode。本發(fā)明實施例提供的技術方案帶來的有益效果是:
[0029]通過引入本地化讀寫的方法,將在客戶端所寫的文件數(shù)據(jù)存儲在客戶端對應的機器的DataNode中,降低運算處理時系統(tǒng)產生的讀寫流量,從而提高文件系統(tǒng)的讀寫速度,加快處理系統(tǒng)的運算處理速度,并且增加其他應用的可用流量,從而提升系統(tǒng)的有效吞吐量。
【專利附圖】

【附圖說明】
[0030]為了更清楚地說明本發(fā)明實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0031]圖1是本發(fā)明實施例一提供的分布式文件系統(tǒng)的數(shù)據(jù)存儲方法流程圖;
[0032]圖2是本發(fā)明實施例二提供的分布式文件系統(tǒng)的數(shù)據(jù)存儲方法流程圖;
[0033]圖3是本發(fā)明實施例三提供的分布式文件系統(tǒng)的數(shù)據(jù)存儲裝置第一種結構示意圖;
[0034]圖4是本發(fā)明實施例三提供的分布式文件系統(tǒng)的數(shù)據(jù)存儲裝置第二種結構示意圖;
[0035]圖5是本發(fā)明實施例三提供的分布式文件系統(tǒng)的數(shù)據(jù)存儲裝置第三種結構示意圖;
[0036]圖6是本發(fā)明實施例三提供的分布式文件系統(tǒng)的數(shù)據(jù)存儲裝置第四種結構示意圖。
【具體實施方式】
[0037]為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚,下面將結合附圖對本發(fā)明實施方式作進一步地詳細描述。
[0038]實施例一
[0039]參見圖1,本發(fā)明實施例提供了一種分布式文件系統(tǒng)的數(shù)據(jù)存儲方法,該方法包括:
[0040]101、接收分布式文件系統(tǒng)的客戶端發(fā)送的寫文件請求;寫文件請求中包含客戶端的客戶端標識;
[0041]102、為寫文件請求分配對應的數(shù)據(jù)節(jié)點DataNode,分配的DataNode至少包括客戶端標識對應的客戶端;
[0042]103、將客戶端所寫的文件數(shù)據(jù)存儲在為寫文件請求分配的DataNode中。
[0043]具體地,將客戶端所寫的文件數(shù)據(jù)存儲在為寫文件請求分配的DataNode中之后,包括:
[0044]記錄所寫文件的文件標識以及文件標識對應的所有DataNode。
[0045]進一步地,記錄所寫文件的文件標識以及文件標識對應的所有DataNode之后,包括:
[0046]接收客戶端發(fā)送的讀文件請求;讀文件請求中包含文件標識;
[0047]根據(jù)文件標識,查找文件標識對應的所有DataNode ;
[0048]從查找的所有DataNode中選擇客戶端標識對應的DataNode,并從選擇的DataNode中讀取文件標識對應的文件數(shù)據(jù)。
[0049]進一步地,從選擇的DataNode中讀取文件標識對應的文件數(shù)據(jù)之后,還包括:
[0050]對文件數(shù)據(jù)進行處理,將處理后的文件數(shù)據(jù)分別存儲在客戶端標識對應的客戶端和為文件分配的其他DataNode。
[0051]本發(fā)明實施例通過引入本地化讀寫的方法,將在客戶端所寫的文件數(shù)據(jù)存儲在客戶端對應的機器的DataNode中,使得在讀文件數(shù)據(jù)時直接從客戶端的DataNode中讀取,降低運算處理時系統(tǒng)產生的讀寫流量,從而提高文件系統(tǒng)的讀寫速度,加快處理系統(tǒng)的運算處理速度,并且增加其他應用的可用流量,從而提升系統(tǒng)的有效吞吐量。[0052]實施例二
[0053]參見圖2,本發(fā)明實施例提供了一種分布式文件系統(tǒng)的數(shù)據(jù)存儲方法,該方法包括:
[0054]201、接收分布式文件系統(tǒng)的客戶端發(fā)送的寫文件請求;寫文件請求中包含客戶端的客戶端標識;
[0055]具體地,在分布式文件系統(tǒng)的客戶端寫文件,在寫文件時打開本地化寫選項,如果一個文件打開了本地化寫選項,則向分布式文件系統(tǒng)中的名字節(jié)點NameNode發(fā)送寫文件請求,該寫文件請求中包括客戶端標識。
[0056]需要說明的是,由于客戶端所寫文件需要保存多個副本,所述寫文件請求中可能還包括客戶端設置的所寫文件的副本個數(shù),當然也可以不包括副本個數(shù),使用系統(tǒng)默認的副本個數(shù)。
[0057]202、為寫文件請求分配對應的數(shù)據(jù)節(jié)點DataNode,所分配的DataNode至少包括客戶端標識對應的客戶端;
[0058]具體地,分布式文件系統(tǒng)中名字節(jié)點NameNode根據(jù)寫文件請求中的客戶端標識,為寫文件請求分配對應的DataNode,所分配的DataNode至少包括客戶端標識對應的客戶端。由于客戶端所寫文件需要保存多個副本,NameNode將客戶端標識對應的客戶端作為所寫文件的數(shù)據(jù)存儲單元之一,還需分配其他的數(shù)據(jù)存儲單元DataNode保存其他的副本,可以隨機分配,也可以根據(jù)一定的規(guī)則進行分配。
[0059]需要說明的是,當客戶端標識沒有部署DataNode時,則將為寫文件請求隨機分配對應的DataNode,并將客戶端所寫的文件數(shù)據(jù)存儲在為寫文件請求隨機分配的DataNode中,以便后續(xù)從隨機分配的DataNode中讀取文件數(shù)據(jù)。
[0060]203、將客戶端所寫的文件數(shù)據(jù)存儲在為寫文件請求分配的DataNode中;
[0061]具體地,在將客戶端所寫的文件數(shù)據(jù)分配DataNode后,則將在客戶端所寫的文件數(shù)據(jù)分別存儲在機器標識對應的DataNode中和為客戶端所寫文件分配的其他DataNode中,從而保存所寫的文件數(shù)據(jù)的多個副本;通過在客戶端寫文件,節(jié)省了網絡流量;比如客戶端A要寫3個備份的文件,啟用了本地化寫選項后,NameNode根據(jù)客戶端標識查找到對應A,將其中一個副本分配給了 A,其他兩份備份可能隨機的分配給了 B和C的,假設寫文件數(shù)據(jù)流的順序為A->B->C,則該次寫文件操作便產生了 2次網絡流量,分別是A->B,B->C ;如果沒有啟用本地化寫選項,NameNode可能隨機給分配了 B,C,D三個DataNode,假設寫數(shù)據(jù)流的順序為A->B->C->D,該次寫操作便產生了 3次網絡流量,分別是A->B,B->C, C_>D ;通過啟用本地化寫選項就節(jié)省了 1/3的網絡流量,可以提高本次寫文件的速度。
[0062]204、記錄所寫文件的文件標識以及文件標識對應的所有DataNode ;
[0063]具體地,在將客戶端所寫的文件數(shù)據(jù)存儲在為寫文件請求分配的DataNode中之后,還需要將所存儲的所寫文件的文件標識以及該文件標識對應的所有DataNode記錄下來,以便后續(xù)讀文件時根據(jù)文件標識獲取相應的文件數(shù)據(jù)。
[0064]205、接收客戶端發(fā)送的讀文件請求,根據(jù)讀文件請求中的文件標識,查找文件標識對應的所有DataNode ;從查找的所有DataNode中選擇客戶端標識對應的DataNode,并從選擇的DataNode中讀取文件標識對應的文件數(shù)據(jù)。
[0065]具體地,當客戶端需要讀取該文件時,則可以發(fā)送讀文件請求,該請求中包含文件標識,NameNode根據(jù)該文件標識查找對應的DataNode列表,列表中包含該文件標識對應的所有DataNode,選擇客戶端標識對應的DataNode,從客戶端中讀取文件數(shù)據(jù),這樣客戶端在讀文件的過程中,由于啟用本地化寫選項,不會產生網絡流量,可以大大提供讀取的速度。
[0066]如,客戶端A如果沒有啟用本地化寫選項,文件塊的副本肯隨機存放在B,C和D上面,那么A便需要從B,C或者D讀取數(shù)據(jù);如果啟用本地化寫選項,文件塊的副本存放在A,B和C上面,那么客戶端可以根據(jù)文件塊的文件標識識別出該文件啟用了本地化寫選項,全部從本機讀取文件。
[0067]需要說明的是,從選擇的DataNode中讀取文件標識對應的文件數(shù)據(jù)之后,對文件數(shù)據(jù)進行處理,將處理后的文件數(shù)據(jù)分別存儲在客戶端標識對應的客戶端和為文件分配的其他 DataNode。
[0068]本發(fā)明實施例通過引入本地化讀寫的方法,將在客戶端所寫的文件數(shù)據(jù)存儲在客戶端對應的機器的DataNode中,使得在讀文件數(shù)據(jù)時直接從客戶端的DataNode中讀取,降低運算處理時系統(tǒng)產生的讀寫流量,從而提高文件系統(tǒng)的讀寫速度,加快處理系統(tǒng)的運算處理速度,并且增加其他應用的可用流量,從而提升系統(tǒng)的有效吞吐量。
[0069]實施例三
[0070]參見圖3,本發(fā)明實施例提供了一種分布式文件系統(tǒng)的數(shù)據(jù)存儲裝置,該裝置包括:
[0071]接收模塊301,用于接收分布式文件系統(tǒng)的客戶端發(fā)送的寫文件請求;寫文件請求中包含客戶端的客戶端標識;
[0072]分配模塊302,用于為寫文件請求分配對應的數(shù)據(jù)節(jié)點DataNode,分配的DataNode至少包括客戶端標識對應的客戶端;
[0073]存儲模塊303,用于將客戶端所寫的文件數(shù)據(jù)存儲在為寫文件請求分配的DataNode 中。
[0074]具體地,參見圖4,該裝置包括:
[0075]記錄模塊304,用于存儲模塊303將客戶端所寫的文件數(shù)據(jù)存儲在為寫文件請求分配的DataNode中之后,記錄所寫文件的文件標識以及文件標識對應的所有DataNode。
[0076]進一步地,參見圖5,該裝置包括:
[0077]讀文件模塊305,用于記錄模塊304記錄所寫文件的文件標識以及文件標識對應的所有DataNode之后,接收客戶端發(fā)送的讀文件請求;讀文件請求中包含文件標識;根據(jù)文件標識,查找文件標識對應的所有DataNode ;從查找的所有DataNode中選擇客戶端標識對應的DataNode,并從選擇的DataNode中讀取文件標識對應的文件數(shù)據(jù)。
[0078]進一步地,參見圖6,該裝置還包括:
[0079]更新模塊306,用于讀文件模塊305從選擇的DataNode中讀取文件標識對應的文件數(shù)據(jù)之后,對文件數(shù)據(jù)進行處理,將處理后的文件數(shù)據(jù)分別存儲在客戶端標識對應的客戶端和為文件分配的其他DataNode
[0080]綜上,本發(fā)明實施例提供的裝置,通過引入本地化讀寫的方法,將在客戶端所寫的文件數(shù)據(jù)存儲在客戶端對應的機器的DataNode中,使得在讀文件數(shù)據(jù)時直接從客戶端的DataNode中讀取,降低運算處理時系統(tǒng)產生的讀寫流量,從而提高文件系統(tǒng)的讀寫速度,力口快處理系統(tǒng)的運算處理速度,并且增加其他應用的可用流量,從而提升系統(tǒng)的有效吞吐量。
[0081]需要說明的是:上述實施例提供的分布式文件系統(tǒng)的數(shù)據(jù)存儲裝置在對分布式文件系統(tǒng)讀寫時,僅以上述各功能模塊的劃分進行舉例說明,實際應用中,可以根據(jù)需要而將上述功能分配由不同的功能模塊完成,即將裝置的內部結構劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。另外,上述實施例提供的分布式文件系統(tǒng)的數(shù)據(jù)存儲裝置與分布式文件系統(tǒng)的數(shù)據(jù)存儲方法實施例屬于同一構思,其具體實現(xiàn)過程詳見方法實施例,這里不再贅述。
[0082]上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。
[0083]本領域普通技術人員可以理解實現(xiàn)上述實施例的全部或部分步驟可以通過硬件來完成,也可以通過程序來指令相關的硬件完成,所述的程序可以存儲于一種計算機可讀存儲介質中,上述提到的存儲介質可以是只讀存儲器,磁盤或光盤等。
[0084]以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內。
【權利要求】
1.一種分布式文件系統(tǒng)的數(shù)據(jù)存儲方法,其特征在于,所述方法包括: 接收分布式文件系統(tǒng)的客戶端發(fā)送的寫文件請求;所述寫文件請求中包含所述客戶端的客戶端標識; 為所述寫文件請求分配對應的數(shù)據(jù)節(jié)點DataNode,所述分配的DataNode至少包括所述客戶端標識對應的客戶端; 將所述客戶端所寫的文件數(shù)據(jù)存儲在為所述寫文件請求分配的DataNode中。
2.根據(jù)權利要求1所述的方法,其特征在于,所述將所述客戶端所寫的文件數(shù)據(jù)存儲在為所述寫文件請求分配的DataNode中之后,包括: 記錄所寫文件的文件標識以及所述文件標識對應的所有DataNode。
3.根據(jù)權利要求2所述的方法,其特征在于,所述記錄所寫文件的文件標識以及所述文件標識對應的所有DataNode之后,包括: 接收所述客戶端發(fā)送的讀文件請求;所述讀文件請求中包含所述文件標識; 根據(jù)所述文件標識,查找所述文件標識對應的所有DataNode ; 從查找的所有DataNode 中選擇所述客戶端標識對應的DataNode,并從所述選擇的DataNode中讀取所述文件標識對應的文件數(shù)據(jù)。
4.根據(jù)權利要求3所述的方法,其特征在于,所述從選擇的所述DataNode中讀取所述文件標識對應的文件數(shù)據(jù)之后,還包括: 對所述文件數(shù)據(jù)進行處理,將所述處理后的文件數(shù)據(jù)分別存儲在所述客戶端標識對應的客戶端和為所述文件分配的其他DataNode。
5.一種分布式文件系統(tǒng)的數(shù)據(jù)存儲裝置,其特征在于,所述裝置包括: 接收模塊,用于接收分布式文件系統(tǒng)的客戶端發(fā)送的寫文件請求;所述寫文件請求中包含所述客戶端的客戶端標識; 分配模塊,用于為所述寫文件請求分配對應的數(shù)據(jù)節(jié)點DataNode,所述分配的DataNode至少包括所述客戶端標識對應的客戶端; 存儲模塊,用于將所述客戶端所寫的文件數(shù)據(jù)存儲在為所述寫文件請求分配的DataNode 中。
6.根據(jù)權利要求5所述的裝置,其特征在于,所述裝置包括: 記錄模塊,用于所述存儲模塊將所述客戶端所寫的文件數(shù)據(jù)存儲在為所述寫文件請求分配的DataNode中之后,記錄所寫文件的文件標識以及所述文件標識對應的所有DataNode。
7.根據(jù)權利要求6所述的裝置,其特征在于,所述裝置包括: 讀文件模塊,用于所述記錄模塊記錄所寫文件的文件標識以及所述文件標識對應的所有DataNode之后,接收所述客戶端發(fā)送的讀文件請求;所述讀文件請求中包含所述文件標識;根據(jù)所述文件標識,查找所述文件標識對應的所有DataNode ;從查找的所有DataNode中選擇所述客戶端標識對應的DataNode,并從所述選擇的DataNode中讀取所述文件標識對應的文件數(shù)據(jù)。
8.根據(jù)權利要求7所述的裝置,其特征在于,所述裝置還包括: 更新模塊,用于所述讀文件模塊從選擇的所述DataNode中讀取所述文件標識對應的文件數(shù)據(jù)之后,對所述文件數(shù)據(jù)進行處理,將所述處理后的文件數(shù)據(jù)分別存儲在所述客戶端標識對應的客戶端和為所述文件分配的其他DataNode。
【文檔編號】G06F17/30GK103678360SQ201210338489
【公開日】2014年3月26日 申請日期:2012年9月13日 優(yōu)先權日:2012年9月13日
【發(fā)明者】伍海君, 李銳, 鄒永強, 董乘宇, 闕太富, 王磊, 楊紹鵬, 張書鑫, 趙大勇, 劉暢, 陳曉東, 張銀鋒 申請人:騰訊科技(深圳)有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1