張煒,王英潔,鄔蓉蓉
(1.廣西電網有限責任公司電力科學研究院,南寧市 530023;2.南方電網科學研究院,廣州市 510080)
面向油中溶解氣體監測時序數據壓縮的改進方法
張煒1,王英潔2,鄔蓉蓉1
(1.廣西電網有限責任公司電力科學研究院,南寧市 530023;2.南方電網科學研究院,廣州市 510080)
為提高油中溶解氣體監測數據的分析、傳輸效率,提出了一種針對時間序列數據的改進壓縮存儲方法。首先區別狀態量和模擬量的數據類型,并創建不同數據列的二維表。其次,組合應用旋轉門算法和哈夫曼算法,并在創建的數據區間索引后實現數據壓縮存儲。實測結果表明該方法不僅能滿足對時間序列數據的高效、并發存儲要求,還有利于在改進數據讀取、傳輸效果的基礎上,開展大數據分析和跨系統應用。
油中溶解氣體;時間序列數據;旋轉門算法;哈夫曼算法
根據《中國電力大數據發展白皮書(2013年)》的介紹,電力企業大多已建成的企業級信息集成平臺雖能處理日常業務,但數據儲存時間以及海量數據的爆發式增長對IT基礎設施提出了更高的要求[1]。以變壓器油中溶解氣體監測數據為例,該數據是電力生產中的關鍵數據,但對此數據的存儲與交換能力尚不能適應電力大數據應用的要求。
在以電力大數據關鍵技術診斷設備運行狀態時,需要利用海量狀態監測數據,而海量數據在數據傳輸、存儲和檢索方面仍存在一定難度[2]。為解決此問題,雖然已經應用了多種電力系統數據壓縮技術[3-8],然而在實際上除優化壓縮算法外,還需結合不同數據的訪問特征研究高速存儲、索引體系結構以及流計算即時處理等技術,進而增強數據壓縮品質。油中溶解氣體監測數據涵蓋了所在電網主變的油中氣體含量,是表征變壓器是否存在內部故障及其故障性質、程度的重要特征數據,但其應用在關系數據庫系統結構化查詢語言(structured query language,SQL)時所暴露出的擴展性差、可靠性低等問題,也不同于數據采集與監視控制(supervisory control and data acquisition,SCADA)系統故障錄波、電能質量等數據格式,故難以適應壓縮品質的要求[9],并制約分析、傳輸監測數據的效率。
本文針對上述問題和需求,在監測系統的時序數據庫基礎上,提出一種適用于油中溶解氣體監測時序數據的壓縮存儲方法。該方法對油中溶解氣體的監測不同于SCADA系統故障錄波、電能質量等數據的索引體系結構的情況,首先將時序數據的數據項按照不同的數據類型組合在一個固定的存儲結構二維表中,再以旋轉門算法和哈夫曼算法組合后壓縮,最后將組合成的若干固定長度的數據塊存儲在數據庫中。該方法將有損與無損壓縮方法相結合,不僅能夠保障壓縮比和壓縮品質,還能夠提升跨系統傳輸、海量數據分析的效率。
1.1 數據讀取分析
與其他工況測試數據相比,油中溶解氣體監測數據分布廣、數據多、頻次高[10],讀取分析難度大。如廣西電網在2015年共采集300臺變壓器或高壓電抗器的92 783條有效監測數據,而每條監測數據需要在關系型數據庫中占用288字節的存儲空間。利用顯著性差異分析等方法[11]分析全網監測數據,篩查存在同制造廠同批次設備的共性缺陷、存在劣化趨勢的隱性缺陷等,需要對監測的數據進行參數多層分解,并形成以時間為線索的數據壓縮流。然而,以下2個方面的局限將影響大數據分析應用的效果:一方面,監測點及監測頻次在不斷增加,數據存儲規模將日劇增大;另一方面,維護傳統關系型數據庫中表結構的關聯性、一致性將勢必犧牲數據的讀寫性能。
1.2 數據集成傳輸
狀態監測評估系統主站除了需要展示、分析監測數據外,還具備信息傳輸、數據共享和分布式處理等職能[12-13]。如各省級電網主站需要向南方電網主站、海量準實時數據平臺、數據中心等推送數據,故對集成傳輸要求高。特別是為落實《電力監控系統安全防護規定》(國家發展改革委2014年第14號令)、Q/CSG 1204009—2015《中國南方電網電力監控系統安全防護技術規范》等要求,將首先在生產控制大區的非控制區(安全Ⅱ區)采集、存儲監測數據,再通過正向安全隔離裝置向管理信息大區的生產管理區(安全Ⅲ區)傳輸、發布和應用監測數據,如圖1所示。此時,通過橫向正向安全隔離裝置傳輸數據將在速率、容量等方面有更大限制[14]。當信息負荷水平過大時,數據傳輸性能下降,滯留大量數據包[15-16]。故系統中數據包吞吐率為40兆位/s (100條安全策略,1 024字節報文長度),數據包轉發延遲小于 10 ms(100%負荷)。因此,須壓縮監測數據,減少通過安全隔離裝置的數量和次數。

