[发明专利]一种基于区块链的数据同步方法及其系统在审
申请号: | 202111637541.1 | 申请日: | 2021-12-29 |
公开(公告)号: | CN114328733A | 公开(公告)日: | 2022-04-12 |
发明(设计)人: | 范路旗;邓超国;徐苗苗 | 申请(专利权)人: | 观源(上海)科技有限公司 |
主分类号: | G06F16/27 | 分类号: | G06F16/27;G06F9/48 |
代理公司: | 北京德崇智捷知识产权代理有限公司 11467 | 代理人: | 金星 |
地址: | 201100 上海市闵*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 区块 数据 同步 方法 及其 系统 | ||
1.一种基于区块链的数据同步方法,其特征在于:包括以下步骤,
步骤1、根据节点的高度,判断该节点是否可以成为本节点同步节点,若该节点是本节点的同步节点,则添加到同步节点列表;
步骤2、合理的选择同步区间的长度,并按照同步区间长度将待同步数据进行分段,形成多个同步区间;并将所有同步区间按照从小到大的顺序添加形成同步区间列表;在同步区间设有最小长度和最大长度,当待同步数据量小于最小长度时,直接将待同步数据构造为一个同步区间,当待同步数据量大于最小长度时,尝试按照同步节点数均匀划分同步区间,如果划分后区间长度大于最大同步区间长度,则按照最大同步区间长度对待同步数据进行划分;否则按照同步节点数均匀划分同步区间;
步骤3、进行数据同步;从同步区间列表中获取待同步区间,并从同步节点列表中获取同步节点,为每一个空闲的同步节点创建一个同步线程,并发的向多个节点同步数据,当发现有节点不满足同步需求时,通知莫不节点管理模块,删除该同步节点;当无可用的空闲节点时,该模块主线程休眠一段时间,之后重新检测是否有可用同步节点。
2.根据权利要求1所述的一种基于区块链的数据同步方法,其特征在于,所述的步骤1中根据节点的高度,判断该节点是否可以成为本节点同步节点的方法是,包括以下几个步骤,
步骤1、若该节点的区块高度是否大于本节点的区块高度,如果不大于,则该节点不能成为本节点的同步节点,按照普通对等节点处理;如果大于,则进入步骤2;
步骤2、判断当前节点是否处于数据同步状态,如果否,则将该节点是本节点的同步节点,并记录该节点的高度为本节点同步的第一目标高度,将该节点添加到本节点的同步节点列表,并标记为空闲状态;如果本节点处于同步状态,则进入步骤3;
步骤4、判断该节点高度是否大于本节点下一同步区间的目标高度,如果不大于,则该节点不能成为本节点的同步节点;即使该节点高度大于本地节点,但是其无法满足本节点的下一次同步需求,所以无需向该节点发起同步;如果大于,则添加该节点到本节点的同步节点列表,并记录该节点为空闲状态。
3.根据权利要求1所述的一种基于区块链的数据同步方法,其特征在于,所述的按照同步区间长度将待同步数据进行分段,形成多个同步区间的方法是,包括以下几个步骤,
步骤1、判断节点区块高度是否大于本节点区块高度,如果不大于,则无需同步,不需要构造同步区间;如果大于则进入步骤2;
步骤2、判断当前节点是否处于同步状态,如果节点处于同步状态,则判断节点高度是否大于本节点的第一同步高度,如果不大于,则无需构造同步区间,如果大于则计算该节点与本节点第一目标高度之间的高度差,并进入步骤3;如果不处于同步状态,那么这个节点为本节点的第一同步节点,设置该节点区块高度为本节点的第一目标高度,计算该节点与本地节点的高度差,并进入步骤4;
步骤3、判断高度差是否大于同步区间最小值,如果不大于,则仅构造一个同步区间,区间的起始高度为本节点的高度加一,区间的结束高度为对方节点的高度,不进行数据的分段同步;如果高度差大于同步区间最小值,则进入步骤4;
步骤4、判断高度差除以同步节点数所得结果是否大于同步区间最大值, 如果大于同步区间最大值,则按区间长度同步区间最大值进行区间划分,如果小于同步区间最大值,则按高度差除以节点数所得长度进行区间划分;
步骤5、将前几步构造的同步区间,添加到当前节点的同步区间列表中;这样待同步的数据就被分割成多个同步区间。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于观源(上海)科技有限公司,未经观源(上海)科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111637541.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:磁浮仿真系统
- 下一篇:一种添加稀土硬质合金及其制备方法
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置