设备性能参数数据分析方法及装置与流程

文档序号:17262868发布日期:2019-03-30 09:47阅读:703来源:国知局
设备性能参数数据分析方法及装置与流程

本发明涉及数据分析技术领域,尤其涉及一种设备性能参数数据分析方法及装置。



背景技术:

目前业内现有的数据分析工具对于设备的性能参数数据的监视与采集等,都只关注采集、存储以及简单的实时查看,例如对cpu占用率数据的采集、存储以及简单的实时查看,尚未见到对设备性能参数数据如cpu占用率数据进行全面分析的方法和装置。而在实际工作和生活中,仅仅能查看cpu占用率实时数据,参考价值有限,并不能很好的满足用户需求。因此,亟需提出一种能够对cpu占用率数据进行全面分析的方法和工具。



技术实现要素:

本发明提供的技术方案分进程和线程两个层面,从多个角度对设备性能参数数据进行分析,以cpu占用率数据为例,例如通过针对目标进程、目标线程的cpu占用率数据,从单个目标进程的cpu占用率表、各个目标进程的cpu占用率多色折线图、各个目标进程的cpu占用率饼状图、多个目标进程的cpu占用率汇总分析、多个目标进程的cpu占用率对照表和柱状图等几个方面,对数据进行全面解析。

第一方面,本发明实施例提供一种设备性能参数数据分析方法,包括:

接收第一用户指令,确定待分析对象;

获取性能参数数据记录;

根据确定的待分析对象和性能参数数据记录,生成对待分析对象的分析结果存储和/或输出。

第二方面,本发明实施例提供一种设备性能参数数据分析装置,包括:

待分析对象获取模块,用于接收第一用户指令,确定待分析对象;

性能数据记录获取模块,用于获取性能参数数据记录;

数据分析模块,用于根据确定的待分析对象和性能参数数据记录,生成对待分析对象的分析结果存储和/或输出。

第三方面,本发明实施例提供一种存储介质,所述存储介质中存储有一个或多个包括执行指令的程序,所述执行指令能够被电子设备(包括但不限于计算机,服务器,或者网络设备等)读取并执行,以用于执行本发明上述任一项设备性能参数数据分析方法。

第四方面,提供一种电子设备,其包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明上述任一项设备性能参数数据分析方法。

本发明实施例的有益效果在于:根据获取待分析对象的性能参数数据从多个角度对该对象进行全面分析,特别是当性能参数数据为cpu占用率时,能够解决cpu占用率数据分析问题,帮助研发人员发现和分析应用程序cpu占用方面的缺陷。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明的一实施方式的设备性能参数数据分析方法流程图;

图2为本发明的又一实施方式的设备性能参数数据分析方法流程图;

图3为本发明的一实施方式的设备性能参数数据分析装置原理框图;

图4为本发明的电子设备的一实施例的结构示意图;

图5为发明的一实施方式的设备性能参数数据分析折线图;

图6为发明的一实施方式的设备性能参数数据分析饼状图;

图7为发明的右一实施方式的设备性能参数数据分析折线图;

图8为发明的一实施方式的设备性能参数数据分析柱状图;

图9为本发明的一实施方式的设备性能参数数据装置应用界面。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、元件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

在本发明中,“模块”、“装置”、“系统”等指应用于计算机的相关实体,如硬件、硬件和软件的组合、软件或执行中的软件等。详细地说,例如,元件可以、但不限于是运行于处理器的过程、处理器、对象、可执行元件、执行线程、程序和/或计算机。还有,运行于服务器上的应用程序或脚本程序、服务器都可以是元件。一个或多个元件可在执行的过程和/或线程中,并且元件可以在一台计算机上本地化和/或分布在两台或多台计算机之间,并可以由各种计算机可读介质运行。元件还可以根据具有一个或多个数据包的信号,例如,来自一个与本地系统、分布式系统中另一元件交互的,和/或在因特网的网络通过信号与其它系统交互的数据的信号通过本地和/或远程过程来进行通信。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”,不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本发明实施例中的设备性能参数数据分析方法及装置应用于任何有性能参数分析需求的终端设备上,该智能终端上配置有显示屏或者该终端设备能够投影出显示界面用于用户进行交互操作,例如,智能电视、智能手机、平板电脑、pc、智能家居、投影仪等任何智能硬件,本发明对此不作限定。

