欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

用于在多節(jié)點系統(tǒng)內數據和鎖定傳送期間減少潛伏時間和信息業(yè)務的技術的制作方法

文檔序號:6358104閱讀:208來源:國知局
專利名稱:用于在多節(jié)點系統(tǒng)內數據和鎖定傳送期間減少潛伏時間和信息業(yè)務的技術的制作方法
技術領域
本發(fā)明涉及用于減少與請求數據項的一個實體有關的潛伏時間和信息業(yè)務(traffic)的技術,以及用于減少與該數據項有關的鎖定的技術。
背景技術
為了提高可量測性,某些數據庫和文件系統(tǒng)允許多于一個數據庫或文件服務器(獨立運行)來同時存取共享存儲器像磁盤介質。每個數據庫或文件服務器都具有用來存儲共享數據項的高速緩沖存儲器,像磁盤存儲塊。這些多節(jié)點系統(tǒng)此處被稱作群集。與群集相關聯(lián)的一個問題是和獲取數據項相關的總內務操作以及與該數據項相關的鎖定。
希望訪問數據項的那些實體此處被稱作該數據項的“請求者(Requestor)”。當前持有可訪問數據項的權利的一個或多個實體此處被稱作該數據項的持有者(Holder)。對于群集中的所有節(jié)點,用于記錄與數據項有關的鎖定的實體此處被稱作數據項的主管(Master)。數據項的主管、持有者及請求者可以是單個節(jié)點上的單獨進程或分離節(jié)點上的進程,或者一些是相同節(jié)點上的進程而其他是分離節(jié)點上的進程。
在一種典型的情形中,持有者在其高速緩沖存儲器中持有最新版的數據項。該請求者請求一定程度的訪問,從而請求對該數據項的鎖定。請求者需要的鎖定類型依賴于請求者希望進行的訪問類型。因此,鎖定請求一般會指明所希望鎖定的“鎖定模式”。從而,獲取特定類型的鎖定也可稱作“獲取特定模式的鎖定”。例如,為了讀取一條數據項,必須獲得S鎖定(例如共享鎖定)。為了修改一條數據項,必須獲得X鎖定(例如專用鎖定)。為了使X鎖定被持有,則任何其他的持有者都可持有任何其他的鎖定。然而,數個持有者可以同時持有S鎖定。
對于請求者,必須交換各種消息來獲得一條數據項及與該數據項相關的鎖定。參考圖1A和圖1B,圖1A是描述一個群集的方框圖,其中主管100、持有者110和請求者120處于分離的節(jié)點上。而且,請求者120需要S鎖定,持有者110已經具有X鎖定。圖1B示出可被圖1A中所示情形采用的信息。圖1B也示出與這些信息有關的參數。
很可能地,節(jié)點A處持有者110和節(jié)點B處請求者120之間的連接是高速連接。節(jié)點B處請求者120和節(jié)點C處主管100之間的連接是較低速的連接。
最初,持有者110具有一條數據項及該數據項的X鎖定。隨后,請求者120需要訪問該數據項和該數據項的S鎖定。為了請求訪問該數據項并獲得該數據項的S鎖定,節(jié)點B處的請求者120向節(jié)點C處的主管100發(fā)送一條鎖定請求消息。與該鎖定請求消息相關的是一個存儲單元和一個期望鎖定模式,其中所請求的數據項最終將被傳送到該存儲單元中,所述期望的鎖定模式表明請求者120需要S鎖定。
當主管100接收到該鎖定請求消息時,主管100向節(jié)點A處的持有者110發(fā)送一條消息,通知持有者110(例如通知鎖定持有者)存在一個請求者120需要共享模式下的該數據項。
持有者110將把所請求的數據項傳送至請求者指定的存儲單元。持有者110進行一個存儲器至存儲器的傳送,以將該數據項傳遞給請求者120。另外,節(jié)點A處的持有者110將下向轉換其鎖定模式從X鎖定至S鎖定,并通知主管100這種下向轉換。所請求數據項(例如TBM)的傳送和該下向轉換消息可以并行地發(fā)送。
當主管100接收到該下向轉換消息時,主管100通過向請求者120發(fā)送一個鎖定授權消息來授予節(jié)點B處的請求者120一個S鎖定。只有在請求者120收到該鎖定授予信息之后,請求者120才可以訪問該數據項。
在此情形中,潛伏時間或從最初請求(例如LRM)到數據項被使用時的時間(例如請求者120接收到該鎖定授予消息)是四個小消息(例如鎖定請求消息、通知鎖定持有者、下向轉換消息和鎖定授予信息)。所有的業(yè)務是四個小消息(鎖定請求消息、通知鎖定持有者、下向轉換消息和鎖定授予信息)和一個請求數據項的傳送。
為了提高在群集中操作的速度,就希望提供某些技術來減少請求者在訪問其請求的數據項之前必須等待的時間量。

發(fā)明內容
本發(fā)明提供一種方法和裝置,用于改進與傳送數據項相關聯(lián)的性能,并獲得多節(jié)點系統(tǒng)中的鎖定。所描述的技術適用于任何內容,只要其中具有高速緩沖存儲器的實體可共享訪問資源。這些內容包括但不限于文件系統(tǒng)和數據庫系統(tǒng)。根據本發(fā)明的一個方面,通過使請求者將塊傳送消息認作鎖定授予消息來獲得改進的性能。從而,只要請求者收到數據項,其就可以訪問該數據項而不必等待來自主管的明確鎖定授權。


