第一章 绪论
1.1 背景
如何利用日益发展的互联网技术改善目前的大学教育成为了当今热议的话题,如何丰富大学生的课余学习手段、如何加强老师与学生课堂内外的沟通、如何根据学生的需求改变大学课堂的着重点等是目前大学教育面临的问题[1][2],用MOOC(Massive Open Online Courses)平台作为大学课余学习的手段确实可以解决一部分问题,但是由于 MOOC 平台为大规模开放式在线课程平台,这意味着在平台上学生无法与平台中的教师获得很好的互动,在校的老师也无法知道学生课余学习的进度,那么大学教育所面临的其他问题不能得到很好的解决[3]。为此,一种小而精悍的在线学习平台孕育而生——SPOC。
在部署 SPOC 教学平台时,由于传统架构难以实现高度可伸缩,难以应对高校高并发量的访问以及硬件资源的高度利用率,并且一所高校一学期所开的课大都在千门课以上,有的综合类大学甚至可以达到一学期开数千门课,如果用传统定制的开发模式开发 SPOC 教学平台,把数千门课放在同一个平台上进行管理,普通的存储架构难以存储如此多的教学资源,必定会对平台的管理和维护产生非常大的影响[4],并且由于高校内每个学院的规模不同、对于平台的功能需求也不同,运用传统定制方法开发的平台难以满足各学院的不同需求。
本课题设计的 SPOC 教学平台结合当前计算机技术的发展潮流,拟采用社区云的部署方案,在高校内部署主机、应用程序及数据库,以 SaaS(软件即服务)的模式,向每个学院提供服务。每个学院以租户的形式入驻 SPOC 教学平台,将高校的几千门课程划分至各个学院,由学院管理员进行管理,即可实现定制角色、定制功能等服务特色。可以极大程度的解决高校使用 SPOC 平台时出现的管理问题、需求问题以及成本问题。
...........................
1.2 国内外研究现状
SPOC 这一概念是由加州大学伯克利分校的阿德曼.福克斯教授最早提出和使用的,他指出 SPOC 的基本形式是在传统的校园内课堂采用 MOOC 的视频讲座以及随堂检测等辅助手段进行教学[5]。最早进行 SPOC 课程实验的是哈佛大学,
是法学院在 edX 平台上开设的“版权法”课程[6],并取得了良好的成效。清华大学将“云计算与软件工程”课程首批投入 SPOC 混合教学当中,通过翻转课堂的教学模式,调动了学生的学习主动性,并且培养了学生自主学习能力 [7]。
由于 SPOC 这一概念提出的较晚,目前国内专业的 SPOC 平台非常少。国内目前比较有名的 SPOC 平台如“知途校园慕课云”,其平台功能可以很好的实现混合教学,但是由于其平台本质上是由 MOOC 平台改进而来,难以融入高校的管理体制,在投入使用时难免会遇到以下问题:
(1)系统适配性差,高校内不同学院对于 SPOC 平台功能需求不一样,需要教学平台支持学院功能定制。
(2)教学资源管理难,高校内课程繁多并且分布复杂,高校需要灵活的管理平台来实现对教学资源的管理[8]。
(3)高校内硬件分布不集中,并且系统的访问压力会随着高校内工作安排变化,难以实现高校硬件资源的高度利用[9]。
本文提出了基于社区云的院校两级管理模式 SPOC 平台,与传统定制开发模式相对比,本系统使用多租户的软件架构使每个学院以租户的身份入驻,可以让每个学院(租户)定制自己所需要的功能,满足不同学院对于平台的不同需求,
并且本平台可以让学院(租户)自己分配平台的管理角色,实现灵活的管理方案[10]。同时系统采用社区云的部署模式既可以实现云计算的高弹性架构便于硬件的横向扩展,又可以使高校内硬件资源获得高效利用[11]。系统部署在由 OpenStack构建的社区云平台上,通过 OpenStack 管理平台上的各种虚拟机,实现高校内的资源取得高效的运用。
..........................
第二章 开发技术介绍及选型
2.1 云计算
云计算是一种抽象化的概念,它将资源在云端集中到一起,对租户提供自助的、按需的、易扩展的计算模式[12]。云计算提供的服务是由一个或多个服务器由软件进行驱动划分出的虚拟硬件所提供的。云计算融合了分布式计算、并行计算、效用计算、网络存储、虚拟化负载均衡等传统计算机和网络技术。云计算与传统计算相比最大的特点为云计算利用了虚拟化技术,将底层的运算资源整合为了一个大的资源池,从而使云计算拥有高度可伸缩、部署成本低、硬件可利用率高等特点并且具有非常高的可靠性与安全性,同时随着目前云计算各种框架的日渐成熟,还具有容易维护与保养的特点。云计算的部署类型分为私有云、公共云、社区云、混合云、分布式云等[13]。本文所讲的“社区云”是构成庞大的“公有云”其中的一部分。是指云计算服务提供商所提供的各种资源包括计算资源、网络资源、软件和服务能力只有该区域特定的成员组织所享用的云计算服务形式。即得益于社区内的网络互通优势、业务需求相近和技术易于集成等特点,云计算提供商更方便整合社区内用户的共性需求,以此提供区域内的各种硬件计算能力以及软件服务的云计算服务模式。
社区云具有以下特点:
(1)社区云下的租户在一个区域内,并且社区云服务于特定行业的租户。
(2)社区云会给租户提供有限的特色应用。
(3)社区云内部硬件资源与软件资源的高效共享。
(4)社区内成员的高度参与性。
...........................
2.2 多租户技术及数据存储模式选型
多租户技术(Multi-tenancy Technology)或称多重租赁技术,是一种软件架构技术,它是在探讨与实现如何于多用户的环境下共用相同的系统或程序组件,并且仍可确保各用户间数据的隔离性[17]。
由于本系统是多个学院(租户)共用一个软件实例,各个学院(租户)使用平台时产生的数据都会存储在一个服务器中,所以如何根据本系统的特点选择合适的多租户数据存储模式是构建一个多租户系统的重点。本系统采用多租户技术主要是用来实现灵活多变的管理方案、学院的功能个性化定制,在此基础上还要实现院校的两级管理。
目前多租户的主流数据存储模式有三种:隔离数据库、共享数据库隔离数据架构以及共享数据库共享数据架构[18][19]。
各存储模式各有优点以及缺点,应结合本系统的特点来选择合适的多租户存储模式。表 2-1 为各个存储模式之间的对比。
.........................
第三章 需求分析 ................................... 10
3.1 系统需求概述 ....................................... 10
3.2 系统目标和解决的问题 ................................ 11
第四章 系统设计与实现 .................................. 19
4.1 社区云平台设计与实现 .................................. 19
4.1.1 社区云平台的硬件部署设计 ................................ 20
4.1.2 社区云的部署详细设计 ................................. 20
第五章 系统界面展示与测试 ............................ 56
5.1 社区云平台搭建 .................................. 56
5.2 系统功能业务实现与界面效果展示 ................................. 57
第五章 系统界面展示与测试
5.1 社区云平台搭建
分别配置好控制节点、网络节点、计算节点及存储节点后,进入 OpenStack 登陆页面输入用户名与密码,进入平台后可以看到系统运行的整体情况,OpenStack 的功能面板包括:系统面板、项目实例、概括、云硬盘、镜像、访问和安全设置、网络设置、对象存储等。
图 5-1 显示已经创建的五台虚拟机的管理概况,图 5-2 则显示了已经创建的网络的管理情况。
......................
总结与展望
基于社区云的院校两级管理 SPOC 教学平台是以设计一款能够适用于高校的 SPOC教学平台,实现混合教学。所以本文以高校使用 SPOC 平台的情景为背景重点分析了高校使用 SPOC 平台的需求,对高校使用 SPOC 平台进行混合教学的各个环节进行了详细的分析,为高校使用 SPOC 平台实现混合教学变为可能。
本文对高校使用 SPOC 平台的功能需求进行分析,设计了基于社区云的院校两级管理 SPOC 教学平台。系统基于当下流行的 SSM 框架进行开发,以 Java 作为开发语言,选用 B/S 结构,用户直接通过浏览器访问系统,并结合 HTML、Java Script、CSS、Ajax等前台技术,实现了一个动态、可交互和高效的平台,为了更好的满足高校使用 SPOC平台的实际需要,采用了社区云的部署模式,每个学院以租户的身份入驻 SPOC 教学平台,让每个学院独立自主的管理自己的学院,并且允许学院定制自己平台的功能,最大程度上解决了高校使用 SPOC 平台管理难的问题,并且学院的个性化定制又满足了不用学院之间使用 SP