【技术实现步骤摘要】
一种高并发的算法竞赛程序在线评测系统
本专利技术涉及的是一种计算机科学教学实验领域的在线评测系统,具体涉及一种高并发的算法竞赛程序在线评测系统。
技术介绍
在线评测系统可用于学生学习程序设计过程中的练习,或者用于为了参加程序设计比赛而进行的训练;而一些程序设计比赛也需要于在线评测系统上组织进行。因此在线评测系统在计算机科学技术教育领域发挥了巨大的作用。然而,传统的在线评测系统无法适应不断扩大用户规模。因此我们需要设计一个更加高效、稳定、安全的在线评测系统以应对用户的需求,同时尽可能降低部署和使用成本。最常见的在线评测系统是单机架构,即网页端、编译器和评测机在同一台服务器中。这种架构结构简单且容易实现,有很多开源的项目在学校机构中多有部署。但是当用户数量较多或者进行大型比赛时无法胜任短时间评测大量的任务。还有一种可扩展的评测系统,网页端与调度服务器连接,调度服务器与若干评测服务器连接。每次增减评测服务器都需要手动在调度服务器中配置(CN102591778)。调度服务器会将任务分发给各个评测服务器,由各个评测服务器进行编译、运行和评判,从而可以并行地评测多个任务。但是 ...
【技术保护点】
1.一种高并发的算法竞赛程序在线评测系统,其特征在于,包括网站服务器、评测网关、测试数据服务器和评测机,网站服务器分别与评测网关和测试数据服务器相连,测试数据服务器与作为判题器的评测机相连,评测网关通过队列任务分别与作为编译器的评测机、作为判题器的评测机相连,作为判题器的评测机与评测网关相连,作为编译器的评测机与二进制文件缓存相连。
【技术特征摘要】
1.一种高并发的算法竞赛程序在线评测系统,其特征在于,包括网站服务器、评测网关、测试数据服务器和评测机,网站服务器分别与评测网关和测试数据服务器相连,测试数据服务器与作为判题器的评测机相连,评测网关通过队列任务分别与作为编译器的评测机、作为判题器的评测机相连,作为判题器的评测机与评测网关相连,作为编译器的评测机与二进制文件缓存相连。2.根据权利要求1所述的一种高并发的算法竞赛程序在线评测系统,其特征在于,所述的在线评测系统包括以下步骤:(1)、管理员通过网站服务器管理测试数据服务器上传、删除题目的测试数据;(2)、用户向网站服务器提交评测任务,提交对应题目的解题程序代码;每个评测任务需要将用户提交的源代码编译为可执行文件,然后需要使用多组输入文件输入到该可执行文件中并运行,获得结果与答案输出文件进行比对然后统计得分等信息;(3)、网站服务器将评测任务发送到评测网关模块上,在检查评测任务的合法性后,评测任务就会被加入任务队列等待程序编译;任务队列会带有一个优先度权值,综合考虑到达时间、预计评测时间、用户的优先度等信息赋予优先度;优先度高的任务将会先被评测机模块进行处理;(4)、弹性评测机集群由多个评测机模块组成;评测机模块分为两种,一种是编译器模块,一种是判题器模块;这两种模块根据实际需求相互转换,取决于评测机从任务队列中读到的是编译任务还是判题任务;评测网关会对任务队列的长度进行监控,如果任务队列过长...
【专利技术属性】
技术研发人员:林方正,金少海,汪砚戎,
申请(专利权)人:上海洛谷网络科技有限公司,
类型:发明
国别省市:上海,31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。