一種出口映射自動(dòng)切換的方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于網(wǎng)絡(luò)通信領(lǐng)域,具體涉及一種跨DC網(wǎng)絡(luò)通信出口映射自動(dòng)切換的方法及系統(tǒng)。
【背景技術(shù)】
[0002]在網(wǎng)絡(luò)通信領(lǐng)域中,應(yīng)用端需要在多個(gè)DC間進(jìn)行通信及數(shù)據(jù)交互。但是由于DC間網(wǎng)絡(luò)不穩(wěn)定,經(jīng)常會(huì)出現(xiàn)應(yīng)用端之間暫時(shí)無(wú)法通信、數(shù)據(jù)交互延時(shí)等問題,這種情況有時(shí)候會(huì)持續(xù)幾個(gè)小時(shí)甚至幾天時(shí)間。為了解決這個(gè)問題,通常的方法是為本地應(yīng)用端配置多個(gè)出口映射,各個(gè)出口映射到遠(yuǎn)程應(yīng)用端的網(wǎng)絡(luò)路徑不同,當(dāng)某個(gè)出口映射網(wǎng)絡(luò)不通或狀態(tài)不好時(shí),通過(guò)手動(dòng)切換到另一個(gè)網(wǎng)絡(luò)狀態(tài)更好的出口映射,從而保障網(wǎng)絡(luò)通信,減少數(shù)據(jù)交互的延時(shí)。
[0003]通常的解決方法存在以下兩個(gè)問題:一是如何判斷出口映射的當(dāng)前網(wǎng)絡(luò)狀態(tài),如果判斷錯(cuò)誤,則可能會(huì)切換到網(wǎng)絡(luò)狀態(tài)更加不好的出口映射上,導(dǎo)致更加嚴(yán)重的擁堵;二是如何進(jìn)行出口映射切換,一般情況下是在出口映射網(wǎng)絡(luò)狀態(tài)不好而引起相關(guān)警報(bào)時(shí),管理人員進(jìn)行手動(dòng)切換,但是這種方式不僅費(fèi)時(shí)費(fèi)力,還可能引起一些人為操作錯(cuò)誤的情況出現(xiàn)。
[0004]在這些問題上,專利“通信信道自動(dòng)切換的方法”(如中國(guó)申請(qǐng):CN201410095295.5)做了相關(guān)研宄,其提出的方法主要為:每隔固定時(shí)間(比如一分鐘)對(duì)各通信信道收發(fā)數(shù)據(jù)測(cè)試包(心跳包),根據(jù)收發(fā)時(shí)間和收發(fā)數(shù)據(jù)量計(jì)算每個(gè)通信信道的傳輸速率,根據(jù)計(jì)算出的傳輸速率(即評(píng)估結(jié)果)確定當(dāng)前最優(yōu)通信信道,等待通信信道切換。該發(fā)明提出的方法在一定程度上解決了數(shù)據(jù)傳輸管道狀態(tài)判優(yōu)的問題。然而此方法所計(jì)算的傳輸速率會(huì)同時(shí)受到數(shù)據(jù)發(fā)送管道和接收管道的影響,比如:當(dāng)數(shù)據(jù)發(fā)送管道狀態(tài)很好時(shí),可能會(huì)由于接收管道狀態(tài)不好,致使所計(jì)算的傳輸速率下降,從而導(dǎo)致對(duì)管道狀態(tài)判斷錯(cuò)誤,引起錯(cuò)誤的切換。
【發(fā)明內(nèi)容】
[0005]為了解決上述問題,本發(fā)明目的是,提出一種出口映射自動(dòng)切換的方法及系統(tǒng)。旨在實(shí)現(xiàn)跨DC通信及數(shù)據(jù)交互時(shí),應(yīng)用端可以在當(dāng)前正在使用的出口映射網(wǎng)絡(luò)狀態(tài)不好時(shí),及時(shí)自動(dòng)切換到網(wǎng)絡(luò)狀態(tài)最優(yōu)的出口映射,以顯著提高應(yīng)用端之間在跨DC通信及數(shù)據(jù)交互時(shí)的實(shí)時(shí)性、可靠性、一致性等。
[0006]本發(fā)明的技術(shù)方案是:一種出口映射自動(dòng)切換的方法,本地應(yīng)用端通過(guò)不同的出口映射以相同頻率向遠(yuǎn)程應(yīng)用端發(fā)送網(wǎng)絡(luò)狀態(tài)探測(cè)消息,經(jīng)過(guò)遠(yuǎn)程應(yīng)用端響應(yīng)后,本地應(yīng)用端接收遠(yuǎn)程應(yīng)用端的統(tǒng)計(jì)結(jié)果,進(jìn)而判斷狀態(tài)最優(yōu)的出口映射,并自動(dòng)使用此出口映射進(jìn)行消息傳送,具體包括以下步驟:
[0007]步驟一、為需要跨數(shù)據(jù)中心DC訪問的本地應(yīng)用端創(chuàng)建從本地DC到遠(yuǎn)程DC的多個(gè)出口映射,各個(gè)出口映射到遠(yuǎn)程應(yīng)用端的網(wǎng)絡(luò)路徑不同;
[0008]步驟二、本地應(yīng)用端請(qǐng)求從本地DC到遠(yuǎn)程DC的所有出口映射,在取得所有出口映射后,為各個(gè)出口映射創(chuàng)建出口映射網(wǎng)絡(luò)狀態(tài)探測(cè)器(status detector);
[0009]步驟三、本地應(yīng)用端的出口映射網(wǎng)絡(luò)狀態(tài)探測(cè)器啟動(dòng)出口映射網(wǎng)絡(luò)狀態(tài)探測(cè)線程,生成網(wǎng)絡(luò)狀態(tài)探測(cè)消息,并通知本地應(yīng)用端的消息傳送器(message connect1n)向遠(yuǎn)程應(yīng)用端發(fā)送網(wǎng)絡(luò)狀態(tài)探測(cè)消息;
[0010]步驟四、消息傳送器(message sender)接收網(wǎng)絡(luò)狀態(tài)探測(cè)消息,同時(shí)還接收正常通信交互消息,再分別使用消息交互管道(message connect1n)和出口映射網(wǎng)絡(luò)狀態(tài)探測(cè)管道(status detect connect1n)傳送消息,具體來(lái)說(shuō):使用消息交互管道連接到當(dāng)前正在使用的出口映射傳送正常通信交互消息,保證正常通信,使用出口映射網(wǎng)絡(luò)狀態(tài)探測(cè)管道連接到各個(gè)出口映射以相同頻率傳送網(wǎng)絡(luò)狀態(tài)探測(cè)消息,既保證網(wǎng)絡(luò)狀態(tài)探測(cè)消息的傳送又防止對(duì)正常通信的干擾;
[0011]步驟五、遠(yuǎn)程應(yīng)用端統(tǒng)計(jì)通過(guò)各個(gè)出口映射接收到的網(wǎng)絡(luò)狀態(tài)探測(cè)消息量,每隔一個(gè)統(tǒng)計(jì)周期將統(tǒng)計(jì)結(jié)果通過(guò)所有出口映射返回給本地應(yīng)用端,以保證本地應(yīng)用端能接收到統(tǒng)計(jì)結(jié)果,防止因部分出口映射狀態(tài)欠佳而無(wú)法接收到或者不能及時(shí)接收到統(tǒng)計(jì)結(jié)果;
[0012]步驟六、本地應(yīng)用端收集到各個(gè)出口映射的統(tǒng)計(jì)結(jié)果,判斷哪個(gè)出口映射狀態(tài)最優(yōu),具體步驟為:
[0013]步驟1:本地應(yīng)用端比較接收到的統(tǒng)計(jì)結(jié)果,如果一個(gè)統(tǒng)計(jì)周期內(nèi)遠(yuǎn)程應(yīng)用端通過(guò)某個(gè)出口映射接收到的網(wǎng)絡(luò)狀態(tài)探測(cè)消息量最大,則其為狀態(tài)優(yōu)的出口映射;
[0014]步驟2:本地應(yīng)用端比較一個(gè)統(tǒng)計(jì)周期內(nèi)遠(yuǎn)程應(yīng)用端通過(guò)當(dāng)前正在使用的出口映射與通過(guò)步驟I中狀態(tài)優(yōu)的出口映射接收到的網(wǎng)絡(luò)狀態(tài)探測(cè)消息量,并設(shè)置比較量之間的靈敏度閥值,如果一個(gè)統(tǒng)計(jì)周期內(nèi)遠(yuǎn)程應(yīng)用端通過(guò)當(dāng)前正在使用的出口映射接收到的網(wǎng)絡(luò)狀態(tài)探測(cè)消息量與通過(guò)步驟I中狀態(tài)優(yōu)的出口映射接收到的網(wǎng)絡(luò)狀態(tài)探測(cè)消息量差值的絕對(duì)值小于或等于靈敏度閥值,則狀態(tài)最優(yōu)的出口映射仍為當(dāng)前正在使用的出口映射,反之,狀態(tài)最優(yōu)的出口映射則為步驟I中狀態(tài)優(yōu)的出口映射;
[0015]步驟七、本地應(yīng)用端自動(dòng)使用狀態(tài)最優(yōu)的出口映射,具體為:如果判斷狀態(tài)最優(yōu)的出口映射為步驟六的步驟I中狀態(tài)優(yōu)的出口映射,則通知消息傳送器切換消息交互管道連接到此出口映射,如果判斷狀態(tài)最優(yōu)的出口映射仍為當(dāng)前正在使用的出口映射,則不發(fā)出切換出口映射通知,消息交互管道繼續(xù)連接到當(dāng)前正在使用的出口映射,如此不需要切換出口映射,從而減少頻繁切換出口映射帶來(lái)的時(shí)間、資源損耗。
[0016]一種出口映射自動(dòng)切換的系統(tǒng),包括本地應(yīng)用端和遠(yuǎn)程應(yīng)用端。
[0017]所述本地應(yīng)用端用于通過(guò)不同的出口映射以相同頻率向遠(yuǎn)程應(yīng)用端發(fā)送網(wǎng)絡(luò)狀態(tài)探測(cè)消息,經(jīng)過(guò)遠(yuǎn)程應(yīng)用端響應(yīng)后,所述本地應(yīng)用端接收遠(yuǎn)程應(yīng)用端的統(tǒng)計(jì)結(jié)果,進(jìn)而判斷狀態(tài)最優(yōu)的出口映射,并自動(dòng)使用此出口映射進(jìn)行消息傳送。
[0018]所述本地應(yīng)用端包括出口映射管理器(host mapping manager)、出口映射網(wǎng)絡(luò)狀態(tài)收集器(status collector)、出口映射網(wǎng)絡(luò)狀態(tài)探測(cè)器(status detector)、消息傳送器(message sender)、出口映射網(wǎng)絡(luò)狀態(tài)探測(cè)管道(status detect connect1n)、消息交互管道(message connect1n)、出口映射網(wǎng)絡(luò)狀態(tài)探測(cè)消息響應(yīng)接收器(status detectresponse receive handler);
[0019]所述出口映射管理器(host mapping manager),用于管理需要跨數(shù)據(jù)中心DC訪問的本地應(yīng)用端從本地DC到遠(yuǎn)程DC的多個(gè)出口映射,負(fù)責(zé)新增、更新、獲取及序列化需要跨數(shù)據(jù)中心DC訪問的本地應(yīng)用端從本地DC到遠(yuǎn)程DC的多個(gè)出口映射;
[0020]所述出口映射網(wǎng)絡(luò)狀態(tài)收集器(status collector),用于向出口映射管理器(host mapping manager)請(qǐng)求從本地DC到遠(yuǎn)程DC的所有出口映射,在取得所有出口映射后,為各個(gè)出口映射創(chuàng)建出口映射網(wǎng)絡(luò)狀態(tài)探測(cè)器(status detector),還用于更新各個(gè)出口映射網(wǎng)絡(luò)狀態(tài),并根據(jù)一種出口映射自動(dòng)切換的方法中步驟六判斷哪個(gè)出口映射網(wǎng)絡(luò)狀態(tài)最優(yōu),如果判斷狀態(tài)最優(yōu)的出口映射為上述步驟六的步驟I中狀態(tài)優(yōu)的出口映射,則通知消息傳送器(message sender)切換消息交互管道(message connect1n)連接到此出口映射,如果判斷狀態(tài)最優(yōu)的出口映射仍為當(dāng)前正在使用的出口映射,則不發(fā)出切換出口映射通知,消息交互管道(message connect1n)繼續(xù)連接到當(dāng)前正在使用的出口映射;
[0021]所述出口映射網(wǎng)絡(luò)狀態(tài)探測(cè)器(status detector),用于啟動(dòng)各個(gè)出口映射的探測(cè)線程,且生成網(wǎng)絡(luò)狀態(tài)探測(cè)消息,并通知消息傳送器(message sender)發(fā)送網(wǎng)絡(luò)狀態(tài)探測(cè)消息;
[0022]所述消息傳送器(message sender),用于同時(shí)接收正常通信交互消息和網(wǎng)絡(luò)狀態(tài)探測(cè)消息,再分別使用消息交互管道(message connect1n)傳送正常通信交互消息,使用出口映射網(wǎng)絡(luò)狀態(tài)探測(cè)管道(status detect connect1n)傳送網(wǎng)絡(luò)狀態(tài)探測(cè)消息。
[0023]所述出口映射網(wǎng)絡(luò)狀態(tài)探測(cè)管道(status detect connect1n),用于出口映射狀態(tài)探測(cè)時(shí),連接到多個(gè)出口映射,以相同頻率向遠(yuǎn)程應(yīng)用端發(fā)送網(wǎng)絡(luò)狀態(tài)探測(cè)消息。
[0024]所述消息交互管道(message connect1n),用于正常通信或者出口映射狀態(tài)探測(cè)時(shí),連接到當(dāng)前正在使用的出口映射,發(fā)送并接收與遠(yuǎn)程應(yīng)用端的正常通信交互消息;
[0025]所述出口映射網(wǎng)絡(luò)狀態(tài)探測(cè)消息響應(yīng)接收器(status detect response receivehandler),用于接收遠(yuǎn)程應(yīng)用端返回的網(wǎng)絡(luò)狀態(tài)探測(cè)統(tǒng)計(jì)結(jié)果,并通知出口映射網(wǎng)絡(luò)狀態(tài)收集器(status collector)更新出口映射網(wǎng)絡(luò)狀態(tài)。
[0026]所述遠(yuǎn)程應(yīng)用端包括出口映射網(wǎng)絡(luò)狀態(tài)探測(cè)消息響應(yīng)器(status detectresponse handler)。
[0027]所述出口映射網(wǎng)絡(luò)狀態(tài)探測(cè)消息響應(yīng)器(status detect response handler),用于接收本地應(yīng)用端發(fā)送來(lái)的網(wǎng)絡(luò)狀態(tài)探測(cè)消息,統(tǒng)計(jì)通過(guò)各個(gè)出口映射接收到的網(wǎng)絡(luò)狀態(tài)探測(cè)消息量,每隔一個(gè)統(tǒng)計(jì)周期將統(tǒng)計(jì)結(jié)果通過(guò)所有出口映射返