论文部分内容阅读
随着信息时代的爆发式发展,人们的学习和生活也发生着翻天覆地的变化。越来越多的用户开始通过互联网进行在线学习,目前主流的在线教育系统融合了国内外院校的不同课程和讲座,让全球的用户都能在增长知识的同时也能够发表自己的观点。此外,目前越来越多的在线教育系统开始支持用户使用弹幕与老师、其他同学进行课程相关的互动。本文旨在设计和实现一个在线教育系统支撑子系统,该子系统将在实现包括账号管理和课程管理等基础功能的同时也实现弹幕管理功能即在课程视频中增加弹幕的收发和显示功能。当同一时间播放的视频数量和弹幕数量达到一定规模时,系统很可能无法及时将所有的弹幕都正确、及时地发送给所有用户。如何将海量弹幕进行分发和处理,是本文致力于解决的问题。本文首先阐述了在线教育系统支撑子系统提出的研究背景及其意义,并对设计与实现过程中涉及到的相关技术,包括实时调度和弹幕信息压缩等进行介绍。然后对在线教育系统支撑子系统的系统用户场景和整体需求进行了分析,抽象出了系统的功能需求和非功能需求,并针对具体需求中的关键问题给出了解决方案,其中主要包括:针对海量弹幕任务进行实时调度分发的弹幕调度策略;对弹幕任务的等待处理时延进行预测从而合理评估整个系统的弹幕处理效果;基于拥塞控制的弹幕任务缓冲预测,将离散、泊松到达的弹幕信息进行规整;对海量弹幕信息的压缩处理。根据分析和研究的结果,本文对在线教育系统支撑子系统的总体架构和模块间的交互进行了设计,同时也分析了系统中的典型场景。然后详细介绍了主要模块的设计与实现以及数据库设计。最后对在线教育系统支撑子系统进行了部署和测试,通过测试以及对测试结果的分析验证了系统的合理性和可行性,并指出了研究工作中待进一步完善和解决的问题。