張斌 太原理工大學(xué)
建立城市燃氣預(yù)警系統(tǒng)需要到達以下目的:
1、能夠?qū)θ細夤艿阑蛉細恻c周邊環(huán)境中的燃氣濃度進行監(jiān)測和分析,了解環(huán)境中燃氣的濃度的變化情況。
2、建立城市燃氣泄露監(jiān)測數(shù)據(jù)倉庫,便于查看歷史數(shù)據(jù),對泄漏數(shù)據(jù)進行分析。
3、建立警報機制,對實時監(jiān)測到的數(shù)據(jù)進行監(jiān)控,發(fā)現(xiàn)濃度大于警戒值,發(fā)出報警。
系統(tǒng)可以設(shè)計成四個模塊,實時數(shù)據(jù)管理、歷史數(shù)據(jù)管理、系統(tǒng)配置和系統(tǒng)信息。其中在實時數(shù)據(jù)中,需要實現(xiàn)查看單個監(jiān)測點實時曲線,車輛的實時軌跡兩個功能。在歷史數(shù)據(jù)管理部分,需要歷史數(shù)據(jù)查詢,歷史數(shù)據(jù)趨勢曲線,歷史車輛軌跡信息。在系統(tǒng)配置模塊,需要警報設(shè)置,檢測車輛管理,系統(tǒng)管理員信息管理。在系統(tǒng)信息模塊,可以查看系統(tǒng)幫助和系統(tǒng)簡介。
本系統(tǒng)部署在云端,采集服務(wù)器做了分布式集群,并且做了LVS的服負載均衡,LVS集群采用IP負載均衡技術(shù)和基于內(nèi)容請求分發(fā)技術(shù)。數(shù)據(jù)庫做了主從設(shè)計,主庫負責(zé)數(shù)據(jù)接受實時數(shù)據(jù),從庫負責(zé)存儲歷史數(shù)據(jù)。
本系統(tǒng)主要為監(jiān)測數(shù)據(jù)表,車輛數(shù)據(jù)表,系統(tǒng)管理員表,車輛軌跡表。為了提升數(shù)據(jù)的查詢性能對監(jiān)測數(shù)據(jù)表和車輛軌跡表進行分表分庫操作,監(jiān)測數(shù)據(jù)表分成了實時表和歷史表,車輛軌跡表分成了實時軌跡表和歷史軌跡表。實時數(shù)據(jù)存放在主庫中,歷史數(shù)據(jù)存放在從庫中。
本系統(tǒng)的主要實現(xiàn)難點主要有四處,分別是數(shù)據(jù)采集與傳輸,數(shù)據(jù)存儲,數(shù)據(jù)展示分析和數(shù)據(jù)報警。
通過使用安裝有檢查裝置的巡檢汽車在指定線路巡檢,檢測裝置將甲烷濃度傳入車載PC中,車載PC選用windows系統(tǒng),并安裝使用Perl語言編制的前段程序,將濃度、時間、車速、GPS數(shù)據(jù)、光強、車牌等數(shù)據(jù)封裝,緩存在硬盤中,當(dāng)車載PC通過4G網(wǎng)絡(luò)連接到云端數(shù)據(jù)庫時,將緩存的數(shù)據(jù)根據(jù)時間戳存入數(shù)據(jù)庫,數(shù)據(jù)庫并返回已接收到數(shù)據(jù)的時間戳,如發(fā)生網(wǎng)絡(luò)中斷現(xiàn)象,車載pc將持續(xù)緩存數(shù)據(jù)待網(wǎng)絡(luò)恢復(fù)后上傳至服務(wù)器,從而達到數(shù)據(jù)在網(wǎng)絡(luò)不穩(wěn)定情況下的斷點續(xù)傳,保證數(shù)據(jù)不丟失。
云端SQLserver數(shù)據(jù)庫服務(wù)器接收到數(shù)據(jù)并返回時間戳,數(shù)據(jù)庫將接收到的數(shù)據(jù)存儲到基礎(chǔ)數(shù)據(jù)表中,根據(jù)一定的邏輯規(guī)則剔除誤差值,基礎(chǔ)數(shù)據(jù)表中將會保留較為真實的數(shù)據(jù),同時將基礎(chǔ)數(shù)據(jù)表中最新數(shù)據(jù)復(fù)制到實時數(shù)據(jù)表中,為實時展示提供支持,實時數(shù)據(jù)表中只存儲2000條最新數(shù)據(jù),防止了實時展示時調(diào)用大量數(shù)據(jù)造成的延時,優(yōu)化了實時展示性能。
應(yīng)用服務(wù)器的展示功能包括實時檢測曲線展示、實時檢測軌跡展示、歷史曲線查詢、歷史軌跡查詢、歷史數(shù)據(jù)表查詢的功能。
2.3.1 實時檢測曲線展示
通過PHP語言,根據(jù)用戶預(yù)設(shè)條件(包括車牌號、濃度超限值等)查詢sql數(shù)據(jù)庫實時數(shù)據(jù)表,將返回的數(shù)據(jù)通過Highcharts插件展示到web界面中。創(chuàng)建三條實時曲線,實時曲線x軸表示時間, Y軸分別表示前置監(jiān)測設(shè)備濃度、頂置監(jiān)測設(shè)備濃度和汽車速度,并根據(jù)用戶設(shè)定的超限值在Y軸標(biāo)出超限濃度位置,并用虛線畫出超限警示線,同時對超限部分的實時曲線采用變色的形式達到警示目的。
2.3.2 實時檢查軌跡展示
通過PHP語言,根據(jù)用戶預(yù)設(shè)條件(包括車牌號、濃度超限值等)查詢sql數(shù)據(jù)庫實時數(shù)據(jù)表,將返回的數(shù)據(jù)通過百度地圖API插件將巡檢汽車的實時軌跡標(biāo)注到地圖中,并將發(fā)生甲烷濃度超限的位置和超限數(shù)據(jù)標(biāo)注到地圖的指定位置。
2.3.3 歷史曲線、軌跡、數(shù)據(jù)查詢
根據(jù)用戶設(shè)定的查詢條件,查詢基礎(chǔ)數(shù)據(jù)庫中的數(shù)據(jù),利用Highcharts插件、百度地圖API插件Datatables插件、將歷史曲線、軌跡、數(shù)據(jù)展示到web界面中,為了減輕服務(wù)器負荷,設(shè)定最大查詢時間間隔。
在實時曲線和實時軌跡的展示過程中,根據(jù)用戶設(shè)定的超限值,對已經(jīng)超限的數(shù)據(jù)進行特別標(biāo)注和提示,包括曲線變色標(biāo)注,地圖超限位置彈出警示圖標(biāo)和超限值,聲音報警等方式。
此套檢測系統(tǒng)主要提供了甲烷濃度實時曲線的展示和地圖超限點標(biāo)注的功能,本系統(tǒng)已多次測試,其結(jié)果得到多方客戶關(guān)注,通過對大量甲檢測數(shù)據(jù)人工判斷數(shù)據(jù)的積累,將對燃氣泄露引發(fā)事故的現(xiàn)象進一步的預(yù)防。更早的發(fā)現(xiàn)問題,更早的解決問題。在測試的過程中也發(fā)現(xiàn)不少新的需求和軟件系統(tǒng)存在的問題,將會不斷的改進。
[1]孫立國,周玉文,部敬孝.車載FID市政管網(wǎng)燃氣泄漏預(yù)警系統(tǒng)研究[J].煤氣與熱力,2010, 30(2):24-28.
[2]翟玉文,艾學(xué)忠,張振軒.城市地下燃氣管道泄漏監(jiān)測報警系統(tǒng)設(shè)計[J].吉林化工學(xué)院學(xué)報,2009, 26(2):60-61.
[3]杜洋.嵌入式遠程燃氣預(yù)警系統(tǒng)設(shè)計[D].黑龍江大學(xué),2015.