另外,在具体应用中,本领域技术人员可以参照本发明构思对其他性能参数数据进行分析,下述实施例虽然以cpu占用率数据作为示例进行阐述,但本领域技术人员应当理解,该发明构思的适用并不局限于此,当需要进行分析的性能参数数据为其他时,只需要根据其他性能参数数据的特征进行适应性调整即可实现基于相同构思的数据分析。

如图1所示,本发明的实施例提供设备性能参数数据分析方法流程图。如图1所示,本实施例以从目标进程角度进行分析为例,在本实施例中包括如下步骤:

步骤s101:接收第一用户指令,确定待分析对象。当用户想对当前的运行的设备的数据进行分析时会发出指令,该分析对象可以为某一设备的进程或线程。

示例性地,用户首先在如图9所示的本装置操作界面,输入要解析的若干个目标进程名提交,那么就可以在提交后接收到第一用户指令,确定待分析对象为输入的目标进程名对应的目标进程。

在一些实施例中,在输入目标进程的同时,还可在操作界面勾选对前n个目标进程进行汇总分析。

步骤s102:获取性能参数数据记录。其中,性能参数数据记录为性能参数数据文件,性能参数数据的数据文件由管理人员预先配置性能参数数据文件,并且通过设备实时循环获取各待分析对象的性能参数数据,存储至性能参数数据文件,以形成性能参数数据记录。对确定的待分析对象获取其性能参数数据记录,可以根据设备自带指令的(如linux和android系统自带的top指令),获取该设备的目标进程或线程的cpu占用率数据,示例性地,使用设备自带指令(如linux和android系统自带的top指令),定时循环获取多个目标进程(即待分析对象)的cpu占用率数据,并将结果存储到本地文件,形成性能参数数据记录(即本地文件中的数据记录)。

应该理解的是本方法主要以目标进程的cpu占用率数据进行分析,但是并不局限于该类型的数据分析,还可以根据用户需求进行拓展。

步骤s103:根据确定的待分析对象和性能参数数据记录,生成对待分析对象的分析结果存储和/或输出。

示例性地,当根据待分析对象对性能参数数据记录进行解析,会生成各待分析对象的性能参数数据表。在本实施例中以性能参数数据为cpu占有率为例,实现为:

首先,为当前设备的各目标进程分别创建一张表格,在该表格的首个空格中输入要查询的目标设备的进程名称,即前述获取的待分析对象。

