判题核心流程图

判题端设计

server层与judge层交互

判题器为实现水平扩展功能采用了springboot + native code的方式进行开发。利用异步分发机制,通过rabbitmq实现异步队列,保持水平扩展性。
整体流程如下
在这里插入图片描述
核心交互的实体类如下

public class JudgeTask {
    private String taskId;
    private int problemId;
    private LanguageEnum language;
    private String code;
    private JudgeLimit limit;
    private boolean specialJudge;
    private LanguageEnum specialJudgeLanguage;
}

判题器任务转换

对于判题器的内部接收到任务将转化成判题器支持的任务形式
在这里插入图片描述

判题器测试点比对

对于获取题目测试点
在这里插入图片描述

判题流程

当判题器收到判题请求执行一下流程,对题目进行运行的程序进行沙箱的封装以及判定
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值