专利名称:管理存储子系统中元数据的方法、系统和计算机程序产品的制作方法
技术领域:
本发明一般地涉及企业存储子系统,特别涉及高效且安全地管理元数据。
背景技术:
企业计算系统通常包括一个或多个用于处理客户数据并运行应用程序的主系统、用于存储数据的直接存取存储设备(DASD)、以及一个或多个用于指导主机和DASD之间的数据存储和检索的存储控制器。除客户数据外,存储控制器通常保存元数据,所述元数据提供关于DASD中或存储控制器内的高速缓冲存储器中的数据轨道或块的信息。存储控制器在对由元数据代表的客户数据进行某些操作期间处理该元数据,以便提高执行所请求操作的速度和效率。在DASD初始化期间,将元数据从盘送入(stage)到高速缓冲存储器(易失型存储器)。电力故障或某些其它类型的错误可能导致高速缓冲存储器的内容丢失。
诸如IBMTMEnterprise Storage ServerTM(企业存储服务器)(ESS)的某些存储控制器可配置有复制服务功能性,包括(但不限于)快闪复制、对等远程复制、扩展远程复制和并行复制,其帮助备份数据和从灾难性故障中进行恢复。在复制服务(CS)操作期间,产生多字段CS元数据,并由存储控制器来保存它。CS元数据包括关于任意时间点处的复制服务操作状态的信息,例如内部设置、源和目的地地址、以及关于正被复制的数据状态的其它数据。因此,如果控制器掉电或遭遇某些其它中断事件,则可以重新启动该控制器,读取元数据,将CS操作还原到中断点,并随后重新开始并完成该CS操作。
在IBM ESS的较早版本中,CS元数据被保存在直接由客户端更新的26KB内存储结构中。在更新期间,即使只更新少数字段,也将整个结构写入盘中,并且不记录元数据的哪些字段被改变。在后续版本中,CS控制数据的26KB结构被映射到7个8KB的全局(global)元数据轨道。在更新期间,仅将包含所更新的字段的元数据轨道写入盘中。尽管改进了原来的处理过程,但是仍然不记录哪些字段被更新。当把8KB轨道写入盘中时,该轨道被划分为3部分,并且每个部分是单个写入操作。为安全起见,将每一个完整的8KB轨道(full 8KB track)存储在3个分开的位置。因此,对单个元数据轨道的每次更新都需要9次写入操作。
实施了日志记录(journaling),以允许在非易失性存储器(NVS)中存储更新,从而提高了更新性能,并且在电力丧失或其它重大事件的情况下保存元数据。每个元数据轨道在NVS中具有对应页,其包括一连串的块,所述块包含识别正在执行的操作和正在修改的高速缓冲存储器中的数据的日志条目序列。在恢复操作期间,可以将元数据从盘送入高速缓冲存储器,并施加先前记录在日志条目中的变化,从而将元数据还原成具有最近版本的数据。尽管如此,仍然可能不能明确地识别修改过的字段。此外,众所周知,NVS相对于其它类型的存储器来说较为昂贵,因此希望尽可能地限制其使用。
在这种早先的系统中,当客户端请求访问元数据轨道、例如更新该轨道中的一个或多个字段时,需要大量控制器资源来提供诸如日志访问、轨道访问、任务控制块(TCB)分配和轨道锁定(用来确保一次只有一个进程具有对目标数据的访问权)的功能。这种资源使用使控制器处理器停顿。此外,在此之前,客户端具有对元数据轨道的完全访问权,从而会使它们遭受可能的覆写和其它破坏完整性的风险。元数据轨道还可能由于诸如存储器覆写、失效转移(failover)/电力丧失、或者坏纵向冗余校验(LRC)的很多原因中的任意一种而变为无效。例如,在错误处理恢复期间,检查LRC,并且如果不正确,则将该轨道标记为无效。将认识到,不应做出访问或更新无效元数据的尝试。
因此,仍然希望有更高效和全面地管理元数据,诸如复制服务元数据。
发明内容
本发明提供用于管理存储子系统中的元数据的方法。从客户端接收呼叫(call),以更新元数据轨道的一部分。通过使用操作码,要更新的元数据轨道的至少一个字段连同所述至少一个字段的更新类型一起被接收。然后,利用所述至少一个字段的特性(identity)以及相关更新值来填充(populate)客户端接口的数据结构字段,并且利用更新类型来填充客户端接口的操作码字段。
在一个实施例中,随后将任务控制块(TCB)分配给客户端呼叫。在TCB的指导下,获得锁定,由此防止其它客户端访问包含所述要更新的至少一个字段的元数据轨道,将元数据轨道送入高速缓冲存储器,将所述至少一个字段复制到TCB,施加更新类型以便将所述至少一个字段的更新值映射到该元数据轨道,并且将元数据复制到TCB中。最后,将对客户端接口的控制权返还给客户端,由此,随后将具有要更新的字段的元数据轨道送回(destage)。以这种方式,仅仅收集关于对可能较大数量的结构的改变的最少量的信息。保存关于哪些字段被修改过的信息,从而允许日志记录和选择性送回。此外,来自客户端的单个呼叫启动若干功能,从而提高元数据访问的效率和可用性。
在另一实施例中,在读取包含所述要更新的至少一个字段的元数据轨道之后,使该元数据轨道有效,其后,施加更新类型,以便将所述至少一个字段的更新值映射到元数据轨道,并将对客户端接口的控制权返还给客户端,由此,随后将具有要更新的字段的元数据轨道送回。这样,本发明提供按需轨道有效化,以确保请求访问元数据的客户端具有有效的元数据。
本发明还提供用于配置(deploy)管理存储子系统中的元数据的计算基础设施的系统、计算机程序产品和方法。
图1是本发明的元数据管理系统的方框图;图2是可用来实现本发明的一系列元数据轨道的图示;图3是本发明的客户端接口的图示;以及图4、5和6是本发明的方法的流程图。
具体实施例方式
图1是实施本发明的元数据管理的存储控制器100的方框图。控制器100通过网络10附接到至少一个客户端系统12。控制器100还附接到至少一个存储设备14,例如直接存取存储设备(DASD)。
控制器100包括处理器102、用于存储具有可由处理器102执行的指令的计算机可读代码的通用存储器104、高速缓冲存储器106和非易失性存储器(NVS)108。控制器100还包括日志记录区110和存储管理软件120,它们实际上均可被存储在存储器104中。控制器100包括处理器102、用于存储具有可由处理器102执行的指令的计算机可读代码的通用存储器104、高速缓冲存储器106和非易失性存储器(NVS)108。NVS 108包括日志记录区110;控制器100还包括实际上可存储在存储器104中的存储管理软件120。存储管理软件120可包括复制服务(CS)代码122和元数据管理代码132。复制服务代码122可包括但不限于对等远程复制(PPRC)功能124、扩展远程复制(XRC)功能126、并行复制(CC)128和/或快闪复制或时间点(point-in-time)复制功能130。这种服务帮助备份数据、复制数据和从灾难性故障中进行恢复。
存储管理软件120还包括任务控制块112、配置为一个或多个逻辑卷136的一个或多个逻辑子系统(LSS)134以及存储设备驱动器142。在某些存储控制器中,高速缓冲存储器106和NVS 108都可以是存储器104中的微码构造,所述微码构造由设备驱动器142配置,并被视为设备驱动器142的一部分。
存储设备14可配置为具有客户数据16和元数据18的轨道。如前面所述,元数据可以是全局的、与对应的客户数据分开存储(如图1所示),或者是分段的、与对应的客户数据一起存储。
还参考图4的流程图,在操作中,控制器100从客户端12接收呼叫(步骤400),以便访问和更新存储在存储设备14中的元数据轨道的一部分。在某些IBM产品中,元数据被存储为7个8KB轨道200A-200G(图2)。然而,将意识到,本发明的范围不受在此描述的元数据轨道的数目和大小的限制。每个轨道200包括多个字段202。接口300(图3)被提供给客户端12(步骤402),并用来向控制器100提供信息。接口300包括数据结构字段302和操作码字段304。将利用要更新的字段的标识和相关更新值来填充数据结构字段302(步骤404)。将利用所请求的更新的类型来填充操作码字段304(步骤406)。更新类型可包括但不限于‘建立PPRC路径’、‘终止PPRC路径’、‘建立PPRC对’、‘终止PPRC对’、‘建立XRC会话’和‘终止XRC会话’。
在本发明的一个实施例中(图5),接下来,将任务控制块(TCB)112分配给客户端呼叫(步骤500)。为了防止其它进程试图访问该元数据轨道,获得锁定(步骤502)。在TCB 112的指导下,可以在不进一步牵涉客户端的情况下执行以下全部操作首先,将包含要更新的字段的元数据轨道从存储设备14送入高速缓冲存储器106(步骤504)。将要更新的字段复制到TCB 112(步骤506)。接下来,基于接口300的操作码字段304中的更新类型,将包含在数据结构字段302中的更新值映射到元数据轨道(步骤508)。然后,将元数据复制到TCB 112,以供呼叫的客户端使用(步骤510)。将对接口300的控制权返还给客户端12(步骤512)。这样,仅仅客户端12的单个呼叫或请求对于启动通过单个TCB分配所需资源是必需的。此外,仅仅向客户端12提供那些被更新的字段,从而防止元数据被无意中覆写,并允许仅仅所更新的字段的选择性送回。并且,更新结构信息302和操作码304将足以在日志恢复的情况下应用更新。
在另一实施例(图6)中,在填充了接口300的字段302、304(步骤406)之后,检验包含要更新的字段的元数据轨道(步骤600)。首先,检查该轨道的状态(步骤602)。可能的状态可包括但不限于有效、‘无效’、‘CST’(清除所有轨道)、‘CST挂起’和‘更新进行中’。如果该状态被确定为不同于‘有效’,则采取步骤以便将其状态改变为‘有效’(步骤604)。与在前面的段落中描述的实施例相结合,可以在TCB的指导下执行轨道的有效化。作为示例而不是限制,如果所述状态表明更新被中断,则可以如上面引用的美国申请序列号No.__[IBM文档#TUC920040175]回退或继续(rolled back or forward)执行更新。如果状态是‘无效’,则执行日志恢复,以便将所有成功的更新施加到该轨道。如果状态是‘CST挂起’,则将完成CST操作。在使轨道有效之后,基于接口300的操作码字段304中的更新类型,将包含在数据结构字段302中的更新值映射到元数据轨道(步骤606)。然后,将元数据复制到TCB 112,以供呼叫客户端使用(步骤608)。将对接口300的控制权返还给客户端12(步骤610)。这样,仅将有效更新放置在高速缓冲存储器106中,其后,将具有修改的字段的元数据轨道送入存储设备114。
在另一实施例中,按照这样的方式将元数据轨道的字段分组,即,将在特定更新类型期间有可能被更新的那些字段一起放在第一组中,而将在不同更新类型期间有可能被更新的那些字段一起放在第二组中。这样,基于由客户端12返回给控制器100的更新类型,向客户端12提供了要填充的字段,而其它字段保持为不能被客户端触及。
重要的是应注意尽管在全功能数据处理系统的环境中描述了本发明,但是本领域普通技术人员将认识到,本发明的过程能够以指令的计算机可读介质的形式以及各种形式分发,并且不管实际用来进行该分发的特定类型的信号承载介质是什么,本发明都是适用的。计算机可读介质的示例包括诸如软盘、硬盘驱动器、RAM和CD-ROM的可记录型介质以及诸如数字和模拟通信链路的传输型介质。
出于说明和描述的目的而提供了对本发明的描述,但其意图不是毫无遗漏的或者限于所公开的形式的本发明。对本领域普通技术人员来说,很多修改和改变都将是明显的。为了最佳地解释本发明的原理、实际应用,并使其它的本领域普通技术人员能够理解用于适合于所考虑的特定用途的、带有各种修改的各种实施例的本发明,选择和描述了所述实施例。此外,尽管在上面对方法和系统进行了描述,但是也可以利用包含用于管理元数据的指令的计算机程序产品、或者用来配置计算基础设施的方法来满足本领域的需要,其中,所述方法包括将计算机可读代码集成到计算系统中以管理元数据。
权利要求
1.一种用于管理存储子系统中的元数据的方法,包括从客户端接收呼叫,以更新元数据轨道的一部分;从客户端接收识别要更新的元数据轨道的至少一个字段的数据、所述要更新的至少一个字段的相关更新值、以及所述至少一个字段的更新类型;利用所述至少一个字段的特性和相关更新值来填充客户端接口的数据结构字段;利用更新类型来填充客户端接口的操作码字段;将任务控制块(TCB)分配给客户端呼叫;获得锁定,由此防止其它客户端访问该元数据轨道;在TCB的指导下将包含所述要更新的至少一个字段的元数据轨道送入高速缓冲存储器;将所述至少一个字段复制到TCB;施加更新类型,以便将所述至少一个字段的更新值映射到元数据轨道;和将元数据复制到TCB中;以及将对客户端接口的控制权返还给客户端,由此,随后将具有要更新的字段的元数据轨道送回。
2.如权利要求1所述的方法,还包括在读取包含所述要更新的至少一个字段的元数据轨道之后,在TCB的指导下使元数据轨道有效。
3.如权利要求2所述的方法,其中,使元数据轨道有效包括确定元数据轨道是否处于有效状态;以及如果该元数据轨道不处于有效状态,则执行该元数据轨道的日志恢复。
4.如权利要求2所述的方法,其中,使元数据轨道有效包括确定元数据轨道是否处于有效状态;以及如果该元数据轨道不处于有效状态,则对该元数据轨道执行清除状态轨道(CST)操作。
5.如权利要求1所述的方法,还包括创建在对应的客户端的多个预定访问操作期间可能被更新的元数据字段的多个子集,每个访问操作由更新类型识别;以及响应于客户端呼叫,向客户端发送与由客户端提供的更新类型相对应的元数据字段的子集;由此,向客户端赋予仅仅对在由更新类型识别的操作期间有可能被更新的元数据轨道的那些字段的访问权。
6.如权利要求1所述的方法,其中,所述元数据包括复制服务元数据。
7.一种用于管理存储子系统中的元数据的方法,包括从客户端接收呼叫,以更新元数据轨道的一部分;从客户端接收识别要更新的元数据轨道的至少一个字段的数据、所述要更新的至少一个字段的相关更新值、以及所述至少一个字段的更新类型;利用所述至少一个字段的特性和相关更新值填充客户端接口的数据结构字段;利用更新类型填充客户端接口的操作码字段;读取包含所述要更新的至少一个字段的元数据轨道;在读取包含所述要更新的至少一个字段的元数据轨道之后,使该元数据轨道有效;施加更新类型,以便将所述至少一个字段的更新值映射到元数据轨道;以及将对客户端接口的控制权返还给客户端,由此,随后将具有要更新的字段的元数据轨道送回。
8.如权利要求7所述的方法,其中,使元数据轨道有效包括确定元数据轨道是否处于有效状态;以及如果该元数据轨道不处于有效状态,则执行该元数据轨道的日志恢复。
9.如权利要求7所述的方法,其中,使元数据轨道有效包括确定元数据轨道是否处于有效状态;以及如果该元数据轨道不处于有效状态,则对该元数据轨道执行清除状态轨道(CST)操作。
10.如权利要求7所述的方法,还包括创建在对应的客户端的多个预定访问操作期间可能被更新的元数据字段的多个子集,每个访问操作由更新类型识别;以及响应于客户端呼叫,向客户端发送与由客户端提供的更新类型相对应的元数据字段的子集;由此,向客户端赋予仅仅对在由更新类型识别的操作期间有可能被更新的元数据轨道的那些字段的访问权。
11.如权利要求7所述的方法,还包括获得锁定,由此防止其它客户端访问该元数据轨道。
12.如权利要求7所述的方法,其中,所述元数据包括复制服务元数据。
13.一种用于管理存储子系统中的元数据的系统,包括用于从客户端接收呼叫以便更新元数据轨道的一部分的装置;用于从客户端接收识别要更新的元数据轨道的至少一个字段的数据、所述要更新的至少一个字段的相关更新值以及所述至少一个字段的更新类型的装置;客户端接口,包括数据结构字段,用于保存所述至少一个字段的特性以及相关更新值;和操作码字段,用于保存更新类型;任务控制块(TCB),被分配给客户端呼叫,并且可用来在获得锁定之后指导以下操作,由此防止其它客户端访问元数据轨道将包含所述要更新的至少一个字段的元数据轨道送入高速缓冲存储器;将所述至少一个字段复制到TCB;施加更新类型,以便将所述至少一个字段的更新值映射到元数据轨道;和将元数据复制到TCB中;以及用于将对客户端接口的控制权返还给客户端、由此随后将具有要更新的字段的元数据轨道送回的装置。
14.如权利要求13所述的系统,其中,TCB还用来指导在读取了元数据轨道之后的使元数据轨道有效。
15.如权利要求14所述的系统,其中,在使元数据轨道有效期间,TCB还用来指导确定元数据是否处于有效状态;以及如果元数据轨道不处于有效状态,则进行元数据轨道的日志恢复。
16.如权利要求14所述的系统,其中,在使元数据轨道有效期间,TCB还用来指导确定元数据轨道是否处于有效状态;以及如果元数据轨道不处于有效状态,则对元数据轨道执行清除状态轨道(CST)操作。
17.如权利要求13所述的系统,还包括用于创建在对应的客户端的多个预定访问操作期间可能被更新的元数据字段的多个子集的装置,每个访问操作由更新类型识别;以及用于响应于客户端呼叫而向客户端发送与由客户端提供的更新类型相对应的元数据字段的子集的装置;由此,向客户端赋予仅仅对在由更新类型识别的操作期间有可能被更新的元数据轨道的那些字段的访问权。
18.如权利要求13所述的系统,其中,所述元数据包括复制服务元数据。
19.一种用于管理存储子系统中的元数据的系统,包括用于从客户端接收呼叫以更新元数据轨道的一部分的装置;用于从客户端接收识别要更新的元数据轨道的至少一个字段的数据、所述要更新的至少一个字段的相关更新值以及所述至少一个字段的更新类型的装置;客户端接口,包括数据结构字段,用于保存所述至少一个字段的特性和相关更新值;和操作码字段,用于保存更新类型;任务控制块(TCB),被分配给客户端呼叫,并用来在获得锁定之后指导以下操作,由此防止其它客户端访问该元数据轨道将包含所述要更新的至少一个字段的元数据轨道送入高速缓冲存储器;将所述至少一个字段复制到TCB;在读取元数据轨道之后使该元数据轨道有效;用于将对客户端接口的控制权返还给该客户端、由此随后将具有要更新的字段的元数据轨道送回的装置。
20.如权利要求19所述的系统,其中,在使元数据轨道有效期间,TCB还用来指导确定元数据轨道是否处于有效状态;以及如果该元数据轨道不处于有效状态,则执行元数据轨道的日志恢复。
21.如权利要求19所述的系统,其中,在使元数据轨道有效期间,TCB还用来指导确定元数据轨道是否处于有效状态;以及如果该元数据轨道不处于有效状态,则对该元数据轨道执行清除状态轨道(CST)操作。
22.如权利要求19所述的系统,还包括用于创建在对应的客户端的多个预定访问操作期间可能被更新的元数据字段的多个子集的装置,每个访问操作由更新类型识别;以及用于响应于客户端呼叫而向客户端发送与由客户端提供的更新类型相对应的元数据字段的子集的装置;由此,向客户端赋予仅仅对在由更新类型识别的操作期间有可能被更新的元数据轨道的那些字段的访问权。
23.如权利要求19所述的系统,其中,TCB还用来指导锁定的获得,由此在读取元数据轨道之后防止其它客户端访问该元数据轨道。
24.如权利要求19所述的系统,其中,所述元数据包括复制服务元数据。
25.一种可与可编程计算机一起使用的计算机可读介质的计算机程序产品,该计算机程序产品具有在其中实施的、用于管理存储子系统中的元数据的计算机可读代码,该计算机可读代码包括用于以下操作的指令从客户端接收呼叫,以便更新元数据轨道的一部分;从客户端接收识别要更新的元数据轨道的至少一个字段的数据、所述要更新的至少一个字段的相关更新值、以及所述至少一个字段的更新类型;利用所述至少一个字段的特性和相关更新值来填充客户端接口的数据结构字段;利用更新类型来填充客户端接口的操作码字段;获得锁定,由此防止其它客户端访问该元数据轨道;将任务控制块(TCB)分配给客户端呼叫;在TCB的指导下将包含所述要更新的至少一个字段的元数据轨道送入高速缓冲存储器;将所述至少一个字段复制到TCB;施加更新类型,以便将所述至少一个字段的更新值映射到元数据轨道;和将元数据复制到TCB中;以及将对客户端接口的控制权返还给该客户端,由此,随后将具有要更新的字段的元数据轨道送回。
26.如权利要求25所述的计算机程序产品,其中,所述指令还包括在读取包含所述要更新的至少一个字段的元数据轨道之后,在TCB的指导下使该元数据轨道有效。
27.如权利要求26所述的计算机程序产品,其中,用于使元数据轨道有效的指令包括用于以下操作的指令确定元数据轨道是否处于有效状态;以及如果该元数据轨道不处于有效状态,则执行元数据轨道的日志恢复。
28.如权利要求26所述的计算机程序产品,其中,用于使元数据轨道有效的指令包括用于以下操作的指令确定元数据轨道是否处于有效状态;以及如果该元数据轨道不处于有效状态,则对该元数据轨道执行清除状态轨道(CST)操作。
29.如权利要求25所述的计算机程序产品,其中,所述指令还包括创建在对应的客户端的多个预定访问操作期间可能被更新的元数据字段的多个子集,每个访问操作由更新类型识别;以及响应于客户端呼叫,向客户端发送与由客户端提供的更新类型相对应的元数据字段的子集;由此,向客户端赋予仅仅对在由更新类型识别的操作期间有可能被更新的元数据轨道的那些字段的访问权。
30.如权利要求25所述的计算机程序产品,其中,所述元数据包括复制服务元数据。
31.一种可与可编程计算机一起使用的计算机可读介质的计算机程序产品,该计算机程序产品具有在其中实施的、用于管理存储子系统中的元数据的计算机可读代码,该计算机可读代码包括用于以下操作的指令从客户端接收呼叫,以便更新元数据轨道的一部分;从客户端接收识别要更新的元数据轨道的至少一个字段的数据、所述要更新的至少一个字段的相关更新值、以及所述至少一个字段的更新类型;利用所述至少一个字段的特性和相关更新值来填充客户端接口的数据结构字段;利用更新类型来填充客户端接口的操作码字段;读取包含所述要更新的至少一个字段的元数据轨道;在读取包含所述要更新的至少一个字段的元数据轨道之后,使该元数据轨道有效;施加更新类型,以便将所述至少一个字段的更新值映射到元数据轨道;以及将对客户端接口的控制权返还给客户端,由此,随后将具有要更新的字段的元数据轨道送回。
32.如权利要求31所述的计算机程序产品,其中,用于使元数据轨道有效的指令包括用于以下操作的指令确定元数据轨道是否处于有效状态;以及如果该元数据轨道不处于有效状态,则执行元数据轨道的日志恢复。
33.如权利要求31所述的计算机程序产品,其中,用于使元数据轨道有效的指令包括用于以下操作的指令确定元数据轨道是否处于有效状态;以及如果该元数据轨道不处于有效状态,则对该元数据轨道执行清除状态轨道(CST)操作。
34.如权利要求31所述的计算机程序产品,还包括用于以下操作的指令创建在对应的客户端的多个预定访问操作期间可能被更新的元数据字段的多个子集,每个访问操作由更新类型识别;以及响应于客户端呼叫,向客户端发送与由客户端提供的更新类型相对应的元数据字段的子集;由此,向客户端赋予仅仅对在由更新类型识别的操作期间有可能被更新的元数据轨道的那些字段的访问权。
35.如权利要求31所述的计算机程序产品,还包括用于获得锁定由此防止其它客户端访问所述元数据轨道的指令。
36.如权利要求31所述的计算机程序产品,其中,所述元数据包括复制服务元数据。
37.一种用于配置计算基础设施的计算机程序产品,包括将计算机可读代码集成到计算系统中,其中与计算系统相结合的代码能够执行以下操作从客户端接收呼叫,以便更新元数据轨道的一部分;从客户端接收识别要更新的元数据轨道的至少一个字段的数据、所述要更新的至少一个字段的相关更新值、以及所述至少一个字段的更新类型;利用所述至少一个字段的特性和相关更新值来填充客户端接口的数据结构字段;利用更新类型来填充客户端接口的操作码字段;将任务控制块(TCB)分配给客户端呼叫;获得锁定,由此防止其它客户端访问该元数据轨道;在TCB的指导下将包含所述要更新的至少一个字段的元数据轨道送入高速缓冲存储器;将所述至少一个字段复制到TCB;施加更新类型,以便将所述至少一个字段的更新值映射到元数据轨道;和将元数据复制到TCB中;以及将对客户端接口的控制权返还给客户端,由此,随后将具有要更新的字段的元数据轨道送回。
38.如权利要求37所述的方法,其中,所述代码还能够在读取包含所述要更新的至少一个字段的元数据轨道之后在TCB的指导下使元数据轨道有效。
39.如权利要求38所述的方法,其中,用于使元数据轨道有效的代码包括能够执行以下操作的代码确定元数据轨道是否处于有效状态;以及如果该元数据轨道不处于有效状态,则执行元数据轨道的日志恢复。
40.如权利要求38所述的方法,其中,用于使元数据轨道有效的代码包括能够执行以下操作的代码确定元数据轨道是否处于有效状态;以及如果该元数据轨道不处于有效状态,则对该元数据轨道执行清除状态轨道(CST)操作。
41.如权利要求37所述的方法,其中,所述代码还能够创建在对应的客户端的多个预定访问操作期间可能被更新的元数据字段的多个子集,每个访问操作由更新类型识别;以及响应于客户端呼叫,向客户端发送与由客户端提供的更新类型相对应的元数据字段的子集;由此,向客户端赋予仅仅对在由更新类型识别的操作期间有可能被更新的元数据轨道的那些字段的访问权。
42.如权利要求37所述的方法,其中,所述元数据包括复制服务元数据。
43.一种用于配置计算基础设施的方法,包括将计算机可读代码集成到计算系统中,其中,与计算系统组合的代码能够执行以下操作从客户端接收呼叫,以便更新元数据轨道的一部分;从客户端接收识别要更新的元数据轨道的至少一个字段的数据、所述要更新的至少一个字段的相关更新值、以及所述至少一个字段的更新类型;利用所述至少一个字段的特性和相关更新值来填充客户端接口的数据结构字段;利用更新类型来填充客户端接口的操作码字段;读取包含所述要更新的至少一个字段的元数据轨道;在读取包含所述要更新的至少一个字段的元数据轨道之后,使该元数据轨道有效;施加更新类型,以便将所述至少一个字段的更新值映射到元数据轨道;以及将对客户端接口的控制权返还给客户端,由此,随后将具有要更新的字段的元数据轨道送回。
44.如权利要求43所述的方法,其中,用于使元数据轨道有效的代码能够执行以下操作确定元数据轨道是否处于有效状态;以及如果该元数据轨道不处于有效状态,则执行元数据轨道的日志恢复。
45.如权利要求43所述的方法,其中,用于使元数据轨道有效的代码能够执行以下操作确定元数据轨道是否处于有效状态;以及如果该元数据轨道不处于有效状态,则对该元数据轨道执行清除状态轨道(CST)操作。
46.如权利要求43所述的方法,其中,所述代码还能够创建在对应的客户端的多个预定访问操作期间可能被更新的元数据字段的多个子集,每个访问操作由更新类型识别;以及响应于客户端呼叫,向客户端发送与由客户端提供的更新类型相对应的元数据字段的子集;由此,向客户端赋予仅仅对在由更新类型识别的操作期间有可能被更新的元数据轨道的那些字段的访问权。
47.如权利要求43所述的方法,其中,所述代码还能够获得锁定,由此防止其它客户端访问该元数据轨道。
48.如权利要求43所述的方法,其中,所述元数据包括复制服务元数据。
全文摘要
提供了用于配置管理存储子系统中的元数据的计算基础设施的方法、系统、计算机程序产品和方法。从客户端接收呼叫,以更新元数据轨道的一部分。还从客户端接收识别要更新的元数据轨道的至少一个字段的数据、所述要更新的至少一个字段的相关更新值、以及所述至少一个字段的更新类型。然后,利用所述至少一个字段的特性和相关更新值填充客户端接口的数据结构字段,并且利用更新类型填充客户端接口的操作码字段。然后,将任务控制块(TCB)分配给客户端呼叫,并且,在TCB的指导下,执行各种操作而没有客户端的进一步活动。可以在更新之前使元数据轨道有效,以便确保客户端仅具有对有效更新的访问权。
文档编号G06F12/08GK1776676SQ20051012472
公开日2006年5月24日 申请日期2005年11月16日 优先权日2004年11月18日
发明者S·马哈 阿伦, R·布达雅 安杰利克, A·斯普林格 詹姆斯 申请人:国际商业机器公司