賀 瑋 何 恬
(上海交通大學教育技術中心 上海 200240)
基于智慧教室的信息發布系統主要是依托信息平臺系統開展的信息發布業務,對師生需要獲取的信息提供相應的功能支撐,更好地服務于師生的教與學。
(1)師生預訂教室
教師預訂教室需要考慮諸多因素:課程表占用情況;教室類型布局。比如,是否是討論型教室,是否為可移動桌椅等;教室內座位以及插座數量,特別是課堂上學生需要用到筆記本上課的情況;是否有云錄播設備等等。預定教室需要獲取的相關信息之前只能通過電話咨詢,反饋也不一定及時。信息發布系統通過發布的課程表信息,每個教室3D導覽以及詳細信息,幫助教師快速根據課表、教室類型、教室座位數等條件精確搜索到所需教室并直接預定,避免了煩瑣的咨詢流程。
(2)自修教室難找
需要自修的學生經常跑遍一整棟教學樓也找不到一間合適的自修教室。通過掛置在教學樓主要通道口的信息發布系統,學生可以輕松查閱當天整棟教學樓每間教室的課程占用情況,避免了剛坐下來自習不久就被上課師生趕走的情況。信息發布系統還展示每間教室的當前詳細信息,如該教室當前人數統計、上座率、當前溫度,避免了自修教室過于擁擠。此外,工作人員也可以根據上座率、溫度等信息,適當地增減自修教室,開啟關閉空調避免能源浪費。
(3)師生上課忘記教室號
很多師生經常是到了指定上課的教學樓卻不記得在哪間教室上課了,通過掛置在教學樓主要通道口的信息發布系統發布當日當時該教學樓每個教室的課程名稱、上課老師姓名,幫助師生避免忘記教室號的尷尬,針對教室多的可以發布滾動頁面分別顯示每一層樓教室情況。此外,可以提供二維碼掃描功能進入查詢頁面,可以更快速地查詢到哪位教師、哪個課程名稱在哪間教室什么時間段上課。
(4)大數據統計
教學研究需要具體的數據統計。系統可以根據課表上的應到人數和圖像捕捉技術得到的實到人數,計算出每位老師每個課堂的上座率供教學分析。控制中心也可以根據自修教室的上座率、高低峰情況合理調整自修教室的開放關閉,做好節能減排工作。
(5)教室環境監測
管理人員需要根據教室內實時測量溫度調控空調,以及根據實時CO2濃度和PM2.5值調控新風系統,以更好地服務師生;師生也可以參考溫濕度自己調節空調溫度和新風系統。
(6)在線督導教學
教學研究指導工作需要實時查看課堂上教師和學生的表現,遇到某些重要考試比賽時還需要及時地給出指導和建議。系統通過采集教室內配置的高清追蹤攝像頭音視頻流,提供多角度高清畫面,極大方便領導教學研究指導工作。
(7)通知公告
對應教學樓的自修室開放信息、通宵自修室信息、教室設備維修不能使用信息、失物招領信息、教學樓考試封樓等等信息的提供,可以更好地服務師生。
(1)信息發布大屏
該系統最大的一個服務對象群體就是進入教學樓上課的師生,在教學樓的主要通道口墻面懸掛信息發布大屏可以幫助師生最直觀快捷地查找上課的教室號、自修教室,查看通知公告以及呼叫服務中心等等。
(2)終端查詢
師生通過終端掃描大屏提供的二維碼,可以登錄進入系統主頁查看更多的信息:包括每棟教學樓的信息簡介,課程表,每間教室的3D導覽以及多媒體配置、通知公告等等,同時終端主頁也提供了教室類型查詢和空閑教室查詢接口。
(3)在線督導
除了可以查看各種信息外,該系統還專門為需要參與教學研究指導工作的教師提供專有賬號,可以實時并多視角查看每一間教室內的課堂情況,包括課堂上座率、師生課堂互動情況等等,充分了解課堂并發現存在的問題,給出指導建議。
(1)系統功能模塊

(2)系統技術架構

