?

市政工程智慧勘察信息管理系統設計

2024-02-03 08:52陳長宇
信息記錄材料 2024年1期
關鍵詞:子系統數據庫模塊

陳長宇

(廣州南方智能技術有限公司 廣東 廣州 510663)

0 引言

市政工程智慧勘察信息系統是應用于市政工程項目勘察數據信息化管理的平臺,是推動測繪工作朝向智慧化方向發展的重要載體。 在信息管理系統設計中,需要依照需求規格說明確定設計目標,確定各個目標的優先順序并找出最合適的設計方法,確定設計工作需要遵循的基本規范;依照系統功能劃分為模塊的層次結構,確定各個模塊的功能,構建與已確定軟件需求的對應關系;確定模塊之間對應關系及接口,確保信息準確傳遞,設計接口的信息結構,評估模塊劃分質量及模塊結構導出規則;優化數據庫結構,避免后期運行中出現數據不必要冗余現象。

1 項目概況

1.1 項目信息及建設內容

某市政道路工程測繪數據信息化項目,由本企業承建,負責完成智慧勘察信息管理系統建設,并能夠通過建設單位系統測試要求。 項目建設內容主要包括:(1)數據中心管理子系統,如業務數據庫、一張底圖、項目數據庫、系統信息庫、數據庫管理、數據處理及其他功能。 (2)項目管理一張圖子系統。 主要包括項目信息可視化、項目信息管理和重點項目展示等模塊。 (3)成果綜合展示子系統。 主要包括成果一張圖、成果場景搭建、數據分析與應用等模塊。 (4)智慧生產業務子系統。 主要包括智慧勘察、智慧測量、智慧物探等模塊。 (5)勘察移動端子系統,如勘察移動APP 和物探APP 等。 (6)接口建設。 主要實現數據集成管理和外業數據共享,通過各個子系統的對接,滿足各項信息管理要求。

項目建設目標是以當前測繪行業數字化轉型趨勢及發展方向為導向,遵循“平臺化、中心化、集約化和數字化”要求,開發建設智慧工程數據信息化生產與管理系統。 在系統運行中,通過對項目工程專業數據的采集、傳輸、計算、分析和監控等過程管理,結合三維可視化技術融合應用,實現工程項目大數據深度挖掘分析,大屏展示及智能化應用,推動企業項目管理朝向數字化方向轉型。

1.2 運行環境

根據測繪信息化相關國家標準、專業標準、行業規范、技術規定,現行軟件工程標準規范,從客戶需求導向出發,依照實際硬件情況,采用分布式部署方式,共計布置7 臺服務器,其中4 臺應用服務器(基于Linux 系統3 臺,基于Windows 系統1 臺)、2 臺數據服務器(Linux)、1 臺數據備份服務器(Linux)。 項目數據庫平臺采用PostgreSQL 14.0標準版版本。 業務系統部分采用Spring Cloud 架構,以B/S 模式部署客戶端,開發軟件IDE 選用IntelliJ IDEA 2021和Microsoft Visual Code 2021,開發語言選用Java,Vue 3、TypeScript 等。 數據交換接口采用HTTP 協議,以JSON 為數據交換標準格式。

1.3 關鍵技術

本管理平臺通過三個子系統協作,在設計中主要使用如下方面關鍵技術:(1)輕量化技術。 基于點云、BIM 模型、傾斜模型、人工建模模型、地形、影像及矢量等多種數據的快速轉化及切片處理,自動化發布至平臺,確保數據在Web 端高效流轉和分層級快速加載,提升Web 端瀏覽及訪問流暢性,實現快速響應。 (2)分布式計算技術,如中間件技術、移動Agent、Web Service 技術等,推動計算環境優化,提升分布式操作便捷性。 (3)數據接入和管理技術。 本項目中采用PostgreSQL 和PostGIS 空間數據庫技術,有效解決工程項目實施過程中空間數據類型復雜帶來的運行問題。 通過擴展關系型數據庫,實現空間數據和非空間數據的一體化存儲。 (4)數據/業務集成、業務管理、應用分析、數據可視化、兼容性技術。 以本司所自主研發、具有自主產權的技術為基礎,提供二三維大數據處理、存儲、管理、展示、分析及行業應用的全流程服務,以組件式開發方式,滿足具體測繪工程業務集成和管理需求,以強大兼容性滿足平臺測繪數字化工程數據加載及可視化顯示等需求。 (5)Web Service 技術。 實現數據共享與發布,實現業務層、業務面及監聽者等之間的邏輯交互。 (6)可擴展性技術。 主要包括面向服務的架構(SOA)技術,組件化、構件化開發技術等,確保業務流程快速構建、重構、再造和優化。 (7)安全技術。 主要包括網絡安全、數據庫安全和應用系統安全的針對性技術,構建完善的安全防護體系。

2 總體設計

2.1 設計原則和思路

