• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    一種基于T-lt樹的主存數(shù)據(jù)庫(kù)的索引方法技術(shù)

    技術(shù)編號(hào):3796200 閱讀:324 留言:0更新日期:2012-04-11 18:40
    本發(fā)明專利技術(shù)提供一種基于T-lt樹的主存數(shù)據(jù)庫(kù)的索引方法,主要是針對(duì)T樹的缺點(diǎn)進(jìn)行改進(jìn),將T樹的每個(gè)結(jié)點(diǎn)都增加一個(gè)直接指向此結(jié)點(diǎn)的后繼結(jié)點(diǎn)的尾指針構(gòu)成T-lt樹,所述索引方法包括數(shù)據(jù)庫(kù)查詢操作、關(guān)鍵字插入操作、關(guān)鍵字刪除操作三個(gè)步驟,T-lt樹的結(jié)點(diǎn)結(jié)構(gòu)比T結(jié)點(diǎn)多了一個(gè)尾指針,如果該結(jié)點(diǎn)有tail結(jié)點(diǎn),則尾指針指向tail結(jié)點(diǎn);如果沒有tail結(jié)點(diǎn),則尾指針指向直接后繼結(jié)點(diǎn)。T-lt樹的tail結(jié)點(diǎn)與T結(jié)點(diǎn)相比也多了一個(gè)指向直接后繼結(jié)點(diǎn)的指針。本方法減少對(duì)樹的遍歷次數(shù),減少樹的旋轉(zhuǎn)次數(shù),能在主存數(shù)據(jù)庫(kù)中提高查詢效率,節(jié)省時(shí)空開銷。

    【技術(shù)實(shí)現(xiàn)步驟摘要】

    本專利技術(shù)涉及一種數(shù)據(jù)庫(kù)索引方法,主要應(yīng)用在基于主存的數(shù)據(jù)庫(kù)管理系統(tǒng)中,屬于 計(jì)算機(jī)數(shù)據(jù)庫(kù)領(lǐng)域。
    技術(shù)介紹
    隨著大容量?jī)?nèi)存越來越便宜,現(xiàn)在配置一臺(tái)大內(nèi)存的計(jì)算機(jī)也越來越容易。對(duì)數(shù)據(jù) 庫(kù)系統(tǒng)而言,已經(jīng)有條件將數(shù)據(jù)庫(kù)的"主版本"常駐內(nèi)存,這樣可使系統(tǒng)性能獲得很大 的改善,如1/0操作大量減少、事務(wù)的狀態(tài)轉(zhuǎn)換及其相聯(lián)CPU高速緩存的替換大量減少、鎖的競(jìng)爭(zhēng)下降,更有效的內(nèi)存査找結(jié)構(gòu)和査詢處理可以被使用等。數(shù)據(jù)庫(kù)的"主版本"或者整個(gè)數(shù)據(jù)庫(kù)都常駐內(nèi)存的數(shù)據(jù)庫(kù)系統(tǒng)被稱為主存數(shù)據(jù)庫(kù)(MMDB, Main Memory Database)。由于內(nèi)存系統(tǒng)與磁盤系統(tǒng)具有不同的特性,因而 MMDB與磁盤數(shù)據(jù)庫(kù)(DRDB, Disk-Resident Database)在性能、存儲(chǔ)格式、尤其是査詢 處理等方面都有著比較大的差別。DRDB系統(tǒng)的"瓶頸"是磁盤I /0,故查詢處理的 優(yōu)化策略主要是針對(duì)減少磁盤的存取次數(shù)的,并且盡量存儲(chǔ)臨時(shí)結(jié)果,以"空間"換"時(shí) 間"。而在MMDB中,由于內(nèi)存空間及其寶貴,其査詢處理算法則要極力減少比較次 數(shù),并且盡量不存儲(chǔ)臨時(shí)結(jié)果,以"時(shí)間"換"空間"。在這樣的前提下,原有的DRDB 的索引結(jié)構(gòu)對(duì)MMDB來說就不再適用了,研究新的適合MMDB的索引結(jié)構(gòu)也就自然 而然的成了研究者關(guān)注的問題。傳統(tǒng)的主存數(shù)據(jù)庫(kù)主要采取以下幾種索引機(jī)制(1) 哈希索引機(jī)制是一種通過哈希函數(shù)實(shí)現(xiàn)鍵值和記錄地址快速映射,以提供高 速隨機(jī)訪問的機(jī)制。使用哈希機(jī)制能實(shí)現(xiàn)快速査詢,但它對(duì)空間的利用率不高,并且范圍 査詢的效率也不高。(2) 平衡二叉樹(AVL樹)索引機(jī)制AVL樹本質(zhì)上是一棵二叉樹,采用二分査找法, 査詢速度很快。但AVL樹上的更新操作經(jīng)常導(dǎo)致樹的不平衡,用于平衡旋轉(zhuǎn)操作的時(shí) 間開銷過大。而且樹的每個(gè)結(jié)點(diǎn)只能保存1個(gè)關(guān)鍵字用于比較,同時(shí)還要保存父結(jié)點(diǎn)指 針、左右孩子結(jié)點(diǎn)指針、平衡因子等其他信息,故Cache利用率較低。4(3) B樹索引機(jī)制B樹是一種適用于磁盤數(shù)據(jù)庫(kù)管理系統(tǒng)的索引機(jī)制。B樹的每 個(gè)結(jié)點(diǎn)有多棵子樹,且深度不大,査詢速度較快,只需較少次數(shù)的磁盤I/0就可以找到 目標(biāo)數(shù)據(jù)。B樹中的葉結(jié)點(diǎn)較多,由于葉結(jié)點(diǎn)沒有子樹指針,故指針相對(duì)數(shù)據(jù)的空間占 用量很小,從而有利于提高內(nèi)存空間的利用率。8樹的一個(gè)變種8+樹,則是一種平衡 的多路查找樹,已經(jīng)在傳統(tǒng)的磁盤數(shù)據(jù)庫(kù)中得到了廣泛的應(yīng)用。由于B +樹的非葉結(jié) 點(diǎn)僅具有索引作用,與記錄有關(guān)的信息均存放在葉結(jié)點(diǎn)中,因此會(huì)對(duì)存儲(chǔ)空間造成一定 的浪費(fèi)。(4) T樹索引機(jī)制是一種適用于主存數(shù)據(jù)庫(kù)的有序數(shù)據(jù)索引機(jī)制,在大部分主存 數(shù)據(jù)庫(kù)系統(tǒng)中都有應(yīng)用。它是由AVL樹和B樹演變而來,是一種在一個(gè)結(jié)點(diǎn)中存放多 個(gè)元素的平衡二叉樹。它保留有AVL樹的二分搜索特性,同時(shí)具有B樹的優(yōu)良的存儲(chǔ) 性能。T樹的每個(gè)結(jié)點(diǎn)可以保存多個(gè)關(guān)鍵字,因而提高了空間的利用率。但是,對(duì)T 樹結(jié)點(diǎn)的更新會(huì)導(dǎo)致樹的不平衡,因此用于平衡旋轉(zhuǎn)的開銷還是比較大的。現(xiàn)有的相關(guān)專利申請(qǐng)情況如下-① 海量數(shù)據(jù)內(nèi)存數(shù)據(jù)庫(kù)中快速定位的網(wǎng)格+T樹索引的方法(申請(qǐng)日期-2006.02.20,公開號(hào)CN1838124)。② 數(shù)據(jù)庫(kù)索引的方法(申請(qǐng)日期2008.05.30,公開號(hào)CN101286160)。 相關(guān)的論文情況如下① R.Bayer and E.M.McCreight, Organization and maintenance of large ordered indexes, Acta Informatica, 1972.② Douglas Comer, The Ubiquitous B-Tree, Computing Surveys (CSUR), 1979.③ TJ Lehman, MJ Carey. A Study of Index Structures for Main Memory Database Management Systems. Conference on Very Large Data Bases, 1986:294~302.其中專利②和論文①、②都是關(guān)于B樹和B+樹的索引機(jī)制,適用于基于磁盤的數(shù) 據(jù)庫(kù)索引機(jī)制,并不適用于主存數(shù)據(jù)庫(kù),在時(shí)空開銷上類似于平衡二叉樹;專利①和論 文③都是關(guān)于T樹的索引機(jī)制,雖然T樹是基于主存的數(shù)據(jù)庫(kù)的一種比較優(yōu)秀的索引 機(jī)制,但是,對(duì)T樹結(jié)點(diǎn)的更新會(huì)導(dǎo)致樹的不平衡,因此用于平衡旋轉(zhuǎn)的開銷還是比 較大的。
    技術(shù)實(shí)現(xiàn)思路
    本專利技術(shù)的目的是提供一種用于主存數(shù)據(jù)庫(kù)索引方法,該方法能在主存數(shù)據(jù)庫(kù)中提高査詢效率,節(jié)省時(shí)空開銷。本專利技術(shù)針對(duì)T樹的缺點(diǎn)進(jìn)行改進(jìn),提出了一種新的基于主存的索引結(jié)構(gòu),稱之為 T-lt樹,T-lt樹的結(jié)點(diǎn)結(jié)構(gòu)(T-lt結(jié)點(diǎn))比T結(jié)點(diǎn)多了一個(gè)尾指針,如果該結(jié)點(diǎn)有tail 結(jié)點(diǎn),則尾指針指向tail結(jié)點(diǎn);如果沒有tail結(jié)點(diǎn),則指向直接后繼結(jié)點(diǎn)。T-lt樹 的tail結(jié)點(diǎn)與T結(jié)點(diǎn)相比也多了一個(gè)指向直接后繼結(jié)點(diǎn)的指針。本專利技術(shù)為實(shí)現(xiàn)上述目的采用下面的技術(shù)方案本專利技術(shù)的基于T-lt樹的主存數(shù)據(jù)庫(kù)的索引方法,將T樹的每個(gè)結(jié)點(diǎn)都增加一個(gè)直 接指向此結(jié)點(diǎn)的后繼結(jié)點(diǎn)的尾指針構(gòu)成T-lt樹,所述索引方法包括數(shù)據(jù)庫(kù)查詢操作、 關(guān)鍵字插入操作、關(guān)鍵字刪除操作三個(gè)步驟,其中(一) 數(shù)據(jù)庫(kù)查詢操作步驟A、 開始操作,設(shè)T-lt樹根結(jié)點(diǎn)為當(dāng)前結(jié)點(diǎn);B、 判斷當(dāng)前結(jié)點(diǎn)是否為空,當(dāng)結(jié)果為是,則結(jié)束操作,返回未搜索到;當(dāng)結(jié)果為否, 進(jìn)入下一步驟;C、 判斷搜索值是否小于當(dāng)前結(jié)點(diǎn)的最小值,當(dāng)結(jié)果為是,則設(shè)左子結(jié)點(diǎn)為當(dāng)前結(jié)點(diǎn), 返回步驟B,繼續(xù)進(jìn)行搜索操作;當(dāng)結(jié)果為否,進(jìn)入下一步驟;D、 判斷搜索值是否大于當(dāng)前結(jié)點(diǎn)的最大值,當(dāng)結(jié)果為是,則設(shè)右子結(jié)點(diǎn)為當(dāng)前結(jié)點(diǎn), 返回步驟B,繼續(xù)進(jìn)行搜索操作;當(dāng)結(jié)果為否,則進(jìn)入下一步驟;E、 在當(dāng)前結(jié)點(diǎn)和其tail結(jié)點(diǎn)中進(jìn)行二分査找,結(jié)束操作,并返回搜索結(jié)果;(二) 關(guān)鍵字插入操作步驟F、 開始操作,設(shè)T-lt樹根結(jié)點(diǎn)為當(dāng)前結(jié)點(diǎn);重復(fù)上述(一)數(shù)據(jù)庫(kù)査詢操作步驟 A E,在E步驟中將當(dāng)前結(jié)點(diǎn)作為范圍結(jié)點(diǎn);G、 判斷是否找到范圍結(jié)點(diǎn),當(dāng)沒有找到范圍結(jié)點(diǎn),則將搜索路徑中的最后一個(gè)結(jié)點(diǎn)作為范圍結(jié)點(diǎn),進(jìn)入下一步驟;H、 當(dāng)尋找到范圍結(jié)點(diǎn),繼續(xù)判斷該范圍結(jié)點(diǎn)是否已滿;① 、當(dāng)該范圍結(jié)點(diǎn)未滿,判斷該范圍結(jié)點(diǎn)是否含有tail結(jié)點(diǎn)或者原始結(jié)點(diǎn)未滿;a、 當(dāng)結(jié)果為是,將待插入元素按一定的順序插入范圍結(jié)點(diǎn),結(jié)束操作;b、 當(dāng)結(jié)果為否,則在該范圍結(jié)點(diǎn)中添加tail結(jié)點(diǎn),使tail結(jié)點(diǎn)的尾指針指向原范 圍結(jié)點(diǎn)的后繼結(jié)點(diǎn),原范圍結(jié)點(diǎn)的尾指針則指向該tail結(jié)點(diǎn),然后將待插入值插入到 新的范圍結(jié)點(diǎn)中,結(jié)束操作;② 、當(dāng)該范圍結(jié)點(diǎn)已滿,進(jìn)行以下操作c、 通過該范圍結(jié)點(diǎn)的tail結(jié)點(diǎn)的后繼指針找到其直接后繼結(jié)點(diǎn),然后將tail結(jié)點(diǎn)移出,作為其后繼結(jié)點(diǎn)的左子結(jié)點(diǎn),最后將待插入元素插入原范圍結(jié)點(diǎn)或者新的子結(jié)點(diǎn);d、 判斷T-lt樹是否失去平衡,當(dāng)樹失去平衡,則進(jìn)行旋轉(zhuǎn)操作使樹平衡,然后結(jié) 束操作;當(dāng)T-lt樹未失去平衡,則結(jié)束操作;(三)關(guān)鍵字刪除操作步驟-I、開始操作,設(shè)T-lt樹根結(jié)點(diǎn)為當(dāng)前結(jié)點(diǎn);重復(fù)上述(一)數(shù)據(jù)庫(kù)查詢操作步驟A E,在E步驟中將當(dāng)前結(jié)點(diǎn)作為范圍結(jié)點(diǎn);J、判斷是否找到范圍結(jié)點(diǎn),當(dāng)沒有找到范圍本文檔來自技高網(wǎng)
    ...

    【技術(shù)保護(hù)點(diǎn)】
    一種基于T-lt樹的主存數(shù)據(jù)庫(kù)的索引方法,其特征在于:將T樹的每個(gè)結(jié)點(diǎn)都增加一個(gè)直接指向此結(jié)點(diǎn)的后繼結(jié)點(diǎn)的尾指針構(gòu)成T-lt樹,所述索引方法包括數(shù)據(jù)庫(kù)查詢操作、關(guān)鍵字插入操作、關(guān)鍵字刪除操作三個(gè)步驟,其中: (一)數(shù)據(jù)庫(kù)查詢操作步驟:  A、開始操作,設(shè)T-lt樹根結(jié)點(diǎn)為當(dāng)前結(jié)點(diǎn); B、判斷當(dāng)前結(jié)點(diǎn)是否為空,當(dāng)結(jié)果為是,則結(jié)束操作,返回未搜索到;當(dāng)結(jié)果為否,進(jìn)入下一步驟; C、判斷搜索值是否小于當(dāng)前結(jié)點(diǎn)的最小值,當(dāng)結(jié)果為是,則設(shè)左子結(jié)點(diǎn)為當(dāng)前結(jié)點(diǎn),返回步 驟B,繼續(xù)進(jìn)行搜索操作;當(dāng)結(jié)果為否,進(jìn)入下一步驟; D、判斷搜索值是否大于當(dāng)前結(jié)點(diǎn)的最大值,當(dāng)結(jié)果為是,則設(shè)右子結(jié)點(diǎn)為當(dāng)前結(jié)點(diǎn),返回步驟B,繼續(xù)進(jìn)行搜索操作;當(dāng)結(jié)果為否,則進(jìn)入下一步驟; E、在當(dāng)前結(jié)點(diǎn)和其tail結(jié)點(diǎn)中進(jìn)行二分 查找,結(jié)束操作,并返回搜索結(jié)果; (二)關(guān)鍵字插入操作步驟: F、開始操作,設(shè)T-lt樹根結(jié)點(diǎn)為當(dāng)前結(jié)點(diǎn);重復(fù)上述(一)數(shù)據(jù)庫(kù)查詢操作步驟A~E,在E步驟中將當(dāng)前結(jié)點(diǎn)作為范圍結(jié)點(diǎn); G、判斷是否找到范圍結(jié)點(diǎn),當(dāng)沒有找到范圍 結(jié)點(diǎn),則將搜索路徑中的最后一個(gè)結(jié)點(diǎn)作為范圍結(jié)點(diǎn),進(jìn)入下一步驟; H、當(dāng)尋找到范圍結(jié)點(diǎn),繼續(xù)判斷該范圍結(jié)點(diǎn)是否已滿; ①、當(dāng)該范圍結(jié)點(diǎn)未滿,判斷該范圍結(jié)點(diǎn)是否含有tail結(jié)點(diǎn)或者原始結(jié)點(diǎn)未滿; a、當(dāng)結(jié)果為是,將待插入元素 按一定的順序插入范圍結(jié)點(diǎn),結(jié)束操作; b、當(dāng)結(jié)果為否,則在該范圍結(jié)點(diǎn)中添加tail結(jié)點(diǎn),使tail結(jié)點(diǎn)的尾指針指向原范圍結(jié)點(diǎn)的后繼結(jié)點(diǎn),原范圍結(jié)點(diǎn)的尾指針則指向該tail結(jié)點(diǎn),然后將待插入值插入到新的范圍結(jié)點(diǎn)中,結(jié)束操作; ②、 當(dāng)該范圍結(jié)點(diǎn)已滿,進(jìn)行以下操作: c、通過該范圍結(jié)點(diǎn)的tail結(jié)點(diǎn)的后繼指針找到其直接后繼結(jié)點(diǎn),然后將tail結(jié)點(diǎn)移出,作為其后繼結(jié)點(diǎn)的左子結(jié)點(diǎn),最后將待插入元素插入原范圍結(jié)點(diǎn)或者新的子結(jié)點(diǎn); d、判斷T-lt樹是否失去平衡,當(dāng) 樹失去平衡,則進(jìn)行旋轉(zhuǎn)操作使樹平衡,然后結(jié)束操作;當(dāng)T-lt樹未失去平衡,則結(jié)束操作; (三)關(guān)鍵字刪除操作步驟: I、開始操作,設(shè)T-lt樹根結(jié)點(diǎn)為當(dāng)前結(jié)點(diǎn);重復(fù)上述(一)數(shù)據(jù)庫(kù)查詢操作步驟A~E,在E步驟中將當(dāng)前結(jié)點(diǎn)作為范圍 結(jié)點(diǎn); J、判斷是否找到范圍結(jié)點(diǎn),當(dāng)沒有找到范圍結(jié)點(diǎn),則操作失敗退出; K、當(dāng)尋找到范圍結(jié)點(diǎn),在該范圍結(jié)點(diǎn)內(nèi)刪除待刪元素,判斷...

    【技術(shù)特征摘要】

    【專利技術(shù)屬性】
    技術(shù)研發(fā)人員:秦小麟柏傳杰戴華
    申請(qǐng)(專利權(quán))人:南京航空航天大學(xué)
    類型:發(fā)明
    國(guó)別省市:84[中國(guó)|南京]

    網(wǎng)友詢問留言 已有0條評(píng)論
    • 還沒有人留言評(píng)論。發(fā)表了對(duì)其他瀏覽者有用的留言會(huì)獲得科技券。

    1
    主站蜘蛛池模板: 特级做A爰片毛片免费看无码| 国精品无码一区二区三区左线| 人妻无码αv中文字幕久久 | 十八禁无码免费网站| 无码乱人伦一区二区亚洲一| 无码少妇A片一区二区三区| 中文字幕精品无码亚洲字| 亚洲AV永久无码天堂影院 | 无码人妻精品一区二区三区99性| 免费看国产成年无码AV片| 国产成人精品无码播放| 国产精品无码一区二区在线观| 亚洲av永久无码制服河南实里| 国产精品无码专区AV在线播放| 精品多人p群无码| 亚洲精品色午夜无码专区日韩| 一级片无码中文字幕乱伦| 亚洲Av永久无码精品一区二区 | 久久人妻内射无码一区三区 | 亚洲成在人线在线播放无码| 亚洲一区爱区精品无码| 无码人妻AⅤ一区二区三区水密桃 无码欧精品亚洲日韩一区夜夜嗨 无码免费又爽又高潮喷水的视频 无码毛片一区二区三区中文字幕 无码毛片一区二区三区视频免费播放 | 无码熟妇人妻AV在线影院| 熟妇人妻无码中文字幕| 久久影院午夜理论片无码| 国产精品亚洲а∨无码播放麻豆| 亚洲中文字幕无码av永久| 日韩精品久久无码人妻中文字幕 | 人妻精品久久无码专区精东影业| julia无码人妻中文字幕在线 | 亚洲AV无码国产丝袜在线观看 | 少妇性饥渴无码A区免费 | 中文字幕无码第1页| 国产99久久九九精品无码| 无码av天天av天天爽| 成人免费无码大片a毛片| 秋霞鲁丝片无码av| 亚洲无码高清在线观看| 国产成人亚洲综合无码| 亚洲中文字幕无码久久2017| 亚洲精品无码专区久久久|