基于SpringBoot的场车定员定位云服务管理系统设计与开发

2022-05-30 01:19杜龙心林建超成新民
湖州师范学院学报 2022年4期
关键词:校验人脸轨迹

杜龙心 ,林建超 ,成新民

(1.湖州师范学院 信息工程学院,浙江 湖州 313000;2.湖州市特种设备检测研究院,浙江 湖州 313000)

0 引 言

根据特种设备目录定义,场(厂)内专用机动车辆是指除道路 交通、农用车辆以外,仅在工厂厂区、旅游景区和游乐场所等特定区域使用的专用机动车辆[1].随着社会经济的迅猛发展,工业信息化程度逐渐提高,机械化搬运工具在各行各业的生产经营过程中扮演着重要角色.场(厂) 内专用机动车辆就是其中之一,它在企业工厂内的运输中起着非常重要的作用[2].由于场车流动性大,其监管一直缺乏有效的智能化管理.场车的云端智能化是通过车载GPS设备,利用通信技术、软件技术、北斗高精度定位向数据中心发送定位数据[3].在使用过程中,用户只要通过移动设备登录个人管理系统账户,再向数据中心发送人脸数据,就可完成人脸校验.场车的智能化管理不仅能使场内交通稳定、有序,还能有效避免操作人员的违规驾驶[4].

本文运用微服务框架Spring Boot简化系统的开发流程,集成Shiro-JWT框架,完成认证、授权、加密、会话管理,以及与Web集成、缓存等,集成Redis缓存,减轻Mysql数据库的压力;结合前端框架Vue(MVVM设计模式的实现者),方便与第三方库或既有项目整合;将以上技术部署到云端,最终开发一款基于B/S结构的场车定员定位云服务管理系统.

1 系统设计

1.1 系统总体架构

系统采用前后端分离式架构.前端采用Vue框架,Node.js界面采用Element-ui,图表采用Echarts,兼容PC端和移动端用户,为用户提供稳定的页面浏览[5].后端基于SpringBoot框架,集成Shiro-JWT框架、Redis缓存.Shiro-JWT框架通过设置秘钥,使得每次登录都能生成不同的本地客户端令牌,最终给用户分配对应的权限,以防止数据泄露[6].用户在访问前端页面时,可根据需求向后端发送请求,当后端接收到请求后,先在Redis缓存中查询需要的数据是否存在,若不存在,则在Mysql数据库中继续查询.Redis缓存为Mysql数据库形成了一道屏障[7].部分特殊的数据保存在阿里云云端,如人脸数据等[8].当后端收到相关请求后,则会直接向云端获取数据.系统总体框架如图1所示.

图1 系统总体框图Fig.1 System block diagram

2.2 系统各功能模块设计

系统主要分为数据中心、用户中心、设备中心、定位中心、人脸中心、权限设置6个子模块,见图2.

图2 系统功能模块图Fig.2 System function module diagram

2.2.1 数据中心模块设计

数据中心模块用于统计在岗用户和在用设备的总数,并结合前端组件Echarts完成数据的初步展示[9].定位中心和人脸中心的异常数据会优先传递到数据中心,管理员通过数据中心可以查询到违规驾驶的内容,并能对该条异常进行处理.根据不同的权限,数据中心给用户展示的内容也不同,具有最高权限的用户能够查询到任意的数据情况,而驾驶员用户只能查询到当前个人的数据异常和信息.

2.2.2 用户中心模块设计

用户中心模块用于存放用户的个人信息和赋予用户的角色权限,可实现基本的增、删、改和查询功能.该模块基于前端界面框架Element-ui数据表格,入库的用户需要登记姓名、性别、电话、地址等信息,最后由管理员分配权限等级.Element-ui数据表格能自动导出Excel表格,以方便操作人员操作.

2.2.3 设备中心模块设计

设备中心模块分为3个子模块:场车分类、场车入库、GPS入库.场车分类模块用于设定场车类型.在场车分类模块中预设场车类型,可使场车的入库效率更高,也能让用户浏览到直观的数据.场车入库模块与GPS入库模块均基于前端界面框架Element-ui数据表格,入库的设备需要登记出厂信息、特殊编号、类型等信息.

2.2.4 定位中心模块设计

定位中心模块提供轨迹回放、轨迹分析功能,并与驾驶员、场车和车载GPS终端绑定.当驾驶员与场车数据绑定后,由axios进行异步通信,并向后端发送请求,自动遍历数据库中已经存在的身份为驾驶员的用户、能够操作的场车,以及场车的车载GPS终端,最终完成设置.该操作由管理员实现,通过请求数据库的方式代替管理员手动输入信息,以避免因疲劳等因素引起的系统设置出错.设置完成后,定位中心模块将基于前端界面框架Element-ui数据表格,展示当前身份为驾驶员的用户列表.管理员用户可查询当前列表用户的轨迹列表.轨迹列表根据时间算法,将每天的工作时间按若干分钟(默认为5 min,最大为30 min)划分.通过轨迹列表可以查询驾驶员在当前时间段的轨迹记录.例如,某年某月某日上午9点01分到9点02分的轨迹记录.轨迹展示基于高德地图API.高德地图可视化效果良好,能覆盖除三沙、中国台湾、澳门之外的中国所有地级市的实时路况[10].定位中心模块会自动分析存储在云数据库的定位信息,将不在区域或不在工作时间段的数据记录下来,并发送到数据中心.

