一種空管自動化系統(tǒng)的雙網(wǎng)熱備冗余實(shí)現(xiàn)方法
【專利摘要】一種空管自動化系統(tǒng)的雙網(wǎng)熱備冗余實(shí)現(xiàn)方法。其包括建立網(wǎng)絡(luò)硬件連接拓?fù)?、在每臺機(jī)器控制程序的應(yīng)用層建立網(wǎng)絡(luò)狀態(tài)監(jiān)控流程、在每臺機(jī)器的網(wǎng)絡(luò)監(jiān)控流程中建立工作網(wǎng)切換控制流程、在每臺機(jī)器的數(shù)據(jù)發(fā)送端建立冗余發(fā)送操作流程、在每臺機(jī)器的接收端建立數(shù)據(jù)過濾控制流程、建立網(wǎng)絡(luò)狀態(tài)監(jiān)控終端等步驟。本發(fā)明方法具有的優(yōu)點(diǎn):采用分布式的網(wǎng)絡(luò)監(jiān)控機(jī)制,對網(wǎng)絡(luò)狀態(tài)實(shí)時監(jiān)控,網(wǎng)絡(luò)自動切換速度快;兩個三層交換機(jī)級聯(lián),每臺機(jī)器只要有一個網(wǎng)是正常的,雙方就能進(jìn)行通信,避免交叉故障;在數(shù)據(jù)傳輸上,發(fā)送端向接收端的主備網(wǎng)同時發(fā)送數(shù)據(jù),實(shí)現(xiàn)數(shù)據(jù)在主備網(wǎng)上的冗余,通過數(shù)據(jù)編號和時間戳的過濾,避免重收和漏收,保證了切換的有效性和無縫性。
【專利說明】一種空管自動化系統(tǒng)的雙網(wǎng)熱備冗余實(shí)現(xiàn)方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于航空自動控制【技術(shù)領(lǐng)域】,特別是涉及一種空管自動化系統(tǒng)的雙網(wǎng)熱備冗余實(shí)現(xiàn)方法。
【背景技術(shù)】
[0002]在航空領(lǐng)域,對系統(tǒng)的穩(wěn)定性和安全性的要求非常高,有的時候甚至可以犧牲一定的效率來換取性能的穩(wěn)定。網(wǎng)絡(luò)是連接空管自動化系統(tǒng)各數(shù)據(jù)處理節(jié)點(diǎn)的信息通道,是將這個分布式系統(tǒng)連接成一個整體的基本媒介。因此,解決網(wǎng)絡(luò)中數(shù)據(jù)傳輸?shù)目煽啃允峭ㄐ胚^程中非常重要的問題。為防止軟件、硬件或線路故障帶來的通訊中斷和系統(tǒng)崩潰,目前基本上所有的類似系統(tǒng)都采用雙網(wǎng)結(jié)構(gòu),保證任何一個網(wǎng)絡(luò)出現(xiàn)故障的情況下,不會對空管自動化系統(tǒng)造成影響。這要求通信模塊提供一個支持冗余的通信方式,當(dāng)發(fā)現(xiàn)單網(wǎng)故障的情況下無縫地切換到另一個網(wǎng)絡(luò)。
[0003]現(xiàn)在一般的服務(wù)器都有多塊網(wǎng)卡,一些操作系統(tǒng)如IBM、HP-UX、Windows2000/XP等都可以使用自帶的軟件將網(wǎng)卡聚合,達(dá)到雙網(wǎng)熱備冗余的目的。但是,這些聚合軟件實(shí)現(xiàn)雙網(wǎng)冗余的配置方法,網(wǎng)絡(luò)切換速度及丟包情況等方面都各不相同,且需要依賴操作系統(tǒng)的支持,甚至需要依靠交換機(jī)的支持。同時,目前大部分其它的雙網(wǎng)方案均采用通過單網(wǎng)發(fā)送和接收數(shù)據(jù)。當(dāng)網(wǎng)絡(luò)發(fā)生故障時,同時又切到另一個網(wǎng)絡(luò)發(fā)送和接收。由于網(wǎng)絡(luò)故障的判斷需要時間,從而導(dǎo)致在判斷期間發(fā)送數(shù)據(jù)的大量丟失,比如不帶重傳機(jī)制的UDP傳輸。如果切換后,網(wǎng)絡(luò)將未傳輸?shù)臄?shù)據(jù)重新發(fā)送,比如帶重傳機(jī)制的UDP傳輸和TCP傳輸,會導(dǎo)致接收方在短時間內(nèi)處理大量數(shù)據(jù),這些數(shù)據(jù)可能已經(jīng)是接收方不關(guān)心的過時數(shù)據(jù)。
【發(fā)明內(nèi)容】
[0004]為了解決上述問題,本發(fā)明的目的在于提供一種空管自動化系統(tǒng)的雙網(wǎng)熱備冗余實(shí)現(xiàn)方法。
[0005]為了達(dá)到上述目的,本發(fā)明提供的空管自動化系統(tǒng)的雙網(wǎng)熱備冗余實(shí)現(xiàn)方法包括:第一步、建立網(wǎng)絡(luò)硬件連接拓?fù)?,第二步、在每臺機(jī)器控制程序的應(yīng)用層建立網(wǎng)絡(luò)狀態(tài)監(jiān)控流程,第三步、在每臺機(jī)器的網(wǎng)絡(luò)監(jiān)控流程中建立工作網(wǎng)切換控制流程,第四步、在每臺機(jī)器的數(shù)據(jù)發(fā)送端建立冗余發(fā)送操作流程,第五步、在每臺機(jī)器的接收端建立數(shù)據(jù)過濾控制流程,第六步、建立網(wǎng)絡(luò)狀態(tài)監(jiān)控終端;其中:
[0006]第一步、建立網(wǎng)絡(luò)硬件連接拓?fù)?建立雙網(wǎng)熱備冗余網(wǎng)絡(luò),該網(wǎng)絡(luò)主要包括:多臺機(jī)器Al、A2…An,交換機(jī)Jl和交換機(jī)J2,主網(wǎng)LI和備網(wǎng)L2以及網(wǎng)絡(luò)狀態(tài)監(jiān)控終端B ;其中:
[0007]機(jī)器Al、A2…An為網(wǎng)絡(luò)內(nèi)部的多臺計算機(jī),每臺機(jī)器都配置兩塊網(wǎng)卡,兩塊網(wǎng)卡分別通過主網(wǎng)LI和備網(wǎng)L2與交換機(jī)Jl和交換機(jī)J2相連接;
[0008]交換機(jī)I和交換機(jī)2:為兩個三層交換機(jī),支持路由功能,且相互級聯(lián),實(shí)現(xiàn)主網(wǎng)LI和備網(wǎng)L2的互通;[0009]網(wǎng)絡(luò)狀態(tài)監(jiān)控終端B為專門用來監(jiān)控主網(wǎng)LI和備網(wǎng)L2工作狀態(tài)的計算機(jī),其配置兩塊網(wǎng)卡,兩塊網(wǎng)卡分別通過主網(wǎng)LI和備網(wǎng)L2與交換機(jī)Jl和交換機(jī)J2相連接;
[0010]第二步、在每臺機(jī)器控制程序的應(yīng)用層建立網(wǎng)絡(luò)狀態(tài)監(jiān)控流程:網(wǎng)絡(luò)狀態(tài)監(jiān)控流程能夠通過主網(wǎng)LI和備網(wǎng)L2向?qū)?yīng)的三層交換機(jī)發(fā)送ICMP請求報文,同時接收交換機(jī)的ICMP應(yīng)答報文,如果機(jī)器的某個網(wǎng)絡(luò)連續(xù)未接收ICMP應(yīng)答報文或接收ICMP錯誤應(yīng)答報文的個數(shù)超過設(shè)置的閾值時,判斷出該機(jī)器的這個網(wǎng)絡(luò)發(fā)生故障,發(fā)出網(wǎng)絡(luò)故障告警通知;
[0011]第三步、在每臺機(jī)器的網(wǎng)絡(luò)監(jiān)控流程中建立工作網(wǎng)切換控制流程:當(dāng)網(wǎng)絡(luò)發(fā)生故障或網(wǎng)絡(luò)恢復(fù)正常時,工作網(wǎng)切換控制流程能夠根據(jù)要求實(shí)施工作網(wǎng)的自動切換;
[0012]第四步、在每臺機(jī)器的數(shù)據(jù)發(fā)送端建立冗余發(fā)送操作流程:發(fā)送端在數(shù)據(jù)發(fā)送前先對數(shù)據(jù)進(jìn)行封裝,添加數(shù)據(jù)編號和時間戳;然后通過工作網(wǎng)向接收端的主備網(wǎng)同時發(fā)送數(shù)據(jù),實(shí)現(xiàn)發(fā)送數(shù)據(jù)的主備冗余;
[0013]第五步、在每臺機(jī)器的接收端建立數(shù)據(jù)過濾控制流程:接收端從主備網(wǎng)同時接收數(shù)據(jù),并通過數(shù)據(jù)的編號和時間戳過濾數(shù)據(jù),保證只接收一份數(shù)據(jù),避免數(shù)據(jù)的重收和漏收;
[0014]第六步、建立網(wǎng)絡(luò)狀態(tài)監(jiān)控終端:設(shè)計網(wǎng)絡(luò)狀態(tài)監(jiān)控終端接收和顯示每臺機(jī)器發(fā)送的流量信息及網(wǎng)絡(luò)狀態(tài)信息;網(wǎng)絡(luò)管理員通過網(wǎng)絡(luò)狀態(tài)監(jiān)控終端獲得網(wǎng)絡(luò)中主備網(wǎng)的負(fù)載狀況和每臺機(jī)器的網(wǎng)絡(luò)狀態(tài);如果管理員發(fā)現(xiàn)某個網(wǎng)絡(luò)所連接的交換機(jī)負(fù)載過重,通過網(wǎng)絡(luò)狀態(tài)監(jiān)控終端發(fā)送網(wǎng)絡(luò)切換命令,強(qiáng)制某臺機(jī)器進(jìn)行網(wǎng)絡(luò)切換,實(shí)現(xiàn)網(wǎng)絡(luò)的負(fù)載均衡。
[0015]在第二步中,所述的網(wǎng)絡(luò)狀態(tài)監(jiān)控流程包括按順序執(zhí)行的下列步驟:
[0016]步驟一、判斷是否退出網(wǎng)絡(luò)監(jiān)控流程的S201階段:判斷當(dāng)前是否存在退出網(wǎng)絡(luò)監(jiān)控流程的指令,如果判斷結(jié)果為“是”,則退出本流程;否則下一步進(jìn)入S202階段;
[0017]步驟二、定時發(fā)送ICMP請求報文的S202階段:定時向每個網(wǎng)卡所對應(yīng)的三層交換機(jī)發(fā)送ICMP請求報文,監(jiān)控主網(wǎng)LI和備網(wǎng)L2的工作狀態(tài);
[0018]步驟三、判斷是否接收到ICMP應(yīng)答報文的S203階段:在規(guī)定的時間內(nèi),判斷是否接收到三層交換機(jī)的ICMP應(yīng)答報文,若判斷結(jié)果為“是”,則下一步進(jìn)入206階段,否則下一步執(zhí)行S204階段;
[0019]步驟四、判斷ICMP應(yīng)答報文接收是否正常的S204階段:查看連續(xù)未接收的ICMP報文的個數(shù)是否超過設(shè)定值,若判斷結(jié)果為“是”,則返回S201階段的入口處,下一步執(zhí)行S201階段;否則,下一步進(jìn)入S205階段;
[0020]步驟五、發(fā)出網(wǎng)絡(luò)故障告警通知的S205階段:根據(jù)S204階段的判斷,確認(rèn)某網(wǎng)絡(luò)出現(xiàn)故障,發(fā)布針對該網(wǎng)的網(wǎng)絡(luò)故障告警通知,然后返回S201階段的入口處,下一步執(zhí)行S201階段;
[0021]步驟六、判斷前一時刻網(wǎng)絡(luò)是否正常的S206階段:查看前一時刻網(wǎng)絡(luò)是否正常,若判斷結(jié)果為“是”,則返回至S201階段的入口處,下一步執(zhí)行S201階段;否則,下一步進(jìn)入S207階段;
[0022]步驟七、發(fā)出網(wǎng)絡(luò)故障恢復(fù)通知的S207階段:根據(jù)206階段的判斷,發(fā)布網(wǎng)絡(luò)故障恢復(fù)通知,然后返回S201階段的入口處,下一步執(zhí)行S201階段。
[0023]在第三步中,所述的工作網(wǎng)切換控制流程包括按順序執(zhí)行的下列步驟:
[0024]步驟一、判斷是否收到網(wǎng)絡(luò)切換指令的S301階段:判斷當(dāng)前是否收到網(wǎng)絡(luò)狀態(tài)監(jiān)控終端B所發(fā)出的網(wǎng)絡(luò)切換指令,如果判斷結(jié)果為“是”,則進(jìn)入下一步S302階段;否則下一步進(jìn)入S312階段;
[0025]步驟二、判斷是否有狀態(tài)變化通知的S302階段:判斷當(dāng)前是否有網(wǎng)絡(luò)狀態(tài)監(jiān)控流程所發(fā)布的網(wǎng)絡(luò)故障告警通知或網(wǎng)絡(luò)故障恢復(fù)通知,如果判斷結(jié)果為“是”,則進(jìn)入下一步S303階段;否則退出本流程;
[0026]步驟三、狀態(tài)分支的S303階段:根據(jù)當(dāng)前網(wǎng)絡(luò)的工作狀態(tài),進(jìn)行狀態(tài)分支,即當(dāng)前網(wǎng)絡(luò)工作狀態(tài)為狀態(tài)O時,下一步進(jìn)入S304階段;當(dāng)前網(wǎng)絡(luò)工作狀態(tài)為狀態(tài)I時,下一步進(jìn)入S306階段;當(dāng)前網(wǎng)絡(luò)工作狀態(tài)為狀態(tài)4時,下一步進(jìn)入S308階段;當(dāng)前網(wǎng)絡(luò)工作狀態(tài)為狀態(tài)5時,下一步進(jìn)入S310階段;
[0027]步驟四、判斷是否為主網(wǎng)恢復(fù)通知的S304階段:判斷當(dāng)前的網(wǎng)絡(luò)變化通知是否為主網(wǎng)恢復(fù)通知,如果判斷結(jié)果為“是”,則進(jìn)入下一步S305階段;否則本流程至此結(jié)束;
[0028]步驟五、設(shè)置主網(wǎng)為工作網(wǎng)的S305階段:將主網(wǎng)設(shè)置為工作網(wǎng),本流程至此結(jié)束;
[0029]步驟六、判斷是否為備網(wǎng)恢復(fù)通知的S306階段:判斷當(dāng)前的網(wǎng)絡(luò)變化通知是否為備網(wǎng)恢復(fù)通知,如果判斷結(jié)果為“是”,則進(jìn)入下一步S307階段;否則本流程至此結(jié)束;
[0030]步驟七、設(shè)置備網(wǎng)為工作網(wǎng)的S307階段:將備網(wǎng)設(shè)置為工作網(wǎng),本流程至此結(jié)束;
[0031]步驟八、判斷是否為備網(wǎng)故障通知的S308階段:判斷當(dāng)前的網(wǎng)絡(luò)變化通知是否為備網(wǎng)故障通知,如果判斷結(jié)果為“是”,則進(jìn)入下一步S309階段;否則本流程至此結(jié)束;
[0032]步驟九、設(shè)置主網(wǎng)為工作網(wǎng)的S309階段:將主網(wǎng)設(shè)置為工作網(wǎng),本流程至此結(jié)束;
[0033]步驟十、判斷是否為主網(wǎng)故障通知的S310階段:判斷當(dāng)前的網(wǎng)絡(luò)變化通知是否為主網(wǎng)故障通知,如果判斷結(jié)果為“是”,則進(jìn)入下一步S311階段;否則本流程至此結(jié)束;
[0034]步驟--一、設(shè)置備網(wǎng)為工作網(wǎng)的S311階段:將備網(wǎng)設(shè)置為工作網(wǎng),本流程至此結(jié)束;
[0035]步驟十二、根據(jù)指令進(jìn)行切換的S312階段:根據(jù)收到的網(wǎng)絡(luò)切換指令,對工作網(wǎng)進(jìn)行切換,本流程至此結(jié)束。
[0036]在S312階段中,所述的對工作網(wǎng)進(jìn)行切換的操作方法是:首先判斷當(dāng)前的網(wǎng)絡(luò)工作狀態(tài)是否為狀態(tài)4和狀態(tài)5,如果判斷結(jié)果為“是”,則執(zhí)行網(wǎng)絡(luò)切換指令,對工作網(wǎng)進(jìn)行切換;否則不執(zhí)行任何操作,退出流程。
[0037]在第四步中,所述的冗余發(fā)送操作流程包括按順序執(zhí)行的下列步驟:
[0038]步驟一、數(shù)據(jù)封裝包的S401階段:在數(shù)據(jù)發(fā)送前先對數(shù)據(jù)進(jìn)行封裝,形成發(fā)送數(shù)據(jù)包;
[0039]步驟二、添加編號和時間戳的S402階段:在發(fā)送數(shù)據(jù)包的包頭部分加入數(shù)據(jù)編號和包含當(dāng)前時間信息的時·間戳;
[0040]步驟三、通過工作網(wǎng)向接收端的主備網(wǎng)同時發(fā)送數(shù)據(jù)包的S403階段:通過工作網(wǎng)向接收端的主網(wǎng)LI和備網(wǎng)L2同時發(fā)送數(shù)據(jù)包,實(shí)現(xiàn)發(fā)送數(shù)據(jù)的主備網(wǎng)冗余。
[0041]在第五步中,所述的數(shù)據(jù)過濾控制流程包括按順序執(zhí)行的下列步驟:
[0042]步驟一、判斷是否要退出數(shù)據(jù)接收流程的S501階段:判斷當(dāng)前是否存在退出數(shù)據(jù)接收流程的指令,若判斷結(jié)果為“是”,則停止接收數(shù)據(jù),退出本流程;否則進(jìn)入下一步S502階段;
[0043]步驟二、接收數(shù)據(jù)的S502階段:從主網(wǎng)LI和備網(wǎng)L2同時接收數(shù)據(jù);[0044]步驟三、獲取數(shù)據(jù)編號和時間戳的S503階段:解析接收的數(shù)據(jù),獲取數(shù)據(jù)編號和時間戳信息;
[0045]步驟四、檢查數(shù)據(jù)編號是否正常的S504階段:首先檢查數(shù)據(jù)編號是否符合要求,如果判斷結(jié)果為“是”,則下一步進(jìn)入S506階段,否則下一步執(zhí)行S505階段;
[0046]步驟五、檢查時間戳是否正常S505階段:檢查時間戳是否符合要求,若時間戳符合要求,則下一步進(jìn)入S506階段;若時間戳不符合要求,則返回S501階段的入口處,下一步執(zhí)行S501階段;
[0047]步驟六、處理數(shù)據(jù)的S506階段:保存數(shù)據(jù)以備后續(xù)處理之用,然后返回S501階段的入口處,下一步執(zhí)行S501階段。
[0048]在S504階段中,所述的檢查數(shù)據(jù)編號是否符合要求的具體方法是:如果當(dāng)前時刻接收的數(shù)據(jù)編號比前一時刻接收的數(shù)據(jù)編號大,說明是新數(shù)據(jù),認(rèn)為編號符合要求;如果當(dāng)前時刻接收的數(shù)據(jù)的編號比前一時刻接收的數(shù)據(jù)的編號小,且落在溢出判斷窗口內(nèi),說明是新數(shù)據(jù),認(rèn)為編號符合要求。
[0049]在S505階段中,所述的檢查時間戳是否符合要求的具體方法是:如果當(dāng)前時刻接收的數(shù)據(jù)的時間戳比前一時刻接收的數(shù)據(jù)的時間戳大,則說明是新數(shù)據(jù),認(rèn)為時間戳符合要求。
[0050]本發(fā)明提供的空管自動化系統(tǒng)的雙網(wǎng)熱備冗余實(shí)現(xiàn)方法所建立的控制流程均工作在應(yīng)用層,不依賴于機(jī)器的操作系統(tǒng),同時采用了高效、準(zhǔn)確的網(wǎng)絡(luò)監(jiān)測和切換方法。
[0051]本發(fā)明具有的優(yōu)點(diǎn)是:(a)采用分布式的網(wǎng)絡(luò)監(jiān)控機(jī)制,每臺機(jī)器都有網(wǎng)絡(luò)監(jiān)控程序,對網(wǎng)絡(luò)狀態(tài)實(shí)時監(jiān)控,網(wǎng)絡(luò)自動切換速度快;(b)兩個三層交換機(jī)級聯(lián),每臺機(jī)器只要有一個網(wǎng)是正常的,雙方就能進(jìn)行通信,避免交叉故障;(C)在數(shù)據(jù)傳輸上,發(fā)送端向接收端的主備網(wǎng)同時發(fā)送數(shù)據(jù),實(shí)現(xiàn)數(shù)據(jù)在主備網(wǎng)上的冗余,通過數(shù)據(jù)編號和時間戳的過濾,避免重收和漏收,保證了切換的有效性和無縫性;(d)只有在當(dāng)前的工作網(wǎng)發(fā)生故障時,才進(jìn)行網(wǎng)絡(luò)的自動切換,避免網(wǎng)絡(luò)的頻繁切換帶來的不可靠性;(e)管理員可以通過網(wǎng)絡(luò)狀態(tài)監(jiān)控終端控制各機(jī)器的網(wǎng)絡(luò)工作狀態(tài),實(shí)現(xiàn)網(wǎng)絡(luò)的負(fù)載均衡。
【專利附圖】
【附圖說明】
[0052]圖1為本發(fā)明提供的空管自動化系統(tǒng)的雙網(wǎng)熱備冗余實(shí)現(xiàn)方法的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)示意圖;
[0053]圖2是本發(fā)明提供的空管自動化系統(tǒng)的雙網(wǎng)熱備冗余實(shí)現(xiàn)方法中的網(wǎng)絡(luò)狀態(tài)監(jiān)控流程圖;
[0054]圖3是本發(fā)明提供的空管自動化系統(tǒng)的雙網(wǎng)熱備冗余實(shí)現(xiàn)方法中網(wǎng)絡(luò)切換的狀態(tài)轉(zhuǎn)移圖;
[0055]圖4是本發(fā)明提供的空管自動化系統(tǒng)的雙網(wǎng)熱備冗余實(shí)現(xiàn)方法中的工作網(wǎng)切換流程圖;
[0056]圖5是本發(fā)明提供的空管自動化系統(tǒng)的雙網(wǎng)熱備冗余實(shí)現(xiàn)方法中的數(shù)據(jù)發(fā)送流程圖;
[0057]圖6是本發(fā)明提供的空管自動化系統(tǒng)的雙網(wǎng)熱備冗余實(shí)現(xiàn)方法中的數(shù)據(jù)接收過濾流程圖?!揪唧w實(shí)施方式】
[0058]下面結(jié)合附圖和具體實(shí)施例對本發(fā)明提供的一種空管自動化系統(tǒng)的雙網(wǎng)熱備冗余實(shí)現(xiàn)方法進(jìn)行詳細(xì)說明。
[0059]如圖1所示,本發(fā)明提供的空管自動化系統(tǒng)的雙網(wǎng)熱備冗余實(shí)現(xiàn)方法包括:第一步、建立網(wǎng)絡(luò)硬件連接拓?fù)?,第二步、在每臺機(jī)器控制程序的應(yīng)用層建立網(wǎng)絡(luò)狀態(tài)監(jiān)控流程,第三步、在每臺機(jī)器的網(wǎng)絡(luò)監(jiān)控流程中建立工作網(wǎng)切換控制流程,第四步、在每臺機(jī)器的數(shù)據(jù)發(fā)送端建立冗余發(fā)送操作流程,第五步、在每臺機(jī)器的接收端建立數(shù)據(jù)過濾控制流程,第六步、建立網(wǎng)絡(luò)狀態(tài)監(jiān)控終端;其中:
[0060]第一步、建立網(wǎng)絡(luò)硬件連接拓?fù)?建立如圖1所示的雙網(wǎng)熱備冗余網(wǎng)絡(luò),該網(wǎng)絡(luò)主要包括:多臺機(jī)器Al、A2…An,交換機(jī)Jl和交換機(jī)J2,主網(wǎng)LI (圖1中細(xì)實(shí)線)和備網(wǎng)L2(圖1中虛線)以及網(wǎng)絡(luò)狀態(tài)監(jiān)控終端B ;其中:
[0061]機(jī)器Al、A2…An為·網(wǎng)絡(luò)內(nèi)部的多臺計算機(jī),其每臺機(jī)器都配置兩塊網(wǎng)卡,兩塊網(wǎng)卡分別通過主網(wǎng)LI和備網(wǎng)L2與交換機(jī)Jl和交換機(jī)J2相連接;
[0062]交換機(jī)I和交換機(jī)2:為兩個三層交換機(jī),支持路由功能,且相互級聯(lián),實(shí)現(xiàn)主網(wǎng)LI和備網(wǎng)L2的互通;
[0063]網(wǎng)絡(luò)狀態(tài)監(jiān)控終端B為專門用來監(jiān)控主網(wǎng)LI和備網(wǎng)L2工作狀態(tài)的計算機(jī),其配置兩塊網(wǎng)卡,兩塊網(wǎng)卡分別通過主網(wǎng)LI和備網(wǎng)L2與交換機(jī)Jl和交換機(jī)J2相連接。
[0064]在這種網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)下,無論機(jī)器Al還是機(jī)器A2,只要它們與交換機(jī)之間有一個網(wǎng)絡(luò)工作正常,機(jī)器Al和機(jī)器A2就能進(jìn)行正常的通信。在傳統(tǒng)的空管自動化系統(tǒng)的雙網(wǎng)熱備方法中,兩臺交換機(jī)相互獨(dú)立,沒有級聯(lián);如果機(jī)器Al的主網(wǎng)卡與交換機(jī)Jl之間的主網(wǎng)LI出現(xiàn)故障,機(jī)器A2的備網(wǎng)卡與交換機(jī)J2之間的備網(wǎng)L2出現(xiàn)故障,機(jī)器Al和機(jī)器A2就無法正常通信。本發(fā)明克服了傳統(tǒng)的空管自動化系統(tǒng)的雙網(wǎng)熱備冗余方法的不足,兩臺三層交換機(jī)級聯(lián),實(shí)現(xiàn)主、備網(wǎng)之間的互通,所以即使出現(xiàn)以上的狀況,機(jī)器Al和機(jī)器A2仍能相互通信。
[0065]網(wǎng)絡(luò)中的兩臺三層交換機(jī)J1、J2都支持ICMP協(xié)議,且都有固定的IP地址,并工作在不同的網(wǎng)段上;每臺機(jī)器的兩個網(wǎng)卡工作在與其相鄰的三層交換機(jī)對應(yīng)的網(wǎng)段上,采用分布式機(jī)制。
[0066]第二步、在每臺機(jī)器控制程序的應(yīng)用層建立網(wǎng)絡(luò)狀態(tài)監(jiān)控流程:網(wǎng)絡(luò)狀態(tài)監(jiān)控流程能夠通過主網(wǎng)LI和備網(wǎng)L2向?qū)?yīng)的三層交換機(jī)發(fā)送ICMP請求報文,同時接收交換機(jī)的ICMP應(yīng)答報文,如果機(jī)器的某個網(wǎng)絡(luò)連續(xù)未接收ICMP應(yīng)答報文或接收ICMP錯誤應(yīng)答報文的個數(shù)超過設(shè)置的閾值時,可以判斷該機(jī)器的這個網(wǎng)絡(luò)發(fā)生故障(可能是交換機(jī)故障,網(wǎng)線斷了或網(wǎng)卡故障等),發(fā)出網(wǎng)絡(luò)故障告警通知;
[0067]圖2為網(wǎng)絡(luò)狀態(tài)監(jiān)控流程圖,網(wǎng)絡(luò)中的機(jī)器啟動時,應(yīng)用程序會啟動網(wǎng)絡(luò)狀態(tài)監(jiān)控流程,實(shí)時監(jiān)控網(wǎng)絡(luò)狀態(tài);如圖2所示,所述的網(wǎng)絡(luò)狀態(tài)監(jiān)控流程包括按順序執(zhí)行的下列步驟:
[0068]步驟一、判斷是否退出網(wǎng)絡(luò)監(jiān)控流程的S201階段:判斷當(dāng)前是否存在退出網(wǎng)絡(luò)監(jiān)控流程的指令,如果判斷結(jié)果為“是”,則退出本流程;否則下一步進(jìn)入S202階段;
[0069]步驟二、定時發(fā)送ICMP請求報文的S202階段:定時向每個網(wǎng)卡所對應(yīng)的三層交換機(jī)發(fā)送ICMP請求報文,監(jiān)控主網(wǎng)LI和備網(wǎng)L2的工作狀態(tài);
[0070]步驟三、判斷是否接收到ICMP應(yīng)答報文的S203階段:在規(guī)定的時間內(nèi),判斷是否接收到三層交換機(jī)的ICMP應(yīng)答報文,若判斷結(jié)果為“是”,則下一步進(jìn)入206階段,否則下一步執(zhí)行S204階段;
[0071]步驟四、判斷ICMP應(yīng)答報文接收是否正常的S204階段:查看連續(xù)未接收的ICMP報文的個數(shù)是否超過設(shè)定值,若判斷結(jié)果為“是”,則返回S201階段的入口處,下一步執(zhí)行S201階段;否則,下一步進(jìn)入S205階段;
[0072]步驟五、發(fā)出網(wǎng)絡(luò)故障告警通知的S205階段:根據(jù)S204階段的判斷,確認(rèn)某網(wǎng)絡(luò)出現(xiàn)故障,發(fā)布針對該網(wǎng)的網(wǎng)絡(luò)故障告警通知;然后返回S201階段的入口處,下一步執(zhí)行S201階段;
[0073]步驟六、判斷前一時刻網(wǎng)絡(luò)是否正常的S206階段:查看前一時刻網(wǎng)絡(luò)是否正常,若判斷結(jié)果為“是”,則返回至S201階段的入口處,下一步執(zhí)行S201階段;否則,下一步進(jìn)入S207階段;
[0074]步驟七、發(fā)出網(wǎng)絡(luò)故障恢復(fù)通知的S207階段:根據(jù)206階段的判斷,發(fā)布網(wǎng)絡(luò)故障恢復(fù)通知,然后返回S201階段的入口處,下一步執(zhí)行S201階段。
[0075]本發(fā)明提供的這種網(wǎng)絡(luò)監(jiān)測方法采用分布式結(jié)構(gòu)(每臺機(jī)器都安裝網(wǎng)絡(luò)監(jiān)控程序監(jiān)控自身的網(wǎng)絡(luò)狀態(tài)),可以監(jiān)測每臺機(jī)器的網(wǎng)卡到交換機(jī)之間網(wǎng)絡(luò)狀態(tài),克服了傳統(tǒng)方法中只能根據(jù)網(wǎng)卡物理狀態(tài)監(jiān)測信息來判斷網(wǎng)絡(luò)狀態(tài)而導(dǎo)致的監(jiān)測不全現(xiàn)象。
[0076]第三步、在每臺機(jī)器的網(wǎng)絡(luò)監(jiān)控流程中建立工作網(wǎng)切換控制流程:當(dāng)網(wǎng)絡(luò)發(fā)生故障或網(wǎng)絡(luò)恢復(fù)正常時,工作網(wǎng)切換控制流程能夠根據(jù)要求實(shí)施工作網(wǎng)的自動切換;
[0077]圖3是網(wǎng)絡(luò)切換的狀態(tài)轉(zhuǎn)移圖,如圖3所示,網(wǎng)絡(luò)中可能存在的狀態(tài)如下:
[0078]狀態(tài)O:機(jī)器的主網(wǎng)故障,備網(wǎng)故障,默認(rèn)的工作網(wǎng)是備網(wǎng)
[0079]狀態(tài)1:機(jī)器的主網(wǎng)故障,備網(wǎng)故障,默認(rèn)的工作網(wǎng)是主網(wǎng)
[0080]狀態(tài)2:機(jī)器的主網(wǎng)故障,備網(wǎng)正常,默認(rèn)的工作網(wǎng)是備網(wǎng)
[0081]狀態(tài)3:機(jī)器的主網(wǎng)正常,備網(wǎng)故障,默認(rèn)的工作網(wǎng)是主網(wǎng)
[0082]狀態(tài)4:機(jī)器的主網(wǎng)正常,備網(wǎng)正常,默認(rèn)的工作網(wǎng)是備網(wǎng)
[0083]狀態(tài)5:機(jī)器的主網(wǎng)正常,備網(wǎng)正常,默認(rèn)的工作網(wǎng)是主網(wǎng)。
[0084]具體的切換過程如下:
[0085](I)當(dāng)機(jī)器的網(wǎng)絡(luò)狀態(tài)在狀態(tài)O時,如果主網(wǎng)恢復(fù)正常則網(wǎng)絡(luò)狀態(tài)變?yōu)闋顟B(tài)3 ;如果備網(wǎng)恢復(fù)正常則網(wǎng)絡(luò)狀態(tài)變?yōu)闋顟B(tài)2 ;
[0086](2)當(dāng)機(jī)器的網(wǎng)絡(luò)狀態(tài)在狀態(tài)I時,如果主網(wǎng)恢復(fù)正常則網(wǎng)絡(luò)狀態(tài)變?yōu)闋顟B(tài)3 ;如果備網(wǎng)恢復(fù)正常則網(wǎng)絡(luò)狀態(tài)變?yōu)闋顟B(tài)2 ;
[0087](3)當(dāng)機(jī)器的網(wǎng)絡(luò)狀態(tài)在狀態(tài)2時,如果主網(wǎng)恢復(fù)正常則網(wǎng)絡(luò)狀態(tài)變?yōu)闋顟B(tài)4 ;如果備網(wǎng)發(fā)生故障則網(wǎng)絡(luò)狀態(tài)變?yōu)闋顟B(tài)O ;
[0088](4)當(dāng)機(jī)器的網(wǎng)絡(luò)狀態(tài)在狀態(tài)3時,如果主網(wǎng)發(fā)生故障則網(wǎng)絡(luò)狀態(tài)變?yōu)闋顟B(tài)I ;如果備網(wǎng)恢復(fù)正常則網(wǎng)絡(luò)狀態(tài)變?yōu)闋顟B(tài)5 ;
[0089](5)當(dāng)機(jī)器的網(wǎng)絡(luò)狀態(tài)在狀態(tài)4時,如果主網(wǎng)發(fā)生故障則網(wǎng)絡(luò)狀態(tài)變?yōu)闋顟B(tài)2 ;如果備網(wǎng)發(fā)生故障則網(wǎng)絡(luò)狀態(tài)變?yōu)闋顟B(tài)3 ;
[0090](6)當(dāng)機(jī)器的網(wǎng)絡(luò)狀態(tài)在狀態(tài)5時,如果主網(wǎng)發(fā)生故障則網(wǎng)絡(luò)狀態(tài)變?yōu)闋顟B(tài)2 ;如果備網(wǎng)發(fā)生故障則網(wǎng)絡(luò)狀態(tài)變?yōu)闋顟B(tài)3 ;
[0091](7)當(dāng)機(jī)器的網(wǎng)絡(luò)狀態(tài)在狀態(tài)4時,網(wǎng)絡(luò)監(jiān)控終端向該機(jī)器發(fā)送網(wǎng)絡(luò)切換命令,則機(jī)器的網(wǎng)絡(luò)狀態(tài)變?yōu)闋顟B(tài)5 ;
[0092](8)當(dāng)機(jī)器的網(wǎng)絡(luò)狀態(tài)在狀態(tài)5時,網(wǎng)絡(luò)監(jiān)控終端向該機(jī)器發(fā)送網(wǎng)絡(luò)切換命令,則機(jī)器的網(wǎng)絡(luò)狀態(tài)變?yōu)闋顟B(tài)4 ;
[0093]由以上切換步驟可知,只有在以下五種情況下才進(jìn)行網(wǎng)絡(luò)切換,即工作網(wǎng)發(fā)生變化;
[0094](I)網(wǎng)絡(luò)狀態(tài)為狀 態(tài)O時,主網(wǎng)恢復(fù)正常;
[0095](2)網(wǎng)絡(luò)狀態(tài)為狀態(tài)I時,備網(wǎng)恢復(fù)正常;
[0096](3)網(wǎng)絡(luò)狀態(tài)為狀態(tài)4時,備網(wǎng)發(fā)生故障;
[0097](4)網(wǎng)絡(luò)狀態(tài)為狀態(tài)5時,主網(wǎng)發(fā)生故障;
[0098](5)網(wǎng)絡(luò)狀態(tài)為狀態(tài)4或狀態(tài)5時,網(wǎng)絡(luò)監(jiān)控終端向機(jī)器發(fā)送網(wǎng)絡(luò)切換命令;
[0099]圖4是本發(fā)明提供的空管自動化系統(tǒng)的雙網(wǎng)熱備冗余實(shí)現(xiàn)方法中工作網(wǎng)切換控制流程圖,如圖4所示,所述的工作網(wǎng)切換控制流程包括按順序執(zhí)行的下列步驟:
[0100]步驟一、判斷是否收到網(wǎng)絡(luò)切換指令的S301階段:判斷當(dāng)前是否收到網(wǎng)絡(luò)狀態(tài)監(jiān)控終端B所發(fā)出的網(wǎng)絡(luò)切換指令,如果判斷結(jié)果為“是”,則進(jìn)入下一步S302階段;否則下一步進(jìn)入S312階段;
[0101]步驟二、判斷是否有狀態(tài)變化通知的S302階段:判斷當(dāng)前是否有網(wǎng)絡(luò)狀態(tài)監(jiān)控流程所發(fā)布的網(wǎng)絡(luò)故障告警通知或網(wǎng)絡(luò)故障恢復(fù)通知,如果判斷結(jié)果為“是”,則進(jìn)入下一步S303階段;否則退出本流程;
[0102]步驟三、狀態(tài)分支的S303階段:根據(jù)當(dāng)前網(wǎng)絡(luò)的工作狀態(tài),進(jìn)行狀態(tài)分支,即當(dāng)前網(wǎng)絡(luò)工作狀態(tài)為狀態(tài)O時,下一步進(jìn)入S304階段;當(dāng)前網(wǎng)絡(luò)工作狀態(tài)為狀態(tài)I時,下一步進(jìn)入S306階段;當(dāng)前網(wǎng)絡(luò)工作狀態(tài)為狀態(tài)4時,下一步進(jìn)入S308階段;當(dāng)前網(wǎng)絡(luò)工作狀態(tài)為狀態(tài)5時,下一步進(jìn)入S310階段;
[0103]步驟四、判斷是否為主網(wǎng)恢復(fù)通知的S304階段:判斷當(dāng)前的網(wǎng)絡(luò)變化通知是否為主網(wǎng)恢復(fù)通知,如果判斷結(jié)果為“是”,則進(jìn)入下一步S305階段;否則本流程至此結(jié)束;
[0104]步驟五、設(shè)置主網(wǎng)為工作網(wǎng)的S305階段:將主網(wǎng)設(shè)置為工作網(wǎng),本流程至此結(jié)束;
[0105]步驟六、判斷是否為備網(wǎng)恢復(fù)通知的S306階段:判斷當(dāng)前的網(wǎng)絡(luò)變化通知是否為備網(wǎng)恢復(fù)通知,如果判斷結(jié)果為“是”,則進(jìn)入下一步S307階段;否則本流程至此結(jié)束;
[0106]步驟七、設(shè)置備網(wǎng)為工作網(wǎng)的S307階段:將備網(wǎng)設(shè)置為工作網(wǎng),本流程至此結(jié)束;
[0107]步驟八、判斷是否為備網(wǎng)故障通知的S308階段:判斷當(dāng)前的網(wǎng)絡(luò)變化通知是否為備網(wǎng)故障通知,如果判斷結(jié)果為“是”,則進(jìn)入下一步S309階段;否則本流程至此結(jié)束;
[0108]步驟九、設(shè)置主網(wǎng)為工作網(wǎng)的S309階段:將主網(wǎng)設(shè)置為工作網(wǎng),本流程至此結(jié)束;
[0109]步驟十、判斷是否為主網(wǎng)故障通知的S310階段:判斷當(dāng)前的網(wǎng)絡(luò)變化通知是否為主網(wǎng)故障通知,如果判斷結(jié)果為“是”,則進(jìn)入下一步S311階段;否則本流程至此結(jié)束;
[0110]步驟十一、設(shè)置備網(wǎng)為工作網(wǎng)的S311階段:將備網(wǎng)設(shè)置為工作網(wǎng),本流程至此結(jié)束;
[0111]步驟十二、根據(jù)指令進(jìn)行切換的S312階段:根據(jù)收到的網(wǎng)絡(luò)切換指令,對工作網(wǎng)進(jìn)行切換,本流程至此結(jié)束。[0112]在S312階段中,所述的對工作網(wǎng)進(jìn)行切換的操作方法是:首先判斷當(dāng)前的網(wǎng)絡(luò)工作狀態(tài)是否為狀態(tài)4和狀態(tài)5,如果判斷結(jié)果為“是”,則執(zhí)行網(wǎng)絡(luò)切換指令,對工作網(wǎng)進(jìn)行切換;否則不執(zhí)行任何操作,退出流程。
[0113]所述的每臺機(jī)器在啟動時,均將主網(wǎng)設(shè)置為工作網(wǎng)。
[0114]本發(fā)明的這種網(wǎng)絡(luò)切換方法只有在機(jī)器的當(dāng)前工作網(wǎng)發(fā)生故障且另一個網(wǎng)絡(luò)正常時,才進(jìn)行網(wǎng)絡(luò)的自動切換,最大限度地避免了網(wǎng)絡(luò)的頻繁切換,降低網(wǎng)絡(luò)切換帶來的不可靠性。同時,增加了網(wǎng)絡(luò)監(jiān)控終端,如果管理員發(fā)現(xiàn)某臺機(jī)器的工作網(wǎng)負(fù)載較重且主備網(wǎng)正常,可以發(fā)送網(wǎng)絡(luò)切換命令,實(shí)現(xiàn)網(wǎng)絡(luò)的負(fù)載均衡;
[0115]第四步、在每臺機(jī)器的數(shù)據(jù)發(fā)送端建立冗余發(fā)送操作流程:本發(fā)明的空管自動化系統(tǒng)的雙網(wǎng)熱備方法中的發(fā)送端在數(shù)據(jù)發(fā)送前先對數(shù)據(jù)進(jìn)行封裝,添加數(shù)據(jù)編號和時間戳;然后通過工作網(wǎng)向接收端的主備網(wǎng)同時發(fā)送數(shù)據(jù),實(shí)現(xiàn)發(fā)送數(shù)據(jù)的主備冗余。
[0116]圖5是本發(fā)明提供的空管自動化系統(tǒng)的雙網(wǎng)熱備冗余實(shí)現(xiàn)方法中數(shù)據(jù)發(fā)送操作流程圖,如圖5所示,所述的數(shù)據(jù)發(fā)送操作流程包括按順序執(zhí)行的下列步驟:
[0117]步驟一、數(shù)據(jù)封裝包的S401階段:在數(shù)據(jù)發(fā)送前先對數(shù)據(jù)進(jìn)行封裝,形成發(fā)送數(shù)據(jù)包;
[0118]步驟二、添加編號和時間戳的S402階段:在發(fā)送數(shù)據(jù)包的包頭部分加入數(shù)據(jù)編號和包含當(dāng)前時間信息的時間戳;
[0119]步驟三、通過工作網(wǎng)向接收端的主備網(wǎng)同時發(fā)送數(shù)據(jù)包的S403階段:通過工作網(wǎng)向接收端的主網(wǎng)LI和備網(wǎng)L2同時發(fā)送數(shù)據(jù)包,實(shí)現(xiàn)發(fā)送數(shù)據(jù)的主備網(wǎng)冗余。
[0120]第五步、在每臺機(jī)器的接收端建立數(shù)據(jù)過濾控制流程:接收端從主備網(wǎng)同時接收數(shù)據(jù),并通過數(shù)據(jù)的編號和時間戳過濾數(shù)據(jù),保證只接收一份數(shù)據(jù),避免數(shù)據(jù)的重收和漏收。
[0121]圖6為本發(fā)明提供的空管自動化系統(tǒng)的雙網(wǎng)熱備冗余實(shí)現(xiàn)方法中的數(shù)據(jù)過濾控制流程圖,當(dāng)機(jī)器啟動時,接收端會啟動數(shù)據(jù)接收過濾流程,開始接收和處理發(fā)送端發(fā)送的數(shù)據(jù);如圖6所示,所述的數(shù)據(jù)過濾控制流程包括按順序執(zhí)行的下列步驟:
[0122]步驟一、判斷是否要退出數(shù)據(jù)接收流程的S501階段:判斷當(dāng)前是否存在退出數(shù)據(jù)接收流程的指令,若判斷結(jié)果為“是”,則停止接收數(shù)據(jù),退出本流程;否則進(jìn)入下一步S502階段;
[0123]步驟二、接收數(shù)據(jù)的S502階段:從主網(wǎng)LI和備網(wǎng)L2同時接收數(shù)據(jù);
[0124]步驟三、獲取數(shù)據(jù)編號和時間戳的S503階段:解析接收的數(shù)據(jù),獲取數(shù)據(jù)編號和時間戳信息;
[0125]步驟四、檢查數(shù)據(jù)編號是否正常的S504階段:首先檢查數(shù)據(jù)編號是否符合要求,如果判斷結(jié)果為“是”,則下一步進(jìn)入S506階段,否則下一步執(zhí)行S505階段;
[0126]步驟五、檢查時間戳是否正常S505階段:檢查時間戳是否符合要求,若時間戳符合要求,則下一步進(jìn)入S506階段;若時間戳不符合要求,則返回S501階段的入口處,下一步執(zhí)行S501階段;
[0127]步驟六、處理數(shù)據(jù)的S506階段:保存數(shù)據(jù)以備后續(xù)處理之用,然后返回S501階段的入口處,下一步執(zhí)行S501階段。
[0128]在S504階段中,所述的檢查數(shù)據(jù)編號是否符合要求的具體方法是:如果當(dāng)前時刻接收的數(shù)據(jù)編號比前一時刻接收的數(shù)據(jù)編號大,說明是新數(shù)據(jù),認(rèn)為編號符合要求;如果當(dāng)前時刻接收的數(shù)據(jù)的編號比前一時刻接收的數(shù)據(jù)的編號小,且落在溢出判斷窗口(編號的最大值往反方向取一定范圍,編號的最小值往正方向取一定范圍)內(nèi),說明是新數(shù)據(jù),認(rèn)為編號符合要求。
[0129]在S505階段中,所述的檢查時間戳是否符合要求的具體方法是:如果當(dāng)前時刻接收的數(shù)據(jù)的時間戳比前一時刻接收的數(shù)據(jù)的時間戳大(考慮了發(fā)送端系統(tǒng)時鐘的穩(wěn)定性等因素),則說明是新數(shù)據(jù),認(rèn)為時間戳符合要求。
[0130]當(dāng)發(fā)送端的程序重新啟動后,會對數(shù)據(jù)進(jìn)行重新編號,但是數(shù)據(jù)的時間戳是在不斷增長的,本發(fā)明中的S505階段就是為了避免程序重新啟動后,防止接收端對新數(shù)據(jù)的漏收而設(shè)計的。
[0131]傳統(tǒng)的數(shù)據(jù)傳輸方法在接收端只接收工作網(wǎng)上的數(shù)據(jù),當(dāng)工作網(wǎng)發(fā)生故障時,在網(wǎng)絡(luò)切換的那段時間,會導(dǎo)致接收端無法接收發(fā)送端的數(shù)據(jù),從而導(dǎo)致數(shù)據(jù)的丟失。本發(fā)明采用發(fā)送端通過工作網(wǎng)向接收端的主備網(wǎng)同時發(fā)送數(shù)據(jù),實(shí)現(xiàn)發(fā)送數(shù)據(jù)的主備冗余;接收端從主備網(wǎng)同時接收兩路相同的數(shù)據(jù),當(dāng)工作網(wǎng)發(fā)生故障時,在網(wǎng)絡(luò)切換前就可以接收另外一個網(wǎng)絡(luò)的冗余數(shù)據(jù),并通過數(shù)據(jù)的編號和時間戳進(jìn)行重復(fù)數(shù)據(jù)的過濾,考慮了數(shù)據(jù)溢出和發(fā)送端程序重啟的情況,避免數(shù)據(jù)的重收和漏收,實(shí)現(xiàn)了數(shù)據(jù)接收的流暢性和無縫
[0132]第六步、建立網(wǎng)絡(luò)狀態(tài)監(jiān)控終端:設(shè)計網(wǎng)絡(luò)狀態(tài)監(jiān)控終端接收和顯示每臺機(jī)器發(fā)送的流量信息及網(wǎng)絡(luò)狀態(tài)信息;網(wǎng)絡(luò)管理員可以通過網(wǎng)絡(luò)狀態(tài)監(jiān)控終端獲得網(wǎng)絡(luò)中主備網(wǎng)的負(fù)載狀況和每臺機(jī)器的網(wǎng)絡(luò)狀態(tài);如果管理員發(fā)現(xiàn)某個網(wǎng)絡(luò)所連接的交換機(jī)負(fù)載過重,可以通過網(wǎng)絡(luò)狀態(tài)監(jiān)控終端發(fā)送網(wǎng)絡(luò)切換命令,強(qiáng)制某臺機(jī)器進(jìn)行網(wǎng)絡(luò)切換,實(shí)現(xiàn)網(wǎng)絡(luò)的負(fù)載均衡。
[0133]以上所示僅為本發(fā)明的過程及方法實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所做的修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種空管自動化系統(tǒng)的雙網(wǎng)熱備冗余實(shí)現(xiàn)方法,其特征在于:所述的方法包括 第一步、建立網(wǎng)絡(luò)硬件連接拓?fù)?,第二步、在每臺機(jī)器控制程序的應(yīng)用層建立網(wǎng)絡(luò)狀態(tài)監(jiān)控流程,第三步、在每臺機(jī)器的網(wǎng)絡(luò)監(jiān)控流程中建立工作網(wǎng)切換控制流程,第四步、在每臺機(jī)器的數(shù)據(jù)發(fā)送端建立冗余發(fā)送操作流程,第五步、在每臺機(jī)器的接收端建立數(shù)據(jù)過濾控制流程,第六步、建立網(wǎng)絡(luò)狀態(tài)監(jiān)控終端;其中:第一步、建立網(wǎng)絡(luò)硬件連接拓?fù)?建立雙網(wǎng)熱備冗余網(wǎng)絡(luò),該網(wǎng)絡(luò)主要包括:多臺機(jī)器Α1、Α2...Αη,交換機(jī)Jl和交換機(jī)J2,主網(wǎng)LI和備網(wǎng)L2以及網(wǎng)絡(luò)狀態(tài)監(jiān)控終端B ;其中:機(jī)器Al、Α2…An為網(wǎng)絡(luò)內(nèi)部的多臺計算機(jī),每臺機(jī)器都配置兩塊網(wǎng)卡,兩塊網(wǎng)卡分別通過主網(wǎng)LI和備網(wǎng)L2與交換機(jī)Jl和交換機(jī)J2相連接;交換機(jī)I和交換機(jī)2:為兩個三層交換機(jī),支持路由功能,且相互級聯(lián),實(shí)現(xiàn)主網(wǎng)LI和備網(wǎng)L2的互通;網(wǎng)絡(luò)狀態(tài)監(jiān)控終端B為專門用來監(jiān)控主網(wǎng)LI和備網(wǎng)L2工作狀態(tài)的計算機(jī),其配置兩塊網(wǎng)卡,兩塊網(wǎng)卡分別通過主網(wǎng)LI和備網(wǎng)L2與交換機(jī)Jl和交換機(jī)J2相連接;第二步、在每臺機(jī)器控 制程序的應(yīng)用層建立網(wǎng)絡(luò)狀態(tài)監(jiān)控流程:網(wǎng)絡(luò)狀態(tài)監(jiān)控流程能夠通過主網(wǎng)LI和備網(wǎng)L2向?qū)?yīng)的三層交換機(jī)發(fā)送ICMP請求報文,同時接收交換機(jī)的ICMP應(yīng)答報文,如果機(jī)器的某個網(wǎng)絡(luò)連續(xù)未接收ICMP應(yīng)答報文或接收ICMP錯誤應(yīng)答報文的個數(shù)超過設(shè)置的閾值時,判斷出該機(jī)器的這個網(wǎng)絡(luò)發(fā)生故障,發(fā)出網(wǎng)絡(luò)故障告警通知;第三步、在每臺機(jī)器的網(wǎng)絡(luò)監(jiān)控流程中建立工作網(wǎng)切換控制流程:當(dāng)網(wǎng)絡(luò)發(fā)生故障或網(wǎng)絡(luò)恢復(fù)正常時,工作網(wǎng)切換控制流程能夠根據(jù)要求實(shí)施工作網(wǎng)的自動切換;第四步、在每臺機(jī)器的數(shù)據(jù)發(fā)送端建立冗余發(fā)送操作流程:發(fā)送端在數(shù)據(jù)發(fā)送前先對數(shù)據(jù)進(jìn)行封裝,添加數(shù)據(jù)編號和時間戳;然后通過工作網(wǎng)向接收端的主備網(wǎng)同時發(fā)送數(shù)據(jù),實(shí)現(xiàn)發(fā)送數(shù)據(jù)的主備冗余;第五步、在每臺機(jī)器的接收端建立數(shù)據(jù)過濾控制流程:接收端從主備網(wǎng)同時接收數(shù)據(jù),并通過數(shù)據(jù)的編號和時間戳過濾數(shù)據(jù),保證只接收一份數(shù)據(jù),避免數(shù)據(jù)的重收和漏收;第六步、建立網(wǎng)絡(luò)狀態(tài)監(jiān)控終端:設(shè)計網(wǎng)絡(luò)狀態(tài)監(jiān)控終端接收和顯示每臺機(jī)器發(fā)送的流量信息及網(wǎng)絡(luò)狀態(tài)信息;網(wǎng)絡(luò)管理員通過網(wǎng)絡(luò)狀態(tài)監(jiān)控終端獲得網(wǎng)絡(luò)中主備網(wǎng)的負(fù)載狀況和每臺機(jī)器的網(wǎng)絡(luò)狀態(tài);如果管理員發(fā)現(xiàn)某個網(wǎng)絡(luò)所連接的交換機(jī)負(fù)載過重,通過網(wǎng)絡(luò)狀態(tài)監(jiān)控終端發(fā)送網(wǎng)絡(luò)切換命令,強(qiáng)制某臺機(jī)器進(jìn)行網(wǎng)絡(luò)切換,實(shí)現(xiàn)網(wǎng)絡(luò)的負(fù)載均衡。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于:在第二步中,所述的網(wǎng)絡(luò)狀態(tài)監(jiān)控流程包括按順序執(zhí)行的下列步驟:步驟一、判斷是否退出網(wǎng)絡(luò)監(jiān)控流程的S201階段:判斷當(dāng)前是否存在退出網(wǎng)絡(luò)監(jiān)控流程的指令,如果判斷結(jié)果為“是”,則退出本流程;否則下一步進(jìn)入S202階段;步驟二、定時發(fā)送ICMP請求報文的S202階段:定時向每個網(wǎng)卡所對應(yīng)的三層交換機(jī)發(fā)送ICMP請求報文,監(jiān)控主網(wǎng)LI和備網(wǎng)L2的工作狀態(tài);步驟三、判斷是否接收到ICMP應(yīng)答報文的S203階段:在規(guī)定的時間內(nèi),判斷是否接收到三層交換機(jī)的ICMP應(yīng)答報文,若判斷結(jié)果為“是”,則下一步進(jìn)入206階段,否則下一步執(zhí)行S204階段;步驟四、判斷ICMP應(yīng)答報文接收是否正常的S204階段:查看連續(xù)未接收的ICMP報文的個數(shù)是否超過設(shè)定值,若判斷結(jié)果為“是”,則返回S201階段的入口處,下一步執(zhí)行S201階段;否則,下一步進(jìn)入S205階段;步驟五、發(fā)出網(wǎng)絡(luò)故障告警通知的S205階段:根據(jù)S204階段的判斷,確認(rèn)某網(wǎng)絡(luò)出現(xiàn)故障,發(fā)布針對該網(wǎng)的網(wǎng)絡(luò)故障告警通知,然后返回S201階段的入口處,下一步執(zhí)行S201階段;步驟六、判斷前一時刻網(wǎng)絡(luò)是否正常的S206階段:查看前一時刻網(wǎng)絡(luò)是否正常,若判斷結(jié)果為“是”,則返回至S201階段的入口處,下一步執(zhí)行S201階段;否則,下一步進(jìn)入S207階段;步驟七、發(fā)出網(wǎng)絡(luò)故障恢復(fù)通知的S207階段:根據(jù)206階段的判斷,發(fā)布網(wǎng)絡(luò)故障恢復(fù)通知,然后返回S201階段的入口處,下一步執(zhí)行S201階段。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于:在第三步中,所述的工作網(wǎng)切換控制流程包括按順序執(zhí)行的下列步驟:步驟一、判斷是否收到網(wǎng)絡(luò)切換指令的S301階段:判斷當(dāng)前是否收到網(wǎng)絡(luò)狀態(tài)監(jiān)控終端B所發(fā)出的網(wǎng)絡(luò)切換指令,如果判斷結(jié)果為“是”,則進(jìn)入下一步S302階段;否則下一步進(jìn)入S312階段;步驟二、判斷是否有狀態(tài)變化通知的S302階段:判斷當(dāng)前是否有網(wǎng)絡(luò)狀態(tài)監(jiān)控流程所發(fā)布的網(wǎng)絡(luò)故障告警通知或網(wǎng)絡(luò)故障恢復(fù)通知,如果判斷結(jié)果為“是”,則進(jìn)入下一步S303階段;否則退出本流程;步驟三、狀態(tài)分支的S303階段:根據(jù)當(dāng)前網(wǎng)絡(luò)的工作狀態(tài),進(jìn)行狀態(tài)分支,即當(dāng)前網(wǎng)絡(luò)工作狀態(tài)為狀態(tài)O時,下一步進(jìn)入S304階段;當(dāng)前網(wǎng)絡(luò)工作狀態(tài)為狀態(tài)I時,下一步進(jìn)入S306階段;當(dāng)前網(wǎng)絡(luò)工作狀態(tài)為狀態(tài)4時,下一步進(jìn)入S308階段;當(dāng)前網(wǎng)絡(luò)工作狀態(tài)為狀態(tài)5時,下一步進(jìn)入S310階段;`步驟四、判斷是否為主網(wǎng)恢復(fù)通知的S304階段:判斷當(dāng)前的網(wǎng)絡(luò)變化通知是否為主網(wǎng)恢復(fù)通知,如果判斷結(jié)果為“是”,則進(jìn)入下一步S305階段;否則本流程至此結(jié)束;步驟五、設(shè)置主網(wǎng)為工作網(wǎng)的S305階段:將主網(wǎng)設(shè)置為工作網(wǎng),本流程至此結(jié)束;步驟六、判斷是否為備網(wǎng)恢復(fù)通知的S306階段:判斷當(dāng)前的網(wǎng)絡(luò)變化通知是否為備網(wǎng)恢復(fù)通知,如果判斷結(jié)果為“是”,則進(jìn)入下一步S307階段;否則本流程至此結(jié)束;步驟七、設(shè)置備網(wǎng)為工作網(wǎng)的S307階段:將備網(wǎng)設(shè)置為工作網(wǎng),本流程至此結(jié)束;步驟八、判斷是否為備網(wǎng)故障通知的S308階段:判斷當(dāng)前的網(wǎng)絡(luò)變化通知是否為備網(wǎng)故障通知,如果判斷結(jié)果為“是”,則進(jìn)入下一步S309階段;否則本流程至此結(jié)束;步驟九、設(shè)置主網(wǎng)為工作網(wǎng)的S309階段:將主網(wǎng)設(shè)置為工作網(wǎng),本流程至此結(jié)束;步驟十、判斷是否為主網(wǎng)故障通知的S310階段:判斷當(dāng)前的網(wǎng)絡(luò)變化通知是否為主網(wǎng)故障通知,如果判斷結(jié)果為“是”,則進(jìn)入下一步S311階段;否則本流程至此結(jié)束;步驟十一、設(shè)置備網(wǎng)為工作網(wǎng)的S311階段:將備網(wǎng)設(shè)置為工作網(wǎng),本流程至此結(jié)束;步驟十二、根據(jù)指令進(jìn)行切換的S312階段:根據(jù)收到的網(wǎng)絡(luò)切換指令,對工作網(wǎng)進(jìn)行切換,本流程至此結(jié)束。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于:在S312階段中,所述的對工作網(wǎng)進(jìn)行切換的操作方法是:首先判斷當(dāng)前的網(wǎng)絡(luò)工作狀態(tài)是否為狀態(tài)4和狀態(tài)5,如果判斷結(jié)果為“是”,則執(zhí)行網(wǎng)絡(luò)切換指令,對工作網(wǎng)進(jìn)行切換;否則不執(zhí)行任何操作,退出流程。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于:在第四步中,所述的冗余發(fā)送操作流程包括按順序執(zhí)行的下列步驟:步驟一、數(shù)據(jù)封裝包的S401階段:在數(shù)據(jù)發(fā)送前先對數(shù)據(jù)進(jìn)行封裝,形成發(fā)送數(shù)據(jù)包;步驟二、添加編號和時間戳的S402階段:在發(fā)送數(shù)據(jù)包的包頭部分加入數(shù)據(jù)編號和包含當(dāng)前時間信息的時間戳;步驟三、通過工作網(wǎng)向接收端的主備網(wǎng)同時發(fā)送數(shù)據(jù)包的S403階段:通過工作網(wǎng)向接收端的主網(wǎng)LI和備網(wǎng)L2同時發(fā)送數(shù)據(jù)包,實(shí)現(xiàn)發(fā)送數(shù)據(jù)的主備網(wǎng)冗余。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于:在第五步中,所述的數(shù)據(jù)過濾控制流程包括按順序執(zhí)行的下列步驟:步驟一、判斷是否要退出數(shù)據(jù)接收流程的S501階段:判斷當(dāng)前是否存在退出數(shù)據(jù)接收流程的指令,若判斷結(jié)果為“是”,則停止接收數(shù)據(jù),退出本流程;否則進(jìn)入下一步S502階段;步驟二、接收數(shù)據(jù)的S502階段:從主網(wǎng)LI和備網(wǎng)L2同時接收數(shù)據(jù);步驟三、獲取數(shù)據(jù)編號和時間戳的S503階段:解析接收的數(shù)據(jù),獲取數(shù)據(jù)編號和時間戳信息;步驟四、檢查數(shù)據(jù)編號是否正常的S504階段:首先檢查數(shù)據(jù)編號是否符合要求,如果判斷結(jié)果為“是”,則下一步進(jìn)入S506階段,否則下一步執(zhí)行S505階段;步驟五、檢查時間戳是否正常S505階段:檢查時間戳是否符合要求,若時間戳符合要求,則下一步進(jìn)入S506階段;若時間戳不符合要求,則返回S501階段的入口處,下一步執(zhí)行S501階段; 步驟六、處理數(shù)據(jù)的S506階段:保存數(shù)據(jù)以備后續(xù)處理之用,然后返回S501階段的入口處,下一步執(zhí)行S501階段。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于:在S504階段中,所述的檢查數(shù)據(jù)編號是否符合要求的具體方法是:如果當(dāng)前時刻接收的數(shù)據(jù)編號比前一時刻接收的數(shù)據(jù)編號大,說明是新數(shù)據(jù),認(rèn)為編號符合要求;如果當(dāng)前時刻接收的數(shù)據(jù)的編號比前一時刻接收的數(shù)據(jù)的編號小,且落在溢出判斷窗口內(nèi),說明是新數(shù)據(jù),認(rèn)為編號符合要求。
8.根據(jù)權(quán)利要求6所述的方法,其特征在于:在S505階段中,所述的檢查時間戳是否符合要求的具體方法是:如果當(dāng)前時刻接收的數(shù)據(jù)的時間戳比前一時刻接收的數(shù)據(jù)的時間戳大,則說明是新數(shù)據(jù),認(rèn)為時間戳符合要求。
【文檔編號】H04L12/24GK103442035SQ201310344333
【公開日】2013年12月11日 申請日期:2013年8月8日 優(yōu)先權(quán)日:2013年8月8日
【發(fā)明者】屈景怡, 楊俊 , 吳仁彪, 高澤英, 劉海濤 申請人:中國民航大學(xué)