張 濤, 蔣曉濛, 焦 正
(1.晉城職業(yè)技術(shù)學(xué)院,山西晉城048026;2.上海大學(xué)環(huán)境與化學(xué)工程學(xué)院,上海200444)
由于環(huán)境污染的日益加重,國內(nèi)外學(xué)者們已在大氣擴散模式、污染氣象學(xué)以及大氣污染預(yù)報等領(lǐng)域陸續(xù)開展了多方位的研究[1-2].王海鯤等[3]通過國際機動車排放模型的運用,估算了上海市機動車的污染物排放量.陸濤[4]、劉娟[5]、李莉等[6]在長三角區(qū)域也開展了多方位的研究.曹騮等[7]創(chuàng)造性地將環(huán)保與云計算有機結(jié)合,并在此基礎(chǔ)上研究了基于大數(shù)據(jù)平臺的PM2.5監(jiān)測預(yù)警系統(tǒng).雖然我國的環(huán)境監(jiān)測預(yù)警機制已逐步完善,但仍然存在一些急需解決的問題.比如網(wǎng)絡(luò)建設(shè)缺乏系統(tǒng)規(guī)劃,監(jiān)測因子缺乏代表性,監(jiān)測質(zhì)量和規(guī)范化有待完善,信息系統(tǒng)有待統(tǒng)一建立和管理以及經(jīng)費需求量龐大等[8-9].
借鑒歐美以及中國香港等眾多發(fā)達國家和地區(qū)在建設(shè)空氣質(zhì)量監(jiān)測網(wǎng)絡(luò)方面的發(fā)展歷程和先進經(jīng)驗[10-16],在已有的監(jiān)測站點基礎(chǔ)上,結(jié)合大氣污染的特征和現(xiàn)狀,本工作設(shè)計了針對揮發(fā)性有機污染物(volatile organic compounds,VOCs)的監(jiān)測與預(yù)警平臺.本平臺是基于云計算的大氣質(zhì)量監(jiān)測預(yù)警云平臺,通過前端大規(guī)模部署的特征因子監(jiān)測設(shè)備和空氣質(zhì)量監(jiān)測設(shè)備來監(jiān)測空氣質(zhì)量,包括PM2.5,H2S,NH3,NO2,SO2等無機氣體、有機溶劑氣體、可燃氣體等存在于大氣中的污染因子.本平臺可通過空氣質(zhì)量云監(jiān)測與預(yù)警平臺(數(shù)據(jù)立方)實時獲知破壞環(huán)境的行為,并通知執(zhí)法人員第一時間進行阻止.本平臺還能夠通過海量的科學(xué)數(shù)據(jù)分析對比,得到反映局部區(qū)域(特別是重度污染區(qū)域重點監(jiān)測)的相關(guān)參考值,從而反映特定區(qū)域的空氣質(zhì)量,也為該區(qū)域的環(huán)保工作提供一個科學(xué)的信息化支持.
考慮到VOCs監(jiān)測預(yù)警云計算平臺建設(shè)的發(fā)展需求,以實現(xiàn)統(tǒng)一管理、高效應(yīng)用、平滑擴展為目標,以“先進、安全、成熟、開放、經(jīng)濟”為總體設(shè)計原則,設(shè)計了本監(jiān)控平臺.
本平臺的總體構(gòu)架如圖1所示.首先,通過前端特定的采集設(shè)備采集監(jiān)測區(qū)域內(nèi)空氣的特征參數(shù),經(jīng)由GPRS等無線傳輸方式將參數(shù)傳送到有公網(wǎng)IP地址的服務(wù)器上,對其進行初步處理.然后,將數(shù)據(jù)匯入數(shù)據(jù)立方并通過本平臺進行存儲和相應(yīng)的計算.最后,將實時的預(yù)警信息以郵件或者短信等方式發(fā)送給執(zhí)法人員.此外,本平臺還可以結(jié)合前期建設(shè)的視頻平臺來監(jiān)控各個監(jiān)測點的污染情況,視頻平臺中的攝像終端也可以記錄整個污染過程,再由視頻服務(wù)器和Web服務(wù)器對數(shù)據(jù)進行最終的后處理,并向公眾公布.如此就可以通過移動終端或者Web頁面實時地了解監(jiān)測區(qū)域內(nèi)所有監(jiān)測點的污染情況,并且對破壞環(huán)境的違法行為做到執(zhí)法有據(jù).此外,所有數(shù)據(jù)的云存儲運用了數(shù)據(jù)流與控制流相互分離的技術(shù),對數(shù)據(jù)的讀取和存儲在各個節(jié)點上同時進行,且隨著存儲節(jié)點的增加,體系的性能和容量也會呈現(xiàn)線性增長趨勢.同時,由JobKeeper調(diào)度平臺對不同需求的數(shù)據(jù)進行統(tǒng)一處理.
本平臺主要由傳感器智能連接系統(tǒng)、風速風向儀、聲光報警器,以及空氣傳感器系統(tǒng)通信等模塊構(gòu)成.
1.2.1 傳感器智能連接系統(tǒng)
智能連接系統(tǒng)負責將傳感器單元探測到的數(shù)據(jù)經(jīng)由無線網(wǎng)絡(luò)傳送至本平臺的Internet網(wǎng)絡(luò),是整個無線網(wǎng)絡(luò)的基本組成單元.構(gòu)成探測器系統(tǒng)的傳感器單元通過簡單的接口(如RS485,CAN等,支持多種連接技術(shù))與數(shù)據(jù)集中器(包含了無線傳輸模塊)相連,從而組成智能連接系統(tǒng)(見圖2).傳感器主要負責探測數(shù)據(jù).本平臺選用的傳感器種類眾多,包括H2S氣體傳感器、NH3氣體傳感器、NO2氣體傳感器、SO2氣體傳感器以及可燃氣體傳感器.數(shù)據(jù)集中器承擔著詢問并上傳傳感器探測到的數(shù)據(jù)的任務(wù).這個過程的實現(xiàn)依靠兩個關(guān)鍵點:①通過RS485,CAN等接口,可以實現(xiàn)數(shù)據(jù)集中器與傳感器單元之間的通信;②數(shù)據(jù)集中器中包含著無線模塊,可以實現(xiàn)數(shù)據(jù)的無線傳輸.此外,數(shù)據(jù)集中器可以掛載幾十個不同類型的傳感器,可同時自動識別不同的傳感器類型.由于各個傳感器單元之間是相互獨立的,因此若單個傳感器單元出現(xiàn)了故障,不會對平臺的正常運行造成影響,并且平臺會檢測出有故障的設(shè)備,并向上匯報.
圖1 總體架構(gòu)Fig.1 Scheme of the overall struture
圖2 智能連接系統(tǒng)Fig.2 Scheme of the connection system
1.2.2 風速風向儀和聲光報警器
風速風向儀用于測量風向、風速的瞬間值和平均值,可為空氣污染傳播過程的演化與污染源的追蹤提供實時的氣象數(shù)據(jù).風速風向儀結(jié)構(gòu)合理、自動化程度高,能連續(xù)對瞬時風向、風速進行監(jiān)測和報警.此外,每個監(jiān)測點又布署了一套聲光報警器.當VOCs的質(zhì)量濃度超標時,系統(tǒng)能夠根據(jù)監(jiān)測到的不同空氣質(zhì)量濃度發(fā)出不同的報警聲音,也可以進行自定義的語音報警.
需要特別說明的是,聲光報警器是隔爆型聲音報警和光提示型報警的結(jié)合體,需要與隔爆型氣體探測器搭配使用.當目標氣體的質(zhì)量濃度大于氣體探測器的設(shè)定值時,探測器在本身報警的同時,也會激發(fā)聲光報警器,發(fā)出高強度的聲光報警信號.
1.2.3 空氣傳感器系統(tǒng)通信
空氣傳感器系統(tǒng)通信可以通過GPRS進行數(shù)據(jù)的無線傳輸,也可以直接接入現(xiàn)有的專網(wǎng)網(wǎng)絡(luò).GPRS數(shù)據(jù)傳輸示意圖如圖3所示.可見,數(shù)據(jù)由前端發(fā)送設(shè)備依次經(jīng)由GPRS、移動網(wǎng)絡(luò)進行傳輸,再被公共網(wǎng)絡(luò)的服務(wù)器接受,待數(shù)據(jù)入庫并處理后,通過Web服務(wù)器得以展現(xiàn).前端設(shè)備也可以直接接入現(xiàn)有的電信專網(wǎng).
圖3 GPRS數(shù)據(jù)傳輸Fig.3 Scheme of GPRS data transmission
本平臺主要由VOCs監(jiān)測平臺,VOCs預(yù)警平臺以及VOCs發(fā)布平臺3部分組成(見圖4).VOCs監(jiān)測平臺的設(shè)計基于B/S結(jié)構(gòu),可在實現(xiàn)對VOCs相關(guān)信息高效監(jiān)測的同時,將數(shù)據(jù)以GPRS、移動網(wǎng)絡(luò)等方式傳送到系統(tǒng)內(nèi)部并整編入庫,并做出相應(yīng)的分析處理.監(jiān)測設(shè)備采集到的信息將作為空氣質(zhì)量數(shù)據(jù)進行存儲,為今后的環(huán)保工作提供真實準確的數(shù)據(jù)基礎(chǔ).
圖4 VOCs監(jiān)測與預(yù)警平臺Fig.4 VOCs monitoring and early warning platform
本平臺充分利用了云計算的技術(shù)優(yōu)勢,解決了單臺服務(wù)器不能建立大規(guī)模數(shù)據(jù)模型的問題,并且采用了國際上先進的AERMOD大氣擴散模型以及高斯擴散算法,建立了科學(xué)的環(huán)境監(jiān)控數(shù)據(jù)模型,使得任何區(qū)域點的空氣質(zhì)量數(shù)據(jù)值都可以按照該模型進行推算,有利于實時發(fā)現(xiàn)污染最嚴重的區(qū)域作為重點治理對象.此外,本平臺還可以查找出各種污染源相互影響的結(jié)果.
作為VOCs監(jiān)測平臺的有效補充,VOCs預(yù)警平臺承擔了更多及時而有效的信息化支持.預(yù)警平臺是通過傳感器體系和數(shù)據(jù)處理平臺的分析結(jié)果啟動的.當VOCs監(jiān)測平臺的分析結(jié)果超過設(shè)定值時,便會自動開啟預(yù)警平臺,并且明確預(yù)警范圍和級別(根據(jù)生產(chǎn)車間監(jiān)測數(shù)據(jù)決定),同時啟動相應(yīng)的報警程序,并以APP推送、短信以及郵件等方式將其傳遞給工作人員.
最后,根據(jù)公眾對于空氣質(zhì)量狀況的需求,特別是霧霾非常嚴重的冬季,VOCs發(fā)布平臺可以向公眾提供所在區(qū)域的實時空氣質(zhì)量狀況.
負載均衡技術(shù)是本平臺進行云存儲的一項關(guān)鍵技術(shù).該技術(shù)通過自動均衡各服務(wù)器的負載,提高數(shù)據(jù)處理集群和計算與存儲集群的可靠性,進而將各存儲節(jié)點的性能調(diào)整到最優(yōu).
本平臺中不可避免地會出現(xiàn)一些單一故障點問題,此時負載均衡技術(shù)可以通過單點失效容錯處理來解決這一問題,從而提高平臺的可靠性.
3.1.1 負載均衡處理機的單點失效容錯處理
圖5 負載均衡處理機的分布圖Fig.5 Distributions of the load balancing processor
負載均衡處理機的分布如圖5所示.首先,將全部的原始數(shù)據(jù)都導(dǎo)入交換機中,并將數(shù)據(jù)發(fā)送給指向返回任務(wù)處理機IP地址的負載均衡處理機.然后,負載均衡處理機通過Master節(jié)點向任務(wù)處理機發(fā)出請求指令,Master節(jié)點返回任務(wù)處理機的IP端口信息.最后,負載均衡處理機依據(jù)任務(wù)處理機的IP端口信息將數(shù)據(jù)發(fā)向任務(wù)處理機.
當某一臺負載均衡處理機發(fā)生宕機時,根據(jù)如圖6所示的預(yù)案執(zhí)行負載均衡操作,具體步驟如下:①Master節(jié)點可以通過鏈接心跳獲知負載相對均衡處理機處于宕機狀態(tài);②Master節(jié)點會挑選出負載較小的均衡處理機,然后執(zhí)行虛擬IP及其他所有的相關(guān)程序;③通過虛擬IP的工作,對提交的原始數(shù)據(jù)進行接收處理,并在此基礎(chǔ)上進行負載均衡處理.
圖6 負載均衡處理機的宕機預(yù)案Fig.6 Crash plan of the load balancing processor
當Master節(jié)點宕機后,按照如圖7所示的預(yù)案執(zhí)行負載均衡操作,具體步驟如下:①存儲計算節(jié)點以及負載均衡節(jié)點可以通過鏈接心跳獲知Master節(jié)點處于宕機狀態(tài);②全部負載均衡節(jié)點會挑選出新的Master節(jié)點,并且把新的Master節(jié)點告知全部存儲計算節(jié)點,然后以負載均衡IP為依據(jù),存儲計算節(jié)點向新的Master節(jié)點發(fā)出請求指令,并在此基礎(chǔ)上向新的Master節(jié)點反映負載狀態(tài);③全部工作任務(wù)都由新的Master節(jié)點來接受并處理,同時對之前處于宕機狀態(tài)的Master節(jié)點進行失效容錯處理.
3.1.2 查詢處理機的單點失效容錯處理
當任務(wù)處理機宕機時,查詢處理機的單點失效容錯處理如圖8所示,具體步驟如下:①負載均衡處理機得知任務(wù)處理機宕機后,緩存交管數(shù)據(jù),同時Master節(jié)點得知任務(wù)處理宕機后,將該任務(wù)處理機信息從待分配列表中刪除;②負載均衡處理機向Master節(jié)點請求任務(wù)處理機,Master節(jié)點為負載均衡處理機重新分配任務(wù)處理機;③負載均衡處理機將原始數(shù)據(jù)發(fā)向新的任務(wù)處理機,進行查詢.
3.2.1 Master節(jié)點的單點失效容錯處理
AvatarNode0以Primary方式啟動,作為NameNode節(jié)點與用戶交互.AvatarNode1以Standby方式啟動,是一個處于SafeMode的NameNode,可以通過定期讀取AvatarNode0的日志來更新自己的元數(shù)據(jù)和內(nèi)存,并執(zhí)行CheckPoint,同時更新AvatarNode0上的Fsimage以及Editlog.
圖7 Master節(jié)點的宕機預(yù)案Fig.7 Crash plan of the master nodes
圖8 查詢處理機單點失效的容錯處理Fig.8 Fault tolerant of the processor query failure
DataNode向AvatarNode0和AvatarNode1同時發(fā)送心跳信息和BlockReport,其中包括Block的位置信息.
NFS服務(wù)器存儲AvatarNode0和AvatarNode1的Fsimage和Editlog.AvatarNode的Primary節(jié)點寫入Editlog,Standby節(jié)點讀取Editlog,更新內(nèi)存中的元數(shù)據(jù)信息,并且定期執(zhí)行CheckPoint,將Fsimage及Editlog回寫到NFS服務(wù)器.
Master節(jié)點單點失效的容錯處理如圖9所示.可見,AvatarNode0以Primary方式啟動,AvatarNode1以Standby方式啟動,然后啟動各個DataNode;當確定AvatarNode0發(fā)生故障后,可以將AvatarNode1手動切換到Primary,同時挑選出一個備用的節(jié)點,并以Standby方式啟動,如此即便AvatarNode1發(fā)生了故障,也能夠把備用的節(jié)點切換為Primary狀態(tài),從而保證NameNode節(jié)點可以始終處于工作狀態(tài).
圖9 Master節(jié)點單點失效的容錯處理Fig.9 Fault tolerant of the master nodes query failure
3.2.2 計算與存儲集群的負載均衡處理
本節(jié)所提到的“負載均衡”主要包括合理分配初始任務(wù),以及事后時刻監(jiān)督、及時調(diào)整兩個階段的事務(wù).
HDFS分為Replication Target Chooser和Balancer兩大類.前者起著為數(shù)據(jù)塊尋找“婆家”的作用.總體上,數(shù)據(jù)塊的分配、備份數(shù)量、數(shù)據(jù)的服務(wù)器位置以及客戶端地址之間有著緊密的聯(lián)系,而計算時只需考慮靜態(tài)位置的信息,以期將多重備份分配到不同的機器上(具體算法,自行參見源碼).后者是對前者的補充.因為后者是為了實現(xiàn)動態(tài)的負載調(diào)整而存在的,其運作過程遵循Client Protocol和NameNode Protocol兩個協(xié)議,通過與主控服務(wù)器之間的信息傳遞,獲知單個數(shù)據(jù)服務(wù)器的負載情況,從而實現(xiàn)及時而有效的調(diào)整.此外,Balancer會向相關(guān)的目標數(shù)據(jù)服務(wù)器發(fā)出一個DataTransferProtocol.OP REPLACEBLOCK消息.當數(shù)據(jù)服務(wù)器接收到這個消息時,就會寫入新的數(shù)據(jù)塊并且向主控服務(wù)器發(fā)出通知,使其刪除同一個數(shù)據(jù)服務(wù)器上最初寫入的那個數(shù)據(jù)塊.MapReduce使用公平調(diào)度法進行負載平衡,可以對多個用戶指派任務(wù),其優(yōu)勢在于可以使全部任務(wù)在時間的推移下,得到與其權(quán)值相應(yīng)的共享資源.如果只有一個任務(wù)在執(zhí)行,那么整個集群都會工作;而一旦上傳了其他任務(wù),平臺就會給空閑的任務(wù)計算槽提供新任務(wù),從而使所有任務(wù)基本都能得到與權(quán)值相應(yīng)的計算時間.這個特性無疑帶來一個好處,即可以在合理時間內(nèi)完成短任務(wù)的同時,又可確保對長任務(wù)的完成質(zhì)量.
作為基于云計算的VOCs監(jiān)測預(yù)警云平臺,本平臺不需要昂貴的設(shè)備,只采用了包括特征因子監(jiān)測器、各類傳感器、數(shù)據(jù)集中器、風速風向儀以及聲光報警器等在內(nèi)的傳統(tǒng)設(shè)備,在對比分析海量科學(xué)數(shù)據(jù)的基礎(chǔ)上,實現(xiàn)了在宏觀和微觀上對特定區(qū)域VOCs的監(jiān)測預(yù)警功能.本平臺使用的采集設(shè)備以及分析測試方法具有自動化程度高、測定速度快以及數(shù)據(jù)處理量大而準確的優(yōu)點,在真正意義上實現(xiàn)了對VOCs污染事件的秒級響應(yīng),同時還可以與現(xiàn)有的監(jiān)測點形成互補優(yōu)勢,從而保證了對所發(fā)布空氣質(zhì)量數(shù)據(jù)的參考價值.