一種分配業(yè)務(wù)請求的方法和裝置制造方法
【專利摘要】本發(fā)明公開了一種分配業(yè)務(wù)請求的方法和裝置,屬于互聯(lián)網(wǎng)【技術(shù)領(lǐng)域】。所述方法包括:當服務(wù)器組中可用的業(yè)務(wù)服務(wù)器數(shù)量發(fā)生變化時,獲取所述服務(wù)器組的預設(shè)的總流量閾值;根據(jù)所述總流量閾值,確定所述服務(wù)器組中每個當前可用的業(yè)務(wù)服務(wù)器對應的流量閾值,其中,確定出的各流量閾值之和等于所述總流量閾值;當接收到對應所述服務(wù)器組的業(yè)務(wù)請求時,根據(jù)所述服務(wù)器組中當前可用的業(yè)務(wù)服務(wù)器對應的流量閾值和被訪問情況,為所述業(yè)務(wù)請求分配業(yè)務(wù)服務(wù)器。采用本發(fā)明,可以提高對服務(wù)器組進行流量控制的穩(wěn)定性。
【專利說明】一種分配業(yè)務(wù)請求的方法和裝置
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及互聯(lián)網(wǎng)【技術(shù)領(lǐng)域】,特別涉及一種分配業(yè)務(wù)請求的方法和裝置。
【背景技術(shù)】
[0002] 隨著互聯(lián)網(wǎng)技術(shù)和計算機技術(shù)的飛速發(fā)展,互聯(lián)網(wǎng)已經(jīng)成為了人們生活中的一個 非常重要的組成部分,用戶通過互聯(lián)網(wǎng)可以進行各種各樣的網(wǎng)絡(luò)業(yè)務(wù),如訪問某網(wǎng)站、登錄 某網(wǎng)絡(luò)游戲等,終端進行某網(wǎng)絡(luò)業(yè)務(wù)時,是通過向相應的業(yè)務(wù)服務(wù)器發(fā)送業(yè)務(wù)請求來實現(xiàn) 的。
[0003] 在網(wǎng)絡(luò)側(cè),一般會根據(jù)預設(shè)的控制機制,進行流量控制(流量是指訪問頻率),例 如,對每個IP (Internet Protocol,互聯(lián)網(wǎng)協(xié)議)地址或每個用戶在預設(shè)流量周期(進行訪 問量統(tǒng)計的周期,如1S)內(nèi)的訪問量進行限制,如果某IP地址或某個用戶在某個流量周期 內(nèi)的訪問量達到預設(shè)的流量閾值,則在該流量周期內(nèi)拒絕該IP地址或該用戶的后續(xù)業(yè)務(wù) 請求。對于服務(wù)器集群的應用場景,網(wǎng)絡(luò)業(yè)務(wù)對應有多臺業(yè)務(wù)服務(wù)器,組成一個服務(wù)器組, 服務(wù)器組中的每個業(yè)務(wù)服務(wù)器各分擔一定比例的業(yè)務(wù)請求,進行相應的業(yè)務(wù)處理,集群場 景下,會對服務(wù)器組中每個業(yè)務(wù)服務(wù)器分別設(shè)置流量閾值,用于對用戶訪問服務(wù)器組中每 個業(yè)務(wù)服務(wù)器的頻率進行限制。
[0004] 在實現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在以下問題:
[0005] 在現(xiàn)有技術(shù)中,服務(wù)器組中各業(yè)務(wù)服務(wù)器的流量閾值是預先配置好的,如果某業(yè) 務(wù)服務(wù)器出現(xiàn)故障,則服務(wù)器組的總流量閾值(服務(wù)器組對外等效的流量閾值)會減少,月艮 務(wù)器組所允許的總流量則會下降,從而,會導致對服務(wù)器組進行流量控制的穩(wěn)定性較差,進 而還會造成影響用戶正常訪問等問題。
【發(fā)明內(nèi)容】
[0006] 為了解決現(xiàn)有技術(shù)的問題,本發(fā)明實施例提供了一種分配業(yè)務(wù)請求的方法和裝 置,以提高對服務(wù)器組進行流量控制的穩(wěn)定性。所述技術(shù)方案如下:
[0007] -方面,提供了一種分配業(yè)務(wù)請求的方法,所述方法包括:
[0008] 當服務(wù)器組中可用的業(yè)務(wù)服務(wù)器數(shù)量發(fā)生變化時,獲取所述服務(wù)器組的預設(shè)的總 流量閾值;
[0009] 根據(jù)所述總流量閾值,確定所述服務(wù)器組中每個當前可用的業(yè)務(wù)服務(wù)器對應的流 量閾值,其中,確定出的各流量閾值之和等于所述總流量閾值;
[0010] 當接收到對應所述服務(wù)器組的業(yè)務(wù)請求時,根據(jù)所述服務(wù)器組中當前可用的業(yè)務(wù) 服務(wù)器對應的流量閾值和被訪問情況,為所述業(yè)務(wù)請求分配業(yè)務(wù)服務(wù)器。
[0011] 另一方面,提供了一種分配業(yè)務(wù)請求的裝置,所述裝置包括:
[0012] 獲取模塊,用于當服務(wù)器組中可用的業(yè)務(wù)服務(wù)器數(shù)量發(fā)生變化時,獲取所述服務(wù) 器組的預設(shè)的總流量閾值;
[0013] 確定模塊,用于根據(jù)所述總流量閾值,確定所述服務(wù)器組中每個當前可用的業(yè)務(wù) 服務(wù)器對應的流量閾值,其中,確定出的各流量閾值之和等于所述總流量閾值;
[0014] 分配模塊,用于當接收到對應所述服務(wù)器組的業(yè)務(wù)請求時,根據(jù)所述服務(wù)器組中 當前可用的業(yè)務(wù)服務(wù)器對應的流量閾值和被訪問情況,為所述業(yè)務(wù)請求分配業(yè)務(wù)服務(wù)器。
[0015] 本發(fā)明實施例提供的技術(shù)方案帶來的有益效果是:
[0016] 本發(fā)明實施例中,當服務(wù)器組中可用的業(yè)務(wù)服務(wù)器數(shù)量發(fā)生變化時,根據(jù)服務(wù)器 組的預設(shè)的總流量閾值,確定服務(wù)器組中每個當前可用的業(yè)務(wù)服務(wù)器對應的流量閾值,其 中,確定出的各流量閾值之和等于上述預設(shè)的總流量閾值,當接收到對應服務(wù)器組的業(yè)務(wù) 請求時,根據(jù)服務(wù)器組中當前可用的業(yè)務(wù)服務(wù)器對應的流量閾值和被訪問情況,為業(yè)務(wù)請 求分配業(yè)務(wù)服務(wù)器。這樣,可以使服務(wù)器組的總流量閾值穩(wěn)定為預設(shè)數(shù)值,從而,可以提高 對服務(wù)器組進行流量控制的穩(wěn)定性。
【專利附圖】
【附圖說明】
[0017] 為了更清楚地說明本發(fā)明實施例中的技術(shù)方案,下面將對實施例描述中所需要使 用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于 本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他 的附圖。
[0018] 圖1是本發(fā)明實施例提供的分配業(yè)務(wù)請求的方法流程圖;
[0019] 圖2是本發(fā)明實施例提供的分配業(yè)務(wù)請求的方法流程圖;
[0020] 圖3是本發(fā)明實施例提供的分配業(yè)務(wù)請求的裝置結(jié)構(gòu)示意圖;
[0021] 圖4是本發(fā)明實施例提供的服務(wù)器的結(jié)構(gòu)示意圖。
【具體實施方式】
[0022] 為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明實施方 式作進一步地詳細描述。
[0023] 實施例一
[0024] 本發(fā)明實施例提供了一種分配業(yè)務(wù)請求的方法,如圖1所示,該方法的處理流程 可以包括如下的步驟:
[0025] 步驟101,當服務(wù)器組中可用的業(yè)務(wù)服務(wù)器數(shù)量發(fā)生變化時,獲取該服務(wù)器組的預 設(shè)的總流量閾值。
[0026] 步驟102,根據(jù)預設(shè)的總流量閾值,確定該服務(wù)器組中每個當前可用的業(yè)務(wù)服務(wù)器 對應的流量閾值,其中,確定出的各流量閾值之和等于該總流量閾值。
[0027] 步驟103,當接收到對應該服務(wù)器組的業(yè)務(wù)請求時,根據(jù)該服務(wù)器組中當前可用的 業(yè)務(wù)服務(wù)器對應的流量閾值和被訪問情況,為該業(yè)務(wù)請求分配業(yè)務(wù)服務(wù)器。
[0028] 本發(fā)明實施例中,當服務(wù)器組中可用的業(yè)務(wù)服務(wù)器數(shù)量發(fā)生變化時,根據(jù)服務(wù)器 組的預設(shè)的總流量閾值,確定服務(wù)器組中每個當前可用的業(yè)務(wù)服務(wù)器對應的流量閾值,其 中,確定出的各流量閾值之和等于上述預設(shè)的總流量閾值,當接收到對應服務(wù)器組的業(yè)務(wù) 請求時,根據(jù)服務(wù)器組中當前可用的業(yè)務(wù)服務(wù)器對應的流量閾值和被訪問情況,為業(yè)務(wù)請 求分配業(yè)務(wù)服務(wù)器。這樣,可以使服務(wù)器組的總流量閾值穩(wěn)定為預設(shè)數(shù)值,從而,可以提高 對服務(wù)器組進行流量控制的穩(wěn)定性。
[0029] 實施例二
[0030] 本發(fā)明實施例提供了一種分配業(yè)務(wù)請求的方法,該方法的執(zhí)行主體可以是流量控 制服務(wù)器,流量控制服務(wù)器可以是服務(wù)器組中的一臺業(yè)務(wù)服務(wù)器,或者優(yōu)選為獨立于服務(wù) 器組之外的專門用于進行業(yè)務(wù)請求分配和流量控制的服務(wù)器。業(yè)務(wù)服務(wù)器是用于承載某項 網(wǎng)絡(luò)業(yè)務(wù)(如位置獲取業(yè)務(wù)、網(wǎng)絡(luò)音樂播放業(yè)務(wù)等)的服務(wù)器。服務(wù)器組是同一網(wǎng)絡(luò)業(yè)務(wù)的 多臺業(yè)務(wù)服務(wù)器組成的集群。
[0031] 下面將結(jié)合具體的處理方式,對圖1所示的處理流程進行詳細的闡述,內(nèi)容可以 如下。
[0032] 步驟101,當服務(wù)器組中可用的業(yè)務(wù)服務(wù)器數(shù)量發(fā)生變化時,流量控制服務(wù)器獲取 該服務(wù)器組的預設(shè)的總流量閾值。
[0033] 其中,可用的業(yè)務(wù)服務(wù)器是處于正常工作狀態(tài)的業(yè)務(wù)服務(wù)器,即正常承載網(wǎng)絡(luò)業(yè) 務(wù)的業(yè)務(wù)服務(wù)器。總流量閾值是服務(wù)器組對外等效的流量閾值,即將服務(wù)器組視為一個業(yè) 務(wù)服務(wù)器時,該業(yè)務(wù)服務(wù)器的流量閾值。流量閾值是設(shè)置的某個IP地址或某個用戶(賬戶) 在預設(shè)流量周期內(nèi)對業(yè)務(wù)服務(wù)器訪問量的上限。上述預設(shè)的總流量閾值可以根據(jù)實際需求 任意設(shè)置。
[0034] 在實施中,服務(wù)器組中可用的業(yè)務(wù)服務(wù)器數(shù)量發(fā)生變化的情況可能多種多樣,例 如,業(yè)務(wù)服務(wù)器故障會使可用的業(yè)務(wù)服務(wù)器數(shù)量降低,業(yè)務(wù)服務(wù)器下線會使可用的業(yè)務(wù)服 務(wù)器數(shù)量降低,業(yè)務(wù)服務(wù)器上線會使可用的業(yè)務(wù)服務(wù)器數(shù)量增加,等等。流量控制服務(wù)器可 以對一個或多個服務(wù)器組進行流量控制,在流量控制服務(wù)器中可以建立流量閾值表,用于 存儲各服務(wù)器組對應的預設(shè)的總流量閾值,將服務(wù)器組的標識與總流量閾值對應的存儲。 當某個服務(wù)器組中可用的業(yè)務(wù)服務(wù)器數(shù)量發(fā)生變化時,流量控制服務(wù)器可以獲取該服務(wù)器 組的標識,并在流量閾值表中查找該服務(wù)器組的標識對應的總流量閾值。
[0035] 步驟101的具體處理過程可以包括多種情況,以下給出了其中的幾種情況:
[0036] 情況一,當檢測到服務(wù)器組中的業(yè)務(wù)服務(wù)器發(fā)生故障或下線時,獲取服務(wù)器組的 預設(shè)的總流量閾值。
[0037] 其中,業(yè)務(wù)服務(wù)器發(fā)生故障可以是業(yè)務(wù)服務(wù)器本身的故障,或者也可以是業(yè)務(wù)服 務(wù)器與流量控制服務(wù)器之間的鏈路故障;業(yè)務(wù)服務(wù)器下線(可以由管理人員控制下線或業(yè) 務(wù)服務(wù)器根據(jù)預設(shè)機制自動下線)可以是業(yè)務(wù)服務(wù)器暫停承載網(wǎng)絡(luò)業(yè)務(wù),或者也可以是業(yè) 務(wù)服務(wù)器關(guān)閉。
[0038] 在實施中,流量控制服務(wù)器可以按照預設(shè)的時間周期向服務(wù)器組中的各業(yè)務(wù)服務(wù) 器發(fā)送探測報文,如果在發(fā)送檢測報文之后預設(shè)時長內(nèi)沒有接收到業(yè)務(wù)服務(wù)器的反饋報 文,則流量控制服務(wù)器可以判定該業(yè)務(wù)服務(wù)器發(fā)生故障,否則,可以判定業(yè)務(wù)服務(wù)器正常。 當流量控制服務(wù)器接收到業(yè)務(wù)服務(wù)器發(fā)送的故障通知或下線通知時,流量控制服務(wù)器則可 以判定該業(yè)務(wù)服務(wù)器下線。
[0039] 情況二,當檢測到服務(wù)器組中有新上線的業(yè)務(wù)服務(wù)器時,獲取服務(wù)器組的預設(shè)的 總流量閾值。
[0040] 其中,業(yè)務(wù)服務(wù)器上線可以是業(yè)務(wù)服務(wù)器開機并啟動承載網(wǎng)絡(luò)業(yè)務(wù)的業(yè)務(wù)程序。
[0041] 在實施中,當流量控制服務(wù)器接收到業(yè)務(wù)服務(wù)器發(fā)送的上線通知時,流量控制服 務(wù)器則可以判定該業(yè)務(wù)服務(wù)器上線。
[0042] 步驟102,流量控制服務(wù)器根據(jù)預設(shè)的總流量閾值,確定該服務(wù)器組中每個當前可 用的業(yè)務(wù)服務(wù)器對應的流量閾值,其中,確定出的各流量閾值之和等于該總流量閾值。
[0043] 在實施中,該步驟用于對服務(wù)器組中每個當前可用的業(yè)務(wù)服務(wù)器的流量閾值進行 設(shè)置,各業(yè)務(wù)服務(wù)器組的流量閾值可以任意設(shè)置,只需各流量閾值之和等于上述預設(shè)的總 流量閾值即可。該步驟的處理可以認為是將預設(shè)的總流量閾值,按一定規(guī)則分配給服務(wù)器 組中每個當前可用的業(yè)務(wù)服務(wù)器?;诓煌姆峙湟?guī)則,步驟102可以有多種不同的處理 方式,以下給出了其中幾種優(yōu)選的處理方式:
[0044] 方式一
[0045] 首先,獲取服務(wù)器組中當前可用的業(yè)務(wù)服務(wù)器的數(shù)量。
[0046] 然后,獲取上述預設(shè)的總流量閾值除以該數(shù)量得到的商值,并將該商值作為服務(wù) 器組中每個當前可用的業(yè)務(wù)服務(wù)器對應的流量閾值。
[0047] 例如,預設(shè)的服務(wù)器組的總流量閾值為2000,服務(wù)器組中共包括5臺業(yè)務(wù)服務(wù)器, 初始狀態(tài)下,可以設(shè)置各業(yè)務(wù)服務(wù)器的流量閾值均為400(2000除以5得到),如果在運行過 程中,其中一臺業(yè)務(wù)服務(wù)器發(fā)生了故障,則服務(wù)器組中當前可用的業(yè)務(wù)服務(wù)器的數(shù)量為4, 然后,用總流量閾值2000除以4得到商值為500,并可以設(shè)置服務(wù)器組中每個當前可用的業(yè) 務(wù)服務(wù)器對應的流量閾值為500。
[0048] 采用這種方式,服務(wù)器組中各業(yè)務(wù)服務(wù)器使用相同的流量閾值。
[0049] 方式二
[0050] 首先,獲取服務(wù)器組中每個當前可用的業(yè)務(wù)服務(wù)器對應的預設(shè)的流量權(quán)值。
[0051] 然后,根據(jù)上述預設(shè)的總流量閾值,以及獲取的流量權(quán)值,確定服務(wù)器組中每個當 前可用的業(yè)務(wù)服務(wù)器對應的流量閾值。
[0052] 其中,流量權(quán)值是預先為業(yè)務(wù)服務(wù)器設(shè)置的用于反映各業(yè)務(wù)服務(wù)器之間的承載流 量(訪問量)的比例關(guān)系。各業(yè)務(wù)服務(wù)器的流量權(quán)值可以根據(jù)實際需求任意設(shè)置,例如,可以 設(shè)置各業(yè)務(wù)服務(wù)器的流量權(quán)值相同,或者,可以根據(jù)各業(yè)務(wù)服務(wù)器的性能設(shè)置對應的流量 權(quán)值,性能越強對應的流量權(quán)值越大,性能越弱對應的流量權(quán)值越小。
[0053] 在實施中,流量控制服務(wù)器可以預先建立流量權(quán)值表,并在其中存儲各業(yè)務(wù)服務(wù) 器對應的流量權(quán)值,在執(zhí)行上述處理時,查表獲取服務(wù)器組中每個當前可用的業(yè)務(wù)服務(wù)器 對應的流量權(quán)值。在確定各業(yè)務(wù)服務(wù)器的流量閾值時,可以用總流量閾值除以當前可用的 業(yè)務(wù)服務(wù)器的流量權(quán)值之和,得到商值,然后,將此商值與業(yè)務(wù)服務(wù)器的流量權(quán)值相乘,即 可以得到該業(yè)務(wù)服務(wù)器的流量閾值。例如,預設(shè)的總流量閾值為2000,當前可用的業(yè)務(wù)服務(wù) 器的流量權(quán)值分別為4、5、5、6,那么,可先計算2000/ (4+5+5+6)的商值為100,然后用100 分別乘以4、5、5、6,得到各業(yè)務(wù)服務(wù)器對應的流量閾值分別為400、500、500、600。
[0054] 步驟103,當接收到對應該服務(wù)器組的業(yè)務(wù)請求時,流量控制服務(wù)器根據(jù)該服務(wù) 器組中當前可用的業(yè)務(wù)服務(wù)器對應的流量閾值和被訪問情況,為該業(yè)務(wù)請求分配業(yè)務(wù)服務(wù) 器。
[0055] 其中,業(yè)務(wù)請求是用于請求執(zhí)行某網(wǎng)絡(luò)業(yè)務(wù)的報文,例如,請求獲取某網(wǎng)頁鏈接對 應的網(wǎng)頁內(nèi)容。被訪問情況可以是業(yè)務(wù)服務(wù)器在某段時間內(nèi)的訪問量,優(yōu)選的,可以是業(yè)務(wù) 服務(wù)器在當前流量周期(進行訪問量統(tǒng)計的周期,如1S)內(nèi)的訪問量。
[0056] 在實施中,業(yè)務(wù)請求一般由終端發(fā)送,終端可以根據(jù)用戶的操作觸發(fā)業(yè)務(wù)請求(如 用戶點擊某網(wǎng)頁鏈接,可觸發(fā)獲取相應網(wǎng)頁內(nèi)容的業(yè)務(wù)請求),或者也可以根據(jù)網(wǎng)絡(luò)業(yè)務(wù)的 客戶端的內(nèi)部機制觸發(fā)發(fā)送業(yè)務(wù)請求。在業(yè)務(wù)請求中,可以攜帶請求執(zhí)行的網(wǎng)絡(luò)業(yè)務(wù)的業(yè) 務(wù)標識,流量控制服務(wù)器在接收到業(yè)務(wù)請求后,根據(jù)業(yè)務(wù)標識,可以確定與該業(yè)務(wù)標識對應 的服務(wù)器組。
[0057] 步驟103的具體處理方式可以多種多樣,以下給出了兩種可行的處理方式:
[0058] 方式一
[0059] 當接收到對應該服務(wù)器組的業(yè)務(wù)請求時,根據(jù)該服務(wù)器組中當前可用的業(yè)務(wù)服務(wù) 器對應的流量閾值和被訪問情況,以及預設(shè)的負載均衡規(guī)則,為該業(yè)務(wù)請求分配業(yè)務(wù)服務(wù) 器。
[0060] 在實施中,負載均衡規(guī)則可以根據(jù)實際需求任意設(shè)置,例如,可以是輪詢分配規(guī) 貝1J??梢灶A先設(shè)置服務(wù)器組中各業(yè)務(wù)服務(wù)器的輪詢順序,在分配業(yè)務(wù)請求時,可以在服務(wù) 器組當前可用的業(yè)務(wù)服務(wù)器中,確定當前流量周期內(nèi)訪問量沒有達到流量閾值的業(yè)務(wù)服務(wù) 器,在確定出的各業(yè)務(wù)服務(wù)器中,按上述輪詢順序,選取上一次業(yè)務(wù)請求所分配的業(yè)務(wù)服務(wù) 器的下一個業(yè)務(wù)服務(wù)器。
[0061] 方式二
[0062] 在上述業(yè)務(wù)請求中還攜帶有服務(wù)器標識,相應的步驟103的處理可以包括:當接 收到對應該服務(wù)器組的業(yè)務(wù)請求時,確定該服務(wù)器組中與服務(wù)器標識對應的第一業(yè)務(wù)服務(wù) 器;如果第一業(yè)務(wù)服務(wù)器在當前流量周期內(nèi)的訪問量未達到第一業(yè)務(wù)服務(wù)器對應的流量閾 值,則將該業(yè)務(wù)請求分配給第一業(yè)務(wù)服務(wù);如果第一業(yè)務(wù)服務(wù)器在當前流量周期內(nèi)的訪問 量達到第一業(yè)務(wù)服務(wù)器對應的流量閾值,則拒絕該業(yè)務(wù)請求。
[0063] 在實施中,終端向流量控制服務(wù)器發(fā)送業(yè)務(wù)請求時,還可以選定相應的網(wǎng)絡(luò)業(yè)務(wù) 的服務(wù)器組中的某一臺業(yè)務(wù)服務(wù)器(即上述第一業(yè)務(wù)服務(wù)器)對該業(yè)務(wù)請求進行處理,此選 定處理可以由客戶端的內(nèi)部機制來完成,相應的,可以將選定的業(yè)務(wù)服務(wù)器的服務(wù)器標識 攜帶于業(yè)務(wù)請求中。這種情況下,流量控制服務(wù)器可以只考慮是否允許將該業(yè)務(wù)請求分配 給該服務(wù)器標識對應的第一業(yè)務(wù)服務(wù)器,不考慮其它業(yè)務(wù)服務(wù)器。
[0064] 如圖2所示,給出了一種在具體應用場景中進行業(yè)務(wù)請求分配的處理流程,可以 包括如下步驟:
[0065] 步驟201,流量控制服務(wù)器接收終端發(fā)送的業(yè)務(wù)請求,該業(yè)務(wù)請求中攜帶有業(yè)務(wù)標 識和服務(wù)器標識。
[0066] 步驟202,在該業(yè)務(wù)標識對應的服務(wù)器組中,確定與該服務(wù)器標識對應的業(yè)務(wù)服務(wù) 器,并獲取該業(yè)務(wù)服務(wù)器對應的流量閾值以及該業(yè)務(wù)服務(wù)器在當前流量周期內(nèi)的訪問量。 如果訪問量達到流量閾值,則執(zhí)行步驟203,如果訪問量沒達到流量閾值,則執(zhí)行步驟204。
[0067] 步驟203,拒絕該業(yè)務(wù)請求。該步驟執(zhí)行完畢后結(jié)束流程。
[0068] 步驟204,將業(yè)務(wù)請求發(fā)送給該業(yè)務(wù)服務(wù)器進行處理。
[0069] 步驟205,業(yè)務(wù)服務(wù)器向終端反饋處理結(jié)果。
[0070] 本發(fā)明實施例中,當服務(wù)器組中可用的業(yè)務(wù)服務(wù)器數(shù)量發(fā)生變化時,根據(jù)服務(wù)器 組的預設(shè)的總流量閾值,確定服務(wù)器組中每個當前可用的業(yè)務(wù)服務(wù)器對應的流量閾值,其 中,確定出的各流量閾值之和等于上述預設(shè)的總流量閾值,當接收到對應服務(wù)器組的業(yè)務(wù) 請求時,根據(jù)服務(wù)器組中當前可用的業(yè)務(wù)服務(wù)器對應的流量閾值和被訪問情況,為業(yè)務(wù)請 求分配業(yè)務(wù)服務(wù)器。這樣,可以使服務(wù)器組的總流量閾值穩(wěn)定為預設(shè)數(shù)值,從而,可以提高 對服務(wù)器組進行流量控制的穩(wěn)定性。
[0071] 實施例三
[0072] 基于相同的技術(shù)構(gòu)思,本發(fā)明實施例還提供了一種分配業(yè)務(wù)請求的裝置,如圖3 所示,所述裝置包括:
[0073] 獲取模塊310,用于當服務(wù)器組中可用的業(yè)務(wù)服務(wù)器數(shù)量發(fā)生變化時,獲取所述服 務(wù)器組的預設(shè)的總流量閾值;
[0074] 確定模塊320,用于根據(jù)所述總流量閾值,確定所述服務(wù)器組中每個當前可用的業(yè) 務(wù)服務(wù)器對應的流量閾值,其中,確定出的各流量閾值之和等于所述總流量閾值;
[0075] 分配模塊330,用于當接收到對應所述服務(wù)器組的業(yè)務(wù)請求時,根據(jù)所述服務(wù)器 組中當前可用的業(yè)務(wù)服務(wù)器對應的流量閾值和被訪問情況,為所述業(yè)務(wù)請求分配業(yè)務(wù)服務(wù) 器。
[0076] 優(yōu)選的,所述獲取模塊310,用于:
[0077] 當檢測到服務(wù)器組中的業(yè)務(wù)服務(wù)器發(fā)生故障或下線時,獲取所述服務(wù)器組的預設(shè) 的總流量閾值;或者,
[0078] 當檢測到服務(wù)器組中有新上線的業(yè)務(wù)服務(wù)器時,獲取所述服務(wù)器組的預設(shè)的總流 量閾值。
[0079] 優(yōu)選的,所述確定模塊320,用于:
[0080] 獲取所述服務(wù)器組中當前可用的業(yè)務(wù)服務(wù)器的數(shù)量;
[0081] 獲取所述總流量閾值除以所述數(shù)量得到的商值,并將所述商值作為所述服務(wù)器組 中每個當前可用的業(yè)務(wù)服務(wù)器對應的流量閾值。
[0082] 優(yōu)選的,所述確定模塊320,用于:
[0083] 獲取所述服務(wù)器組中每個當前可用的業(yè)務(wù)服務(wù)器對應的預設(shè)的流量權(quán)值;
[0084] 根據(jù)所述總流量閾值,以及獲取的流量權(quán)值,確定所述服務(wù)器組中每個當前可用 的業(yè)務(wù)服務(wù)器對應的流量閾值。
[0085] 優(yōu)選的,所述分配模塊330,用于:
[0086] 當接收到對應所述服務(wù)器組的業(yè)務(wù)請求時,根據(jù)所述服務(wù)器組中當前可用的業(yè)務(wù) 服務(wù)器對應的流量閾值和被訪問情況,以及預設(shè)的負載均衡規(guī)則,為所述業(yè)務(wù)請求分配業(yè) 務(wù)服務(wù)器。
[0087] 優(yōu)選的,所述業(yè)務(wù)請求中攜帶有服務(wù)器標識;所述被訪問情況為當前流量周期內(nèi) 的訪問量;
[0088] 所述分配模塊330,用于:
[0089] 當接收到對應所述服務(wù)器組的業(yè)務(wù)請求時,確定所述服務(wù)器組中與所述服務(wù)器標 識對應的第一業(yè)務(wù)服務(wù)器;
[0090] 如果所述第一業(yè)務(wù)服務(wù)器在當前流量周期內(nèi)的訪問量未達到所述第一業(yè)務(wù)服務(wù) 器對應的流量閾值,則將所述業(yè)務(wù)請求分配給所述第一業(yè)務(wù)服務(wù);如果所述第一業(yè)務(wù)服務(wù) 器在當前流量周期內(nèi)的訪問量達到所述第一業(yè)務(wù)服務(wù)器對應的流量閾值,則拒絕所述業(yè)務(wù) 請求。
[0091] 本發(fā)明實施例中,當服務(wù)器組中可用的業(yè)務(wù)服務(wù)器數(shù)量發(fā)生變化時,根據(jù)服務(wù)器 組的預設(shè)的總流量閾值,確定服務(wù)器組中每個當前可用的業(yè)務(wù)服務(wù)器對應的流量閾值,其 中,確定出的各流量閾值之和等于上述預設(shè)的總流量閾值,當接收到對應服務(wù)器組的業(yè)務(wù) 請求時,根據(jù)服務(wù)器組中當前可用的業(yè)務(wù)服務(wù)器對應的流量閾值和被訪問情況,為業(yè)務(wù)請 求分配業(yè)務(wù)服務(wù)器。這樣,可以使服務(wù)器組的總流量閾值穩(wěn)定為預設(shè)數(shù)值,從而,可以提高 對服務(wù)器組進行流量控制的穩(wěn)定性。
[0092] 實施例四
[0093] 圖4是本發(fā)明實施例提供的服務(wù)器(該服務(wù)器可以用作上述流量控制服務(wù)器)的結(jié) 構(gòu)示意圖。該服務(wù)器1900可因配置或性能不同而產(chǎn)生比較大的差異,可以包括一個或一個 以上中央處理器(central processing units, CPU) 1922 (例如,一個或一個以上處理器) 和存儲器1932, 一個或一個以上存儲應用程序1942或數(shù)據(jù)1944的存儲介質(zhì)1930 (例如一 個或一個以上海量存儲設(shè)備)。其中,存儲器1932和存儲介質(zhì)1930可以是短暫存儲或持久 存儲。存儲在存儲介質(zhì)1930的程序可以包括一個或一個以上模塊(圖示沒標出),每個模塊 可以包括對服務(wù)器中的一系列指令操作。更進一步地,中央處理器1922可以設(shè)置為與存儲 介質(zhì)1930通信,在服務(wù)器1900上執(zhí)行存儲介質(zhì)1930中的一系列指令操作。
[0094] 服務(wù)器1900還可以包括一個或一個以上電源1926, 一個或一個以上有線或無線 網(wǎng)絡(luò)接口 1950, 一個或一個以上輸入輸出接口 1958, 一個或一個以上鍵盤1956,和/或, 一個或一個以上操作系統(tǒng) 1941,例如 Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM, FreeBSDTM 等等。
[0095] 服務(wù)器1900可以包括有存儲器,以及一個或者一個以上的程序,其中一個或者一 個以上程序存儲于存儲器中,且經(jīng)配置以由一個或者一個以上處理器執(zhí)行所述一個或者一 個以上程序包含用于進行以下操作的指令:
[0096] 當服務(wù)器組中可用的業(yè)務(wù)服務(wù)器數(shù)量發(fā)生變化時,獲取所述服務(wù)器組的預設(shè)的總 流量閾值;
[0097] 根據(jù)所述總流量閾值,確定所述服務(wù)器組中每個當前可用的業(yè)務(wù)服務(wù)器對應的流 量閾值,其中,確定出的各流量閾值之和等于所述總流量閾值;
[0098] 當接收到對應所述服務(wù)器組的業(yè)務(wù)請求時,根據(jù)所述服務(wù)器組中當前可用的業(yè)務(wù) 服務(wù)器對應的流量閾值和被訪問情況,為所述業(yè)務(wù)請求分配業(yè)務(wù)服務(wù)器。
[0099] 優(yōu)選的,所述當服務(wù)器組中可用的業(yè)務(wù)服務(wù)器數(shù)量發(fā)生變化時,獲取所述服務(wù)器 組的預設(shè)的總流量閾值,包括:
[0100] 當檢測到服務(wù)器組中的業(yè)務(wù)服務(wù)器發(fā)生故障或下線時,獲取所述服務(wù)器組的預設(shè) 的總流量閾值;或者,
[0101] 當檢測到服務(wù)器組中有新上線的業(yè)務(wù)服務(wù)器時,獲取所述服務(wù)器組的預設(shè)的總流 量閾值。
[0102] 優(yōu)選的,所述根據(jù)所述總流量閾值,確定所述服務(wù)器組中每個當前可用的業(yè)務(wù)服 務(wù)器對應的流量閾值,包括 :
[0103] 獲取所述服務(wù)器組中當前可用的業(yè)務(wù)服務(wù)器的數(shù)量;
[0104] 獲取所述總流量閾值除以所述數(shù)量得到的商值,并將所述商值作為所述服務(wù)器組 中每個當前可用的業(yè)務(wù)服務(wù)器對應的流量閾值。
[0105] 優(yōu)選的,所述根據(jù)所述總流量閾值,確定所述服務(wù)器組中每個當前可用的業(yè)務(wù)服 務(wù)器對應的流量閾值,包括:
[0106] 獲取所述服務(wù)器組中每個當前可用的業(yè)務(wù)服務(wù)器對應的預設(shè)的流量權(quán)值;
[0107] 根據(jù)所述總流量閾值,以及獲取的流量權(quán)值,確定所述服務(wù)器組中每個當前可用 的業(yè)務(wù)服務(wù)器對應的流量閾值。
[0108] 優(yōu)選的,所述當接收到對應所述服務(wù)器組的業(yè)務(wù)請求時,根據(jù)所述服務(wù)器組中當 前可用的業(yè)務(wù)服務(wù)器對應的流量閾值和被訪問情況,為所述業(yè)務(wù)請求分配業(yè)務(wù)服務(wù)器,包 括:
[0109] 當接收到對應所述服務(wù)器組的業(yè)務(wù)請求時,根據(jù)所述服務(wù)器組中當前可用的業(yè)務(wù) 服務(wù)器對應的流量閾值和被訪問情況,以及預設(shè)的負載均衡規(guī)則,為所述業(yè)務(wù)請求分配業(yè) 務(wù)服務(wù)器。
[0110] 優(yōu)選的,所述業(yè)務(wù)請求中攜帶有服務(wù)器標識;所述被訪問情況為當前流量周期內(nèi) 的訪問量;
[0111] 所述當接收到對應所述服務(wù)器組的業(yè)務(wù)請求時,根據(jù)所述服務(wù)器組中當前可用的 業(yè)務(wù)服務(wù)器對應的流量閾值和被訪問情況,為所述業(yè)務(wù)請求分配業(yè)務(wù)服務(wù)器,包括:
[0112] 當接收到對應所述服務(wù)器組的業(yè)務(wù)請求時,確定所述服務(wù)器組中與所述服務(wù)器標 識對應的第一業(yè)務(wù)服務(wù)器;
[0113] 如果所述第一業(yè)務(wù)服務(wù)器在當前流量周期內(nèi)的訪問量未達到所述第一業(yè)務(wù)服務(wù) 器對應的流量閾值,則將所述業(yè)務(wù)請求分配給所述第一業(yè)務(wù)服務(wù);如果所述第一業(yè)務(wù)服務(wù) 器在當前流量周期內(nèi)的訪問量達到所述第一業(yè)務(wù)服務(wù)器對應的流量閾值,則拒絕所述業(yè)務(wù) 請求。
[0114] 本發(fā)明實施例中,當服務(wù)器組中可用的業(yè)務(wù)服務(wù)器數(shù)量發(fā)生變化時,根據(jù)服務(wù)器 組的預設(shè)的總流量閾值,確定服務(wù)器組中每個當前可用的業(yè)務(wù)服務(wù)器對應的流量閾值,其 中,確定出的各流量閾值之和等于上述預設(shè)的總流量閾值,當接收到對應服務(wù)器組的業(yè)務(wù) 請求時,根據(jù)服務(wù)器組中當前可用的業(yè)務(wù)服務(wù)器對應的流量閾值和被訪問情況,為業(yè)務(wù)請 求分配業(yè)務(wù)服務(wù)器。這樣,可以使服務(wù)器組的總流量閾值穩(wěn)定為預設(shè)數(shù)值,從而,可以提高 對服務(wù)器組進行流量控制的穩(wěn)定性。
[0115] 需要說明的是:上述實施例提供的分配業(yè)務(wù)請求的裝置在分配業(yè)務(wù)請求時,僅以 上述各功能模塊的劃分進行舉例說明,實際應用中,可以根據(jù)需要而將上述功能分配由不 同的功能模塊完成,即將裝置的內(nèi)部結(jié)構(gòu)劃分成不同的功能模塊,以完成以上描述的全部 或者部分功能。另外,上述實施例提供的分配業(yè)務(wù)請求的裝置與分配業(yè)務(wù)請求的方法實施 例屬于同一構(gòu)思,其具體實現(xiàn)過程詳見方法實施例,這里不再贅述。
[0116] 上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。
[0117] 本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例的全部或部分步驟可以通過硬件 來完成,也可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲于一種計算機可讀 存儲介質(zhì)中,上述提到的存儲介質(zhì)可以是只讀存儲器,磁盤或光盤等。
[0118] 以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和 原則之內(nèi),所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。
【權(quán)利要求】
1. 一種分配業(yè)務(wù)請求的方法,其特征在于,所述方法包括: 當服務(wù)器組中可用的業(yè)務(wù)服務(wù)器數(shù)量發(fā)生變化時,獲取所述服務(wù)器組的預設(shè)的總流量 閾值; 根據(jù)所述總流量閾值,確定所述服務(wù)器組中每個當前可用的業(yè)務(wù)服務(wù)器對應的流量閾 值,其中,確定出的各流量閾值之和等于所述總流量閾值; 當接收到對應所述服務(wù)器組的業(yè)務(wù)請求時,根據(jù)所述服務(wù)器組中當前可用的業(yè)務(wù)服務(wù) 器對應的流量閾值和被訪問情況,為所述業(yè)務(wù)請求分配業(yè)務(wù)服務(wù)器。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述當服務(wù)器組中可用的業(yè)務(wù)服務(wù)器數(shù) 量發(fā)生變化時,獲取所述服務(wù)器組的預設(shè)的總流量閾值,包括: 當檢測到服務(wù)器組中的業(yè)務(wù)服務(wù)器發(fā)生故障或下線時,獲取所述服務(wù)器組的預設(shè)的總 流量閾值;或者, 當檢測到服務(wù)器組中有新上線的業(yè)務(wù)服務(wù)器時,獲取所述服務(wù)器組的預設(shè)的總流量閾 值。
3. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述總流量閾值,確定所述服務(wù) 器組中每個當前可用的業(yè)務(wù)服務(wù)器對應的流量閾值,包括: 獲取所述服務(wù)器組中當前可用的業(yè)務(wù)服務(wù)器的數(shù)量; 獲取所述總流量閾值除以所述數(shù)量得到的商值,并將所述商值作為所述服務(wù)器組中每 個當前可用的業(yè)務(wù)服務(wù)器對應的流量閾值。
4. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述總流量閾值,確定所述服務(wù) 器組中每個當前可用的業(yè)務(wù)服務(wù)器對應的流量閾值,包括: 獲取所述服務(wù)器組中每個當前可用的業(yè)務(wù)服務(wù)器對應的預設(shè)的流量權(quán)值; 根據(jù)所述總流量閾值,以及獲取的流量權(quán)值,確定所述服務(wù)器組中每個當前可用的業(yè) 務(wù)服務(wù)器對應的流量閾值。
5. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述當接收到對應所述服務(wù)器組的業(yè)務(wù) 請求時,根據(jù)所述服務(wù)器組中當前可用的業(yè)務(wù)服務(wù)器對應的流量閾值和被訪問情況,為所 述業(yè)務(wù)請求分配業(yè)務(wù)服務(wù)器,包括: 當接收到對應所述服務(wù)器組的業(yè)務(wù)請求時,根據(jù)所述服務(wù)器組中當前可用的業(yè)務(wù)服務(wù) 器對應的流量閾值和被訪問情況,以及預設(shè)的負載均衡規(guī)則,為所述業(yè)務(wù)請求分配業(yè)務(wù)服 務(wù)器。
6. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述業(yè)務(wù)請求中攜帶有服務(wù)器標識;所述 被訪問情況為當前流量周期內(nèi)的訪問量; 所述當接收到對應所述服務(wù)器組的業(yè)務(wù)請求時,根據(jù)所述服務(wù)器組中當前可用的業(yè)務(wù) 服務(wù)器對應的流量閾值和被訪問情況,為所述業(yè)務(wù)請求分配業(yè)務(wù)服務(wù)器,包括: 當接收到對應所述服務(wù)器組的業(yè)務(wù)請求時,確定所述服務(wù)器組中與所述服務(wù)器標識對 應的第一業(yè)務(wù)服務(wù)器; 如果所述第一業(yè)務(wù)服務(wù)器在當前流量周期內(nèi)的訪問量未達到所述第一業(yè)務(wù)服務(wù)器對 應的流量閾值,則將所述業(yè)務(wù)請求分配給所述第一業(yè)務(wù)服務(wù);如果所述第一業(yè)務(wù)服務(wù)器在 當前流量周期內(nèi)的訪問量達到所述第一業(yè)務(wù)服務(wù)器對應的流量閾值,則拒絕所述業(yè)務(wù)請 求。
7. -種分配業(yè)務(wù)請求的裝置,其特征在于,所述裝置包括: 獲取模塊,用于當服務(wù)器組中可用的業(yè)務(wù)服務(wù)器數(shù)量發(fā)生變化時,獲取所述服務(wù)器組 的預設(shè)的總流量閾值; 確定模塊,用于根據(jù)所述總流量閾值,確定所述服務(wù)器組中每個當前可用的業(yè)務(wù)服務(wù) 器對應的流量閾值,其中,確定出的各流量閾值之和等于所述總流量閾值; 分配模塊,用于當接收到對應所述服務(wù)器組的業(yè)務(wù)請求時,根據(jù)所述服務(wù)器組中當前 可用的業(yè)務(wù)服務(wù)器對應的流量閾值和被訪問情況,為所述業(yè)務(wù)請求分配業(yè)務(wù)服務(wù)器。
8. 根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述獲取模塊,用于: 當檢測到服務(wù)器組中的業(yè)務(wù)服務(wù)器發(fā)生故障或下線時,獲取所述服務(wù)器組的預設(shè)的總 流量閾值;或者, 當檢測到服務(wù)器組中有新上線的業(yè)務(wù)服務(wù)器時,獲取所述服務(wù)器組的預設(shè)的總流量閾 值。
9. 根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述確定模塊,用于: 獲取所述服務(wù)器組中當前可用的業(yè)務(wù)服務(wù)器的數(shù)量; 獲取所述總流量閾值除以所述數(shù)量得到的商值,并將所述商值作為所述服務(wù)器組中每 個當前可用的業(yè)務(wù)服務(wù)器對應的流量閾值。
10. 根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述確定模塊,用于: 獲取所述服務(wù)器組中每個當前可用的業(yè)務(wù)服務(wù)器對應的預設(shè)的流量權(quán)值; 根據(jù)所述總流量閾值,以及獲取的流量權(quán)值,確定所述服務(wù)器組中每個當前可用的業(yè) 務(wù)服務(wù)器對應的流量閾值。
11. 根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述分配模塊,用于: 當接收到對應所述服務(wù)器組的業(yè)務(wù)請求時,根據(jù)所述服務(wù)器組中當前可用的業(yè)務(wù)服務(wù) 器對應的流量閾值和被訪問情況,以及預設(shè)的負載均衡規(guī)則,為所述業(yè)務(wù)請求分配業(yè)務(wù)服 務(wù)器。
12. 根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述業(yè)務(wù)請求中攜帶有服務(wù)器標識;所 述被訪問情況為當前流量周期內(nèi)的訪問量; 所述分配模塊,用于: 當接收到對應所述服務(wù)器組的業(yè)務(wù)請求時,確定所述服務(wù)器組中與所述服務(wù)器標識對 應的第一業(yè)務(wù)服務(wù)器; 如果所述第一業(yè)務(wù)服務(wù)器在當前流量周期內(nèi)的訪問量未達到所述第一業(yè)務(wù)服務(wù)器對 應的流量閾值,則將所述業(yè)務(wù)請求分配給所述第一業(yè)務(wù)服務(wù);如果所述第一業(yè)務(wù)服務(wù)器在 當前流量周期內(nèi)的訪問量達到所述第一業(yè)務(wù)服務(wù)器對應的流量閾值,則拒絕所述業(yè)務(wù)請 求。
【文檔編號】H04L29/08GK104092650SQ201310651481
【公開日】2014年10月8日 申請日期:2013年12月4日 優(yōu)先權(quán)日:2013年12月4日
【發(fā)明者】杜風濤 申請人:騰訊數(shù)碼(天津)有限公司