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

      一種目錄服務(wù)數(shù)據(jù)檢索方法及系統(tǒng)的制作方法

      文檔序號:6442132閱讀:278來源:國知局

      專利名稱::一種目錄服務(wù)數(shù)據(jù)檢索方法及系統(tǒng)的制作方法
      技術(shù)領(lǐng)域
      :本發(fā)明涉及目錄服務(wù)
      技術(shù)領(lǐng)域
      ,特別涉及一種目錄服務(wù)數(shù)據(jù)檢索方法及系統(tǒng)。技術(shù)背景隨著計(jì)算機(jī)網(wǎng)絡(luò)的日益發(fā)展,特別是hternet的發(fā)展,網(wǎng)絡(luò)上的資源日益增多,為了能統(tǒng)一管理這些資源,開始把目錄服務(wù)技術(shù)用于對網(wǎng)絡(luò)上各種資源、用戶、設(shè)備、應(yīng)用軟件等地管理。目錄服務(wù)已成為當(dāng)今網(wǎng)絡(luò)上的一種基礎(chǔ)平臺(tái)軟件,并且逐漸成為網(wǎng)絡(luò)的核心。而LDAP(LightDirectoryAccessProtocol,輕量級訪問協(xié)議)作為一種目錄信息的輕量級訪問協(xié)議,提供了簡易、高效、可定制的目錄服務(wù),其高效的數(shù)據(jù)讀取性,廣泛應(yīng)用于用戶身份認(rèn)證管理、數(shù)字證書服務(wù)等領(lǐng)域。目前目錄的存儲(chǔ)方式主要分為兩種文本方式和數(shù)據(jù)庫方式。文本存儲(chǔ)方式使用LDIF(LightDirectoryInterchangeFormat,輕量級目錄交換格式)標(biāo)準(zhǔn)格式的文件來存儲(chǔ)目錄信息,將每個(gè)條目數(shù)據(jù)封裝成LDIF格式存儲(chǔ)在以DN(DistinguishedName,區(qū)別名)命名的文件中。但這種單一的存儲(chǔ)格式很難滿足條目屬性值得快速過濾,極大地影響了查詢性能。數(shù)據(jù)庫方式的存儲(chǔ)主要采用嵌入式數(shù)據(jù)庫、關(guān)系數(shù)據(jù)庫與xml(ExtensibleMarkupLanguage,可擴(kuò)展標(biāo)記語言)數(shù)據(jù)庫三種。該存儲(chǔ)方式雖然能夠降低數(shù)據(jù)存儲(chǔ)管理過程中目錄服務(wù)器與數(shù)據(jù)庫之間的系統(tǒng)調(diào)用開銷。但是隨著應(yīng)用系統(tǒng)處理的數(shù)據(jù)量越來越大,尤其是達(dá)到海量數(shù)據(jù)時(shí),數(shù)據(jù)庫訪問的響應(yīng)速度會(huì)受到很大影響。
      發(fā)明內(nèi)容本發(fā)明所要解決的技術(shù)問題是提供一種目錄服務(wù)數(shù)據(jù)檢索方法,用以解決現(xiàn)有技術(shù)中當(dāng)目錄服務(wù)器在處理海量數(shù)據(jù)時(shí)檢索性能降低的問題。為解決上述問題,本發(fā)明公開了一種目錄服務(wù)數(shù)據(jù)檢索方法,該方法應(yīng)用于目錄服務(wù)器,所述目錄服務(wù)器中設(shè)置有內(nèi)嵌式數(shù)據(jù)庫,所述內(nèi)嵌式數(shù)據(jù)庫為二叉平衡樹結(jié)構(gòu),所述方法包括獲取目錄服務(wù)數(shù)據(jù),將所述目錄服務(wù)數(shù)據(jù)封裝為數(shù)據(jù)節(jié)點(diǎn),所述數(shù)據(jù)節(jié)點(diǎn)包括目錄服務(wù)數(shù)據(jù)關(guān)鍵值,將所述數(shù)據(jù)節(jié)點(diǎn)插入所述內(nèi)嵌式數(shù)據(jù)庫二叉平衡樹結(jié)構(gòu)中,作為所述二叉平衡樹的一個(gè)樹節(jié)點(diǎn)進(jìn)行存儲(chǔ);調(diào)整所述內(nèi)嵌式數(shù)據(jù)庫二叉平衡樹的結(jié)構(gòu),使其處于平衡狀態(tài);當(dāng)用戶需要對目錄服務(wù)數(shù)據(jù)進(jìn)行檢索時(shí),接收用戶發(fā)送的目錄服務(wù)數(shù)據(jù)查詢請求,所述數(shù)據(jù)查詢請求包括所需查詢目錄服務(wù)數(shù)據(jù)的關(guān)鍵匹配值,依據(jù)所述關(guān)鍵匹配值在所述目錄服務(wù)內(nèi)嵌式數(shù)據(jù)庫的二叉平衡樹結(jié)構(gòu)中查找與其相對應(yīng)的數(shù)據(jù)節(jié)點(diǎn),獲取所述數(shù)據(jù)節(jié)點(diǎn)中的目錄服務(wù)數(shù)據(jù)。上述方法,優(yōu)選地,所述獲取目錄服務(wù)數(shù)據(jù),將所述目錄服務(wù)數(shù)據(jù)封裝為數(shù)據(jù)節(jié)點(diǎn),并將所述數(shù)據(jù)節(jié)點(diǎn)插入所述內(nèi)嵌式數(shù)據(jù)庫二叉平衡樹結(jié)構(gòu)中,作為所述二叉平衡樹的一個(gè)樹節(jié)點(diǎn)進(jìn)行存儲(chǔ)后還包括將指向所述數(shù)據(jù)節(jié)點(diǎn)所在的樹節(jié)點(diǎn)的相鄰樹節(jié)點(diǎn)的指針信息存放入所述數(shù)據(jù)節(jié)點(diǎn)所在的樹節(jié)點(diǎn)中。上述方法,優(yōu)選地,所述依據(jù)所述關(guān)鍵匹配值在所述目錄服務(wù)內(nèi)嵌式數(shù)據(jù)庫的二叉平衡樹結(jié)構(gòu)中查找與其相對應(yīng)的數(shù)據(jù)節(jié)點(diǎn)包括根據(jù)所述關(guān)鍵匹配值提取目錄服務(wù)數(shù)據(jù)索引值,根據(jù)所述目錄服務(wù)數(shù)據(jù)索引值或預(yù)先設(shè)定的索引去匹配過濾規(guī)則在所述目錄服務(wù)內(nèi)嵌式數(shù)據(jù)庫的二叉平衡樹結(jié)構(gòu)中過濾出與所述目錄服務(wù)索引值相對應(yīng)的目錄服務(wù)數(shù)據(jù)的數(shù)據(jù)節(jié)點(diǎn)范圍;根據(jù)所述關(guān)鍵匹配值在所述過濾后的目錄服務(wù)數(shù)據(jù)的數(shù)據(jù)節(jié)點(diǎn)范圍內(nèi)查詢與所述關(guān)鍵匹配值相對應(yīng)的數(shù)據(jù)節(jié)點(diǎn)。上述方法,優(yōu)選地,所述方法還包括將已查詢過的目錄服務(wù)數(shù)據(jù)作為目錄服務(wù)數(shù)據(jù)緩存對象進(jìn)行存儲(chǔ),形成目錄服務(wù)數(shù)據(jù)緩存對象集合,所述目錄服務(wù)數(shù)據(jù)緩存對象包括目錄服務(wù)數(shù)據(jù)的緩存關(guān)鍵值。上述方法,優(yōu)選地,所述依據(jù)所述關(guān)鍵匹配值在所述目錄服務(wù)內(nèi)嵌式數(shù)據(jù)庫的二叉平衡樹結(jié)構(gòu)中查找與其相對應(yīng)的數(shù)據(jù)節(jié)點(diǎn),獲取所述數(shù)據(jù)節(jié)點(diǎn)中的目錄服務(wù)數(shù)據(jù)包括根據(jù)所述關(guān)鍵匹配值在目錄服務(wù)數(shù)據(jù)緩存對象集合中查詢與其相對應(yīng)的目錄服務(wù)數(shù)據(jù)緩存對象,獲取目錄服務(wù)數(shù)據(jù);當(dāng)在目錄服務(wù)數(shù)據(jù)緩存對象集合中未查詢到與所述關(guān)鍵匹配值相對應(yīng)的目錄服務(wù)數(shù)據(jù)緩存對象時(shí),依據(jù)所述關(guān)鍵匹配值在所述目錄服務(wù)內(nèi)嵌式數(shù)據(jù)庫的二叉平衡樹結(jié)構(gòu)中查找與其相對應(yīng)的數(shù)據(jù)節(jié)點(diǎn),獲取所述數(shù)據(jù)節(jié)點(diǎn)中的目錄服務(wù)數(shù)據(jù)。上述方法,優(yōu)選地,調(diào)整所述內(nèi)嵌式數(shù)據(jù)庫二叉平衡樹結(jié)構(gòu),使其處于平衡狀態(tài)包括判斷所述內(nèi)嵌式數(shù)據(jù)庫的二叉平衡樹結(jié)構(gòu)最小失衡子樹;調(diào)整最小失衡子樹結(jié)構(gòu),使其處于平衡狀態(tài)。上述方法,優(yōu)選地,所述將所述目錄服務(wù)數(shù)據(jù)作為目錄服務(wù)緩存對象進(jìn)行存儲(chǔ)包括將所述目錄服務(wù)數(shù)據(jù)作為目錄服務(wù)緩存對象以哈希表的數(shù)據(jù)結(jié)構(gòu)進(jìn)行存儲(chǔ)。本發(fā)明還提供了一種目錄服務(wù)數(shù)據(jù)檢索系統(tǒng),用以保證上述方法在實(shí)際中的實(shí)現(xiàn)及應(yīng)用,該系統(tǒng)應(yīng)用于目錄服務(wù)庫中,所述目錄服務(wù)器中設(shè)置有內(nèi)嵌式數(shù)據(jù)庫,所述內(nèi)嵌式數(shù)據(jù)庫為二叉平衡樹結(jié)構(gòu),所述系統(tǒng)包括目錄服務(wù)數(shù)據(jù)存儲(chǔ)模塊、平衡模塊及目錄服務(wù)數(shù)據(jù)檢索模塊,其中所述目錄服務(wù)數(shù)據(jù)存儲(chǔ)模塊,用于獲取目錄服務(wù)數(shù)據(jù),將所述目錄服務(wù)數(shù)據(jù)封裝為數(shù)據(jù)節(jié)點(diǎn),所述數(shù)據(jù)節(jié)點(diǎn)包括目錄服務(wù)數(shù)據(jù)關(guān)鍵值,將所述數(shù)據(jù)節(jié)點(diǎn)插入所述內(nèi)嵌式數(shù)據(jù)庫二叉平衡樹結(jié)構(gòu)中,作為所述二叉平衡樹的一個(gè)樹節(jié)點(diǎn)進(jìn)行存儲(chǔ);所述平衡模塊,用于調(diào)整所述內(nèi)嵌式數(shù)據(jù)庫二叉平衡樹的結(jié)構(gòu),使其處于平衡狀態(tài);所述目錄服務(wù)數(shù)據(jù)檢索模塊,用于當(dāng)用戶需要對目錄服務(wù)數(shù)據(jù)進(jìn)行檢索時(shí),接收用戶發(fā)送的目錄服務(wù)數(shù)據(jù)查詢請求,所述數(shù)據(jù)查詢請求包括所需查詢目錄服務(wù)數(shù)據(jù)的關(guān)鍵匹配值,依據(jù)所述關(guān)鍵匹配值在所述目錄服務(wù)內(nèi)嵌式數(shù)據(jù)庫的二叉平衡樹結(jié)構(gòu)中查找與其相對應(yīng)的數(shù)據(jù)節(jié)點(diǎn),獲取所述數(shù)據(jù)節(jié)點(diǎn)中的目錄服務(wù)數(shù)據(jù)。上述系統(tǒng),優(yōu)選地,所述系統(tǒng)還包括索引去匹配過濾規(guī)則設(shè)定模塊和目錄服務(wù)數(shù)據(jù)索引模塊所述索引去匹配過濾規(guī)則設(shè)定模塊,用于設(shè)定索引去匹配過濾規(guī)則;所述目錄服務(wù)數(shù)據(jù)索引模塊,用于根據(jù)所述關(guān)鍵匹配值提取目錄服務(wù)數(shù)據(jù)索引值,根據(jù)所述目錄服務(wù)數(shù)據(jù)索引值或預(yù)先設(shè)定的索引去匹配過濾規(guī)則在所述目錄服務(wù)內(nèi)嵌式數(shù)據(jù)庫的二叉平衡樹結(jié)構(gòu)中過濾出與所述目錄服務(wù)索引值相對應(yīng)的目錄服務(wù)數(shù)據(jù)的數(shù)據(jù)節(jié)點(diǎn)范圍,然后再根據(jù)所述關(guān)鍵匹配值在所述過濾后的目錄服務(wù)數(shù)據(jù)的數(shù)據(jù)節(jié)點(diǎn)范圍內(nèi)查詢與所述關(guān)鍵匹配值相對應(yīng)的數(shù)據(jù)節(jié)點(diǎn)。上述系統(tǒng),優(yōu)選地,所述系統(tǒng)還包括緩存中心和目錄服務(wù)數(shù)據(jù)緩存檢索模塊所述緩存中心,用于將查詢到的目錄服務(wù)數(shù)據(jù)作為目錄服務(wù)數(shù)據(jù)緩存對象進(jìn)行存儲(chǔ);所述目錄服務(wù)數(shù)據(jù)緩存檢索模塊,用于根據(jù)所述關(guān)鍵匹配值在所述緩存中心中查詢與其相對應(yīng)的目錄服務(wù)數(shù)據(jù)緩存對象,獲取目錄服務(wù)數(shù)據(jù)。綜上所述,本發(fā)明提供的一種目錄服務(wù)數(shù)據(jù)檢索方法及其系統(tǒng),基于內(nèi)嵌式數(shù)據(jù)庫的存儲(chǔ)方式,將目錄服務(wù)數(shù)據(jù)封裝成數(shù)據(jù)節(jié)點(diǎn)存儲(chǔ)入二叉平衡樹的結(jié)構(gòu)的樹節(jié)點(diǎn)中,在每個(gè)樹節(jié)點(diǎn)中含有指向其下一個(gè)節(jié)點(diǎn)的指針信息,在樹形層次結(jié)構(gòu)中檢索,加快了檢索速度。在檢索時(shí)引入索引機(jī)制,在數(shù)據(jù)檢索前先搜索索引值,縮小檢索范圍,加快了查詢目錄服務(wù)數(shù)據(jù)的速度。另外引入緩存技術(shù),將已經(jīng)查詢過的目錄服務(wù)數(shù)據(jù)放入緩存中,當(dāng)查詢過緩存中不存在要查詢的目錄服務(wù)數(shù)據(jù)時(shí),再從數(shù)據(jù)庫中查找,由此避免了從數(shù)據(jù)庫中直接查詢數(shù)據(jù)所帶來的額外時(shí)間消耗和系統(tǒng)浪費(fèi),使得搜索訪問的效率大大提高,從而提高了應(yīng)用程序的運(yùn)行性能。當(dāng)然,實(shí)施本申請的任一產(chǎn)品并不一定需要同時(shí)達(dá)到以上所述的所有優(yōu)點(diǎn)。為了更清楚地說明本申請實(shí)施例中的技術(shù)方案,下面將對實(shí)施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明提供的一種目錄服務(wù)數(shù)據(jù)檢索方法實(shí)施例一的方法流程圖2為本發(fā)明提供的一種目錄服務(wù)數(shù)據(jù)檢索方法實(shí)施例一的目錄服務(wù)器的數(shù)據(jù)結(jié)構(gòu)圖3為本發(fā)明提供的一種目錄服務(wù)數(shù)據(jù)檢索方法實(shí)施例二在數(shù)據(jù)檢索時(shí)引入索引方法的部分方法流程圖4為本發(fā)明提供的一種目錄服務(wù)數(shù)據(jù)檢索方法實(shí)施例二的目錄服務(wù)器的數(shù)據(jù)結(jié)構(gòu)圖5為本發(fā)明提供的一種目錄服務(wù)數(shù)據(jù)檢索方法實(shí)施例三在數(shù)據(jù)檢索時(shí)的引入緩存方法部分方法流程圖6為本發(fā)明提供的一種目錄服務(wù)數(shù)據(jù)檢索系統(tǒng)實(shí)施例四的結(jié)構(gòu)示意圖7為本發(fā)明提供的一種目錄服務(wù)數(shù)據(jù)檢索系統(tǒng)實(shí)施例五的結(jié)構(gòu)示意圖8為本發(fā)明提供的一種目錄服務(wù)數(shù)據(jù)檢索系統(tǒng)實(shí)施例六的結(jié)構(gòu)示意圖9為本發(fā)明提供的一種目錄服務(wù)數(shù)據(jù)檢索系統(tǒng)實(shí)施例六的另一種結(jié)構(gòu)示意圖。具體實(shí)施方式下面將結(jié)合本申請實(shí)施例中的附圖,對本申請實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本申請一部分實(shí)施例,而不是全部的實(shí)施例。基于本申請中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本申請保護(hù)的范圍。實(shí)施例一參考圖1所示,為本發(fā)明提供的一種目錄服務(wù)數(shù)據(jù)檢索方法的流程圖,所述方法用于目錄服務(wù)器,所述目錄服務(wù)器設(shè)置有內(nèi)嵌式數(shù)據(jù)庫,所述內(nèi)嵌式數(shù)據(jù)庫為二叉平衡樹結(jié)構(gòu),所述方法包括步驟101獲取目錄服務(wù)數(shù)據(jù),將所述目錄服務(wù)數(shù)據(jù)封裝為數(shù)據(jù)節(jié)點(diǎn),所述數(shù)據(jù)節(jié)點(diǎn)包括目錄服務(wù)數(shù)據(jù)關(guān)鍵值,將所述數(shù)據(jù)節(jié)點(diǎn)插入所述內(nèi)嵌式數(shù)據(jù)庫二叉平衡樹結(jié)構(gòu)中,作為所述二叉平衡樹的一個(gè)樹節(jié)點(diǎn)進(jìn)行存儲(chǔ)。其中,所述二叉平衡樹結(jié)構(gòu)中,樹節(jié)點(diǎn)除根節(jié)點(diǎn)外都有其父節(jié)點(diǎn),且其父節(jié)點(diǎn)除本樹節(jié)點(diǎn)外最多還包括一個(gè)子節(jié)點(diǎn),為所述二叉平衡樹結(jié)構(gòu)中每個(gè)樹節(jié)點(diǎn)即作為樹節(jié)點(diǎn)存儲(chǔ)的數(shù)據(jù)節(jié)點(diǎn)設(shè)置一個(gè)平衡因子,表示所述樹節(jié)點(diǎn)的左右兩個(gè)子樹的深度差,即由所述樹節(jié)點(diǎn)的左子樹深度減去其右子樹深度。需要說明的是,在所述數(shù)據(jù)節(jié)點(diǎn)插入所述二叉平衡樹結(jié)構(gòu)后,還可以將指向所述插入的數(shù)據(jù)節(jié)點(diǎn)所在的樹節(jié)點(diǎn)的相鄰節(jié)點(diǎn)的指針信息存放入所述插入的數(shù)據(jù)節(jié)點(diǎn)所在的數(shù)據(jù)節(jié)點(diǎn)中,由此在各個(gè)樹節(jié)點(diǎn)尤其是在同一樹形層次中的樹節(jié)點(diǎn)中建立直接指向關(guān)系,在之后的檢索過程中,可以加快檢索速度。步驟102調(diào)整所述內(nèi)嵌式數(shù)據(jù)庫二叉平衡樹的結(jié)構(gòu),使其處于平衡狀態(tài)。其中,在所述數(shù)據(jù)節(jié)點(diǎn)插入二叉平衡樹結(jié)構(gòu)后,所述數(shù)據(jù)節(jié)點(diǎn)所在樹節(jié)點(diǎn)的父節(jié)點(diǎn)其平衡因子發(fā)生改變,所述二叉平衡樹結(jié)構(gòu)中的其他樹節(jié)點(diǎn)的平衡因子可能會(huì)發(fā)生變化,在本發(fā)明中,可以通過建一個(gè)棧的數(shù)據(jù)結(jié)構(gòu)來實(shí)現(xiàn)調(diào)整二叉平衡樹結(jié)構(gòu)使其處于平衡狀態(tài),過程如下將所述數(shù)據(jù)節(jié)點(diǎn)插入所述二叉平衡樹結(jié)構(gòu)時(shí)的插入路徑所對應(yīng)的數(shù)據(jù)節(jié)點(diǎn)入棧保存;當(dāng)插入完成后,準(zhǔn)備將所述棧中的數(shù)據(jù)節(jié)點(diǎn)依次出棧,判斷即將出棧的數(shù)據(jù)節(jié)點(diǎn)是否為當(dāng)前棧頂數(shù)據(jù)節(jié)點(diǎn)的左節(jié)點(diǎn),如果是,則棧頂數(shù)據(jù)節(jié)點(diǎn)的平衡因子加1,如果否,則棧頂數(shù)據(jù)節(jié)點(diǎn)的平衡因子減1,然后出棧,棧中其余的數(shù)據(jù)節(jié)點(diǎn)按以上規(guī)則依次出棧,并找到其平衡因子絕對值大于1的數(shù)據(jù)節(jié)點(diǎn),即所述二叉平衡樹結(jié)構(gòu)中的失衡點(diǎn);通過找出的失衡點(diǎn)中,判斷出所述二叉平衡樹結(jié)構(gòu)中失衡的最小子樹,并旋轉(zhuǎn)調(diào)整所述失衡的最小子樹,使得所述二叉平衡樹結(jié)構(gòu)處于平衡狀態(tài)。步驟103當(dāng)用戶需要對目錄服務(wù)數(shù)據(jù)進(jìn)行檢索時(shí),接收用戶發(fā)送的目錄服務(wù)數(shù)據(jù)查詢請求,所述數(shù)據(jù)查詢請求包括所需查詢目錄服務(wù)數(shù)據(jù)的關(guān)鍵匹配值,依據(jù)所述關(guān)鍵匹配值在所述目錄服務(wù)內(nèi)嵌式數(shù)據(jù)庫的二叉平衡樹結(jié)構(gòu)中查找與其相對應(yīng)的數(shù)據(jù)節(jié)點(diǎn),獲取所述數(shù)據(jù)節(jié)點(diǎn)中的目錄服務(wù)數(shù)據(jù)。通過步驟101-步驟102,可以看出所述目錄服務(wù)器在數(shù)據(jù)結(jié)構(gòu)上是一個(gè)樹型結(jié)構(gòu)在形式上采取層次結(jié)構(gòu),可提供快速而有效的查詢。如圖2所示的目錄服務(wù)器數(shù)據(jù)層次結(jié)構(gòu)圖,其上的數(shù)據(jù)以二叉平衡樹結(jié)構(gòu)進(jìn)行存儲(chǔ),以域名“dc=61s,dc=com”為基準(zhǔn),在它下面分別按照oiucn等劃分層次,各層之間結(jié)構(gòu)清晰,數(shù)據(jù)組織信息明確。如果要搜索數(shù)據(jù)節(jié)點(diǎn)“cn=計(jì)算機(jī)3,OU=計(jì)算機(jī),OU=資產(chǎn)”,搜索過程內(nèi)部如下當(dāng)我們搜索cn=計(jì)算機(jī)3的數(shù)據(jù)節(jié)點(diǎn)時(shí),它是按照數(shù)據(jù)節(jié)點(diǎn)在LDAP中存儲(chǔ)的先后順序,逐個(gè)進(jìn)行查詢的,先查詢cn=計(jì)算機(jī)1的數(shù)據(jù)節(jié)點(diǎn),接著查詢cn=計(jì)算機(jī)2的數(shù)據(jù)節(jié)點(diǎn),再查到cn=計(jì)算機(jī)3的數(shù)據(jù)節(jié)點(diǎn),找到后則返回搜索到的目錄服務(wù)數(shù)據(jù)。上述實(shí)施例,基于內(nèi)嵌式數(shù)據(jù)庫的存儲(chǔ)方式,將目錄服務(wù)數(shù)據(jù)封裝成數(shù)據(jù)節(jié)點(diǎn)存儲(chǔ)入二叉平衡樹的結(jié)構(gòu)的樹節(jié)點(diǎn)中,在樹形層次結(jié)構(gòu)中檢索,加快了檢索速度。從而提高了應(yīng)用程序的運(yùn)行性能。實(shí)施例二參考圖3所示,為本發(fā)明實(shí)施例提供的一種目錄服務(wù)數(shù)據(jù)檢索方法實(shí)施例二,用于目錄服務(wù)器,所述目錄服務(wù)器設(shè)置有內(nèi)嵌式數(shù)據(jù)庫,所述數(shù)據(jù)庫為二叉平衡樹結(jié)構(gòu),基于本發(fā)明實(shí)施例一提供的目錄服務(wù)數(shù)據(jù)檢索方法步驟101-步驟103,所述步驟103中依據(jù)所述關(guān)鍵匹配值在所述目錄服務(wù)內(nèi)嵌式數(shù)據(jù)庫的二叉平衡樹結(jié)構(gòu)中查找與其相對應(yīng)的數(shù)據(jù)節(jié)點(diǎn)包括步驟301根據(jù)所述需查詢的目錄服務(wù)數(shù)據(jù)的關(guān)鍵匹配值提取目錄服務(wù)數(shù)據(jù)索引值或設(shè)定索弓I去匹配過濾規(guī)則。其中,所述目錄服務(wù)索引值可以包括以下幾種類型與所述目錄服務(wù)數(shù)據(jù)相關(guān)的某個(gè)定值,例如Equality索引或Value索引,搜索形式為iObjectClasses=person‘or;attribute=mail*;與所述目錄服務(wù)數(shù)據(jù)相關(guān)的字符串,例如SubMring索引;與所述目錄服務(wù)數(shù)據(jù)近似相關(guān)的某個(gè)定值或字符串,例如Approximate索引或Ordering索弓|。步驟302根據(jù)所述目錄服務(wù)數(shù)據(jù)索引值或索引去匹配過濾規(guī)則在所述目錄服務(wù)內(nèi)嵌式數(shù)據(jù)庫的二叉平衡樹結(jié)構(gòu)中過濾出于所述目錄服務(wù)索引值相對應(yīng)的目錄服務(wù)數(shù)據(jù)節(jié)點(diǎn)范圍。步驟303根據(jù)所述關(guān)鍵匹配值在所述過濾后的目錄服務(wù)數(shù)據(jù)的數(shù)據(jù)節(jié)點(diǎn)范圍內(nèi)查詢與其相對應(yīng)的數(shù)據(jù)節(jié)點(diǎn)。其中,參考圖4所示,為某一目錄服務(wù)器的內(nèi)嵌式數(shù)據(jù)庫的二叉平衡樹結(jié)構(gòu)圖,假如圖中查詢數(shù)據(jù)節(jié)點(diǎn)“cn=c3,ou=ou2,o=cbp2”,無索引時(shí),查找cn=c3的數(shù)據(jù)節(jié)點(diǎn),它是按照數(shù)據(jù)節(jié)點(diǎn)在LDAP中存儲(chǔ)的先后順序,逐個(gè)進(jìn)行查找的,先查詢cn=cl的數(shù)據(jù)節(jié)點(diǎn),接著查詢cn=c2的數(shù)據(jù)節(jié)點(diǎn),在查詢cn=c3的數(shù)據(jù)節(jié)點(diǎn),剛好找到則返回查詢信息。當(dāng)建立索引時(shí),則不用搜索“ο=d印1”下的數(shù)據(jù)節(jié)點(diǎn),也不用搜“ou=oul,ο=d印2”下的數(shù)據(jù)節(jié)點(diǎn),而是直接搜索“ou=ou2,ο=d印2”下的數(shù)據(jù)節(jié)點(diǎn),選搜到“cn=c2,ou=ou2,ο=d印2”,接著找到“cn=c3,ou=ou2,ο=d印2”并返回搜索結(jié)果。在檢索目錄服務(wù)數(shù)據(jù)時(shí),還可以預(yù)先設(shè)定索引去匹配過濾規(guī)則,快速定位檢索范圍,提高檢索速度。由此可知,引用索引技術(shù)可以有效地加快目錄服務(wù)數(shù)據(jù)的檢索速度,尤其是當(dāng)目錄服務(wù)器中需要處理的數(shù)據(jù)量很大時(shí),建立索引是必須的也是快速檢索的必要條件,從而提高應(yīng)用程序的運(yùn)行性能。實(shí)施例三參考圖5所示,本發(fā)明提供的一種目錄服務(wù)數(shù)據(jù)檢索方法實(shí)施例三流程圖,用于目錄服務(wù)器,所述目錄服務(wù)器設(shè)置有內(nèi)嵌式數(shù)據(jù)庫,所述數(shù)據(jù)庫為二叉平衡樹結(jié)構(gòu),在結(jié)束前一次檢索后,將已經(jīng)查詢過的目錄服務(wù)數(shù)據(jù)作為目錄服務(wù)數(shù)據(jù)緩存對象進(jìn)行存儲(chǔ),形成目錄服務(wù)數(shù)據(jù)緩存對象集合,所述目錄服務(wù)數(shù)據(jù)緩存對象包括目錄服務(wù)數(shù)據(jù)的關(guān)鍵值,基于本發(fā)明實(shí)施例一的檢索方法步驟101-步驟103,所述步驟103中所述依據(jù)所述關(guān)鍵匹配值在所述目錄服務(wù)內(nèi)嵌式數(shù)據(jù)庫的二叉平衡樹結(jié)構(gòu)中查找與其相對應(yīng)的數(shù)據(jù)節(jié)點(diǎn),獲取所述數(shù)據(jù)節(jié)點(diǎn)中的目錄服務(wù)數(shù)據(jù)包括步驟501根據(jù)所述需查詢的目錄服務(wù)數(shù)據(jù)關(guān)鍵匹配值在目錄服務(wù)數(shù)據(jù)緩存對象集合中查詢與其相對應(yīng)的目錄服務(wù)數(shù)據(jù)緩存對象,獲取目錄服務(wù)數(shù)據(jù)。其中,所述目錄服務(wù)數(shù)據(jù)緩存對象使用hashtable(哈希表)的數(shù)據(jù)結(jié)構(gòu)進(jìn)行存儲(chǔ),在存儲(chǔ)所述目錄服務(wù)數(shù)據(jù)緩存對象時(shí)先檢查緩存集合是否已經(jīng)額滿,如果沒有,那么所述目錄服務(wù)數(shù)據(jù)緩存對象順利加入所述目錄服務(wù)數(shù)據(jù)緩存對象集合中,如果所述目錄服務(wù)數(shù)據(jù)緩存對象集合已經(jīng)滿額,那么在所述緩存集合中取出一個(gè)目錄服務(wù)數(shù)據(jù)緩存對象。需要說明的是,所述方法可以通過定義MemoryStore接口,實(shí)現(xiàn)所述緩存方法。步驟502當(dāng)在目錄服務(wù)數(shù)據(jù)緩存對象集合中未查詢到與所述關(guān)鍵匹配值相對應(yīng)的目錄服務(wù)數(shù)據(jù)緩存對象時(shí),依據(jù)所述關(guān)鍵匹配值在所述目錄服務(wù)內(nèi)嵌式數(shù)據(jù)庫的二叉平衡樹結(jié)構(gòu)中查找與其相對應(yīng)的數(shù)據(jù)節(jié)點(diǎn),獲取所述數(shù)據(jù)節(jié)點(diǎn)中的目錄服務(wù)數(shù)據(jù)。上述實(shí)施例,目錄服務(wù)器在數(shù)據(jù)檢索時(shí),現(xiàn)在目錄服務(wù)數(shù)據(jù)緩存集合中查詢是否存在與所述目錄服務(wù)數(shù)據(jù)關(guān)鍵匹配值相對應(yīng)的目錄服務(wù)數(shù)據(jù)緩存對象,如果有,那么直接在所述目錄服務(wù)數(shù)據(jù)緩存對象中獲取目錄服務(wù)數(shù)據(jù),如果沒有,那么可以按照本發(fā)明實(shí)施例一或本發(fā)明實(shí)施例二種的檢索方法繼續(xù)檢索。通過本發(fā)明實(shí)施例,當(dāng)目錄服務(wù)器在處理較大數(shù)據(jù)量時(shí),可以改善因多個(gè)用戶同時(shí)向某一數(shù)據(jù)發(fā)出申請時(shí)造成的目錄服務(wù)器響應(yīng)速度急速降低的情況,很大程度上提高了數(shù)據(jù)檢索性能。實(shí)施例四參考圖6所示,本發(fā)明提供的一種目錄服務(wù)數(shù)據(jù)檢索系統(tǒng)實(shí)施例四的結(jié)構(gòu)示意圖,以實(shí)現(xiàn)本發(fā)明方法實(shí)施例一提供的檢索方法,應(yīng)用于目錄服務(wù)庫中,所述目錄服務(wù)器中設(shè)置有內(nèi)嵌式數(shù)據(jù)庫,所述內(nèi)嵌式數(shù)據(jù)庫為二叉平衡樹結(jié)構(gòu),所述系統(tǒng)包括目錄服務(wù)數(shù)據(jù)存儲(chǔ)模塊601、平衡模塊602及目錄服務(wù)數(shù)據(jù)檢索模塊603,其中所述目錄服務(wù)數(shù)據(jù)存儲(chǔ)模塊601,用于獲取目錄服務(wù)數(shù)據(jù),將所述目錄服務(wù)數(shù)據(jù)封裝為數(shù)據(jù)節(jié)點(diǎn),所述數(shù)據(jù)節(jié)點(diǎn)包括目錄服務(wù)數(shù)據(jù)關(guān)鍵值,將所述數(shù)據(jù)節(jié)點(diǎn)插入所述內(nèi)嵌式數(shù)據(jù)庫二叉平衡樹結(jié)構(gòu)中,作為所述二叉平衡樹的一個(gè)樹節(jié)點(diǎn)進(jìn)行存儲(chǔ)。其中,所述二叉平衡樹結(jié)構(gòu)中,樹節(jié)點(diǎn)除根節(jié)點(diǎn)外都有其父節(jié)點(diǎn),且其父節(jié)點(diǎn)除本樹節(jié)點(diǎn)外最多還包括一個(gè)子節(jié)點(diǎn),為所述二叉平衡樹結(jié)構(gòu)中每個(gè)樹節(jié)點(diǎn)即作為樹節(jié)點(diǎn)存儲(chǔ)的數(shù)據(jù)節(jié)點(diǎn)設(shè)置一個(gè)平衡因子,表示所述樹節(jié)點(diǎn)的左右兩個(gè)子樹的深度差,即由所述樹節(jié)點(diǎn)的左子樹深度減去其右子樹深度。需要說明的是,在所述目錄服務(wù)數(shù)據(jù)存儲(chǔ)模塊601將所述數(shù)據(jù)節(jié)點(diǎn)插入所述二叉平衡樹結(jié)構(gòu)后,還可以將指向所述插入的數(shù)據(jù)節(jié)點(diǎn)所在的樹節(jié)點(diǎn)的相鄰節(jié)點(diǎn)的指針信息存放入所述插入的數(shù)據(jù)節(jié)點(diǎn)所在的數(shù)據(jù)節(jié)點(diǎn)中,由此在各個(gè)樹節(jié)點(diǎn)尤其是在同一樹形層次中的樹節(jié)點(diǎn)中建立直接指向關(guān)系,在之后的所述目錄服務(wù)數(shù)據(jù)檢索模塊603檢索過程中,可以加快檢索速度。所述平衡模塊602,用于調(diào)整所述內(nèi)嵌式數(shù)據(jù)庫二叉平衡樹的結(jié)構(gòu),使其處于平衡狀態(tài)。其中,在所述目錄服務(wù)數(shù)據(jù)存儲(chǔ)模塊601將所述數(shù)據(jù)節(jié)點(diǎn)插入二叉平衡樹結(jié)構(gòu)后,所述數(shù)據(jù)節(jié)點(diǎn)所在樹節(jié)點(diǎn)的父節(jié)點(diǎn)其平衡因子發(fā)生改變,所述二叉平衡樹結(jié)構(gòu)中的其他樹節(jié)點(diǎn)的平衡因子可能會(huì)發(fā)生變化,在本發(fā)明中,可以通過建一個(gè)棧的數(shù)據(jù)結(jié)構(gòu)來實(shí)現(xiàn)調(diào)整二叉平衡樹結(jié)構(gòu)使其處于平衡狀態(tài),過程如下所述目錄服務(wù)數(shù)據(jù)存儲(chǔ)模塊601將所述數(shù)據(jù)節(jié)點(diǎn)插入所述二叉平衡樹結(jié)構(gòu)時(shí)的插入路徑所對應(yīng)的數(shù)據(jù)節(jié)點(diǎn)入棧保存;當(dāng)插入完成后,準(zhǔn)備將所述棧中的數(shù)據(jù)節(jié)點(diǎn)依次出棧,所述目錄服務(wù)數(shù)據(jù)存儲(chǔ)模塊601判斷即將出棧的數(shù)據(jù)節(jié)點(diǎn)是否為當(dāng)前棧頂數(shù)據(jù)節(jié)點(diǎn)的左節(jié)點(diǎn),如果是,則棧頂數(shù)據(jù)節(jié)點(diǎn)的平衡因子加1,如果否,則棧頂數(shù)據(jù)節(jié)點(diǎn)的平衡因子減1,然后出棧,棧中其余的數(shù)據(jù)節(jié)點(diǎn)按以上規(guī)則依次出棧,并找到其平衡因子絕對值大于1的數(shù)據(jù)節(jié)點(diǎn),即所述二叉平衡樹結(jié)構(gòu)中的失衡點(diǎn);通過找出的失衡點(diǎn)中,所述目錄服務(wù)數(shù)據(jù)存儲(chǔ)模塊601判斷出所述二叉平衡樹結(jié)構(gòu)中失衡的最小子樹,并旋轉(zhuǎn)調(diào)整所述失衡的最小子樹,使得所述二叉平衡樹結(jié)構(gòu)處于平衡狀態(tài)。所述目錄服務(wù)數(shù)據(jù)檢索模塊603,用于當(dāng)用戶需要對目錄服務(wù)數(shù)據(jù)進(jìn)行檢索時(shí),接收用戶發(fā)送的目錄服務(wù)數(shù)據(jù)查詢請求,所述數(shù)據(jù)查詢請求包括所需查詢目錄服務(wù)數(shù)據(jù)的關(guān)鍵匹配值,依據(jù)所述關(guān)鍵匹配值在所述目錄服務(wù)內(nèi)嵌式數(shù)據(jù)庫的二叉平衡樹結(jié)構(gòu)中查找與其相對應(yīng)的數(shù)據(jù)節(jié)點(diǎn),獲取所述數(shù)據(jù)節(jié)點(diǎn)中的目錄服務(wù)數(shù)據(jù)。目錄服務(wù)數(shù)據(jù)經(jīng)過所述目錄服務(wù)數(shù)據(jù)存儲(chǔ)模塊601及所述平衡模塊602的存儲(chǔ)調(diào)整后以內(nèi)嵌式數(shù)據(jù)庫的二叉平衡樹的結(jié)構(gòu)進(jìn)行存儲(chǔ),在所述目錄服務(wù)器上以樹形結(jié)構(gòu)并采用層次結(jié)構(gòu),可以提供快速有效地查詢。實(shí)施例五參考圖7所示,本發(fā)明提供的一種目錄服務(wù)數(shù)據(jù)檢索系統(tǒng)實(shí)施例五以實(shí)現(xiàn)本發(fā)明提供的實(shí)施例二的方法,所述系統(tǒng)包括目錄服務(wù)數(shù)據(jù)存儲(chǔ)模塊601、平衡模塊602、索引去匹配過濾規(guī)則設(shè)定模塊604及目錄服務(wù)數(shù)據(jù)索引模塊605,所述目錄服務(wù)數(shù)據(jù)存儲(chǔ)模塊601、平衡模塊602與實(shí)施例三中所述相似,其中所述索引去匹配過濾規(guī)則設(shè)定模塊604,用于設(shè)定索引去匹配過濾規(guī)則;所述目錄服務(wù)數(shù)據(jù)索引模塊605,用于根據(jù)所述關(guān)鍵匹配值提取目錄服務(wù)數(shù)據(jù)索引值,根據(jù)所述目錄服務(wù)數(shù)據(jù)索引值或預(yù)先設(shè)定的索引去匹配過濾規(guī)則在所述目錄服務(wù)內(nèi)嵌式數(shù)據(jù)庫的二叉平衡樹結(jié)構(gòu)中過濾出與所述目錄服務(wù)索引值相對應(yīng)的目錄服務(wù)數(shù)據(jù)的數(shù)據(jù)節(jié)點(diǎn)范圍,然后再根據(jù)所述關(guān)鍵匹配值在所述過濾后的目錄服務(wù)數(shù)據(jù)的數(shù)據(jù)節(jié)點(diǎn)范圍內(nèi)查詢與所述關(guān)鍵匹配值相對應(yīng)的數(shù)據(jù)節(jié)點(diǎn),獲取所述數(shù)據(jù)節(jié)點(diǎn)中的目錄服務(wù)數(shù)據(jù)。其中,所述目錄服務(wù)數(shù)據(jù)索引模塊605提取的目錄服務(wù)數(shù)據(jù)索引值包括以下幾種類型與所述目錄服務(wù)數(shù)據(jù)相關(guān)的某個(gè)定值,例如Equality索引或Value索引,搜索形式為iObjectClasses=person‘or;attribute=mail*;與所述目錄服務(wù)數(shù)據(jù)相關(guān)的字符串,例如SubMring索引;與所述目錄服務(wù)數(shù)據(jù)近似相關(guān)的某個(gè)定值或字符串,例如Approximate索引或Ordering索弓|。其中,參考圖4所示,為某一目錄服務(wù)器由目錄服務(wù)數(shù)據(jù)存儲(chǔ)模塊601及平衡模塊602構(gòu)架的內(nèi)嵌式數(shù)據(jù)庫的二叉平衡樹結(jié)構(gòu)圖,假如圖中查詢數(shù)據(jù)節(jié)點(diǎn)“cn=c3,ou=ou2,o=d印2”,無索引時(shí),所述目錄服務(wù)數(shù)據(jù)檢索模塊603查找cn=c3的數(shù)據(jù)節(jié)點(diǎn),它是按照數(shù)據(jù)節(jié)點(diǎn)在目錄服務(wù)器中存儲(chǔ)的先后順序,逐個(gè)進(jìn)行查找的,先查詢cn=cl的數(shù)據(jù)節(jié)點(diǎn),接著查詢cn=c2的數(shù)據(jù)節(jié)點(diǎn),在查詢cn=c3的數(shù)據(jù)節(jié)點(diǎn),剛好找到則返回查詢信息。當(dāng)建立索引時(shí),則不用搜索“ο=d印1”下的數(shù)據(jù)節(jié)點(diǎn),也不用搜“ou=oul,ο=d印2”下的數(shù)據(jù)節(jié)點(diǎn),而是由所述目錄服務(wù)數(shù)據(jù)索引模塊605直接搜索“ou=ou2,ο=cbp2”下的數(shù)據(jù)節(jié)點(diǎn),選搜到“cn=c2,ou=ou2,ο=d印2”,接著找到“cn=c3,ou=ou2,ο=dep2"并返回搜索結(jié)果。在索引目錄服務(wù)數(shù)據(jù)時(shí),還可以通過所述索引去匹配過濾規(guī)則設(shè)定模塊604創(chuàng)建索弓I去匹配過濾規(guī)則,快速定位檢索范圍,提高檢索速度。由此可知,通過目錄服務(wù)數(shù)據(jù)索引模塊利用索引技術(shù)可以有效地加快目錄服務(wù)數(shù)據(jù)的檢索速度,尤其是當(dāng)目錄服務(wù)器中需要處理的數(shù)據(jù)量很大時(shí),建立索引是必須的也是快速檢索的必要條件,從而提高應(yīng)用程序的運(yùn)行性能。實(shí)施例六參考圖8所示,本發(fā)明提高的一種目錄服務(wù)檢索系統(tǒng)實(shí)施例六的結(jié)構(gòu)示意圖,基于本發(fā)明實(shí)施例四,以實(shí)現(xiàn)本發(fā)明提供的實(shí)施例三的方法,所述系統(tǒng)還包括緩存中心606和目錄服務(wù)數(shù)據(jù)緩存檢索模塊607,其中所述緩存中心606,用于將查詢到的目錄服務(wù)數(shù)據(jù)作為目錄服務(wù)數(shù)據(jù)緩存對象進(jìn)行存儲(chǔ);所述目錄服務(wù)數(shù)據(jù)緩存檢索模塊607,用于根據(jù)所述關(guān)鍵匹配值在所述緩存中心606中查詢與其相對應(yīng)的目錄服務(wù)數(shù)據(jù)緩存對象,獲取目錄服務(wù)數(shù)據(jù)。其中,所述緩存中心606將所述目錄服務(wù)數(shù)據(jù)緩存對象以hashtable的數(shù)據(jù)結(jié)構(gòu)進(jìn)行存儲(chǔ),并在所述緩存中心606中設(shè)置所述目錄服務(wù)數(shù)據(jù)緩存對象的最大數(shù)額,當(dāng)所述緩存中心606中的目錄服務(wù)數(shù)據(jù)緩存對象數(shù)量達(dá)到其最大數(shù)額時(shí),表示額滿。需要說明的是,所述方法可以通過在所述目錄服務(wù)數(shù)據(jù)緩存檢索模塊607中定義MemoryStore接口,實(shí)現(xiàn)所述緩存方法。上述實(shí)施例,通過所述目錄服務(wù)數(shù)據(jù)緩存檢索模塊607在所述目錄服務(wù)數(shù)據(jù)檢索模塊603在內(nèi)嵌式數(shù)據(jù)庫的二叉平衡樹結(jié)構(gòu)中查詢所述目錄服務(wù)數(shù)據(jù)前,先在所述緩存中心606查詢是否含有與所述關(guān)鍵匹配值相對應(yīng)的目錄服務(wù)數(shù)據(jù)緩存對象,如果有,直接在所述目錄服務(wù)數(shù)據(jù)緩存對象中獲取目錄服務(wù)數(shù)據(jù),如果否,再通過所述目錄服務(wù)數(shù)據(jù)檢索模塊603在所述內(nèi)嵌式數(shù)據(jù)庫的二叉平衡樹結(jié)構(gòu)中檢索目錄服務(wù)數(shù)據(jù)。參考圖9所示,當(dāng)所述緩存中心606中沒有查詢到與所述關(guān)鍵匹配值相對應(yīng)的目錄服務(wù)數(shù)據(jù)緩存對象時(shí),還可以通過索引去匹配過濾規(guī)則設(shè)定模塊604及所述目錄服務(wù)數(shù)據(jù)索引模塊605在所述內(nèi)嵌式數(shù)據(jù)庫的二叉平衡樹結(jié)構(gòu)中檢索與所述關(guān)鍵匹配值相對應(yīng)的目錄服務(wù)數(shù)據(jù)節(jié)點(diǎn),獲取所述目錄服務(wù)數(shù)據(jù)。通過本發(fā)明實(shí)施例,當(dāng)目錄服務(wù)器在處理較大數(shù)據(jù)量時(shí),可以改善因多個(gè)用戶同時(shí)向某一數(shù)據(jù)發(fā)出申請時(shí)造成的目錄服務(wù)器響應(yīng)速度急速降低的情況,提高查詢效率,同時(shí)引入索引技術(shù),僅一步提高檢索速度,更大程度上提高數(shù)據(jù)檢索性能。以上對本申請所提供的一種目錄服務(wù)數(shù)據(jù)檢索方法及系統(tǒng)進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對本申請的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本申請的方法及其核心思想;同時(shí),對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本申請的思想,在具體實(shí)施方式及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本申請的限制。權(quán)利要求1.一種目錄服務(wù)數(shù)據(jù)檢索方法,其特征在于,該方法應(yīng)用于目錄服務(wù)器,所述目錄服務(wù)器中設(shè)置有內(nèi)嵌式數(shù)據(jù)庫,所述內(nèi)嵌式數(shù)據(jù)庫為二叉平衡樹結(jié)構(gòu),所述方法包括獲取目錄服務(wù)數(shù)據(jù),將所述目錄服務(wù)數(shù)據(jù)封裝為數(shù)據(jù)節(jié)點(diǎn),所述數(shù)據(jù)節(jié)點(diǎn)包括目錄服務(wù)數(shù)據(jù)關(guān)鍵值,將所述數(shù)據(jù)節(jié)點(diǎn)插入所述內(nèi)嵌式數(shù)據(jù)庫二叉平衡樹結(jié)構(gòu)中,作為所述二叉平衡樹的一個(gè)樹節(jié)點(diǎn)進(jìn)行存儲(chǔ);調(diào)整所述內(nèi)嵌式數(shù)據(jù)庫二叉平衡樹的結(jié)構(gòu),使其處于平衡狀態(tài);當(dāng)用戶需要對目錄服務(wù)數(shù)據(jù)進(jìn)行檢索時(shí),接收用戶發(fā)送的目錄服務(wù)數(shù)據(jù)查詢請求,所述數(shù)據(jù)查詢請求包括所需查詢目錄服務(wù)數(shù)據(jù)的關(guān)鍵匹配值,依據(jù)所述關(guān)鍵匹配值在所述目錄服務(wù)內(nèi)嵌式數(shù)據(jù)庫的二叉平衡樹結(jié)構(gòu)中查找與其相對應(yīng)的數(shù)據(jù)節(jié)點(diǎn),獲取所述數(shù)據(jù)節(jié)點(diǎn)中的目錄服務(wù)數(shù)據(jù)。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述獲取目錄服務(wù)數(shù)據(jù),將所述目錄服務(wù)數(shù)據(jù)封裝為數(shù)據(jù)節(jié)點(diǎn),并將所述數(shù)據(jù)節(jié)點(diǎn)插入所述內(nèi)嵌式數(shù)據(jù)庫二叉平衡樹結(jié)構(gòu)中,作為所述二叉平衡樹的一個(gè)樹節(jié)點(diǎn)進(jìn)行存儲(chǔ)后還包括將指向所述數(shù)據(jù)節(jié)點(diǎn)所在的樹節(jié)點(diǎn)的相鄰樹節(jié)點(diǎn)的指針信息存放入所述數(shù)據(jù)節(jié)點(diǎn)所在的樹節(jié)點(diǎn)中。3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述依據(jù)所述關(guān)鍵匹配值在所述目錄服務(wù)內(nèi)嵌式數(shù)據(jù)庫的二叉平衡樹結(jié)構(gòu)中查找與其相對應(yīng)的數(shù)據(jù)節(jié)點(diǎn)包括根據(jù)所述關(guān)鍵匹配值提取目錄服務(wù)數(shù)據(jù)索引值,根據(jù)所述目錄服務(wù)數(shù)據(jù)索引值或預(yù)先設(shè)定的索引去匹配過濾規(guī)則在所述目錄服務(wù)內(nèi)嵌式數(shù)據(jù)庫的二叉平衡樹結(jié)構(gòu)中過濾出與所述目錄服務(wù)索引值相對應(yīng)的目錄服務(wù)數(shù)據(jù)的數(shù)據(jù)節(jié)點(diǎn)范圍;根據(jù)所述關(guān)鍵匹配值在所述過濾后的目錄服務(wù)數(shù)據(jù)的數(shù)據(jù)節(jié)點(diǎn)范圍內(nèi)查詢與所述關(guān)鍵匹配值相對應(yīng)的數(shù)據(jù)節(jié)點(diǎn)。4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括將已查詢過的目錄服務(wù)數(shù)據(jù)作為目錄服務(wù)數(shù)據(jù)緩存對象進(jìn)行存儲(chǔ),形成目錄服務(wù)數(shù)據(jù)緩存對象集合,所述目錄服務(wù)數(shù)據(jù)緩存對象包括目錄服務(wù)數(shù)據(jù)的緩存關(guān)鍵值。5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述依據(jù)所述關(guān)鍵匹配值在所述目錄服務(wù)內(nèi)嵌式數(shù)據(jù)庫的二叉平衡樹結(jié)構(gòu)中查找與其相對應(yīng)的數(shù)據(jù)節(jié)點(diǎn),獲取所述數(shù)據(jù)節(jié)點(diǎn)中的目錄服務(wù)數(shù)據(jù)包括根據(jù)所述關(guān)鍵匹配值在目錄服務(wù)數(shù)據(jù)緩存對象集合中查詢與其相對應(yīng)的目錄服務(wù)數(shù)據(jù)緩存對象,獲取目錄服務(wù)數(shù)據(jù);當(dāng)在目錄服務(wù)數(shù)據(jù)緩存對象集合中未查詢到與所述關(guān)鍵匹配值相對應(yīng)的目錄服務(wù)數(shù)據(jù)緩存對象時(shí),依據(jù)所述關(guān)鍵匹配值在所述目錄服務(wù)內(nèi)嵌式數(shù)據(jù)庫的二叉平衡樹結(jié)構(gòu)中查找與其相對應(yīng)的數(shù)據(jù)節(jié)點(diǎn),獲取所述數(shù)據(jù)節(jié)點(diǎn)中的目錄服務(wù)數(shù)據(jù)。6.根據(jù)權(quán)利要求1所述的方法,其特征在于,調(diào)整所述內(nèi)嵌式數(shù)據(jù)庫二叉平衡樹結(jié)構(gòu),使其處于平衡狀態(tài)包括判斷所述內(nèi)嵌式數(shù)據(jù)庫的二叉平衡樹結(jié)構(gòu)最小失衡子樹;調(diào)整最小失衡子樹結(jié)構(gòu),使其處于平衡狀態(tài)。7.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述將所述目錄服務(wù)數(shù)據(jù)作為目錄服務(wù)緩存對象進(jìn)行存儲(chǔ)包括將所述目錄服務(wù)數(shù)據(jù)作為目錄服務(wù)緩存對象以哈希表的數(shù)據(jù)結(jié)構(gòu)進(jìn)行存儲(chǔ)。8.一種目錄服務(wù)數(shù)據(jù)檢索系統(tǒng),其特征在于,應(yīng)用于目錄服務(wù)庫中,所述目錄服務(wù)器中設(shè)置有內(nèi)嵌式數(shù)據(jù)庫,所述內(nèi)嵌式數(shù)據(jù)庫為二叉平衡樹結(jié)構(gòu),所述系統(tǒng)包括目錄服務(wù)數(shù)據(jù)存儲(chǔ)模塊、平衡模塊及目錄服務(wù)數(shù)據(jù)檢索模塊,其中所述目錄服務(wù)數(shù)據(jù)存儲(chǔ)模塊,用于獲取目錄服務(wù)數(shù)據(jù),將所述目錄服務(wù)數(shù)據(jù)封裝為數(shù)據(jù)節(jié)點(diǎn),所述數(shù)據(jù)節(jié)點(diǎn)包括目錄服務(wù)數(shù)據(jù)關(guān)鍵值,將所述數(shù)據(jù)節(jié)點(diǎn)插入所述內(nèi)嵌式數(shù)據(jù)庫二叉平衡樹結(jié)構(gòu)中,作為所述二叉平衡樹的一個(gè)樹節(jié)點(diǎn)進(jìn)行存儲(chǔ);所述平衡模塊,用于調(diào)整所述內(nèi)嵌式數(shù)據(jù)庫二叉平衡樹的結(jié)構(gòu),使其處于平衡狀態(tài);所述目錄服務(wù)數(shù)據(jù)檢索模塊,用于當(dāng)用戶需要對目錄服務(wù)數(shù)據(jù)進(jìn)行檢索時(shí),接收用戶發(fā)送的目錄服務(wù)數(shù)據(jù)查詢請求,所述數(shù)據(jù)查詢請求包括所需查詢目錄服務(wù)數(shù)據(jù)的關(guān)鍵匹配值,依據(jù)所述關(guān)鍵匹配值在所述目錄服務(wù)內(nèi)嵌式數(shù)據(jù)庫的二叉平衡樹結(jié)構(gòu)中查找與其相對應(yīng)的數(shù)據(jù)節(jié)點(diǎn),獲取所述數(shù)據(jù)節(jié)點(diǎn)中的目錄服務(wù)數(shù)據(jù)。9.根據(jù)權(quán)利要求8所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括索引去匹配過濾規(guī)則設(shè)定模塊和目錄服務(wù)數(shù)據(jù)索引模塊所述索引去匹配過濾規(guī)則設(shè)定模塊,用于設(shè)定索引去匹配過濾規(guī)則;所述目錄服務(wù)數(shù)據(jù)索引模塊,用于根據(jù)所述關(guān)鍵匹配值提取目錄服務(wù)數(shù)據(jù)索引值,根據(jù)所述目錄服務(wù)數(shù)據(jù)索引值或預(yù)先設(shè)定的索引去匹配過濾規(guī)則在所述目錄服務(wù)內(nèi)嵌式數(shù)據(jù)庫的二叉平衡樹結(jié)構(gòu)中過濾出與所述目錄服務(wù)索引值相對應(yīng)的目錄服務(wù)數(shù)據(jù)的數(shù)據(jù)節(jié)點(diǎn)范圍,然后再根據(jù)所述關(guān)鍵匹配值在所述過濾后的目錄服務(wù)數(shù)據(jù)的數(shù)據(jù)節(jié)點(diǎn)范圍內(nèi)查詢與所述關(guān)鍵匹配值相對應(yīng)的數(shù)據(jù)節(jié)點(diǎn)。10.根據(jù)權(quán)利要求8所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括緩存中心和目錄服務(wù)數(shù)據(jù)緩存檢索模塊所述緩存中心,用于將查詢到的目錄服務(wù)數(shù)據(jù)作為目錄服務(wù)數(shù)據(jù)緩存對象進(jìn)行存儲(chǔ);所述目錄服務(wù)數(shù)據(jù)緩存檢索模塊,用于根據(jù)所述關(guān)鍵匹配值在所述緩存中心中查詢與其相對應(yīng)的目錄服務(wù)數(shù)據(jù)緩存對象,獲取目錄服務(wù)數(shù)據(jù)。全文摘要本申請?zhí)峁┝艘环N目錄服務(wù)數(shù)據(jù)檢索方法,應(yīng)用于設(shè)置有數(shù)據(jù)結(jié)構(gòu)為二叉平衡樹的內(nèi)嵌式數(shù)據(jù)庫的目錄服務(wù)器,所述方法包括獲取目錄服務(wù)數(shù)據(jù),將所述目錄服務(wù)數(shù)據(jù)封裝為數(shù)據(jù)節(jié)點(diǎn),所述數(shù)據(jù)節(jié)點(diǎn)包括目錄服務(wù)數(shù)據(jù)關(guān)鍵值,將所述數(shù)據(jù)節(jié)點(diǎn)插入所述內(nèi)嵌式數(shù)據(jù)庫二叉平衡樹結(jié)構(gòu)中,作為所述二叉平衡樹的一個(gè)樹節(jié)點(diǎn)進(jìn)行存儲(chǔ);調(diào)整所述內(nèi)嵌式數(shù)據(jù)庫二叉平衡樹的結(jié)構(gòu),使其處于平衡狀態(tài);當(dāng)用戶需要對目錄服務(wù)數(shù)據(jù)進(jìn)行檢索時(shí),接收用戶發(fā)送的目錄服務(wù)數(shù)據(jù)查詢請求,所述數(shù)據(jù)查詢請求包括所需查詢目錄服務(wù)數(shù)據(jù)的關(guān)鍵匹配值,依據(jù)所述關(guān)鍵匹配值在所述目錄服務(wù)內(nèi)嵌式數(shù)據(jù)庫的二叉平衡樹結(jié)構(gòu)中查找與其相對應(yīng)的數(shù)據(jù)節(jié)點(diǎn),獲取所述數(shù)據(jù)節(jié)點(diǎn)中的目錄服務(wù)數(shù)據(jù)。文檔編號G06F17/30GK102521375SQ20111042770公開日2012年6月27日申請日期2011年12月19日優(yōu)先權(quán)日2011年12月19日發(fā)明者段文良,陳妍妍申請人:山東中創(chuàng)軟件商用中間件股份有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
      1