一種日志檢索方法及裝置的制造方法
【專利摘要】本發(fā)明提供了一種日志檢索方法及裝置,該方法包括:預(yù)先確定至少一個日志文件,并獲取每一個日志文件對應(yīng)的關(guān)鍵標(biāo)志信息;利用獲取到的關(guān)鍵標(biāo)志信息建立該至少一個日志文件的索引文件;在接收到查詢請求時,利用索引文件以檢索出該查詢請求對應(yīng)的查詢結(jié)果。由于可以預(yù)先建立全部日志文件對應(yīng)的索引文件,并在接收到查詢請求時,可以利用該索引文件來檢索出相應(yīng)查詢結(jié)果,故無需遍歷全部日志文件進(jìn)行檢索。因此,本方案能夠提高日志檢索的效率。
【專利說明】
一種日志檢索方法及裝置
技術(shù)領(lǐng)域
[0001 ]本發(fā)明涉及計算機(jī)技術(shù)領(lǐng)域,特別涉及一種日志檢索方法及裝置。
【背景技術(shù)】
[0002]隨著服務(wù)器系統(tǒng)的運(yùn)行,生成的日志文件持續(xù)增多,相應(yīng)的日志信息的總量也越來越大。
[0003]目前,當(dāng)用戶請求查詢時,系統(tǒng)可以遍歷全部日志文件,以檢索出該請求的查詢結(jié)果O
[0004]由于需要遍歷全部日志文件,這一檢索操作通常繁瑣且耗時長,尤其當(dāng)日志文件的數(shù)量多、日志信息量大時,這一實現(xiàn)方式會降低日志檢索的效率。
【發(fā)明內(nèi)容】
[0005]本發(fā)明提供了一種日志檢索方法及裝置,能夠提高日志檢索的效率。
[0006]為了達(dá)到上述目的,本發(fā)明是通過如下技術(shù)方案實現(xiàn)的:
[0007]—方面,本發(fā)明提供了一種日志檢索方法,預(yù)先確定至少一個日志文件,還包括:
[0008]獲取每一個所述日志文件對應(yīng)的關(guān)鍵標(biāo)志信息;
[0009]利用所述關(guān)鍵標(biāo)志信息,建立所述至少一個日志文件的索引文件;
[0010]在接收到查詢請求時,根據(jù)所述索引文件,檢索出所述查詢請求對應(yīng)的查詢結(jié)果。
[0011]進(jìn)一步地,所述關(guān)鍵標(biāo)志信息包括:主體路徑、客體路徑、用戶名稱、日志描述、日志類型和創(chuàng)建時間中的任意一種或多種。
[0012]進(jìn)一步地,所述關(guān)鍵標(biāo)志信息包括:日志描述;
[0013]所述利用所述關(guān)鍵標(biāo)志信息,建立所述至少一個日志文件的索引文件,包括:
[0014]針對每一個所述日志描述,分別利用預(yù)先確定的分詞器切分所述日志描述,生成至少一個關(guān)鍵詞;
[0015]查找每一個所述關(guān)鍵詞在對應(yīng)的日志文件中的地址信息;
[0016]通過對生成的所述關(guān)鍵詞及該關(guān)鍵詞的地址信息進(jìn)行匯總?cè)ブ兀@得所述至少一個日志文件的索引文件。
[0017]進(jìn)一步地,所述在接收到查詢請求時,根據(jù)所述索引文件,檢索出所述查詢請求對應(yīng)的查詢結(jié)果,包括:
[0018]在接收到查詢請求時,利用所述分詞器切分所述查詢請求,生成至少一個目標(biāo)關(guān)鍵詞;
[0019]對于每一個所述目標(biāo)關(guān)鍵詞,在檢索到所述索引文件中存在該目標(biāo)關(guān)鍵詞時,獲取該目標(biāo)關(guān)鍵詞的目標(biāo)地址信息;
[0020]生成包含所述目標(biāo)地址信息的查詢結(jié)果。
[0021 ]進(jìn)一步地,所述獲取每一個所述日志文件對應(yīng)的關(guān)鍵標(biāo)志信息,包括:
[0022]加載classpath的log.properties文件,通過解析所述log.properties文件,獲取其中的每一個所述日志文件的關(guān)鍵標(biāo)志信息。
[0023]進(jìn)一步地,在所述建立所述至少一個日志文件的索引文件之后,還包括:
[0024]以預(yù)先確定的更新時間間隔為周期,周期性地確定所述至少一個日志文件,并獲取每一個所述日志文件對應(yīng)的當(dāng)前關(guān)鍵標(biāo)志信息;
[0025]利用所述當(dāng)前關(guān)鍵標(biāo)志信息,建立所述至少一個日志文件的當(dāng)前索引文件,并將所述索引文件更新為所述當(dāng)前索引文件。
[0026]另一方面,本發(fā)明提供了一種日志檢索裝置,包括:
[0027]確定單元,用于確定至少一個日志文件;
[0028]獲取單元,用于獲取每一個所述日志文件對應(yīng)的關(guān)鍵標(biāo)志信息;
[0029]建立單元,用于利用所述關(guān)鍵標(biāo)志信息,建立所述至少一個日志文件的索引文件;
[0030]檢索單元,用于在接收到查詢請求時,根據(jù)所述索引文件,檢索出所述查詢請求對應(yīng)的查詢結(jié)果。
[0031]進(jìn)一步地,所述獲取單元,具體用于獲取每一個所述日志文件對應(yīng)的主體路徑、客體路徑、用戶名稱、日志描述、日志類型和創(chuàng)建時間中的任意一種或多種關(guān)鍵標(biāo)志信息。
[0032]進(jìn)一步地,所述關(guān)鍵標(biāo)志信息包括:日志描述;
[0033]所述建立單元,具體用于針對每一個所述日志描述,分別利用預(yù)先確定的分詞器切分所述日志描述,生成至少一個關(guān)鍵詞;查找每一個所述關(guān)鍵詞在對應(yīng)的日志文件中的地址信息;通過對生成的所述關(guān)鍵詞及該關(guān)鍵詞的地址信息進(jìn)行匯總?cè)ブ?,獲得所述至少一個日志文件的索引文件。
[0034]進(jìn)一步地,所述檢索單元,具體用于在接收到查詢請求時,利用所述分詞器切分所述查詢請求,生成至少一個目標(biāo)關(guān)鍵詞;對于每一個所述目標(biāo)關(guān)鍵詞,在檢索到所述索引文件中存在該目標(biāo)關(guān)鍵詞時,獲取該目標(biāo)關(guān)鍵詞的目標(biāo)地址信息;生成包含所述目標(biāo)地址信息的查詢結(jié)果。
[0035]進(jìn)一步地,所述獲取單元,具體用于加載c Iasspath的log.properties文件,通過解析所述log.proper t ies文件,獲取其中的每一個所述日志文件的關(guān)鍵標(biāo)志信息。
[0036]進(jìn)一步地,該日志檢索裝置還包括:更新單元,用于以預(yù)先確定的更新時間間隔為周期,周期性地確定所述至少一個日志文件,并獲取每一個所述日志文件對應(yīng)的當(dāng)前關(guān)鍵標(biāo)志信息;利用所述當(dāng)前關(guān)鍵標(biāo)志信息,建立所述至少一個日志文件的當(dāng)前索引文件,并將所述索引文件更新為所述當(dāng)前索引文件。
[0037]本發(fā)明提供了一種日志檢索方法及裝置,預(yù)先確定至少一個日志文件,并獲取每一個日志文件對應(yīng)的關(guān)鍵標(biāo)志信息;利用獲取到的關(guān)鍵標(biāo)志信息建立該至少一個日志文件的索引文件;在接收到查詢請求時,利用索引文件以檢索出該查詢請求對應(yīng)的查詢結(jié)果。由于可以預(yù)先建立全部日志文件對應(yīng)的索引文件,并在接收到查詢請求時,可以利用該索引文件來檢索出相應(yīng)查詢結(jié)果,故無需遍歷全部日志文件進(jìn)行檢索。因此,本發(fā)明能夠提高日志檢索的效率。
【附圖說明】
[0038]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0039]圖1是本發(fā)明一實施例提供的一種日志檢索方法的流程圖;
[0040]圖2是本發(fā)明一實施例提供的另一種日志檢索方法的流程圖;
[0041]圖3是本發(fā)明一實施例提供的一種日志檢索裝置的示意圖;
[0042]圖4是本發(fā)明一實施例提供的另一種日志檢索裝置的示意圖。
【具體實施方式】
[0043]為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例,基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動的前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。
[0044]如圖1所示,本發(fā)明實施例提供了一種日志檢索方法,可以包括以下步驟:
[0045]步驟101:預(yù)先確定至少一個日志文件。
[0046]步驟102:獲取每一個所述日志文件對應(yīng)的關(guān)鍵標(biāo)志信息。
[0047]步驟103:利用所述關(guān)鍵標(biāo)志信息,建立所述至少一個日志文件的索引文件。
[0048]步驟104:在接收到查詢請求時,根據(jù)所述索引文件,檢索出所述查詢請求對應(yīng)的查詢結(jié)果。
[0049]本發(fā)明實施例提供了一種日志檢索方法,預(yù)先確定至少一個日志文件,并獲取每一個日志文件對應(yīng)的關(guān)鍵標(biāo)志信息;利用獲取到的關(guān)鍵標(biāo)志信息建立該至少一個日志文件的索引文件;在接收到查詢請求時,利用索引文件以檢索出該查詢請求對應(yīng)的查詢結(jié)果。由于可以預(yù)先建立全部日志文件對應(yīng)的索引文件,并在接收到查詢請求時,可以利用該索引文件來檢索出相應(yīng)查詢結(jié)果,故無需遍歷全部日志文件進(jìn)行檢索。因此,本發(fā)明實施例能夠提尚日志檢索的效率。
[0050]在本發(fā)明的一個實施例中,為了便于索引文件的建立以及能夠?qū)γ恳粋€日志文件進(jìn)行定位,所以,所述關(guān)鍵標(biāo)志信息可以包括:主體路徑、客體路徑、用戶名稱、日志描述、日志類型和創(chuàng)建時間中的任意一種或多種。
[0051]在本發(fā)明的一個實施例中,為了說明一種建立索引文件的可能實現(xiàn)方式,所以,所述關(guān)鍵標(biāo)志信息包括:日志描述;
[0052]所述利用所述關(guān)鍵標(biāo)志信息,建立所述至少一個日志文件的索引文件,包括:
[0053]針對每一個所述日志描述,分別利用預(yù)先確定的分詞器切分所述日志描述,生成至少一個關(guān)鍵詞;
[0054]查找每一個所述關(guān)鍵詞在對應(yīng)的日志文件中的地址信息;
[0055]通過對生成的所述關(guān)鍵詞及該關(guān)鍵詞的地址信息進(jìn)行匯總?cè)ブ?,獲得所述至少一個日志文件的索引文件。
[0056]在本發(fā)明的一個實施例中,為了說明一種利用索引文件對用戶的查詢請求進(jìn)行檢索的可能實現(xiàn)方式,所以,所述在接收到查詢請求時,根據(jù)所述索引文件,檢索出所述查詢請求對應(yīng)的查詢結(jié)果,包括:
[0057]在接收到查詢請求時,利用所述分詞器切分所述查詢請求,生成至少一個目標(biāo)關(guān)鍵詞;
[0058]對于每一個所述目標(biāo)關(guān)鍵詞,在檢索到所述索引文件中存在該目標(biāo)關(guān)鍵詞時,獲取該目標(biāo)關(guān)鍵詞的目標(biāo)地址信息;
[0059]生成包含所述目標(biāo)地址信息的查詢結(jié)果。
[0060]在本發(fā)明一個實施例中,為了說明一種獲取日志文件的關(guān)鍵標(biāo)志信息的可能實現(xiàn)方式,所以,所述獲取每一個所述日志文件對應(yīng)的關(guān)鍵標(biāo)志信息,包括:加載classpath的log.properties文件,通過解析所述log.properties文件,獲取其中的每一個所述日志文件的關(guān)鍵標(biāo)志信息。
[0061]在本發(fā)明一個實施例中,為了能夠針對用戶的查詢請求進(jìn)行準(zhǔn)確檢索,所以,在所述建立所述至少一個日志文件的索引文件之后,進(jìn)一步包括:
[0062]以預(yù)先確定的更新時間間隔為周期,周期性地確定所述至少一個日志文件,并獲取每一個所述日志文件對應(yīng)的當(dāng)前關(guān)鍵標(biāo)志信息;
[0063]利用所述當(dāng)前關(guān)鍵標(biāo)志信息,建立所述至少一個日志文件的當(dāng)前索引文件,并將所述索引文件更新為所述當(dāng)前索引文件。
[0064]如圖2所示,本發(fā)明一個實施例提供了另一種日志檢索方法,該方法以基于Lucene實現(xiàn)日志快速檢索為例,具體包括以下步驟:
[0065]步驟201:加載并解析c Iasspath的log.properties文件,獲取其中的每一個日志文件的關(guān)鍵標(biāo)志信息。
[0066]舉例來說,本發(fā)明實施例可以在Lucene的基礎(chǔ)之上擴(kuò)充文本分析功能,可以涉及三個模塊:用于根據(jù)日志文件構(gòu)建索引文件的索引文件構(gòu)建模塊、用于定時更新索引文件的索引文件定時更新模塊,以及用于接收用戶查詢請求并反饋查詢結(jié)果的用戶交互模塊。通過這三個模塊的共同作用,可以實現(xiàn)日志的快速檢索。
[0067]詳細(xì)地,日志文件的關(guān)鍵標(biāo)志信息可以包括:主體路徑、客體路徑、用戶名稱、日志描述、日志類型和創(chuàng)建時間中的任意一種或多種。
[0068]在本實施例中,可以將日志文件的關(guān)鍵標(biāo)志信息存儲在classpath的log.properties文件中。系統(tǒng)啟動后,可以自動加載并解析該文件,以獲取每一個日志文件的關(guān)鍵標(biāo)志信息。例如,獲取到日志文件的關(guān)鍵標(biāo)志信息可以如下所述:
[0069]#日志I的關(guān)鍵標(biāo)志
[0070]symboll=日志描述,日志時間,主體路徑
[0071]#日志2的關(guān)鍵標(biāo)志
[0072 ] symbo 12 =日志描述,日志時間,客體路徑
[0073]……
[0074]步驟202:針對每一個關(guān)鍵標(biāo)志信息中的日志描述,利用預(yù)先確定的分詞器切分日志描述,生成每一個日志描述對應(yīng)的至少一個關(guān)鍵詞。
[0075]對于每一個日志文件,在獲取到該日志文件的關(guān)鍵標(biāo)志信息之后,可以對其中的日志描述進(jìn)行切分處理,以獲得至少一個關(guān)鍵詞。
[0076]詳細(xì)地,可以利用預(yù)先確定的分詞器切分日志描述。優(yōu)選地,可以選用“庖丁解?!狈衷~器。
[0077]例如,當(dāng)日志文件I的日志描述為“hiPs的主體進(jìn)程保護(hù)”時,生成的相應(yīng)關(guān)鍵詞可以有4個,分別為hips、主體、進(jìn)程保護(hù)、進(jìn)程。
[0078]步驟203:查找每一個關(guān)鍵詞在對應(yīng)的日志文件中的地址信息。
[0079]如上所述,對于上述hips、主體、進(jìn)程保護(hù)、進(jìn)程這4個關(guān)鍵詞,可以查找每一個關(guān)鍵詞在日志文件I中的地址信息。
[0080]在本發(fā)明一個實施例中,關(guān)鍵詞的地址信息可以為關(guān)鍵詞在磁盤空間中具體地址信息。比如,hips這一關(guān)鍵詞的地址信息可以為日志文件I的存儲路徑,以及日志文件I中出現(xiàn)hips的具體行數(shù)。因此,每一個關(guān)鍵詞對應(yīng)的地址信息可以為至少一個。
[0081 ]基于同樣的實現(xiàn)方式,可以對生成的每一個關(guān)鍵詞的地址信息進(jìn)行查找,本實施例在此不做贅述。
[0082]步驟204:通過對生成的關(guān)鍵詞及該關(guān)鍵詞的地址信息進(jìn)行匯總?cè)ブ兀@得全部日志文件的索引文件。
[0083]由于同一關(guān)鍵詞可以存在于不同的多個日志文件中,故會存在關(guān)鍵詞相同,但對應(yīng)的地址信息不同的情況。為避免同一關(guān)鍵詞的重復(fù)檢索,可以對獲取到的全部關(guān)鍵詞及關(guān)鍵詞對應(yīng)的地址信息進(jìn)行匯總?cè)ブ?。比如,對相同的關(guān)鍵詞進(jìn)行去重,將對應(yīng)的地址信息進(jìn)行匯總。
[0084]將全部關(guān)鍵詞及關(guān)鍵詞對應(yīng)的地址信息執(zhí)行匯總?cè)ブ夭僮骱?,可以得到一個索引結(jié)構(gòu),通過在文件中保存該索引結(jié)構(gòu),可以生成一個索引文件。其中,該索引文件通常包含至少一個關(guān)鍵詞,以及每一個關(guān)鍵詞對應(yīng)的至少一個地址信息。該索引文件即可以為全部日志文件的索引文件。
[0085]在本實施例中,與每一個日志文件對應(yīng)的關(guān)鍵標(biāo)志信息,以及對應(yīng)的關(guān)鍵詞、關(guān)鍵詞的地址信息等,均可以為該日志文件的倒排索引信息。相應(yīng)的,生成的索引文件可以為倒排索引文件。
[0086]步驟205:存儲索引文件,并將索引文件加載到內(nèi)存中。
[0087]為便于索引文件的管理及檢索之用,可以將索引文件進(jìn)行存儲,同時將該索引文件加載到內(nèi)存中。
[0088]步驟206:以預(yù)先確定的更新時間間隔為周期,周期性地獲取每一個日志文件的當(dāng)BU關(guān)鍵標(biāo)志?目息。
[0089]步驟207:利用當(dāng)前關(guān)鍵標(biāo)志信息,建立全部日志文件的當(dāng)前索引文件,并將存儲的索引文件和內(nèi)存中加載的索弓I文件均更新為當(dāng)前索弓I文件。
[0090]為了能夠提高日志檢索的準(zhǔn)確性,還可以預(yù)先確定索引文件的更新時間間隔,比如每天24點整開始進(jìn)行更新。因此,可以周期性地執(zhí)行上述步驟201至步驟205,以根據(jù)當(dāng)前的全部日志文件建立最新的索引文件,并對已存儲的和已加載在內(nèi)存中的索引文件進(jìn)行更新替換。
[0091]步驟208:在接收到查詢請求時,利用分詞器切分查詢請求,生成查詢請求對應(yīng)的至少一個目標(biāo)關(guān)鍵詞。
[0092]當(dāng)需要查詢?nèi)罩拘畔r,工作人員可以輸入查詢請求。與日志描述相同,系統(tǒng)在接收到輸入的查詢請求時,也可以利用分詞器切分查詢請求,得到該查詢請求對應(yīng)的至少一個關(guān)鍵詞。
[0093]比如,在本實施例中,當(dāng)輸入的查詢請求為hips時,得到的目標(biāo)關(guān)鍵詞可以為I個,且同樣是hips。
[0094]步驟209:對于每一個目標(biāo)關(guān)鍵詞,在檢索到內(nèi)存中加載的索引文件中存在該目標(biāo)關(guān)鍵詞時,獲取該目標(biāo)關(guān)鍵詞的目標(biāo)地址信息。
[0095]為了能夠?qū)δ繕?biāo)關(guān)鍵詞進(jìn)行快速檢索,可以查詢內(nèi)存中加載的索引文件中是否存在該目標(biāo)關(guān)鍵詞,若存在,則采集索引文件中該目標(biāo)關(guān)鍵詞的目標(biāo)地址信息。
[0096]步驟210:生成包含目標(biāo)地址信息的查詢結(jié)果,輸出并顯示查詢結(jié)果。
[0097]通過檢索索引文件,可以將采集的全部目標(biāo)地址信息添加到查詢結(jié)果中。此外,在本發(fā)明一個實施例中,查詢結(jié)果中還可以包含每一個目標(biāo)地址信息對應(yīng)的日志信息。
[0098]比如,根據(jù)hips這一關(guān)鍵詞的地址信息,可以得知日志文件I的第50行和第80行存在該關(guān)鍵詞,故可以根據(jù)地址信息查找到日志文件I,并獲取日志文件I中第50行的前后各5行的日志信息,以及第80行的前后各5行的日志信息。
[0099]在本實施例中,可以建立全部日志文件所共用的索引文件,并利用該索引文件針對用戶的查詢請求進(jìn)行快速準(zhǔn)確的檢索操作,以及顯示相應(yīng)查詢結(jié)果。這一實現(xiàn)方式無需遍歷全部日志文件,故檢索時間短、實時性好、占用資源少、查全率和查準(zhǔn)率高、服務(wù)器資源消耗少、用戶體驗效果佳。
[0100]由于本發(fā)明實施例意于根據(jù)工作人員輸入的查詢請求,以對其所需查看的日志信息進(jìn)行顯示,故顯示的各項日志信息可以不存在權(quán)重之分,即各項日志信息的先后排序不會對其重要性等產(chǎn)生影響。不過為便于查看,可以將源于同一日志文件的多項日志信息相鄰展示。以及可以根據(jù)各日志文件的創(chuàng)建時間對日志信息進(jìn)行排序顯示。
[0101]在本發(fā)明一個實施例中,當(dāng)工作人員需要獲取目標(biāo)日志文件時,建立的索引文件中可以包括每一個關(guān)鍵詞及各關(guān)鍵詞在相應(yīng)日志文件中的出現(xiàn)次數(shù)。當(dāng)工作人員輸入查詢請求以使系統(tǒng)切分得到目標(biāo)關(guān)鍵詞時,若索引文件中存在該目標(biāo)關(guān)鍵詞,可以根據(jù)該目標(biāo)關(guān)鍵詞在相應(yīng)多個目標(biāo)日志文件中的出現(xiàn)次數(shù),對該多個目標(biāo)日志文件進(jìn)行排序展示。比如,可以將關(guān)鍵詞出現(xiàn)次數(shù)最高的目標(biāo)日志文件進(jìn)行最先展示。詳細(xì)地,可以展示各目標(biāo)日志文件的標(biāo)識、存儲路徑、鏈接信息或全文信息。
[0102]如圖3所示,本發(fā)明一個實施例提供了一種日志檢索裝置,包括:
[0?03] 確定單元301,用于確定至少一個日志文件;
[0104]獲取單元302,用于獲取每一個所述日志文件對應(yīng)的關(guān)鍵標(biāo)志信息;
[0105]建立單元303,用于利用所述關(guān)鍵標(biāo)志信息,建立所述至少一個日志文件的索引文件;
[0106]檢索單元304,用于在接收到查詢請求時,根據(jù)所述索引文件,檢索出所述查詢請求對應(yīng)的查詢結(jié)果。
[0107]在本發(fā)明一個實施例中,所述獲取單元302,具體用于獲取每一個所述日志文件對應(yīng)的主體路徑、客體路徑、用戶名稱、日志描述、日志類型和創(chuàng)建時間中的任意一種或多種關(guān)鍵標(biāo)志信息。
[0108]在本發(fā)明一個實施例中,所述關(guān)鍵標(biāo)志信息包括:日志描述;
[0109]所述建立單元303,具體用于針對每一個所述日志描述,分別利用預(yù)先確定的分詞器切分所述日志描述,生成至少一個關(guān)鍵詞;查找每一個所述關(guān)鍵詞在對應(yīng)的日志文件中的地址信息;通過對生成的所述關(guān)鍵詞及該關(guān)鍵詞的地址信息進(jìn)行匯總?cè)ブ?,獲得所述至少一個日志文件的索引文件。
[0110]在本發(fā)明一個實施例中,所述檢索單元304,具體用于在接收到查詢請求時,利用所述分詞器切分所述查詢請求,生成至少一個目標(biāo)關(guān)鍵詞;對于每一個所述目標(biāo)關(guān)鍵詞,在檢索到所述索引文件中存在該目標(biāo)關(guān)鍵詞時,獲取該目標(biāo)關(guān)鍵詞的目標(biāo)地址信息;生成包含所述目標(biāo)地址信息的查詢結(jié)果。
[0111]在本發(fā)明一個實施例中,所述獲取單元302,具體用于加載classpath的log.properties文件,通過解析所述log.properties文件,獲取其中的每一個所述日志文件的關(guān)鍵標(biāo)志信息。
[0112]在本發(fā)明一個實施例中,請參考圖4,該日志檢索裝置還可以包括:
[0113]更新單元401,用于以預(yù)先確定的更新時間間隔為周期,周期性地確定所述至少一個日志文件,并獲取每一個所述日志文件對應(yīng)的當(dāng)前關(guān)鍵標(biāo)志信息;利用所述當(dāng)前關(guān)鍵標(biāo)志信息,建立所述至少一個日志文件的當(dāng)前索引文件,并將所述索引文件更新為所述當(dāng)前索引文件。
[0114]上述裝置內(nèi)的各單元之間的信息交互、執(zhí)行過程等內(nèi)容,由于與本發(fā)明方法實施例基于同一構(gòu)思,具體內(nèi)容可參見本發(fā)明方法實施例中的敘述,此處不再贅述。
[0115]綜上所述,本發(fā)明的各個實施例至少具有如下有益效果:
[0116]1、本發(fā)明實施例中,預(yù)先確定至少一個日志文件,并獲取每一個日志文件對應(yīng)的關(guān)鍵標(biāo)志信息;利用獲取到的關(guān)鍵標(biāo)志信息建立該至少一個日志文件的索引文件;在接收到查詢請求時,利用索引文件以檢索出該查詢請求對應(yīng)的查詢結(jié)果。由于可以預(yù)先建立全部日志文件對應(yīng)的索引文件,并在接收到查詢請求時,可以利用該索引文件來檢索出相應(yīng)查詢結(jié)果,故無需遍歷全部日志文件進(jìn)行檢索。因此,本發(fā)明實施例能夠提高日志檢索的效率。
[0117]2、本發(fā)明實施例中,可以建立全部日志文件所共用的索引文件,并利用該索引文件針對用戶的查詢請求進(jìn)行快速準(zhǔn)確的檢索操作,以及顯示相應(yīng)查詢結(jié)果。這一實現(xiàn)方式無需遍歷全部日志文件,故檢索時間短、實時性好、占用資源少、查全率和查準(zhǔn)率高、服務(wù)器資源消耗少、用戶體驗效果佳。
[0118]需要說明的是,在本文中,諸如第一和第二之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個〃.....”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同因素。
[0119]本領(lǐng)域普通技術(shù)人員可以理解:實現(xiàn)上述方法實施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成,前述的程序可以存儲在計算機(jī)可讀取的存儲介質(zhì)中,該程序在執(zhí)行時,執(zhí)行包括上述方法實施例的步驟;而前述的存儲介質(zhì)包括:ROM、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)中。
[0120]最后需要說明的是:以上所述僅為本發(fā)明的較佳實施例,僅用于說明本發(fā)明的技術(shù)方案,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi)所做的任何修改、等同替換、改進(jìn)等,均包含在本發(fā)明的保護(hù)范圍內(nèi)。
【主權(quán)項】
1.一種日志檢索方法,其特征在于,預(yù)先確定至少一個日志文件,還包括: 獲取每一個所述日志文件對應(yīng)的關(guān)鍵標(biāo)志信息; 利用所述關(guān)鍵標(biāo)志信息,建立所述至少一個日志文件的索引文件; 在接收到查詢請求時,根據(jù)所述索引文件,檢索出所述查詢請求對應(yīng)的查詢結(jié)果。2.根據(jù)權(quán)利要求1所述的方法,其特征在于, 所述關(guān)鍵標(biāo)志信息,包括:主體路徑、客體路徑、用戶名稱、日志描述、日志類型和創(chuàng)建時間中的任意一種或多種。3.根據(jù)權(quán)利要求1所述的方法,其特征在于, 所述關(guān)鍵標(biāo)志信息包括:日志描述; 所述利用所述關(guān)鍵標(biāo)志信息,建立所述至少一個日志文件的索引文件,包括: 針對每一個所述日志描述,分別利用預(yù)先確定的分詞器切分所述日志描述,生成至少一個關(guān)鍵詞; 查找每一個所述關(guān)鍵詞在對應(yīng)的日志文件中的地址信息; 通過對生成的所述關(guān)鍵詞及該關(guān)鍵詞的地址信息進(jìn)行匯總?cè)ブ?,獲得所述至少一個日志文件的索引文件。4.根據(jù)權(quán)利要求3所述的方法,其特征在于, 所述在接收到查詢請求時,根據(jù)所述索引文件,檢索出所述查詢請求對應(yīng)的查詢結(jié)果,包括: 在接收到查詢請求時,利用所述分詞器切分所述查詢請求,生成至少一個目標(biāo)關(guān)鍵詞;對于每一個所述目標(biāo)關(guān)鍵詞,在檢索到所述索引文件中存在該目標(biāo)關(guān)鍵詞時,獲取該目標(biāo)關(guān)鍵詞的目標(biāo)地址信息; 生成包含所述目標(biāo)地址信息的查詢結(jié)果。5.根據(jù)權(quán)利要求1至4中任一所述的方法,其特征在于, 所述獲取每一個所述日志文件對應(yīng)的關(guān)鍵標(biāo)志信息,包括: 加載c Iasspath的log.properties文件,通過解析所述log.properties文件,獲取其中的每一個所述日志文件的關(guān)鍵標(biāo)志信息; 和/或, 在所述建立所述至少一個日志文件的索引文件之后,進(jìn)一步包括: 以預(yù)先確定的更新時間間隔為周期,周期性地確定所述至少一個日志文件,并獲取每一個所述日志文件對應(yīng)的當(dāng)前關(guān)鍵標(biāo)志信息; 利用所述當(dāng)前關(guān)鍵標(biāo)志信息,建立所述至少一個日志文件的當(dāng)前索引文件,并將所述索引文件更新為所述當(dāng)前索引文件。6.—種日志檢索裝置,其特征在于,包括: 確定單元,用于確定至少一個日志文件; 獲取單元,用于獲取每一個所述日志文件對應(yīng)的關(guān)鍵標(biāo)志信息; 建立單元,用于利用所述關(guān)鍵標(biāo)志信息,建立所述至少一個日志文件的索引文件; 檢索單元,用于在接收到查詢請求時,根據(jù)所述索引文件,檢索出所述查詢請求對應(yīng)的查詢結(jié)果。7.根據(jù)權(quán)利要求6所述的日志檢索裝置,其特征在于, 所述獲取單元,具體用于獲取每一個所述日志文件對應(yīng)的主體路徑、客體路徑、用戶名稱、日志描述、日志類型和創(chuàng)建時間中的任意一種或多種關(guān)鍵標(biāo)志信息。8.根據(jù)權(quán)利要求6所述的日志檢索裝置,其特征在于, 所述關(guān)鍵標(biāo)志信息包括:日志描述; 所述建立單元,具體用于針對每一個所述日志描述,分別利用預(yù)先確定的分詞器切分所述日志描述,生成至少一個關(guān)鍵詞;查找每一個所述關(guān)鍵詞在對應(yīng)的日志文件中的地址信息;通過對生成的所述關(guān)鍵詞及該關(guān)鍵詞的地址信息進(jìn)行匯總?cè)ブ?,獲得所述至少一個日志文件的索引文件。9.根據(jù)權(quán)利要求8所述的日志檢索裝置,其特征在于, 所述檢索單元,具體用于在接收到查詢請求時,利用所述分詞器切分所述查詢請求,生成至少一個目標(biāo)關(guān)鍵詞;對于每一個所述目標(biāo)關(guān)鍵詞,在檢索到所述索引文件中存在該目標(biāo)關(guān)鍵詞時,獲取該目標(biāo)關(guān)鍵詞的目標(biāo)地址信息;生成包含所述目標(biāo)地址信息的查詢結(jié)果。10.根據(jù)權(quán)利要求6至9中任一所述的日志檢索裝置,其特征在于, 所述獲取單元,具體用于加載cIasspath的log.properties文件,通過解析所述log.properties文件,獲取其中的每一個所述日志文件的關(guān)鍵標(biāo)志信息; 和/或, 進(jìn)一步包括:更新單元,用于以預(yù)先確定的更新時間間隔為周期,周期性地確定所述至少一個日志文件,并獲取每一個所述日志文件對應(yīng)的當(dāng)前關(guān)鍵標(biāo)志信息;利用所述當(dāng)前關(guān)鍵標(biāo)志信息,建立所述至少一個日志文件的當(dāng)前索引文件,并將所述索引文件更新為所述當(dāng)前索引文件。
【文檔編號】G06F17/30GK106055621SQ201610362374
【公開日】2016年10月26日
【申請日】2016年5月26日
【發(fā)明人】劉增輝
【申請人】浪潮電子信息產(chǎn)業(yè)股份有限公司