买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】一种游戏中的玩家匹配方法及装置_网易(杭州)网络有限公司_201910769123.4 

申请/专利权人:网易(杭州)网络有限公司

申请日:2019-08-20

公开(公告)日:2023-04-07

公开(公告)号:CN110404268B

主分类号:A63F13/795

分类号:A63F13/795;A63F13/45

优先权:

专利状态码:有效-授权

法律状态:2023.04.07#授权;2019.11.29#实质审查的生效;2019.11.05#公开

摘要:本申请提供了一种游戏中的玩家匹配方法及装置,该玩家匹配方法或装置中匹配管理节点与多个匹配服务节点通信连接,其中一个匹配服务节点异常时,将分配给该异常匹配服务节点、且未完成玩家匹配的匹配请求分配给处于正常工作状态的匹配服务节点继续进行玩家匹配,解决现有技术中存在的匹配服务节点出现问题时,正在进行玩家匹配的匹配请求会出现错乱、丢失、匹配效率严重降低、待存储匹配请求丢失的问题,提高了玩家匹配过程中的容灾能力和匹配效率,并且本申请中匹配管理节点存储所有未完成玩家匹配的匹配请求,分担了匹配服务节点存储匹配请求的压力。

主权项:1.一种游戏中的玩家匹配方法,其特征在于,应用于位于游戏服务器中的匹配管理节点,所述匹配管理节点与多个匹配服务节点通信连接,所述匹配服务节点位于匹配服务器中,且多个匹配服务节点位于相同或者不同的匹配服务器中,包括:获取所述匹配服务节点的工作状态;针对所述匹配服务节点中工作状态为异常工作状态的第一匹配服务节点,将分配给所述第一匹配服务节点的、且未完成玩家匹配的第一匹配请求,分配给所述匹配服务节点中处于正常工作状态的第二匹配服务节点;接收所述第二匹配服务节点响应所述第一匹配请求生成的第一匹配信息,并将所述第一匹配信息发送给发起所述第一匹配请求的游戏终端。

