【技术实现步骤摘要】
X个标准交易池的调用方法、系统、介质和计算机系统
[0001]本专利技术涉及区块链
,特别是涉及一种交易池的调用技术。
技术介绍
[0002]交易是用户发给区块链系统的一段请求数据(包括交易数据、发送者和接受者等),是区块链应用的基础。而区块链交易池(TxPool交易缓冲池),用来暂存未被加入到区块的交易(包括本节点创建的交易和其他节点广播过来的交易),需要选择合适交易打包成块,再经由共识最终确认,自然是区块链系统的核心部件,直接影响区块链系统的出块性能。
[0003]如图1所示(以太坊的交易池),区块链交易池的资源调度存在于每条交易从发出到上链的全生命周期里(包括:RPC线程,Sync线程,Channel线程,Verify线程和打包线程等)。例如,网络接收到一个待打包的交易,需要获取交易池的写锁(独占模式锁住),然后将交易写入交易池中,共识模块打包过程需要获取交易池读锁(共享模式锁住),从中提取交易进行执行,当交易执行完并获得区块后,获取写锁(独占模式锁住),从交易池中删除已打包交易。但是,现有方法在该过程,对交易池整体频繁使用读写锁,导致交易池的锁竞争成为系统“热点”,制约了区块链系统的整体性能的进一步提升。尤其是,制约区块链系统交易吞吐率的提升(T
‑
per
‑
second,TPS每秒处理的交易的次数)随着用户量和交易量的增加,低TPS已经不能满足需求,成为制约区块链系统性能提升的瓶颈。为了提升TPS,业界提出了不同的优化方案,尽可能提高交易的并发处理能力,而核 ...
【技术保护点】
【技术特征摘要】
1.一种X个标准交易池的调用方法,其特征在于,包括:将X个标准交易池S
i
,分别映射至哈希环上的X个点A
i
;所述X为正整数;2≤i≤X;根据当前交易T
j
的特征值,将当前交易T
j
映射至哈希环上的点B
j
;根据点A
i
和点B
j
的位置,调用所述标准交易池S
i
中的1至X
‑
1个,完成所述当前交易T
j
。2.根据权利要求1所述的调用方法,其特征在于,所述根据点A
i
和点B
j
的位置,调用所述标准交易池S
i
中的1至X
‑
1个,完成所述当前交易T
j
的步骤,包括:判断点B
j
的位置是否与某个标准交易池S
i
对应的点A
i
的位置重合;若重合,则调用点A
i
所对应的标准交易池S
i
,完成当前交易;若不重合,则调用与点B
j
顺时针方向最近的点A
i
所对应的标准交易池S
i
或与点B
j
逆时针方向最近的点A
i
‑1所对应的标准交易池S
i
‑1,完成当前交易。3.根据权利要求2所述的调用方法,其特征在于,所述若重合,则调用点A
i
所对应的标准交易池S
i
,完成当前交易的步骤,包括:若重合,则判断标准交易池S
i
的交易数量是否超过设定阈值;若未超过设定阈值,则调用标准交易池S
i
,完成当前交易;若超过设定阈值,则等待再判断标准交易池S
i
的交易数量是否超过设定阈值,直到标准交易池S
i
的交易数量未超过设定阈值,完成当前交易。4.根据权利要求2所述的调用方法,其特征在于,所述若不重合,则调用与点B
j
顺时针方向最近的点A
i
所对应的标准交易池S
i
或与点B
j
逆时针方向最近的点A
i
‑1所对应的标准交易池S
i
‑1,完成当前交易的步骤,包括:若不重合,则判断与点B
j
顺时针方向最近的点A
i
所对应的标准交易池S
i
的交易数量,是否超过设定阈值;若未超过设定阈值,则调用标准交易池S
i
,完成当前交易;若超过设定阈值,则判断与点B
j
逆时针方向最近的点A
i
‑1所对应的标准交易池S
i
‑1的交易数量,是否超过设定阈值;若未超过设定阈值,则调用标准交易池S
i
‑1,完成当前交易;若超过设定阈值,则等待,并返回所述若不重合,则判断与点B
j
顺时针方向最近的点A
i
所对应的标准交易池S
i
的交易数量,是否超过设定阈值的步骤,直到标准交易池S
i
、S
i
‑1的其中一个的交易数量未超过设定阈值,则调用交易数量未超过设定阈值的标准交易池完成当前交易。5.根据权利要求2所述的调用方法,其特征在于,所述若重合,则调用点A
i
所对应的标准交易池S
i
,完成当前交易的步骤,包括:若重合,则判断标准交易池S
i
的交易数量是否超过设定阈值;若未超过设定阈值,则调用标准交易池S
i
【专利技术属性】
技术研发人员:谭林,姚昱旻,刘齐军,尹海波,杨征,
申请(专利权)人:湖南天河国云科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。