CN104572197B - 一种启动项的处理方法和装置 - Google Patents

一种启动项的处理方法和装置 Download PDF

Info

Publication number
CN104572197B
CN104572197B CN201410855019.4A CN201410855019A CN104572197B CN 104572197 B CN104572197 B CN 104572197B CN 201410855019 A CN201410855019 A CN 201410855019A CN 104572197 B CN104572197 B CN 104572197B
Authority
CN
China
Prior art keywords
startup item
startup
item
information
following manner
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.)
Active
Application number
CN201410855019.4A
Other languages
English (en)
Other versions
CN104572197A (zh
Inventor
高日新
李富钦
牛强
陈希
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Qihoo Technology Co Ltd, Qizhi Software Beijing Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201410855019.4A priority Critical patent/CN104572197B/zh
Publication of CN104572197A publication Critical patent/CN104572197A/zh
Application granted granted Critical
Publication of CN104572197B publication Critical patent/CN104572197B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明实施例提供了一种启动项的处理方法和装置,所述方法包括:检测终端的启动耗时;确定所述启动耗时所属的启动耗时范围;查找所述启动耗时范围对应的一个或多个启动项集合;从所述一个或多个启动项集合中选取一个或多个第一目标启动项;禁止所述一个或多个第一目标启动项启动。本发明实施例检测终端的启动耗时,以确定所属的启动耗时范围,并查找对应的一个或多个启动项集合,从中选取一个或多个第一目标启动项进行禁止,在不同的启动情况下进行合理的启动项的筛选,提高了优化启动项的精确度,降低了错误出现的几率。

Description

一种启动项的处理方法和装置
技术领域
本发明涉及计算机技术领域,特别是涉及一种启动项的处理方法和一种启动项的处理装置。
背景技术
随着技术的发展,满足用户不同需求的应用程序大量涌现,许多应用程序为了能够响应用户的操作而快速启动,都选择了随系统环境启动而自启动。
开机自动启动是很多应用程序所需要的一项功能,但更多的情况是该应用并不是用户所必须的,而是应用的厂商为了盈利(弹广告、修改浏览器主页等)而恶意加载的。
现在针对启动项进行优化的方式,一般是将所有启动项进行分类,把应用归入应禁用启动项或不应禁用启动项这么两类。
这种优化的方式精确度很低,容易出现错误。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种启动项的处理方法和相应的一种启动项的处理装置。
依据本发明的一个方面,提供了一种启动项的处理方法,包括:
检测终端的启动耗时;
确定所述启动耗时所属的启动耗时范围;
查找所述启动耗时范围对应的一个或多个启动项集合;
从所述一个或多个启动项集合中选取一个或多个第一目标启动项;
禁止所述一个或多个第一目标启动项启动。
可选地,所述启动项集合为根据一个或多个启动项启动时的系统资源占用信息进行划分获得的集合。
可选地,所述系统资源占用信息包括内存占用信息、CPU占用信息、磁盘I/O占用信息中的至少一种。
可选地,所述从所述一个或多个启动项集合中选取一个或多个第一目标启动项的步骤包括:
针对所述一个或多个启动项集合中的一个或多个启动项,向服务器发送处理请求;
获取服务器根据所述处理请求判断所述启动项是否为第二目标启动项,按照判断的结果从所述一个或多个启动项中确定的一个或多个第一目标启动项;
其中,所述第二目标启动项包括顽固启动项、关联启动项、不常用启动项中的至少一者。
可选地,所述顽固启动项包括在先进行禁止启动操作,且禁止启动失败的启动项。
可选地,所述顽固启动项通过以下方式识别:
采集启动项;
判断当前采集的启动项与在先采集的启动项之间的新增的启动项目相关的启动项为顽固启动项。
可选地,所述服务器通过以下方式对启动项进行判断:
判断所述启动项是否与在先采集的顽固启动项相同;若是,则判断所述启动项为顽固启动项。
可选地,所述处理请求中包括所述终端的第一系统环境信息,所述服务器通过以下方式对启动项进行判断:
当所述第一操作信息与预设的第二系统环境信息匹配时,判断所述启动项与预设的特征启动项是否匹配;
若是,则判断所述启动项为关联启动项;
其中,所述特征启动项为根据所述第二系统环境信息和针对应用程序的报错信息查找到的错误禁止启动的启动项。
可选地,所述报错信息包括以下至少一种:
应用程序标识、版本信息、出错信息。
可选地,所述第一系统环境信息包括以下至少一种:
第一系统版本信息、第一启动项信息、第一应用程序信息;
所述第二系统环境信息包括以下至少一种:
第二系统版本信息、第二启动项信息、第二应用程序信息。
可选地,所述特征启动项通过以下方式查找:
检测在所述第一系统版本信息和/或所述第一应用程序信息对应的系统环境,运行或启动所述应用程序标识和/或所述版本信息对应的应用程序,引起所述出错信息所被禁止启动的启动项。
可选地,所述第二系统环境信息与所述第一系统环境信息通过以下方式进行匹配:
判断第二系统版本信息、第二启动项信息、第二应用程序信息中的至少一者,与对应的第一系统版本信息、第一启动项信息、第一应用程序信息中的至少一者是否匹配;
若是,则判断所述第二系统环境信息与所述第一系统环境信息匹配。
可选地,所述处理请求中包括所述启动项的使用信息,所述服务器通过以下方式对启动项进行判断:
采用所述启动项的使用信息计算所述启动项的使用频率;
当所述使用频率低于预设的频率阈值时,判断所述启动项为不常用启动项。
可选地,所述使用信息包括使用次数及对应的使用时间,所述采用所述启动项的使用信息计算所述启动项的使用频率的步骤包括:
统计使用时间在预设的时间段内总的使用次数;
由所述总的使用次数计算在所述时间段内所述启动项的使用频率。
可选地,所述启动项的使用次数通过以下方式记录:
查询所述启动项对应的使用方式;
检测是否触发所述启动项的使用方式;若是,则增加所述启动项的使用次数。
可选地,所述检测是否触发所述启动项的使用方式的步骤包括:
当所述启动项为交互类对象时,判断是否在前端加载所述交互类对象的用户界面。
可选地,所述检测是否触发所述启动项的使用方式的步骤包括:
当所述启动项为支付类对象时,判断是否加载所述支付类对象的支付界面。
可选地,所述检测是否触发所述启动项的使用方式的步骤包括:
当所述启动项为网络类对象时,判断是否检测到由所述网络类对象产生的网络流量。
可选地,所述检测是否触发所述启动项的使用方式的步骤包括:
当所述启动项为驱动类对象时,判断所述驱动类对象关联的硬件是否启动。
可选地,服务器通过以下方式确定一个或多个第一目标启动项:
当所述启动项为顽固启动项时,确定所述启动项为第一目标启动项。
可选地,服务器通过以下方式确定一个或多个第一目标启动项:
当所述启动项为关联启动项时,排除所述启动项为第二目标启动项。
可选地,服务器通过以下方式确定一个或多个第一目标启动项:
当所述启动项为不常用启动项时,确定所述启动项为第一目标启动项。
根据本发明的另一方面,提供了一种启动项的处理装置,包括:
检测模块,适于检测终端的启动耗时;
确定模块,适于确定所述启动耗时所属的启动耗时范围;
查找模块,适于查找所述启动耗时范围对应的一个或多个启动项集合;
选取模块,适于从所述一个或多个启动项集合中选取一个或多个第一目标启动项;
禁止模块,适于禁止所述一个或多个第一目标启动项启动。
可选地,所述启动项集合为根据一个或多个启动项启动时的系统资源占用信息进行划分获得的集合。
可选地,所述系统资源占用信息包括内存占用信息、CPU占用信息、磁盘I/O占用信息中的至少一种。
可选地,所述选取模块还适于:
针对所述一个或多个启动项集合中的一个或多个启动项,向服务器发送处理请求;
获取服务器根据所述处理请求判断所述启动项是否为第二目标启动项,按照判断的结果从所述一个或多个启动项中确定的一个或多个第一目标启动项;
其中,所述第二目标启动项包括顽固启动项、关联启动项、不常用启动项中的至少一者。
可选地,所述顽固启动项包括在先进行禁止启动操作,且禁止启动失败的启动项。
可选地,所述顽固启动项通过以下方式识别:
采集启动项;
判断当前采集的启动项与在先采集的启动项之间的新增的启动项启动项目相关的启动项为顽固启动项。
可选地,所述服务器通过以下方式对启动项进行判断:
判断所述启动项是否与在先采集的顽固启动项相同;若是,则判断所述启动项为顽固启动项。
可选地,所述处理请求中包括所述终端的第一系统环境信息,所述服务器通过以下方式对启动项进行判断:
当所述第一操作信息与预设的第二系统环境信息匹配时,判断所述启动项与预设的特征启动项是否匹配;
若是,则判断所述启动项为关联启动项;
其中,所述特征启动项为根据所述第二系统环境信息和针对应用程序的报错信息查找到的错误禁止启动的启动项。
可选地,所述报错信息包括以下至少一种:
应用程序标识、版本信息、出错信息。
可选地,所述第一系统环境信息包括以下至少一种:
第一系统版本信息、第一启动项信息、第一应用程序信息;
所述第二系统环境信息包括以下至少一种:
第二系统版本信息、第二启动项信息、第二应用程序信息。
可选地,所述特征启动项通过以下方式查找:
检测在所述第一系统版本信息和/或所述第一应用程序信息对应的系统环境,运行或启动所述应用程序标识和/或所述版本信息对应的应用程序,引起所述出错信息所被禁止启动的启动项。
可选地,所述第二系统环境信息与所述第一系统环境信息通过以下方式进行匹配:
判断第二系统版本信息、第二启动项信息、第二应用程序信息中的至少一者,与对应的第一系统版本信息、第一启动项信息、第一应用程序信息中的至少一者是否匹配;
若是,则判断所述第二系统环境信息与所述第一系统环境信息匹配。
可选地,所述处理请求中包括所述启动项的使用信息,所述服务器通过以下方式对启动项进行判断:
采用所述启动项的使用信息计算所述启动项的使用频率;
当所述使用频率低于预设的频率阈值时,判断所述启动项为不常用启动项。
可选地,所述使用信息包括使用次数及对应的使用时间,所述启动项的使用频率可以通过以下方式计算:
统计使用时间在预设的时间段内总的使用次数;
由所述总的使用次数计算在所述时间段内所述启动项的使用频率。
可选地,所述启动项的使用次数通过以下方式记录:
查询所述启动项对应的使用方式;
检测是否触发所述启动项的使用方式;若是,则增加所述启动项的使用次数。
可选地,所述启动项的使用方式通过以下方式检测:
当所述启动项为交互类对象时,判断是否在前端加载所述交互类对象的用户界面。
可选地,所述启动项的使用方式通过以下方式检测:
当所述启动项为支付类对象时,判断是否加载所述支付类对象的支付界面。
可选地,所述启动项的使用方式通过以下方式检测:
当所述启动项为网络类对象时,判断是否检测到由所述网络类对象产生的网络流量。
可选地,所述启动项的使用方式通过以下方式检测:
当所述启动项为驱动类对象时,判断所述驱动类对象关联的硬件是否启动。
可选地,服务器通过以下方式确定一个或多个第一目标启动项:
当所述启动项为顽固启动项时,确定所述启动项为第一目标启动项。
可选地,服务器通过以下方式确定一个或多个第一目标启动项:
当所述启动项为关联启动项时,排除所述启动项为第二目标启动项。
可选地,服务器通过以下方式确定一个或多个第一目标启动项:
当所述启动项为不常用启动项时,确定所述启动项为第一目标启动项。
本发明实施例检测终端的启动耗时,以确定所属的启动耗时范围,并查找对应的一个或多个启动项集合,从中选取一个或多个第一目标启动项进行禁止,在不同的启动情况下进行合理的启动项的筛选,提高了优化启动项的精确度,降低了错误出现的几率。
本发明实施例通过顽固启动项、关联启动项、不常用启动项等多个维度的判断,为允许或禁止启动项启动提供基础,进一步提高了优化启动项的精确度,降低了错误出现的几率。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的一种启动项的处理方法实施例的步骤流程图;
图2示出了根据本发明一个实施例的一种禁止启动项启动的方法实施例的步骤流程图;以及
图3示出了根据本发明一个实施例的一种启动项的处理装置实施例的结构框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
参照图1,示出了根据本发明一个实施例的一种启动项的处理方法实施例的步骤流程图,具体可以包括如下步骤:
步骤101,检测终端的启动耗时;
在具体实现中,该终端具体可以包括移动设备,例如手机、PDA(Personal DigitalAssistant,个人数字助理)、膝上型计算机、掌上电脑等等,也可以包括固定设备,例如个人计算机、智能电视等等。
这些终端可以支持包括Android(安卓)、IOS、WindowsPhone或者windows等的系统环境,通常可以运行应用程序(如浏览器、即时通讯工具、播放器)和服务(如音频设备管理服务、网络连接共享相关服务)等。
许多应用程序和服务等由于各种原因,会设置成开机启动项。
启动项通过会跟随终端的操作系统启动而自启动,导致启动耗时消耗逐渐增多,导致操作系统响应速度变慢、运行速度变慢,降低用户体验。
当终端启动时,可以通过检测注册表或文件中注册的开机启动程序对应的进程是否被创建来判定启动是否完成。
当所有在注册表或文件中注册的开机启动程序对应的进程都被创建后,可以通过获取系统运行时间的API(Application Programming Interface,应用程序编程接口)函数来获取该时刻的时间,从而获取终端的启动耗时(俗称“开机时间”)。
当然,本发明实施例还可以通过其他方式检测终端的启动耗时,本发明实施例对此不加以限制。
步骤102,确定所述启动耗时所属的启动耗时范围;
应用本发明实施例,可以预先设置一个或多个启动耗时范围,每个启动耗时范围可以指示启动耗时的一个范围值。
例如,启动耗时范围可以如下表所示:
序号 启动耗时范围
0s<X≤30s
30s<X≤60s
60s<X≤90s
90s<X≤120s
120s<X
其中,X可以为启动耗时。
步骤103,查找所述启动耗时范围对应的一个或多个启动项集合;
在具体实现中,所述启动项集合可以为根据一个或多个启动项启动时的系统资源占用信息进行划分获得的集合,对于系统资源占用比较接近的启动项,可以划入同一个启动项集合中。
在本发明实施例的一种可选示例中,所述系统资源占用率包括内存占用信息、CPU(Central Processing Unit,中央处理器)占用信息、磁盘I/O(Input/Ouput,输入/输出)占用信息中的至少一种。
需要说明的是,该系统资源占用信息可以为系统资源占用量,例如,内存占用量(如30M)、CPU占用量、磁盘I/O占用量等等,也可以为系统资源占用率,例如,内存占用率、CPU占用率(如30%)、磁盘I/O占用率等等,本发明实施例对此不加以限制。
在具体实现中,可以从历史进程资源日志中获取当前终端从启动开始至当前时间所运行过的各启动项的系统资源占用信息,历史进程资源日志中主要保存有当前终端设备从启动开始至当前时间所运行过的进程的资源信息,可以包括每个进程的内存占用信息、CPU占用信息、磁盘I/O占用信息,进程的父子关系,进程之间相互调用关系,进程调用的历史记录等。
历史进程资源日志中的信息可以保存在记录器中,每次用户启动主机时,记录器便会生成一次历史进程资源日志。
应用本发明实施例,可以预先设置启动耗时范围与启动项集合之间的对应关联,后续可以按照该对应关系查找启动项集合。
例如,若设置序号分别为1至4的启动项集合,启动项集合中的启动项集合的系统资源占用从低到高排列。序号为一的启动耗时范围(0s<X≤30s)可以对应序号为1的启动项集合,序号为二的启动耗时范围(30s<X≤60s)可以对应序号为1、2的启动项集合,序号为三的启动耗时范围(60s<X≤90s)可以对应序号为2、3的启动项集合,序号为四的启动耗时范围(90s<X≤120s)可以对应序号为3、4的启动项集合,序号为五的启动耗时范围(120s<X)可以对应序号为1、2、3、4的启动项集合,等等。
步骤104,从所述一个或多个启动项集合中选取一个或多个第一目标启动项;
在本发明实施例中,可以从一个或多个启动项集合中选取一个或多个合适的启动项作为第一目标启动项,以进行优化。
在本发明的一种可选实施例中,步骤104可以包括如下子步骤:
子步骤S11,针对所述一个或多个启动项集合中的一个或多个启动项,向服务器发送处理请求;
终端在检测到启动项集合中的启动项时,可以生成处理请求,发送至服务器(如云服务器),由服务器处理获得针对启动项集合中的启动项的优化方式。
其中,处理请求中可以包括启动项信息,可以以启动项标识进行表征,该启动项标识可以是能够代表一个唯一确定的启动项的信息,例如,进程路径、程序名称、MD5(Message-Digest Algorithm 5,信息摘要算法5)值等等。
子步骤S12,获取服务器根据所述处理请求判断所述启动项是否为第二目标启动项,按照判断的结果从所述一个或多个启动项中确定的一个或多个第一目标启动项;
其中,所述第二目标启动项包括顽固启动项、关联启动项、不常用启动项中的至少一者;
启动项在先通过被禁止启动,但是在运行时(关机前)会进行注册表会写、服务回写,在下次系统环境启动时依然会自启动,导致禁止启动失败,这些启动项也称为顽固启动项。
由于禁止了某个启动项,使得依赖于该启动项的其他应用程序无法正常启动、运行,该启动项可以成为关联启动项。
若启动项的使用频率低于频率阈值,则可以认为该启动项为不常用启动项,对于用户而言,该启动项的重要性比较低。
当然,上述目标启动项只是作为示例,在实施本发明实施例时,可以根据实际情况设置其他目标启动项,本发明实施例对此不加以限制。另外,除了上述目标启动项外,本领域技术人员还可以根据实际需要采用其它目标启动项,本发明实施例对此也不加以限制。
在实际应用中,有些应用程序为了盈利(弹广告、修改浏览器主页等)而恶意设置为启动项,在操作系统启动时自启动,在发现时用户一般可以通过安全工具或者应用程序管理工具等方式进行禁止。
但是,某些恶意的应用程序具有变化快、功能复杂等特性,难以禁止自启动,例如,在被禁止后,今天回写一个服务,第二天又新加了另一个服务回写,不断扩展和变化,以保持其随系统环境的启动而自启动。
在本发明实施例中,可以在服务器(如云服务器)维护顽固启动项,所述顽固启动项可以包括在先进行禁止启动操作,且禁止启动失败的启动项。
若发现无法禁止顽固启动项的原因,则可以进行对应的处理发送至全网的客户端中,实现该启动项的全网快速禁止。
在本发明的一种可选实施例中,所述顽固启动项可以通过以下方式识别:
子步骤S21,采集启动项;
在实际应用中,可以通过读取注册表(如Run键、RunOnce键、RunServicesOnce键等)等方式扫描系统环境的启动项。
该系统环境可以为全网任一客户端所属的系统环境,本发明实施例对此不加以限制。
子步骤S22,判断当前采集的启动项与在先采集的启动项之间的新增的启动项启动项目相关的启动项为顽固启动项。
应用本发明实施例,可以就同一操作系统采集不同时间(如上一次使用操作系统,关机后再次使用操作系统)的启动项。
具体而言,在禁止启动项启动时,可以记录该启动项,在后禁止启动项启动时,将当前扫描到的启动项与在先记录的启动项进行比对,若当前扫描到的启动项与在先记录的启动项相同,且在先没有对该启动项进行允许启动操作,则可以查询该启动项新增的启动项信息,例如,所述目标启动项信息可以包括注册表信息(如Run键)、服务中、计划任务的至少一种。
此外,当前采集的启动项与在先采集的启动项可以由全网任一终端上传至服务器,由服务器统计这两者之间的新增的启动项目,也可以由终端统计当前采集的启动项与在先采集的启动项之间的新增的启动项目,再将新增的启动项目上传至服务器,本发明实施例对此不加以限制。
服务器进一步可以记录该启动项的启动项标识,例如,进程路径、程序名称、MD5值等等。
在本发明的一种可选实施例中,所述服务器可以通过以下方式对启动项进行判断:
子步骤S31,判断所述启动项是否与在先采集的顽固启动项相同;若是,则执行子步骤S32;
子步骤S32,判断所述启动项为顽固启动项。
若当前终端的启动项与在先采集的启动项相同(如启动项标识相同)时,则可以认为该启动项为顽固启动项。
在本发明的一种可选实施例中,所述处理请求中可以包括所述终端的第一系统环境信息,第一系统环境信息可以为记录终端的系统环境相关的信息。
在本发明实施例的一种可选示例中,所述第一系统环境信息可以包括以下至少一种:
第一系统版本信息、第一启动项信息、第一应用程序信息;
第一系统版本信息可以记录指系统环境的版本的信息,例如,Windows xp、Windows 2000等等。每次系统环境的版本的更新都可能会涉及内部代码的修改,所提供的功能以及性能在每个版本中都会有所不同。
第一启动项信息可以记录系统环境的启动项的信息,可以包括允许启动的启动项,禁止启动的启动项。
第一应用程序信息可以记录在系统环境中安装的应用程序的信息。
当然,上述第一系统环境信息只是作为示例,在实施本发明实施例时,可以根据实际情况设置其他第一系统环境信息,例如,网络信息等等,本发明实施例对此不加以限制。
则在本发明实施例中,所述服务器可以通过以下方式对启动项进行判断:
子步骤S41,当所述第一操作信息与预设的第二系统环境信息匹配时,判断所述启动项与预设的特征启动项是否匹配;若是,则执行子步骤S42;
子步骤S42,判断所述启动项为关联启动项;
其中,所述特征启动项为根据所述第二系统环境信息和针对应用程序的报错信息查找到的错误禁止启动的启动项。
在具体实现中,应用程序在启动或运行过程中,可能出现错误而导致启动失败或闪退等问题。
在实际应用中,应用程序出错与应用程序的版本、终端的系统环境等关联比较大。
应用本发明实施例,其他终端在检测到该问题出现时,可以将针对该应用程序的报错信息和第二系统环境信息发送至服务器进行检测。
另外,为了保证用户的隐私权和知情权,可以先检查该当前用户是否加入了指定计划,如用户体验计划。如果当前用户加入了指定计划,则确认当前用户对服务器采集其他终端中,针对应用程序的报错信息和第二系统环境信息的行为进行了授权,服务器可以执行采集操作,如果当前用户没有加入指定计划,则确认当前用户未对服务器采集其他终端中,针对应用程序的报错信息和第二系统环境信息的行为进行授权,服务器禁止执行采集操作。
在实际应用中,服务器可以采集其他终端中,针对应用程序的报错信息和第二系统环境信息。例如,服务器可以定时(如每天6时、12时等)其他终端中,针对应用程序的报错信息和第二系统环境信息,服务器也可以不定时(如其他终端连接网络时)其他终端中,针对应用程序的报错信息和第二系统环境信息。
客户端也可以主动将其他终端中,针对应用程序的报错信息和第二系统环境信息发送至服务器。例如,客户端可以定时(如每天6时、12时等)其他终端中,针对应用程序的报错信息和第二系统环境信息发送至服务器,客户端也可以不定时(如客户端刚启动,系统环境处于的系统资源、带宽占用较少的状态时)其他终端中,针对应用程序的报错信息和第二系统环境信息发送至服务器。
当然,本发明实施例还可以通过其他方式采集其他终端中,针对应用程序的报错信息和第二系统环境信息,例如,通过中转服务器进行采集等等,本发明实施例对此不加以限制。
报错信息可以为记录应用程序出错相关的信息。
在本发明实施例的一个示例中,所述报错信息可以包括以下至少一种:
应用程序标识、版本信息、出错方式。
应用程序标识可以是能够代表一个唯一确定的应用程序的信息,例如,应用程序名称、MD5(Message-Digest Algorithm 5,信息摘要算法5)、Hash(哈希)值等等。
版本信息可以记录指应用程序的版本的信息。每次应用程序的版本的更新都可能会涉及内部代码的修改,应用程序的功能以及性能在每个版本中都会有所不同。
出错方式可以如何应用程序的出现何种错误的信息,例如写内存错误系统会提示:「“0X????????”指令引用的“0x00000000”内存,该内存不能为“read”或“written”」。
当然,上述报错信息只是作为示例,在实施本发明实施例时,可以根据实际情况设置其他报错信息,本发明实施例对此不加以限制。
第二系统环境信息可以为记录其他终端的系统环境相关的信息。
在本发明实施例的一种可选示例中,所述第二系统环境信息可以包括以下至少一种:
第二系统版本信息、第二启动项信息、第二应用程序信息。
第二系统版本信息可以记录指系统环境的版本的信息,例如,Windows xp、Windows 2000等等。
第二启动项信息可以记录系统环境的启动项的信息,可以包括允许启动的启动项,禁止启动的启动项。
第二应用程序信息可以记录在系统环境中安装的应用程序的信息。
当然,上述第二系统环境信息只是作为示例,在实施本发明实施例时,可以根据实际情况设置其他第二系统环境信息,例如,网络信息等等,本发明实施例对此不加以限制。
在本发明的一种可选实施例中,所述特征启动项可以通过以下方式查找:
子步骤S51,检测在所述第一系统版本信息和/或所述第一应用程序信息对应的系统环境,运行或启动所述应用程序标识和/或所述版本信息对应的应用程序,引起所述出错信息所被禁止启动的启动项。
在本发明实施例中,可以根据其他终端上报的报错信息(如应用程序标识、版本信息、出错方式)和第二系统环境信息(如第二系统版本信息、第二启动项信息、第二应用程序信息),查找引起该报错信息,被错误禁止启动的第一启动项。
例如,在服务器中构建应用程序(如应用程序标识、版本信息)和系统环境的场景(如第二系统版本信息、第二启动项信息、第二应用程序信息),针对当前所有禁用的启动项逐个启用,再启动、运行出现错误的应用程序,判断是否出现相同的错误,以判断哪个启动项被禁用导致出现问题。
在本发明的一种可选实施例中,所述第二系统环境信息与所述第一系统环境信息可以通过以下方式进行匹配:
子步骤S61,判断第二系统版本信息、第二启动项信息、第二应用程序信息中的至少一者,与对应的第一系统版本信息、第一启动项信息、第一应用程序信息中的至少一者是否匹配;若是,则执行子步骤S62;
子步骤S62,判断所述第二系统环境信息与所述第一系统环境信息匹配。
在本发明实施例中,第二系统版本信息可以与第一系统版本信息进行匹配,第二启动项信息可以与第一启动项信息进行匹配,第二应用程序信息可以与第一应用程序信息进行匹配,在这三组匹配中至少一组匹配成功,可以认为第二系统环境信息与第一系统环境信息匹配。
在本发明的一种可选实施例中,所述处理请求中可以包括所述启动项的使用信息,使用信息,可以为使用该启动项情况的信息。
则在本发明实施例中,所述服务器可以通过以下方式对启动项进行判断:
子步骤S71,采用所述启动项的使用信息计算所述启动项的使用频率;
由于启动项每次在系统环境启动时一般会自启动,但是并不是每个启动项对于用户都是有用的。
本发明实施例中,可以统计用户对于启动项的真正的使用频率,以识别该启动项是否是常用的启动项。
在本发明的一种可选实施例中,所述使用信息可以包括使用次数及对应的使用时间,子步骤S71可以包括如下子步骤:
子步骤S711,统计使用时间在预设的时间段内总的使用次数;
子步骤S712,由所述总的使用次数计算在所述时间段内所述启动项的使用频率。
本发明实施例中,可以在启动项使用时,记录启动项的使用次数,以计算使用频率。
需要说明的是,启动项进行了启动,并不一定意味着该启动项被使用了。
预设的时间段可以为与当前最近的时间段,例如,最近一个月、最近两个月等等,也可以是其他指定的时间段,本发明实施例对此不加以限制。
若确定了时间段,则可以查找使用时间在该时间段内的使用次数,统计获得总的使用次数。
本发明实施例可以以总的使用次数与时间段的比值作为使用频率,如N次/月、N次/天等等,N为正数。
在本发明的一种可选实施例中,所述启动项的使用次数可以通过以下方式记录:
子步骤S81,查询所述启动项对应的使用方式;
应用本发明实施例,可以预先为某个特定的启动项或某一类的启动项设置对应的使用方式,以该使用方式作为使用的标准。
子步骤S82,检测是否触发所述启动项的使用方式;若是,则执行子步骤S83;
应用本发明实施例,可以预先为某个特定的启动项或某一类的启动项设置对应的使用方式,以该使用方式作为使用的标准。
在本发明实施例的一种可选示例中,子步骤S82可以包括如下子步骤:
子步骤S821,当所述启动项为交互类对象时,判断是否在前端加载所述交互类对象的用户界面。
在本示例中,针对交互类对象(例如,视频播放器),若使用该交互类对象,用户一般在用户界面进行交互操作,则可以以在前端加载用户界面作为使用方式。
若检测到在前端加载交互类对象的用户界面,则可以判断触发了该交互类对象的使用方式。
若未检测到在前端加载交互类对象的用户界面,则可以判断未触发该交互类对象的使用方式。
在本发明实施例的一种可选示例中,子步骤S82可以包括如下子步骤:
子步骤S822,当所述启动项为支付类对象时,判断是否加载所述支付类对象的支付界面。
在本示例中,针对支付类对象(例如,网银支付工具),若使用该支付类对象,用户一般在支付界面进行支付操作,则可以以加载支付界面作为使用方式。
若检测到加载支付类对象的支付界面,则可以判断触发了该支付类对象的使用方式。
若未检测到加载支付类对象的用户界面,则可以判断未触发该支付类对象的使用方式。
在本发明实施例的一种可选示例中,子步骤S82可以包括如下子步骤:
子步骤S823,当所述启动项为网络类对象时,判断是否检测到由所述网络类对象产生的网络流量。
在本示例中,针对支付类对象(例如,网银支付工具),若使用该支付类对象,用户一般在支付界面进行支付操作,则可以以加载支付界面作为使用方式。
若检测到加载支付类对象的支付界面,则可以判断触发了该支付类对象的使用方式。
若未检测到加载支付类对象的用户界面,则可以判断未触发该支付类对象的使用方式。
在本发明实施例的一种可选示例中,子步骤S82可以包括如下子步骤:
子步骤S824,当所述启动项为驱动类对象时,判断所述驱动类对象关联的硬件是否启动。
在本示例中,针对驱动类对象(例如,手机驱动、打印机驱动),若使用该驱动类对象,用户一般驱动硬件进行操作,则可以以硬件启动为使用方式。
若检测到驱动类对象关联的硬件启动,则可以判断触发了该驱动类对象的使用方式。
若未检测到驱动类对象关联的硬件启动,则可以判断未触发该驱动类对象的使用方式。
当然,上述使用方式只是作为示例,在实施本发明实施例时,可以根据实际情况设置其他使用方式,本发明实施例对此不加以限制。另外,除了上述使用方式外,本领域技术人员还可以根据实际需要采用其它使用方式,本发明实施例对此也不加以限制。
子步骤S83,增加所述启动项的使用次数。
若检测到触发了启动项的使用方式,则可以增加该启动项的使用次数。
进一步地,为了方便进行统计,可以在增加使用次数的同时记录其使用时间。
子步骤S72,当所述使用频率低于预设的频率阈值时,判断所述启动项为不常用启动项。
若启动项的使用频率低于频率阈值,则可以认为该启动项为不常用启动项。
在本发明的一种可选实施例中,服务器可以通过以下方式确定一个或多个第一目标启动项:
子步骤S91,当所述启动项为顽固启动项时,确定所述启动项为第一目标启动项。
在本发明实施例中,若启动项为顽固启动项,该启动项可能存在恶意行为,或者,不是用户所需的,可以禁止启动。
在本发明的一种可选实施例中,服务器可以通过以下方式确定一个或多个第一目标启动项:
子步骤S92,当所述启动项为关联启动项时,排除所述启动项为第二目标启动项。
在本发明实施例中,特征启动项的处理方式可以作为当前终端的启动项处理方式的参考。
若当前终端的启动项与特征启动项匹配,禁止前终端的启动项启动,则可能出现与禁止特征启动项所引起的错误相同的问题,为避免该错误的出现,可以允许启动项启动。
例如,在当前终端的系统环境和其他终端的系统环境安装了相同的应用程序,该应用程序依赖于特征启动项,禁止该特征启动项启动,则可能引起错误,若在当前终端的系统环境中禁止与特征启动项匹配(如相同)的启动项启动,则可能引起相同的错误。
在本发明的一种可选实施例中,服务器可以通过以下方式确定一个或多个第一目标启动项:
子步骤S93,当所述启动项为不常用启动项时,确定所述启动项为第一目标启动项。
对于用户而言,不常用启动项的重要性比较低,可以禁止其启动。
需要说明的是,目标启动项还可以设置有优先级,若启动项匹配至少两个目标启动项,则可以按照该优先级确定该启动项是否作为第一目标启动项。
例如,若某个启动项同时为关联启动项和不常用启动项,可以设置关联启动项的优先级比不常用启动项的优先级高,则可以优先允许该启动项启动,可以排除该启动项作为第一目标启动项。
当然,本领域技术人员可以根据实际情况设置/调整目标启动项的优先级,本发明实施例对此不加以限制。
例如,若某个启动项同时为关联启动项和不常用启动项,该启动项所关联的应用程序是恶意程序或不常用的程序,则可以降低该关联启动项的优先级,使得其优先级低于不常用启动项,可以禁止启动项启动,可以确认该启动项作为第一目标启动项。
本发明实施例通过顽固启动项、关联启动项、不常用启动项等多个维度的判断,为允许或禁止启动项启动提供基础,进一步提高了优化启动项的精确度,降低了错误出现的几率。
步骤105,禁止所述一个或多个第一目标启动项启动。
在一种情况中,可以自动禁止第一目标启动项在系统环境启动时启动。
在另一种情况中,可以生成第一目标启动项的操作提示信息,如“XX不常用,是否禁止”,在用户界面(User Interface,UI)中展示,以让用户进行选择。
可以在接收到针对禁止第一目标启动项启动的提示信息的确认指示时,禁止第一目标启动项在系统环境启动时启动。
此种情况中,可以为每个提示信息配置一个用于触发确认指示的控件,若用户通过鼠标点击、触控点击等方式触发了该控件,相当于触发确认指示,可以确认该禁止启动指示对应的目标启动项。
在具体的禁止过程中,对于注册表中的启动项,可以通过删除启动项对应的注册表的键值来禁止开机时运行该启动项。
例如,如果需要禁止名为testrun.exe的启动项,则可以在注册表HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run目录下,查找并删除启动项注册表名称为testrun的键值项,然后删除该键值项的键值c:\test\testrun.exe。
对于系统目录下启动项文件夹中待禁止的启动项,可以直接删除开机启动项对应的可执行文件或是快捷方式,从而禁止系统环境启动时运行该启动项。
本发明实施例检测终端的启动耗时,以确定所属的启动耗时范围,并查找对应的一个或多个启动项集合,从中选取一个或多个第一目标启动项进行禁止,在不同的启动情况下进行合理的启动项的筛选,提高了优化启动项的精确度,降低了错误出现的几率。
在本发明的一种可选实施例中,若第一目标启动项为顽固启动项,参照图2所示的步骤流程图,终端可以通过以下方式禁止第一目标启动项启动:
步骤201,获取与第一目标启动项相关的启动项目的更新信息;
需要说明的是,所述第一目标启动项可以为指定的需禁止自启动的应用,其实质可以为操作系统中的启动项。
有些应用程序为了盈利(弹广告、修改浏览器主页等)而恶意设置为启动项,在操作系统启动时自启动,在发现时用户一般可以通过安全工具或者应用程序管理工具等方式进行禁止。
但是,某些恶意的应用程序具有变化快、功能复杂等特性,难以禁止自启动,例如,在被禁止后,今天回写一个服务,第二天又新加了另一个服务回写,不断扩展和变化,以保持其随操作系统的启动而自启动。
在本发明实施例中,可以在某一设备,如服务器(可以包括云服务器)维护最新版本的配置文件,该配置文件可以记录处理启动项的信息。
若发现无法禁止启动项的原因,则可以进行对应的处理并更新配置文件,发送至全网的客户端中,以更新客户端本地的配置文件,实现该启动项的全网快速禁止。
在一种情形中,该更新信息可以为增量文件。
客户端本地可以存储有旧版本的配置文件,在服务器中可以存储最新版本的配置文件,服务器可以针对旧版本的配置文件和新版本的配置文件,计算出这两者之间的差异,生成增量文件,发送至客户端。
在另一种情形中,该更新信息可以为完整文件。
服务器可以将最新版本的配置文件的更新信息完整发送至客户端。
在实际应用中,服务器可以主动将配置文件的更新信息推送至全网的客户端。例如,服务器可以定时(如每天6时、12时等)将配置文件的更新信息推送至全网的客户端,服务器也可以不定时(如配置文件更新时)将配置文件的更新信息推送至全网的客户端。
客户端也可以主动请求获取配置文件的更新信息,服务器响应客户端的请求,将配置文件发的更新信息送至客户端。例如,客户端可以定时(如每天6时、12时等)向服务器发送请求,客户端也可以不定时(如客户端刚启动,操作系统处于的系统资源、带宽占用较少的状态时)向服务器发送请求。
当然,本发明实施例还可以通过其他方式获取配置文件,例如,通过中转服务器进行分发,本发明实施例对此不加以限制。
步骤202,根据所述启动项目的更新信息更新配置文件;
若该更新信息为增量文件,则客户端可以在旧版本的配置文件的基础之上写入增量文件,获得最新版本的配置文件。
若该更新信息为完整文件,则客户端可以将最新版本的配置文件的更新信息整体替本地的旧版本的配置文件。
当然,本领域技术人员可以根据实际需要设置配置文件,配置文件中除了启动项目外,还可以写入其他信息,本发明实施例对此不加以限制。
步骤203,在操作系统启动时,读取所述配置文件中第一目标启动项的启动项目;
在具体实现中,所述第一目标启动项可以包括在先进行禁止启动操作,且禁止启动失败的启动项。
此种情形下,启动项在先通过被禁止启动,但是在运行时(关机前)会进行注册表回写、服务回写,再下次操作系统启动时依然会自启动,导致禁止启动失败,这些启动项也称为顽固启动项。
本发明实施例在操作系统启动时,读取配置文件中的启动项目,以禁止启动该启动项目对应的第一目标启动项。
步骤204,按照所述配置文件中的启动项目禁止对应的第一目标启动项启动。
本发明实施例在操作系统启动时,禁止启动项标识对应的第一目标启动项启动。
本发明实施例通过第一目标启动项相关的启动项目的更新信息对配置文件进行更新,在操作系统启动时,读取配置文件中第一目标启动项相关的启动项目,以禁止对应的第一启动项启动,通过在某一个设备(如服务器)维护配置文件,不仅减少了本地对配置文件维护的资源消耗,而且该设备(如服务器)可以快速对启动项的行为变化做出反应对配置文件进行修改,保证了行为配置文件的准确性,提高了本地禁止启动项启动的覆盖率和准确率,实现全网的快速禁止。
在本发明的一种可选实施例中,步骤204可以包括如下子步骤:
子步骤S101,在操作系统的内核模式中拦截所述启动项目的调用,以禁止对应的第一目标启动项启动;
在实际应用中,CPU指令从Ring0到Ring3分为4个特权级,在Windows操作系统中,可以使用其中的Ring0和Ring3这两个级别,Ring3即用户模式,Ring0即内核模式。
一般应用程序都运行在Ring3下,只能调用系统提供的API(Application ProgramInterface,应用程序编程接口),操作系统工作在Ring0层,可以访问所有层的数据。
本发明实施例中,可以获取内核模式的权限,操作系统启动时,可以在其内核模式中拦截启动项。
在本发明实施例的一种可选示例中,子步骤S101可以包括如下子步骤:
子步骤S1011,在操作系统的内核模式中挂钩指定的应用程序编程接口,以拦截所述启动项目的调用。
实际上,一个应用程序如果要实现其自身的功能要通过接口调用操作系统提供的功能函数,在Windows操作系统中一般是通过DLL(Dynamic Link Library,动态链接库)里的API提供,因此一个应用程序有怎么样的行为(操作),通过查看其调用了什么样的API就大概清楚了。
因此,作为本发明实施例的一种优选示例,可以通过在操作系统内核模式(Ring0)中来挂钩(HOOK)操作系统的API,检测一个进程的创建操作。
启动项在创建时,通常会创建相应的进程,而进程创建是一件相当复杂的事情,它包含相当多的工作,为了启动一个进程,可以使用下列步骤:
1、可执行文件被以FILE_EXECUTE存取方式打开。
2、可执行映像被装载进RAM。
3、建立进程执行对象(EPROCESS,KPROCESS和PEB结构)。
4、为新建进程分配地址空间。
5、建立进程的主线程的线程执行对象(ETHREAD,KTHREAD和TEBstructures)。
6、为主线程分配堆栈。
7、建立进程的主线程的执行上下文。
8、通知Win32子系统有关该新进程的创建情况。
为确保这些步骤中的任何一步的成功,所有其前面的步骤必须是成功执行的(如不能够在没有一个可执行区句柄的情况下建立一个可执行进程对象;没有文件句柄的情况下你无法映射一个可执行区,等等)。
因此,如果退出任何这些步骤,所有后面的步骤也会失败,以至于整个进程创建会失败。
上面所有的步骤都可以通过调用某些API的方式来实现,这是可以理解的。因此,为了监控进程创建,可以钩住这些API函数。
例如,为了监视进程的创建,可以挂钩NtCreateFile()和NtOpenFile(),或者钩住NtCreateSection(),不经调用这些API一般是无法运行任何可执行文件的。
进一步而言,SSDT表(System Services Descriptor Table,系统服务描述符表)可以将Ring3的Win32API和Ring0的API联系起来,可以基于SSDT表的特性,设计钩子拦截进程创建相关API调用,实现进程的拦截。
若拦截到的启动项目与配置文件中的启动项目匹配,可以认为该启动项目为目标启动项的启动项目,可以禁止该启动项目的调用,以禁止目标启动项的启动。
若拦截到的启动项目与配置文件中的启动项目匹配,可以认为该启动项目不为目标启动项的启动项目,可以允许该启动项目的调用,以放行目标启动项的启动。
本发明实施例在操作系统启动时,在内核模式中拦截、禁止启动项的启动,一方面在启动项还没完全启动时禁止启动,减少了启动该启动项所消耗的系统资源,另一方面,减少了启动项绕开禁止操作的几率,进一步提高了禁止启动的效率。
当然,本领域技术人员可以根据实际情况设置其他禁止目标启动项在系统环境启动时启动的方式,本发明实施例对此不加以限制。
对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图3,示出了根据本发明一个实施例的一种启动项的处理装置实施例的结构框图,具体可以包括如下模块:
检测模块301,适于检测终端的启动耗时;
确定模块302,适于确定所述启动耗时所属的启动耗时范围;
查找模块303,适于查找所述启动耗时范围对应的一个或多个启动项集合;
选取模块304,适于从所述一个或多个启动项集合中选取一个或多个第一目标启动项;
禁止模块305,适于禁止所述一个或多个第一目标启动项启动。
在具体实现中,所述启动项集合可以为根据一个或多个启动项启动时的系统资源占用信息进行划分获得的集合。
在本发明实施例的一种可选示例中,所述系统资源占用信息可以包括内存占用信息、CPU占用信息、磁盘I/O占用信息中的至少一种。
在本发明的一种可选实施例中,所述选取模块304还可以适于:
针对所述一个或多个启动项集合中的一个或多个启动项,向服务器发送处理请求;
获取服务器根据所述处理请求判断所述启动项是否为第二目标启动项,按照判断的结果从所述一个或多个启动项中确定的一个或多个第一目标启动项;
其中,所述第二目标启动项包括顽固启动项、关联启动项、不常用启动项中的至少一者。
在本发明的一种可选实施例中,所述顽固启动项可以包括在先进行禁止启动操作,且禁止启动失败的启动项。
在本发明的一种可选实施例中,所述顽固启动项可以通过以下方式识别:
采集启动项;
判断当前采集的启动项与在先采集的启动项之间的新增的启动项目相关的启动项为顽固启动项。
在本发明的一种可选实施例中,所述服务器可以通过以下方式对启动项进行判断:
判断所述启动项是否与在先采集的顽固启动项相同;若是,则判断所述启动项为顽固启动项。
在本发明的一种可选实施例中,所述处理请求中可以包括所述终端的第一系统环境信息,所述服务器可以通过以下方式对启动项进行判断:
当所述第一操作信息与预设的第二系统环境信息匹配时,判断所述启动项与预设的特征启动项是否匹配;
若是,则判断所述启动项为关联启动项;
其中,所述特征启动项为根据所述第二系统环境信息和针对应用程序的报错信息查找到的错误禁止启动的启动项。
在本发明实施例的一种可选示例中,所述报错信息包括以下至少一种:
应用程序标识、版本信息、出错信息。
在本发明实施例的一种可选示例中,所述第一系统环境信息可以包括以下至少一种:
第一系统版本信息、第一启动项信息、第一应用程序信息;
所述第二系统环境信息可以包括以下至少一种:
第二系统版本信息、第二启动项信息、第二应用程序信息。
在本发明的一种可选实施例中,所述特征启动项可以通过以下方式查找:
检测在所述第一系统版本信息和/或所述第一应用程序信息对应的系统环境,运行或启动所述应用程序标识和/或所述版本信息对应的应用程序,引起所述出错信息所被禁止启动的启动项。
在本发明的一种可选实施例中,所述第二系统环境信息与所述第一系统环境信息可以通过以下方式进行匹配:
判断第二系统版本信息、第二启动项信息、第二应用程序信息中的至少一者,与对应的第一系统版本信息、第一启动项信息、第一应用程序信息中的至少一者是否匹配;
若是,则判断所述第二系统环境信息与所述第一系统环境信息匹配。
在本发明的一种可选实施例中,所述处理请求中可以包括所述启动项的使用信息,所述服务器可以通过以下方式对启动项进行判断:
采用所述启动项的使用信息计算所述启动项的使用频率;
当所述使用频率低于预设的频率阈值时,判断所述启动项为不常用启动项。
在本发明的一种可选实施例中,所述使用信息可以包括使用次数及对应的使用时间,所述启动项的使用频率可以通过以下方式计算:
统计使用时间在预设的时间段内总的使用次数;
由所述总的使用次数计算在所述时间段内所述启动项的使用频率。
在本发明的一种可选实施例中,所述启动项的使用次数可以通过以下方式记录:
查询所述启动项对应的使用方式;
检测是否触发所述启动项的使用方式;若是,则增加所述启动项的使用次数。
在本发明的一种可选实施例中,所述启动项的使用方式可以通过以下方式检测:
当所述启动项为交互类对象时,判断是否在前端加载所述交互类对象的用户界面。
在本发明的一种可选实施例中,所述启动项的使用方式可以通过以下方式检测:
当所述启动项为支付类对象时,判断是否加载所述支付类对象的支付界面。
在本发明的一种可选实施例中,所述启动项的使用方式可以通过以下方式检测:
当所述启动项为网络类对象时,判断是否检测到由所述网络类对象产生的网络流量。
在本发明的一种可选实施例中,所述启动项的使用方式可以通过以下方式检测:
当所述启动项为驱动类对象时,判断所述驱动类对象关联的硬件是否启动。
在本发明的一种可选实施例中,服务器可以通过以下方式确定一个或多个第一目标启动项:
当所述启动项为顽固启动项时,确定所述启动项为第一目标启动项。
在本发明的一种可选实施例中,服务器可以通过以下方式确定一个或多个第一目标启动项:
当所述启动项为关联启动项时,排除所述启动项为第二目标启动项。
在本发明的一种可选实施例中,服务器可以通过以下方式确定一个或多个第一目标启动项:
当所述启动项为不常用启动项时,确定所述启动项为第一目标启动项。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的启动项的处理设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

Claims (40)

1.一种启动项的处理方法,包括:
检测终端的启动耗时;
确定所述启动耗时所属的启动耗时范围;
查找所述启动耗时范围对应的一个或多个启动项集合;
从所述一个或多个启动项集合中选取一个或多个第一目标启动项;
禁止所述一个或多个第一目标启动项启动;
其中,所述从所述一个或多个启动项集合中选取一个或多个第一目标启动项的步骤包括:
针对所述一个或多个启动项集合中的一个或多个启动项,向服务器发送处理请求;
获取服务器根据所述处理请求判断所述启动项是否为第二目标启动项,按照判断的结果从所述一个或多个启动项中确定的一个或多个第一目标启动项,所述第二目标启动项包括顽固启动项、关联启动项、不常用启动项中的至少一者;
所述处理请求中包括所述终端的第一系统环境信息,所述服务器通过以下方式对启动项进行判断:
当所述第一系统环境信息与预设的第二系统环境信息匹配时,判断所述启动项与预设的特征启动项是否匹配,所述特征启动项为根据所述第二系统环境信息和针对应用程序的报错信息查找到的错误禁止启动的启动项;
若是,则判断所述启动项为关联启动项。
2.如权利要求1所述的方法,其特征在于,所述启动项集合为根据一个或多个启动项启动时的系统资源占用信息进行划分获得的集合。
3.如权利要求2所述的方法,其特征在于,所述系统资源占用信息包括内存占用信息、CPU占用信息、磁盘I/O占用信息中的至少一种。
4.如权利要求1所述的方法,其特征在于,所述顽固启动项包括在先进行禁止启动操作,且禁止启动失败的启动项。
5.如权利要求1或4所述的方法,其特征在于,所述顽固启动项通过以下方式识别:
采集启动项;
判断当前采集的启动项与在先采集的启动项之间的新增的启动项目相关的启动项为顽固启动项。
6.如权利要求1或4所述的方法,其特征在于,所述服务器通过以下方式对启动项进行判断:
判断所述启动项是否与在先采集的顽固启动项相同;若是,则判断所述启动项为顽固启动项。
7.如权利要求1所述的方法,其特征在于,所述报错信息包括以下至少一种:
应用程序标识、版本信息、出错信息。
8.如权利要求1或7所述的方法,其特征在于,所述第一系统环境信息包括以下至少一种:
第一系统版本信息、第一启动项信息、第一应用程序信息;
所述第二系统环境信息包括以下至少一种:
第二系统版本信息、第二启动项信息、第二应用程序信息。
9.如权利要求8所述的方法,其特征在于,所述特征启动项通过以下方式查找:
检测在所述第一系统版本信息和/或所述第一应用程序信息对应的系统环境,运行或启动所述应用程序标识和/或所述版本信息对应的应用程序,引起所述报错信息所被禁止启动的启动项。
10.如权利要求8所述的方法,其特征在于,所述第二系统环境信息与所述第一系统环境信息通过以下方式进行匹配:
判断第二系统版本信息、第二启动项信息、第二应用程序信息中的至少一者,与对应的第一系统版本信息、第一启动项信息、第一应用程序信息中的至少一者是否匹配;
若是,则判断所述第二系统环境信息与所述第一系统环境信息匹配。
11.如权利要求1所述的方法,其特征在于,所述处理请求中包括所述启动项的使用信息,所述服务器通过以下方式对启动项进行判断:
采用所述启动项的使用信息计算所述启动项的使用频率;
当所述使用频率低于预设的频率阈值时,判断所述启动项为不常用启动项。
12.如权利要求11所述的方法,其特征在于,所述使用信息包括使用次数及对应的使用时间,所述采用所述启动项的使用信息计算所述启动项的使用频率的步骤包括:
统计使用时间在预设的时间段内总的使用次数;
由所述总的使用次数计算在所述时间段内所述启动项的使用频率。
13.如权利要求12所述的方法,其特征在于,所述启动项的使用次数通过以下方式记录:
查询所述启动项对应的使用方式;
检测是否触发所述启动项的使用方式;若是,则增加所述启动项的使用次数。
14.如权利要求13所述的方法,其特征在于,所述检测是否触发所述启动项的使用方式的步骤包括:
当所述启动项为交互类对象时,判断是否在前端加载所述交互类对象的用户界面。
15.如权利要求13所述的方法,其特征在于,所述检测是否触发所述启动项的使用方式的步骤包括:
当所述启动项为支付类对象时,判断是否加载所述支付类对象的支付界面。
16.如权利要求13所述的方法,其特征在于,所述检测是否触发所述启动项的使用方式的步骤包括:
当所述启动项为网络类对象时,判断是否检测到由所述网络类对象产生的网络流量。
17.如权利要求13所述的方法,其特征在于,所述检测是否触发所述启动项的使用方式的步骤包括:
当所述启动项为驱动类对象时,判断所述驱动类对象关联的硬件是否启动。
18.如权利要求1或4所述的方法,其特征在于,服务器通过以下方式确定一个或多个第一目标启动项:
当所述启动项为顽固启动项时,确定所述启动项为第一目标启动项。
19.如权利要求1所述的方法,其特征在于,服务器通过以下方式确定一个或多个第一目标启动项:
当所述启动项为关联启动项时,排除所述启动项为第二目标启动项。
20.如权利要求1或11所述的方法,其特征在于,服务器通过以下方式确定一个或多个第一目标启动项:
当所述启动项为不常用启动项时,确定所述启动项为第一目标启动项。
21.一种启动项的处理装置,包括:
检测模块,适于检测终端的启动耗时;
确定模块,适于确定所述启动耗时所属的启动耗时范围;
查找模块,适于查找所述启动耗时范围对应的一个或多个启动项集合;
选取模块,适于从所述一个或多个启动项集合中选取一个或多个第一目标启动项;
禁止模块,适于禁止所述一个或多个第一目标启动项启动;
其中,所述选取模块还适于:
针对所述一个或多个启动项集合中的一个或多个启动项,向服务器发送处理请求;
获取服务器根据所述处理请求判断所述启动项是否为第二目标启动项,按照判断的结果从所述一个或多个启动项中确定的一个或多个第一目标启动项,所述第二目标启动项包括顽固启动项、关联启动项、不常用启动项中的至少一者;
所述处理请求中包括所述终端的第一系统环境信息,所述服务器通过以下方式对启动项进行判断:
当所述第一系统环境信息与预设的第二系统环境信息匹配时,判断所述启动项与预设的特征启动项是否匹配,所述特征启动项为根据所述第二系统环境信息和针对应用程序的报错信息查找到的错误禁止启动的启动项;
若是,则判断所述启动项为关联启动项。
22.如权利要求21所述的装置,其特征在于,所述启动项集合为根据一个或多个启动项启动时的系统资源占用信息进行划分获得的集合。
23.如权利要求22所述的装置,其特征在于,所述系统资源占用信息包括内存占用信息、CPU占用信息、磁盘I/O占用信息中的至少一种。
24.如权利要求21所述的装置,其特征在于,所述顽固启动项包括在先进行禁止启动操作,且禁止启动失败的启动项。
25.如权利要求21或24所述的装置,其特征在于,所述顽固启动项通过以下方式识别:
采集启动项;
判断当前采集的启动项与在先采集的启动项之间的新增的启动项启动项目相关的启动项为顽固启动项。
26.如权利要求21或24所述的装置,其特征在于,所述服务器通过以下方式对启动项进行判断:
判断所述启动项是否与在先采集的顽固启动项相同;若是,则判断所述启动项为顽固启动项。
27.如权利要求21所述的装置,其特征在于,所述报错信息包括以下至少一种:
应用程序标识、版本信息、出错信息。
28.如权利要求21或27所述的装置,其特征在于,所述第一系统环境信息包括以下至少一种:
第一系统版本信息、第一启动项信息、第一应用程序信息;
所述第二系统环境信息包括以下至少一种:
第二系统版本信息、第二启动项信息、第二应用程序信息。
29.如权利要求28所述的装置,其特征在于,所述特征启动项通过以下方式查找:
检测在所述第一系统版本信息和/或所述第一应用程序信息对应的系统环境,运行或启动所述应用程序标识和/或所述版本信息对应的应用程序,引起所述报错信息所被禁止启动的启动项。
30.如权利要求28所述的装置,其特征在于,所述第二系统环境信息与所述第一系统环境信息通过以下方式进行匹配:
判断第二系统版本信息、第二启动项信息、第二应用程序信息中的至少一者,与对应的第一系统版本信息、第一启动项信息、第一应用程序信息中的至少一者是否匹配;
若是,则判断所述第二系统环境信息与所述第一系统环境信息匹配。
31.如权利要求21所述的装置,其特征在于,所述处理请求中包括所述启动项的使用信息,所述服务器通过以下方式对启动项进行判断:
采用所述启动项的使用信息计算所述启动项的使用频率;
当所述使用频率低于预设的频率阈值时,判断所述启动项为不常用启动项。
32.如权利要求31所述的装置,其特征在于,所述使用信息包括使用次数及对应的使用时间,所述启动项的使用频率可以通过以下方式计算:
统计使用时间在预设的时间段内总的使用次数;
由所述总的使用次数计算在所述时间段内所述启动项的使用频率。
33.如权利要求32所述的装置,其特征在于,所述启动项的使用次数通过以下方式记录:
查询所述启动项对应的使用方式;
检测是否触发所述启动项的使用方式;若是,则增加所述启动项的使用次数。
34.如权利要求33所述的装置,其特征在于,所述启动项的使用方式通过以下方式检测:
当所述启动项为交互类对象时,判断是否在前端加载所述交互类对象的用户界面。
35.如权利要求33所述的装置,其特征在于,所述启动项的使用方式通过以下方式检测:
当所述启动项为支付类对象时,判断是否加载所述支付类对象的支付界面。
36.如权利要求33所述的装置,其特征在于,所述启动项的使用方式通过以下方式检测:
当所述启动项为网络类对象时,判断是否检测到由所述网络类对象产生的网络流量。
37.如权利要求33所述的装置,其特征在于,所述启动项的使用方式通过以下方式检测:
当所述启动项为驱动类对象时,判断所述驱动类对象关联的硬件是否启动。
38.如权利要求21或24所述的装置,其特征在于,服务器通过以下方式确定一个或多个第一目标启动项:
当所述启动项为顽固启动项时,确定所述启动项为第一目标启动项。
39.如权利要求21所述的装置,其特征在于,服务器通过以下方式确定一个或多个第一目标启动项:
当所述启动项为关联启动项时,排除所述启动项为第二目标启动项。
40.如权利要求21或31所述的装置,其特征在于,服务器通过以下方式确定一个或多个第一目标启动项:
当所述启动项为不常用启动项时,确定所述启动项为第一目标启动项。
CN201410855019.4A 2014-12-31 2014-12-31 一种启动项的处理方法和装置 Active CN104572197B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410855019.4A CN104572197B (zh) 2014-12-31 2014-12-31 一种启动项的处理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410855019.4A CN104572197B (zh) 2014-12-31 2014-12-31 一种启动项的处理方法和装置

Publications (2)

Publication Number Publication Date
CN104572197A CN104572197A (zh) 2015-04-29
CN104572197B true CN104572197B (zh) 2018-09-04

Family

ID=53088355

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410855019.4A Active CN104572197B (zh) 2014-12-31 2014-12-31 一种启动项的处理方法和装置

Country Status (1)

Country Link
CN (1) CN104572197B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105630532A (zh) * 2014-12-01 2016-06-01 秦江波 电脑程序的开机启动方法
CN105138380B (zh) * 2015-09-21 2018-06-19 天脉聚源(北京)传媒科技有限公司 一种Linux系统的启动方法及装置
CN105739991A (zh) * 2016-02-23 2016-07-06 北京金山安全软件有限公司 一种应用程序处理方法、装置及电子设备
CN109254801A (zh) * 2017-07-12 2019-01-22 阿里巴巴集团控股有限公司 启动、配置方法,装置,设备,介质和操作系统
CN109684095B (zh) * 2018-12-26 2021-03-23 北京奇艺世纪科技有限公司 一种任务处理方法及任务分配设备
CN115827111B (zh) * 2023-02-16 2023-05-12 苏州浪潮智能科技有限公司 服务器启动项的调整方法和装置、存储介质及电子装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7676683B2 (en) * 2006-08-24 2010-03-09 Sony Computer Entertainment Inc. Method and system for rebooting a processor in a multi-processor system
CN102981863A (zh) * 2011-09-07 2013-03-20 奇智软件(北京)有限公司 一种开机启动项目的管理方法和装置
CN103064705A (zh) * 2012-12-18 2013-04-24 北京奇虎科技有限公司 计算机系统启动处理方法与装置
CN104166575A (zh) * 2014-08-22 2014-11-26 珠海市君天电子科技有限公司 启动项处理结果的判定方法及装置
CN104239139A (zh) * 2014-08-25 2014-12-24 北京金山安全软件有限公司 一种处理开机自启动项目的方法、装置及终端

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7676683B2 (en) * 2006-08-24 2010-03-09 Sony Computer Entertainment Inc. Method and system for rebooting a processor in a multi-processor system
CN102981863A (zh) * 2011-09-07 2013-03-20 奇智软件(北京)有限公司 一种开机启动项目的管理方法和装置
CN103064705A (zh) * 2012-12-18 2013-04-24 北京奇虎科技有限公司 计算机系统启动处理方法与装置
CN104166575A (zh) * 2014-08-22 2014-11-26 珠海市君天电子科技有限公司 启动项处理结果的判定方法及装置
CN104239139A (zh) * 2014-08-25 2014-12-24 北京金山安全软件有限公司 一种处理开机自启动项目的方法、装置及终端

Also Published As

Publication number Publication date
CN104572197A (zh) 2015-04-29

Similar Documents

Publication Publication Date Title
CN104572197B (zh) 一种启动项的处理方法和装置
US9953161B2 (en) Method, device and system for processing notification bar message
CN104573497B (zh) 一种启动项的处理方法和装置
US20200120082A1 (en) Techniques for securing credentials used by functions
US9009823B1 (en) Framework for efficient security coverage of mobile software applications installed on mobile devices
US10216510B2 (en) Silent upgrade of software with dependencies
US11757937B2 (en) Enabling webapp security through containerization
US9785772B1 (en) Architecture for centralized management of browser add-ons across multiple devices
US10176327B2 (en) Method and device for preventing application in an operating system from being uninstalled
CN105427096A (zh) 支付安全沙箱实现方法及系统与应用程序监控方法及系统
CN104484599A (zh) 一种基于应用程序的行为处理方法和装置
US10148752B2 (en) Enterprise level security orchestration
CN104091125A (zh) 处理悬浮窗的方法及悬浮窗处理装置
CN103678506B (zh) 在浏览器中加载应用程序快捷方式的方法、装置和浏览器
US11714663B2 (en) Application environment that implements native code functionality in progressive web applications
CN102999720B (zh) 程序鉴别方法和系统
US11334338B2 (en) Operating system update management
US20190188384A1 (en) Detecting script-based malware
CN103001947A (zh) 一种程序处理方法和系统
US20170286081A1 (en) Silent Installation of Software with Dependencies
CN104573495B (zh) 一种启动项的处理方法和装置
CN113391874A (zh) 一种虚拟机检测对抗方法、装置、电子设备及存储介质
CN113256296A (zh) 智能合约执行方法、系统、装置和存储介质
CN104573496B (zh) 一种禁止启动项启动的方法和装置
CN102999721A (zh) 一种程序处理方法和系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220808

Address after: Room 801, 8th floor, No. 104, floors 1-19, building 2, yard 6, Jiuxianqiao Road, Chaoyang District, Beijing 100015

Patentee after: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Address before: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park)

Patentee before: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Patentee before: Qizhi software (Beijing) Co.,Ltd.