專利名稱:插件攔截或清理的方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及到插件安裝中的檢測(cè)技木,特別涉及到一種插件攔截或清理的方法及裝置。
背景技術(shù):
現(xiàn)有技術(shù)中對(duì)插件攔截或清理一般是基于插件的惡意行為或者惡評(píng)而進(jìn)行,比如廣告軟件(Adware)或間諜軟件(Spyware),此類惡意插件監(jiān)視用戶終端的上網(wǎng)行為,并把所記錄的數(shù)據(jù)報(bào)告給插件的遠(yuǎn)程監(jiān)控中心,以達(dá)到投放廣告、盜取游戲或銀行帳號(hào)密碼等目的,對(duì)給用戶終端帶來(lái)惡劣影響。但現(xiàn)有的某些插件并沒(méi)有惡意性,同時(shí)還具有相應(yīng)功能,只是在運(yùn)行時(shí)會(huì)耗費(fèi)用 戶終端系統(tǒng)大量資源。此類插件通常不會(huì)被安全軟件攔截或清理,也不容易被用戶終端所發(fā)現(xiàn)?;谀壳鞍踩浖?duì)插件的攔截或清理只是針對(duì)插件的惡意性進(jìn)行,對(duì)插件的攔截或清理存在遺漏,對(duì)用戶終端系統(tǒng)的穩(wěn)定性造成影響。
發(fā)明內(nèi)容
本發(fā)明的主要目的為提供一種插件攔截或清理的方法,使得對(duì)插件的攔截或清理更加全面,提升了系統(tǒng)的穩(wěn)定性。本發(fā)明提出一種插件攔截或清理的方法,包括獲取插件的性能情況;根據(jù)所述性能情況以及經(jīng)驗(yàn)數(shù)據(jù),判斷所述插件的性能是否達(dá)標(biāo);當(dāng)不達(dá)標(biāo)吋,對(duì)所述插件進(jìn)行攔截或清理。優(yōu)選地,所述方法之前還包括在用戶終端中監(jiān)控插件的安裝行為、被加載行為和/或運(yùn)行行為,根據(jù)所述行為識(shí)別插件;當(dāng)插件被識(shí)別吋,獲取插件的性能情況。優(yōu)選地,所述根據(jù)所述行為識(shí)別插件的步驟之后還包括當(dāng)插件不被識(shí)別吋,評(píng)估插件的性能情況;根據(jù)所述性能情況以及經(jīng)驗(yàn)數(shù)據(jù),判斷所述插件的性能是否達(dá)標(biāo);當(dāng)不達(dá)標(biāo)吋,對(duì)所述插件進(jìn)行攔截或清理。優(yōu)選地,所述獲取插件的性能情況的步驟之前還包括獲取插件的經(jīng)驗(yàn)數(shù)據(jù);所述經(jīng)驗(yàn)數(shù)據(jù)包括插件重要性數(shù)據(jù)、插件性能數(shù)據(jù)和/或用戶終端評(píng)價(jià)數(shù)據(jù);根據(jù)經(jīng)驗(yàn)數(shù)據(jù)評(píng)估相應(yīng)插件是否達(dá)標(biāo)。優(yōu)選地,所述經(jīng)驗(yàn)數(shù)據(jù)獲取的方式包括插件測(cè)試獲取、后臺(tái)收集獲取和/或爬取網(wǎng)絡(luò)數(shù)據(jù)獲?。凰龊笈_(tái)收集獲取包括前端采集獲取以及用戶終端評(píng)價(jià)獲??;所述前端采集獲取包括Hook方式以及通知接收方式;
所述插件測(cè)試獲取是將收集到插件放置于自動(dòng)化測(cè)試模塊中進(jìn)行測(cè)試,得到插件對(duì)應(yīng)的CPU占用、加載耗時(shí)和/或內(nèi)存占用情況;所述Hook方式是使用Hook的方式,得到插件加載的開(kāi)始時(shí)間和結(jié)束時(shí)間,運(yùn)行開(kāi)始時(shí)間和運(yùn)行結(jié)束時(shí)間,并且獲取加載期間和運(yùn)行期間的CPU占用和/或內(nèi)存占用情況;所述通知接收方式是指客戶端直接通知插件的加載開(kāi)始和結(jié)束,或者運(yùn)行開(kāi)始和運(yùn)行結(jié)束事件;所述用戶終端評(píng)價(jià)獲取是指收集用戶終端對(duì)插件性能的評(píng)價(jià)情況;所述爬取網(wǎng)絡(luò)數(shù)據(jù)方式是通過(guò)爬取搜索引擎數(shù)據(jù)和/或網(wǎng)站評(píng)價(jià)數(shù)據(jù),分析插件的性能情況;所述經(jīng)驗(yàn)數(shù)據(jù)存儲(chǔ)于遠(yuǎn)程云端數(shù)據(jù)庫(kù)或本地?cái)?shù)據(jù)庫(kù)。
優(yōu)選地,所述根據(jù)所述性能情況以及經(jīng)驗(yàn)數(shù)據(jù),判斷所述插件的性能是否達(dá)標(biāo)的步驟包括將所述性能情況與存儲(chǔ)于云端數(shù)據(jù)庫(kù)的經(jīng)驗(yàn)數(shù)據(jù)進(jìn)行匹配,在匹配成功后獲取預(yù)先取得的是否達(dá)標(biāo)結(jié)果,判斷是否達(dá)標(biāo)。本發(fā)明還提出一種插件攔截或清理的裝置,包括性能獲取模塊,用于獲取插件的性能情況;第一達(dá)標(biāo)判斷模塊,用于根據(jù)所述性能情況以及經(jīng)驗(yàn)數(shù)據(jù),判斷所述插件的性能是否達(dá)標(biāo);插件處理模塊,用于當(dāng)不達(dá)標(biāo)時(shí),對(duì)所述插件進(jìn)行攔截或清理。優(yōu)選地,所述裝置還包括插件監(jiān)控模塊,用于在用戶終端中監(jiān)控插件的安裝行為、被加載行為和/或運(yùn)行行為,根據(jù)所述行為識(shí)別插件;當(dāng)插件被識(shí)別時(shí),獲取插件的性能情況。優(yōu)選地,所述裝置還包括性能評(píng)估模塊,用于當(dāng)插件不被識(shí)別時(shí),評(píng)估插件的性能情況;所述第一達(dá)標(biāo)判斷模塊還用于根據(jù)所述性能情況以及經(jīng)驗(yàn)數(shù)據(jù),判斷所述插件的性能是否達(dá)標(biāo);所述插件處理模塊還用于當(dāng)不達(dá)標(biāo)時(shí),對(duì)所述插件進(jìn)行攔截或清理。優(yōu)選地,所述裝置還包括經(jīng)驗(yàn)數(shù)據(jù)獲取模塊,用于獲取插件的經(jīng)驗(yàn)數(shù)據(jù);所述經(jīng)驗(yàn)數(shù)據(jù)包括插件重要性數(shù)據(jù)、插件性能數(shù)據(jù)和/或用戶終端評(píng)價(jià)數(shù)據(jù);第二達(dá)標(biāo)判斷模塊,用于根據(jù)經(jīng)驗(yàn)數(shù)據(jù)評(píng)估相應(yīng)插件是否達(dá)標(biāo)。優(yōu)選地,所述經(jīng)驗(yàn)數(shù)據(jù)獲取的方式包括插件測(cè)試獲取、后臺(tái)收集獲取和/或爬取網(wǎng)絡(luò)數(shù)據(jù)獲取;所述后臺(tái)收集獲取包括前端采集獲取以及用戶終端評(píng)價(jià)獲?。凰銮岸瞬杉@取包括Hook方式以及通知接收方式;所述插件測(cè)試獲取是將收集到插件放置于自動(dòng)化測(cè)試模塊中進(jìn)行測(cè)試,得到插件對(duì)應(yīng)的CPU占用、加載耗時(shí)和/或內(nèi)存占用情況;所述Hook方式是使用Hook的方式,得到插件加載的開(kāi)始時(shí)間和結(jié)束時(shí)間,運(yùn)行開(kāi)始時(shí)間和運(yùn)行結(jié)束時(shí)間,并且獲取加載期間和運(yùn)行期間的CPU占用和/或內(nèi)存占用情況;所述通知接收方式是指客戶端直接通知插件的加載開(kāi)始和結(jié)束,或者運(yùn)行開(kāi)始和運(yùn)行結(jié)束事件;所述用戶終端評(píng)價(jià)獲取是指收集用戶終端對(duì)插件性能的評(píng)價(jià)情況;所述爬取網(wǎng)絡(luò)數(shù)據(jù)方式是通過(guò)爬取搜索引擎數(shù)據(jù)和/或網(wǎng)站評(píng)價(jià)數(shù)據(jù),分析插件的性能情況;所述經(jīng)驗(yàn)數(shù)據(jù)存儲(chǔ)于遠(yuǎn)程云端數(shù)據(jù)庫(kù)或本地?cái)?shù)據(jù)庫(kù)。優(yōu)選地,所述第一達(dá)標(biāo)判斷模塊還用于將所述性能情況與存儲(chǔ)于云端數(shù)據(jù)庫(kù)的經(jīng)驗(yàn)數(shù)據(jù)進(jìn)行匹配,在匹配成功后獲取預(yù)先取得的是否達(dá)標(biāo)結(jié)果,判斷是否達(dá)標(biāo)。本發(fā)明可通過(guò)對(duì)插件的性能情況進(jìn)行評(píng)估,判斷性能情況是否符合預(yù)設(shè)的標(biāo)準(zhǔn),從而根據(jù)判斷的結(jié)果對(duì)插件進(jìn)行相應(yīng)處理。并主要是針對(duì)正在安裝、被加載或運(yùn)行的插件 進(jìn)行判斷及處理,如果插件的性能情況不達(dá)標(biāo),則對(duì)正在安裝的插件進(jìn)行攔截,以及對(duì)正在加載或運(yùn)行的插件進(jìn)行清除。
圖I是本發(fā)明插件攔截或清理的方法一實(shí)施例中的步驟流程示意圖;圖2是本發(fā)明插件攔截或清理的方法另ー實(shí)施例中的步驟流程示意圖;圖3是本發(fā)明插件攔截或清理的方法又一實(shí)施例中的步驟流程示意圖;圖4是本發(fā)明一實(shí)施例中經(jīng)驗(yàn)數(shù)據(jù)獲取方式的示意圖;圖5是本發(fā)明一實(shí)施例中所涉及部件的結(jié)構(gòu)示意圖;圖6是本發(fā)明一實(shí)施例中插件安裝時(shí)的處理流程示意圖;圖7是本發(fā)明一實(shí)施例中插件安裝時(shí)攔截界面的示意圖;圖8是本發(fā)明一實(shí)施例中插件被加載時(shí)的處理流程示意圖;圖9是本發(fā)明一實(shí)施例中插件被加載時(shí)所涉及部件的結(jié)構(gòu)示意圖;圖10是本發(fā)明一實(shí)施例中插件運(yùn)行時(shí)的處理流程示意圖;圖11是本發(fā)明一實(shí)施例中插件運(yùn)行時(shí)所涉及部件的結(jié)構(gòu)示意圖;圖12是本發(fā)明插件攔截或清理的裝置一實(shí)施例中的結(jié)構(gòu)示意圖;圖13是本發(fā)明插件攔截或清理的裝置另ー實(shí)施例中的結(jié)構(gòu)示意圖;圖14是本發(fā)明插件攔截或清理的裝置又一實(shí)施例中的結(jié)構(gòu)示意圖;圖15是本發(fā)明插件攔截或清理的裝置一實(shí)施例中的另ー結(jié)構(gòu)示意圖。本發(fā)明目的的實(shí)現(xiàn)、功能特點(diǎn)及優(yōu)點(diǎn)將結(jié)合實(shí)施例,參照附圖做進(jìn)ー步說(shuō)明。
具體實(shí)施例方式應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。插件已經(jīng)是計(jì)算機(jī)軟件中已較為常見(jiàn),很多軟件都支持插件形式,如文本編輯軟件Ultra Edit支持插件,如軟件開(kāi)發(fā)軟件Visual Studio也支持插件。其中有ー類為瀏覽器插件,瀏覽器插件有不同的形式,如BHO (瀏覽器輔助)、ActiveX、Url SearchHook (搜索掛接)以及Toolbar (工具欄)等。BHO :BH0全稱Browser Helper Object,是一種隨因特網(wǎng)瀏覽器(如IE)姆次啟動(dòng)而自動(dòng)執(zhí)行的小程序。通常情況下,ー個(gè)BHO文件是由其它軟件安裝至用戶終端系統(tǒng)中。例如一些帶有下載功能的廣告軟件,可能會(huì)安裝ー個(gè)BHO文件從而追蹤用戶終端在上網(wǎng)沖浪遇到的眾多網(wǎng)頁(yè)廣告。通常的BHO會(huì)幫助用戶終端更方便地瀏覽因特網(wǎng)或調(diào)用上網(wǎng)輔助功能,也有一部分BHO被稱為廣告軟件(Adware)或間謀軟件(Spyware),可監(jiān)視用戶終端的上網(wǎng)行為并把記錄的相關(guān)數(shù)據(jù)報(bào)告給BHO的創(chuàng)建者。BHO也可能會(huì)與其它運(yùn)行中的程序發(fā)生沖突,從而導(dǎo)致諸如各種頁(yè)面錯(cuò)誤,運(yùn)行時(shí)間錯(cuò)誤等等現(xiàn)象,通??赡茏柚拐g覽的進(jìn)行。ActiveX ActiveX插件也叫做OLE控件或OCX控件,是一種軟件組件或?qū)ο?,可以將其插入到WEB網(wǎng)頁(yè)或其它應(yīng)用程序中。一般軟件需要用戶終端単獨(dú)下載然后執(zhí)行安裝,而ActiveX插件是當(dāng)用戶瀏覽到特定的網(wǎng)頁(yè)時(shí),瀏覽器即可自動(dòng)下載并提示用戶安裝。ActiveX插件安裝的前提是必須先下載,然后經(jīng)過(guò)認(rèn)證,最終通過(guò)用戶終端確認(rèn)同意方能安裝。因此嵌有ActiveX腳本程序的頁(yè)面運(yùn)行可能會(huì)變得非常慢,甚至導(dǎo)致瀏覽器瞬間失去響應(yīng)。Url SearchHook :用戶終端在地址欄中輸入非標(biāo)準(zhǔn)的網(wǎng)址,如英文字符或者中文的時(shí)候,當(dāng)?shù)刂窓跓o(wú)法對(duì)輸入字符串解釋成功吋,瀏覽器會(huì)自動(dòng)打開(kāi)ー個(gè)以用戶輸入的字 符串為搜索詞的結(jié)果頁(yè)面,幫助用戶終端找到需要的內(nèi)容。Url SearchHook對(duì)象就是完成捜索功能的插件,通常是由第三方公司或者個(gè)人開(kāi)發(fā),通過(guò)插件的方式安裝到瀏覽器上,目的是為了幫助用戶終端更好地使用互聯(lián)網(wǎng)。例如用戶終端在地址欄中輸入“手機(jī)”,就可以直接看到手機(jī)捜索結(jié)果。也有一些企業(yè)或者個(gè)人為了達(dá)到提高網(wǎng)站訪問(wèn)或其它商業(yè)目的,在用戶終端不知情的情況下修改瀏覽器的Url SearchHook。Toolbar :通常指加載在瀏覽器的輔助工具,位于瀏覽器標(biāo)準(zhǔn)工具條的下方,在IE工具欄空白處點(diǎn)擊右鍵,可以查看所有已經(jīng)安裝的工具條,通過(guò)勾選顯示或者隱藏已安裝的工具條。本實(shí)施例中的插件是一種遵循一定規(guī)范的應(yīng)用程序接ロ編寫出來(lái)的程序。例如瀏覽器插件,安裝瀏覽器插件后瀏覽器就可以直接調(diào)用插件程序。還有ー些是軟件功能的擴(kuò)展部件,可以方便或者妨礙用戶使用軟件功能。性能可以是至計(jì)算機(jī)的指標(biāo)參數(shù),比如運(yùn)算速度,是衡量計(jì)算機(jī)性能的ー個(gè)重要指標(biāo),通??梢杂肅PU的占用和完整業(yè)務(wù)耗時(shí)來(lái)評(píng)估性能。攔截可以是阻止插件的安裝的行為或者加載運(yùn)行等行為。清理可以指把插件從計(jì)算機(jī)中刪除掉。WinHIPS 全稱是 Windows-NT-family Host Intrusion Prevention System(Windows平臺(tái)的主機(jī)入侵防御系統(tǒng)),用來(lái)保證計(jì)算機(jī)的安全,是ー個(gè)內(nèi)核驅(qū)動(dòng)程序,通過(guò)過(guò)濾器、系統(tǒng)調(diào)用“鉤子”等技術(shù)實(shí)現(xiàn)對(duì)計(jì)算機(jī)動(dòng)作的智能攔截。參照?qǐng)D1,提出本發(fā)明ー種插件攔截或清理的方法ー實(shí)施例。該方法可包括步驟S11、獲取插件的性能情況;步驟S12、根據(jù)所述性能情況以及經(jīng)驗(yàn)數(shù)據(jù),判斷所述插件的性能是否達(dá)標(biāo);當(dāng)不達(dá)標(biāo)時(shí),進(jìn)行步驟S13 ;當(dāng)達(dá)標(biāo)時(shí),進(jìn)行步驟S14 ;步驟S13、對(duì)所述插件進(jìn)行攔截或清理;步驟S14、不作處理。上述插件攔截或清理的方法可通過(guò)對(duì)插件的性能情況進(jìn)行評(píng)估,判斷性能情況是否符合預(yù)設(shè)的標(biāo)準(zhǔn),從而根據(jù)判斷的結(jié)果對(duì)插件進(jìn)行相應(yīng)處理。本實(shí)施例中主要是針對(duì)正在安裝、被加載或運(yùn)行的插件進(jìn)行判斷及處理,如果插件的性能情況不達(dá)標(biāo),則對(duì)正在安裝的插件進(jìn)行攔截,以及對(duì)正在加載或運(yùn)行的插件進(jìn)行清除。如果達(dá)標(biāo)則可不作任何處理。參照?qǐng)D2,在本發(fā)明另一實(shí)施例中,上述方法之前還可包括步驟S10、在用戶終端中監(jiān)控插件的安裝行為、被加載行為和/或運(yùn)行行為,根據(jù)所述行為識(shí)別插件;當(dāng)插件被識(shí)別時(shí),進(jìn)行步驟Sll ;當(dāng)插件不被識(shí)別時(shí),步驟S15 ;步驟S15、評(píng)估不被識(shí)別插件的性能情況;步驟S16、根據(jù)所述性能情況判斷所述插件的性能是否達(dá)標(biāo);當(dāng)不達(dá)標(biāo)吋,進(jìn)行步驟S13 ;當(dāng)達(dá)標(biāo)時(shí),進(jìn)行步驟S14。參照?qǐng)D3,在本發(fā)明又一實(shí)施例中,上述步驟SlO之前還包括步驟S8、獲取插件的經(jīng)驗(yàn)數(shù)據(jù);該經(jīng)驗(yàn)數(shù)據(jù)可包括插件重要性數(shù)據(jù)、插件性能數(shù) 據(jù)和/或用戶終端評(píng)價(jià)數(shù)據(jù)等;步驟S9、根據(jù)經(jīng)驗(yàn)數(shù)據(jù)評(píng)估相應(yīng)插件是否達(dá)標(biāo)。參照?qǐng)D4,上述經(jīng)驗(yàn)數(shù)據(jù)獲取的方式可包括插件測(cè)試獲取、后臺(tái)收集獲取和/或爬取網(wǎng)絡(luò)數(shù)據(jù)獲取等;該后臺(tái)收集獲取可包括前端采集獲取以及用戶終端評(píng)價(jià)獲取;該前端采集獲取可包括Hook (鉤子)方式以及通知接收方式等;上述經(jīng)驗(yàn)數(shù)據(jù)存儲(chǔ)于遠(yuǎn)程云端數(shù)據(jù)庫(kù)或本地?cái)?shù)據(jù)庫(kù)等。該云端數(shù)據(jù)庫(kù)放置于服務(wù)端,用于存儲(chǔ)經(jīng)驗(yàn)數(shù)據(jù)等,可通過(guò)網(wǎng)絡(luò)與客戶端進(jìn)行通訊;該本地?cái)?shù)據(jù)庫(kù)放置于客戶端本地,用于存儲(chǔ)經(jīng)驗(yàn)數(shù)據(jù)等。其中,插件測(cè)試獲取可為,根據(jù)收集到插件,放到自動(dòng)化測(cè)試模塊中進(jìn)行測(cè)試,得到相關(guān)插件的性能情況,如CPU占用、加載耗時(shí)和/或內(nèi)存占用等各種情況。前端采集獲取可通過(guò)客戶端實(shí)現(xiàn),其實(shí)現(xiàn)方式有兩種I、使用Hook的方式,得到插件加載的開(kāi)始時(shí)間和結(jié)束時(shí)間,運(yùn)行開(kāi)始時(shí)間和運(yùn)行結(jié)束時(shí)間,并且獲取加載期間和運(yùn)行期間的對(duì)應(yīng)軟件的CPU占用和/或內(nèi)存占用情況;2、客戶端直接通知各個(gè)插件的加載開(kāi)始和結(jié)束,或者運(yùn)行開(kāi)始和運(yùn)行結(jié)束等各個(gè)事件;前端采集數(shù)據(jù),需要采集機(jī)器硬件環(huán)境和軟件環(huán)境,以進(jìn)ー步評(píng)估性能數(shù)據(jù)。用戶終端評(píng)價(jià)獲取可為收集用戶終端對(duì)插件性能的評(píng)價(jià)情況,其可以放置在安全類軟件的插件清理模塊中,或者上述插件監(jiān)控模塊中等,其可放置表現(xiàn)的地方可不受限。爬取網(wǎng)絡(luò)數(shù)據(jù)方式可為通過(guò)爬取搜索引擎數(shù)據(jù)和/或網(wǎng)站評(píng)價(jià)數(shù)據(jù)等,進(jìn)ー步分析插件的性能情況。在云端經(jīng)驗(yàn)數(shù)據(jù)庫(kù)構(gòu)建的過(guò)程,有ー個(gè)需要考慮的因素就是插件的必要度,如flash插件,必要度很高,就算性能比別的插件差點(diǎn)都需要加載的,因此該種插件可直接將性能情況設(shè)定為達(dá)標(biāo)即可。如此,對(duì)“是否達(dá)標(biāo)”的數(shù)據(jù)考慮的因素有但不限于插件的必要度或重要度數(shù)據(jù)、用戶終端對(duì)插件性能評(píng)價(jià)數(shù)據(jù)、插件性能測(cè)試數(shù)據(jù)、前端采集的性能數(shù)據(jù)以及網(wǎng)絡(luò)上插件性能相關(guān)數(shù)據(jù)。比如加載時(shí)間過(guò)長(zhǎng)、用戶終端評(píng)價(jià)不高而又不是重要度高的插件即可設(shè)定為不達(dá)標(biāo),具體可根據(jù)實(shí)際情況靈活設(shè)定。上述插件攔截或清理的方法可設(shè)置客戶端以及服務(wù)端;該客戶端中可設(shè)置插件監(jiān)控模塊201、評(píng)估判斷模塊202以及插件處理模塊203,并且可設(shè)置有插件特征庫(kù)206以及本地經(jīng)驗(yàn)數(shù)據(jù)庫(kù)205 ;該服務(wù)端可設(shè)置后臺(tái)模塊207,并可設(shè)置云端經(jīng)驗(yàn)數(shù)據(jù)庫(kù)204。(參照?qǐng)D5)該插件監(jiān)控模塊201、評(píng)估判斷模塊202以及插件處理模塊203,一般可作為ー個(gè)或多個(gè)獨(dú)立的安裝文件(根據(jù)具體需要),其中的功能用dll (Dynamic Link Library,動(dòng)態(tài)鏈接庫(kù))或者lib (label information base,標(biāo)簽信息數(shù)據(jù)庫(kù))方式實(shí)現(xiàn)。參照?qǐng)D6,以下通過(guò)具體實(shí)例,說(shuō)明在用戶終端中安裝插件時(shí)對(duì)插件的評(píng)估與處理。流程可包括步驟S101、在用戶終端中監(jiān)控插件的安裝行為;步驟S102、獲取插件的性能情況;步驟S103、根將性能情況與存儲(chǔ)于云端數(shù)據(jù)庫(kù)的經(jīng)驗(yàn)數(shù)據(jù)進(jìn)行匹配,在匹配成功后獲取預(yù)先取得的是否達(dá)標(biāo)結(jié)果,判斷是否達(dá)標(biāo);當(dāng)不達(dá)標(biāo)時(shí),進(jìn)行步驟S104;當(dāng)達(dá)標(biāo)吋,進(jìn)行步驟S105 ;步驟S104、對(duì)所述插件進(jìn)行攔截或清理;
步驟S105、不作處理。插件監(jiān)控模塊201監(jiān)控用戶終端的各種行為,比如注冊(cè)表新增、刪除或改變,文件新增、刪除或改變,服務(wù)新增、刪除或改變等;插件監(jiān)控模塊201通常運(yùn)行在驅(qū)動(dòng)層。插件特征庫(kù)206可以是記錄插件的標(biāo)識(shí)特征,比如寫入某些特定位置的注冊(cè)表,根據(jù)該標(biāo)識(shí)特征即可以識(shí)別該插件。當(dāng)用戶終端中發(fā)生插件的安裝行為時(shí),該插件監(jiān)控模塊201即可捕抓該行為,并將該行為與插件特征庫(kù)506進(jìn)行比較而識(shí)別該插件,獲取相應(yīng)的插件信息。由此,認(rèn)定上述監(jiān)測(cè)到的行為是某款插件的安裝行為。然后該插件監(jiān)控模塊201把對(duì)應(yīng)的插件信息,比如插件的ー個(gè)標(biāo)識(shí)符(ID),發(fā)給評(píng)估判斷模塊202。該評(píng)估判斷模塊202的主要作用是獲取該插件的性能情況。該評(píng)估判斷模塊202可通過(guò)訪問(wèn)云端經(jīng)驗(yàn)數(shù)據(jù)庫(kù)204或本地經(jīng)驗(yàn)數(shù)據(jù)庫(kù)205,獲取性能情況;該評(píng)估判斷模塊202會(huì)優(yōu)先訪問(wèn)云端經(jīng)驗(yàn)數(shù)據(jù)庫(kù)204,從服務(wù)端獲取性能情況再進(jìn)行是否達(dá)標(biāo)的判斷,或者直接獲取預(yù)先已經(jīng)判定的是否達(dá)標(biāo)結(jié)果,該是否達(dá)標(biāo)結(jié)果可由后臺(tái)模塊207預(yù)先取得。本地經(jīng)驗(yàn)數(shù)據(jù)庫(kù)205是在沒(méi)有網(wǎng)絡(luò)或者網(wǎng)絡(luò)很差聯(lián)不通云端經(jīng)驗(yàn)數(shù)據(jù)庫(kù)204的情況下備用的手段。本實(shí)施例中是否達(dá)標(biāo)結(jié)果預(yù)先已判定,其可放置于服務(wù)端,從而可以根據(jù)服務(wù)端經(jīng)常的數(shù)據(jù)刷新而更新;也可以放置于客戶端,通過(guò)文件替換的方式定時(shí)更新。是否達(dá)標(biāo)不僅僅是根據(jù)插件的加載耗時(shí)或其它單個(gè)數(shù)據(jù)來(lái)決定,也可以根據(jù)各種綜合情況來(lái)衡量,比如將加載耗時(shí)綜合用戶終端評(píng)價(jià)等方式。插件通常可以是由軟件安裝的形式安裝進(jìn)去,比如可以是直接就是插件安裝包,也可以是別的軟件安裝的時(shí)候順帶安裝進(jìn)去ー個(gè)插件。在插件安裝時(shí),如判定該插件性能情況不達(dá)標(biāo),即可通過(guò)插件處理模塊203對(duì)插件的攔截,可參照?qǐng)D7所示,攔截的UI (UserInterface,用戶界面)界面可為類似圖7中彈窗;如達(dá)標(biāo)即可不作處理。參照?qǐng)D8和圖9,以下通過(guò)具體實(shí)例,說(shuō)明在用戶終端中插件被加載時(shí)對(duì)插件的評(píng)估與處理。流程可包括步驟S401、在用戶終端中監(jiān)控插件被加載行為;步驟S402、獲取插件的性能情況;步驟S403、根將性能情況與存儲(chǔ)于云端數(shù)據(jù)庫(kù)的經(jīng)驗(yàn)數(shù)據(jù)進(jìn)行匹配,在匹配成功后獲取預(yù)先取得的是否達(dá)標(biāo)結(jié)果,判斷是否達(dá)標(biāo);當(dāng)不達(dá)標(biāo)時(shí),進(jìn)行步驟S404 ;當(dāng)達(dá)標(biāo)吋,進(jìn)行步驟S405 ;步驟S404、對(duì)所述插件進(jìn)行清理;
步驟S405、不作處理。對(duì)于已安裝的插件,其在用戶終端被加載時(shí),同樣可通過(guò)插件監(jiān)控模塊501捕捉發(fā)送給評(píng)估判斷模塊502,該評(píng)估判斷模塊502可通過(guò)訪問(wèn)云端經(jīng)驗(yàn)數(shù)據(jù)庫(kù)504或本地經(jīng)驗(yàn)數(shù)據(jù)庫(kù)505 (該云端經(jīng)驗(yàn)數(shù)據(jù)庫(kù)504中數(shù)據(jù)通過(guò)后臺(tái)模塊507收取),獲取相關(guān)插件的性能情況,將性能情況與經(jīng)驗(yàn)數(shù)據(jù)進(jìn)行匹配,在匹配成功后獲取與該經(jīng)驗(yàn)數(shù)據(jù)對(duì)應(yīng)的是否達(dá)標(biāo)結(jié)果,由該結(jié)果可判斷性能是否達(dá)標(biāo),如果不達(dá)標(biāo)的話,在用戶終端允許的情況下,禁止加載此款插件,并可在用戶終端允許的情況下,利用插件處理模塊503對(duì)插件進(jìn)行清理。如果達(dá)標(biāo)則可不作處理。在插件清理時(shí),還需從插件特征庫(kù)506中獲取插件特征信息。參照?qǐng)D10和圖11,以下通過(guò)具體實(shí)例,說(shuō)明在用戶終端中插件被加載時(shí)對(duì)插件的評(píng)估與處理。流程可包括步驟S601、在用戶終端中監(jiān)控插件運(yùn)行行為,獲取性能情況; 步驟S602、評(píng)估插件的性能情況;步驟S603、根據(jù)所述性能情況判斷所述插件的性能是否達(dá)標(biāo);當(dāng)不達(dá)標(biāo)時(shí),進(jìn)行步驟S604 ;當(dāng)達(dá)標(biāo)時(shí),進(jìn)行步驟S605 ;步驟S604、對(duì)所述插件進(jìn)行清理;步驟S605、不作處理。能運(yùn)行起來(lái)的插件可能是可以通過(guò)加載時(shí)檢測(cè)的插件,即可能是云端經(jīng)驗(yàn)數(shù)據(jù)庫(kù)704或本地經(jīng)驗(yàn)數(shù)據(jù)庫(kù)705未通過(guò)后臺(tái)模塊707收集的插件。此時(shí),可先通過(guò)插件監(jiān)控模塊701捕捉發(fā)送給評(píng)估判斷模塊702,獲取相關(guān)插件的性能情況,并需要實(shí)時(shí)衡量插件的性能情況,然后分析給出性能結(jié)論,不符合性能指標(biāo)的,并可在用戶終端允許的情況下,利用插件處理模塊703對(duì)插件進(jìn)行清理。如何指標(biāo)的即可不作處理。在插件清理時(shí),還需從插件特征庫(kù)706中獲取插件特征信息。當(dāng)然也可能是已收集的,針對(duì)已收集的即可按照上述安裝時(shí)或被加載時(shí)的方式處理。參照?qǐng)D12,提出本發(fā)明ー種插件攔截或清理的裝置20的ー實(shí)施例。該裝置20可包括性能獲取模塊21、第一達(dá)標(biāo)判斷模塊22以及插件處理模塊23 ;該性能獲取模塊21,用于獲取插件的性能情況;該第一達(dá)標(biāo)判斷模塊22,用于根據(jù)所述性能情況以及經(jīng)驗(yàn)數(shù)據(jù),判斷所述插件的性能是否達(dá)標(biāo);該插件處理模塊23,用于當(dāng)不達(dá)標(biāo)時(shí),對(duì)所述插件進(jìn)行
攔截或清理。上述插件攔截或清理的裝置20可通過(guò)對(duì)插件的性能情況進(jìn)行評(píng)估,判斷性能情況是否符合預(yù)設(shè)的標(biāo)準(zhǔn),從而根據(jù)判斷的結(jié)果對(duì)插件進(jìn)行相應(yīng)處理。本實(shí)施例中主要是針對(duì)正在安裝、被加載或運(yùn)行的插件進(jìn)行判斷及處理,如果插件的性能情況不達(dá)標(biāo),則對(duì)正在安裝的插件進(jìn)行攔截,以及對(duì)正在加載或運(yùn)行的插件進(jìn)行清除。如果達(dá)標(biāo)則可不作任何處理。參照?qǐng)D13,在本發(fā)明另ー實(shí)施例中,上述裝置20還可包括插件監(jiān)控模塊24,用于在用戶終端中監(jiān)控插件的安裝行為、被加載行為和/或運(yùn)行行為,根據(jù)所述行為識(shí)別插件;當(dāng)插件被識(shí)別吋,獲取插件的性能情況。參照?qǐng)D14,在本發(fā)明又一實(shí)施例中,上述裝置20還可包括性能評(píng)估模塊25,用于當(dāng)插件不被識(shí)別時(shí),評(píng)估插件的性能情況;上述第一達(dá)標(biāo)判斷模塊22還用于根據(jù)所述性能情況以及經(jīng)驗(yàn)數(shù)據(jù),判斷所述插件的性能是否達(dá)標(biāo);上述插件處理模塊23還用于當(dāng)不達(dá)標(biāo)吋,對(duì)所述插件進(jìn)行攔截或清理。上述經(jīng)驗(yàn)數(shù)據(jù)獲取的方式可包括插件測(cè)試獲取、后臺(tái)收集獲取和/或爬取網(wǎng)絡(luò)數(shù)據(jù)獲取等;該后臺(tái)收集獲取可包括前端采集獲取以及用戶終端評(píng)價(jià)獲??;該前端采集獲取可包括Hook (鉤子)方式以及通知接收方式等;上述經(jīng)驗(yàn)數(shù)據(jù)存儲(chǔ)于遠(yuǎn)程云端數(shù)據(jù)庫(kù)或本地?cái)?shù)據(jù)庫(kù)等。(參照?qǐng)D4)參照?qǐng)D15,上述裝置20還可包括經(jīng)驗(yàn)數(shù)據(jù)獲取模塊26以及第ニ達(dá)標(biāo)判斷模塊28 ;該經(jīng)驗(yàn)數(shù)據(jù)獲取模塊26,用于獲取插件的經(jīng)驗(yàn)數(shù)據(jù);所述經(jīng)驗(yàn)數(shù)據(jù)包括插件重要性數(shù)據(jù)、插件性能數(shù)據(jù)和/或用戶終端評(píng)價(jià)數(shù)據(jù);該第二達(dá)標(biāo)判斷模塊28,用于根據(jù)經(jīng)驗(yàn)數(shù)據(jù)評(píng)估相應(yīng)插件是否達(dá)標(biāo)。參照?qǐng)D5,上述插件攔截或清理的裝置20可設(shè)置客戶端以及服務(wù)端;該客戶端中可設(shè)置插件監(jiān)控模塊201、評(píng)估判斷模塊202以及插件處理模塊203,并且可設(shè)置有插件特征庫(kù)206以及本地經(jīng)驗(yàn)數(shù)據(jù)庫(kù)205 ;該服務(wù)端可設(shè)置后臺(tái)模塊,并可設(shè)置云端經(jīng)驗(yàn)數(shù)據(jù)庫(kù)204。該插件監(jiān)控模塊201、評(píng)估判斷模塊202以及插件處理模塊203,一般可作為ー個(gè)或多 個(gè)獨(dú)立的安裝文件(根據(jù)具體需要),其中的功能用dll (Dynamic Link Library,動(dòng)態(tài)鏈接庫(kù))或者lib (label information base,標(biāo)簽信息數(shù)據(jù)庫(kù))方式實(shí)現(xiàn)。本實(shí)施例中的插件監(jiān)控模塊24相當(dāng)于圖5插件監(jiān)控模塊201 ;性能獲取模塊21、第一達(dá)標(biāo)判斷模塊22以及性能評(píng)估模塊25相當(dāng)于圖5中的評(píng)估判斷模塊202 ;插件處理模塊23相當(dāng)于圖5中的插件處理模塊203 ;經(jīng)驗(yàn)數(shù)據(jù)獲取模塊26以及第ニ達(dá)標(biāo)判斷模塊28相當(dāng)于圖5中的后臺(tái)模塊207。以上所述僅為本發(fā)明的優(yōu)選實(shí)施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說(shuō)明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。
權(quán)利要求
1.一種插件攔截或清理的方法,其特征在于,包括 獲取插件的性能情況; 根據(jù)所述性能情況以及經(jīng)驗(yàn)數(shù)據(jù),判斷所述插件的性能是否達(dá)標(biāo); 當(dāng)不達(dá)標(biāo)吋,對(duì)所述插件進(jìn)行攔截或清理。
2.根據(jù)權(quán)利要求I所述的插件攔截或清理的方法,其特征在于,所述方法之前還包括 在用戶終端中監(jiān)控插件的安裝行為、被加載行為和/或運(yùn)行行為,根據(jù)所述行為識(shí)別插件;當(dāng)插件被識(shí)別時(shí),獲取插件的性能情況。
3.根據(jù)權(quán)利要求2所述的插件攔截或清理的方法,其特征在干,所述根據(jù)所述行為識(shí)別插件的步驟之后還包括 當(dāng)插件不被識(shí)別時(shí),評(píng)估插件的性能情況; 根據(jù)所述性能情況以及經(jīng)驗(yàn)數(shù)據(jù),判斷所述插件的性能是否達(dá)標(biāo); 當(dāng)不達(dá)標(biāo)吋,對(duì)所述插件進(jìn)行攔截或清理。
4.根據(jù)權(quán)利要求I所述的插件攔截或清理的方法,其特征在于,所述獲取插件的性能情況的步驟之前還包括 獲取插件的經(jīng)驗(yàn)數(shù)據(jù);所述經(jīng)驗(yàn)數(shù)據(jù)包括插件重要性數(shù)據(jù)、插件性能數(shù)據(jù)和/或用戶終端評(píng)價(jià)數(shù)據(jù); 根據(jù)經(jīng)驗(yàn)數(shù)據(jù)評(píng)估相應(yīng)插件是否達(dá)標(biāo)。
5.根據(jù)權(quán)利要求I至4中任一項(xiàng)所述的插件攔截或清理的方法,其特征在于,所述經(jīng)驗(yàn)數(shù)據(jù)獲取的方式包括插件測(cè)試獲取、后臺(tái)收集獲取和/或爬取網(wǎng)絡(luò)數(shù)據(jù)獲??;所述后臺(tái)收集獲取包括前端采集獲取以及用戶終端評(píng)價(jià)獲??;所述前端采集獲取包括Hook方式以及通知接收方式; 所述插件測(cè)試獲取是將收集到插件放置于自動(dòng)化測(cè)試模塊中進(jìn)行測(cè)試,得到插件對(duì)應(yīng)的CPU占用、加載耗時(shí)和/或內(nèi)存占用情況; 所述Hook方式是使用Hook的方式,得到插件加載的開(kāi)始時(shí)間和結(jié)束時(shí)間,運(yùn)行開(kāi)始時(shí)間和運(yùn)行結(jié)束時(shí)間,并且獲取加載期間和運(yùn)行期間的CPU占用和/或內(nèi)存占用情況; 所述通知接收方式是指客戶端直接通知插件的加載開(kāi)始和結(jié)束,或者運(yùn)行開(kāi)始和運(yùn)行結(jié)束事件; 所述用戶終端評(píng)價(jià)獲取是指收集用戶終端對(duì)插件性能的評(píng)價(jià)情況; 所述爬取網(wǎng)絡(luò)數(shù)據(jù)方式是通過(guò)爬取搜索引擎數(shù)據(jù)和/或網(wǎng)站評(píng)價(jià)數(shù)據(jù),分析插件的性能情況; 所述經(jīng)驗(yàn)數(shù)據(jù)存儲(chǔ)于遠(yuǎn)程云端數(shù)據(jù)庫(kù)或本地?cái)?shù)據(jù)庫(kù)。
6.根據(jù)權(quán)利要求I至4中任一項(xiàng)所述的插件攔截或清理的方法,其特征在于,所述根據(jù)所述性能情況以及經(jīng)驗(yàn)數(shù)據(jù),判斷所述插件的性能是否達(dá)標(biāo)的步驟包括 將所述性能情況與存儲(chǔ)于云端數(shù)據(jù)庫(kù)的經(jīng)驗(yàn)數(shù)據(jù)進(jìn)行匹配,在匹配成功后獲取預(yù)先取得的是否達(dá)標(biāo)結(jié)果,判斷是否達(dá)標(biāo)。
7.一種插件攔截或清理的裝置,其特征在于,包括 性能獲取模塊,用于獲取插件的性能情況; 第一達(dá)標(biāo)判斷模塊,用于根據(jù)所述性能情況以及經(jīng)驗(yàn)數(shù)據(jù),判斷所述插件的性能是否達(dá)標(biāo);插件處理模塊,用于當(dāng)不達(dá)標(biāo)時(shí),對(duì)所述插件進(jìn)行攔截或清理。
8.根據(jù)權(quán)利要求7所述的插件攔截或清理的裝置,其特征在于,所述裝置還包括 插件監(jiān)控模塊,用于在用戶終端中監(jiān)控插件的安裝行為、被加載行為和/或運(yùn)行行為,根據(jù)所述行為識(shí)別插件;當(dāng)插件被識(shí)別吋,獲取插件的性能情況。
9.根據(jù)權(quán)利要求8所述的插件攔截或清理的裝置,其特征在于,所述裝置還包括 性能評(píng)估模塊,用于當(dāng)插件不被識(shí)別時(shí),評(píng)估插件的性能情況; 所述第一達(dá)標(biāo)判斷模塊還用于根據(jù)所述性能情況以及經(jīng)驗(yàn)數(shù)據(jù),判斷所述插件的性能是否達(dá)標(biāo); 所述插件處理模塊還用于當(dāng)不達(dá)標(biāo)吋,對(duì)所述插件進(jìn)行攔截或清理。
10.根據(jù)權(quán)利要求7所述的插件攔截或清理的裝置,其特征在于,所述裝置還包括 經(jīng)驗(yàn)數(shù)據(jù)獲取模塊,用于獲取插件的經(jīng)驗(yàn)數(shù)據(jù);所述經(jīng)驗(yàn)數(shù)據(jù)包括插件重要性數(shù)據(jù)、插件性能數(shù)據(jù)和/或用戶終端評(píng)價(jià)數(shù)據(jù); 第二達(dá)標(biāo)判斷模塊,用于根據(jù)經(jīng)驗(yàn)數(shù)據(jù)評(píng)估相應(yīng)插件是否達(dá)標(biāo)。
11.根據(jù)權(quán)利要求7至10中任一項(xiàng)所述的插件攔截或清理的裝置,其特征在于,所述經(jīng)驗(yàn)數(shù)據(jù)獲取的方式包括插件測(cè)試獲取、后臺(tái)收集獲取和/或爬取網(wǎng)絡(luò)數(shù)據(jù)獲?。凰龊笈_(tái)收集獲取包括前端采集獲取以及用戶終端評(píng)價(jià)獲??;所述前端采集獲取包括Hook方式以及通知接收方式; 所述插件測(cè)試獲取是將收集到插件放置于自動(dòng)化測(cè)試模塊中進(jìn)行測(cè)試,得到插件對(duì)應(yīng)的CPU占用、加載耗時(shí)和/或內(nèi)存占用情況; 所述Hook方式是使用Hook的方式,得到插件加載的開(kāi)始時(shí)間和結(jié)束時(shí)間,運(yùn)行開(kāi)始時(shí)間和運(yùn)行結(jié)束時(shí)間,并且獲取加載期間和運(yùn)行期間的CPU占用和/或內(nèi)存占用情況; 所述通知接收方式是指客戶端直接通知插件的加載開(kāi)始和結(jié)束,或者運(yùn)行開(kāi)始和運(yùn)行結(jié)束事件; 所述用戶終端評(píng)價(jià)獲取是指收集用戶終端對(duì)插件性能的評(píng)價(jià)情況; 所述爬取網(wǎng)絡(luò)數(shù)據(jù)方式是通過(guò)爬取搜索引擎數(shù)據(jù)和/或網(wǎng)站評(píng)價(jià)數(shù)據(jù),分析插件的性能情況; 所述經(jīng)驗(yàn)數(shù)據(jù)存儲(chǔ)于遠(yuǎn)程云端數(shù)據(jù)庫(kù)或本地?cái)?shù)據(jù)庫(kù)。
12.根據(jù)權(quán)利要求7至10中任一項(xiàng)所述的插件攔截或清理的裝置,其特征在于,所述第ー達(dá)標(biāo)判斷模塊還用于 將所述性能情況與存儲(chǔ)于云端數(shù)據(jù)庫(kù)的經(jīng)驗(yàn)數(shù)據(jù)進(jìn)行匹配,在匹配成功后獲取預(yù)先取得的是否達(dá)標(biāo)結(jié)果,判斷是否達(dá)標(biāo)。
全文摘要
本發(fā)明揭示了一種插件攔截或清理的方法及裝置。該方法可包括獲取插件的性能情況;根據(jù)所述性能情況以及經(jīng)驗(yàn)數(shù)據(jù),判斷所述插件的性能是否達(dá)標(biāo);當(dāng)不達(dá)標(biāo)時(shí),對(duì)所述插件進(jìn)行攔截或清理。本發(fā)明可通過(guò)對(duì)插件的性能情況進(jìn)行評(píng)估,判斷性能情況是否符合預(yù)設(shè)的標(biāo)準(zhǔn),從而根據(jù)判斷的結(jié)果對(duì)插件進(jìn)行相應(yīng)處理。
文檔編號(hào)G06F11/00GK102831021SQ201210264230
公開(kāi)日2012年12月19日 申請(qǐng)日期2012年7月27日 優(yōu)先權(quán)日2012年7月27日
發(fā)明者李偉杰 申請(qǐng)人:騰訊科技(深圳)有限公司