李 霞,馬景奕,閆文君,李雅雯,楊 斌
(中國氣象局氣象干部培訓學院甘肅分院,甘肅 蘭州)
隨著計算機技術和互聯網技術的快速發展, 在新的信息教育生態下, 現有的在線考試評測系統也將不斷地更新迭代, 以期實現對教育資源的低成本、高效率、集中共享式地開發和管理。在多種結構模式中,以B/S(瀏覽器/服務器)體系結構考試系統居多,采用服務器群集方式,即服務器端承載所有數據,在Web 環境下的在線考試系統, 考生只需在連接到互聯網的計算機上登錄即可進行答題測試[1],但它們對移動設備均不友好,并且整個系統的運營維護成本高,負荷能力有限,常導致意外情況。目前也有越來越多的學校、企業、培訓機構已經開始支持移動端,較為前沿的有考試酷、云測庫、考試云等,它們主要采用成熟的在線表單及數據統計技術生成試卷,有一定的行業測試題庫,但這些軟件更多偏向在線測試及練習[2-3]。
另外,在全國氣象教育培訓中,針對學員知識點掌握情況的評價太過籠統和片面, 沒有對重點教學內容做系統性的評價測試, 并且各省針對大規模遠程培訓階段性測試更是少之又少, 最主要的原因是沒有滿足自身需求的評測平臺和大量的試題作輔助。另外,氣象部門的各類業務知識競賽也沒有完整的在線考試平臺,更沒有與之匹配的試題訓練和學習系統,導致試題重復儲存,試題科目結構混亂,新舊試題難以區分,試題難易程度無法快速掌握,試題使用頻率無法統計,快速自由組卷困難,學員考試結果無法長期、系統地追蹤評估,學員共性和個性問題難以掌握等諸多問題。
基于云計算,通過虛擬化技術,以網絡為依托,提供系統基礎架構以及平臺、軟件服務等,極大地整合數據和應用等資源,這種方式能夠將數據同步更新,有效地避免數據信息丟失等意外情況, 云計算服務提供了強大的技術支持[4]。同時,伴隨5G 時代的到來,帶動了移動端產業的迅猛發展, 各類小程序、APP 爆發式增長,移動端評測系統也必將成為在線考試中最璀璨的“明星”,大規模在線考試完全可以減少服務器端管理員的維護成本,提高學員在線考試的流暢度、清晰度和穩定性,讓學員在考試中能更好地集中注意力,為用戶提供更好的體驗。因此,在云計算服務的基礎上,設計移動端的業務知識評測系統具很有重要的現實意義, 用戶無需下載安裝軟件, 直接通過微信小程序進行在線考試、隨堂測試、自主訓練等操作,管理員通過后臺WEB端可進行試題管理、試卷管理、考試管理、閱卷管理等操作,對評測結果進行可視化分析,極大提高了培訓工作者的工作效率,減輕了工作負擔。
用戶前端與資源管理后臺開發使用“微服務”架構設計,微服務架構有別于更為傳統的單體式方案,可將應用拆分成多個功能模塊。每個模塊都被稱為一項服務,可以單獨構建和應用,每個服務運行在其獨立的進程中,各項服務在工作或出現故障時不會相互影響。服務與服務間采用輕量級的通信機制互相溝通(通常是基于HTTP 的RESTful API)。每個服務都圍繞著具體業務需求進行構建, 并且能夠被獨立地安裝到生產環境、類生產環境等。
具體應用模塊、用戶識別系統及數據庫全部采用分布式系統開發部署, 使用ESB-HUB 應用組件方式,將系統各功能按照數據應用分類設計成獨立多個小的應用組件,獨立封裝、獨立部署,然后通過app-hub把這些小應用集成到一起形成一個大型應用, 每個微應用獨立開發、部署、升級,可以選用不同的技術框架,互相之間不會產生直接的影響,即使一個微應用崩潰,也不會影響其他微應用正常使用。最后通過與應用編程接口(API) 進行各組件模塊之間的通信, 在數據及API 調用過程中, 利用增強PWA ( Progressive Web Apps 漸進式應用)技術,并通過日志聚合,實現全鏈路監控,完成對于大數據集合的監測和分析診斷。
移動端是本系統的核心應用前端, 主程序采用React、Vue 等框架模型開發客戶端與服務器、小程序邏輯開發,移動教學管理應用、移動學習應用、云服務器構成了交互服務。小程序前端使用React SSR(非頁面組件渲染技術)的WXSS 和WXML(程序)技術進行渲染, 后臺業務邏輯使用JS 實現, 并通過Page 中的setData API 進行數據界面更新,實現數據和界面的交互。
系統延續了常規評測流程:出題-組卷-答題-監考-閱卷-分析, 涵蓋了氣象部門業務試題、評測形式、應用范圍、評價分析等各方面, 因此在試題管理、組卷形式、應用模式和分析策略等方面做到了全覆蓋。
業務知識評測系統采用標準MySQL 數據庫引擎,MySQL 是目前使用最廣泛的開源數據庫,也是Web 應用方面最好的RDBMS (Relational Database ManagementSystem,關系型數據庫管理系統)之一。MySQL 可使用標準的SQL 語句添加、刪除及修改數據庫中的內容。設計高質量的數據庫不僅能滿足用戶合理存儲數據的需求,對系統的功能和擴展性起著決定性作用,還能發揮自身的安全性和穩定性。數據庫設計過程中使用布隆過濾器及內嵌RocksDB 狀態后端優化數據庫,選用Rabin Fingerprint 算法作為rolling hash 完成可變分塊的數據去重, 實現大數據環境下的實時數據降重、去重。業務知識評測系統的數據庫主要包含培訓班管理表、試題庫管理表、考試管理表、系統用戶表、資源管理表等, 不同信息模塊之間的數據內容存在關聯。
(1) 試題管理(見圖1):學科可設置到三級,根據需求可以隨時添加和修改學科,試題信息新增、修改和刪除的操作。試題相關信息包括試題名稱、創建日期、創建人、關鍵字、使用頻率、題型類型,以及對應的題庫類別,無論是題干還是選項都可以加入圖片、特殊字符、公式等。試題可以單條增加也可以批量導入,每一條增加的記錄都經過查重,避免試題重復錄入。輸入的試題都采用統一的要求規則錄入,如:題干和答案中的所有標點符號采用中文全角; 填空題題干中統一使用中文括號,括號里面兩空格;單選題和多選題題干中的下劃線、括號,統一使用括號,括號里面無空格;題干中的公式、圖片,通過編輯處理成不超過2 M 的圖片; 題干和答案中除了填空題的括號里面有空格,其他的空格需全部刪除。

