王德文, 劉庭輝
(華北電力大學(xué)控制與計(jì)算機(jī)工程學(xué)院, 河北省保定市 071003)
隨著電力系統(tǒng)信息化程度的不斷提高及大數(shù)據(jù)和云計(jì)算技術(shù)的日益完善,建立電力全業(yè)務(wù)統(tǒng)一數(shù)據(jù)中心,進(jìn)行源端全業(yè)務(wù)的融合和后端大數(shù)據(jù)的分析,是電力企業(yè)今后發(fā)展的主要趨勢[1-3]。國家電網(wǎng)有限公司正在推廣建設(shè)的電力全業(yè)務(wù)統(tǒng)一數(shù)據(jù)中心,是面向電力企業(yè)的全業(yè)務(wù)范圍、全數(shù)據(jù)類型、全時間維度數(shù)據(jù)的統(tǒng)一管控和分析中心,實(shí)現(xiàn)對全業(yè)務(wù)范圍內(nèi)的生產(chǎn)、營銷、調(diào)度等業(yè)務(wù)系統(tǒng)進(jìn)行歸并整合,針對數(shù)據(jù)質(zhì)量差和利用率低的問題,實(shí)現(xiàn)對全業(yè)務(wù)范圍內(nèi)數(shù)據(jù)的梳理采集和綜合分析?,F(xiàn)有的用電信息采集系統(tǒng)、電力營銷數(shù)據(jù)系統(tǒng)、輸變電設(shè)備狀態(tài)監(jiān)測系統(tǒng),以及電能計(jì)量系統(tǒng)等將會逐漸接入電力全業(yè)務(wù)統(tǒng)一數(shù)據(jù)中心,并進(jìn)一步分離數(shù)據(jù)與應(yīng)用間的直接連接,實(shí)現(xiàn)管控及分析。以國網(wǎng)遼寧省電力有限公司為例,已完成接入的電能計(jì)量系統(tǒng)測量點(diǎn)有11.5萬個,用電信息采集系統(tǒng)已接入的數(shù)據(jù)測量點(diǎn)有1.2億個,其中產(chǎn)生的數(shù)據(jù)超過5 000 GB[4]。如果全面完成各業(yè)務(wù)系統(tǒng)的數(shù)據(jù)接入,數(shù)據(jù)量的規(guī)模會迅速增大,并且在突發(fā)情況下的數(shù)據(jù)量增加幅度更大,而傳統(tǒng)的任務(wù)調(diào)度算法不能完全適應(yīng)大規(guī)模的數(shù)據(jù)處理任務(wù)調(diào)度。由于云集群各節(jié)點(diǎn)處理能力的限制,面對大規(guī)模數(shù)據(jù)處理任務(wù),會導(dǎo)致處理任務(wù)的堆積堵塞甚至丟失,如何提高數(shù)據(jù)處理任務(wù)的完成率,提升系統(tǒng)的處理性能,是目前電力全業(yè)務(wù)統(tǒng)一數(shù)據(jù)中心面臨的關(guān)鍵技術(shù)問題。
云計(jì)算技術(shù)是實(shí)現(xiàn)電力全業(yè)務(wù)統(tǒng)一數(shù)據(jù)中心的重要手段[5-6],具有高可靠性、可擴(kuò)展性強(qiáng)及資源利用率高的特點(diǎn)。在滿足海量數(shù)據(jù)處理要求的情況下,在云平臺進(jìn)行數(shù)據(jù)處理任務(wù)的調(diào)度優(yōu)化[7-9],可以保障電力全業(yè)務(wù)統(tǒng)一數(shù)據(jù)中心在突發(fā)性海量數(shù)據(jù)到來時,能充分利用云計(jì)算集群的資源,提高系統(tǒng)的處理性能[10]。
針對不同類型處理任務(wù)的調(diào)度方法是電網(wǎng)中信息處理的重要手段。文獻(xiàn)[11]提出一種改進(jìn)的加權(quán)隊(duì)列模型,在保證高優(yōu)先隊(duì)列傳輸質(zhì)量的情況下,可以盡量減少低優(yōu)先任務(wù)的等待時延,提升服務(wù)質(zhì)量。文獻(xiàn)[12]以電力服務(wù)質(zhì)量的總體效應(yīng)值為目標(biāo),對智能變電站的各種處理任務(wù)進(jìn)行調(diào)度和分配,可以滿足多數(shù)情況下的服務(wù)要求。上述兩種算法都是采用靜態(tài)優(yōu)先級進(jìn)行調(diào)度,沒有考慮時間變化對任務(wù)優(yōu)先級的影響,無法完全滿足對突發(fā)性海量數(shù)據(jù)處理任務(wù)的調(diào)度需求。
傳統(tǒng)的任務(wù)調(diào)度算法如最早截止優(yōu)先(EDF)算法、最大價值優(yōu)先(HVF)算法都是應(yīng)用較廣泛的調(diào)度算法,但HVF算法只考慮數(shù)據(jù)任務(wù)價值,不完全適合電力監(jiān)測數(shù)據(jù)的調(diào)度,而EDF算法也不適合應(yīng)對大規(guī)模的數(shù)據(jù)調(diào)度[13-14]。文獻(xiàn)[15]提出一種用于異構(gòu)環(huán)境的關(guān)鍵任務(wù)調(diào)度(HCT)算法,通過甘特圖和有向無循環(huán)圖選取關(guān)鍵任務(wù),然后進(jìn)行調(diào)度,但對突發(fā)性海量數(shù)據(jù)的處理仍顯不足。文獻(xiàn)[16]提出一種基于動態(tài)價值密度(DVD)的實(shí)時調(diào)度算法,將任務(wù)平均價值密度作為優(yōu)先級,但隨著截止時間的臨近,優(yōu)先級會增至無窮大,會搶占后到達(dá)的高優(yōu)先任務(wù)的執(zhí)行,不能完全適合電力數(shù)據(jù)處理任務(wù)的調(diào)度。
本文在研究現(xiàn)有的任務(wù)調(diào)度策略基礎(chǔ)上,分析了電力全業(yè)務(wù)統(tǒng)一數(shù)據(jù)中心的架構(gòu),結(jié)合電力數(shù)據(jù)處理任務(wù)的特點(diǎn),給出了一種電力數(shù)據(jù)處理任務(wù)模型,分析處理任務(wù)的有效價值與時間屬性,并提出基于多級隊(duì)列的動態(tài)實(shí)時優(yōu)先級調(diào)度(dynamic real-time priority scheduling,DRPS)算法。在突發(fā)性海量數(shù)據(jù)到來的情況下,該算法可以盡量保障重要數(shù)據(jù)的優(yōu)先處理,減少數(shù)據(jù)的堵塞,同時避免了截止期臨近時可能出現(xiàn)的優(yōu)先級無窮大現(xiàn)象。
目前,各級電力公司都擁有相對獨(dú)立的各類業(yè)務(wù)系統(tǒng),缺乏有效的溝通,無法實(shí)現(xiàn)跨業(yè)務(wù)、多角度、多層次的綜合分析。同時,各業(yè)務(wù)系統(tǒng)的數(shù)據(jù)模型缺乏統(tǒng)一管理,導(dǎo)致數(shù)據(jù)質(zhì)量較低,數(shù)據(jù)不一致問題比較嚴(yán)重。并且各業(yè)務(wù)系統(tǒng)在設(shè)計(jì)時,只針對單個問題,未能統(tǒng)籌協(xié)調(diào),使得分析型系統(tǒng)和相應(yīng)的生產(chǎn)型系統(tǒng)耦合度較強(qiáng),適用性和數(shù)據(jù)共享性較低。
電力全業(yè)務(wù)統(tǒng)一數(shù)據(jù)中心面向全業(yè)務(wù)范圍、全數(shù)據(jù)類型、全時間維度的數(shù)據(jù),用于支撐生產(chǎn)和營銷的決策分析,涉及范圍包括生產(chǎn)、營銷、調(diào)度,以及人力資源管理等各大業(yè)務(wù)系統(tǒng)的數(shù)據(jù),如用電信息采集系統(tǒng)、輸變電監(jiān)測系統(tǒng)和電能計(jì)量系統(tǒng)等。建立統(tǒng)一的數(shù)據(jù)信息模型,可以實(shí)現(xiàn)高效的數(shù)據(jù)梳理采集和清洗,避免不同業(yè)務(wù)系統(tǒng)對相同數(shù)據(jù)的不同解釋。而且同類型的數(shù)據(jù)擁有同一標(biāo)準(zhǔn)規(guī)范的數(shù)據(jù)模型,可以有效減少數(shù)據(jù)的質(zhì)量問題。
電力全業(yè)務(wù)統(tǒng)一數(shù)據(jù)中心的建立,將目前電網(wǎng)中大多數(shù)業(yè)務(wù)系統(tǒng)的數(shù)據(jù)進(jìn)行整合,實(shí)現(xiàn)對電力全業(yè)務(wù)數(shù)據(jù)的統(tǒng)一管理,對全業(yè)務(wù)范圍內(nèi)的數(shù)據(jù)實(shí)現(xiàn)“一次采集、一份存儲、多處使用”,并依據(jù)業(yè)務(wù)類型提供統(tǒng)一的數(shù)據(jù)規(guī)范,分離數(shù)據(jù)與應(yīng)用之間的直接聯(lián)系,提高數(shù)據(jù)共享性能,進(jìn)行跨專業(yè)、跨領(lǐng)域的綜合分析,為以后的海量數(shù)據(jù)大規(guī)模應(yīng)用提供基礎(chǔ)。
電力全業(yè)務(wù)統(tǒng)一數(shù)據(jù)中心主要由數(shù)據(jù)處理中心、數(shù)據(jù)分析中心和數(shù)據(jù)管理中心3個部分構(gòu)成。數(shù)據(jù)處理中心對原有業(yè)務(wù)系統(tǒng)的分散數(shù)據(jù)庫系統(tǒng)進(jìn)行歸并和提升,提供統(tǒng)一的數(shù)據(jù)訪問;數(shù)據(jù)分析中心對各類分析決策提供數(shù)據(jù)資源支持和高效的分析計(jì)算能力及統(tǒng)一運(yùn)行環(huán)境;數(shù)據(jù)管理中心提供統(tǒng)一的數(shù)據(jù)模型,對系統(tǒng)內(nèi)的數(shù)據(jù)定義、交換、管理進(jìn)行標(biāo)準(zhǔn)化和規(guī)范化。
目前全業(yè)務(wù)統(tǒng)一數(shù)據(jù)中心方案大都以云平臺為基礎(chǔ),電力全業(yè)務(wù)統(tǒng)一數(shù)據(jù)中心云平臺架構(gòu)如圖1所示。
圖1 電力全業(yè)務(wù)統(tǒng)一數(shù)據(jù)中心云平臺架構(gòu)Fig.1 Architecture of cloud platform for full-service unified data center of electric power system
如圖1所示,數(shù)據(jù)源平臺是由各類電力業(yè)務(wù)系統(tǒng)構(gòu)成,主要提供數(shù)據(jù)信息。云基礎(chǔ)設(shè)施主要是利用現(xiàn)有的服務(wù)器集群,通過云平臺整合,提高集群設(shè)備的利用率,實(shí)現(xiàn)基礎(chǔ)資源的靈活交付,使平臺資源向按需供應(yīng)轉(zhuǎn)變,構(gòu)成了云平臺的物理基礎(chǔ)。云平臺組件提供統(tǒng)一的數(shù)據(jù)模型及訪問,應(yīng)用跨地域分布式計(jì)算技術(shù),消除不同集群之間的差異性,促進(jìn)跨專業(yè)數(shù)據(jù)的分析應(yīng)用,是云平臺提供服務(wù)的基礎(chǔ)。云平臺應(yīng)用是實(shí)現(xiàn)全業(yè)務(wù)范圍數(shù)據(jù)的綜合和深層次分析,直接面向用戶和決策層,為各級系統(tǒng)用戶的決策提供數(shù)據(jù)支撐。
云平臺服務(wù)提供集群的部署監(jiān)控、任務(wù)調(diào)度和資源管理等服務(wù),監(jiān)控各地域集群節(jié)點(diǎn)的部署和運(yùn)行,進(jìn)行計(jì)算資源的管理和處理任務(wù)的調(diào)度,是云平臺的支撐與保障。任務(wù)調(diào)度是云平臺服務(wù)中的重要部分,負(fù)責(zé)將由各平臺推送的處理任務(wù)按照調(diào)度算法分配至集群各處理節(jié)點(diǎn),提高系統(tǒng)的處理性能。
在電力全業(yè)務(wù)統(tǒng)一數(shù)據(jù)中心中,需要接收全業(yè)務(wù)范圍內(nèi)的數(shù)據(jù),尤其是在突發(fā)性海量數(shù)據(jù)涌入時,由于節(jié)點(diǎn)處理能力不足會造成數(shù)據(jù)堵塞,使得集群的處理性能下降。進(jìn)行數(shù)據(jù)處理任務(wù)的調(diào)度優(yōu)化,可以提高數(shù)據(jù)處理任務(wù)的處理效率,提升集群的整體性能[17-19]。
由于電力全業(yè)務(wù)統(tǒng)一數(shù)據(jù)中心需要接入現(xiàn)有大多數(shù)業(yè)務(wù)系統(tǒng)的數(shù)據(jù),但云集群中每個節(jié)點(diǎn)的處理能力有限,在突發(fā)性海量數(shù)據(jù)涌入時,會出現(xiàn)數(shù)據(jù)堵塞而造成系統(tǒng)處理能力下降,處理時延增大。
本文針對上述問題提出一個數(shù)據(jù)處理任務(wù)的控制調(diào)度節(jié)點(diǎn)模型,在節(jié)點(diǎn)上按照調(diào)度算法進(jìn)行處理任務(wù)的調(diào)度處理,以提高任務(wù)的完成率,從而減少處理任務(wù)的阻塞現(xiàn)象。處理任務(wù)的調(diào)度管理流程如圖2所示。
圖2 控制調(diào)度節(jié)點(diǎn)調(diào)度管理流程Fig.2 Scheduling management flow chart of control scheduling node
如圖2所示,以對電力監(jiān)測數(shù)據(jù)的抽取—轉(zhuǎn)換—加載(ETL)過程為例,從各個數(shù)據(jù)源系統(tǒng)中獲取電力監(jiān)測數(shù)據(jù),并推送至云平臺各節(jié)點(diǎn),然后進(jìn)行ETL過程??刂普{(diào)度節(jié)點(diǎn)對需要處理的任務(wù)進(jìn)行數(shù)據(jù)分析。同時因?yàn)閿?shù)據(jù)來源的不一致,也需要進(jìn)行數(shù)據(jù)格式的規(guī)范化。任務(wù)管理器對數(shù)據(jù)處理任務(wù)進(jìn)行優(yōu)先級分配,將不同處理要求的數(shù)據(jù)加以區(qū)別。資源管理器記錄數(shù)據(jù)處理任務(wù)的分類和處理節(jié)點(diǎn)的資源狀態(tài),以便進(jìn)行調(diào)度目的節(jié)點(diǎn)選擇。全局調(diào)度器是對分析完成的處理任務(wù)進(jìn)行全局范圍內(nèi)的調(diào)度,以資源管理器中的各節(jié)點(diǎn)資源狀態(tài)為基礎(chǔ),篩選調(diào)度目的節(jié)點(diǎn),平衡集群節(jié)點(diǎn)之間的負(fù)載。
數(shù)據(jù)處理任務(wù)的有效價值因?yàn)樗瑪?shù)據(jù)信息的不同,會存在較大的區(qū)別。例如:對電氣設(shè)備的報(bào)警數(shù)據(jù)而言,其價值要大于常規(guī)數(shù)據(jù)。任務(wù)的有效價值不僅受到數(shù)據(jù)的狀態(tài)類型影響,而且與其來源在整個電力系統(tǒng)的重要性有關(guān)。
處理任務(wù)的有效價值可以分為兩個部分:第1部分是數(shù)據(jù)來源在電力系統(tǒng)中的重要程度,也稱為關(guān)鍵性,記為g;第2部分是數(shù)據(jù)信息的類型,可以分為常規(guī)數(shù)據(jù)、異常數(shù)據(jù)和報(bào)警數(shù)據(jù)等3類,稱為類型價值,記為k。這兩個部分合稱為任務(wù)有效價值,記為W。
處理任務(wù)有效價值的兩個部分對任務(wù)整體價值的影響如下式:
Wi=gi+ki
(1)
式中:Wi為處理任務(wù)的有效價值;gi為數(shù)據(jù)來源的關(guān)鍵性;ki為數(shù)據(jù)類型的價值。
因?yàn)椴煌瑯I(yè)務(wù)系統(tǒng)推送的數(shù)據(jù)對處理時間有不同的要求,所以在控制調(diào)度節(jié)點(diǎn)中,需要分析處理任務(wù)的時間要求,對處理任務(wù)的優(yōu)先級進(jìn)行分配。在同一時間,高優(yōu)先級的任務(wù)可以優(yōu)先處理,以保證數(shù)據(jù)的時效性。
大多數(shù)電力監(jiān)測數(shù)據(jù)都會包含時間屬性,其時間特征可記為:
Ti={si,ti,wi,di,ai,bi}i (2) 式中:n為任務(wù)總數(shù);Ti為第i個任務(wù)的時間特征;si為到達(dá)時間;ti為預(yù)期執(zhí)行時間;wi為駐留等待時間;di為截止時間;ai為開始執(zhí)行時間;bi為實(shí)際完成時間。 對于處理任務(wù)的時間特征,主要由任務(wù)的有效時間和等待時間決定,其各屬性對整體的影響如下式所示: (3) 式中:di-si為任務(wù)的有效時間。 現(xiàn)有的多數(shù)任務(wù)調(diào)度算法中,一般只根據(jù)處理任務(wù)的時間要求確定優(yōu)先級,很少考慮處理任務(wù)的價值。對電力數(shù)據(jù)而言,其處理任務(wù)的優(yōu)先級不僅受到時間的約束,有效價值也會對其產(chǎn)生重要的影響。針對上述問題,本文提出一種動態(tài)優(yōu)先級分配策略,根據(jù)處理任務(wù)的時間和有效價值分配優(yōu)先級。重要的信息和時效性高的數(shù)據(jù)可以獲得高優(yōu)先級,以便及時處理。 在同一時間到達(dá)的數(shù)據(jù)較多時,尤其在故障或報(bào)警等特殊情況發(fā)生時,需要按照優(yōu)先級對數(shù)據(jù)處理任務(wù)進(jìn)行調(diào)度優(yōu)化,否則可能會導(dǎo)致數(shù)據(jù)的堵塞和丟失。處理任務(wù)優(yōu)先級的動態(tài)分配如下式: Pi=αTi+βWi (4) 式中:α為時間特征的權(quán)重系數(shù);β為有效價值的權(quán)重系數(shù)。 式(4)為處理任務(wù)在截止時間之內(nèi)的優(yōu)先級變化,將處理任務(wù)的時間屬性和價值屬性按照相應(yīng)權(quán)重處理后相加。 在突發(fā)性海量數(shù)據(jù)涌入時,如果部分?jǐn)?shù)據(jù)處理任務(wù)由于其他因素未能在截止期內(nèi)完成,但依然有著重要價值,則在超過截止期的一段時間內(nèi)仍不會被丟棄。但對關(guān)鍵性數(shù)據(jù),如報(bào)警數(shù)據(jù)而言,即使超過截止時間仍舊會保持優(yōu)先級的最大值,直至被處理。而對其他的數(shù)據(jù),其優(yōu)先級在截止期到達(dá)后會隨時間降低,其變化如下式: (5) 式中:Pmax為該任務(wù)的優(yōu)先級最大值;zi為當(dāng)前時間;Tmax為該任務(wù)時間特征部分所占優(yōu)先級的最大值。 式(5)為超出截止時間后的優(yōu)先級變化,對超出截止期的任務(wù),隨著時間的推移,優(yōu)先級會逐步下降,但仍會保持一段時間的高優(yōu)先級狀態(tài),以獲得處理機(jī)會。 對電力全業(yè)務(wù)統(tǒng)一數(shù)據(jù)中心而言,面對現(xiàn)有多數(shù)業(yè)務(wù)系統(tǒng)的數(shù)據(jù)接入,需要處理的數(shù)據(jù)量非常龐大,對處理節(jié)點(diǎn)的壓力較大,進(jìn)行數(shù)據(jù)處理任務(wù)的調(diào)度優(yōu)化,可以優(yōu)先保障重要任務(wù)的處理,降低數(shù)據(jù)處理任務(wù)堵塞和丟失的可能,并提升系統(tǒng)處理性能。在控制調(diào)度節(jié)點(diǎn)的隊(duì)列中的待處理任務(wù),一般只需等待系統(tǒng)資源進(jìn)行調(diào)度處理,搶占需要進(jìn)行相應(yīng)的操作過程,會產(chǎn)生額外的時延,所以采用非搶占調(diào)度策略更為合適。而且為適應(yīng)時間變化對處理任務(wù)的影響,數(shù)據(jù)處理任務(wù)的優(yōu)先級也需要動態(tài)調(diào)整,同時其參數(shù)設(shè)置也有相應(yīng)改變,以避免DVD算法出現(xiàn)的優(yōu)先級無窮大問題。 在控制調(diào)度節(jié)點(diǎn)中,數(shù)據(jù)處理任務(wù)可以分為以下幾種狀態(tài):①執(zhí)行任務(wù),即正在調(diào)度處理但未完成的任務(wù);②等待任務(wù),表示已在隊(duì)列中,但尚未得到系統(tǒng)資源分配,處于等待狀態(tài)的處理任務(wù);③調(diào)整任務(wù),表示新處理任務(wù)剛到達(dá)隊(duì)列,此時處于調(diào)整狀態(tài)。 控制調(diào)度節(jié)點(diǎn)中的調(diào)度隊(duì)列可劃分為任務(wù)隊(duì)列、模板隊(duì)列、調(diào)整隊(duì)列和遠(yuǎn)程交互隊(duì)列。任務(wù)隊(duì)列依據(jù)本地節(jié)點(diǎn)的資源狀況初始化若干個任務(wù),按照一定順序提交處理任務(wù)進(jìn)行執(zhí)行。模板隊(duì)列存儲其他幾類隊(duì)列的模板,當(dāng)處理任務(wù)數(shù)較多時,可依照模板隊(duì)列快速添加其他隊(duì)列。新到達(dá)處理任務(wù)會先進(jìn)入調(diào)整隊(duì)列,進(jìn)行優(yōu)先級比較之后,再調(diào)入任務(wù)隊(duì)列或者直接執(zhí)行。遠(yuǎn)程交互隊(duì)列則是在節(jié)點(diǎn)處理壓力較大、待處理任務(wù)較多時,進(jìn)行處理任務(wù)的遷移調(diào)度。各隊(duì)列之間的遷移過程如圖3所示。 圖3 控制調(diào)度節(jié)點(diǎn)隊(duì)列遷移過程Fig.3 Migration process for queue on control scheduling node 同時,為衡量各節(jié)點(diǎn)的工作狀態(tài)和進(jìn)行調(diào)度節(jié)點(diǎn)的選擇,引入節(jié)點(diǎn)期望任務(wù)數(shù)Lj作為衡量參數(shù): (6) 式中:lj為每個節(jié)點(diǎn)的任務(wù)數(shù);m為區(qū)域節(jié)點(diǎn)的數(shù)目;rj為節(jié)點(diǎn)資源狀態(tài)。 同時,控制調(diào)度節(jié)點(diǎn)中的全局調(diào)度器,以節(jié)點(diǎn)期望任務(wù)數(shù)作為調(diào)度目的節(jié)點(diǎn)的選擇參數(shù),在需要進(jìn)行處理任務(wù)調(diào)度時,選擇集群中任務(wù)連接數(shù)少、資源狀況較好的節(jié)點(diǎn)作為處理任務(wù)的接收節(jié)點(diǎn)。 對到達(dá)的處理任務(wù)其優(yōu)先級一般為初始化任務(wù)的有效價值,隨后按DRPS算法進(jìn)行處理任務(wù)調(diào)度, DRPS算法的調(diào)度流程如附錄A圖A1所示。對調(diào)度算法的說明如下。 1)在需要進(jìn)行處理任務(wù)調(diào)度前,需要全局調(diào)度器按照各節(jié)點(diǎn)資源狀態(tài)與期望任務(wù)數(shù),進(jìn)行調(diào)度目的節(jié)點(diǎn)的判斷和選擇。 2)在進(jìn)行調(diào)度時,將處理任務(wù)調(diào)入調(diào)整隊(duì)列,若此時隊(duì)列中的任務(wù)數(shù)達(dá)到閾值,但節(jié)點(diǎn)任務(wù)數(shù)lj 3)若當(dāng)前節(jié)點(diǎn)中的待處理任務(wù)數(shù)lj≥Lj,則選擇部分任務(wù)進(jìn)行調(diào)度遷移到其他節(jié)點(diǎn)。 4)如果節(jié)點(diǎn)中待處理任務(wù)數(shù)未達(dá)到期望值,則再判斷是否達(dá)到即將插入隊(duì)列的閾值,若未達(dá)到則將調(diào)入任務(wù)的優(yōu)先級與所有隊(duì)列隊(duì)首元素進(jìn)行比較,有如下幾種比較情況:①如果調(diào)入任務(wù)優(yōu)先級Pi大于目前所有隊(duì)首元素優(yōu)先級,此時處理器若在空閑期,則直接將該任務(wù)提交處理,若在工作期,則將任務(wù)先調(diào)入任務(wù)隊(duì)列中,等待下一周期進(jìn)行處理;②若調(diào)入任務(wù)與當(dāng)前隊(duì)列中任務(wù)優(yōu)先級相同,則優(yōu)先處理隊(duì)列中的任務(wù);③在任務(wù)隊(duì)列中,有待處理任務(wù)的優(yōu)先級相同時,若在截止期早的任務(wù)執(zhí)行完成后,另一個任務(wù)仍未到達(dá)截止期,則由截止期短的任務(wù)先執(zhí)行,否則也需要進(jìn)行任務(wù)的遷移,以避免出現(xiàn)單個節(jié)點(diǎn)截止期臨近任務(wù)眾多,而其他節(jié)點(diǎn)相對空閑的情況。 按照算法中的優(yōu)先級變化公式,假設(shè)優(yōu)先級的變化區(qū)間為[0,30],分別設(shè)置任務(wù)的時間屬性、任務(wù)關(guān)鍵性及任務(wù)類型的權(quán)重為{0.5,0.25,0.25}。在分析過程中設(shè)置處理任務(wù)的等待時間,實(shí)際環(huán)境中根據(jù)數(shù)據(jù)的需求設(shè)置對應(yīng)參數(shù)。附錄A圖A2所示為任務(wù)關(guān)鍵性相同時,不同類型的數(shù)據(jù)變化趨勢。可以看出,報(bào)警數(shù)據(jù)初始便獲得較高的優(yōu)先級,隨時間逐漸增加,優(yōu)先級在截止時間到達(dá)時會增加到最大值。若未能按時完成,則會繼續(xù)保持優(yōu)先級最大值,直至被處理。異常數(shù)據(jù)優(yōu)先級則相對較低,但依然超過常規(guī)數(shù)據(jù),常規(guī)數(shù)據(jù)的優(yōu)先級最低,變化趨勢也較緩慢,其截止時間也較長。同時,對同一種設(shè)備的同種狀態(tài)監(jiān)測數(shù)據(jù),若種類不同,其優(yōu)先級的取值范圍也會不同,從而保障報(bào)警數(shù)據(jù)的優(yōu)先處理。 附錄A圖A3所示為不同任務(wù)關(guān)鍵性且不同類型的數(shù)據(jù)變化趨勢。從圖中的變化趨勢可看出,關(guān)鍵性較低的報(bào)警數(shù)據(jù)因?yàn)轭愋蛢r值高依然可以獲得優(yōu)先處理,關(guān)鍵性最高但類型價值較低的常規(guī)數(shù)據(jù),其優(yōu)先級變化較平緩,在最后獲得資源執(zhí)行。 本文采用CloudSim仿真測試平臺模擬控制調(diào)度節(jié)點(diǎn),進(jìn)行處理任務(wù)的調(diào)度測試[20]。為模擬突發(fā)性數(shù)據(jù)到來的情況,實(shí)驗(yàn)中的每組測試數(shù)據(jù)都選擇在同一時間到達(dá),并在截止期內(nèi)完成調(diào)度分配。以電力監(jiān)測數(shù)據(jù)的ETL過程為例,研究突發(fā)數(shù)據(jù)到來時的處理任務(wù)調(diào)度,其中包括常規(guī)數(shù)據(jù)、異常及報(bào)警數(shù)據(jù)的處理任務(wù),將本文提出的DRPS算法與EDF和DVD算法進(jìn)行比較分析,實(shí)驗(yàn)中以對報(bào)警數(shù)據(jù)的處理任務(wù)作為重要任務(wù)。 實(shí)驗(yàn)主要分為單節(jié)點(diǎn)的基本性能分析和集群環(huán)境下的性能測試。在單節(jié)點(diǎn)的測試中,以重要任務(wù)完成率、不同負(fù)載情況下截止期錯失率兩個指標(biāo)分析算法的性能。在集群環(huán)境的測試中,分別從任務(wù)完成數(shù)、重要任務(wù)完成率,以及不同負(fù)載下的截止期錯失率3個方面分析。實(shí)驗(yàn)針對電力監(jiān)測數(shù)據(jù)的分析處理,采用的ETL集群拓?fù)淙绺戒汚圖A4所示??梢?實(shí)驗(yàn)采用集群節(jié)點(diǎn)由3種不同配置的節(jié)點(diǎn)組成。由數(shù)據(jù)源系統(tǒng)將電力監(jiān)測數(shù)據(jù)推送至集群節(jié)點(diǎn),由集群節(jié)點(diǎn)進(jìn)行數(shù)據(jù)的分析和預(yù)處理,當(dāng)集群中某個節(jié)點(diǎn)處理壓力較大時,可以進(jìn)行任務(wù)的遷移調(diào)度,以分散系統(tǒng)負(fù)載,提交到相應(yīng)的處理節(jié)點(diǎn)。 4.2.1實(shí)驗(yàn)1:控制調(diào)度節(jié)點(diǎn)基本性能分析 在基本性能測試中,以單個控制調(diào)度節(jié)點(diǎn)進(jìn)行任務(wù)的調(diào)度,對比3種算法的性能。附錄A表A1為模擬1 000到3 000個任務(wù)同時到達(dá)時,重要任務(wù)完成率的對比情況。表A2為模擬系統(tǒng)CPU負(fù)載從0.5到3.0時,截止期錯失率的變化情況。表中的數(shù)據(jù)為5次實(shí)驗(yàn)數(shù)據(jù)。 從附錄A表A1中可以看出,在重要任務(wù)的完成率方面,DRPS算法的表現(xiàn)較好,任務(wù)數(shù)增加時,完成率變化幅度相對平緩。DVD算法稍差一些,因?yàn)橐紤]平均價值密度,而一般任務(wù)也會在截止期臨近時獲得較高的優(yōu)先級,故影響了重要任務(wù)的執(zhí)行。EDF算法則只考慮時間的截止,在時間臨近時,任何任務(wù)都會獲得高優(yōu)先級,所以任務(wù)數(shù)增多時,重要任務(wù)的完成率也較低。從表A2中可以看出,DRPS算法在負(fù)載小于1時,截止期錯失率并不占優(yōu),僅略高于其他算法。此時,3種算法都可以保證絕大多數(shù)任務(wù)完成。但在負(fù)載升高時,DRPS截止期錯失率的增加幅度較小,相比于其他兩種算法較優(yōu)。 4.2.2實(shí)驗(yàn)2:集群環(huán)境算法性能對比分析 實(shí)驗(yàn)以包含50個虛擬節(jié)點(diǎn)的集群環(huán)境為例,進(jìn)行處理任務(wù)的調(diào)度測試。圖4和圖5中,模擬同時到達(dá)的任務(wù)數(shù)從10 000到80 000個,圖6中模擬集群平均負(fù)載變化從0到2。圖中數(shù)據(jù)為5次實(shí)驗(yàn)數(shù)據(jù)的平均值。 圖4 截止期內(nèi)任務(wù)完成數(shù)對比Fig.4 Comparison of completed task number in deadline 圖5 集群重要任務(wù)完成率對比Fig.5 Comparison of important task completion rate in cluster 圖6 不同負(fù)載時截止期錯失率對比Fig.6 Miss deadline ratio comparison with different average loads 從圖4中可以看出,在同時到達(dá)任務(wù)數(shù)較少時,3種算法幾乎都可以完全處理到達(dá)的任務(wù),隨著同時到達(dá)任務(wù)數(shù)的增加,DRPS,EDF和DVD算法的完成任務(wù)數(shù)都在增加,在開始的一段時間內(nèi),EDF算法的完成數(shù)最多,因?yàn)榭傄越刂箷r間最近的任務(wù)優(yōu)先執(zhí)行,可以得到較高的完成數(shù)。在任務(wù)數(shù)超過一定數(shù)目時,DRPS算法的表現(xiàn)較好,因?yàn)樵谌蝿?wù)數(shù)較多時,EDF算法無法在截止時間臨近時完成所有任務(wù),而又不能搶占當(dāng)前執(zhí)行的任務(wù),導(dǎo)致后續(xù)任務(wù)的處理時間推后,使得任務(wù)完成數(shù)增加變緩,直至達(dá)到瓶頸。而DVD算法在截止時間臨近、平均密度價值增高時,也會有類似的現(xiàn)象。 從圖5可以看出,在任務(wù)數(shù)較少時,3種算法都可以按時完成大多數(shù)任務(wù),所以重要任務(wù)完成率區(qū)別較小。在任務(wù)數(shù)增多時,EDF算法只考慮最短截止時間,忽略了數(shù)據(jù)任務(wù)的價值,所以重要任務(wù)完成率下降較快。DVD算法考慮任務(wù)價值密度,而重要任務(wù)的價值一般較高,所以完成率較高,但在執(zhí)行時,由于一般任務(wù)截止期臨近,其平均價值密度也會很高,從而獲得處理資源,導(dǎo)致重要任務(wù)的完成率下降。DRPS算法綜合考慮了時間與有效價值因素,即使一般任務(wù)在截止時間臨近時,其優(yōu)先級也會低于同樣臨近截止期的重要任務(wù),從而保障了重要任務(wù)的執(zhí)行。 從圖6可以看出,在集群平均負(fù)載較小時,DRPS算法的截止期錯失率相比其他算法稍差一些。因?yàn)橄到y(tǒng)負(fù)載較低時,EDF算法只需要安排截止期早的任務(wù)先執(zhí)行,就可以保證多數(shù)任務(wù)的完成。而DVD與DRPS算法是平均價值密度或者有效價值高的任務(wù)優(yōu)先執(zhí)行,可能會導(dǎo)致截止期較早的任務(wù)錯過截止期,使處理任務(wù)的截止期錯失率增大。在系統(tǒng)負(fù)載逐漸提高時,因?yàn)榧禾幚碣Y源的限制,EDF算法性能下降較快,需要合理安排處理任務(wù)的順序,才能降低錯失率。 實(shí)驗(yàn)?zāi)M突發(fā)性海量數(shù)據(jù)到達(dá)時,控制調(diào)度節(jié)點(diǎn)對數(shù)據(jù)處理任務(wù)的調(diào)度管理,分別在單節(jié)點(diǎn)和集群環(huán)境下進(jìn)行對比分析。在多數(shù)情況下,DRPS算法表現(xiàn)較好,在任務(wù)完成數(shù)和重要任務(wù)完成率方面相比其他兩種算法都有一定的提升。在負(fù)載較低時,DRPS算法的錯失率相比其他算法稍高一些,但在負(fù)載升高時增加的幅度較小,所以錯失率相對其他兩種算法較低。綜合上述實(shí)驗(yàn)可得,基于多級隊(duì)列的DRPS算法相比DVD和EDF算法,在任務(wù)完成率等方面都有較好提升,可以滿足多數(shù)情況下的處理任務(wù)調(diào)度需求。 在突發(fā)性海量數(shù)據(jù)到達(dá)時,由于電力全業(yè)務(wù)統(tǒng)一數(shù)據(jù)中心的處理能力限制,會產(chǎn)生數(shù)據(jù)堵塞現(xiàn)象,導(dǎo)致系統(tǒng)處理能力下降。本文提出了基于多級隊(duì)列的DRPS算法,綜合考慮了數(shù)據(jù)處理任務(wù)的有效價值和時間特征兩種因素,進(jìn)行優(yōu)先級的初始分配,并根據(jù)時間的變化動態(tài)調(diào)整任務(wù)的優(yōu)先級,避免了處理任務(wù)截止期臨近時的優(yōu)先級無窮大現(xiàn)象。在此基礎(chǔ)上提出的動態(tài)優(yōu)先級調(diào)度算法,可以實(shí)現(xiàn)對數(shù)據(jù)處理任務(wù)的調(diào)度優(yōu)化,減少堵塞現(xiàn)象的發(fā)生。 在CloudSim仿真平臺上分別從單節(jié)點(diǎn)和集群環(huán)境角度進(jìn)行了模擬。實(shí)驗(yàn)結(jié)果表明,DRPS算法在任務(wù)完成率方面有一定的提升,并且在負(fù)載較高時,數(shù)據(jù)處理任務(wù)的截止期錯失率也有明顯下降。在實(shí)驗(yàn)中,同時到達(dá)的數(shù)據(jù)量增大到一定程度時,DRPS算法對存儲資源消耗較大。在隨后的工作中,需要進(jìn)一步優(yōu)化算法的調(diào)度過程,完善集群節(jié)點(diǎn)間的任務(wù)遷移策略,為電力全業(yè)務(wù)統(tǒng)一數(shù)據(jù)中心的建設(shè)提供參考。 附錄見本刊網(wǎng)絡(luò)版(http://www.aeps-info.com/aeps/ch/index.aspx)。 參考文獻(xiàn) [1] 彭小圣,鄧迪元,程時杰,等.面向智能電網(wǎng)應(yīng)用的電力大數(shù)據(jù)關(guān)鍵技術(shù)[J].中國電機(jī)工程學(xué)報(bào),2015,35(3):503-511. PENG Xiaosheng, DENG Diyuan, CHENG Shijie, et al. Key technologies of electric power big data and its application prospects in smart grid[J]. Proceedings of the CSEE, 2015, 35(3): 503-511. [2] 宋亞奇,周國亮,朱永利.智能電網(wǎng)大數(shù)據(jù)處理技術(shù)現(xiàn)狀與挑戰(zhàn)[J].電網(wǎng)技術(shù),2013,37(4):927-935. SONG Yaqi, ZHOU Guoliang, ZHU Yongli. Present status and challenges of big data processing in smart grid[J]. Power System Technology, 2013, 37(4): 927-935. [3] 朱碧欽,吳飛,羅富財(cái).基于大數(shù)據(jù)的全業(yè)務(wù)統(tǒng)一數(shù)據(jù)中心數(shù)據(jù)分析域建設(shè)研究[J].電力信息與通信技術(shù),2017,15(2):91-96. ZHU Biqin, WU Fei, LUO Fucai. Research on the construction of data analysis domain of unified data center based on big data[J]. Electric Power Information and Communication Technology, 2017, 15(2): 91-96. [4] 國網(wǎng)遼寧省電力公司海量平臺順利完成對全業(yè)務(wù)統(tǒng)一數(shù)據(jù)中心的數(shù)據(jù)推送工作[J].電力信息與通信技術(shù),2016,14(12):116. [5] MA F, LUO X, LITVINOV E. Cloud computing for power system simulations at ISO New England—experiences and challenges[J]. IEEE Transactions on Smart Grid, 2016, 7(6): 2596-2603. [6] ZHONG Z, CHEN K, ZHAI X, et al. Virtual machine-based task scheduling algorithm in a cloud computing environment[J]. Tsinghua Science and Technology, 2016, 21(6): 660-667. [7] 王德文.基于云計(jì)算的電力數(shù)據(jù)中心基礎(chǔ)架構(gòu)及其關(guān)鍵技術(shù)[J].電力系統(tǒng)自動化,2012,36(11):67-71. WANG Dewen. Basic frame and key technology for a new generation of data center in electric power corporation based on cloud computation[J]. Automation of Electric Power Systems, 2012, 36(11): 67-71. [8] 趙俊華,文福拴,薛禹勝,等.云計(jì)算:構(gòu)建未來電力系統(tǒng)的核心計(jì)算平臺[J].電力系統(tǒng)自動化,2010,34(15):1-8. ZHAO Junhua, WEN Fushuan, XUE Yusheng, et al. Cloud computing: implementing an essential computing platform for future power systems[J]. Automation of Electric Power Systems, 2010, 34(15): 1-8. [9] 汪際峰,沈國榮.大電網(wǎng)調(diào)度智能化的若干關(guān)鍵技術(shù)問題[J].電力系統(tǒng)自動化,2012,36(1):10-16. WANG Jifeng, SHEN Guorong. Some key technical issues on intelligent power dispatching of bulk power grid[J]. Automation of Electric Power Systems, 2012, 36(1): 10-16. [10] 高聞迪.突發(fā)性海量數(shù)據(jù)處理技術(shù)在物聯(lián)網(wǎng)監(jiān)控系統(tǒng)中的研究與應(yīng)用[D].北京:北京郵電大學(xué),2013. [11] 龔石林,王晨,馮彥釗,等.基于改進(jìn)加權(quán)公平隊(duì)列的變電站局域網(wǎng)通信隊(duì)列調(diào)度策略[J].電力系統(tǒng)自動化,2015,39(4):76-81.DOI:10.7500/AEPS20140325009. GONG Shilin, WANG Chen, FENG Yanzhao, et al. A smart substation LAN communication queue scheduling strategy based on improved WFQ algorithm[J]. Automation of Electric Power Systems, 2015, 39(4): 76-81. DOI: 10.7500/AEPS20140325009. [12] 王德文,劉楊.一種電力云數(shù)據(jù)中心的任務(wù)調(diào)度策略[J].電力系統(tǒng)自動化,2014,38(8):61-66.DOI:10.7500/AEPS20130620002. WANG Dewen, LIU Yang. A task scheduling strategy of cloud data center in electric power corporation[J]. Automation of Electric Power Systems, 2014, 38(8): 61-66. DOI: 10.7500/AEPS20130620002. [13] ZHANG F, BURNS A. Schedulability analysis for real-time systems with EDF scheduling[J]. IEEE Transactions on Computers, 2009, 58(9): 1250-1258. [14] LEE J. Time-reversibility for real-time scheduling on multiprocessor systems[J]. IEEE Transactions on Parallel and Distributed Systems, 2017, 28(1): 230-243. [15] ZHOU L, SUN S. Scheduling algorithm based on critical tasks in heterogeneous environments[J]. Journal of Systems Engineering and Electronics, 2008, 19(2): 398-405. [16] ALDARMI S A, BURNS A. Dynamic value-density for scheduling real-time systems[C]// Proceedings of the 11th Euromicro Conference on Real-time Systems, July 8-11, 1999, Madrid, Spain: 270-277. [17] 龔躍,張真真,黃小珂,等.基于動態(tài)雙向優(yōu)先級的任務(wù)分配與調(diào)度算法[J].計(jì)算機(jī)應(yīng)用,2009,29(4):1131-1134. GONG Yue, ZHANG Zhenzhen, HUANG Xiaoke, et al. Task allocation and scheduling algorithm based on dynamic dual-directional priority[J]. Journal of Computer Applications, 2009, 29(4): 1131-1134. [18] 劉正濤,毛宇光,任凱.模糊數(shù)據(jù)流實(shí)時任務(wù)調(diào)度算法[J].計(jì)算機(jī)工程與應(yīng)用,2007,43(19):180-184. LIU Zhengtao, MAO Yuguang, REN Kai. Fuzzy data stream real-time task scheduling algorithms[J]. Computer Engineering and Applications, 2007, 43(19): 180-184. [19] 夏家莉,陳輝,楊兵.一種動態(tài)優(yōu)先級實(shí)時任務(wù)調(diào)度算法[J].計(jì)算機(jī)學(xué)報(bào),2012,35(12):2685-2695. XIA Jiali, CHEN Hui, YANG Bing. A real-time tasks scheduling algorithm based on dynamic priority[J]. Chinese Journal of Computers, 2012, 35(12): 2685-2695. [20] CALHEIROS R N, RANJAN R, DE ROSE C A F, et al. CloudSim: a novel framework for modeling and simulation of cloud computing infrastructures and services[J]. Computer Science, 2009(4): 9p.3 電力全業(yè)務(wù)統(tǒng)一數(shù)據(jù)中心任務(wù)調(diào)度方法
3.1 動態(tài)優(yōu)先級分配策略
3.2 基于多級隊(duì)列的DRPS算法
3.3 處理任務(wù)優(yōu)先級動態(tài)變化分析
4 實(shí)驗(yàn)結(jié)果與分析
4.1 實(shí)驗(yàn)環(huán)境
4.2 仿真結(jié)果與分析
5 結(jié)語