一种获取应用程序的启动时间的方法、装置及终端制造方法及图纸

技术编号:10733778 阅读:112 留言:0更新日期:2014-12-10 10:46
本发明专利技术实施例公开了一种获取应用程序的启动时间的方法,包括:获取启动目标应用程序所需要启动的目标驱动、目标服务和目标进程;监控开机启动过程中加载的驱动和服务;根据各驱动的加载时刻,获取启动所述目标驱动所耗费的第一时长;根据所述目标服务的加载时长、占用的CPU时间和磁盘读写次数,获取启动所述目标服务所耗费的第二时长;根据所述目标进程占用的CPU时间和磁盘读写次数,获取启动所述目标进程所耗费的第三时长;确定所述目标应用程序的启动时间为所述第一时长、所述第二时长和所述第三时长之和。本发明专利技术实施例还公开了一种获取应用程序的启动时间的装置及终端。采用本发明专利技术实施例,可以提高获取应用程序的启动时间的准确度。

【技术实现步骤摘要】
一种获取应用程序的启动时间的方法、装置及终端
本专利技术涉及计算机
,尤其涉及一种获取应用程序的启动时间的方法、装置及终端。
技术介绍
随着终端技术的发展,应用程序越来越多样化,计算机或手机等终端上运行的应用程序也越来越多。为方便用户使用应用程序时,计算机等终端能够快速响应用户操作,操作系统提供一种自启动机制,即可以将应用程序设置成随操作系统启动而自启动,待操作系统启动后,用户可直接操作已自启动的应用程序。虽然,开机自启动的应用程序可以在用户操作时立马实现快速响应,但若开机自启动的应用程序在开机启动过程中耗时长,将导致终端的开机时间较长,用户不得不等待较长一段时间后才能正常操作终端,影响用户体验。目前,众多系统优化软件会提供启动优化、磁盘整理之类的功能用于提升开机速度,其最直接的表现就是将一些自启动的应用程序设置为禁止开机自启动,从而缩短开机时间。因此,获取开机自启动的应用程序在开机启动过程中所占用的开机时间对有效实现系统优化有着非常重要的意义。然而,现有技术中,并没有一种合理地计算自启动应用程序在开机启动过程中所占用的开机时间的技术方案。
技术实现思路
本专利技术实施例提供一种获取应用程序的启动时间的方法、装置及终端,可以提高获取应用程序在开机启动过程中的启动时间的准确度。本专利技术实施例提供一种获取应用程序的启动时间的方法,包括:获取启动目标应用程序所需要启动的目标驱动、目标服务和目标进程,所述目标应用程序为开机自启动应用程序;监控开机启动过程中加载的驱动和服务;根据各驱动的加载时刻,获取启动所述目标驱动所耗费的第一时长;根据所述目标服务的加载时长、占用的CPU时间和磁盘读写次数,获取启动所述目标服务所耗费的第二时长;根据所述目标进程占用的CPU时间和磁盘读写次数,获取启动所述目标进程所耗费的第三时长;确定所述目标应用程序的启动时间为所述第一时长、所述第二时长和所述第三时长之和。相应地,本专利技术实施例还提供一种获取应用程序的启动时间的装置,包括:第一获取模块,用于获取启动目标应用程序所需要启动的目标驱动、目标服务和目标进程,所述目标应用程序为开机自启动应用程序;监控模块,用于监控开机启动过程中加载的驱动和服务;第二获取模块,用于根据各驱动的加载时刻,获取启动所述目标驱动所耗费的第一时长;第三获取模块,用于根据所述目标服务的加载时长、占用的CPU时间和磁盘读写次数,获取启动所述目标服务所耗费的第二时长;第四获取模块,用于根据所述目标进程占用的CPU时间和磁盘读写次数,获取启动所述目标进程所耗费的第三时长;确定模块,用于确定所述目标应用程序的启动时间为所述第一时长、所述第二时长和所述第三时长之和。相应地,本专利技术实施例还提供一种终端,包括如上所述的获取应用程序的启动时间的装置。实施本专利技术实施例,根据各驱动的加载时刻,获取启动应用程序所需的目标驱动所耗费的第一时长;根据启动应用程序所需的目标服务的加载时长、占用的CPU时间和磁盘读写次数,获取启动目标服务所耗费的第二时长;根据启动应用程序所需的目标进程占用的CPU时间和磁盘读写次数,获取启动目标进程所耗费的第三时长;确定该应用程序的启动时间为第一时长、第二时长和第三时长之和。采用本专利技术实施例,可以提高获取应用程序在开机启动过程中的启动时间的准确度。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例提供的一种获取应用程序的启动时间的方法的流程示意图;图2是本专利技术实施例提供的一种获取应用程序的启动时间的方法的另一流程示意图;图3是本专利技术实施例提供的一种获取第二时长的方法的流程示意图;图4是本专利技术实施例提供的一种获取第三时长的方法的流程示意图;图5是本专利技术实施例提供的一种获取开机启动完毕的第三时刻的方法的流程示意图;图6是本专利技术实施例提供的一种获取开机启动完毕的第三时刻的方法的另一流程示意图;图7是本专利技术实施例提供的一种获取应用程序的启动时间的装置的结构示意图;图8是本专利技术实施例提供的一种获取应用程序的启动时间的装置的另一结构示意图;图9是本专利技术实施例提供的一种终端的结构示意图;图10是本专利技术实施例提供的一种获取应用程序的启动时间的装置的又一结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本专利技术的一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术实施例提供了一种获取应用程序的启动时间的方法、装置及终端,通过分别获取自启动应用程序在开机启动过程中启动所需要的驱动、服务和进程所耗费的时长来计算该应用程序的启动时间。采用本专利技术实施例,可以提高获取应用程序在开机启动过程中的启动时间的准确度。下面将结合附图1-附图10对本专利技术实施例提供的一种获取应用程序的启动时间的方法、装置及终端分别进行详细介绍。请参见图1,图1是本专利技术实施例提供的一种获取应用程序的启动时间的方法的流程示意图,在本专利技术实施例中,该方法可以包括以下步骤。S101:获取启动目标应用程序所需要启动的目标驱动、目标服务和目标进程,所述目标应用程序为开机自启动应用程序。本专利技术实施例中,所述方法可以是应用在计算机、手机等设备的优化类软件中,为方便说明,本专利技术实施例以计算机为例。但应当说明的是,本专利技术实施例并不限于应用在计算机中,凡是可以实施本专利技术实施例的设备均属于本专利技术实施例所需保护的范围。随着应用程序的功能多样化,一些应用程序在启动过程中不仅要加载服务和进程,而且还可能会加载一些驱动,例如:杀毒软件、安全卫士、加密软件、云盘等应用软件。由于加载驱动所占用的时长一般较长,因此,这部分时间不应该忽略不计,而应当计算在自启动应用程序的启动时间内。本专利技术实施例中,获取启动目标应用程序所需要启动的目标驱动、目标服务和目标进程,其中,目标应用程序是指已设置为开机自启动的应用程序。当然,若启动目标应用程序没有需要启动的驱动,则获取到启动目标驱动所耗费的时长为0。S102:监控开机启动过程中加载的驱动和服务。通常,在开机启动过程中,首先检测硬件是否满足开机要求,若满足,则加载操作系统内核;系统内核加载好后,开始加载驱动程序,其中,所述驱动程序包括硬件或设备的驱动程序和应用程序的驱动程序;驱动程序加载完后,开始加载服务和进程,并执行服务和进程需要执行的部分操作。考虑到驱动和服务的加载时长较长,本专利技术实施例中,监控开机启动过程中加载的驱动和服务,记录开机启动过程中所加载的各驱动和各服务的加载时刻。例如:可以是预先编写一个驱动程序,该驱动程序的功能是监控开机启动过程中各驱动、服务、进程的加载动作,并将该驱动程序设置为在开机启动过程中最先启动,从而,监控开机启动过程。具体的,本专利技术实施例不作限制。S103:根据各驱动的加载时刻,获取启动所述目标驱动所耗费的第一时长。由于在驱动加载阶段,系统执行任务时属于单任务执行过程,因此,系统按顺序先后加载各驱动,本文档来自技高网...
一种获取应用程序的启动时间的方法、装置及终端

【技术保护点】
一种获取应用程序的启动时间的方法,其特征在于,包括:获取启动目标应用程序所需要启动的目标驱动、目标服务和目标进程,所述目标应用程序为开机自启动应用程序;监控开机启动过程中加载的驱动和服务;根据各驱动的加载时刻,获取启动所述目标驱动所耗费的第一时长;根据所述目标服务的加载时长、占用的CPU时间和磁盘读写次数,获取启动所述目标服务所耗费的第二时长;根据所述目标进程占用的CPU时间和磁盘读写次数,获取启动所述目标进程所耗费的第三时长;确定所述目标应用程序的启动时间为所述第一时长、所述第二时长和所述第三时长之和。

【技术特征摘要】
1.一种获取应用程序的启动时间的方法,其特征在于,包括:获取启动目标应用程序所需要启动的目标驱动、目标服务和目标进程,所述目标应用程序为开机自启动应用程序;监控开机启动过程中加载的驱动和服务;根据各驱动的加载时刻,获取启动所述目标驱动所耗费的第一时长;根据所述目标服务的加载时长、占用的CPU时间和磁盘读写次数,获取启动所述目标服务所耗费的第二时长;根据所述目标进程占用的CPU时间和磁盘读写次数,获取启动所述目标进程所耗费的第三时长;确定所述目标应用程序的启动时间为所述第一时长、所述第二时长和所述第三时长之和。2.如权利要求1所述的方法,其特征在于,所述监控开机启动过程中加载的驱动和服务,包括:监控开机时刻到启动第一预设进程的第一时刻的第一时间段内所加载的驱动,所述启动第一预设进程表示启动用户登录程序;监控所述第一时刻到启动第二预设进程的第二时刻的第二时间段内所加载的服务,所述启动第二预设进程表示启动桌面显示程序。3.如权利要求2所述的方法,其特征在于,所述根据各驱动的加载时刻,获取启动所述目标驱动所耗费的第一时长,包括:根据所述第一时间段内所加载的驱动的加载时刻,将所述驱动的加载时刻按时间先后顺序进行升序排列;从升序排列的加载时刻中选取所述目标驱动中的每个驱动的加载时刻和所述每个驱动的加载时刻的下一个加载时刻;获取启动所述目标驱动所耗费的第一时长为所述每个驱动的下一个加载时刻与所述每个驱动的加载时刻的时间差之和。4.如权利要求2所述的方法,其特征在于,所述根据所述目标服务的加载时长、占用的CPU时间和磁盘读写次数,获取启动所述目标服务所耗费的第二时长之前,所述方法还包括:获取所述目标服务在所述第二时间段内所耗费的加载时长;获取所述目标服务在所述第二时刻到开机启动完毕的第三时刻的第三时间段内所占用的CPU时间和磁盘读写次数。5.如权利要求4所述的方法,其特征在于,所述根据所述目标服务的加载时长、占用的CPU时间和磁盘读写次数,获取启动所述目标服务所耗费的第二时长,包括:确定启动所述目标服务所耗费的第二时长为:T2=T21+(a*T22/Tcpu+(1-a)*N22/NIO)*t;其中,T21为所述目标服务在所述第二时间段内所耗费的加载时长;a为加权因子,0≤a≤1;T22和N22分别为所述目标服务在所述第三时间段内所占用的CPU时间和磁盘读写次数;t为所述第三时刻与所述第二时刻的时间差;Tcpu和NIO分别为所述第三时间段内占用CPU的总时间和磁盘读写次数的总次数。6.如权利要求4所述的方法,其特征在于,所述根据所述目标进程占用的CPU时间和磁盘读写次数,获取启动所述目标进程所耗费的第三时长之前,所述方法还包括:获取所述目标进程在所述第三时间段内所占用的CPU时间和磁盘读写次数。7.如权利要求6所述的方法,其特征在于,所述根据所述目标进程占用的CPU时间和磁盘读写次数,获取启动所述目标进程所耗费的第三时长,包括:确定启动所述目标进程所耗费的第三时长为:T3=(a*T33/Tcpu+(1-a)*N33/NIO)*t;其中,a为加权因子,0≤a≤1;T33和N33分别为所述目标进程在所述第三时间段内所占用的CPU时间和磁盘读写次数;t为所述第三时刻与所述第二时刻的时间差;Tcpu和NIO分别为所述第三时间段内占用CPU的总时间和磁盘读写次数的总次数。8.如权利要求4所述的方法,其特征在于,所述获取所述目标服务在所述第二时刻到开机启动完毕的第三时刻的第三时间段内所占用的CPU时间和磁盘读写次数之前,所述方法还包括:获取开机启动完毕的第三时刻。9.如权利要求8所述的方法,其特征在于,所述获取开机启动完毕的第三时刻,包括:监控到启动所述第二预设进程时,检测第一预设时长内是否已启动新的进程;若否,检测所述第一预设时长内的CPU使用率是否低于第一预设值;若所述CPU使用率低于所述第一预设值,获取当前时刻为开机启动完毕的第三时刻。10.如权利要求9所述的方法,其特征在于,所述检测所述第一预设时长内的CPU使用率是否低于第一预设值之后,所述方法还包括:若所述CPU使用率不低于所述第一预设值,检测第二预设时长内是否已启动新的进程;若否,检测所述第二预设时长内的CPU使用率是否低于第二预设值,所述第二预设值大于所述第一预设值;若所述CPU使用率低于所述第二预设值,执行所述获取当前时刻为开机启动完毕的第三时刻的步骤。11.如权利要求8所述的方法,其特征在于,所述获取开机启动完毕的第三时刻,包括:监控到启...

【专利技术属性】
技术研发人员:赵昱陶智飞刘桂峰姚辉
申请(专利权)人:北京金山安全软件有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1