全文数据:一种游戏中的玩家匹配方法及装置技术领域本申请涉及游戏以及数据分析处理技术领域,具体而言,涉及一种游戏中的玩家匹配方法及装置。背景技术目前,大部分的游戏都有匹配玩法,玩家向匹配服务器发起匹配请求,匹配服务节点将匹配请求放入匹配池,利用相应的规则进行筛选,选出合适的玩家匹配成对。在玩家匹配的过程中,可能出现匹配服务器宕机、匹配服务进程退出、网络中断等问题,此时,需要重启或维修匹配服务器,匹配服务节点重启后,可以对未进行玩家匹配的匹配请求继续进行玩家匹配,但是匹配服务节点出现问题时正在进行玩家匹配的匹配请求会出现错乱或丢失。可见,现有技术中的玩家匹配方案存在容灾能力差、匹配服务出现问题时匹配效率严重降低的缺陷。另外,匹配服务节点在接收到匹配请求时,会将匹配请求存入数据库,在全服匹配等匹配请求量很大的时候,会对匹配服务节点造成很大的压力,并且在匹配服务节点出现问题时,会造成未存储的匹配请求丢失。发明内容有鉴于此,本申请的目的在于提供一种游戏中的玩家匹配方法及装置,在其中一个匹配服务节点异常时,将分配给该异常的匹配服务节点、且未完成玩家匹配的匹配请求分配给处于正常工作状态的匹配服务节点继续进行玩家匹配,解决现有技术中存在的匹配服务节点出现问题时,正在进行玩家匹配的匹配请求出现错乱、丢失、匹配效率严重降低、待存储匹配请求丢失的问题,提高了玩家匹配过程中的容灾能力和匹配效率,并且通过匹配管理节点存储所有未完成玩家匹配的匹配请求,分担了匹配服务节点存储匹配请求的压力。第一方面,本申请提供了一种游戏中的玩家匹配方法,应用于匹配管理节点,所述匹配管理节点与多个匹配服务节点通信连接,包括:获取所述匹配服务节点的工作状态;针对所述匹配服务节点中工作状态为异常工作状态的第一匹配服务节点,将分配给所述第一匹配服务节点的、且未完成玩家匹配的第一匹配请求,分配给所述匹配服务节点中处于正常工作状态的第二匹配服务节点;接收所述第二匹配服务节点响应所述第一匹配请求生成的第一匹配信息,并将所述第一匹配信息发送给发起所述第一匹配请求的游戏终端。在一种可能的实施方式中,所述将分配给所述第一匹配服务节点的、且未完成玩家匹配的第一匹配请求,分配给所述匹配服务节点中处于正常工作状态的第二匹配服务节点,包括:获取处于正常工作状态的所述匹配服务节点中未完成玩家匹配的匹配请求的数量;选取匹配请求数量满足预设条件的所述匹配服务节点,作为所述第二匹配服务节点;将分配给所述第一匹配服务节点的、且未完成玩家匹配的所述第一匹配请求,分配给所述第二匹配服务节点。在一种可能的实施方式中,上述方法还包括:获取从当前信息采集时刻开始的前N个信息采集时刻中,所述匹配服务节点在每个信息采集时刻的工作状态;N为正整数;将所有工作状态均为异常工作状态的所述匹配服务节点,作为工作状态为异常工作状态的所述第一匹配服务节点。在一种可能的实施方式中,上述方法还包括:接收游戏终端发起的匹配请求;存储所述匹配请求。在一种可能的实施方式中,在将所述第一匹配信息发送给发起所述第一匹配请求的游戏终端之后,上述方法还包括:确定所述第一匹配请求完成玩家匹配,并删除所述第一匹配信息以及所述第一匹配请求。在一种可能的实施方式中,上述方法还包括:响应所述第一匹配服务节点的工作状态由异常工作状态变更为正常工作状态,从所述第一匹配请求中筛选出已经分配给所述第二匹配服务节的第二匹配请求,并基于所述第二匹配请求生成删除指令,将所述删除指令发送给所述第一匹配服务节点,以使所述第一匹配服务节点删除所述第二匹配请求。在一种可能的实施方式中,上述方法还包括:响应所述第一匹配服务节点的工作状态由异常工作状态变更为正常工作状态,从所述第一匹配请求中筛选出未分配给所述第二匹配服务节点的第三匹配请求,并基于第三匹配请求生成匹配指令,并将所述匹配指令发送给所述第一匹配服务节点,以使所述第一匹配服务节点对所述第三匹配请求对应的玩家进行匹配。在一种可能的实施方式中,上述方法还包括:响应所述第一匹配服务节点的工作状态由异常工作状态变更为正常工作状态,接收所述第一匹配服务节点发送的,在异常工作状态变更为正常工作状态对应的时间段内,所述第一匹配服务节点完成玩家匹配生成的第二匹配信息;从所述第二匹配信息对应的匹配请求中,筛选未分配给所述第二匹配服务节点的第四匹配请求;其中,所述第二匹配信息对应的匹配请求为所述第一匹配请求中的部分匹配请求;将所述第四匹配请求对应的第二匹配信息发送给对应的游戏终端。在一种可能的实施方式中,上述方法还包括:接收游戏终端发送的第五匹配请求;将所述第五匹配请求,分配给处于正常工作状态的匹配服务节点中的一个匹配服务节点;接收匹配服务节点响应所述第五匹配请求生成的第三匹配信息,并将所述第三匹配信息发送给发起所述第五匹配请求的游戏终端。在一种可能的实施方式中,上述方法还包括:在匹配管理节点重启后,从每个所述匹配服务节点中获取并存储由所述匹配管理节点发送的,并且未完成玩家匹配的匹配请求;获取并存储每个匹配服务节点中未完成玩家匹配的匹配请求的数量。第二方面,本申请提供了一种游戏中的玩家匹配装置,应用于匹配管理节点,所述匹配管理节点与多个匹配服务节点通信连接,包括:状态获取模块,用于获取所述匹配服务节点的工作状态;服务筛选模块,用于针对所述匹配服务节点中工作状态为异常工作状态的第一匹配服务节点,将分配给所述第一匹配服务节点的、且未完成玩家匹配的第一匹配请求,分配给所述匹配服务节点中处于正常工作状态的第二匹配服务节点;匹配处理模块,用于接收所述第二匹配服务节点响应所述第一匹配请求生成的第一匹配信息,并将所述第一匹配信息发送给发起所述第一匹配请求的游戏终端。第三方面,本申请还提供了一种电子设备,其中,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如第一方面、以及第一方面中任意一种可能的实施方式中的玩家匹配方法的步骤。第四方面,本申请还提供了一种计算机可读存储介质,其中,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如第一方面、以及第一方面中任意一种可能的实施方式中的玩家匹配方法的步骤。本申请提供的一种游戏中的玩家匹配方法及装置,其中,匹配管理节点与多个匹配服务节点通信连接,在其中一个匹配服务节点异常时,将分配给该异常匹配服务节点、且未完成玩家匹配的匹配请求分配给处于正常工作状态的匹配服务节点继续进行玩家匹配,解决现有技术中存在的匹配服务节点出现问题时,正在进行玩家匹配的匹配请求会出现错乱、丢失、匹配效率严重降低、待存储匹配请求丢失的问题,提高了玩家匹配过程中的容灾能力和匹配效率,并且本申请的匹配管理节点中存储所有未完成玩家匹配的匹配请求,分担了匹配服务节点存储匹配请求的压力。附图说明为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。图1示出了本申请实施例提供的一种游戏中的玩家匹配方法的流程图;图2示出了本申请实施例提供的另一种游戏中的玩家匹配方法中,对出现异常的匹配服务节点中的匹配信息的处理的流程图;图3示出了本申请实施例提供的另一种游戏中的玩家匹配方法中,匹配管理节点获取进行玩家匹配需要的数据的流程图;图4示出了由匹配管理节点、匹配服务节点组成的玩家匹配系统的架构图;图5示出了本申请实施例提供的另一种游戏中的玩家匹配方法的流程图;图6示出了本申请实施例提供的一种游戏中的玩家匹配装置的结构示意图;图7示出了本申请实施例提供的一种电子设备的结构示意图。具体实施方式为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。另外,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。为了使得本领域技术人员能够使用本申请内容,结合特定应用场景“游戏中的玩家匹配”,给出以下实施方式。对于本领域技术人员来说,在不脱离本申请的精神和范围的情况下,可以将这里定义的一般原理应用于其他实施例和应用场景。虽然本申请主要围绕“游戏中的玩家匹配”进行描述,但是应该理解,这仅是一个示例性实施例。需要说明的是,本申请实施例中将会用到术语“包括”,用于指出其后所声明的特征的存在,但并不排除增加其它的特征。针对现有技术中玩家匹配过程中,由于匹配服务节点出现异常导致的匹配请求丢失、匹配效率严重降低的缺陷,本申请提供了一种游戏中的玩家匹配方法及装置,该方法或装置中,匹配管理节点与多个匹配服务节点通信连接,在其中一个匹配服务节点异常时,将分配给该异常匹配服务节点、且未完成玩家匹配的匹配请求分配给处于正常工作状态的匹配服务节点继续进行玩家匹配,解决现有技术中存在的匹配服务节点出现问题时,正在进行玩家匹配的匹配请求会出现错乱、丢失、匹配效率严重降低、待存储匹配请求丢失的问题,提高了玩家匹配过程中的容灾能力和匹配效率,并且匹配管理节点存储有未完成玩家匹配的所有匹配请求,分担了匹配服务节点存储匹配请求的压力。下面对本申请的游戏中的玩家匹配方法进行详细说明。该玩家匹配方法由对游戏终端发送的匹配请求进行协调分配的匹配管理节点执行,如图1所示,本申请的玩家匹配方法包括如下步骤:S110、匹配管理节点获取所述匹配服务节点的工作状态。这里,匹配管理节点用于负责该匹配管理节点对应的游戏进程中玩家的匹配。一个游戏中存在多个游戏服务器,每个一个游戏服务器中存在多个游戏进程,每个游戏进程对应一个匹配管理节点。上述匹配管理节点与多个进行玩家匹配的匹配服务节点通信连接。匹配管理节点首先接收并存储游戏终端发起的匹配请求,之后将接收的匹配请求分配给与其连接的匹配服务节点,由匹配服务节点对接收的匹配请求进行玩家匹配操作。上述多个匹配服务节点组成一个匹配服务集群,有利于提高玩家匹配的容灾能力和匹配效率。本步骤匹配管理节点获取的是所有与匹配管理节点通信连接的匹配服务节点的工作状态。在执行本步骤之前预先设置有多个信息采集时刻,在每个信息采集时刻,匹配管理节点都会去获取与其连接的每个匹配服务节点的工作状态。这里的工作状态包括匹配服务节点能否与匹配管理节点正常通信,匹配服务节点能否能够正常进行玩家匹配等。上述获取的匹配服务节点的工作状态,可以是在对应的信息采集时刻,匹配服务节点的工作状态,也可以根据与该信息采集时刻相关联的多个信息采集时刻匹配服务节点的工作状态,确定的该信息采集时刻匹配服务节点的工作状态。例如可以利用如下步骤确定匹配服务节点的工作状态:匹配管理节点获取从当前信息采集时刻开始的前N个信息采集时刻中,每个信息采集时刻所述匹配服务节点的工作状态;若获取的所有工作状态均为异常工作状态,则确定所述匹配服务节点的工作状态为异常工作状态,否则,定所述匹配服务节点的工作状态为正常工作状态。其中,N为正整数。上述方法利用当前信息采集时刻匹配服务节点的工作状态以及当前信息采集时刻的前N个信息采集时刻匹配服务节点的工作状态,确定当前信息采集时刻匹配服务节点的工作状态,能够提高确定的工作状态的可靠性。例如,如果网络状态不佳,可能在某个信息采集时刻获取的匹配服务节点的工作状态不准确或无法获取到匹配服务节点的工作状态,此时如果直接确定匹配服务节点的工作状态为异常工作状态显然不准确,因此,可以根据连续几个信息采集时刻的工作状态确定匹配服务节点最终的工作状态。对于非当前信息采集时刻对应的工作状态的确定方法与当前信息采集时刻确定对应的工作状态的方法一致,例如针对某个非当前信息采集时刻,可以根据该信息采集时刻匹配服务节点的工作状态以及该信息采集时刻的前N个信息采集时刻匹配服务节点的工作状态,确定该信息采集时刻匹配服务节点的工作状态。在具体实施时,匹配管理节点和匹配服务节点可以建立心跳连接,上述匹配服务节点在每个信息采集时刻的工作状态,为匹配服务节点在每个心跳上报时匹配服务节点的工作状态。根据连续几个心跳连接能够确定匹配服务节点的最终的工作状态。S120、针对所述匹配服务节点中工作状态为异常工作状态的第一匹配服务节点,匹配管理节点将分配给所述第一匹配服务节点的、且未完成玩家匹配的第一匹配请求,分配给所述匹配服务节点中处于正常工作状态的第二匹配服务节点。这里,匹配管理节点在接收到游戏终端发起的匹配请求之后,会将该匹配请求进行存储,并根据每个处于正常工作状态的匹配服务节点的负载,即每个处于正常工作状态的匹配服务节点中未完成玩家匹配的匹配请求的数量,选择一个匹配服务节点,将新接收的匹配请求分配给选择得到的匹配服务节点。匹配服务节点对接收的匹配请求对应的玩家进行匹配,匹配成功后生成匹配信息,并将匹配信息发送给匹配管理节点,匹配管理节点收到匹配信息后转发给发起匹配请求的游戏终端,同时将其存储的匹配请求删除。可见,匹配管理节点中存储的匹配请求是未完成玩家匹配的匹配请求。上述匹配信息包括匹配成对的各个玩家的信息。由于匹配管理节点中存储未完成玩家匹配的匹配请求,因此在某个匹配服务节点出现异常时,会筛选出该异常匹配服务节点中未完成玩家匹配的匹配请求,即上述第一匹配请求,并将筛选出的匹配请求分配给当前处于正常工作状态的匹配服务节点,即上述第二匹配服务节点,由第二匹配服务节点对接收的匹配请求对应的玩家进行匹配。上述异常工作状态的匹配服务节点,可以是指前一个信息采集时刻的工作状态为正常工作状态,当前信息采集时刻的工作状态为异常工作状态的匹配服务节点。S130、匹配管理节点接收所述第二匹配服务节点响应所述第一匹配请求生成的第一匹配信息,并将所述第一匹配信息发送给发起所述第一匹配请求的游戏终端。这里,第二匹配服务节点在接收到匹配请求后,存储接收的匹配请求,并对接收的匹配请求对应的玩家进行匹配,如果匹配成功,生成与匹配信息。第二匹配服务节点将生成的匹配信息发送给匹配管理节点,之后,删除生成的匹配信息和对应的匹配请求,从而能够提供更多的容量来存储需要进行玩家匹配的匹配请求。上述匹配管理节点在将接收的匹配信息发送给对应的游戏终端后,也会删除对应的匹配请求和接收的匹配信息,从而能够提供更多的容量来存储需要进行玩家匹配的匹配请求。在一些实施中,上述玩家匹配方法还包括确定上述第二匹配服务节点的步骤:匹配管理节点获取处于正常工作状态的所述匹配服务节点中未完成玩家匹配的匹配请求的数量;选取匹配请求数量满足预设条件的所述匹配服务节点,作为所述第二匹配服务节点。在具体实施时,如果第一匹配请求的数量是1个,则,满足预设条件的所述匹配服务节点可以是未完成玩家匹配的匹配请求数量最小的匹配服务节点。如果第一匹配请求的数量是M个,则满足预设条件的所述匹配服务节点可以是未完成玩家匹配的匹配请求数量最小的M个匹配服务节点。该方法适用于第一匹配请求数量较少的情况,在第一匹配请求的数量较大时,可以选取未完成玩家匹配的匹配请求数量小于预设数值的匹配服务节点作为第二匹配服务节点,并将第一匹配请求平均或者按比例分配给多个第二匹配服务节点。上述匹配服务节点中未完成玩家匹配的匹配请求包括来自上述匹配管理节点的匹配请求以及来自其他匹配管理节点的匹配请求。根据每个匹配服务节点的负载信息即未完成玩家匹配的匹配请求的数量,筛选第二匹配服务节点,能够为匹配请求选择负载小的匹配服务节点,能够缩短玩家匹配需要的时间,提高匹配效率。当然,还可以利用其他的方法确定第二匹配服务节点,例如从处于正常工作状态的匹配服务节点中随机选择第二匹配服务节点。匹配管理节点可以在每个信息采集时刻,与工作状态一块,同步采集每个匹配服务节点中未完成玩家匹配的匹配请求的数量。例如,可以在每个心跳上报匹配服务节点的工作状态时,同步获取并上报匹配服务节点中未完成玩家匹配的匹配请求的数量。在一些实施例中,上述玩家匹配方法还包括如下步骤:匹配管理节点响应所述第一匹配服务节点的工作状态由异常工作状态变更为正常工作状态,从所述第一匹配请求中筛选出已经分配给所述第二匹配服务节的第二匹配请求,并基于所述第二匹配请求生成删除指令,将所述删除指令发送给所述第一匹配服务节点,以使所述第一匹配服务节点删除所述第二匹配请求。响应所述第一匹配服务节点的工作状态由异常工作状态变更为正常工作状态,从所述第一匹配请求中筛选出未分配给所述第二匹配服务节点的第三匹配请求,并基于第三匹配请求生成匹配指令,并将所述匹配指令发送给所述第一匹配服务节点,以使所述第一匹配服务节点对所述第三匹配请求对应的玩家进行匹配。在匹配服务器发生异常时后,匹配管理节点会将该匹配服务节点中未完成玩家匹配的匹配请求分给其他处于正常工作状态的匹配服务节点。但是重新分配匹配服务节点需要时间,可能在异常的匹配服务节点经过重启或维修恢复正常工作状态后,匹配管理节点还没完成匹配请求的重新分配,此时,可以将这些未重新分配的上述第二匹配请求,重新分配给恢复正常工作状态的匹配服务节点,而那些已经重新分配匹配服务节点的匹配请求,即上述第三匹配请求将由新的匹配服务节点进行玩家匹配操作。在具体实施时,恢复正常工作状态的匹配服务节点会也可以先将未完成玩家匹配的匹配请求,发给匹配管理节点,匹配管理节点接收到匹配服务节点发送的匹配请求,并根据从匹配服务节点接收的匹配请求,筛选出其中已经分配给其他匹配服务节点的匹配请求,即上述第二匹配请求,这部分匹配请求将由新的匹配服务节点进行玩家匹配,恢复正常工作状态的匹配服务节点不需要执行此部分匹配请求的匹配操作,并且需要将其存储的这部分匹配请求删除。匹配管理节点接收到匹配服务节点发送的匹配请求后,根据从匹配服务节点接收的匹配请求,筛选出其中未分配给其他匹配服务节点的匹配请求,即上述第三匹配请求,这部分匹配请求可以重新分配给恢复正常工作状态的匹配服务节点,由恢复正常工作状态的匹配服务节点完成玩家匹配。异常工作状态的匹配服务节点可能是匹配服务进程退出,服务器宕机等,此时匹配服务节点将不能继续进行玩家匹配,不会生成新的匹配信息。但是如果是匹配服务节点所在的服务器的网络出现问题,此时,匹配服务节点只是不能将生成的匹配信息发送给匹配管理节点,仍然能够进行匹配操作。在匹配服务节点恢复正常工作状态后,可以将在异常工作状态变更为正常工作状态对应的时间段内,完成玩家匹配生成的匹配信息发送给匹配管理节点,由匹配管理节点确定这些匹配信息是否发送给对应的游戏终端。具体地,如图2所示,可以利用如下步骤确定在异常工作状态期间生成的匹配信息是否发送给对应的游戏终端:S210、匹配管理节点响应所述第一匹配服务节点的工作状态由异常工作状态变更为正常工作状态,接收所述第一匹配服务节点发送的,在异常工作状态变更为正常工作状态对应的时间段内,所述第一匹配服务节点完成玩家匹配生成的第二匹配信息。S220、匹配管理节点从所述第二匹配信息对应的匹配请求中,筛选未分配给所述第二匹配服务节点的第四匹配请求;其中,所述第二匹配信息对应的匹配请求为所述第一匹配请求中的部分匹配请求。S230、匹配管理节点将所述第四匹配请求对应的第二匹配信息发送给对应的游戏终端。上述,基于恢复正常工作状态的匹配服务节点发送的匹配信息,确定未重新分配给其他匹配服务节点的匹配请求,即上述第四匹配请求,这部分匹配请求对应的匹配信息有效,可以直接发送给对应的游戏终端,不用重新对这部分匹配请求进行玩家匹配,节省了匹配服务节点和匹配管理节点的资源。另外,基于上述第二匹配信息,还可以筛选出已经分配给其他匹配服务节点的匹配请求,这部分匹配请求将由新的匹配服务管理节点执行玩家匹配操作,新的匹配服务管理节点生成的匹配信息有效,恢复正常工作状态的匹配服务节点发送的匹配信息无效,不能发送给对应的游戏终端。上面的实施例对匹配服务节点发生异常时,如何进行玩家匹配进行了说明,实际中,匹配管理节点也可能发生异常,此时,匹配管理节点将不能分配匹配请求,也不能转发匹配信息给游戏终端,并且在匹配管理节点恢复正常后,可能会丢失掉之前存储的数据,例如丢失其存储的匹配请求、各个匹配服务节点的负载信息等。此时,如图3所示,匹配管理节点可以利用如下步骤获取进行玩家匹配需要的数据:S310、在匹配管理节点重启后,从每个所述匹配服务节点中获取并存储由所述匹配管理节点发送的,并且未完成玩家匹配的匹配请求。S320、匹配管理节点获取并存储每个匹配服务节点中未完成玩家匹配的匹配请求的数量。这里匹配服务节点中未完成玩家匹配的匹配请求包括所有与该匹配服务节点通信连接的匹配管理节点分配给该匹配服务节点的,并且未完成玩家匹配的匹配请求。上述匹配管理节点、匹配服务节点组成的玩家匹配系统的架构如图5所示,每个游戏服务器上存在多个游戏进程,每个游戏进程对应一个匹配管理节点,即图4中的manager。每个匹配管理节点与多个匹配服务节点,即图4中的service通信连接。每个匹配服务器可以设置有多个匹配服务进程,每个匹配服务进程分别对应一个匹配服务节点。多个匹配服务器组成进行玩家匹配的匹配服务集群。某个匹配管理节点可以跟所有的匹配服务节点通信连接,也可以跟部分匹配服务节点通信连接。下面再通过一个实施例对本申请的玩家匹配方法进行详细说明。如图5所示,玩家匹配方法包括如下步骤:步骤一、匹配服务节点启动时会广播给所有的匹配管理节点,即本服管理节点,进行注册并告知本身服务可用,同样匹配管理节点启动时也会广播给所有匹配服务节点进行注册。同时,所有的匹配管理节点和匹配服务节点之间将保持心跳连接。这里的心跳连接用于监控匹配服务节点是否可用,若干次心跳均超时则说明对应的匹配服务节点出现问题;心跳连接还用于获取对应的匹配服务节点的负载信息等。步骤二、当玩家利用其游戏终端发起匹配请求时,匹配请求将先被发送到匹配管理节点,匹配管理节点存储本次匹配请求,并根据之前获取的各个匹配服务节点的负载信息,选择一个匹配服务节点进行发送。当对应的匹配服务节点接收到该匹配请求时,会将该匹配请求放入对应的匹配池进行匹配。如果匹配成功,则会将成功匹配的匹配信息发送回之前的匹配管理节点,匹配管理节点再将匹配信息转发给玩家的游戏终端,并删除对应的匹配信息和匹配请求。步骤三、当匹配服务节点出现异常时,例如发生匹配服务进程重启、匹配服务器宕机等,此时,匹配管理节点将无法收到心跳连接的返回,若干次心跳连接失败后,匹配管理节点将根据当前处于正常工作状态的各个匹配服务节点的负载信息,重新选择新的匹配服务节点,并将之前发送到已经停止服务的旧匹配服务节点的匹配请求发送到新的匹配服务节点,新的匹配服务节点收到匹配请求后按正常逻辑进行玩家匹配。本步骤不是1次心跳失败就认为匹配服务节点出现异常,是为了防止是因为网络波动导致心跳没有收到。步骤四、当出现问题的匹配服务节点被重启手动重启或者由守护进程自动重启后,匹配服务节点广播消息,通知与其连接的所有匹配管理节点自己的服务已恢复正常,可以提供玩家匹配服务;匹配管理节点收到消息后与旧匹配服务节点重新建立心跳连接,并控制旧匹配服务节点删除全部或部分匹配请求。步骤五、如果匹配服务节点出现的问题是网络问题,本身匹配服务进程并没有出现问题,这种情况下,匹配管理节点通过心跳发现该匹配服务节点不可用,同样会启动重新选择匹配服务节点的逻辑。同样,此时匹配服务节点对所有匹配管理节点的心跳连接都会失败,失败若干次后,则认为是自身网络出现问题,但是仍然对匹配请求进行玩家匹配,生成匹配信息。网络恢复后,匹配服务节点广播给与其连接的所有匹配管理节点自己的服务已恢复正常,可以提供玩家匹配服务;并将新生成的匹配信息发送给对应的匹配管理节点,匹配管理节点收到匹配信息后,如果这些匹配信息对应的匹配请求已经转发给其它匹配服务节点,则通知该恢复的匹配服务节点删除其存储的匹配请求和生成的匹配信息,否则将匹配信息发送给对应的游戏终端。步骤六、某个匹配管理节点出现问题时,守护进程将自动重启该匹配管理节点,匹配管理节点重启后会广播给所有匹配服务节点,通知自己发生重启,重新建立心跳,并拉取属于自己的匹配请求以及与其连接的每个匹配服务节点的负载信息。上述实施例中的玩家匹配方法,整个容灾过程对玩家是完全透明的,并且不会中断玩家的匹配服务。具体地,在玩家通过游戏终端发起匹配请求后,通过匹配管理节点转发给某个匹配服务节点,匹配服务节点收到匹配请求后会返回游戏终端发起匹配成功的消息,游戏终端将自身上的匹配标记map置为真,游戏终端上表现为开始进行玩家匹配,中间匹配管理节点或者匹配服务节点出现问题不会改变这个匹配标记map的值,所以玩家的感受是一直在匹配中间并没有中断匹配,有效提高了玩家的体验度。上述实施例中的玩家匹配方法中,匹配管理节点和匹配服务节点上均存储有未完成玩家匹配的匹配请求,在其中一个节点出现问题时,可以通过与其连接的节点来进行数据恢复。解决了由于匹配管理节点或匹配服务节点异常时出现的数据丢失的问题。上述实施例中的玩家匹配方法,利用匹配管理节点和匹配服务节点存储匹配请求,不需要额外的数据库或第三方存储服务来存储匹配请求。并且同时通过多个匹配服务节点进行玩家匹配,大大加大了玩家匹配系统的吞吐量,增加了同时匹配的玩家的数量,降低了第三方系统出现问题导致玩家匹配系统本身无法提供匹配服务的概率。基于同一发明构思,本申请实施例还提供了与玩家匹配方法对应的玩家匹配装置,该装置应用于对游戏终端发送的匹配请求进行协调分配的匹配管理节点,所述匹配管理节点与多个进行玩家匹配的匹配服务节点通信连接。由于本申请实施例中的装置解决问题的原理与本申请实施例上述玩家匹配方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。如图6所示,游戏中的玩家匹配装置,包括:状态获取模块610,用于获取所述匹配服务节点的工作状态。服务筛选模块620,用于针对所述匹配服务节点中工作状态为异常工作状态的第一匹配服务节点,将分配给所述第一匹配服务节点的、且未完成玩家匹配的第一匹配请求,分配给所述匹配服务节点中处于正常工作状态的第二匹配服务节点。匹配处理模块630,用于接收所述第二匹配服务节点响应所述第一匹配请求生成的第一匹配信息,并将所述第一匹配信息发送给发起所述第一匹配请求的游戏终端。图7描述了本发明实施例提供的一种电子设备700的结构,该电子设备700包括:至少一个处理器701,至少一个网络接口704或者其他用户接口703,存储器705,至少一个通信总线702。通信总线702用于实现这些组件之间的连接通信。该电子设备700可选的包含用户接口703,包括显示器例如,触摸屏、LCD、CRT、全息成像Holographic或者投影Projector等,键盘或者点击设备例如,鼠标,轨迹球trackball,触感板或者触摸屏等。存储器705可以包括只读存储器和随机存取存储器,并向处理器701提供指令和数据。存储器705的一部分还可以包括非易失性随机存取存储器NVRAM。在一些实施方式中,存储器705存储了如下的元素,可执行模块或者数据结构,或者他们的子集,或者他们的扩展集:操作系统7051,包含各种系统程序,用于实现各种基础业务以及处理基于硬件的任务;应用程序模块7052,包含各种应用程序,例如桌面launcher、媒体播放器MediaPlayer、浏览器Browser等,用于实现各种应用业务。在本发明实施例中,通过调用存储器705存储的程序或指令,处理器701用于:获取所述匹配服务节点的工作状态;针对所述匹配服务节点中工作状态为异常工作状态的第一匹配服务节点,将分配给所述第一匹配服务节点的、且未完成玩家匹配的第一匹配请求,分配给所述匹配服务节点中处于正常工作状态的第二匹配服务节点;接收所述第二匹配服务节点响应所述第一匹配请求生成的第一匹配信息,并将所述第一匹配信息发送给发起所述第一匹配请求的游戏终端。在一些实施例中,处理器701还用于确定所述第二匹配服务节点:获取处于正常工作状态的所述匹配服务节点中未完成玩家匹配的匹配请求的数量;选取匹配请求数量满足预设条件的所述匹配服务节点,作为所述第二匹配服务节点。在一些实施例中,处理器701还用于:获取从当前信息采集时刻开始的前N个信息采集时刻中,所述匹配服务节点在每个信息采集时刻的工作状态;N为正整数;将所有工作状态均为异常工作状态的所述匹配服务节点,作为工作状态为异常工作状态的所述第一匹配服务节点。在一些实施例中,处理器701还用于:接收游戏终端发起的匹配请求;存储所述匹配请求。在一些实施例中,处理器701在将所述第一匹配信息发送给发起所述第一匹配请求的游戏终端之后,还用于:确定所述第一匹配请求完成玩家匹配,并删除所述第一匹配信息以及所述第一匹配请求。在一些实施例中,处理器701还用于:响应所述第一匹配服务节点的工作状态由异常工作状态变更为正常工作状态,从所述第一匹配请求中筛选出已经分配给所述第二匹配服务节的第二匹配请求,并基于所述第二匹配请求生成删除指令,将所述删除指令发送给所述第一匹配服务节点,以使所述第一匹配服务节点删除所述第二匹配请求。在一些实施例中,处理器701还用于:响应所述第一匹配服务节点的工作状态由异常工作状态变更为正常工作状态,从所述第一匹配请求中筛选出未分配给所述第二匹配服务节点的第三匹配请求,并基于第三匹配请求生成匹配指令,并将所述匹配指令发送给所述第一匹配服务节点,以使所述第一匹配服务节点对所述第三匹配请求对应的玩家进行匹配。在一些实施例中,处理器701还用于:响应所述第一匹配服务节点的工作状态由异常工作状态变更为正常工作状态,接收所述第一匹配服务节点发送的,在异常工作状态变更为正常工作状态对应的时间段内,所述第一匹配服务节点完成玩家匹配生成的第二匹配信息;从所述第二匹配信息对应的匹配请求中,筛选未分配给所述第二匹配服务节点的第四匹配请求;其中,所述第二匹配信息对应的匹配请求为所述第一匹配请求中的部分匹配请求;将所述第四匹配请求对应的第二匹配信息发送给对应的游戏终端。在一些实施例中,处理器701还用于:接收游戏终端发送的第五匹配请求;将所述第五匹配请求,分配给处于正常工作状态的匹配服务节点中的一个匹配服务节点;接收匹配服务节点响应所述第五匹配请求生成的第三匹配信息,并将所述第三匹配信息发送给发起所述第五匹配请求的游戏终端。在一些实施例中,处理器701还用于:在匹配管理节点重启后,从每个所述匹配服务节点中获取并存储由所述匹配管理节点发送的,并且未完成玩家匹配的匹配请求;获取并存储每个匹配服务节点中未完成玩家匹配的匹配请求的数量。本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述任一实施例中的玩家匹配方法的步骤。本申请实施例还提供了一种计算机程序产品,其包括存储了处理器可执行的非易失的程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的交互控件部署方法,具体实现可参见方法实施例,在此不再赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考方法实施例中的对应过程,本申请中不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备可以是个人计算机,服务器,或者网络设备等执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。以上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

