国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種基于對數(shù)歸并的dns索引創(chuàng)建方法及查詢方法

      文檔序號(hào):10553047閱讀:238來源:國知局
      一種基于對數(shù)歸并的dns索引創(chuàng)建方法及查詢方法
      【專利摘要】本發(fā)明公開了一種基于對數(shù)歸并的DNS索引創(chuàng)建方法及查詢方法。本方法為:1)將每一DNS日志生成一文檔對象,然后將各文檔對象放入DNS的文檔緩存中;當(dāng)DNS的文檔緩存耗盡時(shí),對文檔緩存中的每一文檔對象進(jìn)行詞語切分,得到一解釋文檔對象;每一解釋文檔對象對應(yīng)一索引表,該索引表包括多個(gè)索引字段,其中至少有一個(gè)索引字段作為文檔ID唯一標(biāo)識(shí)對應(yīng)文檔對象;2)在索引緩存中對索引表建立倒排索引,當(dāng)索引緩存耗盡時(shí)將索引緩存中的倒排索引寫入磁盤倒排索引數(shù)據(jù)庫;3)對倒排索引數(shù)據(jù)庫中的倒排索引進(jìn)行對數(shù)歸并。本發(fā)明大大提高了從海量信息中查找特定信息的效率,滿足信息檢索的快速響應(yīng)請求。
      【專利說明】
      一種基于對數(shù)歸并的DNS索引創(chuàng)建方法及查詢方法
      技術(shù)領(lǐng)域
      [0001] 本發(fā)明涉及一種基于對數(shù)歸并的DNS索引創(chuàng)建方法及權(quán)威日志查詢方法,屬于計(jì) 算機(jī)網(wǎng)絡(luò)技術(shù)領(lǐng)域。
      【背景技術(shù)】
      [0002] 域名系統(tǒng)(DNS)實(shí)現(xiàn)了 IP地址和域名之間的轉(zhuǎn)換,是互聯(lián)網(wǎng)最關(guān)鍵的基礎(chǔ)設(shè)施和 其他豐富應(yīng)用的基礎(chǔ),幾乎所有基于IP網(wǎng)絡(luò)的信息通信服務(wù)都要通過域名訪問來定位相應(yīng) 的網(wǎng)絡(luò)資源。CNNIC負(fù)責(zé)的域名服務(wù)器節(jié)點(diǎn)每天接收來自全世界各地的客戶端發(fā)來的CN域 名查詢請求并進(jìn)行解析,2014年日均查詢總量約為40億次,峰值達(dá)到160萬次每秒,CN DNS 權(quán)威日志中包含了時(shí)間、來源遞歸IP、目標(biāo)域名、狀態(tài)等信息。
      [0003] 現(xiàn)有的DNS日志查詢主要基于hadoop集群實(shí)時(shí)處理,hadoop集群執(zhí)行查詢指令要 翻譯成MapReduce語言,整個(gè)查詢過程較慢,查詢效率低,不能滿足業(yè)務(wù)需求。其它的開源搜 索引擎在索引生成時(shí)間、索引大小和檢索時(shí)間消耗等方面也不能較好地滿足實(shí)際業(yè)務(wù)需 求。
      [0004] 本發(fā)明提出基于對數(shù)歸并的DNS日志索引方法,提高了從海量信息中查找特定信 息的效率,滿足信息檢索的快速響應(yīng)請求。

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

      [0005] 為了滿足從海量DNS日志中快速查找特定信息的業(yè)務(wù)需求,本發(fā)明提出了一種新 的索引創(chuàng)建方法及查詢方法,具體包括索引流程、索引結(jié)構(gòu)與索引算法:
      [0006] 1)構(gòu)建一種新的索引流程和索引結(jié)構(gòu)。
      [0007] 2)實(shí)現(xiàn)一種基于對數(shù)歸并的DNS索引算法。
      [0008] 本發(fā)明的技術(shù)方案為:
      [0009] -種基于對數(shù)歸并的DNS索引創(chuàng)建方法,其步驟為:
      [0010] 1)將每一DNS日志生成一文檔對象,然后將各文檔對象放入DNS的文檔緩存中;當(dāng) DNS的文檔緩存耗盡時(shí),對文檔緩存中的每一文檔對象進(jìn)行詞語切分,得到一解釋文檔對 象;每一解釋文檔對象對應(yīng)一索引表,該索引表包括多個(gè)索引字段,其中至少有一個(gè)索引字 段作為文檔ID唯一標(biāo)識(shí)對應(yīng)文檔對象;
      [0011] 2)在索引緩存中對索引表建立倒排索引,當(dāng)索引緩存耗盡時(shí)將索引緩存中的倒排 索引寫入磁盤倒排索引數(shù)據(jù)庫;
      [0012] 3)對倒排索引數(shù)據(jù)庫中的倒排索引進(jìn)行對數(shù)歸并。
      [0013] 進(jìn)一步的,所述倒排索引數(shù)據(jù)庫包括索引的統(tǒng)計(jì)信息、索引桶統(tǒng)計(jì)信息、詞典、倒 排索引、索引表信息。
      [0014] 進(jìn)一步的,所述索引統(tǒng)計(jì)信息包括索引版本、最后修改時(shí)間、文檔對象總數(shù)、索引 桶個(gè)數(shù)。
      [0015] 進(jìn)一步的,對于每個(gè)索引桶,用一個(gè)索引桶描述符描述,包含索引桶的名稱、文檔 對象編號(hào)基數(shù)和索引桶容量。
      [0016] 進(jìn)一步的,所述索引桶統(tǒng)計(jì)信息包含索引表的各個(gè)索引字段;詞典中存儲(chǔ)索引表 中出現(xiàn)的詞語信息。
      [0017] 進(jìn)一步的,所述索引字段包括索引屬性、詞總數(shù)、索引字段在詞典數(shù)據(jù)結(jié)構(gòu)中的偏 移量以及倒排索引數(shù)據(jù)長度。
      [0018] 進(jìn)一步的,對倒排索引數(shù)據(jù)庫中的倒排索引進(jìn)行對數(shù)歸并的方法為:首先創(chuàng)建一 個(gè)隊(duì)列Q、隊(duì)列W;然后將待歸并的倒排索引",。,..."放進(jìn)隊(duì)列Q中;其中,第一次寫入磁盤 倒排索引數(shù)據(jù)庫的倒排索引稱為第〇代子索引,即i〇;ik為第k代子索引;然后將隊(duì)列Q中的子 索引依次彈出放入隊(duì)列W中,如果隊(duì)列W中有兩個(gè)同一代的子索引,則將這兩個(gè)子索引進(jìn)行 歸并為一個(gè)上一代索引并刪除這兩個(gè)子索引,直至隊(duì)列W中不存在兩個(gè)同一代的子索引。
      [0019] 進(jìn)一步的,當(dāng)隊(duì)列W中有兩個(gè)第i代的子索引以及一由另外兩個(gè)第i代子索引歸并 后的第i+1代子索引,則把這兩個(gè)第i代子索引與該第i+1代子索引一起合并成一新的第i+2 代子索引。
      [0020] 進(jìn)一步的,采用兩個(gè)文件存儲(chǔ)所述索引表;其中,文件a存儲(chǔ)索引表的索引字段;文 件b存儲(chǔ)索引字段在文件a中的偏移量;讀取索引數(shù)據(jù)時(shí),根據(jù)索引字段在文件b中定位讀取 偏移量,再根據(jù)偏移量直接在文件a中讀取索引字段。
      [0021 ] -種DNS查詢的方法,其特征在于,當(dāng)域名服務(wù)器收到一DNS日志查詢請求時(shí),域名 服務(wù)器根據(jù)該索引查找與該DNS日志查詢請求匹配的DNS日志。
      [0022]與現(xiàn)有技術(shù)相比,本發(fā)明的積極效果為:
      [0023]本文(本發(fā)明的系統(tǒng)簡稱DNSE)選取10種常見的開源搜索引擎進(jìn)行實(shí)驗(yàn)對比,數(shù)據(jù) 米
      [0024] 用2.7G TREC語料庫,對比數(shù)據(jù)如下:
      [0025]表1搜索引擎比較
      [0028]表1:基于索引時(shí)間、索引文件的大小和平均查詢時(shí)間,對DNSE和開源搜索引擎做 比較(基于2.7GB的TREC語料庫)。
      [0029] 實(shí)驗(yàn)結(jié)果如圖3、4、5所示,通過實(shí)驗(yàn)結(jié)果可以表明,本文發(fā)明索引時(shí)間占用最小, 索引大小最小,平均查詢時(shí)間排名第2位,大大提高了從海量信息中查找特定信息的效率, 在存儲(chǔ)和檢索效率等方面較好地綜合滿足了實(shí)際業(yè)務(wù)需求。
      [0030] 本發(fā)明大大提高了從海量信息中查找特定信息的效率,滿足信息檢索的快速響應(yīng) 請求。
      【附圖說明】
      [0031] 圖1為本發(fā)明的索引流程圖;
      [0032] 圖2為本發(fā)明的對數(shù)歸并索引合并過程圖;
      [0033] 圖3為索引時(shí)間占用對比圖;
      [0034] 圖4為索引文件大小對比圖;
      [0035] 圖5為查詢時(shí)間對比圖。
      【具體實(shí)施方式】
      [0036] 下面結(jié)合附圖對本發(fā)明的具體實(shí)施方法進(jìn)行進(jìn)一步詳細(xì)描述。
      [0037] 索引就是把原始的數(shù)據(jù)處理成一個(gè)有利于高效檢索的數(shù)據(jù)形式,索引是信息檢索 最為核心的概念,本節(jié)將詳細(xì)介紹索引流程、結(jié)構(gòu)與算法。
      [0038] 1)索引流程
      [0039] DNS日志首先經(jīng)過文檔集處理后形成多個(gè)文檔對象,這些文檔先放入文檔緩存中, 在文檔緩存耗盡時(shí)經(jīng)過格式解析形成已解釋文檔對象,即文檔緩存耗盡時(shí)對文檔緩存中的 這些文檔進(jìn)行詞語切分,詞語切分后便于建立索引,根據(jù)關(guān)鍵詞進(jìn)行檢索。預(yù)處理完畢的每 一文檔對象對應(yīng)一索引表,索引表包括多個(gè)索引字段,其中至少有一個(gè)索引表字段可以唯 一標(biāo)識(shí)文檔ID。針對索引表建立倒排索引,倒排索引一般先存儲(chǔ)在索引緩存中,當(dāng)索引緩存 耗盡時(shí)通過索引存儲(chǔ)系統(tǒng)寫入磁盤倒排索引數(shù)據(jù)庫,第一次寫入磁盤倒排索引數(shù)據(jù)庫的索 引稱為第〇代子索引;對一系列子索引ik進(jìn)行對數(shù)歸并完成本發(fā)明的索引創(chuàng)建。本發(fā)明整體 的索引流程圖如圖1所示。
      [0040] 2)索引結(jié)構(gòu)
      [0041] 索引數(shù)據(jù)庫主要包含5部分?jǐn)?shù)據(jù)結(jié)構(gòu)。
      [0042] 2.1)索引的統(tǒng)計(jì)信息
      [0043] 索引統(tǒng)計(jì)信息包含索引版本(即第幾代索引),最后修改時(shí)間,文檔對象總數(shù),索引 桶個(gè)數(shù)等信息。對于每個(gè)索引桶,用一個(gè)索引桶描述符描述,包含索引桶的名稱,文檔對象 編號(hào)基數(shù)(即文檔起始編號(hào)),索引桶容量(文檔數(shù))等數(shù)據(jù);本發(fā)明中將結(jié)構(gòu)相似的索引表 放入同一索引桶中。
      [0044] 2.2)索引桶統(tǒng)計(jì)信息
      [0045] 包含索引表的各個(gè)索引字段的信息,包括索引屬性,詞總數(shù),該索引字段在詞典數(shù) 據(jù)結(jié)構(gòu)中的偏移量,倒排索引數(shù)據(jù)長度等信息。
      [0046] 2.3)詞典
      [0047]詞典數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)索引表中出現(xiàn)的詞語信息,索引表典型的結(jié)構(gòu)包含詞ID,詞頻 以及在倒排索引數(shù)據(jù)結(jié)構(gòu)中的偏移。
      [0048] 2.4)倒排索引
      [0049] 倒排索引存儲(chǔ)每個(gè)詞的位置列表信息。
      [0050] 2.5)索引表表信息
      [0051] 每個(gè)文檔對象的索引表必須至少包含一個(gè)用于唯一標(biāo)識(shí)該文檔對象的索引字段。 為了加快索引數(shù)據(jù)的快速定位和讀取,采用兩個(gè)文件存儲(chǔ),第一個(gè)文件存儲(chǔ)索引字段在第 二個(gè)文件中的偏移量,每個(gè)文檔一項(xiàng);第二個(gè)文件存儲(chǔ)文檔的索引字段;讀取時(shí)可以根據(jù)文 檔ID(本發(fā)明的索引字段)直接在第一個(gè)文件中定位讀取偏移量,再根據(jù)偏移量直接在第二 個(gè)文件中讀取索引字段。
      [0052] 3)對數(shù)歸并索引
      [0053] 本發(fā)明采用對數(shù)歸并算法,該算法支持在線和離線索引,同時(shí)也支持索引更新(文 檔添加和刪除)。對數(shù)歸并算法引入了索引代(index generation)的概念來決定什么時(shí)候 合并子索引。算法思想如下:
      [0054] 1.歸并操作必須是由內(nèi)存子索引觸發(fā)的,當(dāng)有兩個(gè)內(nèi)存子索引到來時(shí)才觸發(fā)歸并 操作。
      [0055] 2.要對兩個(gè)內(nèi)存直接產(chǎn)生的索引進(jìn)行歸并,并把它之前的不同代的歸并過的索引 加上這兩個(gè)內(nèi)存子索引一起歸并,如果歸并的最高代為m,歸并后的索引為m+1。
      [0056] 2.1對數(shù)歸并索引算法描述: 輸入:一系列子索引/ =丨; 輸出:一個(gè)合并的新的子索引; 方法: 創(chuàng)建一個(gè)隊(duì)列Q并初始化; 創(chuàng)建一個(gè)隊(duì)列W并初始化; 創(chuàng)建一個(gè)空的磁盤子索引; 把待歸并的內(nèi)存子索引',纟,...^放進(jìn)隊(duì)列Q中; while (QW;、:) ! 把:Q中的子索引?,( £/,)彈出隊(duì)列; 把彈出的子索引G 0 e )放到隊(duì)列W中去; if (隊(duì)列W中有兩個(gè)第0代的子索引)
      [0057] 觸發(fā)歸并操作; if (這11個(gè)子索引的上一級索引沒有索引節(jié)點(diǎn)) { 合并這兩個(gè)子索引為新的單個(gè)索引放入W中; else 合并這兩個(gè)第〇代索引以及高層的索引節(jié)點(diǎn); 從W中清除這兩個(gè)內(nèi)存子索引:; 合并后的索引所在代=最高層素引所在代+1; } rrturr"_-
      [0058] 2.2對數(shù)歸并索引過程
      [0059] 對數(shù)歸歸并過程如圖2所示,虛線表示的索引節(jié)點(diǎn)不是真正產(chǎn)生的索引,它與對數(shù) 歸并不同,在這里標(biāo)出來只是方便對比,省去了兩個(gè)子索引歸并成虛線索引節(jié)點(diǎn)的過程,節(jié) 省了歸并時(shí)間。對數(shù)歸并中不在同一代上的索引文件也可以進(jìn)行歸并,它的改進(jìn)思想在于: 當(dāng)兩個(gè)內(nèi)存子索引需要合并時(shí),如果這兩個(gè)子索引合并后,有另一個(gè)歸并的索引與它在同 一代,則把這兩個(gè)子索引與它們上一代的歸并索引一起合并成新索引,而不用等兩個(gè)子索 引合并后再與它同代的索引進(jìn)行合并。
      【主權(quán)項(xiàng)】
      1. 一種基于對數(shù)歸并的DNS索引創(chuàng)建方法,其步驟為: 1) 將每一DNS日志生成一文檔對象,然后將各文檔對象放入DNS的文檔緩存中;當(dāng)DNS的 文檔緩存耗盡時(shí),對文檔緩存中的每一文檔對象進(jìn)行詞語切分,得到一解釋文檔對象;每一 解釋文檔對象對應(yīng)一索引表,該索引表包括多個(gè)索引字段,其中至少有一個(gè)索引字段作為 文檔ID唯一標(biāo)識(shí)對應(yīng)文檔對象; 2) 在索引緩存中對索引表建立倒排索引,當(dāng)索引緩存耗盡時(shí)將索引緩存中的倒排索引 寫入磁盤倒排索引數(shù)據(jù)庫; 3) 對倒排索引數(shù)據(jù)庫中的倒排索引進(jìn)行對數(shù)歸并。2. 如權(quán)利要求1所述的方法,其特征在于,所述倒排索引數(shù)據(jù)庫包括索引的統(tǒng)計(jì)信息、 索引桶統(tǒng)計(jì)信息、詞典、倒排索引、索引表信息。3. 如權(quán)利要求2所述的方法,其特征在于,所述索引統(tǒng)計(jì)信息包括索引版本、最后修改 時(shí)間、文檔對象總數(shù)、索引桶個(gè)數(shù)。4. 如權(quán)利要求3所述的方法,其特征在于,對于每個(gè)索引桶,用一個(gè)索引桶描述符描述, 包含索引桶的名稱、文檔對象編號(hào)基數(shù)和索引桶容量。5. 如權(quán)利要求2所述的方法,其特征在于,所述索引桶統(tǒng)計(jì)信息包含索引表的各個(gè)索引 字段;詞典中存儲(chǔ)索引表中出現(xiàn)的詞語信息。6. 如權(quán)利要求2~5任一所述的方法,其特征在于,所述索引字段包括索引屬性、詞總 數(shù)、索引字段在詞典數(shù)據(jù)結(jié)構(gòu)中的偏移量以及倒排索引數(shù)據(jù)長度。7. 如權(quán)利要求1所述的方法,其特征在于,對倒排索引數(shù)據(jù)庫中的倒排索引進(jìn)行對數(shù)歸 并的方法為:首先創(chuàng)建一個(gè)隊(duì)列Q、隊(duì)列W;然后將待歸并的倒排索引放進(jìn)隊(duì)列Q 中;其中,第一次寫入磁盤倒排索引數(shù)據(jù)庫的倒排索引稱為第〇代子索引,即i〇; ik為第k代子 索弓丨;然后將隊(duì)列Q中的子索引依次彈出放入隊(duì)列W中,如果隊(duì)列W中有兩個(gè)同一代的子索 弓丨,則將這兩個(gè)子索引進(jìn)行歸并為一個(gè)上一代索引并刪除這兩個(gè)子索引,直至隊(duì)列W中不存 在兩個(gè)同一代的子索引。8. 如權(quán)利要求7所述的方法,其特征在于,當(dāng)隊(duì)列W中有兩個(gè)第i代的子索引以及一由另 外兩個(gè)第i代子索引歸并后的第i+Ι代子索引,則把這兩個(gè)第i代子索引與該第i+Ι代子索引 一起合并成一新的第i+2代子索引。9. 如權(quán)利要求1所述的方法,其特征在于,采用兩個(gè)文件存儲(chǔ)所述索引表;其中,文件a 存儲(chǔ)索引表的索引字段;文件b存儲(chǔ)索引字段在文件a中的偏移量;讀取索引數(shù)據(jù)時(shí),根據(jù)索 引字段在文件b中定位讀取偏移量,再根據(jù)偏移量直接在文件a中讀取索引字段。10. -種基于權(quán)利要求1所述基于對數(shù)歸并的DNS索引創(chuàng)建方法創(chuàng)建的索引進(jìn)行DNS查 詢的方法,其特征在于,當(dāng)域名服務(wù)器收到一DNS日志查詢請求時(shí),域名服務(wù)器根據(jù)該索引 查找與該DNS日志查詢請求匹配的DNS日志。
      【文檔編號(hào)】G06F17/30GK105912696SQ201610262289
      【公開日】2016年8月31日
      【申請日】2016年4月25日
      【發(fā)明人】李曉東, 李洪濤, 劉繼勇, 李建明, 王利軍, 楊學(xué)
      【申請人】中國互聯(lián)網(wǎng)絡(luò)信息中心
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
      1