Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Kunci oportunistik (juga disebut oplock) adalah kunci yang ditempatkan oleh klien pada file yang berada di server. Dalam kebanyakan kasus, klien meminta kunci oportunistik sehingga dapat menyimpan data secara lokal, sehingga mengurangi lalu lintas jaringan dan meningkatkan waktu respons yang jelas. Kunci oportunistik digunakan oleh pengalih jaringan pada klien dengan server jarak jauh, serta oleh aplikasi klien di server lokal.
Nota
Artikel tentang kunci oportunistik yang ditemukan di bagian ini terutama berkaitan dengan aplikasi klien, meskipun beberapa informasi disediakan untuk pengalih jaringan. Anda dapat menemukan lebih banyak informasi oplock untuk pengalih ulang jaringan di artikel Oplocks di Windows WDK.
Gambaran Umum
Kunci oportunistik mengoordinasikan penyimpanan data sementara dan keselarasan antara klien dan server serta di antara beberapa klien. Data yang koheren adalah data yang sama di seluruh jaringan. Dengan kata lain, jika data koheren, data di server dan semua klien disinkronkan.
Kunci oportunistik bukanlah perintah dari klien kepada server. Mereka adalah permintaan dari klien ke server. Dari sudut pandang klien, mereka oportunistik. Dengan kata lain, server memberikan kunci tersebut jika faktor lain memungkinkan kunci tersebut dimungkinkan.
Ketika aplikasi lokal meminta akses ke file jarak jauh, implementasi kunci oportunistik transparan ke aplikasi. Pengalih jaringan dan server yang terlibat membuka dan menutup kunci oportunistik secara otomatis. Namun, kunci oportunistik juga dapat digunakan ketika aplikasi lokal meminta akses ke file lokal, dan akses oleh aplikasi dan proses lain harus didelegasikan untuk mencegah kerusakan file. Dalam hal ini, aplikasi lokal secara langsung meminta kunci oportunistik dari sistem file lokal dan menyimpan file secara lokal. Ketika digunakan dengan cara ini, kunci oportunistik secara efektif merupakan semaphore yang dikelola oleh server lokal, dan terutama digunakan untuk tujuan koherensi data pada file dan pemberitahuan akses terhadap file.
Sebelum menggunakan kunci oportunistik di aplikasi Anda, Anda harus terbiasa dengan akses file dan mode berbagi yang dijelaskan dalam Membuat dan Membuka File.
Jumlah maksimum kunci oportunistik bersamaan yang dapat Anda buat hanya dibatasi oleh jumlah memori yang tersedia.
Aplikasi lokal tidak boleh mencoba meminta kunci oportunistik dari server jarak jauh. Kesalahan akan dikembalikan oleh DeviceIoControl jika upaya dilakukan untuk melakukan ini.
Kunci oportunistik memiliki kegunaan terbatas untuk aplikasi. Salah satu penggunaan kunci oportunistik oleh aplikasi pada sistem file lokal adalah untuk menyediakan akses file transparan. Aplikasi, seperti pengindeks konten atau pemindai lain, dapat menggunakan kunci oportunistik untuk diberi tahu bahwa aplikasi lain mencoba mengakses file yang sedang diproses aplikasi pengindeks. Ini memungkinkan pengindeks untuk menutup handelnya dan menghindari aplikasi lain, serta menghindari konflik berbagi atau masalah lain bagi aplikasi lain. Penggunaan praktis lain dari kunci oportunistik dalam aplikasi adalah menguji pengalih jaringan atau penangan kunci oportunistik server.
Biasanya, sistem file menerapkan dukungan untuk kunci oportunistik. Sebagian besar aplikasi menyerahkan pengelolaan kunci oportunistik kepada driver sistem file. Siapa pun yang menerapkan sistem file harus menggunakan Kit Sistem File (IFS) yang Dapat Diinstal. Siapa pun yang mengembangkan driver perangkat selain sistem file yang dapat diinstal harus menggunakan Windows Driver Kit (WDK).
Kunci oportunistik dan operasi terkait adalah himpunan superset dari bagian kunci oportunistik pada protokol Common Internet File System (CIFS), yang merupakan Draf Internet. Protokol CIFS adalah versi yang disempurnakan dari protokol Blok Pesan Server (SMB). Untuk informasi selengkapnya, lihat Ikhtisar Protokol Microsoft SMB dan Protokol CIFS. Draf Internet CIFS secara eksplisit mengidentifikasi bahwa implementasi CIFS dapat menerapkan kunci oportunistik dengan menolak untuk memberikannya.
Di bagian ini
Topik berikut mengidentifikasi kunci oportunistik:
| Topik | Deskripsi |
|---|---|
| Penyimpanan Sementara Lokal | Penyimpanan lokal data adalah teknik yang digunakan untuk mempercepat akses jaringan ke file data. Ini melibatkan penyimpanan sementara data pada klien daripada di server jika memungkinkan. |
| Koherensi Data | Jika data koheren, data di server dan semua klien disinkronkan. Salah satu jenis sistem perangkat lunak yang menyediakan koherensi data adalah sistem kontrol revisi (RCS). |
| Cara Meminta Kunci Oportunistik | Kunci oportunistik diminta dengan terlebih dahulu membuka file dengan izin dan flag yang sesuai dengan aplikasi yang membuka file. Semua file yang kunci oportunistiknya akan diminta harus dibuka untuk operasi tumpang tindih (asinkron). |
| Respons Server untuk Membuka Permintaan pada File Terkunci | Anda dapat meminimalkan dampak aplikasi Anda terhadap klien lain dan dampak yang mereka miliki pada aplikasi Anda dengan memberikan berbagi sebanyak mungkin, meminta tingkat akses minimum yang diperlukan, dan menggunakan kunci oportunistik yang paling tidak mengganggu yang cocok untuk aplikasi Anda. |
| Jenis Kunci Oportunistik | Menjelaskan kunci oportunistik Read-Write-Handle, Read-Write, Read-Handle, dan Read. Juga menjelaskan kunci oportunistik tingkat 1, tingkat 2, batch, dan filter warisan. |
| Menonaktifkan Kunci Oportunistik | Melepas kunci oportunistik adalah proses menurunkan tingkat kunci yang dimiliki satu klien pada file sehingga klien lain dapat membuka file, dengan atau tanpa kunci oportunistik. |
| Contoh Kunci Oportunistik | Diagram tampilan lalu lintas jaringan untuk kunci oportunistik tingkat 1, kunci oportunistik batch, dan kunci oportunistik filter. |
| Operasi Kunci Oportunistik | Jika aplikasi meminta kunci oportunistik, semua file yang meminta kunci harus dibuka untuk input dan output yang tumpang tindih (asinkron) dengan menggunakan fungsi CreateFile dengan bendera FILE_FLAG_OVERLAPPED . |
Untuk informasi tambahan tentang kunci oportunistik, lihat dokumen CIFS Internet Draft. Setiap perbedaan antara konsep ini dan Draf Internet CIFS saat ini harus diselesaikan untuk kepentingan Draf Internet CIFS.