《计算机技术与发展杂志》发表论文赏析
作者:肖红玉;贺辉;陈红顺
摘要:为满足程序设计类课程实验教学及程序设计竞赛的需要,对国内外现有的在线评测系统进行研究.以ACM/ICPC竞赛模式为蓝本,采用Python、Mysql、Django 1.8、HTML5、jQuery 1.11、Bootstrap 3.5、Nginx 1.8等技术,设计并实现了基于RabbitMQ高级消息队列和多级安全沙盒的在线评测辅助教学系统.基于Celery并行分布式框架,解决了系统大规模评测的并发性需求,可根据评测负载动态调整评测节点个数.系统具有高容错性,个别评测节点的意外故障不影响系统整体运行.通过Linux用户权限机制、全虚拟化技术、Linux Container(LTX)和setUID实现的多级安全沙盒,保证了评测环境的公平性和安全性.系统主要为日常实验教学代码评测而设计,共有4个角色,与面向竞赛的评测系统相比,增加了教学管理模块、作业管理模块、统计分析管理模块.系统已经成功应用在C/C++/Java/数据结构等课程的日常实验教学中.运行结果表明,该辅助教学系统对促进教学质量、提升学生学习兴趣非常有帮助.
关键词:在线评测;实验教学;教学辅助系统;沙盒