一種應(yīng)用于游戲網(wǎng)絡(luò)的網(wǎng)關(guān)連入方法與系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及計(jì)算機(jī)網(wǎng)絡(luò)領(lǐng)域,特別涉及在計(jì)算機(jī)網(wǎng)絡(luò)中進(jìn)行網(wǎng)關(guān)接入的技術(shù),尤 其涉及一種應(yīng)用于游戲網(wǎng)絡(luò)的網(wǎng)關(guān)接入方法與系統(tǒng)。
【背景技術(shù)】
[0002] 隨著計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的發(fā)展,尤其是因特網(wǎng)技術(shù)的廣泛應(yīng)用,很多網(wǎng)絡(luò)公司,尤其 是具有網(wǎng)絡(luò)游戲業(yè)務(wù)的公司都在研發(fā)穩(wěn)定的網(wǎng)關(guān)拓?fù)浣Y(jié)構(gòu),使得網(wǎng)關(guān)進(jìn)程更趨均衡,游戲 客戶端在切換服務(wù)器過程中連接更加穩(wěn)定。
[0003] 現(xiàn)有的技術(shù)中包括網(wǎng)絡(luò)游戲多層服務(wù)器結(jié)構(gòu),包括運(yùn)營商平臺、網(wǎng)關(guān)、IDC路由器 和服務(wù)器層,所述服務(wù)器層為三層結(jié)構(gòu),分別為大區(qū)層、交互層和線路層;每層分別通過一 交換機(jī)與IDC路由器相連,且每層服務(wù)器與其對應(yīng)的交換機(jī)采用星型拓樸結(jié)構(gòu)相連;然而 這樣的結(jié)構(gòu)雖然有層級上的擴(kuò)展,但是并沒有解決負(fù)載均衡的問題,更不能實(shí)現(xiàn)服務(wù)器的 無縫切換。
[0004] 也就是說,現(xiàn)有技術(shù)雖然針對網(wǎng)關(guān)拓?fù)浣Y(jié)構(gòu)進(jìn)行了改進(jìn),但是針對目前大規(guī)模網(wǎng) 絡(luò)數(shù)據(jù)的升級,如何更合理地解決網(wǎng)關(guān)進(jìn)程的負(fù)載問題,實(shí)現(xiàn)多個(gè)網(wǎng)關(guān)進(jìn)程的負(fù)載均衡,并 未得到根本解決。
【發(fā)明內(nèi)容】
[0005] 為了解決現(xiàn)有技術(shù)中的上述缺陷,本發(fā)明提供了一種應(yīng)用于游戲網(wǎng)絡(luò)的網(wǎng)關(guān)連入 方法,同時(shí)提供了一種應(yīng)用于游戲網(wǎng)絡(luò)的網(wǎng)關(guān)連入系統(tǒng),通過網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的全新設(shè)計(jì),通 過網(wǎng)絡(luò)安全的精細(xì)控制,通過對網(wǎng)絡(luò)負(fù)載數(shù)據(jù)的創(chuàng)新性分配,實(shí)現(xiàn)多個(gè)網(wǎng)關(guān)進(jìn)程之間的負(fù) 載均衡,從而解決網(wǎng)絡(luò)游戲在切換服務(wù)器過程中出現(xiàn)的客戶端與服務(wù)器連接問題。本結(jié)構(gòu) 原則上提供了任意數(shù)量客戶端的連入。
[0006] 基于此,本發(fā)明提供了一種應(yīng)用于游戲網(wǎng)絡(luò)的網(wǎng)關(guān)連入方法,所述方法包括:S1) 當(dāng)前客戶端通過預(yù)先設(shè)定的IP地址和端口號連接至網(wǎng)絡(luò)連入服務(wù)器;S2)網(wǎng)絡(luò)連入服務(wù)器 計(jì)算多個(gè)網(wǎng)關(guān)設(shè)備中的每一個(gè)的負(fù)載值,并根據(jù)所述負(fù)載值為當(dāng)前客戶端分配網(wǎng)關(guān)設(shè)備; S3)所分配的網(wǎng)關(guān)設(shè)備與當(dāng)前客戶端建立連接;S4)所分配的網(wǎng)關(guān)設(shè)備為當(dāng)前客戶端建立消 息報(bào)ID列表,根據(jù)所述消息報(bào)ID列表確定當(dāng)前客戶端可以與哪些數(shù)據(jù)服務(wù)器進(jìn)行發(fā)包通 信;其中,當(dāng)前客戶端與多個(gè)數(shù)據(jù)服務(wù)器之間的所有通信包,均需要通過所分配的網(wǎng)關(guān)設(shè)備 進(jìn)行轉(zhuǎn)發(fā)。
[0007] 本發(fā)明還提供了一種應(yīng)用于游戲網(wǎng)絡(luò)的網(wǎng)關(guān)連入系統(tǒng),所述系統(tǒng)包括:多個(gè)客戶 端,所述多個(gè)客戶端中的每一個(gè)通過預(yù)先設(shè)定的IP地址和端口號連接至網(wǎng)絡(luò)連入服務(wù) 器;網(wǎng)絡(luò)連入服務(wù)器,所述網(wǎng)絡(luò)連入服務(wù)器計(jì)算多個(gè)網(wǎng)關(guān)設(shè)備中的每一個(gè)的負(fù)載值,并根 據(jù)所述負(fù)載值為當(dāng)前客戶端分配網(wǎng)關(guān)設(shè)備;多個(gè)網(wǎng)關(guān)設(shè)備,所述多個(gè)網(wǎng)關(guān)設(shè)備中的每一個(gè) 為連入的每一個(gè)客戶端建立消息報(bào)ID列表,根據(jù)所述消息報(bào)ID列表確定連入的每一個(gè)客 戶端可以與哪些數(shù)據(jù)服務(wù)器進(jìn)行發(fā)包通信;多個(gè)數(shù)據(jù)服務(wù)器,通過多個(gè)網(wǎng)關(guān)設(shè)備與多個(gè)客 戶端進(jìn)行發(fā)包通信;其中,多個(gè)客戶端與多個(gè)數(shù)據(jù)服務(wù)器之間的所有通信包,均需要通過多 個(gè)網(wǎng)關(guān)設(shè)備進(jìn)行轉(zhuǎn)發(fā)。
[0008] 優(yōu)選地,根據(jù)所述負(fù)載值為當(dāng)前客戶端分配網(wǎng)關(guān)設(shè)備為:將負(fù)載值最小的網(wǎng)關(guān)設(shè) 備分配給當(dāng)前客戶端。
[0009] 優(yōu)選地,網(wǎng)絡(luò)連入服務(wù)器選擇負(fù)載值最小的網(wǎng)關(guān)設(shè)備發(fā)起詢問,詢問是否允許當(dāng) 前客戶端連入,如果對方不允許,則選擇負(fù)載值次小的網(wǎng)關(guān)設(shè)備發(fā)起詢問,直到有網(wǎng)關(guān)設(shè)備 同意連入時(shí)才將同意連入的網(wǎng)關(guān)設(shè)備分配給當(dāng)前客戶端。
[0010] 優(yōu)選地,步驟S2)與步驟S3)之間包括步驟S21):將所分配的網(wǎng)關(guān)設(shè)備的IP地址、 端口號以及一個(gè)隨機(jī)的加密連接密鑰發(fā)送給當(dāng)前客戶端,同時(shí)將所述加密連接秘鑰發(fā)送給 所選擇的網(wǎng)關(guān)設(shè)備。
[0011] 優(yōu)選地,步驟S21)與步驟S3)之間包括步驟S22):當(dāng)前客戶端通過從網(wǎng)絡(luò)連入服 務(wù)器收到的IP地址和端口號與所選擇的網(wǎng)關(guān)設(shè)備建立連接,之后將從網(wǎng)絡(luò)連入服務(wù)器收 到的加密連接密鑰發(fā)送給所選擇的網(wǎng)關(guān)設(shè)備;所選擇的網(wǎng)關(guān)設(shè)備將從當(dāng)前客戶端收到的加 密連接密鑰與從網(wǎng)絡(luò)連入服務(wù)器收到的加密連接密鑰進(jìn)行比對,如果一致,則與客戶端建 立連接。
[0012] 優(yōu)選地,步驟S4)進(jìn)一步包括:所選擇的網(wǎng)關(guān)設(shè)備為當(dāng)前客戶端分配一個(gè)專屬ID, 并將所述專屬ID發(fā)送給當(dāng)前客戶端需要訪問的數(shù)據(jù)服務(wù)器,使得當(dāng)前客戶端與數(shù)據(jù)服務(wù) 器進(jìn)行發(fā)包通信;在當(dāng)前客戶端需要與不同的數(shù)據(jù)服務(wù)器進(jìn)行通信時(shí),只需要在消息報(bào)ID 中增加相應(yīng)的索引,所選擇的網(wǎng)關(guān)設(shè)備會根據(jù)索引來選擇當(dāng)前客戶端的消息包發(fā)往哪個(gè)數(shù) 據(jù)服務(wù)器;而數(shù)據(jù)服務(wù)器發(fā)給當(dāng)前客戶端的消息包,也可以通過當(dāng)前客戶端的專屬ID,來 找到當(dāng)前客戶端的IP地址與端口,并實(shí)現(xiàn)消息報(bào)的發(fā)送。
[0013] 優(yōu)選地,其中多個(gè)網(wǎng)關(guān)設(shè)備中的每一個(gè)運(yùn)行過程中,通過網(wǎng)絡(luò)發(fā)包將以下信息定 時(shí)同步給網(wǎng)絡(luò)連入服務(wù)器:網(wǎng)關(guān)設(shè)備ID、所連接的客戶端數(shù)量、單位時(shí)間收發(fā)報(bào)文量,網(wǎng)絡(luò) 連入服務(wù)器為多個(gè)網(wǎng)關(guān)設(shè)備中的每一個(gè)建立隊(duì)列來管理這些信息。
[0014] 優(yōu)選地,其中,步驟S2)進(jìn)一步包括: 521) 網(wǎng)絡(luò)連入服務(wù)器通過以下公式計(jì)算多個(gè)網(wǎng)關(guān)設(shè)備中的每一個(gè)的負(fù)載值:
【主權(quán)項(xiàng)】
1. 一種應(yīng)用于游戲網(wǎng)絡(luò)的網(wǎng)關(guān)連入方法,所述方法包括: 51) 當(dāng)前客戶端通過預(yù)先設(shè)定的IP地址和端口號連接至網(wǎng)絡(luò)連入服務(wù)器; 52) 網(wǎng)絡(luò)連入服務(wù)器計(jì)算多個(gè)網(wǎng)關(guān)設(shè)備中的每一個(gè)的負(fù)載值,并根據(jù)所述負(fù)載值為當(dāng) 前客戶端分配網(wǎng)關(guān)設(shè)備; 53) 所分配的網(wǎng)關(guān)設(shè)備與當(dāng)前客戶端建立連接; 54) 所分配的網(wǎng)關(guān)設(shè)備為當(dāng)前客戶端建立消息報(bào)ID列表,根據(jù)所述消息報(bào)ID列表確定 當(dāng)前客戶端可W與哪些數(shù)據(jù)服務(wù)器進(jìn)行發(fā)包通信; 其中,當(dāng)前客戶端與多個(gè)數(shù)據(jù)服務(wù)器之間的所有通信包,均需要通過所分配的網(wǎng)關(guān)設(shè) 備進(jìn)行轉(zhuǎn)發(fā)。
2. 根據(jù)權(quán)利要求1所述的方法,其中,根據(jù)所述負(fù)載值為當(dāng)前客戶端分配網(wǎng)關(guān)設(shè)備為: 將負(fù)載值最小的網(wǎng)關(guān)設(shè)備分配給當(dāng)前客戶端。
3. 根據(jù)權(quán)利要求1所述的方法,其中,網(wǎng)絡(luò)連入服務(wù)器選擇負(fù)載值最小的網(wǎng)關(guān)設(shè)備發(fā) 起詢問,詢問是否允許當(dāng)前客戶端連入,如果對方不允許,則選擇負(fù)載值次小的網(wǎng)關(guān)設(shè)備發(fā) 起詢問,直到有網(wǎng)關(guān)設(shè)備同意連入時(shí)才將同意連入的網(wǎng)關(guān)設(shè)備分配給當(dāng)前客戶端。
4. 根據(jù)權(quán)利要求1所述的方法,其中,步驟S2)與步驟S3)之間包括步驟S21);將所分 配的網(wǎng)關(guān)設(shè)備的IP地址、端口號W及一個(gè)隨機(jī)的加密連接密鑰發(fā)送給當(dāng)前客戶端,同時(shí)將 所述加密連接秘鑰發(fā)送給所選擇的網(wǎng)關(guān)設(shè)備。
5. 根據(jù)權(quán)利要求4所述的方法,其中,步驟S21)與步驟S3)之間包括步驟S22);當(dāng)前 客戶端通過從網(wǎng)絡(luò)連入服務(wù)器收到的IP地址和端口號與所選擇的網(wǎng)關(guān)設(shè)備建立連接,之 后將從網(wǎng)絡(luò)連入服務(wù)器收到的加密連接密鑰發(fā)送給所選擇的網(wǎng)關(guān)設(shè)備;所選擇的網(wǎng)關(guān)設(shè)備 將從當(dāng)前客戶端收到的加密連接密鑰與從網(wǎng)絡(luò)連入服務(wù)器收到的加密連接密鑰進(jìn)行比對, 如果一致,則與客戶端建立連接。
6. 根據(jù)權(quán)利要求1所述的方法,其中,步驟S4)進(jìn)一步包括: 所選擇的網(wǎng)關(guān)設(shè)備為當(dāng)前客戶端分配一個(gè)專屬ID,并將所述專屬ID發(fā)送給當(dāng)前客戶 端需要訪問的數(shù)據(jù)服務(wù)器,使得當(dāng)前客戶端與數(shù)據(jù)服務(wù)器進(jìn)行發(fā)包通信; 在當(dāng)前客戶端需要與不同的數(shù)據(jù)服務(wù)器進(jìn)行通信時(shí),只需要在消息報(bào)ID中增加相應(yīng) 的索引,所選擇的網(wǎng)關(guān)設(shè)備會根據(jù)索引來選擇當(dāng)前客戶端的消息包發(fā)往哪個(gè)數(shù)據(jù)服務(wù)器; 而數(shù)據(jù)服務(wù)器發(fā)給當(dāng)前客戶端的消息包,也可W通過當(dāng)前客戶端的專屬ID,來找到當(dāng)前客 戶端的IP地址與端口,并實(shí)現(xiàn)消息報(bào)的發(fā)送。
7. 根據(jù)權(quán)利要求1-6中的任一權(quán)利要求所述的方法,其中多個(gè)網(wǎng)關(guān)設(shè)備中的每一個(gè)運(yùn) 行過程中,通過網(wǎng)絡(luò)發(fā)包將W下信息定時(shí)同步給網(wǎng)絡(luò)連入服務(wù)器:網(wǎng)關(guān)設(shè)備ID、所連接的 客戶端數(shù)量、單位時(shí)間收發(fā)報(bào)文量,網(wǎng)絡(luò)連入服務(wù)器為多個(gè)網(wǎng)關(guān)設(shè)備中的每一個(gè)建立隊(duì)列 來管理該些信息。
8. -種應(yīng)用于游戲網(wǎng)絡(luò)的網(wǎng)關(guān)連入系統(tǒng),所述系統(tǒng)包括: 多個(gè)客戶端,所述多個(gè)客戶端中的每一個(gè)通過預(yù)先設(shè)定的IP地址和端口號連接至網(wǎng) 絡(luò)連入服務(wù)器; 網(wǎng)絡(luò)連入服務(wù)器,所述網(wǎng)絡(luò)連入服務(wù)器計(jì)算多個(gè)網(wǎng)關(guān)設(shè)備中的每一個(gè)的負(fù)載值,并根 據(jù)所述負(fù)載值為當(dāng)前客戶端分配網(wǎng)關(guān)設(shè)備; 多個(gè)網(wǎng)關(guān)設(shè)備,所述多個(gè)網(wǎng)關(guān)設(shè)備中的每一個(gè)為連入的每一個(gè)客戶端建立消息報(bào)ID 列表,根據(jù)所述消息報(bào)ID列表確定連入的每一個(gè)客戶端可W與哪些數(shù)據(jù)服務(wù)器進(jìn)行發(fā)包 通信; 多個(gè)數(shù)據(jù)服務(wù)器,通過多個(gè)網(wǎng)關(guān)設(shè)備與多個(gè)客戶端進(jìn)行發(fā)包通信; 其中,多個(gè)客戶端與多個(gè)數(shù)據(jù)服務(wù)器之間的所有通信包,均需要通過多個(gè)網(wǎng)關(guān)設(shè)備進(jìn) 行轉(zhuǎn)發(fā)。
【專利摘要】本發(fā)明提供了一種應(yīng)用于游戲網(wǎng)絡(luò)的網(wǎng)關(guān)連入方法與系統(tǒng),通過網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的全新設(shè)計(jì)、網(wǎng)絡(luò)安全的精細(xì)控制、對網(wǎng)絡(luò)負(fù)載數(shù)據(jù)的創(chuàng)新性分配,實(shí)現(xiàn)多個(gè)網(wǎng)關(guān)進(jìn)程之間的負(fù)載均衡,從而解決網(wǎng)絡(luò)游戲在切換服務(wù)器過程中出現(xiàn)的客戶端與服務(wù)器連接問題。
【IPC分類】H04L12-803, H04L12-66, G06F9-46
【公開號】CN104683252
【申請?zhí)枴緾N201310611001
【發(fā)明人】洪曉健
【申請人】北京暢游天下網(wǎng)絡(luò)技術(shù)有限公司
【公開日】2015年6月3日
【申請日】2013年11月26日