hustoj实现远程判题的两种方案

hustoj实现远程判题需要对源码作添加或修改,对应流程图中的红色部分。

方案一:在web中对接vjudge

需要在web端创建子线程,使其处理表中的远程提交。同时修改core代码,使其不分配线程处理表中的远程提交。这里选择共用同一张solution表,是为了避免建立新表需要还原复杂的调用关系。

方案二:在core中对接vjudge

core由两部分组成:负责感知任务并分配子线程的judged、负责子线程本地判题的client。我们可以复用judged分配线程时做的并发处理,在调用client时新建分支,用不同的client分别处理远程提交、本地提交。


vjudge接口文档:https://www.cnblogs.com/zzzz76/p/13432529.html

原文地址:https://www.cnblogs.com/zzzz76/p/13544032.html