SOA架构的网上阅卷云平台的设计与实现

2019-01-11 08:56
通化师范学院学报 2019年2期
关键词:评卷架构服务器

许 鹏

传统的考试阅卷评分多采用手工方式完成,需要耗费大量的人力、物力,效率低下且缺乏公正性,也不便于数据的统计分析.针对传统阅卷评分方式存在的问题,各学校纷纷引入网上阅卷评分系统,对整个考试阅卷评分流程进行计算机管理.系统可以实现客观题自动评分,主观题阅卷方式灵活,阅卷地点、时间灵活,提高了工作效率,节约了成本,减轻了教师的负担.网上阅卷屏蔽了考生信息,可有效避免印象分、人情分出现,确保阅卷结果客观公正[1].系统引入分级监控、多评误差监控机制可有效降低人为差错.系统还保存了考生答卷图像、评卷批注、考生成绩等信息,教师可以随时调阅信息进行讲解,学生也可通过系统的数据分析了解自己对学科知识点的掌握情况,据此找出自己的薄弱环节,进行针对性的补缺补差.

由于学校的信息化基础设施建设情况、技术人员储备存在差异,传统架构模式的阅卷评分系统已无法满足现实需求,一方面需要软硬件投入,缺少系统开发维护人员,另一方面系统是信息孤岛,无法对各校信息资源进行整合.本文在分析SOA架构相关技术的基础上,提出了一种SOA架构的网上阅卷云平台,并对系统的开发流程进行深入研究.

1 SOA架构的云平台关键技术

1.1 面向服务的体系架构(SOA)

SOA(Service-oriented Architecture)是一种架构,而不是方法学,它将网络上的资源看成是Service,本质上是一种分布式计算技术,与Corba/DCOM很类似,SOA更注重的是Service的独立性和松耦合性,不依赖其它Service的上下文和状态,而Corba/DCOM是紧耦合的,依赖性很强[2].因此,SOA可以保持软件的随需而动.SOA的核心是采用Web Service/XML/SOAP等技术,使得Service与底层的硬件、操作系统和开发语言无关,可以对异构系统在数据层、业务逻辑层进行集成.

1.2 云计算

云计算是一种分布式计算[3],服务提供者将复杂的应用程序分解成若干个服务,部署在各服务器上,服务器接受到用户的服务请求后,通过查找与分析之后,再将处理结果回传给使用者.凡是通过互联网所提供的应用服务,使用者不需要了解服务器置放于何处或是内部如何运作,都被称为云服务,有下列几种服务.

(1)基础设施即服务:硬件资源和计算能力以应用服务形式提供给用户.

(2)软件即服务:是通过Internet提供软件的一种服务模式,用户可以根据自己实际的需求,通过互联网向厂商订购所需的应用软件服务.

(3)平台即服务:提供开发人员、IT管理者或使用者在无须购买任何硬件和软件的情况下,可通过平台去创建、设计、测试和部署应用和服务.

(4)数据库即服务:数据库即服务比起一般只提供储存空间的服务多了数据库的运算能力,各种不同格式或不同来源的数据,只要通过网络即可进行存取.

1.3 SOA架构的阅卷评分云平台

结合云计算与SOA的优点,设计基于SOA架构的阅卷云平台分层架构,系统整体上采用SOA架构模式,对于各层可采用云计算技术给予支撑.如图1所示.

图1 SOA架构的阅卷云平台

基础设施层:在云环境下,基础设施即服务,按需提供给客户计算能力与存储能力,该层包含计算、存储资源、数据库、网络、操作系统、负载均衡器,以及其他资源等[4].

数据层:基础数据库包含科目知识点、班级、年级、学校、主管单位的基础数据、消息通知、基础权限认证;评卷数据库包含考卷配置库(题目、题块模板、试题知识点、答案规则、给分点、考生、试卷、考生参考科目、评卷员)、考卷任务库、题块切图实例、评卷任务、试卷扫描库;评卷结果数据库包含考试统计库、成绩库、归档库.

应用支撑层:事务处理组件、数据库引擎组件、统计组件、定时服务组件、监控组件、缓存组件、消息组件;基础数据服务、消息通知服务(短信、Email、站内信)、权限认证服务(资源授权、数据授权、用户认证)、调度服务、Web Service、Spring MVC框架等.

业务功能层:子系统分析、系统分析(运维平台、阅卷评卷平台、扫描上报服务)、统计分析(评卷公众平台).

客户层:主要通过浏览器与云平台进行交互.

2 系统需求分析

2.1 功能性需求

利用各种需求分析方法和工具(包括构建系统原型、用户访谈、领域专家参加的座谈会等)获取用户需求,确定系统的主要功能模块如图2所示.

图2 网上阅卷云平台功能模块

评卷公众平台:平台面向的用户是学生家长、班主任,功能是查看学生、班级、学校的考试成绩,以及与成绩相关的数据分析统计信息.

试卷扫描服务:扫描基础管理功能,包括扫描启动管理、扫描登录,提供待处理扫描任务功能,另外还提供扫描进度管理功能.

阅卷评卷服务:面向的用户是教育局、评卷员、评卷组长,功能模块包含评卷监控、评卷进度明细、发起考试模块、评卷模块、考试模块、成绩模块.

评卷运维服务:面向的用户是系统运维人员,主要功能有基础信息管理、系统管理、用户信息管理评卷计划服务,主要用于后台定时执行的计划任务.短信提醒服务、任务生成、统计数据生成、监控数据生成、数据备份及迁移.

评卷web服务:主要功能是试卷扫描上报服务、试卷配置信息读取服务、基础数据服务、消息通知服务、权限认证服务、调度服务等.

报表管理服务:主要功能是自定义与考试相关的各种成绩报表格式,并按用户需求打印输出.

报表管理服务:生成各种成绩,包括科目单科分、主观分、客观分、总分、大题分、小题分、知识点分等,查询、打印、导出成绩报表等.

数据分析服务:按照用户需求,对历史数据和在线数据进行多维分析,为考生的学习、家长的辅导、教师的教学、领导的决策提供重要支撑.

考试管理服务:主要对整个考试流程进行规范化管理.

2.2 性能需求

系统性能需求体现在以下几个方面:①具有开放的数据接口,可与其他系统集成.②数据库支持分布式部署.③系统具有较高的响应性能与并发访问性能.④系统具有可扩展性和容错性.

3 系统设计

在需求分析的基础上,本文利用UML建模语言中的用例图确定系统的用户、功能模型和系统的边界,通过业务流程图设计明确系统内各用户的业务关系,作业顺序,便于对业务流程进行优化处理,方便用户沟通,为系统分析提供依据[5].

3.1 系统用例设计

通过用例设计,确定系统的主要角色包含:学生、家长、小组长、题组长、评卷员、扫描员、教育局信息管理员、学校信息管理员、运维人员.利用系统功能与角色的关系得到系统主要用例图,限于篇幅,这里仅给出信息管理与考评员的用例图,见图3、图4.

图3 信息管理员用例图

图4 考试考评员用例图

通过对用例图的分析,可以确定系统的主要功能模块以及系统的边界,明确系统的开发范围.

3.2 系统业务流程设计

系统流程在对系统用例图分析的基础上,可以得到系统的主要业务流程.本系统总体的业务流程设计原则是定义统一的流程模板,各业务流程在标准流程模板基础上进行补充与裁减.包含核心流程、支撑流程与异常流程.核心业务流程考试阅卷评分流程如图5所示.

该业务流程的主要步骤是由教育局管理员发起考试,选择评卷科目,指定科目组长,科目组长选择参加考试的学校并上报参加考试的考生信息(参考学生信息可按规定格式导入到系统中),科目组长对学校上报的考生进行审核,审核完成后要求参考学校管理员上报评卷老师信息并筹建评卷组,科目考试完成后由扫描员扫描答题卡上传系统,题块组长确定标准卷,评卷员进行正式评卷,最后发布成绩.

图5 扫描评卷流程图

3.3 数据库设计

规范化的数据库设计可以有效规避系统风险,通过需求分析找出系统的实体以及属性,设计E-R图,然后映射出数据库表.本系统主要包含以下数据库表:FAQ、考试任务、考试学校、考试成绩、考试科目、考试、知识点、知识点目录、角色、评卷人员、评卷任务、评卷得分、试卷题、通用分类码、题块切图实例、题块模板、试卷题知识点、行政区域、考生、系统参数、给分点、答题卡实例、班级、年级等.按照关系规范化理论对数据表进行设计,设置主关键字保证实体的完整性,设置外部关键字保证参照完整性,

