一種基于sdn和云平臺的大型網(wǎng)絡(luò)游戲架構(gòu)系統(tǒng)及方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及基于SDN和云平臺的大型網(wǎng)絡(luò)游戲架構(gòu)系統(tǒng)及方法。
【背景技術(shù)】
[0002](一)軟件定義網(wǎng)絡(luò)
[0003]軟件定義網(wǎng)絡(luò)是一種提供給網(wǎng)絡(luò)管理員通過底層抽象接口管理網(wǎng)絡(luò)服務(wù)的方法,是一種新型網(wǎng)絡(luò)架構(gòu),SDN的創(chuàng)新思想主要體現(xiàn)在控制層與實(shí)體數(shù)據(jù)轉(zhuǎn)發(fā)層之間的業(yè)務(wù)分離,這對網(wǎng)絡(luò)交換機(jī)的工作方式產(chǎn)生了重大的影響。高級用戶不滿足于使用網(wǎng)絡(luò)預(yù)先設(shè)定好的功能,而是希望在自己的業(yè)務(wù)功能不斷豐富變化的過程中,能夠按照自身需求快速進(jìn)行調(diào)整。而在控制層面分離出來,或者說控制層面可以開放出來,更能實(shí)現(xiàn)虛擬化的靈活性,使得用戶能夠進(jìn)行程序編制,那么基于應(yīng)用與流量變化的快速響應(yīng),便不需要完全依賴于設(shè)備供應(yīng)商的長周期軟硬件升級來完成。
[0004]SDN通過解耦系統(tǒng),使得通信的發(fā)送地點(diǎn)(控制面)決定著下層系統(tǒng)到選定目的地將來的流量(數(shù)據(jù)面)。SDN需要一些方法來結(jié)合控制面與數(shù)據(jù)面。OpenFlow,這個概念,經(jīng)常被誤解和SDN是等同的,但其他類似的系統(tǒng)也可歸入這一概念。軟件定義網(wǎng)絡(luò)(SDN)是一種架構(gòu)具有動態(tài)的,可管理,高性價比,和適應(yīng)性等特點(diǎn),適合當(dāng)前高帶寬,動態(tài)的應(yīng)用。SDN架構(gòu)解耦網(wǎng)絡(luò)控制和轉(zhuǎn)發(fā)功能,使網(wǎng)絡(luò)的控制直接變成可編程的而且底層基礎(chǔ)設(shè)施可以有用程序和網(wǎng)絡(luò)服務(wù)提取出來。SDN架構(gòu)主要特點(diǎn)是:
[0005].直接編程:網(wǎng)絡(luò)控制直接編程,因?yàn)樗敲撾x轉(zhuǎn)發(fā)功能。
[0006].靈活:從轉(zhuǎn)發(fā)抽象控制,管理員可以動態(tài)地調(diào)整全網(wǎng)流量,以滿足不斷變化的需求。
[0007]?集中管理:網(wǎng)絡(luò)智能(邏輯)集中在基于軟件的SDN控制器,是維護(hù)網(wǎng)絡(luò)的全局視圖,其中應(yīng)用程序和策略引擎作為單一的邏輯交換機(jī)。
[0008].編程配置:SDN通過動態(tài)、自動SDN方案讓網(wǎng)絡(luò)
[0009]管理者很快地安裝、管理、保護(hù)和優(yōu)化網(wǎng)絡(luò)資源,這些自動SDN方案可可以編寫自身程序,因?yàn)樵摲桨覆灰蕾囉趯S熊浖?br>[0010].基于開放標(biāo)準(zhǔn)和廠商中立的:當(dāng)通過開放標(biāo)準(zhǔn)來實(shí)現(xiàn),SDN簡化了網(wǎng)絡(luò)設(shè)計(jì)和操作,因?yàn)橹噶钣蒘DN控制器提供的,而不是多個供應(yīng)商特定的設(shè)備和協(xié)議。
[0011](二)云計(jì)算
[0012]云計(jì)算依賴于資源共享,實(shí)現(xiàn)連貫性和大規(guī)模,類似于覆蓋網(wǎng)絡(luò)的實(shí)用程序(如電網(wǎng))。從根本上說,云計(jì)算就是融合了基礎(chǔ)設(shè)施和共享服務(wù)這么一個廣泛的概念。
[0013]云計(jì)算,或在更簡單的速記”云”,也關(guān)注最大化效率的共享資源。
[0014]云計(jì)算不僅可以被多個用戶共享而且會動態(tài)的重新分布每個要求,利用云計(jì)算,多個用戶可以在沒有為不同的應(yīng)用程序購買許可的情況下,訪問單個服務(wù)器檢索和更新他們的數(shù)據(jù)?!耙苿釉朴?jì)算”這個詞也指的是一個組織遠(yuǎn)離傳統(tǒng)的資本支出模型運(yùn)營成本模型。主要支撐云計(jì)算的技術(shù)是虛擬化,虛擬化軟件的物理計(jì)算裝置分離成一個或多個“虛擬”的設(shè)備,每一個都可以容易地使用和管理,以執(zhí)行計(jì)算任務(wù)。隨著操作系統(tǒng)級的虛擬化基本上是建立多個獨(dú)立的計(jì)算設(shè)備的可擴(kuò)展系統(tǒng),閑置的計(jì)算資源可以分配和使用效率。云計(jì)算采用的面向服務(wù)的架構(gòu)(SOA)的概念,可以幫助用戶破解業(yè)務(wù)問題,也可以被集成,以提供一個解決方案的服務(wù)。云計(jì)算提供其所有的資源服務(wù),和利用了既定的標(biāo)準(zhǔn)和最佳積累了 SOA的領(lǐng)域的做法,讓全球方便地訪問云服務(wù)以標(biāo)準(zhǔn)化的方式。云計(jì)算還利用從實(shí)用概念計(jì)算提供量度中使用的服務(wù)。這樣指標(biāo)是在公共云按次付費(fèi)使用的核心模型。此外,測得的服務(wù)是一個基本在自主計(jì)算的反饋回路的一部分,從而允許服務(wù)擴(kuò)展點(diǎn)播和執(zhí)行自動故障恢復(fù)。
[0015](三)大型多人在線游戲架構(gòu)
[0016]MMORPG在全世界受到廣泛歡迎的同時,也面臨著一些困難和挑戰(zhàn),限制了網(wǎng)絡(luò)游戲的發(fā)展。很多網(wǎng)絡(luò)游戲注冊用戶數(shù)增長迅速,但是應(yīng)付用戶數(shù)量的增長的辦法卻很有限。如World of Warcraft這樣的大型網(wǎng)絡(luò)游戲,注冊用戶增長十分迅速,但是每個虛擬世界可容納的人數(shù)較少,為了滿足用戶的需要,只能采用增加虛擬世界的個數(shù)的辦法。這些虛擬世界彼此隔離,但是地圖一樣,游戲過程也相同,只是不同虛擬世界中的用戶彼此不能溝通,而且一個用戶也不能從一個虛擬世界轉(zhuǎn)換到另一個虛擬世界??墒?,網(wǎng)絡(luò)游戲是一個注重人與人之間交流的游戲形式,很多玩家都是為了和好朋友一起游戲而注冊成為用戶,如果因?yàn)槟硞€虛擬世界人數(shù)過多造成兩個現(xiàn)實(shí)中的好朋友不能一起游戲,就會大大降低游戲的樂趣,造成用戶流失。
[0017]造成這種現(xiàn)象的原因在于MMORPG服務(wù)器架構(gòu)的可伸縮性不能滿足不斷增長的用戶數(shù)量對服務(wù)器性能的需要。MMORPG是最復(fù)雜的分布式系統(tǒng)之一,實(shí)現(xiàn)一個高可伸縮的服務(wù)器架構(gòu)是極富挑戰(zhàn)的事情。如果服務(wù)器的可伸縮性有限,不能滿足一個虛擬世界中用戶數(shù)的不斷增長,那么游戲運(yùn)營商只能添加新的虛擬世界。
[0018]因此,可伸縮性(Scalability)成為MMORPG領(lǐng)域的研究熱點(diǎn)。
[0019]現(xiàn)有的大型網(wǎng)絡(luò)架構(gòu)中通常都是對資源進(jìn)行靜態(tài)的配置,例如服務(wù)器搭建完畢就不會再進(jìn)行移動,而面對龐大復(fù)雜的事務(wù)處理和大量用戶中不平衡的服務(wù)需求,導(dǎo)致沒有對資源進(jìn)行充分的利用,另外由于服務(wù)器物理位置的固定,也造成了無法解決隨著不同地理區(qū)域用戶增長,平均網(wǎng)絡(luò)延遲也隨之增加的問題。
[0020]另外,由于網(wǎng)關(guān)的單節(jié)點(diǎn)故障導(dǎo)致整組服務(wù)器無法對外提供服務(wù)的問題,也可根據(jù)動態(tài)的服務(wù)器加載解決。
[0021]綜合以上三個方面,現(xiàn)有技術(shù)不能充分利用軟件定義網(wǎng)絡(luò)的網(wǎng)絡(luò)可編程特性和云計(jì)算技術(shù)的資源動態(tài)分配特性,網(wǎng)絡(luò)延遲率高,丟包率高,云資源利用率低,無法解決服務(wù)器飽和、網(wǎng)絡(luò)通信質(zhì)量低以及無法達(dá)到用戶體驗(yàn)?zāi)康牡膯栴}。
【發(fā)明內(nèi)容】
[0022]本發(fā)明的目的是為了解決現(xiàn)有技術(shù)不能充分利用軟件定義網(wǎng)絡(luò)的網(wǎng)絡(luò)可編程特性和云計(jì)算技術(shù)的資源動態(tài)分配特性,網(wǎng)絡(luò)延遲率高,丟包率高,云資源利用率低,無法解決服務(wù)器飽和、網(wǎng)絡(luò)通信質(zhì)量低以及無法達(dá)到用戶體驗(yàn)?zāi)康牡膯栴},而提出了一種基于SDN和云平臺的大型網(wǎng)絡(luò)游戲架構(gòu)系統(tǒng)及方法。
[0023]上述的發(fā)明目的是通過以下技術(shù)方案實(shí)現(xiàn)的:
[0024]一種基于SDN和云平臺的大型網(wǎng)絡(luò)游戲架構(gòu)系統(tǒng),其特征在于它包括:
[0025]用于對SDN通信模塊、云平臺控制服務(wù)器模塊和服務(wù)提供服務(wù)器模塊的資源進(jìn)行實(shí)時監(jiān)控、整合、記錄和通過調(diào)度算法進(jìn)行協(xié)調(diào)控制的全局服務(wù)器模塊;
[0026]用于將用戶通過隧道技術(shù)連接到SDN網(wǎng)關(guān),接入SDN網(wǎng)絡(luò),根據(jù)SDN的拓?fù)浣Y(jié)構(gòu)進(jìn)行組播樹優(yōu)化的SDN通信模塊;
[0027]用于對二級服務(wù)進(jìn)行實(shí)時調(diào)度的服務(wù)提供服務(wù)器模塊;
[0028]其中,所述二級服務(wù)包括Al服務(wù)、帳號服務(wù)、邏輯服務(wù)和活動服務(wù);
[0029]用于對各個物理地域進(jìn)行分離,根據(jù)用戶量和用戶請求的服務(wù)進(jìn)行服務(wù)器的動態(tài)加載,實(shí)現(xiàn)數(shù)據(jù)的緩存和隔離的云平臺控制服務(wù)器模塊。
[0030]一種基于SDN和云平臺的大型網(wǎng)絡(luò)游戲架構(gòu)方法,其特征在于它包括:
[0031]用于對SDN通信模塊、云平臺控制服務(wù)器模塊和服務(wù)提供服務(wù)器模塊的資源進(jìn)行實(shí)時監(jiān)控、整合、記錄和通過調(diào)度算法進(jìn)行協(xié)調(diào)控制的全局服務(wù)器步驟;
[0032]用于將用戶通過隧道技術(shù)連接到SDN