在区块链中并发执行交易的方法和装置与流程

文档序号:23093080发布日期:2020-11-27 12:48阅读:来源:国知局

技术特征:

1.一种在区块链中并发执行交易的方法,包括:

第一执行体获取当前待执行的第一交易;

执行所述第一交易;

将所述第一交易的执行信息存储到共享内存中;

在共享内存中记录所述第一交易的处理阶段为待提交阶段;

第二执行体确定当前应提交的第一交易;

如果所述共享内存中记录的第一交易的处理阶段为待提交阶段,从共享内存中获取所述第一交易的执行信息;

提交所述第一交易的执行信息。

2.根据权利要求1所述的方法,还包括,在提交所述第一交易的执行信息之后,第二执行体确定与所述第一交易之间存在变量访问冲突的第二交易;

对共享内存中存储的第二交易的处理阶段进行修改,以指示第二交易需要重做。

3.根据权利要求1所述的方法,还包括,所述第二执行体在确定当前应提交的第一交易之后,将所述第一交易的处理阶段修改为提交中阶段;在提交所述第一交易之后,将所述第一交易的处理阶段修改为已提交阶段。

4.根据权利要求1-3任一项所述的方法,其中,对共享内存中存储的第二交易的处理阶段进行修改,以指示第二交易需要重做包括:

如果所述第二交易的处理阶段为待提交阶段,则将所述第二交易的处理阶段修改为第一重做阶段;

如果所述第二交易的处理阶段为执行中阶段,则将所述第二交易的处理阶段修改为第二重做阶段。

5.根据权利要求4所述的方法,还包括:

在第二执行体确定当前应提交的第一交易之后,如果所述共享内存中记录的所述第一交易的处理阶段为所述第一重做阶段,所述第二执行体重新执行所述第一交易;

提交所述第一交易。

6.根据权利要求4所述的方法,还包括,所述第一执行体在获取当前待执行的第一交易之后,将所述第一交易的处理阶段修改为执行中阶段,其中,在共享内存中记录所述第一交易的处理阶段为待提交阶段包括:

在共享内存中读取所述第一交易的处理阶段;

在所述读取的第一交易的处理阶段为所述执行中阶段的情况中,将所述第一交易的处理阶段修改为待提交阶段。

7.根据权利要求6所述的方法,还包括,在在共享内存中读取所述第一交易的处理阶段之后,在所述读取的第一交易的处理阶段为所述第二重做阶段的情况中,所述第一执行体将所述第一交易的处理阶段修改为所述第一重做阶段。

8.根据权利要求1所述的方法,还包括,在第二执行体确定当前应提交的第一交易之后,第二执行体从所述共享内存中读取所述第一交易的处理阶段。

9.一种在区块链中并发执行交易的装置,包括:

相对于第一执行体部署的:获取单元,配置为,获取当前待执行的第一交易;

执行单元,配置为,执行所述第一交易;

存储单元,配置为,将所述第一交易的执行信息存储到共享内存中;

记录单元,配置为,在共享内存中记录所述第一交易的处理阶段为待提交阶段;

相对于第二执行体部署的:第一确定单元,配置为,确定当前应提交的第一交易;

第一读取单元,配置为,如果所述共享内存中记录的第一交易的处理阶段为待提交阶段,从共享内存中获取所述第一交易的执行信息;

第一提交单元,配置为,提交所述第一交易的执行信息。

10.根据权利要求9所述的装置,还包括相对于所述第二执行体部署的:第二确定单元,配置为,在提交所述第一交易的执行信息之后,确定与所述第一交易之间存在变量访问冲突的第二交易;

第一修改单元,配置为,对共享内存中存储的第二交易的处理阶段进行修改,以指示第二交易需要重做。

11.根据权利要求9所述的装置,还包括相对于所述第二执行体部署的:第二修改单元,配置为,在确定当前应提交的第一交易之后,将所述第一交易的处理阶段修改为提交中阶段;第三修改单元,配置为,在提交所述第一交易之后,将所述第一交易的处理阶段修改为已提交阶段。

12.根据权利要求9-11任一项所述的装置,其中,所述第一修改单元包括:

第一修改子单元,配置为,如果所述第二交易的处理阶段为待提交阶段,则将所述第二交易的处理阶段修改为第一重做阶段;

第二修改子单元,配置为,如果所述第二交易的处理阶段为执行中阶段,则将所述第二交易的处理阶段修改为第二重做阶段。

13.根据权利要求12所述的装置,还包括相对于所述第二执行体部署的:

重新执行单元,配置为,在在共享内存中读取第一交易的处理阶段之后,如果所述共享内存中记录的所述第一交易的处理阶段为所述第一重做阶段,重新执行所述第一交易;

第二提交单元,配置为,提交所述第一交易。

14.根据权利要求12所述的装置,还包括相对于所述第一执行体部署的第四修改单元,配置为,在获取当前待执行的第一交易之后,将所述第一交易的处理阶段修改为执行中阶段,其中,所述记录单元包括:

读取子单元,配置为,在共享内存中读取所述第一交易的处理阶段;

修改子单元,配置为,在所述读取的第一交易的处理阶段为所述执行中阶段的情况中,将所述第一交易的处理阶段修改为待提交阶段。

15.根据权利要求14所述的装置,还包括相对于所述第一执行体部署的第五修改单元,配置为,在在共享内存中读取所述第一交易的处理阶段之后,在所述读取的第一交易的处理阶段为所述第二重做阶段的情况中,将所述第一交易的处理阶段修改为所述第一重做阶段。

16.根据权利要求9所述的装置,还包括部署于所述第二执行体的第二读取单元,配置为,在第二执行体确定当前应提交的第一交易之后,从所述共享内存中读取所述第一交易的处理阶段。

17.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-8中任一项的所述的方法。

18.一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-8中任一项所述的方法。


技术总结
本说明书实施例提供了一种在区块链中并发执行交易的方法和装置,所述方法包括:第一执行体获取当前待执行的第一交易;执行所述第一交易;将所述第一交易的执行信息存储到共享内存中;在共享内存中记录所述第一交易的处理阶段为待提交阶段;第二执行体确定当前应提交的第一交易;如果第一交易的处理阶段为待提交阶段,从共享内存中读取所述第一交易的执行信息;提交所述第一交易的执行信息。

技术研发人员:谢桂鲁
受保护的技术使用者:支付宝(杭州)信息技术有限公司
技术研发日:2020.10.28
技术公布日:2020.11.27
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1