欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

數(shù)據(jù)文件的索引查找方法和系統(tǒng)的制作方法

文檔序號:8528176閱讀:295來源:國知局
數(shù)據(jù)文件的索引查找方法和系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)存儲技術(shù),特別是涉及一種數(shù)據(jù)文件的索引查找方法和系統(tǒng)。
【背景技術(shù)】
[0002]隨著互聯(lián)網(wǎng)應(yīng)用的發(fā)展,越來越多的業(yè)務(wù)系統(tǒng)存在著海量的日志數(shù)據(jù),這些海量的日志數(shù)據(jù)將被存儲于硬盤中,以備日后需要的時候查詢使用。
[0003]這些海量的日志數(shù)據(jù)具備了寫入量非常巨大,讀取頻率相對較低的特點,因此傳統(tǒng)的日志數(shù)據(jù)的存儲大都直接存入硬盤中,而不做任何索引,以避免由于索引的存在而帶來的寫入速度的犧牲,但是,在對寫入的日志數(shù)據(jù)進(jìn)行查找時由于數(shù)據(jù)量過大,通常需要數(shù)個小時才能查找到所需要的數(shù)據(jù),無法在保證高寫入速度的前提下提升查找速度。
[0004]而傳統(tǒng)的數(shù)據(jù)索引算法則是犧牲寫入速度而達(dá)到快速查找的目的,其中,傳統(tǒng)的數(shù)據(jù)索引算法包括了 B樹索引算法、倒排索引算法和哈希索引算法等,因此也無法在保證高寫入速度的前提下提升查找速度。

【發(fā)明內(nèi)容】

