CN101094245B - 一种基于对等覆盖网络的游戏平台系统 - Google Patents

一种基于对等覆盖网络的游戏平台系统 Download PDF

Info

Publication number
CN101094245B
CN101094245B CN200710052729A CN200710052729A CN101094245B CN 101094245 B CN101094245 B CN 101094245B CN 200710052729 A CN200710052729 A CN 200710052729A CN 200710052729 A CN200710052729 A CN 200710052729A CN 101094245 B CN101094245 B CN 101094245B
Authority
CN
China
Prior art keywords
module
node
game
manager
request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN200710052729A
Other languages
English (en)
Other versions
CN101094245A (zh
Inventor
金海�
廖小飞
姚宏
曾德泽
刘伟
杨思睿
乐袆凡
贾勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huazhong University of Science and Technology
Original Assignee
Huazhong University of Science and Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huazhong University of Science and Technology filed Critical Huazhong University of Science and Technology
Priority to CN200710052729A priority Critical patent/CN101094245B/zh
Publication of CN101094245A publication Critical patent/CN101094245A/zh
Application granted granted Critical
Publication of CN101094245B publication Critical patent/CN101094245B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

基于对等覆盖网络的游戏平台系统,其客户端包括用户接口,统一化游戏接口,传输控制和优化,对等覆盖网络维护与构建模块;服务器端包括用户登陆,结点管理和结点调度模块。用户接口设置游戏参数,启动游戏,启动对等覆盖网络构建与维护模块加入低延迟聚集的分布式无结构化拓扑网络;统一化游戏接口模块截获游戏包并重新封装或将收到的包解析提交给游戏;传输控制及优化模块挑选低延迟结点,对游戏共享信息进行应用层多播;对等覆盖网络构建与维护模块构建和维护了低延迟聚集的分布式无结构化拓扑网络。本发明采用对等覆盖网络技术消除了传统游戏平台中的“游戏服务器”概念,扩展性强、无瓶颈效应、部署成本低,并保证了游戏结点间的低延迟。

Description

一种基于对等覆盖网络的游戏平台系统
技术领域
本发明属于计算机应用领域,是一种基于对等覆盖网络的游戏平台(PKTown)系统。
背景技术
基于多人在线游戏(Multiplayer Online Games,MOG)的网络服务系统的研究是网络游戏研究中的一个热点。其主要研究支持MOG游戏从局域网到广域网的扩展,降低参与同一游戏场景的客户端结点相互之间的延迟,降低系统平台的部署代价等。
传统的支持MOG游戏的网络服务平台,比如GameSpy,浩方电子竞技对战平台,是通过在游戏程序的网络层截获游戏包,将本游戏结点需要共享给其他结点的信息发送到游戏平台专门的游戏服务器,再由游戏服务器进行分发。这种C/S架构的设计,使游戏服务器的成为整个系统共享信息的集散地。随着游戏用户的不断增大,游戏平台所接收的服务请求越来越多,游戏服务器的压力会越来越大,需要的带宽和处理能力也需要不断增加,严重影响着整个系统可扩展性。传统的游戏平台中,是通过加强游戏服务器的处理能力,带宽等,从硬件角度来缓解这类问题的,这势必会引起系统部署维护代价的上升,同时C/S架构使得游戏服务器成为单一失效点。另外由于平台将以前适用于局域网内的游戏扩展到广域网,同一场景中游戏结点之间的延迟将比在局域网大很多,怎样降低延迟对系统的可用性影响很大。浩方电子竞技对战平台,VS游戏平台都是通过平台客户端与所有部署的游戏服务之间的时延来确定用户应该加入哪个游戏服务器,并且默认加入同一个游戏服务器(与同一游戏服务器之间的时延很低)的所有结点之间延迟较低。这种估算的方法并不能真实地反映结点之间的延迟情况。
综上所述,传统基于C/S模式的MOG游戏平台系统存在如下缺点:1、C/S架构使得游戏服务器成为系统的性能的瓶颈点和单一失效点,从而系统对于用户的日益增加可扩展性较差,系统维护部署的代价高;2、用结点与游戏服务器之间的延迟来估计结点之间的延迟非常不精确。导致同一游戏场景中的游戏玩家的用户体验较差。
发明内容
本发明的目的在于提供一种基于对等覆盖网络的游戏平台系统,该系统消除了传统游戏平台中的“游戏服务器”概念,具有可扩展、无瓶颈效应、部署开销低等特点。
本发明提供的基于对等覆盖网络的游戏平台系统,其特征在于:该系统包括包括客户端和服务器端,其中客户端包括用户接口模块、统一化游戏接口模块、传输控制及优化模块和对等覆盖网络构建与维护模块,服务器端包括用户登陆模块、结点管理模块和结点调度模块;
用户接口模块用于用户将登陆信息发送给服务器端,由用户登陆模块进行验证,验证成功后登陆;登陆后,当用户通过用户接口模块启动某一游戏进程时,用户接口模块通过进程钩子向该游戏进程内存空间注入统一化游戏接口模块,同时启动对等覆盖网络构建与维护模块;
统一化游戏接口模块注入到游戏进程,并在TCP/IP协议栈表示层截获游戏进程发送出去的游戏包,封装游戏包,然后将封装后的游戏包传递给传输控制及优化模块;统一化游戏接口模块还接收来自传输控制及优化模块的游戏包,解析游戏包并将游戏数据提交给游戏进程;
传输控制及优化模块从对等覆盖网络构建与维护模块维护的对等覆盖网络拓扑中挑选低延迟结点,作为应用层多播的伙伴结点,对游戏的共享信息进行应用层多播;传输控制及优化模块还将从广域网接收到的游戏包重新封装后传递给统一化游戏接口模块;
对等覆盖网络构建与维护模块在用户通过用户接口模块启动游戏进程时触发,向结点管理模块报告自己所进入的游戏类型,并向结点调度模块请求结点,并接收其返回的在线结点信息,根据这些结点信息构建对等覆盖网络,并对其进行维护,同时将这些结点信息显示到用户界面上;
用户登陆模块用于验证客户端用户的登陆信息,判断用户是否成功登陆;如果成功登陆则将该用户的登陆信息,同时向用户返回登陆成功的消息,客户端收到登陆成功消息后更换用户界面告知用户登陆成功;
结点管理模块用于对广域网中加入系统的所有结点按游戏类型区分管理;当某结点启动某个游戏进程时,对等覆盖网络构建与维护模块会向结点管理模块报告自己所进入的游戏类型;
结点调度模块接收对等覆盖网络构建与维护模块的请求,从结点管理模块所管理的所有结点中通过IP地址临近机制和随机调度机制相结合的策略挑选一些与新结点在相同游戏类型中的在线结点,然后按照随机调度机制再挑选一部分结点,然后一并将这些信息返回给新结点的对等覆盖网络构建与维护模块,帮助新结点加入对等覆盖网络。
本发明系统通过对MOG TCP/IP协议栈的表示层截包,并在平台客户端所构建的对等覆盖网络拓扑上进行应用层广播,实现了MOG从局域网到广域网游戏的扩展。同时系统采用对等覆盖网络中以延迟聚集为特征的拓扑结构,降低了游戏服务器的压力,提高了系统的可扩展性,也节省了平台的部署代价。具体而言,本发明具有以下特点:
(1)游戏程序透明性
本发明支持各种MOG游戏,如Counter-Strike、Star Craft等,不需要知道这些MOG游戏的源码,只要是在局域网游戏中通过用户数据包协议(UDP)进行消息发送的都可以在本发明的平台上运行,从而对游戏程序透明。
(2)可扩展性
本系统采用P2P的方式实现了MOG游戏中信息的共享。改进了以前通过服务器来进行共享信息转发的方法,节省的服务器的开销,使得服务器端在用户增加的情况下可扩展性增强。
(3)保证了游戏过程中的低延迟
通过基于延迟聚集的网络拓扑使得低延迟的用户逻辑上连接在一起,从而游戏场景等共享信息的传输延迟大大降低。
(4)系统部署代价低
采用P2P的方式解决游戏中信息共享的问题,相对于传统C/S架构中以游戏服务器的方式来解决,极大的节省了服务器的开销,使得在广域网内大范围的部署系统节省了服务器的开销。
附图说明
图1为本发明系统的结构示意图;
图2为本发明系统的统一化游戏接口模块示意图;
图3为本发明系统的传输控制及优化模块示意图;
图4为本发明系统的对等覆盖网络构建与维护模块示意图;
图5为游戏数据报文图;
图6为判重表示意图;
图7为结点邻居关系组织图。
具体实施方式
本发明系统采用对等覆盖网络技术(P2P)保证了MOG游戏从局域网范围应用到广域网范围应用的扩展,消除了传统游戏平台中的“游戏服务器”概念,同时也解决了传统游戏平台在广域网范围的游戏包传输的低延迟的保证问题。下面结合附图和实例对本发明作进一步详细的说明。
如图1所示,本发明系统包括客户端和服务器端,其中客户端包括用户接口模块1、统一化游戏接口模块2、传输控制及优化模块3和对等覆盖网络构建与维护模块4,服务器端包括用户登陆模块5、结点管理模块6和结点调度模块7。
用户接口模块1是系统客户端的入口,用户首先通过该模块将登陆信息发送给服务器端,由用户登陆模块5进行验证,验证成功后登陆。登陆后,当用户通过用户接口模块1启动某一MOG游戏进程时,它通过进程钩子向该游戏进程内存空间注入统一化游戏接口模块2,同时启动对等覆盖网络构建与维护模块4。
统一化游戏接口模块2注入到MOG游戏进程并在TCP/IP协议栈表示层截获MOG游戏进程发送出去的游戏包,封装游戏包,然后将封装后的游戏包传递给传输控制及优化模块3。同时,统一化游戏接口模块2接收来自传输控制及优化模块3的游戏包,解析游戏包并将游戏数据提交给MOG游戏进程。
传输控制及优化模块3从对等覆盖网络构建与维护模块4维护的对等覆盖网络拓扑中挑选低延迟结点作为应用层多播的伙伴结点,对游戏的共享信息进行应用层多播。同时,传输控制及优化模块3将从广域网接收到的游戏包重新封装后传递给统一化游戏接口模块2。
当用户通过用户接口模块1启动游戏进程时将触发对等覆盖网络构建与维护模块4向结点管理模块报告自己所进入的游戏类型,同时向结点调度模块7请求结点,结点调度模块7接到请求后向对等覆盖网络构建与维护模块4返回一批在线结点信息,对等覆盖网络构建与维护模块4接收到这些结点信息后将构建对等覆盖网络,并对其进行维护,同时将这些结点信息显示到用户界面(用户接口模块1)上。
用户登陆模块5验证客户端用户的登陆信息,判断用户是否成功登陆。如果成功登陆则将该用户的登陆信息,包括用户ID、IP地址等信息提交给结点管理模块6。同时向用户返回登陆成功的消息,客户端收到登陆成功消息后更换用户界面告知用户登陆成功。
结点管理模块6用于对广域网中加入系统的所有结点按游戏类型区分管理。当某结点启动某个MOG游戏进程时,对等覆盖网络构建与维护模块4会向结点管理模块6报告自己所进入的游戏类型。由于每个结点当进入某种类型的游戏后,都会向结点管理模块6报告自己进入的游戏类型,结点管理模块6将会维护管理在不同游戏类型中的所有在线结点。
当某结点启动某个MOG游戏进程时,对等覆盖网络构建与维护模块4同时会向结点调度模块7请求当前在相同游戏类型中的在线结点信息。结点调度模块7从结点管理模块6所管理的所有结点中通过IP地址临近机制和随机调度机制相结合的策略挑选一些与新结点在相同游戏类型中的在线结点,即首先按照IP地址临近机制挑选一部分结点,然后按照随机调度机制再挑选一部分结点,然后一并将这些信息返回给新结点的对等覆盖网络构建与维护模块4,帮助新结点加入对等覆盖网络。
下面举例说明统一化游戏接口模块2、传输控制及优化模块3和对等覆盖网络构建与维护模块4的具体模块构成形式,本领域一般技术人员根据本发明公开的内容,可以采用其它多种方式予以具体实现。
统一化游戏接口模块2可以采用如图2所示的方式予以具体实现。统一化游戏接口模块2包括应用程序编程接口(API)拦截模块21、用户数据包协议(UDP)传输替代模块22、游戏包封装模块23、原用户数据包协议(UDP)传输模块24和游戏包解析模块25。
应用程序编程接口拦截模块21通过进程钩子技术获取原用户数据包协议传输模块24中winsock.dll中sendto函数和recvfrom函数的函数地址,同时用户数据包协议传输替代模块22将自己的发送函数和接收函数的函数地址传递给应用程序编程接口拦截模块21,将sendto函数和recvfrom函数的函数地址分别替换为用户数据包协议传输替代模块22中设置的发送函数和接收函数的函数地址,从而达到拦截sendto和recvfrom函数的目的。由于MOG游戏普遍采用UDP协议进行游戏包的传输,因此本发明通过拦截sendto和recvfrom两个函数可以截获MOG游戏进程发出的和接收的所有游戏包。
由于通过进程钩子截获了sendto函数和recvfrom函数,所以最终MOG游戏进程将最终调用替代后的发送函数与接收函数。当MOG游戏进程向外发送数据时,替代后的发送函数中将调用游戏包封装模块23把sendto函数的buffer参数当中的游戏数据进行封装加上16个字节的包头。封装的报文格式如图5所示,其中,包类型1个字节,根据sendto函数中的目标地址判断是否为广播地址,如果是则包类型设置为1,否则设置为0;源地址信息6个字节,是产生此游戏包的当前主机的IP和游戏程序的Port信息;目的地址信息6个字节,是该游戏包将要发送的目的地址;序列号2个字节,用来防止对重复包的转发和处理,序列号的从0到65536循环分配;TTL 1个字节,标识了包的生命期,限制游戏广播包应用层多播时转发的深度。封装完成之后调用原用户数据包协议传输模块24winsock.dll中的sendto函数将游戏包传递给传输控制及优化模块3。
当外界有游戏包欲提交给MOG游戏进程时,传输控制及优化模块3将通过原UDP传输模块24将游戏包提交给游戏包解析模块25,游戏包解析模块25去掉封包时附加的游戏包头,然后通过用户数据包协议传输替代模块22将解析后得到的原始游戏数据提交给MOG游戏进程。
传输控制及优化模块3负责对游戏包的应用层多播。如图3所示,它包括游戏包处理模块31,应用层多播控制模块32,伙伴结点评测与维护模块33。
游戏包处理模块31接收到原UDP传输模块24发送的游戏包后,检测包类型,如果不是广播包就直接按照游戏包头当中的目的地址将其发送到广域网;如果是则将此包交给应用层多播控制模块32,应用层多播控制模块32将逐一向伙伴结点发送游戏包。
游戏包处理模块31接收到广域网上传输过来的游戏包,分两步进行检测,第一步检测是否为重复包。在此模块中维护了一张长度为50的((IP,Time),序列号集合))的对应表。如图6所示,曾经接收到的包的源地址,Time为在此IP上最近一次收到包的时间戳,(IP,Time)以数组结构构造。序列号集合是从IP地址最近接收到的20个包的序列号,此集合采用的队列数据结构。检测重复包时根据此包的源地址和序列号在以上的对应表中搜索。如果IP和包的序列号都已经存在就将此包丢弃;如果IP存在包而序列号不存在则将时间戳(Time)更新为当前时间,并在序列号队列中添加此序列号;如果IP和包的序列号都不存在,首先添加IP和当前的时间戳到(IP,Time)数组,如果此数组满则挑选数组中最久没有收到包的(IP,Time)项删除,然后再添加,之后在此(IP,Time)对应的序列号队列中添加序列号。第二步检测是否为广播包。在第一步的重复包检测通过之后,检测此包是否为广播包,如果不是就直接由原UDP传输模块24接收;如果是广播包,在转发给统一化游戏接口模块2的同时复制一份交给应用层多播控制模块32进行多播转发。
应用层多播控制模块32接收到游戏包处理模块31复制发送来的广播包,通过广域网依次发送给伙伴结点。
伙伴结点评测与维护模块33用于管理所有的伙伴结点,包括与伙伴结点之间的关系维护、伙伴结点的选拔,并最终向应用层多播控制模块32提供伙伴结点信息用于多播转发。所有的伙伴结点组成一个朋友圈集合,这个朋友圈集合的大小为10,其中的所有伙伴结点都是和本结点之间的延迟在小于游戏所允许的延迟大小的情况下的最优结点。与伙伴结点之间的关系维护是通过“心跳”来进行的。如果“心跳”判断得知与哪个伙伴结点已经失去联系,则在朋友圈集合中删除这个结点并触发伙伴结点的选拔。同时在“心跳”的过程中会定期的检查朋友圈集合,如果集合不满也将触发伙伴结点的选拔。伙伴结点选拔将向对等覆盖网络构建与维护模块4管理请求成员结点集合,并从对等覆盖网络构建与维护模块4返回的的成员结点集合中挑选和本结点之间的延迟低于游戏所允许的延迟大小成员结点。
对等覆盖网络构建与维护模块4构建和维护了以低延迟聚集为特征的分布式无结构化拓扑网络,为上层的传输优化提供服务。如图4所示,它包括以下4个模块:调度请求模块41、种子结点请求模块42、结点性能评测模块43和成员结点管理模块44。
对等覆盖网初始构建时,调度请求模块41向调度服务器结点管理模块6报告自己进入的游戏类型,同时向结点调度模块7请求与其在相同类型游戏中的结点集。结点调度模块7接收到请求后,向请求结点的调度请求模块41返回与其在相同游戏中的种子结点集。然后调度请求模块41将种子结点集信息传递给种子结点请求模块42。
种子结点请求模块42根据调度请求模块41传递的结点信息通过广域网向每个调度结点请求一批种子结点并将请求得到的种子节点交由结点性能评测模块43进行评测。同时在对等覆盖网络的维护过程中,成员结点管理模块44将定期触发种子结点请求模块42向伙伴结点请求新的种子结点信息,同样种子结点请求模块42将请求得到的种子结点交给结点性能评测模块43进行评测。
结点性能评测模块43对由种子结点请求模块42传递的每个种子结点通过广域网向其发送时延测试包,并通过种子结点从广域网中返回的时延测试包反馈进行时延测试,然后根据延迟将符合时延要求的结点更新到它的成员结点集合中,并最终将由成员结点管理模块44来对这些成员结点集合进行管理和维护。
由于游戏应用是高时延敏感的应用,必须让参与游戏的结点之间时延尽量小才能够保证游戏的流畅,保证用户体验。而广域网中通过PKTown参与游戏的结点分布是无规律、无状态的,要保证参与游戏的结点之间的低时延,必须使结点与结点之间的延迟较小的结点参与到同一游戏场景当中。因而,成员结点管理模块44中根据延迟大小将成员结点组织成同心的不重合的多个解析环。如图7所示,这些环的内半径ri=αsi-1,外半径为Ri=αsi(i>0),α是一个常数,指最内层环的的半径,s是一个倍增的因数,控制环与环之间的增长速度。结点通过测量一个结点j和他之间的延迟dj,然后根据ri<dj<Ri规则将结点j归入自己的第i个环。每个环都维护一个长为k的队列。在本发明中,取α=50,s=2,n=5,k=10。每个结点与其最内层环中的结点的延迟小于50ms,50ms是各类局域网游戏一般都能够承受的时延。每个环都是用队列结构来实现的。这种环形结构形成了一种松散的无结构化网络拓扑,并以延迟为特征来组织。
多解析环结构的初始构建是在本机加入系统时由调度请求模块41向调度服务器请求调度结点,调度服务器首先根据IP地址临近机制机制挑选几个结点,然后在剩余的结点中随机地挑选一批结点,这些结点将一起作为调度结点返回。种子结点请求模块42向所有的调度结点发送请求,要求每个调度结点在他们维护的多解环结构的每个环上随机选择几个结点作为种子结点返回。结点性能评测模块43对返回的种子结点进行测速,进而根据它们的延迟大小将种子结点加入成员结点的多解环结构。
多解析环结构的维护是由成员结点管理模块44周期性的选取自己多解环结构的每个环上若干个连接良好的结点组成一组调度结点,种子结点请求模块42向这些调度结点发送请求,和构建时的步骤一样,最后将根据测试的延迟大小将种子结点更新到成员结点的多解环结构。成员结点管理模块44最终将该多解环结构中的部分成员结点信息反馈给伙伴结点评测与维护模块33作为多播转发的伙伴结点。
实例:
本发明中的调度服务器和各结点的硬件和操作系统配置可参考选用如表1所示配置来加以具体实现,但并不局限于这些配置。
表1基于对等覆盖网络的游戏平台系统硬软件配置
  机器名   CPU   内存   网络带宽   操作系统
  调度服务器   PIV 2.0G   2G   100M   Linux2.4.5
  结点机   PIII 866   256M   10M   Windows XP
