摘要
针对现有程序评测系统无法满足程序设计类课程实践教学需要的问题,提出使用Docker虚拟化技术和非对称分布式技术相结合的方法来实现程序判定系统,利用Docker的沙箱机制实现待判定程序与判定服务器的运行隔离,利用多台判定服务器并行来处理大规模高并发的程序判定任务。实验结果表明,开发的程序判定系统能够安全、高效的完成各类典型程序的判定,提高并发判定效率。可用于程序设计类课程学生编程实践能力的考核,同时能够提高学生对编写程序的热情,也能够节约教师在批改学生作业上花费的时间。为打破传统的教学考核方式,向完全实现无纸化考试迈进了一步。
To solve the problem that the current program judgment systems cannot meet the practice teaching needs of computer programming courses,a novel program judgment system is designed and developed. By creatively combining the techniques of Docker and asymmetric distributed architecture,the efficiency of concurrent judgments is improved.The former systems separate the running of the program to be judged from the judge server,and the proposed handles the massive program judgment tasks with many judge server,working in the parallel. The experimental result shows that the developed program judgment system can judge the typical programs safely and efficiently,and hence it can be used to test the programming ability of students in programming courses. At the same time,the design can enhance the enthusiasm of students to write the program,save much time for teachers who need to spend on the correction of student work before. It also contributes to breaking the traditional teaching assessment methods,and fully realizes the paperless test a step forward.
作者
舒新峰
张文
王梦楠
SHU Xinfeng;ZHANG Wen;WANG Mengnan(School of Computer Science,Xi’an University of Posts & Telecommunications,Xi'an 710121,China)
出处
《实验室研究与探索》
CAS
北大核心
2018年第6期140-143,共4页
Research and Exploration In Laboratory
基金
教育部计算机专业教指委与全国高校计算机教育研究会联合项目(MXF2016-2-8)
西安邮电大学教学改革重点项目(JGA201503)
陕西省工业科技攻关项目(2017GY-076)
关键词
Docker容器
程序评测系统
分布式
辅助教学
Docker container
online judge system
distributed structure
auxiliary teaching