而導(dǎo)致瀏覽器的啟動(dòng)速度緩慢的問(wèn)題。
[0035]圖1a示出了本發(fā)明一個(gè)實(shí)施例提供的瀏覽器運(yùn)行環(huán)境檢測(cè)方法的流程圖。如圖la所示,該方法包括以下步驟:
[0036]步驟S110、根據(jù)預(yù)先存儲(chǔ)的BHO白名單列表,確定瀏覽器中加載的每個(gè)BHO插件是否屬于BHO白名單列表,其中,BHO白名單列表存儲(chǔ)在客戶端本地。
[0037]步驟S120、對(duì)于屬于BHO白名單列表的BHO插件,確定其掃描結(jié)果正常;對(duì)于不屬于BHO白名單列表的BHO插件,再根據(jù)預(yù)先存儲(chǔ)的BHO黑名單列表,確定其掃描結(jié)果是否異常。
[0038]步驟S130、對(duì)掃描結(jié)果為異常的BHO插件進(jìn)行處理。
[0039 ] 其中,BHO黑名單列表存儲(chǔ)在服務(wù)器上,且BHO黑名單列表是由服務(wù)器直接根據(jù)客戶端反饋的異常BHO插件的標(biāo)識(shí)信息進(jìn)行配置并更新的;和/或,BHO黑名單列表是由服務(wù)器在根據(jù)客戶端反饋的BHO插件加載時(shí)間確定出異常BHO插件的標(biāo)識(shí)信息后進(jìn)行配置并更新的。
[0040]在本發(fā)明實(shí)施例提供的方法中,通過(guò)預(yù)先設(shè)置的白名單列表以及黑名單列表對(duì)瀏覽器中加載的各個(gè)BHO插件進(jìn)行掃描,以確定存在異常的BHO插件。由此解決了因某些BHO插件對(duì)瀏覽器的運(yùn)行環(huán)境造成影響,從而導(dǎo)致瀏覽器的啟動(dòng)速度緩慢的問(wèn)題,取得了能夠快速啟動(dòng)瀏覽器,降低用戶等待時(shí)間的有益效果。
[0041]圖1b示出了本發(fā)明另一實(shí)施例提供的瀏覽器運(yùn)行環(huán)境檢測(cè)方法流程圖。如圖1b所示,該方法始于步驟S110’。在步驟S110’中,測(cè)試瀏覽器在未加載BHO插件的情況下的第一啟動(dòng)時(shí)間tl,以及該瀏覽器在加載了BHO插件的情況下的第二啟動(dòng)時(shí)間t2。
[0042]具體地,在上述的步驟S110’中,測(cè)試瀏覽器在未加載BHO插件的情況下的第一啟動(dòng)時(shí)間tl的具體實(shí)現(xiàn)方式包括:以調(diào)用extoff參數(shù)的方式啟動(dòng)瀏覽器,此時(shí),瀏覽器將以不加載任何插件(包括BHO插件)的方式進(jìn)行啟動(dòng),然后,通過(guò)該瀏覽器打開(kāi)一個(gè)預(yù)定網(wǎng)頁(yè),該預(yù)定網(wǎng)頁(yè)可以是預(yù)先存儲(chǔ)在一個(gè)預(yù)定列表中的若干網(wǎng)頁(yè)中的一個(gè),也可以是默認(rèn)的常用網(wǎng)頁(yè)(例如百度或搜狐的網(wǎng)頁(yè)),并通過(guò)COM接口來(lái)獲取瀏覽器打開(kāi)該預(yù)定網(wǎng)頁(yè)的時(shí)間,作為第一啟動(dòng)時(shí)間tl。其中,COM接口是一個(gè)用來(lái)監(jiān)控瀏覽器的各種行為的接口,直接調(diào)用該接口就可以獲取到瀏覽器打開(kāi)預(yù)定網(wǎng)頁(yè)的時(shí)間。
[0043]測(cè)試瀏覽器在加載了BHO插件的情況下的第二啟動(dòng)時(shí)間t2的具體實(shí)現(xiàn)方式包括:以不調(diào)用任何參數(shù)的方式啟動(dòng)瀏覽器,此時(shí),瀏覽器將以加載BHO插件的方式進(jìn)行啟動(dòng),然后,通過(guò)該瀏覽器打開(kāi)同一個(gè)預(yù)定網(wǎng)頁(yè),并通過(guò)COM接口來(lái)獲取瀏覽器打開(kāi)該預(yù)定網(wǎng)頁(yè)的時(shí)間,作為第二啟動(dòng)時(shí)間t2。
[0044]通過(guò)步驟S110’得到上述的第一啟動(dòng)時(shí)間11和第二啟動(dòng)時(shí)間t2之后,在步驟SI 20,中,計(jì)算上述的第二啟動(dòng)時(shí)間t2與第一啟動(dòng)時(shí)間tl之間的差值t’(t’ =t2-tl),判斷該差值t’是否大于預(yù)設(shè)閾值T。其中,該預(yù)設(shè)閾值T的具體取值通常是根據(jù)經(jīng)驗(yàn)來(lái)確定的,例如,可以將該預(yù)設(shè)閾值T的值取為兩秒,當(dāng)差值t ’超過(guò)兩秒時(shí),則執(zhí)行步驟S130’。
[0045]本領(lǐng)域技術(shù)人員可以知曉的是,上述的步驟S110’以及步驟S120’并不是本發(fā)明中必需的步驟,在本發(fā)明其他的實(shí)施例中,可以省略步驟SI 10’以及步驟S120’,直接從步驟S130,中描述的掃描步驟開(kāi)始執(zhí)行,同樣能夠?qū)崿F(xiàn)本發(fā)明中的上述目的。
[0046]在步驟S130’中,當(dāng)上述差值大于預(yù)設(shè)閾值時(shí),對(duì)該瀏覽器中加載的每個(gè)BHO插件分別進(jìn)行掃描,并對(duì)掃描結(jié)果為異常的BHO插件進(jìn)行處理。
[0047]具體地,在步驟S130’中,對(duì)瀏覽器中加載的每個(gè)BHO插件分別進(jìn)行掃描的過(guò)程如下:首先,遍歷注冊(cè)表,獲取該瀏覽器中加載的BHO插件的數(shù)量以及每個(gè)BHO插件的標(biāo)識(shí)信息。其中,在注冊(cè)表中存儲(chǔ)了每一個(gè)BHO插件的標(biāo)識(shí)信息及其存儲(chǔ)位置,通過(guò)遍歷注冊(cè)表就可以獲取到瀏覽器中加載了多少個(gè)BHO插件以及每個(gè)BHO插件的標(biāo)識(shí)信息和具體位置。其中,BHO插件的標(biāo)識(shí)信息包括以下信息中的一項(xiàng)或多項(xiàng):BHO插件的名稱、發(fā)布該BHO插件的公司名稱(例如,某個(gè)公司專門(mén)研發(fā)惡意的BHO插件,則可以根據(jù)該公司的名稱來(lái)確定異常BHO插件)、BHO插件中所包含的簽名信息(該簽名信息通常存儲(chǔ)在BHO插件所對(duì)應(yīng)的動(dòng)態(tài)庫(kù)文件中,用于標(biāo)識(shí)BHO插件并可實(shí)現(xiàn)一定的防偽功能)。然后,根據(jù)預(yù)先存儲(chǔ)的BHO黑名單列表,確定該瀏覽器中加載的每個(gè)BHO插件的掃描結(jié)果是否異常。其中,該MTO黑名單列表可以預(yù)先存儲(chǔ)在云服務(wù)器上,其中存儲(chǔ)了預(yù)先確定為異常狀態(tài)的所有BHO插件的標(biāo)識(shí)信息。其中,云服務(wù)器也可以通過(guò)其他的普通服務(wù)器替代。
[0048]下面先來(lái)介紹一下上述的BHO黑名單列表的兩種可能的配置方法:
[0049]在第一種配置方法中,該BHO黑名單列表是由云服務(wù)器直接根據(jù)客戶端反饋的異常BHO插件的標(biāo)識(shí)信息進(jìn)行配置并更新的。在這種方式中,客戶端反饋異常BHO插件的標(biāo)識(shí)信息時(shí)可以通過(guò)多種方式進(jìn)行反饋,例如,可以由客戶端在運(yùn)行過(guò)程中通過(guò)各種方式來(lái)發(fā)現(xiàn)異常BHO插件(例如由用戶主動(dòng)判斷或通過(guò)一些查詢工具進(jìn)行判斷);或者,也可以由用戶在發(fā)現(xiàn)電腦運(yùn)行異常時(shí)向運(yùn)營(yíng)商反饋,由運(yùn)營(yíng)商派出工程師上門(mén)維修,在此過(guò)程中,如果工程師發(fā)現(xiàn)了異常BHO插件則可以通過(guò)客戶端將這一異常BHO插件反饋給云服務(wù)器。此處所說(shuō)的異常BHO插件主要是指在運(yùn)行時(shí)真正出現(xiàn)了某種異常狀態(tài)(例如故障等)的BHO插件。
[0050]在第二種配置方法中,該BHO黑名單列表是由云服務(wù)器在根據(jù)客戶端反饋的BHO插件加載時(shí)間確定出異常BHO插件的標(biāo)識(shí)信息后進(jìn)行配置并更新的。具體地,在這一配置方法中,可以由各個(gè)客戶端在每次開(kāi)啟瀏覽器時(shí)將瀏覽器的響應(yīng)時(shí)間自動(dòng)發(fā)送給云服務(wù)器(其中,瀏覽器的響應(yīng)時(shí)間可以直接通過(guò)注冊(cè)表讀取),由云服務(wù)器通過(guò)統(tǒng)計(jì)分析的方式來(lái)判斷是否存在著響應(yīng)時(shí)間明顯超出正常范圍的瀏覽器,當(dāng)判斷結(jié)果為是時(shí),進(jìn)一步分析響應(yīng)時(shí)間超出正常范圍的瀏覽器中的各個(gè)BHO插件的加載時(shí)間。其中,瀏覽器中的每個(gè)BHO插件的加載時(shí)間也可以直接通過(guò)注冊(cè)表來(lái)獲取,為了便于查找出是哪一個(gè)BHO插件存在問(wèn)題,云服務(wù)器通常要獲取所有客戶端上的BHO插件的加載時(shí)間,然后進(jìn)一步通過(guò)統(tǒng)計(jì)分析的方式來(lái)查找出存在問(wèn)題的BHO插件,將這一插件存入BHO黑名單列表中。由于本發(fā)明的目的是為了對(duì)瀏覽器的運(yùn)行環(huán)境進(jìn)行優(yōu)化,以提高其瀏覽速度,因此,此處所說(shuō)的存在問(wèn)題的BHO插件不僅包括上面提到的在運(yùn)行時(shí)真正出現(xiàn)了某種異常狀態(tài)的BHO插件,還包括一些加載時(shí)間明顯超出用戶的忍耐范圍的BHO插件,因此,第二種配置方法實(shí)際上主要是從加載時(shí)間的角度來(lái)考慮的,主要目的在于將加載時(shí)間明顯超出用戶的忍耐范圍的這部分BHO插件作為異常BHO插件篩選出來(lái)。
[0051]上面的兩種配置方法既可以單獨(dú)使用,也可以結(jié)合使用。另外,除了上述的兩種配置方法外,其他能夠找出異常BHO插件的方式也都可以應(yīng)用于本發(fā)明。
[0052]介紹完BHO黑名單列表的配置方法之后,接下來(lái),詳細(xì)介紹一下根據(jù)上述BHO黑名單列表,確定瀏覽器中加載的每個(gè)BHO插件的掃描結(jié)果是否異常的幾種實(shí)現(xiàn)方式:
[0053]在第一種實(shí)現(xiàn)方式中,可以直接根據(jù)上述BHO黑名單列表來(lái)確定瀏覽器中加載的每個(gè)BHO插件的掃描結(jié)果是否異常。例如,可以將瀏覽器中加載的每個(gè)BHO插件的標(biāo)識(shí)信息發(fā)送給云服務(wù)器,由云服務(wù)器查詢BHO黑名單列表后,將屬于BHO黑名單列表的BHO插件的掃描結(jié)果確定為異常。在這樣的處理方式中,需要將瀏覽器中加載的每個(gè)BHO插件的標(biāo)識(shí)信息全部發(fā)送給云服務(wù)器,且需要等待云服務(wù)器返回查詢結(jié)果,因而可能會(huì)因網(wǎng)絡(luò)原因而增大查詢時(shí)間。為此,還可以預(yù)先將存儲(chǔ)在云服務(wù)器上的BHO黑名單列表下載并存儲(chǔ)到客戶端本地,這一操作既可以在客戶端需要查詢BHO黑名單列表時(shí),由客戶端向云服務(wù)器發(fā)送查詢請(qǐng)求來(lái)觸發(fā),也可以每隔預(yù)設(shè)的時(shí)間間隔自動(dòng)觸發(fā),或者,也可以在云服務(wù)器每次更新BHO黑名單列表后主動(dòng)將更新后的列表發(fā)送給客戶端。這樣一來(lái),客戶端無(wú)需將瀏覽器中加載的每個(gè)BHO插件的標(biāo)識(shí)信息發(fā)送給云服務(wù)器就可以直接在本地得出查詢結(jié)果,這樣可以顯著提高下次查詢時(shí)所需的時(shí)間。
[0054]在第二種實(shí)現(xiàn)方式中,并不是直接根據(jù)上述BHO黑名單列表來(lái)確定瀏覽器中加載的每個(gè)BHO插件的掃描結(jié)果是否異常的,而是先根據(jù)一個(gè)BHO白名單列表來(lái)確定瀏覽器中加載的每個(gè)BHO插件是否正常,對(duì)于確定出正常的BHO插件則無(wú)需再查詢黑名單列表。該實(shí)現(xiàn)方式具體包括如下過(guò)程:首先,根據(jù)預(yù)先存儲(chǔ)的BHO白名單列表,確定瀏覽器中加載的每個(gè)BHO插件是否屬于該BHO白名單列表。其中,該BHO白名單列表通常存儲(chǔ)在客戶端本地,在該BHO白名單列表中存儲(chǔ)了預(yù)先通過(guò)各種方式被確定為正常的BHO插件的標(biāo)識(shí)信息,因此,對(duì)于屬于該BHO白名單列表的BHO插件,直接確定其掃描結(jié)果正常;對(duì)于不屬于該BHO白名單列表的BHO插件,再根據(jù)上述的BHO黑名單列表,確定其是否屬于上述的BHO黑名單列表,如果是,則確定其掃描結(jié)果異常。在這種實(shí)現(xiàn)方式中,如果瀏覽器中加載的每個(gè)BHO插件都屬于白名單列表,則無(wú)需再查詢黑名單列表,而且,通常情況下,白名單列表存儲(chǔ)在客戶端本地,而黑名單列表則可能僅存儲(chǔ)在云服務(wù)器端,因而通過(guò)上述方式有可能直接在客戶端進(jìn)行查詢即可得出查詢結(jié)果,由此避免了通過(guò)云服務(wù)器進(jìn)行查詢時(shí)的網(wǎng)絡(luò)傳輸和耗時(shí)問(wèn)題,顯著提升了查詢的效率。即使在通過(guò)白名單列表不能確定出所有的BHO插件均為正常,還需進(jìn)一步借助黑名單列表的情況下,也只需要對(duì)不屬于白名單列表的BHO插件進(jìn)行進(jìn)一步地查詢,由此也可以大大減少傳輸數(shù)據(jù)量,從而縮短耗時(shí)。
[0055]通過(guò)上面介紹的方式,就可以在瀏覽器所加載的各個(gè)BHO插件中,篩選出異常的BHO插件。
[0056]在步驟S130’中執(zhí)行完掃描過(guò)程后,對(duì)掃描結(jié)果為異常的BHO插件進(jìn)