張 焱,肖 涵,黃佳杰,朱從飛
(寧波市水利水電規(guī)劃設計研究院有限公司,浙江 寧波 315192)
智慧水利建設是水利非工程措施的主要手段,也是新時代水利事業(yè)建設的重要抓手。隨著全國智慧水利建設的不斷推進,水利部門積累了大量水利信息資源,各地逐步建設了以水利數(shù)據(jù)物聯(lián)監(jiān)測獲取為基礎,以水利普查信息數(shù)據(jù)庫為核心的各類專業(yè)業(yè)務應用系統(tǒng),而將各類專業(yè)業(yè)務系統(tǒng)重點模塊整合匯總,以地圖化信息綜合展示水利要素的智慧水利一張圖系統(tǒng)已成為智慧水利建設的熱點。但當前智慧水利建設仍存在著 3 個方面的突出問題:
1)水利大數(shù)據(jù)外部整合問題。不同系統(tǒng)建設之間信息分散,水利大行業(yè)及其交叉衍生學科部門之間大數(shù)據(jù)難以整合,存在信息孤島現(xiàn)象。
2)水利大數(shù)據(jù)內(nèi)部關聯(lián)問題。目前行業(yè)內(nèi)主要采用關鍵字搜索法,得到顯性信息,但難以有效利用對象數(shù)據(jù)之間的關聯(lián)關系,數(shù)據(jù)的可拓展性十分有限。
3)不少信息化系統(tǒng)建設仍然采用傳統(tǒng)單塊架構(gòu)模式,存在著技術(shù)單一、系統(tǒng)不穩(wěn)定、效率低下、拓展性低等問題。
對象關聯(lián)的知識圖譜檢索技術(shù)能夠有效利用對象間的關聯(lián)關系,整合不同門類水利大數(shù)據(jù),有效解決數(shù)據(jù)的外部整合和內(nèi)部關聯(lián)問題;微服務架構(gòu)基于整體目標開發(fā)思想,能夠有效提高信息化系統(tǒng)的穩(wěn)定性和拓展性。在傳統(tǒng)水利一張圖的基礎上,將知識圖譜技術(shù)和微服務架構(gòu)模式運用于水利領域,可構(gòu)建整合不同門類水利大數(shù)據(jù)的綜合平臺系統(tǒng)(即智慧水利一張圖系統(tǒng)),最終實現(xiàn)水利數(shù)據(jù)的智能檢索和可視化展示。
微服務是一種架構(gòu)模式,其核心思想是將單一應用程序劃分為若干個小的服務,每個服務都圍繞具體業(yè)務進行構(gòu)建,運行在獨立進程中,服務之間通過輕量級的通信機制進行溝通合作,以實現(xiàn)整體目標的開發(fā)[1]111。
與傳統(tǒng)單塊架構(gòu)模式相比,微服務架構(gòu)具有如下優(yōu)勢:技術(shù)上,服務組件化和技術(shù)多樣化;業(yè)務上,各個微服務相互獨立,提高了研發(fā)效率;組織上,可將大型開發(fā)團隊打散,拓展性更好。
目前微服務結(jié)合云計算已在多個領域運用,如智慧圖書館系統(tǒng)的構(gòu)建[1]112,智慧校園卡支付系統(tǒng)的再設計[2]等。
近年來,為響應國家“互聯(lián)網(wǎng) + 水利”的號召,智慧水利得到長足的發(fā)展,云計算和微服務在水利領域也得到了相關運用;陳亞軍等[3]基于云計算微服務架構(gòu)和 DevOps 理念開發(fā)了一套水利水電工程安全監(jiān)測云平臺,運用良好;針對當前技術(shù)環(huán)境很難建立一個公眾化水文信息服務平臺的實際現(xiàn)狀,劉曙光等[4]運用云服務技術(shù),搭建了基于云服務的集總式水文信息公眾發(fā)布云平臺。
知識圖譜本質(zhì)上是一種叫作語義網(wǎng)絡的知識庫,在圖上用節(jié)點代表一個實例或者概念,節(jié)點之間的線邊代表不同實例或概念之間的聯(lián)結(jié)關系,內(nèi)部通過一定的推理規(guī)則實現(xiàn)關系的推理和擴展。
在水利領域,水利數(shù)據(jù)存在著多源異構(gòu)性的問題,大量相關數(shù)據(jù)的累積和傳統(tǒng)關鍵字檢索法使得數(shù)據(jù)的整理整合及可視化展示變得相當困難,同時數(shù)據(jù)對象內(nèi)部之間的關聯(lián)關系不清,也制約了檢索的可拓展性和廣度。將知識圖譜技術(shù)應用于水利領域,一方面可以將水利大數(shù)據(jù)進行有效整合,將抽象概念和具體實例進行可視化展示;另一方面可以利用對象間的關聯(lián)關系,擴展檢索結(jié)果的廣度[5]35–36。馮鈞等[5]35–40采用自頂向下的構(gòu)建方法,依次構(gòu)建知識圖譜的概念層與實例層,在此基礎上實現(xiàn)基于推理規(guī)則的知識推理,并通過搭建水利信息知識圖譜構(gòu)建與檢索系統(tǒng),實現(xiàn)水利信息的智能檢索與推薦;呂田田[6]采用Xitrum 框架建立水務知識圖譜的構(gòu)建系統(tǒng),實現(xiàn)知識圖譜在水務中的應用。
但是,知識圖譜的應用涉及實體關系識別、知識融合、實體鏈接、知識推理等多種技術(shù),技術(shù)要求高,實現(xiàn)難度大,目前水利領域的應用仍然更多停留在構(gòu)建方面,沒有得到更廣泛的應用。
基于水利要素展示和專業(yè)服務接口實際業(yè)務需求,整合利用地區(qū)地理空間和水利專業(yè)等數(shù)據(jù),充分結(jié)合水利相關物聯(lián)前端感知設備,依托知識圖譜智能檢索和微服務架構(gòu)的技術(shù)特性,構(gòu)建內(nèi)容覆蓋全面、信息查詢便捷、系統(tǒng)拓展便捷的智慧水利一張圖,并為水利工程管理、水旱災害防御、水資源配置治理等涉水業(yè)務提供統(tǒng)一的數(shù)據(jù)查詢平臺,支撐地區(qū)智慧水利整體建設。
智慧水利一張圖系統(tǒng)總體技術(shù)框架包含 5 個層次,詳情如圖 1 所示。
圖1 系統(tǒng)總體框架
5 個層次具體分析如下:
1)數(shù)據(jù)源接入層。數(shù)據(jù)源接入層由物聯(lián)感知、已建系統(tǒng)與傳輸網(wǎng)絡組成,其中:物聯(lián)感知監(jiān)測內(nèi)容主要包括工情、氣象、水位、雨量、視頻等的監(jiān)測,通過相關部門,以及橫向和縱向部門已建系統(tǒng)應用程序接口 API 或數(shù)據(jù)庫獲取相關數(shù)據(jù)源;利用互聯(lián)網(wǎng)搭建傳輸網(wǎng)絡并傳輸相關數(shù)據(jù)。
2)基礎設施層。基礎設施層采用彈性伸縮的云服務技術(shù),主要是各類云服務器,為系統(tǒng)提供計算資源,包括離線、實時、彈性計算等內(nèi)容,以及提供充足的存儲與良好的網(wǎng)絡。
3)數(shù)據(jù)資源層。數(shù)據(jù)資源層主要由數(shù)據(jù)接入及預處理、資源池、共享交換服務組成,數(shù)據(jù)資源池一般包括 ODS 庫、數(shù)據(jù)標準庫和主題庫。該層對現(xiàn)有數(shù)據(jù)資源進行深度梳理,利用數(shù)據(jù)倉庫技術(shù)整合數(shù)據(jù),并結(jié)合 RESTful 開發(fā)風格實現(xiàn)現(xiàn)有數(shù)據(jù)資源的查詢服務,實現(xiàn)不同業(yè)務系統(tǒng)間的數(shù)據(jù)共享交換。
4)應用支撐層。應用支撐層主要由 GIS 與算法 2 個平臺組成,其中:GIS 平臺通過統(tǒng)一標準的服務接口為系統(tǒng)提供地圖信息服務,包括地圖發(fā)布、數(shù)據(jù)等服務;算法平臺是基于水利、氣象行業(yè)常用算法和實際業(yè)務系統(tǒng)需求建設的多業(yè)務系統(tǒng)通用算法平臺,包括數(shù)據(jù)預處理、專業(yè)計算、信息查詢等算法。
5)業(yè)務支撐層。業(yè)務支撐層由洪水、干旱、水利工程安全運行、水利工程建設、水資源開發(fā)利用、城鄉(xiāng)供水、節(jié)水、江河湖泊、水土流失、水利監(jiān)督等類型業(yè)務組成,各相關部門可在水利一張圖平臺的基礎上,利用其共享數(shù)據(jù)和服務機制結(jié)合本部門的具體業(yè)務,搭建有特色的水利信息化系統(tǒng)。
基于微服務架構(gòu),將智慧水利一張圖系統(tǒng)拆分為多個微服務,每個服務功能專一且易于拓展,服務間耦合程度低,多個服務互相協(xié)作構(gòu)成整體系統(tǒng),系統(tǒng)微服務框架如圖 2 所示。系統(tǒng)開發(fā)采用基于Spring boot 技術(shù)實現(xiàn)微服務架構(gòu)的云服務框架——Spring Cloud 框架,利用 Zunl 技術(shù)實現(xiàn)系統(tǒng)的負載均衡,選擇使用 Eureka 搭建微服務注冊中心,數(shù)據(jù)庫采用 MySQL 數(shù)據(jù)庫。
圖2 系統(tǒng)微服務框架
智慧水利一張圖系統(tǒng)主要通過以下步驟,采用自底向上的方法構(gòu)建知識圖譜:
1)知識獲取和存儲。知識獲取主要解決水利數(shù)據(jù)資源的獲取和存儲兩大問題。本系統(tǒng)所需的數(shù)據(jù)資源來自相關水利部門、實時物聯(lián)和互聯(lián)網(wǎng)相關的數(shù)據(jù),針對結(jié)構(gòu)化、半結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù),分別采用 ETL 工具、爬蟲技術(shù)和自然語言處理技術(shù)進行處理,保證數(shù)據(jù)的精度和可靠性。通過對象建模和數(shù)據(jù)庫技術(shù)將零散的水利數(shù)據(jù)整合轉(zhuǎn)換為水利對象數(shù)據(jù),實現(xiàn)數(shù)據(jù)存儲。
2)知識融合和驗證。整合的水利對象數(shù)據(jù)往往具有分散、冗余、非完備等特點,因此須對整合的水利對象數(shù)據(jù)進行進一步的融合、補全、糾錯、更新等,將不同數(shù)據(jù)來源的相同實體或關系進行處理,完成數(shù)據(jù)的前期整理工作,保證后續(xù)知識計算和應用的準確性。
3)知識計算和應用。知識計算和應用是知識圖譜構(gòu)建和應用中最核心的部分,結(jié)合水利行業(yè)專業(yè)知識,采用人工處理和計算機推理結(jié)合的方式,按照依次構(gòu)建水利對象數(shù)據(jù)的概念層和實例層的順序,完成從不同概念—概念、實例—實例和概念—實例關系的聯(lián)結(jié)。具體來說,概念層的構(gòu)建通過概念關系二分圖映射方法完成確定水利概念節(jié)點之間的關聯(lián),實例層的關系則通過概念節(jié)點的關系進行映射,最后知識圖譜運用基于推理規(guī)則的知識推理方法,將推理規(guī)則實例化,實現(xiàn)智能推理和擴展檢索。
智慧水利一張圖系統(tǒng)知識圖譜的構(gòu)建如圖 3所示。
圖3 智慧水利一張圖系統(tǒng)知識圖譜的構(gòu)建
結(jié)合業(yè)務需求,根據(jù)應用目標,智慧水利一張圖具體系統(tǒng)功能框架圖如圖 4 所示。
圖4 系統(tǒng)功能模塊
具體功能模塊分析如下:
1)信息地圖瀏覽模塊。主要為基礎地理等 5 類對象進行地圖展示,各對象均可通過切換轄區(qū)、流域和水資源分區(qū)視角的方式,查詢特定空間范圍內(nèi)的對象信息等,實現(xiàn)數(shù)據(jù)資源要素的多維視角查看。以水利工程對象為例,可分別切換展示水庫、水閘、泵站、山塘、堰壩、堤防等信息。
2)水利業(yè)務視角模塊。本模塊集成了水文和氣象兩大業(yè)務視角,其中:水文視角主要為水位站、雨量站、泥沙站等各類水文測站提供實時和歷史數(shù)據(jù)展示與統(tǒng)計;氣象視角匯聚了國內(nèi)外權(quán)威氣象預報機構(gòu)發(fā)布的預報降雨數(shù)據(jù),利用空間插值算法技術(shù)解析各防汛關注對象的未來精細化降雨,可用來支撐水災害防御工作的前期決策。
3)數(shù)據(jù)維護模塊。按照一數(shù)一源的原則,對系統(tǒng)數(shù)據(jù)進行維護更新,保證數(shù)據(jù)的唯一性、準確性。系統(tǒng)提供數(shù)據(jù)編輯維護的頁面,用戶根據(jù)自己的權(quán)限對基礎、地圖等數(shù)據(jù)進行維護管理,包括錄入、更新、刪除等編輯維護功能。
4)知識圖譜數(shù)據(jù)檢索模塊。本模塊包含綜合圖譜展示和數(shù)據(jù)快速檢索 2 個部分,其中:綜合圖譜展示利用現(xiàn)有的水利數(shù)據(jù)構(gòu)建出相應知識圖譜,實現(xiàn)展示與查看;用戶可利用數(shù)據(jù)快速檢索功能查詢想要檢索的內(nèi)容,系統(tǒng)返回圖形化后的檢索結(jié)果。
5)數(shù)據(jù)服務共享模塊。數(shù)據(jù)服務共享模塊按照流程分為服務申請、共享和監(jiān)控等功能。普通用戶在系統(tǒng)中申請使用服務,管理員審核通過后可使用對應服務的數(shù)據(jù)接口,同時系統(tǒng)對使用中的服務接口的運行狀態(tài)進行監(jiān)控。
6)系統(tǒng)后臺管理模塊。本模塊主要包含用戶、權(quán)限、服務和日志等管理,支持新增、編輯和修改用戶信息,可為不同用戶配置不同的訪問權(quán)限等。
智慧水利一張圖系統(tǒng)主要有以下特色:
1)多源異構(gòu)空間數(shù)據(jù)集成與管理。采用基于FME(空間數(shù)據(jù)轉(zhuǎn)換處理系統(tǒng))的流程化、標準化數(shù)據(jù)整編與入庫一體化技術(shù),通過流程化建模、數(shù)據(jù)加工、格式轉(zhuǎn)換,實現(xiàn)空間數(shù)據(jù)標準化、規(guī)范化,統(tǒng)一空間定位基準、數(shù)據(jù)格式、表達形式、應用服務,提高地理信息應用效率。
2)微服務架構(gòu)的資源服務交換與共享。針對傳統(tǒng)水利數(shù)據(jù)服務模式的不足,基于微服務軟件架構(gòu),以 SOA 為理念,構(gòu)建服務管理平臺,提供水利數(shù)據(jù)傳輸中樞,整合現(xiàn)有水利數(shù)據(jù)資源,提供專業(yè)的水利數(shù)據(jù)接口,實現(xiàn)系統(tǒng)間便捷、規(guī)范、靈活的數(shù)據(jù)交換與服務共享,方便水利相關業(yè)務應用系統(tǒng)的快速開發(fā),為其他系統(tǒng)開發(fā)提供更為便捷的解決方案,同時還可以消除不同應用之間的技術(shù)差異,降低水利行業(yè)系統(tǒng)開發(fā)的專業(yè)門檻,實現(xiàn)水利數(shù)據(jù)、信息、應用、服務的高度整合。
3)知識圖譜數(shù)據(jù)高效檢索與可視化。系統(tǒng)利用知識圖譜技術(shù),將結(jié)構(gòu)化后的數(shù)據(jù)以圖表的形式呈現(xiàn)給用戶,更加直觀呈現(xiàn)水利數(shù)據(jù)中各個實體間的關聯(lián)信息,同時,采用智能分詞技術(shù)識別用戶輸入的自然語言中的查詢關鍵詞,明確檢索意圖,將準確精細的結(jié)果返回給用戶。
在對現(xiàn)有水利一張圖信息化系統(tǒng)建設現(xiàn)狀進行闡述的基礎上,介紹了微服務架構(gòu)和知識圖譜相關技術(shù)特性,并基于此開發(fā)了智慧水利一張圖系統(tǒng)。智慧水利一張圖系統(tǒng)在實際運用過程中取得優(yōu)良成果,并在多個業(yè)務應用系統(tǒng)(包括氣象防汛應用服務平臺、山洪預報預警平臺和防汛大腦等)的建設中發(fā)揮了以下重要作用:
1)進行數(shù)據(jù)標準化和業(yè)務整合,系統(tǒng)實現(xiàn)了基礎地理、水利工程、經(jīng)濟社會、監(jiān)測站點、管理分區(qū)等水利相關信息的一站式和多視角查詢。實現(xiàn)多重水利業(yè)務的高效整合,水利多源信息的一屏可視化。
2)基于微服務軟件架構(gòu),系統(tǒng)拓展性、安全性、穩(wěn)定性大大增強。可提供標準化地圖和數(shù)據(jù)服務接口,支撐相關第三方應用,減少重復建設,節(jié)約系統(tǒng)建設成本。通過標準化接口,與現(xiàn)有業(yè)務系統(tǒng)實現(xiàn)互聯(lián)互通,增強不同業(yè)務系統(tǒng)間協(xié)同工作能力。實現(xiàn)省、市、縣、流域管理機構(gòu)等不同層級用戶的分權(quán)控制,提高數(shù)據(jù)資源的安全性。
3)基于知識圖譜技術(shù),實現(xiàn)平臺數(shù)據(jù)關聯(lián)可視化展示、水利業(yè)務數(shù)據(jù)的垂直搜索和高效應用,大大提高了系統(tǒng)的可操作性,從根本上簡化了水利工作者獲取相關信息的步驟。
由于數(shù)據(jù)量級巨大且結(jié)構(gòu)復雜,系統(tǒng)數(shù)據(jù)整合能力和服務效率需進一步提升,應根據(jù)相關行業(yè)規(guī)范標準繼續(xù)完善數(shù)據(jù)結(jié)構(gòu),結(jié)合實際水利業(yè)務精簡工作流程,不斷拓展智慧水利一張圖系統(tǒng)業(yè)務的深度和廣度。