一種巨系統(tǒng)域網(wǎng)絡(luò)可用性的自動化測試方法及裝置制造方法
【專利摘要】本發(fā)明公開一種巨系統(tǒng)域網(wǎng)絡(luò)可用性的自動化測試方法,該方法步驟包括:1)接收到測試請求時,計算網(wǎng)絡(luò)中各鏈路的鏈路最大帶寬、各節(jié)點的節(jié)點最大帶寬;2)每個交換機節(jié)點的測試任務(wù)生成時,選取鏈路最大帶寬相互匹配的源鏈路和目的鏈路,由源鏈路、目的鏈路分別選取源計算節(jié)點、目的計算節(jié)點并設(shè)置測試流量映射關(guān)系;3)各交換機節(jié)點根據(jù)對應(yīng)的測試任務(wù)執(zhí)行測試;4)判定各交換機節(jié)點的可用性,綜合得到網(wǎng)絡(luò)可用性;該裝置包括靜態(tài)拓撲預(yù)處理模塊、主動測試任務(wù)生成模塊、主動測試任務(wù)執(zhí)行模塊以及可用性分析模塊。本發(fā)明能夠?qū)崿F(xiàn)巨系統(tǒng)域網(wǎng)絡(luò)可用性的自動化測試,具有測試數(shù)據(jù)全面、測試結(jié)果準確且快速高效的優(yōu)點。
【專利說明】—種巨系統(tǒng)域網(wǎng)絡(luò)可用性的自動化測試方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及巨系統(tǒng)域網(wǎng)絡(luò)測試【技術(shù)領(lǐng)域】,尤其涉及一種巨系統(tǒng)域網(wǎng)絡(luò)可用性的自動化測試方法及裝置。
【背景技術(shù)】
[0002]巨系統(tǒng)域網(wǎng)絡(luò)通常時使用數(shù)量眾多的核心交換機、匯聚交換機和接入交換機組成層次式高速以太網(wǎng),再分別連接計算服務(wù)器集群和大容量存儲系統(tǒng),主要為計算服務(wù)器之間以及計算服務(wù)器與存儲系統(tǒng)之間提供高速信息傳輸支持。巨系統(tǒng)域網(wǎng)絡(luò)的可用性和傳輸性能是影響整個網(wǎng)絡(luò)外部服務(wù)能力的重要因素,網(wǎng)絡(luò)中交換機設(shè)備、以太網(wǎng)接口和光纖鏈路等問題直接影響到巨系統(tǒng)域網(wǎng)絡(luò)整體或部分區(qū)域的傳輸性能。巨系統(tǒng)域網(wǎng)絡(luò)通常包含數(shù)百臺交換機設(shè)備、數(shù)萬以太網(wǎng)接口和光纖鏈路,若通過人工排查問題則需要非常長的時間周期,且通常對問題的定位非常困難,同時對鏈路部分損傷或接口虛接等問題也很難發(fā)現(xiàn)。因此,在巨系統(tǒng)域網(wǎng)絡(luò)首次建成后以及周期性維護過程中,如何測試整個網(wǎng)絡(luò)以發(fā)現(xiàn)網(wǎng)絡(luò)性能瓶頸以及定位設(shè)備、接口和鏈路的潛在故障點是至關(guān)重要的。
[0003]目前針對巨系統(tǒng)域網(wǎng)絡(luò)的測試主要分為被動測試以及主動測試兩類,被動測試通常是基于SNMP的被動測試方式,即通過簡單網(wǎng)絡(luò)管理協(xié)議從交換機設(shè)備取得相關(guān)網(wǎng)絡(luò)性能統(tǒng)計參數(shù),由性能統(tǒng)計參數(shù)確定網(wǎng)絡(luò)故障點,上報設(shè)備、接口的故障問題。但由于不同網(wǎng)絡(luò)設(shè)備對SNMP協(xié)議的支持不同,及SNMP協(xié)議本身存在的功能限制,使得該類被動測試方法的局限性很大,同時也無法直接向網(wǎng)絡(luò)發(fā)送業(yè)務(wù)流量,無法實現(xiàn)網(wǎng)絡(luò)中性能瓶頸點的定位。目前的主動測量方式,是通過選擇一些參考測試點發(fā)送測量探測包來獲取獲取鏈路流量或端到端帶寬、延遲、丟包率等性能參數(shù),并據(jù)此分析網(wǎng)絡(luò)的連通性、可靠性和穩(wěn)定性,但參考測試點的選擇和測量任務(wù)的生成都需要基于人工選擇的方式,對于結(jié)構(gòu)復雜的巨系統(tǒng)域網(wǎng)絡(luò)實現(xiàn)設(shè)備、接口和鏈路故障點的定位困難、時效性差且準確性低。
【發(fā)明內(nèi)容】
[0004]本發(fā)明要解決的技術(shù)問題是克服現(xiàn)有技術(shù)的不足,提供一種能夠?qū)崿F(xiàn)巨系統(tǒng)域網(wǎng)絡(luò)可用性自動化測試的巨系統(tǒng)域網(wǎng)絡(luò)可用性的自動化測試方法及裝置,具有實現(xiàn)方法簡單、測試數(shù)據(jù)全面、測試結(jié)果準確且快速高效的優(yōu)點。
[0005]為解決上述技術(shù)問題,本發(fā)明提出的技術(shù)方案為:
[0006]一種巨系統(tǒng)域網(wǎng)絡(luò)可用性的自動化測試方法,步驟包括:
[0007]I)靜態(tài)拓撲預(yù)處理:接收到測試請求時,獲取巨系統(tǒng)域網(wǎng)絡(luò)的靜態(tài)拓撲描述信息,并根據(jù)所述靜態(tài)拓撲描述信息計算網(wǎng)絡(luò)中各鏈路的鏈路最大帶寬、各節(jié)點的節(jié)點最大帶寬;
[0008]2)主動測試任務(wù)生成:生成各交換機節(jié)點的測試任務(wù),每個交換機節(jié)點的測試任務(wù)生成時,獲取當前交換機節(jié)點所有鏈路中鏈路最大帶寬相互匹配的源鏈路和目的鏈路,由所述源鏈路、所述目的鏈路對應(yīng)的鏈路最大帶寬分別選取源計算節(jié)點、目的計算節(jié)點,并設(shè)置源計算節(jié)點、目的計算節(jié)點的測試流量映射關(guān)系,確定針對當前交換機節(jié)點的測試任務(wù)信息集合;
[0009]3)主動測試任務(wù)執(zhí)行:各交換機節(jié)點根據(jù)對應(yīng)的所述測試任務(wù)信息集合執(zhí)行測試,輸出測試結(jié)果;
[0010]4)可用性分析:接收各交換機節(jié)點的測試結(jié)果,由所述測試結(jié)果判定各交換機節(jié)點的可用性,并根據(jù)各交換機節(jié)點的可用性判定綜合得到當前網(wǎng)絡(luò)的可用性。
[0011]作為本發(fā)明方法的進一步改進,所述步驟2)的具體步驟為:
[0012]2.1)由所有交換機節(jié)點構(gòu)成交換機節(jié)點集合,并將各交換機節(jié)點按在網(wǎng)絡(luò)中的層次號進行降序排序,其中當所述層次號相同時,則按照交換機節(jié)點的鏈路總帶寬和進行降序排序;
[0013]2.2)取交換機節(jié)點集合中首個交換機節(jié)點,轉(zhuǎn)入執(zhí)行步驟2.3);
[0014]2.3)獲取當前交換機節(jié)點所有鏈路并將各鏈路按照鏈路最大帶寬進行降序排序,依次選擇各鏈路作為源鏈路,并根據(jù)所述源鏈路的鏈路最大帶寬選取與源鏈路相互匹配的多條目的鏈路,得到目的鏈路集合;
[0015]2.4)選取滿足鏈路帶寬和不超過源鏈路的鏈路最大帶寬的所有對端節(jié)點作為源計算節(jié)點,選取滿足鏈路帶寬和不超過各目的鏈路的鏈路最大帶寬的所有對端節(jié)點作為目的計算節(jié)點;按照節(jié)點最大帶寬設(shè)置各測試源節(jié)點與測試目的節(jié)點集合之間的測試流量映射關(guān)系,完成當前交換機節(jié)點的測試任務(wù)生成;
[0016]2.5)取交換機節(jié)點集合中下一個交換機節(jié)點,返回執(zhí)行步驟2.3),直至取完交換機節(jié)點集合中所有交換機節(jié)點,完成各交換機節(jié)點測試任務(wù)的生成。
[0017]作為本發(fā)明方法的進一步改進,所述步驟2.3)的具體步驟為:
[0018]2.3.1)由當前交換機節(jié)點所有未處理的鏈路構(gòu)成未處理鏈路集合,并將各鏈路按照鏈路最大帶寬進行降序排序;由當前交換機節(jié)點所有已測試的鏈路集合構(gòu)成已測試鏈路集合,并將各鏈路按照鏈路最大帶寬進行降序排序;
[0019]2.3.2)判斷當前交換機節(jié)點的所有鏈路是否均處理完,如果是,則將當前交換機節(jié)點設(shè)置為已測試狀態(tài);
[0020]2.3.3)取未處理鏈路集合中首個鏈路el作為源鏈路并將所述源鏈路el從未處理鏈路集合中刪除,初始化剩余源鏈路流量tmpbw = MAXBW(el),其中MAXBW(el)表示源鏈路el的鏈路最大帶寬;
[0021]2.3.4)依次從未處理鏈路集合、已測試鏈路集合中取首個鏈路e2作為匹配目的鏈路并將取出的匹配目的鏈路刪除,按式(I)更新剩余源鏈路流量,返回執(zhí)行步驟2.3.4),直到更新剩余源鏈路流量小于等于O或未測試鏈路集合、已測試鏈路集合均為空,得到由所有匹配目的鏈路構(gòu)成的目的鏈路集合;
[0022]tmpbw- = MAXBff (e2) (I)
[0023]式(I)中MAXBW(e2)表示鏈路e2的鏈路最大帶寬。
[0024]作為本發(fā)明方法的進一步改進,所述步驟2.4)中選取源計算節(jié)點、選取目的計算節(jié)點的具體步驟為:
[0025]2.4.1)取源鏈路為當前鏈路,轉(zhuǎn)入執(zhí)行步驟2.4.2);
[0026]2.4.2)獲取當前鏈路連接的對端節(jié)點,并初始化剩余的鏈路流量TMPBW為當前鏈路的鏈路最大帶寬;
[0027]2.4.3)由對端節(jié)點所有鏈路中除當前鏈路外的所有未處理鏈路構(gòu)成對端節(jié)點未處理鏈路集合、所有已測試鏈路構(gòu)成對端節(jié)點已測試鏈路集合,并將各鏈路按照鏈路最大帶寬進行降序排序;
[0028]2.4.4)依次從對端節(jié)點未處理鏈路集合、對端節(jié)點已測試鏈路集合中取首個鏈路作為支撐鏈路并將取出的支撐鏈路刪除;
[0029]2.4.5)按式⑵更新剩余的鏈路流量TMPBW,若當前鏈路為源鏈路,將當前對端節(jié)點作為源計算節(jié)點;若當前鏈路為目的鏈路,將當前對端節(jié)點作為目的計算節(jié)點;返回執(zhí)行步驟2.4.4),直至選取判定TMPBW小于等于O ;
[0030]TMPBW- = MAXBff(TMPe) (2)
[0031]式⑵中MAXBW(TMPe)表示取出的支撐鏈路TMPe的鏈路最大帶寬;
[0032]2.4.6)取一條目的鏈路作為當前鏈路,返回執(zhí)行步驟2.4.2),直至取完所有目的鏈路。
[0033]作為本發(fā)明方法的進一步改進,所述步驟I)中計算網(wǎng)絡(luò)中各鏈路的鏈路最大帶寬、各節(jié)點的節(jié)點最大帶寬的具體步驟為:
[0034]1.1)由所有計算節(jié)點構(gòu)成計算節(jié)點集合,且各計算節(jié)點按照節(jié)點最大帶寬值進行排序,并將各計算節(jié)點的鏈路方向設(shè)置為OUT、各計算節(jié)點對端節(jié)點的鏈路方向設(shè)置為IN,其中IN表示流量傳輸方向為進入當前節(jié)點,OUT表示流量傳輸方向為進入對端節(jié)點;
[0035]1.2)由所有交換機節(jié)點構(gòu)成交換機節(jié)點集合T,并將各交換機節(jié)點按照在網(wǎng)絡(luò)中的層次號進行排序,當層次號相同時則按照交換機節(jié)點全部鏈路的鏈路物理帶寬總和進行排序;
[0036]1.3)取交換機節(jié)點集合中一個交換機節(jié)點,轉(zhuǎn)入執(zhí)行步驟1.4);
[0037]1.4)計算當前交換機節(jié)點所有處于IN狀態(tài)鏈路的鏈路帶寬和,得到當前交換機節(jié)點的節(jié)點最大帶寬初始值,若所述鏈路帶寬和值為0,轉(zhuǎn)入執(zhí)行步驟1.7);否則轉(zhuǎn)入執(zhí)行步驟1.5);
[0038]1.5)獲取當前交換機節(jié)點所有對端處于PEER狀態(tài)的鏈路,由獲取到的各鏈路的鏈路最大帶寬更新當前交換機節(jié)點、當前交換機節(jié)點對端節(jié)點的節(jié)點最大帶寬以及對應(yīng)的鏈路最大帶寬,其中PEER表示流量傳輸方向為當前節(jié)點和對端節(jié)點雙向傳輸;獲取當前交換機節(jié)點對端節(jié)點中所有處于OUT狀態(tài)的鏈路,由獲取到的各鏈路的鏈路最大帶寬更新對應(yīng)的鏈路最大帶寬;
[0039]1.6)獲取當前交換機節(jié)點所有處于NULL狀態(tài)的鏈路,獲取到的各鏈路中根據(jù)當前交換機節(jié)點、當前交換機節(jié)點對端節(jié)點在網(wǎng)絡(luò)中的層次號大小更新鏈路方向以及對應(yīng)的鏈路最大帶寬,其中NULL表示未標識鏈路流量傳輸方向;
[0040]1.7)將當前交換機節(jié)點從交換機節(jié)點集合中刪除,取交換機節(jié)點集合集合中下一個交換機節(jié)點,返回執(zhí)行步驟1.3),直至交換機節(jié)點集合集合為空。
[0041]作為本發(fā)明方法的進一步改進,所述步驟1.5)的具體步驟為:
[0042]1.5.1)由當前交換機節(jié)點所有對端節(jié)點中處于PEER狀態(tài)的鏈路構(gòu)成第一集合Sp,取第一集合Sp中一條鏈路,轉(zhuǎn)入執(zhí)行步驟1.5.2);
[0043]1.5.2)將當前交換機節(jié)點的鏈路方向設(shè)置為PEER,并按式(3)更新當前交換機節(jié)點的節(jié)點最大帶寬,其中MAXBW(v)為當前交換機節(jié)點V的節(jié)點最大帶寬,MAXBW(e)為當前鏈路e的鏈路最大帶寬;
[0044]MAXBff (v)+ = MAXBff (e) (3)
[0045]1.5.3)取所述交換機節(jié)點的節(jié)點最大帶寬初始值、當前鏈路的鏈路物理帶寬中的較小值,得到第一更新值TMPI ;獲取當前鏈路的鏈路最大帶寬,并更新當前鏈路的鏈路最大帶寬為所述第一更新值TMP1、當前鏈路的鏈路最大帶寬中的較大值;
[0046]1.5.4)根據(jù)所述第一更新值TMPl按式(4)更新當前交換機節(jié)點對端節(jié)點的節(jié)點最大帶寬,其中PEER(v,e)為當前鏈路e與當前交換機節(jié)點V相連的當前交換機節(jié)點對端節(jié)點;
[0047]MAXBff(PEER(v, e)) + = TMPl (4)
[0048]1.5.5)獲取當前交換機節(jié)點所有對端節(jié)點中處于OUT狀態(tài)的鏈路,獲取的各鏈路中如果鏈路的鏈路最大帶寬小于鏈路物理帶寬,則更新對應(yīng)鏈路的鏈路最大帶寬為當前對端節(jié)點的節(jié)點最大帶寬、鏈路物理帶寬中的較小值;
[0049]1.5.6)取第一集合Sp中下一條鏈路,返回執(zhí)行步驟1.5.2),直至取完第一集合Sp中所有鏈路。
[0050]作為本發(fā)明方法的進一步改進,所述步驟1.6)的具體實施步驟為:
[0051]1.6.1)由當前交換機節(jié)點本端所有處于NULL狀態(tài)的鏈路構(gòu)成第二集合Sout ;
[0052]1.6.2)取第二集合Sout中一條取鏈路,轉(zhuǎn)入執(zhí)行步驟L 6.3);
[0053]1.6.3)判斷當前交換機節(jié)點與對端節(jié)點在網(wǎng)絡(luò)中層次號是否相等,如果是,則將當前交換機節(jié)點的鏈路方向設(shè)置為PEER ;否則將當前交換機節(jié)點的鏈路方向設(shè)置為0UT,對端節(jié)點的鏈路方向設(shè)置為IN ;
[0054]1.6.4)取所述交換機節(jié)點的節(jié)點最大帶寬初始值、當前鏈路的鏈路物理帶寬中的較小值,得到第二更新值TMP2,并更新當前鏈路的鏈路最大帶寬為所述第二值TMP2 ;
[0055]1.6.5)取第二集合Sout中下一條取鏈路,返回執(zhí)行步驟1.6.3),直至取完第二集合Sout中所有鏈路。
[0056]作為本發(fā)明方法的進一步改進,所述步驟⑷的具體步驟為:
[0057]4.1)統(tǒng)計各交換機節(jié)點的所有測試結(jié)果并進行判定,當目標交換機節(jié)點所有測試結(jié)果的測試流量總和小于預(yù)設(shè)閾值時,判定目標交換機節(jié)點存在性能瓶頸;
[0058]4.2)判斷網(wǎng)絡(luò)中是否有存在性能瓶頸的交換機節(jié)點,若為否,判定當前網(wǎng)絡(luò)為可用。
[0059]一種巨系統(tǒng)域網(wǎng)絡(luò)可用性的自動化測試裝置,包括:
[0060]靜態(tài)拓撲預(yù)處理模塊,用于接收到測試請求時,獲取巨系統(tǒng)域網(wǎng)絡(luò)的靜態(tài)拓撲描述信息,并根據(jù)所述靜態(tài)拓撲描述信息計算網(wǎng)絡(luò)中各鏈路的鏈路最大帶寬、各節(jié)點的節(jié)點最大帶寬;
[0061 ] 主動測試任務(wù)生成模塊,用于生成各交換機節(jié)點的測試任務(wù),每個交換機節(jié)點的測試任務(wù)生成時,獲取當前交換機節(jié)點所有鏈路中鏈路最大帶寬相互匹配的源鏈路和目的鏈路,由所述源鏈路、目的鏈路對應(yīng)的鏈路最大帶寬分別選取源計算節(jié)點、目的計算節(jié)點,并設(shè)置源計算節(jié)點、目的計算節(jié)點的測試流量映射關(guān)系,確定當前交換機節(jié)點的測試任務(wù)信息集合;
[0062]主動測試任務(wù)執(zhí)行模塊,用于各交換機節(jié)點根據(jù)對應(yīng)的所述測試任務(wù)信息集合執(zhí)行測試,輸出測試結(jié)果;
[0063]可用性分析模塊,用于接收各交換機節(jié)點的測試結(jié)果,由所述測試結(jié)果判定各交換機節(jié)點的可用性,并根據(jù)各交換機節(jié)點的可用性判定綜合得到當前網(wǎng)絡(luò)的可用性。
[0064]作為本發(fā)明裝置的進一步改進:所述主動測試任務(wù)生成模塊包括依次連接的測試鏈路選取單元、測試節(jié)點選擇單元以及測試流量映射單元,所述測試鏈路選取單元獲取當前交換機節(jié)點所有鏈路并將各鏈路按照鏈路最大帶寬進行降序排序,依次選擇各鏈路作為源鏈路并根據(jù)所述源鏈路的鏈路最大帶寬選取與源鏈路相互匹配的多條目的鏈路;所述測試節(jié)點選擇單元選取滿足鏈路帶寬和大于等于源鏈路最大帶寬的所有對端節(jié)點作為源計算節(jié)點,選取滿足鏈路帶寬和大于等于各目的鏈路最大帶寬的所有對端節(jié)點作為目的計算節(jié)點;所述測試流量映射單元按照節(jié)點最大帶寬設(shè)置各測試源節(jié)點與測試目的節(jié)點集合之間的測試流量映射關(guān)系。
[0065]與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點在于:本發(fā)明針對巨系統(tǒng)域網(wǎng)絡(luò),通過對靜態(tài)拓撲結(jié)構(gòu)進行預(yù)處理計算網(wǎng)絡(luò)中各鏈路的鏈路最大帶寬、各節(jié)點的節(jié)點最大帶寬,自動生成交換機節(jié)點對應(yīng)的測試任務(wù),各交換機節(jié)點執(zhí)行測試任務(wù)后再通過各個交換機節(jié)點的測試結(jié)果綜合判定得到網(wǎng)絡(luò)的可用性,能夠有效實現(xiàn)巨系統(tǒng)域網(wǎng)絡(luò)可用性的自動化測試,不需要依賴人工選取測試點以及配置測試任務(wù),大大降低了測試的復雜度、減少了所需的時間周期,同時通過全面的測試數(shù)據(jù)能夠獲得高精度的測試結(jié)果。
【專利附圖】
【附圖說明】
[0066]圖1是本實施例巨系統(tǒng)域網(wǎng)絡(luò)可用性的自動化測試方法的實現(xiàn)流程示意圖。
[0067]圖2是本實施例巨系統(tǒng)域網(wǎng)絡(luò)可用性的自動化測試方法的實現(xiàn)原理示意圖。
[0068]圖3是本實施例巨系統(tǒng)域網(wǎng)絡(luò)可用性的自動化測試方法的具體實現(xiàn)流程示意圖。
[0069]圖4是本發(fā)明具體實施例步驟I)的實現(xiàn)流程示意圖。
[0070]圖5是本發(fā)明具體實施例步驟2)的實現(xiàn)流程示意圖。
[0071]圖6是本發(fā)明具體實施例中測試節(jié)點遞歸選擇函數(shù)的實現(xiàn)流程示意圖。
【具體實施方式】
[0072]以下結(jié)合說明書附圖和具體優(yōu)選的實施例對本發(fā)明作進一步描述,但并不因此而限制本發(fā)明的保護范圍。
[0073]如圖1所示,本實施例一種巨系統(tǒng)域網(wǎng)絡(luò)可用性的自動化測試方法,步驟包括:
[0074]I)靜態(tài)拓撲預(yù)處理:接收到測試請求時,獲取巨系統(tǒng)域網(wǎng)絡(luò)的靜態(tài)拓撲描述信息,并根據(jù)靜態(tài)拓撲描述信息計算網(wǎng)絡(luò)中各鏈路的鏈路最大帶寬、各節(jié)點的節(jié)點最大帶寬;
[0075]2)主動測試任務(wù)生成:生成各交換機節(jié)點的測試任務(wù),每個交換機節(jié)點的測試任務(wù)生成時,獲取當前交換機節(jié)點所有鏈路中鏈路最大帶寬相互匹配的源鏈路和目的鏈路,由源鏈路、目的鏈路對應(yīng)的鏈路最大帶寬分別遞歸選取源計算節(jié)點、目的計算節(jié)點集合,并設(shè)置源計算節(jié)點、目的計算節(jié)點集合的測試流量映射關(guān)系,得到每個源計算節(jié)點到每個目的計算節(jié)點需要發(fā)送的測試流量信息,進而確定針對當前交換機節(jié)點的測試任務(wù)信息集合;
[0076]3)主動測試任務(wù)執(zhí)行:各交換機節(jié)點根據(jù)對應(yīng)的測試任務(wù)信息集合執(zhí)行測試,輸出測試結(jié)果;
[0077]4)可用性分析:接收各交換機節(jié)點的測試結(jié)果,由測試結(jié)果判定各交換機節(jié)點的可用性,并根據(jù)各交換機節(jié)點的可用性判定綜合得到當前網(wǎng)絡(luò)的可用性。
[0078]本實施例中,獲取的巨系統(tǒng)域網(wǎng)絡(luò)靜態(tài)拓撲表示為G = {V, E},其中V= Iv1, V2,…,%}表示交換機設(shè)備和計算節(jié)點終端的集合,N為交換機設(shè)備和計算節(jié)點終端的總數(shù);E =Ie1, e2,…,eM}表示交換機間互連鏈路和計算節(jié)點與交換機間互連鏈路的集合,M為交換機之間互連鏈路和計算節(jié)點與交換機間互連鏈路的總數(shù),當兩交換機之間有多條聚合鏈路時,將多條聚合鏈路作為一條邏輯鏈路e”
[0079]本實施例中,步驟I)中計算網(wǎng)絡(luò)中各鏈路的鏈路最大帶寬、各節(jié)點的節(jié)點最大帶寬的具體步驟為:
[0080]1.1)由所有計算節(jié)點構(gòu)成計算節(jié)點集合,且各計算節(jié)點按照節(jié)點最大帶寬值進行排序,并將各計算節(jié)點的鏈路方向設(shè)置為OUT、各計算節(jié)點對端節(jié)點的鏈路方向設(shè)置為IN,其中IN表示流量傳輸方向為進入當前節(jié)點,OUT表示流量傳輸方向為進入對端節(jié)點;
[0081]1.2)由所有交換機節(jié)點構(gòu)成交換機節(jié)點集合T,并將各交換機節(jié)點按照在網(wǎng)絡(luò)中的層次號進行排序,當層次號相同時則按照交換機節(jié)點全部鏈路的鏈路物理帶寬總和進行排序;
[0082]1.3)取交換機節(jié)點集合中一個交換機節(jié)點,轉(zhuǎn)入執(zhí)行步驟1.4);
[0083]1.4)計算當前交換機節(jié)點所有處于IN狀態(tài)鏈路的鏈路帶寬和,得到當前交換機節(jié)點的節(jié)點最大帶寬初始值,若鏈路帶寬和值為0,轉(zhuǎn)入執(zhí)行步驟1.7);否則轉(zhuǎn)入執(zhí)行步驟1.5);
[0084]1.5)獲取當前交換機節(jié)點所有對端處于PEER狀態(tài)的鏈路,由獲取到的各鏈路的鏈路最大帶寬更新當前交換機節(jié)點、當前交換機節(jié)點對端節(jié)點的節(jié)點最大帶寬以及對應(yīng)的鏈路最大帶寬,其中PEER表示流量傳輸方向為當前節(jié)點和對端節(jié)點雙向傳輸;獲取當前交換機節(jié)點對端節(jié)點中所有處于OUT狀態(tài)的鏈路,由獲取到的各鏈路的鏈路最大帶寬更新對應(yīng)的鏈路最大帶寬;
[0085]1.6)獲取當前交換機節(jié)點所有處于NULL狀態(tài)的鏈路,獲取到的各鏈路中根據(jù)當前交換機節(jié)點、當前交換機節(jié)點對端節(jié)點在網(wǎng)絡(luò)中的層次號大小更新鏈路方向以及對應(yīng)的鏈路最大帶寬,其中NULL表示未標識鏈路流量傳輸方向;
[0086]1.7)將當前交換機節(jié)點從交換機節(jié)點集合中刪除,取交換機節(jié)點集合集合中下一個交換機節(jié)點,返回執(zhí)行步驟1.3),直至交換機節(jié)點集合集合為空。
[0087]本實施例中,步驟1.5)的具體步驟為:
[0088]1.5.1)由當前交換機節(jié)點所有對端節(jié)點中處于PEER狀態(tài)的鏈路構(gòu)成第一集合Sp,取第一集合Sp中一條鏈路,轉(zhuǎn)入執(zhí)行步驟1.5.2);
[0089]1.5.2)將當前交換機節(jié)點的鏈路方向設(shè)置為PEER,并按式(3)更新當前交換機節(jié)點的節(jié)點最大帶寬,其中MAXBW(v)為當前交換機節(jié)點V的節(jié)點最大帶寬,MAXBW(e)為當前鏈路e的鏈路最大帶寬;
[0090]MAXBff (v)+ = MAXBff (e) (3)
[0091]1.5.3)取交換機節(jié)點的節(jié)點最大帶寬初始值、當前鏈路的鏈路物理帶寬中的較小值,得到第一更新值TMPl ;獲取當前鏈路的鏈路最大帶寬,并更新當前鏈路的鏈路最大帶寬為第一更新值TMP1、當前鏈路的鏈路最大帶寬中的較大值;
[0092]1.5.4)根據(jù)第一更新值TMPl按式(4)更新當前交換機節(jié)點對端節(jié)點的節(jié)點最大帶寬,其中PEER(v,e)為當前鏈路e與當前交換機節(jié)點V相連的當前交換機節(jié)點對端節(jié)點;
[0093]MAXBff(PEER(v, e)) + = TMPl (4)
[0094]1.5.5)獲取當前交換機節(jié)點所有對端節(jié)點中處于OUT狀態(tài)的鏈路,獲取的各鏈路中如果鏈路的鏈路最大帶寬小于鏈路物理帶寬,則更新對應(yīng)鏈路的鏈路最大帶寬為當前對端節(jié)點的節(jié)點最大帶寬、鏈路物理帶寬中的較小值;
[0095]1.5.6)取第一集合Sp中下一條鏈路,返回執(zhí)行步驟15.2),直至取完第一集合Sp中所有鏈路。
[0096]本實施例中,步驟1.6)的具體實施步驟為:
[0097]1.6.1)由當前交換機節(jié)點本端所有處于NULL狀態(tài)的鏈路構(gòu)成第二集合Sout ;
[0098]1.6.2)取第二集合Sout中一條取鏈路,轉(zhuǎn)入執(zhí)行步驟L 6.3);
[0099]1.6.3)判斷當前交換機節(jié)點與對端節(jié)點在網(wǎng)絡(luò)中層次號是否相等,如果是,則將當前交換機節(jié)點的鏈路方向設(shè)置為PEER ;否則將當前交換機節(jié)點的鏈路方向設(shè)置為0UT,對端節(jié)點的鏈路方向設(shè)置為IN ;
[0100]1.6.4)取交換機節(jié)點的節(jié)點最大帶寬初始值、當前鏈路的鏈路物理帶寬中的較小值,得到第二更新值TMP2,并更新當前鏈路的鏈路最大帶寬為第二值TMP2 ;
[0101]1.6.5)取第二集合Sout中下一條取鏈路,返回執(zhí)行步驟1.6.3),直至取完第二集合Sout中所有鏈路。
[0102]本實施例中,步驟2)的具體步驟為:
[0103]2.1)由所有交換機節(jié)點構(gòu)成交換機節(jié)點集合,并將各交換機節(jié)點按在網(wǎng)絡(luò)中的層次號進行降序排序,其中當層次號相同時,則按照交換機節(jié)點的鏈路總帶寬和進行降序排序;
[0104]2.2)取交換機節(jié)點集合中首個交換機節(jié)點,轉(zhuǎn)入執(zhí)行步驟2.3);
[0105]2.3)獲取當前交換機節(jié)點所有鏈路并將各鏈路按照鏈路最大帶寬進行降序排序,依次選擇各鏈路作為源鏈路,并根據(jù)源鏈路的鏈路最大帶寬選取與源鏈路相互匹配的多條目的鏈路,得到目的鏈路集合;
[0106]2.4)選取鏈路帶寬和大于等于源鏈路最大帶寬的所有對端節(jié)點作為源計算節(jié)點,選取滿足鏈路帶寬和大于等于目的鏈路最大帶寬的所有對端節(jié)點構(gòu)成目的計算節(jié)點集合;按照節(jié)點最大帶寬設(shè)置各源計算節(jié)點與目的計算節(jié)點集合之間的測試流量映射關(guān)系,完成當前交換機節(jié)點的測試任務(wù)信息集合的生成;
[0107]2.5)取交換機節(jié)點集合中下一個交換機節(jié)點,返回執(zhí)行步驟2.3),直至取完交換機節(jié)點集合中所有交換機節(jié)點,完成各交換機節(jié)點測試任務(wù)的生成。
[0108]本實施例中,步驟2.3)的具體步驟為:
[0109]2.3.1)由當前交換機節(jié)點所有未處理的鏈路構(gòu)成未測試鏈路集合,并將各鏈路按照鏈路最大帶寬進行降序排序;由當前交換機節(jié)點所有已測試的鏈路集合構(gòu)成已測試鏈路集合,并將各鏈路按照鏈路最大帶寬進行降序排序;
[0110]2.3.2)判斷當前交換機節(jié)點的所有鏈路是否均處理完,如果是,則將當前交換機節(jié)點設(shè)置為已測試狀態(tài);
[0111]2.3.3)取未測試鏈路集合中首個鏈路el作為源鏈路并將源鏈路el從未處理鏈路集合中刪除,初始化剩余源鏈路流量tmpbw = MAXBff (el),其中MAXBW(el)表示鏈路el的鏈路最大帶寬;
[0112]2.3.4)依次從未處理鏈路集合、已測試鏈路集合中取首個鏈路e2作為匹配目的鏈路并將取出的匹配目的鏈路刪除,按式(I)更新剩余源鏈路流量tmpbw,返回執(zhí)行步驟2.3.4),直到剩余源鏈路流量小于等于O或未處理鏈路集合、已測試鏈路集合均為空,得到由所有匹配目的鏈路構(gòu)成的目的鏈路集合;
[0113]tmpbw- = MAXBff (e2) (I)
[0114]式(I)中MAXBW(e2)表示鏈路e2的鏈路最大帶寬。
[0115]本實施例中,步驟2.4)中選取源計算節(jié)點、選取目的計算節(jié)點的具體步驟為:
[0116]2.4.1)取源鏈路為當前鏈路,轉(zhuǎn)入執(zhí)行步驟2.4.2);
[0117]2.4.2)獲取當前鏈路連接的對端節(jié)點,并初始化剩余的鏈路流量TMPBW為當前鏈路的鏈路最大帶寬;
[0118]2.4.3)由對端節(jié)點所有鏈路中除當前鏈路外的所有未處理鏈路構(gòu)成對端節(jié)點未處理鏈路集合、所有已測試鏈路構(gòu)成對端節(jié)點已測試鏈路集合,并將各鏈路按照鏈路最大帶寬進行降序排序;
[0119]2.4.4)依次從對端節(jié)點未處理鏈路集合、對端節(jié)點已測試鏈路集合中取首個鏈路作為支撐鏈路并將取出的支撐鏈路刪除;
[0120]2.4.5)按式(2)更新剩余的鏈路流量TMPBW,若當前鏈路為源鏈路,將當前對端節(jié)點作為源計算節(jié)點;若當前鏈路為目的鏈路,將當前對端節(jié)點作為目的計算節(jié)點;返回執(zhí)行步驟2.4.4),直至選取判定TMPBW小于等于O ;
[0121]TMPBW- = MAXBff(TMPe) (2)
[0122]式(2)中MAXBW(TMPe)表示取出的支撐鏈路TMPe的鏈路最大帶寬;
[0123]2.4.6)取一條目的鏈路作為當前鏈路,返回執(zhí)行步驟2.4.2),直至取完所有目的鏈路。
[0124]本實施例中,步驟4)的具體步驟為:
[0125]4.1)獲取各交換機節(jié)點的所有測試結(jié)果進行判定,當目標交換機節(jié)點所有測試結(jié)果的測試流量總和小于預(yù)設(shè)閾值時,判定目標交換機節(jié)點存在性能瓶頸;
[0126]4.2)判斷網(wǎng)絡(luò)中是否有存在性能瓶頸的交換機節(jié)點,若為否,判定當前網(wǎng)絡(luò)為可用。
[0127]如圖2、3所示,本實施例在巨系統(tǒng)域網(wǎng)絡(luò)的每個計算服務(wù)器上安裝計算節(jié)點測試代理模塊,按照測試任務(wù)執(zhí)行端到端的性能測試。巨系統(tǒng)域網(wǎng)絡(luò)的網(wǎng)絡(luò)拓撲描述信息保存在靜態(tài)網(wǎng)絡(luò)拓撲數(shù)據(jù)庫中,包含交換機、計算節(jié)點之間的連接關(guān)系、鏈路帶寬和交換機層次編號等。當需要對巨系統(tǒng)域網(wǎng)絡(luò)可用性執(zhí)行測試時,①網(wǎng)絡(luò)管理員通過一個管理客戶端發(fā)送測試請求向測量任務(wù)生成模塊發(fā)送測試請求根據(jù)靜態(tài)網(wǎng)絡(luò)拓撲信息首先調(diào)用靜態(tài)互連拓撲預(yù)處理方法,計算各個鏈路和節(jié)點能夠獲得的最大實際測試帶寬;由測量任務(wù)生成模塊生成各交換機節(jié)點的測試任務(wù)列表,包括{源計算節(jié)點號,目的計算節(jié)點,在流量映射中確定的測試帶寬};④通過一個測量任務(wù)執(zhí)行模塊根據(jù)各測量任務(wù)配置各計算節(jié)點測試代理模塊,配置對應(yīng)于源節(jié)點的終端代理測量任務(wù)參數(shù),全部測試任務(wù)項配置完成后,統(tǒng)一啟動計算節(jié)點測試代理模塊執(zhí)行測試任務(wù)并上報測試結(jié)果;⑤收集各計算節(jié)點測試代理模塊上報的測試結(jié)果并進行匯總記錄,根據(jù)匯總的測試流量數(shù)據(jù)與被測交換機的節(jié)點最大流量帶寬(MAXBW)進行比對判定各交換機節(jié)點是否存在性能瓶頸,進而判定當前網(wǎng)絡(luò)的可用性,并上報給網(wǎng)絡(luò)管理員。
[0128]本實施例中,當各交換機節(jié)點匯總測試流量數(shù)據(jù)小于當前節(jié)點最大帶寬(最大流量信息)的90%時,判定向當前被測交換機為存在性能瓶頸,作為潛在的性能瓶頸點上報給網(wǎng)絡(luò)管理員,如果網(wǎng)絡(luò)中無潛在性能瓶頸點,則判定整個網(wǎng)絡(luò)可用。
[0129]本實施例針對巨系統(tǒng)域網(wǎng)絡(luò),通過對靜態(tài)拓撲結(jié)構(gòu)進行預(yù)處理計算網(wǎng)絡(luò)中各鏈路的鏈路最大帶寬、各節(jié)點的節(jié)點最大帶寬,自動生成交換機節(jié)點對應(yīng)的測試任務(wù),各交換機節(jié)點執(zhí)行測試任務(wù)后再通過各個交換機節(jié)點的測試結(jié)果綜合判定得到網(wǎng)絡(luò)的可用性,能夠有效實現(xiàn)巨系統(tǒng)域網(wǎng)絡(luò)可用性的自動化測試,不需要依賴人工選取測試點以及配置測試任務(wù),大大降低了測試的復雜度、減少了所需的時間周期,同時通過全面的測試數(shù)據(jù)能夠獲得高精度的測試結(jié)果。
[0130]如圖4?6所示,本發(fā)明具體實施例中各步驟流程,首先需要定義以下參數(shù)或函數(shù):
[0131]WEIGHT(ei)表示鏈路物理帶寬,當兩交換機之間有多條聚合鏈路時,將多條聚合鏈路作為一條邏輯鏈路ei;且邏輯鏈路ei的鏈路物理帶寬WEIGHT (e,)等于聚合鏈路的鏈路帶寬之和。
[0132]HEIGHT(Vi)表示節(jié)點在網(wǎng)絡(luò)中的層次號,層次號越小代表交換機在拓撲中的位置越靠近頂端,其中計算節(jié)點的層次號為1,接入交換機層次號為2,匯聚、核心交換機按照組網(wǎng)上下層關(guān)系分別賦予對應(yīng)層次號,層次號越大表示對應(yīng)設(shè)備在網(wǎng)絡(luò)中的位置越重要,H為網(wǎng)絡(luò)的最大層次深度。
[0133]PORT(Ui)表示鏈路61與節(jié)點Vi相連的端接口名稱,PEER(Ui)表示鏈路Gi與節(jié)點Vi相連的對端節(jié)點號,DIR(Vi,ei)表示節(jié)點Vi的當前鏈路方向,且取值范圍為{NULL =O, IN = 1,0UT = 2,PEER = 3},其中IN表示流量傳輸方向為進入當前節(jié)點,OUT表示流量傳輸方向為進入對端節(jié)點,PEER表示流量傳輸方向為當前節(jié)點和對端節(jié)點雙向傳輸,NULL表示未標識鏈路流量傳輸方向,初始情況下DIR設(shè)置為NULL。
[0134]ISDEV(Vi)表示判定當前節(jié)點Vi是否為交換機(當為FALSE時為計算節(jié)點,為TRUE時為交換機),ISDONE(Vi)表示判定當前節(jié)點是否處理過(當為FALSE時為未處理狀態(tài),為TRUE時為處理狀態(tài)),ISDONE (ei)表示判定當前鏈路是否處理過(當為FALSE時為未處理狀態(tài),為TRUE時為已測試狀態(tài)),EDGES(Vi)返回當前節(jié)點所有的鏈路集合。
[0135]MAXBKei)表示鏈路ei能夠?qū)嶋H獲得的鏈路最大帶寬,MAXBW(Vi)表示節(jié)點Vi能夠?qū)嶋H獲得的節(jié)點最大帶寬。初始情況下,交換機之間的互連鏈路MAXBW值為0,計算節(jié)點與交換機之間的互連鏈路MAXBW值為計算節(jié)點能夠在該鏈路上發(fā)送的實際最大流量。交換機節(jié)點的MAXBW值為0,計算節(jié)點的MAXBW為該節(jié)點能夠發(fā)送的實際最大流量。
[0136]0PENP0RT (v)表示節(jié)點V需要打開的端口列表,初始為空;DEST (v)表示測試流量接收方節(jié)點,初始為空。
[0137]如圖4所示,本發(fā)明具體實施例中步驟I)的具體流程如下:
[0138]①讀入靜態(tài)拓撲描述信息,開始執(zhí)行分析;
[0139]②令集合S為所有計算節(jié)點的集合,并對各計算節(jié)點按照最大帶寬的值從大到小進行排序,即 S = {vk},ISDEV(vk) = FALSE 且 MAXBW (vk) > = MAXBff (vk+1);令 DIR (Vi, e」)=OUT, DIR (PEER (Vi, ej), ej) = IN ;
[0140]③令集合T為所有交換機節(jié)點的集合,并對各交換機節(jié)點按照在組網(wǎng)拓撲中的層級號HEIGHT和鏈路物理帶寬按照從小到大的順序排序,具體規(guī)則為:首先按照交換機節(jié)點的層級號HEIGHT的值從小到大進行排序,當高度值相同時按照交換機節(jié)點的全部鏈路物理帶寬總和從小到大進行排序;
[0141]④循環(huán)執(zhí)行步驟⑤?⑦,直到集合T為空;
[0142]⑤取集合T中首個節(jié)點V,令集合變量Sin等于節(jié)點V所有處于IN狀態(tài)的鏈路集合,即Sin = {e e EDGES (v)且DIR(v,e) = IN},其中由EDGES (v)返回節(jié)點v所有的鏈路集合;令臨時變量TOTAL等于Sin集合中所有鏈路的最大帶寬MAXBW之和,如果TOTAL等于0,則將節(jié)點V從集合T中刪除,返回步驟④繼續(xù)執(zhí)行循環(huán)過程;否則,令MAXBW(v) = TOTAL,轉(zhuǎn)入執(zhí)行步驟⑥;
[0143]⑥對節(jié)點V中所有鏈路對端狀態(tài)為PEER的鏈路,將本端鏈路狀態(tài)設(shè)置為PEER,更新節(jié)點V和對端節(jié)點V’的節(jié)點最大帶寬和鏈路最大帶寬,更新對端節(jié)點V’中所有處于OUT狀態(tài)鏈路的最大帶寬。
[0144]⑦對節(jié)點V中所有本端處于NULL狀態(tài)的鏈路,根據(jù)對端節(jié)點在網(wǎng)絡(luò)中的層次號和節(jié)點V在網(wǎng)絡(luò)中的層次號更新本地鏈路的鏈路方向和最大鏈路帶寬,其中更新方法為:當節(jié)點V與對端節(jié)點V’在網(wǎng)絡(luò)中的層次號HEIGHT的值相同時,設(shè)置節(jié)點V與對端節(jié)點V’的鏈路方向為PEER ;當節(jié)點V在網(wǎng)絡(luò)中的層次號HEIGHT的值大于對端節(jié)點V’在網(wǎng)絡(luò)中的層次號HEIGHT的值時,設(shè)置節(jié)點V的鏈路方向為0UT,對端方向為IN ;將節(jié)點V從T中刪除,返回步驟④繼續(xù)執(zhí)行循環(huán)過程。
[0145]⑧當集合T為空時,完成網(wǎng)絡(luò)靜態(tài)互連拓撲分析,得到網(wǎng)絡(luò)中各鏈路的鏈路最大帶寬、各節(jié)點的節(jié)點最大帶寬。
[0146]其中,上述步驟⑥的具體執(zhí)行流程為:
[0147]i令集合變量Sp等于節(jié)點V所有對端狀態(tài)等于PEER的鏈路集合,即{e e EDGES (v)且 DIR (PEER (v, e),e) = PEER};
[0148]ii對集合變量Sp中每個鏈路e,執(zhí)行以下①?⑤操作:
[0149]①令DIR (V, e)等于 PEER ;
[0150]②令MAXBW(v)+ = MAXBff (e);令臨時變量 TMP2 等于 TOTAL 和 WEIGHT (e)的最小值;
[0151 ] ③令MAXBW (e)等于MAXBW (e)和TMP2的最大值;
[0152]④令MAXBW (PEER (v, e)) + = TMP2 ;
[0153]⑤更新節(jié)點PEER (V,e)所有本端處于OUT狀態(tài)的鏈路,如果節(jié)點PEER (v,e)的鏈路 e」?jié)M足 MAXBW (e」)〈WEIGHT (e」),令 MAXBW (e」)等于 WEIGHT (e」)和 MAXBW (PEER (v, e))的最小值。
[0154]上述步驟⑦的具體執(zhí)行流程為:
[0155]i令集合變量Sout等于節(jié)點V本端所有處于NULL狀態(tài)的鏈路集合,即TMP ={e e EDGES (v)且 DIR(v, e) = NULL};
[0156]ii對集合變量Sout中每個鏈路e,執(zhí)行以下①、②操作:
[0157]①令TMP2等于WEIGHT (e)和TOTAL的最小值;
[0158]②如果HEIGHT (PEER (V, e))等于 HEIGHT (v),則令 DIR (v, e)等于 PEER,令MAXBff (e) = TMP2 ;否則令 MAXBW (e)等于 TMP2,令 DIR(v, e)等于 OUT,DIR (PEER (v, e), e)
等于IN。
[0159]如圖5所示,本發(fā)明具體實施例中步驟2)的具體執(zhí)行流程:
[0160]①令集合S為所有交換機節(jié)點的集合,并將各交換機節(jié)點按照在網(wǎng)絡(luò)中層次號HEIGHT的值從小到大排序,當層次號HEIGHT的值相同時,按照交換機節(jié)點的鏈路總帶寬和從大到小排序;將集合S中節(jié)點和鏈路設(shè)置為未處理狀態(tài),即ISDONE = FALSE ;
[0161]②取集合S中首個交換機節(jié)點V,將V從集合S中刪除;令集合Ewait為節(jié)點V中所有處于未處理狀態(tài)的鏈路集合,令集合Eend為節(jié)點V中所有處于已測試狀態(tài)的鏈路集合;
[0162]③判斷集合Ewait中所有鏈路是否均已測試完成,若為是,將當前交換機節(jié)點V設(shè)置為已測試狀態(tài),輸出當前交換機節(jié)點的測試任務(wù)描述信息,否則轉(zhuǎn)入執(zhí)行步驟④;
[0163]④取集合Ewait中鏈路最大帶寬值最大的鏈路el作為源鏈路,并將鏈路el從集合Ewait中刪除,再依次從Ewait和Eend集合中取與鏈路el帶寬相互匹配的目的鏈路并保存在Eto集合中;
[0164]⑤使用鏈路el和節(jié)點V調(diào)用測試節(jié)點遞歸選擇過程,選擇支撐鏈路el最大鏈路帶寬的所有節(jié)點集合和鏈路集合,得到源計算節(jié)點集合;
[0165]⑥對于集合Eto中每個鏈路,調(diào)用測試節(jié)點遞歸選擇過程,選擇支撐各鏈路最大帶寬的所有節(jié)點集合和鏈路集合,得到目的計算節(jié)點集合;
[0166]⑦在返回的源計算節(jié)點、目的計算節(jié)點集合之間,按照帶寬從大到小的順序設(shè)置各節(jié)點間的測試流量映射關(guān)系,輸出針對當前鏈路el的測試任務(wù)信息,返回執(zhí)行步驟③。
[0167]其中,步驟④中Eto集合的生成具體流程為:
[0168]i取集合Ewait中首個鏈路el,并將el從集合Ewait中刪除;
[0169]ii令匹配帶寬frombw為當前鏈路的鏈路最大帶寬MAXBW(el),令剩余源鏈路流量tmpbw初始化為匹配帶寬frombw。
[0170]iii循環(huán)執(zhí)行步驟①?②直到剩余源鏈路流量tmpbw小于等于O或者Ewait與Eend均為空;
[0171]①若集合Ewait不為空,取集合Ewait中鏈路最大帶寬值最大的鏈路e2,并將e2從集合Ewait中刪除,轉(zhuǎn)入執(zhí)行步驟②;若集合Ewait為空,且集合Eend不為空,則取Eend中鏈路最大帶寬值最大的鏈路e2,并將鏈路e2從集合Eend中刪除,轉(zhuǎn)入執(zhí)行步驟②;否則令frombw- = tmpbw ;退出循環(huán)。
[0172]②令tmpbw-= MAXBW (e2) ;Eto+ = {e2}。
[0173]對于交換機節(jié)點的每條鏈路e,由步驟⑤選取支撐鏈路e最大鏈路帶寬的所有節(jié)點作為源計算節(jié)點,包括源交換機節(jié)點VSfrom和源計算節(jié)點VCfrom,由步驟⑥選取支撐匹配鏈路e的各條鏈路鏈路最大帶寬的所有目的計算節(jié)點,包括目的交換機節(jié)點VSto和目的計算節(jié)點VCto,對集合VCFrom和集合VCto中計算節(jié)點按照節(jié)點最大帶寬MAXBW值從大到小進行排序,再分別設(shè)置集合VCFrom和集合VCto中各計算節(jié)點DEST變量的測試流量映射關(guān)系,生成鏈路e的測試任務(wù),交換機節(jié)點的所有鏈路處理完后即得到交換機節(jié)點的測試任務(wù)。
[0174]本實施例中,定義一個測試節(jié)點遞歸選擇函數(shù)SelectLinkNodes (bw, e, v, Vs, Vc),輸入?yún)?shù)為:需要支撐的鏈路最大帶寬bw、待測鏈路e和待測節(jié)點V ;輸出參數(shù)為:交換機節(jié)點集合Vs、計算節(jié)點集合Vc,通過調(diào)用測試節(jié)點遞歸選擇函數(shù)選擇支撐對應(yīng)鏈路的鏈路最大帶寬的所有節(jié)點。
[0175]如圖6所示,測試節(jié)點遞歸選擇函數(shù)SelectLinkNodes (bw, e, v, Vs, Vc)實現(xiàn)的具體步驟如下:
[0176]i取待測節(jié)點V與待測鏈路e連接的對端節(jié)點pv,即pv = PEER(v, e);
[0177]ii設(shè)置TMPBW為需要支撐的鏈路最大帶寬bw,初始化CURBW為0,即TMPBW = bw ;CU 麗=O ;
[0178]iii令集合TMPwait為對端節(jié)點pv除待測鏈路e以外所有未處理(ISDONE(e)=FALSE)的鏈路集合,并按照鏈路的鏈路最大帶寬MAXBW從大到小進行排序;令集合TMPend為對端節(jié)點pv除鏈路e以外所有已測試(ISDONE(e) = TRUE)的鏈路集合,并按照鏈路的鏈路最大帶寬MAXBW屬性從大到小進行排序;
[0179]iv循環(huán)執(zhí)行步驟①?③直到支撐帶寬TMPBW小于等于O:
[0180]①取集合TMPwait中首個鏈路TMPe,并將鏈路TMPe從集合TMPwait中移除,設(shè)置鏈路 TMPe 為已測試狀態(tài),即 ISDONE (TMPe) = TRUE,更新 CURBW 為 TMPBW-MAXBW(TMPe),如果CURBW小于0,則更新CURBW等于TMPBW,更新TMPBW為TMPBW- = CURBW,返回執(zhí)行步驟①直至集合TMPwait為空;
[0181]②取集合TMPend中首個鏈路TMPe,并將鏈路TMPe從集合TMPend中移除,設(shè)置鏈路 TMPe 為已測試狀態(tài),即 ISDONE (TMPe) = TRUE,更新 CURBW 為 TMPBW-MAXBW(TMPe),如果CURBW小于0,則更新CURBW等于TMPBW,更新TMPBW為TMPBW- = CURBW,直至集合TMPend為空;
[0182]③判斷對端節(jié)點pv的類型,如果ISDEV (pv) = FALSE,更新計算節(jié)點集合Vc為Vc+=pv ;否則轉(zhuǎn)入執(zhí)行步驟④;否則遞歸調(diào)用SelectLinkNodes (QJRBW, TMPe, pv, Vs, Vc),0PENP0RT (pv) + = TMPe ;更新交換機節(jié)點集合Vs為Vs+ = pv。
[0183]對于需要支撐的鏈路最大帶寬bw、待測鏈路e和待測節(jié)點V,通過上述步驟即可選擇得到能夠支撐鏈路最大帶寬bw的計算節(jié)點集合Vc和交換機節(jié)點集合Vs。
[0184]本實施例一種巨系統(tǒng)域網(wǎng)絡(luò)可用性的自動化測試裝置,包括:
[0185]靜態(tài)拓撲預(yù)處理模塊,用于接收到測試請求時,獲取巨系統(tǒng)域網(wǎng)絡(luò)的靜態(tài)拓撲描述信息,并根據(jù)靜態(tài)拓撲描述信息計算網(wǎng)絡(luò)中各鏈路的鏈路最大帶寬、各節(jié)點的節(jié)點最大帶寬;
[0186]主動測試任務(wù)生成模塊,用于生成各交換機節(jié)點的測試任務(wù),每個交換機節(jié)點的測試任務(wù)生成時,獲取當前交換機節(jié)點所有鏈路中鏈路最大帶寬相互匹配的源鏈路和目的鏈路,由所述源鏈路、目的鏈路對應(yīng)的鏈路最大帶寬分別選取源計算節(jié)點、目的計算節(jié)點,并設(shè)置源計算節(jié)點、目的計算節(jié)點的測試流量映射關(guān)系,確定當前交換機節(jié)點的測試任務(wù)信息集合;
[0187]主動測試任務(wù)執(zhí)行模塊,用于各交換機節(jié)點根據(jù)對應(yīng)的所述測試任務(wù)信息集合執(zhí)行測試,輸出測試結(jié)果;
[0188]可用性分析模塊,用于接收各交換機節(jié)點的測試結(jié)果,由測試結(jié)果判定各交換機節(jié)點的可用性,并根據(jù)各交換機節(jié)點的可用性判定綜合得到當前網(wǎng)絡(luò)的可用性。
[0189]本實施例中,主動測試任務(wù)生成模塊包括依次連接的測試鏈路選取單元、測試節(jié)點選擇單元以及測試流量映射單元,測試鏈路選取單元獲取當前交換機節(jié)點所有鏈路并將各鏈路按照鏈路最大帶寬進行降序排序,依次選擇各鏈路作為源鏈路并根據(jù)源鏈路的鏈路最大帶寬選取與源鏈路相互匹配的多條目的鏈路;測試節(jié)點選擇單元選取滿足鏈路帶寬和大于等于源鏈路最大帶寬的所有對端節(jié)點作為源計算節(jié)點,選取滿足鏈路帶寬和大于等于各目的鏈路最大帶寬的所有對端節(jié)點作為目的計算節(jié)點;測試流量映射單元按照節(jié)點最大帶寬設(shè)置各測試源節(jié)點與測試目的節(jié)點之間的測試流量映射關(guān)系。
[0190]上述只是本發(fā)明的較佳實施例,并非對本發(fā)明作任何形式上的限制。雖然本發(fā)明已以較佳實施例揭露如上,然而并非用以限定本發(fā)明。任何熟悉本領(lǐng)域的技術(shù)人員,在不脫離本發(fā)明技術(shù)方案范圍的情況下,都可利用上述揭示的技術(shù)內(nèi)容對本發(fā)明技術(shù)方案做出許多可能的變動和修飾,或修改為等同變化的等效實施例。因此,凡是未脫離本發(fā)明技術(shù)方案的內(nèi)容,依據(jù)本發(fā)明技術(shù)實質(zhì)對以上實施例所做的任何簡單修改、等同變化及修飾,均應(yīng)落在本發(fā)明技術(shù)方案保護的范圍內(nèi)。
【權(quán)利要求】
1.一種巨系統(tǒng)域網(wǎng)絡(luò)可用性的自動化測試方法,其特征在于步驟包括: 1)靜態(tài)拓撲預(yù)處理:接收到測試請求時,獲取巨系統(tǒng)域網(wǎng)絡(luò)的靜態(tài)拓撲描述信息,并根據(jù)所述靜態(tài)拓撲描述信息計算網(wǎng)絡(luò)中各鏈路的鏈路最大帶寬、各節(jié)點的節(jié)點最大帶寬; 2)主動測試任務(wù)生成:生成各交換機節(jié)點的測試任務(wù),每個交換機節(jié)點的測試任務(wù)生成時,獲取當前交換機節(jié)點所有鏈路中鏈路最大帶寬相互匹配的源鏈路和目的鏈路,由所述源鏈路、目的鏈路對應(yīng)的鏈路最大帶寬分別選取源計算節(jié)點、目的計算節(jié)點,并設(shè)置源計算節(jié)點、目的計算節(jié)點的測試流量映射關(guān)系,確定當前交換機節(jié)點的測試任務(wù)信息集合; 3)主動測試任務(wù)執(zhí)行:各交換機節(jié)點根據(jù)對應(yīng)的所述測試任務(wù)信息集合執(zhí)行測試,輸出測試結(jié)果; 4)可用性分析:接收各交換機節(jié)點的測試結(jié)果,由所述測試結(jié)果判定各交換機節(jié)點的可用性,并根據(jù)各交換機節(jié)點的可用性判定綜合得到當前網(wǎng)絡(luò)的可用性。
2.根據(jù)權(quán)利要求1所述的巨系統(tǒng)域網(wǎng)絡(luò)可用性的自動化測試方法,其特征在于,所述步驟2)的具體步驟為: 2.1)由所有交換機節(jié)點構(gòu)成交換機節(jié)點集合,并將各交換機節(jié)點按在網(wǎng)絡(luò)中的層次號進行降序排序,其中當所述層次號相同時,則按照交換機節(jié)點的鏈路總帶寬和進行降序排序; 2.2)取交換機節(jié)點集合中首個交換機節(jié)點,轉(zhuǎn)入執(zhí)行步驟2.3); 2.3)獲取當前交換機節(jié)點所有鏈路并將各鏈路按照鏈路最大帶寬進行降序排序,依次選擇各鏈路作為源鏈路,并根據(jù)所述源鏈路的鏈路最大帶寬選取與源鏈路相互匹配的多條目的鏈路,得到目的鏈路集合; 2.4)選取鏈路帶寬和大于等于源鏈路最大帶寬的所有對端節(jié)點作為源計算節(jié)點,選取滿足鏈路帶寬和大于等于目的鏈路最大帶寬的所有對端節(jié)點作為目的計算節(jié)點;按照節(jié)點最大帶寬設(shè)置各源計算節(jié)點與目的計算節(jié)點之間的測試流量映射關(guān)系,完成當前交換機節(jié)點的測試任務(wù)信息集合的生成; 2.5)取交換機節(jié)點集合中下一個交換機節(jié)點,返回執(zhí)行步驟2.3),直至取完交換機節(jié)點集合中所有交換機節(jié)點,完成各交換機節(jié)點測試任務(wù)的生成。
3.根據(jù)權(quán)利要求2所述的巨系統(tǒng)域網(wǎng)絡(luò)可用性的自動化測試方法,其特征在于,所述步驟2.3)的具體步驟為: 2.3.1)由當前交換機節(jié)點所有未處理的鏈路構(gòu)成未處理鏈路集合,并將各鏈路按照鏈路最大帶寬進行降序排序;由當前交換機節(jié)點所有已測試的鏈路集合構(gòu)成已測試鏈路集合,并將各鏈路按照鏈路最大帶寬進行降序排序; 2.3.2)判斷當前交換機節(jié)點的所有鏈路是否均處理完,如果是,則將當前交換機節(jié)點設(shè)置為已測試狀態(tài); 2.3.3)取未處理鏈路集合中首個鏈路el作為源鏈路并將所述源鏈路el從未處理鏈路集合中刪除,初始化剩余源鏈路流量tmpbw = MAXBW(el),其中MAXBW(el)表示源鏈路el的鏈路最大帶寬; 2.3.4)依次從未處理鏈路集合、已測試鏈路集合中取首個鏈路e2作為匹配目的鏈路并將取出的匹配目的鏈路刪除,按式(I)更新剩余源鏈路流量tmpbw,返回執(zhí)行步驟2.3.4),直到剩余源鏈路流量小于等于O或未處理鏈路集合、已測試鏈路集合均為空,得到由所有匹配目的鏈路構(gòu)成的目的鏈路集合; tmpbw- = MAXBff(e2)(I) 式(I)中MAXBW(e2)表示鏈路e2的鏈路最大帶寬。
4.根據(jù)權(quán)利要求3所述的巨系統(tǒng)域網(wǎng)絡(luò)可用性的自動化測試方法,其特征在于,所述步驟2.4)中選取源計算節(jié)點、選取目的計算節(jié)點的具體步驟為: 2.4.1)取源鏈路為當前鏈路,轉(zhuǎn)入執(zhí)行步驟2.4.2); 2.4.2)獲取當前鏈路連接的對端節(jié)點,并初始化剩余的鏈路流量TMPBW為當前鏈路的鏈路最大帶寬; 2.4.3)由對端節(jié)點所有鏈路中除當前鏈路外的所有未處理鏈路構(gòu)成對端節(jié)點未處理鏈路集合、所有已測試鏈路構(gòu)成對端節(jié)點已測試鏈路集合,并將各鏈路按照鏈路最大帶寬進行降序排序; 2.4.4)依次從對端節(jié)點未處理鏈路集合、對端節(jié)點已測試鏈路集合中取首個鏈路作為支撐鏈路并將取出的支撐鏈路刪除; 2.4.5)按式(2)更新剩余的鏈路流量TMPBW,若當前鏈路為源鏈路,將當前對端節(jié)點作為源計算節(jié)點;若當前鏈路為目的鏈路,將當前對端節(jié)點作為目的計算節(jié)點;返回執(zhí)行步驟2.4.4),直至剩余的鏈路流量TMPBW小于等于O ; TMPBW- = MAXBff(TMPe)(2) 式(2)中MAXBW(TMPe)表示取出的支撐鏈路TMPe的鏈路最大帶寬; 2.4.6)取一條目的鏈路作為當前鏈路,返回執(zhí)行步驟2.4.2),直至取完所有目的鏈路。
5.根據(jù)權(quán)利要求1?4中任意一項所述的巨系統(tǒng)域網(wǎng)絡(luò)可用性的自動化測試方法,其特征在于,所述步驟I)中計算網(wǎng)絡(luò)中各鏈路的鏈路最大帶寬、各節(jié)點的節(jié)點最大帶寬的具體步驟為: 1.1)由所有計算節(jié)點構(gòu)成計算節(jié)點集合,且各計算節(jié)點按照節(jié)點最大帶寬值進行排序,并將各計算節(jié)點的鏈路方向設(shè)置為OUT、各計算節(jié)點對端節(jié)點的鏈路方向設(shè)置為IN,其中IN表示流量傳輸方向為進入當前節(jié)點,OUT表示流量傳輸方向為進入對端節(jié)點; 1.2)由所有交換機節(jié)點構(gòu)成交換機節(jié)點集合T,并將各交換機節(jié)點按照在網(wǎng)絡(luò)中的層次號進行排序,當層次號相同時則按照交換機節(jié)點全部鏈路的鏈路物理帶寬總和進行排序; 1.3)取交換機節(jié)點集合中一個交換機節(jié)點,轉(zhuǎn)入執(zhí)行步驟1.4); 1.4)計算當前交換機節(jié)點所有處于IN狀態(tài)鏈路的鏈路帶寬和,得到當前交換機節(jié)點的節(jié)點最大帶寬初始值,若所述鏈路帶寬和值為0,轉(zhuǎn)入執(zhí)行步驟1.7);否則轉(zhuǎn)入執(zhí)行步驟1.5); 1.5)獲取當前交換機節(jié)點所有對端處于PEER狀態(tài)的鏈路,由獲取到的各鏈路的鏈路最大帶寬更新當前交換機節(jié)點、當前交換機節(jié)點對端節(jié)點的節(jié)點最大帶寬以及對應(yīng)的鏈路最大帶寬,其中PEER表示流量傳輸方向為當前節(jié)點和對端節(jié)點雙向傳輸;獲取當前交換機節(jié)點對端節(jié)點中所有處于OUT狀態(tài)的鏈路,由獲取到的各鏈路的鏈路最大帶寬更新對應(yīng)的鏈路最大帶寬; 1.6)獲取當前交換機節(jié)點所有處于NULL狀態(tài)的鏈路,獲取到的各鏈路中根據(jù)當前交換機節(jié)點、當前交換機節(jié)點對端節(jié)點在網(wǎng)絡(luò)中的層次號大小更新鏈路方向以及對應(yīng)的鏈路最大帶寬,其中NULL表示未標識鏈路流量傳輸方向; 1.7)將當前交換機節(jié)點從交換機節(jié)點集合中刪除,取交換機節(jié)點集合集合中下一個交換機節(jié)點,返回執(zhí)行步驟1.3),直至交換機節(jié)點集合集合為空。
6.根據(jù)權(quán)利要求5所述的巨系統(tǒng)域網(wǎng)絡(luò)可用性的自動化測試方法,其特征在于:所述步驟1.5)的具體步驟為: 1.5.1)由當前交換機節(jié)點所有對端節(jié)點中處于PEER狀態(tài)的鏈路構(gòu)成第一集合Sp,取第一集合Sp中一條鏈路,轉(zhuǎn)入執(zhí)行步驟2.5.2); 1.5.2)將當前交換機節(jié)點的鏈路方向設(shè)置為PEER,并按式(3)更新當前交換機節(jié)點的節(jié)點最大帶寬,其中MAXBW(v)為當前交換機節(jié)點V的節(jié)點最大帶寬,MAXBW(e)為當前鏈路e的鏈路最大帶寬; MAXBff (v)+ = MAXBff (e)(3) 1.5.3)取所述交換機節(jié)點的節(jié)點最大帶寬初始值、當前鏈路的鏈路物理帶寬中的較小值,得到第一更新值TMPl ;獲取當前鏈路的鏈路最大帶寬,并更新當前鏈路的鏈路最大帶寬為所述第一更新值TMP1、當前鏈路的鏈路最大帶寬中的較大值; 1.5.4)根據(jù)所述第一更新值TMPl按式(4)更新當前交換機節(jié)點對端節(jié)點的節(jié)點最大帶寬,其中PEER(v,e)為當前鏈路e與當前交換機節(jié)點V相連的當前交換機節(jié)點對端節(jié)點;MAXBff(PEER(v, e)) + = TMPl(4) 1.5.5)獲取當前交換機節(jié)點所有對端節(jié)點中處于OUT狀態(tài)的鏈路,獲取的各鏈路中如果鏈路的鏈路最大帶寬小于鏈路物理帶寬,則更新對應(yīng)鏈路的鏈路最大帶寬為當前對端節(jié)點的節(jié)點最大帶寬、鏈路物理帶寬中的較小值; 1.5.6)取第一集合Sp中下一條鏈路,返回執(zhí)行步驟1.5.2),直至取完第一集合Sp中所有鏈路。
7.根據(jù)權(quán)利要求6所述的巨系統(tǒng)域網(wǎng)絡(luò)可用性的自動化測試方法,其特征在于:所述步驟1.6)的具體實施步驟為: 1.6.1)由當前交換機節(jié)點本端所有處于NULL狀態(tài)的鏈路構(gòu)成第二集合Sout ; 1.6.2)取第二集合Sout中一條取鏈路,轉(zhuǎn)入執(zhí)行步驟1.6.3); 1.6.3)判斷當前交換機節(jié)點與對端節(jié)點在網(wǎng)絡(luò)中層次號是否相等,如果是,則將當前交換機節(jié)點的鏈路方向設(shè)置為PEER ;否則將當前交換機節(jié)點的鏈路方向設(shè)置為OUT,對端節(jié)點的鏈路方向設(shè)置為IN ; 1.6.4)取所述交換機節(jié)點的節(jié)點最大帶寬初始值、當前鏈路的鏈路物理帶寬中的較小值,得到第二更新值TMP2,并更新當前鏈路的鏈路最大帶寬為所述第二值TMP2 ; 1.6.5)取第二集合Sout中下一條取鏈路,返回執(zhí)行步驟1.6.3),直至取完第二集合Sout中所有鏈路。
8.根據(jù)權(quán)利要求7所述的巨系統(tǒng)域網(wǎng)絡(luò)可用性的自動化測試方法,其特征在于,所述步驟4)的具體步驟為: 4.1)統(tǒng)計各交換機節(jié)點的所有測試結(jié)果并進行判定,當目標交換機節(jié)點所有測試結(jié)果的測試流量總和小于預(yù)設(shè)閾值時,判定目標交換機節(jié)點存在性能瓶頸; 4.2)判斷網(wǎng)絡(luò)中是否有存在性能瓶頸的交換機節(jié)點,若為否,判定當前網(wǎng)絡(luò)為可用。
9.一種巨系統(tǒng)域網(wǎng)絡(luò)可用性的自動化測試裝置,其特征在于,包括: 靜態(tài)拓撲預(yù)處理模塊,用于接收到測試請求時,獲取巨系統(tǒng)域網(wǎng)絡(luò)的靜態(tài)拓撲描述信息,并根據(jù)所述靜態(tài)拓撲描述信息計算網(wǎng)絡(luò)中各鏈路的鏈路最大帶寬、各節(jié)點的節(jié)點最大帶寬; 主動測試任務(wù)生成模塊,用于生成各交換機節(jié)點的測試任務(wù),每個交換機節(jié)點的測試任務(wù)生成時,獲取當前交換機節(jié)點所有鏈路中鏈路最大帶寬相互匹配的源鏈路和目的鏈路,由所述源鏈路、目的鏈路對應(yīng)的鏈路最大帶寬分別選取源計算節(jié)點、目的計算節(jié)點,并設(shè)置源計算節(jié)點、目的計算節(jié)點的測試流量映射關(guān)系,確定當前交換機節(jié)點的測試任務(wù)信息集合; 主動測試任務(wù)執(zhí)行模塊,用于各交換機節(jié)點根據(jù)對應(yīng)的所述測試任務(wù)信息集合執(zhí)行測試,輸出測試結(jié)果; 可用性分析模塊,用于接收各交換機節(jié)點的測試結(jié)果,由所述測試結(jié)果判定各交換機節(jié)點的可用性,并根據(jù)各交換機節(jié)點的可用性判定綜合得到當前網(wǎng)絡(luò)的可用性。
10.根據(jù)權(quán)利要求9所述的巨系統(tǒng)域網(wǎng)絡(luò)可用性的自動化測試裝置,其特征在于:所述主動測試任務(wù)生成模塊包括依次連接的測試鏈路選取單元、測試節(jié)點選擇單元以及測試流量映射單元,所述測試鏈路選取單元獲取當前交換機節(jié)點所有鏈路并將各鏈路按照鏈路最大帶寬進行降序排序,依次選擇各鏈路作為源鏈路并根據(jù)所述源鏈路的鏈路最大帶寬選取與源鏈路相互匹配的多條目的鏈路;所述測試節(jié)點選擇單元選取滿足鏈路帶寬和大于等于源鏈路最大帶寬的所有對端節(jié)點作為源計算節(jié)點,選取滿足鏈路帶寬和大于等于各目的鏈路最大帶寬的所有對端節(jié)點作為目的計算節(jié)點;所述測試流量映射單元按照節(jié)點最大帶寬設(shè)置各測試源節(jié)點與測試目的節(jié)點之間的測試流量映射關(guān)系。
【文檔編號】H04L12/26GK104333491SQ201410691264
【公開日】2015年2月4日 申請日期:2014年11月25日 優(yōu)先權(quán)日:2014年11月25日
【發(fā)明者】張曉哲, 孫志剛, 陳琳, 黃峰, 劉亞萍, 廖海寧, 胡寧, 陶靜, 黃杰, 劉錚錚 申請人:中國人民解放軍國防科學技術(shù)大學