一种匹配算法性能测试方法、装置、设备、系统及介质转让专利

申请号 : CN201911070954.9

文献号 : CN110825636B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 汤涛吴建伟肖磊陈瑞坤王常红

申请人 : 腾讯科技(深圳)有限公司

摘要 :

本申请公开了一种匹配算法性能测试方法,包括:采集目标区域的应用运行数据;将所述运行数据转化成用户应用行为数据;在配置有待测试的匹配算法的测试环境下,根据所述用户应用行为数据进行用户行为回放,并收集所述测试环境下产生的测试日志;根据所述应用日志和所述测试日志确定所述待测试的匹配算法的性能。如此,通过模拟真实目标用户的匹配请求对匹配算法进行测试,预测得到的匹配算法性能可以贴合目标用户,评价结果准确,可用于后续匹配算法的进一步优化或配置。本申请还公开了对应的装置、设备及存储介质。

权利要求 :

1.一种匹配算法性能测试方法,其特征在于,所述方法包括:采集目标区域的应用运行数据,所述应用运行数据包括在应用环境下产生的应用日志;

将所述应用运行数据转化成用户应用行为数据,所述用户应用行为数据用于表征用户在操作应用过程中所对应的影响用户对战性能的属性数据;

在配置有待测试的匹配算法的测试环境下,根据所述用户应用行为数据进行用户行为回放,并收集所述测试环境下产生的测试日志;

根据所述测试日志和所述应用日志确定所述待测试的匹配算法的性能;

其中,所述将所述应用运行数据转化成用户应用行为数据,包括:从所述应用运行数据中获取单局结算日志,根据所述单局结算日志和单局时长,查找所述运行数据中时间最匹配的匹配成功日志;

根据查找的所述匹配成功日志和匹配时长,从所述应用运行数据中查找时间最匹配的匹配请求日志;

根据查找到的所述匹配请求日志,确定用户个人属性信息和用户所在队伍的队伍属性信息以及与匹配请求时间相对应的网络质量日志记录的网络质量数据,作为所述用户应用行为数据。

2.根据权利要求1所述的方法,其特征在于,所述在配置有待测试的匹配算法的测试环境下,根据所述用户应用行为数据进行用户行为回放,并收集所述测试环境下产生的测试日志,包括:

在配置有待测试的匹配算法的测试环境下,根据所述用户应用行为数据模拟用户行为向所述测试环境下的匹配服务器发送匹配请求,所述匹配请求中携带所述用户应用行为数据;

获取所述匹配服务器响应于所述匹配请求过程中产生的测试日志。

3.根据权利要求1所述的方法,其特征在于,根据所述应用日志和所述测试日志确定所述待测试的匹配算法的性能,包括:确定所述应用日志中的匹配时长和所述测试日志中的匹配时长的时长差值,作为所述待测试的匹配算法对应的匹配时长变化;

根据所述应用日志中的匹配结果和所述测试日志中的匹配结果,确定所述待测试的匹配算法对应的匹配质量变化;

当所述待测试的匹配算法对应的匹配时长变化和匹配质量变化均满足预设条件时,确定所述待测试的匹配算法的性能合格。

4.根据权利要求1所述的方法,其特征在于,所述方法还包括:获取多个所述测试日志,不同的所述测试日志是基于不同的目标区域的应用运行数据对同一所述待测试的匹配算法分别进行测试得到的;

根据多个所述测试日志和所述应用日志,确定所述待测试的匹配算法在不同目标区域上的性能差异。

5.根据权利要求1所述的方法,其特征在于,所述方法还包括:获取多个所述测试日志,不同的所述测试日志是基于同一目标区域的应用运行数据对不同的待测试的匹配算法分别进行测试得到的;

根据多个所述测试日志和所述应用日志,确定不同的待测试的匹配算法在同一目标区域上的性能差异。

6.根据权利要求1所述的方法,其特征在于,所述方法还包括:当测试出所述待测试的匹配算法的性能合格时,将所述待测试的匹配算法发布至所述目标区域进行匹配算法更新。

7.一种匹配算法性能测试装置,其特征在于,所述装置包括:采集模块,用于采集目标区域的应用运行数据,所述应用运行数据包括在应用环境下产生的应用日志;

数据转换模块,用于将所述应用运行数据转化成用户应用行为数据,所述用户应用行为数据用于表征用户在操作应用过程中所对应的影响用户对战性能的属性数据;

测试模块,用于在配置有待测试的匹配算法的测试环境下,根据所述用户应用行为数据进行用户行为回放,并收集所述测试环境下产生的测试日志;

性能评估模块,用于根据所述应用日志和所述测试日志确定所述待测试的匹配算法的性能;

其中,所述数据转换模块,包括:第一查找子模块,用于从所述应用运行数据中获取单局结算日志,根据所述单局结算日志和单局时长,查找所述应用运行数据中时间最匹配的匹配成功日志;

第二查找子模块,用于根据查找的所述匹配成功日志和匹配时长,从所述应用运行数据中查找时间最匹配的匹配请求日志;

数据转换子模块,用于根据查找到的所述匹配请求日志,确定用户个人属性信息和用户所在队伍的队伍属性信息和与匹配请求时间相对应的网络质量数据,作为所述用户应用行为数据。

8.根据权利要求7所述的装置,其特征在于,所述测试模块,用于包括:模拟请求子模块,用于在配置有待测试的匹配算法的测试环境下,根据所述用户行为应用数据模拟用户行为向所述测试环境下的匹配服务器发送匹配请求,通过所述测试环境下的匹配服务器响应所述匹配请求,所述匹配请求中携带所述用户应用行为数据;

测试结果获取子模块,用于获取所述匹配服务器响应于所述匹配请求时产生的测试日志。

