王 濤,單正濤,杜金剛,杜 軍,孫靖初,嚴鵬飛,李 強
智能電廠生產(chǎn)管理開發(fā)平臺研發(fā)
王 濤1,單正濤1,杜金剛1,杜 軍1,孫靖初2,嚴鵬飛3,李 強3
(1.西安西熱電站信息技術(shù)有限公司,陜西 西安 710054;2.華能國際電力股份有限公司,北京 100031;3.華能國際電力股份有限公司沁北電廠,河南 濟源 454662)
本文研發(fā)了一種基于可重用組件的可視化流程的發(fā)電企業(yè)生產(chǎn)管理平臺,該平臺集開發(fā)、運行、管理于一體,整個平臺包含獨立運行的服務(wù)端和開發(fā)客戶端,可滿足云計算PAAS平臺業(yè)務(wù)解決方案的相關(guān)要求,可通過簡單拖拉拽的方式進行業(yè)務(wù)流程在線設(shè)計,具有一定計算機基礎(chǔ)的用戶可利用該平臺提供的可視化操作完成對相關(guān)業(yè)務(wù)流程的開發(fā)與變更,軟件的業(yè)務(wù)流程會自動發(fā)布以及更新,解決了以往軟件功能變更過度依賴程序員開發(fā)的問題。該平臺的應(yīng)用提高了軟件的開發(fā)效率,降低了企業(yè)的開發(fā)和維護成本。該平臺已在多家電廠實際應(yīng)用,為電廠的智能管理提供了一個更高效的智能化管理、開發(fā)和應(yīng)用平臺。
智能電廠;生產(chǎn)管理;開發(fā)平臺;可重用組件;可視化流程;表達式引擎
智能電廠[1]的本質(zhì)是信息化與智能化技術(shù)在發(fā)電領(lǐng)域的高度發(fā)展與深度融合,體現(xiàn)在大數(shù)據(jù)[2]、物聯(lián)網(wǎng)、可視化、先進測量與智能控制等技術(shù)的系統(tǒng)化應(yīng)用,主要特征是泛在感知、自適應(yīng)、智能融合與互動化。目前,各發(fā)電企業(yè)在推進智能電廠建設(shè)的同時,對企業(yè)的生產(chǎn)管理系統(tǒng)進行了升級優(yōu)化,以保障企業(yè)生產(chǎn)管理的數(shù)據(jù)、流程以及服務(wù)等滿足智能電廠建設(shè)的要求,實現(xiàn)電廠生產(chǎn)過程全面有效管理。
電廠生產(chǎn)管理系統(tǒng)的大部分功能模塊在功能實現(xiàn)上存在很多相似的地方,如數(shù)據(jù)庫的增刪改查、事務(wù)管理、報表生成、接口調(diào)用、工作流管理等。傳統(tǒng)的軟件開發(fā)模式通常采用代碼重構(gòu)將通用的功能封裝成工具類或通用方法,但是每次用戶需求改變所帶來的軟件系統(tǒng)的變更,都需要通過修改代碼、編譯、發(fā)布才能實現(xiàn),因此增加了企業(yè)的后期運維成本。
智能電廠生產(chǎn)管理開發(fā)平臺基于可重用組件的可視化[3-5]業(yè)務(wù)流程設(shè)計器,實現(xiàn)了軟件業(yè)務(wù)流程的在線變更,使軟件系統(tǒng)的功能調(diào)整無需再經(jīng)歷代碼編寫、編譯、發(fā)布等過程,可有效解決電廠“智能管理層”建設(shè)過程中所面臨的平臺問題[6-8]。
隨著大數(shù)據(jù)及云技術(shù)的不斷成熟,基于云計算平臺[9-10]的應(yīng)用開發(fā)及部署是未來的大趨勢,其中PAAS(platform-as-a-service,平臺即服務(wù))作為云應(yīng)用軟件運行的“操作系統(tǒng)”,向下根據(jù)業(yè)務(wù)能力動態(tài)分配各種資源,向上對各種業(yè)務(wù)能力進行整合,如業(yè)務(wù)能力接入、業(yè)務(wù)具體實現(xiàn)、業(yè)務(wù)流程引擎以及業(yè)務(wù)開發(fā)平臺[11]等。智能電廠生產(chǎn)管理開發(fā)平臺是基于可重用組件[12-13]的可視化流程的技術(shù)平臺,通過智能電廠生產(chǎn)管理開發(fā)平臺的應(yīng)用可滿足PAAS平臺中業(yè)務(wù)解決方案的相關(guān)要求。該平臺基于組件的可視化流程進行開發(fā),通過簡單拖拉拽的方式進行業(yè)務(wù)流程在線設(shè)計,通過不同組件的組合來實現(xiàn)業(yè)務(wù)的自定義,通過元數(shù)據(jù)[14]對業(yè)務(wù)組件定義的輸入及輸出進行配置,整個過程簡單、靈活、高效且無需編寫代碼,且保存后立即生效,無需編譯及重新部署。
基于組件的可視化流程開發(fā)平臺,旨在提供一個集開發(fā)、運行、管理于一體的分布式解決方案。整個平臺分為兩部分,包含獨立運行的服務(wù)端和開發(fā)客戶端,其中服務(wù)端作為業(yè)務(wù)處理的引擎,可以部署于云平臺中,也可以單獨部署于物理機上,具體詳見平臺功能架構(gòu)(圖1)。服務(wù)端包含業(yè)務(wù)流程引擎、表達式引擎、組件管理、網(wǎng)絡(luò)協(xié)議適配器、動態(tài)數(shù)據(jù)模型管理、模板引擎、ELK日志服務(wù)、權(quán)限管理、ETL相關(guān)服務(wù)及工具等,為整個應(yīng)用系統(tǒng)的運行提供后臺的架構(gòu)支撐。客戶端面向開發(fā)人員及后期管理人員,是對服務(wù)端進行數(shù)據(jù)修改的可視化操作界面,包含了業(yè)務(wù)流設(shè)計、表單設(shè)計、數(shù)據(jù)模型管理、工作流設(shè)計以及報表開發(fā)等。
圖1 智能電廠生產(chǎn)管理開發(fā)平臺功能架構(gòu)
1)采用面向組件的可視化開發(fā)模式;
2)通過基于XML的流程文件進行描述,無需編碼,解決了業(yè)務(wù)與代碼之間的耦合;
3)組件通過注解進行聲明,支持方便的可插拔,開箱即用,組件間無代碼耦合性;
4)在不修改代碼的情況下將現(xiàn)有代碼發(fā)布為組件,便于其他應(yīng)用調(diào)用;
5)業(yè)務(wù)組件支持分布式運行,支持云計算平臺;
6)業(yè)務(wù)流程支持多協(xié)議調(diào)用且方便擴展;
7)動態(tài)數(shù)據(jù)模型的管理、數(shù)據(jù)模型與數(shù)據(jù)表同步可相互生成,支持常用的關(guān)系型數(shù)據(jù)庫、內(nèi)存數(shù)據(jù)庫以及NoSQL數(shù)據(jù)庫;
8)平臺中內(nèi)置豐富的通用組件,涉及數(shù)據(jù)庫操作、文件、大數(shù)據(jù)處理、網(wǎng)絡(luò)接口調(diào)用、報表、計算等;
9)包含基于ELK的日志處理;
10)靈活的權(quán)限控制,可通過表達式配置實現(xiàn)數(shù)據(jù)表中對每個字段及每行或多個條件的精準權(quán)限控制。
整個智能電廠生產(chǎn)管理開發(fā)平臺主要由組件管理、業(yè)務(wù)流程引擎、表達式引擎、業(yè)務(wù)流程設(shè)計器等核心引擎構(gòu)成。為了實現(xiàn)代碼的可重用性,平臺將實現(xiàn)特定功能的代碼封裝成組件,組件可通過豐富的元數(shù)據(jù)對其依賴的輸入、輸出以及其他關(guān)聯(lián)數(shù)據(jù)進行描述,流程設(shè)計器可根據(jù)元數(shù)據(jù)生成通用的配置界面,對于關(guān)系復雜的元數(shù)據(jù)也可自定義其元數(shù)據(jù)配置界面。
與傳統(tǒng)的通過API調(diào)用模式相比,為解決組件與組件之間以及組件與系統(tǒng)之間的代碼耦合,平臺采用基于XML的流程語言來動態(tài)定義業(yè)務(wù)模型。業(yè)務(wù)流程將一系列組件按照一定的順序進行組合來定義一個具體的業(yè)務(wù)模型,流程節(jié)點對應(yīng)相關(guān)的組件,節(jié)點連線用來表示數(shù)據(jù)流向及組件的執(zhí)行順序,組件依賴的輸入輸出通過其元數(shù)據(jù)進行配置,業(yè)務(wù)流程通過可視化的流程設(shè)計器來生成。
平臺組件包含邏輯組件和業(yè)務(wù)組件2類。其中邏輯組件主要用來對流程的數(shù)據(jù)流向及執(zhí)行順序進行控制,包括條件判斷、循環(huán)、分支、并行處理等;業(yè)務(wù)組件主要用來處理具體的業(yè)務(wù)邏輯,如數(shù)據(jù)庫操作、文件處理、網(wǎng)絡(luò)接口調(diào)用、報表生成等。每個組件都有生命周期(Application、Process、Request等),在使用時可根據(jù)實際需求進行設(shè)置,由平臺統(tǒng)一管理。業(yè)務(wù)組件通過注解的方式進行聲明,平臺啟動時通過掃描注解自動發(fā)現(xiàn)并管理組件。
平臺包含常用的通用組件和滿足電力行業(yè)的需求業(yè)務(wù)組件,典型的組件有:
數(shù)據(jù)庫查詢組件 提供動態(tài)的單表或多表關(guān)聯(lián)查詢,多表關(guān)聯(lián)可以為同一個數(shù)據(jù)庫,也可以跨越多個數(shù)據(jù)庫,支持各種查詢條件、動態(tài)條件、分頁及權(quán)限控制等。
數(shù)據(jù)庫更新組件 提供單表或多表的insert、update、delete、saveOrUpdate等操作,支持同一個數(shù)據(jù)庫或跨數(shù)據(jù)庫的多表關(guān)聯(lián)操作和權(quán)限控制等。
SQL組件 對于復雜的業(yè)務(wù)數(shù)據(jù)操作提供原生SQL執(zhí)行功能,支持存儲過程、函數(shù)、數(shù)據(jù)庫類型的自適應(yīng)、查詢語句中動態(tài)參數(shù)及權(quán)限控制等。
數(shù)據(jù)響應(yīng)組件 支持URL跳轉(zhuǎn),基于RESTful的文本響應(yīng)(如XML、JSON格式)以及二進制響應(yīng),其中文本數(shù)據(jù)格式可通過模板自定義。
文件操作相關(guān)組件 涉及文件的讀取、解析、文件寫入以及文件類型轉(zhuǎn)換等。
報表組件 可將數(shù)據(jù)生成常用格式的數(shù)據(jù)文件并進行持久化或響應(yīng)給客戶端,包含Excel組件、Word組件、PDF組件等格式文件。
數(shù)據(jù)處理相關(guān)組件 涉及內(nèi)存中對數(shù)據(jù)的轉(zhuǎn)換、解析、驗證,表的關(guān)聯(lián)、過濾、聚合等操作。
工作流組件 涉及工作流的設(shè)計、查詢、工作流實例啟動、工作流實例狀態(tài)、工作流任務(wù)、工作流事件觸發(fā)等相關(guān)的組件。
常用業(yè)務(wù)組件 SIS實時數(shù)據(jù)、小指標及績效考核得分公式、輪值管理等相關(guān)組件。
網(wǎng)絡(luò)接口調(diào)用組件 主要包含RMI組件、Dubbo組件、Mule組件、Web Service組件、RESTful組件、異步消息組件、組播/廣播組件、JMS消息組件、郵件發(fā)送組件等。
其他組件 主要包括用戶、角色、權(quán)限、事務(wù)處理、Class動態(tài)實例化及調(diào)用組件、動態(tài)代理組件、子流程調(diào)用組件、條件判斷組件、循環(huán)組件、分支組件、并行組件等。
業(yè)務(wù)流程引擎是平臺的核心,當網(wǎng)絡(luò)適配器接收到對業(yè)務(wù)流程的調(diào)用后,在經(jīng)過權(quán)限驗證、數(shù)據(jù)轉(zhuǎn)換等前置操作后,便執(zhí)行業(yè)務(wù)流引擎(圖2),流程的執(zhí)行主要包含幾個步驟:
1)在平臺啟動或流程保存時由業(yè)務(wù)流引擎負責對該流程進行初始化,包括流程文件的解析、流程實例化、流程中組件解析;
2)業(yè)務(wù)流引擎根據(jù)業(yè)務(wù)流編碼或映射的路徑查找業(yè)務(wù)流實例,進行元數(shù)據(jù)相關(guān)的初始化、事務(wù)初始化、異常處理初始化、日志收集、事件隊列初始化等;
3)業(yè)務(wù)組件初始化,首先根據(jù)組件定義的生命周期進行實例化,對配置的元數(shù)據(jù)進行表達式的計算并將結(jié)果進行數(shù)據(jù)轉(zhuǎn)換后動態(tài)注入到組件實例中,根據(jù)配置的事務(wù)傳播機制進行事務(wù)初始化等;
4)業(yè)務(wù)組件調(diào)用,動態(tài)調(diào)用組件指定的方法,對運行中出現(xiàn)的異常根據(jù)選定的異常處理機制進行異常處理、對執(zhí)行中觸發(fā)的事件進行捕獲及事件傳播等、對執(zhí)行中產(chǎn)生的輸入及輸出數(shù)據(jù)進行管理等;
5)組件正常執(zhí)行后根據(jù)事務(wù)配置決定是否進行事務(wù)提交、對產(chǎn)生的數(shù)據(jù)綁定至數(shù)據(jù)管道中;
6)執(zhí)行下一個組件直到結(jié)束;
7)執(zhí)行資源釋放等工作。
圖2 業(yè)務(wù)流程執(zhí)行原理
為了能夠通過文本方式對組件的元數(shù)據(jù)及其他動態(tài)參數(shù)中涉及到的動態(tài)數(shù)據(jù)進行配置(圖3),平臺引入了表達式引擎。通過表達式可對常用數(shù)據(jù)源(如內(nèi)存變量、文件、網(wǎng)絡(luò)、數(shù)據(jù)庫等)的動態(tài)數(shù)據(jù)進行描述,同時也可對數(shù)據(jù)進行格式化、轉(zhuǎn)換及計算等。表達式格式為name.method(param),其中name可以通過別名映射到一個類,method通過別名映射到該類中的一個方法,表達式通過注解進行聲明,由平臺啟動時自動掃描。由圖3可見,request.param(werks)表示請求對象中參數(shù)名為werks的值,同時表達式也可進行嵌套。
圖3 組件的元數(shù)據(jù)配置界面
開發(fā)平臺中主要包含以下類型的數(shù)據(jù)表達式:
數(shù)據(jù)來源 包括從系統(tǒng)中(當前時間、系統(tǒng)信息、環(huán)境變量等)、請求參數(shù)中(各種網(wǎng)絡(luò)調(diào)用參數(shù))、Session中、內(nèi)存變量中(組件產(chǎn)生的輸入輸出數(shù)據(jù))以及文件或者數(shù)據(jù)庫中根據(jù)變量名稱來獲取數(shù)據(jù);
數(shù)據(jù)類型轉(zhuǎn)換 主要包括各種類型數(shù)據(jù)之間的相互轉(zhuǎn)換;
數(shù)據(jù)格式化 將各種類型的數(shù)據(jù)按照指定的格式生成文本;
公式計算 通過公式引擎進行自定義公式的計算;
數(shù)據(jù)的生成 包括基于UUID、Hilo以及其他的數(shù)據(jù)生成規(guī)則。
業(yè)務(wù)流設(shè)計器主要進行業(yè)務(wù)流程的可視化定義,該設(shè)計器以圖形化的方式分類展示所有的業(yè)務(wù)組件及邏輯組件(圖4)。通過對組件的拖拽,可將其加入到業(yè)務(wù)流程中,通過配置組件的元數(shù)據(jù)來實現(xiàn)相應(yīng)的功能,通過組件之間的連線來表達數(shù)據(jù)流向,最終業(yè)務(wù)設(shè)計流程保存為標準的XML流程文件。通過流程設(shè)計器可以設(shè)置允許流程訪問的通信協(xié)議、自動觸發(fā)方式以及權(quán)限等。流程保存后立即生效,不需要服務(wù)重新部署及重啟。
圖4 可視化業(yè)務(wù)流程設(shè)計界面
基于可重用組件可視化流程生產(chǎn)管理開發(fā)平臺,實現(xiàn)了軟件開發(fā)模式由程序員開發(fā)向終端用戶轉(zhuǎn)移,通過多系統(tǒng)對同類型業(yè)務(wù)組件的重用,減少了軟件開發(fā)的成本,降低了軟件開發(fā)的復雜度。將不同的業(yè)務(wù)在同一個平臺上進行搭建,實現(xiàn)了業(yè)務(wù)的集中管理及系統(tǒng)的統(tǒng)一優(yōu)化,規(guī)范了企業(yè)信息化建設(shè),為企業(yè)大數(shù)據(jù)和云平臺的建設(shè)提供有效可靠的生產(chǎn)管理平臺支持,為電力行業(yè)“智能管理層”系統(tǒng)的應(yīng)用奠定了基礎(chǔ)。
目前智能電廠生產(chǎn)管理開發(fā)平臺已在華能國際電力股份有限公司的運行管理、燃料管理、承包商安全管理等業(yè)務(wù)領(lǐng)域進行了部署和應(yīng)用,其中覆蓋的單位數(shù)量約70余家。基于該平臺的生產(chǎn)管理移動應(yīng)用技術(shù)也在部分火電、風電等發(fā)電企業(yè)進行了實際應(yīng)用。
[1] 邵鳳文. 淺議智慧電廠建設(shè)[J]. 山東工業(yè)技術(shù), 2017(20): 198-199.
SHAO Fengwen. On the construction of smart power plant [J]. Shandong Industrial Technology, 2017(20): 198-199.
[2] 劉洋. 智能電廠實施過程中的大數(shù)據(jù)應(yīng)用探析[J]. 科技風, 2019(14): 191-200.
LIU Yang. Exploration and analysis of big data application in the implementation of intelligent power plant[J]. Technology Wind, 2019(14): 191-200.
[3] 丁明, 孫文智, 陳宗利.可視化業(yè)務(wù)流程監(jiān)控設(shè)計與實現(xiàn)[J]. 信息通信, 2018(2): 93-94.
DING Ming, SUN Wenzhi, CHEN Zongli. Design and implementation of visual business process monitoring[J]. Information & Communication, 2018(2): 93-94.
[4] 高寧, 劉洋. 基于B/S架構(gòu)的可視化流程管理平臺的設(shè)計與實現(xiàn)[J]. 計算機應(yīng)用, 2015, 35(增刊2): 178- 180.
GAO Ning, LIU Yang. Design and implementation of visual process management platform based on B/S arc- hitecture[J]. Computer Applications, 2015, 35(Suppl.2): 178-180.
[5] 藍科, 全錦琪, 劉洪宇, 等. 一種可配置的可視化流程的設(shè)計[J]. 信息通信, 2015(7): 64-65.
LAN Ke, QUAN Jinqi, LIU Hongyu, et al. A configurable visual process design[J]. Information Communication, 2015(7): 64-65.
[6] 薛晗光, 劉聰睿, 趙軒, 等. 智能電站工作票移動辦理的設(shè)計與實現(xiàn)[J]. 熱力發(fā)電, 2017, 46(12): 40-43.
XUE Hanguang, LIU Congrui, ZHAO Xuan, et al. Design and implementation of work order mobile management: practice of intelligent power plant[J]. Thermal Power Generation, 2017, 46(12): 40-43.
[7] 趙軒, 薛晗光, 倪向宇, 等. 風電場兩票業(yè)務(wù)信息系統(tǒng)開發(fā)[J/OL]. 熱力發(fā)電(2019-05-30)[2019-06-05]. https://doi.org/10.19666/j.rlfd.201904052.
ZHAO Xuan, XUE Hanguang, NI Xiangyu, et al. Development of work order and operation order business information system for wind farm[J/OL]. Thermal power generation(2019-05-30)[2019-06-05]. https://doi.org/10. 19666/ j.rlfd.201904052.
[8] 林東岱, 田有亮, 田呈亮. 移動安全技術(shù)研究綜述[J]. 保密科學技術(shù), 2014(3): 4-25.
LIN Dongdai, TIAN Youliang, TIAN Chengliang. Survey on mobility security technology[J]. Secrecy Science and Technology, 2014(3): 4-25.
[9] 武志學. 云計算虛擬化技術(shù)的發(fā)展與趨勢[J]. 計算機應(yīng)用, 2017, 37(4): 915-923.
WU Zhixue. Advances on virtualization technology of cloud computing[J]. Journal of Computer Applications, 2017, 37(4): 915-923.
[10] 段玉龍. 基于OAUTH、OPENAPI、REST技術(shù)的快速開發(fā)云平臺架構(gòu)的設(shè)計與實現(xiàn)[J]. 工業(yè)設(shè)計, 2016(2): 160-161.
DUAN Yulong. Design and implementation of cloud platform architecture for rapid development based on OAUTH, OPENAPI and REST technology[J]. Industrial Design, 2016(2): 160-161.
[11]宋振維. 探究分析JAVA語言的開發(fā)平臺及J2EE編程技術(shù)[J]. 計算機光盤軟件與應(yīng)用, 2014, 17(6): 267-269.
SONG Zhenwei. Exploration and analysis of JAVA language development platform and J2EE programming technology[J]. Computer CD Software and Application, 2014, 17(6): 267-269.
[12] 王忠志, 胡明強, 熊子瑜. 基于可重用組件技術(shù)下軟件開發(fā)方法的思考[J]. 電腦迷, 2018(8): 71.
WANG Zhongzhi, HU Mingqiang, XIONG Ziyu. Consideration of software development methods based on reusable component technology[J]. Computer Fans, 2018(8): 71.
[13]宋志剛, 蔡偉周, 李劍波, 等. 基于組件式軟件平臺架構(gòu)的通用協(xié)議轉(zhuǎn)換器設(shè)計[J]. 機電工程技術(shù), 2018, 47(7): 97-99.
SONG Zhigang, CAI Weizhou, LI Jianbo, et al. Design of all-purpose protocol converter base on component architecture software platform[J]. Mechanical & Electrical Engineering Technology, 2018, 47(7): 97-99.
[14] 張曉林. 元數(shù)據(jù)開發(fā)應(yīng)用的標準化框架[J]. 現(xiàn)代圖書情報技術(shù), 2001(2): 9-11.
ZHANG Xiaolin. The standardization framework of metadata[J]. New Technology of Library and Information Service, 2001(2): 9-11.
Research and development of production management development platform for intelligent power plant
WANG Tao1, SHAN Zhengtao1, DU Jingang1, DU Jun1, SUN Jingchu2, YAN Pengfei3, LI Qiang3
(1. Xi’an TPRI Power Plant Information Technology Co., Ltd., Xi’an 710054, China; 2. Huaneng Power International Inc., Beijing 100031, China; 3. Qinbei Power Plant, Huaneng Power Internation Inc., Jiyuan 454662, China)
This paper develops a production management platform for power generation enterprises based on visual process of reusable components. This platform integrates development, operation and management. The whole platform contains independent server and development client end, which can meet the requirements of cloud computing PAAS platform business solutions, and can realize online design through a simple way of drag and push. With the help of this platform, users with certain computer foundation can use the visual operation provided by the platform to complete the development and change of relevant business processes. The business processes of software will be automatically released and updated, which solves the problem that software function changes rely too much on programmer development in the past. The application of this platform improves the efficiency of software development and reduces the cost of development and maintenance of enterprises. This platform provides a more efficient intelligent management, development and application platform for the intelligent management of power plants.
smart power plant, production management, development platform, reusable component, visual process, expression engine
TM621;TP311.521
B
10.19666/j.rlfd.201906129
2019-06-06
王濤(1979—),男,工程師,主要研究方向為發(fā)電企業(yè)信息化平臺架構(gòu)技術(shù),wangtaoa@tpri.com.cn。
王濤, 單正濤, 杜金剛, 等. 智能電廠生產(chǎn)管理開發(fā)平臺研發(fā)[J]. 熱力發(fā)電, 2019, 48(9): 115-119. WANG Tao, SHAN Zhengtao, DU Jingang, et al. Research and development of production management development platform for intelligent power plant[J]. Thermal Power Generation, 2019, 48(9): 115-119.
(責任編輯 杜亞勤)