識別應(yīng)用程序類型的方法和裝置制造方法
【專利摘要】本發(fā)明提出一種識別應(yīng)用程序類型的方法和裝置,該識別應(yīng)用程序類型的方法包括獲取第一組應(yīng)用程序,所述第一組應(yīng)用程序是與要識別的應(yīng)用程序?qū)儆谕唤M的應(yīng)用程序;判斷所述第一組應(yīng)用程序中是否存在類型已知的,且包名與所述要識別的應(yīng)用程序的包名具有相似度的應(yīng)用程序;如果存在,根據(jù)所述具有相似度的應(yīng)用程序的類型,確定所述要識別的應(yīng)用程序的類型。該方法能夠?qū)崿F(xiàn)對應(yīng)用程序類型的識別。
【專利說明】識別應(yīng)用程序類型的方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)處理【技術(shù)領(lǐng)域】,尤其涉及一種識別應(yīng)用程序類型的方法和裝置。
【背景技術(shù)】
[0002]當(dāng)前用戶手機(jī)存儲中,由于應(yīng)用的開發(fā)規(guī)范不當(dāng),導(dǎo)致大量存儲空間被無用數(shù)據(jù)占用,致使手機(jī)存儲空間不足,存儲數(shù)據(jù)雜亂不堪,因此需要清理更多的無用數(shù)據(jù),釋放更多存儲空間。在清理無用數(shù)據(jù)時需要對未知類型的應(yīng)用程序進(jìn)行識別,以便采用相應(yīng)手段進(jìn)行清理。
【發(fā)明內(nèi)容】
[0003]本發(fā)明旨在至少在一定程度上解決相關(guān)技術(shù)中的技術(shù)問題之一。
[0004]為此,本發(fā)明的一個目的在于提出一種識別應(yīng)用程序類型的方法,該方法可以實(shí)現(xiàn)對應(yīng)用程序類型的識別。
[0005]本發(fā)明的另一個目的在于提出一種識別應(yīng)用程序類型的裝置。
[0006]為達(dá)到上述目的,一方面,本發(fā)明實(shí)施例提出的識別應(yīng)用程序類型的方法,包括:獲取第一組應(yīng)用程序,所述第一組應(yīng)用程序是與要識別的應(yīng)用程序?qū)儆谕唤M的應(yīng)用程序;判斷所述第一組應(yīng)用程序中是否存在類型已知的,且包名與所述要識別的應(yīng)用程序的包名具有相似度的應(yīng)用程序;如果存在,根據(jù)所述具有相似度的應(yīng)用程序的類型,確定所述要識別的應(yīng)用程序的類型。
[0007]本發(fā)明實(shí)施例提出的識別應(yīng)用程序類型的方法,通過獲取與要識別的應(yīng)用程序?qū)儆谕唤M的應(yīng)用程序,并根據(jù)該同一組的應(yīng)用程序中的類型已知的應(yīng)用程序的包名確定要識別的應(yīng)用程序的類別,可以實(shí)現(xiàn)對應(yīng)用程序類型的識別。
[0008]為達(dá)到上述目的,另一方面,本發(fā)明實(shí)施例提出的識別應(yīng)用程序類型的裝置,包括:第一獲取模塊,用于獲取第一組應(yīng)用程序,所述第一組應(yīng)用程序是與要識別的應(yīng)用程序?qū)儆谕唤M的應(yīng)用程序;第一判斷模塊,用于判斷所述第一組應(yīng)用程序中是否存在類型已知的,且包名與所述要識別的應(yīng)用程序的包名具有相似度的應(yīng)用程序;第一確定模塊,用于如果所述第一判斷模塊得到的判斷結(jié)果是存在,根據(jù)所述具有相似度的應(yīng)用程序的類型,確定所述要識別的應(yīng)用程序的類型。
[0009]本發(fā)明實(shí)施例提出的識別應(yīng)用程序類型的裝置,通過獲取與要識別的應(yīng)用程序?qū)儆谕唤M的應(yīng)用程序,并根據(jù)該同一組的應(yīng)用程序中的類型已知的應(yīng)用程序的包名確定要識別的應(yīng)用程序的類別,可以實(shí)現(xiàn)對應(yīng)用程序類型的識別。
[0010]為達(dá)到上述目的,又一方面,本發(fā)明實(shí)施例提出的移動設(shè)備,包括:殼體、處理器、存儲器、電路板和電源電路,其中,電路板安置在殼體圍成的空間內(nèi)部,處理器和存儲器設(shè)置在電路板上;電源電路,用于為移動設(shè)備的各個電路或器件供電;存儲器用于存儲可執(zhí)行程序代碼;處理器通過讀取存儲器中存儲的可執(zhí)行程序代碼來運(yùn)行與可執(zhí)行程序代碼對應(yīng)的程序,以用于執(zhí)行以下步驟:獲取第一組應(yīng)用程序,所述第一組應(yīng)用程序是與要識別的應(yīng)用程序?qū)儆谕唤M的應(yīng)用程序;判斷所述第一組應(yīng)用程序中是否存在類型已知的,且包名與所述要識別的應(yīng)用程序的包名具有相似度的應(yīng)用程序;如果存在,根據(jù)所述具有相似度的應(yīng)用程序的類型,確定所述要識別的應(yīng)用程序的類型。
[0011]本發(fā)明實(shí)施例提出的移動設(shè)備,通過獲取與要識別的應(yīng)用程序?qū)儆谕唤M的應(yīng)用程序,并根據(jù)該同一組的應(yīng)用程序中的類型已知的應(yīng)用程序的包名確定要識別的應(yīng)用程序的類別,可以實(shí)現(xiàn)對應(yīng)用程序類型的識別。
[0012]本發(fā)明附加的方面和優(yōu)點(diǎn)將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本發(fā)明的實(shí)踐了解到。
【專利附圖】
【附圖說明】
[0013]本發(fā)明上述的和/或附加的方面和優(yōu)點(diǎn)從下面結(jié)合附圖對實(shí)施例的描述中將變得明顯和容易理解,其中:
[0014]圖1是本發(fā)明識別應(yīng)用程序類型的方法一實(shí)施例的流程示意圖;
[0015]圖2是本發(fā)明識別應(yīng)用程序類型的方法另一實(shí)施例的流程示意圖;
[0016]圖3是本發(fā)明識別應(yīng)用程序類型的裝置一實(shí)施例的結(jié)構(gòu)示意圖;
[0017]圖4是本發(fā)明識別應(yīng)用程序類型的裝置另一實(shí)施例的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0018]下面詳細(xì)描述本發(fā)明的實(shí)施例,所述實(shí)施例的示例在附圖中示出,其中自始至終相同或類似的標(biāo)號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實(shí)施例是示例性的,僅用于解釋本發(fā)明,而不能理解為對本發(fā)明的限制。相反,本發(fā)明的實(shí)施例包括落入所附加權(quán)利要求書的精神和內(nèi)涵范圍內(nèi)的所有變化、修改和等同物。
[0019]圖1是本發(fā)明識別應(yīng)用程序類型的方法一實(shí)施例的流程示意圖,該方法包括:
[0020]Sll:獲取第一組應(yīng)用程序,所述第一組應(yīng)用程序是與要識別的應(yīng)用程序?qū)儆谕唤M的應(yīng)用程序。
[0021 ] 其中,可以獲取應(yīng)用程序的包名,再確定應(yīng)用程序的包名中的第一部分,將第一部分相同的應(yīng)用程序確定為同一組應(yīng)用程序。
[0022]可選的,所述獲取第一組應(yīng)用程序,包括:
[0023]確定應(yīng)用程序的包名中的第一部分,所述第一部分用于分組;
[0024]將第一部分與所述要識別的應(yīng)用程序的第一部分相同的應(yīng)用程序,確定為所述第一組應(yīng)用程序。
[0025]可選的,所述確定所述包名中的第一部分,包括:
[0026]確定所述包名被分隔符分開的段數(shù);
[0027]如果所述段數(shù)小于或等于預(yù)設(shè)閾值,選擇所述包名中的被所述分隔符分開的第一段作為所述第一部分;或者,
[0028]如果所述段數(shù)大于所述預(yù)設(shè)閾值,選擇所述包名中的被所述分隔符分開的第一段和第二段作為所述第一部分。
[0029]可選的,所述分隔符是點(diǎn)號。
[0030]可選的,所述預(yù)設(shè)閾值是2。
[0031]例如,從包名-應(yīng)用名-應(yīng)用類型數(shù)據(jù)庫中獲取每一條數(shù)據(jù),將其中的包名按照點(diǎn)號(切片,若切片后的段數(shù)小于或等于2段,則選擇’分開的第一段作為第一部分,若切片后的段數(shù)大于2段,則選擇’分開的前兩段作為第一部分。
[0032]具體如,讀取的包名包括:appinventor.ai_fcatalar, appinventor.ai_estimccc和appinventor.ai_esethac,由于被‘.’分開的段數(shù)是2,則取第一段,也就是‘.’前的一段作為第一部分,由于上述三個包名的第一部分(即appinventor)相同,則上述三個包名是同一組的應(yīng)用程序。
[0033]又例如,讀取的包名包括:avm.androiddukkan.mhm, avm.androiddukkan.hsn 和avm.androiddukkan.bsn,由于被’分開的段數(shù)是3,則取第一段和第二段,也就是’前的兩段作為第一部分,由于上述三個包名的第一部分(即avm.androiddukkan)相同,貝丨J上述三個包名是同一組的應(yīng)用程序。
[0034]S12:判斷所述第一組應(yīng)用程序中是否存在類型已知的,且包名與所述要識別的應(yīng)用程序的包名具有相似度的應(yīng)用程序。
[0035]其中,在包名-應(yīng)用名-應(yīng)用類型數(shù)據(jù)庫中讀取的每一條數(shù)據(jù)中,會對應(yīng)記錄包名、應(yīng)用名和應(yīng)用類型,如果一個包名對應(yīng)的應(yīng)用類型是已知的,則該包名指示的應(yīng)用程序的類型是已知的,否則,如果包名對應(yīng)的應(yīng)用類型是空白的,則該包名指示的應(yīng)用程序的類型是未知的。
[0036]可選的,所述與所述要識別的應(yīng)用程序的包名具有相似度的應(yīng)用程序,包括:
[0037]第二部分與所述要識別的應(yīng)用程序的包名的第二部分具有按序相同的字符,所述第二部分是所述包名中除所述第一部分之外的部分。
[0038]例如,假設(shè)要識別的應(yīng)用程序的包名是appinventor.ai_esethac,根據(jù)上述描述的劃分方式,第二部分是指’后的分段,由于appinventor.ai_estimccc的第二部分(即 ai_estimccc)存在與 appinventor.ai_esethac (即 ai_esethac)的第二部分按序相同的字符,且appinventor.ai_fcatalar的第二部分(即ai_fcatalar)也存在與appinventor.ai_esethac (即ai_esethac)的第二部分按序相同的字符,因此,appinventor.ai_estimccc 指不的應(yīng)用程序和 appinventor.ai_fcatalar 指不的應(yīng)用程序都是與appinventor.ai_esethac指示的應(yīng)用程序具有相似度的應(yīng)用程序。
[0039]S13:如果存在,根據(jù)所述具有相似度的應(yīng)用程序的類型,確定所述要識別的應(yīng)用程序的類型。
[0040]可選的,所述根據(jù)所述具有相似度的應(yīng)用程序的類型,確定所述要識別的應(yīng)用程序的類型,包括:
[0041]從所述具有相似度的應(yīng)用程序中選擇出第一應(yīng)用程序,其中,所述第一應(yīng)用程序的包名的第二部分與所述要識別的應(yīng)用程序的包名的第二部分按序相同的字符的個數(shù)最多;
[0042]將所述第一應(yīng)用程序的類型,確定為所述要識別的應(yīng)用程序的類型。
[0043]例如,假設(shè)appinventor.ai_estimccc 和 appinventor.ai_fcatalar 對應(yīng)的應(yīng)用類型都是已知的,由于appinventor.ai_estimccc的第二部分與appinventor.ai_esethac的第二部分按序相同的字符的個數(shù),比appinventor.ai_estimccc的第二部分與appinventor.ai_esethac的第二部分按序相同的字符的個數(shù)多,因此,在此種情況下,第一應(yīng)用程序是指appinventor.ai_estimccc指示的應(yīng)用程序,可以確定appinventor.ai_esethac指示的應(yīng)用程序的應(yīng)用類型是appinventor.ai_estimccc指示的應(yīng)用程序的應(yīng)用類型。
[0044]另一方面,如果不存在所述具有相似度的應(yīng)用程序,則獲取所述第一組應(yīng)用程序中已知類型的應(yīng)用程序;
[0045]根據(jù)所述已知類型的應(yīng)用程序,確定所述要識別的應(yīng)用程序的類型。
[0046]可選的,所述根據(jù)所述已知類型的應(yīng)用程序,確定所述要識別的應(yīng)用程序的類型,包括:
[0047]確定每種已知類型的應(yīng)用程序在所述其他應(yīng)用程序中的比例;
[0048]將比例最大的類型確定為所述要識別的應(yīng)用程序的類型。
[0049]例如,要識別的應(yīng)用程序的包名是avm.androiddukkan.mhm,與要識別的應(yīng)用程序?qū)儆谕唤M的已知類型的應(yīng)用程序的包名分別是avm.androiddukkan.hsn,avm.androiddukkan.bsn 和 avm.androiddukkan.bsp,按照上述的劃分方式,由于 avm.androiddukkan.hsn, avm.androiddukkan.bsn 和 avm.androiddukkan.bsp 的第二部分都不存在與avm.androiddukkan.mhm按序相同的字符,因此,與要識別的應(yīng)用程序?qū)儆谕唤M的應(yīng)用程序中不存在與要識別的應(yīng)用程序具有相似度的應(yīng)用程序,此時,可以將已知類型中比例最大的類型確定為要識別的應(yīng)用程序的類型,例如,avm.androiddukkan.hsn對應(yīng)的類型是第一類型,avm.androiddukkan.bsn 和 avm.androiddukkan.bsp 對應(yīng)的類型是第二類型,由于第二類型的比例比第一類型的比例大,則可以確定要識別的應(yīng)用程序(即avm.androiddukkan.mhm指示的應(yīng)用程序)的類型是第二類型。
[0050]本實(shí)施例通過獲取與要識別的應(yīng)用程序?qū)儆谕唤M的應(yīng)用程序,并根據(jù)該同一組的應(yīng)用程序中的類型已知的應(yīng)用程序的包名確定要識別的應(yīng)用程序的類別,可以實(shí)現(xiàn)對應(yīng)用程序類型的識別。進(jìn)一步的,當(dāng)識別出應(yīng)用程序的類型后,可以進(jìn)行相應(yīng)的處理,從而可以清理更多無用數(shù)據(jù),釋放更多存儲空間。
[0051]圖2是本發(fā)明識別應(yīng)用程序類型的方法另一實(shí)施例的流程示意圖,該方法包括:
[0052]S21:讀取包名-應(yīng)用名-應(yīng)用類型數(shù)據(jù)庫中的一條數(shù)據(jù)。
[0053]其中,以手機(jī)為例,手機(jī)的存儲空間中可以對應(yīng)記錄應(yīng)用程序的包名,應(yīng)用名和應(yīng)用類型,該對應(yīng)記錄上述參數(shù)的數(shù)據(jù)庫可以稱為包名-應(yīng)用名-應(yīng)用類型數(shù)據(jù)庫,從該數(shù)據(jù)庫中讀取的一條數(shù)據(jù)包括一個應(yīng)用程序的包名,應(yīng)用名和應(yīng)用類型。
[0054]S22:當(dāng)所述數(shù)據(jù)的類型是未知時,確定所述數(shù)據(jù)對應(yīng)的應(yīng)用程序是要識別的應(yīng)用程序。
[0055]其中,讀取的一條數(shù)據(jù)中會存在上述三個參數(shù),當(dāng)應(yīng)用類型的值是空白的,則表明該包名對應(yīng)的應(yīng)用程序的應(yīng)用類型是未知的,可以確定其為要識別的應(yīng)用程序。
[0056]S23:判斷要識別的應(yīng)用程序的包名中是否具有標(biāo)識類型的詞匯,若是,執(zhí)行S24,否則執(zhí)行S25。
[0057]其中,標(biāo)識類型的詞匯是指根據(jù)該詞匯可以直接確定出類型的詞匯,例如,標(biāo)識類型的詞匯為:.mp3或者.film等。
[0058]S24:將所述詞匯標(biāo)識的類型確定為所述要識別的應(yīng)用程序的類型。之后執(zhí)行S29。
[0059]例如,當(dāng)包名中包含‘.mp3’時,可以確定其類型是music類型。
[0060]S25:獲取第一組應(yīng)用程序,所述第一組應(yīng)用程序是與要識別的應(yīng)用程序?qū)儆谕唤M的應(yīng)用程序。
[0061]例如,將包名按’切片,若切分后的段數(shù)小于或等于2,則根據(jù)切分后的第一段獲取與要識別的應(yīng)用程序?qū)儆谕唤M的應(yīng)用程序,若切分后的段數(shù)小于或等于2,則根據(jù)切分后的前兩段獲取與要識別的應(yīng)用程序?qū)儆谕唤M的應(yīng)用程序。
[0062]具體如,讀取的包名包括:appinventor.ai_fcatalar, appinventor.ai_estimccc和appinventor.ai_esethac,由于被‘.’分開的段數(shù)是2,則取第一段,也就是‘.’前的一段作為第一部分,由于上述三個包名的第一部分(即appinventor)相同,則上述三個包名是同一組的應(yīng)用程序。
[0063]又例如,讀取的包名包括:avm.androiddukkan.mhm, avm.androiddukkan.hsn 和avm.androiddukkan.bsn,由于被’分開的段數(shù)是3,則取第一段和第二段,也就是’前的兩段作為第一部分,由于上述三個包名的第一部分(即avm.androiddukkan)相同,貝丨J上述三個包名是同一組的應(yīng)用程序。
[0064]S26:判斷所述第一組應(yīng)用程序中是否存在類型已知的,且包名與所述要識別的應(yīng)用程序的包名具有相似度的應(yīng)用程序,若是,執(zhí)行S27,否則執(zhí)行S28。
[0065]其中,在包名-應(yīng)用名-應(yīng)用類型數(shù)據(jù)庫中讀取的每一條數(shù)據(jù)中,會對應(yīng)記錄包名、應(yīng)用名和應(yīng)用類型,如果一個包名對應(yīng)的應(yīng)用類型是已知的,則該包名指示的應(yīng)用程序的類型是已知的,否則,如果包名對應(yīng)的應(yīng)用類型是空白的,則該包名指示的應(yīng)用程序的類型是未知的。
[0066]可選的,所述與所述要識別的應(yīng)用程序的包名具有相似度的應(yīng)用程序,包括:
[0067]第二部分與所述要識別的應(yīng)用程序的包名的第二部分具有按序相同的字符,所述第二部分是所述包名中除所述第一部分之外的部分。
[0068]例如,假設(shè)要識別的應(yīng)用程序的包名是appinventor.ai_esethac,根據(jù)上述描述的劃分方式,第二部分是指’后的分段,由于appinventor.ai_estimccc的第二部分(即 ai_estimccc)存在與 appinventor.ai_esethac (即 ai_esethac)的第二部分按序相同的字符,且appinventor.ai_fcatalar的第二部分(即ai_fcatalar)也存在與appinventor.ai_esethac (即ai_esethac)的第二部分按序相同的字符,因此,appinventor.ai_estimccc 指不的應(yīng)用程序和 appinventor.ai_fcatalar 指不的應(yīng)用程序都是與appinventor.ai_esethac指示的應(yīng)用程序具有相似度的應(yīng)用程序。
[0069]S27:根據(jù)所述具有相似度的應(yīng)用程序的類型,確定所述要識別的應(yīng)用程序的類型。之后執(zhí)打S29。
[0070]可選的,所述根據(jù)所述具有相似度的應(yīng)用程序的類型,確定所述要識別的應(yīng)用程序的類型,包括:
[0071]從所述具有相似度的應(yīng)用程序中選擇出第一應(yīng)用程序,其中,所述第一應(yīng)用程序的包名的第二部分與所述要識別的應(yīng)用程序的包名的第二部分按序相同的字符的個數(shù)最多;
[0072]將所述第一應(yīng)用程序的類型,確定為所述要識別的應(yīng)用程序的類型。
[0073]例如,假設(shè)appinventor.ai_estimccc 和 appinventor.ai_fcatalar 對應(yīng)的應(yīng)用類型都是已知的,由于appinventor.ai_estimccc的第二部分與appinventor.ai_esethac的第二部分按序相同的字符的個數(shù),比appinventor.ai_estimccc的第二部分與appinventor.ai_esethac的第二部分按序相同的字符的個數(shù)多,因此,在此種情況下,第一應(yīng)用程序是指appinventor.ai_estimccc指示的應(yīng)用程序,可以確定appinventor.ai_esethac指示的應(yīng)用程序的應(yīng)用類型是appinventor.ai_estimccc指示的應(yīng)用程序的應(yīng)用類型。
[0074]S28:獲取所述第一組應(yīng)用程序中已知類型的應(yīng)用程序,根據(jù)所述已知類型的應(yīng)用程序,確定所述要識別的應(yīng)用程序的類型。
[0075]可選的,所述根據(jù)所述已知類型的應(yīng)用程序,確定所述要識別的應(yīng)用程序的類型,包括:
[0076]確定每種已知類型的應(yīng)用程序在所述其他應(yīng)用程序中的比例;
[0077]將比例最大的類型確定為所述要識別的應(yīng)用程序的類型。
[0078]例如,要識別的應(yīng)用程序的包名是avm.androiddukkan.mhm,與要識別的應(yīng)用程序?qū)儆谕唤M的已知類型的應(yīng)用程序的包名分別是avm.androiddukkan.hsn,avm.androiddukkan.bsn 和 avm.androiddukkan.bsp,按照上述的劃分方式,由于 avm.androiddukkan.hsn, avm.androiddukkan.bsn 和 avm.androiddukkan.bsp 的第二部分都不存在與avm.androiddukkan.mhm按序相同的字符,因此,與要識別的應(yīng)用程序?qū)儆谕唤M的應(yīng)用程序中不存在與要識別的應(yīng)用程序具有相似度的應(yīng)用程序,此時,可以將已知類型中比例最大的類型確定為要識別的應(yīng)用程序的類型,例如,avm.androiddukkan.hsn對應(yīng)的類型是第一類型,avm.androiddukkan.bsn 和 avm.androiddukkan.bsp 對應(yīng)的類型是第二類型,由于第二類型的比例比第一類型的比例大,則可以確定要識別的應(yīng)用程序(即avm.androiddukkan.mhm指示的應(yīng)用程序)的類型是第二類型。
[0079]S29:讀取下一條數(shù)據(jù),執(zhí)行可以重復(fù)執(zhí)行S22-29直至數(shù)據(jù)庫中的每一條數(shù)據(jù)都被處理過。
[0080]本實(shí)施例通過獲取與要識別的應(yīng)用程序?qū)儆谕唤M的應(yīng)用程序,并根據(jù)該同一組的應(yīng)用程序中的類型已知的應(yīng)用程序的包名確定要識別的應(yīng)用程序的類別,可以實(shí)現(xiàn)對應(yīng)用程序類型的識別。另外,當(dāng)存在標(biāo)識類型的詞匯時,可以根據(jù)該標(biāo)識類型的詞匯確定類型,實(shí)現(xiàn)確定類型方式的多樣性。進(jìn)一步的,當(dāng)識別出應(yīng)用程序的類型后,可以進(jìn)行相應(yīng)的處理,例如,使用相應(yīng)類型清理規(guī)則清理垃圾文件和殘留文件,從而可以清理更多無用數(shù)據(jù),釋放更多存儲空間。
[0081]圖3是本發(fā)明識別應(yīng)用程序類型的裝置一實(shí)施例的結(jié)構(gòu)示意圖,該裝置30包括第一獲取模塊31、第一判斷模塊32和第一確定模塊33。
[0082]第一獲取模塊31用于獲取第一組應(yīng)用程序,所述第一組應(yīng)用程序是與要識別的應(yīng)用程序?qū)儆谕唤M的應(yīng)用程序;
[0083]可選的,參見圖4,所述第一獲取模塊31包括:
[0084]第一單元311,用于確定應(yīng)用程序的包名中的第一部分,所述第一部分用于分組;
[0085]第二單元312,用于將第一部分與所述要識別的應(yīng)用程序的第一部分相同的應(yīng)用程序,確定為所述第一組應(yīng)用程序。
[0086]可選的,所述第一單元311具體用于:
[0087]確定所述包名被分隔符分開的段數(shù);
[0088]如果所述段數(shù)小于或等于預(yù)設(shè)閾值,選擇所述包名中的被所述分隔符分開的第一段作為所述第一部分;或者,
[0089]如果所述段數(shù)大于所述預(yù)設(shè)閾值,選擇所述包名中的被所述分隔符分開的第一段和第二段作為所述第一部分。
[0090]可選的,所述分隔符是點(diǎn)號。
[0091]可選的,所述預(yù)設(shè)閾值是2。
[0092]例如,從包名-應(yīng)用名-應(yīng)用類型數(shù)據(jù)庫中獲取每一條數(shù)據(jù),將其中的包名按照點(diǎn)號(切片,若切片后的段數(shù)小于或等于2段,則選擇’分開的第一段作為第一部分,若切片后的段數(shù)大于2段,則選擇’分開的前兩段作為第一部分。
[0093]具體如,讀取的包名包括:appinventor.ai_fcatalar, appinventor.ai_estimccc和appinventor.ai_esethac,由于被‘.’分開的段數(shù)是2,則取第一段,也就是‘.’前的一段作為第一部分,由于上述三個包名的第一部分(即appinventor)相同,則上述三個包名是同一組的應(yīng)用程序。
[0094]又例如,讀取的包名包括:avm.androiddukkan.mhm, avm.androiddukkan.hsn 和avm.androiddukkan.bsn,由于被’分開的段數(shù)是3,則取第一段和第二段,也就是’前的兩段作為第一部分,由于上述三個包名的第一部分(即avm.androiddukkan)相同,貝丨J上述三個包名是同一組的應(yīng)用程序。
[0095]第一判斷模塊32用于判斷所述第一組應(yīng)用程序中是否存在類型已知的,且包名與所述要識別的應(yīng)用程序的包名具有相似度的應(yīng)用程序;
[0096]其中,在包名-應(yīng)用名-應(yīng)用類型數(shù)據(jù)庫中讀取的每一條數(shù)據(jù)中,會對應(yīng)記錄包名、應(yīng)用名和應(yīng)用類型,如果一個包名對應(yīng)的應(yīng)用類型是已知的,則該包名指示的應(yīng)用程序的類型是已知的,否則,如果包名對應(yīng)的應(yīng)用類型是空白的,則該包名指示的應(yīng)用程序的類型是未知的。
[0097]可選的,所述第一判斷模塊32具體用于將第二部分與所述要識別的應(yīng)用程序的包名的第二部分具有按序相同的字符的包名對應(yīng)的應(yīng)用程序,確定為與所述要識別的應(yīng)用程序的包名具有相似度的應(yīng)用程序,所述第二部分是所述包名中除所述第一部分之外的部分。
[0098]例如,假設(shè)要識別的應(yīng)用程序的包名是appinventor.ai_esethac,根據(jù)上述描述的劃分方式,第二部分是指’后的分段,由于appinventor.ai_estimccc的第二部分(即 ai_estimccc)存在與 appinventor.ai_esethac (即 ai_esethac)的第二部分按序相同的字符,且appinventor.ai_fcatalar的第二部分(即ai_fcatalar)也存在與appinventor.ai_esethac (即ai_esethac)的第二部分按序相同的字符,因此,appinventor.ai_estimccc 指不的應(yīng)用程序和 appinventor.ai_fcatalar 指不的應(yīng)用程序都是與appinventor.ai_esethac指示的應(yīng)用程序具有相似度的應(yīng)用程序。
[0099]第一確定模塊33用于如果所述第一判斷模塊得到的判斷結(jié)果是存在,根據(jù)所述具有相似度的應(yīng)用程序的類型,確定所述要識別的應(yīng)用程序的類型。
[0100]可選的,所述第一確定模塊33具體用于:
[0101]從所述具有相似度的應(yīng)用程序中選擇出第一應(yīng)用程序,其中,所述第一應(yīng)用程序的包名的第二部分與所述要識別的應(yīng)用程序的包名的第二部分按序相同的字符的個數(shù)最多;
[0102]將所述第一應(yīng)用程序的類型,確定為所述要識別的應(yīng)用程序的類型。
[0103]例如,假設(shè)appinventor.ai_estimccc 和 appinventor.ai_fcatalar 對應(yīng)的應(yīng)用類型都是已知的,由于appinventor.ai_estimccc的第二部分與appinventor.ai_esethac的第二部分按序相同的字符的個數(shù),比appinventor.ai_estimccc的第二部分與appinventor.ai_esethac的第二部分按序相同的字符的個數(shù)多,因此,在此種情況下,第一應(yīng)用程序是指appinventor.ai_estimccc指示的應(yīng)用程序,可以確定appinventor.ai_esethac指示的應(yīng)用程序的應(yīng)用類型是appinventor.ai_estimccc指示的應(yīng)用程序的應(yīng)用類型。
[0104]另一實(shí)施例中,參見圖4,該裝置30還包括:
[0105]第二確定模塊34,用于如果所述第一判斷模塊32得到的判斷結(jié)果是不存在,獲取所述第一組應(yīng)用程序中已知類型的應(yīng)用程序;根據(jù)所述已知類型的應(yīng)用程序,確定所述要識別的應(yīng)用程序的類型。
[0106]可選的,所述第二確定模塊34具體用于:
[0107]確定每種已知類型的應(yīng)用程序在所述其他應(yīng)用程序中的比例;
[0108]將比例最大的類型確定為所述要識別的應(yīng)用程序的類型。
[0109]例如,要識別的應(yīng)用程序的包名是avm.androiddukkan.mhm,與要識別的應(yīng)用程序?qū)儆谕唤M的已知類型的應(yīng)用程序的包名分別是avm.androiddukkan.hsn,avm.androiddukkan.bsn 和 avm.androiddukkan.bsp,按照上述的劃分方式,由于 avm.androiddukkan.hsn, avm.androiddukkan.bsn 和 avm.androiddukkan.bsp 的第二部分都不存在與avm.androiddukkan.mhm按序相同的字符,因此,與要識別的應(yīng)用程序?qū)儆谕唤M的應(yīng)用程序中不存在與要識別的應(yīng)用程序具有相似度的應(yīng)用程序,此時,可以將已知類型中比例最大的類型確定為要識別的應(yīng)用程序的類型,例如,avm.androiddukkan.hsn對應(yīng)的類型是第一類型,avm.androiddukkan.bsn 和 avm.androiddukkan.bsp 對應(yīng)的類型是第二類型,由于第二類型的比例比第一類型的比例大,則可以確定要識別的應(yīng)用程序(即avm.androiddukkan.mhm指示的應(yīng)用程序)的類型是第二類型。
[0110]另一實(shí)施例中,參見圖4,該裝置30還包括:
[0111]第二獲取模塊35,用于獲取所述要識別的應(yīng)用程序的包名;
[0112]其中,以手機(jī)為例,手機(jī)的存儲空間中可以對應(yīng)記錄應(yīng)用程序的包名,應(yīng)用名和應(yīng)用類型,該對應(yīng)記錄上述參數(shù)的數(shù)據(jù)庫可以稱為包名-應(yīng)用名-應(yīng)用類型數(shù)據(jù)庫,從該數(shù)據(jù)庫中讀取的一條數(shù)據(jù)包括一個應(yīng)用程序的包名,應(yīng)用名和應(yīng)用類型。
[0113]第二判斷模塊36,用于判斷所述包名中是否具有標(biāo)識類型的詞匯,以便在不具有時獲取第一組應(yīng)用程序;
[0114]其中,標(biāo)識類型的詞匯是指根據(jù)該詞匯可以直接確定出類型的詞匯,例如,標(biāo)識類型的詞匯為:.mp3或者.film等。
[0115]第三確定模塊37,用于在所述第二判斷模塊36得到的判斷結(jié)果是具有時,將所述詞匯標(biāo)識的類型確定為所述要識別的應(yīng)用程序的類型。
[0116]例如,當(dāng)包名中包含mp3’時,可以確定其類型是music類型。
[0117]另一實(shí)施例中,參見圖4,該裝置30還包括:
[0118]讀取模塊38,用于從數(shù)據(jù)庫中讀取數(shù)據(jù),當(dāng)所述數(shù)據(jù)的類型是未知時,確定所述數(shù)據(jù)對應(yīng)的應(yīng)用程序是要識別的應(yīng)用程序,其中,所述數(shù)據(jù)庫中每條數(shù)據(jù)對應(yīng)記錄應(yīng)用程序的包名,應(yīng)用名和類型。
[0119]其中,讀取的一條數(shù)據(jù)中會存在上述三個參數(shù),當(dāng)應(yīng)用類型的值是空白的,則表明該包名對應(yīng)的應(yīng)用程序的應(yīng)用類型是未知的,可以確定其為要識別的應(yīng)用程序。
[0120]本實(shí)施例通過獲取與要識別的應(yīng)用程序?qū)儆谕唤M的應(yīng)用程序,并根據(jù)該同一組的應(yīng)用程序中的類型已知的應(yīng)用程序的包名確定要識別的應(yīng)用程序的類別,可以實(shí)現(xiàn)對應(yīng)用程序類型的識別。另外,當(dāng)存在標(biāo)識類型的詞匯時,可以根據(jù)該標(biāo)識類型的詞匯確定類型,實(shí)現(xiàn)確定類型方式的多樣性。進(jìn)一步的,當(dāng)識別出應(yīng)用程序的類型后,可以進(jìn)行相應(yīng)的處理,例如,使用相應(yīng)類型清理規(guī)則清理垃圾文件和殘留文件,從而可以清理更多無用數(shù)據(jù),釋放更多存儲空間。
[0121]本發(fā)明實(shí)施例還提供了一種移動設(shè)備,該移動端設(shè)備包括殼體、處理器、存儲器、電路板和電源電路,其中,電路板安置在殼體圍成的空間內(nèi)部,處理器和存儲器設(shè)置在電路板上;電源電路,用于為移動設(shè)備的各個電路或器件供電;存儲器用于存儲可執(zhí)行程序代碼;處理器通過讀取存儲器中存儲的可執(zhí)行程序代碼來運(yùn)行與可執(zhí)行程序代碼對應(yīng)的程序,以用于執(zhí)行以下步驟:
[0122]SlT:獲取第一組應(yīng)用程序,所述第一組應(yīng)用程序是與要識別的應(yīng)用程序?qū)儆谕唤M的應(yīng)用程序。
[0123]其中,可以獲取應(yīng)用程序的包名,再確定應(yīng)用程序的包名中的第一部分,將第一部分相同的應(yīng)用程序確定為同一組應(yīng)用程序。
[0124]可選的,所述獲取第一組應(yīng)用程序,包括:
[0125]確定應(yīng)用程序的包名中的第一部分,所述第一部分用于分組;
[0126]將第一部分與所述要識別的應(yīng)用程序的第一部分相同的應(yīng)用程序,確定為所述第一組應(yīng)用程序。
[0127]可選的,所述確定所述包名中的第一部分,包括:
[0128]確定所述包名被分隔符分開的段數(shù);
[0129]如果所述段數(shù)小于或等于預(yù)設(shè)閾值,選擇所述包名中的被所述分隔符分開的第一段作為所述第一部分;或者,
[0130]如果所述段數(shù)大于所述預(yù)設(shè)閾值,選擇所述包名中的被所述分隔符分開的第一段和第二段作為所述第一部分。
[0131 ] 可選的,所述分隔符是點(diǎn)號。
[0132]可選的,所述預(yù)設(shè)閾值是2。
[0133]例如,從包名-應(yīng)用名-應(yīng)用類型數(shù)據(jù)庫中獲取每一條數(shù)據(jù),將其中的包名按照點(diǎn)號(切片,若切片后的段數(shù)小于或等于2段,則選擇’分開的第一段作為第一部分,若切片后的段數(shù)大于2段,則選擇’分開的前兩段作為第一部分。
[0134]具體如,讀取的包名包括:appinventor.ai_fcatalar, appinventor.ai_estimccc和appinventor.ai_esethac,由于被‘.’分開的段數(shù)是2,則取第一段,也就是‘.’前的一段作為第一部分,由于上述三個包名的第一部分(即appinventor)相同,則上述三個包名是同一組的應(yīng)用程序。
[0135]又例如,讀取的包名包括:avm.androiddukkan.mhm, avm.androiddukkan.hsn 和avm.androiddukkan.bsn,由于被’分開的段數(shù)是3,則取第一段和第二段,也就是’前的兩段作為第一部分,由于上述三個包名的第一部分(即avm.androiddukkan)相同,貝丨J上述三個包名是同一組的應(yīng)用程序。
[0136]S12’:判斷所述第一組應(yīng)用程序中是否存在類型已知的,且包名與所述要識別的應(yīng)用程序的包名具有相似度的應(yīng)用程序。
[0137]其中,在包名-應(yīng)用名-應(yīng)用類型數(shù)據(jù)庫中讀取的每一條數(shù)據(jù)中,會對應(yīng)記錄包名、應(yīng)用名和應(yīng)用類型,如果一個包名對應(yīng)的應(yīng)用類型是已知的,則該包名指示的應(yīng)用程序的類型是已知的,否則,如果包名對應(yīng)的應(yīng)用類型是空白的,則該包名指示的應(yīng)用程序的類型是未知的。
[0138]可選的,所述與所述要識別的應(yīng)用程序的包名具有相似度的應(yīng)用程序,包括:
[0139]第二部分與所述要識別的應(yīng)用程序的包名的第二部分具有按序相同的字符,所述第二部分是所述包名中除所述第一部分之外的部分。
[0140]例如,假設(shè)要識別的應(yīng)用程序的包名是appinventor.ai_esethac,根據(jù)上述描述的劃分方式,第二部分是指’后的分段,由于appinventor.ai_estimccc的第二部分(即 ai_estimccc)存在與 appinventor.ai_esethac (即 ai_esethac)的第二部分按序相同的字符,且appinventor.ai_fcatalar的第二部分(即ai_fcatalar)也存在與appinventor.ai_esethac (即ai_esethac)的第二部分按序相同的字符,因此,appinventor.ai_estimccc 指不的應(yīng)用程序和 appinventor.ai_fcatalar 指不的應(yīng)用程序都是與appinventor.ai_esethac指示的應(yīng)用程序具有相似度的應(yīng)用程序。
[0141]S13’:如果存在,根據(jù)所述具有相似度的應(yīng)用程序的類型,確定所述要識別的應(yīng)用程序的類型。
[0142]可選的,所述根據(jù)所述具有相似度的應(yīng)用程序的類型,確定所述要識別的應(yīng)用程序的類型,包括:
[0143]從所述具有相似度的應(yīng)用程序中選擇出第一應(yīng)用程序,其中,所述第一應(yīng)用程序的包名的第二部分與所述要識別的應(yīng)用程序的包名的第二部分按序相同的字符的個數(shù)最多;
[0144]將所述第一應(yīng)用程序的類型,確定為所述要識別的應(yīng)用程序的類型。
[0145]例如,假設(shè)appinventor.ai_estimccc 和 appinventor.ai_fcatalar 對應(yīng)的應(yīng)用類型都是已知的,由于appinventor.ai_estimccc的第二部分與appinventor.ai_esethac的第二部分按序相同的字符的個數(shù),比appinventor.ai_estimccc的第二部分與appinventor.ai_esethac的第二部分按序相同的字符的個數(shù)多,因此,在此種情況下,第一應(yīng)用程序是指appinventor.ai_estimccc指示的應(yīng)用程序,可以確定appinventor.ai_esethac指示的應(yīng)用程序的應(yīng)用類型是appinventor.ai_estimccc指示的應(yīng)用程序的應(yīng)用類型。
[0146]另一方面,如果不存在所述具有相似度的應(yīng)用程序,則獲取所述第一組應(yīng)用程序中已知類型的應(yīng)用程序;
[0147]根據(jù)所述已知類型的應(yīng)用程序,確定所述要識別的應(yīng)用程序的類型。
[0148]可選的,所述根據(jù)所述已知類型的應(yīng)用程序,確定所述要識別的應(yīng)用程序的類型,包括:
[0149]確定每種已知類型的應(yīng)用程序在所述其他應(yīng)用程序中的比例;
[0150]將比例最大的類型確定為所述要識別的應(yīng)用程序的類型。
[0151 ] 例如,要識別的應(yīng)用程序的包名是avm.androiddukkan.mhm,與要識別的應(yīng)用程序?qū)儆谕唤M的已知類型的應(yīng)用程序的包名分別是avm.androiddukkan.hsn,avm.androiddukkan.bsn 和 avm.androiddukkan.bsp,按照上述的劃分方式,由于 avm.androiddukkan.hsn, avm.androiddukkan.bsn 和 avm.androiddukkan.bsp 的第二部分都不存在與avm.androiddukkan.mhm按序相同的字符,因此,與要識別的應(yīng)用程序?qū)儆谕唤M的應(yīng)用程序中不存在與要識別的應(yīng)用程序具有相似度的應(yīng)用程序,此時,可以將已知類型中比例最大的類型確定為要識別的應(yīng)用程序的類型,例如,avm.androiddukkan.hsn對應(yīng)的類型是第一類型,avm.androiddukkan.bsn 和 avm.androiddukkan.bsp 對應(yīng)的類型是第二類型,由于第二類型的比例比第一類型的比例大,則可以確定要識別的應(yīng)用程序(即avm.androiddukkan.mhm指示的應(yīng)用程序)的類型是第二類型。
[0152]本實(shí)施例通過獲取與要識別的應(yīng)用程序?qū)儆谕唤M的應(yīng)用程序,并根據(jù)該同一組的應(yīng)用程序中的類型已知的應(yīng)用程序的包名確定要識別的應(yīng)用程序的類別,可以實(shí)現(xiàn)對應(yīng)用程序類型的識別。進(jìn)一步的,當(dāng)識別出應(yīng)用程序的類型后,可以進(jìn)行相應(yīng)的處理,從而可以清理更多無用數(shù)據(jù),釋放更多存儲空間。
[0153]另一實(shí)施例中,處理器通過讀取存儲器中存儲的可執(zhí)行程序代碼來運(yùn)行與可執(zhí)行程序代碼對應(yīng)的程序,以用于執(zhí)行以下步驟:
[0154]S21’:讀取包名-應(yīng)用名-應(yīng)用類型數(shù)據(jù)庫中的一條數(shù)據(jù)。
[0155]其中,以手機(jī)為例,手機(jī)的存儲空間中可以對應(yīng)記錄應(yīng)用程序的包名,應(yīng)用名和應(yīng)用類型,該對應(yīng)記錄上述參數(shù)的數(shù)據(jù)庫可以稱為包名-應(yīng)用名-應(yīng)用類型數(shù)據(jù)庫,從該數(shù)據(jù)庫中讀取的一條數(shù)據(jù)包括一個應(yīng)用程序的包名,應(yīng)用名和應(yīng)用類型。
[0156]S22’:當(dāng)所述數(shù)據(jù)的類型是未知時,確定所述數(shù)據(jù)對應(yīng)的應(yīng)用程序是要識別的應(yīng)用程序。
[0157]其中,讀取的一條數(shù)據(jù)中會存在上述三個參數(shù),當(dāng)應(yīng)用類型的值是空白的,則表明該包名對應(yīng)的應(yīng)用程序的應(yīng)用類型是未知的,可以確定其為要識別的應(yīng)用程序。
[0158]S23’:判斷要識別的應(yīng)用程序的包名中是否具有標(biāo)識類型的詞匯,若是,執(zhí)行S24’,否則執(zhí)行S25’。
[0159]其中,標(biāo)識類型的詞匯是指根據(jù)該詞匯可以直接確定出類型的詞匯,例如,標(biāo)識類型的詞匯為:.mp3或者.film等。
[0160]S24’:將所述詞匯標(biāo)識的類型確定為所述要識別的應(yīng)用程序的類型。之后執(zhí)行S29,。
[0161]例如,當(dāng)包名中包含mp3’時,可以確定其類型是music類型。
[0162]S25’:獲取第一組應(yīng)用程序,所述第一組應(yīng)用程序是與要識別的應(yīng)用程序?qū)儆谕唤M的應(yīng)用程序。
[0163]例如,將包名按’切片,若切分后的段數(shù)小于或等于2,則根據(jù)切分后的第一段獲取與要識別的應(yīng)用程序?qū)儆谕唤M的應(yīng)用程序,若切分后的段數(shù)小于或等于2,則根據(jù)切分后的前兩段獲取與要識別的應(yīng)用程序?qū)儆谕唤M的應(yīng)用程序。
[0164]具體如,讀取的包名包括:appinventor.ai_fcatalar, appinventor.ai_estimccc和appinventor.ai_esethac,由于被‘.’分開的段數(shù)是2,則取第一段,也就是‘.’前的一段作為第一部分,由于上述三個包名的第一部分(即appinventor)相同,則上述三個包名是同一組的應(yīng)用程序。
[0165]又例如,讀取的包名包括:avm.androiddukkan.mhm, avm.androiddukkan.hsn 和avm.androiddukkan.bsn,由于被’分開的段數(shù)是3,則取第一段和第二段,也就是’前的兩段作為第一部分,由于上述三個包名的第一部分(即avm.androiddukkan)相同,貝丨J上述三個包名是同一組的應(yīng)用程序。
[0166]S26’:判斷所述第一組應(yīng)用程序中是否存在類型已知的,且包名與所述要識別的應(yīng)用程序的包名具有相似度的應(yīng)用程序,若是,執(zhí)行S27’,否則執(zhí)行S28’。
[0167]其中,在包名-應(yīng)用名-應(yīng)用類型數(shù)據(jù)庫中讀取的每一條數(shù)據(jù)中,會對應(yīng)記錄包名、應(yīng)用名和應(yīng)用類型,如果一個包名對應(yīng)的應(yīng)用類型是已知的,則該包名指示的應(yīng)用程序的類型是已知的,否則,如果包名對應(yīng)的應(yīng)用類型是空白的,則該包名指示的應(yīng)用程序的類型是未知的。
[0168]可選的,所述與所述要識別的應(yīng)用程序的包名具有相似度的應(yīng)用程序,包括:
[0169]第二部分與所述要識別的應(yīng)用程序的包名的第二部分具有按序相同的字符,所述第二部分是所述包名中除所述第一部分之外的部分。
[0170]例如,假設(shè)要識別的應(yīng)用程序的包名是appinventor.ai_esethac,根據(jù)上述描述的劃分方式,第二部分是指’后的分段,由于appinventor.ai_estimccc的第二部分(即 ai_estimccc)存在與 appinventor.ai_esethac (即 ai_esethac)的第二部分按序相同的字符,且appinventor.ai_fcatalar的第二部分(即ai_fcatalar)也存在與appinventor.ai_esethac (即ai_esethac)的第二部分按序相同的字符,因此,appinventor.ai_estimccc 指不的應(yīng)用程序和 appinventor.ai_fcatalar 指不的應(yīng)用程序都是與appinventor.ai_esethac指示的應(yīng)用程序具有相似度的應(yīng)用程序。
[0171]S27’:根據(jù)所述具有相似度的應(yīng)用程序的類型,確定所述要識別的應(yīng)用程序的類型。之后執(zhí)行S29’。
[0172]可選的,所述根據(jù)所述具有相似度的應(yīng)用程序的類型,確定所述要識別的應(yīng)用程序的類型,包括:
[0173]從所述具有相似度的應(yīng)用程序中選擇出第一應(yīng)用程序,其中,所述第一應(yīng)用程序的包名的第二部分與所述要識別的應(yīng)用程序的包名的第二部分按序相同的字符的個數(shù)最多;
[0174]將所述第一應(yīng)用程序的類型,確定為所述要識別的應(yīng)用程序的類型。
[0175]例如,假設(shè)appinventor.ai_estimccc 和 appinventor.ai_fcatalar 對應(yīng)的應(yīng)用類型都是已知的,由于appinventor.ai_estimccc的第二部分與appinventor.ai_esethac的第二部分按序相同的字符的個數(shù),比appinventor.ai_estimccc的第二部分與appinventor.ai_esethac的第二部分按序相同的字符的個數(shù)多,因此,在此種情況下,第一應(yīng)用程序是指appinventor.ai_estimccc指示的應(yīng)用程序,可以確定appinventor.ai_esethac指示的應(yīng)用程序的應(yīng)用類型是appinventor.ai_estimccc指示的應(yīng)用程序的應(yīng)用類型。
[0176]S28’:獲取所述第一組應(yīng)用程序中已知類型的應(yīng)用程序,根據(jù)所述已知類型的應(yīng)用程序,確定所述要識別的應(yīng)用程序的類型。
[0177]可選的,所述根據(jù)所述已知類型的應(yīng)用程序,確定所述要識別的應(yīng)用程序的類型,包括:
[0178]確定每種已知類型的應(yīng)用程序在所述其他應(yīng)用程序中的比例;
[0179]將比例最大的類型確定為所述要識別的應(yīng)用程序的類型。
[0180]例如,要識別的應(yīng)用程序的包名是avm.androiddukkan.mhm,與要識別的應(yīng)用程序?qū)儆谕唤M的已知類型的應(yīng)用程序的包名分別是avm.androiddukkan.hsn,avm.androiddukkan.bsn 和 avm.androiddukkan.bsp,按照上述的劃分方式,由于 avm.androiddukkan.hsn, avm.androiddukkan.bsn 和 avm.androiddukkan.bsp 的第二部分都不存在與avm.androiddukkan.mhm按序相同的字符,因此,與要識別的應(yīng)用程序?qū)儆谕唤M的應(yīng)用程序中不存在與要識別的應(yīng)用程序具有相似度的應(yīng)用程序,此時,可以將已知類型中比例最大的類型確定為要識別的應(yīng)用程序的類型,例如,avm.androiddukkan.hsn對應(yīng)的類型是第一類型,avm.androiddukkan.bsn 和 avm.androiddukkan.bsp 對應(yīng)的類型是第二類型,由于第二類型的比例比第一類型的比例大,則可以確定要識別的應(yīng)用程序(即avm.androiddukkan.mhm指示的應(yīng)用程序)的類型是第二類型。
[0181]S29’:讀取下一條數(shù)據(jù),執(zhí)行可以重復(fù)執(zhí)行S22’ -29’直至數(shù)據(jù)庫中的每一條數(shù)據(jù)都被處理過。
[0182]本實(shí)施例通過獲取與要識別的應(yīng)用程序?qū)儆谕唤M的應(yīng)用程序,并根據(jù)該同一組的應(yīng)用程序中的類型已知的應(yīng)用程序的包名確定要識別的應(yīng)用程序的類別,可以實(shí)現(xiàn)對應(yīng)用程序類型的識別。另外,當(dāng)存在標(biāo)識類型的詞匯時,可以根據(jù)該標(biāo)識類型的詞匯確定類型,實(shí)現(xiàn)確定類型方式的多樣性。進(jìn)一步的,當(dāng)識別出應(yīng)用程序的類型后,可以進(jìn)行相應(yīng)的處理,例如,使用相應(yīng)類型清理規(guī)則清理垃圾文件和殘留文件,從而可以清理更多無用數(shù)據(jù),釋放更多存儲空間。
[0183]需要說明的是,在本發(fā)明的描述中,術(shù)語“第一”、“第二”等僅用于描述目的,而不能理解為指示或暗示相對重要性。此外,在本發(fā)明的描述中,除非另有說明,“多個”的含義是兩個或兩個以上。
[0184]流程圖中或在此以其他方式描述的任何過程或方法描述可以被理解為,表示包括一個或更多個用于實(shí)現(xiàn)特定邏輯功能或過程的步驟的可執(zhí)行指令的代碼的模塊、片段或部分,并且本發(fā)明的優(yōu)選實(shí)施方式的范圍包括另外的實(shí)現(xiàn),其中可以不按所示出或討論的順序,包括根據(jù)所涉及的功能按基本同時的方式或按相反的順序,來執(zhí)行功能,這應(yīng)被本發(fā)明的實(shí)施例所屬【技術(shù)領(lǐng)域】的技術(shù)人員所理解。
[0185]應(yīng)當(dāng)理解,本發(fā)明的各部分可以用硬件、軟件、固件或它們的組合來實(shí)現(xiàn)。在上述實(shí)施方式中,多個步驟或方法可以用存儲在存儲器中且由合適的指令執(zhí)行系統(tǒng)執(zhí)行的軟件或固件來實(shí)現(xiàn)。例如,如果用硬件來實(shí)現(xiàn),和在另一實(shí)施方式中一樣,可用本領(lǐng)域公知的下列技術(shù)中的任一項(xiàng)或他們的組合來實(shí)現(xiàn):具有用于對數(shù)據(jù)信號實(shí)現(xiàn)邏輯功能的邏輯門電路的離散邏輯電路,具有合適的組合邏輯門電路的專用集成電路,可編程門陣列(PGA),現(xiàn)場可編程門陣列(FPGA)等。
[0186]本【技術(shù)領(lǐng)域】的普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法攜帶的全部或部分步驟是可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲于一種計(jì)算機(jī)可讀存儲介質(zhì)中,該程序在執(zhí)行時,包括方法實(shí)施例的步驟之一或其組合。
[0187]此外,在本發(fā)明各個實(shí)施例中的各功能單元可以集成在一個處理模塊中,也可以是各個單元單獨(dú)物理存在,也可以兩個或兩個以上單元集成在一個模塊中。上述集成的模塊既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能模塊的形式實(shí)現(xiàn)。所述集成的模塊如果以軟件功能模塊的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時,也可以存儲在一個計(jì)算機(jī)可讀取存儲介質(zhì)中。
[0188]上述提到的存儲介質(zhì)可以是只讀存儲器,磁盤或光盤等。
[0189]在本說明書的描述中,參考術(shù)語“一個實(shí)施例”、“一些實(shí)施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實(shí)施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)包含于本發(fā)明的至少一個實(shí)施例或示例中。在本說明書中,對上述術(shù)語的示意性表述不一定指的是相同的實(shí)施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)可以在任何的一個或多個實(shí)施例或示例中以合適的方式結(jié)合。
[0190]盡管上面已經(jīng)示出和描述了本發(fā)明的實(shí)施例,可以理解的是,上述實(shí)施例是示例性的,不能理解為對本發(fā)明的限制,本領(lǐng)域的普通技術(shù)人員在本發(fā)明的范圍內(nèi)可以對上述實(shí)施例進(jìn)行變化、修改、替換和變型。
【權(quán)利要求】
1.一種識別應(yīng)用程序類型的方法,其特征在于,包括: 獲取第一組應(yīng)用程序,所述第一組應(yīng)用程序是與要識別的應(yīng)用程序?qū)儆谕唤M的應(yīng)用程序; 判斷所述第一組應(yīng)用程序中是否存在類型已知的,且包名與所述要識別的應(yīng)用程序的包名具有相似度的應(yīng)用程序; 如果存在,根據(jù)所述具有相似度的應(yīng)用程序的類型,確定所述要識別的應(yīng)用程序的類型。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述獲取第一組應(yīng)用程序,包括: 確定應(yīng)用程序的包名中的第一部分,所述第一部分用于分組; 將第一部分與所述要識別的應(yīng)用程序的第一部分相同的應(yīng)用程序,確定為所述第一組應(yīng)用程序。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述確定所述包名中的第一部分,包括: 確定所述包名被分隔符分開的段數(shù); 如果所述段數(shù)小于或等于預(yù)設(shè)閾值,選擇所述包名中的被所述分隔符分開的第一段作為所述第一部分;或者, 如果所述段數(shù)大于所述預(yù)設(shè)閾值,選擇所述包名中的被所述分隔符分開的第一段和第二段作為所述第一部分。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述分隔符是點(diǎn)號。
5.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述預(yù)設(shè)閾值是2。
6.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述與所述要識別的應(yīng)用程序的包名具有相似度的應(yīng)用程序,包括: 第二部分與所述要識別的應(yīng)用程序的包名的第二部分具有按序相同的字符,所述第二部分是所述包名中除所述第一部分之外的部分。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述根據(jù)所述具有相似度的應(yīng)用程序的類型,確定所述要識別的應(yīng)用程序的類型,包括: 從所述具有相似度的應(yīng)用程序中選擇出第一應(yīng)用程序,其中,所述第一應(yīng)用程序的包名的第二部分與所述要識別的應(yīng)用程序的包名的第二部分按序相同的字符的個數(shù)最多;將所述第一應(yīng)用程序的類型,確定為所述要識別的應(yīng)用程序的類型。
8.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括: 如果不存在所述具有相似度的應(yīng)用程序,則獲取所述第一組應(yīng)用程序中已知類型的應(yīng)用程序; 根據(jù)所述已知類型的應(yīng)用程序,確定所述要識別的應(yīng)用程序的類型。
9.根據(jù)權(quán)利要求8所述的方法,其特征在于,所述根據(jù)所述已知類型的應(yīng)用程序,確定所述要識別的應(yīng)用程序的類型,包括: 確定每種已知類型的應(yīng)用程序在所述其他應(yīng)用程序中的比例; 將比例最大的類型確定為所述要識別的應(yīng)用程序的類型。
10.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括: 獲取所述要識別的應(yīng)用程序的包名; 判斷所述包名中是否具有標(biāo)識類型的詞匯,以便在不具有時獲取第一組應(yīng)用程序; 如果具有,則將所述詞匯標(biāo)識的類型確定為所述要識別的應(yīng)用程序的類型。
11.根據(jù)權(quán)利要求1-10任一項(xiàng)所述的方法,其特征在于,還包括: 從數(shù)據(jù)庫中讀取數(shù)據(jù),當(dāng)所述數(shù)據(jù)的類型是未知時,確定所述數(shù)據(jù)對應(yīng)的應(yīng)用程序是要識別的應(yīng)用程序,其中,所述數(shù)據(jù)庫中每條數(shù)據(jù)對應(yīng)記錄應(yīng)用程序的包名,應(yīng)用名和類型。
12.—種識別應(yīng)用程序類型的裝置,其特征在于,包括: 第一獲取模塊,用于獲取第一組應(yīng)用程序,所述第一組應(yīng)用程序是與要識別的應(yīng)用程序?qū)儆谕唤M的應(yīng)用程序; 第一判斷模塊,用于判斷所述第一組應(yīng)用程序中是否存在類型已知的,且包名與所述要識別的應(yīng)用程序的包名具有相似度的應(yīng)用程序; 第一確定模塊,用于如果所述第一判斷模塊得到的判斷結(jié)果是存在,根據(jù)所述具有相似度的應(yīng)用程序的類型,確定所述要識別的應(yīng)用程序的類型。
13.根據(jù)權(quán)利要求12所述的裝置,其特征在于,所述第一獲取模塊包括: 第一單元,用于確定應(yīng)用程序的包名中的第一部分,所述第一部分用于分組; 第二單元,用于將第一部分與所述要識別的應(yīng)用程序的第一部分相同的應(yīng)用程序,確定為所述第一組應(yīng)用程序。
14.根據(jù)權(quán)利要求12所述的裝置,其特征在于,所述第一單元具體用于: 確定所述包名被分隔符分開的段數(shù); 如果所述段數(shù)小于或等于預(yù)設(shè)閾值,選擇所述包名中的被所述分隔符分開的第一段作為所述第一部分;或者, 如果所述段數(shù)大于所述預(yù)設(shè)閾值,選擇所述包名中的被所述分隔符分開的第一段和第二段作為所述第一部分。
15.根據(jù)權(quán)利要求14所述的裝置,其特征在于,所述分隔符是點(diǎn)號。
16.根據(jù)權(quán)利要求14所述的裝置,其特征在于,所述預(yù)設(shè)閾值是2。
17.根據(jù)權(quán)利要求13所述的裝置,其特征在于,所述第一判斷模塊具體用于將第二部分與所述要識別的應(yīng)用程序的包名的第二部分具有按序相同的字符的包名對應(yīng)的應(yīng)用程序,確定為與所述要識別的應(yīng)用程序的包名具有相似度的應(yīng)用程序,所述第二部分是所述包名中除所述第一部分之外的部分。
18.根據(jù)權(quán)利要求17所述的裝置,其特征在于,所述第一確定模塊具體用于: 從所述具有相似度的應(yīng)用程序中選擇出第一應(yīng)用程序,其中,所述第一應(yīng)用程序的包名的第二部分與所述要識別的應(yīng)用程序的包名的第二部分按序相同的字符的個數(shù)最多;將所述第一應(yīng)用程序的類型,確定為所述要識別的應(yīng)用程序的類型。
19.根據(jù)權(quán)利要求12所述的裝置,其特征在于,還包括: 第二確定模塊,用于如果所述第一判斷模塊得到的判斷結(jié)果是不存在,獲取所述第一組應(yīng)用程序中已知類型的應(yīng)用程序;根據(jù)所述已知類型的應(yīng)用程序,確定所述要識別的應(yīng)用程序的類型。
20.根據(jù)權(quán)利要求19所述的裝置,其特征在于,所述第二確定模塊具體用于: 確定每種已知類型的應(yīng)用程序在所述其他應(yīng)用程序中的比例; 將比例最大的類型確定為所述要識別的應(yīng)用程序的類型。
21.根據(jù)權(quán)利要求13所述的裝置,其特征在于,還包括: 第二獲取模塊,用于獲取所述要識別的應(yīng)用程序的包名; 第二判斷模塊,用于判斷所述包名中是否具有標(biāo)識類型的詞匯,以便在不具有時獲取第一組應(yīng)用程序; 第三確定模塊,用于在所述第二判斷模塊得到的判斷結(jié)果是具有時,將所述詞匯標(biāo)識的類型確定為所述要識別的應(yīng)用程序的類型。
22.根據(jù)權(quán)利要求13-21任一項(xiàng)所述的裝置,其特征在于,還包括: 讀取模塊,用于從數(shù)據(jù)庫中讀取數(shù)據(jù),當(dāng)所述數(shù)據(jù)的類型是未知時,確定所述數(shù)據(jù)對應(yīng)的應(yīng)用程序是要識別的應(yīng)用程序,其中,所述數(shù)據(jù)庫中每條數(shù)據(jù)對應(yīng)記錄應(yīng)用程序的包名,應(yīng)用名和類型。
23.—種移動設(shè)備,其特征在于,包括:殼體、處理器、存儲器、電路板和電源電路,其中,電路板安置在殼體圍成的空間內(nèi)部,處理器和存儲器設(shè)置在電路板上;電源電路,用于為移動設(shè)備的各個電路或器件供電;存儲器用于存儲可執(zhí)行程序代碼;處理器通過讀取存儲器中存儲的可執(zhí)行程序代碼來運(yùn)行與可執(zhí)行程序代碼對應(yīng)的程序,以用于執(zhí)行以下步驟: 獲取第一組應(yīng)用程序,所述第一組應(yīng)用程序是與要識別的應(yīng)用程序?qū)儆谕唤M的應(yīng)用程序; 判斷所述第一組應(yīng)用程序中是否存在類型已知的,且包名與所述要識別的應(yīng)用程序的包名具有相似度的應(yīng)用程序; 如果存在,根據(jù)所述具有相似度的應(yīng)用程序的類型,確定所述要識別的應(yīng)用程序的類型。
【文檔編號】G06F9/44GK104317574SQ201410522641
【公開日】2015年1月28日 申請日期:2014年9月30日 優(yōu)先權(quán)日:2014年9月30日
【發(fā)明者】閆泳杉 申請人:北京金山安全軟件有限公司