本發(fā)明涉及信息技術(shù)領域,更具體地說,涉及一種應用甄別方法及應用管理設備。
背景技術(shù):
隨著智能終端技術(shù)的日趨成熟,終端的功能也越來越強大,而終端上應用的創(chuàng)新日新月異。然而,在當前的終端應用市場中,可供用戶下載的應用往往良莠不齊,山寨應用更是充斥著應用市場。而山寨應用往往難以滿足用戶的實際需求,反而還可能攜帶病毒,甚至泄露用戶資料,給用戶帶來極大的安全隱患。
事實上,伴隨著終端用戶群體的不斷擴大,山寨應用的數(shù)量也在不斷增長,而山寨應用具有較高的迷惑性,令人防不勝防,甚至有的山寨應用和正版應用的圖標、文字都幾乎一模一樣。目前,山寨應用已經(jīng)成為了終端安全和用戶隱私的重大威脅。在這樣的情況下,尋找一種能夠準確地甄別山寨應用的方法就顯得十分必要。
技術(shù)實現(xiàn)要素:
本發(fā)明要解決的技術(shù)問題在于:目前應用市場中充斥著大量山寨應用難以鑒別,從而嚴重威脅到終端安全和用戶隱私安全。針對該技術(shù)問題,本發(fā)明提供了一種應用甄別方法及應用管理設備。
為解決上述技術(shù)問題,本發(fā)明提供一種應用管理設備,所述應用管理設備包括:
特征獲取模塊,用于獲取當前樣本應用的建模應用特征,所述當前樣本應用包括已知正版應用和山寨應用中的至少兩個應用,所述建模應用特征包括正版應用與山寨應用存在差異的差異特征;以及用于獲取當前待識別應用的建模應用特征;
模型建立模塊,用于基于各所述樣本應用的建模應用特征得到應用甄別模型,并獲取與所述應用甄別模型對應的山寨應用甄別閾值;
應用甄別模塊,用于根據(jù)所述待識別應用的建模應用特征和所述應用甄別模型得到該待識別應用的類型甄別值,并將所述類型甄別值與所述山寨應用甄別閾值進行比對判定其是否為山寨應用。
進一步地,所述模型建立模塊包括:
特征計算單元,用于對各所述樣本應用和待識別應用的建模應用特征進行特征計算;
歸一化處理單元,用于對計算得到的各所述樣本應用和待識別應用的同一建模應用特征之特征值進行歸一化處理;
模型建立單元,用于將所述歸一化處理后的各所述樣本應用的特征值作為訓練集,通過機器學習算法建立應用甄別模型。
進一步地,所述應用甄別模塊用于將所述待識別應用之歸一化處理后的特征值作為測試集輸入所述應用甄別模型,得到該待識別應用的類型甄別值。
進一步地,所述模型建立模塊包括:
樣本應用更新單元,用于將甄別后的各正版應用和/或山寨應用加入所述樣本應用中;
模型更新單元,用于在模型更新條件觸發(fā)時,基于當前樣本應用的建模應用特征建立新的應用甄別模型以對所述應用甄別模型進行更新,并獲取與所述更新后的應用甄別模型對應的山寨應用甄別閾值。
進一步地,所述差異特征包括:應用名稱相似度、應用名稱包含特殊字符情況、應用開發(fā)者情況、應用累計版本數(shù)、應用包體大小、應用數(shù)據(jù)包含官方標識情況、應用數(shù)據(jù)包含廣告情況、應用下載量、應用舉報量、應用用戶評分、應用危險權(quán)限數(shù)量目、應用來源中的至少兩種。
進一步地,本發(fā)明提供了一種應用甄別方法,所述方法包括:
獲取當前樣本應用的建模應用特征,所述當前樣本應用包括已知的至少一個正版應用和至少一個山寨應用,所述建模應用特征包括正版應用與山寨應用存在差異的差異特征;
基于各所述樣本應用的建模應用特征得到應用甄別模型,并獲取與所述應用甄別模型對應的山寨應用甄別閾值;
獲取當前待識別應用的建模應用特征,根據(jù)獲取的所述建模應用特征和所述應用甄別模型得到該待識別應用的類型甄別值;
將所述類型甄別值與所述山寨應用甄別閾值進行比對判定其是否為山寨應用。
進一步地,所述基于各樣本應用的建模應用特征得到應用甄別模型包括:
對各所述樣本應用和待識別應用的建模應用特征進行特征計算;
對計算得到的各所述樣本應用和待識別應用的同一建模應用特征之特征值進行歸一化處理;
將所述歸一化處理后的各所述樣本應用的特征值作為訓練集,通過機器學習算法建立應用甄別模型。
進一步地,所述獲取待識別應用的建模應用特征,根據(jù)獲取的所述建模應用特征和所述應用甄別模型得到該待識別應用的類型甄別值包括:
將所述待識別應用之歸一化處理后的特征值作為測試集輸入所述應用甄別模型,得到該待識別應用的類型甄別值。
進一步地,所述基于各所述樣本應用的建模應用特征得到應用甄別模型還包括:
將甄別后的各正版應用和/或山寨應用加入所述樣本應用中;
在模型更新條件觸發(fā)時,基于當前樣本應用的建模應用特征建立新的應用甄別模型以對所述應用甄別模型進行更新,并獲取與所述更新后的應用甄別模型對應的山寨應用甄別閾值。
進一步地,在所述獲取待識別應用的建模應用特征,根據(jù)獲取的所述建模應用特征和所述應用甄別模型得到該待識別應用的類型甄別值之前,還包括:
在甄別觸發(fā)條件觸發(fā)時,獲取當前存在的類別未知的應用,并將所述類別未知的應用作為待識別應用。
有益效果
本發(fā)明提供的一種應用甄別方法及應用管理設備,通過從包括已知的至少一個正版應用和至少一個山寨應用的樣本應用中獲取各樣本應用的建模應用特征(建模應用特征包括正版應用與山寨應用存在差異的差異特征),再基于各樣本應用的建模應用特征得到應用甄別模型,并獲取與應用甄別模型對應的山寨應用甄別閾值。之后對待識別應用獲取其建模應用特征,通過該建模應用特征和應用甄別模型即可得到該待識別應用的類型甄別值,而將類型甄別值與山寨應用甄別閾值進行比對即可判定其是否為山寨應用。這樣,通過利用正版應用與山寨應用存在差異的差異特征,使得建立的應用甄別模型可以很好的反映出正版應用與山寨應用之間的差異,通過應用甄別模型對未知應用進行檢測,實現(xiàn)了對應用的高效自動化甄別,保證了供給用戶下載的應用的安全性,進而保障了終端安全和用戶隱私安全,同時通過模型進行自動甄別,極大地減少了通過人工甄別山寨應用的成本,還提高了檢測準確率。
附圖說明
下面將結(jié)合附圖及實施例對本發(fā)明作進一步說明,附圖中:
圖1為實現(xiàn)本發(fā)明各個實施例一個可選的移動終端的硬件結(jié)構(gòu)示意圖;
圖2為實現(xiàn)本發(fā)明各個實施例一個可選的服務器的結(jié)構(gòu)示意圖;
圖3為本發(fā)明第一實施例提供的一種應用甄別方法的流程示意圖;
圖4為本發(fā)明第一實施例提供的基于各樣本應用的建模應用特征得到應用甄別模型的一種具體流程示意圖;
圖5為本發(fā)明第一實施例提供的一種動態(tài)調(diào)整應用甄別模型的方法流程示意圖;
圖6為本發(fā)明第二實施例提供的一種應用甄別方法實施過程的基本框架圖;
圖7為本發(fā)明第二實施例提供的一種應用甄別方法實施過程的具體流程示意圖;
圖8為本發(fā)明第三實施例提供的一種應用管理設備結(jié)構(gòu)示意圖;
圖9為本發(fā)明第三實施例提供的一種模型建立模塊的具體結(jié)構(gòu)示意圖;
圖10為本發(fā)明第四實施例提供的一種模型建立模塊的具體結(jié)構(gòu)示意圖。
具體實施方式
應當理解,此處所描述的具體實施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
現(xiàn)在將參考附圖描述實現(xiàn)本發(fā)明各個實施例的終端。在后續(xù)的描述中,使用用于表示元件的諸如“模塊”、“部件”或“單元”的后綴僅為了有利于本發(fā)明的說明,其本身并沒有特定的意義。因此,"模塊"與"部件"可以混合地使用。
移動終端可以以各種形式來實施。例如,本發(fā)明中描述的終端可以包括諸如移動電話、智能電話、筆記本電腦、數(shù)字廣播接收器、pda(個人數(shù)字助理)、pad(平板電腦)、pmp(便攜式多媒體播放器)、導航裝置等等的移動終端以及諸如數(shù)字tv、臺式計算機等等的固定終端。下面,假設終端是移動終端,然而,本領域技術(shù)人員將理解的是,除了特別用于移動目的的元件之外,根據(jù)本發(fā)明的實施方式的構(gòu)造也能夠應用于固定類型的終端。
圖1為實現(xiàn)本發(fā)明各個實施例一個可選的移動終端的硬件結(jié)構(gòu)示意圖。
移動終端100可以包括無線通信單元110、a/v(音頻/視頻)輸入單元120、用戶輸入單元130、感測單元140、輸出單元150、存儲器160、接口單元170、控制器180和電源單元190等等。圖1示出了具有各種組件的移動終端,但是應理解的是,并不要求實施所有示出的組件,可以替代地實施更多或更少的組件,將在下面詳細描述移動終端的元件。
無線通信單元110通常包括一個或多個組件,其允許移動終端100與無線通信系統(tǒng)或網(wǎng)絡之間的無線電通信。
a/v輸入單元120用于接收音頻或視頻信號。a/v輸入單元120可以包括相機和麥克風。
用戶輸入單元130可以根據(jù)用戶輸入的命令生成鍵輸入數(shù)據(jù)以控制移動終端的各種操作。用戶輸入單元130允許用戶輸入各種類型的信息,并且可以包括鍵盤、鍋仔片、觸摸板(例如,檢測由于被接觸而導致的電阻、壓力、電容等等的變化的觸敏組件)、滾輪、搖桿等等。
感測單元140檢測移動終端100的當前狀態(tài),(例如,移動終端100的打開或關(guān)閉狀態(tài))、移動終端100的位置、用戶對于移動終端100的接觸(即,觸摸輸入)的有無、移動終端100的取向、移動終端100的加速或減速移動和方向等等,并且生成用于控制移動終端100的操作的命令或信號。例如,當移動終端100實施為滑動型移動電話時,感測單元140可以感測該滑動型電話是打開還是關(guān)閉。另外,感測單元140能夠檢測電源單元190是否提供電力或者接口單元170是否與外部裝置耦接。
接口單元170用作至少一個外部裝置與移動終端100連接可以通過的接口。例如,外部裝置可以包括有線或無線頭戴式耳機端口、外部電源(或電池充電器)端口、有線或無線數(shù)據(jù)端口、存儲卡端口、用于連接具有識別模塊的裝置的端口、音頻輸入/輸出(i/o)端口、視頻i/o端口、耳機端口等等。識別模塊可以是存儲用于驗證用戶使用移動終端100的各種信息并且可以包括用戶識別模塊(uim)、客戶識別模塊(sim)、通用客戶識別模塊(usim)等等。另外,具有識別模塊的裝置(下面稱為"識別裝置")可以采取智能卡的形式,因此,識別裝置可以經(jīng)由端口或其它連接裝置與移動終端100連接。接口單元170可以用于接收來自外部裝置的輸入(例如,數(shù)據(jù)信息、電力等等)并且將接收到的輸入傳輸?shù)揭苿咏K端100內(nèi)的一個或多個元件或者可以用于在移動終端和外部裝置之間傳輸數(shù)據(jù)。
另外,當移動終端100與外部底座連接時,接口單元170可以用作允許通過其將電力從底座提供到移動終端100的路徑或者可以用作允許從底座輸入的各種命令信號通過其傳輸?shù)揭苿咏K端的路徑。從底座輸入的各種命令信號或電力可以用作用于識別移動終端是否準確地安裝在底座上的信號。輸出單元150被構(gòu)造為以視覺、音頻和/或觸覺方式提供輸出信號(例如,音頻信號、視頻信號、警報信號、振動信號等等)。
存儲器160可以存儲由控制器180執(zhí)行的處理和控制操作的軟件程序等等,或者可以暫時地存儲己經(jīng)輸出或?qū)⒁敵龅臄?shù)據(jù)(例如,電話簿、消息、靜態(tài)圖像、視頻等等)。而且,存儲器160可以存儲關(guān)于當觸摸施加到觸摸屏時輸出的各種方式的振動和音頻信號的數(shù)據(jù)。
存儲器160可以包括至少一種類型的存儲介質(zhì),所述存儲介質(zhì)包括閃存、硬盤、多媒體卡、卡型存儲器(例如,sd或dx存儲器等等)、隨機訪問存儲器(ram)、靜態(tài)隨機訪問存儲器(sram)、只讀存儲器(rom)、電可擦除可編程只讀存儲器(eeprom)、可編程只讀存儲器(prom)、磁性存儲器、磁盤、光盤等等。而且,移動終端100可以與通過網(wǎng)絡連接執(zhí)行存儲器160的存儲功能的網(wǎng)絡存儲裝置協(xié)作。
控制器180通常控制移動終端的總體操作。例如,控制器180執(zhí)行與語音通話、數(shù)據(jù)通信、視頻通話等等相關(guān)的控制和處理??刂破?80可以執(zhí)行模式識別處理,以將在觸摸屏上執(zhí)行的手寫輸入或者圖片繪制輸入識別為字符或圖像。
電源單元190在控制器180的控制下接收外部電力或內(nèi)部電力并且提供操作各元件和組件所需的適當?shù)碾娏Α?/p>
這里描述的各種實施方式可以以使用例如計算機軟件、硬件或其任何組合的計算機可讀介質(zhì)來實施。對于硬件實施,這里描述的實施方式可以通過使用特定用途集成電路(asic)、數(shù)字信號處理器(dsp)、數(shù)字信號處理裝置(dspd)、可編程邏輯裝置(pld)、現(xiàn)場可編程門陣列(fpga)、處理器、控制器、微控制器、微處理器、被設計為執(zhí)行這里描述的功能的電子單元中的至少一種來實施,在一些情況下,這樣的實施方式可以在控制器180中實施。對于軟件實施,諸如過程或功能的實施方式可以與允許執(zhí)行至少一種功能或操作的單獨的軟件模塊來實施。軟件代碼可以由以任何適當?shù)木幊陶Z言編寫的軟件應用程序(或程序)來實施,軟件代碼可以存儲在存儲器160中并且由控制器180執(zhí)行。
至此,己經(jīng)按照其功能描述了移動終端。下面,為了簡要起見,將描述諸如折疊型、直板型、擺動型、滑動型移動終端等等的各種類型的移動終端中的滑動型移動終端作為示例。因此,本發(fā)明能夠應用于任何類型的移動終端,并且不限于滑動型移動終端。
同時參見圖2所示,圖2為實現(xiàn)本發(fā)明各個實施例一個可選的服務器的結(jié)構(gòu)示意圖,該服務器至少包括:輸入輸出(io)總線21、處理器22、存儲器23、內(nèi)存24和通信裝置25。其中,
輸入輸出(io)總線21分別與自身所屬的服務器的其它部件(處理器22、存儲器23、內(nèi)存24和通信裝置25)連接,并且為其它部件提供傳送線路。
處理器22通??刂谱陨硭鶎俚姆掌鞯目傮w操作。例如,處理器22執(zhí)行計算和確認等操作。其中,處理器22可以是中央處理器(cpu)。
存儲器23存儲處理器可讀、處理器可執(zhí)行的軟件代碼,其包含用于控制處理器22執(zhí)行本文描述的功能的指令(即軟件執(zhí)行功能)。
其中,本發(fā)明提供的應用管理設備中,實現(xiàn)特征獲取模塊、模型建立模塊和應用甄別模塊的功能的軟件代碼可存儲在存儲器23中,并由處理器22執(zhí)行或編譯后執(zhí)行。
內(nèi)存24,一般采用半導體存儲單元,包括隨機存儲器(ram),只讀存儲器(rom),以及高速緩存(cache),ram是其中最重要的存儲器。內(nèi)存24是計算機中重要的部件之一,它是與cpu22進行溝通的橋梁,計算機中所有程序的運行都是在內(nèi)存中進行的,其作用是用于暫時存放cpu22中的運算數(shù)據(jù),以及與硬盤等外部存儲器交換的數(shù)據(jù),只要計算機在運行中,cpu22就會把需要運算的數(shù)據(jù)調(diào)到內(nèi)存中進行運算,當運算完成后cpu22再將結(jié)果傳送出來。
通信裝置25,通常包括一個或多個組件,其允許自身所屬的服務器與無線通信系統(tǒng)或網(wǎng)絡之間的無線電通信。
以下通過具體實施例進行詳細說明。
第一實施例
為了實現(xiàn)準確高效地甄別出應用是否為山寨應用,本發(fā)明提供了一種應用甄別方法。參照圖3,圖3為本發(fā)明第一實施例提供的應用甄別方法流程示意圖,包括:
s301:獲取當前樣本應用的建模應用特征;
值得注意的是,本實施例中的當前樣本應用應當包括已知的至少一個正版應用和至少一個山寨應用。還值得注意的是,本實施例中用于建模的各當前樣本應用之建模應用特征應當包括正版應用與山寨應用存在差異的差異特征。
本實施例中,差異特征可以通過特征挖掘工程進行確定,例如,可以通過應用相關(guān)領域的工程師來對相關(guān)應用進行特征比對,確定出山寨應用與正版應用存在區(qū)分度的一些特征,這些特征即為差異特征。通常而言,工程師可以先確定山寨應用與正版應用相比,具備的特點,比如模仿熱門應用名稱、logo(例如“淘.寶.網(wǎng)”即模仿熱門應用“淘寶網(wǎng)”);非法漢化(中文名稱,內(nèi)容為英文);功能單一(只有簡單頁面);名稱奇怪(例如“憤怒的切小鳥,破解版”);權(quán)限過多,且多涉及安全、隱私權(quán)限;包體較小,多為1-2m及以下;版本單一,長時間未更新版本;包含情色、敏感信息;下載量低、評分低;等等;而根據(jù)這些特點,即可對應確定出山寨應用與正版應用區(qū)分度較大的特征,例如應用名稱相似度(如一款應用為正版應用,則其與另一款正版應用的應用名稱相似度不會太高,而山寨應用則極可能會與某一款正版應用的應用名稱相似度很高,如“淘.寶.網(wǎng)”和“淘寶網(wǎng)”)。
在本實施例中,還可以通過機器和工程師聯(lián)動的方式確定出差異特征。例如,讓工程師可以盡量全面確定出山寨應用與正版應用存在區(qū)分度的一些特征,再利用機器算法,如相似度算法等確定出差異化較為明顯的一些特征,以這些特征作為差異特征。
s302:基于各當前樣本應用的建模應用特征得到應用甄別模型;
本實施例中,各當前樣本應用可以是應用市場白名單中的各正版應用和黑名單中各山寨應用,也可以是不在白名單或黑名單中的一致正版應用和/或山寨應用。在采用應用市場白名單中的各正版應用和黑名單中各山寨應用作為樣本應用時,可以將白名單中的所有正版應用和黑名單中所有山寨應用均作為樣本應用,也可以僅將白名單中的部分正版應用和黑名單中部分山寨應用作為樣本應用。
本實施例中,將各當前樣本應用的建模應用特征作為訓練集,通過機器學習算法建立模型。應當理解的是,本實施例中可以采用監(jiān)督學習類機器學習算法對訓練集進行訓練學習,從而建立模型。
例如,設當前樣本應用為100個,其中正版應用50個,山寨應用50個;設x,y,z為每個樣本應用具有的三類的建模應用特征,x1-x50,y1-y50,z1-z50,分別為50個正版應用對應的三類的建模應用特征,x51-x100,y51-y100,z51-z100,分別為50個山寨應用對應的三類的建模應用特征;設正版應用用0表征,山寨應用用1表征;則將訓練集(x1,y1,z1,0),(x2,y2,z2,0),…,(x50,y50,z50,0),(x51,y51,z51,1),(x52,y52,z52,1),…,(x100,y100,z100,1)輸入設備進行學習、訓練,也即告知設備輸入x1,y1,z1時,輸出為0,輸入x2,y2,z2時,輸出為0,…,輸入x50,y50,z50時,輸出為0,輸入x51,y51,z51時,輸出為1,輸入x52,y52,z52時,輸出為1,…,輸入x100,y100,z100時,輸出為1;此后設備根據(jù)設定算法得到滿足上述訓練集輸入輸出的模型。此后只要向該模型輸入相應待識別應用的相應建模應用特征,模型即可輸出其為山寨應用的概率,并根據(jù)設定的閾值進行判定分類。應當理解的是,正版應用和山寨應用的表征值可以為任意兩個不同的數(shù)值,例如還可以將正版應用用1表征,山寨應用用0表征;或?qū)⒄鎽糜?.1表征,山寨應用用0.9表征等。當正版應用用0表征,山寨應用用1表征時,模型輸出值實際即為相應待識別應用為山寨應用的概率;當正版應用用1表征,山寨應用用0表征時,模型輸出值實際即為相應待識別應用為正版應用的概率。
s303:獲取與該應用甄別模型對應的山寨應用甄別閾值;
本實施例中,由于建模算法的不同會導致得到的應用甄別模型也不同,而應用甄別模型的不同會導致其對應的山寨應用甄別閾值也可能不同。
應當理解的是,山寨應用甄別閾值可以是相關(guān)領域的工程師根據(jù)實際經(jīng)驗進行設定的;或是通過對模型進行大量測試性甄別,再根據(jù)模型輸出的類型甄別值和對應的測試應用的類比進行統(tǒng)計得到的。
s304:獲取當前待識別應用的建模應用特征;
值得注意的是,獲取的當前待識別應用的建模應用特征應當與獲取的樣本應用的建模應用特征相對應。例如獲取的樣本應用的建模應用特征為名稱相似度、應用累計版本數(shù)和應用包體大小,則獲取的當前待識別應用的建模應用特征也應當為名稱相似度、應用累計版本數(shù)和應用包體大小。
s305:根據(jù)獲取的建模應用特征和應用甄別模型得到該待識別應用的類型甄別值;
在獲取到當前待識別應用的建模應用特征之后,待識別應用的建模應用特征即構(gòu)成了應用甄別模型的測試集,將這些建模應用特征輸入之后,應用甄別模型即可對應計算輸出相應的類型甄別值。應當理解的是,由于建模算法的不同,應用甄別模型輸出的類型甄別值可能與訓練集設定表征是正版應用還是山寨應用的設定值不同。
s306:將得到的類型甄別值與山寨應用甄別閾值進行比對判定其是否為山寨應用。
本實施例中,可以將山寨應用甄別閾值寫入設備中,在應用甄別模型輸出類型甄別值之后,自動進行對比,將判定結(jié)果輸出。應當理解的是,本實施例還可以在類型甄別值輸出之后,通過人工審核方式進行比對,判定待識別應用的類型。
應當理解的是,本實施例中的當前待識別應用可以是一個也可以是多個,即可以實現(xiàn)對待識別應用的批量甄別。
應當理解的是,樣本應用越多(即訓練集容量越大),得到的模型對于待識別應用類型甄別的準確率即會越高,但其建模時間也會隨之增加,對于資源消耗量也會增大,因此,對于樣本應用的數(shù)量可以根據(jù)實際需求進行確定。
還應當理解的是,本實施例中各個步驟均可通過設備自動進行,即可以在上一步驟完成后,不需用戶介入即可自動進行下一步驟的操作。
本實施例中,差異特征可以包括應用名稱相似度、應用名稱包含特殊字符情況、應用開發(fā)者情況、應用累計版本數(shù)、應用包體大小、應用數(shù)據(jù)包含官方標識情況、應用數(shù)據(jù)包含廣告情況、應用下載量、應用舉報量、應用用戶評分、應用危險權(quán)限數(shù)量目、應用來源中的至少兩種。
本實施例中,基于各樣本應用的建模應用特征得到應用甄別模型的一種具體流程可以參見圖4,包括:
s401:對各樣本應用和待識別應用的建模應用特征進行特征計算;
本實施例中,對于應用名稱相似度可以采用simhash等算法進行計算,得到相應相似度計算值;對于應用名稱包含特殊字符情況可以通過對應用的檢測結(jié)果進行判定得到,例如:包含特殊字符則即為0,不包含則即為1,或包含3個及以上特殊字符則即為0,包含1-2個特殊字符則即為0.5,不包含則即為1等。對于應用開發(fā)者情況、應用累計版本數(shù)、應用包體大小、應用數(shù)據(jù)包含官方標識情況、應用數(shù)據(jù)包含廣告情況、應用下載量、應用舉報量、應用用戶評分、應用危險權(quán)限數(shù)量目、應用來源等的特征計算,可以采用與計算特征“應用名稱包含特殊字符情況”相同的方式進行;相應的,對于應用名稱相似度也可以采用前述方式,例如simhash算法計算得到似度計算值小于0.8,則記為1,否則記為0。
s402:對計算得到的各樣本應用和待識別應用的同一的建模應用特征之特征值進行歸一化處理;
本實施例中,會對各樣本應用和待識別應用的各同一建模應用特征之特征值進行歸一化處理,例如對某樣本應用和待識別應用而言,有a、b、c三類建模應用特征,設樣本應用有100個,a、b、c三類建模應用特征對應的特征值依次分別為a1-a100,b1-b100,c1-c100;待識別應用有10個,a、b、c三類建模應用特征對應的特征值依次分別為a101-a110,b101-b110,c101-c110;則分別將a1-a110進行歸一化處理,b1-b110進行歸一化處理,c1-c110進行歸一化處理,得到數(shù)值在0-1之間的a’1-a’110,b’1-b’110,c’1-c’110。
s403:將歸一化處理后的各樣本應用之特征值作為訓練集,通過機器學習算法建立應用甄別模型。
值得注意的是,本實施例中訓練集中不包含待識別應用的歸一化特征值。仍以上例為例,此時訓練集中不包含a’100-a’110,b’100-b’110,c’100-c’110。
本實施例中,可采用進行建模的機器學習算法包括:邏輯回歸算法、決策樹算法、隨機森林算法等機器學習算法。
本實施例中,在根據(jù)圖4的方法建立好應用甄別模型之后,再將將待識別應用的歸一化處理后的建模應用特征之特征值作為測試集輸入應用甄別模型中,即可得到該待識別應用的類型甄別值。
應當理解的是,本實施例中的應用甄別模型在如圖4所述的步驟中已經(jīng)建立,即相當于已經(jīng)確定了一個多元函數(shù),此時通過將歸一化處理后的待識別應用的建模應用特征之特征值輸入應用甄別模型中,即相當于告知了函數(shù)變量值,由此應用甄別模型進行計算即可得到一個值,該值即為對應的待識別應用的類型甄別值。
本實施例中,根據(jù)得到的某一應用的類型甄別值和獲取的山寨應用甄別閾值即可得到該應用的類型是否為山寨應用。例如某一應用的類型甄別值為0.3,而山寨應用甄別閾值為0.5,則判定該應用為山寨應用。應當理解的是,越靠近訓練集中設定的山寨應用表征值,則進行甄別的應用越可能是山寨應用。例如訓練集中設定的山寨應用表征值為0,正版應用為1,則類型甄別值越接近0的應用,越可能是山寨應用,越接近1的應用越可能是正版應用。
本實施例中,判定了各待識別應用的類型之后,可以對甄別出的山寨應用通過人工操作或設備自動操作等方式進行下架處理。這樣,用戶在進入應用市場時,可供用戶下載的應用即為甄別后的正版應用。
本實施例中,對于下架處理的山寨應用可以加入到應用市場的黑名單中,以避免以后對同款應用需要進行再次甄別。同樣的,對于甄別出的正版應用,可以將其加入到應用市場的白名單中。
由于樣本容量的大小會影響模型甄別準確度,通常而言,樣本應用的數(shù)量越多,建立的應用甄別模型就會甄別的越準確,為不斷提高模型的甄別精度,本實施例還提供了一種動態(tài)調(diào)整應用甄別模型的方法,參見圖5,包括:
s501:將甄別后的各正版應用和/或山寨應用加入樣本應用中;
本實施例中,若樣本應用中包含應用市場黑名單或白名單中的應用,則將甄別后的各正版應用加入到應用市場的白名單中,將甄別后的各山寨應用加入到應用市場的黑名單中。
s502:在模型更新條件觸發(fā)時,基于當前樣本應用的建模應用特征建立新的應用甄別模型以對原有應用甄別模型進行更新;
值得注意的是,用于更新應用甄別模型的當前樣本應用是指加入了上一次已甄別出的各正版應用和/或山寨應用的應用集合。
本實施例中,模型更新條件可以是周期時間,也即設備在每一周期到達時自動根據(jù)各樣本應用重新獲取訓練集數(shù)據(jù),再根據(jù)重新獲取的訓練集數(shù)據(jù)重新得到一個應用甄別模型。本實施例中,模型更新條件也可以是設定的某些時刻;還可以是樣本應用的增加個數(shù)等。應當理解的是,前述三種模型更新條件僅為本實施例示例的三種條件,不代表模型更新條件僅可為前述三種。
s503:獲取與更新后的應用甄別模型對應的山寨應用甄別閾值。
本實施例中,由于更新后的應用甄別模型與原應用甄別模型相比可能具有一定改變,因此更新后的應用甄別模型對應的山寨應用甄別閾值也即需要重新確定。
應當理解的是,隨著應用甄別模型的不斷更新,其甄別準確率會越來越高,隨之更新后的應用甄別模型對應的山寨應用甄別閾值與上一應用甄別模型對應的山寨應用甄別閾值相差會越來越小,甚至等同。
應當理解的是,在樣本容量達到一定的程度之后,對于模型甄別準確度的提高作用就不明顯了,反而由于樣本容量過大,對資源的消耗很高,得不償失,因此,在樣本應用的數(shù)量達到一定的程度之后,即可以不再擴大樣本應用的數(shù)量。
本實施例中,由于加入應用市場的應用很多,在一次甄別之后,又會有許多應用進入到應用市場中,而這些新進入的應用中很可能包含有許多山寨應用,因此需要長期對進入應用市場的應用進行甄別。
對此,一種可行的方案是:設置甄別觸發(fā)條件,在甄別觸發(fā)條件觸發(fā)時,對上一次甄別之后進入到應用市場中的應用進行甄別,也即會獲取在甄別觸發(fā)條件觸發(fā)時應用市場中存在的類別未知的應用,并將這些類別未知的應用作為待識別應用進行甄別。這里甄別觸發(fā)條件可以是周期時間,例如周期為一周,這樣每周都會調(diào)用應用甄別模型進行一次甄別;甄別觸發(fā)條件也可以是設定時刻,例如設定2017年4月31日和2017年5月3日,則設備在件也可以是設定時刻,例如設定2017年4月31日和2017年5月3日這兩天會調(diào)用應用甄別模型進行甄別;甄別觸發(fā)條件還可以是新進入應用市場中的應用個數(shù),例如設定新進入應用個數(shù)閾值為100,則當在檢測到上一次甄別之后進入到應用市場中的應用大于等于100條時,則調(diào)用應用甄別模型進行甄別。
應當理解的是,上述三種甄別觸發(fā)條件僅為本實施例示例的三種條件,不代表甄別觸發(fā)條件僅可為上述三種。
應當理解的是,上述甄別觸發(fā)條件觸發(fā)時,獲取在甄別觸發(fā)條件觸發(fā)時應用市場中存在的類別未知的應用的操作應在“獲取待識別應用的建模應用特征,根據(jù)獲取的建模應用特征和所述應用甄別模型得到該待識別應用的類型甄別值”之前進行。
應當理解的是,為防止用戶在上一次甄別之后,本次甄別尚未開始這一時間段下載到山寨應用,可以對這些新進入應用市場的應用做暫不上架處理,在甄別之后,再將甄別出的正版應用進行上架。
而另一種可行的方案是:在每一個應用進入應用市場時,即調(diào)用應用甄別模型進行甄別。
值得注意的是,本實施例中的各個步驟可以由如圖2所示的服務器來完成,具體的,如圖2所示的服務器,工程師可以通過輸入輸出總線21設置各應用中的哪些特征為建模應用特征;處理器22從存儲器23中獲取樣本應用和待識別應用的,并獲取各樣本應用和待識別應用的建模應用特征進行特征計算、歸一化處理等操作,進而建立應用甄別模型;同時,處理器22還會利用建立的應用甄別模型得到各待識別應用對應的類型甄別值,從而判定各待識別應用是否為山寨應用,并對甄別出的山寨應用進行下架處理;而后,通信裝置25即可在用戶進入應用市場時,將可供用戶下載的正版應用發(fā)送到用戶終端上。
應當理解的是,本實施例中的各個步驟也可以由如圖1所示的終端來獨立實現(xiàn),具體的,工程師可以通過用戶輸入單元130或接口單元170來設置各應用中的哪些特征為建模應用特征;控制器180從存儲器160中獲取樣本應用和待識別應用,并獲取各樣本應用和待識別應用的建模應用特征進行特征計算、歸一化處理等操作,進而建立應用甄別模型;同時,控制器180還會利用建立的應用甄別模型得到各待識別應用對應的類型甄別值,從而判定各待識別應用是否為山寨應用,并對甄別出的山寨應用進行下架處理。
本實施例提供的應用甄別方法,通過從包括已知的至少一個正版應用和至少一個山寨應用的樣本應用中獲取各樣本應用的建模應用特征(建模應用特征包括正版應用與山寨應用存在差異的差異特征),再基于各樣本應用的建模應用特征得到應用甄別模型,并獲取與應用甄別模型對應的山寨應用甄別閾值。之后對待識別應用獲取其建模應用特征,通過該建模應用特征和應用甄別模型即可得到該待識別應用的類型甄別值,而將類型甄別值與山寨應用甄別閾值進行比對即可判定其是否為山寨應用。這樣,通過利用正版應用與山寨應用存在差異的差異特征,使得建立的應用甄別模型可以很好的反映出正版應用與山寨應用之間的差異,通過應用甄別模型對未知應用進行檢測,實現(xiàn)了對應用的高效自動化甄別,保證了供給用戶下載的應用的安全性,進而保障了終端安全和用戶隱私安全,同時通過模型進行自動甄別,極大地減少了通過人工甄別山寨應用的成本,還提高了檢測準確率。第二實施例
本實施例在第一實施例的基礎上,以樣本應用為應用市場白名單中的正版應用和黑名單中的山寨應用,且模型更新條件和甄別觸發(fā)條件為設定時刻(即設定有兩個不同的定時任務)的情況為例,對本發(fā)明作進一步的示例說明。
參見圖6,圖6為本發(fā)明第二實施例提供的一種應用甄別方法實施過程的基本框架圖,可見,本實施例中應用甄別方法實施過程主要包括:設備首先根據(jù)白名單和黑名單中的應用構(gòu)建了應用甄別模型,此時白名單和黑名單中的應用即為樣本應用;再將待識別應用輸入構(gòu)建好的應用甄別模型中(應當理解的是,此處輸入的是歸一化處理后的待識別應用的建模應用特征之特征值),應用甄別模型即輸出對應待識別應用的類型甄別值,此后通過人工判定或機器自動判定等方法將類型甄別值和山寨應用甄別閾值比較,得到待識別應用的類型。其具體流程可以參見圖7,包括:
s701:加載定時任務1;
即在預先設定時刻自動完成下述s702-s704的步驟,例如每隔一周則自動進行s702-s704的步驟,即重新建立應用甄別模型。
s702:獲取白名單和黑名單中的應用,以及各待識別應用的建模應用特征并進行特征計算及歸一化處理;
應當理解的是,每次加載定時任務1時,由于步驟s710更新了白名單和黑名單,故每次加載定時任務1時獲取的白名單和黑名單中的應用不相同。
應當理解的是,每次加載定時任務1時,會重新獲取待識別應用,這些待識別應用即為上次甄別之后新加入的應用和/或上次甄別時未甄別完的應用類別未知(即不清楚是為山寨應用還是為正版應用)的應用。
還應當理解的是,本實施例中可用于進行特征計算的方法包括simhash算法、scikit-learn等。
s703:通過機器學習算法建立應用甄別模型;
值得注意的是,在通過機器學習算法建立應用甄別模型時,所采用的數(shù)據(jù)中包含有白名單和黑名單中的應用對應的歸一化特征值,但不含各待識別應用對應的歸一化特征值。
s704:保存應用甄別模型。
s705:加載定時任務2;
即在預先設定時刻自動完成下述s706-s710的步驟,例如每當檢測到步驟s704完成之后,則自動進行s706-s710的步驟,即通過重新建立的應用甄別模型進行待識別應用甄別。
s706:加載應用甄別模型;
s707:將待識別應用輸入應用甄別模型中;
輸入的實質(zhì)是進行歸一化處理后的待識別應用的建模應用特征之特征值。
s708:輸出類型甄別值;
s709:根據(jù)類型甄別值與山寨應用甄別閾值判定待識別應用類型;
本實施例中,可以通過運營人工進行待識別應用類型的判定并將山寨應用進行下架,也可以通過機器進行自動化判定并自動將山寨應用進行下架。
s710:更新白名單和黑名單。
本實施例提供的應用甄別方法,通過將已有的白名單和黑名單中的應用作為樣本應用進行建模應用特征提取并建立應用甄別模型,在通過將待識別應用的建模應用特征之特征值輸入應用甄別模型中,得到該待識別應用的類型甄別值,進而判定該待識別應用是否為山寨應用,并將識別后的應用加入到黑名單或白名單中,實現(xiàn)對樣本應用的擴大以及對模型的更新。這樣,由于建模應用特征中包含有正版應用與山寨應用存在差異的差異特征,使得建立的應用甄別模型可以很好的甄別出正版應用與山寨應用,實現(xiàn)了對應用的高效自動化甄別,極大地減少了通過人工甄別山寨應用的成本,提高了檢測準確率,保證了供給用戶下載的應用的安全性。
第三實施例
為了實現(xiàn)準確高效地甄別出應用是否為山寨應用,本發(fā)明提供了一種應用管理設備。參見圖8,圖8為本發(fā)明第三實施例提供的一種應用管理設備結(jié)構(gòu)示意圖,包括:
特征獲取模塊81,用于獲取當前樣本應用和當前待識別應用的建模應用特征。
應當注意的是,本實施例中的當前樣本應用應當包括已知的至少一個正版應用和至少一個山寨應用。還值得注意的是,本實施例中用于建模的各當前樣本應用之建模應用特征應當包括正版應用與山寨應用存在差異的差異特征。
模型建立模塊82,用于基于特征獲取模塊81獲取的各當前樣本應用的建模應用特征得到應用甄別模型,并獲取與所述應用甄別模型對應的山寨應用甄別閾值。
應用甄別模塊83,用于根據(jù)特征獲取模塊81獲取的當前待識別應用的建模應用特征和模型建立模塊82建立的應用甄別模型得到該待識別應用的類型甄別值,并將該類型甄別值與山寨應用甄別閾值進行比對,從而判定該類型甄別值對應的待識別應用是否為山寨應用。
本實施例中,差異特征可以通過特征挖掘工程進行確定,例如,可以通過應用相關(guān)領域的工程師來對相關(guān)應用進行特征比對,確定出山寨應用與正版應用存在區(qū)分度的一些特征,這些特征即為差異特征。
本實施例中,差異特征可以包括應用名稱相似度、應用名稱包含特殊字符情況、應用開發(fā)者情況、應用累計版本數(shù)、應用包體大小、應用數(shù)據(jù)包含官方標識情況、應用數(shù)據(jù)包含廣告情況、應用下載量、應用舉報量、應用用戶評分、應用危險權(quán)限數(shù)量目、應用來源中的至少兩種。
本實施例中,各樣本應用可以是應用市場白名單中的各正版應用和黑名單中的各山寨應用,也可以是不在白名單或黑名單中的一致正版應用和/或山寨應用。在采用應用市場白名單中的各正版應用和黑名單中各山寨應用作為樣本應用時,可以將白名單中的所有正版應用和黑名單中所有山寨應用均作為樣本應用,也可以僅將白名單中的部分正版應用和黑名單中部分山寨應用作為樣本應用。
本實施例中,模型建立模塊82會將各當前樣本應用的建模應用特征作為訓練集,通過機器學習算法建立模型。應當理解的是,本實施例中,模型建立模塊82可以采用監(jiān)督學習類機器學習算法對訓練集進行訓練學習,從而建立應用甄別模型。
本實施例中,由于建模算法的不同會導致模型建立模塊82得到的應用甄別模型也不同,而應用甄別模型的不同會導致其對應的山寨應用甄別閾值也可能不同。
應當理解的是,山寨應用甄別閾值可以是相關(guān)領域的工程師根據(jù)實際經(jīng)驗進行設定的;或是通過對模型進行大量測試性甄別,再根據(jù)模型輸出的類型甄別值和對應的測試應用的類比進行統(tǒng)計得到的。
值得注意的是,特征獲取模塊81獲取的當前待識別應用的建模應用特征應當與獲取的樣本應用的建模應用特征相對應。例如特征獲取模塊81獲取的樣本應用的建模應用特征為名稱相似度、應用累計版本數(shù)和應用包體大小,則獲取的待識別應用的建模應用特征也應當為名稱相似度、應用累計版本數(shù)和應用包體大小。
在特征獲取模塊81獲取到當前待識別應用的建模應用特征之后,當前待識別應用的建模應用特征即構(gòu)成了應用甄別模型的測試集,應用甄別模塊83將這些建模應用特征輸入到應用甄別模型中后,應用甄別模型即可對應計算輸出相應的類型甄別值。應當理解的是,由于模型建立模塊82采用的建模算法不同,應用甄別模型輸出的類型甄別值可能與訓練集設定表征是正版應用還是山寨應用的設定值不同。
本實施例中,工程師還可以將山寨應用甄別閾值寫入設備中,應用甄別模塊83在應用甄別模型輸出類型甄別值之后,自動進行對比,將判定結(jié)果輸出。應當理解的是,本實施例還可以在類型甄別值輸出之后,通過人工審核方式將應用甄別模型輸出類型甄別值與應用甄別模型對應的山寨應用甄別閾值進行比對,判定待識別應用的類型。
應當理解的是,本實施例中的待識別應用可以是一個也可以是多個,即可以實現(xiàn)對待識別應用的批量甄別。
本實施例中,應用甄別模塊83判定了各待識別應用的類型之后,應用管理設備可以對甄別出的山寨應用通過人工操作或設備自動操作等方式進行下架處理。這樣,用戶在進入應用市場時,看到的可供用戶下載的應用即為應用管理設備甄別后的正版應用。
應當理解的是,本實施例中各個模塊在上一模塊完成相應功能后,即可自動開始完成自身功能,例如在模型建立模塊82完成自身功能之后,應用甄別模塊83即可自動開始工作,不需人工介入。應當理解的是,在各個模塊完成自身功能之后,也可通過用戶選擇的方式來開始下一模塊的工作。
應當理解的是,樣本應用越多(即訓練集容量越大),模型建立模塊82得到的模型對于待識別應用類型甄別的準確率即會越高,但其建模時間也會隨之增加,對于資源消耗量也會增大,因此,對于樣本應用的數(shù)量可以根據(jù)實際需求進行確定。
本實施例中,模型建立模塊82的一種具體結(jié)構(gòu)可以參見圖9,包括:
特征計算單元821,用于對各樣本應用和待識別應用的建模應用特征進行特征計算。
歸一化處理單元822,用于對計算得到的各樣本應用和待識別應用的同一建模應用特征之特征值進行歸一化處理。
模型建立單元823,用于將歸一化處理后的各所述樣本應用的特征值作為訓練集,通過機器學習算法建立應用甄別模型。
本實施例中,特征計算單元821對于應用名稱相似度可以采用simhash等算法進行計算,得到相應相似度計算值;對于應用名稱包含特殊字符情況可以通過對應用的檢測結(jié)果進行判定得到,例如:包含特殊字符則即為1,不包含則即為0,或包含3個及以上特殊字符則即為1,包含1-2個特殊字符則即為0.5,不包含則即為0等。對于應用開發(fā)者情況、應用累計版本數(shù)、應用包體大小、應用數(shù)據(jù)包含官方標識情況、應用數(shù)據(jù)包含廣告情況、應用下載量、應用舉報量、應用用戶評分、應用危險權(quán)限數(shù)量目、應用來源等的特征計算,可以采用與計算特征“應用名稱包含特殊字符情況”相同的方式進行;相應的,對于應用名稱相似度也可以采用前述方式,例如simhash算法計算得到似度計算值小于0.9,則記為0,否則記為1。
值得注意的是,本實施例中,模型建立單元823用于建立應用甄別模型的訓練集中不包含待識別應用的歸一化特征值。
本實施例中,模型建立單元823可采用進行建模的機器學習算法包括:邏輯回歸算法、決策樹算法、隨機森林算法等機器學習算法。
本實施例中,在模型建立單元823建立好應用甄別模型之后,應用甄別模塊83可以將由歸一化處理單元822歸一化處理后的所述待識別應用之特征值作為測試集輸入所述應用甄別模型,得到該待識別應用的類型甄別值。
應當理解的是,本實施例中的建立應用甄別模型可以相當于一個已經(jīng)確定的多元函數(shù),此時通過將歸一化處理后的待識別應用的建模應用特征之特征值輸入應用甄別模型中,即相當于告知了函數(shù)變量值,由此應用甄別模型進行計算即可得到一個值,該值即為對應的待識別應用的類型甄別值。
本實施例中,應用甄別模塊83根據(jù)得到的某一應用的類型甄別值和獲取的山寨應用甄別閾值即可得到該應用的類型是否為山寨應用。
應當理解的是,越靠近訓練集中設定的山寨應用表征值,則進行甄別的應用越可能是山寨應用。例如訓練集中設定的山寨應用表征值為1,正版應用為0,則類型甄別值越接近1的應用,越可能是山寨應用,越接近0的應用越可能是正版應用。
本實施例中,對于下架處理的山寨應用可以加入到應用市場的黑名單中,以避免以后對同款應用需要進行再次甄別。同樣的,對于甄別出的正版應用,可以將其加入到應用市場的白名單中。
值得注意的是,本實施例中,應用管理設備的功能可以由如圖2所示的服務器來完成,具體的,特征獲取模塊81、模型建立模塊82和應用甄別模塊83的功能的軟件代碼可存儲在如圖2所示的服務器的存儲器23中,并由處理器22執(zhí)行或編譯后執(zhí)行;特征獲取模塊81、模型建立模塊82和應用甄別模塊83可以設置于處理器22之內(nèi)。應當理解的是,處理器22還可以實現(xiàn)對甄別后的山寨應用進行下架的操作,此后通信裝置25即可在用戶進入應用市場時,將可供用戶下載的正版應用發(fā)送到用戶終端上。
應當理解的是,本實施例中應用管理設備的功能也可以由如圖1所示的終端來獨立實現(xiàn),此時特征獲取模塊81、模型建立模塊82和應用甄別模塊83的功能即可由終端控制器180實現(xiàn),特征獲取模塊81、模型建立模塊82和應用甄別模塊83可以設置于終端控制器180內(nèi)。
本實施例提供的應用管理裝置,通過特征獲取模塊從包括已知的樣本應用中獲取各樣本應用的建模應用特征(建模應用特征包括正版應用與山寨應用存在差異的差異特征),由模型建立模塊建立應用甄別模型,通過應用甄別模塊得到待識別應用的類型甄別值,并將類型甄別值與山寨應用甄別閾值進行比對,從而判定待識別應用是否為山寨應用。這樣,利用正版應用與山寨應用存在差異的差異特征,使得建立的應用甄別模型可以很好的反映出正版應用與山寨應用之間的差異,再通過應用甄別模型對未知應用進行檢測,實現(xiàn)了對應用的高效自動化甄別,保證了供給用戶下載的應用的安全性,進而保障了終端安全和用戶隱私安全,同時通過模型進行自動甄別,極大地減少了通過人工甄別山寨應用的成本,還提高了檢測準確率。
第四實施例
本實施例是在第三實施例的基礎上,對本發(fā)明的技術(shù)方案做進行進一步示例說明。
應當理解,樣本容量的大小會影響模型甄別準確度,通常而言,樣本容量越大,模型甄別準確度就越高。也即樣本應用的數(shù)量越多,建立的應用甄別模型就會甄別的越準確。為不斷提高模型的甄別精度,參見圖10,圖10為本實施例提供的另一種模型建立模塊82的結(jié)構(gòu)示意圖,包括:
樣本應用更新單元824,用于將應用甄別模塊83甄別后的各正版應用和/或山寨應用加入樣本應用中。
模型更新單元825,用于在模型更新條件觸發(fā)時,基于各樣本應用的建模應用特征更新應用甄別模型,并獲取與更新后的應用甄別模型對應的山寨應用甄別閾值。
應當理解的是,樣本應用更新單元824和模型更新單元825可以與第三實施例中的特征計算單元821、歸一化處理單元822和模型建立單元823共存。
本實施例中,若樣本應用中包含應用市場黑名單或白名單中的應用,則樣本應用更新單元824可以將甄別后的各正版應用加入到應用市場的白名單中,將甄別后的各山寨應用加入到應用市場的黑名單中。
值得注意的是,本實施例中,模型更新單元825用于更新應用甄別模型的各樣本應用是指加入了上一次已甄別出的各正版應用和/或山寨應用的應用集合。
本實施例中,模型更新條件可以是周期時間,也即設備在每一周期到達時自動根據(jù)各樣本應用重新獲取訓練集數(shù)據(jù),再根據(jù)重新獲取的訓練集數(shù)據(jù)重新得到一個應用甄別模型。本實施例中,模型更新條件也可以是設定的某些時刻;還可以是樣本應用的增加個數(shù)等。應當理解的是,前述三種模型更新條件僅為本實施例示例的三種條件,不代表模型更新條件僅可為前述三種。
本實施例中,由于模型更新單元825更新后的應用甄別模型與原應用甄別模型相比可能具有一定改變,因此更新后的應用甄別模型對應的山寨應用甄別閾值也即需要重新確定。
應當理解的是,隨著應用甄別模型的不斷更新,應用甄別模型的甄別準確率會越來越高,隨之更新后的應用甄別模型對應的山寨應用甄別閾值與上一應用甄別模型對應的山寨應用甄別閾值相差會越來越小,甚至等同。
應當理解的是,在樣本容量達到一定的程度之后,對于模型甄別準確度的提高作用就不明顯了,反而由于樣本容量過大,對資源的消耗很高,得不償失,因此,在樣本應用的數(shù)量達到一定的程度之后,樣本應用更新單元824即可以不再擴大樣本應用的數(shù)量。
本實施例中,由于加入應用市場的應用很多,在一次甄別之后,又會有許多應用進入到應用市場中,而這些新進入的應用中很可能包含有許多山寨應用,因此應用管理設備需要長期對進入應用市場的應用進行甄別。
對此,一種可行的方案是:應用管理設備設置甄別觸發(fā)條件,在甄別觸發(fā)條件觸發(fā)時,應用甄別模塊83對上一次甄別之后進入到應用市場中的應用進行甄別。這里甄別觸發(fā)條件可以是周期時間,也可以是設定時刻,還可以是新進入應用市場中的應用個數(shù)等。
應當理解的是,上述三種甄別觸發(fā)條件僅為本實施例示例的三種條件,不代表甄別觸發(fā)條件僅可為上述三種。
應當理解的是,為防止用戶在上一次甄別之后,本次甄別尚未開始這一時間段下載到山寨應用,應用管理設備可以對這些新進入應用市場的應用做暫不上架處理,在甄別之后,再將甄別出的正版應用進行上架。
另一種可行的方案是:應用管理設備在每一個應用進入應用市場時,應用甄別模塊83即調(diào)用應用甄別模型進行甄別。
值得注意的是,本實施例中應用管理設備的功能仍舊可以由如圖2所示的服務器來完成,具體的,樣本應用更新單元824和模型更新單元825的功能的軟件代碼可存儲在如圖2所示的服務器的存儲器23中,并由處理器22執(zhí)行或編譯后執(zhí)行;樣本應用更新單元824和模型更新單元825可以設置于處理器22之內(nèi)。
應當理解的是,本實施例中應用管理設備的功能同樣也可以由如圖1所示的終端來獨立實現(xiàn),此時樣本應用更新單元824和模型更新單元825的功能即可由終端控制器180實現(xiàn),樣本應用更新單元824和模型更新單元825可以設置于終端控制器180內(nèi)。
本實施例提供的應用管理設備,通過將識別后的應用加入到樣本應用中,再通過設置模型更新觸發(fā)條件的方式實現(xiàn)對原有的應用甄別模型的更新,使得在實現(xiàn)高效自動化甄別山寨應用的同時,也不斷自動提高應用甄別模型的甄別準確度,在減少甄別成本的同時,進一步提高了檢測準確率,保證了供給用戶下載的應用的安全性。
需要說明的是,在本文中,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者裝置不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者裝置所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括該要素的過程、方法、物品或者裝置中還存在另外的相同要素。
上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。
通過以上的實施方式的描述,本領域的技術(shù)人員可以清楚地了解到上述實施例方法可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當然也可以通過硬件,但很多情況下前者是更佳的實施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)(如rom/ram、磁碟、光盤)中,包括若干指令用以使得一臺終端設備(可以是手機,計算機,服務器,空調(diào)器,或者網(wǎng)絡設備等)執(zhí)行本發(fā)明各個實施例所述的方法。
上面結(jié)合附圖對本發(fā)明的實施例進行了描述,但是本發(fā)明并不局限于上述的具體實施方式,上述的具體實施方式僅僅是示意性的,而不是限制性的,本領域的普通技術(shù)人員在本發(fā)明的啟示下,在不脫離本發(fā)明宗旨和權(quán)利要求所保護的范圍情況下,還可做出很多形式,這些均屬于本發(fā)明的保護之內(nèi)。