劉偉
(衡水學(xué)院,河北 衡水 053000)
XLPE 電纜作為電力傳輸?shù)闹匾M成部分,對(duì)其運(yùn)行狀態(tài)需要進(jìn)行持續(xù)的在線監(jiān)測(cè)。目前,電力行業(yè)主要使用大數(shù)據(jù)處理平臺(tái)Hadoop 處理和存儲(chǔ)海量數(shù)據(jù),對(duì)于實(shí)時(shí)性要求較高的電力電纜狀態(tài)監(jiān)測(cè)并不適用。Storm 是一套用于流式數(shù)據(jù)實(shí)時(shí)處理的并行計(jì)算框架,為XLPE 電纜的狀態(tài)監(jiān)測(cè)數(shù)據(jù)在線實(shí)時(shí)處理提供了很好的計(jì)算平臺(tái)。本文針對(duì)Hadoop 實(shí)時(shí)性不足的缺點(diǎn),提出了基于Storm 的XLPE 電力電纜在線并行診斷方法,可以有效應(yīng)對(duì)海量電纜故障監(jiān)測(cè)數(shù)據(jù)的實(shí)時(shí)快速處理。
本文設(shè)計(jì)的處理框架分為4個(gè)部分:數(shù)據(jù)采集、消息隊(duì)列、實(shí)時(shí)處理和數(shù)據(jù)的可視化,通過(guò)各種傳感器進(jìn)行數(shù)據(jù)采集,傳感器將監(jiān)測(cè)到的數(shù)據(jù)信息通過(guò)網(wǎng)絡(luò)傳送到消息隊(duì)列中,消息隊(duì)列的主要作用是對(duì)收到的信息數(shù)據(jù)進(jìn)行分類匯總并分發(fā)至Storm 平臺(tái),然后,由Storm 數(shù)據(jù)處理平臺(tái)對(duì)對(duì)數(shù)據(jù)進(jìn)行實(shí)時(shí)性分析,最終將分析結(jié)果以可視化的形式提交給電力監(jiān)測(cè)中心。
本文將Kafka 機(jī)制引入數(shù)據(jù)處理框架中,它所承擔(dān)的作用是將海量XLPE 電力電纜的大數(shù)據(jù)進(jìn)行匯總并提交Storm進(jìn)行分析處理。XLPE 電纜的在線實(shí)時(shí)診斷方法的拓?fù)溆蓴?shù)據(jù)源組件Kafka 和預(yù)處理組件、變量預(yù)測(cè)模型分類組件、保存組件3個(gè)邏輯處理組件構(gòu)成。
Storm 的架構(gòu)設(shè)計(jì)中,它是通過(guò)Zookeeper 對(duì)整個(gè)聚群進(jìn)行管理,因此,Storm 的控制進(jìn)程對(duì)整個(gè)集群進(jìn)行監(jiān)控也是通過(guò)向Zookeeper 中輸入信息來(lái)完成的。本文主要通過(guò)ZooKeeper 中的Watcher 接口來(lái)對(duì)Storm 的拓?fù)溥M(jìn)行監(jiān)聽(tīng),主要步驟如下:(1)新建一個(gè)連接類實(shí)現(xiàn)Watcher 接口,監(jiān)聽(tīng)節(jié)點(diǎn)狀態(tài)的變化并提供Zookeeper 服務(wù)器端與客戶端的連接。(2)建立一個(gè)數(shù)據(jù)監(jiān)聽(tīng)接口,將ZooKeeper 中存儲(chǔ)的用戶數(shù)據(jù)提交給拓?fù)浣M件。(3)構(gòu)建一個(gè)向拓?fù)浣Y(jié)構(gòu)發(fā)送數(shù)據(jù)指令的ZooKeeper 客戶端。
本文采用變量預(yù)測(cè)模型分類的方法對(duì)電力電纜進(jìn)行故障診斷,變量預(yù)測(cè)模型分類方法可以將特征值之間的關(guān)系建立函數(shù)模型并用于分類,主要需要處理以下幾方面的問(wèn)題:(1)分類模型的初始化。初始化的問(wèn)題是指將變量預(yù)測(cè)模型分類方法部署在Storm 架構(gòu)中,其主要的部署過(guò)程是:首先,對(duì)分類模型進(jìn)行第一次學(xué)習(xí),將學(xué)習(xí)結(jié)果存儲(chǔ)到數(shù)據(jù)庫(kù)中,然后,通過(guò)分類組建讀取數(shù)據(jù)庫(kù)中的數(shù)據(jù)實(shí)現(xiàn)分類模型的初始化。在數(shù)據(jù)庫(kù)中進(jìn)行存儲(chǔ)時(shí),變量預(yù)測(cè)模型按照類別分別進(jìn)行存儲(chǔ)。(2)在線增量式學(xué)習(xí)。增量學(xué)習(xí)指的是在原有學(xué)習(xí)結(jié)果基礎(chǔ)上進(jìn)行更新學(xué)習(xí),是模式識(shí)別方法研究的熱點(diǎn)問(wèn)題,也是解決數(shù)據(jù)流實(shí)時(shí)分類問(wèn)題時(shí)最常用的方法,本文將增量學(xué)習(xí)機(jī)制引入變量分類預(yù)測(cè)模型分類方法中,使得該方法能夠解決數(shù)據(jù)的實(shí)時(shí)性分類問(wèn)題。監(jiān)聽(tīng)機(jī)制可以實(shí)現(xiàn)對(duì)變量預(yù)測(cè)模型分類組件的實(shí)時(shí)控制,結(jié)合增量學(xué)習(xí)的機(jī)制,就可以解決在線模型的增量學(xué)習(xí)問(wèn)題。新的訓(xùn)練樣本通過(guò)客戶端發(fā)送將新增樣本序列化,然后,發(fā)送到變量預(yù)測(cè)模型分類組件中,從而對(duì)原模型進(jìn)行更新。由于消耗的時(shí)間很短,不會(huì)對(duì)拓?fù)浣Y(jié)構(gòu)的正常運(yùn)行造成影響。(3)保存組件的實(shí)現(xiàn)。保存組件的主要功能是將變量預(yù)測(cè)模型分類組件傳送的數(shù)據(jù)進(jìn)行長(zhǎng)期保存到數(shù)據(jù)庫(kù)中。變量預(yù)測(cè)模型分類組件在發(fā)送數(shù)據(jù)時(shí)已經(jīng)對(duì)數(shù)據(jù)流進(jìn)行了標(biāo)記,所以保存組件會(huì)按照標(biāo)記對(duì)不同來(lái)源的數(shù)據(jù)進(jìn)行分類存儲(chǔ)。在實(shí)際的運(yùn)行過(guò)程中,為了提高計(jì)算能力,往往會(huì)同時(shí)運(yùn)行多個(gè)量預(yù)測(cè)模型分類組件,因此,可能會(huì)出現(xiàn)分類模型重復(fù)的情況,所以需要制定相應(yīng)機(jī)制來(lái)避免重復(fù)。本文采用的處理方法是將分類分類個(gè)數(shù)作為參數(shù)傳遞給保存組件,由保存組件對(duì)其收到的分類個(gè)數(shù)進(jìn)行統(tǒng)計(jì),設(shè)定只有相等時(shí)才進(jìn)行一次存儲(chǔ)操作。
對(duì)于XLPE 電力電纜來(lái)說(shuō),長(zhǎng)期監(jiān)測(cè)的電纜狀態(tài)數(shù)據(jù)均可以視為流式數(shù)據(jù),例如局部放電信號(hào)、電壓、泄漏電流等,本文以局部放電信號(hào)作為監(jiān)測(cè)數(shù)據(jù),測(cè)試基于Storm 的在線實(shí)時(shí)診斷方法的性能。Storm 集群搭建在11 臺(tái)虛擬機(jī)集群中,1 臺(tái)虛擬機(jī)作為主節(jié)點(diǎn),剩余10 臺(tái)作為工作節(jié)點(diǎn),每個(gè)工作節(jié)點(diǎn)設(shè)置4個(gè)進(jìn)程端口,所以此平臺(tái)最多可以提供40個(gè)進(jìn)程。同時(shí),在集群上設(shè)置Kafka 和ZooKeeper。
(1)吞吐量測(cè)試。吞吐量是測(cè)試大數(shù)據(jù)處理系統(tǒng)的重要指標(biāo)之一,此項(xiàng)測(cè)試中,設(shè)定Storm 的工作節(jié)點(diǎn)數(shù)不變,改變Kafka 組件和變量預(yù)測(cè)模型組件的并發(fā)數(shù),進(jìn)行不同組合,計(jì)算出變量預(yù)測(cè)模型分類組件每個(gè)線程在相同時(shí)間內(nèi)的吞吐量。結(jié)果如表1 所示。

