掌桥专利:专业的专利平台
掌桥专利
首页

技术领域

本公开涉及电子信息处理技术领域,具体地,涉及一种帧同步游戏的检测方法、装置、平台、可读介质和设备。

背景技术

随着电子信息技术的不断发展,应用市场上出现了各种各样的游戏类应用程序。由于游戏中会有多个用户同时在线,因此需要保证游戏在每个用户各自的客户端上保持同步,可以理解为其中任一用户在客户端上触发的操作,需要同步到其他用户的客户端上,使得每个用户在同一时刻体验相同的游戏内容。通常情况下,可以通过帧同步的方式来保证游戏的同步,把游戏分为多个帧,游戏服务器只有当集齐了每一帧内所有用户在客户端上触发的操作后,才会广播给所有的客户端,由每个客户端对所有用户触发的操作进行处理,对于每个客户端来说,同一帧的输入相同,因此能够保证游戏的同步。

然而由于客户端的运算处理能力(例如精度)不同、随机种子不同等原因,可能导致游戏在客户端出现不同步的问题。在对游戏进行测试时,需要技术人员在一局游戏结束后,手动获取游戏过程中产生的日志、快照、对战信息等,并进行比对,以确定游戏是否出现不同步的问题。之后,再通过添加用于辅助定位的日志,并重复游戏过程从而定位产生不同步的帧。需要耗费大量的人力和时间,测试效率和准确度较低。

发明内容

提供该发明内容部分以便以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。该发明内容部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。

第一方面,本公开提供一种帧同步游戏的检测方法,所述方法包括:

分别获取多个游戏客户端在目标游戏对局中执行操作产生的执行结果信息;

若多个所述游戏客户端的所述执行结果信息存在不同,判断游戏不同步,并确定初始帧范围;

控制回放设备获取所述游戏客户端执行所述操作的操作记录,并控制所述回放设备回放所述初始帧范围内的操作;

获取所述回放设备发送的回放结果信息,所述回放结果信息为所述回放设备回放所述初始帧范围内的操作产生的结果信息;

根据所述回放结果信息,确定所述初始帧范围内产生不同步的目标帧。

第二方面,本公开提供一种帧同步游戏的检测装置,所述装置包括:

第一获取模块,用于分别获取多个游戏客户端在目标游戏对局中执行操作产生的执行结果信息;

确定模块,用于若多个所述游戏客户端的所述执行结果信息存在不同,判断游戏不同步,并确定初始帧范围;

控制模块,用于控制回放设备获取所述游戏客户端执行所述操作的操作记录,并控制所述回放设备回放所述初始帧范围内的操作;

第二获取模块,用于获取所述回放设备发送的回放结果信息,所述回放结果信息为所述回放设备回放所述初始帧范围内的操作产生的结果信息;

检测模块,用于根据所述回放结果信息,确定所述初始帧范围内产生不同步的目标帧。

第三方面,本公开提供一种检测平台,所述检测平台用于实现本公开第一方面所述方法的步骤。

第四方面,本公开提供一种计算机可读介质,其上存储有计算机程序,该程序被处理装置执行时实现本公开第一方面所述方法的步骤。

第五方面,本公开提供一种电子设备,包括:

存储装置,其上存储有计算机程序;

处理装置,用于执行所述存储装置中的所述计算机程序,以实现本公开第一方面所述方法的步骤。

通过上述技术方案,本公开首先获取多个游戏客户端在目标游戏对局中执行操作产生的执行结果信息,若多个游戏客户端执行结果信息存在不同,判断游戏不同步,并确定初始帧范围。之后,控制回放设备获取游戏客户端执行操作的操作记录,并回放初始帧范围内的操作,再获取回放设备回放初始帧范围内的操作产生的回放结果信息,从而根据相应的回放结果信息确定初始帧范围内产生不同步的目标帧。本公开通过获取客户端的执行结果信息,来判断游戏是否不同步,并确定初始帧范围,再利用回放设备回放初始帧范围内的操作,从而根据回放结果信息确定初始帧范围内的目标帧。能够实现游戏检测过程的自动化,提高游戏检测的效率和准确度。

本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。

附图说明

结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。在附图中:

图1是根据一示例性实施例示出的一种帧同步游戏的检测方法的流程;

图2是根据一示例性实施例示出的另一种帧同步游戏的检测方法的流程图;

图3是根据一示例性实施例示出的另一种帧同步游戏的检测方法的流程图;

图4是根据一示例性实施例示出的帧同步游戏的检测系统的示意图;

图5是根据一示例性实施例示出的另一种帧同步游戏的检测方法的流程图;

图6是根据一示例性实施例示出的另一种帧同步游戏的检测方法的流程图;

图7是根据一示例性实施例示出的一种帧同步游戏的检测装置的框图;

图8是根据一示例性实施例示出的另一种帧同步游戏的检测装置的框图;

图9是根据一示例性实施例示出的另一种帧同步游戏的检测装置的框图;

图10是根据一示例性实施例示出的另一种帧同步游戏的检测装置的框图;

