在线考试系统中实时保存技术的设计与实现(1).pdf_第1页
在线考试系统中实时保存技术的设计与实现(1).pdf_第2页
在线考试系统中实时保存技术的设计与实现(1).pdf_第3页
在线考试系统中实时保存技术的设计与实现(1).pdf_第4页
全文预览已结束

在线考试系统中实时保存技术的设计与实现(1).pdf.pdf 免费下载

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

文档简介

璺耋 堡垒丝 叁堑塑 兰 堡竺竺 塑 竺墼查堕里I 田 在线考试系统中实时保存技术的 设计与实现 罗军锋 锁志海 李雪琴 西安交通大学信息与网络中心 陕西西安7 1 0 0 4 9 摘要 本文分析了目前在线考试系统中存在的实时保存考生答案和考试时间的问题 给出了较详 细的利用内a 解决该问题的方案和关键代码 实现了考生在答题时实时保存答案和答题时间等信息的 功能 关键词 訇a 无刷新网页 在线考试系统 中图分类号 0 4 0 0 5 7文献标识码 B 一 引言 近年来随着高校信息化的快速发展 基于W e b 的在 线考试系统已经有了广泛的应用 其核心功能模块是在 线考试过程的控制 包括答案的实时保存和考试时间的准 确控制 考生在考试过程中 当遇到意外情况如数据库连 接失败 交卷失败 网络中断等情况时 如果不加以处理 一般会造成数据的丢失 很容易造成考生考试失败 因此 实时保存考生的答题情况和考试用时是非常必要的 目前的解决方案有很多种 典型的有 一种解决方案是考试开始时把服务器的时间发到 客户端 考试进行过程中由客户端脚本来完成倒计时工 作 由于客户端脚本安全性低 很容易被修改 所以缺乏 计时的准确性 因此 服务器必须每隔一段时间向客户 端发送时间 来校正客户端显示的剩余时间 因此服务 器为了准确控制考试时间 必须较频繁地刷新客户端考 试页面 另外一种解决方案是采用X M L 技术 把试卷下载到 客户端机器上进行答题并实现后台交卷 这在网络状况 不好的情况下非常有用 但如果中途需要更换机器 则无 法继续考试 如果考生每做一道题 答案都能立即保存到 服务器中 即使发生意外导致考试中断 考生也可以重新 登录继续考试 原先抽取的试题和已做的答案及考试时 问都可以从服务器中重新获得 但这样会导致页面频繁 刷新 考生需要等待页面回送后才能做下一道题 另外 为了把剩余的考试时间准确地显示在客户端机器上 服 务器需要频繁地刷新客户端的考试页面来显示服务器的 时间 而这将导致考生根本无法进行考试 显然 这些解决方案都需要频繁地刷新客户端页面 为了解决这个问题 本文引入A i a x 并将此技术应用到在 线考试中 文章编号 1 6 7 3 8 4 5 4 2 0 0 8 0 7 一0 0 8 5 0 3 二 A 陬概述 1 内找概述 A j a x 是A s y n c h r o n o u sJ a v a S c r i p ta n dX M L 以及 D H T M L 等 的缩写 它由几种技术组合而成 包括 基于 X H T M L 和C s S 标准的表示 使用D o c u m e n tO b i e c t M o d e l 进行动态显示和交互 使用X M L H t t p R e q u e s t 与服务器 进行异步通信 使用J a v a S c r i p t 进行绑定 其核心为 J a v a s c 打p t X M L H t t p R e q u e s t 和D O M 可以让开发人员构建 基于A ia 技术的W e b 应用 让客户端脚本直接与W e b 服 务器进行异步数据交换 数据主要以X M L 形式进行传输 2 内a 工作原理 如图l A i a 在用户和服务器之问加了一个中间层 这个中间层就是A ia 引擎 它引入了X M L H 田组件中的 X M L H t t p R e q u e s t 对象 使用户操作与服务器响应异步化 骶嚣 I 用户墨萄 1 Jk m 坤请末 H 1 M L十 髑最j f 1r 路每嚣璃 1 w 曲糠番嚣 I 崩户弊喵 l F i 覃叫 拍 翌盐坠 土鹭摇 IA J A x 引譬l 艇务器毕 啪错务藉 图1 传统B S 模式与A j a 模式 左边为传统模式 右边为A i a 模式 在传统的W e b 交互方式中 用户填写表单字段并提 交 然后整个表单发送到服务器 服务器将它转发给处理 表单的脚本 脚本执行完成后再发送回全新的页面 当 然 在服务器上的脚本或程序处理和返回新表单时用户 必须等待 屏幕变成一片空白 等到服务器返回数据后再 万方数据 I 田垫查堕旦笪 璺耋 焦 量垡垒垫苎查 堕 堕里竺 塑 竺 重新绘制 这就是交互性差的原因 用户得不到立即反馈 A j a 引入了中间层 就是把J a v a s c r i p t 技术和 X M L H t t p R e q u e s t 对象放在W e b 表单和服务器之间 当用 户填写表单时 数据发送给一些J a v a s c r i p t 代码而不是 直接发送给服务器 相反 J a v a S c r i p t 代码捕获表单数据 并向服务器发送请求 同时用户屏幕上的表单也不会闪 烁 消失或延迟 也就是说 J a v a S c r i p t 代码在幕后向服务 器发送请求 用户甚至不知道请求的发出 更强大的是 请求是异步发送的 就是说J a v a s c r i p t 代码 和用户 不 用等待服务器的响应 因此用户可以继续做想做的事情 最后 服务器将数据返回J a v a s c r i p t 代码 后者决定 如何处理这些数据 它可以迅速更新表单数据 让人感觉 应用程序是立即完成的 表单没有提交或刷新而用户得 到了新数据 这就是X M L H t t p R e q u e s t 的强大之处 它可 以根据需要自行与服务器进行交互 用户甚至可以完全 不知道幕后发生的一切 结果就是一种在互联网上的动 态 快速响应 高交互性的体验 三 设计与实现 为了解决在线考试系统实时保存 能够在系统出现 死机 考生换机器 网络中断等异常情况后仍能够重新登 录 系统能够像没有出现问题那样继续执行 我们在在线 考试系统中引入A j 锻技术 1 设计思想 当考生开始答题时 由服务器随机抽取试题 并产生 考试总时间 传给客户端 客户端进行倒计时 每隔一定 的时间 可以设置 例如设为1 0 秒 将所有结果由A i a 传送给服务器端 当考生给出答案时 由A i a 传送给服 务器 当时间结束时 自动强制提交给服务器 考试结束 从中可以看出 许多部分都采用A i a 实现 当然这 个中间还可以加上其他的功能 例如考生不确定答案的 考题可以记忆 方便考生答题 通过采用A j a 可以大大 简化系统的设计复杂度 提高系统的性能 具体流程如图2 所示 2 客户端关键代码 主要是根据不同事件向服务器发送请求 A j a 技术的基础代码 产生出X M L H t t p R e q u e s t 发 送请求 处理结果 f u n c t i o nc r e a t e x M I 朋t t p R e q u e s t i f w i n d o w X M L H t t p R e q u e s t f X M L H t t p R e q n e wX M L H t t p R e q u e s t O e l s ei f w i n d o w A c t i V e X O b j e c t t r y X M L H t t p R e q2n e wA c t i v e X O b j e c t 8 6 中国教育信息化 2 0 0 8 7 高教职教 图2 使用A j a 技术的答题过程流程图 M s x m l 2 X M L H T T P f f lc a t c h e t r y X M L H t t p R e q 5n e w A c t i v e x o b j e c t M i c m s o f t X M L H T T P I lc a t c h e f u n c t i o ns e n d R e q u e s t u r l c r e a t e X M L H t t p R e q u e s t 0 X M L H t t p R e q o p e n G e t u r l t m e X M L H t t p R e q o n r e a d y s t a t e c h a n g e p m c e s s R e s p o n s e x M L H t t p R e q s e n d n u l l J f h n c t i o np r o c e s s R e 8 p o n s e 0 i f X M L H t t p R e q r e a d y S t a t e 4 i f X M L H t t p R e q s t a t u s 2 0 0 e l s e 衍n d o w a l e n 7 系统出现异常17 l 考生提交答案时的部分代码 f h n c t i o nc h e c k c h a n g e i d v a l u e V a rp o s t c m e t h o d e x a m i n g 考试时间由服务器端进行控制 并在客户端动态地变化和显示 3 期刊论文 卫锋 WEI Feng 基于Web 2 0 AJAX的在线知识答疑模块设计与实现 黄石理工学院学报2010 26 2 文章综合多种网页设计技术手段 经过需求分析 数据库设计和详细设计 以VS2005为设计环境 通过C 设计语言 提出了2种无刷新网页设计方案和一 种静态页生成技术和方法 并设计实现一个在线知识答疑模块 4 期刊论文 陈锦平 何孝港 基于Ajax技术Web实时监控系统 电脑编程技巧与维护2009 17 针对传统的基于Web实时监控系统在实时性方面的不足 利用Ajax技术设计了一种新的工业设备实时

温馨提示

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

评论

0/150

提交评论