李波,趙瑞鋒,黎皓彬
(廣東電網(wǎng)有限責(zé)任公司電力調(diào)度控制中心,廣東 廣州510600)
隨著配用電物聯(lián)網(wǎng)的發(fā)展,海量分布式電源與配用電智能設(shè)備大量接入,對(duì)電力自動(dòng)化系統(tǒng)的信息感知、分析、處理能力提出了更高的要求[1-4]。同時(shí),配電網(wǎng)增量接入對(duì)象產(chǎn)生異構(gòu)多源的數(shù)據(jù)信息也為實(shí)現(xiàn)配用電業(yè)務(wù)的多元化、生態(tài)化提供了支撐[5-8]。然而,現(xiàn)有電力自動(dòng)化系統(tǒng)存在軟硬件強(qiáng)耦合、計(jì)算資源冗余等問(wèn)題,難以適應(yīng)配電物聯(lián)網(wǎng)的發(fā)展需求,其技術(shù)體系和架構(gòu)形態(tài)亟待重構(gòu)[9-10]。
云邊融合的物聯(lián)網(wǎng)平臺(tái)突破了傳統(tǒng)集中式電網(wǎng)分析控制模式[11-12],以業(yè)務(wù)管理協(xié)同、計(jì)算資源協(xié)同、數(shù)據(jù)智能協(xié)同的方式,充分發(fā)揮云主站和邊緣計(jì)算終端各自的優(yōu)勢(shì),從而滿足配用電物聯(lián)網(wǎng)監(jiān)控業(yè)務(wù)實(shí)時(shí)性、安全性、可靠性的需求,并支撐著現(xiàn)有電力自動(dòng)化系統(tǒng)從“主子站”架構(gòu)的集中控制模式向“云管邊端”架構(gòu)的分布式協(xié)同控制模式轉(zhuǎn)變[13-16]。
為了滿足形態(tài)多樣的業(yè)務(wù)融合和快速變化的服務(wù)要求,微服務(wù)成為組織和構(gòu)建配電物聯(lián)網(wǎng)業(yè)務(wù)的關(guān)鍵技術(shù),通過(guò)將業(yè)務(wù)分解為多個(gè)微服務(wù)和微服務(wù)間的相互調(diào)用,可以實(shí)現(xiàn)業(yè)務(wù)功能。在配用電物聯(lián)網(wǎng)軟件定義、軟硬件解耦模式下,微服務(wù)可自由靈活部署在云計(jì)算中心和邊緣計(jì)算終端容器中。合理的微服務(wù)云邊部署方案一方面能夠降低業(yè)務(wù)延時(shí),更好地滿足業(yè)務(wù)實(shí)時(shí)性、可靠性的要求,另一方面能提高計(jì)算資源的利用率,發(fā)揮云計(jì)算中心和邊緣計(jì)算終端冗余資源的價(jià)值。因此,研究配用電物聯(lián)網(wǎng)的微服務(wù)云邊部署方法具有十分重要的意義。
目前,部署問(wèn)題可分為計(jì)算節(jié)點(diǎn)部署和業(yè)務(wù)應(yīng)用部署2種,學(xué)者們首先研究了云計(jì)算或邊緣計(jì)算的節(jié)點(diǎn)部署問(wèn)題。文獻(xiàn)[17]考慮密度和距離2種因素,提出基于聚類思想的邊緣控制中心部署方法,以提高通信質(zhì)量和減輕接入壓力;文獻(xiàn)[18]針對(duì)電纜實(shí)時(shí)監(jiān)控的場(chǎng)景建立以經(jīng)濟(jì)成本為目標(biāo)和平均延時(shí)為約束的計(jì)算節(jié)點(diǎn)規(guī)劃模型,采用遺傳算法求解邊緣計(jì)算節(jié)點(diǎn)的部署方案;文獻(xiàn)[19]提出一種多目標(biāo)進(jìn)化算法,以實(shí)現(xiàn)服務(wù)質(zhì)量和可靠性最大化、成本和能耗最小化為目標(biāo),求解5G網(wǎng)絡(luò)邊緣設(shè)備的部署方案。但是上述文獻(xiàn)研究場(chǎng)景并非配用電物聯(lián)網(wǎng)。在配用電物聯(lián)網(wǎng)中邊緣計(jì)算終端應(yīng)用場(chǎng)景主要為配電臺(tái)區(qū)和配電房,受地理位置、安裝空間、計(jì)算資源分布、安全分區(qū)接入等因素的制約,計(jì)算節(jié)點(diǎn)的部署位置往往相對(duì)固定,可作為已知條件,由此開(kāi)展關(guān)于業(yè)務(wù)應(yīng)用部署的研究。文獻(xiàn)[20]采用深度強(qiáng)化學(xué)習(xí)和神經(jīng)網(wǎng)絡(luò)訓(xùn)練業(yè)務(wù)的部署策略,來(lái)降低業(yè)務(wù)的響應(yīng)延時(shí);文獻(xiàn)[21]提出將應(yīng)用部署于云邊的模糊控制系統(tǒng),以降低業(yè)務(wù)應(yīng)用執(zhí)行延時(shí);文獻(xiàn)[22]針對(duì)應(yīng)用應(yīng)該在邊緣設(shè)備執(zhí)行還是云計(jì)算中心執(zhí)行的問(wèn)題,提出一種動(dòng)態(tài)規(guī)劃算法來(lái)求解計(jì)算任務(wù)的部署方案。上述文獻(xiàn)忽略了不同業(yè)務(wù)應(yīng)用間的時(shí)序邏輯關(guān)系。文獻(xiàn)[23]指出配用電物聯(lián)網(wǎng)業(yè)務(wù)可被分解為多個(gè)微服務(wù),且各微服務(wù)間并非獨(dú)立,具有邏輯約束關(guān)系。
針對(duì)已有研究的不足,本文提出配用電物聯(lián)網(wǎng)監(jiān)控業(yè)務(wù)的微服務(wù)云邊部署方法。首先將配用電監(jiān)控業(yè)務(wù)拆分成多個(gè)微服務(wù),建立配用電監(jiān)控業(yè)務(wù)的時(shí)序邏輯模型和微服務(wù)的云邊部署模型;然后采用改進(jìn)差分進(jìn)化算法來(lái)求解業(yè)務(wù)延時(shí)最小化的微服務(wù)云邊部署方案;最后通過(guò)仿真實(shí)驗(yàn),驗(yàn)證本文方法的有效性。
本文針對(duì)配用電物聯(lián)網(wǎng)監(jiān)控業(yè)務(wù)的功能需求,將配用電物聯(lián)網(wǎng)監(jiān)控業(yè)務(wù)拆分為7個(gè)微服務(wù),每個(gè)微服務(wù)對(duì)邊緣計(jì)算終端、云計(jì)算中心而言是一種計(jì)算任務(wù),見(jiàn)表1。
表1 配用電物聯(lián)網(wǎng)監(jiān)控業(yè)務(wù)的微服務(wù)
7個(gè)微服務(wù)之間存在彼此的數(shù)據(jù)依賴關(guān)系,據(jù)此建立配用電物聯(lián)網(wǎng)監(jiān)控業(yè)務(wù)的微服務(wù)時(shí)序邏輯模型,該模型將數(shù)據(jù)依賴關(guān)系轉(zhuǎn)化為孤立型、串聯(lián)型、并聯(lián)型和復(fù)合型4種連接支路。定義4種支路的組成規(guī)則如下:①每個(gè)單一微服務(wù)原則上可視為一個(gè)孤立支路,而并聯(lián)支路、串聯(lián)支路和復(fù)合支路由多個(gè)孤立支路構(gòu)成;②并聯(lián)支路由2個(gè)及以上的孤立支路并聯(lián)而成;③串聯(lián)支路只存在于復(fù)合支路中,且由2個(gè)及以上的孤立支路或經(jīng)等效后的孤立支路串聯(lián)而成;④復(fù)合支路上至少存在一個(gè)串聯(lián)支路,可由串聯(lián)支路和孤立支路并聯(lián)而成。
依據(jù)所提出的4種支路組成規(guī)則和配用電監(jiān)控業(yè)務(wù)的流程,建立其微服務(wù)的時(shí)序邏輯,如圖1所示。圖1中,0、1、2、3、4、5標(biāo)號(hào)為各支路間的節(jié)點(diǎn)編號(hào)。
進(jìn)一步建立時(shí)序邏輯模型,為計(jì)算各支路和業(yè)務(wù)的總延時(shí)大小奠定基礎(chǔ),包括連接矩陣模型、串并關(guān)系模型和支路延時(shí)模型。
連接矩陣模型L用于描述各微服務(wù)所處支路的連接始末關(guān)系。L共2行元素,列數(shù)取決于業(yè)務(wù)的微服務(wù)個(gè)數(shù),每列表示1個(gè)微服務(wù)。L的第1行元素表示各微服務(wù)的起始節(jié)點(diǎn)編號(hào),第2行元素表示各微服務(wù)的終止節(jié)點(diǎn)編號(hào)。由圖1可得
圖1 配用電監(jiān)控業(yè)務(wù)的微服務(wù)時(shí)序邏輯
(1)
串并關(guān)系模型X用于描述各微服務(wù)所處的支路類型。X共2行元素,列數(shù)取決于業(yè)務(wù)的微服務(wù)個(gè)數(shù),每列表示1個(gè)微服務(wù)。X的第1行元素為串聯(lián)支路編號(hào),第2行元素為并聯(lián)支路編號(hào),該列所處2行元素均為0表示孤立支路,其中1行元素不為0表示串聯(lián)或并聯(lián)支路。由圖1可得
(2)
式中:微服務(wù)1、2、5、7處于孤立支路,因此其對(duì)應(yīng)列中的2行元素均為0、0;微服務(wù)3、4處于同一個(gè)并聯(lián)支路,且為第1個(gè)并聯(lián)支路,因此其對(duì)應(yīng)列中的2行元素均為0、1;微服務(wù)6處于串聯(lián)支路,且為第1個(gè)串聯(lián)支路,因此其對(duì)應(yīng)列中的2行元素為1、0。
延時(shí)模型用于表示各支路的延時(shí)大小,通過(guò)對(duì)各支路的延時(shí)大小進(jìn)行等效和整合,可最終得到配用電物聯(lián)網(wǎng)監(jiān)控業(yè)務(wù)的延時(shí)。
串聯(lián)支路模型可通過(guò)式(3)計(jì)算:
tk1,ser=∑ti,ser,i∈K1.
(3)
式中:tk1,ser為第k1個(gè)串聯(lián)支路的延時(shí);集合K1為第k1個(gè)串聯(lián)支路上的微服務(wù)集合;ti,ser為屬于集合K1的第i個(gè)微服務(wù)的延時(shí)。
并聯(lián)支路模型可通過(guò)式(4)計(jì)算:
tk2,par=maxtj,par,j∈K2.
(4)
式中:tk2,par第k2個(gè)并聯(lián)支路的延時(shí);集合K2為第k2個(gè)并聯(lián)支路上的微服務(wù)集合;tj,par為屬于集合K2的第j個(gè)微服務(wù)的延時(shí)。
復(fù)合支路模型可通過(guò)式(5)計(jì)算:
tk3,com=maxth,com,h∈Tis∪Ts.
(5)
式中:tk3,com為第k3個(gè)復(fù)合支路的微服務(wù)總延時(shí);集合Tis為屬于該復(fù)合支路的孤立支路的延時(shí)集合;集合Ts為屬于該復(fù)合支路的串聯(lián)支路延時(shí)集合;th,com為Tis與Ts的并集中第h個(gè)微服務(wù)的延時(shí)。
業(yè)務(wù)延時(shí)可通過(guò)對(duì)干路上所有延時(shí)環(huán)節(jié)的累加獲得,計(jì)算式為
(6)
式中:t為該業(yè)務(wù)延時(shí);tk4,is為第k4個(gè)孤立支路上微服務(wù)的延時(shí);N4、N2和N3分別為干路上的孤立支路總數(shù)、并聯(lián)支路總數(shù)和復(fù)合支路總數(shù)。
本文的優(yōu)化問(wèn)題建立在云邊協(xié)同機(jī)制上,需要將微服務(wù)部署到云節(jié)點(diǎn)或邊緣節(jié)點(diǎn),并分配合理的計(jì)算資源,以滿足配用電監(jiān)控業(yè)務(wù)的實(shí)時(shí)性要求。云節(jié)點(diǎn)和邊緣節(jié)點(diǎn)通過(guò)骨干通信網(wǎng)進(jìn)行通信,通信資源也對(duì)業(yè)務(wù)延時(shí)有影響。
本文所建優(yōu)化模型的決策變量為表示第i個(gè)微服務(wù)部署于邊緣計(jì)算終端或云計(jì)算中心的0-1變量si,e、si,c,以及表示第i個(gè)微服務(wù)獲得的邊緣計(jì)算終端或云計(jì)算中心容器計(jì)算資源量的連續(xù)變量ci,e、ci,c。
本文以最小業(yè)務(wù)延時(shí)為微服務(wù)云邊部署模型的目標(biāo)函數(shù),即
mint.
(7)
孤立支路延時(shí)為與該孤立支路對(duì)應(yīng)的微服務(wù)i的計(jì)算延時(shí)ti,cal,is和數(shù)據(jù)傳輸延時(shí)ti,tra,is之和,即:
tk4,is=ti,cal,is+ti,tra,is;
(8)
(9)
(10)
式中:di,j為第i個(gè)微服務(wù)與第j個(gè)微服務(wù)云邊通信的0-1變量;θi,cpu、Di分別為微服務(wù)i的時(shí)鐘周期數(shù)和數(shù)據(jù)傳輸量;Ri,j為微服務(wù)i、j間的通信速度,可細(xì)分為下行通信速度和上行通信速度,下行通信速度為云計(jì)算中心向邊緣計(jì)算終端傳輸數(shù)據(jù)的速度,上行通信速度為邊緣計(jì)算終端向云計(jì)算中心傳輸數(shù)據(jù)的速度。
串聯(lián)支路延時(shí)為串聯(lián)支路上所有微服務(wù)的計(jì)算延時(shí)和數(shù)據(jù)傳輸延時(shí)之和,即
tk1,ser=∑ti,cal,ser+∑ti,tra,ser,i∈K1.
(11)
并聯(lián)支路延時(shí)為并聯(lián)支路上微服務(wù)的最大計(jì)算延時(shí)和最大數(shù)據(jù)傳輸延時(shí)之和,即:
tk2,par=maxti,cal,par+
max(tk2,up,par,tk2,down,par),i∈K2;
(12)
(13)
(14)
(15)
式中:tk2,up,par、tk2,down,par分別為該并聯(lián)支路上的微服務(wù)上行通信延時(shí)、下行通信延時(shí);Di,up、Di,down分別為該并聯(lián)支路上的微服務(wù)i的數(shù)據(jù)傳輸量;Ri,j,up、Ri,j,down分別為微服務(wù)i、j間的上行通信速度、下行通信速度。
復(fù)合支路延時(shí)為屬于該復(fù)合支路的孤立支路和串聯(lián)支路的延時(shí)最大值,
tk3,com=max(tk1,is,tk4,ser),k1,k4∈B3.
(16)
式中:B3為屬于該復(fù)合支路的孤立支路和串聯(lián)支路集合。
a)邊緣計(jì)算終端的計(jì)算資源應(yīng)滿足部署于邊緣計(jì)算終端的微服務(wù)計(jì)算資源需求,計(jì)算資源約束表達(dá)式為
(17)
式中:n為微服務(wù)總數(shù);CE為邊緣計(jì)算終端計(jì)算資源。
b)云計(jì)算中心的計(jì)算資源約束。云計(jì)算中心的計(jì)算資源應(yīng)滿足部署于云計(jì)算中心的微服務(wù)計(jì)算資源需求,計(jì)算資源約束表達(dá)式為
(18)
式中CD為云計(jì)算中心計(jì)算資源。
c)微服務(wù)部署集合約束。微服務(wù)部署集合約束可用0-1變量si,e、si,c來(lái)表示,約束表達(dá)式為
si,e+si,c=1.
(19)
d)云邊通信約束。若前驅(qū)微服務(wù)與后置微服務(wù)同部署于邊緣計(jì)算終端或云計(jì)算中心,則無(wú)需進(jìn)行云邊通信,否則需進(jìn)行云邊通信。云邊通信的約束表達(dá)式為:
li=si,e+2si,c,
(20)
di,j=li-lj.
(21)
式中:li為微服務(wù)i的鏈路變量,相應(yīng)lj的計(jì)算方法與之相同;di,j=1表示前驅(qū)微服務(wù)與后置微服務(wù)部署于不同位置,需要進(jìn)行云邊通信,di,j=0表示前驅(qū)微服務(wù)與后置微服務(wù)部署于相同位置,不需要進(jìn)行云邊通信。
差分進(jìn)化算法具有結(jié)構(gòu)簡(jiǎn)單、容易實(shí)現(xiàn)、收斂快速等特點(diǎn),本文采用改進(jìn)差分進(jìn)化算法求解,主要步驟如下:
步驟1,輸入仿真參數(shù)及矩陣L、X;
步驟2,初始化迭代次數(shù)g=1,產(chǎn)生初始種群X0;
步驟3,對(duì)種群進(jìn)行變異、交叉操作;
步驟4,使用矩陣X獲得最大串聯(lián)、并聯(lián)、孤立支路數(shù);
步驟5,使用式(3)—(5)和L、X計(jì)算串聯(lián)、并聯(lián)、復(fù)合支路延時(shí);
步驟6,使用式(6)和L、X計(jì)算業(yè)務(wù)延時(shí);
步驟7,輸出業(yè)務(wù)延時(shí),并對(duì)種群進(jìn)行選擇操作;
步驟8,判斷迭代是否滿足收斂條件,若收斂則輸出結(jié)果,結(jié)束算法流程,若不收斂則返回至步驟4,繼續(xù)迭代。
本文設(shè)置的仿真場(chǎng)景包含云節(jié)點(diǎn)和邊緣節(jié)點(diǎn),二者通過(guò)骨干通信網(wǎng)通信,協(xié)作完成配用電監(jiān)控業(yè)務(wù)。在骨干通信網(wǎng)中存在上行通信鏈路和下行通信鏈路。本文配用電監(jiān)控業(yè)務(wù)的微服務(wù)仿真參數(shù)見(jiàn)表2;差分進(jìn)化算法參數(shù)設(shè)置包括:迭代次數(shù)為400,種群大小為20,交叉概率為0.2,縮放因子上、下限分別0.8和0.2。
表2 業(yè)務(wù)包含的微服務(wù)參數(shù)
采用本文方法求解微服務(wù)云邊部署并對(duì)比其他3種部署策略的結(jié)果,見(jiàn)表3,其中策略1為邊部署策略,策略2為云部署策略,策略3為均衡部署策略。采用粒子群優(yōu)化(partical swarm optimization,PSO)算法求解,結(jié)果見(jiàn)表4。
表3 改進(jìn)差分進(jìn)化算法求解微服務(wù)云邊部署結(jié)果
表4 PSO算法求解微服務(wù)云邊部署結(jié)果
由表3可知:采用策略1時(shí),邊緣計(jì)算終端的計(jì)算資源有限,配用電監(jiān)控業(yè)務(wù)的總延時(shí)高達(dá)63.78 s;采用策略2時(shí),云計(jì)算中心提供了充足的計(jì)算資源,但由于配用電監(jiān)控業(yè)務(wù)的執(zhí)行結(jié)果數(shù)據(jù)量大,需要從云計(jì)算中心依靠下行通信傳輸至邊緣計(jì)算終端,該微服務(wù)的部署方案業(yè)務(wù)延時(shí)也比本文方法高出10.95 s;采用策略3時(shí),由于部署方案并未得到優(yōu)化,其業(yè)務(wù)延時(shí)也較高。通過(guò)微服務(wù)的云邊部署優(yōu)化,能有效發(fā)揮邊緣計(jì)算終端和云計(jì)算中心的資源協(xié)同優(yōu)勢(shì),降低業(yè)務(wù)延時(shí)。
對(duì)比表3和表4可知,采用改進(jìn)差分進(jìn)化算法和PSO算法求解本文模型所得的微服務(wù)云邊部署位置結(jié)果一致;改進(jìn)差分進(jìn)化算法求得的業(yè)務(wù)延時(shí)結(jié)果比PSO算法求得結(jié)果較?。槐疚膬?yōu)化模型目標(biāo)為最小化業(yè)務(wù)延時(shí),而PSO算法尋優(yōu)過(guò)程與改進(jìn)差分進(jìn)化算法相比較容易陷入局部最優(yōu)。因此,本文采用改進(jìn)差分進(jìn)化算法在尋優(yōu)深度和求解精度上的效果更好。
本文分析云邊計(jì)算資源對(duì)微服務(wù)部署的影響,分別設(shè)定邊緣計(jì)算終端的計(jì)算資源為2 GHz和4 GHz,改變?cè)朴?jì)算中心的計(jì)算資源,分析云邊計(jì)算資源對(duì)微服務(wù)部署結(jié)果的影響,見(jiàn)表5。
表5 云邊計(jì)算資源對(duì)微服務(wù)部署的影響
由表5可知:在相同的邊緣計(jì)算終端計(jì)算資源下,隨著云計(jì)算中心計(jì)算資源增加,部署于云計(jì)算中心的微服務(wù)數(shù)量增加,業(yè)務(wù)延時(shí)減少;在相同的云計(jì)算中心計(jì)算資源下,隨著邊緣計(jì)算終端計(jì)算資源增加,部署于邊緣計(jì)算終端的微服務(wù)數(shù)量增加,業(yè)務(wù)延時(shí)減少。從部署結(jié)果也可以得出如微服務(wù)6、微服務(wù)7這種計(jì)算所需時(shí)鐘周期數(shù)較多的微服務(wù),一般部署于云計(jì)算中心,如微服務(wù)1、微服務(wù)2、微服務(wù)4這種計(jì)算所需時(shí)鐘周期數(shù)較少的微服務(wù),一般部署于邊緣計(jì)算終端。
本文分析云邊通信資源對(duì)微服務(wù)部署的影響,分別設(shè)定下行通信速度為12 MB/s和15 MB/s,改變上行通信速度,分析云邊通信資源對(duì)微服務(wù)部署的影響,結(jié)果見(jiàn)表6。
由表6可知:在相同的下行通信速度下,上行通信速度增加雖沒(méi)有改變微服務(wù)部署的方案,但能降低業(yè)務(wù)延時(shí);在相同的上行通信速度下,下行通信速度增加也沒(méi)有改變微服務(wù)的部署方案,但同樣能降低業(yè)務(wù)延時(shí)。影響微服務(wù)部署方案的主要因素是邊緣計(jì)算終端和云計(jì)算中心的計(jì)算資源,而通信資源對(duì)業(yè)務(wù)部署方案的影響較小。
表6 云邊通信資源對(duì)微服務(wù)部署的影響
本文提出一種配用電物聯(lián)網(wǎng)監(jiān)控業(yè)務(wù)的微服務(wù)云邊部署方法,建立配用電物聯(lián)網(wǎng)監(jiān)控業(yè)務(wù)的微服務(wù)模型,采用改進(jìn)差分進(jìn)化算法求解建立的微服務(wù)云邊部署模型。仿真結(jié)果表明,所提方法相比邊部署策略、云部署策略和均衡部署策略能有效降低業(yè)務(wù)的延時(shí),云邊的計(jì)算資源相較于通信資源對(duì)微服務(wù)部署結(jié)果的影響更顯著,且本文方法在尋優(yōu)深度和求解精度上比現(xiàn)有PSO算法更好。