專利名稱:一種混合式網(wǎng)絡(luò)游戲數(shù)據(jù)的傳輸方法及其傳輸系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種數(shù)據(jù)傳輸技術(shù),尤其涉及一種網(wǎng)絡(luò)游戲數(shù)據(jù)的傳輸方法及其傳輸系統(tǒng)。
背景技術(shù):
近年來,計(jì)算機(jī)和網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,也帶動(dòng)了互聯(lián)網(wǎng)產(chǎn)業(yè)的迅速發(fā)展。其中,網(wǎng)絡(luò)游戲更是異軍突起,已成為互聯(lián)網(wǎng)產(chǎn)業(yè)中的一個(gè)重要增長(zhǎng)點(diǎn)。通過寬帶網(wǎng)絡(luò)和無線上網(wǎng)的方式為客戶提供視頻游戲和互動(dòng)娛樂,正逐漸成為這一市場(chǎng)的主流,將為娛樂市場(chǎng)的格局帶來巨大的變化。
現(xiàn)有的網(wǎng)絡(luò)游戲中,絕大部分都是采用主從式網(wǎng)絡(luò)結(jié)構(gòu)(Server/Client)進(jìn)行通信,其中包含一個(gè)服務(wù)器端(Server)和至少一個(gè)客戶端(Client)。在此C/S結(jié)構(gòu)中,服務(wù)器端維護(hù)整個(gè)世界狀態(tài),所有對(duì)象的狀態(tài)以服務(wù)器端為準(zhǔn),客戶端的任何動(dòng)作都需要服務(wù)器端驗(yàn)證,而所有對(duì)象的狀態(tài)變更又由服務(wù)器端廣播給客戶端。因此,C/S結(jié)構(gòu)具有以下優(yōu)點(diǎn)架構(gòu)簡(jiǎn)單、管理方便,能夠有效地防止玩家的作弊行為,作為數(shù)據(jù)存儲(chǔ)區(qū)域,容易保證信息數(shù)據(jù)的安全。但同時(shí)也存在著以下缺陷服務(wù)器的數(shù)據(jù)吞吐量以及計(jì)算量非常大,對(duì)網(wǎng)絡(luò)環(huán)境的要求以及設(shè)備性能的要求也非常高。對(duì)于大部分MMOG(大型多人線上游戲)來說尤其如此,因?yàn)槠浞?wù)器端和客戶端所運(yùn)行的游戲程序并不是一樣的。
為此,針對(duì)C/S結(jié)構(gòu)網(wǎng)絡(luò)游戲系統(tǒng)所存在的不足,人們也做了大量的研究開發(fā)工作。中國(guó)專利公開號(hào)為CN1549639A的專利申請(qǐng),是結(jié)合移動(dòng)終端、移動(dòng)通信技術(shù)的特點(diǎn)提出的一種對(duì)稱式無線網(wǎng)絡(luò)游戲傳輸方法。該專利申請(qǐng)針對(duì)的網(wǎng)絡(luò)游戲系統(tǒng)同樣存在服務(wù)器端和客戶端,但服務(wù)器端和客戶端一樣,也作為一個(gè)游戲參加者參加游戲,此外服務(wù)器端還要負(fù)責(zé)額外的工作,即把客戶端的動(dòng)作通過自身轉(zhuǎn)發(fā)到其余客戶端。由于此種類型的網(wǎng)絡(luò)游戲系統(tǒng)同樣存在著服務(wù)器工作量大、要求的通信帶寬高等不足,為此上述專利申請(qǐng)將各個(gè)移動(dòng)終端作為對(duì)等的主機(jī)組成對(duì)稱網(wǎng)絡(luò)結(jié)構(gòu)(Peer to Peer),提出了一種對(duì)稱式無線網(wǎng)絡(luò)游戲的傳輸方法。這種方法的確緩解了服務(wù)器工作量大、要求的通信帶寬高這一問題,但其設(shè)計(jì)存在著局限性,同時(shí)也帶來了以下弊端首先,每一個(gè)終端都要維護(hù)整個(gè)游戲世界狀態(tài),倘若該終端進(jìn)行的游戲并非專利申請(qǐng)中所描述的游戲類型,而是MMOG的話,要維護(hù)一個(gè)MMOG的游戲世界,對(duì)一個(gè)處理能力比專用服務(wù)器要低的客戶終端來說幾乎是不可能的。其次,由于游戲程序全部都存在于本地終端,因此很難避免游戲玩家的作弊行為。
發(fā)明內(nèi)容
本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,提供一種混合式網(wǎng)絡(luò)游戲數(shù)據(jù)的傳輸方法,旨在綜合主從式網(wǎng)絡(luò)傳輸結(jié)構(gòu)和對(duì)稱式網(wǎng)絡(luò)傳輸結(jié)構(gòu)兩者的優(yōu)勢(shì),充分利用網(wǎng)絡(luò)資源,以有效改善主從式架構(gòu)中服務(wù)器的負(fù)載和數(shù)據(jù)傳輸量過大,以及純對(duì)稱式架構(gòu)中對(duì)終端性能要求高、管理難的問題。本發(fā)明的另一目的在于提供一種混合式網(wǎng)絡(luò)游戲數(shù)據(jù)的傳輸系統(tǒng)。
本發(fā)明的目的通過以下技術(shù)方案予以實(shí)現(xiàn)本發(fā)明提供的一種混合式網(wǎng)絡(luò)游戲數(shù)據(jù)的傳輸方法,在服務(wù)器端和至少一個(gè)客戶端組成的網(wǎng)絡(luò)游戲環(huán)境中進(jìn)行,服務(wù)器端與客戶端之間為主從式網(wǎng)絡(luò)傳輸結(jié)構(gòu),各客戶端之間為對(duì)稱式網(wǎng)絡(luò)傳輸結(jié)構(gòu),包括以下步驟a.用戶在客戶端輸入動(dòng)作信息;b.服務(wù)器端接收客戶端發(fā)送的動(dòng)作信息;c.服務(wù)器端根據(jù)游戲規(guī)則對(duì)動(dòng)作信息進(jìn)行驗(yàn)證,對(duì)于經(jīng)驗(yàn)證是合法的動(dòng)作信息進(jìn)行處理并獲得處理結(jié)果;對(duì)于經(jīng)驗(yàn)證是非法的動(dòng)作信息,進(jìn)行異常動(dòng)作處理,并將處理結(jié)果通告發(fā)出該動(dòng)作信息的客戶端;d.服務(wù)器端判斷獲得的處理結(jié)果是否需要廣播;e.如果處理結(jié)果需要廣播,服務(wù)器端將其自身的運(yùn)行狀態(tài)數(shù)據(jù)與發(fā)送動(dòng)作信息的客戶端的運(yùn)行狀態(tài)數(shù)據(jù)進(jìn)行比較,根據(jù)工作量和網(wǎng)絡(luò)環(huán)境情況,判斷該處理結(jié)果由服務(wù)器端還是由該客戶端進(jìn)行轉(zhuǎn)發(fā)廣播;如果處理結(jié)果不需要廣播,通告發(fā)出該動(dòng)作信息的客戶端并結(jié)束;f.如果處理結(jié)果判定由服務(wù)器端轉(zhuǎn)發(fā)廣播,服務(wù)器端則將處理結(jié)果返回給發(fā)送動(dòng)作信息的客戶端,同時(shí)還將處理結(jié)果廣播到其余對(duì)該動(dòng)作信息感興趣的客戶端;如果處理結(jié)果判定由發(fā)送動(dòng)作信息的客戶端轉(zhuǎn)發(fā)廣播,服務(wù)器端則將處理結(jié)果以及相應(yīng)的指示操作返回給該客戶端,由該客戶端將處理結(jié)果廣播到其余對(duì)該動(dòng)作信息感興趣的客戶端。
本發(fā)明傳輸方法中依然存在服務(wù)器端、客戶端。服務(wù)器端仍然負(fù)責(zé)維護(hù)整個(gè)游戲世界的狀態(tài),客戶端的動(dòng)作需要服務(wù)器的驗(yàn)證和處理。但處理結(jié)束后,處理結(jié)果并不是一定由服務(wù)器端廣播到游戲中其余對(duì)該動(dòng)作感興趣的客戶端,而是通過比較客戶端和服務(wù)器端的工作量及網(wǎng)絡(luò)環(huán)境,決定這一處理結(jié)果是由服務(wù)器端廣播,還是由客戶端廣播,從而達(dá)到通過比較協(xié)調(diào)由客戶端和服務(wù)器端共同承擔(dān)以減輕服務(wù)器負(fù)擔(dān)的目的,以便合理、有效地利用網(wǎng)絡(luò)資源。
為及時(shí)獲得服務(wù)器端或客戶端的運(yùn)行狀態(tài)情況,以利于快速比較和判斷,本發(fā)明傳輸方法所述步驟a中,發(fā)出動(dòng)作信息的客戶端同時(shí)還收集獲取當(dāng)前其自身的運(yùn)行狀態(tài)數(shù)據(jù),連同動(dòng)作信息一起發(fā)送到服務(wù)器端;所述步驟b中服務(wù)器端在接收客戶端發(fā)送的動(dòng)作信息的同時(shí),還接收該客戶端的運(yùn)行狀態(tài)數(shù)據(jù)。此外,所述步驟b中服務(wù)器端同時(shí)還收集獲取當(dāng)前其自身的運(yùn)行狀態(tài)數(shù)據(jù)。對(duì)于涉及的運(yùn)行狀態(tài)數(shù)據(jù),可以是所述服務(wù)器端或客戶端的處理能力、資源占用情況和網(wǎng)絡(luò)狀況數(shù)據(jù)等。
本發(fā)明的另一目的通過以下方案予以實(shí)現(xiàn)本發(fā)明提供的一種混合式網(wǎng)絡(luò)游戲數(shù)據(jù)的傳輸系統(tǒng),包括服務(wù)器端和至少一個(gè)客戶端,所述客戶端包括用于發(fā)出動(dòng)作信息、接收來自服務(wù)器和其它客戶端的廣播信息、更新本機(jī)游戲世界狀態(tài)的客戶端游戲主模塊;所述服務(wù)器端包括以下模塊用于維護(hù)網(wǎng)絡(luò)游戲環(huán)境中的游戲世界以及所有客戶端的狀態(tài)信息,接收和處理客戶端發(fā)送的信息數(shù)據(jù)的服務(wù)器端游戲主模塊;用于將處理結(jié)果及其它信息數(shù)據(jù)發(fā)送廣播給客戶端的數(shù)據(jù)發(fā)送及廣播模塊;所述服務(wù)器端與客戶端之間為主從式網(wǎng)絡(luò)傳輸結(jié)構(gòu);此外,所述客戶端還包括以下模塊用于收集客戶端當(dāng)前自身的運(yùn)行狀態(tài)數(shù)據(jù),并將該數(shù)據(jù)發(fā)送給服務(wù)器端的客戶端協(xié)調(diào)模塊;用于和其余客戶端建立對(duì)稱式傳輸網(wǎng)絡(luò)以進(jìn)行通信,并將服務(wù)器端返回的處理結(jié)果傳送給本機(jī)的客戶端游戲主模塊的數(shù)據(jù)轉(zhuǎn)發(fā)模塊;所述服務(wù)器端還包括用于收集服務(wù)器端當(dāng)前自身的運(yùn)行狀態(tài)數(shù)據(jù),同時(shí)還接收客戶端運(yùn)行狀態(tài)數(shù)據(jù),并對(duì)此進(jìn)行比較判斷的服務(wù)器端協(xié)調(diào)模塊;所述各客戶端之間為對(duì)稱式網(wǎng)絡(luò)傳輸結(jié)構(gòu)。
本發(fā)明傳輸系統(tǒng)的服務(wù)器端對(duì)某一客戶端發(fā)出的動(dòng)作進(jìn)行處理,其處理結(jié)果需要轉(zhuǎn)發(fā)廣播給其余對(duì)該動(dòng)作感興趣的客戶端時(shí),數(shù)據(jù)廣播的工作可以由服務(wù)器端承擔(dān),也可以由發(fā)出該動(dòng)作的客戶端承擔(dān)。具體地可以由客戶端協(xié)調(diào)模塊和服務(wù)器端協(xié)調(diào)模塊收集各自當(dāng)前的運(yùn)行狀態(tài)數(shù)據(jù),然后由服務(wù)器端協(xié)調(diào)模塊通過比較客戶端和服務(wù)器端的工作量和網(wǎng)絡(luò)環(huán)境情況做出決定,由當(dāng)前較為空閑、狀態(tài)較好的一端來承擔(dān)數(shù)據(jù)廣播的工作。服務(wù)器端在數(shù)據(jù)廣播過程中,采用主從式網(wǎng)絡(luò)傳輸結(jié)構(gòu)的通信形式;客戶端在數(shù)據(jù)廣播過程中,采用對(duì)稱式網(wǎng)絡(luò)傳輸結(jié)構(gòu)的通信形式。
本發(fā)明具有以下有益效果(1)對(duì)某一客戶端所發(fā)出動(dòng)作的處理結(jié)果,其數(shù)據(jù)廣播并不是一定由服務(wù)器端承擔(dān),而是根據(jù)當(dāng)前的實(shí)際運(yùn)行狀態(tài),通過比較和協(xié)調(diào)由狀態(tài)較為適合的服務(wù)器端或發(fā)出該動(dòng)作的客戶端來執(zhí)行,因此能夠合理、有效地利用網(wǎng)絡(luò)資源,減輕了服務(wù)器的負(fù)擔(dān),從而有效改善了主從式架構(gòu)中服務(wù)器端負(fù)載大、數(shù)據(jù)傳輸量大、要求的通信帶寬高等問題。同時(shí)也克服了純對(duì)稱式架構(gòu)中對(duì)終端性能要求高、管理難的問題。
(2)服務(wù)器作為專用的高性能設(shè)備,由于本發(fā)明是根據(jù)實(shí)際的運(yùn)行狀態(tài)進(jìn)行協(xié)調(diào),因此能夠保證服務(wù)器的工作量,使其不至于長(zhǎng)期過于空閑。尤其是在MMOG領(lǐng)域,達(dá)到了充分利用網(wǎng)絡(luò)資源的目的。
下面將結(jié)合實(shí)施例和附圖對(duì)本發(fā)明作進(jìn)一步的詳細(xì)描述圖1是本發(fā)明實(shí)施例傳輸系統(tǒng)的傳輸架構(gòu)示意圖;圖2是本發(fā)明實(shí)施例傳輸系統(tǒng)的結(jié)構(gòu)組成框圖;圖3是本發(fā)明實(shí)施例傳輸方法中客戶端的工作流程框圖;圖4是本發(fā)明實(shí)施例傳輸方法中服務(wù)器端的工作流程框圖。
圖中服務(wù)器端10,客戶端21、22、23,服務(wù)器端游戲主模塊31,服務(wù)器端協(xié)調(diào)模塊32,數(shù)據(jù)發(fā)送及廣播模塊33,客戶端游戲主模塊41,客戶端協(xié)調(diào)模塊42,數(shù)據(jù)轉(zhuǎn)發(fā)模塊具體實(shí)施方式
圖1~圖4所示為本發(fā)明的實(shí)施例。如圖1所示,本實(shí)施例傳輸系統(tǒng)包括服務(wù)器端10和至少一個(gè)客戶端,如客戶端21、客戶端22、客戶端23......,服務(wù)器端和客戶端采用主從式網(wǎng)絡(luò)傳輸結(jié)構(gòu),各客戶端之間采用對(duì)稱式網(wǎng)絡(luò)傳輸結(jié)構(gòu)。在整個(gè)網(wǎng)絡(luò)游戲環(huán)境中還需要采用諸如用戶管理、同步機(jī)制、游戲中各種事件處理以及無線通信技術(shù)等公知技術(shù)進(jìn)行處理,以實(shí)現(xiàn)網(wǎng)絡(luò)游戲的各種功能。
如圖2所示,本實(shí)施例傳輸系統(tǒng)中的服務(wù)器端包括以下模塊
服務(wù)器端游戲主模塊31-用于維護(hù)網(wǎng)絡(luò)游戲環(huán)境中的游戲世界以及所有客戶端的狀態(tài)信息,接收和處理客戶端發(fā)送的信息數(shù)據(jù)。在網(wǎng)絡(luò)游戲環(huán)境中,整個(gè)游戲世界狀態(tài)以及所有對(duì)象的狀態(tài)以服務(wù)器為準(zhǔn),客戶端的任何動(dòng)作都需要服務(wù)器的驗(yàn)證,所有對(duì)象的狀態(tài)變更首先都要由服務(wù)器處理。
服務(wù)器端協(xié)調(diào)模塊32-用于收集服務(wù)器端當(dāng)前自身的運(yùn)行狀態(tài)數(shù)據(jù)(包括某一時(shí)刻服務(wù)器端的處理能力、資源占用情況、網(wǎng)絡(luò)狀況等),并通過通信獲取客戶端的上述運(yùn)行狀態(tài)數(shù)據(jù),設(shè)定簡(jiǎn)單的規(guī)則進(jìn)行比較,選出當(dāng)前較為空閑、狀態(tài)較好的一端來承擔(dān)數(shù)據(jù)轉(zhuǎn)發(fā)廣播的工作。
數(shù)據(jù)發(fā)送及廣播模塊33-用于將處理結(jié)果及其它信息數(shù)據(jù)發(fā)送廣播給客戶端。其具體工作包括向客戶端返回來自服務(wù)器端游戲主模塊31的、其需要的游戲世界信息;將來自服務(wù)器端游戲主模塊31的、對(duì)某一客戶端發(fā)出動(dòng)作進(jìn)行處理的結(jié)果廣播到其余對(duì)該動(dòng)作感興趣的客戶端。
本實(shí)施例傳輸系統(tǒng)中的客戶端包括以下模塊客戶端游戲主模塊41-用于發(fā)出動(dòng)作信息、接收來自服務(wù)器和其它客戶端的廣播信息、更新本機(jī)游戲世界狀態(tài)。其與傳統(tǒng)的主從式MMOG的客戶端游戲主模塊結(jié)構(gòu)功能基本一致。
客戶端協(xié)調(diào)模塊42-用于收集客戶端當(dāng)前自身的運(yùn)行狀態(tài)數(shù)據(jù)(包括某一時(shí)刻服務(wù)器端的處理能力、資源占用情況、網(wǎng)絡(luò)狀況等),并將該數(shù)據(jù)發(fā)送給服務(wù)器端協(xié)調(diào)模塊32。
數(shù)據(jù)轉(zhuǎn)發(fā)模塊43-用于和其余客戶端建立對(duì)稱式傳輸網(wǎng)絡(luò)以進(jìn)行通信,接收服務(wù)器端10返回的處理結(jié)果,并傳送給本機(jī)的客戶端游戲主模塊41,由該主模塊41對(duì)本機(jī)中的局部游戲世界進(jìn)行更新。
本實(shí)施例的處理流程包括二個(gè)部分客戶端(Client)的工作流程和服務(wù)器端(Server)的工作流程。
如圖3所示,客戶端(Client)的處理流程如下(以客戶端21為例)C1游戲啟動(dòng)開始。
C2客戶端21與服務(wù)器端10建立連接,登錄到游戲世界。
C3通過服務(wù)器端10維護(hù)的用戶信息列表獲取其余客戶端22、23......的網(wǎng)絡(luò)位置,通過數(shù)據(jù)轉(zhuǎn)發(fā)模塊43與其余的與本客戶端21發(fā)生交互的客戶端建立通信協(xié)議。
C4客戶端21等待或接收來自服務(wù)器端10或其余客戶端如22、23等發(fā)送來的游戲世界狀態(tài)更新信息,根據(jù)該信息調(diào)整自身狀態(tài)。
C5用戶在客戶端21輸入動(dòng)作信息,判斷是否執(zhí)行該動(dòng)作指令,如果執(zhí)行,繼續(xù)下面的步驟C6;如果不執(zhí)行,返回步驟C4重復(fù)等待或接收過程。
C6判斷用戶在客戶端21輸入的動(dòng)作信息,是否退出游戲,如果退出則轉(zhuǎn)到步驟C11結(jié)束;如果不退出,繼續(xù)下面的步驟C7。
C7客戶端21收集獲取當(dāng)前其自身的運(yùn)行狀態(tài)數(shù)據(jù)(包括某一時(shí)刻其處理能力、資源占用情況、網(wǎng)絡(luò)狀況等),連同動(dòng)作信息一起發(fā)送到服務(wù)器端10??蛻舳?1等待服務(wù)器端10的處理結(jié)果。
服務(wù)器端10則開始如下(見圖4)的處理流程S1啟動(dòng)開始S2服務(wù)器端10接收到客戶端21在步驟C7發(fā)出的動(dòng)作信息及其運(yùn)行狀態(tài)數(shù)據(jù),并收集服務(wù)器端10當(dāng)前自身的運(yùn)行狀態(tài)數(shù)據(jù)(包括某一時(shí)刻服務(wù)器端10的處理能力、資源占用情況、網(wǎng)絡(luò)狀況等)。
S3根據(jù)游戲規(guī)則驗(yàn)證該動(dòng)作信息是否合法,如果合法,繼續(xù)下面的步驟S4;如果非法,則轉(zhuǎn)到步驟S9。
S4根據(jù)游戲規(guī)則對(duì)合法的動(dòng)作信息進(jìn)行處理,并獲得處理結(jié)果。
S5根據(jù)處理結(jié)果更新服務(wù)器端10中維護(hù)的游戲世界狀態(tài)。
S6判斷該處理結(jié)果對(duì)其它用戶有無影響,是否需要廣播,如果需要進(jìn)行廣播,繼續(xù)下面的步驟S7如果不需要進(jìn)行廣播,轉(zhuǎn)到步驟S10S7服務(wù)器10的服務(wù)器端協(xié)調(diào)模塊42根據(jù)服務(wù)器端和客戶端當(dāng)前的運(yùn)行狀態(tài),判斷該處理結(jié)果是否由服務(wù)器10進(jìn)行廣播,如果是,則繼續(xù)下面的步驟S8;如果不是,服務(wù)器端10不進(jìn)行廣播,而為該數(shù)據(jù)添加需要廣播但未進(jìn)行廣播的標(biāo)志,轉(zhuǎn)到步驟S10。
S8服務(wù)器10將處理結(jié)果數(shù)據(jù)返回給發(fā)出動(dòng)作的客戶端21,同時(shí)廣播到其余對(duì)該動(dòng)作感興趣的客戶端,然后轉(zhuǎn)到步驟S11結(jié)束。
S9對(duì)非法的動(dòng)作信息進(jìn)行異常處理。
S10將處理數(shù)據(jù)返回給發(fā)出動(dòng)作的客戶端21,客戶端21從步驟C8繼續(xù)其工作流程(見圖3)。
S11服務(wù)器端10結(jié)束此次處理流程。
如圖3所示,客戶端21繼續(xù)以下的工作流程C8客戶端21接收服務(wù)器端10驗(yàn)證處理而返回的處理數(shù)據(jù),繼續(xù)步驟C9。
C9檢測(cè)返回的結(jié)果(包括異常處理結(jié)果和正常處理結(jié)果)是否需要廣播到到其余客戶端;對(duì)于不需要廣播的處理結(jié)果,客戶端21接收并返回到步驟C4,即根據(jù)返回的處理結(jié)果,客戶端游戲主模塊41對(duì)其進(jìn)行處理,更新客戶端21中的游戲世界狀態(tài);對(duì)于需要廣播的處理結(jié)果,轉(zhuǎn)到步驟C10。
C10對(duì)于需要廣播的處理結(jié)果,檢測(cè)返回的處理結(jié)果是否已經(jīng)由服務(wù)器端10廣播,如果還沒有,則繼續(xù)下面的步驟C11;如果已經(jīng)廣播了,返回到步驟C4,即根據(jù)返回的數(shù)據(jù),客戶端游戲主模塊41對(duì)其進(jìn)行處理,更新客戶端21中的游戲世界狀態(tài)。
C11該處理結(jié)果由客戶端21中數(shù)據(jù)轉(zhuǎn)發(fā)模塊43廣播到其余與本客戶端21發(fā)生交互的客戶端;廣播完畢,返回到步驟C4。
C12游戲退出結(jié)束。
權(quán)利要求
1.一種混合式網(wǎng)絡(luò)游戲數(shù)據(jù)的傳輸方法,在服務(wù)器端和至少一個(gè)客戶端組成的網(wǎng)絡(luò)游戲環(huán)境中進(jìn)行,服務(wù)器端與客戶端之間為主從式網(wǎng)絡(luò)傳輸結(jié)構(gòu),包括以下步驟a.用戶在客戶端輸入動(dòng)作信息;b.服務(wù)器端接收客戶端發(fā)送的動(dòng)作信息;c.服務(wù)器端根據(jù)游戲規(guī)則對(duì)動(dòng)作信息進(jìn)行驗(yàn)證,對(duì)于經(jīng)驗(yàn)證是合法的動(dòng)作信息進(jìn)行處理并獲得處理結(jié)果;對(duì)于經(jīng)驗(yàn)證是非法的動(dòng)作信息,進(jìn)行異常動(dòng)作處理,并將處理結(jié)果通告發(fā)出該動(dòng)作信息的客戶端;d.服務(wù)器端判斷獲得的處理結(jié)果是否需要廣播;其特征在于各客戶端之間為對(duì)稱式網(wǎng)絡(luò)傳輸結(jié)構(gòu),還包括以下步驟e.如果處理結(jié)果需要廣播,服務(wù)器端將其自身的運(yùn)行狀態(tài)數(shù)據(jù)與發(fā)送動(dòng)作信息的客戶端的運(yùn)行狀態(tài)數(shù)據(jù)進(jìn)行比較,根據(jù)工作量和網(wǎng)絡(luò)環(huán)境情況,判斷該處理結(jié)果由服務(wù)器端還是由該客戶端進(jìn)行轉(zhuǎn)發(fā)廣播;如果處理結(jié)果不需要廣播,通告發(fā)出該動(dòng)作信息的客戶端并結(jié)束;f.如果處理結(jié)果判定由服務(wù)器端轉(zhuǎn)發(fā)廣播,服務(wù)器端則將處理結(jié)果返回給發(fā)送動(dòng)作信息的客戶端,同時(shí)還將處理結(jié)果廣播到其余對(duì)該動(dòng)作信息感興趣的客戶端;如果處理結(jié)果判定由發(fā)送動(dòng)作信息的客戶端轉(zhuǎn)發(fā)廣播,服務(wù)器端則將處理結(jié)果以及相應(yīng)的指示操作返回給該客戶端,由該客戶端將處理結(jié)果廣播到其余對(duì)該動(dòng)作信息感興趣的客戶端。
2.根據(jù)權(quán)利要求1所述的混合式網(wǎng)絡(luò)游戲數(shù)據(jù)的傳輸方法,其特征在于所述步驟a中發(fā)出動(dòng)作信息的客戶端同時(shí)還收集獲取當(dāng)前其自身的運(yùn)行狀態(tài)數(shù)據(jù),并連同動(dòng)作信息一起發(fā)送到服務(wù)器端;所述步驟b中服務(wù)器端在接收客戶端發(fā)送的動(dòng)作信息的同時(shí),還接收該客戶端的運(yùn)行狀態(tài)數(shù)據(jù)。
3.根據(jù)權(quán)利要求1所述的混合式網(wǎng)絡(luò)游戲數(shù)據(jù)的傳輸方法,其特征在于所述步驟b中服務(wù)器端同時(shí)還收集獲取當(dāng)前其自身的運(yùn)行狀態(tài)數(shù)據(jù)。
4.根據(jù)權(quán)利要求1或2或3所述的混合式網(wǎng)絡(luò)游戲數(shù)據(jù)的傳輸方法,其特征在于所述服務(wù)器端和客戶端的運(yùn)行狀態(tài)數(shù)據(jù)包括各自的處理能力、資源占用情況和網(wǎng)絡(luò)狀況數(shù)據(jù)。
5.一種混合式網(wǎng)絡(luò)游戲數(shù)據(jù)的傳輸系統(tǒng),包括服務(wù)器端(10)和至少一個(gè)客戶端(21,22,23),所述客戶端包括用于發(fā)出動(dòng)作信息、接收來自服務(wù)器和其它客戶端的廣播信息、更新本機(jī)游戲世界狀態(tài)的客戶端游戲主模塊(41);所述服務(wù)器端(10)包括以下模塊用于維護(hù)網(wǎng)絡(luò)游戲環(huán)境中的游戲世界以及所有客戶端的狀態(tài)信息,接收和處理客戶端發(fā)送的信息數(shù)據(jù)的服務(wù)器端游戲主模塊(31);用于將處理結(jié)果及其它信息數(shù)據(jù)發(fā)送廣播給客戶端的數(shù)據(jù)發(fā)送及廣播模塊(33);所述服務(wù)器端與客戶端之間為主從式網(wǎng)絡(luò)傳輸結(jié)構(gòu);其特征在于所述客戶端還包括以下模塊用于收集客戶端當(dāng)前自身的運(yùn)行狀態(tài)數(shù)據(jù),并將該數(shù)據(jù)發(fā)送給服務(wù)器端(10)的客戶端協(xié)調(diào)模塊(42);用于和其余客戶端建立對(duì)稱式傳輸網(wǎng)絡(luò)以進(jìn)行通信,并將服務(wù)器端(10)返回的處理結(jié)果傳送給本機(jī)的客戶端游戲主模塊(41)的數(shù)據(jù)轉(zhuǎn)發(fā)模塊(43);所述服務(wù)器端(10)還包括用于收集服務(wù)器端當(dāng)前自身的運(yùn)行狀態(tài)數(shù)據(jù),同時(shí)還接收客戶端運(yùn)行狀態(tài)數(shù)據(jù),并對(duì)此進(jìn)行比較判斷的服務(wù)器端協(xié)調(diào)模塊(32);所述各客戶端之間為對(duì)稱式網(wǎng)絡(luò)傳輸結(jié)構(gòu)。
全文摘要
本發(fā)明公開了一種混合式網(wǎng)絡(luò)游戲數(shù)據(jù)的傳輸方法,在服務(wù)器端和至少一個(gè)客戶端組成的網(wǎng)絡(luò)游戲環(huán)境中進(jìn)行,服務(wù)器端與客戶端之間為主從式網(wǎng)絡(luò)傳輸結(jié)構(gòu),各客戶端之間為對(duì)稱式網(wǎng)絡(luò)傳輸結(jié)構(gòu)。服務(wù)器端對(duì)客戶端發(fā)出的動(dòng)作的處理結(jié)果,其數(shù)據(jù)廣播的工作可以通過比較和協(xié)調(diào)由狀態(tài)較為適合的客戶端或服務(wù)器端執(zhí)行。本發(fā)明還公開了一種混合式網(wǎng)絡(luò)游戲數(shù)據(jù)的傳輸系統(tǒng),其中的服務(wù)器端包括服務(wù)器端游戲主模塊、服務(wù)器端協(xié)調(diào)模塊和數(shù)據(jù)發(fā)送及廣播模塊,客戶端包括客戶端游戲主模塊、客戶端協(xié)調(diào)模塊和數(shù)據(jù)轉(zhuǎn)發(fā)模塊。本發(fā)明合理、充分利用了網(wǎng)絡(luò)資源,有效改善了主從式架構(gòu)中服務(wù)器的負(fù)載和數(shù)據(jù)傳輸量過大,以及純對(duì)稱式架構(gòu)中對(duì)終端性能要求高、管理難的問題。
文檔編號(hào)H04L12/56GK1953456SQ20061012308
公開日2007年4月25日 申請(qǐng)日期2006年10月31日 優(yōu)先權(quán)日2006年10月31日
發(fā)明者梁梓杰, 羅笑南 申請(qǐng)人:中山大學(xué)