專利名稱:可容錯數(shù)據(jù)中心網(wǎng)絡的地址自動配置方法
技術領域:
本方法是實現(xiàn)在可容錯數(shù)據(jù)中心中,如果存在硬件原因或者連接錯誤造成實際的物理拓撲與設計藍圖不同時,該方法仍可實現(xiàn)對于此種可容錯數(shù)據(jù)中心的地址自動配置, 本方法屬于計算機網(wǎng)絡領域。
背景技術:
在大規(guī)模的數(shù)據(jù)中心中,存在數(shù)以萬計的服務器和交換機,為了這種大規(guī)模數(shù)據(jù)中心的安全性和高效路由的考慮,位置信息和拓撲信息常常被編碼到數(shù)據(jù)中心的網(wǎng)絡地址中(例如,在分布式的文件系統(tǒng)GFS中,許多的數(shù)據(jù)塊要被復制多份,且存儲在不同的服務器上,為了數(shù)據(jù)操作的方便,數(shù)據(jù)中心需要了解怎樣去從比較近的服務器上獲得數(shù)據(jù),因此數(shù)據(jù)中心會將位置信息編碼到網(wǎng)絡地址中便于操作)。雖然這種編址方式極大的方便了數(shù)據(jù)中心的某些操作,卻為地址配置帶來困難。由于現(xiàn)有數(shù)據(jù)中心的規(guī)模是極其龐大的,而且在地址配置時DHCP協(xié)議又不能進行應用。地址人工配置將是一個很長的過程,且會出現(xiàn)很多的錯誤。所以在配置數(shù)據(jù)中心時需要對這些服務器和交換機做一個地址自動快速的配置。在實際布置數(shù)據(jù)中心時,由于機器網(wǎng)卡問題,或者兩個物理機器之間連線錯誤,或者缺少連線等等原因,使得實際的物理拓撲連接與設計藍圖的定義不同。針對于此,ETAC方法實現(xiàn)對于這種可容錯數(shù)據(jù)中心網(wǎng)絡的地址自動配置。由于ETAC方法中進行錯誤檢測步驟后,對于沒有錯誤節(jié)點的數(shù)據(jù)中心網(wǎng)絡也能進行地址的自動配置,所以ETAC方法同樣適用于連線完全正確的數(shù)據(jù)中心網(wǎng)絡。
發(fā)明內(nèi)容
大規(guī)模數(shù)據(jù)中心中地址的配置問題可被抽象為一個設計藍圖生成的邏輯圖和實際物理拓撲連接生成的物理圖的節(jié)點對應問題。將在布線之前,物理拓撲本應該連接的圖稱為設計藍圖,實際的物理機器的連接圖為物理圖(一般可通過Physical topology Protocol,PCP協(xié)議進行收集)。然而,由于物理機器硬件損壞或者連線錯誤等,一般實際的物理拓撲相對于設計藍圖都會存在差錯。如果實際的物理拓撲沒有錯誤,則ETAC方法可對此種網(wǎng)絡進行地址的快速配置。如果實際的物理拓撲存在連線錯誤,則ETAC方法首先在物理圖中去除有錯誤的節(jié)點生成設備圖,然后對于剩余連接正確的節(jié)點進行地址的快速自動配置,即就是對于邏輯圖和設備圖這兩個圖中的節(jié)點進行一個相應節(jié)點的匹配。因為設備圖是邏輯圖的一個導出子圖,這在數(shù)學上稱為一個導出子圖同構(gòu)問題。ETAC方法進行節(jié)點匹配的過程中,可以應用一些導出子圖所具有的性質(zhì)對搜索匹配過程進行簡化。在設備圖中的節(jié)點都對應到邏輯圖上時,就可以根據(jù)邏輯圖上標注的節(jié)點地址去對設備圖中的相應節(jié)點進行地址配置了。最后再將ETAC方法應用于各種數(shù)據(jù)中心的拓撲結(jié)構(gòu)之上,對于不同的拓撲結(jié)構(gòu)和錯誤節(jié)點及其相連的邊刪除后的圖進行地址的自動快速匹配,實驗結(jié)果顯示 ETAC方法對于可容錯數(shù)據(jù)中心的地址自動快速配置效果良好。
ETAC方法具體包括以下步驟步驟I :邏輯圖生成步驟,根據(jù)所述數(shù)據(jù)中心網(wǎng)絡的設計藍圖生成一個邏輯圖;步驟2 :物理圖生成步驟,根據(jù)實際的物理拓撲生成物理圖;步驟3 :錯誤檢測步驟,將所述物理圖和邏輯圖進行對比,找出物理圖相對于邏輯圖是否存在不能正常進行地址配置的節(jié)點;如果存在,則轉(zhuǎn)到步驟4 ;如果不存在,則將物理圖定義為一個設備圖,轉(zhuǎn)到步驟5 ;步驟4:設備圖生成步驟,將所述不能正常配置的節(jié)點及其相連的邊在物理圖中刪除,對于剩余節(jié)點按鄰接矩陣或者鄰接表存儲,生成設備圖;步驟5 :匹配步驟,將所述設備圖中的節(jié)點與所述邏輯圖中的節(jié)點進行匹配,找到設備圖中的每個節(jié)點對應于邏輯圖中的節(jié)點;步驟6 :配置地址步驟,對于設備圖中的節(jié)點找到對應邏輯圖中的節(jié)點,則可按邏輯圖中標注的地址對設備圖中的節(jié)點進行地址的相應設置。步驟I設計藍圖生成邏輯圖,其中,設計藍圖是在連接實際的server和switch之前定義的物理機器的連接關系,設計藍圖按鄰接矩陣或者鄰接表存儲,記作邏輯圖;邏輯圖節(jié)點標識為sever或swith對應的網(wǎng)絡邏輯地址。步驟2物理拓撲生成物理圖,在實際物理拓撲連接之后,根據(jù)物理拓撲收集協(xié)議, 獲得實際的物理拓撲連接關系,這種連接關系按鄰接矩陣或者鄰接表存儲,記作物理圖;物理圖節(jié)點標識為sever或swith對應的物理地址。所述物理拓撲收集協(xié)議的實現(xiàn),是在實際的物理網(wǎng)絡之上建立一個通信信道去收集物理拓撲的信息,設置一個控制器來建立一棵生成樹,所有節(jié)點的物理拓撲信息將由生成樹的葉子節(jié)點通過通信信道依次按生成樹往上傳遞,直到根節(jié)點。步驟3具體按照如下步驟執(zhí)行步驟3. I :首先在物理圖中選出一部分節(jié)點,然后對這些選定的每一個節(jié)點,計算其和邏輯圖中的所有節(jié)點的SPLD之差的絕對值,將邏輯圖中SPLD之差絕對值最小的點和這個物理圖中的節(jié)點記做一個節(jié)點對,一個節(jié)點的SPLD為這個節(jié)點到圖中所有其他節(jié)點的最短距離;步驟3. 2 :對步驟3. I所述的節(jié)點對,在物理圖和邏輯圖中分別從和這兩個點相距I跳的所有節(jié)點開始,驗證這些所有的節(jié)點是否同構(gòu), 直到和這兩個點相距X跳時,這些點同構(gòu),而相距x+1跳時,這些點不同構(gòu),則對于這些x+1 跳的節(jié)點,對它們的counter值加一;步驟3. 3 :在結(jié)束所有測試節(jié)點的檢測之后,對于那些具有counter值的節(jié)點按counter值降序排列,counter值越大,其出錯的概率越大;對于數(shù)據(jù)中心的管理員,從counter值大的節(jié)點開始檢測是否存在連線錯誤。步驟3所述不能正常進行地址匹配的節(jié)點是由于硬件原因或連接錯誤產(chǎn)生。步驟5具體按照如下步驟執(zhí)行,該步驟遞歸的劃分邏輯圖Gl和設備圖Gd為更小的集合,直到Gd中的每個點都在Gl中找到了相匹配的點,則成功返回;或者在前一步發(fā)現(xiàn)匹配錯誤了,則進行回溯,接著去沿另一個方向嘗試與Gl中的下一個節(jié)點進行匹配;由于邏輯圖Gl中的點一般會多于設備圖Gd中的點(物理圖中沒有錯誤節(jié)點時兩個圖的節(jié)點數(shù)一樣),所以在匹配過程中,用空集對Gd中那些對應不到Gl中的集合予以對應,匹配過程保證Gd中的集合個數(shù)等于Gl中集合的個數(shù);在進行邏輯圖和設備圖匹配時,主要包括分解和驗證兩個過程。所述分解過程為,每次把一個點V由其所在Gd中的集合0分離為0\{v}和{v},其他集合保持不變,相應的,把Gl中與Gd集合0對應的集合0’中的一個點u劃分出來,分為 0’ \{u}和{u},在此過程中,稱每對新出現(xiàn)的單元素集合{v}對應{u}。所述驗證的過程為,每次進行分解出{v},{u}之后,驗證過程對這次分裂進行檢驗,在Gd中把每個集合用與{v}的連接關系劃分為與{v}相連和不相連兩個集合;相應地在Gl中把每個集合用與{u}的連接關系劃分為與{u}相連和不相連兩個集合;對于新出現(xiàn)的每對單元素集合,都去進行是否對應的判斷,直到?jīng)]有新的單元素集合出現(xiàn)則成功返回, 或者發(fā)現(xiàn)匹配出錯返回。所述驗證過程采用三種加速搜索判定定理第一個定理為對于每次新出現(xiàn)的單元素集合Iv} G Gd, {u} G Gl,設f (V) = u,即設備圖中V節(jié)點對應邏輯圖中的u節(jié)點; 對Iv}與Gd中相連的每個單集合元素vs,當且僅當u都與Gl中對應的單集合元素f (vs) 相連,則逐步匹配下去,結(jié)果一定正確;第二個定理為對每次新出現(xiàn)的單元素集合對, M G Gd,{u} G Gl, M的度數(shù)大于{u}的度數(shù);第三個定理為對每次新出現(xiàn)的單元素集合對,Iv} G Gd, {u} G Gl, v把Gd中的每個非空集合0(i)劃分為與v相連的部分Oc (i) 和與V不相連的部分One (i),u把Gl中的與0(i)對應的非空集合0’ (i)劃分為與u相連的部分Oc’(i)和與u不相連的部分One’(i),則應該滿足以下條件IOc (i) I ( IOc' (i) and I Onc⑴I ( One/ (i)|,其中01表示集合0中的元素個數(shù)。本發(fā)明的有益效果是該ETAC方法對于可容錯數(shù)據(jù)中心的地址自動快速配置效果良好。
圖I為ETAC方法的整體步驟框圖。圖2為對于設計藍圖,實際連線的物理圖和設備圖的一個具體的示例。圖3為ETAC方法用于圖2所示示例的一個實現(xiàn)過程。其中包括分解和驗證兩個主要過程和用對應點去進行split操作。圖4為ETAC方法用于四種經(jīng)典的數(shù)據(jù)中心網(wǎng)絡結(jié)構(gòu),在錯誤節(jié)點數(shù)控制在50時, 其算法執(zhí)行時間和數(shù)據(jù)中心規(guī)模之間的變化關系。圖5為四種不同的數(shù)據(jù)中心網(wǎng)絡結(jié)構(gòu)在固定規(guī)模的情況下,錯誤點數(shù)和ETAC方法執(zhí)行時間之間的關系。圖6為對于數(shù)據(jù)中心網(wǎng)絡的Bcube結(jié)構(gòu)和Dcell結(jié)構(gòu),對于server和switch按照一定比例錯誤的情況時,對于固定規(guī)模的BCube結(jié)構(gòu)和Dcell結(jié)構(gòu),ETAC方法的執(zhí)行時間。
具體實施例方式下面結(jié)合附圖對本發(fā)明做具體說明。圖I是ETAC方法對于數(shù)據(jù)中心網(wǎng)絡進行地址配置的整體框圖。它含有步驟I設計藍圖生成邏輯圖;步驟2物理拓撲生成物理圖;步驟3錯誤檢測;步驟4設備圖生成;步驟5設備圖和邏輯圖進行匹配;步驟6配置設備圖地址。步驟I設計藍圖生成邏輯圖。設計藍圖是在連接實際的server和switch之前定義的物理機器的連接關系,設計藍圖可按鄰接矩陣或者鄰接表存儲,記作邏輯圖。
步驟2物理拓撲生成物理圖。在實際物理拓撲連接之后,根據(jù)物理拓撲收集協(xié)議 (Physical topology Collection Protocol, PCP),可以獲得實際的物理拓撲的連接關系, 這種連接關系圖可按鄰接矩陣或者鄰接表存儲,記作物理圖。物理拓撲收集協(xié)議的實現(xiàn)是在實際的物理網(wǎng)絡之上建立一個通信信道去收集物理拓撲的信息,對于所有的物理拓撲信息,有一個ETAC manager去建立一棵生成樹,所有的物理拓撲信息將由生成樹的葉子節(jié)點依次往上傳遞,直到根節(jié)點ETAC manager。步驟3錯誤檢測,其按照如下步驟執(zhí)行步驟3. I :當數(shù)據(jù)中心的實際物理拓撲存在連線錯誤時,ETAC方法可以首先根據(jù)在邏輯圖和物理圖中一些節(jié)點的最短路徑長度分布(shortest path length distribution, SPLD),選出這兩個圖中一部分具有相同SPLD的節(jié)點作為測試節(jié)點集合,一個節(jié)點的SPLD為這個節(jié)點到圖中所有其他節(jié)點的距離;步驟32 :在邏輯圖和物理圖中比較對于每一對對應的測試節(jié)點,計算當和它們相距X跳數(shù)時,此時這兩個圖最大相同子圖同構(gòu),然而當和它們相距x+1跳數(shù)時,這兩個圖最大相同子圖不同構(gòu),則對于這些X+1跳的節(jié)點,對它們的counter值加一;步驟3. 3 :在結(jié)束所有測試節(jié)點的檢測之后,對于那些具有counter值的節(jié)點進行按counter值降序排列,counter值越大,其出錯概率越大;對于數(shù)據(jù)中心的管理員,從 counter值大的節(jié)點開始檢測是否存在連線錯誤即可。步驟4設備圖生成是在進行步驟3錯誤檢測后,確定在實際的物理連接圖中,由于硬件原因,或者連接錯誤等,不能正常進行地址配置的節(jié)點,將其在物理圖中刪除,對于剩余節(jié)點按鄰接矩陣或者鄰接表存儲,記作設備圖。步驟5設備圖和邏輯圖匹配步驟是對于設備圖和邏輯圖進行對應節(jié)點的匹配過程,該步驟遞歸的劃分邏輯圖Gl和設備圖Gd為更小的集合,直到Gd中的每個點都在Gl中找到了相匹配的點,則成功返回;或者在前一步發(fā)現(xiàn)匹配錯誤了,則進行回溯,接著去沿另一個方向嘗試與Gl中的下一個節(jié)點進行匹配;由于邏輯圖Gl中的點一般會多于設備圖Gd 中的點(物理圖中沒有錯誤節(jié)點時兩個圖的節(jié)點數(shù)一樣),所以在匹配過程中,用空集對Gd 中那些對應不到Gl中的集合予以對應,匹配過程保證Gd中的集合個數(shù)等于Gl中的集合個數(shù);在進行邏輯圖和設備圖匹配時,主要包括decomposition和refinement兩個過程。設備圖和邏輯圖進行匹配步驟的偽代碼如下
權利要求
1.一種可容錯數(shù)據(jù)中心網(wǎng)絡的地址自動配置方法,該方法為數(shù)據(jù)中心的每臺sever和 swith設置正確的網(wǎng)絡邏輯地址,其特征在于,它包括以下步驟步驟I :邏輯圖生成步驟,根據(jù)所述數(shù)據(jù)中心網(wǎng)絡的設計藍圖生成一個邏輯圖;步驟2 :物理圖生成步驟,根據(jù)實際的物理拓撲生成物理圖;步驟3 :錯誤檢測步驟,將所述物理圖和邏輯圖進行對比,找出物理圖相對于邏輯圖是否存在不能正常進行地址配置的節(jié)點;如果存在,則轉(zhuǎn)到步驟4 ;如果不存在,則將物理圖定義為一個設備圖,轉(zhuǎn)到步驟5 ;步驟4:設備圖生成步驟,將所述不能正常配置的節(jié)點及其相連的邊在物理圖中刪除, 對于剩余節(jié)點按鄰接矩陣或者鄰接表存儲,生成設備圖;步驟5:匹配步驟,將所述設備圖中的節(jié)點與所述邏輯圖中的節(jié)點進行匹配,找到設備圖中的每個節(jié)點對應于邏輯圖中的節(jié)點;步驟6 :配置地址步驟,對于設備圖中的節(jié)點找到對應邏輯圖中的節(jié)點,則可按邏輯圖中標注的地址對設備圖中的節(jié)點進行地址的相應設置。
2.根據(jù)權利要求I所述的方法,其特征在于步驟I設計藍圖生成邏輯圖,其中,設計藍圖是在連接實際的server和switch之前定義的物理機器的連接關系,設計藍圖按鄰接矩陣或者鄰接表存儲,記作邏輯圖;邏輯圖節(jié)點標識為sever或swith對應的網(wǎng)絡邏輯地址。
3.根據(jù)權利要求I所述的方法,其特征在于步驟2物理拓撲生成物理圖,在實際物理拓撲連接之后,根據(jù)物理拓撲收集協(xié)議,獲得實際的物理拓撲連接關系,這種連接關系按鄰接矩陣或者鄰接表存儲,記作物理圖;物理圖節(jié)點標識為sever或swith對應的物理地址。
4.根據(jù)權利要求3所述的方法,其特征在于所述物理拓撲收集協(xié)議的實現(xiàn),是在實際的物理網(wǎng)絡之上建立一個通信信道去收集物理拓撲的信息,設置一個控制器來建立一棵生成樹,所有節(jié)點的物理拓撲信息將由生成樹的葉子節(jié)點通過通信信道依次按生成樹往上傳遞,直到根節(jié)點。
5.根據(jù)權利要求I所述的方法,其特征在于步驟3具體按照如下步驟執(zhí)行步驟3. I :首先在物理圖中選出一部分節(jié)點,然后對這些選定的每一個節(jié)點,計算其和邏輯圖中的所有節(jié)點的SPLD之差的絕對值,將邏輯圖中SPLD之差絕對值最小的點和這個物理圖中的節(jié)點記做一個節(jié)點對,一個節(jié)點的SPLD為這個節(jié)點到圖中所有其他節(jié)點的最短距離;步驟32 :對步驟3. I所述的節(jié)點對,在物理圖和邏輯圖中分別從和這兩個點相距I跳的所有節(jié)點開始,驗證這些所有的節(jié)點是否同構(gòu),直到和這兩個點相距X跳時,這些點同構(gòu),而相距x+1跳時,這些點不同構(gòu),則對于這些x+1跳的節(jié)點,對它們的counter值加一;步驟3.3 :在結(jié)束所有測試節(jié)點的檢測之后,對于那些具有counter值的節(jié)點按 counter值降序排列,counter值越大,其出錯的概率越大;對于數(shù)據(jù)中心的管理員,從 counter值大的節(jié)點開始檢測是否存在連線錯誤。
6.根據(jù)權利要求I所述的方法,其特征在于步驟3所述不能正常進行地址匹配的節(jié)點是由于硬件原因或連接錯誤產(chǎn)生。
7.根據(jù)權利要求I所述的方法,其特征在于步驟5具體按照如下步驟執(zhí)行,該步驟遞歸的劃分邏輯圖Gl和設備圖Gd為更小的集合,直到Gd中的每個點都在Gl中找到了相匹配的點,則成功返回;或者在前一步發(fā)現(xiàn)匹配錯誤了,則進行回溯,接著去沿另一個方向嘗試與Gl中的下一個節(jié)點進行匹配;由于邏輯圖Gl中的點一般會多于設備圖Gd中的點(物理圖中沒有錯誤節(jié)點時兩個圖的節(jié)點數(shù)一樣),所以在匹配過程中,用空集對Gd中那些對應不到Gl中的集合予以對應,匹配過程保證Gd中的集合個數(shù)等于Gl中集合的個數(shù);在進行邏輯圖和設備圖匹配時,主要包括分解和驗證兩個過程。
8.根據(jù)權利要求7所述的方法,其特征在于所述分解過程為,每次把一個點V由其所在Gd中的集合0分離為0\ M和{v},其他集合保持不變,相應的,把Gl中與Gd集合0對應的集合0’中的一個點u劃分出來,分為0’ \{u}和{u},在此過程中,稱每對新出現(xiàn)的單元素集合M對應{u}。
9.根據(jù)權利要求7所述的方法,其特征在于所述驗證的過程為,每次進行分解出{v}, {u}之后,驗證過程對這次分裂進行檢驗,在Gd中把每個集合用與{v}的連接關系劃分為與 M相連和不相連兩個集合;相應地在Gl中把每個集合用與{u}的連接關系劃分為與{u} 相連和不相連兩個集合;對于新出現(xiàn)的每對單元素集合,都去進行是否對應的判斷,直到?jīng)]有新的單元素集合出現(xiàn)則成功返回,或者發(fā)現(xiàn)匹配出錯返回。
10.根據(jù)權利要求9所述的方法,其特征在于所述驗證過程采用三種加速搜索判定定理第一個定理為對于每次新出現(xiàn)的單元素集合Iv} G Gd,{u} G G1,設f(v) = u,即設備圖中V節(jié)點對應邏輯圖中的u節(jié)點;對{v}與Gd中相連的每個單集合元素VS,當且僅當 u都與Gl中對應的單集合元素f (vs)相連,則逐步匹配下去,結(jié)果一定正確;第二個定理為對每次新出現(xiàn)的單元素集合對,Iv} G Gd,{u} G Gl, {v}的度數(shù)大于 {u}的度數(shù);第三個定理為對每次新出現(xiàn)的單元素集合對,Iv} G Gd,{u} G Gl,v把Gd中的每個非空集合0(i)劃分為與V相連的部分Oc (i)和與V不相連的部分One (i), u把Gl中的與 0(i)對應的非空集合0’(i)劃分為與u相連的部分0c’(i)和與u不相連的部分One’(i), 則應該滿足以下條件I Oc (i) ( Oc' (i) I and I One (i) I ( One' (i)|,其中|0|表示集合0中的元素個數(shù)。
全文摘要
本方法屬于計算機網(wǎng)絡中數(shù)據(jù)中心技術領域,它含有步驟1設計藍圖生成邏輯圖,步驟2物理拓撲生成物理圖,步驟3錯誤檢測,步驟4設備圖生成,步驟5邏輯圖和設備圖進行匹配,步驟6配置設備圖地址。其中,邏輯圖和設備圖進行匹配步驟主要包括分解和驗證兩個過程。在進行驗證過程中,ETAC方法又設計了三種保證正確性的加速搜索判斷策略,該方法實現(xiàn)了對于可容錯數(shù)據(jù)中心網(wǎng)絡的地址自動快速配置。
文檔編號H04L29/12GK102546852SQ201110415570
公開日2012年7月4日 申請日期2011年12月13日 優(yōu)先權日2011年12月13日
發(fā)明者張宏濤, 張徹, 胡成臣 申請人:西安交通大學