图11是根据一示例性实施例示出的一种电子设备的框图。

具体实施方式

下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。

应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。

本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。

需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。

需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。

本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。

在介绍本公开提供的帧同步游戏的检测方法、装置、平台、可读介质和设备之前,首先对本公开各个实施例所涉及的应用场景进行介绍。该应用场景可以包括:安装了游戏应用程序的游戏客户端、为游戏应用程序提供服务的游戏服务器、回放设备组和用于检测帧同步游戏的检测平台。其中,游戏应用程序的同步方式为帧同步,安装了游戏应用程序的游戏客户端,可以参与目标游戏对局(可以理解为一局对战,或者一局任务等),即目标游戏对局中可以有多个游戏客户端参与。目标游戏对局中,可以包括多个帧,每个游戏客户端在每一帧内触发的操作,都会发送给游戏服务器,游戏服务器在集齐每一帧内所有游戏客户端触发的操作后,会将该帧内所有游戏客户端触发的操作发送给每个游戏客户端,由每个游戏客户端进行处理并展示相应的游戏内容(例如画面、声音等),同时每个游戏客户端还会生成执行结果信息。游戏服务器可以记录每个游戏客户端在游戏的每一帧内触发的操作,即后文提及的操作记录(可以理解为游戏录像)。

回放设备组中可以包括多个回放设备,回放设备的类型可以是服务器,也可以是终端设备。其中,终端设备包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等移动终端以及诸如数字TV、台式计算机等固定终端。检测平台可以理解为本公开实施例中的执行主体,包括一个或多个服务器,能够与游戏客户端、游戏服务器和回放设备组进行数据通信。上述服务器包括但不限于:实体服务器,服务器集群或云端服务器。

图1是根据一示例性实施例示出的一种帧同步游戏的检测方法的流程图,如图1所示,该方法包括以下步骤:

步骤101,分别获取多个游戏客户端在目标游戏对局中执行操作产生的执行结果信息。

举例来说,检测平台可以在目标游戏对局结束后,获取参与目标游戏对局的多个游戏客户端中每个游戏客户端发送的执行结果信息。其中,执行结果信息包括了对应的游戏客户端在目标游戏对局中执行操作产生的信息,也就是说,执行结果信息中包括了全部游戏客户端在目标游戏对局中的每一帧内触发的操作产生的信息。进一步的,每个游戏客户端发送的执行结果信息还可以携带有该游戏客户端的ID,以便检测平台确定执行结果信息的来源。

其中,执行结果信息中可以包括:目标游戏对局结束后产生的对战信息(例如:参与对战的人数、对战时长、胜利用户的用户名等)、游戏快照(例如:目标游戏对局的对象的状态值等)、游戏日志(例如目标游戏对局的函数所产生的日志)等。可以理解为,执行结果信息中,包括了目标游戏对局的对战信息、目标游戏对局内每一帧的游戏快照和目标游戏对局内每一帧的游戏日志。

步骤102,若多个游戏客户端的执行结果信息存在不同,判断游戏不同步,并确定初始帧范围。

示例的,检测平台可以依次比对每个游戏客户端对应的执行结果信息。例如,检测平台上可以预先设置有一致性计算服务,用于比对不同游戏客户端对应的执行结果信息,进一步的检测平台上还可以设置有主服务器和文件服务器,其中,文件服务器用于存储游戏客户端、回放设备发送的数据(例如执行结果信息、后文提及的回放结果信息等),主服务器用于执行本实施例中的步骤。通常情况下,受限于游戏客户端的存储资源、处理资源,和游戏客户端与检测平台之间数据传输的带宽,游戏客户端发送至检测平台的执行结果信息中,往往只包括了部分关键信息,例如可以是指定对象(例如:参与对战的人数、角色等级、角色血量等)的状态值。并且游戏客户端会将连续多个帧的游戏快照、游戏日志进行压缩,以节省游戏客户端的存储资源和处理资源,同时也节省了传输执行结果信息所占用的带宽。例如,游戏客户端在执行操作记录时,可以将连续10帧的游戏快照压缩为一个游戏快照文件,也可以将连续20帧的游戏日志压缩为一个游戏日志文件。

因此,主服务器在调用一致性计算服务对执行结果信息进行比对时,针对执行结果信息中的对战信息,可以比对对战信息内的每个对象的值,也可以直接比对完整的对战信息。针对游戏快照,可以比对每个游戏快照文件的MD5(英文:MD5 Message-DigestAlgorithm,中文:信息摘要算法)值,也可以比对每个游戏快照文件中的全部对象。针对游戏日志,可以比对每个游戏日志文件的MD5值,也可以比对每个游戏日志文件中的全部对象。

