一种区块链的交易处理方法、装置及电子设备制造方法及图纸

技术编号:25223388 阅读:19 留言:0更新日期:2020-08-11 23:12
本说明书实施例提供一种区块链的交易处理方法、装置及电子设备。方法包括:区块链中的区块链节点在所述区块链的第N轮的共识的交易执行完毕后,对所述第N轮的共识的交易进行写块操作,其中,N为正整数;所述区块链节点执行所述区块链的第N+1轮的共识执行操作,所述共识执行操作包括所述区块链的第N+1轮的共识及所述第N+1轮的共识达成后的交易执行,其中,所述第N+1轮的共识执行操作与所述第N轮的写块操作并行执行。

【技术实现步骤摘要】
一种区块链的交易处理方法、装置及电子设备
本文件涉及区块链
,尤其涉及一种区块链的交易处理方法、装置及电子设备。
技术介绍
区块链由于具有开放性、不可篡改性、去中心化等优点,越来越受到各行各业的青睐。目前,区块链的交易处理流程主要包括:区块链节点对客户端发起的交易进行共识;若共识达成,则执行交易,并在执行完成对交易进行写块记录。其中,这里所述的共识、执行、写块三个阶段是以串行方式进行的,因此区块链的交易处理效率较低。在未来阶段,区块链业务会呈爆发性增长,为了满足业务高并发的场景需求,有必要提出一种能够提高区块链交易处理效率的技术方案。
技术实现思路
本说明书实施例目的是提供一种区块链的交易处理方法、装置及电子设备,能够提高区块链交易处理效率。为了实现上述目的,本说明书实施例是这样实现的:第一方面,提供一种交易处理方法,包括:区块链中的区块链节点在所述区块链的第N轮的共识的交易执行完毕后,对所述第N轮的共识的交易进行写块操作,其中,N为正整数;所述区块链节点执行所述区块链的第N+1轮的共识执行操作,所述共识执行操作包括所述区块链的第N+1轮的共识及所述第N+1轮的共识达成后的交易执行,其中,所述第N+1轮的共识执行操作与所述第N轮的写块操作并行执行。第二方面,提供一种区块链的交易处理装置,包括:交易写块模块,在区块链的第N轮的共识的交易执行完毕后,对所述第N轮的共识的交易进行写块操作,其中,N为正整数;共识执行模块,执行所述区块链的第N+1轮的共识执行操作,所述共识执行操作包括所述区块链的第N+1轮的共识及所述第N+1轮的共识达成后的交易执行,其中,所述第N+1轮的共识执行操作与所述第N轮的写块操作并行执行。第三方面,提供一种电子设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行:区块链中的区块链节点在所述区块链的第N轮的共识的交易执行完毕后,对所述第N轮的共识的交易进行写块操作,其中,N为正整数;所述区块链节点执行所述区块链的第N+1轮的共识执行操作,所述共识执行操作包括所述区块链的第N+1轮的共识及所述第N+1轮的共识达成后的交易执行,其中,所述第N+1轮的共识执行操作与所述第N轮的写块操作并行执行。第四方面,提供一种算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如下步骤:在所述区块链的第N轮的共识的交易执行完毕后,对所述第N轮的共识的交易进行写块操作,其中,N为正整数;执行所述区块链的第N+1轮的共识执行操作,所述共识执行操作包括所述区块链的第N+1轮的共识及所述第N+1轮的共识达成后的交易执行,其中,所述第N+1轮的共识执行操作与所述第N轮的写块操作并行执行。基于本说明书实施例的方案,区块链节点可以并行执行第N轮的共识的交易的写块操作和第N+1轮的共识执行操作,即区块链节点在对本轮次的交易进行写块的同时,还执行下一轮次的共识和下一轮次的共识所达成的交易,从而能够提高交易处理效率,使区块链能够适用于业务高并发的应用场景。附图说明为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书实施例中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本说明书实施例提供的区块链的交易处理方法的流程示意图。图2为交易处理方法中的第一线程和第二线程并行处理任务的第一种示意图。图3为交易处理方法中的第一线程和第二线程并行处理任务的第二种示意图。图4为本说明书实施例提供的区块链的交易处理装置的结构示意图。图5为本说明书实施例提供的电子设备的结构示意图。具体实施方式为了使本
的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。如前所述,目前的区块链节点是以串行方式完成交易的共识、执行和写块这三个阶段的,这导致对交易处理效率较低。随着区块链越来越受到各行各业的青睐,业务量也会呈爆发性增长,因此现有的这种交易处理方式在未来可能会导致区块链难以适用在业务高并发的场景中。针对这一问题,本文件旨在提供一种能够提高区块链处理交易效率的技术方案。图1是本说明书实施例区块链的交易处理方法的流程图。图1所示的方法可以由下文相对应的装置执行,包括如下步骤:S102,区块链中的区块链节点在区块链的第N轮的共识的交易执行完毕后,对第N轮的共识的交易进行写块操作,其中N为正整数。本说明书实施例中,上述第N轮的共识的交易具体指第N轮的共识所达成的任意数量的交易。对于第N轮的共识未达成的交易,区块链节点可以拒绝执行,因此没有必要对未达成的交易进行写块记录。S104,区块链节点执行区块链的第N+1轮的共识执行操作,共识执行操作包括区块链的第N+1轮的共识及第N+1轮的共识达成后的交易执行,其中第N+1轮的共识执行操作与第N轮的写块操作并行执行。应理解,上述第N+1轮的共识是区块链中作为共识主节点的目标区块链节点在对第N轮的共识的交易进行写块操作时所发起的。此外,这里所述的并行执行是指:区块链节点进行第N+1轮的共识执行操作的时间不早于区块链节点对第N轮的共识的交易进行写块操作的时间,且两者在时间维度上存在重合。基于图1所示的交易处理方法可以知道,本说明书实施例的方案并行执行第N轮的共识的交易的写块操作和第N+1轮的共识执行操作,即区块链节点在对本轮次的交易进行写块的同时,还执行下一轮次的共识和下一轮次的共识所达成的交易,从而能够提高交易处理效率,使区块链能够适用于业务高并发的应用场景。下面对本说明书实施例的交易处理方法进行详细介绍。在本说明书实施例的交易处理方法中,区块链节点可以通过第一线程执行写块操作,并通过第二线程执行共识执行操作。应理解,第一线程不同于第二线程,且两者并行。此外,这里所述的第一线程可以是已有的线程,比如:沿用之前轮次的写块操作的线程;或者,第一线程可也可以是新建的线程。同理,第二线程也可以是已有的线程,或者也可以是新建的线程,本说明实施例对此不作具体限定。由于第一线程和第二线程是并行执行的,因此在实际应用中,第一线程和第二线程可能会同时使用区块链资源,比如:第一线程进行写块操作时和第二线程执行交易时都会对区块链中的数据(如状态树)进行读写,而同时使用区块链资源则可能会引发逻辑错误而导致系统发生崩溃。为了避免这本文档来自技高网
...

