專利名稱:管理存儲子系統(tǒng)中元數(shù)據(jù)的方法、系統(tǒng)和計算機程序產(chǎn)品的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般地涉及企業(yè)存儲子系統(tǒng),特別涉及高效且安全地管理元數(shù)據(jù)。
背景技術(shù):
企業(yè)計算系統(tǒng)通常包括一個或多個用于處理客戶數(shù)據(jù)并運行應(yīng)用程序的主系統(tǒng)、用于存儲數(shù)據(jù)的直接存取存儲設(shè)備(DASD)、以及一個或多個用于指導(dǎo)主機和DASD之間的數(shù)據(jù)存儲和檢索的存儲控制器。除客戶數(shù)據(jù)外,存儲控制器通常保存元數(shù)據(jù),所述元數(shù)據(jù)提供關(guān)于DASD中或存儲控制器內(nèi)的高速緩沖存儲器中的數(shù)據(jù)軌道或塊的信息。存儲控制器在對由元數(shù)據(jù)代表的客戶數(shù)據(jù)進(jìn)行某些操作期間處理該元數(shù)據(jù),以便提高執(zhí)行所請求操作的速度和效率。在DASD初始化期間,將元數(shù)據(jù)從盤送入(stage)到高速緩沖存儲器(易失型存儲器)。電力故障或某些其它類型的錯誤可能導(dǎo)致高速緩沖存儲器的內(nèi)容丟失。
諸如IBMTMEnterprise Storage ServerTM(企業(yè)存儲服務(wù)器)(ESS)的某些存儲控制器可配置有復(fù)制服務(wù)功能性,包括(但不限于)快閃復(fù)制、對等遠(yuǎn)程復(fù)制、擴展遠(yuǎn)程復(fù)制和并行復(fù)制,其幫助備份數(shù)據(jù)和從災(zāi)難性故障中進(jìn)行恢復(fù)。在復(fù)制服務(wù)(CS)操作期間,產(chǎn)生多字段CS元數(shù)據(jù),并由存儲控制器來保存它。CS元數(shù)據(jù)包括關(guān)于任意時間點處的復(fù)制服務(wù)操作狀態(tài)的信息,例如內(nèi)部設(shè)置、源和目的地地址、以及關(guān)于正被復(fù)制的數(shù)據(jù)狀態(tài)的其它數(shù)據(jù)。因此,如果控制器掉電或遭遇某些其它中斷事件,則可以重新啟動該控制器,讀取元數(shù)據(jù),將CS操作還原到中斷點,并隨后重新開始并完成該CS操作。
在IBM ESS的較早版本中,CS元數(shù)據(jù)被保存在直接由客戶端更新的26KB內(nèi)存儲結(jié)構(gòu)中。在更新期間,即使只更新少數(shù)字段,也將整個結(jié)構(gòu)寫入盤中,并且不記錄元數(shù)據(jù)的哪些字段被改變。在后續(xù)版本中,CS控制數(shù)據(jù)的26KB結(jié)構(gòu)被映射到7個8KB的全局(global)元數(shù)據(jù)軌道。在更新期間,僅將包含所更新的字段的元數(shù)據(jù)軌道寫入盤中。盡管改進(jìn)了原來的處理過程,但是仍然不記錄哪些字段被更新。當(dāng)把8KB軌道寫入盤中時,該軌道被劃分為3部分,并且每個部分是單個寫入操作。為安全起見,將每一個完整的8KB軌道(full 8KB track)存儲在3個分開的位置。因此,對單個元數(shù)據(jù)軌道的每次更新都需要9次寫入操作。
實施了日志記錄(journaling),以允許在非易失性存儲器(NVS)中存儲更新,從而提高了更新性能,并且在電力喪失或其它重大事件的情況下保存元數(shù)據(jù)。每個元數(shù)據(jù)軌道在NVS中具有對應(yīng)頁,其包括一連串的塊,所述塊包含識別正在執(zhí)行的操作和正在修改的高速緩沖存儲器中的數(shù)據(jù)的日志條目序列。在恢復(fù)操作期間,可以將元數(shù)據(jù)從盤送入高速緩沖存儲器,并施加先前記錄在日志條目中的變化,從而將元數(shù)據(jù)還原成具有最近版本的數(shù)據(jù)。盡管如此,仍然可能不能明確地識別修改過的字段。此外,眾所周知,NVS相對于其它類型的存儲器來說較為昂貴,因此希望盡可能地限制其使用。
在這種早先的系統(tǒng)中,當(dāng)客戶端請求訪問元數(shù)據(jù)軌道、例如更新該軌道中的一個或多個字段時,需要大量控制器資源來提供諸如日志訪問、軌道訪問、任務(wù)控制塊(TCB)分配和軌道鎖定(用來確保一次只有一個進(jìn)程具有對目標(biāo)數(shù)據(jù)的訪問權(quán))的功能。這種資源使用使控制器處理器停頓。此外,在此之前,客戶端具有對元數(shù)據(jù)軌道的完全訪問權(quán),從而會使它們遭受可能的覆寫和其它破壞完整性的風(fēng)險。元數(shù)據(jù)軌道還可能由于諸如存儲器覆寫、失效轉(zhuǎn)移(failover)/電力喪失、或者壞縱向冗余校驗(LRC)的很多原因中的任意一種而變?yōu)闊o效。例如,在錯誤處理恢復(fù)期間,檢查LRC,并且如果不正確,則將該軌道標(biāo)記為無效。將認(rèn)識到,不應(yīng)做出訪問或更新無效元數(shù)據(jù)的嘗試。
因此,仍然希望有更高效和全面地管理元數(shù)據(jù),諸如復(fù)制服務(wù)元數(shù)據(jù)。
發(fā)明內(nèi)容
本發(fā)明提供用于管理存儲子系統(tǒng)中的元數(shù)據(jù)的方法。從客戶端接收呼叫(call),以更新元數(shù)據(jù)軌道的一部分。通過使用操作碼,要更新的元數(shù)據(jù)軌道的至少一個字段連同所述至少一個字段的更新類型一起被接收。然后,利用所述至少一個字段的特性(identity)以及相關(guān)更新值來填充(populate)客戶端接口的數(shù)據(jù)結(jié)構(gòu)字段,并且利用更新類型來填充客戶端接口的操作碼字段。
在一個實施例中,隨后將任務(wù)控制塊(TCB)分配給客戶端呼叫。在TCB的指導(dǎo)下,獲得鎖定,由此防止其它客戶端訪問包含所述要更新的至少一個字段的元數(shù)據(jù)軌道,將元數(shù)據(jù)軌道送入高速緩沖存儲器,將所述至少一個字段復(fù)制到TCB,施加更新類型以便將所述至少一個字段的更新值映射到該元數(shù)據(jù)軌道,并且將元數(shù)據(jù)復(fù)制到TCB中。最后,將對客戶端接口的控制權(quán)返還給客戶端,由此,隨后將具有要更新的字段的元數(shù)據(jù)軌道送回(destage)。以這種方式,僅僅收集關(guān)于對可能較大數(shù)量的結(jié)構(gòu)的改變的最少量的信息。保存關(guān)于哪些字段被修改過的信息,從而允許日志記錄和選擇性送回。此外,來自客戶端的單個呼叫啟動若干功能,從而提高元數(shù)據(jù)訪問的效率和可用性。
在另一實施例中,在讀取包含所述要更新的至少一個字段的元數(shù)據(jù)軌道之后,使該元數(shù)據(jù)軌道有效,其后,施加更新類型,以便將所述至少一個字段的更新值映射到元數(shù)據(jù)軌道,并將對客戶端接口的控制權(quán)返還給客戶端,由此,隨后將具有要更新的字段的元數(shù)據(jù)軌道送回。這樣,本發(fā)明提供按需軌道有效化,以確保請求訪問元數(shù)據(jù)的客戶端具有有效的元數(shù)據(jù)。
本發(fā)明還提供用于配置(deploy)管理存儲子系統(tǒng)中的元數(shù)據(jù)的計算基礎(chǔ)設(shè)施的系統(tǒng)、計算機程序產(chǎn)品和方法。
圖1是本發(fā)明的元數(shù)據(jù)管理系統(tǒng)的方框圖;圖2是可用來實現(xiàn)本發(fā)明的一系列元數(shù)據(jù)軌道的圖示;圖3是本發(fā)明的客戶端接口的圖示;以及圖4、5和6是本發(fā)明的方法的流程圖。
具體實施例方式
圖1是實施本發(fā)明的元數(shù)據(jù)管理的存儲控制器100的方框圖??刂破?00通過網(wǎng)絡(luò)10附接到至少一個客戶端系統(tǒng)12??刂破?00還附接到至少一個存儲設(shè)備14,例如直接存取存儲設(shè)備(DASD)。
控制器100包括處理器102、用于存儲具有可由處理器102執(zhí)行的指令的計算機可讀代碼的通用存儲器104、高速緩沖存儲器106和非易失性存儲器(NVS)108。控制器100還包括日志記錄區(qū)110和存儲管理軟件120,它們實際上均可被存儲在存儲器104中??刂破?00包括處理器102、用于存儲具有可由處理器102執(zhí)行的指令的計算機可讀代碼的通用存儲器104、高速緩沖存儲器106和非易失性存儲器(NVS)108。NVS 108包括日志記錄區(qū)110;控制器100還包括實際上可存儲在存儲器104中的存儲管理軟件120。存儲管理軟件120可包括復(fù)制服務(wù)(CS)代碼122和元數(shù)據(jù)管理代碼132。復(fù)制服務(wù)代碼122可包括但不限于對等遠(yuǎn)程復(fù)制(PPRC)功能124、擴展遠(yuǎn)程復(fù)制(XRC)功能126、并行復(fù)制(CC)128和/或快閃復(fù)制或時間點(point-in-time)復(fù)制功能130。這種服務(wù)幫助備份數(shù)據(jù)、復(fù)制數(shù)據(jù)和從災(zāi)難性故障中進(jìn)行恢復(fù)。
存儲管理軟件120還包括任務(wù)控制塊112、配置為一個或多個邏輯卷136的一個或多個邏輯子系統(tǒng)(LSS)134以及存儲設(shè)備驅(qū)動器142。在某些存儲控制器中,高速緩沖存儲器106和NVS 108都可以是存儲器104中的微碼構(gòu)造,所述微碼構(gòu)造由設(shè)備驅(qū)動器142配置,并被視為設(shè)備驅(qū)動器142的一部分。
存儲設(shè)備14可配置為具有客戶數(shù)據(jù)16和元數(shù)據(jù)18的軌道。如前面所述,元數(shù)據(jù)可以是全局的、與對應(yīng)的客戶數(shù)據(jù)分開存儲(如圖1所示),或者是分段的、與對應(yīng)的客戶數(shù)據(jù)一起存儲。
還參考圖4的流程圖,在操作中,控制器100從客戶端12接收呼叫(步驟400),以便訪問和更新存儲在存儲設(shè)備14中的元數(shù)據(jù)軌道的一部分。在某些IBM產(chǎn)品中,元數(shù)據(jù)被存儲為7個8KB軌道200A-200G(圖2)。然而,將意識到,本發(fā)明的范圍不受在此描述的元數(shù)據(jù)軌道的數(shù)目和大小的限制。每個軌道200包括多個字段202。接口300(圖3)被提供給客戶端12(步驟402),并用來向控制器100提供信息。接口300包括數(shù)據(jù)結(jié)構(gòu)字段302和操作碼字段304。將利用要更新的字段的標(biāo)識和相關(guān)更新值來填充數(shù)據(jù)結(jié)構(gòu)字段302(步驟404)。將利用所請求的更新的類型來填充操作碼字段304(步驟406)。更新類型可包括但不限于‘建立PPRC路徑’、‘終止PPRC路徑’、‘建立PPRC對’、‘終止PPRC對’、‘建立XRC會話’和‘終止XRC會話’。
在本發(fā)明的一個實施例中(圖5),接下來,將任務(wù)控制塊(TCB)112分配給客戶端呼叫(步驟500)。為了防止其它進(jìn)程試圖訪問該元數(shù)據(jù)軌道,獲得鎖定(步驟502)。在TCB 112的指導(dǎo)下,可以在不進(jìn)一步牽涉客戶端的情況下執(zhí)行以下全部操作首先,將包含要更新的字段的元數(shù)據(jù)軌道從存儲設(shè)備14送入高速緩沖存儲器106(步驟504)。將要更新的字段復(fù)制到TCB 112(步驟506)。接下來,基于接口300的操作碼字段304中的更新類型,將包含在數(shù)據(jù)結(jié)構(gòu)字段302中的更新值映射到元數(shù)據(jù)軌道(步驟508)。然后,將元數(shù)據(jù)復(fù)制到TCB 112,以供呼叫的客戶端使用(步驟510)。將對接口300的控制權(quán)返還給客戶端12(步驟512)。這樣,僅僅客戶端12的單個呼叫或請求對于啟動通過單個TCB分配所需資源是必需的。此外,僅僅向客戶端12提供那些被更新的字段,從而防止元數(shù)據(jù)被無意中覆寫,并允許僅僅所更新的字段的選擇性送回。并且,更新結(jié)構(gòu)信息302和操作碼304將足以在日志恢復(fù)的情況下應(yīng)用更新。
在另一實施例(圖6)中,在填充了接口300的字段302、304(步驟406)之后,檢驗包含要更新的字段的元數(shù)據(jù)軌道(步驟600)。首先,檢查該軌道的狀態(tài)(步驟602)??赡艿臓顟B(tài)可包括但不限于有效、‘無效’、‘CST’(清除所有軌道)、‘CST掛起’和‘更新進(jìn)行中’。如果該狀態(tài)被確定為不同于‘有效’,則采取步驟以便將其狀態(tài)改變?yōu)椤行А?步驟604)。與在前面的段落中描述的實施例相結(jié)合,可以在TCB的指導(dǎo)下執(zhí)行軌道的有效化。作為示例而不是限制,如果所述狀態(tài)表明更新被中斷,則可以如上面引用的美國申請序列號No.__[IBM文檔#TUC920040175]回退或繼續(xù)(rolled back or forward)執(zhí)行更新。如果狀態(tài)是‘無效’,則執(zhí)行日志恢復(fù),以便將所有成功的更新施加到該軌道。如果狀態(tài)是‘CST掛起’,則將完成CST操作。在使軌道有效之后,基于接口300的操作碼字段304中的更新類型,將包含在數(shù)據(jù)結(jié)構(gòu)字段302中的更新值映射到元數(shù)據(jù)軌道(步驟606)。然后,將元數(shù)據(jù)復(fù)制到TCB 112,以供呼叫客戶端使用(步驟608)。將對接口300的控制權(quán)返還給客戶端12(步驟610)。這樣,僅將有效更新放置在高速緩沖存儲器106中,其后,將具有修改的字段的元數(shù)據(jù)軌道送入存儲設(shè)備114。
在另一實施例中,按照這樣的方式將元數(shù)據(jù)軌道的字段分組,即,將在特定更新類型期間有可能被更新的那些字段一起放在第一組中,而將在不同更新類型期間有可能被更新的那些字段一起放在第二組中。這樣,基于由客戶端12返回給控制器100的更新類型,向客戶端12提供了要填充的字段,而其它字段保持為不能被客戶端觸及。
重要的是應(yīng)注意盡管在全功能數(shù)據(jù)處理系統(tǒng)的環(huán)境中描述了本發(fā)明,但是本領(lǐng)域普通技術(shù)人員將認(rèn)識到,本發(fā)明的過程能夠以指令的計算機可讀介質(zhì)的形式以及各種形式分發(fā),并且不管實際用來進(jìn)行該分發(fā)的特定類型的信號承載介質(zhì)是什么,本發(fā)明都是適用的。計算機可讀介質(zhì)的示例包括諸如軟盤、硬盤驅(qū)動器、RAM和CD-ROM的可記錄型介質(zhì)以及諸如數(shù)字和模擬通信鏈路的傳輸型介質(zhì)。
出于說明和描述的目的而提供了對本發(fā)明的描述,但其意圖不是毫無遺漏的或者限于所公開的形式的本發(fā)明。對本領(lǐng)域普通技術(shù)人員來說,很多修改和改變都將是明顯的。為了最佳地解釋本發(fā)明的原理、實際應(yīng)用,并使其它的本領(lǐng)域普通技術(shù)人員能夠理解用于適合于所考慮的特定用途的、帶有各種修改的各種實施例的本發(fā)明,選擇和描述了所述實施例。此外,盡管在上面對方法和系統(tǒng)進(jìn)行了描述,但是也可以利用包含用于管理元數(shù)據(jù)的指令的計算機程序產(chǎn)品、或者用來配置計算基礎(chǔ)設(shè)施的方法來滿足本領(lǐng)域的需要,其中,所述方法包括將計算機可讀代碼集成到計算系統(tǒng)中以管理元數(shù)據(jù)。
權(quán)利要求
1.一種用于管理存儲子系統(tǒng)中的元數(shù)據(jù)的方法,包括從客戶端接收呼叫,以更新元數(shù)據(jù)軌道的一部分;從客戶端接收識別要更新的元數(shù)據(jù)軌道的至少一個字段的數(shù)據(jù)、所述要更新的至少一個字段的相關(guān)更新值、以及所述至少一個字段的更新類型;利用所述至少一個字段的特性和相關(guān)更新值來填充客戶端接口的數(shù)據(jù)結(jié)構(gòu)字段;利用更新類型來填充客戶端接口的操作碼字段;將任務(wù)控制塊(TCB)分配給客戶端呼叫;獲得鎖定,由此防止其它客戶端訪問該元數(shù)據(jù)軌道;在TCB的指導(dǎo)下將包含所述要更新的至少一個字段的元數(shù)據(jù)軌道送入高速緩沖存儲器;將所述至少一個字段復(fù)制到TCB;施加更新類型,以便將所述至少一個字段的更新值映射到元數(shù)據(jù)軌道;和將元數(shù)據(jù)復(fù)制到TCB中;以及將對客戶端接口的控制權(quán)返還給客戶端,由此,隨后將具有要更新的字段的元數(shù)據(jù)軌道送回。
2.如權(quán)利要求1所述的方法,還包括在讀取包含所述要更新的至少一個字段的元數(shù)據(jù)軌道之后,在TCB的指導(dǎo)下使元數(shù)據(jù)軌道有效。
3.如權(quán)利要求2所述的方法,其中,使元數(shù)據(jù)軌道有效包括確定元數(shù)據(jù)軌道是否處于有效狀態(tài);以及如果該元數(shù)據(jù)軌道不處于有效狀態(tài),則執(zhí)行該元數(shù)據(jù)軌道的日志恢復(fù)。
4.如權(quán)利要求2所述的方法,其中,使元數(shù)據(jù)軌道有效包括確定元數(shù)據(jù)軌道是否處于有效狀態(tài);以及如果該元數(shù)據(jù)軌道不處于有效狀態(tài),則對該元數(shù)據(jù)軌道執(zhí)行清除狀態(tài)軌道(CST)操作。
5.如權(quán)利要求1所述的方法,還包括創(chuàng)建在對應(yīng)的客戶端的多個預(yù)定訪問操作期間可能被更新的元數(shù)據(jù)字段的多個子集,每個訪問操作由更新類型識別;以及響應(yīng)于客戶端呼叫,向客戶端發(fā)送與由客戶端提供的更新類型相對應(yīng)的元數(shù)據(jù)字段的子集;由此,向客戶端賦予僅僅對在由更新類型識別的操作期間有可能被更新的元數(shù)據(jù)軌道的那些字段的訪問權(quán)。
6.如權(quán)利要求1所述的方法,其中,所述元數(shù)據(jù)包括復(fù)制服務(wù)元數(shù)據(jù)。
7.一種用于管理存儲子系統(tǒng)中的元數(shù)據(jù)的方法,包括從客戶端接收呼叫,以更新元數(shù)據(jù)軌道的一部分;從客戶端接收識別要更新的元數(shù)據(jù)軌道的至少一個字段的數(shù)據(jù)、所述要更新的至少一個字段的相關(guān)更新值、以及所述至少一個字段的更新類型;利用所述至少一個字段的特性和相關(guān)更新值填充客戶端接口的數(shù)據(jù)結(jié)構(gòu)字段;利用更新類型填充客戶端接口的操作碼字段;讀取包含所述要更新的至少一個字段的元數(shù)據(jù)軌道;在讀取包含所述要更新的至少一個字段的元數(shù)據(jù)軌道之后,使該元數(shù)據(jù)軌道有效;施加更新類型,以便將所述至少一個字段的更新值映射到元數(shù)據(jù)軌道;以及將對客戶端接口的控制權(quán)返還給客戶端,由此,隨后將具有要更新的字段的元數(shù)據(jù)軌道送回。
8.如權(quán)利要求7所述的方法,其中,使元數(shù)據(jù)軌道有效包括確定元數(shù)據(jù)軌道是否處于有效狀態(tài);以及如果該元數(shù)據(jù)軌道不處于有效狀態(tài),則執(zhí)行該元數(shù)據(jù)軌道的日志恢復(fù)。
9.如權(quán)利要求7所述的方法,其中,使元數(shù)據(jù)軌道有效包括確定元數(shù)據(jù)軌道是否處于有效狀態(tài);以及如果該元數(shù)據(jù)軌道不處于有效狀態(tài),則對該元數(shù)據(jù)軌道執(zhí)行清除狀態(tài)軌道(CST)操作。
10.如權(quán)利要求7所述的方法,還包括創(chuàng)建在對應(yīng)的客戶端的多個預(yù)定訪問操作期間可能被更新的元數(shù)據(jù)字段的多個子集,每個訪問操作由更新類型識別;以及響應(yīng)于客戶端呼叫,向客戶端發(fā)送與由客戶端提供的更新類型相對應(yīng)的元數(shù)據(jù)字段的子集;由此,向客戶端賦予僅僅對在由更新類型識別的操作期間有可能被更新的元數(shù)據(jù)軌道的那些字段的訪問權(quán)。
11.如權(quán)利要求7所述的方法,還包括獲得鎖定,由此防止其它客戶端訪問該元數(shù)據(jù)軌道。
12.如權(quán)利要求7所述的方法,其中,所述元數(shù)據(jù)包括復(fù)制服務(wù)元數(shù)據(jù)。
13.一種用于管理存儲子系統(tǒng)中的元數(shù)據(jù)的系統(tǒng),包括用于從客戶端接收呼叫以便更新元數(shù)據(jù)軌道的一部分的裝置;用于從客戶端接收識別要更新的元數(shù)據(jù)軌道的至少一個字段的數(shù)據(jù)、所述要更新的至少一個字段的相關(guān)更新值以及所述至少一個字段的更新類型的裝置;客戶端接口,包括數(shù)據(jù)結(jié)構(gòu)字段,用于保存所述至少一個字段的特性以及相關(guān)更新值;和操作碼字段,用于保存更新類型;任務(wù)控制塊(TCB),被分配給客戶端呼叫,并且可用來在獲得鎖定之后指導(dǎo)以下操作,由此防止其它客戶端訪問元數(shù)據(jù)軌道將包含所述要更新的至少一個字段的元數(shù)據(jù)軌道送入高速緩沖存儲器;將所述至少一個字段復(fù)制到TCB;施加更新類型,以便將所述至少一個字段的更新值映射到元數(shù)據(jù)軌道;和將元數(shù)據(jù)復(fù)制到TCB中;以及用于將對客戶端接口的控制權(quán)返還給客戶端、由此隨后將具有要更新的字段的元數(shù)據(jù)軌道送回的裝置。
14.如權(quán)利要求13所述的系統(tǒng),其中,TCB還用來指導(dǎo)在讀取了元數(shù)據(jù)軌道之后的使元數(shù)據(jù)軌道有效。
15.如權(quán)利要求14所述的系統(tǒng),其中,在使元數(shù)據(jù)軌道有效期間,TCB還用來指導(dǎo)確定元數(shù)據(jù)是否處于有效狀態(tài);以及如果元數(shù)據(jù)軌道不處于有效狀態(tài),則進(jìn)行元數(shù)據(jù)軌道的日志恢復(fù)。
16.如權(quán)利要求14所述的系統(tǒng),其中,在使元數(shù)據(jù)軌道有效期間,TCB還用來指導(dǎo)確定元數(shù)據(jù)軌道是否處于有效狀態(tài);以及如果元數(shù)據(jù)軌道不處于有效狀態(tài),則對元數(shù)據(jù)軌道執(zhí)行清除狀態(tài)軌道(CST)操作。
17.如權(quán)利要求13所述的系統(tǒng),還包括用于創(chuàng)建在對應(yīng)的客戶端的多個預(yù)定訪問操作期間可能被更新的元數(shù)據(jù)字段的多個子集的裝置,每個訪問操作由更新類型識別;以及用于響應(yīng)于客戶端呼叫而向客戶端發(fā)送與由客戶端提供的更新類型相對應(yīng)的元數(shù)據(jù)字段的子集的裝置;由此,向客戶端賦予僅僅對在由更新類型識別的操作期間有可能被更新的元數(shù)據(jù)軌道的那些字段的訪問權(quán)。
18.如權(quán)利要求13所述的系統(tǒng),其中,所述元數(shù)據(jù)包括復(fù)制服務(wù)元數(shù)據(jù)。
19.一種用于管理存儲子系統(tǒng)中的元數(shù)據(jù)的系統(tǒng),包括用于從客戶端接收呼叫以更新元數(shù)據(jù)軌道的一部分的裝置;用于從客戶端接收識別要更新的元數(shù)據(jù)軌道的至少一個字段的數(shù)據(jù)、所述要更新的至少一個字段的相關(guān)更新值以及所述至少一個字段的更新類型的裝置;客戶端接口,包括數(shù)據(jù)結(jié)構(gòu)字段,用于保存所述至少一個字段的特性和相關(guān)更新值;和操作碼字段,用于保存更新類型;任務(wù)控制塊(TCB),被分配給客戶端呼叫,并用來在獲得鎖定之后指導(dǎo)以下操作,由此防止其它客戶端訪問該元數(shù)據(jù)軌道將包含所述要更新的至少一個字段的元數(shù)據(jù)軌道送入高速緩沖存儲器;將所述至少一個字段復(fù)制到TCB;在讀取元數(shù)據(jù)軌道之后使該元數(shù)據(jù)軌道有效;用于將對客戶端接口的控制權(quán)返還給該客戶端、由此隨后將具有要更新的字段的元數(shù)據(jù)軌道送回的裝置。
20.如權(quán)利要求19所述的系統(tǒng),其中,在使元數(shù)據(jù)軌道有效期間,TCB還用來指導(dǎo)確定元數(shù)據(jù)軌道是否處于有效狀態(tài);以及如果該元數(shù)據(jù)軌道不處于有效狀態(tài),則執(zhí)行元數(shù)據(jù)軌道的日志恢復(fù)。
21.如權(quán)利要求19所述的系統(tǒng),其中,在使元數(shù)據(jù)軌道有效期間,TCB還用來指導(dǎo)確定元數(shù)據(jù)軌道是否處于有效狀態(tài);以及如果該元數(shù)據(jù)軌道不處于有效狀態(tài),則對該元數(shù)據(jù)軌道執(zhí)行清除狀態(tài)軌道(CST)操作。
22.如權(quán)利要求19所述的系統(tǒng),還包括用于創(chuàng)建在對應(yīng)的客戶端的多個預(yù)定訪問操作期間可能被更新的元數(shù)據(jù)字段的多個子集的裝置,每個訪問操作由更新類型識別;以及用于響應(yīng)于客戶端呼叫而向客戶端發(fā)送與由客戶端提供的更新類型相對應(yīng)的元數(shù)據(jù)字段的子集的裝置;由此,向客戶端賦予僅僅對在由更新類型識別的操作期間有可能被更新的元數(shù)據(jù)軌道的那些字段的訪問權(quán)。
23.如權(quán)利要求19所述的系統(tǒng),其中,TCB還用來指導(dǎo)鎖定的獲得,由此在讀取元數(shù)據(jù)軌道之后防止其它客戶端訪問該元數(shù)據(jù)軌道。
24.如權(quán)利要求19所述的系統(tǒng),其中,所述元數(shù)據(jù)包括復(fù)制服務(wù)元數(shù)據(jù)。
25.一種可與可編程計算機一起使用的計算機可讀介質(zhì)的計算機程序產(chǎn)品,該計算機程序產(chǎn)品具有在其中實施的、用于管理存儲子系統(tǒng)中的元數(shù)據(jù)的計算機可讀代碼,該計算機可讀代碼包括用于以下操作的指令從客戶端接收呼叫,以便更新元數(shù)據(jù)軌道的一部分;從客戶端接收識別要更新的元數(shù)據(jù)軌道的至少一個字段的數(shù)據(jù)、所述要更新的至少一個字段的相關(guān)更新值、以及所述至少一個字段的更新類型;利用所述至少一個字段的特性和相關(guān)更新值來填充客戶端接口的數(shù)據(jù)結(jié)構(gòu)字段;利用更新類型來填充客戶端接口的操作碼字段;獲得鎖定,由此防止其它客戶端訪問該元數(shù)據(jù)軌道;將任務(wù)控制塊(TCB)分配給客戶端呼叫;在TCB的指導(dǎo)下將包含所述要更新的至少一個字段的元數(shù)據(jù)軌道送入高速緩沖存儲器;將所述至少一個字段復(fù)制到TCB;施加更新類型,以便將所述至少一個字段的更新值映射到元數(shù)據(jù)軌道;和將元數(shù)據(jù)復(fù)制到TCB中;以及將對客戶端接口的控制權(quán)返還給該客戶端,由此,隨后將具有要更新的字段的元數(shù)據(jù)軌道送回。
26.如權(quán)利要求25所述的計算機程序產(chǎn)品,其中,所述指令還包括在讀取包含所述要更新的至少一個字段的元數(shù)據(jù)軌道之后,在TCB的指導(dǎo)下使該元數(shù)據(jù)軌道有效。
27.如權(quán)利要求26所述的計算機程序產(chǎn)品,其中,用于使元數(shù)據(jù)軌道有效的指令包括用于以下操作的指令確定元數(shù)據(jù)軌道是否處于有效狀態(tài);以及如果該元數(shù)據(jù)軌道不處于有效狀態(tài),則執(zhí)行元數(shù)據(jù)軌道的日志恢復(fù)。
28.如權(quán)利要求26所述的計算機程序產(chǎn)品,其中,用于使元數(shù)據(jù)軌道有效的指令包括用于以下操作的指令確定元數(shù)據(jù)軌道是否處于有效狀態(tài);以及如果該元數(shù)據(jù)軌道不處于有效狀態(tài),則對該元數(shù)據(jù)軌道執(zhí)行清除狀態(tài)軌道(CST)操作。
29.如權(quán)利要求25所述的計算機程序產(chǎn)品,其中,所述指令還包括創(chuàng)建在對應(yīng)的客戶端的多個預(yù)定訪問操作期間可能被更新的元數(shù)據(jù)字段的多個子集,每個訪問操作由更新類型識別;以及響應(yīng)于客戶端呼叫,向客戶端發(fā)送與由客戶端提供的更新類型相對應(yīng)的元數(shù)據(jù)字段的子集;由此,向客戶端賦予僅僅對在由更新類型識別的操作期間有可能被更新的元數(shù)據(jù)軌道的那些字段的訪問權(quán)。
30.如權(quán)利要求25所述的計算機程序產(chǎn)品,其中,所述元數(shù)據(jù)包括復(fù)制服務(wù)元數(shù)據(jù)。
31.一種可與可編程計算機一起使用的計算機可讀介質(zhì)的計算機程序產(chǎn)品,該計算機程序產(chǎn)品具有在其中實施的、用于管理存儲子系統(tǒng)中的元數(shù)據(jù)的計算機可讀代碼,該計算機可讀代碼包括用于以下操作的指令從客戶端接收呼叫,以便更新元數(shù)據(jù)軌道的一部分;從客戶端接收識別要更新的元數(shù)據(jù)軌道的至少一個字段的數(shù)據(jù)、所述要更新的至少一個字段的相關(guān)更新值、以及所述至少一個字段的更新類型;利用所述至少一個字段的特性和相關(guān)更新值來填充客戶端接口的數(shù)據(jù)結(jié)構(gòu)字段;利用更新類型來填充客戶端接口的操作碼字段;讀取包含所述要更新的至少一個字段的元數(shù)據(jù)軌道;在讀取包含所述要更新的至少一個字段的元數(shù)據(jù)軌道之后,使該元數(shù)據(jù)軌道有效;施加更新類型,以便將所述至少一個字段的更新值映射到元數(shù)據(jù)軌道;以及將對客戶端接口的控制權(quán)返還給客戶端,由此,隨后將具有要更新的字段的元數(shù)據(jù)軌道送回。
32.如權(quán)利要求31所述的計算機程序產(chǎn)品,其中,用于使元數(shù)據(jù)軌道有效的指令包括用于以下操作的指令確定元數(shù)據(jù)軌道是否處于有效狀態(tài);以及如果該元數(shù)據(jù)軌道不處于有效狀態(tài),則執(zhí)行元數(shù)據(jù)軌道的日志恢復(fù)。
33.如權(quán)利要求31所述的計算機程序產(chǎn)品,其中,用于使元數(shù)據(jù)軌道有效的指令包括用于以下操作的指令確定元數(shù)據(jù)軌道是否處于有效狀態(tài);以及如果該元數(shù)據(jù)軌道不處于有效狀態(tài),則對該元數(shù)據(jù)軌道執(zhí)行清除狀態(tài)軌道(CST)操作。
34.如權(quán)利要求31所述的計算機程序產(chǎn)品,還包括用于以下操作的指令創(chuàng)建在對應(yīng)的客戶端的多個預(yù)定訪問操作期間可能被更新的元數(shù)據(jù)字段的多個子集,每個訪問操作由更新類型識別;以及響應(yīng)于客戶端呼叫,向客戶端發(fā)送與由客戶端提供的更新類型相對應(yīng)的元數(shù)據(jù)字段的子集;由此,向客戶端賦予僅僅對在由更新類型識別的操作期間有可能被更新的元數(shù)據(jù)軌道的那些字段的訪問權(quán)。
35.如權(quán)利要求31所述的計算機程序產(chǎn)品,還包括用于獲得鎖定由此防止其它客戶端訪問所述元數(shù)據(jù)軌道的指令。
36.如權(quán)利要求31所述的計算機程序產(chǎn)品,其中,所述元數(shù)據(jù)包括復(fù)制服務(wù)元數(shù)據(jù)。
37.一種用于配置計算基礎(chǔ)設(shè)施的計算機程序產(chǎn)品,包括將計算機可讀代碼集成到計算系統(tǒng)中,其中與計算系統(tǒng)相結(jié)合的代碼能夠執(zhí)行以下操作從客戶端接收呼叫,以便更新元數(shù)據(jù)軌道的一部分;從客戶端接收識別要更新的元數(shù)據(jù)軌道的至少一個字段的數(shù)據(jù)、所述要更新的至少一個字段的相關(guān)更新值、以及所述至少一個字段的更新類型;利用所述至少一個字段的特性和相關(guān)更新值來填充客戶端接口的數(shù)據(jù)結(jié)構(gòu)字段;利用更新類型來填充客戶端接口的操作碼字段;將任務(wù)控制塊(TCB)分配給客戶端呼叫;獲得鎖定,由此防止其它客戶端訪問該元數(shù)據(jù)軌道;在TCB的指導(dǎo)下將包含所述要更新的至少一個字段的元數(shù)據(jù)軌道送入高速緩沖存儲器;將所述至少一個字段復(fù)制到TCB;施加更新類型,以便將所述至少一個字段的更新值映射到元數(shù)據(jù)軌道;和將元數(shù)據(jù)復(fù)制到TCB中;以及將對客戶端接口的控制權(quán)返還給客戶端,由此,隨后將具有要更新的字段的元數(shù)據(jù)軌道送回。
38.如權(quán)利要求37所述的方法,其中,所述代碼還能夠在讀取包含所述要更新的至少一個字段的元數(shù)據(jù)軌道之后在TCB的指導(dǎo)下使元數(shù)據(jù)軌道有效。
39.如權(quán)利要求38所述的方法,其中,用于使元數(shù)據(jù)軌道有效的代碼包括能夠執(zhí)行以下操作的代碼確定元數(shù)據(jù)軌道是否處于有效狀態(tài);以及如果該元數(shù)據(jù)軌道不處于有效狀態(tài),則執(zhí)行元數(shù)據(jù)軌道的日志恢復(fù)。
40.如權(quán)利要求38所述的方法,其中,用于使元數(shù)據(jù)軌道有效的代碼包括能夠執(zhí)行以下操作的代碼確定元數(shù)據(jù)軌道是否處于有效狀態(tài);以及如果該元數(shù)據(jù)軌道不處于有效狀態(tài),則對該元數(shù)據(jù)軌道執(zhí)行清除狀態(tài)軌道(CST)操作。
41.如權(quán)利要求37所述的方法,其中,所述代碼還能夠創(chuàng)建在對應(yīng)的客戶端的多個預(yù)定訪問操作期間可能被更新的元數(shù)據(jù)字段的多個子集,每個訪問操作由更新類型識別;以及響應(yīng)于客戶端呼叫,向客戶端發(fā)送與由客戶端提供的更新類型相對應(yīng)的元數(shù)據(jù)字段的子集;由此,向客戶端賦予僅僅對在由更新類型識別的操作期間有可能被更新的元數(shù)據(jù)軌道的那些字段的訪問權(quán)。
42.如權(quán)利要求37所述的方法,其中,所述元數(shù)據(jù)包括復(fù)制服務(wù)元數(shù)據(jù)。
43.一種用于配置計算基礎(chǔ)設(shè)施的方法,包括將計算機可讀代碼集成到計算系統(tǒng)中,其中,與計算系統(tǒng)組合的代碼能夠執(zhí)行以下操作從客戶端接收呼叫,以便更新元數(shù)據(jù)軌道的一部分;從客戶端接收識別要更新的元數(shù)據(jù)軌道的至少一個字段的數(shù)據(jù)、所述要更新的至少一個字段的相關(guān)更新值、以及所述至少一個字段的更新類型;利用所述至少一個字段的特性和相關(guān)更新值來填充客戶端接口的數(shù)據(jù)結(jié)構(gòu)字段;利用更新類型來填充客戶端接口的操作碼字段;讀取包含所述要更新的至少一個字段的元數(shù)據(jù)軌道;在讀取包含所述要更新的至少一個字段的元數(shù)據(jù)軌道之后,使該元數(shù)據(jù)軌道有效;施加更新類型,以便將所述至少一個字段的更新值映射到元數(shù)據(jù)軌道;以及將對客戶端接口的控制權(quán)返還給客戶端,由此,隨后將具有要更新的字段的元數(shù)據(jù)軌道送回。
44.如權(quán)利要求43所述的方法,其中,用于使元數(shù)據(jù)軌道有效的代碼能夠執(zhí)行以下操作確定元數(shù)據(jù)軌道是否處于有效狀態(tài);以及如果該元數(shù)據(jù)軌道不處于有效狀態(tài),則執(zhí)行元數(shù)據(jù)軌道的日志恢復(fù)。
45.如權(quán)利要求43所述的方法,其中,用于使元數(shù)據(jù)軌道有效的代碼能夠執(zhí)行以下操作確定元數(shù)據(jù)軌道是否處于有效狀態(tài);以及如果該元數(shù)據(jù)軌道不處于有效狀態(tài),則對該元數(shù)據(jù)軌道執(zhí)行清除狀態(tài)軌道(CST)操作。
46.如權(quán)利要求43所述的方法,其中,所述代碼還能夠創(chuàng)建在對應(yīng)的客戶端的多個預(yù)定訪問操作期間可能被更新的元數(shù)據(jù)字段的多個子集,每個訪問操作由更新類型識別;以及響應(yīng)于客戶端呼叫,向客戶端發(fā)送與由客戶端提供的更新類型相對應(yīng)的元數(shù)據(jù)字段的子集;由此,向客戶端賦予僅僅對在由更新類型識別的操作期間有可能被更新的元數(shù)據(jù)軌道的那些字段的訪問權(quán)。
47.如權(quán)利要求43所述的方法,其中,所述代碼還能夠獲得鎖定,由此防止其它客戶端訪問該元數(shù)據(jù)軌道。
48.如權(quán)利要求43所述的方法,其中,所述元數(shù)據(jù)包括復(fù)制服務(wù)元數(shù)據(jù)。
全文摘要
提供了用于配置管理存儲子系統(tǒng)中的元數(shù)據(jù)的計算基礎(chǔ)設(shè)施的方法、系統(tǒng)、計算機程序產(chǎn)品和方法。從客戶端接收呼叫,以更新元數(shù)據(jù)軌道的一部分。還從客戶端接收識別要更新的元數(shù)據(jù)軌道的至少一個字段的數(shù)據(jù)、所述要更新的至少一個字段的相關(guān)更新值、以及所述至少一個字段的更新類型。然后,利用所述至少一個字段的特性和相關(guān)更新值填充客戶端接口的數(shù)據(jù)結(jié)構(gòu)字段,并且利用更新類型填充客戶端接口的操作碼字段。然后,將任務(wù)控制塊(TCB)分配給客戶端呼叫,并且,在TCB的指導(dǎo)下,執(zhí)行各種操作而沒有客戶端的進(jìn)一步活動??梢栽诟轮笆乖獢?shù)據(jù)軌道有效,以便確??蛻舳藘H具有對有效更新的訪問權(quán)。
文檔編號G06F12/08GK1776676SQ20051012472
公開日2006年5月24日 申請日期2005年11月16日 優(yōu)先權(quán)日2004年11月18日
發(fā)明者S·馬哈 阿倫, R·布達(dá)雅 安杰利克, A·斯普林格 詹姆斯 申請人:國際商業(yè)機器公司