王景鵬,劉淑嫻,高興林,張怡雯,楊瑩瑩,蘇布努爾·玉山
(新疆大學(xué)信息科學(xué)與工程學(xué)院,烏魯木齊830046)
雖然國內(nèi)新型冠狀病毒肺炎疫情總體上得到控制,但仍然面臨著外部輸入和內(nèi)部局部性傳染的威脅,所以要為長期防疫抗疫做好準(zhǔn)備。
校園是人群聚集的主要場所之一,學(xué)生返校后的安全問題成為社會關(guān)注的一大熱點。學(xué)生通過安檢設(shè)備頻繁出入學(xué)生社區(qū)、校園造成的人流擁堵為防疫工作帶來了巨大的阻礙和挑戰(zhàn)。
目前校園急需一個能充分展示學(xué)生流動情況、進出宿舍情況的可視化系統(tǒng),從而通過調(diào)控安檢設(shè)備在人流高峰期導(dǎo)通方向,緩解進入和外出學(xué)生爭搶安檢通道而造成的擁堵情況。
為解決這一問題,本文開發(fā)了基于ECharts 的學(xué)生社區(qū)智慧門禁管理系統(tǒng)。該項目的受眾較廣泛,包含教師、學(xué)生、宿舍樓寓管理人員和學(xué)工辦工作人員等人員,學(xué)生通過該系統(tǒng)主要進行請銷假申請,學(xué)工辦工作人員則主要進行請銷假的管理,實現(xiàn)請銷假的無紙化管理;而教師通過該系統(tǒng)進行請銷假管理的同時可查看學(xué)生目前的是否在校等狀態(tài);而宿舍樓寓管理人員,則可以通過系統(tǒng)提供的可視化圖表及預(yù)測分析信息進行更好的管理。
本系統(tǒng)采用瀏覽器與服務(wù)器交互模式。用戶通過Web 界面獲取響應(yīng)的信息,同時進行響應(yīng)操作服務(wù)層根據(jù)用戶操作并通過訪問數(shù)據(jù)庫處理用戶請求,最后則反饋至前端用戶界面。為了更好進行團隊成員的分工合作和更方便進行測試,采用MVC 模式并結(jié)合前后端分離技術(shù),部分數(shù)據(jù)統(tǒng)計任務(wù)可以設(shè)置為定時任務(wù),以加快系統(tǒng)的響應(yīng)速度,從而更好完成系統(tǒng)的開發(fā)[1-2]。系統(tǒng)具體的交互模式及各個層次的關(guān)系如圖1 所示。

圖1 客戶端與服務(wù)器模式
根據(jù)需求分析的結(jié)果將整個系統(tǒng)分成三大模塊:信息統(tǒng)計及展示模塊、人流分析及預(yù)測模塊、請銷假管理模塊。系統(tǒng)功能結(jié)構(gòu)如圖2 所示。模型。

圖2 系統(tǒng)功能分解結(jié)構(gòu)層次圖

