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

程序运行检测方法、装置、异构电子设备及可读存储介质

文献发布时间:2023-06-19 12:02:28


程序运行检测方法、装置、异构电子设备及可读存储介质

技术领域

本申请涉及计算机程序检测领域,具体而言,涉及一种程序运行检测方法、装置、异构电子设备及可读存储介质。

背景技术

目前,中央处理器(Central Processing Unit,CPU)和图形处理器(GraphicsProcessing Unit,GPU)协同计算的异构计算模式,已经成为了高性能计算、人工智能等对计算能力有较高要求的领域的主流方向。在异构计算机中,应用程序的调试与优化离不开程序性能分析工具。目前,在异构计算机中,分析工具的功能不完善,使得检测的应用程序的运行数据不完整。

发明内容

本申请实施例的目的在于提供一种程序运行检测方法、装置、异构电子设备及可读存储介质,能够改善在异构电子设备中检测的应用程序的运行数据不完整的问题。

为了实现上述目的,本申请的实施例通过如下方式实现:

第一方面,本申请实施例提供一种程序运行检测方法,应用于异构电子设备,所述异构电子设备包括基于图形处理器的设备端和基于中央处理器的主机端,所述方法包括:

通过第一分析策略检测运行在所述设备端的指定应用程序,得到第一运行数据,并存储记录于具有第一标识信息的第一指定文件;

通过第二分析策略检测运行在所述主机端的所述指定应用程序,得到第二运行数据,并存储记录于具有第二标识信息的第二指定文件;

对所述第一指定文件的所述第一运行数据和所述第二指定文件中的所述第二运行数据进行组合,得到所述指定应用程序在所述异构电子设备的目标运行数据集。

在上述的实施方式中,利用第一指定文件存储记录由第一分析策略检测设备端得到的第一运行数据,利用第二指定文件存储记录由第二分析策略检测主机端得到的第二运行数据,如此,可以避免采集的数据因文件标识相同而造成冲突。另外,使用第一分析策略和第二分析策略对异构电子设备中的应用程序进行运行数据检测,再对第一指定文件和第二指定文件中的运行数据进行组合,可以提高对指定应用程序采集得到的运行数据的完整性。

结合第一方面,在一些可选的实施方式中,通过第一分析策略检测运行在所述设备端的指定应用程序,得到第一运行数据,并存储记录于具有第一标识信息的第一指定文件,包括:

通过设备端检测工具检测运行在所述设备端的指定应用程序,得到所述第一运行数据,所述第一运行数据包括所述指定应用程序中的第一函数的第一运行参数,所述第一运行参数包括所述第一函数开始运行和/或结束运行的时间信息;

在所述第一指定文件中存储记录所述第一运行数据,所述第一标识信息包括所述第一函数所对应的图形处理器的标识、所述第一函数所对应的进程的标识、所述第一函数所对应的线程的标识及所述第一函数所对应的流的标识中的至少一种。

在上述的实施方式中,设备端检测工具可以对设备端的指定应用程序的运行数据进行更完整的检测,从而有利于在数据组合后提高所采集的运行数据的完整性。

结合第一方面,在一些可选的实施方式中,通过第二分析策略检测运行在所述主机端的所述指定应用程序,得到第二运行数据,并存储记录于具有第二标识信息的第二指定文件,包括:

通过主机端检测工具检测运行在所述主机端的所述指定应用程序,得到所述第二运行数据,所述第二运行数据包括所述指定应用程序中的第二函数的第二运行参数,所述第二运行参数包括所述第二函数开始运行和/或结束运行的时间信息;

在所述第二指定文件中存储记录所述第二运行数据,所述第二标识信息包括所述第二函数所对应的中央处理器的标识、所述第二函数所对应的进程的标识及所述第二函数所对应的线程的标识中的至少一种。

在上述的实施方式中,主机端检测工具可以对主机端的指定应用程序的运行数据进行更完整的检测,从而有利于在数据组合后提高所采集的运行数据的完整性。

