本發明專利提出一種基于級聯失效的網絡功能端節點傳播預測方法,用于基礎設施網絡(如交通網絡、電力網絡、通信網絡等)設計提高魯棒性,屬于可靠性與網絡科學交叉領域。
背景技術:
近年來,基礎設施網絡的雪崩似的級聯失效引起了廣泛關注。級聯失效危害巨大且普遍存在,例如2003年8月美加大停電影響范圍覆蓋三分之一美國人口,造成經濟損失近300億美元;道路擁堵已成為各大型城市交通網絡系統突出問題,2013年《中國經濟大調查》結果表明交通擁堵造成700多億元經濟損失;2016年10月美國dyn服務商遭受分布式拒絕服務(ddos)攻擊,造成半個美國網絡癱瘓。這極大激發了研究學者對網絡級聯失效的研究關注,促進了一系列級聯失效相關成果的提出與應用。
網絡級聯失效的控制緩解一般分為三個階段:失效前防護階段、失效過程控制階段以及事后修復階段。
失效前的防護階段主要通過設計優化網絡拓撲結構以提高網絡抵抗級聯失效的魯棒性。這類措施多數從結構設計出發,屬于靜態魯棒性方法范疇。包括以下幾種類型的措施:增加設備冗余措施、增加節點的連邊、增加節點(邊)的容量、改變負載的分配機制、針對關鍵節點的重點保護等前期設計階段的預防護措施。
失效過程階段的級聯失效控制主要從功能出發,針對網絡節點(或連邊)的負載采取相應措施,包括結構性減載和功能性減載兩種類型。結構性減載通過刪減部分網絡節點改變網絡的拓撲結構,達到減少關鍵節點負載的作用,典型的結構性減載如電網中常見的低壓減載和低頻減載。而功能減載是通過主動降低網絡負載流量達到緩解級聯失效的目的,例如航空網絡中,機場遭遇意外因素(不良天氣、跑道維護等)影響,通過直接減少航班數量而非關閉機場來降低機場的航班負載,避免級聯失效的航班延誤。
事后修復的方式通常難以挽回已經造成的經濟損失和社會影響,只能最大限度降低后續效應,例如電力網絡中通常采用黑啟動的方式恢復電網電壓及頻率。由于資源的限制,事后修復順序也存在時間先后,即關鍵節點可能率先得到修復。這就需要準確識別關鍵功能的節點,加以特別保護。
綜上所述,第一類失效前防護方法僅僅考慮網絡的結構特點,只能在設計階段對級聯失效起到預防作用,第二類措施雖然在失效過程中可以一定程度緩解級聯失效,但是對于部分網絡如電網、互聯網絡,由于級聯失效擴散速度極快,超過了人們對其施加控制的反應速度,極大限制了級聯失效過程中的控制效果;另外,針對關鍵節點這類措施也無法起到預防性的保護作用,會造成一定的經濟損失。第三類方式對于已發生級聯失效的網絡進行修復,只能最大限度降低事后影響、挽回損失,在級聯失效的控制緩解措施上稍顯被動。
技術實現要素:
(一)發明的目的
本發明目的是提供一種基于級聯失效的網絡功能端節點傳播預測方法。功能端節點具有兩方面關鍵作用,一是級聯失效發生時,在網絡中能夠保持功能;二是作為連接網絡“死路(deadendpoints)”節點與完好節點的端節點。該方法能夠在失效前防護階段提前發現級聯失效中的功能端節點——割點(即在網絡中刪除了某個點以及與這個點相連的邊后,網絡不再連通,這樣的點被稱為割點),由于割點隨著級聯失效的傳播其負載將下降,意味著級聯失效過程割點功能可保持,因此可事先在功能端節點處設計布置關鍵節點或不易修復節點(如無線傳感器網絡中,部分節點無法人工修復),以最大限度保護關鍵節點并降低可能發生的損失和修復資源消耗。同時,根據過載級聯失效傳播預測功能端節點的傳播距離,可用于在級聯失效過程階段實時控制級聯失效,指導確定級聯失效的過程中功能端節點的傳播范圍,有利于展開級聯失效控制與事后修復工作。
(二)技術方案
本發明一種基于級聯失效的網絡功能端節點傳播預測方法,其具體實施步驟如下:
步驟一、預處理網絡數據
本步驟主要目的是通過梳理節點、連邊的結構關系,將實際的基礎設施網絡抽象成為網絡模型,包括以下內容:
(a)節點信息:節點編號,節點功能屬性,節點的空間絕對坐標信息或相對坐標信息統計;
(b)連邊信息:連邊編號,連邊的屬性,連邊的空間幾何長度(權重);
(c)負載信息:以含權網絡的介數中心性為依據,對節點進行初始負載流量分配;
步驟二、確定初始薄弱節點并建立負載容量模型
將網絡中容易遭受攻擊或失效的薄弱節點或關鍵節點視作級聯失效仿真的初始失效節點;薄弱節點的確定可根據歷史數據判斷或者根據關鍵節點的識別方法作為判斷依據例如pagerank算法、度最大、介數最大等,并將初始薄弱節點視作初始失效節點;
建立motter-lai負載容量模型,每一個節點具有容量和負載兩個屬性;根據步驟一所分配的節點負載,以節點負載是否超過其容量極限作為失效判斷依據,對網絡進行負載重分配;
步驟三、計算級聯失效時的網絡割點
針對步驟二中的初始薄弱節點進行初始擾動(失效),繼而發生過載級聯失效,在motter-lai負載容量模型基礎上查找每一步失效節點集,并基于線性tarjan算法進行深度優先遍歷查找每一步割點集;顯然,失效節點集是負載超過容限的不穩定節點集,而這里每一步產生的網絡割點集,由于在級聯失效過程中其負載降低使其成為后續每一步的功能端節點;若是針對多個不同位置的初始薄弱點擾動造成的級聯失效,可取割點集的交集作為共同的功能端節點集;
步驟四、預測功能端節點傳播距離
通過級聯失效的傳播距離進行功能端節點傳播范圍預測;由于步驟三已計算得到的割點負載持續下降,即割點是功能端節點,級聯失效主要傳播特征是圍繞初始擾動節點以圓環狀擴散,且速度近似恒定,而割點傳播與級聯失效點極為類似,即同樣以初始擾動節點為圓心圓環狀擴散,且速度恒定,差異表現為割點傳播速度比級聯失效小;由此,通過當前步t的級聯失效距離可預測t+1步的割點傳播距離,進而得知功能端節點的傳播距離與范圍;
其中本發明中薄弱(關鍵)節點的識別方法屬于公知技術,且不同類型網絡性質不同,需采取不同的識別方式,本發明不作贅述。
其中,在步驟一中所述的“預處理網絡數據”,其作法如下:首先需依據現實網絡抽象出節點和連邊信息;以電力網絡為例,節點類型可以分為三種:變電站、發電廠和輔助設備節點,將節點類型作為節點標簽;節點編號從0開始順序編號0~n-1并收集電力網絡各節點的經緯度坐標信息作為節點屬性;同時,統計輸電電路的起始節點、終止節點編號以及線路長度(距離),將輸電線路抽象為無向邊,并對m條連邊從0開始順序編號0~m-1,以線路長度作為連邊的邊權屬性,多重邊不做重復統計;
按照介數中心性對節點初始負載進行分配,具體計算方式如下式
其中
其中,在步驟二中所述的“motter-lai負載容量模型”,是指:由adilsone.motter和ying-chenglai提出的motter-lai負載容量模型;
其中,在步驟二中所述的“建立motter-lai負載容量模型”,其作法如下:如附圖2所示,設節點容限為α,則節點i容量ci為
其中,在步驟三中所述的“計算級聯失效時的網絡割點”,其具體作法如下:割點計算算法依據線性tarjan算法進行深度優先搜索(dfs)對網絡進行遍歷,如附圖3所示。深度優先搜索中對每個節點需要記錄兩個參數:深度參數num(v)和低位數low(w)。首先對網絡執行深度優先搜索,并且在每個節點被訪問的時候給其編號,這個編號即為深度參數num(v),表示遍歷到達節點的時間順序。其次,節點低位數low(w)計算是取下面三者最小值:(1)節點自身的深度num(v);(2)v的所有鄰居點nei的深度num(nei)(除去dfs樹的父節點)(3)v所有子節點的低位數。第三步判斷割點分兩種情況,第一種是節點的子節點數大于等于2為割點,否則不是;第二種情況節點v存在一個子節點w的低位數滿足low(w)≥num(v);
其中,在步驟四中所述的“通過級聯失效的傳播距離進行功能端節點傳播范圍預測”,其具體作法如下:在級聯失效實時控制中,級聯失效的傳播特征呈圓環狀恒速從故障中心向外傳播。而功能端節點的傳播行為與級聯失效傳播極為類似,差異表現為傳播速度相對級聯失效稍慢。因此,預測功能端節點的基礎是級聯失效的速度和傳播距離確定。由于已經確定級聯失效勻速圓環傳播,該步驟只需記錄每一步級聯失效邊界與故障中心的距離作為傳播距離,那么當前步t的級聯失效傳播距離就是下一步t+1功能端點的邊界所在處,由此可以確定并預測功能端節點的傳播范圍。
通過以上步驟,實現了網絡中的功能端節點計算,解決了網絡的功能端節點傳播預測問題,適用于在失效前防護階段的網絡優化設計以及失效過程中控制緩解實際網絡因過載故障導致的級聯失效。
(三)優點和功效
本發明解決了級聯失效過程中功能端節點計算和傳播預測問題,具有以下三個優點:
(a)應用范圍廣泛。本發明涉及的問題對象涵蓋了基礎設施網絡(包括電力網絡、交通網絡、互聯網絡、有線通信網絡、無線傳感器網絡等),但不僅限于此。凡可能發生過載級聯失效的網絡系統均可能需要查找且客觀存在網絡的功能端節點,而本發明所提及的方法適用于優化設計及控制所有因過載故障導致級聯失效的網絡系統。
(b)應用時機靈活。本發明不僅適用于失效前防護階段優化網絡拓撲結構設計,同時可在失效過程階段預測功能端節點的傳播范圍。失效前防護階段的功能端節點預測有利于重要節點或不易修復節點的配置,降低網絡修復損失,提升了經濟效益。失效過程中的功能端節點傳播預測時效性好,為級聯失效的控制與修復爭取了寶貴時間,同時也節約了大量修復資源。
(c)識別準確性高。本發明通過揭示網絡結構與功能的內在關系,指出了割點與功能端點之間的隱性聯系:割點作為能夠影響網絡連通性的典型結構特征點恰好是網絡級聯失效過程中的負載降低的具有關鍵功能特征的功能端節點;同時,割點還是連通“死路”與其余節點的端口節點。實驗結果表明傳播距離的預測準確率高達95%以上。從級聯失效角度看,割點可作為功能端節點的判定指標。
附圖說明
圖1為本發明所述方法流程示意圖。
圖2為級聯失效的motter-lai負載容量模型說明圖。
圖3為割點算法流程示意圖。
圖4為路網中割點、擁塞點傳播圖(t=1,3,5,7)。
圖5為功能端節點預測示意圖。
圖5a功能端節點的傳播行為與級聯失效傳播極為類似,差異表現為傳播速度相對級聯失效稍慢。
圖5b當前步的級聯失效傳播距離可當做下一步功能端節點的邊界所在處。
圖中代號解釋如下:
σp,q(i)表示通過節點i的最短路徑數,其中p,q表示任意選取的兩個節點;
σp,q表示網絡中任意選取兩個節點的最短路徑總數;
ci表示節點i的容量;
α為節點容限;
num(v)表示深度參數;
low(w)表示低位數;
t為級聯失效傳播步數;
r為傳播平均半徑;
δt為傳播過程割點和過載點的時間差;
δr為傳播過程過載平均半徑與割點平均半徑差。
具體實施方式
本發明提供一種基于級聯失效的網絡功能端節點傳播預測方法,為進一步闡明其技術手段和效果,下面結合附圖1以及交通路網擁塞傳播過程實施例,對本發明技術方案進行詳細描述。
本發明一種基于級聯失效的網絡功能端節點傳播預測方法,見圖1所示,其具體實施步驟如下:
步驟一,首先需依據現實網絡抽象出節點和連邊信息。以德國城市奧爾登堡(oldenburg)路網為例(節點數n=6105,邊數m=7027),節點為路口,類型分為平面交叉口、環形交叉口和立體交叉口,將節點類型作為節點標簽;節點編號從0開始順序編號0~n-1,并收集路網各節點的經緯度坐標信息作為節點屬性。同時,統計各道路的起始節點、終止節點編號以及道路長度(距離),將道路抽象為無向邊,并對m條邊從0開始順序編號0~m-1,以道路長度作為連邊的邊權屬性,多重邊不做重復統計。
按照介數中心性對節點初始負載進行分配,具體計算方式如下式
其中
步驟二,初始薄弱節點的確定及建立負載容量模型。首先初始薄弱節點依據不同類型網絡可能選取方式不同,例如電力網絡可能負載最大的節點容易發生故障失效,互聯網絡度最大的網站節點最易受到網絡攻擊,交通網絡流量大的路段更易發生擁堵等。這里,路網以介數中心性作為薄弱節點選取方式,步驟一給出了介數中心性的計算方式。對網絡計算所有節點的初始負載,并選擇負載最大的節點作為初始薄弱節點。
motter-lai負載容量模型如附圖2所示。設節點容限為α(α=0.1),節點i的容量ci為
步驟三,計算級聯失效過程中的割點。割點是級聯失效過程中負載下降的節點,因此該步驟功能端節點識別的關鍵是過載級聯失效過程中割點的遍歷查找。
計算割點算法依據線性tarjan算法進行深度優先搜索(dfs)對網絡進行遍歷,如附圖3所示。深度優先搜索中對每個節點需要記錄兩個參數:深度參數num(v)和低位數low(w)。首先對網絡執行深度優先搜索,并且在每個節點被訪問的時候給其編號,這個編號即為深度參數num(v),表示遍歷到達節點的時間順序。其次,節點低位數low(w)計算是取下面三者最小值:(1)節點自身的深度num(v);(2)v的所有鄰居點nei的深度num(nei)(除去dfs樹的父節點)(3)v所有子節點的低位數。第三步判斷割點分兩種情況,第一種是節點的子節點數大于等于2為割點,否則不是;第二種情況節點v存在一個子節點w的低位數滿足low(w)≥num(v)。
根據此算法找到每一步級聯失效時的路網割點,如圖4所示,截取了其中t=1,3,5,7四步的快照。圖4中,空心白色節點表示t=t(t=1,3,5,7)步出現的割點,黑色實心表示t=t發生擁堵的過載點。這些割點中除傳播邊界處節少數點是過載節點外,其余內部割點由于負載下降,均是功能端節點。
步驟四,預測功能端節點傳播距離。在級聯失效實時控制中,級聯失效的傳播特征是呈圓環狀恒速從故障中心向外傳播的,而功能端節點的傳播行為與級聯失效傳播極為類似,差異表現為傳播速度相對級聯失效稍慢,如附圖5a所示,實線表示割點,虛線表示過載點。因此,預測功能端節點的基礎是級聯失效的速度和傳播距離確定。由于已經確定級聯失效的勻速圓環傳播,該步只需記錄每一步級聯失效邊界與故障中心的距離作為傳播距離,如附圖5b所示,傳播時間差δt=1時過載點與割點傳播距離差δr誤差最小,說明當前步的級聯失效傳播距離可當做下一步功能端節點的邊界所在處,由此功能端節點的傳播距離預測方法可總結為:以當前步t過載點的傳播距離作為t+1步割點(功能端節點)的傳播距離預測值。