【技术保护点】
1.一种区块链的交易处理方法,包括:/n区块链中的区块链节点在所述区块链的第N轮的共识的交易执行完毕后,对所述第N轮的共识的交易进行写块操作,其中,N为正整数;/n所述区块链节点执行所述区块链的第N+1轮的共识执行操作,所述共识执行操作包括所述区块链的第N+1轮的共识及所述第N+1轮的共识达成后的交易执行,其中,所述第N+1轮的共识执行操作与所述第N轮的写块操作并行执行。/n

【技术特征摘要】
1.一种区块链的交易处理方法,包括:
区块链中的区块链节点在所述区块链的第N轮的共识的交易执行完毕后,对所述第N轮的共识的交易进行写块操作,其中,N为正整数;
所述区块链节点执行所述区块链的第N+1轮的共识执行操作,所述共识执行操作包括所述区块链的第N+1轮的共识及所述第N+1轮的共识达成后的交易执行,其中,所述第N+1轮的共识执行操作与所述第N轮的写块操作并行执行。


2.根据权利要求1所述的方法,
区块链中的区块链节点在所述区块链的第N轮的共识的交易执行完毕后,对所述第N轮的共识的交易进行写块操作,包括:所述区块链节点在所述区块链的第N轮的共识的交易执行完毕后,通过第一线程对所述第N轮的共识的交易进行写块操作;
所述区块链节点执行所述区块链的第N+1轮的共识执行操作,包括:所述区块链节点通过第二线程执行所述区块链的第N+1轮的共识执行操作,其中,所述第二线程不同于所述第一线程。


3.根据权利要求2所述的方法,
所述区块链节点针对所述第一线程和所述第二线程设置有用于访问区块链资源的线程锁,在所述第一线程和所述第二线程中,对应有在先共识轮次的线程先于对应有在后共识轮次的线程请求所述线程锁的使用权。


4.根据权利要求2所述的方法,还包括:
所述区块链节点通过第三线程监测所述第二线程是否存在写块操作任务;以及,
所述区块链节点在执行完成第N+1轮的共识执行操作后,且基于所述第三线程监测到所述第二线程不存在写块操作任务时,将对所述第N轮的共识的交易的写块操作任务添加至所述第二线程中。


5.根据权利要求1-4中任一项所述的方法,还包括:
若所述区块链节点在对所述第N轮的共识的交易进行写块操作时发生宕机,则在重启恢复后向其他区块链节点获取写入有所述第N轮的共识的交易的区块的信息,以基于所述区块的信息,重新对所述第N轮的共识的交易进行写块操,其中,所述区块是所述其他区块链节点完成对所述第N轮的共识的交易的写块操作而生成的。


6.根据权利要求5所述的方法,还包括:
若所述区块链节点在重启恢复后未能向所述其他区块链节点获取写入有第N轮的共识的交易的区块的信息,则基于共识执行日志模拟第N轮的共识,以重新确定第N轮的共识的交易;
所...

【专利技术属性】
技术研发人员:李康邓福喜
申请(专利权)人:支付宝杭州信息技术有限公司
类型:发明
国别省市:浙江;33

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

1