一致性计算服务比对多个游戏客户端对应的执行结果信息,若多个游戏客户端对应的执行结果信息均相同,即每个游戏客户端上展示的游戏内容均相同,那么可以确定游戏同步。若多个游戏客户端对应的执行结果信息存在不同,即至少存在一个游戏客户端对应的执行结果信息,与其他游戏客户端对应的执行结果信息不同,那么可以确定游戏不同步。在确定游戏不同步的情况下,可以先确定初始帧范围,初始帧范围可以理解为目标游戏对局产生不同步的大致范围。在一种实现方式中,可以根据多个游戏客户端对应的执行结果信息,确定初始帧范围。在另一种实现方式中,也可以由测试人员直接下发包括了初始帧范围的帧范围指令,通过解析帧范围指令,来确定初始帧范围。

例如,目标游戏对局共包括300帧,参与目标游戏对局的A、B、C共3个游戏客户端。每个游戏客户端对应的执行结果信息中均包括了目标游戏对局中的第1-50帧、第51-100帧、第101-150帧、第151-200帧、第201-250帧、第251-300帧对应的6个游戏快照文件。若3个游戏客户端对应的执行结果信息中,第1-50帧、第51-100帧、第151-200帧、第201-250帧、第251-300帧对应的游戏快照文件的MD5值均相同,而A游戏客户端的第101-150帧对应的游戏快照文件的MD5值,与B游戏客户端、C游戏客户端的第101-150帧对应的游戏快照文件的MD5值不相同,那么可以将第101-150帧作为初始帧范围。

步骤103,控制回放设备获取游戏客户端执行操作的操作记录,并控制回放设备回放初始帧范围内的操作。

步骤104,获取回放设备发送的回放结果信息,回放结果信息为回放设备回放初始帧范围内的操作产生的结果信息。

示例的,在确定该游戏不同步的情况下,检测平台可以控制回放设备获取操作记录,其中,操作记录包括了每个游戏客户端执行的操作,回放设备可以是一个,也可以是多个。例如,检测平台可以将操作记录发送给回放设备,检测平台也可以控制回放设备从游戏服务器获取操作记录,游戏服务器内可以设置一个存储服务,用于存储操作记录,回放设备可以通过存储服务获取操作记录。之后,检测平台可以再控制回放设备回放操作记录中初始帧范围内的操作。以初始帧范围为第101-150帧为例,那么检测平台可以控制每个回放设备回放操作记录中第101-150帧内的操作。

相应的,检测平台可以获取回放设备回放操作记录中初始帧范围内的操作产生的回放结果信息。由于回放设备只回放了初始帧范围内的操作,相应产生的回放结果信息包含的信息量相比于执行结果信息来说大大减少。并且,由于回放设备的存储资源和处理资源可以根据实际需求来设置,因此,回放结果信息中可以包括初始帧范围内每一帧的游戏快照,和初始帧范围内每一帧的游戏日志,而无需再对游戏快照、游戏日志进行压缩。

需要说明的是,回放设备回放操作记录中初始帧范围内的操作,仅需要根据初始帧范围内的操作执行目标游戏对局相应的逻辑,不需要对目标游戏对局的内容(例如画面、声音)进行渲染或者处理,相比于游戏客户端执行操作记录中初始帧范围内的操作,回放设备回放的时间大大缩短。例如,初始帧范围内包括200帧,游戏客户端执行初始帧范围内的操作可能需要5分钟,回放设备回放初始帧范围内的操作仅需要几十秒。因此,回放设备能够快速得到回放结果信息,充分提高了检测的效率。

步骤105,根据回放结果信息,确定初始帧范围内产生不同步的目标帧。

示例的,检测平台在得到回放结果信息后,可以根据回放结果信息来确定产生不同步的目标帧。在回放设备为一个的场景中,可以将回放结果信息与执行结果信息进行比对,从而确定目标帧。在回放设备为多个的场景中,可以依次比对每个回放设备对应的回放结果信息。同样的,可以利用检测平台上的一致性计算服务,来比对不同回放设备对应的回放结果信息。一致性计算服务在对回放结果信息进行比对时,针对回放结果信息中的游戏快照,可以比对每一帧游戏快照的MD5值,也可以比对每一帧游戏快照中的全部对象,还可以比对每一帧游戏快照内包括的堆栈信息。针对游戏日志,可以比对每一帧游戏日志的MD5值,也可以比对每一帧游戏日志文件中的全部对象。一致性计算服务比对多个回放设备对应的回放结果信息,若某个回放设备对应的回放结果信息中某一帧的游戏快照或者游戏日志,与其他回放设备对应的回放结果信息中该帧的游戏快照或者游戏日志不相同,可以将该帧直接作为目标帧。也可以在一致性计算服务完成每两个回放设备对应的回放结果信息的比对之后,在每次比对得到的,对应的游戏快照或者游戏日志不相同的帧之中,筛选出目标帧,例如可以将时间顺序最前的,对应的游戏快照或者游戏日志不相同的帧作为目标帧。这样,可以通过执行结果信息先确定产生不同步的初始帧范围,之后再利用回放设备回放初始帧范围内的操作,从而根据回放结果信息确定具体产生不同步的目标帧,无需技术人员手动添加日志,就能定位到目标帧。能够实现游戏检测过程的自动化,提高游戏检测的效率和准确度。

