一种混合式网络游戏数据的传输方法及其传输系统的制作方法

文档序号:7967904阅读:159来源:国知局
专利名称:一种混合式网络游戏数据的传输方法及其传输系统的制作方法
技术领域
本发明涉及一种数据传输技术,尤其涉及一种网络游戏数据的传输方法及其传输系统。
背景技术
近年来,计算机和网络技术的飞速发展,也带动了互联网产业的迅速发展。其中,网络游戏更是异军突起,已成为互联网产业中的一个重要增长点。通过宽带网络和无线上网的方式为客户提供视频游戏和互动娱乐,正逐渐成为这一市场的主流,将为娱乐市场的格局带来巨大的变化。
现有的网络游戏中,绝大部分都是采用主从式网络结构(Server/Client)进行通信,其中包含一个服务器端(Server)和至少一个客户端(Client)。在此C/S结构中,服务器端维护整个世界状态,所有对象的状态以服务器端为准,客户端的任何动作都需要服务器端验证,而所有对象的状态变更又由服务器端广播给客户端。因此,C/S结构具有以下优点架构简单、管理方便,能够有效地防止玩家的作弊行为,作为数据存储区域,容易保证信息数据的安全。但同时也存在着以下缺陷服务器的数据吞吐量以及计算量非常大,对网络环境的要求以及设备性能的要求也非常高。对于大部分MMOG(大型多人线上游戏)来说尤其如此,因为其服务器端和客户端所运行的游戏程序并不是一样的。
为此,针对C/S结构网络游戏系统所存在的不足,人们也做了大量的研究开发工作。中国专利公开号为CN1549639A的专利申请,是结合移动终端、移动通信技术的特点提出的一种对称式无线网络游戏传输方法。该专利申请针对的网络游戏系统同样存在服务器端和客户端,但服务器端和客户端一样,也作为一个游戏参加者参加游戏,此外服务器端还要负责额外的工作,即把客户端的动作通过自身转发到其余客户端。由于此种类型的网络游戏系统同样存在着服务器工作量大、要求的通信带宽高等不足,为此上述专利申请将各个移动终端作为对等的主机组成对称网络结构(Peer to Peer),提出了一种对称式无线网络游戏的传输方法。这种方法的确缓解了服务器工作量大、要求的通信带宽高这一问题,但其设计存在着局限性,同时也带来了以下弊端首先,每一个终端都要维护整个游戏世界状态,倘若该终端进行的游戏并非专利申请中所描述的游戏类型,而是MMOG的话,要维护一个MMOG的游戏世界,对一个处理能力比专用服务器要低的客户终端来说几乎是不可能的。其次,由于游戏程序全部都存在于本地终端,因此很难避免游戏玩家的作弊行为。

