一种区块链数据链外同步方法和装置制造方法及图纸

技术编号:39285811 阅读:10 留言:0更新日期:2023-11-07 10:57
本说明书实施例公开了一种区块链数据链外同步方法、装置以及相应的电子设备、计算机可读存储介质;所述方法包括:依据同步任务的类型,生成一个或多个同步任务并添加至对应的同步队列;配置一个或多个任务执行器,执行所述同步任务,其中上述任务执行器具有多个线程并且能够订阅获得对应于上述同步任务的上述同步队列。本申请能够处理区块、交易和交易回执等同步任务类型,实现区块链数据向链外数据库进行同步,能够在链外应用中减少对区块链节点的操作,提高链外数据处理执行速度。提高链外数据处理执行速度。提高链外数据处理执行速度。

【技术实现步骤摘要】
一种区块链数据链外同步方法和装置


[0001]本说明书涉及区块链
,尤其涉及一种区块链数据链外同步方法、装置以及相应的电子设备、计算机可读存储介质。

技术介绍

[0002]区块链的本质是一个按照时间顺序,将数据区块以顺序相连的方式组合成的链式结构,区块通常包括区块头和区块体。区块链由于具有数据不可篡改性和去中心化两大特性,使得其所记录的信息更加真实可靠,可以解决互信的问题。支撑区块链系统运行的物理服务器被称为区块链节点,为整个区块链系统提供存储空间和算力支持。由于基于区块链的各种应用特别是链外应用,可能会频繁访问区块链系统及区块链节点,
[0003]因此,如何实现区块链数据的链外同步,以期在提供区块链数据的同时减少对区块链节点的操作,提高链外数据处理执行速度,是需要解决的技术问题。

技术实现思路

