李恩洲,況立群,張 元,韓 燮,熊風(fēng)光
(中北大學(xué) 大數(shù)據(jù)學(xué)院,山西 太原 030051)
近年來,國內(nèi)外針對供熱系統(tǒng)的研究主要集中在供熱設(shè)備以及故障檢測方面[1-3],其中在智能故障診斷系統(tǒng)的研究中,對換熱器的診斷已經(jīng)形成了良好的生態(tài)系統(tǒng)[4]。文獻(xiàn)[5]針對集中供熱系統(tǒng)中多熱源調(diào)度優(yōu)化模型進(jìn)行了參數(shù)的調(diào)節(jié),使得整個(gè)運(yùn)行環(huán)境從能耗和污染物排放量方面得到了最優(yōu)解。對于智慧供熱解決方案的研究,主要面向特定區(qū)域、特定的供熱環(huán)境,實(shí)現(xiàn)了從熱源、管網(wǎng)、場站,到戶內(nèi)的數(shù)據(jù)互聯(lián)互通與共享。
而對于跨區(qū)域及城市的供熱管理體系,目前尚未形成統(tǒng)一的標(biāo)準(zhǔn)。對于省市一體化的供熱監(jiān)測還未形成成型的系統(tǒng)。并且隨著地域的擴(kuò)大,使用單一的數(shù)據(jù)庫服務(wù)已經(jīng)不能滿足供熱設(shè)備集群的實(shí)時(shí)數(shù)據(jù)以及元數(shù)據(jù)的處理,由設(shè)備集群產(chǎn)生的高并發(fā)數(shù)據(jù)勢必會使數(shù)據(jù)庫服務(wù)器產(chǎn)生性能問題。文中旨在研究一種智慧供熱大數(shù)據(jù)平臺,通過構(gòu)建kafka+Spark Streaming處理機(jī)制解決海量實(shí)時(shí)數(shù)據(jù)和離線數(shù)據(jù)處理,對于供熱環(huán)境的外部影響因素也可以依據(jù)該平臺進(jìn)行相關(guān)分析。同時(shí),可定制化的將供熱系統(tǒng)的重要參數(shù)布局在可視化頁面中,便于實(shí)時(shí)查看。另外,對相關(guān)參數(shù)實(shí)施預(yù)警處理,使得通過互聯(lián)網(wǎng)對供熱系統(tǒng)的故障診斷更加方便快捷。
平臺為整個(gè)供熱環(huán)境提供了一系列的配套服務(wù),包括整體環(huán)境如天氣、供熱面積、能耗、換熱站數(shù)據(jù)分析、數(shù)據(jù)展示等,這些服務(wù)可以為供熱管理人員提供便捷的管理,使各項(xiàng)工作化繁為簡。系統(tǒng)通過對供熱設(shè)備中已有的數(shù)據(jù)采集設(shè)備與供熱設(shè)備相關(guān)的配套服務(wù)進(jìn)行數(shù)據(jù)交互,將供熱設(shè)備中產(chǎn)生的數(shù)據(jù)進(jìn)行清洗、分析和計(jì)算,一方面將處理結(jié)果傳輸至相應(yīng)的應(yīng)用,另一方面將數(shù)據(jù)持久化,存儲至數(shù)據(jù)庫中。數(shù)據(jù)以json數(shù)據(jù)形式進(jìn)行傳遞[6],并將數(shù)據(jù)進(jìn)行格式化處理,從而解決數(shù)據(jù)可視化中的數(shù)據(jù)統(tǒng)一問題,最后傳入到客戶端。管理人員可以在系統(tǒng)中監(jiān)控和觀察設(shè)備,以方便工作人員進(jìn)行相應(yīng)的處理,具體業(yè)務(wù)框架如圖1所示。
圖1 平臺整體業(yè)務(wù)框架
平臺架構(gòu)以云計(jì)算為基礎(chǔ),云計(jì)算通過Internet提供快速創(chuàng)新,彈性資源和規(guī)模經(jīng)濟(jì),對于云服務(wù),通常按照使用量支付費(fèi)用,從而幫助降低運(yùn)維成本,使基礎(chǔ)設(shè)施更有效的運(yùn)行,并能根據(jù)業(yè)務(wù)需求的變化調(diào)整對服務(wù)的使用[7],云計(jì)算服務(wù)提供了基本的四大類服務(wù):基礎(chǔ)結(jié)構(gòu)即服務(wù)(IaaS)、平臺即服務(wù)(PaaS)、無服務(wù)器計(jì)算和軟件即服務(wù)(SaaS),具體平臺架構(gòu)如圖2所示。
圖2 云平臺系統(tǒng)結(jié)構(gòu)
感知層即數(shù)據(jù)采集層,是熱源、熱網(wǎng)、換熱站、末端用戶等供熱環(huán)節(jié)中的各類監(jiān)控系統(tǒng)和管理服務(wù)的整合,其中包括PLC控制系統(tǒng)、數(shù)據(jù)采集系統(tǒng)、數(shù)據(jù)交互系統(tǒng)、用戶交互系統(tǒng)、地理信息系統(tǒng)、設(shè)備監(jiān)控管理系統(tǒng)、視頻監(jiān)控系統(tǒng)等業(yè)務(wù)模塊,它將物理、交互、音視頻等各類型信息按照統(tǒng)一標(biāo)準(zhǔn)化對數(shù)據(jù)進(jìn)行清洗、過濾、轉(zhuǎn)換,通過傳輸層將數(shù)據(jù)傳輸?shù)街行钠脚_。
基礎(chǔ)設(shè)施層(IaaS)是系統(tǒng)業(yè)務(wù)的底部支撐載體,內(nèi)部包括物理資源層、資源虛擬化層和云服務(wù)管理層。
(1)物理資源層:指的是計(jì)算服務(wù)集群,包括熱力能源web服務(wù)器、后端服務(wù)器、數(shù)據(jù)庫服務(wù)器。
(2)資源虛擬化層:是云計(jì)算的根本技術(shù)支撐,存儲方面則主要使用分布式存儲架構(gòu)共享存儲集群,用來針對不同的存儲數(shù)據(jù),例如換熱站供溫供壓等參數(shù)數(shù)據(jù)的分類存儲。
(3)云服務(wù)管理層:為IaaS架構(gòu)中最為關(guān)鍵的一層,通過云服務(wù)管理可以對供熱設(shè)備進(jìn)行開關(guān)控制、權(quán)限設(shè)置、故障恢復(fù)等管理。
PaaS提供了應(yīng)用程序和開發(fā)環(huán)境,將各種業(yè)務(wù)能力進(jìn)行整合,具體可以歸為熱力能源web服務(wù)器、二次能源系統(tǒng)開放平臺、熱網(wǎng)運(yùn)行監(jiān)控系統(tǒng)開放平臺、設(shè)備管理系統(tǒng)開放平臺,向下根據(jù)業(yè)務(wù)能力需要測算基礎(chǔ)服務(wù)能力;通過IaaS提供的API(application programming interface,應(yīng)用程序接口)調(diào)用硬件資源,向上提供業(yè)務(wù)調(diào)度中心服務(wù),實(shí)時(shí)監(jiān)控平臺的各種資源,并將這些資源通過API開放給SaaS用戶。
軟件服務(wù)層(SaaS)在PaaS層之上,它將智慧供熱系統(tǒng)下的子系統(tǒng),以服務(wù)的形式發(fā)布在云平臺之上,便于企業(yè)更好地規(guī)劃系統(tǒng)模塊結(jié)構(gòu),進(jìn)行及時(shí)調(diào)整和快速部署。這些子系統(tǒng)包括熱網(wǎng)監(jiān)控系統(tǒng)、全網(wǎng)平衡分析系統(tǒng)、在線熱網(wǎng)水力分析系統(tǒng)、熱網(wǎng)能耗分析系統(tǒng)與供熱地理信息系統(tǒng)、熱用戶室內(nèi)測溫、熱計(jì)量系統(tǒng)、氣象數(shù)據(jù)分析系統(tǒng)。
文中以山西省供熱體系為例進(jìn)行熱力能源管理平臺實(shí)例分析,針對供熱系統(tǒng)中管理員對整個(gè)供熱環(huán)境的態(tài)勢感知和供熱設(shè)備實(shí)時(shí)數(shù)據(jù)和離線數(shù)據(jù)處理困難的問題。并且考慮到管理人員需要進(jìn)行相關(guān)的匯報(bào)工作,故選用開源web框架React作為數(shù)據(jù)可視化的實(shí)現(xiàn)基礎(chǔ),以G2數(shù)據(jù)可視化組件進(jìn)行數(shù)據(jù)的多元化展示,具體方案如下。
通過調(diào)研山西省各大熱力公司的數(shù)據(jù)監(jiān)控業(yè)務(wù),總結(jié)出軟件主要功能需求如下:
(1)用戶管理:對使用平臺的用戶進(jìn)行管理和授權(quán)。
(2)設(shè)備信息提取:對設(shè)備產(chǎn)生的相關(guān)數(shù)據(jù)進(jìn)行提取清洗和分析,并將相關(guān)結(jié)果存儲在數(shù)據(jù)庫中。
(3)設(shè)備遠(yuǎn)程控制:從不同的維度出發(fā),進(jìn)行設(shè)備的遠(yuǎn)程控制,包括開關(guān)控制、參數(shù)設(shè)置、預(yù)警控制。
(4)熱力系統(tǒng)重要參數(shù)的運(yùn)行數(shù)據(jù)以及信息的可視化。
(5)展示相關(guān)換熱站的數(shù)據(jù)信息。
(6)能耗相關(guān)數(shù)據(jù)信息。
(7)系統(tǒng)操作日志的記錄。
3.2.1 用戶管理
對每一個(gè)供熱地點(diǎn),系統(tǒng)都會為其分配一個(gè)管理員賬戶,管理員賬戶不可刪除,具有最高權(quán)限,可以管理其下面的所有賬戶,在管理員賬戶之下可以申請二級賬戶,方便工作人員的管理,同時(shí)對供熱設(shè)備的故障處理信息進(jìn)行記錄。對于管理賬戶,可以進(jìn)行所有設(shè)備數(shù)據(jù)操作,并生成日志記錄。管理員賬戶可以新增或者刪除權(quán)限較低的賬戶。
3.2.2 數(shù)據(jù)處理模塊
關(guān)于供熱設(shè)備的數(shù)據(jù)清洗和處理,文中采用kafka+Spark Streaming的方式進(jìn)行實(shí)時(shí)數(shù)據(jù)流式處理,對于大量設(shè)備的原始數(shù)據(jù)進(jìn)行高并發(fā)的清洗和轉(zhuǎn)換,然后將數(shù)據(jù)通過統(tǒng)一結(jié)構(gòu)化模型的api實(shí)時(shí)顯示在web端,離線數(shù)據(jù)可通過對應(yīng)的api進(jìn)入到相關(guān)數(shù)據(jù)庫中進(jìn)行存儲,具體流程如圖3所示。
3.2.3 可視化模塊管理
對于供熱系統(tǒng)中概覽數(shù)據(jù)展示設(shè)計(jì)為九宮格的形式,主要展示對于供熱系統(tǒng)相關(guān)參數(shù)的分析,包括天氣情況、熱源實(shí)時(shí)數(shù)據(jù)、熱源歷史數(shù)據(jù)、供熱地區(qū)的排行、告警信息、能源消耗占比、室溫實(shí)時(shí)數(shù)據(jù)以及對總體環(huán)境的數(shù)據(jù)的展示。
(1)天氣的展示主要以折線圖的方式進(jìn)行,展示從當(dāng)天起前七天的最高溫和最低溫,具體的天氣的分析會在單獨(dú)的頁面進(jìn)行管理和查看。
(2)熱源數(shù)據(jù)的展示分為實(shí)時(shí)數(shù)據(jù)和歷史數(shù)據(jù)。實(shí)時(shí)數(shù)據(jù)主要運(yùn)用對照的方式進(jìn)行展示,例如供水溫度與回水溫度的對比??紤]到實(shí)時(shí)數(shù)據(jù)的特點(diǎn),將折線圖進(jìn)行改進(jìn),加入了標(biāo)準(zhǔn)線以及實(shí)時(shí)數(shù)據(jù)的刷新,對于觸及報(bào)警線及以上的數(shù)據(jù),進(jìn)行預(yù)警處理;對于熱源歷史數(shù)據(jù)的展示主要是選擇從當(dāng)天起前七天數(shù)據(jù)作為展示周期,對比數(shù)據(jù)分析從而了解供熱設(shè)備系統(tǒng)的運(yùn)行狀況,進(jìn)行針對性的調(diào)整。
(3)數(shù)據(jù)榜單的設(shè)計(jì)主要以供熱系統(tǒng)所管理的區(qū)域進(jìn)行,按照換熱站的供熱情況,取較好和較差的供熱表現(xiàn)的換熱站進(jìn)行數(shù)據(jù)展示,在獲取數(shù)據(jù)的過程中進(jìn)行排序以及數(shù)據(jù)處理。
(4)告警信息和室溫實(shí)時(shí)數(shù)據(jù)的處理以列表的方式進(jìn)行滾動輪播,考慮到供熱系統(tǒng)管理區(qū)域的小區(qū)數(shù)量以及實(shí)時(shí)更新的特點(diǎn),相比柱狀圖、餅圖、雷達(dá)圖等圖形化展示方式更有利于工作人員進(jìn)行觀看,可以展示各個(gè)區(qū)域的供熱情況,減少了工作人員的操作,提高了便捷性。
(5)系統(tǒng)在板塊劃分中加入了總體實(shí)時(shí)數(shù)據(jù)的一個(gè)展示,展示的內(nèi)容主要包括熱源數(shù)量、換熱站數(shù)量、天氣信息、供熱面積以及所有能耗的總數(shù)和設(shè)備負(fù)荷的相關(guān)數(shù)據(jù),便于工作人員判斷設(shè)備的運(yùn)轉(zhuǎn)情況。
圖3 平臺數(shù)據(jù)流圖
3.2.4 供熱設(shè)備數(shù)據(jù)管理
對于換熱站數(shù)據(jù)的管理包括報(bào)表數(shù)據(jù)、操作日志數(shù)據(jù),對于報(bào)表主要展示的數(shù)據(jù)為換熱站的基礎(chǔ)數(shù)據(jù),操作日志主要展示的數(shù)據(jù)為某一管理人員對換熱站的相關(guān)操作并且記錄了改動前后的變化。
3.2.5 能耗管理
能耗管理模塊中有三個(gè)功能:綜合報(bào)表、環(huán)比報(bào)表和能耗排行。綜合報(bào)表主要顯示的是所有換熱站在某一時(shí)間段的熱、電、水耗的相關(guān)數(shù)據(jù),用戶可以查詢?nèi)我鈺r(shí)間段內(nèi)的數(shù)據(jù);環(huán)比報(bào)表在顯示能耗的相關(guān)數(shù)據(jù)的基礎(chǔ)上加入了時(shí)間段的比對,可以比對任意兩個(gè)時(shí)間段的換熱站的能耗數(shù)據(jù),用于更好地管理供熱系統(tǒng)。同時(shí)兩個(gè)報(bào)表提供了下載和打印功能,可以直接將查詢的數(shù)據(jù)轉(zhuǎn)換為excel表格。此外,該模塊提供在線打印功能。
3.3.1 基于React的前端技術(shù)
在Web開發(fā)中,需要將變化的數(shù)據(jù)實(shí)時(shí)反映到UI(user interface)上,這時(shí)就需要對DOM(document object model)進(jìn)行操作,而復(fù)雜且頻繁的DOM操作通常是性能瓶頸產(chǎn)生的原因。因此,文中采用的React框架中引入了虛擬DOM(virtual DOM)的機(jī)制:在瀏覽器端用Javascript實(shí)現(xiàn)了一套DOM API[8]?;赗eact進(jìn)行開發(fā)時(shí),所有的DOM構(gòu)造都是通過虛擬DOM進(jìn)行,每當(dāng)數(shù)據(jù)發(fā)生變化時(shí),React都會重新構(gòu)建整個(gè)DOM樹,然后將當(dāng)前DOM樹和上一次的DOM樹進(jìn)行對比,得到兩者的不同,然后將需要變化的部分做瀏覽器DOM更新。
同時(shí),為了使得前后端有效地進(jìn)行交互,引入Node.js,一個(gè)事件驅(qū)動I/O服務(wù)端JavaScript環(huán)境,基于Google的V8引擎,該框架善于處理高并發(fā)需求、單線程、擁有事件機(jī)制以及跨平臺的特性,使得它在數(shù)據(jù)通信頻繁的實(shí)時(shí)業(yè)務(wù)場景下產(chǎn)生了較大的優(yōu)勢[9]。Node.js的最重要的功能是事件驅(qū)動的,這意味著服務(wù)器僅在用戶有事件時(shí)才響應(yīng)。以Node.js充當(dāng)瀏覽器的服務(wù)器,將數(shù)據(jù)轉(zhuǎn)發(fā)到后端服務(wù)器,并通過路由的方式控制頁面跳轉(zhuǎn)的邏輯。
而antdesignpro這套企業(yè)級中后臺前端開發(fā)框架應(yīng)用了React框架的相關(guān)技術(shù)并且在antdesign的設(shè)計(jì)規(guī)范和基礎(chǔ)組件的基礎(chǔ)上進(jìn)行進(jìn)一步封裝[10]。antdesignpro結(jié)合dva框架,通過reducers、effect和subscriptions組織model;基于babel-plugin-dva-hmr實(shí)現(xiàn)components、routes和models的HMR(hot module replacement),既滿足了MVC(model-view-controller)中的‘V’即視圖部分[11],同時(shí)又滿足了前后端數(shù)據(jù)交互的部分,具體原理如圖4所示。
圖4 React架構(gòu)原理
平臺將基于React的前端框架進(jìn)行研發(fā),優(yōu)化內(nèi)容主要有可視化組件封裝、主題切換預(yù)留接口、table標(biāo)簽二次封裝。
對于可視化組件的封裝,以bizcharts為主,將bizcharts圖形的基本類型:折線圖、柱狀圖、餅圖、條形圖封裝成組件,通過引用相應(yīng)的組件即可進(jìn)行個(gè)性化的定制,并且提供了圖形基本類型的樣式,供研究人員參考。
對于主題切換,根據(jù)不同熱力公司地區(qū)和行業(yè)特點(diǎn)開發(fā)了科技藍(lán)和莊重灰等多種主題風(fēng)格供熱力能源服務(wù)商進(jìn)行選擇。此外,該模塊提供統(tǒng)一接口,使得服務(wù)商可針對不同地區(qū),不同環(huán)境進(jìn)行定制化設(shè)計(jì),以此增加平臺的可復(fù)用性。
對于報(bào)表的展示,除了對于數(shù)據(jù)的顯示,還封裝了數(shù)據(jù)過濾、排序、文本類型、表格風(fēng)格等功能,使得平臺可以根據(jù)熱力站的需求調(diào)用相應(yīng)API進(jìn)行相應(yīng)的設(shè)置,從而更好地進(jìn)行數(shù)據(jù)展示。
3.3.2 大數(shù)據(jù)實(shí)時(shí)可視化展現(xiàn)技術(shù)
對于供熱系統(tǒng)中重要參數(shù)的實(shí)時(shí)大數(shù)據(jù)在可視化頁面中的展示,文中基于G2的React封裝圖表組件庫[12]BizCharts來實(shí)現(xiàn)。通過BizCharts中提供的API:Guide屬性來繪制圖表的輔助元素,達(dá)到圖表定制化設(shè)計(jì),同時(shí)研發(fā)dataSet獨(dú)立數(shù)據(jù)模塊,為數(shù)據(jù)可視化場景提供狀態(tài)驅(qū)動。文中研發(fā)的大數(shù)據(jù)可視化展示技術(shù),首先將數(shù)據(jù)分批請求,通過限定請求時(shí)間范圍的大小,將其分成若干份Request,其次循環(huán)異步批次處理,后端將請求的數(shù)據(jù)以數(shù)據(jù)流形式發(fā)送,將得到的數(shù)據(jù)存儲為csv文件,文件命名方式通過請求參數(shù)命名,最后在視圖驅(qū)動程序中加載csv文件即可,同時(shí),在請求前需進(jìn)行csv文件掃描,查找是否存在查詢的記錄,如果存在,則直接加載文件,避免了多次請求服務(wù)器引起的帶寬和并發(fā)。
3.3.3 駕駛艙自由布局
平臺支持自定義概覽主頁面,即駕駛艙,通過該功能,用戶可以在面板上自由的拖拽,修改頁面中的組件,從而呈現(xiàn)出個(gè)性化的監(jiān)控頁面。React-Grid-Layout是基于React的網(wǎng)格布局系統(tǒng),支持響應(yīng)式,在組件改變大小的時(shí)候,內(nèi)部的圖形和內(nèi)容會隨著組件的改變而進(jìn)行響應(yīng)式變化,并且支持?jǐn)帱c(diǎn),斷點(diǎn)布局可由用戶提供或自動生成,而且不需要jQuery支撐,其中有幾個(gè)重要的函數(shù)用于布局中:
(1)WidthProvider:一個(gè)用于響應(yīng)元素高度的高級函數(shù),主要作用是綁定onresize事件,當(dāng)組件改變時(shí),用于重新計(jì)算元素的寬度。
(2)GirdItem:根據(jù)x、y坐標(biāo)計(jì)算出組件所在的位置。
具體流程如圖5所示。
圖5 駕駛艙自定義實(shí)現(xiàn)流程
3.3.4 數(shù)據(jù)處理技術(shù)
從研究和商業(yè)水平的角度看,云一直是信息技術(shù)領(lǐng)域最熱門的討論主題之一。但是,對于云存儲而言,沒有主流的統(tǒng)一存儲解決方案[13],使得云端存儲大量冗余數(shù)據(jù),影響其性能。故采用kafka+Spark Streaming的設(shè)計(jì)方案,對供熱設(shè)備元數(shù)據(jù)進(jìn)行清洗和處理[14],使得大量的數(shù)據(jù)無須存儲在云端,僅需要把消息隊(duì)列中的數(shù)據(jù)進(jìn)行分布式存儲,減小了對云存儲的壓力。
kafka是一個(gè)高吞吐的分布式消息隊(duì)列系統(tǒng),特點(diǎn)是生產(chǎn)者消費(fèi)者模式,先進(jìn)先出(FIFO)保證順序和數(shù)據(jù)不丟失,默認(rèn)每隔7天清理數(shù)據(jù)。
其中主要分為兩部分:producer為消息生產(chǎn)者,Consumer為消息消費(fèi)者,在系統(tǒng)中,將Spark Streaming作為Consumer。Broker為kafka集群的服務(wù)程序,負(fù)責(zé)處理消息讀寫請求和存儲消息。在kafka cluster這一層里,有多個(gè)Broker。元數(shù)據(jù)信息存在zookeeper中,包括存儲消費(fèi)偏移量、topic話題信息、partition信息。
Spark Streaming支持從多種數(shù)據(jù)源獲取數(shù)據(jù),其中一個(gè)核心為支持一個(gè)高層的抽象,稱為離散流(Discretized Stream)也稱作DStream,代表連續(xù)的數(shù)據(jù)流。在內(nèi)部,DStream是由一系列RDD組成的。一批數(shù)據(jù)在Spark內(nèi)核中對應(yīng)一個(gè)RDD實(shí)例,因此,對應(yīng)流數(shù)據(jù)的DStream可以看成是一組RDD,即一個(gè)RDD的序列。也就是說,在流數(shù)據(jù)分成一批一批后,生成一個(gè)先進(jìn)先出的隊(duì)列,Spark Engine從該隊(duì)列中依次取出批數(shù)據(jù),并把批數(shù)據(jù)封裝成一個(gè)RDD,然后再進(jìn)行處理,最后將結(jié)果進(jìn)入統(tǒng)一services接口,將數(shù)據(jù)格式化后進(jìn)行實(shí)時(shí)顯示,或者將數(shù)據(jù)進(jìn)行存儲。確保數(shù)據(jù)的有效性和實(shí)時(shí)性。
3.3.5 SpringBoot
Spring開源框架是基于J2EE框架的研發(fā)產(chǎn)品。其中Spring MVC框架(MVC是模型視圖控制器,通過將業(yè)務(wù)邏輯,數(shù)據(jù)和界面顯示分離的方法來組織代碼)被廣泛用于各種Web產(chǎn)品的研發(fā)中。SpringBoot項(xiàng)目是Pivotal團(tuán)隊(duì)開發(fā)的新Spring框架。其開發(fā)的目的是解決Spring開發(fā)過程中的復(fù)雜配置操作并最終實(shí)現(xiàn)零配置。其簡化的應(yīng)用程序開發(fā)和構(gòu)建過程使開發(fā)人員擺脫了繁瑣的配置文件,并投入了大量精力進(jìn)行項(xiàng)目邏輯研究和開發(fā)。它致力于成為快速應(yīng)用程序開發(fā)的領(lǐng)導(dǎo)者[15],同時(shí),其內(nèi)嵌的Tomcat服務(wù)器,直接將項(xiàng)目打包成jar包,從而簡化了項(xiàng)目的部署工作。
系統(tǒng)的具體效果如圖6所示。
圖6 加時(shí)間進(jìn)度條的可視化數(shù)據(jù)顯示
考慮到供熱系統(tǒng)的時(shí)間維度問題,故在平臺中設(shè)計(jì)了歷史數(shù)據(jù)曲線可視化模型,具體效果如圖7所示,其中頂部進(jìn)行換熱站以及時(shí)間段的選擇。為了避免時(shí)間跨度較大導(dǎo)致的卡頓現(xiàn)象,設(shè)計(jì)了時(shí)間間隔,以應(yīng)對大數(shù)據(jù)量導(dǎo)致的數(shù)據(jù)傳輸問題??梢暬M件以折線圖為基礎(chǔ)模型,在模型之上設(shè)計(jì)了時(shí)間進(jìn)度條,通過拖拽進(jìn)度條可以顯示該時(shí)間段內(nèi)的任意段時(shí)間的數(shù)據(jù),平臺展示出整體供熱系統(tǒng)的歷史溫度、歷史熱量流量、歷史壓力、歷史設(shè)備狀態(tài),使得管理者可以更加直觀地進(jìn)行系統(tǒng)的分析與診斷。
平臺提供了不同維度的設(shè)備監(jiān)控,并且通過點(diǎn)擊設(shè)備的組件,實(shí)現(xiàn)遠(yuǎn)程控制設(shè)備,具體設(shè)計(jì)如圖7所示。
圖7 加時(shí)間進(jìn)度條的可視化數(shù)據(jù)顯示
經(jīng)測試,系統(tǒng)無異常,并且對于頁面的顯示和用戶交互方面與系統(tǒng)需求一致。
供熱平臺對供熱系統(tǒng)工業(yè)自動化、信息化、智慧化發(fā)展,起到了一定的推動作用,整合現(xiàn)有資源打造智慧供熱是供熱產(chǎn)業(yè)發(fā)展的未來方向。文中基于React框架,實(shí)現(xiàn)了供熱環(huán)境的數(shù)據(jù)處理、展示以及監(jiān)測供熱過程,并且針對供熱系統(tǒng)的特殊性,研發(fā)出定制化的可視化組件,最后,將平臺應(yīng)用于山西省的供熱系統(tǒng)中,驗(yàn)證了平臺的可用性。