论文部分内容阅读
随着互联网时代的迅猛发展,大数据已成为时代的共识,各行各业都掀起了一场大数据革命,教育领域也不例外。教育信息化,开启了数字化教学的教育新形态,同时也催生了各种在线学习平台。随着学习者数量的增加、学习者行为数据的快速增长,一些中小型Web学习平台表现出消息请求响应慢、数据丢失多、实时交互差等现象,在一定程度上影响了正常学习活动的开展。如何在不改变当前系统架构的基础上,解决数据丢失多、实时性差是目前中小型Web学习平台中面临的最大问题。通过对实时流处理技术Storm进行调研,发现其不仅可以实时处理海量数据,而且在数据完整性方面具有保障性,同时Storm技术已经被应用于各行各业,如金融、公共交通、电力系统、物联网等领域。鉴于Storm具有的实时性、可靠性、容错性和可扩展性等优势,并针对中小型Web学习系统存在的问题,本文尝试将Storm技术应用于中小型Web学习系统的优化改进。 本文的工作主要包含以下几部分: 首先,对大数据理论知识及大数据处理技术进行相关研究,并详细分析了批处理技术Hadoop与流处理技术Storm的不同及各自的优势。 其次,对中小型Web学习系统中存在的数据丢失、响应迟缓等问题及需求进行研究。在不改变当前Web系统架构的基础上,结合大数据处理技术的特点,本文提出了以Flume作为数据采集技术、以Kafka、Memcached作为数据缓存技术、以Storm作为实时流处理技术、以Zookeeper作为保证数据一致性技术的优化改进方案。 再次,对该优化架构中每个模块的功能进行了编码实现。 最后,在华中师大云课堂系统中对优化后的架构进行了测试,通过对架构优化前和优化后系统在数据丢失率、数据处理速度、并行度、实时数据服务提供方面的对比,发现使用该架构后,可以将系统中数据丢失率由30%~40%降低至1%,将秒级数据处理速度提高至毫秒级,并且使用该架构可以调节系统的并行度,并能为教育工作者提供实时数据服务。 从试验结果可以看出,将Storm技术应用于中小型Web学习系统,在不颠覆系统原始架构的同时,能够较好的优化数据丢失、交互不及时等问题。