综上所述,本公开首先获取多个游戏客户端在目标游戏对局中执行操作产生的执行结果信息,若多个游戏客户端执行结果信息存在不同,判断游戏不同步,并确定初始帧范围。之后,控制回放设备获取游戏客户端执行操作的操作记录,并回放初始帧范围内的操作,再获取回放设备回放初始帧范围内的操作产生的回放结果信息,从而根据相应的回放结果信息确定初始帧范围内产生不同步的目标帧。本公开通过获取客户端的执行结果信息,来判断游戏是否不同步,并确定初始帧范围,再利用回放设备回放初始帧范围内的操作,从而根据回放结果信息确定初始帧范围内的目标帧。能够实现游戏检测过程的自动化,提高游戏检测的效率和准确度。

图2是根据一示例性实施例示出的另一种帧同步游戏的检测方法的流程图,如图2所示,执行结果信息包括多个帧集合对应的执行结果,每个帧集合对应的执行结果为对应的有客户端在目标游戏对局中执行该帧集合内的操作产生的结果信息,每个帧集合包括至少一个帧。相应的,步骤102的实现方式可以包括:

步骤1021,若任意两个游戏客户端的执行结果信息不同,确定游戏不同步。

步骤1022,依次比对该两个游戏客户端的执行结果信息中包括的每个帧集合对应的执行结果,以将执行结果不相同的帧集合作为初始帧范围。

举例来说,由于游戏客户端的存储资源、处理资源,和游戏客户端与检测平台之间数据传输的带宽都比较有限,因此游戏客户端可以将目标游戏对局内的全部帧分为多个帧集合,其中,帧集合的数量小于游戏的全部帧的数量。每个帧集合中包括至少一个帧,并按照执行每个帧集合内的操作,生成该帧集合对应的执行结果。最后,再将每个帧集合对应的执行结果作为执行结果信息发送给检测平台,即执行结果信息中包括了多个执行结果。例如,游戏内包括500个帧,可以分为10个帧集合,每个帧集合包括50个帧,那么任一游戏客户端发送的执行结果信息中,包括了10个帧集合对应的执行结果。

相应的,检测平台依次比对每个游戏客户端对应的执行结果信息时,可以先比对任意游戏两个客户端对应的执行结果信息。以任意两个游戏客户端为第一客户端、第二客户端来举例,即比对第一客户端对应的第一执行结果信息和第二客户端对应的第二执行结果信息。若第一执行结果信息和第二执行结果信息不相同,那么可以确定游戏不同步。可以理解为,检测平台直接比对第一执行结果信息和第二执行结果信息对应的MD5值,而无需对比第一执行结果信息和第二执行结果信息中的每个执行结果,能够快速确定游戏是否同步。检测平台也可以在多个游戏客户端中,任意选择一个游戏客户端作为比对基准,之后将其他游戏客户端对应的执行结果信息依次与该游戏客户端对应的执行结果信息进行比对,若存在与该游戏客户端对应的执行结果信息不相同的游戏客户端,则确定游戏不同步。

在确定游戏不同步的情况下,检测平台可以再依次比对第一执行结果信息和第二执行结果信息中包括的每个执行结果,若某个帧集合对应的执行结果不相同,那么可以将该帧集合作为初始帧范围。如果,第一执行结果信息和第二执行结果信息中,存在多个帧集合对应的执行结果不相同,那么可以将时间顺序最前的帧集合作为初始帧范围,也可以将对应的执行结果不相同的全部帧集合,作为初始帧范围。

图3是根据一示例性实施例示出的另一种帧同步游戏的检测方法的流程图,如图3所示,回放设备可以为多个,相应的,步骤103可以包括:

步骤1031,控制每个回放设备从记录服务器获取操作记录,记录服务器用于接收由游戏服务器发送的操作记录,每个游戏客户端用于将在每一帧内的操作发送至游戏服务器,游戏服务器用于为游戏提供服务。

步骤1032,按照预设配置对每个回放设备进行配置,并控制配置后的该回放设备回放初始帧范围内的操作,预设配置包括:设备类型、系统类型、回放次数、回放速度中的一种或多种。

举例来说,在回放设备为多个的场景中,若确定该游戏不同步,检测平台可以控制每个回放设备从记录服务器获取操作记录。其中,记录服务器是在目标游戏对局结束后,接收由游戏服务器发送的操作记录,相应的,游戏服务器上存储的操作记录是由多个游戏客户端发送的。可以理解为,游戏客户端、游戏服务器、记录服务器、回放设备和检测平台共同组成一个检测系统,如图4所示,每个游戏客户端在目标游戏对局的每一帧内的操作都会发送给游戏服务器,目标游戏对局结束之后,游戏服务器会将操作记录再发送给记录服务器,以供回放设备获取。并且,每个游戏客户端在目标游戏对局结束后,会将执行结果信息发送至检测平台。进一步的,每个回放设备在回放结束后,也会将产生的回放结果信息发送至检测平台。

