基于SpringBoot的OnlineJudge系统的设计与实现.docx

资料分类:计算机信息 上传会员:zx2026 更新时间:2026-04-05
需要金币1000 个金币 资料包括:完整论文 下载论文
转换比率:金额 X 10=金币数量, 例100元=1000金币 论文字数:16917
折扣与优惠:团购最低可5折优惠 - 了解详情 论文格式:Word格式(*.docx)
摘 要:近年来,随着科学技术的不断更新迭代,互联网技术在生活中的应用越来越广,许多学者专家开始研究如何将互联网技术融入到高校的教学实践中。Online Judge(以下简称OJ)系统的开发与其建设可以对于高校学生软件程序设计的培养、程序比赛以及所有参加团队成员的培养以及选拔等起到很好的辅助性教学等方面作用。
本文探讨OJ系统的设计与实现,着重讨论了系统架构、关键原理与技术。其中包括OJ系统中的判题机制的原理和实现、针对OJ系统运行时系统资源限制以及安全性探讨以及对程序实现后的优化方案等。
本文分析了市面上主流的OJ系统的需求与技术架构,在实现判题系统时采用前后端分离的开发方式,其中后端分为判题服务器、判题客户机和判题核心三个主要部分。判题服务器(Judge Server)使用Springboot框架进行实现,并且选用由国人编写的Mybatis-Plus框架进行持久层的开发。判题服务器负责与前端和判题核心进行交互,并实现了OJ系统的业务逻辑功能(如登陆、提交代码、查看判题结果等)。判题客户机使用Springboot框架进行开发,其主要负责对用户提交代码进行编译以及调用判题核心进行判题,并在判题结束后对比判题结果。判题核心(Judge Core)由C语言编写,通过调用Linux API实现判题的功能,包括已编译程序的运行、程序资源限制以及线程监控等;针对CPU密集型的判题服务,判题服务器利用线程池模型合理调度服务,对服务端负载进行优化。前端采用基于Vue 2.0的Element-ui实现,负责该系统的交互功能。
 
关键词:在线判题;资源限制;调度优化
 
目 录
摘 要
Abstract
第1章 绪 论 1
1.1背景与意义 1
1.2国内外发展(应用)现状 1
1.3论文所做工作及思路 2
1.4论文章节安排 3
第2章 系统开发工具与主要实现技术简介 4
2.1系统开发工具 4
2.1.1开发环境Deepin:15.10.1桌面版 4
2.1.2数据库MySQL 4
2.1.3内存缓存Redis 4
2.1.4 GCC 4
2.1.5 JMeter 5
2.2主要实现技术 5
2.2.1 Linux环境编程 5
2.2.2 Web开发框架Springboot 5
2.2.3 持久层框架Mybatis-Plus 5
2.2.4 前端框架Element-UI 6
2.3项目架构图 6
2.4本章小结 7
第3章 系统需求分析与数据库实现 8
3.1需求分析 8
3.1.1系统功能分析 8
3.1.2系统用例图 9
3.2 OJ评判服务 11
3.3数据库设计 12
3.4本章小结 14
第4章 系统设计与实现 15
4.1 Judge Core实现 15
4.1.1 Judge Core功能设计概述 15
4.1.2 Judge Core运行流程 16
4.1.3 Judge Core 安全机制 17
4.2 Judge Host 实现 18
4.2.1 Judge Host功能概述 18
4.2.2 Judge Host运行流程 18
4.2.3 代码编译功能实现: 19
4.2.4 调度优化 20
4.3 Judge Server实现 21
4.3.1 数据持久层实现 21
4.3.2 提交代码功能实现 22
4.4系统展示 24
4.4.1题目列表页面展示 24
4.4.2提交结果页面展示 25
4.4.3编辑题目页面展示 25
4.5本章小结 26
第5章 判题服务功能测试 27
5.1 判题服务正确性测试 27
5.2 Judge Host 压力测试 27
5.2.1性能测试指标及测试环境 27
5.2.2测试结果及分析 28
5.3本章小结 30
第6章 结 论 31
致 谢 32
参考文献 33
相关论文资料:
最新评论
上传会员 zx2026 对本文的描述:基于 S pring B oot的 O nline Judge 系统的设计与实现 学生姓名 院系名称 专业名称 班 级 学 号 指导教师 完成时间 摘要 近年来, 随着科学技术的不断更新迭代 , 互联网 技术在生活中的应用......
发表评论 (我们特别支持正能量传递,您的参与就是我们最好的动力)
注册会员后发表精彩评论奖励积分,积分可以换金币,用于下载需要金币的原创资料。
您的昵称: 验证码: