【技術實現步驟摘要】
本專利技術涉及存儲領域,尤其涉及一種數據操作方法,服務器及存儲系統。
技術介紹
現有技術中對大數據的處理采用基于Hadoop的平臺。Hadoop是一個開源分布式計算平臺,其核心包括HDFS(Hadoop Distributed Files System,Hadoop分布式文件系統)。HDFS包括名字節點和數據節點,名字節點用于元數據的管理和處理,數據節點用于以文件形式存儲數據。名字節點和數據節點可以是專用設備。也可以是運行在普通計算機上的軟件,通常由一臺專門的機器來運行名字節點軟件,其他每臺機器運行一個數據節點軟件。一臺機器上也可以運行多個數據節點軟件。每臺運行數據節點軟件的機器具有本地的文件系統。HDFS是建立在多個機器文件系統上的一個邏輯上的文件系統,它的底層數據以數據塊方式進行存儲。數據節點將HDFS數據存儲到本地的文件系統中,其中,數據節點并不知道HDFS文件的存在,它在本地文件系統中以單獨的文件存儲每一個HDFS文件的數據塊。鍵值(key-value)存儲中,數據被稱作值(value),每個數據對應著一個唯一的標識(key),根據唯一標識(key)可以直接定位到值(value)的位置,因此,鍵值存儲不再有類似文件系統的目錄層級結構,而是完全扁平化存儲,這樣,相比文件存儲,鍵值存儲更容易進行容量擴展,并且由于數據讀寫可以直通對象層,鍵值存儲比目錄結構的存儲方式的讀寫效率也更高。如何把Hadoop與鍵值存儲這兩種先進技術進行結合,是業界亟待解決的問題。但是,由于Hadoop的一些功能的實現直接依賴HDFS,例如,HBase(Hadoop < ...
【技術保護點】
一種數據操作方法,其特征在于,所述方法應用于存儲系統,所述存儲系統包括名稱節點模塊,數據節點模塊,以及鍵值KV存儲設備;所述方法包括:名稱節點模塊接收分布式文件系統HDFS客戶端發送的操作請求消息,所述操作請求消息是用于請求獲取目標文件中待操作的目標數據的在HDFS中的塊地址信息,以對所述目標數據進行操作;所述操作請求消息基于Hadoop平臺中名稱節點與HDFS客戶端之間的ClientProtocol通信協議;根據所述操作請求消息中包括的所述目標文件的文件名確定鍵key,并根據所述key確定值value的存儲空間的位置,所述value為所述目標文件的數據;根據所述操作請求消息中的起始地址信息以及數據長度信息獲取所述目標數據在所述存儲空間中的目標塊地址信息;向所述HDFS客戶端發送用于響應所述操作請求消息的響應消息,所述響應消息包括所述目標塊地址信息。
【技術特征摘要】
1.一種數據操作方法,其特征在于,所述方法應用于存儲系統,所述存儲系統包括名稱節點模塊,數據節點模塊,以及鍵值KV存儲設備;所述方法包括:名稱節點模塊接收分布式文件系統HDFS客戶端發送的操作請求消息,所述操作請求消息是用于請求獲取目標文件中待操作的目標數據的在HDFS中的塊地址信息,以對所述目標數據進行操作;所述操作請求消息基于Hadoop平臺中名稱節點與HDFS客戶端之間的ClientProtocol通信協議;根據所述操作請求消息中包括的所述目標文件的文件名確定鍵key,并根據所述key確定值value的存儲空間的位置,所述value為所述目標文件的數據;根據所述操作請求消息中的起始地址信息以及數據長度信息獲取所述目標數據在所述存儲空間中的目標塊地址信息;向所述HDFS客戶端發送用于響應所述操作請求消息的響應消息,所述響應消息包括所述目標塊地址信息。2.根據權利要求1所述的方法,其特征在于,所述根據所述操作請求消息中包括的所述目標文件的文件名確定鍵key,包括:根據所述文件名確定所述目標文件的索引節點inode編號;將所述inode編號作為所述key確定所述value的存儲空間的位置。3.根據權利要求1或2所述的方法,其特征在于,所述根據所述操作請求消息中的起始地址信息以及數據長度信息獲取所述目標數據在所述存儲空間中的目標塊地址信息,包括:根據所述起始地址信息以及所述數據長度信息,獲取所述目標數據在所述存儲空間中占用的每個塊的編號,以及在每個所述塊中的塊偏移量和塊長度。4.根據權利要求3所述的方法,其特征在于,所述目標數據在HDFS中的塊地址信息包括所述目標數據在HDFS中占用的每個邏輯塊的編號,以及在每個所述邏輯塊中的邏輯塊偏移量和邏輯塊長度;所述向所述HDFS客戶端發送
\t用于響應所述操作請求消息的響應消息,包括:將所述塊的編號作為所述邏輯塊的編號,將所述塊偏移量作為所述邏輯塊偏移量,將所述塊長度作為所述邏輯塊長度發送至所述HDFS客戶端。5.一種數據操作方法,其特征在于,所述方法應用于存儲系統,所述存儲系統包括名稱節點模塊,數據節點模塊,以及鍵值KV存儲設備;所述方法包括:所述數據節點模塊接收分布式文件系統HDFS客戶端發送的操作指令,所述操作指令用于對目標文件中待操作的目標數據進行操作;所述操作指令基于Hadoop平臺中數據節點與HDFS客戶端之間的ClientDatanodeProtocol通信協議;所述操作指令包括所述KV存儲設備中存儲所述目標數據的塊地址信息;根據所述塊地址信息對所述目標數據進行所述操作指令指示的操作。6.一種名稱節點模塊,其特征在于,所述名稱節點模塊應用于存儲系統,所述存儲系統還包括數據節點模塊以及鍵值KV存儲設備;所述名稱節點模塊包括:接收單元,用于接收分布式文件系統HDFS客戶端發送的操作請求消息,所述操作請求消息是用于請求獲取目標文件中待操作的目標數據的在HDFS中的塊地址信息,以對所述目標數據進行操作;所述操作請求消息基于Hadoop平臺中名稱節點與HDFS客戶端之間的ClientProtocol通信協議;確定單元,用于根據所述操作請求消息中包括的所述目標文件的文件名確定鍵key,并根據所述key確定值value的存儲空間的位置,所述value為所述目標文件的數據;獲取單元,用于根據所述操作請求消息中的起始地址信息以及數據長度信息獲取所述目標數據在所述存儲空間中的目標塊地址信息;發送單元,用于向所述HDFS客戶端發送用于響應所述操作請求消息的響應消息,所述響應消息包括所述目標塊地址信息。7.根據權利要求6所述的名稱節點模塊,其特征在于,所述確定單元具體
\t用于:根據所述文件名確定所述目標文件的索引節點inode編號;將所述inode編號作為所述key確定所述value的存儲空間的位置。8.根據權利要求6或7所述的名稱節點模塊,其特征在于,所述獲取單元具體用于:根據所述起始地址信息以及所述數據長度信息,獲取所述目標數據在所述存儲空間中占用的每個塊的編號,以及在每個所述塊中的塊偏移量和塊長度。9.根據權利要求8所...
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。