?

四川省水文資料對外在線服務標準化技術與應用研究

2024-03-29 07:34李騰飛
水資源開發與管理 2024年2期

李騰飛

(四川省水文水資源勘測中心,四川 成都 610036)

水文資料是通過實地調查、觀測及計算研究所得的與水文有關的各項資料,如降水量、蒸發量、水位、流量、含沙量等,以及從這些資料求得的在一定時期內的最大值、最小值、平均值、總量、過程線和等值線等,水文資料廣泛應用于國家機關決策和防災減災、國防建設、公共安全、環境保護、應急管理等相關社會事務中。水文資料對外服務主要是水文資料存儲保管單位,面向政府機構和社會公眾編制重要規劃、進行重點項目建設、防災減災、水資源管理等需求,提供水文資料的一種服務活動。

1 研究目的

《“十四五”智慧水利建設規劃》《水文現代化建設規劃》《四川省水文事業發展規劃(2021—2035 年)》等文件對水文領域信息數字化轉型提出,要根據政府部門和社會公眾對水災害、水資源、水生態、水環境等不同水文信息的需求,提供前瞻性數字化產品服務[1],目前水利部長江委實現了面向Web 的水文數據“一站式”服務[2],氣象、測繪等行業也實現了資料的線上服務。由于水文資料對外服務不屬于行政審批事項,全國各地對此信息化改進重視不夠,大多數依舊沿襲使用單位提出實際需求、手工填寫數據申請,層層審批,最終由工作人員從水文數據庫提取后提供的服務模式,工作效率低、容易出錯、溝通成本大,基于此,本研究力求實現水文資料對外服務的高效化、標準化、準確化,以國家基本水文測站提供水文資料為例,基于面向Web 設計,從水文資料在線查詢、在線申請等全流程服務環節出發,制定系統架構、網絡組織、數據表設計等一系列標準化體系,建立四川水文數據對外服務系統,實現了水文數據需求與資料服務的關聯轉換,從而提升水文信息服務現代化能力。

2 方案設計

2.1 總體架構

基于不跑路、少跑路、無紙化、遠程申請、在線獲取的總體要求,該研究采取了面向Web 服務的方式,采用B/S 架構,即瀏覽器/服務器模式(Browser/Server),將系統功能實現的核心部分和數據集中到Web 服務器和數據庫服務器上,用戶通過訪問Web 瀏覽器端進行數據訪問,從而實現信息交互、數據服務。系統層級結構和網絡架構見圖1 和圖2。

圖1 系統層級結構

圖2 系統網絡架構

2.2 邏輯設計

以服務用戶為主旨,設計了用戶注冊登錄、數據申請、數據查詢和提交等主要工作流程,后臺管理設置了用戶資料審核、數據申請審核、數據資料目錄復核等操作流程,見圖3。

圖3 水文數據對外服務基本流程

2.3 權限設計

基于角色的訪問控制(RBAC)是實施面向Web服務的一種有效的訪問控制方式,可以對客戶進行識別,減輕服務器負擔,同時加強管理。設置了用戶角色、流程管理角色、管理員角色。流程管理主要由內部審核人員負責,如數據管理員復核數據,一個水文資料可以分發給多個資料管理部門進行復核審核。RBAC 基本框架見圖4。

圖4 RBAC 基本框架

2.4 結構設計

該系統按功能劃分為基礎設施層、數據資源層、業務應用層?;A設施層是系統的基礎保障,提供存儲、網絡等資源設施;數據資源層主要包括水文站點數據、水文資料目錄等數據庫;業務應用層是直接提供水文資料服務的窗口,主要包括用戶進行數據索引、數據申請、數據資料填報,管理員進行角色訪問控制、類別管理等功能。

2.5 模塊設計

按照前臺、后臺組成系統整體進行了設計,同時設置了導出、記錄、統計、訂單答疑等功能,可以開展價格統計,訂單月度、年度分析等[3]。針對使用過程中存在的問題,對每個訂單設置了答疑模塊,主要針對提供的水文資料、服務流程等方面答疑。系統功能模塊見圖5。

圖5 系統功能模塊結構

2.6 數據庫服務設計

該系統業務流程單一,在數據庫的設計上,選用較為輕便的服務器作為內部平臺的補充,圍繞用戶來完成,由必要的站點表、站點數據表、用戶表、用戶申請數據表等組成,對于唯一字段和關鍵字段,數據表設計見表1,水文資料計價表字段定義見表2。

表1 數據表設計

表2 水文資料計價表字段定義

資料清單編碼設計參考《水文數據目錄服務規范》(SL 736—2016)要素代碼表,按照《四川省水文資料和成果有償使用收費標準》(川水文函〔2016〕54 號),水文資料對外服務共分為水文、水質、墑情、地下水四大類。一級類選用1 位編碼,即1~4;水文一類中二級類最多,接近2 位數,考慮以后的擴展,二級類選用2 位編碼,即01~99;水文一類流量二類三級類最多,接近2 位數,考慮以后的擴展,三級類選用2 位編碼即01~99。如獲取某站月最大值該項數據資料的編碼即為10306,資料共采用5 位編碼。

