金 奇,趙云毅,彭子翰,馮國正
(長江水利委員會水文局 長江上游水文水資源勘測局,重慶 400020)
水庫泥沙監測主要包括河道斷面繪制、床沙分析等,具有監測要素多、數據多源、數據處理程序繁雜、成果表達多樣、數據時效性要求高等特點。現有的河道信息系統主要以MapInfo5.0、ArcEngine、ArcGIS等為開發應用平臺進行建設[1-4]。河道斷面繪制主要采用南方CASS軟件平臺[5-7]或基于AutoCAD二次開發斷面成圖[8-9]等方式實現。幾乎沒有床沙數據處理及成果整理相關文獻。這些信息系統開發平臺相對專業,對數據生產者、管理者使用門檻高,成本較大。基于AutoCAD的二次開發以文本為基礎,非數據庫管理,數據存儲、共享、安全管理困難。同時,各生產工序雖已存在相應的專業處理軟件,但設計較為單一、功能分散、操作繁瑣,往往需要多個不同的專業軟件才能完成所有任務,應用面窄、缺乏統一性,不能滿足河道勘測快速發展的需求。為進一步提高水庫泥沙監測作業效率,保障河道數據生產與管理安全,本文提出以微軟.Net為開發平臺,采用C/S結構,直連SQL Server數據庫進行平臺開發,集成斷面繪制、床沙分析等任務模塊,使數據生產流程化,數據管理規范化,成果標準化。
系統計劃采用微軟.Net開發平臺進行開發,運行模式主要基于C/S模式;系統將在局域網或單機環境上運行,數據庫和軟件系統相對獨立;數據庫安裝在服務器上;軟件系統主要以SQL Server直連等方式進行數據庫表數據讀取。
(1) 易用性。按照數據處理、存儲、管理角色進行模塊化設計,各模塊按照數據處理流程進行模塊分類,實現系統的易用性。
(2) 美觀與協調性。布局力求簡潔、有序、易于操作。注重窗口內部所有控件的布局和信息組織的藝術性,使用戶界面美觀協調。
(3) 錯誤信息處理。出現各種出錯或異常狀態時,給予用戶友好的提示和幫助,并提示用戶錯誤或異常產生的原因。
(4) 安全性。數據庫、系統安全登錄設置,對不同用戶予以不同的權限設置。
建設內容主要包括系統管理、原始數據質量檢查、數據處理、成果生成、工作量統計、沖淤分析計算、成果遠程發布等,系統功能結構如圖1所示。系統主要通過泥沙監測相關實測數據,對水庫的床沙和斷面進行分析,流水線生成成果表和成果圖,將水庫泥沙監測斷面分析和床沙分析工作集成在一個系統中,既可提高工作效率,又保證數據的安全性與準確性。

圖1 系統功能結構Fig.1 Overview of the system function
微軟公司推出的SQL Server數據庫系列軟件是一套關系型數據庫管理系統,具有很高的安全性,既能降低日常開發成本,又能節省開發項目時間,是一個較智能的平臺,易于數據庫管理[10]。
C/S結構是一種常見的軟件設計模式,即客戶端(Client)-服務器(Server)結構。采用C/S結構的系統有專用安裝包,也有相對固定的用戶群,對安全性的控制能力強。C/S結構的系統一般是典型的中央集控模式,多用戶節點獨立同步與服務器進行信息傳遞與數據處理。C/S結構下程序從整體性考慮,完成整體化任務,更加注重流程性。
C#語言是一種面向對象的高級程序設計語言,具有比C和C++更加完善面向對象的功能。C#的安全性和穩定性都非常高,而且使用較簡單。C #有著VB的可視化操作,也有C++的高效率運行能力,因此成為開發.NET的首選語言[10]。
SQL Server數據庫提供了完善的審計功能,通過SQL事件探查器自動記錄用戶操作信息,包括用戶名、時間、操作代碼等信息,便于溯源事故相關責任人,也有利于修補系統漏洞和弱點,維護信息平臺安全。限制用戶訪問數據權限是保護數據安全的重要措施。系統根據使用對象身份,將其定義成系統管理員用戶、數據庫所有者用戶、普通用戶等,不同的用戶具有不同的訪問權限,實現用戶分級管理。
身份認證是信息平臺最外層的安全保護手段。用戶必須向系統出示準確的用戶名和密碼,通過認證機制嚴格審查核實后,才能獲得相對應的系統服務。SQL Server具有數據內部加密功能,使用密文作為高敏感數據的存儲或傳輸手段,有效防范非法行為竊取泥沙監測項目保密數據事故。
為防止系統崩潰導致重要數據損壞或丟失,數據庫管理系統建立了備份和恢復機制,能在最短時間內通過緩存機制恢復數據運行。同時,信息平臺為完善系統保護體系,通過關閉不用的服務、功能和網絡連接,禁用不必要的協議,更改或隱藏SQL Server端口,刪除存在危險的存儲過程,定期安裝補丁等多重手段共同維護系統運行安全。
系統管理主要分為以下5個部分。
(1) 部門管理。用戶可以對系統組織架構進行管理,添加、編輯或刪除部門,維護部門上下級層級關系和用戶等。
(2) 用戶管理。由系統管理員管理用戶,包括用戶的創建、刪除、用戶權限分配、用戶權限更改。用戶的權限可以由系統管理員根據需要動態設置。可將用戶分成不同的用戶組,賦予不同角色不同的訪問權限,采用基于角色的權限訪問控制策略。
(3) 權限管理。對權限功能進行了細分,將權限級別劃分為菜單、功能、數據,不但可以控制用戶訪問的菜單項,還可以控制用戶對菜單中功能的使用,禁止用戶的某一細節操作。
(4) 角色管理。對單位內部員工進行角色定義與劃分,結合本系統中的權限管理,為不同角色進行不同權限分配,以控制每個角色在系統中的操作訪問權限。
(5) 日志管理。日志管理主要是對訪問系統的用戶操作行為進行記錄,主要記錄的內容包括訪問者用戶名、姓名、日志信息、IP地址、操作時間等。
(1) 床沙實測數據分析。主要是對錄入的實測數據進行系統自動分析,根據預設的算法對數據計算、分析和處理,并自動繪制試坑的沙顆粒級配曲線圖。可以查看整個試坑的沙顆粒級配曲線圖,也可對試坑每一層分別查看。支持按指定圖紙尺寸對圖進行打印操作。
(2) 生成成果表。實測數據分析完成后,可以生成床沙粒徑分析成果表以供查閱,并且可對成果表進行導出和打印操作。
(3) 沙顆粒級配曲線圖查詢。提供沙顆粒級配曲線圖查詢功能,選擇需要查詢的試坑,點擊查看按鈕,可展示該試坑整體和每一層的沙顆粒級配曲線如圖2所示,可對圖進行打印操作。

圖2 試坑沙顆粒級配曲線Fig.2 Sediment gradation curve of test pit
(1) 實測斷面數據錄入。將斷面實測的陸上數據、水下數據、水深圖數據導入到系統,可進行導入、查看、刪除等操作。
(2) 水位推算。根據導入到系統中的斷面實測數據,可分為中心線法和距離倒數加權法來計算。中心線法又可通過按測點平均時間計算、按測點測量時間逐點計算、根據錄入實測水位計算3種模型計算水位數據。
(3) 計算起點距和高程。在完成水位計算后,可以進行斷面起點距和高程計算。高程可通過無溫躍層改正和溫躍層改正兩種方式進行計算。在計算時系統會彈出窗口對測點進行檢查,可以根據輸入條件進行測點去偏、測點去重、插入測點、刪除測點,核對數據后完成起點距和高程的計算。
(4) 繪制斷面圖。在完成上述計算后,可對完成計算的斷面進行斷面圖繪制,并將所繪制的斷面圖導出為CAD格式(圖3)進行保存和打印。

圖3 斷面圖Fig.3 Cross-section diagram
(5) 查詢分析。可對不同測次或斷面的往返測進行面積差計算,也可利用截錐體法進行泥沙沖淤分析計算。
(6) 生成斷面成果表。系統可生成斷面成果表,以Excel的格式將成果表保存到計算機中。
為了定量評價該信息平臺性能,本文使用一臺聯想萬全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條數據條目,文件總內存約1M。實驗通過MS Visual Studio 2012 Test Center分別模擬5,50,200個并發用戶運行情況。
測試中軟件運行基本穩定,未發生因故障所導致的異常退出及丟失數據現象,壓力測試結果見表1。信息平臺在最大200個并發用戶情況下,頁面響應時間小于3 s,平均完成時間114 s。定量成果證明該信息平臺具有較強穩健性和可靠性,滿足泥沙監測業務操作要求。

表1 壓力測試統計Tab.1 Pressure test statistics
近年來,中國大力推動數字孿生流域、數字孿生水利工程建設,對水文泥沙監測處理軟件的高效性、穩定性、安全性提出了更高要求。該信息平臺建成后,被業內主要大型事業、企業單位廣泛應用于長江上游水庫(群)及西南諸河水庫的實際生產項目中,泥沙沖淤分析見圖4。在系統運行穩定性、數據管理安全性、數據處理高效性、處理成果準確性等方面均得到了良好評價,創造了積極的社會效益。

圖4 泥沙沖淤分析Fig.4 Analysis of degradation and aggradation
隨著數字孿生流域快速發展,水文泥沙監測數據成為了河道BIM、生態保護、儲水量反演等領域的重要數據源。傳統的處理軟件功能分散、人機交互強度大、層級管理不便,已不能滿足數字孿生流域的建設需求。本文提出以.Net為開發平臺,采用C/S結構,直連SQL Server數據庫開發水庫泥沙監測信息平臺,形成如下結論。
(1) 采用C/S結構直連SQL Server數據庫進行平臺開發,具有多重、多層級安全保障,數據管理安全可靠。
(2) C/S結構,C#語言開發平臺系統界面簡單,按數據處理流程進行模塊化設計系統,系統使用便捷。
(3) 采用C/S結構,SQL Server數據庫開發平臺,僅對服務器一次性建設,即可實現多個客戶端高效運行系統。
(4) 以.Net為開發平臺,采用C/S結構,直連SQL Server數據庫開發平臺,具有數據處理、存儲、管理多角色獨立使用功能,適用于專業數據管理平臺開發應用。
(5) 集成斷面處理與床沙分析功能,實現泥沙監測業務一體化作業,有效降低人機交互強度,縮短成圖周期。