9.根据权利要求7所述的装置,其特征在于,所述性能评估模块,包括:第一评估子模块,用于确定所述应用日志中的匹配时长和所述测试日志中的匹配时长的时长差值,作为所述待测试的匹配算法对应的匹配时长变化;

第二评估子模块,用于根据所述应用日志中的匹配结果和所述测试日志中的匹配结果,确定所述待测试的匹配算法对应的匹配质量变化;

确定子模块,用于当所述待测试的匹配算法对应的匹配时长变化和匹配质量变化均满足预设条件时,确定所述待测试的匹配算法的性能合格。

10.根据权利要求7所述的装置,其特征在于,所述装置还包括:测试结果汇总模块,用于获取多个所述测试日志,不同的所述测试日志是基于不同的目标区域的应用运行数据对同一所述待测试的匹配算法分别进行测试得到的;

第一多维度性能比对模块,用于根据多个所述测试日志和所述应用日志,确定所述待测试的匹配算法在不同目标区域上的性能差异。

11.根据权利要求7所述的装置,其特征在于,所述装置还包括:测试结果汇总模块,用于获取多个所述测试日志,不同的所述测试日志是基于同一目标区域的应用运行数据对不同的待测试的匹配算法分别进行测试得到的;

第二多维度性能比对模块,用于根据多个所述测试日志和所述应用日志,确定不同的待测试的匹配算法在同一目标区域上的性能差异。

12.一种匹配算法性能测试系统,其特征在于,所述系统包括:数据采集服务器,用于采集目标区域的应用运行数据,所述应用运行数据包括在应用环境下产生的应用日志;

数据转换服务器,用于将所述应用运行数据转化成用户应用行为数据,所述用户应用行为数据用于表征用户在操作应用过程中所对应的影响用户对战性能的属性数据,其中包括:从所述应用运行数据中获取单局结算日志,根据所述单局结算日志和单局时长,查找所述运行数据中时间最匹配的匹配成功日志;根据查找的所述匹配成功日志和匹配时长,从所述应用运行数据中查找时间最匹配的匹配请求日志;根据查找到的所述匹配请求日志,确定用户个人属性信息和用户所在队伍的队伍属性信息以及与匹配请求时间相对应的网络质量日志记录的网络质量数据,作为所述用户应用行为数据;

测试环境下的匹配请求发起服务器,用于基于所述用户应用行为数据模拟用户行为向所述测试环境下的匹配服务器发送匹配请求;

所述匹配服务器,用于通过预配置的待测试的匹配算法,响应所述匹配请求并将产生的日志数据作为测试日志发送给性能评估设备;

所述性能评估设备,用于根据所述应用日志和所述测试日志确定所述待测试的匹配算法的性能。

13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行权利要求1至6任一项所述的方法。

说明书 :

一种匹配算法性能测试方法、装置、设备、系统及介质

技术领域

[0001] 本申请涉及计算机技术领域,尤其是涉及一种匹配算法性能测试方法、装置、设备及计算机存储介质。

背景技术

[0002] 目前,很多游戏软件都可以支持网络对战,例如多人在线战术竞技游戏(Multiplayer Online Battle Arena,MOBA)类游戏、第一人称视角射击游戏(First 
Personal Shooting Game,FPS)类游戏等,大都支持多个玩家之间的对战,而支持玩家对战
就需要依赖匹配算法从众多玩家中匹配出对战队伍,使得两队队伍的对战能力均衡,使得
游戏的对抗性较好,平衡性较强。
[0003] 在这类游戏开发和优化过程中,很重要的一个问题是根据实际环境优化匹配算法,以提供符合应用环境的性能优秀的匹配算法,所谓匹配算法是指在游戏过程中根据玩
家请求为玩家实时匹配出对战队伍的算法,而匹配算法的性能主要表现为匹配效率和匹配
质量,而在匹配算法的优化过程中就需要采用匹配算法的性能测试方案来测试匹配算法的
性能,进而决定性能是否优秀,是否能够直接投入应用。
[0004] 目前,常用的匹配算法的性能测试方案是,通过机器人伪造大量客户端请求来模拟出大规模匹配场景,通过收集和分析服务器响应数据来判断匹配算法的性能。
[0005] 然而,由于机器人的行为完全是随机的,无法贴合目标用户,因此模拟出的匹配结果也与实际应用的外网差异比较大,对于匹配算法的性能评估参考价值不大,如此导致最
终的性能评估结果也不太可靠。

发明内容

