数据同步方法、装置、存储介质及电子设备制造方法及图纸

技术编号:21714344 阅读:36 留言:0更新日期:2019-07-27 19:12
本公开涉及一种数据同步方法、装置、存储介质及电子设备,以使加入许可区块链系统的新节点可以从该许可区块链中的任一节点同步数据。该数据同步方法应用于区块链系统中待同步区块链数据的新节点,包括:所述新节点从所述区块链系统中的第一节点获取该第一节点本地存储的区块链的多个连续的区块头;根据所述区块头的标识,从第二节点获取该第二节点本地存储的区块链中具有相同标识的多个连续的区块头;将从所述第一节点获取的区块头与从所述第二节点获取的区块头进行比对;如果从所述第一节点获取的区块头与从所述第二节点获取的区块头比对一致,则从所述第一节点同步所述多个连续的区块头对应的区块数据到所述新节点。

Data Synchronization Method, Device, Storage Media and Electronic Equipment

【技术实现步骤摘要】
数据同步方法、装置、存储介质及电子设备
本公开涉及区块链
,具体地,涉及一种数据同步方法、装置、存储介质及电子设备。
技术介绍
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。其中,许可区块链作为一种具有权限控制能力的区块链,被越来越多的应用到各个组织及公司联盟中。许可区块链中各个节点都被划分了一些基本的链上权限,例如挖矿权限、接入权限等。其中,基于接入权限可以控制许可区块链账户或节点连接到区块链网络并获取区块数据的过程,保证了许可区块链的数据安全,但同时也带来了数据同步的问题。对于加入许可区块链系统的新节点,由于只有创始节点具有接入权限,因此该新节点最初只能从创始节点处同步区块数据。并且,如果该新节点是轻节点,由于轻节点只记录区块头,并没有记录其他节点的权限信息,因此在整个数据同步过程中,该新节点都只能从创始节点同步数据,而不能从其他节点同步数据,这对创始节点的压力较大,并且也影响了新节点的数据同步效率。
技术实现思路
本公开的目的是提供一种数据同步方法、装置、存储介质及电子设备,以使加入许可区块链系统的新节点可以从该许可区块链中的任一节点同步数据。为了实现上述目的,第一方面,本公开提供一种数据同步方法,所述方法应用于区块链系统中待同步区块链数据的新节点,所述方法包括:所述新节点从所述区块链系统中的第一节点获取该第一节点本地存储的区块链的多个连续的区块头,其中,所述第一节点是所述区块链系统中的对所述新节点没有接入权限的节点;根据所述区块头的标识,从第二节点获取该第二节点本地存储的区块链中具有相同标识的多个连续的区块头,所述第二节点是所述区块链系统中的对所述新节点具有接入权限的节点;将从所述第一节点获取的区块头与从所述第二节点获取的区块头进行比对;如果从所述第一节点获取的区块头与从所述第二节点获取的区块头比对一致,则从所述第一节点同步所述多个连续的区块头对应的区块数据到所述新节点。第二方面,本公开还提供一种数据同步装置,所述装置应用于区块链系统中待同步区块链数据的新节点,所述装置包括:第一获取模块,用于所述新节点从所述区块链系统中的第一节点获取该第一节点本地存储的区块链的多个连续的区块头,其中,所述第一节点是所述区块链系统中的对所述新节点没有接入权限的节点;第二获取模块,用于根据所述区块头的标识,从第二节点获取该第二节点本地存储的区块链中具有相同标识的多个连续的区块头,所述第二节点是所述区块链系统中的对所述新节点具有接入权限的节点;比对模块,用于将从所述第一节点获取的区块头与从所述第二节点获取的区块头进行比对;同步模块,用于当从所述第一节点获取的区块头与从所述第二节点获取的区块头比对一致时,从所述第一节点同步所述多个连续的区块头对应的区块数据到所述新节点。第三方面,本公开还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面中所述方法的步骤。第四方面,本公开还提供一种电子设备,包括:存储器,其上存储有计算机程序;处理器,用于执行所述存储器中的所述计算机程序,以实现第一方面中所述方法的步骤。通过上述技术方案,加入许可区块链系统中的新节点可以从该许可区块链系统中对新节点没有接入权限的第一节点同步区块数据,相较于现有技术的方案,本公开的数据同步方法可以减轻创始节点的压力,加快数据同步效率。并且,在数据同步的过程中,可以通过该许可区块链系统中对新节点具有接入权限的第二节点验证第一节点的数据有效性,从而保证了数据同步过程中的数据安全性。本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。附图说明附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:图1是根据本公开一示例性实施例示出的一种数据同步方法的流程图;图2是根据本公开一示例性实施例示出的许可区块链系统中各节点的拓扑示意图;图3是根据本公开一示例性实施例示出的一种数据同步装置的框图;图4是根据本公开一示例性实施例示出的一种电子设备的框图。具体实施方式以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。首先说明本公开实施例涉及到的技术名词。许可区块链:对区块链系统中的账户或节点所能对区块链系统进行的操作做了权限控制的一种区块链系统。接入权限:区块链账户或节点是否有接入区块链系统并同步数据的权限。全节点:具有区块链系统中所有数据的节点。轻节点:具有区块链中部分数据的节点,通常会拥有区块链系统中所有的区块头信息,能做有限的数据验证。创始节点:创始账户运行的节点,通常是全节点。目标节点:已经接入某一许可区块链系统的全节点。新节点:准备接入某一许可区块链系统的节点,包括轻节点和全节点。合法节点:对新节点具有接入权限的节点。非法节点:对新节点不具有接入权限的节点。在相关技术中,对于加入许可区块链系统的新节点,由于只有创始节点具有接入权限,因此该新节点最初只能从创始节点处同步区块数据,只有当新节点同步到一定数据后,才会发现同样具有接入权限的其他目标节点,从而才能并发地从其他目标节点同步数据。但是,如果该新节点是轻节点,由于轻节点只记录区块头,并没有记录其他节点的权限信息,因此在整个数据同步过程中,该新节点都只能从创始节点同步数据,而不能从其他节点同步数据,这对创始节点的压力较大,并且也影响了新节点的数据同步效率。为了解决上述技术问题,本公开实施例提供一种数据同步方法,可以应用于区块链系统中待同步区块链数据的新节点。参照图1,该数据同步方法可以包括:步骤S101,新节点从区块链系统中的第一节点获取该第一节点本地存储的区块链的多个连续的区块头。其中,第一节点是区块链系统中对新节点没有接入权限的节点,但应当理解的是,在本公开实施例中新节点对第一节点具有接入权限。因此,新节点可以从第一节点获取该第一节点本地存储的区块链的多个连续的区块头。示例地,第一节点可以包括合法的目标节点,即第一节点为对新节点有接入权限的目标节点,但在数据同步时新节点区块数据还未包含对应相关的权限信息,此种情况下,该第一节点当前对于新节点是没有接入权限的节点。在另一种情况下,第一节点还可以包括非法的目标节点,即第一节点为对新节点没有接入权限的目标节点。步骤S102,根据区块头的标识,从第二节点获取该第二节点本地存储的区块链中具有相同标识的多个连续的区块头。其中,第二节点是区块链系统中的对新节点具有接入权限的节点,并且应当理解的是,本公开实施例中新节点对第二节点同样具有接入权限,也即是说,第二节点与新节点间具有双向接入权限。示例地,第二节点可以是区块链系统中的创始节点,也可以是区块链系统中对新节点具有接入权限的任一目标节点,等等,本公开实施例对此不作限定。在区块链中,每个区块按照顺序连接,每个区块头具有相应的顺序标识(比如,区块头的编号),因此在步骤S102中可以根据区块头的标识,从第二节点获取对应的多个连续区块头。例如,在步骤S101中从第一节点获取了编号为1-100的100个区块头,相应地,在步骤S102中可以根据获取到的该100个区块头的编号(标识),在第二本文档来自技高网...

