[发明专利]数据同步方法、装置、计算机可读存储介质及计算设备在审
申请号: | 202010000475.6 | 申请日: | 2020-01-02 |
公开(公告)号: | CN111159302A | 公开(公告)日: | 2020-05-15 |
发明(设计)人: | 沈敖 | 申请(专利权)人: | 杭州时戳信息科技有限公司 |
主分类号: | G06F16/27 | 分类号: | G06F16/27;G06F16/22;G06F16/18 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 310007 浙江省杭*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据 同步 方法 装置 计算机 可读 存储 介质 计算 设备 | ||
本申请涉及一种数据同步方法、装置、计算机可读存储介质及计算设备。所述方法包括:响应于区块链网络中的任意一个节点生成区块,对所述区块进行事件解析,得到事件日志;所述事件日志记录了所述区块的所有事件;所述事件的上下文记录了所述事件对应的区块数据;根据每一个所述事件的上下文将对应的区块数据同步到区块数据库中;将所述事件日志保存到事件数据库中。采用本方案能够减少bug隐患,提高代码的可维护性。
技术领域
本申请涉及区块链技术领域,特别是涉及一种数据同步方法、装置、计算机可读存储介质及计算设备。
背景技术
区块链账本通过每次向后追加区块的方式来对之前的数据进行修改,这种方式保证了每一个区块具有不可篡改性,使得数据账本更加安全可靠,但同时也导致了数据检索上的困难。例如,如果想要查询一个地址下有多少余额,必须从头扫描一次区块链上所有的数据,于是产生了像区块链浏览器这样的应用。区块链浏览器主要通过与区块链数据保持同步,并将数据存放入可以方便检索的关系型或者非关系型数据库中。
但区块链在追加区块的过程中经常会发生分叉,分叉意味着区块需要进行向后回滚。区块链浏览器若想要与区块链数据保持同步,必须相应处理回滚的问题。目前,市面上的区块链浏览器在同步数据的技术实现上,对于正常的同步和分叉时的回滚,分别开发了两套代码,这不仅增加了开发成本,而且,在每次对正常同步进行功能扩展后,回滚的代码也需做相应的变更,容易带来bug隐患,同时存在代码不易维护等问题。
发明内容
基于此,有必要针对上述技术问题,提供一种数据同步方法、装置、计算机可读存储介质及计算设备,能够减少bug隐患,提高代码的可维护性。
一种数据同步方法,所述数据同步方法包括:
响应于区块链网络中的任意一个节点生成区块,对区块进行事件解析,得到事件日志;所述事件日志记录了所述区块的所有事件;所述事件的上下文记录了所述事件对应的区块数据;
根据每一个所述事件的上下文将对应的区块数据同步到区块数据库中;
将事件日志保存到事件数据库中。
在其中一个实施例中,该数据同步方法还包括:
响应于区块链发生区块回滚,从所述事件数据库中查找发生回滚的区块对应的事件日志;
根据发生回滚的区块对应的事件日志确定所述发生回滚的区块对应的所有事件;
根据每一个确定的事件对所述区块数据库中对应的区块数据进行回滚操作。
在其中一个实施例中,所述响应于区块链网络中的任意一个节点生成区块,对所述区块进行事件解析,得到事件日志,包括:
响应于区块链网络中的任意一个节点生成区块,对区块进行事件解析,根据事件的类型将事件日志的所有事件映射到事件树中,以使事件日志的事件与事件树的树结点一一对应。
在其中一个实施例中,所述根据每一个所述事件的上下文将对应的区块数据同步到区块数据库中,包括:
根据事件的类型将事件日志的所有事件映射到事件树中,以使所述事件日志的事件与所述事件树的树结点一一对应;
对事件树进行遍历,根据事件树的树结点对应的事件的上下文,将区块数据同步到区块数据库中。
在其中一个实施例中,所述将事件日志保存到事件数据库中,包括:
将事件日志持久化到事件数据库中。
在其中一个实施例中,所述事件数据库与所述区块数据库独立保存。
在其中一个实施例中,区块事件的上下文包括区块高度;则数据同步方法还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州时戳信息科技有限公司,未经杭州时戳信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010000475.6/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置