1

我有一个类似树的数据结构:

  • 我有一份工单清单
  • 每个工单都有几个操作
  • 每个操作都有几个角色
  • 每个角色都有几个资源节点

每个工单、操作、角色和资源节点都有许多属性。

我有这样的数据结构的两个实例:主和从。我希望定期更新从站并使其与主站同步。我的问题是:我怎样才能真正快速地做到这一点?

问题是:

  1. 这两个实例很大
  2. 这两个实例位于不同的网络上,通过低吞吐量网络连接
  3. 速度是关键参数

[编辑] 4. 我无权访问 master 上的事务日志,只有此时 master 的状态(我只有 SQL 视图的读取权限,仅此而已)。[/编辑]

我当时的想法是通过将节点 ID、节点属性和子节点的哈希值(显然是自下而上)哈希在一起,在两边创建 Merkle 树。

然后通过以下方式比较树木:

  1. 通过网络传输顶级哈希列表
  2. 确定不相等的节点
  3. 递归地重复不匹配节点的过程

因此,我得到了一个不同步的节点列表,然后我更新了它们。

我在这里看到的问题是,每次比较实例时我都必须重新创建两个 Merkle 树,这会耗费时间。

所以,我想知道是否有任何其他算法可以尝试?

4

0 回答 0