区块链的并行交易处理方法、系统和计算机存储介质技术方案

技术编号:33965506 阅读:11 留言:0更新日期:2022-06-30 01:22
本发明专利技术涉及区块链的并行交易处理方法、系统和计算机存储介质,一方面将X个共识节点设置为主节点,将绑定到主节点上的额外工作负载分配至X个副本上,而非一个副本上,进行分流以降低主节点的工作负载;另一方面将交易请求划分为Y个分区,分配至Z个主节点,在请求交易阶段实现并行;二者将工作流共识

【技术实现步骤摘要】
区块链的并行交易处理方法、系统和计算机存储介质


[0001]本专利技术涉及区块链领域,特别是涉及一种区块链的并行交易处理技术。

技术介绍

[0002]跨企业交易应用程序(例如,股票交易)促进了相互不信任的参与者(例如,客户和商家)之间交易的即时记录和清算。这些交易应用程序通常部署在一个或多个数据中心,通过专用网线连接,以处理大量具有实时提交延迟的事务。区块链可以处理分布式事务被大量应用程序使用,同时也吸引了学术界为交易应用开发各种许可的区块链框架。被许可区块链由大量可识别参与者共同维护,可以快速进行拜占庭容错共识协议(BFT)对提交交易事务。
[0003]现有的BFT系统使用一个单一副本作为主节点leader(无论是完全排序请求或执行准备),这实际上降低了应用程序的处理速度。在一定程度上,这个问题可以通过在副本之间旋转leader角色来缓解。然而,由于这些方法是基于一个完全有序的请求序列,并且只是分割了建立请求序列的责任,因此效果是有限的。
[0004]为了使BFT系统可以同时进行多个事务请求处理,于是将绑定到leader角色的额外工作负载分配到所有副本上,并在请求交易阶段实现并行。但是在一个独立的BFT协议实例中管理每个分区来实现的并进行工作流的预测,节点会对结果进行验证,提交有效的结果,中止无效的结果,其工作流是执行

共识

验证,但是这种的中止率很高。
[0005]因此,如何减轻主节点的负载负担,又能提高工作流效率是区块链交易处理中亟待解决的技术问题

技术实现思路

[0006]为解决上述技术问题,本专利技术提供一种区块链的并行交易处理方法,包括:
[0007]S1:将区块链节点划分为正常节点和共识节点,并选定X个共识节点为主节点;
[0008]S2:上传交易请求,并将交易请求划分为Y个分区;
[0009]S3:在X个主节点中,选定Z个主节点引导Y个分区的交易请求;
[0010]S4:Z个主节点,对自身引导的交易请求进行排序和标识,并广播至共识节点和正常节点;
[0011]S5:对Z个主节点排序编号,并令n=1;
[0012]S6:共识节点和正常节点分别对第n个主节点引导的交易请求排序;
[0013]S7:判断共识节点和正常节点对第n个主节点引导的交易请求排序的排序结果是否一致;
[0014]S8:若不一致,返回步骤S6;
[0015]S9:若一致,则第n个主节点引导的交易请求交易成功,令n=n+1;
[0016]S10:判断n>Z是否成立;
[0017]S11,若否,则返回步骤S6,若是则结束;
[0018]其中,X、Y、Z为正整数,且X>1;Y>1;1<Z≤X。
[0019]进一步地,步骤S2,包括,
[0020]S21:提取交易请求的特征;
[0021]S22:根据交易请求的特征将交易请求划分为Y个分区。
[0022]进一步地,步骤S3,包括:
[0023]S31:获取每个分区的交易请求的数量;
[0024]S32:获取每个主节点的当前容量阈值;
[0025]S33:根据每个分区的交易请求的数量和每个主节点的当前容量阈值,在X个主节点中选定Z个主节点引导Y个分区的交易请求,使得每个主节点引导的交易请求的数量不超过其当前容量阈值。
[0026]进一步地,步骤S33,包括:
[0027]S331:将Y个分区编号为Y
i
,将Z个主节点编号为Z
j
,1≤i≤Y,1≤j≤Z;
[0028]S332:初始化i=1,j=1;
[0029]S333:判断第i个分区的交易请求的数量y
i
是否超过第j个主节点的当前容量阈值z
j

[0030]S334:若否,则将第i个分区的交易请求分配至第j个主节点;令i=i+1;判断i>Y或j>Z是否成立,若是则结束,若否则返回步骤S333;
[0031]S335:若是,则将第i个分区的前z
j
个交易请求分配至第j个主节点,令第i个分区当前的交易请求的数量y
i
=y
i

z
j
;令j=j+1;返回步骤S332。
[0032]进一步地,步骤S33,包括:
[0033]S331