结合第一方面,在一些可选的实施方式中,所述方法还包括:

根据所述第一标识信息或所述第二标识信息所确定的显示级别,对所述目标运行数据集中的运行数据进行分级显示,所述显示级别包括进程级别、线程级别、图形处理器级别、流级别、主机端级别、设备端级别种的至少一种。

在上述的实施方式中,通过分级显示所采集的运行数据,有利于管理人员进行数据查看与分析。

结合第一方面,在一些可选的实施方式中,所述方法还包括:

基于接收的筛选指令,显示所述目标运行数据集中与所述筛选指令对应的运行数据。

在上述的实施方式中,用户可以通过筛选指令灵活显示需要查看的数据,避免其他数据干扰用户查看当前需要关注的运行数据。

结合第一方面,在一些可选的实施方式中,在将所述第一运行数据存储记录于具有第一标识信息的第一指定文件之前,所述方法还包括:

根据所述第一标识信息创建与所述第一运行数据中的每个进程对应的具有不同文件名的所述第一指定文件,每个第一指定文件用于存储记录所述第一运行数据中与进程对应的运行数据,以及在将所述第二运行数据存储记录于具有第二标识信息的第二指定文件之前,所述方法还包括:

根据所述第二标识信息创建与所述第二运行数据中的每个进程对应的具有不同文件名的所述第二指定文件,每个第二指定文件用于存储记录所述第二运行数据中与进程对应的运行数据。

在上述的实施方式中,通过不同文件名的第一指定文件、第二指定文件来存储针对不同进程采集得到的数据,有利于实现多进程的检测分析,避免因采集不同进程得到的运行数据的文件名相同而造成冲突。

结合第一方面,在一些可选的实施方式中,对所述第一指定文件的所述第一运行数据和所述第二指定文件中的所述第二运行数据进行组合,得到所述指定应用程序在所述异构电子设备的目标运行数据集,包括:

将所有所述第一指定文件中的第一运行数据及所有所述第二指定文件中的第二运行数据合并在目标文件中,得到所述目标运行数据集。

在上述的实施方式中,通过对所有第一指定文件、所有第二指定文件中的运行数据合并在一个目标文件中,如此,有利于通过一个目标文件呈现多进程的运行数据,方便对照查看。

第二方面,本申请还提供一种程序运行检测装置,应用于异构电子设备,所述异构电子设备包括基于图形处理器的设备端和基于中央处理器的主机端,所述装置包括:

第一检测单元,用于通过第一分析策略检测运行在所述设备端的指定应用程序,得到第一运行数据,并存储记录于具有第一标识信息的第一指定文件;

第二检测单元,用于通过第二分析策略检测运行在所述主机端的所述指定应用程序,得到第二运行数据,并存储记录于具有第二标识信息的第二指定文件;

数据组合单元,用于对所述第一指定文件的所述第一运行数据和所述第二指定文件中的所述第二运行数据进行组合,得到所述指定应用程序在所述异构电子设备的目标运行数据集。

第三方面,本申请还提供一种异构电子设备,所述异构电子设备包括基于图形处理器的设备端、基于中央处理器的主机端及存储器,所述存储器内存储计算机程序,当所述计算机程序被所述图形处理器或所述中央处理器执行时,使得所述异构电子设备执行上述的方法。

第四方面,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行上述的方法。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本申请实施例提供的异构电子设备的结构示意图。

图2为本申请实施例提供的程序运行检测方法的流程示意图。

图3为图2中步骤S110的子步骤的流程示意图。

图4为图2中步骤S120的子步骤的流程示意图。

图5为本申请实施例提供的程序运行检测装置的框图。

图标:10-异构电子设备;11-中央处理器;12-图形处理器;13-存储器;200-程序运行检测装置;210-第一检测单元;220-第二检测单元;230-数据组合单元。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。需要说明的是,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