圖1 監測系統網絡安全防護邏輯結構Fig.1 Logical structure of network security protection for monitoring system
2.1 油中溶解氣體監測數據結構
油中溶解氣體監測的源數據表包括狀態量和模擬量這兩大類數據,其中狀態量主要是指監測告警和裝置狀態。表1為源數據的表結構。本文將分別處理狀態量和模擬量這2類數據,對于狀態量的處理方法相對簡單,其中僅需保留變化的狀態量可以進行大幅無損壓縮,重點在于模擬量的壓縮。
表2為部分關系數據庫中油中溶解氣體監測數據的原始數據示例,由表2中的數據可知,數據表內存在大量重復數據,可用組合壓縮算法歸檔壓縮原始的油中溶解氣體監測數據,具體步驟為:(1)采用旋轉門壓縮算法壓縮表中的各列數據,并形成新的二維表;(2)梳理經旋轉門壓縮后二維表中的大量空值,并為節省空間而進行組合存儲;(3)采用哈夫曼算法壓縮經組合存儲變換后的數據。
2.2 數據壓縮
2.2.1 旋轉門壓縮
圖2為旋轉門算法原理的示意圖。如圖2所示,X0作為當前保留的一個數據點,以距離X0為ΔE的上下2個點作為支點,t1時刻的數據點X1分別與X0的2個支點形成第1個三角形的虛擬門[17]。同樣,在t2
表1 源數據的表結構
Table 1 Table structure of source data

表2 原始數據示例Table 2 Examples of raw data

時刻的數據點X2分別與X0的2個支點形成第2個三角形虛擬門,此時,第2個三角形包含了前一個數據點X1。接下來繼續進行旋轉門操作,第3個三角形虛擬門包含了前面2個數據點X1、X2,到第4個點X4時,三角形虛擬門只包含了X1,并沒有包含X2和X3。因此,第1段旋轉門操作結束。此時,從t0到t3時段,壓縮了X1、X2、X3數據點被保留。同樣,t3到t5完成第2個旋轉門操作,只保留X5數據點。

圖2 旋轉門算法原理Fig.2 Principle of rotating gate algorithm
對原始數據逐列應用旋轉門壓縮算法,壓縮后的數據仍然可以表示成一張二維表,而被壓掉的數據點將被以空值(Null)表示,進而大幅降低存儲量。圖3為“C2H2_DATA”列經旋轉門壓縮后的結果。
表3 C2H2的壓縮結果
Table 3 C2H2compression results

