摘要:該文在深入研究Grid Services技術的一些最新學術和應用成果基礎上,結合目前水庫洪水預報系統的需求分析和設計原則,系統地論證了使用Grid Services技術實現水庫洪水預報系統可行性和優勢。同時根據系統特性和要求,給出了基于Grid Services的水庫洪水預報系統的基本框架結構,為實現在Internet環境下進行洪水預報調度提供了分布式計算平臺。
關鍵詞:Grid Services;OGSA-DAI;洪水預報
中圖分類號:TP311文獻標識碼:A文章編號:1009-3044(2008)25-1443-02
The Research of the Reservoir Flood Forecast System Based on Grid Services
SHI Ya-qing, WANG Mei-juan, HE Yin-jun
(Sci. Tech., Institute of Science, PLA University, Nanjing 211101, China)
Abstract: This paper studies deeply into newest academic achievement and application of Grid Services technology. In combination with the requirement and design principle of the reservoir flood forecasting system, it also systematically demonstrates the feasibility and advantage by applying Grid Services technology to implement the reservoir flood forecasting system. At the same time, this paper gives a basic framework based on Grid Services of this system,and provides the distributed calculation platform for the flood forecasting deployment on Internet.
Key words: Grid Services; OGSA-DAI; flood forecasting
1 引言
在洪水預報領域中存在著許多數據庫,這些數據庫是進行洪水預報的基礎,它們大多數都分布在各地的水庫管理部門,在進行聯合調度時,必須實時訪問各地的水庫管理部門的數據庫。但是目前,在洪水預報領域中數據庫訪問技術存在不足[1],首先,洪水預報領域的數據庫都是被保護在防火墻之下,一般的防火墻只允許像HTTP和SMTP等少數幾種應用層協議通過,所以訪問數據庫的客戶端根本無法通過防火墻進行數據庫訪問。其次,數據庫訪問接口大部分都綁定在幾種實現語言上,造成訪問數據庫不靈活。
鑒于當前洪水預報領域中訪問數據庫技術的不足,本文提出基于Grid Services的水庫洪水預報系統體系結構,并在全國水庫洪水預報系統建設原則指導下,利用OGSA-DAI中間件和集成開發工具,實現水庫洪水預報系統的開發。
2 Grid Services
通過Grid Services可以在現有的各種異構平臺的基礎上構筑一個通用的與平臺無關、語言無關的技術層,各種不同平臺之上的應用依靠這個技術層來實施彼此的連接和集成。用戶不用關心開發者使用什么操作系統平臺,也不會關心開發者使用什么語言,只關心開發者能夠提供什么樣的服務,只要求能隨時隨地得到自己所需的服務。從技術的角度而言,Grid Services是對象/構件技術在Internet中的延伸,是Web Services的升級,是中間件的一種新形式,是對原有構件技術的必要補充,所以還有人稱之為網絡中間件。這種構件是被一次部署到Internet中,然后到處可用的一種新型構件。
3 基于Grid Services的洪水預報系統體系結構
以Grid Services為基礎構建洪水預報系統,為用戶提供各種功能和訪問相關數據庫的途徑。根據水庫洪水預報系統的業務功能和事務處理的要求,可以把系統分成以下三個邏輯層:表現層、中間層以及數據庫層,如圖1所示。
3.1 應用層
應用層用于用戶與系統的交互,為用戶提供訪問中間層,使用網格服務的接口。用戶通過應用層訪問服務器上的Grid Services獲取業務數據或者執行這些Grid Services提供的業務邏輯。
3.2 中間層
中間層即洪水預報系統應用服務平臺,它由數據訪問與集成服務器組注冊器(DAISGR)、各類水利數據服務工廠(GDSF)、水利數據服務實例(GDS)等部分組成,負責處理系統的主要功能和業務邏輯,利用服務組件在中間層進行事務邏輯服務,并為應用層提供訪問這些業務邏輯的接口,從而隔離了用戶對數據庫的直接訪問,保護了數據庫安全。
3.3 數據庫層
數據庫層有數據庫群組成,用于存儲水庫洪水預報所需要的空間數據和業務數據。空間數據庫主要包括:灌區地形數據庫DLG、地名數據庫、數字柵格地圖數據庫DRG、數字正射影像數據庫DOM、數字高程模型DEM。業務數據庫主要包括:氣象數據庫、水雨情數據庫、工情數據庫、水資源數據庫、運行數據庫、工程特征數據庫、洪水預報模型數據庫。
4 基于Grid Services水庫洪水預報系統的實現
基于Grid Services開發水庫洪水預報系統,在國內尚屬起步階段。下面以我們基于OGSA-DAI[2]中間件開發的水庫洪水預報為原型介紹系統的設計與實現。
本系統以水雨情、工情數據庫和預報模型庫數據為基礎,以預報計算模型為核心,通過調度會商產生調度指令。系統處理流程如圖2。
■
圖2 系統處理流程
4.1 數據庫群的集成
水庫洪水預報系統數據庫群包括空間數據庫和業務數據庫兩部分:
1) 空間數據庫
空間數據庫主要包括水庫流域地形數據庫(DLG)和數字高程模型(DEM)。
2) 業務數據庫
業務數據庫主要包括:氣象數據庫、水雨情數據庫、工情數據庫、水資源數據庫、運行數據庫、工程特征數據庫、洪水預報模型
4.2 網格服務實現
在基于網格數據庫水庫洪水預報系統開發中,核心技術是網格數據訪問服務的建立和調用。本系統的網格數據訪問服務是基于GT4開發的。建立一個訪問服務實例包括3個過程[3]:
1) 在中間層的數據訪問與集成服務器組注冊器(DAISGR)中查詢要訪問的數據庫的數據服務工廠。
2) 從注冊器中查詢得到了factoryURLString,客戶程序可向這個GDSF發出請求,并自由地使用它的GSH,并可建立網格數據訪問服務。
3) 建立網格數據服務后,即可執行數據庫操作。
數據庫操作通過向GDS提交相應的服務功能完成,通過GDS訪問數據資源的好處是訪問不同的數據源采用了統一的界面,非常簡便。
4.3 應用層的功能
本系統應用層劃分七個核心功能模塊:用戶信息管理模塊、水庫基本信息查詢模塊、歷年流量數據輸入模塊、參數設置模塊、洪水預報計算模塊、仿真調度模塊、調度會商模塊。系統運行界面如圖3。
1) 用戶信息管理模塊
為了保證洪水預報系統的正常運行,設立不同的用戶權限。普通用戶只能對系統進行查詢操作,而不能進行基本信息修改以及洪水預報計算、調度會商和仿真調度等功能,從而有效的保證了系統使用的安全性。同時此模塊中還為用戶提供了修改,增加,刪除等功能,以便用戶更好的使用。
2) 水庫基本信息查詢模塊
在全局數據庫的基礎上查詢各個水庫基本信息,包括:水庫特征參數(正常蓄水位、死水位、設計洪水位、校核洪水位、單機額定流量、出力系數等)、水庫水位庫容查詢、各個水電站閘門泄流能力特征表(泄洪洞、溢洪道、表孔、中孔等泄洪設施在不同水位時的起閉情況)、下游水位流量查詢。
3) 歷年流量數據輸入模塊
輸入各個水庫的年平均入庫流量、季平均流量、月平均流量等數據,為洪水預報計算模塊提供數據。
4) 參數設置模塊
根據不同的預報計算模型,設置不同的參數。參數設置界面由三部分組成:時間設置、壩上實時信息、各水庫基本參數和預報要求設置。時間設置可以設置預報的開始時間及結束時間,以及時段,但是需根據洪水預報的時間來進行合理設置。
5) 預報計算模塊
當選擇所需計算的水庫、所用算法模型和參數設置完成后,系統便進入預報計算,后臺運行無界面顯示。運算結束后,可以選擇單項圖顯示,表格顯示等多種結果顯示方法,并將預報結果保存到數據庫。
6) 仿真調度模塊
當預報計算模塊產生結果后,用戶可通過仿真調度來確定調度方案。仿真調度用圖形顯示,用鼠標直接在圖上拖動需要單獨調整的數據曲線,并能顯示正在拖動曲線上的點的具體數值,使用戶更容易生成防洪調度方案。
7) 調度會商模塊
將數據庫中所保存的所有預報計算的結果和防洪調度方案顯示出來,并根據用戶的不同要求,通過方案制作時間選擇、預報計算模型選擇、水庫防洪調度方案選擇等來比較各種方案的優缺點,從而做出合理的選擇。調度會商后,可將選擇的方案單獨打印或導出保存。
5 總結
水庫洪水預報系統采用基于Grid Services技術的方案,將基于網格服務組件的開發方法和面向服務的體系結構合理結合起來,采用多層體系結構,有效解決了洪水預報應用中存在的數據庫訪問困難問題。
本文討論的網絡環境下的基于Grid Services的水庫洪水預報系統方案,為進一步將OGSA-DAI技術應用于水利系統,增強各水利部門之間異構系統的集成,并實現具有柔性擴展的水利信息服務平臺做了必要的技術準備。當然實際應用中還存在許多問題值得進一步深入探討和研究。
參考文獻:
[1] 馮建新,于浩海,王光興. 網格在訪問數據庫技術中的應用[J].小型微型計算機系統,2005(1).
[2] A Krause.OGSA-DAIArchitecture[R].EPCC,University of Edinburgh,2003.
[3] Shi Long,Du Zhihui.Design and Implementation of an Invoice Database Grid Based on OGSA[J].Computer Engineering and Applications,2005(22).