鐘云南,陳行濱,占彤平,林旭軍, 陳 珺,謝妙紅
(1.國網(wǎng)福建省電力有限公司,福建 福州 350000; 2.國網(wǎng)信通億力科技有限責任公司,福建 福州 350003)
隨著智能電網(wǎng)的鋪設,智能化設備大量投入使用,隨之產(chǎn)生的數(shù)據(jù)量也急劇攀升,這種海量的數(shù)據(jù)流既帶來了潛在的分析價值,也帶來了處理上的挑戰(zhàn)。數(shù)據(jù)量的激增勢必引起一系列數(shù)據(jù)采集、監(jiān)測、分析系統(tǒng)的性能問題,因此在大數(shù)據(jù)時代,性能優(yōu)異且可靠性高的數(shù)據(jù)分發(fā)與調(diào)度機制在保障電力系統(tǒng)高速運算、提升系統(tǒng)穩(wěn)定性方面非常有研究價值。
隨著智能設備的投運,電網(wǎng)中各類監(jiān)測數(shù)據(jù)的規(guī)模日益增長,正常情況下,各類監(jiān)測設備按照采集頻率進行數(shù)據(jù)傳輸,但當電網(wǎng)出現(xiàn)故障或超限等情況時,復雜的數(shù)據(jù)流既包括時間緊迫的告警數(shù)據(jù),又包括大量的異常狀態(tài)以及常規(guī)采集數(shù)據(jù),導致數(shù)據(jù)接收節(jié)點壓力倍增,難以及時處理,甚至造成數(shù)據(jù)丟失,系統(tǒng)可靠性隨之降低。
云計算是一種分布式計算,具有規(guī)模大、高可靠、可擴展等特性,集群主要是利用互相連接的計算機構(gòu)成分布式系統(tǒng),負載均衡集群即可按照一定的策略將任務進行分發(fā),實現(xiàn)迅速響應。云計算技術(shù)可以緩解智能電網(wǎng)數(shù)據(jù)量大帶來的存儲、分析問題,集群則可避免任務堵塞,提升處理性能[1-2]。
針對智能電網(wǎng)數(shù)據(jù)流的特點,選用云計算集群進行數(shù)據(jù)處理,云計算集群雖然可以提供優(yōu)質(zhì)的計算服務,但數(shù)據(jù)大批量到達時接收節(jié)點難以處理全部數(shù)據(jù),分發(fā)至其他節(jié)點則涉及到中樞節(jié)點進行分配,不僅耗時耗力,而且部分節(jié)點資源利用率難以飽和,還容易造成數(shù)據(jù)堵塞或數(shù)據(jù)丟失。針對這一情況設計了“中樞層-次級層-區(qū)域?qū)印钡募悍謱蛹軜?gòu),具體如圖1所示。利用劃分區(qū)域后再合并為層,由中樞節(jié)點統(tǒng)一調(diào)配;區(qū)域需要進行擴展時只需操作本區(qū)域的控制節(jié)點,只有在區(qū)域的整體負載值過高時才由中樞節(jié)點調(diào)度遷移任務至同層的其他區(qū)域[3-4]。

圖1 集群分層架構(gòu)Fig.1 Cluster hierarchical architecture
集群分層之后,每一層包含多個區(qū)域,每一個區(qū)域內(nèi)需具備控制節(jié)點,在節(jié)點之上建立資源管理器、任務管理器與任務調(diào)度器,以此處理任務隊列。各個節(jié)點的結(jié)構(gòu)相同,結(jié)構(gòu)如圖2所示。數(shù)據(jù)流到達之后進行初步識別,然后進行分類處理;告警數(shù)據(jù)又分發(fā)隊列快速廣播,異常數(shù)據(jù)需要先進行備份,常規(guī)數(shù)據(jù)則按照優(yōu)先級進行處理[5-6]。

圖2 集群節(jié)點結(jié)構(gòu)Fig.2 Cluster node structure
當數(shù)據(jù)流抵達之后,需要選擇一個目標節(jié)點進行處理,先在區(qū)域內(nèi)查找是否存在空閑節(jié)點,當區(qū)域內(nèi)的節(jié)點負載都比較高時,擴展到同層級的相鄰區(qū)域,確保區(qū)域資源利用狀態(tài)最佳。首先,選擇中樞節(jié)點作為聚類中心,利用帶寬、時延等分量作為距離組成區(qū)域,利用區(qū)域的中樞節(jié)點再次聚類形成層級。其次,在節(jié)點負載過高時,利用改進蜂群算法向其他節(jié)點分發(fā),均衡負載。最后,在本區(qū)域負載過高時,利用改進爬山算法向?qū)蛹墐?nèi)其他區(qū)域分發(fā)。

基于改進的蜂群算法,將采蜜蜂和觀察蜂合并,利用采蜜蜂聯(lián)系對應節(jié)點記錄資源狀態(tài),利用偵查蜂搜索信息,判斷是否存在資源多的節(jié)點,尋找新節(jié)點的搜索空間可記為fid=fmin+φfd,其中fd為負載均衡度差值。當f≤fid則放棄資源最少節(jié)點,將新節(jié)點加入調(diào)度列表[9-10]。