基于对等覆盖网络的游戏平台系统的配置及运行过程如下:
(1)建立调度服务器
配置调度服务器的运行端口为6668,调度服务器在此端口上监听客户端的调度请求并为其服务。调度服务器启动之后在内存中创建了一张在线结点列表,列表的每行包括以下数据项:用户ID,IPPort,游戏类型,IPFigure(用于IP邻近分析)。IPFigure是利用IP信息计算一个数值(IPFigure),如IP地址202.114.14.234,IPFigure
202*1000000000+114*1000000+14*1000+234。
(2)启动客户端
a)配置游戏参数。游戏的参数包括客户端启动游戏进程的路径和游戏运行参数。从客户端的用户界面中打开设置界面进行设置,如设置为C:\brood\starcraft.exe -swtnl,它指明了星际争霸游戏的本机启动路径以及根据参数-swtnl优化游戏的视频显示。
b)选择启动游戏,构建对等覆盖网络拓扑。在选择游戏之后,客户端根据游戏类型请求调度服务器返回调度结点,并根据调度结点构建和维护游戏的对等覆盖网络拓扑。
c)伙伴结点挑选。客户端从自己所维护的对等覆盖网络拓扑中的多解析环形结构中挑选延迟低于此游戏要求的最优结点作为伙伴结点。
(3)启动游戏进程
从客户端的用户界面启动所选择的游戏进程,统一化游戏接口将随进程钩子注入到游戏进程的内存空间,拦截游戏的UDP传输函数并将传输函数指向统一化游戏接口中的UDP替代传输函数。当游戏包发送时转发给传输与控制模块进行应用层多播,多播的TTL设置为3。此时伙伴结点以及伙伴结点2跳以内的结点和本机结点一起组成虚拟游戏域,一起共享游戏信息,可以加入到同一游戏场景进行游戏。并且由于伙伴结点之间的延迟非常小,所以虚拟游戏域中的所有结点之间的延迟都很小,保证了广域网内游戏之间的低延迟。
(4)退出游戏进程
退出游戏进程之后注入到游戏内存空间的统一化游戏接口被释放,但是对等网络拓扑继续维护。
(5)退出游戏客户端
向调度服务器发送退出消息,调度服务器将在线结点列表中的此结点删除;停止伙伴结点之间的心跳;停止对等网络拓扑的维护。退出客户端。

