專利名稱:一種在大數(shù)據(jù)量存儲中快速檢索的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)庫審計技術(shù)領(lǐng)域,尤其涉及一種在大數(shù)據(jù)量存儲中快速檢索的方法。
背景技術(shù):
對數(shù)據(jù)庫審計系統(tǒng)而言,審計并存儲上億條甚至幾十億條審計記錄的情況非常普遍,在這種海量記錄中能夠方便地按各種特性組合進行快速檢索,對數(shù)據(jù)庫審計系統(tǒng)的事后審計功能而言至關(guān)重要。數(shù)據(jù)庫審計系統(tǒng)的事后審計,指的是通過某些已知特性進行反向回溯和定位,找出其他未知特性,從而完整地還原整個操作或事件。這類特性可以包括被訪問的數(shù)據(jù)庫名、 被訪問的表、被訪問的字段、SQL操作類型、數(shù)據(jù)庫登錄用戶名、客戶端IP、服務(wù)端IP、時間范圍以及SQL語句包含的內(nèi)容。在海量的審計記錄中進行精確檢索,通常的方法是對SQL語句進行語義分析并形成細粒度記錄,然后借助關(guān)系型數(shù)據(jù)庫,對各種檢索特性及特性組合建立索引,再根據(jù)索引實現(xiàn)快速檢索。由于審計記錄特性眾多,存儲各種特性對應(yīng)關(guān)系并為各種特性組合都建立索引,將耗費比審計記錄本身大得多的存儲空間,另外還將極大消耗存儲性能,這對存儲容量和存儲性能要求極高的數(shù)據(jù)庫審計系統(tǒng)而言是無法忍受的。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是,為數(shù)據(jù)庫審計系統(tǒng)提供一種大數(shù)據(jù)量存儲中快速檢索的方法,該方法較SQL細粒度存儲并為各種檢索特性及特性組合建立索引的方法將極大節(jié)省存儲空間,并將極大提升檢索效率。鑒于數(shù)據(jù)庫審計系統(tǒng)的審計記錄數(shù)量十分龐大的事實,就必然要求單條審計記錄盡可能地節(jié)約存儲空間,并且當存儲中已經(jīng)包含海量審計記錄時,仍然能夠以任意特性或特性組合為條件進行快速檢索。而全文索引就是解決在海量存儲中實現(xiàn)快速檢索的關(guān)鍵技術(shù)。把全文索引引入數(shù)據(jù)庫審計系統(tǒng)中,將極大節(jié)省存儲空間和性能,極大提升檢索能力。為解決問題,本發(fā)明的解決方案是提供一種在大數(shù)據(jù)量存儲中快速檢索的方法,包括如下步驟A、采用關(guān)系型數(shù)據(jù)庫存儲審計記錄,每條記錄擁有唯一 ID,并以慣常使用的檢索特性為字段;B、協(xié)議解析模塊獲取審計記錄后,對該審計記錄進行入庫,而不對該審計記錄對應(yīng)的SQL語句進行語義分析所產(chǎn)生的細粒度信息進行入庫;C、使用獨立的全文索引引擎監(jiān)控審計記錄入庫情況,對新入庫的審計記錄建立全文索引,并逐級建立和維護當前索引、單位小時索引、單位天索引;D、檢索時,以檢索特性為關(guān)鍵字使用全文索引進行檢索,獲取符合特性的審計記錄的主ID集,再通過主ID集獲取符合檢索特性的所有審計記錄的完整信息。
本發(fā)明中,所述的步驟B進一步包括如下Bi、通過網(wǎng)絡(luò)采集模塊和協(xié)議解析模塊獲取審計記錄; B2、獲取的審計記錄被存入入庫文件,當該入庫文件包含的審計記錄數(shù)達到某一設(shè)定門限、或該入庫文件存在周期超過某一設(shè)定時間門限時,將把該入庫文件移動到可入庫目錄,并打開新的入庫文件用以記錄新的審計記錄;B3、移動入庫文件到可入庫目錄后,登記該入庫文件所包含的審計記錄ID范圍及入庫文件名的對應(yīng)關(guān)系;B4、使用關(guān)系型數(shù)據(jù)庫數(shù)據(jù)導入工具Mysqlimport對入庫文件進行入庫,入庫后刪除入庫文件。本發(fā)明中,執(zhí)行所述步驟C時,進一步包括C4、監(jiān)控步驟B3中的登記信息;C5、如果步驟C4中發(fā)現(xiàn)有新入庫文件產(chǎn)生,則檢查該入庫文件是否存在;C6、如果步驟C5中新入庫文件已被刪除,根據(jù)步驟B4,說明該入庫文件已經(jīng)入庫完成,該入庫文件所對應(yīng)登記信息中ID范圍內(nèi)的審計記錄需要建立全文索引;C7、在當前索引文件中,為步驟C6中需要建立全文索引的審計記錄建立全文索弓丨,并刪除步驟B3中對應(yīng)的登記信息;C8、把當前索引文件合并到當前小時索引文件中,并初始化當前索引文件。本發(fā)明中,所述的步驟C7進一步包括如下C71、步驟C6中需要建立全文索引的ID范圍所對應(yīng)的審計記錄,是本次全文索引的數(shù)據(jù)源;C72、審計記錄中可以被用來做檢索條件的字段,都將被建立全文索引,可根據(jù)這些字段來檢索獲取審計記錄ID ;C73、對于除SQL語句外的其他檢索特性,在獲取數(shù)據(jù)源數(shù)據(jù)時為每一個字段內(nèi)容加上特殊的前后綴,以極大減少該內(nèi)容作為一個單詞出現(xiàn)在其他字段內(nèi)容中的概率,確保全文檢索準確性;C74、根據(jù)步驟C73的規(guī)則,以步驟C6中ID范圍的審計記錄為數(shù)據(jù)源,在當前索引中建立全文索引;C75、刪除步驟B3中對應(yīng)的登記信息。本發(fā)明中,所述的步驟D進一步包括如下D1、為用戶輸入的每個檢索特性內(nèi)容附加上步驟C73所述與該特性一致的特殊的前后綴,形成檢索關(guān)鍵詞;D2、以步驟Dl中的檢索關(guān)鍵詞為搜索條件,在當前小時索引文件、當前天索引文件以及根據(jù)搜索的時間段范圍決定的包含日期的天索引文件中進行檢索,獲取審計記錄 ID ;D3、根據(jù)審計記錄ID,在關(guān)系型數(shù)據(jù)庫中獲取符合條件的審計記錄的完整信息。本發(fā)明中,步驟A中所述的檢索特性是在對數(shù)據(jù)進行檢索時慣常使用的數(shù)據(jù)特征值,是下述內(nèi)容中的至少一種登錄用戶名、客戶端IP、服務(wù)端IP、訪問時間、SQL語句、被訪問的數(shù)據(jù)庫名、被訪問的表、被訪問的字段或SQL操作類型。本發(fā)明中,所述的步驟C中,還進一步包括
Cl、將全文索引文件分成當前索引文件、當前小時索引文件、當天索引文件、包含日期的天索引文件;C2、根據(jù)時間判斷是否需要把當前小時文件合并到當天索引中,如果離上一次該類合并動作超過一小時,則進行合并,并初始化當前小時索引文件;C3、根據(jù)時間判斷是否需要把當天索引文件演變?yōu)槿掌谔焖饕募?,如果離上一次合并動作的日期發(fā)生變更,則把當天索引文件變更為包含日期的天索引文件,并初始化當天索引文件。本發(fā)明的有益效果在于本發(fā)明和存儲龐大SQL細粒度信息和大量建立索引相比,由于不需要存儲比審計記錄龐大的多的細粒度信息,不需要存儲和維護附著在細粒度信息上更為龐大的索引,僅需要增加全文索引文件的存儲開銷;而全文檢索的檢索結(jié)果模糊度通過為檢索特性內(nèi)容附加前后綴的方式得以解決后,在建立全文索引過程中就無需為檢索特性增加檢索屬性,這樣,全文索引文件的開銷比審計記錄本身的存儲更小。如此,采用本發(fā)明,將極大提升數(shù)據(jù)庫審計系統(tǒng)的存儲能力及存儲性能,極大提升檢索性能。
圖1為負責入庫文件產(chǎn)生功能的引擎處理流程圖;圖2為負責對入庫文件執(zhí)行入庫功能的引擎具體處理流程圖;圖3為負責創(chuàng)建全文索引功能的引擎具體處理流程圖;圖4為執(zhí)行全文檢索的功能具體處理流程圖。
具體實施例方式本發(fā)明提供了一種大數(shù)據(jù)量存儲中快速檢索的方法,本發(fā)明的核心思想為以關(guān)系型數(shù)據(jù)庫中審計記錄為全文索引數(shù)據(jù)源,從數(shù)據(jù)源中提取數(shù)據(jù)后為每一檢索特性附加特殊的前后綴再建立全文索引;全文檢索過程同樣為檢索特性內(nèi)容附加上建立全文索引過程一致的前后綴,以此產(chǎn)生的內(nèi)容為關(guān)鍵詞進行全文檢索并獲取審計記錄ID,再通過關(guān)系型數(shù)據(jù)庫獲取符合條件的審計記錄的完整信息。為確保理解準確、避免產(chǎn)生歧義或不清楚,首先對本發(fā)明涉及的部分術(shù)語進行解釋如下關(guān)系數(shù)據(jù)庫,是建立在關(guān)系模型基礎(chǔ)上的數(shù)據(jù)庫,借助于集合代數(shù)等數(shù)學概念和方法來處理數(shù)據(jù)庫中的數(shù)據(jù)?,F(xiàn)實世界中的各種實體以及實體之間的各種聯(lián)系均用關(guān)系模型來表示。關(guān)系模型是數(shù)據(jù)存儲的傳統(tǒng)標準。標準數(shù)據(jù)查詢語言SQL就是一種基于關(guān)系數(shù)據(jù)庫的語言,這種語言執(zhí)行對關(guān)系數(shù)據(jù)庫中數(shù)據(jù)的檢索和操作。關(guān)系模型由關(guān)系數(shù)據(jù)結(jié)構(gòu)、 關(guān)系操作集合、關(guān)系完整性約束三部分組成。網(wǎng)絡(luò)采集模塊、協(xié)議解析模塊、數(shù)據(jù)導入工具Mysqlimport,均為軟件功能模塊,其具體的實現(xiàn)方式可以有很多種。本領(lǐng)域技術(shù)人員在了解本發(fā)明思路及各模塊的功能描述之后,完全可以根據(jù)其掌握的基本技能實現(xiàn)各功能模塊的編程與運行,不存在無法理解或無法再現(xiàn)的可能性。其中,網(wǎng)絡(luò)采集模塊用于采集審計對象的網(wǎng)絡(luò)流量;協(xié)議解析模塊用于對網(wǎng)絡(luò)流量進行分析和獲取審計記錄;數(shù)據(jù)導入工具Mysqlimport用于對入庫文件進行入庫,入庫后刪除入庫文件。通常所使用的Mysqlimport是一個命令行工具,兩個參數(shù)以及大量的選項可供選擇,是MySQL的一個載入(或者說導入)數(shù)據(jù)的非常有效的工具。下面結(jié)合附圖來詳細描述本發(fā)明所述方法,本發(fā)明所述方法包含四個獨立運行的軟件功能模塊(以下均按業(yè)內(nèi)慣例稱之為引擎),分別負責入庫文件產(chǎn)生、對入庫文件執(zhí)行入庫、創(chuàng)建全文索引、執(zhí)行全文檢索的功能,各引擎具體處理流程分別如圖1、圖2、圖3、圖4 所示。這些引擎均為軟件功能模塊,其具體的實現(xiàn)方式可以有很多種。本領(lǐng)域技術(shù)人員在了解本發(fā)明思路及各模塊的功能描述之后,完全可以根據(jù)其掌握的基本技能實現(xiàn)各功能模塊的編程與運行,不存在無法理解或無法再現(xiàn)的可能性。負責入庫文件產(chǎn)生功能的引擎,具體處理流程如圖1所示,包括如下步驟步驟1-1 =Mysql中創(chuàng)建審計表用以存儲審計記錄。MySQL是一種開放源代碼的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)(RDBMS),MySQL數(shù)據(jù)庫系統(tǒng)使用最常用的數(shù)據(jù)庫管理語言一結(jié)構(gòu)化查詢語言(SQL)進行數(shù)據(jù)庫管理。本發(fā)明采用Mysql數(shù)據(jù)庫存儲審計記錄,對應(yīng)的審計記錄表包含唯一標識審計記錄的ID,并為各種檢索特性建立相應(yīng)字段,這類字段包括但不限于登錄用戶名、客戶端IP、 服務(wù)端IP、訪問時間以及SQL語句。還可以包括被訪問的數(shù)據(jù)庫名、被訪問的表、被訪問的字段、SQL操作類型等等。步驟1-2 打開新的入庫文件用以保存審計記錄。審計記錄首先被寫入文件中,這類文件被稱為入庫文件,當入庫文件包含的審計記錄數(shù)達到某一設(shè)定門限、或存在周期超過某一設(shè)定時間門限時,將被移動到入庫目錄,并打開新的入庫文件。步驟1-3 協(xié)議解析模塊產(chǎn)生新的審計記錄。通過捕獲網(wǎng)絡(luò)流量并進行協(xié)議解析,對應(yīng)用層SQL語句進行還原并形成審計記錄,每條審計記錄都有系統(tǒng)內(nèi)唯一標識的ID,后來的審計記錄ID總是比更早的審計記錄的 ID大。步驟1-4 把審計記錄寫到入庫文件中。步驟1-5 判斷入庫文件中的審計記錄數(shù)是否達到一定數(shù)量,或者處于打開狀態(tài)是否達到一定時間。如果入庫文件中審計記錄數(shù)達到一定數(shù)量,或者入庫文件處于打開狀態(tài)已經(jīng)達到一定時間,則關(guān)閉該入庫文件,進入步驟1-6 ;反之,進入步驟1-3。步驟1-6 移動入庫文件到入庫目錄供入庫。步驟1-7 在Mysql中登記該入庫文件所包含的審計記錄ID范圍及入庫文件名的對應(yīng)關(guān)系。負責對入庫文件入庫功能的引擎,具體處理流程如圖2所示,包括如下步驟步驟2-1 監(jiān)控入庫目錄。掃描步驟1-6中的入庫目錄中是否有入庫文件存在。步驟2-2 判斷是否有入庫文件等待入庫。如果入庫目錄中存在文件,則進入步驟2-3 ;反之,進入步驟2-1。步驟2-3 把入庫文件中的審計記錄存入Mysql,并刪除相應(yīng)入庫文件。
把入庫目錄中的入庫文件入庫到Mysql數(shù)據(jù)庫中,并刪除相應(yīng)入庫文件,完成后進入步驟2-1。負責創(chuàng)建全文索引功能的引擎,具體處理流程如圖3所示,包括如下步驟步驟3-1 使用Sphinx建立和維護各級索引文件,啟動全文索引檢索服務(wù)。為增強建立索引的實時性和高效性,全文索引文件將分成當前索引文件、當前小時索引文件、當天索引文件、包含日期的天索引文件。步驟3-2 判斷離上次當前小時索引合并到當天索引的動作是否達到一小時。如果當前時間離上次當前小時索引合并到當天索引的動作已經(jīng)達到或超過一小時,則進入步驟3-3 ;反之,進入步驟3-4。步驟3-3 合并當前小時索引到當天索引,并初始化當前小時索引。步驟3-4:判斷和上次當天索引演變?yōu)槿掌谔焖饕膭幼魇欠袷峭惶?。如果當前系統(tǒng)日期和上次當天索引演變?yōu)槿掌谔焖饕膭幼鞑皇峭惶?,則進入步驟3-5 ;反之,進入步驟3-7。步驟3-5 把當天索引改名為包含昨天日期的日期天索引文件,并初始化當天索引。步驟3-6 重啟全文索引檢索服務(wù),開放當前小時索引、當天索引及所有日期天索引的檢索服務(wù)。重啟全文索引檢索服務(wù)的目的是為了啟動步驟3-5中新產(chǎn)生的包含昨天日期的日期天索引服務(wù),及更新當天索引服務(wù)。步驟3-7 判斷是否有入庫文件登記信息。監(jiān)控步驟1-7中是否有入庫文件登記信息,如有,則進入步驟3-8 ;反之,進入步驟 3-2。步驟3-8 判斷登記信息中的入庫文件是否已經(jīng)刪除。如果步驟3-7中監(jiān)控到的登記信息所對應(yīng)的入庫文件已經(jīng)被刪除,根據(jù)步驟2-3, 該入庫文件已經(jīng)入庫完成,需要進一步建立全文索引,進入步驟3-9;反之,進入步驟3-2。步驟3-9 獲取入庫文件的審計記錄ID范圍。根據(jù)步驟3-8,進一步獲取步驟1-7中所記錄的已完成入庫的審計記錄的ID范圍, 該范圍內(nèi)的審計記錄需要進一步建立全文索引。步驟3-10 從Mysql中獲取ID范圍內(nèi)的審計記錄,并為各檢索字段添加前綴。步驟3-9中的ID范圍所對應(yīng)的審計記錄,是本次全文索引的數(shù)據(jù)源;審計記錄中可以被用來做檢索條件的字段,都將被建立全文索引,可根據(jù)這些字段來檢索獲取審計記錄ID ;除SQL語句外的其他檢索特性,包括但不限于登錄用戶名、客戶端IP、服務(wù)端IP,在獲取數(shù)據(jù)源數(shù)據(jù)時為每一個字段內(nèi)容加上特殊的前后綴,以極大減少該內(nèi)容作為一個單詞出現(xiàn)在其他字段內(nèi)容中的概率,以確保全文檢索準確性。步驟3-11 使用Sphinx按審計記錄ID對所有檢索字段建立當前索引。步驟3-12 合并當前索引到當前小時索引,并初始化當前索引。進入步驟3-2。負責執(zhí)行全文檢索功能的引擎(即全文索引引擎),具體處理流程如圖4所示,包括如下步驟步驟4-1 輸入檢索條件。
步驟4-2 為每個檢索特性增加自身特性的前綴。步驟4-3 根據(jù)選定時間范圍決定待檢索的全文索引檢索服務(wù)。步驟4-4:向當前小時索引、當天索引及需要的日期天索引發(fā)起檢索請求。步驟4-5 獲取符合條件的審計記錄ID集。步驟4-6 在Mysql中根據(jù)ID獲取審計記錄的完整信息。在本發(fā)明所述方法中,能夠為數(shù)據(jù)庫審計系統(tǒng)極大節(jié)省存儲空間,極大提升檢索效率。以上所述,僅為本發(fā)明較佳的具體實施方式
,但本發(fā)明的保護范圍并不局限于此, 任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換, 都應(yīng)涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應(yīng)該以權(quán)利要求的保護范圍為準。
權(quán)利要求
1.一種在大數(shù)據(jù)量存儲中快速檢索的方法,其特征在于,包括如下步驟A、采用關(guān)系型數(shù)據(jù)庫存儲審計記錄,每條記錄擁有唯一ID,并以慣常使用的檢索特性為字段;B、協(xié)議解析模塊獲取審計記錄后,對該審計記錄進行入庫,而不對該審計記錄對應(yīng)的 SQL語句進行語義分析所產(chǎn)生的細粒度信息進行入庫;C、使用獨立的全文索引引擎監(jiān)控審計記錄入庫情況,對新入庫的審計記錄建立全文索弓丨,并逐級建立和維護當前索引、單位小時索引、單位天索引;D、檢索時,以檢索特性為關(guān)鍵字使用全文索引進行檢索,獲取符合特性的審計記錄的主ID集,再通過主ID集獲取符合檢索特性的所有審計記錄的完整信息。
2.根據(jù)權(quán)利要求1所述的一種在大數(shù)據(jù)量存儲中快速檢索的方法,其特征在于,所述的步驟B進一步包括如下Bi、通過網(wǎng)絡(luò)采集模塊和協(xié)議解析模塊獲取審計記錄;B2、獲取的審計記錄被存入入庫文件,當該入庫文件包含的審計記錄數(shù)達到某一設(shè)定門限、或該入庫文件存在周期超過某一設(shè)定時間門限時,將把該入庫文件移動到可入庫目錄,并打開新的入庫文件用以記錄新的審計記錄;B3、移動入庫文件到可入庫目錄后,登記該入庫文件所包含的審計記錄ID范圍及入庫文件名的對應(yīng)關(guān)系;B4、使用關(guān)系型數(shù)據(jù)庫數(shù)據(jù)導入工具Mysqlimport對入庫文件進行入庫,入庫后刪除入庫文件。
3.根據(jù)權(quán)利要求2所述的一種在大數(shù)據(jù)量存儲中快速檢索的方法,其特征在于,執(zhí)行所述步驟C時,進一步包括C4、監(jiān)控步驟B3中的登記信息;C5、如果步驟C4中發(fā)現(xiàn)有新入庫文件產(chǎn)生,則檢查該入庫文件是否存在;C6、如果步驟C5中新入庫文件已被刪除,根據(jù)步驟B4,說明該入庫文件已經(jīng)入庫完成, 該入庫文件所對應(yīng)登記信息中ID范圍內(nèi)的審計記錄需要建立全文索引;C7、在當前索引文件中,為步驟C6中需要建立全文索引的審計記錄建立全文索引,并刪除步驟B3中對應(yīng)的登記信息;C8、把當前索引文件合并到當前小時索引文件中,并初始化當前索引文件。
4.根據(jù)權(quán)利要求3所述的一種在大數(shù)據(jù)量存儲中快速檢索的方法,其特征在于,所述的步驟C7進一步包括如下C71、步驟C6中需要建立全文索引的ID范圍所對應(yīng)的審計記錄,是本次全文索引的數(shù)據(jù)源;C72、審計記錄中可以被用來做檢索條件的字段,都將被建立全文索引,可根據(jù)這些字段來檢索獲取審計記錄ID ;C73、對于除SQL語句外的其他檢索特性,在獲取數(shù)據(jù)源數(shù)據(jù)時為每一個字段內(nèi)容加上特殊的前后綴,以極大減少該內(nèi)容作為一個單詞出現(xiàn)在其他字段內(nèi)容中的概率,確保全文檢索準確性;C74、根據(jù)步驟C73的規(guī)則,以步驟C6中ID范圍的審計記錄為數(shù)據(jù)源,在當前索引中建立全文索引;C75、刪除步驟B3中對應(yīng)的登記信息。
5.根據(jù)權(quán)利要求4所述的一種在大數(shù)據(jù)量存儲中快速檢索的方法,其特征在于,所述的步驟D進一步包括如下D1、為用戶輸入的每個檢索特性內(nèi)容附加上步驟C73所述與該特性一致的特殊的前后綴,形成檢索關(guān)鍵詞;D2、以步驟Dl中的檢索關(guān)鍵詞為搜索條件,在當前小時索引文件、當前天索引文件以及根據(jù)搜索的時間段范圍決定的包含日期的天索引文件中進行檢索,獲取審計記錄ID ;D3、根據(jù)審計記錄ID,在關(guān)系型數(shù)據(jù)庫中獲取符合條件的審計記錄的完整信息。
6.根據(jù)權(quán)利要求1所述的一種在大數(shù)據(jù)量存儲中快速檢索的方法,其特征在于,步驟 A中所述的檢索特性是在對數(shù)據(jù)進行檢索時慣常使用的數(shù)據(jù)特征值,是下述內(nèi)容中的至少一種登錄用戶名、客戶端IP、服務(wù)端IP、訪問時間、SQL語句、被訪問的數(shù)據(jù)庫名、被訪問的表、被訪問的字段或SQL操作類型。
7.根據(jù)權(quán)利要求1所述的一種在大數(shù)據(jù)量存儲中快速檢索的方法,其特征在于,所述的步驟C中,還進一步包括Cl、將全文索引文件分成當前索引文件、當前小時索引文件、當天索引文件、包含日期的天索引文件;C2、根據(jù)時間判斷是否需要把當前小時文件合并到當天索引中,如果離上一次該類合并動作超過一小時,則進行合并,并初始化當前小時索引文件;C3、根據(jù)時間判斷是否需要把當天索引文件演變?yōu)槿掌谔焖饕募绻x上一次合并動作的日期發(fā)生變更,則把當天索引文件變更為包含日期的天索引文件,并初始化當天索引文件。
全文摘要
本發(fā)明涉及數(shù)據(jù)庫審計技術(shù)領(lǐng)域,旨在提供一種在大數(shù)據(jù)量存儲中快速檢索的方法。該方法包括采用關(guān)系型數(shù)據(jù)庫存儲審計記錄,每條記錄擁有唯一ID,并以慣常使用的檢索特性為字段;議解析模塊獲取審計記錄并入庫;使用獨立的全文索引引擎監(jiān)控審計記錄入庫情況,對新入庫的審計記錄建立全文索引,并逐級建立和維護當前索引、單位小時索引、單位天索引;以檢索特性為關(guān)鍵字使用全文索引進行檢索,獲取符合特性的審計記錄的主ID集,再通過主ID集獲取符合檢索特性的所有審計記錄的完整信息。本發(fā)明在建立全文索引過程中無需為檢索特性增加檢索屬性,全文索引文件的開銷比審計記錄本身的存儲更小。極大提升數(shù)據(jù)庫審計系統(tǒng)的存儲能力和檢索性能。
文檔編號G06F17/30GK102184222SQ201110116710
公開日2011年9月14日 申請日期2011年5月5日 優(yōu)先權(quán)日2011年5月5日
發(fā)明者李凱, 楊永清, 范淵 申請人:杭州安恒信息技術(shù)有限公司