本發(fā)明涉及數(shù)據(jù)通信技術(shù)領(lǐng)域,特別是涉及一種負載均衡系統(tǒng)和方法。
背景技術(shù):
傳統(tǒng)的負載均衡系統(tǒng)包括多個終端、多個邏輯運算服務(wù)器和一個前置機。通過把系統(tǒng)負載根據(jù)邏輯范圍分配到多個邏輯運算服務(wù)器上,并把各個邏輯運算服務(wù)器的狀態(tài)信息存儲在前置機內(nèi)。當有新接入的終端需要連接服務(wù)器時,終端可以向前置機發(fā)出請求,前置機根據(jù)其存儲的狀態(tài)信息來判斷哪些邏輯運算服務(wù)器可以對該終端的請求進行處理,從而將該終端分配給相應(yīng)的邏輯運算服務(wù)器進行業(yè)務(wù)處理。
但是,當終端的數(shù)量巨大,前置機接收到超負荷的連接請求時,容易使前置機系統(tǒng)崩潰,從而無法實現(xiàn)終端與相應(yīng)服務(wù)器之間的數(shù)據(jù)交互。
技術(shù)實現(xiàn)要素:
本發(fā)明提供了一種負載均衡系統(tǒng)和方法,以解決傳統(tǒng)技術(shù)中的負載均衡系統(tǒng)所存在的終端無法及時高效的與服務(wù)器進行數(shù)據(jù)交互的問題。
為了解決上述問題,根據(jù)本發(fā)明的一個方面,本發(fā)明公開了一種負載均衡系統(tǒng),所述系統(tǒng)包括:主服務(wù)器、至少兩個負載服務(wù)器、至少兩個終端,
所述負載服務(wù)器,用于接收并處理目標終端的業(yè)務(wù)請求,并將對所述業(yè)務(wù)請求進行處理時所產(chǎn)生的業(yè)務(wù)數(shù)據(jù)上報至所述主服務(wù)器,其中,所述目標終端的網(wǎng)絡(luò)地址與所述負載服務(wù)器的網(wǎng)絡(luò)地址屬于相同網(wǎng)絡(luò)區(qū)域段;
所述主服務(wù)器,用于接收并處理所述負載服務(wù)器上報的業(yè)務(wù)數(shù)據(jù),并將所述業(yè)務(wù)數(shù)據(jù)的處理結(jié)果同步下發(fā)至所述至少兩個負載服務(wù)器;
所述負載服務(wù)器,還用于將所述業(yè)務(wù)數(shù)據(jù)的處理結(jié)果返回至所述目標終端。
根據(jù)本發(fā)明的另一方面,本發(fā)明還公開了一種負載均衡方法,應(yīng)用于負載均衡系統(tǒng),所述系統(tǒng)包括:主服務(wù)器、至少兩個負載服務(wù)器、至少兩個終端,所述方法包括:
所述負載服務(wù)器接收并處理目標終端的業(yè)務(wù)請求,并將對所述業(yè)務(wù)請求進行處理時所產(chǎn)生的業(yè)務(wù)數(shù)據(jù)上報至所述主服務(wù)器,其中,所述目標終端的網(wǎng)絡(luò)地址與所述負載服務(wù)器的網(wǎng)絡(luò)地址屬于相同網(wǎng)絡(luò)區(qū)域段;
所述主服務(wù)器接收并處理所述負載服務(wù)器上報的業(yè)務(wù)數(shù)據(jù),并將所述業(yè)務(wù)數(shù)據(jù)的處理結(jié)果同步下發(fā)至所述至少兩個負載服務(wù)器;
所述負載服務(wù)器將所述業(yè)務(wù)數(shù)據(jù)的處理結(jié)果返回至所述目標終端。
與現(xiàn)有技術(shù)相比,本發(fā)明包括以下優(yōu)點:
本發(fā)明通過只有屬于相同網(wǎng)絡(luò)區(qū)域段的負載服務(wù)器和終端才可以進行信息交互,能夠減小每個負載服務(wù)器的處理壓力;能夠使終端及時高效的與負載服務(wù)器并間接與主服務(wù)器進行數(shù)據(jù)交互通信,提升數(shù)據(jù)交互效率。
附圖說明
圖1是本發(fā)明的一種負載均衡系統(tǒng)實施例的結(jié)構(gòu)框圖一;
圖2是本發(fā)明的一種負載均衡系統(tǒng)實施例的結(jié)構(gòu)框圖二;
圖3是本發(fā)明的一種負載均衡方法實施例的步驟流程圖。
具體實施方式
為使本發(fā)明的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面結(jié)合附圖和具體實施方式對本發(fā)明作進一步詳細的說明。
參照圖1和圖2,示出了本發(fā)明的一種負載均衡系統(tǒng)實施例的兩個結(jié)構(gòu)框圖,所述系統(tǒng)包括:主服務(wù)器、至少兩個負載服務(wù)器(示出了兩個負載服務(wù)器)、至少兩個終端(這里示出了兩個終端,其中,終端可以是客戶端、移動終端等終端設(shè)備,這里以客戶端進行舉例說明);
所述負載服務(wù)器(這里的負載服務(wù)器1或負載服務(wù)器2),用于接收并處理目標終端的業(yè)務(wù)請求,并將對所述業(yè)務(wù)請求進行處理時所產(chǎn)生的業(yè)務(wù)數(shù)據(jù)上報至所述主服務(wù)器;
其中,所述目標終端的網(wǎng)絡(luò)地址與所述負載服務(wù)器的網(wǎng)絡(luò)地址屬于相同網(wǎng)絡(luò)區(qū)域段;
例如,負載服務(wù)器1的ip地址屬于某個網(wǎng)絡(luò)區(qū)域段,那么ip地址為該網(wǎng)絡(luò)區(qū)域段的任意一個終端(例如這里的目標終端)都可以與該負載服務(wù)器1進行信息交互。這樣,每個負載服務(wù)器都對應(yīng)多個可以進行數(shù)據(jù)交互的終端;而兩個負載服務(wù)器的ip地址也可以屬于同一個網(wǎng)絡(luò)區(qū)域段,那么同一個終端在面向負載服務(wù)器時就可以有多個選擇,即,終端可以從這兩個負載服務(wù)器中選擇任意一個負載服務(wù)器進行信息交互,這樣當某個負載服務(wù)器的并發(fā)壓力較大時,終端則可以選擇與另一個屬于相同網(wǎng)絡(luò)區(qū)域段的負載服務(wù)器進行信息交互,使得終端可以及時高效的與負載服務(wù)器進行數(shù)據(jù)交互。
那么通過只有屬于相同網(wǎng)絡(luò)區(qū)域段的負載服務(wù)器和終端才可以進行信息交互,一方面緩解了傳統(tǒng)技術(shù)中全部的終端都向前置機發(fā)送訪問請求所導(dǎo)致的前置機處理壓力大的問題,即,通過使負載服務(wù)器定向接收相應(yīng)網(wǎng)絡(luò)區(qū)域段的終端的請求,能夠減小每個負載服務(wù)器的處理壓力;并通過設(shè)置至少兩個負載服務(wù)器,該至少兩個負載服務(wù)器的網(wǎng)絡(luò)地址可以屬于相同或不同的網(wǎng)絡(luò)區(qū)域段;當該至少兩個負載服務(wù)器的網(wǎng)絡(luò)地址屬于相同的網(wǎng)絡(luò)區(qū)域段時,可以使某個負載服務(wù)器存在故障或處理壓力大而使終端未收到響應(yīng)時,終端可以向另一個負載服務(wù)器進行信息交互,從而提升終端請求的處理效率;而當該至少兩個負載服務(wù)器的網(wǎng)絡(luò)地址屬于不同的網(wǎng)絡(luò)區(qū)域段時,則可以使各個負載服務(wù)器均衡的對網(wǎng)絡(luò)地址屬于不同網(wǎng)絡(luò)區(qū)域段的多組終端進行均衡的信息交互,使分布在任何網(wǎng)絡(luò)區(qū)域段的終端都可以與相應(yīng)的負載服務(wù)器進行信息交互,從而與后續(xù)的主服務(wù)器進行信息交互,提升終端與主服務(wù)器之間的數(shù)據(jù)交互效率。
此外,當負載服務(wù)器的數(shù)量在3個或3個以上時,則各個負載服務(wù)器可以同時包括:網(wǎng)絡(luò)地址所屬的網(wǎng)絡(luò)區(qū)域段相同的多個負載服務(wù)器,以及網(wǎng)絡(luò)地址所屬的網(wǎng)絡(luò)區(qū)域段相同的多個負載服務(wù)器。例如負載服務(wù)器1和負載服務(wù)器2的網(wǎng)絡(luò)地址所屬的網(wǎng)絡(luò)區(qū)域段相同,而它們的網(wǎng)絡(luò)區(qū)域段與負載服務(wù)器3的網(wǎng)絡(luò)地址所屬的網(wǎng)絡(luò)區(qū)域段不同。
其中,在一個實施例中,如圖1所示,負載服務(wù)器可以包括數(shù)據(jù)上報模塊、第一業(yè)務(wù)處理模塊、第一數(shù)據(jù)同步模塊、負載通信模塊;
其中,第一業(yè)務(wù)處理模塊可以處理客戶端的請求以及向客戶端下發(fā)相關(guān)的數(shù)據(jù),當對客戶端的數(shù)據(jù)請求進行處理后,可以生成業(yè)務(wù)數(shù)據(jù)(例如業(yè)務(wù)運行數(shù)據(jù),具體而言,業(yè)務(wù)運行時數(shù)據(jù)可以是用戶在線狀態(tài)數(shù)據(jù)、用戶之間聊天數(shù)據(jù)等)并傳遞給數(shù)據(jù)上報模塊,或者將業(yè)務(wù)數(shù)據(jù)存儲在相應(yīng)的存儲介質(zhì)中,待需要時再從存儲介質(zhì)中取出該業(yè)務(wù)數(shù)據(jù)傳遞該數(shù)據(jù)上報模塊;
數(shù)據(jù)上報模塊可以將對所述業(yè)務(wù)請求進行處理時所產(chǎn)生的業(yè)務(wù)數(shù)據(jù)上報至所述主服務(wù)器。
所述主服務(wù)器,用于接收并處理所述負載服務(wù)器上報的業(yè)務(wù)數(shù)據(jù),并將所述業(yè)務(wù)數(shù)據(jù)的處理結(jié)果同步下發(fā)至所述至少兩個負載服務(wù)器;
其中,主服務(wù)器可以包括上報接收模塊、第二業(yè)務(wù)處理模塊、第二數(shù)據(jù)同步模塊、負載通信代理模塊;
其中,上報接收模塊用于接收所述負載服務(wù)器的數(shù)據(jù)上報模塊上報的業(yè)務(wù)數(shù)據(jù),并對該業(yè)務(wù)數(shù)據(jù)進行封裝適配之后交由第二業(yè)務(wù)處理模塊進行處理;
第二業(yè)務(wù)處理模塊主要處理與主服務(wù)器相關(guān)的業(yè)務(wù)數(shù)據(jù)以及負載服務(wù)器通過數(shù)據(jù)上報模塊上報給主服務(wù)器的由上報接收模塊接收之后的數(shù)據(jù);
因此,這里第二業(yè)務(wù)處理模塊就可以對上報接收模塊傳遞的業(yè)務(wù)數(shù)據(jù),并對該業(yè)務(wù)數(shù)據(jù)進行處理;然后,第二業(yè)務(wù)數(shù)據(jù)處理模塊將所述業(yè)務(wù)數(shù)據(jù)的處理結(jié)果轉(zhuǎn)發(fā)至第二數(shù)據(jù)同步模塊;
第二數(shù)據(jù)同步模塊就可以將處理結(jié)果同步下發(fā)至所述至少兩個負載服務(wù)器的第一數(shù)據(jù)同步模塊。例如這里的業(yè)務(wù)數(shù)據(jù)來自于負載服務(wù)器1,則這里在同步下發(fā)時,會將業(yè)務(wù)數(shù)據(jù)的處理結(jié)果同步下發(fā)至負載服務(wù)器1和負載服務(wù)器2,即系統(tǒng)中所有的負載服務(wù)器的第一數(shù)據(jù)同步模塊。
或者,第二業(yè)務(wù)處理模塊,也可以將業(yè)務(wù)數(shù)據(jù)的處理結(jié)果存儲在相應(yīng)的存儲介質(zhì)中,待需要時再從存儲介質(zhì)中取出該業(yè)務(wù)數(shù)據(jù)的處理結(jié)果轉(zhuǎn)發(fā)至第二數(shù)據(jù)同步模塊,從而將處理結(jié)果同步至系統(tǒng)中的每個負載服務(wù)器(包括上傳數(shù)據(jù)的負載服務(wù)器)的第一數(shù)據(jù)同步模塊。
所述負載服務(wù)器,還用于將所述業(yè)務(wù)數(shù)據(jù)的處理結(jié)果返回至所述目標終端;
其中,對于該發(fā)送請求的負載服務(wù)器1,待接收到該業(yè)務(wù)數(shù)據(jù)的處理結(jié)果后,就可以將該處理結(jié)果返回至當初的目標終端,這里為客戶端1。
這樣,本發(fā)明實施例通過設(shè)計一個主服務(wù)器、位于該主服務(wù)器下的至少兩個負載服務(wù)器,以及每個負載服務(wù)器管理網(wǎng)絡(luò)地址與自身屬于相同網(wǎng)絡(luò)區(qū)域段的至少一個終端的負載均衡系統(tǒng),可以避免大量終端不定時請求主服務(wù)器所造成的主服務(wù)器的并發(fā)壓力,減小主服務(wù)器的負載壓力,同時保證各個負載服務(wù)器之間的負載均衡,實現(xiàn)負載服務(wù)器對終端的定向管理,使得終端能夠及時高效的與負載服務(wù)器、以及主服務(wù)器進行數(shù)據(jù)交互。
可選地,繼續(xù)參照圖1和圖2,在一個實施例中,為了解決傳統(tǒng)技術(shù)中的負載服務(wù)器之間無法進行數(shù)據(jù)通信的問題。
所述主服務(wù)器,還用于接收所述負載服務(wù)器的負載通信請求;
其中,例如負載服務(wù)器1為了與負載服務(wù)器2進行數(shù)據(jù)通信,負載服務(wù)器1的負載通信模塊可以向主服務(wù)器發(fā)送負載通信請求,其中,所述負載通信請求可以包括目標負載服務(wù)器(即負載服務(wù)器2)的地址信息(例如ip地址、mac地址等可以進行通信的地址)以及請求通信的目標內(nèi)容(例如內(nèi)存,即,目標內(nèi)容可以是關(guān)于負載服務(wù)器2的各種參數(shù)和/或負載服務(wù)器2對終端的請求進行處理時所得到的任何有關(guān)終端的信息);
然后,主服務(wù)器的負載通信代理模塊,就可以接收來自于負載服務(wù)器1的負載通信請求;
所述主服務(wù)器,還用于將所述負載通信請求發(fā)送至所述目標負載服務(wù)器;
其中,主服務(wù)器可以解析該負載通信請求,從而確定進行通信的目標負載服務(wù)器(例如負載服務(wù)器2),這樣,就可以將該負載通信請求轉(zhuǎn)發(fā)至負載服務(wù)器2的負載通信模塊。
所述目標負載服務(wù)器,用于響應(yīng)所述負載通信請求,并將響應(yīng)結(jié)果返回至所述主服務(wù)器,其中,所述響應(yīng)結(jié)果包括所述目標內(nèi)容;
其中,負載服務(wù)器2的負載通信模塊就可以對該負載通信請求進行響應(yīng),例如目標內(nèi)容為負載服務(wù)器2的內(nèi)存,那么就可以將內(nèi)存參數(shù)帶入至響應(yīng)結(jié)果中返回至主服務(wù)器的負載通信代理模塊。
所述主服務(wù)器,還用于將所述響應(yīng)結(jié)果返回至發(fā)送所述負載通信請求的所述負載服務(wù)器。
最后,主服務(wù)器的負載通信代理模塊就可以將該響應(yīng)結(jié)果發(fā)生至負載服務(wù)器1的負載通信模塊。
其中,在一個實施例中,負載服務(wù)器上的負載通信模塊可以采用netty技術(shù),并采用tcp協(xié)議來實現(xiàn)與主服務(wù)器上的負載通信代理模塊通信,而主服務(wù)器上的負載通信代理模塊則集成了代理功能。
這樣,本發(fā)明實施例通過使負載服務(wù)器之間,通過其本身的負載通信模塊通主服務(wù)器的負載通信代理模塊實現(xiàn)了不同負載服務(wù)器之間的數(shù)據(jù)通信,實現(xiàn)了不同負載服務(wù)器之間的信息共享。
參照圖1和圖2,在另一個實施例中,在負載服務(wù)器向主服務(wù)器上報數(shù)據(jù)時,本發(fā)明實施例還可以區(qū)分數(shù)據(jù)類型進行不同方式的上報。
具體而言,所述負載服務(wù)器,還用于在將所述業(yè)務(wù)數(shù)據(jù)上報至所述主服務(wù)器之前,確定所述業(yè)務(wù)數(shù)據(jù)的類型,當所述業(yè)務(wù)數(shù)據(jù)為第一預(yù)設(shè)類型數(shù)據(jù)時,采用activemq對所述業(yè)務(wù)數(shù)據(jù)作持久化處理,將持久化處理后的業(yè)務(wù)數(shù)據(jù)上報至所述主服務(wù)器,當所述業(yè)務(wù)數(shù)據(jù)為第二預(yù)設(shè)類型數(shù)據(jù)時,采用activemq對所述業(yè)務(wù)數(shù)據(jù)作非持久化處理,將非持久化處理后的業(yè)務(wù)數(shù)據(jù)上報至所述主服務(wù)器。
以負載服務(wù)器1為例,在將所述業(yè)務(wù)數(shù)據(jù)上報至所述主服務(wù)器之前,負載服務(wù)器需要確定該業(yè)務(wù)數(shù)據(jù)的類型,當該業(yè)務(wù)數(shù)據(jù)為屬于第一預(yù)設(shè)類型的重要度較高但實時性要求較低的數(shù)據(jù)(例如,客戶端宿主機器的基本信息、客戶端產(chǎn)生的日志數(shù)據(jù)等)時,可以利用activemq來對該業(yè)務(wù)數(shù)據(jù)進行持久化隊列處理,再上報;而當該業(yè)務(wù)數(shù)據(jù)為屬于第二預(yù)設(shè)類型的重要度較低但實時性要求較高的數(shù)據(jù)(例如,客戶端提交的訂單數(shù)據(jù)、客戶端的在線狀態(tài)數(shù)據(jù)等)時,則可以activemq來對該業(yè)務(wù)數(shù)據(jù)進行非持久化隊列處理,再上報。
其中,activemq是一種開源的,實現(xiàn)了jms1.1規(guī)范的,面向消息的中間件,可以為應(yīng)用程序提供高效的、可擴展的、穩(wěn)定的和安全的企業(yè)級消息總線,是一個完全支持jms1.1和j2ee1.4規(guī)范的jmsprovider實現(xiàn),其設(shè)計目標是提供標準的,面向消息的,能夠跨越多語言和多系統(tǒng)的應(yīng)用集成消息通信中間件。
這樣,本發(fā)明實施例能夠針對重要度程度和實時性要求不同的數(shù)據(jù)采用不同的數(shù)據(jù)上報方式,從而能夠有針對性的不同類型的數(shù)據(jù)進行單獨上傳,能夠滿足不同類型的數(shù)據(jù)的上傳要求,提升數(shù)據(jù)的上傳效率。
可選地,在一個實施例中,參照圖1和圖2,所述主服務(wù)器和所述至少兩個負載服務(wù)器均部署有關(guān)系型數(shù)據(jù)庫(例如mysql數(shù)據(jù)庫,或其他關(guān)系型數(shù)據(jù)庫),所述主服務(wù)器上部署的第一關(guān)系型數(shù)據(jù)庫與每個負載服務(wù)器上部署的第二關(guān)系型數(shù)據(jù)庫之間的關(guān)系為主從關(guān)系;
所述主服務(wù)器(例如其上的第二數(shù)據(jù)同步模塊),還用于將所述業(yè)務(wù)數(shù)據(jù)的處理結(jié)果存儲至所述第一關(guān)系型數(shù)據(jù)庫,并當所述第一關(guān)系型數(shù)據(jù)庫中的數(shù)據(jù)發(fā)生變化時,將變化數(shù)據(jù)同步下發(fā)至每個負載服務(wù)器;
所述每個負載服務(wù)器(例如其上的第一數(shù)據(jù)同步模塊),還用于將接收到的所述變化數(shù)據(jù)同步至本地的第二關(guān)系型數(shù)據(jù)庫。
本發(fā)明實施例的數(shù)據(jù)同步由關(guān)系型數(shù)據(jù)庫的主從同步機制完成。負載服務(wù)器的關(guān)系型數(shù)據(jù)庫與主服務(wù)器的關(guān)系型數(shù)據(jù)庫為主-從的關(guān)系,主服務(wù)器的數(shù)據(jù)發(fā)生變化之后,會通過其本身的主從同步機制將數(shù)據(jù)同步到所有的負載服務(wù)器中的數(shù)據(jù)庫中,保證了主服務(wù)器和所有負載服務(wù)器之間的數(shù)據(jù)同步。
可選地,在一個實施例中,參照圖1和圖2,所述主服務(wù)器與每個負載服務(wù)器之間的數(shù)據(jù)交互協(xié)議包括xmpp協(xié)議。
其中,負載服務(wù)器可以使用基于xmpp協(xié)議開發(fā)的開源im服務(wù)tigase。
tigase是基于封裝xmpp協(xié)議的基礎(chǔ)上實現(xiàn)的im(即時通信)服務(wù)器。tigase服務(wù)器的實現(xiàn)基于java的nio技術(shù)、定時器以及異步多線程,保證了高性能、高并發(fā)處理客戶端請求以及實現(xiàn)向客戶端消息的推送。tigase組件、插件式的設(shè)計架構(gòu)支持定制化的研發(fā)組件和插件,這樣的設(shè)計架構(gòu)不僅靈活可擴展,而且有利于處理特殊的業(yè)務(wù)請求。
該技術(shù)可以使用簡單的配置即可在同一服務(wù)器中完成集群的配置,即,圖1和圖2中示出了負載服務(wù)器1可以是一個服務(wù)器集群,通過使用集群可以減少單一的負載服務(wù)器在高并發(fā)的情況下造成的服務(wù)器壓力過大的情況。
綜上,首先,本發(fā)明實施例通過將負載服務(wù)器安裝部署在不同的網(wǎng)絡(luò)區(qū)域段,用于處理相對應(yīng)的網(wǎng)絡(luò)區(qū)域段的客戶端/移動端的請求。同時,利用成熟的im服務(wù)(基于xmpp協(xié)議的即時通訊開源技術(shù))tigase處理客戶端/移動端的數(shù)據(jù)請求。其次,本發(fā)明實施例利用activemq、mysql技術(shù),利用activemq的高效的、可擴展的、穩(wěn)定的和安全的企業(yè)級消息總線,以及其高性能隊列處理負載服務(wù)器向主服務(wù)器上報負載服務(wù)器的數(shù)據(jù)。為提高其上報數(shù)據(jù)的實時性以及性能,采用activemq的持久化隊列以及非持久化隊列的方式分別處理不同類型的上報數(shù)據(jù),持久化的方式用于重要數(shù)據(jù)且實時性要求較低的數(shù)據(jù)上報,非持久化的方式用于次要且實時性要求較高的數(shù)據(jù)上報。此外,還利用mysql的主從同步機制,完成主服務(wù)器以及負載服務(wù)器之間的數(shù)據(jù)同步問題。最后,利用netty技術(shù),通過主服務(wù)器作為代理,解決負載服務(wù)器之間的數(shù)據(jù)通信問題。
需要說明的是,對于方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明實施例并不受所描述的動作順序的限制,因為依據(jù)本發(fā)明實施例,某些步驟可以采用其他順序或者同時進行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說明書中所描述的實施例均屬于優(yōu)選實施例,所涉及的動作并不一定是本發(fā)明實施例所必須的。
與上述本發(fā)明實施例所提供的系統(tǒng)相對應(yīng),參照圖3,示出了本發(fā)明一種負載均衡方法實施例的步驟流程圖,應(yīng)用于負載均衡系統(tǒng),所述系統(tǒng)包括:主服務(wù)器、至少兩個負載服務(wù)器、至少兩個終端,具體可以包括如下步驟:
步驟101,所述負載服務(wù)器接收并處理目標終端的業(yè)務(wù)請求,并將對所述業(yè)務(wù)請求進行處理時所產(chǎn)生的業(yè)務(wù)數(shù)據(jù)上報至所述主服務(wù)器;
其中,所述目標終端的網(wǎng)絡(luò)地址與所述負載服務(wù)器的網(wǎng)絡(luò)地址屬于相同網(wǎng)絡(luò)區(qū)域段;
步驟102,所述主服務(wù)器接收并處理所述負載服務(wù)器上報的業(yè)務(wù)數(shù)據(jù),并將所述業(yè)務(wù)數(shù)據(jù)的處理結(jié)果同步下發(fā)至所述至少兩個負載服務(wù)器;
步驟103,所述負載服務(wù)器將所述業(yè)務(wù)數(shù)據(jù)的處理結(jié)果返回至所述目標終端。
這樣,本發(fā)明實施例通過設(shè)計一個主服務(wù)器、位于該主服務(wù)器下的至少兩個負載服務(wù)器,以及每個負載服務(wù)器管理網(wǎng)絡(luò)地址與自身屬于相同網(wǎng)絡(luò)區(qū)域段的至少一個終端的負載均衡系統(tǒng),并利用該系統(tǒng)執(zhí)行負載均衡的方法可以避免大量終端不定時請求主服務(wù)器所造成的主服務(wù)器的并發(fā)壓力,減小主服務(wù)器的負載壓力,同時保證各個負載服務(wù)器之間的負載均衡,實現(xiàn)負載服務(wù)器對終端的定向管理,使得終端能夠及時高效的與負載服務(wù)器、以及主服務(wù)器進行數(shù)據(jù)交互。
可選地,所述方法還包括:
所述主服務(wù)器接收所述負載服務(wù)器的負載通信請求,其中,所述負載通信請求包括目標負載服務(wù)器的地址信息以及請求通信的目標內(nèi)容;
所述主服務(wù)器將所述負載通信請求發(fā)送至所述目標負載服務(wù)器;
所述目標負載服務(wù)器響應(yīng)所述負載通信請求,并將響應(yīng)結(jié)果返回至所述主服務(wù)器,其中,所述響應(yīng)結(jié)果包括所述目標內(nèi)容;
所述主服務(wù)器將所述響應(yīng)結(jié)果返回至發(fā)送所述負載通信請求的所述負載服務(wù)器。
可選地,所述負載服務(wù)器在將所述業(yè)務(wù)數(shù)據(jù)上報至所述主服務(wù)器之前,所述方法還包括:
所述負載服務(wù)器確定所述業(yè)務(wù)數(shù)據(jù)的類型,當所述業(yè)務(wù)數(shù)據(jù)為第一預(yù)設(shè)類型數(shù)據(jù)時,采用activemq對所述業(yè)務(wù)數(shù)據(jù)作持久化處理,將持久化處理后的業(yè)務(wù)數(shù)據(jù)上報至所述主服務(wù)器,當所述業(yè)務(wù)數(shù)據(jù)為第二預(yù)設(shè)類型數(shù)據(jù)時,采用activemq對所述業(yè)務(wù)數(shù)據(jù)作非持久化處理,將非持久化處理后的業(yè)務(wù)數(shù)據(jù)上報至所述主服務(wù)器。
可選地,所述主服務(wù)器和所述至少兩個負載服務(wù)器均部署有關(guān)系型數(shù)據(jù)庫,所述主服務(wù)器上部署的第一關(guān)系型數(shù)據(jù)庫與每個負載服務(wù)器上部署的第二關(guān)系型數(shù)據(jù)庫之間的關(guān)系為主從關(guān)系,所述主服務(wù)器將所述業(yè)務(wù)數(shù)據(jù)的處理結(jié)果同步下發(fā)至所述至少兩個負載服務(wù)器之后,所述方法還包括:
所述主服務(wù)器將所述業(yè)務(wù)數(shù)據(jù)的處理結(jié)果存儲至所述第一關(guān)系型數(shù)據(jù)庫,并當所述第一關(guān)系型數(shù)據(jù)庫中的數(shù)據(jù)發(fā)生變化時,將變化數(shù)據(jù)同步下發(fā)至每個負載服務(wù)器;
所述每個負載服務(wù)器將接收到的所述變化數(shù)據(jù)同步至本地的第二關(guān)系型數(shù)據(jù)庫。
可選地,所述主服務(wù)器與每個負載服務(wù)器之間的數(shù)據(jù)交互協(xié)議包括xmpp協(xié)議。
對于方法實施例而言,由于其與系統(tǒng)實施例基本相似,所以描述的比較簡單,相關(guān)之處參見系統(tǒng)實施例的部分說明即可。
本說明書中的各個實施例均采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似的部分互相參見即可。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明實施例的實施例可提供為方法、裝置、或計算機程序產(chǎn)品。因此,本發(fā)明實施例可采用完全硬件實施例、完全軟件實施例、或結(jié)合軟件和硬件方面的實施例的形式。而且,本發(fā)明實施例可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(zhì)(包括但不限于磁盤存儲器、cd-rom、光學(xué)存儲器等)上實施的計算機程序產(chǎn)品的形式。
本發(fā)明實施例是參照根據(jù)本發(fā)明實施例的方法、終端設(shè)備(系統(tǒng))、和計算機程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計算機程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合。可提供這些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數(shù)據(jù)處理終端設(shè)備的處理器以產(chǎn)生一個機器,使得通過計算機或其他可編程數(shù)據(jù)處理終端設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些計算機程序指令也可存儲在能引導(dǎo)計算機或其他可編程數(shù)據(jù)處理終端設(shè)備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些計算機程序指令也可裝載到計算機或其他可編程數(shù)據(jù)處理終端設(shè)備上,使得在計算機或其他可編程終端設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計算機實現(xiàn)的處理,從而在計算機或其他可編程終端設(shè)備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
盡管已描述了本發(fā)明實施例的優(yōu)選實施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對這些實施例做出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實施例以及落入本發(fā)明實施例范圍的所有變更和修改。
最后,還需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者終端設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者終端設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者終端設(shè)備中還存在另外的相同要素。
以上對本發(fā)明所提供的一種負載均衡系統(tǒng)和一種負載均衡方法,進行了詳細介紹,本文中應(yīng)用了具體個例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實施方式及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。