王述強 ,王 丹
(1. 江西省水文局,江西 南昌 333000;2. 浙江貴仁信息科技股份有限公司,浙江 杭州 310000)
大數(shù)據(jù)、云計算是目前較為前沿的信息技術,被廣泛用于智慧城市、物聯(lián)網、金融分析、軍事、公檢法等各個領域[1]。微服務技術是近幾年興起的先進信息技術,我國目前雖然在一些小范圍內應用該技術,但在許多領域尤其是水利信息化中仍處于試驗探索階段。
因此如何將大數(shù)據(jù)、云平臺和微服務結合,解決水利信息化發(fā)展中長期以來存在的水文數(shù)據(jù)重復采集、水文業(yè)務重復建設、水利數(shù)據(jù)資源無法共享等問題,以提高水文服務效率是信息研究和水利領域的重要課題。
為此對大數(shù)據(jù)、云平臺和微服務等前沿技術結合進行分析,搭建江西省水文綜合平臺,解決缺乏統(tǒng)一數(shù)據(jù)資源、應用支撐、標準規(guī)范、服務平臺的背景問題,實現(xiàn)水利信息資源統(tǒng)一管理及標準的目標。
水文綜合平臺以“統(tǒng)籌規(guī)劃、統(tǒng)一標準、資源匯集、共享服務、持續(xù)發(fā)展”和水利信息化方案中“五個統(tǒng)一”為指導思想,以科學性、實用性、穩(wěn)定性、安全性和兼容性為設計原則,圍繞“一個中心,多個應用系統(tǒng)”的核心思想,采用云計算、大數(shù)據(jù)分析與水文業(yè)務工作的結合,加強全山西省水文數(shù)據(jù)的匯集共享,基于微服務架構逐步優(yōu)化已開發(fā)業(yè)務應用中同類、共性的功能模塊,通過資源、應用整合及綜合展示,實現(xiàn)數(shù)據(jù)的統(tǒng)一匯集及應用,整合省水文局相關應用系統(tǒng),達到對系統(tǒng)的單點登錄、統(tǒng)一管理、有效結合的目的。構建省水文數(shù)據(jù)中心統(tǒng)一部署,省、市、基地、重點站四級水文機構應用的云平臺服務體系,提供全天候、全覆蓋、全方位的技術支撐和數(shù)據(jù)服務,從而實現(xiàn)智慧水利的目標。
智慧水利具有透徹感知、全面互聯(lián)、深度挖掘、智能應用及泛在服務等特征,各個層次互相關聯(lián),彼此耦合,從業(yè)務、應用、數(shù)據(jù)、水利云、網絡、安全等方面及之間的關系形成一個完整體系[2]。
水文綜合服務平臺總體架構如圖 1 所示,從下至上劃分為信息采集層、基礎環(huán)境層、數(shù)據(jù)層、平臺層、應用層。應用層和平臺層遵循安全保障體系,如強密碼管理,防暴力破解等,數(shù)據(jù)層、基礎環(huán)境層和數(shù)據(jù)采集層遵循運行維護體系,如備份策略,容災等,整個平臺架構符合標準的規(guī)范體系。
圖1 總體框架圖
應用層自上而下采用面向服務架構(SOA),各系統(tǒng)通過服務的方式共享資源。平臺層提供 PaaS(平臺即服務)功能,各層次間根據(jù)業(yè)務應用的需要,通過制定不同的接口協(xié)議,在服務、構件、信息等層次,實現(xiàn)基于網絡的資源共享與協(xié)同操作、業(yè)務資源共享的目標。數(shù)據(jù)層作為基礎數(shù)據(jù)支撐對各類數(shù)據(jù)進行匯集,在數(shù)據(jù)層逐步推進數(shù)據(jù)資源的整合。最終形成應用層各平行系統(tǒng)間信息互通,用戶體系統(tǒng)一,服務共享。
2.1.1 大數(shù)據(jù)平臺
進入大數(shù)據(jù)時代,政府的公共事務流程和社會管理方式等均變得更為精簡、精準、智慧[3],治理結構趨于扁平化[4],因此政府須改革各自為政的數(shù)據(jù)管理模式,理清數(shù)據(jù)權屬關系,打破地域、職能和部門的桎梏,實現(xiàn)部門之間的合作分工[5]。
江西省大數(shù)據(jù)平臺底層以 Hadoop 大數(shù)據(jù)生態(tài)組件為主,構成企業(yè)級大數(shù)據(jù)存儲、查詢、分析的統(tǒng)一平臺,能夠幫助機構快速構建海量數(shù)據(jù)信息處理系統(tǒng),通過對海量數(shù)據(jù)信息實時與非實時的分析挖掘,打破地域、職能和部門的數(shù)據(jù)壁壘。
2.1.2 云平臺
云平臺實際的物理資源抽象成虛擬化資源,包括計算、存儲和網絡虛擬化,形成一個虛擬化資源池。隨著數(shù)據(jù)中心業(yè)務的發(fā)展,傳統(tǒng)數(shù)據(jù)中心面臨著很多新的挑戰(zhàn)。江西省水文云平臺功能包括:對各個物理數(shù)據(jù)中心資源進行整合;采用 ManageOne作為數(shù)據(jù)中心管理軟件,對多個數(shù)據(jù)中心提供統(tǒng)一管理;彈性云平臺可以為用戶提供基礎設施層服務;用戶可根據(jù)自身需求定制云服務器配置、操作系統(tǒng),配置所需的運行環(huán)境,采用客戶端或者命令終端的方式訪問虛擬機[6]。通過云平臺和數(shù)據(jù)中心管理軟件協(xié)同運作,達到多數(shù)據(jù)中心融合、企業(yè)整體 IT 效率提升的目的。
2.1.3 容器云平臺
容器云平臺底層采用開源 K8s 和 docker 技術,提供彈性高效的容器底座,開放共享的服務目錄和豐富的云中間件生態(tài)。可在大規(guī)模高可靠的云服務和大量高性能互聯(lián)網應用的驅動下產生新一代軟件開發(fā)、集成、管理、運維的 PaaS 平臺。
2.1.4 微服務架構
采用微服務開源框架 ServiceComb 搭建微服務架構,微服務平臺提供的微服務是一個細粒度的SOA,服務的劃分基于領域驅動設計,每個微服務只專注自己的職責。每個服務可以進行獨立的開發(fā)、測試和交付,擁有獨立的運維、管控接口的能力,業(yè)務系統(tǒng)可以通過對接平臺進行統(tǒng)一的管理。微服務應用實現(xiàn)了快速構建,實時監(jiān)控,高可用保障。
2.2.1 水文綜合數(shù)據(jù)庫
江西省水文數(shù)據(jù)資源庫設計方面,應利用已建系統(tǒng)數(shù)據(jù)庫,根據(jù)微服務架構規(guī)劃,將已建的異構的數(shù)據(jù)庫按照國家和水文行業(yè)標準實施數(shù)據(jù)庫整合。整合后的數(shù)據(jù)庫一方面要保證已有業(yè)務應用系統(tǒng)的正常運行,另一方面也要在微服務架構下充分為新的業(yè)務應用提供支撐,為建設各層次的水文微服務應用及數(shù)據(jù)共享奠定基礎。
水文統(tǒng)一數(shù)據(jù)資源庫需要設計包括基礎、監(jiān)測、歷史、業(yè)務、事務、多媒體等八大數(shù)據(jù)庫在內的統(tǒng)一的水文數(shù)據(jù)資源庫。
依據(jù)《江西省水文統(tǒng)一數(shù)據(jù)資源庫數(shù)據(jù)庫設計》,建設江西省水文統(tǒng)一數(shù)據(jù)資源庫,對省局現(xiàn)有基礎數(shù)據(jù)庫中的水文數(shù)據(jù)進行數(shù)據(jù)抽取、轉換,匯入公共基礎數(shù)據(jù)池中,而公共基礎數(shù)據(jù)池則作為綜合數(shù)據(jù)的重要來源實現(xiàn)一數(shù)一源的目標。
2.2.2 數(shù)據(jù)共享平臺
江西省在實現(xiàn)數(shù)據(jù)庫統(tǒng)一標準的前提下,通過統(tǒng)一資源庫和大數(shù)據(jù)平臺技術有機結合建立了數(shù)據(jù)共享平臺。數(shù)據(jù)共享平臺,作為數(shù)據(jù)中臺,數(shù)據(jù)的集合中轉,統(tǒng)一為各子系統(tǒng)提供可靠、標準的業(yè)務數(shù)據(jù)來源。數(shù)據(jù)共享平臺采用面向對象的動態(tài)建模和數(shù)據(jù)服務,提供 Web 可視化界面和 Restful Service API 服務。使用方提出數(shù)據(jù)使用申請,由數(shù)據(jù)資源管理者進行審批,通過則發(fā)放數(shù)據(jù)使用許可服務,最終實現(xiàn)數(shù)據(jù)治理的系統(tǒng)性、整體性和協(xié)同性[7]。
以共享同一數(shù)據(jù)接口的方式,實現(xiàn)數(shù)據(jù)的實時更新,充分體現(xiàn)“一數(shù)一源”,避免重復開發(fā),統(tǒng)一數(shù)據(jù)、計算標準。
采用微服務框架,基于 RESTful 規(guī)范的 Web API 進行數(shù)據(jù)交互。各應用封裝成使用 HTTP/HTTPS 協(xié)議的 Web 服務,按照約定的資源地址(URL),調用各業(yè)務功能,數(shù)據(jù)傳輸?shù)膮?shù)和返回值采用 JSON 格式,數(shù)據(jù)結構須滿足約定要求。同時,在應用支持平臺中,提供 API 網關,負責服務的發(fā)現(xiàn)、注冊、管理及負載均衡等功能,各系統(tǒng)須提交 Web API 的調用規(guī)范到 API 網關進行統(tǒng)一管理。
API 網關是服務調度的核心,起到定位服務資源和統(tǒng)一發(fā)放的功能,所有的服務訪問,都通過API 網關進行請求,API 網關收到請求后,按照事先約定的地址和方式,將請求重新定向到各服務節(jié)點,保證所有服務統(tǒng)一資源管理的同時也便于各服務的維護。
在大數(shù)據(jù)、云計算、微服務技術的基礎上,以一張圖的設計理念搭建水文綜合平臺,按照一攬子覆蓋水文全業(yè)務的思想,從監(jiān)測、服務、管理多角度全面提升水文管理和服務水平。采用文字、表格、統(tǒng)計圖、專題圖、視頻監(jiān)控等多種展示方式,將防汛抗旱、水資源管理、水環(huán)境水生態(tài)保護、檔案管理等信息集中在一張圖上進行綜合展示和分析,實現(xiàn)多水文業(yè)務的統(tǒng)一調度管理,綜合展示江西水文各項專題和各類實時監(jiān)測等的信息。
大數(shù)據(jù)平臺對江西海量數(shù)據(jù)的存儲管理能力,提高了數(shù)據(jù)查詢、采集、管理的效率,特別是對歷史數(shù)據(jù)的全量或增量的更新效率提高了 5~10 倍,但對實時數(shù)據(jù)的計算能力仍有提升的空間;云計算為各業(yè)務系統(tǒng)提供統(tǒng)一文檔的基礎運行環(huán)境;微服務提供靈活標準的服務部署能力。各項技術之間相輔相成,形成了標準的統(tǒng)一數(shù)據(jù)庫、數(shù)據(jù)中臺支撐綜合水文服務平臺,從各個角度對水文信息化體系進行了完善。
2020 年底江西省水文綜合平臺已在 11 個地級市落地,服務于數(shù)百個業(yè)務系統(tǒng),基本解決了長期以來存在的水文應用繁多、資源不共享、標準不統(tǒng)一、信息孤島等問題。目前各業(yè)務系統(tǒng)水位站基本數(shù)據(jù)保持一致,水位、流量、水質和土壤墑情實時數(shù)據(jù)各系統(tǒng)共享,業(yè)務系統(tǒng)生成的成果數(shù)據(jù)互相共享。進一步證明:標準的數(shù)據(jù)運行基礎環(huán)境的搭建是形成統(tǒng)一資源和服務,減少重復建設和信息碎片化的關鍵,大數(shù)據(jù)、云平臺對基礎環(huán)境的搭建至關重要,微服務的調用可保障各水文系統(tǒng)數(shù)據(jù)結果的準確性、一致性。
信息化的建設不是一蹴而就的,比如:在對實時數(shù)據(jù)的演算中,大數(shù)據(jù)技術仍未達到理想的狀態(tài),雨水情數(shù)據(jù)因其實時性較高,字段復雜,部分計算效率的突破要與大數(shù)據(jù)技術中非關系型數(shù)據(jù)結構更好地結合,才能在微服務調用計算時達到毫秒級輸出,這需繼續(xù)投入針對性的研究和設計。
綜上所述,大數(shù)據(jù)、云平臺和微服務有機結合若能在水利信息化中長期發(fā)展,確實能為水利諸多方面提供幫助。目前江西省水文綜合平臺的開發(fā),將為水文業(yè)務提供系統(tǒng)的解決方案和實踐案例,具有一定的研究價值和行業(yè)推廣意義。
由于水利信息數(shù)據(jù)種類、字段內容豐富,算法過程尤其預報類算法復雜,仍需要持續(xù)性地投入與研究。云平臺解決的是運行環(huán)境的問題,若能將實時業(yè)務數(shù)據(jù)更好地與大數(shù)據(jù)等信息采集技術融合,充分使用微服務提高效率和可控性,將使水利信息化發(fā)展更加扎實。