亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

自適應(yīng)區(qū)域鎖定的制作方法

文檔序號(hào):6453697閱讀:209來(lái)源:國(guó)知局
專利名稱:自適應(yīng)區(qū)域鎖定的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及鎖定資源,且更特定來(lái)說(shuō)涉及聚合鎖定。
背景技術(shù)
此部分中所說(shuō)明的方法是可推行的方法,但未必是先前已構(gòu)思或推行的方法。因 此,除非另外指明,否則不應(yīng)假設(shè)此部分中所說(shuō)明的任何方法僅由于其被包括在此部
分中而被看作是現(xiàn)有技術(shù)。
在多處理系統(tǒng)上運(yùn)行的多個(gè)進(jìn)程可存取共享資源,例如磁盤塊。這些共享資源中 的某些可一次僅由一個(gè)進(jìn)程存取,而其它可由多個(gè)進(jìn)程同時(shí)存取。因此,已研發(fā)"同 步機(jī)制"來(lái)控制多個(gè)進(jìn)程對(duì)共享資源的存取。所述同步機(jī)制向進(jìn)程授予鎖定。鎖定授 予所述鎖定的保持者以特定方式存取特定資源的權(quán)利。 一旦進(jìn)程被授予鎖定,那么所 述進(jìn)程保持或擁有所述鎖定直到所述鎖定被放棄、撤銷或另外終止。鎖定由數(shù)據(jù)結(jié)構(gòu) (例如,旗語(yǔ)、讀取/寫入鎖存及狀態(tài)變量)表示。存在許多種類型的鎖定。某些類型 的鎖定允許共享資源由許多進(jìn)程同時(shí)共享(例如,共享讀取鎖定),而其它類型的鎖 定阻止授予對(duì)同一資源的任何類型的鎖定(排他性寫入鎖定)。
負(fù)責(zé)授予鎖定的實(shí)體在本文中稱作鎖定管理器。在單節(jié)點(diǎn)多處理系統(tǒng)中,鎖定管 理器通常是由存取共享資源的節(jié)點(diǎn)上進(jìn)程執(zhí)行及調(diào)用的軟件組件。
與單節(jié)點(diǎn)系統(tǒng)相比,多節(jié)點(diǎn)系統(tǒng)由計(jì)算裝置或節(jié)點(diǎn)的網(wǎng)絡(luò)組成,其每一者可以是
多處理系統(tǒng)。所述節(jié)點(diǎn)中的每一者可存取一組共享資源。多節(jié)點(diǎn)系統(tǒng)使用同步機(jī)制(稱 作全局同步機(jī)制)來(lái)控制所述多節(jié)點(diǎn)系統(tǒng)中的節(jié)點(diǎn)對(duì)所述組共享資源的存取。
全局鎖定機(jī)制包括負(fù)責(zé)向多節(jié)點(diǎn)系統(tǒng)上的進(jìn)程發(fā)出鎖定的全局鎖定管理器。為使 節(jié)點(diǎn)存取共享資源,其由全局鎖定管理器授予"全局鎖定"。全局鎖定是可由多節(jié)點(diǎn) 系統(tǒng)中的節(jié)點(diǎn)上的全局鎖定管理器向另一節(jié)點(diǎn)上的一個(gè)或一個(gè)以上進(jìn)程授予的鎖定以 在多節(jié)點(diǎn)系統(tǒng)中的任一節(jié)點(diǎn)上執(zhí)行的進(jìn)程之間協(xié)調(diào)對(duì)所述共享資源的存取。
一種類型的全局鎖定管理器是分布式鎖定管理器,其由分布在多節(jié)點(diǎn)系統(tǒng)的節(jié)點(diǎn) 上的局部鎖定管理器組成,其中所述局部鎖定管理器中的一者或一者以上在多節(jié)點(diǎn)系 統(tǒng)中的每一節(jié)點(diǎn)上運(yùn)行。每一鎖定管理器負(fù)責(zé)協(xié)調(diào)所述局部鎖定管理器的節(jié)點(diǎn)上的進(jìn) 程的全局鎖定。局部鎖定管理器是指與其在其上駐存的節(jié)點(diǎn)相關(guān)的局部鎖定管理器; 所述節(jié)點(diǎn)及在所述節(jié)點(diǎn)上運(yùn)行的進(jìn)程是指局部節(jié)點(diǎn)及與所述局部鎖定管理器及所述節(jié) 點(diǎn)相關(guān)的局部進(jìn)程。
駐存在節(jié)點(diǎn)上的局部鎖定管理器向其它節(jié)點(diǎn)上的鎖定管理器及在與所述局部鎖 定管理器相同的節(jié)點(diǎn)上運(yùn)行的進(jìn)程發(fā)出全局鎖定。需要對(duì)資源的由非局部鎖定管理器 管理的全局鎖定的進(jìn)程從其局部鎖定管理器請(qǐng)求所述全局鎖定。如果局部鎖定管理器 已經(jīng)保持兼容性全局鎖定,那么所述局部鎖定管理器向所述局部進(jìn)程發(fā)出全局鎖定。 如果所述局部鎖定管理器不保持兼容性全局鎖定,那么所述局部鎖定管理器首先從所 述非局部鎖定管理器獲得一個(gè)。 一旦獲得,那么所述局部鎖定管理器向所述局部進(jìn)程 發(fā)出所述全局鎖定。
為便于表達(dá),局部鎖定管理器向局部進(jìn)程發(fā)出的全局鎖定在本文中稱作局部鎖 定。因此,局部鎖定管理器從另一鎖定管理器獲得全局鎖定且向局部進(jìn)程發(fā)出兼容性 局部鎖定。
而且,為便于表達(dá),在本文中將節(jié)點(diǎn)說(shuō)明為執(zhí)行動(dòng)作且是動(dòng)作的對(duì)象。然而,此 只是一種表達(dá)節(jié)點(diǎn)上的一個(gè)或一個(gè)以上進(jìn)程正在執(zhí)行動(dòng)作或是動(dòng)作的對(duì)象的方便方 式。舉例來(lái)說(shuō),可將請(qǐng)求、獲得及發(fā)出全局鎖定或局部鎖定的鎖定管理器說(shuō)明為請(qǐng)求、 獲得及發(fā)出全局鎖定或局部鎖定的節(jié)點(diǎn)。
獲取全局鎖定可比僅獲取局部鎖定獲取起來(lái)更昂貴。此是因?yàn)槿宙i定可招致局 部鎖定與另一節(jié)點(diǎn)上的局部鎖定管理器之間的節(jié)點(diǎn)間通信及交互作用。
所述交互作用可招致特別昂貴的操作形式,稱作乒(ping)。當(dāng)必須將駐存在一 個(gè)服務(wù)器的高速緩存器中的資源版本供應(yīng)到不同服務(wù)器的高速緩存器時(shí),乒發(fā)生。因 此,當(dāng)在節(jié)點(diǎn)A修改其高速緩存器中的資源x之后另一節(jié)點(diǎn)B請(qǐng)求資源x時(shí),乒發(fā)生。
高速緩存器融合
一種執(zhí)行乒的方式稱作高速緩存器融合。執(zhí)行節(jié)點(diǎn)之間的資源的高速緩存器拷貝 的傳送來(lái)加速鎖定機(jī)制。圖1是圖解說(shuō)明根據(jù)本發(fā)明的實(shí)施例的多節(jié)點(diǎn)系統(tǒng)101及用 于請(qǐng)求及傳送經(jīng)高速緩沖存儲(chǔ)的資源的高速緩存器融合協(xié)議。系統(tǒng)101中的節(jié)點(diǎn)可直 接或經(jīng)由網(wǎng)絡(luò)(例如,LAN或因特網(wǎng))而彼此進(jìn)行通信。為獲取對(duì)共享資源的全局鎖 定,當(dāng)請(qǐng)求節(jié)點(diǎn)104從特定共享資源的鎖定管理器駐存于其上的主節(jié)點(diǎn)102請(qǐng)求對(duì)所 述特定共享資源的鎖定(步驟112)時(shí),所述高速緩存器融合協(xié)議開(kāi)始。
主節(jié)點(diǎn)102接收請(qǐng)求且確定任何其它節(jié)點(diǎn)是否保持對(duì)所述共享資源的非兼容性鎖 定。在無(wú)節(jié)點(diǎn)保持對(duì)所述共享資源的非兼容性鎖定的簡(jiǎn)單情形下,所述主節(jié)點(diǎn)直接向 所述請(qǐng)求節(jié)點(diǎn)授予所述鎖定。如果所述主節(jié)點(diǎn)自身保持對(duì)所述共享資源的非兼容性鎖 定,那么所述主節(jié)點(diǎn)將最終直接向所述請(qǐng)求節(jié)點(diǎn)授予對(duì)所述共享資源的鎖定。否則, 另一節(jié)點(diǎn)(即,保持節(jié)點(diǎn)106)保持對(duì)所述共享資源的非兼容性鎖定。
所述主節(jié)點(diǎn)向保持節(jié)點(diǎn)104發(fā)送指示請(qǐng)求節(jié)點(diǎn)104請(qǐng)求對(duì)所述特定共享資源(保 持節(jié)點(diǎn)106保持其鎖定)的鎖定的消息(步驟114)。鎖定節(jié)點(diǎn)106授予所述鎖定且 可直接向請(qǐng)求節(jié)點(diǎn)104發(fā)送所述共享資源的拷貝。在某些情形下,即使保持節(jié)點(diǎn)106 保持對(duì)所述共享資源的兼容性鎖定(例如,請(qǐng)求節(jié)點(diǎn)104請(qǐng)求對(duì)所述資源的共享鎖定
且保持節(jié)點(diǎn)106保持對(duì)所述資源的共享鎖定)將觸發(fā)從保持節(jié)點(diǎn)106到請(qǐng)求節(jié)點(diǎn)104 的互連消息,因?yàn)楸3止?jié)點(diǎn)106可能保持所述共享資源的臟的或己修改版本。
最后, 一旦請(qǐng)求節(jié)點(diǎn)104接收到所述共享資源及所述鎖定,請(qǐng)求節(jié)點(diǎn)104通知主 節(jié)點(diǎn)102 (步驟118)請(qǐng)求節(jié)點(diǎn)104具有對(duì)所述共享資源的鎖定。因此,對(duì)共享資源的 鎖定的每一請(qǐng)求可導(dǎo)致產(chǎn)生四個(gè)節(jié)點(diǎn)間消息。因此,需要降低獲取全局鎖定的成本的 技術(shù)。
一種降低獲取全局鎖定的成本的技術(shù)使用"主控技術(shù)",其基于對(duì)共享資源的存 取的圖案向一子組共享資源指派主節(jié)點(diǎn)。(共享資源的主節(jié)點(diǎn)支配其它節(jié)點(diǎn)對(duì)所述共 享資源的存取。)舉例來(lái)說(shuō),如果對(duì)一部分共享數(shù)據(jù)的大部分存取由特定節(jié)點(diǎn)執(zhí)行, 那么將所述節(jié)點(diǎn)指派為所述部分共享數(shù)據(jù)的主節(jié)點(diǎn)。此降低節(jié)點(diǎn)之間的消息傳送開(kāi)銷, 因?yàn)閷⒈仨毇@取更少的全局鎖定(由于所述特定節(jié)點(diǎn)需要對(duì)所述部分共享數(shù)據(jù)的大部 分存取)。對(duì)所述部分共享數(shù)據(jù)的未來(lái)存取將僅需要所述特定節(jié)點(diǎn)授予局部鎖定。然 而,主控不消除執(zhí)行更多指令來(lái)獲取全局鎖定的成本。
用以降低獲取全局鎖定的成本的另一種技術(shù)是使用粗粒鎖定。在此方案中,在較 高級(jí)的粒度(例如,表格或文件)而不是在較精細(xì)級(jí)的粒度(例如,行或磁盤塊)處 獲取鎖定。當(dāng)在較高級(jí)的粒度處獲取鎖定時(shí),隱含地授予較精細(xì)級(jí)的粒度處的共享數(shù) 據(jù)級(jí)。舉例來(lái)說(shuō),如果針對(duì)整個(gè)表格獲取全局鎖定,那么暗指且沒(méi)有必要獲取所述表 格的行或塊的個(gè)別全局鎖定,從而避免獲得每一行及塊的全局鎖定的成本。
此技術(shù)的優(yōu)點(diǎn)是其不依賴于主節(jié)點(diǎn)的指派。然而,顯著缺點(diǎn)是此技術(shù)可導(dǎo)致假爭(zhēng) 用。具體來(lái)說(shuō),如果節(jié)點(diǎn)需要修改己由另一節(jié)點(diǎn)在沖突模式中鎖定的表格中的行,那 么所述節(jié)點(diǎn)必須放棄對(duì)所述表格的鎖定,雖然所述兩個(gè)節(jié)點(diǎn)可存取不同的行或甚至不 同的塊。
另一種降低獲取全局鎖定的成本的技術(shù)是使用層級(jí)鎖定。在此方案中,首先在所 述層級(jí)中的較高級(jí)(例如,表格)處獲取鎖定。如果在所述層級(jí)的較高級(jí)處獲取全局 鎖定,那么隱含地在所述層級(jí)的較低級(jí)處授予全局鎖定。當(dāng)另一節(jié)點(diǎn)隨后需要在沖突 模式中存取所述層級(jí)的較低級(jí)(例如,行或塊)中的數(shù)據(jù)時(shí),所述第一節(jié)點(diǎn)降級(jí)其鎖 定且獲取所述層級(jí)中的所述較低級(jí)處的鎖定。
此技術(shù)的缺點(diǎn)是獲得全局鎖定的成本高漲且轉(zhuǎn)向其鎖定請(qǐng)求觸發(fā)所述降級(jí)的請(qǐng) 求節(jié)點(diǎn)。為實(shí)現(xiàn)所述請(qǐng)求,執(zhí)行用以獲取所述層級(jí)的所述較低級(jí)處的所有共享數(shù)據(jù)的 全局鎖定的工作。執(zhí)行此工作,盡管所述請(qǐng)求節(jié)點(diǎn)僅請(qǐng)求對(duì)所述共享數(shù)據(jù)的一小部分 的鎖定。
如明確顯示,需要降低獲取全局鎖定的避免伴隨上文所說(shuō)明的用于降低全局鎖定 的成本的技術(shù)的缺陷的技術(shù)。