请参照图1,本申请提供一种异构电子设备10,异构电子设备10即为包括中央处理器11和图形处理器12的异构电子设备10。当然,异构电子设备10还可以包括其他模块,如存储器13。存储器13内存储计算机程序,当计算机程序被中央处理器11或图形处理器12执行时,使得异构电子设备10能够执行下述的程序运行检测方法。

其中,使用下述的程序运行检测方法,对异构电子设备10中的异构应用程序进行运行检测,能够改善检测异构应用程序得到的运行数据不完整的问题。异构应用程序即为可以运行在中央处理器11和图形处理器12上的应用程序,可以根据实际情况进行确定。例如,在深度学习领域中,需要利用深度卷积神经网络进行处理(如人脸识别)的应用程序即为异构应用程序,这里对异构应用程序的领域与功能作用不作具体限定。

在异构电子设备10中,中央处理器11这一端可以称为主机端,图形处理器12这一端可以称为设备端。

请参照图2,本申请还提供一种程序运行检测方法,可以应用于上述的异构电子设备10中,由异构电子设备10执行或实现方法的各步骤。方法可以包括如下步骤:

步骤S110,通过第一分析策略检测运行在设备端的指定应用程序,得到第一运行数据,并存储记录于具有第一标识信息的第一指定文件;

步骤S120,通过第二分析策略检测运行在主机端的所述指定应用程序,得到第二运行数据,并存储记录于具有第二标识信息的第二指定文件;

步骤S130,对所述第一指定文件的所述第一运行数据和所述第二指定文件中的所述第二运行数据进行组合,得到所述指定应用程序在异构电子设备10的目标运行数据集。

在上述的实施方式中,利用第一指定文件存储记录由第一分析策略检测设备端得到的第一运行数据,利用第二指定文件存储记录由第二分析策略检测主机端得到的第二运行数据,如此,可以避免采集的数据因文件标识相同而造成冲突。另外,使用第一分析策略和第二分析策略对异构电子设备10中的应用程序进行运行数据检测,再对第一指定文件和第二指定文件中的运行数据进行组合,可以提高对指定应用程序采集得到的运行数据的完整性。

下面将对方法的各步骤进行详细阐述,如下:

在步骤S110中,第一分析策略为可以对运行在设备端的指定应用程序进行运行检测的策略,可以根据实际情况进行设置。例如,第一分析策略可以是但不限于基于环境变量的分析工具,如HCC工具,可以检测指定应用程序在设备端的函数的运行数据。

指定应用程序为上述的异构应用程序,可以根据实际情况进行灵活确定。例如,在基于深度学习的人脸识别中,进行人脸识别检测的应用程序需要中央处理器11及图形处理器12共同参与检测处理,该应用程序即为指定应用程序。

在步骤S120中,第二分析策略为可以对运行在主机端的指定应用程序进行运行检测的策略,可以根据实际情况进行设置。例如,第二分析策略可以是但不限于Rocprof工具,可以检测指定应用程序在主机端的函数的运行数据。第二标识信息与第一标识信息不同,以起区分作用,且均可以灵活设置。

在步骤S130中,通过对第一指定文件的第一运行数据和第二指定文件第二运行数据进行组合,如此,可以在一个文件中呈现设备端和主机端的数据,方便用户查看数据。

在本实施例中,在将第一运行数据存储记录于具有第一标识信息的第一指定文件之前,所述方法还可以包括:

根据所述第一标识信息创建与所述第一运行数据中的每个进程对应的具有不同文件名的所述第一指定文件,每个第一指定文件用于存储记录所述第一运行数据中与进程对应的运行数据。

在使用第一分析策略检测运行在设备端的指定应用程序时,异构电子设备10可以自动创建指定应用程序在设备端的进程所对应的文件,该文件即为第一指定文件。不同进程对应的第一指定文件的文件名不同,例如,第一指定文件名可以包括但不限于GPU编号、进程编号,不同进程具有不同的进程编号,如此,可以区分不同进程所对应的第一指定文件。

第一指定文件、第二指定文件可以为JSON(JavaScript Object Notation,JavaScript对象简谱)文件。例如,针对主机端,一个JSON文件对应一个主机端的进程,用于存储记录检测该进程得到的运行数据。不同JSON文件的文件名不同,以避免文件名相同而造成冲突,影响多进程的检测。

请参照图3,在本实施例中,步骤S110可以包括子步骤S111及子步骤S112,如下:

子步骤S111,通过设备端检测工具检测运行在所述设备端的指定应用程序,得到所述第一运行数据,所述第一运行数据包括所述指定应用程序中的第一函数的第一运行参数,所述第一运行参数包括所述第一函数开始运行和/或结束运行的时间信息;

子步骤S112,在所述第一指定文件中存储记录所述第一运行数据,所述第一标识信息包括所述第一函数所对应的图形处理器12的标识、所述第一函数所对应的进程的标识、所述第一函数所对应的线程的标识及所述第一函数所对应的流的标识中的至少一种。

在子步骤S111中,设备端检测工具可以是但不限于上述的HCC工具,只要设备端检测工具可以检测设备端的异构应用程序的运行参数即可。其中,HCC工具支持低开销的探查器以将命令时间戳信息跟踪或汇总到stderr,其中,stderr指Unix系统中的一种标准输出(设备)文件,对应终端的屏幕,stderr可以表示标准错误输出设备。

第一运行数据即为HCC工具采集设备端的指定应用程序得到的运行数据,可以存储记录在第一指定文件中。针对不同进程采集得到的运行数据可以存储记录在不同的第一指定文件中。HCC工具采集设备端的指定应用程序得到的运行数据的数量可以根据实际情况进行确定,通常可以采集得到多个运行数据。

HCC工具的函数库可以抓取指定应用程序在设备端中的函数的运行数据,所抓取的运行数据包括但不限于GPU编号、GPU事件所在的Stream(经GPU存储和操作的数据被形象地比喻成“流”,英文为Stream,一个GPU在执行任务时可以具有多个Stream)号、设备端中的函数开始运行的时间信息和结束运行的时间信息。

第一函数为指定应用程序中运行在设备端的函数,函数的种类与数量均可以根据实际情况进行确定。第一函数用于实现指定应用程序在设备端的处理操作。第一运行参数为第一函数的运行数据,包括但不限于第一函数开始运行的时间信息、结束运行的时间信息、第一函数所在的进程的标识、第一函数所在的线程的标识、第一函数所在的流的标识等。其中,进程的标识、线程的标识以及流的标识等各类标识均可以根据实际情况进行设置,可以为数字编号,起区分作用。

第一标识信息可以由多类标识组成,不同的第一函数所对应的第一标识信息通常不同。比如,一个第一标识信息可以由一个第一函数所在的进程的标识、该第一函数所在的线程的标识、该第一函数所在的流的标识等标识组成。其中,进程是一个具有一定独立功能的程序在一个数据集上的一次动态执行的过程,是操作系统进行资源分配和调度的一个独立单位,是应用程序运行的载体。线程是程序执行中一个单一的顺序控制流程,是程序执行流的最小单元,是处理器(GPU或CPU)调度和分派的基本单位。一个进程可以有一个或多个线程。

在将第二运行数据存储记录于具有第二标识信息的第二指定文件之前,所述方法还可以包括:

根据所述第二标识信息创建与所述第二运行数据中的每个进程对应的具有不同文件名的所述第二指定文件,每个第二指定文件用于存储记录所述第二运行数据中与进程对应的运行数据。

在使用第二分析策略检测运行在主机端的指定应用程序时,异构电子设备10可以自动创建指定应用程序在主机端的进程所对应的文件,该文件即为第二指定文件。不同进程对应的第二指定文件的文件名不同,例如,第二指定文件名可以包括CPU编号、进程编号,不同进程具有不同的进程编号,如此,可以区分不同进程所对应的第二指定文件。

