左劍,向萌,張可人,胡迪軍,鄧小亮,蔡如昕,張瑞(.國網(wǎng)湖南省電力公司電力科學(xué)研究院,湖南長(zhǎng)沙40007;.國網(wǎng)湖南省電力公司,湖南長(zhǎng)沙40004;.中國科學(xué)院深圳先進(jìn)技術(shù)研究院,廣東深圳58055)
基于云計(jì)算平臺(tái)Hadoop的線路參數(shù)并行辨識(shí)算法研究
左劍1,向萌1,張可人1,胡迪軍2,鄧小亮2,蔡如昕3,張瑞3
(1.國網(wǎng)湖南省電力公司電力科學(xué)研究院,湖南長(zhǎng)沙410007;2.國網(wǎng)湖南省電力公司,湖南長(zhǎng)沙410004;3.中國科學(xué)院深圳先進(jìn)技術(shù)研究院,廣東深圳518055)
隨著作為電網(wǎng)動(dòng)態(tài)監(jiān)測(cè)技術(shù)平臺(tái)的廣域量測(cè)系統(tǒng)(WAMS)在電網(wǎng)的應(yīng)用普及,電網(wǎng)運(yùn)行人員對(duì)于電網(wǎng)動(dòng)態(tài)變化有了實(shí)時(shí)監(jiān)測(cè)與分析的手段,但WAMS所產(chǎn)生的海量數(shù)據(jù)以及對(duì)于分析平臺(tái)的高效率要求是WAMS應(yīng)用的一大挑戰(zhàn)。本文深入研究了基于Hadoop云計(jì)算平臺(tái)的線路參數(shù)并行辨識(shí)算法,并提出算法的設(shè)計(jì)思路以及實(shí)現(xiàn)方法,為高效利用WAMS數(shù)據(jù)辨識(shí)線路參數(shù)給出了解決方法。對(duì)比實(shí)驗(yàn)證明基于云計(jì)算平臺(tái)Hadoop的線路參數(shù)并行辨識(shí)算法大大提高線路參數(shù)辨識(shí)算法的計(jì)算效能,適合處理該應(yīng)用中的WAMS海量數(shù)據(jù)。
Hadoop平臺(tái);云計(jì)算;廣域量測(cè)系統(tǒng);線路參數(shù)辨識(shí)
隨著電網(wǎng)規(guī)模越來越大,結(jié)構(gòu)越來越復(fù)雜,電網(wǎng)運(yùn)行人員對(duì)于電網(wǎng)的運(yùn)行狀態(tài)以及特性的把握也越來越依賴于電網(wǎng)的實(shí)時(shí)監(jiān)測(cè)和分析〔1-2〕。作為電網(wǎng)動(dòng)態(tài)監(jiān)測(cè)技術(shù)平臺(tái),廣域測(cè)量系統(tǒng)(Wide-Area Measurement System,WAMS)可對(duì)全網(wǎng)各個(gè)站點(diǎn)主要數(shù)據(jù)進(jìn)行實(shí)時(shí)、同步以及高速率采集,從而實(shí)現(xiàn)對(duì)電力系統(tǒng)狀態(tài)以及參數(shù)的實(shí)時(shí)監(jiān)測(cè),為電網(wǎng)運(yùn)行人員掌握電網(wǎng)動(dòng)態(tài)運(yùn)行狀態(tài)變化提供技術(shù)手段〔3-5〕。以電力系統(tǒng)線路參數(shù)為例,傳統(tǒng)上線路參數(shù)以線路投運(yùn)后實(shí)測(cè)參數(shù)作為運(yùn)行以及電網(wǎng)仿真參數(shù),而實(shí)際運(yùn)行中隨著運(yùn)行場(chǎng)景的變化線路參數(shù)是會(huì)發(fā)生動(dòng)態(tài)變化,尤其是在線路發(fā)生故障或在惡劣運(yùn)行環(huán)境以及氣候條件下。傳統(tǒng)電網(wǎng)運(yùn)行所依賴的能量管理系統(tǒng)是無法掌握上述電網(wǎng)參數(shù)變化等動(dòng)態(tài)信息的,而通過WAMS中的同步相量測(cè)量裝置(Phasor Measurement Unit,PMU)可以同步實(shí)時(shí)測(cè)量線路兩端電流、電壓相量,實(shí)現(xiàn)對(duì)線路參數(shù)的動(dòng)態(tài)辨識(shí)〔6〕。
雖然WAMS相對(duì)于能量管理系統(tǒng)(Energy Management System,EMS)具有能監(jiān)測(cè)系統(tǒng)動(dòng)態(tài)運(yùn)行狀態(tài)的優(yōu)點(diǎn),但是WAMS的應(yīng)用也存在以下問題〔7〕:
1)數(shù)據(jù)量大,冗余多。由于WAMS數(shù)據(jù)采集速率可以達(dá)到25幀/s或50幀/s,是EMS數(shù)據(jù)采集速率的100~200倍,相應(yīng)的存儲(chǔ)的數(shù)據(jù)量也是EMS的上百倍,在系統(tǒng)穩(wěn)態(tài)過程中,大量的WAMS數(shù)據(jù)是冗余數(shù)據(jù)。數(shù)據(jù)量大,冗余多給存儲(chǔ)和分析帶來困難。
2)現(xiàn)有WAMS數(shù)據(jù)處理分析平臺(tái)仍然采用常規(guī)的數(shù)據(jù)存儲(chǔ)與管理方法,大量采用價(jià)格昂貴的大型服務(wù)器以及磁盤陣列,系統(tǒng)擴(kuò)展性差、成本高。
3)大量基于WAMS的高級(jí)應(yīng)用算法仍然基于常規(guī)的數(shù)據(jù),依賴于高性能服務(wù)器的串行計(jì)算能力,計(jì)算效率低。
因此,針對(duì)WAMS的海量數(shù)據(jù),急需引入新的計(jì)算技術(shù)以解決數(shù)據(jù)冗余、數(shù)據(jù)挖掘算法效率低等問題。
云計(jì)算〔8〕作為一種針對(duì)大規(guī)模數(shù)據(jù)處理的新興產(chǎn)物,適合于對(duì)電網(wǎng)WAMS海量數(shù)據(jù)的存儲(chǔ)與應(yīng)用。其基本原理是將存儲(chǔ)和計(jì)算的服務(wù)分布在大量分布式計(jì)算機(jī)上,用大量廉價(jià)的分布式計(jì)算機(jī)代替現(xiàn)有的高性能服務(wù)器,用分布式并行算法代替現(xiàn)有的串行算法以提高效率。在現(xiàn)有的云計(jì)算平臺(tái)中,Hadoop作為一個(gè)比較成熟且應(yīng)用廣泛的系統(tǒng),具有擴(kuò)容能力強(qiáng)、成本低、效率高以及可靠性好的優(yōu)點(diǎn),其主要由兩部分組成:分布式文件系統(tǒng)(HDFS)〔9〕和MapReduce計(jì)算模型〔10〕。
HDFS采用Master/slave架構(gòu)。一個(gè)HDFS集群由一個(gè)管理節(jié)點(diǎn)(Namesnode)和一定數(shù)量的數(shù)據(jù)節(jié)點(diǎn)(Datanode)組成,每個(gè)節(jié)點(diǎn)均可以是1臺(tái)普通PC。管理節(jié)點(diǎn)負(fù)責(zé)文件系統(tǒng)的管理以及客戶端對(duì)于文件的訪問,數(shù)據(jù)節(jié)點(diǎn)負(fù)責(zé)數(shù)據(jù)塊(block)的管理以及處理。在使用上,HDFS與單機(jī)的文件系統(tǒng)非常類似,同樣可以創(chuàng)建目錄,創(chuàng)建、復(fù)制、刪除文件,查看文件內(nèi)容等。但其底層實(shí)現(xiàn)上是把文件切割成塊,然后把這些數(shù)據(jù)塊存儲(chǔ)于不同數(shù)據(jù)節(jié)點(diǎn)上,每個(gè)數(shù)據(jù)塊還可以復(fù)制若干份,存儲(chǔ)于不同的數(shù)據(jù)節(jié)點(diǎn)上,以達(dá)到容錯(cuò)的目的。
MapReduce是一種高效分布式并行編程模型〔10〕。其主要的工作流程:
1)輸入(Input):對(duì)輸入數(shù)據(jù)集分塊,返回若干個(gè)數(shù)據(jù)塊。提供數(shù)據(jù)集讀取接口(RecordReader),規(guī)定如何處理每一個(gè)數(shù)據(jù)塊的每一行數(shù)據(jù),經(jīng)過上述處理獲得輸入鍵值對(duì)<key,value>。
2)映射(Map):調(diào)用用戶定義的Map函數(shù),對(duì)輸入的每一組鍵值對(duì)<key,value>進(jìn)行處理,同時(shí)生成并輸出一批新的中間鍵值對(duì)<key′,value′>,輸入輸出鍵值對(duì)的類型可能不同。
3)數(shù)據(jù)整理(Shuffle):Map和Reduce操作可在不同的數(shù)據(jù)節(jié)點(diǎn)上,在將Map輸出的鍵值對(duì)傳輸給Reduce操作中需要消耗一定的網(wǎng)絡(luò)以及磁盤資源,是影響效率的關(guān)鍵。因此,為了減少不必要的網(wǎng)絡(luò)傳輸以及磁盤輸入輸出操作,需要對(duì)Map輸出的鍵值對(duì)在內(nèi)存中進(jìn)行數(shù)據(jù)整理,包括根據(jù)key的排序(Sort)與合并(Combine)等,上述數(shù)據(jù)整理操作稱之為shuffle。
4)歸約(Reduce):遍歷經(jīng)過shuffle整理后的中間數(shù)據(jù),對(duì)每一個(gè)唯一的key,執(zhí)行用戶自定義的Reduce函數(shù)。輸入?yún)?shù)是<key,{list of values}>,輸出的是新的<key,value>鍵值對(duì)。
5)輸出(Output):將Reduce輸出的結(jié)果輸出到制定位置。上述就是一個(gè)典型的MapReduce計(jì)算過程。
輸電線路模型有分布式參數(shù)模型和集中參數(shù)π形等效模型,以最常用的集中參數(shù)π形等效電路為例,圖1為輸電線路拓?fù)浣Y(jié)構(gòu)。
圖1 輸電線路結(jié)構(gòu)等效模型
如圖1所示,PMU安裝在線路的兩端,可以直接同步測(cè)量線路兩端的電壓和電流相量,分別為U1,U2,I1,I2,待求的參數(shù)為線路阻抗Z=R+j X以及線路對(duì)地導(dǎo)納Y。建立線路兩端電流電壓關(guān)系:
因此,
通過(3)和(4)可由線路兩端的PMU測(cè)量的電流電壓相量直接求得線路各相的阻抗和對(duì)地導(dǎo)納。分析上述計(jì)算線路參數(shù)串行算法,可以將計(jì)算阻抗和對(duì)地導(dǎo)納的運(yùn)算步驟進(jìn)行分解,分成(U1+U2),(U1-U2),(I1-I2)等“原子”運(yùn)算,并將上述“原子”運(yùn)算通過MapReduce進(jìn)行并行化處理。下面分別描述對(duì)應(yīng)的Map,Combine以及Reduce函數(shù)設(shè)計(jì)。
2.1 M ap函數(shù)設(shè)計(jì)
Map函數(shù)輸入為默認(rèn)的<key,Value>鍵值對(duì)格式,其中key包括以下子鍵:Timestamp(時(shí)間戳)、LineName(線路名稱)、Phase(A,B,C中某一相序)。而Value包括以下子項(xiàng):OptType(運(yùn)算類型)、Operand1(運(yùn)算數(shù)一)、Operand2(運(yùn)算數(shù)二)。
所對(duì)應(yīng)的Map函數(shù)的偽代碼為:
Map(<key,value>,<key′,value′>
{
從value中解析出運(yùn)算的類型以及運(yùn)算數(shù),分別記為optType、operand1以及operand2;
Case optType
{
Opt1:attr=A1,res=operand1+operand2;
//(U1+U2)運(yùn)算
Opt2:attr=A2,res=operand1-operand2;
//(U1-U2)運(yùn)算
Opt3:attr=B1,res=operand1?operand2;
//(U1?I2)運(yùn)算
Opt4:attr=B2,res=operand1?operand2;
//(U2?I2)運(yùn)算
Opt5:attr=C1,res=operand1+operand2;
//(I1+I(xiàn)2)運(yùn)算
}
key′=key;
value′={attr,res};
輸出<key′,value′>;
}
為減少數(shù)據(jù)傳輸量和通訊代價(jià),在Map操作后,對(duì)輸出的鍵值對(duì)進(jìn)行合并操作,首先通過key中的Timestamp排序并將具有相同鍵(key)的輸出項(xiàng)映射到同一個(gè)合并操作中。在Combine函數(shù)中對(duì)具有相同鍵的輸出項(xiàng)進(jìn)行合并。
2.2 Combine函數(shù)設(shè)計(jì)
Combine函數(shù)對(duì)輸入的鍵值對(duì)<key,value>根據(jù)鍵進(jìn)行合并。函數(shù)偽代碼為:
Combine(<key,value>,<key′,value′>)
{
初始化一個(gè)數(shù)組s,用于已經(jīng)合并后的鍵值對(duì)
pos=-1;//數(shù)組中最后一個(gè)鍵值對(duì)所存儲(chǔ)的位置
For i=0 to k-1 do{
if<key,value>[i].key存于在數(shù)組s中{
s[j].value={s[j].value,<key,value>[i].value};
//將<key,value>[i].value與s中key相同的鍵值對(duì)進(jìn)行合并
}
else{
pos=pos+1;//在數(shù)組中存入一個(gè)新的鍵值對(duì)
s[pos]=<key,value>[i];
}
}//For
輸出數(shù)組s作為<key′,value′>;
}
2.3 Reduce函數(shù)設(shè)計(jì)
Reduce函數(shù)輸入的<key,value>是Combine函數(shù)輸出的中間結(jié)果,對(duì)同一個(gè)鍵(key)的數(shù)值(value)進(jìn)行歸約,并輸出鍵值對(duì)<key′,value′>作為結(jié)果。函數(shù)偽代碼:
Reduce<key,value>,<key′,value′>)
{
初始化一個(gè)數(shù)組s,用于已經(jīng)合并后的鍵值對(duì)
For i=0 to k-1 do{
將<key,value>[i].value根據(jù)attr解析為A1,A2,B1,B2以及C1;
z=(A1?A2)/(B1+B2);
y_h(yuǎn)alf=C1/A1;
s[i].key=<key,value>[i];
s[i].value={z,y_h(yuǎn)alf};
}
輸出數(shù)組s作為<key′,value′>;
}
根據(jù)Reduce的輸出結(jié)果,得到線路不同時(shí)間點(diǎn)A,B以及C相的阻抗以及對(duì)地導(dǎo)納值。
3.1 實(shí)驗(yàn)平臺(tái)以及數(shù)據(jù)
本文中對(duì)在單臺(tái)計(jì)算機(jī)上線路參數(shù)辨識(shí)串行算法與多臺(tái)計(jì)算組成Hadoop平臺(tái)上并行算法進(jìn)行計(jì)算效率比較。上述計(jì)算機(jī)均為四核2.33 GHz的CPU,內(nèi)存均為2 GB。Hadoop平臺(tái)由4臺(tái)計(jì)算機(jī)組成,其中1臺(tái)為管理節(jié)點(diǎn),其余3臺(tái)為計(jì)算節(jié)點(diǎn),Hadoop版本為2.6.4。
實(shí)驗(yàn)數(shù)據(jù)采用15條線路兩端PMU數(shù)據(jù),每條線路PMU數(shù)據(jù)時(shí)間長(zhǎng)度均為0.5 h,速率為25幀/s。分別在上述單臺(tái)計(jì)算機(jī)以及Hadoop并行計(jì)算平臺(tái)上對(duì)比計(jì)算線路三相動(dòng)態(tài)阻抗以及對(duì)地導(dǎo)納參數(shù)。
3.2 實(shí)驗(yàn)結(jié)果
單臺(tái)計(jì)算機(jī)上計(jì)算用時(shí)184 s,Hadoop平臺(tái)上用時(shí)約59 s。在4臺(tái)計(jì)算機(jī)組成的Hadoop平臺(tái)上采用并行算法的計(jì)算效率約為單臺(tái)計(jì)算機(jī)上串行算法的3倍,并且兩者計(jì)算結(jié)果一致。實(shí)驗(yàn)結(jié)果表明采用云計(jì)算平臺(tái)Hadoop的線路參數(shù)并行辨識(shí)算法大大提高對(duì)WAMS海量數(shù)據(jù)的分析效能,增加Hadoop計(jì)算平臺(tái)規(guī)模將進(jìn)一步提升算法計(jì)算效率。
3.3 應(yīng)用展示
圖2為通過上述線路參數(shù)辨識(shí)并行算法計(jì)算得到某條220 kV輸電線路不同時(shí)間段對(duì)地電納參數(shù)動(dòng)態(tài)辨識(shí)值,對(duì)比可以看到圖2(a)中線路三相對(duì)地電納參數(shù)有明顯的“尖刺”。由于輸電線路對(duì)地電納參數(shù)值對(duì)于線路電暈放電十分敏感,雨、霧或大濕度條件下易于在導(dǎo)線表明形成水滴,引起導(dǎo)線表面電場(chǎng)畸變,降低導(dǎo)線起暈電壓從而發(fā)生電暈放電,而晴好天氣下輸電線路一般不會(huì)發(fā)生電暈放電〔12〕。因此,懷疑圖2(a)中數(shù)據(jù)對(duì)應(yīng)于線路處于雷雨等惡劣天氣下。能量管理系統(tǒng)中線路雷擊跳閘記錄證實(shí)上述猜測(cè),線路參數(shù)動(dòng)態(tài)變化記錄了線路在雷擊跳閘前的電暈放電。因此,上述例子證明通過實(shí)時(shí)辨識(shí)并監(jiān)測(cè)線路參數(shù),可以準(zhǔn)確的反映當(dāng)前線路的運(yùn)行狀態(tài),在線路遭遇雷雨、山火等惡劣運(yùn)行條件時(shí)可以作為提供給運(yùn)行人員的早期預(yù)警參考。
圖2 某條220 kV線路三相對(duì)地電納參數(shù)辨識(shí)值
本文對(duì)基于云計(jì)算平臺(tái)Hadoop的線路參數(shù)并行辨識(shí)算法進(jìn)行了深入研究。首先簡(jiǎn)要介紹了WAMS應(yīng)用中存在的問題以及采用云計(jì)算平臺(tái)的必要性,并介紹了Hadoop平臺(tái)的基本組成,包括HDFS構(gòu)成以及MapReduce的主要功能模塊,然后給出了基于Hadoop云計(jì)算平臺(tái)線路參數(shù)辨識(shí)并行算法的主要設(shè)計(jì)思路以及各主要模塊的構(gòu)成與實(shí)現(xiàn)。最后,通過對(duì)比實(shí)驗(yàn)證實(shí)了基于Hadoop云計(jì)算平臺(tái)的線路參數(shù)并行算法在計(jì)算效能上大大優(yōu)于單機(jī)上線路辨識(shí)串行算法,并結(jié)合實(shí)際的應(yīng)用實(shí)例展示了在成熟的云計(jì)算平臺(tái)上WAMS應(yīng)用的前景。
〔1〕湯涌.基于響應(yīng)的電力系統(tǒng)廣域安全穩(wěn)定控制〔J〕.中國電機(jī)工程學(xué)報(bào),2014,34(29):5041-5050.
〔2〕金基圣,牛夏牧.電網(wǎng)動(dòng)態(tài)穩(wěn)定實(shí)時(shí)監(jiān)測(cè)系統(tǒng)〔J〕.電力系統(tǒng)自動(dòng)化,1999,23(10):17-19.
〔3〕宋方方,畢天姝,楊奇遜.基于WAMS的電力系統(tǒng)受擾軌跡預(yù)測(cè)〔J〕.電力系統(tǒng)自動(dòng)化,2006,30(23):27-32.
〔4〕肖永,金小明,付超,等.基于廣域量測(cè)系統(tǒng)的暫態(tài)失穩(wěn)判別方法適應(yīng)性研究〔J〕.南方電網(wǎng)技術(shù),2015,9(3)81-86.
〔5〕劉兆燕,江全元,曹一家.基于廣域測(cè)量系統(tǒng)的快速暫態(tài)穩(wěn)定預(yù)測(cè)方法〔J〕.電力系統(tǒng)自動(dòng)化,2007,31(21):1-4.
〔6〕趙菲,焦彥軍,王鐵強(qiáng).基于WAMS的輸電線路參數(shù)在線辨識(shí)的研究〔J〕.電力科學(xué)與工程,2011,27(8):15-19.
〔7〕曲朝陽,朱莉,張士林.基于Hadoop的廣域測(cè)量系統(tǒng)數(shù)據(jù)處理〔J〕.電力系統(tǒng)自動(dòng)化,2013,37(4):92-97.
〔8〕陳康,鄭緯.云計(jì)算:系統(tǒng)實(shí)例與研究現(xiàn)狀〔J〕.軟件學(xué)報(bào),2009,20(5):1337-1348.
〔9〕Ghemawat S,Gobioff H,Leung S.The google file system〔J〕. SACM SIGOPSOperating System Review,2003,37(5):29-43.
〔10〕Dean J,Ghemawat S.Mapreduce:simplified data processing on large clusters〔C〕.Proceedings of Operation System Design and Implementation.San Francisco,CA,2004:137-150.
〔11〕李剛,焦譜,文福拴,等.基于偏序約簡(jiǎn)的智能電網(wǎng)大數(shù)據(jù)預(yù)處理方法〔J〕.電力系統(tǒng)自動(dòng)化,2016,40(7):98-106.
〔12〕黃宏新,劉士源.交流電暈放電特性的影響因素研究〔J〕.河北電力技術(shù),2010,29(3):42-45.
Study of Parallel Line Parameter Identification Algorithm Based on Hadoop Platform
ZUO Jian1,XIANGMeng1,ZHANG Keren1,HU Dijun2,DENG Xiaoliang2,CAIRuxin3,ZHANG Rui3
(1.State Grid Hunan Electric Power Corporation Research Institute,Changsha 410007,China;2.State Grid Hunan Electric Power Corporation,Changsha 410004,China;3.Shenzhen Institute of Advanced Technology,Chinese Academy of Sciences,Shenzhen 518055,China)
As the power grid dynamic monitoring platform,the widely use ofWide-area Measurement System(WAMS)will help the grid operatormonitor and analyze the dynamic changes in power grid operation.However,the huge dataset generated by WAMS and requirement of high efficient analysis platform are the challenges of WAMS applications.This paper has conducted thorough study of the parallel line parameter identification algorithm based on Hadoop platform,and provided the parallel algorithm design and implementation methods.It provides a efficient solution for line parameter identification using WAMS data.The comparison test demonstrates that the Hadoop platform based parallel line parameter identification algorithm will boost the efficiency greatly,and it is suitable for processing huge datasets.
Hadoop platform;cloud computing;WAMS;line parameter identification
TM715
B
1008-0198(2017)03-0007-04
左劍(1980),男,博士,高級(jí)工程師,主要從事電力系統(tǒng)分析以及廣域測(cè)量應(yīng)用研究。
向萌(1988),女,碩士,工程師,主要從事電力系統(tǒng)仿真分析工作。
張可人(1982),男,本科,工程師,主要從事電力系統(tǒng)分析和規(guī)劃研究。
胡迪軍(1976),男,碩士,高級(jí)工程師,主要從事電力系統(tǒng)自動(dòng)化研究。
鄧小亮(1983),男,碩士,工程師,主要從事電網(wǎng)調(diào)度運(yùn)行以及新能源并網(wǎng)研究。
10.3969/j.issn.1008-0198.2017.03.002
2016-11-14 改回日期:2016-12-08