Claims (5)

1.一种基于对等覆盖网络的游戏平台系统,其特征在于:该系统包括包括客户端和服务器端,其中客户端包括用户接口模块(1)、统一化游戏接口模块(2)、传输控制及优化模块(3)和对等覆盖网络构建与维护模块(4),服务器端包括用户登陆模块(5)、结点管理模块(6)和结点调度模块(7);
用户接口模块(1)用于用户将登陆信息发送给服务器端,由用户登陆模块(5)进行验证,验证成功后登陆;登陆后,当用户通过用户接口模块(1)启动某一游戏进程时,用户接口模块(1)通过进程钩子向该游戏进程内存空间注入统一化游戏接口模块(2),同时启动对等覆盖网络构建与维护模块(4);
统一化游戏接口模块(2)被注入到游戏进程,并在TCP/IP协议栈表示层截获游戏进程发送出去的游戏包,封装游戏包,然后将封装后的游戏包传递给传输控制及优化模块(3);统一化游戏接口模块(2)还接收来自传输控制及优化模块(3)的游戏包,将解析后得到的原始游戏数据提交给MOG游戏进程;
传输控制及优化模块(3)从对等覆盖网络构建与维护模块(4)维护的对等覆盖网络拓扑中挑选低延迟结点,作为应用层多播的伙伴结点,对游戏的共享信息进行应用层多播;传输控制及优化模块(3)还将从广域网接收到的游戏包重新封装后传递给统一化游戏接口模块(2);
对等覆盖网络构建与维护模块(4)在用户通过用户接口模块(1)启动游戏进程时触发,向结点管理模块报告自己所进入的游戏类型,并向结点调度模块(7)请求结点,并接收结点调度模块(7)返回的在线结点信息,根据这些结点信息构建对等覆盖网络,并对对等覆盖网络进行维护,同时将这些结点信息显示到用户界面上;
用户登陆模块(5)用于验证客户端用户的登陆信息,判断用户是否成功登陆;如果成功登陆则将该用户的登陆信息,同时向用户返回登陆成功的消息,客户端收到登陆成功消息后更换用户界面告知用户登陆成功;
结点管理模块(6)用于对广域网中加入系统的所有结点按游戏类型区分管理;当某结点启动某个游戏进程时,对等覆盖网络构建与维护模块(4)会向结点管理模块(6)报告自己所进入的游戏类型;
结点调度模块(7)接收对等覆盖网络构建与维护模块(4)的请求,首先根据IP地址临近机制挑选几个结点,然后在剩余的结点中随机地再挑选一部分结点,再一并将这些挑选出来的节点信息返回给新结点的对等覆盖网络构建与维护模块(4),帮助新结点加入对等覆盖网络。
2.根据权利要求1所述的系统,其特征在于:统一化游戏接口模块(2)包括应用程序编程接口拦截模块(21)、用户数据包协议传输替代模块(22)、游戏包封装模块(23)、原用户数据包协议传输模块(24)和游戏包解析模块(25);
应用程序编程接口拦截模块(21)用于获取原用户数据包协议传输模块(24)中winsock.dll中sendto函数和recvfrom函数的函数地址,同时用户数据包协议传输替代模块(22)将自己的发送函数和接收函数的函数地址传递给应用程序编程接口拦截模块(21),将sendto函数和recvfrom函数的函数地址分别替换为用户数据包协议传输替代模块(22)中设置的发送函数和接收函数的函数地址;
游戏包封装模块(23)将sendto函数的buffer参数当中的游戏数据进行封装;封装完成之后调用原用户数据包协议传输模块(24)winsock.dll中的sendto函数,将游戏包传递给传输控制及优化模块(3);
游戏包解析模块(25)接收传输控制及优化模块(3)通过原用户数据包协议传输模块(24)提交的游戏包,去掉封包时附加的游戏包头,然后通过用户数据包协议传输替代模块(22)将解析后得到的原始游戏数据提交给MOG游戏进程。
3.根据权利要求1或2所述的系统,其特征在于:传输控制及优化模块(3)包括游戏包处理模块(31),应用层多播控制模块(32),伙伴结点评测与维护模块(33);
游戏包处理模块(31)用于接收到原用户数据包协议传输模块(24)发送的游戏包后,先检测是否为重复包,如果是重复包,丢弃;否则再检测是否为广播包,如果是,则将此游戏包交给应用层多播控制模块(32);否则直接按照游戏包头当中的目的地址将其发送到广域网;
应用层多播控制模块(32)接收到游戏包处理模块(31)复制发送来的广播包,通过广域网依次发送给伙伴结点;
伙伴结点评测与维护模块(33)用于管理所有的伙伴结点,并向应用层多播控制模块(32)提供伙伴结点信息用于多播转发。
4.根据权利要求1或2所述的系统,其特征在于:对等覆盖网络构建与维护模块(4)包括调度请求模块(41)、种子结点请求模块(42)、结点性能评测模块(43)和成员结点管理模块(44);
调度请求模块(41)在对等覆盖网初始构建时向调度服务器结点管理模块(6)报告自身进入的游戏类型,同时向结点调度模块(7)请求与自身在相同类型游戏中的结点集,并接收结点调度模块(7)返回的种子结点集,然后传递给种子结点请求模块(42);
种子结点请求模块(42)根据调度请求模块(41)传递的结点信息通过广域网向每个调度结点请求一批种子结点,并将请求得到的种子节点交由结点性能评测模块(43)进行评测;种子结点请求模块(42)在成员结点管理模块(44)定期触发下,向伙伴结点请求新的种子结点信息,并将请求得到的种子结点交给结点性能评测模块(43);
结点性能评测模块(43)对由种子结点请求模块(42)传递的每个种子结点通过广域网向其发送时延测试包,并通过种子结点从广域网中返回的时延测试包反馈进行时延测试,然后根据延迟将符合时延要求的结点更新到自身的成员结点集合中,并提交给成员结点管理模块(44);
成员结点管理模块(44)对结点性能评测模块(43)提交的成员结点集合进行管理和维护,将部分成员结点信息反馈给伙伴结点评测与维护模块(33)作为多播转发的伙伴结点。
5.根据权利要求3所述的系统,其特征在于:对等覆盖网络构建与维护模块(4)包括调度请求模块(41)、种子结点请求模块(42)、结点性能评测模块(43)和成员结点管理模块(44);
调度请求模块(41)在对等覆盖网初始构建时向调度服务器结点管理模块(6)报告自身进入的游戏类型,同时向结点调度模块(7)请求与自身在相同类型游戏中的结点集,并接收结点调度模块(7)返回的种子结点集,然后传递给种子结点请求模块(42);
种子结点请求模块(42)根据调度请求模块(41)传递的结点信息通过广域网向每个调度结点请求一批种子结点,并将请求得到的种子节点交由结点性能评测模块(43)进行评测;种子结点请求模块(42)在成员结点管理模块(44)定期触发下,向伙伴结点请求新的种子结点信息,并将请求得到的种子结点交给结点性能评测模块(43);
结点性能评测模块(43)对由种子结点请求模块(42)传递的每个种子结点通过广域网向其发送时延测试包,并通过种子结点从广域网中返回的时延测试包反馈进行时延测试,然后根据延迟将符合时延要求的结点更新到自身的成员结点集合中,并提交给成员结点管理模块(44);
成员结点管理模块(44)对结点性能评测模块(43)提交的成员结点集合进行管理和维护,将部分成员结点信息反馈给伙伴结点评测与维护模块(33)作为多播转发的伙伴结点。
CN200710052729A 2007-07-11 2007-07-11 一种基于对等覆盖网络的游戏平台系统 Expired - Fee Related CN101094245B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200710052729A CN101094245B (zh) 2007-07-11 2007-07-11 一种基于对等覆盖网络的游戏平台系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200710052729A CN101094245B (zh) 2007-07-11 2007-07-11 一种基于对等覆盖网络的游戏平台系统

