唐雷彬,任 崇,劉蓬勃
(遼寧省水文水資源勘測局,遼寧 沈陽 110003)
水文數據庫建設是實現水文信息數字化、網絡化和智能化的基礎工作,直接影響到水文數據在生產實踐中的具體應用。目前,遼寧省國家基礎水文數據庫水文數據系列長度為107年(1902—2008年),按照最新水文數據庫 4.0結構標準(SL324—2005),數據庫共有46個表,涉及全省123處水文(位)站,558處雨量站的數據。
數據錄入使用的年鑒全部統一管理、統一分類。數據的錄入采用單表格雙人同步錄入、計算機交互比對、按比例人工抽校的工作模式,來保障錄入成果的質量。
根據數據庫錄入具有數據量大、表格樣式多、數據格式多的特點,開發了數據錄入軟件,整個程序分為6個功能模塊:數據錄入模塊、交互比對模塊、錯誤改正模塊、錯誤統計模塊、成果匯總模塊和測站情況查詢模塊[1]。針對每一類表格,事前詳細規劃,確定最佳錄入方式和錄入模板;計算機比對校核及數據修改由經驗豐富、工作認真并且熟悉水文年鑒的同志共同完成;將修改后的正確數據打印輸出,完成人工校核并簽字確認存檔。
數據校對主要是對數據進行質量控制,是數據庫建設過程中極為重要的一個環節。由于水文數據庫涉及數據量龐大,數據源及數據結構復雜,采取科學、合理、高效的數據校對方式,是提高數據質量的關鍵。針對不同的表結構,采取不同的校對方式,可以提高數據的校對質量,以達到數據庫的質量控制要求。
1)針對已入庫的歷史數據,采取打印輸出,人工比照年鑒,2人一組,一人閱讀,一人表對修改。
2)根據數據的連續性、一致性、合法性的原則,開發合理的數據庫檢查軟件,檢出的“可疑性數據”,由人工進一步確認。
3)在數據校對階段,采用和數據錄入一樣的模式,雙機平行校對的方式,同一組數據校對兩遍,再采用程序平行比對的方法。此法保證了數據基本達到數據庫的應用標準。
一直以來,遼寧省國家水文數據庫采用的是《全國水文數據庫表結構方案》3.0版。 2005年水利部頒布了《基礎水文數據庫表結構及標識符標準》4.0版,對3.0結構中不合理的部分進行了優化、修改、補充。2008年,結合遼寧省實際情況,進行了數據庫結構3.0到4.0的轉換。
1)3.0 結構“實測懸移質斷面平均與相應單位水樣顆粒級配成果表”,按照4.0結構要求該表分屬于“實測泥沙顆粒級配”和“實測泥沙特征粒徑”2個表;在3.0結構中,同一時間可以有施測單和施測斷,而4.0結構對該表單、斷沙碼做出了要求:填1時表示斷沙或斷顆,填2時表示單沙、單顆或單個垂線。遼寧省“實測懸移質斷面平均與相應單位水樣顆粒級配成果表”年鑒中存在一條記錄同時有斷沙及單沙施測號的情況。根據新結構,對同時有斷沙及單沙施測號的,按“單沙”對待轉入新結構庫中。
2)在“實測流量成果表”中,3.0結構“測號CH”是字符型,可以是數值或者漢字,4.0結構要求“流量施測號數QOBNO”為數值型而且不允許為空值。遼寧省年鑒中有些站的部分數據“流量施測號”為空,有些站為漢字,如“主槽”、“左分流”、“右分流”等,因此無法入庫。對此,采取以特殊字符代替的方法,如用“1111”代表“主槽”等。
3)在“水庫水文要素摘錄表”中,4.0結構要求設置“站碼”和“時間”為主鍵,這樣就不允許“站碼”與“時間”相同的數據入庫,避免數據庫中重復數據的錄入。 針對“水庫水文要素摘錄表”年鑒中存在相同時間不同出庫流量的數據,在第2次相同的時間上加1分鐘,第3次相同的時間上加2分鐘,以此類推。
4)3.0 結構“實測大斷面成果表”轉換4.0結構時,要分2部分存儲于:“實測大斷面成果表”,“大斷面參數及引用情況表”中。其中“大斷面參數及引用情況表”測次說明OBNONT的字符長度大于4.0結構的長度,超出部分無法入庫。因此,對表結構進行修改,使“測次說明”字段符合4.0結構規定。
5)在“實測流量成果表”中,遼寧省早期年鑒中分洪水期實測流量成果表和平水期實測流量成果表,在平水期實測流量成果表中,沒有起始時分和終止時分,只有平均時分。為使其符合4.0結構,對起始時分錄入“8888”,終止時分按照平均時分處理。
1)手工入庫。要求入庫數據格式必須符合遼寧水文數據庫表結構要求。主要針對補錄部分的數據,數據補錄時嚴格按照庫表結構規定錄入。
2)軟件轉換入庫。對入庫數據格式不符合要求的,需用軟件將數據格式轉換為庫表結構要求的格式后入庫。主要針對資料整編以來以EXCEL表格形式保存的表結構,及《水文年鑒》表結構相同的數據。《水文年鑒》表結構中一般將日、月、年表結合在一個表中,另外很多表一般都省略相同水位的整數部分,大部分表都省略相同的月、日。由于《水文年鑒》表結構與遼寧水文數據庫表結構不同,因此需要軟件轉換。
整編后的資料存儲于EXCEL表格之中,以年鑒格式保存。要將這些數據存儲于基礎水文數據庫中需進行格式轉換。例如:日表、月表、年表的拆分,水位整數位省略的填補等。
遼寧省水文信息查詢系統總體結構采用C/S和B/S共2種體系結構開發。C/S結構為客戶機和服務器結構,是軟件系統體系結構,通過它可以充分利用兩端硬件環境的優勢,將任務合理分配到Client端和Server端來實現,降低了系統的通訊開銷。B/S(Browser/Server)結構即瀏覽器和服務器結構。它是隨著 Internet技術的興起,對C/S結構的一種變化或者改進的結構。在這種結構下,用戶工作界面是通過WWW瀏覽器來實現,極少部分事務邏輯在前端(Browser)實現,但是主要事務邏輯在服務器端(Server)實現,這樣就大大簡化了客戶端電腦載荷,減輕了系統維護與升級的成本和工作量,降低了用戶的總體成本。以目前的技術看,局域網建立B/S結構的網絡應用,并通過Internet/Intranet模式下數據庫應用,相對易于把握、成本也較低。但是,應用服務器運行數據負荷較重。基于2種結構的優缺點,水文數據庫應用服務系統針對不同用戶選擇不同結構,即兩種結構并存。
1)選擇C/S結構。依據用戶對國家水文數據庫通常的應用方式、統計模型、圖形構造以及數據庫建設、庫資源安全管理等需求,系統應該由以下功能模塊組成:數據錄入裝載模塊、瀏覽還原模塊、分析應用模塊 、水文統計模塊、安全主控模塊。系統在Win95/98/2000/Xp系列操作系統平臺上運行。可靈活采用本地(Native)或公用接口(ODBC)方式動態連接客戶機與服務器,亦可在單機上良好運行;可自由掛接MS SQL Server,Sybase SQL Server,Oracle等數據庫系統。
2)針對社會公眾選擇B/S結構。社會公眾不同于科研、設計單位,該系統以地理信息系統方式來選擇河流上的主要水文、水位站、雨量站、蒸發站。用戶可根據需要進行選擇,選擇某站后,相應的特征值資料即可列表顯示,用戶也可在本系統中查詢出遼寧省水文數據的全部索引資料。
[1]宋景峰.水文數據庫錄入比對程序功能設計探討[J].吉林水利,2009,(2).