之后,可以先按照预设配置对每个回放设备进行配置,在配置生效后,控制配置后的回放设备回放操作记录中初始帧范围包括的每一帧内的操作,从而使每个回放设备产生回放结果信息。其中,预设配置可以包括:设备类型、系统类型、回放次数、回放速度中的一种或多种。设备类型可以为:服务器、台式计算机、移动电话、PAD等,例如,可以预先设置有多种回放设备,若预设配置中的设备类型为2个移动电话、1个PAD,那么可以选择2个设备类型为移动电话的回放设备,和1个设备类型为PAD的回放设备,共3个回放设备。系统类型可以为:Windows系统、Linux系统、Android系统、iOS系统、Mac OS系统等。回放次数可以理解为控制回放设备按照回放次数回放初始帧范围内的操作,例如可以设置为1次、2次等。回放速度可以理解为控制回放设备回放初始帧范围内的操作的快慢,例如可以设置为0.5倍、2倍、4倍等。通过预设配置,能够根据具体需求对每个回放设备进行灵活配置,从而覆盖更多的检测场景,进一步提高游戏检测的效率和准确度。

在一种应用场景中,回放结果信息包括初始帧范围内每一帧的回放结果,每一帧的回放结果为回放设备回放该帧内的操作产生的结果信息。每一帧的回放结果,可以包括回放设备回放该帧内的操作后产生的游戏快照(例如:游戏的对象的状态值等)和游戏日志(例如游戏的函数所产生的日志)。

相应的,步骤105的实现方式可以为:

依次比对任意两个回放设备的回放结果信息中包括的每个回放结果,根据回放结果不相同的帧确定目标帧。

示例的,检测平台可以依次比对任意两个回放设备对应的回放结果信息中的每个回放结果。以任意两个回放设备为第一回放设备、第二回放设备来举例,即比对第一回放设备对应的第一回放结果信息中的每个回放结果,和第二回放设备对应的第二回放结果信息中的每个回放结果。若某个帧对应的回放结果不相同,那么可以将该帧作为目标帧。如果第一回放结果信息和第二回放结果信息中,存在多个帧对应的回放结果不相同,那么可以将时间顺序最前的帧作为目标帧,也可以将对应的回放结果不相同的多个帧均作为目标帧。

图5是根据一示例性实施例示出的另一种帧同步游戏的检测方法的流程图,如图5所示,每一帧的回放结果包括目标游戏对局的全部对象的状态值,相应的,步骤105可以包括以下步骤:

步骤1051,依次比对该两个回放设备的回放结果信息中包括的目标对象的状态值,以将首个目标对象的状态值不同的帧作为初始目标帧,目标对象为目标游戏对局的全部对象中指定的对象。

举例来说,比对任意两个回放设备对应的回放结果信息的实现方式,可以先依次比对该两个回放设备的回放结果信息中包括的目标对象的状态值,例如比对第一回放结果信息中包括的每个回放结果包括的目标对象的状态值,和第二回放设备对应的第二回放结果信息中包括的每个回放结果包括的目标对象的状态值。其中,目标对象为目标游戏对局的全部对象中指定的对象,可以将目标对象理解为能够反映目标游戏对局的关键信息的对象,例如可以是角色等级、角色血量、暴击率等。之后,可以将首个(即时间顺序最前)对应的回放结果包括的目标对象的状态值不相同的帧作为初始目标帧。可以将初始目标帧理解为,根据目标对象筛选出的游戏产生不同步的初始位置。相比于直接比对第一回放结果信息中包括的每个回放结果包括的全部对象的状态值,和第二回放设备对应的第二回放结果信息中包括的每个回放结果包括的全部对象的状态值,处理的信息量大大减少,能够快速定位出游戏产生不同步的初始位置。

步骤1052,根据初始目标帧确定目标帧范围,目标帧范围内包括的帧与初始目标帧之间距离满足预设距离阈值。

步骤1053,依次比对该两个回放设备的回放结果信息中目标帧范围内的回放结果,以将目标帧范围内,首个回放结果不相同的帧作为目标帧。

示例的,在确定初始目标帧之后,可以根据预设距离阈值,确定目标帧范围。预设距离阈值例如可以为2个帧,即目标帧范围包括5个帧:初始目标帧、初始目标帧之前的2个帧,和初始目标帧之后的2个帧。进一步的,再依次比对该两个回放设备的回放结果信息中目标帧范围内的回放结果,例如比对第一回放结果信息中包括的目标帧范围包括的每一帧对应的回放结果,和第二回放结果信息中包括的目标帧范围包括的每一帧对应的回放结果,即此时比对的是目标帧范围包括的每一帧对应的全部对象的状态值,因此,可以将目标帧范围内首个对应的回放结果不相同的帧确定为游戏产生不同步的目标帧。

图6是根据一示例性实施例示出的另一种帧同步游戏的检测方法的流程图,如图6所示,在步骤105之后,该方法还可以包括:

步骤106,根据回放结果信息中包括的目标帧对应的回放结果,确定目标帧内产生不同步的目标函数。