圖1 基于智慧教室的信息發布系統軟件框架
(1)采用目前比較主流的SpringBoot+MyBatis構建項目
Spring框架是Java平臺上的一種開源應用框架,提供具有控制反轉特性的容器。SpringBoot基于Spring4.0設計,不僅繼承了Spring框架原有的優秀特性,而且SpringBoot簡化了初始搭建以及開發過程,僅僅只需要非常少的幾個配置就可以迅速方便地搭建起來一套 Web 項目,集成了豐富的通用類庫,只需要安裝對應類庫包就可以實現,非常適合構建信息發布系統這項web服務。MyBatis 是一款優秀的持久層框架,它沒有任何第三方依賴,支持自定義 SQL、存儲過程以及對象與數據庫的ORM(Object Relational Mapping)字段關系映射。MyBatis 免除了幾乎所有的Java數據庫連接代碼以及設置參數和獲取結果集的工作,提高了開發效率。
(2)使用Redis做緩存,共用的數據存入緩存中提高查詢效率
信息發布是一個展示系統,大量用戶同時查詢數據庫會引起頻繁的磁盤I/O讀取操作,迫使CPU掛起等待,數據庫性能極度低下,用戶體驗極差。緩存是服務器上的原始數據的復制集,而該項目數據庫中大部分內容固定不變,比如教學樓信息和教室3D導覽等等,使用緩存可以提高頁面展示效率。Redis是一個開源的內存中的數據結構存儲系統,它可以用作數據庫、緩存和消息中間件。作為緩存,它可以支持大數據存入內存中,每秒可以執行大約110 000個寫入操作,或者81 000個讀操作,實現快速響應,性能極高。Redis常被拿來和高性能鍵值緩存服務器Memcached進行對比,Redis相對支持更多的數據類型,這使得在應用中很容易根據需要選擇存儲的數據類型;Redis可以定期保存到磁盤(持久化),相對保證了存儲數據的安全;另外,Memcached掛掉后,數據不可恢復,Redis數據丟失后可以通過AOF恢復。除此以外,Redis操作性很強,可單獨部署,可通過配置可以輕松組建集群,調用類成熟,非常適合該系統采用。另外,目前系統采用主動更新數據庫的方案,即數據庫庫更新同時觸發更新緩存,提高實時性。
(3)使用Elasticsearch實現快速實時查詢展示,提高系統的響應速度和可擴展性
該系統提供了實時快速搜索教室、課程等功能,采用了功能強大且操作簡單的第三方軟件Elasticsearch作為底層數據搜索引擎方案,實現大數據量的實時統計查詢。Elasticsearch是一個建立在全文搜索引擎 Apache Lucene? 基礎上的搜索引擎。可以說,Lucene是當今最先進、最高效的全功能開源搜索引擎框架。Elasticsearch使用 Java 編寫,內部采用Lucene作為引擎,它不但包括了全文搜索功能,還可以進行分布式實時文件存儲,實時分析的分布式搜索引擎,每個字段可以被索引與搜索,還可以擴展到上百臺服務器,快速地儲存、搜索和分析海量數據。另外,在實時搜索上Elasticsearch相比頂級開源全文搜索項目Solr具有明顯的優勢,隨著數據量的增加,Solr的搜索效率會變得更低,而Elasticsearch卻沒有明顯的變化,因此更適合該系統選用。
(4)使用任務調度中心實現xxl-job-admin定時任務配置,方便管理人員可視化、簡單且動態的管理調度信息
XXL-JOB是一個輕量級分布式任務調度平臺,可以部署在Tomcat里面,在功能方面,它支持通過web頁面對任務進行增刪改查操作;支持動態修改任務狀態、啟動、停止等,即時生效;支持多種阻塞處理策略,如串行、丟棄后續調度、覆蓋之前調度;支持超時控制、失敗重試、郵件報警等處理。比如,我們可以在系統里面通過創建課表同步任務,設置為每日2點定時從學校中心庫的中間服務器讀取課表以及借課/調課表,然后進行數據的整合過濾,生成新的課表,更新到信息發布平臺服務器的數據庫,保證每日課表更新能及時同步,操作上也方便快捷。
(1)信息發布大屏

圖2 信息發布大屏展示
(2)終端版

圖3 終端展示
(3)網頁版

圖4 網頁版展示

圖5 網頁版教室環境展示
本系統從師生對智慧教室的使用需求出發,創新性地通過人工智能與大數據分析技術,將教室的多媒體信息、動態信息、課程錄播、課堂數據及校內教務系統結為一體,將教室查詢、課程分析、信息展示和環境控制等功能整合,多應用場景方式展示給不同使用群體。技術上采用目前主流中小型項目框架SpringBoot+MyBatis,搭建了交互友好的管控平臺,實踐證明該系統完善了教學管理,豐富了教學手段。系統保留擴展和升級接口,可實現平滑過渡升級系統,推進智慧化教學環境進一步發展,更好地指導師生教學活動。