sequenceDiagram
participant u as 用户
participant l as 血缘视图
participant cache as 缓存
participant cal as 计算
u->>l: 首次打开、强制刷新视图
l->>cache: 判断是否存在缓存
alt 当前模板血缘存在缓存
else 不存在缓存
cache ->> cal: 计算模板血缘
cal ->> cache: 返回血缘结构
cache ->> cache: 缓存 5 min
end
cache ->> l: 返回血缘结构
l ->> u: 渲染展示血缘
sequenceDiagram
participant u as 用户
participant l as 血缘视图
participant cache as 缓存
participant cal as 计算
u->>l: 编辑中打开视图
l->>l: 判断是否已经变更
alt 前台已经变更
l ->> cal: 计算模板血缘
cal ->> cache: 返回血缘结构
cache ->> cache: 缓存 5 min
else 前台未曾变更

l->>cache: 判断是否存在缓存
alt 当前模板血缘存在缓存
else 不存在缓存
cache ->> cal: 计算模板血缘
cal ->> cache: 返回血缘结构
cache ->> cache: 缓存 5 min
end

end
cache ->> l: 返回血缘结构
l ->> u: 渲染展示血缘