接着,从当前设备的性能参数数据记录中获取相应数据以形成各待分析对象的性能参数数据表,即cpu占有率表:读取存储有当前设备的性能参数数据记录的文件,从首行开始读取、并轮询该文件,提取每行的数据依次写入相应的性能参数数据表的各行中;其中,在具体实现时,在逐行读取目标设备的数据文件时,会依次判断其是否包含当前由用户输入的目标进程名称(即待分析对象的名称),或者判断其是否为数据标题行(例如:top指令的数据标题行类似“pidprcpu%s#thrvssrsspcyuidname”的形式);如果在当前数据行中查找到当前目标进程名称,则提取出cpu占用率数据所在列的数值(例如通过关键词匹配的方式),写入目标进程名称对应的性能参数数据表的第1列中(即写入与之匹配的待分析对象的性能参数数据表的相应行的第1列中);当读取到数据标题行时,如果仍然没有查找到当前目标进程名称的数据,则表格写入一个空行;如此逐行读取,直至读到目标设备的性能参数数据记录文件的结尾。这样就形成了一个性能参数数据表。其中,需要说明的是,上述的数据标题行为新一段数据的起始位置,因此,当在一段数据中没有找到相应目标进程的性能参数数据时,需要在表格写入一个空行。

根据各待分析对象的性能参数数据表就可以生成各待分析对象的性能数据折线统计图输出。具体实现为:

调用已经完成的性能参数数据表,从表格第2行开始,逐行读取第1列的数值。设当前行数为n,则每次读取到一个性能参数数值s(如cpu占用率的值),则添加坐标点(n,s)到折线图中;如果读取到空值,则添加一个断点到折线图中,直至下一次重新读到数值,则取消断点并更换折线颜色,这样就可以得到如图5所示的折线图。其中,添加断点的优点是可以直观看出cpu占用率的中断过程,以便判断该目标设备的进程是否存在重启过程。

在一些实施例中,在生成折线图的同时,还可以根据该折线图的全部数值,统计cpu占用率的最大值、最小值和平均值,标注在折线图旁边。

在优选实施方式中,由于仅靠某个目标进程的cpu占用率折线图曲线,以及最大值、最小值和平均值,并不能完全展示出数值的分布比例,所以还可以根据各待分析对象的性能参数数据表生成各待分析对象的性能数据饼状统计图输出,如图6所示,从而可以更准确反映cpu占用率数值的分布比例,具体实现为:在获取性能参数数据表时,通过对数据表每列数据的判断,根据预设的分布区间将各数据分别统计,得出分布在各区间内的数值个数,根据对应的分布区间和数值个数就可以得到具体的饼状图。

图2示意性地显示了根据本发明又一实施方式的设备性能参数数据分析方法流程图。同样以待分析对象为目标进程、性能参数为cpu占用率为例进行说明,如图2所示,本实施例包括如下步骤:

由于如下两点原因,在分析设备的进程的cpu占用率时,还需关注一组进程在同一时刻下的cpu占用情况:

1.目标设备的进程是运行在系统中的,而系统中其他进程的cpu占用会影响到目标进程的cpu使用分配;

2.有时被测应用程序,就是由一组进程(而非单个进程)共同配合工作的。

所以就需要对当前多个目标设备的进程进行汇总分析,则需要进行多个目标设备进程的cpu占用率汇总分析。

步骤s201:根据接收到的第一用户指令或接收到的第二用户指令,确定待分析对象和汇总对象参数。其实现方式与步骤s101基本相同,不同之处在于接收到用户指令中除了包括待分析对象外,还包括了对多个目标进程对象进行汇总分析的参数指令,因而通过该用户指令能够确定汇总对象参数,即需要进行汇总的目标进程对象。

步骤s202:获取性能参数数据记录。获取方式可以参照步骤s102所示,不同之处仅在于,在本实施例中,获取的是确定的汇总对象的性能参数数据记录。

步骤s203:根据确定的待分析对象和性能参数数据记录,生成对待分析对象的分析结果,具体实现为,根据待分析对象对性能参数数据记录进行解析,生成各待分析对象的性能参数数据表。其实现方式可以参照步骤s103的生成性能参数是数据表的方法,不同之处在于,本实施例在生成性能参数数据表之后,还根据汇总对象参数,从待分析对象中确定待汇总对象,并根据待汇总对象的性能参数数据表生成汇总参数数据表,从而根据生成的汇总参数数据表生成待汇总对象的汇总统计图输出。

示例性地,实现方式为:创建一个汇总参数数据表,依次从待汇总对象的性能参数数据表中顺序读取第1行到行尾的所有cpu占用率数据,将结果写到汇总参数数据表中;同时汇总分析表中增加一列,从第二行开始将n个需要汇总的待分析对象即目标进程的cpu占用率进行求和,每计算出一次求和,添加一个数值点到折线图中,最终得出汇总cpu占用率曲线如图7所示。

优选地,在一些实施例中,还可以根据汇总参数数据表中求和列的数值,统计出cpu占用率的最大值、最小值和平均值,标注在折线图旁边。另外,通过本汇总参数数据表中的各个汇总对象的数据列的横向对比,还可以直观查看某一个采样时刻下,各个目标进程各自占用的cpu占用率。

在优选实施方式中,根据确定的待分析对象和性能参数数据记录,生成对待分析对象的分析结果还可以包括:根据各待分析对象的性能参数数据表生成待分析对象的性能对照表,根据性能对照表生成待分析对象的分析对照图输出。示例性,根据各待分析对象的性能参数数据表生成待分析对象的性能对照表具体实现方式可以为:创建性能对照表,在性能对照表的第1行的4个单元格依次写入“process、cpumax(%)、cpumin(%)、cpuavg(%)”标题;依次读取每个待分析目标进程的cpu占用率表(即各待分析对象的性能参数数据表),从对照表第2行开始,第1列写入cpu占用率表第1行第1列的目标进程名称,第2、3、4列分别写入cpu占用率表统计出的相应目标进程的cpu占用率最大值、最小值和平均值。由此形成的性能对照表中,每一行即为一个目标进程的性能参数数据的最大值、最小值和平均值。

在一些实施例中,还可以根据生成的性能对照表自动生成柱状图进行比较,示例性地可以是通过如下方式生成柱状图:以性能对照表中的第1列为横坐标,分别以第2、3、4列为纵坐标,绘cpu占用率最大值、最小值和平均值的柱形图,示例性地,图8示出了各待分析对象(即目标进程)的平均值的柱状图。

通过对多个目标进程进行汇总或对照分析,可以实现对多个目标设备的进程对象上的设备cpu占用率进行监控。

对于以线程为分析对象的设备性能参数数据分析方法,其实现方法与上述以进程为分析对象的实现过程基本相同,不同之处在于,当待分析的目标对象为多个线程时,多个线程中可能包含有重名的线程,因此,在根据性能参数数据记录进行处理生成各目标线程的性能参数数据表时,需要注意对重名的情况进行筛选,并且需要将多个重名的线程的cpu占用率数值累加起来作为某个目标线程的最终的cpu占用率数值。

图3示意性地显示了根据本发明一实施方式的设备性能参数数据分析装置原理框图,如图3所示,

该设备性能参数数据分析装置3包括:待分析对象获取模块301、性能数据记录获取模块302和数据分析模块303。

待分析对象获取模块301用于接收第一用户指令,确定待分析对象,即目标设备线程对象,可以由图9的表格示意,由用户手动输出。性能数据记录获取模块302用于获取性能参数数据记录,获取的方式可以参照上述方法部分。数据分析模块303用于根据确定的待分析对象和性能参数数据记录,生成对待分析对象的分析结果存储和/或输出。分析结果包括各待分析对象的性能参数数据表、各待分析对象的性能数据统计图、待分析对象的性能对照表、待分析对象的分析对照图、汇总参数数据表、和/或待汇总对象的汇总统计图。性能数据统计图、分析对照图和汇总统计图可以实现为多色折线图、饼状图或柱状图。上述图表的生成方式可以参照方法部分的描述,在此不进行赘述。

由此,根据本发明提供的装置可以实现通过待分析对象的性能参数数据从多个角度对该对象进行全面分析,特别包含了cpu占用率的分析,从而解决了cpu占用率数据分析问题,帮助研发人员发现和分析应用程序cpu占用方面的缺陷。

在一些实施例中,本发明实施例提供一种非易失性计算机可读存储介质,所述存储介质中存储有一个或多个包括执行指令的程序,所述执行指令能够被电子设备(包括但不限于计算机,服务器,或者网络设备等)读取并执行,以用于执行本发明上述任一项设备性能参数数据分析方法。

在一些实施例中,本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述任一项设备性能参数数据分析方法。

在一些实施例中,本发明实施例还提供一种电子设备,其包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行设备性能参数数据分析方法。

在一些实施例中,本发明实施例还提供一种存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时设备性能参数数据分析方法。

上述本发明实施例的设备性能参数数据分析装置可用于执行本发明实施例的设备性能参数数据分析方法,并相应的达到上述本发明实施例的实现设备性能参数数据分析方法所达到的技术效果,这里不再赘述。本发明实施例中可以通过硬件处理器(hardwareprocessor)来实现相关功能模块。

图4是本申请另一实施例提供的执行设备性能参数数据分析方法的电子设备的硬件结构示意图,如图4所示,该设备包括:

一个或多个处理器410以及存储器420,图4中以一个处理器410为例。

执行设备性能参数数据分析方法的设备还可以包括:输入装置430和输出装置440。

处理器410、存储器420、输入装置430和输出装置440可以通过总线或者其他方式连接,图4中以通过总线连接为例。

存储器420作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的设备性能参数数据分析方法对应的程序指令/模块。处理器410通过运行存储在存储器420中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例设备性能参数数据分析方法。

存储器420可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据设备性能参数数据分析装置的使用所创建的数据等。此外,存储器420可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器420可选包括相对于处理器410远程设置的存储器,这些远程存储器可以通过网络连接至设备性能参数数据分析装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

输入装置430可接收输入的数字或字符信息,以及产生与设备性能参数数据分析装置的用户设置以及功能控制有关的信号。输出装置440可包括显示屏等显示设备。

所述一个或者多个模块存储在所述存储器420中,当被所述一个或者多个处理器410执行时,执行上述任意方法实施例中的设备性能参数数据分析方法。

上述产品可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请实施例所提供的方法。

本申请实施例的电子设备以多种形式存在,包括但不限于:

(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iphone)、多媒体手机、功能性手机,以及低端手机等。

(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:pda、mid和umpc设备等,例如ipad。

(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如ipod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。

(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。

(5)其他具有数据交互功能的电子装置。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1