Поделиться через


Ответ сервера на открытые запросы на заблокированные файлы

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

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

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

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