商機鎖定

操作鎖定 (也稱為 oplock) 是用戶端在伺服器上檔案上放置的鎖定。 在大部分情況下,用戶端會要求商機鎖定,以便在本機快取資料,進而減少網路流量並改善明顯的回應時間。 具有遠端伺服器之用戶端上的網路重新導向器以及本機伺服器上的用戶端應用程式會使用商機鎖定。

注意

本節中有關商機鎖定的文章主要與用戶端應用程式有關,不過有些資訊是提供給網路重新導向器。 您可以在 Windows WDK 的 Oplocks 文章中找到更多網路重新導向器的 oplock 資訊。

概觀

商機鎖定可協調用戶端和伺服器與多個用戶端之間的資料快取和一致性。 一致的資料是網路上相同的資料。 換句話說,如果資料是一致的,則伺服器上的資料和所有用戶端都會同步處理。

商機鎖定不是用戶端對伺服器的命令。 它們是從用戶端到伺服器的要求。 從用戶端的觀點來看,它們是不透明的。 換句話說,伺服器會在其他因素允許鎖定時授與這類鎖定。

當本機應用程式要求存取遠端檔案時,應用程式的商機鎖定實作對應用程式而言是透明的。 網路重新導向器和涉及的伺服器會自動開啟和關閉商機鎖定。 不過,當本機應用程式要求存取本機檔案,而且必須委派其他應用程式和進程的存取權,以避免檔案損毀時,也可以使用商機鎖定。 在此情況下,本機應用程式會直接從本機檔案系統要求商機鎖定,並在本機快取檔案。 以這種方式使用時,商機鎖定實際上是由本機伺服器管理的號志,主要用於檔案和檔案存取通知中的資料一致性用途。

在應用程式中使用商機鎖定之前,您應該先熟悉 建立和開啟檔案中所述的檔案存取和共用模式。

您可以建立的並行商機鎖定數目上限只會受限於可用的記憶體數量。

本機應用程式不應該嘗試從遠端伺服器要求不透明的鎖定。 如果嘗試這樣做, DeviceIoControl 會傳回錯誤。

機率鎖定對應用程式而言非常有限。 唯一實用的用途是測試網路重新導向器或伺服器機率鎖定處理常式。 一般而言,檔案系統會實作對商機鎖定的支援。 應用程式通常會將商機鎖定管理保留給檔案系統驅動程式。 實作檔案系統的任何人都可以使用 可安裝檔案系統 (IFS) Kit。 任何開發可安裝檔案系統以外的設備磁碟機的人都應該使用 Windows 驅動程式套件 (WDK)

Opportunistic locks and associated operations is a superset of the opportunistic lock 部分 of the Common Internet File System (CIFS) protocol, an Internet Draft. CIFS 通訊協定是伺服器訊息區的增強版本, (SMB) 通訊協定。 如需詳細資訊,請參閱 Microsoft SMB 通訊協定和 CIFS 通訊協定概觀。 CIFS 網際網路草稿會明確識別 CIFS 實作可能會藉由拒絕授與它們來實作商機鎖定。

下列主題會識別商機鎖定。

本節內容

主題 描述
本機快取 資料的本機快取 是用來加速資料檔網路存取的技術。 它牽涉到盡可能快取用戶端上的資料,而不是在伺服器上快取資料。
資料共合 如果資料是一致的,則會同步處理伺服器上的資料和所有用戶端。 提供資料一致性的軟體系統類型是 RCS) (修訂控制系統。
如何要求不透明鎖定 會先開啟具有許可權的檔案,並旗標適用于開啟檔案的應用程式,以要求商機鎖定。 必須針對重迭的 (非同步) 作業開啟所有要要求機率鎖定的檔案。
在鎖定的檔案上開啟要求的伺服器回應 您可以盡可能授與應用程式共用、要求所需的最低存取層級,以及使用適合您應用程式的最低干擾商機鎖定,將應用程式對應用程式的影響降到最低。
Opportunistic Locks 的類型 描述層級 1、層級 2、批次和篩選商機鎖定。
中斷商機鎖定 中斷商機鎖定是將某個用戶端在檔案上擁有的鎖定降級的程式,讓另一個用戶端可以開啟檔案,且不具商機鎖定。
商機鎖定範例 層級 1 商機鎖定、批次商機鎖定和篩選商機鎖定的網路流量檢視圖表。
商機鎖定作業 如果應用程式要求不小心鎖定,則要求鎖定的所有檔案都必須針對重迭的 (非同步) 輸入和輸出開啟,方法是使用 CreateFile 函式搭配 FILE_FLAG_OVERLAPPED 旗標。

如需有關商機鎖定的其他資訊,請參閱 CIFS 網際網路草稿檔。 本主題與目前 CIFS 網際網路草稿之間的任何差異都應該解決,以利 CIFS 網際網路草稿。

另請參閱

NetApp 檔案存取和通訊協定管理指南

Oplocks (WDK)