旋轉門壓縮階段的主要步驟為:(1)逐列壓縮表中數據,并以“Null”表示被壓縮的數據;(2)逐行梳理表中數據,并過濾除時間外其他均為空值的行。
完成上述步驟后,所得的結果即是旋轉門壓縮階段的最終結果。旋轉門壓縮算法是一種有損壓縮算法,被壓縮掉的數據可能無法精確恢復,但仍可依據保留的數據擬合近似值和繪制趨勢曲線,不影響監測數據預警和診斷設備異常。
此外,時序數據庫將單個測量參數作為管理基本單位,每個參數都帶一個時標。為了壓縮時標,采用邊長相對時間表示數據的時標,即可使高頻率獨立采集的數據達到較好效率。但對于油氣數據這類多個參數(37個)同時采集的低頻數據而言,則會浪費很多空間去存儲相同的數據時標,本文采用多個采集指標組合存儲的方式,這樣可以共享時標,節省存儲。
2.2.2 組合存儲
經旋轉門壓縮后產生的空值也將占用存儲空間,且其存儲方式也直接影響到存儲量,本文采用非空標識位圖來表示每個數據是否為空值(即每個數據用一個比特表示是否為空值),其組合存儲后的數據塊結構如圖3所示。

圖3 非空標識位圖Fig.3 Non empty ID bitmap
圖3中:數據塊描述信息是說明數據轉換后存儲結構的簡要信息,包括數據函數和列數以及數據非空標識位圖、時標信息、行數據的起始位置;時標信息存儲每行數據的時標字段,每個時標占8字節;數據非空標識位說明表中數據點是否為空,每個數據點以位表示;行數據塊存儲每行數據非空的數據點,每個數據點占4字節。
結構轉換的具體步驟為:(1)按順序取表中的一行數據,并將其中的時標追加至新數據結構的時標信息中;(2)按順序逐列檢查該行數據中的數據項,若數據項為空,則在位圖的相應位置置0,否則置1,并將該數據項追加到新數據結構的行數據塊中;(3)重復以上2步,直至掃描完畢所有的數據行;(4)將數據行數、列數及時標信息、數據非空標識位圖位、行數據塊的開始位置信息填入數據塊描述信息中,至此完成組合存儲轉換。
2.2.3 哈夫曼壓縮
哈夫曼算法是一種最常用的不等長無損壓縮編碼方法,可提升訪問速度[18]。油中溶解氣體監測數據通常按時間查看,故為確保查詢效率,則單獨提取時標信息且無須壓縮,查詢時亦無須解壓則直接查詢。因此本文中的無損壓縮只對行數據塊進行,如圖4所示。

圖4 無損壓縮示例Fig.4 Lossless compression process
圖4中:左部為經旋轉門壓縮組合存儲后的數據;右部為以哈夫曼壓縮算法無損壓縮的內容,其關鍵在于確定碼元在數據塊中出現的權重,本文以字節(信源符號)為單位對行數據塊(信源)進行編碼,即是信源符號(碼元)最大數為256個(0,1,2,…,256),其主要步驟如下詳述。
(1)定義一個長度為256的整數數組F,并將所有元素初值設置為0,該數組用于統計各碼元在整個被編碼的數據塊中出現的次數。
(2)逐字節地遍歷被編碼數據塊,并以該字節的值(無符號整數)為數組F的下標,對數組的元素進行加1操作,直至遍歷被編碼數據塊所有字節。
(3)執行步驟1和步驟2后,可得碼元及其出現的次數,只有F中值不為0的數組元素下的標值才是編碼中有效的碼元(碼元數量影響編碼后的碼字長度),經統計碼元出現次數可得各碼元的權重。
(4)由步驟3求解、保存碼元及其權重構造編碼表,并使用編碼表對被編碼數據逐字節編碼直至最后一個字節,將編碼后的數據存儲于圖4中壓縮數據的位置中。
(5)鑒于哈夫曼編碼本身不具備檢錯和糾錯功能,故以美國標準信息交換代碼(American standard code for information interchange,ASCII)校驗哈夫曼編碼表和壓縮數據,并將結果存儲于圖4中壓縮數據校驗碼的位置中。
在解壓數據時,先計算校驗和是否正確,哈夫曼編碼的解壓過程利用壓縮時已計算好的編碼表來解壓縮數據,不同之處在于壓縮時需逐字節地掃描被壓縮數據,而解壓過程則是逐位掃描已壓縮數據而還原數據。
3.1 壓縮比分析
壓縮500 kV玉林站2號主變B相3個月內的122條監測數據,結果如圖5所示。分析氫氣測值的壓縮結果,如圖6所示。可見原122個H2測值在經壓縮后為21個點,壓縮比約為6∶1,有效地還原了區間范圍內數據上下波動的情況,保留了高價值的峰值數據。

