COPS和COPS - GT系统的深入解析
1. get_trans算法介绍
get_trans算法用于获取数据存储的一致视图,以下是其伪代码:
# @param
# keys
# list of keys
# @param
# ctx_id
# context id
# @return values
# list of values
function get_trans(keys, ctx_id):
# Get keys in parallel (first round)
for k in keys
results[k] = get_by_version(k, LATEST)
# Calculate causally correct versions (ccv)
for k in keys
ccv[k] = max(ccv[k], results[k].vers)
for dep in results[k].deps
if dep.key in keys
ccv[dep.key] = max(ccv[dep.key], dep.vers)
# Get needed ccvs in parallel (second round)
for k in keys
if ccv[k] > results[k].vers
results[k] = get_by_version(k, ccv[k])
# Update the metadata st
超级会员免费看
订阅专栏 解锁全文

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



