(计算机系统结构专业论文)基于中间件平台的网上阅卷系统的设计与实现.pdf_第1页
(计算机系统结构专业论文)基于中间件平台的网上阅卷系统的设计与实现.pdf_第2页
(计算机系统结构专业论文)基于中间件平台的网上阅卷系统的设计与实现.pdf_第3页
(计算机系统结构专业论文)基于中间件平台的网上阅卷系统的设计与实现.pdf_第4页
(计算机系统结构专业论文)基于中间件平台的网上阅卷系统的设计与实现.pdf_第5页
已阅读5页,还剩50页未读 继续免费阅读

(计算机系统结构专业论文)基于中间件平台的网上阅卷系统的设计与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

i 摘摘 要要 网上阅卷系统利用计算机和网络支持阅卷教师完成阅卷工作, 解决了传统人工阅 卷模式下效率低、 容易出错、 难以控制阅卷质量等弊端, 保证了考试阅卷工作的高效、 准确、公平和公正,是考试阅卷的发展方向。但是,现有类似应用系统在体系结构的 适应性、性能和稳定性等方面还存在不少问题,有改进的必要性和可能性。 结合基于 internet 的应用系统发展趋势, 所设计的网上阅卷系统采用了 j2ee (java 2 platform,enterprise edition)架构,并以 ejb(enterprise java beans)为中间件标 准。为使系统性能和稳定性得到较大改进,详细分析了网上阅卷的数据组织和处理特 点,合理利用了缓存技术、并发技术和数据库连接资源共享技术,并对访问数据库的 中间件作了优化。 缓存技术在服务器内存中建立数据库中部分数据的映像, 缓和数据库与应用服务 器内存之间的速度差距, 并根据网上阅卷的数据访问规律设计合理的数据预取与淘汰 策略,将网络的传输效率和数据库的存取效率对数据存取效率的影响降至最低。由于 ejb 规范中不允许多线程 bean 以及 rmi-iiop(remote method invoke-internet inter- object request broker protocol) 的阻塞调用模式, 从而限制了查询等任务的并发实现。 为解决这一问题,采用 jms(java message service)与 mdb(message-driven bean) 的集成实现并发,不仅保证了系统响应时间,而且也增强了其稳定性。为解决频繁的 与数据库连接和断开对系统性能造成的影响,构建了数据库连接池,即在系统初始化 时就配置若干连接放置于连接池中,并采用定时检测机制监控和管理连接,当连接不 够用时创建新连接, 同时及时回收空闲连接, 从而实现了连接资源的高效和安全共享。 分析了数据访问中与性能相关的主要因素, 采用 session bean 封装对 entity bean 的访 问,并改变 entity bean 对数据库的更新时机,优化了数据访问中间件。 实际运行结果表明,所设计的系统性能较同类系统有很大的提高,稳定性有所增 强,具有一定的推广实用价值。 关键词:关键词:网上阅卷系统,企业级 java beans,缓存,连接池,并发 ii abstract with the help of computer and network, online marking system can support teachers for their marking work, it can resolve problems in traditional manual marking work, such as inefficient, prone to error and difficult to control quality control, thus ensure the efficient, accurate, fair and impartial in the marking work. online marking is the trend of test paper marking. however, there are still many problems in application systems currently. so it is necessary to improve the architecture of adaptability, performance and stability of the system. considering the development trends of applications based on internet, the online marking system designed here used j2ee(java 2 platform,enterprise edition) architecture and ejb(enterprise java beans) standard. in order to improve the performance and stability, on the basis of analysis of data structure and proceeding, four kinds of technologies are well used here, that is, cache mechanism, concurrent technology, sharing of resources in the database, and optimization the middleware which visited the database. in order to reduce the speed gap between the application server and the database, and to improve the data access efficiency influenced by network transmission and database access, the cache mechanism set up image data in the memory of application server for data in the database, and the policy of data access and elimination of the cache is well designed according to the data access rule of the online marking. multithreading bean is not allowed in ejb standard, and rmi-iiop (remote method invoke-internet inter- object request broker protocol) can only use blocked transfer mode, so some concurrent work can hardly be completed, in order to solve this problem, concurrency is implemented by the combination of jms(java message service) and mdb(message-driven bean), it not only ensured the response time, but also improved the stability. database access efficiency is sometimes influenced by frequent connection and disconnection with the iii database, in order to make database access more effective, and to make the connection resources share efficiently and safely, connection pool is used here, it initialed by some connections, a timer will monitor and manage connections all the time, a new connection will be build when needed, and idle connections will be closed. in order to optimize data access efficiency of middleware based on ejb, on the basis of analysis of the key factor which influent the data access efficiency mostly, the interface of entity bean is encapsulated by session bean, and the updating time of entity bean for database is changed. it is proved that the efficiency of the system designed here is improved greatly, and the stability is advanced. it is worthy to practice. key words:online marking system,enterprise java beans,cache,connection pool, concurrence 独创性声明独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除文中已经标明引用的内容外,本论文不包含任何其他个人或集 体已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体,均已在文中 以明确方式标明。本人完全意识到,本声明的法律结果由本人承担。 学位论文作者签名:陈小霞 日期: 2006 年 5 月 8 日 学位论文版权使用授权书学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:学校有权保 留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本 人授权华中科技大学可以将本学位论文的全部或部分内容编入有关数据库进行检索, 可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 保密 ,在_ _年解密后适用本授权书。 不保密。 学位论文作者签名:陈小霞 指导教师签名:陈晓苏 日期:2006 年 5 月 8 日 日期: 2006 年 5 月 8 日 本论文属于 1 1 绪言绪言 1.1 课题研究背景课题研究背景 网上阅卷系统利用计算机和网络支持阅卷教师完成主观试题的阅卷工作, 集图像 扫描识别、数据库访问与网络技术于一体。在进行阅卷之前采用高速扫描机批量扫描 录入答卷,按答卷中的各试题进行图像切割。在阅卷过程中,阅卷系统按照规则分发 试题、 控制阅卷流程, 保存考生分数, 提供阅卷质量监控所需的数据和分析查询功能。 阅卷教师通过客户端调取试题,评阅,并将分数存入数据库。 传统的考试阅卷管理中, 采用人工调取试卷、 人工判卷评分的模式, 考卷的保存、 管理与查阅效率低,而且容易出现各种阅卷差错,难以控制阅卷质量,学生分数的统 计和查询也比较困难。在这种背景下,教育部考试中心提出了网上阅卷模式,它以计 算机网络和电子扫描技术为依托,以控制主观题评分误差、实现考试公平性原则为最 终目的,把多年来人工阅卷积累起来的丰富经验和现代高新技术相结合,是由阅卷教 师在计算机辅助下完成试卷评阅的一种全新工作模式1。 “网上阅卷对于传统的考务是一种观念上的革命, 网上阅卷的优越性通过系统的 先进性而实现。网上阅卷将成为今后教育考试阅卷的发展方向” (教育部考 试中心200011 号文件: 关于在高考中扩大网上阅卷试点工作的通知 ) 。利用信息 技术手段,实施计算机网上阅卷,是保证考试阅卷工作高效、准确、公平、公正的有 效手段,代表了考试阅卷的发展方向。 1.2 网上阅卷系统的技术发展现状网上阅卷系统的技术发展现状 据介绍, 美国教育考试服务中心和英国剑桥大学考试委员会都有自己的网上阅卷 和软件自动阅卷系统1,但对国外这方面的进展,可获得的资料不多。目前,国内网 上阅卷系统已经有产品投入使用。网上阅卷使用了多种现代高新技术,在这一节中仅 对主观题网上阅卷系统中运用到的技术进行分析。 (1) c/s 架构的网上阅卷系统技术发展现状 2 系统采用三层 c/s 架构, 即数据服务层、 应用服务层和客户层。 其结构见图 1.1。 其中,应用服务层又划分为数据访问子层、业务逻辑层和通信层。 数据库 质量 控制 评分 规则 异常卷 管理 正评 管理 用户 管理 负载 均衡 数据 处理 应用服务器 评卷 质量 管理 客户端 评卷 质量 管理 客户端 图 1.1 c/s 架构的网上阅卷系统结构图 应用服务层在物理上可以是一台服务器,也可以是一个服务器群。如果是服务器 群,则存在一个主控服务器和若干从属服务器,共同为客户端提供服务。应用服务层 和客户端都有通信模块可以相互通信,应用服务层的运转也由通信模块来驱动。应用 服务层对数据库的访问由数据访问模块完成。 应用服务器之间通过负载均衡模块来相 互协作。 (2) 基于 b/s 架构的网上阅卷系统技术发展现状 系统采用多层 b/s 架构。 在数据服务层,试题图像以文件的形式存储在文件服务器上,将它们的文件名和 其它属性以索引的形式存放在高性能的数据库服务器中,在客户端取题时,应用服务 层经过一定的逻辑,在数据库中查找到试题对应图像的文件名和服务器位置,再向文 件服务器请求图像数据。这种架构下文件服务器相互之间不存在藕合,扩展性好,文 3 件服务器可以根据需要随时增加或减少。通过将试题图像从数据库中分离出去存放, 减轻了数据库 i/o 的压力。 在应用服务层端, 采用成熟的中间件技术和流行的负载均衡技术构建应用服务器 集群。应用服务器负责应答客户端的请求,控制阅卷流程和试题的分发。应用服务器 之间有通信协议,并以某种方式实现负载均衡。以这种方式构建的中间层,具有开发 快速和维护简单的特点。 在客户端,使用 ie 浏览器作为用户界面,使用流行的 java 或 asp 等技术来开发 客户端,客户端无需安装和维护。 1.3 本课题研究的意义、内容及目标本课题研究的意义、内容及目标 1.3.1 研究意义研究意义 通过网上阅卷系统的应用,可以达到以下目标: (1) 实现试卷的电子化存储、管理和查询,减轻考试部门在试卷档案管理上的 压力。 (2) 标准化答题使用 omr/ocr2技术自动阅卷,降低成本,减少阅卷误差, 提高阅卷速度。 (3) 在主观题阅卷中, 通过引入误差控制模型和流程、 流量、 速度等控制手段, 实现全程跟踪和监督,使阅卷质量得到保证。 尽管目前投入使用的网上阅卷系统使用了多种现代高新技术以达到上述目的, 但 现存的主观题网上阅卷产品仍存在不足: (1) c/s 架构的网上阅卷系统 在 internet/intranet 技术深入发展和广泛应用的今天, 传统的 c/s 计算方式已经不 能适应新的需要。传统的 c/s 计算模型中,表示逻辑位于客户端,数据逻辑位于服务 器端,而商务逻辑或者位于服务器端或者同时存在于客户端、服务器端,这种体系结 构存在种种缺陷:“胖”客户端,客户程序同时要处理表现逻辑和商务逻辑,导致客 户端规模较大;商务逻辑不能由多个客户程序共享;客户端的数量受到服务器处理能 4 力的限制,系统的可扩充性不好;系统维护代价高,当商务逻辑层变化时,需要同时 更新客户端和服务器端的内容。这些缺陷使 c/s 计算模型难以适应 internet 应用系统 的需要。 从安全的角度来说,现有系统的运行环境主要为局域网环境。广域网环境下,要 求客户端以 vpn 方式连入。如果客户端无法以 vpn 方式连入,则系统的安全性会受 到影响。 (2) 基于 b/s 架构的网上阅卷系统 现有的 b/s 架构的网上阅卷系统大多借用了比较成熟的开发模型和技术, 虽然开 发速度快,可扩展性和兼容性较好,但对网上阅卷这样 i/o 密集和 cpu 密集的运算 来说,如果不针对系统本身的特点做专门优化,系统的性能表现将很难达到市场的期 望。 其次,现有的系统多数依赖较高的硬件配置,运用了服务器集群、负载均衡等流 行技术手段,但即使采用高性能的配置,系统在性能和稳定性方面仍存在不少问题, 在系统负荷很大的情况下有可能当机,主要原因可能是资源耗尽和发生死锁等原因。 本课题在已有研究成果的基础上, 进一步探索适合 internet 上 web 计算特点的实 现方案,重点解决性能和稳定性问题,在此基础上进一步降低硬件要求和成本,为用 户带来更多的便利,在创造巨大社会效益的同时,也为社会创建巨大的经济效益。 1.3.2 研究内容研究内容 本课题的主要研究内容包括: (1) 分析网上阅卷系统的需求及技术现状,提出适合网上阅卷系统这一具体应 用的多层分布式架构。 (2) 充分考察网上阅卷系统具体应用的多个方面,并对多层分布式技术、中间 件技术、并发技术以及资源共享在数据库访问中的应用技术等进行研究,设计网上阅 卷系统的相关模块。 (3) 结合网上阅卷的具体特点,实现网上阅卷系统的相关模块,并对系统进行 5 评估。 1.3.3 研究目标研究目标 本课题将在已有研究成果的基础上, 进一步探索结合网上阅卷系统本身特点的实 现方案。该方案在保持现有网上阅卷系统功能基本不变的情况下,还应该达到以下目 标: (1) 采用适合 internet 上的 web 计算特点的架构。 (2) 针对网上阅卷系统的特点,给出专门的性能优化方法。 (3) 考察导致系统不稳定的因素,给出相应的解决办法。 (4) 易于扩展、维护和使用。 6 2 基于基于 j2ee 的企业级应用相关技术的企业级应用相关技术 本章将针对第一章提出的研究内容和设计目标, 在对网上阅卷系统的技术需求进 行分析的基础上,讨论基于 j2ee 的企业级应用涉及的相关技术,重点讨论 j2ee 的 企业级应用架构、中间件以及 ejb 技术、并发以及相关组件技术、资源共享以及连 接池技术,为后文的总体架构设计和实现做准备。 2.1 j2ee 的企业级应用架构的企业级应用架构 j2ee 架构是适合 internet 上的 web 计算特点而产生和发展的3,4,与传统的 c/s 计算模型相比,j2ee 架构采用组件的思想,将商务逻辑从客户端、服务器端独立出 来, 更适应于日益复杂化的商务逻辑需要, 从而带来了开发、 维护和使用时的便利5。 2.1.1 j2ee 体系结构体系结构 j2ee 体系结构分为客户层、web 层、业务层及数据层,其中,web 层和业务层 合称为中间层6。j2ee 的体系结构7,8如图 2.1 所示。 browse html java applet 其他客户端 web server jsp servlet javabean db ejb ejb 容器 客户层web层业务层数据层 rmi jdbc 图 2.1 j2ee 的体系结构 j2ee提供了企业运行环境, 可用于开发和部署多层体系结构的应用, 可通过j2ee 提供企业计算环境所必需的各种服务,使得部署在 j2ee 平台上的多层应用可以实现 7 高可用性、安全性、可扩展性和可靠性。其优越性在于:技术平台支持 java 语言, 使得基于 j2ee 标准开发的应用可以跨平台移植;java 语言非常安全、严格,开发者 可以编写出非常可靠的代码;j2ee 提供了企业计算中需要的所有服务,且更加易用; j2ee 中多数标准定义了接口,如 jndi、jdbc 等,因此可以和许多厂商的产品配合, 易于得到广泛的支持;j2ee 确立了一个广泛而通用的标准,大大简化了应用开发和 移植过程9。 j2ee 多层分布式的应用模型将应用逻辑根据功能划分成组件,这些组件包括应 用客户组件(application client components)、ejb 组件、servlets、jsp 及 applets 等, 可以在同一个服务器或不同的服务器上安装这些的组件。 一个组件被安装的地方取决 于该组件属于 j2ee 架构中的层。 j2ee 将组成一个完整企业级应用的不同部分纳入不 同的容器,每个容器中都包含若干组件(这些组件是需要部署在相应容器中的),同时 各种组件都能使用各种 j2ee service/api。j2ee 容器主要有以下 4 种: (1) web 容器 服务器端容器,包括的组件为 jsp 和 servlets。jsp 和 servlets 都是 web 服务器 的功能扩展,接受 web 请求,返回动态的 web 页面。web 容器中的组件可使用 ejb 容器中的组件完成复杂的商务逻辑。 (2) ejb 容器 服务器端容器,包含的组件为 ejb,它是 j2ee 的核心组件之一,主要用于服务 器端的商业逻辑的实现。ejb 规范定义了一个开发和部署分布式商业逻辑的框架,以 简化企业级应用的开发,使其具备可伸缩性、可移植性和安全性等,并支持分布式事 务处理和多用户。 (3) applet 容器 客户端容器,包含的组件为 applets。 (4) application client 容器 客户端容器,包含的组件为客户组件。 利用上述 4 种容器,j2ee 能够灵活地实现企业级应用的架构。 8 2.1.2 mvc 架构架构 mvc 是企业级应用的常用开发模式,它可以分离数据访问和数据表现。modal 是数据和业务逻辑,view 是数据在客户端的展示,control 是 modal 和 view 之间的 桥梁,用来接受并转发客户端请求。 所有的数据以及商业逻辑都可以作为 modal。view 可以通过 modal 访问数据, 并根据客户端的要求来显示数据。view 必须保证当 modal 改变的时候,数据显示也 必须同时改变。control 用来结合 modal 和 view,把客户端来的请求转换成 modal 能够理解并执行的请求, 并且根据请求以及执行结果来决定下一次显示哪一个 view。 应用的商业逻辑由 mvc 中的 modal 也就是 ejb 来表现。modal 必须处理由 control 传递过来的对数据的访问请求。多个页面组成了 mvc 中的 view,这些 view 必须随 modal 一起更新。control 是一系列接收用户动作的对象,他们把用户的请求 转换成 modal 可理解的请求,并决定当 modal 处理完请求后显示哪一个页面。 首先,mvc 结构适用于多用户的、可扩展的、可维护的和具有很高交互性的系 统。 其次, mvc 可以很好的表达用户的交互和系统 modal, 可以很方便的用多个 view 来显示多套数据,使系统很方便地支持其他新的客户端类型。最后,mvc 可以使代 码重复达到最低。 2.2 企业级企业级 java beans 2.2.1 中间件技术中间件技术 中间件10是一种介于操作系统与应用系统之间的独立的系统软件或服务程序, 分 布式应用借助它在不同的技术之间共享资源、协同工作。从广义的角度来看,中间件 代表了处于系统软件和应用软件之间的中间层次的软件11, 其主要目的是对应用软件 的开发和运行提供更为直接和高效的支撑。 当前,中间件技术已成为软件技术的研究热点之一。主要的中间件分类有:数据 访问中间件12,13、远程过程调用中间件14、事务中间件15、消息中间件16和面向对 9 象中间件17等。目前主要的中间件标准有 omg 的 corba、微软的 com 和 sun 公 司的 ejb。它们的异构性和开放性各有不同,适用于异构环境、开放的 corba 是 internet 与企业应用事实上的工业标准,而特定于 windows 平台专有的 com 则是桌 面系统的首选,ejb 则兼具二者之优势18-20。 目前,中间件技术正在从 intranet 扩展到 internet,一些新型的中间件技术,如 web services 应运而生,获得了产业界和学术界的支持。 在多层分布式应用软件系统中,越来越多地在应用服务层使用中间件技术,使得 应用服务层更加模块化,对快速开发和快捷维护的支持也更好。 2.2.2 ejb ejb 组件是一种服务器端组件,它使得应用 java 语言可以开发分布的、面向对 象的企业级应用,并且简化了整个过程。ejb 组件通常不能单独运行,而是运行在 ejb 容器中。ejb 容器是 ejb 组件生存和执行的运行环境,管理 ejb 组件的安全性、 并发性和事务等细节,从而使 ejb 组件免受服务器相关性的制约,应用系统可以在 一个支持 ejb 的环境中开发,开发完之后可以部署在其它的环境中,并且随着需求 的改变,应用系统可以不加修改地迁移到其它功能更强、更复杂的服务器上21。ejb 的运行结构如图 2.2 所示。 j2ee api 应用服务器(例如weblogic server) jsp web服务器ejb容器 servlet ejb ejb web 客 户机 java 客 户机 jndi rmi 调用j2ee api调用j2ee api 图 2.2 ejb 的运行结构 ejb 组件有三种类型:session bean、entity bean 和 mdb。 10 (1) session bean session bean 代表商务过程对象,它执行商务逻辑、算法、规则和工作流程,是 具有商务过程逻辑的可重用组件。在某一时刻,session bean 仅对一个客户可用,不 能和其他客户共享。 (2) entity bean entity bean 代表数据库或另外一个企业应用系统中的数据对象, 如代表数据库中 的一行记录。entity bean 不包括商务逻辑,它们只是数据模型。其意义在于它将底层 数据以对象的形式映射到内存中, 供其他组件使用。 从本质上说, entity bean 在 j2ee 体系结构中执行数据访问逻辑的功能。 (3) mdb sun 公司在 ejb2.0 中提出了一个新的 bean 类型 mdb。mdb 允许 j2ee 应用 可以异步处理消息。 2.2.3 分布式对象分布式对象 ejb 组件是基于分布式对象的22。 分布式对象机制允许一个计算机上实现的对象 向运行在别的内存地址空间的对象传送消息,一般通过网络发送23-25。一个分布式对 象是可以从远程系统调用的对象,它可以由一个进程中的用户来调用,也可以由一个 进程之外的用户来调用,或者由网络上的某个用户来调用。图 2.3 显示了一个客户端 如何调用一个分布式对象。 网络 客户端 skeletonstub 分布式对象 远程接口 远程接口 图 2.3 分布式对象 11 (1) 用户调用一个存根程序(stub) ,它是一个客户代理对象。这个存根程序 负责处理与客户端的网络通信。存根程序知道怎样使用 socket 在网络中进行调用以 及将参数映射到网络的表达方式。 (2) 存根程序通过网络调用一个叫做框架程序(skeleton)的服务器端代理对 象。框架程序处理来自分布式对象的通信。框架程序知道如何通过 socket 来接收一 个调用,而且它也能将参数的网络表达方式映射为 java 表达方式。 (3) 框架程序将调用委托给分布式对象。分布式对象完成了它的工作之后,将 控制权转给框架程序,框架程序接着又将控制权转给存根程序,存根程序最后将控制 权转给客户端。 这里的一个关键之处在于存根程序和分布式对象实现同一个接口(叫做远程接 口) ,这就是说,存根程序复制了分布式对象的方法特征。一个客户端程序调用一个 在存根程序上的方法时,会认为它是在直接调用分布式对象上的方法。实际上,客户 端只是调用了一个空的存根程序,而这个存根程序知道如何处理网络问题。这被称作 本地/远程透明性。 2.3 缓存技术缓存技术 缓存在实际应用中非常常见,通常是在两个存取速度差距很大的对象(比如数据 库和应用服务器内存)之间加一个缓存来匹配二者的速度。缓存的恰当使用将极大地 改善系统的性能和稳定性。 经分析, 在网上阅卷应用中, 数据访问存在以下的规律性: (1) 对多评题, 如果某道试题图像被调取一次, 很可能不久它还会被多次调取, 或者可以以某种强制机制,使它最先被调取,从而使这道试题优先达到终评。 (2)对多评题,如果某道试题的分数记录被使用一次,则它很可能还会被多次 使用。 从以上分析可以看出,网上阅卷系统的数据访问中,存在着比较好的 cache26 实现条件。基于上述事实,本课题决定采用与同类产品不同的架构实现,将试题数据 也存入数据库,试题的存取通过数据库访问来实现。因为数据库本身有对记录预取和 12 cache 的功能27,28, 而文件系统没有。 另外, ejb 容器提供了缓存机制, 可以通过 ejb 容器设置 ejb 缓存大小 2 29 9 。 但是,数据库总是按固定的算法,如 lru30等,来完成 cache 的更新和淘汰, 不知道网上阅卷数据存取的特殊逻辑, 不能根据其本身的特点采取相应的预取题和淘 汰策略,它的 cache 的作用必然是有限的。此外,每次取题必须经由数据库,数据库 与应用服务器之间的网络带宽没有得到节省, 因而也限制了系统可连接的最大客户端 数。最后,根据网上阅卷的特点控制 ejb 缓存非常复杂。因此,本系统还将设计服 务器与数据库之间的缓存机制31-33,或称 cache 机制。 2.4 并发技术并发技术 在许多实际应用中,并发处理是非常必要的,因为它可以提高程序的吞吐量、执 行速度以及响应能力34。 在java中可以很容易地通过多线程实现并发性35, 但是j2ee 架构下,ejb 规范中不允许多线程 bean36,因此要想在具体应用中实现并发是受到 严格限制的。此外,session bean 和 entity bean 是使用 rmi-iiop 进行访问的分布式 组件37,38,当服务器处理 rmi-iiop 客户的请求时,rmi-iiop 客户必须等待(或称阻 塞) ,只有当服务器完成了它的工作时,客户才会收到返回结果,继续进行下一步处 理, 也就是说只能同步调用 session bean 及 entity bean 上的方法。 这些都使得在 j2ee 架构下的许多应用无法直接利用并发处理, 因此在对客户端的响应时间上就得不到保 证。 一种替代方法是使用 jms 与 mdb 的集成39。消息机制的工作原理如下:在客 户和服务器之间存在中间人层,中间人层从一个或多个消息发生者接收消息,然后将 这些消息广播到一个或者多个消息使用者, 消息发生者发送完消息后可以继续进行其 他处理,当使用者处理完消息后通知客户。消息机制的客户不必阻塞,即可以进行异 步程序设计40,41。mdb 实现了一组新的接口,这组接口使得 mdb 能够异步地接收 和处理 jms 消息生产者发送到队列的消息。ejb 产生消息,mdb 接收消息,经过处 理后发送回响应。一个 mdb 能够处理来自多个发送者的消息,同时,容器能够建立 13 mdb 的缓冲池,实现消息的并发处理。mdb 从任意的发送消息给它的客户中分离, 客户不通过组件接口来访问 mdb, jms 用来发送消息到 mdb, ejb 容器是来自 jms 目的地的消息的消费者,此目的地由部署描述符中的部署所指定。如图 2.4 所示。 mdb实例 jms目的地 mdb池 ejb服务器 发送/发布 客户 图 2.4 客户调用 mdb 2.5 数据库连接池技术数据库连接池技术 资源池是共享资源的典型模式,该模式能非常好地解决由资源频繁分配、释放所 引起的问题。把该模式应用到数据库连接管理领域,就是要建立一个数据库连接池, 提供一整套的数据库连接分配、使用策略,从而实现连接的高效、安全复用42。 j2ee 支持两种数据库连接方式:直接连接和池连接。直接连接由客户端 java 代 码打开并维护,每次使用之后必须关闭。否则,太多的连接将导致系统性能下降,甚 至超过数据库服务器的连接限制,以至于其他程序无法建立到数据库服务器的连接。 池连接则是由 j2ee 服务器打开和维护。在池连接模式下,j2ee 服务器启动时会建立 拥有一定数量连接的连接池,调用者需要连接时,从池中申请一个闲置的连接,使用 完毕,再归还给连接池,供其它调用者使用。 对于一个简单的数据库应用来说,由于数据库的访问不是很频繁,可以使用直接 连接方式在需要时建立连接,不用时断开连接。但是网上阅卷系统包含了复杂的数据 库应用,与数据库频繁地连接和断开,对系统性能影响极大,频繁地连接和断开数据 14 库访问将可能成为制约系统性能的重要因素之一, 因而使用池连接比直接连接更有优 越性。使用池连接时,数据访问通过连接池与数据库服务器交互,这样,在访问数据 库时可使用连接池中已经建立的连接,而无需每次都建立一个连接,从而减少因建立 连接而耗费的时间。同时,连接池会及时收回不再使用的连接,动态的维护连接的使 用和连接池的容量,保证了连接的利用率。 2.6 小结小结 本章在网上阅卷系统技术需求的基础上,探讨了构建基于 j2ee 的 b/s 模式的网 上阅卷系统所需的关键技术:j2ee 的企业级应用架构、中间件以及 ejb 技术、并发 以及相关组件技术、资源共享以及连接池技术。 15 3 网上阅卷系统的总体设计网上阅卷系统的总体设计 本章将在第二章相关技术分析的基础上,结合本系统数据组织和处理的特点,给 出网上阅卷系统的总体设计。首先给出网上阅卷的系统需求,然后确定系统设计的技 术方案,包括软硬件平台及开发环境的选择,系统总体结构的选择和各功能组成部分 的划分。 3.1 系统需求分析系统需求分析 3.1.1 阅卷工作流程阅卷工作流程 网上阅卷系统提供了一种相对客观公正的阅卷方式,通过使用网上阅卷系统,可 以减少评分误差,提高阅卷和分数统计的效率,降低阅卷劳动强度,加强对阅卷质量 的评估和监控力度。主观题的网上阅卷系统和客观题的扫描识别判卷一起,组成一个 完整的计算机辅助阅卷系统。如图 3.1 所示。 数 据 库 服 务 器 图文截切与校验试卷扫描 客观题 主观题 扫描识别判卷 网上阅卷 数 据 库 处 理 试 卷 图 3.1 计算机辅助阅卷系统 阅卷流程中通过网上阅卷系统完成的工作可以大致分为制作样卷、 评卷员熟悉评 分标准及试用阅卷系统、正式评卷和在评卷过程中对质量及进度进行监控四个部分。 (1) 制作样卷 制作样卷即由专家组抽取有代表性的答卷进行评分, 并将这个评分及其说明作为 这类题的标准,供评卷员参考。评分结果被认为是该考生该题的最终得分。 16 (2) 评卷员熟悉评分标准及试用阅卷系统 从样卷中抽出一部分给评卷员作讲评,以帮助他们熟悉评分标准。 评卷员进行试评。试评帮助评卷员熟悉软件的使用。小组长根据评卷员的 试评情况,决定哪些人可以进入样评。 取未用于讲评的样卷给评卷员进行样评,统计他们的评分结果,各小组长 分析评分结果与评分标准的吻合情况,决定哪些人可以进入测评过程。 评卷员进行测评。测评是从系统中随机抽取考生答题,以帮助评卷员从整 体上把握本次考试学生整体答题情况,以防止出现评分过程中畸轻畸重的情况。在试 评、样评和测评期间,评卷员进行的评分活动仅供他们熟悉系统或熟悉评分标准,其 评分结果并不存入数据库。上述三个步骤在阅卷中也可能省略。 (3) 正式评卷 评卷员从终端取题、判分后将分数提交给系统,用给定规则对其进行判别后,决 定该题分数是否作为最终分数保存,或需要进一步复评。对系统定义的异常卷,由评 卷员在评阅过程中发现后提交,系统将其保存为异常卷后,选择时机交仲裁人处理。 (4) 评分过程的对质量及进度的测控 在评分过程中,小组长、题组长、大组长等具有特殊权限的用户可以随时对所管 辖组的工作情况进行整体测控和个别监控,如查看总体进度、组间进度、以组为单位 对评分尺度的把握、以个体为单位对评分尺度的把握、阅卷速度等。 3.1.2 系统功能系统功能 网上阅卷系统应实现以下功能: (1) 评卷功能 评卷员由 web 客户端经身份验证后建立与服务器的连接,取出所负责答卷进行 评阅,并将分数存回服务器。 (2) 评卷管理 评卷员对考生答题情况进行评阅时,试题按随机或其它方式向评卷员投放。一道 17 试题,可能是单评,也可能是多评。对多评题,指定两人同时初评,若其评分差值在 给定范围内,则可终评,否则该卷继续发放给第三人,直至终评。 (3) 异常卷管理 在阅卷过程中发现有扫描不清、答题位置错误等异常情况时,将该题作为异常卷 提交。小组长调取异常卷进行处理。对于答题位置错误的,调取整张试卷进行处理。 对于无法看清试题的,延后再判,或者解密试卷考号,调出原始试卷进行评分。 (4) 进度和质量测控 进度掌握。允许各级组长查询本组在过去某个时段的总体阅卷进度、个体阅 卷进度,保证按时完成阅卷工作。 获取评卷质量参数。允许各级组长查询本组在过去某个时段与评卷质量相关 的各种参数,如均值、标准差、有效率和分布曲线等。 自动重评。将某评卷员一定比率的已阅试卷再次发给他重评,比较两次结果 的一致性,结果报告给组长。根据要求,可以为每个评卷员配置缺省的自重评率,但 是小组长(题组长)也可以单独指定某个评卷员的自重评率。 指定重评。组长指定一份某评卷员已阅试卷,再次发给他重评,比较两次结 果的一致性。 满分检查。组长可以查询本组满分情况,并调取试卷重评。用户先向服务器 申请查询当前满分试卷的列表,再由用户自己选择查询哪份试卷。 零分检查。组长可以查询本组零分情况,并调取试卷重评,查询方法同满分 检查。 (5) 数据处理和分析 结果导出功能。根据用户指定的字段、文件格式导出网上阅卷的分数。 数据分析。导出按分数段分类统计的结果;导出平均分、分布曲线等结果; 导出阅卷速度等结果;生成网上阅卷情况报告。 数据备份和恢复功能。对数据进行备份和恢复,对备份数据进行加密。 异常卷导出功能。部分试题可能因扫描不清等原因无法被网上阅卷系统处 理,系统提供接口以导出这部分试题的试卷标识号,从而可以人工调取试卷处理。 18 其他功能这里从略。 3.2 总体框架总体框架 3.2.1 系统软硬件平台及开发环境的选择系统软硬件平台及开发环境的选择 (1) 硬件环境 web 服务器、应用服务器和数据库服务器硬件可以采用性能稳定的普通 pc 机, 配置采用 pentium 1.8ghz,512m 内存以上,最好采用专用服务器或企业级服务器。 (2) 软件环境 服务器操作系统采用 windows 2000 server 或 windows 2000 advanced server 版 本,数据库选择 oracle 9i 版本,j2ee 服务器采用 weblogic。 (3) 编程环境 开发语言采用 java,开发环境采用 jbuilder、weblogic 和 oracle9i。 3.2.2 总体架构总体架构 系统采用 j2ee 多层 b/s 架构,即客户层、web 层、业务层及数据层。 web 层运行在 web 服务器上,业务层运行在应用服务器上,数据层运行在数据 库服务器上, 用户通过浏览器与服务器交互, 完成阅卷的相关工作。 目前大多数 j2ee 服务器既包含了 web 服务器,也包含了应用服务器,因此,web 层和业务层可以运 行在一台机器上,共享统一的 j2ee 服务器进程,也可以分布在不同的机器上,由不 同的进程分别运行 web 服务器组件和应用服务器组件。 客户层是浏览器层,负责完成系统与客户之间的交互,如向客户显示试题图像和 查询的结果、提取客户输入的信息等功能。web 层由 web 容器运行,它包括 jsp、 servlets、javabeans 等 web 组件,主要负责对 ejb 层的调用,以及其他一些简单的 逻辑。业务层由 ejb 容器运行,支持 ejb、jms 等服务和技术。这是系统的核心层, 系统的应用逻辑在这一层实现,一方面它需要将数据库中的记录转化为对象、使数据 19 可以用面向对象的方法来分析、设计,另一方面它又向 web 层提供应用逻辑的调用 接口。这一层的应用服务器选用 weblogic。数据层负责数据的物理存储,并向 ejb 层或 web 层提供数据服务,这一层是系统的最低层,由现有成熟的关系数据库系统 oracle9i 来实现。系统结构如图 3.2 所示。 质量监控模块 异常卷管理模 块 用户管理模块 评卷管理模块 评卷规则管理 模块 数据处理与 规则定义模块 控 制 模 块 质量监控模块 异常卷管理模 块 用户管理模块 评卷管理模块 评卷规则管理 模块 数据处理与 规则定义模块 浏 览 器 数据库 客户层web层业务层数据层 数据访问模块 图 3.2 网上阅卷系统总体结构图 阅卷的相关信息包括用户信息、 试题信息、 分数信息等均存储在数据库服务器上。 用户信息和试题信息在阅卷开始之前已录入数据库服务器中, 分数信息则是在用户阅 卷过程中根据用户的录入而存入数据库中。 用户所进行的各项操作均经由控制模块分 发至相应功能模块进行处理。业务层实现了各功能模块,并向 web 层提供各功能模 块的接口。 3.2.3 系统主要组成部分系统主要组成部分 (1) 控制模块 控制 web 应用,与发出请求的用户交互,负责分类和分发这些请求给其他模块 20 处理。主要任务是: 过滤请求,对每个截获的请求进行必要的处理,如增加日志等。 分发请求到相应的模块处理。 控制客户端屏幕的跳转,选择下一个要显示的视图。 (2) 数据访问模块 完成数据库的访问工作,并向其它模块屏蔽数据库的访问。主要任务是: 管理系统中使用的全部数据源。当数据源不存在时,引导用户创建数据源并 保存。 根据本服务器分配的任务数,创建和维护数据库连接池。 完成数据库操作的相关业务逻辑,包括从用户表中读取用户信息,将用户状 态写回用户表,从试题表中取出试题交给评卷管理模块处理,将试题的评阅状态写回 到试题表,将分数记录写回分数表,完成质量查询

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论