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

      基于動(dòng)態(tài)索引的分布式緩沖區(qū)管理方法

      文檔序號(hào):6432595閱讀:186來源:國知局
      專利名稱:基于動(dòng)態(tài)索引的分布式緩沖區(qū)管理方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及一種數(shù)據(jù)庫集群系統(tǒng)中分布式緩沖區(qū)的管理方法,尤其涉及一種基于動(dòng)態(tài)索引機(jī)制實(shí)現(xiàn)的分布式緩沖區(qū)管理方法,屬于數(shù)據(jù)庫集群系統(tǒng)技術(shù)領(lǐng)域。
      背景技術(shù)
      隨著經(jīng)濟(jì)的高速發(fā)展,用戶數(shù)量、數(shù)據(jù)量呈現(xiàn)爆炸式增長(zhǎng)。在用戶需求不斷增長(zhǎng)的應(yīng)用環(huán)境下,對(duì)數(shù)據(jù)庫技術(shù)提出了嚴(yán)峻的考驗(yàn)。對(duì)于所有的數(shù)據(jù)庫而言,除了記錄正確的處理結(jié)果之外,還面臨著以下幾方面的挑戰(zhàn)如何提高處理速度,實(shí)現(xiàn)數(shù)據(jù)庫的負(fù)載均衡;如何保證數(shù)據(jù)庫的可用性、數(shù)據(jù)安全性以及如何實(shí)現(xiàn)數(shù)據(jù)集可擴(kuò)展性。為了應(yīng)對(duì)上述技術(shù)挑戰(zhàn),人們借鑒計(jì)算機(jī)集群(將一組松散集成的計(jì)算機(jī)軟件和 /或硬件連接起來高度緊密地協(xié)作完成計(jì)算工作)的技術(shù)理念,將多個(gè)數(shù)據(jù)庫連接起來組成數(shù)據(jù)庫集群系統(tǒng)。數(shù)據(jù)庫集群系統(tǒng)(Database Cluster System,簡(jiǎn)稱DBCS)將集群技術(shù)與數(shù)據(jù)庫系統(tǒng)相結(jié)合,是一組完整的、自治的計(jì)算處理單元(節(jié)點(diǎn)),每個(gè)節(jié)點(diǎn)均有獨(dú)自的 CPU、內(nèi)存以及磁盤等硬件資源,運(yùn)行獨(dú)立的操作系統(tǒng)和自治的數(shù)據(jù)庫系統(tǒng)。各個(gè)節(jié)點(diǎn)通過高速專用網(wǎng)絡(luò)或者商業(yè)通用網(wǎng)絡(luò)互連,彼此協(xié)同計(jì)算,作為統(tǒng)一的數(shù)據(jù)庫系統(tǒng)提供并行事務(wù)處理服務(wù)。在數(shù)據(jù)庫系統(tǒng)中,使用緩沖區(qū)的目標(biāo)是減少磁盤和存儲(chǔ)器之間傳輸?shù)臄?shù)據(jù)塊的數(shù)目,即減少磁盤訪問次數(shù)。在單機(jī)數(shù)據(jù)庫系統(tǒng)中,緩沖區(qū)的應(yīng)用技術(shù)已經(jīng)十分成熟,但在數(shù)據(jù)庫集群系統(tǒng)中,由于集群系統(tǒng)屬于分布式系統(tǒng),傳統(tǒng)的緩沖區(qū)技術(shù)已經(jīng)不能適應(yīng)這種復(fù)雜的分布式系統(tǒng)。分布式緩沖區(qū)管理不僅要求將數(shù)據(jù)塊緩存到緩沖區(qū)中,還必須保證多個(gè)數(shù)據(jù)庫節(jié)點(diǎn)對(duì)相同數(shù)據(jù)塊的并發(fā)訪問,并且保證數(shù)據(jù)庫節(jié)點(diǎn)可以訪問到正確的數(shù)據(jù)塊版本。在專利號(hào)為ZL200710099762. 1的中國發(fā)明專利中,公開了一種嵌入式數(shù)據(jù)庫的存儲(chǔ)管理方法,包括如下步驟(1)數(shù)據(jù)在內(nèi)存存儲(chǔ)策略為邏輯、物理結(jié)構(gòu)相一致,分為系統(tǒng)區(qū)、主存數(shù)據(jù)庫區(qū)、用戶工作區(qū)、日志區(qū)和預(yù)留區(qū);數(shù)據(jù)在外存存儲(chǔ)策略為邏輯結(jié)構(gòu)分為數(shù)據(jù)庫表、段、數(shù)據(jù)庫塊;物理結(jié)構(gòu)包括物理文件和物理塊;( 數(shù)據(jù)庫物理文件組織為將數(shù)據(jù)字典放在首部,其后為用戶表;C3)數(shù)據(jù)字典在外存的存儲(chǔ)管理為物理文件的描述信息存儲(chǔ)在文件頭,外延定義類和屬性定義類采用三段式的存儲(chǔ)方式;數(shù)據(jù)字典在內(nèi)存采用頁式存儲(chǔ)管理方法;(4)采用T樹存取常駐內(nèi)存數(shù)據(jù),采用B+樹存取常駐外存數(shù)據(jù); 采用擴(kuò)展的段頁式存儲(chǔ)管理方法對(duì)數(shù)據(jù)本身及其索引進(jìn)行管理。該方法提高了存儲(chǔ)空間的利用率,加快了數(shù)據(jù)訪問的速度。但是,該方法并不適合在數(shù)據(jù)庫集群系統(tǒng)中使用。

      發(fā)明內(nèi)容
      針對(duì)現(xiàn)有技術(shù)所存在的不足,本發(fā)明所要解決的技術(shù)問題在于提供一種基于動(dòng)態(tài)索引的分布式緩沖區(qū)管理方法。使用該方法可以提高數(shù)據(jù)庫集群系統(tǒng)的整體性能。為實(shí)現(xiàn)上述的發(fā)明目的,本發(fā)明采用下述的技術(shù)方案
      一種基于動(dòng)態(tài)索引的分布式緩沖區(qū)管理方法,用在數(shù)據(jù)庫集群系統(tǒng)中,其特征在于所述數(shù)據(jù)庫集群系統(tǒng)的每個(gè)節(jié)點(diǎn)設(shè)置獨(dú)立的緩沖區(qū);當(dāng)數(shù)據(jù)塊被某個(gè)節(jié)點(diǎn)首次加載到該節(jié)點(diǎn)的緩沖區(qū)時(shí),首先將該數(shù)據(jù)塊的信息加入到全局緩沖區(qū)管理器的動(dòng)態(tài)索引表中,并將緩沖區(qū)的屬性設(shè)置為本地資源,由該節(jié)點(diǎn)持有;當(dāng)其它節(jié)點(diǎn)需要訪問該數(shù)據(jù)塊時(shí),首先向所述全局緩沖區(qū)管理器查詢,在通過動(dòng)態(tài)索引表得知該數(shù)據(jù)塊已經(jīng)被加載、并被某個(gè)節(jié)點(diǎn)持有的情況下,修改該緩沖區(qū)的屬性為全局資源,并向持有該數(shù)據(jù)塊的節(jié)點(diǎn)申請(qǐng)傳送該數(shù)據(jù)塊以供訪問。其中,當(dāng)緩沖區(qū)被修改后,該節(jié)點(diǎn)向全局緩沖區(qū)管理器申請(qǐng)更新動(dòng)態(tài)索引表,并修改所述緩沖區(qū)的狀態(tài)。所述緩沖區(qū)的狀態(tài)包括持有節(jié)點(diǎn)和資源屬性。當(dāng)某個(gè)節(jié)點(diǎn)需要查找某數(shù)據(jù)塊時(shí),首先查詢本地的緩沖區(qū),判斷該緩沖區(qū)中是否存在該數(shù)據(jù)塊,若存在且該緩沖區(qū)的屬性為本地資源則直接使用;否則查詢所述全局緩沖區(qū)管理器的動(dòng)態(tài)索引表,若其它節(jié)點(diǎn)的緩沖區(qū)存在該數(shù)據(jù)塊,則向其它節(jié)點(diǎn)申請(qǐng)傳送該數(shù)據(jù)塊并相應(yīng)修改本地的緩沖區(qū)。若該數(shù)據(jù)塊存在且緩沖區(qū)的屬性不是本地資源,則向所述全局緩沖區(qū)管理器查詢?cè)摂?shù)據(jù)塊是否是最新版本,若該數(shù)據(jù)塊是最新版本則直接訪問該數(shù)據(jù)塊,若該數(shù)據(jù)塊不是最新版本則向持有最新版本的數(shù)據(jù)塊的節(jié)點(diǎn)請(qǐng)求傳送數(shù)據(jù)塊并相應(yīng)修改本地的緩沖區(qū)。若所述全局緩沖區(qū)管理器的動(dòng)態(tài)索引表沒有該數(shù)據(jù)塊的信息,則從數(shù)據(jù)庫集群系統(tǒng)的磁盤中讀取該數(shù)據(jù)塊到本地的緩沖區(qū),并將該數(shù)據(jù)塊的信息添加到所述動(dòng)態(tài)索引表中,更新所述全局緩沖區(qū)管理器中的持有節(jié)點(diǎn)和資源屬性信息,并將緩沖區(qū)的屬性設(shè)置為本地資源。在需要進(jìn)行緩沖區(qū)內(nèi)容置換的情況下,首先選擇當(dāng)前節(jié)點(diǎn)中最近最少使用的緩沖區(qū),檢查該緩沖區(qū)的屬性;若該緩沖區(qū)的屬性為本地資源,則將數(shù)據(jù)塊直接寫入磁盤,移除所述全局緩沖區(qū)管理器中對(duì)該緩沖區(qū)的索引,釋放該緩沖區(qū);若該緩沖區(qū)的屬性為全局資源,則通過所述全局緩沖區(qū)管理器查詢數(shù)據(jù)塊的版本,若該數(shù)據(jù)塊不是最新版本,則直接釋放該緩沖區(qū);若該數(shù)據(jù)塊是最新版本,則將該數(shù)據(jù)塊寫入磁盤中,并通知其它持有該數(shù)據(jù)塊的節(jié)點(diǎn)釋放緩沖區(qū),然后移除所述全局緩沖區(qū)管理器中對(duì)該緩沖區(qū)的索引,釋放該緩沖區(qū)。在該數(shù)據(jù)塊是最新版本的情況下,通知其它持有該數(shù)據(jù)塊的節(jié)點(diǎn)該數(shù)據(jù)塊被設(shè)置為無效。本發(fā)明通過動(dòng)態(tài)索引機(jī)制實(shí)現(xiàn)了數(shù)據(jù)塊的多版本訪問控制,減少了磁盤1/0,提高了數(shù)據(jù)庫集群系統(tǒng)的整體性能;同時(shí)由于數(shù)據(jù)塊的多版本訪問控制,在發(fā)生單節(jié)點(diǎn)故障時(shí)減少了數(shù)據(jù)丟失,提高了單點(diǎn)故障時(shí)系統(tǒng)恢復(fù)的效率。


      下面結(jié)合附圖和具體實(shí)施方式
      對(duì)本發(fā)明作進(jìn)一步的詳細(xì)說明。圖1為本發(fā)明所提供的分布式緩沖區(qū)管理方法中,訪問緩沖區(qū)數(shù)據(jù)塊的操作流程圖2為本發(fā)明所提供的分布式緩沖區(qū)管理方法中,進(jìn)行緩沖區(qū)置換的操作流程圖。
      具體實(shí)施例方式下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明的具體實(shí)施步驟作進(jìn)一步說明,但該實(shí)施例并不能理解為對(duì)本發(fā)明的限定。在某個(gè)基于共享磁盤的數(shù)據(jù)庫集群系統(tǒng)中,包括4個(gè)數(shù)據(jù)庫節(jié)點(diǎn)和1個(gè)全局資源管理節(jié)點(diǎn)。其中,數(shù)據(jù)庫節(jié)點(diǎn)是指提供數(shù)據(jù)庫服務(wù)的服務(wù)器,用于接受用戶的數(shù)據(jù)庫查詢請(qǐng)求,并返回結(jié)果。它屬于數(shù)據(jù)庫集群系統(tǒng)的組成部分,可以有一個(gè)或多個(gè)。全局資源管理節(jié)點(diǎn)是指提供數(shù)據(jù)庫集群系統(tǒng)共享資源管理服務(wù)的節(jié)點(diǎn)。它是數(shù)據(jù)庫集群系統(tǒng)的核心組件, 其中包括用于管理緩沖區(qū)的全局緩沖區(qū)管理器。該全局緩沖區(qū)管理器可以實(shí)現(xiàn)對(duì)各節(jié)點(diǎn)緩沖區(qū)的內(nèi)容索引、版本管理和屬性修改等功能。對(duì)于數(shù)據(jù)庫領(lǐng)域的一般技術(shù)人員而言,以軟件或者固件方式實(shí)現(xiàn)該全局緩沖區(qū)管理器并不是一項(xiàng)困難的工作,在此就不詳細(xì)贅述了。在上述數(shù)據(jù)庫集群系統(tǒng)中,每個(gè)節(jié)點(diǎn)都有其獨(dú)立的本地緩沖區(qū)(簡(jiǎn)稱緩沖區(qū))。該緩沖區(qū)的資源分配可以由節(jié)點(diǎn)自行管理。每個(gè)數(shù)據(jù)塊都有一個(gè)屬性來標(biāo)識(shí)數(shù)據(jù)塊的版本。 當(dāng)數(shù)據(jù)塊加載到緩沖區(qū)時(shí),即成為緩沖區(qū)的版本。在數(shù)據(jù)庫集群系統(tǒng)中,可以存在包含相同數(shù)據(jù)塊的多個(gè)版本緩沖區(qū)。緩沖區(qū)的屬性分為本地資源和全局資源兩種。當(dāng)數(shù)據(jù)塊被某個(gè)節(jié)點(diǎn)首次加載到該節(jié)點(diǎn)的緩沖區(qū)時(shí),將該數(shù)據(jù)塊的信息加入到全局緩沖區(qū)管理器的動(dòng)態(tài)索引表中,并將緩沖區(qū)的屬性設(shè)置為本地資源,由該節(jié)點(diǎn)持有。此后該節(jié)點(diǎn)對(duì)此緩沖區(qū)的所有操作都不再與全局緩沖區(qū)管理器進(jìn)行通訊,即都為本地操作。若該節(jié)點(diǎn)需要更新緩沖區(qū)中的數(shù)據(jù)塊(即修改緩沖區(qū)),則在更新完成后,向全局緩沖區(qū)管理器申請(qǐng)更新動(dòng)態(tài)索引表,將其指向本節(jié)點(diǎn), 并修改緩沖區(qū)的狀態(tài),包括持有節(jié)點(diǎn)和資源屬性等信息。在此過程中,全局緩沖區(qū)管理器中的動(dòng)態(tài)索引表是動(dòng)態(tài)變化的,相同數(shù)據(jù)塊的緩沖區(qū)在不同時(shí)刻的索引并不相同。當(dāng)某個(gè)節(jié)點(diǎn)需要查找某數(shù)據(jù)塊時(shí),首先查詢本地緩沖區(qū),判斷本地緩沖區(qū)中是否存在該數(shù)據(jù)塊。若存在該數(shù)據(jù)塊且緩沖區(qū)屬性為本地資源則可以直接使用;否則需要查詢?nèi)志彌_區(qū)管理器的動(dòng)態(tài)索引表。若其它節(jié)點(diǎn)的緩沖區(qū)存在該數(shù)據(jù)塊,則向其它節(jié)點(diǎn)申請(qǐng)?jiān)L問該數(shù)據(jù)塊,否則該節(jié)點(diǎn)使用原有的緩沖區(qū)或直接從磁盤中讀取數(shù)據(jù)塊到緩沖區(qū)。在某個(gè)節(jié)點(diǎn)向其它節(jié)點(diǎn)申請(qǐng)傳送某數(shù)據(jù)塊(即其它節(jié)點(diǎn)申請(qǐng)?jiān)L問某緩沖區(qū)的數(shù)據(jù)塊)時(shí),首先需要向全局緩沖區(qū)管理器查詢,通過動(dòng)態(tài)索引表得知該數(shù)據(jù)塊已經(jīng)被加載, 并被某個(gè)節(jié)點(diǎn)持有,則修改該緩沖區(qū)的屬性為全局資源,并向持有該數(shù)據(jù)塊的節(jié)點(diǎn)申請(qǐng)傳送該數(shù)據(jù)塊以供訪問。下面,以圖1為例詳細(xì)說明訪問緩沖區(qū)數(shù)據(jù)塊的操作過程。在步驟101中,某個(gè)節(jié)點(diǎn)產(chǎn)生訪問緩沖區(qū)數(shù)據(jù)塊事件;在步驟102中,該節(jié)點(diǎn)首先判斷本地緩沖區(qū)是否存在該數(shù)據(jù)塊若存在該數(shù)據(jù)塊,則跳轉(zhuǎn)步驟103 ;若不存在該數(shù)據(jù)塊,則跳轉(zhuǎn)步驟109 ;在步驟103中,該節(jié)點(diǎn)定位包含該數(shù)據(jù)塊的本地緩沖區(qū),并判斷該緩沖區(qū)的屬性是否為本地資源若該緩沖區(qū)為本地資源,則跳轉(zhuǎn)步驟104 ;若不是本地資源,則跳轉(zhuǎn)步驟105。在步驟104中,該節(jié)點(diǎn)訪問本地緩沖區(qū)中的數(shù)據(jù)塊,完成后跳轉(zhuǎn)至步驟114,完成對(duì)該數(shù)據(jù)塊的訪問。在步驟105中,向全局緩沖區(qū)管理器查詢本地緩沖區(qū)中的數(shù)據(jù)塊是否是最新版本若是最新版本,則跳轉(zhuǎn)步驟106 ;若不是最新版本,則跳轉(zhuǎn)步驟110。在步驟106中,該節(jié)點(diǎn)訪問本地緩沖區(qū)中的數(shù)據(jù)塊;在步驟107中,若該節(jié)點(diǎn)未修改該數(shù)據(jù)塊,則跳轉(zhuǎn)至步驟114,完成對(duì)該數(shù)據(jù)塊的訪問;若該節(jié)點(diǎn)已經(jīng)修改該數(shù)據(jù)塊,則跳轉(zhuǎn)步驟108。在步驟108中,通知全局緩沖區(qū)管理器修改持有節(jié)點(diǎn)和資源屬性等信息,完成后跳轉(zhuǎn)步驟114,完成對(duì)該數(shù)據(jù)塊的訪問。在步驟109中,判斷全局緩沖區(qū)管理器的動(dòng)態(tài)索引表中是否存在該數(shù)據(jù)塊的信息,若存在則跳轉(zhuǎn)步驟110,若不存在跳轉(zhuǎn)步驟111。在步驟110中,該節(jié)點(diǎn)向持有最新版本的數(shù)據(jù)塊的節(jié)點(diǎn)請(qǐng)求傳送該數(shù)據(jù)塊并相應(yīng)更新到本地緩沖區(qū),然后跳轉(zhuǎn)回步驟106。在步驟111中,該節(jié)點(diǎn)從數(shù)據(jù)庫集群系統(tǒng)的磁盤中讀取數(shù)據(jù)塊到本地緩沖區(qū)。在步驟112中,該節(jié)點(diǎn)將該數(shù)據(jù)塊的信息添加到全局緩沖區(qū)管理器的動(dòng)態(tài)索引表中,然后在步驟113中,更新全局緩沖區(qū)管理器中的持有節(jié)點(diǎn)和資源屬性等信息,并將緩沖區(qū)屬性設(shè)置為本地資源,完成后跳轉(zhuǎn)至步驟114。在步驟114中,完成訪問數(shù)據(jù)塊的全部過程。在數(shù)據(jù)庫集群系統(tǒng)的緩沖區(qū)中,有時(shí)會(huì)出現(xiàn)緩沖區(qū)空間不足的情況。在這種情況下,需要進(jìn)行緩沖區(qū)內(nèi)容的置換。具體操作如下首先選擇當(dāng)前節(jié)點(diǎn)中最近最少使用的緩沖區(qū),檢查緩沖區(qū)的屬性。若是本地資源,則將數(shù)據(jù)塊直接寫入磁盤,移除全局緩沖區(qū)管理器中對(duì)此緩沖區(qū)的索引,然后釋放該緩沖區(qū);若是全局資源,則通過全局緩沖區(qū)管理器查詢數(shù)據(jù)塊的版本,若該數(shù)據(jù)塊不是最新版本,則直接釋放緩沖區(qū);否則將其寫入磁盤中,并通知其它持有該數(shù)據(jù)塊的節(jié)點(diǎn)釋放緩沖區(qū),然后移除全局緩沖區(qū)管理器中對(duì)此緩沖區(qū)的索引, 釋放該緩沖區(qū)。下面,以圖2為例詳細(xì)說明緩沖區(qū)置換操作的具體過程。在步驟201中,某個(gè)節(jié)點(diǎn)發(fā)起緩沖區(qū)置換請(qǐng)求;在步驟202中,判斷緩沖區(qū)的屬性是否為本地資源若是本地資源,則跳轉(zhuǎn)步驟203 ;若不是本地資源,則跳轉(zhuǎn)步驟206 ;在步驟203中,將該數(shù)據(jù)塊寫入磁盤,接下來進(jìn)入步驟204,從全局緩沖區(qū)管理器的動(dòng)態(tài)索引表中移除對(duì)該數(shù)據(jù)塊的索引,進(jìn)入步驟205,釋放緩沖區(qū)的資源,完成后跳轉(zhuǎn)至步驟209。在步驟206中,向全局緩沖區(qū)管理器查詢?cè)摂?shù)據(jù)塊是否為最新版本,若是最新版本,則跳轉(zhuǎn)步驟207 ;若不是最新版本,則跳轉(zhuǎn)步驟205。在步驟207中,通知其它節(jié)點(diǎn)該數(shù)據(jù)塊被設(shè)置為無效。在緩沖區(qū)中的數(shù)據(jù)塊被設(shè)置為無效的情況下,可以將置為無效的緩沖區(qū)加入到剩余可用緩沖區(qū)資源表中。在步驟208中,其它節(jié)點(diǎn)釋放包含該數(shù)據(jù)塊的緩沖區(qū), 完成后跳轉(zhuǎn)步驟203。在步驟209中,完成緩沖區(qū)置換的全部過程。以上對(duì)本發(fā)明所提供的基于動(dòng)態(tài)索引的分布式緩沖區(qū)管理方法進(jìn)行了詳細(xì)的說明。對(duì)本領(lǐng)域的技術(shù)人員而言,在不背離本發(fā)明實(shí)質(zhì)精神的前提下對(duì)它所做的任何顯而易見的改動(dòng),都將構(gòu)成對(duì)本發(fā)明專利權(quán)的侵犯,將承擔(dān)相應(yīng)的法律責(zé)任。
      權(quán)利要求
      1.一種基于動(dòng)態(tài)索引的分布式緩沖區(qū)管理方法,用在數(shù)據(jù)庫集群系統(tǒng)中,其特征在于所述數(shù)據(jù)庫集群系統(tǒng)的每個(gè)節(jié)點(diǎn)設(shè)置獨(dú)立的緩沖區(qū);當(dāng)數(shù)據(jù)塊被某個(gè)節(jié)點(diǎn)首次加載到該節(jié)點(diǎn)的緩沖區(qū)時(shí),首先將該數(shù)據(jù)塊的信息加入到全局緩沖區(qū)管理器的動(dòng)態(tài)索引表中,并將緩沖區(qū)的屬性設(shè)置為本地資源,由該節(jié)點(diǎn)持有;當(dāng)其它節(jié)點(diǎn)需要訪問該數(shù)據(jù)塊時(shí),首先向所述全局緩沖區(qū)管理器查詢,在通過動(dòng)態(tài)索引表得知該數(shù)據(jù)塊已經(jīng)被加載、并被某個(gè)節(jié)點(diǎn)持有的情況下,修改該緩沖區(qū)的屬性為全局資源,并向持有該數(shù)據(jù)塊的節(jié)點(diǎn)申請(qǐng)傳送該數(shù)據(jù)塊以供訪問。
      2.如權(quán)利要求1所述的分布式緩沖區(qū)管理方法,其特征在于當(dāng)緩沖區(qū)被修改后,該節(jié)點(diǎn)向所述全局緩沖區(qū)管理器申請(qǐng)更新動(dòng)態(tài)索引表,并修改所述緩沖區(qū)的狀態(tài)。
      3.如權(quán)利要求2所述的分布式緩沖區(qū)管理方法,其特征在于 所述緩沖區(qū)的狀態(tài)包括持有節(jié)點(diǎn)和資源屬性。
      4.如權(quán)利要求1所述的分布式緩沖區(qū)管理方法,其特征在于當(dāng)某個(gè)節(jié)點(diǎn)需要查找某數(shù)據(jù)塊時(shí),首先查詢本地的緩沖區(qū),判斷該緩沖區(qū)中是否存在該數(shù)據(jù)塊,若存在且該緩沖區(qū)的屬性為本地資源則直接使用;否則查詢所述全局緩沖區(qū)管理器的動(dòng)態(tài)索引表,若其它節(jié)點(diǎn)的緩沖區(qū)存在該數(shù)據(jù)塊,則向其它節(jié)點(diǎn)申請(qǐng)傳送該數(shù)據(jù)塊并相應(yīng)修改本地的緩沖區(qū)。
      5.如權(quán)利要求4所述的分布式緩沖區(qū)管理方法,其特征在于若該數(shù)據(jù)塊存在且緩沖區(qū)的屬性不是本地資源,則向所述全局緩沖區(qū)管理器查詢?cè)摂?shù)據(jù)塊是否是最新版本,若該數(shù)據(jù)塊是最新版本則直接訪問該數(shù)據(jù)塊,若該數(shù)據(jù)塊不是最新版本則向持有最新版本的數(shù)據(jù)塊的節(jié)點(diǎn)請(qǐng)求傳送數(shù)據(jù)塊并相應(yīng)修改本地的緩沖區(qū)。
      6.如權(quán)利要求4所述的分布式緩沖區(qū)管理方法,其特征在于若所述全局緩沖區(qū)管理器的動(dòng)態(tài)索引表沒有該數(shù)據(jù)塊的信息,則從數(shù)據(jù)庫集群系統(tǒng)的磁盤中讀取該數(shù)據(jù)塊到本地的緩沖區(qū),并將該數(shù)據(jù)塊的信息添加到所述動(dòng)態(tài)索引表中,更新所述全局緩沖區(qū)管理器中的持有節(jié)點(diǎn)和資源屬性信息,并將緩沖區(qū)的屬性設(shè)置為本地資源。
      7.如權(quán)利要求1所述的分布式緩沖區(qū)管理方法,其特征在于在需要進(jìn)行緩沖區(qū)內(nèi)容置換的情況下,首先選擇當(dāng)前節(jié)點(diǎn)中最近最少使用的緩沖區(qū), 檢查該緩沖區(qū)的屬性;若該緩沖區(qū)的屬性為本地資源,則將數(shù)據(jù)塊直接寫入磁盤,移除所述全局緩沖區(qū)管理器中對(duì)該緩沖區(qū)的索引,釋放該緩沖區(qū);若該緩沖區(qū)的屬性為全局資源,則通過所述全局緩沖區(qū)管理器查詢數(shù)據(jù)塊的版本,若該數(shù)據(jù)塊不是最新版本,則直接釋放該緩沖區(qū);若該數(shù)據(jù)塊是最新版本,則將該數(shù)據(jù)塊寫入磁盤中,并通知其它持有該數(shù)據(jù)塊的節(jié)點(diǎn)釋放緩沖區(qū),然后移除所述全局緩沖區(qū)管理器中對(duì)該緩沖區(qū)的索引,釋放該緩沖區(qū)。
      8.如權(quán)利要求7所述的分布式緩沖區(qū)管理方法,其特征在于在該數(shù)據(jù)塊是最新版本的情況下,通知其它持有該數(shù)據(jù)塊的節(jié)點(diǎn)該數(shù)據(jù)塊被設(shè)置為無效。
      全文摘要
      本發(fā)明公開了一種基于動(dòng)態(tài)索引的分布式緩沖區(qū)管理方法,用在數(shù)據(jù)庫集群系統(tǒng)中。其中,數(shù)據(jù)庫集群系統(tǒng)的每個(gè)節(jié)點(diǎn)設(shè)置獨(dú)立的緩沖區(qū);當(dāng)數(shù)據(jù)塊被某個(gè)節(jié)點(diǎn)首次加載到該節(jié)點(diǎn)的緩沖區(qū)時(shí),首先將該數(shù)據(jù)塊的信息加入到全局緩沖區(qū)管理器的動(dòng)態(tài)索引表中,并將緩沖區(qū)的屬性設(shè)置為本地資源,由該節(jié)點(diǎn)持有;當(dāng)其它節(jié)點(diǎn)需要訪問該數(shù)據(jù)塊時(shí),首先向全局緩沖區(qū)管理器查詢,在通過動(dòng)態(tài)索引表得知該數(shù)據(jù)塊已經(jīng)被加載、并被某個(gè)節(jié)點(diǎn)持有的情況下,修改該緩沖區(qū)的屬性為全局資源,并向持有該數(shù)據(jù)塊的節(jié)點(diǎn)申請(qǐng)傳送該數(shù)據(jù)塊以供訪問。本發(fā)明通過動(dòng)態(tài)索引機(jī)制實(shí)現(xiàn)了數(shù)據(jù)塊的多版本訪問控制,減少了磁盤I/O,提高了數(shù)據(jù)庫集群系統(tǒng)的整體性能。
      文檔編號(hào)G06F17/30GK102314506SQ20111026365
      公開日2012年1月11日 申請(qǐng)日期2011年9月7日 優(yōu)先權(quán)日2011年9月7日
      發(fā)明者馮玉, 冷建全, 李衛(wèi), 李祥凱, 白廣超 申請(qǐng)人:北京人大金倉信息技術(shù)股份有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1