基于Spring Boot技术的重点人员监测系统的设计与实现
2021-03-15程斌斌程昊南朱洪军
程斌斌 程昊南 朱洪军
摘要:重点人员监测系统是一种基于校园已安装的摄像头和增补专业人脸抓拍摄像机以及信息门户数据监管的软件系统,用于解决校园中辅导员和班干部不能快速收集信息,难以掌握重点人员的行为的问题。该系统基于Spring Boot、Spring Framework、MyBatis、Maria DB、Java等技术,实现了安全扫描、人员管理、消息处理、统计分析,行为分析等功能。有效地提高校园管理效率,解决人工管理的烦琐耗时问题,使学校能够迅速地处理重点人员的信息,为校园信息化的建设提供了有力的支撑。
关键词:重点人员;行为分析;安全扫描;消息处理;spring boot
中图分类号:TP311 文献标识码:A
文章编号:1009-3044(2021)03-0103-03
Abstract: The key personnel monitoring system is a software system based on the installed cameras, professional face capture cameras and information portal data supervision. It is used to solve the problem that counselors and class cadres can not quickly collect information and it is difficult to master the behavior of key personnel. Based on spring boot, spring framework, mybatis, Maria dB, Java and other technologies, the system realizes security scanning, personnel management, message processing, statistical analysis, behavior analysis and other functions. Effectively improve the efficiency of campus management, solve the tedious and time-consuming problem of manual management, make the school can quickly process the information of key personnel, and provide strong support for the construction of campus information.
Key words: key personnel; behavior analysis; intelligent monitoring; message management; spring boot
1 背景
随着计算机技术的不断发展,校园信息化建设程度已是一个学校现代化发展的重要指标。现阶段校园的重点人员管理,主要依赖于人工的方式。即通过辅导员、班干部和寝室同学和校园保安等相关人员帮忙收集日常信息,存在出现问题响应不及时、耗费人力等问题。
为了管理校园相关人物的行为活动和物理空间,加快校园信息化、智能化的实现步伐而设计了重点人员行为监管系统。本系统会使学校对学生情况更深层次的掌握,通过从生活各个方面形成监管体系,第一时间掌握有“异常”情况的学生。
2 需求分析
2.1 管理员用例
超级管理员具有系统所有功能权限,能够管理其他用户,如图1所示,系统管理员登录后点击查看其他用户的操作日志可以对其他用户的信息进行删除、添加和修改。点击权限管理,能够查看其他用户的权限,对其他用户授权管理,也可以对其他用户的权限进行修改和删除。
2.2 用户用例
后勤处管理部门主要包括登录系统、违规人员报警信息管理、违规人员行为历史记录管理。其中,登录系统提供找回密码功能,违规人员报警信息管理分别对晚归、不归以及蜗居的人员进行预警,而违规人员行为历史记录管理则提供分类筛选记录(包括根据学院、性别等字段)和导出指定条件下的Excel表格。如图2所示。
3 系统关键技术
3.1 Spring Boot框架
本系统采用Spring Boot技术构建应用程序。其旨在最大化地简化Spring Framework的预先配置,使构建的应用程序尽快启动和运行[1]。Spring Boot是最新的用于构建所有基于Spring的应用程序的入口。Spring Boot 2.0构建在Spring Framework 5之上,Spring boot有两种可选的依赖。常用的一种是基于Servlet Stack的依赖,具体表现形式为Spring MVC[2]。Spring MVC是一个构建在Servlet API之上的MVC框架,它采用了同步的阻塞IO架构,即一个请求对应一个线程的模型。Spring Boot让创建一个独立的、产品级的、基于Spring的应用更加简单,可以直接运行它[3]。
3.2 Spring Framework框架
本系统采用Spring Framework搭建所有Spring框架,Spring Framework已成为Java Web 应用程序开发框架的标准选择[4]。其核心思想是IOC(Inverse Of Control)AOP(Aspect Oriented Programming)。其中控制反转又分为两种:DI(Dependency Inject)和 DL(Dependency Lookup)。其中用得比較多的是依赖注入,搭配Java 注解使用,可以无须XML 配置文件。DI极大地发挥了注解的能力,以此发展出了Guice这个注解驱动的框架。依赖查找主要用于特殊的工具类,更加无侵入式。
因为可以专注于实现应用程序的功能,而不需要在Spring的配置上花费过多时间,遵循“约定大于配置(convention over configuration)”原则,许多约定俗成的配置被写入框架默认配置中,无须开发者手动配置[5]。
3.3 MariaDB框架
Maria DB最受欢迎的开源关系型数据库之一。它是由MySQL的原开发者开辟的新分支,并且保障开源。MariaDB性能稳定并且具有很大的开放性,最近的新功能包括Galera Cluster 4的高级集群功能,Oracle数据库和临时数据表的兼容性功能,可以使人们可以查询过去任何时候的数据。在关系型数据库的选择上,MariaDB更加开放和方便[6]。在可靠性上,许多国内外大公司都选用在MariaDB处理它们的业务,如阿里云、腾讯云Microsoft、Booking 等公司[7]。
4 系统设计
4.1 系统总体设计
本系统实现了如图3所示的安全扫描、人员管理、消息处理、统计分析,行为分析5个模块。系统总体框架如图4在视图层中采用Vue.js框架和H5实现前端用户接口的图形化页面;SCC后台采用Spring Boot和Spring Framework框架实现控制器和业务处理;控制器层主要负责前端请求的分发与响应,和智慧校园平台服务层接口的调用;服务层的JavaBean实现SCC业务处理,并依赖于业务数据层进行数据的管理;业务数据层采用Mybatis框架向服务层提供数据访问接口,数据存储使用关系数据库Maria DB。
4.2 系统登录流程
如图5用户登录界面,所有用户共同使用登录入口通过工号及密码登录访问业务系统,业务系统能够拦截身份认证错误的用户,并且能够获取用户权限信息。当业务系统认证用户成功,用户就可以登录相应的部门。
4.3 数据库表设计
数据库整体表名称及关联名见表1,可分为4个模块:
1)第一个模块—用户模块:用户表主要用于保存用户的基本信息,包括用户的id,账号,姓名,角色外键,学院名等信息,其主键是id,工号可用于调用能力平台接口获取信息。由表user构成。
2)第二模块—角色表:该表用于保存用户角色的id、角色名、上级id等。角色分层次,如最顶层的code为1,则它的下级角色的上级id就为1。由表role构成与user表相关联。
3)第三个重点人员消息模块:重点人员基本信息表主要用于保存重点人员的基本信息。包括主键id,学号,姓名,性别,二级学院,专业班级,在校状态,辅导员姓名。由personnel、personnel_reason和message三表构成。
4)第四个模块—添加原因模块:添加原因表主要保存触犯规则、普通标签等。由reasan和un_message两表构成。
5 系统实现
5.1 日志管理实现
如图6界面查看操作日志。管理员可以通过该视图查看各个部门对重点行为人员的消息处理的操作以及对重点行为人员信息处理的操作,管理员也可以删除相关的操作记录。
5.2 人员管理实现
如图7查看违规人员名单。后勤处用户可以通过该视图查看所有违规人员信息,并且能够以表格的形式导出对应的信息。后勤处用户可以通过时间,所属学院查看对应的重点人员信息。
5.3 消息管理实现
学校相应负责人查看自己管理的人员消息。人员触犯规则,被系统捕捉,生成相应消息,发送给负责人。负责人可以收到消息,并对消息进行处理,如已读、忽略等。如图8所示。
6 结束语
本文针对学校收集学生信息困难的情况,设计并实现基于Spring Boot技术的重点人员监测系统。该系统使校园管理更加的信息化智能化,有效地解决学校不能快速收集信息,难以掌握重点人员的行为等问题,该系统尚且存在可以改进的部分,如页面设计过于单调,用户之间的联系不密切。内存消耗过大,服务器性能还可以提升,有待后续改进。
参考文献:
[1] Pivotal Team.Spring Official Site[EB/OL].[2020-01-17].https://spring.io/.
[2] Pivotal Team.Spring Boot Project[EB/OL].[2020-01-17].https://spring.io/projects/spring-boot.
[3] Phillip Webb,Dave Syer,Josh Long,et al.Spring Boot Reference Documentation[EB/OL].[2020-03-20].https://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/html/..
[4] 张雷,王悦.基于SpringBoot微服务架构下的MVC模型研究[J].安徽电子信息职业技术学院学报,2018,17(4):1-9.
[5] 吕宇琛.SpringBoot框架在web应用开发中的探讨[J].科技创新导报,2018,15(8):168,173.
[6] MariaDB Developers.MariaDB Knowledge Base[EB/OL].[2019-11-01].https://mariadb.com/kb/en/.
[7] MariaDB Foundation.MariaDB Official Site[EB/OL].[2020-01-17].https://mariadb.org/.
【通聯编辑:谢媛媛】