学生社区智慧门禁管理系统的设计和实现

2021-03-24 08:22王景鹏刘淑娴高兴林张怡雯杨莹莹苏布努尔玉山
现代计算机 2021年3期
关键词:人流量可视化预测

王景鹏,刘淑娴,高兴林,张怡雯,杨莹莹,苏布努尔·玉山

(新疆大学信息科学与工程学院,乌鲁木齐830046)

0 引言

虽然国内新型冠状病毒肺炎疫情总体上得到控制,但仍然面临着外部输入和内部局部性传染的威胁,所以要为长期防疫抗疫做好准备。

校园是人群聚集的主要场所之一,学生返校后的安全问题成为社会关注的一大热点。学生通过安检设备频繁出入学生社区、校园造成的人流拥堵为防疫工作带来了巨大的阻碍和挑战。

目前校园急需一个能充分展示学生流动情况、进出宿舍情况的可视化系统,从而通过调控安检设备在人流高峰期导通方向,缓解进入和外出学生争抢安检通道而造成的拥堵情况。

为解决这一问题,本文开发了基于ECharts 的学生社区智慧门禁管理系统。该项目的受众较广泛,包含教师、学生、宿舍楼寓管理人员和学工办工作人员等人员,学生通过该系统主要进行请销假申请,学工办工作人员则主要进行请销假的管理,实现请销假的无纸化管理;而教师通过该系统进行请销假管理的同时可查看学生目前的是否在校等状态;而宿舍楼寓管理人员,则可以通过系统提供的可视化图表及预测分析信息进行更好的管理。

1 系统分析

1.1 系统总体架构设计

本系统采用浏览器与服务器交互模式。用户通过Web 界面获取响应的信息,同时进行响应操作服务层根据用户操作并通过访问数据库处理用户请求,最后则反馈至前端用户界面。为了更好进行团队成员的分工合作和更方便进行测试,采用MVC 模式并结合前后端分离技术,部分数据统计任务可以设置为定时任务,以加快系统的响应速度,从而更好完成系统的开发[1-2]。系统具体的交互模式及各个层次的关系如图1 所示。

图1 客户端与服务器模式

1.2 功能划分

根据需求分析的结果将整个系统分成三大模块:信息统计及展示模块、人流分析及预测模块、请销假管理模块。系统功能结构如图2 所示。模型。

图2 系统功能分解结构层次图

图3 人流量预测分析模型结果

(1)信息统计及展示模块:该模块实现对数据进行统计及利用ECharts 进行可视化展示。

(2)人流分析及预测模块:该模块利用统计的信息对分流量进行分析,进而对人流量进行预测,供社区管理人员查看,方便进行调控。

(3)请销假管理模块:该模块实现学生在线请销假功能。

2 关键算法设计与分析

根据可近似认为人流量是随时间变换的单变量数据,则采用时间序列分析的ARIMA 模型进行预测和分析[3]。人流量分析模型的训练分为两个阶段,第一阶段通过已有的人流量数据按照小时进行统计,按照7:3 的比例划分训练集与测试集,利用pickle 将训练后的ARIMA 模型进行打包,然后将数据存放至项目,每当有用户请求时,直接利用pickle 读取模型,获得预测的结果,将预测结果发送至前端进行展示。同时设置定时任务,在每整点时统计前1 小时的人流量,并更新模型,不断提高模型的正确率。

由于不能获得学生进出的实际数据,则通过模拟的数据来进行模型的训练。假设人流量近似满足正态分布,同时简化实际规模,进行测试,模拟的数据遵循均值为30,标准差为3 正态分布,ARIMA 参数的选择借助pmdaria 下的auto_arima 完成,训练结果如图3所示。

图中蓝色数据表示训练集数据,橙色表示测试集数据,绿色则表示测试数据,预测数据于测试集数据相符合,该模型对应的均方根误差(RSME)为6.58,在可以接受的范围内,则选用该次的训练模型作为最终

3 系统实现

3.1 数据库设计与实现

该系统MySQL 数据库管理系统。系统在设计与实现时,主要使用10 张数据库表。系统涉及到众多实体并考虑其存在一对一、一对多、多对一和多对多的关系,采用实体完整性、参照完整性和用户自定义完整性确保数据的正确性与可靠性,使数据库设计达到3NF范式[4]。为了加快系统的响应速度,则在设计时允许部分数据冗余存在。系统E-R 模型如图4 所示。

图4 系统E-R模型

3.2 系统子模块设计与实现

(1)信息统计及展示模块

该模块主要分为数据处理和数据展示部分,利用Django 在控制层的操作访问数据库得到原始学生出入信息,进行数据的预处理操作,利用对QuerySet 的操作API 与常用第三方Python 数据分析处理库封装后的函数及来将数据处理为目标结果。然后通过前后端约定好的接口,将数据发送至前端,接着前端则利用AJAX技术对数据进行解析成目标形式,最后利用ECharts 框架将数据进行展示。整个过程处理的流程如图5所示。

