一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种区块链交易的处理方法、区块链节点及电子设备与流程

2022-05-26 23:00:31 来源:中国专利 TAG:


1.本文件涉及区块链技术领域,尤其涉及一种区块链交易的处理方法、区块链节点及电子设备。


背景技术:

2.区块链由于具有开放性、不可篡改、去中心化等优点,越来越受到各行各业的青睐。目前区块链交易的处理流程主要包括:交易收集、交易共识、交易执行以及写块四个阶段。现有技术中,这四个阶段是以串行方式执行的,导致区块链交易的处理效率相对较低。
3.在未来阶段,区块链业务会呈爆发性增长,为了满足业务高并发的场景需求,有必要提出一种可以提高区块链交易处理效率的技术方案。


技术实现要素:

4.本说明书实施例目的是提供一种区块链交易的处理方法、区块链节点及电子设备,能够提高区块链交易的处理效率。
5.为了实现上述目的,本说明书实施例是这样实现的:
6.第一方面,提供一种区块链交易的处理方法,应用于区块链节点,包括:
7.收集区块链的第n轮共识提议中的第一批次交易,所述第n轮共识提议中包括多个批次交易,其中,n为正整数;
8.对所述第一批次交易执行共识操作,以及如果存在第二批次交易则并行执行按批次顺序对所述第二批次交易的收集操作,其中,所述第二批次交易为所述第n轮共识提议尚未完成收集的批次交易;
9.对所述第一批次交易进行交易执行操作,以及如果存在第三批次交易并行执行按批次顺序所述对第三批次交易的共识操作,其中,所述第三批次交易为所述第n轮共识提议已经收集完毕且尚未完成共识的批次交易;
10.在所述区块链中发送所述第一批次交易的交易执行结果以对所述第一批次交易进行交易确认;
11.在得到所述第n轮共识提议的所有批次交易的交易确认后,对所述第n轮共识提议的所有批次交易执行写块操作。
12.第二方面,提供一种区块链交易的处理方法,应用于区块链节点,包括:
13.收集区块链的第n轮共识提议中的第一批次交易,所述第n轮共识提议中包括多个批次交易,其中,n为正整数;
14.对所述第一批次交易执行共识操作,以及如果存在第二批次交易则并行执行按批次顺序对所述第二批次交易的收集操作,其中,所述第二批次交易为所述第n轮共识提议尚未完成收集的批次交易;
15.如果所述第n轮共识提议的所有批次交易都完成共识,对所述第n轮共识提议的所有批次交易进行交易执行操作;
16.在所述区块链中发送所述第n轮共识提议的所有批次交易的交易执行结果以对所述第n轮共识提议的所有批次交易进行交易确认;
17.在得到所述第n轮共识提议的所有批次交易的交易确认后,对所述第n轮共识提议的所有批次交易执行写块操作。
18.第三方面,提供一种区块链节点,包括:
19.第一交易收集模块,收集区块链的第n轮共识提议中的第一批次交易,所述第n轮共识提议中包括多个批次交易,其中,n为正整数;
20.第一交易共识模块,对所述第一批次交易执行共识操作,以及如果存在第二批次交易,则所述交易收集模块同时并行执行按批次顺序对第二批次交易的收集操作,其中,所述第二批次交易为所述第n轮共识提议尚未完成收集的批次交易;
21.第一交易执行模块,对所述第一批次交易进行交易执行操作,以及如果存在第三批次交易,则所述交易共识模块同时并行执行按批次顺序所述对第三批次交易的共识操作,其中,所述第三批次交易为所述第n轮共识提议已经收集完毕且尚未完成共识的批次交易;
22.第一交易确认模块,在所述区块链中发送所述第一批次交易的交易执行结果以对所述第一批次交易进行交易确认;
23.第一交易写块模块,在得到所述第n轮共识提议的所有批次交易的交易确认后,对所述第n轮共识提议的所有批次交易执行写块操作。
24.第四方面,提供一种电子设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行:
25.收集区块链的第n轮共识提议中的第一批次交易,所述第n轮共识提议中包括多个批次交易,其中,n为正整数;
26.对所述第一批次交易执行共识操作,以及如果存在第二批次交易则并行执行按批次顺序对所述第二批次交易的收集操作,其中,所述第二批次交易为所述第n轮共识提议尚未完成收集的批次交易;
27.对所述第一批次交易进行交易执行操作,以及如果存在第三批次交易并行执行按批次顺序所述对第三批次交易的共识操作,其中,所述第三批次交易为所述第n轮共识提议已经收集完毕且尚未完成共识的批次交易;
28.在所述区块链中发送所述第一批次交易的交易执行结果以对所述第一批次交易进行交易确认;
29.在得到所述第n轮共识提议的所有批次交易的交易确认后,对所述第n轮共识提议的所有批次交易执行写块操作。
30.第五方面,提供一种算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如下步骤:
31.收集区块链的第n轮共识提议中的第一批次交易,所述第n轮共识提议中包括多个批次交易,其中,n为正整数;
32.对所述第一批次交易执行共识操作,以及如果存在第二批次交易则并行执行按批次顺序对所述第二批次交易的收集操作,其中,所述第二批次交易为所述第n轮共识提议尚未完成收集的批次交易;
33.对所述第一批次交易进行交易执行操作,以及如果存在第三批次交易并行执行按批次顺序所述对第三批次交易的共识操作,其中,所述第三批次交易为所述第n轮共识提议已经收集完毕且尚未完成共识的批次交易;
34.在所述区块链中发送所述第一批次交易的交易执行结果以对所述第一批次交易进行交易确认;
35.在得到所述第n轮共识提议的所有批次交易的交易确认后,对所述第n轮共识提议的所有批次交易执行写块操作。
36.第六方面,提供一种区块链节点,包括:
37.第二交易收集模块,收集区块链的第n轮共识提议中的第一批次交易,所述第n轮共识提议中包括多个批次交易,其中,n为正整数;
38.第二交易共识模块,对所述第一批次交易执行共识操作,以及如果存在第二批次交易,则所述交易收集模块同时并行执行按批次顺序对第二批次交易的收集操作,其中,所述第二批次交易为所述第n轮共识提议尚未完成收集的批次交易;
39.第二交易执行模块,如果所述第n轮共识提议的所有批次交易都完成共识,对所述第n轮共识提议的所有批次交易进行交易执行操作;
40.第二交易确认模块,在所述区块链中发送所述第一批次交易的交易执行结果以对所述第一批次交易进行交易确认;
41.第二交易写块模块,在得到所述第n轮共识提议的所有批次交易的交易确认后,对所述第n轮共识提议的所有批次交易执行写块操作。
42.第七方面,提供一种电子设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行:
43.收集区块链的第n轮共识提议中的第一批次交易,所述第n轮共识提议中包括多个批次交易,其中,n为正整数;
44.对所述第一批次交易执行共识操作,以及如果存在第二批次交易则并行执行按批次顺序对所述第二批次交易的收集操作,其中,所述第二批次交易为所述第n轮共识提议尚未完成收集的批次交易;
45.如果所述第n轮共识提议的所有批次交易都完成共识,对所述第n轮共识提议的所有批次交易进行交易执行操作;
46.在所述区块链中发送所述第n轮共识提议的所有批次交易的交易执行结果以对所述第n轮共识提议的所有批次交易进行交易确认;
47.在得到所述第n轮共识提议的所有批次交易的交易确认后,对所述第n轮共识提议的所有批次交易执行写块操作。
48.第八方面,提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如下步骤:
49.收集区块链的第n轮共识提议中的第一批次交易,所述第n轮共识提议中包括多个批次交易,其中,n为正整数;
50.对所述第一批次交易执行共识操作,以及如果存在第二批次交易则并行执行按批次顺序对所述第二批次交易的收集操作,其中,所述第二批次交易为所述第n轮共识提议尚未完成收集的批次交易;
51.如果所述第n轮共识提议的所有批次交易都完成共识,对所述第n轮共识提议的所有批次交易进行交易执行操作;
52.在所述区块链中发送所述第n轮共识提议的所有批次交易的交易执行结果以对所述第n轮共识提议的所有批次交易进行交易确认;
53.在得到所述第n轮共识提议的所有批次交易的交易确认后,对所述第n轮共识提议的所有批次交易执行写块操作。
54.基于本说明书实施例的方案,区块链节点可以对每轮共识提议分批次执行易收集、交易共识、交易执行以及交易确认。特别是在对每轮共识提议的中间批次交易执行共识操作的同时,还执行上一批次交易的执行操作以及下一批次交易的收集操作,从而通过并行方式缩短了区块链交易的处理时间,进而提高了区块链的吞吐量,以满足业务高并发场景的需求。
附图说明
55.为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书实施例中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
56.图1为本说明书实施例提供的区块链交易的处理方法的第一种流程示意图。
57.图2为本说明书实施例提供的区块链交易的处理方法的第一种时隙示意图。
58.图3为本说明书实施例提供的区块链交易的处理方法的第二种时隙示意图。
59.图4为本说明书实施例提供的区块链交易的处理方法的第二种流程示意图。
60.图5为本说明书实施例提供的区块链交易的处理方法的第三种时隙示意图。
61.图6为本说明书实施例提供的第一种区块链节点的结构示意图。
62.图7为本说明书实施例提供的第二种区块链节点的结构示意图。
63.图8为本说明书实施例提供的电子设备的结构示意图。
具体实施方式
64.为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
65.如前所述,目前区块链是以串行方式完成交易的收集、共识、执行和写块这四个操作的,这导致区块链交易的处理效率相对较低,限制了区块链的吞吐量。随着区块链越来越受到各行各业的青睐,业务量也会呈爆发性增长。显然,目前的这种交易处理方式难以再适用于以后业务高并发的场景中。针对这一问题,本文件旨在提供一种能够提高区块链交易处理效率的技术方案。
66.图1是本说明书实施例区块链交易的处理方法的流程图。图1所示的方法可以由下文相对应的区块链节点执行,包括如下步骤:
67.s102,收集区块链的第n轮共识提议中的第一批次交易,第n轮共识提议中包括多个批次交易,n为正整数。
68.需要说明的是,本文不对第n轮共识提议的交易批次划分逻辑作具体限定。但凡是将第n轮共识提议中的交易划分成多个批次的方案都应属于本说明书实施例的保护范围。
69.作为示例性介绍:本说明书实施例中,区块链的各区块链节点可以基于提前设定好的智能合约,统一将第n轮共识提议的所有交易按照对应的交易发起时间进行有序的批次划分。或者,按照第n轮共识提议中的交易顺序,对第n轮共识提议的所有交易进行批次划分。
70.s104,对第一批次交易执行共识操作,以及如果存在第二批次交易则并行执行按批次顺序对第二批次交易的收集操作,第二批次交易为第n轮共识提议尚未完成收集的批次交易。
71.应理解,本步骤所述的尚未完成收集的批次交易可以包括尚未启动收集的批次交易,或者已经启动收集但尚未完成收集的批次交易。批次顺序即上文s102中所述的批次划分顺序。
72.本说明书实施例中,区块链节点分批收集第n轮共识提议的交易。在收集完成目标批次交易后,即可同时执行:目标批次交易的共识执行操作以及目标批次交易对应的下一批次交易的收集操作。也就是说,本步骤所述的第二批次交易是指第一批次交易的下一批次交易。
73.s106,对第一批次交易进行交易执行操作,以及如果存在第三批次交易并行执行按批次顺序对第三批次交易的共识操作,第三批次交易为第n轮共识提议已经收集完毕且尚未完成共识的批次交易。
74.应理解,本步骤所述的尚未完成共识的批次交易可以包括尚未启动共识的批次交易,或者已经启动共识但共识尚未完成共识的批次交易。
75.同理,本说明书实施例中,区块链节点分批对第n轮共识提议的交易执行共识操作。在执行完成目标批次交易的共识操作后,即可同时执行:目标批次交易的执行操作以及目标批次交易对应的下一批次交易的共识操作。也就是说,本步骤所述的第三批次交易是指第二批次交易的下一批次交易。
76.s108,在区块链中发送第一批次交易的交易执行结果以对第一批次交易进行交易确认。
77.具体地,作为本步骤执行主体的区块链节点可以向区块链的其他区块链节点发送第一批次交易的交易执行结果的交易确认请求;之后如果接收到2f个其他区块链节点发送的交易确认反馈,则确认得到对第一批次交易的交易确认。其中,f为区块链允许的异常共识节点最大数量。
78.s110,在得到第n轮共识提议的所有批次交易的交易确认后,对第n轮共识提议的所有批次交易执行写块操作。
79.应理解,本说明书实施例中,区块链节点对第n轮共识提议的交易分批次进行共识操作,但最终可以只执行一次写块操作。也就是说本说明书实施例中,第n轮共识提议的所有批次交易可以通过一个区块进行记录。
80.基于本说明书实施例的方法,区块链节点可以对每轮共识提议分批次执行易收
集、交易共识、交易执行以及交易确认。特别是在对每轮共识提议的中间批次交易执行共识操作的同时,还执行上一批次交易的执行操作以及下一批次交易的收集操作,从而通过并行方式缩短了区块链交易的处理时间,进而提高了区块链的吞吐量,以满足业务高并发场景的需求。
81.此外,在得到第一批次交易的交易确认后,还可以将第一批次交易的交易执行结果反馈至对应的区块链客户端。也就是说,本说明书实施例的方法中,区块链节点在每个批次交易完成交易执行并得到交易确认后,即可立刻将交易执行反馈至的区块链客户端,从而显著降低区块链客户端侧的交易确认时延,进而提高用户使用体验。
82.或者,为了降低与区块链客户端侧交互的资源开销,也可以在得到第n轮共识提议的所有批次交易的交易确认后,再将第n轮共识提议的所有批次交易的交易执行结果统一反馈至对应的区块链客户端。
83.在实际应用中,可以针对第n轮共识提议中的交易数量,决定交易执行结果的反馈策略。比如,当第n轮共识提议中的交易数量超出预设阈值时,则可以选择在每个批次交易完成交易执行并得到交易确认后,立刻将交易执行结果反馈至的区块链客户端。同理,当第n轮共识提议中的交易数量未超出预设阈值时,则可以选择在第n轮共识提议的所有批次交易完成交易执行并得到交易确认后,再将第n轮共识提议的所有批次交易的交易执行结果统一反馈至对应的区块链客户端。
84.此外,还应理解的是,本说明书实施例的方法可以连续处理多轮共识提议的交易。
85.下面以本说明书实施例方法连续处理第n轮和第n 1轮的共识提议中的交易为示例,对工作原理进行详细介绍。
86.参考图2,本说明书实施例的方法可以设置相互并行执行的第一线程、第二线程、第三线程、第四线程和第五线程,以分别对应执行区块链交易的收集、共识、交易执行、交易确认和写块这五个操作。
87.其中,第一线程用于按批次收集交易,也就是第一线程在收集完一个批次交易之前不收集其它批次交易;第二线程用于按批次执行交易的共识操作,也就是第二线程在执行完一个批次交易的共识操作之前不执行其它批次交易的共识操作;第三线程用于按批次执行交易的执行操作,也就是在执行完一个批次交易的执行操作之前不执行其它批次交易的执行操作。第四线程按批次进行交易确认,也就是在执行完一个批次交易的交易确认之前不执行其它批次交易的交易确认。第五线程则在每轮共识提议的所有批次交易完成交易确认后,统一执行写块操作。
88.以上文所述的第一批次交易为例。在第一线程收集完第一批次交易之后,通知第二线程对所述第一批次交易进行共识操作;在第二线程执行完第一批次交易的共识操作之后,通知第三线程对第一批次交易进行执行操作;在第三线程执行完第一批次交易的执行操作之后,通知第四线程对第一批次交易进行交易确认。
89.这里以第n轮和第n 1轮的共识提议均划分有三个批次交易为示例,采用上述线程的工作原理,第n轮和第n 1轮的共识提议可以呈现图2所示的时隙关系。
90.从图2可以看出:
91.如果在对第一批次交易执行共识操作时,第n轮共识提议中的所有批次交易都收集完毕,则执行按批次顺序对第n 1轮共识提议中的批次交易的收集操作。
92.如果在对第一批次交易进行交易执行操作时,存在第二批次交易,则并行执行按批次顺序对所述第二批次交易的收集操作。
93.如果对第一批次交易进行交易执行操作时,第n轮共识提议中的所有批次交易都收集完毕,则执行按批次顺序对第n 1轮共识提议中的批次交易的收集操作。
94.如果对第一批次交易进行交易执行操作时,第n轮共识提议中的所有批次交易都共识完毕,则执行按批次顺序对第n 1轮共识提议中的已收集但尚未完成共识的批次交易的共识操作。
95.如果对所述第一批次交易进行写块操作时,第n轮共识提议中的所有批次交易都收集完毕,则执行按批次顺序对第n 1轮共识提议中的批次交易的收集操作。
96.如果对第一批次交易进行写块操作时,第n轮共识提议中的所有批次交易都共识完毕,则执行按批次顺序对第n 1轮共识提议中的已收集但尚未完成共识的批次交易的共识操作。
97.此外还应理解的是,保证交易执行的有序性也十分重要。假设某个交易场景中,用户a需要向用户b汇款10000元,再由用户b向用户c汇款5000元。假设用户b初始的余额为3000元,如果交易不按序执行,也就是用户b先向用户c汇款5000元,用户a再向用户b汇入10000元,那么会出现用户b向用户c汇款失败的问题。
98.因此为了避免这种交易逻辑问题发生,每轮共识提议后一批次交易不能早于前一批次交易进行交易执行。而在实际的交易数据的上链过程中,执行阶段的耗时要大于收集阶段和共识阶段的耗时。这样导致每个中间批次交易在共识完成后,需要等待上一批次交易完成执行,这个等待时间(图2中的t表示等待时间)会决定交易数据的上链效率。
99.基于本说明书实施例的方法将每轮共识提议的交易进行多个小批次划分,可以减少每批次交易在执行上的耗时,也就是减少了t在图2中的长度,从而提高区块链交易的处理效率。
100.应理解,上述第一线程、第二线程、第三线程、第四线程和第五线程可以属于处理器的不同核心。也就是本说明实施例可以多核多线程并行的方式,对同一轮共识提议执行交易的收集操作、共识操作以及执行操作。
101.以上是对本说明书实施例的方法的介绍。应理解,在不脱离本文上述原理基础之上,还可以进行适当的变化,这些变化也应视为本说明书实施例的保护范围。
102.比如,本说明实施例中,由于交易执行结果反馈客户端的操作可以在交易执行后立刻执行,因此可以使用一个线程来执行交易执行操作和交易执行结果的反馈操作。即,上文所述的第四线程即为上文所述的第三线程,第n轮和第n 1轮的共识提议可以呈现图3所示的时隙关系。
103.再比如,本说明书实施例的方法还可以在第n轮共识提议中的多有批次交易均完成共识后,再统一执行对第n轮共识提议的所有批次交易的执行操作和写块操作。即,本说明书实施例区块链交易的处理方法还可以如图4所示,包括以下步骤:
104.s402,收集区块链的第n轮共识提议中的第一批次交易,第n轮共识提议中包括多个批次交易。
105.s404,对第一批次交易执行共识操作,以及如果存在第二批次交易则并行执行按批次顺序对第二批次交易的收集操作,第二批次交易为第n轮共识提议尚未完成收集的批
次交易。
106.s406,如果第n轮共识提议的所有批次交易都完成共识,对第n轮共识提议的所有批次交易进行交易执行操作。
107.s408,在区块链中发送第n轮共识提议的所有批次交易的交易执行结果以对第n轮共识提议的所有批次交易进行交易确认。
108.s410,在得到第n轮共识提议的所有批次交易的交易确认后,对第n轮共识提议的所有批次交易执行写块操作。
109.图5是基于图4所示的方法进行第n轮和第n 1轮共识提议的时隙关系图。应理解,第n轮共识提议的所有批次交易的执行操作至少要在第n-1轮共识提议的所有批次交易的执行操作完成后才能执行。
110.同理,图4所示的方法通过第一线程对每轮共识提议按批次顺序收集交易,也就是第一线程在收集完一个批次交易之前不收集其它批次交易;通过二线程对每轮共识提议按批次顺序执行交易的共识操作,也就是第二线程在执行完一个批次交易的共识操作之前不执行其它批次交易的共识操作;通过第三线程对每轮共识提议中的所有批次交易统一进行交易执行操作;通过第四线程执行对每轮共识提议中的所有批次交易统一进行交易确认;通过第五线程执行对每轮共识提议中的所有批次交易统一进行写块操作。这里,第一线程、第二线程、第三线程和第四线程和第五线程为并行执行的线程。
111.从图5可以看出,对于图4所示的方法:
112.如果在对第一批次交易执行共识操作时,第n轮共识提议中的所有批次交易都收集完毕,则执行按批次顺序对第n 1轮共识提议中的批次交易的收集操作。
113.如果在对第一批次交易进行交易执行操作时,存在第二批次交易,则并行执行按批次顺序对第二批次交易的收集操作。
114.如果对第一批次交易进行交易执行操作时,第n轮共识提议中的所有批次交易都收集完毕,则执行按批次顺序对第n 1轮共识提议中的批次交易的收集操作。
115.如果对第一批次交易进行交易执行操作时,第n轮共识提议中的所有批次交易都共识完毕,则执行按批次顺序对第n 1轮共识提议中的已收集但尚未完成共识的批次交易的共识操作。
116.如果对第一批次交易进行写块操作时,第n轮共识提议中的所有批次交易都收集完毕,则执行按批次顺序对第n 1轮共识提议中的批次交易的收集操作。
117.如果对第一批次交易进行写块操作时,第n轮共识提议中的所有批次交易都共识完毕,则执行按批次顺序对第n 1轮共识提议中的已收集但尚未完成共识的批次交易的共识操作。
118.由此可见,图4所示的方法也可以分批次执行每轮共识提议的交易收集、交易共识。特别是在对每轮共识提议的中间批次交易执行共识操作的同时,还执行下一批次交易的收集操作,从而也可以通过并行方式缩短了区块链交易的处理时间,进而提高了区块链的吞吐量,以满足业务高并发场景的需求。
119.此外,与上述图1所示的处理方法相对应地,本说明书实施例还提供一种区块链节点。图6是本说明书实施例的区块链节点600的结构示意图,包括:
120.第一交易收集模块610,收集区块链的第n轮共识提议中的第一批次交易,所述第n
轮共识提议中包括多个批次交易,其中,n为正整数。
121.第一交易共识模块620,对所述第一批次交易执行共识操作,以及如果存在第二批次交易,则所述交易收集模块同时并行执行按批次顺序对所述第二批次交易的收集操作,其中,所述第二批次交易为所述第n轮共识提议尚未完成收集的批次交易。
122.第一交易执行模块630,对所述第一批次交易进行交易执行操作,以及如果存在第三批次交易,则所述交易共识模块同时并行执行按批次顺序对所述第三批次交易的共识操作,其中,所述第三批次交易为所述第n轮共识提议已经收集完毕且尚未完成共识的批次交易;
123.第一交易确认模块640,在所述区块链中发送所述第一批次交易的交易执行结果以对所述第一批次交易进行交易确认。
124.第一交易写块模块650,在得到所述第n轮共识提议的所有批次交易的交易确认后,对所述第n轮共识提议的所有批次交易执行写块操作。
125.本说明书实施例的区块链节点可以分批次执行每轮共识提议的交易收集、交易共识以及交易执行。具体地,在对中间批次交易执行共识操作的同时,还执行上一批次交易的执行操作以及下一批次交易的收集操作,从而通过并行方式缩短了区块链交易的处理时间,进而提高了区块链的吞吐量,以满足业务高并发场景的需求。
126.可选地,如果在对所述第一批次交易执行共识操作时,所述第n轮共识提议中的所有批次交易都收集完毕,则第一交易收集模块610执行按批次顺序对第n 1轮共识提议中的批次交易的收集操作。
127.可选地,如果在对所述第一批次交易进行交易执行操作时,存在所述第二批次交易,则第一交易收集模块610并行执行按批次顺序对所述第二批次交易的收集操作。
128.可选地,如果对所述第一批次交易进行交易执行操作时,所述第n轮共识提议中的所有批次交易都收集完毕,则第一交易收集模块610执行按批次顺序对第n 1轮共识提议中的批次交易的收集操作。
129.可选地,如果对所述第一批次交易进行写块操作时,所述第n轮共识提议中的所有批次交易都收集完毕,则第一交易收集模块610执行按批次顺序对第n 1轮共识提议中的批次交易的收集操作。
130.可选地,如果对所述第一批次交易进行写块操作时,所述第n轮共识提议中的所有批次交易都共识完毕,则第一交易收集模块610执行按批次顺序对第n 1轮共识提议中的已收集但尚未完成共识的批次交易的共识操作。
131.可选地,第一交易确认模块640向所述区块链的其他区块链节点发送所述第一批次交易的交易执行结果的交易确认请求。之后,如果接收到2f个其他区块链节点发送的交易确认反馈,则确认得到对所述第一批次交易的交易确认,f为区块链允许的异常共识节点最大数量。
132.可选地,本说明书实施例图6所示的区块链节点还包括:
133.第一交易反馈模块,在得到所述第一批次交易的交易确认后,将所述第一批次交易的交易执行结果反馈至对应的区块链客户端;或者,在得到所述第n轮共识提议的所有批次交易的交易确认后,将所述第n轮共识提议的所有批次交易的交易执行结果反馈至对应的区块链客户端。
134.可选地,第一交易收集模块610通过第一线程收集所述第n轮共识提议中的所有批次交易,所述第一线程在收集完一个批次交易之前不收集其它批次交易。第一交易共识模块620通过第二线程执行对所述第n轮共识提议中的所有批次交易的共识操作,所述二线程在执行完一个批次交易的共识操作之前不执行其它批次交易的共识操作。第一交易执行模块630通过第三线程执行对所述第n轮共识提议中的所有批次交易的执行操作,所述第三线程在执行完一个批次交易的执行操作之前不执行其它批次交易的执行操作;第一交易确认模块640通过第四线程执行所述第n轮共识提议中的所有批次交易的交易确认。第一交易写块模块650,通过第五线程执行对所述第n轮共识提议中的所有批次交易执行写块操作。其中,所述第一线程、所述第二线程、所述第三线程、所述第四线程和所述第五线程为并行执行的线程。
135.可选地,在所述第一线程收集完所述第一批次交易之后,通知所述第二线程对所述第一批次交易进行共识操作;在所述第二线程执行完所述第一批次交易的共识操作之后,通知所述第三线程对所述第一批次交易进行执行操作;在所述第三线程执行完所述第一批次交易的执行操作之后,通知所述第四线程对所述第一批次交易进行交易确认。
136.显然,图6所示的区块链节点可以作为上述图1所示的处理方法的执行主体,因此能够实现该处理方法在图1至图3所实现的功能。由于原理相同,本文不再赘述。
137.此外,与上述图4所示的处理方法相对应地,本说明书实施例还提供一种区块链节点。图7是本说明书实施例的区块链节点700的结构示意图,包括:
138.第二交易收集模块710,收集区块链的第n轮共识提议中的第一批次交易,所述第n轮共识提议中包括多个批次交易,其中,n为正整数;
139.第二交易共识模块720,对所述第一批次交易执行共识操作,以及如果存在第二批次交易,则所述交易收集模块同时并行执行按批次顺序对第二批次交易的收集操作,其中,所述第二批次交易为所述第n轮共识提议尚未完成收集的批次交易;
140.第二交易执行模块730,如果所述第n轮共识提议的所有批次交易都完成共识,对所述第n轮共识提议的所有批次交易进行交易执行操作;
141.第二交易确认模块740,在所述区块链中发送所述第一批次交易的交易执行结果以对所述第一批次交易进行交易确认;
142.第二交易写块模块750,在得到所述第n轮共识提议的所有批次交易的交易确认后,对所述第n轮共识提议的所有批次交易执行写块操作。
143.可选地,如果在对所述第一批次交易执行共识操作时,所述第n轮共识提议中的所有批次交易都收集完毕,则第二交易收集模块710执行按批次顺序对第n 1轮共识提议中的批次交易的收集操作。
144.可选地,如果在对所述第一批次交易进行交易执行操作时,存在所述第二批次交易,则第二交易收集模块710并行执行按批次顺序对所述第二批次交易的收集操作。
145.可选地,如果对所述第一批次交易进行交易执行操作时,所述第n轮共识提议中的所有批次交易都收集完毕,则第二交易收集模块710执行按批次顺序对第n 1轮共识提议中的批次交易的收集操作。
146.可选地,如果对所述第一批次交易进行写块操作时,所述第n轮共识提议中的所有批次交易都收集完毕,则第二交易收集模块710执行按批次顺序对第n 1轮共识提议中的批
次交易的收集操作。
147.可选地,如果对所述第一批次交易进行写块操作时,所述第n轮共识提议中的所有批次交易都共识完毕,则第二交易收集模块710执行按批次顺序对第n 1轮共识提议中的已收集但尚未完成共识的批次交易的共识操作。
148.可选地,第二交易确认模块740向所述区块链的其他区块链节点发送所述第一批次交易的交易执行结果的交易确认请求。之后,如果接收到2f个其他区块链节点发送的交易确认反馈,则确认得到对所述第一批次交易的交易确认,f为区块链允许的异常共识节点最大数量。
149.可选地,本说明书实施例图7所示的区块链节点还包括:
150.第二交易反馈模块,在得到所述第n轮共识提议的所有批次交易的交易确认后,将所述第n轮共识提议的所有批次交易的交易执行结果反馈至对应的区块链客户端。
151.可选地,第二交易收集模块710通过第一线程收集所述第n轮共识提议中的所有批次交易,所述第一线程在收集完一个批次交易之前不收集其它批次交易。第二交易共识模块720通过第二线程执行对所述第n轮共识提议中的所有批次交易的共识操作,所述二线程在执行完一个批次交易的共识操作之前不执行其它批次交易的共识操作。第二交易执行模块730通过第三线程执行对所述第n轮共识提议中的所有批次交易的执行操作;第二交易确认模块740通过第四线程执行所述第n轮共识提议中的所有批次交易的交易确认。第二交易写块模块750,通过第五线程执行对所述第n轮共识提议中的所有批次交易执行写块操作。其中,所述第一线程、所述第二线程、所述第三线程、所述第四线程和所述第五线程为并行执行的线程。
152.可选地,在所述第一线程收集完所述第一批次交易之后,通知所述第二线程对所述第一批次交易进行共识操作。
153.显然,图7所示的区块链节点节点可以作为上述图4所示的处理方法的执行主体,因此能够实现该处理方法在图4和图5所实现的功能。由于原理相同,本文不再赘述。
154.图8是本说明书的一个实施例电子设备的结构示意图。请参考图8,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(random-access memory,ram),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
155.处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是isa(industry standard architecture,工业标准体系结构)总线、pci(peripheral component interconnect,外设部件互连标准)总线或eisa(extended industry standard architecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
156.存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
157.可选地,处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成区块链交易的处理装置,该处理装置可以作为图6所示的区块链节点或
者区块链节点中的部件。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
158.收集区块链的第n轮共识提议中的第一批次交易,所述第n轮共识提议中包括多个批次交易,其中,n为正整数。
159.对所述第一批次交易执行共识操作,以及如果存在第二批次交易则并行执行按批次顺序对所述第二批次交易的收集操作,其中,所述第二批次交易为所述第n轮共识提议尚未完成收集的批次交易。
160.对所述第一批次交易进行交易执行操作,以及如果存在第三批次交易并行执行按批次顺序对所述第三批次交易的共识操作,其中,所述第三批次交易为所述第n轮共识提议已经收集完毕且尚未完成共识的批次交易。
161.在所述区块链中发送所述第一批次交易的交易执行结果以对所述第一批次交易进行交易确认。
162.在得到所述第n轮共识提议的所有批次交易的交易确认后,对所述第n轮共识提议的所有批次交易执行写块操作。
163.可选地,处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成区块链交易的处理装置,该处理装置可以作为图7所示的区块链节点或者区块链节点中的部件。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
164.收集区块链的第n轮共识提议中的第一批次交易,所述第n轮共识提议中包括多个批次交易,其中,n为正整数。
165.对所述第一批次交易执行共识操作,以及如果存在第二批次交易则并行执行按批次顺序对所述第二批次交易的收集操作,其中,所述第二批次交易为所述第n轮共识提议尚未完成收集的批次交易。
166.如果所述第n轮共识提议的所有批次交易都完成共识,对所述第n轮共识提议的所有批次交易进行交易执行操作。
167.在所述区块链中发送所述第n轮共识提议的所有批次交易的交易执行结果以对所述第n轮共识提议的所有批次交易进行交易确认。
168.在得到所述第n轮共识提议的所有批次交易的交易确认后,对所述第n轮共识提议的所有批次交易执行写块操作。
169.上述如本说明书图1或图3所示实施例揭示的处理方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本说明书实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本说明书实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质
中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
170.应理解,本说明书实施例的电子设备可以实现图6所示的区块链节点在图1至图3所示的实施例的功能,或者实现图7所示的区块链节点在图4和图5所示的实施例的功能。由于原理相同,本文不再赘述。
171.当然,除了软件实现方式之外,本说明书的电子设备并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
172.此外,本说明书实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令。
173.可选地,上述指令当被包括多个应用程序的便携式电子设备执行时,能够使该便携式电子设备执行图1所示实施例的方法,并具体用于执行以下方法:
174.收集区块链的第n轮共识提议中的第一批次交易,所述第n轮共识提议中包括多个批次交易,其中,n为正整数。
175.对所述第一批次交易执行共识操作,以及如果存在第二批次交易则并行执行按批次顺序对所述第二批次交易的收集操作,其中,所述第二批次交易为所述第n轮共识提议尚未完成收集的批次交易。
176.对所述第一批次交易进行交易执行操作,以及如果存在第三批次交易并行执行按批次顺序所述对第三批次交易的共识操作,其中,所述第三批次交易为所述第n轮共识提议已经收集完毕且尚未完成共识的批次交易。
177.在所述区块链中发送所述第一批次交易的交易执行结果以对所述第一批次交易进行交易确认。
178.在得到所述第n轮共识提议的所有批次交易的交易确认后,对所述第n轮共识提议的所有批次交易执行写块操作。
179.可选地,上述指令当被包括多个应用程序的便携式电子设备执行时,能够使该便携式电子设备执行图4所示实施例的方法,并具体用于执行以下方法:
180.收集区块链的第n轮共识提议中的第一批次交易,所述第n轮共识提议中包括多个批次交易,其中,n为正整数。
181.对所述第一批次交易执行共识操作,以及如果存在第二批次交易则并行执行按批次顺序对所述第二批次交易的收集操作,其中,所述第二批次交易为所述第n轮共识提议尚未完成收集的批次交易。
182.如果所述第n轮共识提议的所有批次交易都完成共识,对所述第n轮共识提议的所有批次交易进行交易执行操作。
183.在所述区块链中发送所述第n轮共识提议的所有批次交易的交易执行结果以对所述第n轮共识提议的所有批次交易进行交易确认。
184.在得到所述第n轮共识提议的所有批次交易的交易确认后,对所述第n轮共识提议的所有批次交易执行写块操作。
185.应理解,上述指令当被包括多个应用程序的便携式电子设备执行时,能够使图6所示的区块链节点实现图1至图3所示实施例的功能,或者,能够使图7所示的区块链节点实现
图4和图5所示实施例的功能。由于原理相同,本文不再赘述。
186.本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
187.上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
188.以上仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。此外,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本文件的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献