一種調配伺服器負載的方法及裝置與流程
2023-05-29 03:06:47
本申請涉及通信
技術領域:
,特別涉及調配伺服器負載的方法及裝置。
背景技術:
:隨著網絡通信的飛速發展,網絡伺服器所承載的數據流量也飛速增長。面對龐大的數據流量,伺服器集群的概念應運而生。伺服器集群就是指將很多伺服器集中起來一起進行同一種服務,它具有更高的處理性能、更高的可靠性。而伺服器集群的高效協同工作就需要負載均衡設備對伺服器集群中各個伺服器的負載進行調配。現有技術中,負載均衡設備通常採用最小連接數法來進行調配,它根據伺服器當前的連接情況,動態地選取其中當前並發連接數最少的一臺伺服器來處理新的請求。其中,並發連接數是指伺服器當前與所訪問的客戶端已建立的會話數。如果兩臺或多臺伺服器的並發連接數相同,則選取其中伺服器序號最小的一臺伺服器來處理新的請求。但兩臺或多臺伺服器的並發連接數相同,並不代表它們的新建連接數也相同,其中,新建連接數是指伺服器在最近一段時長(例如最近1秒)內所收到的客戶端請求數。由於對客戶端請求的接收和處理也需要消耗伺服器的資源,所以現有的依據並發連接數的調配伺服器負載的方法,並不能實現伺服器負載的實際均衡,其調配伺服器負載的精度較低,均衡效果較差。技術實現要素:本發明實施例提供調配伺服器負載的方法和裝置,用於解決現有技術調配伺服器負載的精度較低,均衡效果較差的問題。根據本發明實施例的第一方面,提供一種調配伺服器負載的方法,所述方法應用於負載均衡設備,所述負載均衡設備與待調配的伺服器集群相連,所述方法包括:統計所述伺服器集群中每臺伺服器的並發連接數,所述並發連接數是指伺服器與客戶端已建立的會話數;統計所述伺服器集群中每臺伺服器的新建連接數,所述新建連接數是指伺服器在最近的預設統計時長內所收到的客戶端請求數;比較所述伺服器集群中每臺伺服器的並發連接數,選擇並發連接數最小的伺服器作為業務請求的接收伺服器;如果至少兩臺伺服器的並發連接數相同,則比較所述至少兩臺伺服器的新建連接數,選擇新建連接數最小的伺服器作為業務請求的接收伺服器。根據本發明實施例的第二方面,提供一種調配伺服器負載的裝置,所述裝置應用於負載均衡設備,所述負載均衡設備與待調配的伺服器集群相連,所述裝置包括:第一統計單元,用於統計所述伺服器集群中每臺伺服器的並發連接數,所述並發連接數是指伺服器與客戶端已建立的會話數;第二統計單元,用於統計所述伺服器集群中每臺伺服器的新建連接數,所述新建連接數是指伺服器在最近的預設統計時長內所收到的客戶端請求數;篩選單元,用於比較所述伺服器集群中每臺伺服器的並發連接數,選擇並發連接數最小的伺服器作為業務請求的接收伺服器;在至少兩臺伺服器的並發連接數相同的情況下,則繼續比較所述至少兩臺伺服器的新建連接數,選擇新建連接數最小的伺服器作為業務請求的接收伺服器。由以上技術方案可見,本發明實施例通過統計伺服器集群中每臺伺服器的新建連接數,當伺服器的並發連接數相同時比較伺服器的新建連接數,將新的業務請求分配到新建連接數最小的伺服器上。實現了基於伺服器新建連接數的負載調配,可見本發明實施例調配伺服器負載的精度較高,均衡效果較好。附圖說明圖1為本發明實施例調配伺服器負載的方法的一個應用場景示意圖;圖2為本發明調配伺服器負載的方法的一個實施例流程圖;圖3為本發明調配伺服器負載的方法的另一個實施例流程圖;圖4為本發明調配伺服器負載的裝置所在設備的一種硬體結構圖;圖5為本發明調配伺服器負載的裝置的一個實施例框圖。具體實施方式為了使本
技術領域:
的人員更好的理解本發明實施例中的技術方案,並使本發明實施例的上述目的、特徵和優點能夠更加明顯易懂,下面結合附圖對本發明實施例中的技術方案作進一步詳細的說明。圖1為本發明實施例調配伺服器負載的方法的一個應用場景示意圖。如圖1所示,該應用場景中包括:N臺客戶端,負載均衡設備以及伺服器集群,其中,所示伺服器集群中包含4臺伺服器。所示N臺客戶端通過負載均衡設備與伺服器集群相連接,N臺客戶端的訪問流量通過負載均衡設備調配到伺服器集群的4臺伺服器上。以對圖1中所示伺服器集群的負載進行調配為例,現有技術中,負載均衡設備通常採用最小連接數法來進行調配,負載均衡設備根據伺服器當前的連接情況,選取所示4臺伺服器中並發連接數最少的一臺伺服器來處理客戶端發起的新的請求。如果所示4臺伺服器中有兩臺或多臺伺服器的並發連接數相同,則選取其中伺服器序號最小的一臺伺服器來處理新的請求。但兩臺或多臺伺服器的並發連接數相同,並不代表它們的新建連接數也相同。由於對客戶端請求的接收和處理也需要消耗伺服器的資源,所以現有的依據並發連接數的調配伺服器負載的方法,並不能實現伺服器負載的實際均衡,其調配伺服器負載的精度較低,均衡效果較差。在本發明實施例中,負載均衡設備通過統計伺服器集群中所示4臺伺服器的新建連接數,當伺服器的並發連接數相同時比較伺服器的新建連接數,將新的業務請求分配到新建連接數最小的伺服器上。實現了基於伺服器新建連接數的負載調配,可見本發明實施例調配伺服器負載的精度較高,均衡效果較好。下面結合圖1示出的應用場景,對本發明實施例進行詳細說明。參見圖2,圖2為本發明調配伺服器負載的方法的一個實施例流程圖,該實施例應用於負載均衡設備,包括以下步驟:步驟201:統計所述伺服器集群中每臺伺服器的並發連接數,所述並發連接數是指伺服器與客戶端已建立的會話數。步驟202:統計所述伺服器集群中每臺伺服器的新建連接數,所述新建連接數是指伺服器在最近的預設統計時長內所收到的客戶端請求數。在一個可選的方式中,上述預設統計時長可以為1秒。步驟203:比較所述伺服器集群中每臺伺服器的並發連接數,選擇並發連接數最小的伺服器作為業務請求的接收伺服器。在一個可選的方式中,可以在每次接收業務請求後,比較伺服器集群中每臺伺服器的並發連接數。在另一個可選的方式中,可以當預設時間周期到達時,比較伺服器集群中每臺伺服器的並發連接數,步驟204:如果至少兩臺伺服器的並發連接數相同,則比較所述至少兩臺伺服器的新建連接數,選擇新建連接數最小的伺服器作為業務請求的接收伺服器。在一個可選的方式中,如果至少兩臺伺服器的新建連接數相同,則選擇新建連接數相同的伺服器中伺服器編號最小的伺服器作為業務請求的接收伺服器,或在新建連接數相同的伺服器中隨機選擇一臺伺服器作為業務請求的接收伺服器。在另一個可選的方式中,如果在上述步驟中是當預設時間周期到達時,比較伺服器集群中每臺伺服器的並發連接數,則可以選擇新建連接數最小的伺服器作為下一個預設時間周期內業務請求的接收伺服器。由以上實施例可見,該實施通過統計伺服器集群中每臺伺服器的新建連接數,當伺服器的並發連接數相同時比較伺服器的新建連接數,將新的業務請求分配到新建連接數最小的伺服器上。實現了基於伺服器新建連接數的負載調配,可見本發明實施例調配伺服器負載的精度較高,均衡效果較好。參見圖3,圖3為本發明調配伺服器負載的方法的另一個實施例流程圖,該實施例從負載均衡設備側對伺服器集群中各伺服器負載的調配過程進行了詳細描述,包括以下步驟:步驟301:當預設時間周期到達時,統計伺服器集群中4臺伺服器的並發連接數。本步驟中的並發連接數是指伺服器與客戶端已建立的會話數。在一個可選的方式中,本步驟中的預設時間周期可以為一秒鐘。在另一個可選的方式中,也可以是每當從客戶端接收業務請求後,統計伺服器集群中4臺伺服器的並發連接數。步驟302:統計伺服器集群中每臺伺服器的新建連接數。本步驟中的新建連接數是指伺服器在最近一秒內所收到的客戶端請求數。步驟303:判斷所示4臺伺服器的並發連接數是否都不相同,如果是則執行步驟304,如果否則執行步驟305。在一個可選的方式中,上述判斷並發連接數是否都不相同的過程,可以採用兩兩循環比較的方式,具體的,可以先分別比較所示伺服器1與所示伺服器2、伺服器3、伺服器4的並發連接數,然後分別比較所示伺服器2與所示伺服器3、伺服器4的並發連接數,然後再比較所示伺服器3與所示伺服器4的並發連接數,最後統計上述所有比較結果中並發連接數相同的比較結果並將並發連接數相同的統計結果所對應的伺服器編號歸類,最後得出一組或多組並發連接數相同的伺服器的編號。在另一個可選的方式中,上述判斷並發連接數是否都不相同的過程,可以採用統計歸類的方式,具體的,可以先創建一個並發連接數與伺服器編號的對應關係表,然後在該對應關係表中逐一添加所示伺服器集群中伺服器的編號以及該伺服器的並發連接數,每次添加時,如果待添加伺服器的並發連接數已經記錄在該對應關係表中,則將該待添加伺服器的編號記錄在該並發連接數對應的表項中。步驟304:選擇並發連接數最小的伺服器作為下一個預設時間周期內業務請求的接收伺服器。在一個可選的方式中,本步驟中的預設時間周期可以為一秒鐘。在另一個可選的方式中,如果步驟301中是每當從客戶端接收業務請求後,統計伺服器集群中4臺伺服器的並發連接數,則在本步驟中,可以選擇並發連接數最小的伺服器作為本次業務請求的接收伺服器。步驟305:判斷並發連接數相同的伺服器的新建連接數是否都不相同,如果是則執行步驟306,如果否則執行步驟307。上述判斷新建連接數是否都不相同的過程,與步驟303中判斷並發連接數是否都不相同的過程相似,在此不再贅述。步驟306:選擇新建連接數最小的伺服器作為下一個預設時間周期內業務請求的接收伺服器。在一個可選的方式中,本步驟中的預設時間周期可以為一秒鐘。在另一個可選的方式中,如果步驟301中是每當從客戶端接收業務請求後,統計伺服器集群中4臺伺服器的並發連接數,則在本步驟中,可以選擇並發連接數最小的伺服器作為本次業務請求的接收伺服器。步驟307:在新建連接數相同的伺服器中選擇編號最小的伺服器作為下一個預設時間周期內業務請求的接收伺服器。在一個可選的方式中,本步驟中的預設時間周期可以為一秒鐘。在另一個可選的方式中,如果步驟301中是每當從客戶端接收業務請求後,統計伺服器集群中4臺伺服器的並發連接數,則在本步驟中,可以選擇並發連接數最小的伺服器作為本次業務請求的接收伺服器。由以上實施例可見,一方面負載均衡設備通過統計伺服器集群中所示4臺伺服器的新建連接數,當伺服器的並發連接數相同時比較伺服器的新建連接數,將新的業務請求分配到新建連接數最小的伺服器上。實現了基於伺服器新建連接數的負載調配,可見本發明實施例調配伺服器負載的精度較高,均衡效果較好。下面通過一個具體的應用實例對本發明實施例進行說明,該應用實例結合圖1示出的應用場景進行描述,其中,假設該場景中的伺服器集群已經與所示客戶端建立連接,其中,所示4臺伺服器的並發連接數與新建連接數如表1所示:伺服器編號並發連接數新建連接數伺服器121伺服器221伺服器322伺服器443現在假設客戶端1對所示伺服器集群發起業務請求,負載均衡設備對伺服器集群的負載調配過程如下:負載均衡設備在接收到客戶端1的業務請求後,分別統計所示伺服器集群中伺服器1、伺服器2、伺服器3以及伺服器4的並發連接數(伺服器與客戶端已建立的會話數)和新建連接數(伺服器在最近一秒內所收到的客戶端請求數)。比較所述伺服器集群中每臺伺服器的並發連接數,選擇並發連接數最小的伺服器作為業務請求的接收伺服器;如果至少兩臺伺服器的並發連接數相同,則比較所述至少兩臺伺服器的新建連接數,選擇新建連接數最小的伺服器作為業務請求的接收伺服器;如果至少兩臺伺服器的新建連接數相同,則選擇新建連接數相同的伺服器中伺服器編號最小的伺服器作為業務請求的接收伺服器,其過程如下:創建伺服器編號、並發連接數、新建連接數三者的對應關係表;在該對應關係表中逐一添加所示伺服器集群中伺服器的編號以及該伺服器的並發連接數,結果如表1所示;在上述對應關係表中比較伺服器集群中各伺服器的並發連接數,篩選出並發連接數相同的伺服器1、伺服器2、伺服器3;在上述對應關係表中比較伺服器1、伺服器2、伺服器3的新建連接數,篩選出新建連接數相同的伺服器1和伺服器2;選擇伺服器編號最小的伺服器1作為本次客戶端1業務請求的接收伺服器。與前述調配伺服器負載的方法的實施例相對應,本申請還提供了調配伺服器負載的裝置的實施例。本申請調配伺服器負載的裝置的實施例可以應用在負載均衡設備上。裝置實施例可以通過軟體實現,也可以通過硬體或者軟硬體結合的方式實現。以軟體實現為例,作為一個邏輯意義上的裝置,是通過其所在設備的處理器將非易失性存儲器中對應的電腦程式指令讀取到內存中運行形成的。從硬體層面而言,如圖4所示,為本申請調配伺服器負載的裝置所在設備的一種硬體結構圖,除了圖4所示的處理器、內存、網絡接口、以及非易失性存儲器之外,實施例中裝置所在的設備通常根據該設備的實際功能,還可以包括其他硬體,對此不再贅述。請參考圖5,為本發明調配伺服器負載的裝置的一個實施例框圖,所述裝置應用於負載均衡設備,所述裝置包括:第一統計單元510,第二統計單元520,篩選單元530。其中,第一統計單元510,用於統計所述伺服器集群中每臺伺服器的並發連接數,所述並發連接數是指伺服器與客戶端已建立的會話數;第二統計單元520,用於統計所述伺服器集群中每臺伺服器的新建連接數,所述新建連接數是指伺服器在最近的預設統計時長內所收到的客戶端請求數;篩選單元530,用於比較所述伺服器集群中每臺伺服器的並發連接數,選擇並發連接數最小的伺服器作為業務請求的接收伺服器;在至少兩臺伺服器的並發連接數相同的情況下,則繼續比較所述至少兩臺伺服器的新建連接數,選擇新建連接數最小的伺服器作為業務請求的接收伺服器。在一個可選的例子中,所述篩選單元530,具體用於:在至少兩臺伺服器的新建連接數相同的情況下,選擇所述新建連接數相同的伺服器中伺服器編號最小的伺服器作為業務請求的接收伺服器,或在所述新建連接數相同的伺服器中隨機選擇一臺伺服器作為業務請求的接收伺服器。在另一個可選的例子中,所述篩選單元530,具體用於:在接收業務請求後,比較所述伺服器集群中每臺伺服器的並發連接數。在另一個可選的例子中,所述篩選單元530,具體用於:當預設時間周期到達時,比較所述伺服器集群中每臺伺服器的並發連接數;在比較所述至少兩臺伺服器的新建連接數後,選擇新建連接數最小的伺服器作為下一個預設時間周期內業務請求的接收伺服器。在另一個可選的例子中,所述預設統計時長為1秒。由以上技術方案可見,本發明實施例通過統計伺服器集群中每臺伺服器的新建連接數,當伺服器的並發連接數相同時比較伺服器的新建連接數,將新的業務請求分配到新建連接數最小的伺服器上。實現了基於伺服器新建連接數的負載調配,可見本發明實施例調配伺服器負載的精度較高,均衡效果較好。上述裝置中各個單元的功能和作用的實現過程具體詳見上述方法中對應步驟的實現過程,在此不再贅述。對於裝置實施例而言,由於其基本對應於方法實施例,所以相關之處參見方法實施例的部分說明即可。以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位於一個地方,或者也可以分布到多個網絡單元上。可以根據實際的需要選擇其中的部分或者全部模塊來實現本申請方案的目的。本領域普通技術人員在不付出創造性勞動的情況下,即可以理解並實施。以上所述僅為本申請的較佳實施例而已,並不用以限制本申請,凡在本申請的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本申請保護的範圍之內。當前第1頁1 2 3