一種負載均衡方法、負載均衡器和用戶終端的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及計算處理領(lǐng)域,具體而言,涉及一種負載均衡方法、負載均衡器和用戶 終端。
【背景技術(shù)】
[0002] 負載均衡器是一種把用戶的任務(wù)請求分配到一個服務(wù)器集群中的任何當(dāng)前輕負 載的服務(wù)器上,以處理用戶發(fā)出的任務(wù)請求,從而對網(wǎng)絡(luò)數(shù)據(jù)流量和網(wǎng)絡(luò)帶寬進行管理的 設(shè)備。在網(wǎng)絡(luò)數(shù)據(jù)交互的過程中起著越來越重要的作用。
[0003] 現(xiàn)有的負載均衡器通常采用重定向服務(wù)器的方法完成負載均衡,該方法中用戶首 先向負載均衡器獲取服務(wù)器地址,用戶再與定向出的服務(wù)器進行請求/響應(yīng)交互。如傳輸 層DNS負載均衡和VS/DR負載均衡。重定向服務(wù)器方法中,負載均衡器將用戶請求較均衡 地分發(fā)到各個服務(wù)器上,這樣可以使得整個服務(wù)器集群系統(tǒng)具有很好的伸縮性。重定向服 務(wù)器方法通常又采用以下兩種方式實現(xiàn):
[0004] (1)、用戶每來一次請求,先到負載均衡器申請服務(wù)器,負載均衡器根據(jù)負載均衡 算法篩選出合適的服務(wù)器后,用戶與該服務(wù)器進行直接交互。用戶下一次請求重新到負載 均衡器申請服務(wù)器。
[0005] (2)、用戶先到負載均衡器申請服務(wù)器,負載均衡器根據(jù)負載均衡算法篩選出合適 的服務(wù)器后,用戶每次請求固定與該服務(wù)器進行直接交互。
[0006] 在重定向服務(wù)器方法的上述兩種實現(xiàn)方式分別存在如下缺點:
[0007] 第⑴種方式中,每次用戶的任務(wù)請求都需要經(jīng)過負載均衡器申請服務(wù)器,當(dāng)用 戶數(shù)量多或用戶的任務(wù)請求數(shù)量多時,負載均衡器將成為瓶頸,導(dǎo)致用戶的并發(fā)創(chuàng)建任務(wù) 或連接數(shù)下降。
[0008] 第(2)種方式中,負載均衡器將服務(wù)器分配給用戶后,該用戶對服務(wù)器發(fā)起的任 務(wù)或連接數(shù)將不受負載均衡器調(diào)度,如果用戶的并發(fā)請求量大時極易超過服務(wù)器處理任務(wù) 或連接的極限,從而使負載均衡器失去負載均衡的作用。
[0009] 由上述內(nèi)容可知,上述負載均衡器分配服務(wù)器的方式不夠完善,影響用戶建立連 接或完成任務(wù)的效率。
【發(fā)明內(nèi)容】
[0010] 本發(fā)明的目的在于提供一種負載均衡方法、負載均衡器和用戶終端,可以一次給 用戶請求的多個任務(wù)分配服務(wù)器,減少了用戶和負載均衡器的交互次數(shù)。
[0011] 第一方面,本發(fā)明實施例提供了一種負載均衡方法,所述方法包括:
[0012] 負載均衡器監(jiān)測用戶發(fā)送的任務(wù)請求,所述任務(wù)請求中攜帶有所述用戶的通信需 求數(shù)量;所述通信需求數(shù)量表示所述用戶需要創(chuàng)建的任務(wù)和/或連接數(shù)的大??;
[0013] 所述負載均衡器根據(jù)當(dāng)前各個服務(wù)器的負載信息和所述通信需求數(shù)量,從服務(wù)器 集群中確定向所述用戶分配的服務(wù)器以及每個服務(wù)器對應(yīng)的通信數(shù)量;
[0014] 所述負載均衡器將分配的服務(wù)器的標識和每個服務(wù)器對應(yīng)的通信數(shù)量發(fā)送給所 述用戶,使得所述用戶根據(jù)分配的所述服務(wù)器和每個服務(wù)器對應(yīng)的通信數(shù)量執(zhí)行通信業(yè) 務(wù)。
[0015] 結(jié)合第一方面,本發(fā)明實施例提供了第一方面的第一種可能的實施方式,其中,所 述負載均衡器根據(jù)當(dāng)前各個服務(wù)器的負載信息和所述通信需求數(shù)量,從服務(wù)器集群中確定 向所述用戶分配的服務(wù)器以及每個服務(wù)器對應(yīng)的通信數(shù)量包括:
[0016] 所述負載均衡器根據(jù)所述通信需求數(shù)量和最大任務(wù)分配數(shù)量,將所述通信需求數(shù) 量劃分為一個或多個通信數(shù)量子集;
[0017] 所述負載均衡器根據(jù)當(dāng)前各個服務(wù)器的負載信息,按照負載均衡原則從服務(wù)器集 群中選取每個所述通信數(shù)量子集對應(yīng)的服務(wù)器;其中,所述通信數(shù)量子集包含的通信數(shù)量 小于或等于所述最大任務(wù)分配數(shù)量。
[0018] 結(jié)合第一方面,本發(fā)明實施例提供了第一方面的第二種可能的實施方式,其中,所 述負載均衡器根據(jù)當(dāng)前各個服務(wù)器的負載信息,按照負載均衡原則從服務(wù)器集群中選取每 個所述通信數(shù)量子集對應(yīng)的服務(wù)器包括:
[0019] 所述負載均衡器根據(jù)當(dāng)前各個服務(wù)器的負載參數(shù)和已經(jīng)分配給所述各個服務(wù)器 的任務(wù)和/或連接數(shù),逐一確定所述各個服務(wù)器的負荷輕重情況,按照負荷由輕到重的順 序選取每個所述通信數(shù)量子集對應(yīng)的服務(wù)器;
[0020] 所述負載均衡器根據(jù)選取的所述服務(wù)器對應(yīng)的所述通信數(shù)量子集中的任務(wù)和/ 或連接數(shù),在預(yù)設(shè)的任務(wù)列表中更新選取的所述服務(wù)器對應(yīng)的已分配任務(wù)和/或連接數(shù)。
[0021] 結(jié)合第一方面,本發(fā)明實施例提供了第一方面的第三種可能的實施方式,其中,所 述方法還包括:
[0022] 所述負載均衡器獲取所述服務(wù)器發(fā)送的任務(wù)釋放請求,所述任務(wù)釋放請求中攜帶 有所述服務(wù)器的標識;
[0023] 所述負載均衡器根據(jù)所述服務(wù)器的標識,在預(yù)設(shè)的任務(wù)列表中更新所述服務(wù)器的 標識對應(yīng)的服務(wù)器的已分配任務(wù)和/或連接數(shù)。
[0024] 第二方面,本發(fā)明實施例提供了一種負載均衡方法,所述方法包括:
[0025] 用戶終端向負載均衡器發(fā)送的任務(wù)請求,所述任務(wù)請求中攜帶有所述用戶的通信 需求數(shù)量;所述通信需求數(shù)量用于表示所述用戶需要創(chuàng)建的任務(wù)和/或連接數(shù)的大小;
[0026] 所述用戶終端接收所述負載均衡器根據(jù)當(dāng)前各個服務(wù)器的負載信息和所述用戶 的通信需求數(shù)量分配的服務(wù)器的標識以及每個服務(wù)器對應(yīng)的通信數(shù)量;
[0027] 所述用戶終端根據(jù)分配的服務(wù)器以及每個服務(wù)器對應(yīng)的通信數(shù)量執(zhí)行通信業(yè)務(wù)。
[0028] 第三方面,本發(fā)明實施例提供了一種負載均衡器,所述負載均衡器包括:
[0029] 檢測模塊,用于監(jiān)測用戶發(fā)送的任務(wù)請求,所述任務(wù)請求中攜帶有所述用戶的通 信需求數(shù)量;所述通信需求數(shù)量表示所述用戶需要創(chuàng)建的任務(wù)和/或連接數(shù)的大?。?br>[0030] 分配模塊,用于根據(jù)當(dāng)前各個服務(wù)器的負載信息和所述通信需求數(shù)量,從服務(wù)器 集群中確定向所述用戶分配的服務(wù)器以及每個服務(wù)器對應(yīng)的通信數(shù)量;
[0031] 發(fā)送模塊,用于將分配的服務(wù)器的標識和每個服務(wù)器對應(yīng)的通信數(shù)量發(fā)送給所述 用戶,使得所述用戶根據(jù)分配的所述服務(wù)器和每個服務(wù)器對應(yīng)的通信數(shù)量執(zhí)行通信業(yè)務(wù)。
[0032] 結(jié)合第二方面,本發(fā)明實施例提供了第二方面的第一種可能的實施方式,其中,所 述分配模塊包括:
[0033] 通信數(shù)量子集劃分單元,用于根據(jù)所述通信需求數(shù)量和最大任務(wù)分配數(shù)量,將所 述通信需求數(shù)量劃分為一個或多個通信數(shù)量子集;
[0034] 服務(wù)器分配單元,用于根據(jù)當(dāng)前各個服務(wù)器的負載信息,按照負載均衡原則從服 務(wù)器集群中選取每個所述通信數(shù)量子集對應(yīng)的服務(wù)器;其中,所述通信數(shù)量子集包含的通 信數(shù)量小于或等于所述最大任務(wù)分配數(shù)量。
[0035] 結(jié)合第二方面,本發(fā)明實施例提供了第二方面的第二種可能的實施方式,其中,所 述服務(wù)器分配單元包括:
[0036] 服務(wù)器選擇子單元,用于根據(jù)當(dāng)前各個服務(wù)器的負載參數(shù)和已經(jīng)分配給所述各個 服務(wù)器的任務(wù)和/或連接數(shù),逐一確定所述各個服務(wù)器的負荷輕重情況,按照負荷由輕到 重的順序選取每個所述通信數(shù)量子集對應(yīng)的服務(wù)器;
[0037] 更新子單元,用于根據(jù)選取的所述服務(wù)器對應(yīng)的所述通信數(shù)量子集中的任務(wù)和/ 或連接數(shù),在預(yù)設(shè)的任務(wù)列表中更新選取的所述服務(wù)器對應(yīng)的已分配任務(wù)和/或連接數(shù)。
[0038] 結(jié)合第二方面,本發(fā)明實施例提供了第二方面的第三種可能的實施方式,其中,所 述負載均衡器還包括:
[0039] 獲取模塊,用于獲取所述服務(wù)器發(fā)送的任務(wù)釋放請求,所述任務(wù)釋放請求中攜帶 有所述服務(wù)器的標識;
[0040] 更新模塊,用于根據(jù)所述服務(wù)器的標識,在預(yù)設(shè)的任務(wù)列表中更新所述服務(wù)器的 標識對應(yīng)的服務(wù)器的已分配任務(wù)和/或連接數(shù)。
[0041] 第四方面,本發(fā)明實施例提供了一種用戶終端,所述用戶終端包括:
[0042] 任務(wù)請求發(fā)送模塊,用于向負載均衡器發(fā)送的任務(wù)請求,所述任務(wù)請求中攜帶有 所述用戶的通信需求數(shù)量;所述通信需求數(shù)量用于表示所述用戶需要創(chuàng)建的任務(wù)和/或連 接數(shù)的大小;
[0043] 接收模塊,用于接收所述負載均衡器根據(jù)當(dāng)前各個服務(wù)器的負載信息和所述用戶 的通信需求數(shù)量分配的服務(wù)器的標識以及每個服務(wù)器對應(yīng)的通信數(shù)量;
[0044] 處理模塊,用于根據(jù)分配的服務(wù)器以及每個服務(wù)器對應(yīng)的通信數(shù)量執(zhí)行通信業(yè) 務(wù)。
[0045] 本發(fā)明實施例提供的一種負載均衡方法、負載均衡器和用戶終端,通過負載均衡 器根據(jù)用戶發(fā)送的任務(wù)請求中攜帶的用戶通信需求數(shù)量,從服務(wù)器集群中確定向用戶分 配的服務(wù)器以及每個服務(wù)器對應(yīng)的通信數(shù)量,使得負載均衡器可以實時監(jiān)測用戶的任務(wù)請 求,并可以在監(jiān)測到用戶的任務(wù)請求時,一次給用戶請求的多個任務(wù)分配服務(wù)器,保證了負 載均衡器對用戶任務(wù)分配服務(wù)器時所應(yīng)起到的負載均衡作用,而且在用戶有大量任務(wù)需要 處理而與負載均衡器進行數(shù)據(jù)交互時,減少了用戶和負載均衡器之間進行交互的次數(shù),保 證了負載均衡器的性能。
[0046] 為使本發(fā)明的上述目的、特征和優(yōu)點能更明顯易懂,下文特舉較佳實施例,并配合 所附附圖,作詳細說明如下。
【附圖說明】
[0047] 為了更清楚地說明本發(fā)明實施例的技術(shù)方案,下面將對實施例中所需要使用的附 圖作簡單地介紹,應(yīng)當(dāng)理解,以下附圖僅示出了本發(fā)明的某些實施例,因此不應(yīng)被看作是對 范圍的限定,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這 些附圖獲得其他相關(guān)的附圖。
[0048] 圖1示出了本發(fā)明實施例提供的負載均衡方法所涉及的一種實施系統(tǒng)的結(jié)構(gòu)示 意圖;
[0049] 圖2示出了本發(fā)明實施例1所提供的一種負載均衡方法流程圖;
[0050] 圖3示出了本發(fā)明實施例2所提供的一種負載均衡方法的流程圖;
[0051] 圖4示出了本發(fā)明實施例2所提供的另一種負載均衡方法的流程圖;
[0052] 圖5示出了本發(fā)明實施例2所