


[摘? ? 要] 首先分析了核電EAM功能組成,在比較微服務架構(gòu)和單體架構(gòu)基礎(chǔ)上,闡述了核電EAM微服務應用的典型架構(gòu)和訪問過程。核電群堆管理理念與EAM云服務平臺特點在一定程度上具有相似性,將多租戶模式下的核電EAM云平臺與微服務架構(gòu)融合,提出了基于微服務架構(gòu)的核電EAM云平臺,重點描述了EAM云平臺持續(xù)交付中心,以期為核電企業(yè)EAM自主化提供參考和借鑒。
[關(guān)鍵詞] 微服務架構(gòu);核電;EAM;云平臺
doi : 10 . 3969 / j . issn . 1673 - 0194 . 2020. 05. 044
[中圖分類號] F270.7? ? [文獻標識碼]? A? ? ? [文章編號]? 1673 - 0194(2020)05- 0101- 04
0? ? ? 引? ? 言
核電是核工業(yè)產(chǎn)業(yè)鏈的重要組成部分,是一種清潔、高效、安全的能源,對確保能源安全、優(yōu)化能源結(jié)構(gòu)、提高能源質(zhì)量、實現(xiàn)人類可持續(xù)發(fā)展有著不可替代的作用。根據(jù)中國核能行業(yè)協(xié)會數(shù)據(jù)顯示,2018年以來我在建核電項目密集投產(chǎn),截至2018年12月31日,我國共有 44 臺商業(yè)運行核電機組、12 臺在建核電機組、19 座民用研究堆(臨界裝置)。通常EAM(企業(yè)資產(chǎn)管理系統(tǒng))是面向資產(chǎn)密集型企業(yè)的信息化解決方案總稱,是以企業(yè)資產(chǎn)管理為核心的商品化應用軟件。國內(nèi)較多核電運行機組采用了SAP、Maximo、Ventyx等套裝軟件,通過產(chǎn)品配置和二次開發(fā)完成EAM系統(tǒng)實施,定制開發(fā)和運維成本相對較高。
隨著“云、大、物、移、智”新一代信息技術(shù)蓬勃發(fā)展,國家出臺了推動企業(yè)上云等一系列文件[1],全球權(quán)威的咨詢與服務機構(gòu)IDC發(fā)布了2019年云端資產(chǎn)密集型EAM應用供應商評估報告,EAM上云已經(jīng)成為企業(yè)節(jié)約應用系統(tǒng)成本,促進企業(yè)資產(chǎn)管理提升和業(yè)務流程整體協(xié)同的重要工具。另一方面,當前國際貿(mào)易摩擦仍在繼續(xù),網(wǎng)絡(luò)安全形勢依然嚴峻,研究自主可控云EAM對核電企業(yè)安全生產(chǎn)管理具有重要意義。通過自主研發(fā),融入我國核電300多堆年的良好運行管理理念和實踐經(jīng)驗,打造完全自主的核電企業(yè)EAM云服務平臺,已經(jīng)被核電集團企業(yè)逐漸提上日程。
1? ? ? 核電EAM微服務應用架構(gòu)
1.1? ?核電EAM功能組成
核電EAM是以運行核電機組資產(chǎn)、設(shè)備臺賬為基礎(chǔ),以工單的創(chuàng)建、審批、執(zhí)行為主線,以提高運行核電機組資產(chǎn)利用率和降低資產(chǎn)運營維護成本為根本目標,覆蓋工作管理、運行管理、輻射防護、行動跟蹤、文檔管理、設(shè)備及變更等眾多核電業(yè)務領(lǐng)域。核電EAM經(jīng)過多年的建設(shè),已經(jīng)從支持單電廠的生產(chǎn)管理過渡到適應多電廠多機組統(tǒng)一管理、群堆管理業(yè)務模式,EAM系統(tǒng)主要功能如圖1所示。
1.2? ?微服務架構(gòu)與單體架構(gòu)
單體應用非常復雜,導致維護、升級和擴展新功能都非常困難;如果要更新它的某個部分,需要重新部署整個應用;相同業(yè)務需求因業(yè)務管理條塊分割、管理邊界重疊交叉、管理方式各異等原因?qū)е孪到y(tǒng)功能重復建設(shè)等。微服務架構(gòu)的出現(xiàn)為這些問題找到了解決途徑,分而治之、模塊化開發(fā)的思想能夠有效支撐核電EAM云服務平臺的建設(shè)。基于獨立業(yè)務單元的拆分形成松耦合、高內(nèi)聚的自治服務單元,借助輕量級的容器及通信機制,建立起可獨立運行的服務實例及服務間耦合關(guān)系,通過橫向彈性擴容及縮容和負載均衡技術(shù),確保強負載下的高可用,借助完善的治理體系和權(quán)限認證,實現(xiàn)監(jiān)控及安全控制,從而建立起符合開發(fā)運維一體化(DevOps)可快速迭代開發(fā)部署的軟件架構(gòu)體系。
相對于過去的單體架構(gòu),微服務業(yè)務開發(fā)首先面臨的問題是業(yè)務功能拆分。除了組織架構(gòu)和技術(shù)取舍,領(lǐng)域知識是另一個非常重要的決策因素。對于不熟悉的業(yè)務領(lǐng)域,很難第一次就把各個微服務的邊界和接口定義正確,一旦開始開發(fā),重構(gòu)成本就會非常可觀。反過來說,當對領(lǐng)域知識有了一定的積累,再重構(gòu)一個單體應用就會容易得多。
除此之外,微服務架構(gòu)需要考慮的問題,包括API Gateway、服務間調(diào)用、服務發(fā)現(xiàn)、服務容錯、服務部署、數(shù)據(jù)調(diào)用。一個傳統(tǒng)的單體應用可以通過ACID(原子性Atomicity,一致性Consistency,隔離性Isolation,持久性Durability)事務來強制業(yè)務規(guī)則從而實現(xiàn)一致性。在微服務架構(gòu)中我們無法通過這種方式管理數(shù)據(jù)的一致性,一種比較常見的做法就是使用分布式事務來實現(xiàn)數(shù)據(jù)的一致性。
1.3? ?核電EAM微服務應用架構(gòu)
借鑒企業(yè)級微服務參考架構(gòu)[2],將EAM單體應用拆分成多個體量小的微服務/微應用,每個微應用根據(jù)需要實現(xiàn)負載均衡部署。微服務架構(gòu)對工作管理子系統(tǒng)和輻射防護子系統(tǒng)中可能會交叉使用的數(shù)據(jù)進行統(tǒng)一管理和維護,如工作申請模塊、工單準備模塊、RWP許可模塊等,當某一子系統(tǒng)需要調(diào)用該部分數(shù)據(jù)時,可以直接通過微服務網(wǎng)關(guān)去訪問對應數(shù)據(jù),免去了多余的請求和響應過程,大大提高了響應速度,同時微服務架構(gòu)內(nèi)部自成體系,實現(xiàn)軟路由和負載均衡。
基于微服務架構(gòu)的EAM應用架構(gòu)示例如圖2所示,來自外部的請求可能是移動端、PC端等多樣化、普適的應用終端及其他云服務;網(wǎng)關(guān)是外界系統(tǒng)和EAM云服務平臺的一道門,所有的客戶端請求通過網(wǎng)關(guān)訪問EAM后臺服務,如高并發(fā)訪問,服務網(wǎng)關(guān)等可以集群形式部署。經(jīng)過服務網(wǎng)關(guān)之后的請求到達微服務應用,微服務也可以劃分為前端服務(也叫邊緣服務)和后端服務(也叫中間服務),前后端分離架構(gòu)是現(xiàn)在軟件開發(fā)的熱門技術(shù)之一。前端服務是對后端服務做必要的聚合和剪裁后對外提供服務,所有的服務啟動時都會到注冊中心進行注冊,服務之間會有錯綜復雜的依賴關(guān)系。微服務有很多依賴配置,某些配置參數(shù)在服務運行期間可能還要動態(tài)修改,需要搭建一個動態(tài)配置中心服務支持微服務動態(tài)配置。單體應用使用同一數(shù)據(jù)庫數(shù)據(jù)耦合度高,分庫分表時對代碼改造復雜度提高,微應用可采用獨立數(shù)據(jù)庫,適應不同業(yè)務特性。
在前端界面層,選取工作管理子系統(tǒng)和輻射防護子系統(tǒng)為例,在微服務層(業(yè)務中臺層)工作申請(WR)轉(zhuǎn)成工單(WO)后,即WR微應用和WO準備微應用之間發(fā)生了請求/響應關(guān)系,同樣在WO準備過程中可能需要交叉引用輻射防護許可證(RWP)信息。在數(shù)據(jù)層,每個微應用可對應一個獨立數(shù)據(jù)庫,例如WR信息數(shù)據(jù)庫、WO信息數(shù)據(jù)庫、RWP信息數(shù)據(jù)庫等。
2? ? ? 核電EAM云平臺架構(gòu)
2.1? ?核電EAM云平臺總體架構(gòu)
核電EAM云服務平臺定位于提供核電集團企業(yè)級的生產(chǎn)管理系統(tǒng)服務,同一核電集團下各個核電廠用戶,甚至多個核電集團能共享同一云平臺。隨著運行機組的增加及業(yè)務需求的不斷標準化,核電群堆管理理念與EAM云服務平臺特點在一定程度上具有相似性,核電群堆管理需要有一個天然的云化的架構(gòu)。通過同一平臺訪問應用實現(xiàn)實時的核電廠生產(chǎn)運行管理,同時云平臺能提供應用的快速部署服務、統(tǒng)一管理服務、資源共享服務等。按照云計算服務模式將核電EAM云平臺劃分為基礎(chǔ)設(shè)施即服務(IaaS)、平臺即服務(PaaS)和軟件即服務(SaaS)的三層服務體系[3],如圖3所示。
(1)SaaS層
基于云平臺的核電EAM需管理的業(yè)務模塊眾多,對于核電廠內(nèi)部的工作管理、運行管理、輻射防護管理等不公開模塊置于私有云上,以提高企業(yè)內(nèi)部的數(shù)據(jù)安全管理效率。在EAM公有云上,需要部署接口服務以及核電運行在線服務等,接口服務包括了移動端服務、核電企業(yè)上下游接口服務等,可以放在公有云上發(fā)布核應急、經(jīng)驗反饋、公眾溝通信息服務等。故需采用公有云與私有云相結(jié)合的方式部署核電EAM系統(tǒng),為核電廠提供EAM SaaS服務。
(2)PaaS層
傳統(tǒng)的PaaS層服務包括數(shù)據(jù)庫服務、中間件服務、存儲服務等,以及為應用系統(tǒng)提供角色權(quán)限、工作流、消息等通用服務。PaaS層應實現(xiàn)多租戶模式為不同核電廠提供平臺服務,EAM多租戶是指將系統(tǒng)同時租給多個核電廠使用,各核電廠共同使用同一硬件基礎(chǔ)設(shè)施和軟件平臺,各核電廠之間既可共享數(shù)據(jù),又要保證各電廠信息不重疊,這就要求數(shù)據(jù)既有隔離功能又有共享功能。運行在同一個實例上的多租戶不可避免地要共享資源,這就要求租戶間的資源訪問隔離,其數(shù)據(jù)隔離設(shè)計至關(guān)重要[3]。以工單預防性維修為例,預防性維修是EAM的基石,工單預防性維修配置各家電廠并不相同,必須做到各電廠配置數(shù)據(jù)隔離。
(3)IaaS層
在IaaS層,利用虛擬化技術(shù)將計算、存儲、網(wǎng)絡(luò)等資源有機結(jié)合,使整體IT環(huán)境比單獨的物理硬件資源具有更高的適用性、可用性和效率,除了滿足EAM業(yè)務向云計算環(huán)境遷移、對外提供EAM基礎(chǔ)環(huán)境服務以外,還可以滿足企業(yè)構(gòu)建企業(yè)云數(shù)據(jù)中心提供核心的虛擬化技術(shù)和能力,滿足企業(yè)對于降低成本、簡化管理、提高安全、敏捷支持等訴求。
2.2? ?基于微服務架構(gòu)的核電EAM云平臺
將微服務架構(gòu)與云計算平臺融合,構(gòu)建基于微服務架構(gòu)的EAM云平臺如圖4所示,包括了所有微服務應用、平臺服務、基礎(chǔ)設(shè)施服務。將PaaS平臺提供的服務分為三類,即EAM應用管理服務、平臺通用服務以及容器服務。EAM應用管理服務主要指微服務注冊與發(fā)現(xiàn)、調(diào)用管理、負載均衡等微服務管理,不僅僅提供應用模塊的健康監(jiān)控和管理,也提供對應用的構(gòu)建日志、部署日志、運行日志等采集、查詢、分析功能,以便做好后續(xù)微服務模塊的應用性能分析,應用監(jiān)控和故障處理。將權(quán)限、流程等服務歸納到平臺通用服務類別。
容器服務與微服務應用有天生的融合性,基于微服務框架完成微應用的開發(fā)、測試、構(gòu)建之后,提供應用給PaaS平臺的容器,微應用在開發(fā)過程中的調(diào)試工作以及系統(tǒng)上線后的部署、運維工作由持續(xù)交付中心承擔。持續(xù)交付中心實現(xiàn)了開發(fā)運維一體化(即DevOps),DevOps也是微服務和Docker的最佳拍檔,沒有持續(xù)化的開發(fā)和部署,就無法充分利用微服務的自完善、自升級的特性,而這正是采用微服務解決多變業(yè)務需求的出發(fā)點之一。利用DevOps的灰度部署方式,實現(xiàn)在不停機情況下,借助流量引導、環(huán)境切換及局部部署、逐步更新實現(xiàn)整體升級。系統(tǒng)開發(fā)團隊利用微服務的自治性,分拆成微服務小組進行持續(xù)開發(fā)部署,達到功能敏捷適應業(yè)務變化、快速迭代升級的目標。
EAM云服務平臺通過集成基礎(chǔ)設(shè)施服務、平臺服務以及軟件服務,統(tǒng)一對各電廠提供業(yè)務應用服務,EAM云架構(gòu)的價值主要體現(xiàn)在:實現(xiàn)EAM資源統(tǒng)一對外服務,提升EAM資源的集約化管理和按需供應能力;實現(xiàn)應用由手工部署到自動部署的轉(zhuǎn)變,縮短EAM系統(tǒng)上線周期;實現(xiàn)EAM應用故障快速恢復和資源自動在線伸縮,保障微應用運行質(zhì)量;實現(xiàn)SaaS應用和其他API支撐能力,滿足業(yè)務組合的創(chuàng)新應用[4]。
3? ? ? 總? ? 結(jié)
本文提出的EAM云服務平臺本質(zhì)上是面向核電行業(yè)的SaaS應用,在于為核電EAM國產(chǎn)化提供了一種可參考和借鑒的思路。進一步以EAM SaaS應用為引領(lǐng),基于“云大物移智安”等新技術(shù)構(gòu)建核電PaaS平臺,包括云開發(fā)平臺、云部署平臺、云集成平臺、云運維平臺等。在自主可控方面,融合安全保密標準規(guī)范,支持與國產(chǎn)基礎(chǔ)軟件的適配,支持內(nèi)存計算、人工智能和大數(shù)據(jù)等。作為云端部署的EAM系統(tǒng),可以向核設(shè)施以及其他資產(chǎn)密集型行業(yè)提供服務,同樣EAM可以成為工業(yè)互聯(lián)網(wǎng)平臺的一部分,借助工業(yè)互聯(lián)網(wǎng)平臺發(fā)展機遇在行業(yè)內(nèi)推廣應用。
主要參考文獻
[1]工業(yè)和信息化部.推動企業(yè)上云實施指南(2018-2020年)[EB/OL].[2018-08-10]http://www.miit.gov.cn/n1146295/n1652858/n1652930
/n3757022/c6309203/content.html.2018-07-23.
[2]王繼業(yè).企業(yè)級軟件生產(chǎn)線2.0——國家電網(wǎng)云研發(fā)平臺及應用[M].北京:電子工業(yè)出版社,2018
[3]李翠平,張佳,鐘媛.基于云計算和工作流的煤礦設(shè)備管理EAM系統(tǒng)[J].工程科學學報,2015,37(4):528-534.
[4]楊俊偉,紀鑫,胡強新.基于微服務架構(gòu)的電力云服務平臺[J].電力信息與通信技術(shù),2017,15(1):8-12.
[5]張亮.核反應堆數(shù)字化設(shè)計全面集成模型研究[J].計算機應用與軟件,2019,36(8):111-114.
[6]李春陽,劉迪,崔蔚,等.基于微服務架構(gòu)的統(tǒng)一應用開發(fā)平臺[J].計算機系統(tǒng)應用,2017,26(4):43-48.
[7]張亮,高明.信息化環(huán)境下數(shù)字化核電廠三維結(jié)構(gòu)模型及其解決方案[J].電器工業(yè),2017(2):66-69.