[0005]基于此,有必要提供一種能在高寫入速度的前提下提升查找速度的數(shù)據(jù)文件的索引查找方法。
[0006]此外,還有必要提供一種能在高寫入速度的前提下提升查找速度的數(shù)據(jù)文件的索引查找系統(tǒng)。
[0007]一種數(shù)據(jù)文件的索引查找方法,包括如下步驟:
[0008]獲取進(jìn)行數(shù)據(jù)文件查找的關(guān)鍵詞;
[0009]讀取索引文件,在所述索引文件中通過布隆過濾器定位所述關(guān)鍵詞所在的邏輯塊;
[0010]查找得到與所述定位的邏輯塊相關(guān)聯(lián)的數(shù)據(jù),并輸出所述查找得到的數(shù)據(jù)。
[0011]一種數(shù)據(jù)文件的索引查找系統(tǒng),包括:
[0012]關(guān)鍵詞獲取模塊,用于獲取進(jìn)行數(shù)據(jù)文件查找的關(guān)鍵詞;
[0013]邏輯塊定位模塊,用于讀取索引文件,在所述索引文件中通過布隆過濾器定位所述關(guān)鍵詞所在的邏輯塊;
[0014]查找模塊,用于查找得到與所述定位的邏輯塊相關(guān)聯(lián)的數(shù)據(jù),并輸出所述查找得到的數(shù)據(jù)。
[0015]上述數(shù)據(jù)文件的索引查找方法和系統(tǒng)進(jìn)行查找時,將獲取關(guān)鍵詞,讀取索引文件,以在索引文件中通過布隆過濾器定位關(guān)鍵詞所在的邏輯塊,此時與該邏輯塊相關(guān)聯(lián)的數(shù)據(jù)即為所需要的數(shù)據(jù),由于不需要對所有的數(shù)據(jù)進(jìn)行查找,因此大大提升了查找速度,并且布隆過濾器較為簡單,對于數(shù)據(jù)而言仍然是順序?qū)懭氲?,保證了高寫入速度。
【附圖說明】
[0016]圖1為一個實施例中數(shù)據(jù)文件的索引查找方法的流程圖;
[0017]圖2為圖1中讀取索引文件,在索引文件中通過布隆過濾器定位關(guān)鍵詞所在的邏輯塊的方法流程圖;
[0018]圖3為另一個實施例中數(shù)據(jù)文件的索引查找方法的流程圖;
[0019]圖4為一個實施例中數(shù)據(jù)文件的索引查找方法的應(yīng)用示意圖;
[0020]圖5為一個實施例中數(shù)據(jù)文件的索引查找系統(tǒng)的結(jié)構(gòu)示意圖;
[0021]圖6為圖5中邏輯定位模塊的結(jié)構(gòu)示意圖;
[0022]圖7為另一個實施例中數(shù)據(jù)文件的索引查找方法的結(jié)構(gòu)示意圖;
[0023]圖8為一個實施例中可運行前述數(shù)據(jù)文件的索引查找方法的服務(wù)器結(jié)構(gòu)示意圖。
【具體實施方式】
[0024]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0025]除非上下文另有特定清楚的描述,本發(fā)明中的元件和組件,數(shù)量既可以單個的形式存在,也可以多個的形式存在,本發(fā)明并不對此進(jìn)行限定。本發(fā)明中的步驟雖然用標(biāo)號進(jìn)行了排列,但并不用于限定步驟的先后次序,除非明確說明了步驟的次序或者某步驟的執(zhí)行需要其他步驟作為基礎(chǔ),否則步驟的相對次序是可以調(diào)整的??梢岳斫?,本文中所使用的術(shù)語“和/或”涉及且涵蓋相關(guān)聯(lián)的所列項目中的一者或一者以上的任何和所有可能的組口 ο
[0026]如圖1所示,在一個實施例中,一種數(shù)據(jù)文件的索引查找方法,包括如下步驟:
[0027]步驟S110,獲取進(jìn)行數(shù)據(jù)文件查找的關(guān)鍵詞。
[0028]本實施例中,進(jìn)行數(shù)據(jù)文件查找的關(guān)鍵詞將是根據(jù)當(dāng)前的數(shù)據(jù)查找需求而確定的,在這一查找過程中,數(shù)據(jù)文件即為存儲于后臺的大批量數(shù)據(jù)的統(tǒng)稱,用戶通過一定的關(guān)鍵詞對存儲于后臺的大批量數(shù)據(jù)進(jìn)行查找,以得到所需要的數(shù)據(jù)。
[0029]步驟S130,讀取索引文件,在索引文件中通過布隆過濾器定位關(guān)鍵詞所在的邏輯塊。
[0030]本實施例中,后臺將存儲索引文件和數(shù)據(jù)文件,索引文件將為數(shù)據(jù)文件的快速查找提供索引。具體的,將通過布隆過濾器判斷索引文件中是否存在與關(guān)鍵詞相符的邏輯塊,若為是,則說明與該邏輯塊相關(guān)聯(lián)的數(shù)據(jù)即為包含了關(guān)鍵詞的數(shù)據(jù),可作為查詢結(jié)果輸出。
[0031]其中,布隆過濾器為Bloomfilter,通過布隆過濾器實現(xiàn)索引文件中邏輯塊的遍歷,以定位所有與關(guān)鍵詞相符的邏輯塊。
[0032]步驟S150,查找得到與定位的邏輯塊相關(guān)聯(lián)的數(shù)據(jù),并輸出查找得到的數(shù)據(jù)。
[0033]本實施例中,每一邏輯塊都將與一定的數(shù)據(jù)相關(guān)聯(lián),以便于通過索引文件中的邏輯塊得到存儲于硬盤中的數(shù)據(jù)。
[0034]通過如上所述的方法,將使得根據(jù)關(guān)鍵詞所進(jìn)行的數(shù)據(jù)查找過程中不需要逐一對后臺存儲的大批量數(shù)據(jù)進(jìn)行逐一查找,只需要在索引文件中進(jìn)行邏輯塊的定位即可,實現(xiàn)了數(shù)據(jù)的快速查找,并且對于索引文件和數(shù)據(jù)文件的寫入而言,仍然得以保持其順序?qū)懭氲奶匦裕M(jìn)而保證了索引文件和數(shù)據(jù)文件的快速寫入,同時兼顧了優(yōu)異的寫入性能和查找性能。
[0035]如圖2所示,在一個實施例中,上述步驟S130的具體過程為:
[0036]步驟S131,讀取索引文件,以得到索引文件中包含的若干個邏輯塊。
[0037]本實施例中,讀取存儲的索引文件,將通過索引文件中包含的若干個邏輯塊為存儲的數(shù)據(jù)提供索引,索引文件中的每一邏輯塊均有與之相關(guān)聯(lián)的數(shù)據(jù)。
[0038]步驟S133,通過哈希函數(shù)對關(guān)鍵詞進(jìn)行計算以得到相應(yīng)的映射位置。
[0039]本實施例中,預(yù)先設(shè)置了若干個不同的哈希函數(shù),以分別對關(guān)鍵詞進(jìn)行哈希計算得到一組映射位置,即每一哈希函數(shù)均對關(guān)鍵詞進(jìn)行哈希計算得到一映射位置,該映射位置將為數(shù)據(jù)的查找提供路徑。
[0040]預(yù)先設(shè)置的哈希函數(shù)個數(shù)將與所允許的最大錯誤率有關(guān),在優(yōu)選的實施例中,若需要將錯誤率維持在千分之一以內(nèi),則需要設(shè)置10個哈希函數(shù)。
[0041]具體的,在通過哈希函數(shù)定位關(guān)鍵詞所在的邏輯塊必然存在著一定的錯誤率,即f=(l-p)k,其中,k為哈希函數(shù)個數(shù),P = e_Wm, kn < m, m為位表中的位數(shù)。
[0042]使位表中的一半為空,即元素值為零將有利于保持錯誤率最低,也就是說,當(dāng)P為1/2,即k=in2*(m/n)將為最優(yōu)結(jié)果。
[0043]步驟S135,判斷映射位置是否與邏輯塊中的位表相符,若為是,則進(jìn)入步驟S137,若
當(dāng)前第1頁1 2 3 4 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
汉川市| 香港 | 山西省| 伊吾县| 青川县| 宾阳县| 历史| 南城县| 万山特区| 康定县| 得荣县| 平陆县| 常州市| 铜山县| 德令哈市| 延边| 化州市| 蚌埠市| 衡水市| 嘉黎县| 喀喇沁旗| 汝南县| 得荣县| 永善县| 涞源县| 上虞市| 安徽省| 石棉县| 宁城县| 白河县| 隆德县| 丰城市| 福安市| 广东省| 黄浦区| 察雅县| 桂林市| 乐清市| 武汉市| 丹阳市| 乌鲁木齐市|