图5 出入信息可视化流程图

为了更好的可视化效果,该系统采用ECharts 图表库中折线图、散点图、饼图、直方图等图表形式,并结合多维数据使传统杂乱的信息更加清晰直观[5]。通过图形的动态展示,用户可以综合对比学生信息,方便管理人员跟方便地掌握学生活动规律,从而增强校园的智慧化管理,学生安全得到更有力保障。

该模块功能具有周期性特点,当晚上宿舍门禁关闭时,快速筛选出还未归宿的学生,借助目前已开放的API 使其联系人到管理人员那里报备未归宿人员的情况。这个周期性的任务,可以借助django-crontab库来实现定时任务,从而减少系统开销,加快系统响应速度[6]。全校一周内夜不归宿、请假、晚归人数情况如图6 所示。

(2)人流量分析及预测模块

该模块的主要功能为解决日常生活中可能存在的进出门禁使存在拥挤现象,在存在多个闸机的情况下,可以通过设置闸机的单向进出,起到引导作用,从而快速疏通拥堵,带给学生更好的体验,同时降低病毒传播的风险。

图6 全校一周内夜不归宿、请假、晚归人数情况图

进出闸机的人流量与许多因素都存在着关系,例如天气、学生个体性差异和地理位置等因素。但对其影响最大的则是时间因素,每到上下课和放学时间,通过闸机的人数也会随之增多。

每天上下课和放学时间的变化均为固定,则人流量的变化存在着一定的周期性,可近似认为人流量是随时间变化的单变量数据。则可以通过时间序列分析的ARIMA 模型[3],来进行人流量的分析及预测,预测的数据可以在疏通拥堵提供一定的参考作用。人流量分析预测模块流程图如图7 所示。

图7 人流量预测模块流程图

人流量预测分析展示图采用折线图,以小时为单位,总共显示24 小时即横坐标:0:00-23:00(1:00 对应纵坐标表示的是0:00-0:59 之间通过的人数),预测是对当天剩下时间按照小时进行预测,已经历过时间对应人流量则通过数据库查询进行统计,人流量分析预测结果如图8 所示。

图8 横轴表示时间,纵轴表示当前小时对应的小时人流量,据图显示早上9-10 点由于学生起床上课会迎来一个人数的小高峰,则管理人员可以根据结果引导人员快速通过,以缓解人流量拥挤的情况,提高宿舍楼的安全性。

图8 人流量分析预测结果

(3)请销假管理模块

请销假管理则主要包含请假、延长假期管理和销假管理三部分组成,请假管理首先由学生填写请假申请,而后教师端则会对请假进行审批,根据请假时长划分为不同等级,逐级审批。老师在进行审批时需要输入预先设置的6 位数密码,来增强审批的安全性。在请假获批后则同时更新其在校状态;延长假期则主要为了应对突发情况下需延长假期的情况,其流程跟请假管理大致相似,而销假管理则跟据学生返校进出记录,自动完成销假功能。各学院请假各种类型及比例如图9 所示。

图9 各学院请假各种类型及比例

请假界面如图10 所示。

4 结语

系统结合学生和校园的实际需求为目标,搭建了一套完整的学生社区智慧门禁管理系统。系统实现了人流预测及分析,并展示在网页中,方便学生社区管理人员提前进行调控,在一定程度上缓解了学生社区出入口拥堵情况,实现了安检闸机自动查寝功能,缓解了学生会工作压力;实现了无纸化在线请销假功能,为学生请假提供便利。

图10 请假界面

目前该系统仍然存在一些不足:

(1)模型分析颗粒度较大。

(2)在用户交互方面有待改进。

(3)并发处理能力较弱。

针对这个系统,后续的计划是:

(1)在保持现有的用户类型下,将学生和教师类型及职位进行细分,使不同的角色能够看到更详细的可视化界面。

(2)对部分代码进行优化,使用效率更高的算法,提高效率,降低系统资源消耗提高准确率,增加并发处理能力。

(3)与校园闸机进行对接,是平台正式运营起来。

后续将不断地完善该系统,力争把系统进行更完整完善的改进,给用户呈现更详细的可视化展示。

猜你喜欢
人流量可视化预测
数据可视化设计在美妆类APP中的应用
选修2—2期中考试预测卷(B卷)
选修2—2期中考试预测卷(A卷)
思维可视化
自动门人流量检测系统设计
复变函数级数展开的可视化实验教学
复变函数级数展开的可视化实验教学
复变函数共形映射的可视化实验教学
复变函数共形映射的可视化实验教学
提高高职院校图书馆现刊阅览室人流量的策略研究