权利要求:1.一种游戏中的玩家匹配方法,其特征在于,应用于匹配管理节点,所述匹配管理节点与多个匹配服务节点通信连接,包括:获取所述匹配服务节点的工作状态;针对所述匹配服务节点中工作状态为异常工作状态的第一匹配服务节点,将分配给所述第一匹配服务节点的、且未完成玩家匹配的第一匹配请求,分配给所述匹配服务节点中处于正常工作状态的第二匹配服务节点;接收所述第二匹配服务节点响应所述第一匹配请求生成的第一匹配信息,并将所述第一匹配信息发送给发起所述第一匹配请求的游戏终端。2.根据权利要求1所述的玩家匹配方法,其特征在于,所述将分配给所述第一匹配服务节点的、且未完成玩家匹配的第一匹配请求,分配给所述匹配服务节点中处于正常工作状态的第二匹配服务节点,包括:获取处于正常工作状态的所述匹配服务节点中未完成玩家匹配的匹配请求的数量;选取匹配请求数量满足预设条件的所述匹配服务节点,作为所述第二匹配服务节点;将分配给所述第一匹配服务节点的、且未完成玩家匹配的所述第一匹配请求,分配给所述第二匹配服务节点。3.根据权利要求1所述的玩家匹配方法,其特征在于,所述方法还包括:获取从当前信息采集时刻开始的前N个信息采集时刻中,所述匹配服务节点在每个信息采集时刻的工作状态;N为正整数;将所有工作状态均为异常工作状态的所述匹配服务节点,作为工作状态为异常工作状态的所述第一匹配服务节点。4.根据权利要求1所述的玩家匹配方法,其特征在于,还包括:接收游戏终端发起的匹配请求;存储所述匹配请求。5.根据权利要求1所述的玩家匹配方法,其特征在于,在将所述第一匹配信息发送给发起所述第一匹配请求的游戏终端之后,还包括:确定所述第一匹配请求完成玩家匹配,并删除所述第一匹配信息以及所述第一匹配请求。6.根据权利要求1所述的玩家匹配方法,其特征在于,还包括:响应所述第一匹配服务节点的工作状态由异常工作状态变更为正常工作状态,从所述第一匹配请求中筛选出已经分配给所述第二匹配服务节的第二匹配请求,并基于所述第二匹配请求生成删除指令,将所述删除指令发送给所述第一匹配服务节点,以使所述第一匹配服务节点删除所述第二匹配请求。7.根据权利要求1所述的玩家匹配方法,其特征在于,还包括:响应所述第一匹配服务节点的工作状态由异常工作状态变更为正常工作状态,从所述第一匹配请求中筛选出未分配给所述第二匹配服务节点的第三匹配请求,并基于第三匹配请求生成匹配指令,并将所述匹配指令发送给所述第一匹配服务节点,以使所述第一匹配服务节点对所述第三匹配请求对应的玩家进行匹配。8.根据权利要求1所述的玩家匹配方法,其特征在于,还包括:响应所述第一匹配服务节点的工作状态由异常工作状态变更为正常工作状态,接收所述第一匹配服务节点发送的,在异常工作状态变更为正常工作状态对应的时间段内,所述第一匹配服务节点完成玩家匹配生成的第二匹配信息;从所述第二匹配信息对应的匹配请求中,筛选未分配给所述第二匹配服务节点的第四匹配请求;其中,所述第二匹配信息对应的匹配请求为所述第一匹配请求中的部分匹配请求;将所述第四匹配请求对应的第二匹配信息发送给对应的游戏终端。9.根据权利要求1所述的玩家匹配方法,其特征在于,还包括:接收游戏终端发送的第五匹配请求;将所述第五匹配请求,分配给处于正常工作状态的匹配服务节点中的一个匹配服务节点;接收匹配服务节点响应所述第五匹配请求生成的第三匹配信息,并将所述第三匹配信息发送给发起所述第五匹配请求的游戏终端。10.根据权利要求1所述的玩家匹配方法,其特征在于,还包括:在匹配管理节点重启后,从每个所述匹配服务节点中获取并存储由所述匹配管理节点发送的,并且未完成玩家匹配的匹配请求;获取并存储每个匹配服务节点中未完成玩家匹配的匹配请求的数量。11.一种游戏中的玩家匹配装置,其特征在于,应用于匹配管理节点,所述匹配管理节点与多个匹配服务节点通信连接,包括:状态获取模块,用于获取所述匹配服务节点的工作状态;服务筛选模块,用于针对所述匹配服务节点中工作状态为异常工作状态的第一匹配服务节点,将分配给所述第一匹配服务节点的、且未完成玩家匹配的第一匹配请求,分配给所述匹配服务节点中处于正常工作状态的第二匹配服务节点;匹配处理模块,用于接收所述第二匹配服务节点响应所述第一匹配请求生成的第一匹配信息,并将所述第一匹配信息发送给发起所述第一匹配请求的游戏终端。12.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如权利要求1至10任意一项所述的玩家匹配方法的步骤。13.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至10任意一项所述的玩家匹配方法的步骤。

百度查询: 网易(杭州)网络有限公司 一种游戏中的玩家匹配方法及装置

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。