HUSTOJ 使用随笔

来源:互联网 发布:电信宽带软件 编辑:程序博客网 时间:2024/05/21 09:35

从代码上HUSTOJ分为两大部分,core和web,分别对应判题和数据管理两大功能。

两者之间数据交换有两种方式:1、通过数据库,轮询。2、通过w3m实现的http请求。

两种方式的选择在判题端的配置文件/home/judge/etc/judge.conf中,HTTP_JUDGE=1则启用后者,默认为前者。


core分3部分,judged、judge_client、sim

其中judged为服务进程,d即daemon。负责轮询数据库或web端,提取判题队列。

当发现新任务时产生judge_client进程。

judge_client进程为实际判题程序,负责准备运行环境、数据,运行并监控目标程序的系统调用,采集运行指标,判断运行结果。

当配置为启用抄袭检查时,judge_client将调用sim,判断相似性结果,并写回数据库或web端。

sim为第三方应用程序,可进行语法分析判断文本相似度,通过检验的程序将由judge_client复制进题目数据的ac目录,成为新的参考样本。

原创粉丝点击