CN113289347B - 虚拟场景的账号匹配方法、装置、电子设备及存储介质 - Google Patents

虚拟场景的账号匹配方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN113289347B
CN113289347B CN202110658792.1A CN202110658792A CN113289347B CN 113289347 B CN113289347 B CN 113289347B CN 202110658792 A CN202110658792 A CN 202110658792A CN 113289347 B CN113289347 B CN 113289347B
Authority
CN
China
Prior art keywords
matching
component
account
pool
components
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
Application number
CN202110658792.1A
Other languages
English (en)
Other versions
CN113289347A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202110658792.1A priority Critical patent/CN113289347B/zh
Publication of CN113289347A publication Critical patent/CN113289347A/zh
Application granted granted Critical
Publication of CN113289347B publication Critical patent/CN113289347B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/79Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • General Business, Economics & Management (AREA)
  • Human Computer Interaction (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请提供了一种虚拟场景的账号匹配方法、装置、电子设备及计算机可读存储介质;方法包括:获取虚拟场景的待匹配账号;在多个不同的匹配池中确定对应所述待匹配账号的目标匹配池,其中,每个所述匹配池包括多个候选账号和多个匹配组件;通过依次执行所述目标匹配池中的多个匹配组件,将所述待匹配账号与所述目标匹配池包括的多个候选账号进行匹配处理,得到至少一个目标账号;控制所述待匹配账号对应的虚拟对象和所述至少一个目标账号对应的虚拟对象加入所述虚拟场景。通过本申请,能够提高虚拟场景的账号的匹配效率。

Description

虚拟场景的账号匹配方法、装置、电子设备及存储介质
技术领域
本申请涉及计算机技术,尤其涉及一种虚拟场景的账号匹配方法、装置、电子设备及计算机可读存储介质。
背景技术
基于图形处理硬件的虚拟场景的人机交互技术,能够根据实际应用需求实现受控于用户或人工智能的虚拟对象之间的多样化的交互,能够广泛的实用价值。例如在游戏等的虚拟场景中,能够模拟虚拟对象之间的真实的对战过程。
虚拟场景的账号对应的虚拟对象在加入虚拟场景之前通常需要按照一定的规则进行匹配,例如,将等级相近的账号匹配在同一虚拟场景中进行对战,从而能够保证用户的交互体验。相关技术通常是基于外部服务提供的整体性的通用匹配流程去实现账号的匹配过程,但是这种方式无法根据业务的需求及时调整响应的策略和方案,并且调整响应的策略和方案的难度较大,从而导致账号的匹配效率较低。对此,相关技术尚无有效解决方案。
发明内容
本申请实施例提供一种虚拟场景的账号匹配方法、装置、电子设备及计算机可读存储介质,能够提高虚拟场景的账号的匹配效率。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种虚拟场景的账号匹配方法,包括:
获取虚拟场景的待匹配账号;
在多个不同的匹配池中确定对应所述待匹配账号的目标匹配池,其中,每个所述匹配池包括多个候选账号和多个匹配组件;
通过依次执行所述目标匹配池中的多个匹配组件,将所述待匹配账号与所述目标匹配池包括的多个候选账号进行匹配处理,得到至少一个目标账号;
控制所述待匹配账号对应的虚拟对象和所述至少一个目标账号对应的虚拟对象加入所述虚拟场景。
本申请实施例提供一种虚拟场景的账号匹配装置,包括:
获取模块,用于获取虚拟场景的待匹配账号;
确定模块,用于在多个不同的匹配池中确定对应所述待匹配账号的目标匹配池,其中,每个所述匹配池包括多个候选账号和多个匹配组件;
匹配模块,用于通过依次执行所述目标匹配池中的多个匹配组件,将所述待匹配账号与所述目标匹配池包括的多个候选账号进行匹配处理,得到至少一个目标账号;
控制模块,用于控制所述待匹配账号对应的虚拟对象和所述至少一个目标账号对应的虚拟对象加入所述虚拟场景。
在上述方案中,所述确定模块,还用于确定所述待匹配账号的属性信息,其中,所述属性信息包括以下至少之一:账号等级、账号所在的区域、账号的历史成绩;在所述多个不同的匹配池中,选取与所述待匹配账号的属性信息相匹配的匹配池作为所述目标匹配池。
在上述方案中,所述确定模块,还用于响应于所述待匹配账号提交的模式选择操作,确定被选择的匹配模式;在所述多个不同的匹配池中,选取对应所述匹配模式的匹配池作为所述目标匹配池。
在上述方案中,当所述目标匹配池中的所述多个匹配组件的类型均为动作组件时,所述匹配模块,还用于确定所述目标匹配池中每个所述动作组件的执行优先级;调用最高执行优先级的动作组件,对所述待匹配账号与所述多个候选账号进行匹配处理,并将匹配处理结果传递至下一个执行优先级的动作组件,以使所述下一个执行优先级的动作组件对所述匹配处理结果进行匹配处理,直至最低执行优先级的动作组件对上一个执行优先级的动作组件传递的匹配处理结果进行处理后结束,得到至少一个目标账号。
在上述方案中,当所述目标匹配池中的所述多个匹配组件包括至少一个规则组件和至少一个动作组件时,所述匹配模块,还用于确定每个所述规则组件对应的动作组件,并将每个所述规则组件与对应的动作组件进行融合处理,得到融合组件;将所述目标匹配池中的所述动作组件替换为融合有所述动作组件的融合组件,并基于替换后的融合组件将所述待匹配账号与所述目标匹配池包括的多个候选账号进行匹配处理,得到至少一个目标账号。
在上述方案中,所述匹配模块,还用于当所述目标匹配池中的所述多个匹配组件包括多个动作组件和至少一个规则组件时,确定所述目标匹配池中的多个组件的执行优先级,其中,所述多个组件包括未被替换的所述动作组件、以及替换后的所述融合组件,所述融合组件的执行优先级与融合前对应的动作组件的执行优先级相同;调用最高执行优先级的组件,对所述待匹配账号与所述多个候选账号进行匹配处理,并将匹配处理结果传递至下一个执行优先级的组件,以使所述下一个执行优先级的组件对所述匹配处理结果进行匹配处理,直至最低执行优先级的组件对上一个执行优先级的组件传递的匹配处理结果进行处理后结束,得到至少一个目标账号。
在上述方案中,所述匹配模块,还用于当所述目标匹配池中的所述多个匹配组件包括一个动作组件和至少一个规则组件时,调用对应所述动作组件的融合组件,对所述待匹配账号与所述目标匹配池包括的多个候选账号进行匹配处理,得到至少一个目标账号。
在上述方案中,多个所述匹配池的组件配置信息存储于匹配池配置列表中;所述虚拟场景的账号匹配装置还包括:显示模块,用于在人机交互界面中显示匹配池配置列表界面,其中,所述匹配池配置列表界面包括所述匹配池配置列表;响应于在所述匹配池配置列表界面中接收的匹配池新增操作,在所述匹配池配置列表中显示所述匹配池新增操作提交的组件配置信息,其中,所述组件配置信息中包括多个待配置的匹配组件的标识信息;响应于在所述匹配池配置列表界面中接收的确认操作,选取与所述多个待配置的匹配组件的标识信息一一对应的多个待配置的匹配组件,并根据所述多个待配置的匹配组件创建新的匹配池。
在上述方案中,所述显示模块,还用于针对每个所述待配置的匹配组件的标识信息执行以下处理:从所述待配置的匹配组件的标识信息中提取对应的枚举值;通过组件管理器在匹配组件库中选取与所述枚举值相匹配的匹配组件,以作为待配置的匹配组件。
在上述方案中,所述显示模块,还用于响应于在所述匹配池配置列表界面中接收的匹配池修改操作,在所述匹配池配置列表中显示所述匹配池修改操作提交的修改后的组件配置信息,其中,所述修改后的组件配置信息中包括至少一个待更新的匹配组件的标识信息;响应于在所述匹配池配置列表界面中接收的确认操作,选取与所述至少一个待更新的匹配组件的标识信息对应的至少一个待更新的匹配组件,并根据所述至少一个待更新的匹配组件对相应的匹配池进行更新。
在上述方案中,所述显示模块,还用于确定登录所述匹配池配置列表界面的账号的操作权限;当所述操作权限能够用于通过所述匹配池配置列表界面更新匹配池时,确定将执行在所述匹配池配置列表中显示所述匹配池修改操作提交的修改后的组件配置信息的操作。
在上述方案中,所述获取模块,还用于接收任意一个账号提交的匹配操作,并将提交所述匹配操作的账号确定为所述待匹配账号;或者,当检测到任意一个账号登录所述虚拟场景时,将登录所述虚拟场景的账号自动识别为所述待匹配账号。
本申请实施例提供一种电子设备,包括:
存储器,用于存储计算机可执行指令;
处理器,用于执行所述存储器中存储的计算机可执行指令时,实现本申请实施例提供的虚拟场景的账号匹配方法。
本申请实施例提供一种计算机可读存储介质,存储有计算机可执行指令,用于被处理器执行时,实现本申请实施例提供的虚拟场景的账号匹配方法。
本申请实施例具有以下有益效果:
在多个不同的匹配池中选择对应待匹配账号的目标匹配池,以便于后续在目标匹配池中的候选账号选择目标账号,相较于在所有匹配池中的候选账号中选择目标账号来说,能够提高账号匹配的准确性,降低账号匹配的计算量;并且将目标匹配池中的匹配流程拆分为多个匹配组件,并通过依次执行多个匹配组件在目标匹配池中的候选账号选择目标账号,极大提高了不同匹配流程时的工作效率,提高账号的匹配效率。
附图说明
图1是本申请实施例提供的虚拟场景的账号匹配系统100的架构示意图;
图2是本申请实施例提供的服务器200的结构示意图;
图3是本申请实施例提供的虚拟场景的账号匹配方法的流程示意图;
图4是本申请实施例提供的虚拟场景的账号匹配方法的应用场景示意图;
图5是本申请实施例提供的虚拟场景的账号匹配方法的流程示意图;
图6是本申请实施例提供的虚拟场景的账号匹配方法的流程示意图;
图7是本申请实施例提供的虚拟场景的账号匹配方法的流程示意图;
图8是本申请实施例提供的虚拟场景的账号匹配方法的流程示意图;
图9是本申请实施例提供的虚拟场景的账号匹配方法的流程示意图;
图10是本申请实施例提供的匹配服务的架构示意图;
图11是本申请实施例提供的组件基类代码实现的原理示意图;
图12是本申请实施例提供的组件工厂代码实现的原理示意图;
图13是本申请实施例提供的快速匹配动作组件的代码实现的原理示意图;
图14是本申请实施例提供的配置表中的枚举值和程序中的枚举值之间的关系示意图;
图15是本申请实施例提供的虚拟场景的账号匹配方法的流程示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一/第二”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一/第二”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
(1)响应于:用于表示所执行的操作所依赖的条件或者状态,当满足所依赖的条件或状态时,所执行的一个或多个操作可以是实时的,也可以具有设定的延迟;在没有特别说明的情况下,所执行的多个操作不存在执行先后顺序的限制。
(2)客户端:终端中运行的用于提供各种服务的应用程序,例如游戏客户端等。
(3)虚拟场景:应用程序在终端上运行时显示(或提供)的虚拟场景。该虚拟场景可以是对真实世界的仿真环境,也可以是半仿真半虚构的虚拟环境,还可以是纯虚构的虚拟环境。虚拟场景可以包括二维虚拟场景、2.5维虚拟场景或者三维虚拟场景中的任意一种,本申请实施例对虚拟场景的维度不加以限定。例如,虚拟场景可以包括天空、陆地、海洋等,该陆地可以包括沙漠、城市等环境元素,用户可以控制虚拟对象在该虚拟场景中进行移动。
(4)虚拟对象:虚拟场景中可以进行交互的各种人和物的形象,或在虚拟场景中的可活动对象。该可活动对象可以包括虚拟人物、虚拟动物、动漫人物等,例如,在虚拟场景中显示的人物、动物、植物、油桶、墙壁、石块等。该虚拟对象可以包括该虚拟场景中的一个虚拟的用于代表用户的虚拟形象。虚拟场景中可以包括多个虚拟对象,每个虚拟对象在虚拟场景中具有自身的形状和体积,占据虚拟场景中的一部分空间。
例如,该虚拟对象可以是通过客户端上的操作进行控制的用户角色,也可以是通过训练设置在虚拟场景对战中的人工智能(AI,Artificial Intelligence),还可以是设置在虚拟场景互动中的非用户角色(NPC,Non-Player Character)。例如,该虚拟对象可以是在虚拟场景中进行对抗式交互的虚拟人物。例如,该虚拟场景中参与互动的虚拟对象的数量可以是预先设置的,也可以是根据加入互动的客户端的数量动态确定的。
(5)场景数据:表示虚拟场景中的对象在交互过程中受所表现的各种特征,例如,可以包括对象在虚拟场景中的位置。当然,根据虚拟场景的类型可以包括不同类型的特征;例如,在游戏的虚拟场景中,场景数据可以包括虚拟场景中配置的各种功能时需要等待的时间(取决于在特定时间内能够使用同一功能的次数),还可以表示游戏角色的各种状态的属性值(或简称状态值),例如包括生命值(也称为红量)和魔法值(也称为蓝量)等。
(6)匹配服务:用于实现在多个账号中选择相互匹配的账号一起加入虚拟场景的服务,以游戏为例,游戏中包括账号A、账号B、账号C,游戏开一局仅支持两个账号匹配在一起参加游戏(可以是作为对手或队友参加游戏),此时,匹配服务可以在账号A、账号B、账号C中根据特定的匹配规则选择任意两个账号匹配在一起参加一局游戏。
(7)枚举值:通过预定义列出所有值的标识符来定义一个有序集合,这些值的次序和枚举类型说明中的标识符的次序是一致的。
(8)匹配池(Match Pool):将不同匹配规则的账号分配在不同的逻辑区中,只有一个逻辑区内的账号可以互相匹配在一起,这里的逻辑区就是匹配池。
(9)组件:用于封装某种特定的功能,包括动作组件和规则组件。动作组件用于封装一种匹配逻辑上的行动,例如,填充账号的匹配参数、按照账号的匹配参数进行匹配、为该场单局添加机器人,这类可以被抽象成一个动作的行动。规则组件用于封装一种匹配逻辑上的规则,通常依附于动作组件,例如,当动作组件是填充账号的匹配参数时,这里可以搭配的规则组件可以包括:将账号的等级设置为匹配参数、或者将账号的段位分设置为匹配参数。这就是两个规则组件,用于描述某个动作组件所需要依赖的规则。当然这里也可以通过2个不同的动作组件实现,例如,将账号的等级设置为匹配参数、以及将账号的段位分设置为匹配参数当作两种动作来处理。
针对虚拟场景的账号匹配过程,相关技术提供了可供接入的外部服务,例如GameLift FlexMatch等。上述的外部服务通常提供了一套通用的匹配服务,能够实现一些通用的基础匹配规则,业务方可以通过配置的方式设置不同的匹配参数,还可以通过自定义规则去自定义自己的匹配流程和逻辑。如果业务方只需要最通用最基础的匹配功能的话,可以直接接入外部服务,不需要花费人力去开发具体的匹配逻辑,只需要根据官方的指引接入服务并使用提供的回调接口将服务嵌入进自己的业务即可实现。但是接入外部服务存在许多隐患,因为对于业务方来说外部服务相当于黑盒子,出问题后无法获知问题的原因,这对于服务器来说是很难接受的,因为任何服务都有可能出现程序漏洞甚至崩溃,这种不信任和不安全的感觉是拒绝选择外部服务的一个重要因素。另外,如果选择接入外部服务,服务器的容灾和扩缩容都是依赖于外部服务实现的,相较于服务器来说不够灵活,在策略上也可能不够统一,无法根据业务的需求及时调整响应的策略和方案,从而导致稳定性较差。除此之外,虽然外部服务提供了自定义规则,业务方可以自定义一些匹配规则,但总体的匹配逻辑是已经实现的,对于业务方的独特匹配需求来说,外部服务的匹配效率较差。综上,接入外部服务存在不稳定的风险,而且匹配效率也较低。
另外业务方也可以选择不接入外部服务,选择自己实现匹配服务。这样开发者对于匹配服务可以具备更多的掌控权和理解,在定位程序漏洞时可以及时响应,不需要与第三方平台对接。服务器之间的通信更加统一便于管理,不需要额外接入外部服务的成本,实现特殊的新规则时更加的自由。然而,自己实现匹配服务意味着要付出相应的时间和人力成本,匹配的需求杂而易变,一个不好的匹配服务框架会导致开发效率低下,以及可能带来服务器代码难以维护的隐患,这变相提高了业务方的成本以及风险。
针对上述技术问题,本申请实施例提供一种虚拟场景的账号匹配方法,能够提高虚拟场景的账号的匹配效率。下面说明本申请实施例提供的虚拟场景的账号匹配方法的示例性应用,本申请实施例提供的虚拟场景的账号匹配方法可以由各种电子设备实施,例如,可以由服务器单独实施,还可以由终端和服务器协同实施。
接下来,以由终端和服务器协同实施为例说明本申请实施例,参见图1,图1是本申请实施例提供的虚拟场景的账号匹配系统100的架构示意图。其中,虚拟场景的账号匹配系统100包括有:服务器200、网络300、以及终端400,将分别进行说明。
服务器200,用于接收终端400发送的待匹配账号,并在多个不同的匹配池中确定对应待匹配账号的目标匹配池;还用于通过依次执行目标匹配池中的多个匹配组件,将待匹配账号与目标匹配池包括的多个候选账号进行匹配处理,得到至少一个目标账号;还用于控制待匹配账号对应的虚拟对象和至少一个目标账号对应的虚拟对象加入虚拟场景,并将对应的场景数据发送至终端400。
网络300,用于作为服务器200和终端400之间通信的媒介,可以是广域网或者局域网,又或者是二者的组合。
终端400,用于响应于用户的匹配操作,将提交匹配操作的账号确定为待匹配账号,并将待匹配账号发送至服务器200;还用于接收服务器200发送的场景数据,并根据场景数据在人机交互界面中显示待匹配账号对应的虚拟对象和至少一个目标账号对应的虚拟对象加入虚拟场景的画面。
以游戏应用场景为例,终端400中运行有游戏客户端,服务器200可以是游戏客户端的后台服务器。用户(或称玩家)可以通过游戏客户端登录自己的游戏账号,当用户触发游戏开始按钮时,终端400可以将用户登录的游戏账号发送至服务器200,服务器200根据游戏账号在目标匹配池中选择与游戏账号匹配的至少一个目标账号,并控制游戏账号对应的虚拟对象和至少一个目标账号对应的虚拟对象加入虚拟场景,并将对应的场景数据发送至终端400,终端400根据场景数据在游戏客户端中显示游戏账号对应的虚拟对象和至少一个目标账号对应的虚拟对象加入虚拟场景的游戏画面,从而能够实现游戏中虚拟对象的匹配过程。
本申请实施例可以借助于云技术(Cloud Technology)实现,云技术是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
云技术是基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、以及应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源。
作为示例,服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
接下来说明图1中的服务器200的结构。参见图2,图2是本申请实施例提供的服务器200的结构示意图,图2所示的服务器200包括:至少一个处理器210、存储器240和至少一个网络接口220。服务器200中的各个组件通过总线系统230耦合在一起。可理解,总线系统230用于实现这些组件之间的连接通信。总线系统230除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统230。
处理器210可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
存储器240包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Onl y Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的存储器240旨在包括任意适合类型的存储器。存储器440可选地包括在物理位置上远离处理器210的一个或多个存储设备。
在一些实施例中,存储器240能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统241,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;网络通信模块242,用于经由一个或多个(有线或无线)网络接口220到达其他计算设备,示例性的网络接口220包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,UniversalSerial Bus)等。
在一些实施例中,本申请实施例提供的虚拟场景的账号匹配装置可以采用软件方式实现,图2示出了存储在存储器240中的虚拟场景的账号匹配装置243,其可以是程序和插件等形式的软件,包括以下软件模块:获取模块2431、确定模块2432、匹配模块2433、以及控制模块2434。这些模块是可以是逻辑功能模块,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
下面,以由图2中的服务器200单独执行本申请实施例提供的虚拟场景的账号匹配方法为例说明。参见图3,图3是本申请实施例提供的虚拟场景的账号匹配方法的流程示意图,将结合图3示出的步骤进行说明。
在步骤S101中,获取虚拟场景的待匹配账号。
在一些实施例中,接收任意一个账号提交的匹配操作,并将提交匹配操作的账号确定为待匹配账号。
以游戏应用场景为例,终端中运行有游戏客户端,用户可以通过游戏客户端登录自己的游戏账号,当用户触发游戏开始按钮(即上述的匹配操作)时,终端将用户登录的游戏账号提交的匹配操作发送至服务器,服务器将用户登录的游戏账号确定为待匹配账号。
在一些实施例中,当检测到任意一个账号登录虚拟场景时,将登录虚拟场景的账号自动识别为待匹配账号。
以游戏应用场景为例,当用户在游戏客户端中登录虚拟场景时,将用户登录虚拟场景的游戏账号自动识别为待匹配账号,如此,无需用户提交匹配操作就能够自动识别待匹配账号,节约了终端的操作资源。
在步骤S102中,在多个不同的匹配池中确定对应待匹配账号的目标匹配池。
这里,每个匹配池包括多个候选账号和多个匹配组件,其中,匹配组件的类型包括动作组件、规则组件、融合组件。
在一些实施例中,确定待匹配账号的属性信息,其中,属性信息包括以下至少之一:账号等级、账号所在的区域(或称地图)、账号的历史成绩;在多个不同的匹配池中,选取与待匹配账号的属性信息相匹配的匹配池作为目标匹配池。
作为示例,账号等级可以是账号段位,用于描述账号在虚拟场景中的经验值,例如,账号等级越高,表征该账号在虚拟场景中的经验值越高。账号所在的区域可以是账号在注册时所选择的地区,也可以是账号在加入虚拟场景之前所选择的地图。账号的历史成绩可以是账号在虚拟场景中的历史战绩,以游戏应用场景为例,账号的历史战绩可以是账号距离当前时间点最近的十场战斗中的战绩,例如9胜1败等。
以待匹配账号的属性信息是账号等级为例,匹配池1中只允许等级1-3的账号存在,匹配池2中只允许等级4-6的账号存在,匹配池2中只允许等级4-6的账号存在,当待匹配账号的等级是5时,确定对应待匹配账号的目标匹配池是匹配池2,从而可以将待匹配账号投入至匹配池2中进行匹配。
在一些实施例中,响应于待匹配账号提交的模式选择操作,确定被选择的匹配模式;在多个不同的匹配池中,选取对应匹配模式的匹配池作为目标匹配池。
作为示例,模式选择操作和匹配操作可以是同时提交的,也可以是不分先后顺序提交的,例如,用户通过游戏客户端开局游戏之前,可以通过触发模式选择按钮选择对应的匹配模式,在用户选择匹配模式之后可以自动将该用户的账号确定为待匹配的账号。
以游戏应用场景为例,匹配模式可以是不同的游戏模式,例如,排位赛模式、匹配赛模式等。不同的游戏模式对应不同的匹配流程,因此需要将不同匹配模式的账号分配至不同的匹配池中,避免将其匹配在一起,从而能够提高账号匹配的效率。
举例来说,匹配池1对应排位赛模式,匹配池2对应匹配赛模式,当待匹配账号选择的是排位赛模式时,确定对应待匹配账号的目标匹配池是匹配池1,从而可以将待匹配账号投入至匹配池1中进行匹配。
本申请实施例考虑到若将属性信息相差较大或匹配模式不同的账号匹配在一起不合适,会影响用户的交互体验,因此可以在匹配账号之前选择对应待匹配账号的目标匹配池,以便于后续在目标匹配池中的候选账号选择目标账号,相较于在所有匹配池中的候选账号中选择目标账号来说,能够提高账号匹配的准确性,降低账号匹配的计算量,提高匹配效率。
在步骤S103中,通过依次执行目标匹配池中的多个匹配组件,将待匹配账号与目标匹配池包括的多个候选账号进行匹配处理,得到至少一个目标账号。
在一些实施例中,当目标匹配池中的多个匹配组件的类型均为动作组件时,确定目标匹配池中每个动作组件的执行优先级;调用最高执行优先级的动作组件,对待匹配账号与多个候选账号进行匹配处理,并将匹配处理结果传递至下一个执行优先级的动作组件,以使下一个执行优先级的动作组件对匹配处理结果进行匹配处理,直至最低执行优先级的动作组件对上一个执行优先级的动作组件传递的匹配处理结果进行处理后结束,得到至少一个目标账号。
作为示例,目标匹配池中动作组件的执行优先级可以是服务器自动设置的,也可以是策划人员通过匹配池配置列表界面进行设置的,例如,图6中,策划人员可以在Excel表格401中设置动作组件402的执行优先级,其中,表格中动作组件的执行优先级从左至右依次降低,例如动作组件“填充匹配参数”的执行优先级高于“快速匹配”的执行优先级。
作为示例,匹配处理结果可以是经过匹配筛选后剩余的至少一个候选账号,例如,目标匹配池中包括10个候选账号,调用最高执行优先级的动作组件进行匹配处理后,剩余8个候选账号,然后将剩余的8个候选账号传递至下一个执行优先级的动作组件,以使下一个执行优先级的动作组件对剩余的8个候选账号进行匹配处理,得到5个候选账号,以此类推,直至最后匹配得到至少一个目标账号。
以游戏应用场景为例,图8中,“快速匹配”的匹配池中包括4个动作组件,如此,“快速匹配”的匹配流程可以由四个步骤构成,分别包括:第一步,填充匹配参数,就是希望这些玩家根据什么参数来匹配,参数可以是分数或加入游戏的时间等。第二步,快速匹配,就是根据这些参数,按照某种算法规则将他们匹配在一起,例如将参数完全相同的玩家匹配在一起,或将参数比较接近的玩家匹配在一起等。第三步,判断是否加入机器人,就是如果在玩家数量不充足或是其他一些需要添加机器人的情况,可以选择是否将机器人和玩家匹配到一起。第四步,创建新房间开始单局,就是创建新房间将匹配到的玩家进行游戏开局。由上可知,通过以上四个步骤就能将一个完整的匹配流程构建起来,每个动作组件之间互相独立,例如第二步中只关心玩家的这些匹配参数,而不关心这些参数究竟是玩家的什么属性,第三步中只关心现在是否应该加入机器人,而不关心之前的这些玩家是按照什么规则和条件匹配在一起的。
在一些实施例中,当目标匹配池中的多个匹配组件包括至少一个规则组件和至少一个动作组件时,确定每个规则组件对应的动作组件,并将每个规则组件与对应的动作组件进行融合处理,得到融合组件;将目标匹配池中的动作组件替换为融合有动作组件的融合组件,并基于替换后的融合组件将待匹配账号与目标匹配池包括的多个候选账号进行匹配处理,得到至少一个目标账号。
以游戏应用场景为例,图9中“快速匹配”的匹配池中由4个动作组件(包括“填充匹配参数”、“快速匹配”、“判断是否加机器人”、以及“创建新房间开始单局”)和2个规则组件(包括“将加入时间设为匹配参数”和“添加普通机器人”)组成。如此,可以将动作组件“填充匹配参数”和规则组件“将加入时间设为匹配参数”进行融合得到融合组件“填充加入时间的参数”,将动作组件“判断是否加机器人”和规则组件“添加普通机器人”进行融合得到融合组件“判断是否加普通机器人”,从而,可以得到如图15所示的匹配流程示意图,再基于融合组件“填充加入时间的参数”、动作组件“快速匹配”、融合组件“判断是否加普通机器人”和动作组件“创建新房间开始单局”依次执行后续匹配步骤。
作为示例,当目标匹配池中的多个匹配组件包括一个动作组件和至少一个规则组件时,基于替换后的融合组件将待匹配账号与目标匹配池包括的多个候选账号进行匹配处理,得到至少一个目标账号可以包括:调用对应动作组件的融合组件,对待匹配账号与目标匹配池包括的多个候选账号进行匹配处理,得到至少一个目标账号。
作为示例,当目标匹配池中的多个匹配组件包括多个动作组件和至少一个规则组件时,基于替换后的融合组件将待匹配账号与目标匹配池包括的多个候选账号进行匹配处理,得到至少一个目标账号可以包括:确定目标匹配池中的多个组件的执行优先级,其中,多个组件包括未被替换的动作组件、以及替换后的融合组件,融合组件的执行优先级与融合前对应的动作组件的执行优先级相同;调用最高执行优先级的组件,对待匹配账号与多个候选账号进行匹配处理,并将匹配处理结果传递至下一个执行优先级的组件,以使下一个执行优先级的组件对匹配处理结果进行匹配处理,直至最低执行优先级的组件对上一个执行优先级的组件传递的匹配处理结果进行处理后结束,得到至少一个目标账号。
举例来说,目标匹配池中原本包括动作组件1、动作组件2和规则组件1(对应动作组件1),将动作组件1和规则组件1进行融合,得到融合组件1。此时,组件融合后的目标匹配池中包括融合组件1和动作组件2。如此,可以先确定融合组件1、动作组件2的执行优先级,其中,融合组件1的执行优先级就是动作组件1的执行优先级。那么当执行优先级顺序是动作组件1>动作组件2时,就可以按顺序依次执行融合组件1和动作组件2,从而得到至少一个目标账号。
本申请实施例因为将整个复杂的匹配流程拆解成了多个互相独立的匹配组件,多人协同工作时可以专注于自己的匹配组件,因此能够提高开发效率并避免互相之间的代码冲突。
在步骤S104中,控制待匹配账号对应的虚拟对象和至少一个目标账号对应的虚拟对象加入虚拟场景。
以游戏应用场景为例,可以是控制待匹配账号对应的虚拟对象和至少一个目标账号对应的虚拟对象作为队友和/或对手加入至相同的虚拟场景中。例如,当匹配到目标账号1、目标账号2和目标账号3时,可以将待匹配账号对应的虚拟对象和目标账号1对应的虚拟对象作为同一队,将目标账号2对应的虚拟对象和目标账号3对应的虚拟对象作为同一队加入至相同的虚拟场景中。
在一些实施例中,多个匹配池的组件配置信息存储于匹配池配置列表中;上述方法还可以包括:在人机交互界面中显示匹配池配置列表界面,其中,匹配池配置列表界面包括匹配池配置列表;响应于在匹配池配置列表界面中接收的匹配池新增操作,在匹配池配置列表中显示匹配池新增操作提交的组件配置信息,其中,组件配置信息中包括多个待配置的匹配组件的标识信息;响应于在匹配池配置列表界面中接收的确认操作,在匹配组件库中选取与多个待配置的匹配组件的标识信息一一对应的多个待配置的匹配组件,并根据多个待配置的匹配组件创建新的匹配池。
作为示例,组件配置信息中还可以包括匹配流程信息,例如,图4所示的匹配流程ID和匹配流程名称等。匹配组件的标识信息包括以下至少之一:匹配组件的名称、匹配组件的枚举值,例如,图14所示的配置表中的枚举值141。
举例来说,匹配池新增操作可以是在如图4所示的Excel表格401中通过文字键入的方式对表格进行编辑的操作,例如,当策划人员需要创建新的匹配池时,可以直接在Excel表格401中键入组件配置信息,从而创建对应的匹配池。
作为示例,在匹配池配置列表中显示匹配池新增操作提交的组件配置信息之前可以包括:确定登录匹配池配置列表界面的账号的操作权限;当操作权限能够用于通过匹配池配置列表界面新增匹配池时,确定将执行在匹配池配置列表中显示匹配池新增操作提交的组件配置信息的操作。
本申请实施例提供可视化的界面支持策划人员在匹配池配置列表中创建新的匹配池,提高了匹配池的创建效率,并且控制策划人员创建新的匹配池的操作权限,能够避免策划人员的误操作,从而能够提高匹配池管理的安全性。
作为示例,选取与多个待配置的匹配组件的标识信息一一对应的多个待配置的匹配组件可以包括:针对每个待配置的匹配组件的标识信息执行以下处理:从待配置的匹配组件的标识信息中提取对应的枚举值;通过组件管理器在匹配组件库中选取与枚举值相匹配的匹配组件,以作为待配置的匹配组件。
举例来说,组件管理器包括动作组件管理器和规则组件管理器,匹配组件库中包括动作组件库和规则组件库。当枚举值表征待配置的匹配组件的类型是动作组件时,通过动作组件管理器在动作组件库中选取与枚举值相匹配的动作组件,以作为待配置的匹配组件;当枚举值表征待配置的匹配组件的类型是规则组件时,通过规则组件管理器在规则组件库中选取与枚举值相匹配的规则组件,以作为待配置的匹配组件。
作为示例,在人机交互界面中显示匹配池配置列表界面之后可以包括:响应于在匹配池配置列表界面中接收的匹配池修改操作,在匹配池配置列表中显示匹配池修改操作提交的修改后的组件配置信息,其中,修改后的组件配置信息中包括至少一个待更新的匹配组件的标识信息;响应于在匹配池配置列表界面中接收的确认操作,在匹配组件库中选取与至少一个待更新的匹配组件的标识信息对应的至少一个待更新的匹配组件,并根据至少一个待更新的匹配组件对相应的匹配池进行更新。
举例来说,匹配池修改操作可以是在如图4所示的Excel表格401中通过文字键入的方式对表格进行修改的操作,例如,当策划人员需要修改匹配池时,可以直接在Excel表格401中修改对应的组件配置信息,从而对相应的匹配池进行更新。
举例来说,选取与至少一个待更新的匹配组件的标识信息对应的至少一个待更新的匹配组件可以包括:针对每个待更新的匹配组件的标识信息执行以下处理:从待更新的匹配组件的标识信息中提取对应的枚举值;通过组件管理器在匹配组件库中选取与枚举值相匹配的匹配组件,以作为待更新的匹配组件。
举例来说,在匹配池配置列表中显示匹配池修改操作提交的修改后的组件配置信息之前可以包括:确定登录匹配池配置列表界面的账号的操作权限;当操作权限能够用于通过匹配池配置列表界面更新匹配池时,确定将执行在匹配池配置列表中显示匹配池修改操作提交的修改后的组件配置信息的操作。
本申请实施例提供可视化的界面支持策划人员在匹配池配置列表中修改匹配池,提高了匹配池的修改效率,并且控制策划人员修改匹配池的操作权限,能够避免策划人员的误操作,从而能够提高匹配池管理的安全性。另外,本申请实施例中,每个组件一旦开发完成,策划人员可以通过配表的方式将其与其他组件重新组合搭配形成新的匹配池,提高了开发新的匹配池或是修改现有的匹配池的工作效率,减少重复的无意义的时间浪费。另外,因为每个匹配池是通过配表的方式组合而成的,无论是策划人员还是开发人员都能够对整体匹配流程有一个清晰的认知,定位程序漏洞以及梳理逻辑都非常清晰。
下面,以游戏应用场景为例说明本申请实施例提供的虚拟场景的账号匹配方法。
本申请实施例通过将游戏中的匹配服务的逻辑拆分成不同的组件分别实现,降低了各个组件之间的耦合度,减少多人同时开发带来的冲突,以提高开发效率,使匹配服务的代码易于维护,从而节约成本。并通过可视化配表的方式使策划人员能够直接将现有的组件拼装成一套完整的匹配流程,提高了开发不同匹配流程时的工作效率以及使得匹配流程清晰直观。具体的,本申请实施例可以将一个较大规模的匹配服务系统拆分成许多小规模的零件模块(即组件),例如,设置用来匹配的参数模块(参数可以是时间、排位分、隐藏分等)、用来执行主要匹配逻辑的匹配模块(即根据参数执行不同的算法找到适合的匹配对象)、用来检验匹配结果是否符合预期的校验模块(根据算法检验匹配在一起的对象是否满足游戏开局要求)等。
在一些实施例中,开发人员可以根据业务需求开发具备不同功能的组件,策划人员可以通过配表的方式,将不同功能的组件配置在一起形成完整的匹配流程。当需要拓展新的模式的匹配需求时,策划人员可以先尝试采用已有的组件是否能够直接拼装完成,如果功能缺失则可以交由开发人员开发相应的组件,从而易于拓展和维护。
本申请实施例通过将整个匹配流程拆散的方式将各个功能独立实现,这样降低了整体代码的耦合性,开发人员只需要专注开发自己负责的模块,从而提高了多人开发的效率。
在一些实施例中,组件开发完成后,策划人员通过配置的方式可以将这些组件组合起来,直接拼装成一个匹配流程,使匹配流程可视化。开发不同模式的匹配规则时,可以复用已有的组件,只需要额外开发新的组件即可,增加了组件的复用性,减少代码的冗余,也易于拓展。即使面对人员调整,新接手的人员也可以通过可视化很快了解匹配流程,开发过程中只需要对局部组件进行调整即可,降低了出现程序漏洞的可能性,并且提高了代码维护的便捷性。
在一些实施例中,参见图4,图4是本申请实施例提供的虚拟场景的账号匹配方法的应用场景示意图,策划人员在修改或新建匹配流程时,只需要直接修改图4的Excel表格401所示的配置信息即可,服务器会通过工具自动生成相应的代码。
作为示例,图4中每个匹配流程中可以自由配置若干个动作组件402和若干个规则组件403,这些组件之间是相互独立的。动作组件402和规则组件403都属于组件,功能略有不同,使用上可以互相组合。如果策划人员在修改匹配流程或新建匹配流程时,发现已有组件无法满足其要求时,可以向开发人员提交需求让开发人员实现相应的组件后再进行配置即可。举例来说,新建匹配流程或修改匹配流程可以在Excel表格401中通过文字键入的方式进行编辑。
下面将结合图5、图6、图7、图8、以及图9说明本申请实施例提供的虚拟场景的账号匹配方法的具体实现方式,图5、图6、图7、图8、以及图9是本申请实施例提供的虚拟场景的账号匹配方法的流程示意图。
在一些实施例中,图5是最基本的匹配流程,首先玩家(即玩家所持有的待匹配账号,以下简称为玩家)进入匹配服务发起匹配,匹配服务执行匹配逻辑为玩家寻找对手(即竞争对手所持有的目标账号,以下简称为对手),当寻找到对手时表征匹配成功,让玩家形成游戏开局。
在一些实施例中,不同的匹配规则的玩家不能匹配在一起,因此可以基于图5引入匹配池来提高匹配效率,具体的,图6中,在玩家进入匹配服务发起匹配后,可以按照条件为玩家分别选择对应的匹配池,匹配服务在玩家所处的匹配池中执行匹配逻辑寻找对手,当寻找到对手时表征匹配成功,让玩家形成游戏开局。
在一些实施例中,图7中,每个匹配池都由n(n是大于1的整数)个匹配组件(例如图7中的匹配组件1、匹配组件2、……、匹配组件n)所构成,不同的匹配池对应着不同的匹配组件组合,每个匹配池都一直在循环的按顺序执行这些匹配组件,当匹配成功时,让玩家形成游戏开局,当匹配不成功时,再次执行这些匹配组件。
在一些实施例中,图4中的“快速匹配”的匹配池中由4个动作组件(包括“填充匹配参数”、“快速匹配”、“判断是否加机器人”、以及“创建新房间开始单局”)和2个规则组件(包括“将加入时间设为匹配参数”和“添加普通机器人”)组成。
作为示例,“快速匹配”的匹配池中包括如图8所示的4个动作组件,如此,“快速匹配”的匹配流程可以由四个步骤构成。
第一步,填充匹配参数,就是希望这些玩家根据什么参数来匹配,参数可以是分数或加入游戏的时间等。
第二步,快速匹配,就是根据这些参数,按照某种算法规则将他们匹配在一起,例如将参数完全相同的玩家匹配在一起,或将参数比较接近的玩家匹配在一起等。
第三步,判断是否加入机器人,就是如果在玩家数量不充足或是其他一些需要添加机器人的情况,可以选择是否将机器人和玩家匹配到一起。
第四步,创建新房间开始单局,就是创建新房间将匹配到的玩家进行游戏开局。
由上可知,通过以上四个步骤就能将一个简单的匹配流程构建起来,每个动作组件之间互相独立,例如第二步中只关心玩家的这些匹配参数,而不关心这些参数究竟是玩家的什么属性,第三步中只关心现在是否应该加入机器人,而不关心之前的这些玩家是按照什么规则和条件匹配在一起的。因此,将匹配流程组件化是非常适合用来实现匹配服务的一种方法,因为匹配服务和其他服务有所不同,匹配服务的每一步的功能可以互相独立,容易实现局部功能的组件化。
在一些实施例中,如果某些功能非常相近,但细节有所不同,例如,“将玩家按照等级作为匹配参数进行匹配”和“将玩家按照加入时间作为匹配参数进行匹配”的功能非常相近,唯一的区别在于是将玩家的不同属性作为匹配参数,这种情况如果去实现两个动作组件是完全没有必要的,因为代码重合度较高,所以,由此诞生出了规则组件,规则组件可以说是对动作组件功能上的一个完善和细分。如图9所示,基于图8,动作组件“填充匹配参数”上可以搭配规则组件“将加入时间设为匹配参数”,动作组件“判断是否加机器人”上可以搭配规则组件“添加普通机器人”。
作为示例,每个动作组件上可以搭配若干个规则组件,搭配不同规则组件的动作组件会产生不同的效果,例如动作组件“填充匹配参数”可以搭配“将加入时间设为匹配参数”或者“将段位设为匹配参数”这两个不同的规则组件,因此该动作组件可以分别将玩家的加入时间设为匹配参数,或者是将段位设为匹配参数。规则组件的加入使得匹配组件的功能更加的灵活,大大减少了代码的重复性,也使得逻辑更加简单清晰。
在一些实施例中,参见图10,图10是本申请实施例提供的匹配服务的架构示意图,图10中,最上层是一个匹配池管理器(Match Pool Manager),负责管理所有的匹配池(Match Pool),玩家进入匹配服务时,根据业务需求,匹配池管理器会为其分配一个匹配池并将玩家投入该匹配池,分配的规则可以按照地图、段位、模式等进行分配。分配匹配池的核心思想是将一定不会匹配到的玩家分散到各个匹配池中以提高匹配效率以及简化匹配逻辑,同一个匹配池里只会具有满足特定条件的玩家,例如都选择了玩地图a或段位等级都是黄金等。每个匹配池中为了管理不同类型的匹配组件需要动作组件管理器(ActionManager)和规则组件管理器(Rule Manager),在服务器初始化的时候,服务器会根据配置,自动将策划人员所配置的各个匹配流程里所拥有的匹配组件生成并分配到对应的匹配池中。
在一些实施例中,图11是本申请实施例提供的组件基类代码实现的原理示意图。图11中,MatchActionBase是动作组件的基类111,所有动作组件都继承于这个基类111,EMatchActionType是各个动作组件所对应的枚举值112,每一个动作组件对应一个枚举值112,策划人员在Excel表格中只需要配置对应的枚举值,程序就会自动生成相应的动作组件,这里,组件都是已经事先实现好的,存储于匹配组件库中,策划人员可以通过配置枚举值的方式,将不同的组件配置在一起,从而程序中就可以自动生成一份将这些组件拼装成一起后的流程代码。
在一些实施例中,参见图12,图12是本申请实施例提供的组件工厂代码实现的原理示意图,要实现将动作组件的类和枚举值绑定,需要一个绑定的方法,这里提供的是工厂设计模式的实现方式,如图12所示,可以通过REGIST ER_MATCH_ACTION的这个宏121将一个类和一个枚举值绑定在一起。
作为示例,参见图13,图13是本申请实施例提供的快速匹配动作组件的代码实现的原理示意图,动作组件“快速匹配”是MatchActionBase的子类,可以通过绑定的方法绑定了ACTION_TYPE_QUICK_MATCH这个枚举值131,这样策划人员在配置的时候如果配置了枚举值131,程序里就会在动作组件管理器里生成一个对应的动作组件。
同理,使用上述的方法,规则组件也可以用同样的方式去实现,如此,程序里的每一个组件(动作组件,规则组件)都可以和枚举值建立一一映射的关系,策划人员在配表的时候只需要根据这些对应关系,将枚举值配置在需要的匹配流程中,程序里就会自动生成这些组件。
在一些实施例中,参见图14,图14是本申请实施例提供的配置表中的枚举值和程序中的枚举值之间的关系示意图,图14中,配置表中的枚举值141是策划人员负责配置的枚举值,程序中的枚举值142是对应到程序里实际使用的枚举值。
在一些实施例中,代码层面去实现组件的方法可以是多种多样的,本申请对此不进行限制,另外工厂的设计模式也不局限于上述的方式。同时,也不局限于仅通过配置Excel表格的方式去实现可视化。
本申请实施例因为将整个复杂的匹配流程拆解成了无数互相独立的功能组件,多人协同工作时可以专注于自己的组件,因此能够提高开发效率并避免互相之间的代码冲突。同时,每个组件一旦开发完成,策划人员可以通过配表的方式将其与其他组件重新组合搭配形成新的匹配流程,提高了开发新流程或是调整现有流程的工作效率,减少重复的无意义的时间浪费。另外,因为每个匹配流程是通过配表的方式组合而成的,无论是策划人员还是开发人员都能够对整体匹配流程有一个清晰的认知,定位程序漏洞以及梳理逻辑都变得清晰明了。
下面结合图2说明本申请实施例提供的虚拟场景的账号匹配装置的实施为软件模块的示例性结构。
在一些实施例中,如图2所示,存储在存储器240的虚拟场景的账号匹配装置243中的软件模块可以包括:获取模块2431,用于获取虚拟场景的待匹配账号;确定模块2432,用于在多个不同的匹配池中确定对应待匹配账号的目标匹配池,其中,每个匹配池包括多个候选账号和多个匹配组件;匹配模块2433,用于通过依次执行目标匹配池中的多个匹配组件,将待匹配账号与目标匹配池包括的多个候选账号进行匹配处理,得到至少一个目标账号;控制模块2434,用于控制待匹配账号对应的虚拟对象和至少一个目标账号对应的虚拟对象加入虚拟场景。
在上述方案中,确定模块2432,还用于确定待匹配账号的属性信息,其中,属性信息包括以下至少之一:账号等级、账号所在的区域、账号的历史成绩;在多个不同的匹配池中,选取与待匹配账号的属性信息相匹配的匹配池作为目标匹配池。
在上述方案中,确定模块2432,还用于响应于待匹配账号提交的模式选择操作,确定被选择的匹配模式;在多个不同的匹配池中,选取对应匹配模式的匹配池作为目标匹配池。
在上述方案中,当目标匹配池中的多个匹配组件的类型均为动作组件时,匹配模块2433,还用于确定目标匹配池中每个动作组件的执行优先级;调用最高执行优先级的动作组件,对待匹配账号与多个候选账号进行匹配处理,并将匹配处理结果传递至下一个执行优先级的动作组件,以使下一个执行优先级的动作组件对匹配处理结果进行匹配处理,直至最低执行优先级的动作组件对上一个执行优先级的动作组件传递的匹配处理结果进行处理后结束,得到至少一个目标账号。
在上述方案中,当目标匹配池中的多个匹配组件包括至少一个规则组件和至少一个动作组件时,匹配模块2433,还用于确定每个规则组件对应的动作组件,并将每个规则组件与对应的动作组件进行融合处理,得到融合组件;将目标匹配池中的动作组件替换为融合有动作组件的融合组件,并基于替换后的融合组件将待匹配账号与目标匹配池包括的多个候选账号进行匹配处理,得到至少一个目标账号。
在上述方案中,匹配模块2433,还用于当目标匹配池中的多个匹配组件包括多个动作组件和至少一个规则组件时,确定目标匹配池中的多个组件的执行优先级,其中,多个组件包括未被替换的动作组件、以及替换后的融合组件,融合组件的执行优先级与融合前对应的动作组件的执行优先级相同;调用最高执行优先级的组件,对待匹配账号与多个候选账号进行匹配处理,并将匹配处理结果传递至下一个执行优先级的组件,以使下一个执行优先级的组件对匹配处理结果进行匹配处理,直至最低执行优先级的组件对上一个执行优先级的组件传递的匹配处理结果进行处理后结束,得到至少一个目标账号。
在上述方案中,匹配模块2433,还用于当目标匹配池中的多个匹配组件包括一个动作组件和至少一个规则组件时,调用对应动作组件的融合组件,对待匹配账号与目标匹配池包括的多个候选账号进行匹配处理,得到至少一个目标账号。
在上述方案中,多个匹配池的组件配置信息存储于匹配池配置列表中;虚拟场景的账号匹配装置243还包括:显示模块,用于在人机交互界面中显示匹配池配置列表界面,其中,匹配池配置列表界面包括匹配池配置列表;响应于在匹配池配置列表界面中接收的匹配池新增操作,在匹配池配置列表中显示匹配池新增操作提交的组件配置信息,其中,组件配置信息中包括多个待配置的匹配组件的标识信息;响应于在匹配池配置列表界面中接收的确认操作,选取与多个待配置的匹配组件的标识信息一一对应的多个待配置的匹配组件,并根据多个待配置的匹配组件创建新的匹配池。
在上述方案中,显示模块,还用于针对每个待配置的匹配组件的标识信息执行以下处理:从待配置的匹配组件的标识信息中提取对应的枚举值;通过组件管理器在匹配组件库中选取与枚举值相匹配的匹配组件,以作为待配置的匹配组件。
在上述方案中,显示模块,还用于响应于在匹配池配置列表界面中接收的匹配池修改操作,在匹配池配置列表中显示匹配池修改操作提交的修改后的组件配置信息,其中,修改后的组件配置信息中包括至少一个待更新的匹配组件的标识信息;响应于在匹配池配置列表界面中接收的确认操作,选取与至少一个待更新的匹配组件的标识信息对应的至少一个待更新的匹配组件,并根据至少一个待更新的匹配组件对相应的匹配池进行更新。
在上述方案中,显示模块,还用于确定登录匹配池配置列表界面的账号的操作权限;当操作权限能够用于通过匹配池配置列表界面更新匹配池时,确定将执行在匹配池配置列表中显示匹配池修改操作提交的修改后的组件配置信息的操作。
在上述方案中,获取模块2431,还用于接收任意一个账号提交的匹配操作,并将提交匹配操作的账号确定为待匹配账号;或者,当检测到任意一个账号登录虚拟场景时,将登录虚拟场景的账号自动识别为待匹配账号。
以电子设备是计算机设备为例,本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例上述的虚拟场景的账号匹配方法。
本申请实施例提供一种存储有计算机可执行指令的计算机可读存储介质,其中存储有计算机可执行指令,当计算机可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的虚拟场景的账号匹配方法,例如,图3示出的虚拟场景的账号匹配方法,计算机包括智能终端和服务器在内的各种计算设备。
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EP ROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,计算机可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,计算机可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标注语言文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,计算机可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
综上所述,本申请实施例在多个不同的匹配池中选择对应待匹配账号的目标匹配池,以便于后续在目标匹配池中的候选账号选择目标账号,相较于在所有匹配池中的候选账号中选择目标账号来说,能够提高账号匹配的准确性,降低账号匹配的计算量;并且将目标匹配池中的匹配流程拆分为多个匹配组件,并通过依次执行多个匹配组件在目标匹配池中的候选账号选择目标账号,不仅能够降低各个匹配组件之间的耦合度,减少多人同时开发带来的冲突提高开发效率,而且能够提高账号的匹配效率。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。

