鐘云南,陳行濱,占彤平,林旭軍, 陳 珺,謝妙紅
(1.國(guó)網(wǎng)福建省電力有限公司,福建 福州 350000; 2.國(guó)網(wǎng)信通億力科技有限責(zé)任公司,福建 福州 350003)
隨著智能電網(wǎng)的鋪設(shè),智能化設(shè)備大量投入使用,隨之產(chǎn)生的數(shù)據(jù)量也急劇攀升,這種海量的數(shù)據(jù)流既帶來(lái)了潛在的分析價(jià)值,也帶來(lái)了處理上的挑戰(zhàn)。數(shù)據(jù)量的激增勢(shì)必引起一系列數(shù)據(jù)采集、監(jiān)測(cè)、分析系統(tǒng)的性能問(wèn)題,因此在大數(shù)據(jù)時(shí)代,性能優(yōu)異且可靠性高的數(shù)據(jù)分發(fā)與調(diào)度機(jī)制在保障電力系統(tǒng)高速運(yùn)算、提升系統(tǒng)穩(wěn)定性方面非常有研究?jī)r(jià)值。
隨著智能設(shè)備的投運(yùn),電網(wǎng)中各類監(jiān)測(cè)數(shù)據(jù)的規(guī)模日益增長(zhǎng),正常情況下,各類監(jiān)測(cè)設(shè)備按照采集頻率進(jìn)行數(shù)據(jù)傳輸,但當(dāng)電網(wǎng)出現(xiàn)故障或超限等情況時(shí),復(fù)雜的數(shù)據(jù)流既包括時(shí)間緊迫的告警數(shù)據(jù),又包括大量的異常狀態(tài)以及常規(guī)采集數(shù)據(jù),導(dǎo)致數(shù)據(jù)接收節(jié)點(diǎn)壓力倍增,難以及時(shí)處理,甚至造成數(shù)據(jù)丟失,系統(tǒng)可靠性隨之降低。
云計(jì)算是一種分布式計(jì)算,具有規(guī)模大、高可靠、可擴(kuò)展等特性,集群主要是利用互相連接的計(jì)算機(jī)構(gòu)成分布式系統(tǒng),負(fù)載均衡集群即可按照一定的策略將任務(wù)進(jìn)行分發(fā),實(shí)現(xiàn)迅速響應(yīng)。云計(jì)算技術(shù)可以緩解智能電網(wǎng)數(shù)據(jù)量大帶來(lái)的存儲(chǔ)、分析問(wèn)題,集群則可避免任務(wù)堵塞,提升處理性能[1-2]。
針對(duì)智能電網(wǎng)數(shù)據(jù)流的特點(diǎn),選用云計(jì)算集群進(jìn)行數(shù)據(jù)處理,云計(jì)算集群雖然可以提供優(yōu)質(zhì)的計(jì)算服務(wù),但數(shù)據(jù)大批量到達(dá)時(shí)接收節(jié)點(diǎn)難以處理全部數(shù)據(jù),分發(fā)至其他節(jié)點(diǎn)則涉及到中樞節(jié)點(diǎn)進(jìn)行分配,不僅耗時(shí)耗力,而且部分節(jié)點(diǎn)資源利用率難以飽和,還容易造成數(shù)據(jù)堵塞或數(shù)據(jù)丟失。針對(duì)這一情況設(shè)計(jì)了“中樞層-次級(jí)層-區(qū)域?qū)印钡募悍謱蛹軜?gòu),具體如圖1所示。利用劃分區(qū)域后再合并為層,由中樞節(jié)點(diǎn)統(tǒng)一調(diào)配;區(qū)域需要進(jìn)行擴(kuò)展時(shí)只需操作本區(qū)域的控制節(jié)點(diǎn),只有在區(qū)域的整體負(fù)載值過(guò)高時(shí)才由中樞節(jié)點(diǎn)調(diào)度遷移任務(wù)至同層的其他區(qū)域[3-4]。
圖1 集群分層架構(gòu)Fig.1 Cluster hierarchical architecture
集群分層之后,每一層包含多個(gè)區(qū)域,每一個(gè)區(qū)域內(nèi)需具備控制節(jié)點(diǎn),在節(jié)點(diǎn)之上建立資源管理器、任務(wù)管理器與任務(wù)調(diào)度器,以此處理任務(wù)隊(duì)列。各個(gè)節(jié)點(diǎn)的結(jié)構(gòu)相同,結(jié)構(gòu)如圖2所示。數(shù)據(jù)流到達(dá)之后進(jìn)行初步識(shí)別,然后進(jìn)行分類處理;告警數(shù)據(jù)又分發(fā)隊(duì)列快速?gòu)V播,異常數(shù)據(jù)需要先進(jìn)行備份,常規(guī)數(shù)據(jù)則按照優(yōu)先級(jí)進(jìn)行處理[5-6]。
圖2 集群節(jié)點(diǎn)結(jié)構(gòu)Fig.2 Cluster node structure
當(dāng)數(shù)據(jù)流抵達(dá)之后,需要選擇一個(gè)目標(biāo)節(jié)點(diǎn)進(jìn)行處理,先在區(qū)域內(nèi)查找是否存在空閑節(jié)點(diǎn),當(dāng)區(qū)域內(nèi)的節(jié)點(diǎn)負(fù)載都比較高時(shí),擴(kuò)展到同層級(jí)的相鄰區(qū)域,確保區(qū)域資源利用狀態(tài)最佳。首先,選擇中樞節(jié)點(diǎn)作為聚類中心,利用帶寬、時(shí)延等分量作為距離組成區(qū)域,利用區(qū)域的中樞節(jié)點(diǎn)再次聚類形成層級(jí)。其次,在節(jié)點(diǎn)負(fù)載過(guò)高時(shí),利用改進(jìn)蜂群算法向其他節(jié)點(diǎn)分發(fā),均衡負(fù)載。最后,在本區(qū)域負(fù)載過(guò)高時(shí),利用改進(jìn)爬山算法向?qū)蛹?jí)內(nèi)其他區(qū)域分發(fā)。
基于改進(jìn)的蜂群算法,將采蜜蜂和觀察蜂合并,利用采蜜蜂聯(lián)系對(duì)應(yīng)節(jié)點(diǎn)記錄資源狀態(tài),利用偵查蜂搜索信息,判斷是否存在資源多的節(jié)點(diǎn),尋找新節(jié)點(diǎn)的搜索空間可記為fid=fmin+φf(shuō)d,其中fd為負(fù)載均衡度差值。當(dāng)f≤fid則放棄資源最少節(jié)點(diǎn),將新節(jié)點(diǎn)加入調(diào)度列表[9-10]。
針對(duì)智能電網(wǎng)不同時(shí)的數(shù)據(jù)類型,以云計(jì)算分層集群架構(gòu)為基礎(chǔ),按照時(shí)間、優(yōu)先級(jí)分發(fā)至不同的中樞控制節(jié)點(diǎn),且在周邊節(jié)點(diǎn)進(jìn)行備份,提升系統(tǒng)可靠性,避免節(jié)點(diǎn)故障導(dǎo)致數(shù)據(jù)丟失[11-12]。分發(fā)機(jī)制包括:
(1)告警數(shù)據(jù):優(yōu)先封裝送入分發(fā)隊(duì)列,向本區(qū)域內(nèi)所有節(jié)點(diǎn)進(jìn)行廣播,并且上報(bào)上層控制節(jié)點(diǎn);
(2)異常數(shù)據(jù):由區(qū)域的中樞控制節(jié)點(diǎn)選擇本區(qū)域內(nèi)的計(jì)算節(jié)點(diǎn)進(jìn)行備份,不立即分析;
(3)常規(guī)數(shù)據(jù):接收后按序執(zhí)行,進(jìn)行分析并存儲(chǔ)。
對(duì)于智能電網(wǎng)的數(shù)據(jù)包括很多類型,不同的數(shù)據(jù)類型包含的信息差異性較大,比如告警數(shù)據(jù)比常規(guī)數(shù)據(jù)的價(jià)值更高,因此在進(jìn)行調(diào)度時(shí)需關(guān)注數(shù)據(jù)流處理任務(wù)的優(yōu)先級(jí)。處理任務(wù)特征主要包括價(jià)值和時(shí)間2個(gè)方面。
4.2.1價(jià)值特征
數(shù)據(jù)流處理任務(wù)的價(jià)值包括數(shù)據(jù)在整個(gè)系統(tǒng)中的核心程度g以及告警、常規(guī)、異常等數(shù)據(jù)類型價(jià)值k,2個(gè)部分共同組成處理任務(wù)的有效價(jià)值W。影響程度可利用公式:Wi=αgi+βki計(jì)算,其中α、β為系數(shù)。
4.2.2時(shí)間特征
結(jié)合任務(wù)的價(jià)值特征和時(shí)間特征動(dòng)態(tài)分配處理任務(wù)的優(yōu)先級(jí),分配公式記作Pi=αTi+βWi,其中α為時(shí)間特征權(quán)值;β為價(jià)值特征權(quán)值[5]。
對(duì)于到達(dá)的數(shù)據(jù)流處理任務(wù),不僅需選擇目標(biāo)節(jié)點(diǎn)還要兼顧任務(wù)優(yōu)先級(jí)。同時(shí),在進(jìn)行區(qū)域內(nèi)調(diào)度時(shí)由于時(shí)延較短可選擇優(yōu)先處理時(shí)間緊急任務(wù),在進(jìn)行層級(jí)間調(diào)度時(shí)主要選擇截止時(shí)限較遠(yuǎn)且本區(qū)域無(wú)法及時(shí)處理的任務(wù)[15]。任務(wù)調(diào)度過(guò)程如圖3所示。
圖3 任務(wù)調(diào)度算法Fig.3 Task scheduling algorithm
整體調(diào)度算法如下:
(1)調(diào)入處理隊(duì)列,進(jìn)行初始優(yōu)先級(jí)判斷,如果隊(duì)列任務(wù)已滿但節(jié)點(diǎn)任務(wù)未達(dá)到期望值,則創(chuàng)建新隊(duì)列并調(diào)入;
(2)判斷節(jié)點(diǎn)待處理任務(wù)數(shù)是否超出期望數(shù)量,超出則進(jìn)行遷移,均衡負(fù)載;
(3)當(dāng)節(jié)點(diǎn)待處理任務(wù)數(shù)未達(dá)到預(yù)期值,與隊(duì)列閾值進(jìn)行比較,未到閾值時(shí)比較隊(duì)列元素與當(dāng)前任務(wù)的優(yōu)先級(jí):如果當(dāng)前任務(wù)優(yōu)先級(jí)高則提交處理,否則優(yōu)先處理原隊(duì)列任務(wù)[16-17]。
為驗(yàn)證本文構(gòu)建任務(wù)調(diào)度模型的實(shí)際效果,部署Storm和Kafka作為云平臺(tái),搭建1個(gè)中樞節(jié)點(diǎn),2個(gè)次級(jí)區(qū)域、每個(gè)區(qū)域5個(gè)計(jì)算節(jié)點(diǎn)的云計(jì)算分級(jí)集群架構(gòu)。利用國(guó)內(nèi)某小區(qū)半年內(nèi)用電信息作為測(cè)試數(shù)據(jù),將告警數(shù)據(jù)作為重要任務(wù);利用本研究設(shè)計(jì)的任務(wù)調(diào)度算法進(jìn)行自動(dòng)分發(fā),與經(jīng)典的最早截止時(shí)間優(yōu)先的EDF算法、最高價(jià)值優(yōu)先的HVF算法進(jìn)行對(duì)比[18],結(jié)果如表1所示。
表1 不同調(diào)度算法重要任務(wù)完成率Tab.1 Important task completion rate of different scheduling algorithms
重要任務(wù)完成率是衡量調(diào)度算法優(yōu)劣的一項(xiàng)指標(biāo);另外,由于智能電網(wǎng)的數(shù)據(jù)流具有時(shí)效性,還需要考慮算法的處理時(shí)長(zhǎng),同樣與經(jīng)典的EDF、HVF算法進(jìn)行對(duì)比,結(jié)果如圖4所示。
圖4 不同調(diào)度算法任務(wù)處理完成時(shí)間Fig.4 Task processing completion time of different scheduling algorithms
隨著任務(wù)個(gè)數(shù)的增加,完成率會(huì)有所下降;但與其他經(jīng)典算法相比,本研究設(shè)計(jì)的任務(wù)調(diào)度算法下降幅度相對(duì)平緩。與此同時(shí),由于考慮到處理任務(wù)的價(jià)值特征及時(shí)間特征,相對(duì)來(lái)說(shuō)本算法任務(wù)完成時(shí)間更短,調(diào)度效果更好[19-20]。
針對(duì)智能電網(wǎng)的數(shù)據(jù)流特性,采用云計(jì)算分層集群架構(gòu),利用改進(jìn)蜂群算法及爬山算法進(jìn)行計(jì)算節(jié)點(diǎn)的選擇,并引入價(jià)值特征與時(shí)間特征,綜合判斷處理任務(wù)優(yōu)先級(jí),制定動(dòng)態(tài)分配策略,根據(jù)優(yōu)先級(jí)進(jìn)行分發(fā)與調(diào)度。通過(guò)與經(jīng)典算法的對(duì)比,本研究算法完成率更平穩(wěn),且處理時(shí)間更短;但在單節(jié)點(diǎn)或任務(wù)數(shù)較少時(shí)計(jì)算資源消耗較大且實(shí)驗(yàn)數(shù)據(jù)量不大,這與實(shí)際應(yīng)用的智能電網(wǎng)數(shù)據(jù)量存在差異,在性能方面還需進(jìn)一步提升。