李 明,陳積富,易小榮,劉書(shū)銘
(1.岳陽(yáng)林紙股份有限公司,湖南 岳陽(yáng) 414002; 2.江西財(cái)經(jīng)大學(xué)軟件與物聯(lián)網(wǎng)工程學(xué)院,江西 南昌 330032)
洞庭湖處于湖南省的東北部地區(qū),是我國(guó)第二大淡水湖,面積2579.2 km2,總?cè)莘e為220億 m3[1]。后來(lái),由于受到了人工圍墾以及自然淤積等因素的影響使得洞庭湖湖面面積逐漸縮小。隨著社會(huì)的發(fā)展,工業(yè)化、城鎮(zhèn)化建設(shè)步伐的加快,也使得洞庭湖流域地區(qū)污染排放激增,再加上過(guò)度捕撈以及湖砂采挖的影響導(dǎo)致整個(gè)洞庭湖的生態(tài)環(huán)境受到了一定程度的破壞[2-3]。因此,洞庭湖的生態(tài)環(huán)境保護(hù)問(wèn)題迫在眉睫,必須通過(guò)使用有效的環(huán)境監(jiān)測(cè)手段與監(jiān)測(cè)系統(tǒng)確保環(huán)境污染不再發(fā)生[4-7];同時(shí),還應(yīng)根據(jù)監(jiān)測(cè)所得到的數(shù)據(jù)有針對(duì)性地制定相應(yīng)的防護(hù)措施[8]。
環(huán)境監(jiān)測(cè)是指通過(guò)一系列布置在環(huán)境中的傳感器,獲得目標(biāo)環(huán)境的實(shí)時(shí)環(huán)境數(shù)據(jù)[9-11]。這些環(huán)境監(jiān)測(cè)數(shù)據(jù)將為環(huán)境健康監(jiān)測(cè)、環(huán)境治理與改善提供重要的決策支持信息。環(huán)境監(jiān)測(cè)系統(tǒng)利用計(jì)算機(jī)對(duì)這些監(jiān)測(cè)數(shù)據(jù)進(jìn)行分析,從而得到影響環(huán)境狀況的各種要素,并且能通過(guò)污染源監(jiān)測(cè)點(diǎn)的詳細(xì)資料,對(duì)整體環(huán)境的狀況進(jìn)行分析、監(jiān)測(cè)。環(huán)境監(jiān)測(cè)系統(tǒng)的運(yùn)用有利于收集更加全面、詳盡的環(huán)境指標(biāo)數(shù)據(jù),方便對(duì)環(huán)境數(shù)據(jù)實(shí)現(xiàn)自動(dòng)化處理與高效存儲(chǔ)。此外,通過(guò)信息系統(tǒng)的運(yùn)用,有利于對(duì)可能出現(xiàn)的環(huán)境問(wèn)題作出快速的響應(yīng)與處理。
環(huán)境監(jiān)測(cè)是一項(xiàng)長(zhǎng)期、持續(xù)性的工作,因此不可避免地需要收集海量、動(dòng)態(tài)的監(jiān)測(cè)指標(biāo)數(shù)據(jù),具備明顯的大數(shù)據(jù)特征。大數(shù)據(jù)技術(shù)的快速發(fā)展與普及,展現(xiàn)了它在數(shù)據(jù)密集型行業(yè)的強(qiáng)大技術(shù)使能。不難看出,環(huán)境監(jiān)測(cè)領(lǐng)域是一個(gè)非常典型的大數(shù)據(jù)技術(shù)應(yīng)用場(chǎng)景。通過(guò)使用大數(shù)據(jù)技術(shù)手段[12],環(huán)境監(jiān)測(cè)會(huì)變得更加高效:可以對(duì)各項(xiàng)環(huán)境指數(shù)實(shí)現(xiàn)全方位的采集、分析甚至預(yù)測(cè);同時(shí)也可以檢測(cè)監(jiān)測(cè)數(shù)據(jù)的可信性,確保環(huán)境監(jiān)測(cè)系統(tǒng)的可靠性與高效性[13]。
在環(huán)境監(jiān)測(cè)技術(shù)的萌芽時(shí)期,因受科技發(fā)展的制約,整個(gè)監(jiān)測(cè)的過(guò)程依賴(lài)人工進(jìn)行。針對(duì)特定被監(jiān)測(cè)環(huán)境,人工部署監(jiān)測(cè)點(diǎn)并進(jìn)行數(shù)據(jù)的采樣、處理、保存等操作[14]。顯然,這種環(huán)境監(jiān)測(cè)的方式存在效率低、耗能大等問(wèn)題。并且,通過(guò)人工方式干預(yù)的數(shù)據(jù)處理將會(huì)帶來(lái)較大的誤差,這使得環(huán)境監(jiān)測(cè)對(duì)環(huán)境保護(hù)的意義大打折扣。
隨著科學(xué)技術(shù)的快速發(fā)展,部分研究人員將計(jì)算機(jī)技術(shù)與無(wú)線(xiàn)傳感技術(shù)應(yīng)用到環(huán)境監(jiān)測(cè)中開(kāi)發(fā)了若干環(huán)境監(jiān)測(cè)系統(tǒng)[15],這些系統(tǒng)具有誤差小、實(shí)時(shí)性高等特點(diǎn),實(shí)現(xiàn)了由效率低下的人工處理方式轉(zhuǎn)變?yōu)樽詣?dòng)化的監(jiān)測(cè)方式。例如,張楠[16]將嵌入式處理器技術(shù)運(yùn)用在大氣環(huán)境監(jiān)測(cè)系統(tǒng)的設(shè)計(jì)中,他的研究工作可以做到將傳感器檢測(cè)到的環(huán)境數(shù)據(jù)進(jìn)行實(shí)時(shí)顯示,具有較強(qiáng)的實(shí)時(shí)性特點(diǎn)。何蘊(yùn)良[17]則從組網(wǎng)的角度考慮,在構(gòu)建環(huán)境監(jiān)測(cè)系統(tǒng)時(shí)采用ZigBee技術(shù)進(jìn)行組網(wǎng),相較于傳統(tǒng)的環(huán)境監(jiān)測(cè)系統(tǒng)能監(jiān)測(cè)的項(xiàng)目更多。國(guó)外一些團(tuán)隊(duì)則從其它方面對(duì)環(huán)境監(jiān)測(cè)技術(shù)進(jìn)行了研究。例如,莫斯科技術(shù)大學(xué)的研究團(tuán)隊(duì)在環(huán)境監(jiān)測(cè)系統(tǒng)的數(shù)據(jù)交換方式上提出了一種無(wú)線(xiàn)電網(wǎng)絡(luò)最優(yōu)信道選擇方法[18],該方法能基于環(huán)境監(jiān)測(cè)系統(tǒng)運(yùn)行的某一特定時(shí)刻的特點(diǎn)進(jìn)行候選信道切換,使得系統(tǒng)進(jìn)行數(shù)據(jù)交換時(shí)能時(shí)刻保持最優(yōu)的信道選擇方案。針對(duì)不利于無(wú)線(xiàn)通信的惡劣環(huán)境情況,ABB公司研究中心的工程師設(shè)計(jì)了一種無(wú)線(xiàn)Thread網(wǎng)狀網(wǎng)絡(luò)數(shù)據(jù)傳輸系統(tǒng)[19],集成了該系統(tǒng)的環(huán)境監(jiān)測(cè)系統(tǒng)能在惡劣環(huán)境條件下仍然保持良好的工作狀態(tài)。
不同于上述研究中的技術(shù),大數(shù)據(jù)是基于多種數(shù)據(jù)來(lái)源所得到的海量數(shù)據(jù)的總稱(chēng),其特點(diǎn)不僅僅是數(shù)據(jù)量大,數(shù)據(jù)類(lèi)型也相當(dāng)繁多,同時(shí)還具有很強(qiáng)的時(shí)效性。和傳統(tǒng)方式相比,大數(shù)據(jù)無(wú)論是在資源存儲(chǔ)上,還是在對(duì)數(shù)據(jù)進(jìn)行處理分析上都具有高效性[20]。因此,針對(duì)洞庭湖流域區(qū)域廣的特點(diǎn),為其構(gòu)建實(shí)時(shí)、有效的環(huán)境數(shù)據(jù)監(jiān)控與分析的監(jiān)測(cè)系統(tǒng),將大數(shù)據(jù)技術(shù)應(yīng)用在環(huán)境監(jiān)測(cè)系統(tǒng)中是不錯(cuò)的選擇[21-22],是一次新模式的嘗試。
在本文的工作中,通過(guò)擴(kuò)展現(xiàn)有的信息模型和對(duì)象模型,基于大數(shù)據(jù)技術(shù)并利用建模工具來(lái)構(gòu)造適合洞庭湖環(huán)境監(jiān)測(cè)的數(shù)據(jù)模型并開(kāi)展應(yīng)用設(shè)計(jì),以便增加環(huán)境治理的效率。例如,針對(duì)水質(zhì)、大氣、污染等指標(biāo)開(kāi)展實(shí)時(shí)監(jiān)測(cè)并引入預(yù)測(cè)模型,對(duì)未來(lái)環(huán)境的變化趨勢(shì)作出合理的預(yù)測(cè),為之后的環(huán)境保護(hù)規(guī)劃等提供重要的信息、知識(shí)支撐。
作為軟件計(jì)劃階段中必不可少的活動(dòng),需求分析是軟件生命周期的一個(gè)重要環(huán)節(jié)。本文結(jié)合對(duì)洞庭湖流域環(huán)境監(jiān)測(cè)的技術(shù)要求,主要從功能性需求方面對(duì)監(jiān)測(cè)軟件系統(tǒng)設(shè)計(jì)與開(kāi)發(fā)需求進(jìn)行分析。
功能性需求作為軟件需求中的主體,用于分析開(kāi)發(fā)人員必須在軟件系統(tǒng)中實(shí)現(xiàn)的基本軟件功能。因此在功能性需求上,本文對(duì)所提出的洞庭湖流域環(huán)境監(jiān)測(cè)系統(tǒng)進(jìn)行分析,基本功能包含如下:1)結(jié)合硬件對(duì)傳感數(shù)據(jù)進(jìn)行收集,并對(duì)數(shù)據(jù)進(jìn)行初步驗(yàn)證,最后將數(shù)據(jù)保存至數(shù)據(jù)庫(kù)中;2)利用數(shù)據(jù)處理方法對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行清洗、變換、特征提取,從中挖掘出重要特征信息;3)基于處理后的監(jiān)測(cè)數(shù)據(jù)構(gòu)建環(huán)境監(jiān)測(cè)的異常分析與預(yù)警處理模型,對(duì)實(shí)時(shí)傳送過(guò)來(lái)的環(huán)境監(jiān)測(cè)數(shù)據(jù)進(jìn)行預(yù)測(cè)與預(yù)警。
結(jié)合洞庭湖流域環(huán)境監(jiān)測(cè)的實(shí)際需求,本文設(shè)計(jì)并實(shí)現(xiàn)一個(gè)功能完備的洞庭湖環(huán)境監(jiān)測(cè)系統(tǒng)。系統(tǒng)模塊架構(gòu)如圖1所示,該系統(tǒng)的核心功能模塊包括用戶(hù)管理模塊、數(shù)據(jù)監(jiān)測(cè)模塊、數(shù)據(jù)分析模塊以及預(yù)警處理模塊。
圖1 洞庭湖環(huán)境監(jiān)測(cè)系統(tǒng)架構(gòu)圖
用戶(hù)管理模塊主要負(fù)責(zé)環(huán)境監(jiān)測(cè)系統(tǒng)相關(guān)用戶(hù)的注冊(cè)、系統(tǒng)登錄驗(yàn)證,以及對(duì)不同類(lèi)型的用戶(hù)實(shí)現(xiàn)不同層次的授權(quán)管理。數(shù)據(jù)監(jiān)測(cè)模塊則主要負(fù)責(zé)收集各環(huán)境監(jiān)測(cè)點(diǎn)的傳感數(shù)據(jù),并對(duì)收集到的數(shù)據(jù)進(jìn)行有效性校驗(yàn),將通過(guò)校驗(yàn)的數(shù)據(jù)更新至數(shù)據(jù)庫(kù)中并實(shí)施多個(gè)級(jí)別數(shù)據(jù)庫(kù)的同步處理。后續(xù)的數(shù)據(jù)分析模塊,則主要是對(duì)噪音、冗余數(shù)據(jù)進(jìn)行清理,并將多個(gè)監(jiān)測(cè)來(lái)源的數(shù)據(jù)進(jìn)行集成,再在整體數(shù)據(jù)上實(shí)施統(tǒng)計(jì)分析與數(shù)據(jù)挖掘。最后,將大數(shù)據(jù)分析與挖掘出的異常信息通過(guò)預(yù)警處理模塊進(jìn)行可視化的顯示,以提醒環(huán)境監(jiān)測(cè)工作人員作出必要的應(yīng)對(duì)處理。
2.3.1 用戶(hù)管理模塊
用戶(hù)管理模塊主要是對(duì)系統(tǒng)中各類(lèi)用戶(hù)的基本信息、登錄口令、訪(fǎng)問(wèn)與操作權(quán)限等進(jìn)行存儲(chǔ),并提供這些信息的登記、注銷(xiāo)與更新的操作接口。在系統(tǒng)的登錄頁(yè)面上,首先需要判斷系統(tǒng)中是否存在該用戶(hù)的賬號(hào)信息。該信息在后臺(tái)數(shù)據(jù)庫(kù)中一般以用戶(hù)表的形式進(jìn)行存儲(chǔ),主要包括用戶(hù)ID、用戶(hù)真實(shí)姓名、登錄密碼等信息。在本系統(tǒng)用戶(hù)管理模塊中,若系統(tǒng)中不存在該用戶(hù),則跳轉(zhuǎn)至用戶(hù)注冊(cè)頁(yè)面進(jìn)行信息登記并申請(qǐng)賬號(hào)。后臺(tái)系統(tǒng)管理員確認(rèn)該用戶(hù)的申請(qǐng)后,用戶(hù)便可以用戶(hù)ID和登錄密碼的形式登錄系統(tǒng)。隨后,用戶(hù)便可以對(duì)自身的基本信息進(jìn)行修改,并申請(qǐng)?jiān)谠撓到y(tǒng)中的一些操作權(quán)限。該操作權(quán)限獲批后,使得用戶(hù)能在環(huán)境監(jiān)測(cè)系統(tǒng)中從事對(duì)應(yīng)工作崗位的操作與處理。
2.3.2 數(shù)據(jù)監(jiān)測(cè)模塊
數(shù)據(jù)監(jiān)測(cè)模塊的功能包括數(shù)據(jù)采集、同步數(shù)據(jù)庫(kù)以及數(shù)據(jù)校驗(yàn),其操作流程如圖2所示。在數(shù)據(jù)采集階段,當(dāng)本監(jiān)測(cè)系統(tǒng)檢測(cè)并連接到已部署的傳感器時(shí),系統(tǒng)將會(huì)收集各傳感器發(fā)送的信號(hào),通過(guò)處理轉(zhuǎn)換成數(shù)字信號(hào),隨后將數(shù)字信號(hào)進(jìn)行轉(zhuǎn)換得到具體的環(huán)境數(shù)字信息。針對(duì)洞庭湖的環(huán)境特點(diǎn),本系統(tǒng)部署的傳感器將收集空氣濕度、降雨量、風(fēng)速等較為基本的數(shù)據(jù)類(lèi)型,除此之外,二氧化碳濃度、有機(jī)物含量、重金屬含量、微生物含量等數(shù)據(jù)也在本系統(tǒng)的監(jiān)測(cè)范圍之內(nèi)。
圖2 數(shù)據(jù)監(jiān)測(cè)模塊流程圖
系統(tǒng)采集完環(huán)境數(shù)據(jù)后,會(huì)將數(shù)據(jù)同步至數(shù)據(jù)庫(kù),并且系統(tǒng)會(huì)對(duì)已同步的傳感器自檢數(shù)據(jù)進(jìn)行校驗(yàn):當(dāng)校驗(yàn)為正常時(shí),傳感器繼續(xù)采集數(shù)據(jù);當(dāng)校驗(yàn)結(jié)果為異常或自檢數(shù)據(jù)丟失時(shí),系統(tǒng)會(huì)在用戶(hù)查看數(shù)據(jù)頁(yè)面顯示傳感器異常。
2.3.3 數(shù)據(jù)庫(kù)設(shè)計(jì)
根據(jù)系統(tǒng)需求與各階段的設(shè)計(jì)分析,對(duì)洞庭湖環(huán)境監(jiān)測(cè)系統(tǒng)的數(shù)據(jù)庫(kù)表設(shè)計(jì)如表1所示。在本系統(tǒng)中,一共包含6個(gè)數(shù)據(jù)庫(kù)表。其中用戶(hù)數(shù)據(jù)庫(kù)表存儲(chǔ)系統(tǒng)用戶(hù)的基本信息。每個(gè)監(jiān)測(cè)站點(diǎn)的傳感器設(shè)備信息則由傳感設(shè)備信息表存儲(chǔ)。通過(guò)傳感器等硬件設(shè)備獲取的監(jiān)測(cè)數(shù)據(jù)則使用監(jiān)測(cè)節(jié)點(diǎn)數(shù)據(jù)庫(kù)表存儲(chǔ)。預(yù)警數(shù)據(jù)表則被用來(lái)存儲(chǔ)預(yù)警預(yù)測(cè)模型的預(yù)警信息。在本系統(tǒng)給出的預(yù)警信息中,會(huì)包含各種異常類(lèi)型信息,它們由異常類(lèi)型信息表來(lái)存儲(chǔ)。
表1 洞庭湖環(huán)境監(jiān)測(cè)系統(tǒng)數(shù)據(jù)庫(kù)表
圖3為洞庭湖環(huán)境監(jiān)測(cè)系統(tǒng)的實(shí)體—關(guān)系圖,為避免繁雜省略了各實(shí)體的屬性。由圖3可知,其中一個(gè)監(jiān)測(cè)站點(diǎn)應(yīng)包含多個(gè)傳感器設(shè)備,這些設(shè)備被用來(lái)獲取洞庭湖的環(huán)境指標(biāo)數(shù)據(jù),多個(gè)傳感器設(shè)備同時(shí)監(jiān)測(cè)可得到一組監(jiān)測(cè)節(jié)點(diǎn)數(shù)據(jù)。因此監(jiān)測(cè)站點(diǎn)與傳感設(shè)備是1對(duì)n的關(guān)系,而與監(jiān)測(cè)節(jié)點(diǎn)數(shù)據(jù)是1對(duì)1的關(guān)系。通過(guò)對(duì)一組監(jiān)測(cè)節(jié)點(diǎn)數(shù)據(jù)進(jìn)行處理分析可判斷洞庭湖這一監(jiān)測(cè)站點(diǎn)附近的環(huán)境狀況,系統(tǒng)將給出相對(duì)應(yīng)的預(yù)警信息,而預(yù)警信息包含了各種異常類(lèi)型信息。則預(yù)警信息與監(jiān)測(cè)節(jié)點(diǎn)數(shù)據(jù)之間為1對(duì)1的關(guān)系,異常類(lèi)型信息是1對(duì)n的關(guān)系。用戶(hù)可以查看所有的預(yù)警信息,預(yù)警信息也可被不同權(quán)限等級(jí)的用戶(hù)查看。所以用戶(hù)與預(yù)警信息之間為m對(duì)n的多對(duì)多關(guān)系。
圖3 洞庭湖環(huán)境監(jiān)測(cè)系統(tǒng)實(shí)體—關(guān)系圖
因篇幅限制,本文以數(shù)據(jù)監(jiān)測(cè)模塊的監(jiān)測(cè)節(jié)點(diǎn)數(shù)據(jù)為例,來(lái)介紹具體的屬性信息。如圖4所示,其中監(jiān)測(cè)節(jié)點(diǎn)為實(shí)體,其它信息則為該實(shí)體的屬性信息。節(jié)點(diǎn)ID是在環(huán)境監(jiān)測(cè)模塊中為每個(gè)監(jiān)測(cè)節(jié)點(diǎn)設(shè)置的一個(gè)唯一的編號(hào),通過(guò)該編號(hào)查詢(xún)監(jiān)測(cè)節(jié)點(diǎn)信息表便可獲得監(jiān)測(cè)點(diǎn)的物理經(jīng)緯度、傳感器個(gè)數(shù)、傳感器類(lèi)型等方面的信息。對(duì)于每個(gè)監(jiān)測(cè)節(jié)點(diǎn),在本系統(tǒng)中將通過(guò)傳感設(shè)備收集空氣濕度、風(fēng)速、降雨量等基本環(huán)境信息數(shù)據(jù)。不僅如此,二氧化碳濃度、酸度、重金屬含量、有機(jī)物含量、微生物含量等方面的環(huán)境數(shù)據(jù)也將被收集并用于處理分析。
圖4 監(jiān)測(cè)節(jié)點(diǎn)數(shù)據(jù)實(shí)體圖
結(jié)合圖4,可將數(shù)據(jù)監(jiān)測(cè)模塊的數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)轉(zhuǎn)換為數(shù)據(jù)模型。數(shù)據(jù)監(jiān)測(cè)模塊的數(shù)據(jù)庫(kù)表結(jié)構(gòu)如表2所示。其中節(jié)點(diǎn)ID的數(shù)據(jù)類(lèi)型為string,且該字段為唯一且不為空的主鍵。其它字段均為系統(tǒng)收集且處理后的監(jiān)測(cè)數(shù)據(jù),數(shù)據(jù)類(lèi)型均為double,并且這些字段不能為空。
表2 數(shù)據(jù)監(jiān)測(cè)模塊數(shù)據(jù)表
2.3.4 數(shù)據(jù)分析模塊
數(shù)據(jù)分析模塊使用了大數(shù)據(jù)的虛擬化集成框架來(lái)處理、分析數(shù)據(jù),其主要功能包括數(shù)據(jù)清理、數(shù)據(jù)變換、特征提取。
圖5描述了數(shù)據(jù)分析的流程。通過(guò)傳感器獲取到原始監(jiān)測(cè)數(shù)據(jù)后,首先對(duì)其進(jìn)行數(shù)據(jù)清理處理。這里以清理冗余信息為例來(lái)介紹利用相關(guān)分析的技術(shù)手段解決該問(wèn)題的途徑。一般而言,相關(guān)分析是通過(guò)判斷2個(gè)屬性間的相關(guān)性以揭示它們之間是否存在關(guān)聯(lián)性。對(duì)于標(biāo)稱(chēng)類(lèi)型的數(shù)據(jù)而言,一般采取以下方式來(lái)計(jì)算相關(guān)性[23]:
圖5 數(shù)據(jù)分析流程圖
(1)
其中,c和r分別表示特征變量M和N可能的取值類(lèi)別數(shù),oij代表聯(lián)合特征(Mi,Nj)實(shí)際的計(jì)數(shù),eij則代表(Mi,Nj)的期望頻度。
針對(duì)數(shù)值型類(lèi)別的數(shù)據(jù),可以通過(guò)計(jì)算2個(gè)屬性之間的相關(guān)系數(shù)來(lái)判斷2個(gè)屬性相關(guān)程度,具體計(jì)算方式如下:
(2)
完成數(shù)據(jù)的清理之后,需要將監(jiān)測(cè)數(shù)據(jù)進(jìn)行數(shù)據(jù)變換,使數(shù)據(jù)變得更加規(guī)范化,并落入一個(gè)長(zhǎng)度統(tǒng)一、固定的區(qū)間內(nèi)。本文使用min-max規(guī)范化的方法對(duì)數(shù)據(jù)實(shí)施變換處理。將各監(jiān)測(cè)點(diǎn)的環(huán)境數(shù)據(jù)通過(guò)清理、變換、集成到一起之后,便可以構(gòu)造一些模型來(lái)實(shí)施預(yù)測(cè)或者分類(lèi)。為了提升這些機(jī)器學(xué)習(xí)模型的訓(xùn)練效率,需要對(duì)環(huán)境監(jiān)測(cè)數(shù)據(jù)的指標(biāo)進(jìn)行分析與選擇。為了在不降低(或盡量不降低)分類(lèi)或預(yù)測(cè)精度的前提下,減小特征空間的維數(shù)以減少計(jì)算量,需要從全部的數(shù)據(jù)屬性集中選擇出部分關(guān)鍵性的特征用于后續(xù)的分類(lèi)或預(yù)測(cè)。首先,對(duì)每個(gè)維度的特征進(jìn)行打分,即給每個(gè)數(shù)據(jù)屬性賦予一個(gè)權(quán)重,該權(quán)重代表該維特征的重要性,然后以信息增益為依據(jù)開(kāi)展關(guān)鍵性特征選擇。
完成上述數(shù)據(jù)清理、轉(zhuǎn)換、特征提取之后,后續(xù)的預(yù)警處理模塊可基于這些處理后的監(jiān)測(cè)環(huán)境數(shù)據(jù)進(jìn)行預(yù)警模型的構(gòu)建,該模型能夠?qū)Σ煌N類(lèi)和環(huán)境下的環(huán)境監(jiān)測(cè)數(shù)據(jù)開(kāi)展有效的分類(lèi),從而判別哪些環(huán)境監(jiān)測(cè)點(diǎn)的環(huán)境指標(biāo)出現(xiàn)異常。
2.3.5 預(yù)警處理模塊
針對(duì)各監(jiān)測(cè)點(diǎn)收集到的環(huán)境監(jiān)測(cè)數(shù)據(jù),經(jīng)過(guò)上述的數(shù)據(jù)清理和轉(zhuǎn)換之后,可得到集成與預(yù)處理的數(shù)據(jù),隨后便可運(yùn)用基于信息增益的方法開(kāi)展各特征屬性重要程度的分析,對(duì)數(shù)據(jù)特征進(jìn)行進(jìn)一步的約簡(jiǎn)。完成特征選擇之后,就可以進(jìn)行下一步模型訓(xùn)練。
圖6描述了模型的訓(xùn)練與預(yù)測(cè)過(guò)程。在訓(xùn)練階段,首先對(duì)傳感器收集到的歷史監(jiān)測(cè)數(shù)據(jù)集進(jìn)行數(shù)據(jù)分析,隨后將數(shù)據(jù)集作為訓(xùn)練數(shù)據(jù)輸入到選定的模型中進(jìn)行訓(xùn)練。本文使用Logistic Regression (LR)模型[24],選定假說(shuō)函數(shù)和損失函數(shù),基于已有的數(shù)據(jù),使得損失函數(shù)達(dá)到最優(yōu),得到最終的模型。具體模型如下:
圖6 預(yù)警模型訓(xùn)練與預(yù)測(cè)流程圖
(3)
(4)
完成基于邏輯回歸LR的分類(lèi)模型構(gòu)建后,在模型的預(yù)測(cè)階段,輸入一個(gè)給定的環(huán)境監(jiān)測(cè)指標(biāo)數(shù)據(jù),便可判別該監(jiān)測(cè)點(diǎn)周?chē)赡馨l(fā)生了哪種類(lèi)型的環(huán)境污染或異常。
整個(gè)預(yù)警處理模塊流程如圖7所示。每當(dāng)收集到一條實(shí)時(shí)傳送過(guò)來(lái)的環(huán)境監(jiān)測(cè)數(shù)據(jù)記錄,便作為輸入代入訓(xùn)練好的分類(lèi)模型,模型能很快地給出一個(gè)環(huán)境狀況的預(yù)測(cè)結(jié)果。例如,環(huán)境正常、水質(zhì)異常、空氣污染、土壤酸度異常等。依照該預(yù)測(cè)結(jié)果,在系統(tǒng)中便會(huì)產(chǎn)生一個(gè)預(yù)警信息,環(huán)境管理部門(mén)的工作人員根據(jù)該異常預(yù)警信息,便可委派基層的環(huán)境巡查員赴對(duì)應(yīng)的環(huán)境監(jiān)測(cè)點(diǎn)開(kāi)展實(shí)地核查。這樣,通過(guò)環(huán)境監(jiān)測(cè)數(shù)據(jù)的實(shí)時(shí)收集、快速預(yù)測(cè)等手段,保證了對(duì)環(huán)境污染問(wèn)題的迅速響應(yīng)與快速處置,能有效地避免環(huán)境污染問(wèn)題的擴(kuò)大化,極大地降低環(huán)境污染風(fēng)險(xiǎn)。
圖7 預(yù)警處理模塊流程圖
本系統(tǒng)基于JFinal、Layui、MySQL框架實(shí)現(xiàn)。其中JFinal框架用來(lái)構(gòu)建本系統(tǒng)的業(yè)務(wù)邏輯處理層,它是基于Java語(yǔ)言的極速Web+ORM框架,特點(diǎn)是項(xiàng)目開(kāi)發(fā)周期短、輕量級(jí)、易擴(kuò)展,且支持RESTful架構(gòu)[25-26]。此外,JFinal框架遵循CoC(Convention over Configuration)原則[27],符合大部分開(kāi)發(fā)者的編程習(xí)慣。本系統(tǒng)的前端UI框架則采用了遵循模塊化規(guī)范的Layui框架,該框架采用原生HTMLCSSJS的開(kāi)發(fā)方式,極大地提高了開(kāi)發(fā)效率。MySQL作為最流行的開(kāi)源關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),它具有輕量化、速度快、易維護(hù)等特點(diǎn),因此本系統(tǒng)使用MySQL框架來(lái)構(gòu)建數(shù)據(jù)存儲(chǔ)層。
布置在洞庭湖流域的傳感器數(shù)量龐大,相關(guān)維護(hù)人員不可能頻繁地檢查每個(gè)傳感器運(yùn)行情況。因此,布置在洞庭湖流域的傳感器都有自檢功能,維護(hù)人員可以通過(guò)頁(yè)面查看傳感器設(shè)備運(yùn)行情況。監(jiān)測(cè)設(shè)備狀態(tài)的流程如圖8所示。
圖8 監(jiān)測(cè)設(shè)備狀態(tài)流程圖
在本系統(tǒng)中,監(jiān)測(cè)設(shè)備狀態(tài)頁(yè)面如圖9所示,該界面顯示的是針對(duì)洞庭湖流域環(huán)境監(jiān)測(cè)設(shè)備開(kāi)展全天候狀態(tài)分析的程序模塊。在該界面的左上角顯示了設(shè)備的數(shù)量、設(shè)備增加數(shù)等基本信息。而右上角則可顯示某一具體設(shè)備的使用頻率、開(kāi)關(guān)機(jī)次數(shù)、溫度、信號(hào)強(qiáng)度等具體信息。還有一個(gè)較為重要的信息顯示在界面的右下角,這里給出了設(shè)備維保的具體信息,包括維護(hù)時(shí)間、維保人、聯(lián)系方式等重要信息,使得設(shè)備的維保做到有據(jù)可查、有跡可循。
圖9 監(jiān)測(cè)設(shè)備狀態(tài)頁(yè)面
該系統(tǒng)通過(guò)大數(shù)據(jù)虛擬化集成框架,對(duì)數(shù)據(jù)進(jìn)行一系列的預(yù)處理后,再對(duì)數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析以及差異性分析,最后通過(guò)可視化方式進(jìn)行展示。如圖10所示,當(dāng)系統(tǒng)中顯示出異常后,首先需要排查是否是因?yàn)樵O(shè)備故障、天氣變化等因素的影響,進(jìn)而對(duì)所顯示的異常指標(biāo)開(kāi)展有針對(duì)性的分析和追蹤,指導(dǎo)基層的環(huán)境巡查人員開(kāi)展有針對(duì)性的排查,從而快速、準(zhǔn)確地處理環(huán)境污染問(wèn)題。
圖10 預(yù)警異常處理流程圖
不難看出,通過(guò)監(jiān)測(cè)系統(tǒng)所提供的自動(dòng)化統(tǒng)計(jì)分析與可視化顯示,能夠?qū)崟r(shí)地掌握洞庭湖流域內(nèi)的各項(xiàng)環(huán)境監(jiān)測(cè)指標(biāo),對(duì)出現(xiàn)的環(huán)境問(wèn)題做到可追蹤、可溯源,對(duì)環(huán)境污染問(wèn)題能開(kāi)展宏觀分析與及時(shí)處置,從而為政策制定、環(huán)境治理、管理決策等提供重要的技術(shù)支持。
在本系統(tǒng)中,圖11為數(shù)據(jù)分析異常的可視化顯示。該界面的左上角可選擇需要查詢(xún)數(shù)據(jù)的日期及區(qū)域。其余位置則依次顯示本系統(tǒng)監(jiān)測(cè)到的各類(lèi)數(shù)據(jù)信息,包括水量、二氧化碳、重金屬等具體的環(huán)境監(jiān)測(cè)數(shù)據(jù)。在該界面的數(shù)據(jù)匯總選項(xiàng)卡中,各類(lèi)監(jiān)測(cè)信息將被計(jì)算統(tǒng)計(jì)處理后顯示在此,使得技術(shù)人員能更直觀、全面地獲取監(jiān)測(cè)信息。
圖11 數(shù)據(jù)分析可視化頁(yè)面
利用監(jiān)測(cè)點(diǎn)收集的環(huán)境監(jiān)測(cè)數(shù)據(jù),預(yù)警處理模型可快速準(zhǔn)確地對(duì)環(huán)境狀況進(jìn)行預(yù)測(cè)。預(yù)警處理模型給出的預(yù)測(cè)數(shù)據(jù)結(jié)構(gòu)復(fù)雜并且難以理解,而預(yù)警處理可視化模塊則能使用可視化的方法將預(yù)測(cè)數(shù)據(jù)轉(zhuǎn)換為圖文的方式進(jìn)行表達(dá),這樣能高效地將預(yù)測(cè)數(shù)據(jù)信息傳遞給監(jiān)測(cè)人員,保證對(duì)環(huán)境問(wèn)題的快速響應(yīng)與處理。下面給出預(yù)警處理可視化模塊的部分代碼,其中第3行為清空預(yù)警預(yù)測(cè)數(shù)據(jù)展示區(qū)域,第12行代碼讀取預(yù)警預(yù)測(cè)數(shù)據(jù),第24行代碼將預(yù)警預(yù)測(cè)數(shù)據(jù)添加到展示區(qū)域。
1.public void writeFileToTextArea(String filePath, String fileName, TabPane tabPane, Tab tab, TextArea textArea){
2.tab.setText(fileName);
3.textArea.clear(); //清空預(yù)警預(yù)測(cè)數(shù)據(jù)展示區(qū)域
4.File file=new File(filePath);
5.String content="";
6.if (file.exists()){
7.String line;
8.try{
9.FileReader fileReader=new FileReader(file);
10.BufferedReader bufferedFileReader=new BufferedReader(fileReader);
11.while ((line=bufferedFileReader.readLine())!=null){
12.content+=line+" ";//讀取預(yù)警預(yù)測(cè)數(shù)據(jù)
13.}
14.bufferedFileReader.close();
15.fileReader.close();
16.} catch (Exception e){
17.}
18.}
19.//設(shè)置數(shù)據(jù)展示區(qū)域
20.textArea.setParagraphGraphicFactory(LineNumberFactory.get(textArea));
21.Subscription cleanupWhenNoLongerNeedIt=textArea.multiPlainChanges()
22..successionEnds(Duration.ofMillis(500))
23..subscribe(ignore->textArea.setStyleSpans(0, computeHighlighting(textArea.getText())));
24.textArea.appendText(content);//添加預(yù)警預(yù)測(cè)數(shù)據(jù)到展示區(qū)域
25.tab.setContent(textArea);
26.tabPane.getTabs().add(tab);
27.}
隨著社會(huì)的快速發(fā)展與經(jīng)濟(jì)水平的不斷提升,廣大民眾的生活水平日益提高。與此同時(shí),人們對(duì)生活環(huán)境問(wèn)題的關(guān)注程度也越來(lái)越高。建設(shè)生態(tài)文明和美麗中國(guó)也已經(jīng)成為了新時(shí)代社會(huì)、經(jīng)濟(jì)發(fā)展的一項(xiàng)重要任務(wù)。在開(kāi)展環(huán)境保護(hù)與治理過(guò)程中,對(duì)生活和生產(chǎn)環(huán)境開(kāi)展連續(xù)性的監(jiān)測(cè)與記錄就顯得尤為必要。通過(guò)傳感設(shè)備及對(duì)應(yīng)的監(jiān)測(cè)系統(tǒng)通常會(huì)收集到海量級(jí)的環(huán)境指標(biāo)數(shù)據(jù),運(yùn)用大數(shù)據(jù)分析與挖掘技術(shù)可以從中挖掘出用于指導(dǎo)環(huán)境污染治理的知識(shí)。本文針對(duì)洞庭湖流域環(huán)境監(jiān)測(cè)的實(shí)際需求,設(shè)計(jì)了一個(gè)集環(huán)境數(shù)據(jù)收集、處理、挖掘與可視化于一體的環(huán)境監(jiān)測(cè)系統(tǒng),并成功地實(shí)現(xiàn)了系統(tǒng)部署與運(yùn)行。洞庭湖流域管理人員面臨的問(wèn)題是無(wú)法獲取可量化的環(huán)境數(shù)據(jù)作為依據(jù)來(lái)作出合理的治理決策,以降低管理成本。而本系統(tǒng)則可為管理人員提供洞庭湖環(huán)境治理、管理決策等方面重要的技術(shù)支持。
本系統(tǒng)的重點(diǎn)在于預(yù)警模型的建立,而模型的訓(xùn)練則依賴(lài)于數(shù)據(jù),因此本文研究的重難點(diǎn)在于數(shù)據(jù)的處理。本文首先根據(jù)不同類(lèi)型的環(huán)境監(jiān)測(cè)數(shù)據(jù)使用不同的數(shù)據(jù)清理計(jì)算方式,隨后使用了min-max規(guī)范化方法對(duì)清理后的數(shù)據(jù)進(jìn)行變換處理,最后以信息增益為依據(jù)在規(guī)范化后數(shù)據(jù)的基礎(chǔ)上開(kāi)展特征選擇處理。從本系統(tǒng)在洞庭湖的實(shí)際運(yùn)行可知,本文采用的數(shù)據(jù)處理方法可大幅度提高預(yù)警模型的預(yù)測(cè)準(zhǔn)確性。不僅如此,因?yàn)閿?shù)據(jù)清理與特征選擇大大降低了環(huán)境監(jiān)測(cè)數(shù)據(jù)的體量與復(fù)雜性,所以在數(shù)據(jù)吞吐量、響應(yīng)時(shí)間等系統(tǒng)性能指標(biāo)上也得到了較大提高。
在后續(xù)的研究中,將繼續(xù)使用分布式技術(shù)來(lái)優(yōu)化系統(tǒng)的性能,使之能存儲(chǔ)更長(zhǎng)時(shí)間段的歷史監(jiān)測(cè)數(shù)據(jù),并提升環(huán)境污染監(jiān)測(cè)的響應(yīng)速度。