论文范文网-权威专业免费论文范文资源下载门户!
当前位置:毕业论文格式范文>职称论文>范文阅读
快捷分类: 互联网虚拟财产保护开题报告 虚拟漫游毕业设计论文 虚拟经济论文 药学英语论文虚拟图书馆 虚拟仪器技术期刊 虚拟社区论文

关于虚拟论文范文 基于S的ACM虚拟判题系统的设计和实现相关论文写作参考文献

分类:职称论文 原创主题:虚拟论文 更新时间:2024-03-25

基于S的ACM虚拟判题系统的设计和实现是关于本文可作为相关专业虚拟论文写作研究的大学硕士与本科毕业论文虚拟论文开题报告范文和职称论文参考文献资料。

摘 要:虚拟判题系统(virtual judge,VJ)是一种功能强大的ACM在线判题系统,它不仅能动态获取著名ACM在线判题系统中的题目、调用该判题系统的判题引擎并获得结果,而且还能在本地存储相关的信息,为培养ACM选手作出了重要贡献.针对目前的VJ使用SSH框架组合进行开发,面临struts 2安全漏洞和hibernate笨重的问题,使用模型、视图和控制分离的MVC模式,结合网络爬虫技术,开发了一个基于S框架组合的虚拟在线判题系统.该系统已在湖南农业大学的ACM选手训练中发挥巨大的作用.

关键词:虚拟判题系统;S框架;网络爬虫

中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2018)09-0095-03

1 背景

参加过ACM竞赛的同学都知道,想要稳扎稳打的提升能力,进行一次涉及全方位题型的竞赛是必不可少的.现在许多学校都有自己的Online judge(在线判题系统),其拥有出题,判题,举行和参加竞赛的功能.为大家的学习提供了很大的帮助.但不同的Online judge有不同的题目.于是,就有这么一种情况,在一次竞赛中想用到不同Online judge的不同题目.这就变得麻烦了.放弃一些题目?觉得可惜;重新出题?要斟酌出全面,严谨的测试用例的话,不但麻烦,而且还要花上不少时间.基于这样一种需求下Virtual judge(虚拟判题系统)的概念诞生了.

Virtual judge与在线判题系统不同.Online judge是有自己的判题引擎的,但Virtual judge没有.那Virtual judge是如何实现判题功能的呢?事先在Online judge上注册一个.通过那个将代码提交给Online judge,然后利用网络爬虫获取判题结果并展现给用户.同样,Virtual judge的题目也是可以通过网络爬虫从各个Online judge的题库抓过来的.

当前网络上有着SSH框架的Virtual judge系统.虽然已经是十分完善的Virtual judge网站.但相对SSH而言,S框架更轻量级,效率更高,各层之间的耦合度更低.而且SSH框架还有一些缺点,例如:Hibernate虽然能够自动生成SQL语句,但却难以优化,而且使用的门槛较高.以及,Struts2的安全性有待提高,能通过漏洞获得服务器的权限.于是,我们决定用S框架搭建Virtual judge.

2 相关技术

系统实现使用了S框架集合和网络爬虫技术.

2.1 S框架

S框架即Spring+SpringMVC+Mybatis,是目前非常流行的web项目框架.能大大提高开发效率,减少重复工作,减少开发难度.

1)Spring是一个基于ioc(控制反转)和AOP(面向切面)的框架.主要功能是把创建对象的工作交给Spring.由Spring创建对象并给对象的属性赋予相关值,实现对对象的管理.使开发过程更加简便.

2)SpringMVC是一个常用的MVC框架,应用于控制层.通过xml配置,注解来决定如何处理用户请求,分隔了各层功能,便于程序员的开发和优化.

3)Mybatis处理与数据库的交互.只需要提供SQL语句,建立连接,异常处理等其他重复的工作都交给Mybatis.使用灵活,便于SQL优化.

