◎ 浙江大學(xué)控制科學(xué)與工程學(xué)系 趙曉東 周洪亮 張宏建
浙江省杭州市飲用水源均取自河流,80%主要來(lái)自錢塘江和東苕溪。在枯水期,隨著沿途取水量的增加,水流減緩,當(dāng)水溫和營(yíng)養(yǎng)鹽條件適合時(shí),爆發(fā)藍(lán)藻水華的可能性大大增加。2004年7月20日至8月15日,錢塘江梅城—閘口河段出現(xiàn)了較為嚴(yán)重的藍(lán)藻爆發(fā),藍(lán)藻水華屬源發(fā)性質(zhì)。富春江大壩建成后,水流減緩,比其他河段相對(duì)更容易爆發(fā)藍(lán)藻。2006年8月15日,杭州余杭東苕溪(奉口段)水源地發(fā)現(xiàn)藍(lán)藻,直接威脅飲用水源安全。其原因是由于來(lái)源于太湖(江蘇境內(nèi))的藍(lán)藻,藍(lán)藻水華屬外源侵入性質(zhì)。國(guó)內(nèi)針對(duì)湖泊水華預(yù)警的研究較多,如太湖、漕湖等大型淡水湖已做過(guò)許多相關(guān)預(yù)警研究。本文結(jié)合其特點(diǎn)設(shè)計(jì)了針對(duì)河流的水華預(yù)警體系,其內(nèi)容包括:水質(zhì)指標(biāo)閾值動(dòng)態(tài)定義及實(shí)時(shí)展現(xiàn)、水華指標(biāo)定義及顯示、預(yù)警模型及接口擴(kuò)展,以及系統(tǒng)設(shè)計(jì)架構(gòu)等幾個(gè)部分。
系統(tǒng)可分為三層:藻類預(yù)警信息發(fā)布中心、業(yè)務(wù)層、數(shù)據(jù)層。結(jié)構(gòu)如圖1所示。
信息發(fā)布層即“藻類預(yù)警信息發(fā)布中心”,做為系統(tǒng)的最終Web展現(xiàn)層,直接依賴于業(yè)務(wù)處理層所提供的各項(xiàng)服務(wù),并間接訪問(wèn)數(shù)據(jù)提供層。用戶可以通過(guò)瀏覽器直接訪問(wèn)發(fā)布的藻類預(yù)警信息,方便地獲得以授權(quán)的水質(zhì)指標(biāo)、預(yù)測(cè)獲得的水華發(fā)生等級(jí)、葉綠素濃度等信息。信息發(fā)布的具體展現(xiàn)形式通過(guò)系統(tǒng)的業(yè)務(wù)層實(shí)現(xiàn),由相應(yīng)的水質(zhì)專家級(jí)管理員完成信息發(fā)布。
業(yè)務(wù)層包含了系統(tǒng)的幾乎所有功能的實(shí)現(xiàn),它在系統(tǒng)中起著承上啟下的作用。業(yè)務(wù)層一方面直接與數(shù)據(jù)庫(kù)連接,擁有著對(duì)數(shù)據(jù)庫(kù)的各項(xiàng)操作能力;另一方面又要響應(yīng)信息發(fā)布層的各種處理請(qǐng)求,為最終用戶提供豐富的服務(wù)。業(yè)務(wù)層還大大簡(jiǎn)化了系統(tǒng)管理和維護(hù)的難度,將所有的功能模塊的實(shí)現(xiàn)聚集在一起使得管理員可以集中精力于此,不要關(guān)心數(shù)據(jù)提供層或者信息發(fā)布層。另外,業(yè)務(wù)層還從邏輯上隔離了信息發(fā)布層和數(shù)據(jù)層,從系統(tǒng)架構(gòu)上就一定程度地防范了各種潛在的惡意攻擊和破壞。
圖1 系統(tǒng)功能結(jié)構(gòu)圖
圖2 指標(biāo)動(dòng)態(tài)展現(xiàn)原理圖
圖3 藻類水華預(yù)警指標(biāo)展現(xiàn)效果圖
數(shù)據(jù)層為系統(tǒng)的最底層,包括了水文數(shù)據(jù)庫(kù)、水質(zhì)數(shù)據(jù)庫(kù)、地理信息數(shù)據(jù)庫(kù)、模型數(shù)據(jù)庫(kù)。各個(gè)數(shù)據(jù)庫(kù)共同為業(yè)務(wù)處理層提供了數(shù)據(jù)支持,并且信息發(fā)布層的原始數(shù)據(jù)也在這些數(shù)據(jù)庫(kù)內(nèi)。數(shù)據(jù)處理層的數(shù)據(jù)來(lái)源則由業(yè)務(wù)處理層的數(shù)據(jù)錄入管理模塊掌控,可以靈活的配置為數(shù)據(jù)接口自動(dòng)錄入方式或者手工錄入方式。
.NET框架是一個(gè)多語(yǔ)言組件開(kāi)發(fā)和執(zhí)行環(huán)境,它提供了一個(gè)跨語(yǔ)言的統(tǒng)一編程環(huán)境。.NET框架的目的是便于開(kāi)發(fā)人員更容易地建立Web應(yīng)用程序和Web服務(wù),使得 Internet上的各應(yīng)用程序之間,可以使用Web服務(wù)進(jìn)行溝通。.NET框架包括兩類應(yīng)用——傳統(tǒng)的Windows應(yīng)用程序(Win Forms)和基于ASP.NET的面向Web的網(wǎng)絡(luò)應(yīng)用程序(Web Forms)——本系統(tǒng)中對(duì)應(yīng)了針對(duì)管理員的桌面管理程序和針對(duì)用戶的Web水質(zhì)信息展現(xiàn)。
C#是微軟公司發(fā)布的一種面向?qū)ο蟮?、運(yùn)行于.NET框架之上的高級(jí)程序設(shè)計(jì)語(yǔ)言。它是微軟公司.NET框架的主角,有著極大的發(fā)展?jié)摿Α?/p>
本系統(tǒng)是圍繞水質(zhì)監(jiān)測(cè)數(shù)據(jù)進(jìn)行展現(xiàn)和分析的河流藻類水華預(yù)警系統(tǒng),故良好的數(shù)據(jù)庫(kù)設(shè)計(jì)對(duì)整個(gè)系統(tǒng)的正常高效運(yùn)作有著重要的影響。系統(tǒng)采用了Microsoft SQL Server 2005這款主流的結(jié)構(gòu)化數(shù)據(jù)庫(kù)產(chǎn)品作為數(shù)據(jù)支持平臺(tái)。除了Microsoft SQL Server 2005本身作為優(yōu)秀數(shù)據(jù)庫(kù)產(chǎn)品的所有特性外,其與.NET框架和C#語(yǔ)言的編程高效性和方便性也是采用它的重要原因之一。表結(jié)構(gòu)的設(shè)計(jì)符合了《中華人民共和國(guó)水利行業(yè)標(biāo)準(zhǔn)》之SL325-2005《水質(zhì)數(shù)據(jù)庫(kù)表結(jié)構(gòu)與標(biāo)識(shí)符標(biāo)準(zhǔn)》。此符合行業(yè)標(biāo)準(zhǔn)的數(shù)據(jù)庫(kù)表設(shè)計(jì)非常便于以后與其它相關(guān)系統(tǒng)的集成和協(xié)同工作。
水質(zhì)指標(biāo)的展現(xiàn)為本系統(tǒng)最關(guān)鍵的模塊之一,此模塊能通過(guò)數(shù)據(jù)表格的方式準(zhǔn)確地展現(xiàn)當(dāng)前的各項(xiàng)水質(zhì)指標(biāo),原理如圖2所示。
除了通用的幾個(gè)固定字段(測(cè)站編號(hào)、測(cè)站名稱、采樣時(shí)間)外,數(shù)據(jù)表格中的字段都是通過(guò)讀取配置文件信息的字段抽取方式定制化地展現(xiàn)的。用戶直接交互的對(duì)象只有Web頁(yè)面,其余的動(dòng)作都是在服務(wù)器端完成的。用戶通過(guò)Web頁(yè)面向服務(wù)器發(fā)送請(qǐng)求,此請(qǐng)求沒(méi)有直接向數(shù)據(jù)庫(kù)請(qǐng)求數(shù)據(jù),而是在業(yè)務(wù)層根據(jù)配置文件內(nèi)的信息(展現(xiàn)內(nèi)容)動(dòng)態(tài)的修飾用戶的請(qǐng)求,然后根據(jù)這一定制化的請(qǐng)求從數(shù)據(jù)庫(kù)提取數(shù)據(jù)再經(jīng)配置文件內(nèi)的信息(閾值、色彩等)將原始數(shù)據(jù)進(jìn)行解析美化,最終在Web頁(yè)面上呈現(xiàn)給用戶。管理員可以對(duì)配置文件中的信息進(jìn)行配置,靈活地改變客戶端展現(xiàn)形式。
這種設(shè)計(jì)方式可以最大限度的提高系統(tǒng)的靈活性,以應(yīng)對(duì)以下情況:
(1)站點(diǎn)不可能監(jiān)測(cè)所有《水質(zhì)數(shù)據(jù)庫(kù)表結(jié)構(gòu)與標(biāo)識(shí)符標(biāo)準(zhǔn)》內(nèi)的字段對(duì)應(yīng)的水質(zhì)指標(biāo),對(duì)沒(méi)有數(shù)據(jù)源的指標(biāo)進(jìn)行展現(xiàn)是沒(méi)有任何意義的,通過(guò)定制配置文件內(nèi)的字段信息可以屏蔽掉那些無(wú)數(shù)據(jù)源的監(jiān)測(cè)指標(biāo);
(2)水質(zhì)指標(biāo)的項(xiàng)類別繁多,而用戶關(guān)心的卻往往是某幾項(xiàng)關(guān)鍵指標(biāo),列出每一項(xiàng)指標(biāo)反而會(huì)造成視覺(jué)混亂影響識(shí)別,并且大量的數(shù)據(jù)請(qǐng)求對(duì)數(shù)據(jù)庫(kù)系統(tǒng)也會(huì)產(chǎn)生不必要的負(fù)荷。
采用字段抽取方式則可以有效的解決此上述問(wèn)題。
經(jīng)過(guò)預(yù)警模型和統(tǒng)計(jì)模型處理后獲得的藻類水華描述主要展現(xiàn)形式包括:葉綠素濃度、優(yōu)勢(shì)藻種、水華發(fā)生概率。如圖3所示。
葉綠素濃度可通過(guò)預(yù)警模型中的機(jī)理模型直接計(jì)算獲得,可對(duì)不同藻種生物量進(jìn)行同時(shí)計(jì)算,在獲得各種生物量的同時(shí),可對(duì)各藻種的生物量進(jìn)行判斷,優(yōu)勢(shì)藻種的生物量相對(duì)于其它藻種具有一定的優(yōu)勢(shì),優(yōu)勢(shì)藻種可能包含多種,隨著時(shí)間的不同優(yōu)勢(shì)藻種也發(fā)生變化。本系統(tǒng)采用的方法是對(duì)各藻種生物量從大到小依次排序,首選出排在前三位的藻種,再根據(jù)三種藻種在總生物量的百分比確定是否都是優(yōu)勢(shì)種。影響水華發(fā)生(上?。└怕实挠绊懸蛩刂饕ㄔ孱惿锪亢退臈l件,如風(fēng)速、水流動(dòng)速度等。當(dāng)風(fēng)速和水流速度較大時(shí),即使藻類濃度很高,仍不會(huì)發(fā)生水華,而當(dāng)風(fēng)速小于3m/s時(shí)發(fā)生水華的幾率會(huì)明顯升高。
藻類水華的預(yù)警模型分為機(jī)理模型和智能模型兩部分,其中機(jī)理模型針對(duì)河流采用的是跡線法,藻類生長(zhǎng)機(jī)理模型關(guān)系為:
A表示生物量(干重)、葉綠素a濃度; μ是總生長(zhǎng)速率;Υ是呼吸速率;es表示內(nèi)源呼吸率;m是非捕食導(dǎo)致的死亡率;s是沉降速率;G是由于牧食而導(dǎo)致的損失。
μmax是參考溫度下的最大生長(zhǎng)速率;?(T)為溫度的變動(dòng);?(L)為光限制;?(C,P,N,Si)為營(yíng)養(yǎng)物限制,對(duì)于營(yíng)養(yǎng)物的限制采用李比希最小因子定律即:
機(jī)理模型的數(shù)據(jù)可直接抽取自數(shù)據(jù)庫(kù),實(shí)現(xiàn)自動(dòng)的藻類預(yù)警。機(jī)理模型作為主要的預(yù)警手段,可實(shí)現(xiàn)實(shí)時(shí)的預(yù)警,智能模型作為輔助手段以提高預(yù)測(cè)經(jīng)度,常用的智能預(yù)測(cè)模型包括神經(jīng)網(wǎng)絡(luò),支持向量機(jī)等方法。
本文較為詳細(xì)的介紹了針對(duì)河流的藻類水華預(yù)警系統(tǒng)的設(shè)計(jì)方法和主要模型的實(shí)現(xiàn)過(guò)程。實(shí)現(xiàn)了水質(zhì)指標(biāo)、水華指標(biāo)在線顯示和動(dòng)態(tài)預(yù)警功能。系統(tǒng)具有靈活的擴(kuò)展性和可維護(hù)性,為藻類預(yù)警信息系統(tǒng)的集成提供了較好的實(shí)際指導(dǎo)意義。