摘 要:本文結(jié)合我國各大水庫群的基本情況,對當前水庫群管理手段進行研究,深入分析了水庫群信息管理系統(tǒng)的功能需求,最后從數(shù)據(jù)庫設計、網(wǎng)絡拓撲結(jié)構(gòu)、軟件架構(gòu)以及系統(tǒng)開發(fā)平臺及語言等方面進行系統(tǒng)具體實現(xiàn)。基于C/S軟件設計模式開發(fā)了一套水庫群信息管理系統(tǒng),本系統(tǒng)的研發(fā)不僅可以提高我國對水庫群的管理效率與防洪預測能力,同時還有利于提高水庫群的生產(chǎn)效益。
關鍵詞:水庫群;信息管理系統(tǒng);數(shù)據(jù)庫;網(wǎng)絡拓撲圖
中圖分類號:TP311.52
基于C/S模式的水庫群信息管理系統(tǒng)是一個綜合性較強的管理系統(tǒng),該系統(tǒng)具有跨區(qū)域、跨流域等特點?;趯λ畮烊盒枨蟮姆治?,考慮到系統(tǒng)的軟件及硬件環(huán)境也較為復雜、用戶界面需要統(tǒng)一以及分布式等特點,所以對其采用C/S模式進行開發(fā)是最佳選擇。
C/S開發(fā)模式是一種分布式開發(fā)模式,具有很好的通用性。從數(shù)據(jù)庫的角度來說,C/S開發(fā)模式主要存在兩個部分。第一,客戶端(Client)主要負責數(shù)據(jù)顯示,包括數(shù)據(jù)的錄入、計算、打印等;第二,服務器端(Server)主要負責對數(shù)據(jù)進行操作與管理,包括數(shù)據(jù)的CRUD操作、管理、安全等。
1 系統(tǒng)功能分析
該系統(tǒng)主要有信息錄入、洪水監(jiān)測、調(diào)度處理、綜合分析、閘門控制、查詢顯示以及打印信息等子功能模塊構(gòu)成。其中,信息錄入模塊主要負責對原始數(shù)據(jù)進行錄入,也可以從Excel文件導入;洪水監(jiān)測子模塊可以對上游以及下游水進行洪水監(jiān)測;調(diào)度處理主要負責對洪水預防與泄洪進行綜合處理;綜合分析主要是從整體的角度對系統(tǒng)進行控制與整合;閘門控制模塊主要負責對閘門進行開閉處理;查詢顯示子模塊主要負責對防洪、泄洪過程進行實時監(jiān)控與處理;打印模塊主要負責對相關的表格及數(shù)據(jù)進行打印與分析,具體結(jié)構(gòu)如圖1所示
2 系統(tǒng)結(jié)構(gòu)設計
2.1 網(wǎng)絡結(jié)構(gòu)設計
國家水利局對水庫群信息管理系統(tǒng)有嚴格的要求,必須將系統(tǒng)的工作站、多媒體服務器、數(shù)據(jù)庫以及多媒體工作站安裝在高性能的交換機上。國家水利總局的管理基站將10000M的堆棧集線器組件局域網(wǎng)絡,使用多條10000M寬帶線路連接到10000M的交換機上,配套使用2臺高性能服務器,其中一臺運行SQLServer2005作為數(shù)據(jù)庫管理系統(tǒng),為了擴展該服務器存儲數(shù)據(jù)的能力,還為該服務器外接了一臺獨立機器。剩下的一臺作為網(wǎng)絡服務器,該機器的目的主要是管理網(wǎng)絡通信以及系統(tǒng)共享數(shù)據(jù)和資源。
2.2 軟件配置
(1)網(wǎng)絡操作系統(tǒng)
水庫群信息管理系統(tǒng)的網(wǎng)絡操作系統(tǒng)使用的是Windows NT Server,該系統(tǒng)的優(yōu)點是運行速度較快,并且系統(tǒng)較穩(wěn)定。后臺使用微軟開發(fā)的SQLServer 2005作為數(shù)據(jù)庫管理系統(tǒng),該數(shù)據(jù)庫首先是免費的,其次是功能強大。
Windows NT Server系統(tǒng)是一個專業(yè)的網(wǎng)絡操作系統(tǒng),該系統(tǒng)具有很多的用途。除此之外,該系統(tǒng)運行速度快,具有很高的性能,同時也具有很強的安全性,可以保證水庫群信息管理系統(tǒng)的數(shù)據(jù)安全。使用該系統(tǒng)作為網(wǎng)絡操作系統(tǒng)最大的好處在于該系統(tǒng)支持多種網(wǎng)絡傳輸協(xié)議,這樣就可以提高系統(tǒng)的跨平臺性,使得子工作站的連接非常方便,并且有利于系統(tǒng)后期的擴展與升級。
SQLServer 2005是目前常用的幾個主流數(shù)據(jù)庫廠商。由于該系統(tǒng)的網(wǎng)絡操作系統(tǒng)選用的是Windows NT Server,所以結(jié)合SQLServer 2005作為數(shù)據(jù)庫管理系統(tǒng),可以提高運行效率,可以充分發(fā)揮二者之間的優(yōu)勢。SQLServer 2005與Windows NT Server結(jié)合之所以能夠發(fā)揮出巨大的優(yōu)勢,主要原因有:
1)Windows NT Server與SQLServer 2005都是微軟公司的產(chǎn)品,具有很好的相互兼容性。
2)SQLServer 2005可以充分發(fā)揮硬件優(yōu)勢,能夠支持硬件擴展。
3)Windows NT Server與SQLServer 2005之間可以形成高性能的數(shù)據(jù)管理環(huán)節(jié),同時增強了數(shù)據(jù)的安全性與可維護性。
Windows NT Server網(wǎng)絡操作系統(tǒng)是美國國防部認可的安全網(wǎng)絡操作系統(tǒng),完全符合美國國防部的C2安全標準。除此之外,由于SQLServer 2005與Windows NT Server的緊密聯(lián)系,可以實現(xiàn)多層次的數(shù)據(jù)加密處理,可以保證系統(tǒng)的安全性。由于SQLServer 2005本身具有數(shù)據(jù)備份與恢復的能力,所以使得水庫群信息管理系統(tǒng)具有良好的數(shù)據(jù)備份能力,可以防止意外帶來的系統(tǒng)數(shù)據(jù)損失。
(2)客戶端操作系統(tǒng)
水庫群信息管理系統(tǒng)客戶端的操作系統(tǒng)采用Windows XP,系統(tǒng)利用C++和Visual C++ 6.0進行開發(fā)。C++可以利用可視化控件進行界面開發(fā),同時可以利用ODBC進行數(shù)據(jù)庫連接,C++通過ODBC可以連接SQLServer,SyBase,Oracle,DB2等數(shù)據(jù)庫,為了滿足系統(tǒng)的性能要求,還提供了專用的數(shù)據(jù)庫接口,比如DB-Library可以直接與SQLServer 2005進行連接。同時嵌入了SQL語句、存儲過程、光標操作以及事務控制等。
C++還提供了Script語言,它是一種基于對象的高級程序設計語言,其設計模式與C語言相似,函數(shù)庫中內(nèi)置了上百種函數(shù),具有超強的業(yè)務處理、邏輯處理、數(shù)據(jù)處理等能力。同時,C++語言具有豐富的空間以及相應的事件觸發(fā)機制,提高了系統(tǒng)開發(fā)效率,可以讓程序員集中精力進行組件以及系統(tǒng)結(jié)構(gòu)開發(fā)、數(shù)據(jù)庫設計等,這極大程度的降低了程序的開發(fā)周期。
3 數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)設計
水庫群信息管理系統(tǒng)的數(shù)據(jù)庫結(jié)構(gòu)如圖2所示。其基本的數(shù)據(jù)庫內(nèi)容包括以下五個方面。
第一類:固定數(shù)據(jù)庫,即特征庫。該庫中的數(shù)據(jù)一般都相對固定,不需要擴展或者延伸。其主要包括水庫、河段、下游、泄洪閘門以及流域等特征信息表、書庫特征參數(shù)表以及水庫常規(guī)調(diào)度表。
第二類:實時數(shù)據(jù)庫,即動態(tài)更新庫。該庫中數(shù)據(jù)是及時更新與變化的,一般都是通過自動化系統(tǒng)導入的數(shù)據(jù)。主要包括氣象表、水位資料表、區(qū)間雨情氣象表、實測量表以及閘門狀態(tài)和大壩基礎數(shù)據(jù)等。
第三類:預報計劃數(shù)據(jù)庫,即系統(tǒng)預測分析庫。該庫中的數(shù)據(jù)一般都是通過系統(tǒng)處理之后得出的結(jié)果數(shù)據(jù)。主要包括計劃、預測以及水庫優(yōu)化調(diào)度表等數(shù)據(jù)。該數(shù)據(jù)是整個水庫群信息管理系統(tǒng)的核心數(shù)據(jù)庫。
第四類:程序接口數(shù)據(jù)庫,即為程序業(yè)務邏輯服務的庫。該庫主要根據(jù)系統(tǒng)的業(yè)務邏輯提供相應的原始數(shù)據(jù)。該數(shù)據(jù)庫中還包含了打印輸出相關的數(shù)據(jù)。
第五類:名錄數(shù)據(jù)庫,即系統(tǒng)特點名稱數(shù)據(jù)庫。該數(shù)據(jù)庫中保存了各個監(jiān)測點的監(jiān)測數(shù)據(jù)以及數(shù)據(jù)庫的名稱。
4 系統(tǒng)的設計與實現(xiàn)
在水庫群信息管理系統(tǒng)中,服務器端安裝SQLServer 2005主要可以對系統(tǒng)數(shù)據(jù)進行定義與存儲,然后可以實現(xiàn)系統(tǒng)的安全加密、數(shù)據(jù)備份與數(shù)據(jù)恢復等功能。在客戶端開發(fā)的系統(tǒng)主要用于系統(tǒng)與用戶進行交互,同時顯示數(shù)據(jù)庫的數(shù)據(jù)并可以接受用戶的輸入。除此之外,客戶端還可以進行業(yè)務處理,比如數(shù)據(jù)的CRUD操作、報表制作、數(shù)據(jù)錄入、數(shù)據(jù)分析等功能。
5 數(shù)據(jù)分布更新的實現(xiàn)方式
水庫群信息管理系統(tǒng)是一個跨流域、跨地域的大型分布式管理系統(tǒng),所以要求多個不同的客戶端同時操作一個服務器端的數(shù)據(jù)庫,多個客戶端可以通過網(wǎng)絡協(xié)議進行數(shù)據(jù)庫共享操作。
具體來說,要進行數(shù)據(jù)庫的遠程通信與訪問可以使用WNTS提供的遠程訪問服務(簡稱“RAS”)進行實現(xiàn)??蛻舳伺c服務器的端SQLServer 2005進行遠程通信主要有以下幾種方式:
1)通過操作C++內(nèi)置的函數(shù),在數(shù)據(jù)窗口中對SQLServer 2005中的數(shù)據(jù)庫表進行操作與提取。
2)通過使用服務器端SQLServer 2005創(chuàng)建的存儲過程可以進行數(shù)據(jù)操作。
3)利用C++提供的腳本語言對數(shù)據(jù)庫進行數(shù)據(jù)表的操作與訪問。該方式首先用對象和數(shù)據(jù)庫建立連接,然后通過對象的方法對數(shù)據(jù)庫進行操作。事務對象主要有兩個功能:一是可以提供建立數(shù)據(jù)庫連接需要的參數(shù)信息,并且返回每條SQL語句執(zhí)行的結(jié)果。二是C++語言提供了缺省事務對象,它可以代表SQL語句的通信區(qū)域,該區(qū)域有15個屬性,有10個是屬性是為了發(fā)生數(shù)據(jù)到數(shù)據(jù)庫,剩下的5個是從數(shù)據(jù)庫獲取數(shù)據(jù)。
4)在C++語言中,它可以通過使用C、Visual Basic等程序語言調(diào)用API函數(shù)獲取SQLServer 2005中的數(shù)據(jù)。
6 結(jié)論
為了可以充分利用信息技術的成果,對水庫群進行信息化管理,從而提高管理的效率和科學性,做到計算機資源共享、信息共享、數(shù)據(jù)共享,從而為水庫管理工作人員提供決策支持與建議,研發(fā)一套水庫群信息管理系統(tǒng)是非常有必要的。本文研究的系統(tǒng)不僅可以提高我國水庫群的生產(chǎn)經(jīng)營效益和管理水平,還可以加強對防洪工作的預測能力。
參考文獻:
[1]王萬森.人工智能原理及其應用[M].北京:電子工業(yè)出版社,2000.
[2]林繞瑞.專家系統(tǒng)原理與實踐[M].北京:清華大學出版社,2011.
[3]Joseph Giarratano.Gary Riley.專家原理系統(tǒng)與編程[M].北京:機械工業(yè)出版社,2010.
[4]夏紅霞.面向?qū)ο蠹夹g的決策支持系統(tǒng)結(jié)構(gòu)建立方法研究[J].計算機工程與應用,2012.
[5]管春.面向?qū)ο蟮臎Q策支持系統(tǒng)結(jié)構(gòu)建立方法研究[J].計算機工程與應用,2011.
[6]B Smyth,M.K.Keane.Experiments on Adaptation-guided Retrieval in CaseBased Design[J].Proceeding of ICCCBR-95,2012
作者簡介:殷蓬(1981.2-),男,山東人,信息管理,助理工程師,本科,研究方向:水利信息化。
作者單位:安徽省佛子嶺水庫管理處,安徽六安 237272