陳競,李宇遠,杜杰
(南方電網(wǎng)數(shù)字電網(wǎng)研究院有限公司, 廣東, 廣州 510670)
對于電網(wǎng)的孤立、異構(gòu)信息,許多專家進行了研究[1]。通過電網(wǎng)數(shù)據(jù)交換,解決數(shù)據(jù)孤立性強、異構(gòu)性強的問題,以邏輯和物理的形式采集格式和屬性的電網(wǎng)數(shù)據(jù),為電力企業(yè)方便管理提供全面的電網(wǎng)數(shù)據(jù),從異構(gòu)和孤立的數(shù)據(jù)中,將具有關(guān)聯(lián)屬性的數(shù)據(jù)區(qū)分并聚集的過程[2-3]。同時,k-medoids聚類算法具有運算速度快,使用于大型數(shù)據(jù)的優(yōu)點,其利用聚類中心點距離削弱電網(wǎng)分布式增值業(yè)務(wù)數(shù)據(jù)異常值的影響,計算精度較高。因此,本文結(jié)合k-medoids聚類算法,設(shè)計一種電網(wǎng)分布式增值業(yè)務(wù)數(shù)據(jù)集成系統(tǒng),為電力企業(yè)提供充分的電力數(shù)據(jù)呈現(xiàn)形式。
本文依托Spark平臺構(gòu)建電網(wǎng)分布式增值業(yè)務(wù)數(shù)據(jù)集成系統(tǒng)(下文簡稱系統(tǒng))。Spark平臺是通過內(nèi)存計算的大數(shù)據(jù)分布式計算框架[4],具備處理大數(shù)據(jù)實時性能力且其容錯性和伸縮性均較強,其兼容性也較好,可安裝在廠家以及型號不一的硬件設(shè)備上組成集群。依據(jù)分層和針對組件設(shè)計理念,將系統(tǒng)分為4個層次,系統(tǒng)具體結(jié)構(gòu)如圖1所示。
圖1中,該系統(tǒng)由應(yīng)用層、云服務(wù)層和基礎(chǔ)平臺層組成。其中,應(yīng)用層使用B/S結(jié)構(gòu),通過MVC模型內(nèi)前端開發(fā)工具包完成界面設(shè)計,為電網(wǎng)用戶與電網(wǎng)企業(yè)管理人員提供可操作頁面,如聚類任務(wù)、集成任務(wù)、系統(tǒng)性能查看等等;應(yīng)用層利用前端應(yīng)用服務(wù)器與數(shù)據(jù)庫服務(wù)器,通過HTTP等技術(shù)實現(xiàn)分布式增值業(yè)務(wù)數(shù)據(jù)交互功能,后端則通過Web服務(wù)與云服務(wù)層和基礎(chǔ)平臺層相連接;云服務(wù)層則為系統(tǒng)提供聚類分析服務(wù)、權(quán)限查詢等功能,設(shè)置在后端服務(wù)器內(nèi),通過技術(shù)手段完成系統(tǒng)接口形式的封裝服務(wù)功能,且應(yīng)用層可自由調(diào)取該服務(wù)[5];基礎(chǔ)平臺層為云服務(wù)層提供計算服務(wù),該層利用Hibernet框架實現(xiàn)分布式增值業(yè)務(wù)數(shù)據(jù)傳遞,為系統(tǒng)供給分布式增值業(yè)務(wù)數(shù)據(jù)持久化功能,并以接口的形式與Spark平臺的集群形成連接,為電網(wǎng)增值業(yè)務(wù)數(shù)據(jù)庫提供接口,可實現(xiàn)系統(tǒng)的管理、數(shù)據(jù)訪問與處理等功能。
圖1 系統(tǒng)結(jié)構(gòu)
1.2.1 Canopy算法
在分布式增值業(yè)務(wù)數(shù)據(jù)集成時,由于數(shù)據(jù)構(gòu)成繁瑣設(shè)置合適的類簇數(shù)值難度較大[6],因此本文利用Canopy算法計算最佳類簇數(shù)值,在對電網(wǎng)分布式增值業(yè)務(wù)數(shù)據(jù)聚類處理之前,需提前設(shè)定類簇數(shù)值,保證聚類效果,使其適用于海量數(shù)據(jù)處理,具備較強的伸縮性。
令T1、T2孤立表示電網(wǎng)分布式增值業(yè)務(wù)數(shù)據(jù)的粗略劃分,Canopy算法聚類劃分示意圖如圖2所示。
圖2 Canopy聚類過程示意圖
在圖2中,方框表示距離閾值T1,圓圈表示距離閾值T2。其中2個距離閾值利用交叉驗證方式獲取,Canopy算法將所有電網(wǎng)分布式增值業(yè)務(wù)數(shù)據(jù)均放在候選集內(nèi),該候選集內(nèi)所有對象之間的Canopy,對比Canopy數(shù)值和距離閾值T1,當(dāng)Canopy數(shù)值較離閾值T1數(shù)值低時,將Canopy添加到上圖方框區(qū)域內(nèi),反之將Canopy放置于上圖圓圈內(nèi),從候選集內(nèi)刪除,當(dāng)所有電網(wǎng)分布式增值業(yè)務(wù)數(shù)據(jù)均被加入到Canopy內(nèi)時,該Canopy的數(shù)量即為最佳類簇數(shù)量。
1.2.2k-medoids聚類算法
增值業(yè)務(wù)數(shù)據(jù)聚類中心選擇非常重要,若聚類中心偏離情況嚴重,則聚類效果不佳且消耗時間過長,在此依據(jù)密度聚類理論,在較大程度避免噪聲干擾情況下,增值業(yè)務(wù)數(shù)據(jù)的初始聚類中心獲取過程如下。
令U表示增值業(yè)務(wù)數(shù)據(jù)集,該數(shù)據(jù)集內(nèi)業(yè)務(wù)數(shù)據(jù)樣本點由x表示,則以該點為圓心,半徑為r的正整數(shù)所涵蓋的圓形區(qū)域內(nèi)數(shù)據(jù)點的數(shù)量為點密度由Dens(s)表示,增值業(yè)務(wù)數(shù)據(jù)集內(nèi)中樣本點密度的平均值稱為均值點密度由AvgDens表示,則有:
(1)
式中,圓心與增值業(yè)務(wù)數(shù)據(jù)集內(nèi)樣本點p的歐式距離由|Dist(s,p)表示,圓心半徑r=α*a,其中α為常數(shù),a為增值業(yè)務(wù)數(shù)據(jù)集樣本點之間距離平均數(shù)值,其計算公式如下:
(2)
式中,i=1,2,…,n,j=1,2,…,n。
令CDens(ui)表示增值業(yè)務(wù)數(shù)據(jù)集內(nèi)類簇包含樣本點數(shù)量占總樣本點數(shù)量比值即類簇密度數(shù)值,其計算公式如下:
(3)
在k-medoids聚類算法中,通過獲取增值業(yè)務(wù)數(shù)據(jù)樣本內(nèi)樣本點的密度,依據(jù)該點密度屬性選取其初始聚類中心,其流程如下。
Step1 獲取增值業(yè)務(wù)數(shù)據(jù)樣本內(nèi),多個樣本點之間距離。
Step2 計算樣本點密度Dens(si)、點密度平均值A(chǔ)vgDens數(shù)值,將密度數(shù)值高于點密度平均值的樣本點作為核心點,將其聚集一起構(gòu)成集合T,密度數(shù)值低于點密度平均值的樣本點作為類簇內(nèi)數(shù)據(jù)點。
Step3 將包含核心點的類簇合并。
Step4 計算所有類簇密度數(shù)值CDens(ui),以前k個類簇密度較大的簇作為初始聚類中心基礎(chǔ)數(shù)據(jù),計算該k個類簇中心點,并將該類簇中心點作為增值業(yè)務(wù)數(shù)據(jù)的初始類簇中心。
令類簇ui內(nèi)具有m個數(shù)據(jù)點,則數(shù)據(jù)點集合為{s1,s2,…,sm},由ni表示該類簇的中心點,其計算公式如下:
(4)
式中,k表示可變參數(shù)。
類簇內(nèi)樣本點的距離計算公式如下:
dist(s,o)=
(5)
式中,o表示與樣本點x相鄰樣本點。
通過上述4個步驟,可有效獲取增值業(yè)務(wù)數(shù)據(jù)集的初始聚類中心,從而實現(xiàn)電網(wǎng)分布式增值業(yè)務(wù)數(shù)據(jù)并行聚類,該算法使聚類范圍縮小的同時也使聚類時間得到降低。
1.2.3 電網(wǎng)分布式增值業(yè)務(wù)數(shù)據(jù)集成模型
電網(wǎng)分布式增值業(yè)務(wù)數(shù)據(jù)集成是依據(jù)同類思想,將所有數(shù)據(jù)重新組合,使位于同簇內(nèi)的數(shù)據(jù)屬性相同或相似的過程。依據(jù)Canopy算法獲取的類簇數(shù)量和k-medoids聚類算法獲取的數(shù)據(jù)初始聚類中心,利用Spark平臺內(nèi)分布式框架功能建立電網(wǎng)分布式增值業(yè)務(wù)數(shù)據(jù)集成,該模型總體流程如圖3所示。
圖3 電網(wǎng)分布式增值業(yè)務(wù)數(shù)據(jù)集成模型流程示意圖
電網(wǎng)分布式增值業(yè)務(wù)數(shù)據(jù)集成模型先將增值業(yè)務(wù)數(shù)據(jù)進行歸一化處理后,利用Canopy算法計算類簇數(shù)量后,使用k-medoids聚類算法獲取初始聚類中心后完成數(shù)據(jù)并行聚類,利用模型輸出最終電網(wǎng)分布式增值業(yè)務(wù)數(shù)據(jù)集成結(jié)果。
本文系統(tǒng)運行環(huán)境為Intel八核處理器、12G DDR3內(nèi)存、CentOS 6操作系統(tǒng),200 M網(wǎng)絡(luò)交換機,Spark平臺版本為Spark Version 1.0。以某電力企業(yè)2020年的隨機一個增值業(yè)務(wù)數(shù)據(jù)為實例測試對象,從多個角度對本文系統(tǒng)展開實際應(yīng)用測試。測試過程如表1所示。
表1 實例測試數(shù)據(jù)采集與應(yīng)用過程
從線程數(shù)量方面,測試本文系統(tǒng)聚類能力,設(shè)置不同線程數(shù),且指定聚類數(shù)量為35個,統(tǒng)計本文系統(tǒng)在不同線程時,對該企業(yè)增值業(yè)務(wù)數(shù)據(jù)聚類消耗時間,結(jié)果如圖4所示。
圖4 不同線程數(shù)時聚類能力測試
分析圖4可知,在給定聚類數(shù)值情況下,隨著聚類時間的增加,不同線程數(shù)時聚類曲線均呈現(xiàn)迅速上升趨勢。當(dāng)達到給定聚類數(shù)值后,雖然系統(tǒng)線程數(shù)不同,但其聚類數(shù)量保持不變。其中,當(dāng)線程數(shù)分別為6和8時,達到設(shè)定的簇數(shù)所需時間為3 s。當(dāng)線程數(shù)為4時,達到給定簇數(shù)的時間比其他2種線程長0.3 s,且差異不大,表明該系統(tǒng)受線程數(shù)的影響較小,具有良好的聚類能力。
單從線程數(shù)量方面驗證本文系統(tǒng)的聚類能力具有一定片面性,因此,取該增值業(yè)務(wù)數(shù)據(jù)大小為100 GB至1 000 GB的相關(guān)數(shù)據(jù),測試本文系統(tǒng)在數(shù)據(jù)預(yù)處理、數(shù)據(jù)并行聚類等方面綜合能力,結(jié)果如表1所示。
表1 綜合聚類能力測試
分析表1可知,隨著數(shù)據(jù)量大小的增加,系統(tǒng)對增值業(yè)務(wù)數(shù)據(jù)的預(yù)處理、并行聚類以及集成輸出運行時間均逐漸增加,類簇數(shù)量也隨之增加,其中在并行聚類時消耗時間較多,但運行時間上升不大。在數(shù)據(jù)量為1 000 GB時,其運行時間較數(shù)據(jù)量為100 GB時上漲1.81%,而數(shù)據(jù)集成輸出時間較短,上漲幅度不大,類簇數(shù)量上升跨度較大,表明系統(tǒng)對企業(yè)增值業(yè)務(wù)數(shù)據(jù)屬性劃分精確,聚類準確性較高。在數(shù)據(jù)量為1 000 GB時,系統(tǒng)整體運行時間僅為7.95 min,聚類性能較好,且當(dāng)數(shù)據(jù)量較大時,系統(tǒng)運行時間較少。
測試不同文件大小時,系統(tǒng)串行數(shù)據(jù)集成與平行數(shù)據(jù)集成時間比值,即系統(tǒng)加速比,該數(shù)值表示系統(tǒng)運行時間降低系統(tǒng)性能提升情況,加速比是衡量系統(tǒng)性能的重要指標之一,以加速比為實例測試指標,測試系統(tǒng)集成性能,結(jié)果如圖5所示。
圖5 系統(tǒng)集成性能測試結(jié)果
分析圖5可知,系統(tǒng)在企業(yè)增值業(yè)務(wù)數(shù)據(jù)為1 200 MB時,線性趨勢較強,而在數(shù)據(jù)量分別為200和600個時,在聚類中心數(shù)量在7個之前,系統(tǒng)加速比曲線表現(xiàn)為線性關(guān)系;在聚類中心數(shù)量超過7個之后,系統(tǒng)加速比曲線出現(xiàn)輕微波動,說明增值業(yè)務(wù)數(shù)據(jù)越大,系統(tǒng)加速比曲線線性關(guān)系越好,越接近理想值。
電子信息技術(shù)與大數(shù)據(jù)技術(shù)在提升各個領(lǐng)域信息化的同時,也為企業(yè)數(shù)據(jù)管理增加了一定難度,尤其是電力企業(yè),其數(shù)據(jù)來源眾多且孤立,因此,電力企業(yè)對數(shù)據(jù)集成需求度極高。本文針對此類情況設(shè)計了基于聚類算法的電網(wǎng)分布式增值業(yè)務(wù)數(shù)據(jù)集成系統(tǒng),經(jīng)過多角度測試,本文系統(tǒng)在不同線程數(shù)量情況下,給定聚類數(shù)量消耗時間僅為0.3 s,受線程數(shù)量影響較小,聚類能力好,增值業(yè)務(wù)數(shù)據(jù)越大,系統(tǒng)加速比曲線線性關(guān)系越好,系統(tǒng)集成性能得到保證。