邵杰 胡波 楊麗娟
摘 要:隨著移動(dòng)互聯(lián)網(wǎng)的快速發(fā)展,以及電信行業(yè)自身業(yè)務(wù)的不斷增長(zhǎng),企業(yè)數(shù)據(jù)存量已達(dá)到PB級(jí),海量數(shù)據(jù)模式對(duì)存儲(chǔ)系統(tǒng)的性能及可靠性提出了更高層次的要求。當(dāng)存儲(chǔ)數(shù)據(jù)增加到一定規(guī)模時(shí),會(huì)導(dǎo)致系統(tǒng)中某一個(gè)或多個(gè)存儲(chǔ)設(shè)備性能降低、I/O響應(yīng)時(shí)間較長(zhǎng)、無(wú)法滿足海量數(shù)據(jù)的存儲(chǔ)需求。提供一種基于海量數(shù)據(jù)的數(shù)據(jù)分配方法、裝置的方案,能夠有效解決現(xiàn)有技術(shù)中無(wú)法根據(jù)數(shù)據(jù)的重要程度及當(dāng)前存儲(chǔ)設(shè)備的性能進(jìn)行自動(dòng)分級(jí)存儲(chǔ)等問(wèn)題,從而降低存儲(chǔ)設(shè)備I/O響應(yīng)時(shí)間,提升設(shè)備存儲(chǔ)利用率。
關(guān)鍵詞:異構(gòu)數(shù)據(jù) 分級(jí)存儲(chǔ) 海量數(shù)據(jù)存儲(chǔ) 業(yè)務(wù)存儲(chǔ)優(yōu)先級(jí)
中圖分類號(hào):TP311.13 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-3973(2013)007-078-02
1 引言
隨著移動(dòng)互聯(lián)網(wǎng)的快速發(fā)展,智能終端的普及,以及物聯(lián)網(wǎng)、云計(jì)算等新興產(chǎn)業(yè)的興起,海量數(shù)據(jù)成為當(dāng)前最顯著的特征。預(yù)測(cè)數(shù)據(jù)顯示,到2015年,每秒鐘將有100萬(wàn)分鐘的視頻內(nèi)容跨網(wǎng)絡(luò)傳輸;從2010年到2015年,全球移動(dòng)數(shù)據(jù)流量將增長(zhǎng)26倍。面對(duì)海量數(shù)據(jù)來(lái)襲,目前業(yè)界仍采用根據(jù)數(shù)據(jù)業(yè)務(wù)情況事先規(guī)劃存儲(chǔ)的方式,即為分屬于不同業(yè)務(wù)的數(shù)據(jù)事先分配不同的存儲(chǔ)設(shè)備,數(shù)據(jù)生成后直接按照事先分配的存儲(chǔ)設(shè)備進(jìn)行存儲(chǔ)。
傳統(tǒng)方式進(jìn)行海量數(shù)據(jù)的存儲(chǔ)時(shí),一般需要單獨(dú)部署數(shù)據(jù)主控服務(wù)器來(lái)進(jìn)行(所述數(shù)據(jù)主控服務(wù)器中預(yù)先存儲(chǔ)了事先規(guī)劃的數(shù)據(jù)存儲(chǔ)規(guī)則),當(dāng)系統(tǒng)中的數(shù)據(jù)增加到一定規(guī)模,導(dǎo)致系統(tǒng)中某一個(gè)或多個(gè)存儲(chǔ)設(shè)備中存儲(chǔ)了大量的數(shù)據(jù)從而導(dǎo)致相應(yīng)的存儲(chǔ)設(shè)備性能降低、I/O讀寫時(shí)間延長(zhǎng),無(wú)法滿足數(shù)據(jù)存儲(chǔ)需求時(shí),需要由系統(tǒng)規(guī)劃人員根據(jù)當(dāng)前業(yè)務(wù)數(shù)據(jù)及存儲(chǔ)設(shè)備的實(shí)際情況以人工方式對(duì)各存儲(chǔ)設(shè)備的參數(shù)、性能、容量等進(jìn)行調(diào)整或者由系統(tǒng)規(guī)劃人員根據(jù)自身經(jīng)驗(yàn)以及系統(tǒng)當(dāng)前實(shí)際情況,重新為該系統(tǒng)制定相應(yīng)的數(shù)據(jù)存儲(chǔ)規(guī)則。
本文基于海量數(shù)據(jù)的數(shù)據(jù)分配方法、裝置及系統(tǒng),根據(jù)確定的該待存儲(chǔ)數(shù)據(jù)的數(shù)據(jù)優(yōu)先級(jí),確定具備與該待存儲(chǔ)數(shù)據(jù)的數(shù)據(jù)優(yōu)先級(jí)相匹配的設(shè)備性能優(yōu)先級(jí)的在線存儲(chǔ)設(shè)備,這種方案將有效解決現(xiàn)有技術(shù)中存在無(wú)法根據(jù)數(shù)據(jù)重要性以及存儲(chǔ)設(shè)備性能進(jìn)行自動(dòng)劃分和存儲(chǔ)等問(wèn)題。
2 方案設(shè)計(jì)
本方案是基于海量數(shù)據(jù)自動(dòng)計(jì)算裝載和分配的方法和裝置。裝置包含:存儲(chǔ)設(shè)備控制模塊、設(shè)備元數(shù)據(jù)管理模塊、數(shù)據(jù)計(jì)算裝載服務(wù)模塊、數(shù)據(jù)元數(shù)據(jù)管理模塊、數(shù)據(jù)分配控制模塊。其特征是:
(1)存儲(chǔ)設(shè)備控制模塊對(duì)存儲(chǔ)系統(tǒng)中的存儲(chǔ)設(shè)備進(jìn)行集群管理,計(jì)算設(shè)備性能由設(shè)備元數(shù)據(jù)管理模塊管理設(shè)備元數(shù)據(jù)。
(2)數(shù)據(jù)進(jìn)入裝置后,數(shù)據(jù)計(jì)算裝載服務(wù)模塊對(duì)數(shù)據(jù)進(jìn)行處理,計(jì)算數(shù)據(jù)優(yōu)先級(jí)保存在數(shù)據(jù)元數(shù)據(jù)管理模塊,數(shù)據(jù)分配控制模塊根據(jù)數(shù)據(jù)分配原則,優(yōu)先級(jí)權(quán)重高的數(shù)據(jù)在性能高的設(shè)備上進(jìn)行存儲(chǔ)。
(3)數(shù)據(jù)計(jì)算裝載服務(wù)模塊與存儲(chǔ)設(shè)備控制模塊定時(shí)對(duì)數(shù)據(jù)元數(shù)據(jù)與設(shè)備元數(shù)據(jù)重新進(jìn)行加權(quán)計(jì)算,數(shù)據(jù)分配控制模塊根據(jù)計(jì)算結(jié)果動(dòng)態(tài)對(duì)數(shù)據(jù)重新進(jìn)行分配,對(duì)于低于數(shù)據(jù)權(quán)重閾值的數(shù)據(jù)進(jìn)行離線存儲(chǔ)。
本裝置海量數(shù)據(jù)裝載和分配過(guò)程,包括如下步驟:
(1)存儲(chǔ)設(shè)備控制模塊對(duì)存儲(chǔ)系統(tǒng)中的存儲(chǔ)設(shè)備進(jìn)行集群管理。存儲(chǔ)設(shè)備包括文件服務(wù)器存儲(chǔ)、數(shù)據(jù)庫(kù)服務(wù)器存儲(chǔ)、內(nèi)存數(shù)據(jù)庫(kù)存儲(chǔ)等設(shè)備,存儲(chǔ)設(shè)備控制模塊包括存儲(chǔ)設(shè)備群集配置數(shù)據(jù)庫(kù),當(dāng)有新存儲(chǔ)設(shè)備加入群集時(shí),存儲(chǔ)設(shè)備控制模塊注冊(cè)新存儲(chǔ)設(shè)備配置信息并更新群集配置數(shù)據(jù)庫(kù),新存儲(chǔ)設(shè)備會(huì)在存儲(chǔ)設(shè)備控制模塊獲得并保持群集配置數(shù)據(jù)庫(kù)的副本,當(dāng)存儲(chǔ)設(shè)備離線時(shí),存儲(chǔ)設(shè)備控制模塊注銷存儲(chǔ)設(shè)備配置信息并更新配置數(shù)據(jù)庫(kù)并通知所有在線存儲(chǔ)設(shè)備,在線存儲(chǔ)設(shè)備獲取通知從存儲(chǔ)設(shè)備控制模塊獲得并保持最新的群集配置數(shù)據(jù)庫(kù)副本。
(2)存儲(chǔ)設(shè)備控制模塊對(duì)接入的存儲(chǔ)設(shè)備的性能進(jìn)行加權(quán)計(jì)算,加權(quán)的指標(biāo)為設(shè)備存儲(chǔ)空間、CPU、內(nèi)存大小等,加權(quán)計(jì)算后的結(jié)果保存到設(shè)備元數(shù)據(jù)管理模塊。假設(shè)事先設(shè)定的存儲(chǔ)設(shè)備的可用容量這一性能加權(quán)指標(biāo)的權(quán)重系數(shù)為0.6,存儲(chǔ)設(shè)備的處理器速度這一性能加權(quán)指標(biāo)的權(quán)重系數(shù)為0.3,存儲(chǔ)設(shè)備的內(nèi)存大小這一性能加權(quán)指標(biāo)的權(quán)重系數(shù)為0.1,對(duì)該在線存儲(chǔ)設(shè)備的各性能加權(quán)指標(biāo)進(jìn)行加權(quán)運(yùn)算,得到該在線存儲(chǔ)設(shè)備的性能加權(quán)值Q;具體地,所得到的該在線存儲(chǔ)設(shè)備的性能加權(quán)值Q可以表示為:Q=0.6A+0.3B+0.1C。在得到該在線存儲(chǔ)設(shè)備的性能加權(quán)值之后,可以根據(jù)該在線存儲(chǔ)設(shè)備的性能加權(quán)值確定該在線存儲(chǔ)設(shè)備的設(shè)備性能優(yōu)先級(jí)。例如:若所得到的該在線存儲(chǔ)設(shè)備的性能加權(quán)值Q大于設(shè)定的第一閾值,則認(rèn)為該在線存儲(chǔ)設(shè)備的設(shè)備性能優(yōu)先級(jí)為高,若所得到的該在線存儲(chǔ)設(shè)備的性能加權(quán)值Q大于設(shè)定的第二閾值且小于設(shè)定的第一閾值,則可以認(rèn)為該在線存儲(chǔ)設(shè)備的設(shè)備性能優(yōu)先級(jí)為中,若所得到的該在線存儲(chǔ)設(shè)備的性能加權(quán)值Q小于設(shè)定的第二閾值,則可以認(rèn)為該在線存儲(chǔ)設(shè)備的設(shè)備性能優(yōu)先級(jí)為低,其中,所述第一閾值大于第二閾值,且所述第一閾值以及所述第二閾值的數(shù)值可以根據(jù)實(shí)際情況進(jìn)行調(diào)整。
(3)設(shè)備元數(shù)據(jù)管理模塊管理設(shè)備元數(shù)據(jù),設(shè)備元數(shù)據(jù)存儲(chǔ)以下信息:設(shè)備Mac地址,設(shè)備名稱、加權(quán)設(shè)備性能結(jié)果。設(shè)備元數(shù)據(jù)管理模塊維持和存儲(chǔ)設(shè)備控制模塊心跳通訊,根據(jù)群集配置數(shù)據(jù)庫(kù)完成設(shè)備元數(shù)據(jù)注冊(cè)、更新、注銷管理。此元數(shù)據(jù)核心為多維稀疏Map(Map由key和value組成,Map的索引是行關(guān)鍵字、列關(guān)鍵字和時(shí)間戳),設(shè)備元數(shù)據(jù)以設(shè)備Mac地址為行關(guān)鍵字,以設(shè)備名稱和性能結(jié)果為列名,加權(quán)計(jì)算的時(shí)間戳作為標(biāo)識(shí),設(shè)備元數(shù)據(jù)管理模塊計(jì)算設(shè)備時(shí)間段內(nèi)平均性能。
(4)數(shù)據(jù)進(jìn)入裝置后,數(shù)據(jù)計(jì)算裝載服務(wù)模塊對(duì)數(shù)據(jù)進(jìn)行加權(quán)計(jì)算,加權(quán)指標(biāo)包括數(shù)據(jù)重要度、數(shù)據(jù)訪問(wèn)量、數(shù)據(jù)大小等,加權(quán)計(jì)算后由數(shù)據(jù)元數(shù)據(jù)管理模塊處理。
(5)數(shù)據(jù)元數(shù)據(jù)管理模塊管理數(shù)據(jù)加權(quán)元數(shù)據(jù),數(shù)據(jù)加權(quán)元數(shù)據(jù)存儲(chǔ)以下信息:塊信息關(guān)鍵字、塊名稱、加權(quán)計(jì)算結(jié)果。數(shù)據(jù)元數(shù)據(jù)管理模塊維持和數(shù)據(jù)計(jì)算裝載服務(wù)模塊心跳通訊,完成數(shù)據(jù)加權(quán)元數(shù)據(jù)注冊(cè)、更新、注銷管理。此元數(shù)據(jù)核心為多維稀疏Map(Map由key和value組成,Map的索引是行關(guān)鍵字、列關(guān)鍵字和時(shí)間戳),數(shù)據(jù)加權(quán)元數(shù)據(jù)以數(shù)據(jù)塊信息關(guān)鍵字為行關(guān)鍵字,以塊名稱和加權(quán)結(jié)果為列名,加權(quán)計(jì)算的時(shí)間戳作為標(biāo)識(shí)。
(6)數(shù)據(jù)分配控制模塊從數(shù)據(jù)元數(shù)據(jù)管理模塊和設(shè)備元數(shù)據(jù)管理模塊取得數(shù)據(jù)加權(quán)元數(shù)據(jù)及設(shè)備元數(shù)據(jù),根據(jù)數(shù)據(jù)加權(quán)計(jì)算結(jié)果進(jìn)行分配,權(quán)重高的數(shù)據(jù)保存到性能高的設(shè)備之上,次之保存到性能次之的設(shè)備,依次將數(shù)據(jù)分配保存。
(7)數(shù)據(jù)計(jì)算裝載服務(wù)模塊定時(shí)從數(shù)據(jù)元數(shù)據(jù)管理模塊取得數(shù)據(jù)加權(quán)元數(shù)據(jù),對(duì)數(shù)據(jù)加權(quán)元數(shù)據(jù)重新進(jìn)行加權(quán)計(jì)算,計(jì)算后由數(shù)據(jù)元數(shù)據(jù)管理模塊根據(jù)權(quán)重結(jié)果更新數(shù)據(jù)加權(quán)元數(shù)據(jù)Map。
(8)存儲(chǔ)設(shè)備控制模塊定時(shí)從設(shè)備元數(shù)據(jù)管理模塊取得設(shè)備元數(shù)據(jù),對(duì)存儲(chǔ)設(shè)備重新進(jìn)行性能加權(quán)計(jì)算,計(jì)算后有設(shè)備元數(shù)據(jù)管理模塊根據(jù)權(quán)重結(jié)果更新設(shè)備元數(shù)據(jù)Map。
(9)數(shù)據(jù)分配控制模塊定時(shí)從數(shù)據(jù)元數(shù)據(jù)管理模塊和設(shè)備元數(shù)據(jù)管理模塊取得數(shù)據(jù)元數(shù)據(jù)及設(shè)備元數(shù)據(jù),根據(jù)數(shù)據(jù)權(quán)重和設(shè)備性能權(quán)重重新進(jìn)行數(shù)據(jù)分配,權(quán)重高的數(shù)據(jù)更新到性能高的設(shè)備,對(duì)于低于預(yù)先設(shè)置的數(shù)據(jù)權(quán)重閾值的數(shù)據(jù)進(jìn)行離線存儲(chǔ)。
3 結(jié)論
綜上所述,存儲(chǔ)設(shè)備控制模塊對(duì)存儲(chǔ)系統(tǒng)中的存儲(chǔ)設(shè)備進(jìn)行集群管理,計(jì)算設(shè)備性能由設(shè)備元數(shù)據(jù)管理模塊管理設(shè)備元數(shù)據(jù),報(bào)表數(shù)據(jù)進(jìn)入裝置后,數(shù)據(jù)計(jì)算裝載服務(wù)模塊對(duì)數(shù)據(jù)進(jìn)行處理,計(jì)算數(shù)據(jù)優(yōu)先級(jí)保存在報(bào)表元數(shù)據(jù)管理模塊,數(shù)據(jù)分配控制模塊根據(jù)數(shù)據(jù)分配原則,優(yōu)先級(jí)權(quán)重高的報(bào)表數(shù)據(jù)在性能高的設(shè)備上進(jìn)行存儲(chǔ)。數(shù)據(jù)計(jì)算裝載服務(wù)模塊與存儲(chǔ)設(shè)備控制模塊定時(shí)對(duì)報(bào)表元數(shù)據(jù)與設(shè)備元數(shù)據(jù)重新進(jìn)行加權(quán)計(jì)算,數(shù)據(jù)分配控制模塊根據(jù)計(jì)算結(jié)果動(dòng)態(tài)對(duì)數(shù)據(jù)重新進(jìn)行分配,對(duì)于低于數(shù)據(jù)權(quán)重閾值的報(bào)表數(shù)據(jù)進(jìn)行離線存儲(chǔ)。對(duì)比原有存儲(chǔ)技術(shù)原理,可以看出本方案的優(yōu)勢(shì)在于能夠根據(jù)存儲(chǔ)設(shè)備實(shí)際情況進(jìn)行自動(dòng)計(jì)算裝載和分配,充分發(fā)揮到存儲(chǔ)設(shè)備的最佳性能。
參考文獻(xiàn):
[1] 李華植.海量數(shù)據(jù)庫(kù)解決方案.北京:電子工業(yè)出版社,2010.
[2] 呂帥,劉光明.海量信息分級(jí)存儲(chǔ)數(shù)據(jù)遷移策略研究[J].計(jì)算機(jī)工程與科學(xué),2009(01).