预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共18页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN111861744A(43)申请公布日2020.10.30(21)申请号202010613063.X(22)申请日2020.06.30(71)申请人上海简苏网络科技有限公司地址201702上海市青浦区双联路158号2层K区235室(72)发明人丁有振杨春福(74)专利代理机构上海汉声知识产权代理有限公司31236代理人胡晶(51)Int.Cl.G06Q40/04(2012.01)H04L29/08(2006.01)权利要求书2页说明书13页附图2页(54)发明名称一种实现区块链交易并行化的方法及区块链节点(57)摘要本发明涉及区块链交易并行化技术领域,提供了一种实现区块链交易并行化的方法及区块链节点,其方法包括:在获取区块链节点对应的交易池中待打包的交易集合之后,遍历交易集合中的每一个交易,对交易中的独立交易进行过滤,取出所述交易集合中的独立交易并将其存入对应的独立交易缓存区中,后将所述交易集合中余下的关联交易保留于所述交易集合中;启动一用于处理所述关联交易的关联交易处理线程,并行启动处理所述独立交易的一个或多个独立交易处理线程。在确保关联交易能够有序正确的被处理的前提下,对交易并行化处理。轻松实现链上交易的并行化,不会给开发者带来任何心智负担,具有简单、安全、高效、易维护的特点。CN111861744ACN111861744A权利要求书1/2页1.一种实现区块链交易并行化的方法,其特征在于,包括以下步骤:获取区块链节点对应的交易池中待打包的交易集合;遍历所述交易集合中的每一个交易,对所述交易中的独立交易进行过滤,取出所述交易集合中的所述独立交易并将其存入对应的独立交易缓存区中,后将所述交易集合中余下的关联交易保留于所述交易集合中;启动一用于处理所述关联交易的关联交易处理线程,并行启动处理所述独立交易的一个或多个独立交易处理线程,其中,启动所述独立交易处理线程的个数,以依据包括所述独立交易与所述关联交易个数的比值、所述关联交易处理线程的处理时间、所述区块链节点的处理性能在内的因素的并行进程智能算法来确定。2.根据权利要求1所述的实现区块链交易并行化的方法,其特征在于,遍历所述交易集合中的每一个所述交易,对所述交易中的所述独立交易进行过滤,取出所述交易集合中的所述独立交易并将其存入对应的所述独立交易缓存区中,后将所述交易集合中余下的所述关联交易保留于所述交易集合中,具体为:遍历所述交易集合中的每一个所述交易,并用当前迭代交易的包括源地址和目的地址在内的地址,与所述交易集合中的所有的所述交易进行对比;若在所述交易集合中存在包括源地址和目的地址在内的任意一个地址与所述当前迭代交易的包括源地址和目的地址在内的任意一个地址相同的所述交易,则将所述当前迭代交易和与所述当前迭代交易的地址相同的所述交易,标记为所述关联交易,保留于所述交易集合中;若在所述交易集合中,不存在包括源地址和目的地址在内的任意一个地址与所述当前迭代交易的包括源地址和目的地址在内的任意一个地址相同的所述交易,则取出所述当前迭代交易作为所述独立交易,存入所述独立交易缓存区中。3.根据权利要求1所述的实现区块链交易并行化的方法,其特征在于,所述并行进程智能算法,具体为:使用所述独立交易的个数除以所述关联交易的个数,并加上预设的线程计算常量,计算得到处理所述交易所需要的预计算线程数量;根据所述区块链节点的处理性能对线程总数设置上限,若所述预计算线程数量小于所述线程总数的上限,最终开启的线程的数量为所述预计算线程数量,否则,所述最终开启的线程的数量为所述线程总数的上限;使用所述最终开启的线程中的一个线程作为所述关联交易处理线程,剩余的所述最终开启的线程作为所述独立交易处理线程。4.根据权利要求3所述的实现区块交易并行化的方法,其特征在于,所述预设的线程计算常量根据所述关联交易的数量进行动态调整。5.根据权利要求1所述的实现区块交易并行化的方法,其特征在于,在对所述交易中的所述独立交易进行过滤时,还包括:将所述独立交易进行过滤的过程与所述区块链节点共识的过程并发执行。6.根据权利要求1所述的实现区块交易并行化的方法,其特征在于,在对所述交易中的所述独立交易进行过滤时,还包括:对所述独立交易过滤的过程进行并发处理,具体为:将所述交易集合拆分为若干个交易集合子集,将所述交易集合子集进行并发处理;2CN111861744A权利要求书2/2页开启若干个线程同时遍历每一个所述交易集合子集,并用每一个所述交易集合子集中的所述当前迭代交易与原始的所述交易集合中的所述交易进行对比;若对比后所述当前迭代交易为所述关联交易,保留于所述交易集合子集中,否则为所述独立交易,存入所述独立交易缓存区中;针对于所述的交易集合子集中的