圖5 3個月內的監測數據Fig.5 Monitoring data within three months

圖6 采用旋轉門法壓縮后的數據Fig.6 Data compressed by rotating gate algorithm
改進壓縮方法與測值數據變化區間范圍相關,梳理現有監測數據樣本值發現,測值主要集中在200 μL/L內變化,通過調整旋轉門壓縮參數,壓縮率可以達到8∶1,而無損數據的基本特征。因此,通過改進算法原理,最多1個字節即足以表示這200多種變化(1字節=8位,28=256種變化)。在實際應用中,以2015年廣西電網在用的300套監測裝置共采集92 783條有效監測數據為例,采用本方法最低可節省存儲空間為92 783×(288-36)字節=23 381 316字節,即節約了87.5%的存儲空間。
3.2 解壓讀取和傳輸分析
與傳統的關系性數據庫不同,在采用時序數據庫存儲后是以時間序列索引按序存儲監測數據,并以時間點或時間段讀取數據。為檢驗采用壓縮算法后的誤差,對壓縮后的廣西電網300條監測數據進行分析,結果如圖7所示。對壓縮后油中氣體監測數據大小進行統計,設備狀態分為警示、注意、正常3類等級,其監測數據與設備狀態結果與壓縮前一致,故可得壓縮數據后并未造成關鍵數據遺漏或偏差,適合用于分析設備狀態。因此,改進壓縮方法可在不影響大數據分析的情況下,依據監測數據的時間偏移量快速檢索和定位,提升讀取分析效率。

圖7 監測數據分析的平行坐標圖Fig.7 Parallel coordinates of monitoring data
圖8為壓縮前后數據庫鏡像文件傳輸的網絡使用率。經監控、比對可知,壓縮后數據庫鏡像文件傳輸所耗時間由43 s減少至7 s,其效率提高了約6倍,且還可多傳輸276.7 MB的數據。測試壓縮后數據的傳輸效果,說明該方法可以通過改進向海量準時數據平臺等系統推送數據的效率,滿足電力監控系統安全防護技術規范的要求。

圖8 壓縮前后的網絡使用率Fig.8 Network usage before and after compression
3.3 效果分析
本文采用有損壓縮和無損壓縮的組合存儲方式。由經驗分析可得,視不同設備的運行狀態,單臺設備監測數據的有損壓縮比可達8∶1,而無損壓縮則分布在4∶3到3∶1之間,因此推算綜合壓縮率在32∶3到24∶1之間。因哈夫曼算法是無損壓縮,除數據損壞情況外,解碼還原率應為100%。故總體解碼還原率取決于旋轉門算法的壓縮參數,當旋轉門壓縮比為8∶1時,解碼還原率大于1/8。本文保留了監測告警和裝置故障的狀態量,重點在于壓縮模擬量,故不影響及時發現異常突變的情況和還原監測趨勢。對容量為178.5 MB的數據進行壓縮實驗,模擬傳輸的實驗結果見表4。
表4 壓縮效果分析
Table 4 Analysis of compression results