Claims (12)

1.一种虚拟场景的账号匹配方法,其特征在于,所述方法包括:
获取虚拟场景的待匹配账号;
在多个不同的匹配池中确定对应所述待匹配账号的目标匹配池,其中,每个所述匹配池包括多个候选账号和多个匹配组件,所述多个匹配组件是对匹配流程进行拆解得到的,所述匹配池是以将所述多个匹配组件以可视化配表的方式组合而成的,所述匹配组件的类型包括:动作组件、规则组件、融合组件;
通过依次执行所述目标匹配池中的多个匹配组件,将所述待匹配账号与所述目标匹配池包括的多个候选账号进行匹配处理,得到至少一个目标账号;
控制所述待匹配账号对应的虚拟对象和所述至少一个目标账号对应的虚拟对象加入所述虚拟场景;
其中,当所述目标匹配池中的所述多个匹配组件的类型均为动作组件时,所述通过依次执行所述目标匹配池中的多个匹配组件,将所述待匹配账号与所述目标匹配池包括的多个候选账号进行匹配处理,得到至少一个目标账号,包括:确定所述目标匹配池中每个所述动作组件的执行优先级;调用最高执行优先级的动作组件,对所述待匹配账号与所述多个候选账号进行匹配处理,并将匹配处理结果传递至下一个执行优先级的动作组件,以使所述下一个执行优先级的动作组件对所述匹配处理结果进行匹配处理,直至最低执行优先级的动作组件对上一个执行优先级的动作组件传递的匹配处理结果进行处理后结束,得到至少一个目标账号;
当所述目标匹配池中的所述多个匹配组件包括至少一个规则组件和至少一个动作组件时,所述通过依次执行所述目标匹配池中的多个匹配组件,将所述待匹配账号与所述目标匹配池包括的多个候选账号进行匹配处理,得到至少一个目标账号,包括:确定每个所述规则组件对应的动作组件,并将每个所述规则组件与对应的动作组件进行融合处理,得到融合组件;将所述目标匹配池中的所述动作组件替换为融合有所述动作组件的融合组件,并当所述目标匹配池中的所述多个匹配组件包括多个动作组件和至少一个规则组件时,确定所述目标匹配池中的多个组件的执行优先级,其中,所述多个组件包括未被替换的所述动作组件、以及替换后的所述融合组件,所述融合组件的执行优先级与融合前对应的动作组件的执行优先级相同;调用最高执行优先级的组件,对所述待匹配账号与所述多个候选账号进行匹配处理,并将匹配处理结果传递至下一个执行优先级的组件,以使所述下一个执行优先级的组件对所述匹配处理结果进行匹配处理,直至最低执行优先级的组件对上一个执行优先级的组件传递的匹配处理结果进行处理后结束,得到至少一个目标账号。
2.根据权利要求1所述的方法,其特征在于,所述在多个不同的匹配池中确定对应所述待匹配账号的目标匹配池,包括:
确定所述待匹配账号的属性信息,其中,所述属性信息包括以下至少之一:账号等级、账号所在的区域、账号的历史成绩;
在所述多个不同的匹配池中,选取与所述待匹配账号的属性信息相匹配的匹配池作为所述目标匹配池。
3.根据权利要求1所述的方法,其特征在于,所述在多个不同的匹配池中确定对应所述待匹配账号的目标匹配池,包括:
响应于所述待匹配账号提交的模式选择操作,确定被选择的匹配模式;
在所述多个不同的匹配池中,选取对应所述匹配模式的匹配池作为所述目标匹配池。
4.根据权利要求1所述的方法,其特征在于,基于替换后的融合组件将所述待匹配账号与所述目标匹配池包括的多个候选账号进行匹配处理,得到至少一个目标账号,包括:
当所述目标匹配池中的所述多个匹配组件包括一个动作组件和至少一个规则组件时,调用对应所述动作组件的融合组件,对所述待匹配账号与所述目标匹配池包括的多个候选账号进行匹配处理,得到至少一个目标账号。
5.根据权利要求1所述的方法,其特征在于,多个所述匹配池的组件配置信息存储于匹配池配置列表中;所述方法还包括:
在人机交互界面中显示匹配池配置列表界面,其中,所述匹配池配置列表界面包括所述匹配池配置列表;
响应于在所述匹配池配置列表界面中接收的匹配池新增操作,在所述匹配池配置列表中显示所述匹配池新增操作提交的组件配置信息,其中,所述组件配置信息中包括多个待配置的匹配组件的标识信息;
响应于在所述匹配池配置列表界面中接收的确认操作,选取与所述多个待配置的匹配组件的标识信息一一对应的多个待配置的匹配组件,并根据所述多个待配置的匹配组件创建新的匹配池。
6.根据权利要求5所述的方法,其特征在于,所述选取与所述多个待配置的匹配组件的标识信息一一对应的多个待配置的匹配组件,包括:
针对每个所述待配置的匹配组件的标识信息执行以下处理:
从所述待配置的匹配组件的标识信息中提取对应的枚举值;
通过组件管理器在匹配组件库中选取与所述枚举值相匹配的匹配组件,以作为待配置的匹配组件。
7.根据权利要求5所述的方法,其特征在于,在人机交互界面中显示匹配池配置列表界面之后,所述方法还包括:
响应于在所述匹配池配置列表界面中接收的匹配池修改操作,在所述匹配池配置列表中显示所述匹配池修改操作提交的修改后的组件配置信息,其中,所述修改后的组件配置信息中包括至少一个待更新的匹配组件的标识信息;
响应于在所述匹配池配置列表界面中接收的确认操作,选取与所述至少一个待更新的匹配组件的标识信息对应的至少一个待更新的匹配组件,并根据所述至少一个待更新的匹配组件对相应的匹配池进行更新。
8.根据权利要求7所述的方法,其特征在于,在所述匹配池配置列表中显示所述匹配池修改操作提交的修改后的组件配置信息之前,所述方法还包括:
确定登录所述匹配池配置列表界面的账号的操作权限;
当所述操作权限能够用于通过所述匹配池配置列表界面更新匹配池时,确定将执行在所述匹配池配置列表中显示所述匹配池修改操作提交的修改后的组件配置信息的操作。
9.根据权利要求1所述的方法,其特征在于,所述获取虚拟场景的待匹配账号,包括:
接收任意一个账号提交的匹配操作,并将提交所述匹配操作的账号确定为所述待匹配账号;或者,
当检测到任意一个账号登录所述虚拟场景时,将登录所述虚拟场景的账号自动识别为所述待匹配账号。
10.一种虚拟场景的账号匹配装置,其特征在于,所述装置包括:
获取模块,用于获取虚拟场景的待匹配账号;
确定模块,用于在多个不同的匹配池中确定对应所述待匹配账号的目标匹配池,其中,每个所述匹配池包括多个候选账号和多个匹配组件,所述多个匹配组件是对匹配流程进行拆解得到的,所述匹配池是以将所述多个匹配组件以可视化配表的方式组合而成的,所述匹配组件的类型包括:动作组件、规则组件、融合组件;
匹配模块,用于通过依次执行所述目标匹配池中的多个匹配组件,将所述待匹配账号与所述目标匹配池包括的多个候选账号进行匹配处理,得到至少一个目标账号;
控制模块,用于控制所述待匹配账号对应的虚拟对象和所述至少一个目标账号对应的虚拟对象加入所述虚拟场景
其中,当所述目标匹配池中的所述多个匹配组件的类型均为动作组件时,所述匹配模块,还用于通过依次执行所述目标匹配池中的多个匹配组件,将所述待匹配账号与所述目标匹配池包括的多个候选账号进行匹配处理,得到至少一个目标账号,包括:确定所述目标匹配池中每个所述动作组件的执行优先级;调用最高执行优先级的动作组件,对所述待匹配账号与所述多个候选账号进行匹配处理,并将匹配处理结果传递至下一个执行优先级的动作组件,以使所述下一个执行优先级的动作组件对所述匹配处理结果进行匹配处理,直至最低执行优先级的动作组件对上一个执行优先级的动作组件传递的匹配处理结果进行处理后结束,得到至少一个目标账号;
当所述目标匹配池中的所述多个匹配组件包括至少一个规则组件和至少一个动作组件时,所述匹配模块,还用于通过依次执行所述目标匹配池中的多个匹配组件,将所述待匹配账号与所述目标匹配池包括的多个候选账号进行匹配处理,得到至少一个目标账号,包括:确定每个所述规则组件对应的动作组件,并将每个所述规则组件与对应的动作组件进行融合处理,得到融合组件;将所述目标匹配池中的所述动作组件替换为融合有所述动作组件的融合组件,并当所述目标匹配池中的所述多个匹配组件包括多个动作组件和至少一个规则组件时,确定所述目标匹配池中的多个组件的执行优先级,其中,所述多个组件包括未被替换的所述动作组件、以及替换后的所述融合组件,所述融合组件的执行优先级与融合前对应的动作组件的执行优先级相同;调用最高执行优先级的组件,对所述待匹配账号与所述多个候选账号进行匹配处理,并将匹配处理结果传递至下一个执行优先级的组件,以使所述下一个执行优先级的组件对所述匹配处理结果进行匹配处理,直至最低执行优先级的组件对上一个执行优先级的组件传递的匹配处理结果进行处理后结束,得到至少一个目标账号。
11.一种电子设备,其特征在于,包括:
存储器,用于存储计算机可执行指令;
处理器,用于执行所述存储器中存储的计算机可执行指令时,实现权利要求1至9任一项所述的虚拟场景的账号匹配方法。
12.一种计算机可读存储介质,其特征在于,存储有计算机可执行指令,所述计算机可执行指令被处理器执行时用于实现权利要求1至9任一项所述的虚拟场景的账号匹配方法。
CN202110658792.1A 2021-06-15 2021-06-15 虚拟场景的账号匹配方法、装置、电子设备及存储介质 Active CN113289347B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110658792.1A CN113289347B (zh) 2021-06-15 2021-06-15 虚拟场景的账号匹配方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110658792.1A CN113289347B (zh) 2021-06-15 2021-06-15 虚拟场景的账号匹配方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN113289347A CN113289347A (zh) 2021-08-24
CN113289347B true CN113289347B (zh) 2023-06-20