【技术保护点】
1.一种数据同步方法,其特征在于,所述方法应用于区块链系统中待同步区块链数据的新节点,所述方法包括:所述新节点从所述区块链系统中的第一节点获取该第一节点本地存储的区块链的多个连续的区块头,其中,所述第一节点是所述区块链系统中的对所述新节点没有接入权限的节点;根据所述区块头的标识,从第二节点获取该第二节点本地存储的区块链中具有相同标识的多个连续的区块头,所述第二节点是所述区块链系统中的对所述新节点具有接入权限的节点;将从所述第一节点获取的区块头与从所述第二节点获取的区块头进行比对;如果从所述第一节点获取的区块头与从所述第二节点获取的区块头比对一致,则从所述第一节点同步所述多个连续的区块头对应的区块数据到所述新节点。

【技术特征摘要】
1.一种数据同步方法,其特征在于,所述方法应用于区块链系统中待同步区块链数据的新节点,所述方法包括:所述新节点从所述区块链系统中的第一节点获取该第一节点本地存储的区块链的多个连续的区块头,其中,所述第一节点是所述区块链系统中的对所述新节点没有接入权限的节点;根据所述区块头的标识,从第二节点获取该第二节点本地存储的区块链中具有相同标识的多个连续的区块头,所述第二节点是所述区块链系统中的对所述新节点具有接入权限的节点;将从所述第一节点获取的区块头与从所述第二节点获取的区块头进行比对;如果从所述第一节点获取的区块头与从所述第二节点获取的区块头比对一致,则从所述第一节点同步所述多个连续的区块头对应的区块数据到所述新节点。2.根据权利要求1所述的方法,其特征在于,所述将从所述第一节点获取的区块头与从所述第二节点获取的区块头进行比对,包括:将从所述第一节点获取的多个连续的区块头的哈希值与从所述第二节点获取的多个连续的区块头的哈希值进行比对;所述如果从所述第一节点获取的区块头与从所述第二节点获取的区块头比对一致,则从所述第一节点同步所述多个连续的区块头对应的区块数据到所述新节点,包括:如果从所述第一节点获取的多个连续的区块头的哈希值与从所述第二节点获取的多个连续的区块头的哈希值相同,则从所述第一节点同步所述多个连续的区块头对应的区块数据到所述新节点。3.根据权利要求2所述的方法,其特征在于,所述将从所述第一节点获取的多个连续的区块头的哈希值与从所述第二节点获取的多个连续的区块头的哈希值进行比对,包括:对从所述第一节点获取的多个连续的区块头中每个区块头的哈希值进行哈希计算,得到第一哈希值;获取第二哈希值,所述第二哈希值是根据所述新节点从所述第二节点获取的多个连续的区块头中每个区块头的哈希值进行哈希计算得到的;将所述第一哈希值与所述第二哈希值进行比对。4.根据权利要求2所述的方法,其特征在于,所述将从所述第一节点获取的多个连续的区块头的哈希值与从所述第二节点获取的多个连续的区块头的哈希值进行比对,包括:确定从第一节点获取的多个连续的区块头中N+2个区块头分别对应的哈希值,其中,N+2个区块头包括从第一节点获取的多个连续的区块头中的第一个区块头、最后一个区块头、以及第一个区块头和最后一个区块头之间的N个区块头,N为正整数;确定从第二节点获取的多个连续的区块头中与所述N+2个区块头具有相同标识的N+2个区块头分别对应的哈希值;将所述第一节点的N+2个区块头和所述第二节点的N+2个区块头对应的哈希值一一进行比对。5.根据权利要求1-4任一所述的方法,其特征在于,所述新节点从所述区块链系统中的第一节点获取该第一节点本地存储的区块链的多个连续的区块头,包括:...

【专利技术属性】
技术研发人员:陈敏张跃洋
申请(专利权)人:深圳前海达闼云端智能科技有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1