基于高校智慧教室的信息发布系统的设计及应用研究
2022-09-30贺玮何恬
贺 玮 何 恬
(上海交通大学教育技术中心 上海 200240)
引言
基于智慧教室的信息发布系统主要是依托信息平台系统开展的信息发布业务,对师生需要获取的信息提供相应的功能支撑,更好地服务于师生的教与学。
一、系统设计
1.需求分析
(1)师生预订教室
教师预订教室需要考虑诸多因素:课程表占用情况;教室类型布局。比如,是否是讨论型教室,是否为可移动桌椅等;教室内座位以及插座数量,特别是课堂上学生需要用到笔记本上课的情况;是否有云录播设备等等。预定教室需要获取的相关信息之前只能通过电话咨询,反馈也不一定及时。信息发布系统通过发布的课程表信息,每个教室3D导览以及详细信息,帮助教师快速根据课表、教室类型、教室座位数等条件精确搜索到所需教室并直接预定,避免了烦琐的咨询流程。
(2)自修教室难找
需要自修的学生经常跑遍一整栋教学楼也找不到一间合适的自修教室。通过挂置在教学楼主要通道口的信息发布系统,学生可以轻松查阅当天整栋教学楼每间教室的课程占用情况,避免了刚坐下来自习不久就被上课师生赶走的情况。信息发布系统还展示每间教室的当前详细信息,如该教室当前人数统计、上座率、当前温度,避免了自修教室过于拥挤。此外,工作人员也可以根据上座率、温度等信息,适当地增减自修教室,开启关闭空调避免能源浪费。
(3)师生上课忘记教室号
很多师生经常是到了指定上课的教学楼却不记得在哪间教室上课了,通过挂置在教学楼主要通道口的信息发布系统发布当日当时该教学楼每个教室的课程名称、上课老师姓名,帮助师生避免忘记教室号的尴尬,针对教室多的可以发布滚动页面分别显示每一层楼教室情况。此外,可以提供二维码扫描功能进入查询页面,可以更快速地查询到哪位教师、哪个课程名称在哪间教室什么时间段上课。
(4)大数据统计
教学研究需要具体的数据统计。系统可以根据课表上的应到人数和图像捕捉技术得到的实到人数,计算出每位老师每个课堂的上座率供教学分析。控制中心也可以根据自修教室的上座率、高低峰情况合理调整自修教室的开放关闭,做好节能减排工作。
(5)教室环境监测
管理人员需要根据教室内实时测量温度调控空调,以及根据实时CO2浓度和PM2.5值调控新风系统,以更好地服务师生;师生也可以参考温湿度自己调节空调温度和新风系统。
(6)在线督导教学
教学研究指导工作需要实时查看课堂上教师和学生的表现,遇到某些重要考试比赛时还需要及时地给出指导和建议。系统通过采集教室内配置的高清追踪摄像头音视频流,提供多角度高清画面,极大方便领导教学研究指导工作。
(7)通知公告
对应教学楼的自修室开放信息、通宵自修室信息、教室设备维修不能使用信息、失物招领信息、教学楼考试封楼等等信息的提供,可以更好地服务师生。
2.应用场景
(1)信息发布大屏
该系统最大的一个服务对象群体就是进入教学楼上课的师生,在教学楼的主要通道口墙面悬挂信息发布大屏可以帮助师生最直观快捷地查找上课的教室号、自修教室,查看通知公告以及呼叫服务中心等等。
(2)终端查询
师生通过终端扫描大屏提供的二维码,可以登录进入系统主页查看更多的信息:包括每栋教学楼的信息简介,课程表,每间教室的3D导览以及多媒体配置、通知公告等等,同时终端主页也提供了教室类型查询和空闲教室查询接口。
(3)在线督导
除了可以查看各种信息外,该系统还专门为需要参与教学研究指导工作的教师提供专有账号,可以实时并多视角查看每一间教室内的课堂情况,包括课堂上座率、师生课堂互动情况等等,充分了解课堂并发现存在的问题,给出指导建议。
3.设计架构
(1)系统功能模块
(2)系统技术架构
图1 基于智慧教室的信息发布系统软件框架
二、系统实现
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点定时从学校中心库的中间服务器读取课表以及借课/调课表,然后进行数据的整合过滤,生成新的课表,更新到信息发布平台服务器的数据库,保证每日课表更新能及时同步,操作上也方便快捷。
2.实现及应用
(1)信息发布大屏
图2 信息发布大屏展示
(2)终端版
图3 终端展示
(3)网页版
图4 网页版展示
图5 网页版教室环境展示
结语
本系统从师生对智慧教室的使用需求出发,创新性地通过人工智能与大数据分析技术,将教室的多媒体信息、动态信息、课程录播、课堂数据及校内教务系统结为一体,将教室查询、课程分析、信息展示和环境控制等功能整合,多应用场景方式展示给不同使用群体。技术上采用目前主流中小型项目框架SpringBoot+MyBatis,搭建了交互友好的管控平台,实践证明该系统完善了教学管理,丰富了教学手段。系统保留扩展和升级接口,可实现平滑过渡升级系统,推进智慧化教学环境进一步发展,更好地指导师生教学活动。