莫麗麗
摘 要: 提出了一種基于云存儲模型的農業虛擬服務平臺架構,用于整合各種農業信息資源,提供統一的海量農業信息存儲、高性能計算、軟件和數據共享服務。分析、設計了資源申請解析和虛擬資源預留分配兩個核心模塊,提出了一種樹型虛擬資源分配策略算法。給出了原型系統的部署方案。通過實驗證明了該體系架構的可行性。
關鍵詞: 云存儲; 農業信息化; 服務平臺; 虛擬
中圖分類號:TP391 文獻標志碼:A 文章編號:1006-8228(2013)08-05-03
0 引言
目前農業信息網絡體系己初步建成,各種農業數據信息呈指數級快速增長,包括:遙感數據、氣象數據、作物生長模擬、數字媒體等方面,數據量已達到PetaByte級,信息存儲維護及數據管理成本也隨之增大,而且農業資源呈現分散、異構、自治等特征,形成了彼此獨立的“信息孤島”[1-2]。隨著數據挖掘、基因分析等農業電子信息領域計算量的增大,使得對硬件的需求量增大,這導致了科研投入的增加。
基于上述農業信息化的特點,可建立一個公共的服務平臺,集中提供各種軟件資源、格式統一的數據存儲、高性能計算,以實現信息共享、節省軟硬件資源、提高利用率,用戶通過登錄服務平臺,便可迅速得到所需的應用環境,而不必考慮資源購置、維護、環境部署等問題。
云存儲是一個以數據存儲和管理為核心的系統,與目前網格計算中因資源分散而易受帶寬及資源供給方不確定因素影響不同[3],其強調存儲及計算資源集中化、規模化。目前云存儲在農業方面還沒有相關的研究及應用[4],本文基于云存儲技術研究一種農業信息虛擬服務平臺架構,研究設計了資源申請解析和虛擬資源分配模塊,提出了基于分類的樹型虛擬資源分配算法,規范了資源的使用并提高了效率,建立了原型系統,通過對資源的分配預留,模擬數據的存儲共享和并行計算的實驗,證明了架構的可行性。
1 云存儲的農業虛擬服務平臺設計
1.1 功能描述
基于云存儲的農業虛擬服務平臺,提供了一個集中海量信息存儲、科學計算、信息共享的空間。
在物理資源方面,用戶使用的不再是現有物理資源,而是借助于平臺VMware、Xen等虛擬化軟件在云端大量商用計算機組成機群[5-7]構建出來的一臺或多臺虛擬服務器,在完成需要的CPU、內存、存儲空間申請后,便可進行存儲、計算、數據共享等工作。
在信息數據方面,可實現同一地點集中存儲,方便信息的管理、信息格式的統一和信息共享。
在軟件資源方面,集合各種軟件資源,建立統一的相互訪問的接口標準,達到易集成、費用低、高性能的效果。
在計算資源方面,根據需求提供虛擬化的CPU、內存及并行計算、云計算服務,節省硬件資源,提高計算速度。
1.2 平臺架構
云存儲的農業虛擬服務平臺是由物理層、基礎層、管理層和訪問層四層組成,其中基礎層和管理層構成系統的云存儲服務平臺體系架構的核心,如圖1所示。
物理層:由服務器集群和存儲陣列集群組成,是平臺最基礎的部分。物理層中的服務、存儲設備由于數量龐大,可分布多不同地域,彼此之間光纖通道網絡連接在一起。
基礎層:通過節點狀態監控模塊、分布式文件管理系統模塊、云計算模塊,實現云存儲中多個存儲設備之間的協同工作,使多個的存儲設備可以對外提供同一種服務,提供高速的數據訪問性和分布式計算能力;通過虛擬機服務模塊的虛擬化技術,整合使用大量的虛擬資源,為用戶提供PaaS(Platform as a Service),SaaS(Software as a Service)服務[8]。通過數據壓縮、加密、備份模塊確保云中數據的私有性、安全性及容錯性。
管理層:解析用戶的資源申請內容,提供公有、私有編程接口及web2.0共享服務,用戶登錄認證及使用權限的管理、云存儲中虛擬資源的預留及分配。
訪問層:分為農業研究機構、農業企事業單位和個人空間三種訪問類型,根據訪問規模,每種類型所擁有的資源訪問和使用權限不同。
1.3 模塊設計
⑴ 資源申請解析模塊
資源申請解析模塊是解釋并執行用戶申請資源腳本的程序。為了減少用戶申請資源的復雜程度,模塊采用插件化設計,關鍵字驅動腳本技術,由服務端建立的功能函數庫將腳本語句逐步分解。
資源申請解析模塊結構如圖2所示,其中驅動和執行是兩個核心部分。驅動部分中,腳本選擇器用來檢查用戶提交命令的正確性,解釋命令并產生執行列表,執行模塊根據列表去執行腳本;控制器根據用戶腳本的需求切換資源環境,并根據腳本列表中的每個腳本的運行時限來控制資源使用時間,把狀態結果發給日志記錄模塊。執行部分將每一個資源申請的結果返回給驅動部分,定義三種結果狀態“PASS、ABORT、FAIL”,把執行過程及結果記錄到日志中。
現有的統一分配、無規則調度等方法不適用于云存儲平臺大規模集中資源的分配,會造成效率偏低、資源使用混亂,因此本文提出一種基于用戶分類的樹型結構資源統計、管理分配算法。
設用戶申請的資源最小單位為Slot,可用一個三元組(C,M,H)表示[9],其中C代表CPU大小,M代表內存總數,H代表硬盤總容量。單個物理服務器可以應用的虛擬資源數為Si。
申請資源可用一個四元組表示為R(D,N,T1,T2),其中D描述申請者的所屬關系,N表示申請資源總數,T1和T2表示資源使用的開始和終止時間。
把云存儲端資源總數N,劃分用戶類型為{R1,R2,…,Ri},每個Ri內按照使用類別不同可劃分成ri個成員,成員可繼續劃分成rij個子成員。
本文設定兩條規則。規則1:資源獲取預留方式為,只有頂層消費實體才能進行資源預留,其子成員只是在邏輯上預留上層資源,那么就形成一個自頂向下資源逐漸分散的樹型結構,如圖3所示;規則2:成員在沒有完全利用預留資源的情況下,借出閑置的剩余資源,給同屬上層實體的同級或下級用戶,在預留資源緊張的情況下也可借入閑置資源。
基于上述架構,如圖4所示,部署客戶端主機一臺用于提交數據即申請計算資源,后端為一臺Linux系統服務器,作為云存儲虛擬服務主機。登錄審查模塊、資源申請解析模塊、虛擬資源預留分配模塊及Web2.0服務模塊為管理層[10],HDFS文件系統及LSF4.0集群作業管理系統為基礎層。HDFS文件系統為開源的大型數據分布式文件系統,LSF4.0為分布式計算公司Platform開源的集群作業管理系統,通過該系統提供的API與資源申請解析模塊和虛擬資源預留分配模塊通信,本文用以管理云存儲端服務器集群及向集群提交作業[11-12]。物理層則由兩組,共100臺服務器組成作為微型云存儲端,并按每個虛擬資源Slot包含(1G CUP,1G內存,20G存儲)劃分虛擬服務資源,根據公式⑵得到虛擬資源總數為200個Slot。
2.2 實驗
實驗重點為:虛擬資源的分配預留功能;數據的存儲、共享功能;資源的動態借入、并行計算功能。
實驗步驟為:
⑴ 分別以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}順序申請預留資源。
⑵ 以R1下層用戶r1登錄,申請30個Slot資源{r1,test,30slot,02:23:00,02:25:00},提交20G數據流分類數據并設置共享。
⑶ 以r1下層用戶r11登錄,申請1個Slot資源{r11,test,1slot,02:23:00,02:24:00},并安裝工具軟件weka對r1提交的20G數據進行數據分類挖掘。
由圖5可以看出R1、R2、R3預留資源成功,R4由于預留資源時間與R1、R2沖突,超出了虛擬資源總數而預留失敗。
圖6為通過Load Runner測試工具,對r11用戶、r1的數據進行數據挖掘計算所生成的負載狀況,采樣間隔時間為20秒,從圖6中可以看出,隨著負載量的加大,r11陸續向其上層節點r1借出8個Slot并行作業,運行3小時后歸還,作業總耗時5小時,這說明數據完成了共享,并實現了資源的借入及使用。
實驗結果顯示原型系統的數據共享、并行計算、虛擬資源管理及分配功能良好,說明云存儲虛擬服務平臺架構是可行的。
3 結束語
本文建立了基于云存儲的農業虛擬服務平臺的構架,設計了資源申請解析和虛擬資源預留分配模塊,提出了虛擬資源分配的策略算法。云存儲、云計算均是新型的計算模式,能夠為面向市場的資源管理方式提供強有力的支持。云存儲與進化計算思想的成功結合拓寬了存儲的應用領域,虛擬資源分配策略算法也為計算的研究進行了新的探索和嘗試。為了更加方便地創建云計算應用,拓展其應用范圍,還需要開發出更容易使用的編程環境和編程工具。總的來說,云計算以其無可比擬的優越性確定了其廣闊的發展前景,本文的研究僅是這一交叉研究領域的開始,如何拓寬算法在優化問題中的應用范圍,以及對算法迭代過程的理論分析,都是今后有意義的研究方向。
參考文獻:
[1] 吳華瑞,孫想,趙春江.農業數據網格化體系研究[J].農業工程學報,2006.22(11):137-139
[2] 張鳳霞,吳華瑞,楊寶祝.基于構件網格的農業專家系統研究[J].計算機工程與設計,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