<nav id="w0g0m"><code id="w0g0m"></code></nav>
  • <xmp id="w0g0m">
    <xmp id="w0g0m"><nav id="w0g0m"></nav><menu id="w0g0m"><strong id="w0g0m"></strong></menu>
  • <xmp id="w0g0m">
  • <nav id="w0g0m"></nav>
    <menu id="w0g0m"><menu id="w0g0m"></menu></menu>
    1. 網站地圖
    2. 設為首頁
    3. 關于我們
    ?

    智慧交通信息管理系統的設計與實現

    發布時間:2023-07-13 09:54
    目錄
    表目錄 ix
    圖目錄 xi
    第一章緒論 1
    1.1項目背景和意義 1
    1.2國內外現狀 3
    1.2.1國內研究現狀 3
    1.2.2國外研究現狀 5
    1.3本文主要工作 8
    1.4本文組織結構 9
    第二章相關理論與技術概述 10
    2.1Kafka 10
    2.2Storm 12
    2.3HBase 14
    2.4Spring 16
    2.5SpringMVC 18
    2.6本章小結 18
    第三章智慧交通信息管理系統的需求分析與概要設計 20
    3.1系統整體概述 20
    3.2系統需求分析 21
    3.2.1實時監控功能需求分析 21
    3.2.2信息查詢功能需求分析 23
    3.2.3安全管理功能需求分析 26
    3.2.4統計分析功能需求分析 29
    3.2.5權限管理功能需求分析 30
    v
    3.2.6 非功能性需求分析 32
    3.3 系統概要設計 34
    331 系統架構設計 34
    3.3.2系統模塊劃分 37
    3.4數據庫設計 38
    3.5本章小結 40
    第四章智慧交通信息管理系統的詳細設計與實現 41
    4.1實時監控模塊的詳細設計與實現 41
    4.1.1實時監控模塊的詳細設計 41
    4.1.2實時監控模塊的實現 43
    4.2信息查詢模塊的詳細設計與實現 45
    4.2.1信息查詢模塊的詳細設計 45
    4.2.2信息查詢模塊的實現 47
    4.3安全管理模塊的詳細設計與實現 49
    4.3.1安全管理模塊的詳細設計 49
    4.3.2安全管理模塊的實現 51
    4.4統計分析模塊的詳細設計與實現 51
    4.4.1統計分析模塊的詳細設計 51
    4.4.2統計分析模塊的實現 52
    4.5權限管理模塊的詳細設計與實現 52
    4.5.1權限管理模塊的詳細設計 52
    4.5.2權限管理模塊的實現 53
    4.6本章小結 53
    第五章智慧交通信息管理系統的測試 61
    5.1系統測試環境 61
    5.2系統功能測試 61
    5.2.1測試設計 62
    5.2.2測試執行 67
    5.3系統性能測試 67
    5.4本章小節 68
    vi
    第六章總結與展望 69
    6.1總結 69
    6.2工作展望 69
    參考文獻 71
    致謝 75
    vii
    表目錄
    3.1修改視頻監控設置用例描述 22
    3.2 查看視頻文件用例描述 23
    3.3查看車輛監控分析用例描述 23
    3.4查看流量信息用例描述 24
    3.5 車輛違法查詢用例描述 26
    3.6報警查詢用例描述 26
    3.7疑似套牌查詢用例描述 27
    3.8 布控類型添加用例描述 28
    3.9修改資源信息用例描述 29
    3.10查看資源信息用例描述 29
    3.11添加資源維修信息用例描述 30
    3.12查看實時車流量統計用例描述 31
    3.13添加用戶權限用例描述 32
    3.14查看用戶權限用例描述 32
    3.15添加用戶組用例描述 33
    3.16車輛報警信息數據庫表 38
    3.17車輛運行信息數據庫表 39
    3.18車輛信息數據庫表 39
    3.19車輛報警數量數據庫表 40
    5.1測試環境 61
    5.2用戶信息管理測試用例 62
    5.3視頻文件管理測試用例 62
    5.4車輛違法事實管理測試用例 63
    5.5駕駛者信息管理測試用例 63
    5.6電子警察信息管理測試用例 64
    5.7布控信息管理測試用例 64
    viii
    5.8報警信息管理測試用例 65
    5.9資源信息管理測試用例 65
    5.10交通綜合分析管理測試用例 66
    5.11交通統計分析管理測試用例 66
    5.12用戶權限管理的測試用例 67
    5.13測試用例執行結果 67
    5.14系統性能測試結果 68
    ix
    圖目錄
    2.1Kafka架構圖 12
    2.2Storm任務提交處理流程 14
    2.3Storm數據流流向 14
    2.4HBase 架構圖 15
    2.5Spring核心架構圖 17
    2.6MVC 模式 18
    3.1 實時監控模塊功能用例圖 22
    3.2信息查詢模塊功能用例圖 25
    3.3安全管理模塊功能用例圖 28
    3.4統計分析模塊功能用例圖 30
    3.5權限管理模塊功能用例圖 31
    3.6智慧交通信息管理系統總體架構圖 34
    3.7智慧交通信息管理系統邏輯視圖 35
    3.8智慧交通信息管理系統開發視圖 35
    3.9智慧交通信息管理系統物理視圖 36
    3.10智慧交通信息管理系統進程視圖 37
    3.11智慧交通信息管理系統功能模塊結構圖 37
    3.12車輛信息E-R圖 38
    4.1道路視頻監控功能類圖 41
    4.2道路車輛監控信息查詢時序圖 42
    4.3車流量預測功能流程圖 43
    4.4車流量預測相關代碼 44
    4.5 車輛違法查詢功能類圖 45
    4.6違法事實查詢功能時序圖 46
    4.7疑似套牌查詢功能流程圖 47
    4.8疑似套牌管理相關代碼 48
    x
    4.9疑似套牌管理界面 49
    4.10布控類型管理功能類圖 49
    4.11安全資源管理功能類圖 50
    4.12添加和修改報警信息功能時序圖 54
    4.13后臺資源管理相關代碼 55
    4.14統計分析模塊核心類圖 56
    4.15具體交通數據查詢功能流程圖 56
    4.16違法車輛統計展示功能時序圖 57
    4.17車輛信息查詢相關代碼 57
    4.18車流量統計展示 58
    4.19權限管理模塊核心類圖 58
    4.20用戶信息添加功能流程圖 59
    4.21后臺用戶權限管理相關代碼 60
    xi
    第一章 緒論
    1.1 項目背景和意義
    隨著中國經濟的快速發展,交通運輸網絡的建設也與經濟發展相協調,并 且處于上升階段。國家高度重視基礎交通建設的發展,交通運輸體系的建設效 果顯著。人民生活水平的不斷提高,城市化進程的提速以及大量人口涌入城市, 給城市交通系統又帶來了更大的挑戰。根據中國公安部發布的數據,到2017年 底,全國機動車保有量達到3.1億輛,其中汽車保有量達到2.17億輛,較2016年 的汽車保有量增長1 1.85%,占所有的機動車的比例從54.93% 提高到了70.17%。 正是由于全國機動車數量的持續增長,尤其是汽車數量的快速增長,對道路網 絡建設的跟進不足導致了道路擁堵、交通事故以及空氣污染等問題日益加劇 [1]。
    不斷惡化的交通狀況和日益突出的交通問題已經開始在國內產生嚴重的影 響和后果。特別是在一些大城市,交通擁堵在很大程度上制約了城市經濟的發 展。各個國家每年都會因為交通問題耗費大量的資金 [2]。據統計,在日本的一 個小城市,每年因為擁堵問題導致的經濟損失可達2億美元 [3]。為了應對長期 的交通擁堵、汽車引起的噪聲污染以及尾氣排放污染,許多城市采取了一系列 對策,例如限制汽車的單雙號、車牌搖號以及對交通法規的適當調整,但均沒 有取得理想的效果,不能滿足治理的要求,甚至可能同時導致某些行業的經濟 損失 [4]。城市交通現狀可總結為:路網建設布局不合理,交通供應無法滿足人 們日常需求;公共交通服務水平不高,交通建設總量滯后,結構比例失衡;交 通管理政策亟待加強,管理機制落后;公眾的交通意識不強,交通事故頻發。 針對當前的交通狀況,政府部門首先考慮了道路建設和道路擴寬,并試圖以此 方式承載更多的車輛。然而道路擴展的速度遠遠小于機動車輛增加的速度,機 動車輛增加速度過快就會引起諸如交通擁堵、乘車難、打車難和停車難等問題。 但究其根本原因還是交通服務數據信息不充分,交通管理部門對各種交通事故 的實時分析和實時響應能力不足。
    從理論上講,對交通流量的準確掌握和分析可以改善交通系統的管理,提 高道路的可用性和道路規劃的合理性。因此,利用現有技術將交通數據用于車 輛控制和策略歸納是解決城市交通擁堵的最佳方法,但是用傳統技術很難掌握 高速行駛下車輛的狀況。在這種背景下,隨著時代的不斷進步,用于應對交通 問題的智能交通系統(Intelligent Transportation System, ITS)應運而生[5]。它是
    1
    指在相對完善的道路基礎設施的基礎上,結合計算機技術、移動通信技術、圖 像處理、傳感器技術和交通管理等技術手段,集運輸工具、運輸通道和管理控 制于一體的先進的實時、準確、大范圍和全方位發揮作用的綜合運輸和管理系 統 [6]。
    2009年,IBM提出了智慧交通的概念。智慧交通以智能交通為基礎,與物 聯網、云計算[7]、大數據和移動互聯網等高科技IT技術相集成,通過交通數據 信息的高科技聚合分析, 提供實時精確的交通信息服務。 智慧交通相比智能交 通來說會對交通系統中的各個要素(包括人、 車、 道路和環境)具有更加全面的 認識, 它是一個集成互聯網和大數據的新一代信息技術。 智慧交通系統通過交 通信息的收集和分析面向出行群體提供交通服務, 與智能交通系統相比, 智慧 交通系統更加注重海量交通信息的挖掘、 融合、 分析和表達, 使用更多的數學 模型并更加關注于模型的融合, 更加關注系統的實時性, 為交通管理者提供決 策依據, 實現交通管理的實時閉環控制, 通過信息交互方式為出行群體提供個 性化的交通服務, 將交通運輸系統更完美地整合到城市的整體發展和建設中。
    在國內, 智慧交通系統項目有著廣闊的發展前景, 各省市積極借鑒國外智 慧交通系統項目累積的先進經驗, 按照國家的標準, 積極發展符合自我特點的 智慧交通系統項目。 通過推廣智慧交通的建設項目, 逐步地實現各省市針對性 地完善符合自身情況的交通管理領域的規范化和準確性, 通過建設智慧交通系 統來科學地組織管理人們的交通出行, 提高不同類型道路的通行能力, 提高公 安等部門對突發事件的應急反應能力, 逐步實現公安在交通管理領域的布局。 除此之外, 智慧交通系統項目在未來道路建設、 道路監控設置、 交通通訊、 交 通收費以及停車管理等方面也能提供很大的幫助, 智慧交通系統項目的應用會 越來越廣泛。 從政府角度來看, 通過構建和應用智慧交通系統, 以最新的創新 體制為切入點, 開創交通管理新模式, 提高城市交通管理水平, 加強社會管理, 改善公共服務的起點, 重視和保障人民群眾最現實和切身的利益, 促進城市可 持續發展。 從經濟發展的角度來看, 智慧交通系統的應用可以提高交通管理的 效率, 節約社會各方面的資源。 同時, 可以改善社會公共環境和服務, 可以促 進旅游業和其他相關產業的發展, 并為人們帶來更多的社會福利。 從社會發展 的角度來看, 通過使用智慧交通系統, 極大地改善了城市交通環境, 提高了政 府和社區工作的效率, 提高了居民對政府各項工作的滿意程度。 同時, 信息化 建設水平的提高可以帶動社會各方面的信息化建設, 提升社會信息化建設的整 體水平, 并不斷提高人們的生活水平, 提升人們的生活幸福感。 目前來看, 中 國交通智慧化的需求, 已經是各大城市所面臨的良好的發展機遇和挑戰[8, 9]。
    1.2國內外現狀
    1.2.1 國內研究現狀
    隨著中國城市化建設的逐步推進, 人口擁擠、城市污染和資源不足等狀況 不斷出現, 這使得智慧交通建設勢在必行。 我國智慧交通系統的發展仍處于起 步階段, 相關研究落后于發達國家 [10]。 智慧交通的定義尚不明確。 道橋技術 專家王慶斌和鐘榮華認為, 智慧交通系統是指利用先進的信息和通信技術將信 息監測數據導入地面管理系統, 并對其進行控制, 以創建實時、準確和高效率 的綜合交通管理系統[11]。 交通運輸部的陳琨認為, 智慧交通是智能交通系統 的高階形式。 研究對象是整個交通系統。 研究范圍包括交通管理、客運、交通 運輸和交通基礎設施建設 [12]。 智慧交通不同于傳統的交通管理和工程, 兩者 之間有本質的區別 [13]。 它更加關注如何將交通系統整合到城市的整體發展和 建設中, 實現以人為本、智能化決策的新型交通管理系統, 幫助我國交通管理 向著更加先進和諧的方向發展。
    1998年, 北京公交公司啟用了我國的第一個智能公交系統, 該系統運用通 信技術和GPS定位技術將公交調度系統、車載定位系統和IC卡系統集成在一起, 揭開了我國智能公交系統建設的序幕 [14]。 1999年, 由科技部牽頭, 我國成立 了國家智能交通系統工程技術研究中心(National Center of ITS Engineering & Technology, ITSC)- ITSC主要對智能交通系統制定統一標準,并為智能交通 系統的研究提供技術支持, 為智能交通系統的發展提供指導 [15]。2008年, 中 國高速公路智能交通市場規模超過220億元, 并保持穩定的增長率連年增長。 2011年第一季度, 中國智能交通項目超過800個, 市場規模達76億元。城市智能 交通市場項目發展迅速, 市場規模為23.5億元, 同比增長32.8%, 是2010年增長 速度的兩倍。北京、 上海和廣州等經濟發達城市的智能交通建設已初具規模, 中西部地區主要集中在高速公路收費系統的研發上。2012年至2015年, 中國宣 布了三批國家智慧城市試點清單。當前, 有400多個城市正在發展建設智慧城 市。在“十三五”期間,中國啟動了100個新的智慧城市試點項目。根據環境 保護部對相關空氣污染防治城市污染源的調查分析, 杭州、 北京和廣州等重點 城市的主要污染源為機動車輛。因此, 加快智慧交通建設已成為民生和環境保 護的重大需求。2016年, 交通運輸部在“十三五”規劃發展中提出要求全國各 地開展智慧交通示范工程的研發。交通部最近召開了“綠色低碳運輸體系建設 綠色試點示范大會”, 明確提出要加快智慧交通和信息化建設, 并提出量化目 標。到2020年,與2005年相比,交通運輸業將實現營運車輛單位運輸周轉量能 耗和碳排放量分別下降16%和18%, 營運船舶單位運輸周轉量能耗、 碳排放量 分別減少20%和22%, 城市客運能耗和碳排放量分別減少26%和30%。 這些是智 慧交通發展的巨大潛在空間。 同時, 中國在智慧交通系統建設領域繼續前進, 近些年來與歐洲、美國和日本等地進行了廣泛的交流。歐洲在TMC(交通信息發 布渠道)領域取得了巨大成就, 經過近半年的初步準備和技術交流, 中國與歐 洲ERTIC0協會合作的dynasty項目已進入實施階段。最近,在中歐TMC技術先 進研討會上雙方在智慧交通系統建設領域進行了另一次深入交流。
    不過目前我國的智慧交通設計仍存在許多不足之處:
    1.設計較為混亂, 不夠統一。 與智慧交通系統有關的技術有物聯網、 大數 據、 云計算和車聯網等技術, 這些技術之間互相交叉并不能完全覆蓋, 所 以智慧交通系統從技術上講缺少頂層設計, 需要設計建設一個全面完善的 智慧交通系統架構, 從而可以從整體上指導各城市針對自己的交通特點來 完成智慧交通系統的規劃、 實施、 使用和維護。
    2.數據安全性得不到保障。 智慧交通系統依賴大數據平臺等的數據采集、 數 據存儲、 數據處理和數據分析, 涉及各種智能終端設備、 中間系統、 操作 平臺以及不同的通信鏈路。 在我國目前智慧交通系統的發展中, 數據安全 性、 連接安全性等安全性問題可能出現在任何一個應用環節, 數據保密相 關技術亟待加強, 以保護交通數據中的個人數據安全, 防止信息泄漏以及 不法分子的入侵。
    3.信息共享不夠充分。 在智慧交通系統項目的建設中, 政府對智慧交通系統 內需求不夠了解和重視, 智慧交通需要融合的資源分散于各類交通相關部 門, 較為分散, 共享程度不足, 難以很好地融合。 同時由于我國智慧交通 的建設標準不夠一致, 有些城市的智慧交通系統項目較為片面, 無法發揮 各自的主觀能動性, 難以達到信息的共享融合。
    4.產業創新能力不足。 雖然現階段我國在很多城市推廣智慧交通項目的建 設, 并取得了一定的進展, 但是絕大部分城市的智慧交通發展仍處于初級 階段, 在關鍵技術方面與國外相比仍處于劣勢, 創新的贏利模式尚未建 立, 智慧交通系統項目的核心競爭力不足。 伴隨著大數據、 物聯網和云計 算等技術的不斷發展以及智慧交通系統在我國的大力推廣與應用, 智慧交 通系統將會在國內交通管理領域取得更好地發展, 可以積極引導建立產業 聯盟機構 [16], 讓智慧交通發揮更有效的作用, 極大地改善國內的交通領 域問題。
    正是這些不足, 促使智慧交通信息管理系統的應用, 系統可以將軟件和硬 件設備更好的結合, 形成一個完備的智慧交通系統框架體系;同時對數據處理 過程中可能出現數據安全問題的節點做加密以及權限限制;注重信息共享, 開 放接口以融合各類信息資源;系統以大數據為基礎, 運用機器學習算法以實現 系統的部分功能, 為交通管理者和出行群體提供更加智能化的交通信息服務。
    1.2.2 國外研究現狀
    智慧交通系統發展的前一個階段是智能交通系統, 智能交通系統發展的初 衷是通過先進的信息技術使交通工具和交通道路更加智能。其最初的發展可以 追溯到1928年交通信號燈的開發和使用 [17]。在二十世紀六七十年代, 世界上 幾個經濟和工業較為發達的國家, 美國、 日本和歐洲部分發達國家及其他發達 國家開始研究城市智能公共交通及其管理系統[18]。這些國家非常重視新技術 的創新, 并投入大量的人力、 物力和資金來研究和開發與智能交通系統相關的 新技術[19]。后來出現了智慧交通系統項目, 這些國家是迄今為止智慧交通系 統項目發展最好的國家。當時, 這些國家主要使用智能運輸系統來管理運輸, 以節省資源, 減少污染和提高運輸效率。但是當時智能交通技術正處于初始發 展階段, 并且當時的運輸系統的功能還比較簡單, 還沒有系統性。隨著現代科 學技術的發展, 計算機技術和通信系統技術已開始廣泛應用于交通運輸系統。 因此, 當前國外智慧交通的發展基于美國、 日本和歐洲等第一梯隊國家, 無論 是關鍵技術創新還是應用規模, 這些國家都取得了優異的成績。美日歐等地區 的人們也已經開始享受智慧交通帶來的生活工作上的便捷。
    1.美國的智慧交通發展歷程:
    發展重點:自1960年以來, 美國就開始研究智能交通系統, 但真正的計 劃和系統發展始于1990年, 盡管起步較晚, 但在智能交通系統領域已處 于相對領先的位置。在1960年代后期, 美國開始著手研究電子路線引導 系統(Electronic Route Guidance System, ERGS),這也是美國的第一個智 能交通系統項目,但是由此到1980年,美國在交通信息化、 智能化發展 方面幾乎沒有取得任何突破性的進展。1987年,美國繼續進行智能交通 系統的研究,并成立了obility2000組織,該組織即是后來ITS America組織 的前身。此后,智能交通系統發展迅速。1990年8月,智能化車輛道路系 統組織(Intelligent Vehicle-Highway Society of America, IVHSAMERICA)成 立。1995年3月,交通運輸部發布了“國家智能交通系統項目計劃”,確定 了至2005年的發展計劃,計劃中明確提出7個領域的建設。這7個主要領域
    5
    包括交通管理系統、 出行管理系統、 交通運營系統、 車輛運營系統、 電子 收費系統、 突發事件管理系統和先進的車輛安全系統。 同時, 許多軟件和 硬件制造商在智能交通系統的軟件和硬件方面加大了研發和創新力度, 并 不斷投資于社會生產。 例如, 在美國有超過600家從事智能交通系統研究 的軟件和硬件公司, 其中300多家是大型企業 [20]。
    投資狀況:1990年至1997年, 美國聯邦政府在智能交通研究與開發方面的 年度預算總計為12.935億美元, 并且在20年發展計劃中預計投資400億美 元[21]。 2005年后, 為了加強對智能交通系統的研究, 美國政府加大了投 資力度, 由美國聯邦政府公路局在全美建立了3個智能交通系統研究中心, 其經費由聯邦政府和地方政府共同提供。 為了引起企業和私人對交通建設 投資的興趣, 美國大力開展了電子收費系統和非停車收費系統的開發應 用。 目前, 美國有12個運輸管理機構正在執行此方面的管理。
    應用狀況:據報道, 目前智能交通系統產品在美國的應用覆蓋率有80%以 上 [22], 與智能交通系統相關的產業應用也較先進。 目前美國已經建設了 較完善的智能交通系統結構, 包括車輛安全系統、 應急管理系統、 出行管 理系統、 電子付費系統和公共交通運營系統。
    2.歐洲各國的智慧交通發展歷程:
    發展重點:自1986年以來, 西歐國家已開始在“歐洲高效安全運輸 系統計劃(PROMETHEUS)”和“保障車輛安全的歐洲道路基礎設施計 劃(DRIVE)”兩個主要計劃的指導下進行運輸信息化的研究、開發和應 用。2000年,歐盟發布了KAREN項目計劃,該計劃提出了根據不同城市 的不同道路構建智能交通系統的建議。 2008年5月, 歐盟委員會制定了關 于安全應用智能交通系統的計劃。 2009年, 歐洲委員會委托歐洲標準化局 制定了一套統一的標準規范和指南, 以支持協作式智能交通系統的實施和 部署。 2011年3月, 歐盟推出了2020年智能交通系統設定的三個主要目標: 可持續交通、 競爭力以及節能減排。 根據該文件, 歐盟委員會積極制定了 支持措施, 并于2011年發布了一項行動計劃, 該計劃在歐盟范圍內全面部 署和監督智能交通系統技術研發和應用的實施。
    投資狀況:從1984年到1998年, 歐盟委員會耗資280億歐元用于智能交通 項目開發。 歐洲智慧城市創新合作伙伴計劃于2012年初啟動, 歐盟委員會 投入了3.65億歐元以建立跨城市、 跨行業和跨學科的創新實體, 并尋求全 面的城市運輸政策法規與基礎設施相結合, 具有高度適應性、 互操作性和 實用性的解決方案。根據歐盟第七個研發框架計劃(FP7),歐盟委員會投
    6
    資了3.5億歐元,以支持50個智能交通系統研發創新項目。 應用狀況:目前計劃在整個歐洲建立專門的無線數據通信網絡,并且正在 開發先進出行信息服務系統(ATIS)、先進車輛控制系統(AVCS)和先進商用 車輛操作系統(ACVO)以及先進的電子收費系統等。歐洲的智能交通項目 的研究和應用水平處于國際第一梯隊,一些研究成果已投入智能交通的 實際應用中。 歐盟智能交通系統項目技術的研究、 開發和應用基于歐盟交 通的當前特征和發展目標,充分利用了現有的信息和通信技術(ICT)、計 算機和互聯網技術、 衛星導航技術、 電子學和傳感器技術和新的推進器技 術。 跨領域交叉運用各種技術,優化技術配置,以便在各種運輸方式下更 有效、 更安全和更及時地發揮主動性。
    3.日本的智慧交通發展歷程:
    發展重點:日本是世界上最早進行智能交通研究的國家之一。 日本通產 省在1973年就開始了綜合汽車控制系統(Comprehensive Automobile Control System, CACS)的研究,這標志著日本智能交通系統研究的開端。1973年 至1978年,日本開始進行“動態路徑誘導實驗” [23]。 1970年代后期,日 本開始基于雙工通信技術進行道路和車輛之間的信息交互研究,并取 得了良好的研究成果。 為后來的智能交通系統的發展奠定了基礎[24]。 日本城市公共交通系統智能建設的發展過程經歷了三個階段,即1970年 代建立的交通公共汽車定位系統,1980年代建立的運輸運營管理系統 和1990年代建立的用于車輛的綜合公共交通控制系統[25]。 日本的智能 交通規劃系統包括先進的導航系統、 輔助行車系統、 交通管理優化系統、 交通管理效率系統、 公共交通支持系統、 駕駛者信息管理系統、 行人引 導系統和應急車輛管理系統。 在日本政府針對互聯網社會發布的重要 政策中,例如2000年《形成IT社會基本法》2001年《E-JAPAN戰略》和 《E-JAPAN優先政策計劃》,始終將智能交通系統作為關鍵IT社會中的要 素,特別是《E-JAPAN優先政策計劃》提出的智能交通系統、車輛信息通 信系統(Vehicle Information and Communication System, VICS)是 日本信息 通信系統的最重要組成部分,通過對智能交通系統建設提出政策建議以及 提供資金支持,不斷加強智能交通系統發展。
    投資狀況:1996至1997年間,日本用于智能交通系統應用研發的預算 為161億日元,用于智能交通實際應用化和交通基礎設施建設的投資達 到1285億日元。 1996年,日本在“促進智能交通發展的構想”會議上提出 了一項20年計劃,投資預算為7.8萬億日元。 2001年,日本道路智能運輸
    7
    系統的研發預算比2000年增長了24%, 信息高速公路建設的投資預算增長 了2%。日本政府與企業緊密合作, 例如車輛信息通信系統的便捷極大地 激發了企業的投資興趣, 不斷加速日本智能交通系統的開發和應用。
    應用狀況:日本的智能交通主要應用在交通信息服務、 電子收費、 公共交 通、 不停車收費、 商業車輛管理、 車載導航、 安全駕駛輔助以及應急車輛 優先等方面。日本目 前有超過1800萬用戶使用車載導航系統。日本智能交 通系統的目標是有效緩解交通擁堵并減少環境污染。在日本大力發展智能 交通并提供資金支持的背景下, 智能交通系統將能夠為21世紀可能出現的 各種交通問題提供新型強有力的解決方案。
    從目前國外智慧交通系統的應用來看, 該系統可以有效緩解道路交通壓力, 協助有關部門構建一個安全、 有序和暢通的交通環境[26]。在美國、 日本和歐 洲等地, 智慧交通系統項目的發展已經不僅是為了解決交通問題, 而且逐步成 為解決資源缺乏、 改善生活環境的新型產業, 同時也是提升國家安全和提高國 際競爭力的重要戰略性目標。
    1.3 本文主要工作
    本文設計和實現的智慧交通信息管理系統主要是依據數據采集、 數據存 儲、 數據預處理、 數據分析和數據可視化等大數據平臺功能實現智慧交通信息 管理系統應用中的實時監控模塊、 信息查詢模塊、 安全管理模塊、 統計分析模 塊和權限管理模塊。實時監控模塊能夠進行道路視頻監控、 道路車輛監控和 交通流量監控, 并對采集到的視頻以及圖像信息進行挖掘分析;信息查詢模 塊是根據交通數據的分析結果, 對車輛違法、 車輛類型、 駕駛者信息、 違法事 實、 報警信息、 電子警察和疑似套牌等數據進行查詢;安全管理模塊能夠進行 布控管理、 報警管理和資源管理;統計分析模塊能夠進行查詢分析和統計分 析, 將各類交通數據使用各類圖表進行展示;權限管理模塊除了對用戶的基本 信息進行管理還包括對用戶的角色和部門的管理設置, 達到不同用戶具有不 同操作權限的要求, 保證系統在操作中的安全性。該項目利用大數據平臺, 應 用Kafka消息隊列、Storm分布式計算框架和HBase分布式存儲框架等大數據組 件,采用Java語言開發,使用Spring和SpringMVC等框架技術,實現了基于大數 據的智慧交通信息管理系統。該系統通過在城市各個卡口利用智能設備采集到 的交通數據進行分析, 得到各項準確且有價值的交通數據, 從而更好地為人們 的出行服務, 同時也讓交通管理系統的功能更加完善具體, 實現海量交通數據 價值的最大化, 改善當前的交通環境, 讓交通最大程度的智能化。
    8
    1.4 本文組織結構
    本文組織結構如下:
    第一章引言部分。 介紹了智慧交通的背景和意義以及國內外的智慧交通系 統現狀。 并闡述了當前國內在智慧交通系統發展上的不足,然后闡釋了本文的 主要工作。
    第二章相關理論與技術概述。 介紹了智慧交通信息管理系統使用到的相 關理論和技術。主要包括大數據組件Kafka、Storm、HBase,應用框架Spring、 SpringMVC。
    第三章智慧交通信息管理系統需求分析與概要設計。 描述了智慧交通信息 管理系統的功能性需求和非功能性需求,并對智慧交通信息管理系統的概要設 計進行闡述,包括整體架構和具體模塊劃分,包括實時監控模塊、 信息查詢模 塊、 安全管理模塊、 統計分析模塊和權限管理模塊。 然后介紹了每個系統模塊 的設計,畫出各個模塊的用例圖并對各個模塊的用例進行描述。
    第四章 智慧交通信息管理系統詳細設計與實現。 在上一章系統需求分析和 概要設計的基礎上,對實時監控模塊、 信息查詢模塊、 安全管理模塊、 統計分 析模塊和權限管理模塊進行了更為詳細的描述,并展示了詳細類圖、 順序圖、 流程圖和關鍵代碼,并通過系統截圖對系統部分功能實現進行展示說明。
    第五章 智慧交通信息管理系統的測試。 在智慧交通信息管理系統需求分析 的基礎上對系統進行功能性測試以及非功能性測試,測試智慧交通信息管理系 統是否滿足預期目 標。
    第六章 總結與展望。 對論文中所做的工作進行總結,并同時對將來有可能 進行的擴展以及后續的工作進行展望。
    第二章 相關理論與技術概述
    本章對智慧交通信息管理系統采用的理論和技術進行簡要概述, 闡述 了部分大數據處理技術以及智慧交通信息管理系統平臺所用到的技術。其 中包括數據采集使用的Kafka消息隊列、數據存儲使用的HBase分布式存儲架 構、數據處理使用的Storm分布式計算架構以及搭建平臺所用到的Spring框架 和SpringMVC框架技術的介紹。
    2.1Kafka
    Kafka [27]是LinkedIn公司開發的一個分布式、分區、多副本和基于發布與 訂閱模式的消息系統[28],同時也可以作為MQ系統。Kafka的主要應用場景是 日志數據容量巨大的日志收集系統以及消息系統。LinkedIn于2010年將Kafka貢 獻給了Apache基金會,Kafka成為了Apache頂級開源項目。
    Kafka的主要特點有:
    1.高吞吐量,低延遲特性。Kafka每秒可處理數十萬條消息,其延遲最低只 有幾毫秒。Kafka的高吞吐量體現在讀寫方面,分布式并發讀寫速度非常 快,寫入的性能反映在以O(1)的時間復雜度進行順序寫入,讀取的性能反 映在以O(1)的時間復雜度進行順序讀取。
    2.系統間解耦。 項目在開發過程中需求會發生變化, 甚至是比較大的變化。 Kafka在消息處理過程中間使用了一個隱藏的、基于數據的中間層,生產 者和消費者的處理過程都要依賴這個接口。 這樣可以使生產者和消費者之 間充分解耦, 可以獨立地對兩者進行擴展和修改。
    3.數據副本機制。有些時候,處理數據的過程會出現錯誤。Kafka中的每份 數據的副本都會保存在不同的broker中,這樣可以規避數據丟失的風險。 在把某個消息從隊列中刪除之前, 系統會明確提示該消息的處理已經結 束, 從而可以保證數據不會被誤刪, 數據會安全地保存到使用結束。
    4.靈活性。有時候會出現訪問量在短時間內劇增的現象,Kafka可以在這種 情況下繼續發揮作用,但是Kafka并不需要以這樣并不常見的峰值訪問為 標準投入巨大的資源。在訪問量劇增時對Kafka進行水平擴展即可,不會 因為短時間內劇增的請求而完全崩潰。
    10
    5.順序性。 在多數消息隊列的使用場景下,數據具有相應的處理順序是必要 的。Kafka中每一個Partition都是一個有序且不可變的消息隊列。
    6.異步通信。有時候會出現系統用戶不需要立即處理消息的情況。Kafka消 息隊列提供了異步處理機制,可以讓用戶把消息存入隊列中,但并不會立 刻對它進行處理。 可以在隊列中放入多條消息,等到需要的時候再去處 理。
    7.可擴展性和可恢復性。因為Kafka解耦了生產者和消費者的處理過程,所 以增加消息入隊以及加快消息處理, 只需要分別增加生產者和消費者的處 理過程即可, 而無需對代碼以及參數進行修改。 當系統的一部分組件失效 后,由于Kafka中的partition中擁有replica副本,所以并不會影響到整個系 統, 隊列中的消息仍可以在系統恢復后繼續被處理。
    Kafka架構如圖2.1所示,Kafka作為消息中間件的本質就是生產、存儲以 及消費。Producer為數據的發布者,Producer會將消息發布到Kafka的topic中。 broker接收到Producer發送的消息后,broker將該消息追加到當前用于存儲追加 數據的segment文件中。Producer發送的消息除了可以直接存儲到一個partition, 還可以指定存儲的partition。Consumer可以從broker中讀取數據。Consumer可以 消費多個topic中的數據。每個Consumer屬于一個特定的Consumer Group,如果 不指定Consumer的Group,則該Consumer屬于默認的Group。
    在Kafka的架構設計中可以看出,不管是生產者、消費者還是消息存儲 中間件,都可以進行水平擴展從而提高整個Kafka集群的消息處理能力。另 外Kafka還有一個重要的副本特征,在創建topic的時候指定分區數量的同時, 可以指定副本的數量,但是不得超過broker的數量,否則會出現錯誤。各個 副本之間只有一個leader,其余均為follower, leader副本可以提供讀寫服務, follower副本用來做冷備份,Follower與Leader保持數據同步。如果Leader失效, 則從Follower中選舉出一個新的Leader,達到系統的高可用。
    Kafka消息隊列中只有topic的概念,這點和其他MQ系統不太相同。每一 個topic有若干個分區,其中的數據被分割為一個或多個partition。每個topic至 少有一個partition,每個partition中的數據使用多個segment文件存儲。在每一 個partition中,數據是有順序的,不同partition間的數據則處于無序的狀態。如 果一個topic中存在多個partition,則消費數據時就不能保證數據的處理順序。在 有些需要嚴格保證數據的消費順序的場景下,需要設置partition的數目為1。新 加入的消息會采用追加的方式寫入,這樣會使Kafka的吞吐能力變得非常強大。
    11
     
     
    圖2.1: Kafka架構圖
    2.2Storm
    Storm [29]是由Twitter開發的一種分布式的、容錯的實時計算系統,實時計 算也被稱作即時計算[30]。Storm是類似于Hadoop的實時處理框架,遵循Eclipse Public License1.0。Storm是由Clojure語言實現的。Storm通過簡單地封裝API可 以讓使用者可靠地持續處理無界的流數據。在一個較小的集群中,Storm可以每 秒處理數以百萬計的消息。經測試表明,每個Storm節點每秒就有100萬個數據 元組會被處理。
    一個Storm的程序會被邏輯封裝為一個拓撲Topology [31], Storm的拓 撲Topology是由Spout和Bolt組成的一個有向無環圖。Storm在事件流建模過 程中時,把流中的事件抽象為Tuple,即為元組。同時Storm把每個原始元組的 源頭,抽象為Spout,流的中間狀態轉換被抽象為Bolt,Bolt可以任意消費不限 數量的輸入流,只要將流向指向某Bolt即可,同時它也可以發送新的流給其 他Bolt使用。
    Storm的主要特點有:
    1.簡單的API接口。Storm的API接口簡單且容易使用。當編寫Storm程序時, 處理的是元組組成的流數據, 一個元組是一組值的集合。 元組包含任
    12 何對象類型,當使用自定義數據類型時,只需要簡單的使用Storm的 序列化器注冊一下即可。Storm提供了三種抽象的組件,分別是Spout、 Bolt和Topology。Spout組件負責接收或生產處理所需的數據源。Bolt處理 接收到的數據流, 生產出新的數據流提供給其他組件調用。 大部分的計 算邏輯都由Bolt處理。比如函數處理、過濾器、聚集甚至是數據庫調用。 Topology組件是由多個Spout和Bolt組成的網絡結構。網絡中的每一個邊線 代表一個Bolt組件訂閱的數據流,這個數據流可能來自Spout組件,也可能 來自其他Bolt組件。一個Topology組件就是復雜的流處理計算過程。
    2.可擴展性。Storm Topology并行計算并且運行在集群中。不同的Topology的 部分能調整它們的并行度,用戶可通過使用命令調整Topology的并行度。
    3.容錯性。Storm有容錯機制,如果節點宕機,Storm會嘗試重啟,啟動一個 節點。Storm的守護進程Nimbus和Supervisor都是無狀態的,如果它們出現 錯誤, 就會自動重啟恢復狀態, 不會影響集群的正常使用和運行。
    4.無數據丟失。Storm確保每個元組被處理。Storm能有效地記錄元組 的lineage。Storm的抽象組件確保了數據至少處理一次,即使使用消 息隊列系統失敗時,也能確保消息被處理。同時通過Storm的抽象組 件Trident能確保消息只被處理一次。
    5.支持多種編程語言。在Storm中使用Thrift(遠程過程調用框架)定義和提 交Topology,正是由于Thrift可以被大部分編程語言使用,所以Topology也 可以被絕大多數編程語言定義和使用。
    如圖2.2所示,是Storm的任務提交處理流程。Storm為主從架構[32],由單 個主節點和多個工作節點組成。主節點叫Nimbus, Nimbus是Storm的調度中心, Supervisor是任務執行的工作節點,負責接受Nimbus分配的任務,啟動和停止 屬于自己管理的Worker進程,每個Worker都有自己的端口,可理解為獨立的進 程。另外,每個Worker中還可以運行若干個線程。Nimbus會根據Topology所需 要的Worker進行分配,將其分配到各個Supervisor的節點上執行。
    如圖2.3所示,是Storm中的數據流流向。可以看出,啟動Topology后,相關 組件就開始運行起來。在Storm中,Spout組件主要用來從數據源拉取數據,形 成一個Tuple后轉交給Bolt處理。Bolt接收到Tuple處理完后,可以選擇繼續交給 下一個Bolt處理,也可以選擇不往下傳。這樣數據以Tuple的形式一個接一個的 往下執行, 就形成了一個拓撲數據流。
    13
     
     
     
     
     
     
    2.3HBase
    HBase的原型是來自Google 的BigTable論文,受到了該論文思想的啟發, HBase一開始作為Hadoop的子項目來開發維護,用于支持結構化的數據存儲, 后升級為Apache頂級項目[33]。HBase是一個高可靠性、高性能、可伸縮和面 向列的分布式存儲系統,利用HBase技術可以在廉價服務器上搭建起大規模結 構化存儲集群,可以通過增加廉價的服務器提高HBase的計算能力和存儲容量 [34]。
    如圖2.4所示,是HBase架構圖,從圖中可以看出HBase是由客戶端(Client)、 分布式協調組件(Zookeeper)、主服務器(HMaster)、工作服務器(HRegionServer)和 底層文件系統(HDFS)構成。
    14
     
     
    圖2.4: HBase架構圖
    簡單介紹一下H Base的各個組成部分:
    1.客戶端(Client)通過HBase的RPC機制和HMaster以及HRegionServer進行通 信。
    2.Zookeeper是Google公司Chubby的開源實現,其作為分布式協調組件,用 于管理集群中HMaster,實時監控HRegionServer狀態并存儲所有Region的 尋址入口 , 便于定位。
    3.HMaster負責為HRegionServer分配Region,通過使用協調組件Zookeeper來 管理HRegionServer的負載均衡,當發現失效HRegionServer時,HMaster會 重新分配其上的Region。
    4.HRegionServer用來維護HMaster分配給它的Region,處理對Region的請求, 同時負責split過大的Region以及Region的compact操作。
    5.Region是HBase分布式存儲以及負載均衡中的最小單元,每個HBase表可 以在行的方向上分為多個Region,隨著數據的不斷增加,當Region的某個 列族達到規定的閾值之后就會分裂成兩個新的Region。
    6.Store,每一個Region由一個或者多個Store組成,HBase會為每一個列族創 建一個Store。每一個Store由一個MemStore和零個或者多個StoreFile組成。 MemStore存儲在內存中,用于保存和修改Key Values,把MemStore中的數 據寫入文件中即是StoreFile, StoreFile的底層存儲是以HFile的方式。
    15
    7. HLog是用來做災難恢復的,一旦HRegionServer出現宕機情況,就可以通 過HLog中的數據做現場恢復。
    HBase的主要特點:
    1.海量存儲。HBase適用于存儲PB級海量數據。在使用廉價服務器存儲海 量數據的情況下,它也可以在毫秒內返回結果,充分體現了HBase的極易 擴展性。正是因為HBase具有良好的擴展性,所以非常適合海量數據的存 儲。
    2.列式存儲。此處的列式存儲在HBase中實際上是指列族存儲。HBase是根 據列族存儲數據的,每個列族可以有許多的列,創建HBase表時必須指定 列族。
    3.極易擴展。HBase的可擴展性主要體現在兩個方面,一個是基于上層 處理能力的擴展,另一個是基于存儲的擴展。HBase可以通過水平添 加RegionSever機器,來提高HBase上層的處理能力和服務于更多Region的 能力。
    4.高并發特性。由于當前使用HBase的大多數體系架構都是采用廉價服務 器,所以單個IO的延遲并沒有太大優化,通常在幾十到幾百毫秒之間。這 里提到的高并發性主要是在并發的情況下,HBase的單個IO延遲不會下降 太多, 可以獲得高并發、 低延遲的服務。
    5.稀疏特性。稀疏特性主要是為了提高HBase列的靈活性。在列族中,可以 指定任意數量的列, 如果列數據為空, 則不會占用存儲空間。
    2.4Spring
    Spring是一個開源框架,是于2003年問世的輕量級Java開發框架。由Rod Johnson在 “Expert One-On-One J2EE Development and Design" —文中闡述的部 分理念和原型延伸而來,用于解決企業級開發的復雜性。Spring具有控制反 轉(IOC)和面向切面(AOP)編程兩大特性,實踐表明,在使用IOC來解決架構層 方案問題上, Spring有著非常大的優勢[35]。Spring核心由七個模塊組成,如 圖2.5所示,包括核心容器Spring Core> Spring上下文、Spring web> Spring DAO> Spring ORM、Spring AOP以及Spring Web MVC框架。其中每個模塊都可以單獨 存在, 也可與一個或者多個模塊整合在一起[36]。
    Spring的主要特點:
    16
     
     
    Spring Core
    主要組件是BeanFactory,創建J avaBean的工廠
    圖2.5: Spring核心架構圖
    1.便于解耦,簡化開發。Spring就是一個BeanFactory,專門負責生成Bean對 象, 并管理所有對象創建和依賴關系的維護。
    2.支持面向切面編程。Spring提供面向切面編程AOP,可以把一個業務流程 分成幾個部分, 例如權限檢查、業務處理和事件監控等部分, 每個部分單 獨處理后再組裝成完整的業務流程。
    3.支持聲明式事務。只需要對Spring進行配置就可以完成對事務的管理,不 需要添加代碼。
    4.測試的方便快捷。Spring支持Junit4測試框架,可以通過注解的方式快捷 的測試Spring應用程序。
    5.集成各種優秀框架。Spring內部提供了對各種優秀框架(如:Struts、MyBatis、 Hibernate、Spring-Task和Oval等)的支持,滿足用戶對框架的不同使用需 求。
    6.封裝比較難以使用的API。Spring對JavaEE開發中一些難用的API(JDBC、 JavaMail和WebService調用等),都提供了封裝,使這些API上手使用程度 難度大大降低, 對用戶較為友好。
    17
    2.5SpringMVC
    在介紹SpringMVC框架之前,首先介紹MVC(Model-View-Controller)的設計 模式,即模型-視圖-控制器模式。MVC模式可以分離業務邏輯、數據和界面顯 示,并將業務邏輯聚合到一個組件中。在改進和個性化自定義界面和用戶交互 的同時,無需重寫業務邏輯,是一種用于將視圖代碼和后端代碼分離的設計思 想。MVC模式是經過獨特開發的,可以在邏輯圖形用戶界面結構中映射傳統 的輸入、處理和輸出功能。MVC模式的思想是把整個軟件分成了三個部分:模 型(Model)負責存儲系統的中心數據;視圖(View)將信息顯示給用戶(可以定義多 個視圖);控制器(Controller)是應用程序中處理用戶交互的部分,負責管理與用 戶交互控制,處理用戶輸入的信息,從視圖讀取數據,并向模型發送數據,根 據視圖來確定向模型返回的數據[37]。如圖2.6所示,展示了MVC模式中模型、 視圖和控制器三者之間的相互關系以及各自的功能介紹[38]。
     
     
    圖2.6: MVC模式
    SpringMVC框架就是由Spring提供的MVC設計模式實現的,SpringMVC通 過Dispatcher實現了Model、Controller以及View多角色的分離,降低了整個系統 的耦合度,提高了系統的開發效率,SpringMVC支持大量的代碼注釋,極大地 減少了系統的冗余,使得系統中代碼的編寫更加簡單易懂,同時便于擴展和維 護[39]。
    2.6本章小結
    本章主要介紹了開發智慧交通信息管理系統所用到的相關技術。介紹了大 數據組件中的消息隊列Kafka、分布式計算框架Storm和分布式存儲框架HBase的
    18
    使用特性,然后介紹了Spring和SpringMVC框架以及使用特點,在實現智慧交 通信息管理系統功能的同時, 提升系統的開發效率。
    19
    第三章 智慧交通信息管理系統的需求分析與概要設計
    本章將介紹智慧交通信息管理系統的需求和概要設計。 首先介紹系統的整 體概要, 隨后介紹智慧交通信息管理系統的功能性需求和非功能性需求, 并通 過用例圖和部分用例描述對每個模塊的用例進行描述, 接下來介紹智慧交通信 息管理系統的架構設計, 然后具體介紹智慧交通信息管理系統的模塊劃分以及 數據庫表設計。
    3.1 系統整體概述
    本智慧交通信息管理系統屬于政府項目, 是為了實現智慧城市、 智慧出行 而設計的。 系統首先通過道路各個卡口的各類智能監控設備等第三方采集工具 統一采集數據, 然后將采集到的數據傳送至大數據、 云計算處理平臺等處進行 統一格式以及數據處理, 最終將分析數據用于該智慧交通信息管理系統。
    本智慧交通信息管理系統的總體需求如下:
    1.對某城市道路交通的實時監控。 為了能讓交通部門及時掌握道路交通狀 況, 系統應當能夠實時地對道路交通進行監控, 從而可以通過交通誘導進 行交通分流, 降低道路的擁堵比率。 通過該系統, 交管部門可以利用監控 設備采集到海量的交通數據。
    2.交通管理的智能化。 智能監控設備分布于城市的各個交通卡口處, 除了用 于視頻監控之外, 智慧交通信息管理系統還必須能夠對智能監控設備采集 到的海量交通信息數據進行挖掘分析, 即從海量交通信息數據中對車輛行 為進行分析, 例如行車軌跡分析、 套牌嫌疑分析、 違法事件分析和區域關 聯性分析等, 從而提高交通部門的管理能力。
    3.協助公安部門的工作。 通過分析智能監控設備采集到的海量交通信息數 據, 為公安部門工作提供支持。 在系統中添加違法事件查詢、 布控管理等 功能, 通過對違法或者嫌疑車輛的布控管理, 公安部門可以實時掌握其動 向, 便于下一步落網計劃的實施。
    4.交通管理的安全性。 該系統通過設定用戶的不同角色以及所屬部門, 達到 不同用戶具有不同操作權限的要求, 以保證智慧交通信息管理系統在操作 中 的 安 全 性。
    20
    5.高度靈活性和擴展性。 系統應該可以根據業務變更能夠靈活改變并易于對 新的需求進行擴展。
    6.較好的用戶體驗。 系統應能夠提供友好的用戶體驗, 界面整潔美觀, 可以 讓用戶短時內熟悉并使用該系統。
    7.較好的兼容性。系統能夠兼容Chrome、FireFox和IE等常用瀏覽器。
    3.2 系統需求分析
    3.2.1 實時監控功能需求分析
    智慧交通信息管理系統中的實時監控功能需求主要是使用攝像頭、WI-FI探 針等智能監控設備采集大量的交通數據, 可以采集到道路車輛、 車流量、 車牌 號以及車的行駛速度等數據, 并通過對這些數據的分析可以獲得所需的道路擁 堵狀況、 車流量等信息。
    1.道路視頻監控。 視頻監控是指用來監控道路與車輛的系統與設備, 包括城 市系統建設項目以及單獨采購的設備與附件等, 這些設備對開展智慧交通 具有重大意義。 這些智能監控設備均可接入互聯網, 通過相關技術把采集 到的視頻文件發送到系統的視頻服務器, 用戶可以查看任一時刻以及任何 地點的實時交通狀況, 并通過系統對交通流量進行分析, 便于進行交通誘 導, 降低道路擁堵概率。 道路視頻監控功能包括視頻監控設置、 視頻文件 管理、 視頻文件回放和視頻綜合分析。
    2.道路車輛監控。 道路車輛監控功能是利用監控視頻中采集到的視頻以及圖 像數據, 通過圖像識別功能辨識出每一輛車的顏色、 車牌號等相關信息, 從而可以達到對所有車輛或者對某一特定車輛監控的目的, 便于開展交通 監控以及抓捕等活動, 道路車輛監控的功能包括車輛實時監控查看, 車輛 數據的統計分析。
    3.交通流量監控。 交通流量監控是利用卡口智能監控設備攝像頭、 傳感器等 獲取交通流量數據, 并將這些數據上傳至服務器進行存儲, 便于系統對交 通流量數據進行處理和分析, 達到對交通流量實時監控的目的, 提高交通 部門的決策能力。 交通流量監控功能包括流量信息監控、 流量預警和流量 預測分析。
    根據以上的功能需求, 實時監控功能需求的用例圖如圖3.1所示。
    21
     
     
    流量預測分析
    圖 3.1: 實時監控模塊功能用例圖
    由于該系統功能用例過多, 在此只舉例介紹部分系統功能用例。 表3.1是修 改視頻監控設置用例描述, 主要描述的是用戶修改視頻監控設置。 用戶進入視 頻監控設置管理界面, 選定需要修改的視頻監控參數并通過彈出框對參數設置 進行修改。
    表 3.1: 修改視頻監控設置用例描述
    ID UC1 名稱 修改視頻監控設置
    參與者 普通用戶
    描述 用戶修改視頻監控設置
    觸發條件 用戶進入視頻監控設置管理界面
    前置條件 用戶成功登錄系統,且擁有修改視頻監控參數的權限
    后置條件 視頻監控參數改變,視頻監控數據發送變化
    正常流程 1•用戶點擊進入視頻監控設置管理界面
    2•選擇需要修改的參數,并點擊
    3•在彈出框內對參數設置進行修改
    4•顯示修改成功,并返回視頻監控設置管理界面
    異常流程 用戶沒有視頻監控設置修改權限,使用彈出框進行提醒
     
    表3.2是查看視頻文件用例描述, 主要描述的是用戶查看視頻文件。 用戶進 入視頻文件管理界面之后, 根據輸入卡口、 時間段等參數, 獲取某一時間段的 視頻文件, 并可以播放所選擇的視頻文件。
    22
     
    表 3.2: 查 看 視 頻 文 件 用 例 描 述
    ID UC2 名稱 查看視頻文件
    參與者 普通用戶
    描述 用戶查看某一時段的視頻文件
    觸發條件 用戶進入視頻文件管理界面
    前置條件 用戶成功登錄系統
    后置條件
    正常流程 1•用戶點擊進入視頻文件管理界面
    2•用戶通過選擇卡口、時間等參數查詢視頻文件
    3•點擊視頻文件播放按鈕
    4•播放所選視頻,播放結束后可返回視頻文件管理界面
    擴展流程 3a.可以選擇視頻播放速度
    3a1.可以通過對視頻文件做備注信息
     
    表3.3是查看車輛監控分析用例描述, 主要描述的是用戶查看車輛監控分 析。 用戶進入車輛監控管理界面之后, 根據輸入卡口、 時間段等參數, 獲取某 一時間段各項車輛監控分析數據。
    表3.3: 查看車輛監控分析用例描述
    ID UC3 名稱 查看車輛監控分析
    參與者 普通用戶
    描述 用戶查看某一時段的車輛監控分析數據
    觸發條件 用戶進入車輛監控管理界面
    前置條件 用戶成功登錄系統
    后置條件
    正常流程 1•用戶點擊進入車輛監控管理界面 2•用戶通過選擇卡口、時間等參數 3•點擊查詢按鈕
    4•車輛監控信息以報表形式展示
    擴展流程 2a.時間段設置中結束時間要晚于開始時間
    4a.可以導出車輛監控報表數據
     
    表3.4是查看流量信息用例描述, 主要描述的是用戶查看流量信息。 用戶進 入流量信息監控界面之后, 根據輸入卡口、 時間段等參數, 獲取某一時間段的 流量信息。
    3.2.2 信息查詢功能需求分析 智慧交通信息管理系統中的信息查詢功能需求主要是將智能監控等相關設 備采集到的大量交通數據進行充分挖掘, 為了便于對數據進行分析建立了信息 查詢模塊, 滿足各類信息的查詢需求, 便于進行交通管理。
    23
    表 3.4: 查 看 流 量 信 息 用 例 描 述
    ID UC4 名稱 查看流量信息
    參與者 普通用戶
    描述 用戶查看某一時段的流量信息
    觸發條件 用戶進入流量信息監控界面
    前置條件 用戶成功登錄系統
    后置條件
    正常流程 1.用戶點擊進入流量信息監控界面
    2.用戶輸入卡口、時間等參數查詢流量信息
    3.展示某一時間時間段的流量信息
    擴展流程 2a.時間段設置中結束時間要晚于開始時間
    3a.可以選擇不同的圖表形式展示流量信息
    3b.用戶可以導出流量信息數據圖表
    異常流程 如果沒有符合用戶篩選條件的流量信息,則頁面顯示為空并彈岀框提示
     
    1.車輛違法查詢。車輛行駛過程中出現的超速、闖紅燈和亂停放等現象,會 被視頻監控等設備采集并上傳,并經過系統分析判斷車輛違章類型,同時 會接入公安、車管所等接口,對違法進行統一記錄,對車輛的所有違法事 實進行記錄,操作人員通過查詢該車輛的車牌號信息即可調取該車輛所有 既定的違法事實,便于進行下一步對該車輛的處罰管理。
    2.車輛類型查詢。此功能主要用來判斷道路車輛品牌信息,對車輛品牌信息 進行統計,把數據提供給相關部門進行品牌管控等。
    3.駕駛者信息查詢。 駕駛者信息查詢可分為兩種,一種是所查車輛的所屬 者,一種為所查車輛的駕駛者。通過視頻監控等設備采集到的視頻以及圖 像信息,使用圖像識別以及人臉識別技術,通過車牌號可查車輛的所屬 者,通過人臉識別并利用公安等方面提供的接口可以提取并查出駕駛者的 個人身份信息,可以快速準確的定位到個人。
    4.違法事實查詢。智慧交通信息管理系統利用視頻監控等相關設備采集到的 視頻以及圖像信息,可以自動判斷駕駛者在駕駛車輛的過程中出現的違法 行為,例如超速、變道以及違停等。同時由交管部門在違法現場開出的罰 單數據信息,也應該一并記錄到智慧交通信息管理系統中,方便進行統一 管理。
    5.報警查詢。此功能用于操作人員查詢指定車輛的過往在案記錄,通過視頻 監控等設備采集到的信息,根據車牌號定位到特定車輛,通過查詢特定車
    24 輛在交管部門的案底信息,便于交管部門等相關部門采取下一步行動,可 以持續對特定車輛進行監控,掌握其動向。
    6.電子警察查詢。電子警察指非現場違法自動記錄相關的固定式和移動式系 統與設備,包括中心系統、設備和附件等。電子警察在城市部分路口采用 圖像處理技術綜合識別闖紅燈、掉頭、變道、壓線、逆向行駛以及闖禁行 區等多種交通違法行為,可有效解決直行車輛右轉彎、闖紅燈和繞行等問 題,電子警察在智慧交通信息管理系統中占有重要地位,是很重要的一種 智能監控設備。
    7.疑似套牌查詢。把視頻監控等設備采集到的交通數據信息,利用圖像識別 技術識別對應車輛的車牌號,利用智慧交通信息管理系統對車輛出現的道 路信息以及時間信息進行分析,判斷特定車輛是否有套牌嫌疑,如果有套 牌嫌疑,則對該車輛進行鎖定,由交管部門來對該車輛進行處理,并將處 理信息錄入系統。
    根據以上的功能需求,則信息查詢功能需求的用例圖如圖3.2所示。
     
     
    圖3.2:信息查詢模塊功能用例圖
    表3.5是車輛違法查詢用例描述,主要描述的是用戶對車輛違法進行查詢。 用戶進入車輛違法查詢界面之后,通過輸入車輛信息、時間等參數和查詢車輛
    25
     
    在某時間段內的違法紀錄。
    表 3.5: 車 輛 違 法 查 詢 用 例 描 述
    ID UC5 名稱 車輛違法查詢
    參與者 普通用戶
    描述 用戶查詢車輛違法信息
    觸發條件 用戶進入車輛違法查詢界面
    前置條件 管理員成功登錄系統,并且擁有查詢權限
    后置條件
    正常流程 1.用戶點擊進入車輛違法查詢界面
    2.輸入車輛信息、時間,點擊查詢按鈕
    3.用戶可以查看到某一時間段內車輛的違法記錄
    擴展流程 2a.時間段設置中結束時間要晚于開始時間
    異常流程 如果沒有符合用戶篩選條件的車輛信息,則頁面顯示為空并彈岀框提示
     
    表3.6是報警查詢用例描述,主要描述的是用戶報警查詢。用戶進入報警查 詢界面之后,根據輸入卡口、時間段等參數,查詢某一段時間內的報警記錄。
    表 3.6: 報 警 查 詢 用 例 描 述
    ID UC6 名稱 報警查詢
    參與者 普通用戶
    描述 用戶查看某一時段的報警記錄
    觸發條件 用戶進入報警查詢管理界面
    前置條件 用戶成功登錄系統
    后置條件
    正常流程 1.用戶點擊進入報警查詢界面
    2.輸入卡口、時間等信息,點擊查詢按鈕
    3.系統展示某一時間段內的報警記錄
    擴展流程 2a.時間段設置中結束時間要晚于開始時間
    3a.可以導岀報警信息列表
    3b.可以通過對報警信息列表做備注信息
    異常流程 如果沒有符合用戶篩選條件的流量信息,則頁面顯示為空并彈岀框提示
     
    表3.7是疑似套牌查詢用例描述,主要描述的是用戶對疑似套牌信息進行查 詢。用戶進入疑似套牌查詢查詢界面之后,根據輸入卡口、時間段等參數,獲 取某一時間段的疑似套牌信息記錄。
    3.2.3 安全管理功能需求分析
    智慧交通信息管理系統中的安全管理功能需求主要是用來為公安等部門提 供數據支持,因為該系統為政府項目,所以對軟件運行以及硬件管理都有較高
    26
    表 3.7: 疑似套牌查詢用例描述
    ID UC7 名稱 疑似套牌查詢
    參與者 普通用戶
    描述 用戶查看某一時段的疑似套牌信息
    觸發條件 用戶進入疑似套牌查詢界面
    前置條件 用戶成功登錄系統
    后置條件
    正常流程 1.用戶點擊進入進入疑似套牌查詢界面
    2.用戶輸入卡口、時間等參數,并點擊查詢按鈕
    3.系統展示某一時間段內的疑似套牌記錄
    擴展流程 2a.時間段設置中結束時間要晚于開始時間
    3a.可以導出疑似套牌信息列表
    3b.可以通過對疑似套牌信息列表做備注信息
    異常流程 如果沒有符合用戶篩選條件的套牌信息,則頁面顯示為空并彈岀框提示
     
    的安全性要求。 該模塊對系統使用過程中有安全風險的環節進行嚴格把控, 保 障系統使用過程中各方面的的安全性。
    1.安全布控管理。 利用視頻監控等設備采集到大量的交通數據信息, 可以做 到對特定車輛的實時監控, 當出現車輛潛逃以及車輛被盜被劫持等情況, 可以利用智慧交通信息管理系統在各種交管設備的幫助下對車輛進行嚴密 布控, 并可以通過系統向有關部門報警, 對車輛的運行軌跡進行跟蹤, 并 進行警告, 有利于公安等部門進行布控、 抓捕等活動的實施, 同時針對不 同的布控場景有不同的管理方式。
    2.安全報警管理。 在利用視頻監控等設備記錄大量交通信息的時候, 在能夠 做到記錄信息的同時, 也要可以做到能夠及時報警, 便于相關人員及部門 對報警信息進行及時處理。 所以系統可以在對實時數據進行分析的時候, 根據相關布控管理以及報警管理, 第一時間作出報警反應, 便于進行分析 和處理。
    3.安全資源管理。 本智慧交通信息管理系統作為一個為政府相關部門服務的 功能較為復雜的系統, 系統本身不僅僅包括系統軟件還包括大量的攝像 頭、電子警察和WI-FI探針等智能監控設備。系統后期部署運營工作量會 比較大。 所以如果可以做到對這些資源的更科學合理的管理, 將會很大程 度上降低系統的運營成本, 同時提高智慧交通信息管理系統的工作效率。 對于智能監控設備進行資產管理, 每個設備的信息、 設備的安裝、 設備的 維護和設備的更換等都需要做管理。 還要對智能監控設備進行網絡管理,
    27
    只有保證智能監控設備的網絡暢通,才能保證及時上傳視頻等交通數據, 及時對數據進行分析和處理。最大程度上降低系統后期的運營維護成本, 做到更安全有效的使用本系統。
     
     
    表3.8是布控類型添加用例描述,主要描述的是用戶添加布控類型。用戶進 入布控管理界面之后,點擊布控添加按鈕,在彈出框內添加布控類型信息。
    表3.8:布控類型添加用例描述
    ID UC8 名稱 布控類型添加
    參與者 普通用戶
    描述 用戶添加布控類型
    觸發條件 用戶進入布控管理界面
    前置條件 用戶成功登錄系統
    后置條件 布控類型信息更新
    正常流程 1.用戶點擊進入布控管理界面
    2.點擊布控添加按鈕
    3.在彈出框內添加布控管理信息,并點擊確認
    4.返回到布控管理界面,布控信息添加成功
    異常流程 用戶沒有布控類型添加權限 ,使用彈出框進行提醒
     
    表3.9是修改資源信息用例描述,主要描述的是用戶修改設備資源信息。用 戶進入資源信息管理界面,選定某一設備資源并通過彈出框對其信息進行修 改。
    表3.10是查看資源信息用例描述,主要描述的是用戶查看設備資源信息。 用戶進入資源信息管理界面,選定某一設備資源并點擊,通過彈出框查看其信 息。
    28
     
    表 3.9: 修改資源信息用例描述
    ID UC9 名稱 修改資源信息
    參與者 普通用戶
    描述 用戶修改資源設備信息
    觸發條件 用戶點擊進入資源信息管理界面
    前置條件 用戶成功登錄系統,并擁有修改權限
    后置條件 設備資源信息進行更新
    正常流程 1.用戶點擊資源信息管理按鈕,進入資源信息管理界面
    2.選定資源信息,點擊修改按鈕
    3.在彈出框內對資源信息進行修改,并點擊確認
    4.顯示修改成功,并返回資源信息管理界面
    異常流程 用戶沒有資源修改權限,使用彈出框進行提醒
     
     
    表 3.10: 查看資源信息用例描述
    ID UC10 名稱 查看資源信息
    參與者 普通用戶
    描述 用戶查看資源設備信息
    觸發條件 用戶點擊進入資源信息管理界面
    前置條件 用戶成功登錄系統
    后置條件
    正常流程 1.用戶點擊資源信息管理按鈕,進入資源信息管理界面
    2.選定設備資源,點擊查看按鈕
    3.在彈出框內可以查看設備資源各項信息,查看后點擊返回
    4.返回資源信息管理界面
    異常流程 用戶沒有資源查看權限,使用彈出框進行提醒
     
    表3.11是添加資源維修信息用例描述, 主要描述的是用戶添加資源維修信 息。 用戶進入資源維修管理界面之后, 點擊資源維修添加按鈕, 在彈出框內添 加資源維修信息。
    3.2.4 統計分析功能需求分析 智慧交通信息管理系統中的統計分析功能需求是用來將從智能監控設備中 采集到的經過處理的交通數據信息進行分析, 充分挖掘交通歷史數據的價值, 為交通管控以及交通決策提供指導性意見。
    1.查詢分析。 查詢分析部分主要是通過使用智能監控設備采集到的大量交通 數據, 對歷史交通數據進行綜合查詢, 包括報警查詢、 違法事件查詢和交 通事件查詢等, 便于進行監控以及后續的處理等。
    2.統計分析。 統計分部分利用智能設備采集到的大量交通流量數據, 對這些
    29
    表3.11:添加資源維修信息用例描述
    ID UC11 名稱 添加資源維修信息
    參與者 普通用戶
    描述 用戶添加資源維修信息
    觸發條件 用戶進入資源維修管理界面
    前置條件 用戶成功登錄系統
    后置條件 資源維修信息更新
    正常流程 1.用戶點擊進入資源維修管理界面
    2.點擊資源維修添加按鈕
    3.在彈出框內添加資源維修信息,并點擊確認
    4.返回資源維修管理界面,維修信息添加成功
    異常流程 用戶沒有資源維修添加權限 ,使用彈出框進行提醒
     
    歷史數據進行統一分析,并以數據報表的形式進行展示,包括車流量統 計、報警處理統計以及違法事件統計等。對交通大數據進行整體上的分析 匯總,不僅可以用于實時的交通管理,同時還可以對交通道路擴建、道路 改道以及紅綠燈時間長短設置等提供指導意見,方便交管部門開展下一步 行動。
    根據以上的功能需求,則統計分析功能需求的用例圖如圖3.4所示。
     
     
    圖3.4:統計分析模塊功能用例圖
    表3.12是查看實時車流量統計用例描述,主要描述的是用戶查看實時車流 量統計數據。用戶進入統計分析界面,查看實時車流量統計數據圖表。
    3.2.5權限管理功能需求分析
    智慧交通信息管理系統中的權限管理功能需求主要是對系統的用戶以及部 門進行權限管理,保障系統安全同時提高系統的工作效率。
    30
     
    表3.12:查看實時車流量統計用例描述
    ID UC12 名稱 查看實時車流量統計
    參與者 普通用戶
    描述 用戶通過系統界面查看實時車流量統計數據
    觸發條件 用戶成功登錄系統,并點擊進入統計分析界面
    前置條件 用戶成功登錄系統
    后置條件
    正常流程 1.用戶點擊統計分析按鈕,進入統計分析界面
    2.用戶點擊實時車流量查詢按鈕
    3.用戶可以在車流量查詢界面內看到實時車流量更新圖表
    4.用戶可以通過點擊獲取某一時刻的車流量數據
    擴展流程 3a.用戶可以選擇不同的圖表顯示方式
    3a1.用戶可以選擇查詢某一時間段內的車流量數據
     
    1.用戶管理。對操作該系統的工作人員進行權限上的管理。主要是對系統 后臺用戶進行管理,包括用戶所屬角色管理、用戶基本信息管理以及用戶狀態 管理等。
    2.角色管理。角色管理是針對不同的用戶做具體功能點的權限管理,對用 戶權限做個性化授權,可以更方便地對系統進行管理。
    3.組織管理。部門管理是針對用戶組的管理,把角色任務相同的用戶抽象 分在同一個部門中,進行用戶的統一管理,減少用戶之間的重復性操作,提高 該系統的工作效率。
    根據以上的功能需求,則權限管理功能需求的用例圖如圖3.5所示。
     
     
    圖3.5:權限管理模塊功能用例圖
    表3.13是添加用戶權限用例描述,主要描述的是系統管理員添加用戶權限。 系統管理員進入用戶管理界面,選定用戶并在彈出的權限管理界面內添加用戶 權限。
    31
     
    表 3.13: 添加用戶權限用例描述
    ID UC13 名稱 添加用戶權限
    參與者 系統管理員
    描述 系統管理員添加用戶權限
    觸發條件 管理員登錄權限管理系統, 并點擊用戶管理
    前置條件 系統管理員成功登錄系統
    后置條件 用戶在系統中的操作權限增加
    正常流程 1.系統管理員進入用戶管理界面
    2.選定用戶,點擊權限管理按鈕,進入權限管理界面
    3.選擇添加權限,并點擊確認按鈕
    4.顯示添加成功,并返回用戶管理界面
    擴展流程 2a.點擊角色管理按鈕,進入角色管理界面
    2b.點擊部門管理按鈕,進入部門管理界面
     
    表3.14是查看用戶權限用例描述, 主要描述的是系統管理員查看用戶權限。 系統管理員進入用戶管理界面, 選定用戶并在彈出的權限管理界面查看用戶權 限信息。
    表 3.14: 查看用戶權限用例描述
    ID UC14 名稱 查看用戶權限
    參與者 系統管理員
    描述 系統管理員查看用戶權限信息
    觸發條件 系統管理員進入用戶管理界面
    前置條件 系統管理員成功登錄系統
    后置條件
    正常流程 1.系統管理員進入用戶管理界面
    2.選定用戶,點擊權限管理按鈕,進入權限管理界面
    3.查看用戶的權限信息,并點擊返回
    4.返回到用戶管理界面
    擴展流程 3a.可以導岀用戶權限信息
     
    表3.15是添加用戶組用例描述, 主要描述的是系統管理員添加用戶組。 系 統管理員進入用戶管理界面, 點擊添加用戶組按鈕, 在彈出框內添加用戶組信 息。
    3.2.6 非功能性需求分析
    本系統除了需要滿足上述的功能性需求之外, 同時還需要滿足一些非功能 性需求。 本系統項目是和政府合作性質的項目, 所以會對系統的安全穩定性要 求很高, 需要滿足系統的安全性和可靠性需求;項目需求中對智慧交通信息管
    32
    表 3.15: 添加用戶組用例描述
    ID UC15 名稱 添加用戶組
    參與者 系統管理員
    描述 系統管理員添加用戶組信息
    觸發條件 系統管理員進入用戶管理界面
    前置條件 系統管理員成功登錄系統
    后置條件 新增用戶組
    正常流程 1.系統管理員進入用戶管理界面
    2.點擊添加用戶組按鈕
    3.在彈出框內添加用戶組信息,并點擊確認
    4.返回到用戶管理界面,同時系統新增用戶組
    擴展流程 3a.可以導岀用戶組信息
     
    理系統的性能要求較高, 要滿足系統的高性能需求;同時要求系統要容易上手 使用, 所以也會同時要求系統具有較好的易用性, 能夠讓使用者以最小的學習 成本快速上手, 易于操作;同時由于該智慧交通信息管理系統是一個大數據應 用相關系統, 數據量較大, 需要展示的信息較多, 需要實現的功能也比較多, 所以也必須考慮智慧交通信息管理系統的可擴展性以及可維護性。 智慧交通信 息管理系統非功能性需求可總結為:
    1.易用性。 使用者可以在一天之內快速上手投入到使用中。 系統界面簡單美 觀, 便于理解, 人機交互體驗較好, 可以滿足絕多數人的使用習慣。
    2.安全性。 保證在數據采集、 傳輸、 處理和分析過程中不會被修改或竊取。
    根據用戶權限控制訪問數據進行記錄,對IP地址以及高頻訪問進行限制。
    3.可擴展性。 在面對新的用戶需求時, 可以保證在4人日內完成。
    4.高性能。 系統應該保證具有良好的性能, 界面加載時間應該在3秒以內, 人機交互響應時間應該在2秒以內。
    5.可維護性。 系統應可以提供運行日志給維護人員做分析用。 系統應該可以 方便的進行測試, 以此保證維護的高效。
    6.可靠性。 系統應該做到在運行期間保持穩定, 一個月內崩潰次數不超 過1次, 每次崩潰可在10秒內恢復。
    33
     
    3.3 系統概要設計
    3.3.1 系統架構設計
    智慧交通信息管理系統的總體架構圖如圖3.6所示。最底層是數據采集層, 需要利用各個交通卡口處的智能監控設備進行交通數據采集, 然后利用網絡層 將采集到的交通數據傳至服務器。由于交通數據量過于龐大, 所以智慧交通信 息管理系統同時是一個大數據相關系統, 所以在進行數據采集、 數據存儲、 數 據清洗以及數據處理階段都會涉及到大數據相關組件的使用, 數據采集階段使 用大數據組件Kafka,數據存儲階段使用大數據組件HBase,數據流處理階段使 用大數據組件Storm等等,同時需要通過地圖GPS等接口的使用協助系統完成各 項功能。智慧交通信息管理系統中的應用層有實時監控模塊、 信息查詢模塊、 安全管理模塊、統計分析模塊和權限管理模塊,使用Spring、SpringMVC框架 進行構建。
     
    圖 3.6: 智慧交通信息管理系統總體架構圖
    下面將會從場景視圖、 邏輯視圖、 進程視圖、 開發視圖和物理視圖五個 視圖模型的角度介紹系統的總體設計。其中場景視圖描述的是從用戶角度對 系統的業務場景進行描述, 對應的是系統的用例圖, 前面已經進行了詳細描 述, 在此不再贅述。系統的邏輯視圖主要展示系統中對象模型的設計, 以用 戶視角描述系統提供給用戶的服務, 邏輯視圖如圖3.7所示。系統按照邏輯結
    34
     
    構分為三層,分別是展示層(Presentation)、業務邏輯層(BusinessLogic)和數據 層(DataAccess)。最上層為展示層,是用戶界面的展示,主要包括監控頁面、查 詢頁面、 管理頁面、 分析頁面和權限管理頁面。 中間層為業務邏輯層, 主要包 括監控業務邏輯處理、 查詢業務邏輯處理、 管理業務邏輯處理、 分析業務邏輯 處理和權限管理業務邏輯處理。 最下層為數據層, 主要包括監控數據、 查詢數 據、管理數據、分析數據以及權限管理數據。展示層通過Rest接口和業務邏輯 層進行交互,業務邏輯層和數據層通過HTTP協議進行數據交互。
    System Logical VieW
     
     
    圖 3.7: 智慧交通信息管理系統邏輯視圖
     
     
    圖 3.8: 智慧交通信息管理系統開發視圖
    35
     
    系統的開發視圖主要是以開發人員的視角,描述軟件的模塊組織與管理, 開發視圖如圖3.8所示。系統展示部分包括HTML文件、CSS文件、JavaScript文 件以及I mage資源文件。監控模塊包括視頻監控服務、車輛監控服務以及流量 監控服務;查詢模塊包括車輛違法查詢服務、 駕駛者信息查詢服務以及違法事 實查詢服務等;安全管理模塊包括報警管理服務、 資源管理服務和布控管理 服務;查詢分析模塊包括分析服務和統計展示服務;權限管理模塊包括用戶 管理服務、角色管理服務和部門管理服務。系統通過Kafka集群進行數據采集, HBase集群以及Oracle數據庫存儲數據,并使用Storm集群對數據進行處理。
    系統的物理視圖主要面向運維人員, 描述了系統軟件和硬件的物理關系以 及實際部署情況,物理視圖如圖3.9所示。用戶登錄系統之后,通過Nginx服務 器轉發請求到具體功能的服務器, 同時將數據庫集群化, 保證安全性。
     
    System Physical VieW
    Monitor
     
    圖 3.9: 智慧交通信息管理系統物理視圖
    系統的進程視圖主要面向系統的集成者, 描述系統的相關進程、 線程及其 通信, 進程視圖如圖3.10所示。 用戶在成功登錄系統之后, 可以根據自己的需 求點擊具體的頁面使用相關功能, 系統會根據用戶的操作對數據進行處理, 處 理成功后, 將處理結果保存入數據庫, 并將處理結果返回前端展示頁做數據展 示。
    36
     
     
    圖3.10:智慧交通信息管理系統進程視圖
    3.3.2系統模塊劃分
    系統從功能模塊角度可劃為五個模塊,如圖3.11所示,分別是實時監控模 塊、信息查詢模塊、安全管理模塊、統計分析模塊和權限管理模塊。實時監控 模塊主要是用來查看道路車輛相關信息,包括道路視頻監控、道路車輛監控和 交通流量監控。信息查詢模塊主要用來對車輛以及相關駕駛人員信息進行查詢, 包括車輛違法查詢、車輛類型查詢、駕駛者信息查詢、違法事實查詢、報警查 詢、電子警察查詢和疑似套牌查詢。安全管理模塊主要用來對安全布控以及資 源進行管理,包括安全布控管理、安全報警管理和安全資源管理。統計分析模 塊主要用來對交通數據進行統計分析,包括查詢分析、統計分析。權限管理模 塊主要用來對用戶進行權限管理,包括用戶管理、角色管理和部門管理。
    智慧交通平臺
     
    圖3.11:智慧交通信息管理系統功能模塊結構圖
    37
    3.4 數據庫設計
    本智慧交通信息管理系統使用非關系型數據庫HBase和關系型數據庫O racle, 同時在Kafka消息隊列中也存在表結構設計。由于數據庫設計部分過于繁多復 雜,所以本小節選擇部分Oracle數據庫表進行展示說明。對于非關系型數據庫 中的表以及Kafka中的消息隊列結構不做展示。
    系統中實體類較多, 以車輛信息實體為例, 展示數據庫實體關系圖。 如 圖3.12所示,是車輛信息相關E-R圖。該E-R圖主要涉及四個實體,涉及到的數 據庫表主要包括車輛信息數據庫表、 車輛運行信息數據表、 報警信息數據庫表 和報警數量數據庫表。 同時每個車輛和車輛運行、 報警數量以及報警信息都屬 于一對多關系。
     
     
    圖3.12:車輛信息E-R圖
    表3.16是車輛報警信息數據庫表字段說明, 主鍵為車輛編號、 報警日期和
    報警處理, 具體的字段包括車輛編號、 報警日期、 報警處理和報警地點。
    表 3.16: 車輛報警信息數據庫表
    屬性描述 屬性名稱 類型 是否主鍵
    車輛編號 CarID NUMBER True
    報警日期 AlarmDate Date True
    報警處理 AlarmPro NVARCHAR True
    報警地點 AlarmDes NVARCHAR2 False
     
    38
     
    表3.17是車輛運行信息數據庫表字段說明, 主鍵為車輛編號和開始時間, 具體字段包括車輛編號、 日期、 開始時間、 結束時間、 起始經度、 起始維度、 終止經度、 終止維度、 最大速度、 最小速度和運行距離。
    表 3.17: 車輛運行信息數據庫表
    屬性描述 屬性名稱 類型 是否主鍵
    車輛編號 CarID NUMBER True
    日期 CarDate Date False
    開始時間 StaTime Date True
    結束時間 EndTime Date False
    起始經度 StaLongitude NUMBER False
    起始維度 StaLatitude NUMBER False
    終止經度 EndLongitude NUMBER False
    終止維度 EndLatitud NUMBER False
    最大速度 MaxSpeed NUMBER False
    最小速度 MinSpeed NUMBER False
    運行距離 Distance NUMBER False
     
    表3.18是車輛信息數據庫表字段說明, 主鍵為車輛編號, 具體字段包括車 輛編號、 車牌號碼、 車身顏色、 車輛型號、 車登記地、 車登記人、 車輛類型、 燃料類型、 所屬企業、 道路運輸證號、 車輛識別碼、 始發點、 終止點和備注信 息。
    表 3.18: 車輛信息數據庫表
    屬性描述 屬性名稱 類型 是否主鍵
    車輛編號 CarID NUMBER True
    車牌號碼 CarNO NVARCHAR2 False
    車身顏色 CarColor VARCHAR2 False
    車輛型號 CarModel NUMBER False
    車登記地 CarPlace VARCHAR2 False
    車登記人 CarOwner VARCHAR2 False
    車輛類型 CarType NUMBER False
    燃料類型 FuelType VARCHAR2 False
    所屬企業 CarEnterprise VARCHAR2 False
    道路運輸證號 CarNum NVARCHAR2 False
    車輛識別碼 CarVIN VARCHAR2 False
    始發點 CarOrgin NVARCHAR2 False
    終止點 CarDestination NVARCHAR2 False
    備注信息 CarMemo NVARCHAR2 False
     
    39
    表3.19是車輛報警數量數據庫表字段說明, 主鍵為車輛編號、 報警日期和 報警類型, 具體的字段包括車輛編號、 報警日期、 報警類型、 報警數量和報警 地點。
    表 3.19: 車輛報警數量數據庫表
    屬性描述 屬性名稱 類型 是否主鍵
    車輛編號 CarID NUMBER True
    報警日期 AlarmDate Date True
    報警類型 AlarmType NUMBER True
    報警數量 AlarmCount NUMBER False
    報警地點 AlarmDes NVARCHAR2 False
     
    3.5本章小結
    本章主要介紹了智慧交通信息管理系統的需求和概要設計, 首先介紹了智 慧交通信息管理系統的整體概述, 隨后介紹了智慧交通信息管理系統的需求分 析, 包括功能性需求和非功能性需求, 接下來介紹了智慧交通信息管理系統的 架構設計, 然后介紹了系統的模塊劃分, 包括實時監控模塊、 信息查詢模塊、 安全管理模塊、 統計分析模塊和權限管理模塊, 同時介紹了每個模塊的架構設 計, 對每個功能模塊的用例進行描述, 并通過用例圖以及用例描述進行展示, 最后介紹了系統部分數據庫表設計。
    40
    第四章 智慧交通信息管理系統的詳細設計與實現
    本章將基于第三章的智慧交通信息管理系統的需求分析與概要設計, 介紹 智慧交通信息管理系統各個模塊的詳細設計與具體實現。 具體介紹實時監控模 塊、 信息查詢模塊、 安全管理模塊、 統計分析模塊和權限管理模塊這五大模塊 的類圖和順序圖以及流程圖, 展示各個模塊的核心代碼并對代碼進行說明, 并 使用系統運行界面截圖來具體論證智慧交通信息管理系統的實現。
    4.1實時監控模塊的詳細設計與實現
    4.1.1 實時監控模塊的詳細設計
     
    圖 4.1: 道路視頻監控功能類圖
     
    41
     
    1.道路視頻監控。道路視頻監控功能是對在卡口使用的智能監控設備所 采集的視頻文件進行綜合管理分析的功能。各個卡口智能設備采集到 的交通流量數據利用內部傳輸網絡上傳至數據庫服務器進行存儲管理 以備后續系統對這些數據進行處理分析。道路視頻監控的詳細類圖如 圖4.1所示。VideoMonitorController負責響應Web端的請求并對外提供服 務,它依賴于VideoMonitorService、PlayBackService和FileManageService。 VideoMonitorService負責視頻監控并從中讀取過往車輛的相關信息。 PlayBackService負責視頻的回放,可以對視頻執行暫停、開始、加速等操 作。FileManageService是對視頻文件進行管理,包括視頻文件的遠程下載 和本地下載以及對視頻相關信息的修改等。其中涉及到底層數據庫訪問的 操作依賴于數據訪問層的PositionDAO、PlayBackDAO、FileManageDAO。
    2.道路車輛監控。該功能是利用各卡口智能監控設備拍攝到的視頻以及圖像 信息,利用圖像識別技術,識別車輛車牌號,從而定位到具體的車輛。同 時可根據智能監控設備的位置,可確定車輛所在道路以及車輛行駛方向以 及路過該智能監控設備時的時間數據,地圖視圖功能采用百度地圖API所 提供的坐標、定位等服務,使用百度地圖API所提供的GIS服務時,需要 申請API密匙,從而可以形成一條可描繪的車輛行駛軌跡,實現對特定車 輛行駛信息的監控。道路車輛監控信息查詢的時序圖如圖4.2所示。
    User CarMonitorController CarMonitorService CarMonitorDAO CarMonitorBean
     
     
     
    發送車輛信息杳詢請求
    業務邏輯處理
     
    圖4.2:道路車輛監控信息查詢時序圖
    42
    3.交通流量監控。交通流量監控的功能包括交通流量信息實時監控查看,交 通流量預警和交通流量預測分析。利用卡口的各類感知智能設備可以做到 對流量信息的實時監控和查看;通過設置流量閾值,當交通流量超過閾值 之后,會引發流量預警通知,可以查看報警信息;交通流量預測分析中的 交通車流量預測功能是交通流量監控系統中較為重要的一個功能,可以通 過對歷史一段時間交通流量數據的分析預測接下來一段時間內的交通流 量,同時可以根據對歷史流量的分析,生成流量統計曲線以及各類數據報 表等。關于道路車流量數據采集,將卡口攝像頭等智能設備采集到的車輛 信息錄入Kafka消息系統中,Storm對Kafka有很好的兼容性,我們可以通 過Kafka Spout來從Kafka中獲取數據,同時利用Zookeeper來協助記錄每一 個Consumer的offset,通過Storm來消費Kafka中的消息進行實時分析,并 通過Zookeeper管理Storm對Kafka中的消費記錄,通過定義好的Topology對 信息進行處理分析,在Bolt處理完數據后,通過JedisAPI在程序中將數據 存儲在Redis數據庫中,同時將數據同步到0racle以及HBase數據庫中。車 流量預測功能的流程圖如圖4.3所示。
     
    圖4.3:車流量預測功能流程圖
     
    4.1.2實時監控模塊的實現
    在實時監控模塊中,以交通流量監控中的車流量預測為例,介紹如何實現 車流量預測。車流量預測相關代碼如圖4.4所示,由于篇幅有限,只展示部分 較為核心的代碼。利用DL4j框架提供的LSTM神經網絡實現對車流量預測。首 先PreTrain生成數據迭代器以進行批訓練或者批預測,然后指定模型保存的路
    43
    徑,最后初始化網絡模型的參數,比如輸入的特征列;PrePredict同訓練初始化 一樣, 首先生成預測數據的迭代器, 緊接著, 根據指定的模型路徑, 加載保存 的網絡結構和參數;train中首先定義兩個循環,外循環和內循環。外循環是指 定義訓練的輪數epochs,模型將會在epochs的循環內進行訓練。內循環是指根 據數據迭代器的批數據進行隨機梯度優化。在完成一個epoch的訓練之后,模型 訓練完整個數據集,數據迭代器將會初始化,LSTM模型的狀態也會清除。在 完成設定epochs的訓練計劃之后,將模型的結構與參數保存在指定的路徑中; 最后predict即是車流量預測的業務處理邏輯代碼,通過定義INDArray的arr以 及arr1,得出需要預測的時間長度,并通過flowList得出所需要預測的車流量結 果。
    public void PreTrain(String inoutCross, String road) {
    iterator = new VehicleFlowIterator(inoutCross, road, miniBatch, defaultLength, predictLength);
    netWork = Lstm.buildLstmNetworks(iterator.input(), iterator.total()); netWork.setListeners(new ScoreIterationListener(Iteration));
    }
    public void PrePredict(String inoutCross, String road){
    iterator = new VehicleFlowIterator(inoutCross, road, defaultLength, predictLength); netWork = ModelSerializer.restoreMultiLayerNetwork(Path);
    }
    public void train(){
    for (int n = 0; n < epochs; n++) {
    while (iterator.hasNext()) { netWork.fit(iterator.next());
    }
    iterator.reset(); netWork.rnnClearPreviousState();
    }
    ModelSerializer.writeModel(netWork, Path);
    }
    public void predict() {
    List<Flow> flowList = iterator.getPredictFlowList();
    List<Pair<INDArray, INDArray>> predictFlow = iterator.getPredict(); INDArray arr = netWork.rnnTimeStep(predictFlow.get(0).getKey());
    INDArray arr1 = arr.getColumn(defaultLength - predictLength); double[] predicts = new double[arr1.length()];
    List<Flow> flows = new ArrayList<>();
    for (int n = 0; n < arr1.length(); n++) {
    predicts[n] = arr1.getDouble(n) * (maximun - minimun) + minimun;
    Flow flow = flowList.get(n); flow.result(predicts[n]);
    flows.add(flow);
    }
    }
    圖 4.4: 車流量預測相關代碼
    44
     
    4.2信息查詢模塊的詳細設計與實現
    4.2.1 信息查詢模塊的詳細設計
    V
    IllegalCarService
    《interface》
    IllegalCarDAO
     
    -IllegalCarDAO
    +addIllegalCar() +delIllegalCar()
    +queryIllegalCar() +showIllegalCar()
    圖 4.5: 車輛違法查詢功能類圖
    1.車輛違法查詢。 車輛違法查詢主要是利用智能監控設備所獲取的視頻 以及圖像信息, 對車輛違法事實進行管理, 查看車輛是否違法以及對 車輛違法事實進行定義, 判斷車輛是違反了哪項交通法規。 車輛違法查 詢功能類圖如圖4.5所示。IllegalCarController負責接受Web端請求并對外 提供服務,它繼承于Action,同時依賴于業務邏輯層的IllegalCarService。 IllegalCarService負責對違法車輛進行管理,包括違法車輛的添加、修 改、 刪除和查詢。 同時涉及到數據庫的訪問需要依賴于數據訪問層 的 IllegalCarDA0, 它 是 由 IllegalCarDA0Impl 來 實 現 的, 由 IllegalCarBean 實體對象通過映射文件完成對數據庫的操作。
    2.駕駛者信息查詢。 駕駛者信息查詢功能主要是利用智能監控設備所采集的 視頻以及圖像信息, 利用圖像對比技術, 提取車牌號以及可被識別的駕駛 者照片, 查詢車輛所屬車主以及駕駛者信息, 需要使用相關部門提供的接 口, 用來對車輛駕駛者信息進行確認, 包括對駕駛者信息的添加、 修改和 刪除。
    45
    3.違法事實查詢。違法事實查詢功能是利用智能監控設備采集到的視頻以及 圖像信息,對車輛的違法事實進行查詢和管理。具體來說可以根據違法事 實、違法地點、違法時間和違法車輛車牌號等得到違法車輛的具體信息, 同時根據具體的違法信息,以違法事實為依據,可以發布對車輛的具體處 罰信息,可供駕駛者進行查詢并執行處罰。違法事實查詢功能的時序圖如 圖4.6所示。
    User IllegalFactController IllegalFactService IllegalFactDAO IllegalFactBean
    輸入車輛違法事實信息1 判斷信息的合法性
     
    發送違法事實查詢請求
     
     
    發送違法事實查詢請求
     
     
    :逬行數據庫查詢
    返回查詢結果
    返回查詢結果
    返回查詢結果
    處理查詢結果
    圖4.6:違法事實查詢功能時序圖
    4.電子警察查詢。電子警察查詢功能是利用分布在各個路口等的電子警察設 備將其記錄的各種車輛違法信息進行查詢,并可對相關信息進行添加、修 改和刪除。
    5.車輛類型查詢。車輛類型查詢功能主要是利用智能監控設備所采集的視頻 以及圖像信息,利用圖像對比的技術,識別車輛的類型,包括對車輛類型 的添加、修改和刪除。
    6.報警查詢。報警查詢功能是通過對指定車輛的案底查詢,判斷指定車輛過
    46 去所存在的違法事實,對車輛風險等進行判定,可以進行報警信息的添 力加修改和刪除。
    7.疑似套牌查詢。疑似套牌查詢功能是利用智能監控設采集到的視頻以及 圖像信息,得到車輛車牌號以及所在道路行駛的時間區間,對車牌出現地 點以及車牌出現時間進行分析,如果同一車牌號在無法在確定時間內到 達某地理區域或者同一車牌號同時出現在不同區域,則可判定為車輛套 牌。可以對車輛套牌信息進行查詢,并可對套牌信息進行添加、修改和刪 除。當確定車輛出現套牌行為,發布報警信息,同時可以根據具體情況對 套牌車輛實施布控管理,并發送給執法人員進行就近處理,執法人員處理 過后可通過系統錄入指定車輛的處罰信息。疑似套牌查詢功能的流程圖如 圖4.7所示。
     
     
    圖4.7:疑似套牌查詢功能流程圖
    4.2.2信息查詢模塊的實現
    疑似套牌管理相關代碼如圖4.8所示。這里涉及到的是Storm端的部分代碼 處理,Storm中的數據結構類型為Tuple,Tuple類似于列表,其中存儲的每個元 素叫做field,可以是任何類型的數據。一個Tuple就代表數據流中的一個基本處
    47
    public void susp ectedDeck(TupleWindow inputTuple) {
    List<Tuple> newInput = inputTuple.getNew();
    List<Tuple> tuples = inputTuple.get();
    Map<String, String> CarMap = new HashMap<String, String>();
    for (Tuple tuple : newInput) {
    carNum = tuple.getStringByField("carNum");
    for (Tuple newTuple : tuples) {
    newCarNum = newTuple.getStringByField("carNum");
    if (carNum != null && newCarNum != null && carNum.equals(newCarNum)) {
    time = tuple.getStringByField("time"); firstBayonet = tuple.getStringByField("bayonet"); newTime = newTuple.getStringByField("time");
    secondBayonet = newTuple.getStringByField("bayonet"); if(time.equals(newTime)&&(firstBayonet.equals(secondBayonet))) { continue;
    }
    double distance = Distance(firstLatitude, firstLongitude, secondLatitude, secondLongitude);
    if ((Change < inputTime) && distance > defaultDistance) { CarMap.put(carNum, secondBayonet + "," + firstBayonet + "," + newTime + "," + time);
    }
    }
    }
    }
    }
    圖 4.8: 疑似套牌管理相關代碼
    理單元。由于在Storm組件中傳遞的Tuple字段名稱已經定義完成,所以可以直 接把Tuple中的值按序存放到各個value中即可,Tuple本身即是一個Key-Value的 鍵值對組合。由圖中疑似套牌管理代碼可知,通過TupleWindow參數傳入車輛 數據,首先聲明兩個List對不同車輛信息進行記錄,通過車輛所在的經度和緯 度計算車輛的距離差distance,通過時間time來獲取車輛出現在兩個地理區域的 時間差,聲明有關疑似套牌車的HashMap后,首先通過判斷車輛信息是否相同, 防止出現自己進行比較的情況出現, 比較兩輛車出現的時間差和距離差, 如果 同一車輛無法在確定時間內到達某經緯坐標顯示的位置或者同一車輛同時出現 在不同的經緯坐標下, 通過車輛時間和距離的同時比較, 以五分鐘之內超過25 公里為標準來判定是否屬于套牌車,并把最終的套牌車輛信息存儲到CarMap 中。
    如圖4.9所示, 是疑似套牌管理界面截圖, 展示的是對套牌車的對比管理。
    48
     
     
    真實車輛基本信息
     
     
    車輛編號 2? 車牌號碼 ".11
    車輛型號 ?III ■■ 車身顏色 "II
    車輛類型 ■ 1 ■ ■ ■ 所屬企業 .Bai
    車輛品牌 翻■ ■ ■ ■ 車登記人 ■ ■ ■
    圖 4.9: 疑似套牌管理界面
     
    4.3安全管理模塊的詳細設計與實現
    4.3.1 安全管理模塊的詳細設計
     
    圖 4.10: 布控類型管理功能類圖
     
    1.安全布控管理。 安全布控管理功能為了方便交通布控的管理工作, 協 助公安部門工作, 針對不同的交通事件類型建立不同的布控事件類 型, 便于對布控事件的分類管理, 做到不同事件的準確定位。 布控 類型管理功能類如圖4.10所示。ControlTypeController負責處理前端請 求并返回處理結果,它繼承于Action,同時依賴于ControlTypeService, ControlTypeService負責布控類型的添加、修改、刪除以及布控信息的查 詢,并通過ControlTypeDAOImpl實現ControlTypeDAO從而可以對數據庫進 行操作,由ControlTypeBean實體對象通過映射文件完成對數據庫的操作。
    49
    2.安全資源管理。 安全資源管理是對智能監控設備的管理, 具體包括資 源信息管理、 資源維修管理和資源回收管理。 安全資源管理功能類圖如 圖4.11所示。ResourceManageController負責處理前端請求并提供服務,它 依賴于InfoManageService、MaintainManageService和RecycleManageService。 InfoManageService負責各種智能監控設備詳細信息的添加、修改和刪除 以及設備信息管理的查詢。MaintainManageService主要是對智能監控設 備維修信息的維護, 包括維修信息的添加、 修改和刪除以及維修信息 的查詢。RecycleManageService主要是針對已經毀壞或者不可維修的智 能監控設備的信息的維護, 包括回收信息的添加、 修改和刪除以及 回收設備信息的查詢。同時需要依賴于數據訪問層的InfoManageDAO、 MaintainManageDAO和RecycleManageDAO完成對數據庫的訪問等相關操 作。
     
    圖 4.11: 安全資源管理功能類圖
     
    3.安全報警管理。 安全報警管理功能是針對在交通活動過程中會產生的大量
    50
     
    的報警信息進行管理。當出現目標報警車輛后,系統會根據布控系統發出 報警信息,首先向系統提交報警相關信息,包括報警信息的添加、修改和 刪除,并對目標報警車輛和軌跡進行跟蹤,同時利用布控系統向報警地點 周圍的執法人員提交報警信息,并持續向周邊執法人員發送目標報警車 輛跟蹤信息,便于執法人員充分掌握車輛軌跡,并快速開展行動,執法人 員在進一步了解事實之后也可進行反饋并對報警信息進行添加、修改和 刪除。同時報警信息可供監控人員等進行查看,同時也可查看歷史報警信 息。安全報警管理中添加和修改報警信息功能的時序圖如圖4.12所示。
     
     
     
    展示違法查詢結果
     
    發送修改報腎息操作
    發送修改報齢息操作
     
     
     
    返回報餐信息修改結果
    返回報齢息修改結果
    返回報警信息修改結果
    圖4.12:添加和修改報警信息功能時序圖
    51
    4.3.2 安全管理模塊的實現
    public class UserResourceController {
    @Autowired
    private UserResourceService resourceService;
    @ApiOperation(" 添加資源 ")
    @RequestMapping(value = "/create", method = RequestMethod.POST) @ResponseBody
    public CommonRes create(@RequestBody UserResource userResource) { int amount = resourceService.create(userResource);
    if (amount > 0) {
    return CommonRes.success(amount);
    } else {
    return CommonRes.failed();
    }
    }
    @ApiOperation(" 修改資源 ")
    @RequestMapping(value = "/update/{id}", method = RequestMethod.POST) @ResponseBody
    public CommonRes update(@PathVariable Long id,
    @RequestBody UserResource userResource) { int amount = resourceService.update(id, userResource);
    if (amount > 0) {
    return CommonRes.success(amount);
    } else {
    return CommonRes.failed();
    }
    }
    @ApiOperation(" 刪除資源 ")
    @RequestMapping(value = "/delete/{id}", method = RequestMethod.POST) @ResponseBody
    public CommonRes delete(@PathVariable Long id) {
    int amount = resourceService.delete(id);
    if (amount > 0) {
    return CommonRes.success(amount);
    } else {
    return CommonRes.failed();
    }
    }
    }
    圖 4.13: 后臺資源管理相關代碼
    后臺資源管理相關代碼如圖4.13所示。 在圖中的方法中存在四個注解, @Autowired注解可以對類的成員變量、方法及構造函數等標注,進行自動裝 配,通過使用@Autowired可以消除類中的get和set方法。@ApiOperation注解不 是Spring自帶,是由Swagger提供的,用于構建API文檔。@RequestMapping注 解用來映射請求,可以通:S@RequestMapping注來指定Controller可以處理哪 些URL請求。@ResponseBody注解是將java對象轉為json格式的數據,之后直 接寫入HTTP的響應正文中。給出的后臺資源管理Controller層代碼通過調 用resourceService相應的業務邏輯處理方法如create、update、delete并通過調
    52
    用Dao層處理數據庫的代碼來完成后臺資源的添加、刪除和修改,同時如果資 源數量大于零, 則處理成功, 否則處理失敗。
    4.4統計分析模塊的詳細設計與實現
    4.4.1 統計分析模塊的詳細設計
    如圖4.14所示,是統計分析模塊核心類圖。AnalysisController接收Web端請 求并提供服務。AnalysisController依賴于AnalysisService,AnalysisService負責分 析結果展示的添加、修改、刪除和查詢,通過AnalysisServiceImpl實現,同時通 過AnalysisDAO層對數據庫進行操作。
     
     
    圖 4.14: 統計分析模塊核心類圖
    1.查詢分析。 查詢分析功能用來方便相關人員操作, 通過開放一個綜合的查 詢接口, 可以直接通過輸入相關查詢條件, 系統便可以根據輸入條件查詢 數據庫得出查詢結果, 包括根據監控設備所在區域查詢、 疑似套牌查詢、 報警查詢、 區間違法事件查詢和具體交通數據查詢等各類交通事件以及數 據的查詢, 通過該綜合性的查詢接口, 可以快速獲取綜合信息, 便于進行 下一步分析。 具體交通數據查詢功能的流程圖如圖4.15所示。
    2.統計分析。 統計分析功能是用來對各種各樣交通事件做匯總并以圖表的形 式進行展示的功能, 可以直觀地為各類交通決策提供支持, 可以進行統計 展示的包括區間違法事件處理統計展示、 報警統計展示、 疑似套牌統計展 示和違法車輛統計展示等, 用戶可以根據自己的具體需求, 使用不同的方
    53
     
     
    式展示數據統計圖表,同時支持圖表下載導出功能。違法車輛統計展示功 能時序圖如圖4.16所示。
     
    圖4.16:違法車輛統計展示功能時序圖
    4.4.2統計分析模塊的實現
    車輛信息查詢相關代碼如圖4.17所示。其中@RequestParam是SpringMVC中 接收普通參數的注解,用來將請求參數綁定到Controller的方法參數上。在對車
    54
    @ApiOpe「atio n("車輛模糊查詢")
    @RequestMapping(value = "/list", method = RequestMethod.GET) @ResponseBody
    public CommonRes<CommonPage<ca「InfoResou「ce>>
    list(@RequestPa「am(「equi「ed = false) Long catego「yId, @RequestPa「am(「equi「ed = false) St「ing ca「NO, @RequestPa「am(「equi「ed = false) St「ing u「lNum,
    @RequestPa「am(value = "pageSize", defaultValue = "5") Intege「 pageSize, @RequestPa「am(value = "pageNum", defaultValue = "1") Intege「 pageNum) { List<ca「InfoResou「ce> ca「InfoList =
    ca「InfoSe「vice.list(catego「yId,ca「NO,u「lNum,pageSize,pageNum);
    「etu「n CommonRes.success(CommonPage.「estPage(ca「InfoList));
    }
    @ApiOpe「atio n("查詢所有車輛信息")
    @RequestMapping(value = "/listAll", method = RequestMethod.GET) @ResponseBody
    public CommonRes<List<ca「InfoResou「ce>> listAll() {
    List<ca「InfoResou「ce> ca「InfoList = ca「InfoSe「vice.listAll();
    「etu「n CommonRes.success(ca「InfoList);
    }
    圖 4.17: 車 輛 信 息 查 詢 相 關 代 碼
    輛信息模糊查詢的Controller代碼中,通過傳入車輛信息中的categoryld、carNO、 urlNum等相關參數,在carInfoService中做邏輯處理,在數據庫中獲取所有符合 查詢條件的車輛信息,并返回視圖層進行展示,同時可以通過配置PageSize、 PageNum等參數,對查詢到的車輛信息做分頁處理,進行分頁展示,方便用戶 進行瀏覽。同時可以使用listAl 1方法通過carInfoService查詢所有車輛信息,并在 前端進行展示。
    如圖4.18所示, 是對卡口的車流量統計展示。
     
     
    圖 4.18: 車流量統計展示
    55
    4.5權限管理模塊的詳細設計與實現
    4.5.1 權限管理模塊的詳細設計
    如圖4.19所示,是權限管理模塊核心類圖。模塊主要包括三個Controller, 分別是LoginController、AuthorityController和RoleController,均繼承自 Action, LoginController依賴于LoginService,負責管理用戶的登錄以及連接等,包括用 戶信息的增刪改查操作。AuthorityController依賴于AuthorityService,負責用戶 的權限管理。RoleController依賴于RoleService,負責用戶的角色管理。
     
     
    圖 4.19: 權限管理模塊核心類圖
    1.用戶管理。 用戶管理功能主要是對系統后臺用戶進行管理的功能, 包括用 戶的基本信息管理、 用戶狀態管理等。 用戶的基本信息管理具體為用戶 的姓名、 聯系方式和工作崗位等信息的添加、 修改和刪除以及用戶信息 的查詢;用戶狀態管理主要是用戶狀態啟用、 停用和禁用等信息的添加、
    56 修改和刪除以及用戶狀態的查詢等內容。用戶信息添加功能的流程圖如 圖4.20所示。
     
     
    圖4.20:用戶信息添加功能流程圖
    2.角色管理。角色管理是針對不同功能點的授權管理,首先根據智慧交通信 息管理系統平臺的功能點設置進行系統功能點的細分,然后針對不同用戶 的角色進行不同功能點的授權,更加個性化的對系統權限進行管理,包括 對具體用戶功能權限的添加、刪除和修改以及角色權限的查詢。
    3.部門管理。部門管理功能是針對把相同角色的用戶抽象而來的用戶組,主 要是對用戶組的管理包括用戶組信息管理和用戶組狀態管理。用戶組信息 管理包括用戶組信息的添加、修改和刪除以及用戶組信息的查詢;用戶組 狀態管理包括用戶組狀態的啟用、停用和禁用等信息的添加、修改和刪除 以及用戶組狀態信息的查詢等內容。
    4.5.2權限管理模塊的實現
    以用戶權限管理部分實現為例,用戶權限管理部分代碼如圖4.21所示, 展示的是系統管理員對用戶權限的管理的Controller層代碼,其中的注解在 上面的部分代碼展示中都已解釋過,在此不再重復介紹。系統管理員可以 通過authorityService的業務邏輯處理中的create、update、delete方法通過DAO層
    57
    public class UserAuthorityController {
    @Autowired
    private UserAuthorityService authorityService;
    @ApiOperation("添力□用戶權限')
    @RequestMapping(value = "/create", method = RequestMethod.POST) @ResponseBody
    public CommonRes create(@RequestBody UserAuthority authority) { int amount = authorityService.create(authority);
    if(amount>0){
    return CommonRes.success(amount);
    }
    return CommonRes.failed();
    }
    @ApiOperation("修改用戶權限')
    @RequestMapping(value = "/update/{id}", method = RequestMethod.POST) @ResponseBody
    public CommonRes update(@PathVariable Long id, @RequestBody UserAuthority authority) { int amount = authorityService.update(id,authority);
    if(amount>0){
    return CommonRes.success(amount);
    }
    return CommonRes.failed();
    }
    @ApiOperation("根據用戶信息id批量刪除權限")
    @RequestMapping(value = "/delete", method = RequestMethod.POST) @ResponseBody
    public CommonRes delete(@RequestParam("ids") List<Long> ids) {
    int amount = authorityService.delete(ids); if(amount>0){
    return CommonRes.success(amount);
    }
    return CommonRes.failed();
    }
    @ApiOperation("獲取所有的權限列表")
    @RequestMapping(value = "/list", method = RequestMethod.GET) @ResponseBody
    public CommonRes<List<UserAuthority>> list() {
    List<UserAuthority> authorityList = authorityService.list(); return CommonRes.success(authorityList);
    }
    }
    圖 4.21: 后臺用戶權限管理相關代碼
    對數據庫的操作實現對用戶信息進行添加、修改并根據用戶id進行批量刪除 操作, 如果用戶存在, 則返回刪除成功;如果用戶不存在, 則刪除失敗, 返 回fail。同時可以通過authorityService的業務邏輯處理,經過DAO層處理,從數 據庫根據查詢條件獲取查詢內容,并返回視圖層展示查詢列表,例如通過list方 法,調用authorityList業務邏輯處理list方法,查詢獲取所有的權限列表。其中注 解 @RequestMapping 中的 RequestMethod.GET 和 RequestMethod.POST 具有不同的 訪問結果。如果將一個method定義成RequestMethod.GET時,可以直接通過地址 訪問,這非常方便我們在開發的時候調用接口并進行測試,如果將其method更 改為RequestMethod.POST時,會發現接口在地址欄無法訪問,只有向服務器發
    58 起一個POST請求時才起作用。
    4.6本章小結
    本章主要介紹了智慧交通信息管理系統各個模塊的詳細設計與具體實現。 具體介紹了實時監控模塊、 信息查詢模塊、 安全管理模塊、 統計分析模塊和權 限管理模塊這五大模塊的類圖和順序圖以及流程圖, 然后展示了各個模塊的核 心代碼并對代碼進行了說明, 并通過部分系統截圖展示了系統的具體實現。
    59
    第五章 智慧交通信息管理系統的測試
    本章將對智慧交通信息管理系統進行功能性測試和非功能性測試。 功能性 測試主要針對第三章中智慧交通信息管理系統需求分析與概要設計中的用例進 行測試, 非功能性測試主要是服務器響應能力以及數據處理能力。 通過對智慧 交通信息管理系統進行功能性和非功能性的測試, 看系統是否能夠達到預期目 標, 可以及時發現系統的不足, 對系統進行修改以提高系統的質量, 提高用戶 對系統的滿意程度。
    5.1 系統測試環境
    本智慧交通信息管理系統已經完成了實現階段的工作即已經完成前端與后 端代碼的編寫, 已可作能夠運行使用的系統, 此時為了確保系統能夠滿足符合 預期需求, 達到預期目標, 必須要對系統開展測試工作 [40]。 系統測試之前需 要首先明確系統測試的環境, 這樣可以確保系統測試的準確性與可靠性。 本智 慧交通信息管理系統測試前所確定的系統測試環境如表5.1所示。
    表 5.1: 測試環境
    服務 配置環境
    服務器 阿里云服務器,4核16GB內存
    數據庫 阿里云服務器,2核4GB內存
    瀏覽器 谷歌瀏覽器、IE瀏覽器
    操作系統 CentOS7.4
    監控設備 各類智能監控設備
    機房網絡 全光纖組網,服務器配置千兆網卡
     
    5.2 系統功能測試
    功能測試是最基本的測試方法, 也是最重要的測試方法[41]。 軟件測試通 常使用白盒測試和黑盒測試兩種方法。 白盒測試關注于應用程序的內部結構和 算法, 主要用于程序驗證。 黑盒測試基于用戶的角度, 關注程序的外部結構, 直接測試系統的輸入和輸出, 而不考慮程序內部實現的邏輯結構和處理過程, 依據軟件說明書來檢查是否符合預期的功能要求, 主要測試接口和軟件功能 [42]。 本小節根據第三章中的需求分析得出的系統的功能來設計測試用例, 測
    60 試時將會使用黑盒測試方法, 并選取部分智慧交通信息管理系統測試用例對系 統功能測試情況進行展示說明, 并對測試結果進行匯總分析。
    5.2.1 測試設計
    如表5.2所示, 展示的是用戶信息管理測試用例設計, 主要測試用戶信息管 理功能是否完善, 重點考察系統管理員對用戶信息管理的增刪改查操作。
    表 5.2: 用戶信息管理測試用例
    測試用例 TC1
    測試名稱 用戶信息管理
    測試功能 系統管理員可以對用戶信息進行管理,包括用戶信息的增刪改查。
    測試步驟 1.點擊用戶信息管理按鈕;
    2.選擇添加用戶基本信息;
    3.選擇查看某個用戶基本信息;
    4.選擇修改某個用戶基本信息;
    5.選擇刪除某個用戶基本信息。
    預期結果 1.顯示用戶信息管理列表;
    2.顯示用戶信息添加界面, 確認后返回用戶信息管理列表;
    3.顯示用戶基本信息界面, 確認后返回用戶信息管理列表;
    4.顯示用戶基本信息修改界面, 確認后返回用戶信息管理列表;
    5.顯示是否確認刪除, 確認后返回用戶信息管理列表。
     
    如表5.3所示, 展示的是視頻文件管理的測試用例設計, 測試的主要目的是 查看視頻文件管理功能是否完善, 重點考察操作人員對視頻文件管理的增刪改 查操作。
    表 5.3: 視頻文件管理測試用例
    測試用例 TC2
    測試名稱 視頻文件管理
    測試功能 操作人員可以對視頻文件進行管理,包括視頻文件的增刪改查。
    測試步驟 1.顯示視頻文件管理列表;
    2.選擇添加視頻文件;
    3.選擇刪除某個視頻文件, 并確認刪除;
    4.選擇修改某個視頻文件的備注信息等;
    5.選擇查看某個視頻文件。
    預期結果 1.顯示視頻文件管理列表;
    2.顯示添加視頻文件的對話框, 添加成功后顯示添加成功;
    3.顯示是否確認刪除, 刪除成功后返回視頻文件管理列表;
    4.顯示修改視頻文件信息的對話框, 修改成功后顯示修改成功;
    5.顯示需要查看的視頻文件。
     
    61
     
    如表5.4所示, 展示的是車輛違法事實管理的測試用例設計, 測試的主要目 的是查看車輛違法事實管理功能是否完善, 重點測試操作人員對車輛違法事實 的增刪改查操作。
    表5.4: 車輛違法事實管理測試用例
    測試用例 TC3
    測試名稱 車輛違法事實管理
    測試功能 操作人員可以對車輛違法事實進行管理,包括違法事實的增刪改查。
    測試步驟 1.點擊車輛違法事實管理按鈕;
    2.選擇添加車輛違法事實;
    3.選擇刪除某個車輛違法事實, 并確認刪除;
    4.選擇修改某個車輛違法事實信息;
    5.選擇查看某個車輛違法事實信息。
    預期結果 1.顯示車輛違法事實管理列表;
    2.顯示添加車輛違法事實的對話框, 添加成功后顯示添加成功;
    3.顯示是否確認刪除, 刪除成功后返回車輛違法事實管理列表;
    4.顯示修改車輛違法事實信息的對話框, 修改成功后顯示修改成功;
    5.顯示需要查看的車輛違法事實界面。
     
    如表5.5所示, 展示的是駕駛者信息管理的測試用例設計, 測試的主要目的 是查看駕駛者信息管理功能是否完善, 重點考察操作人員對駕駛者信息管理的 增刪改查操作。
    表5.5: 駕駛者信息管理測試用例
    測試用例 TC4
    測試名稱 駕駛者信息管理
    測試功能 操作人員可以對駕駛者信息進行管理,包括駕駛者信息的增刪改查。
    測試步驟 1.點擊駕駛者信息管理按鈕;
    2.選擇添加駕駛者信息;
    3.選擇刪除某個駕駛者信息, 并選擇確認刪除;
    4.選擇修改某個駕駛者信息;
    5.選擇查看某個駕駛者信息;
    6.選擇查看車輛與駕駛者所屬關系。
    預期結果 1.顯示駕駛者信息管理列表;
    2.顯示添加駕駛者信息的對話框, 添加成功后顯示添加成功;
    3.顯示是否確認刪除, 刪除成功后返回駕駛者信息管理列表;
    4.顯示修改駕駛者信息的對話框, 修改成功后顯示修改成功;
    5.顯示需要查看的駕駛者信息界面;
    6.顯示車輛與駕駛者所屬關系的對話框。
     
    62
     
    如表5.6所示, 展示的是電子警察信息管理的測試用例設計, 測試的主要目 的是查看電子警察信息管理功能是否完善, 重點考察操作人員對電子警察信息 管理的增刪改查操作。
    表 5.6: 電子警察信息管理測試用例
    測試用例 TC5
    測試名稱 電子警察信息管理
    測試功能 操作人員可以對電子警察信息進行管理,包括電子警察信息的增刪改查。
    測試步驟 1.點擊電子警察信息管理按鈕;
    2.選擇電子警察所在區域;
    3.選擇添加電子警察信息;
    4.選擇刪除某個電子警察信息, 并選擇確認刪除;
    5.選擇修改某個電子警察信息并查看修改后的信息。
    預期結果 1.顯示電子警察信息管理列表;
    2.顯示電子警察區域列表;
    3.顯示添加電子警察信息的對話框, 添加成功后顯示添加成功;
    4.顯示是否確認刪除, 刪除成功后返回電子警察區域列表;
    5.顯示修改電子警察信息的對話框, 并可以訪問到修改后的數據。
     
    如表5.7所示, 展示的是布控信息管理的測試用例設計, 測試的主要目的是 查看布控信息管理功能是否完善, 重點考察操作人員對布控信息管理的增刪改 查操作。
    表 5.7: 布控信息管理測試用例
    測試用例 TC6
    測試名稱 布控信息管理
    測試功能 操作人員可以對布控信息進行管理,包括布控信息的增刪改查。
    測試步驟 1.點擊布控信息管理按鈕;
    2.選擇添加布控信息;
    3.選擇刪除某個布控信息, 并選擇確認刪除;
    4.選擇修改某個布控信息;
    5.選擇查看某個布控信息。
    預期結果 1.顯示布控信息管理列表;
    2.顯示添加布控信息的對話框, 添加成功后顯示添加成功;
    3.顯示是否確認刪除, 刪除成功后返回布控信息管理列表;
    4.顯示修改布控信息的對話框, 修改成功后顯示修改成功;
    5.顯示需要查看的布控信息界面。
     
    如表5.8所示, 展示的是報警信息管理的測試用例設計, 測試的主要目的是
    63
     
    查看報警信息管理功能是否完善, 重點考察操作人員對報警信息管理的增刪改 查操作。
    表5.8: 報警信息管理測試用例
    測試用例 TC7
    測試名稱 報警信息管理
    測試功能 操作人員可以對報警信息進行管理,包括報警信息的增刪改查。
    測試步驟 1.點擊報警信息管理按鈕;
    2.選擇生成報警信息按鈕, 并選擇確認;
    3.選擇修改某個報警信息;
    4.選擇修改某個歷史報警信息;
    5.選擇刪除某個報警信息。
    預期結果 1.顯示報警信息管理列表;
    2.顯示報警信息區域界面, 成功確認之后返回生成報警信息界面;
    3.顯示修改報警信息的對話框, 修改成功后顯示修改成功;
    4.顯示需要查看的報警信息界面;
    5.顯示是否確認刪除, 刪除成功后返回報警信息管理列表界面。
     
    如表5.9所示, 展示的是設備資源信息管理的測試用例設計, 測試的主要目 的是查看設備資源信息管理功能是否完善, 重點考察操作人員對設備資源信息 管理的增刪改查操作。
    表5.9: 資源信息管理測試用例
    測試用例 TC8
    測試名稱 資源信息管理
    測試功能 操作人員可以對資源信息進行管理,包括資源信息的增刪改查。
    測試步驟 1.點擊資源信息管理按鈕;
    2.選擇添加資源信息;
    3.選擇刪除某個資源信息, 并選擇確認刪除;
    4.選擇修改某個資源信息;
    5.選擇查看某個資源信息。
    預期結果 1.顯示資源信息管理列表;
    2.顯示添加資源信息的對話框, 添加成功后顯示添加成功;
    3.顯示是否確認刪除, 刪除成功后返回資源信息管理列表;
    4.顯示修改資源信息的對話框, 修改成功后顯示修改成功;
    5.顯示需要查看的資源信息界面。
     
    如表5.10所示, 展示的是交通綜合分析的測試用例設計, 重點考察查詢過
    64
     
    程中系統與數據庫連接的穩定性。
    表 5.10: 交通綜合分析管理測試用例
    測試用例 TC9
    測試名稱 交通綜合分析管理
    測試功能 操作人員可以對各類交通數據信息進行查詢。
    測試步驟 1.點擊交通綜合分析按鈕;
    2.點擊區域查詢按鈕;
    3.點擊疑似套牌查詢按鈕;
    4.點擊報警查詢按鈕;
    5.點擊交通車流量數據查詢按鈕;
    6.點擊區域違法事件查詢按鈕。
    預期結果 1.顯示交通綜合分析管理列表;
    2.顯示區域查詢界面, 查詢成功后返回管理列表;
    3.顯示疑似套牌查詢界面, 查詢成功后返回管理列表;
    4.顯示報警查詢界面, 查詢成功后返回管理列表;
    5.顯示交通車流量數據查詢界面, 查詢成功后返回管理列表;
    6.顯示區域違法事件管理界面, 查詢成功后返回管理列表。
     
    如表5.11所示, 展示的是交通統計分析的測試用例設計, 重點考察顯示界 面的完整性和可交互性。
    表 5.11: 交通統計分析管理測試用例
    測試用例 TC10
    測試名稱 交通統計分析管理
    測試功能 操作人員可以對各類交通數據信息進行統計展示
    測試步驟 1.點擊交通統計分析按鈕;
    2.點擊車流量變化展示按鈕;
    3.點擊區域違法事件處理統計展示按鈕;
    4.點擊報警統計展示按鈕;
    5.點擊違法車輛統計展示按鈕。
    預期結果 1.顯示交通統計分析管理列表;
    2.顯示車流量變化展示界面, 確認后返回管理列表;
    3.顯示區域違法事件處理統計展示界面, 確認后返回管理列表;
    4.顯示報警統計展示界面, 確認后返回管理列表;
    5.顯示違法車輛統計展示界面, 確認后返回管理列表。
     
    如表5.12所示, 展示的是用戶權限管理的測試用例設計, 重點考察系統管 理員對用戶權限的增刪改查。
    65
     
    表 5.12: 用戶權限管理的測試用例
    測試用例 TC11
    測試名稱 用戶權限管理的測試用例
    測試功能 系統管理員可以對用戶的權限進行管理,包括用戶權限的增刪改查
    測試步驟 1.點擊用戶權限管理按鈕;
    2.選擇添加用戶權限;
    3.選擇刪除某個權限, 并確認刪除;
    4.選擇修改某個權限;
    5.選擇查看某個權限。
    預期結果 1.顯示用 戶 權限管理列表;
    2.顯示添加用戶權限的對話框, 添加成功后返回管理列表;
    3.顯示是否確認刪除, 確認后返回管理列表;
    4.顯示修改權限信息的對話框, 確認后返回管理列表;
    5.顯示需要查看的權限信息界面。
     
    5.2.2 測試執行
    測試結果如表5.13所示, 測試的時候嚴格的按照測試用例步驟進行測試, 結果表明所有的測試用例均通過了測試, 表明智慧交通信息管理系統的功能達 到了預期的目標。
    表 5.13: 測試用例執行結果
    測試用例ID 測試用例結果
    TC1 通過
    TC2 通過
    TC3 通過
    TC4 通過
    TC5 通過
    TC6 通過
    TC7 通過
    TC8 通過
    TC9 通過
    TC10 通過
    TC11 通過
     
    5.3 系統性能測試
    系統性能測試關注的不是系統所完成的特定功能, 而是在完成該功能時展 現出來的特性。 性能測試范圍較廣, 不僅要考慮軟件本身, 還要考慮到硬件、 操作系統以及各種服務器等, 測試工作量比較大。 本小節將對智慧交通信息管
    66
    理系統進行性能方面的測試, 檢測系統在高并發情況下對請求的響應能力和數 據處理能力是否符合預期目標。 本次的系統性能測試將通過在高并發環境下檢 測各類業務響應時間, 同時記錄不同類型服務器的使用情況。 系統性能測試結 果如表5.14所示。
    表 5.14: 系統性能測試結果
    性能測試點 性能目標 性能測試值 測試結果
    并發用戶數量 1000 1000 Pass
    普通業務響應時間 <2s 1.83s Pass
    查詢業務響應時間 <4s 3.2s Pass
    事務處理成功率 >99.9% 100 Pass
    Web服務器網絡帶寬占有率 <75% 52.3% Pass
    Web服務器cpu平均占有率 <70% 59.6% Pass
    數據庫服務器網絡帶寬占有率 <75% 61.7% Pass
    數據庫服務器cpu平均占有率 <70% 64.7% Pass
    等待時間和響應時間比 <10% 5.5% Pass
     
    5.4 本章小節
    本章主要對智慧交通信息管理系統進行了功能性測試和非功能性測試。 功 能性測試主要是對第三章智慧交通信息管理系統需求分析中的用例進行測試, 經過測試之后, 可判定智慧交通信息管理系統的主要功能都可以通過測試用例, 達到我們對系統的預期目標。 非功能性測試主要考察服務器響應能力以及數據 處理能力, 經過測試判定, 智慧交通信息管理系統滿足我們對服務器響應能力 以及數據處理能力的需求。 綜上, 智慧交通信息管理系統的測試達到預期目 標。
    67
    第六章 總結與展望
    6.1 總結
    智慧交通行業被認為是目前智慧城市細分領域中最具有前景、政策傾斜最 多和項目落地最快的行業。 智慧交通將對傳統交通運行模式和管理模式進行改 革, 通過創建一種泛在、可信和可視的智慧交通體系, 讓交通管理方式以及服 務方式取得革新, 讓人、交通和社會成為一個有機的整體。 所以智慧交通系統 的建設就顯得尤為重要。 所以本智慧交通信息管理系統在開發過程中取得以下 成果:
    1.系統功能方面:本智慧交通信息管理系統完成了實時監控模塊、信息查詢 模塊、安全管理模塊、統計分析模塊和權限管理模塊的開發, 借助安裝在 城市各個位置的智能的交通監控設備, 利用采集到的視頻以及圖像信息, 分析各種交通狀況, 對各種交通事件進行決策, 協助有關部門管理交通, 對交通進行視頻監控、布控管理等。 同時本系統可以進行車流量預測, 可 以對交通進行智能有效的誘導, 可以對緩解交通擁堵以及交通建設提供大 量指導意見。
    2.系統技術方面:本智慧交通信息管理系統使用了Java技術框架對系統做整 體架構,同時使用了大數據相關組件,例如Kafka、Storm和HBase等。系 統中也用到了很多已有的接口例如百度地圖API等,同時還利用了現有交 通數據通過使用機器學習算法建設車流量預測模型, 對車流量進行預測。 為了能更好地對各種智能監控設備進行統一管理, 提高工作效率, 智慧交 通信息管理系統開發過程中還用到了物聯網技術。
    本智慧交通信息管理系統不但可以協助相關人員進行交通管理, 同時對于 使用人員在使用過程中提出的有參考意義的修改意見, 也能夠較為方便快捷地 在本系統內實現修改以及擴展。
    6.2 工作展望
    智慧交通是在智慧城市的總體框架下提出的。 因此其更多的重點放在如何 將交通系統整合到城市的整體發展和建設中, 并在連接、 傳遞和交換城市的各 個要素方面發揮作用。 由于受時間和資源等因素的限制, 當前智慧交通信息管
    68
    理系統仍存在很多不足,有許多需要改進的方面。 可以在日后的使用中根據實 際需求進行調整和修改,系統在擴展方面留下了空間:
    1.目前系統對數據分析方式較為單一,不能很好地分析以及處理相關數據, 后期應該添加更為復雜的數據分析方式,以應對不同的交通事件中的數據 以 及 數 據 類 型 的 變 化。
    2.基于目前的車流量預測模型,由于短時車流量預測具有很強的時效性和隨 機性,所以針對交通數據以及數據類型的不斷變化,嘗試使用不同的算法 或者算法之間的結合,不斷改進車流量預測模型,以得到更準確的預測結 果。
    3.由于智慧交通信息管理系統本身比較龐大,而且會有其他系統通過接口和 本智慧交通信息管理系統進行連接并進行數據上的交互共享,這樣使用系 統時的層層登錄較為繁瑣,后期可改進對系統登錄進行統一管理,實現一 鍵登錄便可使用多系統的各項功能。
    4.物聯網、大數據和云計算等新技術可以更好地整合進智慧交通信息管理系 統中,從而使智慧交通信息管理系統可以像人一樣思考并做出決策,最大 化智慧交通信息管理系統所帶來的便利。
    智慧交通信息管理系統將是未來城市交通發展的亮點,城市就像覆蓋在大 屏幕上的網絡,互聯網上的點和線相應地將城市的街道、十字路口和停車場等 顯示在人們面前。 通過這些電子信息,交通管理人員可以清楚地了解每個路段 的交通狀況,數字化和智能化的城市交通將使人們的生活更加舒適和美好。
    69
    參考文獻
    [1]周曉昌,城市交通擁堵問題研究,價值工程(28) (2014) 96-97.
    [2]劉智勇, 智能交通控制理論及其應用, 科學出版社, 2003.
    [3]孫懷義, 王東強, 劉斌, 智慧交通的體系架構與發展思考, 自動化博覽 (s1) (2011)28-31.
    [4]楊永平,邊顏東,周曉勤,葉霞飛,我國城市軌道交通存在的主要問題及發展 對策,城市軌道交通研究(10) (2013) 6-11.
    [5]錢小鴻, 智慧交通, 清華大學出版社, 2011.
    [6]謝輝, 董德存, 歐冬秀, 基于物聯網的新一代智能交通, 交通科技與經濟 (1) (2011)39-42.
    [7]陳全, 鄧倩妮, 云計算及其關鍵技術, 計算機應用29 (9) (2009) 2562-2567.
    [8]Q. Shi, M. Abdel-Aty, Big data applications in real-time traffic operation and safety monitoring and improvement on urban expressways, Transportation Research Part C: Emerging Technologies 58 (2015) 380-394.
    [9] H. Dong, M. Wu, X. Ding, L. Chu, L. Jia, Y. Qin, X. Zhou, Traffic zone division based on big data from mobile phone base stations, Transportation Research Part C: Emerging Technologies 58 (2015) 278-291.
    [10]趙靜,基于物聯網的智能交通系統設計及應用,通訊世界(23)(2017)22-23.
    [11]王慶濱,鐘榮華,智慧交通與城市發展研究,城市道橋與防洪(6).
    [12]陳琨, 楊建國, 智慧交通的內涵與特征研究,中國交通信息化(9) (2014) 28-30.
    [13]蔡翠,我國智慧交通發展的現狀分析與建議,公路交通科技(應用技術版) (6) (2013) 230-233.
    [14]李建國, 北京智能公交系統規劃與建設, 交通運輸系統工程與信息3 (3) (2003) 28-32.
    70
    [15]張博文,城市智能交通系統當中大數據的應用, 電子技術與軟件工程(16) (2017) 171—171.
    [16]岳建明,我國智能交通產業的發展及技術創新模式探討,中國軟科學9(2012) 188-192.
    [17]L. Figueiredo, I. Jesus, J. T. Machado, J. R. Ferreira, J. M. De Carvalho, Towards the development of intelligent transportation systems, in: ITSC 2001. 2001 IEEE Intelligent Transportation Systems. Proceedings (Cat. No. 01TH8585), IEEE, 2001,pp. 1206-1211.
    [18]張引,陸百川,智能公交系統概述,中國水運(下半月)(3)(2008)125.
    [19]N. Eagle, A. S. Pentland, Eigenbehaviors: identifying structure in routine, Behavioral Ecology and Sociobiology 63 (11) (2009) p.1-1.
    [20]J. Wu, Z. Luo, L. Li, A. Lu, A prediction model based on time series data in intelligent transportation system, Communications in Computer & Information Science392(2013)420-429.
    [21]L. A. Klein, Sensor technologies and data requirements for ITS, 2001.
    [22]陳桂香,國外智能交通系統的發展情況,中國安防(6) (2012) 1 1 1-1 16.
    [23]陽紅,發展我國智能交通系統之我見,現代電子技術(7)(2003)39-43.
    [24]J. Wu, L. Zhong, A new data aggregation model for intelligent transportation system, Advanced Materials Research 671-674 (3) (2013) 2855-2859.
    [25]陸化普,日本智能公共交通系統的開發應用現狀與展望, 國外城市規劃1 (1999)5-8.
    [26]C.-Y. Hsu, C.-S. Yang, L.-C. Yu, C.-F. Lin, H.-H. Yao, D.-Y. Chen, K. R. Lai, P.-C. Chang, Development of a cloud-based service framework for energy conservation in a sustainable intelligent transportation system, International Journal of Production Economics 164 (2015) 454-461.
    [27]J. Kreps, N. Narkhede, J. Rao, et al., Kafka: A distributed messaging system for log processing, in: Proceedings of the NetDB, Vol. 11, 2011, pp. 1-7.
    71
    [28]K. Goodhope, J. Koshy, J. Kreps, N. Narkhede, R. Park, J. Rao, V. Y. Ye, Building linkedin's real-time activity data pipeline., IEEE Data Eng. Bull. 35 (2) (2012) 33-45.
    [29]W. Yang, X. Liu, L. Zhang, L. T. Yang, Big data real-time processing based on s- torm,in: 20 13 12th IEEE International Conference onTrust, Security and Privacy in Computing and Communications, IEEE, 2013, pp. 1784-1787.
    [30]W. Maass, T. Natschiager, H. Markram, Real-time computing without stable states: A new framework for neural computation based on perturbations, Neural computation 14 (11) (2002) 2531-2560.
    [31]M. T. Jones, Process real-time big data with twitter storm, IBM Technical Library.
    [32]李明,王曉鵬,Storm源碼分析,人民郵電出版社,2014.
    [33]F. Chang, J. Dean, S. Ghemawat, W. C. Hsieh, D. A. Wallach, M. Burrows, T. Chandra, A. Fikes, R. E. Gruber, Bigtable: A distributed storage system forstruc- tured data, ACM Transactions on Computer Systems (TOCS) 26 (2) (2008) 1-26.
    [34]李青云,基于hbase的應用平臺的研究與實現,Ph.D. thesis,北京郵電大 學(2015).
    [35]劉曉華,J2EE企業級應用開發,電子工業出版社,2003.
    [36]佟建新,基于spring的輕量級框架的設計與實現,軟件導刊(6) (2003) 34-36.
    [37]C.-H. Lung, S. Bot, K. Kalaichelvan, R. Kazman, An approach to software architecture analysis for evolution and reusability, in: Proceedings of the 1997 conference of the Centre for Advanced Studies on Collaborative research, IBM Press, 1997,p.15.
    [38]李剛,Spring 2.0寶典,電子工業出版社,2006.
    [39]M. Shahbaz, C. Gao, L. Zhai, F. Shahzad, Y. Hu, Investigating the adoption ofbig data analytics in healthcare: the moderating role of resistance to change, Journal ofBigData6(1)(2019)6.
    [40]朱少民,軟件測試方法和技術,清華大學出版社有限公司, 2005.
    72
    [41]李英, 薛嵐, 軟件測試技術之功能測試方法探討與分析, 山東工業技術 (12) (2014)147-147.
    [42]薛沖沖,陳堅,軟件測試研究,計算機系統應用20(2)(2011)240-244.
    【本文地址:http://www.bzhlmm.com//guanlilei/gongshangguanli/xixinguanli/8847.html

    上一篇:基于ArcGIS礦山地質環境信息管理 平臺構建

    下一篇:沒有了

    相關標簽: