專利名稱:一種基于Hadoop的分布式云存儲自動分級數(shù)據(jù)管理系統(tǒng)的制作方法
—種基于Hadoop的分布式云存儲自動分級數(shù)據(jù)管理系統(tǒng)技術領域
本發(fā)明屬于計算機技術領域,具體涉及一種基于Hadoop的分布式云存儲自動分級數(shù)據(jù)管理系統(tǒng)。
背景技術:
隨著云計算技術在國內外的高速發(fā)展,基于Hadoop分布式文件系統(tǒng)(HDFS)的云存儲技術得到了廣泛的應用。通過利舊和新增PC服務器的方式建立規(guī)模龐大的HDFS集群, 利用PC服務器上的本地磁盤提供高性能、高性價比、可彈性擴展的分布式云存儲服務。
由于組成HDFS集群的服務器節(jié)點的差異性,集群中節(jié)點很有可能具有不同的存儲性能和存儲容量。因此,如何充分考慮節(jié)點間的差異性,最優(yōu)化存儲資源的分配是構建基于Hadoop的分布式云存儲系統(tǒng)亟待解決的問題。發(fā)明內容
為了克服上述現(xiàn)有技術的不足,本發(fā)明提供一種基于Hadoop的分布式云存儲自動分級數(shù)據(jù)管理系 統(tǒng),實現(xiàn)自動數(shù)據(jù)分級管理,提高存儲資源利用率。
為了實現(xiàn)上述發(fā)明目的,本發(fā)明采取如下技術方案
提供一種基于Hadoop的分布式云存儲自動分級數(shù)據(jù)管理系統(tǒng),所述系統(tǒng)包括節(jié)點服務器和中心服務器,所述節(jié)點服務器采集服務器狀態(tài)消息和數(shù)據(jù)溫度分布消息,并將所采集的消息發(fā)送到所述中心服務器的數(shù)據(jù)分級管理模塊。
所述節(jié)點服務器包括服務器信息采集模塊、數(shù)據(jù)溫度采集模塊和數(shù)據(jù)分級代理模塊;所述服務器信息采集模塊和數(shù)據(jù)溫度采集模塊分別采集服務器狀態(tài)消息和數(shù)據(jù)溫度分布消息,并分別將采集的消息發(fā)送到所述數(shù)據(jù)分級管理模塊。
所述服務器信息采集模塊部署在HDFS集群的數(shù)據(jù)節(jié)點上,所述數(shù)據(jù)溫度采集模塊和數(shù)據(jù)分級代理模塊部署在所述HDFS集群的名字節(jié)點上,所述數(shù)據(jù)分級管理模塊部署在所述中心服務器上。
所述服務器狀態(tài)消息包含數(shù)據(jù)節(jié)點的硬件配置和運行狀態(tài)信息,所述數(shù)據(jù)溫度分布消息包含數(shù)據(jù)溫度消息和數(shù)據(jù)分布消息。
所述消息均包括消息頭和消息體,所述消息頭包括中心服務器名稱、IP地址、節(jié)點 ID、加密方法、校驗和時間戳;所述消息體包括經(jīng)消息頭指定加密方法加密后的節(jié)點硬件配置、節(jié)點運行狀態(tài)、數(shù)據(jù)溫度和數(shù)據(jù)分布。
所述數(shù)據(jù)分級代理模塊接收帶外數(shù)據(jù)分級命令,解析所述帶外數(shù)據(jù)分級命令獲取需要移動數(shù)據(jù)塊信息,并將所獲取信息告知名字節(jié)點,所述名字節(jié)點接收信息的同時復制目標數(shù)據(jù)塊到目標節(jié)點,并刪除源數(shù)據(jù)節(jié)點上的數(shù)據(jù)塊,需要移動數(shù)據(jù)塊消息全部獲取結束后,名字節(jié)點向數(shù)據(jù)分級代理模塊發(fā)送成功消息,所述數(shù)據(jù)分級代理模塊向數(shù)據(jù)分級管理模塊發(fā)送確認消息。
所述需要移動數(shù)據(jù)塊信息包括需要移動的目標數(shù)據(jù)塊ID、源數(shù)據(jù)節(jié)點ID和目的節(jié)點ID。所述中心服務器包括消息接收模塊、信息持久化模塊、信息緩存模塊、數(shù)據(jù)分級管理模塊、指令加工模塊、指令發(fā)送模塊、分析引擎模塊節(jié)點和注冊模塊。所述消息接收模塊接收來自數(shù)據(jù)節(jié)點和名字節(jié)點分別發(fā)送的服務器狀態(tài)消息和數(shù)據(jù)溫度分布消息,對消息進行解析并送往所述數(shù)據(jù)分級管理模塊;所述數(shù)據(jù)分級管理模塊生成帶外數(shù)據(jù)分級命令,并周期性發(fā)送給名字節(jié)點;所述信息緩存模塊接收來自消息接收模塊的消息,經(jīng)過處理形成有效信息存入信息緩存區(qū),同時管理和維護信息緩存區(qū)內容,并將信息分類后發(fā)送給數(shù)據(jù)分級管理模塊,所述信息緩存區(qū)內容包括信息的創(chuàng)建、更新和刪除;
信息緩存區(qū)超出容量或時間計數(shù)器結束或服務停止時,所述信息持久化模塊對經(jīng)過信息緩存模塊處理后的消息寫入到磁盤,數(shù)據(jù)分級管理模塊從磁盤讀取信息,送入信息緩存區(qū);所述分析引擎模塊信息緩存模塊發(fā)送的服務器狀態(tài)消息和數(shù)據(jù)溫度分布消息,形成數(shù)據(jù)溫度分布式矢量圖,并維護數(shù)據(jù)溫度分布矢量圖的狀態(tài)更新;根據(jù)數(shù)據(jù)溫度分布式矢量圖形成帶外數(shù)據(jù)分級指令,發(fā)送給指令加工模塊;所述指令加工模塊根據(jù)分析弓I擎模塊輸出的內容,加工形成可以由指令發(fā)送模塊發(fā)送給特定節(jié)點的指令編碼;所述指令發(fā)送模塊接收來自所述數(shù)據(jù)分級管理模塊生成的帶外數(shù)據(jù)分級命令,并根據(jù)所接收指令向目標節(jié)點發(fā)送指令;所述節(jié)點注冊模塊接收來自信息緩存區(qū)的注冊信息,并注冊或更新指定節(jié)點的信肩、O與現(xiàn)有技術相比,本發(fā)明的有益效果在于1、不同于其他分層存儲方法將數(shù)據(jù)分布在不同的存儲介質(內存、固態(tài)磁盤、磁盤、SAN網(wǎng)絡、磁帶)上,本發(fā)明提供的基于Hadoop的分布式云存儲自動分級數(shù)據(jù)管理系統(tǒng)利用X86服務器的本地磁盤(SATA接口、SCSI接口)存儲數(shù)據(jù)的情況;通過節(jié)點服務器配置信息對比磁盤容量、數(shù)量、接口類型、讀寫速率等靜態(tài)信息進行比對,結合服務器運行狀態(tài)消息(磁盤容量、CPU、網(wǎng)絡帶寬等動態(tài)信息)和數(shù)據(jù)溫度分布消息息(數(shù)據(jù)被訪問的次數(shù)、時間、頻率),實現(xiàn)在不同性能的服務器上存放不同溫度數(shù)據(jù),達到服務器存儲資源的最優(yōu)化使用。2、不是在數(shù)據(jù)存儲之初考慮數(shù)據(jù)塊的合理分布,本發(fā)明使用的是離線的數(shù)據(jù)塊再分布策略,即通過發(fā)送帶外數(shù)據(jù)分層指令,在整個HDFS集群負載最輕或最合適的時間進行數(shù)據(jù)塊的移動,從而更為合理地計算出數(shù)據(jù)的溫度信息,同時減少對存儲正常使用的影響。3、本發(fā)明與所指的Hadoop分布式文件系統(tǒng)是松耦合狀態(tài),設計過程中僅在兩處需要對HDFS進行修改,可很快移植到其它采用分布式文件系統(tǒng)(元數(shù)據(jù)集中管理)的云存儲平臺上,提供數(shù)據(jù)分級存儲方案,具有較強的可移植性。
圖1是基于Hadoop的分布式云存儲的數(shù)據(jù)管理流程圖;圖2是基于Hadoop的分布式云存儲自動分級數(shù)據(jù)管理系統(tǒng)邏輯架構示意圖3是中心服務器組成模塊示意圖。
具體實施方式
下面結合附圖對本發(fā)明作進一步詳細說明。
如圖1和圖2,提供一種基于Hadoop的分布式云存儲自動分級數(shù)據(jù)管理系統(tǒng),所述系統(tǒng)包括節(jié)點服務器和中心服務器,所述節(jié)點服務器采集服務器狀態(tài)消息和數(shù)據(jù)溫度分布消息,并將所采集的消息發(fā)送到所述中心服務器的數(shù)據(jù)分級管理模塊。
所述節(jié)點服務器包括服務器信息采集模塊、數(shù)據(jù)溫度采集模塊和數(shù)據(jù)分級代理模塊;
所述服務器信息采集模塊將收集數(shù)據(jù)節(jié)點的硬件配置信息(包含CPU、內存、硬盤、 網(wǎng)絡等配置情況的靜態(tài)信息),生成服務器狀態(tài)消息后發(fā)送給中心服務器;之后,該服務將周期性地采集數(shù)據(jù)節(jié)點的運行狀態(tài)消息(包含CPU、內存、硬盤、網(wǎng)絡等使用情況的動態(tài)信息),經(jīng)分析處理后形成服務器狀態(tài)消息發(fā)送給中心服務器。
所述數(shù)據(jù)溫度采集模塊將記錄數(shù)據(jù)被訪問的次數(shù)和頻率(可通過修改HDFS集群中名字節(jié)點源代碼的直接方式,或在分布式云存儲系統(tǒng)客戶端讀請求消息中嵌入更新計數(shù)的間接方式),計算得出存儲中每個數(shù)據(jù)(以文件形式存在)的溫度信息;通過解析名字節(jié)點上的元數(shù)據(jù)信息,獲取文件的分布信息;周期性地將上述有更新地信息合成數(shù)據(jù)溫度分布消息發(fā)送給中心服務器。
所述服務器信息采集模塊部署在HDFS集群的數(shù)據(jù)節(jié)點上,所述數(shù)據(jù)溫度采集模塊和數(shù)據(jù)分級代理模塊部署在所述HDFS集群的名字節(jié)點上,所述數(shù)據(jù)分級管理模塊部署在所述中心服務器上。
所述服務器狀態(tài)消息包含數(shù)據(jù)節(jié)點的硬件配置和運行狀態(tài)信息,所述數(shù)據(jù)溫度分布消息包含數(shù)據(jù)溫度消息和 數(shù)據(jù)分布消息。
所述消息均包括消息頭和消息體,所述消息頭包括中心服務器名稱、IP地址、節(jié)點 ID、加密方法、校驗和時間戳;所述消息體包括經(jīng)消息頭指定加密方法加密后的節(jié)點硬件配置、節(jié)點運行狀態(tài)、數(shù)據(jù)溫度和數(shù)據(jù)分布。
所述數(shù)據(jù)分級代理模塊接收帶外數(shù)據(jù)分級命令,解析所述帶外數(shù)據(jù)分級命令獲取需要移動數(shù)據(jù)塊信息,并將所獲取信息告知名字節(jié)點,所述名字節(jié)點接收信息的同時復制目標數(shù)據(jù)塊到目標節(jié)點,并刪除源數(shù)據(jù)節(jié)點上的數(shù)據(jù)塊,需要移動數(shù)據(jù)塊消息全部獲取結束后,名字節(jié)點向數(shù)據(jù)分級代理模塊發(fā)送成功消息,所述數(shù)據(jù)分級代理模塊向數(shù)據(jù)分級管理模塊發(fā)送確認消息。
所述需要移動數(shù)據(jù)塊信息包括需要移動的目標數(shù)據(jù)塊ID、源數(shù)據(jù)節(jié)點ID和目的節(jié)點ID。
如圖3,所述中心服務器包括消息接收模塊、信息持久化模塊、信息緩存模塊、數(shù)據(jù)分級管理模塊、指令加工模塊、指令發(fā)送模塊、分析引擎模塊節(jié)點和注冊模塊。
所述消息接收模塊接收來自數(shù)據(jù)節(jié)點和名字節(jié)點分別發(fā)送的服務器狀態(tài)消息和數(shù)據(jù)溫度分布消息,對消息進行解析并送往所述數(shù)據(jù)分級管理模塊;
所述數(shù)據(jù)分級管理模塊生成帶外數(shù)據(jù)分級命令,并周期性發(fā)送給名字節(jié)點;
所述信息緩存模塊接收來自消息接收模塊的消息,經(jīng)過處理形成有效信息存入信息緩存區(qū),同時管理和維護信息緩存區(qū)內容,并將信息分類后發(fā)送給數(shù)據(jù)分級管理模塊,所述信息緩存區(qū)內容包括信息的創(chuàng)建、更新和刪除;
信息緩存區(qū)超出容量或時間計數(shù)器結束或服務停止時,所述信息持久化模塊對經(jīng)過信息緩存模塊處理后的消息寫入到磁盤,數(shù)據(jù)分級管理模塊從磁盤讀取信息,送入信息緩存區(qū);
所述分析引擎模塊信息緩存模塊發(fā)送的服務器狀態(tài)消息和數(shù)據(jù)溫度分布消息,形成數(shù)據(jù)溫度分布式矢量圖,并維護數(shù)據(jù)溫度分布矢量圖的狀態(tài)更新;根據(jù)數(shù)據(jù)溫度分布式矢量圖形成帶外數(shù)據(jù)分級指令,發(fā)送給指令加工模塊;
所述指令加工模塊根據(jù)分析引擎模塊輸出的內容,加工形成可以由指令發(fā)送模塊發(fā)送給特定節(jié)點的指令編碼;
所述指令發(fā)送模塊接收來自所述數(shù)據(jù)分級管理模塊生成的帶外數(shù)據(jù)分級命令,并根據(jù)所接收指令向目標節(jié)點發(fā)送指令;
所述節(jié)點注冊模塊接收來自信息緩存區(qū)的注冊信息,并注冊或更新指定節(jié)點的信息(形成節(jié)點的ID,供分析引擎完成狀態(tài)信息和數(shù)據(jù)溫度分布信息解析、節(jié)點標識、生成指令等操作)。
最后應當說明的是以上實施例僅用以說明本發(fā)明的技術方案而非對其限制,盡管參照上述實施例對本發(fā) 明進行了詳細的說明,所屬領域的普通技術人員應當理解依然可以對本發(fā)明的具體實施方式
進行修改或者等同替換,而未脫離本發(fā)明精神和范圍的任何修改或者等同替換,其均應涵蓋在本發(fā)明的權利要求范圍當中。
權利要求
1.一種基于Hadoop的分布式云存儲自動分級數(shù)據(jù)管理系統(tǒng),其特征在于所述系統(tǒng)包括節(jié)點服務器和中心服務器,所述節(jié)點服務器采集服務器狀態(tài)消息和數(shù)據(jù)溫度分布消息,并將所采集的消息發(fā)送到所述中心服務器的數(shù)據(jù)分級管理模塊。
2.根據(jù)權利要求1所述的基于Hadoop的分布式云存儲自動分級數(shù)據(jù)管理系統(tǒng),其特征在于所述節(jié)點服務器包括服務器信息采集模塊、數(shù)據(jù)溫度采集模塊和數(shù)據(jù)分級代理模塊;所述服務器信息采集模塊和數(shù)據(jù)溫度采集模塊分別采集服務器狀態(tài)消息和數(shù)據(jù)溫度分布消息,并分別將采集的消息發(fā)送到所述數(shù)據(jù)分級管理模塊。
3.根據(jù)權利要求2所述的基于Hadoop的分布式云存儲自動分級數(shù)據(jù)管理系統(tǒng),其特征在于所述服務器信息采集模塊部署在HDFS集群的數(shù)據(jù)節(jié)點上,所述數(shù)據(jù)溫度采集模塊和數(shù)據(jù)分級代理模塊部署在所述HDFS集群的名字節(jié)點上,所述數(shù)據(jù)分級管理模塊部署在所述中心服務器上。
4.根據(jù)權利要求2所述的基于Hadoop的分布式云存儲自動分級數(shù)據(jù)管理系統(tǒng),其特征在于所述服務器狀態(tài)消息包含數(shù)據(jù)節(jié)點的硬件配置和運行狀態(tài)信息,所述數(shù)據(jù)溫度分布消息包含數(shù)據(jù)溫度消息和數(shù)據(jù)分布消息。
5.根據(jù)權利要求1所述的基于Hadoop的分布式云存儲自動分級數(shù)據(jù)管理系統(tǒng),其特征在于所述消息均包括消息頭和消息體,所述消息頭包括中心服務器名稱、IP地址、節(jié)點ID、加密方法、校驗和時間戳;所述消息體包括經(jīng)消息頭指定加密方法加密后的節(jié)點硬件配置、節(jié)點運行狀態(tài)、數(shù)據(jù)溫度和數(shù)據(jù)分布。
6.根據(jù)權利要求1所述的基于Hadoop的分布式云存儲自動分級數(shù)據(jù)管理系統(tǒng),其特征在于所述數(shù)據(jù)分級代理模塊接收帶外數(shù)據(jù)分級命令,解析所述帶外數(shù)據(jù)分級命令獲取需要移動數(shù)據(jù)塊信息,并將所獲取信息告知名字節(jié)點,所述名字節(jié)點接收信息的同時復制目標數(shù)據(jù)塊到目標節(jié)點,并刪除源數(shù)據(jù)節(jié)點上的數(shù)據(jù)塊,需要移動數(shù)據(jù)塊消息全部獲取結束后,名字節(jié)點向數(shù)據(jù)分級代理模塊發(fā)送成功消息,所述數(shù)據(jù)分級代理模塊向數(shù)據(jù)分級管理模塊發(fā)送確認消息。
7.根據(jù)權利要求6所述的基于Hadoop的分布式云存儲自動分級數(shù)據(jù)管理系統(tǒng),其特征在于所述需要移動數(shù)據(jù)塊信息包括需要移動的目標數(shù)據(jù)塊ID、源數(shù)據(jù)節(jié)點ID和目的節(jié)點ID0
8.根據(jù)權利要求1-3任一所述的基于Hadoop的分布式云存儲自動分級數(shù)據(jù)管理系統(tǒng),其特征在于所述中心服務器包括消息接收模塊、信息持久化模塊、信息緩存模塊、數(shù)據(jù)分級管理模塊、指令加工模塊、指令發(fā)送模塊、分析引擎模塊節(jié)點和注冊模塊。
9.根據(jù)權利要求8任一所述的基于Hadoop的分布式云存儲自動分級數(shù)據(jù)管理系統(tǒng),其特征在于所述消息接收模塊接收來自數(shù)據(jù)節(jié)點和名字節(jié)點分別發(fā)送的服務器狀態(tài)消息和數(shù)據(jù)溫度分布消息,對消息進行解析并送往所述數(shù)據(jù)分級管理模塊; 所述數(shù)據(jù)分級管理模塊生成帶外數(shù)據(jù)分級命令,并周期性發(fā)送給名字節(jié)點; 所述信息緩存模塊接收來自消息接收模塊的消息,經(jīng)過處理形成有效信息存入信息緩存區(qū),同時管理和維護信息緩存區(qū)內容,并將信息分類后發(fā)送給數(shù)據(jù)分級管理模塊,所述信息緩存區(qū)內容包括信息的創(chuàng)建、更新和刪除; 當信息緩存區(qū)超出容量或時間計數(shù)器結束或服務停止時,所述信息持久化模塊對經(jīng)過信息緩存模塊處理后的消息寫入到磁盤,數(shù)據(jù)分級管理模塊從磁盤讀取信息,送入信息緩存區(qū); 所述分析引擎模塊信息緩存模塊發(fā)送的服務器狀態(tài)消息和數(shù)據(jù)溫度分布消息,形成數(shù)據(jù)溫度分布式矢量圖,并維護數(shù)據(jù)溫度分布矢量圖的狀態(tài)更新;根據(jù)數(shù)據(jù)溫度分布式矢量圖形 成帶外數(shù)據(jù)分級指令,發(fā)送給指令加工模塊; 所述指令加工模塊根據(jù)分析引擎模塊輸出的內容,加工形成可以由指令發(fā)送模塊發(fā)送給特定節(jié)點的指令編碼; 所述指令發(fā)送模塊接收來自所述數(shù)據(jù)分級管理模塊生成的帶外數(shù)據(jù)分級命令,并根據(jù)所接收指令向目標節(jié)點發(fā)送指令; 所述節(jié)點注冊模塊接收來自信息緩存區(qū)的注冊信息,并注冊或更新指定節(jié)點的信息。
全文摘要
本發(fā)明提供一種基于Hadoop的分布式云存儲自動分級數(shù)據(jù)管理系統(tǒng),包括節(jié)點服務器和中心服務器,所述節(jié)點服務器采集服務器狀態(tài)消息和數(shù)據(jù)溫度分布消息,并將所采集的消息發(fā)送到所述中心服務器的數(shù)據(jù)分級管理模塊。本發(fā)明通過在中心服務器上部署數(shù)據(jù)分級管理模塊,統(tǒng)一接收來自HDFS集群中數(shù)據(jù)節(jié)點和名字節(jié)點發(fā)送的消息,經(jīng)處理后形成帶外數(shù)據(jù)分級指令,并發(fā)送給HDFS集群中的名字節(jié)點負責最終的數(shù)據(jù)塊再分布,從而實現(xiàn)基于Hadoop的分布式云存儲系統(tǒng)的自動數(shù)據(jù)分級管理,提高存儲資源的利用率。
文檔編號G06F17/30GK103023995SQ20121049941
公開日2013年4月3日 申請日期2012年11月29日 優(yōu)先權日2012年11月29日
發(fā)明者張大華, 羅志明, 周里濤 申請人:中國電力科學研究院, 四川省電力公司, 國家電網(wǎng)公司