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

?

基于Spark算法的船舶尾氣排放實時計算方法研究*

2019-04-30 05:40文元橋周春輝張哲源
關(guān)鍵詞:船尾插值尾氣

張 帆 黃 茜 文元橋 黃 亮 周春輝 張哲源

(武漢理工大學(xué)航運(yùn)學(xué)院1) 武漢 430063) (內(nèi)河航運(yùn)技術(shù)湖北省重點(diǎn)實驗室2) 武漢 430063) (國家水運(yùn)安全工程技術(shù)研究中心3) 武漢 430063) (武漢理工大學(xué)智能交通系統(tǒng)研究中心4) 武漢 430063)

0 引 言

海上交通的日益繁忙導(dǎo)致船舶尾氣排放量迅速上升.我國交通運(yùn)輸部于2015年末設(shè)立了珠三角、長三角、環(huán)渤海(京津冀)水域船舶大氣污染物排放控制區(qū),控制船舶尾氣中硫氧化物、氮氧化物和顆粒物的排放[1].為了掌握船舶尾氣中各種物質(zhì)的排放含量,趙海鷗等[2]利用多種有害氣體傳感器對船舶柴油機(jī)尾氣排放數(shù)據(jù)進(jìn)行實時采集,并通過無線通信技術(shù)對將數(shù)據(jù)傳輸回地面,但當(dāng)前針對船舶尾氣中硫氧化物、氮氧化物和顆粒物進(jìn)行檢測的傳感器發(fā)展尚不成熟,且價格高昂,并不適合海港大范圍的部署.目前絕大部分船舶都配備了AIS設(shè)備[3],且船舶AIS數(shù)據(jù)蘊(yùn)含信息量大,包含船舶水上移動通信業(yè)務(wù)標(biāo)識碼(maritime mobile service identify,MMSI)、航向、對地航速、船位等一系列船舶航行過程中的狀態(tài)數(shù)據(jù)和船舶主機(jī)功率、始發(fā)港、目的港、裝載貨物信息等一系列船舶及貨物屬性數(shù)據(jù).近年來國內(nèi)外學(xué)者[4-11]多利用船舶AIS數(shù)據(jù)結(jié)合船舶尾氣排放計算模型對各自研究水域的船舶尾氣排放清單進(jìn)行離線計算.但傳統(tǒng)的船舶尾氣排放計算過程復(fù)雜,且沒有綜合考慮計算所需要的環(huán)境數(shù)據(jù)、船舶屬性等基礎(chǔ)數(shù)據(jù),計算結(jié)果不能客觀反映船舶尾氣排放值.同時想通過傳統(tǒng)的尾氣排放計算模型滿足實時的在線監(jiān)測,需要監(jiān)測范圍所有船舶的AIS數(shù)據(jù),這樣的計算規(guī)模是傳統(tǒng)單機(jī)計算程序無法承受的.

為了滿足監(jiān)管部門對管轄水域船舶尾氣排放實時監(jiān)管的需求,本文設(shè)計了一種基于Spark計算框架的船舶尾氣實時計算方法,該方法可以針對計算數(shù)據(jù)量的大小對排放計算能力進(jìn)行實時調(diào)控,使監(jiān)管部門能夠?qū)崟r掌握船舶尾氣排放動態(tài).相比于Storm、Flink等其他主流的流式數(shù)據(jù)計算框架,Spark不僅具備強(qiáng)大的實時計算能力,還具有離線數(shù)據(jù)批處理和機(jī)器學(xué)習(xí)能力,將更加利于今后隨著處理數(shù)據(jù)量的增大對計算功能的擴(kuò)展和優(yōu)化.

1 船舶尾氣排放計算模型

單船尾氣排放模型可以計算出船舶航行中每個軌跡段所產(chǎn)生的各類尾氣排放值,然后將計算出來的尾氣排放值映射到網(wǎng)格化處理[12]的區(qū)域地圖上,最后疊加在一起即完成某區(qū)域內(nèi)所有船舶的尾氣排放計算,見圖1.

圖1 船舶區(qū)域排放計算示意圖

1.1 單船尾氣排放計算

基于AIS的單船船舶廢氣排放量計算式為[13]

Pa×LFa×Ta×EFi,a+Pb×LFb×Tb×EFi,b

(1)

