一种开机启动项目的管理方法和装置的制作方法

文档序号:6432642阅读:144来源:国知局
专利名称:一种开机启动项目的管理方法和装置的制作方法
技术领域
本发明涉及资源管理技术领域,特别是涉及一种开机启动项目的管理方法和装置。
背景技术
当今世界是一个信息科技化、电子产业蓬勃发展的时代,各种由微电脑所衍生的高科技产品、电子设备发展迅速,着实地替人们的日常生活带来了莫大的便利性。随着当前各种电子科技的不断研发与精进,人们对于各类电子消费产品的使用要求也相对地提高,如今消费者对于电子产品的要求已不止于高品质的标准,更以是否具有便利性、人性化及多功能等因素作为选购时的考量。然而,功能上的多样性,虽使各类型电子消费产品的用途更加广泛,但对于操作上的便利性则未必有益。以计算机为例,现今销售于市面上的计算机,除可执行一般操作系统、软件程序、上网或计算机游戏外,尚可观看激光视盘等,因此,即便是功能最简易的计算机,所具有的各项功能林林总总绝不会少于10项。这样,在开机上电后,计算机会先检测并初始化硬件设备成功后启动加载操作系统,一个一个应用程序依次启动。也即,功能愈多,即意味着计算机内的操作系统需花费更多时间加载各种软件及程序。如此一来,在使用者使用计算机之前,即已花费了许多时间在等待上,特别是开机所需耗费的时间更长,着实令使用者感到不方便与繁琐。总之,需要本领域技术人员迫切解决的一个技术问题就是如何能够减少开机时间。