发明内容
本发明的目的在于克服现有技术的不足,提供一种混合式网络游戏数据的传输方法,旨在综合主从式网络传输结构和对称式网络传输结构两者的优势,充分利用网络资源,以有效改善主从式架构中服务器的负载和数据传输量过大,以及纯对称式架构中对终端性能要求高、管理难的问题。本发明的另一目的在于提供一种混合式网络游戏数据的传输系统。
本发明的目的通过以下技术方案予以实现本发明提供的一种混合式网络游戏数据的传输方法,在服务器端和至少一个客户端组成的网络游戏环境中进行,服务器端与客户端之间为主从式网络传输结构,各客户端之间为对称式网络传输结构,包括以下步骤a.用户在客户端输入动作信息;b.服务器端接收客户端发送的动作信息;c.服务器端根据游戏规则对动作信息进行验证,对于经验证是合法的动作信息进行处理并获得处理结果;对于经验证是非法的动作信息,进行异常动作处理,并将处理结果通告发出该动作信息的客户端;d.服务器端判断获得的处理结果是否需要广播;e.如果处理结果需要广播,服务器端将其自身的运行状态数据与发送动作信息的客户端的运行状态数据进行比较,根据工作量和网络环境情况,判断该处理结果由服务器端还是由该客户端进行转发广播;如果处理结果不需要广播,通告发出该动作信息的客户端并结束;f.如果处理结果判定由服务器端转发广播,服务器端则将处理结果返回给发送动作信息的客户端,同时还将处理结果广播到其余对该动作信息感兴趣的客户端;如果处理结果判定由发送动作信息的客户端转发广播,服务器端则将处理结果以及相应的指示操作返回给该客户端,由该客户端将处理结果广播到其余对该动作信息感兴趣的客户端。
本发明传输方法中依然存在服务器端、客户端。服务器端仍然负责维护整个游戏世界的状态,客户端的动作需要服务器的验证和处理。但处理结束后,处理结果并不是一定由服务器端广播到游戏中其余对该动作感兴趣的客户端,而是通过比较客户端和服务器端的工作量及网络环境,决定这一处理结果是由服务器端广播,还是由客户端广播,从而达到通过比较协调由客户端和服务器端共同承担以减轻服务器负担的目的,以便合理、有效地利用网络资源。
为及时获得服务器端或客户端的运行状态情况,以利于快速比较和判断,本发明传输方法所述步骤a中,发出动作信息的客户端同时还收集获取当前其自身的运行状态数据,连同动作信息一起发送到服务器端;所述步骤b中服务器端在接收客户端发送的动作信息的同时,还接收该客户端的运行状态数据。此外,所述步骤b中服务器端同时还收集获取当前其自身的运行状态数据。对于涉及的运行状态数据,可以是所述服务器端或客户端的处理能力、资源占用情况和网络状况数据等。
本发明的另一目的通过以下方案予以实现本发明提供的一种混合式网络游戏数据的传输系统,包括服务器端和至少一个客户端,所述客户端包括用于发出动作信息、接收来自服务器和其它客户端的广播信息、更新本机游戏世界状态的客户端游戏主模块;所述服务器端包括以下模块用于维护网络游戏环境中的游戏世界以及所有客户端的状态信息,接收和处理客户端发送的信息数据的服务器端游戏主模块;用于将处理结果及其它信息数据发送广播给客户端的数据发送及广播模块;所述服务器端与客户端之间为主从式网络传输结构;此外,所述客户端还包括以下模块用于收集客户端当前自身的运行状态数据,并将该数据发送给服务器端的客户端协调模块;用于和其余客户端建立对称式传输网络以进行通信,并将服务器端返回的处理结果传送给本机的客户端游戏主模块的数据转发模块;所述服务器端还包括用于收集服务器端当前自身的运行状态数据,同时还接收客户端运行状态数据,并对此进行比较判断的服务器端协调模块;所述各客户端之间为对称式网络传输结构。
本发明传输系统的服务器端对某一客户端发出的动作进行处理,其处理结果需要转发广播给其余对该动作感兴趣的客户端时,数据广播的工作可以由服务器端承担,也可以由发出该动作的客户端承担。具体地可以由客户端协调模块和服务器端协调模块收集各自当前的运行状态数据,然后由服务器端协调模块通过比较客户端和服务器端的工作量和网络环境情况做出决定,由当前较为空闲、状态较好的一端来承担数据广播的工作。服务器端在数据广播过程中,采用主从式网络传输结构的通信形式;客户端在数据广播过程中,采用对称式网络传输结构的通信形式。
本发明具有以下有益效果(1)对某一客户端所发出动作的处理结果,其数据广播并不是一定由服务器端承担,而是根据当前的实际运行状态,通过比较和协调由状态较为适合的服务器端或发出该动作的客户端来执行,因此能够合理、有效地利用网络资源,减轻了服务器的负担,从而有效改善了主从式架构中服务器端负载大、数据传输量大、要求的通信带宽高等问题。同时也克服了纯对称式架构中对终端性能要求高、管理难的问题。
(2)服务器作为专用的高性能设备,由于本发明是根据实际的运行状态进行协调,因此能够保证服务器的工作量,使其不至于长期过于空闲。尤其是在MMOG领域,达到了充分利用网络资源的目的。


