国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

高速公路運(yùn)行監(jiān)測系統(tǒng)研究

2020-03-01 05:34杜文良
西部交通科技 2020年6期
關(guān)鍵詞:數(shù)據(jù)統(tǒng)計高速公路

杜文良

摘要:在高速公路實現(xiàn)取消省界站后,行車計費(fèi)、收費(fèi)均實現(xiàn)無人值守,需要對高速公路上的機(jī)電設(shè)備和收費(fèi)系統(tǒng)運(yùn)行狀態(tài)進(jìn)行實時監(jiān)測。文章介紹了高速公路運(yùn)行監(jiān)測系統(tǒng)的功能架構(gòu),闡述了如何通過RabbitMQ消息中間件接收門架、車道“心跳”數(shù)據(jù),并從oracle業(yè)務(wù)表中同步交易數(shù)據(jù)到Solr數(shù)據(jù)庫,實現(xiàn)數(shù)據(jù)分析、數(shù)據(jù)統(tǒng)計、界面展示功能。

關(guān)鍵詞:高速公路;運(yùn)行監(jiān)測系統(tǒng);數(shù)據(jù)統(tǒng)計

0 引言

全國高速公路撤消省界收費(fèi)站后,在高速公路上存在交通量變化的路段架設(shè)門架,實現(xiàn)各個路段的費(fèi)用由路段中的門架進(jìn)行計費(fèi)處理。由于門架無人值守,因此需要實時監(jiān)控門架的運(yùn)行情況,包括收費(fèi)情況、軟件版本、費(fèi)率版本、車牌識別率等參數(shù)的監(jiān)控,對出現(xiàn)問題的設(shè)備應(yīng)能及時反饋。由于門架數(shù)量多,且交易數(shù)量非常大,需要上傳大量的監(jiān)控指標(biāo)。對于實時上傳的監(jiān)控數(shù)據(jù)需要及時存儲和處理,并進(jìn)行數(shù)據(jù)統(tǒng)計,以反映各個門架、收費(fèi)車道系統(tǒng)運(yùn)行指標(biāo)情況。本文闡述了如何通過RabbitMQ消息中間件接收門架、車道“心跳”數(shù)據(jù),并從oracle業(yè)務(wù)表中同步交易數(shù)據(jù)到Solr數(shù)據(jù)庫,實現(xiàn)數(shù)據(jù)分析、數(shù)據(jù)統(tǒng)計、界面展示功能。

1 系統(tǒng)架構(gòu)

系統(tǒng)由門架工控機(jī)、車道工控機(jī)、機(jī)柜動環(huán)監(jiān)控工控機(jī)等本地數(shù)據(jù)采集模塊、省數(shù)據(jù)匯聚中心、監(jiān)測系統(tǒng)后臺、界面展示等子模塊構(gòu)成。門架工控機(jī)和車道收費(fèi)工控機(jī)的心跳數(shù)據(jù)、門架機(jī)柜動環(huán)監(jiān)控系統(tǒng)的設(shè)備狀態(tài)數(shù)據(jù)由本地程序進(jìn)行收集,并打包成JSON格式,通過非對稱方式加密、添加MD5信息摘要后,通過http協(xié)議上傳至省數(shù)據(jù)匯聚中心,然后再分發(fā)到運(yùn)行監(jiān)測系統(tǒng)、稽查系統(tǒng)等模塊,由各個子系統(tǒng)進(jìn)一步對數(shù)據(jù)進(jìn)行處理分析。由于高速公路上的門架、車道數(shù)量眾多,并且需要實時上傳“心跳”數(shù)據(jù)、動環(huán)監(jiān)控數(shù)據(jù)、交易信息匯總數(shù)據(jù)等,會產(chǎn)生海量的并發(fā)連接,因此需要用消息隊列對接收的數(shù)據(jù)進(jìn)行緩存,并采用多線程對隊列中的數(shù)據(jù)進(jìn)行消費(fèi)處理。在數(shù)據(jù)統(tǒng)計模塊中,由于每分鐘要對上千萬條數(shù)據(jù)進(jìn)行匯總分析,傳統(tǒng)的關(guān)系型數(shù)據(jù)不足以支撐這么大的運(yùn)算量,需要采用Solr進(jìn)行數(shù)據(jù)存儲和分析,分析結(jié)果再發(fā)送給前端界面展示模塊。

