在线考试系统提交方法研究外文翻译资料

 2022-06-04 23:07:09

英语原文共 7 页,剩余内容已隐藏,支付完成后下载完整资料


在线考试系统提交方法研究

Li Chen Song Huihi Xu Hui Chen Xing

(中国矿业大学(北京),北京100083)

摘要:目前,越来越多的组织倾向于采用基于B / S体系结构的无纸化在线考试系统。 但是对于传统的在线考试系统,由于网络质量的限制,在处理大规模考试时会出现问题。 这些问题包括加载考试页面的延迟,提交数据没响应以及与用户体验相关的其他问题。AJAX异步技术可以解决上述B / S体系结构的问题,它采用局部刷新技术来改善用户体验。 本文使用数据库连接池和缓存机制来减少开销并提高数据访问效率。部分提交方法和差异提交方法也被用来提交答案,以减少网络拥塞和服务器压力。

关键词:在线考试系统; AJAX; 部分提交; 差异提交。

介绍

随着计算机网络技术的飞速发展,网络考试系统在国内外应用越来越广泛,如计算机等级考试,专业认证考试,英语水平考试,驾驶员理论考试和员工培训等诸多领域全部或部分采用了这种考试形式。 在线考试是一种使用计算机在网络平台上进行考试代替传统纸质考试的考试形式,毫无疑问,写答案和评分是在电脑上完成的。 在线考试的应用是教学评估的一次飞跃,计算机取代笔和纸,使得考试内容,方法和形式发生了深刻变化。

目前,在线考试系统一般有两种架构类型,C/S架构和B/S架构。C/S架构是客户端/服务器架构。它利用了硬件环境的两端以及客户端处理能力,然而,它需要在客户端计算机中安装和部署客户端软件。这将产生升级和维护的开销。B/S架构可以定义为浏览器/服务器模式,它使用标准浏览器作为统一的客户端,以避免在客户端进行额外的安装和部署。采用这种方法,我们可以轻松实现跨平台和跨设备的数据访问。相对而言,计算成本被转换到服务器端。在本文中,我们将重点关注在线考试系统中使用的B/S架构的改进。

大多数采用B/S体系结构的在线考试系统存在以下问题。一次性加载数据的传统方式导致加载考试页面的延迟和客户端中的瞬间白屏现象。用户在结束阶段一次性提交所有答案,导致服务器响应延迟,网络拥塞等问题。甚至,这将导致数据丢失和其他严重影响。如上所述,本文主要关注系统性能的提高。为解决这些问题,我们采用AJAX技术,数据库连接池和缓存机制提交研究论文在线考试系统。

  1. 分页提交方法

在线考试系统通常使用答案提交方法。有两种方法可以实现答案提交。 一个是考生完成考试后的一次性全面提交。 另一个是根据问题类型提交答案。考试结束后,某些系统还会自动提交。 这些方式会给应用程序服务器带来很大的压力,并且会在参与者人数达到一定规模时容易导致网络拥塞和其他问题。 为了解决上述问题,提高考试系统的系统性能,本文从两个方面进行了调整:1)减少并发提交次数; 2)减少单个文件管理器的数量。

本文采用分页提交的方法。换句话说,将试卷从应用程序GUI分成几页。然后考试系统对每个页面使用延迟加载部分,并且提交答案时使用部分提交,页面单位差异提交等方法。延迟加载也被定义为延期加载,指仅在需要时加载数据。对于本文来说,这意味着当数据被请求加载时,页面请求向服务器询问内容,而不是一次性加载所有页面,这减少了数据库访问压力; 部分提交意味着该页面的内容在切换页面的过程中被提交; 差异提交意味着考试系统在答案部分提交时进一步计算每个页面的答案情况,答案仅提交有差异部分。如果没有新答案,则不会提交,所以考试系统可以最大限度地避免由于考生频繁切换页面而导致不必要的提交,并确保只提交必要的内容。

由于考生之间答题的进展不同,以及切换页面的时间不同。 采用上述的提交方法,考试系统可以减少并发提交和提交单个数据量的最大数量,从而减少服务器压力,减轻网络拥塞并提高提交质量。

  1. 关键技术介绍
    1. AJAX

在B/S模式下,服务器处理来自客户端的请求,然后以HTML的形式将响应发送回浏览器。 这个同步过程效率低下,因为所有页面内容在提交时都消失,然后在等待服务器的响应时显示空白页面,什么也不做。最后,浏览器缓慢渲染被完全发回的整个页面。 完整的页面请求和应答形式会导致页面加载速度缓慢或在页面加载时无响应,特别是当服务器超载或网络拥塞时。

AJAX技术使用浏览器和服务器之间的异步通信,这与传统的Web应用程序不同。 它可以在后台实现数据交互,并通过使用文档对象模型(DOM)进行动态显示来刷新页面的指定部分,而无需刷新整个页面,从而提高了用户体验,如图1所示。

图1 AJAX异步模式

AJAX技术是一组技术,可以与服务器通信并动态更新页面内容的一部分,而无需刷新整个页面内容。 它涉及以下技术:(1)用于展示的HTML(或XHTML)和CSS;(2)用于动态显示和与数据交互的文档对象模型(DOM);(3)用于交换数据的XML,以及用于操作的XSLT; (4)用于异步通信的XMLHttpRequest对象; (5)将这些技术结合在一起的JavaScript。

AJAX是一种由其他技术组成的网络开发技术。JavaScript在用户填写表单数据时处理请求。XMLHttpRequest对象将成为异步通信的代理,然后文档对象模型(DOM)在服务器发回响应数据后动态更新页面的指定部分。XML数据表格是浏览器和服务器之间数据交换的标准格式,XHTML和CSS技术使开发人员只专注于业务逻辑处理。

    1. 数据库连接池

