陳佳
摘要:交通路況預測是城市管理一大難點,對于提高道路通行率具有重要意義。該文著重對交通路況預測模擬系統的數據庫設計進行了研究,系統分析了用戶需要和基于地圖的路況預測,主要是通過基于不同時段車流量信息數據,實現對路況的預測功能及流量數據可視化的展現。
關鍵詞:交通;系統;數據庫
中圖分類號:TP3 文獻標識碼:A 文章編號:1009-3044(2016)02-0001-02
為了緩解交通壓力,減少城市交通事故率,提升交通相關部門的調度能力,在已經逐步步入交通大數據時代的背景下,運用城市交通路況預測系統來緩解城市交通問題有很大的意義[2]。該系統的設計嚴格遵守軟件工程規范的開發流程,采用JavaEE平臺,以Eclipse為開發軟件,MySQL5.6數據庫為后臺數據庫,Tomcat7.0服務器,使用Servlet和JSP等技術進行編碼實現,并使用JavaScript、JQuery和CSS等技術改善系統前臺界面的交互性。系統最終實現了如路況顯示、流量統計、實時預測、實時調度以及交通流量智能顯示等功能,并且系統代碼采用模塊化設計,對不同功能模塊進行封裝,系統不同業務邏輯間的耦合均依賴于抽象接口,很好地提高了系統代碼的安全性和可復用性。
1 開發環境與項目技術
1.1 本系統開發環境為:Eclipse + Tomcat7.0 + MySQL5.6
Eclipse是一個開放源代碼的、基于Java的可擴展開放平臺,它提供了一個框架和一組服務,方便用于通過插件組件構建開發環境,并且附帶了一個標準的插件集[4]。本系統屬于JavaWeb系統,用Eclipse進行開發可以最優使用所需Web環境,本套系統也可以根據自身的習慣專注于系統的最優實現。其中,Tomcat是由Apache組織支持的一款開源的應用服務器,MySQL是一款開源的關系型數據庫管理軟件,MySQL是本系統開發的最佳數據庫。
1.2 本系統開發技術為:Servlet + JSP +JSTL+ ECharts設計
Servlet是一種服務器端的編程語言,是J2EE中比較關鍵的組成部分, Servlet 本質上是 Java 編程語言中的一個類,它被用來擴展服務器的性能,在服務器上可以通過“請求-響應”編程模型來訪問的應用程序[5]。本系統中利用Servlet開發,體現了Java語言在服務器端的優秀性能,而且現在使用非常廣泛的JSP技術也是基于Servlet的原理,JSP+JavaBeanstalk+Servlet成為實現MVC模式的一種有效的選擇。JSTL是一個開放源代碼的JSP標簽庫,其在應用程序服務器之間提供了標準接口,本系統使用JSTL標簽為了最大程度地提高WEB應用的可移植性,簡化了本系統的開發。ECharts是一款開源、功能強大的用于數據可視化的商業級圖表產品,一個純JavaScript的圖表庫,可以流暢地運行在各類PC終端及移動設備上,兼容當前絕大部分瀏覽器,底層依賴輕量級的Canvas類庫ZRender,提供直觀,生動,可交互,可高度個性化定制的數據可視化圖表。創新的拖拽重計算、數據視圖、值域漫游等特性大大增強了用戶體驗,賦予了用戶對數據進行挖掘、整合的能力[6]。
2 需求分析
本套交通路況預測模擬系統,模擬生成交通實時數據,以交通管理部門的工作人員為使用對象,結合交通部門日常調度工作的流程,實現對交通的實時預測及人員調度。編寫數據模擬生成器,實時生成交通路況數據,并且調用地圖接口顯示,同時將生成的數據保存下來,用于生成道路流量統計圖表,方面工作人員明顯快速的看到歷時道路狀況。同時也根據當前道路情況,進行交通指揮人員的實時調度。
2.1 系統用戶用例圖
用戶作為本系統唯一角色,具有操作系統的一切權限,具體功能如圖1所示:
2.2 功能分析
本系統所實現的是一個路況預測的核心業務,以基于地圖的實現進行展開。主要是通過基于不同時段車流量信息數據,實現對路況的預測功能及流量數據可視化的展現。系統功能分析圖,如圖2所示:
3 數據庫設計
數據庫是信息的存儲庫,供應用程序的其他部分進行管理使用并顯示給用戶。進行數據庫設計時,我們必須先清楚地定義系統目標,這樣可以確保開發工作進展順利、實現良好的工作效率以及數據庫模型完整和準確。以下為本系統的概念結構設計與邏輯結構設計[7]。
3.1 概念結構設計
經系統的功能需求分析可知,主體業務數據表為:用戶信息表、道路信息表、道路通行量數據表、路口通行量數據表、道路路口信息表、交通指揮人員信息表、指揮人員工作狀態表。系統主體業務數據表的E-R圖如圖3所示:
3.2 邏輯結構設計
根據系統的業務需求和最終目標,以及系統數據庫E-R圖,在MySQL數據庫中建立系統主體業務數據表7張,以下是本系統所用到的7張數據表的設計。由于篇幅的限制,在數據庫表的邏輯結構設計部分,我僅僅對系統主體業務數據表的邏輯結構進行闡述。系統主體業務數據表具體結構如表1到表6所示:
此以外,還需要進行詳細功能的設計、預測算法設計等系統詳細設計,當然也需要進行系統功能實現、系統功能測試等具體問題的設計。
參考文獻:
[1] 莊洪波. 智能交通系統中的地圖路況服務研究與實現[D]. 北京: 北京郵電大學碩士學位論文, 2013.
[2] 劉明然. 智能交通系統在交通擁堵治理中的應用分析[C]. 中國智能交通協會,第八屆中國智能交通年會論文集, 2013.
[3] 戎亞萍. 基于路況數據的交通流預測模型及其對比分析[D]. 北京: 北京交通大學碩士學位論文, 2013.
[4] 愈建明. 基于Java語言的套接字編程及多線程服務器編程[J]. 福建電腦, 2008 (12): 161-162.
[5] 佟彤. 基于JSP技術網上書店的設計與實現[D]. 長春: 吉林大學碩士學位論文, 2013.
[6]. 基于Canvas的純JavaScript圖表庫: ECharts[EB/OL]. (2013-07-10). http://www.open-open.com/lib/view/open13734175658 62.html.