系統(tǒng)架構(gòu)如下頁圖1所示。

2 數(shù)據(jù)采集和上傳模塊

需要采集的數(shù)據(jù)包括設(shè)備運(yùn)行情況、軟件版本、費(fèi)率版本、交易成功率等參數(shù),有多層對象嵌套的需求,結(jié)構(gòu)復(fù)雜,因此本方案采用JSON格式對上傳的數(shù)據(jù)進(jìn)行封裝。為了使系統(tǒng)更安全可靠地傳輸數(shù)據(jù),采用效率高的對稱加密算法對大量數(shù)據(jù)進(jìn)行加密。同時,為了保證通信數(shù)據(jù)的完整性,采用MD5對數(shù)據(jù)進(jìn)行簽名。

考慮到各種數(shù)據(jù)類型的重要程度、獲取方式不同,對各類數(shù)據(jù)采集時間和上傳時間間隔分別用不同方案。如工控機(jī)狀態(tài)數(shù)據(jù)、動環(huán)監(jiān)測數(shù)據(jù),采用固定時間間隔去采集;對于交易數(shù)據(jù),則把每次交易數(shù)據(jù)進(jìn)行記錄[1]。

為了解決動態(tài)擴(kuò)展連接并發(fā)量的問題,省匯聚中心采用nginx負(fù)載均衡接收上傳數(shù)據(jù),并分發(fā)到各個子系統(tǒng)。

3 消息中間件

由于全省高速公路門架和收費(fèi)車道工控機(jī)數(shù)量多,需要頻繁的采集設(shè)備“心跳”數(shù)據(jù)、動環(huán)監(jiān)控數(shù)據(jù)和交易數(shù)據(jù)等并上傳中心平臺。為了不至于在訪問高峰期造成后臺應(yīng)用程序性能過載,采用消息隊列實現(xiàn)上傳數(shù)據(jù)的緩存。設(shè)計采用RabbitMQ作為項目的消息中間件,它是一個開源的消息中間件,可以接受、存儲和轉(zhuǎn)發(fā)二進(jìn)制的數(shù)據(jù)消息塊。

首先在運(yùn)行監(jiān)測系統(tǒng)后端編寫一個發(fā)送消息的程序,作為生產(chǎn)者;再編寫一個消息消費(fèi)者,消費(fèi)者是一個等待接收消息的程序。前端上傳的設(shè)備“心跳”數(shù)據(jù),經(jīng)過省匯聚中心后,發(fā)送到消息隊列的生產(chǎn)者端,消費(fèi)者嘗試從隊列接收數(shù)據(jù)。根據(jù)數(shù)據(jù)并發(fā)量和主機(jī)性能情況,應(yīng)用程序可以既是生產(chǎn)者又是消費(fèi)者,也可以部署在不同主機(jī)上。由于應(yīng)用程序采用Java語言開發(fā),因此消息應(yīng)用采用Java客戶端接口。首先需要導(dǎo)入相關(guān)類,設(shè)置類并命名隊列;然后創(chuàng)建到服務(wù)器的連接,處理協(xié)議版本協(xié)商和身份驗證等。額外的DefaultConsumer是一個實現(xiàn)消費(fèi)者接口的類,將使用它來緩沖服務(wù)器推送來的消息。因為服務(wù)器將異步地推送消息,所以我們以對象的形式提供一個回調(diào)(DeliverCallback),它將緩沖消息,直到應(yīng)用程序準(zhǔn)備好使用它們,由此完成消息中間件接口程序的設(shè)計。

4 數(shù)據(jù)存儲方案

有兩種數(shù)據(jù)源的數(shù)據(jù)需要存儲到系統(tǒng)的數(shù)據(jù)統(tǒng)計分析模塊數(shù)據(jù)庫,一個是前端門架和收費(fèi)車道相關(guān)應(yīng)用程序上傳的“心跳”數(shù)據(jù)、動環(huán)數(shù)據(jù)等,另一個是ORACLE業(yè)務(wù)數(shù)據(jù)庫中的數(shù)據(jù)定期同步。由于監(jiān)控設(shè)備“心跳”數(shù)據(jù)、動環(huán)檢測數(shù)據(jù)以及其它的監(jiān)測數(shù)據(jù)屬于不會變動的靜態(tài)數(shù)據(jù),因此只作為數(shù)據(jù)統(tǒng)計、分析之用。而本設(shè)計需要項目中實現(xiàn)全文搜索、命中高亮顯示、分面搜索、動態(tài)集群、數(shù)據(jù)庫集成等功能,經(jīng)過綜合分析,Solr是流行的、快速的開源NoSQL搜索平臺,符合系統(tǒng)對數(shù)據(jù)存儲平臺的要求,因此本設(shè)計方案采用Solr存儲方案。

將Solr部署在Linux系統(tǒng)上,JDK需要安裝Java8或更高版本上[2]。因為Solr的基本信息單位是一個文檔,它是描述某物的一組數(shù)據(jù)。文檔由字段組成,字段是更具體的信息片段。我們根據(jù)上傳的JSON數(shù)據(jù),定義數(shù)據(jù)的相應(yīng)字段類型,使得Solr能夠正確地解釋字段和查詢字段。有多種將數(shù)據(jù)加載到Solr的方法,由于本方案采用Java作為后臺開發(fā)語言,因此采用Java客戶端API編寫自定義Java應(yīng)用程序來獲取數(shù)據(jù)。

5 界面展示

設(shè)備狀態(tài)數(shù)據(jù)、數(shù)據(jù)指標(biāo)和分析結(jié)果在前端界面進(jìn)行展示。

5.1 大屏系統(tǒng)

主要是在用戶監(jiān)控大屏上顯示各個門架和收費(fèi)站在GIS地圖上的位置圖標(biāo)。地圖上只顯示用戶具有權(quán)限的門架和站點(diǎn)數(shù)據(jù),點(diǎn)擊相應(yīng)圖標(biāo),可以進(jìn)入詳情頁,查看具體門架和收費(fèi)車道的各項分析數(shù)據(jù)??梢栽谙到y(tǒng)配置項中配置各個數(shù)據(jù)的告警閾值,如果某項數(shù)據(jù)達(dá)到告警閾值范圍,則該門架或者收費(fèi)車道的圖標(biāo)顯示為紅色,并在詳情頁顯示告警原因。系統(tǒng)應(yīng)及時將后端告警及時反饋到前端界面,由于數(shù)據(jù)量巨大,如果使用html頁面定時向后臺請求告警數(shù)據(jù)以對界面數(shù)據(jù)進(jìn)行更新,這將耗費(fèi)大量的網(wǎng)絡(luò)帶寬,并且對服務(wù)后臺和數(shù)據(jù)庫造成巨大性能損耗。因此設(shè)計采用WebSocket協(xié)議實現(xiàn)前端html和后臺系統(tǒng)建立可以雙向通信的通道,后臺把更新的告警數(shù)據(jù)主動發(fā)送到前端界面,如果數(shù)據(jù)沒有變化,則不需要發(fā)送。

5.2 統(tǒng)計報表

功能項包括ETC交易統(tǒng)計、CPC卡計費(fèi)統(tǒng)計、車牌識別統(tǒng)計、OBU交易統(tǒng)計、門架天線統(tǒng)計等項。為了更生動展示各項數(shù)據(jù)指標(biāo),采用開源JS框架-ECharts實現(xiàn)以柱狀圖、折線圖、餅圖、氣泡圖及四象限圖等圖表的形式展現(xiàn)各項數(shù)據(jù)。設(shè)計報表打印功能模塊,用戶可以根據(jù)需要,對報表進(jìn)行樣式定義并打印輸出。

5.3 系統(tǒng)配置

