提供的另一種負載均衡方法中按照負載均衡原則給 用戶分配服務器的流程圖;
[0053] 圖6示出了本發(fā)明實施例2所提供的另一種負載均衡方法中服務器執(zhí)行方法的流 程圖;
[0054] 圖7示出了本發(fā)明實施例3所提供的一種負載均衡方法的流程圖;
[0055] 圖8示出了本發(fā)明實施例3所提供的另一種負載均衡方法的流程圖;
[0056] 圖9示出了本發(fā)明實施例4所提供的一種負載均衡器的結構示意圖;
[0057] 圖10示出了本發(fā)明實施例5所提供的一種用戶終端的結構示意圖。
【具體實施方式】
[0058] 下面將結合本發(fā)明實施例中附圖,對本發(fā)明實施例中的技術方案進行清楚、完整 地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。通常在 此處附圖中描述和示出的本發(fā)明實施例的組件可以以各種不同的配置來布置和設計。因 此,以下對在附圖中提供的本發(fā)明的實施例的詳細描述并非旨在限制要求保護的本發(fā)明的 范圍,而是僅僅表示本發(fā)明的選定實施例。基于本發(fā)明的實施例,本領域技術人員在沒有做 出創(chuàng)造性勞動的前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0059] 考慮到相關技術中,負載均衡器在對用戶的任務請求分配服務器時,當用戶數(shù)量 多或用戶的任務請求數(shù)量多時,負載均衡器將成為瓶頸,導致用戶的并發(fā)創(chuàng)建任務或連接 數(shù)下降。還有當負載均衡器將服務器分配給用戶后,該用戶對服務器發(fā)起的任務或連接數(shù) 將不受負載均衡器調度,而使負載均衡器失去負載均衡的作用,這兩種負載均衡器分配服 務器的方式不夠完善,影響用戶建立連接或完成任務的效率?;诖?,本發(fā)明實施例提供了 一種負載均衡方法、負載均衡器和用戶終端。下面通過實施例進行描述。
[0060] 參見圖1,其示出了本發(fā)明實施例提供的負載均衡方法所涉及的一種實施系統(tǒng)的 結構示意圖,該系統(tǒng)包括:負載均衡器10和用戶終端11 ;
[0061] 其中,負載均衡器10,與用戶終端11進行交互,用于根據(jù)用戶發(fā)送的任務請求中 攜帶的用戶通信需求數(shù)量,從服務器集群中確定向用戶分配的服務器以及每個服務器對應 的通信數(shù)量,將分配的服務器的標識和每個服務器對應的通信數(shù)量發(fā)送給用戶,使得用戶 通過分配服務器和每個服務器對應的通信數(shù)量執(zhí)行通信業(yè)務;用戶終端11,用于獲取用戶 發(fā)送的任務請求,并將獲取的用戶請求發(fā)送到負載均衡器,然后接收負載均衡器根據(jù)當前 各個服務器的負載信息和用戶的通信需求數(shù)量分配的服務器的標識以及每個服務器對應 的通信數(shù)量,并根據(jù)分配的服務器以及每個服務器對應的通信數(shù)量執(zhí)行通信業(yè)務。
[0062] 負載均衡器10和用戶終端11,均可以使用獨立設備,比如使用現(xiàn)有的任何型號的 服務器和計算機,來進行數(shù)據(jù)交互,這里不再一一贅述。
[0063] 負載均衡器10,還可以集成在現(xiàn)有的任何型號的網(wǎng)絡交換設備上,與用戶終端11 進行數(shù)據(jù)交互,這里不再一一贅述。
[0064] 實施例1
[0065] 參見圖2,本實施例提供了一種負載均衡方法,該方法以從負載均衡器側描述為例 進行說明,包括以下步驟:
[0066] 步驟100、監(jiān)測用戶發(fā)送的任務請求。
[0067] 任務請求中攜帶有用戶的通信需求數(shù)量;通信需求數(shù)量表示用戶需要創(chuàng)建的任務 和/或連接數(shù)的大小。
[0068] 用戶需要創(chuàng)建的任務和連接,可以是某個文檔、或者音樂的下載任務,也可以是和 其他用戶進行網(wǎng)絡語音、視頻通話的連接,還可以是用戶發(fā)出的其他的通過網(wǎng)絡才可以執(zhí) 行的任務和/或連接,這里不再一一贅述。
[0069] 步驟101、根據(jù)當前各個服務器的負載信息和通信需求數(shù)量,從服務器集群中確定 向用戶分配的服務器以及每個服務器對應的通信數(shù)量。
[0070] 服務器,預先設置在服務器集群中,用于根據(jù)用戶發(fā)出的任務和/或連接,使得用 戶終端通過服務器與網(wǎng)絡上的其他用戶或者終端進行數(shù)據(jù)交互。
[0071] 服務器的負載信息,用于體現(xiàn)服務器負載能力,預先存儲在負載均衡器中。
[0072] 服務器的負載信息,可以以"服務器標識服務器負載信息"的對應關系的形式存儲 在負載均衡器的非易失性存儲介質中預設的任務列表中,使得負載均衡器可以實時確定服 務器集群中各服務器的負載信息,并在分配給服務器執(zhí)行的任務和/或連接、以及獲取到 服務器發(fā)送的任務釋放請求時,對相應的負載信息進行更新。
[0073] 步驟102、將分配的服務器的標識和每個服務器對應的通信數(shù)量發(fā)送給用戶,使得 用戶根據(jù)分配的服務器和每個服務器對應的通信數(shù)量執(zhí)行通信業(yè)務。
[0074] 在確定向用戶分配的服務器以及每個服務器對應的通信數(shù)量后,負載均衡器會建 立每個服務器的標識和對應的通信數(shù)量的關聯(lián)關系,然后將建立的每個服務器的標識和對 應的通信數(shù)量的關聯(lián)關系發(fā)送給用戶。
[0075] 綜上所述,本實施例提供的一種負載均衡方法,負載均衡器根據(jù)用戶發(fā)送的任務 請求中攜帶的用戶通信需求數(shù)量,從服務器集群中確定向用戶分配的服務器以及每個服務 器對應的通信數(shù)量,使得負載均衡器可以實時監(jiān)測用戶的任務請求,并可以在監(jiān)測到用戶 的任務請求時,一次給用戶請求的多個任務分配服務器,保證了負載均衡器對用戶任務分 配服務器時所應起到的負載均衡作用,而且在用戶有大量任務需要處理而與負載均衡器進 行數(shù)據(jù)交互時,減少了用戶和負載均衡器之間進行交互的次數(shù),保證了負載均衡器的性能。
[0076] 在有些情況下,負載均衡器獲取到的用戶的通信需求數(shù)量很多,已經(jīng)超出了負載 均衡器一次可以分配的最大任務分配數(shù)量,那么,只能將用戶提出的通信需求數(shù)量分成多 個部分,并分別對這多個部分進行服務器的分配,因此,負載均衡器根據(jù)當前各個服務器的 負載信息和通信需求數(shù)量,從服務器集群中確定向用戶分配的服務器以及每個服務器對應 的通信數(shù)量包括:
[0077] 負載均衡器根據(jù)通信需求數(shù)量和最大任務分配數(shù)量,將通信需求數(shù)量劃分為一個 或多個通信數(shù)量子集;
[0078] 負載均衡器根據(jù)當前各個服務器的負載信息,按照負載均衡原則從服務器集群中 選取每個通信數(shù)量子集對應的服務器;其中,通信數(shù)量子集包含的通信數(shù)量小于或等于最 大任務分配數(shù)量。
[0079] 負載均衡器的最大任務分配數(shù)量,是負載均衡器一次可以分配的最大通信數(shù)量。 最大任務分配數(shù)量,可以由負載均衡器的設計人員在負載均衡器投入使用之前預先進行設 定,還可以在負載均衡器的使用過程中,由負載均衡器的維護人員,根據(jù)服務器集群中各服 務器可以處理的通信數(shù)量的實際情況而進行調整。
[0080] 負載均衡器根據(jù)通信需求數(shù)量和最大任務分配數(shù)量,將通信需求數(shù)量劃分為一個 或多個通信數(shù)量子集的過程包括步驟(1)至(4):
[0081] (1)、判斷通信需求數(shù)量是否大于最大任務分配數(shù)量;
[0082] (2)、如果是,則利用通信需求數(shù)量除以最大任務分配數(shù)量,得到一計算結果,如果 否,則將通信需求數(shù)量劃分為一個通信數(shù)量子集;
[0083](3)、對得到的計算結果進行向上取整操作,得到通信數(shù)量子集的數(shù)量;
[0084] (4)、根據(jù)得到的通信數(shù)量子集的數(shù)量,將通信需求數(shù)量劃分為多個通信數(shù)量子 集。
[0085] 在將通信需求數(shù)量劃分為多個通信數(shù)量子集時,如果通信數(shù)量子集的數(shù)量為a,那 么a-1個通信數(shù)量子集中所包含的通信數(shù)量等于最大任務分配數(shù)量。
[0086] 比如:負載均衡器獲取到的通信需求數(shù)量是25,而負載均衡器的最大任務分配數(shù) 量是10,那么負載均衡器會將通信需求數(shù)量分為分別包括通信數(shù)量是1〇、1〇和5的三個通 信數(shù)量子集,并對這三個通信數(shù)量子集分配對應的服務器。
[0087] 負載均衡原則,就是根據(jù)當前各服務器的負載輕重,優(yōu)先向負載較輕的服務器分 配任務的原則。
[0088] 通過以上的描述,在負載均衡器獲取到的用戶的通信需求數(shù)量很多而無法一次分 配時,將通信需求數(shù)量分成多個通信數(shù)量子集,然后對多個通信數(shù)量子集分別分配服務器, 從而可以快速響應用戶的任務請求,及時的對用戶分配服務器。
[0089] 在向每個通信數(shù)量子集分配服務器時,為了能夠實時獲取到服務器集群中各服務 器的負載情況,需要對選取的服務器對應的已分配任務和/或連接數(shù)進行更新,因此,負載 均衡器根據(jù)當前各個服務器的負載信息,按照負載均衡原則從服務器集群中選取每個通信 數(shù)量子集對應的服務器包括:
[0090] 負載均衡器根據(jù)當前各個服務器的負載參數(shù)和已經(jīng)分配給各個服務器的任務和/ 或連接數(shù),逐一確定各個服務器的負荷輕重情況,按照負荷由輕到重的順序選取每個通信 數(shù)量子集對應的服務器;
[0091] 負載均衡器根據(jù)選取的服務器對應的通信數(shù)量子集中的任務和/或連接數(shù),在預 設的任務列表中更新選取的服務器對應的已分配任務和/或連接數(shù)。
[0092] 服務器的負載信息包括但不限于:體現(xiàn)服務器負載能力的參數(shù)和服務器的已分配 任務和/或連接數(shù)。體現(xiàn)服務器負載能力的參數(shù)包括但不限于網(wǎng)絡帶寬和在該網(wǎng)絡帶寬下 可以處理的任務和/或連接數(shù)的閾值。
[0093] 其中,服務器的負載參數(shù)是體現(xiàn)服務器處理能力的參數(shù),而已分配任務和/或連 接數(shù)體現(xiàn)了客觀上待處理的任務,而服務器的負荷輕重則是二者綜合后的能力體現(xiàn)。
[0094] 負載均衡器根據(jù)當前各個服務器的負載參數(shù)和已經(jīng)分配給各個服務器的任務和/ 或連接數(shù),逐一確定各個服務器的負荷輕重情況包括步驟(a)至(c):
[0095] (a)、獲取各個服務器處理任務使用的網(wǎng)絡帶寬、在該網(wǎng)絡帶寬下可以處理的任務 和/或連接數(shù)的閾值和已經(jīng)分配給各個服務器的任務和/或連接數(shù);
[0096] (b)、利用已經(jīng)分配給各個服務器的任務和/或連接數(shù)除以在該網(wǎng)絡帶寬下可以 處理的任務和/或連接數(shù)的閾值,分別計算各個服務器的負荷參數(shù),負荷參數(shù)用于體現(xiàn)服 務器的負荷