陳瑜彬 鄒冰玉 牛文靜 秦昊
摘要:針對目前我國主要流域防洪預報調度信息化平臺建設中普遍存在的數據處理效率低下、資源共享能力偏弱、軟件通用程度欠缺、立體化功能不全等不足,基于面向大數據平臺的網絡化服務理念,設計開發了流域防洪預報調度一體化系統。介紹了該系統的總體設計方案,并重點闡述了面向對象的大數據封裝、河網空間拓撲關系概化、契約模式的網絡服務構建以及基于JSON的海量數據傳輸等關鍵技術。系統在長江流域防洪預報調度決策中的成功應用驗證了其可靠性、實用性和擴展性。
關 鍵 詞:洪水預報; 防洪調度; 預報調度一體化; 大數據; 網絡服務; 陸氣耦合
作為國家信息化的重要組成部分、水利現代化的基礎和標志,伴隨著計算機技術的推廣和應用,水利信息化近年來取得了飛速發展,全國主要流域的防洪預報與水庫調度系統日益健全、完善,逐步邁向自動化[1-4]。然而,隨著水文氣象數據種類繁多且逐年增多、業務對象不斷擴展且日趨復雜、系統用戶與日劇增且形式多樣,已有信息化平臺建設逐步顯現出數據處理效率低下、資源共享能力偏弱、軟件通用程度欠缺、立體化功能不全等不足[5-7]。具體表現在:① 數據處理能力偏弱,且缺乏統一的數據處理標準,而且水利部、流域機構以及省(市)防汛部門各自為政,信息共享程度不高,形成了許多信息孤島,難以滿足當前水利信息建設工作中的一體化整體調控要求;② 兩大業務系統(洪水預報、防洪調度)平行式獨立建設,彼此業務耦合度低,無法滿足水利工程大規模投產后多阻隔河流防洪調度業務需求;③ 系統整體功能不健全、可擴展性不強、用戶處理單一,無法滿足不斷增多且復雜多變的管理層級、業務對象擴展需求。綜上,如何建設滿足流域洪水預報調度實際工作需求的一體化集成系統成為我國水利相關從業人員無法回避的重大實際問題[8-12]。
本次研究基于大數據平臺的網絡化服務理念,設計開發了流域防洪預報調度一體化系統。通過面向對象的大數據封裝、河網空間拓撲關系概化、契約模式的網絡服務構建以及基于JSON的海量數據傳輸等關鍵技術實現了洪水預報與防洪調度兩大業務相關海量數據的快速處理、分享與分析,提升了調度方案的在線編制能力,實現了公眾服務的實時擴展。目前,該系統已在長江流域投入使用,為長江流域防洪調度決策提供了強有力的技術支撐,并推廣應用至廣東省西江、北江、東江、珠江三角洲等10個流域。實例應用表明,該系統有效實現了資源整合與業務協同,具有擴展性好、數據處理能力強、深度耦合陸氣信息源等特點和優勢,可為我國流域防洪調度管理工作提供切實可行的技術支撐平臺。
1 系統總體設計
1.1 系統總體架構
流域防洪預報調度一體化系統以數據庫為基礎,以預報調度計算為核心,以輔助防汛抗旱決策為目標,集中服務于變化環境下的流域防洪預報調度管理工作。系統由數據層、業務層、應用層和信息安全管理體系等4個部分組成。
數據層是系統的“地基”,主要負責基礎資料和運行數據的存儲、修改等工作,同時為外部數據交互提供統一的數據庫訪問接口,并分別通過優化前端緩存與連接池來加快數據傳輸速度;業務層是系統中連接“應用層”與“數據層”的中間紐帶,負責所有的數據處理交換以及業務規則的制定調整,主要功能包括模型計算服務、GIS類服務和資源管理類服務(如短信服務、郵件服務、傳真服務、推送服務);應用層是系統的“窗口”,主要用于展現相關的用戶管理、業務計算結果與信息交互等業務邏輯,主要功能包括水雨情監視、防洪形勢分析、調度方案生成與評價等;信息安全管理是系統的“護衛隊”,通過物理安全、網絡安全、信息安全及安全管理等多方面,為系統可能面臨的病毒泛濫、惡意軟件、信息失控、數據中斷等復雜應用環境提供相應的應急防御措施與安全保障[13-16]。此外,為進一步保障預報調度決策的信息安全,系統采用細粒度授權訪問模式與數據加密控制等手段,實現用戶權限與角色、功能緊密掛鉤,切實保障信息服務的可追溯性和底層數據的數據庫。
系統總體架構如圖1所示。各模塊彼此關聯且相對獨立,有效實現邏輯計算業務與基礎單元的自主劃分與個性化調整,有效保證系統的安全性、魯棒性與穩健性。
1.2 系統部署
為提高多用戶并發訪問時的計算速度和處理效率,系統采用圖2所示的分布式部署方案,所有服務均部署在分布式計算節點并利用集群進行統一管理,通過負載均衡機制保證實時響應用戶請求。其中,計算服務器是所有服務的總訪問入口,主要負責分發服務與管理集群;各計算節點是具體的處理單元,主要負責相關的洪水預報、防洪調度及查詢服務。實際應用時,用戶通過客戶端將相關需求傳遞到計算服務器,由計算服務器實時監視所有節點當前運行狀況并從中找到負載最小的節點分發請求,當節點完成計算后逐層將結果返回用戶。
1.3 系統集成
系統嚴格遵循國家、行業技術標準和規范,利用SOA架構實現了數據、接口及預報調度模型方案等多個業務的松散式集成,具體體現在4個方面:① 結合《實時雨水情數據庫表結構與標識符》、水情專用數據庫以及其他數據庫表結構,完成了數據的標準化集成工作;② 對于需要海量數據處理、大數據分析的應用,以及自動計算的定時任務,采用數據交互的方式,通過消息隊列(MQ)發送數據處理請求,待計算完成后,直接從數據庫中獲取計算結果; ③ 對業務應用系統中的短信、傳真、郵件等業務進行應用接口集成,實現了各類業務的統一管理發布;④ 在分別開發完成各業務功能模塊后,首先按照系統總體架構和菜單體系進行無縫集成,然后完成預報模型和方案(主要為模型或方案的參數)的深度集成,實現數據資源管理類、應用拓展類、業務支撐類的相對獨立且有彼此耦合。
2 系統構建關鍵技術
2.1 面向對象的大數據封裝技術
水文數據體量龐大、來源廣泛、類型繁多,通常涉及水文、氣象、水庫等多個部門,既包括水位、流量、雨量、蒸發等結構化數據,又包括輸沙率、河道地形、水文年鑒等半結構化或非結構化數據[17-20]。如目前長江流域每天接收來自長江水利委員會水文局15個分中心、14個省(直轄市)水文局、中國氣象局、湖北省氣象局、三峽梯調中心、金沙江調控中心以及各支流集控中心等數十家單位(部門)的實時觀測數據約97萬條,年接收數據量約3.54億條。為高效合理使用這些數據,滿足預報調度的使用需求,系統通過數據清洗、分析、歸類,采用面向對象技術將水文信息封裝為河道、水庫和雨量3個差異較大且彼此關聯的對象,并在此基礎上實現數據的可視化。具體來講,首先將各個對象劃分為相對獨立的基礎單元(如變量數目、內在方法、單元屬性),然后隱蔽數據處理、數據挖掘、模型計算等技術細節,只保留有限數據接口與外部進行數據交互。以圖3所示河道對象為例,通過個性化地封裝其成員屬性基本信息(如站名、站號、站別、防洪信息、歷史信息、實時信息、預報模型)與成員方法(如觸發式預報計算、專家交互式預報計算、成果保存、成果發布),既能直觀清晰地描述河道類水文信息,又可協助系統用戶以按圖索驥的方式快速獲得相關信息,進而顯著增強數據信息的可讀性與交互性。
2.2 基于河網空間拓撲關系概化圖的預報調度一體化技術? 隨著水庫群等水利工程的興建,河流的天然狀態已逐漸改變,河流上的預報點與調度點已成為緊密相連、密不可分的兩個關聯體,以串聯、并聯或混聯方式存在,相互制約影響,形成牽一發而動全身的局面。因此,系統針對當前預報與調度業務分離信息與模型共享困難、人機交互缺乏人性化、重復開發難以管理以及實時預報調度方案制作時效差等一系列弊端,研究提出了基于河網空間拓撲關系概化圖的預報調度一體化技術,以滿足變化環境下流域防洪預報調度的業務需求。以流域大型水庫、重要水文站、防汛節點等為關鍵控制斷面,利用空間位置與水力聯系構建形成水庫、湖泊、防洪對象有序關聯的拓撲關系概化圖,采用通用數據接口對數值天氣預報、降雨徑流模型、洪水演進模型及調度模型進行無縫耦合處理,實現河系的河庫(湖)聯動、有序連續演算的預報調度一體化功能,從而形成了涵蓋河系概化圖構建和預報調節點計算的預報調度一體化技術。詳細介紹如下。
(1) 河系概化圖構建。通過分析流域預報節點、調度節點的拓撲關系,明確各節點對象的鏈接關系,采用對象符號抽象形成表達流域河網關系的有序樹,如圖4(a)所示,然后設置河系概化圖各節點對象的屬性(如基本信息、防洪信息以及預報調度模型選擇),并采用靜庫容調洪演算或水動力學模型實現關鍵控制節點的調度計算。
(2) 預報調度節點計算。采用樹形分層方法保證關鍵節點依據上下游拓撲關系順序計算,具體步驟為:首先根據樹形結構劃分計算層次,此時計算層數與樹的深度相同;然后從最高級葉結點開始,按照從高到低的原則逐級計算至根結點,其中同一層次的所有節點同時完成相關計算,下一層次只能在上一層次結點全部計算完畢后開始。以圖4(b)所示的7層樹形結構為例,將按照“7→6→5→4→3→2→1”次序逐層逐站由流域上游向下游演算。
需要說明的是,在開展預報調度作業時,系統可以提供自動、半自動及交互3種計算模式,實現流域內河系所有預報、調度節點的連續預報或調度作業。其中,自動計算模式對各節點的中間計算過程不進行干預;半自動計算模式中用戶可以對指定節點的中間計算過程進行交互式修正;交互計算模式則可對所有節點的中間計算過程進行人工調整。
2.3 面向水文預報的網絡服務構建技術
為了滿足SOA無狀態和獨立自治的原則,實現傳統的水文預報程序能夠服務化,系統通過對預報計算模型進行解耦并重新封裝,具體流程為:① 預報計算模型解耦。按照水文預報的流程,將計算過程分解成各個子單元,每個子單元作為單獨的功能封裝成服務進行發布。每個子單元完全獨立,子單元之間沒有功能和調用關系上的依賴,同時具有高復用性。② 預報計算模型封裝。封裝的目的是為了讓相互依賴的功能能夠獨立運行。預報模型計算需要進行大量的數據庫操作,所以封裝的重點之一是所有模塊都可以獨立的訪問數據庫。為提高效率避免數據庫連接占用大量時間,采用數據庫連接池分配數據庫資源,在系統初始化時統一建立連接,當服務需要使用數據庫時,直接從連接池中獲取資源,使用完后由連接池回收以便循環利用。在封裝時,選用了WCF作為服務框架,引入契約模式對預報計算模型進行封裝。WCF是Windows平臺上開發分布式應用最佳的實踐方式,該框架使用.NET環境,能夠很好地集成原有C號以及Visual Basic的預報計算程序,同時提供廣泛的網絡服務協議支持,在安全性上也有相應的模塊作為保證。
所構建的網絡服務既可為跨平臺操作系統(如Windows、IOS、Android)提供通用的數據接口、確保預報計算的一致性和通用性,又可利用分布式部署方式來確保核心業務的計算效率,顯著增強系統的擴展性和安全性。
2.4 基于JSON的海量數據傳輸技術
考慮到絕大多數操作系統和硬件設備均支持HTTP協議,系統選用報文交互方便且支持多終端接口的HTTP協議作為數據傳輸協議,使用類表述性狀態傳遞(Representational State Transfer,REST)風格調用服務,即通過URL鏈接發布相關服務;同時,考慮到標準REST風格無法滿足復雜結構的服務請求,系統采用GET和POST兩種請求完成所需服務操作,其中GET表示發送參數僅包含基本數據類型的服務,POST表示發送參數包含復雜數據類型的服務。此外,引入JSON格式傳遞規模巨大的數據以減小不必要的信息量,加快請求的響應速度。在實際應用中,用戶只需向相應URL地址輸入所需參數,系統將首先對原始數據集進行序列化操作,然后將所得字節流進行壓縮運算傳遞給用戶,客戶端對相關數據進行解碼操作便可得到預報站點信息,數據傳輸流程見圖5。
3 工程應用
3.1 應用實例
流域防洪預報調度一體化系統依托國家防汛抗旱指揮系統二期工程建設項目,以滿足長江防洪興利調度實際需要為目標開發設計。系統以大型水庫、重要水文站、防汛節點等為控制斷面,構建了長江流域27個預報調度體系,囊括9 200余個遙測報汛站點、341個預報節點、695套預報方案、35個調度節點、100余套調度方案,實現了水雨情在線監視、洪水預報實時調度、防洪形勢動態分析、預警風險安全評估及洪水演進多層級模擬等復雜功能,為長江流域水文氣象預報、洪水演算、優化調度和決策會商提供了強有力的技術支撐。
系統自2015年投運以來,運行安全穩定。尤其是在應對2016~2017年長江流域大洪水時,成功服務國家防總與長江防總聯合會商近300次,發布各類分析材料、預報成果及調度方案近2 000期。該系統不僅實現了長江流域防洪興利綜合調度全覆蓋,而且實現了國家防總、長江防總、省市防指與干支流控制性水庫間遠程異地協同會商和決策分析,為長江防洪科學調度指揮決策提供了有效支撐。此外,依托廣東省中小河流水文監測系統建設洪水預報預警系統I標項目,成功實現該系統技術的推廣應用。
3.2 典型功能
3.2.1 水雨情監視功能
系統以WebGIS、過程線和表格等方式在3D地圖上動態展示各監測站點的空間分布特征,并在站點名稱附近標注實時水雨情信息,方便防汛人員及時掌握最新動態。同時,系統采用Tab頁展示水庫站、水文站、雨量站等不同監測對象的詳細信息。
3.2.2 洪水預報調度功能
針對洪水預報調度這一核心業務,系統提供了符合實際河網拓撲關系的河系概化圖,分別采用不同幾何圖形代表水庫站、水文站、虛擬站等不同對象,采用矢量箭頭表征對象之間的水力聯系,直觀展示流域各控制斷面的連接關系。在此基礎上,用戶既可以通過自動、半自動或交互式操作方式來制作發布河系洪水預報調度方案,又能夠對單個節點或任意斷面的預報結果進行精細化調整。
3.2.3 三維洪水模擬功能
系統采用建筑信息建模技術構建了基于WebGIS的三維場景,融合實時水雨情及預報調度信息,實現了重點區域關鍵信息的三維展示,并利用信息框、圖表、過程線、分級圖或剖面圖等手段綜合展示了實時及預報調度成果信息。
4 結 論
重大水旱災害一直是制約我國流域用水安全、沿岸人民安康的重要因素,科學高效地實現流域防洪預報調度意義重大。本研究基于面向大數據平臺的網絡化服務理念,設計開發了流域防洪預報調度一體化系統,并詳細介紹了系統實現的關鍵技術及典型功能。該系統在長江流域長期實踐應用中運行穩定可靠,尤其是在2016~2017年長江流域大洪水防洪中,為防汛減災實時聯動決策提供了強有力的信息支撐和科學依據,社會和經濟效益顯著。此外,該系統以其良好的技術支撐能力,已成功推廣應用至廣東西江、東江、北江及珠江三角洲等地區。
參考文獻:
[1] 胡四一,宋德敦,吳永祥,等.長江防洪決策支持系統總體設計[J].水科學進展,1996(4):4-15.
[2] 陳昂,隋欣,廖文根,等.基于數據云的水利信息化數據共享體系構建模式[J].科技導報,2014,32(34):53-57.
[3] 黃瓅瑤,羅斌,朱思蓉,等.基于WebGIS的水庫群調度拓撲設計分析與應用[J].人民長江,2018,49(13):99-103.
[4] 王浩,俞科慧.基于洪水模擬和預報的三維仿真系統設計[J].中國防汛抗旱,2014,24(3):24-27,45.
[5] 丁斌,吳暉.新疆塔里木河流域信息化規劃設計研究[J].水資源與水工程學報,2017,28(4):158-161.
[6] 張大偉,權錦,何曉燕,等.基于地理信息系統的一維潰壩洪水分析系統研發及應用[J].水利學報, 2013,44(12):1475-1481,1487.
[7] 王妍,楊樸.北京市河長制信息系統設計與研發[J].中國水利,2018(18):46-49.
[8] 黃少華,丁志良,王漢東,等.基于三維GIS的水庫洪水調度模擬系統研究[J].人民長江,2013,44(7):95-99.
[9] 丁斌,姚保順,杜文.黃河防洪調度綜合決策會商支持系統建設[J].水資源保護,2017,33(6):55-59.
[10] 雷曉輝,蔡思宇,王浩,等.河流水資源調度關鍵技術及通用軟件平臺探討[J].人民長江,2017,48(17):37-45.
[11] 程春田,王本德,李成林,等.白山、豐滿水庫群實時洪水聯合調度系統設計與開發[J].水科學進展,1998(1):30-35.
[12] 吳捷,徐學飛.李仙江流域梯級水電站洪水預報設計與應用[J].人民長江,2011,42(24):21-24.
[13] 藍家萬,陳森林,李建華.基于Web Service的防洪調度決策支持系統[J].水電能源科學,2005(5):86-88,1.
[14] 秦昊,陳瑜彬.長江洪水預報調度系統建設及應用[J].人民長江,2017,48(4):16-21.
[15] 何欣欣,羅軍剛,解建倉.陜西省最嚴格水資源考核管理系統研究與實現[J].水資源與水工程學報,2016,27(3):55-60.
[16] 賈化樂.陸渾水庫洪水預報程序設計[J].人民長江,2013,44(19):40-43.
[17] 喻杉,羅斌,張恒飛.長江流域防洪調度決策支持系統設計初探[J].人民長江,2015,46(21):5-7,26.
[18] 劉榮華,劉啟,張曉蕾,等.國家山洪災害監測預警信息系統設計及應用[J].中國水利,2016(21):24-26.
[19] 陳軍飛,鄧夢華,王慧敏.水利大數據研究綜述[J].水科學進展,2017,28(4):622-631.
[20] 羅毅君,呂石生,劉雨,等.湖南省基于云架構的山洪災害監控預警系統設計與實現[J].中國防汛抗旱,2017,27(1):99-103.
(編輯:常漢生)