基于Java的考场管理系统的研究与实现
2017-01-20陈坡坡文福安
陈坡坡 文福安
摘要:随着我国信息化技术的发展,网络考试在各种培训考试、等级考试、认证考试、专业考试等方面应用都非常广泛,且越来越呈现出其卓越的优越性,各种网上考试系统随之而产生。虽然在线考试系统的开发越来越简单,但是在考试过程中,考场管理系统的作用尤为重要,针对这种情况,本文以此探讨了现有的一些考场管理系统,着重分析了基于Java的考场管理系统,介绍了基于java的考场管理系统是如何通过thrift通信实现对考试过程的控制的,使得监考人员能够直接使用这套系统,同时介绍了基于Java的考场管理系统的开发过程的难点研究,希望借此给开发人员提供相应的经验,提高开发的效率。
关键词:考场管理系统;在线考试;java开发;thrift
中图分类号:TP39 文献标识码:A DOI:10.3969/j.issn.1003-6970.2016.04.020
0 引言
随着计算机应用及网络技术的迅猛发展,人们迫切要求利用计算机技术来进行在线考试或者计算机化考试,以减轻教师的工作负担以及提高工作效率,提高考试的质量。从而使考试更趋于公正、客观。由于计算机自动组卷、阅卷,不仅能节省教师大量宝贵时间,而且能彻底消除出卷人的主观影响,考试工作更加规范化,更加客观、真实、全面的反映教学的实际效果,有助于促进教学质量的提高,有助于实现考、教分离,促使教师严格按照教学大纲的要求认真备课,认真组织教学内容,改进教学方法,对提高教学质量和整体教学水平有着非常重要的意义。
目前在线考试系统很多,ETS(美国教育考试服务中心)举办的GRE(美国研究生入学考试)的计算机网络化考试就是最有影响的案例,但是在线考试系统实现的功能差异很大,存在的问题也很多,例如数据库的安全性等,考试系统研究开发仍任重而道远。管理系统的不完善导致了考试的漏洞,所以优秀的考场管理系统的开发,对考试系统的全面发展有重要意义。本文主要是对考场管理系统的关键技术进行研究。
1 考场管理系统的关键步骤
1.1 考场管理系统与考生的通信
在考场管理系统配置好考务的信息后,就需要进行的是考场管理系统和考生机系统的通信,在局域网条件下,使用什么样的通信协议连接考生机系统和考场管理系统,这个就需要考虑考场管理系统和考生机系统的开发语言,由于我们需要使用chrome改装的考生机系统,所以考生机系统和考场管理系统是两种不同的语言,所以我们需要的通信框架就应该是一个跨语言的通信框架,所以thrift通信框架成了我们的首选。
1.1.1 Thrift简介(一个跨语言通信框架)
Thrift是一个跨语言的服务部署框架,最初由Facebook于2007年开发,2008年进入Apache开源项目。Thrift通过一个中间语言(IDL,接口定义语言)来定义RPC的接口和数据类型,然后通过一个编译器通过编译一个后缀名为.thrift的文件来生成指定语言的代码(目前支持C++,Java,Python,PHP,Ruby,Erlang,Perl,Haskell,C#,Cocoa,Smalltalk和OCaml),并由生成的代码负责RPC协议层和传输层的实现:如服务端是用Thrift生成的Java代码,客户端使用Thrift生成的C++/C#代码,用Thrift可以完成C++代码到Java代码的调用,而不需要关心其他如网络通信等内容,可以让开发人员专注于业务实现。
1.2 考试信息的设置
在传统的考试中,我们需要知道我们考试的时间,考试的科目,考试的场次,考试的地点等等,这样我们才能确认需要考试的是哪一门考试,在考场管理系统中,我们也需要知道这场考试的信息,所以需要对考试的信息进行处理,这就需要我们对考试信息经行设置。
1.3 考务数据的导入
在传统的考试中,监考教师会有这场考试的考务信息,这其中就包含了考试的时间,考试的科目,考试的场次,考试的地点等等,所以在考场管理系统中,我们也需要有考务的数据,我们需要把这些考务信息导入到考场管理系统中,所以需要有考务数据的导入。
1.4 考试信息的确认
传统考试中,我们需要确认一下考生信息和考务信息,确认一下这场考试是不是我们将要进行的考试,同时我们需要确认一下这场考试的考生是不是需要考这场试的学生,所以在这套新的考场管理系统中,我们也需要确认一下这些信息,通过对比设置的考试信息和考务数据信息我们来确认当场考试,通过确认考生的信息和考务数据里的考生信息来确认考试学生,只要这两点同时满足,我们就确定了考试的主题和考试的对象。
1.5 试卷的导入,安全的研究
这是考试过程中重要的环节,传统考试过程中最重要的环节是答题,所以对试卷的保护是尤为重要的,考场管理系统负责把试卷分发给每个考生,在分发的过程中就会出现安全的问题,所以在这个过程中就需要提供安全机制,由于不同的网络设施,其安全性是不同的,因此需要根据对网络的安全性要求来选择相应的网络设施。网络中有服务器、考试机、交换机、路由器等,需要针对各种设施的不同特点分别考虑其安全性。网络中存在的安全漏洞以及安全威胁的类型,由于网络的安全漏洞多种多样,使得攻击者可采用多种攻击手段。考试系统中的服务器、考试客户机的操作系统本身有各种各样的漏洞,很多漏洞都能够被黑客利用进而对系统进行控制或破坏,对操作系统的漏洞评估是整个安全项目中不可缺少的一部分。应用服务的软件也不可避免存在有漏洞或缺陷,而且应用系统的配置也是一个关键的因素,如果不考虑安全的配置,很容易被黑客利用。全面的安全策略就是在不同层次上利用不同的安全技术,不同成本的设备相互补充,从而既加强安全,又平衡安全中存在的矛盾。在实际网络环境中应着重考虑网络的通信安全、网络层的安全以及应用安全。
1.6 通知考生登录
这一部分内容是对考生的控制,控制考生的登录时间和答题时间,告诉考生什么时间可以登录系统,下载考试数据,然后进行答题,这就是一个控制器,控制进程,这就相当于传统考试的发卷和通知考生可以答题了。
1.7 考场的监控
这个模块是对传统考试的优化,在传统的考试中,监考教师并不知道考生答了哪些题目,不了解考生的答题进度,考场管理系统完全解决了这个问题,通过对考生机的监控,我们可以知道考生的答题进度,掌握考生的动向,同时可以在监控过程中对违纪考生直接处理,记录违纪考生的信息或者直接禁止违纪考生继续答题。
1.8 导出考试的结果
传统考试的结束就是收回试卷,考场管理系统的结束就是收回考试的答案,在答案的收回之后我们还需要对答案进行处理,因为是计算机化考试,所以阅卷系统也是计算机化阅卷,我们需要把答案的格式变成阅卷系统需要的格式,这样就完成了考场管理系统的整体流程。
1.9 考场管理系统的恢复问题
我们知道系统并不是稳定的,在考试的过程中完全可能会出现考场管理系统的崩溃或者考场管理系统的不稳定,在遇到这些问题时,我们需要做的就是立即恢复系统,使得系统回到崩溃前的状态,这是我们必须要能够保证的,所以对问题的处理也是我们需要研究的内容。
2 本考场管理系统的优点
本研究课题主要是为了实现考生的计算机化答题,让考生抛弃了传统的纸笔答题,这本身就是一种进步,其次,考场管理系统是为了实现计算机对考场的管理,这直接就降低了人的参与度,这也是一种进步,在技术上的创新点有以下几点:
2.1 一种可快速部署的考场管理系统
现有的考场管理系统大都是以数据库的形式保存考生数据,而现要开发的考场管理系统在保存数据上主要是以文件的形式保存数据,用xml格式的文件保存考生答案和考生信息,考场管理系统直接把这些收到的文件保存到本地,省略了数据库的部署,加快了考场管理系统的部署。
2.2 一种安全的考场管理系统的数据处理方法
首先更加安全的是对考务数据的处理,在导入考务数据和试卷的信息时,对这些资料经行加密处理,使得更加安全,同时对服务器进行加密处理,使得在工作过程中不受影响。其次安全的是对数据用xml文件形式处理,更加安全。第三,是对数据的保存更加安全,考场管理系统会保存一份考生的答案,同时考生机本身也对数据进行了保存,这样就使得数据是双份保存,更加安全。
2.3 基于Thrift通信协议的系统解决方案
现在比较流行的通信协议还是TCP/IP协议,但是本系统使用的是Thrift通信协议thrift可以支持多种程序语言,例如:C++,C#,Cocoa,Erlang,Haskell,Java,Ocami,Perl,PHP,Python,Ruby,Smalltalk.在多种不同的语言之间通信thrift可以作为二进制的高性能的通讯中间件,支持数据(对象)序列化和多种类型的RPC服务。Thrift适用于程序对程序静态的数据交换,需要先确定好他的数据结构,他是完全静态化的,当数据结构发生变化时,必须重新编辑IDL文件,代码生成,再编译载人的流程,跟其他IDL工具相比较可以视为是Thrift的弱项,Thrift适用于搭建大型数据交换及存储的通用工具,对于大型系统中的内部数据传输相对于JSON和xml无论在性能、传输大小上有明显的优势。而且这个系统在传输过程中传输的主要是xml文件,所以thrift通信有无与伦比的优势。
3 本考场管理系统的实现
考场管理系统本身就是从现实中的考试过程中抽象出来的,所以它的实现必须满足现有考试的一切功能,所以根据现有考试的流程,本系统实现了这些流程,并且增加了新的功能,下面就按照考试的流程来实现这些功能:
4 总结与展望
本系统适用于局域网内的高利害考试,保证了考生答案的回收与处理,通过thrift技术解决了客户端和服务器的高并发通信问题,使得考试能够在通信安全的情况下完成考试,但是本系统还有可以提高的地方,本次研究开发的考场管理系统只是在北京邮电大学对大学英语进行了测试,测试的次数和范围都比较小,具有一定的片面性。因此,希望以后能够将该考场管理系统放在更多的学校进行测试,从而完善本考场管理系统。由于笔者本人软件开发经验有限,可能导致开发的系统功能不是那么完善,性能不是那么稳定,希望在以后的开发过程中完善系统功能,进一步增加系统的稳定性。