CN112698829B - 异常资源的定位方法和装置、存储介质及电子设备 - Google Patents
异常资源的定位方法和装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN112698829B CN112698829B CN202110045149.1A CN202110045149A CN112698829B CN 112698829 B CN112698829 B CN 112698829B CN 202110045149 A CN202110045149 A CN 202110045149A CN 112698829 B CN112698829 B CN 112698829B
- Authority
- CN
- China
- Prior art keywords
- resource
- data
- resources
- target application
- target
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种异常资源的定位方法和装置、存储介质及电子设备。其中,该方法包括:在与运行有目标应用的第一终端设备建立会话连接的情况下,通过第二终端设备中的定位客户端,获取定期从第一终端设备的内存中采集到的目标应用的数据资源;获取在定位客户端中执行操作所触发的资源比对请求,其中,资源比对请求用于请求对目标应用的数据资源进行比对;在定位客户端中显示根据比对的结果定位出的目标数据资源,其中,目标数据资源为第一终端设备的内存在加载目标应用的数据资源时出现异常的数据资源。本发明解决了由于相关技术提供的异常资源的定位方法操作较复杂造成的定位效率较低的技术问题。
Description
技术领域
本发明涉及计算机领域,具体而言,涉及一种异常资源的定位方法和装置、存储介质及电子设备。
背景技术
如今很多应用APP(Application)在移动终端设备中运行时,往往需要先将该应用运行所需相关数据资源加载到设备的内存中。其中,当内存中的资源加载异常时,为了定位出存在异常的故障资源,目前常用的方式是先生成某一时刻的内存快照,再基于该内存快照分析故障资源所在的位置。
例如,在游戏应用中会通过虚拟引擎4(Unreal Engine 4,简称UE 4)提供的memreport命令,获取到在某时刻生成的内存快照报告,测试人员将基于该内存快照报告来进行内存定位分析。如在游戏的运行过程中,在手机屏幕触发输入窗口输入“memreport”命令,则将在手机的以下目录路径下生成一个内存快照报告:“SD卡/UE4Game/项目名称/Saved/Profiling/MemReports”。
但上述内存快照报告的可读性差,只能展示在某个时刻的内存状态。若要确定故障资源所在的位置,只能手动触发获取多个内存快照报告,并将其导入额外的文本比对软件,通过文本比对来确定出存在异常的故障资源。也就是说,相关技术提供的异常资源的定位方法操作较复杂,导致定位效率较低的问题。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种异常资源的定位方法和装置、存储介质及电子设备,以至少解决由于相关技术提供的异常资源的定位方法操作较复杂造成的定位效率较低的技术问题。
根据本发明实施例的一个方面,提供了一种异常资源的定位方法,包括:在与运行有目标应用的第一终端设备建立会话连接的情况下,通过第二终端设备中的定位客户端,获取定期从上述第一终端设备的内存中采集到的上述目标应用的数据资源;获取在上述定位客户端中执行操作所触发的资源比对请求,其中,上述资源比对请求用于请求对上述目标应用的数据资源进行比对;在上述定位客户端中显示根据比对的结果定位出的目标数据资源,其中,上述目标数据资源为上述第一终端设备的内存在加载上述目标应用的数据资源时出现异常的数据资源。
根据本发明实施例的另一方面,还提供了一种异常资源的定位装置,包括:第一获取单元,用于在与运行有目标应用的第一终端设备建立会话连接的情况下,通过第二终端设备中的定位客户端,获取定期从上述第一终端设备的内存中采集到的上述目标应用的数据资源;第二获取单元,用于获取在上述定位客户端中执行操作所触发的资源比对请求,其中,上述资源比对请求用于请求对上述目标应用的数据资源进行比对;第一显示单元,用于在上述定位客户端中显示根据比对的结果定位出的目标数据资源,其中,上述目标数据资源为上述第一终端设备的内存在加载上述目标应用的数据资源时出现异常的数据资源。
根据本发明实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述异常资源的定位方法。
根据本发明实施例的又一方面,还提供了一种电子设备,包括存储器和处理器,上述存储器中存储有计算机程序,上述处理器被设置为通过所述计算机程序执行上述的异常资源的定位方法。
在本发明实施例中,采用在与运行有目标应用的第一终端设备建立会话连接的情况下,通过第二终端设备中的定位客户端,获取定期从上述第一终端设备的内存中采集到的上述目标应用的数据资源;获取在上述定位客户端中执行操作所触发的资源比对请求,其中,上述资源比对请求用于请求对上述目标应用的数据资源进行比对;在上述定位客户端中显示根据比对的结果定位出的目标数据资源,其中,上述目标数据资源为上述第一终端设备的内存在加载上述目标应用的数据资源时出现异常的数据资源的方式,通过第二终端中的定位客户端,获取定期从第一客户端设备内存中采集到的目标应用的数据资源,并对该数据资源进行比对,定位出目标数据资源,达到了提高异常资源的定位效率的目的,从而实现了降低异常资源的定位方法操作复杂度,以及提高异常资源定位效率的技术效果,进而解决了由于相关技术提供的异常资源的定位方法操作较复杂造成的定位效率较低的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的异常资源的定位方法的应用环境的示意图;
图2是根据本发明实施例的另一种可选的异常资源的定位方法的应用环境的示意图;
图3是根据本发明实施例的一种可选的异常资源的定位方法的流程示意图;
图4是根据本发明实施例的一种可选的异常资源的定位方法的系统结构关系示意图;
图5是根据本发明实施例的另一种可选的异常资源的定位方法的系统结构关系示意图;
图6是根据本发明实施例的一种可选的异常资源的定位方法的数据传输示意图;
图7是根据本发明实施例的另一种可选的异常资源的定位方法的MessageBus类关系调用示意图;
图8是根据本发明实施例的一种可选的异常资源的定位方法的效果示意图;
图9是根据本发明实施例的另一种可选的异常资源的定位方法的效果示意图;
图10是根据本发明实施例的又一种可选的异常资源的定位方法的效果示意图;
图11是根据本发明实施例的再一种可选的异常资源的定位方法的效果示意图;
图12是根据本发明实施例的又一种可选的异常资源的定位方法的效果示意图;
图13是根据本发明实施例的一种可选的异常资源的定位装置的结构示意图;
图14是根据本发明实施例的一种可选的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例的一个方面,提供了一种异常资源的定位方法,可选地,作为一种可选的实施方式,上述异常资源的定位方法可以但不限于应用于如图1所示的环境中。该应用环境中包括:与用户进行人机交互的终端设备102、网络104、服务器106。用户108与终端设备102之间可以进行人机交互,终端设备102中运行有异常资源的定位应用客户端。上述终端设备102中包括人机交互屏幕1022,处理器1024及存储器1026。人机交互屏幕1022用于呈现第一终端设备的内存在加载目标应用的数据资源时出现异常的数据资源内容。处理器1024用于采集到目标应用的数据资源;存储器108用于存储待目标应用的数据资源,及用于存储第一终端设备的内存在加载目标应用的数据资源时出现异常的数据资源。
此外,服务器106中包括数据库1062及处理引擎1064,数据库1062中用于存储对目标应用的数据资源,及用于存储第一终端设备的内存在加载目标应用的数据资源时出现异常的数据资源。处理引擎1064用于获取在定位客户端中执行操作所触发的资源比对请求,其中,资源比对请求用于请求对目标应用的数据资源进行比对;在定位客户端中显示根据比对的结果定位出的目标数据资源。
具体过程如以下步骤:假设如图1所示终端设备102中运行有异常资源的定位应用客户端,用户108操作人机交互屏幕1022对目标应用的数据资源进行管理和操作,如步骤S102,在与运行有目标应用的第一终端设备建立会话连接的情况下,通过第二终端设备中的定位客户端,获取定期从第一终端设备的内存中采集到的目标应用的数据资源;然后执行步骤S104,将上述目标应用的数据资源通过网络104发送给服务器106。服务器106接收到该请求后,执行步骤S106-S108,获取在定位客户端中执行操作所触发的资源比对请求,其中,资源比对请求用于请求对目标应用的数据资源进行比对;在定位客户端中显示根据比对的结果定位出的目标数据资源,其中,目标数据资源为第一终端设备的内存在加载目标应用的数据资源时出现异常的数据资源。并如步骤S110,通过网络104通知终端设备102,返回第一终端设备的内存在加载目标应用的数据资源时出现异常的数据资源。
作为另一种可选的实施方式,本申请上述异常资源的定位方法可以应用于图2所示的应用环境中。如图2所示,用户202与用户设备204之间可以进行人机交互。用户设备204中包含有存储器206和处理器208。本实施例中用户设备204可以但不限于参考执行上述终端设备102所执行的操作,以获取第一终端设备的内存在加载目标应用的数据资源时出现异常的数据资源。
可选地,上述终端设备102和用户设备204可以但不限于为手机、平板电脑、笔记本电脑、PC机等终端,上述网络104可以包括但不限于无线网络或有线网络。其中,该无线网络包括:WIFI及其他实现无线通信的网络。上述有线网络可以包括但不限于:广域网、城域网、局域网。上述服务器106可以包括但不限于任何可以进行计算的硬件设备。上述仅是一种示例,本实施例中对此不作任何限定。
可选地,作为一种可选的实施方式,如图3所示,上述异常资源的定位方法包括:
S302,在与运行有目标应用的第一终端设备建立会话连接的情况下,通过第二终端设备中的定位客户端,获取定期从第一终端设备的内存中采集到的目标应用的数据资源;
获取在定位客户端中执行操作所触发的资源比对请求,其中,资源比对请求用于请求对目标应用的数据资源进行比对;
在定位客户端中显示根据比对的结果定位出的目标数据资源,其中,目标数据资源为第一终端设备的内存在加载目标应用的数据资源时出现异常的数据资源。
在步骤S302中,实际应用时,第一终端设备可以但不限于为手机或平板电脑,第二终端设备可以但不限于笔记本电脑、PC机或者运行有定位客户的其他电子设备等终端。这里,目标应用可以包括但不限于定位游戏;第二终端设备中的定位客户端可以包括但不限于UE4编辑器。
以第一终端设备为手机,第二终端设备为PC机为例,手机中运行有定位游戏,PC机通过数据线或无线模块连接手机,然后通过安装在PC机中的UE4编辑器,定期获取到上述手机内存采集到的定位游戏的数据资源。这里无线模块可以包括但不限于蓝牙模块、WIFI模块或Zigbee模块,在此不做限定。
在步骤S304中,实际应用时,对目标应用的数据资源进行比对,可以包括但不限于目标应用中的前后两帧数据进行比对,这里,目标应用中的数据资源可以包括但不限于不同类型的美术资源的资源名、内存占用、详细数据、资源路径等,在定位客户端中执行操作可以包括通过手势或按键等方式来触发资源比对请求;在此不做限定。
在步骤S306中,实际应用时,以第二客户端为PC机为例,第二客户端中安装的定位客户端,对目标应用中的数据资源的前后两帧数据进行比对后,定位出的目标数据资源;这里,目标数据资源可以包括但不限于不同类型的美术资源的资源名的差异、内存占用差异、详细数据的差异、资源路径的差异等,在此不作限定。
在本发明实施例中,采用在与运行有目标应用的第一终端设备建立会话连接的情况下,通过第二终端设备中的定位客户端,获取定期从上述第一终端设备的内存中采集到的上述目标应用的数据资源;获取在上述定位客户端中执行操作所触发的资源比对请求,其中,上述资源比对请求用于请求对上述目标应用的数据资源进行比对;在上述定位客户端中显示根据比对的结果定位出的目标数据资源,其中,上述目标数据资源为上述第一终端设备的内存在加载上述目标应用的数据资源时出现异常的数据资源的方式,通过第二终端中的定位客户端,获取定期从第一客户端设备内存中采集到的目标应用的数据资源,并对该数据资源进行比对,定位出目标数据资源,达到了提高异常资源的定位效率的目的,从而实现了降低异常资源的定位方法操作复杂度,以及提高异常资源定位效率的技术效果,进而解决了由于相关技术提供的异常资源的定位方法操作较复杂造成的定位效率较低的技术问题。
在一实施例中,步骤S304包括:在定位客户端中以插件方式显示与目标应用对应的编辑操作界面;在编辑操作界面中显示资源操作区域,其中,资源操作区域中包括多个功能操作区域;响应于对资源操作区域中的比较功能操作区域执行的操作,获取待比对的目标对象的对象标识,其中,多个功能操作区域中包括比较功能操作区域;根据获取到目标对象的对象标识生成资源比对请求。
在本实施例中,以插件方式显示与目标应用对应的编辑操作界面可以包括但不限于,在笔记本电脑或PC机的显示界面中,显示定位客户端为UE4的编辑操作界面。如图8所示,在在笔记本电脑或PC机的浏览器显示界面中,以浏览器插件的方式显示目标应用对应的编辑操作界面。如图9所示,在所述编辑操作界面中显示资源操作区域904,这里资源操作区域可以包括图9的菜单操作区,即包括载入Load键(记载以经保存的内存数据),保存Save(保存当前已经采集的连续时间的内存数据),数据预览Data Preview(开始采集和预览性能数据),Current Frame键查看最新一帧的内存数据,Clear Data键清除当前采集的所有数据等多个功能操作区域。<键和>键为往左移一帧/往右移一帧;AddDiff键可以将某一帧的数据添加到对比队列;OpenDiffWindow键可以打开对比窗口,对比某两帧的内存数据差异。通过OpenDiffWindow键打开对比窗口后,如图11所示,获取待比对的目标对象的对象标识,这里目标对象的对象标识可以包括目标对象的名称、内存、详细和路径等信息。其中,所述多个功能操作区域中包括所述比较功能操作区域;如图11所示,根据获取到目标对象的对象标识生成资源比对请求。图11中第一帧和第二帧通过比较键来生成资源比对请求。
在一实施例中,步骤S306之后,还包括以下至少之一:
在编辑操作界面中显示资源展示区域,其中,资源展示区域用于展示在目标时间段内从内存中采集到的目标应用的数据资源的资源列表;
在编辑操作界面中显示资源变化展示区域,其中,资源变化展示区域用于展示目标应用的数据资源的变化趋势图。
在一实施例中,例如在浏览器中的UE4插件的编辑操作界面中显示资源展示区域,其中,资源展示区域用于展示在目标时间段内从内存中采集到的目标应用的数据资源的资源列表;这里,如图9所示,资源展示区域可以包括如图9中的性能概要类别区906和美术资源数据列表区910。性能概要类别区906中包括内存的类型,CPU的各项参数,队列的各种信息。
在一实施例中,在编辑操作界面中显示资源变化展示区域,其中,资源变化展示区域用于展示目标应用的数据资源的变化趋势图。如图9所示,例如在浏览器中的UE4插件的编辑操作界面中显示资源变化展示区域908,其中,资源变化展示区域908用于展示所述目标应用的数据资源的变化趋势图。如图9所示,资源变化展示区域908可以显示目标应用的数据资源不同时刻性能变化曲线,例如CPU占用率变化,内存占用的变化率等,在此不作限定。
在一实施例中,定位客户端中以插件方式显示与目标应用对应的编辑操作界面时,还包括:在定位客户端中编辑操作界面关联的边栏区域中,显示与第二终端设备建立有会话连接的各个终端设备的会话连接状态,其中,各个终端设备包括第一终端设备。例如,如图9所示,在浏览器中的UE4插件的编辑操作界面中显示边栏区域,这里边栏区域可以为会话连接区域902,在会话连接区域中可以包括当前连接的第一电子设备的名字,类型,设备状态等信息。这里,连接的第一电子设备可以为多个,然后通过列表的形式展示在会话连接区域902中。图9中当前连接的第一电子设备为手机类型,手机的类型为MI8,手机的名称为MI8-323。
在一实施例中,在编辑操作界面中显示资源操作区域之后,还包括以下至少之一:
响应于对资源操作区域中的加载功能操作区域执行的操作,加载已经保存的目标应用的数据资源;这里,以第一电子设备为手机为例,第二电子设备为PC机,在第二电子设备的浏览器中的UE4插件的编辑操作界面中,如图9所示,通过点击载入Load键,以及保存Save键加载已经保存的目标应用的数据资源。
响应于对资源操作区域中的预览功能操作区域执行的操作,预览显示已经保存的目标应用的数据资源;这里,以第一电子设备为手机为例,第二电子设备为PC机,在第二电子设备的浏览器中的UE4插件的编辑操作界面中,如图9所示,通过点击数据预览DataPreview键,预览显示已经保存的目标应用的数据资源。
响应于对资源操作区域中的更新功能操作区域执行的操作,显示最新采集到的目标应用的数据资源;这里,以第一电子设备为手机为例,第二电子设备为PC机,在第二电子设备的浏览器中的UE4插件的编辑操作界面中,如图9所示,通过点击Current Frame键显示最新采集到的目标应用的数据资源。
响应于对资源操作区域中的清除功能操作区域执行的操作,清除当前采集到的目标应用的数据资源;这里,以第一电子设备为手机为例,第二电子设备为PC机,在第二电子设备的浏览器中的UE4插件的编辑操作界面中,如图9所示,通过点击Clear Data键清除当前采集到的目标应用的数据资源。
响应于对资源操作区域中的切换功能操作区域执行的操作,切换选中的资源对象。这里,以第一电子设备为手机为例,第二电子设备为PC机,在第二电子设备的浏览器中的UE4插件的编辑操作界面中,如图9所示,通过<键或>键切换选中的资源对象。这里,点击<键可以查看上一帧的数据,通过点击>键可以查看下一帧的数据。
在一实施例中,获取待比对的目标对象的对象标识包括:响应于对资源操作区域中的添加功能操作区域执行的操作,显示添加输入框,其中,添加输入框用于提示输入待比对的对象的对象标识;将通过添加输入框获取到的对象的对象标识添加到比对队列中;从比对队列中获取目标对象的对象标识。例如,在图9中,点击资源操作区域904中的AddDiff按键后,可以弹出如图10所示的界面,这里,带比对的对象的对象的标识可以为以数字的形式标识,图10中,添加输入框1002中,输入带比对的对象,例如多个带比对对象为数据帧的情况下,那么当前输入的为第一个待比对对象的数据帧。那么比对队列中就出现了多个待比对对象,例如带由多个对象标识的多个数据帧。
在一实施例中,在根据获取到目标对象的对象标识生成资源比对请求之后,还包括:在比对队列中的对象为画面帧的情况下,对画面帧对应的画面资源按照资源类型进行分类,得到多个类型的数据资源列表;分别遍历每个类型的数据资源列表,依次执行以下操作:对当前类型的数据资源列表中任意相邻的两个画面帧各自对应的画面资源进行比对,得到帧比对结果集合,其中,帧比对结果集合中每个帧比对结果用于指示两个画面帧的比对结果;对帧比对结果集合进行统计,得到当前类型对应的统计结果,其中,统计结果包括以下至少之一:画面资源存在改变的帧数量、画面资源出现增加的帧数量、画面资源出现减少的帧数量、画面资源相同的帧数量;在获取到每个类型各自对应的统计结果的情况下,根据统计结果在定位客户端中对包含目标数据资源的目标资源类型进行标记显示。
在本实施例中,在所述比对队列中的对象为画面帧的情况下,对画面帧对应的画面资源按照资源类型进行分类,得到多个类型的数据资源列表如贴图资源,静态网格资源,或声音资源等,在此不做限定。如图11所示,当前Frame Diff显示界面可以显示有当前第一帧画面资源的名称,内存信息,详细信息,比较结果信息,以及各自对应的路径信息等。
分别遍历每个类型的数据资源列表,依次执行以下操作:对当前类型的数据资源列表中任意相邻的两个画面帧各自对应的画面资源进行比对,得到帧比对结果集合,其中,帧比对结果集合中每个帧比对结果用于指示两个画面帧的比对结果。对帧比对结果集合进行统计,得到当前类型对应的统计结果,其中,统计结果包括以下至少之一:画面资源存在改变的帧数量、画面资源出现增加的帧数量、画面资源出现减少的帧数量、画面资源相同的帧数量;如图11所示,第一帧和第二帧两个画面帧在各自对应的画面,在比较结果中,Change(0)表示两帧之间资源内容没有改变改变,Add(2)表示第二帧比第一帧数量增加了2个,Del(68)表示第二帧比第一帧的资源数量增加了68个,Same(202)表示画面资源相同的帧数量为202个。
在获取到每个类型各自对应的统计结果的情况下,根据统计结果在定位客户端中对包含目标数据资源的目标资源类型进行标记显示。如图12所示,第一帧和第二帧在比对结果中,DefaultTextureCube类型的比较结果为Same,表示两帧该类型下的信息相同。T_Cube_IceIner类型的比较结果同样为Same,表示两帧之间在该类型下的信息相同。
在一实施例中,在根据获取到目标对象的对象标识生成资源比对请求之后,还包括:在比对队列中的对象为性能数据的情况下,确定性能数据各自所属的类别;分别遍历每个类别下的性能数据,依次执行以下操作:获取在不同时刻采集到的当前类别下的性能数据,以生成当前类别下的性能数据对应的变化趋势图;在获取到每个类别下的性能数据各自对应的变化趋势图的情况下,在变化趋势图中对包含目标数据资源的目标类别对应的曲线进行标记显示。这里,以第一电子设备为手机为例,第二电子设备为PC机,在第二电子设备的浏览器中的UE4插件的编辑操作界面中,如图9所示,在比对队列中的对象为性能数据的情况下,确定性能数据各自所属的类别;这里,性能数据各自所属的类别可以包括内存,CPU,资源渲染性能,分别遍历包括内存,CPU,资源渲染性能每个类别下的性能数据,依次执行以下操作:获取在不同时刻采集到的当前类别下的性能数据,以生成当前类别下的性能数据对应的变化趋势图。内存性能数据中,可以包括TextuerMemory(贴图总内存使用数);UsedPhysical(总内存)UsedVirtual(虚拟内存),CPU性能数据:FrameTime(帧耗时)。渲染性能数据可以包括MeshDrawCalls、RHITriangles、StaticMeshTriangles等不同的数据。资源变化展示区域908中,可以包括但不限于显示内存的实时占用比例曲线图,CPU占用率曲线图;以及目标应用中的渲染性能数据曲线图等,在此不做限定。
在一实施例中,获取定期从第一终端设备的内存中采集到的目标应用的数据资源之前,还包括:向第一终端设备发送目标应用的运行数据包,其中,运行数据包中携带有内存采集接口信息;在第一终端设备使用运行数据包运行目标应用的过程中,通过内存采集接口信息所指示的采集接口来采集目标应用在第一终端设备的内存中存储的数据资源,其中,数据资源包括以下之一:画面帧对应的画面资源、性能数据。这里,可以将获取美术资源和性能概要数据的接口抽离出来为一个独立的模块,放入UE4引擎中,一起打包到游戏包。向第一终端设备(例如手机)发送目标应用的运行数据包(包含上述游戏包),其中,运行数据包中携带有内存采集接口信息(获取美术资源和性能概要数据的接口);在第一终端设备使用运行数据包运行目标应用的过程中,通过内存采集接口信息所指示的采集接口来采集目标应用在第一终端设备的内存中存储的数据资源。
在一实施例中,获取定期从第一终端设备的内存中采集到的目标应用的数据资源包括:获取第一终端设备按照自定义消息格式封装的目标应用的数据资源。如图6所示,UE4提供了MessageBus来在各个游戏客户端之间传递消息,它允许注册的发送方和接收方对象以用户定义的消息的形式交换结构化数据。这里消息体可以为结构体类型的数据结构。这里自定义消息格式的可以通过如下代码来实现:
在本发明实施例中,采用在与运行有目标应用的第一终端设备建立会话连接的情况下,通过第二终端设备中的定位客户端,获取定期从上述第一终端设备的内存中采集到的上述目标应用的数据资源;获取在上述定位客户端中执行操作所触发的资源比对请求,其中,上述资源比对请求用于请求对上述目标应用的数据资源进行比对;在上述定位客户端中显示根据比对的结果定位出的目标数据资源,其中,上述目标数据资源为上述第一终端设备的内存在加载上述目标应用的数据资源时出现异常的数据资源的方式,通过第二终端中的定位客户端,获取定期从第一客户端设备内存中采集到的目标应用的数据资源,并对该数据资源进行比对,定位出目标数据资源,达到了提高异常资源的定位效率的目的,从而实现了降低异常资源的定位方法操作复杂度,以及提高异常资源定位效率的技术效果,进而解决了由于相关技术提供的异常资源的定位方法操作较复杂造成的定位效率较低的技术问题。
基于上述实施例,在一应用实施例中,上述异常资源的定位方法中,如图4所示,将获取美术资源和性能概要数据的接口抽离出来为一个独立的模块,放入引擎402中,一起打包到游戏包,用户在PC端的UE4编辑器403中连接手机401,查看传输的内存资源数据和性能概要数据,并可以对比任意时刻的资源差异情况。
如图5所示,将引擎中FObjectCreateListener和FUObjectDeleteListener获取美术资源的接口、获取音频设备管理器的接口、以及性能数据接口Stats等抽离出来,打包到游戏包中,通过编辑器从游戏包中获取传输的内存资源数据和性能概要数据。
本发明实施例中,编辑器包括服务端和客户端,服务端负责采集和传输数据给客户端,客户端接受并解析数据,将数据以用户接口(User Interface,UI)可视化的形式展示出来,并提供差异对比功能。
服务端的实现原理是将采集美术资源和性能概要数据的接口抽离出来为一个独立的模块,放在UE4引擎侧,具体的采集方法如下。
1、美术资源的采集:
在各个美术资源初始化的时候,根据美术资源的类型,把各个美术资源分别存储到设定好的数组中。
通过重写UE4引擎中的FObjectCreateListener和FUObjectDeleteListener的NotifyUObjectCreated和NotifyUObjectDeleted,来监听UObject对象的创建和销毁,从而得到实时内存中的UObject美术资源对象,这个方法的好处是不用修改引擎就可以快速获取当前的美术资源数组Array。设定好的数组可以如下定义:
TArray<UTexture2D*>Texture2DList;
TArray<UTexture2DDynamic*>Texture2DDynamicList;
TArray<UTextureCube*>TextureCubeList;
TArray<UTextureRenderTarget2D*>TextureRender2DList;
TArray<USkeletalMesh*>SkeletalMeshList;
TArray<UStaticMesh*>StaticMeshList;
TArray<UParticleSystem*>ParticleSystemList;
TArray<UAnimSequence*>AnimSequenceList;
TArray<UMaterialInstance*>MaterialInstanceList;
下次获取各个美术资源的时候,直接从数TArray组中获取。
性能概要数据主要是游戏某时刻的概要性能数据,例如:
内存性能数据包含:
TextureMemory:贴图总内存使用数;
UsedPhysical:总内存;
UsedVirtual:虚拟内存;
CPU性能数据:
FrameTime:帧耗时;
渲染性能数据:MeshDrawCalls、RHITriangles、StaticMeshTriangles。
UE4提供的Stats统计中包含了这些性能概要数据,因此把Stats接口抽离出来,就可以采集目标数据。
其中,性能概要数据的采集可以通过如下代码实现:
//获取UE4引擎统计的性能数据Data
const FStatsThreadState&Stats=FStatsThreadState::GetLocalState();
constTArray<FStatMessage>&Data=Stats.GetCondensedHistory(FrameIndex);
上述代码把可以实现将states统计数据抽离出来。
上述代码中,STAT_TextureMemory表示性能数据,如果要采集其他类型的性能概要数据,只需在for循环中添加一个if的逻辑判断,后面跟上性能字段名就可以获取。
声音资源SoundWaves的获取,可以通过UE4引擎提供的AudioDeviceManager类的ActiveAudioDevice接口获取当前内存的ActiveSounds。其实现过程的代码如下所示:
通过遍历ActiveSounds得到当前内存中的声音资源FWaveInstance。
客户端以插件Plugin的形式,如图9所示,客户端可以为浏览器插件Plugin的形式展现,放在UE4游戏的项目工程代码的plugins目录下,用于接收手机运行游戏时传来的实时内存资源和性能概要收据流,并将数据流解析,把美术资源数据以分类菜单形式输出到界面,并绘制对应的内存性能曲线图。
数据传输过程中,如图6所示,UE4提供了MessageBus来在各个游戏客户端之间传递消息,它允许注册的发送方和接收方对象以用户定义的消息的形式交换结构化数据。用户定义的消息可以通过如下代码来实现:
MessageBus属于Messaing模块,其类关系的调用如图7所示;Messaing模块负责接受和处理消息,TcpMessaging模块负责发送消息,FMessageBridge连接了MessageBus和FTcpMessageTransport模块,最底层的实现是通过Scoket类函数,UE4封装的上述函数,在传递消息时只需要使用它提供的方法,因此使用时会方便快捷。其中,Messagerouter用来转发消息;Messagetask用来执行发送消息的相应任务。FTcpMessageTransport属于TCPMessaging插件,所以如果想在Editor连接其他终端设备传输数据,要先在UE4的Editor中启用TCP Messaging插件。
通过本发明实施例可以实现基于UE4引擎游戏的动态美术资源获取,并且可以对比不同时刻的内存差异情况,可以将采集的数据的保存或者加载已保存的内存数据,可以方便快捷的查询分析结果,极大的提升了内存定位分析的效率。
由于获取美术资源和性能概要数据的接口抽离,可以自定义采集的目标性能数据,扩展方便。如图8所示,连接手机,在UE4的Editor以插件方式查看手机采集的数据,这里的手机型号为MI8。采集数据的查看效果如图9所示,在图9中,整个的插件界面分为5个区域,各个区域的功能如下:
1、会话连接区域902,可以连接其他设备,如手机或者编辑器等电子设备。
2、菜单操作区,也称资源操作区域904,包含各个功能按钮:
Load:加载已经保存的内存数据;
Save:保存当前已经采集的连续时间的内存数据;
Data Preview:开始采集和预览性能数据;
Current Frame:查看最新一帧的内存数据;
Clear Data:清除当前采集的所有数据;
<>:往左移一帧/往右移一帧;
AddDiff:将某一帧的数据添加到对比队列;
OpenDiffWindow:打开对比窗口,对比某两帧的内存数据差异;
3、所采集的性能概要数据列表,在性能概要类别区906显示;
4、性能概要数据的可视化绘图趋势,在资源变化展示区域908显示;
5、各个类型的美术资源数据列表,在美术资源数据列表区910显示具体各个类型美术资源的资源名、内存占用、详细数据、资源路径。
当点击资源操作区域904中的AddDiff按键后,如图10所示,弹出窗口Add FrameTo Diff,可以添加美术资源的数据帧的标识符。
点击OpenDiffWindow弹出窗口,对待对比队列的两帧数据进行对比,得到差异结果如图11所示,图11中,显示有数量变化体现在add和del,相比前一帧资源数量增加或减少;资源内容有变化体现在chang;资源相同体现在same中;比较结果括号内总数是名称括号内总数。如图12所示,当比较的两个数据帧的比较结果为Same时,编码两帧的资源内容相同。
基于上述实施例,在一应用实施例中,上述异常资源的获取方法可以包括如下步骤:
1)将手机使用数据线连接到电脑。在电脑中创建UE4CommandLine.txt,写入-messaging-SessionOwner="xxx",将UE4CommandLine.txt拷贝到手机上"SD卡/UE4Game/项目名称/"目录下。
2)在手机上运行游戏,UE4的数据获取接口在固定时间间隔,采集游戏当前时刻内存中的美术资源和性能概要数据。
3)采集的数据实时的传到PC。
4)在PC端的UE4编辑器上以UI可视化界面,按照分类汇总的形式查看数据。
5)分别选择两个时刻加载的美术资源数据,对比查看差异资源数据,定位异常。
本发明实施例在游戏内存中的资源异常加载的定位分析中,可以自动实时的采集内存中加载的美术资源和性能概要数据,并且可以对比任意不同时刻的内存差异情况,在UE4编辑器中以UI可视化界面的形式查看采集的实时数据和对比的结果,使测试人员在内存问题的定位分析过程中,更方便的定位内存中的资源加载异常问题,提高性能分析的效率。并且可以自定义采集的目标性能数据,扩展方便。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
根据本发明实施例的另一个方面,还提供了一种用于实施上述异常资源的定位方法的异常资源的定位装置。如图13所示,该装置包括:
第一获取单元1302,用于在与运行有目标应用的第一终端设备建立会话连接的情况下,通过第二终端设备中的定位客户端,获取定期从第一终端设备的内存中采集到的目标应用的数据资源;
第二获取单元1304,用于获取在定位客户端中执行操作所触发的资源比对请求,其中,资源比对请求用于请求对目标应用的数据资源进行比对;
第一显示单元1306,用于在定位客户端中显示根据比对的结果定位出的目标数据资源,其中,目标数据资源为第一终端设备的内存在加载目标应用的数据资源时出现异常的数据资源。
在本发明实施例中,第一终端设备可以但不限于为手机或平板电脑,第二终端设备可以但不限于笔记本电脑、PC机或者运行有定位客户的其他电子设备等终端。这里,目标应用可以包括但不限于定位游戏;第二终端设备中的定位客户端可以包括但不限于UE4编辑器。
以第一终端设备为手机,第二终端设备为PC机为例,手机中运行有定位游戏,PC机通过数据线或无线模块连接手机,然后通过安装在PC机中的UE4编辑器,定期获取到上述手机内存采集到的定位游戏的数据资源。这里无线模块可以包括但不限于蓝牙模块、WIFI模块或Zigbee模块,在此不做限定。
在本发明实施例中,对目标应用的数据资源进行比对,可以包括但不限于目标应用中的前后两帧数据进行比对,这里,目标应用中的数据资源可以包括但不限于不同类型的美术资源的资源名、内存占用、详细数据、资源路径等,在此不做限定。在定位客户端中执行操作可以包括通过手势或按键等方式来触发资源比对请求。
在本发明实施例中,以第二客户端为PC机为例,第二客户端中安装的定位客户端,对目标应用中的数据资源的前后两帧数据进行比对后,定位出的目标数据资源;这里,目标数据资源可以包括但不限于不同类型的美术资源的资源名的差异、内存占用差异、详细数据的差异、资源路径的差异等,在此不作限定。
在本发明实施例中,采用在与运行有目标应用的第一终端设备建立会话连接的情况下,通过第二终端设备中的定位客户端,获取定期从上述第一终端设备的内存中采集到的上述目标应用的数据资源;获取在上述定位客户端中执行操作所触发的资源比对请求,其中,上述资源比对请求用于请求对上述目标应用的数据资源进行比对;在上述定位客户端中显示根据比对的结果定位出的目标数据资源,其中,上述目标数据资源为上述第一终端设备的内存在加载上述目标应用的数据资源时出现异常的数据资源的方式,通过第二终端中的定位客户端,获取定期从第一客户端设备内存中采集到的目标应用的数据资源,并对该数据资源进行比对,定位出目标数据资源,达到了提高异常资源的定位效率的目的,从而实现了降低异常资源的定位方法操作复杂度,以及提高异常资源定位效率的技术效果,进而解决了由于相关技术提供的异常资源的定位方法操作较复杂造成的定位效率较低的技术问题。
本实施例的其他实例可以参见上述实施例,在此不做赘述。
根据本发明实施例的又一个方面,还提供了一种用于实施上述异常资源的定位方法的电子设备,该电子设备可以是图1所示的终端设备或服务器。本实施例以该电子设备为终端设备为例来说明。如图14所示,该电子设备包括存储器1402和处理器1404,该存储器1402中存储有计算机程序,该处理器1404被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述电子设备可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,在与运行有目标应用的第一终端设备建立会话连接的情况下,通过第二终端设备中的定位客户端,获取定期从第一终端设备的内存中采集到的目标应用的数据资源;
S2,获取在定位客户端中执行操作所触发的资源比对请求,其中,资源比对请求用于请求对目标应用的数据资源进行比对;
S3,在定位客户端中显示根据比对的结果定位出的目标数据资源,其中,目标数据资源为第一终端设备的内存在加载目标应用的数据资源时出现异常的数据资源。
可选地,本领域普通技术人员可以理解,图14所示的结构仅为示意,电子装置电子设备也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图14其并不对上述电子装置电子设备的结构造成限定。例如,电子装置电子设备还可包括比图14中所示更多或者更少的组件(如网络接口等),或者具有与图14所示不同的配置。
其中,存储器1402可用于存储软件程序以及模块,如本发明实施例中的方法和装置对应的程序指令/模块,处理器1404通过运行存储在存储器1402内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的异常资源的定位方法。存储器1402可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1402可进一步包括相对于处理器1404远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。其中,存储器1402具体可以但不限于用于存储根据比对的结果定位出的目标数据资源等信息。作为一种示例,如图14所示,上述存储器1402中可以但不限于包括上述异常资源的定位装置中的第一获取单元1302、第二获取单元1304及第一显示单元1306。此外,还可以包括但不限于上述异常资源的定位装置中的其他模块单元,本示例中不再赘述。
可选地,上述的传输装置1406用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置1406包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置1406为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
此外,上述电子设备还包括:显示器1408,用于显示根据比对的结果定位出的目标数据资源信息;和连接总线1410,用于连接上述电子设备中的各个模块部件。
在其他实施例中,上述终端设备或者服务器可以是一个分布式系统中的一个节点,其中,该分布式系统可以为区块链系统,该区块链系统可以是由该多个节点通过网络通信的形式连接形成的分布式系统。其中,节点之间可以组成点对点(P2P,Peer To Peer)网络,任意形式的计算设备,比如服务器、终端等电子设备都可以通过加入该点对点网络而成为该区块链系统中的一个节点。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述异常资源的定位方法。其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述计算机可读的存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,在与运行有目标应用的第一终端设备建立会话连接的情况下,通过第二终端设备中的定位客户端,获取定期从第一终端设备的内存中采集到的目标应用的数据资源;
S2,获取在定位客户端中执行操作所触发的资源比对请求,其中,资源比对请求用于请求对目标应用的数据资源进行比对;
S3,在定位客户端中显示根据比对的结果定位出的目标数据资源,其中,目标数据资源为第一终端设备的内存在加载目标应用的数据资源时出现异常的数据资源。
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (14)
1.一种异常资源的定位方法,其特征在于,包括:
在与根据运行数据包运行了目标应用的第一终端设备建立会话连接的情况下,通过第二终端设备中的定位客户端,通过所述运行数据包中携带的内存采集接口信息所指示的采集接口,获取定期从所述第一终端设备的内存中采集到的所述目标应用的数据资源;
响应于在所述定位客户端中的对象标识添加操作,基于所述对象标识添加操作中携带的所述对象标识获取资源比对请求,包括:将通过添加输入框获取到的对象的对象标识添加到比对队列中;从所述比对队列中获取目标对象的对象标识;
在所述比对队列中的对象为画面帧的情况下,对所述画面帧对应的画面资源按照资源类型进行分类,得到多个类型的数据资源列表;分别遍历每个类型的数据资源列表,依次执行以下操作:对当前类型的数据资源列表中任意相邻的两个画面帧各自对应的画面资源进行比对,得到帧比对结果集合,其中,所述帧比对结果集合中每个帧比对结果用于指示所述两个画面帧的比对结果;对所述帧比对结果集合进行统计,得到所述当前类型对应的统计结果,其中,所述统计结果包括以下至少之一:画面资源存在改变的帧数量、画面资源出现增加的帧数量、画面资源出现减少的帧数量、画面资源相同的帧数量;在获取到每个类型各自对应的统计结果的情况下,根据所述统计结果在所述定位客户端中对包含目标数据资源的目标资源类型进行标记显示;
在所述定位客户端中显示根据比对的结果定位出的目标数据资源,其中,所述目标数据资源为所述第一终端设备的内存在加载所述目标应用的数据资源时出现异常的数据资源。
2.根据权利要求1所述的方法,其特征在于,所述基于所述对象标识添加操作中携带的所述对象标识获取资源比对请求包括:
在所述定位客户端中以插件方式显示与所述目标应用对应的编辑操作界面;
在所述编辑操作界面中显示资源操作区域,其中,所述资源操作区域中包括多个功能操作区域;
响应于对所述资源操作区域中的比较功能操作区域执行的操作,获取待比对的目标对象的对象标识,其中,所述多个功能操作区域中包括所述比较功能操作区域;
根据获取到所述目标对象的对象标识生成所述资源比对请求。
3.根据权利要求2所述的方法,其特征在于,在所述定位客户端中以插件方式显示与所述目标应用对应的编辑操作界面之后,还包括以下至少之一:
在所述编辑操作界面中显示资源展示区域,其中,所述资源展示区域用于展示在目标时间段内从所述内存中采集到的所述目标应用的数据资源的资源列表;
在所述编辑操作界面中显示资源变化展示区域,其中,所述资源变化展示区域用于展示所述目标应用的数据资源的变化趋势图。
4.根据权利要求2所述的方法,其特征在于,在所述定位客户端中以插件方式显示与所述目标应用对应的编辑操作界面时,还包括:
在所述定位客户端中所述编辑操作界面关联的边栏区域中,显示与所述第二终端设备建立有会话连接的各个终端设备的会话连接状态,其中,所述各个终端设备包括所述第一终端设备。
5.根据权利要求2所述的方法,其特征在于,在所述编辑操作界面中显示资源操作区域之后,还包括以下至少之一:
响应于对所述资源操作区域中的加载功能操作区域执行的操作,加载已经保存的所述目标应用的数据资源;
响应于对所述资源操作区域中的预览功能操作区域执行的操作,预览显示已经保存的所述目标应用的数据资源;
响应于对所述资源操作区域中的更新功能操作区域执行的操作,显示最新采集到的所述目标应用的数据资源;
响应于对所述资源操作区域中的清除功能操作区域执行的操作,清除当前采集到的所述目标应用的数据资源;
响应于对所述资源操作区域中的切换功能操作区域执行的操作,切换选中的资源对象。
6.根据权利要求2所述的方法,其特征在于,所述获取待比对的目标对象的对象标识包括:
响应于对所述资源操作区域中的添加功能操作区域执行的操作,显示添加输入框,其中,所述添加输入框用于提示输入待比对的对象的对象标识。
7.根据权利要求2所述的方法,其特征在于,在所述根据获取到所述目标对象的对象标识生成所述资源比对请求之后,还包括:
在所述比对队列中的对象为性能数据的情况下,确定所述性能数据各自所属的类别;
分别遍历每个类别下的所述性能数据,依次执行以下操作:
获取在不同时刻采集到的当前类别下的所述性能数据,以生成所述当前类别下的所述性能数据对应的变化趋势图;
在获取到每个类别下的所述性能数据各自对应的所述变化趋势图的情况下,在所述变化趋势图中对包含所述目标数据资源的目标类别对应的曲线进行标记显示。
8.根据权利要求1至7中任一项所述的方法,其特征在于,通过所述运行数据包中携带的内存采集接口信息所指示的采集接口,在所述获取定期从所述第一终端设备的内存中采集到的所述目标应用的数据资源之前,还包括:
向所述第一终端设备发送所述目标应用的运行数据包;在所述第一终端设备使用所述运行数据包运行所述目标应用的过程中,通过所述内存采集接口信息所指示的采集接口来采集所述目标应用在所述第一终端设备的所述内存中存储的数据资源,其中,所述数据资源包括以下之一:画面帧对应的画面资源、性能数据。
9.根据权利要求1至7中任一项所述的方法,其特征在于,通过所述运行数据包中携带的内存采集接口信息所指示的采集接口,所述获取定期从所述第一终端设备的内存中采集到的所述目标应用的数据资源包括:
获取所述第一终端设备按照自定义消息格式封装的所述目标应用的数据资源。
10.一种异常资源的定位装置,其特征在于,包括:
第一获取单元,用于在与根据运行数据包运行了目标应用的第一终端设备建立会话连接的情况下,通过第二终端设备中的定位客户端,通过所述运行数据包中携带的内存采集接口信息所指示的采集接口,获取定期从所述第一终端设备的内存中采集到的所述目标应用的数据资源;
第二获取单元,用于响应于在所述定位客户端中的对象标识添加操作,基于所述对象标识添加操作中携带的所述对象标识获取资源比对请求,包括:将通过添加输入框获取到的对象的对象标识添加到比对队列中;从所述比对队列中获取目标对象的对象标识;在所述比对队列中的对象为画面帧的情况下,对所述画面帧对应的画面资源按照资源类型进行分类,得到多个类型的数据资源列表;分别遍历每个类型的数据资源列表,依次执行以下操作:对当前类型的数据资源列表中任意相邻的两个画面帧各自对应的画面资源进行比对,得到帧比对结果集合,其中,所述帧比对结果集合中每个帧比对结果用于指示所述两个画面帧的比对结果;对所述帧比对结果集合进行统计,得到所述当前类型对应的统计结果,其中,所述统计结果包括以下至少之一:画面资源存在改变的帧数量、画面资源出现增加的帧数量、画面资源出现减少的帧数量、画面资源相同的帧数量;在获取到每个类型各自对应的统计结果的情况下,根据所述统计结果在所述定位客户端中对包含目标数据资源的目标资源类型进行标记显示;
第一显示单元,用于在所述定位客户端中显示根据比对的结果定位出的目标数据资源,其中,所述目标数据资源为所述第一终端设备的内存在加载所述目标应用的数据资源时出现异常的数据资源。
11.根据权利要求10所述的装置,其特征在于,所述第二获取单元包括:
第一显示模块,用于在所述定位客户端中以插件方式显示与所述目标应用对应的编辑操作界面;
第二显示模块,用于在所述编辑操作界面中显示资源操作区域,其中,所述资源操作区域中包括多个功能操作区域;
获取模块,用于响应于对所述资源操作区域中的比较功能操作区域执行的操作,获取待比对的目标对象的对象标识,其中,所述多个功能操作区域中包括所述比较功能操作区域;
生成模块,用于根据获取到所述目标对象的对象标识生成所述资源比对请求。
12.根据权利要求11所述的装置,其特征在于,所述装置还包括以下至少之一:
第二显示单元,用于在所述编辑操作界面中显示资源展示区域,其中,所述资源展示区域用于展示在目标时间段内从所述内存中采集到的所述目标应用的数据资源的资源列表;
第三显示单元,用于在所述编辑操作界面中显示资源变化展示区域,其中,所述资源变化展示区域用于展示所述目标应用的数据资源的变化趋势图。
13.一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行所述权利要求1至9任一项中所述的方法。
14.一种电子设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至9任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110045149.1A CN112698829B (zh) | 2021-01-13 | 2021-01-13 | 异常资源的定位方法和装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110045149.1A CN112698829B (zh) | 2021-01-13 | 2021-01-13 | 异常资源的定位方法和装置、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112698829A CN112698829A (zh) | 2021-04-23 |
CN112698829B true CN112698829B (zh) | 2023-10-24 |
Family
ID=75514531
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110045149.1A Active CN112698829B (zh) | 2021-01-13 | 2021-01-13 | 异常资源的定位方法和装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112698829B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114356712B (zh) * | 2022-01-04 | 2024-07-19 | 腾讯科技(成都)有限公司 | 数据处理方法、装置、设备、可读存储介质及程序产品 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101320350A (zh) * | 2008-07-17 | 2008-12-10 | 金蝶软件(中国)有限公司 | 一种性能监控方法及装置 |
CN101453551A (zh) * | 2007-11-29 | 2009-06-10 | 上海未来宽带技术及应用工程研究中心有限公司 | 一种机顶盒故障信息的采集方法 |
CN103345383A (zh) * | 2013-06-28 | 2013-10-09 | 北京航天金盾科技有限公司 | 一种多线程数据比对方法和装置 |
CN105260294A (zh) * | 2015-11-16 | 2016-01-20 | 曙光信息产业(北京)有限公司 | 一种应用程序占用内存的监控方法及装置 |
US10048987B1 (en) * | 2015-12-21 | 2018-08-14 | EMC IP Holding Company LLC | Methods and apparatus for a resource sharing platform having resource quality estimation |
US10146666B1 (en) * | 2017-08-29 | 2018-12-04 | Facebook, Inc. | Systems and methods for improving comparative performance test results of mobile applications |
CN110069411A (zh) * | 2019-04-15 | 2019-07-30 | 网易(杭州)网络有限公司 | 客户端性能质量报告生成方法、装置、介质及电子设备 |
CN110287433A (zh) * | 2019-06-28 | 2019-09-27 | 北京金山安全软件有限公司 | 网络信息处理方法、装置和电子设备 |
CN111556315A (zh) * | 2020-04-07 | 2020-08-18 | 西安万像电子科技有限公司 | 数据传输方法及装置 |
CN111897672A (zh) * | 2020-07-28 | 2020-11-06 | 北京字节跳动网络技术有限公司 | 处理终端异常的方法、装置、终端和存储介质 |
CN112052158A (zh) * | 2020-08-05 | 2020-12-08 | 腾讯科技(成都)有限公司 | 美术资源运行信息采集方法和装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030163575A1 (en) * | 2002-02-27 | 2003-08-28 | Perkins Gregory Eugene | Resource location and access |
WO2018103515A1 (zh) * | 2016-12-06 | 2018-06-14 | 腾讯科技(深圳)有限公司 | 一种应用中虚拟资源对象的插入方法以及终端 |
-
2021
- 2021-01-13 CN CN202110045149.1A patent/CN112698829B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101453551A (zh) * | 2007-11-29 | 2009-06-10 | 上海未来宽带技术及应用工程研究中心有限公司 | 一种机顶盒故障信息的采集方法 |
CN101320350A (zh) * | 2008-07-17 | 2008-12-10 | 金蝶软件(中国)有限公司 | 一种性能监控方法及装置 |
CN103345383A (zh) * | 2013-06-28 | 2013-10-09 | 北京航天金盾科技有限公司 | 一种多线程数据比对方法和装置 |
CN105260294A (zh) * | 2015-11-16 | 2016-01-20 | 曙光信息产业(北京)有限公司 | 一种应用程序占用内存的监控方法及装置 |
US10048987B1 (en) * | 2015-12-21 | 2018-08-14 | EMC IP Holding Company LLC | Methods and apparatus for a resource sharing platform having resource quality estimation |
US10146666B1 (en) * | 2017-08-29 | 2018-12-04 | Facebook, Inc. | Systems and methods for improving comparative performance test results of mobile applications |
CN110069411A (zh) * | 2019-04-15 | 2019-07-30 | 网易(杭州)网络有限公司 | 客户端性能质量报告生成方法、装置、介质及电子设备 |
CN110287433A (zh) * | 2019-06-28 | 2019-09-27 | 北京金山安全软件有限公司 | 网络信息处理方法、装置和电子设备 |
CN111556315A (zh) * | 2020-04-07 | 2020-08-18 | 西安万像电子科技有限公司 | 数据传输方法及装置 |
CN111897672A (zh) * | 2020-07-28 | 2020-11-06 | 北京字节跳动网络技术有限公司 | 处理终端异常的方法、装置、终端和存储介质 |
CN112052158A (zh) * | 2020-08-05 | 2020-12-08 | 腾讯科技(成都)有限公司 | 美术资源运行信息采集方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112698829A (zh) | 2021-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20200033090A (ko) | 네트워크 보안 모니터링 방법, 네트워크 보안 모니터링 장치 및 시스템 | |
CN102036275B (zh) | 一种模拟器和消息处理方法 | |
CN105205072B (zh) | 网页信息的展示方法和系统 | |
CN107908686B (zh) | 信息推送方法、装置、服务器以及可读存储介质 | |
CN103581199B (zh) | 一种多屏互动场景中服务在客户端的呈现方法及系统 | |
CN115951923B (zh) | 订阅事件管理方法、显示系统、设备和存储介质 | |
CN113746665A (zh) | 日志数据处理方法、装置、计算机程序产品及存储介质 | |
CN112698829B (zh) | 异常资源的定位方法和装置、存储介质及电子设备 | |
CN108595957A (zh) | 浏览器主页篡改检测方法、装置及存储介质 | |
WO2016101446A1 (zh) | 数据分析方法、装置、系统及终端和服务器 | |
CN103368907B (zh) | 事件上报请求系统、方法、客户端装置及其上报请求方法 | |
CN109600423A (zh) | 数据同步方法、装置、电子设备及存储介质 | |
CN117176802B (zh) | 一种业务请求的全链路监控方法、装置、电子设备及介质 | |
CN112882849A (zh) | 云应用中的信息推荐方法、装置、系统、设备及存储介质 | |
CN112306592B (zh) | 消息的处理方法和装置、存储介质及电子装置 | |
CN106658153B (zh) | 一种数据处理方法及设备 | |
CN109831335B (zh) | 一种数据监控方法、监控终端、存储介质及数据监控系统 | |
CN114205320B (zh) | 消息显示方法和装置、电子设备及存储介质 | |
CN110457089A (zh) | 数据采集方法、装置、计算机可读存储介质和计算机设备 | |
CN113065049B (zh) | 数据抓取方法和装置、存储介质及电子设备 | |
CN113242254A (zh) | 通信报文处理方法、装置、终端设备和存储介质 | |
CN114125017B (zh) | 媒体信息的显示方法和装置、存储介质及电子设备 | |
CN115001931A (zh) | 报文的处理方法、装置、设备、介质及程序产品 | |
CN104516883A (zh) | 一种网页共享方法、装置及系统 | |
CN111985956B (zh) | 数据处理方法、装置及电子设备 |
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: 40042495 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |