服务器控制的基于p2p网游同步方法

文档序号:7746302阅读:223来源:国知局
专利名称:服务器控制的基于p2p网游同步方法
技术领域
本发明涉及利用P2P,即点对点的技术来实现网游中的数据同步和传输,同时也对 客户端的同步提出了管理的方法用以提高网络传输的效率以及在客户端同步过程中服务 器起到控制同步的方法。
背景技术
网络模块是网络游戏系统中最重要的模块之一,目前,CS架构在网游中的应用十 分普遍,CS架构表示客户端与服务端架构,在CS架构下,每个客户端都会与服务端建立连 接,且不同的客户端间相互独立。对于实时性较高的数据,如移动数据、动作数据等,在CS架构下,用户的操作会以 数据包的形式上传至服务器端,服务器将操作转化为位置数据,服务器再将位置数据同步 给各个客户端,此模式如附图1所示。目前,在上述CS架构下,自己客户端也会做出一些自己的计算,来改善玩家的体 验,但这些改进以及原来的方法都有如下的缺点1.大部分计算都在服务端进行,服务器计算器比较大,因此对服务器要求很高2.数据先会上传到服务器,再由服务器分发给各个客户端,即时同步数据多,且频 率较高的情况下,服务器的网络带宽要求高

发明内容
在处理实时性较高,且同步频率要求比较高的数据时,传输数据量很大,对带宽要 求比较高,为了减轻服务器的负担,能让服务器带更多的客户端,也减小服务器的带宽要 求,减少运营成本,客户端之间可以互传数据,服务端与客户端数据同步步骤是步骤1 做好服务器的各项配置,启动游戏服务器;步骤2 用另外几个客户端登入服务器;步骤3 服务器初始化各个客户端的同步列表;步骤4 每个客户端产生状态变化等数据;步骤5 各个客户端向自己同步列表中客户端发送产生的即时数据;步骤6 向服务器端发送产生的即时数据;步骤7 服务器根据客户端状态的变化判断哪些客户端需要改变同步列表,并向 该客户端发送新的同步列表;步骤8:重复步骤4-7。本发明的优越性在于1)将一部分计算量放在客户端,服务端的计算量大大减小,这样同一台服务器能 带更多的客户端2)相比于传统的模式中的每个周期服务端要传大量数据到各个客户端,新的传输 模式,会更节省服务器端的带宽
3)同于只需要选择性的同步,客户端所接收的数据会更少,帮同步会更加的便捷 和快速4)服务器只负责判断和控制更新各个客户的同步列表,这样服务器与客户端分工 明确,且服务器和客户端的负载较轻除此之外,本方法也有一些问题,需要改进的地方1)客户端的负担比原来稍重,自己会有一部分的计算量
2)由于客户端有发送数据的权力,安全性会有更大的挑战,因此对安全性的要求 更高


