本公開涉及云計算,尤其涉及一種負載均衡方法、裝置、電子設備、存儲介質及產品。
背景技術:
1、在云計算數據中心網絡中,虛擬私有云(virtual?private?cloud,vpc)作為為用戶提供的可自定義、私密、隔離的網絡環境,在其與外網通信的過程中,需要通過網絡地址轉換(network?address?translation,nat)網關提供nat服務轉換云內地址。
2、相關負載均衡方案中,通常是在流量到達交換機之后再根據業務負載、網絡時延等參數進行負載均衡,這種負載均衡方案只考慮到出交換機的流量的負載均衡,且只適用于規模不大的網絡環境或單臺客戶端對應多臺服務器做nat轉換的網絡環境,無法適用于包含大量固定的目的網絡地址轉換snat與源網絡地址轉換dnat轉換規則的數據中心網絡,因此,需要一種能夠將整體網絡流量合理分配到不同nat設備上的負載均衡方法。
技術實現思路
1、本公開提供一種負載均衡方法、裝置、電子設備、存儲介質及產品。以解決相關技術中的問題。
2、本公開的第一方面實施例提出了一種負載均衡方法,該方法包括:
3、響應于第一nat服務的第一數據轉發請求,基于第一數據轉發請求中包含的第一nat服務的服務等級,確定nat設備集群中用于轉發第一數據的第一nat設備集合;其中,第一nat服務指新注冊的nat服務,服務等級用于指示轉發第一數據的nat設備的個數;
4、獲取nat設備集群中每個nat設備的端口優先級信息;
5、基于第一nat設備集合中每個第一nat設備的端口優先級信息,確定與每個第一nat設備的端口優先級對應的路由路徑的優先級;
6、通過優先級最高的路由路徑對應的第一nat設備轉發第一數據。
7、在本公開的一些實施例中,通過優先級最高的路由路徑對應的第一nat設備轉發第一數據之后,本公開提供的負載均衡方法還包括:
8、在優先級最高的路由路徑發生故障的情況下,從第一nat設備集合中選出時延大于預設時延的至少一個第二nat設備,及時延最低的第三nat設備;
9、確定至少一個第二nat設備中優先級最高的路由路徑對應的第四nat設備;
10、更新第四nat設備對應的路由路徑的優先級為第三nat設備對應的路由路徑的優先級;
11、通過第三nat設備轉發第一數據。
12、在本公開的一些實施例中,響應于第一nat服務的第一數據轉發請求,基于第一數據轉發請求中包含的第一nat服務的服務等級,確定nat設備集群中用于轉發第一數據的第一nat設備集合,包括:
13、響應于第一nat服務的第一數據轉發請求,利用dinic算法確定當前路由策略對應的計算壓力,判斷當前路由策略對應的計算壓力是否小于預設計算壓力閾值;
14、若判斷結果為是,基于第一數據轉發請求中包含的第一nat服務的服務等級,確定nat設備集群中用于轉發第一數據的第一nat設備集合。
15、在本公開的一些實施例中,獲取nat設備集群中每個nat設備的端口優先級信息,包括:
16、獲取nat設備集群中每個nat設備對應的至少一個路由路徑中每個路由路徑的優先級信息,及每個路由路徑對應的第二nat服務的服務需求信息;
17、基于每個nat設備對應的路由路徑的優先級信息,對每個nat設備對應的所有路由路徑的優先級求和,得到每個nat設備對應的第一優先級系數;
18、基于每個nat設備對應的每個路由路徑所對應的第二nat服務的服務需求信息、每個nat設備對應的第一優先級系數及每個nat設備的ip地址的掩碼信息,確定na?t設備集群中每個nat設備的端口優先級信息。
19、在本公開的一些實施例中,獲取nat設備集群中每個nat設備的端口優先級信息之前,本公開提供的負載均衡方法還包括:
20、獲取nat設備集群中每個nat設備的第一負載信息;
21、通過優先級最高的路由路徑對應的第一nat設備轉發第一數據之后,本公開提供的負載均衡方法還包括:
22、獲取第一nat設備集合中每個第一nat設備的端口優先級信息;
23、基于每個第一nat設備的端口優先級信息,及每個第一nat設備的第一負載信息,得到每個第一nat設備的第二負載信息;
24、基于每個第一nat設備的第二負載信息及第一和值,確定每個第一nat設備的實際使用率;其中第一和值指每個第一nat設備上承載的第二nat服務優先級信息中最高優先級項的和值。
25、在本公開的一些實施例中,獲取nat設備集群中每個nat設備的第一負載信息,包括:
26、基于下一次分配數據轉發請求時nat設備的預期使用率、當前nat設備的預期使用率、nat設備的實際使用率及平滑系數構建指數平滑模型;
27、利用梯度下降算法獲取平滑系數;
28、基于平滑系數和指數平滑模型,獲取nat設備集群中每個nat設備的第一負載信息。
29、在本公開的一些實施例中,從第一nat設備集合中選出時延大于預設時延的至少一個第二nat設備,包括:
30、獲取第一nat設備集合中每個第一nat設備在預設時延檢測周期內的時延;
31、基于每個第一nat設備在預設時延檢測周期內的時延,獲取第一nat設備在預設時延檢測周期內的平均時延;
32、從第一nat設備集合中選出時延大于平均時延的至少一個第二nat設備。
33、本公開的第二方面實施例提出了一種負載均衡裝置,該裝置包括:
34、第一確定單元,用于響應于第一nat服務的第一數據轉發請求,基于第一數據轉發請求中包含的第一nat服務的服務等級,確定nat設備集群中用于轉發第一數據的第一nat設備集合;其中,第一nat服務指新注冊的nat服務,服務等級用于指示轉發第一數據的nat設備的個數;
35、獲取單元,用于獲取nat設備集群中每個nat設備的端口優先級信息;
36、第二確定單元,用于基于第一nat設備集合中每個第一nat設備的端口優先級信息,確定與每個第一nat設備的端口優先級對應的路由路徑的優先級;
37、轉發單元,用于通過優先級最高的路由路徑對應的第一nat設備轉發第一數據。
38、本公開的第三方面實施例提出了一種電子設備,包括:
39、至少一個處理器;以及與至少一個處理器通信連接的存儲器;其中,存儲器存儲有可被至少一個處理器執行的指令,指令被至少一個處理器執行,以使至少一個處理器能夠執行本公開第一方面實施例中描述的方法。
40、本公開的第四方面實施例提出了一種存儲有計算機指令的非瞬時計算機可讀存儲介質,其中,計算機指令用于使計算機執行本公開第一方面實施例中描述的方法。
41、本公開的第五方面實施例提出了一種計算機程序產品,包括計算機程序,計算機程序在被處理器執行時實現本公開第一方面實施例中描述的方法。
42、綜上,本公開提出了一種負載均衡方法、裝置、電子設備、存儲介質及產品,該方法包括:響應于第一nat服務的第一數據轉發請求,基于第一數據轉發請求中包含的第一nat服務的服務等級,確定nat設備集群中用于轉發第一數據的第一nat設備集合;其中,第一nat服務指新注冊的nat服務,服務等級用于指示轉發第一數據的nat設備的個數;獲取nat設備集群中每個nat設備的端口優先級信息;基于第一nat設備集合中每個第一nat設備的端口優先級信息,確定與每個第一nat設備的端口優先級對應的路由路徑的優先級;通過優先級最高的路由路徑對應的第一nat設備轉發第一數據。
43、通過本公開提供的方案,響應于網絡中存在第一nat服務的第一數據轉發請求,通過基于第一數據轉發請求中包含的第一nat服務的服務等級,可以確定nat設備集群中所有能夠轉發第一數據的所有nat設備。通過獲取nat設備集群中每個nat設備的端口優先級信息,可以獲取能夠轉發第一數據的所有第一nat設備的端口優先級信息。通過確定與每個第一nat設備的端口優先級對應的路由路徑的優先級,可以確定能夠轉發第一數據的路由路徑;通過優先級最高的路由路徑對應的第一nat設備轉發第一數據,可以在服務等級發生變化時,靈活選擇轉發第一數據的nat設備,可以實現入交換機流量的負載均衡,進而實現包含出交換機和入交換機的整體網絡流量的負載均衡。
44、應當理解的是,以上的一般描述和后文的細節描述僅是示例性和解釋性的,并不能限制本公開。