一种SQLServer自动判题系统技术方案

技术编号:24497733 阅读:128 留言:0更新日期:2020-06-13 03:43
本发明专利技术涉及一种SQLServer自动判题系统,其包括自动判题子系统、高并发数据处理子系统、数据编译分析子系统、微服务单元运行安全跟踪子系统和Docker隔离编译子系统。本发明专利技术结构设计合理,判题的准确性高,能多方面用例来验证结果的正确性,加强了学生对知识点的牢固掌握,有效、快速、公正智能的数据库知识考核方式,让老师能轻松了解到学生对数据库的学习情况,可以实现判题的100%可靠性,并提升学生的实际编程能力。

A SQL server automatic test system

【技术实现步骤摘要】
一种SQLServer自动判题系统
本专利技术涉及一种判题系统,具体涉及一种SQLServer自动判题系统。
技术介绍
互联网的发展十分迅猛,高校基于网络教育相关的平台被越来越多的高校看中,对于传统高校来说,使用Web网页来进行对学生的管理和考核,不失为一个明智之举,其中Web的考试平台对于高校来说无疑是一个重要组成部分,对于计算机类的学生,利用考试平台来进行各种计算机语言的考试十分重要,各大高校的考试平台对于C语言和Java这两大语言编译的支持已经比较完善,但对于《数据库原理及应用》等课程的自动判题平台的建立基本上没有看到,而且现行的很多数据库课程的考试,还停留在纸质模式。现行有部分平台实现了数据库相关课程的自动考核,但是其算法是以字符串匹配为准,并未实际运行学生的代码,即使代码中有语法错误,也无法进行检测。现有模式无法体现学生的根本水平,并且对SQL的语法不能达到精确的把握。
技术实现思路
针对上述
技术介绍
中存在的问题,本专利技术提出了一种结构设计合理,判题的准确性高,能多方面用例来验证结果的正确性,加强了学生对本文档来自技高网...

【技术保护点】
1.一种SQLServer自动判题系统,其特征在于:所述自动判题系统包括自动判题子系统、高并发数据处理子系统、数据编译分析子系统、微服务单元运行安全跟踪子系统和Docker隔离编译子系统;/n所述自动判题子系统用于根据提交的SQL语句初始化一个对应的数据库并将提交的SQL语句在该数据库中模拟运行,得到模拟运行的结果显示;/n所述高并发数据处理子系统用于处理多人提交代码编译所发生的高并发现象,实现排队的异步方式,提高代码处理的效率并在出队列后再针对其请求来进行负载均衡;/n所述数据编译分析子系统用于将所述自动判题子系统处理的数据回显给用户;/n所述微服务单元运行安全跟踪子系统用于实现单元数据处理...

【技术特征摘要】
1.一种SQLServer自动判题系统,其特征在于:所述自动判题系统包括自动判题子系统、高并发数据处理子系统、数据编译分析子系统、微服务单元运行安全跟踪子系统和Docker隔离编译子系统;
所述自动判题子系统用于根据提交的SQL语句初始化一个对应的数据库并将提交的SQL语句在该数据库中模拟运行,得到模拟运行的结果显示;
所述高并发数据处理子系统用于处理多人提交代码编译所发生的高并发现象,实现排队的异步方式,提高代码处理的效率并在出队列后再针对其请求来进行负载均衡;
所述数据编译分析子系统用于将所述自动判题子系统处理的数据回显给用户;
所述微服务单元运行安全跟踪子系统用于实现单元数据处理的实时监测,并及时通报单元运行异常和单元运行结果的情况;
所述Docker隔离编译子系统用于将实现查询语句与更改语句相互隔离进行编译;
所述微服务注册中心用于所述自动判题子系统、高并发数据处理子系统、数据编译分析子系统和微服务单元运行安全跟踪子系统各自服务模块之间的消息转发和负载均衡。


2.如权利要求1所述的SQLServer自动判题系统,其特征在于:所述自动判题子系统包括微服务生产者模块、微服务消费者模块、最终查询SQL语句模拟执行模块和最终更改SQL语句模拟执行模块;
所述微服务生产者模块用于接受所有模块的请求,接受到请求后会处理请求的目的并且通过注册中心实现下一级请求的调用;
所述微服务消费者模块用于从消息队列得到请求并且对其进行处理以得到最终处理接口的位置,然后向微服务注册中心发出最终的请求;
所述最终查询SQL语句模拟执行模块用于得到负载均衡的请求调用后执行SQL模拟环境得到最终的结果;
所述最终更改SQL语句模拟执行模块用于得到负载均衡的请求调用后执行SQL模拟环境。


3.如权利要求1所述的SQLServer自动判题系统,其特征在于:所述自动判题子系统的判题功能是通过运行程序中预留的sql触发器与索引文件来实现的;所述自动判题子系统的成绩显示页面采用Java和JS技术,能够在当前基于过程化考试平台上运行。


4.如权利要求1所述的SQLServer自动判题系统,其特征在于:所述高并发数据处理子系统包括RabbitMQ消息队列模块、生产者发送消息模块、消费者接受消息模块和微服务注册中心模块;
所述RabbitMQ消息队列模块用来将接受到的所有信息进行队列化处理避免消息阻塞;
所述生产者发送消息模块用于将信息发送到消息队列中;
所述消费者接受消息模块用于接受经过消息队列处理后的信息;
所述微服务注册中心模块用于进行服务之间的负载均衡。


5.如权利要求4所述的SQLServer自动判题系统,其特征在于:所述数据编译分析子系统包括微服务消费者-分析模块、微服务生产者-WebSocket接受信息模块、查询SQL语句分析结果模块、更新SQL语句分析结果模块和服务追踪链模块;
所述数据编译分析子系统是将所述自动判题子系统处理的数据传回所述微服务生产者-WebSocket接受信息模块并通过所述微服务生产者-WebSocket接受信息模块将数据回显给用户;
所述查询SQL语句分析结果模块用于将查询语句进行模拟执行,将结果返回给数据库并通过注册中心通知服务跟踪链模块;
所述更新SQL语句分析结果模块用于将更新语句进行...

【专利技术属性】
技术研发人员:刁仁宏马锦程邱志鹏李光成岳桐桥
申请(专利权)人:成都信息工程大学
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1