式中:E為船舶尾氣排放量.g;P為船舶動力設(shè)備功率,kW;i為第i種船舶尾氣排放物;j為船舶動力設(shè)備類型;下標(biāo)m為主機(jī)、a為輔機(jī)、b為鍋爐;LF為船舶負(fù)荷因子;T為船舶在設(shè)備j工況下的運(yùn)行時間,h;EFi,j為第i種船舶尾氣物在第j種動力設(shè)備工況下的排放因子,g/(kW·h).

式(1)利用船舶AIS動態(tài)軌跡可以推算船舶各個動力設(shè)備的運(yùn)行時間,并基于船舶MMSI標(biāo)識從船級社數(shù)據(jù)、勞式數(shù)據(jù)庫等海事基礎(chǔ)數(shù)據(jù)中關(guān)聯(lián)查詢船舶動力設(shè)備額定功率P、設(shè)計航速等關(guān)鍵參數(shù),進(jìn)而能夠估算船舶動力設(shè)備的負(fù)荷情況,其中負(fù)荷因子采用式(2)進(jìn)行計算,完成上述參數(shù)計算后從而實現(xiàn)單船尾氣排放量估算.

LF=(Vs/Vmax)3

(2)

式中:Vs為船舶航行時的實際速度,kn,數(shù)據(jù)來源于船舶AIS信息,對于船舶航行的實際速度,由于AIS信息在時間尺度上不均勻,因此,在進(jìn)行計算時需對不均勻的速度信息進(jìn)行插值處理;Vmax為船舶航行時的最大速度,kn,來源于勞氏海事數(shù)據(jù)庫等海事數(shù)據(jù)庫.

1.2 區(qū)域船舶尾氣排放計算

基于單船尾氣排放計算模型,可實現(xiàn)區(qū)域性船舶尾氣排放量的計算[14],見圖2.

圖2 區(qū)域船舶排放計算流程圖

2 基于Spark的船舶尾氣排放計算方法

2.1 共享Redis連接池選取

在船舶尾氣排放計算過程中需要計算緩存數(shù)據(jù),并且需要調(diào)用環(huán)境數(shù)據(jù)、船舶屬性、排放計算因子等多種類型數(shù)據(jù),而排放計算引擎Spark自身的廣播變量屬性無法滿足動態(tài)共享數(shù)據(jù)的設(shè)計需求,普通的外部數(shù)據(jù)庫又無法達(dá)到Spark高速內(nèi)存計算的速度,所以平臺選用讀寫性能優(yōu)異的Redis內(nèi)存數(shù)據(jù)庫[15]作為尾氣計算所設(shè)計的高速緩存,并將Redis連接池作為Spark廣播變量提供各個計算節(jié)點(diǎn)調(diào)用,進(jìn)而提供更高效的數(shù)據(jù)使用效率.

2.2 基于Spark的船舶軌跡提取

與處理傳統(tǒng)的歷史AIS離線數(shù)據(jù)不同,實時計算平臺無法預(yù)先對所有數(shù)據(jù)進(jìn)行組織與排序,所有流程必須在線完成.在Spark Streaming 中,處理數(shù)據(jù)的單位是一批而不是單條,而數(shù)據(jù)采集卻是逐條進(jìn)行的,因此,Spark Streaming 需要設(shè)置間隔使得數(shù)據(jù)匯總到一定的量后再一并操作,這個間隔就是批處理間隔.批處理間隔是Spark Streaming 的核心概念和關(guān)鍵參數(shù),它決定了Spark Streaming 提交作業(yè)的頻率和數(shù)據(jù)處理的延遲,同時也影響著數(shù)據(jù)處理的吞吐量和性能.Spark Streaming就是通過依次、快速的批處理指定時間間隔的數(shù)據(jù)塊來實現(xiàn)秒級的準(zhǔn)實時計算.圖3數(shù)據(jù)流中的每一個數(shù)據(jù)塊里都包含了區(qū)域船舶在該時間區(qū)間內(nèi)的所有AIS數(shù)據(jù),因為船舶AIS數(shù)據(jù)中的MMSI碼是唯一的,利用Spark對這些數(shù)據(jù)進(jìn)行相應(yīng)處理后即可以根據(jù)MMSI碼提取出各條船舶的軌跡段.

圖3 AIS船舶軌跡提取流程

