论文部分内容阅读
网络课堂是教育产业信息化发展的产物。国内许多企业的培训系统网络课堂普遍采用基于专业生成内容的计划性课程模式,这种模式虽然已经非常成熟易用,但其成本高、周期长、内容单一、灵活性差且更新速度缓慢的不足,已经难以满足用户对课程内容更丰富、课程选择更自由、学习时间更灵活的需求。借鉴当今较为流行的基于用户生成内容模式的网站构建思路,本文提出了以用户生成内容的模式扩展培训系统的课程体系的思想,使专业生成内容与用户生成内容的课程共同为用户服务。用户生成内容模式的引入将导致对系统架构的伸缩性要求高、需要存储大量资源和快速准确为用户推荐资源等多方面的问题。以面向资源架构的思想设计基于用户生成内容模式的网络课堂系统架构,是提升其伸缩性和可移植性的较优策略。而利用分布式计算框架Hadoop实现海量数据存储和实时准确推荐的方案,因其构建成本低而运行性能好的优势,逐渐受到广泛关注。本文采用Java作为服务器开发语言,采用Flex技术开发多媒体课堂的流媒体应用客户端,使用Linux虚拟机搭建完全分布式Hadoop集群(一个主节点,两个从节点),在实现一个基于用户生成内容模式的网络课堂的基础上,主要完成了如下工作:(1)根据用户生成内容模式的基本概念和特点,提出了基于用户生成内容模式的网络课堂的服务模型,并结合网络课堂的多媒体应用和海量资源存储与推荐的需求,提出了一种的运行架构模型。(2)设计系统时,采用面向资源架构,严格遵循REST风格的原则,提升了基于用户生成内容模式的网络课堂的系统伸缩性、可移植性和易用性。(3)依据课程多媒体文件的一次写入、多次读取的使用特点,实现了使用HDFS存储大量多媒体文件的方案,解决了海量数据存储的问题,并保障了文件的可用性。(4)先用HBase采集了用户访问记录作为用户偏好分析的指标,然后采用Hadoop的Map/Reduce作业系统分别实现了基于用户和基于物品的协同过滤推荐算法,并给出了Map/Reduce的任务流程和推荐系统架构。(5)详细阐述了使用流媒体服务器Red5开发多种网络课堂多媒体应用的方法,为流媒体应用开发提供了一种开源方案。