張?!∮鄷约选∮谲绊?/p>
摘 要:為滿足不同區(qū)域的考試機(jī)構(gòu)可以直接通過(guò)瀏覽器進(jìn)行在線的考試安排、管理、監(jiān)考等需求,研究SaaS模式的考試架構(gòu)以及舉行全國(guó)性的網(wǎng)絡(luò)考試時(shí)產(chǎn)生的高并發(fā)數(shù)據(jù)運(yùn)算與數(shù)據(jù)交互的解決方法,構(gòu)建基于SaaS模式的在線考試系統(tǒng)。本文結(jié)合SaaS模式以及SOA架構(gòu)的優(yōu)勢(shì)特點(diǎn),對(duì)系統(tǒng)的整體架構(gòu)和功能模塊等進(jìn)行了探討與分析,并就系統(tǒng)的實(shí)現(xiàn)作了簡(jiǎn)單介紹。
關(guān)鍵詞:在線考試系統(tǒng);SaaS模式;SOA架構(gòu)
中圖分類號(hào):TP311.1 文獻(xiàn)標(biāo)識(shí)碼:A
Abstract:In order to meet the examination bodies in different regions can be directly carried out online through a browser test arrangement,management,monitoring and other needs,discussed on the exam architecture based on SaaS model and solutions when the exam was held nationwide network high concurrent data computing and data interaction,building SaaS-based online examination system.In this paper,combining the advantages of SaaS model and SOA architecture,discussed and analyzed the architecture of the system and the function modules,and made a brief introduction on the systemrealization.
Keywords:online examination system;SaaS-based;SOA architecture
1 引言(Introduction)
隨著網(wǎng)絡(luò)技術(shù)發(fā)展,在線考試替代紙質(zhì)考試已成發(fā)展趨勢(shì),并已在如職業(yè)醫(yī)師、建造師等許多考試中得到應(yīng)用。然而,考試機(jī)構(gòu)自行開發(fā)在線考試系統(tǒng)在實(shí)際應(yīng)用中出現(xiàn)的問(wèn)題總結(jié)如下:系統(tǒng)的建設(shè)缺乏統(tǒng)一的規(guī)劃和技術(shù)標(biāo)準(zhǔn)、重復(fù)的題庫(kù)建設(shè)造成資源浪費(fèi)與后期運(yùn)維成本過(guò)高、關(guān)系型數(shù)據(jù)庫(kù)的并發(fā)瓶頸限制了考試系統(tǒng)的應(yīng)用范圍。龐大的各類型考試機(jī)構(gòu)急需找到適應(yīng)自身特點(diǎn)、可定制的、節(jié)約人力物力的在線考試系統(tǒng)。相比較傳統(tǒng)服務(wù)方式而言SaaS具有很多獨(dú)特的特征:SaaS不僅減少了或取消了傳統(tǒng)的軟件授權(quán)費(fèi)用,而且廠商將應(yīng)用軟件部署在統(tǒng)一的服務(wù)器上,免除了最終用戶的服務(wù)器硬件、網(wǎng)絡(luò)安全設(shè)備和軟件升級(jí)維護(hù)的支出,客戶不需要除了個(gè)人電腦和互聯(lián)網(wǎng)連接之外的其他IT投資就可以通過(guò)互聯(lián)網(wǎng)獲得所需要軟件和服務(wù)。在SaaS模式下,多個(gè)考試機(jī)構(gòu)可共用一套SaaS平臺(tái),共享所有服務(wù)節(jié)點(diǎn)和數(shù)據(jù)庫(kù)服務(wù)。每個(gè)用戶個(gè)性化需求通過(guò)客戶化配置實(shí)現(xiàn),不影響其他用戶[1]。
2 SaaS技術(shù)介紹(Introduction of SaaS technology)
SaaS(Soft-as-a-Service)軟件運(yùn)營(yíng)或稱軟營(yíng),是一種基于互聯(lián)網(wǎng)提供軟件服務(wù)的應(yīng)用模式。SaaS提供商為企業(yè)搭建信息化所需要的所有網(wǎng)絡(luò)基礎(chǔ)設(shè)施及軟件、硬件運(yùn)作平臺(tái),并負(fù)責(zé)所有前期的實(shí)施、后期的維護(hù)等一系列服務(wù),企業(yè)無(wú)需購(gòu)買軟硬件、建設(shè)機(jī)房、招聘IT人員,即可通過(guò)互聯(lián)網(wǎng)使用信息系統(tǒng)。
基于Internet平臺(tái),基于網(wǎng)絡(luò)服務(wù)器存儲(chǔ)數(shù)據(jù),按使用定制付費(fèi),具有多重租賃功能,是SaaS模式的四個(gè)基本要素[2]。對(duì)于考試機(jī)構(gòu)的廣大用戶,SaaS讓用戶以更低的成本和風(fēng)險(xiǎn)、更便利的方式使用軟件服務(wù);對(duì)于軟件供應(yīng)商,SaaS可以借助于互聯(lián)網(wǎng)的傳播能力高效,快速地推廣軟件服務(wù),并且可以避免重復(fù)工作,使軟件供應(yīng)商專注于提高服務(wù)質(zhì)量,提高核心競(jìng)爭(zhēng)力[3]。
用戶通過(guò)軟件服務(wù)商提供的網(wǎng)站可以了解到自己需要付出多少資金得到對(duì)應(yīng)多少應(yīng)用功能的軟件服務(wù),并通過(guò)測(cè)試培訓(xùn)和在線試用,確定符合用戶需求后,用戶會(huì)購(gòu)買軟件服務(wù),并通過(guò)互聯(lián)網(wǎng)絡(luò)來(lái)在線使用該軟件服務(wù)[4]。
3 基于SaaS模式的在線考試系統(tǒng)的架構(gòu)設(shè)計(jì)
(Architecture design of online examination system based on SaaS model)
基于SaaS模式的系統(tǒng)設(shè)計(jì)考慮到以下幾方面因素:多個(gè)不同考試機(jī)構(gòu)的應(yīng)用和數(shù)據(jù)在一個(gè)系統(tǒng)中并存;需要滿足不同考試機(jī)構(gòu)用戶個(gè)性化的需求;用戶數(shù)量龐大、高并發(fā)量訪問(wèn),需要保證系統(tǒng)性能。因此,在系統(tǒng)架構(gòu)設(shè)計(jì)上,必須滿足以下設(shè)計(jì)要求:必須滿足多租戶架構(gòu)設(shè)計(jì);支持用戶可靈活自定義配置;具有良好的可延展性。
SaaS模式的在線考試系統(tǒng)是一個(gè)支持多考試機(jī)構(gòu)(租戶)的系統(tǒng)。同考試機(jī)構(gòu)中可以有多個(gè)用戶,并可指定管理員賬戶來(lái)管理屬于該考試機(jī)構(gòu)內(nèi)的用戶。管理員通過(guò)Web層的定制模塊定制自己的考試管理系統(tǒng)的顯示模式和功能模式,并進(jìn)行相應(yīng)維護(hù)。一般來(lái)說(shuō),考試機(jī)構(gòu)和考試機(jī)構(gòu)之間的數(shù)據(jù)和顯示模式是互相隔離的,一個(gè)考試機(jī)構(gòu)內(nèi)的用戶不能訪問(wèn)其他考試機(jī)構(gòu)的資源。不同的考試機(jī)構(gòu)通過(guò)安全認(rèn)證和元數(shù)據(jù)服務(wù)來(lái)對(duì)數(shù)據(jù)庫(kù)進(jìn)行訪問(wèn)[5,6]。系統(tǒng)的總體架構(gòu)如圖1所示。
該架構(gòu)具體描述如下:
(1)數(shù)據(jù)層。在最底層,用于存儲(chǔ)服務(wù)所需使用或保護(hù)的數(shù)據(jù),包括考試機(jī)構(gòu)較敏感的考試題目數(shù)據(jù)、考試科目數(shù)據(jù)、試卷數(shù)據(jù)、考生數(shù)據(jù)以及實(shí)現(xiàn)個(gè)性配置的元數(shù)據(jù)和機(jī)構(gòu)用戶注冊(cè)信息等。
(2)業(yè)務(wù)邏輯層。為考試機(jī)構(gòu)用戶提供業(yè)務(wù)服務(wù),由分配給考試機(jī)構(gòu)用戶的實(shí)例調(diào)用,如考試事務(wù)業(yè)務(wù)、考試管理業(yè)務(wù)、題庫(kù)管理業(yè)務(wù)、考試與監(jiān)考業(yè)務(wù)、報(bào)名業(yè)務(wù)等。
(3)WEB表現(xiàn)層?;蚍Q人機(jī)交互層,以WEB頁(yè)面為主,即多個(gè)客戶端通過(guò)網(wǎng)絡(luò)發(fā)送訪問(wèn)服務(wù)請(qǐng)求,并以網(wǎng)頁(yè)形式顯示請(qǐng)求返回的數(shù)據(jù)。負(fù)載均衡器作為與用戶交互的統(tǒng)一接口,接收所有訪問(wèn)服務(wù)的用戶,按一定機(jī)制分配服務(wù)器,提高多用戶訪問(wèn)效率和服務(wù)器利用率。
(4)元數(shù)據(jù)服務(wù)用于實(shí)現(xiàn)用相同實(shí)例滿足不同用戶的配置需求;WEB表現(xiàn)層接收在頁(yè)面層用戶提交的訪問(wèn)服務(wù)請(qǐng)求,進(jìn)行安全認(rèn)證并返回認(rèn)證結(jié)果給客戶;若為合法用戶,負(fù)載均衡器為該請(qǐng)求用戶分配服務(wù)器,分配一個(gè)能滿足其需求的同構(gòu)實(shí)例。
(5)安全認(rèn)證機(jī)制與授權(quán)機(jī)制:安全認(rèn)證機(jī)制用于對(duì)試圖訪問(wèn)服務(wù)的用戶進(jìn)行安全認(rèn)證,確認(rèn)是否為服務(wù)的安全合法使用者,并給予認(rèn)證令牌;授權(quán)機(jī)制通過(guò)元數(shù)據(jù)服務(wù)獲取相應(yīng)數(shù)據(jù)進(jìn)行個(gè)性配置,使用戶可以使用在其權(quán)限內(nèi)的各種業(yè)務(wù)服務(wù)。同構(gòu)實(shí)例能夠最大化不同用戶間的資源共享,但用戶不會(huì)察覺到是與多個(gè)用戶共享。
4 系統(tǒng)模塊設(shè)計(jì)(Design of system module)
SaaS模式的在線考試方式與傳統(tǒng)的在線考試不同,面對(duì)的是全省或是全國(guó)的考生,每個(gè)考試的參加對(duì)象分布在多個(gè)區(qū)域,如何應(yīng)對(duì)不同考試在多個(gè)區(qū)域同時(shí)進(jìn)行。如住院醫(yī)師規(guī)范化培訓(xùn)考試可以由承擔(dān)組織考試的機(jī)構(gòu)統(tǒng)一組織,由在線考試系統(tǒng)向各個(gè)地市考區(qū)、考場(chǎng)提供考試服務(wù)。每個(gè)地市考區(qū)不需要自己建設(shè)考試系統(tǒng),直接使用考試服務(wù)即可。各機(jī)構(gòu)使用相對(duì)獨(dú)立的考試服務(wù),由考務(wù)管理模塊、考試管理模塊、題庫(kù)管理模塊、考試模塊組成,功能涵蓋了報(bào)名、考務(wù)安排、組卷、考試、判卷、成績(jī)發(fā)布與查詢等考試全過(guò)程。系統(tǒng)模塊設(shè)計(jì)如圖2所示。
考試管理模塊:實(shí)現(xiàn)各考試機(jī)構(gòu)多考試管理功能;考試機(jī)構(gòu)擁有考試日程安排、座位安排、考試科目安排等權(quán)限;不同機(jī)構(gòu)可以有不同的準(zhǔn)考證打印時(shí)間,擁有獨(dú)立的系統(tǒng)閱卷模塊。
題庫(kù)管理模塊:考試機(jī)構(gòu)登錄后可以建立屬于自己的考試題庫(kù),包括考試知識(shí)點(diǎn)的管理、考試類型的管理,導(dǎo)入試題等多個(gè)功能。
考務(wù)管理模塊:考試機(jī)構(gòu)通過(guò)定制化,實(shí)現(xiàn)對(duì)考試事務(wù)的安排。如開放考生網(wǎng)上報(bào)名、準(zhǔn)考試報(bào)印、成績(jī)查詢等功能。
考試與監(jiān)考模塊:用于各個(gè)考生登錄各自報(bào)名的考試與監(jiān)考人員實(shí)現(xiàn)監(jiān)考功能。考試生可進(jìn)行在線答題、標(biāo)記、舉手、交卷等操作;監(jiān)考人員查看到各考生的答題進(jìn)度、進(jìn)行警告、提示、強(qiáng)制交卷等操作。
系統(tǒng)管理模塊:系統(tǒng)管理員可新增、修改、刪除考試機(jī)構(gòu)用戶,并提供給各考試機(jī)構(gòu)自定義各種角色與用戶的功能,不同角色的用戶可擁有不同的操作權(quán)限,各個(gè)考試機(jī)構(gòu)間設(shè)定的用戶角色互不影響。
5 系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)(Database design)
在SaaS模式下,相比傳統(tǒng)數(shù)據(jù)庫(kù),對(duì)數(shù)據(jù)的權(quán)限控制、安全性、擴(kuò)展性等都有更高的要求。本系統(tǒng)采用了共享服務(wù)、共享數(shù)據(jù)庫(kù),多用戶單實(shí)例的存儲(chǔ)模式實(shí)現(xiàn)多租戶共同使用;采用元數(shù)據(jù)驅(qū)動(dòng),結(jié)合考試具體業(yè)務(wù),允許用戶自行配置系統(tǒng)功能實(shí)現(xiàn)系統(tǒng)擴(kuò)展;采用數(shù)據(jù)加密與傳輸過(guò)程加密保證數(shù)據(jù)的安全保密。具體設(shè)計(jì)思路:
(1)多租戶模式:所有考試機(jī)構(gòu)的數(shù)據(jù)都存放在一個(gè)數(shù)據(jù)庫(kù)中,在數(shù)據(jù)庫(kù)的業(yè)務(wù)數(shù)據(jù)表中,都有明確的標(biāo)示注明該記錄是屬于哪個(gè)考試機(jī)構(gòu)。通過(guò)程序的權(quán)限控制,實(shí)現(xiàn)不同考試機(jī)構(gòu)之間數(shù)據(jù)互相隔離,可獨(dú)立配置系統(tǒng)功能,互不影響。
(2)元數(shù)據(jù)驅(qū)動(dòng):考試機(jī)構(gòu)可以在權(quán)限范圍里對(duì)數(shù)據(jù)庫(kù)里的表、字段名、字段長(zhǎng)度等自行定義。結(jié)合自身業(yè)務(wù),進(jìn)行有限度的擴(kuò)展,保證系統(tǒng)的擴(kuò)展性與效率。
(3)安全保密性:數(shù)據(jù)加密,如題庫(kù)數(shù)據(jù)、考生敏感信息、用戶密碼等;數(shù)據(jù)傳輸過(guò)程安全,如使用SSL加密;考試過(guò)程安全,如試卷、答案加解密時(shí)間的控制等。
6 結(jié)論(Conclusion)
SaaS模式作為已成為新的軟件運(yùn)營(yíng)模式,有著廣泛的應(yīng)用與市場(chǎng)前景。本系統(tǒng)以SaaS模式為基礎(chǔ),結(jié)合在線考試系統(tǒng)的業(yè)務(wù),設(shè)計(jì)了系統(tǒng)的總體架構(gòu),提出了功能模塊與數(shù)據(jù)庫(kù)的設(shè)計(jì)實(shí)現(xiàn)思路。通過(guò)具體的實(shí)施,本系統(tǒng)已經(jīng)在全省聯(lián)網(wǎng)大型考試正式使用,有效的實(shí)現(xiàn)了低成本高易用的遠(yuǎn)程多區(qū)域大規(guī)模的在線考試。
參考文獻(xiàn)(References)
[1] 程玥.基于SaaS模式協(xié)同辦公OA類應(yīng)用集成平臺(tái)的設(shè)計(jì)與開發(fā)[J].電腦知識(shí)與技術(shù),2013,9(9):2017-2019.
[2] 黃金國(guó),胡巨振.面向中小企業(yè)的SaaS CRM設(shè)計(jì)[J].信息科技,2011,8(10):201-202.
[3] 袁志俊,夏紅霞.基于SaaS模式在線軟件系統(tǒng)開發(fā)方案的研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2009,11(10):88-89.
[4] 張美枝,高潤(rùn)月,楊永平.基于SaaS模式下軟件設(shè)計(jì)方法的研究[J].農(nóng)業(yè)網(wǎng)絡(luò)信息,2007,12(13):169-170.
[5] 諶順周.基于SaaS模式的在線稿件處理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].科學(xué)與財(cái)富,2009,11(23):212-213.
[6] 袁志俊.基于SaaS模式在線CRM系統(tǒng)的研究與實(shí)現(xiàn)[D].武漢:武漢理工大學(xué),2008.
作者簡(jiǎn)介:
張 海(1972-),男,博士,副教授.研究領(lǐng)域:計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)用.
余曉佳(1982-),男,碩士,工程師.研究領(lǐng)域:計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)用.
于馨淼(1990-),女,本科生.研究領(lǐng)域:計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)用.