SCI核心期刊查詢網(wǎng)提供SCI、AHCI、SSCI、國(guó)內(nèi)核刊等期刊目錄查詢選刊服務(wù),助力上萬名科研人員成功評(píng)職晉升!

中文、英文期刊目錄查詢系統(tǒng)

快速了解學(xué)術(shù)期刊目錄級(jí)別、選刊、行業(yè)刊物等解決方案

利用緩存預(yù)取技術(shù)優(yōu)化在線考試系統(tǒng)

文章簡(jiǎn)要:隨著計(jì)算機(jī)科技的發(fā)展和互聯(lián)網(wǎng)+應(yīng)用的日益普及,網(wǎng)絡(luò)教學(xué)和在線考試系統(tǒng)已逐步成為傳統(tǒng)教學(xué)、考試模式的有效補(bǔ)充。該文基于J2EE平臺(tái)討論構(gòu)建在線考試系統(tǒng),并論述利用緩存預(yù)取一體化技術(shù)優(yōu)化系統(tǒng)性能。 《 中國(guó)電子科學(xué)研究院學(xué)報(bào) 》(雙月刊)創(chuàng)刊于1990年,

  隨著計(jì)算機(jī)科技的發(fā)展和互聯(lián)網(wǎng)+應(yīng)用的日益普及,網(wǎng)絡(luò)教學(xué)和在線考試系統(tǒng)已逐步成為傳統(tǒng)教學(xué)、考試模式的有效補(bǔ)充。該文基于J2EE平臺(tái)討論構(gòu)建在線考試系統(tǒng),并論述利用緩存預(yù)取一體化技術(shù)優(yōu)化系統(tǒng)性能。

  《中國(guó)電子科學(xué)研究院學(xué)報(bào)》(雙月刊)創(chuàng)刊于1990年,由中國(guó)電子科學(xué)研究院主辦。主要發(fā)表電子信息系統(tǒng)研發(fā)和綜合集成領(lǐng)域內(nèi)的技術(shù)和學(xué)術(shù)研究論文。聘請(qǐng)行業(yè)內(nèi)工程院院士等資深專家以及近年來在此領(lǐng)域內(nèi)卓有成就的中年專家組成編委會(huì)。辦刊宗旨:注重研究成果,提高理論水平。

  隨著互聯(lián)網(wǎng)科技日新月異的發(fā)展,網(wǎng)絡(luò)教育培訓(xùn)由于其不受時(shí)間和空間的限制,規(guī)模不斷發(fā)展壯大,已成為教育培訓(xùn)中不可或缺的重要組成部分。利用網(wǎng)絡(luò)培訓(xùn)平臺(tái)學(xué)員可自主制定培訓(xùn)計(jì)劃,即可以順利完成培訓(xùn)任務(wù)又不會(huì)影響其正常的工作和生活。在線考試系統(tǒng)作為檢驗(yàn)培訓(xùn)效果的重要工具,開發(fā)技術(shù)已經(jīng)非常成熟。但基于大規(guī)模用戶并發(fā)訪問的考試系統(tǒng),在實(shí)際應(yīng)用過程中還是會(huì)存在一些問題。想要提升優(yōu)化考試系統(tǒng)性能,當(dāng)應(yīng)對(duì)大規(guī)模用戶并發(fā)訪問時(shí),就要求系統(tǒng)有較高地穩(wěn)定性和較快的響應(yīng)速度。

  本文基于J2EE平臺(tái)討論構(gòu)建在線考試系統(tǒng),并通過對(duì)比分析,討論緩存和預(yù)取技術(shù)對(duì)優(yōu)化考試系統(tǒng)f生能所起到的積極作用。

  1應(yīng)用技術(shù)

  開發(fā)在線考試系統(tǒng)的主要目的是借助互聯(lián)網(wǎng)搭建考試平臺(tái),使得用戶可以通過直接訪問互聯(lián)網(wǎng)參加考試,從而打破傳統(tǒng)考試模式對(duì)時(shí)間和空間的限制。系統(tǒng)開發(fā)使用J2EE平臺(tái),采用MVC設(shè)計(jì)模式、B/S結(jié)構(gòu),使用技術(shù)包括:JAVA、Ajax,數(shù)據(jù)庫選用SQLserver2008。

  1.1MVC模式概述

  MVC(Model-View-Controller模型-視圖-控制器)是一種設(shè)計(jì)模式,可以實(shí)現(xiàn)模型和視圖的代碼分離。在MVC中輸入、處理、輸出互相分離,整個(gè)系統(tǒng)分為:模型、視圖、控制器三個(gè)模塊。

  1.2Ajax技術(shù)簡(jiǎn)介

  Ajax(Asynchmnous JavaScript And XML異步JavaScript和XML),它通過Ajax引擎工作,使得客戶端只和服務(wù)器進(jìn)行少量的數(shù)據(jù)交換,例如頁面顯示等信息不必重復(fù)加載,而是對(duì)部分重要的數(shù)據(jù)進(jìn)行更新,從而實(shí)現(xiàn)網(wǎng)頁異步更新。

  在傳統(tǒng)的交互方式中,用戶向服務(wù)器發(fā)送一個(gè)HTTP請(qǐng)求,例如點(diǎn)擊鏈接或按鈕,服務(wù)器響應(yīng)請(qǐng)求完成處理任務(wù)后返回一個(gè)HTML頁面給用戶,在服務(wù)器進(jìn)行響應(yīng)操作時(shí),用戶只能空閑等待。在Ajax的異步存取模式中,用戶在等待服務(wù)器處理數(shù)據(jù)、響應(yīng)操作的過程中仍然可以進(jìn)行其他操作,節(jié)省了時(shí)間、提升了效率。服務(wù)器完成了響應(yīng)操作之后,Ajax引擎通過函數(shù)將處理結(jié)果顯示給用戶。

  2系統(tǒng)需求分析及設(shè)計(jì)

  2.1系統(tǒng)需求分析

  需求分析是整個(gè)系統(tǒng)開發(fā)的關(guān)鍵一環(huán),也是最先進(jìn)行的環(huán)節(jié)。在線考試系統(tǒng)的開發(fā)目的是利用互聯(lián)網(wǎng)科技,建立考試平臺(tái)。命題者可以通過平臺(tái)設(shè)置、發(fā)布考試試題;參考者通過平臺(tái)在線學(xué)習(xí)及報(bào)名參加考試,而不必在統(tǒng)一地點(diǎn)集中考試,該種學(xué)習(xí)、考試形式更適用于網(wǎng)絡(luò)培訓(xùn);閱卷者可以通過平臺(tái)進(jìn)行閱卷,平臺(tái)也具備客觀題自主閱卷的功能;通過平臺(tái)也可以發(fā)布考試信息、考試結(jié)果、考試分析等信息。

  系統(tǒng)基本功能模塊:1)在線學(xué)習(xí)模塊、2)命題組卷模塊、3)在線考試模塊、4)閱卷模塊。

  2.2系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)

  系統(tǒng)采用B/S(瀏覽器/服務(wù)器)結(jié)構(gòu),不需要專門安裝客戶端軟件,降低系統(tǒng)使用門檻,有助于系統(tǒng)的普及應(yīng)用及更新升級(jí)。系統(tǒng)總體結(jié)構(gòu)分:表示層、功能層、數(shù)據(jù)層三層。數(shù)據(jù)庫選用SQLServer2008。

  (圖1)為系統(tǒng)三層體系結(jié)構(gòu):

  3緩存預(yù)取技術(shù)在系統(tǒng)中的應(yīng)用

  作為在線考試系統(tǒng),能否穩(wěn)定地支持大規(guī)模用戶并發(fā)訪問是衡量系統(tǒng)性能的一項(xiàng)重要標(biāo)準(zhǔn)。傳統(tǒng)的考試系統(tǒng)中,服務(wù)器承擔(dān)了大量的工作,而客戶端只負(fù)責(zé)簡(jiǎn)單的人機(jī)交互。試題及用戶答案的保存、試題的解析和答案的匹配等工作都由服務(wù)器完成,這樣的布局使得服務(wù)器負(fù)擔(dān)過重,當(dāng)用戶訪問量急劇增加時(shí),服務(wù)器壓力過大易出現(xiàn)問題而影響系統(tǒng)的正常工作。與此同時(shí)客戶端則處于閑置等待的狀態(tài),造成資源利用率低下。為了改善系統(tǒng)性能可以考慮升級(jí)服務(wù)器或采用服務(wù)器集群,但這樣勢(shì)必會(huì)增加系統(tǒng)成本。本文考慮充分挖掘客戶端資源,利用緩存與預(yù)取相結(jié)合的技術(shù),將部分適宜由客戶端完成的工作交由客戶端處理,減輕服務(wù)器負(fù)擔(dān),提升系統(tǒng)效率。

  3.1系統(tǒng)緩存

  緩存技術(shù)的提出目的是解決系統(tǒng)運(yùn)算和系統(tǒng)存儲(chǔ)過程的時(shí)間差異。在考試系統(tǒng)實(shí)際運(yùn)行過程中,緩存主要是由客戶端先從服務(wù)器端獲取所必需的數(shù)據(jù)信息,之后暫停與服務(wù)器之間的通信,直到下一次信息的獲取。緩存主要分為三類:服務(wù)器端緩存數(shù)據(jù)、代理端緩存服務(wù)器端數(shù)據(jù)、客戶端緩存數(shù)據(jù)。為了盡可能緩解服務(wù)器壓力,開發(fā)客戶端的運(yùn)算能力,轉(zhuǎn)換服務(wù)器的角色,當(dāng)大規(guī)模用戶并發(fā)訪問時(shí)段,服務(wù)器僅僅充當(dāng)一個(gè)分發(fā)及收集用戶數(shù)據(jù)的角色,關(guān)于數(shù)據(jù)的運(yùn)算分析交由客戶端執(zhí)行。用戶登陸系統(tǒng)以后將用戶試題下載到客戶端,暫停和服務(wù)器之間的通信,所有試題的解析及用戶答案的匹配都在客戶端進(jìn)行,用戶完成部分答題后將答案轉(zhuǎn)換為系統(tǒng)格式傳輸?shù)椒⻊?wù)器,并由服務(wù)器存儲(chǔ)到用戶數(shù)據(jù)庫中。在執(zhí)行過程中,盡可能提升了客戶端的利用效率,減輕了服務(wù)器的壓力,當(dāng)大規(guī)模用戶并發(fā)訪問時(shí),服務(wù)器的負(fù)載也只是適當(dāng)增加,不會(huì)造成系統(tǒng)運(yùn)算量和存儲(chǔ)量過快增加。

  下面以用戶翻頁操作為例,分析緩存技術(shù)對(duì)服務(wù)器和網(wǎng)絡(luò)帶寬的影響。(圖2)

  通過對(duì)比分析,采取緩存技術(shù)可以節(jié)省分析答案并匹配的時(shí)間,另外,部分答案內(nèi)容也不需傳輸至服務(wù)器。因此,適度開發(fā)客戶端的運(yùn)算能力即節(jié)約了時(shí)間、減輕了服務(wù)器的負(fù)擔(dān),也提升了整個(gè)系統(tǒng)的工作效率。

  3.2系統(tǒng)預(yù)取

  單純依靠緩存技術(shù),在試題內(nèi)容不是很多的時(shí)候可以緩存全部試題和答案。當(dāng)試題量很大的時(shí)候只能對(duì)部分內(nèi)容進(jìn)行緩存,為了加快系統(tǒng)的響應(yīng)時(shí)間,可以通過預(yù)取技術(shù)對(duì)系統(tǒng)下一步需要的數(shù)據(jù)進(jìn)行預(yù)測(cè),提前進(jìn)行緩存。通過預(yù)取和緩存技術(shù)相結(jié)合減少了服務(wù)器的負(fù)擔(dān),提升了客戶端資源的利用率。

  (圖3)有無預(yù)取技術(shù)工作流程對(duì)比

  通過分析對(duì)比,采用預(yù)取技術(shù)可以大大節(jié)省系統(tǒng)的響應(yīng)時(shí)間,改善用戶體驗(yàn)。

  3.3緩存預(yù)取一體化

  用戶在實(shí)際使用考試系統(tǒng)的過程中,往往是按照一定規(guī)律進(jìn)行答題和檢查。我們可以通過預(yù)測(cè)用戶的答題順序,根據(jù)緩存實(shí)際容量的大小將用戶正在使用和即將會(huì)使用到內(nèi)容先預(yù)取到緩存中。當(dāng)緩存內(nèi)容過滿時(shí),將使用幾率較低的頁面從緩存中移除。通過緩存和預(yù)取一體化技術(shù)盡可能地提升系統(tǒng)資源的利用率,保障系統(tǒng)的穩(wěn)定性,便于應(yīng)對(duì)大規(guī)模用戶并發(fā)訪問。

  4結(jié)束語

  構(gòu)建在線考試平臺(tái),能夠突破傳統(tǒng)教學(xué)考試模式對(duì)時(shí)間和空間的限制,節(jié)省了大量的社會(huì)資源。但由于系統(tǒng)硬件、軟件及網(wǎng)絡(luò)帶寬等多方面因素的影響,系統(tǒng)在實(shí)際使用過程中還是會(huì)受到種種制約。為了進(jìn)一步提升系統(tǒng)性能,改善用戶體驗(yàn),本文討論主動(dòng)預(yù)取與被動(dòng)緩存相結(jié)合的設(shè)計(jì)思路。盡可能地開發(fā)客戶端的運(yùn)算能力,將能夠由客戶端完成的工作交由客戶端負(fù)責(zé)完成,使得當(dāng)大規(guī)模用戶并發(fā)訪問的時(shí)候,系統(tǒng)不會(huì)由于服務(wù)器本身負(fù)擔(dān)過重而導(dǎo)致響應(yīng)緩慢甚至系統(tǒng)癱瘓。適度開發(fā)客戶端的運(yùn)算能力對(duì)客戶端本身的配置要求并不是太高,在不大量增加系統(tǒng)投入的情況下,通過策略調(diào)整提升系統(tǒng)穩(wěn)定性及增強(qiáng)系統(tǒng)工作效率。

SCI期刊