圖3 人流量預(yù)測分析模型結(jié)果
(1)信息統(tǒng)計及展示模塊:該模塊實現(xiàn)對數(shù)據(jù)進行統(tǒng)計及利用ECharts 進行可視化展示。
(2)人流分析及預(yù)測模塊:該模塊利用統(tǒng)計的信息對分流量進行分析,進而對人流量進行預(yù)測,供社區(qū)管理人員查看,方便進行調(diào)控。
(3)請銷假管理模塊:該模塊實現(xiàn)學(xué)生在線請銷假功能。
根據(jù)可近似認為人流量是隨時間變換的單變量數(shù)據(jù),則采用時間序列分析的ARIMA 模型進行預(yù)測和分析[3]。人流量分析模型的訓(xùn)練分為兩個階段,第一階段通過已有的人流量數(shù)據(jù)按照小時進行統(tǒng)計,按照7:3 的比例劃分訓(xùn)練集與測試集,利用pickle 將訓(xùn)練后的ARIMA 模型進行打包,然后將數(shù)據(jù)存放至項目,每當(dāng)有用戶請求時,直接利用pickle 讀取模型,獲得預(yù)測的結(jié)果,將預(yù)測結(jié)果發(fā)送至前端進行展示。同時設(shè)置定時任務(wù),在每整點時統(tǒng)計前1 小時的人流量,并更新模型,不斷提高模型的正確率。
由于不能獲得學(xué)生進出的實際數(shù)據(jù),則通過模擬的數(shù)據(jù)來進行模型的訓(xùn)練。假設(shè)人流量近似滿足正態(tài)分布,同時簡化實際規(guī)模,進行測試,模擬的數(shù)據(jù)遵循均值為30,標(biāo)準(zhǔn)差為3 正態(tài)分布,ARIMA 參數(shù)的選擇借助pmdaria 下的auto_arima 完成,訓(xùn)練結(jié)果如圖3所示。
圖中藍色數(shù)據(jù)表示訓(xùn)練集數(shù)據(jù),橙色表示測試集數(shù)據(jù),綠色則表示測試數(shù)據(jù),預(yù)測數(shù)據(jù)于測試集數(shù)據(jù)相符合,該模型對應(yīng)的均方根誤差(RSME)為6.58,在可以接受的范圍內(nèi),則選用該次的訓(xùn)練模型作為最終
該系統(tǒng)MySQL 數(shù)據(jù)庫管理系統(tǒng)。系統(tǒng)在設(shè)計與實現(xiàn)時,主要使用10 張數(shù)據(jù)庫表。系統(tǒng)涉及到眾多實體并考慮其存在一對一、一對多、多對一和多對多的關(guān)系,采用實體完整性、參照完整性和用戶自定義完整性確保數(shù)據(jù)的正確性與可靠性,使數(shù)據(jù)庫設(shè)計達到3NF范式[4]。為了加快系統(tǒng)的響應(yīng)速度,則在設(shè)計時允許部分數(shù)據(jù)冗余存在。系統(tǒng)E-R 模型如圖4 所示。

圖4 系統(tǒng)E-R模型
(1)信息統(tǒng)計及展示模塊
該模塊主要分為數(shù)據(jù)處理和數(shù)據(jù)展示部分,利用Django 在控制層的操作訪問數(shù)據(jù)庫得到原始學(xué)生出入信息,進行數(shù)據(jù)的預(yù)處理操作,利用對QuerySet 的操作API 與常用第三方Python 數(shù)據(jù)分析處理庫封裝后的函數(shù)及來將數(shù)據(jù)處理為目標(biāo)結(jié)果。然后通過前后端約定好的接口,將數(shù)據(jù)發(fā)送至前端,接著前端則利用AJAX技術(shù)對數(shù)據(jù)進行解析成目標(biāo)形式,最后利用ECharts 框架將數(shù)據(jù)進行展示。整個過程處理的流程如圖5所示。

圖5 出入信息可視化流程圖
為了更好的可視化效果,該系統(tǒng)采用ECharts 圖表庫中折線圖、散點圖、餅圖、直方圖等圖表形式,并結(jié)合多維數(shù)據(jù)使傳統(tǒng)雜亂的信息更加清晰直觀[5]。通過圖形的動態(tài)展示,用戶可以綜合對比學(xué)生信息,方便管理人員跟方便地掌握學(xué)生活動規(guī)律,從而增強校園的智慧化管理,學(xué)生安全得到更有力保障。
該模塊功能具有周期性特點,當(dāng)晚上宿舍門禁關(guān)閉時,快速篩選出還未歸宿的學(xué)生,借助目前已開放的API 使其聯(lián)系人到管理人員那里報備未歸宿人員的情況。這個周期性的任務(wù),可以借助django-crontab庫來實現(xiàn)定時任務(wù),從而減少系統(tǒng)開銷,加快系統(tǒng)響應(yīng)速度[6]。全校一周內(nèi)夜不歸宿、請假、晚歸人數(shù)情況如圖6 所示。
(2)人流量分析及預(yù)測模塊
該模塊的主要功能為解決日常生活中可能存在的進出門禁使存在擁擠現(xiàn)象,在存在多個閘機的情況下,可以通過設(shè)置閘機的單向進出,起到引導(dǎo)作用,從而快速疏通擁堵,帶給學(xué)生更好的體驗,同時降低病毒傳播的風(fēng)險。

