X个标准交易池的调用方法、系统、介质和计算机系统技术方案

技术编号:32530326 阅读:9 留言:0更新日期:2022-03-05 11:24
本发明专利技术涉及一种X个标准交易池的调用方法、系统、介质和计算机系统,基于分治法的思想,在对交易池结构的分片改进基础上,调用适合的小标准交易池处理完成交易,核心在于提高标准交易池调用的准确性和均衡性,将线程对交易池的读写锁竞争控制在限定的小标准交易池范围内,在读写锁的加锁或解锁操作中,无需对整个大的区块链交易池进行读写锁的加锁或解锁操作,避免了多个操作之间的拥塞问题,能有效降低冲突的频率,提升交易吞吐率,从而提升交易池整体的处理效率、进而提升区块链系统的整体性能。整体性能。整体性能。

【技术实现步骤摘要】
X个标准交易池的调用方法、系统、介质和计算机系统


[0001]本专利技术涉及区块链
,特别是涉及一种交易池的调用技术。

技术介绍

[0002]交易是用户发给区块链系统的一段请求数据(包括交易数据、发送者和接受者等),是区块链应用的基础。而区块链交易池(TxPool交易缓冲池),用来暂存未被加入到区块的交易(包括本节点创建的交易和其他节点广播过来的交易),需要选择合适交易打包成块,再经由共识最终确认,自然是区块链系统的核心部件,直接影响区块链系统的出块性能。
[0003]如图1所示(以太坊的交易池),区块链交易池的资源调度存在于每条交易从发出到上链的全生命周期里(包括:RPC线程,Sync线程,Channel线程,Verify线程和打包线程等)。例如,网络接收到一个待打包的交易,需要获取交易池的写锁(独占模式锁住),然后将交易写入交易池中,共识模块打包过程需要获取交易池读锁(共享模式锁住),从中提取交易进行执行,当交易执行完并获得区块后,获取写锁(独占模式锁住),从交易池中删除已打包交易。但是,现有方法在该过程,对交易池整体频繁使用读写锁,导致交易池的锁竞争成为系统“热点”,制约了区块链系统的整体性能的进一步提升。尤其是,制约区块链系统交易吞吐率的提升(T

per

second,TPS每秒处理的交易的次数)随着用户量和交易量的增加,低TPS已经不能满足需求,成为制约区块链系统性能提升的瓶颈。为了提升TPS,业界提出了不同的优化方案,尽可能提高交易的并发处理能力,而核心是对区块链交易池的优化。
[0004]基于本公司的系列申请提到将区块链交易池裂分为若干标准交易池,那么如何均衡准确的调用若干标准交易池,以提升交易吞吐率、避免频繁读写锁,进而提升区块链系统的整体性能,是目前区块链
亟待解决的技术问题。

技术实现思路

[0005]为解决上述技术问题,本专利技术提供一种X个标准交易池的调用方法,包括:
[0006]将X个标准交易池S
i
,分别映射至哈希环上的X个点A
i
;所述X为正整数;2≤i≤X;
[0007]根据当前交易T
j
的特征值,将当前交易T
j
映射至哈希环上的点B
j

[0008]根据点A
i
和点B
j
的位置,调用所述标准交易池S
i
中的1至X

1个,完成所述当前交易T
j

[0009]进一步地,所述根据点A
i
和点B
j
的位置,调用所述标准交易池S
i
中的1至X

1个,完成所述当前交易T
j
的步骤,包括:
[0010]判断点B
j
的位置是否与某个标准交易池S
i
对应的点A
i
的位置重合;
[0011]若重合,则调用点A
i
所对应的标准交易池S
i
,完成当前交易;
[0012]若不重合,则调用与点B
j
顺时针方向最近的点A
i
所对应的标准交易池S
i
或与点B
j
逆时针方向最近的点A
i
‑1所对应的标准交易池S
i
‑1,完成当前交易。
[0013]进一步地,所述若重合,则调用点A
i
所对应的标准交易池S
i
,完成当前交易的步骤,
包括:
[0014]若重合,则判断标准交易池S
i
的交易数量是否超过设定阈值;
[0015]若未超过设定阈值,则调用标准交易池S
i
,完成当前交易;
[0016]若超过设定阈值,则等待再判断标准交易池S
i
的交易数量是否超过设定阈值,直到标准交易池S
i
的交易数量未超过设定阈值,完成当前交易。
[0017]进一步地,所述若不重合,则调用与点B
j
顺时针方向最近的点A
i
所对应的标准交易池S
i
或与点B
j
逆时针方向最近的点A
i
‑1所对应的标准交易池S
i
‑1,完成当前交易的步骤,包括:
[0018]若不重合,则判断与点B
j
顺时针方向最近的点A
i
所对应的标准交易池S
i
的交易数量,是否超过设定阈值;
[0019]若未超过设定阈值,则调用标准交易池S
i
,完成当前交易;
[0020]若超过设定阈值,则判断与点B
j
逆时针方向最近的点A
i
‑1所对应的标准交易池S
i
‑1的交易数量,是否超过设定阈值;
[0021]若未超过设定阈值,则调用标准交易池S
i
‑1,完成当前交易;
[0022]若超过设定阈值,则等待,并返回所述若不重合,则判断与点B
j
顺时针方向最近的点A
i
所对应的标准交易池S
i
的交易数量,是否超过设定阈值的步骤,直到标准交易池S
i
、S
i
‑1的其中一个的交易数量未超过设定阈值,则调用交易数量未超过设定阈值的标准交易池完成当前交易。
[0023]进一步地,所述若重合,则调用点A
i
所对应的标准交易池S
i
,完成当前交易的步骤,包括:
[0024]若重合,则判断标准交易池S
i
的交易数量是否超过设定阈值;
[0025]若未超过设定阈值,则调用标准交易池S
i
,完成当前交易;
[0026]若超过设定阈值,则判断与点B
j
顺时针方向最近的点A
i+1
所对应的标准交易池S
i+1
的交易数量,是否超过设定阈值;
[0027]若未超过设定阈值,则调用标准交易池S
i+1
,完成当前交易;
[0028]若超过设定阈值,则判断与点B
j
逆时针方向最近的点A
i
‑1所对应的标准交易池S
i
‑1的交易数量,是否超过设定阈值;
[0029]若未超过设定阈值,则调用标准交易池S
i
‑1,完成当前交易;
[0030]若超过设定阈值,则等待并返回所述若重合,则判断标准交易池S
i
的交易数量是否超过设定阈值的步骤,直到标准交易池S
i
、S
i+1
、S
i
‑1的其中一个的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
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

【专利技术属性】
技术研发人员:谭林姚昱旻刘齐军尹海波杨征
申请(专利权)人:湖南天河国云科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1