下面将结合实施例和附图对本发明作进一步的详细描述图1是本发明实施例传输系统的传输架构示意图;图2是本发明实施例传输系统的结构组成框图;图3是本发明实施例传输方法中客户端的工作流程框图;图4是本发明实施例传输方法中服务器端的工作流程框图。
图中服务器端10,客户端21、22、23,服务器端游戏主模块31,服务器端协调模块32,数据发送及广播模块33,客户端游戏主模块41,客户端协调模块42,数据转发模块具体实施方式
图1~图4所示为本发明的实施例。如图1所示,本实施例传输系统包括服务器端10和至少一个客户端,如客户端21、客户端22、客户端23......,服务器端和客户端采用主从式网络传输结构,各客户端之间采用对称式网络传输结构。在整个网络游戏环境中还需要采用诸如用户管理、同步机制、游戏中各种事件处理以及无线通信技术等公知技术进行处理,以实现网络游戏的各种功能。
如图2所示,本实施例传输系统中的服务器端包括以下模块
服务器端游戏主模块31-用于维护网络游戏环境中的游戏世界以及所有客户端的状态信息,接收和处理客户端发送的信息数据。在网络游戏环境中,整个游戏世界状态以及所有对象的状态以服务器为准,客户端的任何动作都需要服务器的验证,所有对象的状态变更首先都要由服务器处理。
服务器端协调模块32-用于收集服务器端当前自身的运行状态数据(包括某一时刻服务器端的处理能力、资源占用情况、网络状况等),并通过通信获取客户端的上述运行状态数据,设定简单的规则进行比较,选出当前较为空闲、状态较好的一端来承担数据转发广播的工作。
数据发送及广播模块33-用于将处理结果及其它信息数据发送广播给客户端。其具体工作包括向客户端返回来自服务器端游戏主模块31的、其需要的游戏世界信息;将来自服务器端游戏主模块31的、对某一客户端发出动作进行处理的结果广播到其余对该动作感兴趣的客户端。
本实施例传输系统中的客户端包括以下模块客户端游戏主模块41-用于发出动作信息、接收来自服务器和其它客户端的广播信息、更新本机游戏世界状态。其与传统的主从式MMOG的客户端游戏主模块结构功能基本一致。
客户端协调模块42-用于收集客户端当前自身的运行状态数据(包括某一时刻服务器端的处理能力、资源占用情况、网络状况等),并将该数据发送给服务器端协调模块32。
数据转发模块43-用于和其余客户端建立对称式传输网络以进行通信,接收服务器端10返回的处理结果,并传送给本机的客户端游戏主模块41,由该主模块41对本机中的局部游戏世界进行更新。
本实施例的处理流程包括二个部分客户端(Client)的工作流程和服务器端(Server)的工作流程。
如图3所示,客户端(Client)的处理流程如下(以客户端21为例)C1游戏启动开始。
C2客户端21与服务器端10建立连接,登录到游戏世界。
C3通过服务器端10维护的用户信息列表获取其余客户端22、23......的网络位置,通过数据转发模块43与其余的与本客户端21发生交互的客户端建立通信协议。
C4客户端21等待或接收来自服务器端10或其余客户端如22、23等发送来的游戏世界状态更新信息,根据该信息调整自身状态。
C5用户在客户端21输入动作信息,判断是否执行该动作指令,如果执行,继续下面的步骤C6;如果不执行,返回步骤C4重复等待或接收过程。
C6判断用户在客户端21输入的动作信息,是否退出游戏,如果退出则转到步骤C11结束;如果不退出,继续下面的步骤C7。
C7客户端21收集获取当前其自身的运行状态数据(包括某一时刻其处理能力、资源占用情况、网络状况等),连同动作信息一起发送到服务器端10。客户端21等待服务器端10的处理结果。
服务器端10则开始如下(见图4)的处理流程S1启动开始S2服务器端10接收到客户端21在步骤C7发出的动作信息及其运行状态数据,并收集服务器端10当前自身的运行状态数据(包括某一时刻服务器端10的处理能力、资源占用情况、网络状况等)。
S3根据游戏规则验证该动作信息是否合法,如果合法,继续下面的步骤S4;如果非法,则转到步骤S9。
S4根据游戏规则对合法的动作信息进行处理,并获得处理结果。
S5根据处理结果更新服务器端10中维护的游戏世界状态。
S6判断该处理结果对其它用户有无影响,是否需要广播,如果需要进行广播,继续下面的步骤S7如果不需要进行广播,转到步骤S10S7服务器10的服务器端协调模块42根据服务器端和客户端当前的运行状态,判断该处理结果是否由服务器10进行广播,如果是,则继续下面的步骤S8;如果不是,服务器端10不进行广播,而为该数据添加需要广播但未进行广播的标志,转到步骤S10。
S8服务器10将处理结果数据返回给发出动作的客户端21,同时广播到其余对该动作感兴趣的客户端,然后转到步骤S11结束。
S9对非法的动作信息进行异常处理。
S10将处理数据返回给发出动作的客户端21,客户端21从步骤C8继续其工作流程(见图3)。
S11服务器端10结束此次处理流程。
如图3所示,客户端21继续以下的工作流程C8客户端21接收服务器端10验证处理而返回的处理数据,继续步骤C9。
C9检测返回的结果(包括异常处理结果和正常处理结果)是否需要广播到到其余客户端;对于不需要广播的处理结果,客户端21接收并返回到步骤C4,即根据返回的处理结果,客户端游戏主模块41对其进行处理,更新客户端21中的游戏世界状态;对于需要广播的处理结果,转到步骤C10。
C10对于需要广播的处理结果,检测返回的处理结果是否已经由服务器端10广播,如果还没有,则继续下面的步骤C11;如果已经广播了,返回到步骤C4,即根据返回的数据,客户端游戏主模块41对其进行处理,更新客户端21中的游戏世界状态。
C11该处理结果由客户端21中数据转发模块43广播到其余与本客户端21发生交互的客户端;广播完毕,返回到步骤C4。
C12游戏退出结束。
权利要求
1.一种混合式网络游戏数据的传输方法,在服务器端和至少一个客户端组成的网络游戏环境中进行,服务器端与客户端之间为主从式网络传输结构,包括以下步骤a.用户在客户端输入动作信息;b.服务器端接收客户端发送的动作信息;c.服务器端根据游戏规则对动作信息进行验证,对于经验证是合法的动作信息进行处理并获得处理结果;对于经验证是非法的动作信息,进行异常动作处理,并将处理结果通告发出该动作信息的客户端;d.服务器端判断获得的处理结果是否需要广播;其特征在于各客户端之间为对称式网络传输结构,还包括以下步骤e.如果处理结果需要广播,服务器端将其自身的运行状态数据与发送动作信息的客户端的运行状态数据进行比较,根据工作量和网络环境情况,判断该处理结果由服务器端还是由该客户端进行转发广播;如果处理结果不需要广播,通告发出该动作信息的客户端并结束;f.如果处理结果判定由服务器端转发广播,服务器端则将处理结果返回给发送动作信息的客户端,同时还将处理结果广播到其余对该动作信息感兴趣的客户端;如果处理结果判定由发送动作信息的客户端转发广播,服务器端则将处理结果以及相应的指示操作返回给该客户端,由该客户端将处理结果广播到其余对该动作信息感兴趣的客户端。
2.根据权利要求1所述的混合式网络游戏数据的传输方法,其特征在于所述步骤a中发出动作信息的客户端同时还收集获取当前其自身的运行状态数据,并连同动作信息一起发送到服务器端;所述步骤b中服务器端在接收客户端发送的动作信息的同时,还接收该客户端的运行状态数据。
3.根据权利要求1所述的混合式网络游戏数据的传输方法,其特征在于所述步骤b中服务器端同时还收集获取当前其自身的运行状态数据。
4.根据权利要求1或2或3所述的混合式网络游戏数据的传输方法,其特征在于所述服务器端和客户端的运行状态数据包括各自的处理能力、资源占用情况和网络状况数据。
5.一种混合式网络游戏数据的传输系统,包括服务器端(10)和至少一个客户端(21,22,23),所述客户端包括用于发出动作信息、接收来自服务器和其它客户端的广播信息、更新本机游戏世界状态的客户端游戏主模块(41);所述服务器端(10)包括以下模块用于维护网络游戏环境中的游戏世界以及所有客户端的状态信息,接收和处理客户端发送的信息数据的服务器端游戏主模块(31);用于将处理结果及其它信息数据发送广播给客户端的数据发送及广播模块(33);所述服务器端与客户端之间为主从式网络传输结构;其特征在于所述客户端还包括以下模块用于收集客户端当前自身的运行状态数据,并将该数据发送给服务器端(10)的客户端协调模块(42);用于和其余客户端建立对称式传输网络以进行通信,并将服务器端(10)返回的处理结果传送给本机的客户端游戏主模块(41)的数据转发模块(43);所述服务器端(10)还包括用于收集服务器端当前自身的运行状态数据,同时还接收客户端运行状态数据,并对此进行比较判断的服务器端协调模块(32);所述各客户端之间为对称式网络传输结构。
全文摘要
本发明公开了一种混合式网络游戏数据的传输方法,在服务器端和至少一个客户端组成的网络游戏环境中进行,服务器端与客户端之间为主从式网络传输结构,各客户端之间为对称式网络传输结构。服务器端对客户端发出的动作的处理结果,其数据广播的工作可以通过比较和协调由状态较为适合的客户端或服务器端执行。本发明还公开了一种混合式网络游戏数据的传输系统,其中的服务器端包括服务器端游戏主模块、服务器端协调模块和数据发送及广播模块,客户端包括客户端游戏主模块、客户端协调模块和数据转发模块。本发明合理、充分利用了网络资源,有效改善了主从式架构中服务器的负载和数据传输量过大,以及纯对称式架构中对终端性能要求高、管理难的问题。
文档编号H04L12/56GK1953456SQ20061012308
公开日2007年4月25日 申请日期2006年10月31日 优先权日2006年10月31日
发明者梁梓杰, 罗笑南 申请人:中山大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1