基于流計(jì)算的交通信號控制系統(tǒng)搭建方法及控制系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于分布式控制領(lǐng)域,尤其設(shè)及基于流計(jì)算的交通信號控制系統(tǒng)搭建方法 及控制系統(tǒng)。
【背景技術(shù)】
[0002] 城市交通系統(tǒng)是一個(gè)天然的復(fù)雜開放巨系統(tǒng),涌現(xiàn)出的交通流具有不確定性、時(shí) 變性、遲滯性等諸多復(fù)雜特性,使交通系統(tǒng)控制研究面臨著巨大挑戰(zhàn)。作為緩解城市交通擁 堵的重要發(fā)展方向之一,區(qū)域交通信號控制旨在利用車輛檢測器感知區(qū)域交通狀況的基礎(chǔ) 上,經(jīng)過區(qū)域交通信號控制算法的一系列計(jì)算、分析和決策,最后主要通過聯(lián)網(wǎng)道路信號機(jī) 改變信號燈運(yùn)行,實(shí)現(xiàn)對區(qū)域交通的干預(yù)和控制。
[0003]自1963年加拿大多倫多市出現(xiàn)了第一套集中協(xié)調(diào)式感應(yīng)控制信號系統(tǒng)W來, 不斷有新的區(qū)域交通信號控制系統(tǒng)被提出并應(yīng)用到實(shí)際交通管理與控制中,如英國的 TRANSYT、SCOOT系統(tǒng),日本的STEAM、KAIMT系統(tǒng),澳大利亞的SCATS系統(tǒng),加拿大的RTOP系 統(tǒng),法國的PR0DYN系統(tǒng),德國的MOTION系統(tǒng),意大利的SP0T/UT0PIA的系統(tǒng),西班牙ITACA、 SANC0 系統(tǒng),美國的RT-TRACS、RE冊DS、0PAC、ACTRA、SIG0P、Quicnet/4、UTCS-3GC系統(tǒng)。其 中,英國的TRANSYT系統(tǒng)、SCOOT系統(tǒng)W及澳大利亞的SCATS系統(tǒng)目前在實(shí)際中使用最為廣 泛,尤其TRANSYT系統(tǒng)更是被世界400多個(gè)城市采用。
[0004] 國內(nèi)對區(qū)域交通信號控制系統(tǒng)的研究起步相對較晚。南京城市交通控制系統(tǒng)(簡 稱NUTC巧是我國自行研發(fā)的第一套實(shí)時(shí)自適應(yīng)城市交通信號控制系統(tǒng),由交通部、公安部 和南京市共同完成的,是"走五"國家重點(diǎn)科技攻關(guān)項(xiàng)目。深圳市有關(guān)部口組織科技力量對 KA?ET系統(tǒng)、SCOOT系統(tǒng)、SCATS系統(tǒng)進(jìn)行了研究分析,在此基礎(chǔ)上自行開發(fā)了適應(yīng)深圳市 交通特征的SMOOTH系統(tǒng)。國內(nèi)廠商和科研單位也搭建了一些區(qū)域交通信號控制系統(tǒng),如青 島海信科技股份有限公司研發(fā)的HiCon系統(tǒng),天津大學(xué)的TICS系統(tǒng),上海交大的SUATS系 統(tǒng),吉林大學(xué)的MACS系統(tǒng),同濟(jì)大學(xué)的TJATCMS系統(tǒng)。
[0005] 區(qū)域交通信號控制系統(tǒng)不僅僅只設(shè)及控制算法,而且還包括內(nèi)在的數(shù)據(jù)通信、處 理等諸多環(huán)節(jié)W及外在豐富的人機(jī)交互,例如包括設(shè)備監(jiān)控、遠(yuǎn)程控制、流量分析等,甚至 需要與其它智能交通子系統(tǒng)進(jìn)行交互,是一個(gè)復(fù)雜、大型的軟件系統(tǒng)。然而,已有的區(qū)域交 通信號控制系統(tǒng)研究大多只聚焦控制算法,忽略了控制系統(tǒng)本身的軟件性能,而且出于商 業(yè)等因素考慮,均較為封閉,往往只能接入廠商自家的信號控制設(shè)備,影響真正的區(qū)域交通 信號控制效果。
【發(fā)明內(nèi)容】
[0006]本發(fā)明提供一種基于流計(jì)算的交通信號控制系統(tǒng)搭建方法及控制系統(tǒng),W實(shí)現(xiàn)具 有低延遲、分布式、高容錯(cuò)和開放式的交通信號控制系統(tǒng)。
[0007]本發(fā)明的第一個(gè)方面是提供一種基于流計(jì)算的交通信號控制系統(tǒng)搭建方法,包 括:
[000引搭建用于接收、緩存和向分布式流計(jì)算系統(tǒng)轉(zhuǎn)發(fā)的由數(shù)據(jù)采集模塊發(fā)送的交通信 號數(shù)據(jù)的數(shù)據(jù)接入模塊的軟件開發(fā)環(huán)境并設(shè)計(jì)數(shù)據(jù)接入模塊;
[0009] 搭建用于接收和處理所述交通信號數(shù)據(jù)的分布式流計(jì)算系統(tǒng)的軟件環(huán)境;
[0010] 設(shè)計(jì)分布式流計(jì)算系統(tǒng)的拓?fù)洌?br>[0011] 根據(jù)所述拓?fù)渖刹⑾蛩龇植际搅饔?jì)算系統(tǒng)的各節(jié)點(diǎn)提交JAR包。
[0012] 本發(fā)明的第二個(gè)方面是提供一種基于流計(jì)算的交通信號控制系統(tǒng),包括:
[0013] 數(shù)據(jù)采集模塊,用于采集并向所述數(shù)據(jù)接入模塊發(fā)送交通信號數(shù)據(jù);
[0014] 數(shù)據(jù)接入模塊,用于接收并向分布式流計(jì)算系統(tǒng)轉(zhuǎn)發(fā)所述交通信號數(shù)據(jù);
[0015] 分布式流計(jì)算系統(tǒng),用于接收和處理所述交通信號數(shù)據(jù)。
[0016] 本發(fā)明的有益效果為:
[0017] 本發(fā)明基于流計(jì)算的交通信號控制系統(tǒng)搭建方法所搭建的交通信號控制系統(tǒng),能 夠替代傳統(tǒng)的區(qū)域交通信號控制系統(tǒng)搭建方法,而且所搭建的系統(tǒng)具有低延遲、分布式、高 容錯(cuò)W及開放式的優(yōu)良特性,具體的,在實(shí)施過程中能夠?qū)崿F(xiàn)在只有兩個(gè)工作節(jié)點(diǎn)的情況 下,最大的延遲不超過2ms,體現(xiàn)出高性能和低延遲的特性;同時(shí),storm框架通過跟蹤和應(yīng) 答機(jī)制來能保證每條數(shù)據(jù)得到處理,即使某個(gè)節(jié)點(diǎn)突然崩潰,也能將數(shù)據(jù)重新發(fā)送給其它 節(jié)點(diǎn)處理,具有很高的容錯(cuò)性。
【附圖說明】
[0018] 圖1為本發(fā)明基于流計(jì)算的交通信號控制系統(tǒng)搭建方法實(shí)施例一的流程圖;
[0019] 圖2為本發(fā)明基于流計(jì)算的交通信號控制系統(tǒng)搭建方法實(shí)施例一中分布式流計(jì) 算系統(tǒng)的架構(gòu)圖;
[0020] 圖3為本發(fā)明基于流計(jì)算的交通信號控制系統(tǒng)搭建方法實(shí)施例一中通過storm UI監(jiān)測得到的系統(tǒng)運(yùn)行圖;
[0021] 圖4為本發(fā)明基于流計(jì)算的交通信號控制系統(tǒng)搭建方法實(shí)施例一中W可視化方 式顯示的拓?fù)渲懈鹘M件的性能圖;
[0022]圖5為本發(fā)明基于流計(jì)算的交通信號控制系統(tǒng)實(shí)施例一的結(jié)構(gòu)框圖。
【具體實(shí)施方式】
[0023] 圖1為本發(fā)明基于流計(jì)算的交通信號控制系統(tǒng)搭建方法實(shí)施例一的結(jié)構(gòu)框圖,如 圖1所示,本發(fā)明基于流計(jì)算的交通信號控制系統(tǒng)搭建方法包括:
[0024] S101、搭建用于接收、緩存和向分布式流計(jì)算系統(tǒng)轉(zhuǎn)發(fā)的由數(shù)據(jù)采集模塊發(fā)送的 交通信號數(shù)據(jù)的數(shù)據(jù)接入模塊的軟件開發(fā)環(huán)境并設(shè)計(jì)數(shù)據(jù)接入模塊;優(yōu)選的,所述搭建用 于接收、緩存和向分布式流計(jì)算系統(tǒng)轉(zhuǎn)發(fā)的由數(shù)據(jù)采集模塊發(fā)送的交通信號數(shù)據(jù)的數(shù)據(jù)接 入模塊的軟件開發(fā)環(huán)境并設(shè)計(jì)數(shù)據(jù)接入模塊包括:
[0025] 搭建用于接收、緩存和向分布式流計(jì)算系統(tǒng)轉(zhuǎn)發(fā)的由數(shù)據(jù)采集模塊發(fā)送的交通信 號數(shù)據(jù)的數(shù)據(jù)接入模塊的開源的軟件開發(fā)環(huán)境KafkaO. 8并設(shè)計(jì)數(shù)據(jù)接入模塊;
[0026] S102、搭建用于接收和處理所述交通信號數(shù)據(jù)的分布式流計(jì)算系統(tǒng)的軟件環(huán)境;
[0027] 優(yōu)選的,分布式流計(jì)算系統(tǒng)基于StormO. 9設(shè)計(jì),該版本Storm能夠跨平臺(tái)、例如 Linux、Windows等運(yùn)行,啟動(dòng)不同的腳本即可切換節(jié)點(diǎn)扮演的角色,甚至一臺(tái)計(jì)算機(jī)可同時(shí) 充當(dāng)主節(jié)點(diǎn)、ZooKe巧er節(jié)點(diǎn)和工作節(jié)點(diǎn);
[002引 S103、設(shè)計(jì)分布式流計(jì)算系統(tǒng)的拓?fù)洌═opology);優(yōu)選的,所述設(shè)計(jì)分布式流計(jì) 算系統(tǒng)的拓?fù)?,包括?br>[0029]S1031、根據(jù)Storm集群設(shè)計(jì)分布式流計(jì)算系統(tǒng)各節(jié)點(diǎn)的分布;所述Storm集群可 W包括主節(jié)點(diǎn)、進(jìn)程協(xié)調(diào)節(jié)點(diǎn)狂ookeeper)和工作節(jié)點(diǎn);
[0030]S1032、根據(jù)Storm拓?fù)湓O(shè)計(jì)分布式流計(jì)算系統(tǒng)的進(jìn)程分量;所述Storm拓?fù)浒?套接字?jǐn)?shù)據(jù)源進(jìn)程分量(SockSpout)、數(shù)據(jù)預(yù)處理進(jìn)程分量值ataR巧rocessBolt)、控制進(jìn) 程分量(ControlBolt)和套接字進(jìn)程分量(Socke1:Bolt);
[003U需要說明的是,Storm是一個(gè)具有低延遲、高性能、分布式、易擴(kuò)展、高容錯(cuò)等優(yōu)良 特性的流計(jì)算框架,如圖2所示,Topology是Storm的運(yùn)算單元,封裝了所有的計(jì)算任務(wù),表 現(xiàn)為由一組數(shù)據(jù)源(Spouts)和數(shù)據(jù)操作炬olts)通過指定連接形成的拓?fù)浣Y(jié)構(gòu)圖;Spout 負(fù)責(zé)從來數(shù)據(jù)源讀取數(shù)據(jù),然后發(fā)送給Bolt進(jìn)行處理,處理結(jié)果可進(jìn)一步發(fā)送給其它Bolt 進(jìn)行處理。通過該種連接,就可流"的方式完成各種復(fù)雜的計(jì)算,也因此具有較強(qiáng)的 擴(kuò)展性和靈活性;Storm使用化pie作為"流"的數(shù)據(jù)模型,每個(gè)化pie由一堆Key-Value對 組成,每個(gè)值有一個(gè)名字化ey),并且每個(gè)值(Value)可W是任何類型;Storm集群主要由 一個(gè)主節(jié)點(diǎn)和一群工作節(jié)點(diǎn)組成,并通過ZooKeeper進(jìn)行協(xié)調(diào),主節(jié)點(diǎn)運(yùn)行一個(gè)后臺(tái)程序 (Nimbus),用于管理分布在集群中的節(jié)點(diǎn),分配計(jì)算任務(wù)和監(jiān)測故障;工作節(jié)點(diǎn)則運(yùn)行一個(gè) 后臺(tái)程序(Supervisor)用于監(jiān)聽任務(wù)分配并基于要求運(yùn)行工作進(jìn)程。利用Storm流計(jì)算 框架搭建區(qū)域交通信號控制系統(tǒng)的主要任務(wù)就是通過Topology描述區(qū)域交通信號控制的 邏輯;
[003引通過替換不同Topology就可W實(shí)現(xiàn)不同的區(qū)域交通信號控制,所W采用Storm搭 建的區(qū)域交通信號控制系統(tǒng)具有很好的開放性,能夠輕易地更換和擴(kuò)展區(qū)域交通信號控制 算法,進(jìn)而接入和兼容其它廠商的檢測器和信號機(jī);區(qū)域交通信號控制的Topology提交到 Storm后,Storm集群將一直運(yùn)行該Topology直到其被廢除或被關(guān)閉,而在執(zhí)行中出現(xiàn)錯(cuò)誤 時(shí),Storm將重新分配任務(wù),使得系統(tǒng)具有較高的可靠性和容錯(cuò)性;
[0033] W下簡要說明分布式流計(jì)算系統(tǒng)包含4種進(jìn)程分量的各自的任務(wù);Socket Spout 負(fù)責(zé)不斷從Kafka讀取其從W太網(wǎng)接收的檢測數(shù)據(jù),設(shè)置并發(fā)度為10 ;Data Reprocess Bolt ;負(fù)責(zé)對同一路口的檢測數(shù)據(jù)進(jìn)行預(yù)處理,設(shè)置并發(fā)度為20 ;Control Bolt;負(fù)責(zé)根據(jù) 檢測數(shù)據(jù)生成控制策略,設(shè)置并發(fā)度設(shè)置為20 ;Socket Bolt;負(fù)責(zé)通過網(wǎng)絡(luò)將控制策略發(fā) 送給不同類型的信號機(jī)執(zhí)行,設(shè)置并發(fā)度為20;四種節(jié)點(diǎn)依次連接,形成一個(gè)最小的區(qū)域 交通信號控制系統(tǒng)。
[0034]S104、根據(jù)所述拓?fù)渖刹⑾蛩龇植际搅饔?jì)算系統(tǒng)的各節(jié)點(diǎn)提交JAR包;
[0035] 優(yōu)選的,借助Eclipse完成拓?fù)涞幕痸a