CN111432009B - 一种区块链数据的同步方法、装置及电子设备、存储介质 - Google Patents

一种区块链数据的同步方法、装置及电子设备、存储介质 Download PDF

Info

Publication number
CN111432009B
CN111432009B CN202010234819.XA CN202010234819A CN111432009B CN 111432009 B CN111432009 B CN 111432009B CN 202010234819 A CN202010234819 A CN 202010234819A CN 111432009 B CN111432009 B CN 111432009B
Authority
CN
China
Prior art keywords
data
tree
target
interval
node device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010234819.XA
Other languages
English (en)
Other versions
CN111432009A (zh
Inventor
李宁
薄辰龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
OneConnect Financial Technology Co Ltd Shanghai
Original Assignee
OneConnect Financial Technology Co Ltd Shanghai
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by OneConnect Financial Technology Co Ltd Shanghai filed Critical OneConnect Financial Technology Co Ltd Shanghai
Priority to CN202010234819.XA priority Critical patent/CN111432009B/zh
Publication of CN111432009A publication Critical patent/CN111432009A/zh
Priority to PCT/CN2020/104847 priority patent/WO2021196463A1/zh
Application granted granted Critical
Publication of CN111432009B publication Critical patent/CN111432009B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2255Hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/275Synchronous replication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/278Data partitioning, e.g. horizontal or vertical partitioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例公开了一种区块链数据的同步方法、装置及电子设备、存储介质,其中所述方法包括:从第一连接节点设备获取区块链数据对应的数据总树,并基于数据总树中目标总树叶子节点的值,从第二连接节点设备获取目标总树叶子节点对应的目标区间数据树;基于目标区间数据树中不同的目标区间树叶子节点的值从新增节点设备对应的各个连接节点设备并行获取至少一个目标分片数据,将各个目标分片数据整合为目标区间数据树对应的目标块区间的区间数据,进而获取各个块区间的区间数据,并对各个块区间的区间数据进行整合,得到区块链数据,完成区块链数据的同步。采用这样的方式,有利于提高同步区块链数据的速度。

Description

一种区块链数据的同步方法、装置及电子设备、存储介质
技术领域
本申请涉及计算机技术领域,尤其涉及一种区块链数据的同步方法、装置及电子设备、存储介质。
背景技术
随着区块链运行,区块高度的逐渐增大,区块链数据也会越来越大,以太坊为例,截至2019年10月,块高度达到了8700000,全节点数据超过了2TB,而且仍在快速增长。对于新加入区块链网络的新增节点设备来说,同步历史区块链数据就需要数月,即便高配置机器,仍然需要数周时间,普通机器甚至都追赶不上数据区块的生成速度。因此,如何加快新增节点设备同步区块链中历史区块数据的速度,成为一个亟待解决的问题。
发明内容
本发明实施例提供了一种区块链数据的同步方法、装置及电子设备、存储介质,有利于提高新增节点设备同步区块链数据的速度。
一方面,本发明实施例提供了一种区块链数据的同步方法,所述方法应用于区块链网络中的新增节点设备,所述方法包括:
当新增节点设备加入区块链网络时,从第一连接节点设备获取区块链数据对应的数据总树,并基于所述数据总树中目标总树叶子节点的值,从第二连接节点设备获取所述目标总树叶子节点对应的目标区间数据树,所述区块链网络中的各个节点设备均存储有对所述区块链数据中的各个块区间对应的区间数据进行分片处理后得到的各个区间数据树,以及基于所述各个区间数据树生成的所述区块链数据对应的数据总树,所述数据总树中的各个叶子节点与所述各个区间数据树一一对应;
基于所述目标区间数据树中不同的目标区间树叶子节点的值从所述新增节点设备对应的各个连接节点设备并行获取至少一个目标分片数据,其中,各个所述目标分片数据为所述不同的目标区间树叶子节点各自对应的分片数据;
将各个所述目标分片数据整合为所述目标区间数据树对应的目标块区间的区间数据;
获取所述各个块区间的所述区间数据,并对所述各个块区间的所述区间数据进行整合,得到所述区块链数据;
其中,所述第一连接节点设备和所述第二连接节点设备均为所述各个连接节点设备中的任一个,所述目标总树叶子节点为所述数据总树包括的各个总树叶子节点中的一个或者多个,所述目标区间树叶子节点为所述目标区间数据树包括的各个区间树叶子节点中一个或者多个。
在一个实施例中,一个所述数据总树对应一个区块链根哈希,所述基于所述数据总树中目标总树叶子节点的值,从第二连接节点设备获取所述目标总树叶子节点对应的目标区间数据树之前,还可以从所述各个连接节点设备获取所述数据总树对应的区块链根哈希,并对比所述各个连接节点设备返回的所述区块链根哈希;若对比得到预设数量阈值的所述区块链根哈希相同,则将所述相同的区块链根哈希确定为区块链指纹数据;判断从所述第一连接节点设备获取的所述数据总树对应的区块链根哈希与所述区块链指纹数据是否匹配,若匹配,则触发执行所述基于所述数据总树中目标总树叶子节点的值,从第二连接节点设备获取所述目标总树叶子节点对应的目标区间数据树的步骤。
在一个实施例中,所述基于所述目标区间数据树中不同的目标区间树叶子节点的值从所述新增节点设备对应的各个连接节点设备并行获取至少一个目标分片数据之前,还可以对获取到的所述目标总树叶子节点对应的目标区间数据树进行校验;若校验通过,则触发执行所述基于所述目标区间数据树中不同的目标区间树叶子节点的值从所述新增节点设备对应的各个连接节点设备并行获取至少一个目标分片数据的步骤。
在一个实施例中,一个所述区间数据树对应一个区间根哈希,所述对获取到的所述目标总树叶子节点对应的目标区间数据树进行校验的具体实施方式为:对获取到的所述目标区间数据树中各个叶子节点的值进行整合处理,并对所述整合处理得到的字符串进行哈希计算,得到所述字符串对应的哈希;将所述字符串对应的哈希与所述目标区间数据树对应的区间根哈希进行对比;若对比得到所述字符串对应的哈希与所述目标区间数据树对应的区间根哈希相同,则确定对所述目标总树叶子节点对应的目标区间数据树校验通过。
在一个实施例中,所述数据总树中的各个叶子节点的值为所述各个叶子节点各自对应的区间数据树的区间根哈希,所述若对比得到所述字符串对应的哈希与所述目标区间数据树对应的区间根哈希相同,则确定对所述目标总树叶子节点对应的目标区间数据树校验通过的具体实施方式为:若对比得到所述字符串对应的哈希与所述目标区间数据树对应的区间根哈希相同,则在所述数据总树中获取所述目标区间数据树对应的叶子节点的值;对比所述目标区间数据树对应的区间根哈希与所述目标区间数据树对应的叶子节点的值,若对比得到所述目标区间数据树对应的区间根哈希与所述目标区间数据树对应的叶子节点的值相同,则确定对所述目标总树叶子节点对应的目标区间数据树校验通过。
在一个实施例中,所述基于所述目标区间数据树中不同的目标区间树叶子节点的值从所述新增节点设备对应的各个连接节点设备并行获取至少一个目标分片数据的具体实施方式为:向所述新增节点设备对应的各个连接节点设备并行发送不同的分片数据获取请求,每个所述分片数据获取请求包括所述目标区间数据树中不同的目标区间树叶子节点的值,以使所述各个连接节点设备基于各自接收到的所述分片数据获取请求中的目标区间树叶子节点的值获取所述不同的目标区间树叶子节点各自对应的目标分片数据;接收所述各个连接节点设备返回的所述不同的目标区间树叶子节点各自对应的目标分片数据。
在一个实施例中,所述基于所述目标区间数据树中不同的目标区间树叶子节点的值从所述新增节点设备对应的各个连接节点设备并行获取至少一个目标分片数据的具体实施方式为:从所述新增节点设备对应的各个连接节点设备获取网际互连协议IP列表;连接所述IP列表对应的各个目标节点设备,并基于所述目标区间数据树中不同的目标区间树叶子节点的值与所述各个目标节点设备交换分片数据,以获取所述不同的目标区间树叶子节点各自对应的目标分片数据。
另一方面,本发明实施例提供了一种区块链数据的同步装置,所述同步装置配置于区块链网络中的新增节点设备,包括:
通信模块,用于当新增节点设备加入区块链网络时,从第一连接节点设备获取区块链数据对应的数据总树,并基于所述数据总树中目标总树叶子节点的值,从第二连接节点设备获取所述目标总树叶子节点对应的目标区间数据树;
所述通信模块,还用于基于所述目标区间数据树中不同的目标区间树叶子节点的值从所述新增节点设备对应的各个连接节点设备并行获取至少一个目标分片数据,其中,各个所述目标分片数据为所述不同的目标区间树叶子节点各自对应的分片数据;
处理模块,用于将各个所述目标分片数据整合为所述目标区间数据树对应的目标块区间的区间数据,获取所述各个块区间的所述区间数据,并对所述各个块区间的所述区间数据进行整合,得到所述区块链数据。
再一方面,本发明实施例提供了一种电子设备,包括处理器、存储器和通信接口,所述处理器、存储器和通信接口相互连接,其中,所述存储器用于存储支持终端执行上述方法的计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如下步骤:通过通信接口从第一连接节点设备获取区块链数据对应的数据总树,并基于所述数据总树中目标总树叶子节点的值,通过通信接口从第二连接节点设备获取所述目标总树叶子节点对应的目标区间数据树,所述区块链网络中的各个节点设备均存储有对所述区块链数据中的各个块区间对应的区间数据进行分片处理后得到的各个区间数据树,以及基于所述各个区间数据树生成的所述区块链数据对应的数据总树,所述数据总树中的各个叶子节点与所述各个区间数据树一一对应;通过通信接口703基于所述目标区间数据树中不同的目标区间树叶子节点的值从所述新增节点设备对应的各个连接节点设备并行获取至少一个目标分片数据,其中,各个所述目标分片数据为所述不同的目标区间树叶子节点各自对应的分片数据;将各个所述目标分片数据整合为所述目标区间数据树对应的目标块区间的区间数据;获取所述各个块区间的所述区间数据,并对所述各个块区间的所述区间数据进行整合,得到所述区块链数据。
又一方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述区块链数据的同步方法。
本发明实施例,当新增节点设备加入区块链网络时,可以从第一连接节点设备获取区块链数据对应的数据总树,并基于数据总树中目标总树叶子节点的值,从第二连接节点设备获取目标总树叶子节点对应的目标区间数据树。进一步地,可以基于目标区间数据树中不同的目标区间树叶子节点的值从新增节点设备对应的各个连接节点设备并行获取至少一个目标分片数据,将各个目标分片数据整合为目标区间数据树对应的目标块区间的区间数据。进而可以获取上述各个块区间的区间数据,并对各个块区间的区间数据进行整合,得到区块链数据,完成区块链数据的同步。采用这样的方式,有利于提高新增节点设备同步区块链数据的速度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种区块链的结构示意图;
图2是本发明实施例提供的一种区块链网络的架构示意图;
图3a是本发明实施例提供的一种区块链数据进行分片处理的示意图;
图3b是本发明实施例的一种区间数据树的结构示意图;
图3c是本发明实施例的一种数据总树的结构示意图;
图4是本发明实施例的一种区块链数据的同步方法的流程示意图;
图5是本发明实施例的另一种区块链数据的同步方法的流程示意图;
图6是本发明实施例的一种区块链数据的同步装置的结构示意图;
图7是本发明实施例的一种电子设备的结构示意图。
具体实施方式
区块链(Block Chain)是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证数据不可篡改和不可伪造的分布式账本。多个独立的分布式节点(即区块链网络的新增节点设备)保存相同的记录。区块链技术实现了去中心化,成为了可信的数字资产存储、转移和交易的基石。
以图1所示的区块链的结构示意图为例,每当有新的数据需要写入区块链,这些数据会汇总到一个区块(block)中,添加在已有区块链的末端,通过共识算法保证每个节点新添加的区块是完全相同的。每个区块内记录了若干条交易记录,同时包含了前一个区块的哈希(哈希)值,所有区块就是通过这种方式保存前一个区块中的哈希,按顺序相连,组成了区块链。区块链中下一个区块的区块头中会存储前一个区块的哈希,当前一个区块中的交易数据发生变化时,本区块的哈希也会随之改变,因此通过上传至区块链网络中的交易数据难以被篡改,在区块链上进行交易实现了交易过程的公开透明,提高了交易数据的可靠性。
为了更好的理解本发明实施例公开的一种区块链数据的同步方法,下面首先对本发明实施例适用的区块链系统进行描述。
请参见图2,图2是本发明实施例公开的一种区块链网络的架构示意图。区块链网络包括多个节点设备,该区块链网络可以包括新增节点设备200,以及该新增节点设备200对应的连接节点设备201和连接节点设备202。
在一个实施例中,当区块链网络中的各个节点设备检测到当前区块高度为n(大于0的整数,例如1000)的整数倍时,可以基于预设分片规则对自身磁盘上的历史区块链数据进行分片处理,得到历史区块链数据对应的至少一个分片,每n个数据区块对应一个块区间。进一步地,可以计算各分片的哈希。其中,当前区块高度是指区块链网络维护的区块链中最新区块的序列号。
示例性地,参见图3a所示,基于预设分片规则对磁盘上的区块数据文件进行分片处理的具体实施方式可以为:区块链网络中的各个节点设备可以每隔n个数据区块,将磁盘上的历史区块链数据分片,自上次分片结束的标记位开始,每1MB一片,并计算每片的哈希。
进一步地,上述节点设备可以将各分片的哈希按顺序组成当前n个数据区块对应块区间的2层区间数据树,并将该区间数据树保存在本地,作为区间分片索引,方便查找。示例性地,该区间数据树如图3b所示,一个区间数据树对应一个区间根哈希,区间数据树中的每一个叶子节点(以下简称区间树叶子节点)的值为对对应的分片数据进行哈希计算,得到的哈希,每一个区间树叶子节点与分片数据一一对应。节点设备可以通过区间数据树中各个区间树叶子节点的值查询与各个区间树叶子节点唯一对应的分片数据。
采用与上述相似的流程,上述节点设备可以得到历史区块链数据中各个块区间对应的区间数据树。进一步地,可以将各个区间数据树对应的区间根哈希以2层MerkleTree结构存储,得到历史区块链数据对应的数据总树,以及该数据总树对应的区块链根哈希,并保存本地。
示例性地,该历史区块链数据对应的数据总树如图3c所示,一个数据总树对应一个区块链根哈希。数据总树中的每一个叶子节点(以下简称总树叶子节点)的值为对应区间数据树的区间根哈希,节点设备可以通过数据总树中各个总树树叶子节点的值查询与各个总树叶子节点唯一对应的区间数据树。
进一步地,在一个实施例中,当新增节点设备加入区块链网络时,可以从第一连接节点设备获取区块链数据对应的数据总树,并基于数据总树中目标总树叶子节点的值,从第二连接节点设备获取目标总树叶子节点对应的目标区间数据树。进一步地,可以基于目标区间数据树中不同的目标区间树叶子节点的值从新增节点设备对应的各个连接节点设备并行获取至少一个目标分片数据,其中,各个目标分片数据为不同的目标区间树叶子节点各自对应的分片数据,将各个目标分片数据整合为目标区间数据树对应的目标块区间的区间数据。进而可以获取上述各个块区间的区间数据,并对各个块区间的区间数据进行整合,得到区块链数据,完成区块链数据的同步。采用这样的方式,有利于提高新增节点设备同步区块链数据的速度。
可以理解的是,本发明实施例描述的区块链网络是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定,本领域普通技术人员可知,随着系统架构的演变和新业务场景的出现,本发明实施例提供的技术方案对于类似的技术问题,同样适用。
再请参见图4,是本发明实施例的一种区块链数据的同步方法的流程示意图,本发明实施例的所述方法可以由区块链网络的新增节点设备来执行。本发明实施例的所述方法包括如下步骤。
S401:当新增节点设备加入区块链网络时,可以从第一连接节点设备获取区块链数据对应的数据总树,并基于数据总树中目标总树叶子节点的值,从第二连接节点设备获取目标总树叶子节点对应的目标区间数据树。
其中,上述第一连接节点设备和第二连接设备均为新增节点设备对应的各个连接节点设备中的任一个,第一连接节点设备和第二连接设备可以相同或者不同,目标总树叶子节点可以为数据总树包括的各个总树叶子节点中的一个或者多个。
在一个实施例中,区块链网络中的各个节点设备均存储有对区块链数据中的各个块区间对应的区间数据进行分片处理后得到的各个区间数据树,以及基于各个区间数据树生成的区块链数据对应的数据总树,该数据总树中的各个叶子节点与各个区间数据树一一对应。其中,该区间数据树和数据总树的详细生成过程,可以参见上述实施例中对图3a~图3c的具体描述,此处不再赘述。
进一步地,在一个实施例中,由于一个数据总树对应一个区块链根哈希,新增节点可以向各个连接节点设备获取数据总树对应的区块链根哈希,并对比各个连接节点设备返回的区块链根哈希,若对比得到预设数量阈值区块链根哈希相同,则将相同的区块链根哈希确定为区块链指纹数据。
示例性地,假设新增节点设备对应的连接节点设备为1000,预设数量阈值为1000*2/3,新增节点设备加入区块链网络后,可以向上述1000个连接节点请求区块链根哈希,当有超过1000*2/3的区块链根哈希一致时,采用此区块链根哈希为区块链指纹数据。
进一步地,可以判断从第一连接节点设备获取的数据总树对应的区块链根哈希与上述区块链指纹数据是否匹配,若判断出从第一连接节点设备获取的数据总树对应的区块链根哈希与区块链指纹数据匹配,则触发执行基于数据总树中目标总树叶子节点的值,从第二连接节点设备获取目标总树叶子节点对应的目标区间数据树的步骤。
或者,若判断出从第一连接节点设备获取的数据总树对应的区块链根哈希与区块链指纹数据不匹配,则可以从其他连接节点设备获取数据总树,直至获取到的数据总树对应的区块链根哈希与上述区块链指纹数据匹配。
其中,作为一种可行的实施方式,可以对比从第一连接节点设备获取的数据总树对应的区块链根哈希与区块链指纹数据,若对比得到两者相同,则可以确定两者匹配。反之,则两者不匹配。
在一个实施例中,新增节点设备可以向第二连接节点设备请求全部或者部分区间数据树(即上述目标区间数据树),具体地,新增节点设备可以向第二连接节点发送区间数据树获取请求,该区间数据树获取请求携带有目标区间数据树对应目标总树叶子节点的值。第二连接节点可以查找目标总树叶子节点的值对应的目标区间数据树,并将目标区间数据树返回至新增节点设备。
示例性地,目标总树叶子节点的值为目标数据区间数据树对应的区间根哈希,假设数据总树中的第二个叶子节点为目标总树叶子节点,该目标叶子节点的值是h002,新增节点设备可以将h002携带在发送至第二连接节点设备的区间数据树获取请求中,第二连接节点设备收到该请求后,可以查找h002对应的目标区间数据树,并将目标区间数据树返回至新增节点设备。
S402:基于目标区间数据树中不同的目标区间树叶子节点的值从新增节点设备对应的各个连接节点设备并行获取至少一个目标分片数据。其中,各个目标分片数据为不同的目标区间树叶子节点各自对应的分片数据,目标区间树叶子节点为目标区间数据树包括的各个区间树叶子节点中一个或者多个。
在一个实施例中,新增节点设备可以基于指示信息对目标区间数据树中的各个区间树叶子节点进行划分,划分至同一区间的一个或者多个区间树叶子节点作为目标区间树叶子节点。
例如,假设目标区间数据树中包括10个叶子节点,可以基于指示信息将第1~5个区间树叶子节点确定为一种目标区间树叶子节点,将第5~7个区间树叶子节点确定为另一种目标区间树叶子节点,将第7~10个区间树叶子节点确定为又一种目标区间树叶子节点。
进一步地,可以将不同的目标区间树叶子节点的值携带在不同的分片数据获取请求中,各个连接节点设备接收到分片数据获取请求后,可以查询各个目标区间树叶子节点的值对应的目标分片数据。采用这样的方式,新增节点设备可以向所有连接节点设备并发请求不同的分片数据,采用并发获取分片数据的方式,数据获取速度快。除此之外,还减轻了节点设备的同步压力,采用多节点设备同步,而非向单一节点设备请求分片数据。
示例性地,假设新增节点设备需要请求从第1001片到第2000片,总共1000片分片数据,它可以会向连接节点设备1请求第1001到第1010总共10片分片数据,向连接节点2请求第1011到第1020共10片分片数据,以此类推。
S403:将各个目标分片数据整合为目标区间数据树对应的目标块区间的区间数据。
S404:获取各个块区间的区间数据,并对各个块区间的区间数据进行整合,得到区块链数据。
在一个实施例中,新增节点设备可以检测目标块区间中的所有分片数据是否均已下载,若是,则可以将获取到的所有目标分片数据整合为目标块区间的区间数据。若否,则可以查询目标块区间中缺失的分片数据,并获取缺失的分片数据,直至目标块区间中的所有分片数据获取完毕。采用与获取目标块区间的区间数据相同的方式,可以获取区块链数据中各个块区间的区间数据,并对各个块区间的区间数据进行整合,得到区块链数据。
在一个实施例中,当新增节点设备加入区块链网络时,可以检测当前区块高度是否大于n,若是,则触发执行上述从第一连接节点设备获取区块链数据对应的数据总树,并基于数据总树中目标总树叶子节点的值,从第二连接节点设备获取目标总树叶子节点对应的目标区间数据树的步骤。若否,则可以采用块同步方式同步区块链数据。
本发明实施例,当新增节点设备加入区块链网络时,可以从第一连接节点设备获取区块链数据对应的数据总树,并基于数据总树中目标总树叶子节点的值,从第二连接节点设备获取目标总树叶子节点对应的目标区间数据树。进一步地,可以基于目标区间数据树中不同的目标区间树叶子节点的值从新增节点设备对应的各个连接节点设备并行获取至少一个目标分片数据,将各个目标分片数据整合为目标区间数据树对应的目标块区间的区间数据。进而可以获取上述各个块区间的区间数据,并对各个块区间的区间数据进行整合,得到区块链数据,完成区块链数据的同步。采用这样的方式,有利于提高新增节点设备同步区块链数据的速度。
再请参见图5,是本发明实施例的另一种区块链数据的同步方法的流程示意图,本发明实施例的所述方法可以由区块链网络的新增节点设备来执行。本发明实施例的所述方法包括如下步骤。
S501:当新增节点设备加入区块链网络时,可以从第一连接节点设备获取区块链数据对应的数据总树,并基于数据总树中目标总树叶子节点的值,从第二连接节点设备获取目标总树叶子节点对应的目标区间数据树。其中,步骤S501的具体实施方式可以参见上述实施例中步骤S401的相关描述,此处不再赘述。
S502:对获取到的目标总树叶子节点对应的目标区间数据树进行校验,若校验通过,则基于目标区间数据树中不同的目标区间树叶子节点的值从新增节点设备对应的各个连接节点设备并行获取至少一个目标分片数据。
在一个实施例中,一个区间数据树对应一个区间根哈希,新增节点设备对获取到的目标总树叶子节点对应的目标区间数据树进行校验的具体实施方式可以为:对获取到的目标区间数据树中各个叶子节点的值进行整合处理,并对整合处理得到的字符串进行哈希计算,得到字符串对应的哈希。进一步地,可以将字符串对应的哈希与目标区间数据树对应的区间根哈希进行对比,若对比得到字符串对应的哈希与目标区间数据树对应的区间根哈希相同,则确定对目标总树叶子节点对应的目标区间数据树校验通过。
其中,在一个实施例中,对获取到的目标区间数据树中各个叶子节点的值进行整合处理可以为:依次将目标区间数据树中各个叶子节点的值拼接成一个字符串。示例性地,假设目标区间数据树如图3b,可以从左至右将目标区间数据树中各个叶子节点的值(即各分片数据对应的哈希)拼接成一个字符串。
在一个实施例中,数据总树中的各个叶子节点的值为各个叶子节点各自对应的区间数据树的区间根哈希,若新增节点设备对比得到字符串对应的哈希与目标区间数据树对应的区间根哈希相同,则可以在数据总树中获取目标区间数据树对应的叶子节点的值,并对比目标区间数据树对应的区间根哈希与目标区间数据树对应的叶子节点的值,若对比得到目标区间数据树对应的区间根哈希与所述目标区间数据树对应的叶子节点的值相同,则确定对目标总树叶子节点对应的目标区间数据树校验通过。
或者,若对比得到目标区间数据树对应的区间根哈希与所述目标区间数据树对应的叶子节点的值不相同,则确定对目标总树叶子节点对应的目标区间数据树校验不通过。则可以向处第二连接节点设备以外的其他节点设备获取新的目标区间数据树,直至对获取到的新的目标区间数据树校验通过。
S503:将各个目标分片数据整合为目标区间数据树对应的目标块区间的区间数据。
S504:获取各个块区间的区间数据,并对各个块区间的区间数据进行整合,得到区块链数据。其中,步骤S503~步骤S504的具体实施方式可以参见上述实施例中步骤S403~步骤S404的相关描述,此处不再赘述。
在一个实施例中,基于目标区间数据树中不同的目标区间树叶子节点的值从所述新增节点设备对应的各个连接节点设备并行获取所述不同的目标区间树叶子节点各自对应的目标分片数据的具体实施方式可以为:向新增节点设备对应的各个连接节点设备并行发送不同的分片数据获取请求,每个分片数据获取请求包括目标区间数据树中不同的目标区间树叶子节点的值,以使各个连接节点设备基于各自接收到的分片数据获取请求中的目标区间树叶子节点的值获取不同的目标区间树叶子节点各自对应的目标分片数据。进一步地,新增节点设备可以接收各个连接节点设备返回的不同的目标区间树叶子节点各自对应的目标分片数据。
在一个实施例中,基于目标区间数据树中不同的目标区间树叶子节点的值从所述新增节点设备对应的各个连接节点设备并行获取所述不同的目标区间树叶子节点各自对应的目标分片数据的具体实施方式还可以为:从新增节点设备对应的各个连接节点设备获取网际互连协议IP列表,连接IP列表对应的各个目标节点设备,并基于目标区间数据树中不同的目标区间树叶子节点的值与各个目标节点设备交换分片数据,以获取不同的目标区间树叶子节点各自对应的目标分片数据。采用这样的方式,可以向IP列表对应的各个目标节点设备交换各自拥有缺少的分片数据,进行交换分片数据,加快分片数据的下载速度。
其中,作为一种可行的实施方式,新增节点设备可以基于目标区间数据树对应于总树的节点位置,各分片数据对应于目标区间数据树的叶子节点位置,对比自身已有的分片数据,从而确定出自身缺少的分片数据,进而与IP列表对应的各个目标节点设备交换这部分缺少的分片数据。有效利用了各节点的资源,加快了同步速度。
可以理解的是,分片数据的交换可以与上述基于目标区间数据树中不同的目标区间树叶子节点的值从所述新增节点设备对应的各个连接节点设备并行获取所述不同的目标区间树叶子节点各自对应的目标分片数据的流程并行,从而提高分片数据的获取效率。
本发明实施例中,可以对获取到的目标总树叶子节点对应的目标区间数据树进行校验,若校验通过,则基于目标区间数据树中不同的目标区间树叶子节点的值从新增节点设备对应的各个连接节点设备并行获取至少一个目标分片数据,有利于提高所获取目标分片数据的准确度。
本发明实施例还提供了一种计算机存储介质,该计算机存储介质中存储有程序指令,该程序指令被执行时,用于实现上述实施例中描述的相应方法。
再请参见图6,是本发明实施例的一种区块链数据的同步装置的结构示意图,本发明实施例的所述区块链数据的同步装置可以设置在区块链网络的新增节点设备中。
本发明实施例的所述装置的一个实现方式中,所述装置包括如下结构。
通信模块60,用于当新增节点设备加入区块链网络时,从第一连接节点设备获取区块链数据对应的数据总树,并基于所述数据总树中目标总树叶子节点的值,从第二连接节点设备获取所述目标总树叶子节点对应的目标区间数据树;
所述通信模块60,还用于基于所述目标区间数据树中不同的目标区间树叶子节点的值从所述新增节点设备对应的各个连接节点设备并行获取至少一个目标分片数据,其中,各个所述目标分片数据为所述不同的目标区间树叶子节点各自对应的分片数据;
处理模块61,用于将各个所述目标分片数据整合为所述目标区间数据树对应的目标块区间的区间数据,获取所述各个块区间的所述区间数据,并对所述各个块区间的所述区间数据进行整合,得到所述区块链数据。
在一个实施例中,一个所述数据总树对应一个区块链根哈希,所述处理模块61,还用于从所述各个连接节点设备获取所述数据总树对应的区块链根哈希,并对比所述各个连接节点设备返回的所述区块链根哈希;若对比得到预设数量阈值的所述区块链根哈希相同,则将所述相同的区块链根哈希确定为区块链指纹数据;判断从所述第一连接节点设备获取的所述数据总树对应的区块链根哈希与所述区块链指纹数据是否匹配,若匹配,则触发执行所述基于所述数据总树中目标总树叶子节点的值,从第二连接节点设备获取所述目标总树叶子节点对应的目标区间数据树的步骤。
在一个实施例中,处理模块61,还用于对获取到的所述目标总树叶子节点对应的目标区间数据树进行校验;若校验通过,则触发执行所述基于所述目标区间数据树中不同的目标区间树叶子节点的值从所述新增节点设备对应的各个连接节点设备并行获取至少一个目标分片数据的步骤。
在一个实施例中,一个所述区间数据树对应一个区间根哈希,处理模块61,具体用于对获取到的所述目标区间数据树中各个叶子节点的值进行整合处理,并对所述整合处理得到的字符串进行哈希计算,得到所述字符串对应的哈希;将所述字符串对应的哈希与所述目标区间数据树对应的区间根哈希进行对比;若对比得到所述字符串对应的哈希与所述目标区间数据树对应的区间根哈希相同,则确定对所述目标总树叶子节点对应的目标区间数据树校验通过。
在一个实施例中,所述数据总树中的各个叶子节点的值为所述各个叶子节点各自对应的区间数据树的区间根哈希,处理模块61,具体用于若对比得到所述字符串对应的哈希与所述目标区间数据树对应的区间根哈希相同,则在所述数据总树中获取所述目标区间数据树对应的叶子节点的值;对比所述目标区间数据树对应的区间根哈希与所述目标区间数据树对应的叶子节点的值,若对比得到所述目标区间数据树对应的区间根哈希与所述目标区间数据树对应的叶子节点的值相同,则确定对所述目标总树叶子节点对应的目标区间数据树校验通过。
在一个实施例中,处理模块61,具体用于通过通信模块60向所述新增节点设备对应的各个连接节点设备并行发送不同的分片数据获取请求,每个所述分片数据获取请求包括所述目标区间数据树中不同的目标区间树叶子节点的值,以使所述各个连接节点设备基于各自接收到的所述分片数据获取请求中的目标区间树叶子节点的值获取所述不同的目标区间树叶子节点各自对应的目标分片数据;接收所述各个连接节点设备返回的所述不同的目标区间树叶子节点各自对应的目标分片数据。
在一个实施例中,处理模块61,具体用于从所述新增节点设备对应的各个连接节点设备获取网际互连协议IP列表;通过通信模块60连接所述IP列表对应的各个目标节点设备,并基于所述目标区间数据树中不同的目标区间树叶子节点的值与所述各个目标节点设备交换分片数据,以获取所述不同的目标区间树叶子节点各自对应的目标分片数据。
再请参见图7,是本发明实施例的一种电子设备的结构示意图,该电子设备可以为上述区块链网络中的新增节点设备,本发明实施例的所述电子设备包括供电模块等结构,并包括处理器701、存储装置702以及通信接口703。所述处理器701、存储装置702以及通信接口703之间可以交互数据,由处理器701实现相应的区块链数据的同步功能。
所述存储装置702可以包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储装置702也可以包括非易失性存储器(non-volatilememory),例如快闪存储器(flash memory),固态硬盘(solid-state drive,SSD)等;所述存储装置702还可以包括上述种类的存储器的组合。
所述处理器701可以是中央处理器701(central processing unit,CPU)。在一个实施例中,所述处理器701还可以是图形处理器701(Graphics Processing Unit,GPU)。所述处理器701也可以是由CPU和GPU的组合。在所述电子设备中,可以根据需要包括多个CPU和GPU进行相应的区块链数据的同步。在一个实施例中,所述存储装置702用于存储程序指令。所述处理器701可以调用所述程序指令,实现如本发明实施例中上述涉及的各种方法。
在第一个可能的实施方式中,所述电子设备的所述处理器701,调用所述存储装置702中存储的程序指令,用于当检测到电子设备加入区块链网络时,通过通信接口703从第一连接节点设备获取区块链数据对应的数据总树,并基于所述数据总树中目标总树叶子节点的值,通过通信接口703从第二连接节点设备获取所述目标总树叶子节点对应的目标区间数据树,所述区块链网络中的各个节点设备均存储有对所述区块链数据中的各个块区间对应的区间数据进行分片处理后得到的各个区间数据树,以及基于所述各个区间数据树生成的所述区块链数据对应的数据总树,所述数据总树中的各个叶子节点与所述各个区间数据树一一对应;通过通信接口703基于所述目标区间数据树中不同的目标区间树叶子节点的值从所述新增节点设备对应的各个连接节点设备并行获取至少一个目标分片数据,其中,各个所述目标分片数据为所述不同的目标区间树叶子节点各自对应的分片数据;将各个所述目标分片数据整合为所述目标区间数据树对应的目标块区间的区间数据;获取所述各个块区间的所述区间数据,并对所述各个块区间的所述区间数据进行整合,得到所述区块链数据;其中,所述第一连接节点设备和所述第二连接节点设备均为所述各个连接节点设备中的任一个,所述目标总树叶子节点为所述数据总树包括的各个总树叶子节点中的一个或者多个,所述目标区间树叶子节点为所述目标区间数据树包括的各个区间树叶子节点中一个或者多个。
在一个实施例中,一个所述数据总树对应一个区块链根哈希,所述处理模块61,还用于从所述各个连接节点设备获取所述数据总树对应的区块链根哈希,并对比所述各个连接节点设备返回的所述区块链根哈希;若对比得到预设数量阈值的所述区块链根哈希相同,则将所述相同的区块链根哈希确定为区块链指纹数据;判断从所述第一连接节点设备获取的所述数据总树对应的区块链根哈希与所述区块链指纹数据是否匹配,若匹配,则触发执行所述基于所述数据总树中目标总树叶子节点的值,从第二连接节点设备获取所述目标总树叶子节点对应的目标区间数据树的步骤。
在一个实施例中,处理器701,还用于对获取到的所述目标总树叶子节点对应的目标区间数据树进行校验;若校验通过,则触发执行所述基于所述目标区间数据树中不同的目标区间树叶子节点的值从所述新增节点设备对应的各个连接节点设备并行获取至少一个目标分片数据的步骤。
在一个实施例中,一个所述区间数据树对应一个区间根哈希,处理器701,具体用于对获取到的所述目标区间数据树中各个叶子节点的值进行整合处理,并对所述整合处理得到的字符串进行哈希计算,得到所述字符串对应的哈希;将所述字符串对应的哈希与所述目标区间数据树对应的区间根哈希进行对比;若对比得到所述字符串对应的哈希与所述目标区间数据树对应的区间根哈希相同,则确定对所述目标总树叶子节点对应的目标区间数据树校验通过。
在一个实施例中,所述数据总树中的各个叶子节点的值为所述各个叶子节点各自对应的区间数据树的区间根哈希,处理器701,具体用于若对比得到所述字符串对应的哈希与所述目标区间数据树对应的区间根哈希相同,则在所述数据总树中获取所述目标区间数据树对应的叶子节点的值;对比所述目标区间数据树对应的区间根哈希与所述目标区间数据树对应的叶子节点的值,若对比得到所述目标区间数据树对应的区间根哈希与所述目标区间数据树对应的叶子节点的值相同,则确定对所述目标总树叶子节点对应的目标区间数据树校验通过。
在一个实施例中,处理器701,具体用于通过通信接口703向所述新增节点设备对应的各个连接节点设备并行发送不同的分片数据获取请求,每个所述分片数据获取请求包括所述目标区间数据树中不同的目标区间树叶子节点的值,以使所述各个连接节点设备基于各自接收到的所述分片数据获取请求中的目标区间树叶子节点的值获取所述不同的目标区间树叶子节点各自对应的目标分片数据;接收所述各个连接节点设备返回的所述不同的目标区间树叶子节点各自对应的目标分片数据。
在一个实施例中,处理器701,具体用于从所述新增节点设备对应的各个连接节点设备获取网际互连协议IP列表;通过通信接口703连接所述IP列表对应的各个目标节点设备,并基于所述目标区间数据树中不同的目标区间树叶子节点的值与所述各个目标节点设备交换分片数据,以获取所述不同的目标区间树叶子节点各自对应的目标分片数据。
可参考前述各个附图所对应的实施例中相关内容的描述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明的部分实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。

Claims (10)

1.一种区块链数据的同步方法,其特征在于,所述方法包括:
当新增节点设备加入区块链网络时,从第一连接节点设备获取区块链数据对应的数据总树,并基于所述数据总树中目标总树叶子节点的值,从第二连接节点设备获取所述目标总树叶子节点对应的目标区间数据树,其中,所述区块链网络中的各个节点设备均存储有对所述区块链数据中的各个块区间对应的区间数据进行分片处理后得到的各个区间数据树,以及基于所述各个区间数据树生成的所述区块链数据对应的数据总树,所述数据总树中的各个叶子节点与所述各个区间数据树一一对应,所述目标总树叶子节点的值为目标总树叶子节点对应的区间数据树的区间根哈希;
基于所述目标区间数据树中不同的目标区间树叶子节点的值从所述新增节点设备对应的各个连接节点设备并行获取至少一个目标分片数据,其中,各个所述目标分片数据为所述不同的目标区间树叶子节点各自对应的分片数据,区间数据树中的区间树叶子节点的值为对对应的分片数据进行哈希计算到的哈希;
将各个所述目标分片数据整合为所述目标区间数据树对应的目标块区间的区间数据;
获取所述各个块区间的所述区间数据,并对所述各个块区间的所述区间数据进行整合,得到所述区块链数据;
其中,所述第一连接节点设备和所述第二连接节点设备均为所述各个连接节点设备中的任一个,所述目标总树叶子节点为所述数据总树包括的各个总树叶子节点中的一个或者多个,所述目标区间树叶子节点为所述目标区间数据树包括的各个区间树叶子节点中一个或者多个。
2.根据权利要求1所述的方法,其特征在于,一个所述数据总树对应一个区块链根哈希,所述基于所述数据总树中目标总树叶子节点的值,从第二连接节点设备获取所述目标总树叶子节点对应的目标区间数据树之前,所述方法还包括:
从所述各个连接节点设备获取所述数据总树对应的区块链根哈希,并对比所述各个连接节点设备返回的所述区块链根哈希;
若对比得到预设数量阈值的所述区块链根哈希相同,则将所述相同的区块链根哈希确定为区块链指纹数据;
判断从所述第一连接节点设备获取的所述数据总树对应的区块链根哈希与所述区块链指纹数据是否匹配,若匹配,则触发执行所述基于所述数据总树中目标总树叶子节点的值,从第二连接节点设备获取所述目标总树叶子节点对应的目标区间数据树的步骤。
3.根据权利要求1或2所述的方法,其特征在于,所述基于所述目标区间数据树中不同的目标区间树叶子节点的值从所述新增节点设备对应的各个连接节点设备并行获取至少一个目标分片数据之前,所述方法还包括:
对获取到的所述目标总树叶子节点对应的目标区间数据树进行校验;
若校验通过,则触发执行所述基于所述目标区间数据树中不同的目标区间树叶子节点的值从所述新增节点设备对应的各个连接节点设备并行获取至少一个目标分片数据的步骤。
4.根据权利要求3所述的方法,其特征在于,一个所述区间数据树对应一个区间根哈希,所述对获取到的所述目标总树叶子节点对应的目标区间数据树进行校验,包括:
对获取到的所述目标区间数据树中各个叶子节点的值进行整合处理,并对所述整合处理得到的字符串进行哈希计算,得到所述字符串对应的哈希;
将所述字符串对应的哈希与所述目标区间数据树对应的区间根哈希进行对比;
若对比得到所述字符串对应的哈希与所述目标区间数据树对应的区间根哈希相同,则确定对所述目标总树叶子节点对应的目标区间数据树校验通过。
5.根据权利要求4所述的方法,其特征在于,所述数据总树中的各个叶子节点的值为所述各个叶子节点各自对应的区间数据树的区间根哈希,所述若对比得到所述字符串对应的哈希与所述目标区间数据树对应的区间根哈希相同,则确定对所述目标总树叶子节点对应的目标区间数据树校验通过,包括:
若对比得到所述字符串对应的哈希与所述目标区间数据树对应的区间根哈希相同,则在所述数据总树中获取所述目标区间数据树对应的叶子节点的值;
对比所述目标区间数据树对应的区间根哈希与所述目标区间数据树对应的叶子节点的值,若对比得到所述目标区间数据树对应的区间根哈希与所述目标区间数据树对应的叶子节点的值相同,则确定对所述目标总树叶子节点对应的目标区间数据树校验通过。
6.根据权利要求1所述的方法,其特征在于,所述基于所述目标区间数据树中不同的目标区间树叶子节点的值从所述新增节点设备对应的各个连接节点设备并行获取至少一个目标分片数据,包括:
向所述新增节点设备对应的各个连接节点设备并行发送不同的分片数据获取请求,每个所述分片数据获取请求包括所述目标区间数据树中不同的目标区间树叶子节点的值,以使所述各个连接节点设备基于各自接收到的所述分片数据获取请求中的目标区间树叶子节点的值获取所述不同的目标区间树叶子节点各自对应的目标分片数据;
接收所述各个连接节点设备返回的所述不同的目标区间树叶子节点各自对应的目标分片数据。
7.根据权利要求1所述的方法,其特征在于,所述基于所述目标区间数据树中不同的目标区间树叶子节点的值从所述新增节点设备对应的各个连接节点设备并行获取至少一个目标分片数据,包括:
从所述新增节点设备对应的各个连接节点设备获取网际互连协议IP列表;
连接所述IP列表对应的各个目标节点设备,并基于所述目标区间数据树中不同的目标区间树叶子节点的值与所述各个目标节点设备交换分片数据,以获取所述不同的目标区间树叶子节点各自对应的目标分片数据。
8.一种区块链数据的同步装置,其特征在于,所述同步装置配置于区块链网络中的新增节点设备,包括:
通信模块,用于当新增节点设备加入区块链网络时,从第一连接节点设备获取区块链数据对应的数据总树,并基于所述数据总树中目标总树叶子节点的值,从第二连接节点设备获取所述目标总树叶子节点对应的目标区间数据树,其中,所述区块链网络中的各个节点设备均存储有对所述区块链数据中的各个块区间对应的区间数据进行分片处理后得到的各个区间数据树,以及基于所述各个区间数据树生成的所述区块链数据对应的数据总树,所述数据总树中的各个叶子节点与所述各个区间数据树一一对应,所述第一连接节点设备和所述第二连接节点设备均为所述各个连接节点设备中的任一个,所述目标总树叶子节点为所述数据总树包括的各个总树叶子节点中的一个或者多个,所述目标区间树叶子节点为所述目标区间数据树包括的各个区间树叶子节点中一个或者多个,所述目标总树叶子节点的值为目标总树叶子节点对应的区间数据树的区间根哈希;
所述通信模块,还用于基于所述目标区间数据树中不同的目标区间树叶子节点的值从所述新增节点设备对应的各个连接节点设备并行获取至少一个目标分片数据,其中,各个所述目标分片数据为所述不同的目标区间树叶子节点各自对应的分片数据,区间数据树中的区间树叶子节点的值为对对应的分片数据进行哈希计算到的哈希;
处理模块,用于将各个所述目标分片数据整合为所述目标区间数据树对应的目标块区间的区间数据,获取所述各个块区间的所述区间数据,并对所述各个块区间的所述区间数据进行整合,得到所述区块链数据;其中,所述第一连接节点设备和所述第二连接节点设备均为所述各个连接节点设备中的任一个,所述目标总树叶子节点为所述数据总树包括的各个总树叶子节点中的一个或者多个,所述目标区间树叶子节点为所述目标区间数据树包括的各个区间树叶子节点中一个或者多个。
9.一种电子设备,其特征在于,包括处理器、存储器和通信接口,所述处理器、所述存储器和所述通信接口相互连接,其中,所述存储器用于存储计算机程序指令,所述处理器被配置用于执行所述程序指令,实现如权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序指令,所述计算机程序指令被处理器执行时,用于执行如权利要求1-7任一项所述的区块链数据的同步方法。
CN202010234819.XA 2020-03-30 2020-03-30 一种区块链数据的同步方法、装置及电子设备、存储介质 Active CN111432009B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202010234819.XA CN111432009B (zh) 2020-03-30 2020-03-30 一种区块链数据的同步方法、装置及电子设备、存储介质
PCT/CN2020/104847 WO2021196463A1 (zh) 2020-03-30 2020-07-27 一种区块链数据的同步方法、装置及电子设备、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010234819.XA CN111432009B (zh) 2020-03-30 2020-03-30 一种区块链数据的同步方法、装置及电子设备、存储介质

Publications (2)

Publication Number Publication Date
CN111432009A CN111432009A (zh) 2020-07-17
CN111432009B true CN111432009B (zh) 2023-04-07

Family

ID=71549119

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010234819.XA Active CN111432009B (zh) 2020-03-30 2020-03-30 一种区块链数据的同步方法、装置及电子设备、存储介质

Country Status (2)

Country Link
CN (1) CN111432009B (zh)
WO (1) WO2021196463A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111432009B (zh) * 2020-03-30 2023-04-07 深圳壹账通智能科技有限公司 一种区块链数据的同步方法、装置及电子设备、存储介质
CN112565389B (zh) * 2020-11-30 2021-09-24 网易(杭州)网络有限公司 基于区块链的消息广播方法、装置、电子设备及存储介质
CN113760937A (zh) * 2021-09-17 2021-12-07 恒生电子股份有限公司 数据的查缺方法、装置、电子设备及存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018149385A1 (zh) * 2017-02-17 2018-08-23 阿里巴巴集团控股有限公司 一种区块链系统、数据存储方法及装置
CN108600353A (zh) * 2018-04-12 2018-09-28 北京天德科技有限公司 一种区块链节点的并行块同步方法
CN109033757A (zh) * 2018-07-19 2018-12-18 清华大学 一种数据共享方法及系统
CN109218079A (zh) * 2018-08-16 2019-01-15 北京京东尚科信息技术有限公司 一种区块链网络、部署方法及存储介质
CN109325855A (zh) * 2018-08-16 2019-02-12 北京京东尚科信息技术有限公司 区块链网络、部署方法及存储介质
CN109522362A (zh) * 2018-10-17 2019-03-26 北京瑞卓喜投科技发展有限公司 基于区块链数据的非完全数据同步方法、系统及设备
CN109714412A (zh) * 2018-12-25 2019-05-03 深圳前海微众银行股份有限公司 区块同步方法、装置、设备及计算机可读存储介质
CN110737664A (zh) * 2019-10-21 2020-01-31 深圳前海微众银行股份有限公司 一种区块链节点同步的方法及装置
CN110837505A (zh) * 2019-11-06 2020-02-25 杭州复杂美科技有限公司 状态数据存储方法、状态数据同步方法、设备和存储介质
CN110869967A (zh) * 2019-03-28 2020-03-06 阿里巴巴集团控股有限公司 用于并行处理区块链交易的系统和方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9911007B2 (en) * 2015-02-27 2018-03-06 Guardtime IP Holdings, Ltd. Redundant fail-safe synchronization in a data authentication infrastructure
CN109542979B (zh) * 2018-11-19 2023-08-22 北京市密网信息科技有限公司 一种区块链系统快速同步及简精数据存储的方式
KR102053253B1 (ko) * 2019-04-23 2019-12-06 한화시스템(주) 전술환경에서 블록체인에 기반한 정보 관리 방법
CN110543448A (zh) * 2019-07-22 2019-12-06 深圳壹账通智能科技有限公司 数据同步方法、装置、设备及计算机可读存储介质
CN110493325B (zh) * 2019-07-31 2020-12-29 创新先进技术有限公司 区块链状态数据同步方法及装置、电子设备
CN111432009B (zh) * 2020-03-30 2023-04-07 深圳壹账通智能科技有限公司 一种区块链数据的同步方法、装置及电子设备、存储介质

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018149385A1 (zh) * 2017-02-17 2018-08-23 阿里巴巴集团控股有限公司 一种区块链系统、数据存储方法及装置
CN108600353A (zh) * 2018-04-12 2018-09-28 北京天德科技有限公司 一种区块链节点的并行块同步方法
CN109033757A (zh) * 2018-07-19 2018-12-18 清华大学 一种数据共享方法及系统
CN109218079A (zh) * 2018-08-16 2019-01-15 北京京东尚科信息技术有限公司 一种区块链网络、部署方法及存储介质
CN109325855A (zh) * 2018-08-16 2019-02-12 北京京东尚科信息技术有限公司 区块链网络、部署方法及存储介质
CN109522362A (zh) * 2018-10-17 2019-03-26 北京瑞卓喜投科技发展有限公司 基于区块链数据的非完全数据同步方法、系统及设备
CN109714412A (zh) * 2018-12-25 2019-05-03 深圳前海微众银行股份有限公司 区块同步方法、装置、设备及计算机可读存储介质
CN110869967A (zh) * 2019-03-28 2020-03-06 阿里巴巴集团控股有限公司 用于并行处理区块链交易的系统和方法
CN110737664A (zh) * 2019-10-21 2020-01-31 深圳前海微众银行股份有限公司 一种区块链节点同步的方法及装置
CN110837505A (zh) * 2019-11-06 2020-02-25 杭州复杂美科技有限公司 状态数据存储方法、状态数据同步方法、设备和存储介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"新型区块链共识算法的研究";万涔涔;《中国硕士学位论文全文数据库信息科技辑》;20190103;全文 *
"比特币矿工节点的区块链存储分析与优化研究";李博;《中国硕士学位论文全文数据库信息科技辑》;20171201;全文 *
区块链关键技术中的数据一致性研究;翟社平等;《计算机技术与发展》;20180428(第09期);全文 *

Also Published As

Publication number Publication date
CN111432009A (zh) 2020-07-17
WO2021196463A1 (zh) 2021-10-07

Similar Documents

Publication Publication Date Title
CN111432009B (zh) 一种区块链数据的同步方法、装置及电子设备、存储介质
JP7126174B2 (ja) ブロックチェーンおよびオフチェーン装置の連携のための検証システムおよび方法
CN107943833B (zh) 一种基于区块链的无中心分布式文件存储及检索方法
CN109831487B (zh) 分片文件验证方法及终端设备
CN101409706B (zh) 一种边缘网络中的数据分发方法、数据分发系统及相关设备
CN110602239A (zh) 一种区块链信息存储方法及相关设备
CN108108127B (zh) 一种文件读取方法及系统
AU2018355092B2 (en) Witness blocks in blockchain applications
CN110784495B (zh) 基于区块链的大数据集群系统的发现与配置信息管理方法
CN110535639A (zh) 基于多资产模型的区块链资产处理方法及相关设备
CN113826355A (zh) 短交易标识符冲突检测和协调
CN111899019A (zh) 一种黑名单多方交叉验证和共享的方法及系统
WO2019080232A1 (zh) 工作流系统中的任务信息传输方法、装置和计算机设备
CN109189859B (zh) 区块链网络中的节点初始化方法和装置
CN110928690A (zh) 一种在5g网络环境下区块链数据同步和验证的方法
CN110619022B (zh) 基于区块链网络的节点检测方法、装置、设备及存储介质
CN115176127A (zh) 地图更新方法、计算机设备和存储介质
CN111522873B (zh) 区块生成方法、装置、计算机设备和存储介质
CN104639651A (zh) 一种移动设备信息传输方法
CN115297009B (zh) 一种基于区块链分布式网络数字加密一致性优化的方法
CN116932421A (zh) 一种数据存储方法、装置、设备及存储介质
CN111064785A (zh) 资源包下载方法、装置和系统
CN104639585B (zh) 一种实时数据传输系统及其数据同步方法
CN110730106B (zh) 基于树状结构的电子公文交换方法、装置和计算机设备
CN113610529A (zh) 联盟链的区块存储、获取方法、装置、节点和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant