发明内容
本申请的目的之一在于提供一种终端设备中启动项检测的方法和装置,用以自动识别占用资源高的启动项进程并向用户进行提示,提高终端设备的运行速度和上网速度,优化终端设备的性能,并简化用户操作。
为了解决上述问题,本申请公开了一种终端设备中启动项检测的方法,包括:
获取当前终端设备的可用资源信息;
根据所述可用资源信息,统计当前终端设备中各运行程序的资源占用率;
若存在资源占用率超过预设阈值的程序,则判断该程序是否关联启动项;
若是,则生成启动项提示信息。
优选的,所述可用资源信息包括CPU配置信息,内存配置信息,和/或,网络带宽信息。
优选的,所述CPU配置信息,内存配置信息通过读取系统信息或注册表获得;
所述网络带宽信息通过读取预置的网络测速接口的返回值获得。
优选的,所述根据可用资源信息,统计当前终端设备中各运行程序的资源占用率的步骤包括:
获取当前终端设备从启动开始至当前时间所运行过的各程序的资源占用信息;
根据各程序的资源占用信息和当前终端设备的可用资源信息,分别计算各程序的资源占用率。
优选的,所述获取当前终端设备从启动开始至当前时间所运行过的各程序的资源占用信息的步骤进一步包括:
获取当前终端设备从启动开始至当前时间所运行过的程序的信息,所述信息包括程序的运行时间和资源使用量;
计算各程序的资源占用信息;所述资源占用信息为所述资源使用量除以运行时间获得的值;
所述根据各程序的资源占用信息和当前终端设备的可用资源信息,分别计算各程序的资源占用率的步骤进一步包括:
将各程序的资源占用信息除以当前终端设备中相应的可用资源信息,获得各程序的资源占用率。
优选的,所述资源使用量包括:CPU使用量,内存使用量,和/或,网络带宽使用量;
相应地,所述资源占用信息包括:CPU占用信息,内存占用信息,和/或,网络带宽占用信息;
相应地,所述资源占用率包括:CPU占用率,内存使用率,和/或,网络带宽占用率。
优选的,所述判断该程序是否关联启动项的步骤包括:
读取注册表中的启动项信息判断所述程序是否为启动项程序,或者,所述程序是否为启动项程序的子进程;
若是,则判断该程序关联启动项。
优选的,所述的方法,,还包括:
依据所述启动项提示信息,阻止该启动项在当前终端设备下次启动时开启;
或者,
依据所述启动项提示信息,以及,所接收到的用户的启动项关闭指示信息,阻止该启动项在当前终端设备下次启动时开启。
本申请实施例还公开了一种终端设备中启动项检测的装置,包括:
设备资源信息获取模块,用于获取当前终端设备的可用资源信息;
资源占用情况统计模块,用于根据所述可用资源信息,统计当前终端设备中各运行程序的资源占用率;
启动项判断模块,用于在存在资源占用率超过预设阈值的程序时,判断该程序是否关联启动项;若是,则调用提示信息生成模块;
提示信息生成模块,用于生成启动项提示信息。
优选的,所述资源占用情况统计模块包括:
资源占用信息获取子模块,用于获取当前终端设备从启动开始至当前时间所运行过的各程序的资源占用信息;
资源占用率计算子模块,用于根据各程序的资源占用信息和当前终端设备的可用资源信息,分别计算各程序的资源占用率。
优选的,所述资源占用信息获取子模块进一步包括:
程序资源信息获取单元,用于获取当前终端设备从启动开始至当前时间所运行过的程序的信息,所述信息包括程序的运行时间和资源使用量;
占用信息计算单元,用于计算各程序的资源占用信息;所述资源占用信息为所述资源使用量除以运行时间获得的值。
优选的,所述启动项判断模块包括:
检测子模块,用于读取注册表中的启动项信息判断所述程序是否为启动项程序,或者,为启动项的子进程;若是,则调用确定子模块;
确定子模块,用于判定该程序关联启动项。
优选的,所述的装置,还包括:
第一阻止模块,用于依据所述启动项提示信息,阻止该启动项在当前终端设备下次启动时开启;
或者,
第二阻止模块,用于依据所述启动项提示信息,以及,所接收到的用户的启动项关闭指示信息,阻止该启动项在当前终端设备下次启动时开启。
与现有技术相比,本申请包括以下优点:
本申请实施例针对终端设备在没有病毒却由于资源占用导致行速度变慢或上网速度变慢的问题,自动识别资源占用率高的启动项进程,并主动向用户进行提示,使用户可以按照需求禁止这些资源占用率高的启动项随机启动,或者,直接禁止这些资源占用率高的启动项随机启动。从而提高终端设备的运行速度和上网速度,优化终端设备的性能,简化用户操作,提升用户的使用体验。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
用户在使用PC,手机等终端设备时,通常会遇到运行速度变慢或上网速度变慢的问题,在这种情况下,用户往往会开启安全软件进行病毒扫描,然而造成终端设备运行速度变慢或者上网速度变慢的原因,仅仅可能是某些启动项占用了比较高的系统资源,采用安全软件也扫描不出任何结果,但运行速度变慢或上网速度变慢的问题却仍然无法解决。
本申请实施例的核心构思之一在于,针对终端设备在没有病毒却由于资源占用导致行速度变慢或上网速度变慢的问题,自动识别资源占用率高的启动项进程,并主动向用户进行提示,使用户可以按照需求禁止这些资源占用率高的启动项随机启动,或者,直接禁止这些资源占用率高的启动项随机启动。从而提高终端设备的运行速度和上网速度,优化终端设备的性能,简化用户操作,提升用户的使用体验。
参考图1,示出了本申请的一种终端设备中启动项检测的方法实施例的步骤流程图,具体可以包括如下步骤:
步骤101,获取当前终端设备的可用资源信息;
以目前较为通用的终端设备为例,如PC,笔记本,手机,PAD(平板电脑)等,所述可用资源信息可以包括CPU配置信息,内存配置信息,和/或,网络带宽信息。
具体而言,所述CPU配置信息,内存配置信息可以通过读取系统信息或注册表获得。其中,系统信息是指通过操作系统提供的接口(API)可访问或获取到的硬件信息,如Windows操作系统提供的查看主要硬件信息的“设备管理器”和“系统信息”接口。从某种角度而言,系统信息所记录的硬件信息,也是通过读取注册表获得的。
例如,检测到的CPU配置信息和内存配置信息如下所示:
CPU:单核英特尔Celeron(赛扬)D 2201.20GHz
内存:512MB
对于所述网络带宽信息而言,可以通过读取预置的网络测速接口的返回值获得。例如,预置的网络测速接口可以为诸如测速器之类的软件,测速器每次运行都在服务器上下载15秒的临时文件等信息,从而获得当前终端设备的网速,如为124K/S。
当然,上述终端设备可用资源信息的获取方法仅仅用作示例,本领域技术人员根据实际情况采用任一种方式获取终端设备的可用资源信息都是可行的,本申请对此不作限制。
步骤102,根据所述可用资源信息,统计当前终端设备中各运行程序的资源占用率;
在本申请的一种优选实施例中,所述步骤102可以包括如下子步骤:
子步骤S21,获取当前终端设备从启动开始至当前时间所运行过的各程序的资源占用信息;
更为优选的是,所述子步骤S21可以进一步包括如下子步骤:
子步骤S211,获取当前终端设备从启动开始至当前时间所运行过的程序的信息,所述信息包括程序的运行时间和资源使用量;
其中,所述资源使用量可以包括:CPU使用量,内存使用量,和/或,网络带宽使用量。
子步骤S212,计算各程序的资源占用信息;所述资源占用信息为所述资源使用量除以运行时间获得的值;
相应地,所述资源占用信息可以包括:CPU占用信息,内存占用信息,和/或,网络带宽占用信息。
在具体实现中,可以从历史进程资源日志中获取当前终端设备从启动开始至当前时间所运行过的各程序的资源占用信息,历史进程资源日志中主要保存有当前终端设备从启动开始至当前时间所运行过的进程的资源信息,可以包括每个进程的CPU占用率,内存使用率,进程的父子关系,进程之间相互调用关系,进程调用的历史记录等,例如,哪个进程启动过另外哪一个进程,有这样的对应关系,还包括每个进程对应的流量,例如包括上传流量,下载流量等。具体可以参考图2所示的历史进程资源日志展现的界面示意图,在该历史进程资源日志中,记录了进程的名称、命令行、开始时间、结束时间、已上传流量、已下载流量和CPU平均值(进程从启动开始至当前时间占用CPU的平均值)。其中,进程之间的父子关系采用树形结构进行了展现。
在具体应用时,历史进程资源日志中的信息可以保存在记录器中,每次用户启动主机时,记录器便会生成一次历史进程资源日志。
子步骤S22,根据各程序的资源占用信息和当前终端设备的可用资源信息,分别计算各程序的资源占用率。
具体而言,可以将各程序的资源占用信息除以当前终端设备中相应的可用资源信息,获得各程序的资源占用率。所述资源占用率可以包括:CPU占用率,内存使用率,和/或,网络带宽占用率。
步骤103,若存在资源占用率超过预设阈值的程序,则判断该程序是否关联启动项;
在本申请实施例具体应用的一种示例中当所述CPU为单核CPU时,所述CPU占用率的预设阈值可以为70%;
当所述内存为512M容量内存时,所述内存占用率的预设阈值可以为20%;
和/或,
所述网络带宽占用率的预设阈值可以为90%。
在具体实现中,可以通过以下子步骤判断该程序是否关联启动项:
子步骤S31,读取注册表中的启动项信息判断所述程序是否为启动项程序,或者,为启动项的子进程;
在实际中,通过读取注册表即可获知当前程序是否为启动项程序,对于启动项子进程的判断而言,则可以通过判断当前程序的父进程是不是启动项,来确定是否为启动项的子进程,所述父进程是否为启动项程序同样可通过读取注册表确定。子步骤S32,若是,则判断该程序关联启动项。
步骤104,若是,则生成启动项提示信息。
在本申请的一种优选实施例中,还可以包括如下步骤:
依据所述启动项提示信息,以及,所接收到的用户的启动项关闭指示信息,阻止该启动项在当前终端设备下次启动时开启。
例如,首先调用带宽测速器测得用户设备的网速为124K/S,然后查看历史进程资源日志,其中记录了每个程序的上传下载流量,程序的上传下载流量除以程序运行总时间得到每个程序的平均占用网络速度,假设通过计算Test.exe程序占用120K/s,若当前网络带宽占用率的预设阈值为90%,当前Test.exe程序占用120K/s满足124K/s*90%,于是查看Test.exe程序是否为启动项程序或者启动项的子进程,若是,则提示用户Test.exe程序的启动项占用网络资源。用户根据提示选择禁止随机启动该启动项,于是该启动项会在在当前终端设备下次启动时被阻止开启。
在本申请的另一种优选实施例中,还可以包括如下步骤:
依据所述启动项提示信息,阻止该启动项在当前终端设备下次启动时开启。
本实施例提供的是直接阻止提示的启动项而非用户选择阻止的方式,能更简化用户的操作。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
参照图3,示出了本申请的一种终端设备中启动项检测的装置实施例的结构框图,具体可以包括如下模块:
设备资源信息获取模块301,用于获取当前终端设备的可用资源信息;
资源占用情况统计模块302,用于根据所述可用资源信息,统计当前终端设备中各运行程序的资源占用率;
启动项判断模块303,用于在存在资源占用率超过预设阈值的程序时,判断该程序是否关联启动项;若是,则调用提示信息生成模块304;
提示信息生成模块304,用于生成启动项提示信息。
在具体实现中,所述可用资源信息可以包括CPU配置信息,内存配置信息,和/或,网络带宽信息。所述CPU配置信息,内存配置信息可以通过读取系统信息或注册表获得;所述网络带宽信息通过读取预置的网络测速接口的返回值获得。
在本申请的一种优选实施例中,所述资源占用情况统计模块302可以包括如下子模块:
资源占用信息获取子模块,用于获取当前终端设备从启动开始至当前时间所运行过的各程序的资源占用信息;
资源占用率计算子模块,用于根据各程序的资源占用信息和当前终端设备的可用资源信息,分别计算各程序的资源占用率。
更为优选的是,所述资源占用信息获取子模块可以进一步包括如下单元:
程序资源信息获取单元,用于获取当前终端设备从启动开始至当前时间所运行过的程序的信息,所述信息包括程序的运行时间和资源使用量;
占用信息计算单元,用于计算各程序的资源占用信息;所述资源占用信息为所述资源使用量除以运行时间获得的值。
所述资源占用率计算子模块可以将各程序的资源占用信息除以当前终端设备中相应的可用资源信息,获得各程序的资源占用率。
在具体实现中,所述资源使用量可以包括:CPU使用量,内存使用量,和/或,网络带宽使用量;
相应地,所述资源占用信息可以包括:CPU占用信息,内存占用信息,和/或,网络带宽占用信息;
相应地,所述资源占用率可以包括:CPU占用率,内存使用率,和/或,网络带宽占用率。
作为本申请实施例具体应用的一种示例,当所述CPU为单核CPU时,所述CPU占用率的预设阈值可以为70%;
当所述内存为512M容量内存时,所述内存占用率的预设阈值可以为20%;
和/或,
所述网络带宽占用率的预设阈值可以为90%。
在具体实现中,所述启动项判断模块304可以包括如下子模块:
检测子模块,用于读取注册表中的启动项信息判断所述程序是否为启动项程序,或者,为启动项的子进程;若是,则调用确定子模块;
确定子模块,用于判定该程序关联启动项。
在本申请的一种优选实施例,所述申请实施例还可以包括如下模块:
第一阻止模块,用于依据所述启动项提示信息,阻止该启动项在当前终端设备下次启动时开启。
在本申请的另一种优选实施例,所述申请实施例还可以包括如下模块:
第二阻止模块,用于依据所述启动项提示信息,以及,所接收到的用户的启动项关闭指示信息,阻止该启动项在当前终端设备下次启动时开启。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请实施例不仅可以应用于单台设备的应用环境中,还可以应用于服务器-客户端的应用环境,或者进一步应用于基于云技术的应用环境中。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本申请所提供的一种终端设备中启动项检测的方法和一种终端设备中启动项检测的装置进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。