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