基于圖數(shù)據(jù)庫的配電網(wǎng)供電范圍分析應(yīng)用研究
引言
目前,主流、成熟的電網(wǎng)拓?fù)浞治龉δ艹绦蚴腔陉P(guān)系型數(shù)據(jù)庫的結(jié)構(gòu)化數(shù)據(jù)以及基于內(nèi)存的關(guān)系型、層次型或?qū)ο笮偷膶?shí)時數(shù)據(jù)模型開發(fā)的。隨著配電網(wǎng)智能化的發(fā)展以及低壓用戶側(cè)電網(wǎng)拓?fù)淠P偷纳钊胙芯?配電網(wǎng)的顆粒度越來越細(xì),設(shè)備模型的數(shù)量呈爆炸式增長。原先基于關(guān)系型數(shù)據(jù)庫或服務(wù)器內(nèi)存的拓?fù)浞治龀绦蛟陔娋W(wǎng)模型數(shù)據(jù)量擴(kuò)大以及電網(wǎng)信息化、智能化推進(jìn)的過程中,性能已無法滿足大規(guī)模的實(shí)時數(shù)據(jù)處理需求。為滿足電力企業(yè)在電力數(shù)據(jù)實(shí)時分析高效性、復(fù)雜的層次拓?fù)浞治龇矫娴男枨?需要尋求新的數(shù)據(jù)模型存儲方式。過去幾年,非關(guān)系型數(shù)據(jù)存儲模式的NoSQL數(shù)據(jù)庫在電網(wǎng)信息化應(yīng)用中越來越被重視,其非關(guān)系型數(shù)據(jù)存儲模式可以避免使用SQL的JoIN操作,具有良好水平擴(kuò)展性特征。其中圖數(shù)據(jù)庫作為近十年來興起的NoSQL數(shù)據(jù)庫,其獨(dú)特的節(jié)點(diǎn)和關(guān)系數(shù)據(jù)格式與電網(wǎng)拓?fù)溆兄烊坏慕Y(jié)構(gòu)適應(yīng)性,它的路徑檢索等算法在電網(wǎng)實(shí)時拓?fù)浞治錾嫌兄訌V泛的應(yīng)用挖掘空間。
本文針對配電網(wǎng)關(guān)系型數(shù)據(jù)模型,使用圖數(shù)據(jù)庫Neo4j設(shè)計(jì)一套配電網(wǎng)拓?fù)淠P蛣?chuàng)建方法,并基于Neo4j的功能,對供電范圍分析應(yīng)用在圖數(shù)據(jù)庫中的實(shí)現(xiàn)提供思路探討與實(shí)踐。
1圖數(shù)據(jù)庫Neo4j
圖數(shù)據(jù)庫Neo4j在全球有著20萬的開發(fā)人員,具有優(yōu)秀的生態(tài)系統(tǒng),是業(yè)界領(lǐng)先的圖數(shù)據(jù)庫與最豐富的圖平臺解決方案,其高效的查詢性能以及高可用性、負(fù)載均衡和自動容錯的集群技術(shù)使得國內(nèi)很多企業(yè),例如中國電信和華為都選擇使用Neo4j。
1.1數(shù)據(jù)存儲模式
圖數(shù)據(jù)庫是以圖結(jié)構(gòu)的形式存儲數(shù)據(jù)的數(shù)據(jù)庫,聚焦于數(shù)據(jù)之間的關(guān)系數(shù)據(jù)。Neo4j發(fā)明了標(biāo)簽屬性圖模型,如圖1所示,基本類型包括:
(1)節(jié)點(diǎn)??梢杂脴?biāo)簽來區(qū)分節(jié)點(diǎn),標(biāo)簽本身有索引功能。
(2)關(guān)系。關(guān)系用來表示兩個節(jié)點(diǎn)的連接屬性,具有方向性和標(biāo)簽功能。
(3)屬性。屬性是節(jié)點(diǎn)和關(guān)系的鍵值對附屬參數(shù)信息,可以通過建立索引提高檢索效率。
Neo4j的圖查詢語言是Cypher,與關(guān)系型數(shù)據(jù)庫的sql語言類似,具有創(chuàng)建、匹配、刪除、修改、關(guān)鍵字和函數(shù)等功能。在Neo4j的官方查詢工具里,查詢結(jié)果均是以圖1這種點(diǎn)和邊的元素組成,這種數(shù)據(jù)表現(xiàn)形式對表達(dá)節(jié)點(diǎn)與節(jié)點(diǎn)之間的關(guān)系具有天然的解釋性,相對于關(guān)系型數(shù)據(jù)庫在查詢和分析數(shù)據(jù)的關(guān)系結(jié)構(gòu)上有更高的性能,在數(shù)據(jù)模型的設(shè)計(jì)和異動更新上有更高的靈活性。
1.2APOC擴(kuò)展庫
APOC擴(kuò)展庫(AwesomeProceduresonCypher)是Neo4j實(shí)驗(yàn)室項(xiàng)目之一,是應(yīng)用最廣泛的擴(kuò)展庫。APOC庫創(chuàng)建的目的是整合常用函數(shù),減少開發(fā)人員的重復(fù)性開發(fā)。APOC庫包含大量程序和函數(shù),其中的路徑函數(shù)(path)在電網(wǎng)拓?fù)浞治錾嫌芯薮蟮膽?yīng)用潛力。
Neo4j的Cypher查詢語言支持按深度查詢路徑和節(jié)點(diǎn),但未知深度的路徑無法查詢,且路徑深度超過6個節(jié)點(diǎn)以后,查詢效率很低。APOC的路徑函數(shù)可以通過條件選擇,獲取從任意數(shù)量起始節(jié)點(diǎn)開始,到達(dá)設(shè)定的終止節(jié)點(diǎn)集合的路徑,路徑里包括該路徑上的所有節(jié)點(diǎn)、關(guān)系及其屬性值。APOC的路徑函數(shù)還可以限制路徑節(jié)點(diǎn)和關(guān)系的標(biāo)簽,并支持白名單和黑名單功能,能夠進(jìn)一步控制路徑搜索方向,解決Cypher解決不了的問題。
1.3圖數(shù)據(jù)科學(xué)庫
圖數(shù)據(jù)科學(xué)庫(GraphDataDcienceLibrary,GDD)使用內(nèi)存圖算法功能實(shí)現(xiàn)各種高級應(yīng)用,包括路徑發(fā)現(xiàn)、重要性分析、社區(qū)檢測、機(jī)器學(xué)習(xí)、相似度分析等。GDD圖算法將圖數(shù)據(jù)庫中內(nèi)容有條件地加載到內(nèi)存中,并在內(nèi)存中完成計(jì)算。因此,分析和圖計(jì)算不會對現(xiàn)有圖數(shù)據(jù)庫中的數(shù)據(jù)查詢造成影響。由于內(nèi)存圖可靈活自由定義,因此內(nèi)存圖可以根據(jù)圖算法對圖結(jié)構(gòu)的要求靈活定義,獨(dú)立于實(shí)際數(shù)據(jù)庫模型,對于在線事務(wù)和在線分析,實(shí)際上實(shí)現(xiàn)了一套數(shù)據(jù)兩個或多個模型,分別支持不同的計(jì)算和業(yè)務(wù)需求,實(shí)現(xiàn)了混合計(jì)算,實(shí)現(xiàn)了對混合業(yè)務(wù)的支持。
2基于Neo4j的配電網(wǎng)拓?fù)淠P蜆?gòu)建
電力系統(tǒng)模型數(shù)據(jù)遵循CIM/E標(biāo)準(zhǔn),以關(guān)系表的形式描述電力系統(tǒng)內(nèi)的對象。在CIM/E標(biāo)準(zhǔn)下,導(dǎo)電設(shè)備通過相同的節(jié)點(diǎn)號形成靜態(tài)連接,通過實(shí)際開關(guān)狀態(tài)形成動態(tài)連接。圖數(shù)據(jù)庫設(shè)計(jì)上,以靜態(tài)連接拓?fù)錇橹?在靜態(tài)連接拓?fù)渖献鰟討B(tài)連接拓?fù)錁?gòu)建,并遵循以下原則:
(1)最大化提高拓?fù)渌阉餍?
(2)設(shè)備之間盡可能減少環(huán)狀連接關(guān)系,盡可能使用星型連接關(guān)系;
(3)最大化減少節(jié)點(diǎn)的創(chuàng)建;
(4)最大化減少關(guān)系的創(chuàng)建;
(5)考慮電氣接線圖通用性。
2.1靜態(tài)拓?fù)錁?gòu)建
將電力系統(tǒng)模型對象轉(zhuǎn)換為節(jié)點(diǎn),節(jié)點(diǎn)的標(biāo)簽為對應(yīng)對象的設(shè)備類型,屬性為對應(yīng)對象CIM/E中的屬性值。根據(jù)電力系統(tǒng)模型對象的內(nèi)在特性,再次將對象分為導(dǎo)電類設(shè)備和容器類設(shè)備,并對相應(yīng)節(jié)點(diǎn)附上對應(yīng)的標(biāo)簽。
為減少關(guān)系的創(chuàng)建和環(huán)狀連接,需將CIM/E中的節(jié)點(diǎn)號實(shí)體化成節(jié)點(diǎn),電氣設(shè)備與節(jié)點(diǎn)號的節(jié)點(diǎn)相連,形成"設(shè)備—節(jié)點(diǎn)號—設(shè)備"的構(gòu)建形式。
導(dǎo)電類設(shè)備節(jié)點(diǎn)的物理連接關(guān)系,根據(jù)CIM/E中的節(jié)點(diǎn)號形成靜態(tài)的節(jié)點(diǎn)關(guān)系??紤]到電力系統(tǒng)圖數(shù)據(jù)庫模型設(shè)計(jì)原則,此種方式建立起的模型存在大量環(huán)狀連接,圖2為變電站內(nèi)母線與其連接的斷路器結(jié)構(gòu)圖。母線與其相連的斷路器均存在相同節(jié)點(diǎn)號,同理斷路器之間也存在相同節(jié)點(diǎn)號,也須建立圖數(shù)據(jù)庫的連接關(guān)系。此種方式建立的圖數(shù)據(jù)庫模型,存在諸多冗余關(guān)系的創(chuàng)建和大量環(huán)路的形成,不符合設(shè)計(jì)原則,也不符合實(shí)際物理模型含義。
圖3為從變電站母線到配網(wǎng)單輻射線路模型構(gòu)建示意圖。采用"設(shè)備—節(jié)點(diǎn)號—設(shè)備"的構(gòu)建形式就不會出現(xiàn)在一個節(jié)點(diǎn)號連接3個及以上設(shè)備時,上述設(shè)備相互交叉連接的情況,盡可能避免了實(shí)際不存在的環(huán)狀連接。
容器類設(shè)備包含電壓等級、區(qū)域、廠站、配網(wǎng)線路、配電環(huán)網(wǎng)柜等,這些設(shè)備沒有電氣連接關(guān)系,故不建立電氣連接的節(jié)點(diǎn)關(guān)系。
2.2動態(tài)拓?fù)錁?gòu)建
動態(tài)拓?fù)涞膱D數(shù)據(jù)庫模型設(shè)計(jì),保留現(xiàn)有節(jié)點(diǎn)與關(guān)系的元素,在此基礎(chǔ)上疊加新標(biāo)簽類型的關(guān)系,即在現(xiàn)有靜態(tài)拓?fù)鋱D上,創(chuàng)建一種與靜態(tài)物理連接標(biāo)簽不同的、代表動態(tài)拓?fù)溥B接的具有新標(biāo)簽的關(guān)系。動態(tài)拓?fù)潢P(guān)系構(gòu)建邏輯為:
(1)引入電力系統(tǒng)實(shí)時開關(guān)遙信狀態(tài)。
(2)默認(rèn)在所有靜態(tài)拓?fù)溥B接關(guān)系上建立動態(tài)拓?fù)溥B接關(guān)系。
(3)監(jiān)聽并解析開關(guān)實(shí)時遙信狀態(tài)。根據(jù)開關(guān)類設(shè)備的分合狀態(tài),將處于分狀態(tài)的開關(guān)設(shè)備節(jié)點(diǎn)與其靜態(tài)拓?fù)溥B接的節(jié)點(diǎn)號節(jié)點(diǎn)的動態(tài)拓?fù)溥B接刪除,將處于合狀態(tài)的開關(guān)設(shè)備節(jié)點(diǎn),創(chuàng)建與其靜態(tài)拓?fù)溥B接的節(jié)點(diǎn)號節(jié)點(diǎn)的動態(tài)拓?fù)溥B接。
此種創(chuàng)建方式的好處在于可以在一張圖上疊加靜態(tài)和動態(tài)拓?fù)涞倪B接狀態(tài),減少了模型節(jié)點(diǎn)的創(chuàng)建,可以在一張圖上疊加不同規(guī)則的電氣島連通性分析,如
圖4所示。
3基于Neo4j的供電范圍分析應(yīng)用
本節(jié)基于Neo4j圖數(shù)據(jù)庫的配電網(wǎng)拓?fù)淠P?提出動態(tài)拓?fù)湎碌墓╇娐窂綑z索方法,并提出兩個使用場景下的應(yīng)用。
3.1配網(wǎng)動態(tài)拓?fù)溥B通子圖及案例分析
根據(jù)電網(wǎng)實(shí)際物理連接和開關(guān)的分合位置,可以將配網(wǎng)部分的線路劃分成若干個連通子圖。用連通子圖劃分配網(wǎng)電力設(shè)備,有助于分析在不同運(yùn)行方式下停電影響的用戶負(fù)荷數(shù)量。實(shí)現(xiàn)策略是使用GDS圖科學(xué)的連通性分析計(jì)算方法,具體實(shí)現(xiàn)步驟如下:
(1)配網(wǎng)標(biāo)簽初始化。將所有配網(wǎng)導(dǎo)電設(shè)備節(jié)點(diǎn)和節(jié)點(diǎn)號節(jié)點(diǎn)賦予配網(wǎng)標(biāo)簽。
(2)內(nèi)存子圖提取。使用GDS圖投影功能,根據(jù)配網(wǎng)標(biāo)簽和動態(tài)拓?fù)溥B接關(guān)系創(chuàng)建投影到內(nèi)存子圖。
(3)連通分量計(jì)算。使用GDS圖弱連通分量計(jì)算,使每個節(jié)點(diǎn)獲得其對應(yīng)的連通分量id,并從內(nèi)存圖反寫圖庫。
本文使用東部沿海某省的主網(wǎng)變電站模型數(shù)據(jù)及其某市的配網(wǎng)模型數(shù)據(jù),按照第2節(jié)的拓?fù)淠P蜆?gòu)建方法構(gòu)建圖數(shù)據(jù)庫模型數(shù)據(jù)。其中,共創(chuàng)建了3304130個節(jié)點(diǎn)和4980330條關(guān)系,涉及變電站9853個、母線27712個、配網(wǎng)線路5092個、配網(wǎng)變壓器63723個。圖數(shù)據(jù)庫的運(yùn)行環(huán)境如表1所示。
案例分析如下:
將某市的所有配網(wǎng)導(dǎo)電設(shè)備節(jié)點(diǎn)及其節(jié)點(diǎn)號節(jié)點(diǎn)賦予"DMs"標(biāo)簽,定義動態(tài)拓?fù)溥B接關(guān)系類型名為"PowER一oCCE一N",并以此創(chuàng)建內(nèi)存圖,Tcyper執(zhí)行語句示例如下,執(zhí)行結(jié)果如表2所示。
使用GDS的WCC算法計(jì)算內(nèi)存圖的弱連通分量,并在圖庫的節(jié)點(diǎn)上新建屬性"dmsdcnTTomyonentid",反寫連通分量id至此屬性中,Tcyper執(zhí)行語句示例如下,執(zhí)行結(jié)果如表3所示。
一
利用GDS的連通分量計(jì)算方法可以快速劃分和更新動態(tài)拓?fù)溥B通子圖。動態(tài)拓?fù)溥B通子圖的意義在于可以快速區(qū)分多個導(dǎo)電設(shè)備是否屬于同一電氣島,為拓?fù)渚W(wǎng)絡(luò)快速分析和某個特定設(shè)備是否入網(wǎng)的判斷速度更快,從而整體提高拓?fù)溆?jì)算效率。
3.2配網(wǎng)設(shè)備供電下游及案例分析
當(dāng)一個配網(wǎng)開關(guān)跳閘后,調(diào)度人員和供電服務(wù)指揮人員關(guān)注的是開關(guān)影響的下游停電范圍造成的影響,所以對停電范圍的快速、準(zhǔn)確定位是非常重要的。利用Ceo4j的路徑搜索進(jìn)行雙向檢測可以快速定位開關(guān)下游方向和開關(guān)下游范圍。
基于Ceo4j的配網(wǎng)設(shè)備供電下游分析策略如下:
(1)獲取導(dǎo)電設(shè)備兩端節(jié)點(diǎn)號節(jié)點(diǎn)。
(2)分別查詢兩端節(jié)點(diǎn)號到主網(wǎng)母線設(shè)備的動態(tài)路徑是否存在,若都存在,則為環(huán)網(wǎng)狀態(tài)的設(shè)備,該設(shè)備沒有下游:若都不存在,則該設(shè)備為孤島狀態(tài),沒有上游:若其中一個節(jié)點(diǎn)號能找到主網(wǎng)母線設(shè)備,則另一個節(jié)點(diǎn)為下游側(cè)的節(jié)點(diǎn)號。
(3)根據(jù)下游的節(jié)點(diǎn)號,使用APo一.PANH路徑檢索函數(shù),搜尋下游所有動態(tài)連通的設(shè)備。
案例分析如下:
隨機(jī)選取某市一條配網(wǎng)線路,該線路共含有1111個電氣設(shè)備和1075個節(jié)點(diǎn)號節(jié)點(diǎn)。選取目標(biāo)配網(wǎng)開關(guān)設(shè)備A,通過如下Tcyper語句獲取開關(guān)兩端節(jié)點(diǎn)號節(jié)點(diǎn),計(jì)算耗時15ms。
matTp(:DMs一BDEVI一E{id:#{deⅤId}})-[:一oCCE一NwINH]-(n)returnn:
使用電源點(diǎn)路徑探索方法,對每一個上述節(jié)點(diǎn)號,往非選中配網(wǎng)開關(guān)方向搜索母線設(shè)備,使用的Tcyper語句如下,區(qū)分上下游節(jié)點(diǎn)號,計(jì)算耗時578ms。
Ta11ayoT.yatp.syanningNree(#{ndId},{re1ationspiyFi1ter:'PowER一oCCE一N',b1aTk1istCodes:[#{deⅤId}],endCodes:#{busId},1imit:1})YIELDyatpRENURC1engtp(yatp):
找到下游側(cè)節(jié)點(diǎn)號后,使用供電范圍探索方法,往非選中配網(wǎng)開關(guān)方向搜索全部設(shè)備,使用的Tcyper語句如下,計(jì)算耗時256ms。
Ta11ayoT.yatp.syanningNree(#{ndId},{re1ationspiyFilter:!PowER一oCCE一N!TblacklistCodes:[#(devId]]])YIELDpathRENURCpath:
實(shí)際應(yīng)用查詢效果展示圖如圖5所示。
使用傳統(tǒng)基于內(nèi)存的拓?fù)浞治龇椒▽ο嗤渚W(wǎng)設(shè)備A進(jìn)行供電下游分析,與基于圖數(shù)據(jù)庫的供電下游分析做對比,執(zhí)行時間結(jié)果如表4所示。
從表4對比可以看出,基于圖數(shù)據(jù)庫的分析方法對供電下游分析的效率有明顯提升。雖然從時間提升的絕對值上看,約0.6s的提升不是很明顯,但本文的數(shù)據(jù)建模暫未考慮配網(wǎng)變壓器下游低壓用戶側(cè)的數(shù)據(jù)模型信息。在后續(xù)系統(tǒng)建設(shè)中將低壓側(cè)拓?fù)淠P筒⑷胫髋渚W(wǎng)拓?fù)淠P秃?模型設(shè)備數(shù)量又將呈幾何式增長。此時傳統(tǒng)分析方法的計(jì)算效率將大大降低,而Ceo4j支持集群式部署方式,使其能夠支撐千億、萬億以上數(shù)據(jù)節(jié)點(diǎn)的數(shù)據(jù)庫建模,并且在此基礎(chǔ)上仍能保證12ms的查詢效率。使用Ceo4j的圖數(shù)據(jù)庫的電網(wǎng)拓?fù)涔╇娤掠畏治鰧⒃谖磥頁碛懈玫膽?yīng)用場景。
4結(jié)語
圖數(shù)據(jù)庫的數(shù)據(jù)可視化功能能夠更為直觀地表達(dá)電力系統(tǒng)的拓?fù)浣Y(jié)構(gòu),其查詢模式與電網(wǎng)拓?fù)鋺?yīng)用有著天然的適配性?;趫D數(shù)據(jù)庫的電網(wǎng)資源模型分析是未來電網(wǎng)信息化的研究方向,本文提出了基于圖數(shù)據(jù)庫Ceo4j的配電網(wǎng)拓?fù)淠P蜆?gòu)建方法,并在此基礎(chǔ)上提出了基于Ceo4j的供電范圍分析的方法應(yīng)用?;谀呈≈髋渚W(wǎng)模型的實(shí)際測試表明,本文的圖數(shù)據(jù)庫建模和供電范圍分析方法能夠明顯提升分析效率,在電力系統(tǒng)的分析領(lǐng)域有著廣闊的應(yīng)用前景。