張麗芝
摘要:隨著“互聯(lián)網(wǎng)+教育”技術的普及,教學模式發(fā)生了變革,線上線下相結合的互聯(lián)網(wǎng)教學模式逐步替代傳統(tǒng)的面對面教學模式。適用于傳統(tǒng)教學模式的排課系統(tǒng)已不能滿足教學管理實際需求。在互聯(lián)網(wǎng)教學模式下,學生選課需求、教學排課管理、教學資源配置都在互聯(lián)網(wǎng)平臺實現(xiàn)動態(tài)調配。排課不再是在開學前根據(jù)教學計劃、教學資源編排課程表,而是根據(jù)學生上課需求,動態(tài)調動教學資源。
關鍵詞:互聯(lián)網(wǎng)+教育;教學管理;排課算法
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2018)10-0099-03
1 概述
隨著我國高等教育飛速發(fā)展,高等教育毛入學率快速提升,各類高等院校辦學規(guī)模不斷擴大,專業(yè)和課程設置越來越細化,教學管理工作變得越來越繁瑣,傳統(tǒng)的依靠人工+計算機輔助來完成排課工作,工作量繁重復雜,而且還會出現(xiàn)許多的錯誤,給教學管理工作帶來諸多不便,完全不能適應互聯(lián)網(wǎng)+面授教學的模式。
隨著移動互聯(lián)網(wǎng)、云計算、大數(shù)據(jù)技術發(fā)展和普及,電子商務、各行業(yè)政府的網(wǎng)絡服務平臺已經(jīng)逐漸融入人們生活方方面面,我國政府在2016年提出“互聯(lián)網(wǎng)+”戰(zhàn)略,各級政府大力發(fā)展網(wǎng)上政務,一方面是人民群眾迫切需求,另一方面是政府層面推動,在此背景下,Mooc、網(wǎng)絡教育等信息化教育產業(yè)也在快速發(fā)展。在高校里原有的針對學年制的排課系統(tǒng)已不能滿足實際工作需要,也在一定程度限制了教學模式的改革,急需升級改造。適應新時代發(fā)展的排課軟件的建設,是各個普通高等院校都會面臨的問題,也是每所高校都急需解決的問題。運用現(xiàn)代互聯(lián)網(wǎng)信息技術手段輔助教學管理,促進教學模式改革,已經(jīng)成為各高校創(chuàng)新教學管理重要抓手。
2 設計理念
2.1“云+端”設計理念
在云端應用上按照微服務的形式部署在虛擬化應用和數(shù)據(jù)庫服務器上,在客戶端按用戶角色、電子渠道提供多種客戶端,如:教務管理版APP,教師版APP,學生版APP,角色不同功能不同。應用層采用微服務架構,方便應用局部隨時升級,單一功能出錯的情況下不影響其他應用功能使用,基礎設施層應支持在虛擬化資源上部署。
2.2以人為本理念
1)統(tǒng)一用戶資源設計。系統(tǒng)提供一套全局的用戶注冊管理、身份識別體系,供全網(wǎng)使用。采用實名認證方式。
2)統(tǒng)一服務管理設計。系統(tǒng)提供一套全局的服務質量監(jiān)督、管理體系,確保平臺所提供的服務質量能夠有效管控,跟蹤學生評價(好評、中評、差評)和投訴情況。
3)全電子渠道覆蓋設計。系統(tǒng)提供門戶、微信、手機APP、自助一體機等多種電子服務渠道,讓學生自由選擇可及服務。
4)移動服務業(yè)務設計。系統(tǒng)提供手機線上服務,課程申請、查詢等大部分業(yè)務實現(xiàn)移動服務。
5)大數(shù)據(jù)應用設計。一方面為每個人提供數(shù)據(jù)畫像,比如,根據(jù)學生缺勤率排名,教師課時排名,勤奮度排名,好學度(咨詢數(shù)量排名),給學生標識特征標簽。另一方面進行服務監(jiān)控,比如通過大數(shù)據(jù)分析系統(tǒng)可以分析出服務平臺各子系統(tǒng)模塊以及移動端APP的使用情況包括使用用戶、使用頻率、使用時間、登錄地點、登錄IP、瀏覽頁面、功能操作等進行記錄,根據(jù)記錄結果分析各子系統(tǒng)模塊的使用情況;比如接入渠道分析、使用熱度分析、用戶行為分析等為業(yè)務調整和功能修正提供參考,通過以上數(shù)據(jù)的實時采集和用于提高用戶體驗及軟件功能優(yōu)化。
3 實現(xiàn)思路
首先將學校教育資源按照類型、大小、座位、上課時間、拆分為最小可分配資源,根據(jù)學生申請需求按課程,座位、時間拆分,通過智能排課系統(tǒng)動態(tài)平衡供需關系。教師、教學管理者中間可查詢、干預、監(jiān)控排課信息。
1)資源精準分配。利用移動手機動態(tài)申請,動態(tài)更新學生教學資源使用情況,系統(tǒng)后臺自動重新計算課堂剩余資源,重新釋放座位,接受其他學生申請。
2)服務智能化。面向學生,每天通過數(shù)據(jù)分析,主動發(fā)現(xiàn)有課程服務的學生,動態(tài)推送教學資源,包括網(wǎng)上教學課程,未來幾天的教學任務。動態(tài)統(tǒng)計教學課程申請數(shù)量,動態(tài)分配適用教室,提供座位預訂服務。面向教室,每天提醒課堂位置。面向教務管理員,每天提醒教學容量變化信息。
4 設計目標
本系統(tǒng)的設計目標是,適用學分制教學模式或者學年學分制教學模式自動排課需求,減少人工參與度,能科學合理地調配各種教學資源,為師生提供一套符合教學規(guī)律的課程安排解決方案。以學生自主選擇為主要形式,更加人性化,為學生完成人才培養(yǎng)方案,提供有力的技術支撐。為學校教學模式改革提供技術支撐這,進一步提升學校教學管理水平和教育教學質量。
5 總體架構設計
智能排課是教育管理的部分業(yè)務,在學生檔案、教師檔案、教育資源信息等方面與整個教育管理系統(tǒng)信息共享,面向學生、教師、教育管理者提供課程信息服務,其技術架構也與整個教育管理系統(tǒng)一致,本文重點介紹智能排課系統(tǒng),按照云架構設計理念實現(xiàn)。從用戶端、服務層到基礎設施均采用當前主流技術實現(xiàn),包括引入阿里巴巴dubbo微服務技術組件,結合虛擬機技術實現(xiàn)分布式彈性計算,本章重點對智能排課系統(tǒng)的設計目標、場景、業(yè)務、技術、應用系統(tǒng)網(wǎng)絡部署進行總體規(guī)劃。
5.1業(yè)務模型設計
排課系統(tǒng)不僅要完成排課,而且要給服務對象提供隨時隨地全程服務。為學生提供包括上課提醒,簽到、客后評價、課表查詢、通知、找教室、選座等服務,為教師提供課表查詢,上課提醒,簽到、通知、找教室等服務,為教學管理者提供實時教學資源監(jiān)控服務,學生上課情況監(jiān)控服務等。
5.2技術架構設計
根據(jù)系統(tǒng)需求分析,遵循統(tǒng)一的教育行業(yè)業(yè)務標準,數(shù)據(jù)指標體系、接口規(guī)范標準、以及安全防護體系,對系統(tǒng)進行分層設計,整個系統(tǒng)技術架構按云架構設計(即軟件即服務SAAS,平臺即服務PAAS、基礎設施即服務IAAS)理念設計,各層不充許跨層調用,采用本層子系統(tǒng)間或本層子系統(tǒng)與下級子系統(tǒng)產生依賴關系。
1)用戶層。是系統(tǒng)服務對象,包括學生、教師、教務管理者(包括各級教學管理部門、校領導)。
2)應用層。本項目所涉及的各種應用模塊,為防止互聯(lián)網(wǎng)安全威脅,將應用層細分為5個層和1個獨立的大數(shù)據(jù)分析平臺,分別是前端應用層、安全應用網(wǎng)關、微服務平臺、支撐平臺、數(shù)據(jù)平臺。
①前端應用。主要負責數(shù)據(jù)展示和采集,人機交換,不處理任何業(yè)務邏輯,面向服務對象包括學生、教師、教務管理者三種版本,通過手機APP、微信、微信公眾號、門戶、業(yè)務平臺體現(xiàn)。不同的服務渠道會用不同展現(xiàn)形式,但面向服務對象的功能一致,由于所有服務邏輯在后端,前端應用只需考慮用戶體驗,這樣后端的服務只需維護一套,實現(xiàn)多渠道共享。
②安全應用網(wǎng)關。主要負責隔離互聯(lián)網(wǎng)和內網(wǎng),確保數(shù)據(jù)安全,防止WEB攻擊數(shù)據(jù)庫,增加應用網(wǎng)關后,內網(wǎng)的所有服務只能通過應用網(wǎng)關對外提供服務,應用網(wǎng)關對所有的服務進行安全封裝,對關鍵數(shù)據(jù)進行加密,對訪問用戶進行安全認證。
③微服務模塊。排課系統(tǒng)的核心業(yè)務服務以小服務組件方式部署,這種方式符合當前最新的互聯(lián)網(wǎng)應用架構,按照軟件即服務(SAAS)云架構設計,即把一個大的應用拆分成多個小的服務獨立部署,當某個服務壓力過載時,可增加服務器資源部署,當某個服務失效后,也不會導致整個系統(tǒng)服務中斷,根據(jù)排課系統(tǒng)需求分析,建議將按照業(yè)務訪問頻度和服務對象對系統(tǒng)功能進行拆分,具體拆分為基礎信息管理服務、系統(tǒng)管理服務、課程申請服務、評價服務等。
④支撐平臺。主要包括公共服務組件,按照平臺即服務(PAAS)云架構設計,如報表組件、工作流引擎、短信服務、通知服務、統(tǒng)一用戶認證服務等,這些服務一部分使用開源組件,一部分直接調用互聯(lián)網(wǎng)資源。這些服務引入,可有效增強系統(tǒng)功能,同時減少系統(tǒng)開發(fā)量,提高系統(tǒng)建設效率。
⑤大數(shù)據(jù)分析平臺。主要為滿足數(shù)據(jù)可視化需求、人物畫像、智能提醒等功能,對數(shù)據(jù)進行加工、轉換、分析后形成分析數(shù)據(jù)為智能排課系統(tǒng)服務,提高決策支撐、數(shù)據(jù)服務,大數(shù)據(jù)平臺不是本文討論的問題,在此只描述其在整個系統(tǒng)作用。
3)基礎服務設施層?;A服務設施層細分為四層,本系統(tǒng)按照基礎設施即服務(IASS)的云架構設計,只要包括中間件及開源框架、操作系統(tǒng)、虛擬化平臺,硬件基礎設施,主要包括數(shù)據(jù)庫、中間件、操作系統(tǒng)、虛擬化平臺軟件以及服務器、網(wǎng)絡、安全設備等硬件資源。通過虛擬化平臺軟件將存儲、服務器、網(wǎng)絡切割成許多對立資源,分配給不同微服務,從而實現(xiàn)硬件資源高可用性。
5.3應用架構設計
應用架構反映應用系統(tǒng)直接的調用關系,系統(tǒng)調用關系是用戶請求→前端應用(手機、微信、門戶等)→應用網(wǎng)關→分布式智能排課系統(tǒng)→生產數(shù)據(jù)庫。
PC客戶端使用IE9以上瀏覽器、火狐等主流瀏覽器作為客戶端,客戶無需考慮應用升級帶來的影響。移動客戶端支持安卓,蘋果主流手機,用戶也可通過微信公眾號訪問部分功能,如信息通知反饋。
系統(tǒng)使用流量均衡器實現(xiàn)高并發(fā)時負載均衡,后端應用服務器根據(jù)負載情況,可隨時增加服務器部署數(shù)量。
應用網(wǎng)關用于隔離互聯(lián)網(wǎng)請求和核心應用,防止外網(wǎng)用戶通過應用服務器直接攻擊數(shù)據(jù)庫。同時應用網(wǎng)關對用戶終端進行安全控制,采用MD5加密技術對數(shù)據(jù)進行防篡改校驗。
應用網(wǎng)關之后是分布式排課系統(tǒng),處理前段發(fā)來的各種請求,由應用系統(tǒng)查詢、修改數(shù)據(jù)庫。
5.4網(wǎng)絡架構設計
考慮系統(tǒng)安全性,將中心機房分為核心區(qū)和非涉密區(qū),之間用防火墻隔離,核心區(qū)部署應用服務器、數(shù)據(jù)庫服務器、外部用戶分為校園內網(wǎng)用戶和互聯(lián)網(wǎng)用戶,通過瀏覽器訪問應用服務提供功能,外部用戶也可通過手機訪問。系統(tǒng)部署邏輯架構如下圖,實際部署時,考慮系統(tǒng)可靠性,所有設備可進行雙機冗余部署,然而雙機冗余部署需要雙倍硬件投資。用戶可根據(jù)建設資金情況從數(shù)據(jù)庫層向外逐步投入雙機冗余部署方案。
6關鍵算法及技術
6.1排課算法
排課問題是一個典型的NP完全問題(NP-C),NP(非決定性多項式時間)問題已經(jīng)是世界上最難解決的數(shù)學問題之一了,但NP完全問題又是NP-C中最難解決的問題,可想難度較大,直到現(xiàn)在任沒有一個解決的很好的通用算法,只能依據(jù)實際情況采用近似的算法。綜合各種算法的優(yōu)缺點,結全本系統(tǒng)的實際需求,采用遺傳算法、模擬退火算法和回溯算法相結合的形式處理排課問題。
6.2關鍵技術
1)分布式計算技術。使用阿里巴巴開源分布式組件dubbo+nginx+Zookeeper做為微服務技術框架。
2)緩存技術。為了提高系統(tǒng)訪問效率,系統(tǒng)采用多級緩存技術,減少服務請求對系統(tǒng)之間的調用,主要措施如下:
①頁面緩存。將靜態(tài)頁面和動態(tài)頁面分離,將靜態(tài)頁面如圖片、JS、靜態(tài)網(wǎng)頁部署在nginx服務器上,nginx會將經(jīng)常訪問的頁面緩存到內存,訪問效率將提升到毫秒級。
②數(shù)據(jù)庫緩存。數(shù)據(jù)庫訪問經(jīng)常成為系統(tǒng)瓶頸問題,為了減少訪問頻度,將數(shù)據(jù)庫中不經(jīng)常變化的常用的小表按對象放入內存中,目前有許多開源的數(shù)據(jù)庫緩存框架支持,本系統(tǒng)使用Ehcache+Redis作為數(shù)據(jù)庫緩存。
③服務路由技術。系統(tǒng)使用微服務架構,微服務部署在不同應用服務器上,需要一個總的代理對外提供統(tǒng)一服務入口,本系統(tǒng)使用nginx開源軟件作為服務路由代理。
④消息隊列技術?;ヂ?lián)網(wǎng)系統(tǒng)另一個要解決的問題是如何處理高并發(fā)時的流量控制問題,高并發(fā)容易造成后端服務過載,為有效控制流量,引入消息隊列緩存訪問請求,通過對訪問請求排隊,異步消息調用服務,從而實現(xiàn)后端服務容量控制。本系統(tǒng)使用ActiveMQ開源框架作為消息對象組件。
7結束語
本論文提出了按照互聯(lián)網(wǎng)“云+端”的思路重構排課系統(tǒng)的設計思路,并在多個角度對系統(tǒng)設計進行總體策劃,體現(xiàn)“以人為本”的設計理念,并結合最新業(yè)務理念和技術方向對業(yè)務模型、技術架構、應用架構、網(wǎng)絡架構進行總體設計,為系統(tǒng)詳細設計與實現(xiàn)提供指導。
參考文獻:
[1] 鄭建明,萬里鵬.關于中國高校現(xiàn)代遠程教育技術架構的構想[J].情報科學,2003(2):113-117,122.