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