覃 艳*
(四川科技职工大学 信息与管理工程系,成都 610101)
云计算[1-4]是分布式处理、并行处理和网格计算的进一步发展,使数据存储在互联网的数据终端,将软件和相关服务形成互联网中的共享资源,并且构建在各种标准和协议之上,并通过各种硬件设备可以获取相关的服务。云计算提供了按需通过互联网或局域网提供软件和应用程序的平台[5-6]。Google App Engine、IBM的蓝云、亚马逊弹性计算云(EC2)和微软 Azure[7-9]都是新兴的云计算平台。将抽象的复杂性进行隐藏、有效利用分布式资源和虚拟资源是云计算的优势[10]。当前,云计算仍然被认为处于起步阶段,有许多具有挑战性的问题等待解决[11]。本文通过云计算开发网络教学资源平台的设计思想是平台即服务(PaaS),该平台适用于真实和虚拟的云计算环境,并实现了用户管理、资源管理和教学资源的远程访问[12-13]。
在传统学校实验室,由于软件许可证和硬件的限制,许多应用软件和平台无法被学生和研究人员“随时随地”地访问[14]。云计算通过使用虚拟化技术使得在一个物理机器(Windows、Linux或其他)上的一些平台得以开放,以更好地和更多地为用户提供共享资源[15]。
大多数云计算平台由4个部分构成:1)软件和硬件平台提供真实和虚拟服务器;2)资源管理节点;3)数据库服务器;4)用户通过互联网或局域网访问资源。
本文通过介绍一个基于云计算的网络教学资源共享平台(NTRP),提出在高校教育中应推进NTRP平台建设,并给出了该平台的主要设计方法和特性,以及该平台为学生和教师提供的典型应用。
NTRP平台主要考虑4种类型的资源:1)物理机器(PM):由物理计算设备形成一个数据中心,一个PM可以提供多个虚拟服务器和并由多个CPU、内存、硬盘、网卡等组成。2)物理集群(PC):一个物理集群由PM结合必要的网络和存储基础设施组成的。3)虚拟机(VM):一个VM是一个物理机器上的通过虚拟化软件实现的虚拟计算平台,它由很多的虚拟设备(CPU、硬盘、网络卡等)组成。4)虚拟集群(VC):一个VC是由VM结合必要的网络和存储基础设施组成的。
NTRP平台建设中主要有4个角色:1)资源用户(虚拟机用户);2)策略管理员;3)域管理员;4)信息管理员。
资源用户是指最终用户使用该系统的资源(包括虚拟机和集群)。用户可预订VM和集群、管理虚拟机和虚拟机集群等。策略管理员、域管理员和信息管理员都是该系统的后台管理员。策略管理员管理调度策略在调度域中。域管理员管理调度域在系统中。信息管理员管理整个系统的信息资源。
在NTRP系统中,有多个数据中心和多个调度域在其定义的域内执行指定的调度算法,其云计算架构图如图1所示。
1)用户请求:用户通过互联网发起一个请求。2)调度分配:根据用户的身份(如地理位置等)和业务特点(数量和质量需求),超级调度中心将请求提交到相应的数据中心,数据中心再将网络教学资源管理平台的相关任务提交到相应的调度域。在调度域内,某种调度算法被执行并向相应的请求进行资源分配。3)调度:图1中3、4执行调度任务和部署资源。4)后端优化:在图1中5后端调度中心进行网络教学资源平台的优化,并在各种资源对应的不同数据中心的基础上进行目标函数的优化,在一个数据中心中会进行多个调度域逻辑的定义。更新设备或资源的使用状态,对相关信息进行重新配置以备后面的服务和进程使用。
图1 NTRP架构
图2为网络教学资源平台交互系统的核心模块,主要包括:1)调度系统,包括超级调度中心、调度域。2)调度中心。超级调度中心负责管理调度域和调度策略,并将任务分配到相应的特定的数据中心。调度策略管理包括策略的添加、删除、查询和更新;调度域管理包括调度域的创建、删除、查询、更新和优化,任务分配模块根据用户请求的特点将调度任务分发到适当的调度域。超级调度中心从调度域接收最新的调度信息和资源动态更新信息。3)调度域1~N。调度域是一个执行调度算法的逻辑/功能模块。不同的调度域可以执行不同的调度算法,它包含一个任务队列、一个调度算法和与之相关的资源信息。4)算法执行模块。调度域从调度系统接收任务,并把这些任务放在相应的队列上。算法执行模块按优先级选择任务,考虑资源的可用性、输出调度步骤(包括创建虚拟机(vm)、迁移虚拟机(vm)等)。5)调度模块,接收调度算法的输出模块并执行调度任务。
图2 NTRP核心模块之间的交互图
本节对调度域中的主要操作算法进行研究,给出2种调度域中的操作算法的伪代码。
算法1:调度域中的主要操作
算法2:超级调度中心中用户管理的部分源节点操作
算法1提供了调度域中的主要业务,包括处理执行队列和删除队列、改变用户账户等;算法2实现通过匹配用户请求和调度域中的调度算法,使得超级用户管理调度中心中的部分源代码能接收用户请求并被分发给适当的数据中心(调度域)。
图3 系统运行的网络结构图
图3 为系统运行的网络结构,包括一个超级调度中心和多个数据中心。超级调度中心可以是一个高性能的服务器,数据中心包括电脑、虚拟软件和网络设备,它们处于同一个局域网或广域网中。创建虚拟平台进行系统开发涉及的资源包括:Apache web服务器、MySQL数据库服务器、OpenSSH远程访问工具和VMWare工作站5.5。
系统与多个数据中心相连以便后台管理员管理调度域接口和数据中心。每个调度域都有唯一的编号,如表1所示。调度域管理员输入相关信息(包括调度中心IP域数量、类型和算法)后点击“提交”,该调度域将通过相应的IP连接到调度中心。调度域中的超级调度中心的界面将显示所有信息,包括调度策略、算法和连接状态等。
表1 超级调度中心调度域的管理
由表2可知,调度域2连接到超级调度中心的类型是高性能的。超级调度中心在收到用户的请求后,将它们发送到可以请求相关类型的连接调度域之后,通过调度域算法的执行为用户分配虚拟机或集群。分配结果通过超级调度中心发送到最终用户。表2和表3显示数据中心和机器的所有可能名单。超级调度中心可以管理上面提到的所有设施,如调度域、数据中心和相关机器(进行添加、删除和更新等操作)。
表2 数据中心列表
表3 机器列表
本文研究了一个虚拟的基础设施资源共享的云计算网络教学资源管理平台。该平台有很好的可扩展性,可以提高网络教学资源的共享和利用。仍有一些问题需要进一步研究:对开发的平台进行绩效评估;发展更多的调度策略和算法,提供不同的调度算法的典型性能指标;在分布式环境中进行负载和压力测试等。在未来,我们将对框架进行扩展,使其包括软件和硬件平台的镜像、负载平衡和资源的自动配置,以便系统可以应用在大规模、分布式环境。
[1]邢丽刃,徐博.基于云计算的网络教学资源平台建设研究[J].武汉大学学报:理学版,2012(S1):166-168.
[2]王威达.基于云计算的教学资源平台建设研究[J].软件导刊:教育技术,2012(9):55-56.
[3]马钦,赵新光,陈洪.基于云计算的移动智能网基础设施架构优化[J].华中科技大学学报:自然科学版,2012(S1):349-353.
[4]刘越.云计算综述与移动云计算的应用研究[J].信息通信技术,2010(2):16-22.
[5]王玉芬,郭晓娟.云计算对高校教学资源影响解析[J].实验技术与管理,2010(5):118-120.
[6]张向阳.基于云计算的教学资源平台构架与应用功能研究[J].煤炭技术,2012,31(1):239-241.
[7]VAQUERO L M.EduCloud:PaaS versus iaaS cloud usage for an advanced computer science course[J].IEEE Transactions on Education,2011,54(4):590-598.
[8]TIAN W,SUN X,JIANG Y,elta.CRESS_A platform of infrastructure resource sharing for educational cloud computing [J]. China Communications,2013(9):43-52.
[9]LIU C.School-based teaching resources integration in the elearning platform[J].IERI Procedia,2012:247-252.
[10]王庆波.云计算实践之道:战略蓝图与技术架构[M].北京:电子工业出版社,2011.
[11]周瑜龙.基于云计算的大学教学资源整合模型优化研究[J].科技通报,2013(7):209-211.
[12]王晶,方伟,陈静怡,等.云计算环境下的自适应资源管理技术综述[J].计算机工程与设计,2012(6):35-40.
[13]张熔,杜杨,郭俊文.基于云计算的工商办公自动化系统的设计与实现[J].计算机应用,2012(S1):202-204.
[14]HOLAGER S,STEFAN W.Requirements engineering for cloud computing[J].Journal of Communication and Computer,2011,8(9):707-715.
[15]王慧.Privacy-Preserving Data Sharing in Cloud Computing[J].计算机科学技术学报:英文版,2010(3):401-404.