本發(fā)明涉及風(fēng)電數(shù)據(jù)處理技術(shù)領(lǐng)域,具體涉及一種基于流計算的風(fēng)電機(jī)組scada數(shù)據(jù)的實(shí)時處理方法。
背景技術(shù):
風(fēng)電機(jī)組scada(Supervisory Control And Data Acquisition)數(shù)據(jù)采集頻率較高,大多是一秒鐘一次采集,而且采集點(diǎn)較多,一臺風(fēng)機(jī)會涉及1000-2000個測點(diǎn),因此,一臺風(fēng)機(jī)一天會產(chǎn)生200MB數(shù)據(jù),一個大型風(fēng)場在200臺風(fēng)機(jī)左右,每秒一個風(fēng)場會產(chǎn)生30萬個測點(diǎn)數(shù)據(jù)。
目前,風(fēng)電機(jī)組scada數(shù)據(jù)大多由各個風(fēng)機(jī)廠家的scada系統(tǒng)進(jìn)行處理,隨著精益化管理的需求,需要構(gòu)建統(tǒng)一的scada數(shù)據(jù)處理系統(tǒng),以便對整個風(fēng)電場內(nèi)的風(fēng)電機(jī)組scada數(shù)據(jù)進(jìn)行統(tǒng)一接入和處理,同時能夠針對多個風(fēng)機(jī)廠家的scada數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理,并將標(biāo)準(zhǔn)化后的數(shù)據(jù)在風(fēng)電機(jī)組發(fā)生故障時發(fā)送給風(fēng)機(jī)故障診斷算法,以便對風(fēng)機(jī)故障進(jìn)行診斷。
傳統(tǒng)的基于關(guān)系數(shù)據(jù)庫的處理架構(gòu),由于系統(tǒng)可擴(kuò)展性的限制,無法完成對于大規(guī)模風(fēng)電場風(fēng)電機(jī)組數(shù)據(jù)的統(tǒng)一接入與處理,是當(dāng)前急需解決的問題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是克服現(xiàn)有的基于關(guān)系數(shù)據(jù)庫的處理架構(gòu),由于系統(tǒng)可擴(kuò)展性的限制,無法完成對于大規(guī)模風(fēng)電場風(fēng)電機(jī)組數(shù)據(jù)的統(tǒng)一接入與處理的問題。本發(fā)明的基于流計算的風(fēng)電機(jī)組scada數(shù)據(jù)的實(shí)時處理方法,處理風(fēng)電scada實(shí)時數(shù)據(jù),處理性能高,可擴(kuò)展性強(qiáng),處理方式靈活,編碼量低,為風(fēng)電scada實(shí)時數(shù)據(jù)處理提供了新的方法,具有良好的應(yīng)用前景。
為了達(dá)到上述目的,本發(fā)明所采用的技術(shù)方案是:
一種基于流計算的風(fēng)電機(jī)組scada數(shù)據(jù)的實(shí)時處理方法,其特征在于:包括以下步驟,
步驟(A),接收風(fēng)機(jī)機(jī)組scada數(shù)據(jù);
步驟(B),去除重復(fù)數(shù)據(jù):解析每臺風(fēng)機(jī)機(jī)組每秒鐘scada實(shí)時數(shù)據(jù)的斷面數(shù)據(jù),并根據(jù)MD5算法對斷面數(shù)據(jù)進(jìn)行去重處理,將重復(fù)數(shù)據(jù)丟棄,且保證每個斷面數(shù)據(jù)只被處理一次;
步驟(C),數(shù)據(jù)標(biāo)準(zhǔn)化處理:對各個廠家除重復(fù)數(shù)據(jù)的scada實(shí)時數(shù)據(jù)作標(biāo)準(zhǔn)化處理,標(biāo)注化處理需要經(jīng)歷數(shù)據(jù)映射、度量處理、閾值處理三個單元,從而構(gòu)造統(tǒng)一的scada數(shù)據(jù)庫;
步驟(D),數(shù)據(jù)運(yùn)行狀態(tài)解析:在數(shù)據(jù)標(biāo)準(zhǔn)化處理同時,根據(jù)風(fēng)機(jī)運(yùn)行狀態(tài)判斷規(guī)則,對各個廠家除重復(fù)數(shù)據(jù)的scada實(shí)時數(shù)據(jù)進(jìn)行運(yùn)行狀態(tài)解析,得到風(fēng)機(jī)運(yùn)行狀態(tài)數(shù)據(jù);
步驟(E),保存數(shù)據(jù):對步驟(D)得到的風(fēng)機(jī)運(yùn)行狀態(tài)數(shù)據(jù)進(jìn)行保存,并將標(biāo)準(zhǔn)化處理后的scada數(shù)據(jù)庫內(nèi)的數(shù)據(jù)保存到分布式數(shù)據(jù)倉庫Hive中,并風(fēng)機(jī)運(yùn)行狀態(tài)數(shù)據(jù)中的額風(fēng)機(jī)運(yùn)行數(shù)據(jù)保存到關(guān)系數(shù)據(jù)庫mysql中;
步驟(F),診斷風(fēng)電機(jī)組的運(yùn)行狀態(tài):根據(jù)保存數(shù)據(jù),對風(fēng)電機(jī)組的運(yùn)行狀態(tài)發(fā)生故障時,進(jìn)行診斷。
前述的基于流計算的風(fēng)電機(jī)組scada數(shù)據(jù)的實(shí)時處理方法,其特征在于: 步驟(A)接收風(fēng)機(jī)機(jī)組scada數(shù)據(jù)的過程如下:
(A1)風(fēng)機(jī)機(jī)組的運(yùn)行數(shù)據(jù)通過采集器存入分布式消息隊列kafaka中;
(A2)根據(jù)不同廠家的scada系統(tǒng)建立不同的消息主題,通過流計算引擎storm程序訂閱各主題消息,從而獲取scada系統(tǒng)的scada實(shí)時數(shù)據(jù);
(A3)將獲取scada實(shí)時數(shù)據(jù)放置到復(fù)雜事件處理引擎esper中。
前述的基于流計算的風(fēng)電機(jī)組scada數(shù)據(jù)的實(shí)時處理方法,其特征在于:步驟(B)根據(jù)MD5算法對斷面數(shù)據(jù)進(jìn)行去重處理,將重復(fù)數(shù)據(jù)丟棄的過程如下:先對斷面數(shù)據(jù)中每一個測點(diǎn)進(jìn)行求MD5值,根據(jù)各個測點(diǎn)的MD5值,二次取MD5值,若二次取的MD5值重復(fù),則判斷為重復(fù)數(shù)據(jù),病將重復(fù)數(shù)據(jù)丟棄。
前述的基于流計算的風(fēng)電機(jī)組scada數(shù)據(jù)的實(shí)時處理方法,其特征在于:步驟(C)數(shù)據(jù)標(biāo)準(zhǔn)化處理中的數(shù)據(jù)映射單元的處理過程如下:根據(jù)scada實(shí)時測點(diǎn)數(shù)據(jù)的映射規(guī)則,建立標(biāo)準(zhǔn)化數(shù)據(jù),映射規(guī)則存儲于配置庫中,通過復(fù)雜事件處理引擎esper的epl語句,執(zhí)行映射規(guī)則,將不同廠家的scada實(shí)時數(shù)據(jù)統(tǒng)一為標(biāo)準(zhǔn)化的測點(diǎn)數(shù)據(jù)。
前述的基于流計算的風(fēng)電機(jī)組scada數(shù)據(jù)的實(shí)時處理方法,其特征在于:所述數(shù)據(jù)映射單元的處理過程中對只有個別廠家才有的點(diǎn)位數(shù)據(jù),置為空值。
前述的基于流計算的風(fēng)電機(jī)組scada數(shù)據(jù)的實(shí)時處理方法,其特征在于:步驟(C)數(shù)據(jù)標(biāo)準(zhǔn)化處理中的度量處理單元的處理過程如下:根據(jù)scada實(shí)時測點(diǎn)度量配置規(guī)則,通過復(fù)雜事件處理引擎esper的epl語句,解析度量配置規(guī)則,對不同廠家的scada實(shí)時數(shù)據(jù)同一度量單位。
前述的基于流計算的風(fēng)電機(jī)組scada數(shù)據(jù)的實(shí)時處理方法,其特征在于:步驟(C)數(shù)據(jù)標(biāo)準(zhǔn)化處理中的閾值處理單元的處理過程如下:根據(jù)scada實(shí)時測點(diǎn)閾值處理規(guī)則,對scada實(shí)時數(shù)據(jù)中會出現(xiàn)異常數(shù)值進(jìn)行過濾或規(guī)整處理,通過復(fù)雜事件處理引擎esper的epl語句解析閾值處理規(guī)則,和已配置的scada實(shí)時測點(diǎn)閾值區(qū)間進(jìn)行比較,將scada實(shí)時數(shù)據(jù)不在閾值區(qū)間的異常數(shù)據(jù),處理成空值。
前述的基于流計算的風(fēng)電機(jī)組scada數(shù)據(jù)的實(shí)時處理方法,其特征在于:步驟(D),根據(jù)風(fēng)機(jī)運(yùn)行狀態(tài)判斷規(guī)則,對各個廠家除重復(fù)數(shù)據(jù)的scada實(shí)時數(shù)據(jù)進(jìn)行運(yùn)行狀態(tài)解析,得到風(fēng)機(jī)運(yùn)行狀態(tài)數(shù)據(jù),包括以下步驟,
(D1)通過復(fù)雜事件處理引擎esper的epl語句,解析風(fēng)機(jī)運(yùn)行狀態(tài)判斷規(guī)則,結(jié)合多個scada實(shí)時數(shù)據(jù)測點(diǎn)狀態(tài)位以及測點(diǎn)值,判斷風(fēng)機(jī)運(yùn)行狀態(tài);
(D2)記錄風(fēng)機(jī)各運(yùn)行狀態(tài)的持續(xù)時間。
前述的基于流計算的風(fēng)電機(jī)組scada數(shù)據(jù)的實(shí)時處理方法,其特征在于: 步驟(F),根據(jù)保存數(shù)據(jù),對風(fēng)電機(jī)組的運(yùn)行狀態(tài)發(fā)生故障時,進(jìn)行診斷,包括以下步驟,
(F1)在保存數(shù)據(jù)內(nèi)檢測到故障代碼時,將故障代碼及發(fā)生故障時標(biāo)準(zhǔn)化后的風(fēng)機(jī)斷面數(shù)據(jù),傳遞給風(fēng)機(jī)故障診斷算法;
(F2)利用風(fēng)機(jī)故障診斷算法分析故障代碼以及風(fēng)機(jī)斷面數(shù)據(jù),給出風(fēng)機(jī)的故障原因;
(F3)將得到的風(fēng)機(jī)的故障原因,保存到關(guān)系數(shù)據(jù)庫mysql中,便于查詢。
本發(fā)明的有益效果是:本發(fā)明的基于流計算的風(fēng)電機(jī)組scada數(shù)據(jù)的實(shí)時處理方法,對風(fēng)電場風(fēng)機(jī)機(jī)組的scada實(shí)時數(shù)據(jù)進(jìn)行處理,綜合利用消息隊列及復(fù)雜事件處理技術(shù),完成數(shù)據(jù)處理工作,采用消息隊列,保證不會因為數(shù)據(jù)量大,并發(fā)量高而導(dǎo)致堵塞,通過復(fù)雜事件處理對風(fēng)機(jī)進(jìn)行標(biāo)準(zhǔn)化和狀態(tài)分析,復(fù)雜事件處理引擎解析數(shù)據(jù)標(biāo)準(zhǔn)化及狀態(tài)判定規(guī)則,完成數(shù)據(jù)標(biāo)準(zhǔn)化和狀態(tài)分析,處理效率高,規(guī)則可配置性強(qiáng),適應(yīng)性高,采用本發(fā)明進(jìn)行處理風(fēng)電scada實(shí)時數(shù)據(jù),處理性能高,可擴(kuò)展性強(qiáng),處理方式靈活,編碼量低,為風(fēng)電scada實(shí)時數(shù)據(jù)處理提供了新的方法,具有良好的應(yīng)用前景。
附圖說明
圖1是本發(fā)明的基于流計算的風(fēng)電機(jī)組scada數(shù)據(jù)的實(shí)時處理方法的流程圖。
具體實(shí)施方式
下面將結(jié)合說明書附圖,對本發(fā)明作進(jìn)一步的說明。
如圖1所示,本發(fā)明的基于流計算的風(fēng)電機(jī)組scada數(shù)據(jù)的實(shí)時處理方法,包括以下步驟,
步驟(A),接收風(fēng)機(jī)機(jī)組scada數(shù)據(jù),過程如下:
(A1)風(fēng)機(jī)機(jī)組的運(yùn)行數(shù)據(jù)通過采集器存入分布式消息隊列kafaka中;
(A2)根據(jù)不同廠家的scada系統(tǒng)建立不同的消息主題,通過流計算引擎storm程序訂閱各主題消息,從而獲取scada系統(tǒng)的scada實(shí)時數(shù)據(jù);
(A3)將獲取scada實(shí)時數(shù)據(jù)放置到復(fù)雜事件處理引擎esper中;
步驟(B),去除重復(fù)數(shù)據(jù):解析每臺風(fēng)機(jī)機(jī)組每秒鐘scada實(shí)時數(shù)據(jù)的斷面數(shù)據(jù),并根據(jù)MD5算法對斷面數(shù)據(jù)進(jìn)行去重處理,將重復(fù)數(shù)據(jù)丟棄,且保證每個斷面數(shù)據(jù)只被處理一次,這里根據(jù)MD5算法對斷面數(shù)據(jù)進(jìn)行去重處理,將重復(fù)數(shù)據(jù)丟棄的過程如下:先對斷面數(shù)據(jù)中每一個測點(diǎn)進(jìn)行求MD5值,根據(jù)各個測點(diǎn)的MD5值,二次取MD5值,若二次取的MD5值重復(fù),則判斷為重復(fù)數(shù)據(jù),病將重復(fù)數(shù)據(jù)丟棄;
步驟(C),數(shù)據(jù)標(biāo)準(zhǔn)化處理:對各個廠家除重復(fù)數(shù)據(jù)的scada實(shí)時數(shù)據(jù)作標(biāo)準(zhǔn)化處理,標(biāo)注化處理需要經(jīng)歷數(shù)據(jù)映射、度量處理、閾值處理三個單元,從而構(gòu)造統(tǒng)一的scada數(shù)據(jù)庫,
數(shù)據(jù)映射單元的處理過程如下:根據(jù)scada實(shí)時測點(diǎn)數(shù)據(jù)的映射規(guī)則,建立標(biāo)準(zhǔn)化數(shù)據(jù),映射規(guī)則存儲于配置庫中,通過復(fù)雜事件處理引擎esper的epl語句,執(zhí)行映射規(guī)則,將不同廠家的scada實(shí)時數(shù)據(jù)統(tǒng)一為標(biāo)準(zhǔn)化的測點(diǎn)數(shù)據(jù),中對只有個別廠家才有的點(diǎn)位數(shù)據(jù),置為空值,
度量處理單元的處理過程如下:根據(jù)scada實(shí)時測點(diǎn)度量配置規(guī)則,通過復(fù)雜事件處理引擎esper的epl語句,解析度量配置規(guī)則,對不同廠家的scada實(shí)時數(shù)據(jù)同一度量單位,如將伏特(V)數(shù)據(jù)除以1000得到標(biāo)準(zhǔn)化的千伏特(KV)數(shù)據(jù);
閾值處理單元的處理過程如下:根據(jù)scada實(shí)時測點(diǎn)閾值處理規(guī)則,對scada實(shí)時數(shù)據(jù)中會出現(xiàn)異常數(shù)值進(jìn)行過濾或規(guī)整處理,通過復(fù)雜事件處理引擎esper的epl語句解析閾值處理規(guī)則,和已配置的scada實(shí)時測點(diǎn)閾值區(qū)間進(jìn)行比較,將scada實(shí)時數(shù)據(jù)不在閾值區(qū)間的異常數(shù)據(jù),處理成空值;或和已配置的最大閾值或最小閾值進(jìn)行比較;
步驟(D),數(shù)據(jù)運(yùn)行狀態(tài)解析:在數(shù)據(jù)標(biāo)準(zhǔn)化處理同時,根據(jù)風(fēng)機(jī)運(yùn)行狀態(tài)判斷規(guī)則,對各個廠家除重復(fù)數(shù)據(jù)的scada實(shí)時數(shù)據(jù)進(jìn)行運(yùn)行狀態(tài)解析,得到風(fēng)機(jī)運(yùn)行狀態(tài)數(shù)據(jù),包括以下步驟,
(D1)通過復(fù)雜事件處理引擎esper的epl語句,解析風(fēng)機(jī)運(yùn)行狀態(tài)判斷規(guī)則,結(jié)合多個scada實(shí)時數(shù)據(jù)測點(diǎn)狀態(tài)位以及測點(diǎn)值,判斷風(fēng)機(jī)運(yùn)行狀態(tài);
(D2)記錄風(fēng)機(jī)各運(yùn)行狀態(tài)的持續(xù)時間;
典型風(fēng)機(jī)運(yùn)行狀態(tài)判斷規(guī)則如:電網(wǎng)限功率發(fā)電狀態(tài)($并網(wǎng)狀態(tài)==1and$限負(fù)荷狀態(tài)==1 and $有功功率給定值<3150KW and 可發(fā)有功功率>$有功功率105%);
步驟(E),保存數(shù)據(jù):對步驟(D)得到的風(fēng)機(jī)運(yùn)行狀態(tài)數(shù)據(jù)進(jìn)行保存,并將標(biāo)準(zhǔn)化處理后的scada數(shù)據(jù)庫內(nèi)的數(shù)據(jù)保存到分布式數(shù)據(jù)倉庫Hive中,并風(fēng)機(jī)運(yùn)行狀態(tài)數(shù)據(jù)中的額風(fēng)機(jī)運(yùn)行數(shù)據(jù)保存到關(guān)系數(shù)據(jù)庫mysql中;
步驟(F),診斷風(fēng)電機(jī)組的運(yùn)行狀態(tài):根據(jù)保存數(shù)據(jù),對風(fēng)電機(jī)組的運(yùn)行狀態(tài)發(fā)生故障時,進(jìn)行診斷,包括以下步驟,
(F1)在保存數(shù)據(jù)內(nèi)檢測到故障代碼時,將故障代碼及發(fā)生故障時標(biāo)準(zhǔn)化后的風(fēng)機(jī)斷面數(shù)據(jù),傳遞給風(fēng)機(jī)故障診斷算法;
(F2)利用風(fēng)機(jī)故障診斷算法(現(xiàn)有技術(shù)中已存在的風(fēng)機(jī)故障診斷算法)分析故障代碼以及風(fēng)機(jī)斷面數(shù)據(jù),給出風(fēng)機(jī)的故障原因;
(F3)將得到的風(fēng)機(jī)的故障原因,保存到關(guān)系數(shù)據(jù)庫mysql中,便于查詢。
綜上所述,本發(fā)明的基于流計算的風(fēng)電機(jī)組scada數(shù)據(jù)的實(shí)時處理方法,對風(fēng)電場風(fēng)機(jī)機(jī)組的scada實(shí)時數(shù)據(jù)進(jìn)行處理,綜合利用消息隊列及復(fù)雜事件處理技術(shù),完成數(shù)據(jù)處理工作,采用消息隊列,保證不會因為數(shù)據(jù)量大,并發(fā)量高而導(dǎo)致堵塞,通過復(fù)雜事件處理對風(fēng)機(jī)進(jìn)行標(biāo)準(zhǔn)化和狀態(tài)分析,復(fù)雜事件處理引擎解析數(shù)據(jù)標(biāo)準(zhǔn)化及狀態(tài)判定規(guī)則,完成數(shù)據(jù)標(biāo)準(zhǔn)化和狀態(tài)分析,處理效率高,規(guī)則可配置性強(qiáng),適應(yīng)性高,采用本發(fā)明進(jìn)行處理風(fēng)電scada實(shí)時數(shù)據(jù),處理性能高,可擴(kuò)展性強(qiáng),處理方式靈活,編碼量低,為風(fēng)電scada實(shí)時數(shù)據(jù)處理提供了新的方法,具有良好的應(yīng)用前景。
以上顯示和描述了本發(fā)明的基本原理、主要特征及優(yōu)點(diǎn)。本行業(yè)的技術(shù)人員應(yīng)該了解,本發(fā)明不受上述實(shí)施例的限制,上述實(shí)施例和說明書中描述的只是說明本發(fā)明的原理,在不脫離本發(fā)明精神和范圍的前提下,本發(fā)明還會有各種變化和改進(jìn),這些變化和改進(jìn)都落入要求保護(hù)的本發(fā)明范圍內(nèi)。本發(fā)明要求保護(hù)范圍由所附的權(quán)利要求書及其等效物界定。