圖1 不同組件并發(fā)數(shù)下的吞吐量
處理方法具有良好的吞吐量,最高約達(dá)到10 萬(wàn)條每秒,可以有效應(yīng)對(duì)海量數(shù)據(jù)的存儲(chǔ)需求。固定Kafka 的并發(fā)數(shù),增加變量預(yù)測(cè)模型分類組件的并發(fā)數(shù),由于并行分類處理能力的提高,吞吐量也在不斷提高。當(dāng)固定變量預(yù)測(cè)模型分類組件的并發(fā)數(shù)時(shí),由于Kafka 組件的并發(fā)數(shù)持續(xù)增加,分類組件來(lái)不及處理,吞吐量會(huì)發(fā)生下降。
(2)處理時(shí)延測(cè)試。本文主要采用時(shí)間戳的方式來(lái)測(cè)試存儲(chǔ)結(jié)構(gòu)中每個(gè)存儲(chǔ)元組的處理時(shí)延,在模擬監(jiān)測(cè)源向Kafka 發(fā)送數(shù)據(jù)元組的同時(shí),發(fā)送當(dāng)前的操作時(shí)間,處理結(jié)束后,變量預(yù)測(cè)模型分類組件中存儲(chǔ)的完成時(shí)間減去元組中的時(shí)間戳就可以得到本次的處理時(shí)延。在此次測(cè)試中,設(shè)置工作進(jìn)程為5,組件數(shù)固定,控制發(fā)送速率主要通過(guò)改變模擬監(jiān)測(cè)源中元組數(shù)據(jù)的時(shí)間間隔來(lái)實(shí)現(xiàn),分別設(shè)置不同的時(shí)間間隔1 毫秒、5 毫秒、10 毫秒、50 毫秒、100 毫秒。計(jì)算前500個(gè)數(shù)據(jù)元組的時(shí)延。