通过约束机制保证域完整性.另外通过视图、存储器、触发器、事务处理机制等提高数据库的运行效率和数据库的安全.由于系统还要对考试成绩的历史数据和实时数据进行分析,需要构建数据仓库,在此基础上构建数据事实表和维度表.总分事实表、科目分数事实表与维度表关系如图6、图7所示.

图6 总分事实表与维度表关系分析

图7 科目分数事实表维度分析

4 系统的实现与部署

网上阅卷评分系统开发平台采用Java开发平台,利用Java EE、SpringMVC、Hibernate、REST-ful、Tomcat等关键技术组件进行开发,系统的可移植性高,便于后期维护和扩展[6].系统开发的主要功能模块包含:考试管理服务、图像管理服务、评卷服务、数据归档服务、评卷运维服务、评卷管理服务、缓存服务、扫描端服务、消息发送服务、业务监控服务、数据分析服务、报表服务、公共接口服务、客户管理服务等.

图8 网络阅卷评分云平台的部署

网上阅卷评分系统采用灵活的SOA构架进行部署,如图8所示,图中的各个服务都可以进行分散、聚合或者迁移到不同的服务器上运行,服务之间可相互通信和交换数据,具有高可用、负载均衡、弹性配置、零停机升级/切换等特点.客户端与服务之间的通信采用域名进行通信,通过域名解析服务连接到相应的服务,与传统的通过IP地址直接与服务器通信的方式对比,具有更高的灵活性.

其中,云存储用于保存每次考试所扫描的图像和扫描后切割的图像,设置云前置服务器目的是优化系统性能,支撑评卷业务中产生的海量数据,减少数据中心的业务压力.该服务器的性能可动态调整配置,在评卷业务进行时加大服务器配置,在没有评卷业务时,将数据归档到数据中心,然后降低配置或直接关闭该服务器.前置服务器每次完成评卷后,自动将数据发送到数据中心进行归档,然后初始化前置服务器的数据库,为下次评卷做好准备.可在互联网上部署多个前置服务器,服务器数量根据考试的规模和客户分布的地区而定.

云数据中心服务器部署了系统各种业务的服务,下文介绍几种关键的业务服务.

(1)安全网关服务.以代理网关的模式统一管理整个系统的权限,简化权限的分配和控制过程,更好地支持云计算环境下的安全管理.各个前置服务器在受理用户请求时,都需要将请求转发到安全网关服务进行审核,审核通过才能进行下一步操作.

(2)考试管理服务.提供发起考试、参加考试学校设置、参加考试考生设置、试卷管理等考试相关业务的服务.

(3)评卷服务.提供题目配置、评卷活动管理、评卷任务管理、评卷抽查、评卷科目/题目选择、下载/上传离线评卷数据、评问题卷、评卷痕迹记录、仲裁评卷、评卷教师指定、开启评卷、生成评卷、自动回收等评卷相关的服务.评卷管理服务是考试管理系统的核心服务之一.

(4)成绩管理服务.提供成绩录入、导入、导出、查询、检查、审核、发布、分析、计算、合成、归档等相关的服务.

由于租用的互联网云存储、云服务器普遍存在安全性和可持续使用的问题,云安全需要考虑的问题比较多,因此在系统设计部署时必须建立容灾机制,养成良好的备份习惯,防范于未然.IDC灾备服务器通常只用作备份,不承载业务,旨在系统发生灾难时减少损失和故障恢复时间,服务器可配置较大的存储和较低的性能以节约成本.当云计算出现故障时,可临时将服务迁移到灾备服务器上,保障客户正常使用系统[7].

5 总结

随着云计算、大数据技术的快速发展,新信息技术革命已促进传统的考试阅卷评分业务模式的革新,SOA架构的网上阅卷评分云平台由于管理和部署更灵活,可以将学校的教务管理人员、教师、学生等从传统的繁杂的考试阅卷评分业务中解脱出来,他们只需要专注自己的业务就行了,依据阅卷评分的业务流程,各用户角色只要各司其职,完成各自分配的任务,就能高质量地完成此项工作.

猜你喜欢
评卷架构服务器
基于FPGA的RNN硬件加速架构
功能架构在电子电气架构开发中的应用和实践
服务器组功能的使用
通信控制服务器(CCS)维护终端的设计与实现
基于云服务的图书馆IT架构
2019年对口升学考试网上评卷考生答题注意事项
PowerTCP Server Tool
“画海”评卷
计算机网络安全服务器入侵与防御
VoLTE时代智能网架构演进研究