CN105282031B - 一种数据转发方法及装置 - Google Patents
一种数据转发方法及装置 Download PDFInfo
- Publication number
- CN105282031B CN105282031B CN201510825222.1A CN201510825222A CN105282031B CN 105282031 B CN105282031 B CN 105282031B CN 201510825222 A CN201510825222 A CN 201510825222A CN 105282031 B CN105282031 B CN 105282031B
- Authority
- CN
- China
- Prior art keywords
- game service
- server
- transmission delay
- delay time
- routing
- 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.)
- Active
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种应用于游戏业务服务器的数据转发方法,方法包括:预先计算得到路由服务器组列表,该路由服务器组列表中记录的各路由服务器与游戏业务服务器间的传输延迟时间均小于其余路由服务器与游戏业务服务器间的传输延迟时间,进而在接收到携带有目标游戏业务服务器的标识的游戏业务请求时,从路由服务器组列表中选择目标路由服务器,向目标路由服务器发送游戏业务请求,以便后者将游戏业务请求转发至目标游戏业务服务器。本申请在选择路由服务器时,从预置的传输延迟时间较小的若干个路由服务器中进行选择,相比于现有随机选择的方式,每次选择的路由服务器均为传输延迟时间小的路由服务器,降低了游戏业务请求转发的时延。
Description
技术领域
本申请涉及数据处理技术领域,更具体地说,涉及一种数据转发方法及装置。
背景技术
随着网络的普及,越来越多的游戏业务供应商加入网络平台,为用户提供各种类型的网络游戏,极大方便了用户的娱乐生活。
为了给用户提供服务,游戏业务供应商有时需要设置多台游戏业务服务器,以实现对游戏数据的不同处理。同时,游戏业务供应商会设置多个路由服务器,用于对不同游戏业务服务器之间的游戏数据进行转发。一个游戏业务服务器在接收终端上传的游戏业务数据后判断需要转发到其它游戏业务服务器上时,会从多个路由服务器中选择一个进行游戏业务数据的转发。
现有技术中,游戏业务服务器在选择路由服务器时一般采用随机选择的方式,也即从所有的路由服务器中随机选择一个路由服务器进行游戏业务数据的转发。但是,受到运营商差别、地域跨度等因素的影响,游戏业务服务器与各个路由服务器之间的网络延时千差万别,采用随机选择的方式存在选择到延迟较大的路由服务器的情况,将会导致游戏业务数据转发时间延长。
发明内容
有鉴于此,本申请提供了一种数据转发方法及装置,用于解决现有随机选择路由服务器进行游戏业务数据转发的方式存在选择到延迟较大的路由服务器的情况,进而导致游戏业务数据转发时间延长的问题。
为了实现上述目的,现提出的方案如下:
一种数据转发方法,应用于游戏业务服务器中,该方法包括:
接收游戏终端响应玩家操作而生成的游戏业务请求,所述游戏终端位于所述游戏业务服务器管辖区域内,所述游戏业务请求携带有目标游戏业务服务器的标识;
获取预置的路由服务器组列表,所述路由服务器组列表中记录的各路由服务器与所述游戏业务服务器间的传输延迟时间,均小于其余路由服务器与所述游戏业务服务器间的传输延迟时间;
从所述路由服务器组列表中选择目标路由服务器,向所述目标路由服务器发送所述游戏业务请求,以便所述目标路由服务器将所述游戏业务请求转发至所述标识对应的目标游戏业务服务器。
一种数据转发装置,应用于游戏业务服务器,该装置包括:
业务请求接收单元,用于接收游戏终端响应玩家操作而生成的游戏业务请求,所述游戏终端位于所述游戏业务服务器管辖区域内,所述游戏业务请求携带有目标游戏业务服务器的标识;
列表获取单元,用于获取预置的路由服务器组列表,所述路由服务器组列表中记录的各路由服务器与所述游戏业务服务器间的传输延迟时间,均小于其余路由服务器与所述游戏业务服务器间的传输延迟时间;
路由服务器选择单元,用于从所述路由服务器组列表中选择目标路由服务器,向所述目标路由服务器发送所述游戏业务请求,以便所述目标路由服务器将所述游戏业务请求转发至所述标识对应的目标游戏业务服务器。
从上述的技术方案可以看出,本申请实施例提供的应用于游戏业务服务器的数据转发方法,预先计算得到了路由服务器组列表,该路由服务器组列表中记录的各路由服务器与所述游戏业务服务器间的传输延迟时间均小于其余路由服务器与所述游戏业务服务器间的传输延迟时间,进而在接收到携带有目标业务服务器的标识的游戏业务请求时,从所述路由服务器组列表中选择目标路由服务器,向选择的目标路由服务器发送所述游戏业务请求,以便所述目标路由服务器将所述游戏业务请求转发至所述标识对应的目标游戏业务服务器。本申请在选择路由服务器时,从预置的传输延迟时间较小的若干个路由服务器中选择目标路由服务器,相比于现有随机选择的方式,每次选择的路由服务器均为传输延迟时间小的路由服务器,降低了游戏业务请求转发的时延。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例公开的一种游戏业务服务器与路由服务器连接示意图;
图2为本申请实施例公开的一种数据转发方法流程图;
图3为本申请实施例公开的一种确定路由服务器组列表的方法流程图;
图4为本申请实施例公开的另一种确定路由服务器组列表的方法流程图;
图5为本申请实施例公开的另一种数据转发方法流程图;
图6为本申请实施例公开的又一种数据转发方法流程图;
图7为本申请实施例公开的一种数据转发装置结构示意图;
图8为本申请实施例公开的另一种数据转发装置结构示意图;
图9为本申请实施例公开的一种第一列表确定单元结构示意图;
图10为本申请实施例公开的又一种数据转发装置结构示意图;
图11为本申请实施例公开的一种第二列表确定单元结构示意图;
图12为本申请实施例公开的一种路由服务器选择单元结构示意图;
图13为本申请实施例公开的又一种数据转发装置结构示意图;
图14为本申请实施例公开的一种应用服务器的硬件结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
首先参见图1,图1为本申请实施例公开的一种游戏业务服务器与路由服务器连接示意图。
如图1所示,游戏业务服务器11与若干个路由服务器12建立通信连接。游戏业务服务器11在收到游戏终端发送的游戏业务请求并判断该游戏业务请求需要转发至其它游戏业务服务器上时,会从多个路由服务器12中选择一个路由服务器,用于进行游戏业务请求的转发。
由于每个路由服务器12与游戏业务服务器11之间的传输延迟时间各不相同(传输延迟时间可以是网络ping值,网络ping值是指数据发送到服务器至接收到服务器反馈的时间),为了降低游戏业务请求转发的时延,保证游戏业务请求转发的及时性,本申请下述实施例提供了一种应用于游戏业务服务器的数据转发方法,详细参见下文介绍。
接下来,本实施例从游戏业务服务器的角度介绍本申请方案。参见图2,图2为本申请实施例公开的一种数据转发方法流程图。
如图2所示,该方法包括:
步骤S200、接收游戏业务请求;
其中,所述游戏业务请求携带有目标游戏业务服务器的标识。目标游戏业务服务器为该游戏业务请求所要转发至的游戏业务服务器。这里需要注意的是,执行本实施例方法的主体是游戏业务服务器,为了区分作为执行主体的游戏业务服务器和目标游戏业务服务器,下文提及的游戏业务服务器均为执行主体,而目标游戏业务服务器均为游戏业务请求所要转发至的游戏业务服务器。
游戏业务请求为游戏终端响应玩家操作而生成的数据。例如,用户在游戏终端上玩网络游戏,在游戏界面购买了某个道具,则该动作触发了购买道具的游戏业务请求。
步骤S210、获取预置的路由服务器组列表;
其中,所述路由服务器组列表中记录的各路由服务器与所述游戏业务服务器间的传输延迟时间,均小于其余路由服务器与所述游戏业务服务器间的传输延迟时间。
游戏业务供应商提供了若干个路由服务器,本实施例预先对这些路由服务器进行了传输延迟时间的计算,得到各个路由服务器与游戏业务服务器间的传输延迟时间。进一步,本实施例从所有的路由服务器中选择出若干个路由服务器,由这些路由服务器的标识组成路由服务器组列表。该路由服务器组列表中的各个路由服务器与游戏业务服务器间的传输延迟时间,均小于除列表外的其余路由服务器与所述游戏业务服务器间的传输延迟时间。
路由服务器组列表中的路由服务器的个数可以根据实际需要而设定。对于路由服务器组列表的确定过程可以参见下文相关介绍。
步骤S220、从所述路由服务器组列表中选择目标路由服务器,向所述目标路由服务器发送所述游戏业务请求。
路由服务器组列表中记录的各路由服务器与游戏业务服务器间的传输延迟时间均较小,因此从该列表中选择目标路由服务器,向其发送游戏业务请求,以便所述目标路由服务器将所述游戏业务请求转发至所述标识对应的目标游戏业务服务器。
本申请实施例提供的应用于游戏业务服务器的数据转发方法,预先计算得到了路由服务器组列表,该路由服务器组列表中记录的各路由服务器与所述游戏业务服务器间的传输延迟时间均小于其余路由服务器与所述游戏业务服务器间的传输延迟时间,进而在接收到携带有目标游戏业务服务器的标识的游戏业务请求时,从所述路由服务器组列表中选择目标路由服务器,向选择的目标路由服务器发送所述游戏业务请求,以便所述目标路由服务器将所述游戏业务请求转发至所述标识对应的目标游戏业务服务器。本申请在选择路由服务器时,从预置的传输延迟时间较小的若干个路由服务器中选择目标路由服务器,相比于现有随机选择的方式,每次选择的路由服务器均为传输延迟时间小的路由服务器,降低了游戏业务请求转发的时延。
接下来,通过一个实际应用场景来介绍本申请方案。
玩家在终端上玩网络游戏,在某个时刻玩家点击充值购买道具按钮,此动作触发了购买道具的游戏业务请求,终端将该游戏业务请求转发至游戏业务服务器A上。游戏业务服务器A判断需要将购买道具的游戏业务请求转发至游戏业务服务器B上,由游戏业务服务器B对玩家购买道具的行为进行保存记录。因此,游戏业务服务器A获取到预先设置的路由服务器组列表,该列表中记录的路由服务器与游戏业务服务器A的传输延迟时间均较小。进一步从路由服务器组列表中选择一个路由服务器,向该路由服务器发送购买道具的游戏业务请求,由路由服务器将该请求转发至游戏业务服务器B,游戏业务服务器B收到后向终端反馈结果。
由于游戏业务服务器A选择了传输延迟时间较小的路由服务器进行游戏业务请求的转发,因此游戏业务请求转发的延时低,玩家请求的响应速度高,提升了玩家的游戏体验。
在本申请的另一个实施例中,介绍上述路由服务器组列表的确定过程。
路由服务器组列表的确定过程可以包括多种,本申请实施例仅仅示例两种可选的方式。
第一种:
参见图3,图3为本申请实施例公开的一种确定路由服务器组列表的方法流程图。
如图3所示,该方法包括:
步骤S300、按照指定周期,确定所述游戏业务服务器与各个路由服务器间的传输延迟时间;
需要说明的是,各个路由服务器与游戏业务服务器之间的传输延迟时间可能随着时间变化而产生一定的变化。因此,本申请实施例可以设定一个周期,按照指定周期来确定游戏业务服务器与各个路由服务器间的传输延迟时间。
对于确定游戏业务服务器与各个路由服务器间的传输延迟时间的过程,优选地可以是:游戏业务服务器定时向各个路由服务器发送预置指令,各个路由服务器在收到指令后向游戏业务服务器反馈响应指令,由游戏业务服务器根据接收到响应指令的时间以及发送预置指令的时间的差值,确定各个路由服务器的传输延迟时间。
步骤S310、按照传输延迟时间由小到大的顺序对各个路由服务器进行排序,得到路由服务器序列;
步骤S320、从所述路由服务器序列中首个路由服务器开始,选取连续的目标数量的路由服务器,由选取的路由服务器的标识组成路由服务器组列表。
其中,目标数量为用户预先设定的值,其可以根据实际情况而任意设定,只要保证目标数量小于路由服务器的总个数即可。
本实施例中选取了传输延迟时间较小的目标数量的路由服务器,由这些路由服务器的标识组成路由服务器组列表。可以理解的是,路由服务器组列表中的各个路由服务器的传输延迟时间均小于剩余路由服务器的传输延迟时间。
进一步需要说明的是,本实施例中每隔设定周期时间即重新确定一下路由服务器组列表,每次新确定的路由服务器组列表均可以覆盖掉旧的路由服务器组列表,也即游戏业务服务器每次获取的路由服务器组列表均为最新的路由服务器组列表。
上述步骤S310中是按照传输延迟时间由小到大的顺序对路由服务器进行排序的。可以理解的是,本实施例还可以按照传输延迟时间由大到小的顺序对路由服务器进行排序的。在这种情况下,只需要在步骤S320中从序列中最末端的路由服务器开始,倒序选取连续的目标数量的路由服务器,由选取的路由服务器的标识组成路由服务器组列表。
第二种:
本实施例基于聚类思想,以路由服务器的传输延迟时间为基础,对各个路由服务器进行聚类划分。
参见图4,图4为本申请实施例公开的另一种确定路由服务器组列表的方法流程图。
如图4所示,该方法包括:
步骤S400、按照指定周期,确定各个路由服务器与所述游戏业务服务器间的传输延迟时间,得到传输延迟时间列表;
具体地,传输延迟时间列表可以表示为(x1,x2,x3....xn),其中xn为第n个路由服务器与所述游戏业务服务器间的传输延迟时间,传输延迟时间可以以网络ping值表示。
步骤S410、计算第一聚集节点和第二聚集节点;
具体地,根据所述传输延迟时间列表中最小传输延迟时间、最大传输延迟时间和平均传输延迟时间,计算第一聚集节点和第二聚集节点。两个聚集节点分别为Pa、Pb:
Pmin=min(x1,x2,x3....xn)
Pmax=max(x1,x2,x3....xn)
Pa=|Pmin-Pavg|
Pb=|Pmax-Pavg|
步骤S420、根据所述传输延迟时间列表中各传输延迟时间与所述第一聚集节点、所述第二聚集节点的大小关系,将各传输延迟时间划分至与其较近的一个聚集节点所对应的分组中;
其中,与所述第一聚集节点对应的为第一分组Ga,与所述第二聚集节点对应的为第二分组Gb。
在计算传输延迟时间列表中各传输延迟时间与所述第一聚集节点、所述第二聚集节点的大小关系时,具体为:
针对(x1,x2,x3....xn)中的每个节点,计算节点xi与聚集节点Pa的距离dia,节点xi与聚集节点Pb的距离dib。
若dia小于dib,则将节点xi划分到第一组Ga,否则,将节点xi划分到第二组Gb。具体计算公式如下:
if(dia<dib)
xi∈Ga
else
xi∈Gb
步骤S430、分别计算所述第一分组和所述第二分组各自的平均传输延迟时间;
步骤S440、将平均传输延迟时间小的一个分组内,各传输延迟时间所对应的路由服务器的标识,组合为路由服务器组列表。
本实施例基于聚类思想,对多个路由服务器进行了聚类,并得到了传输延迟时间较小的一个路由服务器分组,该分组内各路由服务器的标识组合成路由服务器组列表。
可以理解的是,本申请上述实施例仅仅示例了两种可选的确定路由服务器组列表的方式,其它凡是可以根据路由服务器的传输延迟时间确定路由服务器组列表的方式均属于本申请的保护范围。
参见图5,图5为本申请实施例公开的另一种数据转发方法流程图。
如图5所示,该方法包括:
步骤S500、接收游戏业务请求;
其中,所述游戏业务请求携带有目标游戏业务服务器的标识。目标游戏业务服务器为该游戏业务请求所要转发至的游戏业务服务器。
步骤S510、获取预置的路由服务器组列表;
其中,所述路由服务器组列表中记录的各路由服务器与所述游戏业务服务器间的传输延迟时间,均小于其余路由服务器与所述游戏业务服务器间的传输延迟时间。
游戏业务供应商提供了若干个路由服务器,本实施例预先对这些路由服务器进行了传输延迟时间的计算,得到各个路由服务器与游戏业务服务器间的传输延迟时间。进一步,本实施例从所有的路由服务器中选择出若干个路由服务器,由这些路由服务器的标识组成路由服务器组列表。该路由服务器组列表中的各个路由服务器与游戏业务服务器间的传输延迟时间,均小于除列表外的其余路由服务器与所述游戏业务服务器间的传输延迟时间。
步骤S520、采用随机选择的方式,从所述路由服务器组列表中选择目标路由服务器,向选择的目标路由服务器发送所述游戏业务请求。
相比于图2对应的实施例,本实施例中具体限定了从路由服务器组列表中选择路由服务器的方式,也即通过随机选择的方式进行选取。随机选择的方式保证了路由服务器组列表中各个路由服务器被选中的概率的一致性。
进一步可以理解的是,除了采用上述随机选择的方式之外,还可以存在其它的选择方式,例如:
首先确定所述路由服务器组列表中各路由服务器的负载压力,进而选择负载压力最小的路由服务器,用于转发所述游戏业务请求。
当然,上述确定路由服务器组列表中各路由服务器的负载压力的时机可以是在接收到游戏业务请求之后,也可以是每隔预定时间即确定一次,并将确定的结果保存在本地。
确定路由服务器的负载压力的方式可以是:游戏业务服务器向路由服务器发送负载压力状态获取请求,由路由服务器反馈自身的负载压力状态。或者是,路由服务器每隔预定时间自行向游戏业务服务器反馈自身的负载压力状态。
在本申请的又一个实施例中,考虑到游戏业务服务器在转发游戏业务请求时一般按照串行方式执行,也即对接收到的多个游戏业务请求依次存储在队列中,然后按照先进先出的原则,逐个对队列中的游戏业务请求进行转发。这种处理方式在面对某些场景时,存在重要的游戏业务请求转发延时的情况,为此本实施例提供了一种解决方案。
参见图6,图6为本申请实施例公开的又一种数据转发方法流程图。
如图6所示,该方法包括:
步骤S600、接收游戏业务请求;
其中,所述游戏业务请求携带有目标游戏业务服务器的标识以及优先级标签。目标游戏业务服务器为该游戏业务请求所要转发至的游戏业务服务器。优先级标签表明游戏业务请求的优先级等级。需要注意的是,执行本实施例放方法的主体是游戏业务服务器,为了区分作为执行主体的游戏业务服务器和目标游戏业务服务器,下文提及的游戏业务服务器均为执行主体,而目标游戏业务服务器均为游戏业务请求所要转发至的游戏业务服务器。
步骤S610、根据所述游戏业务请求的优先级标签,判断所述游戏业务请求的优先级是否达到设定等级要求;若是,执行步骤S620;
步骤S620、将所述游戏业务请求放入待转发数据队列中与所述优先级对应的位置;
其中,所述待转发数据队列用于串行存储用户发送的若干个游戏业务请求。待转发数据队列中越靠前的游戏业务请求越早被转发。本申请预先设定了游戏业务请求的优先级与该游戏业务请求在待转发数据队列中的位置关系。
步骤S630、获取预置的路由服务器组列表;
其中,所述路由服务器组列表中记录的各路由服务器与所述游戏业务服务器间的传输延迟时间,均小于其余路由服务器与所述游戏业务服务器间的传输延迟时间。
步骤S640、从所述路由服务器组列表中选择目标路由服务器,在确定所述游戏业务请求处于所述待转发数据队列的最前端时,将所述游戏业务请求发送至所述目标路由服务器。
本实施例中,通过对游戏业务请求添加优先级标签,游戏业务服务器在对游戏业务请求进行转发时,优先对优先级较高的游戏业务请求进行转发,避免重要的游戏业务请求转发延时。
举例如,在网络麻将游戏应用中,某一时刻玩家A触发了购买会员的游戏业务请求,游戏业务服务器将该游戏业务请求放入待转发数据队列中。该时刻的下一时刻,玩家B触发了胡牌的业务请求,由于胡牌的游戏业务请求的优先级要高于购买会员的游戏业务请求,因此,游戏业务服务器在接收到胡牌的游戏业务请求后,将其放入待转发数据队列中购买会员的游戏业务请求的前面,以便优先转发胡牌的游戏业务请求。
通过对不同优先级等级的游戏业务请求执行不同的转发策略,保证了重要业务的优先执行。
下面对本申请实施例提供的数据转发装置进行描述,下文描述的数据转发装置与上文描述的数据转发方法可相互对应参照。
参见图7,图7为本申请实施例公开的一种数据转发装置结构示意图。
如图7所示,该装置包括:
业务请求接收单元71,用于接收游戏终端响应玩家操作而生成的游戏业务请求,所述游戏终端位于所述游戏业务服务器管辖区域内,所述游戏业务请求携带有目标游戏业务服务器的标识;
列表获取单元72,用于获取预置的路由服务器组列表,所述路由服务器组列表中记录的各路由服务器与所述游戏业务服务器间的传输延迟时间,均小于其余路由服务器与所述游戏业务服务器间的传输延迟时间;
路由服务器选择单元73,用于从所述路由服务器组列表中选择目标路由服务器,向选择的目标路由服务器发送所述游戏业务请求,以便所述目标路由服务器将所述游戏业务请求转发至所述标识对应的目标游戏业务服务器。
本申请实施例提供的应用于游戏业务服务器的数据转发装置,预先计算得到了路由服务器组列表,该路由服务器组列表中记录的各路由服务器与所述游戏业务服务器间的传输延迟时间均小于其余路由服务器与所述游戏业务服务器间的传输延迟时间,进而在接收到携带有目标游戏业务服务器的标识的游戏业务请求时,从所述路由服务器组列表中选择目标路由服务器,向选择的目标路由服务器发送所述游戏业务请求,以便所述目标路由服务器将所述游戏业务请求转发至所述标识对应的目标游戏业务服务器。本申请在选择路由服务器时,从预置的传输延迟时间较小的若干个路由服务器中选择目标路由服务器,相比于现有随机选择的方式,每次选择的路由服务器均为传输延迟时间小的路由服务器,降低了游戏业务请求转发的时延。
可选的,参见图8和图9可知,本申请实施例公开的数据转发装置还可以包括:
用于确定所述路由服务器组列表的第一列表确定单元74。
如图9所示,所述第一列表确定单元74可以包括:
第一延时确定单元741,用于按照指定周期,确定所述游戏业务服务器与各个路由服务器间的传输延迟时间;
路由服务器排序单元742,用于按照传输延迟时间由小到大的顺序对各个路由服务器进行排序,得到路由服务器序列;
序列选取单元743,用于从所述路由服务器序列中首个路由服务器开始,选取连续的目标数量的路由服务器,由选取的路由服务器的标识组成路由服务器组列表。
进一步可选的,参见图10和图11可知,本申请实施例公开的数据转发装置还可以包括:
用于确定所述路由服务器组列表的第二列表确定单元75;
如图11所示,所述第二列表确定单元75可以包括:
第二延时确定单元751,用于按照指定周期,确定各个路由服务器与所述游戏业务服务器间的传输延迟时间,得到传输延迟时间列表;
具体地,传输延迟时间列表可以表示为(x1,x2,x3....xn),其中xn为第n个路由服务器与所述游戏业务服务器间的传输延迟时间,传输延迟时间可以以网络ping值表示。
聚集节点计算单元752,用于根据所述传输延迟时间列表中最小传输延迟时间、最大传输延迟时间和平均传输延迟时间,计算第一聚集节点和第二聚集节点;
具体地,根据所述传输延迟时间列表中最小传输延迟时间、最大传输延迟时间和平均传输延迟时间,计算第一聚集节点和第二聚集节点。两个聚集节点分别为Pa、Pb:
Pmin=min(x1,x2,x3....xn)
Pmax=max(x1,x2,x3....xn)
Pa=|Pmin-Pavg|
Pb=|Pmax-Pavg|
分组单元753,用于根据所述传输延迟时间列表中各传输延迟时间与所述第一聚集节点、所述第二聚集节点的大小关系,将各传输延迟时间划分至与其较近的一个聚集节点所对应的分组中,其中,与所述第一聚集节点对应的为第一分组,与所述第二聚集节点对应的为第二分组;
其中,与所述第一聚集节点对应的为第一分组Ga,与所述第二聚集节点对应的为第二分组Gb。
在计算传输延迟时间列表中各传输延迟时间与所述第一聚集节点、所述第二聚集节点的大小关系时,具体为:
针对(x1,x2,x3....xn)中的每个节点,计算节点xi与聚集节点Pa的距离dia,节点xi与聚集节点Pb的距离dib。
若dia小于dib,则将节点xi划分到第一组Ga,否则,将节点xi划分到第二组Gb。具体计算公式如下:
if(dia<dib)
xi∈Ga
else
xi∈Gb
分组计算单元754,用于分别计算所述第一分组和所述第二分组各自的平均传输延迟时间,并将平均传输延迟时间小的一个分组内,各传输延迟时间所对应的路由服务器的标识,组合为路由服务器组列表。
可以理解的是,上述第一列表确定单元74和第二列表确定单元75为并列的两种结构,其目的均是用于确定所述路由服务器组列表。
可选的,本申请实施例示例了上述路由服务器选择单元73的一种可选结构,如图12所示,路由服务器选择单元73可以包括:
第一路由服务器选择子单元731,用于采用随机选择的方式,从所述路由服务器组列表中选择目标路由服务器;
第二路由服务器选择子单元732,用于确定所述路由服务器组列表中各路由服务器的负载压力,选择负载压力最小的路由服务器作为目标路由服务器。
可选的,所述游戏业务请求还可以包括优先级标签,所述优先级标签表明游戏业务请求的优先级等级,则结合图7和图13可知,该装置还可以包括:
业务优先级判断单元76,用于根据所述游戏业务请求的优先级标签,判断所述游戏业务请求的优先级是否为最高等级;
队列调整单元77,用于在所述游戏业务请求的优先级达到设定等级要求时,将所述游戏业务请求放入待转发数据队列中与所述优先级对应的位置,所述待转发数据队列用于串行存储游戏终端发送的若干个游戏业务请求。
基于此,上述路由服务器选择单元73在向选择的目标路由服务器发送所述游戏业务请求时,具体为:在确定所述游戏业务请求处于所述待转发数据队列的最前端时,将所述游戏业务请求发送至所述目标路由服务器。
本申请实施例还提供一种应用服务器,包括上述所述的数据转发装置。对于数据转发装置的描述可参照上文对应部分描述,此处不再赘述。
对于应用服务器的硬件结构,参见图14,图14为本申请实施例提供的应用服务器的硬件结构示意图。如图14所示,该应用服务器可以包括:
处理器1,通信接口2,存储器3,通信总线4,和显示屏5;
其中处理器1、通信接口2、存储器3和显示屏5通过通信总线4完成相互间的通信;
可选的,通信接口2可以为通信模块的接口,如GSM模块的接口;
处理器1,用于执行程序;
存储器3,用于存放程序;
程序可以包括程序代码,所述程序代码包括处理器的操作指令。
处理器1可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本申请实施例的一个或多个集成电路。
存储器3可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。
其中,程序可具体用于:
接收游戏终端响应玩家操作而生成的游戏业务请求,所述游戏终端位于所述游戏业务服务器管辖区域内,所述游戏业务请求携带有目标游戏业务服务器的标识;
获取预置的路由服务器组列表,所述路由服务器组列表中记录的各路由服务器与所述游戏业务服务器间的传输延迟时间,均小于其余路由服务器与所述游戏业务服务器间的传输延迟时间;
从所述路由服务器组列表中选择目标路由服务器,向所述目标路由服务器发送所述游戏业务请求,以便所述目标路由服务器将所述游戏业务请求转发至所述标识对应的目标游戏业务服务器。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (12)
1.一种数据转发方法,其特征在于,应用于游戏业务服务器中,该方法包括:
确定各个路由服务器与所述游戏业务服务器间的传输延迟时间,得到传输延迟时间列表;
根据所述传输延迟时间列表,确定第一聚集节点和第二聚集节点,并将所述传输延迟时间列表中各传输延迟时间划分至与其较近的一个聚集节点所对应的分组中;
将平均传输延迟时间小的一个分组内,各传输延迟时间所对应的路由服务器的标识,组合为路由服务器组列表;
接收游戏终端响应玩家操作而生成的游戏业务请求,所述游戏终端位于所述游戏业务服务器管辖区域内,所述游戏业务请求携带有目标游戏业务服务器的标识;
获取预置的所述路由服务器组列表,所述路由服务器组列表中记录的各路由服务器与所述游戏业务服务器间的传输延迟时间,均小于其余路由服务器与所述游戏业务服务器间的传输延迟时间;
从所述路由服务器组列表中选择目标路由服务器,向所述目标路由服务器发送所述游戏业务请求,以便所述目标路由服务器将所述游戏业务请求转发至所述标识对应的目标游戏业务服务器。
2.根据权利要求1所述的方法,其特征在于,所述游戏业务请求还包括优先级标签,所述优先级标签表明游戏业务请求的优先级等级,该方法还包括:
根据所述游戏业务请求的优先级标签,判断所述游戏业务请求的优先级是否达到设定等级要求;
若是,将所述游戏业务请求放入待转发数据队列中与所述优先级对应的位置,所述待转发数据队列用于串行存储游戏终端发送的若干个游戏业务请求;
所述向所述目标路由服务器发送所述游戏业务请求,包括:
在确定所述游戏业务请求处于所述待转发数据队列的最前端时,将所述游戏业务请求发送至所述目标路由服务器。
3.根据权利要求1或2所述的方法,其特征在于,所述路由服务器组列表的确定过程包括:
按照指定周期,确定所述游戏业务服务器与各个路由服务器间的传输延迟时间;
按照传输延迟时间由小到大的顺序对各个路由服务器进行排序,得到路由服务器序列;
从所述路由服务器序列中首个路由服务器开始,选取连续的目标数量的路由服务器,由选取的路由服务器的标识组成路由服务器组列表。
4.根据权利要求1或2所述的方法,其特征在于,所述路由服务器组列表的确定过程包括:
按照指定周期,确定各个路由服务器与所述游戏业务服务器间的传输延迟时间,得到传输延迟时间列表;
根据所述传输延迟时间列表中最小传输延迟时间、最大传输延迟时间和平均传输延迟时间,计算第一聚集节点和第二聚集节点;
根据所述传输延迟时间列表中各传输延迟时间与所述第一聚集节点、所述第二聚集节点的大小关系,将各传输延迟时间划分至与其较近的一个聚集节点所对应的分组中,其中,与所述第一聚集节点对应的为第一分组,与所述第二聚集节点对应的为第二分组;
分别计算所述第一分组和所述第二分组各自的平均传输延迟时间,并将平均传输延迟时间小的一个分组内,各传输延迟时间所对应的路由服务器的标识,组合为路由服务器组列表。
5.根据权利要求1或2所述的方法,其特征在于,所述从所述路由服务器组列表中选择目标路由服务器,包括:
采用随机选择的方式,从所述路由服务器组列表中选择目标路由服务器;
或,
确定所述路由服务器组列表中各路由服务器的负载压力;
选择负载压力最小的路由服务器作为目标路由服务器。
6.一种数据转发装置,其特征在于,应用于游戏业务服务器,该装置包括:
业务请求接收单元,用于接收游戏终端响应玩家操作而生成的游戏业务请求,所述游戏终端位于所述游戏业务服务器管辖区域内,所述游戏业务请求携带有目标游戏业务服务器的标识;
列表获取单元,用于获取预置的路由服务器组列表,所述路由服务器组列表中记录的各路由服务器与所述游戏业务服务器间的传输延迟时间,均小于其余路由服务器与所述游戏业务服务器间的传输延迟时间;
路由服务器选择单元,用于从所述路由服务器组列表中选择目标路由服务器,向所述目标路由服务器发送所述游戏业务请求,以便所述目标路由服务器将所述游戏业务请求转发至所述标识对应的目标游戏业务服务器;
第二列表确定单元,用于确定各个路由服务器与所述游戏业务服务器间的传输延迟时间,得到传输延迟时间列表;根据所述传输延迟时间列表,确定第一聚集节点和第二聚集节点,并将所述传输延迟时间列表中各传输延迟时间划分至与其较近的一个聚集节点所对应的分组中;将平均传输延迟时间小的一个分组内,各传输延迟时间所对应的路由服务器的标识,组合为路由服务器组列表。
7.根据权利要求6所述的装置,其特征在于,所述游戏业务请求还包括优先级标签,所述优先级标签表明游戏业务请求的优先级等级,该装置还包括:
业务优先级判断单元,用于根据所述业务请求的优先级标签,判断所述游戏业务请求的优先级是否达到设定等级要求;
队列调整单元,用于在所述游戏业务请求的优先级达到设定等级要求时,将所述游戏业务请求放入待转发数据队列中与所述优先级对应的位置,所述待转发数据队列用于串行存储游戏终端发送的若干个游戏业务请求;
所述路由服务器选择单元向所述目标路由服务器发送所述游戏业务请求的过程具体为:在确定所述游戏业务请求处于所述待转发数据队列的最前端时,将所述游戏业务请求发送至所述目标路由服务器。
8.根据权利要求6或7所述的装置,其特征在于,还包括用于确定所述路由服务器组列表的第一列表确定单元;
所述第一列表确定单元包括:
第一延时确定单元,用于按照指定周期,确定所述游戏业务服务器与各个路由服务器间的传输延迟时间;
路由服务器排序单元,用于按照传输延迟时间由小到大的顺序对各个路由服务器进行排序,得到路由服务器序列;
序列选取单元,用于从所述路由服务器序列中首个路由服务器开始,选取连续的目标数量的路由服务器,由选取的路由服务器的标识组成路由服务器组列表。
9.根据权利要求6或7所述的装置,其特征在于,所述第二列表确定单元包括:
第二延时确定单元,用于按照指定周期,确定各个路由服务器与所述游戏业务服务器间的传输延迟时间,得到传输延迟时间列表;
聚集节点计算单元,用于根据所述传输延迟时间列表中最小传输延迟时间、最大传输延迟时间和平均传输延迟时间,计算第一聚集节点和第二聚集节点;
分组单元,用于根据所述传输延迟时间列表中各传输延迟时间与所述第一聚集节点、所述第二聚集节点的大小关系,将各传输延迟时间划分至与其较近的一个聚集节点所对应的分组中,其中,与所述第一聚集节点对应的为第一分组,与所述第二聚集节点对应的为第二分组;
分组计算单元,用于分别计算所述第一分组和所述第二分组各自的平均传输延迟时间,并将平均传输延迟时间小的一个分组内,各传输延迟时间所对应的路由服务器的标识,组合为路由服务器组列表。
10.根据权利要求6或7所述的装置,其特征在于,所述路由服务器选择单元包括:
第一路由服务器选择子单元,用于采用随机选择的方式,从所述路由服务器组列表中选择目标路由服务器;
第二路由服务器选择子单元,用于确定所述路由服务器组列表中各路由服务器的负载压力,选择负载压力最小的路由服务器作为目标路由服务器。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有程序代码,所述程序代码被执行时实现如权利要求1~5任一项所述的数据转发方法。
12.一种应用服务器,其特征在于,包括:处理器与存储器;
其中,所述存储器用于存放程序;
所述处理器用于执行所述存储器中存放的程序,以实现如权利要求1~5任一项所述的数据转发方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510825222.1A CN105282031B (zh) | 2015-11-24 | 2015-11-24 | 一种数据转发方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510825222.1A CN105282031B (zh) | 2015-11-24 | 2015-11-24 | 一种数据转发方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105282031A CN105282031A (zh) | 2016-01-27 |
CN105282031B true CN105282031B (zh) | 2020-04-07 |
Family
ID=55150388
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510825222.1A Active CN105282031B (zh) | 2015-11-24 | 2015-11-24 | 一种数据转发方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105282031B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021171828A1 (ja) * | 2020-02-27 | 2021-09-02 | 住友電気工業株式会社 | 車内外連携装置及び方法 |
CN113543262B (zh) * | 2021-06-07 | 2023-06-16 | 中国联合网络通信集团有限公司 | 一种降低云游戏网络时延的方法及装置 |
CN116156592B (zh) * | 2022-12-27 | 2023-08-22 | 深圳市宇通联发科技有限公司 | 低时延无线图传方法、装置、通信管理设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201467150U (zh) * | 2009-05-25 | 2010-05-12 | 上海恩际恩网络科技有限公司 | 基于重叠网的网络游戏加速系统 |
CN101924690A (zh) * | 2009-06-10 | 2010-12-22 | 华为技术有限公司 | 一种数据路由方法及设备 |
CN102098752A (zh) * | 2011-02-25 | 2011-06-15 | 中国人民解放军国防科学技术大学 | 无线网状网网络主导型关联及无缝切换方法 |
CN102238089A (zh) * | 2011-07-01 | 2011-11-09 | 中兴通讯股份有限公司 | 一种业务交互的方法、装置和系统 |
CN104767629A (zh) * | 2014-01-06 | 2015-07-08 | 腾讯科技(深圳)有限公司 | 分配服务节点的方法、装置及系统 |
-
2015
- 2015-11-24 CN CN201510825222.1A patent/CN105282031B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201467150U (zh) * | 2009-05-25 | 2010-05-12 | 上海恩际恩网络科技有限公司 | 基于重叠网的网络游戏加速系统 |
CN101924690A (zh) * | 2009-06-10 | 2010-12-22 | 华为技术有限公司 | 一种数据路由方法及设备 |
CN102098752A (zh) * | 2011-02-25 | 2011-06-15 | 中国人民解放军国防科学技术大学 | 无线网状网网络主导型关联及无缝切换方法 |
CN102238089A (zh) * | 2011-07-01 | 2011-11-09 | 中兴通讯股份有限公司 | 一种业务交互的方法、装置和系统 |
CN104767629A (zh) * | 2014-01-06 | 2015-07-08 | 腾讯科技(深圳)有限公司 | 分配服务节点的方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105282031A (zh) | 2016-01-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105282031B (zh) | 一种数据转发方法及装置 | |
US20200384364A1 (en) | Incentivizing players to engage in competitive gameplay | |
US9674279B2 (en) | Methods, devices, and systems for allocating service nodes in a network | |
JP5741150B2 (ja) | 中継装置、中継プログラム、及び中継方法 | |
JP4840334B2 (ja) | 端末装置、通信システム、プログラム及び方法 | |
RU2004110746A (ru) | Игры с внедренной функцией мгновенной передачи сообщений | |
TWI691190B (zh) | 語音控制方法及裝置和電子設備 | |
CN109745708B (zh) | 对手匹配方法及装置 | |
CN108494676A (zh) | 数据传输方法、装置、数据收发设备、系统及存储介质 | |
CN102624884B (zh) | 一种用于接收p2p资源的方法、装置和设备 | |
CN104639646B (zh) | 用于处理用户请求的方法和设备 | |
CN110784549A (zh) | 网络节点选择方法、装置、第一网络节点及存储介质 | |
CN112654003A (zh) | 一种发送消息的方法、装置、存储介质及电子设备 | |
CN110471947B (zh) | 基于分布式搜索引擎的查询方法、服务器和存储介质 | |
CN107122805A (zh) | 一种用户聚类方法和装置 | |
CN109847340B (zh) | 一种信息处理方法、装置、设备及介质 | |
TWI584666B (zh) | 推送式資訊傳輸裝置、推送式資訊傳輸方法及程式 | |
CN111111216A (zh) | 一种匹配方法、装置、服务器及存储介质 | |
US20170019327A1 (en) | Heterogeneous network system, network apparatus, and rendezvous path selection method thereof | |
CN114064105A (zh) | 一种应用程序更新的推送方法、装置、系统及存储介质 | |
JP2018109867A (ja) | セッション管理プログラム、セッション管理方法、情報処理装置、及び情報処理システム | |
CN105900383B (zh) | 通信系统、控制节点和通信方法 | |
CN112398935A (zh) | 一种基于时延的全链路负载均衡算法 | |
JP2007124457A (ja) | 通信システム、通信装置、サーバ及びこれらのプログラムと、通信方法 | |
CN110189017A (zh) | 一种信息处理方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |