租約 (計算機科學)
![本頁使用了標題或全文手工轉換](http://images.weserv.nl/?url=//upload.wikimedia.org/wikipedia/commons/thumb/c/cd/Zh_conversion_icon_m.svg/35px-Zh_conversion_icon_m.svg.png)
![]() |
在計算機科學中,租約授予其持有者在一定期限內對某些資源的特定權利。由於它是有時間限制的,因此租用是資源序列化鎖的替代方法。
動機
傳統的資源上的鎖一直都處於持有狀態,直到鎖定它的進程顯式釋放它為止。 可能無法釋放鎖的原因包括:
- 客戶端在釋放資源之前失效
- 客戶端在嘗試分配其他資源時陷入僵局
- 客戶被阻止或延遲了不合理的時間
- 客戶可能由於錯誤而忘記了釋放資源
- 釋放資源的請求已丟失
- 資源管理器失效或丟失了對資源的控制
在重置系統之前,所有這些方法都可能會降低重要的可重用資源的可用性。 相比來說,租約的有效期限是有限的,到期後租約會自動過期,從而使資源可供新客戶重新分配。
歷史
術語「租約」(Lease)在1989年由卡里·格雷和大衛·切瑞頓提出[1],但類似的概念(過期令牌[2]和帶有超時的鎖[3] )在之前的系統中已有應用。
問題
租約在分布式系統中通常用於從DHCP地址分配到文件鎖定的應用程序,但是它們本身不是完整的解決方案:
- 必須採取某種方式將到期信息通知租賃持有人,並防止該代理繼續依賴該資源。 通常,這是通過要求所有請求都帶有訪問令牌來完成的 ,如果關聯的租約已過期,則該訪問令牌將無效。
- 如果在租約所有者開始對資源進行操作後撤銷了租約,則這可能會使資源處於受損狀態。 在這種情況下,通常使用原子事務來確保未完成的更新不起作用。
參考文獻
- ^ Gray, Cary; David Cheriton. Leases: An Efficient Fault-Tolerant Mechanism for Distributed File Cache Consistency. Proceedings of the Twelfth ACM Symposium on Operating Systems Principles 23. 1989年12月: 202–210. Bibcode:10.1.1.115.1696 請檢查
|bibcode=
值 (幫助). ISBN 978-0897913386. doi:10.1145/74850.74870. - ^ Burrows, M. Efficient Data Sharing. Technical Report #153, University of Cambridge. 1988年12月.
- ^ Stugis, H; Israel, J. Issues in the design and use of a distributed file system. Operating Systems Review. 1980年7月, 14 (3): 55–69. doi:10.1145/850697.850705.