[发明专利]基于区块链的链上链下同步方法在审
申请号: | 202110474930.0 | 申请日: | 2021-04-29 |
公开(公告)号: | CN113204550A | 公开(公告)日: | 2021-08-03 |
发明(设计)人: | 洪薇;洪健;李京昆;刘文思 | 申请(专利权)人: | 湖北央中巨石信息技术有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/242;G06F16/27 |
代理公司: | 郑州欧凯专利代理事务所(普通合伙) 41166 | 代理人: | 陈凌 |
地址: | 430000 湖北省武汉市武昌区中北路109*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 区块 链上链下 同步 方法 | ||
1.基于区块链的链上链下同步方法,其特征在于,实现方法包括以下步骤:
S1:将需要上链数据存放在链下数据库中;
S2:建立一个上链任务,其功能是以一个固定的扫描间隔从链下数据库中有序按批次读取数据,检查点存储为数据库的主键,初始为空;
S3:在步骤S2的基础上,对数据库记录的主键进行排序读取,检查是否存在比检查点大的记录,若存在则读取一个批次的数据,否则说明未发现新增数据,等待下一个扫描间隔继续扫描;
S4:在步骤S3的基础上,逐条计算一个批次数据里每条记录的哈希,并将主键作为链上唯一标识与整条记录哈希一起上链;
S5:在步骤S4的基础上,把每个批次的数据上链完成后,在本地记录这个批次的最后一条记录的主键,作为检查点;
S6:在步骤S5的基础上,重复步骤S3到步骤S5的过程,最终,在下一个扫描间隔内数据库所有数据都会上链;
S7:在步骤S6的基础上,建立一个验真任务,其功能是以一个固定的扫描间隔从链上有序按批次读取数据,检查点存储为链上标识,初始为空;
S8:在步骤S7的基础上,对链上标识的主键进行排序读取,检查是否存在比检查点大的记录,若存在则读取一个批次的链上数据,否则说明历史数据已检查完毕,检查点置为空,并等待下一个扫描间隔从头开始扫描;
S9:在步骤S8的基础上,逐条读取一个批次的链上数据标识对应的数据库记录,并计算数据库记录的哈希,与链上标识对应的哈希做比对,若哈希一致,说明数据库历史记录没有过更新,若不一致则说明数据库已更新或删除;
S10:在步骤S9的基础上,将数据库已更新的记录进行步骤S4过程,使链下记录保持与链上记录的哈希一致,将每个批次里链下已更新的记录上链后,记录此批次最后一个标识为检查点;
S11:在步骤S10的基础上,重复步骤S8到步骤S10的过程,最终,在下一个扫描间隔内数据库所有已更新或删除的数据都会上链。
2.根据权利要求1所述的基于区块链的链上链下同步方法,其特征在于,所述步骤S2中上链任务包括创建连接对象、创建命令对象、打开连接对象、在命令对象中执行SQL语句和关闭连接对象。
3.根据权利要求2所述的基于区块链的链上链下同步方法,其特征在于,所述创建连接对象用于开启程序与数据库之间的连接,以在链下数据库与客户端应用程序之间移动数据,所述创建命令对象用于执行命令,并从数据库返回结果,所述打开连接对象用于把命令信息连接到数据库,所述在命令对象中执行SQL语句用于循序地读取数据,所述关闭连接对象用于关闭执行后的命令,以减少系统资源对象。
4.根据权利要求2所述的基于区块链的链上链下同步方法,其特征在于,所述在命令对象中执行SQL语句的工作步骤包括:语法分析和语义分析查询、逻辑查询计划生成以及物理查询计划,从而得出SQL语句所需要的结果集。
5.根据权利要求1所述的基于区块链的链上链下同步方法,其特征在于,所述步骤S4中计算数据里每条记录的哈希用于对一个批次的数据进行排序并连接,从而保证了数据的每个分片有序。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于湖北央中巨石信息技术有限公司,未经湖北央中巨石信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110474930.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:微波煅烧生产微晶α-氧化铝的生产工艺
- 下一篇:一种层叠片材切割装置