(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202211437340.1
(22)申请日 2022.11.17
(71)申请人 山东区块链研究院
地址 250000 山东省济南市高新区经十路
7000号汉峪金融商务中心七区4号楼
1901-1室
(72)发明人 王娟 张国艳 戴振利 齐庆庆
李若寒
(74)专利代理 机构 济南圣达知识产权代理有限
公司 372 21
专利代理师 黄海丽
(51)Int.Cl.
G06F 16/27(2019.01)
G06F 16/2455(2019.01)
G06F 11/10(2006.01)
(54)发明名称
基于检查点的区块链数据同步方法及系统
(57)摘要
本发明公开了基于检查点的区块链数据同
步方法及系统, 应用于区块链节点, 包括: 当前区
块链节点在区块数达到检查点长度的整数倍后,
当前区块链节点将自身的最新状态发送给区块
链的其他节 点; 当前区块链节 点接收到其他节点
的最新状态数据后, 根据哈希 值和最高区块号判
断当前区块链节点是否落后于其他节 点; 当前区
块链节点将落后的区块, 按照设定区间划分为若
干个同步请求包, 将同步请求包发送给区块链的
其他节点; 其他节点从自身节 点上查询出相应的
数据, 将查询到的数据打包后发送给当前区块链
节点; 当前区块链节点收到打包数据后, 对当前
打包数据进行校验, 如果校验状态一致, 则将打
包数据中的区块落盘, 并更新当前区块链节点的
状态。
权利要求书2页 说明书5页 附图1页
CN 115495531 A
2022.12.20
CN 115495531 A
1.基于检查 点的区块链数据同步方法, 其特 征是, 应用于区块链 节点, 包括:
当前区块链节点在区块数达到检查点长度的整数倍后, 当前区块链节点将自身的最新
状态发送给区块链的其他节点; 同时, 当前区块链节点也接 收其他节点发来的最新状态数
据;
当前区块链节点接收到其他节点的最新状态数据后, 根据哈希值和最高区块号判断当
前区块链 节点是否落后于其 他节点;
当前区块链节点将落后的区块, 按照设定区间划分为若干个同步请求包, 将同步请求
包发送给区块链的其他节点; 其他节 点接收到同步请求包以后, 根据同步请求包的请求, 从
自身节点上查询出相应的数据, 将查询到的数据打包后发送给当前区块链 节点;
当前区块链节点收到打包数据后, 将打包数据加入缓存, 并对缓存中的数据进行排序,
并对当前打包数据进 行校验, 如果校验状态一致, 则将打包数据中的区块落盘, 并更新当前
区块链节点的状态。
2.如权利要求1所述的基于检查点的区块链数据同步方法, 其特征是, 最新状态, 包括:
当前区块链 节点当前最高区块 号以及当前区块链 节点所有区块的哈希值。
3.如权利要求1所述的基于检查点的区块链数据同步方法, 其特征是, 根据哈希值和最
高区块号判断当前区块链 节点是否落后于其 他节点, 具体包括:
进行哈希值对比和最高区块号对比, 如果当前区块链节点的哈希值跟其他节点的哈希
值不一致, 或者当前区块链节点的最高区块号小于其他节点的最高区块号, 则 说明当前区
块链节点自身状态落后于其 他节点, 启动数据同步 流程。
4.如权利要求1所述的基于检查点的区块链数据同步方法, 其特征是, 所述当前区块链
节点接收到其他节点的最新状态数据后, 根据哈希值和最高区块号判断当前区块链节点是
否落后于其他节点, 还包括: 如果当前区块链节 点自身状态与其他节点是同步的, 则将最新
状态数据落盘。
5.如权利要求1所述的基于检查点的区块链数据同步方法, 其特征是, 所述同步请求
包, 包括: 待同步数据的总区间数T、 当前同步数据的区间数编号C、 自身的最高区块号和最
新状态数据;
所述将同步请求包发送给区块链的其他节点, 是指: 将同步请求包按区间划分顺序依
次发送给区块链的其 他节点。
6.如权利要求1所述的基于检查点的区块链数据同步方法, 其特征是, 所述将查询到的
数据打包后发送给当前区块链节点, 其中, 被打包的数据, 包括: 其他区块链节点所有区块
的哈希值、 查询的区块数据、 区块链节点的最新状态、 同步请求包中的待同步数据的总段数
和当前同步数据的段 数编号。
7.如权利要求1所述的基于检查点的区块链数据同步方法, 其特征是, 对缓存中的数据
进行排序, 是指, 按照反馈信息中的待同步数据的总段数和当前同步数据的段数编号, 对缓
存中的数据进行排序。
8.如权利要求1所述的基于检查点的区块链数据同步方法, 其特征是, 所述对当前打包
数据进行校验, 如果校验状态 一致, 则将打包数据中的区块落盘, 并更新当前区块链节点的
状态, 具体包括:
(1) 判断是否收到2f+1个的第1个区间编号的区块, 如果否, 则继续等待, 如果是, 则将权 利 要 求 书 1/2 页
2
CN 115495531 A
2第1个区间编号的区块补齐到当前区块链节点中, 计算当前区块链节点的哈希 值, 如果当前
区块链节点的哈希值与打包数据中哈希值 一致, 则进入 (2) ; 其中, f为 正整数;
(2) 判断是否收到2f+1个的第i个区间编号的数据, 如果否, 则继续等待, 如果是, 则进
入 (3) ; 其中, i 为正整数, i大于等于2且小于等于设定的区间总数M;
(3) 判断是否已处理完成第i ‑1个区间编号的数据, 如果否, 继续等待, 如果是, 则进入
(4) ;
(4) 将打包数据中的区块补入当前区块链节点中, 如果打包数据中的区块哈希值与当
前区块链节点的区块哈希值一致, 则表示校验状态一致, 将打包数据中的区块落盘, 并更新
当前区块链 节点的状态; 返回 (2) , 继续对后续区间编号的数据进行处 理。
9.如权利要求1所述的基于检查点的区块链数据同步方法, 其特征是, 所述方法, 还包
括: 在数据同步期间, 当前区块链节 点如果收到节点共识请求, 则参与区块链的节点共识过
程, 并将共识得到的区块进行缓存; 在数据同步结束后, 再将共识缓存的区块进行落盘, 完
成当前区块链 节点的状态更新。
10.基于检查 点的区块链数据同步系统, 其特 征是, 包括: 若干个区块链 节点;
当前区块链节点在区块数达到检查点长度的整数倍后, 当前区块链节点将自身的最新
状态发送给区块链的其他节点; 同时, 当前区块链节点也接 收其他节点发来的最新状态数
据;
当前区块链节点接收到其他节点的最新状态数据后, 根据哈希值和最高区块号判断当
前区块链 节点是否落后于其 他节点;
当前区块链节点将落后的区块, 按照设定区间划分为若干个同步请求包, 将同步请求
包发送给区块链的其他节点; 其他节 点接收到同步请求包以后, 根据同步请求包的请求, 从
自身节点上查询出相应的数据, 将查询到的数据打包后发送给当前区块链 节点;
当前区块链节点收到打包数据后, 将打包数据加入缓存, 并对缓存中的数据进行排序,
并对当前打包数据进 行校验, 如果校验状态一致, 则将打包数据中的区块落盘, 并更新当前
区块链节点的状态。权 利 要 求 书 2/2 页
3
CN 115495531 A
3
专利 基于检查点的区块链数据同步方法及系统
文档预览
中文文档
9 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共9页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 人生无常 于 2024-03-18 00:50:18上传分享