国产精品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>

      一種支持訪問控制的索引結(jié)構(gòu)及其檢索方法

      文檔序號:6586794閱讀:395來源:國知局
      專利名稱:一種支持訪問控制的索引結(jié)構(gòu)及其檢索方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及信息檢索和信息安全技術(shù)領(lǐng)域,具體涉及一種支持訪問控制的索引結(jié)
      構(gòu)及其檢索方法。
      背景技術(shù)
      隨著通信、計算機(jī)及信息技術(shù)的發(fā)展,在黨政機(jī)關(guān)、企事業(yè)單位、財政金融、國防軍
      工等相關(guān)部門中,信息的保有量和交流量都達(dá)到了前所未有的數(shù)量級。與此同時,很多商業(yè)
      組織和國家涉密機(jī)構(gòu)需要在網(wǎng)絡(luò)環(huán)境中存儲和處理大量涉密文檔。如何構(gòu)建一個安全的信
      息檢索系統(tǒng)來檢索這些涉密文檔并且保證相關(guān)文檔的安全已成為迫切的需求。 信息檢索系統(tǒng)的核心是其索引結(jié)構(gòu),目前主流的信息檢索系統(tǒng)使用的索引結(jié)構(gòu)一
      般為倒排索引。倒排索引由多個索引詞(term)組成的索引詞表以及相對應(yīng)的記錄信息表
      (posting list)所組成;索引詞表中包含多個域(指構(gòu)成文檔的單元,如標(biāo)題、正文、作者、
      摘要等),索引詞表中的索引詞可以屬于一個或者多個索引詞域,例如索引詞"中國"可能出
      現(xiàn)在標(biāo)題、正文等多個域中,而索引詞"科技"則只出現(xiàn)在正文域中。索引詞表中的每個索
      引詞均指向一個記錄信息表,此記錄信息表中記錄所有包含此索引詞的文檔信息,一般有
      文檔ID、詞頻信息以及索引詞在這篇文檔中的位置信息等。用戶在進(jìn)行檢索時通過檢索詞
      在索引詞表查詢匹配的索引詞,然后通過索引詞指向的記錄信息表獲得相應(yīng)的包含此檢索
      詞的文檔信息。 —般地,使用倒排索引的檢索系統(tǒng)進(jìn)行檢索包括以下步驟 (1)對所獲得的資源通過分詞等技術(shù)建立倒排索引文件,并將所建立的倒排索引文件置于服務(wù)器端。
      (2)當(dāng)用戶查詢資源時,搜索程序通過分詞技術(shù)將用戶查詢條件分解為索引項。
      (3)在已建立的索引文件中進(jìn)行搜索,并將搜索到的結(jié)果反饋給用戶。 此類檢索系統(tǒng)并沒有考慮到涉密文檔的安全訪問問題,在其中所有可以訪問檢索
      系統(tǒng)的用戶用同樣的查詢條件在檢索系統(tǒng)中能夠檢索到的結(jié)果是完全相同的。而在涉密系
      統(tǒng)中,這種檢索方式并不能很好地滿足系統(tǒng)要求,原因在于涉密系統(tǒng)中用戶是分級別的,在
      此類系統(tǒng)中不同級別的用戶使用相同檢索詞查詢得到的結(jié)果集按照用戶的級別進(jìn)行分級控制。 基于此原因,需要在涉密檢索系統(tǒng)中加入訪問控制來對用戶訪問到的文檔進(jìn)行限制。 一般地,加入了訪問控制的檢索系統(tǒng)檢索的步驟分兩步 (1)對登錄進(jìn)來的用戶進(jìn)行識別,判斷用戶的角色,給予用戶相應(yīng)的權(quán)限。
      (2)用戶進(jìn)行查詢,系統(tǒng)進(jìn)行檢索,并且按照用戶相應(yīng)的權(quán)限進(jìn)行返顯。 這種方法能夠?qū)崿F(xiàn)對不同級別用戶返回不同的結(jié)果集的要求。但是由于需要在搜
      索之前對用戶的身份信息進(jìn)行確認(rèn),比直接進(jìn)行檢索的方式在效率上低上很多;在返回結(jié)
      果集的時候也必須依據(jù)用戶角色控制返回的結(jié)果集,難以滿足用戶在檢索速度上的要求。
      中國發(fā)明專利申請ZL200710052025.6提出了一種基于訪問控制的安全搜索引擎系統(tǒng)。其
      3中的查詢檢索模塊在單點登錄模塊的控制之下,在認(rèn)證通過時,獲取用戶的訪問權(quán)限。查詢檢索模塊接受來自用戶的查詢關(guān)鍵字,對其進(jìn)行分詞并根據(jù)獲取的用戶權(quán)限對索引庫進(jìn)行檢索并接收返回結(jié)果。這種方式雖然滿足了基于訪問控制的安全搜索,但是效率和速度上難以滿足要求。

      發(fā)明內(nèi)容
      為了解決上述問題,本發(fā)明提出了一種支持訪問控制的索引結(jié)構(gòu),該索引結(jié)構(gòu)能夠?qū)崿F(xiàn)對涉密文檔的分級訪問控制,具有較高的效率和靈活性;本發(fā)明還提供了基于該索引結(jié)構(gòu)的檢索方法。 本發(fā)明提供的一種支持訪問控制的索引結(jié)構(gòu),包括索引詞表和記錄信息表,索引詞表中包括有標(biāo)題域和正文域,紀(jì)錄信息表中存儲有索引詞對應(yīng)的文檔ID、詞頻和位置信息,其特征在于所述索引詞表中還包含有訪問控制域和級別域,訪問控制域里的索引詞的格式為〈角色/用戶,文檔域,權(quán)限 >,用來表示某個角色或用戶對某個文檔域的搜索權(quán)限,訪問控制域索引詞后面所指向的紀(jì)錄信息表由第一位圖組成,第一位圖的位數(shù)等于文檔的數(shù)目,位的順序按照文檔ID順序存儲,位圖的每一位存儲的內(nèi)容表示該位置的文檔對應(yīng)的訪問控制域索引詞的搜索權(quán)限; 級別域中存儲n個索引詞,分別為數(shù)字0 n-l,表示具體的密級,n為用戶的級別的總數(shù),級別域中索引詞后面所帶的紀(jì)錄信息表由第二位圖組成,紀(jì)錄的是相應(yīng)級別用戶所能訪問到的所有文檔的信息,第二位圖的位數(shù)等于文檔的數(shù)目,位的順序按照文檔ID順序存儲,位圖的每一位存儲的內(nèi)容表示該位置的文檔對應(yīng)的訪問控制域索引詞的搜索權(quán)限。 所述的索引結(jié)構(gòu),其索引構(gòu)建過程如下
      第一步創(chuàng)建一個空的哈希表H;
      第二步對每個文檔,求出該文檔的全路徑;
      第三步如果哈希表H不為空,跳轉(zhuǎn)到第六步; 第四步將所有角色/用戶按照級別抽象成一個角色樹,角色樹的每個節(jié)點對應(yīng)一個角色或用戶,樹節(jié)點越高角色的級別就越高,該樹節(jié)點同時對應(yīng)一個文檔目錄;
      從角色樹的根節(jié)點目錄開始遍歷路徑中的每個目錄,對根節(jié)點目錄及根節(jié)點目錄下所有的子節(jié)點的目錄,求得角色對文檔默認(rèn)的訪問權(quán)限,并把結(jié)果插入到哈希表H中;
      第五步再次從根目錄開始遍歷路徑中的每個目錄,對根節(jié)點目錄及根節(jié)點目錄下所有的子節(jié)點的目錄,求得該目錄上額外定義的對文檔的搜索權(quán)限集,結(jié)果插入到哈希表H中; 第六步遍歷角色樹,求得用戶或角色在角色樹上定義到具體文檔上的搜索權(quán)限集,結(jié)果插入到哈希表H中; 第七步遍歷哈希表H中的每個值,將遍歷到的結(jié)果添加到索引的訪問控制域中;
      第八步結(jié)束。 所述的索引結(jié)構(gòu),其檢索過程如下 第1步檢索索引中的普通文本域求得初步的滿足用戶檢索要求的結(jié)果; 第2步檢索索引中的訪問控制域求得用戶對應(yīng)的權(quán)限以及用戶角色對應(yīng)的權(quán)限可以搜索的文檔; 第3步檢索索引中的級別域求得用戶的級別可以搜索的文檔; 第4步對以上的結(jié)果求交集以對用戶檢索的初步結(jié)果按照用戶權(quán)限進(jìn)行過濾;如
      果用戶有多個檢索詞檢索,還應(yīng)對求交集后的多個結(jié)果求并集來得到最后的結(jié)果;
      第5步結(jié)束。 本發(fā)明解決了涉密文檔檢索效率與訪問控制安全之間的矛盾,適用于高安全需求 領(lǐng)域及涉密單位的檢索要求。與現(xiàn)有技術(shù)相比,本發(fā)明具有以下特點 (1)本發(fā)明提出的支持訪問控制的索引結(jié)構(gòu)能夠滿足訪問控制的安全要求以及檢 索的效率要求通過在索引詞表中引入訪問控制域?qū)崿F(xiàn)系統(tǒng)訪問控制的安全要求,同時通 過統(tǒng)一的索引構(gòu)建及檢索方法實現(xiàn)檢索的效率要求。 (2)本發(fā)明提出的角色樹整合了角色、用戶以及文檔集,能夠滿足訪問控制的靈活 性要求通過樹形結(jié)構(gòu)來實現(xiàn)訪問控制的分級控制要求,在角色樹中可以靈活的對單篇文 檔或單個用戶進(jìn)行設(shè)置權(quán)限,實現(xiàn)了粒度更小的訪問控制,具有更好的靈活性。另外角色樹 可以方便的轉(zhuǎn)化為訪問控制域中的索引詞,可以方便的進(jìn)行轉(zhuǎn)換。 (3)本發(fā)明提出的訪問控制域存儲方法能夠滿足空間效率以及運算速度要求對 訪問控制域的紀(jì)錄信息表,采用位圖方式進(jìn)行存儲,空間上比原來的字節(jié)方式要高效很多, 而且在計算權(quán)限時采用位運算也可以大大提升計算訪問控制權(quán)限的效率。


      圖1是本發(fā)明的提供的索引結(jié)構(gòu)的示意圖; 圖2是角色樹示意圖; 圖3是訪問控制索引存儲示意圖; 圖4是建立索引流程圖; 圖5是檢索流程圖。
      具體實施例方式
      下面通過借助實例更加詳細(xì)地說明本發(fā)明,但以下實施例僅是說明性的,本發(fā)明 的保護(hù)范圍并不受這些實施例的限制。 如圖l所示,本發(fā)明所述的索引結(jié)構(gòu)包括索引詞表和記錄信息表兩個部分。索引 詞表中包含多個域,其中有一些普通的文本域,例如標(biāo)題域、正文域等,在這些域中存儲的 索引詞是用來滿足檢索要求的普通索引詞,比如"中國、科技"等。在檢索時如果用戶輸入 查詢詞"中國",通過在這個索引詞表中查找就可以得到匹配的索引詞,然后通過此索引詞 指向的紀(jì)錄信息表就可以找到包含關(guān)鍵詞"中國"的文檔。在這些普通的域所對應(yīng)的紀(jì)錄 信息表中一般存儲的是相應(yīng)的索引詞對應(yīng)的文檔ID、詞頻、位置信息,用來構(gòu)造相應(yīng)查詢的 結(jié)果集。 索引詞表中還包含兩個特殊類型的域訪問控制域和級別域。這兩個域用來實現(xiàn) 本發(fā)明中的訪問控制需求。 訪問控制域里的索引詞的一般格式為一個〈角色(用戶),文檔域,權(quán)限〉三元組, 用來表示某個角色或用戶對某個文檔域的搜索權(quán)限。
      在訪問控制系統(tǒng)中,對系統(tǒng)操作的各種權(quán)限不是直接授予具體的用戶,而是在用 戶集合與權(quán)限集合之間建立一個角色集合。每一種角色對應(yīng)一組相應(yīng)的權(quán)限。 一旦用戶被 分配了適當(dāng)?shù)慕巧螅撚脩艟蛽碛写私巧乃胁僮鳈?quán)限,一個用戶可以擁有多個角色。
      訪問控制域里的索引詞可以通過以下例子進(jìn)行解釋例如在索引詞'、#3#1"中a 對應(yīng)三元組中的角色或者是用戶;第一個數(shù)字3對應(yīng)文檔域,其中3表示文檔域的編號;最 后一個數(shù)字1表示權(quán)限,此數(shù)字只有0和1兩種,當(dāng)為0時表示沒有搜索權(quán)限,為1是表示 有搜索權(quán)限;索引詞中間的#號是為了方便處理而采用的間隔符號。此索引詞表示的具體 含義是a對文檔域3擁有檢索權(quán)限,在索引中此索引詞所指向的紀(jì)錄信息表存儲的是所有 符合此權(quán)限的文檔的信息。此外由于角色擁有對角色樹中該角色及該角色節(jié)點所有子節(jié)點 文檔目錄中所有文檔域的默認(rèn)檢索權(quán)限,所以角色的權(quán)限一般用"r^k"表示,其中,k表示 對應(yīng)的文檔域,省略了三元組中的權(quán)限信息。 訪問控制域索引詞后面所指向的紀(jì)錄信息表由第一位圖組成,位圖結(jié)構(gòu)如圖3所 示,具體描述為假設(shè)有n篇文檔,滿足訪問控制域索引詞權(quán)限的文檔共有M(0《M《n)篇 (即位圖中"l"的個數(shù)),這些文檔對應(yīng)的記錄信息表用位圖存儲。其中位圖的位數(shù)為文檔 的數(shù)目n。如圖3所示,在位圖中,位的順序按照文檔ID順序存儲,如位圖第一位表示第1 篇文檔,第L位表示第L篇文檔;位圖的每一位存儲的內(nèi)容為數(shù)字0或1,當(dāng)此位為0時表 示該位置的文檔不符合對應(yīng)的訪問控制域索引詞的搜索權(quán)限,為1表示符合相應(yīng)的搜索權(quán) 限。搜索權(quán)限集的集合運算通過位運算(與或運算)來計算結(jié)果。每當(dāng)記錄信息表添加一 個文檔時,相應(yīng)位設(shè)為O。 圖1中所示的級別域較簡單,如果用戶的級別總共有n級(n為正整數(shù),以下同), 則級別域中存儲n個索引詞,分別為數(shù)字0 n-l,具體的數(shù)字表示具體的密級,索引詞后面 所帶的紀(jì)錄信息表紀(jì)錄的是相應(yīng)級別用戶所能訪問到的所有文檔的信息,結(jié)構(gòu)也由位圖組 成,該位圖稱之為第二位圖。其中位圖中位的順序按照文檔ID順序存儲,如位圖第一位表 示第1篇文檔,第L位表示第L篇文檔;位圖的每一位存儲的內(nèi)容為數(shù)字O或1,當(dāng)此位為0 時表示該位置的文檔不符合對應(yīng)的訪問控制域索引詞的搜索權(quán)限,為1表示符合相應(yīng)的搜 索權(quán)限。搜索權(quán)限集的集合運算通過位運算(與或運算)來計算結(jié)果。
      圖2所示的是一種角色樹結(jié)構(gòu)。所有角色按照級別組成一個角色樹,樹節(jié)點越高 角色的級別就越高。在角色樹中,角色r。為級別最高的節(jié)點,處于角色樹的根節(jié)點,在角色 樹中的每個節(jié)點都有一個文檔目錄,此目錄下包含多個文檔(圖中用圓圈表示,例如角色^ 所對應(yīng)的文檔目錄中的文檔d)。樹節(jié)點的層次越高表示該文檔目錄的文檔級別越高。在 此角色樹中,根節(jié)點上的角色r。默認(rèn)擁有根節(jié)點以及根節(jié)點一下所有節(jié)點所對應(yīng)文檔目錄 的所有文檔域的檢索權(quán)限,樹中的每個節(jié)點默認(rèn)擁有該節(jié)點以及該節(jié)點所有子節(jié)點所對應(yīng) 文檔目錄的所有文檔域的檢索權(quán)限。除了這些默認(rèn)權(quán)限外,可以靈活地對某個具體的用戶 或?qū)δ称唧w的文檔賦予權(quán)限,擁有比較大的靈活性。角色樹中有兩個特殊角色Users和 Guest,所有合法用戶都屬于Users角色,所有未登錄的用戶都屬于Guest角色。所有內(nèi)部 文檔(Users角色可以訪問的文檔)都存放在P(Users) (P(Users)表示角色樹中Users節(jié) 點,下文中出現(xiàn)此類符號均按此解釋)目錄下,所有公開文檔(Guest角色可以訪問的文檔) 都存放在P (Guest)目錄下。 為了方便對相應(yīng)目錄文檔的搜索權(quán)限進(jìn)行表示,本發(fā)明把搜索權(quán)限表示為一個四元組〈U, 0, k, S〉,此四元組具體描述如下
      U為角色或用戶的ID; 0為搜索權(quán)限所對應(yīng)的文檔集合,此集合根據(jù)搜索權(quán)限所定義的目標(biāo)客體的不同 而不同,具體取值為如果搜索權(quán)限定義在單獨的文檔上則0為相應(yīng)的文檔;如果搜索權(quán)限 定義在目錄上,則0為此目錄下所有的文檔的集合,例如搜索權(quán)限定義在目錄P (r2) (P (r2) 表示角色r2所對應(yīng)的角色樹上的目錄),則0形式化表示為D (r2)。 k為文檔的域編號用正整數(shù)表示,如文檔集合中總共有m個域,則k的取值為0 m-1 ; s有兩種權(quán)限,分別用數(shù)字0和1表示。s為1時表示允許搜索,s為0時表示不 允許搜索; 〈U, 0, k, s>四元組具體表示用戶或角色U,對集合0中所有文檔的編號為k的域, 擁有搜索權(quán)限s。 文檔分為多個密級,令數(shù)字越大對應(yīng)的密級就越高。公開文檔任何人都可以訪問,
      密級大于等于l的文檔只有合法用戶才能訪問。對于公開文檔和內(nèi)部文檔,不用考慮定義
      的訪問權(quán)限。對于公開文檔,任何人都可以訪問。同樣的,任何合法用戶都可以訪問內(nèi)部文
      檔。對于訪問密級大于等于2的文檔,除了要檢查是否為合法的用戶外,還要檢查用戶的密
      級權(quán)限(用戶密級權(quán)限^文檔密級)以及定義的訪問權(quán)限。在定義的讀、寫、修改、刪除、搜
      索等訪問權(quán)限中,只有搜索權(quán)限需要存儲到索引中,后文中僅限于搜索權(quán)限。 默認(rèn)情況下,角色對本角色下的所有文檔的所有域有默認(rèn)的搜索權(quán)限。除了默認(rèn)
      權(quán)限以外,也可以對角色樹中任意目錄或文檔單獨設(shè)置額外的搜索權(quán)限。 如果目錄或文檔上定義的多個搜索權(quán)限之間存在沖突,則按如下規(guī)則處理(不同
      默認(rèn)權(quán)限所定義的目標(biāo)客體不同,它們之間不會出現(xiàn)沖突,因此只有下面兩種情況) (1)額外設(shè)置的權(quán)限之間存在沖突直接在文檔上設(shè)置的權(quán)限其優(yōu)先級要高于目錄
      上設(shè)置的權(quán)限;子目錄上設(shè)置的權(quán)限其優(yōu)先級要高于父目錄上設(shè)置的權(quán)限。
      (2)默認(rèn)權(quán)限和額外設(shè)置的權(quán)限之間存在沖突。 額外設(shè)置的權(quán)限其優(yōu)先級要高于目錄對應(yīng)角色的默認(rèn)權(quán)限,例如假設(shè)一篇文檔 d的路徑為"P(r2) \P(r4) \d"(此結(jié)構(gòu)表示文檔d為r2節(jié)點下的r4節(jié)點下的文檔目錄中的 文檔d),其中P(ig是P(r》的父目錄,在父目錄P(r》上額外定義了搜索權(quán)限〈iv D(r2), 3, 0> (表示角色r4對目錄P (r2)及其子目錄下的所有文件的編號為3的域沒有搜索權(quán)限), 子目錄P (r4)上有默認(rèn)權(quán)限集{〈r4, D (r4) , k, 1> | k = 0 m_l}(表示默認(rèn)情況下角色r4對
      目錄P(r4)及其子目錄下的所有文件的0 m-1域有搜索權(quán)限),綜合上面兩個權(quán)限定義, 角色1~4對文檔d(d G D(r2) n D(r4))的編號為3的域沒有搜索權(quán)限。 如果額外定義了某個用戶不能搜索某個文檔的某個域,則不管該用戶是否擁有能 搜索該文檔的該域的角色,該用戶都無權(quán)搜索這個文檔域。如果用戶擁有多個角色,且沒有 直接定義該用戶不能搜索某文檔的某個域,則只要其中一個角色擁有能搜索該文檔該域的 權(quán)限,該用戶就能搜索該文檔域。 如圖4所示的是本發(fā)明中構(gòu)建基于訪問控制地索引方法。訪問控制域的創(chuàng)建步驟 通過掃描角色樹,分別求得角色的默認(rèn)權(quán)限,額外定義權(quán)限以及定義在文檔上的特定權(quán)限, 來完成索引的創(chuàng)建。具體描述如下
      步驟401 :創(chuàng)建一個空的哈希表H(哈希表是一種數(shù)據(jù)結(jié)構(gòu),里面存儲的單位是鍵 值對,通過擁有唯一值的鍵來存儲和檢索這個鍵的值,在本算法中,得到的中間結(jié)果和最終 結(jié)果均用哈希表存儲); 步驟402 :對每個文檔,求出該文檔的全路徑;
      步驟403 :如果哈希表H不為空,跳轉(zhuǎn)到步驟406 ; 步驟404 :從角色樹的根節(jié)點目錄開始掃描路徑中的根節(jié)點目錄及其下的每個目 錄對每個目錄P (r》,往哈希表H中插入鍵值對〈"r^k", 1> ; 步驟405 :再次從根節(jié)點目錄開始掃描路徑中的根節(jié)點目錄及其下的每個目錄。 對每個目錄P(ri),求得該目錄上額外定義的搜索權(quán)限集,此權(quán)限集用前述定義的四元組 〈U,D(r》,f, s〉來表示。如果U是用戶或者s二 1,則將鍵值對〈"U#f", s〉加入到哈希表 H中(如果有相同的鍵存在,則覆蓋其值),如果U是角色且s = 0,則將此鍵值對〈"U#f ", s>從哈希表H中移除; 步驟406 :求得具體文檔上定義的搜索權(quán)限集。同樣,此權(quán)限集用前述定義的四元 組〈U, xv3r9jzsqg , f, s>來表示,其中U為某用戶或角色的ID, f為文檔某域的編號,對權(quán)限集中的 每個元素,s為對應(yīng)的搜索權(quán)限。如果U是用戶或者s = 1,則將此鍵值對〈"U#f", s〉加 入到哈希表H(如果有相同的鍵存在,則覆蓋其值),如果U是角色且s = 0,則將此鍵值對 〈"U#f ", s>從哈希表H中移除; 步驟407 :遍歷哈希表H中的每個鍵值對〈"U#k", s〉,對每個鍵值對添加索引的訪
      問控制域中; 步驟408:結(jié)束。 圖5所示的是本發(fā)明中檢索的流程圖,其流程為 步驟501 :檢索索引中的普通文本域求得初步的滿足用戶檢索要求的結(jié)果;
      步驟502 :檢索索引中的訪問控制域求得用戶對應(yīng)的權(quán)限以及用戶角色對應(yīng)的權(quán) 限可以搜索的文檔; 步驟503 :檢索索引中的級別域求得用戶的級別可以搜索的文檔;
      步驟504 :對以上的結(jié)果求交集以對用戶檢索的初步結(jié)果按照用戶權(quán)限進(jìn)行過 濾;如果用戶有多個檢索詞檢索,還應(yīng)對求交集后的多個結(jié)果求并集來得到最后的結(jié)果;
      步驟505:結(jié)束。 對此流程,我們以一個例子說明,設(shè)某用戶u擁有角色r。,巧,此用戶的密級權(quán)限為 3。如果該用戶有一個查詢請求,需要查詢倒排索引中f域中的索引詞即ple和g域的索引 詞data。具體按以下步驟來實現(xiàn) 首先在倒排索引f域中搜索即ple,得到的結(jié)果集表示為Sapple ;
      然后在倒排索引g域中搜索data,得到的結(jié)果集表示為Sdata ; 在訪問控制域中搜索鍵"uftfftl"(此鍵值表示用戶u對文檔f域有搜索權(quán)限)得 到的結(jié)果集形式化表示為Sfp搜索鍵"uftf糾"(此鍵值表示用戶u對文檔f域沒有搜索權(quán) 限)得到的結(jié)果集形式化表示為Sf2。對g域進(jìn)行類似操作分別得到結(jié)果集形式化表示為
      Sgi禾口 sg2; 在訪問控制域中搜索鍵"r。ftf"(此鍵值表示角色r。對其目錄下的文檔的f域有
      搜索權(quán)限)得到的結(jié)果集形式化表示為Sf3,搜索鍵"I^f"(此鍵值表示角色巧對其目錄下的文檔f域有搜索權(quán)限)得到的結(jié)果集形式化表示為Sf4 ;對g域進(jìn)行類似操作分別得到結(jié) 果集形式化表示為Sg3和Sg4 ; 在級別域中搜索密級為3的文檔集,得到的結(jié)果集表示為Ssl ;
      則原查詢的搜索結(jié)果集可以表示為以下表達(dá)式 (swle n ((sfl u sf3 u sf4-sf2) n ssl)) u (sdata n ((sgl u sg3 u sg4-sg3) n ssl)) 此表達(dá)式說明如下結(jié)果集S『Sf3, Sf4先進(jìn)行合并,然后在結(jié)果中去掉與結(jié)果集
      sf2重復(fù)的部分,最后與結(jié)果集sap*和ssl求交集,得到的結(jié)果(公式中形式化符號的意思
      前文已經(jīng)解釋)和公式第二部分合并,第二部分的解釋和第一部分完全類似。按照這個表 達(dá)式在倒排索引中操作即可求得滿足本例中用戶查詢要求并且滿足用戶訪問控制等級的 結(jié)果集。本例詳細(xì)講解了如何構(gòu)建一個基于訪問控制的查詢請求,對于一般的查詢要求也 可以根據(jù)用戶查詢請求及訪問控制等級構(gòu)造類似的查詢表達(dá)式返回結(jié)果集。 本發(fā)明不僅局限于上述具體實施方式
      ,本領(lǐng)域一般技術(shù)人員根據(jù)實施例和附圖公 開的內(nèi)容,可以采用其它多種具體實施方式
      實施本發(fā)明,因此,凡是采用本發(fā)明的設(shè)計結(jié)構(gòu) 和思路,做一些簡單的變化或更改的設(shè)計,都落入本發(fā)明保護(hù)的范圍。
      權(quán)利要求
      一種支持訪問控制的索引結(jié)構(gòu),包括索引詞表和記錄信息表,索引詞表中包括有標(biāo)題域和正文域,紀(jì)錄信息表中存儲有索引詞對應(yīng)的文檔ID、詞頻和位置信息,其特征在于所述索引詞表中還包含有訪問控制域和級別域,訪問控制域里的索引詞的格式為<角色/用戶,文檔域,權(quán)限>,用來表示某個角色或用戶對某個文檔域的搜索權(quán)限,訪問控制域索引詞后面所指向的紀(jì)錄信息表由第一位圖組成,第一位圖的位數(shù)等于文檔的數(shù)目,位的順序按照文檔ID順序存儲,位圖的每一位存儲的內(nèi)容表示該位置的文檔對應(yīng)的訪問控制域索引詞的搜索權(quán)限;級別域中存儲n個索引詞,分別為數(shù)字0~n-1,表示具體的密級,n為用戶的級別的總數(shù),級別域中索引詞后面所帶的紀(jì)錄信息表由第二位圖組成,紀(jì)錄的是相應(yīng)級別用戶所能訪問到的所有文檔的信息,第二位圖的位數(shù)等于文檔的數(shù)目,位的順序按照文檔ID順序存儲,位圖的每一位存儲的內(nèi)容表示該位置的文檔對應(yīng)的訪問控制域索引詞的搜索權(quán)限。
      2. 權(quán)利要求1所述的支持訪問控制的索引結(jié)構(gòu),其特征在于該索引結(jié)構(gòu)按照下述過程構(gòu)建第一步創(chuàng)建一個空的哈希表H ;第二步對每個文檔,求出該文檔的全路徑;第三步如果哈希表H不為空,跳轉(zhuǎn)到第六步;第四步將所有角色/用戶按照級別抽象成一個角色樹,角色樹的每個節(jié)點對應(yīng)一個角色或用戶,樹節(jié)點越高角色的級別就越高,該樹節(jié)點同時對應(yīng)一個文檔目錄;從角色樹的根節(jié)點目錄開始遍歷路徑中的每個目錄,對根節(jié)點目錄及根節(jié)點目錄下所有的子節(jié)點的目錄,求得角色對文檔默認(rèn)的訪問權(quán)限,并把結(jié)果插入到哈希表H中;第五步再次從根目錄開始遍歷路徑中的每個目錄,對根節(jié)點目錄及根節(jié)點目錄下所有的子節(jié)點的目錄,求得該目錄上額外定義的對文檔的搜索權(quán)限集,結(jié)果插入到哈希表H中;第六步遍歷角色樹,求得用戶或角色在角色樹上定義到具體文檔上的搜索權(quán)限集,結(jié)果插入到哈希表H中;第七步遍歷哈希表H中的每個值,將遍歷到的結(jié)果添加到索引的訪問控制域中;第八步結(jié)束。
      3. —種基于權(quán)利要求1所述索引結(jié)構(gòu)的檢索方法,其特征在于檢索過程按如下步驟進(jìn)行第1步檢索索引中的普通文本域求得初步的滿足用戶檢索要求的結(jié)果;第2步檢索索引中的訪問控制域求得用戶對應(yīng)的權(quán)限以及用戶角色對應(yīng)的權(quán)限可以搜索的文檔;第3步檢索索引中的級別域求得用戶的級別可以搜索的文檔;第4步對以上的結(jié)果求交集以對用戶檢索的初步結(jié)果按照用戶權(quán)限進(jìn)行過濾;如果用戶有多個檢索詞檢索,還應(yīng)對求交集后的多個結(jié)果求并集來得到最后的結(jié)果;第5步結(jié)束。
      全文摘要
      本發(fā)明公開了一種支持訪問控制的索引結(jié)構(gòu)及檢索方法,索引結(jié)構(gòu)包括索引詞表和記錄信息表。索引詞表中包含有訪問控制域和級別域,訪問控制域里的索引詞的格式為(角色/用戶,文檔域,權(quán)限),訪問控制域與級別域的索引詞后面所指向的紀(jì)錄信息表由位圖組成。本發(fā)明公開的索引構(gòu)建過程包括普通域索引和訪問控制域及級別域的構(gòu)建過程,訪問控制域的構(gòu)建過程通過掃描本發(fā)明描述的角色樹來實現(xiàn)。本發(fā)明公開的檢索過程包括普通域及訪問控制域和級別域的檢索,把普通域檢索到的結(jié)果與訪問控制域和級別域的結(jié)果求交集來實現(xiàn)對訪問控制信息的過濾。本發(fā)明解決了涉密文檔檢索效率與訪問控制安全之間的矛盾,適用于高安全需求領(lǐng)域及涉密單位的檢索要求。
      文檔編號G06F17/30GK101714172SQ200910272749
      公開日2010年5月26日 申請日期2009年11月13日 優(yōu)先權(quán)日2009年11月13日
      發(fā)明者盧正鼎, 吳煒, 文坤梅, 李成洲, 李瑞軒, 湯學(xué)明, 胡和平, 辜希武, 雷小強(qiáng), 黃亮, 黃保華 申請人:華中科技大學(xué)
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1