基于交叉立方體網(wǎng)絡構(gòu)建數(shù)據(jù)中心網(wǎng)絡容錯的方法
【專利摘要】一種基于交叉立方體網(wǎng)絡構(gòu)建數(shù)據(jù)中心網(wǎng)絡容錯的方法,屬于圖像處理技術(shù)領域。本發(fā)明包括如下步驟:基于超像素分割的背景建模,前景檢測,背景更新。本發(fā)明提出了一種在ViBe算法框架下結(jié)合SLIC超像素的背景建模前景檢測算法。有效的利用了ViBe算法優(yōu)勢的同時,通過與SLIC超像素結(jié)合來擴展像素的鄰域范圍,更充分的利用了背景像素的空間相關性從而能更好的應對風吹草動、相機抖動等現(xiàn)象。將ViBe算法對背景庫隨機替換的背景更新方式改為對高斯分布的更新方式,避免了隨機替換策略對算法帶來的不穩(wěn)定性。在實驗部分使用I2R數(shù)據(jù)集中的三組幀序列進行背景建模前景檢測實驗,并使用GMM算法、ViBe算法與我們的算法進行對比。
【專利說明】
基于交叉立方體網(wǎng)絡構(gòu)建數(shù)據(jù)中心網(wǎng)絡容錯的方法
技術(shù)領域
[0001] 本發(fā)明設及基于交叉立方體網(wǎng)絡構(gòu)建數(shù)據(jù)中屯、網(wǎng)絡容錯的方法,屬于計算機與數(shù) 學交叉技術(shù)領域。
【背景技術(shù)】
[0002] 近年來,隨著云計算和數(shù)據(jù)密集型計算機技術(shù)的飛速發(fā)展,數(shù)據(jù)中屯、網(wǎng)絡作為底 層基礎設施發(fā)揮著越來越重要的作用,成為云計算領域的研究熱點。數(shù)據(jù)中屯、網(wǎng)絡向上層 的分布式文件系統(tǒng)、結(jié)構(gòu)化數(shù)據(jù)和虛擬化技術(shù)等提供可靠、高效的數(shù)據(jù)通信、計算和存儲服 務。一個大型系統(tǒng)在日常運行中,難免會出現(xiàn)各種錯誤,因此對于好的網(wǎng)絡,不僅要在一切 正常的情況下能保證系統(tǒng)的正常運行,而且要在網(wǎng)絡出現(xiàn)一定錯誤后,仍能保證系統(tǒng)剩余 部分能正常運行。因此在衡量一個網(wǎng)絡時,還要考慮網(wǎng)絡拓撲結(jié)構(gòu)的容錯性。例如容錯泛圈 性、容錯泛連通性等。在數(shù)據(jù)中屯、網(wǎng)絡中,由于組成設備多、鏈路連接復雜、網(wǎng)絡規(guī)模較大, 因此單設備或單條鏈路故障發(fā)生的頻次比普通的網(wǎng)絡要多,是否具有較好的容錯性是評價 數(shù)據(jù)中屯、很重要的標準。
[0003] 根據(jù)目前的研究發(fā)展現(xiàn)狀來看,適用于數(shù)據(jù)中屯、網(wǎng)絡的網(wǎng)絡結(jié)構(gòu)大體分為Ξ種類 型:W交換機為中屯、的網(wǎng)絡,W服務器為中屯、的網(wǎng)絡和不規(guī)則的網(wǎng)絡。隨著數(shù)據(jù)中屯、的不斷 發(fā)展,傳統(tǒng)的數(shù)據(jù)中屯、網(wǎng)絡,即樹形結(jié)構(gòu)、Fat-tree網(wǎng)絡結(jié)構(gòu)等,逐漸暴露出越來越多的缺 陷和不足。如樹形結(jié)構(gòu)一般包含兩至Ξ層的網(wǎng)絡設備,分別為核屯、層,聚合層和邊緣層。其 中服務器與底層的邊緣層交換機連接,邊緣層交換機與聚合層路由器連接,聚合層路由器 再與核屯、層路由設備連接。如果聚合層網(wǎng)絡設備出現(xiàn)故障,將會導致失效設備的下層結(jié)點 與其他結(jié)點失去連接,因此運種結(jié)構(gòu)存在明顯的單點失效問題,網(wǎng)絡容錯性較差。化t-tree 網(wǎng)絡結(jié)構(gòu)在聚合層引入大量的冗余交換機,因此經(jīng)濟性問題并沒有得到很好地解決。
【發(fā)明內(nèi)容】
[0004] 為了克服上述的不足,滿足數(shù)據(jù)中屯、新的設計要求,提高數(shù)據(jù)中屯、網(wǎng)絡的可擴展 性、可靠性等拓撲性能,本發(fā)明提供了一種數(shù)據(jù)中屯、網(wǎng)絡結(jié)構(gòu)容錯的方法。采用交叉立方體 網(wǎng)絡(CQn),即Wn構(gòu)建高效、容錯、可擴展的數(shù)據(jù)中屯、網(wǎng)絡。它是遞歸結(jié)構(gòu)形式,而且具有在 節(jié)點規(guī)模、路徑長度和容錯性上的良好性質(zhì)。
[0005] 本發(fā)明的技術(shù)方案是:
[0006] -種基于交叉立方體網(wǎng)絡構(gòu)建數(shù)據(jù)中屯、網(wǎng)絡容錯的方法,步驟如下:
[0007] (1)當交叉立方體網(wǎng)絡(U中錯誤的邊(IFe I)和錯誤的點(IFvI)的個數(shù)之和IFvI + Fe I 時,對于交叉立方體網(wǎng)絡的維數(shù)η ^,Wn中的任意一個正確邊e都存在長為6。< 2。-1 Fv I,1辛7的圈包含邊e。由此判斷交叉立方體網(wǎng)絡(?中是否存在長Len為(h如en。2) 的圈,包括W下Ξ個部分:
[000引(a)(U的構(gòu)造:根據(jù)CQn的定義規(guī)則,生成CQn的關聯(lián)矩陣代碼,得到(U每個頂點的 鄰接點,將頂點間的鄰接關系保存在關聯(lián)矩陣(Incidencejnatrix)中;
[0009] (b)生成錯誤集,在關聯(lián)矩陣中剔除錯誤集;首先對CQn中所有邊和點進行標號,然 后生成所有可能的錯誤子集;如6條邊中錯2條邊的所有可能錯誤子集是{1,2} {1,3} {1,4} (1,引{1,6} {2,3}{2,4},{2,5}{2,6}{3,4}{3,引{3,6}{4,引{4,6}{5,6}。
[0010] (C)對于剩余子矩陣進行深度優(yōu)先遍歷,尋找所需要的路徑即判斷矩陣中是否存 在指定長度的圈并記錄一個符合條件的圈。剩余子矩陣為CQn去除錯誤子集后的部分。
[00川判斷交叉立方體網(wǎng)絡CQn中是否存在指定長Lendl ^en^2)的圈的原則:
[0012] (1)令邊e的一個端點為路徑起點(Vbegin)及另一個端點為路徑終點(Vend)。將 Vbegin和Vend放入捜索路徑(path)中去,標記路徑起點Vbegin已經(jīng)訪問,路徑終點Vend即 path[0]位置先不標記訪問。
[0013] (2)將路徑起點Vbegin作為當前訪問節(jié)點QirrenLVertex,即Cu;rrent_Ve;rtex = Vbegin,開始進行深度優(yōu)先遍歷。同時標記當前點為已經(jīng)訪問節(jié)點,保證回溯時能回到正確 的位置。
[0014] (3)尋找當前訪問節(jié)點CurrenLVertex的(下一個)沒訪問的鄰接點Vedex,將節(jié) 點Vedex加入到捜索路徑path中去,路徑長度化thLen加1;
[001引如果當前訪問節(jié)點Cu;rrent_Vedex的所有鄰接點Vedex都被訪問過且化地Len< Len-1,則做如下回溯操作:
[0016] vis i ted[ QirrenLVertex] = false;//標記當前節(jié)點沒有訪問過;
[0017] 化thLen-; //當前路徑長度減1;
[001引 Current_Ve;rtex = path[PatliLen-l];//將路徑中的上一個節(jié)點作為當前節(jié)點; [0019] Sta;rt[Current_Ve;rtex]++;//當前節(jié)點從下一個節(jié)點開始訪問;
[0020] 回溯結(jié)束后W新的當前訪問節(jié)點化rrent_Ve;rtex開始新的訪問。
[0021] 若直到路徑起點Vbegin所有的鄰接點都訪問過,還未找到化thLen = Len-l,則表 示沒有相應的圈。
[0022] (4)將當前訪問節(jié)點Current_Ve;rtex的鄰接點Ve;rtex作為當前訪問節(jié)點Current Vertex,即化1'的111:_¥6的〇義=¥6的〇義,并標記為已訪問節(jié)點,重復步驟(3);
[0023] 當路徑長度化thLen = Len-l時,判斷當前訪問節(jié)點Cu;rrent_Vedex的鄰接節(jié)點 V&rtex中是否有路徑終點Vend。
[0024] 如果當前訪問節(jié)點Current_Ve;rtex的鄰接節(jié)點Vedex中沒有路徑終點Vend,則 將當前節(jié)點CurrenLVertex標記為未訪問節(jié)點,并將路徑中上一個節(jié)點標記為當前節(jié)點 QirrenLVertex,路徑長度化thLen減1,回溯到步驟(3);
[0025] 如果當前訪問節(jié)點Current_Ve;rtex的鄰接節(jié)點Ve;rtex中有路徑終點Vend,則該圈 就是要找的圈。
[0026] 當交叉立方體網(wǎng)絡CQn中階數(shù)不是很多時,可W通過算法得出歸納法起點。
[0027] 當交叉立方體網(wǎng)絡Wn中階數(shù)很大時,利用歸納法得出結(jié)論,主要思路是分情形討 論。
[0028] 本發(fā)明研究了交叉立方體網(wǎng)絡CQn的容錯性,即當一個大型網(wǎng)絡(可建模為交叉立 方體網(wǎng)絡CQn)在運行時出現(xiàn)各種問題時,它的容錯能力是n-2。即當網(wǎng)絡中出現(xiàn)n-2個錯誤 時,仍能保證系統(tǒng)的剩余部分能夠正常運行。提高了系統(tǒng)的容錯能力。
【具體實施方式】
[0029] W下結(jié)合技術(shù)方案,進一步說明本發(fā)明的【具體實施方式】。
[0030] (I)C化關聯(lián)矩陣的構(gòu)造如下所示的C祐關聯(lián)矩陣。
[0031]
[0032] (Π )生成錯誤集。此時,錯誤的點是1,2,3,在關聯(lián)矩陣中剔除錯誤集后,C化的關 聯(lián)矩陣如下所示的剔除錯誤集后的C祐的關聯(lián)矩陣:
[0033]
[0034] (虹)對于剩余子圖進行深度優(yōu)先遍歷(按照剔除錯誤集后的CQs的關聯(lián)矩陣),對 邊4-10尋找長為6的圈。
[0035] (1)令Vbegin為點4和Vend為點10。將Vbegin和Vend放入捜索路徑(path)中去,路 徑終點Vend和路徑起點Vbegin都先不標記訪問。
[0036] (2)將路徑起點4作為當前訪問節(jié)點CurrenLVertex,開始進行深度優(yōu)先遍歷。同 時標記當前點4為已經(jīng)訪問節(jié)點,保證回溯時能回到正確的位置。
[0037] (3)尋找當前訪問節(jié)點CurrenLVertex(點4)的沒訪問的鄰接點Ve;rtex(點6),此 時path中的路徑長度pathLen為1。
[0038] (4)將Ve;rtex(點6)放入路徑path中,并標記Ve;rtex已訪問,然后將Ve;rtex標記為 當前訪問節(jié)點化rrent_Ve;rtex,回到(3)繼續(xù)訪問。
[0039] (3)尋找當前訪問節(jié)點CurrenLVertex(點6)的沒訪問的鄰接點Ve;rtex(點5),將 Vert ex (點5)放入路徑path中,此時path中的路徑長度pathLen為2。
[0040] (4)將Vedex標記為當前訪問節(jié)點Cu;rrent_Vedex,并標記為已訪問節(jié)點,回到 (3)繼續(xù)訪問。
[0041 ] (3)尋找當前訪問節(jié)點CurrenLVertex(點5)的沒訪問的鄰接點Ve;rtex(點7),將 Vert ex (點7)放入路徑path中,此時path中的路徑長度pathLen為3。
[0042] (4)將Vedex標記為當前訪問節(jié)點Cu;rrent_Vedex,并標記為已訪問節(jié)點,回到 (3)繼續(xù)訪問。
[0043] (3)尋找當前訪問節(jié)點CurrenLVertex(點7)的沒訪問的鄰接點Ve;rtex(點8),將 Vert ex (點8)放入路徑path中,此時path中的路徑長度pathLen為4。
[0044] (4)將Vedex標記為當前訪問節(jié)點Cu;rrent_Vedex,并標記為已訪問節(jié)點,回到 (3)繼續(xù)訪問。
[0045] (3)尋找當前訪問節(jié)點化rrent_Ve;rtex(點8)的沒訪問的鄰接點Vedex(點14),將 Vert ex (點14)放入路徑path中,此時path中的路徑長度pathLen為5。
[00響 (4)此時長度為L e η -1,但點10不是點14的鄰接點,標記點8為當前訪問節(jié)點 Qirrent_Ve;rtex,此時path中的路徑長度pathLen為4,回溯到步驟(3)。
[0047] (3)尋找當前訪問節(jié)點Curr ent_Ve;r t ex (點8)的下一個沒訪問的鄰接點Vedex (點 30),將Ve;rtex(點30)放入路徑path中,此時path中的路徑長度pathLen為5。
[004引(4)此時pathLen長度為Len-1,但點10不是點30的鄰接點,標記點8為當前訪問節(jié) 點Current_Ve;rtex,此時path中的路徑長度pathLen為4,回溯到步驟(3)。
[0049] (3)當前訪問節(jié)點Curr en t_Ve;r t ex (點8)的所有鄰接點都被訪問過,將節(jié)點8標記 為沒訪問過節(jié)點,并標記點7為當前訪問節(jié)點Cu;rrent_Vedex,此時path中的路徑長度 patliLen為3;尋找當前訪問節(jié)點Current_Ve;rtex(點7)的沒訪問的鄰接點Ve;rtex (點15),將 Vert ex (點15)放入路徑path中,此時path中的路徑長度pathLen為4。
[(K)加](4)將Vedex標記為當前訪問節(jié)點Cu;rrent_Vedex,并標記為已訪問節(jié)點,回到 (3)繼續(xù)訪問。
[0051 ] (3)尋找當前訪問節(jié)點CurrenLVertex(點15)的沒訪問的鄰接點Ve;rtex(點11), 將Vedex (點11)放入路徑path中,此時path中的路徑長度pathLen為5。
[0052] (4)此時長度為Len-1,但點10不是點11的鄰接點,標記點15為當前訪問節(jié)點 Qirrent_Ve;rtex,此時path中的路徑長度pathLen為4,回溯到步驟(3)。
[0053] (3)尋找當前訪問節(jié)點CurrenLVer (點15)的下一個沒訪問的鄰接點Ve;rtex (點 13),將Vedex(點13)放入路徑path中,此時path中的路徑長度為5。
[0054] (4)此時patliLen長度為Len-1,但點10不是點13的鄰接點,標記點15為當前訪問節(jié) 點Current_Ve;rtex,此時path中的路徑長度pathLen為4,回溯到步驟(3)。
[0055] (3)尋找當前訪問節(jié)點Cu;rrent_Ve;rtex(點15)的下一個沒訪問的鄰接點Ve;rtex (點16),將Vei·tex(點16)放入路徑path中,此時path中的路徑長度pathLen為5。
[0056] (4)此時長度為Len-1,但點10是點16的鄰接點,則包含邊4-10長度為6的圈已找 到。
[0化7 ] 最后得到剩余子矩陣中,包含邊4-10長為6的圈有4,6,5,7,15,16,10。按照W上步 驟,可W得出CQs中的任意一個正確邊e,都存在長為6的圈包含運個正確邊。即當交叉立方 體網(wǎng)絡CQs中錯誤的邊(I Fe I )和錯誤的點(I Fv I )的個數(shù)之和即I Fv I + I Fe I如-2 = 3時,C化中 的任意一個正確邊e,都存在長為1(1 = 6)的圈包含邊e。接下來,用數(shù)學歸納法可W得出當 交叉立方體網(wǎng)絡CQn中錯誤的邊(I Fe I )和錯誤的點(I Fv I )的個數(shù)之和即I Fv I + I Fe I ^-2時, 對于η含3(n為交叉立方體網(wǎng)絡Wn的維數(shù)),Wn中的任意一個正確邊e,都存在長為6 < 1 < 2n-|Fv|,1辛7的圈包含邊e。
【主權(quán)項】
1. 一種基于交叉立方體網(wǎng)絡構(gòu)建數(shù)據(jù)中心網(wǎng)絡的容錯的方法,其特征在于以下步驟: (1 )當交叉立方體網(wǎng)絡CQn中錯誤的邊(I Fe I )和錯誤的點(I Fv I )的個數(shù)之和I Fv I + I Fe I < n-2時,對于交叉立方體網(wǎng)絡的維數(shù)η 2 5,CQn中的任意一個正確邊e都存在長為6 < 1 < 2n-Fv|,1關7的圈包含邊e;由此判斷交叉立方體網(wǎng)絡CQn中是否存在長Len為(ldL en<l2)的 圈,包括以下三個部分: (a) CQn的構(gòu)造:根據(jù)CQn的定義規(guī)則,生成CQW關聯(lián)矩陣代碼,得到個頂點的鄰接 點,將頂點間的鄰接關系保存在關聯(lián)矩陣(Incidence_matrix)中; (b) 生成錯誤集,在關聯(lián)矩陣中剔除錯誤集;首先對CQn*所有邊和點進行標號,然后生 成所有可能的錯誤子集; (c) 對于剩余子矩陣進行深度優(yōu)先遍歷,尋找所需要的路徑即判斷矩陣中是否存在指 定長度的圈并記錄一個符合條件的圈;剩余子矩陣為CQ n去除錯誤子集后的部分; 判斷交叉立方體網(wǎng)絡CQn中是否存在指定長Lend: < Len < 12)的圈的原則: 1) 令邊e的一個端點為路徑起點(Vbegiη)及另一個端點為路徑終點(Vend);將Vbegiη 和Vend放入搜索路徑(path)中去,標記路徑起點Vbegin已經(jīng)訪問,路徑終點Vend即path[0] 位置先不標記訪問; 2) 將路徑起點Vbegin作為當前訪問節(jié)點Current_Vertex,即Current_Vertex = Vbegin,開始進行深度優(yōu)先遍歷;同時標記當前點為已經(jīng)訪問節(jié)點,保證回溯時能回到正確 的位置; 3) 尋找當前訪問節(jié)點Current_Vertex的(下一個)沒訪問的鄰接點Vertex,將節(jié)點 Vertex加入到搜索路徑path中去,路徑長度PathLen加1; 如果當前訪問節(jié)點Current_Vertex的所有鄰接點Vertex都被訪問過且PathLen〈Len_ 1,則做如下回溯操作: visited[Current_Vertex] = false;//標記當前節(jié)點沒有訪問過; PathLen-;//當前路徑長度減1; Current_Vert ex = path [ PathLen-1 ];//將路徑中的上一個節(jié)點作為當前節(jié)點; Star t [ Current_Vertex]++;//當前節(jié)點從下一個節(jié)點開始訪問; 回溯結(jié)束后以新的當前訪問節(jié)點Current_Vertex開始新的訪問; 若直到路徑起點Vbegin所有的鄰接點都訪問過,還未找到PathLen = Len_l,則表示沒 有相應的圈; 4) 將當前訪問節(jié)點Current_Vertex的鄰接點\^1^61作為當前訪問節(jié)點(:111^6111:_ Vertex,即Current_Vertex = vertex,并標記為已訪問節(jié)點,重復步驟(3); 當路徑長度PathLen = Len_l時,判斷當前訪問節(jié)點Current_Vertex的鄰接節(jié)點Vertex 中是否有路徑終點Vend; 如果當前訪問節(jié)點Current_Vertex的鄰接節(jié)點Vertex中沒有路徑終點Vend,則將當前 節(jié)點Current_Vertex標記為未訪問節(jié)點,并將路徑中上一個節(jié)點標記為當前節(jié)點Current_ Vertex,路徑長度PathLen減1,回溯到步驟(3); 如果當前訪問節(jié)點Current_Vertex的鄰接節(jié)點Vertex中有路徑終點Vend,則該圈就是 要找的圈。
【文檔編號】H04L12/751GK105871714SQ201610159263
【公開日】2016年8月17日
【申請日】2016年3月18日
【發(fā)明人】蘇杭, 徐喜榮, 王凡
【申請人】大連理工大學