Family

ID=77328227

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110658792.1A Active CN113289347B (zh) 2021-06-15 2021-06-15 虚拟场景的账号匹配方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN113289347B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113838331A (zh) * 2021-10-11 2021-12-24 上海凯态信息技术有限公司 基于移动互联网的“人-人互动”能力训练方法
CN113869764A (zh) * 2021-10-11 2021-12-31 上海凯态信息技术有限公司 基于“人-人互动”模式的能力测评方法
CN114307168B (zh) * 2021-12-30 2024-05-28 北京字跳网络技术有限公司 组队匹配方法、装置、系统、设备及介质
CN116319666A (zh) * 2023-03-15 2023-06-23 百果园技术(新加坡)有限公司 基于热度的虚拟账号处理方法、装置、设备及存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5758438B2 (ja) * 2013-05-23 2015-08-05 株式会社バンダイナムコエンターテインメント サーバシステム
CN107308646B (zh) * 2017-06-23 2018-09-04 腾讯科技(深圳)有限公司 确定匹配对象的方法、装置及存储介质
CN110585729A (zh) * 2019-09-26 2019-12-20 腾讯科技(深圳)有限公司 游戏帐号的匹配方法和装置、存储介质及电子装置
CN111632385B (zh) * 2020-06-05 2024-10-18 腾讯科技(上海)有限公司 一种游戏控制方法、装置、计算机设备及存储介质
CN112675548B (zh) * 2021-01-05 2022-11-04 腾讯科技(深圳)有限公司 对局匹配方法、装置、设备及可读存储介质
CN112717421B (zh) * 2021-01-22 2022-11-04 腾讯科技(深圳)有限公司 组队匹配方法、装置、终端、服务器及存储介质