借助于實例而并非限定的方式來圖解本發(fā)明,在所附的附圖中,相同的參考標記指代相似的元件,其中圖1A是描述最新版數據項和與該數據項相關的鎖定其高速緩沖存儲器至高速緩沖存儲器傳送的方框圖;圖1B是對應于圖1A的消息腳本(script);圖2A是描述處于一個群集中單獨節(jié)點處的主管、持有者和請求者的方框圖;圖2B是對應于圖2A的消息腳本;圖3A是描述處于相同節(jié)點的主管和請求者的方框圖;圖3B是對應于圖3A的消息腳本;圖4A是描述處于相同節(jié)點的主管和持有者的方框圖;圖4B是對應于圖4A的消息腳本;
圖5A是描述多個共享鎖定持有者和一個共享鎖定請求者的方框圖;圖5B是對應于圖5A的消息腳本;圖6A是描述多個共享鎖定持有者和一個專用鎖定請求者的方框圖;圖6B是對應于圖6A的消息腳本;圖7A是描述一種情形的方框圖,其中主管在接收到一條鎖定假定消息之前收到一條鎖定請求消息;圖7B是對應于圖7A的消息腳本;圖8A是描述在數據項傳送期間如何處理斷連的方框圖;圖8B是對應于圖8A的消息腳本;圖9A是描述如何處理來自多于一個共享鎖定請求者其同時鎖定請求的方框圖;圖9B是對應于圖9A的消息腳本;圖10A是描述如何處理對鎖定請求消息定時發(fā)布(timing issue)的方框圖;圖10B是對應于圖10A的消息腳本;圖11A描述如何處理鎖定狀態(tài)不匹配的方框圖;圖11B是對應于圖11A的消息腳本;
圖12是一個計算機系統(tǒng)的方框圖,其中本發(fā)明的一個實施例可以在該計算機系統(tǒng)上實施。
具體實施例方式
在此描述一種用于提高數據塊(例如數據項)傳送性能并通過將塊傳送信息譯為鎖定授權消息在群集中獲得鎖定的方法和裝置。在下面的描述中,為了說明的目的,給出了大量具體的細節(jié),以給出對本發(fā)明的大致理解。但是,很明顯,對本領域的技術人員來說,沒有這些具體的細節(jié)本發(fā)明也可以實施。在其它的實例中,以方框圖的形式示出了一些公知的結構和裝置,以避免不必要地使本發(fā)明變得不清楚。
以下描述的技術在任何具有高速緩沖的實體可共享資源的范圍內都可以應用。這些范圍包括但不限于文件系統(tǒng)和數據庫系統(tǒng)。當用在文件系統(tǒng)的范圍內時,文件系統(tǒng)塊可以不具有如下所述數據項標題(header)內的冗余字段,該如下所述的數據項標題是在術語傳輸塊消息的討論范圍內。與在數據項標題中使用冗余字段相反,新的鎖定方式和手段可用在與數據單元相分開的標題單元中。此外,請求的存儲地址必須包括該標題和數據單元。該標題和數據單元可以通過互聯(lián)的分散/聚集操作來傳送。
術語以下的術語將用于指代在以下許多情形中交換的消息,以描述
具體實施例方式1)鎖定請求消息(LRM)請求者向主管發(fā)送LRM。在一些系統(tǒng)中,請求者可以包含一個在LRM中的存儲單元,數據項被拷貝到該請求單元中。
2)通知鎖定持有者消息(ILH)主管向鎖定持有者發(fā)送ILH,以便通知持有者存在一個對獲取數據項鎖定感興趣(即期望訪問數據項)的請求者。如果請求者希望專用鎖定,則ILH可以傳送至多個持有對數據項S鎖定的持有者。
3)傳送塊消息(TBM)持有者將數據項(例如塊)傳送至帶有TBM的請求者,其中該數據項位于持有者的高速緩沖存儲器中。傳送塊消息的接收可被請求者理解為來自數據項持有者的鎖定授權。
不僅TBM包括數據項的內容,而且持有者的鎖定狀態(tài)信息也包括數據項的內容。鎖定狀態(tài)信息可以簡單地由鎖定模式組成。在一些系統(tǒng)中,鎖定狀態(tài)信息另外包含在持有者高速緩沖存儲器中保留的數據項版本號,或者一些數據項節(jié)點傳送的顯示。與該數據項相關聯(lián)的信息的傳送技術是將此條信息存儲在數據項標題的冗余字段中。如果在接收到數據項后該請求節(jié)點可重新構建這些“冗余”的字段,則數據項標題字段被認為是“冗余的”。冗余字段的例子有數據庫塊地址和數據庫塊類型。
用于發(fā)送與數據項相關聯(lián)的信息的第二種技術是使用“分散/聚集”技術來在單條基礎信息中傳送分離的標題和有效負載字段。例如,一個典型的寫入/發(fā)送操作可用如下的訪問來實現(xiàn)Send(Some_dest,Some_buffer,buffer_length);一個矢量發(fā)送/寫入采用一陣列或一序列緩沖器并將其輸入一個操作,如下v
.buf=buf1;v
.len=buflen1;
v[1].buf=buf2;v[1].len=buflen2;vSend(Some_dest,2/*Size of vector*/,V)其中接收/讀取如下v
.buf=buf1;v
.len=buflen 1;v[1].buf=buf2;v[1].len=buflen2;vread(Some_dest,2,v)使用這些操作的通常方式是將標題信息從有效負載中分離出來。在給定用作文件系統(tǒng)的例子中,鎖定消息信息是buf1,實際的塊將在buf2中。在API中兩種操作的描述允許基礎系統(tǒng)將兩種操作所出現(xiàn)的轉換成單個操作。如果這種技術用在消息系統(tǒng)中,則結果就是在線上的一條消息,這是一個很大的優(yōu)點。
用于發(fā)送與數據項有關的信息的第三種技術是發(fā)送單個的狀態(tài)消息(例如LSM),該單個的狀態(tài)消息包括鎖定狀態(tài)信息,而不是包括具有TBM的鎖定狀態(tài)信息;然而,除非系統(tǒng)允許通過一個“矢量”的并行發(fā)送來傳送單個的LSM和單個的TBM,否則傳送單個的狀態(tài)消息可能會降低協(xié)議的有效性。在支持“矢量”并行發(fā)送的這類系統(tǒng)中,單個的LSM將不會減少協(xié)議的有效性。
4)廣播通知鎖定持有者消息(BILH)主管向所有共享的鎖定持有者發(fā)送BILH(例如對于特定的數據項,所有共享鎖定的持有者),但除一個持有者以外,以通知共享的鎖定持有者一個請求者對獲取數據項的鎖定感興趣,共享的鎖定持有者對該數據項持有共享鎖定。
5)下向轉換消息(DCM)持有者下向轉換它的鎖定(例如,從專用模式轉換到共享模式),并通知主管鎖定已經通過將DCM發(fā)送給主管而被下向轉換。
6)更新鎖定模式(ULM)當多于一個持有者需要通知主管他們已經根據對數據項的請求改變/更新了其鎖定模式時,持有者將ULM與鎖定id及與該鎖定id相關聯(lián)的新的鎖定模式傳送給主管。
7)鎖定授權消息(LGM)主管傳送LGM給請求者,以通知請求者鎖定已經被授予給請求者。
8)鎖定狀態(tài)消息(LSM)當兩個實體(例如主管,請求者,持有者)意識到其各自的鎖定狀態(tài)并不匹配時,該兩個實體將與LSM交換狀態(tài)。例如,當主管收到LRM時,其中包括來自持有者的鎖定狀態(tài),該來自持有者的鎖定狀態(tài)并不與主管具有的鎖定狀態(tài)相匹配,主管將向具有主管鎖定狀態(tài)的持有者發(fā)送LSM。然后,持有者將LSM發(fā)送回主管,其包括鎖定狀態(tài),正如持有者所知道的那樣。因而,主管和持有者可以對特定的數據項再同步它們的鎖定狀態(tài)。
鎖定假定消息如前所述,典型地,當數據項的持有者將數據項傳送至數據項的請求者時,持有者將下向轉換對該數據項的鎖定并向該數據項的主管傳送一條消息,表明下向轉換已經進行。其后,主管向該數據項的請求者發(fā)送一個鎖定授權消息,以通知請求者其已經被授予鎖定該數據項。
相反,提供一些技術,其中請求者不必等待來自主管的鎖定授權消息。請求者將來自持有者的數據項接收認為是一條隱含的鎖定授權消息。借助于請求者將鎖定轉換消息認為是鎖定授權消息,就可排除該下向轉換消息和鎖定授權消息,從而獲得改進的性能。
最終,數據項的主管必須被通知有關是何實體對數據項持有鎖定的消息。在持有者不必傳送反向轉換消息給主管的實例中,主管必須通過一些其它的途徑來獲取這條消息。根據一個實施例,為了使主管知道持有者已經下向轉換了其模式鎖定以及請求者已經假設一個新的鎖定模式,該請求者或持有者將鎖定假定消息(LAM)傳送給主管。
功能綜述圖2A是描述一個群集的方框圖,其中主管200、持有者210和請求者220位于該群集中的分離節(jié)點處。此外,請求者220需要S鎖定,持有者210已經具有X鎖定。圖2B示出可被圖2A中所示情形采用的消息腳本。圖2B也示出與這些消息有關的參數。
持有者210當前具有一條數據項和用于這個數據項的X鎖定。請求者220需要訪問這個數據項和數據項的S鎖定。執(zhí)行下面的步驟,以使請求者220可以獲取訪問S模式內的該數據項1)請求者向主管發(fā)送LRM為了請求訪問該數據項和獲取這個數據項的S鎖定,請求者220向主管200發(fā)送LRM。一個存儲單元和希望的鎖定模式與該LRM相聯(lián),請求的數據項最終將被傳輸至該存儲單元中,該希望的鎖定模式表明請求者220需要一個S鎖定。
2)主管向持有者發(fā)送ILH當主管200接收到LRM時,主管200給持有者210發(fā)送ILH,以通知持有者210,存在一個請求者220需要位于共享模式中的該數據項。
3)持有者向請求者發(fā)送TBM持有者210使用請求者的存儲單元(方框220)傳送具有TBM的該數據項。持有者210進行一個存儲器至存儲器的傳送來將該數據項傳遞至請求者220。
請求者220的S鎖定將數據項的接收認為是鎖定授權,從而排除了需要等待LGM和DCM。此外,由于持有者210具有X鎖定且在持有X鎖定的同時沒有其他的持有者可以持有任何鎖定,因此一旦傳遞數據項,持有者210將下向轉換其鎖定,從X鎖定至S鎖定。根據一個實施例,通過改變局部保持在持有者210上的鎖定消息來實現(xiàn)這種下向轉換,但是持有者210并不必通知主管200這種具有DCM的下向轉換。
4)請求者向主管發(fā)送LAM請求者220向主管200發(fā)送LAM,指示請求者220已經假設一個數據項的S鎖定,該數據項被持有者210傳遞。響應于該LAM,主管200修改其對于數據項的鎖定消息,以指示請求者220和持有者210兩者都具有數據項的S鎖定。根據本發(fā)明的另一個實施例,與請求者220向主管200發(fā)送LAM相反,持有者210可以在向請求者220發(fā)送TBM的同時,向主管200發(fā)送LAM。
更可能的是,節(jié)點處A的持有者210和節(jié)點B處的請求者220兩者之間的連接是高速連接。節(jié)點B處的請求者220和節(jié)點C處的主管200兩者之間的連接是較低速的連接。假設這種構造對于下述所有的情形都是成立的。
在此情形下,潛伏時間或從最初請求(例如LRM)至數據項被使用(例如完成TBM)時的時間是2個小消息和一個數據項傳送(例如LRM,ILH,TBM)。所有的業(yè)務是3個小消息和一個數據項傳送(例如LRM,ILH,LAM和TBM)。
相同節(jié)點處的主管和請求者圖3A是描述一個群集的方框圖,其中主管310和請求者320是處于相同節(jié)點-節(jié)點B 300上的單獨進程,持有者330處于單獨的節(jié)點-節(jié)點A 330上。請求者320需要一個S鎖定,持有者330已經具有一個X鎖定。圖3B示出可被圖3A中所示情形采用的消息腳本。圖3B也示出與這些消息有關的參數。
持有者330當前具有一條數據項和用于這個數據項的X鎖定。請求者320需要訪問這個數據項和該數據項的S鎖定。被執(zhí)行以使請求者320可以獲取訪問S模式內的該數據項的步驟與圖2A和圖2B中的相同,除了以下兩點第一,消息LRM和LAM在處于相同節(jié)點處的兩個過程之間被發(fā)送,而不是在處于單獨節(jié)點處的兩個過程之間被發(fā)送,因此是過程調用。第二,LAM是不必要的,因為請求者320可以將主管310的鎖定結構更新為下向轉換持有者330鎖定。
在這種情形下,潛伏時間或從最初請求(例如LRM)至數據項被使用(例如完成TBM)時的時間是一個小消息和一個數據項傳送(例如ILH,TBM)。所有的業(yè)務也是一個小消息和一個數據項傳送(例如ILH,TBM)。消息LRM和LAM并不被認為是潛伏時間的一部分,這是因為這些消息處于在同一節(jié)點的兩個進程之間,因此被作為過程調用對待。
相同節(jié)點處的主管和持有者圖4A是描述一個群集的方框圖,其中主管410和持有者420是處于相同節(jié)點-節(jié)點A(方框400)上的單獨進程,請求者430處于單獨節(jié)點-節(jié)點B(方框430)上。請求者430需要一個S鎖定,持有者420已經具有一個X鎖定。圖4B示出可被圖4A中所示情形采用的消息。圖4B也示出與這些消息有關的參數。
持有者420當前具有一條數據項和用于這個數據項的X鎖定。隨后,請求者430需要訪問這個數據項和該數據項的S鎖定。被執(zhí)行以使請求者430可以獲取訪問S模式內的該數據項的步驟與圖2A和圖2B中的相同,除了以下兩點第一,消息ILH在處于相同節(jié)點處的兩個進程之間被發(fā)送,而不是在處于單獨節(jié)點處的兩個進程之間被發(fā)送。第二,LAM從請求者430至主管410是不必要的。原因在于在持有者420收到ILH后,持有者420可以下向轉換持有者的局部鎖定模式,同時持有者420也可以更新主管410鎖定結構中請求者430的鎖定模式。
在這種情形下,潛伏時間或從最初請求(例如LRM)至數據項被使用(例如完成TBM)時的時間是兩個小消息和一個數據項傳送(例如LRM,LAM,TBM)。所有的業(yè)務也是兩個小消息和一個數據項傳送(例如,LRM,LAM,TBM)。如果LAM被消除,則潛伏時間是一個小消息和一個數據項傳送(例如LRM,TBM),而且所有的業(yè)務也是一個小消息和一個數據項傳送(例如LRM,TBM)。消息ILH并不被認為是潛伏時間的一部分,這是因為ILH處于在同一節(jié)點的兩個進程之間,因此被作為過程調用對待。
S鎖定的多個共享鎖定持有者和請求者圖5A是描述一個群集的方框圖,其中主管500,兩個持有者(方框510和530)和請求者520處于一個群集的分離節(jié)點上。此外,請求者520需要一個S鎖定,持有者(方框510和530)已經具有S鎖定。該兩個S鎖定持有者(方框510和530)不必放棄其各自的S鎖定而使請求者520也獲得一個S鎖定。圖5B示出可被圖5A中所示情形采用的消息腳本。圖5B也示出與這些消息有關的參數。被執(zhí)行以使請求者520可以獲取訪問S模式內的該數據項的步驟與圖2A和圖2B中的相同,除了主管500僅接收處于節(jié)點A和節(jié)點C上的其中一個共享鎖定持有者(方框510和520),以發(fā)送至ILH。
如圖5A所示,主管500向持有者510發(fā)送ILH。主管500可使用各種方法來接收持有者(510或530)發(fā)送ILH。兩種可能的情形如下1)接收S鎖定的最新被授予者,因為它最可能具有在高速緩沖存儲器中的數據項;或2)如果在與主管相同的同一節(jié)點處存在一個S鎖定持有者,則接收處于與主管相同節(jié)點上的該S鎖定持有者,從而減少所有的業(yè)務。上述用于接收持有者發(fā)送ILH的可能適用于存在多個持有者的其他情形。從這兒開始,在圖5A和圖5B中的這些步驟分別與圖2A和圖2B中的相同。
X鎖定的多個共享鎖定持有者和請求者圖6A是描述一個群集的方框圖,其中主管600,三個持有者(方框610、620和630)和一個請求者640處于一個群集中的分離節(jié)點上。請求者640需要一個X鎖定,三個持有者(方框610、620和630)已經具有S鎖定。為了使請求者640獲得一個X鎖定,該三個持有者(方框610、620和630)需要放棄其各自的S鎖定。圖6B示出可被圖6A中所示情形采用的消息腳本。圖6B也示出與這些消息有關的參數。
以下步驟被執(zhí)行以便于請求者640能夠獲得訪問X模式內的數據項1)請求者向主管發(fā)送LRM為了請求訪問數據項并獲取這個數據項的X鎖定,請求者方框640傳送LRM給主管600。一個存儲單元和一個期望鎖定模式與LRM相聯(lián),其中請求的數據項最終被傳送至該存儲單元內,該期望的鎖定模式指示請求者640需要S鎖定。
2)主管向所有但除其中一個的持有者發(fā)送BILH當主管600收到LRM時,主管600同時發(fā)送BILH給所有的持有者(方框610,620)但除一個(持有者630)外,以通知其他的持有者(方框610,620),存在一個請求者640需要專用模式的數據項。
3)將響應ULM的持有者通知主管通知到的持有者(方框610,620)解除它們各自的S鎖定并響應具有ULM的主管600,表明其鎖定已經被解除(例如持有者610和620)。ULM被該通知到的持有者(方框610,620)大約同時傳送至主管600。
4)主管向最后持有者發(fā)送ILH當主管600收到最后一個ULM時,主管600傳送ILH給最后一個S鎖定持有者,其中在持有者630的這種情況時,通知該最后的持有者630,存在一個請求者640需要專用模式(例如X鎖定)的數據項。
5)最后的持有者向請求者發(fā)送TBM最后的持有者630使用該請求者的存儲單元(方框640)來傳送具有TBM的請求數據項。這個最后的持有者630進行一個存儲器至存儲器的傳送來將數據項傳輸至請求者640。X鎖定的請求者640將數據項的接收認為是鎖定授權,從而消除了LGM和DCM。此外,由于持有者630具有一個S鎖定,且沒有其他的持有者可在持有X鎖定的同時持有任何其他的鎖定,因此一旦將數據項傳送至請求者640,該最后的持有者630就將解除其S鎖定。
6)請求者向主管發(fā)送LAM請求者640傳送LAM給主管600,表明請求者640已經假定一個用于數據項的X鎖定,其中該數據項被傳送至請求者640。
在此情形下,潛伏時間或從最初請求(例如LRM)至數據項被使用(例如完成TBM)時的時間是4個小消息和一個數據項傳送(例如LRM,BILH,ULM,ILH,TBM)。所有的業(yè)務依賴于S鎖定持有者的數目。
在鎖定假定消息之前主管接收鎖定請求消息圖7A是描述一個群集的方框圖,其中主管700,持有者720和請求者720處于一個群集中的分離節(jié)點上。此外,請求者720需要一個X鎖定,持有者710已經具有一個X鎖定。圖7B示出可被圖7A中所示情形采用的消息腳本。圖7B也示出與這些消息有關的參數。持有者710當前具有一條數據項和用于這個數據項的X鎖定。隨后,請求者720需要訪問該數據項及用于該數據項的X鎖定。
下面步驟被執(zhí)行以便請求者720能夠獲取訪問X模式中的該數據項1)請求者向主管發(fā)送LRM為了請求訪問這個數據項并獲得用于這個數據項的X鎖定,請求者720向主管700發(fā)送LRM。一個存儲單元和一個期望的鎖定模式與LRM相關,請求的數據項將被最終轉移到該數據單元內,該期望的鎖定模式表明請求者720需要一個X鎖定。
2)主管向持有者發(fā)送ILH當主管700接收LRM時,主管700發(fā)送ILH給持有者710以通知持有者710存在一個請求者720需要專用模式下的數據項。
3)持有者向請求者發(fā)送TBM持有者710使用請求者的存儲單元(方框720)傳送帶有TBM的請求數據項。持有者710進行一個存儲器至存儲器的傳送以將數據項傳送到請求者720。該X鎖定的請求者710將數據項的接收認為是鎖定授權,從而消除了LGM和DCM。此外,由于持有者710具有一個X鎖定且在持有X鎖定的同時沒有任何其它的持有者可以持有任何其它的鎖定,因此一旦傳送該數據項持有者710將解除它的X鎖定。該X鎖定的持有者710將不再通知具有DCM的主管700的解除。
4)請求者向主管發(fā)送LAM,但是主管在LRM之后接收到LAMa)請求者720向主管700發(fā)送LAM,表明請求者720已經假定一個用于數據項的X鎖定,其中該數據項被傳送至請求者720。
b)然而,在主管700接收到請求者720傳送的LAM之前,持有者710不再認為是持有者,其傳送LRM來再次請求用于這個相同數據項的X鎖定。
5)主管向持有者發(fā)送LSM當主管700收到來自持有者710的LRM(參考圖7A中的消息4b)時,對于所涉及的數據項,主管700確定在節(jié)點C(方框700)處的主管的鎖定記錄和在節(jié)點A(方框710)處的持有者的鎖定記錄之間存在著失配。此時,主管700等待LAM來表明新的持有者720處于節(jié)點B處。然而直至主管700確實地收到該LAM,主管的鎖定記錄(方框700)仍舊示出該持有者710處于節(jié)點A處。為了同步這些鎖定記錄,主管700向處于節(jié)點A的持有者710發(fā)出一個與主管記錄鎖定模式一起的LSM。
6)持有者向主管發(fā)送LSM當持有者710接收到來自主管700的LSM時,持有者710確定出對于該數據項,持有者的記錄鎖定模式(方框710)與主管的記錄鎖定模式(方框700)不同步。通過向主管700發(fā)出一個LSM,持有者710響應該確定,其中與用于該數據項的持有者記錄鎖定模式(方框710)一起發(fā)送該LSM。當主管700接收到來自持有者710的LSM時,主管700和持有者710將相對于與該數據項相關聯(lián)的鎖定模式而被同步。
當主管接收到來自請求者720的LAM時,主管700改變其鎖定信息以表明該請求者720具有X鎖定,并向請求者720發(fā)送ILH以通知新的持有者(前請求者)720,新的請求者(前持有者)720的需要一個鎖定。從此后數據處理將以正常的方式繼續(xù)。
雖然步驟5和6產生正確的結果,步驟5和6并不是必要的。當主管700接收到LRM(4b),主管700可以確定正確的鎖定狀態(tài)以及隱含地更新主管700的局部鎖定狀態(tài)。這對于熱塊尤為重要由于前持有者710在TBM(3)之后立即發(fā)送一個請求的可能性很高。
在數據傳送期間斷開圖8A是描述一個群集的方框圖,其中主管800,持有者810和請求者820位于一個群集中的分離節(jié)點處。此外,數據項的傳輸并沒有到達請求者820。為了說明本發(fā)明的這個實施例起見,不考慮鎖定模式。圖8B示出可被圖8A中所示情形采用的消息腳本。圖8B也示出與這些消息有關的參數。持有者810當前具有一條數據項和用于這個數據項的X鎖定。隨后,請求者820需要訪問該數據項及用于該數據項的X鎖定。下面步驟被執(zhí)行以便請求者820能夠獲取訪問X模式中的該數據項1)請求者向主管發(fā)送LRM為了請求訪問這個數據項并獲得用于這個數據項的S鎖定,請求者820向主管800發(fā)送LRM。一個存儲單元和一個期望的鎖定模式與LRM相關,請求的數據項將被最終轉移到該數據單元內。
2)主管向持有者發(fā)送ILH當主管800接收LRM時,主管800發(fā)送ILH給持有者810以通知持有者810存在一個請求者820需要指示鎖定模式下的數據項。
3)持有者向請求者發(fā)送TBM持有者810使用請求者的存儲單元(方框820)傳送帶有TBM的請求數據項。然而,由于某些錯誤,所請求數據項的傳送并不完全。從而,該鎖定的請求者820并不能將數據項的接收認為是鎖定授權。此外,持有者810不向主管800發(fā)出一個LAM來表明持有者820已經假定該鎖定。
根據一個實施例,這種類型的出錯情況(error situation)通過使主管800包括所有的ILH消息來被尋址(address),主管當前對鎖定模式的理解由ILH發(fā)送至的實體來持有。例如,如果主管800處的消息仍舊表明持有者810具有對一資源的專有鎖定,則主管800將在另一節(jié)點請求對該資源的一個鎖定時向持有者810發(fā)出一個ILH。主管800將包括該ILH數據項,該ILH數據項表明主管800認為持有者810對該資源具有一個X鎖定。
如果持有者810接收到一個具有鎖定狀態(tài)的ILH消息,其中該鎖定狀態(tài)與持有者810的鎖定狀態(tài)記錄并不匹配,則持有者810就可以拒絕該ILH,并更新主管800的用于該數據項的持有者鎖定模式狀態(tài)。例如,通過發(fā)出一個LSM至主管800,持有者810可能響應一個表明X鎖定模式的ILH,以表示持有者810已經降級了其鎖定模式。當請求者820確定TBM并未到來時,請求者820將通過再次將LRM發(fā)送至主管800來進行重試。
多重S鎖定請求者圖9A是描述一個群集的方框圖,其中主管900,持有者910和兩個請求者(方框920和930)位于一個群集的分離節(jié)點處。此外,請求者920和930需要S鎖定,持有者910已經具有X鎖定。請求者920和930在大約相同的時間發(fā)出它們的S鎖定請求,主管900在大約相同的時間接收到這些S鎖定請求。圖9B示出可被圖9A中所示情形采用的消息腳本。圖9B也示出與這些消息有關的參數。
下面步驟被執(zhí)行以便請求者920和930能夠獲取訪問S模式下的該數據項1)請求者向主管發(fā)送LRM為了請求訪問這個數據項并獲得用于這個數據項的S鎖定,請求者920和930向主管900發(fā)送LRM。存儲單元和一個期望的鎖定模式與LRM相聯(lián),請求的數據項將被最終轉移到該數據單元內,該期望的鎖定模式表明請求者920和930需要S鎖定。主管大約在相同的時間接收到來自請求者920和930的LRM。
2)主管向持有者發(fā)送ILH當主管900接收到LRM時,主管900傳送ILH給持有者910以通知持有者910存在兩個請求者920和930需要共享模式下的該數據項。對于每個請求者920和930,與向持有者910發(fā)出單獨的ILH相反,主管900通過包括存儲單元來將這些請求分批成一個ILH,對于一個ILH中的請求者920和930,數據項需要被復制到該一個ILH內。
3)持有者向請求者發(fā)送TBM持有者910使用請求者的存儲單元(方框920和930)傳送帶有TBM的請求數據項。持有者910進行一個存儲器至存儲器的傳送以將數據項傳送到請求者920和930。
該S鎖定的請求者920和930將數據項的接收認為是鎖定授權,從而消除了需要等待LGM和DCM。此外,由于持有者910具有一個X鎖定且在持有X鎖定的同時沒有任何其它的持有者可以持有任何其它的鎖定,因此一旦傳送該數據項,持有者910將下向轉換其鎖定,從X鎖定轉換成S鎖定。根據一個實施例,這種下向轉換通過改變局部保持在持有者910上的鎖定消息來進行,但持有者910并不通知主管900這種具有DCM的下向轉換。
4)請求者向主管發(fā)送LAM請求者920和930向主管900發(fā)出LAM,表明請求者920和930已經假定其對于該數據項各自的S鎖定,其中該數據項被持有者910傳送。響應于該LAM,主管900接收到其用于該數據項的鎖定消息,以表明請求者920、930和持有者910具有對該數據項的S鎖定。
在此情形下,潛伏時間或從最初請求(例如LRM)至數據項被使用(例如完成TBM)時的時間是2個小消息和一個數據項傳送(例如LRM,ILH,TBM)。所有的業(yè)務是5個小消息和一個數據項傳送(例如兩個LRM,一個ILH,兩個LAM和兩個TBM)。
鎖定請求消息的定時發(fā)布圖10A是描述一個群集的方框圖,其中主管1000,持有者1010和請求者1020位于一個群集中的分離節(jié)點處。持有者1010具有一個S鎖定,并需要將鎖定模式提升至X鎖定。而且,請求者1020也需要一個X鎖定。在這種情形下,感興趣的一點是主管1000將接收來自請求者1020的LRM,其后不久接收來自持有者1010的LRM,請求提升持有者1010的鎖定模式從S升至X。圖10B示出可被圖10A中所示情形采用的消息腳本。圖10B也示出與這些消息有關的參數。
持有者1010當前具有一個數據項和用于這個數據項的S鎖定。持有者1010和請求者1020兩者都需要以專用的模式來訪問這個數據項,從而需要用于該數據項的X鎖定。下面步驟被執(zhí)行以便請求者1020能夠獲取訪問X模式中的該數據項。
1a)請求者向主管發(fā)送LRM為了請求訪問這個數據項并獲得用于這個數據項的X鎖定,請求者1020向主管1000發(fā)送LRM。一個存儲單元和一個期望的鎖定模式與LRM相聯(lián),請求的數據項將被最終轉移到該數據單元內,該期望的鎖定模式表明請求者1020需要X鎖定。
1b)持有者向主管發(fā)送LRM以將鎖定從S提升至X為了獲取數據項的專用模式,其中持有者1010已經處于S模式,持有者1010向主管1000發(fā)出一個LRM,請求將此數據項的鎖定模式從S提升至X。然而,主管1000在接收到持有者1010的LRM之前已經接收到請求者1020的LRM。
2)主管向持有者發(fā)送ILH當主管1000接收到來自請求者1020的LRM時,主管1000傳送ILH給持有者1010以通知持有者1010存在一個請求者1020需要專用模式下的該數據項。持有者1010認為在其自身和請求者1020之間存在著差異。
3)持有者向請求者發(fā)送TBM持有者1010使用請求者的存儲單元(方框1020)傳送帶有TBM的請求數據項。持有者1010進行一個存儲器至存儲器的傳送以將數據項傳送到請求者1020。
該鎖定的請求者1020將數據項的接收認為是鎖定授權,從而消除了需要等待LGM和DCM。而且,由于持有者1010具有一個X鎖定且在持有X鎖定的同時沒有任何其它的持有者可以持有任何其它的鎖定,因此一旦傳送該數據項至請求者1020,持有者1010將放棄其鎖定。該X鎖定的持有者1010不再通知主管1000持有者1010已經放棄了其具有DCM的鎖定。
4)持有者向主管重發(fā)LRM此時,持有者1010不再是一個持有者,它通過向主管1000發(fā)送另一個LRM來再次嘗試以獲得用于該數據項的X鎖定。但是,請求者1020已經具有一個用于此數據項的X鎖定。因此,此時,先前的持有者1010被作為類似于其他任何新的持有者來對待,而且先前的持有者1010其新的請求將被排列在任何其他等待的請求之后。
5)請求者向主管發(fā)送LAM請求者1020向主管1000發(fā)送LAM,表明請求者1020已經假定一個數據項的X鎖定,其中該數據項被持有者1010傳送。響應于該LAM,主管1000修改該數據項的鎖定消息,以表明先前的持有者1010不再具有此數據項的鎖定,以及請求者1020具有該相同數據項的X鎖定。在主管1000已經收到來自請求者1020的LAM后,主管1000將認為節(jié)點A 1010類似于其他任何的請求者,其中節(jié)點A 1010當前是請求者;從而主管1000將向代表節(jié)點A 1010的節(jié)點B 1020發(fā)出一個ILH。
在此情形下,潛伏時間或從最初請求(例如LRM)至數據項被使用(例如完成TBM)時的時間是2個小消息和一個數據項傳送(例如LRM,ILH,TBM)。所有的業(yè)務是3個小消息和一個數據項傳送(例如LRM,ILH,LAM和TBM)。
鎖定狀態(tài)的不匹配圖11A是描述一個群集的方框圖,其中主管1100,620,持有者(方框1110和1120)和請求者1130位于一個群集中的分離節(jié)點處。兩個持有者(方框1110和1120)已經具有S鎖定。持有者1110請求將鎖定模式從S提升到X。此外,請求者1130需要X鎖定。為了使請求者1130獲取X鎖定,兩個持有者(方框1110和1120)需要放棄他們各自的S鎖定。圖11B示出可被圖11A中所示情形采用的消息腳本。圖11B也示出與這些消息有關的參數。
下面步驟被執(zhí)行以便請求者1130能夠獲取訪問X模式下的該數據項。
1)請求者向主管發(fā)送LRM,持有者也向主管發(fā)送LRM為了請求訪問這個數據項并獲得用于這個數據項的X鎖定,請求者1130向主管1100發(fā)送LRM。一個存儲單元和一個期望的鎖定模式與LRM相聯(lián),請求的數據項將被最終轉移到該數據單元內,該期望的鎖定模式表明請求者1130需要X鎖定。
幾乎同時,持有者1110也向主管1100發(fā)出一個LRM,請求持有者1110的鎖定從S提升至X。然而,依照這種情形,持有者1110發(fā)出的LRM會被延遲到達主管1100。在持有者1110發(fā)出LRM時,該LRM將包含當前的鎖定模式和持有者1110的期望鎖定模式。
2)主管向除一個持有者外所有的持有者發(fā)送BILH當持有者1100接收到LRM時,主管1100同時向除一個持有者(持有1120)之外的所有持有者(方框1110)發(fā)送BILH,以通知其它的持有者(方框1110)存在一個請求者1130需要該專用模式下的數據項。
3)將響應于ULM的持有者通知給主管被通知的持有者1110解除持有者1110持有的S鎖定,并響應回復具有ULM的主管1100,表明持有者1110已經解除該鎖定。持有者1110將向主管1100發(fā)送ULM。由于主管1100相對于其擔負的所有實體保持鎖定模式,因此主管1100將更新存在于其上的持有者1110的鎖定模式,來表明當主管1100接收到來自持有者1110的LRM時持有者1110已經解除該鎖定(例如,零)。
4)主管向最后的持有者發(fā)送ILH當主管1100接收到ULM時,主管1100傳送ILH給最后的S鎖持有者,在這種情況下該最后的S鎖定持有者是持有者1120,以通知該最后的持有者1120存在一個請求者1130需要專用模式(例如X鎖定)下的該數據項。
5)最后的持有者向請求者發(fā)送TBM最后的持有者1120使用請求者的存儲單元(方框1130)傳送帶有TBM的請求數據項。該最后的持有者1120進行一個存儲器至存儲器的傳送以將數據項傳送到請求者1130。該X鎖定的請求者1130將數據項的接收認為是鎖定授權,從而消除了LGM和DCM。而且,由于持有者1120具有一個S鎖定且在持有X鎖定的同時沒有任何其它的持有者可以持有任何其它的鎖定,因此一旦傳送該數據項至請求者1130,該最后的持有者1120將解除其S鎖定。
6)請求者向主管發(fā)送LAM請求者1130發(fā)送LAM給主管1100,表明請求者1130已經假定用于該數據項的X鎖定,其中該數據項被轉移到請求者1130。
7)主管接收來自先前持有者的LRM此時,來自先前持有者1110的LRM到達主管1100。該主管1100認為持有者1110具有一個解除或零的鎖定模式。然而,持有者1110發(fā)出的LRM表明持有者1110的當前模式是S,這是因為在持有者1110發(fā)送LRM時,持有者1110的鎖定模式是S。因此,主管1100和持有者1110將通過交換鎖定狀態(tài)消息(例如,LSM)來進行彼此更新。
8)主管向先前持有者發(fā)送LSM主管1100向具有依照主管1100理解的鎖定模式的持有者1110發(fā)送LSM。
9)先前的持有者向主管發(fā)送LSM持有者1110向具有依照持有者1110理解的鎖定模式的主管1100發(fā)送LSM。然后,對于該最初請求數據項的鎖定,主管1100和持有者1110將關于該模式被同步。
硬件綜述圖12是一個圖解計算機系統(tǒng)1200的方框圖,本發(fā)明的一個實施例基于此系統(tǒng)可以實施。計算機系統(tǒng)1200包括用于通信信息的總線1202或其他通信機構,以及與總線1202相耦合、用于處理信息的處理器1204。計算機系統(tǒng)1200還包括主存儲器1206,像隨機訪問存儲器(RAM)或其他動態(tài)存儲器,耦合在總線1202上來存儲被處理器1204執(zhí)行的信息和指令。在處理器1204將要執(zhí)行的指令的進行期間,主存儲器1206也可用于存儲暫時變量或其他的中間信息。計算機系統(tǒng)1200還包括只讀存儲器(ROM)1208或其他耦合在總線1202上、用于存儲靜態(tài)信息和處理器1204指令的靜態(tài)存儲器。存儲設備1210像磁盤或光盤被設置且耦合在總線1202上以存儲信息和指令。
計算機系統(tǒng)1200可通過總線1201耦合在顯示器1212上,像陰極射線管(CRT),用于向計算機用戶顯示信息。輸入設備1214,包括字母數字和其他鍵,耦合到總線1202上,用來向處理器1204交流信息和命令選擇。另一種用戶輸入設備是光標控制1216,像鼠標、跟蹤球,或光標方向鍵,用來向處理器1204交流方向信息和命令選擇,并用來控制光標在顯示器1212上的移動。這種輸入設備一般具有兩個坐標軸一第一軸(例如X)和第二軸(例如Y)內的兩個自由度,其允許該設備在一個平面內限定位置。
本發(fā)明涉及計算機系統(tǒng)1200的使用,以降低與聲脈沖信號(ping)相關的總內務操作(overhead)。根據本發(fā)明的一個實施例,與聲脈沖信號相關的總內務操作被響應于處理器1204的計算機系統(tǒng)1200降低,該處理器執(zhí)行包含在主存儲器1206內的一個或多個序列的一個或多個指令。這些指令可以從另外的計算機可讀介質像存儲設備1210讀入主存儲器1206內。包含在主存儲器1206內的指令序列的執(zhí)行促使處理器1204進行下述的處理步驟。在可替代的實施例中,可以采用硬線電路替代或與軟件指令相結合來實施本發(fā)明。因此,本發(fā)明的實施例并不限于硬線電路和軟件的任何特定組合。
此處使用的術語“計算機可讀介質”指的是可向處理器1204提供指令進行執(zhí)行的任何介質。這種介質可以采用多種形式,包括但并不限于非易失介質、易失介質和傳輸介質。非易失介質包括例如光盤或磁盤,例如存儲設備1210。易失介質包括動態(tài)存儲器像主存儲器1206。傳輸介質包括同軸電纜、銅線和光纖,包括含有總線1202的導線。傳輸介質也可采用聲波或光波的形式,像在無線電波和紅外數據通信期間產生的那些聲波或光波。
常用形式的計算機可讀介質包括例如軟盤、軟磁盤、硬盤、磁帶或任何其他的磁介質、CD-ROM、任何其他的光學介質、穿孔卡、紙帶、任何其他具有孔形狀的物理介質、RAM、PROM、EPROM、FLASH-EPROM、任何其他的存儲器芯片或盒式磁盤、如下所述的載波、或者任何其他計算機可讀取的介質。
各種形式的計算機可讀介質可用于向處理器1204攜帶一個或多個序列的一個或多個指令來進行執(zhí)行。例如,這些指令可以最初在遠端計算機的磁盤上進行。遠端的計算機可將這些指令下載到其動態(tài)存儲器內,然后使用調制解調器通過電話線來發(fā)送這些指令。當地計算機系統(tǒng)1200的調制解調器接收電話線上的數據,并采用紅外發(fā)射器將數據轉換成紅外信號。紅外探測器能夠接收到在該紅外信號中攜帶的數據,適宜的電路將該數據置于總線1202上。總線1202將數據攜帶至主存儲器1206,處理器1204從該主存儲器1206得到這些指令并執(zhí)行這些指令。主存儲器1206收到的指令可以在處理器1204執(zhí)行之前或之后隨機地存儲在存儲設備1210上。
計算機系統(tǒng)1200屬于一種共享磁盤系統(tǒng),其中對于計算機系統(tǒng)1200和一個或多個其他的CPU(例如CPU 1251),位于一個或多個存儲設備(例如磁盤驅動器1255)上的數據都是可訪問的。在圖示的系統(tǒng)中,借助于一種系統(tǒng)局域網1253可提供對磁盤驅動器1255的共享訪問。但是,各種結構都可以替代地用來提供共享訪問。
計算機系統(tǒng)1200還包括耦合在總線1202上的通信接口1218。通信接口1218提供一種與網絡鏈路1220耦合的雙向數據通信,該網絡鏈路1220連接在局域網1222上。例如,通信接口1218可以是一個綜合業(yè)務數字網(ISDN)卡或一個調制解調器,以提供與相應類似的電話線的數據通信連接。作為另一個實例,通信接口1218可以是一個局域網(LAN)卡,以提供一種與兼容LAN的數據通信連接。無線線路也可以實施。在任何的這種實施中,通信接口1218發(fā)送并接收電、電磁或光信號,這些信號攜帶有表示各種類型信息的數字數據流。
網絡鏈路1220一般通過一個或多個網絡來提供與其他數據設備的數據通信。例如,網絡鏈路1220可以通過局域網1222提供與主機1224的連接,或者通過互聯(lián)網服務供應商(ISP)1226的操作與數據設備相連接。ISP 1226反過來又經由現(xiàn)在通常稱作“互聯(lián)網”的全球分組數據通信網絡1228來提供數據通信服務。局域網1222和互聯(lián)網1228兩者都采用攜帶數字數據流的電、電磁或光信號。通過各種網絡的信號和網絡鏈路1220上及穿過通信接口1218的信號向/從計算機系統(tǒng)1200攜帶數字數據,這些信號是傳輸信息的載波的示范性例子。
計算機系統(tǒng)1200能夠借助于網絡、網絡鏈路1220及通信接口1218發(fā)送包括程序代碼的信息并接收包括程序代碼的數據。在互聯(lián)網的例子中,服務器1230可以借助于互聯(lián)網1228、ISP 1226、局域網1222和通信端口1218來傳輸用于應用程序的請求代碼。
當接收到代碼時,該接收到的代碼可以被處理器1204執(zhí)行和/或存儲在存儲設備1210或其他的非易失存儲器內以用于后面的執(zhí)行。這樣,計算機系統(tǒng)1200可以獲得載波形式的應用代碼。
在前述的說明中,已經參考具體的實施方式描述了本發(fā)明。但是,很顯然,可以在不脫離本發(fā)明的更寬精神和范圍內對本發(fā)明作出各種改進和改變。因此,這些說明和附圖應當是示例性而不是限制性的。
權利要求
1.一種用于管理對資源訪問的方法,所述方法包括計算機實施的以下步驟從請求者向所述資源的主管發(fā)送用于所述資源鎖定模式的鎖定模式請求;在所述請求者處接收來自所述資源的持有者的所述資源;以及存取所述資源,好像所述請求者已經被授予所述鎖定模式請求,而不需等待接收來自所述主管的快速鎖定模式授權。
2.根據權利要求1所述的方法,還包括計算機實施的以下步驟檢測在所述請求者處接收所述資源的步驟是否將發(fā)生;以及如果所述請求者確實接收到所述資源,則從所述請求者發(fā)送一條鎖定假定消息到所述主管,以通知所述主管所述請求者已經假定關于所述資源的所述鎖定模式。
3.一種用于管理對資源訪問的方法,所述方法包括計算機實施的以下步驟在持有者處接收一條請求者需要所述資源的通知鎖定持有者消息,其中所述持有者當前持有所述資源以及所述資源的第一鎖定模式;響應于收到所述通知鎖定持有者消息,將所述資源傳送至所述請求者,而不將一狀態(tài)消息發(fā)送至所述資源的主管,其中所述狀態(tài)消息是一條下向轉換消息或一條解除鎖定消息;以及更新由所述持有者保持的一鎖定模式記錄,以表明所述持有者已經從所述第一鎖定模式下向轉換為所述資源的第二鎖定模式。
4.根據權利要求3所述的方法,還包括計算機實施的以下步驟向所述主管發(fā)送一條更新鎖定消息,其中所述更新鎖定消息表明所述資源的所述第二鎖定模式。
5.根據權利要求3所述的方法,還包括計算機實施的以下步驟在所述持有者處接收一條來自發(fā)送者的消息;其中所述消息包括所述資源的第三鎖定模式;檢測所述第一鎖定模式與所述第三鎖定模式不匹配;以及向所述發(fā)送者發(fā)送一條鎖定狀態(tài)消息;其中所述鎖定狀態(tài)消息包括所述第一鎖定模式。
6.根據權利要求3所述的方法,還包括計算機實施的以下步驟在所述持有者處接收一單批通知鎖定持有者消息,所述消息包含所述資源傳送至多個請求者所需要的所有信息;以及將所述資源傳送至所述多個請求者。
7.根據權利要求3所述的方法,還包括計算機實施的以下步驟將來自所述持有者的一條鎖定訪問消息發(fā)送至一主管。
8.一種用于管理對資源訪問的方法,所述方法包括計算機實施的以下步驟在一主管處接收一條請求消息,所述請求消息表明一請求者需要多個資源中的一特定資源,其中所述主管保持對應于所述多個資源的多個鎖定模式記錄;從所述主管向一持有者發(fā)送一條通知鎖定持有者消息,以向所述持有者表明所述請求者需要所述特定資源;從所述請求者接收一條鎖定訪問消息,其中所述鎖定訪問消息表明所述請求者已經假定關于所述特定資源的鎖定模式;以及響應于收到所述鎖定訪問消息,進行對所述多個鎖定模式記錄中一特定鎖定模式記錄的更新;其中所述更新表明所述請求者已經假定所述特定資源的鎖定模式。
9.根據權利要求8所述的方法,其中響應于收到多個鎖定模式記錄響應于收到所述鎖定訪問消息,所述計算機實施的對所述多個鎖定模式記錄中一特定鎖定模式記錄進行更新的步驟先于從關于所述特定資源的所述持有者收到任何狀態(tài)消息之前進行;其中所述狀態(tài)消息是一條下向轉換消息或一條解除鎖定消息。
10.根據權利要求8所述的方法,其中響應于收到多個鎖定模式記錄響應于收到所述鎖定訪問消息,進行所述計算機實施的對所述多個鎖定模式記錄中一特定鎖定模式記錄的更新,而不從關于所述特定資源的所述持有者收到狀態(tài)消息;其中所述狀態(tài)消息是一條下向轉換消息或一條解除鎖定消息。
11.根據權利要求8所述的方法,還包括計算機實施的以下步驟在所述主管處接收多個請求消息,所述請求消息表明多個請求者需要所述特定資源;以及從所述主管發(fā)送所述通知鎖定持有者消息給所述持有者,其中所述通知鎖定持有者消息包含來自所述多個請求消息的所有信息,所述多個請求消息對于所述持有者將所述特定資源傳送至所述多個請求者是必要的。
12.根據權利要求8所述的方法,還包括計算機實施的以下步驟在所述主管處接收來自一發(fā)送者的消息;其中所述消息包括所述特定資源的第二鎖定模式;檢測所述鎖定模式與所述第二鎖定模式不匹配;以及向所述發(fā)送者發(fā)送一條鎖定狀態(tài)消息;其中所述鎖定狀態(tài)消息包括所述鎖定模式。
13.根據權利要求8所述的方法,還包括計算機實施的以下步驟在所述主管處接收第二請求消息;其中所述請求消息和所述第二請求消息都包含專用鎖定模式下對所述資源的請求;以及排列所述第二請求消息直到所述主管收到來自所述請求者的所述鎖定訪問消息。
14.一種用于管理對資源訪問的方法,所述方法包括計算機實施的以下步驟在一主管處接收一條請求消息,所述請求消息表明一請求者需要多個資源中的一特定資源,其中所述主管保持對應于所述多個資源的多個鎖定模式記錄;從多個持有者中指定一個持有者,其中所述多個持有者都具有對所述特定資源各自的鎖定模式;向除所述一個持有者外的所述多個持有者發(fā)送多個廣播通知鎖定持有者信息,表明所述請求者需要所述特定資源;從除所述一個持有者外的所述多個持有者接收多個更新鎖定消息;其中所述多個更新鎖定消息表明所述多個持有者各自的鎖定模式;從所述主管向所述一個持有者發(fā)送一條信息鎖定持有者消息,以向所述一個持有者表明所述請求者需要所述特定資源;接收來自所述請求者的鎖定訪問消息,其中所述鎖定訪問消息表明所述請求者已經假定關于所述特定資源的鎖定模式;以及響應于收到所述鎖定訪問消息而不需收到一條狀態(tài)消息,來進行對所述多個鎖定模式記錄中一特定鎖定模式記錄的更新;其中所述狀態(tài)消息是一條下向轉換消息或一條解除鎖定消息;其中所述更新表明所述請求者已經假定所述特定資源的所述鎖定模式。
15.一種計算機系統(tǒng),包括一處理器;一存儲器,存儲所述計算機系統(tǒng)的指令,所述指令促使所述處理器進行計算機實施的以下步驟從請求者向所述資源的主管發(fā)送用于所述資源鎖定模式的鎖定模式請求;在所述請求者處接收來自所述資源的持有者的所述資源;以及存取所述資源,好像所述請求者已經授權所述鎖定模式請求,而不需等待接收來自所述主管的快速鎖定模式授權。
16.根據權利要求15所述的計算機系統(tǒng),其中所述存儲器存儲所述計算機系統(tǒng)的指令,以促使所述處理器進行的計算機實施步驟還包括計算機實施的以下步驟檢測在所述請求者處接收所述資源的步驟是否將發(fā)生;以及如果所述請求者確實接收到所述資源,則從所述請求者發(fā)送一條鎖定假定消息到所述主管,以通知所述主管所述請求者已經假定關于所述資源的所述鎖定模式。
17.一種計算機系統(tǒng),包括一處理器;一存儲器,耦合在所述處理器上,包括;對應于多個資源中一特定資源其鎖定模式的多個鎖定模式記錄中的一特定鎖定模式記錄,其中一主管保持對應于所述多個資源的多個鎖定模式記錄;所述存儲器存儲所述計算機系統(tǒng)的指令,以促使所述處理器進行計算機實施的以下步驟在一主管處接收一條請求消息,所述請求消息表明一請求者需要多個資源中的一特定資源,其中所述主管保持對應于所述多個資源的多個鎖定模式記錄;從所述主管向一持有者發(fā)送一條通知鎖定持有者消息,以向所述持有者表明所述請求者需要所述特定資源;從所述請求者接收一條鎖定訪問消息,其中所述鎖定訪問消息表明所述請求者已經假定關于所述特定資源的鎖定模式;以及響應于收到所述鎖定訪問消息而不需收到一狀態(tài)消息,進行對所述多個鎖定模式記錄中一特定鎖定模式記錄的更新;其中所述狀態(tài)信息是一條下向轉換信息或一條解除鎖定信息;其中所述更新表明所述請求者已經假定所述特定資源的鎖定模式。
18.根據權利要求17所述的計算機系統(tǒng),其中響應于收到所述鎖定訪問消息,對所述多個鎖定模式記錄中一特定鎖定模式記錄進行更新的計算機實施步驟,先于從關于所述特定資源的所述持有者收到任何狀態(tài)消息之前進行;其中所述狀態(tài)消息是一條下向轉換消息或一條解除鎖定消息。
19.根據權利要求17所述的計算機系統(tǒng),其中響應于收到所述多個鎖定模式記錄響應于收到所述鎖定訪問消息,進行對所述多個鎖定模式記錄中一特定鎖定模式記錄更新的計算機實施步驟,而不需從關于所述特定資源的所述持有者收到狀態(tài)消息;其中所述狀態(tài)消息是一條下向轉換消息或一條解除鎖定消息。
20.根據權利要求17所述的計算機系統(tǒng),其中所述存儲器存儲所述計算機系統(tǒng)的指令,以促使所述處理器進行的計算機實施步驟還包括計算機實施的以下步驟在所述主管處接收多個請求消息,所述請求消息表明多個請求者需要所述特定資源;以及從所述主管發(fā)送所述通知鎖定持有者消息給所述持有者,其中所述通知鎖定持有者消息包含來自所述多個請求消息的所有信息,所述多個請求消息對于所述持有者將所述特定資源傳送至所述多個請求者是必要的。
21.根據權利要求17所述的計算機系統(tǒng),其中所述存儲器存儲所述計算機系統(tǒng)的指令,以促使所述處理器進行的計算機實施步驟還包括計算機實施的以下步驟在所述主管處接收來自一發(fā)送者的消息;其中所述消息包括所述特定資源的第二鎖定模式;檢測所述鎖定模式與所述第二鎖定模式不匹配;以及向所述發(fā)送者發(fā)送一條鎖定狀態(tài)消息;其中所述鎖定狀態(tài)消息包括所述鎖定模式。
22.根據權利要求17所述的計算機系統(tǒng),還包括計算機實施的以下步驟在所述主管處接收第二請求消息;其中所述請求消息和所述第二請求消息都包含專用鎖定模式下對所述資源的請求;以及排列所述第二請求消息直到所述主管收到來自所述請求者的所述鎖定訪問消息。
23.一種計算機系統(tǒng),包括一處理器;一存儲器,耦合在所述處理器上,包括;對應于多個資源中一特定資源其鎖定模式的多個鎖定模式記錄中的一特定鎖定模式記錄,其中一主管保持對應于所述多個資源的多個鎖定模式記錄;所述存儲器存儲所述計算機系統(tǒng)的指令,以促使所述處理器進行計算機實施的以下步驟在一主管處接收一條請求消息,所述請求消息表明一請求者需要多個資源中的一特定資源,其中所述主管保持對應于所述多個資源的多個鎖定模式記錄;從多個持有者中指定一個持有者,其中所述多個持有者都具有對所述特定資源各自的鎖定模式;向除所述一個持有者外的所述多個持有者發(fā)送多個廣播通知鎖定持有者信息,表明所述請求者需要所述特定資源;從除所述一個持有者外的所述多個持有者接收多個更新鎖定消息;其中所述多個更新鎖定消息表明所述多個持有者各自的鎖定模式;從所述主管向所述一個持有者發(fā)送一條通知鎖定持有者消息,以向所述一個持有者表明所述請求者需要所述特定資源;接收來自所述請求者的鎖定訪問消息,其中所述鎖定訪問消息表明所述請求者已經假定關于所述特定資源的鎖定模式;以及響應于收到所述鎖定訪問消息而不需收到一條狀態(tài)消息,進行對所述多個鎖定模式記錄中所述特定鎖定模式記錄的一次更新;其中所述狀態(tài)消息是一條下向轉換消息或一條解除鎖定消息;其中所述更新表明所述請求者已經假定所述特定資源的所述鎖定模式。
24.一種計算機系統(tǒng),包括一處理器;一存儲器,耦合在所述處理器上,包括一資源和所述資源的第一鎖定模式;以及與所述資源相聯(lián)系的鎖定模式記錄;所述存儲器存儲計算機系統(tǒng)的指令,以促使所述處理器進行計算機實施的以下步驟在持有者處接收一條請求者需要所述資源的通知鎖定持有者消息,其中所述持有者當前持有所述資源以及所述資源的第一鎖定模式;響應于收到所述通知鎖定持有者消息,將所述資源傳送至所述請求者,而不將一狀態(tài)消息發(fā)送至所述資源的主管,其中所述狀態(tài)消息是一條下向轉換消息或一條解除鎖定消息;以及更新由所述持有者保持的所述鎖定模式記錄,以表明所述持有者已經從所述第一鎖定模式下向轉換為所述資源的第二鎖定模式。
25.根據權利要求24所述的計算機系統(tǒng),其中所述存儲器存儲所述計算機系統(tǒng)的指令,以促使所述處理器進行所述計算機實施步驟還包括計算機實施的以下步驟向所述主管發(fā)送一條更新鎖定消息,其中所述更新鎖定消息表明所述資源的所述第二鎖定模式。
26.根據權利要求24所述的計算機系統(tǒng),其中所述存儲器存儲所述計算機系統(tǒng)的指令,以促使所述處理器進行的計算機實施步驟還包括計算機實施的以下步驟在所述持有者處接收一條來自發(fā)送者的消息;其中所述消息包括所述資源的第三鎖定模式;檢測所述第一鎖定模式與所述第三鎖定模式是否匹配;以及向所述發(fā)送者發(fā)送一條鎖定狀態(tài)消息;其中所述鎖定狀態(tài)消息包括所述第一鎖定模式。
27.根據權利要求24所述的計算機系統(tǒng),其中所述存儲器存儲所述計算機系統(tǒng)的指令,以促使所述處理器進行的計算機實施步驟還包括計算機實施的以下步驟在所述持有者處接收一單批通知鎖定持有者消息,所述消息包含所述資源傳送至多個請求者所需要的所有信息;以及將所述資源傳送至所述多個請求者。
28.一種計算機可讀介質,攜帶有一個或多個用來管理對資源訪問的指令序列,其中所述一個或多個由一個或多個處理器執(zhí)行的指令序列促使所述一個或多個處理器進行以下步驟從請求者向所述資源的主管發(fā)送用于所述資源鎖定模式的鎖定模式請求;在所述請求者處接收來自所述資源的持有者的所述資源;以及存取所述資源,好像所述請求者已經授權所述鎖定模式請求,而不需等待接收來自所述主管的快速鎖定模式授權。
29.根據權利要求28所述的計算機可讀介質,還包括一個指令序列用來進行以下步驟檢測在所述請求者處接收所述資源的步驟是否將發(fā)生;以及如果所述請求者確實接收到所述資源,則從所述請求者發(fā)送一條鎖定假定消息到所述主管,以通知所述主管所述請求者已經假定關于所述資源的所述鎖定模式。
30.一種計算機可讀介質,攜帶有一個或多個用來管理對資源訪問的指令序列,其中所述一個或多個由一個或多個處理器執(zhí)行的指令序列促使所述一個或多個處理器進行以下步驟在持有者處接收一條請求者需要所述資源的通知鎖定持有者消息,其中所述持有者當前持有所述資源以及所述資源的第一鎖定模式;響應于收到所述通知鎖定持有者消息,將所述資源傳送至所述請求者,而不將一狀態(tài)消息發(fā)送至所述資源的主管,其中所述狀態(tài)消息是一條下向轉換消息或一條解除鎖定消息;以及更新由所述持有者保持的一鎖定模式記錄,以表明所述持有者已經從所述第一鎖定模式下向轉換為所述資源的第二鎖定模式。
31.根據權利要求30所述的計算機可讀介質,還包括一個指令序列用來進行以下步驟向所述主管發(fā)送一條更新鎖定消息,其中所述更新鎖定消息表明所述資源的所述第二鎖定模式。
32.根據權利要求30所述的計算機可讀介質,還包括多個指令序列用來進行以下步驟在所述持有者處接收一條來自發(fā)送者的消息;其中所述消息包括所述資源的第三鎖定模式;檢測所述第一鎖定模式與所述第三鎖定模式不匹配;以及向所述發(fā)送者發(fā)送一條鎖定狀態(tài)消息;其中所述鎖定狀態(tài)消息包括所述第一鎖定模式。
33.根據權利要求30所述的計算機可讀介質,還包括多個指令序列用來進行以下步驟在所述持有者處接收一單批通知鎖定持有者消息,所述消息包含所述資源傳送至多個請求者所需要的所有信息;以及將所述資源傳送至所述所述多個請求者。
34.根據權利要求30所述的方法,還包括計算機實施的以下步驟將來自所述持有者的一條鎖定訪問消息發(fā)送至一主管。
35.一種計算機可讀介質,攜帶有一個或多個用來管理對資源訪問的指令序列,其中所述一個或多個由一個或多個處理器執(zhí)行的指令序列促使所述一個或多個處理器進行以下步驟在一主管處接收一條請求消息,所述請求消息表明一請求者需要多個資源中的一特定資源,其中所述主管保持對應于所述多個資源的多個鎖定模式記錄;從所述主管向一持有者發(fā)送一條通知鎖定持有者消息,以向所述持有者表明所述請求者需要所述特定資源;從所述請求者接收一條鎖定訪問消息,其中所述鎖定訪問消息表明所述請求者已經假定關于所述特定資源的鎖定模式;以及響應于收到所述鎖定訪問消息,進行對所述多個鎖定模式記錄中一特定鎖定模式記錄的更新;其中所述更新表明所述請求者已經假定所述特定資源的所述鎖定模式。
36.根據權利要求35所述的計算機可讀介質,其中響應于收到所述鎖定訪問消息,對所述多個鎖定模式記錄中一特定鎖定模式記錄進行更新的步驟,先于從關于所述特定資源的所述持有者收到任何狀態(tài)消息之前進行;其中所述狀態(tài)消息是一條下向轉換消息或一條解除鎖定消息。
37.根據權利要求35所述的計算機可讀介質,其中響應于收到所述多個鎖定模式記錄響應于收到所述鎖定訪問消息,進行對所述多個鎖定模式記錄中一特定鎖定模式記錄的更新,而不從關于所述特定資源的所述持有者收到狀態(tài)消息;其中所述狀態(tài)消息是一條下向轉換消息或一條解除鎖定消息。
38.根據權利要求35所述的計算機可讀介質,還包括多個指令序列用來進行以下步驟在所述主管處接收多個請求消息,所述請求消息表明多個請求者需要所述特定資源;以及從所述主管發(fā)送所述通知鎖定持有者消息給所述持有者,其中所述通知鎖定持有者消息包含來自所述多個請求消息的所有信息,所述多個請求消息對于所述持有者將所述特定資源傳送至所述多個請求者是必要的。
39.根據權利要求35所述的計算機可讀介質,還包括多個指令序列用來進行以下步驟在所述主管處接收來自一發(fā)送者的消息;其中所述消息包括所述特定資源的第二鎖定模式;檢測所述鎖定模式與所述第二鎖定模式不匹配;以及向所述發(fā)送者發(fā)送一條鎖定狀態(tài)消息;其中所述鎖定狀態(tài)消息包括所述鎖定模式。
40.根據權利要求35所述的計算機可讀介質,還包括多個指令序列用來進行以下步驟在所述主管處接收第二請求消息;其中所述請求消息和所述第二請求消息都包含專用鎖定模式下對所述資源的請求;以及排列所述第二請求消息直到所述主管收到來自所述請求者的所述鎖定訪問消息。
41.一種計算機可讀介質,攜帶有一個或多個用來管理對資源訪問的指令序列,其中所述一個或多個由一個或多個處理器執(zhí)行的指令序列促使所述一個或多個處理器進行以下步驟在一主管處接收一條請求消息,所述請求消息表明一請求者需要多個資源中的一特定資源,其中所述主管保持對應于所述多個資源的多個鎖定模式記錄;從多個持有者中指定一個持有者,其中所述多個持有者都具有對所述特定資源各自的鎖定模式;向除所述一個持有者外的所述多個持有者發(fā)送多個廣播通知鎖定持有者信息,表明所述請求者需要所述特定資源;從除所述一個持有者外的所述多個持有者接收多個更新鎖定消息;其中所述多個更新鎖定消息表明所述多個持有者各自的鎖定模式;從所述主管向所述一個持有者發(fā)送一條通知信息鎖定持有者消息,以向所述一個持有者表明所述請求者需要所述特定資源;接收來自所述請求者的鎖定訪問消息,其中所述鎖定訪問消息表明所述請求者已經假定關于所述特定資源的鎖定模式;以及響應于收到所述鎖定訪問消息而不是收到一條狀態(tài)消息,來進行對所述多個鎖定模式記錄中一特定鎖定模式記錄的更新;其中所述狀態(tài)消息是一條下向轉換消息或一條解除鎖定消息;所述更新表明所述請求者已經假定所述特定資源的所述鎖定模式。
全文摘要
本發(fā)明提供一種方法和裝置,用于改進與傳送數據項相關的性能,并通過將塊傳送消息認作鎖定授權消息來獲得多節(jié)點系統(tǒng)中的鎖定。一般地,當數據項的持有者將數據項傳送(例如塊)傳送至該數據項的請求者時,持有者將下向轉換其對該數據項的鎖定,并向該數據項的主管發(fā)送一條消息,表明下向轉換已經被進行。隨后,主管向該數據項的請求者發(fā)送一條鎖定授權消息,以通知請求者其已經授予對該數據項的鎖定。通過將塊傳送消息認作鎖定授權消息,就可消除該下向轉換消息及鎖定授權消息,從而改進性能。
文檔編號G06F9/46GK1513139SQ02811032
公開日2004年7月14日 申請日期2002年5月8日 優(yōu)先權日2001年5月31日
發(fā)明者薩什坎斯·錢德拉塞克拉恩, 薩什坎斯 錢德拉塞克拉恩, 大衛(wèi)·布勞爾, 布勞爾, 班福德, 羅杰·班福德 申請人:甲骨文國際公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
凌云县| 蓬安县| 天镇县| 静海县| 家居| 湖口县| 西青区| 卫辉市| 阿合奇县| 镇平县| 龙里县| 日喀则市| 汾西县| 西贡区| 星子县| 柞水县| 大城县| 龙江县| 成武县| 田东县| 宣武区| 枝江市| 共和县| 微博| 中卫市| 兴安盟| 万盛区| 禹州市| 阿拉善盟| 家居| 应城市| 海晏县| 英山县| 嘉义市| 涟水县| 塔城市| 同德县| 揭东县| 沙洋县| 固镇县| 潍坊市|