智慧勘察信息管理系統設計中,為確保項目建設有序推進,滿足系統測試和運行要求,應當遵循如下方面原則:(1)實用性和易用性原則。 便于使用、管理和維護,有效減輕工作人員負擔。 (2)標準化和開放性原則。 系統建設應當嚴格遵照國家、地方和行業有關標準及規范進行,在系統架構、應用技術及平臺建設方面,都應當采用開放性策略,構建開放、可擴充的應用體系,有效提升數據共享水平。 (3)高可靠性原則。 確保適量冗余并優化安全保護措施,確保平臺軟件和應用軟件都具有較強的容錯性、穩健性和安全性。 (4)高效性原則。 能夠確保各類數據組織合理,信息查詢、更新、出圖順暢,且不會由于長時間運行和數據量增加導致運行速度變緩。 (5)可擴展性和先進性原則。 要能夠滿足系統間無縫連接需求,為后續系統擴展和集成留出擴充余量。 在成本預算方案下,盡量采用最先進的技術、方法、軟件和硬件,有效延長系統生命周期[1]。

2.2 系統架構設計

結合上述設計原則和思路,實現各個子系統、智慧移動端子系統等有效銜接,實現對項目數據進行統一管理與瀏覽查詢,并能瀏覽三維點云、BIM、三維傾斜等模型結構中的三維數據。 總體架構設計如圖1 所示。

圖1 系統架構圖

其中用戶層是服務于不同設備的接入用戶。 展示層主要是通過項目一張圖展示,多維度、多形式統計圖表、三維可視化展示及移動APP 等,展示用戶所需要的數據信息內容。 應用層是用戶與平臺的交互界面,在滿足各項功能運行基礎上,最終實現生產與管理信息化[2]。 支撐層是整個系統運行的樞紐,負責整個體系的后臺服務、管理應用、數據處理等功能,確保各個系統之間數據有效關聯和管理,為應用業務實施提供支撐。 數據層包括空間數據庫和成果檔案數據庫,主要是實現系統各類數據的集中管理與統一應用。 基礎設施層是系統運行的基礎,主要是滿足平臺數據管理、存儲、更新和應用需要,為系統穩定高效運行提供基礎環境。

搭建Nginx、Spring Gateway 負載均衡服務器集群,Nginx 將用戶請求轉發至Spring Gateway 網關,經登錄、安全等相關攔截,再轉發至注冊在Nacos 的對應服務,進行相應處理,實現如下方面具體服務:用戶登錄及權限攔截相關功能,系統業務以及提供地圖數據發布、可視化相關操作功能,地圖數據在線輕量化功能,場景相關功能服務,用戶機構等管理服務,場景數據分析服務。 利用Redis 數據庫,緩存服務常用數據。 利用PostgreSQL 數據庫對系統數據信息進行持久化處理。 利用SeaweedFS 分布式文件存儲系統,存儲數據輕量化后的文件

2.3 代碼設計和設計規范

架構設計遵循“先設計后開發”原則,確定好時序圖、UML 關系圖,將需求、場景抽象成模型(建模),并將模型拆分成模塊,形成架構。 模型需考慮并兼容后續需求的迭代開發,減少架構的修改。 模塊設計應當盡量減少依賴關系,以接口方式形成依賴[3]。 以“測試驅動開發”,以測試用例檢驗功能開展的完成。 類的設計應當職責單一,集中于處理某個方面的事務。 單個類的代碼行數應當控制在1 000 行以內,提高可讀性。 單個函數集中處理一個功能,保持在100 行以內,參數控制在3 個以內,邏輯緊湊,減少代碼的無用執行。 日志設計不能暴露用戶個人信息,長度不能過長且包括盡量多的信息。

Web 前端開發需符合(UTF-8,HTML5)標準,語義化HTML,結構表現為分離,具有較好的兼容性,使用精靈圖和Sass 語法等減少頁面請求次數,代碼設計簡潔有序,盡量減少服務器負載并能夠快速解析。 所遵循的規范內容主要包括文件命名規范、HTML 規范、CSS 規范、JS 書寫規范、圖片規范和測試規范等。 在Java 開發中,應當遵循的標準規范包括編程規約(命名風格、常量定義、代碼格式、OOP 規約、集合處理、并發處理、控制語句、注釋規約),異常日志規范(異常處理、日志規約),單元測試,安全規約,工程結構(應用分層、二方庫依賴、服務器),設計規約等。

2.4 數據存儲設計

數據存儲設計應當遵循一致性和標準性、實用性、獨立性和擴展性、數據安全性等基本原則。 依照數據處理特點和特性表達要求,將數據表分為業務數據表、基礎數據表、字典信息表、系統信息表、匯總數據表、臨時表等。 數據對象命名遵循三段式命名、中文簡稱命名規范。 表中的所有數據元素不但要能唯一地被主關鍵字所標識,而且它們之間還必須相互獨立,不存在其他函數關系,但是在特殊情形下,可以犧牲范式規范以換取性能提升[4]。 在遵循設計范式基礎上,合理劃分表并添加狀態和控制字段,以有效提升業務運行水平。