在具體實現(xiàn)中,Spark Streaming中將實時數(shù)據(jù)流中的每一個相同時間間隔數(shù)據(jù)塊讀取成彈性分布式數(shù)據(jù)集(resilient distributed datasets,RDD)對象.圖4a)為多條AIS數(shù)據(jù).為了能對AIS數(shù)據(jù)中的MMSI信息進(jìn)行識別以區(qū)分不同的船舶,須將RDD轉(zhuǎn)換為圖4b)中Key-Value形式Pair RDD對象,把MMSI信息最為每條數(shù)據(jù)的Key值,其余信息作為Value.之后對轉(zhuǎn)換得到的Pair RDD對象進(jìn)行g(shù)roup By Key操作,此操作會將具有相同MMSI的AIS數(shù)據(jù)聚合在一起,最后對聚合得到的每一個AIS軌跡點(diǎn)集合按時間信息進(jìn)行排序,就將離散的軌跡點(diǎn)集合成一條條AIS軌跡段,見圖4c).

a)RDD b) PairRDD c)List圖4 AIS軌跡提取方法示意圖

2.3 同船軌跡前后關(guān)聯(lián)

計算得到的各條船AIS軌跡數(shù)據(jù)并不能直接應(yīng)用于單船尾氣排放計算模型,因為會出現(xiàn)圖5中的情況.當(dāng)前計算中的數(shù)據(jù)塊與前面計算過的某一數(shù)據(jù)塊中都有××輪的AIS軌跡段,如果對這兩個軌跡段都單獨(dú)進(jìn)行單船尾氣排放計算,則前一AIS軌跡段中最后一個軌跡點(diǎn)Pe與當(dāng)前軌跡段中第一個Ps之間的船舶軌跡沒有參與單船排放計算,這種排放計算方式將產(chǎn)生較大的誤差,所以設(shè)計將Pe添加到Ps點(diǎn)前參加當(dāng)次的單船排放計算,通過這種方式實現(xiàn)不同數(shù)據(jù)塊中的同船軌跡段的前后關(guān)聯(lián),經(jīng)過軌跡前后關(guān)聯(lián)后的軌跡段即可應(yīng)用于單船連續(xù)軌跡的尾氣排放計算.

圖5 軌跡關(guān)聯(lián)流程

為實現(xiàn)同船軌跡的前后關(guān)聯(lián),在計算過程中,Spark集群將每條AIS軌跡段的最后一個軌跡點(diǎn)信息存入到Redis數(shù)據(jù)庫中,當(dāng)計算后面的數(shù)據(jù)塊時,Spark會去數(shù)據(jù)庫中尋找對應(yīng)船舶的軌跡點(diǎn),如果存在就添加到軌跡段首位參與計算,見圖6.

圖6 軌跡前后關(guān)聯(lián)示意圖

2.4 區(qū)域排放計算

1) 單船尾氣排放計算 本文使用第1節(jié)中介紹的船舶尾氣排放測度模型對單船尾氣排放進(jìn)行計算.計算過程見圖7,針對每條船舶的AIS軌跡,依次選取軌跡中相鄰兩個AIS軌跡點(diǎn)數(shù)據(jù),將其帶入尾氣排放計算模型,得到船舶在每兩個軌跡點(diǎn)間所產(chǎn)生的尾氣排放量,進(jìn)而得到單船航行排放量.

圖7 單船尾氣排放計算流程

2) 排放軌跡插值 通過傳統(tǒng)的AIS軌跡單船尾氣排放算法計算出的排放值是分?jǐn)傇谲壽E段每兩個相鄰軌跡點(diǎn)之間,見圖8a).而AIS軌跡點(diǎn)在網(wǎng)格地圖中的分布是離散的、不連續(xù)的,因此,無法將軌跡段上的排放值連續(xù)地分配到各個網(wǎng)格上.本文針對該問題對排放軌跡進(jìn)行插值,插值方法選取王超等[16]提出的考慮航向、航速的插值方法,且選定每1秒進(jìn)行一次軌跡點(diǎn)插值,最終按各個網(wǎng)格點(diǎn)內(nèi)插值后軌跡點(diǎn)的數(shù)量對兩軌跡點(diǎn)間的排放量進(jìn)行分配,見圖8b),進(jìn)而得到單船尾氣排放量網(wǎng)格地圖,見圖8c).

圖8 排放軌跡插值示意圖

