首页> 中国专利> 基于网络距离的游戏撮合方法和游戏服务器

基于网络距离的游戏撮合方法和游戏服务器

摘要

本发明提供了基于网络距离的游戏撮合方法和游戏服务器。该方法包括:A,游戏服务器将发送了游戏撮合请求的游戏玩家放入撮合队列中;B,游戏服务器在游戏撮合时间到达时,从所述撮合队列中选择出一个游戏玩家,计算该选择的游戏玩家与所述撮合队列中其他游戏玩家之间的网络距离;C,游戏服务器利用计算出的网络距离确定出与该选择的游戏玩家进行游戏撮合的游戏玩家并撮合在一起开始游戏。

著录项

  • 公开/公告号CN103310084A

    专利类型发明专利

  • 公开/公告日2013-09-18

    原文格式PDF

  • 申请/专利权人 腾讯科技(深圳)有限公司;

    申请/专利号CN201210064706.5

  • 发明设计人 党建国;马启平;

    申请日2012-03-13

  • 分类号G06F19/00(20110101);H04L29/06(20060101);H04L29/08(20060101);

  • 代理机构11018 北京德琦知识产权代理有限公司;

  • 代理人杨春香;宋志强

  • 地址 518044 广东省深圳市福田区振兴路赛格科技园2栋东403室

  • 入库时间 2024-02-19 20:48:02

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-09-29

    授权

    授权

  • 2013-10-23

    实质审查的生效 IPC(主分类):G06F19/00 申请日:20120313

    实质审查的生效

  • 2013-09-18

    公开

    公开

说明书

技术领域

本发明涉及网络通信技术,特别涉及基于网络距离的游戏撮合方法和游 戏服务器。

背景技术

现有的游戏撮合方式主要有两种,一种方式(记为方式1)为:是基于 玩家选择的运营商类型进行游戏撮合;另一种方式(记为方式2)为:基于 玩家的地域进行游戏撮合。

但是,这两种方式实现起来有点粗糙,针对方式1,虽然玩家选择了同 一类型的运营商,但是会出现玩家地域的跨越比较大,会导致由于跨越的地 域比较大而出现网络游戏质量问题比如不流畅、或者甚至不能开始游戏等; 而针对方式2,虽然玩家处于同一个地域,但是会出现同一个地域的玩家选 择的运营商类型不同,会导致由于玩家选择的运营商类型不同而出现网络游 戏质量问题比如不流畅、或者甚至不能开始游戏等。

发明内容

本发明提供了基于网络距离的游戏撮合方法和游戏服务器,避免游戏撮合过 程中由于游戏玩家之间的地域、运营商差异所带来的技术问题。

本发明提供的技术方案包括:

一种基于网络距离的游戏撮合方法,该方法包括:

A,游戏服务器将发送了游戏撮合请求的游戏玩家放入撮合队列中;

B,游戏服务器在游戏撮合时间到达时,从所述撮合队列中选择出一个游戏 玩家,计算该选择的游戏玩家与所述撮合队列中其他游戏玩家之间的网络距离;

C,游戏服务器利用计算出的网络距离确定出与该选择的游戏玩家进行游戏 撮合的游戏玩家并撮合在一起开始游戏。

一种基于网络距离进行游戏撮合的游戏服务器,该游戏服务器包括:

撮合队列单元,用于将该发送了游戏撮合请求的游戏玩家放入撮合队列中;

计算单元,用于在游戏撮合时间到达时,从所述撮合队列中选择出一个游戏 玩家,计算该选择的游戏玩家与所述撮合队列中其他游戏玩家之间的网络距离;

撮合单元,用于利用计算出的网络距离确定出与该选择的游戏玩家进行游戏 撮合的游戏玩家并撮合在一起开始游戏。

由以上技术方案可以看出,本发明中,通过游戏玩家之间的网络距离对 游戏玩家进行游戏撮合,这相比于现有技术,完全屏蔽了玩家地域、运营商 类型等差异,进而避免游戏撮合过程中由于游戏玩家之间的地域、运营商差 异所带来的技术问题。

附图说明

图1为本发明实施例提供的方法流程图;

图2为本发明实施例提供的步骤102实现流程图;

图3为本发明实施例提供的游戏玩家获取并上报ping值示意图;

图4为本发明实施例提供的游戏服务器结构图。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体 实施例对本发明进行详细描述。

本发明提供的方法包括图1所示的流程:

参见图1,图1为本发明实施例提供的方法流程图。如图1所示,该流 程可包括以下步骤:

步骤101,游戏服务器将发送了游戏撮合请求的游戏玩家放入撮合队列 中。

游戏玩家在登陆至游戏服务器后,先发送游戏撮合请求至游戏服务器, 并等待游戏服务器将其和其他游戏玩家撮合成功后开始游戏。而游戏服务器 接收到游戏撮合请求后,将该发送了游戏撮合请求的游戏玩家放入撮合队列 中。之后执行步骤102。

步骤102,游戏服务器在游戏撮合时间到达时,从所述撮合队列中选择 出一个游戏玩家,计算该选择的游戏玩家与所述撮合队列中其他游戏玩家之 间的网络距离。

其中,游戏撮合时间为撮合队列中游戏玩家的数量达到游戏规定撮合数 量N的时间。

另外,本步骤102中,从所述撮合队列中选择出一个游戏玩家可包括: 随机从撮合队列中选择出一个游戏玩家,或者从撮合队列中选择出一个等待 时间最长的游戏玩家。

至于该选择的游戏玩家与所述撮合队列中其他游戏玩家之间的网络距离 其是依据该选择的游戏玩家与所述撮合队列中其他游戏玩家的网络质量标识 计算的。其中,网络质量标识具体实现时可为因特网包探索器(ping)值。 下面以ping值为例通过图2所示步骤说明如何计算网络距离:

步骤201,游戏服务器获取该选择的游戏玩家、以及撮合队列中其他每 一游戏玩家的ping值。

本步骤201中,游戏玩家的ping值为该游戏玩家至不同地域的服务器(其 为预定义的多点检测机器列表中的服务器)中的ping值。比如,假设撮合队 列中一共有如下n个游戏玩家:游戏玩家P1、P2、P3、P4、P5...Pn,并且, 多点检测机器列表中服务器数量为m,则上述n个游戏玩家的Ping值依次定 义为(x11,x12,x13,x14,x15...x1m)、(x21,x22,x23,x24,x25...x2m)、(x31, x32,x33,x34,x35...x3m)...(xn1,xn2,xn3,xn4,xn5...xnm)。

另外,本步骤201中,游戏服务器获取游戏玩家ping值的方式主要为:

第一种方式,游戏服务器触发该选择的游戏玩家、以及撮合队列中其他 每一游戏玩家动态获取并上报ping值;

第二种方式,游戏服务器从本地缓存的ping值中获取该选择的游戏玩 家、以及撮合队列中其他每一游戏玩家的ping值。本地缓存的ping值为游 戏玩家在登陆游戏大厅时上报至游戏服务器的,具体如图3所示,其可定期 更新。

第二种方式相比于第一种方式,可减轻游戏玩家对多点检测机器列表中 服务器的压力,这是因为:采用第一种方式,会出现很多个游戏玩家同时获 取至多点检测机器列表中每一服务器的ping值,加大多点检测机器列表中服 务器的压力。

步骤202,利用获取的ping值计算该选择的游戏玩家至撮合队列中其他 每一游戏玩家的网络距离。

如,从撮合队列中选择出其中一个游戏玩家或者选择出一个等待时间最 长的游戏玩家为Pk(1<=k<=n)作为第一个开始游戏撮合的玩家,之后计算该 游戏玩家Pk与撮合队列中其他每一游戏玩家之间的网络距离。基于上述对游 戏玩家的ping值定义,则游戏玩家Pk与撮合队列中其余任意一个玩家Pr之 间的网络距离dkr可以定义如下:

dkr=(xk1-xr1)2+(xk2-xr2)2+(xk3-xr3)2+...+(xkm-xrm)2.

通过步骤202,可以计算出游戏玩家Pk与撮合队列中其他各个玩家P1、P2、 Pk-1、Pk+1...Pn之间的网络距离,依次为:dk1,dk2,dk3,dk4...dkn

步骤103,游戏服务器利用计算出的网络距离确定出与该选择的游戏玩家进 行游戏撮合的游戏玩家并撮合在一起开始游戏。

优选地,本发明中,该选择的游戏玩家与其他每一游戏玩家之间的网络距 离用于表现该选择的游戏玩家与其他每一游戏玩家之间进行的网络质量,网络 距离取值越小,网络质量越好。如此,基于游戏规定的撮合数量N,则本步骤 103具体可为:游戏服务器从撮合队列的其他游戏玩家中确定出与该选择的游戏 玩家网络距离最近的N-1个游戏玩家,将该选择的游戏玩家、以及该确定出的 N-1个游戏玩家撮合在一起开始游。比如,以选择的游戏玩家为Pk为例,假如 游戏玩家Pk与撮合队列中其他各个玩家P1、P2、Pk-1、Pk+1...Pn之间的网络距离 依次为:dk1,dk2,dk3,dk4...dkn,则按照从小到大的顺序排列dk1,dk2,dk3,dk4...dkn, 得到排序结果为ds1,ds2,ds3,ds4...dsn-1,依据排序结果从而得到与该选择的游 戏玩家Pk网络距离最近的N-1个游戏玩家,将该选择的游戏玩家、以及该得到 的N-1个游戏玩家撮合在一起即可开始游戏。

