对象匹配方法、装置和计算机可读存储介质与流程

文档序号:20836819发布日期:2020-05-22 16:58阅读:136来源:国知局
对象匹配方法、装置和计算机可读存储介质与流程
本申请涉及通信
技术领域
,具体涉及一种对象匹配方法、装置和计算机可读存储介质。
背景技术
:近年来,网络游戏已经成为人们生活娱乐中不可缺少的一部分。目前,网络游戏的玩法中最受欢迎的是多人对战玩法,但是多人对战玩法存在着难以保证对战双方水平的平衡性与公平性的问题。为了解决该问题,目前普遍采用基于埃洛算法的匹配方法对玩家进行匹配,游戏开发者通过埃洛算法建立玩家等级模型,并根据模型将处于相同水平的玩家匹配在一起,但是在使用基于埃洛算法的匹配方法进行匹配的过程中,需要通过埃洛算法建立的玩家等级模型进行匹配,造成匹配所需时间长,从而导致了匹配的效率低。技术实现要素:本申请的目的在于提供一种对象匹配方法、装置和计算机可读存储介质,可以提高匹配的效率。本申请实施例提供一种对象匹配方法,包括:获取待匹配虚拟对象的属性数据;根据所述属性数据将所述待匹配虚拟对象添加至对象队列,所述对象队列中虚拟对象按照属性数据进行排列;从所述对象队列中选取虚拟对象作为匹配参考对象;根据所述匹配参考对象的属性数据,构建所述待匹配虚拟对象的属性匹配条件;基于所述对象队列中虚拟对象的排列顺序,从所述对象队列中确定满足所述属性匹配条件的虚拟对象,得到所述待匹配虚拟对象的目标匹配结果;输出所述目标匹配结果。相应的,本申请实施例还提供了一种对象匹配装置,包括:获取单元,用于获取待匹配虚拟对象的属性数据;添加单元,用于根据所述属性数据将所述待匹配虚拟对象添加至对象队列,所述对象队列中虚拟对象按照属性数据进行排列;选取单元,用于从所述对象队列中选取虚拟对象作为匹配参考对象;构建单元,用于根据所述匹配参考对象的属性数据,构建所述待匹配虚拟对象的属性匹配条件;确定单元,用于基于所述对象队列中虚拟对象的排列顺序,从所述对象队列中确定满足所述属性匹配条件的虚拟对象,得到所述待匹配虚拟对象的目标匹配结果;输出单元,用于输出目标匹配结果。可选的,在一些实施例中,所述添加单元包括队列确定子单元和添加子单元;所述队列确定子单元,用于根据所述属性数据的数据类型,从对象队列集合中确定所述数据类型所对应的对象队列,其中,所述对象队列集合包括多个数据类型对应的候选对象队列;所述添加子单元,用于根据所述属性数据将所述待匹配虚拟对象添加至所述对象队列。可选的,在一些实施例中,所述添加子单元具体可以用于:根据所述属性数据构建所述待匹配虚拟对象对应的属性键值对;根据所述属性键值对将所述待匹配虚拟对象添加至所述对象队列。可选的,在一些实施例中,所述构建单元包括方式获取子单元、数据处理子单元和构建子单元;所述方式获取子单元,用于根据所述匹配参考对象的属性数据的目标数据类型,获取所述目标数据类型所对应的目标范围构建方式;所述数据处理子单元,用于基于所述目标范围构建方式对所述匹配参考对象的属性数据进行处理,得到所述待匹配虚拟对象的属性匹配范围;所述构建子单元,用于根据所述属性匹配范围构建所述待匹配虚拟对象的属性匹配条件。可选的,在一些实施例中,属性数据包括属性数值,所述数据处理子单元具体可以用于:获取所述目标范围构建方式对应的数值处理规则,以及数值处理规则对应的参考属性数值;根据所述数值处理规则和所述参考属性数值,对所述匹配参考对象的属性数值进行数值处理,得到所述待匹配虚拟对象的属性匹配范围。可选的,在一些实施例中,所述确定单元包括划分子单元、对象确定子单元和结果确定子单元;所述划分子单元,用于基于所述对象队列中虚拟对象的属性数据的排列顺序,将所述对象队列中的虚拟对象划分为多个候选查找对象组;所述对象确定子单元,用于根据所述属性匹配条件在所述候选查找对象组中确定目标查找对象组;所述结果确定子单元,用于从所述目标查找对象组中确定满足所述属性匹配条件的虚拟对象,得到所述待匹配虚拟对象的目标匹配结果。可选的,在一些实施例中,所述结果确定子单元包括查找模块和结果模块,所述查找模块,用于在所述目标查找对象组中查找属性数据满足所述属性匹配范围的虚拟对象;所述结果模块,用于基于所述属性数据满足所述属性匹配范围的虚拟对象,得到所述待匹配虚拟对象的目标匹配结果。可选的,在一些实施例中,所述确定单元还包括队列确定子单元和队列添加子单元;所述队列确定子单元,用于根据所述目标匹配结果确定匹配结果队列,所述匹配结果队列包括匹配结果和目标匹配结果相同的虚拟对象;所述队列添加子单元,用于将所述待匹配虚拟对象添加至所述匹配结果队列。可选的,在一些实施例中,所述输出单元还包括存储子单元;所述存储子单元,用于将所述目标匹配结果存储至区块链中。相应的,本申请实施例还提供了一种计算机可读存储介质,其特征在于,该计算机可读存储介质存储有多条指令,该指令适于处理器进行加载,以执行本申请实施例提供的任一项对象匹配方法中的步骤。相应的,本申请实施例还提供了一种计算机设备,包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,该处理器执行该程序时实现本申请实施例提供的任一项对象匹配方法中的步骤。本申请实施例可以获取待匹配虚拟对象的属性数据;根据所述属性数据将所述待匹配虚拟对象添加至对象队列,所述对象队列中虚拟对象按照属性数据进行排列;从所述对象队列中选取虚拟对象作为匹配参考对象;根据所述匹配参考对象的属性数据,构建所述待匹配虚拟对象的属性匹配条件;基于所述对象队列中虚拟对象的排列顺序,从所述对象队列中确定满足所述属性匹配条件的虚拟对象,得到所述待匹配虚拟对象的目标匹配结果;输出所述目标匹配结果。由于本方案可以基于队列中虚拟对象的排列顺序进行匹配,有效地减少了匹配所需时间,进而有效地提高了匹配的效率。附图说明为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本申请实施例提供的对象匹配方法的流程示意图;图2是本申请实施例提供的索引队列的示意图;图3是本申请实施例提供的对象匹配方法的另一流程示意图;图4是本申请实施例提供的对象匹配控制系统的系统架构示意图;图5是本申请实施例提供的对象匹配控制系统的业务流程示意图;图6是本申请实施例提供的游戏角色匹配系统页面的示意图;图7是本申请实施例提供的配置文件组成的示意图;图8是本申请实施例提供的索引队列的另一示意图;图9是本申请实施例提供的索引队列的另一示意图;图10是本申请实施例提供的对象匹配控制系统的实际应用的设置示意图;图11是本申请实施例提供的对象匹配控制系统的实际应用示意图图12是本申请实施例提供的对象匹配装置的一种结构示意图;图13是本申请实施例提供的对象匹配装置的另一种结构示意图;图14是本申请实施例提供的对象匹配装置的另一种结构示意图;图15是本申请实施例提供的对象匹配装置的另一种结构示意图;图16是本申请实施例提供的对象匹配装置的另一种结构示意图;图17是本申请实施例提供的对象匹配装置的另一种结构示意图;图18是本申请实施例提供的对象匹配装置的另一种结构示意图;图19是本申请实施例提供的计算机设备的结构示意图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。本申请实施例提供了一种对象匹配方法、装置和计算机可读存储介质。其中,该对象匹配装置具体可以集成在服务器中,比如后台服务器等等。例如,以该对象匹配方法具体集成在服务器中为例,该服务器可以获取待匹配虚拟对象的属性数据;然后,根据该属性数据将该待匹配虚拟对象添加至对象队列,该对象队列中虚拟对象按照属性数据进行排列;再从该对象队列中选取虚拟对象作为匹配参考对象;然后,再根据该匹配参考对象的属性数据,构建该待匹配虚拟对象的属性匹配条件;再基于所述对象队列中虚拟对象的排列顺序,从所述对象队列中确定满足所述属性匹配条件的虚拟对象,得到所述待匹配虚拟对象的目标匹配结果;输出所述目标匹配结果。由于本方案可以基于队列中虚拟对象的排列顺序进行匹配,有效地减少了匹配所需时间,进而有效地提高了匹配的效率。以下分别进行详细说明。需说明的是,以下实施例描述顺序不作为对实施例优选顺序的限定。在一些实施例中,本申请将从对象匹配装置的角度进行描述,其中,该对象匹配装置具体可以集成在服务器中。如图1所示,提供了一种对象匹配方法,该对象匹配方法可以由服务器执行,具体流程可以如下:101、获取待匹配虚拟对象的属性数据。其中,在一些实施例中,以处于游戏的场景中为例,虚拟对象可以是多人对战游戏中由玩家操作的游戏角色,又比如,虚拟对象也可以是游戏玩家的账号,又比如,虚拟对象也可以是游戏玩家。其中,属性数据可以为虚拟对象的特征信息,在一些实施例中,以处于游戏的场景中为例,虚拟对象可以是由玩家操作的游戏角色,则属性数据可以为游戏角色的等级、游戏角色的积分等等,譬如,游戏角色“elsa”的等级为“5”级,游戏角色“alice”的积分为“4”分,等等;又比如,在一些实施例中,以处于社交软件的场景中为例,虚拟对象可以是由用户建立的虚拟角色,该虚拟角色可以包括形象器官、躯干以及着装等等,该虚拟角色是平面形象,也可以是三维立体建模形象,则属性数据可以为该虚拟角色的性别、虚拟角色的年龄等等,譬如,用于在社交软件中建立了一个虚拟女性角色“cindy”,则相应的属性数据可以为“cindy”的年龄为“25”岁,等等。其中,属性数据可以有多种设置方式,例如,在一些实施例中,可以由游戏开发者在游戏规则控制平台中预先设置,等等,具体可以根据实际操作进行设置。其中,获取待匹配虚拟对象的属性数据的方式可以有多种,在一些实施例中,为了能够提高匹配的速度,可以接收终端发送的对象匹配请求,根据该对象匹配请求获取待匹配虚拟对象的属性数据。其中,该终端可以是计算机设备,该计算机设备可以包括手机、平板电脑、笔记本电脑等设备;又比如,终端可以是计算机设备上的客户端,譬如,可以为社交应用程序,也可以为游戏客户端,等等。其中,触发该终端发送对象匹配请求的方式可以有多种,例如,在一些实施例中,当处于游戏的场景时,玩家需要参与多人对战游戏,则通过对终端进行操作触发该终端发送对象匹配请求,又例如,在一些实施例中,当处于游戏的场景时,可以是该玩家接收到了其他玩家的对战游戏邀请,根据该玩家对该对战游戏邀请的操作触发该终端发送对象匹配请求。具体可以根据实际需求进行设置。以处于游戏的场景为例,当终端为游戏客户端时,则可以接收游戏客户端发送的对象匹配请求,再根据该对象匹配请求获取游戏角色“bob”的属性数据,譬如,可以获取“bob”当前的等级“5”级、当前的积分为“6”分。以处于社交软件的场景为例,当终端为社交软件客户端时,则可以接收社交软件客户端发送的对象匹配请求,然后根据该对象匹配请求获取虚拟角色“helen”的属性数据,譬如,可以获取虚拟角色“helen”的年龄为“28”岁。102、根据该属性数据将该待匹配虚拟对象添加至对象队列,该对象队列中虚拟对象按照属性数据进行排列。其中,对象队列可以为包含虚拟对象的队列,在一些实施例中,该队列可以有多种表现形式,例如,为了提高匹配的效率,该队列可以是倒排索引(invertedindex)队列,其中,倒排索引也被称为反向索引,是一种索引方法,被用来存储在全局搜索下某个元素在一个队列或者一组队列中的存储位置的映射,当该队列是倒排索引队列的表现形式时,由于倒排索引是元素到全局的映射,相比于其他索引,例如正排索引是全局到元素的映射,可以有效地减少在队列中查找对象时所需要花费的时间,有效地提高了匹配的效率。其中,根据该属性数据将该待匹配虚拟对象添加至对象队列的方法可以有多种,例如,在一些实施例中,可以根据属性数据确定该待匹配对象对应的对象队列后再进行添加,具体包括:根据该属性数据的数据类型,从对象队列集合中确定该数据类型所对应的对象队列,其中,该对象队列集合包括多个数据类型对应的候选对象队列;根据该属性数据将该待匹配虚拟对象添加至该对象队列。其中,属性数据的数据类型可以有多种,例如,当处于游戏的场景时,属性数据为游戏等级为“5”,则该属性数据的数据类型即为游戏的等级;又例如,当处于社交软件的场景时,属性数据为虚拟角色的年龄为“26”时,则该属性数据的数据类型即为年龄。其中,获取对象队列集合的方式可以有多种,例如,在一些实施例中,当处于游戏的场景且虚拟对象为游戏角色时,可以获取游戏开发人员通过游戏匹配控制平台设置的游戏角色预设属性数据的数据类型,再根据该预设属性数据的数据类型建立对象队列集合,该对象队列集合包括多个数据类型对应的候选对象队列;其中,该游戏匹配控制平台用于对匹配规则进行管理,该游戏匹配控制平台可以有多种表现形式,例如,可以为网页的形式,又例如,可以为应用程序的形式等等,具体可以根据实际需求进行设置。以处于游戏的场景为例,该虚拟对象为游戏角色“amos”,“amos”的属性数据可以为角色等级“5”级,角色积分“6”分;则可以获取游戏开发人员在游戏匹配控制平台设置的预设属性数据的数据类型,即游戏角色的等级、积分,再根据该预设属性数据的数据类型建立对象队列集合,该对象队列集合包括等级倒排索引队列和积分倒排索引队列。以处于社交软件的场景为例,该虚拟对象为虚拟形象“lisa”,“lisa”的属性数据为年龄为“25”岁,身高为“158”厘米;则可以获取开发人员在角色匹配控制平台设置的预设属性数据的数据类型,即虚拟形象的年龄、身高,再建立对象队列集合,该对象队列集合包括年龄倒排索引队列和身高倒排索引队列。其中,根据该属性数据将该待匹配虚拟对象添加至该对象队列的方式可以有多种,例如,在一些实施例中,可以根据属性数据所构建的属性键值对(key-value),将所述待匹配虚拟对象添加至对象队列中,具体可以包括:根据该属性数据构建该待匹配虚拟对象对应的属性键值对;根据该属性键值对将该待匹配虚拟对象添加至该对象队列。在一些实施例中,为了提高匹配的效率,可以根据属性数据构建该待匹配虚拟对象对应的属性键值对,然后将该属性键值对添加至对象队列,例如,当处于游戏的场景时,虚拟对象可以为游戏角色“adam”,虚拟对象的属性数据可以为“adam”的游戏等级为“4”级,则根据“adam”的游戏等级为“4”级,构建游戏角色“adam”对应的等级键值对,然后将该等级键值对加入至对应的对象队列中;该表现形式还可以有多种形式,具体可以根据实际需求进行设置。其中,该对象队列中虚拟对象按照属性数据进行排列的方式可以有多种,例如,在一些实施例中,可以根据属性数据的大小进行排列,又例如,在一些实施例中,可以根据属性数据和预设的排序算法进行排列,具体的方式可以根据实际需求进行设置。由于可以基于该对象队列中属性数据的排列顺序来进行匹配,相比于无顺序排列的对象队列,可以根据排列顺序快速查找到所需要的属性数据,有效地减少了匹配所需时间,从而有效地提高了匹配的效率。以处于游戏的场景为例,待匹配虚拟对象可以为游戏角色“a”,属性数据可以为“a”的游戏等级为“5”级,游戏积分为“6”分,则根据该属性数据的数据类型,可以确定游戏角色“a”对应的对象队列为等级倒排索引队列、积分倒排索引队列,然后,如图2所示,根据“a”的游戏等级为“5”级构建游戏角色“a”对应的等级键值对,根据“a”的游戏积分为“6”分构建游戏角色“a”对应的积分键值对,然后将该游戏角色“a”对应的等级键值对添加至等级倒排索引队列中,再将该游戏角色“a”对应的积分键值对的形式添加至积分倒排索引队列中。以处于社交软件的场景为例,待匹配虚拟对象为虚拟形象“lily”,“lily”的属性数据为年龄为“25”岁,则根据该属性数据的数据类型,可以确定虚拟形象“lily”对应的对象队列为年龄倒排索引队列,根据“lily”的年龄为“25”岁构建虚拟形象“lily”对应的年龄键值对,然后将该虚拟形象“lily”与年龄为“25”岁的年龄键值对添加至年龄倒排索引队列中。103、从该对象队列中选取虚拟对象作为匹配参考对象。其中,从该对象队列中选取虚拟对象作为匹配参考对象的方式可以有多种,例如,在一些实施例中,可以选取对象队列中的第一个虚拟对象作为匹配参考对象,又例如,可以选取对象队列中的任意一个虚拟对象作为匹配参考对象,又例如,可以根据预设规则从该对象队列中选取虚拟对象作为匹配参考对象,选取虚拟对象作为匹配参考对象的方式可以有多种,具体可以根据实际需求进行设置。以处于游戏的场景时为例,该虚拟对象可以为游戏角色,该对象队列可以为角色等级倒排索引队列,则可以从该队列中选取第一个游戏角色作为匹配参考对象;又譬如,也可以从该队列中选取任意一个游戏角色作为匹配参考对象。以处于社交软件的场景时为例,该虚拟对象可以为虚拟角色,该对象队列可以为虚拟角色性别倒排索引队列,则可以从该队列中选取第四个虚拟角色作为匹配参考对象。104、根据该匹配参考对象的属性数据,构建该待匹配虚拟对象的属性匹配条件。其中,根据该匹配参考对象的属性数据,构建该待匹配虚拟对象的属性匹配条件的方式可以有多种,在一些实施例中,为了提高匹配的效率,可以根据该匹配参考对象的属性数据的目标数据类型确定范围构建方式,再构建该待匹配虚拟对象的属性匹配条件,具体可以包括:根据该匹配参考对象的属性数据的目标数据类型,获取该目标数据类型所对应的目标范围构建方式;基于该目标范围构建方式对该匹配参考对象的属性数据进行处理,得到该待匹配虚拟对象的属性匹配范围;根据该属性匹配范围构建该待匹配虚拟对象的属性匹配条件。其中,范围构建方式可以有多种设置方式,例如,在一些实施例中,当处于游戏的场景时,游戏开发人员可以通过游戏匹配控制平台对范围构建方式进行设置,又例如,可以在应用程序的存储器中预先设置范围构建方式。其中,在一些实施例中,属性数据可以包括属性数值,根据该匹配参考对象的属性数据的目标数据类型,获取该目标数据类型所对应的目标范围构建方式的方法,具体可以包括:基于该目标范围构建方式对该匹配参考对象的属性数据进行处理,得到该待匹配虚拟对象的属性匹配范围,包括:获取该目标范围构建方式对应的数值处理规则,以及数值处理规则对应的参考属性数值;根据该数值处理规则和该参考属性数值,对该匹配参考对象的属性数值进行数值处理,得到该待匹配虚拟对象的属性匹配范围。其中,该范围构建方式可以有多种,例如,在一些实施例中,该范围构建方式可以为分段算法(segment),则该分段算法对应的数值处理规则具体为选取匹配参考对象的属性数值所在的分段区间作为属性匹配范围,则数值处理规则对应的参考属性数值则可以为分段区间,例如分段区间可以为“[1,10]”,分段区间也可以为“[11,20]”。譬如,当范围构建方式为分段算法时,则数值处理规则对应的分段区间可以为“[1,20]”、“[20,40]”,若匹配参考对象的属性数值为“3”,则可以根据“3”选取分段区间“[1,20]”作为属性匹配范围。又例如,在一些实施例中,该范围构建方式可以为误差算法(deviation),该误差算法对应的数值处理规则具体为:待匹配对象的属性数据与匹配参考对象的属性数据之间的差值不能大于所配置的误差值,则数值处理规则对应的参考属性数值则可以为误差值,比如,该误差值可以为“1”,等等。譬如,当范围构建方式为误差算法时,则数值处理规则对应的误差值可以为“1”,若匹配参考对象的属性数值为“3”,则可以根据“3”进行处理,即“|x-3|=1”,可得“[2,4]”作为属性匹配范围。其中,该范围构建方式、数值处理规则以及参考属性数值可以有多种表现形式,例如,在一些实施例中,为了编辑方便,可以为json(javascriptobjectnotation,javascript对象表示法)格式,又例如,也可以为xml(extensiblemarkuplanguage,可扩展标记语言)格式,等等,具体可以根据实际需求进行设定,譬如,在一些实施例中,该范围构建方式可以为json格式。例如,在一些实施例中,当为json格式时,具体的json数据可以包括:由于本方案可以根据属性数据来构建属性匹配条件,开发人员可以根据对具体应用场景的分析来预先设置属性数据,能够使得虚拟对象的匹配精度提高,从而有效地提高了匹配的准确性,并且能够有效地解决匹配双方水平的平衡性与公平性的问题。以处于游戏的场景时为例,该对象队列可以包括积分倒排索引队列,可以定义游戏角色的积分的范围构建方式为分段算法,则根据数值处理规则可以得到参考属性数值可以为分段区间为“[1,10]”、“[11,20]”;当该场景有游戏角色“a”、“b”、“c”,相应的积分分别为“1”、“11”、“9”时,选取游戏角色“a”作为匹配参考对象,则根据积分这一数据类型可以通过游戏匹配控制平台获取目标构建方式为分段算法,然后,根据游戏角色“a”的积分为“1”可以从分段区间中选取“[1,10]”作为属性匹配范围。又以处于游戏的场景时为例,该对象队列可以包括等级倒排索引队列,可以定义游戏角色的等级的范围构建方式为误差算法,则根据数值处理规则可以得到参考属性数值可以是误差为“0”;当该场景有游戏角色“a”、“b”、“c”,相应的等级分别为“2”、“3”、“2”时,选取游戏角色“a”作为匹配参考对象,则可以通过游戏匹配控制平台获取目标构建方式为误差算法,然后,根据游戏角色“a”的等级为“2”按照误差算法进行处理,可得属性匹配范围为“[2,2]”。仍然以处于游戏的场景时为例,该对象队列可以包括积分倒排索引队列、等级倒排索引队列,则可以从相应的队列中选取“playeraa”作为匹配参考对象,“playeraa”的积分为“6”、等级为“2”,根据积分、等级,通过游戏匹配控制平台得到构建属性匹配条件的范围构建方式分别为分段算法和误差算法,其中,积分所对应的范围构建方式为分段算法,分段算法的分段区间包括“[1,10]”,“[11,20]”,等级所对应的范围构建方式为误差算法,误差算法的误差值为“0”,则根据分段算法与误差算法对“playeraa”的属性数据分别进行计算,可以得到积分匹配范围为“[1,10]”,等级匹配范围为“[2,2]”,然后将该积分匹配范围与等级匹配范围作为属性匹配条件。105、基于该对象队列中虚拟对象的排列顺序,从该对象队列中确定满足该属性匹配条件的虚拟对象,得到该待匹配虚拟对象的目标匹配结果。其中,基于该对象队列中虚拟对象的排列顺序,从该对象队列中确定满足该属性匹配条件的虚拟对象,得到该待匹配虚拟对象的目标匹配结果的方法可以有多种,在一些实施例中,可以基于虚拟对象的属性数据的排列顺序,将对象队列中的虚拟对象分为多个候选查找对象组,然后根据属性匹配范围确定目标查找对象组后,再在目标查找对象组中查找属性数据满足属性匹配范围的虚拟对象,得到该待匹配虚拟对象的目标匹配结果,具体可以包括:基于该对象队列中虚拟对象的属性数据的排列顺序,将该对象队列中的虚拟对象划分为多个候选查找对象组;根据该属性匹配条件在该候选查找对象组中确定目标查找对象组;从该目标查找对象组中确定满足该属性匹配条件的虚拟对象,得到该待匹配虚拟对象的目标匹配结果。其中,基于所述对象队列中虚拟对象的属性数据的排列顺序,将所述对象队列中的虚拟对象划分为多个候选查找对象组的方式可以有多种,例如,为了提高查找的速度,在一些实施例中,可以根据跳表(skiplist)的方式将虚拟对象划分为多个候选查找对象组,譬如,当处于游戏的场景时,该虚拟对象可以为游戏角色,该对象队列可以为积分倒排索引队列,然后,基于该积分倒排索引队列中游戏角色的积分的排列顺序,根据跳表(skiplist)的方式在该有序的积分倒排索引队列上增加多级索引(index),其中增加多级索引的方式是对于队列中每个游戏角色所对应的结点,每两个结点提取一个结点到上一级,把抽取出来的那一级叫做索引或者索引层,然后,在一级索引的基础上,每两个一级索引结点也可以抽取一个结点到二级索引中,从而可以建立多级索引,每一级索引中每两个结点内(包括两端结点)可以包含结点所对应的游戏角色,也就是将游戏角色分成了多个候选查找组。由于可以基于跳表的方式来查找满足属性匹配条件的虚拟对象,在查找过程中,跳表的方式可以有效地提高查找的速度,并且是基于属性数据的排列顺序进行查找,更能有效地减少查找过程中所需使用的时间,从而有效地提高匹配的效率。除了上文所述的方式之外,基于所述对象队列中虚拟对象的属性数据的排列顺序,将所述对象队列中的虚拟对象划分为多个候选查找对象组的方式还可以有多种,例如,当处于游戏的场景时,该虚拟对象可以为游戏角色,该对象队列可以为等级倒排索引队列,然后,基于该等级倒排索引队列中游戏角色的等级的排列顺序,可以根据预设算法将该等级倒排索引队列中的游戏角色分成多个候选对象查找组,该预设算法可以有多种方式,例如可以为神经网络算法(neuralnetworkalgorithm)等等,具体可以根据实际进行设置。以处于游戏的场景时为例,该虚拟对象可以为游戏角色,待匹配虚拟对象为游戏角色“a”,“a”的属性数据为游戏积分为“5”分,相应的,该对象队列可以为积分倒排索引队列,对应的积分匹配范围为“[1,10]”,然后,基于该积分倒排索引队列中游戏角色的积分的排列顺序,根据跳表(skiplist)的方式在该有序的积分倒排索引队列上增加多级索引(index),则根据该积分匹配范围的两个端点值“1”和“10”,可以确定从多级索引中确定目标查找的索引部分,即积分在“1”到“10”的索引部分,然后,再在该“1”到“10”的索引部分查找积分满足“[1,10]”的游戏角色,可以得到游戏角色“a”和“b”是满足积分匹配条件的,该游戏角色“a”为待匹配虚拟对象,则可以得到游戏角色“a”的匹配结果为匹配成功。其中,在一些实施例中,为了能够方便对该待匹配虚拟对象进行进一步的处理,得到该待匹配虚拟对象的目标匹配结果之后,具体还包括:根据该目标匹配结果确定匹配结果队列,该匹配结果队列包括匹配结果和目标匹配结果相同的虚拟对象;将该待匹配虚拟对象添加至该匹配结果队列。在得到目标匹配结果后,根据该目标匹配结果将该待匹配虚拟对象添加至该匹配结果队列,可以基于该匹配结果队列来给虚拟对象所对应的终端发送匹配结果,可以有效地提高匹配结果广播的速率,从而有效地提高用户的体验;例如,对象队列中存在匹配成功与匹配失败的虚拟对象,需要先确定匹配结果然后再进行发送;而将虚拟对象添加至匹配结果队列后,则只需向匹配结果队列中的虚拟对象发送相同的匹配结果,譬如,只需发送匹配成功。例如,当处于游戏的场景时,待匹配虚拟对象为游戏角色“a”,匹配结果可以包括匹配成功,匹配结果队列可以为匹配成功队列,当游戏角色“a”的匹配结果为匹配成功时,则可以根据该匹配结果确定“a”对应的是匹配成功队列,然后将“a”添加至匹配成功队列中。又以处于社交软件的场景为例,该虚拟对象为虚拟形象“lia”,“lia”的匹配结果可以包括匹配失败,则可以根据该匹配失败确定匹配结果队列为匹配失败队列,然后,将“lia”添加至匹配失败队列中。在一些实施例中,将所述待匹配虚拟对象添加至匹配结果队列之后,还可以根据获取预设的匹配模式,然后根据该匹配模式从匹配结果队列中选取虚拟对象,具体包括:获取预设匹配模式;根据所述预设匹配模式从所述匹配结果队列中选取虚拟对象。其中,获取预设匹配模式的方式可以有多种,例如,在一些实施例中,可以从游戏当处于游戏的场景,虚拟对象为游戏角色时,可以获取游戏开发人员通过游戏匹配控制平台设置的预设匹配模式等等,具体可以根据实际需求进行设置。例如,当处于游戏的场景时,虚拟对象为游戏角色,匹配结果队列可以为匹配成功队列,可以通过游戏匹配控制平台获取预设匹配模式为“1v1”,即该预设匹配模式为一对一对战,需要两个游戏角色,则可以从匹配成功队列中根据预设匹配模式选取两个游戏角色。又例如,当处于社交软件的场景时,虚拟对象为虚拟角色,匹配结果队列可以为匹配成功队列,可以根据角色匹配控制平台获取预设匹配模式为“一对一心动模式”,即该预设匹配模式为一对一,需要两位虚拟角色,则可以从匹配成功队列中选取两个虚拟角色。由于根据预设匹配模式来选取虚拟对象,可以有效地满足用户的匹配需求,从而可以有效地提高了用户的体验。106、输出该目标匹配结果。其中,输出该目标匹配结果的方式可以有多种,例如,可以直接输出目标匹配结果等等,具体可以根据实际需求进行设置。其中,输出该目标匹配结果之后,还包括:监听匹配结果队列;根据监听结果将待匹配虚拟对象的匹配结果推送给终端,其中,所述终端用于发起对象匹配请求,所述对象匹配请求包括待匹配虚拟对象的属性数据。例如,在一些实施例中,当处于游戏的场景时,虚拟对象为游戏角色“a”,匹配结果队列为匹配成功队列,当“a”的匹配结果为匹配成功时,则根据该匹配结果将“a”添加至匹配成功队列,当监听到“a”加入该匹配成功队列时,将“a”的匹配成功的消息推送到终端,其中该终端用于触发发送游戏角色匹配请求,该游戏角色匹配请求包括了游戏角色的属性数据。其中,输出该目标匹配结果之后,为了提高匹配的效果,还包括:将该目标匹配结果存储至区块链中。其中,区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监控等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营监控模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、监控网络情况、监控节点设备健康状态等。平台产品服务层提供典型应用的基本能力和实现框架,开发人员可以基于这些基本能力,叠加业务的特性,完成业务逻辑的区块链实现。应用服务层提供基于区块链方案的应用服务给业务参与方进行使用。由上可知,本申请实施例可以获取待匹配虚拟对象的属性数据;根据该属性数据将该待匹配虚拟对象添加至对象队列,该对象队列中虚拟对象按照属性数据进行排列;从该对象队列中选取虚拟对象作为匹配参考对象;根据该匹配参考对象的属性数据,构建该待匹配虚拟对象的属性匹配条件;基于该对象队列中虚拟对象的排列顺序,从该对象队列中确定满足该属性匹配条件的虚拟对象,得到该待匹配虚拟对象的目标匹配结果;输出该目标匹配结果。由于本方案可以基于队列中虚拟对象的排列顺序进行匹配,有效地减少了匹配所需时间,进而有效地提高了匹配的效率。以上是以对象匹配装置为例来介绍本申请实施例的方法。根据以上实施例所描述的方法,以下将该对象匹配装置具体集成于服务器中,且该服务器具体为服务器为例作进一步详细说明。如图3所示,提供了一种对象匹配方法,具体流程可以如下:201、服务器获取待匹配虚拟对象的属性数据。其中,服务器获取待匹配虚拟对象的属性数据的方式可以有多种,在一些实施例中,服务器可以接收终端发送的对象匹配请求,根据该对象匹配请求获取待匹配虚拟对象的属性数据,其中,该终端可以包括运行虚拟对象的客户端。其中,触发终端发送对象匹配请求的方式可以有多种,例如,在一些实施例中,当处于游戏的场景时,游戏用户需要参与多人对战游戏,则通过对终端进行操作触发发送对象匹配请求,具体可以根据实际需求进行设置。例如,当处于游戏的场景时,该虚拟对象为游戏角色“player1”,游戏玩家在终端上的游戏客户端触发发送该游戏角色的匹配请求,当服务器接收到游戏角色“player1”的匹配请求时,根据该匹配请求获取“player1”的属性数据,即“player1”的游戏等级为“2”级,游戏积分为“6”分。又例如,当处于社交软件的场景时,该虚拟对象为虚拟女性角色“laila”,用户在终端上的社交软件上触发发送该虚拟角色的匹配请求,当服务器接收到“laila”的匹配请求时,根据该匹配请求获取“laila”的属性数据,即“laila”的年龄为“26”岁,身高为“175”厘米。202、服务器根据该属性数据将该待匹配虚拟对象添加至对象队列,该对象队列中虚拟对象按照属性数据进行排列。例如,当处于游戏的场景时,该虚拟对象可以为游戏角色“player1”,“player1”的游戏等级为“2”级,游戏积分为“6”分。服务器在获取到“player1”的属性数据后,从游戏匹配控制平台获取对象队列集合,该对象队列集合根据开发人员设置的预设属性数据的数据类型建立,其中,该预设属性数据的数据类型包括游戏等级、游戏积分,则相应的对象队列集合包括等级倒排索引队列和积分倒排索引队列,然后,根据“player1”的属性数据确定所要添加进的队列后,根据“player1”的游戏等级为“2”级,“player1”的游戏积分为“6”分构建“player1”对应的等级键值对与积分键值对,然后将该等级键值对与积分键值对分别添加至对应的等级倒排索引队列和积分倒排索引队列中,其中,等级倒排索引队列中根据等级进行排列,积分倒排索引队列中根据积分进行排列。又例如,当处于社交软件的场景时,虚拟女性角色“laila”的年龄为“26”岁,身高为“175”厘米,服务器在获取到“laila”的属性数据后,从角色匹配控制平台获取对象队列集合,该对象队列集合根据开发人员设置的预设属性数据的数据类型建立,相应的对象队列集合包括年龄倒排索引队列和身高倒排索引队列,然后,根据“laila”的属性数据确定所要添加进的队列后,根据“laila”的年龄为“26”岁,“laila”的身高为“175”厘米这两个属性数据构建“laila”对应的年龄键值对与身高键值对,然后将该年龄键值对与身高键值对分别添加至对应的年龄倒排索引队列和身高倒排索引队列中,其中,年龄倒排索引队列中根据年龄进行排列,身高倒排索引队列中根据身高进行排列。203、服务器从该对象队列中选取虚拟对象作为匹配参考对象。例如,当处于游戏的场景时,该虚拟对象可以为游戏角色“player1”,“player1”的游戏等级为“2”级,“player1”的游戏积分为“6”分,并且以键值对的形式分别添加至对应的等级倒排索引队列和积分倒排索引队列中。当进行游戏等级的匹配时,可以从等级倒排索引队列中选取队列的第一个游戏角色“player0”作为匹配参考对象;当进行游戏积分的匹配时,可以从积分倒排索引队列中选取队列的第一个游戏角色“player0”作为匹配参考对象。又例如,当处于社交软件的场景时,虚拟女性角色“laila”的年龄为“26”岁,身高为“175”厘米,并且以键值对的形式分别添加至对应的年龄倒排索引队列和身高倒排索引队列中。当进行年龄匹配时,可以从年龄倒排索引队列中选取队列的第一个角色“david”作为匹配参考对象;当进行身高匹配时,可以从身高倒排索引队列中选取队列的第一个角色“peter”作为匹配参考对象。204、服务器根据该匹配参考对象的属性数据,构建该待匹配虚拟对象的属性匹配条件。例如,当处于游戏的场景时,待匹配游戏角色为“player1”,相应的,等级倒排索引队列中包括游戏角色“player0”、“player1”、“player2”,对应的等级为“3”,“6”,“7”,其中“player0”为匹配参考对象;相应的,积分倒排索引队列中包括游戏角色“player0”、“player1”、“player2”,对应的积分为“5”、“6”“9”,其中“player0”为匹配参考对象;然后,服务器从游戏匹配控制平台中获取到等级数据类型对应的范围构建方式为分段算法,该分段算法对应的数值处理规则为选取匹配参考对象的属性数值所在的分段区间作为属性匹配范围,对应的分段区间为“[1,6]”、“[8,11]”;积分数据类型对应的范围构建方式为误差算法,该误差算法对应的数值处理规则为对于正在进行匹配的对象,属性数据的差值不能大于所配置的误差值,对应的误差值为“1”;然后,根据以上算法对匹配参考对象“player0”的属性数据等级为“3”、积分为“5”进行处理,可以得到等级匹配范围为“[1,6]”,积分匹配范围为“[4,6]”。又例如,当处于社交软件的场景时,待匹配虚拟角色为“laila”,相应的,年龄倒排索引队列中包括虚拟角色“david”、“laila”、“peter”,对应的年龄分别为“24”岁,“26”岁,“30”岁,其中“david”为匹配参考对象;相应的,身高倒排索引队列中包括“peter”、“laila”、“david”,对应的身高分别为“174”厘米,“175”厘米,“185”厘米,其中,“peter”为匹配参考对象;然后,服务器从角色匹配控制平台中获取到年龄对应的范围构建方式为分段算法,该分段算法对应的数值处理规则为选取匹配参考对象的属性数值所在的分段区间作为属性匹配范围,对应的分段区间为“[24,30]”、“[35,40]”;身高对应的范围构建方式为误差算法,该误差算法对应的数值处理规则为对于正在进行匹配的对象,属性数据的差值不能大于所配置的误差值,对应的误差值为“10”;然后,根据以上算法对匹配参考对象“david”、“peter”的属性数据分别进行处理,可以得到年龄匹配范围为“[24,30]”,身高匹配范围为“[164,184]”。205、服务器基于该对象队列中虚拟对象的排列顺序,从该对象队列中确定满足该属性匹配条件的虚拟对象,得到该待匹配虚拟对象的目标匹配结果。例如,当处于游戏的场景时,基于等级倒排索引队列和积分倒排索引队列中游戏角色的排列顺序,根据跳表的方式为该两个队列增加多层索引,并根据等级匹配范围为“[1,6]”,积分匹配范围为“[4,6]”分别在这两个队列中确定所要查找的索引部分,并在相应的索引部分中查找等级在“[1,6]”内以及积分在“[4,6]”内的游戏角色,则可以查找到“player0”、“player1”符合等级匹配条件和积分匹配条件,其中,“player0”为待匹配游戏角色,则可以得到“player0”的匹配结果为匹配成功;然后,在一些实施例中,可以将“player0”、“player1”添加至匹配成功队列,在添加至匹配成功队列之后,服务器从游戏匹配控制平台中获取到开发人员预先设置的游戏模式为“1v1”,即需要两个游戏角色,则从该匹配成功队列中取出“player0”、“player1”。又例如,当处于社交软件的场景时,基于年龄倒排索引队列和身高倒排索引队列中虚拟角色的排列顺序,根据跳表的方式为该两个队列增加多层索引,并根据年龄匹配范围为“[24,30]”,身高匹配范围为“[164,184]”分别在这两个队列中进行查找,则可以发现,在年龄倒排索引队列中,“david”、“laila”、“peter”符合年龄匹配范围;在身高倒排索引队列中,“peter”、“laila”符合身高匹配范围;则对这两个结果作交集,可以得到“peter”、“laila”同时符合年龄、身高匹配条件,其中,“laila”为待匹配虚拟角色,则可以得到“laila”的匹配结果为匹配成功;然后,则可以根据匹配结果可以将“peter”、“laila”添加至匹配成功队列,服务器从角色匹配控制平台中获取到运营人员预先设置的匹配模式为“一对一交友模式”,即需要两个虚拟角色,则从该匹配成功队列中取出“peter”、“laila”。206、服务器输出该目标匹配结果。例如,当处于游戏的场景时,“player0”、“player1”均根据匹配结果添加至匹配成功队列中,当服务器监听到“player0”、“player1”加入至匹配成功队列并且符合匹配模式时,则向“player0”、“player1”所对应的终端推送匹配成功的消息,其中,“player0”、“player1”所对应的终端用于触发发送“player0”和“player1”的游戏角色匹配请求。又例如,当处于社交软件的场景时,“peter”、“laila”均根据匹配结果添加至匹配成功队列中,当服务器监听到“peter”、“laila”加入至匹配成功队列并且符合匹配模式时,就向“peter”、“laila”所对应的终端推送匹配成功的消息。可选的,在一些实施例中,服务器输出该目标匹配结果之后,还可以将该目标匹配结果储存至区块链中。例如,当处于社交软件的场景时,服务器在输出该“laila”匹配成功的结果后,可以将该匹配成功的结果储存至区块链中。由上可知,在本申请实施例中,服务器可以获取待匹配虚拟对象的属性数据;然后,服务器根据该属性数据将该待匹配虚拟对象添加至对象队列,该对象队列中虚拟对象按照属性数据进行排列;服务器再从该对象队列中选取虚拟对象作为匹配参考对象;然后,服务器再根据该匹配参考对象的属性数据,构建该待匹配虚拟对象的属性匹配条件;服务器再基于该对象队列中虚拟对象的排列顺序,从该对象队列中确定满足该属性匹配条件的虚拟对象,得到该待匹配虚拟对象的目标匹配结果;服务器输出该目标匹配结果。由于本方案中服务器可以基于队列中虚拟对象的排列顺序进行匹配,有效地减少了匹配所需时间,进而有效地提高了匹配的效率。根据以上实施例所描述的方法,以下将以该对象匹配装置在对象匹配控制系统中的应用为例对本方法进行介绍。该系统的系统架构如图4所示,该对象匹配控制系统包括逻辑层与存储层,其中逻辑层包括控制台、匹配接入层(matchcgi)、匹配引擎(matchmaking)与匹配结果(matchresult)四个模块;其中存储层包括匹配规则、匹配小区域(accessregion)、匹配大区域(bigregion)、匹配成功队列和匹配超时队列等模块,该存储层采用mysql(一种关系型数据库管理系统)与redis(remotedictionaryserver,一种存储系统)进行实现,在该层中匹配规则存储于mysql,并加载到redis;该匹配区域包括匹配访问区域和匹配大区,该匹配区域中的匹配节点、倒排索引队列采用redis实现。其中,本系统的业务流程如图5所示,该系统可以包括以下模块:(1)匹配控制台该匹配控制台即匹配的管理端,该控制台用于供开发人员配置匹配规则,例如,在一些实施例中,游戏开发人员可以在该管理端为游戏设置匹配规则,并下发到匹配服务器上,如图5中的步骤1、2所示。其中,该控制台配置匹配规则的方式可以有多种,在一些实施例中,为了方便管理,可以通过系统配置页面进行配置匹配规则,例如,当处于游戏的场景时,如图6所示,该系统配置页面可以为游戏角色匹配系统配置页面,该页面可以包括“游戏概览”按钮,“房间管理”的下拉选项,在该下拉选项中可以包括“在线匹配”按钮,“匹配规则集”按钮,通过开发人员对“匹配规则集”按钮的触发,可以显示规则集配置页面,该规则集配置页面可以包括规则集的详情、规则配置控件,开发人员可以通过针对该规则配置控件的输入操作进行设置匹配规则。在一些实施例中,为了提高开发人员的效率,该系统页面中还可以包括预设规则控件,通过开发人员针对该预设规则控件的操作,可以在规则配置控件中输入预先设置好的匹配规则,开发人员可以根据实际应用的需求进行操作设置匹配规则。由于可以使用匹配控制台来对配置匹配规则,运营人员可以根据实际情况调整匹配规则,从而能够有效地提高匹配的准确性,进而提高用户的匹配体验。其中,该匹配规则可以有多种表现形式,例如,该匹配规则可以为配置文件的形式,如图7所示,该配置文件可以包括规则版本(version),属性信息(playerattributes),队伍信息(teams),匹配算法(rules),超时时间(timeout)等等配置内容,其中,该配置文件可以有多种格式,例如,可以为json(javascriptobjectnotation,javascript对象表示法)格式、xml(extensiblemarkuplanguage,可扩展标记语言)格式等,具体可以根据实际需求设定。在一些实施例中,该配置文件中属性信息可以包括属性(name)与属性数据类型(type),其中,该属性用于指示待匹配对象的特征信息,在该配置文件中该属性可以有多种表现形式,例如,可以为string(字符串)数据类型,该属性数据类型也可以有多种表现形式,例如,可以为number(数)数据类型,具体可以根据实际需求进行设置。在一些实施例中,该配置文件中队伍信息用于定义匹配时的模式,例如,一对一的模式,等等。该队伍信息可以包括队伍类型(teamname),队伍最大人数(maxplayers),队伍最小人数(minplayers)与队伍个数(number);其中,在该配置文件中该队伍类型可以有多种表现形式,例如,可以由英文数字下划线组成,最大长度为20;为了保持该系统的稳定运行,该队伍最大人数与队伍最小人数之间可以满足以下关系:①队伍最小人数小于或等于队伍最大人数;②队伍个数与队伍最大人数的乘积小于或等于预设人员总数。在一些实施例中,该配置文件中的匹配算法可以包括匹配算法类型(type),属性表达式(expression),匹配算法值(value),超时设置(waittimesteps);其中,该匹配算法类型用于指示在匹配时所需使用的算法,例如,该匹配算法可以包括分段算法,也可以包括误差算法;其中,该属性表达式可以为指示匹配时所要处理的属性数据的数据类型,在一些实施例中,该属性表达式可以转化成数组;其中,该匹配算法值可以根据匹配算法类型的不同而不同,例如,当匹配算法为误差算法时,该值表示误差值,当匹配算法为分段算法时,该值表示分段区间数组;其中,该超时设置用于等待时间超时后重新制定匹配算法值,可以包括等待时长(waittimeseconds)和超时匹配算法值(value),例如,在一些实施例中,当匹配时长大于等待时长时,则可以使用超时匹配算法值替换掉原匹配算法值。例如,该匹配规则可以为配置文件的形式,该配置文件具体可以是json的格式,具体可以包括:具体的配置文件可以根据实际需求设置;由于可以使用配置文件的形式来对匹配规则等等进行设置,而配置文件比较直观,有利于运营人员能够根据实际情况进行调整匹配规则,可以有效地提高匹配的准确度。(2)匹配接入层:匹配接入层负责接收对象匹配请求,例如,在一些实施例中,可以接收游戏客户端的匹配请求,并根据游戏匹配规则,将游戏玩家所操作的角色和角色属性数据以键值对(key-value)的形式添加至对应属性的倒排索引队列中,如图5中的步骤3、4所示,在图5的步骤3中,玩家a和玩家b分别请求了提交了角色匹配请求,角色的属性包括积分和等级,相应的,积分属性数据分别为“6”、“7”和等级属性数据分别为“2”、“5”,然后根据属性数据构建对应的属性键值对,如在图5的步骤4中,匹配接入层根据匹配规则,分别把玩家a的游戏角色“a”的积分键值对和玩家b的游戏角色“b”的积分键值对添加至积分倒排索引队列,将玩家a的游戏角色“a”的等级键值对和玩家b的游戏角色“b”的等级键值对添加至等级倒排索引队列,添加后的倒排索引队列如图8所示。以处于游戏的场景时为例,该匹配接入层接收到三个用户触发终端发送的玩家角色匹配请求,分别为“playera”、“playerb”、“playerc”,角色的属性数据如下表所示:玩家角色积分等级playera62playerb75playerc102则相应的,匹配接入层可以为玩家角色建立积分倒排索引队列和等级倒排索引队列,如图9所示。(3)匹配引擎匹配引擎用于对每个对象进行匹配,具体包括:从匹配队列中取出一个对象,并依据匹配规则计算出该对象的属性匹配范围,根据属性匹配范围从相应的属性队列中检索满足属性匹配范围的对象,得到匹配结果。例如,在一些实施例中,该匹配引擎取出游戏角色“playera”,“playera”的积分为“6”,等级为“2”,则根据积分的匹配规则得到积分的匹配算法为分段算法,该分段区间包括“[1,10]”和“[11,20]”时,可以得到“playera”的积分匹配区间为“[1,10]”;根据等级的匹配规则得到等级的匹配算法为误差算法,且误差值为0时,可以得到的“playera”等级匹配区间为“[2,2]”,然后,该匹配引擎可以根据跳表的方式从积分和等级的倒排索引队列中进行检索,得到检索结果:积分检索结果为“playera”、“playerb”、“playerc”,等级检索结果为“playera”、“playerc”。对上述检索结果取交集,即可以得到“playera”的匹配结果为:“playera”、“playerc”,所以匹配引擎可以得出“playera”和“playerc”是可匹配的,“playera”的匹配结果为匹配成功。然后,将“playera”和“playerc”从积分索引队列和等级索引队列移出,添加至匹配成功队列中。(4)匹配结果广播该匹配结果广播模块可以为一个推送(push)模块,该推送模块是匹配成功队列的消费者,负责监听队列并将匹配结果推送给终端。以处于游戏的场景时为例,在该游戏匹配控制系统中,开发人员在逻辑层的控制台中进行匹配规则的管理,即配置游戏角色匹配规则,并将该匹配规则存至存储层。当用户在终端上通过游戏客户端的软件开发包(sdk,softwaredevelopmentkit)发起对象匹配请求时,匹配接入层接收客户端的对象匹配请求,并根据匹配规则将角色和角色的属性数据作为键值对(key-value)添加至小区域(accessregion)中相应的倒排索引中,譬如,添加至小区域的倒排索引-等级,倒排索引-积分中,若小区匹配超时,则通过小区域匹配节点将该待匹配角色的键值对添加至大区域(bigregion)中相应的倒排索引序列,然后,匹配引擎通过对相应区域中的倒排索引队列取出一个游戏角色,并依据匹配规则计算出该游戏角色的属性匹配范围,根据属性匹配范围从相应的倒排索引队列中检索满足属性匹配范围的游戏角色,得到匹配结果,若匹配结果为匹配成功,则将满足属性匹配范围的游戏角色添加至匹配成功队列中,若匹配超时,则将游戏角色添加至匹配超时队列中,之后,匹配结果模块监听队列,并将匹配结果推送给终端。例如,该系统的实际应用可以如图10所示,开发人员在系统上设置好匹配模式(匹配code)为“1”,指示匹配规则可以包括匹配算法,该匹配算法为误差算法,误差值为0;然后,开发人员在配置栏中配置所要匹配的属性,即设置属性1(skill1)为等级(level),等级的属性数据为“1”,设置属性2(skill2)为积分,积分的属性数据为“2”,然后通过该系统在发起匹配请求的用户中查找等级为“1”,积分为“2”的用户,并进行匹配。当匹配成功时,如图11所示,将匹配成功的用户加入至相应的房间中,该房间可以用于用户进行社交活动。该房间的显示界面可以包括“发送房间信息”的按钮,用户可以通过对“消息内容”、“玩家列表”、“接收者类型”输入栏的操作,然后触发发送房间信息的按钮,从而实现与房间内的其他用户交流的功能;该房间的显示界面还可以包括“发送拓展消息”按钮,用于为用户提供发送拓展消息的功能,相应的,该房间的显示界面还可以包括“开始”、“取消准备”、“退出”的按钮,用于为用户提供在该房间内开始游戏、取消准备以及退出房间的功能,该房间的显示界面具体可以包括的按钮、可以实现的功能根据实际需求进行设置。由于使用了对象匹配控制系统来进行匹配,在匹配的过程中,该系统可以通过直观的页面对匹配规则进行配置,并且使用简单直观的配置文件形式来定义匹配规则,运营人员无需花费大量时间熟悉配置方式,可以有效地减少运营成本;并且该系统可以定义进行对象匹配时所需使用的属性,便于运营人员根据实际情况来调整属性,从而有效地提高匹配的精确度,进而有效地提高了用户的匹配体验;在匹配成功时,可以为匹配成功的用户创建房间,该房间可以为用户提供良好的社交途径,从而进一步提升用户的体验。为了便于更好的实施本申请实施例提供的对象匹配方法,在一些实施例中还提供了一种对象匹配装置,该对象匹配装置可以适用于服务器。其中名词的含义与上述对象匹配方法中相同,具体实现细节可以参考方法实施例中的说明。在一些实施例中,还提供了一种对象匹配装置,该对象匹配装置具体可以集成在服务器中,如图12所示,该对象匹配装置可以包括获取单元301,添加单元302,选取单元303,构建单元304,确定单元305和输出单元306,具体如下:获取单元301,用于获取待匹配虚拟对象的属性数据;添加单元302,用于根据该属性数据将该待匹配虚拟对象添加至对象队列,该对象队列中虚拟对象按照属性数据进行排列;选取单元303,用于从该对象队列中选取虚拟对象作为匹配参考对象;构建单元304,用于根据该匹配参考对象的属性数据,构建该待匹配虚拟对象的属性匹配条件;确定单元305,用于基于该对象队列中虚拟对象的排列顺序,从该对象队列中确定满足该属性匹配条件的虚拟对象,得到该待匹配虚拟对象的目标匹配结果;输出单元306,用于输出该目标匹配结果。可选的,在一些实施例中,如图13所示,该添加单元302包括队列确定子单元3021和添加子单元3022;该队列确定子单元3021,用于根据该属性数据的数据类型,从对象队列集合中确定该数据类型所对应的对象队列,其中,该对象队列集合包括多个数据类型对应的候选对象队列;该添加子单元3022,用于根据该属性数据将该待匹配虚拟对象添加至该对象队列。可选的,在一些实施例中,该添加子单元具体可以用于:根据该属性数据构建该待匹配虚拟对象对应的属性键值对;根据该属性键值对将该待匹配虚拟对象添加至该对象队列。可选的,在一些实施例中,如图14所示,该构建单元304包括方式获取子单元3041、数据处理子单元3042和构建子单元3043;该方式获取子单元3041,用于根据该匹配参考对象的属性数据的目标数据类型,获取该目标数据类型所对应的目标范围构建方式;该数据处理子单元3042,用于基于该目标范围构建方式对该匹配参考对象的属性数据进行处理,得到该待匹配虚拟对象的属性匹配范围;该构建子单元3043,用于根据该属性匹配范围构建该待匹配虚拟对象的属性匹配条件。可选的,在一些实施例中,属性数据包括属性数值,该数据处理子单元3042具体可以用于:获取该目标范围构建方式对应的数值处理规则,以及数值处理规则对应的参考属性数值;根据该数值处理规则和该参考属性数值,对该匹配参考对象的属性数值进行数值处理,得到该待匹配虚拟对象的属性匹配范围。可选的,在一些实施例中,如图15所示,该确定单元305包括划分子单元3051、对象确定子单元3052和结果确定子单元3053;该划分子单元3051,用于基于该对象队列中虚拟对象的属性数据的排列顺序,将该对象队列中的虚拟对象划分为多个候选查找对象组;该对象确定子单元3052,用于根据该属性匹配条件在该候选查找对象组中确定目标查找对象组;该结果确定子单元3053,用于从该目标查找对象组中确定满足该属性匹配条件的虚拟对象,得到该待匹配虚拟对象的目标匹配结果。可选的,在一些实施例中,如图16所示,该结果确定子单元3053包括查找模块30531和结果模块30532,该查找模块30531,用于在该目标查找对象组中查找属性数据满足该属性匹配范围的虚拟对象;该结果模块30532,用于基于该属性数据满足该属性匹配范围的虚拟对象,得到该待匹配虚拟对象的目标匹配结果。可选的,在一些实施例中,如图17所示,该确定单元305还包括队列确定子单元3054和队列添加子单元3055;该队列确定子单元3054,用于根据该目标匹配结果确定匹配结果队列,该匹配结果队列包括匹配结果和目标匹配结果相同的虚拟对象;该队列添加子单元3055,用于将该待匹配虚拟对象添加至该匹配结果队列。可选的,在一些实施例中,如图18所示,该输出单元306还包括存储子单元3061;该存储子单元3061,用于将该目标匹配结果存储至区块链中。由上可知,本申请实施例的对象匹配装置可以通过获取单元301获取待匹配虚拟对象的属性数据;然后,添加单元302根据该属性数据将该待匹配虚拟对象添加至对象队列,该对象队列中虚拟对象按照属性数据进行排列;之后,选取单元303从该对象队列中选取虚拟对象作为匹配参考对象;然后,构建单元304根据该匹配参考对象的属性数据,构建该待匹配虚拟对象的属性匹配条件;确定单元305基于该对象队列中虚拟对象的排列顺序,从该对象队列中确定满足该属性匹配条件的虚拟对象,得到该待匹配虚拟对象的目标匹配结果;输出单元306输出该目标匹配结果。由于本方案中的对象匹配装置可以基于队列中虚拟对象的排列顺序进行匹配,有效地减少了匹配所需时间,进而有效地提高了匹配的效率。此外,本申请实施例还提供一种计算机设备,如图19所示,其示出了本申请实施例所涉及的计算机设备的结构示意图,具体来讲:该计算机设备可以包括一个或者一个以上处理核心的处理器401、一个或一个以上计算机可读存储介质的存储器402、电源403和输入单元404等部件。本领域技术人员可以理解,图中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:处理器401是该计算机设备的控制中心,利用各种接口和线路连接整个计算机设备的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行计算机设备的各种功能和处理数据,从而对计算机设备进行整体监控。可选的,处理器401可包括一个或多个处理核心;优选的,处理器401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器401中。存储器402可用于存储软件程序以及模块,处理器401通过运行存储在存储器402的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包括存储器控制器,以提供处理器401对存储器402的访问。计算机设备还包括给各个部件供电的电源403,优选的,电源403可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源403还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。该计算机设备还可包括输入单元404,该输入单元404可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。尽管未示出,计算机设备还可以包括显示单元等,在此不再赘述。具体在本实施例中计算机设备中的处理器401会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现各种功能,如下:获取待匹配虚拟对象的属性数据;根据所述属性数据将所述待匹配虚拟对象添加至对象队列,所述对象队列中虚拟对象按照属性数据进行排列;从所述对象队列中选取虚拟对象作为匹配参考对象;根据所述匹配参考对象的属性数据,构建所述待匹配虚拟对象的属性匹配条件;基于所述对象队列中虚拟对象的排列顺序,从所述对象队列中确定满足所述属性匹配条件的虚拟对象,得到所述待匹配虚拟对象的目标匹配结果;输出所述目标匹配结果。以上各个操作的具体实施可参见前面的实施例,在此不再赘述。本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于计算机可读存储介质中,并由处理器进行加载和执行。为此,本申请实施例还提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本申请实施例所提供的任一种对象匹配方法中的步骤。例如,该指令可以执行如下步骤:获取待匹配虚拟对象的属性数据;根据所述属性数据将所述待匹配虚拟对象添加至对象队列,所述对象队列中虚拟对象按照属性数据进行排列;从所述对象队列中选取虚拟对象作为匹配参考对象;根据所述匹配参考对象的属性数据,构建所述待匹配虚拟对象的属性匹配条件;基于所述对象队列中虚拟对象的排列顺序,从所述对象队列中确定满足所述属性匹配条件的虚拟对象,得到所述待匹配虚拟对象的目标匹配结果;输出所述目标匹配结果。以上各个操作的具体实施可参见前面的实施例,在此不再赘述。其中,该存储介质可以包括:只读存储器(rom,readonlymemory)、随机存取记忆体(ram,randomaccessmemory)、磁盘或光盘等。由于该计算机可读存储介质中所存储的指令,可以执行本申请实施例所提供的任一种对象匹配方法中的步骤,因此,可以实现本申请实施例所提供的任一种对象匹配方法所能实现的有益效果,详见前面的实施例,在此不再赘述。以上对本申请实施例所提供的一种对象匹配方法、装置和计算机可读存储介质以及计算机设备进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1