段美前,李 勝,鄧真平,劉曉云,謝 軍
(1.重慶大唐國際彭水水電開發(fā)有限公司,重慶 409600;2.重慶市科源能源技術(shù)發(fā)展有限公司,重慶 401147)
傳感器、物聯(lián)網(wǎng)、大數(shù)據(jù)等技術(shù)的發(fā)展為集成電力生產(chǎn)系統(tǒng)各環(huán)節(jié)多源數(shù)據(jù)的采集、傳輸、存儲提供了技術(shù)支撐,并在電力系統(tǒng)設(shè)備運維檢修、故障分析及預(yù)警等方面發(fā)揮了重要作用[1-3]。在發(fā)電領(lǐng)域,數(shù)據(jù)依據(jù)其類型總體可劃分為3類[4-6]:第一類是機組、輔機等設(shè)備在運行過程中通過計算機監(jiān)控系統(tǒng)、機組狀態(tài)監(jiān)測系統(tǒng)等采集的時序數(shù)據(jù),數(shù)據(jù)時效性較高;第二類是涵蓋管理、經(jīng)營、銷售、財務(wù)等主題域的結(jié)構(gòu)化數(shù)據(jù),通常采用結(jié)構(gòu)化數(shù)據(jù)庫進行存儲和管理;第三類是非結(jié)構(gòu)化數(shù)據(jù),例如可攜帶文檔格式(portable document format,PDF)文件、電子表格,以及各類音視頻文件、圖片等。
在應(yīng)用系統(tǒng)的數(shù)據(jù)庫選型上,一般根據(jù)數(shù)據(jù)存儲類型及對數(shù)據(jù)庫的讀寫性能、拓展性、穩(wěn)定性等方面的需求,采用Oracle、MySQL、SQL Server等主流數(shù)據(jù)庫。該類數(shù)據(jù)庫對結(jié)構(gòu)化數(shù)據(jù)存儲具有比較好的操作性,但在面對海量數(shù)據(jù)時,也存在擴展性、高并發(fā)讀寫性能不足等問題。Hadoop、HBase、Hive等[7-8]大數(shù)據(jù)存儲技術(shù)的發(fā)展和應(yīng)用,為解決傳統(tǒng)業(yè)務(wù)架構(gòu)存在的數(shù)據(jù)存儲能力不足、數(shù)據(jù)處理能力低下等問題提供了解決途徑,也為全面提高企業(yè)數(shù)據(jù)整合、治理能力,發(fā)揮企業(yè)數(shù)據(jù)資產(chǎn)價值奠定了基礎(chǔ)[9-11]。然而,在具體實踐層面,采用何種數(shù)據(jù)采集和存儲架構(gòu)才能滿足生產(chǎn)和管理的需要,還需要根據(jù)業(yè)務(wù)建設(shè)需求和未來數(shù)據(jù)規(guī)劃進行合理選型。基于此,本文結(jié)合彭水水電公司大數(shù)據(jù)平臺的建設(shè),對數(shù)據(jù)采集和存儲系統(tǒng)的設(shè)計進行探討。
隨著電力企業(yè)信息化建設(shè)的不斷推進,各類服務(wù)于安全生產(chǎn)、經(jīng)營管理、優(yōu)化調(diào)度等業(yè)務(wù)的應(yīng)用系統(tǒng)推陳出新[12-13]。此類信息系統(tǒng)不僅要求業(yè)務(wù)流程貼合管理需要,對支撐其運行的數(shù)據(jù)來源也提出了更高的要求,要求數(shù)據(jù)統(tǒng)一來源,全面涵蓋設(shè)備、水情、大壩、地災(zāi)等相關(guān)數(shù)據(jù)主題。目前,水電生產(chǎn)領(lǐng)域中,生產(chǎn)管理系統(tǒng)、水調(diào)自動化系統(tǒng)、大壩監(jiān)測系統(tǒng)、安全管控系統(tǒng)、地災(zāi)監(jiān)測系統(tǒng)、設(shè)備狀態(tài)監(jiān)測與預(yù)警系統(tǒng)、計算機監(jiān)控系統(tǒng)、機組狀態(tài)監(jiān)測系統(tǒng)等存在海量的結(jié)構(gòu)化數(shù)據(jù)和實時數(shù)據(jù),為應(yīng)急指揮中心系統(tǒng)、智慧經(jīng)營分析系統(tǒng)、全息展示平臺等智慧電廠業(yè)務(wù)系統(tǒng)的建設(shè)提供了基礎(chǔ)的數(shù)據(jù)來源。
因此,為實現(xiàn)設(shè)備運行監(jiān)測數(shù)據(jù)和生產(chǎn)管理數(shù)據(jù)的完備性采集,需建立一套完備的數(shù)據(jù)采集系統(tǒng),匯集生產(chǎn)管理、機組在線監(jiān)測、大壩監(jiān)測、水情水調(diào)、地災(zāi)預(yù)警等各類型數(shù)據(jù)。以數(shù)據(jù)應(yīng)用為導(dǎo)向,建設(shè)統(tǒng)一的數(shù)據(jù)管理規(guī)范,為數(shù)據(jù)共享和挖掘應(yīng)用奠定基礎(chǔ)。
隨著彭水水電公司智慧電廠試點建設(shè)的不斷推進,高效運營管理與高質(zhì)量發(fā)展的要求不斷提高,電廠對數(shù)據(jù)用于分析和決策支持的時效性要求也越來越高。數(shù)據(jù)存儲層作為大數(shù)據(jù)平臺的核心層級,目的是有效管理全量數(shù)據(jù),實現(xiàn)統(tǒng)一存儲、高效訪問。特別是分布式大數(shù)據(jù)存儲技術(shù)所具備的數(shù)據(jù)管理、彈性擴展、存儲優(yōu)化能力,為實現(xiàn)數(shù)據(jù)的高效存取提供了有力的支撐,能夠滿足智慧電廠建設(shè)中的智慧經(jīng)營、智慧安全、智慧運行、智慧檢修等業(yè)務(wù)對海量數(shù)據(jù)的快速響應(yīng)需求,實現(xiàn)了服務(wù)電廠生產(chǎn)管理的海量、多源、高維度數(shù)據(jù)的采集、存儲,并為后續(xù)數(shù)據(jù)服務(wù)提供底座支撐能力。
水電企業(yè)對數(shù)據(jù)的匯聚需求涵蓋時序數(shù)據(jù)、結(jié)構(gòu)化數(shù)據(jù)等不同類型數(shù)據(jù)。傳統(tǒng)的數(shù)據(jù)存儲架構(gòu)面對海量數(shù)據(jù)的存儲和擴展需求,存在支持?jǐn)?shù)據(jù)類型單一、擴展性差、數(shù)據(jù)處理效率低下等問題,無法滿足全類型數(shù)據(jù)高速增長的存儲要求,也難以滿足未來海量數(shù)據(jù)的彈性擴展需求[14-15]。因此,針對數(shù)據(jù)存儲資源的可擴展需求,平臺需要提供與之對應(yīng)的資源擴展與釋放功能,并能根據(jù)負(fù)載情況對計算和存儲資源自動分配和管理,實現(xiàn)彈性存儲,在存儲動態(tài)擴展的同時保持?jǐn)?shù)據(jù)的分布均衡,在計算資源動態(tài)擴展的同時保證計算的負(fù)載均衡。因此在數(shù)據(jù)存儲層面,需要充分考慮采用分布式文件存儲系統(tǒng)、分布式數(shù)據(jù)庫等存儲技術(shù),來實現(xiàn)數(shù)據(jù)的彈性存儲,以應(yīng)對海量數(shù)據(jù)的增量存儲需求。
場站到數(shù)據(jù)平臺之間的數(shù)據(jù)傳輸,主要基于IEC 104、TCP等協(xié)議,數(shù)據(jù)在平臺端通過消息隊列、ETL方式入庫存儲。為防止數(shù)據(jù)在采集、傳輸、存儲、共享過程被非法訪問,采集和存儲系統(tǒng)應(yīng)嚴(yán)格遵從電力安全防護規(guī)定,具備針對信息內(nèi)外網(wǎng)的接入控制、網(wǎng)絡(luò)地址安全、網(wǎng)絡(luò)審計、網(wǎng)絡(luò)防攻擊、漏洞檢測、網(wǎng)絡(luò)隔離等能力。同時,系統(tǒng)需要根據(jù)不同的數(shù)據(jù)類型及業(yè)務(wù)部署情況,采用有效的防護手段確保數(shù)據(jù)傳輸安全。在獲取數(shù)據(jù)服務(wù)時,系統(tǒng)需根據(jù)數(shù)據(jù)敏感程度的不同,采取明示用途、數(shù)據(jù)加密、訪問控制、業(yè)務(wù)隔離、接入認(rèn)證、數(shù)據(jù)脫敏等多種防護措施,這些措施覆蓋數(shù)據(jù)收集、傳輸、存儲、處理等在內(nèi)的全生命周期的各個環(huán)節(jié)。
實時數(shù)據(jù)主要用于實時監(jiān)屏、實時計算和高級模型訓(xùn)練,生產(chǎn)管理類數(shù)據(jù)主要用于生產(chǎn)管理類的前端應(yīng)用和輔助實時數(shù)據(jù)做高級應(yīng)用。其余的非結(jié)構(gòu)化數(shù)據(jù)主要包括文檔、圖片、音視頻等,主要供全文檢索使用。因此,在功能設(shè)計上需考慮不同類型數(shù)據(jù)接入和存儲的需求。水電數(shù)據(jù)采集和存儲系統(tǒng)總體架構(gòu)如圖1所示。
圖1 水電大數(shù)據(jù)采集與存儲系統(tǒng)總體架構(gòu)
在數(shù)據(jù)采集層,水情水調(diào)系統(tǒng)、大壩監(jiān)測系統(tǒng)等結(jié)構(gòu)化系統(tǒng)數(shù)據(jù),計算機監(jiān)控系統(tǒng)、機組狀態(tài)監(jiān)測系統(tǒng)等時序系統(tǒng)數(shù)據(jù),以及文檔等非結(jié)構(gòu)化數(shù)據(jù)經(jīng)數(shù)據(jù)集成采集工具進入數(shù)據(jù)存儲層。數(shù)據(jù)建模模塊提供基本通信結(jié)構(gòu)(basic communication structure,BCS)編碼、設(shè)備KKS編碼等維護功能,以設(shè)備樹形式直觀展示全電廠的設(shè)備信息,包括設(shè)備的工作票、操作票、缺陷、實時測點值等數(shù)據(jù)。數(shù)據(jù)質(zhì)量模塊具備數(shù)據(jù)質(zhì)量校驗及依照特定策略對校驗結(jié)果進行處理的功能,以保證數(shù)據(jù)的一致性、完整性、冗余性、合理性及合規(guī)性。元數(shù)據(jù)管理模塊在統(tǒng)一數(shù)據(jù)視圖上進行全領(lǐng)域的指標(biāo)一致性分析,可對關(guān)鍵業(yè)務(wù)的監(jiān)控規(guī)則進行設(shè)置和管理,是數(shù)據(jù)質(zhì)量管理的基礎(chǔ)。在采集和存儲系統(tǒng)中,元數(shù)據(jù)被劃分為結(jié)構(gòu)化數(shù)據(jù)元數(shù)據(jù)、非結(jié)構(gòu)化數(shù)據(jù)元數(shù)據(jù)、實時數(shù)據(jù)元數(shù)據(jù)3類。
數(shù)據(jù)存儲層包括分布式文件系統(tǒng)HDFS、列式數(shù)據(jù)庫HBase、數(shù)據(jù)倉庫GreenPlum等,共同支撐大數(shù)據(jù)平臺海量歷史數(shù)據(jù)存儲。通過各類數(shù)據(jù)庫提供的服務(wù),可實現(xiàn)大數(shù)據(jù)平臺及應(yīng)用的數(shù)據(jù)采集、計算與存儲。其中,水調(diào)自動化系統(tǒng)、大壩監(jiān)測系統(tǒng)、生產(chǎn)管理信息系統(tǒng)、地災(zāi)監(jiān)測與風(fēng)險預(yù)警系統(tǒng)、設(shè)備遠(yuǎn)程監(jiān)測與故障預(yù)警系統(tǒng)、安全管控中心系統(tǒng)的數(shù)據(jù)在源端分別存于Oracle、MySQL、SQL Server等關(guān)系型數(shù)據(jù)庫中,數(shù)據(jù)平臺的ETL工具將數(shù)據(jù)采集后存放到GreenPlum數(shù)據(jù)倉庫。技術(shù)文檔、管理文檔等非結(jié)構(gòu)化數(shù)據(jù)經(jīng)文件采集工具抽取后在MongoDB和HDFS中進行存儲。機組狀態(tài)監(jiān)測系統(tǒng)和計算機監(jiān)控系統(tǒng)的數(shù)據(jù)通過TCP或IEC104協(xié)議傳送到前置機,然后經(jīng)過中心端防火墻進入大數(shù)據(jù)平臺Kafka數(shù)據(jù)采集隊列。水電大數(shù)據(jù)數(shù)據(jù)采集與存儲系統(tǒng)的數(shù)據(jù)架構(gòu)視圖如圖2所示。
圖2 水電大數(shù)據(jù)采集與存儲系統(tǒng)數(shù)據(jù)架構(gòu)視圖
為兼顧不同業(yè)務(wù)場景中海量時序數(shù)據(jù)的存儲和查詢效率,時序數(shù)據(jù)按照時間維度劃分為熱數(shù)據(jù)庫、近線數(shù)據(jù)庫、歷史數(shù)據(jù)庫,以滿足不同類型業(yè)務(wù)應(yīng)用對數(shù)據(jù)的訪問需求。其中,熱數(shù)據(jù)庫采用Redis,僅保存時序數(shù)據(jù)最新數(shù)據(jù),直接存儲時序測點ID、測點值及測點時間。近線數(shù)據(jù)庫采用InfluxDB數(shù)據(jù)庫,存儲最近3個月的時序數(shù)據(jù)。在構(gòu)建采集任務(wù)時,在InfluxDB數(shù)據(jù)庫中創(chuàng)建相應(yīng)的庫表,庫表與場站維度之間的關(guān)系為一對一關(guān)系。歷史數(shù)據(jù)庫采用HBase數(shù)據(jù)倉庫保存時序數(shù)據(jù)的全量數(shù)據(jù),并按照場站維度分表存儲。
水電大數(shù)據(jù)采集和存儲系統(tǒng)在技術(shù)架構(gòu)上針對實時數(shù)據(jù)、結(jié)構(gòu)化數(shù)據(jù)、非結(jié)構(gòu)化數(shù)據(jù)采集的差異性,使用不同的采集技術(shù)。針對計算機監(jiān)控、機組狀態(tài)監(jiān)測等系統(tǒng)的實時數(shù)據(jù),消息隊列采用Kafka進行支持,時序數(shù)據(jù)采集控制引擎采用Spark Stream進行支持,實現(xiàn)時序數(shù)據(jù)的采集傳輸,并按照存儲時間需求接入到平臺對應(yīng)的時序庫中。由于設(shè)備種類和屬性繁多,為了滿足上層應(yīng)用需求,實時數(shù)據(jù)庫存儲設(shè)備測點信息時要符合BCS標(biāo)準(zhǔn),建立時序測點和BCS編碼之間的映射關(guān)系。對于日志文本等數(shù)據(jù)文件,文檔采集引擎采用FTP、Quartz支持。對于傳統(tǒng)結(jié)構(gòu)化數(shù)據(jù),通過結(jié)構(gòu)化采集引擎Quartz、Spark實現(xiàn)平臺對該類型數(shù)據(jù)的采集。水電大數(shù)據(jù)采集與存儲系統(tǒng)技術(shù)架構(gòu)如圖3所示。
圖3 水電大數(shù)據(jù)采集與存儲系統(tǒng)技術(shù)架構(gòu)
大數(shù)據(jù)平臺針對不同類型的數(shù)據(jù)提供多樣化的存儲方式,平臺部署了高效的數(shù)據(jù)緩存組件Redis,該組件是一個支持多種數(shù)據(jù)類型的Key-Value,即鍵值對型的數(shù)據(jù)存儲系統(tǒng),具有開源、高性能、多種開發(fā)語言支持的優(yōu)勢,提供基于計算機內(nèi)存的數(shù)據(jù)高速緩存功能。時序數(shù)據(jù)的存儲采用InfluxDB和HBase進行支持。針對非結(jié)構(gòu)化數(shù)據(jù),平臺底層基于Hadoop技術(shù)構(gòu)建,將數(shù)據(jù)以文件的形式存儲于HDFS分布式文件系統(tǒng)之上。小文件對象存儲引擎采用MongoDB進行支持。結(jié)構(gòu)化數(shù)據(jù)倉庫采用Greenplum,利用大規(guī)模并行處理(massively parallel processing,MPP)技術(shù)進行海量數(shù)據(jù)管理,支持同步高并發(fā)查詢。安全平臺保障在以數(shù)據(jù)為核心進行共享、存取、交換等過程中數(shù)據(jù)的安全性。
依托彭水水電公司大數(shù)據(jù)平臺試點建設(shè),數(shù)據(jù)采集與存儲系統(tǒng)累計創(chuàng)建結(jié)構(gòu)化數(shù)據(jù)采集任務(wù)和時序數(shù)據(jù)采集任務(wù)50余個,完成了對安全生產(chǎn)管理、大壩監(jiān)測、計算機監(jiān)控、機組狀態(tài)監(jiān)測等核心業(yè)務(wù)系統(tǒng)數(shù)據(jù)的接入、存儲,累計接入數(shù)據(jù)總量達(dá)到1.5 TB。在數(shù)據(jù)采集和治理的基礎(chǔ)上,平臺通過統(tǒng)一的數(shù)據(jù)共享服務(wù)接口和數(shù)據(jù)權(quán)限管理,為全息展示平臺、應(yīng)急指揮系統(tǒng)、智慧經(jīng)營分析系統(tǒng)、生產(chǎn)輔助決策系統(tǒng)等業(yè)務(wù)系統(tǒng)提供數(shù)據(jù)共享服務(wù),累計為業(yè)務(wù)應(yīng)用創(chuàng)建數(shù)據(jù)服務(wù)指標(biāo)(表)200余個,累計響應(yīng)結(jié)構(gòu)化數(shù)據(jù)請求和時序數(shù)據(jù)請求服務(wù)1 200萬余次,較好地發(fā)揮了數(shù)據(jù)“采、存、管、用”一體化應(yīng)用價值。
大數(shù)據(jù)平臺作為智慧電廠建設(shè)的核心組成部分,在匯聚海量、多源、異構(gòu)數(shù)據(jù)方面發(fā)揮了重要作用。本文圍繞大數(shù)據(jù)平臺數(shù)據(jù)采集和存儲的需求,對采集和存儲系統(tǒng)的總體架構(gòu)、數(shù)據(jù)架構(gòu)、技術(shù)架構(gòu)進行了分析,也在實際建設(shè)中取得了一定的建設(shè)成效。未來還需要在業(yè)務(wù)應(yīng)用和工程實踐中,進一步對數(shù)據(jù)接入系統(tǒng)進行優(yōu)化,以提高數(shù)據(jù)接入的可靠性,以及數(shù)據(jù)存取的高效性。