[發(fā)明專(zhuān)利]基于鏈表的內(nèi)存數(shù)據(jù)庫(kù)頁(yè)式存儲(chǔ)方法有效
| 申請(qǐng)?zhí)枺?/td> | 201110445101.6 | 申請(qǐng)日: | 2011-12-27 |
| 公開(kāi)(公告)號(hào): | CN102411632A | 公開(kāi)(公告)日: | 2012-04-11 |
| 發(fā)明(設(shè)計(jì))人: | 薛忠斌;王珊;馮玉;覃雄派;周烜;楊經(jīng)正;耿怡娜 | 申請(qǐng)(專(zhuān)利權(quán))人: | 北京人大金倉(cāng)信息技術(shù)股份有限公司 |
| 主分類(lèi)號(hào): | G06F17/30 | 分類(lèi)號(hào): | G06F17/30 |
| 代理公司: | 北京汲智翼成知識(shí)產(chǎn)權(quán)代理事務(wù)所(普通合伙) 11381 | 代理人: | 陳曦;郭亞芳 |
| 地址: | 100085 北京市*** | 國(guó)省代碼: | 北京;11 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 基于 內(nèi)存 數(shù)據(jù)庫(kù) 存儲(chǔ) 方法 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及一種數(shù)據(jù)庫(kù)數(shù)據(jù)存儲(chǔ)方法,尤其涉及一種基于鏈表的內(nèi)存數(shù)據(jù)庫(kù)頁(yè)式存儲(chǔ)方法,屬于數(shù)據(jù)庫(kù)存儲(chǔ)技術(shù)領(lǐng)域。
背景技術(shù)
傳統(tǒng)的數(shù)據(jù)庫(kù)管理系統(tǒng)把所有數(shù)據(jù)都放在磁盤(pán)上進(jìn)行管理,稱(chēng)為磁盤(pán)數(shù)據(jù)庫(kù)(DRDB:Disk-Resident?Database)。近年來(lái),內(nèi)存容量不斷提高,價(jià)格不斷下跌,操作系統(tǒng)可以支持的地址空間不斷加大(計(jì)算機(jī)進(jìn)入了64位時(shí)代),同時(shí)對(duì)數(shù)據(jù)庫(kù)系統(tǒng)實(shí)時(shí)響應(yīng)能力要求日益提高,充分利用內(nèi)存技術(shù)提升數(shù)據(jù)庫(kù)性能成為一個(gè)熱點(diǎn)。
在數(shù)據(jù)庫(kù)技術(shù)中,目前主要有兩種方法來(lái)使用大量的內(nèi)存。一種是在傳統(tǒng)的數(shù)據(jù)庫(kù)中,增大緩沖池,將一個(gè)事務(wù)所涉及的數(shù)據(jù)都放在緩沖池中,組織成相應(yīng)的數(shù)據(jù)結(jié)構(gòu)來(lái)進(jìn)行查詢(xún)和更新處理,也就是常說(shuō)的共享內(nèi)存技術(shù),這種方法優(yōu)化的主要目標(biāo)是最小化磁盤(pán)訪(fǎng)問(wèn)。另一種就是內(nèi)存數(shù)據(jù)庫(kù)(MMDB:Main?Memory?Database,也叫主存數(shù)據(jù)庫(kù))技術(shù),重新設(shè)計(jì)一種數(shù)據(jù)庫(kù)管理系統(tǒng),對(duì)查詢(xún)處理、并發(fā)控制與恢復(fù)的算法和數(shù)據(jù)結(jié)構(gòu)進(jìn)行重新設(shè)計(jì),以更有效地使用CPU周期和內(nèi)存,這種技術(shù)近乎把整個(gè)數(shù)據(jù)庫(kù)放進(jìn)內(nèi)存中,因而會(huì)產(chǎn)生一些根本性的變化。
內(nèi)存數(shù)據(jù)庫(kù)數(shù)據(jù)存儲(chǔ)的組織和管理一個(gè)MMDB的邏輯整體主要由兩個(gè)部分構(gòu)成,即內(nèi)存版本與外存版本。主存儲(chǔ)器是易失內(nèi)存,它存放MMDB的“工作版本”。它在邏輯上被劃分為若干分區(qū),一個(gè)分區(qū)用來(lái)存放一個(gè)關(guān)系的數(shù)據(jù)。每個(gè)分區(qū)又物理地由若干相互鏈接的塊組成。一塊是一個(gè)固定長(zhǎng)度的連續(xù)區(qū)域,它是內(nèi)外存I/O的單位,也是內(nèi)存分配、回收以及對(duì)MMDB進(jìn)行恢復(fù)的單位。索引與數(shù)據(jù)記錄分離存放。NV-RAM(NO?Vola?tile?RAM)廣泛用于嵌入式系統(tǒng),并可與Flash-RAM配合使用,充當(dāng)Flash-RAM寫(xiě)緩沖區(qū)。主存數(shù)據(jù)與NV-RAM數(shù)據(jù)一起統(tǒng)稱(chēng)為MMDB的“內(nèi)存版本”。磁盤(pán)存儲(chǔ)器用來(lái)存放未在內(nèi)存的那一部分?jǐn)?shù)據(jù)庫(kù)數(shù)據(jù),同時(shí)也用作數(shù)據(jù)庫(kù)恢復(fù)的備份,稱(chēng)之為“外存版本”。為便于實(shí)現(xiàn)內(nèi)外存間的數(shù)據(jù)交換,將磁盤(pán)數(shù)據(jù)在邏輯上劃分為與內(nèi)存塊同樣長(zhǎng)度的定長(zhǎng)塊,建立相同類(lèi)型的索引。
針對(duì)內(nèi)存數(shù)據(jù)庫(kù)的上述特點(diǎn),重新設(shè)計(jì)數(shù)據(jù)庫(kù)的體系結(jié)構(gòu),使其布局緊湊合理,使其適應(yīng)內(nèi)存運(yùn)行特點(diǎn),便于進(jìn)一步功能擴(kuò)展并提高處理速度。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問(wèn)題在于針對(duì)內(nèi)存數(shù)據(jù)庫(kù)提供一種便于擴(kuò)展并且處理快速的數(shù)據(jù)存儲(chǔ)方法。
為實(shí)現(xiàn)上述目的,本發(fā)明提供一種基于鏈表的內(nèi)存數(shù)據(jù)庫(kù)頁(yè)式存儲(chǔ)方法,其特征在于:內(nèi)存數(shù)據(jù)庫(kù)分為用于存儲(chǔ)數(shù)據(jù)庫(kù)運(yùn)行所需信息的系統(tǒng)數(shù)據(jù)庫(kù),以及用于存儲(chǔ)用戶(hù)創(chuàng)建表的用戶(hù)數(shù)據(jù)庫(kù),其中,所述系統(tǒng)數(shù)據(jù)庫(kù)中的信息存儲(chǔ)在由基本邏輯塊和系統(tǒng)數(shù)據(jù)庫(kù)中頁(yè)結(jié)構(gòu)構(gòu)成的鏈表結(jié)構(gòu)中;所述用戶(hù)數(shù)據(jù)庫(kù)中的元組存放在由邏輯塊和用戶(hù)數(shù)據(jù)庫(kù)中的頁(yè)構(gòu)成的鏈表結(jié)構(gòu)中,所述邏輯塊,作為節(jié)點(diǎn)存儲(chǔ)在所述系統(tǒng)數(shù)據(jù)庫(kù)中相應(yīng)的鏈表的頁(yè)中。
因?yàn)楸景l(fā)明重新設(shè)計(jì)了數(shù)據(jù)庫(kù)的體系結(jié)構(gòu),使其布局緊湊合理,使其適應(yīng)內(nèi)存運(yùn)行特點(diǎn),便于進(jìn)一步功能擴(kuò)展。因?yàn)楸景l(fā)明數(shù)據(jù)依據(jù)鏈表結(jié)構(gòu)進(jìn)行存儲(chǔ),存儲(chǔ)時(shí),統(tǒng)一按照定長(zhǎng)數(shù)據(jù)處理,運(yùn)行時(shí)只需要通過(guò)指針進(jìn)行訪(fǎng)問(wèn),大大縮減了響應(yīng)時(shí)間,提高處理速度。
附圖說(shuō)明
下面結(jié)合附圖和具體實(shí)施方式對(duì)本發(fā)明作進(jìn)一步的詳細(xì)說(shuō)明。
圖1是本發(fā)明的系統(tǒng)數(shù)據(jù)庫(kù)構(gòu)成示意圖;
圖2是本發(fā)明的用戶(hù)數(shù)據(jù)庫(kù)構(gòu)成示意圖;
圖3是邏輯塊結(jié)構(gòu)示意圖;
圖4是頁(yè)結(jié)構(gòu)示意圖;
圖5是邏輯塊-頁(yè)鏈表結(jié)構(gòu)示意圖。
具體實(shí)施方式
本發(fā)明對(duì)內(nèi)存數(shù)據(jù)庫(kù)進(jìn)行重構(gòu),使其分為兩塊:系統(tǒng)數(shù)據(jù)庫(kù)和用戶(hù)數(shù)據(jù)庫(kù)。把數(shù)據(jù)庫(kù)中的數(shù)據(jù)字典等信息存儲(chǔ)在由邏輯塊和頁(yè)構(gòu)成的鏈表中。對(duì)于數(shù)據(jù)庫(kù)運(yùn)行時(shí)的鎖、事務(wù)、日志、用戶(hù)信息、用戶(hù)創(chuàng)建表的信息、用戶(hù)創(chuàng)建表的屬性信息、表的索引信息等都有相應(yīng)的基本邏輯塊與其對(duì)應(yīng)。這種設(shè)計(jì),結(jié)構(gòu)清晰,緊湊,便于進(jìn)一步功能擴(kuò)展。在存儲(chǔ)數(shù)據(jù)時(shí),把元組作為定長(zhǎng)進(jìn)行存儲(chǔ),對(duì)于變長(zhǎng)數(shù)據(jù)單獨(dú)創(chuàng)建一個(gè)鏈表進(jìn)行存儲(chǔ)。對(duì)于大數(shù)據(jù),把幾個(gè)物理相鄰的頁(yè)合并,進(jìn)行存儲(chǔ)。對(duì)于索引,只存儲(chǔ)指向元組的指針,這樣減少了索引的大小,提高查詢(xún)效率。
該專(zhuān)利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專(zhuān)利權(quán)人授權(quán)。該專(zhuān)利全部權(quán)利屬于北京人大金倉(cāng)信息技術(shù)股份有限公司,未經(jīng)北京人大金倉(cāng)信息技術(shù)股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專(zhuān)利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110445101.6/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專(zhuān)利網(wǎng)。
- 同類(lèi)專(zhuān)利
- 專(zhuān)利分類(lèi)
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F17-00 特別適用于特定功能的數(shù)字計(jì)算設(shè)備或數(shù)據(jù)處理設(shè)備或數(shù)據(jù)處理方法
G06F17-10 .復(fù)雜數(shù)學(xué)運(yùn)算的
G06F17-20 .處理自然語(yǔ)言數(shù)據(jù)的
G06F17-30 .信息檢索;及其數(shù)據(jù)庫(kù)結(jié)構(gòu)
G06F17-40 .數(shù)據(jù)的獲取和記錄
G06F17-50 .計(jì)算機(jī)輔助設(shè)計(jì)
- 數(shù)據(jù)庫(kù)
- 數(shù)據(jù)庫(kù)管理系統(tǒng)及數(shù)據(jù)庫(kù)
- 數(shù)據(jù)庫(kù)構(gòu)筑裝置、數(shù)據(jù)庫(kù)檢索裝置、數(shù)據(jù)庫(kù)裝置、數(shù)據(jù)庫(kù)構(gòu)筑方法、以及數(shù)據(jù)庫(kù)檢索方法
- 數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)處理方法
- 數(shù)據(jù)庫(kù)系統(tǒng)、數(shù)據(jù)庫(kù)更新方法、數(shù)據(jù)庫(kù)以及數(shù)據(jù)庫(kù)更新程序
- 容器數(shù)據(jù)庫(kù)
- 數(shù)據(jù)庫(kù)同步方法及數(shù)據(jù)庫(kù)
- 一種MongoDB數(shù)據(jù)庫(kù)對(duì)象復(fù)制延遲監(jiān)控方法和裝置
- 數(shù)據(jù)分布式存儲(chǔ)方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì)
- 數(shù)據(jù)庫(kù)語(yǔ)句執(zhí)行方法及裝置
- 動(dòng)態(tài)存儲(chǔ)管理裝置及方法
- 一種存儲(chǔ)方法、服務(wù)器及存儲(chǔ)控制器
- 一種基于存儲(chǔ)系統(tǒng)的控制方法及裝置
- 一種信息的存儲(chǔ)控制方法
- 一種數(shù)據(jù)存儲(chǔ)方法及裝置
- 數(shù)據(jù)存儲(chǔ)方法、裝置、計(jì)算機(jī)設(shè)備以及存儲(chǔ)介質(zhì)
- 一種數(shù)據(jù)存儲(chǔ)控制方法及裝置
- 存儲(chǔ)設(shè)備、存儲(chǔ)系統(tǒng)及存儲(chǔ)方法
- 物料存儲(chǔ)方法及系統(tǒng)
- 基于雙芯智能電表的數(shù)據(jù)分類(lèi)存儲(chǔ)方法和裝置