数据库连接池技术是由应用程序在内存中维护的用于以后使用的数据库连接的缓存。用户从已建立空闲连接对象的连接池获取数据库连接,而不是创建新连接。用户在会话结束后不会关闭连接,但将连接返回到数据库连接池以供重用。建立,断开连接、连接全部由连接池本身管理。

由于没有连接池的直接连接,连接将反复打开和关闭。由于连接是一种高成本的操作,导致服务器端数据处理能力较低。如果我们采用数据库连接池技术,系统性能将得到改善。可以避免大量的打开和关闭连接操作。因此,系统性能将大大提高。

    1. 缓存机制

缓存存在于应用程序和物理数据之间。导入缓存的目的是减少直接访问物理数据的频率,这些数据通常存储在数据库服务器和硬盘中。由于物理数据访问速度远低于内存访问,因此通过减少物理数据的访问次数,将数据存储在内存中可以有效地提高系统性能。

对于那些大规模的在线考试系统,大量的用户请求相同的数据将同时定期生成。缓存解决方案将处理结果或处理过程中的高消耗数据存储到内存中,这可以减少处理时间,直接从缓存中为下一个相同请求提取数据,从而提高系统性能。

  1. 分页提交方法的实现

本文研究了一种在线考试考试提交方式,在线考试系统基于目前主流的企业级SSH(Struts Spring Hibernate)的WEB开发框架。

    1. 分页实施

分页是分页提交方法的基础。通过分页,一方面可以减少加载和提交问题的粒度。另一方面,通过切换页面的时间自动提交部分内容,从而减少了考试阶段结束时传统在线考试系统的并发次数,提高了系统性能。在分页的过程中,前台分页使用延迟加载; 后台通过配置数据库连接池来提高应用服务器与数据库服务器之间的通信效率,并配置Hibernate二级缓存以提高数据访问速度。

分页技术在前台使用延迟加载控制通过通过DIV元素的“显示”属性控制页面的显示。 当用户回到上一页时,屏幕上只显示前一次由考生写的DIV的内容,而不是刷新整个页面。为了分离具体的问题加载,提交逻辑,本文包括了与分页相关的内容,定义了全局变量#39;_currentPage#39;来保存当前页面的页码,定义了“_pageSize”来保存总页数,并使用函数“showPage(int)”来控制特定页面的显示和#39;Previous#39;,#39;Next#39;按钮,具体代码如下:

1 function showPage(pageNo) {

2 for ( var i = 0; i lt; _pageSize; i ) {

3 $('#page' i).hide();

4 }

5 $('#page' pageNo).slideDown('slow');

6 hellip;hellip;

7 }

定义函数“switchPage(int)”作为特定的页面切换入口,如果页面没有被加载,则调用函数“loadPage(ids)”进行延迟加载,否则直接调用“showPage(int)”方法显示加载的页面。 同时,“switchPage(int)”方法也执行部分提交功能“ajaxCommit()”。延迟加载方法“loadPage()”通过Ajax异步技术加载页面内容,一方面分散每个考生的内容加载时间,同时减少不必要的查询,达到缓解数据库查询压力的目的,另一方面,部分页面刷新取代传统在线考试系统的整体刷新,从而提升用户体验。 它通过特定的问题ID请求考试内容,内容以JSON格式传输。 通过“getSubjectHtmlStr(obj)”方法封装各种类型的显示,如多选题,简答题特定问题和其他类型的问题。 由于篇幅限制,本文不再讨论。 加载数据代码如下:

1 function switchPage(no) {

2 if (no lt; 0 || no gt; _pageSize) {

3 return;

4 }

5 _currentPage = no; //第一次加载

6 if (!_loadeds[no]) {

7 var str = '';

8 for (var i = (no * _subjectsPerPage); i lt;_ids.length amp;amp; i lt; ((no 1) * _subjectsPerPage);i ) {

9 str = str _ids[i] ';';

10 }

11 loadPage(str);

12 } else {

13 showPage(_currentPage);

14 }

15 // 分页提交、差异提交

16 ajaxCommit();

17 }

为提高后台连接的效率,本文采用数据库连接池技术,提高应用服务器与数据库服务器之间的数据处理效率,以及后台处理能力和响应速度。SSH框架允许我们在application.xml文件[中设置数据库连接池参数,具体配置如下:

1 lt;!-- define a data source: Bean, using C3P0 data sources to realize --gt;

2 lt;bean id='dataSource' class='com.mchange.v2.c3p0.ComboPooledData Source' destroy-method='close'gt;

3 lt;!-- data source#39;s driver --gt;

4 lt;property name='driverClass' value='com.mysql.jdbc.Driver'/gt;

5 lt;!-- data source#39;s URL--gt;

6 lt;property name='jdbcUrl' value='jdbc:mysql://localhost/onlineexam'/gt;

7 lt;!-- data source#39;s username--gt;

8 lt;property name='user' value='root'/gt;

9 lt;!-- data source#39;s password--gt;

10 lt;property name='password' value='123'/gt;

11 lt;!-- the maximum number of connections to the database connection pool --gt;

12 lt;property name='maxPoolSize' value='20'/gt;

13 lt;!-- the minimum number of connections to the database connection pool --gt;

14 lt;property name='minPoolSize' value='1'/gt;

15 lt;!-- the Initialize number of connections to the database connection pool --gt;

16 lt;property name='initialPoolSize' value='1'/gt;

17 lt;!-- the maximum idle time connections to the database connection pool --gt;

18 lt;property name='maxIdleTime' value='2

全文共9619字,剩余内容已隐藏,支付完成后下载完整资料


资料编号:[11332],资料为PDF文档或Word文档,PDF文档可免费转换为Word

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。