針對智能電網(wǎng)不同時的數(shù)據(jù)類型,以云計算分層集群架構(gòu)為基礎,按照時間、優(yōu)先級分發(fā)至不同的中樞控制節(jié)點,且在周邊節(jié)點進行備份,提升系統(tǒng)可靠性,避免節(jié)點故障導致數(shù)據(jù)丟失[11-12]。分發(fā)機制包括:
(1)告警數(shù)據(jù):優(yōu)先封裝送入分發(fā)隊列,向本區(qū)域內(nèi)所有節(jié)點進行廣播,并且上報上層控制節(jié)點;
(2)異常數(shù)據(jù):由區(qū)域的中樞控制節(jié)點選擇本區(qū)域內(nèi)的計算節(jié)點進行備份,不立即分析;
(3)常規(guī)數(shù)據(jù):接收后按序執(zhí)行,進行分析并存儲。
對于智能電網(wǎng)的數(shù)據(jù)包括很多類型,不同的數(shù)據(jù)類型包含的信息差異性較大,比如告警數(shù)據(jù)比常規(guī)數(shù)據(jù)的價值更高,因此在進行調(diào)度時需關(guān)注數(shù)據(jù)流處理任務的優(yōu)先級。處理任務特征主要包括價值和時間2個方面。
4.2.1價值特征
數(shù)據(jù)流處理任務的價值包括數(shù)據(jù)在整個系統(tǒng)中的核心程度g以及告警、常規(guī)、異常等數(shù)據(jù)類型價值k,2個部分共同組成處理任務的有效價值W。影響程度可利用公式:Wi=αgi+βki計算,其中α、β為系數(shù)。
4.2.2時間特征

結(jié)合任務的價值特征和時間特征動態(tài)分配處理任務的優(yōu)先級,分配公式記作Pi=αTi+βWi,其中α為時間特征權(quán)值;β為價值特征權(quán)值[5]。
對于到達的數(shù)據(jù)流處理任務,不僅需選擇目標節(jié)點還要兼顧任務優(yōu)先級。同時,在進行區(qū)域內(nèi)調(diào)度時由于時延較短可選擇優(yōu)先處理時間緊急任務,在進行層級間調(diào)度時主要選擇截止時限較遠且本區(qū)域無法及時處理的任務[15]。任務調(diào)度過程如圖3所示。

圖3 任務調(diào)度算法Fig.3 Task scheduling algorithm
整體調(diào)度算法如下:
(1)調(diào)入處理隊列,進行初始優(yōu)先級判斷,如果隊列任務已滿但節(jié)點任務未達到期望值,則創(chuàng)建新隊列并調(diào)入;
(2)判斷節(jié)點待處理任務數(shù)是否超出期望數(shù)量,超出則進行遷移,均衡負載;
(3)當節(jié)點待處理任務數(shù)未達到預期值,與隊列閾值進行比較,未到閾值時比較隊列元素與當前任務的優(yōu)先級:如果當前任務優(yōu)先級高則提交處理,否則優(yōu)先處理原隊列任務[16-17]。
為驗證本文構(gòu)建任務調(diào)度模型的實際效果,部署Storm和Kafka作為云平臺,搭建1個中樞節(jié)點,2個次級區(qū)域、每個區(qū)域5個計算節(jié)點的云計算分級集群架構(gòu)。利用國內(nèi)某小區(qū)半年內(nèi)用電信息作為測試數(shù)據(jù),將告警數(shù)據(jù)作為重要任務;利用本研究設計的任務調(diào)度算法進行自動分發(fā),與經(jīng)典的最早截止時間優(yōu)先的EDF算法、最高價值優(yōu)先的HVF算法進行對比[18],結(jié)果如表1所示。

表1 不同調(diào)度算法重要任務完成率Tab.1 Important task completion rate of different scheduling algorithms
重要任務完成率是衡量調(diào)度算法優(yōu)劣的一項指標;另外,由于智能電網(wǎng)的數(shù)據(jù)流具有時效性,還需要考慮算法的處理時長,同樣與經(jīng)典的EDF、HVF算法進行對比,結(jié)果如圖4所示。

圖4 不同調(diào)度算法任務處理完成時間Fig.4 Task processing completion time of different scheduling algorithms
隨著任務個數(shù)的增加,完成率會有所下降;但與其他經(jīng)典算法相比,本研究設計的任務調(diào)度算法下降幅度相對平緩。與此同時,由于考慮到處理任務的價值特征及時間特征,相對來說本算法任務完成時間更短,調(diào)度效果更好[19-20]。
針對智能電網(wǎng)的數(shù)據(jù)流特性,采用云計算分層集群架構(gòu),利用改進蜂群算法及爬山算法進行計算節(jié)點的選擇,并引入價值特征與時間特征,綜合判斷處理任務優(yōu)先級,制定動態(tài)分配策略,根據(jù)優(yōu)先級進行分發(fā)與調(diào)度。通過與經(jīng)典算法的對比,本研究算法完成率更平穩(wěn),且處理時間更短;但在單節(jié)點或任務數(shù)較少時計算資源消耗較大且實驗數(shù)據(jù)量不大,這與實際應用的智能電網(wǎng)數(shù)據(jù)量存在差異,在性能方面還需進一步提升。