[发明专利]在区块链中并发执行交易的方法和装置有效
申请号: | 201910816544.8 | 申请日: | 2019-08-30 |
公开(公告)号: | CN110706101B | 公开(公告)日: | 2021-06-29 |
发明(设计)人: | 刘晓建;张兆勇 | 申请(专利权)人: | 创新先进技术有限公司 |
主分类号: | G06Q40/04 | 分类号: | G06Q40/04 |
代理公司: | 北京亿腾知识产权代理事务所(普通合伙) 11309 | 代理人: | 张静娟;周良玉 |
地址: | 开曼群岛大开曼岛*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 区块 并发 执行 交易 方法 装置 | ||
1.一种在区块链中并发执行多个交易的方法,其中,所述多个交易具有预定的提交顺序,其中包括第一交易和第二交易,所述第二交易的提交顺序在所述多个交易中位于第一位,所述第二交易中包括对第一变量的写操作,所述方法在区块链中的第一节点执行,所述第一节点预设有变量访问表,所述变量访问表中包括与所述第一变量对应的写字段和读字段,其中,所述写字段用于记录所述多个交易中的对所述第一变量的写操作的执行,所述读字段用于记录所述多个交易中的对所述第一变量的读操作的执行,所述写字段中包括的预定数目的位与预定数目的交易分别对应,所述第一节点中预设有交易执行窗口,所述交易执行窗口当前包括所述多个交易,其中,所述多个交易的数目小于等于所述预定数目,所述方法包括:
在第一交易的执行中,对于每个在前交易,基于所述写字段确定:是否已执行该在前交易中的对所述第一变量的写操作,其中,所述在前交易为所述多个交易中提交顺序在所述第一交易之前的交易;以及
基于所述确定结果,执行第一交易中的对所述第一变量的读操作;
在执行第一交易中的对所述第一变量的读操作之后,相应地修改所述读字段;
当在相应地修改所述读字段之后提交所述第二交易的情况中,基于所述读字段,确定是否已执行第一交易中的对所述第一变量的读操作;以及
在确定已执行第一交易中的对所述第一变量的读操作的情况中,通知本地重新执行第一交易中的对所述第一变量的读操作;
在提交所述第二交易之后,将所述写字段中与所述第二交易对应的位的第一值复原,其中所述第一值用于记录:已执行所述第二交易中的对所述第一变量的写操作;以及
将所述交易执行窗口在所述多个交易中向后移动一个交易。
2.根据权利要求1所述的方法,其中,所述变量访问表存储在本地,其中,基于所述确定结果,执行第一交易中的对所述第一变量的读操作包括,在对于每个在前交易,基于所述写字段确定未执行对所述第一变量的写操作的情况中,执行第一交易中的对所述第一变量的读操作。
3.根据权利要求1所述的方法,其中,基于所述确定结果,执行第一交易中的对所述第一变量的读操作包括,对于所述多个交易中提交顺序在所述第一交易之前的第三交易,基于所述写字段确定已执行该第三交易中的对所述第一变量的写操作的情况中,相对于第一交易进行等待,以在提交第三交易之后执行第一交易中的对所述第一变量的读操作。
4.根据权利要求1所述的方法,其中,所述变量访问表存储在本地,其中,对于每个在前交易,基于所述写字段确定:是否已执行该在前交易中的对所述第一变量的写操作包括,向本地专用硬件发送报告,以请求所述专用硬件进行所述确定,
基于所述确定结果,执行第一交易中的对所述第一变量的读操作包括,在发送所述报告的同时,执行第一交易中的对所述第一变量的读操作,以及在提交第一交易之前,基于从所述专用硬件接收的确定结果,确定是否重新执行第一交易。
5.根据权利要求1所述的方法,其中,所述变量访问表存储在专用服务器中,其中,对于每个在前交易,基于所述写字段确定:是否已执行该在前交易中的对所述第一变量的写操作包括,向所述专用服务器发送报告,以请求所述专用服务器进行所述确定,
基于所述确定结果,执行第一交易中的对所述第一变量的读操作包括,在发送所述报告的同时,请求所述专用服务器执行第一交易中的对所述第一变量的读操作,以及在提交第一交易之前,基于从所述专用服务器接收的确定结果,确定是否重新执行第一交易。
6.根据权利要求1所述的方法,其中,所述读字段包括与所述多个交易分别对应的多位,其中,相应地修改所述读字段包括,相应地修改所述读字段中与第一交易对应的位。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于创新先进技术有限公司,未经创新先进技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910816544.8/1.html,转载请声明来源钻瓜专利网。