区块链的异步落账方法、装置、介质及电子设备制造方法及图纸

技术编号:27195060 阅读:17 留言:0更新日期:2021-01-31 11:47
本申请的实施例提供了一种区块链的异步落账方法、装置、介质及电子设备。该区块链的异步落账方法包括:在区块达成共识之后,将达成共识的区块所对应的区块信息中包含的各项数据分别写入所述各项数据对应的消息队列及缓存中;在将所述各项数据分别写入所述各项数据对应的消息队列及缓存中之后,开启下一轮的区块共识过程;分别从所述各项数据对应的消息队列中读取数据进行区块链账本的持久化处理。本申请实施例的技术方案降低了区块的落账延迟,并且实现了异步落账,提高了区块链网络的吞吐量,进而有效提升了区块链网络的处理性能。进而有效提升了区块链网络的处理性能。进而有效提升了区块链网络的处理性能。

【技术实现步骤摘要】
区块链的异步落账方法、装置、介质及电子设备


[0001]本申请涉及计算机及通信
,具体而言,涉及一种区块链的异步落账方法、装置、介质及电子设备。

技术介绍

[0002]区块链网络在对区块达成共识之后,区块链节点需要将区块信息写入账本中,通常节点记账方法是将区块信息串行写入磁盘或者分布式存储,例如先将区块头写入磁盘或者分布式存储,等该步骤完成后继续将交易列表以及交易执行结果集写入磁盘或者分布式存储,等交易列表和交易执行结果集写完后,再将写集合写入磁盘或者分布式存储,当写集合写完后节点记账完成开始下一轮共识出块。可见,这种区块落账的方案整体采用串行方式,性能较差,导致每一轮区块落账延迟较大。

技术实现思路