优选地,为便于后续及时撮合游戏玩家,本步骤103之后进一步包括:从 撮合队列中删除已撮合在一起的游戏玩家。

至此,完成图1所示的流程。

从图1所示流程可以看出,本发明中,通过游戏玩家的ping值得到游戏玩 家之间的网络距离,通过得到的网络距离对游戏玩家进行游戏撮合,该游戏撮 合方式与游戏玩家的地域、所选择的运营商类型完全无关,并且由于游戏玩家 的ping值完全体现了游戏玩家所在地域的网络质量,因此,通过游戏玩家的ping 值得到游戏玩家之间的网络距离来进行游戏撮合,完全能保证游戏的流畅度。

以上对本发明提供的方法进行了描述,下面对本发明提供的游戏服务器进 行描述:

参见图4,图4为本发明实施例提供的游戏服务器结构图。如图4所示,该 游戏服务器包括:

撮合队列单元,用于将该发送了游戏撮合请求的游戏玩家放入撮合队列中;

计算单元,用于在游戏撮合时间到达时,从所述撮合队列中选择出一个游戏 玩家,计算该选择的游戏玩家与所述撮合队列中其他游戏玩家之间的网络距离; 其中,所述游戏撮合时间为撮合队列中游戏玩家的数量达到游戏规定撮合数量N 的时间;

撮合单元,用于利用计算出的网络距离确定出与该选择的游戏玩家进行游戏 撮合的游戏玩家并撮合在一起开始游戏。

优选地,所述撮合单元利用计算出的网络距离确定出与该选择的游戏玩家进 行游戏撮合的游戏玩家并撮合在一起开始游戏具体可为:从撮合队列的其他游 戏玩家中确定出与该选择的游戏玩家网络距离最近的N-1个游戏玩家,将该选 择的游戏玩家、以及该确定出的N-1个游戏玩家撮合在一起开始游戏。

基于撮合单元执行的具体操作,所述撮合队列单元可在所述撮合单元将该选 择的游戏玩家、以及该确定出的N-1个游戏玩家撮合在一起后,进一步从撮合 队列中删除已撮合在一起的游戏玩家。

本发明中,如图4所示,所述计算单元可包括:选择模块、获取模块和计算 模块。

其中,选择模块,用于在游戏撮合时间到达时,从所述撮合队列中选择出一 个等待时间最长的游戏玩家;

获取模块,用于获取该选择的游戏玩家、以及撮合队列中其他每一游戏玩家 至不同地域服务器的网络质量标识;

优选地,所述获取模块可从本地缓存的网络质量标识(其为游戏玩家在登陆 游戏大厅时发送至游戏服务器的)中获取该选择的游戏玩家、以及撮合队列中 其他每一游戏玩家至不同地域服务器的网络质量标识;或者,动态触发该选择 的游戏玩家、以及撮合队列中其他每一游戏玩家获取并上报至不同地域服务器 的网络质量标识;

计算模块,利用获取的网络质量标识计算该选择的游戏玩家至撮合队列中其 他每一游戏玩家的网络距离。

在本发明中,上述选择的游戏玩家、或者撮合队列中其他每一游戏玩家至不 同地域服务器的网络质量标识包括:

该选择的游戏玩家、或者撮合队列中其他每一游戏玩家至预定义的多点检 测机器列表中各个服务器的ping值。

至此,完成本发明提供的游戏服务器描述。

由以上技术方案可以看出,本发明中,通过游戏玩家之间的网络距离对 游戏玩家进行游戏撮合,这相比于现有技术,完全屏蔽了玩家地域、运营商 类型等差异,进而避免游戏撮合过程中由于游戏玩家之间的地域、运营商差 异所带来的技术问题。

进一步地,由于游戏玩家的ping值完全体现了游戏玩家所在地域的网络 质量,因此,本发明通过游戏玩家的ping值得到游戏玩家之间的网络距离来 进行游戏撮合,完全能保证游戏的流畅度。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本 发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在 本发明保护的范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号