[发明专利]一种区块链并行化处理方法及装置有效
申请号: | 202010829778.9 | 申请日: | 2020-08-18 |
公开(公告)号: | CN111932257B | 公开(公告)日: | 2023-10-24 |
发明(设计)人: | 王舒榕;杨毅 | 申请(专利权)人: | 中国工商银行股份有限公司;工银科技有限公司 |
主分类号: | G06Q20/38 | 分类号: | G06Q20/38;G06F9/48 |
代理公司: | 北京三友知识产权代理有限公司 11127 | 代理人: | 董骁毅;周永君 |
地址: | 100140 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 区块 并行 处理 方法 装置 | ||
本发明提供了了一种区块链并行化处理方法及装置,包括:从接收到的交易中筛选出符合区块打包条件的交易并将待打包区块中的交易的排序情况进行广播;根据所述排序情况及所述交易的并行化ID对交易进行分组生成若干个交易队列;并行处理各交易队列中的交易并存储交易结果。本申请通过根据并行化ID将交易进行分组,在确保同一并行化ID交易处于同一执行队列的情况下,并行处理多条队列中的交易,实现区块链交易的并行处理。
技术领域
本申请属于区块链技术领域,具体地讲,涉及一种区块链并行化处理方法及装置。
背景技术
由于区块链的分布式自治特性,为了保证各节点处理及记录的一致性,区块链系统均制定了相应的规则,称为共识;实现规则所采用的算法,称为共识算法。业界普遍采用的共识的单位为区块,即将满足条件的一批交易打包成一个区块后一次性进入共识算法。为进一步保证不同节点执行结果的一致性,还需进一步进行限制:
方案一:要求同一区块中不得对同一key(密钥)的值进行多次修改。在方案一中,各交易可并行执行,执行的数据环境设置为前一个区块链的终态快照。当同一区块中存在多个交易对同一个key进行修改时,时序上的第二个交易本应以前一个交易的结果为初始状态才能得到业务意义上的正确结果,实际处理中以上一区块的终态为初始状态必然导致处理结果的错误。为了避免该种类型的错误,方案一在处理过程中采取了确认措施,当发现同一区块中存在多个交易对同一key值进行修改时,只有时序上的第一个交易修改是有效的,其他交易均无效。
方案一中在同一个区块中对同一个key值进行修改的交易在提交时是成功的,处理时才触发响应机制返回失败。区块打包存在随机性,因此该错误业务上是无法提前预知并进行规避。该错误的概率与key值被修改的频繁程度正相关,与交易并发度正相关。
方案二:要求交易处理严格采用串行处理模式。该方案中,区块链的核心处理模块严格按照串行方式处理交易,每笔交易的初始状态均为上一交易的处理结果。
方案二中,所有交易按照串行模式处理,导致系统的处理能力受到很大的制约,区块链的系统吞吐量无法有效提升。
综上,目前没有合理的解决满足业务确定性的区块链交易并行处理的方案,因此,如何提供一种新的方案,解决上述技术问题是本领域亟待解决的技术难题。
发明内容
本申请提供了一种区块链并行化处理方法及装置,以至少解决目前没有合理的解决满足业务确定性的区块链交易并行处理的方案的问题。
根据本申请的一个方面,提供了一种区块链并行化处理方法,包括:
从接收到的交易中筛选出符合区块打包条件的交易并将待打包区块中的交易的排序情况进行广播;
根据所述排序情况及所述交易的并行化ID对交易进行分组生成若干个交易队列;
并行处理各交易队列中的交易并存储交易结果。
在一实施例中,从接收到的交易中筛选出符合区块打包条件的交易并将所述交易的排序情况进行广播,包括:
将接收到的交易进行排序;
从排序后的交易中筛选出符合区块打包条件的交易;
将待打包区块中的交易的排序情况广播至普通成员节点。
在一实施例中,根据所述排序情况及所述交易的并行化ID对交易进行分组生成若干个交易队列,包括:
根据所述排序情况即所述交易的并行化ID对交易进行分组;
将分组后拥有同一并行化ID的交易按分组时的先后顺序放入同一交易队列。
在一实施例中,并行处理各交易队列中的交易并存储交易结果,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国工商银行股份有限公司;工银科技有限公司,未经中国工商银行股份有限公司;工银科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010829778.9/2.html,转载请声明来源钻瓜专利网。