本发明涉及通信领域,具体而言,涉及一种触控异常的检测方法和装置、存储介质及电子装置。
背景技术:
在用户体验游戏的过程中,触控是影响游戏可玩性的关键因素之一,用户体验问题主要集中在跟手性(即触控延迟)和断触上,而不同类型的游戏,对触控延迟和断触有不同的需求,例如,1)竞速类游戏,由于单局时间短,玩家操作频繁,对触控延迟会更加敏感;2)第一人称射击类游戏(first-personshooting,简称为fps)类游戏的射击场景、moba类游戏的技能释放,对触控的延迟也非常敏感。
以断触为例,断触,指的是点击或滑动屏幕后,游戏没有做出对应的ui响应,比如持续短时间无响应、概率性瞬断、长距离滑动中断等,而对于断触问题的定位,通常难有结果,主要原因是:1)正式环境的定位,必须依赖玩家一段时间高度配合,这个难度很大;2)问题的定位通常需要游戏和厂商共同参与,需要双方出人力资源投入进去分析,而在双方共同定位问题时,双方缺少共同的问题分析工具或者信息,导致信息无法对齐,例如,游戏方认为这是设备方问题,设备方认为这是游戏方问题。
针对相关技术中,无法准确定位触控操作发生异常的原因等问题,尚未提出有效的解决方案。
技术实现要素:
本发明实施例提供了一种触控异常的检测方法和装置、存储介质及电子装置,以至少解决相关技术中,无法准确定位触控操作发生异常的原因的技术问题。
根据本发明实施例的一个方面,提供了一种触控异常的检测方法,包括:获取终端传输的第一组操作日志,其中,所述第一组操作日志包括:第一操作日志、第二操作日志和第三操作日志,所述第一操作日志是所述终端的显示屏响应于对所述显示屏执行的第一触控操作所记录的操作日志,所述第二操作日志是所述终端的系统响应于所述第一触控操作所记录的操作日志,以及,所述第三操作日志是所述终端上运行的目标应用响应于所述第一触控操作所记录的操作日志,所述显示屏用于显示所述目标应用的界面;比较所述第一操作日志、所述第二操作日志和所述第三操作日志中的日志记录,得到比较结果;在所述比较结果表示所述第一操作日志、所述第二操作日志和所述第三操作日志中存在缺失目标日志记录的操作日志情况下,根据所述比较结果确定所述显示屏、所述系统和所述目标应用中的至少一个出现第一触控操作的触控异常,其中,所述目标日志记录是所述第一触控操作所需产生的一组日志记录中的日志记录。
根据本发明实施例的另一个方面,还提供了一种触控异常的检测装置,包括:第一获取单元,用于获取终端传输的第一组操作日志,其中,所述第一组操作日志包括:第一操作日志、第二操作日志和第三操作日志,所述第一操作日志是所述终端的显示屏响应于对所述显示屏执行的第一触控操作所记录的操作日志,所述第二操作日志是所述终端的系统响应于所述第一触控操作所记录的操作日志,以及,所述第三操作日志是所述终端上运行的目标应用响应于所述第一触控操作所记录的操作日志,所述显示屏用于显示所述目标应用的界面;比较单元,用于比较所述第一操作日志、所述第二操作日志和所述第三操作日志中的日志记录,得到比较结果;确定单元,用于在所述比较结果表示所述第一操作日志、所述第二操作日志和所述第三操作日志中存在缺失目标日志记录的操作日志情况下,根据所述比较结果确定所述显示屏、所述系统和所述目标应用中的至少一个出现第一触控操作的触控异常,其中,所述目标日志记录是所述第一触控操作所需产生的一组日志记录中的日志记录。
根据本发明实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述触控异常的检测方法。
根据本发明实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述的触控异常的检测方法。
在本发明实施例中,通过获取终端的显示屏响应于对所述显示屏执行的第一触控操作所记录的第一操作日志,所述终端的系统响应于所述第一触控操作所记录的第二操作日志,以及所述终端上运行的目标应用响应于所述第一触控操作所记录的第三操作日志,比较所述第一操作日志、所述第二操作日志和所述第三操作日志中的日志记录,得到比较结果;在所述比较结果表示所述第一操作日志、所述第二操作日志和所述第三操作日志中存在缺失目标日志记录的操作日志情况下,根据所述比较结果确定所述显示屏、所述系统和所述目标应用中的至少一个出现第一触控操作的触控异常,其中,所述目标日志记录是所述第一触控操作所需产生的一组日志记录中的日志记录,即通过对第一操作日志、第二操作日志,以及第三操作日志进行比较,根据比较结果确定显示屏、所述系统和所述目标应用中的至少一个出现第一触控操作的触控异常,采用上述技术方案,解决了相关技术中,无法准确定位触控操作发生异常的原因等问题,进而可以在发生触控异常的情况下,准确定位显示屏、所述系统和所述目标应用中的至少一个出现第一触控操作的触控异常,大大提高了定位触控异常的准确率。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种触控异常的检测方法的应用环境的示意图;
图2是根据本发明实施例的一种可选的触控异常的检测方法的流程示意图;
图3是根据本发明实施例的一种可选的日志打点功能的开启示意图;
图4是根据本发明实施例的一种可选的日志打点功能的详情示意图;
图5是根据本发明实施例的一种可选的游戏应用开启日志打点功能的示意图;
图6是根据本发明实施例的一种可选的终端系统内部的触控操作的流转示意图;
图7是根据本发明实施例的一种可选的用户开启打点功能后的流程示意图;
图8为根据本发明可选实施例的触控异常的诊断示意图;
图9根据本发明可选实施例的触控延迟的诊断示意图(一);
图10根据本发明可选实施例的触控延迟的诊断示意图(二);
图11是根据本发明实施例的一种可选的触控异常的检测装置的结构示意图;
图12是根据本发明实施例的一种可选的电子装置的结构示意图;
图13是根据本发明实施例的一种可选的游戏应用开启日志打点的详细示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为了更好的理解以下实施例以及可选实施例的技术方案,以下对本发明实施例以及可选实施例中出现的术语进行解释说明,但不用于限定其含义。
手游断触是指在游戏过程中,点击或滑动屏幕,游戏没有做出对应的ui响应。包括短时间内无响应,概率性瞬间无响应,滑动过程中中断等现象。
logcat是android平台的一个命令行日志工具,可以用于获得程序的log信息。
需要说明的是,相关技术中可能出现触控异常的原因主要有以下几张情况:
1)游戏正常逻辑:游戏收到了触控事件,但根据游戏正常逻辑,不予产生ui响应。
比如,玩家频繁操作,但是游戏本身技能或者动作(开枪、移动)有固定等待或者冷却时间,这个可以理解为交互设计的缺陷或者游戏正常设计。
2)游戏逻辑bug:游戏收到了触控事件,但是游戏逻辑处理缺陷,导致没有对当前事件进行处理。
比如,玩家在屏幕上做了一次按钮点击,由于玩家点击的时候,手指有轻微的抖动,导致上报到游戏侧时,本应为点击操作变成了滑动操作,而游戏逻辑被设计成只处理点击操作,导致该事件被忽略了,正常情况下,游戏侧应该对这种轻微的变化做容错处理。
3)终端设备问题:用户点击了屏幕,但是游戏没有收到对应的触控事件。
比如,系统设置有类似触屏热键的服务功能,会在系统截取用户的操作,典型的如三指截屏。亦有一些屏幕硬件的滤波算法以及系统特有的模式(如湿手模式),会在特定条件下将用户的触控事件丢弃或者修改。此外,还有一些全面屏或者曲面屏的边缘抑制功能,会导致应用无法收到触控事件。
为了确定上述触控异常发生的真实原因,本发明实施例以及可选实施例提供了以下技术方案。
根据本发明实施例的一个方面,提供了一种触控异常的检测方法。可选地,上述触控异常的检测方法可以但不限于应用于如图1所示的应用环境中。如图1所示,第一终端设备102运行有目标应用,且第一终端设备102包括显示屏和系统。第一终端设备102可以获取终端的显示屏响应于对所述显示屏执行的第一触控操作所记录的第一操作日志,所述终端的系统响应于所述第一触控操作所记录的第二操作日志,以及所述终端上运行的目标应用响应于所述第一触控操作所记录的第三操作日志,并将上述第一操作日志,第二操作日志,第三操作日志传输至服务器,服务器104可以是目标应用的后台服务器,本发明实施例对此不作限定。服务器104获取终端传输的第一组操作日志,其中,所述第一组操作日志包括:第一操作日志、第二操作日志和第三操作日志,所述第一操作日志是所述终端的显示屏响应于对所述显示屏执行的第一触控操作所记录的操作日志,所述第二操作日志是所述终端的系统响应于所述第一触控操作所记录的操作日志,以及,所述第三操作日志是所述终端上运行的目标应用响应于所述第一触控操作所记录的操作日志,所述显示屏用于显示所述目标应用的界面;比较所述第一操作日志、所述第二操作日志和所述第三操作日志中的日志记录,得到比较结果;在所述比较结果表示所述第一操作日志、所述第二操作日志和所述第三操作日志中存在缺失目标日志记录的操作日志情况下,根据所述比较结果确定所述显示屏、所述系统和所述目标应用中的至少一个出现第一触控操作的触控异常,其中,所述目标日志记录是所述第一触控操作所需产生的一组日志记录中的日志记录,此外,还可以是第一终端设备本身获取上述第一组操作日志,比较所述第一操作日志、所述第二操作日志和所述第三操作日志中的日志记录,得到比较结果;在所述比较结果表示所述第一操作日志、所述第二操作日志和所述第三操作日志中存在缺失目标日志记录的操作日志情况下,根据所述比较结果确定所述显示屏、所述系统和所述目标应用中的至少一个出现第一触控操作的触控异常,其中,所述目标日志记录是所述第一触控操作所需产生的一组日志记录中的日志记录,以上仅为一种示例,本申请实施例在此不作限定。
可选地,在本实施例中,上述第一终端设备可以是配置有目标应用的终端设备,可以包括但不限于以下至少之一:手机(如android手机、ios手机等)、笔记本电脑、平板电脑、掌上电脑、mid(mobileinternetdevices,移动互联网设备)、pad、台式电脑等。上述网络可以包括但不限于:有线网络,无线网络,其中,该有线网络包括:局域网、城域网和广域网,该无线网络包括:蓝牙、wifi及其他实现无线通信的网络。上述服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群。上述只是一种示例,本实施例对此不做任何限定。
可选地,在本实施例中,作为一种可选的实施方式,该方法可以由服务器执行,也可以由终端设备执行,或者由服务器和终端设备共同执行,本实施例中,以由服务器执行为例进行说明。如图2所示,上述触控异常的检测方法的流程可以包括步骤:
步骤s202,获取终端传输的第一组操作日志,其中,所述第一组操作日志包括:第一操作日志、第二操作日志和第三操作日志,所述第一操作日志是所述终端的显示屏响应于对所述显示屏执行的第一触控操作所记录的操作日志,所述第二操作日志是所述终端的系统响应于所述第一触控操作所记录的操作日志,以及,所述第三操作日志是所述终端上运行的目标应用响应于所述第一触控操作所记录的操作日志,所述显示屏用于显示所述目标应用的界面;
步骤s204,比较所述第一操作日志、所述第二操作日志和所述第三操作日志中的日志记录,得到比较结果;
步骤s206,在所述比较结果表示所述第一操作日志、所述第二操作日志和所述第三操作日志中存在缺失目标日志记录的操作日志情况下,根据所述比较结果确定所述显示屏、所述系统和所述目标应用中的至少一个出现第一触控操作的触控异常,其中,所述目标日志记录是所述第一触控操作所需产生的一组日志记录中的日志记录。
在本发明实施例中,通过获取终端的显示屏响应于对所述显示屏执行的第一触控操作所记录的第一操作日志,所述终端的系统响应于所述第一触控操作所记录的第二操作日志,以及所述终端上运行的目标应用响应于所述第一触控操作所记录的第三操作日志,比较所述第一操作日志、所述第二操作日志和所述第三操作日志中的日志记录,得到比较结果;在所述比较结果表示所述第一操作日志、所述第二操作日志和所述第三操作日志中存在缺失目标日志记录的操作日志情况下,根据所述比较结果确定所述显示屏、所述系统和所述目标应用中的至少一个出现第一触控操作的触控异常,其中,所述目标日志记录是所述第一触控操作所需产生的一组日志记录中的日志记录,即通过对第一操作日志、第二操作日志,以及第三操作日志进行比较,根据比较结果确定显示屏、所述系统和所述目标应用中的至少一个出现第一触控操作的触控异常,采用上述技术方案,解决了相关技术中,无法准确定位触控操作发生异常的原因等问题,进而可以在发生触控异常的情况下,准确定位显示屏、所述系统和所述目标应用中的至少一个出现第一触控操作的触控异常,大大提高了定位触控异常的准确率。
可选地,对于上述步骤s206的实现方式有多种:
1)在一个可选实施例中,在所述第一操作日志包括所述一组日志记录、所述第二操作日志和所述第三操作日志不包括所述一组日志记录的情况下,确定出第一比较结果,其中,所述第一比较结果用于表示所述第二操作日志和所述第三操作日志是缺失目标日志记录的操作日志,所述比较结果包括所述第一比较结果;所述根据所述比较结果确定所述显示屏、所述系统和所述目标应用中的至少一个出现触控异常,包括:确定所述系统出现所述触控异常。
即在本发明实施例中,如果是第二操作日志和第三操作日志确实目标日志记录的操作日志,那么就可以确定是系统出现了触控异常。
2)在另一个可选实施例中,在所述第一操作日志和所述第二操作日志包括所述一组日志记录、所述第三操作日志不包括所述一组日志记录的情况下,确定出第二比较结果,其中,所述第二比较结果用于表示所述第三操作日志是缺失目标日志记录的操作日志,所述比较结果包括所述第二比较结果;所述根据所述比较结果确定所述显示屏、所述系统和所述目标应用中的至少一个出现触控异常,包括:确定所述目标应用出现所述触控异常。
即在本发明实施例中,在确定出仅是第三操作日志缺失目标日志记录的操作日志,那么就可以确定是目标应用出现了触控异常。
3)在又一可选实施例中,在所述第一操作日志、所述第二操作日志和所述第三操作日志不包括所述一组日志记录的情况下,确定出第三比较结果,其中,所述第二比较结果用于表示所述第一操作日志、所述第二操作日志和所述第三操作日志是缺失目标日志记录的操作日志,所述比较结果包括所述第三比较结果;所述根据所述比较结果确定所述显示屏、所述系统和所述目标应用中的至少一个出现触控异常,包括:确定所述显示屏出现所述触控异常。
也就是说,在第一操作日志、所述第二操作日志和所述第三操作日志均缺失目标日志记录的情况下,确定显示屏出现了触控异常。
可选地,上述第一触控操作可以断触操作,本发明实施例对此不作限定,进一步地,在比较结果表示所述第一操作日志、所述第二操作日志和所述第三操作日志中不存在缺失目标日志记录的操作日志情况下,还可以确定终端是否发生了触控延迟,以及发生触控延迟的原因,可选地,
在多个打点位置中,获取每一个打点位置对第二触控操作的多个响应时间,其中,多个打点位置至少包括以下之一:所述显示屏,所述系统,所述目标应用;根据所述多个响应时间确定所述显示屏、所述系统和所述目标应用中的至少一个出现第二触控操作的触控异常,可选地,第二触控操作为触控延迟。
也就是说,需要分别获取显示屏,系统,目标应用对于第二触控操作的响应时间,根据每一个响应时间确定显示屏、所述系统和所述目标应用中的至少一个出现第二触控操作的触控异常。
可选地,由于显示屏,系统,目标应用对第二触控操作的响应时间均设置了对应的预设阈值,在所述多个响应时间中的任意一个或多个目标响应时间超过对应的预设阈值的情况下,确定所述目标响应时间对应的打点位置出现了第二触控操作的触控异常,例如,在显示屏对第二触控操作的响应时间超过了设置的预设阈值的情况下,确定出显示屏出现了触控异常。
需要说明的是,上述步骤s202获取的第一操作日志可以是在检测到终端上的目标应用在运行期间发生了断触的情况下所获取的,进一步地,在监测到终端复现了断触的场景下,将第一终端获取的第一操作日志在上传至服务器。
可选地,还可以从第一终端设备为执行主体为例对本发明实施例的技术方案进行详细说明,具体包括以下实现步骤:在检测到终端上的目标应用在运行期间发生了目标事件的情况下,获取第一组操作日志,其中,所述第一组操作日志包括:第一操作日志、第二操作日志和第三操作日志,所述第一操作日志是所述终端的显示屏响应于对所述显示屏执行的第一触控操作所记录的操作日志,所述第二操作日志是所述终端的系统响应于所述第一触控操作所记录的操作日志,以及,所述第三操作日志是所述终端上运行的目标应用响应于所述第一触控操作所记录的操作日志,所述显示屏用于显示所述目标应用的界面;比较所述第一操作日志、所述第二操作日志和所述第三操作日志中的日志记录,得到比较结果;在所述比较结果表示所述第一操作日志、所述第二操作日志和所述第三操作日志中存在缺失目标日志记录的操作日志情况下,根据所述比较结果确定所述显示屏、所述系统和所述目标应用中的至少一个出现第一触控操作的触控异常,其中,所述目标日志记录是所述第一触控操作所需产生的一组日志记录中的日志记录;
可选地,为了提高终端使用的安全性,在获取第一组操作日志之前,还可以执行以下技术方案:
接收目标对象对所述终端的第一设置操作,其中,在所述第一设置操作设置成功后,所述终端允许目标对象在对所述终端的显示屏的第一触控操作或第二触控操作后,所述终端的系统对所述第一操作日志进行记录;
接收目标对象对所述目标应用的第二设置操作,其中,在所述第二设置操作设置成功后,所述目标应用允许记录所述第三操作日志。
在另一个可选实施例中,还可以预先设置第一组操作日志的打点内容;根据设置的打点内容获取所述第一组操作日志,所述第一操作日志的打点内容包括:时间戳,用于标识所述目标事件的目标标识,所述系统中进行打点的打点模块,所述目标事件的唯一索引,指示所述目标事件的事件类型;所述第三操作日志的打点内容包括:时间戳,用于标识所述目标事件的所述目标标识,所述目标应用中进行打点的打点模块,指示所述目标事件的事件类型,用于指示在运行所述目标应用期间所述目标对象的触控操作的相位状态,用于指示所述目标应用启动后的当前帧。
为了更好的理解上述触控异常的诊断流程,以下结合可选实施例对上述技术方案进行说明,但不用于限定本发明实施例的技术方案。
实际操作过程中,在实施上述触控异常的检测方法之前,由于终端产品层面侧重于用户的隐私告知、主动选择功能,此外,触控打点(可以理解为是上述实施例中获取第一组操作日志的过程)实际是采集用户在屏幕上的操作行为数据,所以不能默认开启,必须由用户清楚了解情况后主动开启这一功能。为此,在终端产品功能上设计如下使用场景:
如图3所示,在终端上,将触控打点功能作为一个app权限设置项,用户点击图3中所示的“可采集屏幕触控信息的应用程序”后,如图4所示,可以了解该权限项的详细信息以及选择开启或者关闭。
在本发明可选实施例中,以目标应用是游戏应用为例,如图5所示,游戏侧会记录玩家在游戏期间的游戏操作行为数据,该功能的开启,同样需要玩家主动授权打开,一般情况下,系统不会默认开启该权限的,那么在需要打开该功能时,游戏应该提醒用户,引导玩家到系统权限页面打开,如图13所示,用户可以选择是否开启屏幕失灵诊断。
可选地,对于终端系统内部的触控操作的流转过程,本发明可选实施例以android系统为例,从显示屏的产生触控事件开始,如图6所示,会经过内核,再经过框架层,最后转发到应用这里,其中每一个部分内部,都会经由若干不同的功能节点处理,此处可以理解的是,功能节点是本领域的技术人员可以想到的不同的模块,同模块不同的函数,不同的服务等,都可以作为节点来记录,对于功能节点的划分,可以按照粗粒度划分,也可以按照细粒度划分,具体可以根据实际需要来确定,可选实施例中,触控操作的跟踪,就是以节点为单位来记录事件的相关信息。节点本身没有明确要求,其中,在根据本发明可选实施例中功能借点的分析进而知道触控事件的流转路径,还可以支持多指操作的技术方案。
其中,每个节点所需要记录的信息如下表1所示:
表1
对于打点位置,游戏侧主要记录gameengine和gamelogic,对于gameengine和gamelogic,需要记录的位置如下表2所示:
表2
对于设备侧的打点位置,如下表3所示:
在获取了上述操作日志后,可选地,接下来说明如何将双方的打点内容整合统一并上传到服务器,其中,日志整合有两种方式:
方式一:使用终端系统自有的日志或者问题定位组件,比如android的log或者android的trace日志。如果是使用这种方式,那么双方的打点内容默认就已经是整合好的了,只需要准备上传即可。
方式二:游戏app和系统将各自打点的内容以文件的形式存放,最终由数据上传方来进行打点内容的整合,日志合并可以简单的以时间戳顺序排列即可。
需要说明的是,如图3所示,日志打点功能并不是一直开启,而是当玩家出现问题,手动开启时才需要,在一个可选实施例中,在用户开启了日志打点功能后,整个的交互流程如下,如图7所示:
步骤s702,用户在游戏应用功能界面主动开启触控打点功能;
步骤s704,游戏组件会先调用系统触控日志采集接口,开启采集,系统返回开启结果。
步骤s706,系统成功开启后,游戏组件会开启游戏侧触控打点功能,此刻,系统和应用均开始打点操作。
步骤s708,用户如果复现了断触场景,则此时退出当前局游戏,在游戏功能选项上,关闭触控日志采集功能,游戏组件调用系统接口,关闭系统侧触控日志采集,系统关闭后,同时返回日志所在路径,游戏组件拿到日志后,即可上传到服务器以供分析。
综上,本发明可选实施例的上述技术方案,提出了一种游戏应用的屏幕失灵问题(例如,断触或者触控延迟)的快速诊断处理方案。相比原来的处理方式,具有用户操作简单、诊断数据全面、诊断流程简洁的优点。
图8为根据本发明可选实施例的触控异常的诊断示意图,如图8所示,说明了如何根据打点日志来分析断触现象以及触控延迟问题,图8中,需要打点的地方简化为3个地方:屏幕硬件(相当于上述实施例的显示屏)、手机系统以及目标应用本身(可以是游戏应用)。
需要说明的而是,用户对屏幕的一次操作,可以简单认为分为如下两种形式:
(1)手指一次点击屏幕。那么从屏幕硬件那里,会产生两条日志记录(实际会更复杂,此处只是举例):
按下去:20191011185050gameinputdevice1action_down;
离开屏幕:20191011185050gameinputdevice1action_up。
(2)手指按下屏幕,同时滑动一段距离,手指再离开屏幕。屏幕那里会产生3条日志记录
按下去:20191011185050gameinputdevice1action_down;
按着屏幕滑动:20191011185050gameinputdevice1action_move;
离开屏幕:20191011185050gameinputdevice1action_up。
如图8所示的流程,当前屏幕和用户的手指只有只有1个触控点为例,即你的手指与屏幕只有一个地方接触。同时,每条触控事件都会从硬件,层层传递到具体的应用。那么分析断触是否发生的依据可以是:如果某一个打点处(屏幕硬件,系统,目标应用),没有针对上层传递来的触控事件打点,那么即可判定为断触。
从附图8可以看出,action_down事件只有一个点,说明到了操作系统那里就丢失了,即是系统处是导致断触的原因所在。
对于触控延迟的分析过程,在另一个可选实施例中,如图9所示,可以将触控延迟的分析过程分为3个阶段,如下所示:
第1阶段始于玩家点击屏幕,结束于游戏逻辑首次收到tp(即触控)事件。这个区间段的耗时,涉及固件、驱动以及android的input服务。
第2阶段始于游戏逻辑首次收到tp事件,止于游戏逻辑结束对tp事件的处理。这部分,属于游戏内部。
第3阶段始于游戏结束对tp事件的处理,止于屏幕呈现tp事件的反馈。
如图10所示,每个阶段的耗时,经由游戏以及厂商的测试后,会有一个经验性的数据,这个经验性的数据可以作为一个指标线,如上图10的110ms标准线。玩家玩了一次单局后,产生的数据数上图10个阶段所示,超过标准线的即可理解为异常。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
根据本发明实施例的又一方面,还提供了一种触控异常的检测装置,如图11所示,该装置包括:
(1)第一获取单元110,用于获取终端传输的第一组操作日志,其中,所述第一组操作日志包括:第一操作日志、第二操作日志和第三操作日志,所述第一操作日志是所述终端的显示屏响应于对所述显示屏执行的第一触控操作所记录的操作日志,所述第二操作日志是所述终端的系统响应于所述第一触控操作所记录的操作日志,以及,所述第三操作日志是所述终端上运行的目标应用响应于所述第一触控操作所记录的操作日志,所述显示屏用于显示所述目标应用的界面;
(2)比较单元112,用于比较所述第一操作日志、所述第二操作日志和所述第三操作日志中的日志记录,得到比较结果;
(3)确定单元114,用于在所述比较结果表示所述第一操作日志、所述第二操作日志和所述第三操作日志中存在缺失目标日志记录的操作日志情况下,根据所述比较结果确定所述显示屏、所述系统和所述目标应用中的至少一个出现第一触控操作的触控异常,其中,所述目标日志记录是所述第一触控操作所需产生的一组日志记录中的日志记录。
在本发明实施例中,通过获取终端的显示屏响应于对所述显示屏执行的第一触控操作所记录的第一操作日志,所述终端的系统响应于所述第一触控操作所记录的第二操作日志,以及所述终端上运行的目标应用响应于所述第一触控操作所记录的第三操作日志,比较所述第一操作日志、所述第二操作日志和所述第三操作日志中的日志记录,得到比较结果;在所述比较结果表示所述第一操作日志、所述第二操作日志和所述第三操作日志中存在缺失目标日志记录的操作日志情况下,根据所述比较结果确定所述显示屏、所述系统和所述目标应用中的至少一个出现第一触控操作的触控异常,其中,所述目标日志记录是所述第一触控操作所需产生的一组日志记录中的日志记录,即通过对第一操作日志、第二操作日志,以及第三操作日志进行比较,根据比较结果确定显示屏、所述系统和所述目标应用中的至少一个出现第一触控操作的触控异常,采用上述技术方案,解决了相关技术中,无法准确定位触控操作发生异常的原因等问题,进而可以在发生触控异常的情况下,准确定位显示屏、所述系统和所述目标应用中的至少一个出现第一触控操作的触控异常,大大提高了定位触控异常的准确率。
可选地,所述比较单元,还用于在所述第一操作日志包括所述一组日志记录、所述第二操作日志和所述第三操作日志不包括所述一组日志记录的情况下,确定出第一比较结果,其中,所述第一比较结果用于表示所述第二操作日志和所述第三操作日志是缺失目标日志记录的操作日志,所述比较结果包括所述第一比较结果;
所述确定单元,还用于确定所述系统出现所述触控异常。
即在本发明实施例中,如果是第二操作日志和第三操作日志确实目标日志记录的操作日志,那么就可以确定是系统出现了触控异常。
可选地,所述比较单元,还用于在所述第一操作日志和所述第二操作日志包括所述一组日志记录、所述第三操作日志不包括所述一组日志记录的情况下,确定出第二比较结果,其中,所述第二比较结果用于表示所述第三操作日志是缺失目标日志记录的操作日志,所述比较结果包括所述第二比较结果;
所述确定单元,还用于确定所述目标应用出现所述触控异常。
即在本发明实施例中,在确定出仅是第三操作日志缺失目标日志记录的操作日志,那么就可以确定是目标应用出现了触控异常。
可选地,所述比较单元,还用于在所述第一操作日志、所述第二操作日志和所述第三操作日志不包括所述一组日志记录的情况下,确定出第三比较结果,其中,所述第二比较结果用于表示所述第一操作日志、所述第二操作日志和所述第三操作日志是缺失目标日志记录的操作日志,所述比较结果包括所述第三比较结果;
所述确定单元,还用于确定所述显示屏出现所述触控异常。
也就是说,在第一操作日志、所述第二操作日志和所述第三操作日志均缺失目标日志记录的情况下,确定显示屏出现了触控异常。
可选地,上述第一触控操作可以断触操作,本发明实施例对此不作限定,进一步地,在比较结果表示所述第一操作日志、所述第二操作日志和所述第三操作日志中不存在缺失目标日志记录的操作日志情况下,还可以确定终端是否发生了触控延迟,以及发生触控延迟的原因,作为一种可选的技术方案,上述装置还包括:
第二获取单元,用于在多个打点位置中,获取每一个打点位置对第二触控操作的多个响应时间,其中,多个打点位置至少包括以下之一:所述显示屏,所述系统,所述目标应用;
所述确定单元,还用于确定所述显示屏、所述系统和所述目标应用中的至少一个出现第二触控操作的触控异常。
可选地,所述确定单元,还用于在所述多个响应时间中的任意一个或多个目标响应时间超过对应的预设阈值的情况下,确定所述目标响应时间对应的打点位置出现了第二触控操作的触控异常。
也就是说,需要分别获取显示屏,系统,目标应用对于第二触控操作的响应时间,根据每一个响应时间确定显示屏、所述系统和所述目标应用中的至少一个出现第二触控操作的触控异常。
可选地,由于显示屏,系统,目标应用对第二触控操作的响应时间均设置了对应的预设阈值,在所述多个响应时间中的任意一个或多个目标响应时间超过对应的预设阈值的情况下,确定所述目标响应时间对应的打点位置出现了第二触控操作的触控异常,例如,在显示屏对第二触控操作的响应时间超过了设置的预设阈值的情况下,确定出显示屏出现了触控异常。
根据本发明的实施例的又一方面,还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
s1,获取终端传输的第一组操作日志,其中,所述第一组操作日志包括:第一操作日志、第二操作日志和第三操作日志,所述第一操作日志是所述终端的显示屏响应于对所述显示屏执行的第一触控操作所记录的操作日志,所述第二操作日志是所述终端的系统响应于所述第一触控操作所记录的操作日志,以及,所述第三操作日志是所述终端上运行的目标应用响应于所述第一触控操作所记录的操作日志,所述显示屏用于显示所述目标应用的界面;
s2,比较所述第一操作日志、所述第二操作日志和所述第三操作日志中的日志记录,得到比较结果;
s3,在所述比较结果表示所述第一操作日志、所述第二操作日志和所述第三操作日志中存在缺失目标日志记录的操作日志情况下,根据所述比较结果确定所述显示屏、所述系统和所述目标应用中的至少一个出现第一触控操作的触控异常,其中,所述目标日志记录是所述第一触控操作所需产生的一组日志记录中的日志记录。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、rom(read-onlymemory,只读存储器)、ram(randomaccessmemory,随机存取器)、磁盘或光盘等。
根据本发明实施例的又一个方面,还提供了一种用于实施上述触控异常的检测方法的电子装置,如图12所示,该电子装置包括存储器1002和处理器1004,该存储器1002中存储有计算机程序,该处理器1004被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述电子装置可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
s1,获取终端传输的第一组操作日志,其中,所述第一组操作日志包括:第一操作日志、第二操作日志和第三操作日志,所述第一操作日志是所述终端的显示屏响应于对所述显示屏执行的第一触控操作所记录的操作日志,所述第二操作日志是所述终端的系统响应于所述第一触控操作所记录的操作日志,以及,所述第三操作日志是所述终端上运行的目标应用响应于所述第一触控操作所记录的操作日志,所述显示屏用于显示所述目标应用的界面;
s2,比较所述第一操作日志、所述第二操作日志和所述第三操作日志中的日志记录,得到比较结果;
s3,在所述比较结果表示所述第一操作日志、所述第二操作日志和所述第三操作日志中存在缺失目标日志记录的操作日志情况下,根据所述比较结果确定所述显示屏、所述系统和所述目标应用中的至少一个出现第一触控操作的触控异常,其中,所述目标日志记录是所述第一触控操作所需产生的一组日志记录中的日志记录。
可选地,本领域普通技术人员可以理解,图12所示的结构仅为示意,电子装置也可以是智能手机(如android手机、ios手机等)、平板电脑、掌上电脑以及移动互联网设备(mobileinternetdevices,mid)、pad等终端设备。图12其并不对上述电子装置的结构造成限定。例如,电子装置还可包括比图12中所示更多或者更少的组件(如网络接口等),或者具有与图12所示不同的配置。
其中,存储器1002可用于存储软件程序以及模块,如本发明实施例中的触控异常的检测方法和装置对应的程序指令/模块,处理器1004通过运行存储在存储器1002内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的触控异常的检测方法。存储器1002可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1002可进一步包括相对于处理器1004远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。作为一种示例,如图10所示,上述存储器1002中可以但不限于包括上述触控异常的检测装置中的第一获取单元110、比较单元112、确定单元114。此外,还可以包括但不限于上述触控异常的检测装置中的其他模块单元,本示例中不再赘述。
可选地,上述的传输装置1006用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置1006包括一个网络适配器(networkinterfacecontroller,nic),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置1006为射频(radiofrequency,rf)模块,其用于通过无线方式与互联网进行通讯。
此外,上述电子装置还包括:显示器1008,用于显示终端的运行状态;和连接总线1010,用于连接上述电子装置中的各个模块部件。
在其他实施例中,上述终端或者服务器可以是一个分布式系统中的一个节点,其中,该分布式系统可以为区块链系统,该区块链系统可以是由该多个节点通过网络通信的形式连接形成的分布式系统。其中,节点之间可以组成点对点(p2p,peertopeer)网络,任意形式的计算设备,比如服务器、终端等电子设备都可以通过加入该点对点网络而成为该区块链系统中的一个节点。
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(read-onlymemory,rom)、随机存取器(randomaccessmemory,ram)、磁盘或光盘等。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。