[发明专利]用于并发处理区块链交易的方法、计算机系统和介质在审
申请号: | 201710978856.X | 申请日: | 2017-10-19 |
公开(公告)号: | CN110019202A | 公开(公告)日: | 2019-07-16 |
发明(设计)人: | 曹锋;崇志宏 | 申请(专利权)人: | 深圳区块链金融服务有限公司;上海万链信息技术有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/28;G06Q20/10 |
代理公司: | 北京市金杜律师事务所 11256 | 代理人: | 王茂华;张平 |
地址: | 518054 广东省深圳市南*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 交易 并发处理 计算机系统 区块 计算机可读存储介质 原子操作 构建 块池 并行 | ||
1.一种用于并发处理区块链交易的方法,包括:
构建交易池以包含所有待处理的交易;
将所述交易池中的所有交易划分为多个原子块以构成原子块池,每个原子块包含一个或多个交易;以及
对所述多个原子块中的每个原子块并行进行原子操作,以处理其所包含的交易。
2.如权利要求1所述的方法,其中将所述交易池中的所有交易划分为多个原子块包括以下多项中的至少一项:
将所述交易池中的所有交易的开销时间排序,并且将开销时间最小的交易划分到同一原子块中;
将所述交易池中的所有交易随机划分为所述多个原子块;或者
将所述交易池中的所有交易按照转出账号排序,并且将涉及相同转出账号的交易划分到同一原子块中。
3.如权利要求1所述的方法,对所述多个原子块中的每个原子块并行进行原子操作包括:
在对所述多个原子块中的一个原子块中的多个交易进行处理时,按照交易的顺序确定每个交易所涉及的转出账户的锁标志,其中所述锁标志包括共享锁和排他锁;
响应于确定该交易所涉及的转出账户的锁标志为排他锁,等待直至该转出账户的锁标志变为共享锁;
响应于确定该交易所涉及的转出账户的锁标志为共享锁,确定该交易所涉及的转入账户的锁标志;
响应于确定该交易所涉及的转入账户的锁标志为共享锁,将所述转入账户的锁标志重置为共享锁并将所述转出账户的锁标志重置为排他锁;以及
响应于该交易所涉及的转入账户的锁标志为排他锁,将所述转入账户的锁标志重置为排他锁并将所述转出账户的锁标志重置为排他锁。
4.如权利要求3所述的方法,对所述多个原子块中的每个原子块并行进行原子操作还包括:
对该交易进行处理;并且
响应于该交易被成功处理,将该交易所涉及的转入账户和转出账户的锁标志都重置为共享锁。
5.如权利要求4所述的方法,对所述多个原子块中的每个原子块并行进行原子操作还包括:
响应于该交易未被成功处理,发出出错警报。
6.如权利要求1所述的方法,还包括:
构建待命池,并将成功处理的原子块中的所有交易放入所述待命池中。
7.如权利要求6所述的方法,还包括:
将所述待命池中的每个交易与当前区块链中的交易进行一致性比较以确定该交易是否已经存在于区块链中;
响应于确定该交易已经存在于区块链中,将该交易所位于的原子块回滚到所述交易池;以及
响应于确定该交易不存在于区块链中,将该交易添加到区块链中。
8.如权利要求1所述的方法,对所述多个原子块中的每个原子块并行进行原子操作之后还包括:
将所述原子块池中的每个交易与当前区块链中的交易进行一致性比较以确定该交易是否已经存在于区块链中;
响应于确定该交易已经存在于区块链中,将该交易所位于的原子块回滚到所述交易池;以及
响应于确定该交易不存在于区块链中,对该交易进行处理。
9.如权利要求7或8所述的方法,将该交易所位于的原子块回滚到所述交易池包括:
将该交易所位于的原子块中、除了该交易之外的其他交易回滚到所述交易池。
10.一种用于并发处理区块链交易的计算机系统,包括:
存储器,其中存储有计算机程序代码;以及
一个或多个处理器,其被配置为运行所述存储器中存储的计算机程序,以
构建交易池以包含所有待处理的交易;
将所述交易池中的所有交易划分为多个原子块以构成原子块池,每个原子块包含一个或多个交易;以及
对所述多个原子块中的每个原子块并行进行原子操作,以处理其所包含的交易。
11.一种计算机可读存储介质,其上存储有用于并发处理区块链交易的计算机代码,所述计算机代码包括:
用于构建交易池以包含所有待处理的交易的计算机代码;
用于将所述交易池中的所有交易划分为多个原子块以构成原子块池的计算机代码,每个原子块包含一个或多个交易;以及
用于对所述多个原子块中的每个原子块并行进行原子操作,以处理其所包含的交易的计算机代码。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳区块链金融服务有限公司;上海万链信息技术有限公司,未经深圳区块链金融服务有限公司;上海万链信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710978856.X/1.html,转载请声明来源钻瓜专利网。