应用程序的资源监控方法及装置的制作方法

文档序号:6364214阅读:110来源:国知局
专利名称:应用程序的资源监控方法及装置的制作方法
技术领域
本发明涉及计算机领域,特别涉及一种应用程序的资源监控方法及装置。
背景技术
为了得知终端设备上应用程序的资源占用信息,例如获知应用程序对终端设备CPU的占用信息、对终端设备内存的占用信息等,需要对应用程序占用的资源进行监控。目前,现有的应用程序的资源监控方式中,通过应用监控软件可以实现对终端设备上的应用程序进行资源监控,从而获知应用程序对终端设备CPU的占用信息、应用程序对终端设备内存的占用信息等资源占用信息。在实现本发明的过程中,发明人发现现有技术至少存在以下问题:现有的应用程序的资源监控方式通过应用监控软件获知的应用程序的资源占用信息是全部应用程序的资源占用信息,不能反映每个应用程序的资源占用信息。

发明内容
为了实现对单个应用程序的资源监控,从而更为准确地掌握应用程序的性能,本发明实施例提供了一种应用程序的资源监控方法及装置。所述技术方案如下:—方面,提供了一种应用程序的资源监控方法,所述方法包括:确定待监控应用程序,并通过在调试工具中运行top命令获取系统运行的所有应用程序的资源占用信息;
`
从获取到的所有应用程序的资源占用信息中提取所述待监控应用程序的资源占用信息,并根据所述待监控应用程序的资源占用信息对所述待监控应用程序进行资源监控。所述确定待监控应用程序,具体包括:接收用户输入的应用程序的名称,将用户输入的名称所对应的应用程序确定为待监控应用程序;或者,设置包含系统运行的所有应用程序名称的选项,并将用户选择的应用程序名称所对应的应用程序确定为待监控应用程序。所述从获取到的所有应用程序的资源占用信息中提取所述待监控应用程序的资源占用信息,具体包括:从获取到的所有应用程序的资源占用信息中提取与待监控应用程序具有相同名称的资源占用信息,得到所述待监控应用程序的资源占用信息。可选地,从获取到的所有应用程序的资源占用信息中提取所述待监控应用程序的资源占用信息之后,还包括:将提取的所述待监控应用程序的资源占用信息写入逗号分隔值CSV文件中,并保存所述CSV文件;所述根据所述待监控应用程序的资源占用信息对所述待监控应用程序进行资源监控,具体包括:从所述CSV文件中读取所述待监控应用程序的资源占用信息,根据所述待监控应用程序的资源占用信息对所述待监控应用程序进行资源监控。进一步地,所述根据所述待监控应用程序的资源占用信息对所述待监控应用程序进行资源监控,具体包括:对所述待监控应用程序的资源占用信息进行分析,得到所述待监控应用程序的资源占用数据,所述数据包括占用中央处理器CPU的信息、占用内存的信息、启动的线程数信息中的至少一种;根据得到的所述资源占用数据对所述待监控应用程序进行资源监控。另一方面,还提供了一种应用程序的资源监控装置,所述装置包括:确定模块,用于确定待监控应用程序;获取模块,用于通过在调试工具中运行top命令获取系统运行的所有应用程序的资源占用信息;提取模块,用于从所述获取模块获取到的所有应用程序的资源占用信息中提取所述确定模块确定的待监控应用程序的资源占用信息;监控模块,用于根据所述提取模块提取的所述待监控应用程序的资源占用信息对所述待监控应用程序进行资源监控。所述确定模块,具体用于接收用户输入的应用程序的名称,将用户输入的名称所对应的应用程序确定为待监控应用程序;或者,设置包含系统运行的所有应用程序名称的选项,并将用户选择的应·用程序名称所对应的应用程序确定为待监控应用程序。所述提取模块,具体用于从所述获取模块获取到的所有应用程序的资源占用信息中提取与所述待监控应用程序具有相同名称的资源占用信息,得到所述待监控应用程序的资源占用信息。可选地,所述装置还包括:保存模块,用于将所述提取模块提取的所述待监控应用程序的资源占用信息写入逗号分隔值CSV文件中,并保存所述CSV文件;所述监控模块,具体用于从所述保存模块保存的CSV文件中读取所述待监控应用程序的资源占用信息,根据所述待监控应用程序的资源占用信息对所述待监控应用程序进行资源监控。进一步地,所述监控模块包括:分析单元,用于对所述待监控应用程序的资源占用信息进行分析,得到所述待监控应用程序的资源占用数据,所述数据包括占用中央处理器CPU的信息、占用内存的信息、启动的线程数信息中的至少一种;监控单元,用于根据所述分析单元得到的所述资源占用数据对所述待监控应用程序进行资源监控。本发明实施例提供的技术方案带来的有益效果是:通过获取系统运行的所有应用程序的资源占用信息,并从中提取待监控应用程序的资源占用信息,以根据待监控应用程序的资源占用信息实现对单个应用程序的资源监控,从而能够更为准确地掌握应用程序的性能。


为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本发明实施例1提供的应用程序的资源监控方法的流程图;图2是本发明实施例2提供的应用程序的资源监控方法的流程图;图3是本发明实施例2提供的应用程序占用CPU的统计不意图;图4是本发明实施例2提供的应用程序占用内存的统计不意图;图5是本发明实施例2提供的应用程序启动的线程数统计示意图;图6是本发明实施例3提供的应用程序的资源监控装置的结构示意图;图7是本发明实施例3提供的另一种应用程序的资源监控装置的结构示意图;图8是本发明实施例3提供的又一种应用程序的资源监控装置的结构示意图。
具体实施例方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。实施例1 本实施例提供了一种应用程序的资源监控方法,通过获取系统运行的所有应用程序的资源占用信息,再从中提取出待监控应用程序的资源占用信息,从而实现对待监控应用程序的资源监控。如图1所示,本实施例提供的方法流程具体如下:101、确定待监控应用程序,并通过在调试工具中运行top命令获取系统运行的所有应用程序的资源占用信息;具体地,确定待监控应用程序时,可以接收用户输入的应用程序名称,将用户输入的名称所对应的应用程序确定为待监控应用程序;或者,设置包含系统运行的所有应用程序名称的选项,并将用户选择的应用程序名称所对应的应用程序确定为待监控应用程序。获取系统运行的所有应用程序的资源占用信息时,可通过在调试工具中运行top命令获取系统运行的所有应用程序的资源占用信息。102、从获取到的所有应用程序的资源占用信息中提取待监控应用程序的资源占用/[目息;具体地,从获取到的所有应用程序的资源占用信息中提取与待监控应用程序具有相同名称的资源占用信息,得到待监控应用程序的资源占用信息。103、根据待监控应用程序的资源占用信息对待监控应用程序进行资源监控。具体地,对待监控应用程序的资源占用信息进行分析,得到待监控应用程序的资源占用数据,该数据包括占用中央处理器CPU的信息、占用内存的信息、启动的线程数信息中的至少一种;根据得到的资源占用数据对待监控应用程序进行资源监控。本实施例提供的方法,通过获取系统运行的所有应用程序的资源占用信息,并从中提取待监控应用程序的资源占用信息,以根据待监控应用程序的资源占用信息实现对单个应用程序的资源监控,从而能够更为准确地掌握应用程序的性能。为了更加清楚地阐述上述实施例1提供的应用程序的资源监控方法,结合上述内容,以如下实施例2的内容为例,对实施例1提供的应用程序的资源监控方法进行详细的举例说明,详见如下实施例2:实施例2本实施例提供了一种应用程序的资源监控方法,结合上述实施例1提供的内容,为了便于说明,本实施例以监控名称为abcxyz.com的应用程序为例,对本实施例提供的方法进行详细的举例说明。参见图2,本实施例提供的方法流程具体如下:201、确定待监控应用程序;具体地,确定待监控应用程序时,可以由用户输入待监控应用程序的名称,从而在接收到用户输入的应用程序的名称后,将用户输入的名称所对应的应用程序确定为待监控应用程序。例如,对于名称为abcxyz.com的应用程序,可以在用户输入abcxyz.com之后,将其对应的应用程序作为待监控应用程序。或者,设置包含系统运行的所有应用程序名称的选项,并将用户选择的应用程序名称所对应的应用程序确定为待监控应用程序。例如,将包含了 abcxyz.com等在内的系统运行的所有应用程序的名称作为选项提供给用户进行选择,当用户选择abcxyz.com之后,将其对应的应用程序作为待监控应用程序。当然,除了采取上述两种确定待监控应用程序的方式外,还可以采用其他方式来确定待监控应用程序,本实施例不对确定待监控应用程序的具体方式进行限定。202、获取系统运行 的所有应用程序的资源占用信息;针对该步骤,本实施例不对获取系统运行的所有应用程序的资源占用信息的方式进行限定。实际应用中,可通过现有技术实现,即通过监控软件来获取系统运行的所有应用程序的资源占用信息。除此之外,本实施例提供的方法还支持通过在调试工具中运行top命令的方式来获取系统运行的所有应用程序的资源占用信息。其中,对于Android(安致)系统中的应用程序,调试工具可以为ADB(AndroidDebug Bridge, Android调试桥)。Android是一种以Linux为基础的开放源码操作系统,而top又是应用Linux的shell命令,因此,本实施例提供的方法在获取系统运行的所有应用程序的资源占用信息时,可通过在ADB中运行top命令实现。获取到的系统运行的所有应用程序的资源占用信息包含但不限于系统运行的所有应用程序的名称、系统运行的所有应用程序占用内存的信息、系统运行的所有应用程序占用CPU的信息、系统运行的所有应用程序启动的线程数信息等等,本实施不对获取到的具体资源占用信息进行限定。203、从获取到的所有应用程序的资源占用信息中提取与待监控应用程序具有相同名称的资源占用信息,得到待监控应用程序的资源占用信息;具体地,从获取到的所有应用程序的资源占用信息中提取与待监控应用程序具有相同名称的资源占用信息,得到待监控应用程序的资源占用信息,是从获取到的所有应用程序的资源占用信息中提取待监控应用程序的资源占用信息的具体实现方式。具体提取时,在获取到系统运行的所有应用程序的资源占用信息后,可应用Excel工具、折线图等方式对系统运行的所有应用程序的资源占用信息进行分析处理,并按照应用程序名称、信息项目等进行分类,得到系统运行的所有应用程序中的每个应用程序的资源占用信息,然后再从中提取出与待监控应用程序具有相同名称的资源占用信息,从而得到待监控应用程序的资源占用信息。当然还可以采取其他提取方式,本实施例对此不作具体限定。为了便于后续能够对提取出的待监控应用程序的资源占用信息进行分析处理,以实现对待监控应用程序的资源监控,本实施例提供的方法在提取出待监控应用程序的资源占用信息后,还支持对其进行保存的步骤。具体保存时,可将其写入CSV (Comma SeparatedValues,逗号分隔值)文件中,并保存该CSV文件。其中,CSV文件是一种纯文本格式的文件,用来存储数据。在CSV文件中,数据的字段由逗号分开,程序通过读取文件重新创建正确的字段,方法是每次遇到逗号时开始新一段数据。实际应用中,可在安装python解析器后,通过输入包括待监控应用程序名称的参数ATool.p y-o abc.csv-n abcxyz.com,来提取待监控应用程序的资源占用信息。其中,-O后面的参数abc.csv为保存数据的文件名,_n后面的参数abcxyz.com为待监控应用程序的名称。当然,保存数据的文件名以及待监控应用程序的名称可依据实际情况而定。提取出的待监控应用程序的资源占用信息同样包括但不限于待监控应用程序的名称、待监控应用程序占用内存的信息、待监控应用程序占用CPU的信息、待监控应用程序启动的线程数信息等等。204、对待监控应用程序的资源占用信息进行分析,得到待监控应用程序的资源占用数据;针对该步骤,可在步骤203提取得到待监控应用程序的资源占用信息后直接对其进行分析,如果步骤203还包括将提取得到的待监控应用程序的资源占用信息写入CSV文件的过程,则该步骤可在任何时候读取该CSV文件中的待监控应用程序的资源占用信息,再对其进行分析,何时对待监控应用程序的资源占用信息进行分析以及具体分析的方式,本实施例不作具体限定。实际应用中,在对待监控应用程序的信息进行分析时,同样可应用Excel工具、折线图等方式对待监控应用程序的资源占用信息进行分析处理,得到的待监控应用程序的资源占用数据包括但不限于占用CPU的信息、占用内存的信息、启动的线程数信息中的至少一种。例如,待监控应用程序占用CPU的统计不意图可如图3所不,占用内存的统计不意图可如图4所示,启动的线程数统计示意图可如图5所示。205、根据得到的资源占用数据对待监控应用程序进行资源监控。具体地,由于通过上述步骤204得到了待监控应用程序的资源占用数据,因此,根据得到的资源占用信息即可清楚地掌握待监控应用程序的资源占用情况,从而能够对其进行有效的资源监控。进一步地,本实施例提供的方法除了对单个应用程序进行资源监控外,还可以实现同时提取系统运行的所有应用程序中的多个应用程序的资源占用信息,从而同时对多个应用程序进行资源监控,具体实现方式同上述方法,本实施例对此不再赘述。另外,根据需要,本实施例提供的方法还可以对待监控应用程序进行实时监控或特定时间段监控,在实时监控时,确定待监控应用程序后,可以实时显示待监控应用程序的资源占用信息;在特定时间段待监控应用程序时,可设定特定时间段的起始和终止时间,存储起始和终止时间之间待监控应用程序的资源占用信息,以实现对其进行特定时间段的资源监控。特定时间段的具体起始时间和终止时间本实施例不作具体限定。本实施例提供的方法,通过获取系统运行的所有应用程序的资源占用信息,并从中提取待监控应用程序的资源占用信息,以根据待监控应用程序的资源占用信息实现对单个应用程序的资源监控,从而能够更为准确地掌握应用程序的性能。实施例3本实施例提供了一种应用程序的资源监控装置,参见图6,该装置包括:确定模块601、获取模块602、提取模块603和监控模块604 ;确定模块601,用于确定待监控应用程序;获取模块602,用于通过在调试工具中运行top命令获取系统运行的所有应用程序的资源占用信息;提取模块603,用于从获取模块602获取到的所有应用程序的资源占用信息中提取确定模块601确定的待监控应用程序的资源占用信息;监控模块604,用于根据提取模块603提取的待监控应用程序的资源占用信息对待监控应用程序进行资源监控。进一步地,确定模块601,具体用于接收用户输入的应用程序的名称,将用户输入的名称所对应的应用程序确定为待监控应用程序;或者,设置包含系统运行的所有应用程序名称的选项,并将用户选择的应用程序名称所对应的应用程序确定为待监控应用程序。

进一步地,提取模块603,具体用于从获取到的所有应用程序的资源占用信息中提取与待监控应用程序具有相同名称的资源占用信息,得到待监控应用程序的资源占用信肩、O可选地,参见图7,该装置还包括:保存模块605,用于将提取模块603提取的待监控应用程序的资源占用信息写入CSV文件中,并保存CSV文件;监控模块604,具体用于从保存模块605保存的CSV文件中读取待监控应用程序的资源占用信息,根据待监控应用程序的资源占用信息对待监控应用程序进行资源监控。具体地,如图8所示,监控模块604具体包括:分析单元604a,用于对待监控应用程序的资源占用信息进行分析,得到待监控应用程序的资源占用数据,数据包括占用中央处理器CPU的信息、占用内存的信息、启动的线程数信息中的至少一种;监控单元604b,用于根据分析单元604a得到的资源占用数据对待监控应用程序进行资源监控。其中,确定模块601确定待监控应用程序的方式具体可参见上述实施例2中步骤201的相关描述,获取模块602获取系统运行的所有应用程序的资源占用信息的方式具体可参见上述实施例2中步骤202的相关描述,提取模块603提取待监控应用程序的资源占用信息的方式具体可参见上述实施例2中步骤203的相关描述,监控模块604的监控方式具体可参见上述步骤204和步骤205的相关描述,此处不再一一赘述。本实施例提供的装置可以应用于计算机或手机上,或是应用于其他场景,本实施例不对其具体的应用场景进行限定。本实施例提供的装置,通过获取系统运行的所有应用程序的资源占用信息,并从中提取待监控应用程序的资源占用信息,以根据待监控应用程序的资源占用信息实现对单个应用程序的资源监控,从而能够更为准确地掌握应用程序的性能。需要说明的是:上述实施例提供的应用程序的资源监控装置在对应用程序进行资源监控时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的应用程序的资源监控装置与应用程序的资源监控方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。以上仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改 、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种应用程序的资源监控方法,其特征在于,所述方法包括: 确定待监控应用程序,并通过在调试工具中运行top命令获取系统运行的所有应用程序的资源占用信息; 从获取到的所有应用程序的资源占用信息中提取所述待监控应用程序的资源占用信息,并根据所述待监控应用程序的资源占用信息对所述待监控应用程序进行资源监控。
2.根据权利要求1所述的方法,其特征在于,所述确定待监控应用程序,具体包括: 接收用户输入的应用程序的名称,将用户输入的名称所对应的应用程序确定为待监控应用程序; 或者,设置包含系统运行的所有应用程序名称的选项,并将用户选择的应用程序名称所对应的应用程序确定为待监控应用程序。
3.根据权利要 求2所述的方法,其特征在于,所述从获取到的所有应用程序的资源占用信息中提取所述待监控应用程序的资源占用信息,具体包括: 从获取到的所有应用程序的资源占用信息中提取与待监控应用程序具有相同名称的资源占用信息,得到所述待监控应用程序的资源占用信息。
4.根据权利要求1所述的方法,其特征在于,所述从获取到的所有应用程序的资源占用信息中提取所述待监控应用程序的资源占用信息之后,还包括: 将提取的所述待监控应用程序的资源占用信息写入逗号分隔值CSV文件中,并保存所述CSV文件; 所述根据所述待监控应用程序的资源占用信息对所述待监控应用程序进行资源监控,具体包括: 从所述CSV文件中读取所述待监控应用程序的资源占用信息,根据所述待监控应用程序的资源占用信息对所述待监控应用程序进行资源监控。
5.根据权利要求1或4所述的方法,其特征在于,所述根据所述待监控应用程序的资源占用信息对所述待监控应用程序进行资源监控,具体包括: 对所述待监控应用程序的资源占用信息进行分析,得到所述待监控应用程序的资源占用数据,所述数据包括占用中央处理器CPU的信息、占用内存的信息、启动的线程数信息中的至少一种; 根据得到的所述资源占用数据对所述待监控应用程序进行资源监控。
6.一种应用程序的资源监控装置,其特征在于,所述装置包括: 确定模块,用于确定待监控应用程序; 获取模块,用于通过在调试工具中运行top命令获取系统运行的所有应用程序的资源占用息; 提取模块,用于从所述获取模块获取到的所有应用程序的资源占用信息中提取所述确定模块确定的待监控应用程序的资源占用信息; 监控模块,用于根据所述提取模块提取的所述待监控应用程序的资源占用信息对所述待监控应用程序进行资源监控。
7.根据权利要求6所述的装置,其特征在于,所述确定模块,具体用于接收用户输入的应用程序的名称,将用户输入的名称所对应的应用程序确定为待监控应用程序;或者,设置包含系统运行的所有应用程序名称的选项,并将用户选择的应用程序名称所对应的应用程序确定为待监控应用程序。
8.根据权利要求7所述的装置,其特征在于,所述提取模块,具体用于从所述获取模块获取到的所有应用程序的资源占用信息中提取与所述待监控应用程序具有相同名称的资源占用信息,得到所述待监控应用程序的资源占用信息。
9.根据权利要求6所述的装置,其特征在于,所述装置还包括: 保存模块,用于将所述提取模块提取的所述待监控应用程序的资源占用信息写入逗号分隔值CSV文件中,并保存所述CSV文件; 所述监控模块,具体用于从所述保存模块保存的CSV文件中读取所述待监控应用程序的资源占用信息,根据所述待监控应用程序的资源占用信息对所述待监控应用程序进行资源监控。
10.根据权利要求6或9所述的装置,其特征在于,所述监控模块包括: 分析单元,用于对所述待监控应用程序的资源占用信息进行分析,得到所述待监控应用程序的资源占用数据,所述数据包括占用中央处理器CPU的信息、占用内存的信息、启动的线程数信息中的至少一种; 监控单元,用于根据所述分析单元得到的所述资源占用数据对所述待监控应用程序进行资源监 控。
全文摘要
本发明公开了一种应用程序的资源监控方法及装置,属于计算机领域。所述方法包括确定待监控应用程序,并通过在调试工具中运行top命令获取系统运行的所有应用程序的资源占用信息;从获取到的所有应用程序的资源占用信息中提取所述待监控应用程序的资源占用信息,并根据所述待监控应用程序的资源占用信息对所述待监控应用程序进行资源监控。所述装置包括确定模块、获取模块、提取模块和监控模块。本发明通过获取系统运行的所有应用程序的资源占用信息,并从中提取待监控应用程序的资源占用信息,以根据待监控应用程序的资源占用信息实现对单个应用程序的资源监控,从而能够更为准确地掌握应用程序的性能。
文档编号G06F9/50GK103246566SQ20121002445
公开日2013年8月14日 申请日期2012年2月3日 优先权日2012年2月3日
发明者杨学营, 高安东, 陈强, 向立莉, 马识佳 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1