【技术实现步骤摘要】
一种并行化执行区块链交易的方法、装置及系统
本说明书实施例涉及信息
,尤其涉及一种并行化执行区块链交易的方法、装置及系统。
技术介绍
对于常见的区块链应用场景而言,当需要进行各节点间的共识时,各节点会基于共识算法选举出有权限将若干待执行的交易打包成区块的节点,即记账节点。在共识之后,记账节点从缓存中捞取若干待执行的交易打包成区块,并将所述区块广播给其他节点。随后,针对每个节点,该节点一方面会按照所述区块中各交易被发起的先后顺序,由先到后依次执行每个交易,另一方面会将所述区块写入区块链。通常,将节点由先到后逐个执行区块中的每个交易的方式称为串行化的交易执行方式。之所以要采用这种串行化的交易执行方式,是因为在常见的区块链应用场景下,一笔交易的执行有时会对不止一个存储地址上存储的信息进行更新,如果不采用串行化的交易执行方式,则容易出现有的交易执行失败的情况。但是,在有的区块链应用场景下,不存在会对不止一个存储地址上存储的信息进行更新的交易。在这些区块链应用场景下,采用上述的串行化的交易执行方式,会导致交易执行效率较低。
技术实现思路
为了解决现有的区块链交易执行方式效 ...
【技术保护点】
1.一种并行化执行区块链交易的方法,包括:针对区块链网络中的每个节点,该节点获取待写入区块;针对所述待写入区块中的每个交易,该交易的执行结果为,创设一个存储地址并存入信息,或更新一个存储地址上存储的信息;从所述待写入区块中读取各交易,并将各交易组织成N个交易队列;N大于1;同时针对每个交易队列,由先到后依次执行该交易队列中的每个交易;将所述待写入区块写入区块链。
【技术特征摘要】
1.一种并行化执行区块链交易的方法,包括:针对区块链网络中的每个节点,该节点获取待写入区块;针对所述待写入区块中的每个交易,该交易的执行结果为,创设一个存储地址并存入信息,或更新一个存储地址上存储的信息;从所述待写入区块中读取各交易,并将各交易组织成N个交易队列;N大于1;同时针对每个交易队列,由先到后依次执行该交易队列中的每个交易;将所述待写入区块写入区块链。2.如权利要求1所述的方法,基于每个交易队列对应的交易数量计算得到的方差不大于指定阈值。3.如权利要求1或2所述的方法,针对区块链网络中的每个节点,该节点上预先部署有N个虚拟机程序;同时针对每个交易队列,由先到后依次执行该交易队列中的每个交易,具体包括:建立预先部署的N个虚拟机程序与N个交易队列之间的一一对应关系;同时针对每个交易队列,通过该交易队列对应的虚拟机程序,由先到后依次执行该交易队列中的每个交易。4.如权利要求1所述的方法,将各交易组织成N个交易队列,具体包括:从各交易中选择出执行结果为更新一个存储地址上存储的信息的交易,作为第一类交易,以及,将各交易中除第一类交易以外的其他交易作为第二类交易;将各第一类交易中,对应的存储地址相同的第一类交易组织成一个交易子队列;以每个交易子队列为一个处理单位,并且,以每个第二类交易视为一个处理单位;将各处理单位组织成N个交易队列。5.如权利要求4所述的方法,将各处理单位组织成N个交易队列,具体包括:根据每个处理单位对应的交易数量,由大到小对各处理单位进行排序;并且,初始化每个交易队列对应的交易数量为0;根据排序结果,选择第一个处理单位;将当前选择的处理单位添加到最小交易队列的队尾,并更新所述最小交易队列对应的交易数量;最小交易队列是当前对应的交易数量最小的交易队列;继续选择下一个处理单位,直至所有处理单位都被添加到交易队列。6.一种并行化执行区块链交易的装置,所述装置为区块链网络中的任一节点,所述装置包括:获取模块,获取待写入区块;针对所述待写入区块中的每个交易,该交易的执行结果为,创设一个存储地址并存入信息,或更新一个存储地址上存储的信息;组织模块,...
【专利技术属性】
技术研发人员:杨达一,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛,KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。