專利名稱:路徑選擇方法、裝置及存儲(chǔ)區(qū)域網(wǎng)絡(luò)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及路由選擇技術(shù)領(lǐng)域,尤其涉及一種路徑選擇方法、裝置及存儲(chǔ)區(qū)域網(wǎng)絡(luò)。
背景技術(shù):
多路徑I/O (MPIO)支持是為了基于Windows的服務(wù)器與存儲(chǔ)區(qū)域網(wǎng)絡(luò)(StorageArea Network, SAN)連接提供高可用性的眾多增強(qiáng)功能之一。現(xiàn)有技術(shù)中存在提供該多路徑I/O支持并用于管理服務(wù)器與存儲(chǔ)設(shè)備之間的多條連接路徑的傳輸機(jī)制,即多路徑軟件。多路徑軟件是整個(gè)存儲(chǔ)區(qū)域網(wǎng)絡(luò)的重要組成部分,其負(fù)責(zé)管理應(yīng)用服務(wù)器和存儲(chǔ)系統(tǒng)之間的多條連接路徑以及IO流的傳輸路徑的分配,當(dāng)傳輸IO流的路徑發(fā)生故障時(shí),多路徑軟件負(fù)責(zé)將數(shù)據(jù)業(yè)務(wù)切換到其它可用路徑上,以保障業(yè)務(wù)的可靠性,避免單點(diǎn)故障。換言之,多路徑軟件為應(yīng)用服務(wù)器和存儲(chǔ)設(shè)備之間提供了可靠的連接。 在眾多路徑中,除了正常路徑和發(fā)生故障而中斷的路徑外,在某些情況下,例如磨損、老化、接觸不良等原因,會(huì)出現(xiàn)這樣一種路徑其雖然可以傳輸數(shù)據(jù),但性能下降,錯(cuò)誤較多,該類路徑雖然未中斷,但若繼續(xù)在其上傳輸IO流,將在一定程度上影響業(yè)務(wù)的進(jìn)行,很明顯會(huì)導(dǎo)致業(yè)務(wù)在性能上受到一定程度的影響。在現(xiàn)有技術(shù)中,通常將此類路徑設(shè)置為不可用,且不進(jìn)行有效地檢測(cè)。這樣,當(dāng)出現(xiàn)此類路徑時(shí)將全部IO流切換至正常路徑上傳輸,正常路徑上的傳輸壓力將非常大,且當(dāng)此類路徑已恢復(fù)正常時(shí),由于其仍為“不可用”狀態(tài),原本最適于在此類路徑上傳輸?shù)腎O流仍在其它路徑上傳輸,這無疑將影響業(yè)務(wù)傳輸?shù)男阅芎涂煽啃浴?br>
發(fā)明內(nèi)容
有鑒于此,本發(fā)明實(shí)施例提供了一種路徑選擇方法、裝置及存儲(chǔ)區(qū)域網(wǎng)絡(luò),可以提高業(yè)務(wù)傳輸?shù)男阅芎涂煽啃?。為了?shí)現(xiàn)上述目的,第一方面,本發(fā)明實(shí)施例提供了一種路徑選擇方法,包括檢測(cè)部分或全部路徑的傳輸性能;根據(jù)路徑的傳輸性能判斷各路徑的路徑類型,所述路徑類型包括第一性能路徑以及第二性能路徑,且所述第一性能路徑的傳輸性能高于所述第二性能路徑的傳輸性能;以及根據(jù)各路徑的所述路徑類型分配IO流的傳輸路徑根據(jù)第一性能路徑的承載能力以及IO流的業(yè)務(wù)類型,將第二性能路徑上傳輸?shù)腎O流至少部分切換至第一性能路徑;并且將從特定的第一性能路徑切換至其它路徑傳輸?shù)腎O流切換回所述特定的第一性能路徑,所述特定的第一性能路徑為從第二性能路徑轉(zhuǎn)變?yōu)榈谝恍阅苈窂降穆窂健=Y(jié)合第一方面,在第一種可能的實(shí)現(xiàn)方式中,在根據(jù)所述路徑類型分配IO流的傳輸路徑的步驟中若只存在第二性能路徑,則根據(jù)第二性能路徑的優(yōu)先級(jí)將全部IO流分配給弟~■性能路徑。結(jié)合第一方面,在第二種可能的實(shí)現(xiàn)方式中,在根據(jù)所述路徑類型分配IO流的傳輸路徑的步驟中若只存在第一性能路徑,則將根據(jù)第一性能路徑的優(yōu)先級(jí)全部IO流分配給第一性能路徑。結(jié)合第一方面,在第三種可能的實(shí)現(xiàn)方式中,在所述檢測(cè)部分或全部路徑的傳輸 性能的步驟中,周期性地在待檢測(cè)路徑上傳輸檢測(cè)碼流,監(jiān)測(cè)所述待檢測(cè)路徑在所述周期內(nèi)的誤碼率;并且在所述根據(jù)各路徑的傳輸性能判斷各路徑的路徑類型的步驟中,根據(jù)所述誤碼率,判斷對(duì)應(yīng)路徑的路徑類型。結(jié)合第一方面,在四種可能的實(shí)現(xiàn)方式中,所述路徑類型還包括故障路徑,所述故障路徑為不連通的路徑以及傳輸性能低于所述第二性能路徑的傳輸性能的路徑。結(jié)合第一方面的第四種可能的實(shí)現(xiàn)方式,在第五種可能的實(shí)現(xiàn)方式中,在根據(jù)所述路徑類型分配IO流的傳輸路徑的步驟中不為所述故障路徑分配IO流。結(jié)合第一方面的上述各種可能的實(shí)現(xiàn)方式中的任ー種,在第六種可能的實(shí)現(xiàn)方式中,所述傳輸性能包括路徑的通斷情況、錯(cuò)誤率、誤碼率、毎秒IO數(shù)和/或IO延遲。在第二方面,本發(fā)明實(shí)施例提供了ー種路徑選擇裝置,包括檢測(cè)單元,用于檢測(cè)部分或全部路徑的傳輸性能,并將檢測(cè)結(jié)果發(fā)送至判斷単元;判斷単元,用于接收所述檢測(cè)単元的檢測(cè)結(jié)果,根據(jù)所述檢測(cè)結(jié)果判斷各路徑的路徑類型,并將判斷結(jié)果發(fā)送至路徑選擇單元,所述路徑類型包括第一性能路徑以及第ニ性能路徑,且所述第一性能路徑的傳輸性能高于所述第二性能路徑的傳輸性能;以及路徑選擇単元,用于接收所述判斷単元的判斷結(jié)果,根據(jù)所述判斷結(jié)果分配IO流的傳輸路徑根據(jù)第一性能路徑的承載能力以及IO流的業(yè)務(wù)類型,將第二性能路徑上傳輸?shù)腎O流至少部分切換至第一性能路徑;并且將從特定的第一性能路徑切換至其它路徑傳輸?shù)腎O流切換回所述特定的第一性能路徑,所述特定的第一性能路徑為從第二性能路徑轉(zhuǎn)變?yōu)榈谝恍阅苈窂降穆窂健T诘谌矫?,本發(fā)明實(shí)施例提供了一種存儲(chǔ)區(qū)域網(wǎng)絡(luò),包括存儲(chǔ)設(shè)備以及第二方面所提供的路徑選擇裝置,所述路徑選擇裝置與所述存儲(chǔ)設(shè)備之間存在至少兩條連接路徑。本發(fā)明的方法、裝置及存儲(chǔ)區(qū)域網(wǎng)絡(luò),通過對(duì)路徑類型的及時(shí)、正確的判斷,并據(jù)此進(jìn)行IO流的傳輸路徑的動(dòng)態(tài)分配,可根據(jù)需要,對(duì)第二性能路徑分配IO流或不分配IO流,并在其恢復(fù)正常時(shí)及時(shí)將最適于在其上傳輸?shù)腎O流切換回來,從而實(shí)現(xiàn)更有效地多路徑管理,避免用戶業(yè)務(wù)可能出現(xiàn)的性能下降的問題,能夠最大可能地為用戶提供最好的服務(wù),提升業(yè)務(wù)傳輸?shù)男阅芎涂煽啃浴?br>
圖1為本發(fā)明實(shí)施例1的路徑選擇方法的流程圖;圖2為本發(fā)明實(shí)施例1的路徑選擇裝置的結(jié)構(gòu)框圖;圖3為本發(fā)明實(shí)施例2的存儲(chǔ)區(qū)域網(wǎng)絡(luò)的構(gòu)成示意圖;圖4為本發(fā)明實(shí)施例2的存儲(chǔ)區(qū)域網(wǎng)絡(luò)中的路徑選擇裝置對(duì)路徑的管理策略示意圖;圖5為本發(fā)明實(shí)施例3的路徑選擇裝置的結(jié)構(gòu)框圖。
具體實(shí)施例方式本發(fā)明提出的路徑選擇方法、裝置及存儲(chǔ)區(qū)域網(wǎng)絡(luò),結(jié)合附圖及實(shí)施例詳細(xì)說明如下。實(shí)施例1本發(fā)明實(shí)施例提供了一種路徑選擇方法,該方法中根據(jù)路徑的傳輸性能將路徑分為兩種類型第一性能路徑以及第二性能路徑。第一性能路徑的傳輸性能好于第二性能路徑,為首選的IO流傳輸路徑。第二性能路徑為因磨損、老化、接觸不良或環(huán)境因素等各種原因,傳輸性能較第一性能路徑有所降低,對(duì)IO流的傳輸有一定影響的次優(yōu)級(jí)路徑,但其仍可用,在不存在第一性能路徑時(shí),第二優(yōu)性能路徑的使用可保障業(yè)務(wù)的繼續(xù)。性能相同的路徑之間具有不同的優(yōu)先級(jí),各路徑的優(yōu)先級(jí)可根據(jù)各路徑的承載能力以及IO的業(yè)務(wù)類型由用戶設(shè)置。如圖1所示,本實(shí)施例的路徑選擇方法包括檢測(cè)部分或全部路徑的傳輸性能的步驟;根據(jù)路徑的傳輸性能,判斷各路徑的路徑類型的步驟;以及根據(jù)所判斷的路徑類型,分配IO流的傳輸路徑的步驟,具體地根據(jù)第一性能路徑的承載能力以及IO流的業(yè)務(wù)類型,將第二性能路徑上傳輸?shù)腎O流至少部分切換至第一性能路徑;并且將從特定的第一性能路徑切換至其它路徑傳輸?shù)腎O流切換回所述特定的第一性能路徑,所述特定的第一性能路徑為從第二性能路徑轉(zhuǎn)變?yōu)榈谝恍阅苈窂降穆窂?。第二性能路徑雖然性能不佳,但是其仍然可用,或者其也可能再次轉(zhuǎn)換為第一性能路徑。若只存在第一性能路徑,則可根據(jù)第一性能路徑的優(yōu)先級(jí)將全部IO流分配給第一性能路徑。若只存在第二性能路徑,則根據(jù)第二性能路徑的優(yōu)先級(jí)將全部IO流分配給第二性能路徑。本發(fā)明實(shí)施例的路徑選擇方法通過對(duì)路徑類型的及時(shí)、正確的判斷,并據(jù)此進(jìn)行IO流的傳輸路徑的分配,可根據(jù)需要對(duì)第二性能路徑分配IO流或不分配IO流,并在其恢復(fù)正常時(shí)及時(shí)將最適于在其上傳輸?shù)腎O流切換回來,從而實(shí)現(xiàn)更有效地多路徑管理,避免用戶業(yè)務(wù)可能出現(xiàn)的性能下降或中斷的問題,能夠最大可能地為用戶提供最好的服務(wù),提升業(yè)務(wù)傳輸?shù)男阅芎涂煽啃浴1景l(fā)明實(shí)施例的方法在上述兩種路徑類型的基礎(chǔ)上還可包括故障路徑,故障路徑為不連通的路徑以及傳輸性能非常低、不適合IO流傳輸?shù)穆窂?,該類型的路徑不能傳輸IO流。此外,檢測(cè)部分或全部路徑的傳輸性能的步驟可實(shí)時(shí)、周期性或根據(jù)用戶的命令啟動(dòng),該步驟的執(zhí)行可針對(duì)全部的路徑,也可針對(duì)部分路徑(例如可由用戶指定,或者只針對(duì)故障路徑或第二性能路徑)進(jìn)行檢測(cè)。該檢測(cè)進(jìn)一步包括初始狀態(tài)(也即未分配IO流的傳輸路徑)的檢測(cè)以及傳輸過程中(已分配IO流的傳輸路徑)的檢測(cè)。具言之初始狀杰的檢測(cè)
可通過周期性地在每條路徑上傳輸特殊檢測(cè)碼流來進(jìn)行檢測(cè)。在根據(jù)路徑的傳輸性能判斷路徑的路徑類型的步驟中,依據(jù)如下對(duì)路徑進(jìn)行判斷若路徑不連通,則判斷其為故障路徑。對(duì)于連通的路徑,根據(jù)其誤碼率進(jìn)行判斷例如,如果在ー個(gè)周期內(nèi),在該路徑上可以連續(xù)傳輸IO12IOici字節(jié)的碼流而不發(fā)生傳輸錯(cuò)誤,則可判定此路徑為第一性能路徑;如果在ー個(gè)周期內(nèi),該路徑上可以連續(xù)傳輸101(| 104字節(jié)的碼流而不發(fā)生錯(cuò)誤,則判定此路徑對(duì)業(yè)務(wù)有輕微影響,為第二性能路徑;如果在ー個(gè)周期內(nèi),該路徑上可以連續(xù)傳輸而不發(fā)生傳輸錯(cuò)誤的碼流的字節(jié)數(shù)小于104,則認(rèn)為此路徑基本不可使用,判定其為故障路徑。在根據(jù)所判斷的路徑類型分配IO流的傳輸路徑的步驟中,根據(jù)已判斷的路徑類型、IO流的業(yè)務(wù)類型以及同類路徑的優(yōu)先級(jí)為IO流分配傳輸路徑。具體地 不為故障路徑分配IO流;并且若只存在第一性能路徑,則根據(jù)每條第一性能路徑的優(yōu)先級(jí),將全部IO流分配給相應(yīng)的第一性能路徑;若不存在第一性能路徑,存在第二性能路徑,則根據(jù)每條第二性能路徑的優(yōu)先級(jí),將全部業(yè)務(wù)分配給第二性能路徑;若同時(shí)存在第一性能路徑和第二性能路徑,首選將IO流全部分配給第一性能路徑。需要說明的是,在同時(shí)存在第一性能路徑和第二性能路徑的情況下,將所有IO流的傳輸都分配到第一性能路徑上,某些第一性能路徑上的傳輸壓カ將非常高,甚至超出負(fù)荷,因此,還可以需要根據(jù)IO流的業(yè)務(wù)類型和第一性能路徑的承載能力,僅將部分IO流分配到第一性能路徑上,其它IO流分配給相應(yīng)的第二性能路徑傳輸。傳輸過稈中的檢測(cè)由于影響路徑類型的因素可能發(fā)生變化(例如通過人為的整修或環(huán)境因素的變化等等),路徑的類型可能隨時(shí)發(fā)生變化。因此,在傳輸過程中也需要對(duì)路徑的傳輸性能進(jìn)行檢測(cè)。此時(shí),可根據(jù)路徑上已進(jìn)行的IO流傳輸所反饋的信息(通斷情況(包括連通、不連通、以及一定時(shí)間內(nèi)的閃斷次數(shù)等)、錯(cuò)誤率(包括超時(shí)錯(cuò)誤、忙等待、以及未能識(shí)別的錯(cuò)誤等)、誤碼率、姆秒 IO 數(shù)(Input/Output Operations Per Second, I0PS)以及 IO 延遲等)等來檢測(cè)路徑的傳輸性能,并據(jù)此判斷路徑的類型,或者仍可按照初始狀態(tài)檢測(cè)過程中所采用的傳輸檢測(cè)碼流,并根據(jù)對(duì)誤碼率的監(jiān)測(cè)方法來進(jìn)行判斷。在之后執(zhí)行的根據(jù)路徑的傳輸性能判斷各路徑的路徑類型的步驟中,根據(jù)每條路徑的傳輸性能,可能地,將故障路徑恢復(fù)為第一性能路徑或第二性能路徑;將第一性能路徑判定為第二性能路徑或故障路徑;將第二性能路徑恢復(fù)為第一性能路徑或判定為故障路徑。從而在根據(jù)所判斷的路徑類型分配10流的傳輸路徑的步驟中動(dòng)態(tài)地調(diào)整10流的傳輸路徑,進(jìn)行相應(yīng)的10流重分配。具言之若當(dāng)前,第二性能路徑已恢復(fù)為第一性能路徑,則將原本分配給該路徑后切換至另一條路徑的10流切換回該路徑上。若當(dāng)前,第一性能路徑轉(zhuǎn)變?yōu)榈诙阅苈窂?,且此時(shí)還存在第一性能路徑,則將該發(fā)生轉(zhuǎn)變的第一性能路徑上的全部或部分10流切換到優(yōu)先級(jí)較高的第一性能路徑;若此時(shí)不存在第一性能路徑,則不改變?cè)撀窂缴系?0流傳輸。若此時(shí),第二性能路徑或第一性能路徑均轉(zhuǎn)變?yōu)楣收下窂?,則根據(jù)現(xiàn)存的路徑類型,將發(fā)生轉(zhuǎn)變的該第二性能路徑或第一性能路徑上的10流切換到第一性能路徑和/或第二性能路徑上。本發(fā)明實(shí)施例還提供了一種路徑選擇裝置,如圖2所述,該裝置包括檢測(cè)單元、判斷單元以及路徑選擇單元。該裝置按照本發(fā)明實(shí)施例的上述路徑選擇方法來進(jìn)行路徑的選擇。具體地,檢測(cè)單元用于檢測(cè)全部或部分路徑的傳輸性能,并將檢測(cè)結(jié)果發(fā)送至判斷單元;判斷單元用于接收檢測(cè)單元的檢測(cè)結(jié)果,根據(jù)該檢測(cè)結(jié)果判斷各路徑的路徑類型,并將判斷結(jié)果發(fā)送至路徑選擇單元;路徑選擇單元用于接收判斷單元的判斷結(jié)果,根據(jù)該判斷結(jié)果分配IO流的傳輸路徑根據(jù)第一性能路徑的承載能力以及IO流的業(yè)務(wù)類型,將第二性能路徑上傳輸?shù)腎O流至少部分切換至第一性能路徑;并且將從第一性能路徑切換至其它路徑傳輸?shù)腎O流切換回所述第一性能路徑上。該裝置例如可為存儲(chǔ)區(qū)域網(wǎng)絡(luò)(SAN)中的應(yīng)用服務(wù)器等等。在本發(fā)明實(shí)施例中,所述的傳輸性能包括路徑的通斷情況、錯(cuò)誤率(包括超時(shí)錯(cuò) 誤、忙等待、以及未能識(shí)別的錯(cuò)誤等)、誤碼率、每秒IO數(shù)(Input/Output Operations PerSecond,I0PS)以及IO延遲等。對(duì)傳輸性能的要求包括對(duì)上述中的一種或幾種的結(jié)合。對(duì)于檢測(cè)周期以及每種路徑所應(yīng)當(dāng)滿足的對(duì)傳輸性能的要求,可根據(jù)具體應(yīng)用環(huán)境、業(yè)務(wù)類型等進(jìn)行適當(dāng)?shù)念A(yù)設(shè)。實(shí)施例2本實(shí)施例提供了一種存儲(chǔ)區(qū)域網(wǎng)絡(luò)(SAN),如圖3所示,該網(wǎng)絡(luò)應(yīng)用服務(wù)器以及存儲(chǔ)設(shè)備,應(yīng)用服務(wù)器與存儲(chǔ)設(shè)備之間存在至少兩條連接路徑,本實(shí)施例中為兩條,即路徑I和路徑2。該應(yīng)用服務(wù)器為實(shí)施例1中的路徑選擇裝置,并根據(jù)實(shí)施例1中的路徑選擇方法進(jìn)行路徑選擇。具言之在本實(shí)施例的SAN網(wǎng)絡(luò)中,將不連通的路徑以及誤碼率較高(例如在一個(gè)周期內(nèi),在該路徑上可以連續(xù)傳輸而不發(fā)生傳輸錯(cuò)誤的碼流的字節(jié)數(shù)小于IO4)的路徑判斷為故障路徑;將滿足以下條件中任意一項(xiàng)的路徑判斷為第二性能路徑A、30分鐘時(shí)間內(nèi),一條鏈3次出現(xiàn)通斷現(xiàn)象。B、下發(fā)10流返回超時(shí)錯(cuò)誤。CU分鐘內(nèi),下發(fā)的10流返回“忙”錯(cuò)誤的比例達(dá)到20%。DU分鐘內(nèi),下發(fā)的10流返回未能識(shí)別的錯(cuò)誤的比例達(dá)到20%。E、10分鐘內(nèi),下發(fā)10流的IOPS不超過10M/s,并且10延遲不小于100ms。需要說明的是,上述各參數(shù)的數(shù)值僅為示例,可根據(jù)業(yè)務(wù)需求將其設(shè)定為其它的值。如圖4所示,在正常情況下,應(yīng)用服務(wù)器和存儲(chǔ)設(shè)備之間的路徑I和路徑2均為正常路徑,即第一性能路徑,且在性能相同的情況下,路徑I的優(yōu)先級(jí)高于路徑2的優(yōu)先級(jí)。根據(jù)業(yè)務(wù)類型以及路徑的承載能力,在本實(shí)施例中,用戶的10流此時(shí)只在路徑I上傳輸。如果此時(shí)路徑I出現(xiàn)異常,傳輸性能下降,應(yīng)用服務(wù)器上檢測(cè)到此類異常后,將路徑I的類型置為第二性能路徑,并將路徑I上的用戶的全部10流切換到路徑2上,以保障用戶的業(yè)務(wù)性能。需要說明的是,存儲(chǔ)區(qū)域網(wǎng)絡(luò)中,在業(yè)務(wù)繁忙的情況下,當(dāng)一條或多條路徑出現(xiàn)問題,被降級(jí)為第二性能路徑后,10流切換到其它路徑可能會(huì)導(dǎo)致該條路徑或相應(yīng)存儲(chǔ)設(shè)備壓力過大。因此,當(dāng)路徑I置為第二性能路徑時(shí),還可通過內(nèi)部算法,區(qū)分業(yè)務(wù)(例如,用戶的應(yīng)用服務(wù)器使用了陣列上的多個(gè)磁盤,并且每個(gè)磁盤的業(yè)務(wù)類型不同,其中部分磁盤的業(yè)務(wù)量相對(duì)較小),將一部分IO流切換到路徑2上傳輸,而將剩余部分IO流嘗試仍在路徑I上下發(fā),并進(jìn)行檢測(cè)和控制,盡可能地對(duì)IO流進(jìn)行負(fù)載均衡。IO流進(jìn)行了相應(yīng)的傳輸路徑重分配之后,在后續(xù)的傳輸過程中一般將有三種情況發(fā)生,其ー是路徑I在一段時(shí)間后恢復(fù)正常(例如環(huán)境上溫度、濕度的變換等),此時(shí)應(yīng)用服務(wù)器通過檢測(cè),判斷出路徑I已經(jīng)恢復(fù)正常,則將路徑I的狀態(tài)恢復(fù)為第一性能路徑,并重新將原來在路徑I上傳輸?shù)腎O流切換回路徑I。其ニ是路徑I仍為第二性能路徑,路徑2在一段時(shí)間后故障(例如線纜中斷,器件故障等),此時(shí)應(yīng)用服務(wù)器將路徑2的路徑類型置為故障路徑,并將用戶的IO流切換回路徑1,雖然路徑I也存在一定問題,但仍可傳輸數(shù)據(jù),所以將IO流切換回路徑1,以保證用戶業(yè)務(wù)的連續(xù)。其三是路徑2在一段時(shí)間后性能下降,此時(shí)多路徑選擇裝置將路徑2的路徑類型置為第二性能路徑,此時(shí),若路徑I仍為第ニ性能路徑,由于路徑I的優(yōu)先級(jí)高于路徑2,因此,將路徑2上傳輸?shù)腎O流切換回路徑I。實(shí)施例3圖5為本實(shí)施例提供的ー種路徑選擇裝置500的結(jié)構(gòu)示意圖,本發(fā)明具體實(shí)施例 并不對(duì)路徑選擇裝置的具體實(shí)現(xiàn)做限定。如圖5所示,該路徑選擇裝置500可以包括處理器(processor)510、通信接 ロ(CommunicationsInterface) 520、存儲(chǔ)器(memory) 530、以及通信總線540。其中處理器510、通信接ロ 520、以及存儲(chǔ)器530通過通信總線540完成相互間的通信。通信接ロ 520,用于與比如客戶端等的網(wǎng)元通信。處理器510,用于執(zhí)行程序532,具體可以執(zhí)行上述圖1至圖4所示的方法實(shí)施例中的相關(guān)步驟。具體地,程序532可以包括程序代碼,所述程序代碼包括計(jì)算機(jī)操作指令。處理器510可能是ー個(gè)中央處理器CPU,或者是特定集成電路ASIC (ApplicationSpecific Integrated Circuit),或者是被配置成實(shí)施本發(fā)明實(shí)施例的ー個(gè)或多個(gè)集成電路。存儲(chǔ)器530,用于存放程序532。存儲(chǔ)器530可能包含高速RAM存儲(chǔ)器,也可能還包括非易失性存儲(chǔ)器(non-volatilememory),例如至少ー個(gè)磁盤存儲(chǔ)器。程序532具體可以包括檢測(cè)單元,用于檢測(cè)部分或全部路徑的傳輸性能,并將檢測(cè)結(jié)果發(fā)送至判斷單元;判斷単元,用于接收所述檢測(cè)単元的檢測(cè)結(jié)果,根據(jù)所述檢測(cè)結(jié)果,判斷各路徑的路徑類型,并將判斷結(jié)果發(fā)送至路徑選擇單元;以及路徑選擇單元,用于接收所述判斷単元的判斷結(jié)果,根據(jù)所述判斷結(jié)果,分配10流的傳輸路徑根據(jù)第一性能路徑的承載能力以及10流的業(yè)務(wù)類型,將第二性能路徑上傳輸?shù)?0流至少部分切換至第一性能路徑;并且將從特定的第一性能路徑切換至其它路徑傳輸?shù)?0流切換回所述特定的第一性能路徑,所述特定的第一性能路徑為從第二性能路徑轉(zhuǎn)變?yōu)榈谝恍阅苈窂降穆窂?。程?32中各單元的具體實(shí)現(xiàn)可以參見圖1至圖4所示實(shí)施例中的相應(yīng)單元,在此不贅述。
所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡(jiǎn)潔,上述描述的設(shè)備和模塊的具體工作過程,可以參考前述方法實(shí)施例中的對(duì)應(yīng)過程描述,在此不再贅述。本領(lǐng)域普通技術(shù)人員可以意識(shí)到,結(jié)合本文中所公開的實(shí)施例描述的各示例的單元及方法步驟,能夠以電子硬件、或者計(jì)算機(jī)軟件和電子硬件的結(jié)合來實(shí)現(xiàn)。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專業(yè)技術(shù)人員可以對(duì)每個(gè)特定的應(yīng)用來使用不同方法來實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。所述功能如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括U盤、移動(dòng)硬盤、只讀存儲(chǔ)器(ROM,Read-Only Memory)、隨機(jī)存取 存儲(chǔ)器(RAM, RandomAccess Memory)、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。以上實(shí)施方式僅用于說明本發(fā)明,而并非對(duì)本發(fā)明的限制,有關(guān)技術(shù)領(lǐng)域的普通技術(shù)人員,在不脫離本發(fā)明的精神和范圍的情況下,還可以做出各種變化和變型,因此所有等同的技術(shù)方案也屬于本發(fā)明的范疇,本發(fā)明的專利保護(hù)范圍應(yīng)由權(quán)利要求限定。
權(quán)利要求
1.一種路徑選擇方法,其特征在于,包括檢測(cè)部分或全部路徑的傳輸性能;根據(jù)路徑的傳輸性能判斷各路徑的路徑類型,所述路徑類型包括第一性能路徑以及第二性能路徑,且所述第一性能路徑的傳輸性能高于所述第二性能路徑的傳輸性能;以及根據(jù)各路徑的所述路徑類型分配IO流的傳輸路徑根據(jù)第一性能路徑的承載能力以及IO流的業(yè)務(wù)類型,將第二性能路徑上傳輸?shù)腎O流至少部分切換至第一性能路徑;并且將從特定的第一性能路徑切換至其它路徑傳輸?shù)腎O流切換回所述特定的第一性能路徑,所述特定的第一性能路徑為從第二性能路徑轉(zhuǎn)變?yōu)榈谝恍阅苈窂降穆窂健?br>
2.如權(quán)利要求1所述的方法,其特征在于,在根據(jù)所述路徑類型分配IO流的傳輸路徑的步驟中若只存在第二性能路徑,則根據(jù)第二性能路徑的優(yōu)先級(jí)將全部IO流分配給第二性能路徑。
3.如權(quán)利要求1所述的方法,其特征在于,在根據(jù)所述路徑類型分配IO流的傳輸路徑的步驟中若只存在第一性能路徑,則根據(jù)第一性能路徑的優(yōu)先級(jí)將全部IO流分配給第一性能路徑。
4.如權(quán)利要求1所述的方法,其特征在于,在所述檢測(cè)部分或全部路徑的傳輸性能的步驟中,周期性地在待檢測(cè)路徑上傳輸檢測(cè)碼流,監(jiān)測(cè)所述待檢測(cè)路徑在所述周期內(nèi)的誤碼率;并且在所述根據(jù)各路徑的傳輸性能判斷各路徑的路徑類型的步驟中,根據(jù)所述誤碼率判斷對(duì)應(yīng)路徑的路徑類型。
5.如權(quán)利要求1所述的方法,其特征在于,所述路徑類型還包括故障路徑,所述故障路徑為不連通的路徑以及傳輸性能低于所述第二性能路徑的傳輸性能的路徑。
6.如權(quán)利要求5所述的方法,其特征在于,在根據(jù)所述路徑類型分配IO流的傳輸路徑的步驟中不為所述故障路徑分配IO流。
7.如權(quán)利要求1至6任一項(xiàng)所述的方法,其特征在于,所述傳輸性能包括路徑的通斷情況、錯(cuò)誤率、誤碼率、每秒IO數(shù)和/或IO延遲。
8.—種路徑選擇裝置,其特征在于,包括檢測(cè)單元,用于檢測(cè)部分或全部路徑的傳輸性能,并將檢測(cè)結(jié)果發(fā)送至判斷單元;判斷單元,用于接收所述檢測(cè)單元的檢測(cè)結(jié)果,根據(jù)所述檢測(cè)結(jié)果判斷各路徑的路徑類型,并將判斷結(jié)果發(fā)送至路徑選擇單元,所述路徑類型包括第一性能路徑以及第二性能路徑,且所述第一性能路徑的傳輸性能高于所述第二性能路徑的傳輸性能;以及路徑選擇單元,用于接收所述判斷單元的判斷結(jié)果,根據(jù)所述判斷結(jié)果分配IO流的傳輸路徑根據(jù)第一性能路徑的承載能力以及IO流的業(yè)務(wù)類型,將第二性能路徑上傳輸?shù)腎O流至少部分切換至第一性能路徑;并且將從特定的第一性能路徑切換至其它路徑傳輸?shù)腎O流切換回所述特定的第一性能路徑,所述特定的第一性能路徑為從第二性能路徑轉(zhuǎn)變?yōu)榈谝恍阅苈窂降穆窂健?br>
9.一種存儲(chǔ)區(qū)域網(wǎng)絡(luò),其特征在于,包括存儲(chǔ)設(shè)備以及權(quán)利要求8所述的路徑選擇裝置,所述路徑選擇裝置與所述存儲(chǔ)設(shè)備之間存在至少兩條連接路徑。
全文摘要
本發(fā)明提供了一種路徑選擇方法、裝置及存儲(chǔ)區(qū)域網(wǎng)絡(luò),涉及路由選擇技術(shù)領(lǐng)域。該方法包括檢測(cè)部分或全部路徑的傳輸性能;根據(jù)路徑的傳輸性能判斷各路徑的路徑類型;以及根據(jù)所述路徑類型分配IO流的傳輸路徑。本發(fā)明的方法、裝置及存儲(chǔ)區(qū)域網(wǎng)絡(luò),通過對(duì)路徑類型的及時(shí)、正確的判斷,并據(jù)此進(jìn)行IO流的傳輸路徑的動(dòng)態(tài)分配,可根據(jù)需要,對(duì)第二性能路徑分配IO流或不分配IO流,并在其恢復(fù)正常時(shí)及時(shí)將最適于在其上傳輸?shù)腎O流切換回來,從而實(shí)現(xiàn)更有效地多路徑管理,避免用戶業(yè)務(wù)可能出現(xiàn)的性能下降問題,能夠最大可能地為用戶提供最好的服務(wù),提升業(yè)務(wù)傳輸?shù)男阅芎涂煽啃浴?br>
文檔編號(hào)H04L12/721GK103023776SQ20121046499
公開日2013年4月3日 申請(qǐng)日期2012年11月16日 優(yōu)先權(quán)日2012年11月16日
發(fā)明者馬文武, 李經(jīng)緯, 張力 申請(qǐng)人:華為技術(shù)有限公司