CN114547201A - 一种区块链交易的处理方法、区块链节点及电子设备 - Google Patents
一种区块链交易的处理方法、区块链节点及电子设备 Download PDFInfo
- Publication number
- CN114547201A CN114547201A CN202210178479.2A CN202210178479A CN114547201A CN 114547201 A CN114547201 A CN 114547201A CN 202210178479 A CN202210178479 A CN 202210178479A CN 114547201 A CN114547201 A CN 114547201A
- Authority
- CN
- China
- Prior art keywords
- batch
- transactions
- transaction
- target
- consensus
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 19
- 238000012790 confirmation Methods 0.000 claims abstract description 100
- 238000000034 method Methods 0.000 claims abstract description 45
- 238000012545 processing Methods 0.000 claims description 32
- 238000004590 computer program Methods 0.000 claims description 18
- 230000002159 abnormal effect Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 230000004075 alteration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06311—Scheduling, planning or task assignment for a person or group
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0633—Workflow analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
Landscapes
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Tourism & Hospitality (AREA)
- Quality & Reliability (AREA)
- Development Economics (AREA)
- Game Theory and Decision Science (AREA)
- Educational Administration (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Data Mining & Analysis (AREA)
- Technology Law (AREA)
- Retry When Errors Occur (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本说明书实施例提供一种区块链交易的处理方法、区块链节点及电子设备。方法包括:收集区块链的目标交易集中的第一批次交易,目标交易集中包括多个批次交易,且交易数量超出所述区块链一次共识的交易数量上限。如果在收集第一批次交易时存在第二批次交易,则并行执行对第二批次交易的共识操作,第二批次交易为所述目标交易集中已经收集完毕且尚未进行共识的交易集。如果在收集第一批次交易时存在第三批次交易,并行执行对第三批次交易的执行操作,第三批次交易为目标交易集中已经完成共识且尚未执行的交易集。在得到目标交易集的所有批次交易的交易确认后,对目标交易集的所有批次交易进行一次写块操作。
Description
技术领域
本文件涉及区块链技术领域,尤其涉及一种区块链交易的处理方法、区块链节点及电子设备。
背景技术
区块链由于具有开放性、不可篡改、去中心化等优点,越来越受到各行各业的青睐。目前区块链针对一轮视图的处理流程主要包括:交易收集、交易共识、交易执行以及写块四个阶段。现有技术中,这四个阶段是以串行方式执行的,导致区块链交易的处理效率相对较低。此外,每完成一轮视图就需要执行一次写块操作,过多的写块操作也会对区块链交易的处理效率造成负面影响。
在未来阶段,区块链业务会呈爆发性增长,为了满足业务高并发的场景需求,有必要提出一种能够提高区块链交易处理效率的技术方案。
发明内容
本说明书实施例目的是提供一种区块链交易的处理方法、区块链节点及电子设备,能够提高区块链交易的处理效率。
为了实现上述目的,本说明书实施例是这样实现的:
第一方面,提供一种区块链交易的处理方法,包括:
收集区块链的目标交易集合中的第一批次交易,所述目标交易集中包括多个批次交易,且交易数量超出所述区块链一次共识的交易数量上限;
对所述第一批次交易执行共识操作,以及如果存在第二批次交易则并行执行按批次顺序对所述第二批次交易的收集操作,其中,所述第二批次交易为所述目标交易集合尚未完成收集的批次交易;
对所述第一批次交易进行交易执行操作,以及如果存在第三批次交易并行执行案批次顺序对所述第三批次交易的共识操作,其中,所述第三批次交易为所述目标交易集合已经收集完毕且尚未完成共识的批次交易;
在所述区块链中发送所述第一批次交易的交易执行结果以对所述第一批次交易进行交易确认;
在得到所述目标交易集合的所有批次交易的交易确认后,对所述目标交易集合的所有批次交易执行一次写块操作。
第二方面,提供一种区块链交易的处理方法,包括:
收集区块链的目标交易集合中的第一批次交易,所述目标交易集中包括多个批次交易,且交易数量超出所述区块链一次共识的交易数量上限;
对所述第一批次交易执行共识操作,以及如果存在第二批次交易则并行执行按批次顺序对所述第二批次交易的收集操作,其中,所述第二批次交易为所述目标交易集合尚未完成收集的批次交易;
如果所述目标交易集合的所有批次交易都完成共识,对所述目标集合的所有批次交易进行交易执行操作;
在所述区块链中发送所述目标交易集合的所有批次交易的交易执行结果以对所述目标交易集合的所有批次交易进行交易确认;
在得到所述目标交易集合的所有批次交易的交易确认后,对所述目标交易集合的所有批次交易执行一次写块操作。
第三方面,提供一种区块链节点,包括:
第一交易收集模块,收集区块链的目标交易集合中的第一批次交易,所述目标交易集中包括多个批次交易,且交易数量超出所述区块链一次共识的交易数量上限;
第一交易共识模块,对所述第一批次交易执行共识操作,如果存在第二批次交易,则所述第一交易收集模块同时并行执行按批次顺序对所述第二批次交易的收集操作,其中,所述第二批次交易为所述目标交易集合尚未完成收集的批次交易;
第一交易执行模块,对所述第一批次交易进行交易执行操作,如果存在第三批次交易,则第一交易共识模块同时并行执行案批次顺序对所述第三批次交易的共识操作,其中,所述第三批次交易为所述目标交易集合已经收集完毕且尚未完成共识的批次交易;
第一交易确认模块,在所述区块链中发送所述第一批次交易的交易执行结果以对所述第一批次交易进行交易确认;
第一交易写块模块,在得到所述目标交易集合的所有批次交易的交易确认后,对所述目标交易集合的所有批次交易执行一次写块操作。
第四方面,提供一种电子设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行:
收集区块链的目标交易集合中的第一批次交易,所述目标交易集中包括多个批次交易,且交易数量超出所述区块链一次共识的交易数量上限;
对所述第一批次交易执行共识操作,以及如果存在第二批次交易则并行执行按批次顺序对所述第二批次交易的收集操作,其中,所述第二批次交易为所述目标交易集合尚未完成收集的批次交易;
对所述第一批次交易进行交易执行操作,以及如果存在第三批次交易并行执行案批次顺序对所述第三批次交易的共识操作,其中,所述第三批次交易为所述目标交易集合已经收集完毕且尚未完成共识的批次交易;
在所述区块链中发送所述第一批次交易的交易执行结果以对所述第一批次交易进行交易确认;
在得到所述目标交易集合的所有批次交易的交易确认后,对所述目标交易集合的所有批次交易执行一次写块操作。
第五方面,提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如下步骤:
收集区块链的目标交易集合中的第一批次交易,所述目标交易集中包括多个批次交易,且交易数量超出所述区块链一次共识的交易数量上限;
对所述第一批次交易执行共识操作,以及如果存在第二批次交易则并行执行按批次顺序对所述第二批次交易的收集操作,其中,所述第二批次交易为所述目标交易集合尚未完成收集的批次交易;
对所述第一批次交易进行交易执行操作,以及如果存在第三批次交易并行执行案批次顺序对所述第三批次交易的共识操作,其中,所述第三批次交易为所述目标交易集合已经收集完毕且尚未完成共识的批次交易;
在所述区块链中发送所述第一批次交易的交易执行结果以对所述第一批次交易进行交易确认;
在得到所述目标交易集合的所有批次交易的交易确认后,对所述目标交易集合的所有批次交易执行一次写块操作。
第六方面,提供一种区块链节点,包括:
第二交易收集模块,收集区块链的目标交易集合中的第一批次交易,所述目标交易集中包括多个批次交易,且交易数量超出所述区块链一次共识的交易数量上限;
第二交易共识模块,对所述第一批次交易执行共识操作,如果存在第二批次交易,则第二交易共识模块同时并行执行按批次顺序对所述第二批次交易的收集操作,其中,所述第二批次交易为所述目标交易集合尚未完成收集的批次交易;
第二交易执行模块,如果所述目标交易集合的所有批次交易都完成共识,对所述目标集合的所有批次交易进行交易执行操作;
第二交易确认模块,在所述区块链中发送所述目标交易集合的所有批次交易的交易执行结果以对所述目标交易集合的所有批次交易进行交易确认
第二交易写块模块,在得到所述目标交易集合的所有批次交易的交易确认后,对所述目标交易集合的所有批次交易执行一次写块操作。
第七方面,提供一种电子设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行:
收集区块链的目标交易集合中的第一批次交易,所述目标交易集中包括多个批次交易,且交易数量超出所述区块链一次共识的交易数量上限;
对所述第一批次交易执行共识操作,以及如果存在第二批次交易则并行执行按批次顺序对所述第二批次交易的收集操作,其中,所述第二批次交易为所述目标交易集合尚未完成收集的批次交易;
如果所述目标交易集合的所有批次交易都完成共识,对所述目标集合的所有批次交易进行交易执行操作;
在所述区块链中发送所述目标交易集合的所有批次交易的交易执行结果以对所述目标交易集合的所有批次交易进行交易确认;
在得到所述目标交易集合的所有批次交易的交易确认后,对所述目标交易集合的所有批次交易执行一次写块操作。
第八方面,提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如下步骤:
收集区块链的目标交易集合中的第一批次交易,所述目标交易集中包括多个批次交易,且交易数量超出所述区块链一次共识的交易数量上限;
对所述第一批次交易执行共识操作,以及如果存在第二批次交易则并行执行按批次顺序对所述第二批次交易的收集操作,其中,所述第二批次交易为所述目标交易集合尚未完成收集的批次交易;
如果所述目标交易集合的所有批次交易都完成共识,对所述目标集合的所有批次交易进行交易执行操作;
在所述区块链中发送所述目标交易集合的所有批次交易的交易执行结果以对所述目标交易集合的所有批次交易进行交易确认;
在得到所述目标交易集合的所有批次交易的交易确认后,对所述目标交易集合的所有批次交易执行一次写块操作。
基于本说明书实施例的方案,区块链节点对大数据量的目标交易集分批次执行交易收集、交易共识、交易执行以及交易确认。特别是在中间批次交易执行共识操作的同时,还执行上一批次交易的执行操作以及下一批次交易的收集操作,从而通过并行方式缩短了区块链交易的处理时间。此外,在目标交易集中的所有批次交易完成交易确认后,再统一执行一次写块操作,从而通过降低写块次数的方式提高区块链交易的处理效率。整个方案能够显著提高区块链的吞吐量,可满足业务高并发场景的需求。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书实施例中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书实施例提供的区块链交易的处理方法的第一种流程示意图。
图2为本说明书实施例提供的区块链交易的处理方法的第一种时隙示意图。
图3为本说明书实施例提供的区块链交易的处理方法的第二种时隙示意图。
图4为本说明书实施例提供的区块链交易的处理方法的第二种流程示意图。
图5为本说明书实施例提供的区块链交易的处理方法的第三种时隙示意图。
图6为本说明书实施例提供的第一种区块链节点的结构示意图。
图7为本说明书实施例提供的第二种区块链节点的结构示意图。
图8为本说明书实施例提供的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
如前所述,目前区块链是以串行方式完成交易的收集、共识、执行和写块这四个操作的,这导致区块链交易的处理效率相对较低,限制了区块链的吞吐量。此外,每完成一轮视图就需要执行一次写块操作,过多的写块操作也会对区块链交易的处理效率造成负面影响。随着区块链越来越受到各行各业的青睐,业务量也会呈爆发性增长。显然,目前的这种交易处理方式难以再适用于以后业务高并发的场景中。针对这一问题,本文件旨在提供一种能够提高区块链交易处理效率的技术方案。
图1是本说明书实施例区块链交易的处理方法的流程图。图1所示的方法可以由下文相对应的区块链节点执行,包括如下步骤:
S102,收集区块链的目标交易集合中的第一批次交易,目标交易集中包括多个批次交易,且交易数量超出区块链一次共识的交易数量上限。
需要说明的是,本文不对目标交易集合的交易批次划分逻辑作具体限定。但凡是将目标交易集合中的交易划分成多个批次的方案都应属于本说明书实施例的保护范围。
作为示例性介绍:本说明书实施例中,区块链的各区块链节点可以基于提前设定好的智能合约,统一将目标交易集合的所有交易按照对应的交易发起时间进行有序的批次划分。或者,按照交易在共识提议中的顺序,对目标交易集合的所有交易进行批次划分。
S104,对第一批次交易执行共识操作,以及如果存在第二批次交易则并行执行按批次顺序对第二批次交易的收集操作,第二批次交易为目标交易集合尚未完成收集的批次交易。
应理解,本步骤所述的尚未完成收集的批次交易可以包括尚未启动收集的批次交易,或者已经启动收集但尚未完成收集的批次交易。批次顺序即上文S102中所述的批次划分顺序。
本说明书实施例中,区块链节点分批收集目标交易集合的交易。在收集完成目标批次交易后,即可同时执行:目标批次交易的共识执行操作以及目标批次交易对应的下一批次交易的收集操作。也就是说,本步骤所述的第二批次交易是指第一批次交易的下一批次交易。
S106,对第一批次交易进行交易执行操作,以及如果存在第三批次交易并行执行案批次顺序对第三批次交易的共识操作,第三批次交易为目标交易集合已经收集完毕且尚未完成共识的批次交易。
应理解,本步骤所述的尚未完成共识的批次交易可以包括尚未启动共识的批次交易,或者已经启动共识但共识尚未完成共识的批次交易。
同理,本说明书实施例中,区块链节点分批对目标交易集合的交易执行共识操作。在执行完成目标批次交易的共识操作后,即可同时执行:目标批次交易的执行操作以及目标批次交易对应的下一批次交易的共识操作。也就是说,本步骤所述的第三批次交易是指第二批次交易的下一批次交易。
此外,如果在对第一批次交易进行交易执行操作时,存在第二批次交易,还可以并行执行按批次顺序对第二批次交易的收集操作。
S108,在区块链中发送第一批次交易的交易执行结果以对第一批次交易进行交易确认。
具体地,作为本步骤执行主体的区块链节点可以向区块链的其他区块链节点发送第一批次交易的交易执行结果的交易确认请求;之后如果接收到2f个其他区块链节点发送的交易确认反馈,则确认得到对第一批次交易的交易确认。其中,,f为区块链允许的异常共识节点最大数量。
S110,在得到目标交易集合的所有批次交易的交易确认后,对目标交易集合的所有批次交易执行一次写块操作。
应理解,本说明书实施例中,区块链节点对目标交易集合的交易分批次进行共识操作,但最终可以只执行一次写块操作。也就是说本说明书实施例中,目标交易集合的所有批次交易可以通过一个区块进行记录。
基于本说明书实施例的方法,区块链节点对大数据量的目标交易集分批次执行交易收集、交易共识、交易执行以及交易确认。特别是在中间批次交易执行共识操作的同时,还执行上一批次交易的执行操作以及下一批次交易的收集操作,从而通过并行方式缩短了区块链交易的处理时间。此外,在目标交易集中的所有批次交易完成交易确认后,再统一执行一次写块操作,从而通过降低写块次数的方式提高区块链交易的处理效率。整个方案能够显著提高区块链的吞吐量,可满足业务高并发场景的需求。
此外,在得到第一批次交易的交易确认后,还可以将第一批次交易的交易执行结果反馈至对应的区块链客户端。也就是说,本说明书实施例的方法中,区块链节点在每个批次交易完成交易执行并得到交易确认后,即可立刻将交易执行反馈至的区块链客户端,从而显著降低区块链客户端侧的交易确认时延,进而提高用户使用体验。
或者,为了降低与区块链客户端侧交互的资源开销,也可以在得到目标交易集合的所有批次交易的交易确认后,再将目标交易集合的所有批次交易的交易执行结果统一反馈至对应的区块链客户端。
在实际应用中,可以针对目标交易集合中的交易数量,决定交易执行结果的反馈策略。比如,当目标交易集合中的交易数量超出预设阈值时,则可以选择在每个批次交易完成交易执行并得到交易确认后,立刻将交易执行结果反馈至的区块链客户端。同理,当目标交易集合中的交易数量未超出预设阈值时,则可以选择在目标交易集合的所有批次交易完成交易执行并得到交易确认后,再将目标交易集合的所有批次交易的交易执行结果统一反馈至对应的区块链客户端。
下面结合实际的应用场景,对本说明书实施例的处理方法进行示例性介绍。
作为其中一种可行方案,本说明书实施例的方法可以以区块链每轮视图为粒度,分批次处理区块链交易。
这里,假设本说明书实施例的目标交易集为区块链在第N轮视图的所有交易。
下面对本说明书实施例方法连续处理第N-1轮和第N轮的视图中的交易的原理进行详细介绍(第N轮视图和第N+1轮视图均至少需要两次区块链共识才能完成交易数据的上链)。
参考图2,本说明书实施例的方法可以设置相互并行执行的第一线程、第二线程、第三线程、第四线程和第五线程,以分别对应执行区块链交易的收集、共识、交易执行、交易确认和写块这五个操作。
其中,第一线程用于按批次收集交易,也就是第一线程在收集完一个批次交易之前不收集其它批次交易;第二线程用于按批次执行交易的共识操作,也就是第二线程在执行完一个批次交易的共识操作之前不执行其它批次交易的共识操作;第三线程用于按批次执行交易的执行操作,也就是在执行完一个批次交易的执行操作之前不执行其它批次交易的执行操作。第四线程按批次进行交易确认,也就是在执行完一个批次交易的交易确认之前不执行其它批次交易的交易确认。第五线程则在每轮视图的所有批次交易完成交易确认后,统一执行写块操作。
以上文所述的第一批次交易为例。在第一线程收集完第一批次交易之后,通知第二线程对所述第一批次交易进行共识操作;在第二线程执行完第一批次交易的共识操作之后,通知第三线程对第一批次交易进行执行操作;在第三线程执行完第一批次交易的执行操作之后,通知第四线程对第一批次交易进行交易确认。
这里以第N轮和第N+1轮的视图均划分有三个批次交易为示例,采用上述线程的工作原理,第N轮和第N+1轮的视图可以呈现图2所示的时隙关系。
从图2可以看出:
如果在对第一批次交易执行共识操作时目标交易集合中的所有批次交易都收集完毕,则执行按批次顺序对第N+1轮视图中的批次交易的收集操作。
如果对第一批次交易进行交易执行操作时,目标交易集合中的所有批次交易都收集完毕,则执行按批次顺序对第N+1轮视图中的批次交易的收集操作。
如果对第一批次交易进行交易执行操作时,目标交易集合中的所有批次交易都共识完毕,则执行按批次顺序对第N+1轮视图中的已收集但尚未完成共识的批次交易的共识操作。
如果对第一批次交易进行写块操作时,目标交易集合中的所有批次交易都收集完毕,则执行按批次顺序对第N+1轮视图中的批次交易的收集操作。
如果对第一批次交易进行写块操作时,目标交易集合中的所有批次交易都共识完毕,则执行按批次顺序对第N+1轮视图中的已收集但尚未完成共识的批次交易的共识操作。
此外还应理解的是,保证交易执行的有序性也十分重要。假设某个交易场景中,用户A需要向用户B汇款10000元,再由用户B向用户C汇款5000元。假设用户B初始的余额为3000元,如果交易不按序执行,也就是用户B先向用户C汇款5000元,用户A再向用户B汇入10000元,那么会出现用户B向用户C汇款失败的问题。
因此为了避免这种交易逻辑问题发生,每轮视图后一批次交易不能早于前一批次交易进行交易执行。而在实际的交易数据的上链过程中,执行阶段的耗时要大于收集阶段和共识阶段的耗时。这样导致每个中间批次交易在共识完成后,需要等待上一批次交易完成执行,这个等待时间(图2中的T表示等待时间)会决定交易数据的上链效率。
基于本说明书实施例的方法将每轮视图的交易进行多个小批次划分,可以减少每批次交易在执行上的耗时,也就是减少了T在图2中的长度,从而提高区块链交易的处理效率。
应理解,上述第一线程、第二线程、第三线程、第四线程和第五线程可以属于处理器的不同核心。也就是本说明实施例可以多核多线程并行的方式,对同一轮视图执行交易的收集操作、共识操作以及执行操作。
以上是对本说明书实施例的方法的介绍。应理解,在不脱离本文上述原理基础之上,还可以进行适当的变化,这些变化也应视为本说明书实施例的保护范围。
比如,本说明实施例中,由于交易执行结果反馈客户端的操作可以在交易执行后立刻执行,因此可以使用一个线程来执行交易执行操作和交易执行结果的反馈操作。即,上文所述的第四线程即为上文所述的第三线程,区块链第N轮和第N+1轮的视图可以呈现图3所示的时隙关系。
再比如,本说明书实施例的方法还可以在第N轮视图中的多有批次交易均完成共识后,再统一执行对第N轮视图的所有批次交易的执行操作和写块操作。即,本说明书实施例区块链交易的处理方法还可以如图4所示,包括以下步骤:
S402,收集区块链的目标交易集合中的第一批次交易,目标交易集中包括多个批次交易,且交易数量超出所述区块链一次共识的交易数量上限。
S404,对第一批次交易执行共识操作,以及如果存在第二批次交易则并行执行按批次顺序对第二批次交易的收集操作,第二批次交易为目标交易集合尚未完成收集的批次交易。
S406,如果目标交易集合的所有批次交易都完成共识,对目标交易集合的所有批次交易进行交易执行操作。
S408,在区块链中发送目标交易集合的所有批次交易的交易执行结果以对目标交易集合的所有批次交易进行交易确认。
S410,在得到目标交易集合的所有批次交易的交易确认后,对目标交易集合的所有批次交易执行一次写块操作。
图5是基于图4所示的方法进行第N轮和第N+1轮视图的时隙关系图。应理解,第N轮视图的所有批次交易的执行操作至少要在第N-1轮视图的所有批次交易的执行操作完成后才能执行。
同理,图4所示的方法通过第一线程对每轮视图按批次顺序收集交易,也就是第一线程在收集完一个批次交易之前不收集其它批次交易;通过二线程对每轮视图按批次顺序执行交易的共识操作,也就是第二线程在执行完一个批次交易的共识操作之前不执行其它批次交易的共识操作;通过第三线程对每轮视图中的所有批次交易统一进行交易执行操作;通过第四线程执行对每轮视图中的所有批次交易统一进行交易确认;通过第五线程执行对每轮视图中的所有批次交易统一进行写块操作。这里,第一线程、第二线程、第三线程和第四线程和第五线程为并行执行的线程。
从图5可以看出,对于图4所示的方法:
如果在对第一批次交易执行共识操作时,第N轮视图中的所有批次交易都收集完毕,则执行按批次顺序对第N+1轮视图中的批次交易的收集操作。
如果在对第一批次交易进行交易执行操作时,存在第二批次交易,则并行执行按批次顺序对第二批次交易的收集操作。
如果对第一批次交易进行交易执行操作时,第N轮视图中的所有批次交易都收集完毕,则执行按批次顺序对第N+1轮视图中的批次交易的收集操作。
如果对第一批次交易进行交易执行操作时,第N轮视图中的所有批次交易都共识完毕,则执行按批次顺序对第N+1轮视图中的已收集但尚未完成共识的批次交易的共识操作。
如果对第一批次交易进行写块操作时,第N轮视图中的所有批次交易都收集完毕,则执行按批次顺序对第N+1轮视图中的批次交易的收集操作。
如果对第一批次交易进行写块操作时,第N轮视图中的所有批次交易都共识完毕,则执行按批次顺序对第N+1轮视图中的已收集但尚未完成共识的批次交易的共识操作。
由此可见,图4所示的方法也可以分批次对目标交易集合执行交易收集、交易共识。特别是在对中间批次交易执行共识操作的同时,还执行下一批次交易的收集操作,从而也可以通过并行方式缩短了区块链交易的处理时间。此外,在目标交易集中的所有批次交易完成交易确认后,再统一执行一次写块操作,从而通过降低写块次数的方式提高区块链交易的处理效率。整个方案能够显著提高区块链的吞吐量,可满足业务高并发场景的需求。
应理解,本说明书实施例的方法并不局限于以区块链每轮视图作为执行粒度。但凡是区块链积累到通过一次共识无法完成上链的交易集时,都可以使用本说明书实施例的方法,实现只发起一次写块操作的数据上链。
此外,与上述图1所示的处理方法相对应地,本说明书实施例还提供一种区块链节点。图6是本说明书实施例的区块链节点600的结构示意图,包括:
第一交易收集模块610,收集区块链的目标交易集合中的第一批次交易,所述目标交易集中包括多个批次交易,且交易数量超出所述区块链一次共识的交易数量上限。
第一交易共识模块620,对所述第一批次交易执行共识操作,以及如果存在第二批次交易则并行执行按批次顺序对所述第二批次交易的收集操作,其中,所述第二批次交易为所述目标交易集合尚未完成收集的批次交易。
第一交易执行模块630,对所述第一批次交易进行交易执行操作,以及如果存在第三批次交易并行执行案批次顺序对所述第三批次交易的共识操作,其中,所述第三批次交易为所述目标交易集合已经收集完毕且尚未完成共识的批次交易。
第一交易确认模块640,在所述区块链中发送所述第一批次交易的交易执行结果以对所述第一批次交易进行交易确认。
第一交易写块模块650,在得到所述目标交易集合的所有批次交易的交易确认后,对所述目标交易集合的所有批次交易执行一次写块操作。
本说明书实施例的区块链节点对大数据量的目标交易集分批次执行交易收集、交易共识、交易执行以及交易确认。特别是在中间批次交易执行共识操作的同时,还执行上一批次交易的执行操作以及下一批次交易的收集操作,从而通过并行方式缩短了区块链交易的处理时间。此外,在目标交易集中的所有批次交易完成交易确认后,再统一执行一次写块操作,从而通过降低写块次数的方式提高区块链交易的处理效率。整个方案能够显著提高区块链的吞吐量,可满足业务高并发场景的需求。
可选地,如果在对所述第一批次交易进行交易执行操作时,存在所述第二批次交易,则第一交易执行模块630同时并行执行按批次顺序对所述第二批次交易的收集操作。
可选地,目标交易集为所述区块链在第N轮视图的所有交易,其中,N为正整数。
如果在对所述第一批次交易执行共识操作时,所述第N轮视图中的所有批次交易都收集完毕,则第一交易收集模块610执行按批次顺序对第N+1轮视图中的批次交易的收集操作。
如果在对所述第一批次交易进行交易执行操作时,存在所述第二批次交易,则第一交易收集模块610并行执行按批次顺序对所述第二批次交易的收集操作。
如果对所述第一批次交易进行交易执行操作时,所述第N轮视图中的所有批次交易都收集完毕,则第一交易收集模块610执行按批次顺序对第N+1轮视图中的批次交易的收集操作。
如果对所述第一批次交易进行写块操作时,所述第N轮视图中的所有批次交易都收集完毕,则第一交易收集模块610执行按批次顺序对第N+1轮视图中的批次交易的收集操作。
如果对所述第一批次交易进行写块操作时,所述第N轮视图中的所有批次交易都共识完毕,则第一交易收集模块610执行按批次顺序对第N+1轮视图中的已收集但尚未完成共识的批次交易的共识操作。
可选地,第一交易确认模块640向所述区块链的其他区块链节点发送所述第一批次交易的交易执行结果的交易确认请求。之后,如果接收到2f个其他区块链节点发送的交易确认反馈,则确认得到对所述第一批次交易的交易确认,,f为区块链允许的异常共识节点最大数量。
可选地,本说明书实施例图6所示的区块链节点还包括:
第一交易反馈模块,在得到所述第一批次交易的交易确认后,将所述第一批次交易的交易执行结果反馈至对应的区块链客户端;或者,在得到所述第N轮视图的所有批次交易的交易确认后,将所述第N轮视图的所有批次交易的交易执行结果反馈至对应的区块链客户端。
可选地,第一交易收集模块610通过第一线程收集所述第N轮视图中的所有批次交易,所述第一线程在收集完一个批次交易之前不收集其它批次交易。第一交易共识模块620通过第二线程执行对所述第N轮视图中的所有批次交易的共识操作,所述二线程在执行完一个批次交易的共识操作之前不执行其它批次交易的共识操作。第一交易执行模块630通过第三线程执行对所述第N轮视图中的所有批次交易的执行操作,所述第三线程在执行完一个批次交易的执行操作之前不执行其它批次交易的执行操作;第一交易确认模块640通过第四线程执行所述第N轮视图中的所有批次交易的交易确认。第一交易写块模块650,通过第五线程执行对所述第N轮视图中的所有批次交易执行写块操作。其中,所述第一线程、所述第二线程、所述第三线程、所述第四线程和所述第五线程为并行执行的线程。
可选地,在所述第一线程收集完所述第一批次交易之后,通知所述第二线程对所述第一批次交易进行共识操作;在所述第二线程执行完所述第一批次交易的共识操作之后,通知所述第三线程对所述第一批次交易进行执行操作;在所述第三线程执行完所述第一批次交易的执行操作之后,通知所述第四线程对所述第一批次交易进行交易确认。
显然,图6所示的区块链节点可以作为上述图1所示的处理方法的执行主体,因此能够实现该处理方法在图1至图3所实现的功能。由于原理相同,本文不再赘述。
此外,与上述图4所示的处理方法相对应地,本说明书实施例还提供一种区块链节点。图7是本说明书实施例的区块链节点700的结构示意图,包括:
第二交易收集模块710,收集区块链的目标交易集合中的第一批次交易,所述目标交易集中包括多个批次交易,且交易数量超出所述区块链一次共识的交易数量上限。
第二交易共识模块720,对所述第一批次交易执行共识操作,以及如果存在第二批次交易则并行执行按批次顺序对所述第二批次交易的收集操作,其中,所述第二批次交易为所述目标交易集合尚未完成收集的批次交易。
第二交易执行模块730,如果所述目标交易集合的所有批次交易都完成共识,对所述目标集合的所有批次交易进行交易执行操作。
第二交易确认模块740,在所述区块链中发送所述目标交易集合的所有批次交易的交易执行结果以对所述目标交易集合的所有批次交易进行交易确认
第二交易写块模块750,在得到所述目标交易集合的所有批次交易的交易确认后,对所述目标交易集合的所有批次交易执行一次写块操作。
可选地,如果在对所述第一批次交易进行交易执行操作时,存在所述第二批次交易,则第二交易收集模块710同时并行执行按批次顺序对所述第二批次交易的收集操作。
可选地,,目标交易集为所述区块链在第N轮视图的所有交易,其中,N为正整数。
如果在对所述第一批次交易执行共识操作时,所述第N轮共识中的所有批次交易都收集完毕,则第二交易收集模块710执行按批次顺序对第N+1轮共识中的批次交易的收集操作。
如果对所述第一批次交易进行交易执行操作时,所述第N轮共识中的所有批次交易都收集完毕,则第二交易收集模块710执行按批次顺序对第N+1轮共识中的批次交易的收集操作。
如果对所述第一批次交易进行写块操作时,所述第N轮共识中的所有批次交易都收集完毕,则第二交易收集模块710执行按批次顺序对第N+1轮共识中的批次交易的收集操作。
可选地,如果对所述第一批次交易进行写块操作时,所述第N轮共识中的所有批次交易都共识完毕,则第二交易收集模块710执行按批次顺序对第N+1轮共识中的已收集但尚未完成共识的批次交易的共识操作。
可选地,第二交易确认模块740向所述区块链的其他区块链节点发送所述第一批次交易的交易执行结果的交易确认请求。之后,如果接收到2f个其他区块链节点发送的交易确认反馈,则确认得到对所述第一批次交易的交易确认,f为区块链允许的异常共识节点最大数量。
可选地,本说明书实施例图7所示的区块链节点还包括:
第二交易反馈模块,在得到所述第N轮共识的所有批次交易的交易确认后,将所述第N轮共识的所有批次交易的交易执行结果反馈至对应的区块链客户端。
可选地,第二交易收集模块710通过第一线程收集所述第N轮共识中的所有批次交易,所述第一线程在收集完一个批次交易之前不收集其它批次交易。第二交易共识模块720通过第二线程执行对所述第N轮共识中的所有批次交易的共识操作,所述二线程在执行完一个批次交易的共识操作之前不执行其它批次交易的共识操作。第二交易执行模块730通过第三线程执行对所述第N轮共识中的所有批次交易的执行操作;第二交易确认模块740通过第四线程执行所述第N轮共识中的所有批次交易的交易确认。第二交易写块模块750,通过第五线程执行对所述第N轮共识中的所有批次交易执行写块操作。其中,所述第一线程、所述第二线程、所述第三线程、所述第四线程和所述第五线程为并行执行的线程。
可选地,在所述第一线程收集完所述第一批次交易之后,通知所述第二线程对所述第一批次交易进行共识操作。
显然,图7所示的区块链节点节点可以作为上述图4所示的处理方法的执行主体,因此能够实现该处理方法在图4和图5所实现的功能。由于原理相同,本文不再赘述。
图8是本说明书的一个实施例电子设备的结构示意图。请参考图8,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
可选地,处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成区块链交易的处理装置,该处理装置可以作为图6所示的区块链节点或者区块链节点中的部件。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
收集区块链的目标交易集合中的第一批次交易,所述目标交易集中包括多个批次交易,且交易数量超出所述区块链一次共识的交易数量上限。
对所述第一批次交易执行共识操作,以及如果存在第二批次交易则并行执行按批次顺序对所述第二批次交易的收集操作,其中,所述第二批次交易为所述目标交易集合尚未完成收集的批次交易。
对所述第一批次交易进行交易执行操作,以及如果存在第三批次交易并行执行案批次顺序对所述第三批次交易的共识操作,其中,所述第三批次交易为所述目标交易集合已经收集完毕且尚未完成共识的批次交易。
在所述区块链中发送所述目标交易集合的所有批次交易的交易执行结果以对所述目标交易集合的所有批次交易进行交易确认。
在得到所述目标交易集合的所有批次交易的交易确认后,对所述目标交易集合的所有批次交易执行一次写块操作。
可选地,处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成区块链交易的处理装置,该处理装置可以作为图7所示的区块链节点或者区块链节点中的部件。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
收集区块链的目标交易集合中的第一批次交易,所述目标交易集中包括多个批次交易,且交易数量超出所述区块链一次共识的交易数量上限。
对所述第一批次交易执行共识操作,以及如果存在第二批次交易则并行执行按批次顺序对所述第二批次交易的收集操作,其中,所述第二批次交易为所述目标交易集合尚未完成收集的批次交易。
如果所述目标交易集合的所有批次交易都完成共识,对所述目标集合的所有批次交易进行交易执行操作。
在所述区块链中发送所述目标交易集合的所有批次交易的交易执行结果以对所述目标交易集合的所有批次交易进行交易确认。
在得到所述目标交易集合的所有批次交易的交易确认后,对所述目标交易集合的所有批次交易执行一次写块操作。
上述如本说明书图1或图3所示实施例揭示的处理方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本说明书实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本说明书实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
应理解,本说明书实施例的电子设备可以实现图6所示的区块链节点在图1至图3所示的实施例的功能,或者实现图7所示的区块链节点在图4和图5所示的实施例的功能。由于原理相同,本文不再赘述。
当然,除了软件实现方式之外,本说明书的电子设备并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
此外,本说明书实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令。
可选地,上述指令当被包括多个应用程序的便携式电子设备执行时,能够使该便携式电子设备执行图1所示实施例的方法,并具体用于执行以下方法:
收集区块链的目标交易集合中的第一批次交易,所述目标交易集中包括多个批次交易,且交易数量超出所述区块链一次共识的交易数量上限。
对所述第一批次交易执行共识操作,以及如果存在第二批次交易则并行执行按批次顺序对所述第二批次交易的收集操作,其中,所述第二批次交易为所述目标交易集合尚未完成收集的批次交易。
对所述第一批次交易进行交易执行操作,以及如果存在第三批次交易并行执行案批次顺序对所述第三批次交易的共识操作,其中,所述第三批次交易为所述目标交易集合已经收集完毕且尚未完成共识的批次交易。
在所述区块链中发送所述目标交易集合的所有批次交易的交易执行结果以对所述目标交易集合的所有批次交易进行交易确认。
在得到所述目标交易集合的所有批次交易的交易确认后,对所述目标交易集合的所有批次交易执行一次写块操作。
可选地,上述指令当被包括多个应用程序的便携式电子设备执行时,能够使该便携式电子设备执行图4所示实施例的方法,并具体用于执行以下方法:
收集区块链的目标交易集合中的第一批次交易,所述目标交易集中包括多个批次交易,且交易数量超出所述区块链一次共识的交易数量上限。
如果所述目标交易集合的所有批次交易都完成共识,对所述目标集合的所有批次交易进行交易执行操作。
对所述第一批次交易进行交易执行操作,以及如果存在第三批次交易并行执行案批次顺序对所述第三批次交易的共识操作,其中,所述第三批次交易为所述目标交易集合已经收集完毕且尚未完成共识的批次交易。
在所述区块链中发送所述目标交易集合的所有批次交易的交易执行结果以对所述目标交易集合的所有批次交易进行交易确认。
在得到所述目标交易集合的所有批次交易的交易确认后,对所述目标交易集合的所有批次交易执行一次写块操作。
应理解,上述指令当被包括多个应用程序的便携式电子设备执行时,能够使图6所示的区块链节点实现图1至图3所示实施例的功能,或者,能够使图7所示的区块链节点实现图4和图5所示实施例的功能。由于原理相同,本文不再赘述。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
以上仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。此外,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本文件的保护范围。
Claims (19)
1.一种区块链交易的处理方法,包括:
收集区块链的目标交易集合中的第一批次交易,所述目标交易集中包括多个批次交易,且交易数量超出所述区块链一次共识的交易数量上限;
对所述第一批次交易执行共识操作,以及如果存在第二批次交易则并行执行按批次顺序对所述第二批次交易的收集操作,其中,所述第二批次交易为所述目标交易集合尚未完成收集的批次交易;
对所述第一批次交易进行交易执行操作,以及如果存在第三批次交易并行执行案批次顺序对所述第三批次交易的共识操作,其中,所述第三批次交易为所述目标交易集合已经收集完毕且尚未完成共识的批次交易;
在所述区块链中发送所述第一批次交易的交易执行结果以对所述第一批次交易进行交易确认;
在得到所述目标交易集合的所有批次交易的交易确认后,对所述目标交易集合的所有批次交易执行一次写块操作。
2.根据权利要求1所述的方法,还包括:
如果在对所述第一批次交易进行交易执行操作时,存在所述第二批次交易,则并行执行按批次顺序对所述第二批次交易的收集操作。
3.根据权利要求1所述的方法,还包括:
所述目标交易集为所述区块链在第N轮视图的所有交易,其中,N为正整数。
4.根据权利要求3所述的方法,还包括:
如果在对所述第一批次交易执行共识操作时,所述目标交易集合中的所有批次交易都收集完毕,则执行按批次顺序对第N+1轮视图中的批次交易的收集操作。
5.根据权利要求3所述的方法,还包括:
如果对所述第一批次交易进行交易执行操作时,所述目标交易集合中的所有批次交易都收集完毕,则执行按批次顺序对第N+1轮视图中的批次交易的收集操作。
6.根据权利要求3所述的方法,还包括:
如果对所述第一批次交易进行交易执行操作时,所述目标交易集合中的所有批次交易都共识完毕,则执行按批次顺序对第N+1轮视图中的已收集但尚未完成共识的批次交易的共识操作。
7.根据权利要求3所述的方法,还包括:
如果对所述第一批次交易进行写块操作时,所述目标交易集合中的所有批次交易都收集完毕,则执行按批次顺序对第N+1轮视图中的批次交易的收集操作。
8.根据权利要求3所述的方法,还包括:
如果对所述第一批次交易进行写块操作时,所述目标交易集合中的所有批次交易都共识完毕,则执行按批次顺序对第N+1轮视图中的已收集但尚未完成共识的批次交易的共识操作。
9.根据权利要求1所述的方法,
在所述区块链中发送所述第一批次交易的交易执行结果以对所述第一批次交易进行交易确认,包括:
向所述区块链的其他区块链节点发送所述第一批次交易的交易执行结果的交易确认请求;
如果接收到2f个其他区块链节点发送的交易确认反馈,则确认得到对所述第一批次交易的交易确认,f为所述区块链允许的异常共识节点最大数量。
10.如权利要求3所述的方法,还包括:
在得到所述第一批次交易的交易确认后,将所述第一批次交易的交易执行结果反馈至对应的区块链客户端;
或者,
在得到所述目标交易集合的所有批次交易的交易确认后,将所述目标交易集合的所有批次交易的交易执行结果反馈至对应的区块链客户端。
11.如权利要求3所述的方法,还包括:
通过第一线程收集所述目标交易集合中的所有批次交易,所述第一线程在收集完一个批次交易之前不收集其它批次交易;
通过第二线程执行对所述目标交易集合中的所有批次交易的共识操作,所述二线程在执行完一个批次交易的共识操作之前不执行其它批次交易的共识操作;
通过第三线程执行对所述目标交易集合中的所有批次交易的执行操作,所述第三线程在执行完一个批次交易的执行操作之前不执行其它批次交易的执行操作;
通过第四线程执行所述目标交易集合中的所有批次交易的交易确认;
通过第五线程执行对所述目标交易集合中的所有批次交易执行写块操作;
其中,所述第一线程、所述第二线程、所述第三线程、所述第四线程和所述第五线程为并行执行的线程。
12.如权利要求11所述的方法,还包括:
在所述第一线程收集完所述第一批次交易之后,通知所述第二线程对所述第一批次交易进行共识操作;
在所述第二线程执行完所述第一批次交易的共识操作之后,通知所述第三线程对所述第一批次交易进行执行操作;
在所述第三线程执行完所述第一批次交易的执行操作之后,通知所述第四线程对所述第一批次交易进行交易确认。
13.一种区块链交易的处理方法,应用于区块链节点,包括:
收集区块链的目标交易集合中的第一批次交易,所述目标交易集中包括多个批次交易,且交易数量超出所述区块链一次共识的交易数量上限;
对所述第一批次交易执行共识操作,以及如果存在第二批次交易则并行执行按批次顺序对所述第二批次交易的收集操作,其中,所述第二批次交易为所述目标交易集合尚未完成收集的批次交易;
如果所述目标交易集合的所有批次交易都完成共识,对所述目标集合的所有批次交易进行交易执行操作;
在所述区块链中发送所述目标交易集合的所有批次交易的交易执行结果以对所述目标交易集合的所有批次交易进行交易确认;
在得到所述目标交易集合的所有批次交易的交易确认后,对所述目标交易集合的所有批次交易执行一次写块操作。
14.一种区块链节点,包括:
第一交易收集模块,收集区块链的目标交易集合中的第一批次交易,所述目标交易集中包括多个批次交易,且交易数量超出所述区块链一次共识的交易数量上限;
第一交易共识模块,对所述第一批次交易执行共识操作,如果存在第二批次交易,则所述第一交易收集模块同时并行执行按批次顺序对所述第二批次交易的收集操作,其中,所述第二批次交易为所述目标交易集合尚未完成收集的批次交易;
第一交易执行模块,对所述第一批次交易进行交易执行操作,如果存在第三批次交易,则第一交易共识模块同时并行执行案批次顺序对所述第三批次交易的共识操作,其中,所述第三批次交易为所述目标交易集合已经收集完毕且尚未完成共识的批次交易;
第一交易确认模块,在所述区块链中发送所述第一批次交易的交易执行结果以对所述第一批次交易进行交易确认;
第一交易写块模块,在得到所述目标交易集合的所有批次交易的交易确认后,对所述目标交易集合的所有批次交易执行一次写块操作。
15.一种电子设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行:
收集区块链的目标交易集合中的第一批次交易,所述目标交易集中包括多个批次交易,且交易数量超出所述区块链一次共识的交易数量上限;
对所述第一批次交易执行共识操作,以及如果存在第二批次交易则并行执行按批次顺序对所述第二批次交易的收集操作,其中,所述第二批次交易为所述目标交易集合尚未完成收集的批次交易;
对所述第一批次交易进行交易执行操作,以及如果存在第三批次交易并行执行案批次顺序对所述第三批次交易的共识操作,其中,所述第三批次交易为所述目标交易集合已经收集完毕且尚未完成共识的批次交易;
在所述区块链中发送所述第一批次交易的交易执行结果以对所述第一批次交易进行交易确认;
在得到所述目标交易集合的所有批次交易的交易确认后,对所述目标交易集合的所有批次交易执行一次写块操作。
16.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如下步骤:
收集区块链的目标交易集合中的第一批次交易,所述目标交易集中包括多个批次交易,且交易数量超出所述区块链一次共识的交易数量上限;
对所述第一批次交易执行共识操作,以及如果存在第二批次交易则并行执行按批次顺序对所述第二批次交易的收集操作,其中,所述第二批次交易为所述目标交易集合尚未完成收集的批次交易;
对所述第一批次交易进行交易执行操作,以及如果存在第三批次交易并行执行案批次顺序对所述第三批次交易的共识操作,其中,所述第三批次交易为所述目标交易集合已经收集完毕且尚未完成共识的批次交易;
在所述区块链中发送所述第一批次交易的交易执行结果以对所述第一批次交易进行交易确认;
在得到所述目标交易集合的所有批次交易的交易确认后,对所述目标交易集合的所有批次交易执行一次写块操作。
17.一种区块链节点,包括:
第二交易收集模块,收集区块链的目标交易集合中的第一批次交易,所述目标交易集中包括多个批次交易,且交易数量超出所述区块链一次共识的交易数量上限;
第二交易共识模块,对所述第一批次交易执行共识操作,如果存在第二批次交易,则第二交易共识模块同时并行执行按批次顺序对所述第二批次交易的收集操作,其中,所述第二批次交易为所述目标交易集合尚未完成收集的批次交易;
第二交易执行模块,如果所述目标交易集合的所有批次交易都完成共识,对所述目标集合的所有批次交易进行交易执行操作;
第二交易确认模块,在所述区块链中发送所述目标交易集合的所有批次交易的交易执行结果以对所述目标交易集合的所有批次交易进行交易确认
第二交易写块模块,在得到所述目标交易集合的所有批次交易的交易确认后,对所述目标交易集合的所有批次交易执行一次写块操作。
18.一种电子设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行:
收集区块链的目标交易集合中的第一批次交易,所述目标交易集中包括多个批次交易,且交易数量超出所述区块链一次共识的交易数量上限;
对所述第一批次交易执行共识操作,以及如果存在第二批次交易则并行执行按批次顺序对所述第二批次交易的收集操作,其中,所述第二批次交易为所述目标交易集合尚未完成收集的批次交易;
如果所述目标交易集合的所有批次交易都完成共识,对所述目标集合的所有批次交易进行交易执行操作;
在所述区块链中发送所述目标交易集合的所有批次交易的交易执行结果以对所述目标交易集合的所有批次交易进行交易确认;
在得到所述目标交易集合的所有批次交易的交易确认后,对所述目标交易集合的所有批次交易执行一次写块操作。
19.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如下步骤:
收集区块链的目标交易集合中的第一批次交易,所述目标交易集中包括多个批次交易,且交易数量超出所述区块链一次共识的交易数量上限;
对所述第一批次交易执行共识操作,以及如果存在第二批次交易则并行执行按批次顺序对所述第二批次交易的收集操作,其中,所述第二批次交易为所述目标交易集合尚未完成收集的批次交易;
如果所述目标交易集合的所有批次交易都完成共识,对所述目标集合的所有批次交易进行交易执行操作;
在所述区块链中发送所述目标交易集合的所有批次交易的交易执行结果以对所述目标交易集合的所有批次交易进行交易确认;
在得到所述目标交易集合的所有批次交易的交易确认后,对所述目标交易集合的所有批次交易执行一次写块操作。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210178479.2A CN114547201A (zh) | 2022-02-24 | 2022-02-24 | 一种区块链交易的处理方法、区块链节点及电子设备 |
PCT/CN2022/135434 WO2023160088A1 (zh) | 2022-02-24 | 2022-11-30 | 一种区块链交易的处理方法、区块链节点及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210178479.2A CN114547201A (zh) | 2022-02-24 | 2022-02-24 | 一种区块链交易的处理方法、区块链节点及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114547201A true CN114547201A (zh) | 2022-05-27 |
Family
ID=81679201
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210178479.2A Pending CN114547201A (zh) | 2022-02-24 | 2022-02-24 | 一种区块链交易的处理方法、区块链节点及电子设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114547201A (zh) |
WO (1) | WO2023160088A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023160092A1 (zh) * | 2022-02-24 | 2023-08-31 | 蚂蚁区块链科技(上海)有限公司 | 一种区块链交易的处理方法、区块链节点及电子设备 |
WO2023160088A1 (zh) * | 2022-02-24 | 2023-08-31 | 蚂蚁区块链科技(上海)有限公司 | 一种区块链交易的处理方法、区块链节点及电子设备 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111221639A (zh) * | 2020-01-09 | 2020-06-02 | 杭州趣链科技有限公司 | 一种区块链平台的区块流水线执行方法 |
US11194555B2 (en) * | 2020-04-13 | 2021-12-07 | International Business Machines Corporation | Optimization of execution of smart contracts |
CN112887436B (zh) * | 2021-04-28 | 2021-08-03 | 支付宝(杭州)信息技术有限公司 | 一种共识方法、共识节点和流水线方式的区块链系统 |
CN114547201A (zh) * | 2022-02-24 | 2022-05-27 | 蚂蚁区块链科技(上海)有限公司 | 一种区块链交易的处理方法、区块链节点及电子设备 |
CN114529413A (zh) * | 2022-02-24 | 2022-05-24 | 蚂蚁区块链科技(上海)有限公司 | 一种区块链交易的处理方法、区块链节点及电子设备 |
-
2022
- 2022-02-24 CN CN202210178479.2A patent/CN114547201A/zh active Pending
- 2022-11-30 WO PCT/CN2022/135434 patent/WO2023160088A1/zh unknown
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023160092A1 (zh) * | 2022-02-24 | 2023-08-31 | 蚂蚁区块链科技(上海)有限公司 | 一种区块链交易的处理方法、区块链节点及电子设备 |
WO2023160088A1 (zh) * | 2022-02-24 | 2023-08-31 | 蚂蚁区块链科技(上海)有限公司 | 一种区块链交易的处理方法、区块链节点及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2023160088A1 (zh) | 2023-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114547201A (zh) | 一种区块链交易的处理方法、区块链节点及电子设备 | |
CN111756550B (zh) | 一种区块链共识方法及装置 | |
WO2020211579A1 (zh) | 一种基于分布式批量处理系统的处理方法、装置及系统 | |
CN110659988B (zh) | 区块链共识与执行的并行处理方法、装置和电子设备 | |
CN114529413A (zh) | 一种区块链交易的处理方法、区块链节点及电子设备 | |
CN108776897B (zh) | 数据处理方法、装置、服务器及计算机可读存储介质 | |
CN110674213A (zh) | 一种数据同步方法及装置 | |
CN112181522A (zh) | 数据处理的方法、装置以及电子设备 | |
CN105760395A (zh) | 一种数据处理的方法、装置及系统 | |
CN112465515B (zh) | 一种区块链的共识方法、共识节点及电子设备 | |
CN111045810A (zh) | 一种任务调度处理方法及装置 | |
CN110806939B (zh) | 一种定时任务处理方法、装置及系统 | |
CN114168352B (zh) | 任务的多核调度方法、装置、电子设备及存储介质 | |
CN115695330B (zh) | 嵌入式系统中微程的调度系统、方法、终端及存储介质 | |
CN111782378A (zh) | 自适应性的处理性能调整方法、服务器及可读存储介质 | |
CN111176821A (zh) | 操作系统的多任务调度方法及装置 | |
CN110083441B (zh) | 一种分布式计算系统及分布式计算方法 | |
CN115543254A (zh) | 一种排序电路、排序方法及电子设备 | |
CN115408173A (zh) | 一种事件处理方法、装置、电子设备及存储介质 | |
CN110928580B (zh) | 异步流程控制方法和装置 | |
CN113434271A (zh) | 任务执行方法及装置、存储介质、电子装置 | |
CN109412973B (zh) | 一种音频处理方法、装置及存储介质 | |
CN112118012A (zh) | 译码器迭代次数确定方法及装置 | |
CN105446798A (zh) | 一种多核处理系统及方法以及移动终端 | |
CN112783922B (zh) | 一种基于关系数据库的查询方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |