專利名稱:地理信息服務(wù)的分布式層次集群方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域,特別地,涉及一種地理信息服務(wù)的分布式層次集群方法和
系統(tǒng)。
背景技術(shù):
集群技術(shù)是將多臺(tái)服務(wù)器連接在一起,組成一個(gè)高度透明的大型服務(wù)器群的計(jì)算 機(jī)系統(tǒng),作為一個(gè)整體為客戶端提供服務(wù)。客戶端能共享網(wǎng)絡(luò)上的所有資源,如數(shù)據(jù)或者應(yīng) 用軟件等,同時(shí)客戶端的用戶并不關(guān)心其應(yīng)用服務(wù)運(yùn)行在哪臺(tái)服務(wù)器上,只關(guān)心其應(yīng)用服 務(wù)是否能連續(xù)工作。當(dāng)集群系統(tǒng)內(nèi)某一臺(tái)服務(wù)器出現(xiàn)故障時(shí),其備援服務(wù)器便立即接管該 故障服務(wù)器的應(yīng)用服務(wù),繼續(xù)為客戶端的用戶提供服務(wù)。從客戶端看來(lái),集群中的所有服務(wù) 器是一個(gè)系統(tǒng),就像一臺(tái)大型的計(jì)算機(jī)系統(tǒng),其上運(yùn)行著客戶端需要的應(yīng)用服務(wù)。集群中, 每一個(gè)單獨(dú)的服務(wù)器稱為集群的一個(gè)節(jié)點(diǎn)。 目前,常用的集群系統(tǒng)的體系結(jié)構(gòu)如圖1所示,主要包括負(fù)載均衡器、備份負(fù)載均 衡器和服務(wù)節(jié)點(diǎn)池。其中,負(fù)載均衡器可以對(duì)客戶端發(fā)來(lái)的訪問請(qǐng)求進(jìn)行解析,計(jì)算出最佳 服務(wù)節(jié)點(diǎn)地址,然后將該地址返回給客戶端,使客戶端自動(dòng)連接到對(duì)其請(qǐng)求來(lái)說最佳的服 務(wù)節(jié)點(diǎn);服務(wù)節(jié)點(diǎn)池由多個(gè)服務(wù)節(jié)點(diǎn)組成,服務(wù)節(jié)點(diǎn)響應(yīng)客戶端的請(qǐng)求并返回應(yīng)用服務(wù)。負(fù) 載均衡器是集群的唯一入口,客戶端通過負(fù)載均衡器訪問集群,接收集群的應(yīng)用服務(wù)。從客 戶端用戶的角度看,集群通過負(fù)載均衡器的服務(wù)體現(xiàn)為一個(gè)基于IP地址的單一系統(tǒng)映像, 整個(gè)集群共用這個(gè)虛擬地址,通過它客戶端可以把整個(gè)集群看作一個(gè)獨(dú)立的具有合法IP 地址的主機(jī)系統(tǒng),客戶端的所有訪問都發(fā)往這個(gè)虛擬IP地址。在客戶端進(jìn)行訪問時(shí),有可 能出現(xiàn)服務(wù)節(jié)點(diǎn)暫時(shí)失效的情況,特別是在結(jié)點(diǎn)提供多種服務(wù)的時(shí)候,系統(tǒng)的隨機(jī)故障或 外部環(huán)境的突變都可能造成該服務(wù)節(jié)點(diǎn)的某個(gè)服務(wù)暫時(shí)不可用,這時(shí),由負(fù)載均衡器對(duì)服 務(wù)節(jié)點(diǎn)的錯(cuò)誤進(jìn)行識(shí)別和處理,將客戶端的請(qǐng)求由這臺(tái)服務(wù)節(jié)點(diǎn)轉(zhuǎn)至其余服務(wù)節(jié)點(diǎn)。但是, 如果整個(gè)集群僅有一臺(tái)負(fù)載均衡器,那么,當(dāng)這臺(tái)負(fù)載均衡器出現(xiàn)錯(cuò)誤的時(shí)候,整個(gè)集群都 將無(wú)法對(duì)外提供服務(wù),造成集群的單點(diǎn)失效。為了避免集群的單點(diǎn)失效,集群系統(tǒng)配置了備 份負(fù)載均衡器,以提供集群的容錯(cuò)機(jī)制,能夠在負(fù)載均衡器失效的時(shí)候進(jìn)行自動(dòng)檢測(cè)并平 滑替換。備份負(fù)載均衡器實(shí)時(shí)地監(jiān)控負(fù)載均衡器的運(yùn)行狀態(tài),并根據(jù)檢測(cè)到的狀態(tài)做出響 應(yīng)報(bào)警、接管、恢復(fù)。 可以看出,上述集群中的所有服務(wù)節(jié)點(diǎn)處于同一個(gè)級(jí)別,通過更高一級(jí)的負(fù)載均 衡器實(shí)現(xiàn)整個(gè)系統(tǒng)的集群。所有服務(wù)節(jié)點(diǎn)提供相同的服務(wù),不管負(fù)載均衡器將客戶端的請(qǐng) 求發(fā)送到哪一個(gè)服務(wù)節(jié)點(diǎn),返回的結(jié)果都一樣。但是,隨著社會(huì)的發(fā)展,人們接觸的數(shù)據(jù)種 類越來(lái)越多,數(shù)據(jù)量越來(lái)越大,動(dòng)轍以海量計(jì)算,例如地理信息數(shù)據(jù), 一個(gè)城市的地理影像 大約有上千幅,每一幅的數(shù)據(jù)量在100M左右,總量約為幾百G。如果所有服務(wù)節(jié)點(diǎn)提供相同 的服務(wù),就必然要求每個(gè)節(jié)點(diǎn)存放的數(shù)據(jù)相同,對(duì)于海量的地理信息數(shù)據(jù)來(lái)說,每個(gè)服務(wù)節(jié) 點(diǎn)都存放相同的數(shù)據(jù),一方面加重了每個(gè)服務(wù)節(jié)點(diǎn)的存儲(chǔ)負(fù)擔(dān),而且極有可能現(xiàn)有的單個(gè) 節(jié)點(diǎn)無(wú)法負(fù)載如此大量的數(shù)據(jù),造成集群系統(tǒng)的可靠性降低;另一方面,也造成整個(gè)集群系統(tǒng)的效率低下。 總之,需要本領(lǐng)域技術(shù)人員迫切解決的一個(gè)技術(shù)問題就是如何能夠有效提高整 個(gè)集群系統(tǒng)的服務(wù)效率、減小服務(wù)節(jié)點(diǎn)的存儲(chǔ)負(fù)擔(dān)、增加服務(wù)節(jié)點(diǎn)的可靠性、節(jié)約成本,實(shí) 現(xiàn)高效、可靠的集群系統(tǒng)。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是提供一種分布式層次集群系統(tǒng)和集群方法,主要針 對(duì)地理信息服務(wù),能夠有效提高整個(gè)集群系統(tǒng)的服務(wù)效率、減小服務(wù)節(jié)點(diǎn)的存儲(chǔ)負(fù)擔(dān)、增加 服務(wù)節(jié)點(diǎn)的可靠性、節(jié)約成本,實(shí)現(xiàn)高效、可靠的集群系統(tǒng)。 相應(yīng)的,本發(fā)明還提供了一種對(duì)應(yīng)于上述集群系統(tǒng)的客戶端和客戶端實(shí)現(xiàn)方法。 為了解決上述問題,本發(fā)明實(shí)施例提供了一種地理信息服務(wù)的分布式層次集群系
統(tǒng),包括多個(gè)根負(fù)載均衡器、多個(gè)子負(fù)載均衡器和多個(gè)服務(wù)節(jié)點(diǎn);每個(gè)所述根負(fù)載均衡器有
至少一級(jí)均衡器子結(jié)點(diǎn),所述均衡器子結(jié)點(diǎn)包括至少一個(gè)子負(fù)載均衡器;所述均衡器子結(jié)
點(diǎn)的子負(fù)載均衡器為所屬根負(fù)載均衡器的均衡器中間子結(jié)點(diǎn)或均衡器葉結(jié)點(diǎn),當(dāng)為均衡器
中間子結(jié)點(diǎn)時(shí),該子負(fù)載均衡器有下一級(jí)均衡器子結(jié)點(diǎn);當(dāng)為均衡器葉結(jié)點(diǎn)時(shí),該子負(fù)載均
衡器有葉服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn),所述葉服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn)包括至少一個(gè)服務(wù)節(jié)點(diǎn)。 優(yōu)選的,所述根負(fù)載均衡器還有第一服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn),所述第一服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn)
包括至少一個(gè)服務(wù)節(jié)點(diǎn)。 優(yōu)選的,所述均衡器子結(jié)點(diǎn)的子負(fù)載均衡器為均衡器中間子結(jié)點(diǎn)時(shí),還有第二服 務(wù)節(jié)點(diǎn)子結(jié)點(diǎn),所述第二服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn)包括至少一個(gè)服務(wù)節(jié)點(diǎn)。 優(yōu)選的,所述第一服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn)和第二服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn)提供不同的地理信息服 務(wù)。 優(yōu)選的,所述服務(wù)節(jié)點(diǎn)包括服務(wù)節(jié)點(diǎn)信息收集模塊,用于收集服務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信 息,所述節(jié)點(diǎn)信息包括地址信息、負(fù)載信息和當(dāng)前狀態(tài)信息;服務(wù)節(jié)點(diǎn)信息報(bào)告模塊,用于 將所收集的服務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息上報(bào)給該服務(wù)節(jié)點(diǎn)上一級(jí)的子負(fù)載均衡器或根負(fù)載均衡 器。 優(yōu)選的,所述服務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息還包括地理信息數(shù)據(jù)信息。 優(yōu)選的,所述子負(fù)載均衡器包括子結(jié)點(diǎn)信息接收模塊,用于接收下一級(jí)服務(wù)節(jié)點(diǎn) 的節(jié)點(diǎn)信息,和/或下一級(jí)子負(fù)載均衡器的負(fù)載均衡器信息;子均衡器信息更新模塊,用于 依據(jù)所述子結(jié)點(diǎn)信息接收模塊接收的節(jié)點(diǎn)信息和/或負(fù)載均衡器信息更新本負(fù)載均衡器 的負(fù)載均衡器信息;子均衡器信息報(bào)告模塊,用于將所述本負(fù)載均衡器的負(fù)載均衡器信息 上報(bào)給上一級(jí)的子負(fù)載均衡器或根負(fù)載均衡器;子均衡器信息反饋模塊,用于接收客戶端 的服務(wù)請(qǐng)求,并依據(jù)所述本負(fù)載均衡器的負(fù)載均衡器信息選擇滿足所述服務(wù)請(qǐng)求的服務(wù)節(jié) 點(diǎn),并將該服務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息返回給所述客戶端。 優(yōu)選的,所述負(fù)載均衡器信息包括負(fù)載服務(wù)節(jié)點(diǎn)列表數(shù)據(jù)和可用服務(wù)節(jié)點(diǎn)列表數(shù) 據(jù)。 優(yōu)選的,所述子均衡器信息更新模塊包括子負(fù)載信息更新子模塊,用于依據(jù)下一 級(jí)服務(wù)節(jié)點(diǎn)的負(fù)載信息和/或下一級(jí)子負(fù)載均衡器的負(fù)載服務(wù)節(jié)點(diǎn)列表數(shù)據(jù)更新本子負(fù) 載均衡器的負(fù)載服務(wù)節(jié)點(diǎn)列表數(shù)據(jù);子可用信息更新子模塊,用于依據(jù)下一級(jí)服務(wù)節(jié)點(diǎn)的當(dāng)前狀態(tài)信息和/或下一級(jí)子負(fù)載均衡器的可用服務(wù)節(jié)點(diǎn)列表數(shù)據(jù)更新本子負(fù)載均衡器的可用服務(wù)節(jié)點(diǎn)列表數(shù)據(jù)。 優(yōu)選的,所述根負(fù)載均衡器包括結(jié)點(diǎn)信息接收模塊,用于接收下一級(jí)服務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息,和/或下一級(jí)子負(fù)載均衡器的負(fù)載均衡器信息;根均衡器信息更新模塊,用于依據(jù)所述結(jié)點(diǎn)信息接收模塊接收的節(jié)點(diǎn)信息和/或負(fù)載均衡器信息更新所述根負(fù)載均衡器的負(fù)載均衡器信息;根均衡器信息反饋模塊,用于接收客戶端的服務(wù)請(qǐng)求,并依據(jù)所述根負(fù)載均衡器的負(fù)載均衡器信息選擇滿足所述服務(wù)請(qǐng)求的服務(wù)節(jié)點(diǎn),并將該服務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息返回給所述客戶端。 本發(fā)明的另一實(shí)施例提供了一種地理信息服務(wù)的分布式層次集群方法,包括設(shè)置多個(gè)根負(fù)載均衡器、多個(gè)子負(fù)載均衡器和多個(gè)服務(wù)節(jié)點(diǎn);在每個(gè)所述根負(fù)載均衡器下設(shè)置至少一級(jí)均衡器子結(jié)點(diǎn),所述均衡器子結(jié)點(diǎn)包括至少一個(gè)子負(fù)載均衡器;設(shè)置所述均衡器子結(jié)點(diǎn)的子負(fù)載均衡器為所屬根負(fù)載均衡器的均衡器中間子結(jié)點(diǎn)或均衡器葉結(jié)點(diǎn),當(dāng)為均衡器中間子結(jié)點(diǎn)時(shí),在該子負(fù)載均衡器下設(shè)置下一級(jí)均衡器子結(jié)點(diǎn);當(dāng)為均衡器葉結(jié)點(diǎn)時(shí),在該子負(fù)載均衡器下設(shè)置葉服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn),所述葉服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn)包括至少一個(gè)服務(wù)節(jié)點(diǎn)。 優(yōu)選的,所述集群方法還包括設(shè)置第一服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn)為所述根負(fù)載均衡器的子結(jié)點(diǎn),所述第一服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn)包括至少一個(gè)服務(wù)節(jié)點(diǎn)。 優(yōu)選的,所述集群方法還包括當(dāng)所述均衡器子結(jié)點(diǎn)的子負(fù)載均衡器為均衡器中間子結(jié)點(diǎn)時(shí),設(shè)置第二服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn)為該子負(fù)載均衡器的子結(jié)點(diǎn),所述第二服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn)包括至少一個(gè)服務(wù)節(jié)點(diǎn)。 優(yōu)選的,所述第一服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn)和第二服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn)提供不同的地理信息服務(wù)。 相應(yīng)的,本發(fā)明的另一實(shí)施例還提供了一種地理信息服務(wù)的客戶端,包括地址設(shè)置模塊,用于設(shè)置集群系統(tǒng)的多個(gè)負(fù)載均衡器地址;負(fù)載均衡器選擇模塊,用于依據(jù)預(yù)先設(shè)定的規(guī)則從所述多個(gè)負(fù)載均衡器地址中選擇一個(gè),并連接與所選擇的負(fù)載均衡器地址相對(duì)應(yīng)的負(fù)載均衡器;請(qǐng)求發(fā)送模塊,用于向所連接的負(fù)載均衡器發(fā)送服務(wù)請(qǐng)求;信息接收模塊,用于接收所述負(fù)載均衡器反饋的滿足所述服務(wù)請(qǐng)求的可用服務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息,所述可用服務(wù)節(jié)點(diǎn)為所述集群系統(tǒng)的服務(wù)節(jié)點(diǎn),所述節(jié)點(diǎn)信息包括地址信息、負(fù)載信息和當(dāng)前狀態(tài)信息;服務(wù)連接模塊,用于依據(jù)所述可用服務(wù)節(jié)點(diǎn)的地址信息,連接所述集群系統(tǒng)的相應(yīng)的可用服務(wù)節(jié)點(diǎn),并發(fā)送業(yè)務(wù)請(qǐng)求;數(shù)據(jù)獲取模塊,用于從所連接的可用服務(wù)節(jié)點(diǎn)獲取滿足所述業(yè)務(wù)請(qǐng)求的數(shù)據(jù)。 優(yōu)選的,所述集群系統(tǒng)包括多個(gè)根負(fù)載均衡器、多個(gè)子負(fù)載均衡器和多個(gè)服務(wù)節(jié)點(diǎn);所述負(fù)載均衡器地址包括根負(fù)載均衡器地址和子負(fù)載均衡器地址。 優(yōu)選的,所述客戶端還包括負(fù)載均衡器調(diào)度模塊,用于當(dāng)所述負(fù)載均衡器選擇模塊連接的負(fù)載均衡器不可用時(shí),依據(jù)所述預(yù)先設(shè)定的規(guī)則選擇另一負(fù)載均衡器地址并連接相應(yīng)的負(fù)載均衡器。 優(yōu)選的,所述服務(wù)請(qǐng)求包括地理信息數(shù)據(jù)參數(shù)。 本發(fā)明的另一實(shí)施例還提供了一種地理信息服務(wù)的客戶端的實(shí)現(xiàn)方法,包括設(shè)置集群系統(tǒng)的多個(gè)負(fù)載均衡器地址;依據(jù)預(yù)先設(shè)定的規(guī)則從所述多個(gè)負(fù)載均衡器地址中選
7擇一個(gè),并連接與所選擇的負(fù)載均衡器地址相對(duì)應(yīng)的負(fù)載均衡器;向所連接的負(fù)載均衡器
發(fā)送服務(wù)請(qǐng)求;接收所述負(fù)載均衡器反饋的滿足所述服務(wù)請(qǐng)求的可用服務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信
息,所述可用服務(wù)節(jié)點(diǎn)為所述集群系統(tǒng)的服務(wù)節(jié)點(diǎn),所述節(jié)點(diǎn)信息包括地址信息、負(fù)載信息
和當(dāng)前狀態(tài)信息;依據(jù)所述可用服務(wù)節(jié)點(diǎn)的地址信息,連接所述集群系統(tǒng)的相應(yīng)的可用服
務(wù)節(jié)點(diǎn),并發(fā)送業(yè)務(wù)請(qǐng)求;從所連接的可用服務(wù)節(jié)點(diǎn)獲取滿足所述業(yè)務(wù)請(qǐng)求的數(shù)據(jù)。 優(yōu)選的,所述集群系統(tǒng)包括多個(gè)根負(fù)載均衡器、多個(gè)子負(fù)載均衡器和多個(gè)服務(wù)節(jié)
點(diǎn);所述負(fù)載均衡器地址包括根負(fù)載均衡器地址和子負(fù)載均衡器地址。 優(yōu)選的,在所述向所連接的負(fù)載均衡器發(fā)送服務(wù)請(qǐng)求前還包括判斷所連接的負(fù)載均衡器是否可用,當(dāng)不可用時(shí),依據(jù)所述預(yù)先設(shè)定的規(guī)則選擇另一負(fù)載均衡器地址并連接相應(yīng)的負(fù)載均衡器。 與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點(diǎn) 首先,本發(fā)明的集群系統(tǒng)包括多個(gè)根負(fù)載均衡器,每個(gè)根負(fù)載均衡器及其下屬的子負(fù)載均衡器和服務(wù)節(jié)點(diǎn)構(gòu)成一個(gè)子集群系統(tǒng),每個(gè)子集群系統(tǒng)可以為整個(gè)集群系統(tǒng)提供不同的數(shù)據(jù)服務(wù),客戶端可以通過訪問不同的子集群系統(tǒng)獲取不同的數(shù)據(jù)。對(duì)于海量數(shù)據(jù)來(lái)說,這些海量數(shù)據(jù)可以分為較小些的數(shù)據(jù)集,然后存放在不同的子集群系統(tǒng)中,與原有集群系統(tǒng)模式相比,一方面降低了集群系統(tǒng)的存儲(chǔ)負(fù)擔(dān),另一方面也減輕了集群系統(tǒng)由存儲(chǔ)負(fù)擔(dān)導(dǎo)致的可靠性差的問題。 其次,本發(fā)明的子負(fù)載均衡器及其下屬的子負(fù)載均衡器和服務(wù)節(jié)點(diǎn)可以被不同的根負(fù)載均衡器或不同的子負(fù)載均衡器同時(shí)集群,由此形成冗余集群,當(dāng)被同時(shí)集群的子負(fù)載均衡器的其中某一個(gè)或某幾個(gè)上級(jí)負(fù)載均衡器失效時(shí),該子負(fù)載均衡器及其下屬子負(fù)載均衡器和服務(wù)節(jié)點(diǎn)可以通過其它負(fù)載均衡器繼續(xù)提供數(shù)據(jù)服務(wù)。同樣,本發(fā)明的服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn)也可以同時(shí)被不同的根負(fù)載均衡器或子負(fù)載均衡器集群,當(dāng)其上級(jí)負(fù)載均衡器中的一個(gè)或幾個(gè)負(fù)載均衡器失效時(shí),只要尚有不失效的,就可以對(duì)此服務(wù)結(jié)點(diǎn)子結(jié)點(diǎn)進(jìn)行訪問。通過對(duì)子負(fù)載均衡器和服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn)的同時(shí)集群,形成冗余集群,有效地保障了整個(gè)集群系統(tǒng)的可靠性。 再次,本發(fā)明的每一個(gè)根負(fù)載均衡器下設(shè)置多級(jí)均衡器子結(jié)點(diǎn),每個(gè)均衡器子結(jié)點(diǎn)下有服務(wù)結(jié)點(diǎn)子結(jié)點(diǎn)或者下一級(jí)均衡器子結(jié)點(diǎn),不同的服務(wù)結(jié)點(diǎn)子結(jié)點(diǎn)可以存儲(chǔ)不同的數(shù)據(jù),也可以存儲(chǔ)相同的數(shù)據(jù)。存儲(chǔ)相同數(shù)據(jù)的服務(wù)結(jié)點(diǎn)子結(jié)點(diǎn)互為備份,有效提高了集群系統(tǒng)的數(shù)據(jù)可靠性。不同的服務(wù)結(jié)點(diǎn)子結(jié)點(diǎn)存儲(chǔ)不同的數(shù)據(jù),有效分擔(dān)了海量數(shù)據(jù)的存儲(chǔ)壓力,減輕了服務(wù)節(jié)點(diǎn)的存儲(chǔ)負(fù)擔(dān),提高了服務(wù)節(jié)點(diǎn)的可靠性,也為整個(gè)集群系統(tǒng)的可靠性提供了保障。 然后,海量數(shù)據(jù)的分擔(dān)存儲(chǔ),每個(gè)子集群系統(tǒng)只提供一部分?jǐn)?shù)據(jù)的數(shù)據(jù)服務(wù),與對(duì)全部數(shù)據(jù)進(jìn)行查找和訪問相比,對(duì)部分?jǐn)?shù)據(jù)進(jìn)行查找和訪問的時(shí)間明顯減少,速度明顯提高,整個(gè)集群系統(tǒng)的效率也由此得到了提高。 最后,本發(fā)明的集群系統(tǒng)利用現(xiàn)有集群,無(wú)須增加額外的設(shè)備,節(jié)約了集群系統(tǒng)的實(shí)現(xiàn)成本。
圖1是現(xiàn)有技術(shù)的一種集群系統(tǒng)的結(jié)構(gòu)關(guān)系示意 圖2是本發(fā)明的一種集群系統(tǒng)和客戶端實(shí)施例一的結(jié)構(gòu)關(guān)系示意圖; 圖3是本發(fā)明的一種集群系統(tǒng)和客戶端實(shí)施例二的結(jié)構(gòu)關(guān)系示意圖; 圖4是本發(fā)明的服務(wù)結(jié)點(diǎn)實(shí)施例的結(jié)構(gòu)框圖; 圖5是本發(fā)明的子負(fù)載均衡器實(shí)施例的結(jié)構(gòu)框圖; 圖6是本發(fā)明的根負(fù)載均衡器實(shí)施例的結(jié)構(gòu)框圖; 圖7是本發(fā)明的客戶端實(shí)施例的結(jié)構(gòu)框圖; 圖8是本發(fā)明的一種負(fù)載均衡器信息生成方法實(shí)施例的步驟流程圖; 圖9是本發(fā)明的一種地理信息服務(wù)的分布式層次集群方法實(shí)施例的步驟流程圖; 圖10是本發(fā)明的一種地理信息服務(wù)的客戶端的實(shí)現(xiàn)方法實(shí)施例的步驟流程圖; 圖11是本發(fā)明的一種地理信息服務(wù)的客戶端訪問地理信息服務(wù)的分布式層次集
群系統(tǒng)方法實(shí)施例的步驟流程圖。
具體實(shí)施例方式
為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖和具體實(shí)施方式
對(duì)本發(fā)明作進(jìn)一步詳細(xì)的說明。 參照?qǐng)D2,示出了本發(fā)明一種地理信息服務(wù)的分布式層次集群系統(tǒng)和客戶端實(shí)施例一的結(jié)構(gòu)關(guān)系示意圖。實(shí)施例一的地理信息服務(wù)的分布式層次集群系統(tǒng)包括N個(gè)根負(fù)載均衡器,其中N根據(jù)實(shí)際情況由本領(lǐng)域技術(shù)人員設(shè)置,至少為1。根負(fù)載均衡器1有第一級(jí)均衡器子結(jié)點(diǎn),該均衡器子結(jié)點(diǎn)包括兩個(gè)子負(fù)載均衡器,當(dāng)然,也可以僅包括一個(gè)子負(fù)載均衡器或者包括兩個(gè)以上子負(fù)載均衡器。其中,子負(fù)載均衡器1為根負(fù)載均衡器1均衡器中間子結(jié)點(diǎn),下有第二級(jí)均衡器子結(jié)點(diǎn),該第二級(jí)均衡器子結(jié)點(diǎn)包括一個(gè)子負(fù)載均衡器ll,本領(lǐng)域技術(shù)人員也可根據(jù)實(shí)際情況適當(dāng)設(shè)置更多個(gè)子負(fù)載均衡器,本發(fā)明無(wú)須對(duì)此作出限制。子負(fù)載均衡器11為均衡器葉結(jié)點(diǎn),下有葉服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn)Ll,葉服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn)Ll包括N個(gè)服務(wù)節(jié)點(diǎn),N至少為1。子負(fù)載均衡器2為根負(fù)載均衡器1均衡器葉結(jié)點(diǎn),下有葉服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn)L2,葉服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn)L2包括一至多個(gè)服務(wù)結(jié)點(diǎn)。葉服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn)Ll和L2可以存儲(chǔ)不同的數(shù)據(jù),提供不同的地理信息服務(wù),也可以存儲(chǔ)相同的數(shù)據(jù),互為備份。
根負(fù)載均衡器N有一級(jí)均衡器子結(jié)點(diǎn),該均衡器子結(jié)點(diǎn)包括兩個(gè)子負(fù)載均衡器Nl和N2,子負(fù)載均衡器Nl和N2均為根負(fù)載均衡器N的均衡器葉結(jié)點(diǎn),子負(fù)載均衡器Nl下有葉服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn)NL1,葉服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn)NL1包括至少一個(gè)服務(wù)節(jié)點(diǎn),子負(fù)載均衡器N2下有包括至少一個(gè)服務(wù)節(jié)點(diǎn)的葉服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn)NL2。葉服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn)NL1和NL2可以存儲(chǔ)不同的數(shù)據(jù),提供不同的地理信息服務(wù),也可以存儲(chǔ)相同的數(shù)據(jù),互為備份。
需要說明的是,實(shí)際中,每個(gè)根負(fù)載均衡器下可設(shè)一至任意多級(jí)均衡器子結(jié)點(diǎn),可由本領(lǐng)域技術(shù)人員根據(jù)情況依照前述設(shè)置方法類似設(shè)置,本發(fā)明無(wú)須對(duì)此作出限制。另外,每一個(gè)子負(fù)載均衡器可以同時(shí)為其它根負(fù)載均衡器的下一級(jí)子結(jié)點(diǎn),如子負(fù)載均衡器2可以同時(shí)為根負(fù)載均衡器N的下一級(jí)均衡器子結(jié)點(diǎn)(圖中未示出);或者,每一個(gè)子負(fù)載均衡器可以同時(shí)為其它子負(fù)載均衡器的下一級(jí)子結(jié)點(diǎn),如子負(fù)載均衡器11可以同時(shí)為子負(fù)載均衡器2的下一級(jí)子結(jié)點(diǎn),如圖2中虛線所示,或者,依照此原理,子負(fù)載均衡器11也可以同時(shí)為根負(fù)載均衡器N的子負(fù)載均衡器N1的下一級(jí)子結(jié)點(diǎn)(圖中未示出),等等。同樣,服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn)也可以同時(shí)為其它根負(fù)載均衡器或子負(fù)載均衡器的下一級(jí)子結(jié)點(diǎn),如葉服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn)L2可以同時(shí)為子負(fù)載均衡器1的下一級(jí)葉服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn),葉服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn)NL1同時(shí)為子負(fù)載均衡器N2的下一級(jí)葉服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn),葉服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn)NL2同時(shí)為子負(fù)載均衡器N1的下一級(jí)葉服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn),如圖2中虛線所示,或者,葉服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn)L2也可以同時(shí)為根負(fù)載均衡器N的下一級(jí)葉服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn)或者為子負(fù)載均衡器NL1的下一級(jí)葉服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn)(圖中未出出)等等。本領(lǐng)域技術(shù)人員可以通過類似設(shè)置實(shí)現(xiàn)集群冗余,從而提高整個(gè)集群系統(tǒng)的可靠性。 地理信息服務(wù)的客戶端通過網(wǎng)絡(luò)與集群系統(tǒng)連接,通過預(yù)先設(shè)置的負(fù)載均衡器地址訪問相應(yīng)的負(fù)載均衡器。所述負(fù)載均衡器地址可以為根負(fù)載均衡器地址,也可以為子負(fù)載均衡器的地址。當(dāng)客戶端需要集群系統(tǒng)提供服務(wù)時(shí),從預(yù)先設(shè)置的負(fù)載均衡器地址中選出一個(gè),并連接與該地址相對(duì)應(yīng)的根負(fù)載均衡器或子負(fù)載均衡器,進(jìn)而由根負(fù)載均衡器或子負(fù)載均衡器提供滿足服務(wù)請(qǐng)求的服務(wù)節(jié)點(diǎn),并與該服務(wù)節(jié)點(diǎn)建立連接,獲取所需數(shù)據(jù)。
參照?qǐng)D3,示出了本發(fā)明一種地理信息服務(wù)的分布式層次集群系統(tǒng)和客戶端實(shí)施例二的結(jié)構(gòu)關(guān)系示意圖。與圖2所示集群系統(tǒng)不同的是,本實(shí)施例二的集群系統(tǒng)在圖2所示集群系統(tǒng)的基礎(chǔ)上還包括第一服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn)和第二服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn)。第一服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn)與根負(fù)載均衡器1直接連接,為根負(fù)載均衡器1的子結(jié)點(diǎn),包括至少一個(gè)服務(wù)節(jié)點(diǎn)。第二服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn)與子負(fù)載均衡器1直接連接,為子負(fù)載均衡器1的子結(jié)點(diǎn),包括至少一個(gè)服務(wù)節(jié)點(diǎn)。第一服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn)與第二服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn)可以提供相同的地理信息服務(wù),以互為備份,也可以提供不同的地理信息服務(wù),減輕服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn)的存儲(chǔ)負(fù)擔(dān)。
需要說明的是,本說明書圖2和圖3所示地理信息服務(wù)的分布式層次集群系統(tǒng)中以根負(fù)載均衡器1為根的子集群系統(tǒng),及根負(fù)載均衡器N為根的子集群系統(tǒng)為例對(duì)本發(fā)明的集群系統(tǒng)作以說明,但本領(lǐng)域技術(shù)人員應(yīng)當(dāng)知悉,整個(gè)集群系統(tǒng)中的每一個(gè)根負(fù)載均衡器及其下屬子負(fù)載均衡器和服務(wù)節(jié)點(diǎn)均可以此為例根據(jù)實(shí)際情況分別適當(dāng)設(shè)置,本發(fā)明無(wú)須為此作出限制。 參照?qǐng)D4,示出了本發(fā)明的服務(wù)結(jié)點(diǎn)實(shí)施例的結(jié)構(gòu)框圖,具體可以包括
服務(wù)節(jié)點(diǎn)信息收集模塊401,用于收集服務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息;
其中,所述節(jié)點(diǎn)信息包括地址信息、負(fù)載信息和當(dāng)前狀態(tài)信息。
優(yōu)選的,所述節(jié)點(diǎn)信息還包括地理信息數(shù)據(jù)信息。 服務(wù)節(jié)點(diǎn)信息報(bào)告模塊402,用于將所收集的服務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息上報(bào)給該服務(wù)節(jié)點(diǎn)上一級(jí)的子負(fù)載均衡器或根負(fù)載均衡器。 服務(wù)節(jié)點(diǎn)信息收集模塊401收集本服務(wù)節(jié)點(diǎn)的地址信息、負(fù)載信息、當(dāng)前狀態(tài)信息及地理信息數(shù)據(jù),服務(wù)節(jié)點(diǎn)信息報(bào)告模塊402將收集到的這些節(jié)點(diǎn)信息上報(bào)給該服務(wù)節(jié)點(diǎn)上一級(jí)的子負(fù)載均衡器(如葉服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn)L1的服務(wù)節(jié)點(diǎn)收集自身的節(jié)點(diǎn)信息并上報(bào)給其上級(jí)的子負(fù)載均衡器ll),或上報(bào)給該服務(wù)節(jié)點(diǎn)的上一級(jí)的根負(fù)載均衡器(如第一服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn)的服務(wù)節(jié)點(diǎn)收集自身的節(jié)點(diǎn)信息并上報(bào)給其上級(jí)的根負(fù)載均衡器1)。
參照?qǐng)D5示出了本發(fā)明的子負(fù)載均衡器實(shí)施例的結(jié)構(gòu)框圖,具體可以包括
子結(jié)點(diǎn)信息接收模塊501,用于接收下一級(jí)服務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息,和/或下一級(jí)子負(fù)載均衡器的負(fù)載均衡器信息; 子均衡器信息更新模塊502,用于依據(jù)所述子結(jié)點(diǎn)信息接收模塊501接收的節(jié)點(diǎn)信息和/或負(fù)載均衡器信息更新本負(fù)載均衡器的負(fù)載均衡器信息;
優(yōu)選的,所述負(fù)載均衡器信息包括負(fù)載服務(wù)節(jié)點(diǎn)列表數(shù)據(jù)和可用服務(wù)節(jié)點(diǎn)列表數(shù)據(jù)。 子均衡器信息報(bào)告模塊503,用于將所述本負(fù)載均衡器的負(fù)載均衡器信息上報(bào)給上一級(jí)的子負(fù)載均衡器或根負(fù)載均衡器; 子均衡器信息反饋模塊504,用于接收客戶端的服務(wù)請(qǐng)求,并依據(jù)所述本負(fù)載均衡器的負(fù)載均衡器信息選擇滿足所述服務(wù)請(qǐng)求的服務(wù)節(jié)點(diǎn),并將該服務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息返回給所述客戶端。 優(yōu)選的,所述子均衡器信息更新模塊502包括 子負(fù)載信息更新子模塊5021,用于依據(jù)下一級(jí)服務(wù)節(jié)點(diǎn)的負(fù)載信息和/或下一級(jí)
子負(fù)載均衡器的負(fù)載服務(wù)節(jié)點(diǎn)列表數(shù)據(jù)更新本子負(fù)載均衡器的負(fù)載服務(wù)節(jié)點(diǎn)列表數(shù)據(jù);
子可用信息更新子模塊5022,用于依據(jù)下一級(jí)服務(wù)節(jié)點(diǎn)的當(dāng)前狀態(tài)信息和/或下
一級(jí)子負(fù)載均衡器的可用服務(wù)節(jié)點(diǎn)列表數(shù)據(jù)更新本子負(fù)載均衡器的可用服務(wù)節(jié)點(diǎn)列表數(shù)據(jù)。 子結(jié)點(diǎn)信息接收模塊501接收下一級(jí)子結(jié)點(diǎn)的信息,如子負(fù)載均衡器2接收葉服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn)L2中的服務(wù)節(jié)點(diǎn)上報(bào)的節(jié)點(diǎn)信息;或者如子負(fù)載均衡器1接收下一級(jí)子負(fù)載均衡器11的負(fù)載均衡器信息和下一級(jí)第二服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn)的服務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息;還有可能子負(fù)載均衡器沒有直接的下一級(jí)服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn),因此只接收其下一級(jí)子負(fù)載均衡器的負(fù)載均衡器信息。子均衡器信息更新模塊502依據(jù)子結(jié)點(diǎn)信息接收模塊501接收的節(jié)點(diǎn)信息和/或負(fù)載均衡器信息更新本負(fù)載均衡器的負(fù)載均衡器信息,具體地,子均衡器信息更新模塊502的子負(fù)載信息更新子模塊5021依據(jù)下一級(jí)服務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息中的負(fù)載信息和/或下一級(jí)子負(fù)載均衡器的負(fù)載服務(wù)節(jié)點(diǎn)列表數(shù)據(jù)更新本負(fù)載均衡器的負(fù)載服務(wù)節(jié)點(diǎn)列表數(shù)據(jù);子可用信息更新子模塊5022依據(jù)下一級(jí)服務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息中的當(dāng)前狀態(tài)信息和/或下一級(jí)子負(fù)載均衡器的可用服務(wù)節(jié)點(diǎn)列表數(shù)據(jù)更新本負(fù)載均衡器的可用服務(wù)節(jié)點(diǎn)列表數(shù)據(jù)。子均衡器信息報(bào)告模塊503將所述本負(fù)載均衡器的負(fù)載均衡器信息上報(bào)給上一級(jí)的子負(fù)載均衡器或根負(fù)載均衡器,包括本負(fù)載均衡器的地址信息、負(fù)載服務(wù)節(jié)點(diǎn)列表數(shù)據(jù)和可用服務(wù)節(jié)點(diǎn)列表數(shù)據(jù)。子均衡器信息反饋模塊504在接收客戶端的服務(wù)請(qǐng)求后,依據(jù)所述本負(fù)載均衡器的負(fù)載均衡器信息選擇出滿足所述服務(wù)請(qǐng)求的服務(wù)節(jié)點(diǎn),將該服務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息返回給所述客戶端,由客戶端與該服務(wù)節(jié)點(diǎn)建立連接,獲取地理信息服務(wù)數(shù)據(jù)。 參照?qǐng)D6,示出了本發(fā)明根負(fù)載均衡器實(shí)施例的結(jié)構(gòu)框圖,具體可以包括 結(jié)點(diǎn)信息接收模塊601,用于接收下一級(jí)服務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息,和/或下一級(jí)子負(fù)
載均衡器的負(fù)載均衡器信息; 根均衡器信息更新模塊602,用于依據(jù)所述結(jié)點(diǎn)信息接收模塊601接收的節(jié)點(diǎn)信息和/或負(fù)載均衡器信息更新所述根負(fù)載均衡器的負(fù)載均衡器信息; 根均衡器信息反饋模塊603,用于接收客戶端的服務(wù)請(qǐng)求,并依據(jù)所述根負(fù)載均衡器的負(fù)載均衡器信息選擇滿足所述服務(wù)請(qǐng)求的服務(wù)節(jié)點(diǎn),并將該服務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息返回給所述客戶端。 以圖3所示集群系統(tǒng)的根負(fù)載均衡器1為例,根負(fù)載均衡器1的結(jié)點(diǎn)信息接收模塊601接收子負(fù)載均衡器1和子負(fù)載均衡器2上報(bào)的負(fù)載均衡器信息,以及第一服務(wù)節(jié)點(diǎn)
11子結(jié)點(diǎn)中的服務(wù)結(jié)節(jié)上報(bào)的節(jié)點(diǎn)信息。根均衡器信息更新模塊602依據(jù)結(jié)點(diǎn)信息接收模塊601接收的節(jié)點(diǎn)信息和子負(fù)載均衡器1和子負(fù)載均衡器2的負(fù)載均衡器信息更新根負(fù)載均衡器1的負(fù)載均衡器信息,具體地,依據(jù)服務(wù)節(jié)點(diǎn)的負(fù)載信息及子負(fù)載均衡器1和子負(fù)載均衡器2的負(fù)載服務(wù)節(jié)點(diǎn)列表數(shù)據(jù)更新根負(fù)載均衡器1的負(fù)載服務(wù)節(jié)點(diǎn)列表數(shù)據(jù);依據(jù)服務(wù)節(jié)點(diǎn)的當(dāng)前狀態(tài)信息及子負(fù)載均衡器1和子負(fù)載均衡器2的可用服務(wù)節(jié)點(diǎn)列表數(shù)據(jù)更新根負(fù)載均衡器l的可用服務(wù)節(jié)點(diǎn)列表數(shù)據(jù)。根均衡器信息反饋模塊603在接收客戶端的地理信息服務(wù)請(qǐng)求后,依據(jù)根負(fù)載均衡器1的負(fù)載均衡器信息選擇滿足所述服務(wù)請(qǐng)求的服務(wù)節(jié)點(diǎn),將該服務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息返回給客戶端,以便客戶端與該服務(wù)節(jié)點(diǎn)建立連接,完成數(shù)據(jù)訪問。 參照?qǐng)D7,示出了本發(fā)明的一種地理信息服務(wù)的客戶端實(shí)施例的結(jié)構(gòu)框圖,本實(shí)施
例的客戶端與前述地理信息服務(wù)的分布式層次集群系統(tǒng)相對(duì)應(yīng),通過網(wǎng)絡(luò)連接本發(fā)明的地
理信息服務(wù)的分布式層次集群系統(tǒng),進(jìn)行數(shù)據(jù)交換和訪問,具體可以包括 地址設(shè)置模塊701,用于設(shè)置集群系統(tǒng)的多個(gè)負(fù)載均衡器地址; 其中,所述負(fù)載均衡器地址包括根負(fù)載均衡器地址和子負(fù)載均衡器地址。 負(fù)載均衡器選擇模塊702,用于依據(jù)預(yù)先設(shè)定的規(guī)則從所述多個(gè)負(fù)載均衡器地址
中選擇一個(gè),并連接與所選擇的負(fù)載均衡器地址相對(duì)應(yīng)的負(fù)載均衡器; 請(qǐng)求發(fā)送模塊703,用于向所連接的負(fù)載均衡器發(fā)送服務(wù)請(qǐng)求; 優(yōu)選的,所述服務(wù)請(qǐng)求包括地理信息數(shù)據(jù)參數(shù)。 信息接收模塊704,用于接收所述負(fù)載均衡器反饋的滿足所述服務(wù)請(qǐng)求的可用服務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息; 所述可用服務(wù)節(jié)點(diǎn)為所述集群系統(tǒng)的服務(wù)節(jié)點(diǎn),所述節(jié)點(diǎn)信息包括地址信息、負(fù)載信息和當(dāng)前狀態(tài)信息; 服務(wù)連接模塊705,用于依據(jù)所述可用服務(wù)節(jié)點(diǎn)的地址信息,連接所述集群系統(tǒng)的相應(yīng)的可用服務(wù)節(jié)點(diǎn),并發(fā)送業(yè)務(wù)請(qǐng)求; 數(shù)據(jù)獲取模塊706,用于從所連接的可用服務(wù)節(jié)點(diǎn)獲取滿足所述業(yè)務(wù)請(qǐng)求的數(shù)據(jù)。
優(yōu)選的,本實(shí)施例的客戶端還包括 負(fù)載均衡器調(diào)度模塊707,用于當(dāng)所述負(fù)載均衡器選擇模塊702連接的負(fù)載均衡器不可用時(shí),依據(jù)所述預(yù)先設(shè)定的規(guī)則選擇另一負(fù)載均衡器地址并連接相應(yīng)的負(fù)載均衡器。 地理信息服務(wù)的客戶端通過地址設(shè)置模塊701設(shè)置地理信息服務(wù)的分布式層次集群系統(tǒng)的多個(gè)負(fù)載均衡器地址,這些負(fù)載均衡器地址可以包括根負(fù)載均衡器地址和子負(fù)載均衡器地址;負(fù)載均衡器選擇模塊702根據(jù)預(yù)先設(shè)定的規(guī)則如隨機(jī)選擇規(guī)則從所述多個(gè)負(fù)載均衡器地址中選擇一個(gè)負(fù)載均衡器地址,預(yù)先設(shè)定的規(guī)則可以由本領(lǐng)域人員根據(jù)實(shí)際情況合理設(shè)置(如順序選擇等),本發(fā)明無(wú)須對(duì)此作出限制;客戶端與選擇出的地址相對(duì)應(yīng)的負(fù)載均衡器連接,并通過請(qǐng)求發(fā)送模塊703向所連接的負(fù)載均衡器發(fā)送服務(wù)請(qǐng)求,該服務(wù)請(qǐng)求中包含相應(yīng)的請(qǐng)求參數(shù)如地理信息數(shù)據(jù)參數(shù);所連接的負(fù)載均衡器接收到包括請(qǐng)求參數(shù)的服務(wù)請(qǐng)求后,從自身的負(fù)載服務(wù)列表數(shù)據(jù)和可用服務(wù)節(jié)點(diǎn)列表數(shù)據(jù)中挑選出滿足服務(wù)請(qǐng)求的可用服務(wù)節(jié)點(diǎn),并將包含該可用服務(wù)節(jié)點(diǎn)的地址信息、負(fù)載信息和當(dāng)前狀態(tài)信息的節(jié)點(diǎn)信息發(fā)送給客戶端;客戶端的信息接收模塊704接收所述節(jié)點(diǎn)信息,服務(wù)連接模塊705根據(jù)其中的地址信息連接相應(yīng)的可用服務(wù)節(jié)點(diǎn),并發(fā)送業(yè)務(wù)請(qǐng)求;可用服務(wù)節(jié)點(diǎn)收
到客戶端發(fā)來(lái)的業(yè)務(wù)請(qǐng)求,根據(jù)請(qǐng)求內(nèi)容提供服務(wù)數(shù)據(jù)給客戶端;客戶端的數(shù)據(jù)獲取模塊
706從所連接的可用服務(wù)節(jié)點(diǎn)獲取滿足其業(yè)務(wù)請(qǐng)求的數(shù)據(jù)。優(yōu)選的,當(dāng)所述負(fù)載均衡器選擇
模塊702連接的負(fù)載均衡器不可用時(shí),負(fù)載均衡器調(diào)度模塊707依據(jù)預(yù)先設(shè)定的規(guī)則如隨
機(jī)選擇規(guī)則選擇另一負(fù)載均衡器地址并連接相應(yīng)的負(fù)載均衡器進(jìn)行相關(guān)操作。 隨著3S技術(shù)的發(fā)展,地理信息數(shù)據(jù)越來(lái)越廣泛地被人們了解和使用。地理信息數(shù)
據(jù)往往數(shù)據(jù)量巨大,動(dòng)輒以幾百G計(jì)算,給數(shù)據(jù)存取和訪問造成了很大負(fù)擔(dān)。采用本發(fā)明
的地理信息服務(wù)的分布式層次集群系統(tǒng),將海量的地理信息數(shù)據(jù)分散存儲(chǔ)在不同的服務(wù)節(jié)
點(diǎn),在減輕了系統(tǒng)存儲(chǔ)負(fù)擔(dān)的同時(shí),也加快了數(shù)據(jù)的存取和訪問速度,提高了整個(gè)系統(tǒng)的工
作效率。 參照?qǐng)D8,示出了本發(fā)明的一種負(fù)載均衡器信息生成方法實(shí)施例的步驟流程圖,本實(shí)施例的集群系統(tǒng)采用圖3所示地理信息服務(wù)的分布式層次集群系統(tǒng)結(jié)構(gòu),具體可以包括以下步驟 步驟801 :葉服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn)Ll的服務(wù)節(jié)點(diǎn)收集各自的節(jié)點(diǎn)信息,并發(fā)送給子負(fù)載均衡器11 ; 服務(wù)節(jié)點(diǎn)可以有一至多個(gè),每個(gè)服務(wù)節(jié)點(diǎn)收集各自的節(jié)點(diǎn)信息,所述節(jié)點(diǎn)信息包括該服務(wù)節(jié)點(diǎn)的地址信息、負(fù)載信息、當(dāng)前狀態(tài)信息,以及地理信息數(shù)據(jù)。服務(wù)節(jié)點(diǎn)將節(jié)點(diǎn)信息發(fā)送給指定的負(fù)載均衡器,通常為其上一級(jí)的負(fù)載均衡器,本實(shí)施例中為子負(fù)載均衡器ll。此外,也可以同時(shí)指定與子負(fù)載均衡器ll同一級(jí)別的其它負(fù)載均衡器,本領(lǐng)域技術(shù)人員可以根據(jù)實(shí)際的集群系統(tǒng)設(shè)置情況靈活適用。 步驟802 :子負(fù)載均衡器11接收葉服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn)Ll的節(jié)點(diǎn)信息,并依據(jù)所述節(jié)點(diǎn)信息更新本負(fù)載均衡器的負(fù)載均衡器信息; 所述負(fù)載均衡器信息包括負(fù)載服務(wù)節(jié)點(diǎn)列表數(shù)據(jù)和可用服務(wù)節(jié)點(diǎn)列表數(shù)據(jù),負(fù)載服務(wù)節(jié)點(diǎn)列表數(shù)據(jù)除包括服務(wù)節(jié)點(diǎn)的負(fù)載信息外,還可以包括服務(wù)節(jié)點(diǎn)的地址信息和地理信息數(shù)據(jù),可用服務(wù)節(jié)點(diǎn)列表數(shù)據(jù)可以包括服務(wù)節(jié)點(diǎn)的當(dāng)前狀態(tài)信息。負(fù)載服務(wù)節(jié)點(diǎn)列表數(shù)據(jù)可以根據(jù)負(fù)載值大小由小到大順序排列,以便子負(fù)載均衡器11查找最小負(fù)載服務(wù)節(jié)點(diǎn);可用服務(wù)節(jié)點(diǎn)列表數(shù)據(jù)可以根據(jù)服務(wù)節(jié)點(diǎn)的空閑或忙的當(dāng)前狀態(tài)分類排列,便于子負(fù)載均衡器11分類查找。子負(fù)載均衡器11根據(jù)接收的葉服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn)Ll的服務(wù)結(jié)點(diǎn)的負(fù)載信息動(dòng)態(tài)更新其負(fù)載服務(wù)節(jié)點(diǎn)列表數(shù)據(jù),根據(jù)葉服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn)Ll的服務(wù)結(jié)點(diǎn)的當(dāng)前狀態(tài)信息動(dòng)態(tài)更新其可用服務(wù)節(jié)點(diǎn)列表數(shù)據(jù)。
步驟803 :子負(fù)載均衡器11將更新后的負(fù)載均衡器信息發(fā)送給子負(fù)載均衡器1 ;
子負(fù)載均衡器11將其更新后的負(fù)載均衡器信息發(fā)送給指定的負(fù)載均衡器,通常為其上一級(jí)的負(fù)載均衡器,本實(shí)施例中為子負(fù)載均衡器l,當(dāng)然也可以同時(shí)指定與其上一級(jí)的負(fù)載均衡器同級(jí)別的其它負(fù)載均衡器。 步驟804 :第二服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn)的服務(wù)節(jié)點(diǎn)收集各自的節(jié)點(diǎn)信息,并發(fā)送給子負(fù)載均衡器1 ; 步驟805 :子負(fù)載均衡器1接收并依據(jù)子負(fù)載均衡器11的負(fù)載均衡器信息和第二服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn)的節(jié)點(diǎn)信息更新子負(fù)載均衡器1的負(fù)載均衡器信息; 子負(fù)載均衡器1接收子負(fù)載均衡器11發(fā)送的負(fù)載均衡器信息和第二服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn)中的服務(wù)節(jié)點(diǎn)發(fā)送的節(jié)點(diǎn)信息,依據(jù)所述子負(fù)載均衡器11的負(fù)載服務(wù)節(jié)點(diǎn)列表數(shù)據(jù) 和第二服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn)中的服務(wù)節(jié)點(diǎn)的負(fù)載信息動(dòng)態(tài)更新自身的負(fù)載服務(wù)節(jié)點(diǎn)列表數(shù)據(jù), 所述負(fù)載服務(wù)節(jié)點(diǎn)列表數(shù)據(jù)可按負(fù)載值大小順序由小到大排列;子負(fù)載均衡器1依據(jù)子負(fù) 載均衡器11的可用服務(wù)節(jié)點(diǎn)列表數(shù)據(jù)和第二服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn)中的服務(wù)節(jié)點(diǎn)的當(dāng)前狀態(tài)信 息動(dòng)態(tài)更新自身的可用服務(wù)節(jié)點(diǎn)列表數(shù)據(jù),所述可用服務(wù)節(jié)點(diǎn)列表數(shù)據(jù)可分類排列。
步驟806 :子負(fù)載均衡器1將其更新后的負(fù)載均衡器信息發(fā)送給根負(fù)載均衡器1 ;
也可以同時(shí)發(fā)送給其它根負(fù)載均衡器,由本領(lǐng)域技術(shù)人員根據(jù)實(shí)際情況靈活設(shè) 置。 步驟807 :葉服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn)L2的服務(wù)節(jié)點(diǎn)收集各自的節(jié)點(diǎn)信息,并發(fā)送給子負(fù) 載均衡器2 ; 步驟808 :子負(fù)載均衡器2接收葉服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn)L2的節(jié)點(diǎn)信息,并依據(jù)所述節(jié) 點(diǎn)信息更新本負(fù)載均衡器的負(fù)載均衡器信息; 步驟809 :子負(fù)載均衡器2將其更新后的負(fù)載均衡器信息發(fā)送給根負(fù)載均衡器1 ;
步驟810 :第一服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn)的服務(wù)節(jié)點(diǎn)收集各自的節(jié)點(diǎn)信息,并發(fā)送給根負(fù) 載均衡器1 ; 步驟811 :根負(fù)載均衡器1接收并依據(jù)子負(fù)載均衡器1、2的負(fù)載均衡器信息和第
一服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn)的節(jié)點(diǎn)信息更新根負(fù)載均衡器1的負(fù)載均衡器信息。 本實(shí)施例以根負(fù)載均衡器1及其下屬子負(fù)載均衡器和服務(wù)節(jié)點(diǎn)構(gòu)成的子集群系
統(tǒng)為例說明了負(fù)載均衡器信息生成的步驟流程,其它根負(fù)載均衡器及其下屬子負(fù)載均衡器
和服務(wù)節(jié)點(diǎn)構(gòu)成的子集群系統(tǒng)的負(fù)載均衡器信息生成與此類似,在此不再贅述。 參照?qǐng)D9,示出了本發(fā)明的一種地理信息服務(wù)的分布式層次集群方法實(shí)施例的步
驟流程圖,具體可以包括以下步驟 步驟901 :設(shè)置多個(gè)根負(fù)載均衡器、多個(gè)子負(fù)載均衡器和多個(gè)服務(wù)節(jié)點(diǎn); 為實(shí)現(xiàn)地理信息服務(wù)的分布式層次集群系統(tǒng),需要設(shè)置多個(gè)根負(fù)載均衡器、多個(gè)
子負(fù)載均衡器和多個(gè)服務(wù)節(jié)點(diǎn)。
步驟902 :在每個(gè)所述根負(fù)載均衡器下設(shè)置至少一級(jí)均衡器子結(jié)點(diǎn); 可以在每個(gè)根負(fù)載均衡器下設(shè)置一至多級(jí)均衡器子結(jié)點(diǎn),所述均衡器子結(jié)點(diǎn)包括
至少一個(gè)子負(fù)載均衡器。 本實(shí)施例中設(shè)置1至N個(gè)根負(fù)載均衡器,N至少為1。以根負(fù)載均衡器1和N為 例,在根負(fù)載均衡器1下設(shè)置第一級(jí)均衡器子結(jié)點(diǎn)和第二級(jí)均衡器子結(jié)點(diǎn)。其中,第一級(jí)均 衡器子結(jié)點(diǎn)包括子負(fù)載均衡器1和子負(fù)載均衡器2,第二級(jí)均衡器子結(jié)點(diǎn)包括子負(fù)載均衡 器11。在根負(fù)載均衡器N下設(shè)置一級(jí)均衡器子結(jié)點(diǎn),該一級(jí)均衡器子結(jié)點(diǎn)包括子負(fù)載均衡 器N1和子負(fù)載均衡器N2。 步驟903 :設(shè)置所述均衡器子結(jié)點(diǎn)的子負(fù)載均衡器為所屬根負(fù)載均衡器的均衡器 中間子結(jié)點(diǎn)或均衡器葉結(jié)點(diǎn); 本實(shí)施例中,設(shè)置子負(fù)載均衡器1為根負(fù)載均衡器1的均衡器中間子結(jié)點(diǎn),子負(fù)載 均衡器2和子負(fù)載均衡器11為根負(fù)載均衡器1的均衡器葉結(jié)點(diǎn);設(shè)置子負(fù)載均衡器Nl和 N2為根負(fù)載均衡器N的均衡器葉結(jié)點(diǎn)。 步驟9Q4 :當(dāng)為均衡器中間子結(jié)點(diǎn)時(shí),在該子負(fù)載均衡器下設(shè)置下一級(jí)均衡器子結(jié)點(diǎn); 將所述第二級(jí)均衡器子結(jié)點(diǎn)設(shè)置為子負(fù)載均衡器1的下一級(jí)均衡器子結(jié)點(diǎn)。
步驟905 :當(dāng)為均衡器葉結(jié)點(diǎn)時(shí),在該子負(fù)載均衡器下設(shè)置葉服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn);
所述葉服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn)包括至少一個(gè)服務(wù)節(jié)點(diǎn)。 在子負(fù)載均衡器2下設(shè)置葉服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn)L2,該葉服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn)L2包括至 少一個(gè)服務(wù)節(jié)點(diǎn);在子負(fù)載均衡器11下設(shè)置葉服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn)Ll,該葉服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn)LI 包括至少一個(gè)服務(wù)節(jié)點(diǎn)。同樣,在子負(fù)載均衡器N1下設(shè)置葉服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn)NL1,在子負(fù)載 均衡器N2下設(shè)置葉服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn)NL2,葉服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn)NL1和NL2分別包括至少一個(gè) 服務(wù)節(jié)點(diǎn)。 步驟906 :設(shè)置第一服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn)為所述根負(fù)載均衡器的子結(jié)點(diǎn); 本步驟為優(yōu)選步驟,在根負(fù)載均衡器下可以設(shè)置直屬于根負(fù)載均衡器的第一服務(wù)
節(jié)點(diǎn)子結(jié)點(diǎn),也可以不加設(shè)置。本實(shí)施例中,設(shè)置第一服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn)為根負(fù)載均衡器l的
直接服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn),該第一服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn)包括至少一個(gè)服務(wù)節(jié)點(diǎn)。根負(fù)載均衡器N下
不設(shè)置第一服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn)。 步驟907 :設(shè)置第二服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn)為均衡器中間子結(jié)點(diǎn)的子結(jié)點(diǎn)。 本步驟為優(yōu)選步驟,在均衡器中間子結(jié)點(diǎn)下可以設(shè)置直屬該均衡器中間子結(jié)點(diǎn)的
第二服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn),也可以不加設(shè)置。本實(shí)施例中,只設(shè)置第二服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn)為子負(fù)載
均衡器1的子結(jié)點(diǎn),該第二服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn)包括至少一個(gè)服務(wù)節(jié)點(diǎn)。 所述第一服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn)和第二服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn)可以提供不同的地理信息服務(wù)。
通過本實(shí)施例的集群方法構(gòu)成的地理信息服務(wù)的分布式層次集群系統(tǒng)如圖3所 示。 參照?qǐng)DIO,示出了本發(fā)明的一種地理信息服務(wù)的客戶端的實(shí)現(xiàn)方法實(shí)施例的步驟 流程圖,具體可以包括以下步驟 步驟1001 :設(shè)置集群系統(tǒng)的多個(gè)負(fù)載均衡器地址; 在客戶端設(shè)置集群系統(tǒng)的多個(gè)負(fù)載均衡器地址,該集群系統(tǒng)為所述地理信息服務(wù) 的分布式層次集群系統(tǒng),包括多個(gè)根負(fù)載均衡器、多個(gè)子負(fù)載均衡器和多個(gè)服務(wù)節(jié)點(diǎn)。所述 負(fù)載均衡器地址包括根負(fù)載均衡器地址和子負(fù)載均衡器地址。
步驟1002 :依據(jù)預(yù)先設(shè)定的規(guī)則從所述多個(gè)負(fù)載均衡器地址中選擇一個(gè); 其中,預(yù)先設(shè)定的規(guī)則由本領(lǐng)域技術(shù)人員根據(jù)實(shí)際情況合理設(shè)定,客戶端依據(jù)此
規(guī)則從多個(gè)負(fù)載均衡器地址中選擇出一個(gè)。
步驟1003 :連接與所選擇的負(fù)載均衡器地址相對(duì)應(yīng)的負(fù)載均衡器; 客戶端與選出的負(fù)載均衡器地址相對(duì)應(yīng)的負(fù)載均衡器進(jìn)行連接。
步驟1004 :判斷連接是否可用;若不可用,則執(zhí)行步驟1005 ;若可用,則執(zhí)行步驟
1006 ; 判斷地理信息服務(wù)的客戶端與選出地址相對(duì)應(yīng)的負(fù)載均衡器的連接是否可用,若 不可用(如連接超時(shí)),則執(zhí)行步驟1005 ;若可用,則執(zhí)行步驟1006。 步驟1005 :依據(jù)預(yù)先設(shè)定的規(guī)則選擇另一負(fù)載均衡器地址并連接相應(yīng)的負(fù)載均 衡器,返回步驟1003 ; 步驟1006 :向所連接的負(fù)載均衡器發(fā)送服務(wù)請(qǐng)求;
15
所述服務(wù)請(qǐng)求包括請(qǐng)求參數(shù),如地圖名數(shù)據(jù)等。 步驟1007 :接收所述負(fù)載均衡器反饋的滿足所述服務(wù)請(qǐng)求的可用服務(wù)節(jié)點(diǎn)的節(jié) 點(diǎn)信息; 所述可用服務(wù)節(jié)點(diǎn)為所述地理信息服務(wù)的分布式層次集群系統(tǒng)的服務(wù)節(jié)點(diǎn),所述 節(jié)點(diǎn)信息包括地址信息、負(fù)載信息和當(dāng)前狀態(tài)信息。 步驟1008 :依據(jù)所述可用服務(wù)節(jié)點(diǎn)的地址信息,連接所述集群系統(tǒng)的相應(yīng)的可用 服務(wù)節(jié)點(diǎn),并發(fā)送業(yè)務(wù)請(qǐng)求; 客戶端依據(jù)所述可用服務(wù)節(jié)點(diǎn)的地址信息,連接所述地理信息服務(wù)的分布式層次
集群系統(tǒng)的相應(yīng)的可用服務(wù)節(jié)點(diǎn),并發(fā)送地理信息服務(wù)的業(yè)務(wù)請(qǐng)求。
步驟1009 :從所連接的可用服務(wù)節(jié)點(diǎn)獲取滿足所述業(yè)務(wù)請(qǐng)求的數(shù)據(jù)。 從可用服務(wù)節(jié)點(diǎn)獲取地理信息服務(wù)所需的數(shù)據(jù)。 參照?qǐng)Dll,示出了本發(fā)明的一種地理信息服務(wù)的客戶端訪問地理信息服務(wù)的分布 式層次集群系統(tǒng)實(shí)施例的步驟流程圖,具體可以包括以下步驟
步驟1101 :在客戶端設(shè)置集群系統(tǒng)的多個(gè)負(fù)載均衡器地址; 地理信息服務(wù)的客戶端設(shè)置地理信息服務(wù)的分布式層次集群系統(tǒng)的多個(gè)負(fù)載均 衡器地址。所述負(fù)載均衡器地址可以為根負(fù)載均衡器地址,也可以為子負(fù)載均衡器地址,本 實(shí)施例設(shè)置多個(gè)負(fù)載均衡器址分別為根負(fù)載均衡器1的地址、根負(fù)載均衡器N的地址、子負(fù) 載均衡器1的地址、子負(fù)載均衡器2的地址、子負(fù)載均衡器N1的地址、子負(fù)載均衡器N2的 地址和子負(fù)載均衡器11的地址。
步驟1102 :客戶端依據(jù)預(yù)先設(shè)定的規(guī)則從多個(gè)負(fù)載均衡器地址中選擇一個(gè);
預(yù)先設(shè)定的規(guī)則可以由本領(lǐng)域技術(shù)人員根據(jù)實(shí)際情況任意選擇適合的規(guī)則設(shè)定, 本實(shí)施例選用隨機(jī)選擇規(guī)則,以選中根負(fù)載均衡器1的地址為例。
步驟1103 :客戶端連接與選出地址相對(duì)應(yīng)的負(fù)載均衡器;
本實(shí)施例中,客戶端連接根負(fù)載均衡器1。 步驟1104 :判斷連接是否可用,若不可用,則執(zhí)行步驟1105 ;若可用,則執(zhí)行步驟 1106 ; 判斷客戶端與選出地址相對(duì)應(yīng)的負(fù)載均衡器的連接是否可用,若不可用(如連接
超時(shí)),則執(zhí)行步驟1105 ;若可用,則執(zhí)行步驟1106。(本實(shí)施例假設(shè)根負(fù)載均衡器1與客戶端的連接可用。) 步驟1105 :客戶端依據(jù)預(yù)先設(shè)定的規(guī)則選擇另一負(fù)載均衡器地址并連接相應(yīng)的 負(fù)載均衡器,返回步驟1103; 如步驟1102選出的連接不可用,則客戶端重新選擇一個(gè)新的負(fù)載均衡器地址,如 子負(fù)載均衡器l的地址。
步驟1106 :客戶端向已連接的負(fù)載均衡器發(fā)送服務(wù)請(qǐng)求; 所述服務(wù)請(qǐng)求包括請(qǐng)求參數(shù),本實(shí)施例中所述請(qǐng)求參數(shù)包含地圖名數(shù)據(jù)。
步驟1107 :已連接的負(fù)載均衡器接收服務(wù)請(qǐng)求,依據(jù)負(fù)載均衡器信息判斷是否有
滿足服務(wù)請(qǐng)求的服務(wù)節(jié)點(diǎn),若無(wú),則執(zhí)行步驟1108 ;若有,則執(zhí)行步驟1109 ; 本實(shí)施例中,客戶端與根負(fù)載均衡器1的連接可用,根負(fù)載均衡器1接收客戶端的
服務(wù)請(qǐng)求,并結(jié)合根負(fù)載均衡器1的可用服務(wù)節(jié)點(diǎn)列表數(shù)據(jù)和負(fù)載服務(wù)節(jié)點(diǎn)列表數(shù)據(jù),從中挑選滿足服務(wù)請(qǐng)求的服務(wù)節(jié)點(diǎn)。 步驟1108 :返回錯(cuò)誤信息,執(zhí)行步驟1105 ; 當(dāng)沒有滿足服務(wù)請(qǐng)求的服務(wù)節(jié)點(diǎn)時(shí),根負(fù)載均衡器1向客戶端返回錯(cuò)誤信息,客
戶端依據(jù)預(yù)先設(shè)定的規(guī)則重新挑選負(fù)載均衡器地址,連接相應(yīng)的負(fù)載均衡器。
步驟1109 :負(fù)載均衡器反饋可用服務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息給客戶端; 根負(fù)載均衡器1挑選出空閑的、當(dāng)前負(fù)載最小的、且滿足地圖名數(shù)據(jù)的服務(wù)節(jié)點(diǎn)
作為可用服務(wù)節(jié)點(diǎn),將該可用服務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息反饋給客戶端。
步驟1110 :客戶端接收負(fù)載均衡器反饋的可用服務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息,并依據(jù)節(jié)點(diǎn)
信息中的地址信息,連接相應(yīng)的可用服務(wù)節(jié)點(diǎn); 步驟1111 :客戶端向可用服務(wù)節(jié)點(diǎn)發(fā)送業(yè)務(wù)請(qǐng)求; 客戶端向可用服務(wù)節(jié)點(diǎn)發(fā)送業(yè)務(wù)請(qǐng)求,如查看滿足地圖名數(shù)據(jù)的地圖、對(duì)地圖數(shù) 據(jù)進(jìn)行查詢等等。
步驟1112 :從所述可用服務(wù)節(jié)點(diǎn)獲取滿足所述業(yè)務(wù)請(qǐng)求的數(shù)據(jù)。
可用服務(wù)節(jié)點(diǎn)向客戶端提供滿足客戶端業(yè)務(wù)請(qǐng)求的數(shù)據(jù)。 以上對(duì)本發(fā)明的優(yōu)選實(shí)施例進(jìn)行了介紹和說明,為了簡(jiǎn)單描述,將其中的方法實(shí) 施例表述為一系列的動(dòng)作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明并不受所描述的動(dòng) 作順序的限制,因?yàn)橐罁?jù)本發(fā)明,某些步驟可以采用其他順序或者同時(shí)進(jìn)行。其次,本領(lǐng)域 技術(shù)人員也應(yīng)該知悉,說明書中所描述的實(shí)施例均屬于優(yōu)選實(shí)施例,所涉及的動(dòng)作和模塊 并不一定是本發(fā)明所必須的。 本說明書中的各個(gè)實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例 之間相同相似的部分互相參見即可。 以上對(duì)本發(fā)明所提供的一種地理信息服務(wù)的分布式層次集群方法和系統(tǒng),以及與 該地理信息服務(wù)的分布式層次集群方法和系統(tǒng)相對(duì)應(yīng)的一種地理信息服務(wù)的客戶端實(shí)現(xiàn) 方法和客戶端進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了 闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域 的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式
及應(yīng)用范圍上均會(huì)有改變之處,綜上 所述,本說明書內(nèi)容不應(yīng)理解為對(duì)本發(fā)明的限制。
權(quán)利要求
一種地理信息服務(wù)的分布式層次集群系統(tǒng),其特征在于,包括多個(gè)根負(fù)載均衡器、多個(gè)子負(fù)載均衡器和多個(gè)服務(wù)節(jié)點(diǎn);每個(gè)所述根負(fù)載均衡器有至少一級(jí)均衡器子結(jié)點(diǎn),所述均衡器子結(jié)點(diǎn)包括至少一個(gè)子負(fù)載均衡器;所述均衡器子結(jié)點(diǎn)的子負(fù)載均衡器為所屬根負(fù)載均衡器的均衡器中間子結(jié)點(diǎn)或均衡器葉結(jié)點(diǎn),當(dāng)為均衡器中間子結(jié)點(diǎn)時(shí),該子負(fù)載均衡器有下一級(jí)均衡器子結(jié)點(diǎn);當(dāng)為均衡器葉結(jié)點(diǎn)時(shí),該子負(fù)載均衡器有葉服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn),所述葉服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn)包括至少一個(gè)服務(wù)節(jié)點(diǎn)。
2. 根據(jù)權(quán)利要求1所述的集群系統(tǒng),其特征在于,所述根負(fù)載均衡器還有第一服務(wù)節(jié) 點(diǎn)子結(jié)點(diǎn),所述第一服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn)包括至少一個(gè)服務(wù)節(jié)點(diǎn)。
3. 根據(jù)權(quán)利要求2所述的集群系統(tǒng),其特征在于,所述均衡器子結(jié)點(diǎn)的子負(fù)載均衡器 為均衡器中間子結(jié)點(diǎn)時(shí),還有第二服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn),所述第二服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn)包括至少一 個(gè)服務(wù)節(jié)點(diǎn)。
4. 根據(jù)權(quán)利要求3所述的集群系統(tǒng),其特征在于,所述第一服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn)和第二服 務(wù)節(jié)點(diǎn)子結(jié)點(diǎn)提供不同的地理信息服務(wù)。
5. 根據(jù)權(quán)利要求1至4任一所述的集群系統(tǒng),其特征在于,所述服務(wù)節(jié)點(diǎn)包括 服務(wù)節(jié)點(diǎn)信息收集模塊,用于收集服務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息,所述節(jié)點(diǎn)信息包括地址信息、負(fù)載信息和當(dāng)前狀態(tài)信息;服務(wù)節(jié)點(diǎn)信息報(bào)告模塊,用于將所收集的服務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息上報(bào)給該服務(wù)節(jié)點(diǎn)上一 級(jí)的子負(fù)載均衡器或根負(fù)載均衡器。
6. 根據(jù)權(quán)利要求5所述的集群系統(tǒng),其特征在于,所述服務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息還包括地 理信息數(shù)據(jù)。
7. 根據(jù)權(quán)利要求5所述的集群系統(tǒng),其特征在于,所述子負(fù)載均衡器包括 子結(jié)點(diǎn)信息接收模塊,用于接收下一級(jí)服務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息,和/或下一級(jí)子負(fù)載均衡器的負(fù)載均衡器信息;子均衡器信息更新模塊,用于依據(jù)所述子結(jié)點(diǎn)信息接收模塊接收的節(jié)點(diǎn)信息和/或負(fù) 載均衡器信息更新本負(fù)載均衡器的負(fù)載均衡器信息;子均衡器信息報(bào)告模塊,用于將所述本負(fù)載均衡器的負(fù)載均衡器信息上報(bào)給上一級(jí)的 子負(fù)載均衡器或根負(fù)載均衡器;子均衡器信息反饋模塊,用于接收客戶端的服務(wù)請(qǐng)求,并依據(jù)所述本負(fù)載均衡器的負(fù) 載均衡器信息選擇滿足所述服務(wù)請(qǐng)求的服務(wù)節(jié)點(diǎn),并將該服務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息返回給所述 客戶端。
8. 根據(jù)權(quán)利要求7所述的集群系統(tǒng),其特征在于,所述負(fù)載均衡器信息包括負(fù)載服務(wù) 節(jié)點(diǎn)列表數(shù)據(jù)和可用服務(wù)節(jié)點(diǎn)列表數(shù)據(jù)。
9. 根據(jù)權(quán)利要求8所述的集群系統(tǒng),其特征在于,所述子均衡器信息更新模塊包括 子負(fù)載信息更新子模塊,用于依據(jù)下一級(jí)服務(wù)節(jié)點(diǎn)的負(fù)載信息和/或下一級(jí)子負(fù)載均衡器的負(fù)載服務(wù)節(jié)點(diǎn)列表數(shù)據(jù)更新本子負(fù)載均衡器的負(fù)載服務(wù)節(jié)點(diǎn)列表數(shù)據(jù);子可用信息更新子模塊,用于依據(jù)下一級(jí)服務(wù)節(jié)點(diǎn)的當(dāng)前狀態(tài)信息和/或下一級(jí)子負(fù) 載均衡器的可用服務(wù)節(jié)點(diǎn)列表數(shù)據(jù)更新本子負(fù)載均衡器的可用服務(wù)節(jié)點(diǎn)列表數(shù)據(jù)。
10. 根據(jù)權(quán)利要求7所述的集群系統(tǒng),其特征在于,所述根負(fù)載均衡器包括 結(jié)點(diǎn)信息接收模塊,用于接收下一級(jí)服務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息,和/或下一級(jí)子負(fù)載均衡器的負(fù)載均衡器信息;根均衡器信息更新模塊,用于依據(jù)所述結(jié)點(diǎn)信息接收模塊接收的節(jié)點(diǎn)信息和/或負(fù)載 均衡器信息更新所述根負(fù)載均衡器的負(fù)載均衡器信息;根均衡器信息反饋模塊,用于接收客戶端的服務(wù)請(qǐng)求,并依據(jù)所述根負(fù)載均衡器的負(fù) 載均衡器信息選擇滿足所述服務(wù)請(qǐng)求的服務(wù)節(jié)點(diǎn),并將該服務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息返回給所述 客戶端。
11. 一種地理信息服務(wù)的分布式層次集群方法,其特征在于,包括 設(shè)置多個(gè)根負(fù)載均衡器、多個(gè)子負(fù)載均衡器和多個(gè)服務(wù)節(jié)點(diǎn);在每個(gè)所述根負(fù)載均衡器下設(shè)置至少一級(jí)均衡器子結(jié)點(diǎn),所述均衡器子結(jié)點(diǎn)包括至少 一個(gè)子負(fù)載均衡器;設(shè)置所述均衡器子結(jié)點(diǎn)的子負(fù)載均衡器為所屬根負(fù)載均衡器的均衡器中間子結(jié)點(diǎn)或 均衡器葉結(jié)點(diǎn),當(dāng)為均衡器中間子結(jié)點(diǎn)時(shí),在該子負(fù)載均衡器下設(shè)置下一級(jí)均衡器子結(jié)點(diǎn); 當(dāng)為均衡器葉結(jié)點(diǎn)時(shí),在該子負(fù)載均衡器下設(shè)置葉服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn),所述葉服務(wù)節(jié)點(diǎn)子結(jié) 點(diǎn)包括至少一個(gè)服務(wù)節(jié)點(diǎn)。
12. 根據(jù)權(quán)利要求11所述的集群方法,其特征在于,還包括設(shè)置第一服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn) 為所述根負(fù)載均衡器的子結(jié)點(diǎn),所述第一服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn)包括至少一個(gè)服務(wù)節(jié)點(diǎn)。
13. 根據(jù)權(quán)利要求12所述的集群方法,其特征在于,還包括當(dāng)所述均衡器子結(jié)點(diǎn)的子負(fù)載均衡器為均衡器中間子結(jié)點(diǎn)時(shí),設(shè)置第二服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn)為該子負(fù)載均衡器的子結(jié) 點(diǎn),所述第二服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn)包括至少一個(gè)服務(wù)節(jié)點(diǎn)。
14. 根據(jù)權(quán)利要求13所述的集群方法,其特征在于,所述第一服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn)和第二 服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn)提供不同的地理信息服務(wù)。
15. —種地理信息服務(wù)的客戶端,其特征在于,包括 地址設(shè)置模塊,用于設(shè)置集群系統(tǒng)的多個(gè)負(fù)載均衡器地址;負(fù)載均衡器選擇模塊,用于依據(jù)預(yù)先設(shè)定的規(guī)則從所述多個(gè)負(fù)載均衡器地址中選擇一 個(gè),并連接與所選擇的負(fù)載均衡器地址相對(duì)應(yīng)的負(fù)載均衡器; 請(qǐng)求發(fā)送模塊,用于向所連接的負(fù)載均衡器發(fā)送服務(wù)請(qǐng)求;信息接收模塊,用于接收所述負(fù)載均衡器反饋的滿足所述服務(wù)請(qǐng)求的可用服務(wù)節(jié)點(diǎn)的 節(jié)點(diǎn)信息,所述可用服務(wù)節(jié)點(diǎn)為所述集群系統(tǒng)的服務(wù)節(jié)點(diǎn),所述節(jié)點(diǎn)信息包括地址信息、負(fù) 載信息和當(dāng)前狀態(tài)信息;服務(wù)連接模塊,用于依據(jù)所述可用服務(wù)節(jié)點(diǎn)的地址信息,連接所述集群系統(tǒng)的相應(yīng)的 可用服務(wù)節(jié)點(diǎn),并發(fā)送業(yè)務(wù)請(qǐng)求;數(shù)據(jù)獲取模塊,用于從所連接的可用服務(wù)節(jié)點(diǎn)獲取滿足所述業(yè)務(wù)請(qǐng)求的數(shù)據(jù)。
16. 根據(jù)權(quán)利要求15所述的客戶端,其特征在于,所述集群系統(tǒng)包括多個(gè)根負(fù)載均衡器、多個(gè)子負(fù)載均衡器和多個(gè)服務(wù)節(jié)點(diǎn);所述負(fù)載均衡器地址包括根負(fù)載均衡器地址和子 負(fù)載均衡器地址。
17. 根據(jù)權(quán)利要求15或16所述的客戶端,其特征在于,所述客戶端還包括 負(fù)載均衡器調(diào)度模塊,用于當(dāng)所述負(fù)載均衡器選擇模塊連接的負(fù)載均衡器不可用時(shí),依據(jù)所述預(yù)先設(shè)定的規(guī)則選擇另一負(fù)載均衡器地址并連接相應(yīng)的負(fù)載均衡器。
18. 根據(jù)權(quán)利要求15或16所述的客戶端,其特征在于,所述服務(wù)請(qǐng)求包括地理信息數(shù) 據(jù)參數(shù)。
19. 一種地理信息服務(wù)的客戶端的實(shí)現(xiàn)方法,其特征在于,包括 設(shè)置集群系統(tǒng)的多個(gè)負(fù)載均衡器地址;依據(jù)預(yù)先設(shè)定的規(guī)則從所述多個(gè)負(fù)載均衡器地址中選擇一個(gè),并連接與所選擇的負(fù)載 均衡器地址相對(duì)應(yīng)的負(fù)載均衡器;向所連接的負(fù)載均衡器發(fā)送服務(wù)請(qǐng)求;接收所述負(fù)載均衡器反饋的滿足所述服務(wù)請(qǐng)求的可用服務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息,所述可用 服務(wù)節(jié)點(diǎn)為所述集群系統(tǒng)的服務(wù)節(jié)點(diǎn),所述節(jié)點(diǎn)信息包括地址信息、負(fù)載信息和當(dāng)前狀態(tài) 信息;依據(jù)所述可用服務(wù)節(jié)點(diǎn)的地址信息,連接所述集群系統(tǒng)的相應(yīng)的可用服務(wù)節(jié)點(diǎn),并發(fā) 送業(yè)務(wù)請(qǐng)求;從所連接的可用服務(wù)節(jié)點(diǎn)獲取滿足所述業(yè)務(wù)請(qǐng)求的數(shù)據(jù)。
20. 根據(jù)權(quán)利要求19所述的方法,其特征在于,所述集群系統(tǒng)包括多個(gè)根負(fù)載均衡器、 多個(gè)子負(fù)載均衡器和多個(gè)服務(wù)節(jié)點(diǎn);所述負(fù)載均衡器地址包括根負(fù)載均衡器地址和子負(fù)載 均衡器地址。
21. 根據(jù)權(quán)利要求19或20所述的方法,其特征在于,在所述向所連接的負(fù)載均衡器發(fā) 送服務(wù)請(qǐng)求前還包括判斷所連接的負(fù)載均衡器是否可用,當(dāng)不可用時(shí),依據(jù)所述預(yù)先設(shè)定的規(guī)則選擇另一 負(fù)載均衡器地址并連接相應(yīng)的負(fù)載均衡器。
全文摘要
本發(fā)明提供了一種地理信息服務(wù)的分布式層次集群方法和系統(tǒng),其中,所述集群系統(tǒng)包括多個(gè)根負(fù)載均衡器、多個(gè)子負(fù)載均衡器和多個(gè)服務(wù)節(jié)點(diǎn);每個(gè)所述根負(fù)載均衡器有至少一級(jí)均衡器子結(jié)點(diǎn),所述均衡器子結(jié)點(diǎn)包括至少一個(gè)子負(fù)載均衡器;所述均衡器子結(jié)點(diǎn)的子負(fù)載均衡器為所屬根負(fù)載均衡器的均衡器中間子結(jié)點(diǎn)或均衡器葉結(jié)點(diǎn),當(dāng)為均衡器中間子結(jié)點(diǎn)時(shí),該子負(fù)載均衡器有下一級(jí)均衡器子結(jié)點(diǎn);當(dāng)為均衡器葉結(jié)點(diǎn)時(shí),該子負(fù)載均衡器有葉服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn),所述葉服務(wù)節(jié)點(diǎn)子結(jié)點(diǎn)包括至少一個(gè)服務(wù)節(jié)點(diǎn)。本發(fā)明可以降低集群系統(tǒng)的存儲(chǔ)負(fù)擔(dān),減輕集群系統(tǒng)由存儲(chǔ)負(fù)擔(dān)導(dǎo)致的可靠性差的問題,實(shí)現(xiàn)集群冗余,提高整個(gè)集群系統(tǒng)的效率和可靠性,且無(wú)須增加額外成本。
文檔編號(hào)H04L29/06GK101729412SQ200910237230
公開日2010年6月9日 申請(qǐng)日期2009年11月5日 優(yōu)先權(quán)日2009年11月5日
發(fā)明者劉鵬遠(yuǎn), 宋志峰, 張宇亭, 李瑋顧, 胡中南, 蘇博, 賈柳靜, 辛宇, 陳洪波, 饒慶云 申請(qǐng)人:北京超圖軟件股份有限公司