Инициаторы запроса

Инициатор запроса — это любое приложение, которое использует API VSS (в частности, интерфейс IVssBackupComponents) для запроса служб службы теневого копирования томов для создания теневых копий и управления ими и наборов теневого копирования одного или нескольких томов.

Наиболее типичным примером инициатора запроса (и единственным, который рассматривается в этой документации), является приложение резервного копирования и восстановления с поддержкой VSS, которое использует теневое копирование данных в качестве стабильного источника для операций резервного копирования.

Помимо инициации теневых копий, приложения инициаторов резервного копирования и восстановления взаимодействуют с производителями данных (средствами записи) для сбора сведений о системе и передачи данных о подготовке данных к резервному копированию.

Состояние инициатора запроса

Запрашивающий хранит сведения о своем состоянии в объекте метаданных на основе XML, который называется документом компонентов резервного копирования. Метаданные инициатора запроса необходимы, но их недостаточно, чтобы позволить инициатору запроса создать резервную копию и затем восстановить файловую систему. Это объясняется следующими причинами.

  • Во время операции резервного копирования только подмножество всех компонентов, участвующих в резервном копировании( не выбираемых для компонентов резервного копирования без выбора для предков резервной копии и доступных для компонентов резервного копирования, которые были явно включены в резервную копию), добавили свои сведения в документ компонентов резервного копирования инициатора.
  • Сведения о компонентах, добавленных в документ по компонентам резервного копирования, неполные— спецификации файлов и путей не включены.
  • Во время операций восстановления компонент, неявно включенный в резервную копию, может быть выбран для восстановления и, следовательно, может быть явно включен в восстановление. Для этого потребуется обновить документ компонентов резервного копирования инициатора запроса с помощью сведений из хранимых копий документа метаданных модуля записи.

Чтобы обеспечить полную спецификацию операции резервного копирования или восстановления, API VSS позволяет инициатору запроса запрашивать метаданные выполняющегося модуля записи (во время резервного копирования) или проверять сохраненные метаданные записи (во время восстановления). Кроме того, модуль записи может изменять сведения о компонентах в документе Компонентов резервного копирования в ходе операции резервного копирования или восстановления.

Используя сведения о том, какие компоненты были выбраны для резервного копирования и восстановления, а также правила выбора компонентов (дополнительные сведения см. в разделах Настройка организации компонентов и Работа с возможностью выбора и логическими путями), инициатор запроса может определить, какие файлы модуля записи необходимо создать или восстановить, и где можно найти эти файлы.

В составе резервной копии необходимо сохранить метаданные инициатора запроса и модуля записи, чтобы их можно было использовать при восстановлении. И наоборот, операции восстановления требуют получения старых компонентов резервной копии и документов метаданных записи, чтобы получить полные инструкции по восстановлению файлов.

Обмен данными между запросами

Инициатор запроса сохраняет контроль над операциями резервного копирования и восстановления VSS, создавая COM-события с помощью различных вызовов в API инициатора запроса. Эти вызовы могут выполнять следующие действия:

  • Выполнение запросов поставщиков, например IVssBackupComponents::D oSnapshotSet приводит к созданию теневой копии выбранного тома.
  • Активация записи для возврата сведений, например IVssBackupComponents::CollectWriterMetadata позволяет инициатору запроса получить документ метаданных записи каждого модуля записи.
  • Требовать записи для подготовки или обработки различных этапов операций теневого копирования и резервного копирования, например IVssBackupComponents::P repareForBackup сигналов записи для настройки заморозки ввода-вывода.

Запрашивающий объект получает информацию от модулей записи через динамические или сохраненные документы метаданных модуля записи, а также через интерфейс IVssComponent , который модуль записи может обновить.

Жизненный цикл инициатора запроса во время резервного копирования

Ниже приведена сводка жизненного цикла инициатора запроса для резервного копирования.

  1. Создание экземпляров и инициализация интерфейсов API VSS.
  2. Связаться со средствами записи и получить их информацию.
  3. Выберите данные для резервного копирования.
  4. Запросите теневое копирование поставщика.
  5. Создайте резервную копию данных.
  6. Отпустите интерфейс и теневое копирование.

Жизненный цикл инициатора запроса во время восстановления

Жизненный цикл восстановления не требует теневой копии, но по-прежнему требует сотрудничества записи:

  1. Создание экземпляров интерфейсов API VSS.
  2. Инициализируйте инициатор запроса для операции восстановления, загрузив сохраненный документ компонентов резервной копии.
  3. Получение сохраненных метаданных модуля записи и документов компонентов резервного копирования.
  4. Обратитесь к авторам для инициализации сотрудничества.
  5. Проверьте наличие обновлений модуля записи в документе Компоненты резервного копирования.
  6. Восстановление данных.