举例来说,在确定目标帧之后,还可以进一步根据每个回放设备对应的目标帧对应的回放结果,确定产生不同步的目标函数。具体的,每一帧的回放结果可以包括目标游戏对局的全部函数的日志。可以理解为,每个回放设备对应的目标帧对应的回放结果,包括该回放设备回放目标帧内的操作后产生的游戏日志,游戏日志可以包括多个日志文件,每个日志文件对应游戏的一个函数生成的日志。

相应的,步骤106的实现方式可以为:

依次比对每个回放设备的回放结果信息中包括的目标帧的回放结果,以将对应的日志不相同的函数作为目标函数。

示例的,可以依次比对多个回放设备对应的目标帧对应的回放结果包括的全部函数的日志,以将对应的日志不相同的函数作为目标函数。若某个回放设备对应的目标帧对应的回放结果包括的某个函数的日志,与其他回放设备对应的目标帧对应的回放结果包括的该函数的日志不相同,可以将该函数作为目标函数。

综上所述,本公开首先获取多个游戏客户端在目标游戏对局中执行操作产生的执行结果信息,若多个游戏客户端执行结果信息存在不同,判断游戏不同步,并确定初始帧范围。之后,控制回放设备获取游戏客户端执行操作的操作记录,并回放初始帧范围内的操作,再获取回放设备回放初始帧范围内的操作产生的回放结果信息,从而根据相应的回放结果信息确定初始帧范围内产生不同步的目标帧。本公开通过获取客户端的执行结果信息,来判断游戏是否不同步,并确定初始帧范围,再利用回放设备回放初始帧范围内的操作,从而根据回放结果信息确定初始帧范围内的目标帧。能够实现游戏检测过程的自动化,提高游戏检测的效率和准确度。

图7是根据一示例性实施例示出的一种帧同步游戏的检测装置的框图,如图7所示,该装置200包括:

第一获取模块201,用于分别获取多个游戏客户端在目标游戏对局中执行操作产生的执行结果信息。

确定模块202,用于若多个游戏客户端的执行结果信息存在不同,判断游戏不同步,并确定初始帧范围。

控制模块203,用于控制回放设备获取游戏客户端执行操作的操作记录,并控制回放设备回放初始帧范围内的操作。

第二获取模块204,用于获取回放设备发送的回放结果信息,回放结果信息为回放设备回放初始帧范围内的操作产生的结果信息。

检测模块205,用于根据回放结果信息,确定初始帧范围内产生不同步的目标帧。

图8是根据一示例性实施例示出的另一种帧同步游戏的检测装置的框图,如图8所示,执行结果信息包括多个帧集合的执行结果,每个帧集合的执行结果为对应的游戏客户端在目标游戏对局中执行该帧集合内的操作产生的结果信息,每个帧集合包括连续的至少一个帧。相应的,确定模块202可以包括:

第一确定子模块2021,用于若任意两个游戏客户端的执行结果信息不同,确定游戏不同步。

第二确定子模块2022,用于依次比对该两个游戏客户端的执行结果信息中包括的每个帧集合的执行结果,以将执行结果不相同的帧集合作为初始帧范围。

图9是根据一示例性实施例示出的另一种帧同步游戏的检测装置的框图,如图9所示,回放设备为多个,控制模块203可以包括:

控制获取子模块2031,用于控制每个回放设备从记录服务器获取操作记录,记录服务器用于接收由游戏服务器发送的操作记录,每个游戏客户端用于将在每一帧内的操作发送至游戏服务器。

控制回放子模块2032,用于按照预设配置对每个回放设备进行配置,并控制配置后的该回放设备回放初始帧范围内的操作,预设配置包括:设备类型、系统类型、回放次数、回放速度中的一种或多种。

在一种应用场景中,回放结果信息包括初始帧范围内每一帧的回放结果,每一帧的回放结果为回放设备回放该帧内的操作产生的结果信息。相应的,检测模块205可以用于:

依次比对任意两个回放设备的回放结果信息中包括的每个回放结果,根据回放结果不相同的帧确定目标帧。

图10是根据一示例性实施例示出的另一种帧同步游戏的检测装置的框图,如图10所示,目标游戏对局的全部对象的状态值。检测模块205可以包括:

第一比对子模块2051,用于依次比对该两个回放设备的回放结果信息中包括的目标对象的状态值,以将首个目标对象的状态值不同的帧作为初始目标帧,目标对象为目标游戏对局的全部对象中指定的对象。

第三确定子模块2052,用于根据初始目标帧确定目标帧范围,目标帧范围内包括的帧与初始目标帧之间距离满足预设距离阈值。

第二比对子模块2053,用于依次比对该两个回放设备的回放结果信息中目标帧范围内的回放结果,以将目标帧范围内,首个回放结果不同的帧作为目标帧。

在另一种应用场景中,检测模块205还用于:

在根据回放结果信息,确定初始帧范围内产生不同步的目标帧之后,根据回放结果信息中包括的目标帧的回放结果,确定目标帧内产生不同步的目标函数。