当第二指定文件为JSON文件时,一个JSON文件对应一个主机端的进程,用于存储记录检测该进程得到的运行数据。不同JSON文件的文件名不同,以避免文件名相同而造成冲突,影响多进程的检测。

请参照图4,步骤S120可以包括子步骤S121及子步骤S122,如下:

子步骤S121,通过主机端检测工具检测运行在所述主机端的所述指定应用程序,得到所述第二运行数据,所述第二运行数据包括所述指定应用程序中的第二函数的第二运行参数,所述第二运行参数包括所述第二函数开始运行和/或结束运行的时间信息;

子步骤S122,在所述第二指定文件中存储记录所述第二运行数据,所述第二标识信息包括所述第二函数所对应的中央处理器11的标识、所述第二函数所对应的进程的标识及所述第二函数所对应的线程的标识中的至少一种。

在子步骤S121中,第二运行数据即为主机端检测工具采集主机端的指定应用程序得到的运行数据,可以存储记录在第二指定文件中。针对不同进程采集得到的运行数据可以存储记录在不同的第二指定文件中。主机端检测工具可以是但不限于上述的Rocprof工具,只要主机端检测工具可以检测主机端的异构应用程序的运行参数即可。其中,Rocprof工具可以包括基于ROCm平台的Roctracer和Rocprofiler两个函数库。Roctracer函数库和Rocprofiler函数库可以对主机端的第二函数进行运行检测。ROCm平台为AMD(AdvancedMicro Devices,超威半导体)推出的一个开源的异构计算平台,为本领域技术人员熟知的平台。

Roctracer函数库和Rocprofiler函数库的功能作用与上述HCC工具的函数库的功能作用类似,区别在于,Roctracer函数库和Rocprofiler函数库负责主机端的函数的运行检测,HCC工具的函数库负责设备端的函数的运行检测。

第二函数即为指定应用程序运行主机端的函数,函数的数量可以为一个或多个,可以根据实际情况进行确定。第二函数用于实现指定应用程序在主机端的处理操作。Roctracer函数库和Rocprofiler函数库从主机端抓取的指定应用程序中第二函数的运行数据即为第二运行参数。第二运行参数包括但不限于第二函数开始运行的时间信息、结束运行的时间信息、第二函数所在的进程的标识、第二函数所在的线程的标识等。

第二标识信息与第一标识信息相类似,可以由多类标识组成,起区分作用。例如,一个第二标识信息可以由一个第二函数所在的进程的标识、该第二函数所在的线程的标识、该第二函数所在CPU编号等标识组成。

步骤S130可以包括:将所有所述第一指定文件中的第一运行数据及所有所述第二指定文件中的第二运行数据合并在目标文件中,得到所述目标运行数据集。

目标文件可以为新建的文件,或者为任一第一指定文件,或者为任一第二指定文件。通过将所有第一指定文件、所有第二指定文件中的运行数据合并在一个目标文件中,如此,有利于通过一个目标文件呈现多进程的运行数据,方便对照查看。比如,用户可以通过目标文件,查看指定应用程序在主机端与设备端的函数的时间线。时间线由指定应用程序中的各函数开始运行的时间信息和结束运行的时间信息形成。

作为一种可选的实施方式,方法还可以包括对运行数据进行可视化的操作。例如,在步骤S130之后,方法还可以包括:根据所述第一标识信息或所述第二标识信息所确定的显示级别,对所述目标运行数据集中的运行数据进行分级显示,所述显示级别包括进程级别、线程级别、图形处理器级别、流(Stream)级别、主机端级别、设备端级别种的至少一种。

其中,一个进程级别可以包括一个或多个线程级别。一个图形处理器级别可以包括一个或多个Stream级别。主机端级别可以包括进程级别、线程级别。设备端级别可以包括进程级别、线程级别、图形处理器级别、Stream级别。

