專利名稱:均衡負(fù)載的方法、系統(tǒng)及相應(yīng)設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)應(yīng)用領(lǐng)域,尤其涉及一種基于疊加網(wǎng)(overlay)上實(shí)現(xiàn)的均衡負(fù)載的方法、系統(tǒng)及相應(yīng)設(shè)備。
背景技術(shù):
LVS((Linux Virtual Server,Linux虛擬服務(wù)器)是目前比較常用的一種均衡負(fù)載技術(shù)。如圖1所示,在LVS技術(shù)中,客戶端,即圖1中的her或圖形監(jiān)視器(Graphic Monitor)通過 hternet 或 htranet 將 IP 包發(fā)送到負(fù)載均衡器(Ioadbalancer),在 load balancer的Linux內(nèi)核這一層基于設(shè)置的負(fù)載均衡算法,loadbalancer將IP包轉(zhuǎn)發(fā)到真實(shí)服務(wù)器(Real Server)。在Real krver上工作的應(yīng)用進(jìn)程將獲取這個IP包中的相應(yīng)信息作相應(yīng)處理,并在處理后直接將IP包返回到客戶端。這樣當(dāng)需要擴(kuò)容時,通過增加Real server機(jī)器的數(shù)量,并在load balancer上作相應(yīng)配置,來實(shí)現(xiàn)擴(kuò)容。LVS比較適用于互聯(lián)網(wǎng)領(lǐng)域,為web服務(wù)提供負(fù)載均衡。web服務(wù)是一種上下行不對稱(即上行數(shù)據(jù)量小,下行數(shù)據(jù)量大)的應(yīng)用,且上行數(shù)據(jù)必須經(jīng)過load balancer, 所以如果上行數(shù)據(jù)量較大,那么就有大量的IP包必須經(jīng)過loadbalancer,load balancer 自身的網(wǎng)絡(luò)帶寬成為了系統(tǒng)瓶頸。也正因?yàn)樯闲袛?shù)據(jù)必須經(jīng)過load balancer,一臺load balancer的處理性能以及網(wǎng)絡(luò)帶寬畢竟有限,所以一臺load balancer能夠帶動的Real krver數(shù)量也有限。因此當(dāng)Real server的數(shù)量達(dá)到這個上限后,就不能通過簡單增加 Real server的數(shù)量來進(jìn)行擴(kuò)容了。為了解決上述問題,現(xiàn)有技術(shù)引入了一些其他的機(jī)制,以便確保load balancer 的服務(wù)能力。例如在LVS中,因?yàn)樗械纳舷滦袛?shù)據(jù)皆經(jīng)過load balancer,故而使load balancer形成了單點(diǎn),因此需要增加一個設(shè)備(例如圖中的Backup (備份)端)來為load balancer提供雙機(jī)熱備功能,所以又需要類似于心跳(heartbeat)機(jī)制或者ke印alived機(jī)制這樣的應(yīng)用來實(shí)現(xiàn)雙機(jī)熱備。在實(shí)現(xiàn)上述方案的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在如下問題在實(shí)現(xiàn)雙機(jī)熱備過程中引入的機(jī)制較為復(fù)雜,并且若Real server出現(xiàn)了故障,還需要通過在 load balancer和Real server之間傳送心跳消息的機(jī)制通知load balancer,以便load balancer不會將IP包轉(zhuǎn)發(fā)到出現(xiàn)故障的real server,但也因此加重了 loadbalancer的負(fù)擔(dān)。
發(fā)明內(nèi)容
本發(fā)明的實(shí)施例提供一種均衡負(fù)載的方法、系統(tǒng)及相應(yīng)設(shè)備,使系統(tǒng)具有較高的可用性以及平滑擴(kuò)容的能力。為達(dá)到上述目的,本發(fā)明的實(shí)施例采用如下技術(shù)方案一種均衡負(fù)載的方法,包括端側(cè)從啟動節(jié)點(diǎn)中獲取至少一個交流節(jié)點(diǎn)的地址信息,其中,所述啟動節(jié)點(diǎn)和所述交流節(jié)點(diǎn)均屬于疊加網(wǎng)(overlay);當(dāng)所述端側(cè)是服務(wù)器時,所述服務(wù)器存儲所述地址信息,并向其中一個地址信息對應(yīng)的交流節(jié)點(diǎn)報告其服務(wù)器信息,接收到所述服務(wù)器信息的交流節(jié)點(diǎn)將所述服務(wù)器信息擴(kuò)散到其他交流節(jié)點(diǎn);當(dāng)所述端側(cè)是客戶端時,所述客戶端存儲所述地址信息,并從其中一個地址信息對應(yīng)的交流節(jié)點(diǎn)獲取服務(wù)器信息,以及存儲所述服務(wù)器信息。一種端設(shè)備,包括節(jié)點(diǎn)獲取單元,用于從啟動節(jié)點(diǎn)中獲取至少一個交流節(jié)點(diǎn)的地址信息,其中,所述啟動節(jié)點(diǎn)和所述交流節(jié)點(diǎn)均屬于overlay ;存儲單元,用于存儲所述地址信息;交互單元,用于向其中一個地址信息對應(yīng)的交流節(jié)點(diǎn)報告其服務(wù)器信息;和/或, 并從其中一個地址信息對應(yīng)的交流節(jié)點(diǎn)獲取服務(wù)器信息;禾口/ 或所述存儲單元,還用于存儲所述服務(wù)器信息。一種節(jié)點(diǎn)設(shè)備,其中,所述節(jié)點(diǎn)設(shè)備屬于overlay,包括啟動單元,用于接收來自端側(cè)獲取至少一個交流節(jié)點(diǎn)的請求,并將可為所述端側(cè)服務(wù)的交流節(jié)點(diǎn)的地址信息返回到所述端側(cè),其中,所述端側(cè)包括服務(wù)器和客戶端;擴(kuò)散單元,用于接收來自服務(wù)器的服務(wù)器信息,存儲所述服務(wù)器信息,以及將所述服務(wù)器信息擴(kuò)散到其他節(jié)點(diǎn)設(shè)備;提供單元,用于接收來自客戶端的服務(wù)器信息請求,并將存儲的服務(wù)器信息返回到所述客戶端。一種均衡負(fù)載的系統(tǒng),其特征在于,包括服務(wù)器,用于從節(jié)點(diǎn)設(shè)備中獲取至少一個節(jié)點(diǎn)設(shè)備的地址信息,存儲所述地址信息,并向其中一個地址信息對應(yīng)的節(jié)點(diǎn)設(shè)備報告其服務(wù)器信息;客戶端,用于從節(jié)點(diǎn)設(shè)備中獲取至少一個節(jié)點(diǎn)設(shè)備的地址信息,存儲所述地址信息,并從其中一個地址信息對應(yīng)的交流節(jié)點(diǎn)獲取服務(wù)器信息,以及存儲所述獲取的服務(wù)器 fn息;至少一個節(jié)點(diǎn)設(shè)備,用于接收來自服務(wù)器和客戶端的獲取至少一個節(jié)點(diǎn)設(shè)備的請求,并將可為所述服務(wù)器和客戶端服務(wù)的節(jié)點(diǎn)設(shè)備的地址信息返回到所述服務(wù)器和客戶端,以及接收來自服務(wù)器的服務(wù)器信息,存儲所述服務(wù)器信息,以及將所述服務(wù)器信息擴(kuò)散到其他節(jié)點(diǎn)設(shè)備,并且接收來自客戶端的服務(wù)器信息請求,再將存儲的服務(wù)器信息返回到所述客戶端;其中,所述至少一個節(jié)點(diǎn)設(shè)備屬于overlay。本發(fā)明實(shí)施例提供的方案具有如下有益效果利用overlay,以overlay中至少一個交流節(jié)點(diǎn)作為中介,客戶端可通過該至少一個交流節(jié)點(diǎn)獲取服務(wù)器信息從而獲知可用的服務(wù)器,相應(yīng)地,服務(wù)器可通過向其中一個交流節(jié)點(diǎn)報告其服務(wù)器信息,并通過該一個交流節(jié)點(diǎn)將服務(wù)器信息擴(kuò)散到其它交流節(jié)點(diǎn),從而使各交流節(jié)點(diǎn)在overlay中的功能彼此對等,因此,無單點(diǎn)形成,在擴(kuò)容過程中,對整個系統(tǒng)產(chǎn)生的影響小,可實(shí)現(xiàn)平滑擴(kuò)容,并且也無需為減輕單點(diǎn)負(fù)擔(dān),或確保單點(diǎn)的服務(wù)能力引入過多復(fù)雜的機(jī)制,降低了系統(tǒng)的復(fù)雜度,
7提高了系統(tǒng)的可用性。
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為背景技術(shù)中LVS技術(shù)的應(yīng)用示意圖;圖2為本發(fā)明實(shí)施例1服務(wù)器作為peer時,均衡負(fù)載的方法的流程示意圖;圖3為本發(fā)明實(shí)施例1周期性的更新地址信息的流程示意圖;圖4為本發(fā)明實(shí)施例1客戶端作為peer時,均衡負(fù)載的方法的流程示意圖;圖5為本發(fā)明實(shí)施例2端設(shè)備的結(jié)構(gòu)示意圖;圖6為本發(fā)明實(shí)施例3節(jié)點(diǎn)設(shè)備的結(jié)構(gòu)示意圖;圖7為本發(fā)明實(shí)施例4均衡負(fù)載的系統(tǒng)的結(jié)構(gòu)示意圖。
具體實(shí)施例方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。并且,以下各實(shí)施例均為本發(fā)明的可選方案,實(shí)施例的排列順序及實(shí)施例的編號與其優(yōu)選執(zhí)行順序無關(guān)。實(shí)施例1本實(shí)施例提供一種均衡負(fù)載的方法,該方法涉及端側(cè)(peer)和overlay。在本實(shí)施例中,在本實(shí)施例以及下述實(shí)施例中,該peer是指相對于overlay而言需要訪問overlay 的實(shí)體,包括客戶端和服務(wù)器;該overlay是指由多個節(jié)點(diǎn)組成的網(wǎng)絡(luò),且組成該網(wǎng)絡(luò)的多個節(jié)點(diǎn)彼此對等。另外,在overlay中,設(shè)peer首次訪問的節(jié)點(diǎn)為啟動節(jié)點(diǎn),對參與本實(shí)例方法的overlay中的節(jié)點(diǎn)稱為交流節(jié)點(diǎn)(交流節(jié)點(diǎn)可以同時是上述啟動節(jié)點(diǎn),也可以不是)。在本實(shí)施例的方法執(zhí)行前,可先進(jìn)行如下部署制定服務(wù)類型分組協(xié)議,客戶端和服務(wù)器均需要遵照服務(wù)類型分組協(xié)議,該協(xié)議中根據(jù)服務(wù)類型規(guī)定了組編號,所述組編號是所述服務(wù)類型在overlay中可用的交流節(jié)點(diǎn)所在的組編號,或者所述協(xié)議中根據(jù)地域?qū)?yīng)規(guī)定了可用的組編號,所述組編號是所述地域在overlay中可用的交流節(jié)點(diǎn)所在的組編號。這樣,遵照所述協(xié)議的服務(wù)器根據(jù)其可提供的服務(wù)器類型可以獲知自己可以使用哪些交流節(jié)點(diǎn),同樣,客戶端根據(jù)其需要請求的服務(wù)類型可以獲知自己可以使用些交流節(jié)點(diǎn)。相應(yīng)地,需要對overlay中的交流節(jié)點(diǎn)進(jìn)行分組,并為每組分配在overlay中的組編號。另外,在上述部署后,overlay的每個交流節(jié)點(diǎn)可以通過閑談算法,將其節(jié)點(diǎn)信息擴(kuò)散到整個overlay中,因此,每個交流節(jié)點(diǎn)上均保存有其它交流節(jié)點(diǎn)的節(jié)點(diǎn)信息,且所述節(jié)點(diǎn)信息可因交流節(jié)點(diǎn)間的交互而時時更新,以便每個交流節(jié)點(diǎn)上均保存有其它交流節(jié)點(diǎn)最新的節(jié)點(diǎn)信息,該節(jié)點(diǎn)信息可包括該交流節(jié)點(diǎn)的組編號,負(fù)載狀況,IP地址等。其中,因?yàn)殚e談算法在現(xiàn)有技術(shù)中已有應(yīng)用,所以關(guān)于該算法的具體內(nèi)容在此不贅述。下面先結(jié)合該peer是服務(wù)器時,本實(shí)施例提供的方法的具體執(zhí)行過程,圖2所示, 包括步驟101,peer從啟動節(jié)點(diǎn)中獲取至少一個交流節(jié)點(diǎn)的地址信息。上述peer具體是服務(wù)器,該服務(wù)器得知啟動節(jié)點(diǎn)的地址的方法可以是操作人員在服務(wù)器上指定出啟動節(jié)點(diǎn)的地址,也可以是啟動節(jié)點(diǎn)發(fā)消息通知服務(wù)器自身的地址,或是其他方法,在此不做限定。具體地,該步驟101可以通過如下方式實(shí)現(xiàn)服務(wù)器根據(jù)所述服務(wù)類型分組協(xié)議的規(guī)定以及其可提供的服務(wù)類型,或者其所屬地域獲取組編號,并通過節(jié)點(diǎn)請求消息攜帶所述獲取的組編號到所述啟動節(jié)點(diǎn);所述啟動節(jié)點(diǎn)根據(jù)所述服務(wù)器發(fā)來的組編號,將 overlay中與其相同組編號下的交流節(jié)點(diǎn)的地址信息通過節(jié)點(diǎn)應(yīng)答消息攜帶到所述服務(wù)
ο例如假設(shè)Overlay 有 30 個交流節(jié)點(diǎn)(nodel,node2, node3......node30),在部
署時,對交流節(jié)點(diǎn)進(jìn)行分組,假設(shè)分為10組,組編號分別為(1,2,3......10)Nodel,node2,node3 所在的組編號為 1 ;Node4, node5, node6 所在的組編號為 2 ;......Node28, node29, node30 所在的組編號為 10。假設(shè)設(shè)有四臺服務(wù)器,分別為Serverl 1,krverl2,Server23, Server24,對應(yīng)可提供的服務(wù)類型分別是typell,typel2, type23, type24,該四臺服務(wù)器遵照的服務(wù)類型分組協(xié)議中,根據(jù)服務(wù)類型規(guī)定的在overlay中可用的交流節(jié)點(diǎn)所屬的組編號如下typell——組編號 1type 12——組編號為1type23——組編號為2type24——組編號為2服務(wù)器根據(jù)自己可提供的服務(wù)類型和服務(wù)類型分組協(xié)議的規(guī)定,獲取自己的組編號。即Serverll可使用組編號為1的交流節(jié)點(diǎn);Serverl2可使用組編號為1的交流節(jié)點(diǎn);Server23可使用組編號為2的交流節(jié)點(diǎn);Server24可使用組編號為2的交流節(jié)點(diǎn);這樣,在服務(wù)器作為overlay的一個peer訪問overlay時,可使用的組編號為1 ^ Serverll, Serverl2 可以與組編號為 1 的 overlay 交流節(jié)點(diǎn)(nodel, node2, node3)進(jìn)行交流。因此,以krverll為例,krverll根據(jù)其可提供的服務(wù)類型(typell)以及所述服務(wù)類型分組協(xié)議的規(guī)定(typell——組編號1)獲取組編號(1),并通過節(jié)點(diǎn)請求消息攜帶所述獲取的組編號1到所述啟動節(jié)點(diǎn);所述啟動節(jié)點(diǎn)根據(jù)krverll發(fā)來的組編號1,將overlay中與其相同組編號下的交流節(jié)點(diǎn)(nodel,node2,node3)的地址信息通過節(jié)點(diǎn)應(yīng)答消息攜帶到krverll?;蛘?,
所述啟動節(jié)點(diǎn)根據(jù)krverll發(fā)來的組編號1,選擇overlay中與其相同組編號下的交流節(jié)點(diǎn)(n0del,n0de2,n0de3)中負(fù)載較輕的交流節(jié)點(diǎn),并將該同組且負(fù)載較輕的交流節(jié)點(diǎn)的地址信息通過節(jié)點(diǎn)應(yīng)答消息攜帶到krverll。其中,nodel,node2,node3的負(fù)載狀況,啟動節(jié)點(diǎn)可根據(jù)保存在其上的其它交流節(jié)點(diǎn)的節(jié)點(diǎn)信息獲知。步驟102,服務(wù)器存儲所述地址信息,并向其中一個地址信息對應(yīng)的交流節(jié)點(diǎn)報告其服務(wù)器信息,接收到所述服務(wù)器信息的交流節(jié)點(diǎn)將所述服務(wù)器信息擴(kuò)散到其他交流節(jié)
點(diǎn)ο該步驟102具體可通過如下方式實(shí)現(xiàn)服務(wù)器通過攜帶組編號的心跳消息周期性地向其中一個地址信息對應(yīng)的交流節(jié)點(diǎn)發(fā)送其服務(wù)器信息,因?yàn)榻邮盏降牡刂沸畔⒖赡苁嵌鄠€交流節(jié)點(diǎn)的,所以可通過隨機(jī)或輪詢的方式從地址信息中選取一個交流節(jié)點(diǎn)的地址信息;接收到所述服務(wù)器信息的交流節(jié)點(diǎn)將所述服務(wù)器信息擴(kuò)散到在overlay中相同組編號下的其它交流節(jié)點(diǎn)中;相應(yīng)地,接收到該服務(wù)器信息的所述相同組編號下的其他交流節(jié)點(diǎn)存儲所述服務(wù)器信息。其中,上述服務(wù)器信息包括服務(wù)器可提供的服務(wù)類型;服務(wù)器的IP地址和端口號;可選的,還包括服務(wù)器的負(fù)載狀況。例如jerverll在第一周期通過攜帶組編號1的心跳消息隨機(jī)向nodel發(fā)送;nodel接收到該心跳消息后,向node2和node3擴(kuò)散krverll的服務(wù)器信息。相應(yīng)地,接收到該服務(wù)器信息的node2和node3將存儲該krverll的服務(wù)器信息。krverll 在第二周期通過攜帶組編號1的心跳消息隨機(jī)向nodel發(fā)送,以此類推。另外,在本實(shí)施例中,在步驟101后,即從啟動節(jié)點(diǎn)處獲取到可用的交流節(jié)點(diǎn)的地址信息后,還可以執(zhí)行如圖3所述的步驟。步驟301,作為peer的服務(wù)器可周期性的攜帶獲取的組編號向其中一個地址信息所對應(yīng)的交流節(jié)點(diǎn)發(fā)送節(jié)點(diǎn)請求消息。例如服務(wù)器從啟動節(jié)點(diǎn)處獲取了 A、B、C三個交流節(jié)點(diǎn)的地址信息。服務(wù)器攜帶組編號1向A發(fā)送節(jié)點(diǎn)請求消息。當(dāng)然,該其中一個地址信息可通過隨機(jī)或輪詢的方式從地址信息中選取,或者若步驟101中,啟動節(jié)點(diǎn)在發(fā)送地址信息時,還將相應(yīng)的交流節(jié)點(diǎn)的負(fù)載狀況一并發(fā)送過來, 那么此時也可以選擇負(fù)載較輕的一個交流節(jié)點(diǎn)的地址信息。步驟302,接收到來自服務(wù)器節(jié)點(diǎn)請求消息的交流節(jié)點(diǎn)根據(jù)節(jié)點(diǎn)信息中的地址信息和組編號將與所述組編號相同的交流節(jié)點(diǎn)的地址信息通過節(jié)點(diǎn)應(yīng)答消息攜帶到所述服務(wù)器。例如A接收到該節(jié)點(diǎn)請求消息后,根據(jù)組編號1以及A上保存的其他交流節(jié)點(diǎn)的節(jié)點(diǎn)信息,發(fā)現(xiàn)組編號1下的交流節(jié)點(diǎn)當(dāng)前是A、B和D。A將該A、B和D的地址信息通過節(jié)點(diǎn)應(yīng)答消息發(fā)送到該服務(wù)器。步驟303,相應(yīng)地,該服務(wù)器用攜帶而來的地址信息更新保存的地址信息。例如服務(wù)器接收到該應(yīng)答消息,用A、B和D的地址信息更新原有的A、B、C的地
址f曰息。通過上述方案,可以有效的更新服務(wù)器上的可與其進(jìn)行交互的交流節(jié)點(diǎn)的地址信
10息,避免因交流節(jié)點(diǎn)故障,退出或加入導(dǎo)致的該交流節(jié)點(diǎn)不可用或利用不充分的情況,使服務(wù)器上的保存的地址信息時時有效。下面結(jié)合該peer是客戶端時,本實(shí)施例提供的方法的具體執(zhí)行過程,圖4所示,包括步驟401,peer從啟動節(jié)點(diǎn)中獲取至少一個交流節(jié)點(diǎn)的地址信息。上述peer具體是客戶端,該客戶端得知啟動節(jié)點(diǎn)的地址的方法可以是操作人員在服務(wù)器上指定出啟動節(jié)點(diǎn)的地址,也可以是啟動節(jié)點(diǎn)發(fā)消息通知客戶端自身的地址,或是其他方法,在此不做限定。具體地,該步驟401可以通過如下方式實(shí)現(xiàn)客戶端根據(jù)上述服務(wù)類型分組協(xié)議的規(guī)定以及需要請求的服務(wù)類型,或者地域獲取組編號,并通過節(jié)點(diǎn)請求消息攜帶所述獲取的組編號到所述啟動節(jié)點(diǎn);所述啟動節(jié)點(diǎn)根據(jù)客戶端發(fā)來的組編號,將overlay中與其相同組編號下的交流節(jié)點(diǎn)的地址信息通過節(jié)點(diǎn)應(yīng)答消息攜帶到客戶端,以便客戶端利用該地址信息在overlay中同組編號下的交流節(jié)點(diǎn)上獲取到服務(wù)器信息,詳細(xì)內(nèi)容請見步驟 402。如果客戶端作為peer需要獲取多種服務(wù)類型,那么該peer將會獲取到多個對應(yīng)的組編號。服務(wù)器作為peer也同樣。步驟401的實(shí)例可參考步驟101實(shí)例。僅需將步驟101實(shí)例中服務(wù)器作為客戶端看待即可。步驟402,客戶端存儲所述地址信息,并從其中一個地址信息對應(yīng)的交流節(jié)點(diǎn)獲取服務(wù)器信息,以及存儲所述服務(wù)器信息。具體地,該步驟402具體可通過如下方式實(shí)現(xiàn)客戶端攜帶自身需要請求的服務(wù)類型,以及組編號周期性地向其中一個地址信息對應(yīng)的交流節(jié)點(diǎn)發(fā)送獲取服務(wù)器信息請求消息,因?yàn)榻邮盏降牡刂沸畔⒖赡苁嵌鄠€交流節(jié)點(diǎn)的,所以可通過隨機(jī)或輪詢的方式從地址信息中選取一個交流節(jié)點(diǎn)的地址信息;接收到所述請求消息的交流節(jié)點(diǎn)根據(jù)請求的服務(wù)類型獲取服務(wù)器信息,并將獲取到的服務(wù)器信息通過獲取服務(wù)器信息應(yīng)答消息發(fā)送到客戶端。因?yàn)樵诜?wù)器信息中包括服務(wù)類型這一項(xiàng),所以交流節(jié)點(diǎn)接收到服務(wù)類型時,可根據(jù)服務(wù)類型查詢到包含該服務(wù)類型的服務(wù)器信息。例如userll攜帶需要請求的服務(wù)類型typell,以及userll所屬的組編號1在第一周期向nodel的地址發(fā)送獲取服務(wù)信息請求消息;nodel根據(jù)typell查詢到包含typell 的服務(wù)器信息,并將該服務(wù)器信息通過獲取服務(wù)器信息應(yīng)答消息發(fā)送到userll ;userll攜帶需要請求的服務(wù)類型typel2,以及userll所屬的組編號1在第二周期向node2的地址發(fā)送獲取服務(wù)信息請求消息,以此類推。在上述實(shí)例中,攜帶的組編號1,可以用于nodel在向userll發(fā)送服務(wù)器信息前, 根據(jù)組編號1進(jìn)行校驗(yàn),看該userll的組編號1是否和nodel的組編號相同,如果不相同, 則不會將服務(wù)器信息發(fā)送到userll,以便提高信息安全性。另外,在本實(shí)施例中,在步驟401后,即從啟動節(jié)點(diǎn)處獲取到可用的交流節(jié)點(diǎn)的地址信息后,客戶端還可以周期性的通過訪問其中一個地址信息對應(yīng)的交流節(jié)點(diǎn)的方式,更新其上保存的地址信息。具體執(zhí)行方式與如圖3所示的服務(wù)器的執(zhí)行步驟類似,在此不贅述。如果客戶端需要被提供多種服務(wù)類型,那么該客戶端就訪問多種服務(wù)類型,因此這個客戶端就需要先后以多種組編號訪問overlay,獲取相應(yīng)的服務(wù)器信息并保存起來,具體執(zhí)行方法可按照上述描述重復(fù)執(zhí)行,在此不贅述。在客戶端存儲所述服務(wù)器信息后,本實(shí)施例中的方法還包括當(dāng)客戶端向服務(wù)器請求獲取服務(wù)時,該客戶端根據(jù)其上存儲的服務(wù)器信息通過隨機(jī)或輪詢的方式向可為其提供服務(wù)的服務(wù)器發(fā)送所述請求,或者選擇服務(wù)器信息中指示的負(fù)載狀況較輕的服務(wù)器發(fā)送請求。這里的可為其提供服務(wù)的服務(wù)器是指客戶端請求的服務(wù)類型是其所能提供的服務(wù)器。例如Userll請求獲取typell的服務(wù)類型。根據(jù)其上存儲的服務(wù)器信息可知, Serverll和krverl2均可以提供該服務(wù)類型,且krverll的負(fù)載較輕,或者userll隨機(jī)選擇了 Serverll,因此,userll向krverll發(fā)起獲取typell的服務(wù)請求。此外,在本實(shí)施例中,因?yàn)榭蛻舳耸峭ㄟ^overlay中的交流節(jié)點(diǎn)獲取到服務(wù)器信息,且交流節(jié)點(diǎn)在功能上彼此對等,因此如果發(fā)現(xiàn)某種服務(wù)需要擴(kuò)容,直接增加相應(yīng)的服務(wù)器就可以了 ;如果發(fā)現(xiàn)overlay需要擴(kuò)容,直接增加相應(yīng)的節(jié)點(diǎn)就可以了。其他網(wǎng)元不需要改動。服務(wù)器可通過心跳消息通知overlay中的交流節(jié)點(diǎn),所以這個服務(wù)器的加入和退出, 這個交流節(jié)點(diǎn)是知道的,并且該交流節(jié)點(diǎn)可以用閑談算法通知其他overlay的交流節(jié)點(diǎn)。 客戶端也會周期性的訪問overlay的交流節(jié)點(diǎn),獲取自己需要服務(wù)的服務(wù)器信息,因此,如果有新服務(wù)器的加入或退出,客戶端也可以根據(jù)周期性的訪問結(jié)果更新自己保存的地址信息和服務(wù)器信息等。需要說明的是上述本實(shí)施例的方法在執(zhí)行時,要求對交流節(jié)點(diǎn)進(jìn)行分組,以及端側(cè)遵照服務(wù)類型分組協(xié)議,但在本發(fā)明的另一個實(shí)施例中,在無需上述進(jìn)行分組和端側(cè)遵照協(xié)議的部署過程仍舊可以實(shí)現(xiàn)本發(fā)明的均衡負(fù)載的方法,其主要不同之處在于端側(cè) (包括服務(wù)器和客戶端)在與overlay的交流節(jié)點(diǎn)進(jìn)行交互時,無需攜帶組編號,相應(yīng)地,交流節(jié)點(diǎn)在擴(kuò)散服務(wù)器信息時,無需考慮組編號,可通過閑談算法向整個overlay進(jìn)行擴(kuò)散, 交流節(jié)點(diǎn)在保存服務(wù)器信息時,也是保存所有服務(wù)器的服務(wù)器信息,該方法同樣可提高可用性并實(shí)現(xiàn)平滑擴(kuò)容。只是考慮到如果服務(wù)器信息較多,或者overlay中的交流節(jié)點(diǎn)數(shù)量較多,那么如果將服務(wù)器信息全網(wǎng)傳播,可能會造成網(wǎng)絡(luò)帶寬等資源的浪費(fèi)的情況,因此該方法較適用于overlay規(guī)模較小,或服務(wù)器信息處理量較小的場景。在本實(shí)施例提供的方法客戶端可動態(tài)的從交流節(jié)點(diǎn)獲取可用的服務(wù)器信息,服務(wù)器可動態(tài)的向交流節(jié)點(diǎn)報告有效的服務(wù)器信息,且整個實(shí)施方案不會限制在某個固定的交流節(jié)點(diǎn)上,因此不會形成單點(diǎn),對上下行數(shù)據(jù)量也沒有限制,故而可提供較高的可用性和容錯能力;并且因?yàn)閿U(kuò)容過程的實(shí)施不會對其他網(wǎng)元,例如客戶端,overlay的交流節(jié)點(diǎn)等造成影響,因此可實(shí)現(xiàn)平滑擴(kuò)容。實(shí)施例2本實(shí)施例提供一種端設(shè)備,該端設(shè)備可以作為實(shí)施例1中客戶端使用,也可以作為實(shí)施例1中的服務(wù)器。如圖5所示,包括節(jié)點(diǎn)獲取單元51,存儲單元52,交互單元53。節(jié)點(diǎn)獲取單元51,用于從啟動節(jié)點(diǎn)中獲取至少一個交流節(jié)點(diǎn)的地址信息,其中,所述啟動節(jié)點(diǎn)和所述交流節(jié)點(diǎn)均屬于疊加網(wǎng);存儲單元52,用于存儲所述地址信息;交互單元53,用于向其中一個地址信息對應(yīng)的交流節(jié)點(diǎn)報告其服務(wù)器信息,以及從其中一個地址信息對應(yīng)的交流節(jié)點(diǎn)獲取服務(wù)器信息;相應(yīng)地,所述存儲單元52,還用于存儲所述服務(wù)器 信息。在本實(shí)施例中,該設(shè)備還可包括編號獲取單元M,服務(wù)請求單元55,地址更新單
元56 。編號獲取單元Μ,用于根據(jù)服務(wù)類型分組協(xié)議的規(guī)則獲取組編號;服務(wù)請求單元陽,用于根據(jù)所述服務(wù)器信息通過隨機(jī)或輪詢的方式向其中一個服務(wù)器信息對應(yīng)的服務(wù)器發(fā)送請求服務(wù)消息;地址更新單元56,用于周期性的攜帶所述獲取的組編號向其中一個地址信息所對應(yīng)的交流節(jié)點(diǎn)發(fā)送節(jié)點(diǎn)請求消息,并在接收到返回的節(jié)點(diǎn)應(yīng)答消息中攜帶的地址信息后,用返回的所述地址信息更新存儲的地址信息。其中,節(jié)點(diǎn)獲取單元51包括節(jié)點(diǎn)獲取模塊511,用于在編號獲取單元M獲取到組編號后,通過節(jié)點(diǎn)請求消息攜帶該組編號到所述啟動節(jié)點(diǎn),并在所述啟動節(jié)點(diǎn)返回的節(jié)點(diǎn)應(yīng)答消息中獲取overlay中與其相同組編號下的交流節(jié)點(diǎn)的地址信息。交互單元53包括服務(wù)器交互模塊531,客戶端交互模塊532。服務(wù)器交互模塊531,用于通過攜帶組編號的心跳消息周期性地向其中一個地址信息對應(yīng)的交流節(jié)點(diǎn)報告其服務(wù)器信息,所述其中一個地址信息是通過隨機(jī)或輪詢的方式選取的;和/或客戶端交互模塊532,用于攜帶需要請求的服務(wù)類型,以及組編號周期性地向其中一個地址信息對應(yīng)的交流節(jié)點(diǎn)發(fā)送獲取服務(wù)器信息請求消息,并通過獲取服務(wù)器信息應(yīng)答消息獲取到交流節(jié)點(diǎn)根據(jù)請求的服務(wù)類型獲取服務(wù)器信息,所述其中一個地址信息是通過隨機(jī)或輪詢的方式選取的。本實(shí)施例提供的設(shè)備可便于以overlay中至少一個交流節(jié)點(diǎn)作為中介,通過與該至少一個交流節(jié)點(diǎn)的交互獲取服務(wù)器信息,從而使各交流節(jié)點(diǎn)在overlay中的功能彼此對等,因此,無單點(diǎn)形成,可用性高,并且在擴(kuò)容過程中,對整個系統(tǒng)產(chǎn)生的影響小,可實(shí)現(xiàn)平滑擴(kuò)容。實(shí)施例3本實(shí)施例提供一種節(jié)點(diǎn)設(shè)備,所述節(jié)點(diǎn)設(shè)備屬于overlay且該節(jié)點(diǎn)設(shè)備有組編號,而且可具體作為實(shí)施例1中的啟動節(jié)點(diǎn),或者交流節(jié)點(diǎn)使用。如圖6所示,包括啟動單元61,擴(kuò)散單元62,提供單元63。啟動單元61,用于接收來自端側(cè)獲取至少一個交流節(jié)點(diǎn)的請求,并將可為所述端側(cè)服務(wù)的交流節(jié)點(diǎn)的地址信息返回到所述端側(cè),其中,所述端側(cè)包括服務(wù)器和客戶端;擴(kuò)散單元62,用于接收來自服務(wù)器的服務(wù)器信息,存儲所述服務(wù)器信息,以及將所述服務(wù)器信息擴(kuò)散到其他節(jié)點(diǎn)設(shè)備;提供單元63,用于接收來自客戶端的服務(wù)器信息請求,并將存儲的服務(wù)器信息返回到所述客戶端。在本實(shí)施例中,該設(shè)備還包括存儲單元64.存儲單元64,用于保存有其它節(jié)點(diǎn)設(shè)備的節(jié)點(diǎn)信息,且所述節(jié)點(diǎn)信息因節(jié)點(diǎn)設(shè)備間的交互可時時更新。其中,啟動單元61包括
編號啟動模塊611,用于當(dāng)來自端側(cè)的獲取至少一個節(jié)點(diǎn)請求中攜帶所述端側(cè)的組編號時,根據(jù)所述端側(cè)發(fā)來的組編號和存儲單元64存儲的節(jié)點(diǎn)信息中的組編號,將疊加網(wǎng)中與其相同組編號下的節(jié)點(diǎn)設(shè)備的地址信息發(fā)送到端側(cè)。擴(kuò)散單元62包括編號擴(kuò)散模塊621,用于接收來自服務(wù)器的攜帶組編號和服務(wù)器信息的心跳消息, 并根據(jù)存儲單元64存儲的節(jié)點(diǎn)信息中組編號將所述服務(wù)器信息擴(kuò)散到在疊加網(wǎng)中相同組編號下的其它節(jié)點(diǎn)設(shè)備中。提供單元63包括編號提供單元631,用于接收來自客戶端的攜帶請求的服務(wù)類型,以及組編號的獲取服務(wù)器信息請求消息,根據(jù)請求的服務(wù)類型和組編號獲取對應(yīng)的服務(wù)器信息,并通過獲取服務(wù)器信息應(yīng)答消息發(fā)送到所述客戶端。本實(shí)施例提供的設(shè)備可與端側(cè)動態(tài)的進(jìn)行交互,作為客戶端和服務(wù)器的中介,提供可供其訪問的地址信息或者服務(wù)器信息,便于應(yīng)用在overlay中,且不會形成單點(diǎn),有利于實(shí)現(xiàn)平滑擴(kuò)容,不會產(chǎn)生較大的負(fù)載負(fù)擔(dān),提高了可用性。實(shí)施例4本實(shí)施例提供一種均衡負(fù)載的系統(tǒng),如圖7所示,包括服務(wù)器71,客戶端72,至少一個節(jié)點(diǎn)設(shè)備73。服務(wù)器71,用于從節(jié)點(diǎn)設(shè)備中獲取至少一個節(jié)點(diǎn)設(shè)備73的地址信息,存儲所述地址信息,并向其中一個地址信息對應(yīng)的節(jié)點(diǎn)設(shè)備73報告其服務(wù)器信息。客戶端72,用于從節(jié)點(diǎn)設(shè)備73中獲取至少一個節(jié)點(diǎn)設(shè)備的地址信息,存儲所述地址信息,并從其中一個地址信息對應(yīng)的交流節(jié)點(diǎn)獲取服務(wù)器信息,以及存儲所述獲取的服務(wù)器信息。至少一個節(jié)點(diǎn)設(shè)備73,用于接收來自服務(wù)器71和客戶端72的獲取至少一個節(jié)點(diǎn)設(shè)備的請求,并將可為所述服務(wù)器71和客戶端72服務(wù)的節(jié)點(diǎn)設(shè)備的地址信息返回到所述服務(wù)器71和客戶端72,以及接收來自服務(wù)器71的服務(wù)器信息,存儲所述服務(wù)器信息,以及將所述服務(wù)器信息擴(kuò)散到其他節(jié)點(diǎn)設(shè)備,并且接收來自客戶端72的服務(wù)器信息請求,再將存儲的服務(wù)器信息返回到所述客戶端72。其中,至少一個節(jié)點(diǎn)設(shè)備73屬于overlay。另外,服務(wù)器71和客戶端72遵照服務(wù)類型分組協(xié)議,所述協(xié)議中根據(jù)服務(wù)類型規(guī)定了組編號,所述組編號是所述服務(wù)類型在overlay中可用的交流節(jié)點(diǎn)所在的組編號,或者所述協(xié)議中根據(jù)地域?qū)?yīng)規(guī)定了可用的組編號,所述組編號是所述地域在overlay中可用的交流節(jié)點(diǎn)所在的組編號;其中,overlay中的至少一個節(jié)點(diǎn)設(shè)備已分組,并且每組分配有overlay中的組編號。本發(fā)明實(shí)施例提供的系統(tǒng)具有如下有益效果是一種利用overlay的全新方法, 以overlay中至少一個交流節(jié)點(diǎn)作為中介,客戶端可通過該至少一個交流節(jié)點(diǎn)獲取服務(wù)器信息從而獲知可用的服務(wù)器,相應(yīng)地,服務(wù)器可通過向其中一個交流節(jié)點(diǎn)報告其服務(wù)器信息,并通過該一個交流節(jié)點(diǎn)將服務(wù)器信息擴(kuò)散到其它交流節(jié)點(diǎn),從而使各交流節(jié)點(diǎn)在 overlay中的功能彼此對等,因此,無單點(diǎn)形成,在擴(kuò)容過程中,對整個系統(tǒng)產(chǎn)生的影響小,可實(shí)現(xiàn)平滑擴(kuò)容,并且也無需為減輕單點(diǎn)負(fù)擔(dān),或確保單點(diǎn)的服務(wù)能力引入過多復(fù)雜的機(jī)制,降低了系統(tǒng)的復(fù)雜度,便于使用,具有高可用性。需要說明的是如果對web瀏覽器做相應(yīng)改動,使其作為一個peer訪問overlay 來動態(tài)獲取服務(wù)器信息,則也相當(dāng)于應(yīng)用了本發(fā)明實(shí)施例提供的方案,因?yàn)椴浑x本發(fā)明的精髓,因此也應(yīng)在本專利保護(hù)之內(nèi)。通過以上的實(shí)施方式的描述,所屬領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件加必需的通用硬件平臺的方式來實(shí)現(xiàn),當(dāng)然也可以通過硬件,但很多情況下前者是更佳的實(shí)施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲在可讀取的存儲介質(zhì)中, 如計(jì)算機(jī)的軟盤,硬盤或光盤等,包括若干指令用以使得一臺設(shè)備(可以是筆記本電腦等) 執(zhí)行本發(fā)明各個實(shí)施例所述的方法。以上所述,僅為本發(fā)明的具體實(shí)施方式
,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)所述以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
權(quán)利要求
1.一種均衡負(fù)載的方法,其特征在于,包括端側(cè)從啟動節(jié)點(diǎn)中獲取至少一個交流節(jié)點(diǎn)的地址信息,其中,所述啟動節(jié)點(diǎn)和所述交流節(jié)點(diǎn)均屬于疊加網(wǎng);當(dāng)所述端側(cè)是服務(wù)器時,所述服務(wù)器存儲所述地址信息,并向其中一個地址信息對應(yīng)的交流節(jié)點(diǎn)報告其服務(wù)器信息,接收到所述服務(wù)器信息的交流節(jié)點(diǎn)將所述服務(wù)器信息擴(kuò)散到其他交流節(jié)點(diǎn);當(dāng)所述端側(cè)是客戶端時,所述客戶端存儲所述地址信息,并從其中一個地址信息對應(yīng)的交流節(jié)點(diǎn)獲取服務(wù)器信息,以及存儲所述服務(wù)器信息。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述端側(cè)從啟動節(jié)點(diǎn)中獲取至少一個交流節(jié)點(diǎn)的地址信息之前,該方法還包括所述端側(cè)遵照服務(wù)類型分組協(xié)議,所述協(xié)議中根據(jù)服務(wù)類型規(guī)定了組編號,所述組編號是所述服務(wù)類型在疊加網(wǎng)中可用的交流節(jié)點(diǎn)所在的組編號;或者所述端側(cè)遵照服務(wù)類型分組協(xié)議,所述協(xié)議中根據(jù)地域?qū)?yīng)規(guī)定了可用的組編號,所述組編號是所述地域在疊加網(wǎng)中可用的交流節(jié)點(diǎn)所在的組編號;其中,疊加網(wǎng)中的各交流節(jié)點(diǎn)已分組,并且每組分配有疊加網(wǎng)中的組編號。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,疊加網(wǎng)中的每個交流節(jié)點(diǎn)上均保存有其它交流節(jié)點(diǎn)的節(jié)點(diǎn)信息,且所述節(jié)點(diǎn)信息因交流節(jié)點(diǎn)間的交互可時時更新;在所述端側(cè)遵照服務(wù)類型分組協(xié)議之后,該方法還包括所述端側(cè)根據(jù)所述服務(wù)類型分組協(xié)議的規(guī)則獲取到組編號,并周期性的攜帶所述獲取的組編號向其中一個地址信息所對應(yīng)的交流節(jié)點(diǎn)發(fā)送節(jié)點(diǎn)請求消息;接收到所述節(jié)點(diǎn)請求消息的交流節(jié)點(diǎn)根據(jù)節(jié)點(diǎn)信息中的地址信息和組編號將與所述組編號相同的交流節(jié)點(diǎn)的地址信息通過節(jié)點(diǎn)應(yīng)答消息攜帶到所述端側(cè); 所述端側(cè)根據(jù)攜帶而來的地址信息更新保存的地址信息。
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,在所述端側(cè)遵照服務(wù)類型分組協(xié)議之后, 該方法還包括當(dāng)所述端側(cè)是服務(wù)器時,所述服務(wù)器根據(jù)所述服務(wù)類型分組協(xié)議的規(guī)定以及其可提供的服務(wù)類型獲取組編號,或者所述服務(wù)器根據(jù)所述服務(wù)類型分組協(xié)議的規(guī)定以及其所屬地域獲取組編號;所述端側(cè)從啟動節(jié)點(diǎn)中獲取至少一個交流節(jié)點(diǎn)的地址信息具體包括 所述服務(wù)器通過節(jié)點(diǎn)請求消息攜帶所述獲取的組編號到所述啟動節(jié)點(diǎn); 所述啟動節(jié)點(diǎn)根據(jù)所述服務(wù)器發(fā)來的組編號,將疊加網(wǎng)中與其相同組編號下的交流節(jié)點(diǎn)的地址信息通過節(jié)點(diǎn)應(yīng)答消息攜帶到所述服務(wù)器。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述服務(wù)器向其中一個地址信息對應(yīng)的交流節(jié)點(diǎn)報告其服務(wù)器信息,接收到所述服務(wù)器信息的交流節(jié)點(diǎn)將所述服務(wù)器信息擴(kuò)散到其他交流節(jié)點(diǎn)具體包括所述服務(wù)器通過攜帶組編號的心跳消息周期性地向其中一個地址信息對應(yīng)的交流節(jié)點(diǎn)發(fā)送其服務(wù)器信息,所述其中一個地址信息是通過隨機(jī)或輪詢的方式選取的;接收到所述服務(wù)器信息的交流節(jié)點(diǎn)將所述服務(wù)器信息擴(kuò)散到在疊加網(wǎng)中相同組編號下的其它交流節(jié)點(diǎn)中;所述相同組編號下的其他交流節(jié)點(diǎn)存儲所述服務(wù)器信息。
6.根據(jù)權(quán)利要求2所述的方法,其特征在于,在所述端側(cè)遵照服務(wù)類型分組協(xié)議之后, 該方法還包括當(dāng)所述端側(cè)是客戶端時,所述客戶端根據(jù)所述服務(wù)類型分組協(xié)議的規(guī)定以及需要請求的服務(wù)類型獲取組編號,或者所述客戶端根據(jù)所述服務(wù)類型分組協(xié)議的規(guī)定以及其所屬地域獲取組編號;所述端側(cè)從啟動節(jié)點(diǎn)中獲取交流節(jié)點(diǎn)的地址信息具體包括所述客戶端通過節(jié)點(diǎn)請求消息攜帶所述獲取的組編號到所述啟動節(jié)點(diǎn);所述啟動節(jié)點(diǎn)根據(jù)所述客戶端發(fā)來的組編號,將疊加網(wǎng)中與其相同組編號下的交流節(jié)點(diǎn)的地址信息通過節(jié)點(diǎn)應(yīng)答消息攜帶到所述客戶端。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述客戶端向其中一個地址信息對應(yīng)的交流節(jié)點(diǎn)獲取服務(wù)器信息具體包括所述客戶端攜帶需要請求的服務(wù)類型,以及組編號周期性地向其中一個地址信息對應(yīng)的交流節(jié)點(diǎn)發(fā)送獲取服務(wù)器信息請求消息,所述其中一個地址信息是通過隨機(jī)或輪詢的方式選取的;接收到所述請求消息的交流節(jié)點(diǎn)根據(jù)請求的服務(wù)類型獲取服務(wù)器信息,并將所述服務(wù)器信息通過獲取服務(wù)器信息應(yīng)答消息發(fā)送到所述客戶端。
8.根據(jù)權(quán)利要求1至7中任意一項(xiàng)所述的方法,其特征在于,在所述客戶端存儲所述服務(wù)器信息后,該方法還包括當(dāng)所述客戶端向服務(wù)器請求獲取服務(wù)時,根據(jù)所述服務(wù)器信息通過隨機(jī)或輪詢的方式向?qū)?yīng)的服務(wù)器發(fā)送所述請求;其中,所述服務(wù)器信息包括服務(wù)器可提供的服務(wù)類型;服務(wù)器的IP地址和端口號;還可以包括服務(wù)器的負(fù)載狀況。
9.一種端設(shè)備,其特征在于,包括節(jié)點(diǎn)獲取單元,用于從啟動節(jié)點(diǎn)中獲取至少一個交流節(jié)點(diǎn)的地址信息,其中,所述啟動節(jié)點(diǎn)和所述交流節(jié)點(diǎn)均屬于疊加網(wǎng);存儲單元,用于存儲所述地址信息;交互單元,用于向其中一個地址信息對應(yīng)的交流節(jié)點(diǎn)報告其服務(wù)器信息,以及從其中一個地址信息對應(yīng)的交流節(jié)點(diǎn)獲取服務(wù)器信息;所述存儲單元,還用于存儲所述服務(wù)器信息。
10.根據(jù)權(quán)利要求9所述的設(shè)備,其特征在于,該設(shè)備還包括編號獲取單元,用于根據(jù)服務(wù)類型分組協(xié)議的規(guī)則獲取組編號;所述節(jié)點(diǎn)獲取單元包括節(jié)點(diǎn)獲取模塊,用于通過節(jié)點(diǎn)請求消息攜帶編號獲取單元獲取的組編號到所述啟動節(jié)點(diǎn),并從所述啟動節(jié)點(diǎn)處獲取到通過節(jié)點(diǎn)應(yīng)答消息攜帶的疊加網(wǎng)中與其相同組編號下的交流節(jié)點(diǎn)的地址信息。
11.根據(jù)權(quán)利要求10所述的設(shè)備,其特征在于,所述交互單元包括服務(wù)器交互模塊,用于通過攜帶組編號的心跳消息周期性地向其中一個地址信息對應(yīng)的交流節(jié)點(diǎn)報告其服務(wù)器信息,所述其中一個地址信息是通過隨機(jī)或輪詢的方式選取的; 和/或客戶端交互模塊,用于攜帶需要請求的服務(wù)類型,以及組編號周期性地向其中一個地址信息對應(yīng)的交流節(jié)點(diǎn)發(fā)送獲取服務(wù)器信息請求消息,并通過獲取服務(wù)器信息應(yīng)答消息獲取到交流節(jié)點(diǎn)根據(jù)請求的服務(wù)類型獲取服務(wù)器信息,所述其中一個地址信息是通過隨機(jī)或輪詢的方式選取的。
12.根據(jù)權(quán)利要求10所述的設(shè)備,其特征在于,該設(shè)備還包括服務(wù)請求單元,用于根據(jù)所述服務(wù)器信息通過隨機(jī)或輪詢的方式向?qū)?yīng)的服務(wù)器發(fā)送請求服務(wù)消息。
13.一種節(jié)點(diǎn)設(shè)備,其特征在于,所述節(jié)點(diǎn)設(shè)備屬于疊加網(wǎng),包括啟動單元,用于接收來自端側(cè)獲取至少一個交流節(jié)點(diǎn)的請求,并將可為所述端側(cè)服務(wù)的交流節(jié)點(diǎn)的地址信息返回到所述端側(cè),其中,所述端側(cè)包括服務(wù)器和客戶端;擴(kuò)散單元,用于接收來自服務(wù)器的服務(wù)器信息,存儲所述服務(wù)器信息,以及將所述服務(wù)器信息擴(kuò)散到其他節(jié)點(diǎn)設(shè)備;提供單元,用于接收來自客戶端的服務(wù)器信息請求,并將存儲的服務(wù)器信息返回到所述客戶端。
14.根據(jù)權(quán)利要求13所述的設(shè)備,其特征在于,所述節(jié)點(diǎn)設(shè)備有組編號;該設(shè)備還包括存儲單元,用于保存有其它節(jié)點(diǎn)設(shè)備的節(jié)點(diǎn)信息,且所述節(jié)點(diǎn)信息因節(jié)點(diǎn)設(shè)備間的交互可時時更新;所述啟動單元包括編號啟動模塊,用于當(dāng)來自端側(cè)的獲取至少一個節(jié)點(diǎn)請求中攜帶所述端側(cè)的組編號時,根據(jù)所述端側(cè)發(fā)來的組編號和存儲單元存儲的節(jié)點(diǎn)信息中的組編號,將疊加網(wǎng)中與其相同組編號下的節(jié)點(diǎn)設(shè)備的地址信息發(fā)送到端側(cè)。
15.根據(jù)權(quán)利要求14所述的設(shè)備,其特征在于,所述擴(kuò)散單元包括編號擴(kuò)散模塊,用于接收來自服務(wù)器的攜帶組編號和服務(wù)器信息的心跳消息,并根據(jù)存儲單元存儲的節(jié)點(diǎn)信息中組編號將所述服務(wù)器信息擴(kuò)散到在疊加網(wǎng)中相同組編號下的其它節(jié)點(diǎn)設(shè)備中。
16.根據(jù)權(quán)利要求14所述的設(shè)備,其特征在于,所述提供單元包括編號提供單元,用于接收來自客戶端的攜帶請求的服務(wù)類型,以及組編號的獲取服務(wù)器信息請求消息,根據(jù)請求的服務(wù)類型和組編號獲取對應(yīng)的服務(wù)器信息,并通過獲取服務(wù)器信息應(yīng)答消息發(fā)送到所述客戶端。
17.一種均衡負(fù)載的系統(tǒng),其特征在于,包括服務(wù)器,用于從節(jié)點(diǎn)設(shè)備中獲取至少一個節(jié)點(diǎn)設(shè)備的地址信息,存儲所述地址信息,并向其中一個地址信息對應(yīng)的節(jié)點(diǎn)設(shè)備報告其服務(wù)器信息;客戶端,用于從節(jié)點(diǎn)設(shè)備中獲取至少一個節(jié)點(diǎn)設(shè)備的地址信息,存儲所述地址信息,并從其中一個地址信息對應(yīng)的交流節(jié)點(diǎn)獲取服務(wù)器信息,以及存儲所述獲取的服務(wù)器信息;至少一個節(jié)點(diǎn)設(shè)備,用于接收來自服務(wù)器和客戶端的獲取至少一個節(jié)點(diǎn)設(shè)備的請求, 并將可為所述服務(wù)器和客戶端服務(wù)的節(jié)點(diǎn)設(shè)備的地址信息返回到所述服務(wù)器和客戶端,以及接收來自服務(wù)器的服務(wù)器信息,存儲所述服務(wù)器信息,以及將所述服務(wù)器信息擴(kuò)散到其他節(jié)點(diǎn)設(shè)備,并且接收來自客戶端的服務(wù)器信息請求,再將存儲的服務(wù)器信息返回到所述客戶端;其中,所述至少一個節(jié)點(diǎn)設(shè)備屬于疊加網(wǎng)。
18.根據(jù)權(quán)利要求17所述的系統(tǒng),其特征在于,所述服務(wù)器和所述客戶端遵照服務(wù)類型分組協(xié)議,所述協(xié)議中根據(jù)服務(wù)類型規(guī)定了組編號,所述組編號是所述服務(wù)類型在疊加網(wǎng)中可用的交流節(jié)點(diǎn)所在的組編號,或者所述協(xié)議中根據(jù)地域?qū)?yīng)規(guī)定了可用的組編號, 所述組編號是所述地域在疊加網(wǎng)中可用的交流節(jié)點(diǎn)所在的組編號;其中,疊加網(wǎng)中的至少一個節(jié)點(diǎn)設(shè)備已分組,并且每組分配有疊加網(wǎng)中的組編號。
全文摘要
本發(fā)明的實(shí)施例公開了一種均衡負(fù)載的方法、系統(tǒng)及相應(yīng)設(shè)備,涉及計(jì)算機(jī)應(yīng)用領(lǐng)域,解決了現(xiàn)有技術(shù)中由于引入機(jī)制過多,導(dǎo)致的系統(tǒng)復(fù)雜度增加,可用性差的技術(shù)問題。本發(fā)明的方法主要包括端側(cè)從啟動節(jié)點(diǎn)中獲取至少一個交流節(jié)點(diǎn)的地址信息,其中,所述啟動節(jié)點(diǎn)和所述交流節(jié)點(diǎn)均屬于疊加網(wǎng);當(dāng)所述端側(cè)是服務(wù)器時,所述服務(wù)器存儲所述地址信息,并向其中一個地址信息對應(yīng)的交流節(jié)點(diǎn)報告其服務(wù)器信息,接收到服務(wù)器信息的交流節(jié)點(diǎn)將該服務(wù)器信息擴(kuò)散到其他交流節(jié)點(diǎn);當(dāng)所述端側(cè)是客戶端時,所述客戶端存儲所述地址信息,并從其中一個地址信息對應(yīng)的交流節(jié)點(diǎn)獲取服務(wù)器信息,以及存儲所述服務(wù)器信息。本發(fā)明實(shí)施例主要應(yīng)用在網(wǎng)絡(luò)中。
文檔編號H04L29/08GK102164116SQ20101013702
公開日2011年8月24日 申請日期2010年3月30日 優(yōu)先權(quán)日2010年3月30日
發(fā)明者姚雪峰, 李國懷 申請人:青島海信傳媒網(wǎng)絡(luò)技術(shù)有限公司