李旋 李睿
(四川郵電職業(yè)技術(shù)學(xué)院 四川省成都市 610067)
系統(tǒng)平臺建設(shè)需基于統(tǒng)一的技術(shù)架構(gòu)來對外提供應(yīng)用服務(wù),不得明顯相互獨立??紤]到后期業(yè)務(wù)架構(gòu)的調(diào)整,系統(tǒng)需具備較高程度的可定制化開發(fā)能力,能夠定制化的滿足實際業(yè)務(wù)要求。此外,還需保證系統(tǒng)適用于用戶提出的另行采購的硬件、軟件,并能很好實現(xiàn)集成。
安全需求分為三個部分,分別是應(yīng)用安全需求、數(shù)據(jù)安全需求、系統(tǒng)訪問安全需求。具體要求如下:
應(yīng)用安全需求。系統(tǒng)要求具有審計功能和系統(tǒng)管理功能,可以對用戶的操作記錄,系統(tǒng)日志等進行查看;對于系統(tǒng)中的所有賬號信息以及密碼信息,均需滿足相關(guān)高復(fù)雜度的要求和管理,同時能夠?qū)ο到y(tǒng)中的主鍵ID(例如賬號ID 等)進行唯一性校驗。
數(shù)據(jù)安全需求。集團系統(tǒng)中的數(shù)據(jù)涉及到國有企業(yè)的安全生產(chǎn)數(shù)據(jù),屬于保密內(nèi)容范疇,因此為了保證數(shù)據(jù)的安全性,所有數(shù)據(jù)首先需要在統(tǒng)一的專用數(shù)據(jù)庫服務(wù)器中進行專用管理,確保數(shù)據(jù)庫系統(tǒng)的獨立性。
系統(tǒng)訪問安全需求。由于集團組織機構(gòu)層級較多,機構(gòu)人員數(shù)量龐大,同時存在人員交叉的情況,因此需要建議一種用戶身份的信任和憑證校驗機制,保證登錄當(dāng)前系統(tǒng)用戶的唯一性和權(quán)威性。
在可視化軟件方面,滿足多數(shù)據(jù)源接入:支持標(biāo)準(zhǔn)的JDBC 接口,能直接對接各種主流關(guān)系型數(shù)據(jù)庫系統(tǒng);支持文本數(shù)據(jù)(Excel、CSV)的直接導(dǎo)入分析,支持API 接口對接。此外要滿足實時數(shù)據(jù)可視化,同時提供三種方式:數(shù)據(jù)庫定時執(zhí)行SQL 的準(zhǔn)實時數(shù)據(jù)提取、定時通過調(diào)用第三方接口獲取準(zhǔn)實時數(shù)據(jù)、通過接口實時接收第三方接口實時發(fā)送的數(shù)據(jù)。
在圖表方面,要能夠?qū)崿F(xiàn)圖表切換,包括:各類折線圖、曲線圖、柱狀圖、餅狀圖等圖像。在2D 地圖和3D 地圖方面,滿足2D 地圖接入需求,包括:分布地圖、遷移地圖、標(biāo)注地圖、熱力圖。并支持下鉆,層級包含:世界、中國、全國34 個省/市/自治區(qū)以及300 個以上重要的地市。滿足3D 地圖接入需求,該地圖的能力支持:內(nèi)置至少4 種樣式,8 種及以上的光點樣式。
在指揮調(diào)度系統(tǒng)方面,具體功能需求如下:
(1)滿足快捷靈活的指揮關(guān)系重構(gòu);
(2)實時動態(tài)的信息交互傳輸;
(3)全程可視化操作;
(4)可靠固化的應(yīng)急聯(lián)動處置。
系統(tǒng)技術(shù)選型方面,應(yīng)針對目前市場的主流技術(shù)、開發(fā)成本和后期系統(tǒng)整體運維難度等情況進行綜合考慮,系統(tǒng)選擇目前流行的微服務(wù)架構(gòu)。系統(tǒng)整體采用公有云建設(shè)與本地備份及設(shè)備控制相結(jié)合的形式,公有云主要實現(xiàn)軟件部署以及視頻點播分發(fā)。本地存儲服務(wù)器用于冷備份公有云軟件平臺數(shù)據(jù)。公有云建設(shè)包含一套前端Nginx 負載,一套注冊服務(wù)以及網(wǎng)關(guān)中心、一套微服務(wù)集群、一套消息服務(wù)集群、一套分布式文件集群以及Mysql 主從庫。在數(shù)據(jù)資源處理層面包含四臺服務(wù)器,分別為數(shù)據(jù)采集云服務(wù)器、數(shù)據(jù)清洗云服務(wù)器、數(shù)據(jù)存儲云服務(wù)器以及數(shù)據(jù)預(yù)處理云服務(wù)器。
指揮調(diào)度中心項目建設(shè)有四大部分進行組成,包括基礎(chǔ)設(shè)施層、后臺管理層、數(shù)據(jù)采集管理層以及前臺應(yīng)用層。由此四部分統(tǒng)一構(gòu)建成為指揮調(diào)度中心核心內(nèi)容。整體邏輯架構(gòu)如下:
(1)基礎(chǔ)設(shè)施層:負責(zé)底層的計算資源以及存儲資源、網(wǎng)絡(luò)資源等構(gòu)建,保證系統(tǒng)的高效運行及安全性,對底層的虛擬化資源、大數(shù)據(jù)資源、高性能資源、數(shù)據(jù)庫資源等進行穩(wěn)定性的報賬,保證系統(tǒng)高效安全的運行。
(2)后臺管理層:負責(zé)對各種數(shù)據(jù)源的接入和數(shù)據(jù)交換進行適配。同時支持實時數(shù)據(jù)接口以及第三方WebService、http、socket 等接口數(shù)據(jù)。對集團所屬現(xiàn)有系統(tǒng)進行全方位的數(shù)據(jù)抽取與鉆探。
(3)數(shù)據(jù)采集管理層:針對系統(tǒng)中存在的海量數(shù)據(jù),以及高頻的數(shù)據(jù)交互,系統(tǒng)提供統(tǒng)一的標(biāo)準(zhǔn)和口徑,以此來對海量數(shù)據(jù)進行采集、清洗、存儲、加工,從而將海量數(shù)據(jù)形成無形大數(shù)據(jù)資產(chǎn),為集團和其他第三方兄弟單位、監(jiān)管政府機關(guān)等提供高校服務(wù)。主要是將采集來的結(jié)構(gòu)化數(shù)據(jù)、非結(jié)構(gòu)化數(shù)據(jù)進行統(tǒng)一存儲,運監(jiān)、營銷、客服、故障等結(jié)構(gòu)化數(shù)據(jù)主要提供給二維可視化進行展示。地理數(shù)據(jù)、視頻數(shù)據(jù)、巡航數(shù)據(jù)、傳感器數(shù)據(jù)主要提供給多維可視化進行數(shù)據(jù)分析和3D 展示。
(4)前臺應(yīng)用層:主要提供基于瀏覽器的圖形化編排集成開發(fā)環(huán)境和運行框架,支持?jǐn)?shù)據(jù)配置、事件交互配置、樣式效果配置。在可視化運行框架的支持下,完成頁面的解析、數(shù)據(jù)的加載和轉(zhuǎn)換、事件的執(zhí)行、圖形的渲染等。
系統(tǒng)在大屏端主要進行相關(guān)數(shù)據(jù)的展示功能,具體展示的板塊包括集團概況展示、能源化工情況展示、培育主業(yè)展示、健康教育情況展示等模塊。此外用戶在大屏前端還可以進行應(yīng)急指揮調(diào)度。
集團概況模塊主要以圖形化方式從多個方面展示集團的整體概況,主要包含集團簡介、廉潔、黨建、規(guī)劃發(fā)展等幾個層面,以便于參觀者快速了解到集團整體情況。能源化工模塊圍繞集團核心主業(yè),涵蓋電力、燃氣、化工經(jīng)營等多個能源化工產(chǎn)業(yè)關(guān)鍵數(shù)據(jù)指標(biāo),此板塊主要以圖形化、數(shù)據(jù)可視化方式呈現(xiàn)能源化工產(chǎn)業(yè)各板塊的經(jīng)營數(shù)據(jù)指標(biāo)。培育主業(yè)模塊通過收集集團公司及各級分公司相關(guān)戰(zhàn)略發(fā)展數(shù)據(jù),形成集團培育主業(yè)總覽圖,涵蓋工程建設(shè)、類金融、文化旅游等多個產(chǎn)業(yè)。健康教育模塊通過收集集團公司及各級分公司健康產(chǎn)業(yè)以及教育產(chǎn)業(yè)數(shù)據(jù),以產(chǎn)業(yè)結(jié)構(gòu)形式顯示各板塊營收、生產(chǎn)、投資、重點項目等。應(yīng)急指揮調(diào)度模塊主要通過系統(tǒng)對項目現(xiàn)場視頻(固定視頻、移動視頻)進行查看,并連接現(xiàn)場人員(單人或多人)移動設(shè)備進行現(xiàn)場視頻連線、語音對講、文件傳輸?shù)龋瑢崿F(xiàn)突發(fā)應(yīng)急事件下的遠程調(diào)度指揮,提升突發(fā)應(yīng)急事件響應(yīng)和處置效率。
系統(tǒng)后臺管理端,主要用于前端和集團相關(guān)業(yè)務(wù)流程數(shù)據(jù)的管理和操作功能,同時具備系統(tǒng)的用戶和權(quán)限等功能的集成。主要包括綜合管理模塊、投資發(fā)展模塊、人力資源模塊、財務(wù)管理模塊、科技創(chuàng)新模塊、信息化模塊以及系統(tǒng)管理模塊等。
綜合信息模塊涵蓋各部門業(yè)務(wù),通過提煉關(guān)鍵生產(chǎn)經(jīng)營指標(biāo)形成全集團業(yè)務(wù)數(shù)據(jù)一把抓。投資發(fā)展模塊主要用于集團公司項目投資計劃、投資預(yù)算計劃、項目完成度、在建項目狀態(tài)等信息的展示。人力資源模塊主要用于集團公司人力資源規(guī)劃、組織機構(gòu)設(shè)置、薪酬考核體系、考核結(jié)果運用、培訓(xùn)和招聘管理、專業(yè)技術(shù)人才隊伍建設(shè)情況等信息展示。財務(wù)管理模塊要用于集團整體營收情況、利潤情況、公司成本預(yù)算、費用控制等工作的展示??萍紕?chuàng)新數(shù)據(jù)報表管理提供指標(biāo)類別數(shù)據(jù)報表導(dǎo)入和報表自定義組合導(dǎo)出功能,同時可根據(jù)各級分公司、年月時間維度進行查詢。信息化模塊主要用于展示指標(biāo)類數(shù)據(jù),即在建項目數(shù)、已建項目數(shù)、基礎(chǔ)設(shè)施數(shù)、信息化預(yù)算數(shù)、軟件著作權(quán)等。系統(tǒng)管理模塊包括用戶管理、權(quán)限管理、資源管理等板塊。
數(shù)據(jù)采集分析主要以元數(shù)據(jù)驅(qū)動方式提供強大的抽取、轉(zhuǎn)換和加載的數(shù)據(jù)采集服務(wù)能力[1]。提供對異構(gòu)數(shù)據(jù)源的集成能力,實現(xiàn)針對大體量異構(gòu)數(shù)據(jù)的處理操作,能夠在數(shù)據(jù)采集過程中對數(shù)據(jù)進行持續(xù)化的預(yù)處理,實現(xiàn)數(shù)據(jù)采集全過程的可視、可管、可控。主要涉及數(shù)據(jù)采集范圍管理、數(shù)據(jù)輸入輸出功能、視屏數(shù)據(jù)采集、實時數(shù)據(jù)采集以及離線數(shù)據(jù)采集等。
根據(jù)目前集團已有的各類結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù),以及其他文件、視頻等資源數(shù)據(jù)的采集情況,結(jié)合所有數(shù)據(jù)的來源特點、更新方式、交換條件等,再附加考慮集團內(nèi)外網(wǎng)和現(xiàn)場生產(chǎn)環(huán)境的網(wǎng)絡(luò)條件等因素,確定對不同類型的數(shù)據(jù)分別采用數(shù)據(jù)交換與整合平臺、服務(wù)總線的實時數(shù)據(jù)交換、基于ETL 的數(shù)據(jù)導(dǎo)入、人工錄入、直接使用等多種方式進行采集[2]。
根據(jù)集團公司現(xiàn)有信息化系統(tǒng)建設(shè)情況,已通過集團公司數(shù)據(jù)中臺或PowerBI 系統(tǒng)對接上來的數(shù)據(jù)統(tǒng)一通過系統(tǒng)層面的數(shù)據(jù)對接接口實現(xiàn)數(shù)據(jù)接入應(yīng)用;對于集團各分公司/項目現(xiàn)場等已自建系統(tǒng)實現(xiàn)所屬領(lǐng)域數(shù)據(jù)收集而數(shù)據(jù)未統(tǒng)一匯聚到集團數(shù)據(jù)中臺的情況則由本項目實施小組提出具體數(shù)據(jù)對接清單,而后由集團數(shù)據(jù)中臺項目的實施小組牽頭實現(xiàn)集團各分公司/項目現(xiàn)場的數(shù)據(jù)匯聚;對于本項目獨有的且未經(jīng)集團各分公司信息化系統(tǒng)收錄的數(shù)據(jù)[3],則由本項目開發(fā)對應(yīng)的數(shù)據(jù)填報功能,通過數(shù)據(jù)填報功能人工收集系統(tǒng)運行所需的數(shù)據(jù)指標(biāo),同時在有必要的情況下可將人工收集上的數(shù)據(jù)同步給數(shù)據(jù)中臺,形成數(shù)據(jù)資源的匯聚沉淀。
在接入生產(chǎn)經(jīng)營各類數(shù)據(jù)時,因本身數(shù)據(jù)質(zhì)量的不可控性,數(shù)據(jù)需要被清洗。特別是很多的數(shù)據(jù)都有缺失值。比如,生產(chǎn)經(jīng)營指標(biāo)中的電力發(fā)電數(shù)據(jù),其中的一些屬性可能沒有記錄值,如當(dāng)前上報發(fā)電量的時間。填充丟失的值,可以采用忽略元組、人工填寫缺失值、使用一個全局常量填充缺失值、用屬性的均值填充缺失值、用同類樣本的屬性均值填充缺失值、使用最可能的值填充缺失值、用最鄰近方法填充缺失值等方法。
數(shù)據(jù)存儲計算主要提供數(shù)據(jù)處理、計算、集成、分析及高效可靠的數(shù)據(jù)存儲能力。實現(xiàn)結(jié)構(gòu)、非結(jié)構(gòu)化數(shù)據(jù)的數(shù)據(jù)存儲、數(shù)據(jù)管理、數(shù)據(jù)備份、數(shù)據(jù)計算、數(shù)據(jù)挖掘等。
本次數(shù)據(jù)存儲方案主要分為結(jié)構(gòu)化數(shù)據(jù)存儲方案以及非結(jié)構(gòu)化數(shù)據(jù)存儲方案。
其中結(jié)構(gòu)化存儲選用MySQL 數(shù)據(jù)庫。根據(jù)項目實際應(yīng)用需要,結(jié)構(gòu)化存儲數(shù)據(jù)庫劃分為以下類型數(shù)據(jù)庫:
4.3.1 基礎(chǔ)業(yè)務(wù)數(shù)據(jù)庫
基礎(chǔ)業(yè)務(wù)數(shù)據(jù)是集團公司經(jīng)營管理過程中,相關(guān)業(yè)務(wù)在執(zhí)行和運行過程中產(chǎn)生的需要進行處理的結(jié)果數(shù)據(jù)。業(yè)務(wù)數(shù)據(jù)基于系統(tǒng)中相關(guān)的底層基礎(chǔ)數(shù)據(jù)進行衍生,關(guān)聯(lián)了相關(guān)的業(yè)務(wù)屬性而形成[4]。在此建設(shè)方案中,主要業(yè)務(wù)數(shù)據(jù)庫包括:投資發(fā)展數(shù)據(jù)庫、人力資源數(shù)據(jù)庫、財務(wù)管理數(shù)據(jù)庫、建設(shè)管理數(shù)據(jù)庫、資產(chǎn)運營數(shù)據(jù)庫、資本運營數(shù)據(jù)庫、科技創(chuàng)新數(shù)據(jù)庫、生產(chǎn)管理數(shù)據(jù)庫以及信息化管理數(shù)據(jù)庫等。
4.3.2 主題數(shù)據(jù)庫
主題數(shù)據(jù)資源分為按業(yè)務(wù)條線劃分的縱向業(yè)務(wù)主題數(shù)據(jù)和按管理領(lǐng)域劃分的橫向分析主題數(shù)據(jù)。分析主題數(shù)據(jù)基于業(yè)務(wù)主題數(shù)據(jù)和外部相關(guān)數(shù)據(jù)、根據(jù)領(lǐng)域分析模型建立。在此建設(shè)方案中,主要主題數(shù)據(jù)庫包括:集團概況數(shù)據(jù)庫、數(shù)智能投數(shù)據(jù)庫、能源化工數(shù)據(jù)庫、培育主業(yè)數(shù)據(jù)庫、健康教育數(shù)據(jù)庫以及指揮調(diào)度數(shù)據(jù)庫[5]。其中,能源化工數(shù)據(jù)庫又分為電力數(shù)據(jù)庫、燃氣數(shù)據(jù)庫以及化工數(shù)據(jù)庫。健康教育數(shù)據(jù)庫分為教育數(shù)據(jù)庫和大健康數(shù)據(jù)庫。培育主業(yè)包含建設(shè)管理數(shù)據(jù)庫、資本管理數(shù)據(jù)庫以及資產(chǎn)管理數(shù)據(jù)庫。
4.3.3 共享數(shù)據(jù)庫
共享數(shù)據(jù)主要在與外部公司和系統(tǒng)進行數(shù)據(jù)交互時提供共享數(shù)據(jù)存儲庫,通常存儲經(jīng)過加工整合之后的結(jié)果數(shù)據(jù)。因本次項目建設(shè)的可視化平臺屬于集團數(shù)據(jù)指標(biāo)以及經(jīng)營情況的最終呈現(xiàn)平臺,平臺內(nèi)累積的各類加工整合后的數(shù)據(jù)較多,如集團資產(chǎn)規(guī)模增長率、電力發(fā)電規(guī)模情況等均屬于二次加工數(shù)據(jù),此類數(shù)據(jù)均可對外反哺給集團內(nèi)各業(yè)務(wù)支撐系統(tǒng)以及生產(chǎn)管理系統(tǒng)用于生產(chǎn)經(jīng)營效率的提升以及異常情況的監(jiān)控等。此類數(shù)據(jù)交互時均通過共享數(shù)據(jù)庫對外交互共享。
在非結(jié)構(gòu)化存儲中,系統(tǒng)運行需要匯聚部分非結(jié)構(gòu)化數(shù)據(jù),對于此類非結(jié)構(gòu)化數(shù)據(jù)如項目現(xiàn)場監(jiān)控視頻、無人機巡檢視頻等通過與視頻匯聚平臺的實時對接來實現(xiàn),此類視頻歷史數(shù)據(jù)本項目不主動進行存儲,僅在項目軟件平臺實際運行中需要調(diào)用時通過視頻匯聚平臺發(fā)起調(diào)用。而部門文檔、存檔資料以及各類音視頻影像資料等則基于文件服務(wù)器進行存儲。
當(dāng)前系統(tǒng)前端采用VUE 進行開發(fā),后端服務(wù)器采用JAVA 語言進行設(shè)計。本次系統(tǒng)內(nèi)數(shù)據(jù)交互接口均基于Kafka 實現(xiàn)。系統(tǒng)采用生產(chǎn)者-消費者模型對消息數(shù)據(jù)進行收發(fā)。系統(tǒng)的架構(gòu)拓撲結(jié)構(gòu)如圖1 所示。
圖1: 系統(tǒng)數(shù)據(jù)交互接口拓撲圖
系統(tǒng)對外部系統(tǒng)的數(shù)據(jù)發(fā)布接口統(tǒng)一采用WebService 形式接口。“對外數(shù)據(jù)接口”提供兩個接口,分為權(quán)限查看接口和數(shù)據(jù)查看接口。外部系統(tǒng)申請對接數(shù)據(jù)時由本平臺分配用戶名密碼以及對應(yīng)申請的具體表。外部系統(tǒng)通過調(diào)用“權(quán)限查看接口”可查看自己權(quán)限下能夠查詢的表名稱;外部系統(tǒng)通過調(diào)用“數(shù)據(jù)查看接口”并傳入對應(yīng)表名即可獲取對應(yīng)表名下的所有數(shù)據(jù)。
以權(quán)限查看接口為例,具體實現(xiàn)樣例如下:
函數(shù)名:getPermitTableName
函數(shù)輸入?yún)?shù):String username, String password(即用戶名、密碼)
函數(shù)輸出結(jié)果:包含results 節(jié)點的XML 格式數(shù)據(jù)。
數(shù)據(jù)樣例如下:(owner 表示該表所屬用戶,一般與用戶名相同,tablename即該用戶有權(quán)查看的數(shù)據(jù)表名)
本次系統(tǒng)指揮調(diào)度中心可視化軟件默認(rèn)接受大屏拼接控制器端以HTTP RESTful 風(fēng)格的API 或者SDK 形式對外提供分屏拼接控制下發(fā)、模式讀取、模式切換應(yīng)用、視頻信號源切換等接口。針對視頻匯聚而言,現(xiàn)階段所有攝像頭數(shù)據(jù)到中心機房后先匯總到視頻匯聚平臺的邊緣服務(wù)器,然后進行視頻流協(xié)議層集成,并根據(jù)需要錄制,壓縮傳輸視頻流到云平臺(也可不壓縮選擇原始碼流),云平臺建立視頻流分發(fā)轉(zhuǎn)發(fā),并發(fā)播放處理服務(wù),并通過接口形式集成進入整個指揮調(diào)度中心系統(tǒng),最后再由指揮調(diào)度中心系統(tǒng)同步投屏到大屏展示。
本文介紹了國有集團應(yīng)急指揮系統(tǒng)的設(shè)計與實現(xiàn)。該系統(tǒng)通過結(jié)合集團現(xiàn)有的常見業(yè)務(wù)場景中的流程,從架構(gòu)方面進行整體設(shè)計,同時針對大屏端和管理后端提出了具體的需求細節(jié)以及詳細設(shè)計方案,針對集團應(yīng)急指揮系統(tǒng)需對接多源數(shù)據(jù)的要求,設(shè)計了一套數(shù)據(jù)采集、清洗、存儲的方案,最終通過從系統(tǒng)功能數(shù)據(jù)流轉(zhuǎn)、對外數(shù)據(jù)發(fā)布、與硬件交互等方面進行了系統(tǒng)驗證和測試。