第一标识信息中包括但不限于运行数据的进程编号、线程编号、图形处理器编号、流编号、设备端编号。第二标识信息可以包括但不限于运行数据的进程编号、线程编号、主机端编号。如此,可以所确定运行数据的显示级别。其中,一个运行数据可以具有多个显示级别。通过对运行数据进行分级显示,有利于用户查看各类运行数据。

在现有的可视化处理过程中,GPU可能由主机端的线程调用,也可能由主机端的进程调用,而且每个GPU可能使用多个Stream,在“Chrome://tracing”仅有进程和线程两个显示级别的情况下,难以将异构应用程序的时间线信息与显示框架进行一一映射。而从实际使用的角度考虑,设备端通常主要关心每个GPU上各个Stream上事件的执行情况,每个GPU是如何被调用的则是次要信息。在本实施例中,可以将GPU编号映射到Chrome://tracing的进程,将GPU事件所在的Stream编号映射到Chrome://tracing的线程;对于指定应用程序运行在主机端的函数,进程号和线程号分别映射到Chrome://tracing的进程和线程,如此,可以实现进程级别、线程级别、图形处理器级别、流级别、主机端级别、设备端级等多样化的显示级别的显示。其中,“Chrome://tracing”为一种运行数据可视化的工具,数据可视化的处理过程为本领域技术人员熟知。

作为一种可选的实施方式,在步骤S130之后,方法还可以包括:基于接收的筛选指令,显示所述目标运行数据集中与所述筛选指令对应的运行数据。

筛选指令可以由用户根据实际需求进行设置,例如,可以仅显示设备端级的数据,或者仅显示主机端级,如此,方便用户根据需求,灵活显示用户期望关注的运行数据。

请参照图5,本申请实施例还提供一种程序运行检测装置200,可以应用于上述的异构电子设备10中,用于执行方法中的各步骤。程序运行检测装置200包括至少一个可以软件或固件(Firmware)的形式存储于存储器13中或固化在异构电子设备10操作系统(Operating System,OS)中的软件功能模块。处理模块用于执行存储器13中存储的可执行模块,例如程序运行检测装置200所包括的软件功能模块及计算机程序等。

程序运行检测装置200可以包括第一检测单元210、第二检测单元220及数据组合单元230,可以执行的操作步骤如下:

第一检测单元210,用于通过第一分析策略检测运行在所述设备端的指定应用程序,得到第一运行数据,并存储记录于具有第一标识信息的第一指定文件;

第二检测单元220,用于通过第二分析策略检测运行在所述主机端的所述指定应用程序,得到第二运行数据,并存储记录于具有第二标识信息的第二指定文件;

数据组合单元230,用于对所述第一指定文件的所述第一运行数据和所述第二指定文件中的所述第二运行数据进行组合,得到所述指定应用程序在所述异构电子设备10的目标运行数据集。

可选地,第一检测单元210还用于:

通过设备端检测工具检测运行在所述设备端的指定应用程序,得到所述第一运行数据,所述第一运行数据包括所述指定应用程序中的第一函数的第一运行参数,所述第一运行参数包括所述第一函数开始运行和/或结束运行的时间信息;

在所述第一指定文件中存储记录所述第一运行数据,所述第一标识信息包括所述第一函数所对应的图形处理器12的标识、所述第一函数所对应的进程的标识、所述第一函数所对应的线程的标识及所述第一函数所对应的流的标识中的至少一种。

可选地,第二检测单元220还用于:

通过主机端检测工具检测运行在所述主机端的所述指定应用程序,得到所述第二运行数据,所述第二运行数据包括所述指定应用程序中的第二函数的第二运行参数,所述第二运行参数包括所述第二函数开始运行和/或结束运行的时间信息;

