ClearQuestV7.1:从乐观锁定到悲观锁定的转变

0 下载量 68 浏览量 更新于2024-08-27 收藏 211KB PDF 举报
"本文主要介绍了ClearQuest V7.1中新增的悲观锁定机制,作为对乐观锁定策略的补充,以解决多人同时编辑同一记录时可能导致的信息冲突问题。乐观锁定允许用户自由编辑,但在提交时检查冲突,而悲观锁定则在编辑前即锁定记录,防止他人同时修改。 1. 乐观锁定 在ClearQuest早期版本中,采用的是乐观锁定策略。用户可以自由编辑记录,无需预先锁定,只有在尝试“Apply”或“Commit”时才会检查是否有其他用户同时进行了修改。如果存在冲突,第二个提交的用户将无法完成操作,需要重新编辑。这种方法简化了用户的操作流程,但可能导致用户在投入大量工作后才发现无法保存更改。 2. 悲观锁定 为了提供更好的并发控制,ClearQuest V7.1引入了悲观锁定。悲观锁定要求用户在开始编辑记录之前先进行锁定,确保在编辑期间其他用户无法进行同样的修改。如果用户A锁定了一条记录,用户B试图编辑时将收到提示,表明记录已被锁定。这降低了因并发编辑导致的冲突,但也增加了用户需要额外的锁定和解锁操作。 2.1 悲观锁定的特点 - 只适用于Feature Level 7的数据库。 - 需要通过Hook脚本进行设置。 - 锁定在“Apply”,“Revert”或超时时自动释放。 - 超级用户可以强制解除锁定,普通用户可解除自己的锁定。 - 可通过“Lock_by”域查询被锁定的记录。 3. 设置悲观锁定 悲观锁定在ClearQuest V7.1客户端中不可直接启用,需要通过管理员进行配置。例如,管理员可以通过创建Hook脚本来设定特定记录的锁定规则,如当用户Alice开始编辑时,自动锁定记录,其他用户如Bob则需等待Alice完成编辑并解锁后才能进行操作。 悲观锁定在某些场景下提供了更强的数据保护,确保了记录更新的顺序性和一致性,但同时也可能增加用户交互的复杂性。选择哪种锁定策略取决于项目的具体需求和团队的工作模式。在实施悲观锁定时,应充分考虑其对团队协作的影响,确保所有成员都理解和适应这一变化。"