趙霞 林天華 馬素霞 齊林海
摘要:根據(jù)電能質(zhì)量系統(tǒng)中監(jiān)測數(shù)據(jù)海量化的趨勢,提出了一種基于部分存儲和選擇性加載的數(shù)據(jù)處理算法,徹底解決了現(xiàn)有數(shù)據(jù)處理算法中重復(fù)排序和多余處理的問題。在計算日指標(biāo)時,根據(jù)存儲率存儲部分日排序數(shù)據(jù);在計算周(月、季、年)指標(biāo)時,利用多路歸并算法將存儲的部分日排序數(shù)據(jù)合并,計算出臨時95概率大值(CP95);根據(jù)臨時CP95確定需要重載的日數(shù)據(jù),對部分存儲的日數(shù)據(jù)和重載數(shù)據(jù)重新排序以計算穩(wěn)態(tài)指標(biāo)。部分存儲的日排序數(shù)據(jù)可以重復(fù)利用,有效解決了傳統(tǒng)處理方案中的重復(fù)排序問題;排序過程中只需讀取部分日排序數(shù)據(jù)和少量重載數(shù)據(jù),有效解決了傳統(tǒng)處理方案中冗余處理問題。與傳統(tǒng)的數(shù)據(jù)處理方法做測試對比,結(jié)果表明:日采樣數(shù)據(jù)較小時,性能提升3倍以上;日采樣數(shù)據(jù)超過2880時,性能提升15倍以上。數(shù)據(jù)量越大,性能提升越明顯。所提方案已在山西、河北等監(jiān)測系統(tǒng)中成功應(yīng)用,實踐證明所提方案正確、有效。
關(guān)鍵詞:電能質(zhì)量; 海量數(shù)據(jù); 多路歸并; 存儲率; 重載率
中圖分類號:TP319 文獻標(biāo)志碼:A
Abstract:The monitoring data in the power quality monitoring system increased quickly. A new method based on partial storage and selective reloading was proposed, which can solve the problem of repetitive sorting and redundant processing in the tradition methods. In the calculation of the daily index, daily data was sorted and stored partly based on saving rate. In the calculation of week (month, season or year) index, the partly saved daily data in a week (month, season or year) were merged by the multiple merge algorithm to calculate a temporary 95 percentile (CP95), which could be used to determine which daily data should be reloaded. Besides the reloaded data, all other needed data were reordered to calculate the steady index. The sorting process only needed part of the stored daily data and a small amount of reloaded data, so the redundant processing problem in traditional processing method was solved effectively. Compared with the traditional data processing method, the experimental results show the efficiency can be increased more than 3 times using the proposed method when daily sampling data is relatively small. When the number of daily sampling data is more than 2880, the efficiency can be increased more than 15 times. The larger the amount of sampling data is, the more obviously the performance improves.The method has been applied in the monitoring system of Shanxi, Hebei and other provinces successfully. It is proved in practice that the method is correct and effective.
Key words:power quality; mass data; multiple merge; store rate; reload rate
0 引言
電能質(zhì)量監(jiān)測分析系統(tǒng)是發(fā)現(xiàn)和分析各種電能質(zhì)量問題的主要手段,為電能質(zhì)量的改善和電力系統(tǒng)故障的診斷提供決策依據(jù)[1-3]。目前,大部分省供電公司已建立了覆蓋全省的電能質(zhì)量在線監(jiān)測系統(tǒng)[4-6],電能質(zhì)量在線監(jiān)測系統(tǒng)中數(shù)據(jù)呈指數(shù)級增長,原因如下:首先電能質(zhì)量穩(wěn)態(tài)指標(biāo)數(shù)量眾多,包括電壓、電流、頻率、電壓諧波、電流諧波、電壓間諧波、電流間諧波等,超過230個指標(biāo)(諧波統(tǒng)計2~50次);其次,隨著監(jiān)測工作的推進,個別省監(jiān)測系統(tǒng)包含的監(jiān)測點數(shù)已超過千個;最后,隨著監(jiān)測要求的提高,穩(wěn)態(tài)采樣間隔越來越小,通常在3s到300s之間,對應(yīng)每日采樣點數(shù)為288到28800。根據(jù)電能質(zhì)量國標(biāo)和電氣與電子工程師協(xié)會(Institute of Electrical and Electronic Engineers,IEEE)標(biāo)準(zhǔn)要求,在分析穩(wěn)態(tài)指標(biāo)時一般要統(tǒng)計各通道在某時間段(日、周、月、季、年、自定義時間段)內(nèi)的最大值、最小值、平均值、99概率大值(99 Percentile,CP99)、95概率大值(95 Percentile,CP95)[7-8]。由于數(shù)據(jù)量大,電能質(zhì)量穩(wěn)態(tài)指標(biāo)計算非常耗時,穩(wěn)態(tài)數(shù)據(jù)處理已成為系統(tǒng)的性能瓶頸。如何高效地利用電能質(zhì)量數(shù)據(jù)、提高數(shù)據(jù)處理效率成為電能質(zhì)量監(jiān)測與分析系統(tǒng)的重要問題。
目前,國內(nèi)外文獻中對海量數(shù)據(jù)的研究很多[9-11],但是,針對電能質(zhì)量監(jiān)測系統(tǒng)中海量數(shù)據(jù)的性能研究較少。文獻[12]提出了海量電能質(zhì)量數(shù)據(jù)交換格式文件快速解析方案,對歷史采樣數(shù)據(jù)的解析進行了優(yōu)化;文獻[13]針對海量電能質(zhì)量監(jiān)測數(shù)據(jù),提出了基于分布式文件系統(tǒng)的管理方案,對歷史采樣數(shù)據(jù)的存儲和讀取進行了優(yōu)化,未涉及歷史采樣數(shù)據(jù)的計算過程;文獻[14]針對海量電能質(zhì)量數(shù)據(jù)的傳輸和存儲問題,提出了數(shù)據(jù)壓縮方案;文獻[15]采用數(shù)據(jù)庫分區(qū)技術(shù)、緩存機制和索引機制實現(xiàn)了數(shù)據(jù)中心的建設(shè);文獻[16]提出了基于Hadoop的海量電能質(zhì)量監(jiān)測數(shù)據(jù)分析平臺,利用分布式計算,提高系統(tǒng)數(shù)據(jù)處理能力;文獻[17]對topk算法進行優(yōu)化,提高了95概率大值的計算方法,但topk算法仍要求所有數(shù)據(jù)參與排序,且要求每個數(shù)據(jù)點作為一條記錄進行存儲,容易造成數(shù)據(jù)訪問緩慢;文獻[18-22]對歸并算法等排序方法進行了研究,但這些文獻研究的是通用方法,未利用電能質(zhì)量數(shù)據(jù)的統(tǒng)計特點,雖可應(yīng)用于電能質(zhì)量數(shù)據(jù)處理,但對系統(tǒng)效率提升不大。
本文利用電能質(zhì)量穩(wěn)態(tài)指標(biāo)的統(tǒng)計特點,存儲部分日排序數(shù)據(jù),利用部分?jǐn)?shù)據(jù)代替所有數(shù)據(jù),計算出CP99值和CP95值,實現(xiàn)了周、月、季、年等穩(wěn)態(tài)指標(biāo)的高效計算,提出了電能質(zhì)量穩(wěn)態(tài)數(shù)據(jù)處理方案。測算結(jié)果表明,本文方案與傳統(tǒng)方案相比,日采樣數(shù)據(jù)較小時,性能提升3倍以上;日采樣數(shù)據(jù)超過2880時,性能提升15倍以上。數(shù)據(jù)量越大,性能提升越明顯。解決了電能質(zhì)量監(jiān)測分析系統(tǒng)的性能瓶頸問題。本方案與具體的系統(tǒng)結(jié)構(gòu)、存儲方案無關(guān),能應(yīng)用于所有電能質(zhì)量分析系統(tǒng)。
1 傳統(tǒng)處理方案的不足
1.1 傳統(tǒng)數(shù)據(jù)處理方法原理
最大、最小和平均值的統(tǒng)計,對系統(tǒng)性能影響較小。CP95(CP99)值是指把指標(biāo)的所有數(shù)據(jù)點從大到小排序,取排名為5%(1%)之后的第一個數(shù)據(jù)??梢?,穩(wěn)態(tài)指標(biāo)的計算時間主要取決于排序速度。傳統(tǒng)計算方案采用某種排序算法,對所有數(shù)據(jù)進行排序,然后取出CP95值和CP99值。
速度較快的排序算法主要有快速排序、堆排序和k路歸并排序,其時間復(fù)雜度分別為O(n lb n)、O(n lb n)和O(n lb k),空間復(fù)雜度分別為O(lb n)、O(1)和O(n),n為數(shù)據(jù)點個數(shù)。選取采樣間隔300s、30s和3s,時間段為周、月、季、年的數(shù)據(jù)進行測試,可以發(fā)現(xiàn)快速排序耗時最少,k路歸并排序比快速排序略慢。3s采樣間隔下,三種排序算法計算一個指標(biāo)(包含A、B、C三相)的耗時對比如圖1所示。
1.2 傳統(tǒng)數(shù)據(jù)處理方案存在的問題
對傳統(tǒng)數(shù)據(jù)計算方案進行研究,可以發(fā)現(xiàn)其存在三個方面的問題:
1)對大量數(shù)據(jù)排序,將造成系統(tǒng)性能急劇下降。當(dāng)采樣間隔為3s時,快速排序算法計算一個監(jiān)測點的月穩(wěn)態(tài)指標(biāo)約需6.1min,計算年穩(wěn)態(tài)標(biāo)約需1.67h。
2)傳統(tǒng)數(shù)據(jù)計算方案中每組采樣數(shù)據(jù)在計算日、周、月、季、年指標(biāo)時均要參加排序,每組數(shù)據(jù)至少參加五次排序。重復(fù)的排序,加重了系統(tǒng)負(fù)荷。
3)傳統(tǒng)數(shù)據(jù)計算方案讀取全部數(shù)據(jù)進行排序,但根據(jù)CP99和CP95的定義可以發(fā)現(xiàn),計算CP99值和CP95值時并不需要把所有數(shù)據(jù)排序,只需排出前N*5%+1即可。對全部數(shù)據(jù)排序,不僅浪費排序時間,還增加數(shù)據(jù)讀取時間。
2 改進的數(shù)據(jù)處理方案
2.1 數(shù)據(jù)預(yù)處理
電能質(zhì)量分析系統(tǒng)中通常需要計算日、周、月、季、年等指標(biāo),數(shù)據(jù)需要多次參加排序。k路歸并排序算法的思想是把總數(shù)據(jù)分成k組分別排序,然后再把k個有序小數(shù)組合并成一個總有序數(shù)組。如果存儲每日的排序數(shù)據(jù),計算其他時間段指標(biāo)時以天數(shù)為k,使得有序小數(shù)組恰好為日排序數(shù)據(jù),則每日的排序數(shù)據(jù)可以在計算周、月、季、年指標(biāo)時重復(fù)利用,只需將k日內(nèi)有序數(shù)組合并成總有序數(shù)組即可。此外,還可以存儲每日數(shù)據(jù)的采樣點數(shù)、最大、最小和平均值,計算周、月、季、年的最大、最小和平均值時,可以直接從中計算得出。
通過數(shù)據(jù)預(yù)處理,在計算周、月、季、年指標(biāo)時只需對有序數(shù)組進行合并,可以節(jié)省大量排序時間,且一次排序多次使用,解決了數(shù)據(jù)重復(fù)排序的問題; 缺點是增加了100%的存儲空間。
2.2 部分存儲
2.2.1 算法描述
根據(jù)CP95(CP99)的定義可以發(fā)現(xiàn),計算CP95(CP99)值時并不需要把所有數(shù)據(jù)排序,只需排出前N*5%+1(N*1%+1)即可。因此可以對數(shù)據(jù)預(yù)處理算法進一步改進,不存儲全部日排序數(shù)據(jù),只存日排序數(shù)據(jù)的前X(存儲率,X≥0.05且X≤1),對CP95(CP99)的計算算法進行調(diào)整如下:
1)假定每日采樣個數(shù)為Ni(i=1,2,…,k,k為統(tǒng)計的天數(shù)),存儲排序后日數(shù)據(jù)的前NSi個值(NSi=Ni*X+1),存儲數(shù)據(jù)定義為Si,未保存的數(shù)據(jù)定義為Li,Si+Li為每日所有采用數(shù)據(jù),如圖2所示。
2)計算周、月、季、年等指標(biāo)時,取出k日內(nèi)的Si進行合并排序,結(jié)果為TS,并取TS的第Index95個值(Index95=(∑ki=1Ni)*5%+1)為暫時的CP95值,命名為CP95′。
3)取出時間范圍內(nèi)每日存儲數(shù)據(jù)Si的最小值minSi,比較minSi和CP95′。
3.1)若minSi≤CP95′,則說明該日數(shù)據(jù)中未保存的數(shù)據(jù)Li不比CP95′大,所以CP95不會在Li中。而Si已經(jīng)參加了合并排序,所以該日數(shù)據(jù)不需要重新計算。
3.2)若minSi>CP95′,則說明該日數(shù)據(jù)中未保存的數(shù)據(jù)Li中存在比CP95′大的數(shù),把i對應(yīng)的日期加入到ReLoad集合中,為重新讀取采樣數(shù)據(jù)作準(zhǔn)備。
2.2.3 算法分析
算法的核心思想是利用部分?jǐn)?shù)據(jù)(預(yù)先存儲的部分排序數(shù)據(jù))和選擇性加載策略計算出CP95值和CP99值。因為讀取的數(shù)據(jù)較少,因此在相同數(shù)據(jù)存取方式下,算法的存取效率比傳統(tǒng)方法高;參與排序的數(shù)據(jù)較少且為有序數(shù)組,因此算法排序效率要遠高于傳統(tǒng)方法。
[8] IEEE Standards Coordinating Committee 22 on Power Quality. IEEE Std1159.32003 IEEE recommended practice for the transfer of power quality data[S]. New York: IEEE, 2004:1-200.
[9] 馬友忠, 慈祥, 孟小峰. 海量高維向量的并行Topk連接查詢[J]. 計算機學(xué)報, 2015, 38(1):86-98.(MA Y Z, CI X, MENG X F. Parallel Topk join on massive highdimensional vectors[J]. Chinese Journal of Computers, 2015,38(1):86-98.)
[10] 王有為, 王偉平, 孟丹. 基于統(tǒng)計方法的Hive數(shù)據(jù)倉庫查詢優(yōu)化實現(xiàn)[J]. 計算機研究與發(fā)展, 2015, 52(6):1452-1462. (WANG Y W,WANG W P, MENG D.Query optimization by statistical approach for Hive data warehouse[J]. Journal of Computer Research and Development, 2015,52(6):1452-1462.)
[11] 劉亞秋, 李海濤, 景維鵬. 基于Hadoop的海量嘈雜數(shù)據(jù)決策樹算法的實現(xiàn)[J]. 計算機應(yīng)用, 2015, 35(4):1143-1147. (LIU Y Q,LI H T,JING W P.Implementation of decision tree algorithm dealing with massive noisy data based on Hadoop[J].Journal of Computer Applications,2015,35(4):1143-1147.)
[12] 張逸,楊洪耕.海量電能質(zhì)量數(shù)據(jù)交換格式文件快速解析方案[J].電力自動化設(shè)備,2013,33(12):116-121. (ZHANG Y,YANG H G.Fast parsing of massive PQDIF files[J].Electric Power Automation Equipment,2013,33(12):116-121.)
[13] 張逸,楊洪耕,葉茂清.基于分布式文件系統(tǒng)的海量電能質(zhì)量監(jiān)測數(shù)據(jù)管理方案[J].電力系統(tǒng)自動化,2014,38(2):102-108. (ZHANG Y,YANG H G,YE M Q. A data management scheme of massive power quality monitoring data based on distributed file system[J].Automation of Electric Power Systems, 2014,38(2):102-108.)
[14] 魏雪琴.電能質(zhì)量數(shù)據(jù)壓縮研究[D].合肥: 安徽大學(xué),2013:5-25. (WEI X Q. The research on power quality data compression[D].Hefei: Anhui University,2013:5-25.)
[15] 趙東旭. 電能質(zhì)量數(shù)據(jù)中心建設(shè)關(guān)鍵問題研究[D]. 北京:華北電力大學(xué),2012:10-20.(ZHAO D X. Research on key issues in power quality data center construction[D]. Beijing: North China Electric Power University,2012:10-20.)
[16] 王淑祥,馬素霞. 基于Hadoop的海量電能質(zhì)量監(jiān)測數(shù)據(jù)分析平臺研究[J].中國科技信息,2013, 25(13): 79-80.(WANG S X,MA S X. Study on massive power quality monitoring data analysis platform based on Hadoop[J]. China Science and Technology Information, 2013, 25(13): 79-80.)
[17] 李斌, 郭雅娟, 陳錦銘, 等. 電能質(zhì)量監(jiān)測系統(tǒng) 95 概率大值的 topk 優(yōu)化研究[J]. 電力信息化, 2013, 11(1): 20-24. (LI B,GUO Y J,CHEN J M,et al.Research on the topk optimization method of 95% probability values for the power quality monitoring system[J].Electric Power Information Technology,2013,11(1):20-24.)
[18] 白宇,郭顯娥. 深度優(yōu)先穩(wěn)定原地歸并排序的高效算法[J].計算機應(yīng)用,2013,33(4):1039-1042.(BAI Y,GUO X E. Efficient algorithm of depthfirst stable inplace merge sort[J].Journal of Computer Applications, 2013,33(4): 1039-1042.)
[19] 孫琳琳, 侯秀萍, 朱波, 等. 基于多線程歸并排序算法設(shè)計[J]. 吉林大學(xué)學(xué)報(信息科學(xué)版), 2015, 33(1): 105-110.(SUN L L,HOU X P,ZHU B,et al.Merge sort algorithm design based on multi thread[J].Journal of Jilin University (Information Science Edition),2015,33(1):105-110.)
[20] 姜忠華,徐文麗,劉家文,等.智能歸并排序[J].電子設(shè)計工程, 2011,19(21): 53-55.(JIANG Z H, XU W L,LIU J W,et al. Intelligently merge sort[J].Electronic Design Engineering, 2011,19(21):53-55.)
[21] HOSSAIN N, ALMA M G R, AMIRUZZAMAN M, et al. An efficient merge sort technique that reduces both times and comparisons[C]// 2004 ICTTA: Proceedings of the 2004 International Conference on Information and Communication Technologies: from Theory to Applications. Piscataway, NJ: IEEE,2004: 857-858.
[22] KAZMI S Z H, KAZMI S S, KAZMI S S H,et al. Chunk sort[J]. International Journal of Computer Science and Information Security, 2010, 8(4):162.
[23] 趙霞, 林天華.分布式電能質(zhì)量信息系統(tǒng)[J].科技導(dǎo)報, 2013, 31(19):58-61.(ZHAO X,LIN T H. Design and implementation of distributed electric power quality information system[J].Science & Technology Review,2013,31(19):58-61.)