目的:对于有经常需要进行读取,少量进行修改的重要数据,为了避免单点故障和简化数据同步备份问题,可以使用私有区块链技术进行数据的一致性保证和多点同步。
要点:
适合的场景: 很多重要数据,都具有多读少修改的特点。 如用户名/密码的登录口令管理,基于时间的双因子认证信息。(增加例子)
区块链的核心技术:
1.基于
HASH的链式结构
,保证修改必须对链上的所有数据重新进行计算
2.基于
时间的单向性
,如果携带时戳,则可以通过时戳保证数据的时间次序
3.
共识
。本技术采用的是私有链,默认所有的节点是可信的(可以通过节点证书的方法实现可信)。共识采用的是
所有人可信
,
最后修改数据有效
的策略。采用此项策略的考虑:需要修改的操作一般只会连接到一个节点,这样修改可以通过区块链的同步技术扩散到所有的节点,最终形成共识。如果出现同时连接到两个节点并且都进行了修改,则其时间不会一样,会同时出现在区块链上,但修改会以最后的修改为准。
4.数据修改策略:
共识后修改
和
先修改再共识
。我们采用
先修改再共识
的方法。好处,弱同步要求,在网络不好时,可以继续操作,但最后会进行同步;效率高,不需要完全同步后返回。缺点:可能会出现数据不是客户想要的最终数据,这点可以通过客户单点修改登录的技术实现。另外,数据错误是偶发和可修复的。
实现方法:
websocket
采用websocket技术。
(未完)