華書蓓,劉于超,白雅雯,鄭際俊
(1.國網(wǎng)青海省電力公司營銷服務(wù)中心,青海 西寧 810000;2.元啟工業(yè)技術(shù)有限公司,山東 青島 266000)
采用先進(jìn)的電能表數(shù)據(jù)采集終端可以提高數(shù)據(jù)采集和電網(wǎng)綜合管理效率[1-3]。電能表數(shù)據(jù)采集終端訪問數(shù)據(jù)量巨大[4-5],極易產(chǎn)生負(fù)載不平衡問題。因此,相關(guān)學(xué)者紛紛展開對這一課題的研究。竇浩銘等[6]研究基于蟻群優(yōu)化的負(fù)載均衡方法。該方法通過自定義性能指標(biāo)服務(wù)器繁忙程度,量化描述服務(wù)器的實時狀態(tài),以選定實時最優(yōu)服務(wù)器;利用元啟發(fā)式的算法框架——蟻群算法,根據(jù)每段鏈路的實時可用帶寬確定服務(wù)器負(fù)載均衡的最佳策略。邰瀅瀅等[7]研究基于模糊綜合評判的負(fù)載均衡方法。該方法首先基于模糊數(shù)學(xué)理論,多參量分析服務(wù)器性能影響因素,構(gòu)建服務(wù)器評判集;其次計算資源權(quán)重向量,基于模糊綜合評判的基本原理,獲得資源權(quán)重向量到服務(wù)能力向量的映射矩陣;最后利用主因素型計算式進(jìn)行多參量綜合評判,通過分析資源權(quán)重大小實現(xiàn)負(fù)載均衡。
元模型由元數(shù)據(jù)組成,表示特定領(lǐng)域的模型。其具備優(yōu)秀的提取、轉(zhuǎn)換、合并、加載等數(shù)據(jù)處理能力。為此,本文充分考慮電能表數(shù)據(jù)采集終端各服務(wù)器的分布和功能情況,研究基于元模型的電能表數(shù)據(jù)采集終端負(fù)載自適應(yīng)均衡方法。本文方法能夠合理利用數(shù)據(jù)資源,有利于電網(wǎng)管理。
在電能表數(shù)據(jù)采集終端中,基于元數(shù)據(jù)倉庫設(shè)置的元模型如圖1所示。
圖1 基于元數(shù)據(jù)倉庫設(shè)置的元模型
由圖1可知,采集終端的電能表數(shù)據(jù)作為模型元數(shù)據(jù),經(jīng)數(shù)據(jù)提取、轉(zhuǎn)化、加載處理后存儲至元數(shù)據(jù)倉庫內(nèi)[8],以便用戶訪問。
為動態(tài)平衡元數(shù)據(jù)倉庫的訪問負(fù)載,本文利用基本負(fù)載均衡算法,在元數(shù)據(jù)負(fù)載大小未知條件下,分配元數(shù)據(jù)負(fù)載,并采用自適應(yīng)元數(shù)據(jù)服務(wù)負(fù)載均衡算法進(jìn)行分配后元數(shù)據(jù)的負(fù)載均衡處理。
1.2.1 基本的負(fù)載均衡算法
本文設(shè)si為S{s1,s2,…,sn}內(nèi)的服務(wù)器;h1:S→[0,1]表示服務(wù)器使用函數(shù);將si∈S映射至[0,1]環(huán)上的某點;按照h2:X→[0,1]映射原則,求解X{x1,x2,…,xm}內(nèi)數(shù)據(jù)元素xj∈X的hash值;按照以下距離函數(shù),將xj配置給距離最小的服務(wù)器。
(1)
為了讓全部元數(shù)據(jù)的負(fù)載均衡,本文將權(quán)值wi、wj導(dǎo)入距離函數(shù)內(nèi),以提高負(fù)載均衡處理能力[9]?;镜呢?fù)載均衡算法求解能力和元數(shù)據(jù)負(fù)載正相關(guān)。
1.2.2 自適應(yīng)元數(shù)據(jù)服務(wù)負(fù)載均衡算法
自適應(yīng)元數(shù)據(jù)服務(wù)負(fù)載均衡算法可提高計算能力。負(fù)載均衡計算過程如下。
通過各時間段t2(t2 目錄子樹進(jìn)行遷移前需要求解元數(shù)據(jù)服務(wù)器負(fù)載量,從而根據(jù)估算指標(biāo)和負(fù)載量判斷遷移條件。估算指標(biāo)包括元數(shù)據(jù)熱度參數(shù)、等待隊列長度、響應(yīng)時間參數(shù)。 訪問量與各元數(shù)據(jù)熱度成正比。元數(shù)據(jù)熱度影響祖先節(jié)點。各元數(shù)據(jù)均設(shè)置計數(shù)器。其記錄元數(shù)據(jù)操作命令、增加訪問次數(shù)以提升熱值,從而統(tǒng)計元數(shù)據(jù)熱度。具體的熱度計算過程如式(2)、式(3)所示。 Hnew=Hold×y(Δt) (2) 式中:Hnew為更新后熱度;Hold為初始熱度;Δt為負(fù)載統(tǒng)計時間間隔;y為遞減函數(shù)。 Hancient_new=Hancient_old×y(Δt) (3) 式中:Hancient_new、Hancient_old分別為祖先節(jié)點更新后熱度和初始熱度。 在不考慮y時,文件熱度值為8。 在得到處理請求后,元數(shù)據(jù)的目錄子樹熱度傳播如圖2所示。 圖2 元數(shù)據(jù)的目錄子樹熱度傳播圖 由圖2可知,熱度值與顏色深淺成正比。熱度值越高、顏色越深,則請求影響越低。 負(fù)載量ζ如式(4)所示。 ζ=H+W×L (4) 式中:W為加權(quán)系數(shù);H為熱度;L為待處理元素請求隊列長度。 為提高服務(wù)器處理元數(shù)據(jù)請求能力,決策元數(shù)據(jù)服務(wù)器選取負(fù)載低服務(wù)器。該服務(wù)器采集的全部元數(shù)據(jù)為Pk=[p1,p2,…,pn]。全部服務(wù)器的負(fù)載量為ζk=[ζ1,ζ2,…,ζn]。 (5) 式中:Ptotal為集群總性能值;n為節(jié)點間層次數(shù)。 (6) 式中:ζtotal為總負(fù)載量。 負(fù)載均衡目標(biāo)函數(shù)如式(7)所示。 (7) 式中:Pi為元素服務(wù)器目標(biāo)負(fù)載量。 現(xiàn)有負(fù)載ζi與ζtarget(i)之間的差距用Δζ描述。 Δζ=ζi-ζtarget(i) (8) 元數(shù)據(jù)服務(wù)器負(fù)載值較低,用ζ<0描述,可接受其他遷移目錄子樹。元數(shù)據(jù)服務(wù)器負(fù)載值較高,用ζ>0描述,可尋找其他遷移目錄子樹。 為降低消耗,需要設(shè)置觸發(fā)機(jī)制。若|Δζ|>Δζthredhold,則觸發(fā)目錄子樹遷移。 目錄子樹遷移流程如下。 ①采集負(fù)載數(shù)據(jù),遷移量和遷出子樹元數(shù)據(jù)通過決策元數(shù)據(jù)服務(wù)器實現(xiàn)匹配。 ②按照遷移量情況,在服務(wù)器上運行拆分子樹的程序。 ③遷入子樹元數(shù)據(jù)服務(wù)器以接收經(jīng)拆分處理后的子樹遷移數(shù)據(jù)。 為驗證本文方法的有效性,本文選取德力西電能表DDS606 10(40)A采集的5.8 GB數(shù)據(jù)作為測試數(shù)據(jù)。該電能表包括9臺客戶端機(jī)、1臺對象存儲設(shè)備(object-based storage device,OSD)服務(wù)器、4臺元數(shù)據(jù)服務(wù)器、1臺Monitor服務(wù)器。1臺OSD服務(wù)器負(fù)責(zé)文件數(shù)據(jù)存儲。4臺元數(shù)據(jù)服務(wù)器負(fù)責(zé)電能表數(shù)據(jù)采集終端的元數(shù)據(jù)合并管理工作,分別用MDS1、MDS2、MDS3、MDS4表示。1臺Monitor服務(wù)器負(fù)責(zé)檢測集群運行工作。 試驗軟硬件環(huán)境為服務(wù)器處理器Intel i5-2300,2.8 GHz,內(nèi)存8 GB;硬盤為西部數(shù)據(jù)1 TB;網(wǎng)絡(luò)為Realtek百兆網(wǎng)卡。本文使用Mininet仿真軟件搭建試驗平臺,并使用 Mininet內(nèi)的Iperf軟件生成不同數(shù)據(jù)負(fù)載,以注入自定義網(wǎng)絡(luò)拓?fù)渲?從而驗證本文方法有效性。本文將服務(wù)器負(fù)載量、負(fù)載差異值、集群性能異構(gòu)程度、多維縮放(multiple dimensional scaling,MDS)吞吐量、中央處理器(central processing unit,CPU)占用率、心跳周期網(wǎng)絡(luò)作為試驗性能評價指標(biāo)。 電能表數(shù)據(jù)采集過程如圖3所示。 圖3 電能表數(shù)據(jù)采集過程示意圖 數(shù)據(jù)采集的運行時間為15 h,每間隔20 min 記錄1次各臺元數(shù)據(jù)服務(wù)器的負(fù)載情況。i臺服務(wù)器的負(fù)載Li為: Li=0.6×δcpu(i)+0.4×δmemory(i) (9) 式中:δmemory(i)為內(nèi)存使用率,%;δcpu(i)為CPU使用率,%。 應(yīng)用本文方法前后,MDS元數(shù)據(jù)服務(wù)器負(fù)載-時間的變化曲線如圖4所示。 圖4 MDS元數(shù)據(jù)服務(wù)器負(fù)載-時間的變化曲線 由圖4可知,在應(yīng)用本文方法前,各服務(wù)器負(fù)載量差異較大,總體硬件使用率不高。其中:MDS1性能較好,負(fù)載量最低;MDS4性能較差,負(fù)載量始終比較高。應(yīng)用本文方法后,各服務(wù)器負(fù)載量差異不大,整體趨勢大致相同。這說明本文方法對異構(gòu)服務(wù)器處理能力強(qiáng),集群效果優(yōu)良。 本文將負(fù)載差異值Dtotal作為集群負(fù)載均衡程度的判斷指標(biāo)。Dtotal值越小,則元數(shù)據(jù)服務(wù)器集群的負(fù)載程度越好。 (10) 應(yīng)用本文方法前后,總體集群負(fù)載差異值對比曲線如圖5所示。 圖5 總體集群負(fù)載差異值對比曲線 由圖5可知,在15 h內(nèi),集群整體流量包含3個峰值。在應(yīng)用本文方法之前,當(dāng)訪問次數(shù)增加時,負(fù)載平衡的程度也會增加。應(yīng)用本文方法后,收斂速度快,負(fù)載趨于穩(wěn)態(tài),波動較小。經(jīng)計算:在應(yīng)用本文方法前,15 h的Dtotal值約為6.94;在應(yīng)用本文方法后,15 h的Dtotal值約為2.21。由此表明,本文方法的應(yīng)用提高了MDS集群的負(fù)載均衡程度。 若元數(shù)據(jù)服務(wù)器在短時間內(nèi)存在負(fù)載突變情況,則需要應(yīng)用本文方法進(jìn)行目錄子樹的遷移均衡負(fù)載。本文選取元數(shù)據(jù)服務(wù)器MDS1進(jìn)行200 s的元數(shù)據(jù)測試。測試過程中元數(shù)據(jù)請求發(fā)生2次急劇上升。本文分別對比應(yīng)用本文方法前后的MDS1負(fù)載的情況。 MDS1負(fù)載變化曲線如圖6所示。由圖6可知:在沒有應(yīng)用本文方法之前,MDS1反應(yīng)過于遲緩,不能實現(xiàn)元數(shù)據(jù)的高熱度轉(zhuǎn)移,直接影響處理用戶端請求的效率;在應(yīng)用本文方法后,通過目錄樹遷移有效均衡了元數(shù)據(jù)請求激增問題,降低了負(fù)載,具有較快的應(yīng)對速度。 圖6 MDS1負(fù)載變化曲線 為了驗證本文方法的可行性,本文選取均方差值作為MDS集群性能異構(gòu)程度指標(biāo)。 (11) 在可行性測試中,為統(tǒng)計指標(biāo)的平均水平,本文每10 s記錄CPU占用率和心跳周期網(wǎng)絡(luò)的輸入/輸出(input/output,I/O)。為避免子樹遷移的影響,本文設(shè)置3臺大容量存儲裝置(mass storage device,MSD)。3臺MSD配置一樣。 應(yīng)用本文方法前后,MDS集群吞吐量、平均操作延時與SD的映射關(guān)系如表1所示。 表1 MDS集群吞吐量、平均操作延時與SD的映射關(guān)系 由表1可知,SD值越大,表示MDS集群異構(gòu)程度越高。在集群中,MSD配置一樣。在應(yīng)用本文方法之前,吞吐量隨差異程度的增加呈下降趨勢;在應(yīng)用本文方法之后,吞吐量隨差異程度的增加幅度變化不大,趨于穩(wěn)定。在應(yīng)用本文方法之前,集群平均操作延時隨差異程度的增加呈上升趨勢;在應(yīng)用本文方法之后,隨差異程度的增加,集群平均操作延時幅度趨于穩(wěn)定。由此說明,本文方法可有效地均衡電能表數(shù)據(jù)采集終端負(fù)載、提高元數(shù)據(jù)處理能力。 本文將MDS吞吐量、CPU占用率、心跳周期網(wǎng)絡(luò)I/O作為性能損耗評價指標(biāo)。應(yīng)用本文方法前后,性能損耗對比情況如表2所示。 表2 性能損耗對比情況 由表2可知,系統(tǒng)的各項性能在應(yīng)用本文方法后都得到顯著提升。其中:指示目標(biāo)MDS吞吐量降低317.63 s;生成文件MDS吞吐量降低81.70 s;CPU占用率降低6%;心跳周期網(wǎng)絡(luò)I/O速度提高40 Byte。這說明本文方法可降低系統(tǒng)開銷,且負(fù)載均衡效果較好。 元數(shù)據(jù)訪問性能的高低,直接影響電能表數(shù)據(jù)采集終端的整體性能。本文針對電能表數(shù)據(jù)采集終端負(fù)載不均衡的問題,研究基于元模型的電能表數(shù)據(jù)采集終端負(fù)載自適應(yīng)均衡方法。當(dāng)元數(shù)據(jù)請求數(shù)量急劇增加時,啟動自適應(yīng)機(jī)制來降低負(fù)載,使負(fù)載達(dá)到平衡。試驗結(jié)果表明,應(yīng)用本文方法后,異構(gòu)服務(wù)器具有較強(qiáng)的處理能力。其提高了元數(shù)據(jù)處理能力,表現(xiàn)出良好的負(fù)載均衡效果。 本文方法在一定程度上提高了電能表數(shù)據(jù)采集終端的整體性能,但仍存在不足。后續(xù)研究可增加指標(biāo)選取數(shù)量,多角度分析本文方法性能;添加更加適宜的參數(shù)驗證本文方法的應(yīng)用效果;加大對電能表數(shù)據(jù)采集終端服務(wù)器負(fù)載傾斜問題的研究力度,擴(kuò)展本文方法的應(yīng)用范圍。2 實例測試與分析
3 結(jié)論