Publications (2)

Publication Number Publication Date
CN101094245A CN101094245A (zh) 2007-12-26
CN101094245B true CN101094245B (zh) 2010-05-19

Family

ID=38992271

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200710052729A Expired - Fee Related CN101094245B (zh) 2007-07-11 2007-07-11 一种基于对等覆盖网络的游戏平台系统

Country Status (1)

Country Link
CN (1) CN101094245B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101505315B (zh) * 2008-12-25 2012-06-06 中山大学 P2p游戏服务器控制系统

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102694832B (zh) * 2011-03-25 2014-12-17 腾讯科技(深圳)有限公司 一种游戏系统及其实现方法和游戏客户端
CN102779218B (zh) * 2011-05-09 2015-02-18 腾讯科技(深圳)有限公司 一种游戏开发装置和游戏运行装置
CN103780694B (zh) * 2014-01-08 2017-10-10 深圳市掌玩网络技术有限公司 广域网实时互动游戏分布式联网方法、装置及系统
CN105184158A (zh) * 2015-08-18 2015-12-23 北京汉柏科技有限公司 一种提升云计算操作系统安全性的方法
CN105184153B (zh) * 2015-08-26 2018-10-02 北京元心科技有限公司 智能终端及其基于多级容器的应用程序运行方法
CN105578231B (zh) * 2015-12-18 2018-11-27 网易(杭州)网络有限公司 游戏控制方法、装置及系统
CN106203092B (zh) * 2016-06-30 2019-12-10 珠海豹趣科技有限公司 一种拦截恶意程序关机的方法、装置及电子设备
CN109634861B (zh) * 2018-12-11 2022-06-21 网易(杭州)网络有限公司 网络游戏协议的测试方法、装置、处理器及终端

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1852754A (zh) * 2003-09-20 2006-10-25 皇家飞利浦电子股份有限公司 基于网络的游戏系统

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1852754A (zh) * 2003-09-20 2006-10-25 皇家飞利浦电子股份有限公司 基于网络的游戏系统

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
Bjorn Knutsson ET AL.Peer-to-Peer Support for Massively Multiplayer Games.IEEE.2004,全文. *
Hai jin ET AL.PKTown: A Peer-to-Peer Middleware toSupportMultiplayer Online Games.IEEE.2007,全文.
Hai jin ET AL.PKTown: A Peer-to-Peer Middleware toSupportMultiplayer Online Games.IEEE.2007,全文. *
石祥滨等.一种支持MMOG的MMOGGRID网络体系结构.小型微型计算机系统27 10.2006,27(10),1812-1816.
石祥滨等.一种支持MMOG的MMOGGRID网络体系结构.小型微型计算机系统27 10.2006,27(10),1812-1816. *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101505315B (zh) * 2008-12-25 2012-06-06 中山大学 P2p游戏服务器控制系统

