The invention provides a method, system, computer equipment and computer readable storage medium based on block chain to generate blocks, and relates to the field of data processing technology. A plurality of transaction information including consensus node receives sending node sends the transaction method into the transaction pool; obtain the plurality of transaction information from the transaction in the pool, the plurality of transaction information packed into multiple packages; starting multi thread packet parallel processing, transaction processing according to the obtained results; the transaction processing result generation block. The invention greatly improves the processing efficiency of block chain system, and makes the running speed of single thread no longer the performance bottleneck of block chain system.
【技术实现步骤摘要】
一种基于区块链生成区块的方法以及系统
本专利技术关于数据处理
,特别是关于区块链系统的生成技术,具体的讲是一种基于区块链生成区块的方法、基于区块链生成区块的系统、计算机设备以及计算机可读存储介质。
技术介绍
本部分旨在为权利要求书中陈述的本专利技术的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。目前,性能是区块链系统的一大弱点,其主要原因在于区块链系统中往往存在很多影响整体性能的关键路径上都采用了串行架构,比如区块的生成过程。在不同共识机制下,区块的生成过程会略有不同。但总体来说,各节点在处理接收到的区块信息后,交易过程大致都是按照如下流程:①节点接收到若干交易信息,放入交易池中;②节点从交易池中获取当前收到的交易信息,对交易进行排序并按顺序执行;③执行完毕之后,节点生成完整区块,最终将其广播。在第二步执行交易的过程中,传统的区块链系统交易按顺序逐笔执行,每笔交易在执行完毕后才会执行下一笔交易。这样的串行架构导致区块链系统无法有效利用现在多线程计算的优势。因此,如何提供一种新的方案,其能够解决上述技术问题是本领域亟待解决的技术难题。
技术实现思路
有鉴于此,本专利技术提供了一种基于区块链生成区块的方法、基于区块链生成区块的系统、计算机设备以及计算机可读存储介质,通过将从交易池中获取多个交易信息打包为多个包,然后启动多线程逐包进行并行处理,得到交易处理结果,最后根据交易处理结果生成区块,极大提高了区块链系统的处理效率。为了实现上述目的,本专利技术提供了一种基于区块链生成区块的方法,所述方法包括:共识节点接收交易发送节点发送的多个 ...
【技术保护点】
一种基于区块链生成区块的方法,其特征是,所述方法包括:共识节点接收交易发送节点发送的多个交易信息,放入交易池中;从所述交易池中获取所述多个交易信息,将所述多个交易信息打包为多个包;启动多线程逐包进行并行处理,得到交易处理结果;根据所述交易处理结果生成区块。
【技术特征摘要】
1.一种基于区块链生成区块的方法,其特征是,所述方法包括:共识节点接收交易发送节点发送的多个交易信息,放入交易池中;从所述交易池中获取所述多个交易信息,将所述多个交易信息打包为多个包;启动多线程逐包进行并行处理,得到交易处理结果;根据所述交易处理结果生成区块。2.根据权利要求1所述的方法,其特征是,将所述多个交易信息打包为多个包包括:获取所述多个交易信息的交易复杂度;获取所述共识节点所在服务器的性能指标;根据所述交易复杂度以及所述性能指标将所述多个交易信息打包为多个包。3.根据权利要求2所述的方法,其特征是,启动多线程逐包进行并行处理,得到交易处理结果包括:启动多线程,逐包按顺序将各个包中的多个交易并行处理,产生交易处理结果。4.根据权利要求3所述的方法,其特征是,所述方法在得到交易处理结果后,根据所述交易处理结果生成区块之前,还包括:检查所述交易处理结果,确定出是否发生死锁;当发生死锁时,根据所述交易处理结果获取出发生死锁的交易信息;将所述发生死锁的交易信息进行串行处理,得到执行结果;将所述执行结果添加至所述交易处理结果。5.根据权利要求4所述的方法,其特征是,检查所述交易处理结果,确定出是否发生死锁包括:获取预先设定的所述交易信息的执行时间阈值;获取所述交易信息的实际执行时间;判断所述实际执行时间是否超出所述执行时间阈值;当判断为是时,确定并行处理过程中发生死锁。6.根据权利要求3或4所述的方法,其特征是,根据所述交易处理结果生成区块后,所述方法还包括:广播所述区块。7.一种基于区块链生成区块的系统,其特征是,所述系统包括共识节点,包括:交易信息接收模块,用于接收交易发送节点发送的多个交易信息,放入交易池中;交易信息打包模块,用于从所述交易池中获取所述多个交易信息,将所述多个交易信息打包为多个包;交易信息处理模块,用于启动多线程逐包进...
【专利技术属性】
技术研发人员:张航,王继武,张国华,
申请(专利权)人:中国银行股份有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。