在所述第二指定文件中存储记录所述第二运行数据,所述第二标识信息包括所述第二函数所对应的中央处理器11的标识、所述第二函数所对应的进程的标识及所述第二函数所对应的线程的标识中的至少一种。

可选地,程序运行检测装置200还可以包括文件创建单元。第一检测单元210在将第一运行数据存储记录于具有第一标识信息的第一指定文件之前,文件创建单元用于根据所述第一标识信息创建与所述第一运行数据中的每个进程对应的具有不同文件名的所述第一指定文件,每个第一指定文件用于存储记录所述第一运行数据中与进程对应的运行数据。

第二检测单元220在将第二运行数据存储记录于具有第二标识信息的第二指定文件之前,所述方法还包括:

根据所述第二标识信息创建与所述第二运行数据中的每个进程对应的具有不同文件名的所述第二指定文件,每个第二指定文件用于存储记录所述第二运行数据中与进程对应的运行数据。

可选地,数据合并单元还用于将所有所述第一指定文件中的第一运行数据及所有所述第二指定文件中的第二运行数据合并在目标文件中,得到所述目标运行数据集。

可选地,程序运行检测装置200还包括数据可视化单元,用于根据所述第一标识信息或所述第二标识信息所确定的显示级别,对所述目标运行数据集中的运行数据进行分级显示,所述显示级别包括进程级别、线程级别、图形处理器12级别、流级别、主机端级别、设备端级别种的至少一种

可选地,数据可视化单元还可以用于基于接收的筛选指令,显示所述目标运行数据集中与所述筛选指令对应的运行数据。

在本实施例中,中央处理器11、图形处理器12及存储器13各个元件之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。中央处理器11和图形处理器12,可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。

存储器13可以是,但不限于,随机存取存储器,只读存储器,可编程只读存储器,可擦除可编程只读存储器,电可擦除可编程只读存储器等。在本实施例中,存储器13可以用于存储目标运行数据集、第一指定文件、第二指定文件等。当然,存储器13还可以用于存储程序,处理模块在接收到执行指令后,执行该程序。

可以理解的是,图1所示的结构仅为异构电子设备10的一种结构示意图,异构电子设备10还可以包括比图1所示更多的组件。图1中所示的各组件可以采用硬件、软件或其组合实现。

需要说明的是,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的异构电子设备10的具体工作过程,可以参考前述方法中的各步骤对应过程,在此不再过多赘述。

本申请实施例还提供一种计算机可读存储介质。计算机可读存储介质中存储有计算机程序,当计算机程序在计算机上运行时,使得计算机执行如上述实施例中所述的程序运行检测方法。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现,基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景所述的方法。

综上所述,本申请提供一种程序运行检测方法、装置、异构电子设备及可读存储介质。方法包括:通过第一分析策略检测运行在设备端的指定应用程序,得到第一运行数据,并存储记录于具有第一标识信息的第一指定文件;通过第二分析策略检测运行在主机端的指定应用程序,得到第二运行数据,并存储记录于具有第二标识信息的第二指定文件;对第一指定文件的第一运行数据和第二指定文件中的第二运行数据进行组合,得到指定应用程序在异构电子设备的目标运行数据集。在本方案中,利用第一指定文件存储记录由第一分析策略检测设备端得到的第一运行数据,利用第二指定文件存储记录由第二分析策略检测主机端得到的第二运行数据,如此,可以避免采集的数据因文件标识相同而造成冲突。另外,使用第一分析策略和第二分析策略对异构电子设备中的应用程序进行运行数据检测,再对第一指定文件和第二指定文件中的运行数据进行组合,可以提高对指定应用程序采集得到的运行数据的完整性。

在本申请所提供的实施例中,应该理解到,所揭露的装置、系统和方法,也可以通过其它的方式实现。以上所描述的装置、系统和方法实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

相关技术
  • 程序运行检测方法、装置、异构电子设备及可读存储介质
  • 程序运行状态监控方法、装置、电子设备及可读存储介质
技术分类

06120113148698