功能項包括設(shè)備維護(hù)、閾值管理、用戶權(quán)限等。設(shè)備維護(hù)可以通過添加中心機(jī)房重要的核心交換機(jī)、服務(wù)器等設(shè)備的連接信息,獲取該設(shè)備的狀態(tài)數(shù)據(jù)。閾值管理是對設(shè)備狀態(tài)數(shù)據(jù)、各項交易指標(biāo)等采用正則表達(dá)式定義告警的方式,并設(shè)置告警的范圍。用戶權(quán)限可以配置用戶屬于哪個組織架構(gòu),以及登錄信息、角色、權(quán)限等。用戶以相應(yīng)的賬戶登錄后,只能看到所屬組織架構(gòu)的路段信息。

6 系統(tǒng)測試

前端編寫模擬客戶端發(fā)送等同實際生產(chǎn)環(huán)境中大小JSON數(shù)據(jù)的程序,再采用10臺計算機(jī),每臺計算機(jī)分別開啟1000個線程同時運(yùn)行數(shù)據(jù)發(fā)送測試程序,發(fā)送數(shù)據(jù)的間隔為1min。同時部署兩臺RabbitMQ的消息服務(wù)器,并配置了負(fù)載均衡,進(jìn)行消息接收和分發(fā)。采用一臺計算機(jī)作為后臺邏輯處理服務(wù)器對消息進(jìn)行消費(fèi)和處理,其上開啟4個線程消費(fèi)消息,對JSON數(shù)據(jù)進(jìn)行解析后存入Solr數(shù)據(jù)庫,Solr部署在另外一臺獨(dú)立服務(wù)器上。

經(jīng)過24h平均每分鐘10000個并發(fā)訪問量的測試,服務(wù)端數(shù)據(jù)接收正常,RabbitMQ的消息能夠被及時消費(fèi),并存入Solr數(shù)據(jù)庫,并沒有數(shù)據(jù)過載或積累現(xiàn)象。同時在Solr數(shù)據(jù)庫中插入1000萬條數(shù)據(jù),并對該數(shù)據(jù)集進(jìn)行聚合統(tǒng)計實驗,響應(yīng)時間均在2s以內(nèi),完全滿足系統(tǒng)需求。

7 結(jié)語

在高速公路取消省界收費(fèi)站后,行車計費(fèi)、收費(fèi)均實現(xiàn)無人值守,提高了高速公路機(jī)電系統(tǒng)智能化水平。但是,機(jī)電設(shè)備故障后,如果不能及時修復(fù),對高速公路收費(fèi)系統(tǒng)的運(yùn)行影響巨大,因此,需要對高速公路上的機(jī)電設(shè)備和收費(fèi)系統(tǒng)運(yùn)行狀態(tài)進(jìn)行實時監(jiān)測。高速公路運(yùn)行監(jiān)測系統(tǒng)的設(shè)計和應(yīng)用,將會為廣西高速公路機(jī)電運(yùn)行狀況和收費(fèi)系統(tǒng)運(yùn)行的監(jiān)控、運(yùn)維提供有力的保障。

參考文獻(xiàn):

[1]邵 娟.城市道路智能電子收費(fèi)技術(shù)標(biāo)準(zhǔn)體系研究[C].中國城市規(guī)劃學(xué)會城市交通規(guī)劃學(xué)術(shù)委員會.創(chuàng)新驅(qū)動與智慧發(fā)展——2018年中國城市交通規(guī)劃年會論文集.中國城市規(guī)劃學(xué)會城市交通規(guī)劃學(xué)術(shù)委員會:中國城市規(guī)劃設(shè)計研究院城市交通專業(yè)研究院,2018.

[2]鄭賀元.基于Solr技術(shù)的專利檢索系統(tǒng)設(shè)計與實現(xiàn)[D].石家莊:河北科技大學(xué),2019.

猜你喜歡
數(shù)據(jù)統(tǒng)計高速公路
工程塑料防眩板在桂柳高速公路中的應(yīng)用
大雪
為什么高速公路上不用路燈照明
大數(shù)據(jù)與大數(shù)據(jù)經(jīng)濟(jì)學(xué)
山西省不同導(dǎo)線電線積冰特征對比分析
轱轆心兒,高速公路上的貓