大规模编程题在线评判技术研究

来源 :华南农业大学 | 被引量 : 0次 | 上传用户:yuanchonghuanca
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
编程题在线评判技术是协调庞大编程学习者群体和稀缺的教学资源矛盾的手段之一,它弱化了学生数量对教师工作量的影响,使大规模编程在线教育成为可能。当前流行的编程题在线评判系统多为ACM-ICPC(Association for Computing Machinery-International Collegiate Programming Contest)赛制专用的评判系统。该类系统最先用于算法的学习和训练。此类系统基于黑盒模型对学生代码进行测试,根据通过的测试数据组数打分。如今许多高校都在编程课中引入ACM的在线评判系统。但是ACM的专用评判系统用于教学中也存在一些缺陷。首先,随着编程语言和软件开发技术的发展,单纯黑盒测试的模式已不能很好地契合新兴编程语言的教学要求。例如,黑盒测试可以分辨出错误的程序结果,却不能判断该代码是否符合面向对象的程序设计思想。其次,ACM的赛制惩罚不通过的提交,违背了现代编程教学中鼓励学生多练习的教育理念,同时也规避了大规模考试中高并发提交代码的问题。最后,评判系统使用场景的实名制回避了编程题评判系统应涉及的安全挑战,且一些系统使用的安全方案后续维护和迁移成本较大。本文探讨了编程题在线评判系统的发展状况,分析了大规模考试及计算机编程考试的需求,结合目前广泛采用的ACM赛制专用评判系统的不足,针对系统规模、实时性、安全性、评判粒度和多知识点评判等5个现代编程教学评判需求,提出了一种基于分布式、虚拟化和插件技术的多知识点编程题评判方案,设计并实现了支持在线扩容的编程题在线评判系统。该系统基于ActiveMQ消息中间件的队列模式,实现了生产者-消费者模型,并利用该模型解决了大规模考试的热伸缩和灾备需求。该模型支持根据系统负载在线调整评判器节点个数,容许若干个评判器节点意外离线。通过消息队列、缓存及分布式技术,本文实现了较高的系统吞吐量和同时使用在线人数。本文的主要关注以下方面:(1)在安全上,本文对安全沙箱技术进行了研究,结合全虚拟化和半虚拟化技术对已知的在线编程题评判系统的安全缺陷进行了加固。利用操作系统用户和文件系统权限机制、setUID和ulimt沙箱、LXC(Linux Container)以及虚拟化实现的多级安全体系,在确保评判环境的安全性和纯净性的同时,兼顾运行效率和维护成本。(2)在性能上,本文对磁盘IO(Input/Output)效率和编译器起停时间进行了优化,提升了评判器的吞吐量。(3)在多样化评判要求方面,本文实现了插件机制,并利用灰盒测试模型,满足了多知识点评判及细化评判粒度的在线课堂需求。测试结果表明,评判器及其支撑系统具有很好的伸缩性和容错性,评判器可随时联机和离线而不影响系统的正确性。通过简单地增加评判器节点个数即可完成对评判系统的在线扩容,从而实现大规模的在线程序评判。
其他文献
人脸在人类社会的交流中作为信息传递的最直接窗口起着至关重要的作用,而在现代信息化技术发展的时代,如何使用计算机自动处理二维人脸是一个广受关注的研究课题,并且其结果
情感计算是人机交互研究的一个重要分支,是关于什么是情感、情感如何产生以及影响情感又有哪些方面的计算,其目的是赋予计算机识别、理解和表达人类情感的能力。情感计算中一
近年来,在计算机图形学相关领域,用距离场表示图形对象得到了广泛的应用。计算空间内任意一点到给定的几何体的符号距离也尤为重要。常用的距离场是一个标量场,它表示空间内
目标跟踪是计算机视觉领域的一个重要研究方向,跟踪的准确性直接影响到更高级的视觉处理。随着计算机与各种摄像设备的发展,目标跟踪技术的应用领域也变得越来越广泛,如动作
迁移学习旨在利用源域和目标域的潜在相关性,充分利用源域数据的知识,完成对目标域的学习任务。半监督学习是机器学习领域中的一个重要分支,研究的是如何利用已有的少量标签
无线传感器网络(WSN)被认为是影响人类生活的重要技术之一,这种技术结合了通信技术、微电子技术、传感器技术,使人们能够更加便捷地获取信息、处理信息。介质访问控制(Medium Acc
足球仿人机器人比赛中的视觉系统是机器人获取信息的主要来源,能否准确快速的识别场上的目标物体是机器人设计的基石,因此仿人机器人的视觉系统设计过程中的目标识别和目标跟
近几十年来,自动人脸识别技术取得到了很大的进步,各种各样的人脸识别算法相继被提出。另外,受到公共安全、金融安全、人机交互等领域潜在的需求的驱动,计算机人脸识别技术面
乘性噪声出现在很多图像应用领域,如医学超声图像、SAR(Synthetic Aperture Radar)图像,它与信号强度息息相关,因此乘性噪声的去除更具挑战性。然而传统乘性噪声去噪方法往往
Retinex图像增强方法是近年来研究较为热门的图像增强方法,该方法以人类视觉系统的色彩恒常性为理论基础,通过模拟人眼观察场景的方式,恢复因图像采集设备限制而丢失的场景细