本技術(shù)涉及復(fù)雜網(wǎng)絡(luò)的魯棒性分析,尤其涉及一種節(jié)點(diǎn)回收方法及基于節(jié)點(diǎn)回收方法的網(wǎng)絡(luò)可靠性提高方法。
背景技術(shù):
1、在本發(fā)明之前,已經(jīng)嘗試使用的技術(shù)方法為經(jīng)典的負(fù)載-流量模型。
2、動態(tài)級聯(lián)失效是研究網(wǎng)絡(luò)可靠性常用的模型,motter提出的“負(fù)載-容量(load-capacity)”模型是經(jīng)典的動態(tài)級聯(lián)失效模型,其中負(fù)載指的是節(jié)點(diǎn)當(dāng)前流通的流量,可以是數(shù)據(jù)包、電流或者車輛等,容量則指的是最大能流通的流量。考慮成本最低和效率最高,模型假設(shè)網(wǎng)絡(luò)中任意兩點(diǎn)之間的流量是通過最短路徑傳輸?shù)模⑶颐繉?jié)點(diǎn)之間都存在流量傳輸。另一方面,網(wǎng)絡(luò)節(jié)點(diǎn)的介數(shù)定義為經(jīng)過該節(jié)點(diǎn)最短路徑的條數(shù),所以,可以將節(jié)點(diǎn)的負(fù)載定義為介數(shù)。節(jié)點(diǎn)的最大負(fù)載是節(jié)點(diǎn)容量,即單位最多允許通過的流量。通常來說,初始負(fù)載越大的節(jié)點(diǎn),流通的流量就越大,其介數(shù)中心性和在網(wǎng)絡(luò)中的重要性越高,容量理所應(yīng)當(dāng)越大。為了簡化計(jì)算集中注意力于級聯(lián)動力學(xué)和網(wǎng)絡(luò)可靠性上,假設(shè)節(jié)點(diǎn)容量與初始負(fù)載關(guān)系是正比例關(guān)系。使用l表示負(fù)載,c表示容量,對任意節(jié)點(diǎn),滿足如下關(guān)系式:
3、c=(1+α)l
4、其中α>0,為能力因子,反映了網(wǎng)絡(luò)抵抗?jié)M載或過載等惡劣環(huán)境的能力。α越大,節(jié)點(diǎn)的容量就越大,負(fù)載就越不容易溢出容量導(dǎo)致網(wǎng)絡(luò)崩潰或堵塞,網(wǎng)絡(luò)可靠性和穩(wěn)定性就越高。
5、在“負(fù)載-容量”模型中,網(wǎng)絡(luò)動態(tài)級聯(lián)失效過程如下:網(wǎng)絡(luò)受到隨機(jī)攻擊或蓄意破壞時,網(wǎng)絡(luò)中部分節(jié)點(diǎn)被刪除,導(dǎo)致網(wǎng)絡(luò)的結(jié)構(gòu)發(fā)生變化,引起剩余節(jié)點(diǎn)負(fù)載的重新分配;若剩余網(wǎng)絡(luò)中部分節(jié)點(diǎn)負(fù)載超過了容量,該這部分節(jié)點(diǎn)會因堵塞而無法工作被刪除;這些刪除的節(jié)點(diǎn)又會引起新的節(jié)點(diǎn)崩潰,如此迭代崩潰,直到級聯(lián)過程停止。動態(tài)級聯(lián)過程中,節(jié)點(diǎn)被刪除的情況有兩種:不在最大連通組中或者流量過載。。
技術(shù)實(shí)現(xiàn)思路
1、為解決上述問題,本發(fā)明實(shí)施例提出一種基于節(jié)點(diǎn)回收的網(wǎng)絡(luò)修復(fù)策略,通過回收利用級聯(lián)失效過程中過載的部分節(jié)點(diǎn),增大網(wǎng)絡(luò)最大連通組的規(guī)模,抑制級聯(lián)過程的進(jìn)行,提高網(wǎng)絡(luò)的可靠性。
2、本發(fā)明實(shí)施例提供一種節(jié)點(diǎn)回收方法,所述節(jié)點(diǎn)回收方法包括:
3、回收利用級聯(lián)失效過程中過載的部分節(jié)點(diǎn),以增加網(wǎng)絡(luò)最大連通組的規(guī)模,抑制級聯(lián)過程的進(jìn)行,提高網(wǎng)絡(luò)的可靠性。
4、在一些實(shí)施例中,所述回收利用級聯(lián)失效過程中過載的部分節(jié)點(diǎn),包括:
5、將上一個時間步由正常狀態(tài)轉(zhuǎn)為過載狀態(tài)的節(jié)點(diǎn)集合中在本時間步中負(fù)載降低到其容量以下的節(jié)點(diǎn)再次回到網(wǎng)絡(luò)正常工作中。
6、在一些實(shí)施例中,節(jié)點(diǎn)的過載狀態(tài),指不能正常工作但處在生命周期內(nèi)的節(jié)點(diǎn)。
7、在一些實(shí)施例中,節(jié)點(diǎn)的生命周期為,節(jié)點(diǎn)不能正常工作后,仍然不會被刪除所持續(xù)的時間,節(jié)點(diǎn)處在其生命周期內(nèi),無法工作但可以被回收而重新恢復(fù)正常。
8、本發(fā)明實(shí)施例提供一種基于上述任一實(shí)施例所述的節(jié)點(diǎn)回收方法的網(wǎng)絡(luò)可靠性提高方法,所述網(wǎng)絡(luò)可靠性提高方法,包括:
9、第一步,初始蓄意攻擊與網(wǎng)絡(luò)初始化;
10、第二步,首輪級聯(lián)失效判定;
11、第三步,節(jié)點(diǎn)回收與級聯(lián)失效處理:循環(huán)迭代至所有節(jié)點(diǎn)均未過載;
12、第四步,輸出最終網(wǎng)絡(luò)。
13、在一些實(shí)施例中,所述第一步,初始蓄意攻擊與網(wǎng)絡(luò)初始化,包括:
14、計(jì)算網(wǎng)絡(luò)中所有節(jié)點(diǎn)的介數(shù),介數(shù)反映節(jié)點(diǎn)負(fù)載,記為負(fù)載列表l;
15、根據(jù)能力因子α計(jì)算每個節(jié)點(diǎn)的容量:容量c=節(jié)點(diǎn)負(fù)載×(1+α);
16、刪除網(wǎng)絡(luò)中介數(shù)最大的節(jié)點(diǎn),得到攻擊后的網(wǎng)絡(luò);
17、提取該網(wǎng)絡(luò)的最大連通分量,記為g_large,作為級聯(lián)失效的初始網(wǎng)絡(luò)。
18、在一些實(shí)施例中,所述第二步,首輪級聯(lián)失效判定,包括:
19、拷貝當(dāng)前最大連通分量對應(yīng)的網(wǎng)絡(luò)g_large,記為h,用于后續(xù)節(jié)點(diǎn)回收操作;
20、提取g_large的所有節(jié)點(diǎn),形成節(jié)點(diǎn)列表nodelist;
21、計(jì)算g_large中每個節(jié)點(diǎn)的介數(shù),記為lt,即當(dāng)前時刻各節(jié)點(diǎn)的負(fù)載;
22、初始化空列表vt,用于記錄當(dāng)前時刻過載需刪除的節(jié)點(diǎn),初始化標(biāo)記變量m=0,m統(tǒng)計(jì)未過載節(jié)點(diǎn)數(shù);
23、遍歷nodelist中的每個節(jié)點(diǎn):
24、若節(jié)點(diǎn)的當(dāng)前負(fù)載lt[i]<其容量c[nodelist[i]],說明節(jié)點(diǎn)未過載,m加1;
25、若節(jié)點(diǎn)的當(dāng)前負(fù)載lt[i]≥其容量c[nodelist[i]],說明節(jié)點(diǎn)過載,將該節(jié)點(diǎn)加入vt;
26、從網(wǎng)絡(luò)g中刪除vt中的所有過載節(jié)點(diǎn),更新網(wǎng)絡(luò)g;
27、若m等于nodelist的長度,即所有節(jié)點(diǎn)均未過載,級聯(lián)失效終止,直接返回當(dāng)前最大連通分量g_large。
28、在一些實(shí)施例中,所述第三步,節(jié)點(diǎn)回收與級聯(lián)失效處理:循環(huán)迭代至所有節(jié)點(diǎn)均未過載,包括:
29、備份上一輪過載節(jié)點(diǎn)列表,將vt拷貝至vt_,vt_為上一時間步失效的過載節(jié)點(diǎn);
30、提取當(dāng)前網(wǎng)絡(luò)g的最大連通分量,更新為新的g_large;
31、拷貝初始備份網(wǎng)絡(luò)h至h1,提取g_large的所有節(jié)點(diǎn)形成新的節(jié)點(diǎn)列表nodelist,計(jì)算g_large中各節(jié)點(diǎn)的介數(shù)lt;
32、重置標(biāo)記變量m=0,清空vt,重新記錄本輪過載節(jié)點(diǎn);
33、遍歷nodelist中的前k個節(jié)點(diǎn):
34、若節(jié)點(diǎn)負(fù)載lt_values[i]<其容量c[nodelist[i]],m加1;
35、若節(jié)點(diǎn)負(fù)載lt_values[i]≥其容量c[nodelist[i]],將該節(jié)點(diǎn)加入vt;
36、從網(wǎng)絡(luò)g中刪除vt中的過載節(jié)點(diǎn),同時從h1中刪除這些節(jié)點(diǎn),更新g和h1;
37、計(jì)算h1中所有節(jié)點(diǎn)的介數(shù),記為bet_h1;
38、備份上一輪過載節(jié)點(diǎn)列表vt_至vt1_,遍歷vt1_中的每個節(jié)點(diǎn):
39、若該節(jié)點(diǎn)在h1中的介數(shù)bet_h1[vt1_[i]]<其容量c[vt1_[i]],說明該節(jié)點(diǎn)恢復(fù)后未過載,從vt1_中移除該節(jié)點(diǎn);
40、若該節(jié)點(diǎn)在h1中的介數(shù)bet_h1[vt1_[i]]≥其容量c[vt1_[i]],說明該節(jié)點(diǎn)恢復(fù)后仍過載,從h1中刪除該節(jié)點(diǎn);
41、將回收/刪除后的h1拷貝至g,更新網(wǎng)絡(luò)g;
42、從初始備份網(wǎng)絡(luò)h中刪除vt1_中未被回收的節(jié)點(diǎn),更新h;
43、判定終止條件:若m等于k,所有節(jié)點(diǎn)未過載,退出循環(huán)。
44、在一些實(shí)施例中,所述第四步,輸出最終網(wǎng)絡(luò),包括:
45、循環(huán)結(jié)束后,提取當(dāng)前網(wǎng)絡(luò)g的最大連通分量g_large,作為級聯(lián)失效結(jié)束后的網(wǎng)絡(luò),返回該結(jié)果。
46、上述實(shí)施例的有益效果包括:
47、與此前經(jīng)典的流量-負(fù)載模型對比,本發(fā)明基于節(jié)點(diǎn)回收策略的網(wǎng)絡(luò)修復(fù)策略,能夠顯著提高網(wǎng)絡(luò)在面對攻擊時的魯棒性,有效抑制動態(tài)級聯(lián)過程的發(fā)生。具體來說,對于節(jié)點(diǎn)魯棒性較弱的網(wǎng)絡(luò),本發(fā)明提升效果尤其顯著,使用本發(fā)明的策略,最大使得網(wǎng)絡(luò)最大連通組的規(guī)模較于不使用策略提升200%,平均提升約在100%。對節(jié)點(diǎn)魯棒性較強(qiáng)的網(wǎng)絡(luò),本發(fā)明也有提升效果,平均可提升20%的網(wǎng)絡(luò)最大連通組規(guī)模。