:将Y个分区编号为Y
i
,将Z个主节点编号为Z
j
,1≤i≤Y,1≤j≤Z;
[0034]S332

:初始化i=1,j=1;
[0035]S333

:判断第i个分区的交易请求的数量y
i
是否超过第j个主节点的当前容量阈值x
j

[0036]S334

:若否,则将第i个分区的交易请求分配至第j个主节点;令i=i+1,j=j+1;判断i>Y或j>X是否成立,若是则结束,若否则返回步骤S333


[0037]S335

:若是,则将第i个分区的前z
j
个交易请求分配至第j个主节点,令第i个分区当前的交易请求的数量y
i
=y
i

z
j
;令j=j+1;返回步骤S332


[0038]进一步地,步骤S2,还包括:
[0039]S23:根据交易请求的特征,将Y个分区进行优先级排序。
[0040]进一步地,步骤S2,包括:
[0041]S21

:对主节点排序标号,并提取每个主节点的当前容量阈值;
[0042]S22

:按照每个主节点的当前容量阈值,将交易请求划分为Y个分区;
[0043]步骤S3,包括:
[0044]S31

:将Y个分区的交易请求,按序分配至Z个主节点,其中Z=Y。
[0045]另一方面,本专利技术还提供一种区块链的并行交易处理系统,包括:
[0046]节点划分装置,用于将区块链节点划分为正常节点和共识节点,并选定X个共识节点为主节点;
[0047]请求划分装置,用于上传交易请求,并将交易请求划分为Y个分区;
[0048]节点选定装置,用于在X个主节点中,选定Z个主节点引导Y个分区的交易请求;
[0049]排序一致性判断装置,用于:
[0050]Z个主节点,对自身引导的交易请求进行排序和标识,并广播至共识节点和正常节点;
[0051]对Z个主节点排序编号,并令n=1;
[0052]共识节点和正常节点分别对第n个主节点引导的交易请求排序;
[0053]判断共识节点和正常节点对第n个主节点引导的交易请求排序的排序结本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种区块链的并行交易处理方法,其特征在于,包括:S1:将区块链节点划分为正常节点和共识节点,并选定X个共识节点为主节点;S2:上传交易请求,并将交易请求划分为Y个分区;S3:在X个主节点中,选定Z个主节点引导Y个分区的交易请求;S4:Z个主节点,对自身引导的交易请求进行排序和标识,并广播至共识节点和正常节点;S5:对Z个主节点排序编号,并令n=1;S6:共识节点和正常节点分别对第n个主节点引导的交易请求排序;S7:判断共识节点和正常节点对第n个主节点引导的交易请求排序的排序结果是否一致;S8:若不一致,返回步骤S6;S9:若一致,则第n个主节点引导的交易请求交易成功,令n=n+1;S10:判断n>Z是否成立;S11,若否,则返回步骤S6,若是则结束;其中,X、Y、Z为正整数,且X>1;Y>1;1<Z≤X。2.根据权利要求1所述的并行交易处理方法,其特征在于,步骤S2,包括,S21:提取交易请求的特征;S22:根据交易请求的特征将交易请求划分为Y个分区。3.根据权利要求1所述的并行交易处理方法,其特征在于,步骤S3,包括:S31:获取每个分区的交易请求的数量;S32:获取每个主节点的当前容量阈值;S33:根据每个分区的交易请求的数量和每个主节点的当前容量阈值,在X个主节点中选定Z个主节点引导Y个分区的交易请求,使得每个主节点引导的交易请求的数量不超过其当前容量阈值。4.根据权利要求3所述的并行交易处理方法,其特征在于,步骤S33,包括:S331:将Y个分区编号为Y
i
,将Z个主节点编号为Z
j
,1≤i≤Y,1≤j≤Z;S332:初始化i=1,j=1;S333:判断第i个分区的交易请求的数量y
i
是否超过第j个主节点的当前容量阈值z
j
;S334:若否,则将第i个分区的交易请求分配至第j个主节点;令i=i+1;判断i>Y或j>Z是否成立,若是则结束,若否则返回步骤S333;S335:若是,则将第i个分区的前z
j
个交易请求分配至第j个主节点,令第i个分区当前的交易请求的数量y
i
=y
i

z
j
;令j=j+1;返回步骤S332。5.根据权利要求3所述的并行交易处理方法,其特征在于,步骤S33,包括:S331

:将Y个分区编号为Y
i
,将Z个主节点编号为Z
j
,1≤i≤Y,1≤j≤Z;S332
’...

【专利技术属性】
技术研发人员:谭林涂俊王如平姚昱旻杨征
申请(专利权)人:湖南天河国云科技有限公司
类型:发明
国别省市:

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

1