郭沛高,張明媚,劉 津
(山西能源學院,山西 晉中 030600)
為深入貫徹落實國家關于人防數(shù)字化改革推進會議精神,各地陸續(xù)開展智慧人防信息化建設。智慧人防建設是以人民防空綜合防護體系信息化建設為目標,以信息網(wǎng)絡為命脈,以信息設備為載體,以信息軟件為靈魂,以信息資源為血液,構建覆蓋防護救援、通信報警、工程建設管理、宣傳教育以及戰(zhàn)時應急指揮等全業(yè)務、多領域、全要素的智慧人防信息平臺[1]。構建人防信息資源共享交換和智慧人防業(yè)務統(tǒng)一管理、統(tǒng)一指揮以及統(tǒng)一調度,平臺需充分考慮海量數(shù)據(jù)的共享交換、服務的動態(tài)可擴展、訪問的高并發(fā)等問題[2],微服務框架恰好能高效實現(xiàn)平臺需求。本文利用微服務框架,結合GIS、云計算等技術,搭建了智慧人防信息管理平臺,將人防資源“一張圖”展示、人防日常管理、人防業(yè)務管理以及成果共享等常用功能進行微服務化,有效提高平臺的靈活性、安全性以及可擴展性,讓人防管理工作更加信息化和智慧化。
微服務框架是基于SOA架構升級的一種框架模式,將原本獨立的系統(tǒng)拆分成多個小型服務,每個小型服務即是一個微服務,能夠快速解決單一的業(yè)務功能和簡化系統(tǒng)開發(fā)部署工作,讓開發(fā)人員通過擴展微服務,滿足不同等級的業(yè)務需求,具有體量小、業(yè)務清晰、開發(fā)成本低以及維護容易等優(yōu)點[3]。
微服務架構的特性主要包括四方面內容:一是單一職責性。微服務框架下的微服務是將業(yè)務功能模塊按照單一化的方式進行拆分,微服務之間可以利用“管道”進行靈活聚合,從而輸出更強的服務能力[4]。二是獨立性。每個微服務都是采用獨立的解決方案,微服務之間具有高內聚、低耦合。開發(fā)人員只需專注開發(fā)自己負責的微服務,極大提高了功能開發(fā)和部署的靈活性。三是輕量級通信性。微服務之間采用HTTP的RESTful API方式進行通信,可以實現(xiàn)跨平臺、跨編程語言通信,從而達到所謂的輕量級通信。四是進程隔離性[5]。傳統(tǒng)技術框架,當業(yè)務邏輯發(fā)生改變時,需停止整個應用進行重新部署,這樣給運維工作帶來很大的困難。微服務框架下,各個業(yè)務功能都采用微服務實現(xiàn),具有較強的獨立性,并獨立運行在各自的進程中,當業(yè)務邏輯發(fā)生改變時,只需停止相關功能的微服務進程,系統(tǒng)照常運行,從而減輕了運維工作壓力。
智慧人防信息管理平臺采用微服務框架,提高平臺的靈活性、穩(wěn)定性以及伸縮性,實現(xiàn)人防管理業(yè)務服務的動態(tài)擴展和部署。平臺采用模塊分層化、微服務結構化的架構設計思路,讓各層間功能獨立、層內功能耦合度最小[6],主要包括基礎設施層、數(shù)據(jù)層、微服務層、應用層和用戶層。
基礎設施層是采用云服務思路,利用虛擬化技術,構建平臺運行所需的計算、存儲和網(wǎng)絡資源。數(shù)據(jù)層是平臺運行的數(shù)據(jù)支撐,一方面通過在線服務的方式,調用基礎地理信息數(shù)據(jù),如電子地圖、影像圖以及行政區(qū)劃圖等,另一方面對人防專題數(shù)據(jù)進行收集、匯交、處理和入庫,如人防工程數(shù)據(jù)、報警器數(shù)據(jù)、危險源數(shù)據(jù)、重要人防工程三維模型、重點防護目標三維模型以及重大危險源三維模型等。微服務層是對常用功能服務進行管理,將各種服務采用領域驅動設計方法進行細分,實現(xiàn)業(yè)務功能的微服務化,可提供單一微服務的基礎功能,也可提供微服務集群的復雜功能。應用層為平臺提供的各類應用功能,如人防日常管理、人防業(yè)務管理以及成果共享等。用戶層是平臺主要使用部門,如人防辦、政府部門、建設公司等。
智慧人防信息管理平臺基于B/S結構,前端開發(fā)采用Bootstrap開源框架,JQuery開源JavaScript庫,頁面開發(fā)采用HTML5,后端微服務框架采用SpringCloud框架,數(shù)據(jù)庫采用MySQL和內存非關系數(shù)據(jù)庫Redis[7]。平臺微服務技術路線設計包括Web接口層、微服務注冊中心、微服務應用中心、微服務配置中心、運維管控系統(tǒng)以及微服務客戶端。每個微服務都獨立運行,所有微服務在注冊中心進行發(fā)現(xiàn)和注冊,各個微服務使用REST進行通信,從而實現(xiàn)微服務間的高內聚、低耦合。微服務框架技術路線設計示意圖如圖1所示。
圖1 微服務框架技術路線設計
人防業(yè)務功能微服務化是功能模塊按照領域大小進行拆分,形成多個單一功能且具有獨立數(shù)據(jù)庫的小型服務。在功能微服務化中要注意過度零散的微服務化容易增加服務間網(wǎng)絡通信開銷,增加服務部署和管理的難度[8]。平臺以人防資源“一張圖”展示、共享以及業(yè)務管理為目標,以地理信息數(shù)據(jù)、人防三維模型數(shù)據(jù)、人防專題數(shù)據(jù)等為信息來源,實現(xiàn)人防資源“一張圖”展示、人防基礎設施管理、人防日常辦公管理、人防業(yè)務全過程管理和人防成果共享管理等。平臺功能微服務化結構如圖2所示。
圖2 平臺功能微服務化結構
智慧人防管理涉及的數(shù)據(jù)微服務數(shù)量多,為避免各類微服務進程干擾,需給每個微服務提供獨立的資源運行環(huán)境。本文采用容器化技術,將微服務及其依賴的運行環(huán)境打包成一個鏡像[9],實現(xiàn)不同微服務能夠按需、無差別地部署到不同服務節(jié)點上,同時同一個服務節(jié)點可以運行多個容器,保證同一個服務節(jié)點上可以部署不同的微服務。微服務容器化部署能夠對微服務進行細粒度控制,從而實現(xiàn)服務的最大化資源利用。微服務容器化管理流程如圖3所示。
圖3 微服務容器化管理流程
智慧人防管理涉及的業(yè)務多樣,一條完整業(yè)務流程包含多個不同類型的微服務,如數(shù)據(jù)調用微服務、查詢微服務、項目申請微服務、項目審批微服務等。在高并發(fā)環(huán)境下,為確保服務質量,本文采用微服務動態(tài)伸縮與注冊機制,實現(xiàn)微服務的動態(tài)準確調度,保證微服務的高可擴展和高可用性[10]。具體流程如下,一是平臺接收外部服務調用請求;二是訪問微服務注冊中心,獲取可用的微服務實例,并根據(jù)微服務實例所需的負荷情況,實現(xiàn)微服務的負載均衡;三是當并發(fā)量過高,現(xiàn)有微服務實例無法滿足需求,則微服務控制管理模塊會動態(tài)創(chuàng)建新的微服務實例,從而保證微服務的可用性;四是當并發(fā)量過低,實例化微服務大大超過請求需求時,微服務控制管理模塊則會動態(tài)減少微服務實例,從而減少系統(tǒng)資源的浪費。
人防資源“一張圖”展示是在統(tǒng)一的坐標系下,實現(xiàn)地理信息、人防專題信息以及人防業(yè)務信息的圖文展示、二三維展示,為人防工程管理、防護救援、通信報警、宣傳教育以及戰(zhàn)時應急指揮的業(yè)務提供數(shù)據(jù)服務。包括的功能有地圖操作、空間查詢統(tǒng)計、專題制作等功能。
人防基礎設施管理是對人防設施信息和外圍公共資源信息的統(tǒng)一管理和更新維護,主要包括信息的錄入、查詢、統(tǒng)計和更新。信息錄入和更新是對人防基礎設施的基本信息通過平臺進行填寫和完善,如設施ID、名稱、類型、位置、安裝聯(lián)系人以及聯(lián)系單位等。信息查詢和統(tǒng)計實現(xiàn)了空間查詢統(tǒng)計、模糊查詢統(tǒng)計以及關鍵字組合查詢統(tǒng)計,通過輸入設施名稱、設施類型等搜索條件,將結果以列表或圖形的方式進行展示,點擊其中某條結果,可以快速進行地圖定位并高亮顯示。外圍公共資源信息的管理主要是收集人防相關的應急、公安以及減災等數(shù)據(jù),為人防業(yè)務提供信息服務。
人防日常管理是對人防基本情況管理和數(shù)據(jù)建庫、入庫以及維護管理等。人防基本情況管理是對省-市-縣各級人防單位基本情況的管理,如人防單位基本情況瀏覽、查詢和統(tǒng)計、人防基本情況多媒體展現(xiàn)等。數(shù)據(jù)建庫、入庫和維護管理是對各類人防信息進行收集、整理、質檢后,建立數(shù)據(jù)庫,并將數(shù)據(jù)入庫,后續(xù)定期對人防信息進行更新和維護。
人防業(yè)務全過程管理是平臺的核心功能,主要包括了人防工程管理、人防應急預案管理、人防專家?guī)旃芾?、人防警報管理以及人防指揮救援管理。人防工程管理實現(xiàn)了人防工程從申請、審核、施工以及驗收全周期管理,人防應急預案管理是在匯總人民防空各類預案的基礎上,根據(jù)人防突發(fā)事件類型,及時響應相應預案,提高組織協(xié)調能力和應急決策能力。人防專家?guī)旃芾硎墙⑷朔缹<規(guī)?,并可對專家人員進行修改和更新。當出現(xiàn)人防緊急事件時,能快速召集相應專家進行會議,為領導提供輔助決策。人防報警管理是利用各類傳感器,如報警器、視頻監(jiān)控攝像頭等,對人防工程和基礎設施進行監(jiān)控,當超過閾值時,觸發(fā)報警功能,及時將報警信息傳送給指揮中心和周邊巡查人員。人防指揮救援管理是突發(fā)重大災害或突發(fā)事件后,對現(xiàn)場進行救援和調控,如逃生路線和救援路線的生成,確保應急和應戰(zhàn)指揮救援。
微服務框架能有效提升智慧人防信息管理平臺數(shù)據(jù)展示、查詢、統(tǒng)計以及復雜業(yè)務流程處理能力,能夠快速響應業(yè)務需求的變化,高效地進行功能擴展,具有良好的應用價值。人防管理工作是一項長期工作,所涉及的數(shù)據(jù)和業(yè)務功能將不斷更新、優(yōu)化和升級,基于微服務框架下的智慧人防信息管理平臺能夠高效、迅速地響應數(shù)據(jù)和功能的改進,讓平臺開發(fā)更簡單,擴展更靈活,運行更可靠,能夠將人防管理的各個業(yè)務模塊進行擴展延伸,實現(xiàn)“智慧人防”建設的快速發(fā)展。