[发明专利]本地区块同步的检验方法、装置、设备及存储介质有效
申请号: | 201810965979.4 | 申请日: | 2018-08-23 |
公开(公告)号: | CN109165229B | 公开(公告)日: | 2020-06-05 |
发明(设计)人: | 温泉;张晴 | 申请(专利权)人: | 京东数字科技控股有限公司 |
主分类号: | G06F16/23 | 分类号: | G06F16/23;G06F21/64 |
代理公司: | 北京同立钧成知识产权代理有限公司 11205 | 代理人: | 王征;刘芳 |
地址: | 100176 北京市大兴区经济*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 本地 区块 同步 检验 方法 装置 设备 存储 介质 | ||
1.一种基于区块链的本地区块同步的检验方法,其特征在于,包括:
获取当前区块链区块高度、以及检测起点高度;
依次遍历本地数据库中存储的本地区块中从所述检测起点高度到所述当前区块链区块高度之间的区块;
若检测到存在丢失区块,则从所述区块链获取该丢失区块,并存储在本地区块相应的区块高度处。
2.根据权利要求1所述的方法,其特征在于,所述获取当前区块链区块高度、以及检测起点高度,具体包括:
以第一预设时间间隔周期性获取所述区块链的当前区块链区块高度;
以上一周期检测终点高度作为所述检测起点高度;其中在第一周期中以第一个区块作为所述检测起点高度。
3.根据权利要求2所述的方法,其特征在于,所述依次遍历本地数据库中存储的本地区块中从所述检测起点高度到所述当前区块链区块高度之间的区块,具体包括:
对所述本地区块中与所述检测起点高度对应的区块进行检测;
若检测区块未丢失则将所述检测起点高度计数加1;
循环执行直至所述检测起点高度达到所述当前区块链区块高度。
4.根据权利要求1所述的方法,其特征在于,所述依次遍历本地数据库中存储的本地区块中从所述检测起点高度到所述当前区块链区块高度之间的区块,包括:
在依次遍历过程中,解析本地区块的任一区块以及区块链中对应区块并进行比对,若比对结果不一致则判断为丢失区块。
5.根据权利要求1-4任一项所述的方法,其特征在于,还包括:
接收所述区块链在新增区块时发送的同步通知,将新增区块同步到所述本地数据库中;或者
以第二预设时间间隔周期性获取所述区块链的当前区块链区块高度和本地区块高度,若本地区块高度小于当前区块链区块高度,则从所述区块链获取当前区块链区块高度与本地区块高度之间的区块,同步到所述本地数据库中。
6.根据权利要求5所述的方法,其特征在于,在区块同步过程中还包括:
在所述本地数据库为每一本地区块建立唯一索引,以标识其在本地区块中的区块高度。
7.一种基于区块链的本地区块同步的检验装置,其特征在于,包括:
获取模块,用于获取当前区块链区块高度、以及检测起点高度;
处理模块,用于依次遍历本地数据库中存储的本地区块中从所述检测起点高度到所述当前区块链区块高度之间的区块;
同步模块,用于若检测到存在丢失区块,则从所述区块链获取该丢失区块,并存储在本地区块相应的区块高度处。
8.根据权利要求7所述的装置,其特征在于,所述获取模块用于:
以第一预设时间间隔周期性获取所述区块链的当前区块链区块高度;
以上一周期检测终点高度作为所述检测起点高度;其中在第一周期中以第一个区块作为所述检测起点高度。
9.根据权利要求8所述的装置,其特征在于,所述处理模块具体用于:
对所述本地区块中与所述检测起点高度对应的区块进行检测;
若检测区块未丢失则将所述检测起点高度计数加1;
循环执行直至所述检测起点高度达到所述当前区块链区块高度。
10.根据权利要求7所述的装置,其特征在于,所述处理模块用于:
在依次遍历过程中,解析本地区块的任一区块以及区块链中对应区块并进行比对,若比对结果不一致则判断为丢失区块。
11.根据权利要求7-10任一项所述的装置,其特征在于,所述同步模块还用于:
接收所述区块链在新增区块时发送的同步通知,将新增区块同步到所述本地数据库中;或者
以第二预设时间间隔周期性获取所述区块链的当前区块链区块高度和本地区块高度,若本地区块高度小于当前区块链区块高度,则从所述区块链获取当前区块链区块高度与本地区块高度之间的区块,同步到所述本地数据库中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于京东数字科技控股有限公司,未经京东数字科技控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810965979.4/1.html,转载请声明来源钻瓜专利网。