基于云平台的教育资源在线测评系统的研究
发布时间:2017-10-07 01:16
本文关键词:基于云平台的教育资源在线测评系统的研究
更多相关文章: 在线测评系统 负载均衡 Hadoop 神经网络
【摘要】:在线测评系统降低了编程作业的检阅难度,使得作业检查更加公平准确。由于在线测评系统中有编译运行程序环节,占用了大量的系统资源和CPU时间,当大量用户集中访问系统提交作业时,出现了用户等待时间长,系统稳定性差,更甚有系统崩溃等现象。因此如何在并发访问用户量大的情况下,为教学提供一个性能稳定响应时间短的在线测评系统成为一大难题。本文针对这样的问题提出了基于Hadoop的在线测评系统。本文首先分析了在线测评系统的发展现状并对其不足进行了分析与总结,指出了在线测评系统系统设计粗陋和反馈数据不科学等缺点。因此,论文基于Java web技术提出了一个新的系统,该系统主要分为三层:web服务层、数据库服务层以及判题服务层,在限制用户程序运行时间方面,使用Linux操作系统下的proc接口、管道和ptrace进程来跟踪并返回子进程的状态,使用户时间限制的最小单位达到1毫秒。根据分布式的在线测评系统的研究现状,提出将在线测评系统分布在云平台上。针对在线测评系统的分布式需求,研究了Hadoop的框架结构以及HDFS的存储原理和读写文件过程,然后提出将在线测评系统部署在Hadoop集群中,并将相关文件存储在HDFS文件系统中以此提高系统的判题能力。为了使得集群的整体性能达到最优,充分利用每台服务器的资源,本文分析了当前的负载均衡发展现状,发现已有的负载均衡算法在分配任务时没有考虑到每台服务器的状态变化,导致集群的整体性能不是很好。在此基础上,提出了一个基于神经网络的动态反馈算法,通过Linux下的proc文件系统接口动态收集每个服务器的负载信息,并将这些负载信息输入神经网络计算模块,根据神经网络计算模块的输出和加权轮询算法来为当前的任务选择最合适的服务器。该算法提高了集群中的在线测评系统的整体性能。最后分别对单机模式下的在线测评系统和基于Hadoop集群的在线测评系统进行功能测试和性能测试。在同样的集群环境下,通过设置不同大小的并发用户量和不同的负载均衡算法,比较在线测评系统的响应时间,并对结果作分析可得出结论:基于神经网络的动态反馈算法,确实提高了系统并发访问的性能,减少了用户等待时间,为用户提供了一个性能良好的在线测评系统平台。
【关键词】:在线测评系统 负载均衡 Hadoop 神经网络
【学位授予单位】:电子科技大学
【学位级别】:硕士
【学位授予年份】:2015
【分类号】:TP393.09
【目录】:
- 摘要5-6
- abstract6-10
- 第一章 绪论10-18
- 1.1 课题研究背景和意义10-11
- 1.2 当前研究现状11-15
- 1.2.1 关于在线测评系统的研究现状11-13
- 1.2.2 关于分布式的在线测评系统的研究现状13-14
- 1.2.3 关于云的研究现状14-15
- 1.3 研究内容与创新15-16
- 1.3.1 主要研究内容15-16
- 1.3.2 课题创新16
- 1.4 论文章节安排16-17
- 1.5 本章小结17-18
- 第二章 相关技术18-32
- 2.1 系统设计与开发关键技术18-20
- 2.1.1 Java web开发技术18-19
- 2.1.2 Linux下的环境编程简介19-20
- 2.2 Hadoop系统分析20-24
- 2.2.1 HDFS的设计20-21
- 2.2.2 HDFS的概念21-22
- 2.2.3 HDFS的整体架构22-24
- 2.3 负载均衡技术研究24-28
- 2.3.1 负载均衡的分类24-26
- 2.3.2 负载均衡算法26-28
- 2.4 神经网络算法28-31
- 2.4.1 神经网络的模型28-30
- 2.4.2 反向传播算法30-31
- 2.5 本章小结31-32
- 第三章 系统需求分析与设计32-54
- 3.1 系统需求分析32-37
- 3.1.1 系统可行性分析32-33
- 3.1.2 系统性能需求33-34
- 3.1.3 系统功能需求34-36
- 3.1.4 运行需求36-37
- 3.2 系统整体设计37-49
- 3.2.1 web层的详细设计38-41
- 3.2.2 判题模块的设计41-43
- 3.2.3 负载均衡模块的设计43-49
- 3.3 数据库表设计49-53
- 3.4 本章小结53-54
- 第四章 系统实现54-80
- 4.1 Hadoop集群的搭建54-56
- 4.2 web层的实现56-64
- 4.2.1 学生模块实现56-60
- 4.2.2 管理员模块实现60-61
- 4.2.3 教师模块实现61-64
- 4.3 判题功能的实现64-68
- 4.3.1 守护进程的实现64-66
- 4.3.2 判题程序的实现66-67
- 4.3.3 获取数据的实现67-68
- 4.4 负载均衡算法的实现68-79
- 4.4.1 算法定义68-72
- 4.4.2 负载信息获取模块的实现72-73
- 4.4.3 神经网络训练模块实现73-78
- 4.4.4 负载计算78-79
- 4.5 本章小结79-80
- 第五章 系统测试80-89
- 5.1 测试工具与环境80-81
- 5.2 功能测试与分析81-84
- 5.2.1 登录功能测试81
- 5.2.2 学生模块功能测试81-82
- 5.2.3 管理员模块功能测试82-83
- 5.2.4 教师模块功能测试83
- 5.2.5 判题模块功能测试83-84
- 5.3 性能测试结果与分析84-87
- 5.4 本章小结87-89
- 第六章 总结和展望89-90
- 6.1 论文工作总结89
- 6.2 今后的工作展望89-90
- 致谢90-91
- 参考文献91-93
【参考文献】
中国期刊全文数据库 前1条
1 刘斌;徐精明;代素环;葛华;;基于Linux虚拟服务器的负载均衡算法[J];计算机工程;2011年23期
,本文编号:986096
本文链接:https://www.wllwen.com/guanlilunwen/ydhl/986096.html