Oportünistik kilitler

Fırsatçı kilit (oplock olarak da adlandırılır), istemci tarafından sunucuda bulunan bir dosyaya yerleştirilen kilittir. Çoğu durumda, istemci verileri yerel olarak önbelleğe alabilmesi için fırsatçı bir kilit isteğinde bulunur, böylece ağ trafiği azalır ve görünür yanıt süresi iyileştirilir. Fırsatçı kilitler, uzak sunuculara sahip istemcilerdeki ağ yeniden yönlendiricileri ve yerel sunuculardaki istemci uygulamaları tarafından kullanılır.

Uyarı

Bu bölümde bulunan fırsatçı kilitler hakkındaki makaleler, ağ yeniden yönlendiricileri için bazı bilgiler sağlansa da öncelikle istemci uygulamalarıyla ilgilidir. Windows WDK'nin Oplocks makalelerinde ağ yeniden yönlendiricileri için daha fazla oplock bilgisi bulabilirsiniz.

Genel Bakış

Fırsatçı kilitler, istemciler ve sunucular arasında ve birden çok istemci arasında veri önbelleğe alma ve tutarlılığı koordine eder. Tutarlı olan veriler, ağ genelinde aynı olan verilerdir. Başka bir deyişle, veriler tutarlıysa, sunucudaki veriler ve tüm istemciler eşitlenir.

Fırsatçı kilitler, istemci tarafından sunucuya yönelik komutlar değildir. bunlar istemciden sunucuya gönderilen isteklerdir. İstemci açısından bakıldığında, bunlar fırsatçıdır. Başka bir deyişle, diğer faktörler kilitleri mümkün kılması halinde sunucu bu tür kilitler verir.

Yerel bir uygulama uzak bir dosyaya erişim istediğinde, fırsatçı kilitlerin uygulanması uygulama için saydamdır. Ağ yeniden yönlendiricisi ve sunucu, fırsatçı kilitleri otomatik olarak açıp kapatır. Ancak, yerel bir uygulama yerel bir dosyaya erişim istediğinde fırsatçı kilitler de kullanılabilir ve dosyanın bozulmasını önlemek için diğer uygulamalar ve işlemler tarafından erişim yetkisi verilmelidir. Bu durumda, yerel uygulama doğrudan yerel dosya sisteminden fırsatçı bir kilit isteğinde bulunur ve dosyayı yerel olarak önbelleğe alır. Bu şekilde kullanıldığında, fırsatçı kilit etkili bir şekilde yerel sunucu tarafından yönetilen bir semafordur ve çoğunlukla dosya ve dosya erişim bildiriminde veri tutarlılığı amacıyla kullanılır.

Uygulamanızda fırsatçı kilitleri kullanmadan önce , Dosya Oluşturma ve Açma bölümünde açıklanan dosya erişimi ve paylaşım modlarını biliyor olmanız gerekir.

Oluşturabileceğiniz eşzamanlı fırsatçı kilit sayısı yalnızca kullanılabilir bellek miktarıyla sınırlıdır.

Yerel uygulamalar uzak sunuculardan fırsatçı kilitler istemeye çalışmamalıdır. Bunu yapmaya çalışılırsa DeviceIoControl tarafından bir hata döndürülür.

Fırsatçı kilitler uygulamalar için sınırlı kullanımdadır. Yerel dosya sistemindeki uygulamalar tarafından fırsatçı kilitlerin bir kullanımı saydam dosya erişimi sağlamaktır. İçerik dizin oluşturucu veya başka bir tarayıcı gibi bir uygulama, başka bir uygulamanın dizin oluşturucu uygulamasının işlemekte olduğu bir dosyaya erişmeye çalıştığına dair bildirim almak için fırsatçı bir kilit kullanabilir. Bu, dizin oluşturucunun tutamacını kapatmasına ve diğer uygulamanın yolundan çıkmasını ve diğer uygulama için paylaşım ihlallerine veya diğer sorunlara neden olmamasını sağlar. Uygulamada fırsatçı kilitlerin bir diğer pratik kullanımı, bir ağ yeniden yönlendiricisini veya sunucu fırsatçı kilit işleyicisini test etmektir.

