任 聰 王丹陽
(蘭州石化職業(yè)技術(shù)大學(xué),甘肅 蘭州 730060)
目前,我國石化行業(yè)VOCs泄漏檢測治理主要存在檢測及監(jiān)管流程不完整、檢測數(shù)據(jù)準(zhǔn)確性相對偏低、軟件管理平臺功能不完善等問題,導(dǎo)致企業(yè)裝置存在安全隱患、物料損失成本增加、設(shè)備生產(chǎn)效率低下、危害人員身體健康等問題。針對以上問題,我們設(shè)計(jì)開發(fā)了石化行業(yè)VOCs綜合治理管理平臺。
本平臺的研發(fā)采用的是目前主流的Spring Boot框架。在數(shù)據(jù)獲取方面,采用美國賽默飛公司研發(fā)的TVA有毒揮發(fā)性氣體分析儀(VOC氣體檢測儀)對現(xiàn)場VOCs氣體的泄漏情況進(jìn)行檢測;在數(shù)據(jù)安全性和計(jì)算能力方面,通過混合云的技術(shù)手段,將后端的業(yè)務(wù)部署在私有云,前端的頁面部署在公有云,通過VPN網(wǎng)關(guān)來實(shí)現(xiàn)公有云和私有云之間的互聯(lián)互通。
目前,云計(jì)算的部署模型有私有云、公有云、混合云、社區(qū)云等模型[1]?;旌显剖怯蓛蓚€或兩個以上不同類型的云組成,本研究中采用的是私有云和公有云構(gòu)成的混合云,同時也是目前最流行的一種混合模式。它既可以利用私有云的安全性,同時也可以使用公有云的計(jì)算資源和公有云的可擴(kuò)展性[2];不僅可以將內(nèi)部的重要數(shù)據(jù)保存在本地的數(shù)據(jù)中心,還可以更高效快捷地完成工作,相比于單純用私有云或者公有云來講都更加完善。在本研究中,我們將前端的應(yīng)用服務(wù)部署在公有云,對外部用戶提供訪問入口,后端的業(yè)務(wù)實(shí)現(xiàn)部署在私有云中,對內(nèi)部提供專有的計(jì)算服務(wù)。
Spring Boot是Pivotal團(tuán)隊(duì)在Spring的基礎(chǔ)上提供的一套全新的開源框架,其目的是為了簡化Spring應(yīng)用的搭建和開發(fā)過程。Spring Boot不僅繼承了Spring框架原有的優(yōu)秀特性,而且還通過簡化配置來進(jìn)一步簡化了Spring應(yīng)用的整個搭建和開發(fā)過程;它遵循“約定優(yōu)先于配置”的原則,使用Spring Boot時只需很少的配置,大部分的時候直接使用默認(rèn)的配置即可。在本研究中,使用Spring Boot框架使我們部署業(yè)務(wù)、集成安全框架等操作更加方便。
根據(jù)上述混合云的部署要求,本系統(tǒng)的云平臺由公有云和私有云2個部分組成。其中私有云部分部署核心業(yè)務(wù)實(shí)現(xiàn)和私有資源,以保證數(shù)據(jù)具有較高的安全性;公有云部分部署前端公共業(yè)務(wù),并為用戶提供公有地址去訪問服務(wù)器,以此去獲取相應(yīng)的公共服務(wù)?;跀?shù)據(jù)安全可靠原則及混合云的靈活性的特點(diǎn),構(gòu)建公有云和私有云之間的安全機(jī)制,以此實(shí)現(xiàn)公有云和私有云之間的通信和數(shù)據(jù)傳遞。
本平臺的總體邏輯如圖1所示,首先將前端與后端的系統(tǒng)分別部署在公有云和私有云的Tomcat容器中進(jìn)行項(xiàng)目啟動,當(dāng)用戶通過頁面發(fā)送訪問請求至公有云部分中的前端控制器后,前端控制器首先對用戶請求進(jìn)行認(rèn)證、授權(quán)與記錄,然后通過專有通道將用戶請求發(fā)送至私有云部分的頁面控制器。私有云部分中的頁面控制器調(diào)用相應(yīng)的業(yè)務(wù)功能模塊,功能模塊中所需的數(shù)據(jù)首次從MySQL數(shù)據(jù)庫中調(diào)用其次優(yōu)先從Redis緩存服務(wù)器調(diào)用,功能模塊所獲取的數(shù)據(jù)在模型中進(jìn)行計(jì)算處理后,將數(shù)據(jù)計(jì)算結(jié)果返回至頁面控制器,且經(jīng)專有通道將結(jié)果傳送至前端,前端經(jīng)過解碼之后再將頁面呈現(xiàn)給用戶[3]。
圖1 平臺總體設(shè)計(jì)邏輯
本平臺系統(tǒng)分為5個層面:支撐層、感知層、數(shù)據(jù)層、業(yè)務(wù)層、表現(xiàn)層,具體情況如圖2所示。
圖2 平臺總體架構(gòu)
(1)支撐層。支撐層是由平臺的基礎(chǔ)所構(gòu)成的部分,可分為硬件支撐和軟件支撐兩個部分,硬件支撐部分由實(shí)體服務(wù)器、存儲設(shè)備、網(wǎng)絡(luò)設(shè)備以及其他設(shè)備所組成;軟件支撐部分是由阿里云虛擬服務(wù)器、Java編程語言、Spring Boot開發(fā)框架、MySQL數(shù)據(jù)庫等軟件組成。
(2)感知層。感知層是平臺識別VOCs氣體和采集氣體泄漏信息的部分。本平臺通過TVA有毒揮發(fā)性氣體分析儀(VOC氣體檢測儀)和Eye-C-Gas紅外氣體成像儀對現(xiàn)場VOCs氣體進(jìn)行識別和采集氣體泄漏情況,實(shí)現(xiàn)對檢測數(shù)據(jù)的感知獲取[4-5]。
(3)數(shù)據(jù)層。數(shù)據(jù)層是基于MySQL數(shù)據(jù)庫的數(shù)據(jù)文件、部分?jǐn)?shù)據(jù)查詢、插入等操作語句及數(shù)據(jù)表單等構(gòu)成,其中數(shù)據(jù)表單包括用戶信息數(shù)據(jù)表、權(quán)限信息數(shù)據(jù)表、裝置信息數(shù)據(jù)表、檢測點(diǎn)信息數(shù)據(jù)表、設(shè)備信息數(shù)據(jù)表、泄漏點(diǎn)信息等。
(4)業(yè)務(wù)層。業(yè)務(wù)層是本平臺所有業(yè)務(wù)功能集合,包括用戶管理、數(shù)據(jù)分析、檢測管理、分級管理、報告管理等模塊。
(5)表現(xiàn)層。表現(xiàn)層就是用戶與平臺之間的交互式操作界面,實(shí)現(xiàn)對用戶的請求接受,以及平臺功能的信息的反饋與操作頁面呈現(xiàn),為用戶提供應(yīng)用程序的訪問。
本研究基于用戶體驗(yàn)為中心設(shè)計(jì)原則,確保界面直觀、簡潔,操作方便快捷,使用戶接觸到軟件之后對界面所對應(yīng)的功能一目了然、不需太多培訓(xùn)就可以方便使用本系統(tǒng)。
頁面采用了目前流行的前端開發(fā)框架Boostrap。Boostrap框架在本研究中用于部署動態(tài)頁面,通過框架制作動態(tài)表格、創(chuàng)建表格字段屬性、下拉菜單、導(dǎo)航條、對話框等元素,方便快捷,且易于自定義設(shè)置。ECharts是一款基于Java Script的數(shù)據(jù)可視化圖表庫,提供直觀、生動、可交互、可個性化定制的數(shù)據(jù)可視化圖表。它方便各種折線圖、柱狀圖、散點(diǎn)圖、餅圖等的繪制(如可將密封點(diǎn)、檢測點(diǎn)、泄漏點(diǎn)等數(shù)據(jù)以柱狀圖、折線圖、餅圖等方式直觀展現(xiàn)給客戶)。另外,頁面布局利用DIV標(biāo)簽來標(biāo)記頁面不同區(qū)塊,并利用CSS樣式對頁面進(jìn)行渲染優(yōu)化;通過Ajax技術(shù)實(shí)現(xiàn)頁面的局部刷新,且跟蹤設(shè)備檢測信息的變化情況,實(shí)時展示相應(yīng)系統(tǒng)功能內(nèi)容和信息。
依據(jù)系統(tǒng)的安全性和功能業(yè)務(wù)的需求,利用Apache Shiro安全框架,使得平臺登錄認(rèn)證功能能夠安全、有效地實(shí)現(xiàn)對平臺用戶進(jìn)行分級權(quán)限管理,設(shè)置不同的角色且為各角色分配相應(yīng)的操作權(quán)限,保證用戶信息安全和系統(tǒng)運(yùn)行安全。平臺的基本業(yè)務(wù)功能主要有基礎(chǔ)信息管理、監(jiān)測數(shù)據(jù)管理、LDAR檢測管理和預(yù)警提示功能等(如圖3所示)。
圖3 平臺功能模塊
(1)創(chuàng)建Spring Boot工程
本研究中采用的搭建環(huán)境為JDK 1.8、Maven 3.6.3以及Spring Boot 2.2.3。首先搭建JDK環(huán)境,通過官方提供的程序安裝包進(jìn)行下載安裝,之后我們在PC端進(jìn)行相應(yīng)環(huán)境變量的設(shè)置。其次準(zhǔn)備Maven工具,從Maven官網(wǎng)下載安裝包進(jìn)行安裝,之后設(shè)置Maven的環(huán)境變量。準(zhǔn)備好環(huán)境后,首先對Maven的settings.xml文件添加我們所需功能的相應(yīng)配置,之后我們在開發(fā)工具中也進(jìn)行相應(yīng)的配置工作;其次創(chuàng)建Maven工程,最后導(dǎo)入Spring Boot的相關(guān)依賴與配置即可[6-7]。
(2)聯(lián)通混合云
本研究中通過阿里云平臺進(jìn)行混合云的聯(lián)通,我們將本地云與具有私有權(quán)限控制的阿里云空間整合,構(gòu)成混合云的私有云部分,之后通過阿里云所提供的VPN網(wǎng)關(guān)服務(wù),通過互聯(lián)網(wǎng)將公有云和私有云之間的網(wǎng)絡(luò)連接起來,由此實(shí)現(xiàn)混合云環(huán)境。隨后,我們將可以對外訪問的應(yīng)用服務(wù)部署在公有云部分,將數(shù)據(jù)處理、計(jì)算、儲存等后臺服務(wù)部署在私有云部分,使二者之間形成安全、高效的服務(wù)或信息傳遞機(jī)制和增益互助機(jī)制,確保私有云環(huán)境既具有公有云可擴(kuò)展、節(jié)約成本的特點(diǎn),同時具有私有云部分的數(shù)據(jù)安全、SLA等優(yōu)點(diǎn)。
(1)權(quán)限管理
在本平臺中,用戶權(quán)限分為3個等級:超級管理員、普通管理員和普通用戶。不同等級的用戶擁有不同的管理權(quán)限:超級管理員具有管理注冊用戶及維護(hù)系統(tǒng)的全部功能和數(shù)據(jù)權(quán)限,可管理和查看所有用戶的相關(guān)信息;普通管理員具有部分管理和維護(hù)系統(tǒng)功能和數(shù)據(jù)權(quán)限,可管理和查看比其等級低的用戶的相關(guān)信息;一般用戶則只具有管理和查看自身相關(guān)信息的權(quán)限,僅能訪問系統(tǒng)公共功能以及角色數(shù)據(jù)權(quán)限內(nèi)的相關(guān)操作。本平臺采用Apache Shiro安全框架實(shí)現(xiàn)認(rèn)證和授權(quán)管理,當(dāng)用戶輸入賬號和密碼時,先經(jīng)過身份認(rèn)證,經(jīng)過認(rèn)證后可讀取出其所具有的角色信息,其次依據(jù)角色信息,在自定義的Realm中選擇所對應(yīng)的權(quán)限信息,之后根據(jù)用戶所具有的權(quán)限信息,為用戶提供相應(yīng)的業(yè)務(wù)功能進(jìn)行操作。
自定義Realm部分代碼如圖4。
圖4 Realm代碼
(2)信息管理
本平臺的信息管理模塊是基于用戶權(quán)限進(jìn)行管理的,通過不同的用戶權(quán)限去管理不同用戶的相關(guān)功能及操作,實(shí)現(xiàn)用戶在自己所具有的權(quán)限內(nèi)的操作,為用戶提供更加智能化的LDAR管理方式,擺脫傳統(tǒng)較為復(fù)雜的信息管理方式,方便用戶管理。
(3)檢測管理
該模塊支持設(shè)備圖片建檔,檢測任務(wù)分配、下載,并根據(jù)檢測點(diǎn)位信息,能夠自動生成最優(yōu)檢測路徑,上傳檢測數(shù)據(jù)。按部門、密封點(diǎn)類型、地理位置等統(tǒng)計(jì)泄漏分布情況,以部門為單位統(tǒng)計(jì)泄漏點(diǎn)、修復(fù)點(diǎn)匯總情況,均以圖表、柱狀圖、表格等形式反映,時間節(jié)點(diǎn)可任意選擇(圖5)。
圖5 泄漏檢測模塊頁面
(4)泄漏管理
若發(fā)生泄漏,本系統(tǒng)會按照泄漏排放的標(biāo)準(zhǔn)要求自動下發(fā)維修與復(fù)檢任務(wù),實(shí)時監(jiān)測維修與復(fù)檢過程,維修及復(fù)檢完成后,將復(fù)檢結(jié)果自動上傳到工作后臺。工作流程如下:首先制定維修復(fù)檢計(jì)劃,包括復(fù)檢通知、復(fù)檢工單及復(fù)檢記錄;其次下發(fā)維修復(fù)檢通知,告知被檢測單位修復(fù)復(fù)檢;隨后生成復(fù)檢工單,包括部門、工單號、復(fù)檢人、開始和結(jié)束時間等;最后記錄復(fù)檢后的結(jié)果(圖6)。
圖6 泄漏管理模塊頁面
本平臺基于Spring Boot框架和混合云技術(shù)開發(fā)了石化行業(yè)VOCs綜合治理管理平臺,通過在Spring Boot框架上整合目前流行的前端設(shè)計(jì)、業(yè)務(wù)開發(fā)等框架,實(shí)現(xiàn)對檢測數(shù)據(jù)進(jìn)行匯總、分析,生成相應(yīng)報表,對異常情況進(jìn)行報警提示等功能。在功能部署方面,公有云對外開放,提供相應(yīng)的公共服務(wù),私有云進(jìn)行數(shù)據(jù)存儲和計(jì)算,具有良好的數(shù)據(jù)安全性,兩者結(jié)合,提升數(shù)據(jù)計(jì)算性能和業(yè)務(wù)的可擴(kuò)展性。經(jīng)過測試和實(shí)地應(yīng)用,系統(tǒng)運(yùn)行穩(wěn)定、可靠,為石化企業(yè)提高了VOCs泄漏檢測技術(shù)管理治理水平。