金 奇,趙云毅,彭子翰,馮國正
(長江水利委員會水文局 長江上游水文水資源勘測局,重慶 400020)
水庫泥沙監(jiān)測主要包括河道斷面繪制、床沙分析等,具有監(jiān)測要素多、數(shù)據(jù)多源、數(shù)據(jù)處理程序繁雜、成果表達多樣、數(shù)據(jù)時效性要求高等特點?,F(xiàn)有的河道信息系統(tǒng)主要以MapInfo5.0、ArcEngine、ArcGIS等為開發(fā)應用平臺進行建設[1-4]。河道斷面繪制主要采用南方CASS軟件平臺[5-7]或基于AutoCAD二次開發(fā)斷面成圖[8-9]等方式實現(xiàn)。幾乎沒有床沙數(shù)據(jù)處理及成果整理相關文獻。這些信息系統(tǒng)開發(fā)平臺相對專業(yè),對數(shù)據(jù)生產(chǎn)者、管理者使用門檻高,成本較大?;贏utoCAD的二次開發(fā)以文本為基礎,非數(shù)據(jù)庫管理,數(shù)據(jù)存儲、共享、安全管理困難。同時,各生產(chǎn)工序雖已存在相應的專業(yè)處理軟件,但設計較為單一、功能分散、操作繁瑣,往往需要多個不同的專業(yè)軟件才能完成所有任務,應用面窄、缺乏統(tǒng)一性,不能滿足河道勘測快速發(fā)展的需求。為進一步提高水庫泥沙監(jiān)測作業(yè)效率,保障河道數(shù)據(jù)生產(chǎn)與管理安全,本文提出以微軟.Net為開發(fā)平臺,采用C/S結構,直連SQL Server數(shù)據(jù)庫進行平臺開發(fā),集成斷面繪制、床沙分析等任務模塊,使數(shù)據(jù)生產(chǎn)流程化,數(shù)據(jù)管理規(guī)范化,成果標準化。
系統(tǒng)計劃采用微軟.Net開發(fā)平臺進行開發(fā),運行模式主要基于C/S模式;系統(tǒng)將在局域網(wǎng)或單機環(huán)境上運行,數(shù)據(jù)庫和軟件系統(tǒng)相對獨立;數(shù)據(jù)庫安裝在服務器上;軟件系統(tǒng)主要以SQL Server直連等方式進行數(shù)據(jù)庫表數(shù)據(jù)讀取。
(1) 易用性。按照數(shù)據(jù)處理、存儲、管理角色進行模塊化設計,各模塊按照數(shù)據(jù)處理流程進行模塊分類,實現(xiàn)系統(tǒng)的易用性。
(2) 美觀與協(xié)調性。布局力求簡潔、有序、易于操作。注重窗口內部所有控件的布局和信息組織的藝術性,使用戶界面美觀協(xié)調。
(3) 錯誤信息處理。出現(xiàn)各種出錯或異常狀態(tài)時,給予用戶友好的提示和幫助,并提示用戶錯誤或異常產(chǎn)生的原因。
(4) 安全性。數(shù)據(jù)庫、系統(tǒng)安全登錄設置,對不同用戶予以不同的權限設置。
建設內容主要包括系統(tǒng)管理、原始數(shù)據(jù)質量檢查、數(shù)據(jù)處理、成果生成、工作量統(tǒng)計、沖淤分析計算、成果遠程發(fā)布等,系統(tǒng)功能結構如圖1所示。系統(tǒng)主要通過泥沙監(jiān)測相關實測數(shù)據(jù),對水庫的床沙和斷面進行分析,流水線生成成果表和成果圖,將水庫泥沙監(jiān)測斷面分析和床沙分析工作集成在一個系統(tǒng)中,既可提高工作效率,又保證數(shù)據(jù)的安全性與準確性。
圖1 系統(tǒng)功能結構Fig.1 Overview of the system function
微軟公司推出的SQL Server數(shù)據(jù)庫系列軟件是一套關系型數(shù)據(jù)庫管理系統(tǒng),具有很高的安全性,既能降低日常開發(fā)成本,又能節(jié)省開發(fā)項目時間,是一個較智能的平臺,易于數(shù)據(jù)庫管理[10]。
C/S結構是一種常見的軟件設計模式,即客戶端(Client)-服務器(Server)結構。采用C/S結構的系統(tǒng)有專用安裝包,也有相對固定的用戶群,對安全性的控制能力強。C/S結構的系統(tǒng)一般是典型的中央集控模式,多用戶節(jié)點獨立同步與服務器進行信息傳遞與數(shù)據(jù)處理。C/S結構下程序從整體性考慮,完成整體化任務,更加注重流程性。
C#語言是一種面向對象的高級程序設計語言,具有比C和C++更加完善面向對象的功能。C#的安全性和穩(wěn)定性都非常高,而且使用較簡單。C #有著VB的可視化操作,也有C++的高效率運行能力,因此成為開發(fā).NET的首選語言[10]。
SQL Server數(shù)據(jù)庫提供了完善的審計功能,通過SQL事件探查器自動記錄用戶操作信息,包括用戶名、時間、操作代碼等信息,便于溯源事故相關責任人,也有利于修補系統(tǒng)漏洞和弱點,維護信息平臺安全。限制用戶訪問數(shù)據(jù)權限是保護數(shù)據(jù)安全的重要措施。系統(tǒng)根據(jù)使用對象身份,將其定義成系統(tǒng)管理員用戶、數(shù)據(jù)庫所有者用戶、普通用戶等,不同的用戶具有不同的訪問權限,實現(xiàn)用戶分級管理。
身份認證是信息平臺最外層的安全保護手段。用戶必須向系統(tǒng)出示準確的用戶名和密碼,通過認證機制嚴格審查核實后,才能獲得相對應的系統(tǒng)服務。SQL Server具有數(shù)據(jù)內部加密功能,使用密文作為高敏感數(shù)據(jù)的存儲或傳輸手段,有效防范非法行為竊取泥沙監(jiān)測項目保密數(shù)據(jù)事故。
為防止系統(tǒng)崩潰導致重要數(shù)據(jù)損壞或丟失,數(shù)據(jù)庫管理系統(tǒng)建立了備份和恢復機制,能在最短時間內通過緩存機制恢復數(shù)據(jù)運行。同時,信息平臺為完善系統(tǒng)保護體系,通過關閉不用的服務、功能和網(wǎng)絡連接,禁用不必要的協(xié)議,更改或隱藏SQL Server端口,刪除存在危險的存儲過程,定期安裝補丁等多重手段共同維護系統(tǒng)運行安全。
系統(tǒng)管理主要分為以下5個部分。
(1) 部門管理。用戶可以對系統(tǒng)組織架構進行管理,添加、編輯或刪除部門,維護部門上下級層級關系和用戶等。
(2) 用戶管理。由系統(tǒng)管理員管理用戶,包括用戶的創(chuàng)建、刪除、用戶權限分配、用戶權限更改。用戶的權限可以由系統(tǒng)管理員根據(jù)需要動態(tài)設置??蓪⒂脩舴殖刹煌挠脩艚M,賦予不同角色不同的訪問權限,采用基于角色的權限訪問控制策略。
(3) 權限管理。對權限功能進行了細分,將權限級別劃分為菜單、功能、數(shù)據(jù),不但可以控制用戶訪問的菜單項,還可以控制用戶對菜單中功能的使用,禁止用戶的某一細節(jié)操作。
(4) 角色管理。對單位內部員工進行角色定義與劃分,結合本系統(tǒng)中的權限管理,為不同角色進行不同權限分配,以控制每個角色在系統(tǒng)中的操作訪問權限。
(5) 日志管理。日志管理主要是對訪問系統(tǒng)的用戶操作行為進行記錄,主要記錄的內容包括訪問者用戶名、姓名、日志信息、IP地址、操作時間等。
(1) 床沙實測數(shù)據(jù)分析。主要是對錄入的實測數(shù)據(jù)進行系統(tǒng)自動分析,根據(jù)預設的算法對數(shù)據(jù)計算、分析和處理,并自動繪制試坑的沙顆粒級配曲線圖??梢圆榭凑麄€試坑的沙顆粒級配曲線圖,也可對試坑每一層分別查看。支持按指定圖紙尺寸對圖進行打印操作。
(2) 生成成果表。實測數(shù)據(jù)分析完成后,可以生成床沙粒徑分析成果表以供查閱,并且可對成果表進行導出和打印操作。
(3) 沙顆粒級配曲線圖查詢。提供沙顆粒級配曲線圖查詢功能,選擇需要查詢的試坑,點擊查看按鈕,可展示該試坑整體和每一層的沙顆粒級配曲線如圖2所示,可對圖進行打印操作。
圖2 試坑沙顆粒級配曲線Fig.2 Sediment gradation curve of test pit
(1) 實測斷面數(shù)據(jù)錄入。將斷面實測的陸上數(shù)據(jù)、水下數(shù)據(jù)、水深圖數(shù)據(jù)導入到系統(tǒng),可進行導入、查看、刪除等操作。
(2) 水位推算。根據(jù)導入到系統(tǒng)中的斷面實測數(shù)據(jù),可分為中心線法和距離倒數(shù)加權法來計算。中心線法又可通過按測點平均時間計算、按測點測量時間逐點計算、根據(jù)錄入實測水位計算3種模型計算水位數(shù)據(jù)。
(3) 計算起點距和高程。在完成水位計算后,可以進行斷面起點距和高程計算。高程可通過無溫躍層改正和溫躍層改正兩種方式進行計算。在計算時系統(tǒng)會彈出窗口對測點進行檢查,可以根據(jù)輸入條件進行測點去偏、測點去重、插入測點、刪除測點,核對數(shù)據(jù)后完成起點距和高程的計算。
(4) 繪制斷面圖。在完成上述計算后,可對完成計算的斷面進行斷面圖繪制,并將所繪制的斷面圖導出為CAD格式(圖3)進行保存和打印。
圖3 斷面圖Fig.3 Cross-section diagram
(5) 查詢分析??蓪Σ煌瑴y次或斷面的往返測進行面積差計算,也可利用截錐體法進行泥沙沖淤分析計算。
(6) 生成斷面成果表。系統(tǒng)可生成斷面成果表,以Excel的格式將成果表保存到計算機中。
為了定量評價該信息平臺性能,本文使用一臺聯(lián)想萬全R525 G2服務器進行壓力測試。該服務器配備了Intel Xeon CPU E5530處理器,最大內存容量144GB??蛻舳耸褂靡慌_搭載Inter(R)Core(TM)i5-252-M處理器的Thinkpad T420s和一臺搭載Inter(R)Core(TM)2 Duo CPU P8600處理器的Thinkpad T400同時運行。測試上報文件有20個工作表,每個工作表包含600條數(shù)據(jù)條目,文件總內存約1M。實驗通過MS Visual Studio 2012 Test Center分別模擬5,50,200個并發(fā)用戶運行情況。
測試中軟件運行基本穩(wěn)定,未發(fā)生因故障所導致的異常退出及丟失數(shù)據(jù)現(xiàn)象,壓力測試結果見表1。信息平臺在最大200個并發(fā)用戶情況下,頁面響應時間小于3 s,平均完成時間114 s。定量成果證明該信息平臺具有較強穩(wěn)健性和可靠性,滿足泥沙監(jiān)測業(yè)務操作要求。
表1 壓力測試統(tǒng)計Tab.1 Pressure test statistics
近年來,中國大力推動數(shù)字孿生流域、數(shù)字孿生水利工程建設,對水文泥沙監(jiān)測處理軟件的高效性、穩(wěn)定性、安全性提出了更高要求。該信息平臺建成后,被業(yè)內主要大型事業(yè)、企業(yè)單位廣泛應用于長江上游水庫(群)及西南諸河水庫的實際生產(chǎn)項目中,泥沙沖淤分析見圖4。在系統(tǒng)運行穩(wěn)定性、數(shù)據(jù)管理安全性、數(shù)據(jù)處理高效性、處理成果準確性等方面均得到了良好評價,創(chuàng)造了積極的社會效益。
圖4 泥沙沖淤分析Fig.4 Analysis of degradation and aggradation
隨著數(shù)字孿生流域快速發(fā)展,水文泥沙監(jiān)測數(shù)據(jù)成為了河道BIM、生態(tài)保護、儲水量反演等領域的重要數(shù)據(jù)源。傳統(tǒng)的處理軟件功能分散、人機交互強度大、層級管理不便,已不能滿足數(shù)字孿生流域的建設需求。本文提出以.Net為開發(fā)平臺,采用C/S結構,直連SQL Server數(shù)據(jù)庫開發(fā)水庫泥沙監(jiān)測信息平臺,形成如下結論。
(1) 采用C/S結構直連SQL Server數(shù)據(jù)庫進行平臺開發(fā),具有多重、多層級安全保障,數(shù)據(jù)管理安全可靠。
(2) C/S結構,C#語言開發(fā)平臺系統(tǒng)界面簡單,按數(shù)據(jù)處理流程進行模塊化設計系統(tǒng),系統(tǒng)使用便捷。
(3) 采用C/S結構,SQL Server數(shù)據(jù)庫開發(fā)平臺,僅對服務器一次性建設,即可實現(xiàn)多個客戶端高效運行系統(tǒng)。
(4) 以.Net為開發(fā)平臺,采用C/S結構,直連SQL Server數(shù)據(jù)庫開發(fā)平臺,具有數(shù)據(jù)處理、存儲、管理多角色獨立使用功能,適用于專業(yè)數(shù)據(jù)管理平臺開發(fā)應用。
(5) 集成斷面處理與床沙分析功能,實現(xiàn)泥沙監(jiān)測業(yè)務一體化作業(yè),有效降低人機交互強度,縮短成圖周期。