發(fā)明內(nèi)容


本文以實(shí)例的方式而非限定的方式在附圖的圖式中圖解說(shuō)明本發(fā)明,且在附圖中 相同的參考編號(hào)指代相同的元件,且附圖中
圖1是圖解說(shuō)明根據(jù)本發(fā)明的實(shí)施例的多節(jié)點(diǎn)系統(tǒng)及用于請(qǐng)求及傳送經(jīng)高速緩沖 存儲(chǔ)的資源的方法的框圖2是圖解說(shuō)明根據(jù)本發(fā)明的實(shí)施例的多節(jié)點(diǎn)系統(tǒng)及用于獲得對(duì)一群組共享資源 的鎖定的方法的框圖3是圖解說(shuō)明根據(jù)本發(fā)明的實(shí)施例的特定節(jié)點(diǎn)上的一群組共享資源的映射;
圖4是圖解說(shuō)明根據(jù)本發(fā)明的實(shí)施例的多節(jié)點(diǎn)系統(tǒng)及用于節(jié)點(diǎn)獲得對(duì)一資源群組 中的資源的鎖定的方法的框圖,其中所述節(jié)點(diǎn)維持對(duì)所述資源群組的鎖定且另一節(jié)點(diǎn) 維持對(duì)所述資源的鎖定;
圖5是圖解說(shuō)明根據(jù)本發(fā)明的實(shí)施例的多節(jié)點(diǎn)系統(tǒng)及用于節(jié)點(diǎn)獲得對(duì)一資源群組 中的資源的鎖定的方法的框圖,其中另一節(jié)點(diǎn)維持對(duì)所述資源群組的鎖定;及
圖6是可用于實(shí)施本發(fā)明的實(shí)施例的計(jì)算機(jī)系統(tǒng)的框圖。
具體實(shí)施例方式
在以下說(shuō)明中,為便于解釋,論述了許多具體細(xì)節(jié)以提供對(duì)本發(fā)明的透徹理解。 然而,將明了,不需要這些具體細(xì)節(jié)的情況下也可以實(shí)踐本發(fā)明。在其它例示中,在 框圖形成中顯示眾所周知的結(jié)構(gòu)及裝置,以避免對(duì)本發(fā)明造成不必要的遮蔽。
概述
本發(fā)明提供一種用于管理數(shù)據(jù)庫(kù)系統(tǒng)中的鎖定的方法及設(shè)備。第一請(qǐng)求者請(qǐng)求對(duì) 第一資源的全局鎖定且主節(jié)點(diǎn)授予對(duì)所述第一資源以及包括所述第一資源的一資源群 組的鎖定。授予對(duì)所述資源群組的全局鎖定是基于所述第一請(qǐng)求者將傾于存取所述群 組中的其它資源的假設(shè)來(lái)執(zhí)行的。所述請(qǐng)求者節(jié)點(diǎn)接收對(duì)應(yīng)于所述資源群組的映射, 其可指示另一節(jié)點(diǎn)所保持的全局鎖定對(duì)于所述群組中的第二資源已經(jīng)存在。所述請(qǐng)求 者可授予其自身與對(duì)所述資源群組的鎖定兼容的局部鎖定而不通知所述主節(jié)點(diǎn)。
第二請(qǐng)求者節(jié)點(diǎn)可請(qǐng)求對(duì)所述資源群組中的特定資源的全局鎖定。然后,所述第 一請(qǐng)求者節(jié)點(diǎn)可放棄或向下轉(zhuǎn)換對(duì)所述特定資源的鎖定且向所述第二請(qǐng)求者授予對(duì)所
述特定資源的所述鎖定。所述第一請(qǐng)求者可更新所述第一請(qǐng)求者節(jié)點(diǎn)的映射以指示不 同的節(jié)點(diǎn)(即,所述第二請(qǐng)求者節(jié)點(diǎn))保持對(duì)所述特定資源的鎖定。如果所述第一請(qǐng) 求者節(jié)點(diǎn)已修改或弄臟所述特定資源,那么所述第一請(qǐng)求者節(jié)點(diǎn)還將發(fā)送對(duì)應(yīng)于所述 修改的數(shù)據(jù)。
請(qǐng)求對(duì)資源的鎖定
圖2是圖解說(shuō)明根據(jù)本發(fā)明的實(shí)施例的多節(jié)點(diǎn)系統(tǒng)101及用于獲得對(duì)一群組共享 資源的鎖定的方法。大體來(lái)說(shuō),資源是可由所述多節(jié)點(diǎn)系統(tǒng)中的節(jié)點(diǎn)共享的任何條目。 資源的普通實(shí)例是數(shù)據(jù)庫(kù)數(shù)據(jù)塊。因此, 一資源群組可對(duì)應(yīng)于存儲(chǔ)在永久性存儲(chǔ)器中 的一組兩個(gè)或兩個(gè)以上鄰接數(shù)據(jù)塊。
主節(jié)點(diǎn)102負(fù)責(zé)向其它節(jié)點(diǎn)授予對(duì)數(shù)據(jù)庫(kù)系統(tǒng)中的共享資源的全局鎖定。最初, 節(jié)點(diǎn)204請(qǐng)求對(duì)資源的特定類型或一資源群組的全局鎖定(步驟212)。所述請(qǐng)求可 包括對(duì)特定資源的全局鎖定及對(duì)包括所述資源的特定資源群組的全局鎖定兩者的請(qǐng) 求。來(lái)自節(jié)點(diǎn)204的所述請(qǐng)求還可以是僅對(duì)所述特定資源或所述特定資源群組的全局 鎖定的請(qǐng)求。
主裝置102向節(jié)點(diǎn)204發(fā)送授予對(duì)至少一資源群組的全局鎖定(例如,共享鎖定) 的請(qǐng)求(步驟214)的消息。如果來(lái)自節(jié)點(diǎn)204的請(qǐng)求是針對(duì)特定的資源,那么主裝 置102動(dòng)態(tài)地確定(或已靜態(tài)地確定)所述特定資源是在特定資源群組(例如,連續(xù) 數(shù)據(jù)塊組)中。主裝置102發(fā)送對(duì)應(yīng)于所述資源群組的映射,其指示所述群組中所有 資源的鎖定及鎖定類型。如果節(jié)點(diǎn)204上的局部進(jìn)程請(qǐng)求所述映射中所識(shí)別的所述資 源群組中的任何資源的全局鎖定,其中所請(qǐng)求的全局鎖定與對(duì)所述資源群組的全局鎖 定兼容,那么節(jié)點(diǎn)204的局部鎖定管理器簡(jiǎn)單地授予所述局部進(jìn)程所述鎖定且更新所 述映射而無(wú)需針對(duì)所述鎖定請(qǐng)求主裝置102。
舉例來(lái)說(shuō),如果所述資源群組的全局鎖定是共享鎖定,那么節(jié)點(diǎn)204將無(wú)需針對(duì) 所述群組中的任何資源從主裝置102請(qǐng)求共享鎖定來(lái)向局部進(jìn)程授予局部共享鎖定。 實(shí)質(zhì)上,節(jié)點(diǎn)204僅在一個(gè)消息中接收多個(gè)資源的鎖定。
針對(duì)所述資源群組授予的全局鎖定可與所述特定資源的全局鎖定相同或不同。舉 例來(lái)說(shuō),如果節(jié)點(diǎn)204請(qǐng)求對(duì)所述特定資源的排他性鎖定,那么主裝置102可授予對(duì) 所述特定資源的所述排他性鎖定且授予對(duì)包括所述特定資源的所述資源群組的共享鎖 定。在所述情形下,所述映射自身還可指示存在授予給節(jié)點(diǎn)204的對(duì)所述特定資源的 排他性鎖定。
如果節(jié)點(diǎn)204最初請(qǐng)求(即,步驟l)對(duì)資源的至少一個(gè)全局鎖定且所述系統(tǒng)中 的另一節(jié)點(diǎn)保持對(duì)所述資源的非兼容性鎖定,那么主裝置102授予對(duì)包括所述資源的 一資源群組的全局鎖定且向另一節(jié)點(diǎn)發(fā)送指示節(jié)點(diǎn)204請(qǐng)求對(duì)所述資源的全局鎖定的 消息。那么,除對(duì)所述資源群組的鎖定的類型以外,所述映射可指示另一節(jié)點(diǎn)保持非 兼容性全局鎖定。
取決于所述數(shù)據(jù)庫(kù)服務(wù)器網(wǎng)絡(luò)中的節(jié)點(diǎn)如何配置,另一節(jié)點(diǎn)可不向節(jié)點(diǎn)204授予 對(duì)所述資源的全局鎖定直到預(yù)定的時(shí)間周期流過(guò),尤其在所述另一節(jié)點(diǎn)具有對(duì)所述資 源的排他性鎖定時(shí),因?yàn)榕潘枣i定的獲得在節(jié)點(diǎn)間消息傳送方面相對(duì)"昂貴"。如 果已從主裝置102接收到對(duì)所述資源的某數(shù)量的請(qǐng)求,那么不管所述預(yù)定時(shí)間周期, 所述另一節(jié)點(diǎn)還可經(jīng)配置以釋放其對(duì)所述資源的全局鎖定。
所述另一節(jié)點(diǎn)最終將對(duì)所述資源的全局鎖定向下轉(zhuǎn)換為兼容性鎖定模式或完全
放棄所述鎖定且向節(jié)點(diǎn)204發(fā)送所述資源的最新版本的拷貝,類似于相對(duì)于圖1所說(shuō) 明的過(guò)程。然后,節(jié)點(diǎn)204通知主裝置102節(jié)點(diǎn)204保持對(duì)所述資源的鎖定。因此, 在其中節(jié)點(diǎn)204請(qǐng)求對(duì)己鎖定資源的非兼容性全局鎖定且被授予對(duì)包括所述己鎖定資 源的一資源群組的全局鎖定的情形下,節(jié)點(diǎn)204將接收兩個(gè)消息 一個(gè)來(lái)自主裝置102 的授予對(duì)所述資源群組的鎖定的消息,及一個(gè)來(lái)自所述另一節(jié)點(diǎn)的授予對(duì)所述資源的 鎖定的消息。
區(qū)域映射
除所述群組的全局鎖定以外,發(fā)送到節(jié)點(diǎn)204的映射還可指示所述系統(tǒng)中的另一 節(jié)點(diǎn)保持對(duì)所述群組中的特定資源的鎖定。圖3是圖解說(shuō)明根據(jù)本發(fā)明的實(shí)施例的一 群組共享資源的映射300的圖表,所述映射在特定節(jié)點(diǎn)上,例如節(jié)點(diǎn)204。映射300 可以是保持節(jié)點(diǎn)204的關(guān)于所述資源群組及可能所述群組中的個(gè)別資源的鎖定模式的 信息的任何形式的數(shù)據(jù)結(jié)構(gòu)(例如,字符陣列)或數(shù)據(jù)文件(例如,包含經(jīng)組織上下 文的簡(jiǎn)單上下文文件),如下文所說(shuō)明。
在此實(shí)例中,映射300指示已授予對(duì)對(duì)應(yīng)于映射300的所述資源群組的共享全局 鎖定302。而且,映射300指示另一節(jié)點(diǎn)保持對(duì)對(duì)應(yīng)于塊7 ("資源7")的資源的排 他性全局鎖定304。最后,映射300指示節(jié)點(diǎn)204己向自身授予共享鎖定(即,節(jié)點(diǎn) 204的局部鎖定管理器向與節(jié)點(diǎn)204相關(guān)的局部進(jìn)程授予所述共享鎖定)。
映射(例如,映射300)可維持與所述資源群組中的資源相關(guān)的其它信息,例如, 所述系統(tǒng)中的哪一節(jié)點(diǎn)具有排他性鎖定,(舉例來(lái)說(shuō))及所述鎖定何時(shí)被授予。而且, 雖然圖3顯示映射300對(duì)應(yīng)于十六個(gè)資源,但映射300可對(duì)應(yīng)于任何數(shù)量的資源,此 可由用戶(例如數(shù)據(jù)庫(kù)管理員)靜態(tài)地確定,或由主裝置102基于(舉例來(lái)說(shuō))哪些 資源請(qǐng)求地最頻繁,沖突發(fā)生頻率,沖突何時(shí)發(fā)生等動(dòng)態(tài)地確定。
來(lái)自群組鎖定保持者的隨后鎖定請(qǐng)求 圖4是圖解說(shuō)明根據(jù)本發(fā)明的實(shí)施例的多節(jié)點(diǎn)系統(tǒng)401及用于節(jié)點(diǎn)(例如,請(qǐng)求 節(jié)點(diǎn)404)獲得對(duì)一資源群組中的資源的全局鎖定的方法,其中請(qǐng)求節(jié)點(diǎn)404維持對(duì) 所述資源群組的全局鎖定且另一節(jié)點(diǎn)(例如,保持節(jié)點(diǎn)406)維持對(duì)所述資源的全局 鎖定。
如果請(qǐng)求節(jié)點(diǎn)404需要對(duì)映射300中的資源7的全局鎖定且所述鎖定與保持節(jié)點(diǎn) 406所保持的對(duì)資源7的當(dāng)前鎖定不兼容,那么根據(jù)高速緩存器融合協(xié)議向主裝置102 及保持節(jié)點(diǎn)406發(fā)送節(jié)點(diǎn)間消息。舉例來(lái)說(shuō),請(qǐng)求節(jié)點(diǎn)404向主裝置102發(fā)送消息以 請(qǐng)求對(duì)資源7的全局鎖定(步驟412)。主裝置102確定哪一節(jié)點(diǎn)保持對(duì)資源7的排 他性鎖定且然后向保持節(jié)點(diǎn)406發(fā)送消息(步驟414)以通知保持節(jié)點(diǎn)406請(qǐng)求節(jié)點(diǎn) 404請(qǐng)求對(duì)資源7的排他性全局鎖定。保持節(jié)點(diǎn)406將其全局鎖定向下轉(zhuǎn)換為空模式 或完全放棄其全局鎖定并向請(qǐng)求節(jié)點(diǎn)404發(fā)送消息(步驟416)以授予對(duì)資源7的鎖 定。保持節(jié)點(diǎn)406還發(fā)送反應(yīng)可能已發(fā)生的對(duì)資源7的任何修改的資源7的最新版本
的拷貝。請(qǐng)求節(jié)點(diǎn)404通知主裝置102 (步驟418)請(qǐng)求節(jié)點(diǎn)404保持對(duì)資源7的排他 性全局鎖定。主裝置102更新其自己的指示請(qǐng)求節(jié)點(diǎn)404現(xiàn)在保持對(duì)資源7的排他性 鎖定的信息的表格。
在其中請(qǐng)求節(jié)點(diǎn)404請(qǐng)求映射300所識(shí)別的所述資源群組中資源的全局鎖定且無(wú) 其它節(jié)點(diǎn)保持對(duì)所述資源的全局鎖定或無(wú)其它節(jié)點(diǎn)保持對(duì)所述資源的非兼容性全局鎖 定的情形下,不需要產(chǎn)生多個(gè)節(jié)點(diǎn)間消息。然而,如果請(qǐng)求節(jié)點(diǎn)404想要映射300所 識(shí)別的所述資源群組中的資源的排他性鎖定,其在共享模式中保持區(qū)域鎖定,那么節(jié) 點(diǎn)404將此全局鎖定擴(kuò)展為融合鎖定且向主裝置102提交所述升級(jí)請(qǐng)求。請(qǐng)求節(jié)點(diǎn)404 可在映射300中指示所述鎖定擴(kuò)展。
第二節(jié)點(diǎn)請(qǐng)求對(duì)群組中的資源的鎖定 圖5是圖解說(shuō)明根據(jù)本發(fā)明的實(shí)施例的多節(jié)點(diǎn)系統(tǒng)501及用于節(jié)點(diǎn)(例如,請(qǐng)求 節(jié)點(diǎn)504)獲得對(duì)一資源群組中的資源的鎖定的方法的框圖,其中另一節(jié)點(diǎn)(例如, 保持節(jié)點(diǎn)506)維持對(duì)所述資源群組的鎖定。
在保持節(jié)點(diǎn)506獲得對(duì)應(yīng)于一資源群組的映射300之后,另一節(jié)點(diǎn)(例如,請(qǐng)求 節(jié)點(diǎn)504)可請(qǐng)求對(duì)對(duì)應(yīng)于映射300的所述資源群組中所包括的資源的全局鎖定。舉 例來(lái)說(shuō),假設(shè)請(qǐng)求節(jié)點(diǎn)504請(qǐng)求對(duì)與映射300中的塊3 (即,"資源3")相關(guān)聯(lián)的資 源的排他性全局鎖定且保持節(jié)點(diǎn)506在共享模式中保持所述群組鎖定。請(qǐng)求節(jié)點(diǎn)504 向主裝置102發(fā)送對(duì)資源3的排他性全局鎖定的請(qǐng)求(步驟512)。主裝置102基于 (例如)主裝置102自己的映射確定保持節(jié)點(diǎn)506具有對(duì)包括資源3的所述資源群組 的共享全局鎖定。
此時(shí)至少存在兩種可能情形l)保持節(jié)點(diǎn)506保持對(duì)資源3的個(gè)別共享全局鎖定 (即,除群組鎖定以外恰好保持對(duì)所述資源的全局鎖定)或2)保持節(jié)點(diǎn)506不保持對(duì) 資源3的個(gè)別全局鎖定。如果保持節(jié)點(diǎn)506保持排他性鎖定,那么主裝置102將具有 所述信息。
如果保持節(jié)點(diǎn)506保持對(duì)資源3的個(gè)別共享全局鎖定,那么后跟用于釋放及授予 鎖定的高速緩存器融合協(xié)議。具體來(lái)說(shuō), 一旦保持節(jié)點(diǎn)506由主裝置102通知請(qǐng)求節(jié) 點(diǎn)504請(qǐng)求排他性全局鎖定,那么保持節(jié)點(diǎn)506將其對(duì)資源3的鎖定從共享模式向下 轉(zhuǎn)換為空模式,或放棄對(duì)資源3的鎖定。然后,保持節(jié)點(diǎn)506向節(jié)點(diǎn)504發(fā)送資源3 的拷貝且向請(qǐng)求節(jié)點(diǎn)504授予對(duì)資源3的排他性全局鎖定。請(qǐng)求節(jié)點(diǎn)504通知主裝置 102請(qǐng)求節(jié)點(diǎn)504保持對(duì)資源3的排他性全局鎖定。保持節(jié)點(diǎn)506上的映射300經(jīng)更 新以指示對(duì)資源3的排他性全局鎖定由另一節(jié)點(diǎn)保持。
如果保持節(jié)點(diǎn)506不保持對(duì)資源3的個(gè)別全局鎖定,那么主裝置102向保持節(jié)點(diǎn) 506發(fā)送另一節(jié)點(diǎn)需要對(duì)資源3的排他性鎖定的消息(步驟514)。保持節(jié)點(diǎn)506通知 主裝置102其不保持個(gè)別全局鎖定(步驟516)。主裝置102更新其對(duì)應(yīng)于包括資源3 的所述資源群組的映射或主裝置102更新指示請(qǐng)求節(jié)點(diǎn)504現(xiàn)在保持對(duì)資源3的排他
性全局鎖定的另一記錄。主裝置102向請(qǐng)求節(jié)點(diǎn)504授予最初請(qǐng)求的所述排他性鎖定 (步驟518)。
其它鎖定情形
可存在其中需要將對(duì)應(yīng)于特定映射的整個(gè)資源群組的鎖定升級(jí)或降級(jí)為不同鎖 定(例如,從排他性鎖定降級(jí)為共享鎖定)或其中需要廢除所述整個(gè)映射的情況。
舉例來(lái)說(shuō),假設(shè)圖2中的節(jié)點(diǎn)204維持映射300且節(jié)點(diǎn)204在共享模式中保持對(duì) 一資源群組的全局鎖定。節(jié)點(diǎn)204可隨后獲得映射300中所識(shí)別的資源的顯著部分的 多個(gè)排他性鎖定。將所述群組鎖定升級(jí)到排他性模式可更有效,此取決于多節(jié)點(diǎn)系統(tǒng) 201中的節(jié)點(diǎn)之間的現(xiàn)存業(yè)務(wù)及可影響升級(jí)的其它因素。
更普通的情形可是一個(gè)或一個(gè)以上其它節(jié)點(diǎn)請(qǐng)求映射300中所識(shí)別的所述資源群 組中的資源的多個(gè)非兼容性全局鎖定發(fā)生。節(jié)點(diǎn)204可基于一個(gè)或一個(gè)以上因素(例 如,多少對(duì)所述資源群組中的資源的個(gè)別鎖定由其它節(jié)點(diǎn)保持,未來(lái)的更多沖突請(qǐng)求 的可能性及節(jié)點(diǎn)204是否請(qǐng)求對(duì)所述群組中的任何資源的鎖定)來(lái)確定需要將所述群 組鎖定降級(jí)或廢除。在所述群組鎖定的降級(jí)的情形中,節(jié)點(diǎn)204通知主裝置102將主 裝置102上對(duì)應(yīng)于映射300的映射(例如)從排他性鎖定降級(jí)為共享鎖定或從共享鎖 定降級(jí)為空鎖定。
節(jié)點(diǎn)204可改為通知主裝置102廢除所述群組鎖定。其中可需要廢除的情形是當(dāng) 所述鎖定模式被轉(zhuǎn)換為不同類型的鎖定模式(例如,主要-讀取鎖定)時(shí)。為轉(zhuǎn)換為不 同類型的鎖定,必須首先將所述群組鎖定廢除且然后獲得新的鎖定類型。
可需要群組鎖定的傳遞的另一情況是主節(jié)點(diǎn)的故障。如果主裝置102出故障,那
么在所述多節(jié)點(diǎn)系統(tǒng)中的節(jié)點(diǎn)中選擇新的主節(jié)點(diǎn)。維持一資源群組的映射的每一非主 節(jié)點(diǎn)將其相應(yīng)的映射發(fā)送到所述新主節(jié)點(diǎn)使得所述新主節(jié)點(diǎn)能夠授予對(duì)個(gè)別資源的鎖
定及對(duì)資源群組的鎖定。
至此,已在分布式鎖定環(huán)境中說(shuō)明所論述的本發(fā)明的實(shí)施例。然而,本發(fā)明的實(shí) 施例并不限于分布式環(huán)境。其還可實(shí)施于非分布式鎖定環(huán)境中。
硬件概述
圖6是圖解說(shuō)明可在其上實(shí)施本發(fā)明的實(shí)施例的計(jì)算機(jī)系統(tǒng)600的框圖。計(jì)算機(jī) 系統(tǒng)600包括總線602或用于傳遞信息的其它傳遞機(jī)構(gòu),及與總線602耦合的用于處 理信息的處理器604。計(jì)算機(jī)系統(tǒng)600還包括主存儲(chǔ)器606,例如隨機(jī)存取存儲(chǔ)器 (RAM)或其它動(dòng)態(tài)存儲(chǔ)裝置,其耦合到總線602以用于存儲(chǔ)將由處理器604執(zhí)行的 信息及指令。主存儲(chǔ)器606也可以用來(lái)存儲(chǔ)臨時(shí)變量或執(zhí)行將由處理器604執(zhí)行的指 令期間的其它中間信息。計(jì)算機(jī)系統(tǒng)600進(jìn)一步包括只讀存儲(chǔ)器(ROM) 608,或耦 合到總線302的用于存儲(chǔ)處理器604的靜態(tài)信息及指令的其它靜態(tài)存儲(chǔ)裝置。提供存 儲(chǔ)裝置610 (例如,磁盤或光盤)并將其耦合到總線602以用于存儲(chǔ)信息及指令。
計(jì)算機(jī)系統(tǒng)600可經(jīng)由總線602耦合到顯示器612 (例如,陰極射線管(CRT)),以向計(jì)算機(jī)用戶顯示信息。輸入裝置614 (其包括字母數(shù)字鍵及其它鍵)耦合到總線 602,以將信息及命令選擇傳遞到處理器604。另一類型的用戶輸入裝置是光標(biāo)控制616 (例如,鼠標(biāo)、軌跡球或光標(biāo)方向鍵),以將方向信息及命令選擇傳遞到處理器604 并控制顯示器612上的光標(biāo)移動(dòng)。此輸入裝置通常在兩個(gè)軸(第一軸(例如,x)及第 二軸(例如,y))上具有兩個(gè)自由度,其允許裝置在平面中規(guī)定位置。
本發(fā)明涉及用于實(shí)施本文所說(shuō)明的技術(shù)的計(jì)算機(jī)系統(tǒng)600的使用。根據(jù)本發(fā)明的 一個(gè)實(shí)施例,所述技術(shù)由計(jì)算機(jī)系統(tǒng)600響應(yīng)于處理器604執(zhí)行主存儲(chǔ)器606中所包 含的一個(gè)或一個(gè)以上指令的一個(gè)或一個(gè)以上序列而執(zhí)行??梢詮牧硪粰C(jī)器可讀媒體(例 如,存儲(chǔ)裝置610)將所述指令讀入主存儲(chǔ)器606中。主存儲(chǔ)器606中所包含的指令 序列的執(zhí)行致使處理器604執(zhí)行本文所說(shuō)明的過(guò)程步驟。在替代性實(shí)施例中,可使用 硬接線電路來(lái)替代軟件指令或與軟件指令組合使用來(lái)實(shí)施本發(fā)明。因此,本發(fā)明的實(shí) 施例并不限于硬件電路與軟件的任何具體組合。
本文所用術(shù)語(yǔ)"機(jī)器可讀媒體"是指參與提供致使機(jī)器以特定方式操作的數(shù)據(jù)的 任何媒體。在使用計(jì)算機(jī)系統(tǒng)600實(shí)施的實(shí)施例中,各種機(jī)器可讀媒體涉及(舉例來(lái) 說(shuō))將指令提供到處理器604供執(zhí)行。所述媒體可采用許多形式,包括但不限于非 易失性媒體、易失性媒體及傳輸媒體。非易失性媒體包括(舉例來(lái)說(shuō))光盤或磁盤, 例如存儲(chǔ)裝置610。易失性媒體包括動(dòng)態(tài)存儲(chǔ)器,例如主存儲(chǔ)器606。傳輸媒體包括同 軸電纜、銅線及光纖,其中包括包含總線602的線。傳輸媒體也可以采用聲波或光波 的形式,例如在無(wú)線電波及紅外線數(shù)據(jù)通信期間產(chǎn)生的那些聲波或光波。
機(jī)器可讀媒體的常見(jiàn)形式包括(舉例來(lái)說(shuō))軟盤、柔性盤、硬盤、磁帶或任何其 它磁性媒體、CD-ROM、任何其它光學(xué)媒體、穿孔卡片、紙帶、任何其它具有孔圖案 的物理媒體、RAM、 PROM及EPROM、快閃EPROM、任何其它存儲(chǔ)器芯片或盒式 磁盤、如下文所說(shuō)明的載波或可由計(jì)算機(jī)進(jìn)行讀取的任何其它媒體。
各種形式的機(jī)器可讀媒體可涉及將一個(gè)或一個(gè)以上指令的一個(gè)或一個(gè)以上序列 攜載到處理器604供執(zhí)行。舉例來(lái)說(shuō),所述指令可最初攜載于遠(yuǎn)端計(jì)算機(jī)的磁盤上。 所述遠(yuǎn)端計(jì)算機(jī)可將所述指令載入到其動(dòng)態(tài)存儲(chǔ)器內(nèi)并經(jīng)由電話線使用調(diào)制解調(diào)器發(fā) 送所述指令。計(jì)算機(jī)系統(tǒng)600本地的調(diào)制解調(diào)器可在電話線上接收數(shù)據(jù)并使用紅外線 傳輸器將所述數(shù)據(jù)轉(zhuǎn)換為紅外線信號(hào)。紅外線檢測(cè)器可接收攜載于所述紅外線信號(hào)中 的數(shù)據(jù)且適當(dāng)電路可將所述數(shù)據(jù)置于總線602上。總線602將所述數(shù)據(jù)攜載到主存儲(chǔ) 器606,且處理器604從主存儲(chǔ)器606檢索所述指令并執(zhí)行所述指令。主存儲(chǔ)器606 接收的指令可視需要地在由處理器604執(zhí)行之前或之后存儲(chǔ)在存儲(chǔ)裝置610上。
計(jì)算機(jī)系統(tǒng)600還包括耦合到總線602的通信接口 618。通信接口 618提供耦合 到網(wǎng)絡(luò)鏈路620的雙向數(shù)據(jù)通信,網(wǎng)絡(luò)鏈路620連接到局域網(wǎng)622。舉例來(lái)說(shuō),通信 接口 618可以是綜合服務(wù)數(shù)字網(wǎng)絡(luò)(ISDN)卡或調(diào)制解調(diào)器,以將數(shù)據(jù)通信連接提供 到對(duì)應(yīng)類型的電話線。作為另一實(shí)例,通信接口 618可以是局域網(wǎng)(LAN)卡,以將 數(shù)據(jù)通信連接提供到兼容的LAN。也可以實(shí)施無(wú)線鏈路。在任何所述實(shí)施方案中,通
信接口 618發(fā)送并接收電信號(hào)、電磁信號(hào)或光信號(hào),所述信號(hào)攜載表示各種類型的信
息的數(shù)字?jǐn)?shù)據(jù)流。
網(wǎng)絡(luò)鏈路620通常經(jīng)由一個(gè)或一個(gè)以上網(wǎng)絡(luò)向其它數(shù)據(jù)裝置提供數(shù)據(jù)通信。舉例 來(lái)說(shuō),網(wǎng)絡(luò)鏈路620可通過(guò)局域網(wǎng)622向主機(jī)計(jì)算機(jī)624或因特網(wǎng)服務(wù)提供商(ISP) 626操作的數(shù)據(jù)裝備提供連接。ISP 626又經(jīng)由世界范圍的包數(shù)據(jù)通信網(wǎng)絡(luò)628 (目前 一般稱作"因特網(wǎng)")提供數(shù)據(jù)通信服務(wù)。局域網(wǎng)622及因特網(wǎng)628兩者使用攜載數(shù) 字?jǐn)?shù)據(jù)流的電信號(hào)、電磁信號(hào)或光信號(hào)。穿過(guò)各種網(wǎng)絡(luò)的信號(hào)及網(wǎng)絡(luò)鏈路620上并穿 過(guò)通信接口618的信號(hào)(其攜載往來(lái)于計(jì)算機(jī)系統(tǒng)600的數(shù)字?jǐn)?shù)據(jù))是輸送信息的載 波的實(shí)例性形式。
計(jì)算機(jī)系統(tǒng)600可經(jīng)由網(wǎng)絡(luò)、網(wǎng)絡(luò)鏈路620及通信接口 618發(fā)送消息及接收數(shù)據(jù) (包括程序碼)。在因特網(wǎng)的實(shí)例中,服務(wù)器630可經(jīng)由因特網(wǎng)628、 ISP 626、局域 網(wǎng)622及通信接口 618傳輸應(yīng)用程序的所請(qǐng)求碼。
所接收碼可隨其接收而由處理器604處理,及/或存儲(chǔ)在存儲(chǔ)裝置610中或其它非 易失性存儲(chǔ)器中供隨后執(zhí)行。以此方式,計(jì)算機(jī)系統(tǒng)600可獲得載波形式的應(yīng)用程序 碼。
在上述說(shuō)明中,已參照可根據(jù)不同實(shí)施方案而改變的許多具體細(xì)節(jié)說(shuō)明了本發(fā)明 的實(shí)施例。因此,本發(fā)明及本申請(qǐng)者打算作為本發(fā)明實(shí)質(zhì)的唯一及排他性標(biāo)識(shí)是以發(fā) 出此權(quán)利要求書的具體形式從本申請(qǐng)案發(fā)出的一組包括任何后續(xù)修正的權(quán)利要求項(xiàng)。 針對(duì)所述權(quán)利要求書中所包含的術(shù)語(yǔ)所明確論述的任何定義應(yīng)如權(quán)利要求書中所使用 地那樣來(lái)支配所述術(shù)語(yǔ)的意義。因此,權(quán)利要求書中未明確陳述的任何限制、元件、 性質(zhì)、特征、優(yōu)點(diǎn)或?qū)傩圆粦?yīng)以任何方式限制本權(quán)利要求書的范圍。因此,須將本說(shuō) 明書及圖式視為僅具有例證意義而非限制意義。
權(quán)利要求
1.一種用于管理數(shù)據(jù)庫(kù)系統(tǒng)中的鎖定請(qǐng)求的方法,所述方法包含傳輸表示對(duì)資源的鎖定的請(qǐng)求的消息;及接收以下確認(rèn)已授予對(duì)所述資源的所述鎖定;及已授予對(duì)包括所述資源的一資源群組的鎖定。
2、 如權(quán)利要求1所述的方法,其中接收所述確認(rèn)包括接收識(shí)別所述資源群組的一個(gè)或一個(gè)以上資源被一個(gè)或一個(gè)以上其它節(jié)點(diǎn)鎖定的映射。
3、 如權(quán)利要求1所述的方法,其中所述消息包括對(duì)所述群組的鎖定的請(qǐng)求。
4、 一種用于管理數(shù)據(jù)庫(kù)系統(tǒng)中的鎖定請(qǐng)求的方法,所述方法包含在主節(jié)點(diǎn)處從第一節(jié)點(diǎn)接收對(duì)第一資源的鎖定的請(qǐng)求;及 向所述第一節(jié)點(diǎn)發(fā)送以下確認(rèn)已向所述第一節(jié)點(diǎn)授予對(duì)所述第一資源的所述鎖定;及已授予對(duì)包括所述第一資源的一資源群組的鎖定。
5、 如權(quán)利要求4所述的方法,其中發(fā)送所述確認(rèn)包括發(fā)送識(shí)別所述資源群組的 一個(gè)或一個(gè)以上資源被一個(gè)或一個(gè)以上其它節(jié)點(diǎn)鎖定的映射。
6、 如權(quán)利要求4所述的方法,其中所述請(qǐng)求還包括對(duì)所述資源群組的所述鎖定 的請(qǐng)求。
7、 如權(quán)利要求4所述的方法,其中對(duì)所述第一資源的所述鎖定與對(duì)所述群組的 所述鎖定是不同類型的鎖定。
8、 如權(quán)利要求4所述的方法,其中所述主節(jié)點(diǎn)確定所述資源群組。
9、 一種用于管理數(shù)據(jù)庫(kù)系統(tǒng)中的鎖定請(qǐng)求的方法,所述方法包含 傳輸表示對(duì)資源的鎖定的請(qǐng)求的消息;及接收己授予對(duì)所述資源的所述鎖定的確認(rèn); 己授予對(duì)包括所述資源的一資源群組的鎖定的確認(rèn);及識(shí)別所述資源群組的一個(gè)或一個(gè)以上資源被一個(gè)或一個(gè)以上其它節(jié)點(diǎn)鎖定的 映射。
10、 如權(quán)利要求9所述的方法,其中所述步驟包括所述第一節(jié)點(diǎn)確定其需要對(duì)所述資源群組中所包括的第二資源的第二鎖定; 基于所述映射,所述第一節(jié)點(diǎn)確定無(wú)其它節(jié)點(diǎn)具有對(duì)所述第二資源的非兼容性鎖 定;及所述第一節(jié)點(diǎn)授予對(duì)所述第二資源的所述第二鎖定。
11、 如權(quán)利要求9所述的方法,其中所述步驟包括所述第一節(jié)點(diǎn)確定其需要對(duì)所述資源群組中所包括的第二資源的鎖定; 基于所述映射,所述第一節(jié)點(diǎn)確定另一節(jié)點(diǎn)具有對(duì)所述第二資源的非兼容性鎖定;所述第一節(jié)點(diǎn)從所述主節(jié)點(diǎn)請(qǐng)求對(duì)所述第二資源的所述鎖定。
12、 如權(quán)利要求9所述的方法,其中所述步驟包括 在所述第一節(jié)點(diǎn)處接收指示第二節(jié)點(diǎn)請(qǐng)求對(duì)第二資源的鎖定的消息; 響應(yīng)于接收所述消息,在所述映射中指示另一節(jié)點(diǎn)保持對(duì)所述第二資源的所述鎖定。
13、 如權(quán)利要求9所述的方法,其中所述步驟包括 在所述第一節(jié)點(diǎn)處接收指示第二節(jié)點(diǎn)請(qǐng)求對(duì)第二資源的鎖定的消息; 響應(yīng)于接收所述消息,在所述第一節(jié)點(diǎn)處確定釋放對(duì)所述資源群組的所述鎖定;及通知所述主節(jié)點(diǎn)對(duì)所述資源群組的所述鎖定的所述釋放。
14、 一種用于管理數(shù)據(jù)庫(kù)系統(tǒng)中的鎖定請(qǐng)求的方法,所述方法包含 從第一節(jié)點(diǎn)傳輸表示對(duì)一資源群組的鎖定的第一請(qǐng)求的第一消息; 在所述第一節(jié)點(diǎn)處接收已授予對(duì)所述資源群組的所述鎖定的確認(rèn);及 當(dāng)所述第一節(jié)點(diǎn)保持針對(duì)所述資源群組的所述鎖定時(shí),在所述第一節(jié)點(diǎn)處接收指示第二節(jié)點(diǎn)請(qǐng)求對(duì)資源的鎖定的第二消息,其中所述資源群組包括所述資源; 向所述第二節(jié)點(diǎn)傳輸授予對(duì)所述資源的所述鎖定的第三消息; 維持對(duì)所述資源群組的所述鎖定;及在所述第一節(jié)點(diǎn)上,致使識(shí)別所述資源群組的映射指示對(duì)所述資源的所述鎖定由 所述第二節(jié)點(diǎn)保持。
15、 一種機(jī)器可讀媒體,其攜載一個(gè)或一個(gè)以上指令序列,當(dāng)由一個(gè)或一個(gè)以上 處理器執(zhí)行時(shí)所述指令序列致使所述一個(gè)或一個(gè)以上處理器執(zhí)行權(quán)利要求1-14中的 任一者中所陳述的方法。
全文摘要
本發(fā)明提供一種用于管理數(shù)據(jù)庫(kù)系統(tǒng)中的鎖定的方法及設(shè)備。主節(jié)點(diǎn)向第一請(qǐng)求者節(jié)點(diǎn)授予對(duì)第一資源及包括所述第一資源的一資源群組的鎖定。所述請(qǐng)求者節(jié)點(diǎn)接收對(duì)應(yīng)于所述資源群組的可指示針對(duì)所述群組中的第二資源的鎖定已經(jīng)存在的映射。如果所述請(qǐng)求者節(jié)點(diǎn)需要對(duì)位于所述群組中的資源的鎖定,那么所述請(qǐng)求者節(jié)點(diǎn)授予其自身所述鎖定而不通知所述主節(jié)點(diǎn)。第二請(qǐng)求者節(jié)點(diǎn)請(qǐng)求針對(duì)所述資源群組中特定資源的鎖定。所述第一請(qǐng)求者節(jié)點(diǎn)授予對(duì)所述特定資源的鎖定且更新所述映射以指示不同的節(jié)點(diǎn)保持針對(duì)所述特定資源的鎖定。
文檔編號(hào)G06F9/46GK101375250SQ200780003270
公開(kāi)日2009年2月25日 申請(qǐng)日期2007年1月23日 優(yōu)先權(quán)日2006年2月3日
發(fā)明者威爾遜·外·順·禪, 安杰洛·普魯西諾, 尤金·霍, 托爾加·于雷克, 王德峰 申請(qǐng)人:甲骨文國(guó)際公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1