用于dns的負(fù)載均衡方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及通信技術(shù)領(lǐng)域,具體來說,涉及一種用于DNS的負(fù)載均衡方法和裝置。
【背景技術(shù)】
[0002] 域名系統(tǒng)(DNS)服務(wù)器主要用于將域名解析為其對(duì)應(yīng)的IP,當(dāng)一個(gè)域名擁有多個(gè) IP時(shí),DNS服務(wù)器會(huì)按照一定的策略對(duì)這些IP進(jìn)行排序,然后將排序后的IP返回給DNS客戶 端。DNS客戶端在收到這些排序的IP后,一般都會(huì)選擇排在首位的IP作為域名解析的結(jié)果。 然而標(biāo)準(zhǔn)的DNS服務(wù)器都只能以IP為單位進(jìn)行簡(jiǎn)單排序,它們都不能以節(jié)點(diǎn)為單位進(jìn)行排 序,同時(shí)它們也都不能滿足根據(jù)每個(gè)節(jié)點(diǎn)和IP的負(fù)載來動(dòng)態(tài)返回IP的需求。
[0003] 現(xiàn)有的DNS服務(wù)器都只能以IP為單位進(jìn)行簡(jiǎn)單排序,它們都不能以節(jié)點(diǎn)為單位進(jìn) 行排序,同時(shí)它們也都不能滿足根據(jù)每個(gè)節(jié)點(diǎn)和IP的負(fù)載來動(dòng)態(tài)返回IP的需求。
[0004] 針對(duì)相關(guān)技術(shù)中的上述問題,目前尚未提出有效的解決方案。
【發(fā)明內(nèi)容】
[0005] 針對(duì)相關(guān)技術(shù)中的上述問題,本發(fā)明提出一種用于DNS的負(fù)載均衡方法和裝置,能 夠根據(jù)各個(gè)節(jié)點(diǎn)和IP的負(fù)載來選擇負(fù)載最輕的節(jié)點(diǎn)上的IP返回,這樣就能實(shí)現(xiàn)整個(gè)集群系 統(tǒng)的負(fù)載均衡。
[0006] 本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的:
[0007] 根據(jù)本發(fā)明的一個(gè)方面,提供了一種用于DNS的負(fù)載均衡方法。
[0008] 該負(fù)載均衡方法包括:
[0009] 根據(jù)接收的域名獲取對(duì)應(yīng)域名的IP列表;
[0010] 在DNS的負(fù)載均衡策略為連接數(shù)策略的情況下,獲取IP列表中每個(gè)IP的負(fù)載連接 數(shù);
[0011] 根據(jù)每個(gè)IP的負(fù)載連接數(shù)確定每個(gè)IP所在的客戶端節(jié)點(diǎn)的負(fù)載總連接數(shù);
[0012] 將負(fù)載總連接數(shù)最少的客戶端節(jié)點(diǎn)選為最優(yōu)客戶端節(jié)點(diǎn),并將最優(yōu)客戶端節(jié)點(diǎn)所 對(duì)應(yīng)的負(fù)載連接數(shù)最少的IP選為最優(yōu)IP并發(fā)送。
[0013] 此外,該負(fù)載均衡方法進(jìn)一步包括:
[0014] 在將負(fù)載總連接數(shù)最少的客戶端節(jié)點(diǎn)選為最優(yōu)客戶端節(jié)點(diǎn)之前,根據(jù)負(fù)載總連接 數(shù)對(duì)客戶端節(jié)點(diǎn)進(jìn)行排序。
[0015] 另外,該負(fù)載均衡方法進(jìn)一步包括:
[0016] 在存在多個(gè)負(fù)載總連接數(shù)最少的客戶端節(jié)點(diǎn)的情況下,根據(jù)節(jié)點(diǎn)序列號(hào)對(duì)多個(gè)負(fù) 載總連接數(shù)最少的客戶端節(jié)點(diǎn)進(jìn)行排序;
[0017] 從排序的多個(gè)負(fù)載總連接數(shù)最少的客戶端節(jié)點(diǎn)中選擇節(jié)點(diǎn)序列號(hào)最小的客戶端 節(jié)點(diǎn)作為最優(yōu)客戶端節(jié)點(diǎn)。
[0018] 此外,該負(fù)載均衡方法進(jìn)一步包括:
[0019] 在最優(yōu)客戶端節(jié)點(diǎn)對(duì)應(yīng)多個(gè)負(fù)載連接數(shù)最少的IP的情況下,根據(jù)字典序?qū)Χ鄠€(gè)負(fù) 載連接數(shù)最少的IP進(jìn)行排序;
[0020] 從排序的多個(gè)負(fù)載連接數(shù)最少的IP中選擇字典序最小的IP作為最優(yōu)IP。
[0021] 根據(jù)本發(fā)明的另一方面,提供了一種用于DNS的負(fù)載均衡裝置。
[0022]該負(fù)載均衡裝置包括:
[0023] 第一獲取模塊,用于根據(jù)接收的域名獲取對(duì)應(yīng)域名的IP列表;
[0024] 第二獲取模塊,用于在DNS的負(fù)載均衡策略為連接數(shù)策略的情況下,獲取IP列表中 每個(gè)IP的負(fù)載連接數(shù);
[0025] 確定模塊,用于根據(jù)每個(gè)IP的負(fù)載連接數(shù)確定每個(gè)IP所在的客戶端節(jié)點(diǎn)的負(fù)載總 連接數(shù);
[0026] 選擇模塊,用于將負(fù)載總連接數(shù)最少的客戶端節(jié)點(diǎn)選為最優(yōu)客戶端節(jié)點(diǎn),并將最 優(yōu)客戶端節(jié)點(diǎn)所對(duì)應(yīng)的負(fù)載連接數(shù)最少的IP選為最優(yōu)IP并發(fā)送。
[0027]此外,該負(fù)載均衡裝置進(jìn)一步包括:
[0028]第一排序模塊,用于在將負(fù)載總連接數(shù)最少的客戶端節(jié)點(diǎn)選為最優(yōu)客戶端節(jié)點(diǎn)之 前,根據(jù)負(fù)載總連接數(shù)對(duì)客戶端節(jié)點(diǎn)進(jìn)行排序。
[0029]另外,該負(fù)載均衡裝置進(jìn)一步包括:
[0030] 第二排序模塊,用于在存在多個(gè)負(fù)載總連接數(shù)最少的客戶端節(jié)點(diǎn)的情況下,根據(jù) 節(jié)點(diǎn)序列號(hào)對(duì)多個(gè)負(fù)載總連接數(shù)最少的客戶端節(jié)點(diǎn)進(jìn)行排序;
[0031] 選擇模塊,進(jìn)一步用于從排序的多個(gè)負(fù)載總連接數(shù)最少的客戶端節(jié)點(diǎn)中選擇節(jié)點(diǎn) 序列號(hào)最小的客戶端節(jié)點(diǎn)作為最優(yōu)客戶端節(jié)點(diǎn)。
[0032]另外,該負(fù)載均衡裝置進(jìn)一步包括:
[0033] 第三排序模塊,用于在最優(yōu)客戶端節(jié)點(diǎn)對(duì)應(yīng)多個(gè)負(fù)載連接數(shù)最少的IP的情況下, 根據(jù)字典序?qū)Χ鄠€(gè)負(fù)載連接數(shù)最少的IP進(jìn)行排序;
[0034] 選擇模塊,進(jìn)一步用于從排序的多個(gè)負(fù)載連接數(shù)最少的IP中選擇字典序最小的IP 作為最優(yōu)IP。
[0035] 本發(fā)明通過根據(jù)各個(gè)節(jié)點(diǎn)和IP的負(fù)載來選擇負(fù)載最輕的節(jié)點(diǎn)上的IP返回,這樣就 能實(shí)現(xiàn)整個(gè)集群系統(tǒng)的負(fù)載均衡。
【附圖說明】
[0036] 為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例中所 需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施 例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲 得其他的附圖。
[0037] 圖1是根據(jù)本發(fā)明實(shí)施例的用于DNS的負(fù)載均衡方法的流程圖;
[0038] 圖2是根據(jù)本發(fā)明實(shí)施例的用于DNS的負(fù)載均衡方法的系統(tǒng)流程圖;
[0039] 圖3是根據(jù)本發(fā)明實(shí)施例的DNA總體查詢流程圖;
[0040] 圖4是根據(jù)本發(fā)明實(shí)施例的DNS連接數(shù)策略的流程圖;
[0041] 圖5是根據(jù)本發(fā)明實(shí)施例的DNS連接數(shù)策略的交互圖;
[0042] 圖6是根據(jù)本發(fā)明實(shí)施例的用于DNS的負(fù)載均衡裝置的框圖。
【具體實(shí)施方式】
[0043] 下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完 整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于 本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的 范圍。
[0044] 根據(jù)本發(fā)明的實(shí)施例,提供了一種用于DNS的負(fù)載均衡方法。
[0045] 如圖1所示,根據(jù)本發(fā)明實(shí)施例的負(fù)載均衡方法包括:
[0046] 步驟SlOl,根據(jù)接收的域名獲取對(duì)應(yīng)域名的IP列表;
[0047]步驟S103,在DNS的負(fù)載均衡策略為連接數(shù)策略的情況下,獲取IP列表中每個(gè)IP的 負(fù)載連接數(shù);
[0048]步驟S105,根據(jù)每個(gè)IP的負(fù)載連接數(shù)確定每個(gè)IP所在的客戶端節(jié)點(diǎn)的負(fù)載總連接 數(shù);
[0049] 步驟S107,將負(fù)載總連接數(shù)最少的客戶端節(jié)點(diǎn)選為最優(yōu)客戶端節(jié)點(diǎn),并將最優(yōu)客 戶端節(jié)點(diǎn)所對(duì)應(yīng)的負(fù)載連接數(shù)最少的IP選為最優(yōu)IP并發(fā)送。
[0050] 對(duì)于本發(fā)明的系統(tǒng)流程圖如圖2所示,DNS服務(wù)器負(fù)責(zé)解析用戶客戶端發(fā)送過來的 域名并按照相應(yīng)的負(fù)載均衡策略返回對(duì)應(yīng)的IP。用戶可以使用MGR節(jié)點(diǎn)上的DNS服務(wù)器,也 可以使用接口節(jié)點(diǎn)上運(yùn)行的DNS轉(zhuǎn)發(fā)服務(wù)器。用戶通過界面,可以配置靜態(tài)域名和動(dòng)態(tài)域 名,也可以配置DNS的負(fù)載均衡策略。
[0051] 而對(duì)于DNS的總體流程框架,本發(fā)明并不做修改,本發(fā)明所要做的是修改其獲取配 置并按配置進(jìn)行IP列表排序的過程,使其滿足負(fù)載均衡的需求。DNS總體查詢流程如圖3所 不。
[0052]當(dāng)DNS服務(wù)器的負(fù)載均衡策略配置為連接數(shù)策略時(shí),則每次掛載時(shí),DNS服務(wù)器都 會(huì)根據(jù)IP所在節(jié)點(diǎn)的連接負(fù)載情況返回對(duì)應(yīng)連接負(fù)載最輕的節(jié)點(diǎn)的IP。如果一個(gè)節(jié)點(diǎn)上有 多個(gè)IP,則再在這一個(gè)節(jié)點(diǎn)的所有IP里按連接數(shù)策略進(jìn)行排序。
[0053]假設(shè)目前各節(jié)點(diǎn)及IP的連接數(shù)負(fù)載情況如表1所示:
[0055] 表 1
[0056] 那么根據(jù)連接數(shù)負(fù)載均衡策略,節(jié)點(diǎn)2是連接數(shù)負(fù)載最輕的節(jié)點(diǎn),故選擇節(jié)點(diǎn)2上 的IP。由于節(jié)點(diǎn)2上有兩個(gè)IP,而在節(jié)點(diǎn)2的兩個(gè)IP中,IP地址30.0.34.129是連接數(shù)負(fù)載最 輕的IP,則用域名掛載NFS時(shí)域名對(duì)應(yīng)的解析IP地址將是30.0.34.129。
[0057]如果存在多個(gè)節(jié)點(diǎn)的連接數(shù)負(fù)載都相同的情況,那么DNS服務(wù)器將選擇節(jié)點(diǎn)號(hào)最 小的那個(gè)節(jié)點(diǎn)上的IP地址。如果在一