MVC框架是指视图(View),控制器(Controller),模型(Model).视图用于与用户交互.收到的请求由控制器决定如何处理.而模型是用于记录用户上传数据或者所需要的业务模型.

MVC框架将web项目的界面,逻辑,数据分隔开来.降低了各个部件的耦合性,提高了项目的可读性,而且更方便项目工程的搭建.如图1.

2.2 网络爬虫技术

网络爬虫是一种按照特定规则能自动在网络上寻找并抓取所需求信息的程序或脚本,经常用于一些搜索引擎之类的网站.现如今是大数据时代,截至2016年为止,光中国就有364.7万余个网站.随着信息与网站的越来越多,网络爬虫在其中就能发挥更大的作用.

不过Virtual judge所需要的题目信息等都是从确定的Online judge上获取的,是基于目标网页的网络爬虫,所以在Virtual judge的搭建中只需要运用相对简单的方法就能获取我们所需要的相关信息.唯一麻烦的是有多个Online judge,所以要针对不同Online judge编写不同代码,工作量较大.

3 虚拟判题系统功能及实现

Virtual judge是基于满足用户更方便地在Online judge上做题,竞赛的需求而搭建出来的.首先需要能够从各个Online judge上获取题目信息,以及能将代码提交给对应Online judge并再获取提交状态.那么相关的爬虫代码是必不可少的.为了能有更好的用户体验,一些Online judge的功能也是很需要的.一个的登錄注册系统.通过个人账户能更好的记录,了解自己的做题情况.功能也是竞赛系统必备的一部分,因为要有不同的才能方便分辨不同的参赛者.还有一个与ACM竞赛相仿的竞赛系统,这是判题系统最重要的部分.它能很好地锻炼参赛学生,让学生对ACM更熟悉,对竞赛更有经验.

3.1 系统功能描述

1)管理

这个部分比较简单,是常见的用户信息的注册与登录.主要包括用户的登录(的判断),用户注册(输入格式的要求,以及对数据库新添数据),查看用户信息(显示相关信息,重点在于答题的情况).该功能用于保存用户信息,主要是记录用户的题目提交状态(正确,超时,答案错误,内存超限,格式错误等)和举办的竞赛(主要是比赛信息).不登录的用户是无法参加比赛和提交代码的.该功能主要是用来方便用户能更直观的查看自己的做题情况.其他相关功能:为了用户的安全,将用MD5加密.

总结:本论文主要论述了虚拟论文范文相关的参考文献,对您的论文写作有参考作用。

参考文献:

1、 吉林电视台S高清编码信号监测系统 摘 要 AVS+是我国自主知识产权的视频编码技术,AVS和AVS+标准的推出,打破了外国对数字音视频核心技术的垄断。原国家广电总局和工信部对此十。

2、 基于虚拟仿真实验系统自主学习 摘 要:虚拟仿真实验教学是高等教育信息化建设和实验教学示范中心建设的重要内容,是学科专业与信息技术深度融合的产物[1]。为了研究基于虚拟仿真实验。

3、 产业集群品牌生态系统规划设计 [提要] 产业集群表现出显著的品牌群聚现象,产业集群与其品牌生态之间存在一种协同进化的关系。通过合理规划产业集群品牌生态系统,培育和优化产业集群。

4、 企业人事管理系统的设计和实现 摘要:建立能够满足企业不同部门的信息处理系统,成为了企业快速发展的重要工具。因此,企业可以设计人事管理系统提高信息处理效率。本文对人事管理系统的。

5、 A公司采购管理ERP系统模块设计 [摘 要]本文以作者所在企业的ERP系统实施项目为背景,对ERP系统中采购管理模块的功能需求分析进行研究,首先分析课题企业目前采购管理中存在的问。

6、 网上银行客户感知监测预警系统方案设计 [摘 要] 监测客户感知并及时对异常流量作出预警非常重要,如果银行根本就不知道自己的客户面对的是一个怎样的系统,自己的客户感受到的是怎样一种情况。