一種基于dhcp服務(wù)器集群負(fù)載分配地址的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)IP地址分配和管理技術(shù)領(lǐng)域,具體地說(shuō),是涉及一種基于DHCP服務(wù)器集群負(fù)載分配地址的方法。
【背景技術(shù)】
[0002]目前計(jì)算機(jī)動(dòng)態(tài)主機(jī)配置協(xié)議失效備援(Dynamic Host Configurat1n ProtocolFailover,簡(jiǎn)稱DHCP Failover)中,通常是將同一地址池分配給兩臺(tái)DHCP服務(wù)器,一臺(tái)為主服務(wù)器,另一臺(tái)為次服務(wù)器。該兩臺(tái)DHCP服務(wù)器分到同一地址池的不重疊的兩部分,并由這兩臺(tái)DHCP服務(wù)器對(duì)地址進(jìn)行動(dòng)態(tài)分配。主服務(wù)器和次服務(wù)器通過(guò)信息同步以便其中一臺(tái)服務(wù)器在失效的情況下,另一臺(tái)服務(wù)器可以接替失效服務(wù)器繼續(xù)對(duì)客戶端提供服務(wù)。
[0003]圖1為在工作過(guò)程中,主次兩臺(tái)DHCP服務(wù)器通過(guò)服務(wù)器租用同步信號(hào)彼此交流租用信息的過(guò)程。如圖1所示,同步信息分為:添加信號(hào),即當(dāng)服務(wù)器分發(fā)出一個(gè)新的租約時(shí)所發(fā)送的信息;更新信號(hào),即當(dāng)租約有變化(更新/擴(kuò)充)時(shí)所發(fā)送的信息;刪除信號(hào),即當(dāng)租約期滿,地址又成為可用的了,服務(wù)器發(fā)送的信號(hào)。當(dāng)兩臺(tái)服務(wù)器工作正常時(shí),主、次服務(wù)器間會(huì)有連續(xù)的信息流。在所有情況下,接收方服務(wù)器以肯定或否定的認(rèn)可信號(hào)來(lái)響應(yīng)。這些信號(hào)只有在請(qǐng)求DHCP客戶處理完畢后才發(fā)送給另一臺(tái)服務(wù)器。除了維護(hù)當(dāng)前的租用信息數(shù)據(jù)庫(kù)外,兩服務(wù)器互相留意彼此,以便得知何時(shí)取代租用的分發(fā)。這一功能由監(jiān)視兩臺(tái)服務(wù)器的通信連接來(lái)實(shí)現(xiàn)。
[0004]DHCP Failover存在以下缺陷:DHCP Failover只允許兩臺(tái)服務(wù)器共享一個(gè)地址池,不支持多臺(tái)服務(wù)器共享一個(gè)地址池,這就會(huì)造成如果兩臺(tái)服務(wù)器都失效了,那么這兩臺(tái)服務(wù)器將會(huì)終止對(duì)外提供服務(wù),從而造成了服務(wù)的不可用性。同時(shí),只有兩臺(tái)DHCP服務(wù)器對(duì)外提供服務(wù)效率相對(duì)低下,用戶數(shù)較為龐大時(shí),每臺(tái)服務(wù)器的負(fù)荷較大,從而影響地址分配的效率和性能。
【發(fā)明內(nèi)容】
[0005]為解決上述技術(shù)問(wèn)題,本發(fā)明提供了一種基于DHCP服務(wù)器集群負(fù)載分配地址的方法,該方法包括:
[0006]按照一定的比例或全部將同一個(gè)地址池分配到這多臺(tái)DHCP服務(wù)器上。
[0007]計(jì)算多臺(tái)DHCP服務(wù)器中每一臺(tái)服務(wù)器分別與剩余其他臺(tái)DHCP服務(wù)器進(jìn)行地址分配信息同步時(shí)信息傳輸?shù)臅r(shí)延,并將這些時(shí)延記錄下來(lái)。
[0008]進(jìn)一步地,計(jì)算出多臺(tái)DHCP服務(wù)器中每臺(tái)服務(wù)器到其他臺(tái)服務(wù)器地址分配信息傳輸?shù)钠骄鶗r(shí)延。
[0009]進(jìn)一步地,根據(jù)平均時(shí)延閾值或者人為指定DHCP服務(wù)器將這些DCHP服務(wù)器進(jìn)行分組,每個(gè)組中的DHCP服務(wù)器到該組中其他DHCP服務(wù)器的時(shí)延均必須不超過(guò)設(shè)定的閾值或者每個(gè)組中的DHCP服務(wù)器是被人為指定的。
[0010]進(jìn)一步地,在每個(gè)分組中,根據(jù)該組中每臺(tái)DHCP服務(wù)器到該組中其他服務(wù)器的平均時(shí)延,選出平均時(shí)延最小的DHCP服務(wù)器作為二級(jí)master服務(wù)器,這里二級(jí)服務(wù)器僅作舉例說(shuō)明,分組可嵌套,可能存在多級(jí)master服務(wù)器(以下稱該方法為master服務(wù)器選取機(jī)制)。
[0011]其中,每個(gè)分組中除了二級(jí)master服務(wù)器之外的其他DHCP服務(wù)器,均和所在分組中的二級(jí)master服務(wù)器進(jìn)行地址池分配信息的同步。
[0012]進(jìn)一步地,在所有選出的二級(jí)master DHCP服務(wù)器中,計(jì)算每臺(tái)二級(jí)master服務(wù)器到剩余master服務(wù)器的地址分配信息傳輸時(shí)延。
[0013]進(jìn)一步地,計(jì)算每臺(tái)二級(jí)master服務(wù)器到剩余master服務(wù)器的平均傳輸時(shí)延。
[0014]進(jìn)一步地,在二級(jí)master服務(wù)器中將平均時(shí)延最小的選為一級(jí)master服務(wù)器,這里一級(jí)服務(wù)器僅作舉例說(shuō)明,意在指明是下一級(jí)服務(wù)器的高一級(jí)服務(wù)器(該方法同master服務(wù)器選取機(jī)制)。
[0015]進(jìn)一步地,除選出的一級(jí)master服務(wù)器之外,所有二級(jí)master服務(wù)器均和選出的一級(jí)master服務(wù)器進(jìn)行分配信息同步。
[0016]進(jìn)一步地,如果分組中有一臺(tái)服務(wù)器不能與二級(jí)master服務(wù)器進(jìn)行信息傳輸,則啟用master服務(wù)器選取機(jī)制,可在該分組中剩余的DHCP服務(wù)器中選出平均時(shí)延最小的服務(wù)器繼續(xù)對(duì)外提供服務(wù),并與一級(jí)master服務(wù)器進(jìn)行信息傳輸同步,每固定時(shí)間間隔內(nèi)啟用一次master服務(wù)器選取機(jī)制,選取出當(dāng)前時(shí)間到其他剩余服務(wù)器平均時(shí)延最小的服務(wù)器作為二級(jí)master服務(wù)器繼續(xù)對(duì)外提供服務(wù),若被替換的二級(jí)master服務(wù)器因失效后重新恢復(fù),則與當(dāng)前的二級(jí)master服務(wù)器進(jìn)行實(shí)時(shí)數(shù)據(jù)同步,待固定時(shí)間間隔master服務(wù)器選取機(jī)制刷新后即可重新加入該分組對(duì)外提供服務(wù)。
[0017]進(jìn)一步地,如果二級(jí)master服務(wù)器中有一臺(tái)服務(wù)器不能與當(dāng)前一級(jí)master服務(wù)器進(jìn)行信息傳輸,則啟用master服務(wù)器選取機(jī)制,可在二級(jí)master服務(wù)器中剩余的DHCP服務(wù)器中選出平均時(shí)延最小的服務(wù)器繼續(xù)對(duì)外提供服務(wù),每固定時(shí)間間隔內(nèi)啟用一次master服務(wù)器選取機(jī)制,選取出當(dāng)前時(shí)間到其他剩余服務(wù)器平均時(shí)延最小的服務(wù)器作為一級(jí)master服務(wù)器繼續(xù)對(duì)外提供服務(wù),若被替換的一級(jí)master服務(wù)器因失效后重新恢復(fù),則與當(dāng)前的一級(jí)master服務(wù)器進(jìn)行實(shí)時(shí)數(shù)據(jù)同步,待固定時(shí)間間隔master服務(wù)器選取機(jī)制刷新后即可重新加入二級(jí)服務(wù)器組群對(duì)外提供服務(wù)。
[0018]與現(xiàn)有技術(shù)相比,本發(fā)明所述的一種基于DHCP服務(wù)器集群負(fù)載分配地址的方法,通過(guò)層層遞進(jìn)選取master服務(wù)器,提高了 IP地址分配效率,減少了因?yàn)榉?wù)器失效而產(chǎn)生無(wú)法提供服務(wù)的情況的發(fā)生。
【附圖說(shuō)明】
[0019]圖1為現(xiàn)有技術(shù)DHCP Failover技術(shù)兩臺(tái)DHCP服務(wù)器之間的通信同步過(guò)程示意圖;
[0020]圖2為本發(fā)明所述的一種基于DHCP服務(wù)器集群負(fù)載分配地址的方法的流程圖;
[0021]圖3為圖2舉例說(shuō)明中的各個(gè)二級(jí)master服務(wù)器與一級(jí)master服務(wù)器之間的信息通信同步過(guò)程示意圖;
[0022]圖4為圖2舉例說(shuō)明中的分組中DHCP服務(wù)器與二級(jí)master服務(wù)器之間的信息通信同步過(guò)程示意圖;
[0023]圖5舉例說(shuō)明本發(fā)明所述的方法中的有一個(gè)服務(wù)器與當(dāng)前master服務(wù)器不能通信后被替換和恢復(fù)后加入組中的過(guò)程示意圖。
【具體實(shí)施方式】
[0024]以下結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步詳細(xì)說(shuō)明,但不作為對(duì)本發(fā)明的限定。
[0025]為使本領(lǐng)域技術(shù)人員更好地理解本發(fā)明的技術(shù)方案,下面結(jié)合附圖和【具體實(shí)施方式】對(duì)本發(fā)明作進(jìn)一步詳細(xì)描述。
[0026]圖2為本發(fā)明提供的一種基于DHCP服務(wù)器集群負(fù)載分配地址方法的流程圖,該方法也能夠同步租賃信息,保證地址分配服務(wù)器可用,如圖2所示,該方法步驟包括:
[0027]步驟S201、多臺(tái)DHCP服務(wù)器分到一個(gè)地址池的一部分。
[0028]具體地,一個(gè)地址池按照一定的比例或全部分配到多臺(tái)DHCP服務(wù)器上,每臺(tái)服務(wù)器分到的地址池的部分不重疊。
[0029]步驟S202、計(jì)算出每臺(tái)DHCP服務(wù)器到剩余DHCP服務(wù)器的平均時(shí)延。
[0030]具體地,假設(shè)共有N臺(tái)DHCP服務(wù)器,計(jì)算每臺(tái)DHCP服務(wù)器分別到除自己之外的其他N-1臺(tái)DHCP服務(wù)器的時(shí)延,并且根據(jù)計(jì)算所得的N-1個(gè)時(shí)延計(jì)算出到剩余N-1臺(tái)DHCP服務(wù)器的平均時(shí)延。
[0031]步驟S203、根據(jù)平均時(shí)延閾值或人為將DHCP服務(wù)器分組。
[0032]具體地,人為設(shè)定一個(gè)時(shí)延的閾值T,若DHCP服務(wù)器到彼此的時(shí)延均不大于T,則這些DHCP服務(wù)器被分到一個(gè)組中;或者人為將指定的某些DHCP服務(wù)器分到一個(gè)組中。
[0033]步驟S204、每個(gè)分組選出平均時(shí)延最短的服務(wù)器作為二級(jí)master服務(wù)器。
[0034]具體的,在分好的每個(gè)組中,根據(jù)計(jì)算好的每臺(tái)DHCP服務(wù)器到該組剩余其他服務(wù)器的時(shí)延計(jì)算出每臺(tái)服務(wù)器到剩余服務(wù)器的平均時(shí)延,選出平均時(shí)延最短的作為二級(jí)master服務(wù)器,這里二級(jí)服務(wù)器僅作舉例說(shuō)明,分組可嵌套,可能存在多級(jí)master服務(wù)器(此方法以下稱為master服務(wù)器選取機(jī)制)。
[0035]步驟S205、計(jì)算每臺(tái)二級(jí)master服務(wù)器到剩余二級(jí)master服務(wù)器的平均傳輸時(shí)延。
[0036]具體地,計(jì)算所有選出的二級(jí)master服務(wù)器中每臺(tái)二級(jí)master服務(wù)器到剩余二級(jí)master服務(wù)器的時(shí)延,并根據(jù)計(jì)算的結(jié)果得出每臺(tái)二級(jí)master服務(wù)器到剩余二級(jí)master服務(wù)器的平均時(shí)延。
[0037]步驟S206、從二級(jí)master服務(wù)器中選出平均時(shí)延最短的服務(wù)器作為一級(jí)master服務(wù)器。
[0038]具體地,根據(jù)所得的每臺(tái)二級(jí)master服務(wù)器到剩余二級(jí)master服務(wù)器的平局時(shí)延,選出平均時(shí)延最小的作為一級(jí)master服務(wù)器,這里一級(jí)服務(wù)器僅作舉例說(shuō)明,意在指明是下一級(jí)服務(wù)器的高一級(jí)服務(wù)器(此方法同master服務(wù)器選取機(jī)制)。
[0039]步驟S207、如果分組中有一臺(tái)不能和二級(jí)master服務(wù)器通信,貝Ij啟用master服務(wù)器選取機(jī)制,重新選出二級(jí)master服務(wù)器對(duì)外提供服務(wù),待被替代master服務(wù)器恢復(fù)后再加入該組繼續(xù)工作。
[0040]如果分組中有一臺(tái)服務(wù)器不能與二級(jí)master服務(wù)器進(jìn)行信息傳輸,則啟用master服務(wù)器選取機(jī)制,可在該分組中剩余的DHCP服務(wù)器中選出平均時(shí)延最小的服務(wù)器繼續(xù)對(duì)外提供服務(wù),并與一級(jí)master服務(wù)器進(jìn)行信息傳輸同步,每固定時(shí)間間隔內(nèi)啟用一次master服務(wù)器選取機(jī)制,選取出