在又一种应用场景中,每一帧的回放结果包括目标游戏对局的全部函数的日志。相应的,检测模块205用于:

依次比对每个回放设备的回放结果信息中包括的目标帧的回放结果,以将日志不相同的函数作为目标函数。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

综上所述,本公开首先获取多个游戏客户端在目标游戏对局中执行操作产生的执行结果信息,若多个游戏客户端执行结果信息存在不同,判断游戏不同步,并确定初始帧范围。之后,控制回放设备获取游戏客户端执行操作的操作记录,并回放初始帧范围内的操作,再获取回放设备回放初始帧范围内的操作产生的回放结果信息,从而根据相应的回放结果信息确定初始帧范围内产生不同步的目标帧。本公开通过获取客户端的执行结果信息,来判断游戏是否不同步,并确定初始帧范围,再利用回放设备回放初始帧范围内的操作,从而根据回放结果信息确定初始帧范围内的目标帧。能够实现游戏检测过程的自动化,提高游戏检测的效率和准确度。

本公开还提供一种检测平台,如图4中的检测平台,检测平台用于实现上述实施例中帧同步游戏的检测方法。

在一种应用场景中,检测平台还可以用于接收帧范围指令,其中帧范围指令包括初始帧范围。帧范围指令可以是测试人员向检测平台发出的,检测平台可以先对帧范围指令进行解析,以得到初始帧范围,然后再按照确定的初始帧范围,执行上述步骤103-105。

在另一种应用场景中,检测平台还可以用于,接收配置指令,配置指令包括预设配置,预设配置包括:设备类型、系统类型、回放次数、回放速度中的一种或多种。

检测平台还用于:

按照预设配置对回放设备进行配置。之后,控制配置后的回放设备回放初始帧范围内的操作。

示例的,配置指令可以是测试人员向检测平台发出的,检测平台可以先对配置指令进行解析,以得到预设配置,然后再按照预设配置,执行上述步骤1032。

关于上述实施例中的检测平台,其中实现帧同步游戏的检测方法的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

下面参考图11,其示出了适于用来实现本公开实施例的电子设备(例如图4中的游戏客户端、游戏服务器、记录服务器、回放设备和检测平台)300的结构示意图。本公开实施例中的终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图11示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。

如图11所示,电子设备300可以包括处理装置(例如中央处理器、图形处理器等)301,其可以根据存储在只读存储器(ROM)302中的程序或者从存储装置308加载到随机访问存储器(RAM)303中的程序而执行各种适当的动作和处理。在RAM 303中,还存储有电子设备300操作所需的各种程序和数据。处理装置301、ROM 302以及RAM 303通过总线304彼此相连。输入/输出(I/O)接口305也连接至总线304。

通常,以下装置可以连接至I/O接口305:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置306;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置307;包括例如磁带、硬盘等的存储装置308;以及通信装置309。通信装置309可以允许电子设备300与其他设备进行无线或有线通信以交换数据。虽然图11示出了具有各种装置的电子设备300,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。

特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置309从网络上被下载和安装,或者从存储装置308被安装,或者从ROM 302被安装。在该计算机程序被处理装置301执行时,执行本公开实施例的方法中限定的上述功能。

需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。

