莫麗麗
摘 要: 提出了一種基于云存儲模型的農(nóng)業(yè)虛擬服務(wù)平臺架構(gòu),用于整合各種農(nóng)業(yè)信息資源,提供統(tǒng)一的海量農(nóng)業(yè)信息存儲、高性能計算、軟件和數(shù)據(jù)共享服務(wù)。分析、設(shè)計了資源申請解析和虛擬資源預(yù)留分配兩個核心模塊,提出了一種樹型虛擬資源分配策略算法。給出了原型系統(tǒng)的部署方案。通過實驗證明了該體系架構(gòu)的可行性。
關(guān)鍵詞: 云存儲; 農(nóng)業(yè)信息化; 服務(wù)平臺; 虛擬
中圖分類號:TP391 文獻標志碼:A 文章編號:1006-8228(2013)08-05-03
0 引言
目前農(nóng)業(yè)信息網(wǎng)絡(luò)體系己初步建成,各種農(nóng)業(yè)數(shù)據(jù)信息呈指數(shù)級快速增長,包括:遙感數(shù)據(jù)、氣象數(shù)據(jù)、作物生長模擬、數(shù)字媒體等方面,數(shù)據(jù)量已達到PetaByte級,信息存儲維護及數(shù)據(jù)管理成本也隨之增大,而且農(nóng)業(yè)資源呈現(xiàn)分散、異構(gòu)、自治等特征,形成了彼此獨立的“信息孤島”[1-2]。隨著數(shù)據(jù)挖掘、基因分析等農(nóng)業(yè)電子信息領(lǐng)域計算量的增大,使得對硬件的需求量增大,這導(dǎo)致了科研投入的增加。
基于上述農(nóng)業(yè)信息化的特點,可建立一個公共的服務(wù)平臺,集中提供各種軟件資源、格式統(tǒng)一的數(shù)據(jù)存儲、高性能計算,以實現(xiàn)信息共享、節(jié)省軟硬件資源、提高利用率,用戶通過登錄服務(wù)平臺,便可迅速得到所需的應(yīng)用環(huán)境,而不必考慮資源購置、維護、環(huán)境部署等問題。
云存儲是一個以數(shù)據(jù)存儲和管理為核心的系統(tǒng),與目前網(wǎng)格計算中因資源分散而易受帶寬及資源供給方不確定因素影響不同[3],其強調(diào)存儲及計算資源集中化、規(guī)模化。目前云存儲在農(nóng)業(yè)方面還沒有相關(guān)的研究及應(yīng)用[4],本文基于云存儲技術(shù)研究一種農(nóng)業(yè)信息虛擬服務(wù)平臺架構(gòu),研究設(shè)計了資源申請解析和虛擬資源分配模塊,提出了基于分類的樹型虛擬資源分配算法,規(guī)范了資源的使用并提高了效率,建立了原型系統(tǒng),通過對資源的分配預(yù)留,模擬數(shù)據(jù)的存儲共享和并行計算的實驗,證明了架構(gòu)的可行性。
1 云存儲的農(nóng)業(yè)虛擬服務(wù)平臺設(shè)計
1.1 功能描述
基于云存儲的農(nóng)業(yè)虛擬服務(wù)平臺,提供了一個集中海量信息存儲、科學(xué)計算、信息共享的空間。
在物理資源方面,用戶使用的不再是現(xiàn)有物理資源,而是借助于平臺VMware、Xen等虛擬化軟件在云端大量商用計算機組成機群[5-7]構(gòu)建出來的一臺或多臺虛擬服務(wù)器,在完成需要的CPU、內(nèi)存、存儲空間申請后,便可進行存儲、計算、數(shù)據(jù)共享等工作。
在信息數(shù)據(jù)方面,可實現(xiàn)同一地點集中存儲,方便信息的管理、信息格式的統(tǒng)一和信息共享。
在軟件資源方面,集合各種軟件資源,建立統(tǒng)一的相互訪問的接口標準,達到易集成、費用低、高性能的效果。
在計算資源方面,根據(jù)需求提供虛擬化的CPU、內(nèi)存及并行計算、云計算服務(wù),節(jié)省硬件資源,提高計算速度。
1.2 平臺架構(gòu)
云存儲的農(nóng)業(yè)虛擬服務(wù)平臺是由物理層、基礎(chǔ)層、管理層和訪問層四層組成,其中基礎(chǔ)層和管理層構(gòu)成系統(tǒng)的云存儲服務(wù)平臺體系架構(gòu)的核心,如圖1所示。
物理層:由服務(wù)器集群和存儲陣列集群組成,是平臺最基礎(chǔ)的部分。物理層中的服務(wù)、存儲設(shè)備由于數(shù)量龐大,可分布多不同地域,彼此之間光纖通道網(wǎng)絡(luò)連接在一起。
基礎(chǔ)層:通過節(jié)點狀態(tài)監(jiān)控模塊、分布式文件管理系統(tǒng)模塊、云計算模塊,實現(xiàn)云存儲中多個存儲設(shè)備之間的協(xié)同工作,使多個的存儲設(shè)備可以對外提供同一種服務(wù),提供高速的數(shù)據(jù)訪問性和分布式計算能力;通過虛擬機服務(wù)模塊的虛擬化技術(shù),整合使用大量的虛擬資源,為用戶提供PaaS(Platform as a Service),SaaS(Software as a Service)服務(wù)[8]。通過數(shù)據(jù)壓縮、加密、備份模塊確保云中數(shù)據(jù)的私有性、安全性及容錯性。
管理層:解析用戶的資源申請內(nèi)容,提供公有、私有編程接口及web2.0共享服務(wù),用戶登錄認證及使用權(quán)限的管理、云存儲中虛擬資源的預(yù)留及分配。
訪問層:分為農(nóng)業(yè)研究機構(gòu)、農(nóng)業(yè)企事業(yè)單位和個人空間三種訪問類型,根據(jù)訪問規(guī)模,每種類型所擁有的資源訪問和使用權(quán)限不同。
1.3 模塊設(shè)計
⑴ 資源申請解析模塊
資源申請解析模塊是解釋并執(zhí)行用戶申請資源腳本的程序。為了減少用戶申請資源的復(fù)雜程度,模塊采用插件化設(shè)計,關(guān)鍵字驅(qū)動腳本技術(shù),由服務(wù)端建立的功能函數(shù)庫將腳本語句逐步分解。
資源申請解析模塊結(jié)構(gòu)如圖2所示,其中驅(qū)動和執(zhí)行是兩個核心部分。驅(qū)動部分中,腳本選擇器用來檢查用戶提交命令的正確性,解釋命令并產(chǎn)生執(zhí)行列表,執(zhí)行模塊根據(jù)列表去執(zhí)行腳本;控制器根據(jù)用戶腳本的需求切換資源環(huán)境,并根據(jù)腳本列表中的每個腳本的運行時限來控制資源使用時間,把狀態(tài)結(jié)果發(fā)給日志記錄模塊。執(zhí)行部分將每一個資源申請的結(jié)果返回給驅(qū)動部分,定義三種結(jié)果狀態(tài)“PASS、ABORT、FAIL”,把執(zhí)行過程及結(jié)果記錄到日志中。
現(xiàn)有的統(tǒng)一分配、無規(guī)則調(diào)度等方法不適用于云存儲平臺大規(guī)模集中資源的分配,會造成效率偏低、資源使用混亂,因此本文提出一種基于用戶分類的樹型結(jié)構(gòu)資源統(tǒng)計、管理分配算法。
設(shè)用戶申請的資源最小單位為Slot,可用一個三元組(C,M,H)表示[9],其中C代表CPU大小,M代表內(nèi)存總數(shù),H代表硬盤總?cè)萘?。單個物理服務(wù)器可以應(yīng)用的虛擬資源數(shù)為Si。
申請資源可用一個四元組表示為R(D,N,T1,T2),其中D描述申請者的所屬關(guān)系,N表示申請資源總數(shù),T1和T2表示資源使用的開始和終止時間。
把云存儲端資源總數(shù)N,劃分用戶類型為{R1,R2,…,Ri},每個Ri內(nèi)按照使用類別不同可劃分成ri個成員,成員可繼續(xù)劃分成rij個子成員。
本文設(shè)定兩條規(guī)則。規(guī)則1:資源獲取預(yù)留方式為,只有頂層消費實體才能進行資源預(yù)留,其子成員只是在邏輯上預(yù)留上層資源,那么就形成一個自頂向下資源逐漸分散的樹型結(jié)構(gòu),如圖3所示;規(guī)則2:成員在沒有完全利用預(yù)留資源的情況下,借出閑置的剩余資源,給同屬上層實體的同級或下級用戶,在預(yù)留資源緊張的情況下也可借入閑置資源。
基于上述架構(gòu),如圖4所示,部署客戶端主機一臺用于提交數(shù)據(jù)即申請計算資源,后端為一臺Linux系統(tǒng)服務(wù)器,作為云存儲虛擬服務(wù)主機。登錄審查模塊、資源申請解析模塊、虛擬資源預(yù)留分配模塊及Web2.0服務(wù)模塊為管理層[10],HDFS文件系統(tǒng)及LSF4.0集群作業(yè)管理系統(tǒng)為基礎(chǔ)層。HDFS文件系統(tǒng)為開源的大型數(shù)據(jù)分布式文件系統(tǒng),LSF4.0為分布式計算公司Platform開源的集群作業(yè)管理系統(tǒng),通過該系統(tǒng)提供的API與資源申請解析模塊和虛擬資源預(yù)留分配模塊通信,本文用以管理云存儲端服務(wù)器集群及向集群提交作業(yè)[11-12]。物理層則由兩組,共100臺服務(wù)器組成作為微型云存儲端,并按每個虛擬資源Slot包含(1G CUP,1G內(nèi)存,20G存儲)劃分虛擬服務(wù)資源,根據(jù)公式⑵得到虛擬資源總數(shù)為200個Slot。
2.2 實驗
實驗重點為:虛擬資源的分配預(yù)留功能;數(shù)據(jù)的存儲、共享功能;資源的動態(tài)借入、并行計算功能。
實驗步驟為:
⑴ 分別以R1{R1,test,60slot,02:22:00,02:25:08}、R2{R2,test,80slot,02:22:00,02:26:00}、R3{R3,test,40slot,02:27:00,03:01:08}、R4{R4,test,200slot,02:23:00,02:23:08}順序申請預(yù)留資源。
⑵ 以R1下層用戶r1登錄,申請30個Slot資源{r1,test,30slot,02:23:00,02:25:00},提交20G數(shù)據(jù)流分類數(shù)據(jù)并設(shè)置共享。
⑶ 以r1下層用戶r11登錄,申請1個Slot資源{r11,test,1slot,02:23:00,02:24:00},并安裝工具軟件weka對r1提交的20G數(shù)據(jù)進行數(shù)據(jù)分類挖掘。
由圖5可以看出R1、R2、R3預(yù)留資源成功,R4由于預(yù)留資源時間與R1、R2沖突,超出了虛擬資源總數(shù)而預(yù)留失敗。
圖6為通過Load Runner測試工具,對r11用戶、r1的數(shù)據(jù)進行數(shù)據(jù)挖掘計算所生成的負載狀況,采樣間隔時間為20秒,從圖6中可以看出,隨著負載量的加大,r11陸續(xù)向其上層節(jié)點r1借出8個Slot并行作業(yè),運行3小時后歸還,作業(yè)總耗時5小時,這說明數(shù)據(jù)完成了共享,并實現(xiàn)了資源的借入及使用。
實驗結(jié)果顯示原型系統(tǒng)的數(shù)據(jù)共享、并行計算、虛擬資源管理及分配功能良好,說明云存儲虛擬服務(wù)平臺架構(gòu)是可行的。
3 結(jié)束語
本文建立了基于云存儲的農(nóng)業(yè)虛擬服務(wù)平臺的構(gòu)架,設(shè)計了資源申請解析和虛擬資源預(yù)留分配模塊,提出了虛擬資源分配的策略算法。云存儲、云計算均是新型的計算模式,能夠為面向市場的資源管理方式提供強有力的支持。云存儲與進化計算思想的成功結(jié)合拓寬了存儲的應(yīng)用領(lǐng)域,虛擬資源分配策略算法也為計算的研究進行了新的探索和嘗試。為了更加方便地創(chuàng)建云計算應(yīng)用,拓展其應(yīng)用范圍,還需要開發(fā)出更容易使用的編程環(huán)境和編程工具??偟膩碚f,云計算以其無可比擬的優(yōu)越性確定了其廣闊的發(fā)展前景,本文的研究僅是這一交叉研究領(lǐng)域的開始,如何拓寬算法在優(yōu)化問題中的應(yīng)用范圍,以及對算法迭代過程的理論分析,都是今后有意義的研究方向。
參考文獻:
[1] 吳華瑞,孫想,趙春江.農(nóng)業(yè)數(shù)據(jù)網(wǎng)格化體系研究[J].農(nóng)業(yè)工程學(xué)報,2006.22(11):137-139
[2] 張鳳霞,吳華瑞,楊寶祝.基于構(gòu)件網(wǎng)格的農(nóng)業(yè)專家系統(tǒng)研究[J].計算機工程與設(shè)計,2006.27(3):924-927
[3] Yang Chun-Mei, Wan Bai-Kun, Gao Xiao-Feng. Selectionsof data preprocessing methods and similarity metrics forgene cluster analysis. Progress in Natural Science,2008.16(6):607-613
[4] Meeds E, Ghahramani Z, Neal R, Sam R. Modeling dyadicdata with binary latent factors .the 11thInternational Conference on Artificial Intelligence andStaticstics. San Juan, Puerto Rico,2007:213-230
[5] A. Chebotko, X. Fei, C. Lin, S. Lu, and F. Fotouhi. Storingand Querying Scientific Workflow Provenance Metadata Usingan RDBMS. the 2nd International Workshop on Scientific Workflows and Business Workflow Standards in e-Science, in conjunction with e-Science, Bangalore,India, December,2007:611-618
[6] A. Chervenak, I. Foster, C. Kesselman, C. Salisbury, S. Tuecke. The Data Grid: Towards an Architecture for the DistributedManagement and Analysis of Large Scientific Datasets. Jrnl. of Network and Computer Applications,2007.23:187-200
[7] Constantinopoulos C, Titsias M K, Likas A. Bayesianfeature and model selection for Gaussianmixture models. IEEE Transactions on Pattern Analysis and MachineIntelligence,2009.28(6):1013-1018
[8] Jing Zhang, Jianmin Wang, Deyi Li, et al. A New Heuristic Reduct Algorithm Base on Rough Sets Theory. LNCS 2762, pp. Berlin:Springer-Verlag,2003:247-253
[9] Griffiths T L, Ghahramani Z. Infinite latent feature modelsand the Indian buffet process. the Advancesin Neural Information Processing Systems. Vancouver,Canada,2006:475-482
[10] I. Foster, C. Kesselman, S. Tuecke. The anatomy of the Grid:Enabling scalable virtual organization. The Intl. Jrnl. of HighPerformance Computing Applications,2009.15(3):200-222
[11] I. Foster. "Globus Toolkit Version 4: Software for Service-Oriented Systems." IFIP Int. Conf. on Network and ParallelComputing, Springer-Verlag LNCS 3779,2006:2-13
[12] J. Frey, T. Tannenbaum, I. Foster, M. Livny, and S. Tuecke.Condor-G: A Computation Management Agent for Multi-Institutional Grids. Cluster Computing,2009.5(3):237-246