附图1是三个客户端都须同步的传输模型。附图2是三个客户端部分需要同步的传输模型。附图3是服务器控制下的客户端数据同步模式流程图。
具体实施例方式在网络游戏中,数据量最大的是由客户端实时产生的数据,这些数据也会直接影 响到用户的体验。如图2所示,每个客户端都有一个操控物体,那么这个客户端有改变这个物体数 据的权利,如果客户端1所控制物体的数据发生的了改变,首先它会向服务器发送同步消 息,服务器会根据各个客户端对象的状态来决定哪些客户端间需要进行数据同步,如果如 图上的三个客户端所示,三个客户端都需要进行同步,互相间有同步数据的传输。这样所有 的客户端和服务器端都进行了同步,服务器的负载和所需的带宽也最小。同样,如果其它客 户端比如客户端2状态发生改变,也会向客户端1和客户端3发送数据以及跟服务器同步。如果由于状态的改变客户端1和客户端3,它们之间不需要进行状态的更新,当它 们的状态传到服务器后,服务器做出判断,会更新客户端1和客户端3的数据同步列表,新 的传输模型如附图2所示;此时可以看出客户端1和客户端3的负担会有所减小,客户端1只需要跟客户端 2进行数据同步,而不需要跟客户端3进行同步,客户端3跟客户端1 一样,当客户端较多 时,如果有300个玩家连到此服务器上,一般来说同一个场景中不会同时出现太多的玩家, 如果A玩家在一起的玩家只有十几个,则只有这些玩家需要跟A进行同步,A的同步信息会 大大的减小,只有原来的1/20左右,如果在人少的地方,则需要跟A的同步列表会更少,即 需要同步的人会更少。而在A玩家移动到有其它人的地方,由于服务器会有所有客户端的信息,会根据A 的变化来更新A的同步列表,如图2所示,如果客户端1状态发生变化时,客户端1和客户 端3之间便不需要同步了,因此,在这里服务器端只负责判断和更新各个客户端的同步更 表,起到控制的作用,服务器的负担也减小了很多。在游戏中,除了玩家操控的物体,还有一些无法操控的物体,它们由服务器端统一 发送。向各个客户端来进行同步。如图3所示,本发明描述了新的网游数据传输模式,在上述传输模型中,服务器起 到了控制器的作用,它会根据客户端的变化而更新各个客户端的同步列表。
在网游中,对即时数据,比如移动、攻击等信息,要在其它客户端时实的看到当前 客户的信息,需要很高的同步频率,因此同步的数据量也会比较大,因此需要尽量减少需要 同步的客户端的数量,每个客户端所需要同步的其它客户端数量越少越好,因此客户端要 做一个同步列表,同步列表存储当前需要同步的其它客户端的联接。
为了减少服务器端的负担,服务器端也需要减少网络传输,在传统模式中,服务器 端在每个同步周期中即需要接收各个客户端传输来的数据,也需要负责把这些数据分发给 其它客户端,而在本模式中,服务器端只需要接收各个客户端发送来的数据,并且根据这些 发送来更新的数据,判断各个客户端的同步列表是否会发生变化,如果没有变化,则不用处 理,如果发生变化,则服务器负责把更新列表发送给这个客户端,而这个更新同步列表的频 率会比每个同步周期发送同步数据的频率要小得多,并且数据量也会小得多。能大大减小 服务器端所需要的网络带宽,并且客户端间直接传送同步数据会比先上传服务器,再由服 务器来分发同步数据的过程要快很多。在一个服务器中所带的客户端可能会很多,根据上述方法,可以判断出,比起全部 客户端都要同步的方法,此发明中的方法很大一部分客户端所需要同步的客户端数量可能 只是一个很少的部分,比如每个玩家离得比较远,需要同步的数量会很少。但在玩家比较集 中的地方,此方法的效率会有所下降,但总的来说,会大大提高系统的效率,特别是各个玩 家不是很集中,并且移动不是很频繁时,各个客户端同步列表不会经常变化,因此效率会特 别高。这种传输模式,最大限度的减少了服务器端的负担,充分利用了客户端的资源,各 个客户端间的资源形成了共享,发送即时性较高的数据,客户端的数据更新比较快,服务器 能带更多的客户端,客户端之间的数据同步会更快。
权利要求
一种服务器控制的基于P2P网游同步方法,其特点在于A.服务器端实时接收各个客户端的状态变化信息,并且根据状态变化情况更新客户端的同步列表信息。B.客户端向同步列表中的其它客户端更新本客户端控制角色的状态变化信息。
2.根据权利要求1所述的方法,其特征在于,步骤A中所述服务器判断客户端的同步列 表是否改变方法为根据客户端上传的信息,例如玩家的位置、朝向等信息,以确定该玩家目前需要同步的 其它玩家的列表,与目前的列表做对比,如果不同则该玩家的同步列表已经发生改变。
3.根据权利要求1所述的方法,其特征在于,所述更新本地角色在其它客户端位置的 方法为首先确定该角色当前的状态以及由服务器决定的本地同步更新列表,再根据此更 新列表来更新该角色在其它客户端的位置等状态信息。
4.根据权利要求1所述的方法,在步骤A中,如果服务器端判断本地角色的同步列表发 生改变,则更新控制该角色的客户端的同步列表,服务器便向该客户端发送新的同步列表; 由步骤B,该客户端根据新的同步列表更新该角色在其它客户端的位置等状态信息。
全文摘要
本发明提供一种服务器控制的基于P2P网游同步方法,在具有多个客户端与服务端通讯的情况下,客户端之间能够传输数据,将一部分计算量放在客户端,服务端的计算量大大减小,这样同一台服务器能带更多的客户端,相比于传统的模式中的每个周期服务端要传大量数据到各个客户端,新的传输模式,会更节省服务器端的带宽,同于只需要选择性的同步,客户端所接收的数据会更少,帮同步会更加的便捷和快速,服务器只负责判断和控制更新各个客户的同步列表,这样服务器与客户端分工明确,且服务器和客户端的负载较轻。
文档编号H04L29/08GK101841563SQ201010149179
公开日2010年9月22日 申请日期2010年4月16日 优先权日2010年4月16日
发明者朱德栋 申请人:上海亚图软件有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1