在一些实施方式中,客户端、服务器可以利用诸如HTTP(HyperText TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。

上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。

上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:分别获取多个游戏客户端在目标游戏对局中执行操作产生的执行结果信息;若多个所述游戏客户端的所述执行结果信息存在不同,判断游戏不同步,并确定初始帧范围;控制回放设备获取所述游戏客户端执行所述操作的操作记录,并控制所述回放设备回放所述初始帧范围内的操作;获取所述回放设备发送的回放结果信息,所述回放结果信息为所述回放设备回放所述初始帧范围内的操作产生的结果信息;根据所述回放结果信息,确定所述初始帧范围内产生不同步的目标帧。

可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言——诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本公开实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,模块的名称在某种情况下并不构成对该模块本身的限定,例如,第一获取模块还可以被描述为“获取每个客户端发送的执行结果信息的模块”。

本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。

在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。

根据本公开的一个或多个实施例,示例1提供了一种帧同步游戏的检测方法,包括:分别获取多个游戏客户端在目标游戏对局中执行操作产生的执行结果信息;若多个所述游戏客户端的所述执行结果信息存在不同,判断游戏不同步,并确定初始帧范围;控制回放设备获取所述游戏客户端执行所述操作的操作记录,并控制所述回放设备回放所述初始帧范围内的操作;获取所述回放设备发送的回放结果信息,所述回放结果信息为所述回放设备回放所述初始帧范围内的操作产生的结果信息;根据所述回放结果信息,确定所述初始帧范围内产生不同步的目标帧。

根据本公开的一个或多个实施例,示例2提供了示例1的方法,所述执行结果信息包括多个帧集合的执行结果,每个帧集合的执行结果为对应的所述游戏客户端在所述目标游戏对局中执行该帧集合内的操作产生的结果信息,每个帧集合包括连续的至少一个帧;所述若多个所述游戏客户端的所述执行结果信息存在不同,判断游戏不同步,并确定初始帧范围,包括:若任意两个所述游戏客户端的所述执行结果信息不同,确定游戏不同步;依次比对该两个所述游戏客户端的所述执行结果信息中包括的每个帧集合的执行结果,以将执行结果不相同的帧集合作为所述初始帧范围。

根据本公开的一个或多个实施例,示例3提供了示例1的方法,所述回放设备为多个,所述控制回放设备获取所述游戏客户端执行所述操作的操作记录,并控制所述回放设备回放所述初始帧范围内的操作,包括:控制每个所述回放设备从记录服务器获取所述操作记录,所述记录服务器用于接收由游戏服务器发送的所述操作记录,每个所述游戏客户端用于将在每一帧内的操作发送至所述游戏服务器;按照预设配置对每个所述回放设备进行配置,并控制配置后的该回放设备回放所述初始帧范围内的操作,所述预设配置包括:设备类型、系统类型、回放次数、回放速度中的一种或多种。

根据本公开的一个或多个实施例,示例4提供了示例3的方法,所述回放结果信息包括所述初始帧范围内每一帧的回放结果,每一帧的回放结果为所述回放设备回放该帧内的操作产生的结果信息;所述根据所述回放结果信息,确定所述初始帧范围内的产生不同步的目标帧,包括:依次比对任意两个所述回放设备的所述回放结果信息中包括的每个回放结果,根据回放结果不相同的帧确定所述目标帧。

根据本公开的一个或多个实施例,示例5提供了示例4的方法,每一帧的回放结果包括所述目标游戏对局的全部对象的状态值;所述依次比对任意两个所述回放设备的所述回放结果信息中包括的每个回放结果,根据回放结果不相同的帧确定所述目标帧,包括:依次比对该两个所述回放设备的所述回放结果信息中包括的目标对象的状态值,以将首个所述目标对象的状态值不同的帧作为初始目标帧,所述目标对象为所述目标游戏对局的全部对象中指定的对象;根据所述初始目标帧确定目标帧范围,所述目标帧范围内包括的帧与所述初始目标帧之间距离满足预设距离阈值;依次比对该两个所述回放设备的所述回放结果信息中所述目标帧范围内的回放结果,以将所述目标帧范围内,首个回放结果不同的帧作为所述目标帧。

根据本公开的一个或多个实施例,示例6提供了示例4的方法,在所述根据所述回放结果信息,确定所述初始帧范围内产生不同步的目标帧之后,所述方法还包括:根据所述回放结果信息中包括的所述目标帧的回放结果,确定所述目标帧内产生不同步的目标函数。

根据本公开的一个或多个实施例,示例7提供了示例6的方法,每一帧的回放结果包括所述目标游戏对局的全部函数的日志;所述根据所述回放结果信息中包括的所述目标帧的回放结果,确定所述目标帧内产生不同步的目标函数,包括:依次比对每个所述回放设备的所述回放结果信息中包括的所述目标帧的回放结果,以将日志不相同的函数作为所述目标函数。

根据本公开的一个或多个实施例,示例8提供了一种帧同步游戏的检测装置,包括:第一获取模块,用于分别获取多个游戏客户端在目标游戏对局中执行操作产生的执行结果信息;确定模块,用于若多个所述游戏客户端的所述执行结果信息存在不同,判断游戏不同步,并确定初始帧范围;控制模块,用于控制回放设备获取所述游戏客户端执行所述操作的操作记录,并控制所述回放设备回放所述初始帧范围内的操作;第二获取模块,用于获取所述回放设备发送的回放结果信息,所述回放结果信息为所述回放设备回放所述初始帧范围内的操作产生的结果信息;检测模块,用于根据所述回放结果信息,确定所述初始帧范围内产生不同步的目标帧。

根据本公开的一个或多个实施例,示例9提供了一种检测平台,所述检测平台用于实现示例1至示例7中所述方法的步骤。

根据本公开的一个或多个实施例,示例10提供了示例9的检测平台,所述检测平台还用于,接收帧范围指令,所述帧范围指令包括所述初始帧范围。

根据本公开的一个或多个实施例,示例11提供了示例9或11的检测平台,所述检测平台还用于,接收配置指令,所述配置指令包括预设配置,所述预设配置包括:设备类型、系统类型、回放次数、回放速度中的一种或多种;所述检测平台还用于:按照所述预设配置对所述回放设备进行配置;控制配置后的所述回放设备回放所述初始帧范围内的操作。

根据本公开的一个或多个实施例,示例12提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理装置执行时实现示例1至示例7中所述方法的步骤。

根据本公开的一个或多个实施例,示例13提供了一种电子设备,包括:存储装置,其上存储有计算机程序;处理装置,用于执行所述存储装置中的所述计算机程序,以实现示例1至示例7中所述方法的步骤。

以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。

尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

相关技术
  • 帧同步游戏的检测方法、装置、平台、可读介质和设备
  • 一种异常游戏检测方法、装置、电子设备及可读存储介质
技术分类

06120113130359