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

技术编号:30830804 阅读:11 留言: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]根据第五方面,提供一种区块链系统中执行交易的装置,所述区块链系统包括执行分片和共识分片,所述执行分片包括第一执行分片和第二执行分片,所述装置部署于所述第二执行分片的节点,所述装置包括:
[0021]接收模块,用于接收所述共识分片的节点发送的共识结果;所述共识结果为所述共识分片对交易进行共识得到的;所述共识结果包括待执行的多个交易;所述多个交易包括第一交易,所述第一交易读取的至少部分参数对应的账户状态存储于所述第二执行分片;所述第一交易访问的参数中包括目标参数;所述目标参数对应的账户状态存储于所述第一执行分片;
[0022]发送模块,用于根据所述第一交易将所述至少部分参数对应的状态值发送给所述第一执行分片的节点。
[0023]根据第六方面,提供一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面或第二方面或第三方面中任一项所述的方法。
[0024]根据第七方面,提供一种及计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述第一方面或第二方面或第三方面中任一项所述的方法。
[0025]本说明书的实施例提供的技术方案可以包括以下有益效果:
[0026]本说明书的实施例提供的区块链系统中执行交易方法和装置,将区块链系统分为执行分片和共识分片,并利用共识分片对接收到的交易进行共识,利用执行分片执行由共识分片共识过的交易,从而将区块链系统的共识和执行的功能解耦,提高了区块链系统的容错率以及交易的执行效率。并且,区块链系统可以处理跨分片交易,任一执行分片在执行完成跨分片交易对应的操作之后,无需等待其它执行分片执行完成任一交易对应的操作,从而降低了通讯代价和阻塞时间。
[0027]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
[0028]为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
[0029]图1是本说明书根据一示例性实施例示出的一种区块链系统的架构图;
[0030]图2是本说明书根据一示例性实施例示出的一种区块链系统中执行交易的方法的交互流程图;
[0031]图3是本说明书根据一示例性实施例示出的另一种区块链系统中执行交易的方法的流程图;
[0032]图4a是本说明本文档来自技高网
...

【技术保护点】

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

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

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

1