CN112052158B - 美术资源运行信息采集方法和装置 - Google Patents

美术资源运行信息采集方法和装置 Download PDF

Info

Publication number
CN112052158B
CN112052158B CN202010776399.8A CN202010776399A CN112052158B CN 112052158 B CN112052158 B CN 112052158B CN 202010776399 A CN202010776399 A CN 202010776399A CN 112052158 B CN112052158 B CN 112052158B
Authority
CN
China
Prior art keywords
information
art
running
memory
collected
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
CN202010776399.8A
Other languages
English (en)
Other versions
CN112052158A (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 Chengdu Co Ltd
Original Assignee
Tencent Technology Chengdu 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 Chengdu Co Ltd filed Critical Tencent Technology Chengdu Co Ltd
Priority to CN202010776399.8A priority Critical patent/CN112052158B/zh
Publication of CN112052158A publication Critical patent/CN112052158A/zh
Application granted granted Critical
Publication of CN112052158B publication Critical patent/CN112052158B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • G06F11/3612Software analysis for verifying properties of programs by runtime analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs

Abstract

本发明实施例公开了一种美术资源运行信息采集方法和装置;本发明实施例在接收美术资源运行信息的采集请求后,根据采集请求获取应用程序的运行对象集合,并在运行对象集合中确定出待采集美术资源对应的目标运行对象,采集运行对象集合在采集周期内的内存数据、以及目标运行对象在采集周期内的运行数据,得到内存数据集合和运行数据集合,在运行数据集合中提取出待采集美术资源的属性信息和内容信息,并根据内容信息从内存数据集合中提取出待采集美术资源的内存信息,将待采集美术资源的属性信息和内存信息进行融合,得到待采集美术资源的运行信息;该方案可以大大提升应用程序在运行时加载的美术资源的运行信息的采集效率。

Description

美术资源运行信息采集方法和装置
技术领域
本发明涉及通信技术领域,具体涉及一种美术资源运行信息采集方法和装置。
背景技术
近年来,随着应用程序应用范围越来越广泛,应用程序的运行画面也越来越精美,而应用程序中的运行画面中的虚拟场景主要由美术资源加载而来,美术资源可以包括2D/3D贴图、网格、场景资源模型和材质等资源数据。美术资源在应用程序运行中还会影响应用程序的性能,因此,需要对应用程序中的美术资源进行测试,而测试过程中最重要就是采集美术资源的运行信息。现有的采集方法主要是在应用程序运行时,对整个运行对象或内存信息进行快照。
在对现有技术的研究和实践过程中,本发明的发明人发现直接对运行对象或内存信息进行快照耗时较长,而且获取的到快照信息中包含了大量与美术资源无关的信息,从而导致采集美术资源的运行信息的采集效率较低。
发明内容
本发明实施例提供一种美术资源运行信息采集方法和装置,可以提高美术资源的运行信息的采集效率。
一种美术资源运行信息采集方法,包括:
接收美术资源运行信息的采集请求,所述采集请求指示待采集美术资源的采集周期和所述待采集美术资源所属的应用程序;
根据所述采集请求获取所述应用程序的运行对象集合,并在所述运行对象集合中确定出所述待采集美术资源对应的目标运行对象;
采集所述运行对象集合在所述采集周期内的内存数据、以及所述目标运行对象在所述采集周期内的运行数据,得到内存数据集合和运行数据集合;
在所述运行数据集合中提取出所述待采集美术资源的属性信息和内容信息,并根据所述内容信息从所述内存数据集合中提取出所述待采集美术资源的内存信息;
将所述待采集美术资源的属性信息和内存信息进行融合,得到所述待采集美术资源的运行信息。
相应的,本发明实施例提供一种美术资源运行信息采集装置,包括:
接收单元,用于接收美术资源运行信息的采集请求,所述采集请求指示待采集美术资源的采集周期和所述待采集美术资源所属的应用程序;
获取单元,用于根据所述采集请求获取所述应用程序的运行对象集合,并在所述运行对象集合中确定出所述待采集美术资源对应的目标运行对象;
采集单元,用于采集所述运行对象集合在所述采集周期内的内存数据、以及所述目标运行对象在所述采集周期内的运行数据,得到内存数据集合和运行数据集合;
提取单元,用于在所述运行数据集合中提取出所述待采集美术资源的属性信息和内容信息,并根据所述内容信息从所述内存数据集合中提取出所述待采集美术资源的内存信息;
融合单元,用于将所述待采集美术资源的属性信息和内存信息进行融合,得到所述待采集美术资源的运行信息。
可选的,在一些实施例中,所述美术资源采集装置还可以包括配置单元,所述配置单元,具体可以用于获取所述待采集美术资源的注册信息和针对所述应用程序运行画面的监控信息;根据所述注册信息和标识信息,在所述应用程序中将所述待采集美术资源注册为运行对象;基于所述监控信息,构建监控进程,以在所述应用程序运行时对运行画面进行录制或截屏。
可选的,在一些实施例中,所述采集单元,具体可以用于采集所述运行对象集合在所述采集周期内的内存数据,得到内存数据集合;采集所述运行对象集合在所述采集周期内的运行数据,得到候选运行数据集合;在所述候选运行数据集合中筛选出所述目标运行对象对应的运行数据,得到运行数据集合。
可选的,在一些实施例中,所述采集单元,具体可以用于根据所述运行对象的类型,对所述候选运行数据集合进行分类,得到每一类型运行对象对应的子候选运行数据集合;获取所述子候选运行数据集合对应运行对象的第一类型标识;根据所述第一类型标识和标识信息,在所述子候选运行数据集合中筛选出所述目标运行对象对应的运行数据,得到运行数据集合。
可选的,在一些实施例中,所述采集单元,具体可以用于在所述标识信息中提取出所述待采集美术资源的第二类型标识;将所述第一类型标识与所述第二类型标识进行匹配,并将与所述第二类型标识匹配成功的至少一个第一类型标识作为所述目标运行对象对应的目标第一类型标识;在所述子候选运行数据集合中筛选出所述目标第一类型标识对应的目标子候选运行数据集合,并将所述目标子候选运行数据集合作为所述目标运行对象对应的运行数据集合。
可选的,在一些实施例中,所述提取单元,具体可以用于在所述内容信息中识别出所述待采集美术资源的内存地址;在所述内存数据集合中筛选出所述内存地址对应的内存数据;根据所述待采集美术资源的类型,对所述内存数据进行统计,得到所述待采集美术资源的内存信息。
可选的,在一些实施例中,所述融合单元,具体可以用于将所述待采集美术资源的属性信息和内存信息进行融合,得到所述待采集美术资源的状态信息;获取所述应用程序运行画面的视频数据;在所述视频数据中提取出所述采集周期对应的画面帧,将所述状态信息和画面帧作为所述待采集美术资源的运行信息。
可选的,在一些实施例中,所述融合单元,具体可以用于对所述属性信息和内存信息中的数据进行格式转换;将格式转换后的属性信息和内存信息进行融合,得到初始状态信息;在所述初始状态信息中添加预设校验数据,得到所述待采集美术资源的状态数据。
可选的,在一些实施例中,所述融合单元,具体可以用于将所述待采集美术资源的运行信息发送至终端,使得所述终端显示所述运行信息、以及对所述待采集美术资源进行检测。
此外,本发明实施例还提供一种电子设备,包括处理器和存储器,所述存储器存储有应用程序,所述处理器用于运行所述存储器内的应用程序实现本发明实施例提供的美术资源运行信息采集方法。
此外,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行本发明实施例所提供的任一种美术资源运行信息采集方法中的步骤。
本发明实施例在接收美术资源运行信息的采集请求后,该采集请求指示待采集美术资源的采集周期和待采集美术资源所属的应用程序,然后,根据采集请求获取应用程序的运行对象集合,并在运行对象集合中确定出待采集美术资源对应的目标运行对象,然后,采集运行对象集合在采集周期内的内存数据、以及目标运行对象在采集周期内的运行数据,得到内存数据集合和运行数据集合,在运行数据集合中提取出待采集美术资源的属性信息和内容信息,并根据内容信息从内存数据集合中提取出待采集美术资源的内存信息,然后,将待采集美术资源的属性信息和内存信息进行融合,得到待采集美术资源的运行信息;由于该方案可以从应用程序运行对象集合中确定出待采集美术资源对应目标运行对象,并采集目标运行对象在采集周期内的运行数据,可以直接在采集到的运行数据和内存数据中提取出待采集美术资源的运行信息,因此,可以大大提升应用程序在运行时加载的美术资源的运行信息的采集效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的美术资源运行信息采集方法的场景示意图;
图2是本发明实施例提供的美术资源运行信息采集方法的流程示意图;
图3是本发明实施例提供的美术资源运行信息展示的示意图;
图4是本发明实施例提供的美术资源检测结果展示的示意图;
图5是本发明实施例提供的美术资源运行信息采集方法的另一流程示意图;
图6是本发明实施例提供的美术资源运行信息采集装置的结构示意图;
图7是本发明实施例提供的美术资源运行信息采集装置的另一结构示意图;
图8是本发明实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种美术资源运行信息采集方法、装置和计算机可读存储介质。其中,该美术资源运行信息采集装置可以集成在电子设备中,该电子设备可以是服务器,也可以是终端等设备。
其中,美术资源运行信息可以为应用程序在运行时加载的美术资源的详细信息,比如,美术资源的运行信息可以包括加载的美术资源的位置、数量以及每个美术资源的尺寸或压缩等属性信息和美术资源的内存信息,还可以包括美术资源加载时形成的虚拟场景下的运行画面的画面帧。其中属性信息可以为美术资源的位置、数量、尺寸或压缩信息等。
所谓美术资源,可以理解为应用程序中构建或者搭建页面或者虚拟场景所需要的资源,比如,美术资源的类型可以包括2D/3D类的贴图、网格、材质、粒子动效或动画等。
其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、网络加速服务(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
例如,参见图1,以美术资源运行信息采集装置集成在电子设备中为例,电子设备在接收美术资源运行信息的采集请求后,该采集请求指示待采集美术资源的采集周期和待采集美术资源所属的应用程序,然后,根据采集请求获取应用程序的运行对象集合,并在运行对象集合中确定出待采集美术资源对应的目标运行对象,然后,采集运行对象集合在采集周期内的内存数据、以及目标运行对象在采集周期内的运行数据,得到内存数据集合和运行数据集合,在运行数据集合中提取出待采集美术资源的属性信息和内容信息,并根据内容信息从内存数据集合中提取出待采集美术资源的内存信息,然后,将待采集美术资源的属性信息和内存信息进行融合,得到待采集美术资源的运行信息。
以下分别进行详细说明。需要说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。
本实施例将从美术资源运行信息采集装置的角度进行描述,该美术资源运行信息采集装置具体可以集成在电子设备中,该电子设备可以是服务器,也可以是终端等设备;其中,该终端可以包括平板电脑、笔记本电脑、以及个人计算机(PC,Personal Computer)、可穿戴设备、虚拟现实设备或其他可以采集美术资源运行信息的智能设备等设备。
一种美术资源运行信息采集方法,包括:
接收美术资源运行信息的采集请求,该采集请求指示待采集美术资源的采集周期和待采集美术资源所属的应用程序,根据采集请求获取应用程序的运行对象集合,并在运行对象集合中确定出待采集美术资源对应的目标运行对象,采集运行对象集合在采集周期内的内存数据、以及目标运行对象在采集周期内的运行数据,得到内存数据集合和运行数据集合,在运行数据集合中提取出待采集美术资源的属性信息和内容信息,并根据内容信息从内存数据集合中提取出待采集美术资源的内存信息,将待采集美术资源的属性信息和内存信息进行融合,得到待采集美术资源的运行信息。
如图2所示,该美术资源运行信息方法的具体流程如下:
101、接收美术资源运行信息的采集请求。
其中,采集请求指示待采集美术资源的采集周期和待采集美术资源所属的应用程序。采集周期可以为采集的待采集美术资源在应用程序中加载的时间,比如,可以为5s或10s等,可以理解为采集待采集美术资源在这个周期内被加载时的运行信息。待采集美术资源所属的应用程序可以为包含这些待采集美术资源的应用程序。
例如,可以直接接收终端发送的美术资源运行信息的采集请求,比如,终端触发生成美术资源运行信息的采集请求,在该采集请求中添加待采集美术资源的采集周期和待采集美术资源所属的应用程序,将添加这些信息的采集请求发送给美术资源运行信息采集装置,美术资源运行信息采集装置直接接收到美术资源运行信息的采集请求,在采集请求中获取到待采集美术资源的标识信息、采集周期和待采集美术资源所属的应用程序。
102、根据采集请求获取应用程序的运行对象集合,并在运行对象集合中确定出待采集美术资源对应的目标运行对象。
其中,运行对象集合可以为应用程序中运行时的全部运行对象组成的集合,而运行对象可以为应用程序在运行时加载的对象。比如,该运行对象可以为美术资源对应的运行对象、音频资源对应的运行对象和/或文本资源对应的运行对象等在应用程序中被加载的对象。
例如,根据采集请求,获取应用程序的运行对象集合,比如,可以通过应用程序的第三方工具(unity)引擎中直接获取应用程序在运行时需要加载的全部的运行对象,得到运行对象集合。在运行对象集合中确定出待采集美术资源对应的目标运行对象,比如,获取运行对象集合中每一运行对象的对象身份,将待采集美术资源的标识信息中的待身份标识与对象身份进行匹配,将与美术资源的身份标识匹配成功的对象身份作为目标对象身份,在运行对象集合中筛选出所述目标对象身份对应的运行对象作为目标运行对象。
可选的,在根据采集请求获取应用程序的运行对象集合,并在运行对象集合中确定出待采集美术资源对应的目标运行对象之前,还可以提前在应用程序对美术资源进行配置,具体的配置可以为将美术资源注册为运行对象,这样才能在根据待采集美术资源的标识信息,在运行对象集合中直接确定出目标运行对象。因此,对美术资源进行配置的具体过程可以如下:
获取待采集美术资源的标识信息、注册信息和针对应用程序运行画面的监控信息,根据注册信息和标识信息,在应用程序中将待采集美术资源注册为运行对象,基于监控信息,构建监控进程,以在应用程序运行时对运行画面进行录制或截屏。
其中,标识信息可以为指示应用程序中包含的待采集美术资源类型的信息,比如,可以为2D贴图类美术资源、3D贴图类美术资源、网络类美术资源、粒子动效类美术资源和动画类美术资源等。
例如,获取应用程序需要加载的全部类型的美术资源信息,根据美术资源信息获取加载的美术资源的标识信息和注册器,比如,3D贴图(Texture3D)、粒子动效(ParticleSystem)、动画(Animator)和网格(Mesh)等其他美术资源的注册器,并获取针对应用程序运行画面的监控信息,将获取到的美术资源的标识信息和注册器添加至应用程序的第三方工具中,通过第三方工具将美术资源在应用程序中注册为运行对象。基于监控信息,构建通过安卓调试桥(Android Debug Bridge,ADB)的监控进程,该监控进程用于在应用程序运行时,对应用程序的运行画面进行录制,这个录制的方式可以理解为录屏,通过对运行画面的录制,可以得到应用程序在运行虚拟场景的运行画面对应的视频数据。截屏的方式可以理解为按照采集周期,对运行应用程序的运行画面进行截屏,得到运行画面对应的视频数据。
103、采集运行对象集合在采集周期内的内存数据、以及目标运行对象在采集周期内的运行数据,得到内存数据集合和运行数据集合。
其中,内存数据可以为某一个具体的运行对象在被应用程序加载的过程中所占用的内存容量。比如,可以为一个美术资源B在被应用程序加载时占用的内存容量为36KB。运行数据可以为某一类型的运行对象在被应用程序加载的过程中所产生的详细信息,以运行对象为美术资源为例,该运行数据就可以为美术资源在被加载时的尺寸、位置以及美术资源自身的具体内容,其中具体的内容可以为一段网格或者一张特定的贴图等信息。
例如,可以采集运行对象集合在采集周期内的内存数据,得到内存数据集合,采集运行对象集合在采集周期内的运行数据,得到候选运行数据集合,在候选运行数据集合中筛选出目标运行对象对应的运行数据,得到运行数据集合,具体可以如下:
S1、采集运行对象集合在采集周期内的内存数据,得到内存数据集合。
例如,可以直接采集运行对象集合中的每一个运行对象在采集周期内的内存数据,得到内存数据集合,比如,可以通过unity引擎获取应用程序在运行时的全部的unityobject(运行对象工程)的内存数据,譬如,每一个运行对象在应用程序运行时,都可以为unity引擎中一个unity object,直接通过unity引擎采集全部unity object在采集周期内的内存数据,就可以得到运行对象集合在采集周期内的内存数据集合。
S2、采集运行对象集合在采集周期内的运行数据,得到候选运行数据。
例如,可以直接采集运行对象集合中的每一个运行对象的在采集周期内的运行数据,得到候选运行数据,比如,可以通过unity引擎获取应用程序在运行时的全部的unityobject的运行数据,譬如,每一个运行对象在应用程序运行时,都可以为unity引擎中一个unity object,直接通过unity引擎采集全部unity object在采集周期内的运行数据,就可以得到运行对象集合在采集周期内的候选运行数据集合。
其中,需要说明的是,采集运行对象集合在采集周期内的内存数据和运行数据可以同时进行,也可以分开进行,采集内存数据和运行数据在步骤上没有先后之分。
S3、在候选运行数据集合中筛选出目标运行对象对应的运行数据,得到运行数据集合。
例如,可以根据运行对象的类型,对候选运行数据集合进行分类,得到每一类型运行对象对应的子候选运行数据集合,比如,运行对象的类型可以为美术资源类运行对象、音频资源类运行对象或文本资源类运行对象,以美术资源类运行对象为例,又可以细分为贴图类运行对象、网络类运行对象、材料类运行对象或例子动效类运行对象,按照最小细分领域,将同一类型的运行对象分为一类,将同一类运行对应在数组中位置记录下,并存储至运行对象的存储容器中,就可以得到每一类型运行对象对应的子候选运行数据集合。获取子候选运行数据集合对应的运行对象的第一类型标识,比如,可以获取每一个存储容器存储的运行对象的第一类型标识,譬如,可以为每一类型运行对象的名称,该名称可以为贴图类运行对象或音频资源B类运行对象等等。根据第一类型标识和标识信息,在子候选运行数据集合中筛选出目标运行对象对应的运行数据,得到运行数据集合,比如,在标识信息中提取出待采集美术资源的第二类型标识,第二类型标识可以为应用程序加载的待采集美术资源的类型标识,譬如,可以为贴图类美术资源、网格类美术资源或粒子动效类美术资源等,将第一类型标识与第二类型标识进行匹配,并将与第二类型标识匹配成功的至少一个第一类型标识作为目标运行对象对应的目标第一类型标识,譬如,贴图类美术资源和贴图类运行对象就可以为匹配成功。在子候选运行数据集合中筛选出目标第一类型标识对应的目标子候选运行数据集合,并将这些目标子候选运行数据集合作为目标运行对象对应的运行数据集合。
可选的,还可以直接在应用程序的引擎层定义一套通过FindObject(一种获取自定义接口的API函数)获取到加载所有美术资源的接口。通过unity的profiler机制将自定义的C++接口进行暴露,得到所有美术资源的运行数据和内存数据,通过方法和委托进行封装,然后,通过ADB可以直接获取到加载美术资源的运行数据集合和内存数据集合。比如,通过自定义美术资源被加载后的接口信息,当应用程序在运行时,在全部的加载数据中读取数据接口,通过对数据接口进行判断,当数据接口为自定义的美术资源对应的数据接口时,获取这个数据接口的内存数据和运行数据,通过方法和委托对读取的数据接口中的内存数据和运行数据进行封装,得到待采集美术资源的运行数据集合和目标内存数据集合。
104、在运行数据集合中提取出待采集美术资源的属性信息和内容信息,并根据内容信息从内存数据集合中提取出待采集美术资源的内存信息。
例如,可以在运行数据集合中读取美术资源的数据,从而得到待采集美术资源的属性信息和内容信息,比如,可以在运行数据集合中读取每个存储容器内的美术资源的数量、位置信息、尺寸信息或压缩情况等属性信息,还可以读取到存储容器内的每个美术资源的内容信息。根据内容信息从内存数据集合中提取出待采集美术资源的内存信息,比如,可以直接从读取到的每个美术资源的内容信息中识别出待采集美术资源的内存地址,譬如,可以根据读取到的每个美术资源的内容信息中找到对象管理数组中的美术资源对应的指针,指针可以理解为每个美术资源的内存地址。在内存数据集合中筛选出内存地址对应的内存数据,比如,可以根据指针在内存数据集合中查找到每个美术资源所占有的内存数据。根据待采集美术资源的类型,对内存数据进行统计,得到待采集美术资源的内存信息,比如,贴图A占的内存为18KB,贴图B占的内存为20KB,网格A占的内存为30KB,网格B占的内存为20KB,粒子动效A占的内存为50KB,粒子动效B占的内存为70KB,根据美术资源的类型,可以统计出贴图类美术资源总体所占用的内存为38KB,网格类美术资源总体所占用的内存为50KB,粒子动效类美术资源总体所占用的内存为120KB,还可以统计出加载的待采集美术资源总体所占用的内存为208KB,这些统计得到的信息就可以为待采集美术资源的内存信息。
105、将待采集美术资源的属性信息和内存信息进行融合,得到待采集美术资源的运行信息。
例如,可以将待采集美术资源的属性信息和内存信息进行融合,得到待采集美术资源的状态信息,获取应用程序运行画面的视频数据,在视频数据中提取出采集周期对应的画面帧,将状态信息和画面帧作为待采集美术资源的运行信息。具体可以如下:
(1)将待采集美术资源的属性信息和内存信息进行融合,得到待采集美术资源的状态信息。
例如,将待采集美术资源的属性信息和内存信息中的数据进行格式转换,比如,可以将待采集美术资源的属性信息和内存信息中的数据转换为二进制数据。将格式转换后的属性信息和内存信息进行融合,得到初始状态信息,比如,将转换为二进制的属性信息和内存信息存入动态buffer(缓存)中,进行打包,得到数据包,将该数据包作为初始状态信息。在初始状态信息中添加预设校验数据,得到待采集美术资源的状态数据,比如,可以在数据包的合适的位置上添加预设包头数据,该预设包头数据可以包括应用程序的美术资源的运行信息的校验位数据,得到待采集美术资源的状态信息。
(2)获取应用程序运行画面的视频数据。
例如,可以构建监控进程,通过ADB在应用程序运行时对运行画面进行录制或截屏,将录制或截屏得到的视频数据作为应用程序运行画面的视频数据,比如,将ADB对应用程序运行时录屏得到的视频数据进行下载,得到应用程序运行画面的视频数据。
(3)在视频数据中提取出采集周期对应的画面帧,将状态信息和画面帧作为待采集美术资源的运行信息。
例如,在视频数据中获取到采集周期对应的画面信息,根据画面信息,对视频数据进行截屏或提取画面帧,将截屏或提取得到的画面帧作为采集周期对应的画面帧,比如,以采集周期为5s,采集开始的时间为10:05:00为例,就可以获取采集周期对应的画面信息为10:05:00开始的5s内的画面都为采集周期对应的画面帧。然后,在视频数据识别出该画面信息对应的画面帧,然后,将该画面帧进行截屏,即可得到该画面帧。将状态信息和画面帧作为待采集美术资源在当前的采集周期内的运行信息。
可选的,在获取到待采集美术资源在当前的采集周期内的运行信息后,还可以将该运行信息发送至终端,使得终端可以显示该运行信息以及对待采集美术资源进行检测,因此,在“将待采集美术资源属性信息和内存信息进行融合,得到待采集美术资源的运行信息”之后,美术资源运行信息采集方法,还包括:
将待采集美术资源的运行信息发送至终端,使得终端显示运行信息、以及对待采集美术资源进行检测。
例如,通过ADB将待采集美术资源的运行数据发送至终端,使得终端对待采集美术资源进行解析,将解析好的待采集美术资源的运行信息中的数据按照待采集美术资源的类型分为多个数组,每个数组分别存放一种美术资源的运行信息。测试过程可以包括多个采集周期,当整个测试过程结束时,将每个采集周期内得到运行信息进行关联,以树状图的形式将每个采集周期内的运行信息在终端进行连续的动态展示,如图3所示。终端将接收到的待采集美术资源的运行信息上传至自动化分析平台,比如,可以上传至nike平台,nike平台通过对画面帧进行分析,得到每个画面帧的预设运行信息,将预设运行信息与采集到的运行信息进行对比,以检测待采集美术资源,比如,可以检测美术资源加载的数量是否与设计数量一致,美术资源加载的尺寸是否与设计尺寸一致,还可以检测美术资源加载的位置信息是否与设计的位置信息是否一致等,得到检测结果,将检测结果返回至终端进行展示,如图4所示。
其中,终端可以周期性触发美术资源运行信息的采集请求,美术资源运行信息采集装置可以周期性的采集多个采集周期内的待采集美术资源的运行信息,然后,将多个采集周期内的待采集美术资源的运行信息发送至终端,终端可以通过对多个采集周期内的待采集美术资源的运行信息进行展示,以体现出待采集美术资源在多个采集周期内运行信息的动态变化情况。
由以上可知,本发明实施例在接收美术资源运行信息的采集请求后,该采集请求指示待采集美术资源的采集周期和待采集美术资源所属的应用程序,然后,根据采集请求获取应用程序的运行对象集合,并在运行对象集合中确定出待采集美术资源对应的目标运行对象,然后,采集运行对象集合在采集周期内的内存数据、以及目标运行对象在采集周期内的运行数据,得到内存数据集合和运行数据集合,在运行数据集合中提取出待采集美术资源的属性信息和内容信息,并根据内容信息从内存数据集合中提取出待采集美术资源的内存信息,然后,将待采集美术资源的属性信息和内存信息进行融合,得到待采集美术资源的运行信息;由于该方案可以从应用程序运行对象集合中确定出待采集美术资源对应目标运行对象,并采集目标运行对象在采集周期内的运行数据,可以直接在采集到的运行数据和内存数据中提取出待采集美术资源的运行信息,因此,可以大大提升应用程序在运行时加载的美术资源的运行信息的采集效率。
根据上面实施例所描述的方法,以下将举例作进一步详细说明。
在本实施例中,将以该美术资源运行信息采集装置具体集成在电子设备,电子设备为服务器为例进行说明。
如图5所示,一种美术资源运行信息采集方法,具体流程如下:
201、终端发送美术资源运行信息采集请求。
例如,终端在uinty引擎的profiler工具中添加findassets(一种获取美术资源运行信息的函数)的API,使得在profiler工具中构建findassets对应的插件,当用户通过profiler工具触发findassets对应的插件时,可以生成单次的美术资源运行信息采集请求,还可以生成周期性的采集请求,比如,当用户触发findassets对应的插件时,可以生成单次的美术资源运行信息的采集请求,还可以周期性的生成多次的美术资源运行信息的采集请求。如果生成单次的采集请求时,终端在该采集请求中添加待采集美术资源的采集周期和待采集美术资源所属的应用程序,并将添加这些信息的采集请求发送至服务器,如果生成周期性的多次的采集请求时,就只需要在第一次生成的采集请求中添加待采集美术资源的采集周期和待采集美术资源所属的应用程序,在后续的采集请求中无需在添加,除非更换了美术资源所属的应用程序。
202、服务器接收美术资源运行信息的采集请求。
例如,服务器可以直接接收到美术资源运行信息的采集请求,在采集请求中获取到待采集美术资源的采集周期和待采集美术资源所属的应用程序。
203、服务器根据采集请求获取应用程序的运行对象集合,并在运行对象集合中确定出待采集美术资源对应的目标运行对象
例如,服务器可以通过应用程序的unity引擎中直接获取应用程序在运行时需要加载的全部的运行对象,得到运行对象集合。获取运行对象集合中每一运行对象的对象身份,将待采集美术资源的标识信息中的身份标识与对象身份进行匹配,将与美术资源的身份标识匹配成功的对象身份作为目标对象身份,在运行对象集合中筛选出所述目标对象身份对应的运行对象作为目标运行对象。
可选的,在根据采集请求获取应用程序的运行对象集合,并在运行对象集合中确定出待采集美术资源对应的目标运行对象之前,还可以提前在应用程序对美术资源进行配置,具体的配置可以为将美术资源注册为运行对象,这样才能在根据待采集美术资源的标识信息,在运行对象集合中直接确定出目标运行对象。因此,对美术资源进行配置的具体过程可以如下:
获取待采集美术资源的标识信息、注册信息和针对应用程序运行画面的监控信息,根据注册信息和标识信息,在应用程序中将待采集美术资源注册为运行对象,基于监控信息,构建监控进程,以在应用程序运行时对运行画面进行录制或截屏。
例如,服务器获取应用程序需要加载的全部类型的美术资源信息,根据美术资源信息获取加载的美术资源的标识信息和注册器,比如,Texture3D、ParticleSystem、Animator和Mesh等其他美术资源的注册器,并获取针对应用程序运行画面的监控信息,将获取到的美术资源的标识信息和注册器添加至应用程序的第三方工具中,通过第三方工具将美术资源在应用程序中注册为运行对象。基于监控信息,构建通过ADB的监控进程,该监控进程用于在应用程序运行时,对应用程序的运行画面进行录制,这个录制的方式可以理解为录屏,通过对运行画面的录制或截屏,可以得到应用程序在运行虚拟场景的运行画面对应的视频数据。截屏的方式可以理解为按照采集周期,对运行应用程序的运行画面进行截屏,得到运行画面对应的视频数据。
204、服务器采集运行对象集合在采集周期内的内存数据,得到内存数据集合。
例如,服务器可以通过unity引擎获取应用程序在运行时的全部的unityobject的内存数据,比如,每一个运行对象在应用程序运行时,都可以为unity引擎中一个unityobject,直接通过unity引擎采集全部unity object在采集周期内的内存数据,就可以得到运行对象集合在采集周期内的内存数据集合。
205、服务器采集运行对象集合在采集周期内的运行数据,得到候选运行数据。
例如,服务器可以通过unity引擎获取应用程序在运行时的全部的unityobject的运行数据,譬如,每一个运行对象在应用程序运行时,都可以为unity引擎中一个unityobject,直接通过unity引擎采集全部unity object在采集周期内的运行数据,就可以得到运行对象集合在采集周期内的候选运行数据集合。
其中,需要说明的是,采集运行对象集合在采集周期内的内存数据和运行数据可以同时进行,也可以分开进行,采集内存数据和运行数据在步骤上没有先后之分。
206、服务器在候选运行数据集合中筛选出目标运行对象对应的运行数据,得到运行数据集合。
例如,运行对象的类型可以为美术资源类运行对象、音频资源类运行对象或文本资源类运行对象,以美术资源类运行对象为例,又可以细分为贴图类运行对象、网络类运行对象、材料类运行对象或例子动效类运行对象,服务器按照最小细分领域,将同一类型的运行对象分为一类,将同一类运行对应在数组中位置记录下,并存储至运行对象的存储容器中,就可以得到每一类型运行对象对应的子候选运行数据集合。获取子候选运行数据集合对应的运行对象的第一类型标识,比如,可以获取每一个存储容器存储的运行对象的第一类型标识,譬如,可以为每一类型运行对象的名称,该名称可以为贴图类运行对象或音频资源B类运行对象等等。根据第一类型标识和标识信息,在子候选运行数据集合中筛选出目标运行对象对应的运行数据,得到运行数据集合,比如,在标识信息中提取出待采集美术资源的第二类型标识,第二类型标识可以为应用程序加载的待采集美术资源的类型标识,譬如,可以为贴图类美术资源、网格类美术资源或粒子动效类美术资源等,将第一类型标识与第二类型标识进行匹配,并将与第二类型标识匹配成功的至少一个第一类型标识作为目标运行对象对应的目标第一类型标识,譬如,贴图类美术资源和贴图类运行对象就可以为匹配成功。在子候选运行数据集合中筛选出目标第一类型标识对应的目标子候选运行数据集合,并将这些目标子候选运行数据集合作为目标运行对象对应的运行数据集合。
可选的,还可以直接在应用程序的引擎层定义一套通过FindObject获取到加载所有美术资源的接口。通过unity的profiler机制将自定义的C++接口进行暴露,得到所有美术资源的运行数据和内存数据,通过方法和委托进行封装,然后,通过ADB可以直接获取到加载美术资源的运行数据集合和内存数据集合。比如,通过自定义美术资源被加载后的接口信息,当应用程序在运行时,在全部的加载数据中读取数据接口,通过对数据接口进行判断,当数据接口为自定义的美术资源对应的数据接口时,获取这个数据接口的内存数据和运行数据,通过方法和委托对读取的数据接口中的内存数据和运行数据进行封装,得到待采集美术资源的运行数据集合和目标内存数据集合。
207、服务器在运行数据集合中提取出待采集美术资源的属性信息和内容信息,并根据内容信息从内存数据集合中提取出待采集美术资源的内存信息。
例如,服务器可以在运行数据集合中读取每个存储容器内的美术资源的数量、位置信息、尺寸信息或压缩情况等属性信息,还可以读取到存储容器内的每个美术资源的内容信息。服务器直接从读取到的每个美术资源的内容信息中识别出待采集美术资源的内存地址,比如,可以根据读取到的每个美术资源的内容信息中找到对象管理数组中的美术资源对应的指针,指针可以理解为每个美术资源的内存地址。在内存数据集合中筛选出内存地址对应的内存数据,比如,可以根据指针在内存数据集合中查找到每个美术资源所占有的内存数据。根据待采集美术资源的类型,对内存数据进行统计,得到待采集美术资源的内存信息,比如,贴图A占的内存为18KB,贴图B占的内存为20KB,网格A占的内存为30KB,网格B占的内存为20KB,粒子动效A占的内存为50KB,粒子动效B占的内存为70KB,根据美术资源的类型,可以统计出贴图类美术资源总体所占用的内存为38KB,网格类美术资源总体所占用的内存为50KB,粒子动效类美术资源总体所占用的内存为120KB,还可以统计出加载的待采集美术资源总体所占用的内存为208KB,这些统计得到的信息就可以为待采集美术资源的内存信息。
208、服务器将待采集美术资源的属性信息和内存信息进行融合,得到待采集美术资源的运行信息。
例如,服务器可以将待采集美术资源的属性信息和内存信息进行融合,得到待采集美术资源的状态信息,获取应用程序运行画面的视频数据,在视频数据中提取出采集周期对应的画面帧,将状态信息和画面帧作为待采集美术资源的运行信息。具体可以如下:
(1)服务器将待采集美术资源的属性信息和内存信息进行融合,得到待采集美术资源的状态信息。
例如,服务器可以将待采集美术资源的属性信息和内存信息中的数据转换为二进制数据。将转换为二进制的属性信息和内存信息存入动态buffer中,进行打包,得到数据包,将该数据包作为初始状态信息。在数据包的合适的位置上添加预设包头数据,该预设包头数据可以包括应用程序的美术资源的运行信息的校验位数据,得到待采集美术资源的状态信息。
(2)服务器获取应用程序运行画面的视频数据。
例如,服务器将ADB对应用程序运行时录屏或者截屏得到的视频数据进行下载,得到应用程序运行画面的视频数据。
(3)服务器在视频数据中提取出采集周期对应的画面帧,将状态信息和画面帧作为待采集美术资源的运行信息。
例如,以采集周期为5s,采集开始的时间为10:05:00为例,服务器就可以获取采集周期对应的画面信息为10:05:00开始的5s内的画面都为采集周期对应的画面帧。然后,在视频数据识别出该画面信息对应的画面帧,然后,将该画面帧进行截屏,即可得到该画面帧。将状态信息和画面帧作为待采集美术资源在当前的采集周期内的运行信息。
209、服务器将待采集美术资源的运行信息发送至终端。
例如,服务器通过ADB将待采集美术资源当前的采集周期采集到的运行信息发送至终端,使得终端对待采集美术资源的运行信息进行解析和显示。
210、终端显示待采集美术资源的运行信息,并对待采集美术资源进行检测。
例如,终端对待采集美术资源进行解析,将解析好的待采集美术资源的运行信息中的数据按照待采集美术资源的类型分为多个数组,每个数组分别存放一种美术资源的运行信息。测试过程可以包括多个采集周期,当整个测试过程结束时,将每个采集周期内得到运行信息进行关联,以树状图的形式将每个采集周期内的运行信息在终端进行连续的动态展示。终端将接收到的待采集美术资源的运行信息上传至nike平台,nike平台通过对画面帧进行分析,得到每个画面帧的预设运行信息,将预设运行信息与采集到的运行信息进行对比,以检测待采集美术资源,比如,可以检测美术资源加载的数量是否与设计数量一致,美术资源加载的尺寸是否与设计尺寸一致,还可以检测美术资源加载的位置信息是否与设计的位置信息是否一致等,得到检测结果,将检测结果返回至终端进行展示。
由以上可知,本实施例中服务器在接收美术资源运行信息的采集请求后,该采集请求指示待采集美术资源的采集周期和待采集美术资源所属的应用程序,然后,根据采集请求获取应用程序的运行对象集合,并在运行对象集合中确定出待采集美术资源对应的目标运行对象,然后,采集运行对象集合在采集周期内的内存数据、以及目标运行对象在采集周期内的运行数据,得到内存数据集合和运行数据集合,在运行数据集合中提取出待采集美术资源的属性信息和内容信息,并根据内容信息从内存数据集合中提取出待采集美术资源的内存信息,然后,将待采集美术资源的属性信息和内存信息进行融合,得到待采集美术资源的运行信息;由于该方案可以从应用程序运行对象集合中确定出待采集美术资源对应目标运行对象,并采集目标运行对象在采集周期内的运行数据,可以直接在采集到的运行数据和内存数据中提取出待采集美术资源的运行信息,因此,可以大大提升应用程序在运行时加载的美术资源的运行信息的采集效率。
为了更好地实施以上方法,本发明实施例还提供一种美术资源运行信息采集装置,该美术资源运行信息采集装置可以集成在电子设备,比如服务器或终端等设备中,该终端可以包括平板电脑、笔记本电脑和/或个人计算机等。
例如,如图6所示,该美术资源运行信息采集装置可以包括接收单元301、获取单元302、采集单元303、提取单元304和融合单元305,如下:
(1)接收单元301;
接收单元301,用于接收美术资源运行信息的采集请求,该采集请求指示待采集美术资源的标识信息、采集周期和待采集美术资源所属的应用程序。
例如,接收单元301,具体可以用于接收终端将添加待采集美术资源的采集周期和待采集美术资源所属的应用程序的采集请求发送给美术资源运行信息采集装置,美术资源运行信息采集装置直接接收到美术资源运行信息的采集请求。
(2)获取单元302;
获取单元302,用于根据采集请求获取应用程序的运行对象集合,并在所述运行对象集合中确定出待采集美术资源对应的目标运行对象。
例如,获取单元302,具体可以用于通过应用程序的第三方工具引擎中直接获取应用程序在运行时需要加载的全部的运行对象,得到运行对象集合,获取运行对象集合中每一运行对象的对象身份,将待采集美术资源的标识信息中的身份标识与对象身份进行匹配,将与美术资源的身份标识匹配成功的对象身份作为目标对象身份,在运行对象集合中筛选出所述目标对象身份对应的运行对象作为目标运行对象。
(3)采集单元303;
采集单元303,用于采集运行对象集合在采集周期内的内存数据、以及目标运行对象在采集周期内的运行数据,得到内存数据集合和运行数据集合。
例如,采集单元303,具体可以用于采集运行对象集合在采集周期内的内存数据,得到内存数据集合,采集运行对象集合在采集周期内的运行数据,得到候选运行数据,在候选运行数据集合中筛选出目标运行对象对应的运行数据,得到运行数据集合。
(4)提取单元304;
提取单元304,用于在运行数据集合中提取出待采集美术资源的属性信息和内容信息,并根据内容信息从内存数据集合中提取出待采集美术资源的内存信息。
例如,提取单元304,具体可以用于在运行数据集合中读取每个存储容器内的美术资源的数量、位置信息、尺寸信息或压缩情况等属性信息,还可以读取到存储容器内的每个美术资源的内容信息。直接从读取到的每个美术资源的内容信息中识别出待采集美术资源的内存地址,在内存数据集合中筛选出内存地址对应的内存数据,根据待采集美术资源的类型,对内存数据进行统计,得到待采集美术资源的内存信息。
(5)融合单元305;
融合单元305,用于将待采集美术资源的属性信息和内存信息进行融合,得到待采集美术资源的运行信息。
例如,融合单元305,具体可以用于将待采集美术资源的属性信息和内存信息进行融合,得到待采集美术资源的状态信息,获取应用程序运行画面的视频数据,在视频数据中提取出采集周期对应的画面帧,将状态信息和画面帧作为待采集美术资源的运行信息。
可选的,美术资源运行信息采集装置还可以包括配置单元306,如图7所示,具体可以如下:
配置单元306,用于获取待采集美术资源的标识信息、注册信息和针对应用程序运行画面的监控信息,根据注册信息和标识信息,在应用程序中将待采集美术资源注册为运行对象,基于监控信息,构建监控进程,以在应用程序运行时对运行画面进行录制或截屏。
具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。
由以上可知,本实施例在接收单元301接收美术资源运行信息的采集请求后,该采集请求指示待采集美术资源的采集周期和待采集美术资源所属的应用程序,然后,获取单元302根据采集请求获取应用程序的运行对象集合,并在运行对象集合中确定出待采集美术资源对应的目标运行对象,然后,采集单元303采集运行对象集合在采集周期内的内存数据、以及目标运行对象在采集周期内的运行数据,得到内存数据集合和运行数据集合,提取单元304在运行数据集合中提取出待采集美术资源的属性信息和内容信息,并根据内容信息从内存数据集合中提取出待采集美术资源的内存信息,然后,融合单元305将待采集美术资源的属性信息和内存信息进行融合,得到待采集美术资源的运行信息;由于该方案可以从应用程序运行对象集合中确定出待采集美术资源对应目标运行对象,并采集目标运行对象在采集周期内的运行数据,可以直接在采集到的运行数据和内存数据中提取出待采集美术资源的运行信息,因此,可以大大提升应用程序在运行时加载的美术资源的运行信息的采集效率。
本发明实施例还提供一种电子设备,如图8所示,其示出了本发明实施例所涉及的电子设备的结构示意图,具体来讲:
该电子设备可以包括一个或者一个以上处理核心的处理器401、一个或一个以上计算机可读存储介质的存储器402、电源403和输入单元404等部件。本领域技术人员可以理解,图8中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器401是该电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。可选的,处理器401可包括一个或多个处理核心;优选的,处理器401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器401中。
存储器402可用于存储软件程序以及模块,处理器401通过运行存储在存储器402的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包括存储器控制器,以提供处理器401对存储器402的访问。
电子设备还包括给各个部件供电的电源403,优选的,电源403可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源403还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该电子设备还可包括输入单元404,该输入单元404可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
尽管未示出,电子设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,电子设备中的处理器401会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现各种功能,如下:
接收美术资源运行信息的采集请求,该采集请求指示待采集美术资源的采集周期和待采集美术资源所属的应用程序,根据采集请求获取应用程序的运行对象集合,并在运行对象集合中确定出待采集美术资源对应的目标运行对象,采集运行对象集合在采集周期内的内存数据、以及目标运行对象在采集周期内的运行数据,得到内存数据集合和运行数据集合,在运行数据集合中提取出待采集美术资源的属性信息和内容信息,并根据内容信息从内存数据集合中提取出待采集美术资源的内存信息,将待采集美术资源的属性信息和内存信息进行融合,得到待采集美术资源的运行信息。
例如,接收终端将添加待采集美术资源的采集周期和待采集美术资源所属的应用程序的采集请求发送给美术资源运行信息采集装置,美术资源运行信息采集装置直接接收到美术资源运行信息的采集请求。通过应用程序的第三方工具引擎中直接获取应用程序在运行时需要加载的全部的运行对象,得到运行对象集合,获取运行对象集合中每一运行对象的对象身份,将待采集美术资源的标识信息中的身份标识与对象身份进行匹配,将与美术资源的身份标识匹配成功的对象身份作为目标对象身份,在运行对象集合中筛选出所述目标对象身份对应的运行对象作为目标运行对象。采集运行对象集合在采集周期内的内存数据,得到内存数据集合,采集运行对象集合在采集周期内的运行数据,得到候选运行数据,根据运行对象的类型,对候选运行数据集合进行分类,得到每一类型运行对象对应的子候选运行数据集合,获取子候选运行数据集合对应的运行对象的第一类型标识,在标识信息中提取出待采集美术资源的第二类型标识,将第一类型标识与第二类型标识进行匹配,并将与第二类型标识匹配成功的至少一个第一类型标识作为目标运行对象对应的目标第一类型标识,在子候选运行数据集合中筛选出目标第一类型标识对应的目标子候选运行数据集合,并将这些目标子候选运行数据集合作为目标运行对象对应的运行数据集合。在运行数据集合中读取美术资源的数据,从而得到待采集美术资源的属性信息和内容信息。根据内容信息从内存数据集合中提取出待采集美术资源的内存信息,将待采集美术资源的属性信息和内存信息进行融合,得到待采集美术资源的状态信息,获取应用程序运行画面的视频数据,在视频数据中提取出采集周期对应的画面帧,将状态信息和画面帧作为待采集美术资源的运行信息。将待采集美术资源的运行信息发送至终端,使得终端显示运行信息、以及对待采集美术资源进行检测。
以上各个操作的具体实施可参见前面的实施例,在此不作赘述。
由以上可知,本发明实施例在接收美术资源运行信息的采集请求后,该采集请求指示待采集美术资源的集周期和待采集美术资源所属的应用程序,然后,根据采集请求获取应用程序的运行对象集合,并在运行对象集合中确定出待采集美术资源对应的目标运行对象,然后,采集运行对象集合在采集周期内的内存数据、以及目标运行对象在采集周期内的运行数据,得到内存数据集合和运行数据集合,在运行数据集合中提取出待采集美术资源的属性信息和内容信息,并根据内容信息从内存数据集合中提取出待采集美术资源的内存信息,然后,将待采集美术资源的属性信息和内存信息进行融合,得到待采集美术资源的运行信息;由于该方案可以从应用程序运行对象集合中确定出待采集美术资源对应目标运行对象,并采集目标运行对象在采集周期内的运行数据,可以直接在采集到的运行数据和内存数据中提取出待采集美术资源的运行信息,因此,可以大大提升应用程序在运行时加载的美术资源的运行信息的采集效率。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本发明实施例提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本发明实施例所提供的任一种美术资源运行信息采集方法中的步骤。例如,该指令可以执行如下步骤:
接收美术资源运行信息的采集请求,该采集请求指示待采集美术资源的采集周期和待采集美术资源所属的应用程序,根据采集请求获取应用程序的运行对象集合,并在运行对象集合中确定出待采集美术资源对应的目标运行对象,采集运行对象集合在采集周期内的内存数据、以及目标运行对象在采集周期内的运行数据,得到内存数据集合和运行数据集合,在运行数据集合中提取出待采集美术资源的属性信息和内容信息,并根据内容信息从内存数据集合中提取出待采集美术资源的内存信息,将待采集美术资源的属性信息和内存信息进行融合,得到待采集美术资源的运行信息。
例如,接收终端将添加待采集美术资源的采集周期和待采集美术资源所属的应用程序的采集请求发送给美术资源运行信息采集装置,美术资源运行信息采集装置直接接收到美术资源运行信息的采集请求。通过应用程序的第三方工具引擎中直接获取应用程序在运行时需要加载的全部的运行对象,得到运行对象集合,获取运行对象集合中每一运行对象的对象身份,将待采集美术资源的标识信息中的身份标识与对象身份进行匹配,将与美术资源的身份标识匹配成功的对象身份作为目标对象身份,在运行对象集合中筛选出所述目标对象身份对应的运行对象作为目标运行对象。采集运行对象集合在采集周期内的内存数据,得到内存数据集合,采集运行对象集合在采集周期内的运行数据,得到候选运行数据,根据运行对象的类型,对候选运行数据集合进行分类,得到每一类型运行对象对应的子候选运行数据集合,获取子候选运行数据集合对应的运行对象的第一类型标识,在标识信息中提取出待采集美术资源的第二类型标识,将第一类型标识与第二类型标识进行匹配,并将与第二类型标识匹配成功的至少一个第一类型标识作为目标运行对象对应的目标第一类型标识,在子候选运行数据集合中筛选出目标第一类型标识对应的目标子候选运行数据集合,并将这些目标子候选运行数据集合作为目标运行对象对应的运行数据集合。在运行数据集合中读取美术资源的数据,从而得到待采集美术资源的属性信息和内容信息。根据内容信息从内存数据集合中提取出待采集美术资源的内存信息,将待采集美术资源的属性信息和内存信息进行融合,得到待采集美术资源的状态信息,获取应用程序运行画面的视频数据,在视频数据中提取出采集周期对应的画面帧,将状态信息和画面帧作为待采集美术资源的运行信息。将待采集美术资源的运行信息发送至终端,使得终端显示运行信息、以及对待采集美术资源进行检测。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该计算机可读存储介质可以包括:只读存储器(ROM,Read OnlyMemory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该计算机可读存储介质中所存储的指令,可以执行本发明实施例所提供的任一种美术资源运行信息采集方法中的步骤,因此,可以实现本发明实施例所提供的任一种美术资源运行信息采集方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
其中,根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述美术资源运行信息采集方面的各种可选实现方式中提供的方法。
以上对本发明实施例所提供的一种美术资源运行信息采集方法、装置和计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种美术资源运行信息采集方法,其特征在于,包括:
接收美术资源运行信息的采集请求,所述采集请求指示待采集美术资源的采集周期和所述待采集美术资源所属的应用程序;
根据所述采集请求获取所述应用程序的运行对象集合,并在所述运行对象集合中确定出所述待采集美术资源对应的目标运行对象;
采集所述运行对象集合在所述采集周期内的内存数据、以及所述目标运行对象在所述采集周期内的运行数据,得到内存数据集合和运行数据集合;
在所述运行数据集合中提取出所述待采集美术资源的属性信息和内容信息,并根据所述内容信息从所述内存数据集合中提取出所述待采集美术资源的内存信息;
将所述待采集美术资源的属性信息和内存信息进行融合,得到所述待采集美术资源的运行信息。
2.根据权利要求1所述的美术资源运行信息采集方法,其特征在于,还包括:
获取所述待采集美术资源的标识信息、注册信息和针对所述应用程序运行画面的监控信息;
根据所述注册信息和标识信息,在所述应用程序中将所述待采集美术资源注册为运行对象;
基于所述监控信息,构建监控进程,以在所述应用程序运行时对运行画面进行录制或截屏。
3.根据权利要求2所述的美术资源运行信息采集方法,其特征在于,所述采集所述运行对象集合在所述采集周期内的内存数据、以及所述目标运行对象在所述采集周期内的运行数据,得到内存数据集合和运行数据集合,包括:
采集所述运行对象集合在所述采集周期内的内存数据,得到内存数据集合;
采集所述运行对象集合在所述采集周期内的运行数据,得到候选运行数据集合;
在所述候选运行数据集合中筛选出所述目标运行对象对应的运行数据,得到运行数据集合。
4.根据权利要求3所述的美术资源运行信息采集方法,其特征在于,所述在所述候选运行数据集合中筛选出所述目标运行对象对应的运行数据,得到运行数据集合,包括:
根据所述运行对象的类型,对所述候选运行数据集合进行分类,得到每一类型运行对象对应的子候选运行数据集合;
获取所述子候选运行数据集合对应运行对象的第一类型标识;
根据所述第一类型标识和标识信息,在所述子候选运行数据集合中筛选出所述目标运行对象对应的运行数据,得到运行数据集合。
5.根据权利要求4所述的美术资源运行信息采集方法,其特征在于,所述根据所述第一类型标识和标识信息,在所述子候选运行数据集合中筛选出所述目标运行对象对应的运行数据,得到运行数据集合,包括:
在所述标识信息中提取出所述待采集美术资源的第二类型标识;
将所述第一类型标识与所述第二类型标识进行匹配,并将与所述第二类型标识匹配成功的至少一个第一类型标识作为所述目标运行对象对应的目标第一类型标识;
在所述子候选运行数据集合中筛选出所述目标第一类型标识对应的目标子候选运行数据集合,并将所述目标子候选运行数据集合作为所述目标运行对象对应的运行数据集合。
6.根据权利要求1至5任一项所述的美术资源运行信息采集方法,其特征在于,所述根据所述内容信息从所述内存数据集合中提取出所述待采集美术资源的内存信息,包括:
在所述内容信息中识别出所述待采集美术资源的内存地址;
在所述内存数据集合中筛选出所述内存地址对应的内存数据;
根据所述待采集美术资源的类型,对所述内存数据进行统计,得到所述待采集美术资源的内存信息。
7.根据权利要求2所述的美术资源运行信息采集方法,其特征在于,所述将所述待采集美术资源的属性信息和内存信息进行融合,得到所述美术资源的运行信息,包括:
将所述待采集美术资源的属性信息和内存信息进行融合,得到所述待采集美术资源的状态信息;
获取所述应用程序运行画面的视频数据;
在所述视频数据中提取出所述采集周期对应的画面帧,将所述状态信息和画面帧作为所述待采集美术资源的运行信息。
8.根据权利要求7所述的美术资源运行信息采集方法,其特征在于,所述将所述待采集美术资源的属性信息和内存信息进行融合,得到所述待采集美术资源的状态信息,包括:
对所述属性信息和内存信息中的数据进行格式转换;
将格式转换后的属性信息和内存信息进行融合,得到初始状态信息;
在所述初始状态信息中添加预设校验数据,得到所述待采集美术资源的状态数据。
9.根据权利要求1所述的美术资源运行信息采集方法,其特征在于,所述将所述待采集美术资源的属性信息和内存信息进行融合,得到所述待采集美术资源的运行信息之后,还包括:
将所述待采集美术资源的运行信息发送至终端,使得所述终端显示所述运行信息、以及对所述待采集美术资源进行检测。
10.一种美术资源运行信息采集装置,其特征在于,包括:
接收单元,用于接收美术资源运行信息的采集请求,所述采集请求指示待采集美术资源的采集周期和所述待采集美术资源所属的应用程序;
获取单元,用于根据所述采集请求获取所述应用程序的运行对象集合,并在所述运行对象集合中确定出所述待采集美术资源对应的目标运行对象;
采集单元,用于采集所述运行对象集合在所述采集周期内的内存数据、以及所述目标运行对象在所述采集周期内的运行数据,得到内存数据集合和运行数据集合;
提取单元,用于在所述运行数据集合中提取出所述待采集美术资源的属性信息和内容信息,并根据所述内容信息从所述内存数据集合中提取出所述待采集美术资源的内存信息;
融合单元,用于将所述待采集美术资源的属性信息和内存信息进行融合,得到所述待采集美术资源的运行信息。
CN202010776399.8A 2020-08-05 2020-08-05 美术资源运行信息采集方法和装置 Active CN112052158B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010776399.8A CN112052158B (zh) 2020-08-05 2020-08-05 美术资源运行信息采集方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010776399.8A CN112052158B (zh) 2020-08-05 2020-08-05 美术资源运行信息采集方法和装置

Publications (2)

Publication Number Publication Date
CN112052158A CN112052158A (zh) 2020-12-08
CN112052158B true CN112052158B (zh) 2022-09-30

Family

ID=73602513

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010776399.8A Active CN112052158B (zh) 2020-08-05 2020-08-05 美术资源运行信息采集方法和装置

Country Status (1)

Country Link
CN (1) CN112052158B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112698829B (zh) * 2021-01-13 2023-10-24 腾讯科技(深圳)有限公司 异常资源的定位方法和装置、存储介质及电子设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8024740B2 (en) * 2004-03-16 2011-09-20 Nec Corporation Acquisition system for distributed computing resources
CN106528398A (zh) * 2015-09-15 2017-03-22 网易(杭州)网络有限公司 游戏软件性能的可视分析方法
CN107274493A (zh) * 2017-06-28 2017-10-20 河海大学常州校区 一种基于移动平台的三维虚拟试发型人脸重建方法
CN109408223A (zh) * 2018-03-13 2019-03-01 广东欧珀移动通信有限公司 资源配置方法、装置、终端及存储介质
CN109513211A (zh) * 2018-10-15 2019-03-26 网易(杭州)网络有限公司 美术资源文件的处理方法、装置以及游戏资源展示系统
CN110231994A (zh) * 2019-06-20 2019-09-13 深圳市腾讯网域计算机网络有限公司 内存分析方法、装置和计算机可读存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8024740B2 (en) * 2004-03-16 2011-09-20 Nec Corporation Acquisition system for distributed computing resources
CN106528398A (zh) * 2015-09-15 2017-03-22 网易(杭州)网络有限公司 游戏软件性能的可视分析方法
CN107274493A (zh) * 2017-06-28 2017-10-20 河海大学常州校区 一种基于移动平台的三维虚拟试发型人脸重建方法
CN109408223A (zh) * 2018-03-13 2019-03-01 广东欧珀移动通信有限公司 资源配置方法、装置、终端及存储介质
CN109513211A (zh) * 2018-10-15 2019-03-26 网易(杭州)网络有限公司 美术资源文件的处理方法、装置以及游戏资源展示系统
CN110231994A (zh) * 2019-06-20 2019-09-13 深圳市腾讯网域计算机网络有限公司 内存分析方法、装置和计算机可读存储介质

Also Published As

Publication number Publication date
CN112052158A (zh) 2020-12-08

Similar Documents

Publication Publication Date Title
CN108241722A (zh) 一种数据处理系统、方法及装置
CN111652331B (zh) 一种图像识别方法、装置和计算机可读存储介质
CN110716848A (zh) 数据收集方法、装置、电子设备及存储介质
CN106557308B (zh) 一种软件持续集成方法及装置
CN108090203A (zh) 视频分类方法、装置、存储介质及电子设备
CN106534784A (zh) 一种用于视频分析数据结果集的采集分析存储统计系统
CN112799925A (zh) 数据采集方法、装置、电子设备和可读存储介质
CN113730902A (zh) 一种用于游戏的免下载运行方法
CN111882059A (zh) 数据处理方法及装置、电子设备和存储介质
CN113453040A (zh) 短视频的生成方法、装置、相关设备及介质
CN112052158B (zh) 美术资源运行信息采集方法和装置
CN113420009A (zh) 一种基于大数据的电磁数据分析装置、系统及方法
CN112463568A (zh) 业务仿真测试方法、装置及电子设备
CN111400627A (zh) 一种信息获取方法、装置和电子设备及可读存储介质
CN114428705A (zh) 一种网络数据的监测方法、装置、设备以及存储介质
CN111683280A (zh) 视频处理方法、装置及电子设备
CN110232026A (zh) AssetBundle资源检测方法及系统
CN112016018A (zh) 一种路网运行监测方法、装置、存储介质及终端
CN116384109A (zh) 一种面向新型配电网的数字孪生模型自动重构方法及装置
CN114238223A (zh) 图片移除方法、装置、计算机设备及计算机可读存储介质
CN114172856A (zh) 消息自动回复方法、装置、设备及存储介质
CN109992614B (zh) 数据获取方法、装置和服务器
CN117271371B (zh) 性能测试方法、装置、计算机设备及存储介质
CN111898640B (zh) 模拟抓拍机推送图片的方法、装置、测试系统及电子设备
CN111861404B (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
GR01 Patent grant
GR01 Patent grant