Also Published As

Publication number Publication date
CN101094245A (zh) 2007-12-26

Similar Documents

Publication Publication Date Title
CN101094245B (zh) 一种基于对等覆盖网络的游戏平台系统
Heidemann et al. Building efficient wireless sensor networks with low-level naming
EP2485443A1 (en) System and method for managing multiple queues of non-persistent messages in a networked environment
CN103929461B (zh) 堆叠系统中的mac地址信息同步方法及装置
Cao et al. Datacast: A scalable and efficient reliable group data delivery service for data centers
CN100493085C (zh) P2p蠕虫防御系统
US20130024572A1 (en) Method and system for terminal access and management in cloud computing
Chan et al. Hydra: a massively-multiplayer peer-to-peer architecture for the game developer
CN106453766A (zh) 基于虚拟机的数据传输方法、装置及系统
US8260873B1 (en) Method and system for grouping user devices based on dual proximity
CN106453625B (zh) 信息同步方法及高可用性集群系统
CN101873233B (zh) 一种与PeerCast网络兼容的仿真方法
CN103780615A (zh) 一种在多个服务器间客户端会话数据共享方法
US9591069B2 (en) Peer-to-peer assist for live media streaming
CN102469045B (zh) 一种提升web安全网关并发性能的方法
CN102916833A (zh) 远程调试方法、系统及调试目标设备
CN104394209B (zh) 一种用于分布式能源管理的实时库数据传输方法
CN101741867B (zh) 一种捕获BitTorrent网络中节点信息的方法
Weingärtner et al. Building a modular BitTorrent model for ns-3
CN103297861B (zh) 一种基于PeerSim的P2P视频点播仿真系统
CN103368770A (zh) 基于网关级拓扑的自适应alm覆盖网络构建及维护方法
CN101252490B (zh) 一种游戏中间件中基于延迟聚集的对等网络组织方法
CN105617656B (zh) 一种防止网络游戏用户作弊的方法
CN102035894B (zh) 一种基于距离的状态同步方法
Lee et al. Apolo: Ad-hoc peer-to-peer overlay network for massively multi-player online games

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100519

Termination date: 20120711