由壓縮比、讀取和傳輸的測試結果可知,壓縮后的數據容量減少了162.272 MB,節約了90%的存儲空間,壓縮比達到了10∶1;壓縮后的傳輸時間減少了34 s,節約了83%的傳輸時間。本文所采用的旋轉門和哈夫曼組合算法,能夠有效地存儲油中溶解氣體這類低頻次數據塊,不會丟失變壓器異常突變時的預警數據,并能夠有效解壓和重構歷史數據,更適用于快速檢索變壓器異常或監測裝置故障時的數據。
由于自適應小波、二維重組等壓縮算法主要用于SCADA系統、錄波或電能質量裝置數據,其數據特征在于采集頻率高、采集點數多、變化頻率低、爆發式規模等,所以本文算法更適用于油中溶解氣體監測數據采樣頻次較低、數據規模固定,但不容遺漏異常突變情況的數據特征,并滿足了數據檢索讀取與傳輸要求。此外,本文采用組合存儲方式的同時,針對數據查詢的特征,將時標從數據剝離,且不進行壓縮,這樣有利于數據檢索,壓縮與傳輸效率也將有利于在移動終端APP軟件中檢索分析監測數據。
本文提出了一種面向油中溶解氣體時序數據壓縮的改進方法,通過組合應用旋轉門算法和哈夫曼算法而改進了數據索引體系結構及流計算方法,提升了數據壓縮的品質。該方法適用于油中溶解氣體監測數據頻次較低、規模固定及突變測值關鍵的特點,在大數據分析與傳輸方面,能夠減少約90%的存儲空間,縮短約6倍的應用時間,取得合適的數據讀取、傳輸效果。
[1]中國電機工程學會電力信息化專業委員會.中國電力大數據發展白皮書[M].北京: 中國電力出版社, 2013:1-22.
[2]張斌,張東來.電力系統采集數據壓縮品質影響規律研究[J].電網技術,2012,36(4):160-166. ZHANG Bin, ZHANG Donglai. Research on influencing law of compression quality of acquisitioned power system data[J]. Power System Technology,2012,36(4):160-166.
[3]康忠健,樊建川,徐麗.自適應小波壓縮算法在連續錄波裝置中應用[J].電力自動化設備,2009,29(10):116-119,124. KANG Zhongjian,FAN Jianchuan,XU Li. Application of adaptive wavelet data compression algorithm in continuous recorder[J]. Electric Power Automation Equipment,2009,29(10):116-119,124.
[4]閆常友,楊奇遜,劉萬順.基于提升格式的實時數據壓縮和重構算法[J].中國電機工程學報,2005,25(9):6-10. YAN Changyou, YANG Qixun, LIU Wanshun. A real-time data compression & reconstruction method based on lifting scheme[J].Proceedings of the CSEE,2005,25(9):6-10.
[5]劉毅,周雒維,馮浩.電能質量監測網錄波數據壓縮方法[J].電網技術, 2010, 34(4): 199-203. LIU Yi, ZHOU Luowei, FENG Hao. Method for compressing recorded data from power quality monitoring network[J].Power System Technology,2010,34(4):199-203.
[6]GEREK ? N, ECE D G. Compression of power quality event data using 2D representation[J]. Electric Power Systems Research, 2008, 78(6): 1047-1052.
[7]王超,張東來,張斌,等.電力系統二維重組法數據壓縮算法[J].電工技術學報,2010,25(11) :177-182. WANG Chao, ZHANG Donglai, ZHANG Bin,et al.A 2-D information reordering data compression method for power system[J].Transactions of China Electrotechnical Society, 2010, 25(11): 177-182.
[8]馬發勇,厲啟鵬,馬志斌,等.電力調度SCADA系統中歷史數據壓縮及存儲策略[J].電網技術, 2014,38(4):1109-1114. MA Fayong, LI Qipeng, MA Zhibin, et al.The research of historical data compression and storage strategy in power dispatch SCADA system[J].Power System Technology, 2014,38(4):1109-1114.
[9]白紅偉,馬志偉,宋亞奇.基于云計算的智能電網狀態監測數據的處理[J]. 華東電力,2011,39(9):1485-1488. BAI Hongwei, MA Zhiwei,SONG Yaqi.Processing of smart grid monitoring data based on cloud computing[J].East China Electric Power,2011,39(9):1485-1488.
[10]趙笑笑,云玉新,陳偉根.變壓器油中溶解氣體的在線監測技術評述[J].電力系統保護與控制,2009,37(23):187-191. ZHAO Xiaoxiao, YUN Yuxin, CHEN Weigen. Comment on on-line monitoring techniques for dissolved gas in transformer oil[J].Power System Protection and Control, 2009,37(23):187-191.
[11]中國電力企業聯合會.輸變電設備狀態檢修試驗規程: DL/Z 393-2010[S].北京:中國電力出版社,2010.
[12]呂澤承,鄧雨榮,張煒,等.在線監測系統現場綜合處理單元與變電站平臺之間的通信技術[J].南方電網技術,2013,7(6):136-140. LYU Zecheng, DENG Yurong, ZHANG Wei,et al. Communication technology between the integrated processing unit and substation platform of on-line monitoring system[J].Southern Power System Technology,2013,7(6):136-140.
[13]陳曉國,王俊錁,張煒,等. 基于IEC 61850的設備狀態在線監測系統架構優化及數據模型[J].南方電網技術,2015, 9(7): 95-99. CHEN Xiaoguo,WANG Junke, ZHANG Wei,et al. Structure optimization and data modelling of IEC 61850 based online equipment monitoring system[J].Southern Power System Technology, 2015,9(7):95-99.
[14]申永輝.電力專用安全隔離裝置的原理和應用[J].湖南電力, 2006,26(6):31-33.
[15]李高望,鞠文云,段獻忠,等.電力調度數據網傳輸特性分析[J].中國電機工程學報,2012,32(22):141-148. LI Gaowang, JU Wenyun,DUAN Xianzhong, et al.Transmission characteristics of the electric power dispatching data network[J].Proceedings of the CSEE,2012,32(22):141-148.
[16]胡娟, 李智歡,段獻忠.電力調度數據網結構特性分析[J].中國電機工程學報,2009,29(4):53-59. HU Juan, LI Zhihuan, DUAN Xianzhong. Structural feature analysis of the electric power dispatching data network[J].Proceedings of the CSEE,2009,29(4):53-59.
[17]曲奕霖,王文海.用于過程數據壓縮的自控精度SDT算法[J].計算機工程, 2010, 36(22): 40-42. QU Yilin , WANG Wenhai. Automatic parameter control SDT algorithm for process data compression[J].Computer Engineering,2010,36(22):40-42.
[18]歐陽一鳴,黃貴林,梁華國,等.利用少數相關位的SoC測試數據壓縮方法[J].電子測量與儀器學報, 2013, 27(1):76-82. OUYANG Yiming, HUANG Guilin, LIANG Huaguo,et al. Test data compression of system-on-chip(SoC) using few relevant bits[J].Journal of Electronic Measurement and Instrument, 2013, 27(1):76-82.
(編輯 景賀峰)
An Improved Method for Compressing Time Series Data of Dissolved Gas Monitoring in Oil
ZHANG Wei1,WANG Yingjie2,WU Rongrong1
(1. Electric Power Research Institute of Guangxi Power Grid Co., Ltd., Nanning 530023, China;2. Electric Power Research Institute, China Southern Power Grid, Guangzhou 510080, China)
In order to improve the monitoring data analysis and transmission efficiency of dissolved gases in oil, this paper proposes a improved compression storage method for time series data. Firstly, we distinguish the data types of state and analog, and create two-dimensional table with different data columns. Secondly, combining the spinning door transformation algorithm and Huffman compress algorithm, we create a data interval index to achieve data compression and storage. The measured results show that the proposed method can not only meet the requirements of efficient compression and storage data for time series, but also develop the large data analysis and cross system applications based on the improved data reading and transmission effect.
dissolved gas in oil; time series data; spinning door transformation algorithm; Huffman compress algorithm
中國南方電網公司科技項目(GXKJXM20151039)
TM 85
A
1000-7229(2017)05-0098-07
10.3969/j.issn.1000-7229.2017.05.013
2017-03-01
張煒(1983),男,碩士,高級工程師,主要研究方向為電力設備狀態監測與故障診斷;
王英潔(1982),女,碩士,高級工程師,主要研究方向為電力設備狀態監測與故障診斷;
鄔蓉蓉(1984),女,碩士,工程師,主要研究方向為電力設備狀態監測與故障診斷。