版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
摘要在越來(lái)越現(xiàn)代化,繁華的城市中,人們出行越來(lái)越頻繁,文化需求也越來(lái)越多,政府或者商家在城市中舉辦各種各樣類型的活動(dòng),為了人流的安全,城市街道安裝攝像頭,紅外等監(jiān)控設(shè)備,再通過(guò)算法對(duì)人流數(shù)據(jù)實(shí)現(xiàn)不間斷的分析,或者通過(guò)手機(jī)的信令進(jìn)行統(tǒng)計(jì)分析。但是這些數(shù)據(jù)有時(shí)候無(wú)法更加直觀地從設(shè)備監(jiān)控上體現(xiàn)出來(lái),而且對(duì)于活動(dòng)出現(xiàn)的實(shí)時(shí)狀況無(wú)法更高效地進(jìn)行預(yù)警并且處理,沒有達(dá)到更好的監(jiān)控效果。論文的設(shè)計(jì)和實(shí)現(xiàn)了基于JavaEE平臺(tái)城市活動(dòng)監(jiān)控系統(tǒng),本項(xiàng)目采用B/S架構(gòu),前后端分離技術(shù),前端采用數(shù)據(jù)雙向Vue框架開發(fā),便于各類型的數(shù)據(jù)展示,后端采用javaEE高效開發(fā)的springboot框架,數(shù)據(jù)存儲(chǔ)采用讀存數(shù)據(jù)效率高的redis數(shù)據(jù)庫(kù),符合監(jiān)控?cái)?shù)據(jù)以及任務(wù)數(shù)據(jù)傳遞的快速性,本系統(tǒng)從數(shù)據(jù)流上看分為兩部分:監(jiān)控?cái)?shù)據(jù)可視化,活動(dòng)人員管理;監(jiān)控?cái)?shù)據(jù)可視化是基于監(jiān)控?cái)?shù)據(jù)進(jìn)行開發(fā)的,后端讀取redis上的數(shù)據(jù)進(jìn)行部分處理,再通過(guò)http協(xié)議傳給前端展示;活動(dòng)人員管理是使用者通過(guò)前端填寫數(shù)據(jù),http協(xié)議返回后端處理,存儲(chǔ)在redis進(jìn)行緩存,通過(guò)redis的RDB進(jìn)行持久化。作者參與了本平臺(tái)的需求分析,概要設(shè)計(jì),獨(dú)立完成了開發(fā)系統(tǒng)的業(yè)務(wù)功能,系統(tǒng)部署等(由于各種的原因,監(jiān)控?cái)?shù)據(jù)在本系統(tǒng)展示期間是通過(guò)隨機(jī)模擬程序模擬的,并不具備真實(shí)性和可參考性)關(guān)鍵詞:監(jiān)控?cái)?shù)據(jù)可視化,活動(dòng)人員管理,前后端分離,JavaEEAbstractInamoreandmoremodernandprosperouscity,peopletravelmoreandmorefrequently,andtheirculturalneedsaremoreandmore.Thegovernmentorbusinessesholdvarioustypesofactivitiesinthecity.Inordertoensurethesafetyofpeopleflow,thecitystreetsareequippedwithcameras,infraredandothermonitoringdevices,andthenpeopleflowdataisanalyzedcontinuouslythroughalgorithms,orstatisticalanalysisiscarriedoutthroughthesignalingofmobilephonesAnalysis.Butsometimesthesedatacannotbemoreintuitivefromthedevicemonitoring,andthereal-timesituationofactivitiescannotbemoreefficientwarningandprocessing,didnotachievebettermonitoringeffect.ThedesignandimplementationofthepaperisbasedontheJavaEEplatformurbanactivitymonitoringsystem.TheprojectadoptstheB/Sarchitecture,front-endandback-endseparationtechnology,thefront-endadoptsthedatabidirectionalVueframeworkdevelopment,whichisconvenientforvarioustypesofdatadisplay.Theback-endadoptsthespringbootframeworkdevelopedbyJavaEEwithhighefficiency,andthedatastorageadoptstheredisdatabasewithhighefficiency,whichconformstothemonitoringdataandtaskdatatransmissionThesystemcanbedividedintotwopartsintermsofdataflow:monitoringdatavisualizationandactivitypersonnelmanagement;monitoringdatavisualizationisdevelopedbasedonmonitoringdata,andthebackendreadsthedataonredisforpartialprocessing,andthentransmitsittothefrontendfordisplaythroughHTTPprotocol;activitypersonnelmanagementistheuserfillsinthedatathroughthefrontend,andtheHTTPprotocolreturnstothebackendforprocessingandstorageItisstoredinredisforcachingandpersistedthroughtheRDBofredis.Theauthorparticipatedintherequirementanalysisandsummarydesignoftheplatform,independentlycompletedthebusinessfunctionsandsystemdeploymentofthedevelopmentsystem(duetovariousreasons,themonitoringdatawassimulatedbyarandomsimulationprogramduringthedisplayofthesystem,whichdidnothavetheauthenticityandreferentiality)Keywords:Monitoringdatavisualization;Activitypersonnelmanagement;Frontandrearendseparation;JavaEE目錄10821_WPSOffice_Level11前言 128338_WPSOffice_Level21.1國(guó)內(nèi)外概況 121970_WPSOffice_Level21.2項(xiàng)目目標(biāo) 116364_WPSOffice_Level21.3論文主要工作 211551_WPSOffice_Level21.4論文結(jié)構(gòu) 21325_WPSOffice_Level21.5本章小結(jié) 230588_WPSOffice_Level12相關(guān)技術(shù) 425812_WPSOffice_Level22.1Springboot 429936_WPSOffice_Level22.2Vue2.0 43429_WPSOffice_Level22.3axios 513851_WPSOffice_Level22.4JWT 612726_WPSOffice_Level22.5本章小結(jié) 712667_WPSOffice_Level13系統(tǒng)需求分析 817186_WPSOffice_Level13.1總體業(yè)務(wù)流程分析 85113_WPSOffice_Level13.2系統(tǒng)用戶角色分析 89726_WPSOffice_Level13.3數(shù)據(jù)需求 924707_WPSOffice_Level13.4功能性需求分析 109387_WPSOffice_Level23.4.1系統(tǒng)登錄 1027834_WPSOffice_Level23.4.2角色選擇 1018407_WPSOffice_Level23.4.3活動(dòng)注冊(cè) 112437_WPSOffice_Level23.4.4分監(jiān)控點(diǎn)可視化 1217328_WPSOffice_Level23.4.5總監(jiān)控點(diǎn)可視化 1328365_WPSOffice_Level23.4.6活動(dòng)部門管理 147306_WPSOffice_Level23.4.7監(jiān)控歷史的回放 164674_WPSOffice_Level23.4.8輿論與輿論控制 1720410_WPSOffice_Level23.4.9預(yù)警配置以及響應(yīng)更改,活動(dòng)詳情 1810532_WPSOffice_Level13.5性能需求分析 1924165_WPSOffice_Level13.6本章總結(jié) 2021850_WPSOffice_Level14系統(tǒng)概要設(shè)計(jì) 2123232_WPSOffice_Level24.1系統(tǒng)總體架構(gòu)設(shè)計(jì) 2116493_WPSOffice_Level34.1.1前端架構(gòu)說(shuō)明 2220406_WPSOffice_Level34.1.2后端架構(gòu)說(shuō)明 2315130_WPSOffice_Level24.2系統(tǒng)功能模塊設(shè)計(jì) 2424230_WPSOffice_Level24.3數(shù)據(jù)庫(kù)設(shè)計(jì) 2528301_WPSOffice_Level34.3.1REDIS 255706_WPSOffice_Level24.4監(jiān)控?cái)?shù)據(jù)接口設(shè)計(jì) 3517684_WPSOffice_Level24.5本章小結(jié) 3712381_WPSOffice_Level15系統(tǒng)詳細(xì)設(shè)計(jì) 383638_WPSOffice_Level25.1用戶管理 3817282_WPSOffice_Level35.1.1系統(tǒng)登錄 3827975_WPSOffice_Level35.1.2角色選擇 4012397_WPSOffice_Level25.2部門管理 453401_WPSOffice_Level35.2.1活動(dòng)注冊(cè) 453261_WPSOffice_Level35.2.2活動(dòng)部門上下級(jí)管理 4729051_WPSOffice_Level35.2.3預(yù)警配置以及響應(yīng)更改 5027237_WPSOffice_Level35.2.4輿論與輿論控制 5222761_WPSOffice_Level25.3監(jiān)控可視化 5521888_WPSOffice_Level35.3.1分監(jiān)控點(diǎn)可視化 5619330_WPSOffice_Level35.3.2總監(jiān)控點(diǎn)可視化 576553_WPSOffice_Level35.3.3活動(dòng)歷史回放 591195_WPSOffice_Level25.4本章總結(jié) 6021089_WPSOffice_Level16系統(tǒng)部署 6120399_WPSOffice_Level17系統(tǒng)測(cè)試 6210985_WPSOffice_Level27.1測(cè)試環(huán)境 6219584_WPSOffice_Level27.2測(cè)試方法 622010_WPSOffice_Level27.3功能性測(cè)試 621952_WPSOffice_Level27.4本章總結(jié) 6531810_WPSOffice_Level18總結(jié) 6626156_WPSOffice_Level1參考文獻(xiàn) 679710_WPSOffice_Level1謝辭 6812123_WPSOffice_Level1附錄 6913672_WPSOffice_Level1程序源代碼 69PAGEPAGE1041前言1.1國(guó)內(nèi)外概況隨著全球經(jīng)濟(jì)的高速發(fā)展,越來(lái)越多由政府或者商界舉辦的大型活動(dòng),因此國(guó)內(nèi)外也發(fā)生了不少惡性的活動(dòng)踩踏事件,因此我們需要一個(gè)既可以進(jìn)行活動(dòng)管理,也可以對(duì)人流進(jìn)行實(shí)時(shí)監(jiān)控的城市活動(dòng)客流監(jiān)控系統(tǒng)。國(guó)內(nèi)對(duì)于城市活動(dòng)人流的監(jiān)控基本上都是基于各種技術(shù),如使用視頻監(jiān)控,手機(jī)信令監(jiān)控等對(duì)人流進(jìn)行實(shí)時(shí)監(jiān)控,數(shù)據(jù)化的監(jiān)控可以實(shí)現(xiàn)跟蹤區(qū)域內(nèi)人流的密度,評(píng)估人流的擁擠程度。國(guó)外對(duì)于城市活動(dòng)人流的監(jiān)控基本是采用感應(yīng)器傳感,對(duì)人流進(jìn)行跟蹤監(jiān)控,精準(zhǔn)獲取人流位置以及走向,實(shí)現(xiàn)對(duì)于活動(dòng)人流評(píng)估。本系統(tǒng)的目標(biāo)是利用獲取的監(jiān)控?cái)?shù)據(jù),對(duì)數(shù)據(jù)進(jìn)行可視化并且結(jié)合城市活動(dòng)管理。本系統(tǒng)致力于解決活動(dòng)管理帶來(lái)的繁瑣;明確不同的活動(dòng)部門實(shí)施的任務(wù),活動(dòng)的目標(biāo);并且可以靈活調(diào)整活動(dòng)的預(yù)警配置,以及對(duì)不同任務(wù)的活動(dòng)部門進(jìn)行任務(wù)調(diào)整。來(lái)發(fā)揮人流監(jiān)控?cái)?shù)據(jù)的效益。1.2項(xiàng)目目標(biāo)城市重大活動(dòng)的人流安全是活動(dòng)安全重中之重,隨著監(jiān)控技術(shù)的成熟,越來(lái)越多可用的監(jiān)控?cái)?shù)據(jù)可以提供給我們使用,針對(duì)目前活動(dòng)的部署與監(jiān)控?cái)?shù)據(jù)的空白,比如監(jiān)控活動(dòng)地域不明確,活動(dòng)監(jiān)控的分工不明確,上下級(jí)的任務(wù)部署不清晰反饋不及時(shí)等等問(wèn)題。本文旨在利用這些監(jiān)控?cái)?shù)據(jù)與活動(dòng)的部署進(jìn)行結(jié)合,設(shè)計(jì)一個(gè)監(jiān)控?cái)?shù)據(jù)與活動(dòng)管理的結(jié)合的活動(dòng)監(jiān)控平臺(tái),實(shí)現(xiàn)活動(dòng)方案的制訂,管理部門對(duì)下級(jí)部門的任務(wù)下達(dá),下級(jí)部門的意見反饋,監(jiān)控點(diǎn)明確分配,各部門管理自己的監(jiān)控點(diǎn);分監(jiān)控點(diǎn)數(shù)據(jù)實(shí)時(shí)展示,分監(jiān)控點(diǎn)的歷史回放,輿論控制等功能。活動(dòng)監(jiān)控平臺(tái)從功能上可分為兩部分,一部分是對(duì)活動(dòng)組織內(nèi)部進(jìn)行合理分配,活動(dòng)方案的制訂另一部分是監(jiān)控?cái)?shù)據(jù)進(jìn)行處理,分類,直觀,全面的可視化展示。通過(guò)監(jiān)控?cái)?shù)據(jù)提供的信息,更加高效地預(yù)警以及處理活動(dòng)中的突發(fā)事件。系統(tǒng)部署之后,管理者可以跟蹤所需的監(jiān)控區(qū)域,更加直觀地觀察人流變化,及時(shí)地對(duì)跟蹤區(qū)域進(jìn)行預(yù)警,在活動(dòng)結(jié)束后,也能夠通過(guò)歷史回放,觀察活動(dòng)人流,車流的變化趨勢(shì),以便更好地再下次活動(dòng)中總結(jié)經(jīng)驗(yàn)。彌補(bǔ)了管理者在活動(dòng)的處理上的效率不足,無(wú)法滿足活動(dòng)部署的靈活性,解決了在應(yīng)對(duì)活動(dòng)突發(fā)事件,活動(dòng)組織部門臃腫,緩慢的信息傳遞,對(duì)于查看系統(tǒng)的群眾,也可以及時(shí)得知擁堵地段,管理者通過(guò)發(fā)布消息為疏通人群提供有力的幫助。1.3論文主要工作本文主要對(duì)基于JavaEE開發(fā)的重大城市活動(dòng)監(jiān)控的設(shè)計(jì)與開發(fā)工作進(jìn)行詳細(xì)的闡述。作者參與了此項(xiàng)目的全部開發(fā)流程,獨(dú)立完成了系統(tǒng)業(yè)務(wù)功能下的所有模塊如:系統(tǒng)登錄,角色選擇,活動(dòng)注冊(cè),分監(jiān)控點(diǎn)可視化,總監(jiān)控點(diǎn)可視化,部門管理等模塊的設(shè)計(jì)與實(shí)現(xiàn),以及參與了系統(tǒng)的部署等工作。在需求分析階段,作者將介紹系統(tǒng)總體業(yè)務(wù)分析,系統(tǒng)用戶角色分析,數(shù)據(jù)需求,以及功能需求;概要設(shè)計(jì)階段,作者將介紹系統(tǒng)的總體架構(gòu),模塊劃分,并結(jié)合redis存儲(chǔ)結(jié)構(gòu)進(jìn)行數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)和接口設(shè)計(jì)進(jìn)行詳細(xì)闡述;在詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)部分,作者通過(guò)時(shí)序圖和流程圖對(duì)系統(tǒng)的各個(gè)模塊的設(shè)計(jì)實(shí)現(xiàn)進(jìn)行詳細(xì)的介紹;在測(cè)試階段,將通過(guò)系統(tǒng)在測(cè)試過(guò)程中功能測(cè)試,并展示部分測(cè)試用例;在系統(tǒng)部署階段,作者介紹部署環(huán)境以及部署架構(gòu)。1.4論文結(jié)構(gòu)本文分為八個(gè)章節(jié)詳細(xì)地對(duì)城市重大活動(dòng)監(jiān)控平臺(tái)的設(shè)計(jì)和實(shí)現(xiàn)進(jìn)行闡述。各章節(jié)內(nèi)容如下:第一章節(jié)為前言,主要介紹論文背景,項(xiàng)目的研究?jī)?nèi)容與意義,從而得到項(xiàng)目研究目標(biāo),并簡(jiǎn)單介紹本文的主要工作及組織結(jié)構(gòu)。第二章節(jié)為項(xiàng)目開發(fā)的相關(guān)技術(shù)綜述,對(duì)本項(xiàng)目開發(fā)的關(guān)鍵框架進(jìn)行簡(jiǎn)要的概述,是本項(xiàng)目開發(fā)工作的理論基礎(chǔ)。第三章節(jié)為城市重大活動(dòng)監(jiān)控平臺(tái)的需求分析,結(jié)合用例圖,詳細(xì)地論述本系統(tǒng)的功能需求。第四章節(jié)為城市重大活動(dòng)監(jiān)控平臺(tái)的概要設(shè)計(jì),詳細(xì)介紹本系統(tǒng)的總體架構(gòu),數(shù)據(jù)庫(kù)設(shè)計(jì)以及接口設(shè)計(jì)等第五章為城市重大活動(dòng)監(jiān)控平臺(tái)的詳細(xì)設(shè)計(jì)及實(shí)現(xiàn),通過(guò)時(shí)序圖和流程圖等對(duì)系統(tǒng)的各個(gè)業(yè)務(wù)功能模塊設(shè)計(jì)實(shí)現(xiàn)進(jìn)行詳細(xì)的闡述。第六章為城市重大活動(dòng)監(jiān)控平臺(tái)的系統(tǒng)部署介紹,主要介紹部署的系統(tǒng),如何部署。第七章節(jié)為城市重大活動(dòng)監(jiān)控平臺(tái)的系統(tǒng)測(cè)試,主要針對(duì)系統(tǒng)模塊功能設(shè)計(jì)測(cè)試用例,分析結(jié)果,查缺補(bǔ)漏。第八章為結(jié)論,對(duì)全文內(nèi)容進(jìn)行總結(jié),并提出不足與展望之處。1.5本章小結(jié)本章通過(guò)介紹系統(tǒng)的背景,說(shuō)明了在重大城市活動(dòng)監(jiān)控上,活動(dòng)管理與監(jiān)控相結(jié)合的重要性,從而確定本論文的建設(shè)目標(biāo)。通過(guò)介紹系統(tǒng)的研究?jī)?nèi)容和實(shí)現(xiàn)目標(biāo),進(jìn)一步說(shuō)明了系統(tǒng)實(shí)現(xiàn)的意義,最后介紹了本論文的組織結(jié)構(gòu)2相關(guān)技術(shù)本章節(jié)主要介紹城市重大活動(dòng)監(jiān)控系統(tǒng)設(shè)計(jì)實(shí)現(xiàn)所涉及的相關(guān)技術(shù)理論,如前端開發(fā)的數(shù)據(jù)雙向的vue框架,結(jié)合了tomcat,springmvc,spring核心的springboot,以及數(shù)據(jù)傳遞時(shí)需要的框架axios,保證用戶安全的簽名jwt技術(shù)2.1SpringbootSpringboot是Java微服務(wù)開發(fā)框架,直接快速構(gòu)建web應(yīng)用,是Javaweb開發(fā)的一個(gè)高效的框架[4]。Springboot主體由Spring構(gòu)成,Spring的核心是控制反轉(zhuǎn)(IOC)和面向切面編程(AOP)。IOC旨在方便項(xiàng)目維護(hù)和測(cè)試,它提供了一種通過(guò)Java的反射機(jī)制對(duì)Java對(duì)象進(jìn)行統(tǒng)一的配置和管理的方法。Spring框架利用容器管理對(duì)象的生命周期,容器可以通過(guò)掃描XML文件或類上特定Java注解來(lái)配置對(duì)象,開發(fā)者可以通過(guò)依賴查找或依賴注入來(lái)獲得對(duì)象。AOP基于代理模式,同時(shí)運(yùn)行時(shí)可配置;AOP框架主要針對(duì)模塊之間的交叉關(guān)注點(diǎn)進(jìn)行模塊化;其中的一些通用任務(wù)如安全,事務(wù),日志等進(jìn)行集中管理。除此之外Spring還與各類優(yōu)秀框架進(jìn)行集成,極大方便了框架整合。Springboot不僅僅繼承了Spring框架的優(yōu)秀特性,也進(jìn)一步地簡(jiǎn)化了web應(yīng)用的整個(gè)搭建和開發(fā)過(guò)程[5]。它有以下特征:可以創(chuàng)建獨(dú)立的\t"/item/Spring%20Boot/_blank"Spring應(yīng)用程序,并且基于其Maven或Gradle插件,可以創(chuàng)建可執(zhí)行的JARs和WARs;2.內(nèi)嵌Tomcat或Jetty等Servlet容器;3.提供自動(dòng)配置的“starter”項(xiàng)目對(duì)象模型(POMS)以簡(jiǎn)化\t"/item/Spring%20Boot/_blank"Maven配置;4.盡可能自動(dòng)配置Spring容器;5.提供準(zhǔn)備好的特性,如指標(biāo)、健康檢查和外部化配置;6.絕對(duì)沒有代碼生成,不需要XML配置。2.2Vue2.0Vue是一套用于構(gòu)建用戶界面的漸進(jìn)式的Java框架,主要核心包括數(shù)據(jù)雙向綁定,組件模塊化開發(fā),模塊化路由。下圖2.2我們主要簡(jiǎn)要地說(shuō)明vue數(shù)據(jù)雙向綁定原理[6]。圖2.1vue數(shù)據(jù)雙向綁定數(shù)據(jù)原理vue會(huì)先構(gòu)造出一個(gè)虛擬DOM一旦監(jiān)測(cè)出數(shù)據(jù)改變,就會(huì)通過(guò)Object.defineProperty定義的數(shù)據(jù)攔截,截取到數(shù)據(jù)變化截取到變化的數(shù)據(jù),通過(guò)watcher改變虛擬樹DOM中的具體數(shù)據(jù)通過(guò)更新虛擬DOM的元素值,從而改變最后渲染的dom樹值,完成雙向綁定。Vue模式是m-v-vm模式,即(model-view-modelView),通過(guò)modelView作為中間層(vm的實(shí)例),進(jìn)行雙向數(shù)據(jù)的綁定與變化。2.3axiosAxios是近年來(lái)興起的http庫(kù),由于它的易用,簡(jiǎn)潔,高效性逐步取代了ajax,成為最受大家歡迎的http庫(kù),它支持node端和瀏覽器端,支持promise以及具有豐富的配置項(xiàng)[7]。Axios通過(guò)createInstance底層根據(jù)默認(rèn)設(shè)置新建Axios對(duì)象,axios中所有的請(qǐng)求內(nèi)部都是Atotype.request,將Atotype.request的內(nèi)部this綁定到新建的axios對(duì)象上,從而形成一個(gè)axios實(shí)例。新建一個(gè)Axios對(duì)象時(shí),會(huì)有兩個(gè)攔截器,request攔截器以及response攔截器。請(qǐng)求攔截器的作用可以在發(fā)送請(qǐng)求前進(jìn)行一些操作,例如在發(fā)送請(qǐng)求時(shí)加上token響應(yīng)攔截器在接收到響應(yīng)后進(jìn)行一些操作,例如在返回錯(cuò)誤狀態(tài)時(shí),需要進(jìn)行其他頁(yè)面的跳轉(zhuǎn)。Axios具體方法有:axios.get(url[,config])//get請(qǐng)求用于列表和信息查詢
2.axios.delete(url[,config])//刪除
3.axios.post(url[,data[,config]])//post請(qǐng)求用于信息的添加
4.axios.put(url[,data[,config]])//更新操作2.4JWTJsonwebtoken(JWT),是為了在網(wǎng)絡(luò)應(yīng)用環(huán)境間傳遞聲明而執(zhí)行的一種基于JSON的開放標(biāo)準(zhǔn)((RFC7519).該token被設(shè)計(jì)為緊湊且安全的,特別適用于分布式站點(diǎn)的單點(diǎn)登錄(SSO)場(chǎng)景[8]。JWT的聲明一般被用來(lái)在身份提供者和服務(wù)提供者間傳遞被認(rèn)證的用戶身份信息,以便于從資源服務(wù)器獲取資源,也可以增加一些額外的其它業(yè)務(wù)邏輯所必須的聲明信息,該token也可直接被用于認(rèn)證,也可被加密。傳統(tǒng)session認(rèn)證中每個(gè)用戶的訪問(wèn)都會(huì)伴隨一個(gè)session,session被存入內(nèi)存中,但隨著用戶的增加以及分布式應(yīng)用的廣泛使用,session就會(huì)暴露占用過(guò)多內(nèi)存,增加服務(wù)器負(fù)載均衡的壓力等問(wèn)題,限制應(yīng)用的擴(kuò)展[9]。JWT和http協(xié)議一樣時(shí)無(wú)狀態(tài)的,它不需要在服務(wù)器端進(jìn)行驗(yàn)證或者保留信息,這樣為應(yīng)用擴(kuò)展提供了很大的便利。下圖是JWT在服務(wù)端和客戶端之間的操作。圖2.2JWT通訊原理用戶使用用戶名和密碼請(qǐng)求服務(wù)器服務(wù)器進(jìn)行驗(yàn)證用戶信息服務(wù)器通過(guò)驗(yàn)證發(fā)送給用戶一個(gè)token客戶端儲(chǔ)存token,并在每次請(qǐng)求附上token服務(wù)器驗(yàn)證token,并返回?cái)?shù)據(jù)2.5本章小結(jié)本章主要介紹了開發(fā)城市重大活動(dòng)監(jiān)控系統(tǒng)時(shí)使用的springBoot,Vue,JWT以及axios等開發(fā)框架以及相關(guān)理論,前端vue加上axios以及網(wǎng)絡(luò)安全的Jwt,后端的springboot,為后續(xù)的系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)提供了基礎(chǔ)。3系統(tǒng)需求分析本章主要對(duì)城市重大活動(dòng)監(jiān)控系統(tǒng)進(jìn)行需求分析,對(duì)它的業(yè)務(wù)流程,系統(tǒng)用戶角色進(jìn)行分析,詳細(xì)介紹它的功能性需求以及非功能性需求。城市重大活動(dòng)監(jiān)控系統(tǒng)功能需求主要分為系統(tǒng)登錄,角色選擇,活動(dòng)注冊(cè),分監(jiān)控點(diǎn)可視化,總監(jiān)控點(diǎn)可視化,活動(dòng)部門管理,監(jiān)控歷史回放,輿論與輿論控制,預(yù)警配置及響應(yīng)的更改等幾個(gè)部分。接下來(lái),我們將利用用例模型詳細(xì)介紹系統(tǒng)需求,為系統(tǒng)的開發(fā)提供依據(jù)。3.1總體業(yè)務(wù)流程分析城市重大活動(dòng)監(jiān)控系統(tǒng) 主要是針對(duì)不同的角色,展示不同的視圖,從而達(dá)到對(duì)監(jiān)控活動(dòng)的分工,下圖就是城市重大活動(dòng)客流監(jiān)控系統(tǒng)的總體業(yè)務(wù)流程圖[10]。圖3.1城市重大活動(dòng)監(jiān)控系統(tǒng)的總體業(yè)務(wù)流程圖從用戶登錄開始,用戶進(jìn)入角色選擇,選擇不同的角色,進(jìn)入不同角色的視圖中,并且向后端的服務(wù)器請(qǐng)求數(shù)據(jù)。在這個(gè)過(guò)程中,后端服務(wù)器根據(jù)不同用戶的角色的請(qǐng)求解析參數(shù),向數(shù)據(jù)庫(kù)獲取監(jiān)控?cái)?shù)據(jù)以及其他業(yè)務(wù)數(shù)據(jù),后端服務(wù)器對(duì)數(shù)據(jù)進(jìn)行處理與統(tǒng)計(jì),整理,響應(yīng)并且返回?cái)?shù)據(jù)給web端進(jìn)行監(jiān)控?cái)?shù)據(jù)可視化以及業(yè)務(wù)數(shù)據(jù)的展示。3.2系統(tǒng)用戶角色分析城市重大活動(dòng)監(jiān)控系統(tǒng)的用戶角色目前比較簡(jiǎn)單,分為活動(dòng)管理者,活動(dòng)分部門人員以及群眾?;顒?dòng)管理者,是城市活動(dòng)的注冊(cè)以及創(chuàng)建人員,擁有對(duì)自己創(chuàng)建活動(dòng)的絕對(duì)闡述權(quán),活動(dòng)管理者可以在自己的活動(dòng)中設(shè)置部門,職務(wù),由此衍生出活動(dòng)分部門人員,活動(dòng)分部門人員受活動(dòng)管理人員的管控,擁有部分的活動(dòng)監(jiān)控權(quán),是上下級(jí)關(guān)系。群眾則并非活動(dòng)管理人員監(jiān)管部分,擁有部分的活動(dòng)監(jiān)控權(quán),但是輿論權(quán)仍然受到活動(dòng)管理人員的控制??偟脕?lái)說(shuō),不同的系統(tǒng)角色在本系統(tǒng)擁有不同的權(quán)限,活動(dòng)管理者:(目前只有creator用戶可以成為活動(dòng)管理者)可以看到活動(dòng)所有詳情,所有分監(jiān)控點(diǎn)的實(shí)時(shí)數(shù)據(jù),總監(jiān)控點(diǎn)的實(shí)時(shí)數(shù)據(jù)匯總,各部門的人員分配情況以及人員注冊(cè)情況。分部門人員:可以看到自己部門所屬的分監(jiān)控點(diǎn)的實(shí)時(shí)數(shù)據(jù),可以看到自己部門的詳細(xì)情況以及自己人員注冊(cè)情況。群眾:可看到活動(dòng)的總監(jiān)控點(diǎn)數(shù)據(jù),發(fā)表言論,查看發(fā)布消息。城市重大活動(dòng)客流監(jiān)控系統(tǒng)的角色關(guān)系如下圖[8]。圖3.2城市重大活動(dòng)客流監(jiān)控系統(tǒng)的角色關(guān)系圖3.3數(shù)據(jù)需求城市重大活動(dòng)監(jiān)控系統(tǒng)的監(jiān)控需要監(jiān)控?cái)?shù)據(jù),監(jiān)控?cái)?shù)據(jù)可以來(lái)自道路街頭的監(jiān)控,特定的活動(dòng)監(jiān)控區(qū)域,或者來(lái)自手機(jī)信令等。監(jiān)控?cái)?shù)據(jù)須要有監(jiān)控地點(diǎn)的信息,比如監(jiān)控人可行面積,道路類型,如:平面道路,上坡道路,下坡道路,監(jiān)控點(diǎn)名稱(與實(shí)際地點(diǎn)相關(guān))。監(jiān)控具體數(shù)據(jù)需要有監(jiān)控點(diǎn)的人數(shù),車輛數(shù),以及時(shí)間。監(jiān)控?cái)?shù)據(jù)的時(shí)間顆粒為30s,保證能夠及時(shí)預(yù)警,防止突發(fā)惡性事件發(fā)生。3.4功能性需求分析城市重大活動(dòng)監(jiān)控系統(tǒng)主要分為活動(dòng)管理,包括部門管理,以及輿論管理以及監(jiān)控可視化,其功能需求可以細(xì)分為系統(tǒng)登錄,角色選擇,活動(dòng)注冊(cè),分監(jiān)控點(diǎn)可視化,總監(jiān)控點(diǎn)可視化,活動(dòng)部門管理,監(jiān)控歷史回放,輿論與輿論控制,預(yù)警配置及響應(yīng)的更改等幾個(gè)部分。下面對(duì)各功能的詳細(xì)需求進(jìn)行詳細(xì)闡述。3.4.1系統(tǒng)登錄系統(tǒng)登錄分為登錄與注冊(cè)。注冊(cè)需要填寫賬號(hào),用戶名,密碼,確認(rèn)密碼。確認(rèn)密碼需要與密碼一致,點(diǎn)擊確定,如果賬號(hào)沒有被注冊(cè),頁(yè)面會(huì)顯示注冊(cè)成功,可以輸入賬號(hào),密碼進(jìn)行登錄。登錄需要填寫賬號(hào),密碼,如果密碼錯(cuò)誤或者賬號(hào)未有注冊(cè),則無(wú)法登錄,點(diǎn)擊登錄成功登錄后,會(huì)顯示角色選擇界面,可以根據(jù)不同的權(quán)限,或者需求選擇角色。系統(tǒng)登錄后,非活動(dòng)管理者的賬號(hào)具有登錄時(shí)限,如果時(shí)間超過(guò)30分鐘,非活動(dòng)管理者賬號(hào)需要重新登錄,而活動(dòng)管理者賬號(hào)沒有登錄時(shí)限。目前只有creator賬號(hào)具有活動(dòng)管理者角色的權(quán)限,其他用戶不具有權(quán)限但其他用戶可成為群眾或者分部門人員角色。賬號(hào)不容許重復(fù)登錄,一旦重復(fù)登錄,上一個(gè)登錄的賬號(hào)會(huì)被強(qiáng)制返回首頁(yè)進(jìn)行重新登錄。3.4.2角色選擇登錄成功,進(jìn)入角色選擇界面,有三種角色選擇:活動(dòng)管理者,活動(dòng)分部門人員(駐場(chǎng)人員),群眾。選擇成為活動(dòng)管理者,頁(yè)面滑動(dòng)到活動(dòng)管理者界面,在界面中左邊可以補(bǔ)充完整個(gè)人信息:可以選擇添加,更改頭像;更改名字,補(bǔ)充或者更改電話號(hào)碼,填寫或者更改個(gè)人的個(gè)性簽名。更改或者填寫完畢后點(diǎn)擊發(fā)送按鈕,更改成功后,頁(yè)面會(huì)有更改成功的提示。在界面的右邊有:已創(chuàng)建的活動(dòng),注冊(cè)活動(dòng),注冊(cè)監(jiān)控;選擇已創(chuàng)建的活動(dòng),點(diǎn)擊進(jìn)入到活動(dòng)監(jiān)控管理界面。點(diǎn)擊注冊(cè)活動(dòng),進(jìn)入活動(dòng)注冊(cè)界面。如果想要自己的監(jiān)控?cái)?shù)據(jù)進(jìn)入活動(dòng),可以注冊(cè)監(jiān)控;填寫監(jiān)控名稱,選擇地面類型,填寫監(jiān)控面積,點(diǎn)擊確定按鈕,就會(huì)提示監(jiān)控點(diǎn)注冊(cè)成功,要求使用者及時(shí)去與開發(fā)者聯(lián)系導(dǎo)入數(shù)據(jù)。監(jiān)控名稱,地面類型,以及都不能夠?yàn)榭?,否則就會(huì)注冊(cè)失敗。選擇成為分部門人員(駐場(chǎng)人員)界面左邊需求同上,右邊界面有:選擇注冊(cè)的活動(dòng)以及選擇已注冊(cè)活動(dòng)。選擇注冊(cè)的活動(dòng),輸入活動(dòng)的密碼,點(diǎn)擊確認(rèn)就可以繼續(xù)選擇部門以及部門內(nèi)的職業(yè),點(diǎn)擊確定,提示已經(jīng)注冊(cè)成功。選擇已注冊(cè)活動(dòng),點(diǎn)擊進(jìn)入,進(jìn)入到分部門監(jiān)控界面。選擇成為群眾界面左邊同上,界面右邊可以選擇已注冊(cè)的活動(dòng),點(diǎn)擊進(jìn)入到群眾界面。下圖為角色選擇與系統(tǒng)登錄的用例圖圖3.3角色選擇與系統(tǒng)登錄用例圖3.4.3活動(dòng)注冊(cè)活動(dòng)注冊(cè)是參考《廣州東站站汽車客運(yùn)站人群擁擠踩踏事故專項(xiàng)應(yīng)急預(yù)案》設(shè)計(jì)的。其中需要詳細(xì)填寫的有活動(dòng)名稱,活動(dòng)密碼,活動(dòng)開始時(shí)間,活動(dòng)事故發(fā)生類型,活動(dòng)危險(xiǎn)性分析,包括總體分析,根本原因,誘發(fā)因素;事故的處置的基本原則,信息報(bào)告程序,包括普通信息報(bào)告,事故信息報(bào)告;選擇監(jiān)控點(diǎn),預(yù)警人群密度,危險(xiǎn)人群密度,預(yù)警變化率,行政單位劃分,添加相關(guān)外部單位聯(lián)系電話,方案配置,加載方案?;顒?dòng)名稱,密碼,活動(dòng)時(shí)間均不能為空,否則注冊(cè)失敗。行政部門的劃分:填寫部門名稱,添加職務(wù),添加每個(gè)職務(wù)所做的任務(wù)以及任務(wù)開始的時(shí)間;添加部門的一級(jí)響應(yīng)措施,部門的二級(jí)響應(yīng)措施,部門的三級(jí)響應(yīng)措施,以及擴(kuò)大應(yīng)急響應(yīng)措施,填寫部門電話。下圖為填寫行政單位的用例圖。圖3.4填寫行政單位用例圖生成方案:填寫方案名稱,以監(jiān)控點(diǎn)為單位,進(jìn)行在行政單位劃分的人員分配,分配的部門,分配的部門的職務(wù)還有人數(shù)。點(diǎn)擊加載方案,可以查看填寫的活動(dòng)所有情況。下圖為活動(dòng)注冊(cè)的用例圖。圖3.5活動(dòng)注冊(cè)用例圖3.4.4分監(jiān)控點(diǎn)可視化在活動(dòng)中就有很多監(jiān)控點(diǎn),因此需要把監(jiān)控點(diǎn)的控制進(jìn)行分開顯示,具體分為監(jiān)控點(diǎn)的查看以及監(jiān)控?cái)?shù)據(jù)的可視化。監(jiān)控點(diǎn)的查看包括顯示人可行面積,監(jiān)控點(diǎn)的類型,監(jiān)控點(diǎn)的名稱,監(jiān)控點(diǎn)在活動(dòng)中分配的人數(shù)以及監(jiān)視燈,監(jiān)視燈主要應(yīng)用于預(yù)警人流密度的是否處于危險(xiǎn)或者安全的狀態(tài),監(jiān)控?zé)麸@示綠色代表安全,顯示黃色代表達(dá)到預(yù)警線,顯示紅色代表達(dá)到危險(xiǎn)線,提醒管理者關(guān)注監(jiān)控點(diǎn)。點(diǎn)擊監(jiān)控點(diǎn),就會(huì)顯示實(shí)時(shí)的監(jiān)控?cái)?shù)據(jù)監(jiān)控?cái)?shù)據(jù)可視化主要以人流密度,車流,人流密度的變化率這些數(shù)據(jù)為主,以折線圖,柱形圖,餅圖為表現(xiàn)形式。以下就是在分監(jiān)控下所表示的數(shù)據(jù)可視化1.實(shí)時(shí)的人流密度折線圖可視化,人流密度時(shí)間顆粒為30秒,整個(gè)顯示為50分鐘內(nèi)的實(shí)時(shí)人流數(shù)據(jù)的監(jiān)控,即每次讀取實(shí)時(shí)數(shù)據(jù)為100個(gè)。橫坐標(biāo)為時(shí)間,因?yàn)檎麄€(gè)圖所包含的總時(shí)間為50分鐘,所以在進(jìn)行數(shù)據(jù)處理時(shí)把年月日省略。為了更好地顯示數(shù)據(jù),人流密度數(shù)據(jù)在原來(lái)的基礎(chǔ)上x100,車流數(shù)據(jù)x10,即人流密度單位為人/m2*100,車流密度為輛*10。在鼠標(biāo)懸停在曲線上會(huì)顯示該點(diǎn)上的人流密度,車流以及時(shí)間信息,折線圖中有兩條線,一條紅線代表人流密度的危險(xiǎn)線,一條黃色代表人流警告線,直觀地預(yù)警人流的突發(fā)情況。點(diǎn)擊監(jiān)控點(diǎn)的按鈕會(huì)顯示折線圖面積,可以更加直觀地看到人流密度變化的波動(dòng)。2.人流密度柱形圖可視化,基本上與折線圖顯示同理;3.人流密度變化率也是判斷人流擁擠的一個(gè)重要參考標(biāo)準(zhǔn),人流密度變化率的折線圖單位為r人流密度末-人流密度初/時(shí)間間隔*100,同樣為了更好地顯示數(shù)據(jù),在原有的單位上x10。人流密度變化率的時(shí)間段為2.5分鐘,視圖上會(huì)直接顯示變化率的數(shù)值,鼠標(biāo)懸停在曲線上會(huì)出現(xiàn)該點(diǎn)的時(shí)間段以及數(shù)值。4.由在50分鐘內(nèi)的人流數(shù)量與車流數(shù)量組成的餅圖,該圖的數(shù)據(jù)并沒有x100和x10,是真實(shí)的人流,車流數(shù)據(jù)。鼠標(biāo)懸停時(shí)會(huì)顯示該餅狀部分的數(shù)據(jù)以及其占的比率。下圖是分監(jiān)控點(diǎn)可視化的用例圖。圖3.6分監(jiān)控點(diǎn)可視化用例圖3.4.5總監(jiān)控點(diǎn)可視化在活動(dòng)中雖然有很多監(jiān)控點(diǎn),但有時(shí)候我們更需要把監(jiān)控點(diǎn)結(jié)合起來(lái)查看,因此總監(jiān)控點(diǎn)就是所有監(jiān)控點(diǎn)結(jié)合。總監(jiān)控點(diǎn)的數(shù)據(jù)是由各個(gè)監(jiān)控點(diǎn)的最新數(shù)據(jù)構(gòu)成的,更新時(shí)間為30s,主要的展現(xiàn)形式有折線圖,餅圖,柱形圖。數(shù)據(jù)的單位與分監(jiān)控點(diǎn)一致,人流密度單位為人/面積*100,車流單位為輛*10。1.最新總監(jiān)控人流密度與車流折線圖,橫坐標(biāo)為監(jiān)控點(diǎn)名稱。同樣總監(jiān)控點(diǎn)也有人流監(jiān)控的線指標(biāo),紅線為危險(xiǎn)線,黃線為預(yù)警線,鼠標(biāo)懸停在曲線上可以看到人流密度,車流數(shù)值以及監(jiān)控點(diǎn)名稱。2.最新總監(jiān)控人流密度餅圖,扇形區(qū)為監(jiān)控點(diǎn)名稱,數(shù)值為各個(gè)監(jiān)控點(diǎn)的最新的人流數(shù)據(jù),鼠標(biāo)懸停會(huì)顯示所選扇區(qū)的數(shù)值,名稱,以及比值。3.最新總監(jiān)控人流密度與車流的柱形圖,橫坐標(biāo)為監(jiān)控點(diǎn)名稱,鼠標(biāo)懸停在柱形圖上可以看到人流密度,車流數(shù)值以及監(jiān)控點(diǎn)名稱。4.最新總監(jiān)控車流餅圖,扇形區(qū)為監(jiān)控點(diǎn)名稱,數(shù)值各個(gè)監(jiān)控點(diǎn)的最新的車流數(shù)據(jù),鼠標(biāo)懸停會(huì)顯示所選扇區(qū)的數(shù)值,名稱,以及比值。下圖為總監(jiān)控可視化的用例圖。圖3.7總監(jiān)控可視化用例圖3.4.6活動(dòng)部門管理在活動(dòng)注冊(cè)時(shí),我們把活動(dòng)分為多個(gè)監(jiān)控點(diǎn),再給監(jiān)控點(diǎn)分配給部門的職務(wù)組合,這些部門對(duì)該監(jiān)控點(diǎn)負(fù)責(zé)?;顒?dòng)的管理是以監(jiān)控點(diǎn)為核心,以部門為輔的管理模式,與公司的小組模式類似。具體如下圖:圖3.8活動(dòng)職務(wù)劃分圖在活動(dòng)部門管理模塊中,主要有任務(wù)下達(dá)與反饋,意見反饋,部門詳情,日志等子功能。部門詳情,在活動(dòng)管理者界面中,查看分配點(diǎn),顯示分配的部門與職務(wù),查看詳細(xì)部門,顯出部門電話,部門名稱,部門職務(wù)以及任務(wù)和任務(wù)開始時(shí)間,查看職務(wù),就能看到已注冊(cè)職務(wù)的賬戶。在分部門界面中顯示本部門的名稱,所屬部門職務(wù),職務(wù)注冊(cè)人員,已部署的應(yīng)急措施任務(wù)下達(dá)與反饋,活動(dòng)管理者可以對(duì)指點(diǎn)的監(jiān)控點(diǎn)上的某部門下達(dá)任務(wù),任務(wù)分為緊急任務(wù)和普通任務(wù),也可以將任務(wù)設(shè)置模板,方便下次下達(dá)。下達(dá)任務(wù)后,所屬任務(wù)的部門人員就會(huì)收到任務(wù),并且可以對(duì)任務(wù)狀態(tài)進(jìn)行更改標(biāo)記,未完成,正在完成,已完成,三種標(biāo)記。系統(tǒng)默認(rèn)為未完成。一旦更改標(biāo)記,即完成了部門人員對(duì)管理的反饋,管理者就可以在任務(wù)反饋中,根據(jù)內(nèi)容顏色進(jìn)行區(qū)分,未完成為紅色,正在完成為黃色,已完成為綠色。任務(wù)反饋的格式為任務(wù)類型+有色內(nèi)容+時(shí)間。意見反饋,部門人員以部門名義可以給管理人員提出意見反饋,意見反饋的格式為內(nèi)容+時(shí)間。日志,管理人員或者部門人員的任何操作都會(huì)被記錄到日志中,如下達(dá)任務(wù),任務(wù)標(biāo)記更改,意見反饋等,日志的格式為內(nèi)容+時(shí)間,內(nèi)容的標(biāo)準(zhǔn)為:誰(shuí)操作了什么;日志的順序?yàn)榈剐?。下面是活?dòng)管理的用例圖:圖3.9活動(dòng)管理者的活動(dòng)管理用例圖圖3.10部門人員的活動(dòng)管理用例圖3.4.7監(jiān)控歷史的回放監(jiān)控歷史回放,主要是回放各個(gè)分監(jiān)控點(diǎn)的人流密度以及車流在活動(dòng)的前中后的對(duì)比。實(shí)時(shí)監(jiān)控只有50分鐘的監(jiān)控時(shí)段,而歷史回放可以回放從開始記錄到記錄結(jié)束這一段時(shí)間的人流密度,車流的變化。管理者需要在活動(dòng)開始前后進(jìn)行記錄,在活動(dòng)結(jié)束時(shí)關(guān)閉記錄,保證歷史數(shù)據(jù)完整。管理者也可以選擇不同的時(shí)間段的監(jiān)控記錄,甚至可以調(diào)整時(shí)間顆粒進(jìn)行查看(最小顆粒為30s);管理者獲取不同時(shí)間段的數(shù)據(jù),如近一個(gè)小時(shí),近一天,近一個(gè)月,以及全部的監(jiān)控?cái)?shù)據(jù)。得到不同數(shù)段的監(jiān)控?cái)?shù)據(jù)后,管理者可以查看其中的任意調(diào)整好數(shù)據(jù)顆粒的數(shù)據(jù)。監(jiān)控?cái)?shù)據(jù)顯示為折線圖,顯示的方式與單位仍然與分監(jiān)控一致。下圖為監(jiān)控歷史回放的用例圖:圖3.11監(jiān)控歷史回放用例圖3.4.8輿論與輿論控制輿論:群眾可以針對(duì)監(jiān)控發(fā)表言論,言論的格式為頭像+內(nèi)容+時(shí)間,言論不可進(jìn)行回復(fù)。輿論控制:管理者可以查看群眾發(fā)表的言論,格式為內(nèi)容+時(shí)間;管理者可以禁止評(píng)論,禁止評(píng)論后,群眾無(wú)法再發(fā)表言論。管理者可以開放評(píng)論,開發(fā)評(píng)論后,群眾可以評(píng)論,系統(tǒng)默認(rèn)評(píng)論開放。管理者可以發(fā)布消息,消息格式為通知+內(nèi)容,發(fā)布消息之后,管理者可以看到消息,群眾也可以看到發(fā)布的消息。下圖為輿論與輿論控制的用例圖。圖3.12群眾的輿論用例圖圖3.12活動(dòng)管理者的輿論用例圖3.4.9預(yù)警配置以及響應(yīng)更改,活動(dòng)詳情管理者可以更改預(yù)警配置:更改人流密度預(yù)警值,更改人流密度危險(xiǎn)值,更改人流變化率預(yù)警值,更改人流變化率的危險(xiǎn)值,更改了預(yù)警值,監(jiān)控圖中預(yù)警線也會(huì)隨之更改;如果管理者認(rèn)為活動(dòng)出現(xiàn)重大狀況,可以啟動(dòng)緊急響應(yīng),有一二三級(jí)響應(yīng)以及擴(kuò)大級(jí)別響應(yīng),系統(tǒng)默認(rèn)是無(wú)級(jí)別響應(yīng)。一旦更改級(jí)別響應(yīng),部門人員就會(huì)受到響應(yīng)指令,啟動(dòng)響應(yīng)方案。管理者可以查看活動(dòng)詳情,如活動(dòng)名稱,活動(dòng)開始時(shí)間,活動(dòng)事故發(fā)生類型,活動(dòng)危險(xiǎn)性分析,包括總體分析,根本原因,誘發(fā)因素;事故的處置的基本原則,信息報(bào)告程序,包括普通信息報(bào)告,事故信息報(bào)告等。下圖為預(yù)警配置以及響應(yīng)更改,活動(dòng)詳情的用例圖。圖3.13預(yù)警配置以及響應(yīng)更改,活動(dòng)詳情用例圖3.5性能需求分析性能需求指的是為了保證系統(tǒng)安全穩(wěn)定有效運(yùn)行的基本硬件軟件要求。由于系統(tǒng)一旦部署則有可能要求長(zhǎng)期運(yùn)行,為了保證系統(tǒng)安全,穩(wěn)定運(yùn)行,各項(xiàng)功能有效正確運(yùn)行,本系統(tǒng)則基本需要滿足以下軟件硬件要求:服務(wù)器端基本要求:OS:Windows10Pro/CentOS7.4Database:RedisWebserver:Tomcat7DevelopmentPlatform:IDEAJDK1.8DevelopmentLanguage:JAVADevelopmentFramework:B/S(browser/server)SystemFramework:SpringBoot+Vue客戶端基本要求:PC:帶有瀏覽器的PC即可Browser:GoogleChrome3.6本章總結(jié)本章首先對(duì)城市重大活動(dòng)監(jiān)控系統(tǒng)的業(yè)務(wù)總體流程和用戶角色進(jìn)行了分析,同時(shí)簡(jiǎn)單介紹系統(tǒng)開發(fā)的數(shù)據(jù)需求;隨后以用例模型分析了城市重大活動(dòng)監(jiān)控系統(tǒng)的主要功能點(diǎn),詳細(xì)論述了系統(tǒng)開發(fā)的功能性需求;最后進(jìn)行了性能需求分析,保證系統(tǒng)安全穩(wěn)定有效運(yùn)行。4系統(tǒng)概要設(shè)計(jì)本章根據(jù)需求分析結(jié)果對(duì)城市重大活動(dòng)監(jiān)控平臺(tái)進(jìn)行概要設(shè)計(jì),介紹系統(tǒng)的總體架構(gòu)設(shè)計(jì),給出系統(tǒng)設(shè)計(jì)的解決方案;根據(jù)需求分析給出的系統(tǒng)功能模塊的劃分,同時(shí)對(duì)系統(tǒng)的數(shù)據(jù)庫(kù)結(jié)構(gòu)進(jìn)行設(shè)計(jì),按照需求確定系統(tǒng)的數(shù)據(jù)結(jié)構(gòu);最后,對(duì)后端數(shù)據(jù)接收接口進(jìn)行設(shè)計(jì),實(shí)現(xiàn)監(jiān)控平臺(tái)的數(shù)據(jù)基礎(chǔ)。系統(tǒng)總體架構(gòu)設(shè)計(jì)本系統(tǒng)基于JavaEE平臺(tái)設(shè)計(jì)前后端分離web應(yīng)用,因此分為前端和后端設(shè)計(jì)兩部分,前后端的數(shù)據(jù)接口是以參考Restful風(fēng)格接口設(shè)計(jì)的;數(shù)據(jù)庫(kù)部分考慮到本系統(tǒng)要求讀取數(shù)據(jù)較頻繁,讀取數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)復(fù)雜,因此本系統(tǒng)是以讀取redis內(nèi)存數(shù)據(jù)庫(kù)為主使用RDB對(duì)redis進(jìn)行持久化,下圖為系統(tǒng)的架構(gòu)圖設(shè)計(jì)。圖4.1系統(tǒng)架構(gòu)圖前端架構(gòu)說(shuō)明城市重大活動(dòng)監(jiān)控系統(tǒng)的前端主要運(yùn)行在node.js服務(wù)器上基于webpack模板的vue項(xiàng)目,其中路由跳轉(zhuǎn)由vue-router控制。為了方便開發(fā),使用基于vue開發(fā)的ui工具element-ui以及swiper;監(jiān)控?cái)?shù)據(jù)顯示的框架是基于vue封裝echart的v-chart;與后端進(jìn)行數(shù)據(jù)交互的是Axios,數(shù)據(jù)格式為JSON。Vue的開發(fā)模式為m-v-vm模式,即(model-view-modelView),通過(guò)modelView作為中間層(vm的實(shí)例),進(jìn)行雙向數(shù)據(jù)的綁定與變化。當(dāng)從axios中取得數(shù)據(jù)后,返回綁定在各個(gè)dom上的數(shù)據(jù),完成數(shù)據(jù)的可視化的實(shí)現(xiàn)。下圖為前端架構(gòu)的數(shù)據(jù)流圖。圖4.2前端架構(gòu)數(shù)據(jù)流圖后端架構(gòu)說(shuō)明城市重大活動(dòng)監(jiān)控系統(tǒng)的后端整體采用B/S架構(gòu),主要使用SpringBoot框架搭建開發(fā)環(huán)境,以Spring為核心,RestContorller為前端數(shù)據(jù)交互開發(fā)接,RedisTemplate為數(shù)據(jù)庫(kù)接口。主要分層開發(fā)有RedisTemplate主要存儲(chǔ)內(nèi)容,通過(guò)redis數(shù)據(jù)的RDB對(duì)數(shù)據(jù)進(jìn)行持久化Bean層是操作的數(shù)據(jù)對(duì)象Service層實(shí)現(xiàn)業(yè)務(wù)邏輯Contorller層是實(shí)現(xiàn)與前端數(shù)據(jù)交互接口還有其他輔助流程開發(fā)的包1.Config主要為開發(fā)時(shí)使用的類進(jìn)行依賴注入與配置更改2.Util為開發(fā)使用的工具類3.Interceptor為攔截器下圖為后端架構(gòu)數(shù)據(jù)流圖。圖4.3后端架構(gòu)數(shù)據(jù)流圖系統(tǒng)功能模塊設(shè)計(jì)根據(jù)上一章分析的功能需求結(jié)果,把功能需求進(jìn)行整合,具體分為用戶管理模塊部門管理模塊,監(jiān)控可視化模塊。其功能模塊圖如下圖所示。圖4.4系統(tǒng)功能模塊圖其中,用戶管理分為系統(tǒng)登錄,角色選擇。通過(guò)用戶登錄,進(jìn)行角色選擇,選擇不同的角色,權(quán)限,任務(wù)不一致。活動(dòng)管理者是系統(tǒng)權(quán)限最高的用戶,它有對(duì)自己創(chuàng)建的活動(dòng)最高權(quán)限,擁有全部的監(jiān)控權(quán)。部門人員是僅僅只有屬于自己部門的監(jiān)控點(diǎn)權(quán)限。群眾則有總監(jiān)控的權(quán)限。部門管理模塊,分為活動(dòng)注冊(cè),活動(dòng)部門上下級(jí)管理,預(yù)警配置以及響應(yīng),輿論與輿論控制,其中活動(dòng)部門上下級(jí)管理中有任務(wù)下達(dá)與反饋,意見反饋,日志,各個(gè)部門詳情。預(yù)警配置以及響應(yīng)同時(shí)也包括整個(gè)活動(dòng)方案的詳情。輿論與輿論控制包括發(fā)表評(píng)論,禁止發(fā)表評(píng)論,以及消息的發(fā)布。監(jiān)控可視化模塊,分為分監(jiān)控點(diǎn)可視化,總監(jiān)控點(diǎn)可視化,活動(dòng)客流監(jiān)控歷史回放。其中分監(jiān)控點(diǎn)可視化包括實(shí)時(shí)人流折線圖,實(shí)時(shí)人流柱形圖,實(shí)時(shí)人流密度變化率折線圖,人流車流的餅圖。總監(jiān)控點(diǎn)可視化包括最新人流總監(jiān)控折線圖,最新人流總監(jiān)控柱形圖,最新人流總監(jiān)控對(duì)比餅圖。數(shù)據(jù)庫(kù)設(shè)計(jì)本節(jié)主要講述介紹系統(tǒng)使用的數(shù)據(jù)庫(kù),由于考慮到系統(tǒng)讀取數(shù)據(jù)頻繁,且數(shù)據(jù)結(jié)構(gòu)復(fù)雜,所以主要采用的是內(nèi)存數(shù)據(jù)庫(kù)redis,使用redis的RDB進(jìn)行持久化,下面詳細(xì)介紹數(shù)據(jù)庫(kù)設(shè)計(jì)。REDISREmoteDictionaryServer(Redis)是一個(gè)由SalavatoreSanfilippo寫的key-value存儲(chǔ)系統(tǒng),redis支持豐富的數(shù)據(jù)類型有String類型,Lists類型,Hashes類型,Sets類型以及OrderedSets數(shù)據(jù)類型操作。下面是數(shù)據(jù)庫(kù)的e-r圖。圖4.5系統(tǒng)E-R圖系統(tǒng)的主要分為三個(gè)數(shù)據(jù)模塊設(shè)計(jì),活動(dòng)數(shù)據(jù)模塊,用戶數(shù)據(jù)模塊,監(jiān)控?cái)?shù)據(jù)模塊,進(jìn)行存儲(chǔ)?!尽看頂?shù)組,{}代表對(duì)象。活動(dòng)數(shù)據(jù)模塊:1.活動(dòng)數(shù)據(jù)【{用戶數(shù)據(jù)(創(chuàng)建者)標(biāo)記;活動(dòng)狀態(tài);活動(dòng)評(píng)論:【{用戶數(shù)據(jù)標(biāo)記;評(píng)論;時(shí)間;}】活動(dòng)名稱;活動(dòng)開始時(shí)間;活動(dòng)密碼;活動(dòng)事故發(fā)生類型;活動(dòng)危險(xiǎn)性分析{總體分析;根本原因;誘發(fā)原因;}處置的基本原則;信息報(bào)告程序{普通信息報(bào)告;事故后信息報(bào)告;}相關(guān)外部單位聯(lián)系表{單位名稱;聯(lián)系電話;}預(yù)警人口密度;合理人口密度;危險(xiǎn)人口密度;預(yù)警變化率;合理變化率;危險(xiǎn)變化率;單位規(guī)劃【{部門名稱;職務(wù)【{職務(wù)名稱;所屬職業(yè)用戶數(shù)據(jù)【用戶標(biāo)記;】任務(wù)【{任務(wù)內(nèi)容;任務(wù)開始時(shí)間;}】}】部門一級(jí)響應(yīng)【】部門二級(jí)響應(yīng)【】部門三級(jí)響應(yīng)【】擴(kuò)大應(yīng)急響應(yīng)【】部門聯(lián)系電話;上級(jí)任務(wù)【{任務(wù)類型;任務(wù)內(nèi)容;任務(wù)標(biāo)記;}】意見反饋【{意見內(nèi)容}】}】(單位規(guī)劃)日志【{日志內(nèi)容日志時(shí)間}】分配點(diǎn)【{監(jiān)控點(diǎn)標(biāo)記;統(tǒng)計(jì)【{部門標(biāo)記;職務(wù)標(biāo)記;所需人數(shù);}】}】}】監(jiān)控?cái)?shù)據(jù)模塊:2.監(jiān)控點(diǎn)【{監(jiān)控名稱監(jiān)控?cái)?shù)據(jù)【{時(shí)間;人數(shù);}】地面類型;監(jiān)控面積;}】用戶數(shù)據(jù)模塊:3.用戶數(shù)據(jù)【{用戶名稱;用戶賬號(hào);用戶密碼;用戶頭像;創(chuàng)建活動(dòng)【{活動(dòng)標(biāo)記}】活動(dòng)部門人員【{活動(dòng)名稱;所屬部門;應(yīng)當(dāng)職務(wù);}】聯(lián)系電話;}】下面是系統(tǒng)詳細(xì)的數(shù)據(jù)字典。表4.1活動(dòng)數(shù)據(jù)表activity字段名屬性描述nameString活動(dòng)名稱stateString活動(dòng)狀態(tài)dateTime1String開始時(shí)間passwordString密碼schemsList方案idStringiddepartmentsList部門accidengtTypeString事件類型dangerReason對(duì)象危險(xiǎn)原因basicPrincipleString基本原則InformationReport對(duì)象信息回復(fù)程序logsKeyString存放日志keychatsKeyString存放聊天內(nèi)容externalPhonelist外部電話activityConfigString活動(dòng)配置keyendTimeString結(jié)束時(shí)間creatorString創(chuàng)建者KeyannounceString消息Key這是活動(dòng)的數(shù)據(jù),主要key-String類型保存。表4.2日志數(shù)據(jù)表log字段名屬性描述idStringidlabelString內(nèi)容timeString時(shí)間這是日志的數(shù)據(jù),主要key-Lists類型保存。表4.3活動(dòng)指標(biāo)配置表config字段名屬性描述emergencyStateString響應(yīng)級(jí)別warningPNumint預(yù)警人流密度warningRateString預(yù)警人流變化率dangerPNumint危險(xiǎn)人流密度dangerRateint危險(xiǎn)人流變化率idStringid這是活動(dòng)指標(biāo)配置,主要以key-String類型保存。表4.4活動(dòng)注冊(cè)者表ActivityRegister字段名屬性描述activityNameString活動(dòng)名稱departmentint部門下標(biāo)postint職務(wù)下標(biāo)idStringid這是活動(dòng)注冊(cè)者,主要以key-String類型保存。表4.5活動(dòng)分監(jiān)控點(diǎn)表bro字段名屬性描述monitorPointString監(jiān)控點(diǎn)名稱distrbutionsList分配人員valueString唯一值startint開始記錄時(shí)間endint結(jié)束記錄時(shí)間這是分配監(jiān)控點(diǎn),在活動(dòng)數(shù)據(jù)中。表4.6聊天記錄表chat字段名屬性描述headString頭像地址nameString名字loginNameString賬號(hào)contentString內(nèi)容timeString發(fā)表時(shí)間這是聊天記錄,以key-Lists類型保存。表4.7危險(xiǎn)性分析表DangerReason字段名屬性描述idStringidoverallAnalysisString總體分析rootCauseString根本原因IndcingFactorsString誘導(dǎo)原因這是危險(xiǎn)性分析,在活動(dòng)數(shù)據(jù)中。表4.8意見反饋表DcallBack字段名屬性描述idStringidlabelString內(nèi)容timeString時(shí)間這是意見反饋,以key-Lists類型保存。表4.9部門數(shù)據(jù)表Department字段名屬性描述nameString部門名字postsList職務(wù)firstWList一級(jí)響應(yīng)措施secondWList二級(jí)響應(yīng)措施thirdWList三級(jí)響應(yīng)措施eersList擴(kuò)大級(jí)別響應(yīng)措施phoneNumberString電話號(hào)碼valueString唯一標(biāo)識(shí)dcallBackKeyString意見反饋KeydTasksKeyString任務(wù)Key這是部門數(shù)據(jù),在活動(dòng)的數(shù)據(jù)中。表4.10分配具體部門表Distribution字段名屬性描述departmentint部門下標(biāo)postint職務(wù)下標(biāo)valueString唯一值numberint人數(shù)這是分配的具體部門,職務(wù)與人數(shù),在活動(dòng)的數(shù)據(jù)中。表4.11上級(jí)任務(wù)表DTask字段名屬性描述idStringidstateString任務(wù)狀態(tài)typeString類型labelString內(nèi)容timeString時(shí)間這是任務(wù),以key-Lists類型保存。表4.12外部單位表ExtenalPhone字段名屬性描述nameString外部單位名字valueString唯一值numberString電話號(hào)碼這是外部單位,在活動(dòng)數(shù)據(jù)中。表4.13信息報(bào)告表InformationReport字段名屬性描述idStringidgeneralReportString常規(guī)回復(fù)accidentReportString事故回復(fù)這是信息報(bào)告,在活動(dòng)數(shù)據(jù)中。表4.14職務(wù)任務(wù)表PostMission字段名屬性描述valueString唯一值startTimeString開始時(shí)間labelString內(nèi)容這是職務(wù)任務(wù),在活動(dòng)數(shù)據(jù)中。表4.15監(jiān)控點(diǎn)表Monitor字段名屬性描述nameString監(jiān)控名稱dataKeyString監(jiān)控?cái)?shù)據(jù)Keyarealong人可行面積typeString地面類型idStringid這是監(jiān)控點(diǎn),以String-key類型保存。表4.16監(jiān)控?cái)?shù)據(jù)表MonitorData字段名屬性描述numberPeopleint人數(shù)量numberCarint車數(shù)量timeString時(shí)間這是監(jiān)控?cái)?shù)據(jù),以String-Lists類型保存。表4.17職務(wù)表Post字段名屬性描述nameString職務(wù)名稱missionsList職務(wù)任務(wù)valueString唯一值usersKeyStringusers的key這是職務(wù)數(shù)據(jù),在活動(dòng)數(shù)據(jù)中。表4.18方案表Scheme字段名屬性描述valueString唯一值brosList監(jiān)控點(diǎn)nameString方案名字這是方案數(shù)據(jù),在活動(dòng)的數(shù)據(jù)中。表4.19用戶表UserBean字段名屬性描述loginNameString賬號(hào)idStringidpasswordString密碼personalString個(gè)性簽名activityHaveKeyString已開創(chuàng)的活動(dòng)headString頭像地址activityRegisterKeyString已注冊(cè)的活動(dòng)phoneNumberString電話號(hào)碼nameString名字timeString最新登錄時(shí)間這是用戶數(shù)據(jù),以key-String類型保存。監(jiān)控?cái)?shù)據(jù)接口設(shè)計(jì)前端可視化人流數(shù)據(jù)主要從通過(guò)接口從后端數(shù)據(jù)處獲取,后端數(shù)據(jù)主要負(fù)責(zé)提供數(shù)據(jù)給前端調(diào)用。接口的設(shè)計(jì)形式是以u(píng)rl形式設(shè)計(jì)。前端先調(diào)用監(jiān)控點(diǎn)數(shù)據(jù)接口,獲取監(jiān)控點(diǎn)數(shù)據(jù),下面介紹獲取監(jiān)控點(diǎn)數(shù)據(jù)接口獲取監(jiān)控點(diǎn)名稱。表4.20監(jiān)控點(diǎn)名稱接口表接口編號(hào)MList接口url域名+monitorsList;get接口說(shuō)明獲取所有監(jiān)控點(diǎn)名稱輸入數(shù)據(jù)ListKey(TestMonitor)輸出數(shù)據(jù)所有監(jiān)控點(diǎn)名稱獲取監(jiān)控點(diǎn)數(shù)據(jù)。表4.21監(jiān)控點(diǎn)數(shù)據(jù)接口表接口編號(hào)MM接口url域名+monitor;get接口說(shuō)明獲取具體監(jiān)控點(diǎn)數(shù)據(jù)輸入數(shù)據(jù)監(jiān)控點(diǎn)名稱輸出數(shù)據(jù)具體監(jiān)控點(diǎn)數(shù)據(jù)獲取監(jiān)控?cái)?shù)據(jù)100個(gè)顆粒數(shù)據(jù)。表4.22監(jiān)控?cái)?shù)據(jù)接口表接口編號(hào)MData01接口url域名+MonitorDataPeople;get接口說(shuō)明獲取監(jiān)控人流密度以及車流時(shí)間粒度50min輸入數(shù)據(jù)監(jiān)控點(diǎn)Key:如(xxxx監(jiān)控點(diǎn))
監(jiān)控面積:如(20)輸出數(shù)據(jù)獲取人流,車流監(jiān)控?cái)?shù)據(jù)獲取最新監(jiān)控?cái)?shù)據(jù)。表4.23最新監(jiān)控?cái)?shù)據(jù)接口表接口編號(hào)MData02接口url域名+NewMonoitorData接口說(shuō)明獲取最新監(jiān)控人流密度以及車流時(shí)間粒度30s輸入數(shù)據(jù)監(jiān)控點(diǎn)Key:如(xxxx監(jiān)控點(diǎn))
監(jiān)控面積:如(20)輸出數(shù)據(jù)獲取最新人流,車流監(jiān)控?cái)?shù)據(jù)獲取歷史監(jiān)控?cái)?shù)據(jù)表4.24歷史監(jiān)控?cái)?shù)據(jù)接口表接口編號(hào)MData03接口url域名+HistoryData接口說(shuō)明獲取歷史人流密度,車流數(shù)據(jù)時(shí)間粒度根據(jù)選擇輸入數(shù)據(jù)監(jiān)控點(diǎn)Key:如(xxxx監(jiān)控點(diǎn))
監(jiān)控面積:如(20)
記錄開始時(shí)間:如(0)
記錄結(jié)束時(shí)間:如(100)
選擇的類型:如0選擇的是近一天的輸出數(shù)據(jù)如果記錄時(shí)間為0,則沒有數(shù)據(jù)時(shí)間
結(jié)束時(shí)間不為0,則以結(jié)束時(shí)間為最新時(shí)間
若為0,則以最新時(shí)間為最新時(shí)間
根據(jù)不同的標(biāo)記,選擇不同的人流車流監(jiān)控時(shí)間塊本章小結(jié)本章主要對(duì)城市重大活動(dòng)客流監(jiān)控系統(tǒng)進(jìn)行了概要設(shè)計(jì)。首先對(duì)系統(tǒng)的總體架構(gòu)進(jìn)行了設(shè)計(jì);對(duì)系統(tǒng)的總體架構(gòu)進(jìn)行了設(shè)計(jì);對(duì)系統(tǒng)的總體功能結(jié)構(gòu)進(jìn)行劃分。然后從數(shù)據(jù)模塊入手,分析了系統(tǒng)設(shè)計(jì)的數(shù)據(jù)模塊,并給出了詳細(xì)的數(shù)據(jù)字典;最后,介紹了監(jiān)控?cái)?shù)據(jù)的接口設(shè)計(jì),為系統(tǒng)的詳細(xì)設(shè)計(jì)提供了依據(jù)。5系統(tǒng)詳細(xì)設(shè)計(jì)5.1用戶管理用戶管理具有系統(tǒng)登錄,以及角色選擇兩個(gè)模塊,而系統(tǒng)登錄分為登錄,以及注冊(cè);角色選擇分為完善用戶資料,注冊(cè)監(jiān)控點(diǎn),注冊(cè)為部門人員,選擇活動(dòng)進(jìn)入,下面我們?cè)敿?xì)介紹每個(gè)模塊的設(shè)計(jì)實(shí)現(xiàn)細(xì)節(jié)。系統(tǒng)登錄系統(tǒng)登錄分為登錄功能,和注冊(cè)功能,登錄功能需要填寫賬號(hào)與密碼,登錄成功后跳轉(zhuǎn)角色選擇界面;注冊(cè)功能需要填寫賬號(hào),名稱,密碼,確認(rèn)密碼。點(diǎn)擊后界面顯示注冊(cè)成功。系統(tǒng)登錄模塊的類設(shè)計(jì)如下圖。圖5.1系統(tǒng)登錄模塊類圖系統(tǒng)使用前后端分離開發(fā),前端主要有index.vue,系統(tǒng)后端主要涉及的類有LoginController類,UserServiceImpl類,UserBean類,以及RedisUtil類等。其中LoginController類是系統(tǒng)登錄模塊的控制器,負(fù)責(zé)處理前端傳來(lái)的http請(qǐng)求,并且處理結(jié)果返回。該類實(shí)現(xiàn)了RestController,這是實(shí)現(xiàn)Restful風(fēng)格的控制器,使用GetMapping,PostMapping來(lái)處理get請(qǐng)求以及post等請(qǐng)求。LoginController類在控制業(yè)務(wù)流程中主要調(diào)用了UserServiceImpl類完成業(yè)務(wù)處理UserServieImpl實(shí)現(xiàn)了UserService接口,UserService在調(diào)用時(shí)會(huì)調(diào)用RedisUtil的方法,訪問(wèn)數(shù)據(jù)庫(kù),并且根據(jù)不同數(shù)據(jù)類型保存數(shù)據(jù)。UserBean是作為用戶信息類,類中定義了賬號(hào),密碼,等詳細(xì)的用戶信息,具體可以查看之前的數(shù)據(jù)字典。在UserServiceImpl中主要是用來(lái)封裝以及傳遞參數(shù)。下面詳細(xì)講述LoginController在系統(tǒng)登錄功能模塊中的作用LoginController,1.獲取注冊(cè)用戶數(shù)據(jù),判斷數(shù)據(jù)是否合法,如果合法就保存到數(shù)據(jù)庫(kù)2.獲取登錄的賬號(hào)與密碼,對(duì)比數(shù)據(jù)庫(kù),判斷是否合法,如果合法,就生成token保存到數(shù)據(jù)庫(kù)并且返回token以及合法消息。下面就詳細(xì)使用時(shí)序圖,分別表現(xiàn)功能的實(shí)現(xiàn)過(guò)程。下面是登錄功能時(shí)序圖。圖5.2系統(tǒng)登錄模塊時(shí)序圖下面是注冊(cè)時(shí)序圖。圖5.3系統(tǒng)登錄模塊時(shí)序圖下圖為系統(tǒng)登錄圖。圖5.4系統(tǒng)登錄模塊頁(yè)面角色選擇角色選擇分為完善用戶資料,注冊(cè)監(jiān)控點(diǎn),注冊(cè)為部門人員,選擇活動(dòng)進(jìn)入。其中完善用戶資料可以選擇用戶頭像,更改姓名,修改電話號(hào)碼和個(gè)性簽名。注冊(cè)監(jiān)控點(diǎn)需要填寫監(jiān)控點(diǎn)名稱,面積,類型等。注冊(cè)為部門人員,需要選擇需要注冊(cè)的活動(dòng),輸入密碼,再選擇需要注冊(cè)的部門以及職務(wù),注冊(cè)完成后可以進(jìn)入部門監(jiān)控界面。下面是角色選擇功能模塊部分類圖。圖5.5角色選擇模塊類圖以上的controller同樣是restful風(fēng)格,根據(jù)不同的controller返回不同的數(shù)據(jù),有ActivityHaveListController類,LoginController類,ActivityController類,MonitorController類,ImageController類,ActivityRegisterController類,PostUserController類,JwtInterceptor攔截器;其中的省略了Service層的類,以及持久化的RedisUitl;JwtInterceptor攔截器主要檢查http包中是否包含token,以及token是否合法。下面具體講述這些控制器在角色選擇功能模塊中的作用。ActivityHaveListController,返回前端用戶已注冊(cè)的活動(dòng)名稱;ImageController,獲取用戶上傳的頭像,保存到指定文件夾,返回文件路徑。MonitorController,獲取注冊(cè)的監(jiān)控點(diǎn)數(shù)據(jù),把數(shù)據(jù)保存到數(shù)據(jù)庫(kù)中。ActivityController,1.返回所有活動(dòng)的名稱;2.返回部門選擇的活動(dòng)數(shù)據(jù)3.檢查活動(dòng)是否與活動(dòng)密碼相匹配,根據(jù)匹配結(jié)果返回是否合法消息。LoginController,1.返回用戶的詳細(xì)數(shù)據(jù)2.(更新)獲取用戶的已修改的用戶數(shù)據(jù),并保存到數(shù)據(jù)庫(kù)。ActivityRegisterController,1.獲取activityRegister數(shù)據(jù),并且把數(shù)據(jù)保存到數(shù)據(jù)庫(kù);PostUserController,獲取PostUser數(shù)據(jù),并且把數(shù)據(jù)保存到數(shù)據(jù)庫(kù)。下面是部門人員注冊(cè)的時(shí)序圖。圖5.6角色選擇模塊時(shí)序圖由圖可知,由index2.vue發(fā)起checkActivity請(qǐng)求,JwtInterceptor進(jìn)行攔截檢查token,查詢數(shù)據(jù)庫(kù)活動(dòng)的名稱與密碼是否匹配,如果匹配則發(fā)送activity請(qǐng)求到ActivityController,ActivityController再通過(guò)service層以及RedisUtil獲取活動(dòng)數(shù)據(jù),通過(guò)對(duì)獲取活動(dòng)數(shù)據(jù)的各種key值,再針對(duì)key值,發(fā)送activityRegister,userPost回服務(wù)器的ActivityRegisterController以及UserPostController控制器進(jìn)行保存完成部門注冊(cè)。圖5.7角色選擇模塊頁(yè)面1圖5.8角色選擇模塊頁(yè)面2圖5.9角色選擇模塊頁(yè)面3圖5.10角色選擇模塊頁(yè)面45.2部門管理部門管理模塊,主要有活動(dòng)注冊(cè),活動(dòng)部門的上下級(jí)管理,預(yù)警配置以及響應(yīng)更改,輿論與輿論控制。其中活動(dòng)部門的上下級(jí)的管理分為意見反饋,任務(wù)下達(dá),日志等下面就來(lái)詳細(xì)介紹具體內(nèi)容。5.2.1活動(dòng)注冊(cè)活動(dòng)注冊(cè)主要為填寫活動(dòng)詳細(xì)數(shù)據(jù),如活動(dòng)名稱,活動(dòng)時(shí)間,活動(dòng)密碼,以及監(jiān)控點(diǎn)的選擇,分配活動(dòng)點(diǎn)進(jìn)行方案配置,部門職務(wù)的填寫等等。下面介紹活動(dòng)注冊(cè)所涉及的類圖。圖5.11活動(dòng)注冊(cè)模塊類圖圖中涉及的控制器有MonitorController,ActivityController,ActivityConfigController以及ActivityHaveListController。其中的Service層以及RedisUtil省略?;顒?dòng)注冊(cè)需要獲取或者提交monitorsList,activityHave,activity,activityConfig數(shù)據(jù);這里介紹每個(gè)控制器在活動(dòng)注冊(cè)模塊中的作用,MonitorController,返回所有的監(jiān)控點(diǎn)名稱。ActivityController,得到活動(dòng)數(shù)據(jù),向數(shù)據(jù)庫(kù)保存活動(dòng)數(shù)據(jù)。ActivityConfigController,得到活動(dòng)配置數(shù)據(jù)源,向數(shù)據(jù)庫(kù)保存活動(dòng)配置數(shù)據(jù)。AcitivityHaveList,獲取活動(dòng)名稱,把活動(dòng)名稱保存到指點(diǎn)key的數(shù)據(jù)庫(kù)中。下面是詳細(xì)的活動(dòng)注冊(cè)時(shí)序圖。圖5.12活動(dòng)注冊(cè)模塊時(shí)序圖由圖可知,registerActivity.vue發(fā)送monitorList請(qǐng)求,獲取監(jiān)控點(diǎn)名稱數(shù)據(jù),為活動(dòng)注冊(cè)進(jìn)行選擇。填寫活動(dòng)配置后,發(fā)送activityConfig請(qǐng)求,把活動(dòng)配置數(shù)據(jù)傳輸?shù)紸ctivityConfigController控制器,通過(guò)控制器的service層保存到數(shù)據(jù)庫(kù)。填寫活動(dòng)數(shù)據(jù)完畢后,發(fā)送activity請(qǐng)求,把數(shù)據(jù)傳輸?shù)紸ctivityController控制器,通過(guò)控制器的service層把數(shù)據(jù)保存到數(shù)據(jù)庫(kù)。確定建立活動(dòng)之后,獲取用戶中activityHaveKey,發(fā)送activityHave請(qǐng)求,通過(guò)ActivityHaveList控制器,把數(shù)據(jù)保存到數(shù)據(jù)庫(kù)當(dāng)中。下面是活動(dòng)注冊(cè)圖。圖5.13活動(dòng)注冊(cè)模塊頁(yè)面5.2.2活動(dòng)部門上下級(jí)管理活動(dòng)部門上下級(jí)管理包括任務(wù)下達(dá),意見反饋,日志。下面就介紹活動(dòng)部門上下級(jí)管理的類圖介紹。圖5.14活動(dòng)部門上下級(jí)管理模塊類圖活動(dòng)部門上下級(jí)管理主要有JwtInterceptor類,DepartmentTaskController類,DempartmentCallBackController類,ActivityLogController類,其中JwtInterceptor為攔截器,主要功能檢查token的合法性。DepartmentTaskController類,DempartmentCallBackController類以及ActivityLogController類為控制器,其中省略了service層以及RedisUtil。下面介紹這些控制器的作用,DempartTaskController,1.獲取任務(wù)內(nèi)容,把任務(wù)數(shù)據(jù)保存到指定key的數(shù)據(jù)庫(kù)中;2.返回指定key的任務(wù)數(shù)據(jù)。DempartmentCallBack,1.獲取意見反饋信息,把意見反饋信息保存到指定key的數(shù)據(jù)庫(kù)中。2.返回指定key的意見返回?cái)?shù)據(jù)。ActivityLogController,1.獲取活動(dòng)日志數(shù)據(jù),把活動(dòng)日志保存到指定key的數(shù)據(jù)庫(kù)中。2.返回指定key的活動(dòng)日志數(shù)據(jù)。下面為活動(dòng)部門上下級(jí)管理的時(shí)序圖。圖5.15活動(dòng)部門上下級(jí)管理模塊時(shí)序圖下面為管理圖片。圖5.16活動(dòng)部門上下級(jí)管理模塊頁(yè)面5.2.3預(yù)警配置以及響應(yīng)更改預(yù)警配置以及響應(yīng)更改,修改預(yù)警配置,或者對(duì)活動(dòng)時(shí)的響應(yīng)級(jí)別進(jìn)行更改,下面介紹預(yù)警配置以及響應(yīng)更改的類圖。圖5.17預(yù)警配置以及響應(yīng)更改模塊類圖預(yù)警配置以及響應(yīng)更改主要有類JwtInterceptor類,ActivityConfigController類,ActivityConfigServiceImpl類,以及Restutil類。其中JwtInterceptor類為攔截器,主要檢查token是否合法;ActivityConfig類為控制器;ActivityConfigServiceImpl為ActivityConfigService接口的實(shí)現(xiàn)類。Redisutil類為redis數(shù)據(jù)庫(kù)持久化類。ActivityConfig控制器,主要獲取前端活動(dòng)配置數(shù)據(jù),把數(shù)據(jù)交給Service層;ActivityConfigServiceImpl主要把在控制器的數(shù)據(jù)交給Redisutil進(jìn)行key-value在數(shù)據(jù)庫(kù)中保存。下圖為具體的預(yù)警配置以及響應(yīng)更改的時(shí)序圖。圖5.18預(yù)警配置以及響應(yīng)更改模塊時(shí)序圖下面是配置以及響應(yīng)更該配置圖。圖5.19預(yù)警配置以及響應(yīng)更改模塊頁(yè)面5.2.4輿論與輿論控制輿論與輿論控制,主要是進(jìn)行評(píng)論,消息的發(fā)布以及對(duì)評(píng)論與否進(jìn)行控制。下面是輿論與輿論控制的類圖。圖5.20輿論與輿論控制類圖輿論與輿論控制功能主要類有,WebSocketServer類,ChatController類,ChatServiceImpl類,RedisUtil類。其中WebSocketServer類是實(shí)現(xiàn)webSoceket通訊的類,ChatController類是控制器,ChatServiceImpl是ChatService的實(shí)現(xiàn)類。下面詳細(xì)介紹這些類的作用。WebSocket,配置于WebScoketConfig,連接一次http后可以使用tcp進(jìn)行通訊,使用socket進(jìn)行評(píng)論的收發(fā),然后通過(guò)RedisUtil進(jìn)行保存。ChatController控制器主要獲取聊天記錄,發(fā)布的消息請(qǐng)求,通過(guò)ChatServiceImpl類傳遞給RedisUtil類讀取聊天記錄以及發(fā)布的消息然后傳遞給前端。下面是具體的輿論與輿論控制功能的時(shí)序圖。圖5.21輿論與輿論控制時(shí)序圖下面是輿論與輿論控制圖。圖5.22輿論與輿論控制頁(yè)面1圖5.23輿論與輿論控制頁(yè)面25.3監(jiān)控可視化監(jiān)控可視化分為分監(jiān)控點(diǎn)可視化,總監(jiān)控點(diǎn)可視化以及歷史回放,其中分監(jiān)控點(diǎn)可視化分為監(jiān)控?zé)麸@示以及監(jiān)控?cái)?shù)據(jù)圖形化;這里我們展示監(jiān)控?cái)?shù)據(jù)的具體流程。圖5.24監(jiān)控可視化流程圖由數(shù)據(jù)模擬器傳遞數(shù)據(jù)給redis數(shù)據(jù)庫(kù)進(jìn)行緩存,再通過(guò)后端讀取redis中的數(shù)據(jù),通過(guò)對(duì)數(shù)據(jù)的處理,如人數(shù)密度的計(jì)算,時(shí)間的截?cái)嗟?,通過(guò)JSON格式發(fā)送到前端進(jìn)行可視化。由于監(jiān)控可視化的后端讀取數(shù)據(jù)流程類似,所以監(jiān)控可視化的類圖基本一致,下面是監(jiān)控可視化后端的類圖。圖5.25監(jiān)控可視化類圖類圖中有JwtInterceptor類,MonitorController類,MonitorServiceImpl類,MonitorDataPeopleController類,MonitorDataPeopleServiceImpl類,RedisUtil類。其中JwtInterceptor類為攔截器,主要是檢查token的合法性;MonitorControllerl類,MonitorDataPeopleController類為控制器;MonitorDataPeopleServiceImpl類,MonitorServerImpl類是MonitorDataPeopleService以及MonitorService的實(shí)現(xiàn)類。下面我們?cè)敿?xì)介紹每個(gè)模塊的設(shè)計(jì)實(shí)現(xiàn)細(xì)節(jié)。5.3.1分監(jiān)控點(diǎn)可視化分監(jiān)控點(diǎn)可視化分為監(jiān)控?zé)簦约氨O(jiān)控圖形化,后端主要提供數(shù)據(jù),前端使用數(shù)據(jù)進(jìn)行可視化。下面是前端從后端獲取分監(jiān)控?cái)?shù)據(jù)的時(shí)序圖。圖5.26分監(jiān)控可視化時(shí)序圖由圖可知,前端發(fā)送url:'/monitorDataPeople',經(jīng)過(guò)JwtInterceptor的檢查token,證實(shí)有效之后,MonitorDataPeopleController調(diào)用getMonitorDataPeople方法,在經(jīng)過(guò)MonitorDataPeopleServiceImp的getMonitor()方法中的RedisUtil中調(diào)用的lget()方法獲取數(shù)據(jù),再通過(guò)MonitorDataPeopleServiceImpl方法處理返回list數(shù)據(jù)給前端。前端使用chartData1顯示折線圖與柱形圖,使用chartData2顯示人流變化率折線圖,使用chartData3顯示餅圖。前端在axios上獲取數(shù)據(jù)后,改變這些對(duì)象的rows數(shù)組值,從而實(shí)時(shí)改變顯示的數(shù)據(jù),最后使用數(shù)組將各個(gè)監(jiān)控點(diǎn)的數(shù)據(jù)保存起來(lái),方便隨時(shí)讀取;通過(guò)最新監(jiān)控?cái)?shù)值對(duì)比獲取的活動(dòng)配置的預(yù)警值,改變monitorButton上的數(shù)據(jù),使得監(jiān)控?zé)舻母淖儬顟B(tài)。下面是分監(jiān)控點(diǎn)圖。圖5.27分監(jiān)控可視化頁(yè)面5.3.2總監(jiān)控點(diǎn)可視化總監(jiān)控點(diǎn)是所有分監(jiān)控點(diǎn)的總體,顯示所有監(jiān)控點(diǎn)的最新數(shù)據(jù),同樣與分監(jiān)控點(diǎn)的開發(fā)模式一致,后端獲取數(shù)據(jù),前端進(jìn)行處理顯示。下面是前端從后端獲取分監(jiān)控點(diǎn)最新數(shù)據(jù)的時(shí)序圖。圖5.28總監(jiān)控可視化時(shí)序圖由圖可知,前端發(fā)送'/newMonitorData'請(qǐng)求,經(jīng)過(guò)JwtInterceptor檢查token的合法性,證實(shí)有效后,MonitorDataPeopleController調(diào)用getNewMonitorDataPeople()方法,在經(jīng)過(guò)MonitorDataPeopleServiceImpl的getNewMonitor方法中的RedisUtil調(diào)用get()獲取最新數(shù)據(jù),再通過(guò)MonitorDataPeopleServiceIm
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年茶葉收購(gòu)與倉(cāng)儲(chǔ)管理合同2篇
- 水電安裝工程2025年度合同書協(xié)議2篇
- 二零二五版快遞物流服務(wù)質(zhì)量監(jiān)控與評(píng)估協(xié)議合同2篇
- 二零二五年電子供應(yīng)鏈采購(gòu)合同3篇
- 二零二五年度校園巴士運(yùn)營(yíng)管理合同范本3篇
- 二零二五年高端餐飲會(huì)所租賃承包合同范本3篇
- 2025年危險(xiǎn)品運(yùn)輸及應(yīng)急處理合同3篇
- 二零二五版物流倉(cāng)儲(chǔ)與新能源利用合同3篇
- 小學(xué)教師事業(yè)單位聘用合同(2篇)
- 二零二五年度綠色交通PPP特許經(jīng)營(yíng)權(quán)轉(zhuǎn)讓合同3篇
- 2024年云南省中考數(shù)學(xué)試題含答案解析
- 《火災(zāi)調(diào)查 第2版》 課件全套 劉玲 第1-12章 緒論、詢問(wèn) -火災(zāi)物證鑒定
- 汽車修理廠管理方案
- 借用他人名義買車協(xié)議完整版
- (正式版)JBT 5300-2024 工業(yè)用閥門材料 選用指南
- 校園超市經(jīng)營(yíng)投標(biāo)方案(技術(shù)方案)
- 基于Web服務(wù)的辦公系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)的開題報(bào)告
- 國(guó)企工程類工作總結(jié)
- 電腦教室設(shè)計(jì)方案
- 計(jì)算機(jī)江蘇對(duì)口單招文化綜合理論試卷
- 高速公路環(huán)保水保方案
評(píng)論
0/150
提交評(píng)論