專利名稱:動態(tài)評分負載平衡裝置與方法
技術(shù)領(lǐng)域:
本發(fā)明是關(guān)于一種動態(tài)評分負載平衡(Dynamic Score-Based LoadBalancing)裝
置與方法。
背景技術(shù):
隨著使用網(wǎng)域名稱解析的人口日益增長,不斷提高單一服務(wù)伺服器的效能并無法真正解決服務(wù)人口快速增長的問題。取而代的的是同時使用多臺服務(wù)伺服器來提供服務(wù),由有效的策略將網(wǎng)際網(wǎng)絡(luò)使用者有系統(tǒng)地分配到不同的服務(wù)伺服器來取得服務(wù),以維持高服務(wù)品質(zhì)。常見的負載平衡結(jié)構(gòu)例如是使用者端為主(Client-based)、伺服器為主(Server-based)、調(diào)度器為主(Dispatcher-based)、以及網(wǎng)域名稱系統(tǒng)(Domain NameSystem, DNS)為主(DNS-based)的結(jié)構(gòu)。 使用者端為主的結(jié)構(gòu)中,通過使用者端的軟硬件修改,或通過使用者視不同服務(wù)伺服器的服務(wù)品質(zhì)來選擇較佳的服務(wù)伺服器。伺服器為主的結(jié)構(gòu)中,需有簡單的調(diào)度器為主或網(wǎng)域名稱系統(tǒng)為主的結(jié)構(gòu)輔助,先通過簡單的隨機或輪替的方式分配使用者到不同服務(wù)伺服器,之后各服務(wù)伺服器再通過彼此交換信息,來決定是否交換工作。調(diào)度器為主的結(jié)構(gòu)中,所有服務(wù)伺服器以地理集中的方式擺放,并通過一調(diào)度器負責(zé)接收所有使用者的請求,再視當(dāng)時的各服務(wù)伺服器狀態(tài)來決定要將各使用者請求導(dǎo)向哪一服務(wù)伺服器提供服務(wù)。 網(wǎng)域名稱系統(tǒng)為主的結(jié)構(gòu)中,各服務(wù)伺服器可以地理分散方式來擺放。使用者先對DNS伺服器發(fā)出網(wǎng)域名稱解析請求(Domain NameResolution Request),以取得服務(wù)伺服器的IP地址,接著可對此IP地址的服務(wù)伺服器發(fā)出服務(wù)請求以取得服務(wù)。DNS可采隨機或是輪替等方式將使用者分配到不同的服務(wù)伺服器來進行負載平衡,或是再經(jīng)由周期性地取得服務(wù)伺服器的狀態(tài)信息,如負載狀況、網(wǎng)絡(luò)狀況等,來有根據(jù)地進行負載平衡。
美國專利6, 078, 943揭露一種動態(tài)區(qū)間負載平衡(Dynamiclnterval-Based LoadBalancing)方法與裝置。其網(wǎng)絡(luò)環(huán)境的結(jié)構(gòu)如圖1的范例所示,使用者端是以連上延伸網(wǎng)域名稱系統(tǒng)(Extended DNS, EDNS)伺服器110所通過的網(wǎng)關(guān)器(Gateway),網(wǎng)關(guān)器1至網(wǎng)關(guān)器N,來劃分群組。EDNS伺服器110具有服務(wù)伺服器1至服務(wù)伺服器M運算能力的記錄,并且各服務(wù)伺服器會周期性地發(fā)送狀態(tài)信息給EDNS伺服器。當(dāng)服務(wù)伺服器負載過高時,會告知EDNS伺服器110暫時不要再分配新的使用者群組請求給自己,否則愿意接受EDNS伺服器110分配新的使用者群組服務(wù)請求給自己。 EDNS伺服器110周期性地向所有服務(wù)伺服器收集并統(tǒng)計過去一段時間內(nèi),各使用者群組所發(fā)出的服務(wù)請求數(shù)。當(dāng)有使用者群組向EDNS伺服器110發(fā)出網(wǎng)域名稱解析請求時,EDNS伺服器IIO可依據(jù)服務(wù)伺服器的狀態(tài)決定適當(dāng)?shù)姆?wù)伺服器,并根據(jù)該服務(wù)伺服器的運算能力,以及該使用者群組的請求發(fā)送頻率,計算出一存活時間(Time To Live,TTL)值,并響應(yīng)該服務(wù)伺服器的IP地址,以及對應(yīng)的TTL值,此TTL值代表該服務(wù)伺服器的IP地址的有效時間。也就是說,經(jīng)過TTL的時間后,若此使用者群組再向該網(wǎng)域名稱的
4服務(wù)伺服器發(fā)出請求的話,必須再次向EDNS伺服器110發(fā)出網(wǎng)域名稱解析請求,來取得新的服務(wù)伺服器的IP地址。 服務(wù)伺服器內(nèi)部會定義一負載緩沖區(qū)間,以負載70%到負載90%為例,在圖2中,橫軸代表服務(wù)伺服器的負載,縱軸代表服務(wù)伺服器拒絕要求的機率,實線代表服務(wù)伺服器拒絕要求的狀態(tài)(State),虛線代表服務(wù)伺服器接受要求的狀態(tài)(State)。如圖2所示,當(dāng)服務(wù)伺服器的負載低于90%以前,會同意EDNS伺服器110分配使用者給自己, 一旦服務(wù)伺服器負載高于90%后,則必須要待其負載度低于70%后才會同意EDNS伺服器110分配使用者給自己。若所有的服務(wù)伺服器負載皆曾高于90%,而尚未低于70%,則在這段期間內(nèi),服務(wù)會有短暫中斷的現(xiàn)象。
發(fā)明內(nèi)容
根據(jù)本發(fā)明所揭露的實施范例中,可提供一種動態(tài)評分負載平衡裝置與方法。
在一實施范例中,所揭露的是有關(guān)于一種動態(tài)評分負載平衡裝置。此動態(tài)評分負載平衡裝置可包含一狀態(tài)收集器(State Collector)、一傳遞延遲量測器(PropagationDelay Measure)、 一伺月艮器評分器(ScoreCalculator)、以及 一 分數(shù)應(yīng)X寸器(ScoreMapper)。 一旦此延伸DNS伺服器收到一本地DNS伺服器發(fā)出的請求時,便通知伺服器評分器,伺服器評分器向狀態(tài)收集器取得多種狀態(tài)信息,也向傳遞延遲量測器取得不同的服務(wù)伺服器與該本地DNS伺服器之間傳遞延遲所量測的信息,以進行對不同服務(wù)伺服器的評分,該分數(shù)應(yīng)對器依評分的結(jié)果產(chǎn)生一目標評分值,以選出一服務(wù)伺服器并回報其IP地址給此本地DNS伺服器。 在另一實施范例中,所揭露的是有關(guān)于一種動態(tài)評分負載平衡方法。此方法包含一 EDNS伺服器等待至少一本地DNS伺服器發(fā)出網(wǎng)域名稱解析請求;一旦接收到一本地DNS伺服器的網(wǎng)域名稱解析請求時,根據(jù)收到的各個服務(wù)伺服器的多重狀態(tài)信息與考量各個服務(wù)伺服器對此本地DNS伺服器的傳遞延遲時間,進行各個服務(wù)伺服器的評分;EDNS伺服器回報一被選出的服務(wù)伺服器的IP地址給此本地DNS伺服器;以及若存在服務(wù)伺服器對此本地DNS伺服器的傳遞延遲時間已過期或是初始設(shè)定值,則請求各個服務(wù)伺服器去量測對此本地DNS伺服器的傳遞延遲時間;否則返回等待至少一本地DNS伺服器發(fā)出網(wǎng)域名稱解析請求的步驟。
以下配合附圖、實施范例的詳細說明及申請專利范圍,將上述及本發(fā)明的其它特征與優(yōu)點詳述于后,其中 圖1是具動態(tài)區(qū)間負載平衡的網(wǎng)絡(luò)環(huán)境的一個范例結(jié)構(gòu)示意圖。
圖2是圖1中服務(wù)伺服器的負載與是否接受服務(wù)的一個范例關(guān)系示意圖。
圖3以一范例結(jié)構(gòu)說明動態(tài)評分負載平衡機制所在的網(wǎng)絡(luò)系統(tǒng)的一個范例結(jié)構(gòu)
示意圖,并且與本發(fā)明的某些揭露的實施范例一致。 圖4是動態(tài)評分負載平衡裝置的一個范例結(jié)構(gòu)示意圖,并且與本發(fā)明的某些揭露的實施范例一致。 圖5是對各個服務(wù)伺服器評分的一個公式范例,并且與本發(fā)明的某些揭露的實施范例一致。 圖6是不同服務(wù)伺服器的多重狀態(tài)信息以及與各使用者端LDNS伺服器的傳遞延
遲時間的初始值的范例示意圖,并且與本發(fā)明的某些揭露的實施范例一致。 圖7以一范例流程說明具有動態(tài)評分負載平衡機制的EDNS伺服器的運作,并且與
本發(fā)明的某些揭露的實施范例一致。 圖8以圖5的評分公式范例,說明分數(shù)應(yīng)對器如何通過隨機對應(yīng)的方式來選出此服務(wù)伺服器,并且與本發(fā)明的某些揭露的實施范例一致。 圖9是更新傳遞延遲紀錄與動態(tài)調(diào)整評分計算的一個范例說明,并且與本發(fā)明的某些揭露的實施范例一致。
具體實施例方式
圖3以一范例結(jié)構(gòu)說明本揭露的動態(tài)評分負載平衡機制的實施范例所在的網(wǎng)絡(luò)系統(tǒng),并且與本發(fā)明的某些揭露的實施范例一致。 圖3的網(wǎng)絡(luò)系統(tǒng)300的范例結(jié)構(gòu)中,加入使用者端與DNS伺服器之間傳遞延遲時間的考量,使用者端以傳遞延遲時間最短的本地DNS伺服器(Local DNS Server, LDNSServer)為單位劃分群組。也就是說,此網(wǎng)絡(luò)系統(tǒng)中具有不同使用者群組,這些不同使用者群組是以傳遞延遲時間最短的本地DNS伺服器為單位來劃分的使用者群組。每一使用者只需要知道服務(wù)伺服器(Service Server)的一個網(wǎng)域名稱DN,并對這個網(wǎng)域名稱發(fā)出一網(wǎng)域名稱解析請求(Internet Service Request)。以使用者端301為例,其發(fā)出的網(wǎng)域名稱解析請求301a首先會到達對應(yīng)的LDNS伺服器311。 收到網(wǎng)域名稱解析請求301a后,LDNS伺服器311先檢查自己的記錄中是否有網(wǎng)域名稱DN對應(yīng)且未過期的IP地址。若有,則直接將該IP地址響應(yīng)給使用者端301 ;若無,則通過網(wǎng)絡(luò)將此網(wǎng)域名稱解析請求301a傳送至延伸DNS伺服器310,以取得一個對應(yīng)的IP地址310a。然后,LDNS伺服器311將取得于EDNS伺服器310的最新IP地址310a響應(yīng)給使用者端301 。有此最新IP地址310a后,使用者端301就可以對最新IP地址310a的服務(wù)伺服器發(fā)出服務(wù)請求。 承上述,本揭露的動態(tài)評分負載平衡機制的實施范例可置于此EDNS伺服器310中來運作,將網(wǎng)絡(luò)系統(tǒng)300中不同使用者群組的服務(wù)要求分散至不同的服務(wù)伺服器。根據(jù)本發(fā)明,此動態(tài)評分負載平衡機制的實施范例周期性地收集來自網(wǎng)絡(luò)系統(tǒng)300下各個服務(wù)伺服器的多重狀態(tài)信息(Multiple State Status),并通過狀態(tài)信息分析以及考量各服務(wù)伺服器對LDNS伺服器的傳遞延遲時間,給與不同服務(wù)伺服器的評分(Score)。 一旦接受到使用者端的服務(wù)請求時,便可依據(jù)此評分,有系統(tǒng)地將不同使用者群組分散至不同的服務(wù)伺服器接受服務(wù)。圖4是本揭露的動態(tài)評分負載平衡裝置的一個范例結(jié)構(gòu)示意圖,并且與本發(fā)明的某些揭露的實施范例一致。 圖4的范例結(jié)構(gòu)中,動態(tài)評分負載平衡裝置可包含一狀態(tài)收集器402、一傳遞延遲量測器404、一伺服器評分器406、以及一分數(shù)應(yīng)對器408。 —旦EDNS伺服器310收到來自一 LDNS伺服器j發(fā)出的請求時,便會通知伺服器評分器406。伺服器評分器406向多重狀態(tài)收集器402取得來自各服務(wù)伺服器的多種狀態(tài)信息402a,也向傳遞延遲量測器404取得服務(wù)伺服器與此LDNS伺服器之間傳遞延遲量測信
6息404a,來進行對不同服務(wù)伺服器的評分,此評分的結(jié)果406a并告知分數(shù)應(yīng)對器408。分 數(shù)應(yīng)對器408依此評分結(jié)果406a產(chǎn)生一 目標評分值,以選出一服務(wù)伺服器,并將選出的服 務(wù)伺服器的IP地址408a回報給此LDNS伺服器j。 動態(tài)評分負載平衡裝置可位于EDNS伺服器310上,將一網(wǎng)絡(luò)系統(tǒng)中不同使用者群 組的服務(wù)要求分散至不同的服務(wù)伺服器。 在EDNS伺服器310中,可以通過如LDNS伺服器請求接收器(LDNSRequest Receiver)來接收LDNS伺服器發(fā)出的網(wǎng)域名稱解析請求,以實時觸發(fā)伺服器評分器406來 進行評分。而EDNS伺服器310中,也可以通過如管理者(Administrator) 410來隨時調(diào)整 評分計算公式與機制。 EDNS伺服器310在等待LDNS伺服器i發(fā)出網(wǎng)域名稱解析請求310a的過程中,狀 態(tài)收集器402會周期性地接收各服務(wù)伺服器j的多種狀態(tài)信息,包括如服務(wù)伺服器j的中 央處理單元(Central Processing Unit,CPU)負載Lj、服務(wù)伺服器的頻寬流量(Bandwidth) Bj、服務(wù)伺服器的負載能力(C即acity Ability)CAj、服務(wù)伺服器的服務(wù)健康狀態(tài)(Service Live)Aj、服務(wù)伺服器的網(wǎng)絡(luò)連通性(Connectivity)C0j。 一旦接收到使用者端LDNS伺服器 的網(wǎng)域名稱解析請求時,便會根據(jù)這些狀態(tài)信息、各個服務(wù)伺服器j與使用者端LDNS伺服 器i的傳遞延遲Pij,通過評分公式為各個服務(wù)伺服器評分,再依據(jù)評分的狀況給予不同使 用者端最適當(dāng)?shù)木W(wǎng)域名稱解析結(jié)果。所以,使用者端只需要知道服務(wù)伺服器的網(wǎng)域名稱, 不須經(jīng)過任何軟硬件修改或手動設(shè)定,即可便利且快速地連結(jié)上高度負載平衡的服務(wù)伺服 器,獲得優(yōu)質(zhì)的網(wǎng)際網(wǎng)絡(luò)服務(wù)。 這些狀態(tài)信息的值可定義如下負載Lj的值在0與100之間;頻寬流量Bj的值 在0與100之間;負載能力CAj的值將其正規(guī)化(Normalized);服務(wù)健康狀態(tài)A」的值有 兩種,一種為存活(Live),另一種為當(dāng)?shù)?Dead);網(wǎng)絡(luò)連通性COj的值有兩種, 一種為聯(lián)機 (Connected),另一種為斷線(Disconnected);傳遞延遲Pij的值將其正規(guī)化,初始設(shè)定值為 1。 對各服務(wù)伺服器j的評分準則的范例如(1)剩余負載程度(即100-Lj)、服務(wù)伺 服器j的CPU可利用度(即CAj)、以及剩余頻寬流量(即100-Bj)與服務(wù)伺服器j的評分成 正比,(2)傳遞延遲Pij與服務(wù)伺服器j的評分成反比,(3)服務(wù)伺服器j的服務(wù)中止(即 服務(wù)健康狀態(tài)Aj為當(dāng)?shù)?或是服務(wù)伺服器j的網(wǎng)絡(luò)中斷(即網(wǎng)絡(luò)連通性C0j為斷線)時, 服務(wù)伺服器j的評分為零。依此評分準則,圖5是對各個服務(wù)伺服器j的一個評分公式范 例510,并且與本發(fā)明的某些揭露的實施范例一致。 舉例來說,假設(shè)目前網(wǎng)絡(luò)系統(tǒng)300中有三臺服務(wù)伺服器,其CPU負載Lj、頻寬流量 Bj、服務(wù)健康狀態(tài)Aj、網(wǎng)絡(luò)連通性C0j、以及負載能力CAj分別為服務(wù)伺服器1 = (80,60, 1, 1,100)、服務(wù)伺服器2 = (70,70,1,1,120)、服務(wù)伺服器3 = (60, 90, 1, 1, 80),如圖6的左 邊表格所示。各個服務(wù)伺服器與各使用者端LDNS伺服器的傳遞延遲Pij的初始值皆設(shè)定為 1,如圖6的右邊表格所示。 若ENDS伺服器還沒有各服務(wù)伺服器對當(dāng)前LDNS伺服器的傳遞延遲紀錄,也就是 各個服務(wù)伺服器與當(dāng)前LDNS伺服器的傳遞延遲時間的初始值皆為1。則以圖5的公式范例 獲得對此三臺服務(wù)伺服器的評分S (1) 、 S (2)、與S (3),其中其計算分別如下
S(l) = (100-80)* (100-60) *1*1*100/1 = 80000,
7
S(2) = (100-70)* (100-70) *1*1*120/1 = 108000,以及
S(3) = (100)-60)* (100-90) *1*1*80/1 = 32000。 —般而言,對一使用者端而言,其使用的LDNS伺服器與此使用者端通常會有相近 的地理關(guān)系。因此只要量測各個服務(wù)伺服器與該使用者端所使用的LDNS伺服器之間的傳 遞延遲時間,就可以大致代表各服務(wù)伺服器與該使用者端的傳遞延遲時間。而各個服務(wù)伺 服器與不同LDNS伺服器的傳遞延遲時間并非是EDNS伺服器及服務(wù)伺服器一開始就可以得 知的。因此每當(dāng)收到來自新的使用者端LDNS伺服器i的請求時,EDNS伺服器必須請求各 個服務(wù)伺服器j去量測自己與該LDNS伺服器i的傳遞延遲時間P(i, j)。
由于各個服務(wù)伺服器的位置是地理分散的,因此此一動作可能需要花費較長的響 應(yīng)時間,故此時EDNS服務(wù)伺服器可以選擇先不考慮各個服務(wù)伺服器對該使用者端LDNS伺 服器的傳遞延遲時間,也就是假設(shè)所有服務(wù)伺服器對該使用者端LDNS伺服器的傳遞延遲 時間皆相同,來計算各個服務(wù)伺服器的分數(shù),然后再從中選出最適宜的服務(wù)伺服器來服務(wù) 該使用者群組。在回報被選出的最適宜的服務(wù)伺服器IP地址時,也同時請求各服務(wù)伺服器 去量測并回報自己與該使用者端LDNS伺服器的傳遞延遲時間。 如此,當(dāng)下次再收到來自該使用者端LDNS伺服器的請求時,除了考量各服務(wù)伺服 器的多重狀態(tài)信息外,也一并考量先前所取得的各服務(wù)伺服器對該使用者端LDNS伺服器 的傳遞延遲時間,讓使用者端可以快速地連結(jié)上高度負載平衡的服務(wù)伺服器,獲得高品質(zhì) 且高穩(wěn)定度的網(wǎng)域名稱解析。當(dāng)EDNS伺服器認為先前取得的各服務(wù)伺服器對某一使用者 端LDNS伺服器的傳遞延遲時間數(shù)據(jù)需要更新時,也可以要求各服務(wù)伺服器重新量測并回 報自己對該使用者端LDNS伺服器的傳遞延遲時間。 承上述,圖7以一范例流程說明具有本揭露的動態(tài)評分負載平衡機制在EDNS伺服 器上的運作,并且與本發(fā)明的某些揭露的實施范例一致。參考圖7的范例流程,一開始時, EDNS伺服器會等待LDNS伺服器發(fā)出網(wǎng)域名稱解析請求310a,如步驟705所示。 一旦接收到 使用者端LDNS伺服器i的網(wǎng)域名稱解析請求310a時,就實時觸發(fā)伺服器評分器406,根據(jù) 收到的各個服務(wù)伺服器的多重狀態(tài)信息,進行各個服務(wù)伺服器的評分,如步驟710所示。然 后,EDNS伺服器回報被選出的最適宜的服務(wù)伺服器的IP地址給LDNS伺服器i,如步驟715 所示。LDNS伺服器i將此IP地址響應(yīng)給使用者端。如此,使用者端就可以對此IP地址發(fā) 出服務(wù)請求。 接下來,EDNS伺服器可以檢查先前取得的各個服務(wù)伺服器j與使用者端LDNS伺 服器i之間的傳遞延遲時間P(i,j)是否已過期(E鄧ired)或是初始設(shè)定值,如步驟720所 示。如果是已過期或是初始設(shè)定值,則EDNS伺服器請求各個服務(wù)伺服器j去量測自己對 LDNS伺服器i的傳遞延遲時間P(i,j),如步驟725所示。否則的話,EDNS伺服器返回步驟 705,以等待下一次LDNS伺服器發(fā)出網(wǎng)域名稱解析請求。也就是說,若存在服務(wù)伺服器對此 LDNS伺服器的傳遞延遲時間已過期或是初始設(shè)定值,則EDNS伺服器請求各個服務(wù)伺服器 去量測對此LDNS伺服器的傳遞延遲時間;否則EDNS伺服器返回步驟705。
在步驟725中,各個服務(wù)伺服器j量測的傳遞延遲時間會回報給EDNS伺服器。
當(dāng)服器評分器406來算出各個服務(wù)伺服器的評分后,如前述圖4所示,分數(shù)應(yīng)對器 408依評分結(jié)果先產(chǎn)生一 目標評分值,來選出此服務(wù)伺服器i。圖8以圖5的評分公式范例, 說明分數(shù)應(yīng)對器如何通過隨機對應(yīng)的方式來選出此服務(wù)伺服器,并且與本發(fā)明的某些揭露的實施范例一致。 圖8的范例流程中,如步驟810所示,將評分公式范例算出的各個服務(wù)伺服器的評 分S(j)作加總,即totalScore,并隨機產(chǎn)生一個介于1與totalScore之間的goalScore 值,即目標評分值。然后,根據(jù)此goalScore值,對應(yīng)出一適合的服務(wù)伺服器,如步驟820所 示。 以之前的例子來說明,目前網(wǎng)絡(luò)系統(tǒng)300中的三臺服務(wù)伺服器,其分數(shù)分別為 S(l) = 80000、 S (2) = 108000、以及S (3) = 32000,則totalScore = S (1)+S (2)+S (3)= 220000,而goalScore為1與totalScore之間的一隨機值。若此隨機值goalScore是介 于1與S(l)之間,即1《goalScore《80000,則被選出的是服務(wù)伺服器1 ;若此隨機值 goalScore是介于S(l)+1與S(l)+S(2)之間,即80001《goalScore《188000,則被選出 的是服務(wù)伺服器2 ;若此隨機值goalScore是介于S (1) +S (2) +1與S (1) +S (2) +S (3)之間,即 188001《goalScore《220000,則被選出的是服務(wù)伺服器3。所以此三臺服務(wù)伺服器中,通 過隨機對應(yīng),服務(wù)伺服器2被選出的機會最高。 假設(shè)隨機產(chǎn)生的goalScore是介于80001與188000之間,則被選出的是服務(wù)伺服 器2,而ENDS伺服器回報服務(wù)伺服器2的IP地址給當(dāng)前LDNS伺服器。由于ENDS伺服器還 沒有各服務(wù)伺服器對當(dāng)前LDNS伺服器的傳遞延遲紀錄,亦即傳遞延遲僅有初始設(shè)定值1, 則依前述步驟725,EDNS伺服器請求所有服務(wù)伺服器j去量測自己對此LDNS伺服器的傳遞 延遲時間。 若經(jīng)量測后得知此三臺服務(wù)伺服器對該LDNS伺服器的傳遞延遲時間分別為25、
50、20,并回報給EDNS伺服器。如圖9的左邊表格所示,EDNS伺服器依量測后的信息更新
此傳遞延遲的紀錄。則當(dāng)ENDS伺服器再收到此LDNS伺服器的請求時,便能增加考量此傳
遞延遲時間25、50、20,并動態(tài)調(diào)整對此三臺服務(wù)伺服器的評分S(l) 、 S(2)、與S(3),如圖9
的右邊表格所示,以平衡負載的分配。 此評分S(l) 、 S(2)、與S(3)的計算分別如下: S(l) = (100-80) * (100-60) *1*1*100/25 = 3200, S(2) = (100-70) * (100-70) *1*1*120/50 = 2160,以及 S(3) = (100-60)*(100-90)*1*1*80/20 = 1600。 則totalScore = S (1) +S (2) +S (3) = 6960,而goalScore為1與totalScore之間 的一隨機值。因此,若此隨機值goalScore是介于1與3200之間,則被選出的是服務(wù)伺服 器l ;若此隨機值goalScore是介于3201與5360之間,則被選出的是服務(wù)伺服器2 ;若此隨 機值goalScore是介于5361與6960之間,則被選出的是服務(wù)伺服器3。此評分對應(yīng)如圖9 的右圖所示。所以增加考量對此三臺服務(wù)伺服器的傳遞延遲時間的信息后,通過隨機對應(yīng), 服務(wù)伺服器1被選出的機會最高。 由上述范例中,可以發(fā)現(xiàn)當(dāng)服務(wù)伺服器的評分越高時,代表此服務(wù)伺服器的運算 能力或剩余負載較佳,或是此服務(wù)伺服器與當(dāng)前發(fā)出網(wǎng)域名稱解析請求的LDNS間的傳遞 延遲時間較短,所以此服務(wù)伺服器被選上的機率將較其它服務(wù)伺服器高。由于增加各服務(wù) 伺服器對LDNS伺服器的傳遞延遲時間的考量,當(dāng)各服務(wù)伺服器的負載皆高時,相對較低者 仍需協(xié)助提供較多的服務(wù)給使用者,以平衡負載的分配;而當(dāng)有兩服務(wù)伺服器狀態(tài)相似時, 傳遞延遲時間較短的服務(wù)伺服器將會優(yōu)先被選擇,來提供使用者快速與優(yōu)質(zhì)的服務(wù)。
綜上所述,本揭露的實施范例可提供一種位于一 EDNS伺服器上的動態(tài)評分負載 平衡機制。此負載平衡機制周期性地收集來自各個服務(wù)伺服器的狀態(tài)信息,通過有效地狀 態(tài)信息分析,以及考量各服務(wù)伺服器對LDNS伺服器的傳遞延遲時間,給與不同服務(wù)伺服器 不同的評分。 一旦接受到使用者端的服務(wù)請求時,便可依據(jù)此服務(wù)伺服器的評分,有系統(tǒng)地 將不同使用者群組分散至不同的服務(wù)伺服器接受服務(wù)。而使用者端只需要知道服務(wù)伺服器 的網(wǎng)域名稱,不須經(jīng)過任何軟硬件修改或手動設(shè)定,即可便利且快速地連結(jié)上高度負載平 衡的服務(wù)伺服器,獲得優(yōu)質(zhì)且穩(wěn)定度佳的網(wǎng)際網(wǎng)絡(luò)服務(wù)。 惟,以上所述的僅為本發(fā)明的實施范例,當(dāng)不能依此限定本發(fā)明實施的范圍。即凡 是本發(fā)明申請專利范圍所作的均等變化與修飾,皆應(yīng)仍屬本發(fā)明權(quán)利要求涵蓋的范圍。
權(quán)利要求
一種動態(tài)評分負載平衡裝置,該裝置包含一狀態(tài)收集器;一傳遞延遲量測器;一伺服器評分器;以及一分數(shù)應(yīng)對器;一旦一延伸網(wǎng)域名稱系統(tǒng)伺服器收到一本地網(wǎng)域名稱系統(tǒng)伺服器發(fā)出的請求時,便通知該伺服器評分器,該伺服器評分器向該狀態(tài)收集器取得不同的服務(wù)伺服器的多種狀態(tài)信息,也向該傳遞延遲量測器取得該不同的服務(wù)伺服器與該本地網(wǎng)域名稱系統(tǒng)伺服器之間傳遞延遲所量測的信息,以進行對該不同服務(wù)伺服器的評分,該分數(shù)應(yīng)對器依該評分的結(jié)果產(chǎn)生一目標評分值,以選出一服務(wù)伺服器并回報其IP地址給該本地網(wǎng)域名稱系統(tǒng)伺服器。
2. 如權(quán)利要求1所述的動態(tài)評分負載平衡裝置,該裝置位于該延伸網(wǎng)域名稱系統(tǒng)伺服器上,將一網(wǎng)絡(luò)系統(tǒng)中不同使用者群組的服務(wù)要求分散至該不同的服務(wù)伺服器。
3. 如權(quán)利要求2所述的動態(tài)評分負載平衡裝置,其中該狀態(tài)收集器周期性地接收來自該網(wǎng)絡(luò)系統(tǒng)中各服務(wù)伺服器的多種狀態(tài)信息。
4. 如權(quán)利要求2所述的動態(tài)評分負載平衡裝置,其中該多種狀態(tài)信息包括該網(wǎng)絡(luò)系統(tǒng)中每一服務(wù)伺服器的中央處理單元負載、頻寬流量、負載能力、服務(wù)健康狀態(tài)、以及網(wǎng)絡(luò)連通性。
5. 如權(quán)利要求1所述的動態(tài)評分負載平衡裝置,其中該不同使用者群組是以傳遞延遲時間最短的本地網(wǎng)域名稱系統(tǒng)伺服器為單位來劃分的使用者群組。
6. 如權(quán)利要求1所述的動態(tài)評分負載平衡裝置,其中與該不同的服務(wù)伺服器中每一服務(wù)伺服器的評分成正比的信息至少包括該服務(wù)伺服器的剩余負載程度、該服務(wù)伺服器的中央處理單元可利用度、以及該服務(wù)伺服器的剩余頻寬流量。
7. 如權(quán)利要求1所述的動態(tài)評分負載平衡裝置,其中與該不同的服務(wù)伺服器中每一服務(wù)伺服器的評分成反比的信息至少包括該服務(wù)伺服器與該本地網(wǎng)域名稱系統(tǒng)伺服器的傳遞延遲時間。
8. 如權(quán)利要求1所述的動態(tài)評分負載平衡裝置,其中當(dāng)一服務(wù)伺服器的服務(wù)中止或是該服務(wù)伺服器的網(wǎng)絡(luò)中斷時,該服務(wù)伺服器的評分為零。
9. 如權(quán)利要求1所述的動態(tài)評分負載平衡裝置,其中該目標評分值是一隨機值,并且介于1與該不同服務(wù)伺服器的評分總和之間。
10. 如權(quán)利要求1所述的動態(tài)評分負載平衡裝置,其中該延伸網(wǎng)域名稱系統(tǒng)伺服器通過一管理者,動態(tài)調(diào)整該伺服器評分器對該不同服務(wù)伺服器進行評分的計算公式。
11. 一種動態(tài)評分負載平衡方法,該方法包含一延伸網(wǎng)域名稱系統(tǒng)伺服器等待至少一本地網(wǎng)域名稱系統(tǒng)伺服器發(fā)出網(wǎng)域名稱解析請求;一旦接收到一本地網(wǎng)域名稱系統(tǒng)伺服器的網(wǎng)域名稱解析請求時,根據(jù)收到的各個服務(wù)伺服器的多重狀態(tài)信息與考量各個服務(wù)伺服器對該本地網(wǎng)域名稱系統(tǒng)伺服器的傳遞延遲時間,進行各個服務(wù)伺服器的評分;該延伸網(wǎng)域名稱系統(tǒng)伺服器回報一個被選出的服務(wù)伺服器的IP地址給該本地網(wǎng)域名稱系統(tǒng)伺服器;以及若存在服務(wù)伺服器對該本地網(wǎng)域名稱系統(tǒng)伺服器的傳遞延遲時間已過期或是初始設(shè)定值,則請求各個服務(wù)伺服器去量測對該本地網(wǎng)域名稱系統(tǒng)伺服器的傳遞延遲時間;否則返回該等待至少一本地網(wǎng)域名稱系統(tǒng)伺服器發(fā)出網(wǎng)域名稱解析請求的步驟。
12. 如權(quán)利要求11所述的動態(tài)評分負載平衡方法,其中對各個服務(wù)伺服器的評分是根據(jù)一評分準則來算出。
13. 如權(quán)利要求11所述的動態(tài)評分負載平衡方法,其中該被選出的服務(wù)伺服器是根據(jù)該各個服務(wù)伺服器的評分,并通過一種隨機對應(yīng)而被選出。
14. 如權(quán)利要求12所述的動態(tài)評分負載平衡方法,其中該評分準則至少包括該服務(wù)伺服器的負載能力、該服務(wù)伺服器的中央處理單元可利用度、以及網(wǎng)絡(luò)可利用度與每一該服務(wù)伺服器的評分成正比。
15. 如權(quán)利要求12所述的動態(tài)評分負載平衡方法,其中該評分準則至少包括該服務(wù)伺服器與該本地網(wǎng)域名稱系統(tǒng)伺服器的傳遞延遲時間是與該服務(wù)伺服器的評分成反比。
16. 如權(quán)利要求12所述的動態(tài)評分負載平衡方法,其中當(dāng)一服務(wù)伺服器的服務(wù)中止或是該服務(wù)伺服器的網(wǎng)絡(luò)中斷時,該服務(wù)伺服器的評分為零。
17. 如權(quán)利要求13所述的動態(tài)評分負載平衡方法,其中該隨機對應(yīng)包括加總各個服務(wù)伺服器的評分,并隨機產(chǎn)生一個介于1與評分加總之間的一目標評分值;以及根據(jù)該目標評分值,對應(yīng)出該被選出的服務(wù)伺服器。
18. 如權(quán)利要求11所述的動態(tài)評分負載平衡方法,該方法應(yīng)用于一延伸網(wǎng)域名稱系統(tǒng)伺服器上,將一網(wǎng)絡(luò)系統(tǒng)中不同使用者群組的服務(wù)要求分散至不同的服務(wù)伺服器。
19. 如權(quán)利要求18所述的動態(tài)評分負載平衡方法,其中該多種狀態(tài)信息包括該網(wǎng)絡(luò)系統(tǒng)中每一服務(wù)伺服器的中央處理單元負載、頻寬流量、負載能力、服務(wù)健康狀態(tài)、以及網(wǎng)絡(luò)連通性。
20. 如權(quán)利要求11所述的動態(tài)評分負載平衡方法,其中該不同的服務(wù)伺服器中各個服務(wù)伺服器對該本地網(wǎng)域名稱系統(tǒng)伺服器所量測的傳遞延遲信息是可動態(tài)更新的。
21. 如權(quán)利要求11所述的動態(tài)評分負載平衡方法,其中該各個服務(wù)伺服器的評分是通過一種評分計算公式來算出。
22. 如權(quán)利要求21所述的動態(tài)評分負載平衡方法,其中該延伸網(wǎng)域名稱系統(tǒng)伺服器動態(tài)調(diào)整該評分計算公式。
全文摘要
一種動態(tài)評分負載平衡裝置與方法。此裝置包含一狀態(tài)收集器、一傳遞延遲量測器、一伺服器評分器、及一分數(shù)應(yīng)對器。一旦延伸網(wǎng)域名稱系統(tǒng)伺服器收到一本地網(wǎng)域名稱系統(tǒng)伺服器發(fā)出的請求時,便通知伺服器評分器,伺服器評分器向狀態(tài)收集器取得多種狀態(tài)信息,也向傳遞延遲量測器取得不同的服務(wù)伺服器與此本地網(wǎng)域名稱系統(tǒng)伺服器之間傳遞延遲所量測的信息,以進行對不同服務(wù)伺服器的評分,分數(shù)應(yīng)對器依評分的結(jié)果產(chǎn)生一目標評分值,以對應(yīng)出一服務(wù)伺服器,并回報其IP地址給此本地網(wǎng)域名稱系統(tǒng)伺服器。
文檔編號H04L12/56GK101778037SQ20091000205
公開日2010年7月14日 申請日期2009年1月12日 優(yōu)先權(quán)日2009年1月12日
發(fā)明者楊智強, 陳健, 高靖鈞, 黃嘉淵 申請人:財團法人工業(yè)技術(shù)研究院