Hash Tree的大体思路是将所有数据存储成树状结构,每个节点的Hash是其所有子节点的Hash的Hash,叶子节点的Hash是其内容的Hash。这样一旦某个节点发生变化,其Hash的变化会迅速传播到根节点。需要同步的系统只需要不断查询跟节点的hash,一旦有变化,顺着树状结构就能够在logN级别的时间找到发生变化的内容,马上同步。
附件为Python代码,记录一下,整理来源:
http://blog.daviesliu.net/2008/04/24/sync/
本文介绍了Hash Tree的数据结构及其实现原理,该结构通过树状形式存储数据,并利用Hash值来快速检测和同步变化内容。当数据发生改变时,其Hash值的变化能够迅速反映到根节点,从而实现高效同步。
Hash Tree的大体思路是将所有数据存储成树状结构,每个节点的Hash是其所有子节点的Hash的Hash,叶子节点的Hash是其内容的Hash。这样一旦某个节点发生变化,其Hash的变化会迅速传播到根节点。需要同步的系统只需要不断查询跟节点的hash,一旦有变化,顺着树状结构就能够在logN级别的时间找到发生变化的内容,马上同步。
附件为Python代码,记录一下,整理来源:
http://blog.daviesliu.net/2008/04/24/sync/
1047

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