[0004]本说明书实施例的目的是针对上述问题,提供一种区块链数据链外同步方法、装置以及相应的电子设备、计算机可读存储介质。
[0005]为解决上述技术问题,本说明书实施例是这样实现的:
[0006]第一方面,提出了一种区块链数据链外同步方法,包括:
[0007]依据同步任务的类型,生成一个或多个同步任务并添加至对应的同步队列;
[0008]配置一个或多个任务执行器,执行所述同步任务,其中所述任务执行器具有多个线程并且能够订阅获得对应于所述同步任务的所述同步队列。
[0009]进一步地,所述同步任务的类型包括区块同步任务和/或交易回执同步任务;和/或,所述同步队列包括区块同步队列和/或交易回执同步队列。
[0010]进一步地,依据所述同步任务的类型,生成一个或多个同步任务并添加至对应的同步队列的过程,包括:
[0011]当所述区块同步队列中的任务数小于等于第一任务数阈值时,获得当前区块高度;
[0012]当所述当前区块高度大于已同步区块高度时,生成一个或多个所述区块同步任务;
[0013]添加一个或多个所述区块同步任务至所述区块同步队列。
[0014]进一步地,所述任务执行器包括区块同步任务执行器;和/或,配置所述区块同步任务执行器,以执行所述区块同步任务的过程,包括:
[0015]当所述区块同步任务执行器具有空闲线程时,分配线程,以便对应处理从所述区块同步队列中获得的所述区块同步任务;
[0016]依据所述区块同步任务的参数,获得对应的区块,其中所述参数包括区块高度;
[0017]保存所述区块的区块信息和交易信息至链外数据库;
[0018]更新所述已同步区块高度并添加对应的所述交易回执同步任务至所述交易回执同步队列,其中所述交易回执任务基于所述区块内对应的交易创建;
[0019]释放所述区块同步任务执行器相应的所述线程。
[0020]进一步地,所述任务执行器包括交易回执同步任务执行器;和/或,配置所述交易回执同步任务执行器,以执行所述交易回执同步任务的过程,包括:
[0021]当所述交易回执同步任务执行器具有空闲线程时,分配线程,以便对应处理从所述交易回执同步队列中获得的所述交易回执同步任务;
[0022]依据所述交易回执同步任务的参数,获得对应的交易回执,其中所述参数包括交易哈希;
[0023]保存所述交易回执的信息至所述链外数据库;
[0024]释放所述交易回执同步任务执行器相应的所述线程。
[0025]进一步地,还包括:获得对应于所述交易回执的事件信息,所述事件信息包括用于处理事件的智能合约。
[0026]进一步地,所述链外数据库包括区块表和/或交易表;和/或,通过区块链网关获得所述区块和/或所述交易回执。
[0027]第二方面,提出一种区块链数据链外同步装置,包括:
[0028]第一模块,能够依据同步任务的类型,生成一个或多个同步任务并添加至对应的同步队列;
[0029]第二模块,能够配置一个或多个任务执行器,执行所述同步任务,其中所述任务执行器具有多个线程并且能够订阅获得对应于所述同步任务的所述同步队列。
[0030]第三方面,提出了一种电子设备,包括:处理器;以及
[0031]被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使得所述处理器执行第一方面所述的方法。
[0032]第四方面,提出了一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行第一方面所述的方法。
[0033]本说明书可以达到至少以下技术效果:
[0034]本申请依据同步任务的类型,生成一个或多个同步任务并添加至对应的同步队列,然后配置一个或多个任务执行器,执行同步任务,其中任务执行器具有多个线程并且能够订阅获得对应于同步任务的同步队列。本申请能够处理区块、交易和交易回执等同步任务类型,实现区块链数据向链外数据库进行同步,能够在链外应用中减少对区块链节点的操作,提高链外数据处理执行速度。
附图说明
[0035]为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0036]图1为本说明书实施例提供的区块链数据链外同步方法流程示意图之一。
[0037]图2为本说明书实施例提供的区块链数据链外同步方法流程示意图之二。
[0038]图3为本说明书实施例提供的区块链数据链外同步方法流程示意图之三。
[0039]图4为本说明书实施例提供的区块链数据链外同步方法流程示意图之四。
[0040]图5为本说明书实施例提供的区块链数据链外同步装置示意图。
[0041]图6为本说明书的一个实施例提供的电子设备的结构示意图。
具体实施方式
[0042]为了使本
的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
[0043]下面通过具体的实例对本说明书所涉及的一种区块链数据链外同步方案进行详述。
[0044]本专利技术的目的是提出一种区块链数据链外同步的方案,解决区块链数据链外同步,特别是在提供区块链数据的同时减少对区块链节点的操作,提高链外数据处理执行速度,是需要解决的技术问题的技术问题。
[0045]通常,区块链需确保每个主链区块都存储份完整的数据信息,通过证书签发校验,可授权查询或者使用相应数据,据此可以实现区块链跨平台的数据共享与应用。因此,打通数据同本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种区块链数据链外同步方法,其特征在于,包括:依据同步任务的类型,生成一个或多个同步任务并添加至对应的同步队列;配置一个或多个任务执行器,执行所述同步任务,其中所述任务执行器具有多个线程并且能够订阅获得对应于所述同步任务的所述同步队列。2.根据权利要求1所述的方法,其特征在于,所述同步任务的类型包括区块同步任务和/或交易回执同步任务;和/或,所述同步队列包括区块同步队列和/或交易回执同步队列。3.根据权利要求2所述的方法,其特征在于,依据所述同步任务的类型,生成一个或多个同步任务并添加至对应的同步队列的过程,包括:当所述区块同步队列中的任务数小于等于第一任务数阈值时,获得当前区块高度;当所述当前区块高度大于已同步区块高度时,生成一个或多个所述区块同步任务;添加一个或多个所述区块同步任务至所述区块同步队列。4.根据权利要求3所述的方法,其特征在于,所述任务执行器包括区块同步任务执行器;和/或,配置所述区块同步任务执行器,以执行所述区块同步任务的过程,包括:当所述区块同步任务执行器具有空闲线程时,分配线程,以便对应处理从所述区块同步队列中获得的所述区块同步任务;依据所述区块同步任务的参数,获得对应的区块,其中所述参数包括区块高度;保存所述区块的区块信息和交易信息至链外数据库;更新所述已同步区块高度并添加对应的所述交易回执同步任务至所述交易回执同步队列,其中所述交易回执任务基于所述区块内对应的交易创建;释放所述区块同步任务执行器相应的所述线程。5.根据权利要求2所述的方法,其特征在于,所述任务...

【专利技术属性】
技术研发人员:张亚宁
申请(专利权)人:杭州溪塔科技有限公司
类型:发明
国别省市:

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

1