2015年第10期 文章编号:1009—2552(2015)10—0046—03 IN)I:10.13274/j.cnki.hdzj.2015.10.012 基于云计算的教学资源共享平台设计 郝丽波 (湖南机电职业技术学院信息工程系,长沙410151) 摘 要:在虚拟云计算环境下开发了一个资源共享平台RSBCC,详细介绍了它的架构、核心模 块、主要功能、设计操作环境和应用。它具有良好的可扩展性,可以提高资源的共享和利用, 适用于计算机科学的教学和研究过程。 关键词:云计算;教学资源;平台 中图分类号:TP393 文献标识码:A Platform design of teaching resource sharing based on cloud computing HA0 Li.bo (Department of Information Engineering,Hunan Mechanical and Electrical Polytechnic,Changsha 410151,China) Abstract:A platform of resource sharing system is developed in virtual cloud computing environment. Its architecture,core modules,main functions,design and operational environment and applications are introduced in this paper in detail.It has good expandability and can improve resource sharing and utilization and is applied to regular computer science teaching and research process. Key words:cloud computing;teaching resource;platform 云计算 是将大量的计算资源存放在由多台 计算机构成的资源池里,用户通过因特网从资源池 里获取自己需要的资源信息的一种计算模式。网络 用户不必知道资源在哪里,也不必知道哪些管理来 支持云计算的设施。它是由分布式处理、并行处理、 网格计算等自然演化发展来的一种计算模式 。 。 随着云计算技术在我国引入,各界针对云计算的基 础设施建设、资源的高效利用及共享性进行了大量 的研究,在此基础上教育云、资源云、企业云等一些 新鲜词汇应运而生。 好的服务 。 大多数的云计算平台是基于虚拟化环境" 。 虚拟化的云计算实验室有四个主要组成部分:(1) 真实的和虚拟化的服务器提供的软件和硬件平台; (2)资源管理节点;(3)数据库服务器;(4)通过网 络访问资源的用户。一般来说,上述所有平台在云 计算中均可称为资源。在本文中,基于云计算的研 究,本文引入了一个云资源共享系统(RSBCC)。 1 平台框架 本文中提出的平台RSBCC,主要考虑下面四种 资源: 对于学校、科研院所和中小型企业而言,降低成 本是非常重要的。例如,在传统的学校的实验室,因 为软件许可证和硬件等等诸多限制,学生或研究人 (1)物理机(PM):PM作为物理计算设备形成 一个数据中心,提供虚拟服务、CPU、存储设备、硬盘 (2)物理集群(PC):一个PC由多个PM通过 员不能够“随时随地”访问许多有用的应用软件和 平台。这个问题可以应用云计算解决,通过虚拟化 和其他资源共享机制,云计算可以大大减少用户的 成本,满足大规模应用的要求。在单一物理计算机 上可以利用虚拟化技术开几个平台(Windows,Linux 设备、网卡等等。 收稿日期:2014—09—22 基金项目:湖南省教育科学规划课题(XJK013CXXO03) 作者简介:郝丽波(1980一),女,硕士,研究方向为工作流、网格、云 计算。 或其他)使资源可以共享,从为更多的用户提供更 46一 使用VMware workstation9创建虚拟平台。 1.5平台的访问 该系统为用户提供了虚拟机和集群资源。如果 用户想要使用这个系统所提供的资源,他/她需要的 只是注册一个帐户登录系统。提交资源的请求后, 用户将得到分配结果,结果显示他需要的虚拟机或 集群的详细信息(如IP,密码,成本等),然后,可以 通过远程访问软件如SSH或Windows远程访问使 用这些资源。访问虚拟集群也是以类似的方式。 2 算法 系统中的数据中心提供后台管理员界面用于管 理调度域和数据中心。调度域管理员必须输入相关 的信息,包括调度中心的IP,域名的数量,类型和算 法。每个调度域有一个独特的号码。点击“提交” 后,这个调度域与相应IP的调度中心连接。 算法1描述了调度域主要的操作,包括处理执 行队列和删除队列的管理过程,更改用户帐户等;算 法2给出超级调度中心用户管理部分源码,它接收 用户的请求并分配与用户请求相匹配的适当的数据 中心(调度域)。 算法1: ∥处理执行队列 1:if(!executeRequest.isEmpty()) 2: { ∥开始之前改变虚拟机的密码 3:if(new Date(System.currentTimeMillis()). after(new Date(executeRequest.peek().getStart- Time().getTime()一1 60;l:1 000))) 4:{ 5:eav.startVm(executeRequest.peek()); ∥从执行队列里面移除请求 6:executeRequest.poll(); 7: }} ∥处理删除队列 8:if(!deleteVmRequest.isEmpty()){ 9:if(new Date(System.currentTimeMillis()). after(deleteVmRequest.peek().getEndTime())) 10:{ 1 1:deletedVmRequestNum++; 12:delVm.deleteVm((deleteVmRequest). peek()); ∥从删除队列中移除请求 1 3:ScheduleDomain.deleteVmRequest.poll(); 14:}} 算法2: 48一 ∥从用户模块接收一个请求 ∥方法getminbalanceleveldia0duyu根据虚拟机 封装的信息得到匹配的调度域 1:DataCentreConDiaoduyu diaoducon=new 2: ManageC0nThread().getMinBalanceLevelDi- aoduyu(vmInfo); ∥向调度域发送请求 3:PrintWriter out=new PrintWriter(diaoducon. getS().getOutputStream(),true); 4: String string=C0nVertT0String.conver— tVmTasklnfo—ToString(vmlnfo); 5:out.println(string); 6:out.flush(); ∥从调度域接收配置结果 ∥类AllocateResultInfo封装了配置结果 7:AllocateResultInfo ari=(AllocateResultInfo) object; ∥类ReceiveVmTaskInfo中的方法sendAlloca— teResult向用户模块发送配置结果 8:new ReceiveVmTaskInfo().sendAllocateRe- sult(ari); 3 平台的应用 RSBCC在一些课程,如软件工程,计算机网络,操 作系统实验,计算导论、云计算机等都有所应用,它为 学生/研究人员提供了虚拟机集群从而可以开展基于 不同平台和网络的实验。一些典型的试验应用包括: (1)练习不同的操作系统或使用虚拟机平台: 例如,操作系统课程中,学生可能需要学习和使用不 同的平台,如Windows,Linux,UNIX等,也有一些软 件是Linux平台下的开源或免费的,学生和研究人 员可以利用虚拟Linux操作系统进行访问。 (2)许多开源云计算平台需要中等或大型计算 资源,但学生/研究人员通常无法访问。然而,RSB— CC通过虚拟化为学生/研究人员提供远程访问 资源。 (3)云存储:今天云存储很受欢迎。学生可以 用RSBCC做点对点存储系统和其他存储实验。 (4)模拟或仿真:学生和研究人员可以利用Rs— BCC进行仿真或模拟,从而对相关算法进行性能 评价。 (5)弹性的Web服务:云计算使弹性计算变成 可能。学生/研究人员可以在RSBCC上根据网络负 载结束语的情况通过增加或减少虚拟机灵活的部署 Web服务。 (下转第52页)