3) 區(qū)域尾氣排放計算 在Spark集群中經(jīng)過排放計算模型運(yùn)算并插值處理后就得到了單船排放量網(wǎng)格數(shù)據(jù),數(shù)據(jù)形式為Pair RDD,其中Key值為網(wǎng)格索引,Value為各類大氣污染物排放量,最后利用Spark提供的reduce By Key方法將具有相同網(wǎng)格索引的各類排放物總量疊加、合并在一起,形成區(qū)域排放量網(wǎng)格數(shù)據(jù),見圖9.

圖9 區(qū)域尾氣排放計算流程示意圖

3 實驗過程及結(jié)果分析

實驗選用Inter Core I5處理器單核心、1GB內(nèi)存的單節(jié)點(diǎn)Spark對不同的數(shù)據(jù)量的AIS進(jìn)行排放計算,經(jīng)測試,該配置的Spark單節(jié)點(diǎn)每秒鐘可以計算150條數(shù)據(jù),總計算延時為879 ms,小于1 s,見圖10.

圖10 單節(jié)點(diǎn)Spark計算性能圖

為了測試基于Spark的排放計算方法對計算能力的橫向擴(kuò)展效果,對擁有不同節(jié)點(diǎn)數(shù)的Spark集群進(jìn)行了計算壓力測試,實驗證明隨著計算節(jié)點(diǎn)數(shù)的增加,算法每秒鐘的計算能力得到了有效的提高,見圖11.

圖11 Spark集群計算性能圖

將2014年深圳港的AIS歷史數(shù)據(jù)以及模擬風(fēng)、浪、流環(huán)境數(shù)據(jù)放入云端服務(wù)器,并模擬真實的AIS數(shù)據(jù)和環(huán)境數(shù)據(jù)發(fā)送方式對云端數(shù)據(jù)集進(jìn)行播發(fā),進(jìn)而提供實時數(shù)據(jù)源.將云端的數(shù)據(jù)源接入到基于Spark的排放計算程序后,程序可以實時計算出深圳港水域的排放數(shù)據(jù).通過瀏覽器前端定時去服務(wù)端請求實時尾氣排放計算數(shù)據(jù),實現(xiàn)排放數(shù)據(jù)的可視化顯示,圖12為深圳港水域1 h內(nèi)的船舶主機(jī)、輔機(jī)CO2累計排放地圖.

圖12 深圳港船舶尾氣排放可視化效果圖

4 結(jié) 束 語

通過基于Spark的船舶尾氣排放模型設(shè)計和基于GIS的深圳港船舶尾氣排放平臺構(gòu)建,實現(xiàn)了基于AIS數(shù)據(jù)的船舶尾氣排放實時監(jiān)測,便于海事管理部門等監(jiān)管機(jī)構(gòu)對管轄水域船舶尾氣排放動態(tài)的掌控,對我國水域船舶大氣污染物的排放管控起到了積極意義.但目前該計算方法還處于測試階段,計算所需數(shù)據(jù)源的精確性和實時性上無法保障,計算結(jié)果有待于船舶尾氣污染物檢測儀器監(jiān)測的數(shù)據(jù)進(jìn)行驗證,并根據(jù)驗證結(jié)果對模型進(jìn)行進(jìn)一步優(yōu)化.

猜你喜歡
船尾插值尾氣
滑動式Lagrange與Chebyshev插值方法對BDS精密星歷內(nèi)插及其精度分析
活性炭生產(chǎn)尾氣處理技術(shù)
午睡
船尾外形對超聲速彈丸減阻特性的影響研究
基于pade逼近的重心有理混合插值新方法
生命之船
中國船尾舵開創(chuàng)航行新時代
混合重疊網(wǎng)格插值方法的改進(jìn)及應(yīng)用
建立“尾氣治理”項目對汽車維修企業(yè)的影響分析
汽車維修企業(yè)“尾氣治理”項目的建立與運(yùn)營
铜陵市| 伊宁县| 和平县| 南开区| 汉中市| 田阳县| 福鼎市| 武川县| 白玉县| 肇源县| 格尔木市| 绵阳市| 阜新| 崇明县| 巢湖市| 常熟市| 台山市| 名山县| 石景山区| 汉沽区| 南郑县| 吉水县| 苍南县| 靖州| 铅山县| 桑日县| 宝清县| 会东县| 垣曲县| 新泰市| 内黄县| 蕉岭县| 隆昌县| 迁西县| 溧阳市| 耿马| 宜川县| 龙胜| 偃师市| 沁水县| 静乐县|