КОНТРОЛЬНЫЕ ТОЧКИ ДЛЯ ФАЙЛОВОЙ СИСТЕМЫ

1. Способ, реализованный, по меньшей мере частично, компьютером, причем способ содержит этапы, на которых
указывают, что первый набор обновлений подлежит связыванию с первой контрольной точкой,
определяют необходимость записи данных контрольной точки, относящихся к первой контрольной точке, в хранилище файловой системы, которая использует копирование при записи для обновления данных файловой системы,
указывают, что любые обновления, которые происходят после первого набора обновлений, подлежат связыванию со следующей контрольной точкой,
генерируют планы записи для первого набора обновлений, причем каждый план записи указывает, по меньшей мере, запланированное местоположение в хранилище для данных, представляющих по меньшей мере одно из первого набора обновлений,
обновляют метаданные для указания данных выделения файловой системы, а также местоположений в хранилище для объектов файловой системы, модифицированных согласно упомянутым планам записи, и
создают логическую копию метаданных.
2. Способ по п.1, дополнительно содержащий этапы, на которых
создают план записи для записи первых данных контрольной точки, в то же время позволяя генерировать планы записи для последующих обновлений параллельно с созданием плана записи, и
записывают по меньшей мере один код подтверждения в хранилище, причем этот по меньшей мере один код подтверждения составляет часть данных контрольной точки, причем данный по меньшей мере один код подтверждения используется для определения того, правильно ли записан в хранилище первый набор обновлений.
3. Способ по п.2, дополнительно содержащий этап, на котором ожидают записи данных, представляющих первый набор обновлений, в хранилище до записи упомянутого по меньшей мере одного кода подтверждения в хранилище.
4. Способ по п.2, в котором на этапе записи по меньшей мере одного кода подтверждения в хранилище записывают в хранилище единичный код подтверждения в блоке с другими данными, которые ссылаются на корневые узлы по меньшей мере одной древовидной структуры данных, которая представляет логическую копию метаданных, при этом способ дополнительно содержит этап, на котором вычисляют единичный код подтверждения для удостоверения блока.
5. Способ по п.2, дополнительно содержащий этапы, на которых считывают упомянутый по меньшей мере один код подтверждения, вычисляют по меньшей мере один другой код подтверждения из данных в хранилище, сравнивают упомянутый по меньшей мере один код подтверждения с этим по меньшей мере одним другим кодом подтверждения и определяют на этом основании, все ли данные, представляющие первый набор обновлений, успешно записаны в хранилище.
6. Способ по п.1, в котором на этапе указания того, что первый набор обновлений подлежит связыванию с первой контрольной точкой, обновляют структуру данных, которая указывает, что первая контрольная точка подлежит использованию для любого обновления, которое происходит до обновления структуры данных, для указания другой контрольной точки.
7. Способ по п.1, в котором на этапе создания логической копии метаданных логическую копию создают параллельно с записью в хранилище данных, представляющих по меньшей мере одно из первого набора обновлений.
8. В вычислительной среде, система, содержащая
интерфейс, выполненный с возможностью принимать запрос на обновление объекта файловой системы для файловой системы,
диспетчер ввода/вывода, выполненный с возможностью определения одного или более запросов ввода/вывода для отправки в хранилище для удовлетворения запроса, и
диспетчер контрольных точек, выполненный с возможностью осуществления действий, содержащих
определение первой контрольной точки для связывания с запросами на обновление объектов файловой системы, причем диспетчер контрольных точек приспособлен назначать запросы разным контрольным точкам,
определение необходимости записи данных контрольной точки, связанных с контрольной точкой, в хранилище файловой системы,
определение второй контрольной точки для последующих запросов на обновление объектов файловой системы,
ожидание согласованного состояния файловой системы, обеспечивая при этом возможность подготовки к записи данных для последующих запросов,
создание логической копии метаданных файловой системы,
запись логической копии в хранилище и
запись по меньшей мере одного кода подтверждения в хранилище, причем этот по меньшей мере один код подтверждения используется для определения того, были ли обновления до контрольной точки записаны в хранилище.
9. Система по п.8, в которой диспетчер контрольных точек, выполненный с возможностью определения контрольной точки для связывания с запросами на обновление объектов файловой системы, предусматривает то, что диспетчер контрольных точек выполнен с возможностью обновления структуры данных, которая указывает, что первая контрольная точка подлежит использованию для обновлений, которые происходят до определения необходимости записи данных контрольной точки, связанных с контрольной точкой, в хранилище файловой системы и необходимости использования второй контрольной точки для обновлений, которые происходят позже.
10. Система по п.8, в которой диспетчер контрольных точек, выполненный с возможностью определения необходимости записи данных контрольной точки, связанных с контрольной точкой, в хранилище файловой системы, предусматривает то, что диспетчер контрольных точек выполнен с возможностью определения того, что время действия контрольной точки истекло, причем время действия контрольной точки определяется на основе окна восстановления.
11. Система по п.8, дополнительно содержащая диспетчер планов записи, выполненный с возможностью генерации плана записи, который указывает местоположения в хранилище всех объектов файловой системы, подлежащих обновлению совместно с объектом файловой системы для поддержания согласованного состояния файловой системы.
12. Система по п.8, в которой диспетчер контрольных точек, выполненный с возможностью ожидать согласованного состояния файловой системы, предусматривает то, что диспетчер контрольных точек выполнен с возможностью ожидать, пока все обновления, связанные с объектами первой контрольной точки файловой системы, не будут представлены в хранилище файловой системы.
13. Система по п.8, в которой диспетчер контрольных точек, выполненный с возможностью разрешать подготовку к записи данных для последующих запросов, предусматривает то, что диспетчер контрольных точек выполнен с возможностью разрешать генерировать и записывать в хранилище планы записи для последующих запросов, но не разрешать обновлять метаданные до тех пор, пока не будет создана логическая копия метаданных.
14. Компьютерный носитель данных, имеющий компьютерно-исполняемые инструкции, которые при их исполнении осуществляют действия, содержащие
прием запроса на восстановление для файловой системы,
определение местоположение данных контрольной точки для контрольной точки в хранилище файловой системы, причем данные контрольной точки предварительно генерируются действиями, содержащими
указание того, что любые обновления, которые происходят после обновлений, связанных с контрольной точкой, связываются со следующей контрольной точкой,
генерацию планов записи для обновлений, связанных с контрольной точкой, причем каждый план записи указывает, по меньшей мере, запланированное местоположение в хранилище для представления по меньшей мере одного из обновлений,
обновление метаданных для указания местоположений в хранилище объектов, модифицированных согласно планам записи,
создание логической копии метаданных, и
запись в хранилище по меньшей мере одного кода подтверждения, относящегося к контрольной точке, и
удостоверение данных контрольной точки с использованием этого кода подтверждения.
15. Компьютерный носитель данных по п.14, в котором удостоверение данных контрольной точки с использованием кода подтверждения содержит вычисление контрольной суммы данных контрольной точки и сравнение контрольной суммы данных контрольной точки с кодом подтверждения.