設計了3 類申請的狀態,一類狀態是申請狀態(撤銷、已申請、推進中、已完成),二類狀態是資料狀態(已初核資料;申請走完流程已收到,資料未提供;與已提供資料不一致;與已提供資料一致),三類狀態是合同付款狀態(未簽訂合同未付款、已簽訂合同未付款、未簽訂合同已付款、已簽訂合同已付款)。根據二類、三類狀態,自動更新一類狀態。在訂單狀態中增加客戶申請數據和客戶獲得數據一致性校驗,避免出現申請數據與獲得數據存在差錯的情況。

2.7 技術選擇

2.7.1 服務器程序設計模式

MVC 設計模式是一種將應用程序的邏輯層和表現層分離出來的軟件設計方法,包括模型(Model)、視圖(View)和控制器(Controller),三者之間關系見圖6。

圖6 MVC 設計模式

模型表示企業數據和業務規則,負責轉發請求,對請求進行處理,模型類包含幫助對數據庫進行增刪改查的方法。視圖是用戶看到并與之交互的界面,是一種輸出數據并允許用戶操縱的方式??刂破魇悄P?、視圖以及其他任何處理 HTTP 請求所必需資源之間的中介,接受用戶的輸入并調用模型和視圖去完成用戶的需求。MVC 三個部件中模型擁有最多的處理任務,MVC 優點在于能為應用程序處理不同的視圖。

2.7.2 設計程序語言和框架選擇

CodeIgniter 框架采用MVC 設計模式構建,是一個小巧但功能強大的PHP 框架。作為一個簡單而“優雅”的工具包,它提供一套豐富的標準庫以及簡單的接口和邏輯結構,可以快速幫助PHP 程序員建立功能完善的Web 應用程序[4]。

Codelgniter 系統數據流程為:index.php 文件作為前端控制器,初始化運行 CodeIgniter 所需的基本資源;路由Routing 檢查HTTP 請求,以確定如何處理該請求;如果存在緩存Caching 文件,將直接輸出到瀏覽器,不用走下面正常的系統流程;在加載應用程序控制器Application Controller 之前,對 HTTP 請求以及任何用戶提交的數據進行安全Security 檢查;控制器加載模型Models、核心類庫Libraries、輔助函數Helpers 以及其他所有處理請求所需的資源;渲染視圖View 并發送至瀏覽器,如果開啟了緩存,視圖先緩存起來用于后續的請求。Codelgniter 系統數據流程見圖7。

2.7.3 WebGIS 類庫選擇

在站點選擇中,為了增加可視化、直觀查看的效果,基于四川省政府網站公開數據平臺的公開站點數據,使用OpenLayers 在網頁前端進行展示。OpenLayers是一個以面向對象形式開發的JavaScript 類庫,用于WebGIS 前端,主要用來在瀏覽器中展現地圖數據,它提供了大量的地圖組件,如圖層加載、控件、標準顯示、信息查看彈出窗口等。

2.8 安全設計

《中華人民共和國網絡安全法》《中華人民共和國數據安全法》《中華人民共和國個人信息保護法》規定,網站涉及用戶登錄名、密碼、電話等敏感信息,采用Md5 加密,對相應字段信息加密后存入數據庫。

2.9 容量設計

通過近5 年統計,按照新建大中小型水庫建設、生態流量、水文水資源等需要水文資料的實際,資料目錄量并不多,按照無償、有償等分類。

3 系統實現

3.1 安裝環境

操作系統采用CenOS 5.4 64 位,服務器為Apache 2.4,數據庫選擇Mysql 5.1.48,PHP 環境為5.2 版本,CodeIgniter 版本為2.1.3。

3.2 Codelgniter 程序文件目錄結構

Codelgniter 基本結構為入口程序文件(index.php)、system 框架程序目錄文件夾和application 項目程序文件夾,application 文件夾中主要存放了controllers、views、models 等主要文件夾,對應MVC 模式的程序文件。

3.3 效果預覽功能截圖

按照查詢流程,設計了查詢首頁、關鍵詞選擇查詢等頁面,頁面效果預覽見圖8~圖10。

圖8 水文資料申請表單填寫

圖9 站點資料查詢選擇

圖10 管理頁面

4 結 語

針對政府機構和社會公眾對四川省水文資料對外服務的實際需求,通過分析現有水文資料對外服務存在的線下審批、溝通不暢等不足,立足于系統結構、網絡、數據表設計等一系列標準化建設,搭建四川省水文資料對外在線服務信息系統,可全天候服務于社會公眾獲取水文資料的全過程管理,在水文資料服務的內容、服務的效率和服務的質量上均得到提升,更加方便快捷全面地服務于社會公眾。四川省水文資料對外服務系統現已上線試運行,業務人員可通過此系統在線查看水文資料價格和資料完整情況、提交資料申請以及下載所需水文資料,得到了水文資料需求單位的一致好評。也要看到該系統目前支持的服務還是基本需求,受可選擇站點覆蓋不全、水文站點資料更新不及時等影響,下一步還需加入專用站、中小河流站點等水文站點資料,在當前適應手機、平板電腦等多類型終端需求上,還要繼續完善功能模塊、提供接口服務、開發手機App 等。

91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合