[0003]本申请的实施例提供了一种区块链的异步落账方法、装置、介质及电子设备,进而至少在一定程度上可以降低区块的落账延迟,提升区块链网络的处理性能。
[0004]本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
[0005]根据本申请实施例的一个方面,提供了一种区块链的异步落账方法,包括:在区块达成共识之后,将达成共识的区块所对应的区块信息中包含的各项数据分别写入所述各项数据对应的消息队列及缓存中;在将所述各项数据分别写入所述各项数据对应的消息队列及缓存中之后,开启下一轮的区块共识过程;分别从所述各项数据对应的消息队列中读取数据进行区块链账本的持久化处理。
[0006]根据本申请实施例的一个方面,提供了一种区块链的异步落账装置,包括:第一处理单元,配置为在区块达成共识之后,将达成共识的区块所对应的区块信息中包含的各项数据分别写入所述各项数据对应的消息队列及缓存中;第二处理单元,配置为在将所述各项数据分别写入所述各项数据对应的消息队列及缓存中之后,开启下一轮的区块共识过程;持久化单元,配置为分别从所述各项数据对应的消息队列中读取数据进行区块链账本的持久化处理。
[0007]在本申请的一些实施例中,基于前述方案,所述第一处理单元还配置为:在区块达成共识之后,将达成共识的区块及对应的区块执行结果写入日志中;在对目标区块对应的各项数据进行持久化处理之后,从所述日志中删除所述目标区块及所述目标区块的区块执行结果。
[0008]在本申请的一些实施例中,基于前述方案,所述第一处理单元还配置为:在区块链节点重启后,获取所述日志中所包含的区块及区块执行结果;根据从所述日志中获取到的区块及区块执行结果进行持久化处理。
[0009]在本申请的一些实施例中,基于前述方案,所述第一处理单元配置为:在将达成共
识的区块及对应的区块执行结果成功写入所述日志之后,将达成共识的区块所对应的区块信息中所包含的各项数据分别写入所述各项数据对应的消息队列及缓存中。
[0010]在本申请的一些实施例中,基于前述方案,所述第一处理单元还配置为:若将达成共识的区块及对应的区块执行结果写入所述日志失败,则进行重试处理,当重试次数达到设定次数后,停止进行落账处理并发出告警通知消息。
[0011]在本申请的一些实施例中,基于前述方案,所述第二处理单元还配置为:在对目标区块对应的各项数据进行持久化处理之后,从所述缓存中删除所述目标区块对应的各项数据。
[0012]在本申请的一些实施例中,基于前述方案,所述第一处理单元配置为:将所述区块信息中所包含的区块头写入区块头对应的队列中及缓存中,将所述区块信息中所包含的交易数据写入交易数据对应的队列中及缓存中,将所述区块信息中所包含的写集合写入写结合对应的队列中及缓存中,其中,所述交易数据包括交易信息列表及交易执行结果。
[0013]在本申请的一些实施例中,基于前述方案,所述区块信息中包含的各项数据包括:区块头、交易数据及写集合;所述第一处理单元配置为:以区块高度作为关键字、区块头数据作为值,将所述区块信息中包含的区块头写入所述区块头对应的缓存中;以交易哈希作为关键字、交易数据作为值,将所述区块信息中包含的交易数据写入所述交易数据对应的缓存中;以表名和索引作为关键字、写数据作为值,将所述区块信息中包含的写集合写入所述写集合对应的缓存中。
[0014]在本申请的一些实施例中,基于前述方案,所述持久化单元配置为:对所述各项数据对应的消息队列进行监听;若监听到目标消息队列中包含有数据,则从所述目标消息队列中依次读取数据进行持久化处理。
[0015]在本申请的一些实施例中,基于前述方案,所述持久化单元配置为:调用存储层接口对从所述目标消息队列中依次读取出的数据进行持久化处理;若持久化处理失败,则重新调用所述存储层接口对从所述目标消息队列中读取出的数据进行持久化处理,直到持久化处理成功。
[0016]在本申请的一些实施例中,基于前述方案,所述持久化单元配置为:启动针对各个所述消息队列的监听任务;通过针对各个所述消息队列的监听任务,对所述各项数据对应的消息队列进行监听。
[0017]在本申请的一些实施例中,基于前述方案,所述第二处理单元还配置为:在对所述区块信息完成持久化处理之前,通过所述缓存中存储的数据响应业务请求。
[0018]根据本申请实施例的一个方面,提供了一种计算机可读介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述实施例中所述的区块链的异步落账方法。
[0019]根据本申请实施例的一个方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述实施例中所述的区块链的异步落账方法。
[0020]根据本申请实施例的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机
指令,使得该计算机设备执行上述各种可选实施例中提供的区块链的异步落账方法。
[0021]在本申请的一些实施例所提供的技术方案中,在区块达成共识之后,将达成共识的区块所对应的区块信息中包含的各项数据分别写入对应的消息队列及缓存中,并在将各项数据分别写入对应的消息队列及缓存中之后,开启下一轮的区块共识过程,然后分别从各项数据对应的消息队列中读取数据进行区块链账本的持久化处理。可见,本申请实施例的技术方案一方面通过并行的对区块信息中包含的各项数据进行处理,降低了区块的落账延迟;另一方面在将数据写入消息队列及缓存中之后就可以开启下一轮的区块共识过程,无需等待区块中的各项数据的持久化过程,提高了区块链网络的吞吐量,进而有效提升了区块链网络的处理性能。
[0022]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
[0023]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种区块链的异步落账方法,其特征在于,包括:在区块达成共识之后,将达成共识的区块所对应的区块信息中包含的各项数据分别写入所述各项数据对应的消息队列及缓存中;在将所述各项数据分别写入所述各项数据对应的消息队列及缓存中之后,开启下一轮的区块共识过程;分别从所述各项数据对应的消息队列中读取数据进行区块链账本的持久化处理。2.根据权利要求1所述的异步落账方法,其特征在于,所述异步落账方法还包括:在区块达成共识之后,将达成共识的区块及对应的区块执行结果写入日志中;在对目标区块对应的各项数据进行持久化处理之后,从所述日志中删除所述目标区块及所述目标区块的区块执行结果。3.根据权利要求2所述的异步落账方法,其特征在于,所述异步落账方法还包括:在区块链节点重启后,获取所述日志中所包含的区块及区块执行结果;根据从所述日志中获取到的区块及区块执行结果进行持久化处理。4.根据权利要求2所述的异步落账方法,其特征在于,将达成共识的区块所对应的区块信息中包含的各项数据分别写入所述各项数据对应的消息队列及缓存中,包括:在将达成共识的区块及对应的区块执行结果成功写入所述日志之后,将达成共识的区块所对应的区块信息中所包含的各项数据分别写入所述各项数据对应的消息队列及缓存中。5.根据权利要求4所述的异步落账方法,其特征在于,所述异步落账方法还包括:若将达成共识的区块及对应的区块执行结果写入所述日志失败,则进行重试处理,当重试次数达到设定次数后,停止进行落账处理并发出告警通知消息。6.根据权利要求1所述的异步落账方法,其特征在于,所述异步落账方法还包括:在对目标区块对应的各项数据进行持久化处理之后,从所述缓存中删除所述目标区块对应的各项数据。7.根据权利要求1所述的异步落账方法,其特征在于,将达成共识的区块所对应的区块信息中包含的各项数据分别写入所述各项数据对应的消息队列及缓存中,包括:将所述区块信息中所包含的区块头写入区块头对应的队列中及缓存中,将所述区块信息中所包含的交易数据写入交易数据对应的队列中及缓存中,将所述区块信息中所包含的写集合写入写结合对应的队列中及缓存中,其中,所述交易数据包括交易信息列表及交易执行结果。8.根据权利要求1所述的异步落账方法,其特征在于,所述区块信息中包含的各项数据包括:区块头、交易数据及写集合;将达成共识的区块所对应的区块信息中包含的各项数据分别写入所述各项数...

【专利技术属性】
技术研发人员:刘攀
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

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

1