圖1 試題管理
(2) 試卷管理(見圖2):試卷新增、修改和刪除,試卷信息包含試卷名稱、試卷分類、四類組卷方式、考試時間、試卷總分、及格分數、分值分配智能計算、試卷是否公開、成績是否顯示等。固定試卷分兩類,一是題型不變、題序不變;二是題型不變、題序打亂,此類試卷主要應用于針對性考核。自由組卷采用隨機算法,根據設置的學科和需求在相應科目下抽取一定數目試題,生成不同的試卷,適合大規模、長周期的遠程培訓考核和社會類考試,自動組卷不用人工選試題,根據策略僅生成一套試卷。

圖2 試卷管理
(3) 閱卷管理:閱卷管理包含了獨立的閱卷接口、封閉閱卷(無學員信息)、成績訂正、智能提示和閱卷人等信息。
(4) 評價分析(見圖3):實現評價內容橫向到邊縱向到底的可視化顯示結果,包括從整體到個體、從學科到考點、從同比到類比的交錯分析結果。

圖3 評估分析
(5) 智能監控: 移動端采用智能動態數據標記技術建成監控系統, 考試過程中對學員的操作行為數據進行儲存,通過行為數據模擬分析還原評測場景,可準確掌握關鍵節點用戶行為。另外,在教師/班主任移動端也設置了監控模塊,主要監督學員的在線情況,通過不同的色標展示未參加人員、正在考試人員和已提交人員等。
(6) 移動端考試(見圖4):主要功能有常規考試、習題訓練、隨堂測試、自我評測等功能,考試界面設置考試倒計時、提交按鈕、已答題、未答題、總題數以及答題過程中的溫馨提示(彈出進入多選題、是否提交、提交成功等)等。

圖4 移動端考試
(1) 系統采用安全云服務架構,建立了基于“云”端的安全機制。基于“云”端的數據架構和安全機制,能夠很好的解決評測應用的網絡帶寬、物理安全、穩定性等關鍵問題,通過多種評測加密技術,達到全方位檢測和防護,杜絕泄露行為,大幅節省評測平臺維護成本和降低平臺運營的安全風險。
(2) 系統使用安全云端安全機制, 支持基礎的安全打擊能力,通過安全打擊來實現敏感詞的攔截,不管用戶發送什么內容,都會先經過天御的安全掃描,經審核通過后才會進行信息發布。同時,系統還支持自定義的敏感詞檢測,保證應用健康的運行。
業務知識評測系統利用分布式系統可提高資源共享和加快計算速度的優勢, 并結合微架構資源重復利用率高、系統維護性強、產品迭代周期短的特點,突破了傳統考試模式的時空限制, 實現了大規模的實時考試、訓練、測試和針對性評測,完成了氣象教育培訓評測過程中輸入和產出數據的收集、存儲、管理和智能分析,提高了工作效率,節省經費開支,同時,提升了考核的客觀公正性, 管理者通過組卷策略隨機生成考卷,每個學員的試卷是不完全相同,并且只有在考試開始才能知道考卷內容, 避免了互相參看和試題提前泄露導致的不公平。