鄭建文,彭宇,楊東,白雪峰,劉晨明



[摘? ? 要]針對光伏行業快速發展而帶來的數據劇增及數據實時處理的現實要求,提出基于Hadoop的大數據光伏電站數據處理體系架構。采用Kafka作為數據接收端、Redis作為實時數據庫、Spark及Elasticsearch實現基于分布式OpenTSDB歷史數據的分析及檢索功能。解決了大規模光伏電站面臨的百萬級以上數據的實時處理及分析要求。在實踐中,基于此架構開發出光伏電站空地一體智慧運維管理平臺,在性能及擴展能力方面得到了有效驗證。
[關鍵詞]大數據;Hadoop;分布式;Kafka
[中圖分類號]TM615 [文獻標志碼]A [文章編號]2095–6487(2021)12–00–02
Research on Application Architecture and Key Technologies of a Photovoltaic
Power Station Management Platform Based on Big Data
Zheng Jian-wen,Peng Yu,Yang Dong,Bai Xue-feng,Liu Chen-ming
[Abstract]In response to the rapid development of the photovoltaic industry and the actual requirements of real-time data processing, this paper proposes a big data photovoltaic power plant data processing system architecture based on Hadoop. It solves the real-time processing and analysis requirements of large-scale photovoltaic power plants with data above one million levels. In practice, based on this architecture, a photovoltaic power station air-ground integrated intelligent operation and maintenance management platform has been developed, which has been effectively verified in terms of performance and expansion capabilities.
[Keywords]big data;Hadoop;distributed;Kafka
近年來,隨著新能源電站建設規模的不斷擴大,光伏行業出現了數據增速快、類型多等現象,即監測數據具有數量“多”、類型“廣”的特點。其不僅擁有電站實時采集的發電數據以及環境氣象數據,且包括光伏電站全生命周期(建設期、生產運維期)的所有數據。傳統光伏電站監控平臺雖可有效監測電站運行的實時數據,并在設備發生故障及某些監測指標出現異常時進行告警,但往往在監測規模擴展、實時性及數據智能分析領域有著一定的局限性。隨著近幾年計算機技術及信息技術的突破發展,大數據及人工智能技術在各行領域得到了充分應用,其大規模數據秒級實時處理能力、分布式部署及存儲技術、線性擴容的特點非常適合規模化后的光伏行業進行應用。
針對上述情況,本文提出了基于大數據技術架構的光伏電站空地一體智慧運維平臺的設計思路,并設計了1 GW規模的光伏電站實時數據及歷史數據的分布式集群解決方案,可解決光伏電站規模化后數據劇增帶來的數據標準化、數據實時智能分析處理、分布式集群部署等現實技術問題。
1 系統應用架構
采用大數據技術體系框架、基于Hadoop集群技術,將基于大數據的光伏電站空地一體智慧運維管理平臺從技術架構上設計為5個層次:數據采集、數據處理、數據存儲、數據應用和數據展示(圖1)。
(1)數據采集層。數據采集層采用面向服務和組件化設計理念。針對光伏電站各類設備(逆變器、智能匯流箱、升壓站設備、環境氣象監測設備)數據及生產運維數據(巡檢、兩票等)接口,定義一套開放的數據接口開發標準和配置標準。基于數據接口標準,定制化開發獨立的解析適配器,實現了不同廠家設備及系統之間的數據交換。各解析適配器作為分布式消息中間件(Kafka)的生產者,統一將采集數據推送至Kafka隊列中進行緩存,提供給流式處理服務使用。消息中間件Kafka作為生產者和消費者的消息通信媒介,實現了投遞消息和接收消息程序之間的匹配和解耦,以及各程序之間的相互獨立。
(2)數據處理層。提供在線實時處理和離線批量處理兩種應用模式。在線實時處理采用Apache Storm流式處理技術,Spouts作為Kafka消費者,通過Bolts和Streams Groupings對實時采集的站內遙測、遙信、遙脈和告警等消息進行過濾、合并、保存等處理,處理結果保存至內存數據庫Redis中。離線批量處理采用Apache Spark技術,實現對分布式大規模歷史數據的進行分析計算處理,處理結果直接存儲在分布式時序數據庫OpenTSDB中。
(3)數據存儲層。提供3種數據存儲方式:內存數據庫Redis、分布式時序數據庫OpenTSDB和關系型數據庫MySQL。
(4)數據應用層。數據應用層提供統計報表、工作流、搜索引
擎、API接口應用。搜索引擎 Elasticsearch 基于Redis和OpenTSDB構建反向索引并存儲,提供搜索應用功能。RESTful提供系統內部和第三方數據訪問接口;WebSocket提供數據推送方式,實現實時監測、狀態和告警數據即時在網頁顯示。
(5)數據展示層。提供Web應用、圖表應用、移動應用、大屏系統展示等。通過HTTP、SOA、WebSocket等模式為客戶端的請求提供查詢、實時監視、告警管理、運維管理等服務,通過離線同步模式為移動巡檢客戶端提供服務。系統通過標準的接口訪問內存數據庫、ES搜索引擎和歷史數據庫。
2 關鍵技術應用
2.1 實時數據服務集群設計
以1 GW光伏電站為例,實時數據服務集群設計如圖2所示。
實時數據服務集群通過Zookeeper實現5臺服務器的集群管理。所有服務器均部署解析適配器,接入系統與服務器上的解析適配器相對應。通過對Zookeeper集群接口API定制開發,實現對解析適配器的集群化管理,任何一個解析適配器宕機,都會在負載最小的服務器上啟動新的解析器,從而實現接入數據無單點故障。
通過Zookeeper對服務器上分布式消息隊列Kafka構建集群,各Kafka作為消息代理,其中運行著若干個Partition,由Zookeeper決定Partition對數據的接收,實現負載均衡。當任何接收服務出現故障時,數據流會立即切換到其他負載最小的服務上。
實時數據處理采用流式數據處理服務Storm完成。通過Zookeeper對各服務器上Storm構建集群,通過選舉機制實現負載均衡,集群控制單元會選擇最適合的Storm服務處理數據流。Storm中的Spouts作為Kafka消費者,通過Bolts和Streams Groupings對實時采集的消息數據進行過濾、合并、保存等處理,處理結果保存至內存數據庫Redis中。
實時數據存儲采用內存數據庫Redis實現,通過Zookeeper集群進行管理,主從節點讀寫分離,高效運行。Storm處理完的數據發送到Redis進行內存方式實時存儲,Redis之間通過集群同步數據。
2.2 歷史數據服務集群設計
歷史數據服務集群設計圖如圖3所示。
采用3臺服務器搭建歷史數據服務集群。采用Zookeeper集群管理技術,基于OpenTSDB+Elasticsearch存儲檢索模式,通過特征值預定義及聚合技術,利用Spark離線計算處理服務,構建新的ES反向索引,實現歷史數據的高效存儲及高效檢索。
3 結束語
本文基于Hadoop的分布式基礎計算架構,采用Kafka作為數據接收端,Redis作為實時數據庫,Spark及Elasticsearch實現基于分布式OpenTSDB歷史數據的分析及檢索功能。解決了大規模光伏電站面臨的百萬級以上數據的實時處理及分析的要求。經過在光伏電站實際應用過程中,基于本體系架構開發的光伏電站設備缺陷診斷系統及采用無人機巡檢光伏組件查找熱斑隱裂等缺陷系統可滿足單一電站及多電站的統一管理,在系統性能及擴展能力方面得到了較好的預期效果。
參考文獻
[1] 孟偉君, 張文華, 朱占利,等. 光伏電站綜合監控系統的設計[J]. 太陽能, 2013(17):29-34.
[2] 付華崢, 陳翀, 向勇,等. 分布式大數據采集關鍵技術研究與實現[J]. 廣東通信技術, 2015, 35(10):7-10.
[3] 金雯婷, 張松. 互聯網大數據采集與處理的關鍵技術研究[J]. 中國金融電腦, 2014(11):70-73.
[4] 王建民. 工業大數據技術[J]. 電信網技術, 2016(8):1-5.
[5] 趙云山, 劉煥煥. 大數據技術在電力行業的應用研究[J]. 電信科學, 2014,30(1):57-62.
[6] 吳亞坤,郭海旭,王曉明. 大數據技術研究綜述[J]. 遼寧大學學報(自然科學版), 2015(42):236-242.
[7] 楊巨龍. 大數據技術全解:基礎、設計、開發與實踐[M]. 電子工業出版社, 2014.
[8] 張東霞, 苗新, 劉麗平,等. 智能電網大數據技術發展研究[J]. 中國電機工程學報, 2015(1):2-12.
[9] 張鋒軍. 大數據技術研究綜述[J]. 通信技術, 2014(11):1240-1248.