田 際,王大鵬,劉希念,宋文貴,馮庭有,吳 波,周鈺濤
(1.華能東莞燃機(jī)熱電有限責(zé)任公司,廣東 東莞 523590;2.西安熱工研究院有限公司,陜西 西安 710054;3.西安西熱電站信息技術(shù)有限公司,陜西 西安 710054)
近年來(lái),隨著物聯(lián)網(wǎng)、人工智能、5G通信、云計(jì)算、移動(dòng)互聯(lián)網(wǎng)等技術(shù)的深入發(fā)展,特別是隨著云計(jì)算相關(guān)領(lǐng)域的虛擬化技術(shù)、自動(dòng)化容器技術(shù)、分布式計(jì)算技術(shù)的發(fā)展日趨成熟[1-2],發(fā)電企業(yè)開(kāi)始積極探索構(gòu)建企業(yè)級(jí)云平臺(tái)[3],并將其應(yīng)用在企業(yè)信息平臺(tái)建設(shè)中。
此外,在信息化和工業(yè)化融合(兩化融合)模式發(fā)展的當(dāng)前背景下[4-5],發(fā)電企業(yè)如何將生產(chǎn)系統(tǒng)與信息管理系統(tǒng)進(jìn)行整合,并通過(guò)建立覆蓋發(fā)電企業(yè)生產(chǎn)和經(jīng)營(yíng)方向的大型信息管理平臺(tái),打破各生產(chǎn)系統(tǒng)與信息管理系統(tǒng)在物理層面、業(yè)務(wù)層面和管理層面的信息孤島現(xiàn)狀,是需要解決的另一個(gè)問(wèn)題。
云平臺(tái)通??煞譃楣性啤⑺接性坪突旌显芠6],其中最為常見(jiàn)的是公有云,雖然具有成本低、運(yùn)維簡(jiǎn)單、易擴(kuò)展等特點(diǎn),但是從網(wǎng)絡(luò)安全性、數(shù)據(jù)私密性、信息保密性的角度出發(fā),發(fā)電企業(yè)必須在企業(yè)防火墻內(nèi)側(cè)對(duì)服務(wù)器、交換機(jī)、防火墻等硬件設(shè)施進(jìn)行投資,并組建有實(shí)施和運(yùn)維能力的專業(yè)技術(shù)團(tuán)隊(duì)構(gòu)建企業(yè)級(jí)私有云平臺(tái)。
發(fā)電企業(yè)私有云平臺(tái)的構(gòu)建分別從硬件平臺(tái)和軟件框架著手。
為滿足私有云復(fù)雜的業(yè)務(wù)負(fù)載和大規(guī)模數(shù)據(jù)敏捷存取需求,本文基于虛擬化技術(shù)構(gòu)建了發(fā)電企業(yè)私有云硬件平臺(tái),將分散的服務(wù)器群的操作系統(tǒng)、內(nèi)存、CPU、存儲(chǔ)磁盤(pán)和網(wǎng)絡(luò)接口等整合至虛擬資源池,并在虛擬化技術(shù)、分布式存儲(chǔ)技術(shù)、分布式計(jì)算技術(shù)和動(dòng)態(tài)資源調(diào)度技術(shù)的協(xié)同作用下,實(shí)現(xiàn)操作系統(tǒng)和內(nèi)存、CPU、存儲(chǔ)磁盤(pán)和網(wǎng)絡(luò)接口等硬件資源的集中管理、動(dòng)態(tài)共享、靈活調(diào)度和彈性擴(kuò)展[7],如圖1所示。目前,構(gòu)建私有云硬件平臺(tái)主要使用基于超融合架構(gòu)的服務(wù)器[8]。
圖1 私有云硬件平臺(tái)技術(shù)示意圖
雖然發(fā)電企業(yè)生產(chǎn)系統(tǒng)業(yè)務(wù)邏輯復(fù)雜,但企業(yè)用戶數(shù)量少、云應(yīng)用的并發(fā)訪問(wèn)量較小,為了提高系統(tǒng)資源利用率,實(shí)現(xiàn)敏捷開(kāi)發(fā)、高效部署和便捷維護(hù),本文構(gòu)建了基于容器技術(shù)的發(fā)電企業(yè)私有云軟件框架。
由于應(yīng)用程序的發(fā)布和運(yùn)行與操作系統(tǒng)有較強(qiáng)的依賴關(guān)系,即使是同一個(gè)操作系統(tǒng)因底層環(huán)境輕微的不同也會(huì)引起應(yīng)用程序無(wú)法正常部署或運(yùn)行崩潰,為此,針對(duì)私有云應(yīng)用,本文引入一種自動(dòng)化的部署技術(shù)—Docker容器。通過(guò)Docker容器將云應(yīng)用所需的相關(guān)程序及其運(yùn)行所依賴的操作系統(tǒng)環(huán)境文件(如dll等文件)打包封裝,并以獨(dú)立的進(jìn)程運(yùn)行,不但杜絕了因開(kāi)發(fā)環(huán)境和應(yīng)用環(huán)境不一致導(dǎo)致云應(yīng)用無(wú)法正常部署或運(yùn)行的情況[9-10],而且能夠迅速實(shí)現(xiàn)多個(gè)云應(yīng)用容器的獨(dú)立部署。對(duì)于云應(yīng)用的持續(xù)集成、部署與交付采用gitlab CI/CD技術(shù)實(shí)現(xiàn)[11-12]。
基于硬件平臺(tái)和軟件框架的發(fā)電企業(yè)私有云平臺(tái)構(gòu)建完成后,發(fā)電企業(yè)生產(chǎn)系統(tǒng)與信息管理系統(tǒng)會(huì)部署云端應(yīng)用,如何打破這些云端應(yīng)用在物理層面、業(yè)務(wù)層面和管理層面各自獨(dú)立的現(xiàn)狀,則需要開(kāi)發(fā)基于Docker的發(fā)電企業(yè)私有云的一體化信息管理平臺(tái),以實(shí)現(xiàn)統(tǒng)一用戶管理和各云端應(yīng)用數(shù)據(jù)和信息的互通與共享。
基于Docker的發(fā)電企業(yè)私有云的一體化信息管理平臺(tái)在私有云硬件平臺(tái)中部署4臺(tái)服務(wù)器,包括:數(shù)據(jù)庫(kù)服務(wù)器、計(jì)算服務(wù)器、應(yīng)用服務(wù)器和管理服務(wù)器。
數(shù)據(jù)庫(kù)服務(wù)器安裝MySQL云數(shù)據(jù)庫(kù);計(jì)算服務(wù)器運(yùn)行3個(gè)Docker容器,分別部署數(shù)據(jù)中臺(tái)的數(shù)據(jù)采集相關(guān)服務(wù)、數(shù)據(jù)治理相關(guān)服務(wù)和數(shù)據(jù)應(yīng)用相關(guān)服務(wù);應(yīng)用服務(wù)器運(yùn)行5個(gè)Docker容器,分別部署一體化平臺(tái)發(fā)布服務(wù)、基礎(chǔ)平臺(tái)服務(wù)、單點(diǎn)登錄服務(wù)、應(yīng)用集成服務(wù)和數(shù)據(jù)接口服務(wù);管理服務(wù)器負(fù)責(zé)云數(shù)據(jù)庫(kù)和所有Docker容器的運(yùn)行、維護(hù)、升級(jí)、備份等。系統(tǒng)硬件主要功能匯總見(jiàn)表1所列,平臺(tái)拓?fù)浣Y(jié)構(gòu)如圖2所示。
表1 系統(tǒng)硬件主要功能
圖2 系統(tǒng)網(wǎng)絡(luò)拓?fù)鋱D
基于Docker的發(fā)電企業(yè)私有云的一體化信息管理平臺(tái)的系統(tǒng)架構(gòu)主要分為三層:基礎(chǔ)設(shè)施即服務(wù)(IaaS)層、集成平臺(tái)即服務(wù)(IPaaS)層和軟件即服務(wù)(SaaS)層,平臺(tái)邏輯架構(gòu)示意圖如圖3所示。
圖3 平臺(tái)邏輯架構(gòu)示意圖
IaaS層為一體化信息管理平臺(tái)提供了操作系統(tǒng)、內(nèi)存、CPU、存儲(chǔ)磁盤(pán)和網(wǎng)絡(luò)等基礎(chǔ)設(shè)施資源,并實(shí)現(xiàn)了資源的按需分配和彈性調(diào)度。
IPaaS層處于IaaS層與SaaS層之間,無(wú)需關(guān)注基礎(chǔ)設(shè)施層細(xì)節(jié),IPaaS層基于Docker容器為私有云一體化信息管理平臺(tái)SaaS層提供各種云環(huán)境開(kāi)發(fā)、部署和運(yùn)行平臺(tái)。
私有云云數(shù)據(jù)庫(kù)、Docker容器和gitlab CI/CD自動(dòng)化部署提供了私有云基礎(chǔ)服務(wù);業(yè)務(wù)流引擎、工作流服務(wù)、ETL服務(wù)、媒體流服務(wù)等構(gòu)成了基礎(chǔ)平臺(tái);由數(shù)據(jù)治理、數(shù)據(jù)服務(wù)和數(shù)據(jù)應(yīng)用構(gòu)成的數(shù)據(jù)中臺(tái)提供數(shù)據(jù)引擎服務(wù)。此外,以API接口為主的數(shù)據(jù)接口、以CAS服務(wù)為主的單點(diǎn)登錄平臺(tái)、以集成服務(wù)為主的應(yīng)用集成平臺(tái)為第三方接入和系統(tǒng)集成提供服務(wù)。
SaaS層即私有云云端應(yīng)用層,實(shí)現(xiàn)數(shù)據(jù)中心、單點(diǎn)登錄、系統(tǒng)管理等一體化信息管理平臺(tái)的應(yīng)用功能,以及與多個(gè)生產(chǎn)系統(tǒng)、信息管理系統(tǒng)的系統(tǒng)集成。
這種多層次部署方式能夠滿足電力行業(yè)的相關(guān)信息安全要求,也能適應(yīng)企業(yè)管理的網(wǎng)絡(luò)結(jié)構(gòu)要求。
基于Docker的發(fā)電企業(yè)私有云的一體化信息管理平臺(tái)的基礎(chǔ)平臺(tái)采用面向組件的設(shè)計(jì)思想,通過(guò)可視化的配置界面來(lái)為開(kāi)發(fā)者提供一個(gè)開(kāi)放、靈活、可重用的快速開(kāi)發(fā)平臺(tái)。
基礎(chǔ)平臺(tái)在技術(shù)架構(gòu)上是基于Java語(yǔ)言開(kāi)發(fā),集開(kāi)發(fā)、運(yùn)行、管理于一體的分布式軟件平臺(tái),提供了基礎(chǔ)的Web應(yīng)用框架,支持?jǐn)U展服務(wù),是發(fā)電企業(yè)生產(chǎn)系統(tǒng)與信息管理系統(tǒng)的基礎(chǔ)框架。
基于Docker的發(fā)電企業(yè)私有云的一體化信息管理平臺(tái)的數(shù)據(jù)中臺(tái)是以實(shí)時(shí)數(shù)據(jù)為基礎(chǔ),以機(jī)組、系統(tǒng)和設(shè)備為中心,根據(jù)實(shí)時(shí)生態(tài)數(shù)據(jù)的設(shè)計(jì)理念,綜合考慮企業(yè)的組織結(jié)構(gòu)和業(yè)務(wù)模式,為達(dá)到讓企業(yè)數(shù)據(jù)活用起來(lái)的目的而開(kāi)發(fā)的一個(gè)綜合性平臺(tái)。
數(shù)據(jù)中臺(tái)從功能上分為數(shù)據(jù)采集、數(shù)據(jù)治理和數(shù)據(jù)應(yīng)用3大功能,并細(xì)分為9個(gè)子功能。數(shù)據(jù)中臺(tái)功能結(jié)構(gòu)及企業(yè)數(shù)據(jù)流程如圖4所示。
圖4 數(shù)據(jù)中臺(tái)功能結(jié)構(gòu)及企業(yè)數(shù)據(jù)流程示意圖
數(shù)據(jù)采集與數(shù)據(jù)治理一起被稱為數(shù)據(jù)中臺(tái)的服務(wù)端,服務(wù)端是數(shù)據(jù)中臺(tái)的核心。數(shù)據(jù)采集負(fù)責(zé)從各生產(chǎn)系統(tǒng)和信息管理系統(tǒng)采集不同類型的企業(yè)數(shù)據(jù),并完成對(duì)企業(yè)數(shù)據(jù)的清洗和加工。經(jīng)過(guò)清洗和加工的企業(yè)數(shù)據(jù)依次經(jīng)過(guò)數(shù)據(jù)設(shè)計(jì)、數(shù)據(jù)整合、數(shù)據(jù)驗(yàn)證和數(shù)據(jù)分析流程,完成數(shù)據(jù)治理并存儲(chǔ)至云數(shù)據(jù)庫(kù)中。
數(shù)據(jù)應(yīng)用是數(shù)據(jù)中臺(tái)的應(yīng)用端,負(fù)責(zé)治理后產(chǎn)生的數(shù)據(jù)與用戶之間的分享和交互,通過(guò)數(shù)據(jù)服務(wù)應(yīng)用和數(shù)據(jù)價(jià)值應(yīng)用,力求將企業(yè)數(shù)據(jù)持續(xù)不斷地變成企業(yè)資產(chǎn),以服務(wù)于企業(yè)業(yè)務(wù),并最終通過(guò)數(shù)據(jù)中心的Web界面進(jìn)行展示,如圖5所示。
圖5 數(shù)據(jù)中心界面
數(shù)據(jù)中臺(tái)采用面向組件的開(kāi)發(fā)模式,并借鑒微服務(wù)模式,將數(shù)據(jù)中臺(tái)以子功能為單位創(chuàng)建各自獨(dú)立的原子組件及服務(wù),當(dāng)個(gè)別組件及服務(wù)異常時(shí)只會(huì)影響對(duì)應(yīng)的功能,而數(shù)據(jù)中臺(tái)整體功能不受影響。
為了消除企業(yè)內(nèi)部信息孤島,將分布在各部門(mén)各自獨(dú)立的生產(chǎn)系統(tǒng)和管理信息系統(tǒng)資源進(jìn)行綜合集成為一個(gè)整體,基于Docker的發(fā)電企業(yè)私有云的一體化信息管理平臺(tái)以系統(tǒng)與設(shè)備管理為基礎(chǔ),以設(shè)備編碼為主線,以統(tǒng)一規(guī)劃、分步實(shí)施的原則,通過(guò)網(wǎng)絡(luò)互連、數(shù)據(jù)共享、應(yīng)用集成和流程銜接,開(kāi)發(fā)了系統(tǒng)集成功能,并建立界面統(tǒng)一的風(fēng)格。
系統(tǒng)集成實(shí)現(xiàn)了對(duì)SAP系統(tǒng)、運(yùn)行管理系統(tǒng)、廠級(jí)信息監(jiān)控系統(tǒng)(SIS)、安防監(jiān)控系統(tǒng)、智能巡檢系統(tǒng)、班組日常管理系統(tǒng)的集成,并為其他生產(chǎn)管理系統(tǒng)的集成預(yù)留了擴(kuò)展接口。通過(guò)對(duì)各生產(chǎn)系統(tǒng)和信息管理系統(tǒng)的集成,最終可為開(kāi)展數(shù)據(jù)分析、技術(shù)監(jiān)督、生產(chǎn)決策奠定基礎(chǔ)。
基于Docker的發(fā)電企業(yè)私有云的一體化信息管理平臺(tái),通過(guò)CAS服務(wù)實(shí)現(xiàn)與各生產(chǎn)系統(tǒng)和信息管理系統(tǒng)的賬號(hào)權(quán)限集中管理和單點(diǎn)登錄,如圖6所示。從結(jié)構(gòu)體系上看,CAS包含CAS Server和CAS Client。CAS Server在平臺(tái)發(fā)布服務(wù)器上獨(dú)立部署,負(fù)責(zé)從云數(shù)據(jù)庫(kù)中檢索用戶信息,進(jìn)行用戶名、密碼和驗(yàn)證碼的認(rèn)證以及權(quán)限授權(quán);CAS Client負(fù)責(zé)處理各生產(chǎn)系統(tǒng)與信息管理系統(tǒng)受保護(hù)資源的訪問(wèn)請(qǐng)求,當(dāng)未登錄用戶請(qǐng)求登錄時(shí),重新指向到CAS Server進(jìn)行認(rèn)證登錄[13]。
圖6 單點(diǎn)登錄平臺(tái)流程示意圖
隨著虛擬化、自動(dòng)化容器、分布式計(jì)算等技術(shù)的發(fā)展成熟,發(fā)電企業(yè)開(kāi)始在云計(jì)算領(lǐng)域積極探索。本文從硬件平臺(tái)和軟件框架兩個(gè)方面入手,構(gòu)建了企業(yè)級(jí)私有云。在私有云上基于Docker容器技術(shù)開(kāi)發(fā)了一體化信息管理平臺(tái),實(shí)現(xiàn)了基礎(chǔ)平臺(tái)、數(shù)據(jù)中臺(tái)和數(shù)據(jù)中心、單點(diǎn)登錄平臺(tái)等功能,并對(duì)各類生產(chǎn)系統(tǒng)和信息管理系統(tǒng)進(jìn)行集成,期望通過(guò)建立覆蓋發(fā)電企業(yè)生產(chǎn)和經(jīng)營(yíng)的大型信息管理平臺(tái),打破各生產(chǎn)系統(tǒng)與信息管理系統(tǒng)在物理層面、業(yè)務(wù)層面和管理層面的信息孤島現(xiàn)狀,實(shí)現(xiàn)數(shù)據(jù)和信息的互通與共享,助力于企業(yè)的工業(yè)化和信息化的融合與發(fā)展。