[0006] 本申请实施例提供了一种匹配算法性能测试方法,该方法收集真实用户的用户应用行为,基于用户应用行为模拟目标区域真实用户的匹配请求,以实现对匹配算法在目标
区域内的性能测试,如此测试方法能够较好提高测试结果的有效性。
[0007] 本申请第一方面提供了一种匹配算法性能测试方法,所述方法包括:
[0008] 采集目标区域的应用运行数据,所述应用运行数据包括在应用环境下产生的应用日志;
[0009] 将所述应用运行数据转化成用户应用行为数据,所述用户应用行为数据用于表征用户在操作应用过程中所对应的影响用户对战性能的属性数据;
[0010] 在配置有待测试的匹配算法的测试环境下,根据所述用户应用行为数据进行用户行为回放,并收集所述测试环境下产生的测试日志;
[0011] 根据所述测试日志和所述应用日志,确定所述待测试的匹配算法的性能。
[0012] 本申请第二方面提供了一种匹配算法性能测试装置,所述装置包括:
[0013] 采集模块,用于采集目标区域的应用运行数据,所述应用运行数据包括在应用环境下产生的应用日志;
[0014] 数据转换模块,用于将所述应用运行数据转化成用户应用行为数据,用于表征用户在所述目标区域实施目标行为时所对应的属性特征数据;
[0015] 测试模块,用于在配置有待测试的匹配算法的测试环境下,根据所述用户应用行为数据进行用户行为回放,并收集所述测试环境下产生测试日志;
[0016] 性能评估模块,用于根据所述应用日志和所述测试日志确定所述待测试的匹配算法的性能。
[0017] 本申请第三方面提供一种匹配算法性能测试系统,所述系统包括:
[0018] 数据采集服务器,用于采集目标区域的应用运行数据,所述应用运行数据包括在应用环境下产生的应用日志;
[0019] 数据转换服务器,用于将所述应用运行数据转化成用户应用行为数据,所述用户应用行为数据用于表征用户在操作应用过程中所对应的影响用户对战性能的属性数据;测
试环境下的匹配请求发起服务器,用于将基于所述用户应用行为数据模拟用户行为向所述
测试环境下的匹配服务器发送匹配请求;
[0020] 所述匹配服务器,用于通过预配置的待测试的匹配算法,响应所述匹配请求并将产生的日志数据作为测试日志发送给性能评估设备;
[0021] 所述性能评估设备,用于根据所述应用日志和所述测试日志确定所述待测试的匹配算法的性能。
[0022] 本申请第四方面提供一种设备,所述设备包括:
[0023] 处理器和存储器;
[0024] 所述存储器用于存储计算机程序;
[0025] 所述处理器用于执行所述计算机程序以实现上述第一方面所述的匹配算法性能测试方法。
[0026] 本申请第五方面提供一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序在被执行时实现上述第一方面所述的匹配算法性能测试方
法。
[0027] 本申请第六方面提供一种包括指令的计算机程序产品,所述计算机可读存储介质用于存储计算机程序,所述计算机程序在被执行时实现上述第一方面所述的匹配算法性能
测试方法。
[0028] 从以上技术方案可以看出,本申请提供的一种匹配算法性能测试方法具有以下优点:
[0029] 本申请实施例提供了一种匹配算法性能测试方法,采集目标区域的应用运行数据,将所述应用运行数据转化成用户应用行为数据,该用户应用行为数据用于表征用户在
所述目标区域实施目标行为时所对应的属性特征数据;如此,就能够收集到用户在目标区
域内操作应用时的历史行为数据,后续将该用户应用行为数据用于后续测试过程,在配置
有待测试的匹配算法的测试环境下,根据该用户应用行为数据进行用户行为回放,并收集
所述测试环境下产生的测试日志,最后,根据在历史真实环境下产生的上述应用日志和测
试环境下产生的测试日志,确定所述待测试的匹配算法的性能。由于该方法中是通过收集
目标区域内真实的用户应用行为数据,利用这些真实的用户应用行为数据在测试环境下模
拟用户行为,以实现对匹配算法的性能测试,如此就相当于将匹配算法投入了贴近真实应
用环境下完成整个测试,通过该方法测试所得结果的可靠性就较高,如此能够有效推进新
的匹配算法的运营,同时能够有效避免运营风险。

附图说明

[0030] 图1为本申请实施例提供的一种匹配算法性能测试方法的应用场景示例图;
[0031] 图2为本申请实施例提供的一种匹配算法的性能测试方法的流程图;
[0032] 图3为本申请实施例提供的应用运行数据的采集方式示意图;
[0033] 图4为本申请实施例提供的应用运行数据的转化过程示意图;
[0034] 图5为本申请实施例提供的测试环境示意图;
[0035] 图6为本申请实施例提供的一种匹配算法性能测试方法的应用结果示意图;
[0036] 图7为本申请实施例提供的一种匹配算法性能测试方法的应用结果示意图;
[0037] 图8为本申请实施例提供的一种匹配算法性能测试方法的应用结果示意图;
[0038] 图9为本申请实施例提供的一种匹配算法性能测试方法的应用场景示例图;
[0039] 图10为本申请实施例提供的一种匹配算法性能测试装置的结构示意图;
[0040] 图11为本申请实施例提供的一种匹配算法性能测试装置的一种结构示意图;
[0041] 图12为本申请实施例提供的一种匹配算法性能测试装置的另一种结构示意图;
[0042] 图13为本申请实施例提供的一种匹配算法性能测试装置的另一种结构示意图;
[0043] 图14为本申请实施例提供的一种匹配算法性能测试装置的另一种结构示意图;
[0044] 图15为本申请实施例提供的一种匹配算法性能测试装置的另一种结构示意图;
[0045] 图16为本申请实施例提供的一种提供的一种服务器的结构示意图;
[0046] 图17为本申请实施例提供的一种匹配算法性能测试系统的结构示意图。

具体实施方式

