发明内容
本发明专利申请是分案申请。原案的申请号是:201310409955.8,申请日是:2013年9月10日,发明名称是:浏览器运行环境检测方法、客户端、服务器及***。
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的浏览器运行环境检测方法、客户端、服务器及***。
依据本发明的一个方面,提供了一种浏览器运行环境检测方法,包括:根据预先存储的BHO白名单列表,确定所述浏览器中加载的每个BHO插件是否属于所述BHO白名单列表,其中,所述BHO白名单列表存储在客户端本地;对于属于所述BHO白名单列表的BHO插件,确定其扫描结果正常;对于不属于所述BHO白名单列表的BHO插件,再根据预先存储的BHO黑名单列表,确定其扫描结果是否异常,并对扫描结果为异常的BHO插件进行处理;其中,所述BHO黑名单列表存储在服务器上,且所述BHO黑名单列表是由所述服务器直接根据客户端反馈的异常BHO插件的标识信息进行配置并更新的;和/或,所述BHO黑名单列表是由所述服务器在根据客户端反馈的BHO插件加载时间确定出异常BHO插件的标识信息后进行配置并更新的。
可选地,所述所述根据预先存储的BHO白名单列表,确定所述浏览器中加载的每个BHO插件是否属于所述BHO白名单列表的步骤之前进一步包括步骤:遍历注册表,获取所述浏览器中加载的BHO插件的数量以及每个BHO插件的标识信息。
可选地,所述根据预先存储的BHO黑名单列表,确定其扫描结果是否异常的步骤之前,进一步包括步骤:将存储在服务器上的BHO黑名单列表下载并存储到客户端本地。
可选地,所述对扫描结果为异常的BHO插件进行处理具体包括如下处理方式中的一种或多种:将扫描结果为异常的BHO插件的状态设置为禁用;卸载扫描结果为异常的BHO插件;以及将扫描结果为异常的BHO插件提示给用户。
可选地,所述根据预先存储的BHO白名单列表,确定所述浏览器中加载的每个BHO插件是否属于所述BHO白名单列表的步骤之前,进一步包括步骤:测试所述浏览器在未加载BHO插件的情况下的第一启动时间,以及所述浏览器在加载了BHO插件的情况下的第二启动时间;计算所述第二启动时间与所述第一启动时间之间的差值,判断所述差值是否大于预设阈值;当所述差值大于所述预设阈值时,执行所述根据预先存储的BHO白名单列表,确定所述浏览器中加载的每个BHO插件是否属于所述BHO白名单列表的步骤。
可选地,测试浏览器在未加载BHO插件的情况下的第一启动时间具体包括:以调用extoff参数的方式启动浏览器,通过浏览器打开预定网页,并通过COM接口来获取浏览器打开所述预定网页的时间,作为第一启动时间;测试所述浏览器在加载了BHO插件的情况下的第二启动时间具体包括:以不调用参数的方式启动浏览器,通过浏览器打开所述预定网页,并通过COM接口来获取浏览器打开所述预定网页的时间,作为第二启动时间。
依据本发明的另一方面,提供了一种客户端,包括:白名单确定模块,适于根据预先存储的BHO白名单列表,确定所述浏览器中加载的每个BHO插件是否属于所述BHO白名单列表,对于属于所述BHO白名单列表的BHO插件,确定其扫描结果正常;对于不属于所述BHO白名单列表的BHO插件,交由黑名单确定模块处理;黑名单确定模块,适于根据所述预先存储的BHO黑名单列表,确定不属于所述BHO白名单列表的BHO插件的扫描结果是否异常,并对扫描结果为异常的BHO插件进行处理;其中,所述BHO黑名单列表存储在服务器上,且所述BHO黑名单列表是由所述服务器直接根据客户端反馈的异常BHO插件的标识信息进行配置并更新的;和/或,所述BHO黑名单列表是由所述服务器在根据客户端反馈的BHO插件加载时间确定出异常BHO插件的标识信息后进行配置并更新的。
可选地,进一步包括:遍历模块,适于遍历注册表,获取所述浏览器中加载的BHO插件的数量以及每个BHO插件的标识信息。
可选地,进一步包括:下载模块,适于将存储在服务器上的BHO黑名单列表下载并存储到客户端本地。
可选地,所述黑名单确定模块适于对扫描结果为异常的BHO插件进行如下处理方式中的一种或多种:将扫描结果为异常的BHO插件的状态设置为禁用;卸载扫描结果为异常的BHO插件;以及将扫描结果为异常的BHO插件提示给用户。
可选地,进一步包括:
测试模块,适于测试所述浏览器在未加载BHO插件的情况下的第一启动时间,以及所述浏览器在加载了BHO插件的情况下的第二启动时间;
判断模块,适于计算所述第二启动时间与所述第一启动时间之间的差值,判断所述差值是否大于预设阈值,并在所述差值大于所述预设阈值时,通知所述白名单确定模块进行处理。
可选地,所述测试模块适于以调用extoff参数的方式启动浏览器,通过浏览器打开预定网页,并通过COM接口来获取浏览器打开所述预定网页的时间,作为第一启动时间;以不调用参数的方式启动浏览器,通过浏览器打开所述预定网页,并通过COM接口来获取浏览器打开所述预定网页的时间,作为第二启动时间。
依据本发明的另一方面,提供了一种服务器,包括:配置模块,适于在运营过程中配置并存储BHO黑名单列表;其中,配置模块适于直接根据客户端反馈的异常BHO插件的标识信息配置并更新BHO黑名单列表;和/或,配置模块适于在根据客户端反馈的BHO插件加载时间确定出异常BHO插件的标识信息后配置并更新BHO黑名单列表;查询模块,适于接收客户端发送的扫描请求,并根据扫描请求中包含的浏览器中加载的每个BHO插件的标识信息,查询BHO黑名单列表,并向客户端返回查询结果。
依据本发明的另一方面,提供了一种浏览器运行环境检测***,包括上述的客户端及服务器。
在本发明提供的浏览器运行环境检测方法、客户端、服务器及***中,通过预先设置的白名单列表以及黑名单列表对浏览器中加载的各个BHO插件进行扫描,以确定存在异常的BHO插件。由此解决了因某些BHO插件对浏览器的运行环境造成影响,从而导致浏览器的启动速度缓慢的问题,取得了能够快速启动浏览器,降低用户等待时间的有益效果。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明实施例提供了一种浏览器运行环境检测方法、客户端、服务器及***,用以解决现有技术中因某些BHO插件对浏览器的运行环境造成影响,从而导致浏览器的启动速度缓慢的问题。
图1a示出了本发明一个实施例提供的浏览器运行环境检测方法的流程图。如图1a所示,该方法包括以下步骤:
步骤S110、根据预先存储的BHO白名单列表,确定浏览器中加载的每个BHO插件是否属于BHO白名单列表,其中,BHO白名单列表存储在客户端本地。
步骤S120、对于属于BHO白名单列表的BHO插件,确定其扫描结果正常;对于不属于BHO白名单列表的BHO插件,再根据预先存储的BHO黑名单列表,确定其扫描结果是否异常。
步骤S130、对扫描结果为异常的BHO插件进行处理。
其中,BHO黑名单列表存储在服务器上,且BHO黑名单列表是由服务器直接根据客户端反馈的异常BHO插件的标识信息进行配置并更新的;和/或,BHO黑名单列表是由服务器在根据客户端反馈的BHO插件加载时间确定出异常BHO插件的标识信息后进行配置并更新的。
在本发明实施例提供的方法中,通过预先设置的白名单列表以及黑名单列表对浏览器中加载的各个BHO插件进行扫描,以确定存在异常的BHO插件。由此解决了因某些BHO插件对浏览器的运行环境造成影响,从而导致浏览器的启动速度缓慢的问题,取得了能够快速启动浏览器,降低用户等待时间的有益效果。
图1b示出了本发明另一实施例提供的浏览器运行环境检测方法流程图。如图1b所示,该方法始于步骤S110’。在步骤S110’中,测试浏览器在未加载BHO插件的情况下的第一启动时间t1,以及该浏览器在加载了BHO插件的情况下的第二启动时间t2。
具体地,在上述的步骤S110’中,测试浏览器在未加载BHO插件的情况下的第一启动时间t1的具体实现方式包括:以调用extoff参数的方式启动浏览器,此时,浏览器将以不加载任何插件(包括BHO插件)的方式进行启动,然后,通过该浏览器打开一个预定网页,该预定网页可以是预先存储在一个预定列表中的若干网页中的一个,也可以是默认的常用网页(例如百度或搜狐的网页),并通过COM接口来获取浏览器打开该预定网页的时间,作为第一启动时间t1。其中,COM接口是一个用来监控浏览器的各种行为的接口,直接调用该接口就可以获取到浏览器打开预定网页的时间。
测试浏览器在加载了BHO插件的情况下的第二启动时间t2的具体实现方式包括:以不调用任何参数的方式启动浏览器,此时,浏览器将以加载BHO插件的方式进行启动,然后,通过该浏览器打开同一个预定网页,并通过COM接口来获取浏览器打开该预定网页的时间,作为第二启动时间t2。
通过步骤S110’得到上述的第一启动时间t1和第二启动时间t2之后,在步骤S120’中,计算上述的第二启动时间t2与第一启动时间t1之间的差值t’(t’=t2﹣t1),判断该差值t’是否大于预设阈值T。其中,该预设阈值T的具体取值通常是根据经验来确定的,例如,可以将该预设阈值T的值取为两秒,当差值t’超过两秒时,则执行步骤S130’。
本领域技术人员可以知晓的是,上述的步骤S110’以及步骤S120’并不是本发明中必需的步骤,在本发明其他的实施例中,可以省略步骤S110’以及步骤S120’,直接从步骤S130’中描述的扫描步骤开始执行,同样能够实现本发明中的上述目的。
在步骤S130’中,当上述差值大于预设阈值时,对该浏览器中加载的每个BHO插件分别进行扫描,并对扫描结果为异常的BHO插件进行处理。
具体地,在步骤S130’中,对浏览器中加载的每个BHO插件分别进行扫描的过程如下:首先,遍历注册表,获取该浏览器中加载的BHO插件的数量以及每个BHO插件的标识信息。其中,在注册表中存储了每一个BHO插件的标识信息及其存储位置,通过遍历注册表就可以获取到浏览器中加载了多少个BHO插件以及每个BHO插件的标识信息和具***置。其中,BHO插件的标识信息包括以下信息中的一项或多项:BHO插件的名称、发布该BHO插件的公司名称(例如,某个公司专门研发恶意的BHO插件,则可以根据该公司的名称来确定异常BHO插件)、BHO插件中所包含的签名信息(该签名信息通常存储在BHO插件所对应的动态库文件中,用于标识BHO插件并可实现一定的防伪功能)。然后,根据预先存储的BHO黑名单列表,确定该浏览器中加载的每个BHO插件的扫描结果是否异常。其中,该BHO黑名单列表可以预先存储在云服务器上,其中存储了预先确定为异常状态的所有BHO插件的标识信息。其中,云服务器也可以通过其他的普通服务器替代。
下面先来介绍一下上述的BHO黑名单列表的两种可能的配置方法:
在第一种配置方法中,该BHO黑名单列表是由云服务器直接根据客户端反馈的异常BHO插件的标识信息进行配置并更新的。在这种方式中,客户端反馈异常BHO插件的标识信息时可以通过多种方式进行反馈,例如,可以由客户端在运行过程中通过各种方式来发现异常BHO插件(例如由用户主动判断或通过一些查询工具进行判断);或者,也可以由用户在发现电脑运行异常时向运营商反馈,由运营商派出工程师上门维修,在此过程中,如果工程师发现了异常BHO插件则可以通过客户端将这一异常BHO插件反馈给云服务器。此处所说的异常BHO插件主要是指在运行时真正出现了某种异常状态(例如故障等)的BHO插件。
在第二种配置方法中,该BHO黑名单列表是由云服务器在根据客户端反馈的BHO插件加载时间确定出异常BHO插件的标识信息后进行配置并更新的。具体地,在这一配置方法中,可以由各个客户端在每次开启浏览器时将浏览器的响应时间自动发送给云服务器(其中,浏览器的响应时间可以直接通过注册表读取),由云服务器通过统计分析的方式来判断是否存在着响应时间明显超出正常范围的浏览器,当判断结果为是时,进一步分析响应时间超出正常范围的浏览器中的各个BHO插件的加载时间。其中,浏览器中的每个BHO插件的加载时间也可以直接通过注册表来获取,为了便于查找出是哪一个BHO插件存在问题,云服务器通常要获取所有客户端上的BHO插件的加载时间,然后进一步通过统计分析的方式来查找出存在问题的BHO插件,将这一插件存入BHO黑名单列表中。由于本发明的目的是为了对浏览器的运行环境进行优化,以提高其浏览速度,因此,此处所说的存在问题的BHO插件不仅包括上面提到的在运行时真正出现了某种异常状态的BHO插件,还包括一些加载时间明显超出用户的忍耐范围的BHO插件,因此,第二种配置方法实际上主要是从加载时间的角度来考虑的,主要目的在于将加载时间明显超出用户的忍耐范围的这部分BHO插件作为异常BHO插件筛选出来。
上面的两种配置方法既可以单独使用,也可以结合使用。另外,除了上述的两种配置方法外,其他能够找出异常BHO插件的方式也都可以应用于本发明。
介绍完BHO黑名单列表的配置方法之后,接下来,详细介绍一下根据上述BHO黑名单列表,确定浏览器中加载的每个BHO插件的扫描结果是否异常的几种实现方式:
在第一种实现方式中,可以直接根据上述BHO黑名单列表来确定浏览器中加载的每个BHO插件的扫描结果是否异常。例如,可以将浏览器中加载的每个BHO插件的标识信息发送给云服务器,由云服务器查询BHO黑名单列表后,将属于BHO黑名单列表的BHO插件的扫描结果确定为异常。在这样的处理方式中,需要将浏览器中加载的每个BHO插件的标识信息全部发送给云服务器,且需要等待云服务器返回查询结果,因而可能会因网络原因而增大查询时间。为此,还可以预先将存储在云服务器上的BHO黑名单列表下载并存储到客户端本地,这一操作既可以在客户端需要查询BHO黑名单列表时,由客户端向云服务器发送查询请求来触发,也可以每隔预设的时间间隔自动触发,或者,也可以在云服务器每次更新BHO黑名单列表后主动将更新后的列表发送给客户端。这样一来,客户端无需将浏览器中加载的每个BHO插件的标识信息发送给云服务器就可以直接在本地得出查询结果,这样可以显著提高下次查询时所需的时间。
在第二种实现方式中,并不是直接根据上述BHO黑名单列表来确定浏览器中加载的每个BHO插件的扫描结果是否异常的,而是先根据一个BHO白名单列表来确定浏览器中加载的每个BHO插件是否正常,对于确定出正常的BHO插件则无需再查询黑名单列表。该实现方式具体包括如下过程:首先,根据预先存储的BHO白名单列表,确定浏览器中加载的每个BHO插件是否属于该BHO白名单列表。其中,该BHO白名单列表通常存储在客户端本地,在该BHO白名单列表中存储了预先通过各种方式被确定为正常的BHO插件的标识信息,因此,对于属于该BHO白名单列表的BHO插件,直接确定其扫描结果正常;对于不属于该BHO白名单列表的BHO插件,再根据上述的BHO黑名单列表,确定其是否属于上述的BHO黑名单列表,如果是,则确定其扫描结果异常。在这种实现方式中,如果浏览器中加载的每个BHO插件都属于白名单列表,则无需再查询黑名单列表,而且,通常情况下,白名单列表存储在客户端本地,而黑名单列表则可能仅存储在云服务器端,因而通过上述方式有可能直接在客户端进行查询即可得出查询结果,由此避免了通过云服务器进行查询时的网络传输和耗时问题,显著提升了查询的效率。即使在通过白名单列表不能确定出所有的BHO插件均为正常,还需进一步借助黑名单列表的情况下,也只需要对不属于白名单列表的BHO插件进行进一步地查询,由此也可以大大减少传输数据量,从而缩短耗时。
通过上面介绍的方式,就可以在浏览器所加载的各个BHO插件中,筛选出异常的BHO插件。
在步骤S130’中执行完扫描过程后,对扫描结果为异常的BHO插件进行处理时,具体可通过如下三种处理方式中的一种或多种进行处理:
在第一种处理方式中,将扫描结果为异常的BHO插件的状态设置为禁用。在这种处理方式中,只是将异常的BHO插件的状态设置为禁用,并没有将其删除,因此,当后期需要使用该BHO插件时,还可以将其状态重新设置为启用,从而应用该BHO插件的功能。
在第二种处理方式中,对扫描结果为异常的BHO插件进行卸载。在这种处理方式中,直接将异常的BHO插件永久性删除,除非重新安装该BHO插件,否则无法再次启用该插件。
在具体执行时,可以根据异常BHO插件的类型来确定执行上述的第一种处理方式或第二种处理方式。结合上面描述的BHO黑名单列表的两种配置方法可知,异常BHO插件的类型可以分为两大类,第一大类为实际上处于正常状态的BHO插件,仅仅因为其加载时间过长而导致浏览器响应缓慢,所以才将其确定为扫描结果为异常的BHO插件。第一大类中的BHO插件的主要特点为运行状态正常,且执行的行为是合法的,具体可以通过监测BHO插件的运行状态,并分析其行为特征来确定其类型。例如,“输入法助手”这一BHO插件就会导致打开网页的速度比较慢,因此,在不需要使用这一插件时可以将其设置为禁用,以便提高访问速度,仅在使用这一插件时再将其打开。第二大类为真正处于异常状态的BHO插件,第二大类中的BHO插件的主要特点为运行状态异常(例如出现了故障),或执行的行为是非法的。通常情况下,对于上述的第一大类中的BHO插件,可以执行上述的第一种处理方式;对于上述的第二大类中的BHO插件,可以执行上述的第二种处理方式。可选地,为了能够直接根据BHO黑名单列表来区分出BHO插件的异常类型,还可以在配置BHO黑名单列表的同时,根据黑名单列表中的每个BHO插件的特点,为列表中的每个BHO插件设置一个类型标识,用来标识其属于第一大类或第二大类。
除了上述两种处理方式之外,在第三种处理方式中,能够将扫描结果为异常的BHO插件提示给用户。也就是说,在第三种处理方式中,并不直接对异常BHO插件进行处理,而是将异常BHO插件的信息提示给用户,由用户来决定是否处理以及执行何种处理。由用户来确定处理方式时,能够充分尊重用户的选择,满足用户的需求。
上述的三种处理方式既可以单独使用也可以结合使用。除上述三种处理方式外,本领域技术人员还可以灵活应用其他的处理方式对其进行处理,本发明对此不作限定。
在上述的各个步骤中,通过在浏览器打开网页速度过慢时,对其中加载的各个BHO插件进行扫描的方式,能够排查出影响浏览器运行速度的BHO插件,进而实现优化浏览器运行环境,提升运行速度的目的。
图2示出了本发明提供的客户端200的结构图,该客户端200用于检测浏览器运行环境。如图2所示,该客户端200包括:测试模块210、判断模块220以及扫描模块230。下面具体介绍一下各个模块的工作过程:
测试模块210用来测试浏览器在未加载BHO插件的情况下的第一启动时间,以及该浏览器在加载了BHO插件的情况下的第二启动时间。其中,测试模块210的具体工作过程可参照步骤S110’中的相应描述,此处不再赘述。
判断模块220用来计算上述的第二启动时间与第一启动时间之间的差值,判断该差值是否大于预设阈值。其中,判断模块220的具体工作过程可参照步骤S120’中的相应描述,此处不再赘述。
扫描模块230适于当该差值大于预设阈值时,对浏览器中加载的每个BHO插件分别进行扫描,并对扫描结果为异常的BHO插件进行处理。
其中,扫描模块230进一步包括:遍历子模块,适于遍历注册表,获取该浏览器中加载的BHO插件的数量以及每个BHO插件的标识信息;确定模块,适于根据云服务器上预先存储的BHO黑名单列表,确定该浏览器中加载的每个BHO插件的扫描结果是否异常。其中,确定子模块还可以进一步包括:白名单确定模块,适于根据预先存储的BHO白名单列表,确定浏览器中加载的每个BHO插件是否属于该BHO白名单列表,对于属于该BHO白名单列表的BHO插件,确定其扫描结果正常;对于不属于该BHO白名单列表的BHO插件,交由黑名单确定模块处理;黑名单确定模块,适于根据预先存储的BHO黑名单列表,确定不属于该BHO白名单列表的BHO插件的扫描结果是否异常。其中,关于上述的各个模块及子模块的具体工作过程可参照方法实施例中相应部分的表述,此处不再赘述。另外,关于上述的BHO黑名单列表的具体获取方式也可以参照方法实施例中相关部分的描述。而且,为了能够在本地查询BHO黑名单列表,该客户端还可以包括:下载模块,适于将存储在云服务器上的BHO黑名单列表下载并存储到客户端本地,以便于下次查询。
另外,扫描模块230在对扫描结果为异常的BHO插件进行如下处理时,可通过如下方式中的一种或多种进行处理:将扫描结果为异常的BHO插件的状态设置为禁用;卸载扫描结果为异常的BHO插件;以及将扫描结果为异常的BHO插件提示给用户。
在具体实现时,上述的测试模块210、判断模块220以及扫描模块230可以通过安装在客户端200上的一个优化软件的形式来实现。
图3示出了包含上述的测试模块210、判断模块220以及扫描模块230的优化软件在初始阶段的界面示意图。如图3所示,该优化软件可以具有多种优化功能,其中,通过点击界面最下方的“浏览器优化”按钮以及“开始检测”的图标即可触发上述各模块进行工作。图4示出了包含上述的测试模块210、判断模块220以及扫描模块230的优化软件在运行结束阶段的界面示意图。如图4所示,在界面下方扫描到的三个结果:“泡泡天气弹窗组件”、“福橙娱乐平台”以及“飞火视频及附带广告组件”都是通过本发明实施例描述的方式扫描到的异常BHO插件。如果用户勾选上述插件并点击“一键加速”即可完成对这些异常BHO插件的处理。
另外,本领域技术人员还可以对上述的客户端200的结构划分方式进行各种变形及调整。下面给出上述客户端的另一种结构划分方式:
该客户端包括:
白名单确定模块,适于根据预先存储的BHO白名单列表,确定所述浏览器中加载的每个BHO插件是否属于所述BHO白名单列表,对于属于所述BHO白名单列表的BHO插件,确定其扫描结果正常;对于不属于所述BHO白名单列表的BHO插件,交由黑名单确定模块处理;
黑名单确定模块,适于根据所述预先存储的BHO黑名单列表,确定不属于所述BHO白名单列表的BHO插件的扫描结果是否异常,并对扫描结果为异常的BHO插件进行处理;具体处理时,可以对扫描结果为异常的BHO插件进行如下处理方式中的一种或多种:将扫描结果为异常的BHO插件的状态设置为禁用;卸载扫描结果为异常的BHO插件;以及将扫描结果为异常的BHO插件提示给用户;
其中,所述BHO黑名单列表存储在服务器上,且所述BHO黑名单列表是由所述服务器直接根据客户端反馈的异常BHO插件的标识信息进行配置并更新的;和/或,所述BHO黑名单列表是由所述服务器在根据客户端反馈的BHO插件加载时间确定出异常BHO插件的标识信息后进行配置并更新的。
可选地,该客户端进一步包括:遍历模块,适于遍历注册表,获取所述浏览器中加载的BHO插件的数量以及每个BHO插件的标识信息。可选地,该客户端进一步包括:下载模块,适于将存储在服务器上的BHO黑名单列表下载并存储到客户端本地。
可选地,该客户端进一步包括:测试模块,适于测试所述浏览器在未加载BHO插件的情况下的第一启动时间,以及所述浏览器在加载了BHO插件的情况下的第二启动时间;判断模块,适于计算所述第二启动时间与所述第一启动时间之间的差值,判断所述差值是否大于预设阈值,并在所述差值大于所述预设阈值时,通知所述白名单确定模块进行处理。其中,所述测试模块适于以调用extoff参数的方式启动浏览器,通过浏览器打开预定网页,并通过COM接口来获取浏览器打开所述预定网页的时间,作为第一启动时间;以不调用参数的方式启动浏览器,通过浏览器打开所述预定网页,并通过COM接口来获取浏览器打开所述预定网页的时间,作为第二启动时间。
本发明还提供了一种服务器,该服务器能够用于检测浏览器运行环境。并且,优选地,该服务器为云服务器。图5示出了云服务器300的结构示意图,如图5所示,该云服务器300包括:配置模块310和查询模块320。
其中,配置模块310用来在运营过程中根据客户端的反馈信息配置并存储BHO黑名单列表。
具体地,配置模块310可以直接根据客户端反馈的异常BHO插件的标识信息配置并更新BHO黑名单列表。此时,该BHO黑名单列表是由配置模块310直接根据客户端反馈的异常BHO插件的标识信息进行配置并更新的。在这种方式中,客户端反馈异常BHO插件的标识信息时可以通过多种方式进行反馈,例如,可以由客户端在运行过程中通过各种方式来发现异常BHO插件(例如由用户主动判断或通过一些查询工具进行判断);或者,也可以由用户在发现电脑运行异常时向运营商反馈,由运营商派出工程师上门维修,在此过程中,如果工程师发现了异常BHO插件则可以通过客户端将这一异常BHO插件反馈给云服务器中的配置模块310。
另外,配置模块310还可以在根据客户端反馈的BHO插件加载时间确定出异常BHO插件的标识信息后配置并更新BHO黑名单列表。此时,该BHO黑名单列表是由配置模块310在根据客户端反馈的BHO插件加载时间确定出异常BHO插件的标识信息后进行配置并更新的。具体地,可以由各个客户端在每次开启浏览器时将浏览器的响应时间自动发送给云服务器(其中,浏览器的响应时间可以直接通过注册表读取),由云服务器中的配置模块310在接收到各个客户端中的浏览器响应时间后,通过统计分析的方式来判断是否存在着响应时间明显超出正常范围的浏览器,当判断结果为是时,进一步分析响应时间超出正常范围的浏览器中的各个BHO插件的加载时间。其中,浏览器中的每个BHO插件的加载时间也可以直接通过注册表来获取,为了便于查找出是哪一个BHO插件存在问题,云服务器中的配置模块310通常要获取所有客户端上的BHO插件的加载时间,然后进一步通过统计分析的方式来查找出存在问题的BHO插件,将这一插件存入BHO黑名单列表中。
查询模块320用来接收客户端发送的扫描请求,并根据该扫描请求中包含的浏览器中加载的每个BHO插件的标识信息,查询BHO黑名单列表,并向客户端返回查询结果。具体地,查询模块320主要用于在上述的客户端200中的扫描模块230执行扫描过程时,配合扫描模块230完成扫描。例如,当扫描模块230对浏览器中加载的每个BHO插件分别进行扫描时,可以向云服务器中的查询模块320发送一个扫描请求,在该扫描请求中包含浏览器中加载的每个BHO插件的标识信息,然后,查询模块320根据扫描请求中所包含的BHO插件的标识信息来查询存储的BHO黑名单列表,以判断扫描请求中所包含的BHO插件是否存储在该BHO黑名单列表里,并将查询结果返回给客户端200中的扫描模块230,此时,查询模块320返回的查询结果中包含每个BHO插件是否属于BHO黑名单列表的判断结果。在上述过程中,由客户端向云服务器发送BHO插件的标识信息,然后由云服务器来根据BHO黑名单列表判断每个BHO插件是否属于黑名单列表,这样做的好处在于:传输的数据量较少,因此,传输时延短,能够快速取得结果。
实际上,也可以由客户端向云服务器发送一个不包含任何BHO插件名称的扫描请求,然后,由云服务器将存储的BHO黑名单列表中的信息全部发送给该客户端,该客户端将该BHO黑名单列表下载到本地后直接在本地查询并得出查询结果,这样做虽然需要传输大量的数据(即:全部的BHO黑名单列表),但是,当客户端将该BHO黑名单列表存储到本地后,可以方便下一次查询,尤其是在断网情况下也能基于上一次在本地存储的BHO黑名单列表得出查询结果,从而大大方便了用户。
图6示出了本发明提供的检测浏览器运行环境的***结构图。如图6所示,该***包括:至少一个客户端200和云服务器300。其中,客户端200和云服务器300的具体结构和工作原理可参照上文实施例的描述,此处不再赘述。另外,图6中是以服务器为云服务器为例进行描述的,实际上,本发明提供的服务器也可以是除云服务器之外的普通服务器。
在上述***中,BHO黑名单列表是由云服务器进行创建的,而云服务器与普通服务器相比,无论是在数据的可靠性方面,还是在数据配置和数据恢复的速度方面都具有不可比拟的优势,例如,当一个客户端向云服务器反馈一个异常BHO插件后,云服务器能够立即根据这一反馈对BHO黑名单列表进行更新,更新后所有客户端都能够及时地在后续的处理过程中查询到更新后的BHO黑名单列表。所以,当本发明中采用云服务器来创建BHO黑名单列表时具有便捷简单高效的特点,当然,本领域技术人员能够理解的是,本发明也可以应用其他的普通服务器来实现。
在本发明提供的浏览器运行环境检测方法、客户端、服务器及***中,当测试到浏览器在加载BHO插件后所延长的启动时间超过了预设阈值时,说明浏览器中加载的BHO插件已经严重影响了浏览器的启动速度,此时,通过对浏览器中加载的每个BHO插件进行扫描,并对扫描结果为异常的BHO插件进行处理的方式来优化浏览器的运行环境。由此解决了因某些BHO插件对浏览器的运行环境造成影响,从而导致浏览器的启动速度缓慢的问题,取得了能够快速启动浏览器,降低用户等待时间的有益效果。
在此提供的算法和显示不与任何特定计算机、虚拟***或者其它设备固有相关。各种通用***也可以与基于在此的示教一起使用。根据上面的描述,构造这类***所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明公开了:
A1、一种浏览器运行环境检测方法,包括:
根据预先存储的BHO白名单列表,确定所述浏览器中加载的每个BHO插件是否属于所述BHO白名单列表,其中,所述BHO白名单列表存储在客户端本地;
对于属于所述BHO白名单列表的BHO插件,确定其扫描结果正常;
对于不属于所述BHO白名单列表的BHO插件,再根据预先存储的BHO黑名单列表,确定其扫描结果是否异常,并对扫描结果为异常的BHO插件进行处理;
其中,所述BHO黑名单列表存储在服务器上,且所述BHO黑名单列表是由所述服务器直接根据客户端反馈的异常BHO插件的标识信息进行配置并更新的;和/或,所述BHO黑名单列表是由所述服务器在根据客户端反馈的BHO插件加载时间确定出异常BHO插件的标识信息后进行配置并更新的。
A2、如A1所述的方法,其中,所述所述根据预先存储的BHO白名单列表,确定所述浏览器中加载的每个BHO插件是否属于所述BHO白名单列表的步骤之前进一步包括步骤:
遍历注册表,获取所述浏览器中加载的BHO插件的数量以及每个BHO插件的标识信息。
A3、如A1所述的方法,其中,所述根据预先存储的BHO黑名单列表,确定其扫描结果是否异常的步骤之前,进一步包括步骤:
将存储在服务器上的BHO黑名单列表下载并存储到客户端本地。
A4、如A1所述的方法,其中,所述对扫描结果为异常的BHO插件进行处理具体包括如下处理方式中的一种或多种:
将扫描结果为异常的BHO插件的状态设置为禁用;
卸载扫描结果为异常的BHO插件;以及
将扫描结果为异常的BHO插件提示给用户。
A5、如A1所述的方法,其中,所述根据预先存储的BHO白名单列表,确定所述浏览器中加载的每个BHO插件是否属于所述BHO白名单列表的步骤之前,进一步包括步骤:
测试所述浏览器在未加载BHO插件的情况下的第一启动时间,以及所述浏览器在加载了BHO插件的情况下的第二启动时间;
计算所述第二启动时间与所述第一启动时间之间的差值,判断所述差值是否大于预设阈值;
当所述差值大于所述预设阈值时,执行所述根据预先存储的BHO白名单列表,确定所述浏览器中加载的每个BHO插件是否属于所述BHO白名单列表的步骤。
A6、如A5所述的方法,其中,测试浏览器在未加载BHO插件的情况下的第一启动时间具体包括:以调用extoff参数的方式启动浏览器,通过浏览器打开预定网页,并通过COM接口来获取浏览器打开所述预定网页的时间,作为第一启动时间;
测试所述浏览器在加载了BHO插件的情况下的第二启动时间具体包括:以不调用参数的方式启动浏览器,通过浏览器打开所述预定网页,并通过COM接口来获取浏览器打开所述预定网页的时间,作为第二启动时间。
B7、一种客户端,包括:
白名单确定模块,适于根据预先存储的BHO白名单列表,确定所述浏览器中加载的每个BHO插件是否属于所述BHO白名单列表,对于属于所述BHO白名单列表的BHO插件,确定其扫描结果正常;对于不属于所述BHO白名单列表的BHO插件,交由黑名单确定模块处理;
黑名单确定模块,适于根据所述预先存储的BHO黑名单列表,确定不属于所述BHO白名单列表的BHO插件的扫描结果是否异常,并对扫描结果为异常的BHO插件进行处理;
其中,所述BHO黑名单列表存储在服务器上,且所述BHO黑名单列表是由所述服务器直接根据客户端反馈的异常BHO插件的标识信息进行配置并更新的;和/或,所述BHO黑名单列表是由所述服务器在根据客户端反馈的BHO插件加载时间确定出异常BHO插件的标识信息后进行配置并更新的。
B8、如B7所述的客户端,其中,进一步包括:遍历模块,适于遍历注册表,获取所述浏览器中加载的BHO插件的数量以及每个BHO插件的标识信息。
B9、如B7所述的客户端,其中,进一步包括:下载模块,适于将存储在服务器上的BHO黑名单列表下载并存储到客户端本地。
B10、如B7所述的客户端,其中,所述黑名单确定模块适于对扫描结果为异常的BHO插件进行如下处理方式中的一种或多种:
将扫描结果为异常的BHO插件的状态设置为禁用;
卸载扫描结果为异常的BHO插件;以及
将扫描结果为异常的BHO插件提示给用户。
B11、如B7所述的客户端,其中,进一步包括:
测试模块,适于测试所述浏览器在未加载BHO插件的情况下的第一启动时间,以及所述浏览器在加载了BHO插件的情况下的第二启动时间;
判断模块,适于计算所述第二启动时间与所述第一启动时间之间的差值,判断所述差值是否大于预设阈值,并在所述差值大于所述预设阈值时,通知所述白名单确定模块进行处理。
B12、如B11所述的客户端,其中,所述测试模块适于以调用extoff参数的方式启动浏览器,通过浏览器打开预定网页,并通过COM接口来获取浏览器打开所述预定网页的时间,作为第一启动时间;以不调用参数的方式启动浏览器,通过浏览器打开所述预定网页,并通过COM接口来获取浏览器打开所述预定网页的时间,作为第二启动时间。
C13、一种服务器,包括:
配置模块,适于在运营过程中配置并存储BHO黑名单列表;其中,所述配置模块适于直接根据客户端反馈的异常BHO插件的标识信息配置并更新所述BHO黑名单列表;和/或,所述配置模块适于在根据客户端反馈的BHO插件加载时间确定出异常BHO插件的标识信息后配置并更新所述BHO黑名单列表;
查询模块,适于接收客户端发送的扫描请求,并根据所述扫描请求中包含的所述浏览器中加载的每个BHO插件的标识信息,查询所述BHO黑名单列表,并向所述客户端返回查询结果。
D14、一种浏览器运行环境检测***,包括如B7至B12任一所述的客户端及C13所述的服务器。