圖2 數(shù)據(jù)處理時(shí)延
如圖2,隨著發(fā)送時(shí)間間隔的增大,處理時(shí)延逐漸呈現(xiàn)下降的狀況,從最初的毫秒級(jí)別上升到秒級(jí)別,但平均水平仍然處于毫秒的級(jí)別,對(duì)于在線實(shí)時(shí)處理來(lái)說(shuō),這種時(shí)延是足夠滿足需求的。
本文結(jié)合大數(shù)據(jù)流式處理平臺(tái)Storm 開(kāi)展了XLPE 電力電纜在線實(shí)時(shí)診斷方法研究,主要研究?jī)?nèi)容如下:(1)將變量預(yù)測(cè)模型分類的方法引入XLPE 電纜狀態(tài)監(jiān)測(cè),故障診斷領(lǐng)域,能夠滿足電力電纜故障實(shí)時(shí)性診斷的需求。(2)提出了基于大數(shù)據(jù)處理平臺(tái)Storm 的實(shí)時(shí)并行XLPE 電力電纜故障診斷處理方法,對(duì)所監(jiān)測(cè)數(shù)據(jù)的可以進(jìn)行有效的實(shí)時(shí)性處理,處理時(shí)間時(shí)延只有毫秒級(jí),能夠有效應(yīng)對(duì)電纜監(jiān)測(cè)數(shù)據(jù)海量化存儲(chǔ)、實(shí)時(shí)性處理的問(wèn)題。