林清瀅,陸錫聰,馮健文
(韓山師范學(xué)院計(jì)算機(jī)科學(xué)與工程系,潮州 521041)
云存儲(chǔ)環(huán)境下基于QoS的動(dòng)態(tài)副本策略研究
林清瀅,陸錫聰,馮健文
(韓山師范學(xué)院計(jì)算機(jī)科學(xué)與工程系,潮州 521041)
為了解決靜態(tài)副本策略中易造成負(fù)載不均衡、用戶服務(wù)質(zhì)量需求得不到滿足等問(wèn)題,提出一種動(dòng)態(tài)副本生成算法和動(dòng)態(tài)副本調(diào)整算法;在CloudSim平臺(tái)上仿真實(shí)驗(yàn),結(jié)果表明,與默認(rèn)副本策略相比,該策略能夠根據(jù)用戶的訪問(wèn)需求動(dòng)態(tài)為數(shù)據(jù)文件增刪副本,大大地減少用戶訪問(wèn)時(shí)間,滿足用戶的服務(wù)質(zhì)量需求。
云存儲(chǔ);副本策略;動(dòng)態(tài)副本;服務(wù)質(zhì)量
云存儲(chǔ)是隨著云計(jì)算的誕生而延伸和發(fā)展出來(lái)的,它通過(guò)集群技術(shù)、網(wǎng)格技術(shù)和分布式文件系統(tǒng)等功能,將網(wǎng)絡(luò)中大量異構(gòu)的存儲(chǔ)設(shè)備集合起來(lái)協(xié)同工作,從而對(duì)用戶提供數(shù)據(jù)存儲(chǔ)和訪問(wèn)服務(wù)[1]。云存儲(chǔ)旨在為用戶提供可靠、可用、安全、快速、廉價(jià)的基礎(chǔ)設(shè)施,使得用戶以按需付費(fèi)的方式獲得對(duì)存儲(chǔ)資源的使用[2]。既然云存儲(chǔ)作為一種特殊的云計(jì)算系統(tǒng),提供的是存儲(chǔ)服務(wù),因此,其服務(wù)質(zhì)量(Quality of Service,QoS)的保障技術(shù)得到了企業(yè)界和學(xué)術(shù)界的廣泛研究。云存儲(chǔ)的服務(wù)質(zhì)量包含多個(gè)方面,常見(jiàn)的有I/O性能、可靠性、可用性、安全性、可擴(kuò)展性、服務(wù)成本等[3~6]。而副本策略是保證云存儲(chǔ)中數(shù)據(jù)可靠、可用和服務(wù)成本的關(guān)鍵技術(shù)之一,合理的副本策略將為用戶帶來(lái)更好的服務(wù)質(zhì)量:如縮短訪問(wèn)響應(yīng)時(shí)間、減少遠(yuǎn)距離數(shù)據(jù)傳輸、降低網(wǎng)絡(luò)通信流量、平衡節(jié)點(diǎn)負(fù)載、增強(qiáng)數(shù)據(jù)可靠性、提高資源容錯(cuò)能力,等等[7]。目前大部分云存儲(chǔ)系統(tǒng)采用的是靜態(tài)隨機(jī)的副本生成策略,如Google的GFS和Hadoop的HDFS都是由配置參數(shù)靜態(tài)確定副本的數(shù)目,然后隨機(jī)地把副本放置到多個(gè)機(jī)架和節(jié)點(diǎn)上,而實(shí)際中,每個(gè)節(jié)點(diǎn)的存儲(chǔ)能力不同,而用戶的訪問(wèn)需求也不同。由于在云存儲(chǔ)環(huán)境下,用戶數(shù)量龐大,一旦用戶在某一時(shí)間段內(nèi)頻繁地訪問(wèn)同一數(shù)據(jù)文件,將很容易造成網(wǎng)絡(luò)瓶頸,系統(tǒng)的性能會(huì)急劇下降。因此有必要根據(jù)用戶的訪問(wèn)需求動(dòng)態(tài)為數(shù)據(jù)文件增刪副本,這樣可以大大地減少用戶訪問(wèn)延遲,節(jié)約網(wǎng)絡(luò)帶寬資源,提高系統(tǒng)的性能和可靠性。
我們將基于Hadoop的分布式文件系統(tǒng)HDFS來(lái)架構(gòu)云存儲(chǔ)環(huán)境。HDFS采用的是主從架構(gòu)模式,主節(jié)點(diǎn)稱為NameNode,負(fù)責(zé)元數(shù)據(jù)管理;從節(jié)點(diǎn)稱為DataNode,負(fù)責(zé)實(shí)際數(shù)據(jù)存儲(chǔ)。由于云存儲(chǔ)環(huán)境是由大量存儲(chǔ)節(jié)點(diǎn)組成,存儲(chǔ)節(jié)點(diǎn)的故障將不可避免,為了避免個(gè)別節(jié)點(diǎn)的失效而導(dǎo)致存儲(chǔ)數(shù)據(jù)的丟失。一般情況下,HDFS將存儲(chǔ)的文件劃分為若干個(gè)數(shù)據(jù)塊,每個(gè)數(shù)據(jù)塊在存儲(chǔ)時(shí)采用多個(gè)副本,在選擇數(shù)據(jù)塊副本存儲(chǔ)節(jié)點(diǎn)時(shí)采用的是機(jī)架感知(Rack-Aware)策略,該策略通過(guò)靜態(tài)設(shè)置的方式,設(shè)置了數(shù)據(jù)副本數(shù),默認(rèn)情況下,副本數(shù)為3,然后將數(shù)據(jù)塊副本同時(shí)存放在本地機(jī)架與一個(gè)隨機(jī)的遠(yuǎn)端機(jī)架的不同節(jié)點(diǎn)上,如圖1所示,從而保證數(shù)據(jù)存儲(chǔ)時(shí)的可靠性。
HDFS這種靜態(tài)副本策略不能根據(jù)存儲(chǔ)節(jié)點(diǎn)狀態(tài)、用戶訪問(wèn)需求等動(dòng)態(tài)地增加或者刪除副本,從而滿足用戶的服務(wù)質(zhì)量需求。因此,我們根據(jù)文件訪問(wèn)熱度增加或者刪除副本,達(dá)到在不影響服務(wù)質(zhì)量的同時(shí),滿足云存儲(chǔ)系統(tǒng)的可靠性。
2.1 模型描述
為了更好地描述該動(dòng)態(tài)副本的策略,我們定義了如下的數(shù)學(xué)模型:
定義1數(shù)據(jù)塊副本矩陣。假設(shè)數(shù)據(jù)文件F存儲(chǔ)時(shí)被劃分為n個(gè)數(shù)據(jù)塊,每個(gè)數(shù)據(jù)塊有m個(gè)副本,因此,我們可以用矩陣Fn×m來(lái)表示文件F在云存儲(chǔ)系統(tǒng)中數(shù)據(jù)塊副本的存儲(chǔ)情況[8]。
定義2數(shù)據(jù)塊的訪問(wèn)次數(shù)矩陣。假設(shè)數(shù)據(jù)文件F在某一時(shí)間段T內(nèi)的訪問(wèn)次數(shù)可用矩陣BVn×m來(lái)表示。其中bvij表示的是定義1中數(shù)據(jù)塊副本bij在時(shí)間段T內(nèi)的訪問(wèn)次數(shù)。
因?yàn)楫?dāng)有n個(gè)數(shù)據(jù)塊m個(gè)副本的文件F被訪問(wèn)時(shí),每一個(gè)數(shù)據(jù)塊每次只有一個(gè)副本被訪問(wèn)到。因此,文件F在時(shí)間段T內(nèi)的訪問(wèn)次數(shù)可用公式(1)來(lái)計(jì)算。
定義3動(dòng)態(tài)副本計(jì)算函數(shù)。通過(guò)分析數(shù)據(jù)文件的訪問(wèn)次數(shù),我們可以用公式(2)計(jì)算數(shù)據(jù)文件F在云存儲(chǔ)集群中的副本數(shù)。
其中,lm,h1,h2,h3,m是正整數(shù),m是數(shù)據(jù)文件F的最大副本數(shù),lm是數(shù)據(jù)文件F的最小副本數(shù),1≤lm<m-2,lm可通過(guò)分析數(shù)據(jù)文件F的訪問(wèn)次數(shù)而動(dòng)態(tài)設(shè)置;h1,h2,h3根據(jù)云存儲(chǔ)集群的情況給出。該函數(shù)通過(guò)用戶的訪問(wèn)特征和云存儲(chǔ)集群的情況,動(dòng)態(tài)計(jì)算出合適的副本數(shù),從而滿足用戶的服務(wù)需求,提高存儲(chǔ)資源的使用和減少訪問(wèn)時(shí)延。
2.2 算法描述
在云存儲(chǔ)中,當(dāng)用戶要訪問(wèn)數(shù)據(jù)文件時(shí),首先向NameNode查詢要訪問(wèn)文件的信息。由NameNode查詢得到數(shù)據(jù)塊的編號(hào)以及對(duì)應(yīng)的DataNode并返回給用戶。用戶根據(jù)得到信息向數(shù)據(jù)塊所在的DataNode發(fā)送訪問(wèn)請(qǐng)求。DataNode收到訪問(wèn)請(qǐng)求后,記錄被訪問(wèn)數(shù)據(jù)塊編號(hào)和訪問(wèn)時(shí)間,然后向用戶返回請(qǐng)求文件數(shù)據(jù)。下面我們?cè)O(shè)計(jì)了動(dòng)態(tài)副本的生成算法和調(diào)整算法,假定動(dòng)態(tài)副本策略的執(zhí)行周期為T,當(dāng)系統(tǒng)啟動(dòng)時(shí),每一周期開始時(shí),DataNode負(fù)責(zé)記錄本周期內(nèi)數(shù)據(jù)塊的訪問(wèn)次數(shù);NameNode負(fù)責(zé)執(zhí)行下面的算法過(guò)程,第一個(gè)周期結(jié)束時(shí),執(zhí)行了算法1,即動(dòng)態(tài)副本生成算法;從第二周期開始,以后的每個(gè)周期結(jié)束都執(zhí)行算法2,即動(dòng)態(tài)副本調(diào)整算法。算法過(guò)程如下:
算法1動(dòng)態(tài)副本生成算法
算法2動(dòng)態(tài)副本調(diào)整算法
為了評(píng)價(jià)文中給出的動(dòng)態(tài)副本策略,我們?cè)谠品抡婀ぞ逤loudSim上進(jìn)行了模擬實(shí)驗(yàn),CloudSim能夠通過(guò)重寫代碼和配置創(chuàng)建云計(jì)算環(huán)境下的用戶任務(wù)和資源。設(shè)定文件的訪問(wèn)次數(shù)VF隨機(jī)產(chǎn)生在[0,1000]之間,這樣,公式(2)中的h1,h2,h3可分別設(shè)為300、600、 900。
實(shí)驗(yàn)仿真結(jié)果如圖2所示。
圖2 在不同的訪問(wèn)次數(shù)下兩種策略的響應(yīng)時(shí)間
如圖所示,隨著訪問(wèn)次數(shù)的增加,在默認(rèn)副本策略和動(dòng)態(tài)副本策略下,對(duì)用戶的響應(yīng)時(shí)間都開始增加。默認(rèn)副本策略在訪問(wèn)次數(shù)不是很大時(shí)響應(yīng)時(shí)間增加緩慢,但是當(dāng)訪問(wèn)次數(shù)進(jìn)一步增加時(shí),系統(tǒng)響應(yīng)時(shí)間急劇增加。在動(dòng)態(tài)副本策略下系統(tǒng)響應(yīng)時(shí)間增加平緩且達(dá)到一定峰值后緩慢回落。這是因?yàn)殡S著訪問(wèn)次數(shù)的增加,系統(tǒng)開始增加副本。由于副本生成需要時(shí)間,因此超過(guò)在默認(rèn)副本策略下系統(tǒng)的響應(yīng)時(shí)間。但隨著副本增加完成后,由于對(duì)數(shù)據(jù)的分流,使得系統(tǒng)響應(yīng)時(shí)間開始明顯降低,并逐漸達(dá)到一種比較穩(wěn)定的狀態(tài)。由此可得,隨著對(duì)文件訪問(wèn)次數(shù)的增加,動(dòng)態(tài)副本策略較之默認(rèn)策略更加有效。
在云存儲(chǔ)環(huán)境下,采用數(shù)據(jù)副本策略是保證系統(tǒng)可靠、可用的關(guān)鍵技術(shù)。合理的副本策略將降低用戶訪問(wèn)的響應(yīng)時(shí)間,提高服務(wù)質(zhì)量。因此,本文提出一種數(shù)學(xué)模型,以描述用戶訪問(wèn)數(shù)據(jù)文件的特征,從而給出一種動(dòng)態(tài)副本生成算法和動(dòng)態(tài)副本調(diào)整算法;最后在CloudSim平臺(tái)上仿真實(shí)驗(yàn),結(jié)果表明,與默認(rèn)副本策略相比,文中提出的策略能夠根據(jù)用戶的訪問(wèn)需求動(dòng)態(tài)為數(shù)據(jù)文件增刪副本,大大地減少用戶訪問(wèn)時(shí)間,滿足用戶的服務(wù)需求。
參考文獻(xiàn):
[1] Zhao Y,Ou K,Zeng W,et al.Research on Cloud Storage Architecture and Key Technologies[C].2nd International Conference on In teraction Sciences:Information Technology,Culture and Human,ICIS 2009:1044~1048
[2] Abadi D J.Data Management in the Cloud:Limitations and Opportunities[J].IEEE Data Eng.Bull.,2009,32(1):3~12
[3] Wu J C,Brandt S A.Providing Quality of Service Support in Object-Based File System[C].24th IEEE Conference on Mass Storage Systems and Technologies,MSST 2007:157~168
[4] Wang J,Varmany P,Xie C.Avoiding Performance Fluctuation in Cloud Storage[C].17th International Conference on High Performance Computing,HiPC 2010
[5] Mesnier M,Chen F,Luo T,et al.Differentiated Storage Services[C].23rd ACM Symposium on Operating Systems Principles,SOSP 2011:57~70
[6] Ju J,Wu J,F(xiàn)u J,et al.A Survey on Cloud Storage[J].Journal of Computers,2011,6(8):1764~1771
[7] 付偉,肖儂,盧錫城.QoS感知的副本放置問(wèn)題研究綜述[J].計(jì)算機(jī)研究與發(fā)展,2009,46(suppl.):36~43
[8] 廖彬,于炯,張?zhí)?,張興耀.基于分布式文件系統(tǒng)HDFS的節(jié)能算法[J].計(jì)算機(jī)學(xué)報(bào),2013,36(5):1047-1064
Research on the Dynamic Replica Strategy in Cloud Storage Environment Based on QoS
LIN Qing-ying,LU Xi-cong,F(xiàn)ENG Jian-wen
(Department of Computer Science and Engineering,Hanshan Normal College,Chaozhou 521041)
The load balancing may be destroyed and the user QoS requirement is not satisfied due to the static replica strategy in the existing default replica strategy.In order to solve these problems,proposes a dynamic replica generation algorithm and a dynamic replica adjust algorithm. Simulates the experiment using CloudSim toolkit,the results show that the proposed strategy is superior to the default replica strategy because it dynamically adds and deletes replicas according to the user's access requirements,which will reduce response time and satisfy user's QoS requirement.
Cloud Storage;Replica Strategy;Dynamic Replica;Quality of Service
1007-1423(2015)02-0006-04
10.3969/j.issn.1007-1423.2015.02.002
林清瀅(1970-),女,廣東潮州人,碩士,副教授,研究方向?yàn)榉植际较到y(tǒng)、云計(jì)算
陸錫聰(1973-),男,廣東潮州人,碩士,高級(jí)實(shí)驗(yàn)師,研究方向?yàn)榉植际较到y(tǒng)、云計(jì)算
2014-12-09
2014-12-23
廣東省科技計(jì)劃項(xiàng)目(No.2012B010100036)、韓山師范學(xué)院科研團(tuán)隊(duì)項(xiàng)目(No.LT201102、LT201101)
馮健文(1975-),男,廣東廣州人,博士,副教授,研究方向?yàn)镾OA和云計(jì)算