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