胡安明 陈惠娥
摘 要:随着信息化教学的推进,高校在信息化教学的发展和进步,已积累大量课程资源和课程数据,如何在这些课程资源数据进行有效存储管理,并在此基础上挖掘出有意义的数据,对课程资源进行关联归类,形成课程体系智慧学习,成为目前高校课程大数据的主要研究对象。文章以高校计算机类课程为基础,搭建Hadoop集群环境,研究基于Hadoop平台的课程云平台,为高校课程信息化建设提供方案。
关键词:Hadoop;课程云平台;智慧学习
近年来随着互联网技术,云计算技术,大数据技术,物联网技术等各方面的迅速发展,各个行业已经进入大数据的信息化时代。大数据技术逐渐以应用为中心的信息化系统转变为以数据为中心,大数据提供大规模数据的存储、管理、处理、挖掘等技术,更进一步加快了信息化的发展。
高校在信息化教学、信息化课程建设方面已发展多年,累积了大量课程资源和课程数据,如何在这些课程资源数据进行有效存储管理,并在此基础上挖掘出有意义的数据,对课程资源进行关联归类,形成课程体系智慧学习。Hadoop[1]大数据技术的发展与成熟,正好提供了一个非常好的技术平台;因此应用Hadoop平台技术,来构建一个课程云平台系统是非常有意义的。
1 Hadoop
Hadoop平台是Apache基金会所开发发布的分布式系统数据存储平台,Hadoop平台提供了高效、可靠、大规模数据分布式处理和存储能力,在Hadoop平台下一个控制节点控制整个集群的运行处理,协调各个数据节点间数据管理和计算任务[2]。Hadoop的核心由分布式文件处理HDFS,MapReduce并行计算框架和HBase分布式数据库系统组成。Hadoop结构如图1所示。
2 课程云平台系统
传统信息化课程的建设,往往只关注某一门课程知识体系的构建和知识点的建设,容易忽略整个知识体系的构建,及该课程与其他课程间的知识点关联,例如,计算机类课程中某一门专业课程,其背后又关联到多门专业基础课程的应用[3](以计算机专业中“Java EE程序设计”课程为例,如图2所示),专业课程间又存在交叉和先后顺序,以往课程建设都是任课教师基于本门课程的相关资源建设,课程与课程间无衔接、无关联,这样就形成课程上的信息孤岛,不利于学生学习。所以运用Hadoop大数据技术,存储特性、覆盖性和灵活性,构建开发一个课程云平台,将以往的课程教学资源整合起来。
应用Hadoop大数据技术,以计算机专业中某一门专业核心课程为例构建起该课程的课程云平台,通过课程云平台构建起该关联课程体系,将该课程所涉及的多门课程有序地融合起来,形成完善的课程云平台。
同时通过Hadoop技术海量数据管理功能,对课程中每个知识点进行数据深度挖掘,提供课程间知识点快速检索和访问。也对各个课程中所涉及的视频图片各类资源进行有效存储管理。
云课程平台也与实践应用对接,将实训项目引入到云平台中,通过云课程平台,对项目进行分解,将项目中所应用的各知识点与各课程进行关联,让云课程平台引导学生进行项目实训,对项目中所涉及的知识点能快速地检索访问,如图3所示。
从图3可以看出,一门课程的背后往往涉及多门课程知识体系的数据支撑,而一个学科的知识体系会涉及更加复杂、庞大的课程体系数据的支撑。而这些课程数据中又包含有各类型的结构化和非结构的数据,因此使用Hadoop平台实现是非常可行的。
3 课程云平台的设计
本课题应用Hadoop平台技术,针对高校课程信息化的特点,构建课程云平台系统,期系统结构如下:数据源、数据清洗与整合、分布式数据存储、数据分析与挖掘,Hadoop平台管理、应用程序接口(Application Program Interface,API)平台管理等,其结构如图4所示。
课程资源平台:指目前高校现有课程建设平台,包括现有平台上的各类课程资源信息,如结构化数据和非结构化数据,结构化数据主要是现有课程资源的数据库信息,例如(MySQL数据库数据、Oracle数据库中数据等);非结构化数据主要包含课程资源中的各类数据文件、图片、音频、视频资源等。
数据采集:包含数据采集,数据清洗,数据整合等,指对现有数据资源使用Sqoop等技术将课程资源平台中的结构化数据导入到Hadoop的HDFS和Hive进行存储,结构化数据可以使用表或者Key-Value方式存放,非結构化数据则以目录文件的方式进行存放。
大数据分析:指使用Hadoop中MapReduce或Spark技术等,对Hadoop平台中的数据进行流式分析计算或离线分析计算,产生出各个知识点间的关联及学习情境分析等。
智能分析与可视化:使用Tableau,D3,Flot等技术[4],利用机器学习、数据挖掘算法等对课程数据进行深层次的分析,并以图表的方式直观的展示给师生。
API接口层:提供平台各类数据的访问接口,以便WebAPP或移动APP等应用系统可以从平台方便地获取课程信息资源,为平台的二次开发提供便利[5]。
4 实现过程
实现环境:这里选用了5台服务器作为Hadoop平台实现基础,其配置如表1所示。
服务器软件运行环境如表2所示。
(1)运行环境:首先配置每台服务器的SSH无密码登录,然后配置服务器上Java运行环境,最后配置Hadoop运行环境。配置完成后在NameNode上输入start-all.sh命令,启动Hadoop。
(2)数据迁移:数据迁移可分为结构化数据迁移和非结构化数据迁移,其中结构化数据迁移导入过程可分成3步。第一,将My SQL数据先导入到HDFS中;第二,在Hive中创建表结构;第三,将HDFS中数据加载到Hive已创建的表中。非结构化数据可以转化文本化与HBase整合进行迁移处理[6]。
5 运行测试
课程云平台的建设主要是将各类分散的课程资源进行整合挖掘,使用Hadoop平台技术对课程资源数据进行管理、深度挖掘、处理等。在Hadoop平台下既节省了服务器资源又提高教学资源的利用率,并对课程进行深度挖掘,实现智慧学习。课程云平台WebAPP端使用SpringMVC框架开发、Tomcat服务、JSP页面等技术,运行效果如图5所示。
6 结语
本文以Hadoop技术为基础,以高校计算机类课程为研究案例,研究基于Hadoop平台的课程云平台,通过对Hadoop平台的技术特点及搭建配置过程,以及开发方法等进行详细论述,为高校课程信息化建设提供思路。
[参考文献]
[1]陈一龙.基于云平台的英语专业核心课程数字化教学资源的共建共享机制研究[J].荆楚学术,2017(9):5.
[2]王鹏.云计算的关键技术与应用实例[M].北京:人民邮电出版社,2010.
[3]楚京予.MOOC平台课程资源组织模型与体系架构研究[D].合肥:合肥工业大学,2016.
[4]王润,周先进.云课程的实施困境及其突破[J].教育发展研究,2015(12):34-39.
[5]徐毅.湖北地方课程教育云资源的设计与应用实践[D].武汉:华中师范大学,2015.
[6]王玥.云课程平台聚合社会化媒体的网络教学研究[D].南京:南京邮电大学,2014.