发明内容
本发明所要解决的技术问题是提供一种开机启动项目的管理方法和装置,能够根据每个开机启动项目的开机时间管理开机,减少开机时间,从而提高计算机系统的内部性倉泛。为了解决上述问题,本发明公开一种开机启动项目的管理方法,包括获取操作系统的总启动时间;分别获取每个开机启动项目在开机过程中的CPU占用时间,并计算开机过程中的所有开机启动项目的CPU累计占用时间;根据每个开机启动项目的CPU占用时间在所有开机启动项目的CPU累计占用时间中所占比例,计算得到每个开机启动项目所占用的系统开机时间;依据开机启动项目的开机时间,对所述开机启动项目进行管理。优选的,所述分别获取每个开机启动项目在开机过程中的CPU占用时间的步骤,包括获取每个开机启动项目的进程;分别获取该进程自创建到开机完成时在内核态和用户态占用的CPU时间;
将该进程在内核态和用户态占用的CPU时间相加,得到相应启动项在开机过程中的CPU占用时间。优选的,所述获取操作系统的总启动时间的步骤,包括获取操作系统启动到开机完成时所经过的时间,作为操作系统的总启动时间。优选的,所述依据开机启动项目的开机时间,对所述开机启动项目进行管理的步骤,包括将各开机启动项目的开机时间展示给用户;依据用户指令,执行所述开机启动项目的相应管理工作,所述管理工作包括延迟启动、暂停启动或者选择性启动。优选的,所述依据开机启动项目的开机时间,对所述开机启动项目进行管理的步骤,包括针对开机启动项目,通过统计该开机启动项目在当前客户端多次启动所分别占用的系统开机时间,得到该开机启动项目所占用的系统开机时间的正常值范围;在该开机启动项目所占用的系统开机时间不在正常值范围内时,对该开机启动项目进行特殊处理。优选的,所述对该开机启动项目进行特殊处理的步骤,包括针对该开机启动项目,发出所占用的系统开机时间不在正常值范围内的提示;或者暂停该开机启动项目的开机启动;或者控制该开机启动项目在系统开机完成之后启动。优选的,所述依据开机启动项目的开机时间,对所述开机启动项目进行管理的步骤,包括客户端在展现每个开机启动项目的开机时间的过程中,提供相应的操作,其中,所述操作包括禁止项目、开启项目和删除项目;服务器端针对每个开机启动项目,对其在众多客户端的开机时间和用户选择的操作进行抽样统计,得到相应的抽样统计结果;服务器端在接收客户端关于开机启动项目的查询时,返回相应的抽样统计结果;客户端在展现开机启动项目的开机时间的同时,展现相应的抽样统计结果。优选的,所述依据开机启动项目的开机时间,对所述开机启动项目进行管理的步骤,包括在展现开机启动项目的开机时间的过程中,提供时间维度的操作按钮,该时间维度的操作按钮用于将相应的开机启动项目延迟启动。优选的,所述依据开机启动项目的开机时间,对所述开机启动项目进行管理的步骤,包括采用界面、图表或曲线形式中的一种或几种方式展现所述开机启动项目的开机时间。优选的,通过如下步骤判断开机是否完成检测CPU占用率,如果CPU占用率呈下降趋势,且当前时刻的CPU占用率在第一阈值范围内,则认为当前时刻开机完成;或者,
检测磁盘IO 口读写量,如果磁盘IO 口读写量呈下降趋势,且当前时刻的磁盘IO口读写量在第二阈值范围内,则认为当前时刻开机完成;或者,检测磁盘IO 口读写量,如果磁盘IO 口读写量呈下降趋势,且当前时刻的磁盘IO口读写量在第二阈值范围内,则认为当前时刻开机完成;或者,获取系统启动程序列表,通过遍历所述系统启动程序列表中的进程是否加载完成,来判断开机是否完成;或者,检测进程数的变动情况,如果进程数的变动情况呈下降趋势,且当前时刻的进程数在第三阈值范围内,则认为当前时刻开机完成。另一方面,本发明还公开了一种开机启动项目的管理装置,包括第一时间获取模块,用于获取操作系统的总启动时间;第二时间获取模块,用于分别获取每个开机启动项目在开机过程中的CPU占用时间,并计算开机过程中的所有开机启动项目的CPU累计占用时间;第三时间获取模块,用于根据每个开机启动项目的CPU占用时间在所有开机启动项目的CPU累计占用时间中所占比例,计算得到每个开机启动项目所占用的系统开机时间;及管理模块,用于依据开机启动项目的开机时间,对所述开机启动项目进行管理。优选的,所述第二时间获取模块包括进程获取子模块,用于获取每个开机启动项目的进程;进程时间获取子模块,用于分别获取该进程自创建到开机完成时在内核态和用户态占用的CPU时间;及相加子模块,用于将该进程在内核态和用户态占用的CPU时间相加,得到相应启动项在开机过程中的CPU占用时间。优选的,所述第一时间获取模块,具体用于获取操作系统启动到开机完成时所经过的时间,作为操作系统的总启动时间。优选的,所述管理模块包括第一展现子模块,用于将各开机启动项目的开机时间展示给用户;交互管理子模块,用于依据用户指令,执行所述开机启动项目的相应管理工作,所述管理工作包括延迟启动、暂停启动或者选择性启动。优选的,所述管理模块包括统计子模块,用于针对开机启动项目,通过统计该开机启动项目在当前客户端多次启动所分别占用的系统开机时间,得到该开机启动项目所占用的系统开机时间的正常值范围;及特殊处理子模块,用于在该开机启动项目所占用的系统开机时间不在正常值范围内时,对该开机启动项目进行特殊处理。优选的,所述特殊处理子模块,具体用于针对该开机启动项目,发出所占用的系统开机时间不在正常值范围内的提示;或者暂停该开机启动项目的开机启动;或者控制该开机启动项目在系统开机完成之后启动。优选的,所述管理模块包括操作提供子模块,位于客户端,用于在展现每个开机启动项目的开机时间的过程中,提供相应的操作,其中,所述操作包括禁止项目、开启项目和删除项目;抽样统计子模块,位于服务器端,用于针对每个开机启动项目,对其在众多客户端的开机时间和用户选择的操作进行抽样统计,得到相应的抽样统计结果;查询处理子模块,位于服务器端,用于在接收客户端关于开机启动项目的查询时,返回相应的抽样统计结果;及第二展现子模块,位于客户端,用于在展现每个开机启动项目的开机时间的同时,展现相应的抽样统计结果。优选的,所述管理模块包括第三展现子模块,用于在展现每个开机启动项目的开机时间的过程中,提供时间维度的操作按钮,该时间维度的操作按钮用于将相应的开机启动项目延迟启动。优选的,所述管理模块包括第四展现子模块,用于采用界面、图表或曲线形式中的一种或几种方式展现每个开机启动项目的开机时间。优选的,所述装置还包括开机完成判断模块,用于检测CPU占用率,如果CPU占用率呈下降趋势,且当前时刻的CPU占用率在第一阈值范围内,则认为当前时刻开机完成;或者,检测磁盘IO 口读写量,如果磁盘IO 口读写量呈下降趋势,且当前时刻的磁盘IO口读写量在第二阈值范围内,则认为当前时刻开机完成;或者,检测磁盘IO 口读写量,如果磁盘IO 口读写量呈下降趋势,且当前时刻的磁盘IO口读写量在第二阈值范围内,则认为当前时刻开机完成;或者,获取系统启动程序列表,通过遍历所述系统启动程序列表中的进程是否加载完成,来判断开机是否完成;或者,检测进程数的变动情况,如果进程数的变动情况呈下降趋势,且当前时刻的进程数在第三阈值范围内,则认为当前时刻开机完成。与现有技术相比,本发明具有以下优点本发明根据每个开机启动项目的CPU占用时间在所有开机启动项目的CPU累计占用时间中所占比例,得到每个开机启动项目所占用的系统开机时间,并依据开机启动项目的开机时间,对所述开机启动项目进行管理;所述管理在展现开机启动项目的开机时间的同时,能够提供各种操作,能够通过调整计算机内部的系统资源,达到提升计算机内部性能的目的。例如,在开机速度不够快时,由于能够知晓是众多开机启动项目中的哪个拖慢了开机,此时,可以提示用户删除、禁止或延迟这个拖慢开机的开机启动项目,减少开机时间。


