本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,尤其涉及一種定位瀏覽器發(fā)生異常的根源的方法和設(shè)備。
背景技術(shù):
隨著互聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,出現(xiàn)了各種各樣的瀏覽器,用戶可以通過瀏覽器實(shí)現(xiàn)訪問互聯(lián)網(wǎng)。例如,用戶通過點(diǎn)擊瀏覽器的顯示界面上的各種鏈接進(jìn)入相應(yīng)的網(wǎng)頁,以實(shí)現(xiàn)對網(wǎng)頁的訪問;或者,用戶在瀏覽器提供的搜索框中輸入需要搜索的關(guān)鍵詞,并通過搜索到的關(guān)鍵詞對應(yīng)的鏈接實(shí)現(xiàn)對網(wǎng)頁的訪問,瀏覽器的出現(xiàn)為用戶訪問網(wǎng)絡(luò)帶來了極大的便利。
為了提升用戶體驗(yàn),滿足用戶訪問網(wǎng)絡(luò)的需求,在瀏覽器中往往安裝各種各樣的第三方插件,并在啟動(dòng)瀏覽器時(shí)加載這些第三方插件,這樣,當(dāng)用戶通過瀏覽器訪問網(wǎng)絡(luò)時(shí),可以通過瀏覽器加載的不同的第三方插件來實(shí)現(xiàn)對網(wǎng)絡(luò)的訪問。例如,當(dāng)用戶啟動(dòng)瀏覽器時(shí),在瀏覽器中加載迅雷下載助手插件,這樣,在用戶需要下載網(wǎng)絡(luò)資源時(shí),可以通過迅雷下載助手插件提供的下載功能對用戶需要的網(wǎng)絡(luò)資源進(jìn)行下載。
隨著網(wǎng)絡(luò)的復(fù)雜化以及第三方插件數(shù)量的不斷增多,用戶在使用瀏覽器的過程中時(shí)常出現(xiàn)瀏覽器崩潰或者卡死的現(xiàn)象,例如,瀏覽器安裝的第三方插件與瀏覽器的兼容性不是很好,導(dǎo)致瀏覽器在加載該第三方插件時(shí)加載失敗,進(jìn)而使得瀏覽器發(fā)生異常,導(dǎo)致用戶訪問網(wǎng)絡(luò)失敗,嚴(yán)重影響用戶使用瀏覽器的用戶體驗(yàn)。
在實(shí)際應(yīng)用中,一旦瀏覽器出現(xiàn)異常,用戶一般采用重啟瀏覽器的方式消除異常情況,但是,在重啟瀏覽器之后依然存在瀏覽器連續(xù)發(fā)生異常的情形,用戶不得不多次重啟瀏覽器,由此可見,亟需一種能夠在瀏覽器發(fā)生異常時(shí)快 速定位導(dǎo)致瀏覽器發(fā)生異常的根源的方法,以提升用戶體驗(yàn)。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明實(shí)施例提供了一種定位瀏覽器發(fā)生異常的根源的方法和設(shè)備,用于解決在瀏覽器發(fā)生異常時(shí)無法快速定位故障根源導(dǎo)致的用戶體驗(yàn)差的問題。
本發(fā)明提供了一種定位瀏覽器發(fā)生異常的根源的方法,包括:
在確定瀏覽器發(fā)生異常時(shí),獲取所述瀏覽器正在運(yùn)行的至少一個(gè)插件以及每一個(gè)所述插件的運(yùn)行參數(shù);
根據(jù)每一個(gè)所述插件的運(yùn)行參數(shù),分別確定所述瀏覽器正在運(yùn)行的每一個(gè)所述插件的運(yùn)行狀態(tài),其中,所述運(yùn)行狀態(tài)包含正常運(yùn)行和異常運(yùn)行;
根據(jù)確定得到的每一個(gè)所述插件的運(yùn)行狀態(tài),定位導(dǎo)致所述瀏覽器發(fā)生異常的根源插件。
本發(fā)明提供了一種定位瀏覽器發(fā)生異常的根源的設(shè)備,包括:
獲取單元,用于在確定瀏覽器發(fā)生異常時(shí),獲取所述瀏覽器正在運(yùn)行的至少一個(gè)插件以及每一個(gè)所述插件的運(yùn)行參數(shù);
確定單元,用于根據(jù)每一個(gè)所述插件的運(yùn)行參數(shù),分別確定所述瀏覽器正在運(yùn)行的每一個(gè)所述插件的運(yùn)行狀態(tài),其中,所述運(yùn)行狀態(tài)包含正常運(yùn)行和異常運(yùn)行;
定位單元,用于根據(jù)所述確定單元確定得到的每一個(gè)所述插件的運(yùn)行狀態(tài),定位導(dǎo)致所述瀏覽器發(fā)生異常的根源插件。
本發(fā)明有益效果如下:
本發(fā)明實(shí)施例提供的方案,在確定瀏覽器發(fā)生異常時(shí),獲取所述瀏覽器正在運(yùn)行的至少一個(gè)插件以及每一個(gè)所述插件的運(yùn)行參數(shù);根據(jù)每一個(gè)所述插件的運(yùn)行參數(shù),分別確定所述瀏覽器正在運(yùn)行的每一個(gè)所述插件的運(yùn)行狀態(tài),其中,所述運(yùn)行狀態(tài)包含正常運(yùn)行和異常運(yùn)行;根據(jù)確定得到的每一個(gè)所述插件的運(yùn)行狀態(tài),定位導(dǎo)致所述瀏覽器發(fā)生異常的根源插件。在瀏覽器發(fā)生異常時(shí), 通過判斷瀏覽器中正在運(yùn)行的插件的運(yùn)行狀態(tài)快速定位導(dǎo)致瀏覽器發(fā)生異常的根源插件,這樣,在瀏覽器再次被重啟時(shí),避免加載定位的根源插件,進(jìn)而防止瀏覽器在重啟時(shí)再次出現(xiàn)異常,改善用戶體驗(yàn)。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對實(shí)施例描述中所需要使用的附圖作簡要介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域的普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例提供的一種定位瀏覽器發(fā)生異常的根源的方法流程示意圖;
圖2為本發(fā)明實(shí)施例提供的一種定位瀏覽器發(fā)生異常的根源的設(shè)備結(jié)構(gòu)示意圖。
具體實(shí)施方式
用戶在使用瀏覽器訪問互聯(lián)網(wǎng)時(shí),首先需要啟動(dòng)瀏覽器,在啟動(dòng)瀏覽器的過程中,瀏覽器加載各種各樣的插件,例如,瀏覽器加載迅雷下載助手插件,這樣,在用戶通過瀏覽器訪問各種網(wǎng)頁時(shí),迅雷下載助手插件會(huì)從用戶訪問的每一個(gè)網(wǎng)頁中進(jìn)行偵測,以判斷是否有視頻文件或者下載資源等,以便于通過迅雷下載助手插件提供的下載功能對視頻文件或者下載資源等進(jìn)行下載。也就是說,如果用戶每分鐘訪問一個(gè)網(wǎng)頁,迅雷下載助手插件就會(huì)每分鐘執(zhí)行一次偵測操作,如果迅雷下載助手插件在某一次偵測過程中出現(xiàn)錯(cuò)誤,就可能導(dǎo)致瀏覽器發(fā)生異常。
在現(xiàn)有技術(shù)中,瀏覽器大部分都采用多線程技術(shù),多線程技術(shù)可以使瀏覽器通過不同的途徑加載需要運(yùn)行的各種程序,這樣,可以避免瀏覽器由于網(wǎng)頁上出現(xiàn)的錯(cuò)誤導(dǎo)致的異常,但是對于瀏覽器加載的各種插件,由于插件直接被加載到瀏覽器的主程序中,因此,瀏覽器的多線程技術(shù)不能解決插件帶來的瀏 覽器異常的問題,一旦插件出現(xiàn)異?;蛘弑罎ⅲ脩舨坏貌欢啻沃匦聠?dòng)瀏覽器。
本發(fā)明實(shí)施例提供的方案,可以對導(dǎo)致瀏覽器發(fā)生異常的根源插件進(jìn)行定位,解決在瀏覽器發(fā)生異常時(shí)無法快速定位故障根源導(dǎo)致的用戶體驗(yàn)差的問題。
為了實(shí)現(xiàn)本發(fā)明的目的,本發(fā)明實(shí)施例中提供了一種定位瀏覽器發(fā)生異常的根源的方法和設(shè)備,在確定瀏覽器發(fā)生異常時(shí),獲取所述瀏覽器正在運(yùn)行的至少一個(gè)插件以及每一個(gè)所述插件的運(yùn)行參數(shù);根據(jù)每一個(gè)所述插件的運(yùn)行參數(shù),分別確定所述瀏覽器正在運(yùn)行的每一個(gè)所述插件的運(yùn)行狀態(tài),其中,所述運(yùn)行狀態(tài)包含正常運(yùn)行和異常運(yùn)行;根據(jù)確定得到的每一個(gè)所述插件的運(yùn)行狀態(tài),定位導(dǎo)致所述瀏覽器發(fā)生異常的根源插件。在瀏覽器發(fā)生異常時(shí),通過判斷瀏覽器中正在運(yùn)行的插件的運(yùn)行狀態(tài)快速定位導(dǎo)致瀏覽器發(fā)生異常的根源插件,這樣,在瀏覽器再次被重啟時(shí),避免加載定位的根源插件,進(jìn)而防止瀏覽器在重啟時(shí)再次出現(xiàn)異常,改善用戶體驗(yàn)。
下面將結(jié)合說明書附圖對本發(fā)明的各個(gè)實(shí)施例作進(jìn)一步地詳細(xì)描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其它實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
圖1為本發(fā)明實(shí)施例提供的一種定位瀏覽器發(fā)生異常的根源的方法流程示意圖,所述方法如下所述。
步驟101:在確定瀏覽器發(fā)生異常時(shí),獲取所述瀏覽器正在運(yùn)行的至少一個(gè)插件以及每一個(gè)所述插件的運(yùn)行參數(shù)。
在步驟101中,獲取瀏覽器中正在運(yùn)行的至少一個(gè)插件以及至少一個(gè)所述插件的運(yùn)行參數(shù)。
需要說明的是,在本發(fā)明提供的實(shí)施例中,所述瀏覽器可以是搜狐瀏覽器,也可以是搜狗瀏覽器,這里不做具體限定。所述插件可以是迅雷下載小助手插 件,也可以是雅虎工具條插件,不做具體限定。所述插件的運(yùn)行參數(shù)可以是所述插件在運(yùn)行時(shí)的硬件參數(shù),也可以是所述插件在運(yùn)行時(shí)的軟件參數(shù),也不做具體限定。
通常,在啟動(dòng)瀏覽器時(shí),或者在瀏覽器運(yùn)行的過程中,瀏覽器會(huì)加載各種各樣的插件,例如,迅雷下載小助手插件,雅虎工具條插件,等,瀏覽器在加載各種各樣的插件后,瀏覽器根據(jù)用戶當(dāng)前執(zhí)行的訪問網(wǎng)絡(luò)的操作指令運(yùn)行已加載的插件,并且,這些插件在運(yùn)行的過程中分別產(chǎn)生不同的運(yùn)行參數(shù)。
已加載的插件在運(yùn)行的過程中,可能由于運(yùn)行環(huán)境等各種無法預(yù)測的問題導(dǎo)致瀏覽器發(fā)生異常,在本發(fā)明提供的實(shí)施例中,可以是運(yùn)行的插件數(shù)量過多導(dǎo)致瀏覽器發(fā)生異常,也可以是插件與瀏覽器不兼容導(dǎo)致的瀏覽器發(fā)生異常,不做具體限定。
在確定瀏覽器發(fā)生異常時(shí),為了定位導(dǎo)致瀏覽器發(fā)生異常的根源,及時(shí)獲取所述瀏覽器發(fā)生異常時(shí)正在運(yùn)行的至少一個(gè)插件以及每一個(gè)所述插件的運(yùn)行參數(shù)。
在本發(fā)明提供的實(shí)施例中,可以從所述瀏覽器的運(yùn)行日志中獲取所述至少一個(gè)插件以及每一個(gè)所述插件的運(yùn)行參數(shù),也可以從所述瀏覽器對應(yīng)的云服務(wù)器中獲取所述至少一個(gè)插件以及每一個(gè)所述插件的運(yùn)行參數(shù),不做具體限定。
步驟102:根據(jù)每一個(gè)所述插件的運(yùn)行參數(shù),分別確定所述瀏覽器正在運(yùn)行的每一個(gè)所述插件的運(yùn)行狀態(tài)。
其中,所述運(yùn)行狀態(tài)包含正常運(yùn)行和異常運(yùn)行。
在步驟102中,可以根據(jù)獲取到的至少一個(gè)插件的運(yùn)行參數(shù),確定每一個(gè)所述插件的運(yùn)行狀態(tài)。
具體地,針對獲取到的每一個(gè)插件以及每一個(gè)所述插件的運(yùn)行參數(shù),可以通過以下方式確定所述插件的運(yùn)行狀態(tài):
首先,選擇其中一個(gè)所述插件;
其次,根據(jù)選擇的所述插件對應(yīng)的運(yùn)行參數(shù),確定運(yùn)行所述插件所消耗的 系統(tǒng)資源;
最后,根據(jù)確定的所述系統(tǒng)資源,確定所述插件在所述瀏覽器中的運(yùn)行狀態(tài)。
需要說明的是,每一個(gè)所述插件在運(yùn)行時(shí)都會(huì)消耗一部分系統(tǒng)資源,如果所述插件消耗的系統(tǒng)資源過多,說明所述插件可能出現(xiàn)異常,也就是說,可能導(dǎo)致瀏覽器發(fā)生異常,因此,可以通過判斷每一個(gè)所述插件所述消耗的系統(tǒng)資源確定每一個(gè)所述插件的運(yùn)行狀態(tài)。
在本發(fā)明提供的實(shí)施例中,可以通過所述插件的運(yùn)行參數(shù)確定所述插件所消耗的系統(tǒng)資源,并根據(jù)所述插件所消耗的系統(tǒng)資源確定所述插件的運(yùn)行狀態(tài)。
具體地,針對每一個(gè)所述插件,可以通過上述步驟101記載的方法獲取到每一個(gè)所述插件的運(yùn)行參數(shù),選擇其中一個(gè)所述插件,在獲取到所述插件的運(yùn)行參數(shù)后,可以通過對所述插件運(yùn)行時(shí)的硬件參數(shù)分析得到所述插件所消耗的系統(tǒng)資源,也可以通過所述插件運(yùn)行時(shí)的軟件參數(shù)分析得到所述插件所消耗的系統(tǒng)資源,還可以通過同時(shí)對所述插件運(yùn)行的硬件參數(shù)以及軟件參數(shù)分析得到所述插件所消耗的系統(tǒng)資源,這里不做具體限定。
在確定所述插件所消耗的系統(tǒng)資源后,可以確定所述插件的運(yùn)行狀態(tài),具體地,可以將所述插件在運(yùn)行時(shí)所消耗的系統(tǒng)資源與設(shè)定的閾值范圍進(jìn)行比對,如果所述插件所消耗的系統(tǒng)資源在所述設(shè)定的閾值范圍以內(nèi),可以認(rèn)為所述插件的運(yùn)行狀態(tài)為正常運(yùn)行,如果所述插件所消耗的系統(tǒng)資源超出所述設(shè)定的閾值范圍,可以認(rèn)為所述插件的運(yùn)行狀態(tài)為異常運(yùn)行。
其中,所述設(shè)定的閾值范圍可以由所述瀏覽器開發(fā)者根據(jù)實(shí)際情況或者實(shí)驗(yàn)數(shù)據(jù)設(shè)定,這里不做具體限定。
需要說明的是,在本發(fā)明提供的實(shí)施例中,每一個(gè)所述插件分別對應(yīng)一個(gè)設(shè)定的閾值范圍。
這樣,針對每一個(gè)所述插件,在通過對每一個(gè)所述插件的運(yùn)行參數(shù)進(jìn)行分 析,并確定每一個(gè)所述插件所消耗的系統(tǒng)資源時(shí),可以通過將每一個(gè)所述插件所消耗的系統(tǒng)資源與該插件對應(yīng)的設(shè)定的閾值范圍進(jìn)行比對,判斷該插件所消耗的系統(tǒng)資源是否在設(shè)定的閾值范圍內(nèi),確定每一個(gè)所述插件的運(yùn)行狀態(tài)。
可選地,針對獲取到的每一個(gè)插件以及所述插件的運(yùn)行參數(shù),還可以通過以下方式確定所述插件的運(yùn)行狀態(tài):
選擇其中一個(gè)所述插件;
利用設(shè)定的插件異常規(guī)則,與選擇的所述插件的運(yùn)行參數(shù)進(jìn)行比對,并根據(jù)比對結(jié)果,確定所述插件在所述瀏覽器中的運(yùn)行狀態(tài),其中,所述插件異常規(guī)則包含所述插件的運(yùn)行狀態(tài)為異常運(yùn)行時(shí)的運(yùn)行參數(shù)。
需要說明的是,每一個(gè)所述插件在運(yùn)行過程中,所述瀏覽器可以將每一個(gè)所述插件的運(yùn)行參數(shù)與預(yù)先設(shè)定的插件異常規(guī)則進(jìn)行對比,進(jìn)而根據(jù)比對結(jié)果確定每一個(gè)所述插件的運(yùn)行狀態(tài)。
具體地,針對每一個(gè)所述插件,可以通過上述步驟101記載的方法獲取到每一個(gè)所述插件的運(yùn)行參數(shù),選擇其中一個(gè)所述插件,在獲取到所述插件的運(yùn)行參數(shù)后,可以將所述插件的運(yùn)行參數(shù)與設(shè)定的插件異常規(guī)則進(jìn)行比對,并通過比對結(jié)果確定所述插件的運(yùn)行狀態(tài)。
需要說明的是,在本發(fā)明提供的實(shí)施例中,所述設(shè)定的插件異常規(guī)則中可以包含每一個(gè)所述插件對應(yīng)的至少一組所述插件在運(yùn)行狀態(tài)為異常運(yùn)行時(shí)的運(yùn)行參數(shù),這樣,針對選擇的所述插件,在確定所述插件的運(yùn)行參數(shù)與所述設(shè)定的插件異常規(guī)則中包含的所述插件的其中一組運(yùn)行參數(shù)一致時(shí),可以確定所述插件的運(yùn)行狀態(tài)為異常運(yùn)行。
針對每一個(gè)所述插件,通過將獲取到的每一個(gè)所述插件的運(yùn)行參數(shù)與所述設(shè)定的插件異常規(guī)則中包含的每一個(gè)所述插件對應(yīng)的至少一組運(yùn)行參數(shù)進(jìn)行比對,可以確定每一個(gè)所述插件的運(yùn)行狀態(tài)。
需要說明的是,在本發(fā)明提供的實(shí)施例中,可以通過每一個(gè)所述插件所消耗的系統(tǒng)資源確定每一個(gè)所述插件的運(yùn)行狀態(tài),也可以通過將每一個(gè)所述插件 與所述設(shè)定的插件異常規(guī)則進(jìn)行比對的方法確定每一個(gè)所述插件的運(yùn)行狀態(tài),不做具體限定。
步驟103:根據(jù)確定得到的每一個(gè)所述插件的運(yùn)行狀態(tài),定位導(dǎo)致所述瀏覽器發(fā)生異常的根源插件。
在步驟103中,可以根據(jù)確定得到的所述瀏覽器正在運(yùn)行的每一個(gè)所述插件的運(yùn)行狀態(tài),定位導(dǎo)致所述瀏覽器發(fā)生異常的根源插件。
具體地,根據(jù)確定得到的每一個(gè)所述插件的運(yùn)行狀態(tài),將運(yùn)行狀態(tài)為異常運(yùn)行的插件定位為導(dǎo)致所述瀏覽器發(fā)生異常的根源插件。
也就是說,在確定所述瀏覽器發(fā)生異常,并在確定所述瀏覽器正在運(yùn)行的至少一個(gè)插件的運(yùn)行狀態(tài)為異常運(yùn)行時(shí),可以定位運(yùn)行狀態(tài)為異常運(yùn)行的所述插件為導(dǎo)致所述瀏覽器發(fā)生異常的根源插件。
可選地,根據(jù)步驟102中記載的確定所述插件的運(yùn)行狀態(tài)的方法,在確定所述瀏覽器正在運(yùn)行的所述插件的運(yùn)行狀態(tài)為異常運(yùn)行時(shí),所述方法還包括:
在確定所述插件的運(yùn)行狀態(tài)為異常運(yùn)行時(shí),根據(jù)所述插件的運(yùn)行參數(shù),確定所述插件導(dǎo)致所述瀏覽器發(fā)生異常的概率值。
在確定所述插件的運(yùn)行狀態(tài)為異常運(yùn)行時(shí),所述插件可能導(dǎo)致所述瀏覽器發(fā)生異常,也可能不會(huì)導(dǎo)致所述瀏覽器發(fā)生異常,在本發(fā)明提供的實(shí)施例中,將所述插件導(dǎo)致所述瀏覽器發(fā)生異常的可能性稱為所述插件導(dǎo)致所述瀏覽器發(fā)生異常的概率值。
具體地,可以根據(jù)所述插件的運(yùn)行參數(shù)確定所述插件導(dǎo)致所述瀏覽器發(fā)生異常的概率值。
需要說明的是,每一個(gè)插件在瀏覽器中運(yùn)行時(shí)對應(yīng)一個(gè)理論運(yùn)行參數(shù)(又可以稱之為正常運(yùn)行參數(shù),這個(gè)運(yùn)行參數(shù)可以通過實(shí)驗(yàn)或者歷史數(shù)據(jù)分析得到),這樣,在確定所述插件的運(yùn)行狀態(tài)為異常運(yùn)行時(shí),可以將獲取到的所述插件在異常運(yùn)行狀態(tài)下的運(yùn)行參數(shù)與所述插件的理論運(yùn)行參數(shù)比對,并根據(jù)比對結(jié)果確定所述插件導(dǎo)致所述瀏覽器發(fā)生異常的概率值。
具體地,可以根據(jù)所述插件在異常運(yùn)行下的運(yùn)行參數(shù)與所述插件的理論運(yùn)行參數(shù)之間的差異,確定所述插件導(dǎo)致所述瀏覽器發(fā)生異常的概率值,通常,所述差異越大,所述插件導(dǎo)致所述瀏覽器發(fā)生異常的概率值越大,其中,所述差異的大小可以根據(jù)設(shè)定規(guī)則確定得到,所述設(shè)定規(guī)則由所述瀏覽器根據(jù)實(shí)際情況確定,這里對所述設(shè)定規(guī)則不做具體限定,所述概率值的數(shù)值范圍也可以由所述瀏覽器根據(jù)實(shí)際需要確定,也不做具體限定。
可選地,在確定所述插件導(dǎo)致所述瀏覽器發(fā)生異常的概率值時(shí),還可以通過以下方法定位導(dǎo)致所述瀏覽器發(fā)生異常的根源插件:
在確定所述插件導(dǎo)致所述瀏覽器發(fā)生異常的概率值大于設(shè)定閾值時(shí),將所述插件定位為導(dǎo)致所述瀏覽器發(fā)生異常的根源插件。
也就是說,可以根據(jù)所述插件導(dǎo)致所述瀏覽器發(fā)生異常的概率值,定位所述插件是否為導(dǎo)致所述瀏覽器發(fā)生異常的根源插件,在本發(fā)明提供的實(shí)施例中,在確定所述插件的所述概率值大于設(shè)定閾值時(shí),可以定位所述插件為導(dǎo)致所述瀏覽器發(fā)生異常的根源插件,其中,所述設(shè)定閾值可以由所述瀏覽器根據(jù)實(shí)際需要設(shè)定,這里不做具體限定。
可選地,根據(jù)步驟102中記載的確定插件的運(yùn)行狀態(tài)的方法,在確定所述瀏覽器正在運(yùn)行的所述插件的運(yùn)行狀態(tài)為異常運(yùn)行時(shí),所述方法還包括:
在確定所述插件的運(yùn)行狀態(tài)為異常運(yùn)行時(shí),將所述插件以及所述插件的運(yùn)行參數(shù)存儲(chǔ)至異常插件庫中,并更新所述異常插件庫中所述插件導(dǎo)致瀏覽器發(fā)生異常的次數(shù)。
其中,所述異常插件庫用于存儲(chǔ)導(dǎo)致瀏覽器發(fā)生異常的插件以及所述插件導(dǎo)致瀏覽器發(fā)生異常的次數(shù)。
在確定所述插件的運(yùn)行狀態(tài)為異常運(yùn)行時(shí),可以將所述插件存儲(chǔ)至異常插件庫中。
需要說明的是,在不同的運(yùn)行參數(shù)下,所述瀏覽器正在運(yùn)行的每一個(gè)所述插件的運(yùn)行狀態(tài)可能不相同,也就是說,針對其中一個(gè)所述插件,在第一組運(yùn) 行參數(shù)下,所述插件的運(yùn)行狀態(tài)可能是正常運(yùn)行,在第二組運(yùn)行參數(shù)下,所述插件的運(yùn)行狀態(tài)可能是異常運(yùn)行,因此,在將所述插件存儲(chǔ)至所述異常插件庫中時(shí),同時(shí)將所述插件的運(yùn)行參數(shù)存儲(chǔ)至所述異常插件庫中,并在所述異常插件庫中建立所述插件以及所述插件的運(yùn)行參數(shù)之間的對應(yīng)關(guān)系。
可選地,在將所述插件以及所述插件的運(yùn)行參數(shù)存儲(chǔ)至所述異常插件庫中時(shí),還可以更新所述異常插件庫中存儲(chǔ)的所述插件導(dǎo)致所述瀏覽器發(fā)生異常的的次數(shù)。
例如,在確定插件a在運(yùn)行參數(shù)為a下的運(yùn)行狀態(tài)為異常運(yùn)行時(shí),可以定位插件a為導(dǎo)致瀏覽器發(fā)生異常的根源插件,并將插件a以及運(yùn)行參數(shù)a存儲(chǔ)至所述異常插件庫中,此時(shí),如果確定所述異常插件庫中沒有存儲(chǔ)插件a,那么,在所述異常插件庫中存儲(chǔ)插件a導(dǎo)致瀏覽器發(fā)生異常的次數(shù)為1次,在確定插件a在運(yùn)行參數(shù)為b下的運(yùn)行狀態(tài)為異常運(yùn)行時(shí),也可以定位插件a為導(dǎo)致瀏覽器發(fā)生異常的根源插件,并將插件a以及運(yùn)行參數(shù)b存儲(chǔ)在所述異常插件庫中,由于此時(shí)所述異常插件庫中已存儲(chǔ)插件a,那么更新在所述異常插件庫中存儲(chǔ)的插件a導(dǎo)致瀏覽器發(fā)生異常的次數(shù)為2次。
需要說明的是,本發(fā)明提供的實(shí)施例中,可以將異常插件以及異常插件的運(yùn)行參數(shù)之間的對應(yīng)關(guān)系存儲(chǔ)至所述異常插件庫中,也可以將異常插件以及異常插件導(dǎo)致瀏覽器發(fā)生異常的次數(shù)之間的對應(yīng)關(guān)系存儲(chǔ)至所述異常插件庫中,也可以將異常插件、異常插件的運(yùn)行參數(shù)以及異常插件導(dǎo)致瀏覽器發(fā)生異常的次數(shù)之間的對應(yīng)關(guān)系存儲(chǔ)至所述異常插件庫中,對具體的存儲(chǔ)形式不做具體限定。
可選地,在將所述插件、所述插件的運(yùn)行參數(shù)以及所述插件導(dǎo)致瀏覽器發(fā)生異常的次數(shù)存儲(chǔ)在所述異常插件庫中時(shí),還可以通過以下方式定位導(dǎo)致所述瀏覽器發(fā)生異常的根源插件:
在確定運(yùn)行狀態(tài)為異常運(yùn)行的所述插件的個(gè)數(shù)大于等于2時(shí),從所述異常插件庫中查找所述插件導(dǎo)致瀏覽器發(fā)生異常的次數(shù);
將次數(shù)大于設(shè)定數(shù)值的插件定位為導(dǎo)致所述瀏覽器發(fā)生異常的根源插件。
在確定所述異常插件庫中存儲(chǔ)的插件的個(gè)數(shù)大于等于2時(shí),可以根據(jù)所述異常插件庫中存儲(chǔ)的異常插件與該異常插件導(dǎo)致瀏覽器發(fā)生異常的次數(shù)之間的對應(yīng)關(guān)系,查找每一個(gè)異常插件對應(yīng)的所述導(dǎo)致瀏覽器發(fā)生異常的次數(shù),例如,在所述異常插件庫中存儲(chǔ)的插件為插件a、插件b以及插件c,可以查找到插件a對應(yīng)的導(dǎo)致瀏覽器發(fā)生異常的次數(shù)n1,插件b對應(yīng)的導(dǎo)致瀏覽器發(fā)生異常的次數(shù)n2,插件c對應(yīng)的導(dǎo)致瀏覽器發(fā)生異常的次數(shù)n3。
在確定所述異常插件庫中每一個(gè)插件導(dǎo)致瀏覽器發(fā)生異常的次數(shù)后,可以將次數(shù)大于設(shè)定數(shù)值的插件定位為導(dǎo)致所述瀏覽器發(fā)生異常的根源插件,例如,假設(shè)設(shè)定閾值為n,插件a對應(yīng)的導(dǎo)致瀏覽器發(fā)生異常的次數(shù)n1、插件b對應(yīng)的導(dǎo)致瀏覽器發(fā)生異常的次數(shù)n2、插件c對應(yīng)的導(dǎo)致瀏覽器發(fā)生異常的次數(shù)n3與設(shè)定閾值n的大小關(guān)系為:n2>n>n1>n3,那么,將次數(shù)n2對應(yīng)的插件b定位為導(dǎo)致所述瀏覽器發(fā)生異常的根源插件。
需要說明的是,所述設(shè)定數(shù)值可以由所述瀏覽器根據(jù)實(shí)際需要確定,本發(fā)明實(shí)施例對所述設(shè)定數(shù)值的大小不做具體限定。
可選地,在確定得到所述異常插件庫時(shí),還可以根據(jù)所述異常插件庫確定每一個(gè)所述插件的運(yùn)行狀態(tài),包括:
選擇其中一個(gè)所述插件;
將選擇的所述插件的運(yùn)行參數(shù)與異常插件庫進(jìn)行比對,并根據(jù)比對結(jié)果確定所述插件在所述瀏覽器中的運(yùn)行狀態(tài)。
具體地,在確定所述插件的運(yùn)行參數(shù)與所述異常插件庫中包含的所述插件的其中一組運(yùn)行參數(shù)一致時(shí),確定所述插件在所述瀏覽器中的運(yùn)行狀態(tài)為異常運(yùn)行。
可選地,在根據(jù)瀏覽器正在運(yùn)行的至少一個(gè)插件的運(yùn)行狀態(tài),定位導(dǎo)致所述瀏覽器發(fā)生異常的根源插件之后,所述方法還包括:
在定位導(dǎo)致所述瀏覽器發(fā)生異常的根源插件之后,重新啟動(dòng)所述瀏覽器。
其中,在重新啟動(dòng)瀏覽器時(shí)放棄加載導(dǎo)致所述瀏覽器發(fā)生異常的根源插件。
在定位導(dǎo)致瀏覽器發(fā)生異常的根源插件后,為了避免所述瀏覽器再次因?yàn)樗龈床寮l(fā)生異常,可以重新啟動(dòng)所述瀏覽器,并在重新啟動(dòng)所述瀏覽器時(shí),放棄加載所述根源插件。
本發(fā)明實(shí)施例提供的方案,在確定瀏覽器發(fā)生異常時(shí),獲取所述瀏覽器正在運(yùn)行的至少一個(gè)插件以及每一個(gè)所述插件的運(yùn)行參數(shù);根據(jù)每一個(gè)所述插件的運(yùn)行參數(shù),分別確定所述瀏覽器正在運(yùn)行的每一個(gè)所述插件的運(yùn)行狀態(tài),其中,所述運(yùn)行狀態(tài)包含正常運(yùn)行和異常運(yùn)行;根據(jù)確定得到的每一個(gè)所述插件的運(yùn)行狀態(tài),定位導(dǎo)致所述瀏覽器發(fā)生異常的根源插件。在瀏覽器發(fā)生異常時(shí),通過判斷瀏覽器中正在運(yùn)行的插件的運(yùn)行狀態(tài)快速定位導(dǎo)致瀏覽器發(fā)生異常的根源插件,這樣,在瀏覽器再次被重啟時(shí),避免加載定位的根源插件,進(jìn)而防止瀏覽器在重啟時(shí)再次出現(xiàn)異常,改善用戶體驗(yàn)。
圖2為本發(fā)明實(shí)施例提供的一種定位瀏覽器發(fā)生異常的根源的設(shè)備結(jié)構(gòu)示意圖。所述設(shè)備包括:獲取單元21、確定單元22、定位單元23、存儲(chǔ)單元24和重新啟動(dòng)單元25,其中:
獲取單元21,用于在確定瀏覽器發(fā)生異常時(shí),獲取所述瀏覽器正在運(yùn)行的至少一個(gè)插件以及每一個(gè)所述插件的運(yùn)行參數(shù);
確定單元22,用于根據(jù)每一個(gè)所述插件的運(yùn)行參數(shù),分別確定所述瀏覽器正在運(yùn)行的每一個(gè)所述插件的運(yùn)行狀態(tài),其中,所述運(yùn)行狀態(tài)包含正常運(yùn)行和異常運(yùn)行;
定位單元23,用于根據(jù)所述確定單元22確定得到的每一個(gè)所述插件的運(yùn)行狀態(tài),定位導(dǎo)致所述瀏覽器發(fā)生異常的根源插件。
可選地,所述確定單元22根據(jù)每一個(gè)所述插件的運(yùn)行參數(shù),分別確定所述瀏覽器正在運(yùn)行的每一個(gè)所述插件的運(yùn)行狀態(tài),包括:
針對每一個(gè)所述插件,分別執(zhí)行以下操作:
選擇其中一個(gè)所述插件;
根據(jù)選擇的所述插件對應(yīng)的運(yùn)行參數(shù),確定運(yùn)行所述插件所消耗的系統(tǒng)資源;
根據(jù)確定的所述系統(tǒng)資源,確定所述插件在所述瀏覽器中的運(yùn)行狀態(tài)。
可選地,所述確定單元22根據(jù)每一個(gè)所述插件的運(yùn)行參數(shù),分別確定所述瀏覽器正在運(yùn)行的每一個(gè)所述插件的運(yùn)行狀態(tài),包括:
針對每一個(gè)所述插件,分別執(zhí)行以下操作:
選擇其中一個(gè)所述插件;
利用設(shè)定的插件異常規(guī)則,與選擇的所述插件的運(yùn)行參數(shù)進(jìn)行比對,并根據(jù)比對結(jié)果,確定所述插件在所述瀏覽器中的運(yùn)行狀態(tài),其中,所述插件異常規(guī)則包含所述插件的運(yùn)行狀態(tài)為異常運(yùn)行時(shí)的運(yùn)行參數(shù)。
所述定位單元23根據(jù)所述確定單元22確定得到的每一個(gè)所述插件的運(yùn)行狀態(tài),定位導(dǎo)致所述瀏覽器發(fā)生異常的根源插件,包括:
根據(jù)確定得到的每一個(gè)所述插件的運(yùn)行狀態(tài),將運(yùn)行狀態(tài)為異常運(yùn)行的插件定位為導(dǎo)致所述瀏覽器發(fā)生異常的根源插件。
可選地,在本發(fā)明實(shí)施例提供的設(shè)備中,
所述確定單元22,還用于在確定所述插件的運(yùn)行狀態(tài)為異常運(yùn)行時(shí),根據(jù)所述插件的運(yùn)行參數(shù),確定所述插件導(dǎo)致所述瀏覽器發(fā)生異常的概率值;
所述定位單元23根據(jù)所述確定單元22確定得到的每一個(gè)所述插件的運(yùn)行狀態(tài),定位導(dǎo)致所述瀏覽器發(fā)生異常的根源插件,包括:
在確定所述插件導(dǎo)致所述瀏覽器發(fā)生異常的概率值大于設(shè)定閾值時(shí),將所述插件定位為導(dǎo)致所述瀏覽器發(fā)生異常的根源插件。
可選地,所述設(shè)備還包括存儲(chǔ)單元24,其中:
所述存儲(chǔ)單元24,用于在所述確定單元22確定所述插件的運(yùn)行狀態(tài)為異常運(yùn)行時(shí),將所述插件以及所述插件的運(yùn)行參數(shù)存儲(chǔ)至異常插件庫中,并更新所述異常插件庫中所述插件導(dǎo)致瀏覽器發(fā)生異常的次數(shù),其中,所述異常插件 庫用于存儲(chǔ)導(dǎo)致瀏覽器發(fā)生異常的插件以及所述插件導(dǎo)致瀏覽器發(fā)生異常的次數(shù);
所述定位單元23根據(jù)所述確定單元22確定得到的每一個(gè)所述插件的運(yùn)行狀態(tài),定位導(dǎo)致所述瀏覽器發(fā)生異常的根源插件,包括:
在確定運(yùn)行狀態(tài)為異常運(yùn)行的所述插件的個(gè)數(shù)大于等于2時(shí),從所述異常插件庫中查找所述插件導(dǎo)致瀏覽器發(fā)生異常的次數(shù);
將次數(shù)大于設(shè)定數(shù)值的插件定位為導(dǎo)致所述瀏覽器發(fā)生異常的根源插件。
可選地,所述設(shè)備還包括重新啟動(dòng)單元25,其中:
所述重新啟動(dòng)單元25,用于在所述定位單元23定位導(dǎo)致所述瀏覽器發(fā)生異常的根源插件之后,重新啟動(dòng)所述瀏覽器,其中,在重新啟動(dòng)瀏覽器時(shí)放棄加載導(dǎo)致所述瀏覽器發(fā)生異常的根源插件。
需要說明的是,本發(fā)明實(shí)施例提供的定位瀏覽器發(fā)生異常的根源的設(shè)備可以通過硬件方式實(shí)現(xiàn),也可以通過軟件方式實(shí)現(xiàn),這里不做限定。
本領(lǐng)域的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、裝置(設(shè)備)、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器、cd-rom、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、裝置(設(shè)備)和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè) 備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。
盡管已描述了本發(fā)明的優(yōu)選實(shí)施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對這些實(shí)施例作出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實(shí)施例以及落入本發(fā)明范圍的所有變更和修改。
顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。