[發(fā)明專利]數(shù)據(jù)庫可重復(fù)讀實現(xiàn)方法、裝置及數(shù)據(jù)庫管理系統(tǒng)有效
| 申請?zhí)枺?/td> | 200710122416.0 | 申請日: | 2007-09-25 |
| 公開(公告)號: | CN101127045A | 公開(公告)日: | 2008-02-20 |
| 發(fā)明(設(shè)計)人: | 印和平;常二鵬;李世亮;盧勤元 | 申請(專利權(quán))人: | 中興通訊股份有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京律誠同業(yè)知識產(chǎn)權(quán)代理有限公司 | 代理人: | 梁揮;祁建國 |
| 地址: | 518057廣東省深圳市南*** | 國省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 數(shù)據(jù)庫 復(fù)讀 實現(xiàn) 方法 裝置 管理 系統(tǒng) | ||
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)庫管理系統(tǒng)(DBMS),尤其涉及事務(wù)隔離級別,特別是多事務(wù)并發(fā)執(zhí)行時數(shù)據(jù)可重復(fù)讀的實現(xiàn)方法、裝置及應(yīng)用其的數(shù)據(jù)庫管理系統(tǒng)。
背景技術(shù)
數(shù)據(jù)庫管理系統(tǒng)中事務(wù)必須確保四種屬性:原子性,即事務(wù)中所有動作或者全部執(zhí)行或者全不執(zhí)行;一致性,即每個事務(wù)必須保持數(shù)據(jù)庫的一致性;隔離性,即每個事務(wù)的執(zhí)行不受正在執(zhí)行的其它事務(wù)的影響;持久性,即事務(wù)一旦提交成功,所有對數(shù)據(jù)庫的改變應(yīng)能持久保存在存儲介質(zhì)上。
設(shè)有事務(wù)T1、T2,并發(fā)執(zhí)行時可能存在三種沖突:WR沖突,即T2可能會讀T1剛修改過且未提交的數(shù)據(jù),這樣T2讀入的數(shù)據(jù)是臟數(shù)據(jù),稱作“臟讀”;RW沖突,即T2可能會修改剛被T1讀入的數(shù)據(jù)且T1尚未結(jié)束,這樣如果T1再次讀入同一對象,會有不同的值,也稱“不可重復(fù)讀”;WW沖突,即T2可能會覆寫剛被T1修改過的值且T1尚未結(jié)束,這樣會導(dǎo)致數(shù)據(jù)的不一致性。串行調(diào)度可以保證數(shù)據(jù)的一致性,但不利于系統(tǒng)性能,因此SQL(Structured?Query?Language,結(jié)構(gòu)化查詢語言)標準中定義了四種隔離級別:可串行化讀,這種隔離級別保證事務(wù)T只讀其它已提交事務(wù)的修改,在T提交之前,其它事務(wù)不得修改已被T讀或修改的對象,并且,如果T基于某些搜索條件讀一組對象,在T完成之前,其它事務(wù)不得修改該組對象;可重復(fù)讀,這種隔離級別保證事務(wù)T只讀其它已提交事務(wù)的修改,在T提交之前,其它事務(wù)不得修改已被T讀或修改的對象;提交讀,這種隔離級別保證事務(wù)T只讀其它已提交事務(wù)的修改,在T提交之前,其它事務(wù)不得修改已被T修改的對象;未提交讀,這種隔離級別保證事務(wù)T只讀其它已提交事務(wù)的修改。
中國專利申請?zhí)枮?00310124201的對比文件公開了一種在數(shù)據(jù)庫里快速定位數(shù)據(jù)頁中記錄的方法,包括:在數(shù)據(jù)頁的末端設(shè)置一個目錄結(jié)構(gòu),該目錄結(jié)構(gòu)由一組記錄偏移構(gòu)成,記錄偏移是某條記錄在頁里的位置偏移;該目錄結(jié)構(gòu)中的每個目錄稱之為dir_slot,每個dir_slot存放一個記錄位置的偏移;采用快速二分法定位算法在dir_slot中查找相關(guān)記錄,在定位到某個dir_slot后,根據(jù)該dir_slot中存放的記錄偏移,順序查找這相關(guān)的這一組記錄,準確地定位到要找的那條記錄。該方法采用查詢過程和本專利中查詢過程類似,都需要從索引根節(jié)點開始,采用二分查找定位到記錄組,再遍歷記錄組,找到滿足條件的記錄,取得子節(jié)點,如此重復(fù)重復(fù)直至到達葉子節(jié)點。但是,該專利中實現(xiàn)的隔離級別是可串行化讀,如果事務(wù)讀到某條記錄時,其它事務(wù)正在修改,則需要等待其它事務(wù)提交完成。
國際公開號為WO2004/025519?A2的對比文件也公開了一種相關(guān)方法,如果當前記錄的事務(wù)ID大于讀視圖中最大事務(wù)ID,說明記錄是后來插入的,所以該記錄不可見,如果當前記錄的事務(wù)ID小于讀視圖中最小事務(wù)ID或介于事務(wù)列表中任意相鄰兩個事務(wù)ID之間,說明修改該記錄的事務(wù)已提交,所以該記錄可見,這與本發(fā)明是一致的;但是遇到未提交事務(wù)修改的記錄,該發(fā)明僅將其標記為不可見而丟棄,本發(fā)明則是從記錄中取出回滾指針,解碼回滾指針獲得撤銷日志的地址,從而由撤銷日志構(gòu)造出一條讀視圖看得見的記錄。
總之,目前的數(shù)據(jù)庫管理系統(tǒng)都允許多用戶、多事務(wù)并發(fā)執(zhí)行,因此不可避免會遇到上述三種沖突。解決沖突最簡單的方法是采用鎖機制,讀或?qū)懼跋葘Ρ砑右庀蚬蚕礞i或意向排它鎖、對記錄加共享鎖或排它鎖,但這樣損害了事務(wù)的并發(fā)性,犧牲了系統(tǒng)性能。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題在于,提供一種高效率的數(shù)據(jù)庫可重復(fù)讀的實現(xiàn)方法、裝置及應(yīng)用其的數(shù)據(jù)庫管理系統(tǒng),可以增大事務(wù)并發(fā)性,提高系統(tǒng)性能。
為了實現(xiàn)上述目的,本發(fā)明提供了一種數(shù)據(jù)庫可重復(fù)讀實現(xiàn)方法,用于一種多用戶、多事務(wù)并發(fā)的數(shù)據(jù)庫管理系統(tǒng),所述系統(tǒng)維護一事務(wù)列表、一回滾段及一索引樹,該方法包括:
步驟一,在遍歷所述系統(tǒng)維護的事務(wù)列表時利用索引快速定位到滿足條件的頁,其中,所述事務(wù)列表,用于保存當前正在并發(fā)執(zhí)行且未提交的事務(wù);
步驟二,遍歷頁記錄時檢查當前事務(wù)是否看得見當前記錄,如果看得見,則將當前記錄加入到結(jié)果集中,如果看不見則利用所述系統(tǒng)維護的回滾段中的撤銷日志,構(gòu)造出該記錄的原始版本并添加到結(jié)果集中,其中所述回滾段用于記錄事務(wù)所做的修改。
上述數(shù)據(jù)庫可重復(fù)讀實現(xiàn)方法,所述系統(tǒng)維護一個回滾段的步驟,進一步包括:
步驟11,所述系統(tǒng)在磁盤上生成回滾段日志文件,同時在高速緩存中保存相應(yīng)頁,并使每次插入一撤銷日志僅針對所述高速緩存中的頁;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于中興通訊股份有限公司,未經(jīng)中興通訊股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200710122416.0/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 上一篇:簾幕式裝置
- 下一篇:抗前列腺特異性膜抗原(PSMA)的人單克隆抗體
- 數(shù)據(jù)庫
- 數(shù)據(jù)庫管理系統(tǒng)及數(shù)據(jù)庫
- 數(shù)據(jù)庫構(gòu)筑裝置、數(shù)據(jù)庫檢索裝置、數(shù)據(jù)庫裝置、數(shù)據(jù)庫構(gòu)筑方法、以及數(shù)據(jù)庫檢索方法
- 數(shù)據(jù)庫和數(shù)據(jù)庫處理方法
- 數(shù)據(jù)庫系統(tǒng)、數(shù)據(jù)庫更新方法、數(shù)據(jù)庫以及數(shù)據(jù)庫更新程序
- 容器數(shù)據(jù)庫
- 數(shù)據(jù)庫同步方法及數(shù)據(jù)庫
- 一種MongoDB數(shù)據(jù)庫對象復(fù)制延遲監(jiān)控方法和裝置
- 數(shù)據(jù)分布式存儲方法、裝置、電子設(shè)備及存儲介質(zhì)
- 數(shù)據(jù)庫語句執(zhí)行方法及裝置
- 互動業(yè)務(wù)終端、實現(xiàn)系統(tǒng)及實現(xiàn)方法
- 街景地圖的實現(xiàn)方法和實現(xiàn)系統(tǒng)
- 游戲?qū)崿F(xiàn)系統(tǒng)和游戲?qū)崿F(xiàn)方法
- 圖像實現(xiàn)裝置及其圖像實現(xiàn)方法
- 增強現(xiàn)實的實現(xiàn)方法以及實現(xiàn)裝置
- 軟件架構(gòu)的實現(xiàn)方法和實現(xiàn)平臺
- 數(shù)值預(yù)報的實現(xiàn)方法及實現(xiàn)系統(tǒng)
- 空調(diào)及其冬眠控制模式實現(xiàn)方法和實現(xiàn)裝置以及實現(xiàn)系統(tǒng)
- 空調(diào)及其睡眠控制模式實現(xiàn)方法和實現(xiàn)裝置以及實現(xiàn)系統(tǒng)
- 輸入設(shè)備實現(xiàn)方法及其實現(xiàn)裝置





