1、引言
校园一卡通系统是智慧校园的重要组成部分,是落实教育现代化的重要举措。其雏形为校园食堂收费系统,最早于2001年出现,华东理工大学与中山大学两所学校第一次将收费系统应用到食堂消费管理中。随后,各个公司开始研发此类系统,众多高校陆续引入,并逐渐普及到中小学中,成为目前智慧校园不可或缺的重要组成部分。
在校园一卡通的普及过程中,随着技术的不断提升,一卡通不再局限于食堂消费,校园门禁系统、校园水控系统、校园考勤系统、校园点餐系统、校园综合缴费系统、图书管理系统、机房管理系统等以一卡通消费为基础,辐射校园需求的多功能、多场景一卡通系统应运而生。
近年来,随着物联网、大数据、云计算的不断发展,以数据治理校园的理念逐渐形成,利用应用数据、业务流程建立校园大数据分析系统,真正实现校园的全方位智慧管理。同时,随着移动支付的不断普及,整合阿里支付、微信支付的一卡通消费系统也在迅速发展起来。
总之,以一卡通消费系统为基础,全方位覆盖校园各个场景的综合校园管理系统正在发展壮大。但是,这些系统往往功能庞大、价格昂贵,适合各类高校,并不适应师生数量较少、学生年龄偏低的中小学,特别是乡镇小学,吸引不到企业的足够重视,成为校园一卡通建设的盲区。
本文结合中小学一卡通建设及实际使用情况,分析中小学校园一卡通使用过程中暴露出的一系列问题,并提出行之有效的解决方案,最后,对一卡通系统进行了设计与实现。
2、中小学一卡通系统问题分析
目前,一卡通系统在中小学中已得到大量普及,成为中小学师生校园生活不可或缺的一部分。在研究初期,对兄弟院校的一卡通系统进行了调研,整理了当前存在的主要问题:
(1)目前大部分中小学的消费系统支付方式单一,对一卡通存在极大的依赖,没有移动支付功能。少部分学校提供移动支付功能,仅支持支付宝与微信两种支付方式。但是,中小学生年龄偏低,手机持有率低,所谓的移动支付无法真正满足便捷支付的实际需求。急需一种支持手机、学习机、智能手表、智能手环等各类移动终端的支付方式。
(2)大部分的中小学一卡通消费系统已运行多年,系统框架简易,技术较为落后,极易遭到黑客攻击,缺乏一种安全性较高、服务独立的系统架构。
(3)中小学的组织机构相对高校而言有其特殊性,学校之间不是完全独立的个体。以地级市为例,市内所有中小学统一由教体局管理,教体局下辖市直中小学、乡镇(街道)教育管理办公室,每个办公室管理附近所有中小学,突破现有乡镇行政区域划分的界限,其组织机构示意图如图1所示。
图1 中小学组织机构示意图
因此,在中小学的消费管理中,其消费数据已不再独立存在,上级机构往往需要对所辖学校的消费数据进行有效管控,急需一种多机构管理的校园一卡通系统。
3、一卡通系统结构设计
在分析了一卡通实际需求以后,系统设计采用B/S结构。同时,放弃过时的Struts2、Spring等Java Web框架,采用最新的Spring Cloud微服务框架,根据业务需求拆分各个小型服务,并使每一个小型服务都围绕着系统中的耦合度较高的业务功能进行构建,并且每个服务都维护着自身的数据存储、业务开发、自动化测试案例以及独立部署机制,也为日后的业务拓展做好了底层框架准备。
同时,为了发现、配置和管理微服务,采用Nacos服务注册中心,实现动态服务发现、服务配置、服务元数据及流量管理。
前端展示方面,采用成熟的Vue框架,提高前端的运行效率。前后端分离,后端负责业务/数据接口,前端负责展现/交互逻辑,前后端各尽其责可以最大程度减少开发难度。
硬件通信方面,采用netty框架,保障硬件的端口监听,实现硬件通信。
4、一卡通系统功能分析
一卡通系统的设计遵循稳定、实用、安全等基本原则,PC管理端的相关功能模块设计如下:
(1)系统管理,该模块包含密码修改、机构管理、角色管理、人员信息管理及系统日志五个子模块。其中,密码修改主要负责对管理人员的密码进行更改,机构管理负责对多机构的管理与维护,角色管理为各机构管理员分配角色、设置权限等。
人员信息则主要负责管理各机构的管理员,每位机构管理员只能管理及查看自己所属机构以及下属机构的数据。系统日志负责记录每位登录者的操作日志。
(2)用户管理,该模块分为用户分类、用户标签、用户信息三个子模块,主要用于对一卡通用户进行管理。用户标签的主要目的是对一卡通用户进行分类,分为教职工、学生、临时、外来人员等类别。
而用户标签主要针对学生用户,通过用户标签,可以有效区分学生的重要属性,例如贫困生、留守儿童等标签,通过用户标签,学校可以对重点学生进行有效监控,保障学生的合法权益。用户信息管理支持用户的批量导入与账号冻结等操作,也支持学生的线下充值。
(3)设备管理,包含设备类型、设备信息两个子模块,主要负责对设备的划分及信息管理。其中,设备类型包含电控设备、水控设备、消费机、门禁设备、考勤设备等,设备信息主要负责对设备编号、设备型号、设备位置、设备状态等信息的维护。
(4)一卡通管理,该模块包含一卡通类型管理、一卡通管理两个子模块。一卡通类型管理主要负责对一卡通的类型进行统一管理,包括学生卡、教工卡、临时卡等。一卡通管理主要负责每张卡的维护工作,包括卡的冻结、余额查询、卡分配等功能。
(5)场景设置,场景设置主要是对消费机的消费时段、消费金额等信息进行维护,满足不同的消费场景需求,达到灵活控制消费时间与消费金额的目的,避免错误刷卡、错误消费现象出现。
(6)数据报告,该模块主要包含数据明细表与数据汇总表,数据明细表主要展示各类消费数据,提供多维度查询功能。数据汇总表主要负责数据的统计展示,以图表等形式对数据进行可视化,方便管理人员对数据进行把控决策。
(7)消费统计模块,该模块主要负责展示消费记录、充值记录、退款记录等详细信息。管理员可以在此模块查看到更详细的消费、充值、退款数据,同时支持数据的导出功能,方便管理员下载数据,生成纸质报表以及后期的追踪工作。
(8)支付管理,一卡通系统支持线下充值与线上充值两种充值方式。其中,线上充值提供了支付宝充值与微信充值,支付管理模块负责对每个机构的App ID、商户ID、Key等关键支付信息进行管理。
为了方便用户,系统提供移动端充值、刷卡以及消费查询等功能。其中,移动端的充值主要是支付宝、微信、银行卡三种充值方式。刷卡消费主要是二维码支付,用户通过展示二维码,设备识别二维码进行扣款。
为了不受制于移动支付对支付宝以及微信的依赖,该二维码由一卡通系统生成。同时,为了支持更多的移动终端,一卡通移动端通过HTML5进行访问,用户只需通过HTTP登录即可进行刷卡消费。
以上为一卡通系统的关键功能模块,每个模块对机构有高度依赖,通过机构过滤查询数据,每位管理员只能查看及操作本机构以及下属机构的信息。其功能需求如图2所示。
图2 基于多机构管理的一卡通消费系统功能需求
5、一卡通系统硬件终端保障
基于多机构管理的一卡通消费系统在硬件方面主要集成了两种类型的设备,分别实现了UDP与TCP两种通信。为了提高系统可扩展性,采用工厂策略对设备接口进行统一管理。设备部分接口示意图如图3所示。
图3 硬件设备终端接口示意图
为了保障硬件设备通信可靠性,设备对通信包格式进行了规范。通信包的最大长度为1024字节,由识别码、设备码、地址码、数据包长度、数据包及校验码组成,除数据包以外,其他部分均对其长度进行了限制,通信包最后的CRC16校验码计算采用MODBUS标准,初始值0x FFFF。详细的通信包格式及说明如图4所示。
图4 通信包格式
在移动支付方面,移动终端登录系统以后即可通过点击二维码支付,获取支付二维码。二维码由卡号+开始时间+结束时间+校验码构成。其中,校验码同样采用CRC16校验,保证数据的完整性。支付二维码示例如图5所示。
图5 支付二维码示例
为支持更多移动终端,移动平台无需安装App,也不依赖于公众号、微信小程序等第三方平台。利用HTML5构建移动终端,可以利用http进行登录,支持手机、平板、智能手环等移动终端。
6、一卡通系统多机构管理
基于多机构管理的校园一卡通系统主要核心功能是解决多机构消费信息管理问题。其主要思想为通过机构过滤模块,限定登录账号只能查看及操作本机构以及下属机构的数据。每个机构管理员可以为其子机构设置管理账号,为子机构管理账号授予相应权限,实现子机构的独立管理运作。
同时,上级机构对下属机构拥有管理权限,可以实现对所有子机构的权限授予以及数据操作。
基于多机构管理的校园一卡通系统在业务处理方面严格控制机构过滤,只允许登录账号的所在机构及其下属机构数据通过,屏蔽兄弟机构及其上层机构数据,严禁访问未经授权的机构数据。满足多机构场景需求,特别是对经费有限的乡镇学校具有极大的帮助。基于多机构管理的校园一卡通系统示意图如图6所示。
图6 基于多机构管理的校园一卡通系统
7、结语
近几年,随着信息技术的不断发展,校园一卡通系统不断完善,特别是随着物联网、大数据、云计算等新兴技术的出现,一卡通系统逐渐发展为一个集数据分析、数据挖掘、数据治理等功能完善的庞大体系。但是,这些功能并不适应于资金有限、师生有限、学生年龄偏低的中小学,特别是在乡镇教育办公室管辖下的中小学校。
本文结合中小学一卡通建设及实际使用情况,分析中小学校园一卡通使用过程中暴露出的一系列问题,并提出行之有效的解决方案。利用Spring cloud微服务架构保证系统的安全稳定运行,同时提升了系统的可扩展性;利用支付二维码改变支付方式单一的问题,摆脱对支付宝和微信支付的依赖;
最后,利用多机构管理,实现上级机构对管辖学校的管控,满足当前乡镇(街道)教育管理办公室对所辖学校的消费数据管控需求。未来,以地级市教体局为顶层单位,满足全市中小学用餐时段的并发操作将会是下一步研究的重点。