请求
请求者 是使用 VSS API(特别是 IVssBackupComponents 接口)请求卷影复制服务的服务以创建和管理一个或多个卷的卷影副本和卷影复制集的任何应用程序。
请求者(以及本文档中唯一寻址的示例)是 VSS 感知备份/还原应用程序,该应用程序使用影子复制的数据作为其备份作的稳定源。
除了启动卷影副本外,备份/恢复请求程序应用程序还与数据生成者(编写器)通信,以收集有关系统的信息,并发出信号编写器来准备其数据以供备份。
请求者状态
请求者在名为备份组件文档的基于 XML 的元数据对象中维护其状态信息。 请求者元数据是必需的,但不足以允许请求者备份并还原文件系统。 原因如下:
- 在备份作期间,只有备份中涉及的所有组件的子集(对于备份 组件不可选择,而对于已显式包含在备份中的备份组件的备份组件,可以选择的备份组件)已将其信息添加到请求者的备份组件文档中。
- 即使添加到备份组件文档的那些组件的信息也不完整,但不包括文件和路径规范。
- 在还原作期间,备份中隐式包含的组件 可以选择还原,因此可以显式包含在还原中。 这需要更新请求者的备份组件文档,其中包含写入器的编写器元数据文档的存储副本中的信息。
为了允许完整规范备份或还原作,VSS API 允许请求者查询正在运行的编写器的元数据(在备份期间)或检查存储的编写器元数据(还原期间)。 此外,编写器还可以在备份或还原作过程中修改备份组件文档中的组件信息。
使用已选择哪些组件进行备份和还原的信息以及有关组件选择的规则(有关详细信息,请参阅 设置组件组织 和 使用选择性和逻辑路径),请求者可以确定哪些编写器需要备份或还原的文件,以及找到这些文件的位置。
作为备份的一部分,必须存储请求者和编写器元数据,以便可以在还原中使用。 相反,还原作需要检索旧的备份组件和编写器元数据文档,以获取有关还原文件的完整说明。
请求方进程间通信
请求者通过请求方 API 中的各种调用生成 COM 事件,从而维护对 VSS 备份和还原作的控制。 这些调用可以执行以下作:
- 发出提供程序的请求,例如,IVssBackupComponents::D oSnapshotSet 导致提供程序创建所选卷的卷影副本。
- 触发编写器返回信息,例如,IVssBackupComponents::GatherWriterMetadata 使请求者能够获取每个编写器的编写器元数据文档。
- 要求编写器准备或处理卷影复制和备份作的各个阶段,例如,IVssBackupComponents::P repareForBackup 信号编写器为 I/O 冻结设置。
请求者通过实时或存储的编写器元数据文档以及使用编写器可以更新的 IVssComponent 接口接收来自编写器的信息。
备份期间请求者的生命周期
下面是备份的请求者生命周期摘要:
- 实例化和初始化 VSS API 接口。
- 联系编写者并检索其信息。
- 选择要备份的数据。
- 请求提供程序的卷影副本。
- 备份数据。
- 释放接口和卷影副本。
还原期间请求者的生命周期
还原生命周期不需要卷影副本,但仍需要编写器合作:
- 实例化 VSS API 接口。
- 通过加载存储的备份组件文档来初始化还原作的请求者。
- 检索存储的编写器元数据和备份组件文档。
- 请与编写者联系以初始化合作。
- 检查备份组件文档的编写器更新。
- 还原数据。