[0047] 为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本
申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在
没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0048] 本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理
解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除
了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何
变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产
品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这
些过程、方法、产品或设备固有的其它步骤或单元。
[0049] 目前采用机器人伪造大量客户端请求来模拟出大规模匹配场景这一方式对匹配算法的性能进行测试,这种测试方法由于模拟行为不符合用户实际情况,如此导致测试结
果可靠性不稳定,针对这一问题,本申请提供了一种匹配算法性能测试方法,该方法通过收
集目标区域的运行数据,根据运行数据反推出用户应用行为数据,如此就能够获得用户在
目标区域内实施操作时真实状态,基于此,在测试环境下模拟用户真实行为以对匹配算法
进行测试,如此就相当于在真实环境下运行该匹配算法一样,测试结果的可靠性就非常高。
[0050] 在实际应用中,本申请提供的一种匹配算法测试方法可以应用于具有数据处理能力的设备,例如可以应用于服务器,也可以应用于终端设备。在具体硬件部署时,可以应用
于独立的服务器上,也可以应用于集群服务器场景。为了方便描述下文仅以应用于独立服
务器为例进行解释说明,而应用于集群服务器或者应用于终端设备上的处理逻辑类似,不
再重复说明。
[0051] 接下来,参见图1,结合图1对本申请实施例提供的一种匹配算法性能测试方法的应用场景进行解释,首先对该应用场景的应用需求进行简单介绍。
[0052] 一般情况下游戏应用在开发阶段或者在应用阶段,会针对各个应用区域配置对应的匹配算法,在匹配算法投入应用之前,需要对该匹配算法在目标区域内未来表现进行测
试,以根据测试结果来确定是否直接投入应用,如果测试结果表征该匹配算法的性能良好
满足需求,此时就可以直接投入应用,而如果测试记过表征该匹配算法的性能还不够满足
需求,此时就需要调整匹配算法,进而对调整后的匹配算法再进行测试。
[0053] 具体的,再参见图1中所示的应用场景,其包括用于存储应用运行数据的数据库102和服务器101,服务器101用于执行本申请提供的一种匹配算法性能测试方法,服务器
101从数据库102中获取目标区域的应用运行数据,例如,该应用运行数据是游戏在实际应
用中产生的运行数据包括游戏应用环境下的匹配服务器记录的第一匹配服务器日志以及
对应的网络质量数据。通过数据转换将应用运行数据转换成用户应用行为数据,该用户应
用行为数据是指目标区域的用户在实际游戏应用过程中对应的属性特征数据,例如用户个
人属性特征数据,用户所属队伍的队伍属性数据,用户所属的网络环境数据等;转换得到用
户应用行为数据相当于获得了用户在真实应用中的真实行为,因此,基于该用户应用行为
数据就能够模拟用户的真实行为在测试环境下针对待测试的匹配算法进行性能测试,根据
当前测试到的测试日志和应用在真实环境下产生的应用日志,就能够测试出该匹配算法的
性能。
[0054] 在该应用场景可知,本申请提供的一种匹配算法性能测试方法,能够高效且高可靠性地实现算法性能测试,以满足实际的软件开发和测试需求,并且能够及时跟进产品迭
代更新速率。
[0055] 接下来,站在服务器角度,对本申请实施例提供的一种匹配算法性能测试方法进行详细说明。参见图2示出的一种匹配算法性能测试方法,该方法包括:
[0056] S201:采集目标区域的应用运行数据。
[0057] 所谓目标区域是指应用运营时所投放的多个区域中的需要匹配更新算法的区域;例如,游戏应用运营初期一般会根据用户总人数、日活跃用户数量(DAU)或者行政区划等原
则,将整个大的游戏应用投放区域划分成多个小区域,例如,一个游戏应用要在中国投放,
则可以将整个大的投放区域划分成“华中”、“华东”、“华北”等小区域,针对每个小区域都设
置有对应的匹配算法,以支持游戏玩家对战服务,如此,当某个小区域对应的匹配算法需要
被测试时,则将该小区域作为目标区域,以获取对应目标区域的应用运行数据。
[0058] 再例如,如果一个游戏应用被投放至东南亚区域,则可以将整个东南亚区域划分为“新加坡”、“马来西亚”等小区域进行运营,而由于每个小区域对应的活跃人数、网络环
境、玩家水平分布等因素会存在较大差异,因此在实际部署时开发人员会为不同的小区域
配置不同的匹配算法,而在匹配算法投入应用之前就需要先对性能进行测试,以确定其性
能是否满足业务需求;或者,在游戏应用运行过程中,如果监测到某个区域的当前匹配算法
性能不够好,此时研发人员就需要为该区域提供新的匹配算法,如此就需要先对该新的匹
配算法进行性能测试,一旦性能达到需求,就可以将该新的匹配算法投入该区域进行使用,
而该区域就作为目标区域。
[0059] 也就是说,游戏应用运营时所划分的任意一个区域需要测试匹配算法在该区域的性能表现时,就将该区域作为目标区域,以进一步获取该目标区域的应用运行数据。如果有
多个区域需要测试同一匹配算法分别在这多个区域的性能表现时,就将这多个区域分别作
为目标区域,以进一步获取每个目标区域各自的应用运行数据。
[0060] 所谓目标区域的应用运行数据是指在该目标区域内的用户操作游戏应用所产生的运行数据,该运行数据可以包括在游戏实际应用环境下用户操作游戏应用所产生的相关
日志,记为应用日志,其中,所谓应用日志可以包括:匹配请求日志、匹配成功日志以及单局
结算日志以及网络质量日志,等等。
[0061] 其中,所谓匹配请求日志用于记录用户的个人属性信息、队伍属性信息和匹配请求时间等信息;所谓匹配成功日志用于记录玩家的匹配时长和匹配成功时间等信息;所述
单局结算日志用于记录基于队伍匹配结果进行对战后的游戏时长和游戏结束时间等信息。
[0062] 下面结合图3对应用运行数据的采集过程进行简单说明。如图3所示,在游戏应用环境下,游戏应用在各个区域内产生的游戏应用运行数据都会通过用户数据报协议传输至
日志服务器中,然后,针对日志服务器中的日志按照日志类型和区域分表,将日志批量存入
数据仓库,最后当需要对某个区域对应的匹配算法进行测试时,可以通过TDW的IDE工具或
者洛子系统导入到测试环境下以进行匹配算法的性能测试。
[0063] 另外,考虑到在一些场景下,目标区域内的用户体量会非常大,如此目标区域内产生的应用运行数据的数据量会非常大,因此,若直接采用所有的应用运行数据参与后续测
试,会给参与测试的服务器造成较大数据压力,同时,会导致测试效率较低,因此,在平衡测
试效率和测试质量两方面性能,可选的,可以从目标区域内的应用运行数据中筛选出对测
试过程价值较高的部分数据,例如,可以采集体现用户行为能力最强的一些数据,具体的,
可以仅采集每天最高在线和最低在线这两个时间段的应用运行数据,或者,可以从所有应
用运行数据中按照用户等级比例或者按照用户登录时间点,阶段式随机抽取一些数据参与
后续测试,如此在保证测试性能的同时提高测试效率。
[0064] S202:将所述应用运行数据转化成用户应用行为数据。
[0065] 应用运行数据能够记录用户操作游戏应用过程的各个阶段的行为情况,但为了给后续测试提供有实用价值的数据,还需要从这些数据中挑选出能够完整体现出匹配算法发
挥价值的数据链,而能够体现匹配算法发挥价值的操作行为数据链包括用户发起匹配请求
→服务器响应匹配请求→匹配成功→基于匹配结果进行单局游戏→单局结算这一过程中
产生的数据。
[0066] 基于此,为了快速从应用运行数据中挑选出这些有价值的数据链,本申请实施例还提供了逆向查找方式,如此能够提高数据转换效率。
[0067] 所谓逆向查找方式是考虑到有些匹配请求并不会被响应,而有些匹配结果并不会被用户所采用,这些情况导致很多数据无法形成上述数据链,无法作为测试环境中的基础
数据,基于此,通过逆向思维方式从数据链的终点开始,反向查找数据,即从“单局结算日志
→成功匹配日志→匹配请求日志”这一反向查找路线,查找出一条条数据链。
[0068] 下面从数据处理角度,对如何从应用运行数据中选择出对后续测试过程有用的用户行为数据进行解释说明。所述用户应用行为数据是指用于表征用户在操作应用过程中所
对应的影响用户对战性能的属性数据;具体的,首先从所述应用运行数据中获取单局结算
日志,根据所述单局结算日志和单局时长,查找所述运行数据中时间最匹配的匹配成功日
志;然后,根据查找的所述匹配成功日志和匹配时长,从所述应用运行数据中查找时间最匹
配的匹配请求日志;最后,根据查找到的所述匹配请求日志,确定用户个人属性信息和用户
所在队伍的队伍属性信息以及与匹配请求时间相对应的网络质量日志记录的网络质量数
据,作为所述用户应用行为数据。
[0069] 经过上述转化方式转化所得的用户应用行为数据,是在游戏实际应用过程中表征用户发起匹配请求且匹配请求被成功响应后,基于匹配结果进行单局游戏这一过程中能够
表征用户在游戏中操作能力的相关数据。具体的,用户应用行为数据可以包括用户个人属
性信息、队伍属性信息、网络质量,例如用户游戏等级(玩家段位)等级、开始匹配时间、队伍
人数、队伍等级、玩家MMR值(比赛匹配分级)、网络质量等。
[0070] 为了更形象地获知上述数据转换过程,下面结合图4对上述S202的具体实现过程进行示例说明。
[0071] 参见图4,服务器先从应用运行数据中获取单局结算日志,并利用单局结算日志中记录的结算时间和单局时长计算这局游戏的匹配成功时间;以单局结算日志中第一条记录
“玩家A、对战ID为1、单局时长为900秒即15分钟、结算时间为2018年1月23日18:15:00”为例
进行说明。基于结算时间减去单局时长计算出参考匹配成功时间,即18:15:00减去15:00得
到这一局游戏对应的最可能的匹配成功时间作为参考匹配成功时间为18:00:00,以此为基
础,在从匹配成功日志中查找与结算日志中第一条记录相关的上述参考匹配时间最接近的
匹配成功时间,例如查找到匹配成功日志中的第一条记录“对战ID为1、玩家A、匹配成功时
间2018年1月23日17:57:00、队伍编号为1、匹配时长为10秒”;所谓最接近的匹配成功时间,
是指距离最相近且不晚于上述参考匹配成功时间的匹配成功时间。
[0072] 接着,服务器基于上述查找到的最接近的匹配成功时间即“2018年1月23日17:57:00”,然后基于该匹配成功时间减去匹配时长得到参考匹配请求时间,及17:57:00‑10秒得
到17:56:50,作为参考匹配请求时间,然后从匹配请求日志中查找出于上述匹配成功日志
中的第一条记录相关的且与所述参考匹配请求时间最相近的匹配请求时间,进而基于相同
匹配请求时间的处于同一队伍的玩家的个数属性信息确定队伍属性信息,例如,以个人MMR
值计算队伍MMR值,而且用户应用行为数据中还包括玩家到每个机房的测速数据,即网络质
量,如此,匹配算法才能为玩家匹配出最合适的对手。最终,以队伍为分组,确定出用户应用
行为数据,将用户应用行为数据按照匹配协议规定存放,以便后续测试使用。
[0073] S203:在配置有待测试的匹配算法的测试环境下根据用户应用行为数据进行用户行为回放,收集测试环境下产生的测试日志。
[0074] 在获得用户应用行为数据后,利用这些用户应用行为数据进行用户行为回放,所谓进行用户行为回放,即模拟用户行为发起匹配请求以测试匹配算法的性能,服务器根据
用户应用行为数据中用户个人属性信息和队伍属性信息以及网络质量信息,按照对应的匹
配请求时间发起匹配请求,如此进行用户行为回放,将服务器响应用户行为回放过程的匹
配请求的整个过程中记录的日志作为测试日志。
[0075] 由于用户应用行为数据是根据历史的应用运行数据转换得到的,历史的应用运行数据又是服务器在目标区域玩家进行游戏时记录得到的。因此,根据用户应用行为数据进
行的用户行为回放和目标区域玩家的真实匹配习惯具有一致性,就相当于目标区域玩家的
真实操作一样,如此使得测试过程跟真实用户操作过程相匹配,以提高测试结果的可靠性。
[0076] 整个测试过程是在测试环境下进行的,所谓测试环境具体可以按照图5所示的方式来搭建。
[0077] 参见图5,上文所述的测试环境可以基于游戏应用实际应用环境来实现,如图5所示,一般游戏应用实际应用环境的硬件部署包括接入服务器、大厅服务器、转发服务器、匹
配服务器、房间服务器等多个服务器。在这种情况下,就是将游戏应用实际应用环境作为测
试环境来完成针对匹配算法的测试,如此,就不需要额外搭建环境,只需要借助已有的实际
应用环境中部署的各个服务器来进行测试即可。
[0078] 但为了不影响游戏应用过程,不影响玩家体验,可以独立于游戏应用实际应用环境,而专门搭建一个测试环境,由于该测试环境仅仅只要能够实现游戏应用的基本逻辑,完
成匹配算法的测试即可,因此不需要完全实现整个应用的所有业务逻辑,如此,可以简化环
境部署,可以以实际应用环境的硬件架构为基础,对实际应用环境进行裁剪,裁剪出一些不
必要部分,以得到一个简化的硬件架构作为测试环境,如图5所示,删除接入服务器,并采用
SSTOOL发包工具代替大厅服务器,同时采用类似Mock Svr代替房间服务器,如此,既能够节
约成本又能够加速测试。
[0079] S204:根据所述应用日志和所述测试日志,确定所述待测试的匹配算法的性能。
[0080] 在通过用户行为回放得到测试日志后,可以根据测试过程中记录的测试日志和在实际应用中记录的应用日志,确定出当前测试的匹配算法的性能是否满足需求。
[0081] 由于匹配算法的性能可以通过匹配质量和匹配时间来衡量,因此,在具体实现时,可以比较测试日志和应用日志中匹配时长这一具体参数,计算两种日志中同一匹配请求对
应匹配时长的差值,通过匹配时长的差值能够衡量出当前测试的匹配算法的性能,例如,当
测试日志中的匹配时长小于应用日志中的匹配时长时,确定当前测试的匹配算法的性能良
好,这是因为匹配时长越短,说明匹配算法的匹配效率越好,即性能越好。除了基于匹配时
长进行性能评估之外,还可以比较测试日志和应用日志反应出的针对相同匹配请求的匹配
结果,通过两对匹配结果来衡量当前测试的匹配算法的匹配质量,一般情况下,为玩家匹配
的两队的对战能力越均衡,说明匹配质量越好,例如,可以用游戏双方(或多方)的平均MMR
越接近,说明匹配算法性能越好。当测试日志反应出的匹配质量高于应用日志反应出的匹
配质量时,确定当前测试的匹配算法的性能良好。
[0082] 在一些情况下,还可以结合匹配算法在不同时间段的性能表现,阶段性评估匹配算法的性能,例如,对于一些不同时间段活跃用户数量差异很大的目标区域,或者网络环境
受时间影响的目标区域,还可以比较在不同应用时段下,应用日志和测试日志中匹配时长
的之间的差值,得到待测试匹配算法对不同应用时段的匹配时长,如此仅仅关注一些重要
应用时间段内匹配算法的性能。
[0083] 当然,在实际应用中,可以综合上述匹配时长和匹配质量两个维度的评估,只有两个维度的评估结果都表明当前测试的匹配算法的性能良好,才最终确定出当前测试的匹配
算法的性能良好,否则,认为当前测试的匹配算法性能还不够好,不足以投入使用。
[0084] 在具体实现时,可以确定所述应用日志中的匹配时长和所述测试日志中的匹配时长的时长差值,作为所述待测试的匹配算法对应的匹配时长变化;根据所述应用日志中的
匹配结果和所述测试日志中的匹配结果,确定所述待测试的匹配算法对应的匹配质量变
化;当所述待测试的匹配算法对应的匹配时长变化和匹配质量变化均满足预设条件时,确
定所述待测试的匹配算法的性能合格。
[0085] 另外,还可以利用不同区域、不同时段的应用日志和测试日志对匹配算法进行考综合量。如图6所示,在对匹配算法进行评价时,对多组测试日志和应用日志进行数据分析,
得到多个报表数据,再根据这些报表数据对匹配算法的性能进行综合评价。最后,当测试得
到的匹配算法的性能为不合格时,可以针对匹配算法做二次优化,当测试结果为合格时,可
以将合格的匹配算法发布至目标区域进行匹配算法更新,用新的匹配算法代替原始的匹配
算法进行匹配。
[0086] 由上可知,本申请实施例提供的匹配算法性能测试方法,在对匹配算法进行测试前,先将采集自目标区域的运行数据转化为用户行为数据。由于运行数据是在目标区域实
际运行时产生的,根据目标区域实际运行产生的运营数据转化得到的用户行为数据和用户
的真实行为一致。如此,利用用户行为数据对匹配算法进行测试相当于将匹配算法直接配
置在目标区域进行运营,如此测试所得的结果就非常可靠。
[0087] 另外,在需要测试一个新的匹配算法在多个目标区域中的性能时,可以转化不同区域的运行数据并进行测试,再将多个地区的测试结果相比较。如图7所示,当需要分析匹
配算法在目标区域A、目标区域B和目标区域C三个地区中的匹配性能时,可以采集这三个区
域的运行数据,然后将运行数据转化为三个区域对应的用户应用行为数据进行用户行为回
放,再比较各个地区对应测试日志和回放日志中的匹配时长,最后再横向比较三个地区匹
配时长的变化趋势,得到图7所示的柱状图。通过图7的数据可以看出,该新的匹配算法在地
区A、B、C三个目标区域的性能表现,与原始匹配算法相比,匹配时长更长,即该新的匹配算
法的性能较差,不够好,因此该新的匹配算法还不能投入使用。
[0088] 在一些情况下,可能需要从多个匹配算法中为目标区域选择一个最佳的匹配算法,此时,可以利用同样的行为数据和用户应用行为数据对多个匹配算法进行测试。如图8
所示,当需要比较两个待测试匹配算法在目标区域的匹配性能差异时,可以采用一组用户
应用行为数据对两个待测试匹配算法进行用户行为回放并采集测试日志。
[0089] 然后,分析比较测试日志中平均MMR差值的分布情况,将各个匹配算法的MMR差进行横向对比,确定出多个不同的匹配算法在同一目标区域上的性能差异,进而能够确定出
在目标区域上性能最好的匹配算法。
[0090] 对于图8中的待测试匹配算法1,分析其对应的平均MMR差的分布情况,可以看到匹配结果在平均MMR差值为0‑20时占比最大,并随着平均MMR差值增大而减小,这说明使用待
测试匹配算法1进行匹配,得到的匹配结果中对战双方水平差距较小。通过横向对比原始匹
配算法和待测试匹配算法1在各个平均MMR差值区间的分布情况可以看到,使用待测试匹配
算法1进行匹配得到的MMR差值主要分布在0‑40区间,而原始匹配算法的分布较为平均。这
说明和原始匹配算法相比,使用待测试匹配算法1进行匹配,得到的匹配结果中对战双方水
平差距更小,匹配质量更好。
[0091] 为了便于理解本申请的技术方案,接下来结合具体场景对本申请提供的匹配算法性能测试方法进行介绍。
[0092] 参见图9所示的匹配算法性能测试方法的场景示意图,该场景中包括应用环境和测试环境两个主要部分,所谓应用环境可以理解为是游戏应用环境,即游戏的实际运行环
境,该实际运行环境包括N个配置有游戏客户端的终端910和运行服务器920;而测试环境则
是为了测试新的匹配算法在目标区域的性能表现的环境,该测试环境950可以为上文所述
的裁剪后的环境,包括发包工具SSTTOOL951、转发服务器952、匹配服务器953和接收服务器
954。在具体实现时,上述应用环境和上述测试环境彼此不影响,仅是将应用环境下产生的
应用运行数据存储起来,以备后续测试匹配算法时所需,而只有在需要针对某个匹配算法
进行测试时才会获取目标区域产生的应用运行数据,并将其转换成用户应用行为数据,进
而在基于该测试环境,在该测试环境下利用该用户应用行为数据回放用户行为,以实现对
匹配算法的测试。
[0093] 具体的,在应用环境下,用户操作游戏界面,可以通过终端910向应用服务器920发送匹配请求,应用服务器920接收匹配请求,然后对玩家进行匹配并开始游戏。在这个过程
中,可以将应用服务器920产生的各种数据记录在数据库930中。在需要对匹配算法进行性
能测试时,转化服务器940可以先从数据库930中获取目标区域的应用运行数据,然后将应
用运行数据转化为用户应用行为数据输入到测试环境950中。
[0094] 在测试环境950中,发包工具SSTOOL951可以根据用户应用行为数据对用户行为进行模拟,根据目标区域用户的实际情况向转发服务器952发送匹配请求,然后转发服务器
952再将匹配请求转发至匹配服务器953,接着匹配服务器953根据预先配置好的待测试匹
配算法对匹配请求进行处理,得到匹配结果并返回给转发服务器952。最后,转发服务器952
将接受到的匹配结果发送至接收服务器954,完成模拟的匹配过程并记录测试过程中产生
的数据作为测试日志。这些测试结果能够提供给研发人员作为基础素材,以方便研发人员
可以对测试日志和应用日志进行综合分析,得到待测试匹配算法性能测试的结果。
[0095] 以上为本申请实施例提供的匹配算法性能测试方法的一些具体实现方式,基于此,本申请还提供了对应的装置。下面将从功能模块化的角度对本申请实施例提供的上述
装置进行介绍。
[0096] 参见图10所示的匹配算法性能测试装置的结构示意图,该装置1000包括:
[0097] 采集模块1010,用于采集目标区域的应用运行数据,所述应用运行数据包括在应用环境下产生的应用日志;
[0098] 数据转换模块1020,用于将所述应用运行数据转化成用户应用行为数据,所述用户应用行为数据用于表征用户在操作应用过程中所对应的影响用户对战性能的属性数据;
[0099] 测试模块1030,用于在配置有待测试的匹配算法的测试环境下,根据所述用户应用行为数据进行用户行为回放,并收集所述测试环境下产生的测试日志;
[0100] 性能评估模块1040,用于根据所述应用日志和所述测试日志确定所述待测试的匹配算法的性能。
[0101] 可选地,参见图11,图11为本申请实施例提供的匹配算法性能测试装置的一种结构示意图,在图10所示结构的基础上,所述数据转换模块1020包括:
[0102] 第一查找子模块1021,用于从所述应用运行数据中获取单局结算日志,根据所述单局结算日志和单局时长,查找所述应用运行数据中时间最匹配的匹配成功日志;
[0103] 第二查找子模块1022,用于根据查找的所述匹配成功日志和匹配时长,从所述应用运行数据中查找时间最匹配的匹配请求日志;
[0104] 数据转换子模块1023,用于根据查找到的所述匹配请求日志,确定用户个人属性信息和用户所在队伍的队伍属性信息和与匹配请求时间相对应的网络质量数据,作为所述
用户应用行为数据。
[0105] 可选地,参见图12,图12为本申请实施例提供的匹配算法性能测试装置的一种结构示意图,在图10所示结构的基础上,所述测试模块1030包括:
[0106] 模拟请求子模块1031,用于在配置有待测试的匹配算法的测试环境下,根据所述用户行为应用数据模拟用户行为向所述测试环境下的匹配服务器发送匹配请求,通过所述
测试环境下的匹配服务器响应所述匹配请求,所述匹配请求中携带所述用户应用行为数
据;
[0107] 测试结果获取子模块1032,测试结果获取子模块,用于获取所述匹配服务器响应于所述匹配请求时产生的测试日志。
[0108] 可选地,参见图13,图13为本申请实施例提供的匹配算法性能测试装置的一种结构示意图,在图10所示结构的基础上,所述性能评估模块1040包括:
[0109] 第一评估子模块,用于确定所述应用日志中的匹配时长和所述测试日志中的匹配时长的时长差值,作为所述待测试的匹配算法对应的匹配时长变化;
[0110] 第二评估子模块,用于根据所述应用日志中的匹配结果和所述测试日志中的匹配结果,确定所述待测试的匹配算法对应的匹配质量变化;
[0111] 确定子模块,用于当所述待测试的匹配算法对应的匹配时长变化和匹配质量变化均满足预设条件时,确定所述待测试的匹配算法的性能合格。
[0112] 可选地,参见图14,图14为本申请实施例提供的匹配算法性能测试装置的一种结构示意图,在图10所示结构的基础上,所述装置1000还包括:
[0113] 测试结果汇总模块1050,用于获取多个所述测试日志,不同的所述测试日志是基于不同的目标区域的应用运行数据对同一所述待测试的匹配算法分别进行测试得到的;
[0114] 第一多维度性能比对模块1060,用于根据多个所述测试日志和所述应用日志,确定所述待测试的匹配算法在不同目标区域上的性能差异。
[0115] 可选地,参见图15,图15为本申请实施例提供的匹配算法性能测试装置的一种结构示意图,在图10所示结构的基础上,所述装置1000还包括:
[0116] 测试结果汇总模块1070,用于获取多个所述测试日志,不同的所述测试日志是基于同一目标区域的应用运行数据对不同的待测试的匹配算法分别进行测试得到的;
[0117] 第二多维度性能比对模块1080,用于根据多个所述测试日志和所述应用日志,确定不同的待测试的匹配算法在同一目标区域上的性能差异。
[0118] 基于本申请实施例提供的上述方法和装置的具体实现方式,本申请还提供了一种设备,用于实现对匹配算法性能测试。下面将从硬件实体化的角度对本申请实施例提供的
设备进行介绍。
[0119] 参见图16,图16是本申请实施例提供的一种设备的结构示意图,该设备可以是服务器,该服务器1600可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上
中央处理器(central processing units,CPU)1622(例如,一个或一个以上处理器)和存储
器1632,一个或一个以上存储应用程序1642或数据1644的存储介质1643(例如一个或一个
以上海量存储设备)。其中,存储器1632和存储介质1643可以是短暂存储或持久存储。存储
在存储介质1643的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对
服务器中的一系列指令操作。更进一步地,中央处理器1622可以设置为与存储介质1643通
信,在服务器1600上执行存储介质1643中的一系列指令操作。
[0120] 服务器1600还可以包括一个或一个以上电源1626,一个或一个以上有线或无线网络接口1650,一个或一个以上输入输出接口1658,和/或,一个或一个以上操作系统1641,例
如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
[0121] 上述实施例中由服务器所执行的步骤可以基于该图16所示的服务器结构。
[0122] 其中,CPU 1622用于执行如下步骤:
[0123] 采集目标区域的应用运行数据,所述应用运行数据包括在应用环境下产生的应用日志;
[0124] 将所述应用运行数据转化成用户应用行为数据,所述用户应用行为数据用于表征用户在操作应用过程中所对应的影响用户对战性能的属性数据;
[0125] 在配置有待测试的匹配算法的测试环境下,根据所述用户应用行为数据进行用户行为回放,并收集所述测试环境下产生的测试日志;
[0126] 根据所述测试日志和所述应用日志确定所述待测试的匹配算法的性能。
[0127] 可选的,所述CPU 1622还用于执行本申请实施例提供的匹配算法性能测试方法的任意一种实现方式的步骤。
[0128] 本申请实施例还提供一种匹配算法性能测试系统,参见图17所示的匹配算法性能测试系统的结构示意图,该装置1700包括:
[0129] 数据采集服务器1710,用于采集目标区域的应用运行数据,所述应用运行数据包括在应用环境下产生的应用日志;
[0130] 关于数据采集服务器1710的具体实现,可以参见上文方法实施例中步骤S201的相关描述,此处不再赘述;
[0131] 数据转换服务器1720,用于将所述应用运行数据转化成用户应用行为数据,所述用户应用行为数据用于表征用户在操作应用过程中所对应的影响用户对战性能的属性数
据;
[0132] 关于数据转换服务器1720的具体实现,可以参见上文方法实施例中步骤S202的相关描述,此处不再赘述;
[0133] 测试环境下的匹配请求发起服务器1730,用于将基于所述用户应用行为数据模拟用户行为向所述测试环境下的匹配服务器发送匹配请求;
[0134] 关于匹配请求发起服务器1730的具体实现,可以参见上文方法实施例中步骤S203的相关描述,此处不再赘述;
[0135] 所述匹配服务器1740,用于通过预配置的待测试的匹配算法,响应所述匹配请求并将产生的日志数据作为测试日志发送给性能评估设备;
[0136] 关于匹配服务器1740的具体实现,可以参见上文方法实施例中步骤S203的相关描述,此处不再赘述;
[0137] 所述性能评估设备1750,用于根据所述应用日志和所述测试日志确定所述待测试的匹配算法的性能。
[0138] 关于性能评估设备1750的具体实现,可以参见上文方法实施例中步骤S204的相关描述,此处不再赘述。本申请实施例还提供一种计算机可读存储介质,用于存储程序代码,
该程序代码用于执行前述各个实施例所述的一种匹配算法性能测试方法中的任意一种实
施方式。
[0139] 所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0140] 在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的
划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件
可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或
讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦
合或通信连接,可以是电性,机械或其它的形式。
[0141] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个
网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目
的。
[0142] 另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单
元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0143] 所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上
或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式
体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机
设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全
部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文全称:Read‑Only 
Memory,英文缩写:ROM)、随机存取存储器(英文全称:Random Access Memory,英文缩写:
RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
[0144] 以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前
述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些
修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。