Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Un bloqueo oportunista (también denominado oplock) es un bloqueo colocado por un cliente en un archivo que reside en un servidor. En la mayoría de los casos, un cliente solicita un bloqueo oportunista para que pueda almacenar en caché los datos localmente, lo que reduce el tráfico de red y mejora el tiempo de respuesta aparente. Los redireccionadores de red usan bloqueos oportunistas en clientes con servidores remotos, y las aplicaciones cliente también los utilizan en servidores locales.
Nota:
Los artículos sobre bloqueos oportunistas que se encuentran en esta sección pertenecen principalmente a las aplicaciones cliente, aunque se proporciona cierta información para los redireccionadores de red. Puede encontrar más información sobre oplocks para los redireccionadores de red en los artículos Oplocks del Windows WDK.
Información general
Los bloqueos oportunistas coordinan el almacenamiento en caché de datos y la coherencia entre clientes y servidores y entre varios clientes. Los datos coherentes son los datos que son los mismos en toda la red. Es decir, si los datos son coherentes, se sincronizan los datos en el servidor y todos los clientes.
Los bloqueos oportunistas no son comandos del cliente al servidor. Son solicitudes del cliente al servidor. Desde el punto de vista del cliente, son oportunistas. En otras palabras, el servidor concede estos bloqueos siempre que otros factores hagan posible los bloqueos.
Cuando una aplicación local solicita acceso a un archivo remoto, la implementación de bloqueos oportunistas es transparente para la aplicación. El redirector de red y el servidor implicados abren y cierran automáticamente los bloqueos oportunistas. Sin embargo, los bloqueos oportunistas también se pueden usar cuando una aplicación local solicita acceso a un archivo local y se debe delegar el acceso de otras aplicaciones y procesos para evitar daños en el archivo. En este caso, la aplicación local solicita directamente un bloqueo oportunista desde el sistema de archivos local y almacena en caché el archivo localmente. Cuando se usa de esta manera, el bloqueo oportunista es efectivamente un semáforo administrado por el servidor local y se utiliza principalmente para asegurar la coherencia de datos y la notificación de acceso a archivos.
Antes de usar bloqueos oportunistas en la aplicación, debe estar familiarizado con los modos de acceso y uso compartido de archivos descritos en Crear y abrir archivos.
El número máximo de bloqueos oportunistas simultáneos que puede crear solo está limitado por la cantidad de memoria disponible.
Las aplicaciones locales no deben intentar solicitar bloqueos oportunistas desde servidores remotos. DeviceIoControl devolverá un error si se intenta hacerlo.
Los bloqueos oportunistas son de uso limitado para las aplicaciones. Un uso de bloqueos oportunistas por parte de las aplicaciones en un sistema de archivos local es proporcionar acceso transparente a los archivos. Una aplicación, como un indexador de contenido u otro analizador, puede usar un bloqueo oportunista para recibir una notificación de que otra aplicación intenta acceder a un archivo que la aplicación indexador está procesando. Esto permite que el indexador cierre su identificador y no interfiera con la otra aplicación, evitando provocar violaciones de uso compartido u otros problemas para la otra aplicación. Otro uso práctico de bloqueos oportunistas en una aplicación es probar un redirector de red o un controlador de bloqueo oportunista del servidor.
Normalmente, los sistemas de archivos implementan compatibilidad con bloqueos oportunistas. La mayoría de las aplicaciones dejan la gestión de bloqueos oportunistas a los controladores del sistema de archivos. Cualquier persona que implemente un sistema de archivos debe usar el Kit del sistema de archivos instalable (IFS). Cualquier persona que desarrolle un controlador de dispositivo que no sea un sistema de archivos instalable debe usar el Kit de controladores de Windows (WDK).
Los bloqueos oportunistas y las operaciones asociadas son un superconjunto de la parte de bloqueo oportunista del protocolo Sistema de Archivos de Internet Común (CIFS), un protocolo en borrador. El protocolo CIFS es una versión mejorada del protocolo Bloque de mensajes del servidor (SMB). Para obtener más información, consulte Microsoft SMB Protocol and CIFS Protocol Overview (Información general sobre el protocolo SMB de Microsoft y el protocolo CIFS). El borrador de Internet CIFS identifica explícitamente que una implementación de CIFS puede implementar bloqueos oportunistas al rechazar concederlos.
En esta sección
Los siguientes temas identifican los bloqueos oportunistas:
Tema | Descripción |
---|---|
Caché local | El almacenamiento en caché local de datos es una técnica que se usa para acelerar el acceso de red a los archivos de datos. Implica el almacenamiento en caché de datos en clientes en lugar de en servidores siempre que sea posible. |
Coherencia de datos | Si los datos son coherentes, los datos del servidor y todos los clientes se sincronizan. Un tipo de sistema de software que proporciona coherencia de datos es un sistema de control de revisiones (RCS). |
Cómo realizar una solicitud de bloqueo oportunista | Los bloqueos oportunistas se solicitan abriendo primero un archivo con permisos y marcas adecuados para la aplicación que abre el archivo. Todos los archivos para los que se solicitarán bloqueos oportunistas deben abrirse para operación asincrónica (o superpuesta). |
Respuesta del servidor a solicitudes abiertas en archivos bloqueados | Puede minimizar el impacto que tiene la aplicación en otros clientes y el impacto que tienen en la aplicación concediéndole tanto uso compartido como sea posible, solicitando el nivel de acceso mínimo necesario y usando el bloqueo oportunista menos intrusivo adecuado para la aplicación. |
Tipos de bloqueos oportunistas | Describe los bloqueos de lectura y escritura, lectura y escritura, control de lectura y lectura oportunistas. También se describen los bloqueos oportunistas de nivel 1, nivel 2, lote y filtro heredados. |
Rompiendo bloqueos oportunistas | Romper un bloqueo oportunista es el proceso de degradar el bloqueo que un cliente tiene en un archivo para que otro cliente pueda abrir el archivo, con o sin un bloqueo oportunista. |
Ejemplos de bloqueo oportunista | Diagramas de vistas de tráfico de red para un bloqueo oportunista de nivel 1, un bloqueo oportunista por lotes y un bloqueo oportunista de filtro. |
Operaciones de bloqueo oportunistas | Si una aplicación solicita bloqueos oportunistas, todos los archivos para los que solicita bloqueos deben abrirse para la entrada y salida superpuestas (asincrónicas) mediante la función CreateFile con la marca FILE_FLAG_OVERLAPPED . |
Para obtener más información sobre bloqueos oportunistas, consulte el documento CIFS Internet Draft. Cualquier discrepancia entre este tema y el borrador CIFS de Internet actual debe resolverse en favor del mismo.
Contenido relacionado
Guía de administración de protocolos y acceso a archivos de NetApp