大規(guī)模電力設備監(jiān)測數據存儲和批量特征分析
0 引言
電力設備在線監(jiān)測系統(tǒng)能夠對設備運行狀況進行連續(xù)或周期性的自動監(jiān)視和檢測。隨著智能電網建設的進步,電力設備在線監(jiān)測取得了很大發(fā)展,監(jiān)測數據的規(guī)模也變得日益龐大,逐漸形成電力設備監(jiān)測大數據[1],這給在線監(jiān)測系統(tǒng)在數據存儲和數據處理方面帶來了新的技術挑戰(zhàn),主要體現(xiàn)在以下幾個方面。
1)數據體量巨大。電力設備監(jiān)測大數據正從TB級向PB級別躍遷,造成數據體量巨大的主要原因是監(jiān)測的廣度大、監(jiān)測點數量多以及數據采樣率高。另外,電力設備監(jiān)測的深度也不斷提升,監(jiān)測類型逐漸多樣,包括變壓器局部放電、油色譜、線路覆冰監(jiān)測、絕緣子泄漏電流、電站視頻監(jiān)測等,進一步導致了監(jiān)測數據的體量非常巨大。
2)數據種類繁多。需要存儲和處理的數據既包括結構化的采樣數據和靜態(tài)關聯(lián)數據,又包括非結構化的采集數據,如音視頻數據等;另外還有用XML、JSON等格式承載的半結構化數據,這給存儲系統(tǒng)帶來很大的技術挑戰(zhàn)。
3)要求快速完成數據分析。在完成監(jiān)測數據采集后,需要一個大數據處理平臺來完成包括數據清洗、格式轉換、數據去噪、特征計算等一系列批量計算任務,這些任務通常是自動定時觸發(fā)的,必須在規(guī)定的時間內完成分析任務,否則會影響后續(xù)的數據分析過程。
4)平臺的選擇。大數據平臺應能有效支持多種大數據計算場景,包括批量計算、在線計算和流式計算,且應能支持高效的數據交互和廣泛、多源的數據集成方案。
目前,電網公司監(jiān)測系統(tǒng)過于依賴集中式存儲區(qū)域網絡(Storage Area Network,SAN)存儲,并基于SOA進行數據集成。存儲軟件主要采用企業(yè)級關系型數據庫,在存儲容量、擴展性以及訪問速度方面均無法滿足電力設備監(jiān)測大數據存儲和數據處理的需求。另一方面,關系型數據庫所擅長的關聯(lián)查詢、主外鍵約束、事務處理等特性在進行大數據分析時又無用武之地,這就迫切需要新的大數據存儲和處理技術以及新的平臺來應對。
針對上述問題和挑戰(zhàn),本文采用全新的MaxCompute大數據處理技術,在阿里云云計算平臺上進行數據存儲和數據處理,以大規(guī)模的變壓器局部放電數據為例,設計數據存儲方法和快速的并行分析方法。
1 電力系統(tǒng)中的批量計算
MaxCompute是阿里云提供的海量數據處理平臺,支持批量結構化、非結構化數據的存儲和計算,數據規(guī)??蛇_EB級別。MaxCompute目前已在電子商務網站的交易分析、企業(yè)數據倉庫和BI分析等領域得到廣泛應用。MaxCompute提供了數據上傳下載通道(Tunnel),以及SQL、MapReduce、Graph等多種計算服務接口。MaxCompute功能組件如
批量計算是指對歷史數據進行周期性的、用戶發(fā)起或者定時觸發(fā)的計算。批量計算每次處理的數據量通常較大,并追求高吞吐量,對交互性、實時性要求較低。批量計算模型如
圖1 MaxCompute功能組件Fig.1 MaxCompute functional components
圖2 批量計算模型Fig.2 Batch calculation model
目前典型的批量計算工具有Hadoop Map Reduce、Spark、阿里云MaxCompute等。批量計算在電力系統(tǒng)中的應用需求非常大,應用最多的計算工具是Hadoop。文獻[2]應用Hadoop設計實現(xiàn)了一種層次化的電壓暫降并行計算方法,提高了海量電能質量監(jiān)測數據的計算效率。文獻[3]應用Hadoop設計實現(xiàn)了變斷面量測數據的快速無損數據壓縮。文獻[4-5]應用Hadoop設計實現(xiàn)了并行化的極限學習機,并實現(xiàn)了短期電力負荷預測。文獻[6]應用Hadoop實現(xiàn)了并行化的數據分析和負荷預測。文獻[7-8]應用Hadoop實現(xiàn)了海量電能質量監(jiān)測數據的并行化查詢。文獻[9]基于并行化的貝葉斯分類器,實現(xiàn)了變壓器的故障診斷,使診斷速度有了很大的提升。
2 使用MaxCompute實現(xiàn)電力設備監(jiān)測數據的高效存儲
2.1 監(jiān)測數據的存儲模式設計
監(jiān)測數據的原始值往往是二進制的采樣數據,以dat文件形式存在[10-11],MaxCompute存儲數據的基本單元是表(table)。為了完成數據分析,需要首先將監(jiān)測數據上傳至MaxCompute。由于MaxCompute無法支持二進制數據的自動解析,上傳之前需要先將其轉換成文本文件格式,如csv文件,再使用Tunnel工具進行數據上傳。
如果使用普通文本文件存儲監(jiān)測數據,則每行可以存儲一個完整采樣周期的數據[12],例如一行文本可以存儲10萬個采樣點的數據。該文本可在HDFS上被MapReduce分析任務直接處理。但MaxCompute對表的列數和表格單元的數據類型有限制,表格單元目前支持的數據類型無法在一行內存儲數萬個采樣值,這需要重新設計表結構。
本文進行了橫縱轉換設計,將常見的“橫表”改為“縱表”,用于存儲原始采樣數據。由于MaxCompute不支持索引,為了最大程度提升數據分析性能,在存儲設計方面還使用了多級分區(qū)技術。使用二級分區(qū)的監(jiān)測大數據存儲模式如
圖3 使用二級分區(qū)的監(jiān)測大數據存儲模式Fig.3 The monitoring big data storage mode using secondary partition
電力設備監(jiān)測數據的兩個最基本屬性是設備編號和數據采集時間。為了提升查詢和數據分析的性能,使用設備ID作為一級分區(qū),采集日期作為二級分區(qū),從而可以有效減少數據查詢的范圍,提升訪問性能。
2.2創(chuàng)建MaxCompute項目
項目是MaxCompute的基本組織單元,通常一類特定的數據分析任務需創(chuàng)建一個項目,并將相關的數據表和資源都放入到該項目中[13]。為了完成項目創(chuàng)建,需要首先使用已有的阿里云賬號登錄阿里云管理控制臺,進入MaxCompute管理控制臺,創(chuàng)建一個新的MaxCompute項目。阿里云管理控制臺如
圖4 阿里云管理控制臺Fig.4 Ali cloud management console
圖5 創(chuàng)建項目選項Fig.5 Project creating options
如果不是長期運行計算任務,可以選擇“I/O后付費”,填入項目名稱和項目描述,創(chuàng)建項目。創(chuàng)建項目選項如
2.3 創(chuàng)建分區(qū)表并添加分區(qū)
2.3.1 配置客戶端
為了創(chuàng)建所設計的分區(qū)表并實現(xiàn)數據上傳,需要首先安裝并配置ODPS cmd客戶端工具。這需要在本地準備好JRE 1.6+版本環(huán)境,并從阿里云官網下載ODPS cmd工具,并配置<ODPS_CLIENT>/conf/odps_config.ini文件,具體如下:
project_name=[project_name]
access_id=***
access_key=***
end_point=http://service.odps.aliyun.com/api
tunnel_endpoint=http://dt.odps.aliyun.com
log_view_host=http://logview.odps.aliyun.comhttps_check=true
access_id和access_key可從阿里云管理控制臺獲取,project_name配置為創(chuàng)建好的MaxCompute項目即可。配置完成后,運行<ODPS_CLIENT>/bin/odpscmd,進入交互模式,會出現(xiàn)項目名稱作為提示符。ODPS cmd控制臺如
圖6 ODPS cmd控制臺Fig.6 The ODPS cmd console
ODPS cmd控制臺運行成功后即可執(zhí)行創(chuàng)建分區(qū)表操作,本文使用SQL DDL語句進行創(chuàng)建數據分區(qū)表、添加分區(qū)的操作,以變壓器的局部放電數據為例來介紹數據存儲的方法和宏觀統(tǒng)計特征的計算方法。
2.3.2 創(chuàng)建數據表并添加分區(qū)
在ODPS cmd中,執(zhí)行SQL語句建表,并添加分區(qū),用于存儲監(jiān)測數據和中間結果數據,具體如下:
create table if not exists ODS_MData(
Time string, ---’采集時間’
Phase bigint, ---’相位’
Value bigint, ---’采樣值’
partitioned by (DeviceID string, Date string);
alter table ODS_MData add if not exists partition (DeviceID=‘001’, Date=‘20170625’);
使用相同的SQL語法,依次創(chuàng)建基本參數表DW_NQF和放電譜圖表DW_PT,數據表字段描述見
表1 數據表字段描述Tab.1 Data table field description
2.4 使用Tunnel進行數據上傳
在ODPS cmd中運行tunnel命令,將監(jiān)測數據文件上傳至MaxCompute表,具體命令如下:
tunnel upload d:/Clouder/jfdata/jf.csv ODS_MData/deviceid =’001’, Date=‘20170625’ ;
命令中的路徑在執(zhí)行時需根據實際路徑進行修改。使用Tunnel進行數據上傳如
圖7 使用Tunnel進行數據上傳Fig.7 Using Tunnel for data upload
在上傳完成之后,可以使用read或者select命令驗證數據是否已經存在。
3 使用MapReduce實現(xiàn)監(jiān)測數據特征計算
3.1 監(jiān)測數據特征計算的總體流程
為了實現(xiàn)對監(jiān)測數據的統(tǒng)計特征計算,需要使用2個MapReduce任務來完成計算,并將計算任務串聯(lián)起來。為了完成任務串聯(lián)和任務調度的周期執(zhí)行,本文使用阿里云數加平臺的大數據開發(fā)套件來設計實現(xiàn)計算任務的工作流,并配置任務調度策略。特征計算的工作流和調度配置界面如
圖8 特征計算的工作流和調度配置界面Fig.8 Feature computing work flow and scheduling configuration interface
在工作流中,Data_synchronization節(jié)點用于執(zhí)行數據同步任務,DW_NQF節(jié)點用于完成基本參數的計算,DW_PT節(jié)點用于計算譜圖特征。在調度策略配置上,設置為每天0點執(zhí)行一次任務調度。DW_NQF節(jié)點和DW_PT節(jié)點都是MapReduce程序,需要首先在本地進行程序開發(fā)和測試,成功后才能上傳至云平臺執(zhí)行。
3.2 本地開發(fā)環(huán)境準備
本文使用Eclipse作為開發(fā)環(huán)境,并需要使用ODPS for Eclipse開發(fā)插件。啟動Eclipse,檢查Wizard選項中是否有ODPS的目錄。當可以創(chuàng)建ODPS類型的項目時,表明本地開發(fā)環(huán)境已準備好。
3.3 MapReduce程序開發(fā)
3.3.1 基本參數的計算
本文設計了MapReduce程序實現(xiàn)基

責任編輯:售電衡衡
-
權威發(fā)布 | 新能源汽車產業(yè)頂層設計落地:鼓勵“光儲充放”,有序推進氫燃料供給體系建設
2020-11-03新能源,汽車,產業(yè),設計 -
中國自主研制的“人造太陽”重力支撐設備正式啟運
2020-09-14核聚變,ITER,核電 -
探索 | 既耗能又可供能的數據中心 打造融合型綜合能源系統(tǒng)
2020-06-16綜合能源服務,新能源消納,能源互聯(lián)網
-
新基建助推 數據中心建設將迎爆發(fā)期
2020-06-16數據中心,能源互聯(lián)網,電力新基建 -
泛在電力物聯(lián)網建設下看電網企業(yè)數據變現(xiàn)之路
2019-11-12泛在電力物聯(lián)網 -
泛在電力物聯(lián)網建設典型實踐案例
2019-10-15泛在電力物聯(lián)網案例
-
新基建之充電樁“火”了 想進這個行業(yè)要“心里有底”
2020-06-16充電樁,充電基礎設施,電力新基建 -
燃料電池汽車駛入尋常百姓家還要多久?
-
備戰(zhàn)全面電動化 多部委及央企“定調”充電樁配套節(jié)奏
-
權威發(fā)布 | 新能源汽車產業(yè)頂層設計落地:鼓勵“光儲充放”,有序推進氫燃料供給體系建設
2020-11-03新能源,汽車,產業(yè),設計 -
中國自主研制的“人造太陽”重力支撐設備正式啟運
2020-09-14核聚變,ITER,核電 -
能源革命和電改政策紅利將長期助力儲能行業(yè)發(fā)展
-
探索 | 既耗能又可供能的數據中心 打造融合型綜合能源系統(tǒng)
2020-06-16綜合能源服務,新能源消納,能源互聯(lián)網 -
5G新基建助力智能電網發(fā)展
2020-06-125G,智能電網,配電網 -
從智能電網到智能城市