2.2.5 人脸中心模块设计

人脸中心模块基于阿里云人脸识别、阿里云OSS对象存储实现驾驶员用户的人脸校验[11].该模块能提供以下功能:一是人脸入库.驾驶员用户需要提供个人面部照片,并将其上传至系统审核,若系统审核不通过,则需要重新上传.二是人脸审核.对上传至系统的照片,系统会根据用户名称、编号等信息形成列表后等待管理员审核.在审核中管理员需要通过审核或拒绝审核,并填写原因.三是人脸识别.通过审核的用户根据管理员要求的时间或系统设定的工作时间进行面部识别打卡,没有通过人脸识别的用户会被系统记录下来,并显示为“异常数据”.

2.2.6 权限模块设计

权限设置模块是基于Shiro-JWT框架和Vue-Router控制的模块.该模块在安全管理中显得非常重要.权限设置会提供身份名称和角色名称.如管理员、admin、驾驶、driver等.当后端接收到前端的权限请求指令后,会给当前身份赋予对应的页面控制和按钮控制.该模块拥有基本的修改与删除功能,以及方便处理错误的权限.

3 系统技术的实现

系统基于windos10操作系统,通过IDEA编译器开发,在Java 8环境下,最终通过SpringBoot框架特有的jar包部署到服务器.根据系统模块的设计,系统的关键技术主要体现在轨迹回放、人脸校验两个方面.

3.1 轨迹回放的实现

系统需要获取车载GPS设备的实时定位信息数据.车载GPS设备的核心由STM32F103C8T6实现.车载GPS设备具有高性能、低成本、低功耗等优点,其主要模块包括:GPS模块、SIM模块、TCP/IP协议栈和其他接口.在设备启动后,将SIM模块连接到服务器处理GPS模块获取的数据,再根据设置的时间将数据上传到指定的服务器.定位器程序流程如图3所示.收到的数据按照经度、纬度、接收时间的格式存入数据库,再调用高德地图API,最终在前端页面的定位中心模块视图层实现轨迹回放功能.定位中心如图4所示.拥有权限的用户可以查询期望日期时间的场车行驶轨迹.在行驶轨迹中,分别用不同的标识和颜色表示车辆的起点和终点,并使用模拟汽车表示场车,每点击一次轨迹回放,模拟汽车即从起点出发到达终点,行驶过的轨迹将会变为绿色,未行使过的轨迹为蓝色.轨迹回放效果如图5所示.

图3 定位器程序流程图Fig.3 Locator program flow diagram

图4 定位中心Fig.4 Positioning center

图5 轨迹回放效果图Fig.5 Renderings of track playback

3.2 人脸校验的实现

系统需要用户登录移动端Web应用后,才能上传个人照片至阿里云OSS对象的存储服务器.实现图片数据上传需要两部分组成:①前端组件Element-ui提供图片上传组件,并设置相关参数.②在前端框架Vue使用axios异步通信拦截请求和响应,axios通过new FormData()实例的formData.append('file',file);等方式形成请求参数,并将参数通过ajax/axios发送请求;响应数据为获取成功.在完成人脸入库后,系统会限制PC端用户,仅限移动端用户访问人脸校验模块.在该模块下,用户上传当前面部照片,点击“认证”即可.在人脸校验中,调用阿里云人脸识别API获取对象存储中的链接,并对两次上传的面部图片进行打分时,阿里云会返回如下数据:actionName=CompareFace,requestId=61CFBF6E-8DD4-55AC-A7EB-A7478D7C3480,data={"data":{"confidence":88.14958,"rectAList":[74,79,79,99],"rectBList":[384,338,366,454],"thresholds":[61.0,69.0,75.0]},"requestId":"61CFBF6E-8DD4-55AC-A7EB-A7478D7C3480"}.其中,confidence为图片分数,超过60分为校验成功.人脸校验流程如图6所示,人脸校验效果如图7所示.

图6 人脸校验流程图Fig.6 Flow diagram of face recognition

图7 人脸校验效果图Fig.7 Renderings of face recognition

3 结 论

B/S结构场车定员定位云服务管理系统的软件基于SpringBoot框架,集成Shiro-JWT框架和Redis缓存,有利于系统后期的开发、维护和升级.系统前端充分应用Vue系列框架、Element-ui界面和Echarts图表,基于Web设计出简便、高效的应用软件,为用户界面的权限分配、数据通信等提供方便.系统的硬件采用高精度的GPS模块采集,以传输场车位置信息至数据中心,使后台形成场车的行驶轨迹和地理信息.该管理系统能实现场车定员驾驶和定位行驶的监管.场车的智能化管理能够降低场车监管的盲区,避免操作人员违规驾驶.由云服务器代替人工,不仅能提升监管效率,还能节约人力资源.该系统的实现,可以加强场车现场作业的安全性,减少相关事故、人员伤亡和财产损失;场车安全智能监控水平的提高,能够有效开辟产业化前景,提升社会效益.但系统对数据的分析还不够完善,因此可以尝试使用Python语言,建立模型训练集,以方便更多的可视化分析.

猜你喜欢
校验人脸轨迹
有特点的人脸
一起学画人脸
轨迹
轨迹
三国漫——人脸解锁
轨迹
炉温均匀性校验在铸锻企业的应用
进化的轨迹(一)——进化,无尽的适应
结合抓包实例分析校验和的计算
分析校验和的错误原因