張華兵, 周英耀, 徐 磊, 石宏宇
(1. 北京大學(xué) 信息科學(xué)技術(shù)學(xué)院, 北京 100000; 2. 南方電網(wǎng) 數(shù)字電網(wǎng)研究院有限公司, 廣州 511365)
通常情況下,電力信息系統(tǒng)的架構(gòu)包括顯示層、應(yīng)用層以及數(shù)據(jù)庫(kù)3個(gè)層次,這些層次之間相對(duì)獨(dú)立,此種架構(gòu)主要依附于單獨(dú)部署單元,結(jié)構(gòu)并不復(fù)雜.但隨著大數(shù)據(jù)時(shí)代到來(lái),此種架構(gòu)逐漸體現(xiàn)出數(shù)據(jù)采集不全面等弊端,導(dǎo)致無(wú)法對(duì)電力系統(tǒng)鏈路進(jìn)行有效監(jiān)控,為廣大電力工作者帶來(lái)了嚴(yán)峻挑戰(zhàn).對(duì)電力信息系統(tǒng)進(jìn)行監(jiān)控必須實(shí)時(shí)掌握電網(wǎng)運(yùn)行狀態(tài),結(jié)合監(jiān)控信息判斷出可能發(fā)生的問(wèn)題,進(jìn)而實(shí)現(xiàn)對(duì)潛在問(wèn)題的優(yōu)化.為實(shí)現(xiàn)全過(guò)程、多維度監(jiān)控,相關(guān)學(xué)者對(duì)該問(wèn)題進(jìn)行了相關(guān)研究.
郝成亮等[1]提出利用非線性特征分解算法對(duì)信息系統(tǒng)數(shù)據(jù)進(jìn)行重組,通過(guò)自適應(yīng)頻譜檢測(cè)對(duì)數(shù)據(jù)做頻譜分析,再使用匹配濾波器對(duì)異常數(shù)據(jù)進(jìn)行檢測(cè),進(jìn)而實(shí)現(xiàn)對(duì)電力信息系統(tǒng)的監(jiān)控.陳月卿等[2]基于多機(jī)多網(wǎng)并行校核原理,設(shè)計(jì)了自動(dòng)閉環(huán)監(jiān)控方法,并引入頻譜校正技術(shù)對(duì)電力系統(tǒng)數(shù)據(jù)進(jìn)行實(shí)時(shí)監(jiān)控.上述方法雖然具有一定的監(jiān)測(cè)性能,但對(duì)電力信息系統(tǒng)的全鏈路監(jiān)控實(shí)時(shí)性及準(zhǔn)確性仍有待提高.
微服務(wù)架構(gòu)能夠?qū)I(yè)務(wù)功能作為邊界,對(duì)大型單體應(yīng)用進(jìn)行拆分,將其變?yōu)楦髯元?dú)立的一組應(yīng)用.其最大優(yōu)勢(shì)就是小且獨(dú)立,所有微服務(wù)的邏輯結(jié)構(gòu)較為簡(jiǎn)單,可做單獨(dú)調(diào)整與部署[3].本文正是利用微服務(wù)的此種優(yōu)勢(shì),利用基于壓縮感知的電力數(shù)據(jù)采集方法,使監(jiān)測(cè)數(shù)據(jù)更加全面;再通過(guò)對(duì)微服務(wù)的部署與路由設(shè)置,實(shí)現(xiàn)電力信息系統(tǒng)的全鏈路監(jiān)控,更好地解決電力信息系統(tǒng)監(jiān)控不全面的問(wèn)題.
對(duì)電力信息系統(tǒng)所有鏈路的信息進(jìn)行全面采集,以提升監(jiān)控效果,為此,本文通過(guò)壓縮感知的方法采集數(shù)據(jù)[4].針對(duì)長(zhǎng)度為N的一維信號(hào),若其存在K個(gè)關(guān)鍵值,其余N-K個(gè)值不進(jìn)行考慮,則認(rèn)為此信號(hào)是稀疏的.傳統(tǒng)采樣方式不管信號(hào)是否具備稀疏特性,全部利用均勻采樣的方式,當(dāng)初始信號(hào)長(zhǎng)度大、信息量少時(shí),均勻采集會(huì)導(dǎo)致采樣數(shù)據(jù)量過(guò)大,浪費(fèi)內(nèi)存空間,且在壓縮過(guò)程中有可能損失關(guān)鍵數(shù)據(jù),影響監(jiān)控精度.
壓縮感知采集方式能夠很好地解決上述問(wèn)題,其主要是對(duì)信號(hào)的非自適應(yīng)線性投影進(jìn)行采樣,不需要通過(guò)多個(gè)樣本完成,直接得到信號(hào)的壓縮表示,很好地解決了數(shù)據(jù)采集效率低等問(wèn)題.針對(duì)某線性測(cè)量過(guò)程,構(gòu)建一個(gè)和稀疏表示基沒(méi)有任何關(guān)聯(lián)的觀測(cè)矩陣Φ∈CM×N,獲得信號(hào)x的壓縮表示,壓縮矢量表示為
y=Φx=ΦΨs=Θs
(1)
式中:s為系數(shù)矢量;Θ為高斯矩陣;Ψ為恢復(fù)矩陣.測(cè)量與恢復(fù)矩陣之間的乘積屬于一個(gè)M×N維矩陣,由此能夠看出式(1)是一個(gè)不依賴采樣模型的測(cè)量程序.
測(cè)量值y的維數(shù)特征為M=O(Klog2N),其中,O為運(yùn)算復(fù)雜度[5].通過(guò)觀測(cè)值y對(duì)初始信號(hào)x重構(gòu)的表達(dá)式為
(2)

基于壓縮感知的數(shù)據(jù)采集過(guò)程首先需構(gòu)建測(cè)量矩陣[6],確保信號(hào)從x∈RN變換到y(tǒng)∈RM的降維過(guò)程中,關(guān)鍵信息不會(huì)破損;其次對(duì)信號(hào)x進(jìn)行重構(gòu).
1.1.1 測(cè)量與感知矩陣構(gòu)建
測(cè)量矩陣的作用是從長(zhǎng)度為M的測(cè)量矢量中完成長(zhǎng)度為N的初始信號(hào)x的重構(gòu).由于M (3) 當(dāng)矢量v屬于某稀疏矩陣時(shí),針對(duì)任意K稀疏的初始信號(hào)均存在一個(gè)矩陣Θ符合式(3). 建立一個(gè)Θ矩陣,使Θ=ΦΨ受到等距性制約,將Θ當(dāng)作測(cè)量矩陣,Ψ作為恢復(fù)矩陣[7].但等距性與不相關(guān)性均能通過(guò)一個(gè)隨機(jī)矩陣表現(xiàn).假設(shè)矩陣包含的元素φj,i具有獨(dú)立分布特征,滿足高斯概率函數(shù),且隨機(jī)變量等于零,方差表示為1/N.將測(cè)量矢量y看作M個(gè)信號(hào)x內(nèi)的元素組合,此時(shí),測(cè)量矩陣會(huì)表現(xiàn)出如下兩個(gè)屬性: 屬性1矩陣Θ和變換基ψ=I之間不存在任何關(guān)系.M×N的高斯矩陣Θ=ΦI=Φ可體現(xiàn)出等距性約束,若c屬于較小常量,則M≥cKlog2(N/K),N維的K稀疏初始信號(hào)能在M次測(cè)量中完成重構(gòu). 屬性2矩陣Θ可以普遍適用,且Θ=ΦΨ是獨(dú)立分布的高斯矩陣. 結(jié)合上述屬性,Φ和Ψ之間不相關(guān)系數(shù)表達(dá)式為 (4) 1.1.2 信號(hào)重構(gòu) 將上述問(wèn)題當(dāng)作逆問(wèn)題思考,通過(guò)最小l2范數(shù)法確定轉(zhuǎn)換空間矢量,求解表達(dá)式為 (5) (6) 式(6)能快速恢復(fù)K稀疏信號(hào),但會(huì)出現(xiàn)數(shù)值不穩(wěn)定問(wèn)題,必須綜合分析隨機(jī)組合的所有可能. 綜合上述分析,0和2范數(shù)對(duì)于信號(hào)恢復(fù)均存在一定問(wèn)題,因此綜合兩種方法,將利用l1范數(shù)實(shí)現(xiàn)信號(hào)重構(gòu),定義表達(dá)式為 (7) 利用式(7)能準(zhǔn)確高效恢復(fù)K稀疏初始信號(hào),同時(shí)僅通過(guò)M(M≥cKlog2(N/K))次測(cè)量即可完全恢復(fù)信號(hào).其屬于一種凸優(yōu)化問(wèn)題,又叫做凸松弛算法. 通過(guò)上述方法采集到的初始信號(hào)一定程度上避免了數(shù)據(jù)冗余,降低了數(shù)據(jù)維度,但信息系統(tǒng)自身導(dǎo)致的噪聲還需進(jìn)一步處理.本文通過(guò)連續(xù)小波變換的方式對(duì)監(jiān)控信號(hào)進(jìn)一步降噪[8]. 設(shè)η′(t)為基本采集函數(shù),η′a,b(t)為經(jīng)過(guò)小波變換后得到的函數(shù),此函數(shù)具有持續(xù)變化特征,因此信號(hào)f(t)的持續(xù)小波轉(zhuǎn)化可表示為 (8) 式中,a、b為Wf(a,b)中的持續(xù)變量.結(jié)合已知基礎(chǔ)小波η′(t),使用伸縮a與平移b生成函數(shù)η′a,b(t),可將其當(dāng)作連續(xù)小波基.將小波函數(shù)當(dāng)作是信號(hào)濾波器,所以小波變換也是信號(hào)與濾波器之間的卷積運(yùn)算[9].連續(xù)小波和傅里葉變換較為相似,唯一不同的是小波變換存在兩個(gè)參數(shù),所以小波變化的實(shí)質(zhì)就是時(shí)間與尺度的變換[10]. 本文所搭建的微服務(wù)架構(gòu)如圖1所示,包括多種組件,各組件具體作用如下: 圖1 微服務(wù)架構(gòu)Fig.1 Micro-service architecture 1) 服務(wù)網(wǎng)關(guān).為相關(guān)應(yīng)用提供訪問(wèn)入口. 2) 注冊(cè)中心.為相關(guān)監(jiān)控信息提供儲(chǔ)存平臺(tái),利用服務(wù)注冊(cè)與發(fā)現(xiàn)兩個(gè)技術(shù),構(gòu)建微服務(wù)調(diào)用通道. 3) 服務(wù)監(jiān)控.主要負(fù)責(zé)微服務(wù)架構(gòu)的運(yùn)行狀態(tài)監(jiān)控,確保微服務(wù)健康運(yùn)轉(zhuǎn)[11]. 4) 配置中心.方便信息在多個(gè)環(huán)境下儲(chǔ)存,有助于將多鏈路信息同步更新在微服務(wù)中. 根據(jù)監(jiān)控目標(biāo),可將監(jiān)控類型分為交易監(jiān)控、安全監(jiān)控、狀態(tài)監(jiān)控等重點(diǎn)內(nèi)容.在微服務(wù)架構(gòu)下要想實(shí)現(xiàn)全鏈路監(jiān)控還需要交換設(shè)備、網(wǎng)絡(luò)與路由等設(shè)備的支持,并通過(guò)下述過(guò)程實(shí)現(xiàn)全鏈路監(jiān)控[12]. 1) 監(jiān)控部署.全鏈路監(jiān)控過(guò)程中,需部署的系統(tǒng)數(shù)量會(huì)增加,如果使用人工方式完成部署工作,容易出現(xiàn)遺漏.本文將Docker作為基礎(chǔ),通過(guò)微服務(wù)實(shí)現(xiàn)監(jiān)控自動(dòng)部署[13].利用圖形化方式完成部署建模,描繪部署拓?fù)鋱D,并在該圖上配置內(nèi)存等基礎(chǔ)資源需求與軟件需求;通過(guò)相關(guān)工具對(duì)部署模型分析,將其變換成與其對(duì)應(yīng)的編排模式,使用Docker編排腳本建立Docker鏡像;建立Docker實(shí)例,組成實(shí)例集群,實(shí)現(xiàn)應(yīng)用啟動(dòng)[14]. 2) 路由設(shè)置.微服務(wù)下的應(yīng)用架構(gòu)被劃分為微應(yīng)用、微服務(wù)以及數(shù)據(jù)庫(kù)3個(gè)模塊,任意一個(gè)模塊都會(huì)有復(fù)雜問(wèn)題待解決.其中微應(yīng)用會(huì)生成許多訪問(wèn)接口,需通過(guò)應(yīng)用路由解決該問(wèn)題,在接收到用戶的請(qǐng)求信息后,再下發(fā)到對(duì)應(yīng)的微應(yīng)用[15].服務(wù)層的各類服務(wù)之間具有復(fù)雜的關(guān)系,如果不對(duì)其進(jìn)行有效管理,會(huì)造成負(fù)載不均衡.為解決上述問(wèn)題,在微服務(wù)架構(gòu)中設(shè)置如下3種路由: 1) 應(yīng)用路由.提供固定請(qǐng)求接口,確保多個(gè)監(jiān)控實(shí)例負(fù)載均衡. 2) 服務(wù)路由.通過(guò)分布式架構(gòu),完成微服務(wù)注冊(cè)與發(fā)現(xiàn),促進(jìn)調(diào)用關(guān)系具有透明性質(zhì),減少服務(wù)節(jié)點(diǎn). 3) 數(shù)據(jù)路由.為多個(gè)數(shù)據(jù)庫(kù)設(shè)定統(tǒng)一訪問(wèn)方式,并提供數(shù)據(jù)分析等管理功能. 從橫向與縱向兩個(gè)維度實(shí)現(xiàn)全鏈路監(jiān)控,監(jiān)控示意圖如圖2所示.其中橫向是將用戶請(qǐng)求作為目標(biāo),縱向則是將整個(gè)鏈路在云環(huán)境中運(yùn)行狀態(tài)作為目標(biāo). 圖2 全鏈路監(jiān)控示意圖Fig.2 Schematic diagram of full-link monitoring 為驗(yàn)證本文提出的全鏈路監(jiān)控技術(shù)的有效性,設(shè)計(jì)了對(duì)比實(shí)驗(yàn).首先將本文技術(shù)應(yīng)用在電力信息系統(tǒng)的交易子系統(tǒng)中,由于交易子系統(tǒng)的業(yè)務(wù)數(shù)量飛速增加,監(jiān)控系統(tǒng)不能滿足實(shí)時(shí)性需求,因此利用微服務(wù)架構(gòu)下的監(jiān)控方法對(duì)其改進(jìn).改進(jìn)前和改進(jìn)后的監(jiān)控系統(tǒng)分別如圖3、4所示. 圖3 改進(jìn)前的監(jiān)控系統(tǒng)Fig.3 Monitoring system before improvement 圖4 改進(jìn)后的監(jiān)控系統(tǒng)Fig.4 Improved monitoring system 實(shí)驗(yàn)在MATLAB仿真環(huán)境下進(jìn)行,為證明改進(jìn)前與改進(jìn)后兩種監(jiān)控方式的性能,使用8臺(tái)服務(wù)器構(gòu)建實(shí)驗(yàn)環(huán)境,其中3臺(tái)屬于微服務(wù)架構(gòu)獨(dú)立運(yùn)行的設(shè)備.設(shè)置120條線程,對(duì)電力信息系統(tǒng)進(jìn)行1 000次仿真攻擊,設(shè)置1~12個(gè)人工注入的異常數(shù)據(jù)包,測(cè)試電力信息系統(tǒng)全鏈路監(jiān)控的性能.算法參數(shù)設(shè)置如表1所示. 表1 算法參數(shù)設(shè)置Tab.1 Algorithm parameter settings 測(cè)試改進(jìn)前與改進(jìn)后兩種監(jiān)控方式的響應(yīng)對(duì)比結(jié)果如表2所示. 由表2可知,當(dāng)線程數(shù)量為30時(shí),改進(jìn)后的監(jiān)控算法并沒(méi)有顯現(xiàn)出優(yōu)勢(shì);隨著線程數(shù)量的增加,改進(jìn)后的監(jiān)控技術(shù)數(shù)據(jù)處理量逐漸高于改進(jìn)前,且監(jiān)控響應(yīng)時(shí)間也得到改善,這是因?yàn)楸疚脑谖⒓軜?gòu)下使用了壓縮感知數(shù)據(jù)采集方法,減少了信息系統(tǒng)中的冗余數(shù)據(jù),為全鏈路監(jiān)控創(chuàng)造有利條件.此外,在微架構(gòu)作用下監(jiān)測(cè)系統(tǒng)的CPU負(fù)載率得到有效控制,能夠看出微服務(wù)架構(gòu)可以更好地適應(yīng)數(shù)據(jù)量較大的監(jiān)控場(chǎng)景. 表2 不同監(jiān)控方法響應(yīng)結(jié)果對(duì)比Tab.2 Comparison of response results for different monitoring methods 分別利用本文方法、非線性特征分解以及自動(dòng)閉環(huán)監(jiān)控方法對(duì)24 h內(nèi)電力信息系統(tǒng)的鏈路異常情況進(jìn)行捕獲,通過(guò)人工方式隨機(jī)向鏈路中散布異常信息,3種方法的測(cè)試對(duì)比結(jié)果分別如圖5~7所示. 圖5 所提方法實(shí)驗(yàn)結(jié)果Fig.5 Experimental results of as-proposed method 圖6 非線性特征分解方法實(shí)驗(yàn)結(jié)果Fig.6 Experimental results of nonlinear eigendecomposition method 圖7 自動(dòng)閉環(huán)監(jiān)控方法測(cè)試結(jié)果Fig.7 Test results of automatic closed-loop monitoring method 從3種方法的對(duì)比結(jié)果可以看出,本文監(jiān)控到的結(jié)果和人工注入的異常數(shù)據(jù)包數(shù)量完全一致,而其他兩種方法會(huì)出現(xiàn)誤檢現(xiàn)象.這表明微服務(wù)秉承著數(shù)據(jù)共享原則,電力信息系統(tǒng)的全鏈路信息會(huì)實(shí)現(xiàn)共享,從橫向與縱向不同方面進(jìn)行全方位監(jiān)控. 分別利用本文方法、非線性特征分解以及自動(dòng)閉環(huán)監(jiān)控方法對(duì)24 h內(nèi)電力信息系統(tǒng)中各線路電壓及電流數(shù)值進(jìn)行監(jiān)控.其中,電壓額定值為380 V,電流額定值為100 A.對(duì)比線路額定的輸出電壓及電流,得到3種方法的電壓及電流數(shù)值監(jiān)控誤差如圖8所示. 圖8 電壓及電流數(shù)值監(jiān)控誤差Fig.8 Voltage and current value monitoring errors 分析圖8可知,采用非線性特征分解法監(jiān)控時(shí),電力信息系統(tǒng)線路電壓值的誤差在10 V左右,電流誤差在15 A左右;采用自動(dòng)閉環(huán)監(jiān)控方法監(jiān)控時(shí),電力信息系統(tǒng)線路電壓值的誤差在15 V左右,電流誤差在20 A左右;而采用本文方法監(jiān)控時(shí),電力信息系統(tǒng)線路電壓值的誤差在3 V左右,電流誤差在2 A左右.上述實(shí)驗(yàn)結(jié)果表明,本文提出的基于微服務(wù)架構(gòu)的信息系統(tǒng)全鏈路監(jiān)控技術(shù)的監(jiān)控誤差最小,能夠準(zhǔn)確監(jiān)控電力信息系統(tǒng)線路中的電流及電壓數(shù)據(jù). 結(jié)合電力企業(yè)信息系統(tǒng)鏈路監(jiān)控現(xiàn)狀,針對(duì)監(jiān)控不實(shí)時(shí)、不全面等問(wèn)題,提出基于微服務(wù)架構(gòu)的信息系統(tǒng)全鏈路監(jiān)控技術(shù).通過(guò)對(duì)鏈路數(shù)據(jù)的全方位采集與處理,為有效監(jiān)控提供信息基礎(chǔ),再通過(guò)微服務(wù)架構(gòu)的合理布置,實(shí)現(xiàn)全鏈路監(jiān)控.實(shí)驗(yàn)證明,該監(jiān)控方法具有強(qiáng)大的數(shù)據(jù)處理能力,能夠準(zhǔn)確監(jiān)控電力信息系統(tǒng)線路中的電流及電壓數(shù)據(jù).同時(shí)能夠準(zhǔn)確檢測(cè)出鏈路中的所有異常情況,為電網(wǎng)安全提供有力保障,使電力信息系統(tǒng)的監(jiān)控更加準(zhǔn)確.但該技術(shù)不能實(shí)現(xiàn)日志監(jiān)控,在今后研究中應(yīng)對(duì)數(shù)據(jù)庫(kù)、應(yīng)用程序等進(jìn)行日志集中顯示.

1.2 基于小波變換的監(jiān)控信號(hào)預(yù)處理
2 電力信息系統(tǒng)全鏈路監(jiān)控實(shí)現(xiàn)
2.1 微服務(wù)架構(gòu)建立

2.2 微服務(wù)下全鏈路監(jiān)控實(shí)現(xiàn)

3 實(shí)驗(yàn)分析








4 結(jié) 論