CN109753405A - 应用资源消耗的检测方法、装置、存储介质和电子设备 - Google Patents
应用资源消耗的检测方法、装置、存储介质和电子设备 Download PDFInfo
- Publication number
- CN109753405A CN109753405A CN201811481730.2A CN201811481730A CN109753405A CN 109753405 A CN109753405 A CN 109753405A CN 201811481730 A CN201811481730 A CN 201811481730A CN 109753405 A CN109753405 A CN 109753405A
- Authority
- CN
- China
- Prior art keywords
- application
- group
- resource
- application group
- consumption
- 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.)
- Granted
Links
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本公开涉及一种应用资源消耗的检测方法、装置、存储介质和电子设备,该方法包括:根据目标调用关系集合将系统中的目标应用集合划分为多个应用组,该目标调用关系集合包含多个调用关系,每个该调用关系用于记录互相之间存在调用操作的应用;根据每个应用组的资源消耗量和该系统的总资源消耗量的相关性,在该多个应用组中确定与该系统的相关性最高的第一应用组,该资源消耗量为应用组中的所有应用所消耗资源的总量;当该第一应用组的资源消耗量满足预设阈值条件时,确定该第一应用组为消耗资源过高的目标应用组。能够根据应用间的调用关系以及应用与系统资源消耗的相关性确定资源消耗过高的多个应用,提高资源消耗检测和追踪的准确性。
Description
技术领域
本公开涉及系统管理领域,具体地,涉及一种应用资源消耗的检测方法、装置、存储介质和电子设备。
背景技术
CPU资源、内存资源、磁盘I/O(Input/Output,输入/输出)资源以及网络I/O资源等都是重要的计算机系统资源,是保证应用正常运行的基础。在实际开发环境中,经常会遇到其中一种或者多种计算机资源耗尽,导致系统中运行的应用不能正常运行的情况。因此,对系统资源消耗的监测和处理是至关重要的。
相关技术中,通常需要开发人员或者运维人员通过系统工具查看各个应用对系统资源的消耗情况,再凭借开发人员或者运维人员的经验,确定过度消耗资源的应用。然而,在现实开发和运维环境中,应用不是独立运行的,各个应用相互之间存在着调用关系。如此,上述的人工查看和判断应用资源消耗的方法,忽略了应用间的调用关系对资源消耗的影响,进而导致无法准确地追踪到资源过度消耗的问题应用。
发明内容
为克服相关技术中存在的问题,本公开的目的是提供一种应用资源消耗的检测方法、装置、存储介质和设备。
为了实现上述目的,根据本公开实施例的第一方面,提供一种应用资源消耗的检测方法,所述方法包括:
根据目标调用关系集合将系统中的目标应用集合划分为多个应用组,所述目标调用关系集合包含多个调用关系,每个所述调用关系用于记录互相之间存在调用操作的应用;
根据每个应用组的资源消耗量和所述系统的总资源消耗量的相关性,在所述多个应用组中确定与所述系统的相关性最高的第一应用组,所述资源消耗量为应用组中的所有应用所消耗资源的总量;
当所述第一应用组的资源消耗量满足预设阈值条件时,确定所述第一应用组为消耗资源过高的目标应用组。
可选的,所述调用关系为两个应用之间的调用关系,每个所述调用关系还用于记录所述两个应用之间的流量值,所述方法还包括:
当所述第一应用组的资源消耗量不满足所述预设阈值条件时,删除所述第一应用组对应的第一调用关系集合中的一个或多个第一调用关系,以得到第二调用关系集合,所述第一调用关系对应的流量值小于预设的流量阈值;
将第一应用组作为所述目标应用集合,将所述第二调用关系集合作为所述目标调用关系集合,重复执行从所述根据目标调用关系集合将系统中的目标应用集合划分为多个应用组,到所述根据每个应用组的资源消耗量和所述系统的总资源消耗量的相关性,在所述多个应用组中确定与所述系统的相关性最高的第一应用组的步骤,直至所述第一应用组的资源消耗量满足所述预设阈值条件,以确定所述目标应用组。
可选的,将所述系统中的所有应用确定为所述目标应用集合,所述根据目标调用关系集合将系统中的目标应用集合划分为多个应用组,包括:
获取所述系统中的所有应用,作为所述目标应用集合;
获取所述目标应用集合中的所有所述调用关系,作为所述目标调用关系集合;
根据预设的前驱节点查找算法以及所述目标调用关系集合,将所述目标应用集合划分为所述多个应用组。
可选的,所述根据每个应用组的资源消耗量和所述系统的总资源消耗量,在所述多个应用组中确定与所述系统的资源消耗相关性最高的第一应用组,包括:
获取所述每个应用组的资源消耗量数组和所述系统的总资源消耗量数组,所述每个应用组的资源消耗量数组为包含以预设时间间隔采集的预设个数的所述资源消耗量的向量,所述总资源消耗量为包含以所述预设时间间隔采集的所述预设个数的所述总资源消耗量的向量;
将所述每个应用组的资源消耗量数组、所述系统的总资源消耗量数组、以及所述预设个数作为皮尔森相关系数计算模型的输入,以获取所述皮尔森相关系数计算模型输出的所述每个应用组与所述系统的资源消耗相关系数;
获取具备最大资源消耗相关系数的应用组,作为所述第一应用组。
可选的,所述当所述第一应用组的资源消耗量满足预设阈值条件时,确定所述第一应用组为消耗资源过高的目标应用组,包括:
获取所述第一应用组的资源消耗量数组的平均值,所述平均值为第一应用组的资源消耗量数组所包含的所述预设个数的资源消耗量的平均值;
当所述平均值大于预设的资源消耗量阈值时,确定所述第一应用组的资源消耗量满足所述预设阈值条件;
确定所述第一应用组为所述目标应用组。
根据本公开实施例的第二方面,提供一种应用资源消耗的检测装置,所述装置包括:
应用组划分模块,用于根据目标调用关系集合将系统中的目标应用集合划分为多个应用组,所述目标调用关系集合包含多个调用关系,每个所述调用关系用于记录互相之间存在调用操作的应用;
相关性确定模块,用于根据每个应用组的资源消耗量和所述系统的总资源消耗量的相关性,在所述多个应用组中确定与所述系统的相关性最高的第一应用组,所述资源消耗量为应用组中的所有应用所消耗资源的总量;
应用组确定模块,用于当所述第一应用组的资源消耗量满足预设阈值条件时,确定所述第一应用组为消耗资源过高的目标应用组。
可选的,所述调用关系为两个应用之间的调用关系,每个所述调用关系还用于记录所述两个应用之间的流量值,所述装置还包括:
调用关系筛选模块,用于当所述第一应用组的资源消耗量不满足所述预设阈值条件时,删除所述第一应用组对应的第一调用关系集合中的一个或多个第一调用关系,以得到第二调用关系集合,所述第一调用关系对应的流量值小于预设的流量阈值;
循环执行模块,用于将第一应用组作为所述目标应用集合,将所述第二调用关系集合作为所述目标调用关系集合,重复执行从所述根据目标调用关系集合将系统中的目标应用集合划分为多个应用组,到所述根据每个应用组的资源消耗量和所述系统的总资源消耗量的相关性,在所述多个应用组中确定与所述系统的相关性最高的第一应用组的步骤,直至所述第一应用组的资源消耗量满足所述预设阈值条件,以确定所述目标应用组。
可选的,将所述系统中的所有应用确定为所述目标应用集合,所述应用组划分模块,包括:
应用获取子模块,用于获取所述系统中的所有应用,作为所述目标应用集合;
调用关系获取子模块,用于获取所述目标应用集合中的所有所述调用关系,作为所述目标调用关系集合;
应用组划分子模块,用于根据预设的前驱节点查找算法以及所述目标调用关系集合,将所述目标应用集合划分为所述多个应用组。
可选的,所述相关性确定模块,包括:
消耗量获取子模块,用于获取所述每个应用组的资源消耗量数组和所述系统的总资源消耗量数组,所述每个应用组的资源消耗量数组为包含以预设时间间隔采集的预设个数的所述资源消耗量的向量,所述总资源消耗量为包含以所述预设时间间隔采集的所述预设个数的所述总资源消耗量的向量;
相关系数计算子模块,用于将所述每个应用组的资源消耗量数组、所述系统的总资源消耗量数组、以及所述预设个数作为皮尔森相关系数计算模型的输入,以获取所述皮尔森相关系数计算模型输出的所述每个应用组与所述系统的资源消耗相关系数;
相关性确定子模块,用于获取具备最大资源消耗相关系数的应用组,作为所述第一应用组。
可选的,所述应用组确定模块,包括:
平均值获取子模块,用于获取所述第一应用组的资源消耗量数组的平均值,所述平均值为第一应用组的资源消耗量数组所包含的所述预设个数的资源消耗量的平均值;
平均值比对子模块,用于当所述平均值大于预设的资源消耗量阈值时,确定所述第一应用组的资源消耗量满足所述预设阈值条件;
应用组确定子模块,用于确定所述第一应用组为所述目标应用组。
根据本公开实施例的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本公开实施例第一方面提供的应用资源消耗的检测方法的步骤。
根据本公开实施例的第四方面,提供一种电子设备,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现本公开实施例第一方面提供的应用资源消耗的检测方法的步骤。
通过上述技术方案,本公开能够根据目标调用关系集合将系统中的目标应用集合划分为多个应用组,该目标调用关系集合包含多个调用关系,每个该调用关系用于记录互相之间存在调用操作的应用;根据每个应用组的资源消耗量和该系统的总资源消耗量的相关性,在该多个应用组中确定与该系统的相关性最高的第一应用组,该资源消耗量为应用组中的所有应用所消耗资源的总量;当该第一应用组的资源消耗量满足预设阈值条件时,确定该第一应用组为消耗资源过高的目标应用组。能够根据应用间的调用关系以及应用与系统资源消耗的相关性确定资源消耗过高的多个应用,相比现有技术中通过查看单个应用对系统资源的消耗情况由运维人员确定过度消耗资源的应用的方法,本公开提供的上述技术方案能够考虑到应用间的调用关系对资源消耗的影响,从而能够提高资源消耗检测和追踪的准确性。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1是根据一示例性实施例示出的一种应用资源消耗的检测方法的流程图;
图2是根据图1所示实施例示出的另一种应用资源消耗的检测方法的流程图;
图3是根据图2所示实施例示出的一种应用分组方法的流程图;
图4是根据图2所示实施例示出的一种资源消耗相关性确定方法的流程图;
图5是根据图2所示实施例示出的一种高资源消耗应用确定方法的流程图;
图5a和图5b是根据一示例性实施例示出的一种应用组划分流程的示意图;
图6是根据一示例性实施例示出的一种应用资源消耗的检测装置的框图;
图7是根据图6所示实施例示出的另一种应用资源消耗的检测装置的框图;
图8是根据图7所示实施例示出的一种应用组划分模块的框图;
图9是根据图7所示实施例示出的一种相关性确定模块的框图;
图10是根据图7所示实施例示出的一种应用组确定模块的框图;
图11是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的一种应用资源消耗的检测方法的流程图,如图1所示,该方法包括:
步骤101,根据目标调用关系集合将系统中的目标应用集合划分为多个应用组。
其中,该系统为能够运行多个应用的服务器或者客户端系统。相应地,本公开各个实施例中所涉及的应用可以为上述服务器或客户端系统中的系统应用,因此上述的目标应用集合中的应用例如可以包括:Tomcat、Mysql、Hbase、hadoop、Prometheus以及Zookeeper等系统应用中的部分或全部,其中,Tomcat为服务器开发应用,Mysql和Hbase为数据库管理应用,hadoop为分布式文件管理应用,Prometheus是一种开源的监控系统的应用,Zookeeper是一种分布式应用程序协调服务的应用,这些系统应用可用于支持前台应用和系统的运行和数据读写。另外,上述列举的各个应用均为示例性的,包括但不限于此。该目标调用关系集合包含多个调用关系,每个该调用关系用于记录互相之间存在调用操作的应用。可以通过系统内各个应用的接口之间的通信数据获取该调用关系。获取到的该调用关系可以以调用关系表的形式进行储存,并且在该调用关系表中为每个调用关系标注特定的ID(Identification,识别号)。
示例地,该目标调用关系集合对应的该调用关系表可以如下列表1所示:
表1
ID | 应用 | 应用 |
1 | A | B |
2 | A | D |
3 | C | F |
其中,应用A分别与应用B和应用D存在调用关系,应用C与应用F存在调用关系。根据该目标调用关系集合,系统中的目标应用集合被分为两个应用组,其中,应用A、应用B和应用D为一组,应用C和应用F为一组。需要说明的是,当该步骤在某个系统中首次被执行时,该目标应用集合包含该系统中的所有应用;或者,该目标应用集合还可以包括通过该步骤101、下列步骤102和104缩小检测范围后所确定的一个或多个应用。
步骤102,根据每个应用组的资源消耗量和该系统的总资源消耗量的相关性,在该多个应用组中确定与该系统的相关性最高的第一应用组。
其中,该资源消耗量为应用组中的所有应用所消耗资源的总量。其中的资源可以为CPU资源、内存资源、磁盘I/O(Input/Output,输入/输出)资源以及网络IO资源等系统资源中的任意一种。本实施例所提供的检测方法对于每种资源进行检测和问题追踪的步骤相同,并且可以同时对多种资源的消耗情况进行检测和问题追踪。
示例地,当该系统出现总资源消耗量过高的问题时,需要确定该问题是由哪个或者哪些应用过度消耗而导致的。此时,可以通过每个应用组的资源消耗量(实际计算中为与时间对应的向量)和该系统的总资源消耗量的相关性,将问题的根源锁定在与系统相关性最高的一个或多个应用(即该第一应用组)。
步骤103,当该第一应用组的资源消耗量满足预设阈值条件时,确定该第一应用组为消耗资源过高的目标应用组。
示例地,该预设阈值条件为根据经验和专业知识预先设定的阈值条件。在确定消耗资源过高的目标应用组之后,可以向系统的开发人员或运维人员输出该目标应用组,以供开发人员或运维人员对该目标应用组中的应用进行查看和进一步的处理。
综上所述,本公开能够根据目标调用关系集合将系统中的目标应用集合划分为多个应用组,该目标调用关系集合包含多个调用关系,每个该调用关系用于记录互相之间存在调用操作的应用;根据每个应用组的资源消耗量和该系统的总资源消耗量的相关性,在该多个应用组中确定与该系统的相关性最高的第一应用组,该资源消耗量为应用组中的所有应用所消耗资源的总量;当该第一应用组的资源消耗量满足预设阈值条件时,确定该第一应用组为消耗资源过高的目标应用组。能够根据应用间的调用关系以及应用与系统资源消耗的相关性确定资源消耗过高的多个应用,能够考虑到应用间的调用关系对资源消耗的影响,从而能够提高资源消耗检测和追踪的准确性。
图2是根据图1所示实施例示出的另一种应用资源消耗的检测方法的流程图,其中,该调用关系为两个应用之间的调用关系,每个该调用关系还用于记录该两个应用之间的流量值,如图2所示,在上述步骤102之后,该方法还可以包括:
步骤104,当该第一应用组的资源消耗量不满足该预设阈值条件时,删除该第一应用组对应的第一调用关系集合中的一个或多个第一调用关系,以得到第二调用关系集合。
其中,该第一调用关系对应的流量值小于预设的流量阈值。该流量值为两个应用之间的调用操作所产生的流量值。
示例地,当该第一应用组的资源消耗量不满足该预设阈值条件时,也就是,当通过上述步骤101至103无法锁定导致该系统的总资源消耗量过高的应用组时,可以将该第一应用组作为该目标应用集合(该目标应用集合中原本包括系统中的所有应用),即缩小应用资源消耗的检测范围。并通过两个应用之间的调用操作所产生的流量值,删除该第一应用组对应的第一调用关系集合中的一个或多个第一调用关系,以排除调用次数较少、流量较低的调用关系对后续的应用资源消耗的检测的影响。该过程可以通过代码实现,其中,n*为该第一应用组,为该第一调用关系集合,e.flow为该第一调用关系集合中的任一调用关系对应的流量值,当e.flow小于β(即预设的流量阈值)时,删除对应的e(即第一调用关系)。之后,再在下列步骤105中,将第一应用组作为该目标应用集合,将该第二调用关系集合作为该目标调用关系集合,重复执行上述步骤101和102,直至该第一应用组的资源消耗量满足该预设阈值条件。可以理解的是,上述过程中也可能存在该第一应用组的资源消耗量一直无法满足该预设阈值条件的情况,此时则可以确定该系统出现的总资源消耗量过高的问题与系统内的应用无关。
步骤105,将第一应用组作为该目标应用集合,将该第二调用关系集合作为该目标调用关系集合,重复执行从该根据目标调用关系集合将系统中的目标应用集合划分为多个应用组,到该根据每个应用组的资源消耗量和该系统的总资源消耗量的相关性,在该多个应用组中确定与该系统的相关性最高的第一应用组的步骤,直至该第一应用组的资源消耗量满足该预设阈值条件,以确定该目标应用组。
图3是根据图2所示实施例示出的一种应用分组方法的流程图,如图3所示,将该系统中的所有应用确定为该目标应用集合,该步骤101,可以包括:
步骤1011,获取该系统中的所有应用,作为该目标应用集合。
步骤1012,获取该目标应用集合中的所有调用关系,作为该目标调用关系集合。
步骤1013,根据预设的前驱节点查找算法以及该目标调用关系集合,将该目标应用集合划分为该多个应用组。
示例地,该应用分组过程实际上等同于对图(数据结构)中的节点的查找过程,其中,每个应用为一个节点,每个该调用关系为一个边,该预设的前驱节点查找算法的实现代码可以为:
其中,数组pre用于记录前驱节点,函数find用于查询前驱节点,该函数find可以表示为:
并且,在查询到前驱节点后,可以通过unify函数对查询到的节点进行合并,合并后的一个节点集合即为一个应用组。
图4是根据图2所示实施例示出的一种资源消耗相关性确定方法的流程图,如图4所示,该步骤102,可以包括:
步骤1021,获取上述每个应用组的资源消耗量数组和该系统的总资源消耗量数组。
其中,上述每个应用组的资源消耗量数组为包含以预设时间间隔采集的预设个数的该资源消耗量的向量,该总资源消耗量为包含以该预设时间间隔采集的该预设个数的该总资源消耗量的向量。
步骤1021,将上述每个应用组的资源消耗量数组、该系统的总资源消耗量数组、以及该预设个数作为皮尔森相关系数计算模型的输入,以获取该皮尔森相关系数计算模型输出的上述每个应用组与该系统的资源消耗相关系数。
示例地,在系统运行过程中,应用和系统对资源的消耗是不断变动的,因此,仅根据某一时刻的采集到的应用或者系统的资源消耗数据对相关性和资源过度消耗情况进行判断是没有意义的。因此,在本实施例中的应用资源消耗的检测方法启动后,需要分别对应用组和整个系统的资源消耗情况进行一段时间的监测,并收集每个预设时间间隔对应的应用组和系统的资源消耗数据,组成两个数组(即向量)。可以理解的是,对应用组的资源监测和对系统的资源监测需要发生在同一时段。具体地,例如,在1分钟内每隔1秒收集一次应用和系统的资源消耗量数据,则该预设个数为60。在一分钟后,该应用组的资源消耗量数组为包含每隔1秒采集的60个资源消耗量组成的向量,同样地,该总资源消耗量数组为包含每隔1秒采集的60个总资源消耗量组成的向量。
示例地,该皮尔森相关系数计算模型可以表示为下列函数(1):
其中,Pi表示上述多个应用组中第i个应用组与该系统的资源消耗相关系数,Ri表示该第i个应用组的资源消耗量数组,Rs表示系统的总资源消耗量数组,m表示上述的预设个数,m为数组中元素的个数。可以理解的是,该Ri为多个资源消耗量组成的数组,该Rs为多个总资源消耗量组成的数组。
步骤1023,获取具备最大资源消耗相关系数的应用组,作为该第一应用组。
示例地,可以通过下列函数(2)获取使函数(1)取得其最大值的所有自变量的集合(具备最大资源消耗相关系数的应用组):
其中,n*表示具备最大资源消耗相关系数的应用组,即第一应用组。
图5是根据图2所示实施例示出的一种高资源消耗应用确定方法的流程图,如图5所示,该步骤103,可以包括:
步骤1031,获取该第一应用组的资源消耗量数组的平均值。
其中,该平均值为第一应用组的资源消耗量数组所包含的该预设个数的资源消耗量的平均值。
步骤1032,当该平均值大于预设的资源消耗量阈值时,确定该第一应用组的资源消耗量满足该预设阈值条件。
步骤1033,确定该第一应用组为该目标应用组。
图5a和图5b是根据一示例性实施例示出的一种应用组划分的示意图,如图5a所示,系统中当前包含16个应用(即上述的目标应用集合)以及13个调用关系(即上述的目标调用关系集合)。根据这13个调用关系,这16个应用被划分为N1、N2和N3这三个应用组。
示例地,可以分别将应用组N1、N2和N3中的每个应用的CPU使用率相加,获得该应用组对应的CPU使用率总和(资源消耗量),并同时获取同一时段的系统CPU使用率(总资源消耗量)。之后,通过上述的方程(2)确定与该系统的相关性最高的第一应用组(例如,应用组N2)。当该应用组N2的资源消耗量的平均值大于预设的资源消耗量阈值时,确定该应用组N2为消耗资源过高的目标应用组。或者,当该应用组N2的资源消耗量的平均值小于预设的资源消耗量阈值时,如图5b所示,删除该应用组N2对应的第一调用关系集合中流量值小于预设的流量阈值的第一调用关系,以得到第二调用关系集合。当该流量阈值为8KB时,应用C和应用D之间的调用关系,以及应用C与应用E之间的调用关系被删除。在删除这些调用关系后,将应用组N2作为上述的目标应用集合,依然采用上述的前驱节点查找方法将该应用组N2进一步地划分为应用组N2.1、N2.2以及N2.3,并对该应用组N2.1、N2.2以及N2.3进行同样的相关系数计算和资源消耗的判断步骤,直至划分出的某个应用组Nx的资源消耗量的平均值小于预设的资源消耗量阈值,进而确定该应用组Nx为消耗资源过高的目标应用组。
综上所述,本公开能够根据目标调用关系集合将系统中的目标应用集合划分为多个应用组,该目标调用关系集合包含多个调用关系,每个该调用关系用于记录互相之间存在调用操作的应用;根据每个应用组的资源消耗量和该系统的总资源消耗量的相关性,在该多个应用组中确定与该系统的相关性最高的第一应用组,该资源消耗量为应用组中的所有应用所消耗资源的总量;当该第一应用组的资源消耗量满足预设阈值条件时,确定该第一应用组为消耗资源过高的目标应用组。能够根据应用间的调用关系以及应用与系统资源消耗的相关性对应用的资源消耗进行检测,并根据资源消耗量逐级缩减应用检测的范围,直至确定与资源消耗相关性最大的多个应用,因此能够考虑到应用间的调用关系对资源消耗的影响,从而能够提高资源消耗检测和追踪的准确性。
图6是根据一示例性实施例示出的一种应用资源消耗的检测装置的框图,如图6所示,该装置600可以包括:
应用组划分模块610,用于根据目标调用关系集合将系统中的目标应用集合划分为多个应用组,该目标调用关系集合包含多个调用关系,每个该调用关系用于记录互相之间存在调用操作的应用;
相关性确定模块620,用于根据每个应用组的资源消耗量和该系统的总资源消耗量的相关性,在该多个应用组中确定与该系统的相关性最高的第一应用组,该资源消耗量为应用组中的所有应用所消耗资源的总量;
应用组确定模块630,用于当该第一应用组的资源消耗量满足预设阈值条件时,确定该第一应用组为消耗资源过高的目标应用组。
图7是根据图6所示实施例示出的另一种应用资源消耗的检测装置的框图,如图7所示,该调用关系为两个应用之间的调用关系,每个该调用关系还用于记录该两个应用之间的流量值,该装置600还包括:
调用关系筛选模块640,用于当该第一应用组的资源消耗量不满足该预设阈值条件时,删除该第一应用组对应的第一调用关系集合中的一个或多个第一调用关系,以得到第二调用关系集合,该第一调用关系对应的流量值小于预设的流量阈值;
循环执行模块650,用于将第一应用组作为该目标应用集合,将该第二调用关系集合作为该目标调用关系集合,重复执行从该根据目标调用关系集合将系统中的目标应用集合划分为多个应用组,到该根据每个应用组的资源消耗量和该系统的总资源消耗量的相关性,在该多个应用组中确定与该系统的相关性最高的第一应用组的步骤,直至该第一应用组的资源消耗量满足该预设阈值条件,以确定该目标应用组。
图8是根据图7所示实施例示出的一种应用组划分模块的框图,如图8所示,将该系统中的所有应用确定为该目标应用集合,该应用组划分模块610,包括:
应用获取子模块611,用于获取该系统中的所有应用,作为该目标应用集合;
调用关系获取子模块612,用于获取该目标应用集合中的所有调用关系,作为该目标调用关系集合;
应用组划分子模块613,用于根据预设的前驱节点查找算法以及该目标调用关系集合,将该目标应用集合划分为该多个应用组。
图9是根据图7所示实施例示出的一种相关性确定模块的框图,如图9所示,该相关性确定模块620,包括:
消耗量获取子模块621,用于获取所述每个应用组的资源消耗量数组和所述系统的总资源消耗量数组,所述每个应用组的资源消耗量数组为包含以预设时间间隔采集的预设个数的所述资源消耗量的向量,所述总资源消耗量为包含以所述预设时间间隔采集的所述预设个数的所述总资源消耗量的向量;
相关系数计算子模块622,用于针对于该多个应用组中的任一应用组,将该应用组的资源消耗量数组、该系统的总资源消耗量数组、以及该预设个数作为皮尔森相关系数计算模型的输入,以获取该皮尔森相关系数计算模型输出的该应用组与该系统的资源消耗相关系数;
相关性确定子模块623,用于获取具备最大资源消耗相关系数的应用组,作为该第一应用组。
图10是根据图7所示实施例示出的一种应用组确定模块的框图,如图10所示,该应用组确定模块630,包括:
平均值获取子模块631,用于获取该第一应用组的资源消耗量数组的平均值,该平均值为第一应用组的资源消耗量数组所包含的该预设个数的资源消耗量的平均值;
平均值比对子模块632,用于当该平均值大于预设的资源消耗量阈值时,确定该第一应用组的资源消耗量满足该预设阈值条件;
应用组确定子模块633,用于确定该第一应用组为该目标应用组。
综上所述,本公开能够根据目标调用关系集合将系统中的目标应用集合划分为多个应用组,该目标调用关系集合包含多个调用关系,每个该调用关系用于记录互相之间存在调用操作的应用;根据每个应用组的资源消耗量和该系统的总资源消耗量的相关性,在该多个应用组中确定与该系统的相关性最高的第一应用组,该资源消耗量为应用组中的所有应用所消耗资源的总量;当该第一应用组的资源消耗量满足预设阈值条件时,确定该第一应用组为消耗资源过高的目标应用组。能够根据应用间的调用关系以及应用与系统资源消耗的相关性对应用的资源消耗进行检测,并根据资源消耗量逐级缩减应用检测的范围,直至确定与资源消耗相关性最大的多个应用,能够考虑到应用间的调用关系对资源消耗的影响,从而能够提高资源消耗检测和追踪的准确性。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图11是根据一示例性实施例示出的一种电子设备1100的框图。如图11所示,该电子设备1100可以包括:处理器1101,存储器1102,多媒体组件1103,输入/输出(I/O)接口1104,以及通信组件1105。
其中,处理器1101用于控制该电子设备1100的整体操作,以完成上述的应用资源消耗的检测方法中的全部或部分步骤。存储器1102用于存储各种类型的数据以支持在该电子设备1100的操作,这些数据例如可以包括用于在该电子设备1100上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器1102可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件1103可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器1102或通过通信组件1105发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口1104为处理器1101和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件1105用于该电子设备1100与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(NearField Communication,简称NFC),2G、3G或4G,或它们中的一种或几种的组合,因此相应的该通信组件1105可以包括:Wi-Fi模块,蓝牙模块,NFC模块。
在一示例性实施例中,电子设备1100可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的应用资源消耗的检测方法。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,例如包括程序指令的存储器1102,上述程序指令可由电子设备1100的处理器1101执行以完成上述的应用资源消耗的检测方法。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,本领域技术人员在考虑说明书及实践本公开后,容易想到本公开的其它实施方案,均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。同时本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。本公开并不局限于上面已经描述出的精确结构,本公开的范围仅由所附的权利要求来限制。
Claims (10)
1.一种应用资源消耗的检测方法,其特征在于,所述方法包括:
根据目标调用关系集合将系统中的目标应用集合划分为多个应用组,所述目标调用关系集合包含多个调用关系,每个所述调用关系用于记录互相之间存在调用操作的应用;
根据每个应用组的资源消耗量和所述系统的总资源消耗量的相关性,在所述多个应用组中确定与所述系统的相关性最高的第一应用组,所述资源消耗量为应用组中的所有应用所消耗资源的总量;
当所述第一应用组的资源消耗量满足预设阈值条件时,确定所述第一应用组为消耗资源过高的目标应用组。
2.根据权利要求1所述的方法,其特征在于,所述调用关系为两个应用之间的调用关系,每个所述调用关系还用于记录所述两个应用之间的流量值,所述方法还包括:
当所述第一应用组的资源消耗量不满足所述预设阈值条件时,删除所述第一应用组对应的第一调用关系集合中的一个或多个第一调用关系,以得到第二调用关系集合,所述第一调用关系对应的流量值小于预设的流量阈值;
将第一应用组作为所述目标应用集合,将所述第二调用关系集合作为所述目标调用关系集合,重复执行从所述根据目标调用关系集合将系统中的目标应用集合划分为多个应用组,到所述根据每个应用组的资源消耗量和所述系统的总资源消耗量的相关性,在所述多个应用组中确定与所述系统的相关性最高的第一应用组的步骤,直至所述第一应用组的资源消耗量满足所述预设阈值条件,以确定所述目标应用组。
3.根据权利要求1所述的方法,其特征在于,将所述系统中的所有应用确定为所述目标应用集合,所述根据目标调用关系集合将系统中的目标应用集合划分为多个应用组,包括:
获取所述系统中的所有应用,作为所述目标应用集合;
获取所述目标应用集合中的所有所述调用关系,作为所述目标调用关系集合;
根据预设的前驱节点查找算法以及所述目标调用关系集合,将所述目标应用集合划分为所述多个应用组。
4.根据权利要求1所述的方法,其特征在于,所述根据每个应用组的资源消耗量和所述系统的总资源消耗量,在所述多个应用组中确定与所述系统的资源消耗相关性最高的第一应用组,包括:
获取所述每个应用组的资源消耗量数组和所述系统的总资源消耗量数组,所述每个应用组的资源消耗量数组为包含以预设时间间隔采集的预设个数的所述资源消耗量的向量,所述总资源消耗量为包含以所述预设时间间隔采集的所述预设个数的所述总资源消耗量的向量;
将所述每个应用组的资源消耗量数组、所述系统的总资源消耗量数组、以及所述预设个数作为皮尔森相关系数计算模型的输入,以获取所述皮尔森相关系数计算模型输出的所述每个应用组与所述系统的资源消耗相关系数;
获取具备最大资源消耗相关系数的应用组,作为所述第一应用组。
5.根据权利要求4所述的方法,其特征在于,所述当所述第一应用组的资源消耗量满足预设阈值条件时,确定所述第一应用组为消耗资源过高的目标应用组,包括:
获取所述第一应用组的资源消耗量数组的平均值,所述平均值为第一应用组的资源消耗量数组所包含的所述预设个数的资源消耗量的平均值;
当所述平均值大于预设的资源消耗量阈值时,确定所述第一应用组的资源消耗量满足所述预设阈值条件;
确定所述第一应用组为所述目标应用组。
6.一种应用资源消耗的检测装置,其特征在于,所述装置包括:
应用组划分模块,用于根据目标调用关系集合将系统中的目标应用集合划分为多个应用组,所述目标调用关系集合包含多个调用关系,每个所述调用关系用于记录互相之间存在调用操作的应用;
相关性确定模块,用于根据每个应用组的资源消耗量和所述系统的总资源消耗量的相关性,在所述多个应用组中确定与所述系统的相关性最高的第一应用组,所述资源消耗量为应用组中的所有应用所消耗资源的总量;
应用组确定模块,用于当所述第一应用组的资源消耗量满足预设阈值条件时,确定所述第一应用组为消耗资源过高的目标应用组。
7.根据权利要求6所述的装置,其特征在于,所述调用关系为两个应用之间的调用关系,每个所述调用关系还用于记录所述两个应用之间的流量值,所述装置还包括:
调用关系筛选模块,用于当所述第一应用组的资源消耗量不满足所述预设阈值条件时,删除所述第一应用组对应的第一调用关系集合中的一个或多个第一调用关系,以得到第二调用关系集合,所述第一调用关系对应的流量值小于预设的流量阈值;
循环执行模块,用于将第一应用组作为所述目标应用集合,将所述第二调用关系集合作为所述目标调用关系集合,重复执行从所述根据目标调用关系集合将系统中的目标应用集合划分为多个应用组,到所述根据每个应用组的资源消耗量和所述系统的总资源消耗量的相关性,在所述多个应用组中确定与所述系统的相关性最高的第一应用组的步骤,直至所述第一应用组的资源消耗量满足所述预设阈值条件,以确定所述目标应用组。
8.根据权利要求6所述的装置,其特征在于,将所述系统中的所有应用确定为所述目标应用集合,所述应用组划分模块,包括:
应用获取子模块,用于获取所述系统中的所有应用,作为所述目标应用集合;
调用关系获取子模块,用于获取所述目标应用集合中的所有所述调用关系,作为所述目标调用关系集合;
应用组划分子模块,用于根据预设的前驱节点查找算法以及所述目标调用关系集合,将所述目标应用集合划分为所述多个应用组。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-5中任一项所述方法的步骤。
10.一种电子设备,其特征在于,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现权利要求1-5中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811481730.2A CN109753405B (zh) | 2018-12-05 | 2018-12-05 | 应用资源消耗的检测方法、装置、存储介质和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811481730.2A CN109753405B (zh) | 2018-12-05 | 2018-12-05 | 应用资源消耗的检测方法、装置、存储介质和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109753405A true CN109753405A (zh) | 2019-05-14 |
CN109753405B CN109753405B (zh) | 2022-05-31 |
Family
ID=66402646
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811481730.2A Active CN109753405B (zh) | 2018-12-05 | 2018-12-05 | 应用资源消耗的检测方法、装置、存储介质和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109753405B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0711946D0 (en) * | 2007-06-20 | 2007-08-01 | Royal Bank Of Scotland Plc The | Resource consumption control apparatus and methods |
GB201220627D0 (en) * | 2012-11-16 | 2013-01-02 | Vodafone Ip Licensing Ltd | Mobile device application analysis |
CN103106131A (zh) * | 2012-02-15 | 2013-05-15 | 无锡江南计算技术研究所 | 系统调用功耗的测试方法与测试装置 |
WO2017206879A1 (zh) * | 2016-05-31 | 2017-12-07 | 广东欧珀移动通信有限公司 | 一种移动终端应用程序的处理方法、装置、存储介质及电子设备 |
CN108255673A (zh) * | 2017-12-29 | 2018-07-06 | 东软集团股份有限公司 | 应用程序占用资源的检测方法、装置和存储介质 |
CN108874535A (zh) * | 2018-05-14 | 2018-11-23 | 中国平安人寿保险股份有限公司 | 一种任务调节方法、计算机可读存储介质及终端设备 |
-
2018
- 2018-12-05 CN CN201811481730.2A patent/CN109753405B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0711946D0 (en) * | 2007-06-20 | 2007-08-01 | Royal Bank Of Scotland Plc The | Resource consumption control apparatus and methods |
CN103106131A (zh) * | 2012-02-15 | 2013-05-15 | 无锡江南计算技术研究所 | 系统调用功耗的测试方法与测试装置 |
GB201220627D0 (en) * | 2012-11-16 | 2013-01-02 | Vodafone Ip Licensing Ltd | Mobile device application analysis |
WO2017206879A1 (zh) * | 2016-05-31 | 2017-12-07 | 广东欧珀移动通信有限公司 | 一种移动终端应用程序的处理方法、装置、存储介质及电子设备 |
CN108255673A (zh) * | 2017-12-29 | 2018-07-06 | 东软集团股份有限公司 | 应用程序占用资源的检测方法、装置和存储介质 |
CN108874535A (zh) * | 2018-05-14 | 2018-11-23 | 中国平安人寿保险股份有限公司 | 一种任务调节方法、计算机可读存储介质及终端设备 |
Non-Patent Citations (1)
Title |
---|
汤倩: "基于自主计算的IDC资源自主监控系统的研究与实现", 《中国优秀博硕士学位论文全文数据库(硕士)》 * |
Also Published As
Publication number | Publication date |
---|---|
CN109753405B (zh) | 2022-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW201941058A (zh) | 異常檢測方法及裝置 | |
CN112560114B (zh) | 调用智能合约的方法及装置 | |
CN111539811A (zh) | 风险账户的识别方法及装置 | |
US20150347953A1 (en) | Kpi specification apparatus and kpi specification method | |
CN112433774A (zh) | 业务信息匹配方法、装置、设备及存储介质 | |
CN109189572A (zh) | 一种资源预估方法及系统、电子设备和存储介质 | |
CN109271453A (zh) | 一种数据库容量的确定方法和装置 | |
CN113704117A (zh) | 一种算法测试系统、方法及装置 | |
Gertsbakh et al. | Multidimensional spectra of multistate systems with binary components | |
CN112491900A (zh) | 异常节点识别方法、装置、设备及介质 | |
CN110362569A (zh) | 数据表的校验方法及装置、电子设备、存储介质 | |
CN108920326A (zh) | 确定系统耗时异常的方法、装置及电子设备 | |
CN112085369B (zh) | 规则模型的安全性检测方法、装置、设备及系统 | |
US20170337486A1 (en) | Feature-set augmentation using knowledge engine | |
CN109168138A (zh) | 网内换号的识别方法、装置及设备 | |
CN110990878B (zh) | 一种隐私数据衍生图的构建方法 | |
CN116051118B (zh) | 行为时序模型的分析方法及装置 | |
CN111914238A (zh) | 图像测试方法、装置、计算机设备和存储介质 | |
CN109753405A (zh) | 应用资源消耗的检测方法、装置、存储介质和电子设备 | |
CN116614407A (zh) | 一种风险控制方法及装置 | |
CN113076451B (zh) | 异常行为识别和风险模型库的建立方法、装置及电子设备 | |
CN114996369A (zh) | 一种数据仓库指标库的构建方法和装置 | |
CN106547693B (zh) | 系统测试方法及移动终端 | |
CN107040603A (zh) | 用于确定应用程序App活跃场景的方法和装置 | |
CN111784357A (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 |