專利名稱:一種路由更新方法、裝置及相關(guān)設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及存儲網(wǎng)絡(luò)技術(shù)領(lǐng)域,尤其涉及一種路由更新方法、裝置及相關(guān)設(shè)備。
背景技術(shù):
SAS(Serial Attached Small Computer System Interface,串行小型計算機系統(tǒng)接口)網(wǎng)絡(luò)主要用于建立一個存儲網(wǎng)絡(luò),SAS網(wǎng)絡(luò)中的終端節(jié)點一般是安裝了 SAS適配器的主機設(shè)備和SAS終端設(shè)備,為了便于描述,將安裝了 SAS適配器的主機設(shè)備稱為SAS 適配器,SAS終端設(shè)備包括SAS硬盤和SATA硬盤。如圖1所示,為存儲網(wǎng)絡(luò)的一種結(jié)構(gòu)示意圖,SAS適配器與SAS硬盤通常不是直接連接在一起,而是通過擴展器(Expander)連接。當(dāng)SAS適配器與SAS終端設(shè)備通過Expander連接在一起的情況下,當(dāng)硬盤插入或拔出時,最先感知該事件變化的是與之相連的Expander (插入時,SAS終端設(shè)備通過主動發(fā)送SAS標(biāo)準定義的ID Address幀向與其直連的Expander通告自己的SAS地址,從而使得 Expander獲得對應(yīng)SAS設(shè)備的ID ;拔出時Expander通過電氣信號可以獲得SAS設(shè)備移除的事件),當(dāng)Expander感知到該變化事件后將向所有的、與之相連的Expander上發(fā)送廣播報文(Broadcast原語),通告與該Expander相連的設(shè)備(可能是終端設(shè)備,也可能是 Expander),而下一級Expander收到該廣播事件后同樣在其所有端口(除了接收到該廣播的端口)上廣播該事件,推而廣之,最終所有的終端設(shè)備都將接收到網(wǎng)絡(luò)設(shè)備發(fā)生改變的事件。繼而對于關(guān)心該事件的SAS適配器將發(fā)起對整個網(wǎng)絡(luò)的遍歷,最終獲得最新的網(wǎng)絡(luò)拓撲狀態(tài),這樣,SAS適配器根據(jù)獲得的網(wǎng)絡(luò)拓撲狀態(tài),將接收到的數(shù)據(jù)轉(zhuǎn)發(fā)給相應(yīng)的SAS 硬盤或者SATA硬盤。上述過程稱為設(shè)備發(fā)現(xiàn),由上述描述可知,通過設(shè)備發(fā)現(xiàn)使得整個SAS網(wǎng)絡(luò)中的設(shè)備看到的拓撲信息是一致的;另外,通過設(shè)備發(fā)現(xiàn),使得Expander能夠?qū)⒆陨戆l(fā)現(xiàn)的直連路由通告給與之互聯(lián)的Expander (進而到整個SAS網(wǎng)絡(luò)),使得所有的Expander能夠建立正確的路由,并將數(shù)據(jù)轉(zhuǎn)發(fā)到正確的目的。但是,按照現(xiàn)有的協(xié)議,由于Expander通告給其它設(shè)備(可能是Expander,也可能是終端設(shè)備)的Broadcast原語,無需接收方設(shè)備發(fā)送應(yīng)答確認,因此,在某些條件下(例如誤碼等),Broadcast原語在傳輸過程丟失,導(dǎo)致相關(guān)的Expander無法建立正確的路由, 使得整個SAS網(wǎng)絡(luò)中的設(shè)備看到的拓撲信息不一致,最終影響了 SAS網(wǎng)絡(luò)的可靠性。
發(fā)明內(nèi)容
本發(fā)明實施例提供一種路由更新方法、裝置及相關(guān)設(shè)備,用以在SAS網(wǎng)絡(luò)中,防止 Broadcast原語在傳輸過程中丟失,保證整個SAS網(wǎng)絡(luò)拓撲信息一致,提高SAS網(wǎng)絡(luò)的可靠性。本發(fā)明實施例提供一種路由更新方法,包括第一串行小型計算機系統(tǒng)接口 SAS設(shè)備針對自身的每一個端口執(zhí)行按照預(yù)設(shè)的周期查詢與該端口連接的第二 SAS設(shè)備的路由信息;
并在確定出當(dāng)前周期查詢到的路由信息中包括至少一個路由表項未存在于上一周期查詢到的路由信息中時,確定該端口路由信息不匹配;當(dāng)?shù)谝?SAS設(shè)備確定出自身存在至少一個端口路由信息不匹配時,根據(jù)自身的設(shè)備類型,進行路由信息的更新。本發(fā)明實施例提供一種路由更新裝置,包括查詢單元,用于針對本裝置的每一個端口,按照預(yù)設(shè)的周期查詢與該端口連接的串行小型計算機系統(tǒng)接口 SAS設(shè)備的路由信息;第一確定單元,用于在確定當(dāng)前周期查詢到的路由信息中包括的至少一個路由表項未存在于上一周期查詢到的路由信息中時,確定該端口路由信息不匹配;更新單元,用于當(dāng)確定出本裝置存在至少一個端口路由信息不匹配時,根據(jù)本裝置的設(shè)備類型,進行路由信息的更新。本發(fā)明實施例提供一種小型計算機系統(tǒng)接口設(shè)備,包括上述路由更新裝置。本發(fā)明實施例提供的路由更新方法、裝置及相關(guān)設(shè)備,第一 SAS設(shè)備按照預(yù)設(shè)的周期,針對自身包含的每一端口,查詢與該端口連接的第二 SAS設(shè)備的路由信息,若在當(dāng)前周期查詢到的路由信息中的任一表項不存在于上一周期查詢到的路由信息中時,則判定該端口路由信息不匹配,依次類推,對自身的每一個端口進行查詢,若自身至少存在一個端口路由信息不匹配時,第一 SAS設(shè)備根據(jù)自身的設(shè)備類型,進行路由信息的更新。由于,第一 SAS設(shè)備定時對與自身的各個端口連接的第二 SAS設(shè)備的路由信息進行查詢,并根據(jù)查詢結(jié)果進行更新,這樣,即使第二 SAS設(shè)備發(fā)送Broadcast原語丟失,也能夠保證第一 SAS可以根據(jù)定時查詢的結(jié)果對相關(guān)路由信息進行更新,從而保證了整個SAS網(wǎng)絡(luò)中拓撲信息的一致,提高了 SAS網(wǎng)絡(luò)的可靠性。本發(fā)明的其它特征和優(yōu)點將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點可通過在所寫的說明書、權(quán)利要求書、以及附圖中所特別指出的結(jié)構(gòu)來實現(xiàn)和獲得。
圖1為現(xiàn)有技術(shù)中,SAS網(wǎng)絡(luò)的結(jié)構(gòu)示意圖;圖加為本發(fā)明實施例中,第一 SAS設(shè)備在查詢完自身的所有端口之后,進行的實施流程示意圖;圖2b為本發(fā)明實施例中,第一 SAS設(shè)備確定某一端口路由信息不匹配時,進行路由更新的實施流程示意圖;圖3為本發(fā)明實施例中,第一 SAS設(shè)備設(shè)備確認第二 SAS設(shè)備設(shè)備能夠接收到自身發(fā)送的標(biāo)識地址幀的實施流程示意圖;圖4為本發(fā)明實施例中,第一 SAS設(shè)備啟動路由查詢功能的實施流程示意圖;圖5為本發(fā)明實施例中,第一 SAS設(shè)備在當(dāng)前周期內(nèi)執(zhí)行路由查詢的實施流程示意圖;圖6為本發(fā)明實施例中,第一 SAS設(shè)備根據(jù)查詢結(jié)果進行路由信息更新的實施流程示意圖;圖7為本發(fā)明實施例中,本發(fā)明實施例提供的路由更新裝置的結(jié)構(gòu)示意圖。
具體實施例方式為了在SAS網(wǎng)絡(luò)中,防止Broadcast原語在傳輸過程中丟失,達到保證整個SAS網(wǎng)絡(luò)拓撲信息一致,提高SAS網(wǎng)絡(luò)的可靠性的目的,本發(fā)明實施例提供了一種路由更新方法、 裝置及相關(guān)設(shè)備。以下結(jié)合說明書附圖對本發(fā)明的優(yōu)選實施例進行說明,應(yīng)當(dāng)理解,此處所描述的優(yōu)選實施例僅用于說明和解釋本發(fā)明,并不用于限定本發(fā)明,并且在不沖突的情況下,本發(fā)明中的實施例及實施例中的特征可以相互組合。本發(fā)明實施例提供的路由更新方法,包括以下步驟步驟1、第一 SAS(串行小型計算機系統(tǒng)接口)設(shè)備針對自身的每一個端口進行路由查詢;具體的,第一 SAS設(shè)備按照如下過程對自身任一端口進行路由查詢步驟11、第一 SAS設(shè)備按照預(yù)設(shè)的周期查詢與該端口連接的第二 SAS設(shè)備的路由 fn息;步驟12、第一 SAS設(shè)備在確定出當(dāng)前周期查詢到的路由信息中包括至少一個路由表項未存在于上一周期查詢到的路由信息中時,確定該端口路由信息不匹配;步驟2、當(dāng)?shù)谝?SAS設(shè)備確定出自身存在至少一個端口路由信息不匹配時,根據(jù)自身的設(shè)備類型,進行路由信息的更新。具體實施中,第一 SAS設(shè)備可以對在查詢完自身所有的端口之后,執(zhí)行步驟2,或者可以針對自身的每一個端口,在判斷出該端口路由信息不匹配之后,即執(zhí)行步驟2。以下針對上述兩種情況,分別進行說明。實施例一如圖加所示,為第一 SAS設(shè)備在查詢完自身的所有端口之后,進行路由更新的實施流程示意圖,可以包括如下步驟S201、第一 SAS設(shè)備選擇一個未進行路由信息查詢的端口 ;S202、第一 SAS設(shè)備針對當(dāng)前選擇的端口,按照預(yù)設(shè)的周期查詢與該端口連接的第二 SAS設(shè)備的路由信息;S203、在確定出當(dāng)前周期的查詢到的路由信息中包括的至少一個路由表項未存在于上一周期查詢到的路由信息中時,確定該端口路由信息不匹配;S204、第一 SAS設(shè)備判斷是否完成對自身中的所有端口的查詢,如果是,執(zhí)行步驟 S205,如果否,執(zhí)行步驟S201 ;S205、當(dāng)?shù)谝?SAS設(shè)備確定出自身存在至少一個端口路由信息不匹配時,根據(jù)自身的設(shè)備類型,進行路由信息的更新。實施例二如圖2b所示,為第一 SAS設(shè)備確定某一端口路由信息不匹配時,進行路由更新的實施流程示意圖,包括如下步驟S211、第一 SAS設(shè)備選擇一個未進行路由信息查詢的端口 ;S212、第一 SAS設(shè)備針對當(dāng)前選擇的端口,按照預(yù)設(shè)的周期查詢與該端口連接的第二 SAS設(shè)備的路由信息;
S213、在確定出當(dāng)前周期的查詢到的路由信息中包括的至少一個路由表項未存在于上一周期查詢到的路由信息中時,確定該端口路由信息不匹配;S214、第一 SAS設(shè)備根據(jù)自身的設(shè)備類型,進行路由信息的更新。為了便于描述,以下各實施例中,均以第一 SAS設(shè)備查詢完自身所有的端口之后, 進行路由更新操作為例進行說明。實施例三具體實施中,在第一 SAS設(shè)備按照預(yù)設(shè)的周期查詢與該端口連接的第二 SAS設(shè)備的路由信息之前,還可以包括第一 SAS設(shè)備設(shè)備確認與該端口連接的第二 SAS設(shè)備設(shè)備能夠接收到自身發(fā)送的標(biāo)識地址幀。具體的,如圖3所示,為第一 SAS設(shè)備設(shè)備確認第二 SAS設(shè)備能夠接收到自身發(fā)送的標(biāo)識地址幀的實施流程示意圖,可以包括如下步驟S301、第一 SAS設(shè)備向第二 SAS設(shè)備發(fā)送標(biāo)識地址(ID Address)幀,并觸發(fā)超時定時器;具體的,第一 SAS設(shè)備可以為終端設(shè)備或者擴展器,第二 SAS設(shè)備只能為擴展器。 需要說明的是,本發(fā)明實施例中,當(dāng)?shù)谝?SAS設(shè)備為終端設(shè)備時,可以但不限于為SAS適配器,SAS硬盤和SATA硬盤。當(dāng)SAS網(wǎng)中加入新的終端設(shè)備時,該終端設(shè)備與擴展器之間交互彼此的ID Address幀,同時,雙方均觸發(fā)自身的超時定時器,超時定時器的超時時間可以根據(jù)實際需要進行設(shè)置,例如,可以設(shè)置為2S。S302、第一 SAS設(shè)備在超時定時器的超時時間到達之前,接收到第二 SAS設(shè)備發(fā)送的 ID Address 中貞;具體實施中,在接收到第二 SAS設(shè)備發(fā)送的ID Adress幀之后,第一 SAS設(shè)備即能夠獲得第二 SAS設(shè)備的地址信息。S303、第一 SAS設(shè)備判斷自身是否觸發(fā)了超時定時器,如果是,執(zhí)行步驟S304,如果否,執(zhí)行步驟S305 ;S304、關(guān)閉超時定時器;S305、根據(jù)接收到的ID Address與第二 SAS設(shè)備建立通信連接;具體的,第一 SAS設(shè)備可以通過SAS管理協(xié)議(SMP,SAS Management Protocol) 中的Open Address (連接地址)幀與第二 SAS設(shè)備建立連接。在SAS網(wǎng)絡(luò)中,SMP協(xié)議主要承擔(dān)管理功能,可以用于查詢設(shè)備信息、擴展器的路由信息等。S306、判斷第一 SAS設(shè)備與第二 SAS設(shè)備建立連接是否成功,如果否,執(zhí)行步驟 S307,如果是,執(zhí)行步驟S310 ;S307、第一 SAS設(shè)備判斷返回的建立連接異常信息是否為指定類型信息,如果是, 執(zhí)行步驟S309,如果否,執(zhí)行步驟S308 ;具體的,指定類型的建立連接異常信息可以為以下三種異常信息中的任一種目的地址故障(Bad Destination)、目的地址錯誤(Wrong Destination)以及目的地址不存在 (No Destination)。S308、根據(jù)返回的建立連接異常信息進行處理,并執(zhí)行步驟S310 ;具體的,若返回的連接異常信息不為上述指定類型信息中的一種,則說明第二 SAS設(shè)備已經(jīng)能夠正常處理第一 SAS設(shè)備發(fā)送的連接請求,即第二 SAS設(shè)備已經(jīng)能夠接收到第
一SAS設(shè)備發(fā)送的ID Address幀,但是由于第二 SAS設(shè)備自身的一些原因,使得連接異常, 此時,按照現(xiàn)有標(biāo)準中對相應(yīng)的連接異常信息的處理方法進行處理。S309、第一 SAS設(shè)備進行復(fù)位操作,并執(zhí)行步驟S310 ;若返回的連接異常信息為上述指定類型信息中的一種,則說明第一 SAS設(shè)備與第
二SAS設(shè)備無法建立通信連接,且原因為第二 SAS設(shè)備不能夠接收到第一 SAS設(shè)備發(fā)送的 ID Address幀。這時,需要進行連理的復(fù)位操作,即觸發(fā)第一 SAS設(shè)備與第二 SAS設(shè)備重新交互彼此的ID Address的流程。S310、流程結(jié)束。如果第一 SAS設(shè)備與第二 SAS設(shè)備之間能夠建立通信連接,或者,第SAS與第二 SAS設(shè)備之間不能夠建立通信連接,但是返回的異常信息為指定類型信息以外的其它類型的異常信息,則說明第二 SAS設(shè)備已經(jīng)能夠接收到自身發(fā)送的ID Address幀。具體實施中,若第一 SAS設(shè)備在超時定時器的超時時間到達后,未接收到第二 SAS 設(shè)備發(fā)送的ID Address幀時,第一 SAS設(shè)備也需要進行復(fù)位操作。實施例四在確認了第一 SAS設(shè)備與第二 SAS設(shè)備之間的ID Address幀交互正常后,第一 SAS設(shè)備進入路由查詢的流程。由于終端設(shè)備不支持路由查詢功能,在執(zhí)行路由查詢之前, 第一 SAS設(shè)備需要根據(jù)接收到的ID Address幀,確認第二 SAS設(shè)備為擴展器。在確認了第二 SAS設(shè)備為擴展器之后,第一 SAS設(shè)備可以根據(jù)SMP協(xié)議中的 Report General Function(綜合能力查詢)功能,查詢第二 SAS設(shè)備的路由信息等相關(guān)信肩、ο具體的,第一 SAS設(shè)備可以獲得第二 SAS設(shè)備是否啟用了自配置功能,若第二 SAS 設(shè)備啟用了自配置功能,即可確定第二 SAS設(shè)備的所有路由信息為SAS設(shè)備之間相互學(xué)習(xí)獲得,避免了用戶自配置引入的判讀錯誤的問題。具體實施中,本發(fā)明實施例提供的路由查詢方法,適用于第二 SAS設(shè)備為支持自配置功能的擴展器。如圖4所示,為本發(fā)明實施例中,第一 SAS設(shè)備啟動路由查詢功能的實施流程示意圖,包括如下步驟S401、針對自身的任一端口,第一 SAS設(shè)備判斷與該端口連接的第二 SAS設(shè)備是否為終端設(shè)備,如果是,執(zhí)行步驟S407,如果否,執(zhí)行步驟S402 ;具體的,第一 SAS設(shè)備通過與該端口連接的第二 SAS設(shè)備交互的IDAddress幀,判斷與該端口連接的第二 SAS設(shè)備是否為終端設(shè)備。S402、第一 SAS設(shè)備通過該端口與第二 SAS設(shè)備建立通信連接;S403、第一 SAS設(shè)備通過該端口向第二 SAS設(shè)備發(fā)送路由查詢請求消息;具體的,第一 SAS設(shè)備通過該端口向第二 SAS設(shè)備發(fā)送Iteport General Function 請求消息;S404、第一 SAS設(shè)備通過該端口接收第二 SAS設(shè)備的響應(yīng)消息;S405、第一 SAS設(shè)備判斷第二 SAS設(shè)備是否支持自配置功能,如果是,執(zhí)行步驟 S406,如果否,執(zhí)行步驟S407 ;具體的,第一 SAS設(shè)備根據(jù)接收到的響應(yīng)消息判斷第二 SAS設(shè)備是否支持自配置功能。S406、第一 SAS設(shè)備標(biāo)識該端口支持路由查詢,并執(zhí)行步驟S408 ;具體的,第一 SAS設(shè)備可以針對自身的每一個端口,設(shè)置該端口是否支持路由查詢的標(biāo)識位,如果確定該端口支持路由查詢,則將對應(yīng)的標(biāo)識位置為1,如果確定該端口不支持路由查詢,則將對應(yīng)的標(biāo)識位置為0。S407、第一 SAS設(shè)備標(biāo)識該端口不支持路由查詢,并執(zhí)行步驟S411 ;S408、第一 SAS設(shè)備設(shè)置該端口的第一次查詢狀態(tài)為真;具體的,第一 SAS設(shè)備可以為自身的每一個端口設(shè)置第一次查詢狀態(tài),初始化時, 第一 SAS設(shè)備將與第二 SAS設(shè)備連接的端口的第一次查詢狀態(tài)置為真(True),第一次查詢之后,將各端口的第一次查詢狀態(tài)置為假(False)。S409、第一 SAS設(shè)備判斷自身是否啟動周期性路由查詢功能,如果是,執(zhí)行步驟 S411,如果否,執(zhí)行步驟S410 ;S410、啟動周期性路由查詢功能;S411、流程結(jié)束。實施例五如圖5所示,為步驟S201中,第一 SAS設(shè)備在當(dāng)前周期內(nèi)執(zhí)行路由查詢的實施流程示意圖,包括如下步驟S501、判斷是否完成對自身所包含的所有端口的路由查詢,如果否,執(zhí)行步驟 S502、如果是,執(zhí)行步驟S509 ;S502、選擇一個未執(zhí)行路由查詢的端口 ;S503、判斷該端口是否支持路由查詢,如果是,執(zhí)行步驟S504,如果否,執(zhí)行步驟 S501 ;S504、通過該端口與第二 SAS設(shè)備建立通信連接;S505、通過該端口向第二 SAS設(shè)備發(fā)送路由查詢消息;具體的,第一 SAS設(shè)備通過該端口向第二 SAS設(shè)備發(fā)送Iteport Route Information Function (路由信息查詢)消息,查詢與該端口連接的第二 SAS設(shè)備的路由信肩、οS506、判斷該端口的第一次查詢狀態(tài)是否為真,如果是,執(zhí)行步驟S507,如果否,執(zhí)行步驟S508 ;S507、將該端口的第一次查詢狀態(tài)置為假,并記錄當(dāng)前查詢到的路由信息,且設(shè)置當(dāng)前記錄的路由信息狀態(tài)為有效,并執(zhí)行步驟501 ;具體的,由于第一 SAS設(shè)備第一次查詢與該端口連接的第二 SAS設(shè)備的路由信息, 因此,第一 SAS設(shè)備只需要記錄本次查詢到的路由信息即可,同時,將當(dāng)前記錄的該端口的路由信息狀態(tài)設(shè)置為有效。S508、記錄當(dāng)前查詢到的路由信息作為當(dāng)前周期該端口的路由信息,并設(shè)置當(dāng)前周期的路由信息狀態(tài)為有效;S509、流程結(jié)束。具體實施中,第一 SAS設(shè)備將當(dāng)前周期查詢到的與該端口連接的第二 SAS設(shè)備的路由信息,與上一周期查詢到的與端口連接的第二 SAS設(shè)備的路由信息進行比較,據(jù)此來判斷與該端口連接的第二 SAS設(shè)備的路由信息是否發(fā)生變化。具體的,針對當(dāng)前周期查詢到的路由信息中的每一表項,判斷該表項是否存在于上一周期查詢到的路由信息中,如果當(dāng)前周期查詢到的路由信息中的每一表項,均存在于上一周期查詢到的路由信息中,則判定與該端口連接的第二 SAS設(shè)備在當(dāng)前周期的路由信息與上一周期的路由信息匹配;如果當(dāng)前周期查詢到的路由信息中的任一表項,未存在于上一周期查詢到的路由信息中,則判定與該端口連接的第二 SAS設(shè)備在當(dāng)前周期的路由信息與上一周期的路由信息不匹配,為了便于描述,當(dāng)與該端口連接的第二 SAS設(shè)備在當(dāng)前周期的路由信息與上一周期的路由信息不匹配時,本發(fā)明實施例中稱之為該端口的路由信息不匹配。對于第一 SAS設(shè)備來說,在確定出自身存在至少一個端口的路由信息不匹配時, 第一 SAS設(shè)備根據(jù)自身的設(shè)備類型,進行路由信息的更新。具體實施中,設(shè)備類型可以包括終端設(shè)備類型和擴展器類型,若第一 SAS設(shè)備為終端設(shè)備時,根據(jù)當(dāng)前周期的路由信息更新本地存儲的上一周期的路由信息;若第一 SAS 設(shè)備為擴展器時,向自身處于連接狀態(tài)的端口發(fā)送Broadcast原語,指示這些與處于連接狀態(tài)的端口連接的SAS設(shè)備,根據(jù)當(dāng)前周期的路由信息更新其存儲的上一周期的路由信息。具體的,當(dāng)?shù)谝?SAS設(shè)備中,存在一個端口路由信息不匹配時,向自身包含的端口中,除路由信息不匹配的端口以外的、處于連接狀態(tài)的端口,發(fā)送Broadcast原語,指示這些與處于連接狀態(tài)的端口連接的SAS設(shè)備,根據(jù)當(dāng)前周期的路由信息更新其存儲的上一周期的路由信息;當(dāng)?shù)谝?SAS設(shè)備中,存在至少兩個端口路由信息不匹配時,向自身包含的端口中, 所有處于連接狀態(tài)的端口發(fā)送Broadcast原語,指示這些與處于連接狀態(tài)的端口連接的 SAS設(shè)備,根據(jù)當(dāng)前周期的路由信息更新其存儲的上一周期的路由信息。其中,Broadcast 原語為SAS原語的一種,SAS原語是SAS通信過程中的一種基本單位,用于收發(fā)一些控制信號,按照SAS標(biāo)準的SblOb編碼方式,以4字節(jié)(Word)為一個組合表示某種含義,如表1所示,為一種SAS原語的示例表 權(quán)利要求
1.一種路由更新方法,其特征在于,包括第一串行小型計算機系統(tǒng)接口 SAS設(shè)備針對自身的每一個端口執(zhí)行 按照預(yù)設(shè)的周期查詢與該端口連接的第二 SAS設(shè)備的路由信息; 并在確定出當(dāng)前周期查詢到的路由信息中包括至少一個路由表項未存在于上一周期查詢到的路由信息中時,確定該端口路由信息不匹配;當(dāng)?shù)谝?SAS設(shè)備確定出自身存在至少一個端口路由信息不匹配時,根據(jù)自身的設(shè)備類型,進行路由信息的更新。
2.如權(quán)利要求1所述的方法,其特征在于,第一SAS設(shè)備根據(jù)自身的設(shè)備類型,進行路由信息的更新,具體包括若所述第一 SAS設(shè)備為終端設(shè)備時,根據(jù)當(dāng)前周期的路由信息更新本地存儲的上一周期的路由信息;若所述第一 SAS設(shè)備為擴展器時,向自身中處于連接狀態(tài)的端口發(fā)送廣播Broadcast 原語,指示與所述處于連接狀態(tài)的端口連接的SAS設(shè)備,根據(jù)當(dāng)前周期的路由信息更新其存儲的上一周期的路由信息。
3.如權(quán)利要求2所述的方法,其特征在于,向自身處于連接狀態(tài)的端口發(fā)送廣播 Broadcast原語,具體包括若存在一個端口路由信息不匹配時,向與自身包含的端口中,除路由信息不匹配的端口以外的、處于連接狀態(tài)的端口連接的第二 SAS設(shè)備,發(fā)送Broadcast原語;若存在至少兩個端口路由信息不匹配時,向與自身包含的端口中,所有處于連接狀態(tài)的端口連接的第二 SAS設(shè)備發(fā)送Broadcast原語。
4.如權(quán)利要求1所述的方法,其特征在于,在第一SAS設(shè)備按照預(yù)設(shè)的周期查詢與該端口連接的第二 SAS設(shè)備的路由信息之前,還包括所述第一 SAS設(shè)備確認與該端口連接的第二 SAS設(shè)備能夠接收到自身發(fā)送的標(biāo)識地址幀。
5.如權(quán)利要求4所述的方法,其特征在于,所述第一SAS設(shè)備確認與該端口連接的第二 SAS設(shè)備能夠接收到自身發(fā)送的標(biāo)識地址幀,具體包括所述第一 SAS設(shè)備向與該端口連接的第二 SAS設(shè)備發(fā)送標(biāo)識地址幀;并觸發(fā)超時定時器;若所述第一 SAS設(shè)備在預(yù)設(shè)的所述超時定時器的定時時間到達之前,接收到與該端口連接的第二 SAS設(shè)備發(fā)送的標(biāo)識地址幀,則與所述第二 SAS設(shè)備建立連接;若建立連接成功,或者建立連接異常且返回的異常信息為除指定類型信息以外的異常信息時,所述第一 SAS設(shè)備確認所述第二 SAS設(shè)備能夠接收到自身發(fā)送的標(biāo)識地址幀;若建立連接異常,且返回的異常信息為指定類型信息時,所述第一 SAS設(shè)備確認所述第二 SAS設(shè)備不能夠接收到自身發(fā)送的標(biāo)識地址幀。
6.如權(quán)利要求5所述的方法,其特征在于,所述指定類型信息包括目的地址故障,或者目的地址錯誤,或者目的地址不存在。
7.如權(quán)利要求5所述的方法,其特征在于,所述第一SAS設(shè)備確認所述第二 SAS設(shè)備不能夠接收到自身發(fā)送的標(biāo)識地址幀之后,或者所述第一 SAS設(shè)備在預(yù)設(shè)的所述超時定時器的超時時間到達之后,未接收到所述第二 SAS設(shè)備發(fā)送的標(biāo)識地址幀時,還包括所述第一 SAS設(shè)備進行復(fù)位操作。
8.如權(quán)利要求5所述的方法,其特征在于,在第一SAS設(shè)備按照預(yù)設(shè)的周期查詢與該端口連接的第二 SAS設(shè)備的路由信息之前,還包括所述第一 SAS設(shè)備根據(jù)接收到的所述第二 SAS設(shè)備發(fā)送的標(biāo)識地址幀,確定所述第二 SAS設(shè)備為擴展器。
9.一種路由更新裝置,其特征在于,包括查詢單元,用于針對本裝置的每一個端口,按照預(yù)設(shè)的周期查詢與該端口連接的串行小型計算機系統(tǒng)接口 SAS設(shè)備的路由信息;第一確定單元,用于在確定當(dāng)前周期查詢到的路由信息中包括的至少一個路由表項未存在于上一周期查詢到的路由信息中時,確定該端口路由信息不匹配;更新單元,用于當(dāng)確定出本裝置存在至少一個端口路由信息不匹配時,根據(jù)本裝置的設(shè)備類型,進行路由信息的更新。
10.如權(quán)利要求9所述的裝置,其特征在于,所述更新單元,包括第一更新子單元,用于在本裝置為終端設(shè)備時,根據(jù)當(dāng)前周期的路由信息更新本地存儲的上一周期的路由信息;第二更新子單元,用于在本裝置為擴展器時,向自身中處于連接狀態(tài)的端口發(fā)送廣播 Broadcast原語,指示與所述處于連接狀態(tài)的端口連接的SAS設(shè)備,根據(jù)當(dāng)前周期的路由信息更新其存儲的上一周期的路由信息。
11.如權(quán)利要求10所述的裝置,其特征在于,所述第二更新子單元,具體用于在本裝置存在一個端口路由信息不匹配時,向與本裝置包含的端口中,除路由信息不匹配的端口以外的、處于連接狀態(tài)的端口連接的SAS設(shè)備,發(fā)送Broadcast原語;在本裝置存在至少兩個端口路由信息不匹配時,向與本裝置包含的端口中,所有處于連接狀態(tài)的端口連接的SAS 設(shè)備發(fā)送Broadcast原語。
12.如權(quán)利要求9所述的裝置,其特征在于,還包括確認單元,用于在按照預(yù)設(shè)的周期查詢與該端口連接的SAS設(shè)備的路由信息之前,確認與該端口連接的SAS設(shè)備能夠接收到所述裝置發(fā)送的標(biāo)識地址幀。
13.如權(quán)利要求12所述的裝置,其特征在于,所述確認單元,包括發(fā)送子單元,用于向與該端口連接的SAS設(shè)備發(fā)送標(biāo)識地址幀;觸發(fā)子單元,用于在所述發(fā)送子單元向與該端口連接的SAS設(shè)備發(fā)送標(biāo)識地址幀時, 觸發(fā)超時定時器;連接子單元,用于在預(yù)設(shè)的所述超時定時器的定時時間到達之前,接收到與該端口連接的SAS設(shè)備發(fā)送的標(biāo)識地址幀時,與所述SAS設(shè)備建立連接;第一確認子單元,用于在所述連接子單元建立連接成功,或者建立連接異常且返回指定類型信息以外的異常信息時,確認與該端口連接的SAS設(shè)備能夠接收到自身發(fā)送的標(biāo)識地址幀;第二確認子單元,用于在所述連接子單元建立連接異常且返回的異常信息為指定類型信息時,確認與該端口連接的SAS設(shè)備不能夠接收到自身發(fā)送的標(biāo)識地址幀。
14.如權(quán)利要求13所述的裝置,其特征在于,還包括復(fù)位單元,用于在確認所述SAS設(shè)備不能夠接收到自身發(fā)送的標(biāo)識地址幀之后,或者在預(yù)設(shè)的所述超時定時器的超時時間到達之后,未接收到與該端口連接的SAS設(shè)備發(fā)送的標(biāo)識地址幀時,進行復(fù)位操作。
15.如權(quán)利要求13所述的裝置,其特征在于,還包括第二確定單元,用于在按照預(yù)設(shè)的周期查詢與該端口連接的SAS設(shè)備的路由信息之前,根據(jù)接收到的與該端口連接的SAS設(shè)備發(fā)送的標(biāo)識地址幀,確定與該端口連接的SAS設(shè)備為擴展器。
16.一種串行小型計算機系統(tǒng)接口設(shè)備,其特征在于,包括權(quán)利要求9 15任一權(quán)利要求所述的路由更新裝置。
全文摘要
本發(fā)明公開了一種路由更新方法、裝置及相關(guān)設(shè)備,用以在SAS網(wǎng)絡(luò)中,防止Broadcast原語在傳輸過程中丟失,保證整個SAS網(wǎng)絡(luò)拓撲信息一致,提高SAS網(wǎng)絡(luò)的可靠性。其中,所述路由更新方法,包括第一SAS設(shè)備針對自身的每一個端口執(zhí)行按照預(yù)設(shè)的周期查詢與該端口連接的第二SAS設(shè)備的路由信息;并在確定出當(dāng)前周期查詢到的路由信息中包括至少一個路由表項未存在于上一周期查詢到的路由信息中時,確定該端口路由信息不匹配;當(dāng)?shù)谝籗AS設(shè)備確定出自身存在至少一個端口路由信息不匹配時,根據(jù)自身的設(shè)備類型,進行路由信息的更新。
文檔編號H04L29/08GK102325163SQ20111020067
公開日2012年1月18日 申請日期2011年7月18日 優(yōu)先權(quán)日2011年7月18日
發(fā)明者吳航 申請人:福建星網(wǎng)銳捷網(wǎng)絡(luò)有限公司