结合校验和?

时间:2015-07-05 22:10:23

标签: java checksum

为了检测不同的信息,我需要跟踪修改。该机制只需要检测是否发生分歧。

一个想法是使用修改计数器以及正在压缩的修改操作的校验和。

所以oldChecksum + checksum(操作)=> newChecksum。我们的想法是,不太可能及时进行一系列不同的操作,一次又一次地以相同的修改计数产生相同的校验和。

这是一个很好的方法吗?

组合两个校验和以获得仍然保持校验和属性的新校验和的最佳方法是什么?

我甚至想要大肆宣传UUID来标记每个操作,而不是使用校验和。这是一个选择吗?

更新

根据要求,这是对实际问题的解释。该信息是数据存储。操作只是对数据的修改。修改由主人发送。如果主服务器失败,则新主服务器将接管。如果数据存储遇到副本具有不同主服务(例如,拆分大脑)并在合并时接收不同操作的情况,则必须废弃和替换那些发散的副本。为了检测那些我需要一个机制并且使用每个操作的校验和的组合是足够的我想。

算法将使用最后n次操作的多个校验和来减少重合的不可靠性(你不喜欢在这里使用概率概念)。

PS:如果有人知道一种方法来检测不同的复制品,而不仅仅是降低未检测到但发散状态的可能性,我想知道它。我所知道并提出的所有概念都使用了序列状态(时间,计数器,哈希)的某种组合,就像减少未检测到的碰撞的机会一样。有什么想法吗?

0 个答案:

没有答案