Dosya sistemleri genellikle fırsatçı kilitler için destek uygular. Çoğu uygulama, fırsatçı kilit yönetimini dosya sistemi sürücülerine bırakır. Dosya sistemi uygulayan herkes Yüklenebilir Dosya Sistemi (IFS) Setini kullanmalıdır. Yüklenebilir dosya sistemi dışında bir cihaz sürücüsü geliştiren herkes Windows Sürücü Seti'ni (WDK) kullanmalıdır.

Fırsatçı kilitler ve ilişkili işlemler, Ortak İnternet Dosya Sistemi (CIFS) protokolünün fırsatçı kilit bölümünün bir üst kümesidir ve bir İnternet Taslağıdır. CIFS protokolü, Sunucu İleti Bloğu (SMB) protokolünün gelişmiş bir sürümüdür. Daha fazla bilgi için bkz. Microsoft SMB Protokolü ve CIFS Protokolüne Genel Bakış. CIFS İnternet Taslağı, bir CIFS uygulamasının fırsatçı kilitleri vermeyi reddederek uygulayabileceğini açıkça belirtir.

Bu bölümde

Aşağıdaki konular fırsatçı kilitleri tanımlar:

Konu Açıklama
Yerel Önbelleğe Alma Verilerin yerel olarak önbelleğe alınmasını sağlamak, veri dosyalarına ağ erişimini hızlandırmak için kullanılan bir tekniktir. Mümkün olduğunda verileri sunucularda değil istemcilerde önbelleğe almayı içerir.
Veri Tutarlılığı Veriler tutarlıysa, sunucudaki veriler ve tüm istemciler eşitlenir. Veri tutarlılığı sağlayan bir yazılım sistemi türü, bir düzeltme denetim sistemidir (RCS).
Fırsatçı Kilidi Nasıl İsteyeceksiniz Fırsatçı kilitler, önce dosyayı açan uygulamaya uygun izinlere ve bayraklara sahip bir dosya açılarak istenir. Fırsatçı kilitlerin isteneceği tüm dosyalar, çakışan (asenkron) işlem için açılmalıdır.
Kilitli Dosyalarda Açık İsteklere Sunucu Yanıtı Mümkün olduğunca çok paylaşım vererek, gerekli en düşük erişim düzeyini isteyerek ve uygulamanız için uygun en düşük yetkisiz fırsatçı kilidi kullanarak uygulamanızın diğer istemciler üzerindeki etkisini ve uygulamanızın üzerindeki etkisini en aza indirebilirsiniz.
Fırsatçı Kilit Türleri Okuma-Yazma-Tutamacı, Okuma-Yazma, Okuma-Tutamacı ve Okuma fırsat kilitlerini açıklar. Ayrıca eski düzey 1, düzey 2, yığın ve filtre fırsatçı kilitlerini açıklar.
Fırsatçı Kilitleri Kırma Fırsatçı kilidin kırılması, bir istemcinin dosyada sahip olduğu kilidi düşürme işlemidir, böylece başka bir istemci dosyayı fırsatçı bir kilitle veya olmadan açabilir.
Opportunistic Lock Örnekleri Düzey 1 fırsatçı kilidi, toplu fırsatçı kilit ve filtre fırsatçı kilidi için ağ trafiği görünümlerinin diyagramları.
Fırsatçı Kilitleme İşlemleri Uygulama fırsatçı kilitler isterse, kilit isteğinde bulunduğu tüm dosyalar, FILE_FLAG_OVERLAPPED bayrağıyla CreateFile işlevi kullanılarak çakışan (zaman uyumsuz) giriş ve çıkış için açılmalıdır.

Fırsatçı kilitler hakkında ek bilgi için CIFS İnternet Taslağı belgesine bakın. Bu konu ile geçerli CIFS İnternet Taslağı arasındaki tüm tutarsızlıklar CIFS İnternet Taslağı'na uygun olarak çözümlenmelidir.

NetApp Dosya Erişimi ve Protokolleri Yönetim Kılavuzu

Oplocks (WDK)