[发明专利]在区块链中并发执行交易的方法和装置有效
申请号: | 202110290736.7 | 申请日: | 2020-10-28 |
公开(公告)号: | CN112991061B | 公开(公告)日: | 2023-06-09 |
发明(设计)人: | 谢桂鲁 | 申请(专利权)人: | 支付宝(杭州)信息技术有限公司 |
主分类号: | G06Q40/04 | 分类号: | G06Q40/04 |
代理公司: | 北京亿腾知识产权代理事务所(普通合伙) 11309 | 代理人: | 张静娟;周良玉 |
地址: | 310000 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 区块 并发 执行 交易 方法 装置 | ||
1.一种在区块链中并发执行交易的方法,包括:
第一执行体获取当前待执行的第一交易;
执行所述第一交易;
将所述第一交易的执行信息存储到共享内存中;
在共享内存中记录所述第一交易的处理阶段为待提交阶段;
第二执行体确定当前应提交的第一交易;
如果所述共享内存中记录的第一交易的处理阶段为待提交阶段,从共享内存中获取所述第一交易的执行信息;
提交所述第一交易的执行信息。
2.根据权利要求1所述的方法,还包括,在提交所述第一交易的执行信息之后,第二执行体确定与所述第一交易之间存在变量访问冲突的第二交易;
对共享内存中存储的第二交易的处理阶段进行修改,以指示第二交易需要重做。
3.根据权利要求1所述的方法,还包括,所述第二执行体在确定当前应提交的第一交易之后,将所述第一交易的处理阶段修改为提交中阶段;在提交所述第一交易之后,将所述第一交易的处理阶段修改为已提交阶段。
4.根据权利要求2所述的方法,其中,对共享内存中存储的第二交易的处理阶段进行修改,以指示第二交易需要重做包括:
如果所述第二交易的处理阶段为待提交阶段,则将所述第二交易的处理阶段修改为第一重做阶段;
如果所述第二交易的处理阶段为执行中阶段,则将所述第二交易的处理阶段修改为第二重做阶段。
5.根据权利要求4所述的方法,还包括:
在第二执行体确定当前应提交的第一交易之后,如果所述共享内存中记录的所述第一交易的处理阶段为所述第一重做阶段,所述第二执行体重新执行所述第一交易;
提交所述第一交易。
6.根据权利要求4所述的方法,还包括,所述第一执行体在获取当前待执行的第一交易之后,将所述第一交易的处理阶段修改为执行中阶段,其中,在共享内存中记录所述第一交易的处理阶段为待提交阶段包括:
在共享内存中读取所述第一交易的处理阶段;
在所述读取的第一交易的处理阶段为所述执行中阶段的情况中,将所述第一交易的处理阶段修改为待提交阶段。
7.根据权利要求6所述的方法,还包括,在在共享内存中读取所述第一交易的处理阶段之后,在所述读取的第一交易的处理阶段为所述第二重做阶段的情况中,所述第一执行体将所述第一交易的处理阶段修改为所述第一重做阶段。
8.根据权利要求1所述的方法,还包括,在第二执行体确定当前应提交的第一交易之后,第二执行体从所述共享内存中读取所述第一交易的处理阶段。
9.一种在区块链中并发执行交易的装置,包括:
相对于第一执行体部署的:获取单元,配置为,获取当前待执行的第一交易;
执行单元,配置为,执行所述第一交易;
存储单元,配置为,将所述第一交易的执行信息存储到共享内存中;
记录单元,配置为,在共享内存中记录所述第一交易的处理阶段为待提交阶段;
相对于第二执行体部署的:第一确定单元,配置为,确定当前应提交的第一交易;
第一读取单元,配置为,如果所述共享内存中记录的第一交易的处理阶段为待提交阶段,从共享内存中获取所述第一交易的执行信息;
第一提交单元,配置为,提交所述第一交易的执行信息。
10.根据权利要求9所述的装置,还包括相对于所述第二执行体部署的:第二确定单元,配置为,在提交所述第一交易的执行信息之后,确定与所述第一交易之间存在变量访问冲突的第二交易;
第一修改单元,配置为,对共享内存中存储的第二交易的处理阶段进行修改,以指示第二交易需要重做。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于支付宝(杭州)信息技术有限公司,未经支付宝(杭州)信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110290736.7/1.html,转载请声明来源钻瓜专利网。