圖6 全校一周內(nèi)夜不歸宿、請假、晚歸人數(shù)情況圖
進出閘機的人流量與許多因素都存在著關(guān)系,例如天氣、學(xué)生個體性差異和地理位置等因素。但對其影響最大的則是時間因素,每到上下課和放學(xué)時間,通過閘機的人數(shù)也會隨之增多。
每天上下課和放學(xué)時間的變化均為固定,則人流量的變化存在著一定的周期性,可近似認為人流量是隨時間變化的單變量數(shù)據(jù)。則可以通過時間序列分析的ARIMA 模型[3],來進行人流量的分析及預(yù)測,預(yù)測的數(shù)據(jù)可以在疏通擁堵提供一定的參考作用。人流量分析預(yù)測模塊流程圖如圖7 所示。

圖7 人流量預(yù)測模塊流程圖
人流量預(yù)測分析展示圖采用折線圖,以小時為單位,總共顯示24 小時即橫坐標(biāo):0:00-23:00(1:00 對應(yīng)縱坐標(biāo)表示的是0:00-0:59 之間通過的人數(shù)),預(yù)測是對當(dāng)天剩下時間按照小時進行預(yù)測,已經(jīng)歷過時間對應(yīng)人流量則通過數(shù)據(jù)庫查詢進行統(tǒng)計,人流量分析預(yù)測結(jié)果如圖8 所示。
圖8 橫軸表示時間,縱軸表示當(dāng)前小時對應(yīng)的小時人流量,據(jù)圖顯示早上9-10 點由于學(xué)生起床上課會迎來一個人數(shù)的小高峰,則管理人員可以根據(jù)結(jié)果引導(dǎo)人員快速通過,以緩解人流量擁擠的情況,提高宿舍樓的安全性。

圖8 人流量分析預(yù)測結(jié)果
(3)請銷假管理模塊
請銷假管理則主要包含請假、延長假期管理和銷假管理三部分組成,請假管理首先由學(xué)生填寫請假申請,而后教師端則會對請假進行審批,根據(jù)請假時長劃分為不同等級,逐級審批。老師在進行審批時需要輸入預(yù)先設(shè)置的6 位數(shù)密碼,來增強審批的安全性。在請假獲批后則同時更新其在校狀態(tài);延長假期則主要為了應(yīng)對突發(fā)情況下需延長假期的情況,其流程跟請假管理大致相似,而銷假管理則跟據(jù)學(xué)生返校進出記錄,自動完成銷假功能。各學(xué)院請假各種類型及比例如圖9 所示。

圖9 各學(xué)院請假各種類型及比例
請假界面如圖10 所示。
系統(tǒng)結(jié)合學(xué)生和校園的實際需求為目標(biāo),搭建了一套完整的學(xué)生社區(qū)智慧門禁管理系統(tǒng)。系統(tǒng)實現(xiàn)了人流預(yù)測及分析,并展示在網(wǎng)頁中,方便學(xué)生社區(qū)管理人員提前進行調(diào)控,在一定程度上緩解了學(xué)生社區(qū)出入口擁堵情況,實現(xiàn)了安檢閘機自動查寢功能,緩解了學(xué)生會工作壓力;實現(xiàn)了無紙化在線請銷假功能,為學(xué)生請假提供便利。

圖10 請假界面
目前該系統(tǒng)仍然存在一些不足:
(1)模型分析顆粒度較大。
(2)在用戶交互方面有待改進。
(3)并發(fā)處理能力較弱。
針對這個系統(tǒng),后續(xù)的計劃是:
(1)在保持現(xiàn)有的用戶類型下,將學(xué)生和教師類型及職位進行細分,使不同的角色能夠看到更詳細的可視化界面。
(2)對部分代碼進行優(yōu)化,使用效率更高的算法,提高效率,降低系統(tǒng)資源消耗提高準(zhǔn)確率,增加并發(fā)處理能力。
(3)與校園閘機進行對接,是平臺正式運營起來。
后續(xù)將不斷地完善該系統(tǒng),力爭把系統(tǒng)進行更完整完善的改進,給用戶呈現(xiàn)更詳細的可視化展示。