双重控制是一种操作方式,它将更新 PMDB 的过程分成两个阶段:
制定者(任何具有 ADMIN 属性的用户)输入更新 PMDB 的一个或多个命令。 为事务指定一个唯一的 ID 号,并将其置于一个文件中,等待在执行前被处理。
检查者(不是同一用户,而是具有 ADMIN 属性的任何其他用户)锁定事务中的命令、检查命令并授权或拒绝这些命令。 如果授权事务,则将在 PMDB 中执行这些命令。 如果拒绝事务,则将删除事务,并且不更新 PMDB。 检查者无法授权事务中的某些命令而拒绝其他命令;必须将事务作为一个整体进行处理。
注意:只有 find 和 show 命令不需要检查者的授权。
使用 sepmd 实用程序中的参数,制定者可以列出、检索和编辑或者删除未处理的事务;而检查者可以锁定事务,以便授权或拒绝它们,并且可以解除事务锁定,以便在稍后进行处理或者由不同的检查者处理。
当 sepmdd 后台程序收到 start_transaction 命令时,该程序会向子进程发送一个唯一的编号。 该子进程还使用此标识号来标记任何其他命令,该编号将添加到新事务中,并保留在 sepmdd 后台程序的内存中。 当 sepmdd 收到 end_transaction 命令时,将调用授权算法。 授权算法将检查事务中没有与事务制定者相关的命令,以及该命令中没有已被正在等待执行前处理的另一事务锁定的对象。
对于不同事务中的相同对象,您只有处理事务后才能进行使用。 如果检查通过,则会锁定关联对象,为事务分配唯一的序列号,并将数据保存到文件中。 每个事务都保存在不同的文件中。
注意:有关 sepmd 实用程序或 sepmdd 后台程序的详细信息,请参阅《参考指南》。
版权所有 © 2013 CA。
保留所有权利。
|
|