CN101252490B - 一种游戏中间件中基于延迟聚集的对等网络组织方法 - Google Patents

一种游戏中间件中基于延迟聚集的对等网络组织方法 Download PDF

Info

Publication number
CN101252490B
CN101252490B CN2007101686831A CN200710168683A CN101252490B CN 101252490 B CN101252490 B CN 101252490B CN 2007101686831 A CN2007101686831 A CN 2007101686831A CN 200710168683 A CN200710168683 A CN 200710168683A CN 101252490 B CN101252490 B CN 101252490B
Authority
CN
China
Prior art keywords
node
information
ring
oneself
sends
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
CN2007101686831A
Other languages
English (en)
Other versions
CN101252490A (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 CN2007101686831A priority Critical patent/CN101252490B/zh
Publication of CN101252490A publication Critical patent/CN101252490A/zh
Application granted granted Critical
Publication of CN101252490B publication Critical patent/CN101252490B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种游戏中间件中基于延迟聚集的对等网络组织方法,各节点执行以下步骤:①加入游戏频道;②向调度服务器请求候选邻居节点;③向候选邻居节点索要该频道的节点;④接收返回的节点;⑤向返回的节点测量网络延时,并根据延时大小将之加入相应的服务环;⑥周期性向服务器汇报状态;⑦与邻居节点周期性交互信息;⑧判断是否退出游戏频道。本发明把延迟相对较小的节点聚合在一起,由节点挑选出与其延迟临近的节点,二者之间建立连接。本发明保证了系统的稳定性和动态性,确定了节点间的网络状况,并提高了节点获取信息的准确性。

Description

一种游戏中间件中基于延迟聚集的对等网络组织方法
技术领域
本发明属于计算机应用领域,是一种基于延迟的分布式网络的构建方法,具体为一种游戏中间件中基于延迟聚集的对等网络组织方法。
背景技术
目前网上的对战游戏种类繁多,但是大部分对战游戏都没有或者很少能够拓展到Internet上,这主要是因为这种对战游戏之间的通信有大量的广播包,如果拓展到Internet上的话,将会造成通信拥塞。所以很多玩家只能在局域网进行游戏,降低了游戏的体验。针对这种状况,虚拟局域网的技术被应用到这个领域。运用这种技术,设置一个服务器,这个服务器为每个游戏用户分配一个虚拟IP,并且把所有游戏的用户虚拟成一个局域网,这样可以让用户脱开局域网的限制,在Internet上游戏。但是这种方案是建立在CS的模式下的,因此服务器必须负责这个虚拟局域网内的每个客户的游戏包的转发,在这种客户/服务器系统模式下,服务器承担了全部的工作。当玩家不断增加的时候,服务器端的压力会越来越大,直到达到服务能力上限。这种解决方案通常是以增加服务器的数量和提高带宽的大小来增强系统的服务能力。因此,这种办法有一定的局限性,其一是随着用户的增加,广播包的数量会以指数增加,其二是随着用户的不断递增,服务器的服务能力难以达到要求。
对等网络技术(Peer-to-Peer)是一项新的利用终端PC计算能力以及终端网络带宽在用户之间进行文件共享的技术。它具有可扩展性,负载均衡,灵活等优点。近几年来,基于这种技术的文件共享已基本成熟,基于这种技术的流媒体技术也日趋广泛,这也为游戏的发展提供了一个更有创造性的思路。
目前存在的对等网络的构建方法主要有结构化模式和非结构化模式。其中结构化的模式有Chord(I.Stoica,R.Morris,D.Karger,M.F.Kaasboek,and H.Balakrishnan,“Chord:A Scalable Peer-to-Peer Lookup Protocol forInternet Applications”,Proc SIGCOMM 2001,Aug.2001)Napster(http://www.napster.com/),其中非结构化的主要有Gnutellaprotocol specification 0.6(http://rfc-gnutella.Source-forge.Net),KaZaA(http://www.kazaa.com)。这些基于对等网络技术的系统与传统的C/S模式的系统相比它们更充分地利用了系统中各个节点的资源,使得系统不仅是在稳定性而且在可扩展性方面都有了很大的提高。但是这些对等网络由于自身的特点又拥有一些缺点。结构化模式的系统容易造成压力负载不平衡,单一节点失效,当系统的超级节点出现问题的时候,将会对系统产生很大的影响;非结构化模式的系统中冗余消息多,如何消除冗余消息,保证系统的连通性一直是重要的问题。
发明内容
本发明的目的在于提供一种游戏中间件中基于延迟聚集的对等网络组织方法,该方法保证了系统的稳定性和自适应性,改善了网络中邻居节点之间的连接状况。
本发明提供的游戏中间件中基于延迟聚集的对等网络组织方法,进入游戏平台的任一节点P均按以下步骤组织对等网络:
(1)节点P发送加入游戏频道的申请,服务器为该节点分配一个唯一的虚拟IP;
[0001]其中结构化的模式有Chor[0009](3)节点P在收到调度服务器发过来的K个候选邻居节点的信息时,分别发送索要节点请求给K个候选邻居节点;
(4)K个候选邻居节点接收到节点P索要节点的请求时,分别从自己的服务环中挑选部分节点,返回给节点P;
(5)节点P收到返回的节点后,按照下述过程测量与这些节点网络延时,将这些节点定位在自己的服务环中:
(5.1)节点P分别发送延时测量请求给所有的返回节点,并在该延时测量请求中打上时间戳;
(5.2)返回节点接收延时测量请求,再发送延时测量应答给节点P;
(5.3)节点P接收延时测量应答,并按照下式计算与另一节点之间的延迟DPX
DPX=(节点P收到延时测量应答的时间-节点P发出延时测量请求的时间)/2
(5.4)根据延迟DPX的大小,将该节点定位在自己服务环中的一层;节点P根据不同节点与自己的延迟大小将该节点定位在自己的服务环中;
(6)节点P周期性地向服务器发送心跳包,报告自己的状态,并处于等待接收数据包,当收到其他节点发出数据包时,进入步骤(7),当收到本节点发过来的游戏包,则进入步骤(6.1);
(6.1)接收本节点端口发出的游戏包,并进行判断,如图5所示,如果该游戏包是游戏广播包,则进入(6.2),否则进入(6.3);
(6.2)截获该游戏广播包,重新封包,再发送给该节点最内层环的f个邻居节点,然后返回至步骤(6);
(6.3)将游戏单播包封包,然后直接将该包发送到目的地址,再返回至步骤(6);
(7)节点P向其邻居节点发送更新信息和拓扑维护信息;同时,节点P判断接收到的信息的类型是否为测速信息、加入信息、拓扑维护信息、游戏包信息或退出信息中的一种,再根据信息类型进行相应处理;
(8)当节点P收到其他节点的退出信息时,将该节点从自己的服务环中删除,同时将该节点的信息从自己的邻居节点列表中删除,返回步骤(6);如果节点P在超时时限W内没有收到自己最内层环某个邻居节点X的拓扑信息维护包,则视节点X出现异常,将该节点从自己的服务环中删除,返回步骤(6);如节点P在超时时限W内没有收到任何节点的拓扑信息维护包,将自己环上的所有节点删除,然后进入步骤(9);
(9)重复步骤(1)至(8),直至节点P退出网络。
本发明根据游戏对战的需求,把延迟相对较小的节点聚合在一起。由节点首先挑选出与其延迟临近的节点,然后随机选取这些节点,二者之间建立连接。具体而言,本发明具有以下特征:
(1)聚集性
节点在刚开始的时候选择几个与自己延迟临近的节点作为自己第一层的邻居,保证与自己邻居的延迟较小,在接下来的动态调整中,不断的把与自己延迟大的节点调整出自己的邻居,将与自己延迟小的节点调整为自己的邻居。这样把网络中与自己延迟较低的节点聚集在自己的周围。
(2)稳定性
由于整个系统中没有超级节点,所以任何节点的推出不会对其他节点造成很大的影响,同时,系统中节点通过向自己第一层的邻居发送广播包去广播消息,不像Gnutella一样通过洪泛来发送广播包,因此冗余消息的问题容易解决。
(3)自适应性
节点在进入系统中以后,一直都保持着动态的调整,在不影响系统性能的前提下,与自己的邻居和服务器保持一定频率的心跳。当节点异常退出的时候,不会对其他节点造成很大的影响。
(4)较强的可扩展性
由于系统是采用P2P模式的,所以相对于C/S模式,有较强的可扩展性,服务器的压力和网络承受的带宽并不会因为节点的增加,而呈线性增长,因此对服务器和带宽的要求并不高。同时,也不会产生其他P2P结构所会引起的单一节点失效和消息冗余等问题。
(5)负载均衡
由于是采用非结构化的P2P模式,没有超级节点,不会产生负载不均衡的问题。
附图说明
图1为本发明方法的流程示意图;
图2为节点服务环构造示意图;
图3为节点拓扑维护和游戏广播包处理流程图;
图4为网络游戏包的接收信息流程图;
图5为本节点游戏包的发送信息流程图;
图6为实例的数据包流程图,其中,节点A,B,...,E是基于延时聚集的对等网络中的用户节点。
具体实施方式
本发明根据对等网络中游戏对战平台的需要建立了一种延迟相关的对等网络,下面结合附图和实例对本发明作详细的说明。
节点信息包括:节点标识符、节点加入游戏频道的标识符、节点的IP地址和端口、节点网关的IP地址和端口、该节点的虚拟IP和端口。
如图1所示,进入游戏平台的任一用户(节点P)均按以下步骤组织对等网络:
(1)节点P发送要加入该游戏频道的申请,服务器为该节点分配一个唯一的虚拟IP。
节点在进入平台以后,需要选择游戏频道,即选择游戏的种类,星际争霸,魔兽争霸还是反恐精英等。当节点选择了游戏频道之后,调度服务器分配一个全局唯一的虚拟IP(该虚拟IP是由调度服务器分配的与其他节点不重复的B类IP地址)给该节点,这个虚拟IP与该节点的全局IP和局域网IP相对应。
(2)调度服务器收到节点P的加入请求,从数据服务器中选择K个候选邻居节点返回给节点P,K取值为当前网络中所有节点数和期望得到的邻居节点数E中较小的数。
数据服务器用于记录所有游戏节点的信息,主要包括这些游戏节点的IP地址和端口、节点网关的IP地址和端口、该节点的虚拟IP和端口。
具体步骤如下:
(2.1)节点P在选择加入的游戏频道后,向调度服务器发送加入的请求包,请求包含有节点的全局ID、用户名和密码;
(2.2)调度服务器在收到节点P的加入请求后,返回信息给节点P,如果同意该节点的加入,则返回登陆成功的信息,进入步骤(2.3),否则返回登陆失败的信息,转入步骤(1);
(2.3)节点P接收到登陆成功信息之后,向调度服务器请求邻居节点;
(2.4)调度服务器收到该请求后,从数据服务器中选出K个候选邻居节点,返回给节点P,过程如下:
(2.4.1)调度服务器在收到节点的加入请求之后,验证节点信息。
(2.4.2)验证成功,则向数据服务器转发节点P索要索引节点的请求。
(2.4.3)数据服务器从自己的服务器列表中挑选出K个节点作为候选邻居节点发送给节点P,K个节点根据IP临近原则选择与新加入的节点相临近的节点。
(3)节点P在收到调度服务器发过来的K个候选邻居节点的信息时,分别发送索要节点请求给K个候选邻居节点。
(4)K个候选邻居节点接收到节点P索要节点的请求时,分别从自己的服务环中挑选部分节点,返回给节点P。
挑选步骤是根据每个不同节点的服务环来进行挑选。如图2所示,服务环分为n层(P2P游戏中间件实际部署中n=2,3,...,20),环的内径ri和外径Ri的计算公式为:
r i = 0 , R i = 20 ( i = 0 ) r i = as i - 1 , R i = as i ( i = 1,2,3 ) r i = as 3 , R i = ∞ ( i = 4 ) - - - ( 1 )
公式(1)中,a为常数(a=1,2,3,...),s为倍增因子(s=2,3,4,...)。环中的节点X用RingP[i,j]来表示,其中i代表节点X在RingP中处于第几层,j代表X为第i层中的第j+1个节点,每个环维持的最大节点数为f=10,因此j<10。RingP[i]代表节点P的第i层环,N(RingP[i])表示节点P第i层上的节点个数,当i=0,RingP[0]代表的是最内环,此环是一个长度为10的数组,RingP[0]中的节点为节点P的邻居节点。当i=1,2,3,4时,环RingP[i]维持了一个度数为f=10的先入先出的队列。
具体挑选步骤如下:
(4.1)K个候选邻居节点A,B,C,D...。分别查看自己的服务环,如果服务环为空,则返回,并发送查找失败信息给节点P,如果为非空,则转至步骤(4.2);
(4.2)查看服务环,如果该层环为空,则不做操作,如果该层环为非空,则转至步骤(4.3);
(4.3)该节点从每层环中随机选取M个节点,然后将每层环中选取的节点一起返回给节点P。M根据软件需求设定。
(5)节点P收到返回的节点后,与这些节点测量网络延时,将这些节点定位在自己的服务环中,步骤如下;
(5.1)节点P分别发送延时测量请求给所有的返回节点,并在该延时测量请求中打上时间戳;
(5.2)返回节点接收延时测量请求,再发送延时测量应答给节点P;
(5.3)节点P接收延时测量应答,并按照下式计算与另一节点之间的延迟DPX
DPX=(P收到延时测量应答的时间-P发出延时测量请求的时间)/2
(5.4)根据延迟DPX的大小,将该节点定位在自己服务环中的一层。节点P根据不同节点与自己的延迟大小将该节点定位在自己的服务环中。
(6)节点P周期性地向服务器发送心跳包,报告自己的状态,并处于等待接收数据包,当收到其他节点发出数据包时,进入步骤(7),当收到本节点发过来的游戏包,则进入步骤(6.1);心跳包中包括节点信息标识符、该节点的ID、该节点所在的游戏频道的标识符、该节点的IP地址和端口、该节点网关的IP地址和端口、该节点的虚拟IP地址和端口。
(6.1)接收本节点端口发出的游戏包,并进行判断,如图5所示,如果该游戏包是游戏广播包,则进入(6.2),否则进入(6.3),;
(6.2)步骤(6.1)中收到的是游戏本身发出的广播包,则将该包截获,按如下格式重新封包:
  游戏类型   包类型   源地址   序列号   TTL   游戏广播包
其中序列号为了防止游戏包的重复,在延迟聚集的对等网络中TTL设为N(N=2,3,4,...),即转发最多为N跳。封包后发送给该节点最内层环的f个邻居节点,再返回步骤(6);
(6.3)步骤(6.1)中收到的是本节点发出的游戏单播包,则按如下格式封包,然后直接将该包发送到目的地址即可,再返回步骤(6);
  游戏类型   包类型   目的地址   序列号   游戏单播包
(7)节点P按照下述过程与其服务环内的邻居节点交流信息:
(7.1)节点P向其邻居节点发送更新信息和拓扑维护信息;
节点的更新信息包括信息标识符、该节点标识符、该节点所在的游戏频道的标识符、该节点的IP地址和端口、该节点网关的IP地址和端口、该节点的虚拟IP地址和端口。
节点的拓扑维护信息包括信息标识符(MAINTAIN)、该节点标识符、该节点所在的游戏频道的标识符、该节点的IP地址和端口、该节点网关的IP地址和端口、该节点的虚拟IP地址和端口。
(7.2)节点P通过信息标识符判断接收到的信息的类型,如果是测速信息,进入步骤(A1);如果是加入信息,进入步骤(B1);如果是拓扑维护信息,进入步骤(C1);如果是游戏包信息,进入步骤(D1);如果是退出信息,进入步骤(8);否则返回至步骤(6)。如图4所示,过程如下:
(A1)节点P接收到从新加入节点X发出的测速信息的时候,将从新加入节点发过来的延时测量请求打上时间戳,然后发送回该节点。然后进入步骤(B1);
(B1)节点P再将新加入节点X的延时测量请求返回给该节点之后,等待新加入节点的回复消息。X节点根据步骤(5.3)中所述的公式计算出节点P与自己的延迟之后,根据延迟大小将节点P定位在自己的服务环中;
(B2)步骤(B1)中再将其他节点定位在自己的服务环中的某一层,首先要判断自己该层环中的节点是否为满。如果为满的话,进入步骤(B3),否则,进入步骤(B4);
(B3)当一层环达到f个节点的时候,该层环为满。由于服务环的每一层都是一个先入先出的队列,当该层环为满时,这个队列要将该层最先进入的节点排除出去,然后其他符合该层环的延迟的节点加入该环,此时,返回步骤(7);
(B4)直接将符合该层环延迟的节点加入到该层环,进入步骤(7);
(C1)节点P将收到的更新信息中关于节点的信息(即该节点信息标识符、该节点标识符、该节点所在的游戏频道的标识符、该节点的IP地址和端口、该节点网关的IP地址和端口、该节点的虚拟IP地址和端口)在其邻居节点列表中更新,返回步骤(7);
(D1)节点P判断其接收到的信息是游戏广播包还是游戏单播包,如果是其他节点发出的广播包,进入步骤(D2);如果是其他节点发出的单播包,进入步骤(D3);
(D2)步骤(D1)中收到的是其他节点发送的封装过的游戏广播包,则解析该包,然后将TTL减1,然后再将该游戏广播包发送给自己的十个邻居,依此类推,直到TTL=0时不再转发,返回步骤(6);
(D3)步骤(D1)收到的是其他节点发出的封装过的游戏单播包,则解析该包,将游戏包送给本节点指定端口,返回步骤(6);
(8)当节点P收到其他节点的退出信息时,将该节点从自己的服务环中删除,同时将该节点的信息从自己的邻居节点列表中删除,返回步骤(6);如果节点P在超时时限W内没有收到自己最内层环某个邻居节点X的拓扑信息维护包,则视节点X出现异常,将该节点从自己的服务环中删除,返回步骤(6);如节点P在超时时限W内没有收到任何节点的拓扑信息维护包,将自己环上的所有节点删除,然后进入步骤(9);超时时限W根据软件需求设定。
(9)重复步骤(1)至(8),直至节点退出网络。
至此,基于延迟聚集的游戏网络拓扑就完成了对等网络组织。
实例:
利用本发明所阐述的时间相关的对等网络组织方法,实验室提供了1个索引服务器以及40台普通PC机。PC机的硬件配置如下:
  机器名   CPU   内存   硬盘   网络带宽
  索引服务器   PIIII 2.0G   2G   40G   100M
  PC A-E   PIIII 1.7G   256M   40G   10M
PC A-E分别称为节点A,节点B,...,节点E。某时刻,根据节点A-E的延时聚集的对等网络如图6所示。根据系统的硬件配置设定系统中节点的每层服务环上节点为10,服务环根据延迟大小,一共分5层,最内层延迟在0-20ms之间,第二层延迟在20-40ms,第三层延迟在40-80ms,第四层在80-160ms,第五层延迟在160ms-∞。
其中,A节点为广播包的源节点。A节点发出的广播包被系统截获,重新封包,然后发送给自己内环的邻居节点,其中包括节点B、C。节点B、C在第二跳的广播中映射为中心节点,在收到广播包的同时将广播包的TTL 减1,按照自己的服务环发送给各自的邻居节点,即B的邻居节点(D、C)和C的邻居节点。节点D、E在第三跳的广播中映射为中心节点。节点D、E再分别的按照上述的原则将原始广播包转发出去。这就是一个广播包在系统中传送的全过程。假设节点B和D在收到A发出的广播包时加入节点A的游戏,这时候这三个节点在同一游戏场景,此时节点A、节点B和节点D之间的改为双向的单播包通信。此时,节点A、B和D作为延时积聚网络中的节点仍会转发其他节点发出的广播包。
到达信息交流周期时,节点A从其最内环选择了节点B和C发送拓扑维护信息,其中包括A节点目前的游戏频道和各种IP信息。如果A节点离开,则发送离开信息给B和C,B、C节点将A节点的信息从自己的服务环中删除。
同上述方式,节点B与节点D也会建立邻居关系,节点C与节点E建立了邻居关系。节点B与D、节点C与E通过定期交流信息维护了邻居这层关系,在邻居关系的基础上它们能够寻找到更多的“伙伴”节点,保证服务的性能。
经多次测试,采用本发明所论述的时间相关的对等网络组织方法,同一游戏频道上的节点都能够非常流畅地玩游戏,整个系统能够稳定地工作。
本领域一般技术人员根据本发明公开的内容,能够采用其它具体实施方式实现本发明创造。

Claims (4)

1.一种游戏中间件中基于延迟聚集的对等网络组织方法,进入游戏平台的任一节点P均按以下步骤组织对等网络:
(1)节点P发送加入游戏频道的申请,服务器为该节点分配一个唯一的虚拟IP;
(2)调度服务器收到节点P的加入请求,从数据服务器中根据IP临近原则选择与新加入的节点相临近的K个候选邻居节点返回给节点P;其中K取值为当前网络中所有节点数和期望得到的邻居节点数E中较小的数;
(3)节点P在收到调度服务器发过来的K个候选邻居节点的信息时,分别发送索要节点请求给K个候选邻居节点;
(4)K个候选邻居节点接收到节点P索要节点的请求时,分别从自己的服务环中挑选部分节点,返回给节点P;
(5)节点P收到返回的节点后,按照步骤(5.1)至(5.4)测量与这些节点网络延时,将这些节点定位在自己的服务环中:
(5.1)节点P分别发送延时测量请求给所有的返回节点,并在该延时测量请求中打上时间戳;
(5.2)返回节点接收延时测量请求,再发送延时测量应答给节点P;
(5.3)节点P接收延时测量应答,并按照下式计算与另一节点之间的延迟DPX
DPX=(节点P收到延时测量应答的时间-节点P发出延时测量请求的时间)/2
(5.4)根据延迟DPX的大小,将该节点定位在自己服务环中的一层;节点P根据不同节点与自己的延迟大小将该节点定位在自己的服务环中;
(6)节点P周期性地向服务器发送心跳包,报告自己的状态,并处于等待接收数据包,当收到其他节点发出数据包时,进入步骤(7),当收到本节点发过来的游戏包,则进入步骤(6.1);
(6.1)接收本节点端口发出的游戏包,并进行判断,如果该游戏包是游戏广播包,则进入(6.2),否则进入(6.3);
(6.2)截获该游戏广播包,重新封包,再发送给该节点最内层环的f个邻居节点,然后返回至步骤(6);
(6.3)将游戏单播包封包,然后直接将该包发送到目的地址,再返回至步骤(6);
(7)节点P向其邻居节点发送更新信息和拓扑维护信息;同时,节点P判断接收到的信息的类型是否为测速信息、加入信息、拓扑维护信息、游戏包信息或退出信息中的一种,再根据信息类型进行相应处理;
(8)当节点P收到其他节点的退出信息时,将该节点从自己的服务环中删除,同时将该节点的信息从自己的邻居节点列表中删除,返回步骤(6);如果节点P在超时时限W内没有收到自己最内层环某个邻居节点X的拓扑信息维护包,则视节点X出现异常,将该节点从自己的服务环中删除,返回步骤(6);如节点P在超时时限W内没有收到任何节点的拓扑信息维护包,将自己环上的所有节点删除,然后进入步骤(9);
(9)重复步骤(1)至(8),直至节点P退出网络。
2.根据权利要求1所述的对等网络组织方法,其特征在于:步骤(2)包括以下过程:
(2.1)节点P在选择加入的游戏频道后,向调度服务器发送加入的请求包,请求包含有节点的全局ID、用户名和密码;
(2.2)调度服务器在收到节点P的加入请求后,返回信息给节点P,如果同意该节点的加入,则返回登陆成功的信息,进入步骤(2.3),否则返回登陆失败的信息,转入步骤(1);
(2.3)节点P接收到登陆成功信息之后,向调度服务器请求邻居节点;
(2.4)调度服务器收到该请求后,从数据服务器中选出K个候选邻居节点,返回给节点P,过程如下:
(2.4.1)调度服务器在收到节点的加入请求之后,验证节点信息;
(2.4.2)验证成功,则向数据服务器转发节点P索要索引节点的请求;
(2.4.3)数据服务器从自己的服务器列表中挑选出K个节点作为候选邻居节点发送给节点P,K个节点根据IP临近原则选择与新加入的节点相临近的节点。
3.根据权利要求1所述的对等网络组织方法,其特征在于:步骤(4)包括以下过程:
(4.1)K个候选邻居节点分别查看自己的服务环,服务环分为n层,如果服务环为空,则返回,并发送查找失败信息给节点P,如果为非空,则转至步骤(4.2);
(4.2)查看服务环,如果本层环为空,则不做操作,如果本层环为非空,则转至步骤(4.3);
(4.3)该节点从每层环中随机选取M个节点,然后将每层环中选取的节点一起返回给节点P,M根据软件需求设定。
4.根据权利要求1所述的对等网络组织方法,其特征在于:步骤(7)中,节点P按照下述过程与其服务环内的邻居节点交流信息:
(7.1)节点P向其邻居节点发送更新信息和拓扑维护信息;
(7.2)节点P通过信息标识符判断接收到的信息的类型,如果是测速信息,进入步骤(A1);如果是加入信息,进入步骤(B1);如果是拓扑维护信息,进入步骤(C1);如果是游戏包信息,进入步骤(D1);如果是退出信息,进入步骤(8);否则返回至步骤(6);
(A1)节点P接收到从新加入节点X发出的测速信息的时候,将从新加入节点发过来的延时测量请求打上时间戳,然后发送回该节点;然后进入步骤(B1);
(B1)节点P将新加入节点X的延时测量请求返回给该节点,再等待新加入节点的回复消息;X节点计算节点P与自己的延迟,再根据该延迟的大小将节点P定位在自己的服务环中;
(B2)步骤(B1)中再将其他节点定位在自己的服务环中的某一层,首先要判断自己该层环中的节点是否为满;如果为满的话,进入步骤(B3),否则,进入步骤(B4);
(B3)删除该层环最先进入的节点,然后将其他符合该层环的延迟的节点加入到该层环中,然后返回步骤(7);
(B4)如果该层环为非满的时候,直接将符合该层环延迟的节点加入到该层环,返回步骤(7);
(C1)节点P将收到的更新信息中关于节点的信息在其邻居节点列表中更新,返回步骤(7);
(D1)节点P判断其接收到的信息是游戏广播包还是游戏单播包,如果是其他节点发出的游戏广播包,进入步骤(D2);如果是其他节点发出的游戏单播包,进入步骤(D3);
(D2)解析该游戏广播包,然后将TTL减1,然后再将该游戏广播包发送给自己的邻居,直到TTL=0时不再发送,返回步骤(6);
(D3)解析该游戏单播包,将其送给本节点指定端口,返回步骤(6)。
CN2007101686831A 2007-12-07 2007-12-07 一种游戏中间件中基于延迟聚集的对等网络组织方法 Expired - Fee Related CN101252490B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2007101686831A CN101252490B (zh) 2007-12-07 2007-12-07 一种游戏中间件中基于延迟聚集的对等网络组织方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2007101686831A CN101252490B (zh) 2007-12-07 2007-12-07 一种游戏中间件中基于延迟聚集的对等网络组织方法

Publications (2)

Publication Number Publication Date
CN101252490A CN101252490A (zh) 2008-08-27
CN101252490B true CN101252490B (zh) 2010-08-04

Family

ID=39955687

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007101686831A Expired - Fee Related CN101252490B (zh) 2007-12-07 2007-12-07 一种游戏中间件中基于延迟聚集的对等网络组织方法

Country Status (1)

Country Link
CN (1) CN101252490B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106688209B (zh) * 2014-10-29 2020-12-01 柏思科技有限公司 用于传输广播数据的方法和系统
CN109005191B (zh) * 2018-08-31 2021-05-11 中国联合网络通信集团有限公司 一种验证方法和系统、仲裁节点、存储介质
CN109692474B (zh) * 2018-12-28 2023-03-10 努比亚技术有限公司 基于移动终端的游戏控制方法、移动终端及可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1549639A (zh) * 2003-05-07 2004-11-24 英业达股份有限公司 对称式无线网络游戏传输方法
CN1852754A (zh) * 2003-09-20 2006-10-25 皇家飞利浦电子股份有限公司 基于网络的游戏系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1549639A (zh) * 2003-05-07 2004-11-24 英业达股份有限公司 对称式无线网络游戏传输方法
CN1852754A (zh) * 2003-09-20 2006-10-25 皇家飞利浦电子股份有限公司 基于网络的游戏系统

Also Published As

Publication number Publication date
CN101252490A (zh) 2008-08-27

Similar Documents

Publication Publication Date Title
Pai et al. Chainsaw: Eliminating trees from overlay multicast
Kawahara et al. A peer-to-peer message exchange scheme for large-scale networked virtual environments
Lao et al. A scalable overlay multicast architecture for large-scale applications
CN103686946B (zh) 一种异构无线网络中移动p2p节点的选择方法及系统
CN101656749A (zh) 一种实时系统下无中心节点的发布者/订阅者实时互发现方法
CN101094245B (zh) 一种基于对等覆盖网络的游戏平台系统
Shen Structure Management for Scalable Overlay Service Construction.
CN101252490B (zh) 一种游戏中间件中基于延迟聚集的对等网络组织方法
CN104967677A (zh) 一种基于ndn缓存优化的文件传输方法以及装置
CN102244670A (zh) 一种用于p2p文件传输的空闲节点协助方法
Goering et al. Service discovery using bloom filters
CN101741867B (zh) 一种捕获BitTorrent网络中节点信息的方法
CN101465753A (zh) P2p系统组管理方法及其装置和系统
Ripeanu et al. In search of simplicity: a self‐organizing group communication overlay
JP2004260244A (ja) 情報通信方法、プログラム及びシステム
CN106034106A (zh) 组网方法、组网管理方法以及装置和系统
Jung et al. Architecture and Server Selection for DHT-based Distributed CDN
Mercan et al. Virtual direction multicast: An efficient overlay tree construction algorithm
Kazem et al. A zone based architecture for massively multi-user simulations
Das et al. Evaluation of network impact of content distribution mechanisms
Hoong et al. A Two-layer Super-Peer based P2P Live Media Streaming System.
Merz et al. A simulation framework for distributed super-peer topology construction using network coordinates
Bayat et al. Coping with flash crowd in multi-channel live video streaming for peer-to-peer networks
Ripeanu et al. In Search of Simplicity: A Self-Organizing Multi-Source Multicast Overlay
Hariri et al. A distributed topology control algorithm for P2P based simulations

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: 20100804

Termination date: 20121207