图I是本发明一种开机启动项目的管理方法实施例的流程图;图2是本发明一种获取每个开机启动项目的开机时间的示意图;图3是本发明一种开机启动项目的管理装置实施例的结构图。
具体实施例方式为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式
对本发明作进一步详细的说明。本发明实施例的核心构思之一在于,获取每个开机启动项目的开机时间,并依据开机启动项目的开机时间,对所述开机启动项目进行管理;这样,在开机速度不够快时,由于能够知晓是众多开机启动项目中的哪个拖慢了开机,因而能够更加容易地管理开机启动项。参照图1,示出了本发明一种开机启动项目的管理方法实施例的流程图,具体可以包括步骤101、获取操作系统的总启动时间;本发明可以用于计算机、PDA(个人数字助理,Personal Digital Assistant)、智能手机等各种使用操作系统的电子设备,这里的操作系统可以包括:WindowS、Linux等,下面主要以计算机和Windows为例进行说明,实际上本发明对具体的电子设备和操作系统并不加以限制。随着计算机的普及,越来越多的人开始了解计算机,关注自己计算机的开机时间。其中,操作系统的总启动时间主要是指操作系统启动整个开机过程所需要的时间,开机过程通常包括加载系统文件、启动核心服务,显示欢迎界面、等待用户输入账号密码、根据个人配置加载非关键服务,加载自启动程序等一系列过程。总之,从操作系统开机启动到所有开机启动项目加载完毕,这段时间都应算到操作系统的总启动时间中。在本发明的一种优选实施例中,所述获取操作系统的总启动时间的步骤,具体可以包括获取操作系统启动到开机完成时所经过的时间,作为操作系统的总启动时间。例如,在Windows系统下,可以调用系统标准API (应用程序编程接口,Application Programming Interface)函数GetTickCount O ,该函数从 Windows 模块载入内存开始就开始计数,其能够返回从操作系统启动到现在所经过的毫秒数,它的返回值类型是DWORD。在本发明的一种优选实施例中,可以通过如下步骤判断开机是否完成检测CPU占用率,如果CPU占用率呈下降趋势,且当前时刻的CPU占用率在第一阈值范围内,则认为当前时刻开机完成;或者,检测磁盘10 口读写量,如果磁盘10 口读写量呈下降趋势,且当前时刻的磁盘10口读写量在第二阈值范围内,则认为当前时刻开机完成;或者,检测磁盘10 口读写量,如果磁盘10 口读写量呈下降趋势,且当前时刻的磁盘10口读写量在第二阈值范围内,则认为当前时刻开机完成;或者,获取系统启动程序列表,通过遍历所述系统启动程序列表中的进程是否加载完成,来判断开机是否完成;或者,检测进程数的变动情况,如果进程数的变动情况呈下降趋势,且当前时刻的进程数在第三阈值范围内,则认为当前时刻开机完成。由于开机过程是不断加载开机启动项目的过程,所以,在开机未完成时,CPU占用率一般非常高,10 口读写量一般比较大,且会有新进程不断出现,所以,本发明可以依据CPU占用率、磁盘10 口读写量、进程数的变动情况等量化参数中的一个或者几个来判断开机是否完成。在实际中,可以实时监控这三个量化参数的变化,如果三个量化参数均处于下降趋势,则可以认为开机完成,此时,可以进行操作系统的总启动时间的获取。
步骤102、分别获取每个开机启动项目在开机过程中的CPU占用时间,并计算开机过程中的所有开机启动项目的CPU累计占用时间;开机过程是不断加载开机启动项目的过程,这些开机启动项目不仅包括加载系统文件、启动核心服务,显示欢迎界面、等待用户输入账号密码、根据个人配置加载非关键服务等一些后台开机启动项目,还包括输入法、杀毒软件等一些前台开机启动项目。在本发明的一种优选实施例中,所述分别获取每个开机启动项目在开机过程中的CPU占用时间的步骤,具体可以包括获取每个开机启动项目的进程;分别获取该进程自创建到开机完成时在内核态和用户态占用的CPU时间;将该进程在内核态和用户态占用的CPU时间相加,得到相应启动项在开机过程中的CPU占用时间。在具体实现中,可通过Windows标准API函数BOOL GetProcessTimes (HANDLE hProcess,//hProcess 为一个开机启动项目的进程句柄LPFILETIME IpCreationTime,//IpCreationTime为进程的创建时间LPFILETIME IpExitTime, //IpExitTime为进程的退出时间,如果线程仍然在运行,退出时间则未定义LPFILEHME IpKernelTime, //IpKemelTime为进程在内核态的时间,指明线程执行操作系统代码已经经过了多少个IOOns的CPU时间LPFILEHME IpUserTime//lpUserTime为选程在用户态的时间,指明进程执行应用程序代码已经经过了多少个IOOns的CPU时间)获取一个进程自创建到当前时刻在内核态和用户态占用的CPU时间,其输出参数IpKernelTime和IpUserTime分别是该进程在内核态和用户态占用的CPU时间,相加后就可以得到该进程自创建到当前时刻占用的总CPU时间。需要说明的是,由于步骤101和102在执行次序上没有联系和依赖。步骤103、根据每个开机启动项目的CPU占用时间在所有开机启动项目的CPU累计占用时间中所占比例,计算得到每个开机启动项目所占用的系统开机时间;CPU占用时间,是程序占用CPU的时间,包括系统内核程序对CPU的占用和运彳丁在windows平台上的一般程序对CPU时间的占用,以及“空闲进程”(这个名字是个概念,代表没有程序在占用CPU)对CPU时间的占用。程序的CPU占用时间代表的是使用了多长时间的CPU。开机时间是指操作系统在开机过程中耗费了多长时间。虽然对于一个开机启动项目而言,CPU占用时间其数值上不等于其耗费的开机时间,但是其在总体中所占的比例是相等的,理由如下计算机所有的指令都是通过CPU执行的,执行一条指令,需要CPU的一个振荡周期(CPU时钟的一次上电过程),程序需要执行多少条指令,就决定了需要CPU多少个振荡周期,所以,具体到每个开机启动项目执行多少条条指令,就决定了占用多少CPU时间。而每个开机启动项目执行多少条指令能够决定需要耗费多少开机时间,因此,对于一个开机启动项目而言,其占用的开机时间和CPU时间都表示其在所有开机启动项目中的比例,只是度量单位不一样。所以,每个开机启动项目CPU占用时间和总CPU占用时间的比例等于每个开机启动项目占用的开机时间和总开机时间的比例,这是符合自然规律的。因此,本发明根据总的开机时间和每个开机启动项目特定的属性值(这里是CPU占用时间),获取其在总体上所占的比例,从而推算出每个开机启动项目其他特定的属性值所占的比例,进而就可以获取到每个开机启动项目特定属性值的大小。参照图2,示出了本发明一种获取每个开机启动项目的开机时间的示意图,具体可以包括步骤201、获取操作系统的总启动时间T ;步骤202、获取每个开机启动项目在开机过程中的CPU占用时间;例如,项目Xl的CPU占用时间为t。-;项目X2的CPU占用时间为tcpu2 ;项目X3的CPU占用时间为t。-;......项目Xn的CPU占用时间为tcpun。步骤203、计算所有开机启动项目在开机过程中的总CPU占用时间;Tcpu = tcpul+tcpu2+tcpu3+......+tcpun步骤204、分别计算每个开机启动项目在开机过程中所占的比例;Kxi — tcpui/TCPU ;Kx2 — tcpu2/TCPU ;Kx3 — tcpU3/Tcpu ;......Kxn — tepun/TCPU。步骤205、基于每个开机启动项目的CPU占用时间在总CPU占用时间中所占比例等于每个开机启动项目的开机时间在总开机时间中所占比例的原理,得到每个开机启动项目的开机时间。tl = T Kxi ;t2 = T Kx2 ;t3 = T Kx3 ;......tn = T Kxn。步骤104、依据开机启动项目的开机时间,对所述开机启动项目进行管理。在获取每个开机启动项目的开机时间后,本发明就可以对某个或某些开机启动项目进行管理,所述管理能够通过调整计算机内部的系统资源,达到改进计算机内部性能的目的。例如,在开机速度不够快时,可以知晓是众多开机启动项目中的哪个拖慢了开机,从而能够更加容易地管理开机启动项。本发明可以提供如下开机启动项目的管理方案管理方案一、所述依据开机启动项目的开机时间,对所述开机启动项目进行管理的步骤,具体可以包括将各开机启动项目的开机时间展示给用户;依据用户指令,执行所述开机启动项目的相应管理工作,所述管理工作具体可以包括延迟启动、暂停启动或者选择性启动。
其中,所述延迟启动可以是将某开机启动项目的启动项目推迟至Ns后启动等,所述暂停开机启动可以是在暂时不启动某开机启动项目,所述选择性启动可以包括针对不同的日期进行不同的启动选择,如周一至周五启动MSN等办公通讯工具,而周六日启动QQ等娱乐通讯工具。管理方案二、所述依据开机启动项目的开机时间,对所述开机启动项目进行管理的步骤,具体可以包括针对开机启动项目,通过统计该开机启动项目在当前客户端多次启动所分别占用的系统开机时间,得到该开机启动项目所占用的系统开机时间的正常值范围;在该开机启动项目所占用的系统开机时间不在正常值范围内时,对该开机启动项目进行特殊处理。在本发明的一种优选实施例中,所述对该开机启动项目进行特殊处理的步骤,可以进一步包括针对该开机启动项目,发出所占用的系统开机时间不在正常值范围内的提示;或者暂停该开机启动项目的开机启动;或者控制该开机启动项目在系统开机完成之后启动。例如,当前客户端安装了 “暴风影音”,且对“暴风影音”在一个月内的开机时间进行统计,得到其开机时间的正常值范围为O. 09s-0. Ils ;则一旦发现“暴风影音”的开机时间超出了这个正常值范围,则可以通过特殊标记对其进行提示。这里的特殊标记可以是亮颜色标记,以提示“暴风影音”存在异常,以实现便捷快速的对开机性能、瓶颈、开机问题进行测试、分析和定位。当然,所述特殊标记还可以是针对“暴风影音”采用与其它正常开机启动项目不同的标记,本发明并不对具体的特殊标记加以限制。管理方案三、所述依据开机启动项目的开机时间,对所述开机启动项目进行管理的步骤,具体可以包括客户端在展现每个开机启动项目的开机时间的过程中,提供相应的操作,其中,所述操作具体可以包括禁止项目、开启项目和删除项目;服务器端针对每个开机启动项目,对其在众多客户端的开机时间和用户选择的操作进行抽样统计,得到相应的抽样统计结果;服务器端在接收客户端关于开机启动项目的查询时,返回相应的抽样统计结果;客户端在展现每个开机启动项目的开机时间的同时,展现相应的抽样统计结果。本管理方案在展现每个开机启动项目的开机时间的同时,提供相应的操作,其中,“删除项目”可以直接将相应的开机启动项目从开机启动项中去掉,“禁止项目”和“开启项目”则可以暂时关闭和开启相应的开机启动项目。在有些情况下,用户往往不知道如何从所述三个操作中选择,为此,服务器端可以在众多客户端中开展抽样统计,例如,可以在同意参加抽样统计的客户端中,随机抽样一部分客户端,并且,在服务器上对每个开机启动项目的开机时间和用户选择的操作进行统计,得到相应的抽样统计结果。这里的抽样统计结果中可以包括禁止比例,例如92%的用户选择了禁止某开机启动项目。该抽样统计结果可以作为借鉴,此时,用户可以随大流,也选择禁止此开机启动项目。所述抽样统计还可以统计客户端在某个开机启动项目上花费的开机时间,并计算出平均值,这样,在当前客户端展现每个开机启动项目的开机时间时,如果这个开机启动项目的开机时间大于平均值,则还可以展现一个预计值,该预计值为当前开机时间与平均值的差,能够预计可以提升多少秒开机速度。所述抽样统计结果还可以包括各操作可能带来什么问题等。总之,本方案的抽样统计结果可以实现对此开机启动项目的全面了解,以便评估要采取的操作。全面的抽样统计结果,可以让用户更合理的根据自己的需求管理开机过程,从而最终实现开机性能的提升。需要说明的是,由于上述抽样统计过程不带客户端标识,无法知道具体是哪一个客户端参加了抽样统计,也不会知道开机启动项目的开机时间和用户选择的操作是来自哪个客户端的,因此,本方案并不会泄露用户隐私,最大程度地保证用户隐私信息的安全性。管理方案四、所述依据开机启动项目的开机时间,对所述开机启动项目进行管理的步骤,具体可以包括在展现每个开机启动项目的开机时间的过程中,提供时间维度的操作按钮,该时间维度的操作按钮用于将相应的开机启动项目延迟启动。本管理方案将每个项目耗费的开机时间和进程启动、退出的时间相结合,方便用户在时间维度上对开机启动项目进行管理,比如,将具体项目延迟到某个时间点再启动,或者延迟到系统空闲时等条件下再启动。以上对四种管理方案进行了详细介绍,可以理解,本领域技术人员可以根据需要联合使用所述四种管理方案,或者,使用其中任一种,本发明对此不加以限制。在使用所述四种管理方案时,本发明可以优选采用界面、图表或曲线形式中的一种或几种方式展现每个开机启动项目的开机时间。例如,在采用曲线形式展现每个开机启动项目的开机时间时,横轴可以表示启动时间,O代表操作系统的启动时间,纵轴可以表示某开机启动项目的开机时间值,其在坐标轴内表现为一条曲线,曲线起始点的横坐标为该开机启动项目的启动开始时间,曲线起始点的横坐标为该开机启动项目的启动结束时间;假设横轴的单位为分钟,如果想将“暴风影音”延迟启动,则可以将整个曲线沿着横轴往后拖若干个单位,以达到延迟启动的目的。总之,本发明能够对开机启动项目的开机时间进行展现,同时提供各式各样的管理对开机启动项目进行管理,所述管理能够通过调整计算机内部的系统资源,达到改进计算机内部性能的目的。例如,在开机速度不够快时,可以知晓是众多开机启动项目中的哪个拖慢了开机,此时,可以提示用户删除、禁止或延迟这个拖慢开机的开机启动项目,减少开机时间,从而提高计算机系统的内部性能。另外,本发明在对每个开机启动项目的开机时间进行展现的过程中,还会将每个启动项按照开机时间的多少进行排序展现,以方便用户寻找最耗费开机时间的开机启动项目,可以让用户更直观的根据自己的需求管理开机过程,从而最终实现开机性能的提升。与前述方法实施例相应,本发明还公开了一种开机启动项目的管理装置,参照图3,具体可以包括第一时间获取模块301,用于获取操作系统的总启动时间;第二时间获取模块302,用于分别获取每个开机启动项目在开机过程中的CPU占用时间,并计算开机过程中的所有开机启动项目的CPU累计占用时间;第三时间获取模块303,用于根据每个开机启动项目的CPU占用时间在所有开机启动项目的CPU累计占用时间中所占比例,计算得到每个开机启动项目所占用的系统开机时间;及管理模块304,用于依据开机启动项目的开机时间,对所述开机启动项目进行管理。在本发明的一种优选实施例中,所述第二时间获取模块302可以进一步包括进程获取子模块,用于获取每个开机启动项目的进程;进程时间获取子模块,用于分别获取该进程自创建到开机完成时在内核态和用户态占用的CPU时间;及相加子模块,用于将该进程在内核态和用户态占用的CPU时间相加,得到相应启动项在开机过程中的CPU占用时间。在本发明的另一种优选实施例中,所述第一时间获取模块301,可具体用于获取操作系统启动到开机完成时所经过的时间,作为操作系统的总启动时间。本发明可以给出如下管理模块304的设计方案设计方案一、所述管理模块304具体可以包括第一展现子模块,用于将各开机启动项目的开机时间展示给用户;交互管理子模块,用于依据用户指令,执行所述开机启动项目的相应管理工作,所述管理工作包括延迟启动、暂停启动或者选择性启动。设计方案二、所述管理模块304可以进一步包括统计子模块,用于针对开机启动项目,通过统计该开机启动项目在当前客户端多次启动所分别占用的系统开机时间,得到该开机启动项目所占用的系统开机时间的正常值范围;及特殊处理子模块,用于在该开机启动项目所占用的系统开机时间不在正常值范围内时,对该开机启动项目进行特殊处理。在本发明实施例中,优选的是,所述特殊处理子模块,可具体用于针对该开机启动项目,发出所占用的系统开机时间不在正常值范围内的提示;或者暂停该开机启动项目的开机启动;或者控制该开机启动项目在系统开机完成之后启动。设计方案三、所述管理模块304具体可以包括操作提供子模块,位于客户端,用于在展现每个开机启动项目的开机时间的过程中,提供相应的操作,其中,所述操作包括禁止项目、开启项目和删除项目;抽样统计子模块,位于服务器端,用于针对每个开机启动项目,对其在众多客户端的开机时间和用户选择的操作进行抽样统计,得到相应的抽样统计结果;查询处理子模块,位于服务器端,用于在接收客户端关于开机启动项目的查询时,返回相应的抽样统计结果;及第二展现子模块,位于客户端,用于在展现每个开机启动项目的开机时间的同时,展现相应的抽样统计结果。设计方案四、所述管理模块304可以进一步包括第三展现子模块,用于在展现每个开机启动项目的开机时间的过程中,提供时间维度的操作按钮,该时间维度的操作按钮用于将相应的开机启动项目延迟启动。在本发明实施例中,优选的是,所述管理模块304可以包括第四展现子模块,用于采用界面、图表或曲线形式中的一种或几种方式展现每个开机启动项目的开机时间。在本发明的再一种优选实施例中,所述装置还可以包括开机完成判断模块,用于检测CPU占用率,如果CPU占用率呈下降趋势,且当前时刻的CPU占用率在第一阈值范围内,则认为当前时刻开机完成;或者,检测磁盘IO 口读写量,如果磁盘IO 口读写量呈下降趋势,且当前时刻的磁盘IO口读写量在第二阈值范围内,则认为当前时刻开机完成;或者,检测磁盘IO 口读写量,如果磁盘IO 口读写量呈下降趋势,且当前时刻的磁盘IO口读写量在第二阈值范围内,则认为当前时刻开机完成;或者,获取系统启动程序列表,通过遍历所述系统启动程序列表中的进程是否加载完成,来判断开机是否完成;或者,检测进程数的变动情况,如果进程数的变动情况呈下降趋势,且当前时刻的进程数在第三阈值范围内,则认为当前时刻开机完成。对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。以上对本发明所提供的一种开机启动项目的管理方法和装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式
及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
权利要求
1.一种开机启动项目的管理方法,其特征在于,包括 获取操作系统的总启动时间; 分别获取每个开机启动项目在开机过程中的CPU占用时间,并计算开机过程中的所有开机启动项目的CPU累计占用时间; 根据每个开机启动项目的CPU占用时间在所有开机启动项目的CPU累计占用时间中所占比例,计算得到每个开机启动项目所占用的系统开机时间; 依据开机启动项目的开机时间,对所述开机启动项目进行管理。
2.如权利要求I所述的方法,其特征在于,所述分别获取每个开机启动项目在开机过程中的CPU占用时间的步骤,包括 获取每个开机启动项目的进程; 分别获取该进程自创建到开机完成时在内核态和用户态占用的CPU时间; 将该进程在内核态和用户态占用的CPU时间相加,得到相应启动项在开机过程中的CPU占用时间。
3.如权利要求I所述的方法,其特征在于,所述获取操作系统的总启动时间的步骤,包括 获取操作系统启动到开机完成时所经过的时间,作为操作系统的总启动时间。
4.如权利要求I所述的方法,其特征在于,所述依据开机启动项目的开机时间,对所述开机启动项目进行管理的步骤,包括 将各开机启动项目的开机时间展示给用户; 依据用户指令,执行所述开机启动项目的相应管理工作,所述管理工作包括延迟启动、暂停启动或者选择性启动。
5.如权利要求I所述的方法,其特征在于,所述依据开机启动项目的开机时间,对所述开机启动项目进行管理的步骤,包括 针对开机启动项目,通过统计该开机启动项目在当前客户端多次启动所分别占用的系统开机时间,得到该开机启动项目所占用的系统开机时间的正常值范围; 在该开机启动项目所占用的系统开机时间不在正常值范围内时,对该开机启动项目进行特殊处理。
6.如权利要求5所述的方法,其特征在于,所述对该开机启动项目进行特殊处理的步骤,包括 针对该开机启动项目,发出所占用的系统开机时间不在正常值范围内的提示;或者 暂停该开机启动项目的开机启动;或者 控制该开机启动项目在系统开机完成之后启动。
7.如权利要求I所述的方法,其特征在于,所述依据开机启动项目的开机时间,对所述开机启动项目进行管理的步骤,包括 客户端在展现每个开机启动项目的开机时间的过程中,提供相应的操作,其中,所述操作包括禁止项目、开启项目和删除项目; 服务器端针对每个开机启动项目,对其在众多客户端的开机时间和用户选择的操作进行抽样统计,得到相应的抽样统计结果; 服务器端在接收客户端关于开机启动项目的查询时,返回相应的抽样统计结果;客户端在展现开机启动项目的开机时间的同时,展现相应的抽样统计结果。
8.如权利要求I所述的方法,其特征在于,所述依据开机启动项目的开机时间,对所述开机启动项目进行管理的步骤,包括 在展现开机启动项目的开机时间的过程中,提供时间维度的操作按钮,该时间维度的操作按钮用于将相应的开机启动项目延迟启动。
9.如权利要求I至8中任一项所述的方法,其特征在于,所述依据开机启动项目的开机时间,对所述开机启动项目进行管理的步骤,包括 采用界面、图表或曲线形式中的一种或几种方式展现所述开机启动项目的开机时间。
10.如权利要求2或3所述的方法,其特征在于,通过如下步骤判断开机是否完成 检测CPU占用率,如果CPU占用率呈下降趋势,且当前时刻的CPU占用率在第一阈值范围内,则认为当前时刻开机完成;或者, 检测磁盘IO 口读写量,如果磁盘IO 口读写量呈下降趋势,且当前时刻的磁盘IO 口读写量在第二阈值范围内,则认为当前时刻开机完成;或者, 检测磁盘IO 口读写量,如果磁盘IO 口读写量呈下降趋势,且当前时刻的磁盘IO 口读写量在第二阈值范围内,则认为当前时刻开机完成;或者, 获取系统启动程序列表,通过遍历所述系统启动程序列表中的进程是否加载完成,来判断开机是否完成;或者, 检测进程数的变动情况,如果进程数的变动情况呈下降趋势,且当前时刻的进程数在第三阈值范围内,则认为当前时刻开机完成。
11.一种开机启动项目的管理装置,其特征在于,包括 第一时间获取模块,用于获取操作系统的总启动时间; 第二时间获取模块,用于分别获取每个开机启动项目在开机过程中的CPU占用时间,并计算开机过程中的所有开机启动项目的CPU累计占用时间; 第三时间获取模块,用于根据每个开机启动项目的CPU占用时间在所有开机启动项目的CPU累计占用时间中所占比例,计算得到每个开机启动项目所占用的系统开机时间;及管理模块,用于依据开机启动项目的开机时间,对所述开机启动项目进行管理。
12.如权利要求9所述的装置,其特征在于,所述第二时间获取模块包括 进程获取子模块,用于获取每个开机启动项目的进程; 进程时间获取子模块,用于分别获取该进程自创建到开机完成时在内核态和用户态占用的CPU时间;及 相加子模块,用于将该进程在内核态和用户态占用的CPU时间相加,得到相应启动项在开机过程中的CPU占用时间。
13.如权利要求11所述的装置,其特征在于,所述第一时间获取模块,具体用于获取操作系统启动到开机完成时所经过的时间,作为操作系统的总启动时间。
14.如权利要求11所述的装置,其特征在于,所述管理模块包括 第一展现子模块,用于将各开机启动项目的开机时间展示给用户; 交互管理子模块,用于依据用户指令,执行所述开机启动项目的相应管理工作,所述管理工作包括延迟启动、暂停启动或者选择性启动。
15.如权利要求11所述的装置,其特征在于,所述管理模块包括统计子模块,用于针对开机启动项目,通过统计该开机启动项目在当前客户端多次启动所分别占用的系统开机时间,得到该开机启动项目所占用的系统开机时间的正常值范围;及 特殊处理子模块,用于在该开机启动项目所占用的系统开机时间不在正常值范围内时,对该开机启动项目进行特殊处理。
16.如权利要求15所述的装置,其特征在于,所述特殊处理子模块,具体用于针对该开机启动项目,发出所占用的系统开机时间不在正常值范围内的提示;或者暂停该开机启动项目的开机启动;或者控制该开机启动项目在系统开机完成之后启动。
17.如权利要求11所述的装置,其特征在于,所述管理模块包括 操作提供子模块,位于客户端,用于在展现每个开机启动项目的开机时间的过程中,提供相应的操作,其中,所述操作包括禁止项目、开启项目和删除项目; 抽样统计子模块,位于服务器端,用于针对每个开机启动项目,对其在众多客户端的开机时间和用户选择的操作进行抽样统计,得到相应的抽样统计结果; 查询处理子模块,位于服务器端,用于在接收客户端关于开机启动项目的查询时,返回相应的抽样统计结果;及 第二展现子模块,位于客户端,用于在展现每个开机启动项目的开机时间的同时,展现相应的抽样统计结果。
18.如权利要求11所述的装置,其特征在于,所述管理模块包括 第三展现子模块,用于在展现每个开机启动项目的开机时间的过程中,提供时间维度的操作按钮,该时间维度的操作按钮用于将相应的开机启动项目延迟启动。
19.如权利要求11至18中任一项所述的装置,其特征在于,所述管理模块包括 第四展现子模块,用于采用界面、图表或曲线形式中的一种或几种方式展现每个开机启动项目的开机时间。
20.如权利要求12或13所述的装置,其特征在于,还包括 开机完成判断模块,用于检测CPU占用率,如果CPU占用率呈下降趋势,且当前时刻的CPU占用率在第一阈值范围内,则认为当前时刻开机完成;或者, 检测磁盘IO 口读写量,如果磁盘IO 口读写量呈下降趋势,且当前时刻的磁盘IO 口读写量在第二阈值范围内,则认为当前时刻开机完成;或者, 检测磁盘IO 口读写量,如果磁盘IO 口读写量呈下降趋势,且当前时刻的磁盘IO 口读写量在第二阈值范围内,则认为当前时刻开机完成;或者, 获取系统启动程序列表,通过遍历所述系统启动程序列表中的进程是否加载完成,来判断开机是否完成;或者, 检测进程数的变动情况,如果进程数的变动情况呈下降趋势,且当前时刻的进程数在第三阈值范围内,则认为当前时刻开机完成。
全文摘要
本发明提供了一种开机启动项目的管理方法和装置,其中的方法具体包括获取操作系统的总启动时间;分别获取每个开机启动项目在开机过程中的CPU占用时间,并计算开机过程中的所有开机启动项目的CPU累计占用时间;根据每个开机启动项目的CPU占用时间在所有开机启动项目的CPU累计占用时间中所占比例,计算得到每个开机启动项目所占用的系统开机时间;依据开机启动项目的开机时间,对所述开机启动项目进行管理。本发明能够根据每个开机启动项目的开机时间管理开机,减少开机时间,从而提高计算机系统的内部性能。
文档编号G06F9/445GK102981863SQ201110264318
公开日2013年3月20日 申请日期2011年9月7日 优先权日2011年9月7日
发明者田野, 陈希, 李富钦 申请人:奇智软件(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1