Also Published As

Publication number Publication date
CN113289347A (zh) 2021-08-24

Similar Documents

Publication Publication Date Title
CN113289347B (zh) 虚拟场景的账号匹配方法、装置、电子设备及存储介质
WO2021244322A1 (zh) 瞄准虚拟对象的方法、装置、设备及存储介质
US20220274021A1 (en) Display method and apparatus for virtual scene, storage medium, and electronic device
CN107153603A (zh) 游戏的模拟测试方法、装置及系统
TW202237245A (zh) 虛擬角色的選擇方法與裝置、電腦設備、電腦可讀存儲介質及電腦程式產品
CN107115673A (zh) 一种基于行为树的行为执行方法和装置
CN112306321B (zh) 一种信息展示方法、装置、设备及计算机可读存储介质
Lo et al. ModRule: A user-centric mass housing design platform
CN113559510A (zh) 虚拟技能的控制方法、装置、设备及计算机可读存储介质
KR20240033087A (ko) 가상 시나리오에서의 오프닝 조작의 제어 방법, 장치, 기기, 저장 매체 및 프로그램 제품
CN117009626A (zh) 游戏场景的业务处理方法、装置、设备及存储介质
Coutinho et al. Organizational gameplay: the player as designer of character organizations
KR101872000B1 (ko) 가상현실공간 내의 상호작용 반영 방법
KR101908016B1 (ko) 현실과 사이버 세상을 연계한 IoT 기반 O2O 도망자 추적 게임 시스템 및 방법
CN109985386B (zh) 一种生成地图的方法和装置
CN113058265B (zh) 虚拟场景中团队间的交互方法、装置、设备及存储介质
CN106422331B (zh) 一种基于unity 3D引擎的跳棋信息处理器系统
Trescak et al. Execution infrastructure for normative virtual environments
Sequeira et al. Simplifying crowd automation in the virtual laboratory of archaeology
CN111939565A (zh) 虚拟场景的显示方法、系统、装置、设备以及存储介质
Wang A framework for developing network based games using Unity and Ice
Schatten et al. Towards Agent-Based Simulation of Emerging and Large-Scale Social Networks: Examples of the Migrant Crisis and MMORPGs
Estrela Microservices Architecture for Gaming Industry Companies
CN113827957B (zh) 虚拟游戏角色的部署方法、装置、存储介质和电子装置
US20220314118A1 (en) Virtual character selection method and apparatus, device, storage medium, and program product

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40051660

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant