本發明涉及通信,尤其涉及一種網絡路徑優選方法、裝置、設備、存儲介質及程序產品。
背景技術:
1、隨著信息技術的不斷發展,網絡所要承載的信息傳播需求也在不斷提升。如何選擇合適的路徑轉發方案,以確保網絡通信的高效性、可靠性和安全性成為亟待解決的問題。現有的路徑優選方案僅考慮單因素,路徑優選的準確性和可靠性較差。
技術實現思路
1、本發明提供一種網絡路徑優選方法、裝置、設備、存儲介質及程序產品,用以解決現有技術中路徑優選方案僅考慮單因素,路徑優選的準確性和可靠性較差的缺陷。
2、第一方面,本發明提供一種網絡路徑優選方法,包括:
3、以通信網絡中各路由器的端口為節點,以端口之間的各鏈路為邊,構建網絡拓撲結構,獲取路由請求,基于所述路由請求確定源端口和目標端口,對所述網絡拓撲結構進行剪枝,得到剪枝后的網絡拓撲結構;
4、獲取所述剪枝后的網絡拓撲結構對應的每條鏈路的感知數據,所述感知數據包括時延,對所述每條鏈路的時延進行特征提取,將所述每條鏈路的時延的特征向量輸入至預先構建的預測模型,得到所述預測模型輸出的所述每條鏈路的預測時延,所述預測模型是基于樣本鏈路的樣本時延的特征向量,以及所述樣本鏈路的預測時延標簽訓練得到的;
5、基于所述剪枝后的網絡拓撲結構生成網絡拓撲圖,基于所述每條鏈路的感知數據和所述每條鏈路的預測時延,在所述網絡拓撲圖中進行全局路徑搜索,確定所述源端口到所述目標端口的最優路徑。
6、在一些實施例中,所述感知數據還包括抖動、丟包率、流入速率、流出速率和帶寬;
7、對應地,所述基于所述每條鏈路的感知數據和所述每條鏈路的預測時延,在所述網絡拓撲圖中進行全局路徑搜索,確定所述源端口到所述目標端口的最優路徑,包括:
8、基于所述每條鏈路的流入速率、流出速率和帶寬,計算所述每條鏈路的帶寬利用率;
9、基于所述每條鏈路的時延、抖動、丟包率、帶寬利用率和預測時延,計算每一可行路徑的總時延、總抖動、總丟包率、總帶寬利用率和總預測時延;
10、以總時延、總抖動、總丟包率、總帶寬利用率和總預測時延最小化為目標,從多個可行路徑中確定最優路徑。
11、在一些實施例中,所述以總時延、總抖動、總丟包率、總帶寬利用率和總預測時延最小化為目標,從多個可行路徑中確定最優路徑,包括:
12、確定每一端口的優先級,根據所述每一端口的優先級,將每一可行路徑編碼成一個染色體,以總時延、總抖動、總丟包率、總帶寬利用率和總預測時延最小化為目標,構建適應度函數;
13、生成初始種群,所述初始種群包括多個染色體;
14、計算每一染色體對應的適應度函數值,從所述多個染色體中確定初始的理想染色體;
15、從所述多個染色體中選取兩個目標染色體,基于兩個所述目標染色體進行交叉變異操作,生成新一代染色體,確定新的理想染色體;
16、判斷是否達到迭代的終止條件,若是,則基于所述新的理想染色體確定最優路徑,若否,則從計算每一染色體對應的適應度函數值開始進行循環迭代,直到達到終止條件,確定最優路徑。
17、在一些實施例中,所述從所述多個染色體中選取兩個目標染色體,包括:
18、確定所述總時延、總抖動、總丟包率、總帶寬利用率和總預測時延對應的權重向量序列;
19、獲取所述權重向量序列的鄰居,從所述權重向量序列的鄰居中選取兩個索引,根據兩個所述索引,從所述多個染色體中選取兩個目標染色體。
20、在一些實施例中,所述基于所述新的理想染色體確定最優路徑,包括:
21、從多個端口中確定當前端口,判斷所述當前端口是否為所述目標端口;
22、在確定所述當前端口是所述目標端口的情況下,輸出最優路徑;
23、在確定所述當前端口不是所述目標端口的情況下,獲取所述源端口的鄰接端口,判斷所述鄰接端口是否存在;
24、在確定所述鄰接端口已存在的情況下,根據鄰接端口優先級選擇下一端口,判斷所述下一端口是否在已選路徑中,若是,則刪除所述下一端口,重新獲取新的鄰接端口,否則,重新選擇新的當前端口;
25、在確定所述鄰接端口不存在的情況下,刪除所述鄰接端口,重新獲取新的鄰接端口。
26、在一些實施例中,所述以通信網絡中各路由器的端口為節點,以端口之間的各鏈路為邊,構建網絡拓撲結構,包括:
27、基于不同路由器間的通信鏈路,構建初始網絡拓撲結構;
28、基于同一路由器內部的通信鏈路,在所述初始網絡拓撲結構中添加邊,得到所述網絡拓撲結構。
29、在一些實施例中,所述預測模型的確定過程包括:
30、獲取樣本鏈路的樣本時延,確定所述樣本鏈路的預測時延標簽;
31、對所述樣本鏈路的樣本時延進行特征提取,得到所述樣本鏈路的樣本時延的特征向量;
32、以所述樣本鏈路的樣本時延的特征向量為樣本數據,以所述樣本鏈路的預測時延標簽為樣本標簽,對初始預測模型進行訓練;
33、基于交叉熵損失函數,計算損失函數值;
34、基于所述損失函數值,對所述初始預測模型的參數進行優化迭代,得到所述預測模型。
35、第二方面,本發明還提供一種網絡路徑優選裝置,包括:
36、構建單元,用于以通信網絡中各路由器的端口為節點,以端口之間的各鏈路為邊,構建網絡拓撲結構,獲取路由請求,基于所述路由請求確定源端口和目標端口,對所述網絡拓撲結構進行剪枝,得到剪枝后的網絡拓撲結構;
37、預測單元,用于獲取所述剪枝后的網絡拓撲結構對應的每條鏈路的感知數據,所述感知數據包括時延,對所述每條鏈路的時延進行特征提取,將所述每條鏈路的時延的特征向量輸入至預先構建的預測模型,得到所述預測模型輸出的所述每條鏈路的預測時延,所述預測模型是基于樣本鏈路的樣本時延的特征向量,以及所述樣本鏈路的預測時延標簽訓練得到的;
38、確定單元,用于基于所述剪枝后的網絡拓撲結構生成網絡拓撲圖,基于所述每條鏈路的感知數據和所述每條鏈路的預測時延,在所述網絡拓撲圖中進行全局路徑搜索,確定所述源端口到所述目標端口的最優路徑。
39、第三方面,本發明還提供一種電子設備,包括存儲器、處理器及存儲在存儲器上并可在處理器上運行的計算機程序,所述處理器執行所述程序時實現如上述任一種所述網絡路徑優選方法。
40、第四方面,本發明還提供一種非暫態計算機可讀存儲介質,其上存儲有計算機程序,該計算機程序被處理器執行時實現如上述任一種所述網絡路徑優選方法。
41、第五方面,本發明還提供一種計算機程序產品,包括計算機程序,所述計算機程序被處理器執行時實現如上述任一種所述網絡路徑優選方法。
42、本發明提供的一種網絡路徑優選方法、裝置、設備、存儲介質及程序產品,通過構建網絡拓撲結構,對網絡拓撲結構進行剪枝,獲取每條鏈路的感知數據,對每條鏈路的時延進行特征提取,將每條鏈路的時延的特征向量輸入至預先構建的預測模型,得到每條鏈路的預測時延,基于每條鏈路的感知數據和預測時延,確定源端口到目標端口的最優路徑,綜合考慮多個指標進行路徑優選,準確度高、可靠性強,能夠最大程度地提高網絡通信質量,適用于復雜的大型網絡。