邱志章 顧文鈺 周禮英 邵悅
摘要:
為落實水利部“智慧水利”、浙江省數(shù)字化改革工作部署,解決浙江省水利行業(yè)現(xiàn)有業(yè)務(wù)應用孤島和數(shù)據(jù)資源分散等難題,基于主流微服務(wù)架構(gòu),建設(shè)統(tǒng)一身份認證、統(tǒng)一消息中心、統(tǒng)一待辦等微服務(wù),建成省市縣三級水利統(tǒng)一工作平臺,推進行業(yè)內(nèi)縱向跨層級信息共享、業(yè)務(wù)協(xié)同。平臺運行情況表明:水利人員辦事、辦公效率顯著提升,可為浙江省水治理體系與治理能力現(xiàn)代化提供技術(shù)支撐。
關(guān)鍵詞:
統(tǒng)一門戶; 應用孤島; 數(shù)據(jù)共享; 業(yè)務(wù)協(xié)同; 微服務(wù)架構(gòu)
中圖法分類號:TV21;F426.91;F49
文獻標志碼:A
DOI:10.15974/j.cnki.slsdkb.2023.05.020
文章編號:1006-0081(2023)05-0122-06
0 引 言
近幾年,浙江水利全面貫徹落實國家、水利部、浙江省的工作部署,圍繞“數(shù)字中國”“智慧水利”“數(shù)字化改革”等工作,全力推動水利信息化建設(shè),有效支撐了各項水利工作。目前,浙江省水利行業(yè)已建成6 000余個水文測點、3 000余個取用水在線測點,水利感知體系不斷完善;初步建立自然類、工程與設(shè)施類、非設(shè)施類等水利數(shù)據(jù)主題庫,積累了一定體量的數(shù)據(jù)資源;建成并投入使用的水利業(yè)務(wù)應用300余個,涉及防汛、工程建設(shè)、水資源、工程運行、水政務(wù)管理等多方面核心業(yè)務(wù),為水利業(yè)務(wù)與信息技術(shù)融合積累了經(jīng)驗[1]。但仍存在信息共享、業(yè)務(wù)協(xié)同不足等問題,不能滿足數(shù)據(jù)驅(qū)動業(yè)務(wù)、水利強監(jiān)管、數(shù)字化改革等要求,難以實現(xiàn)浙江水利“走前列”目標。因此,浙江水利圍繞數(shù)字化改革需求,提出建設(shè)橫向協(xié)同、縱向聯(lián)動的全省水利數(shù)字化統(tǒng)一門戶。
針對目前水利信息化應用存在的問題,大量學者和全國水利行政主管單位開展了水利門戶的研究與建設(shè)。例如,陳海龍[2]基于J2EE開展水利信息門戶系統(tǒng)研究,實現(xiàn)了統(tǒng)一賬號和組織管理以及單點登錄、內(nèi)容管理、個性化定制、業(yè)務(wù)流系統(tǒng)、系統(tǒng)數(shù)據(jù)集成等功能;李杰[3]基于Mule ESB的水利信息集成系統(tǒng)體系結(jié)構(gòu),探索了在SOA及云環(huán)境下進行系統(tǒng)集成的關(guān)鍵技術(shù),開發(fā)實現(xiàn)了基于Mule ESB的水利信息集成系統(tǒng);淮河水利委員會綜合應用門戶采用SOA架構(gòu),基于主流成熟的技術(shù),對數(shù)據(jù)資源、應用服務(wù)和業(yè)務(wù)系統(tǒng)等進行整合,形成一站式的綜合性應用門戶[4];江蘇省水利廳水利應用集成門戶基于統(tǒng)一用戶管理和CA認證進行開發(fā),通過將各類業(yè)務(wù)、應用資源整合在一起,為用戶提供統(tǒng)一的入口,實現(xiàn)各部門間的信息同步、共享[5]。浙江水利行業(yè)各類用戶約2.8萬余人,日均訪問超10 000人次,需要解決多用戶訪問、多應用集成、數(shù)據(jù)跨層級跨部門共享等難題,通過引入微服務(wù)技術(shù),打破傳統(tǒng)SOA架構(gòu)模塊之間高度依賴、緊密耦合、擴展性不足、運維復雜的壁壘,建設(shè)統(tǒng)一水利數(shù)據(jù)倉,搭建穩(wěn)健、高效的浙江水利統(tǒng)一門戶,解決水利數(shù)字化改革中面臨的“數(shù)據(jù)共享、業(yè)務(wù)協(xié)同”的難題,為水利履職提供強有力的技術(shù)支撐。
1 微服務(wù)架構(gòu)概述
2014年,ThoughtWorks公司的首席科學家福勒提出“微服務(wù)架構(gòu)”概念[6],這一理念指導的軟件應用架構(gòu)模式,成為了當下最火熱的話題,現(xiàn)已普遍用于各類信息化平臺的開發(fā)。
微服務(wù)是把原有的大型軟件按照業(yè)務(wù)邏輯拆分成多個獨立部署、運行的微服務(wù),每個微服務(wù)對應一個最小業(yè)務(wù)單元,并且只負責完成該項最小業(yè)務(wù)。相對于傳統(tǒng)架構(gòu),微服務(wù)架構(gòu)的主要技術(shù)特點是獨立部署、松耦合、組件化、高度自治、去中心化[7-9],主要表現(xiàn)在以下幾個方面:
(1) 一組單一職責的服務(wù)。盡可能將業(yè)務(wù)細化至最小顆粒度,逐個開發(fā)單一職責的微服務(wù),組合后形成微服務(wù)群提供業(yè)務(wù)服務(wù)。
(2) 獨立部署運行和靈活擴展。每個服務(wù)具備比較完整的模型邊界,支持獨立部署運行和擴展,服務(wù)之間低耦合共存,實現(xiàn)微服務(wù)靈活管理,當軟件需要調(diào)整時僅需對單個或數(shù)個服務(wù)進行調(diào)整。
(3) 獨立開發(fā)和演化。每個微服務(wù)可由不同人員或團隊開發(fā),甚至采用不同技術(shù)開發(fā),可以有效地提升微服務(wù)開發(fā)效率與技術(shù)效果。
2 基于微服務(wù)的水利統(tǒng)一門戶設(shè)計
2.1 總體架構(gòu)設(shè)計
水利統(tǒng)一門戶建設(shè)采用微服務(wù)體系架構(gòu),部署于浙江省政務(wù)專有云上,通過數(shù)據(jù)層、服務(wù)層、業(yè)務(wù)應用層、用戶訪問層4層架構(gòu),實行門戶“統(tǒng)一建設(shè)、統(tǒng)一部署、三級應用”,形成全行業(yè)統(tǒng)一工作平臺??傮w架構(gòu)設(shè)計如圖1所示。
(1) 數(shù)據(jù)層。由統(tǒng)一用戶庫、應用集成庫、服務(wù)管理庫、業(yè)務(wù)協(xié)同庫、運維管理庫等應用數(shù)據(jù)庫構(gòu)成,為統(tǒng)一門戶集成提供數(shù)據(jù)存儲管理服務(wù)。
(2) 服務(wù)層。各業(yè)務(wù)應用在建設(shè)過程中,基于微服務(wù)架構(gòu)理念進行開發(fā),按照水利業(yè)務(wù)需求將應用拆分成多個微服務(wù),形成微服務(wù)資源池,各業(yè)務(wù)應用通過檢索、申請、調(diào)用資源池中的各項服務(wù),為平臺提供彈性伸縮、限流降級、灰度發(fā)布等高可用性能保障。
(3) 業(yè)務(wù)應用層。根據(jù)浙江省水利核心業(yè)務(wù),水利各部門將其部分存量系統(tǒng)、新建應用統(tǒng)一上架至門戶,通過門戶提供的支撐能力,按照授權(quán)訪問、單點登錄、用戶認證等方式,實現(xiàn)各類業(yè)務(wù)應用集成。
(4) 訪問層?;凇罢阏敗保瑸檎憬「骷壦姓鞴懿块T人員、水利廳局直屬企事業(yè)單位人員提供各項業(yè)務(wù)辦理的統(tǒng)一訪問入口。水利工程參建企業(yè)、取水戶等其他組織機構(gòu)中的各類人員可通過瀏覽器進行訪問。
2.2 業(yè)務(wù)協(xié)同設(shè)計
浙江水利統(tǒng)一門戶上接水利部、省政府大數(shù)據(jù)發(fā)展管理局,下至市縣水行政主管部門、重點水管單位,橫向打通省、市、縣三級相關(guān)各部門。通過深化梳理水利核心業(yè)務(wù)、量化業(yè)務(wù)指標清單、細化共享數(shù)據(jù)清單、優(yōu)化事項業(yè)務(wù)流程、深度融入“浙政釘”,梳理形成了標準協(xié)同、用戶協(xié)同、數(shù)據(jù)協(xié)同、業(yè)務(wù)協(xié)同、監(jiān)管協(xié)同等5類業(yè)務(wù)協(xié)同關(guān)系,業(yè)務(wù)協(xié)同通用架構(gòu)如圖2所示。
(1) 標準協(xié)同。制定統(tǒng)一數(shù)據(jù)標準、技術(shù)標準、工作標準,指導省市縣三級梳理水利核心業(yè)務(wù),建設(shè)各自水利數(shù)據(jù)倉、特色應用,做好數(shù)據(jù)歸集更新工作。
(2) 用戶協(xié)同?;凇罢阏敗保⑵脚_統(tǒng)一用戶體系和認證功能,實現(xiàn)用戶統(tǒng)一、認證統(tǒng)一、授權(quán)統(tǒng)一的多部門、跨層級的用戶協(xié)同,做好省級用戶與水利部用戶體系的協(xié)同對接。
(3) 數(shù)據(jù)協(xié)同?;谒诵臉I(yè)務(wù)數(shù)據(jù)共享需求,建立水利數(shù)據(jù)倉,實現(xiàn)縱向與水利部、市縣水行政主管部門、重要水管單位數(shù)據(jù)共享交換;通過省政府一體化智能化公共數(shù)據(jù)平臺,實現(xiàn)橫向與省級其他廳局間數(shù)據(jù)共享交換、數(shù)據(jù)匯集與對外服務(wù)。
(4) 業(yè)務(wù)協(xié)同。結(jié)合水利核心業(yè)務(wù)涉及部門協(xié)同環(huán)節(jié),優(yōu)化再造業(yè)務(wù)流程,建立公共應用資源超市,供各業(yè)務(wù)應用共同調(diào)用,突破傳統(tǒng)業(yè)務(wù)垂直運作、單部門內(nèi)循環(huán)模式,消除應用孤島,避免重復建設(shè),實現(xiàn)水管理業(yè)務(wù)應用協(xié)同。
(5) 監(jiān)管協(xié)同。根據(jù)水利行業(yè)強監(jiān)管的需要,結(jié)合水利綜合考核,量化業(yè)務(wù)評價指標,形成統(tǒng)一監(jiān)管清單,在線協(xié)同多層級跨部門聯(lián)合檢查,提高水事務(wù)監(jiān)管效率。
2.3 數(shù)據(jù)共享架構(gòu)設(shè)計
浙江省水利數(shù)據(jù)共享包括水利部門內(nèi)共享和外部門共享。外部門共享通過浙江省一體化智能化公共數(shù)據(jù)平臺實現(xiàn)同級部門橫向數(shù)據(jù)的共享交換;水利部門內(nèi)共享通過水利數(shù)據(jù)倉回流實現(xiàn)省市縣水利數(shù)據(jù)的縱向共享交換,并依托水利部建設(shè)的數(shù)據(jù)三級貫通系統(tǒng)實現(xiàn)與水利部、太湖局和長江水利委員會(長江委)的數(shù)據(jù)共享交換。數(shù)據(jù)共享架構(gòu)如圖3所示。
2.4 安全體系設(shè)計
浙江省水利統(tǒng)一門戶按照國家安全可替代和三級等保測評要求,依托省政務(wù)云提供的安全防護體系,應用SM2,SM3,SM4國產(chǎn)化商用加密算法技術(shù),基于國產(chǎn)化設(shè)備,構(gòu)建門戶多層次、立體化的安全縱深防御體系,確保門戶物理安全、網(wǎng)絡(luò)安全、數(shù)據(jù)安全和應用安全。門戶部署在省政務(wù)云的專有云區(qū),實行省級部署、省市縣三級共用的部署方式,通過政務(wù)外網(wǎng)實現(xiàn)與水利部、省級水行政主管部門、市縣水行政主管部門的數(shù)據(jù)共享和業(yè)務(wù)協(xié)同。面向社會公眾的部分應用部署于公有云區(qū),用戶通過“浙政釘”“浙里辦”或網(wǎng)頁為入口使用對應服務(wù),水利統(tǒng)一門戶部署架構(gòu)如圖4所示。
3 基于微服務(wù)的水利統(tǒng)一門戶實現(xiàn)
3.1 技術(shù)關(guān)鍵
(1) 基于“浙政釘”體系的統(tǒng)一用戶身份認證。浙江水利統(tǒng)一門戶依托浙江省統(tǒng)一的政府系統(tǒng)掌上協(xié)同辦公平臺“浙政釘”的用戶認證體系,拓展覆蓋水利行業(yè)工程管理單位、涉水企業(yè)等非“浙政釘”用戶,構(gòu)建全省水利行業(yè)用戶統(tǒng)一用戶身份認證體系,破解了“浙政釘”與非“浙政釘”用戶身份認證體系不統(tǒng)一的難題,實現(xiàn)用戶統(tǒng)一管理、維護與更新同步,為建設(shè)全省水利全行業(yè)統(tǒng)一門戶提供統(tǒng)一用戶支撐。
(2) 基于政務(wù)云公共基礎(chǔ)設(shè)施的省市縣三級統(tǒng)一水利數(shù)據(jù)倉?;谡憬≌?wù)云公共基礎(chǔ)設(shè)施,采用MPP海量并行處理分布式架構(gòu),按照經(jīng)典3層邏輯分層原則,構(gòu)建水利行業(yè)內(nèi)“物理分散、邏輯統(tǒng)一”的省市縣三級統(tǒng)一數(shù)據(jù)倉,解決海量數(shù)據(jù)存儲、低延時響應等難題,高度解耦數(shù)據(jù)輸入和共享,降低問題數(shù)據(jù)風險,采用hadoop體系架構(gòu)建設(shè)水利數(shù)據(jù)共享交換平臺,實現(xiàn)水利數(shù)據(jù)資源集中存儲、一數(shù)一源、統(tǒng)一共享,為水利業(yè)務(wù)決策提供準確的數(shù)據(jù)支撐。
(3) 基于國產(chǎn)化的統(tǒng)一安全技術(shù)體系。依托政務(wù)云架構(gòu)安全技術(shù)體系,按照國家安全可替代和三級等保要求,應用國產(chǎn)化算法加密技術(shù),制定數(shù)據(jù)安全策略,提高數(shù)據(jù)安全自主可控水平,打造國產(chǎn)化的門戶統(tǒng)一安全技術(shù)體系[10]。
3.2 技術(shù)實現(xiàn)
水利統(tǒng)一門戶的開發(fā)主要基于微服務(wù)架構(gòu)模式,將門戶分解為一系列若干個松耦合、高內(nèi)聚的微服務(wù),每個微服務(wù)對應一個最小業(yè)務(wù)功能,并且只負責完成該項最小業(yè)務(wù),通過組合不同的微服務(wù)而實現(xiàn)對應業(yè)務(wù)功能。
在技術(shù)實現(xiàn)上,基于微服務(wù)架構(gòu)進行設(shè)計,前后端完全分離。前端開發(fā)以Vue.js等主流編程框架作為基礎(chǔ)框架,以JSON作為數(shù)據(jù)交換格式,從界面布局、色彩表達、頁面元素形式、文字格式等方面對水利統(tǒng)一門戶的Web端和移動端進行規(guī)劃、設(shè)計,形成統(tǒng)一的風格,保證了前端應用穩(wěn)定性、可維護性和較好的用戶體驗。
后端開發(fā)采用Spring Cloud Alibaba分布式微服務(wù)技術(shù)框架,依托其提供的服務(wù)網(wǎng)關(guān)、服務(wù)調(diào)用、服務(wù)監(jiān)控、服務(wù)容錯、配置中心、安全認證等相對完整的微服務(wù)生態(tài),搭建了注冊與配置中心Nacos、服務(wù)網(wǎng)關(guān)Gateway、在線監(jiān)控SpringBoot Admin、流量監(jiān)控Sentinel、熔斷限流Hystrix、鏈路跟蹤Skywalking等組件,建成服務(wù)自動注冊與發(fā)現(xiàn)、在線參數(shù)動態(tài)配置、統(tǒng)一路由分發(fā)、流量負載監(jiān)控、接口過載限流降級、服務(wù)調(diào)用全鏈路追蹤、性能監(jiān)控、網(wǎng)絡(luò)拓撲、異常跟蹤等能力,構(gòu)建了應用管理、統(tǒng)計報表、浙政釘服務(wù)、用戶認證等功能服務(wù),快速建成浙江省省市縣三級水利全行業(yè)統(tǒng)一門戶,微服務(wù)技術(shù)架構(gòu)如圖5所示。
3.3 功能實現(xiàn)
通過對各微服務(wù)之間進行邏輯組合,開發(fā)出面向浙江省水利全行業(yè)的統(tǒng)一門戶及其支撐體系、統(tǒng)一人員管理后臺、水利數(shù)據(jù)中心。
(1) 統(tǒng)一門戶及其支撐體系?;谖⒎?wù)建成統(tǒng)一待辦中心、統(tǒng)一消息中心、應用管理、門戶定制、報表中心等應用支撐體系,支撐搭建完成浙江水利PC端和移動端統(tǒng)一門戶,實現(xiàn)重要工作“一屏掌控”、核心業(yè)務(wù)“一鍵直達”、綜合政務(wù)“便捷辦理”、綜合門戶“三級貫通”、門戶配置“千人千面”、任務(wù)辦理“及時提醒”和新聞信息“即時推送”,如圖6所示。
(2) 統(tǒng)一人員管理。主要提供組織、人員管理等功能,實現(xiàn)了省市縣三級水利行業(yè)3 000余個組織與2.8萬用戶人員的統(tǒng)一管理,并基于浙政釘用戶體系打造統(tǒng)一用戶認證體系,提供統(tǒng)一門戶的組織用戶數(shù)據(jù)服務(wù)接口。
(3) 水利數(shù)據(jù)中心?;谒麛?shù)據(jù)編目、匯聚、治理、共享的全流程管理需求,提供數(shù)據(jù)目錄、數(shù)據(jù)匯聚、數(shù)據(jù)清洗、數(shù)據(jù)共享與數(shù)據(jù)安全等功能,實現(xiàn)了水利數(shù)據(jù)資源集中存儲管理、水利數(shù)據(jù)縱向跨層級與橫向跨部門共享交換、數(shù)據(jù)“一數(shù)一源”,全面消除“數(shù)據(jù)孤島”。
(4) 微服務(wù)治理體系。建成水利門戶微服務(wù)治理體系,發(fā)布統(tǒng)一服務(wù)網(wǎng)關(guān),以負載均衡方式,分發(fā)用戶請求,具備高度的可擴展性和伸縮性。通過服務(wù)監(jiān)控,及時感知服務(wù)上下線,并結(jié)合釘釘實現(xiàn)預警提醒。通過鏈路跟蹤,方便了解各服務(wù)的負載情況,分析服務(wù)的性能及異常情況。為保障平臺的穩(wěn)定性,對于大流量請求進行熔斷限流。按照功能模塊發(fā)布了水利門戶、數(shù)據(jù)中心、共享交換、用戶認證、“浙政釘”對接、應用管理、用戶管理、消息中心、待辦處理、日志管理、數(shù)據(jù)統(tǒng)計、定時任務(wù)、數(shù)據(jù)上報、信息資源庫、門戶管理、晾曬臺、疫情填報等30余個微服務(wù),70余個服務(wù)實例。
目前,浙江水利統(tǒng)一門戶已正式上線運行,服務(wù)省市縣三級2.8萬用戶,接入應用300余個,日均訪問量達15 000余人次,年訪問量近700萬人次。
4 結(jié) 語
本文基于微服務(wù)框架,整合分散、獨立、單一的業(yè)務(wù)應用,建成省市縣三級互聯(lián)互通、信息共享、業(yè)務(wù)協(xié)同的穩(wěn)健、高效的浙江水利統(tǒng)一門戶,具有良好的兼容性、適用性,具備較高的穩(wěn)定性、擴展性,解決了業(yè)務(wù)應用入口多、賬號多、應用林立、各自為陣的問題,應用“信息孤島”嚴重的難題,實現(xiàn)部門之間跨域融合、協(xié)同辦公,最大限度地破除信息孤島、應用孤島,大幅提升水利信息資源、功能應用共享水平,提高了水利履職效能,并有效避免了水利信息化重復建設(shè),節(jié)約了投資,實現(xiàn)數(shù)據(jù)資源和應用功能效能最大化,充分發(fā)揮了水利信息化投資效益。
參考文獻:
[1] 虞開森,姜小俊,金宣辰.政府數(shù)字化轉(zhuǎn)型下浙江智慧水利設(shè)想[J].水利信息化,2018(6):11-15.
[2] 陳海龍.基于J2EE的水利樞紐信息門戶系統(tǒng)設(shè)計與實現(xiàn)[D].廣州:華南理工大學,2012.
[3] 李杰.基于MuleESB的水利信息集成應用研究與開發(fā)[D].西安:西安理工大學,2015.
[4] 李鳳生,郟建,徐超.淮委綜合應用門戶整合的設(shè)計與實現(xiàn)[J].水利信息化,2020(5):28-31.
[5] 高祥濤,司存友,戚榮志,等.水利應用集成門戶系統(tǒng)的設(shè)計與實現(xiàn)[J].水利信息化,2017(5):51-55.
[6] 紐曼.微服務(wù)設(shè)計[M].北京:人民郵電出版社,2016.
[7] 李春霞.微服務(wù)架構(gòu)研究概述[J].軟件導刊,2019,18(8):1-3,7.
[8] 楊宇,焦麗琴.基于微服務(wù)的企業(yè)應用設(shè)計與實現(xiàn)[J].電子科學技術(shù),2016(5):623-625.
[9] 樊啟萌,姚華明,湯正陽,等.基于微服務(wù)架構(gòu)的水資源數(shù)據(jù)接口設(shè)計與實現(xiàn)[J].水利水電快報,2022,43(10):103-107.
[10] 包志炎,姜小俊,黃康,等.浙江水利數(shù)字化轉(zhuǎn)型總體框架和關(guān)鍵技術(shù)研究[J].水利信息化,2020(2):1-8.
(編輯:李 晗)
Abstract:
For implementing the deployment of "Smart Water Network" of the Ministry of Water Resources and the digital reform of Zhejiang Province,to solve the problems of isolation and information dispersion of the existing business applications in the water conservancy field in Zhejiang Province,the unified identity authentication,unified message center,unified to-do and other micro-services were established,and a unified portal of water conservancy at 3 levels(province,city and county) were built based on the mainstream micro-service architecture.It promotes the cross-level and cross-sectoral data sharing and business collaboration,and significantly improves the working efficiency,and provides technical support for the modernization of water governance system and governance capacity in Zhejiang Province.
Key words:
unified portal; application isolated island; data sharing; business collaboration; micro-service architecture