Vesta系统:仓库内部机制与增量构建解析
仓库内部操作
在仓库内部,获取主仓库权限的操作有着一系列严谨的步骤:
1. 权限与网络检查(A1) :首先要检查请求用户是否具备必要的访问权限,同时确认能否通过网络访问当前主仓库。若不满足条件,则操作终止。
2. 请求标识符记录(A2) :选择一个唯一的请求标识符,并将其记录在对象的本地副本上。
3. 请求主仓库权限转移(A3) :向当前主仓库请求让出主权限,并提供请求标识符。此步骤中,当前主仓库会进行如下原子操作:
- 权限检查(C1) :检查请求用户是否有必要的访问权限,若没有则拒绝让出主权限。
- 授予标识符生成(C2) :形成一个授予标识符。若对象是可追加目录,则将其子列表追加到请求标识符后;否则直接使用请求标识符,并记录在对象的本地副本上。
- 对象类型变更(C3) :将对象的类型从主类型更改为非主类型,并记录新主仓库的位置。不过,这个位置只是一个提示,因为主权限可能会在后续转移到其他仓库。
- 返回授予标识符(C4) :将授予标识符返回给调用者。
4. 主仓库拒绝处理(A4) :若当前主仓库拒绝让出主权限,擦除请求标识符并终止操作。
5. 对象状态更新(A5) :原子性地填充授予标识符中列出的任何缺失子项(将其创建为非主存根),将对象的类型
超级会员免费看
订阅专栏 解锁全文
36

被折叠的 条评论
为什么被折叠?