數據庫設計分為六個階段:(1)系統需求分析;(2)概念結構設計;(3)邏輯結構設計;(4)物理結構設計;(5)數據庫實施;(6)數據庫運行與維護。 數據安全保障措施,主要包括數據備份、權限管理敏感數據加密及應用訪問安全方面的處理。 為確保數據庫保持良好運行狀態,還應當進行基本表設計,并做好基本表擴展設計。 在數據存儲設計中,重點做好非結構化數據采集和存儲優化,為所有數據類型提供合適的存儲選項。

2.5 接口設計

接口設計應當遵循高內聚、低耦合和精分解原則,以降低各系統間以及系統內各模塊間的耦合度,滿足基礎數據傳遞、流程審批集成、頁面展現集成等需求。 在設計時先確定接口設計規范,內部接口主要包含數據接口和服務調用接口,如數據共享、登錄接口、移動端查詢項目列表等。 外部平臺則包括從綜合管理平臺獲取用戶組織架構,綜合管理平臺API 接口,為用戶提供應用接口,提供二三維模塊地圖場景授權認證等服務。

接口設計中,需要先定義數據模式和傳遞數據的形式等,系統內部接口主要滿足內部數據的自動流轉,外部接口則需要實現本項目與其他應用系統間的數據交換,需要先由接收數據系統依照數據模式的定義,到對方系統去識別、采集,之后轉換為本系統能夠識別和利用的數據模式[5]。 接口實現方式包括Web Service 方式、RPC/Iframe方式、JDBC 方式、API 方式等,并完善共享目錄接口和數據交換方式設計。

2.6 其他設計

除做好上述設計外,還應當做好系統物理配置方案、數據安全和保密、計算機處理過程等方面設計。

3 系統功能設計

3.1 數據中心管理子系統

數據中心管理子系統主要實現工程項目相關成果的匯交、管理,便于基礎數據庫更新維護,構建高效、智能的數據管理模式。 其中數據資源管理主要包括數據入庫、目錄管理、數據查詢、高級查詢、數據瀏覽、影像切片、數據更新與管理等方面設計。 系統管理主要包括權限管理、組織架構管理、用戶管理、系統日志等方面設計。

3.2 成果綜合展示子系統

成果綜合展示子系統是提供可視化界面,基于預先準備的服務器資源,發布多種類型的空間地理信息服務,并支持對發布的服務進行統一管理。 主要包括服務發布與管理、三維數據瀏覽、全景影像瀏覽、地圖量算、標繪等功能。

3.3 智慧勘察移動端子系統

智慧勘察移動端子系統,主要是應用于現場施工人員進行數字化測量,實現任何辦公地點和任何辦公時間的無縫接入。 需要進行登錄移動端子系統、連接數據中心管理子系統等方面設計。

3.4 現有系統對接

為實現本系統與多個現有管理系統的交互,滿足基礎數據傳遞、流程審批集成、頁面展現集成等功能需求,還需要提供配置式多種標準接口。 在設計中,應當滿足多接口支撐應用擴展規范,采用Web Service 方式,SOA 體系架構實現對接。 通過接口交換的數據與接口調用應當遵循統一的接口模型進行設計,系統平臺間的接口消息協議采用基于HTTP 協議的REST 風格接口實現,請求消息URI 中的參數采用UTF-8 編碼并經過URLEncode 編碼[6]。 具備業務數據檢查、數據壓縮/解壓等數據管理功能,確保數據管理完整性。

4 系統測試

測試環境中,操行系統選擇Windows 10 專業版64位;瀏覽器為谷歌Chrome 瀏覽器、火狐瀏覽器、360 瀏覽器;客戶機硬件配置為Intel(R) Core(TM) i7-10750 H CPU@2.60 GHz 2.59 GHz、內存16 G。 測試結果顯示,所有子系統運行正常,功能完善,共計關閉bug299 處。 安全性測試和易用性測試達到要求,系統結構層次清晰合理,滿足測試標準要求,可投入正常使用。

5 結語

在智慧勘察信息管理系統設計中,必須以專業標準、行業規范和軟件工程標準為基本依據,優化系統運行環境,重點做好輕量化技術、分布式計算技術、數據接入和管理技術等關鍵技術應用,利用更為優化的代碼設計、數據存儲和接口設計方案,有效提升系統整體功能。

猜你喜歡
子系統數據庫模塊
不對中轉子系統耦合動力學特性研究
28通道收發處理模塊設計
“選修3—3”模塊的復習備考
GSM-R基站子系統同步方案研究
駝峰測長設備在線監測子系統的設計與應用
數據庫
數據庫
數據庫
數據庫
車載ATP子系統緊急制動限制速度計算
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合