莫丽丽
摘 要: 提出了一种基于云存储模型的农业虚拟服务平台架构,用于整合各种农业信息资源,提供统一的海量农业信息存储、高性能计算、软件和数据共享服务。分析、设计了资源申请解析和虚拟资源预留分配两个核心模块,提出了一种树型虚拟资源分配策略算法。给出了原型系统的部署方案。通过实验证明了该体系架构的可行性。
关键词: 云存储; 农业信息化; 服务平台; 虚拟
中图分类号: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