区块链系统中执行交易的方法及装置制造方法及图纸

技术编号:30830854 阅读:19 留言:0更新日期:2021-11-18 12:44
本说明书提供一种区块链系统中执行交易的方法及装置,所述区块链系统包括执行分片和共识分片,所述方法包括:所述共识分片的节点对接收到的交易进行共识,并将经过所述共识的共识结果发送给所述执行分片的节点,所述共识结果包括待执行的多个交易;所述执行分片的节点执行所述多个交易中的至少部分交易各自对应的操作;其中,任一交易对应的操作包括读和/或写操作。或写操作。或写操作。

【技术实现步骤摘要】
区块链系统中执行交易的方法及装置


[0001]本说明书一个或多个实施例涉及区块链
,特别涉及一种区块链系统中执行交易的方法及装置。

技术介绍

[0002]区块链(Blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。由于区块链具有去中心化、信息不可篡改、自治性等特性,区块链也受到人们越来越多的重视和应用。
[0003]目前来说,在相关的技术中,区块链系统在计算和存储方面的可扩展性较弱,制约了区块链系统的吞吐量,难以满足应用的需求。因此,需要提供一种区块链系统中执行交易的方法。

技术实现思路

[0004]本说明书一个或多个实施例提供一种区块链系统中执行交易的方法及装置。
[0005]根据第一方面,提供一种区块链系统中执行交易的方法,所述区块链系统包括执行分片和共识分片,所述方法包括:
[0006]所述共识分片的节点对接收到的交易进行共识,并将经过所述共识的共识结果发送给所述执行分片的节点,所述共识结果包括待执行的多个交易;
[0007]所述执行分片的节点执行所述多个交易中的至少部分交易各自对应的操作;其中,任一交易对应的操作包括读和/或写操作。
[0008]根据第二方面,提供一种区块链系统中执行交易的方法,所述区块链系统包括第一执行分片和共识分片,所述方法由所述第一执行分片的节点执行,所述方法包括:
[0009]接收所述共识分片的节点发送的共识结果;所述共识结果为所述共识分片对交易进行共识得到的;所述共识结果包括待执行的多个交易;
[0010]执行所述多个交易中的至少部分交易各自对应的操作;其中,任一交易对应的操作包括读和/或写操作。
[0011]根据第三方面,提供一种区块链系统中执行交易的装置,所述区块链系统包括第一执行分片和共识分片,所述装置部署于所述第一执行分片的节点中,所述装置包括:
[0012]接收模块,用于接收所述共识分片的节点发送的共识结果;所述共识结果为所述共识分片对交易进行共识得到的;所述共识结果包括待执行的多个交易;
[0013]执行模块,用于执行所述多个交易中的至少部分交易各自对应的操作;其中,任一交易对应的操作包括读和/或写操作。
[0014]根据第四方面,提供一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面或第二方面中任一项所述的方法。
[0015]根据第五方面,提供一种及计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述第一方面或第二方面中任一项所述的方法。
[0016]本说明书的实施例提供的技术方案可以包括以下有益效果:
[0017]本说明书的实施例提供的区块链系统中执行交易的方法和装置,将区块链系统分为执行分片和共识分片,并利用共识分片对接收到的交易进行共识,利用执行分片执行由共识分片共识过的交易,从而将区块链系统的共识和执行的功能解耦,提高了区块链系统的容错率以及交易的执行效率。
[0018]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
[0019]为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
[0020]图1是本说明书根据一示例性实施例示出的一种区块链系统的架构图;
[0021]图2是本说明书根据一示例性实施例示出的一种区块链系统中执行交易的方法的交互流程图;
[0022]图3是本说明书根据一示例性实施例示出的另一种区块链系统中执行交易的方法的流程图;
[0023]图4a是本说明书根据一示例性实施例示出的一种排序锁队列的示意图;
[0024]图4b是本说明书根据一示例性实施例示出的另一种排序锁队列的示意图;
[0025]图5是本说明书根据一示例性实施例示出的一种区块链系统中执行交易的装置的框图。
具体实施方式
[0026]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。
[0027]在本说明书中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0028]应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
[0029]如图1所示,是根据一示例性实施例示出的一种区块链系统的架构图。
[0030]在图1中,区块链系统可以包括执行分片和共识分片,其中,共识分片可以包括分片AS1,分片AS2,
……
分片ASn等n个共识分片。执行分片可以包括分片ES1,分片ES2,
……
分片ESm等m个执行分片。不同的分片各自包括多个节点,各个节点可以实现为任何具有计算、处理能力的装置、服务器或设备集群等。可以理解,图1仅是示例性的示出n个共识分片和m个执行分片,实际上区块链系统中可以包括任意数目的共识分片和执行分片。例如,共识分片的数目可以是一个也可以是多个,执行分片的数目可以是一个也可以是多个,共识分片的数目可以和执行分片的数目相同,也可以不同。
[0031]具体来说,首先,共识分片可以与客户端对接,从客户端接收交易,并对接收到的交易进行共识,不同的共识分片可以接收并共识不同的交易。接着,各个共识分片可以将各自共识得到的共识结果发送给各个执行分片的节点,共识结果可以包括待执行的多个交易(即共识成功的多个交易)以及该多个交易的执行顺序,由执行分片的节点完成对该多个交易的执行操作。
[0032]需要说明的是,区块链系统如果包括多个执行分片,不同的执行分片可以存储不同账户的状态。任一执行分片的节点可以确定接收的共识结果包括的多个交易中与该执行分本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种区块链系统中执行交易的方法,所述区块链系统包括执行分片和共识分片,所述方法包括:所述共识分片的节点对接收到的交易进行共识,并将经过所述共识的共识结果发送给所述执行分片的节点,所述共识结果包括待执行的多个交易;所述执行分片的节点执行所述多个交易中的至少部分交易各自对应的操作;其中,任一交易对应的操作包括读和/或写操作。2.根据权利要求1所述的方法,其中,所述区块链系统包括多个执行分片;其中,所述将经过所述共识的共识结果发送给所述执行分片的节点,包括:将所述共识结果分别发送给所述多个执行分片中各个执行分片各自包括的各个节点。3.根据权利要求2所述的方法,其中,所述执行分片的节点执行所述多个交易中的至少部分交易各自对应的操作,包括:所述多个执行分片中的第一执行分片的节点执行所述多个交易中与所述第一执行分片关联的第一交易对应的操作。4.根据权利要求3所述的方法,其中,所述方法还包括:在执行所述第一交易对应的操作之后,所述第一执行分片的节点根据执行的结果更新所述第一执行分片的世界状态。5.根据权利要求3所述的方法,其中,所述执行所述多个交易中与所述第一执行分片关联的第一交易对应的操作,包括:确定所述多个交易中各个交易各自访问的参数;任一交易访问的参数包括该交易读取的参数和/或写入的参数;基于所述各个交易各自访问的参数,执行所述第一交易对应的操作;其中,所述第一交易访问的参数中包括至少一个目标参数;所述目标参数对应的账户的状态存储于所述第一执行分片中。6.根据权利要求5所述的方法,其中,所述基于所述各个交易各自访问的参数,执行所述第一交易对应的操作,包括:基于所述各个交易各自访问的参数,确定所述第一交易;确定所述第一交易访问的各个目标参数以及所述第一交易对应的排序;按照所述排序在所述各个目标参数各自对应的各个排序锁队列中加入针对所述第一交易的目标信息;基于所述各个排序锁队列,触发所述第一交易对应的操作的执行。7.根据权利要求6所述的方法,其中,所述基于所述各个排序锁队列,触发所述第一交易对应的操作的执行,包括:基于所述各个排序锁队列中所述目标信息的位置,确定满足触发条件;在满足触发条件的情况下,触发所述第一交易对应的操作的执行。8.根据权利要求7所述的方法,其中,所述基于所述各个排序锁队列中所述目标信息的位置,确定满足触发条件,包括:确定所述第一交易访问的目标参数的个数,作为计数值的初始值;至少在确定任一排序锁队列中所述目标信息位于首位的情况下,将所述计数值减1;在所述计数值减为0的情况下,确定满足触发条件。
9.根据权利要求6所述的方法,其中,在所述第一交易对应的操作执行完成之后,还包括:针对所述各个排序锁队列,执行对所述目标信息的出队列操作。10.根据权利要求6所述的方法,其中,在所述第一交易访问的任一目标参数对应的排序锁队列中加入的针对所述第一交易的目标信息包括所述第一交易的标识及该目标参数在所述第一交易中的读写属性。11.一种区块链系统中执行交易的方法,所述区块链系统包括第一执行分片和共识分片,所述方法由所述第一执行分片的节点执行,所述方法包括:接收所述共识分片的节点发送的共识结果;所述共识结果为所述共识分片对交易进行共识得到的;所述共识结果包括待执行的多个交易;执行所述多个交易中的至少部分交易各自对应的操作;其中,任一交易对应的操作包括读和/或写操作。12.根据权利要求11所述的方法,其中,所述第一执行分片为所述区块链系统包括的多个执行分片之一;所述执行所述多个交易中的至少部分交易各自对应的操作,包括:执行所述多个交易中与所述第一执行分片关联的第一交易对应的操作。13.根据权利要求12所述的方...

【专利技术属性】
技术研发人员:金澈清徐泉清戚晓冬卓海振李青青张召张辉闫莺
申请(专利权)人:蚂蚁区块链科技上海有限公司华东师范大学
类型:发明
国别省市:

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

1