论文部分内容阅读
[摘 要] 对泛在学习的研究大多集中在理念、网络环境、资源建设等方面,对于服务器端系统基础平台架构的研究较为缺乏。根据泛在学习的特点,提出了“教育云”(Cloud Education,CE)模型,一种基于云计算、具备可扩展、可共享的分布式公共服务基础平台架构模型。详细阐述了CE模型的四个子层功能,运用CSP(Communicating Sequential Processes)描述了各子层间的通信方式,讨论了模型中构建基础平台的关键技术。最后,结合模型仿真展望了CE模型在泛在学习环境中的运用前景。
[关键词] 泛在学习; 云计算; 教育云; CSP; 基础平台架构
[中图分类号] G434 [文献标识码] A
[作者简介] 朱祎(1976—),男,江苏南京人。高级工程师,硕士,主要从事网络教育和计算机网络研究。E-mail:[email protected]。
一、引 言
顾名思义,泛在学习(U-Learning)就是指无时无刻的沟通,无处不在的学习,是一种任何人可以在任何地方、任何时刻获取所需的任何信息的方式。就是利用信息技术提供学生一个可以在任何地方随时使用手边可以取得的科技工具来进行学习活动的4A(Anyone,Anytime,Anywhere,Anydevice)学习。[1]
泛在学习创造智能化的环境让学生充分获取学习信息,所以很多学者都对泛在学习进行了深入研究。但是这些研究基本集中在泛在学习理念、泛在学习网络、泛在学习终端以及教学资源等方面的研究,比较偏重于客户端的应用研究,在服务器端,尤其是系统平台的基础架构的研究上较为缺乏。[2] [3] [4]
泛在学习具备永久性(Permanency)、可获取性(Accessibility)、即时性(Immediacy)、交互性(Interactivity)、教学行为的场景性(Situating of instructional Activities)等特点,其对服务器端系统架构便有如下要求:扩展性、容错性、自服务性、快捷性、支持多种客户端等。显然,传统的互联网上的服务器端系统架构体系无法满足其应用需求。为此,本文提出“教育云”模型,这是一个可扩展、可共享分布式的泛在学习服务器端系统基础平台模型,阐述了“教育云”模型四个子层的功能和子层间的通信方式,期望实现能满足泛在学习随时、随地的访问需求,实现资源共享、提供个性化、智能化学习的目标。
二、“教育云”模型的提出
云计算的定义,一些研究学者从计算模式、分布式计算、虚拟化、可扩展性等方面进行了定义,其中Peter Mell、Tim Grance等人总结了云计算的五大特性,[5]分别为:On-Demand Self-Service,Broad Network access,Resource Pooling Rapid Elasticity,Measured Service,其中Resource Pooling Rapid Elasticity为构建信息化基础平台提供了理论保障。
第二届云计算大会,Amazon、Google、Microsoft、IBM等国际软件巨头,移动、电信、联通等国内运营商都纷纷推出自己的云计算产品和云计算平台,标志着云计算已经从概念争论,转变为产品研究为主,进一步表明云计算将是互联网发展的新趋势。结合泛在学习对网络服务的地域广、层次多、网络优的要求,云计算的分布式虚拟化部署,效用计算、按需服务的特性,本文提出了“教育云”(Cloud Education,CE)模型,如图1所示。“教育云”模型由物理硬件层、虚拟化层、教育中间件层、应用程序接口层和统一管理体系和安全认证体系构成。
物理硬件层是整个模型的基础平台,包含服务器、存储设备、网络设备等。从构架角度,需要在全国各地建立数个数据中心,这些数据中心包含大量高性能、高配置的服务器、大容量的存储和高速的网络出口带宽,这样从拓扑上,整个“教育云”具备先天的、良好的分布式计算特性,完全符合泛在学习的即时性和可获取性的访问要求。
虚拟化层以其动态配置、分发部署、费用计量等可管理特性,[5]对计算、网络、存储资源进行虚拟化,实现云计算五大功能特性。这一层中又分为三个部分:虚拟服务器、虚拟存储、虚拟数据库。虚拟服务器是运用虚拟化技术,在物理服务器上运行多个虚拟服务器,这些虚拟服务器可以根据计算资源自动调配,实现按需计算、高可用性、数据恢复等功能。虚拟存储将是对存储硬件资源进行抽象化表现,这种虚拟化使用户可以与存储资源中大量的物理特性隔绝开来,将存储资源分布到就近的存储硬件上,实现自动复制、避免单点故障等。虚拟数据库结合关系型数据库、分布式数据库和NoSQL等技术,提供一个用于存储、处理和查询结构化数据集的 Web 服务。它并不是传统意义上的关系数据库,而是一个高可用的存储引擎,是云中的非结构化数据存储,可以使用它存储和获取包含键的值。每组包含键的值需要一个唯一的条目名;条目本身划分为域,每个条目可以包含多个键—值对,可以在每个域中对自己的数据集执行查询。
教育中间件层是“教育云”的核心层。教务平台、教学平台、信息交流平台等这些软件平台是整个泛在学习运转的基础应用平台。在“教育云”模型下,这些平台的架构方式与已有平台的架构将完全不同,它们的架构完全依附于虚拟化层,包括普通资源文件、数据库等在内的所有信息文件都通过虚拟化层被分布到各个不同的计算节点上,这样,中间件层上的所有系统就具备天生的共享性、分布式、容错性和高扩展性。
应用程序接口层作用是为整个系统提供可扩展性。没有一个应用系统能满足所有用户的需求,根据泛在学习交互性、主动性的特点,必须提供可扩展的接口,以供今后扩展之用。在这一层除了提供必要的接口之外,还需要能提供托管服务。
目前云计算包括IaaS(Infrastructure as a Service)、PaaS(Platform as a Service)、SaaS(Software as a Service)三个模式。“教育云”模型在应用程序接口层提供SaaS服务为主,在虚拟化层提供PaaS服务为辅,服务流程在下文进行说明。
三、 “教育云”模型的描述
通信顺序进程CSP(Communicating Sequential Processes),是描述通信和并发的演算系统,它以进程作为基本计算单位。[6]CSP通过定义代数运算符(Prefix,Deterministic Choice, Nondeterministic Choice, Interleaving, Interface Parallel, Hiding)和形式语义(Denotational Semantics, Algebraic Semantics, Operational Semantics)来描述进程行为以及进程之间关系的专门术语及算符,具有理论坚实、符号易懂、概念清晰等优点。
为了方便采用CSP对“教育云”模型进行描述,将模型抽取为资源集(Resource Set)、中间件集(Middleware Set)、应用接口集(Application Interface Set)。Resource Set用四元组表示为(REUUID, Server, Storage, Network),其中REUUID是Resource Set在CE模型中唯一标识,Server为Resource Set中所有计算资源,可用六元组表示(ID,IP,Computing Capability,Priority,isHA Description,Remark),Computing capability,priority标识计算资源的计算能力和优先级,isHA是资源实例是否支持High Availability。Storage为Resource set中所有的存储资源,可用六元组表示(ID,IP,Storage Capability, Priority,description,Remark)。Network是Resource set中所有的网络资源,可用八元组表示(ID,Network topological,max Bandwidth,Min Bandwidth,Time delay,Priority,Description,Remark),其中Network topological 表示从网络源节点至网络目的节点的路由路径,Bandwidth,Time Delay,Priority标识网络QoS能力。
Middleware Set用三元组表示(MSUUID,Resource Instance UUID, Platform),MSUUID为教育中间件集标识,Resource Instance UUID是为运行教育中间件集而申请的资源集的某个实例。Platform为教育中间件集中运行的不同的平台,可用六元组表示(ID, IP, Interface Type, Interface Description, Input Parameter, Output Parameter,Remark),通过教育中间件具体的实例为应用接口层提供相应的管理、查询、报表等服务。
Application Interface Set用五元组表示(AISUUID, Middleware Instance UUID, Authentication, Interface, Parameter, Result),Middleware Instance UUID为提供接口服务而申请的中间件集中的某个实例,Interface为应用接口集中对外提供的接口信息,使用WSDL或者XML对部署的接口进行描述。Authentication提供对接口调用者的身份进行集中认证,Parameter, Result为接口调用的参数对象和返回结果对象。
通过对CE模型进行抽象,CE模型可以描述为:CE=(Define, Configuration,Management),其中Define部分包括Resource Set、Middleware Set、Application Interface Set的具体定义,Configuration为CE模型的配置部分,Management为CE模型的管理流程描述。CE模型具体描述如下:
[Define] //定义模型抽象
{(REUUID, Server, Storage, Network){//定义Resource Set
Attribute{
Function Instance(Server, Storage, Network):UUID;
Function getResource(UUID):Resource;
Enum StorageType{FibreChannel, iSCSI, Infiniband, SAS, SATA};
Rset : Resource SET; }
ResourceSet.CSP{ //申请资源,满足则返回实例的UUID
λRset·if(Rset.getServer(Vcpu,mem,priorigy)∧
Rset.getStorage(Capability,pergormance,StorageType)∧
Rset.getNetwork(Bandwidth,Toplogical,Distance)∧
the{return_this.Instance(Server,Storage,Network,isHA)}
else{this.STOP;}
; }}
(MSUUID, Resource instance UUID, Platform)//定义Middleware Set
{Attribute{
Function instance(RsetUUID, platformtype, Platform):UUID;
Function getMiddleware():Middleware;
Function platformInstatnce( ID, IP, Platform type, Platform description, Input parameter, Output parameter, remark):Platform;
Mset : Middleware Set;
Enum platformtype {Instructor, Educational Administration, Educational Resource }}
MiddlewareSet.CSP {
if(Mset.getResourse(UUID∧
Platform.platformInstance())
then{return_this.getInstance(UUID,Platfromtype,Platform)}
else{this.STOP,}}
}
//应用接口集定义与教育中间件集的定义类似}
[Configuration] //配置
{ rsetUUID : Resource set;
msetUUID : Middelware set;
asetUUID : Application interface set;
serverid, storageid, networkid :;
mwid:
appid:;
CONF={(rsetUUID.getResource()/serverid,storageid, networked) (msetUUID.getMiddleware()/mwid) (asetUUID
.getApp()/appid)}}
[Management] //管理流程描述
{(UUID, Company, Application type)//提供Saas服务{
Attribute{ Unit1 : Company;
Function application(unit1,apptype):SAASUUID;
Enum applicationtype {Authentication, person management, Score management, course management, exam management, resource management ……}
{
λthis·if(this.authentication()∧
this.application(unit1,apptype))
then{return_this.instanceSaas();}
else{this.STOP;}
}
//提供PaaS服务与提供SaaS服务类似}
通过对“教育云”模型的抽象和描述,可以定义“教育云”在系统基础平台中的工作流程。
四、“教育云”工作流程
“教育云”模型在应用程序接口层提供SaaS服务,在虚拟化层提供PaaS服务,SaaS服务主要面向多级教学单位提供通用业务平台、API接口等共性服务,如教学平台、教务管理平台和统一认证接口、成绩查询接口、资源共享接口、消息服务接口等等,而PaaS服务提供基于API接口管理的虚拟服务器、虚拟存储、存储数据库的可定制服务。
在泛在学习系统基础平台的建设过程中不论是新业务的开通,还是原来信息平台的整合,都需要充分利用现有教育中间件提供的授权API访问接口,也就是Web服务。目前网络上发布的服务大多都是结构简单、功能单一的服务 (如图2所示),无法满足“教育云”中复杂应用的需要。
为了提供复杂功能的API服务接口,在CE模型中可将若干Web服务进行有机合成,以形成大粒度的具有内部流程逻辑的组合服务,并通过执行组合服务而达到业务目标的过程,(如图3所示)。
CE模型中组合多个Web服务实际上涉及基础应用程序及其功能的集成,按照服务组合方法的动态性程度可以分成静态服务组合(设计时组合)和动态服务组合(运行时组合),[7]静态组合可以分为服务编制(Orchestration)和编排(Choreography)两种方式。
CE模型在应用接口层提供SaaS服务的工作流程,如图4所示。单位用户(办学实体)根据办学的功能需求申请相应的业务平台,开通服务后,自动初始化CE模型中通用的教务、教学、师生等各类资源。业务平台管理实行二级管理,由单位用户维护本单位的业务平台和相关资源。在CE模型中为了提高用户体验,单位用户申请的业务平台映射多个业务平台实例并存放在全国各地多个数据中心(资源集)中,资源集间通过虚拟分布式数据库保持用户数据的一致性。业务平台资源的物理位置对用户透明,由CE模型统一进行调度,CE模型中多数据中心之间的数据一致性和同步也是由CE模型统一管理和监测。
CE模型在教育中间件层提供PaaS服务的工作流程,如图5所示。PaaS服务主要满足单位用户的个性化需求,如发布个性化的移动学习网站、移动成绩查询等。单位用户可以向CE模型申请虚拟服务器、虚拟数据库、虚拟存储服务资源,申请审核通过后,使用API接口进行管理和发布自己的个性化业务平台,与SaaS类似,资源的管理和安全统一由CE模型进行维护和管理。
五、“教育云”中的关键技术
“教育云”模型中的关键技术,主要包括虚拟数据库、应用系统的移植、安全及资源调度管理等问题。
CE模型中需要并发提供大量用户对多种资源的请求,虚拟数据库必须满足低延迟的读写、海量数据存取、大规模集群管理的特性,同时分布式应用能够简单地部署和管理,实现在硬件、软件和人力成本上面能够有大幅度的降低。目前商业环境中使用比较成熟的关系型数据库,因扩展困难、读写慢、使用维护成本高、数据库的容量有限,以及使用修改文件,将数据流和控制流结合的文件管理机制,不利于CE模型中对海量用户的支持,因此在虚拟数据库的选择上,采用NoSQL为主的机制实现虚拟数据库,[8]支持简单的扩展,并发的读写,低廉的成本,在文件末尾追加数据,将数据流和控制流分开的特性,满足“教育云”的发展趋势,但在采用新技术时,同时也要考虑到NoSQL数据库不支持SQL标准,以及现有产品不是很完善的不足,为了应用接口层和中间件层对虚拟数据库的透明性,实现数据库与上层接口之间的接口适配层是关键。
CE模型中应用系统移植问题,现有业务系统的移植也是模型架构的关键问题,业务系统的运行环境,调用接口与CE模型中的调用接口有很多不一致的地方,如Google App Engine提供一套API使用Python或Java来方便用户编写可扩展的应用程序,但仅限Google App Engine范围的有限程序,现存的很多应用程序还不能很方便地运行在Google App Engine。所以需要在CE模型中,需要设计合理的程序调用接口,将现有的应用业务系统直接部署在云环境或者虚拟服务器上,实现现有系统到CE模型的无缝升级。
CE模型中调试算法问题。MapReduce、Dryad、All-pairs等并行处理框架都面向了数据密集型任务,导致了任务调度要和数据副本相结合,设计数据敏感的调度算法。[9]CE模型由众多用户共享,同一时间有大量的任务请求,为了保证服务质量,需要设计简单有效的任务调度策略,Delay Scheduling虽然简单,但是牺牲了公平性,而且不能很好保证任务的makespan,而Quincy过于复杂,不适用于大批量的任务的快速调度;再次,由于计算节点不稳定,导致某些任务会失败,上述并行处理模型的任务完成时间取决于该任务的子任务中最晚完成的任务的完成时间,所以需要设计出尽早发现异常任务、有效的重调度机制;最后由于CE模型中数据分析处理往往需要结合具体的工作流才能完成,如何协调多个工作流之间的公平性、对数据块的竞争、工作流内部的数据调度,也是今后需要研究的内容。
CE模型的安全问题,模型中不仅存在传统的安全问题,如钓鱼、机器损坏、数据丢失、弱口令、成为僵尸网络的平台,还带来了很多新问题:(1)不仅数据需要被保护而且用户活动的行为模式也要被保护; (2)因为云是由多层服务构成的,从用户到各层服务提供商要建立很长信任链;(3)云计算的参与者有可能是恶意的; (4)由于云中的角色很多,所以要建立相互审计机制;(5)建立CE模型发生错误时的应急方案。[10]在CE模型中,数据存放在分布的资源集中,由许多用户共享,传统的加密的控制方式需要花费很大的计算开销,而且密钥发布和细粒度的访问控制都不适合大规模的数据管理。在CE模型中提供可靠的、安全的访问控制和隐私保证将是CE模型安全体系的重要组成部分。
六、实验仿真
目前云计算产品主要有IBM蓝云、亚马逊Amazon EC2、谷歌Google App Engine、微软Windows Azure,云仿真器主要有CloudSIM。为了模拟公共服务基础平台中基于CE模型信息化基础平台,现有的云计算环境只能模拟应用接口层和中间件层,而不能模拟关键的虚拟化层。为解决此问题,我们采用Oracle的OVM(Oracle Virtual Machine)虚拟化平台(如图6所示),基于万兆校园网、刀片服务器、多业务平台和集群文件系统,仿真CE模型中的SaaS、PaaS运行机制。实现虚拟资源池,虚拟服务器,虚拟存储的创建、复制、共享及动态迁移等虚拟化功能,并成功构建在线平台、数据库服务、邮件服务、Web服务、信息发布服务等多项中间件业务,同时还提供身份认证、短信网关等基于WebService的API web服务功能(如图7所示)。
七、结束语
本文描述了“教育云”模型中物理硬件层、虚拟化层、教育中间件层和应用接口层四个子层功能和工作流程,讨论了模型中构建基础平台相关的虚拟数据库、应用系统的移植、安全及资源调度管理等关键技术,通过在校园网环境对 “教育云”模型的模拟仿真和实验,验证了CE模型在泛在学习服务器端系统基础平台建设中的可行性。“教育云”模型的安全和管理还需要进一步研究和探讨,期望实现泛在学习环境下信息、资源共享,可提供个性化、智能化学习的目标。
[参考文献]
[1] 李卢一,郑燕林.泛在学习环境的概念模型[J].中国电化教育,2006,(12):9~12.
[2] 王民,顾小清,李雪,肖君.支持泛在学习的资源、服务及其门户设计[J].开放教育研究,2009,(2):21~26.
[3] 赵海兰.支持泛在学习(u-Learning)环境的关键技术分析[J].中国电化教育,2007,(7):99~103.
[4] 余胜泉,杨现民,程罡.泛在学习环境中的学习资源设计与共享[J].开放教育研究,2009,(2):47~53.
[5] Wang, L.Z., G. von Laszewski, D. Chen, et al. Provide Virtual Machine Information for Grid Computing[J].Ieee Transactions on Systems Man and Cybernetics Part a-Systems and Humans, 2010,40(6):1362~1374.
[6] Hoare, C.A.R. Communicating Sequential Processes[EB/OL].http://www.usingcsp.com/cspbook.pdf. 2004.
[7] Chang, H.,K. Lee. A Quality-Driven Web Service Composition Methodology for Ubiquitous Services[J].Journal of Information Science and Engineering, 2010,26(6):1957~1971.
[8] Stonebraker, M. SQL Databases v. NoSQL Databases Reply[J].Communications of the Acm, 2010,(4):10~11.
[9] Yuan, Y.L., Y.W. Wu, X.A. Feng, et al. VDB-MR: MapReduce-based Bistributed Data Integration Using Virtual Database[J].Future Generation Computer Systems-the International Journal of Grid Computing-Theory Methods and Applications, 2010,26(8):1418~1425.
[10] Anthes, G. Security in the Cloud[J].Communications of the Acm, 2010,53(11):16~18.
[关键词] 泛在学习; 云计算; 教育云; CSP; 基础平台架构
[中图分类号] G434 [文献标识码] A
[作者简介] 朱祎(1976—),男,江苏南京人。高级工程师,硕士,主要从事网络教育和计算机网络研究。E-mail:[email protected]。
一、引 言
顾名思义,泛在学习(U-Learning)就是指无时无刻的沟通,无处不在的学习,是一种任何人可以在任何地方、任何时刻获取所需的任何信息的方式。就是利用信息技术提供学生一个可以在任何地方随时使用手边可以取得的科技工具来进行学习活动的4A(Anyone,Anytime,Anywhere,Anydevice)学习。[1]
泛在学习创造智能化的环境让学生充分获取学习信息,所以很多学者都对泛在学习进行了深入研究。但是这些研究基本集中在泛在学习理念、泛在学习网络、泛在学习终端以及教学资源等方面的研究,比较偏重于客户端的应用研究,在服务器端,尤其是系统平台的基础架构的研究上较为缺乏。[2] [3] [4]
泛在学习具备永久性(Permanency)、可获取性(Accessibility)、即时性(Immediacy)、交互性(Interactivity)、教学行为的场景性(Situating of instructional Activities)等特点,其对服务器端系统架构便有如下要求:扩展性、容错性、自服务性、快捷性、支持多种客户端等。显然,传统的互联网上的服务器端系统架构体系无法满足其应用需求。为此,本文提出“教育云”模型,这是一个可扩展、可共享分布式的泛在学习服务器端系统基础平台模型,阐述了“教育云”模型四个子层的功能和子层间的通信方式,期望实现能满足泛在学习随时、随地的访问需求,实现资源共享、提供个性化、智能化学习的目标。
二、“教育云”模型的提出
云计算的定义,一些研究学者从计算模式、分布式计算、虚拟化、可扩展性等方面进行了定义,其中Peter Mell、Tim Grance等人总结了云计算的五大特性,[5]分别为:On-Demand Self-Service,Broad Network access,Resource Pooling Rapid Elasticity,Measured Service,其中Resource Pooling Rapid Elasticity为构建信息化基础平台提供了理论保障。
第二届云计算大会,Amazon、Google、Microsoft、IBM等国际软件巨头,移动、电信、联通等国内运营商都纷纷推出自己的云计算产品和云计算平台,标志着云计算已经从概念争论,转变为产品研究为主,进一步表明云计算将是互联网发展的新趋势。结合泛在学习对网络服务的地域广、层次多、网络优的要求,云计算的分布式虚拟化部署,效用计算、按需服务的特性,本文提出了“教育云”(Cloud Education,CE)模型,如图1所示。“教育云”模型由物理硬件层、虚拟化层、教育中间件层、应用程序接口层和统一管理体系和安全认证体系构成。
物理硬件层是整个模型的基础平台,包含服务器、存储设备、网络设备等。从构架角度,需要在全国各地建立数个数据中心,这些数据中心包含大量高性能、高配置的服务器、大容量的存储和高速的网络出口带宽,这样从拓扑上,整个“教育云”具备先天的、良好的分布式计算特性,完全符合泛在学习的即时性和可获取性的访问要求。
虚拟化层以其动态配置、分发部署、费用计量等可管理特性,[5]对计算、网络、存储资源进行虚拟化,实现云计算五大功能特性。这一层中又分为三个部分:虚拟服务器、虚拟存储、虚拟数据库。虚拟服务器是运用虚拟化技术,在物理服务器上运行多个虚拟服务器,这些虚拟服务器可以根据计算资源自动调配,实现按需计算、高可用性、数据恢复等功能。虚拟存储将是对存储硬件资源进行抽象化表现,这种虚拟化使用户可以与存储资源中大量的物理特性隔绝开来,将存储资源分布到就近的存储硬件上,实现自动复制、避免单点故障等。虚拟数据库结合关系型数据库、分布式数据库和NoSQL等技术,提供一个用于存储、处理和查询结构化数据集的 Web 服务。它并不是传统意义上的关系数据库,而是一个高可用的存储引擎,是云中的非结构化数据存储,可以使用它存储和获取包含键的值。每组包含键的值需要一个唯一的条目名;条目本身划分为域,每个条目可以包含多个键—值对,可以在每个域中对自己的数据集执行查询。
教育中间件层是“教育云”的核心层。教务平台、教学平台、信息交流平台等这些软件平台是整个泛在学习运转的基础应用平台。在“教育云”模型下,这些平台的架构方式与已有平台的架构将完全不同,它们的架构完全依附于虚拟化层,包括普通资源文件、数据库等在内的所有信息文件都通过虚拟化层被分布到各个不同的计算节点上,这样,中间件层上的所有系统就具备天生的共享性、分布式、容错性和高扩展性。
应用程序接口层作用是为整个系统提供可扩展性。没有一个应用系统能满足所有用户的需求,根据泛在学习交互性、主动性的特点,必须提供可扩展的接口,以供今后扩展之用。在这一层除了提供必要的接口之外,还需要能提供托管服务。
目前云计算包括IaaS(Infrastructure as a Service)、PaaS(Platform as a Service)、SaaS(Software as a Service)三个模式。“教育云”模型在应用程序接口层提供SaaS服务为主,在虚拟化层提供PaaS服务为辅,服务流程在下文进行说明。
三、 “教育云”模型的描述
通信顺序进程CSP(Communicating Sequential Processes),是描述通信和并发的演算系统,它以进程作为基本计算单位。[6]CSP通过定义代数运算符(Prefix,Deterministic Choice, Nondeterministic Choice, Interleaving, Interface Parallel, Hiding)和形式语义(Denotational Semantics, Algebraic Semantics, Operational Semantics)来描述进程行为以及进程之间关系的专门术语及算符,具有理论坚实、符号易懂、概念清晰等优点。
为了方便采用CSP对“教育云”模型进行描述,将模型抽取为资源集(Resource Set)、中间件集(Middleware Set)、应用接口集(Application Interface Set)。Resource Set用四元组表示为(REUUID, Server, Storage, Network),其中REUUID是Resource Set在CE模型中唯一标识,Server为Resource Set中所有计算资源,可用六元组表示(ID,IP,Computing Capability,Priority,isHA Description,Remark),Computing capability,priority标识计算资源的计算能力和优先级,isHA是资源实例是否支持High Availability。Storage为Resource set中所有的存储资源,可用六元组表示(ID,IP,Storage Capability, Priority,description,Remark)。Network是Resource set中所有的网络资源,可用八元组表示(ID,Network topological,max Bandwidth,Min Bandwidth,Time delay,Priority,Description,Remark),其中Network topological 表示从网络源节点至网络目的节点的路由路径,Bandwidth,Time Delay,Priority标识网络QoS能力。
Middleware Set用三元组表示(MSUUID,Resource Instance UUID, Platform),MSUUID为教育中间件集标识,Resource Instance UUID是为运行教育中间件集而申请的资源集的某个实例。Platform为教育中间件集中运行的不同的平台,可用六元组表示(ID, IP, Interface Type, Interface Description, Input Parameter, Output Parameter,Remark),通过教育中间件具体的实例为应用接口层提供相应的管理、查询、报表等服务。
Application Interface Set用五元组表示(AISUUID, Middleware Instance UUID, Authentication, Interface, Parameter, Result),Middleware Instance UUID为提供接口服务而申请的中间件集中的某个实例,Interface为应用接口集中对外提供的接口信息,使用WSDL或者XML对部署的接口进行描述。Authentication提供对接口调用者的身份进行集中认证,Parameter, Result为接口调用的参数对象和返回结果对象。
通过对CE模型进行抽象,CE模型可以描述为:CE=(Define, Configuration,Management),其中Define部分包括Resource Set、Middleware Set、Application Interface Set的具体定义,Configuration为CE模型的配置部分,Management为CE模型的管理流程描述。CE模型具体描述如下:
[Define] //定义模型抽象
{(REUUID, Server, Storage, Network){//定义Resource Set
Attribute{
Function Instance(Server, Storage, Network):UUID;
Function getResource(UUID):Resource;
Enum StorageType{FibreChannel, iSCSI, Infiniband, SAS, SATA};
Rset : Resource SET; }
ResourceSet.CSP{ //申请资源,满足则返回实例的UUID
λRset·if(Rset.getServer(Vcpu,mem,priorigy)∧
Rset.getStorage(Capability,pergormance,StorageType)∧
Rset.getNetwork(Bandwidth,Toplogical,Distance)∧
the{return_this.Instance(Server,Storage,Network,isHA)}
else{this.STOP;}
; }}
(MSUUID, Resource instance UUID, Platform)//定义Middleware Set
{Attribute{
Function instance(RsetUUID, platformtype, Platform):UUID;
Function getMiddleware():Middleware;
Function platformInstatnce( ID, IP, Platform type, Platform description, Input parameter, Output parameter, remark):Platform;
Mset : Middleware Set;
Enum platformtype {Instructor, Educational Administration, Educational Resource }}
MiddlewareSet.CSP {
if(Mset.getResourse(UUID∧
Platform.platformInstance())
then{return_this.getInstance(UUID,Platfromtype,Platform)}
else{this.STOP,}}
}
//应用接口集定义与教育中间件集的定义类似}
[Configuration] //配置
{ rsetUUID : Resource set;
msetUUID : Middelware set;
asetUUID : Application interface set;
serverid, storageid, networkid :
mwid:
appid:
CONF={(rsetUUID.getResource()/serverid,storageid, networked) (msetUUID.getMiddleware()/mwid) (asetUUID
.getApp()/appid)}}
[Management] //管理流程描述
{(UUID, Company, Application type)//提供Saas服务{
Attribute{ Unit1 : Company;
Function application(unit1,apptype):SAASUUID;
Enum applicationtype {Authentication, person management, Score management, course management, exam management, resource management ……}
{
λthis·if(this.authentication()∧
this.application(unit1,apptype))
then{return_this.instanceSaas();}
else{this.STOP;}
}
//提供PaaS服务与提供SaaS服务类似}
通过对“教育云”模型的抽象和描述,可以定义“教育云”在系统基础平台中的工作流程。
四、“教育云”工作流程
“教育云”模型在应用程序接口层提供SaaS服务,在虚拟化层提供PaaS服务,SaaS服务主要面向多级教学单位提供通用业务平台、API接口等共性服务,如教学平台、教务管理平台和统一认证接口、成绩查询接口、资源共享接口、消息服务接口等等,而PaaS服务提供基于API接口管理的虚拟服务器、虚拟存储、存储数据库的可定制服务。
在泛在学习系统基础平台的建设过程中不论是新业务的开通,还是原来信息平台的整合,都需要充分利用现有教育中间件提供的授权API访问接口,也就是Web服务。目前网络上发布的服务大多都是结构简单、功能单一的服务 (如图2所示),无法满足“教育云”中复杂应用的需要。
为了提供复杂功能的API服务接口,在CE模型中可将若干Web服务进行有机合成,以形成大粒度的具有内部流程逻辑的组合服务,并通过执行组合服务而达到业务目标的过程,(如图3所示)。
CE模型中组合多个Web服务实际上涉及基础应用程序及其功能的集成,按照服务组合方法的动态性程度可以分成静态服务组合(设计时组合)和动态服务组合(运行时组合),[7]静态组合可以分为服务编制(Orchestration)和编排(Choreography)两种方式。
CE模型在应用接口层提供SaaS服务的工作流程,如图4所示。单位用户(办学实体)根据办学的功能需求申请相应的业务平台,开通服务后,自动初始化CE模型中通用的教务、教学、师生等各类资源。业务平台管理实行二级管理,由单位用户维护本单位的业务平台和相关资源。在CE模型中为了提高用户体验,单位用户申请的业务平台映射多个业务平台实例并存放在全国各地多个数据中心(资源集)中,资源集间通过虚拟分布式数据库保持用户数据的一致性。业务平台资源的物理位置对用户透明,由CE模型统一进行调度,CE模型中多数据中心之间的数据一致性和同步也是由CE模型统一管理和监测。
CE模型在教育中间件层提供PaaS服务的工作流程,如图5所示。PaaS服务主要满足单位用户的个性化需求,如发布个性化的移动学习网站、移动成绩查询等。单位用户可以向CE模型申请虚拟服务器、虚拟数据库、虚拟存储服务资源,申请审核通过后,使用API接口进行管理和发布自己的个性化业务平台,与SaaS类似,资源的管理和安全统一由CE模型进行维护和管理。
五、“教育云”中的关键技术
“教育云”模型中的关键技术,主要包括虚拟数据库、应用系统的移植、安全及资源调度管理等问题。
CE模型中需要并发提供大量用户对多种资源的请求,虚拟数据库必须满足低延迟的读写、海量数据存取、大规模集群管理的特性,同时分布式应用能够简单地部署和管理,实现在硬件、软件和人力成本上面能够有大幅度的降低。目前商业环境中使用比较成熟的关系型数据库,因扩展困难、读写慢、使用维护成本高、数据库的容量有限,以及使用修改文件,将数据流和控制流结合的文件管理机制,不利于CE模型中对海量用户的支持,因此在虚拟数据库的选择上,采用NoSQL为主的机制实现虚拟数据库,[8]支持简单的扩展,并发的读写,低廉的成本,在文件末尾追加数据,将数据流和控制流分开的特性,满足“教育云”的发展趋势,但在采用新技术时,同时也要考虑到NoSQL数据库不支持SQL标准,以及现有产品不是很完善的不足,为了应用接口层和中间件层对虚拟数据库的透明性,实现数据库与上层接口之间的接口适配层是关键。
CE模型中应用系统移植问题,现有业务系统的移植也是模型架构的关键问题,业务系统的运行环境,调用接口与CE模型中的调用接口有很多不一致的地方,如Google App Engine提供一套API使用Python或Java来方便用户编写可扩展的应用程序,但仅限Google App Engine范围的有限程序,现存的很多应用程序还不能很方便地运行在Google App Engine。所以需要在CE模型中,需要设计合理的程序调用接口,将现有的应用业务系统直接部署在云环境或者虚拟服务器上,实现现有系统到CE模型的无缝升级。
CE模型中调试算法问题。MapReduce、Dryad、All-pairs等并行处理框架都面向了数据密集型任务,导致了任务调度要和数据副本相结合,设计数据敏感的调度算法。[9]CE模型由众多用户共享,同一时间有大量的任务请求,为了保证服务质量,需要设计简单有效的任务调度策略,Delay Scheduling虽然简单,但是牺牲了公平性,而且不能很好保证任务的makespan,而Quincy过于复杂,不适用于大批量的任务的快速调度;再次,由于计算节点不稳定,导致某些任务会失败,上述并行处理模型的任务完成时间取决于该任务的子任务中最晚完成的任务的完成时间,所以需要设计出尽早发现异常任务、有效的重调度机制;最后由于CE模型中数据分析处理往往需要结合具体的工作流才能完成,如何协调多个工作流之间的公平性、对数据块的竞争、工作流内部的数据调度,也是今后需要研究的内容。
CE模型的安全问题,模型中不仅存在传统的安全问题,如钓鱼、机器损坏、数据丢失、弱口令、成为僵尸网络的平台,还带来了很多新问题:(1)不仅数据需要被保护而且用户活动的行为模式也要被保护; (2)因为云是由多层服务构成的,从用户到各层服务提供商要建立很长信任链;(3)云计算的参与者有可能是恶意的; (4)由于云中的角色很多,所以要建立相互审计机制;(5)建立CE模型发生错误时的应急方案。[10]在CE模型中,数据存放在分布的资源集中,由许多用户共享,传统的加密的控制方式需要花费很大的计算开销,而且密钥发布和细粒度的访问控制都不适合大规模的数据管理。在CE模型中提供可靠的、安全的访问控制和隐私保证将是CE模型安全体系的重要组成部分。
六、实验仿真
目前云计算产品主要有IBM蓝云、亚马逊Amazon EC2、谷歌Google App Engine、微软Windows Azure,云仿真器主要有CloudSIM。为了模拟公共服务基础平台中基于CE模型信息化基础平台,现有的云计算环境只能模拟应用接口层和中间件层,而不能模拟关键的虚拟化层。为解决此问题,我们采用Oracle的OVM(Oracle Virtual Machine)虚拟化平台(如图6所示),基于万兆校园网、刀片服务器、多业务平台和集群文件系统,仿真CE模型中的SaaS、PaaS运行机制。实现虚拟资源池,虚拟服务器,虚拟存储的创建、复制、共享及动态迁移等虚拟化功能,并成功构建在线平台、数据库服务、邮件服务、Web服务、信息发布服务等多项中间件业务,同时还提供身份认证、短信网关等基于WebService的API web服务功能(如图7所示)。
七、结束语
本文描述了“教育云”模型中物理硬件层、虚拟化层、教育中间件层和应用接口层四个子层功能和工作流程,讨论了模型中构建基础平台相关的虚拟数据库、应用系统的移植、安全及资源调度管理等关键技术,通过在校园网环境对 “教育云”模型的模拟仿真和实验,验证了CE模型在泛在学习服务器端系统基础平台建设中的可行性。“教育云”模型的安全和管理还需要进一步研究和探讨,期望实现泛在学习环境下信息、资源共享,可提供个性化、智能化学习的目标。
[参考文献]
[1] 李卢一,郑燕林.泛在学习环境的概念模型[J].中国电化教育,2006,(12):9~12.
[2] 王民,顾小清,李雪,肖君.支持泛在学习的资源、服务及其门户设计[J].开放教育研究,2009,(2):21~26.
[3] 赵海兰.支持泛在学习(u-Learning)环境的关键技术分析[J].中国电化教育,2007,(7):99~103.
[4] 余胜泉,杨现民,程罡.泛在学习环境中的学习资源设计与共享[J].开放教育研究,2009,(2):47~53.
[5] Wang, L.Z., G. von Laszewski, D. Chen, et al. Provide Virtual Machine Information for Grid Computing[J].Ieee Transactions on Systems Man and Cybernetics Part a-Systems and Humans, 2010,40(6):1362~1374.
[6] Hoare, C.A.R. Communicating Sequential Processes[EB/OL].http://www.usingcsp.com/cspbook.pdf. 2004.
[7] Chang, H.,K. Lee. A Quality-Driven Web Service Composition Methodology for Ubiquitous Services[J].Journal of Information Science and Engineering, 2010,26(6):1957~1971.
[8] Stonebraker, M. SQL Databases v. NoSQL Databases Reply[J].Communications of the Acm, 2010,(4):10~11.
[9] Yuan, Y.L., Y.W. Wu, X.A. Feng, et al. VDB-MR: MapReduce-based Bistributed Data Integration Using Virtual Database[J].Future Generation Computer Systems-the International Journal of Grid Computing-Theory Methods and Applications, 2010,26(8):1418~1425.
[10] Anthes, G. Security in the Cloud[J].Communications of the Acm, 2010,53(11):16~18.