一种用于基于区块链的时间混合队列分片系统的通讯方法技术方案

技术编号:33618811 阅读:22 留言:0更新日期:2022-06-02 00:38
本发明专利技术公开了一种用于基于区块链的时间混合队列分片系统的通讯方法,包括:广播连接检测请求;接收连接检测请求并校验签名信息;回复连接检测响应;记录时间戳信息并对回复连接检测响应的有效性进行验证;记录通讯时间。还提供了对应的通讯系统、电子设备以及计算机可读存储介质,强领导节点负责搜集交易并提议新的区块,弱领导节点负责接收强领导节点的消息并且转发到分片中,在保证数据一致性的同时,充分利用的强领导节点和弱领导节点的带宽与CPU计算性能,提升了通讯系统的通讯效率和效果,通过两层级领导节点结构,由强领导节点根据通讯时间队列对节点进行分片,实现分片内部局部最优的时间通讯效率,提升节点之间传递消息的速度。消息的速度。消息的速度。

【技术实现步骤摘要】
一种用于基于区块链的时间混合队列分片系统的通讯方法


[0001]本专利技术属于区块链
,尤其涉及一种用于基于区块链的时间混合队列分片系统的通讯方法和系统。

技术介绍

[0002]随着区块链技术的发展,区块链技术在金融、溯源、供应链、存证、电子政务等诸多场景有一批应用落地,相关技术如分布式存储、智能合约、加密算法等关键技术不断取得新进展。然而,区块链技术的性能和可扩展性仍然是限制区块链技术大规模应用的关键,例如,比特币区块链系统目前每秒只能处理约7笔交易,显然现有比特币区块链系统的吞吐量无法承载全球市场的交易量,主流的支付平台Visa的每秒交易量能实现2000笔/秒,峰值达到56000笔/秒的交易处理速度。如何提升进一步提升区块链系统的性能和可扩展性成为亟需解决的技术问题。
[0003]分片技术最早是在传统的数据库领域里面提出的,主要用于大型商业数据库的优化。其概念就是将大型数据库中的数据划分成很多数据分片(shard),再将这些数据分片分别存放在不同的服务器中,以减小每个服务器的数据访问压力,从而提高整个数据库系统的性能。简单来说,分而治之是分片技术的核心思想。把分片技术运用到区块链网络中的思想是将拥有许多节点的区块链网络划分成若干个子网络,每个子网络中包含一部分节点,也就是一个“分片”(shard)。同时网络中的交易也会被划分到不同的“分片”中去处理,这样每个节点只需要处理一小部分传入的交易,不同的节点可以并行处理交易,即可增加交易处理和验证的并发度,从而提升整个网络的吞吐量。分片技术根据不同的分片机制可以划分为三种:网络分片(network sharding),交易分片(transaction sharding),状态分片(state sharding)。分片技术虽然是目前区块链用来解决效率问题与可扩展性问题的主流技术之一,然而其应用存在如下技术问题:传统的分片技术往往单一的采用网络分片,交易分片,状态分片等分片模式,不同分片之间往往存在数据通讯困难,通讯过程中数据一致性交叉检测困难等问题,而且随着节点和分片数量的增多,系统的通讯性能下降,分片的可扩展性严重依赖于上层主节点的性能。

技术实现思路

[0004]本专利技术的目的是提供一种用于基于区块链的时间混合队列分片系统的通讯方法和系统,分片系统通过两层级领导节点结构,由强领导节点根据通讯时间队列对节点进行分片,实现分片内部局部最优的时间通讯效率,提升节点之间传递消息的速度。强领导节点负责搜集交易并提议新的区块,弱领导节点负责接收强领导节点的消息并且转发到分片中,在保证数据一致性的同时,充分利用的强领导节点和弱领导节点的带宽与CPU计算性能,提升了系统的可扩展性。
[0005]本专利技术一方面提供了一种用于基于区块链的时间混合队列分片系统的通讯方法,包括:
步骤1,广播连接检测请求,包括:每个节点N
i
向所述时间混合队列分片系统中其他所有节点广播连接检测请求Detect
i
,并在数据库中记录节点N
i
发送消息时自身的Unix时间戳t
(i,j)
;其中所述连接检测请求Detect
i
表示为:Detect
i
={Detect
i
,Sig
i
(v
i
,h
i
,rand
i
)};其中,Detect表示所述连接检测请求的消息类型,i表示节点序号,v
i
表示所述连接检测请求Detect
i
中包含节点N
i
所在的视图、h
i
表示节点N
i
所在的区块高度、rand
i
表示节点N
i
产生的随机数;步骤2,接收连接检测请求并校验签名信息:节点N
j
收到节点N
i
发送的所述连接检测请求消息后,使用节点N
i
的公钥PK
i
验证消息的签名信息是否正确,并判断消息中包含的视图v
i
和高度h
i
是否满足v
i
=v
j
,h
i
=h
j
,判断收到连接检测请求Detect
i
中包含的视图和区块高度是否与自身一致,其中节点N
j
(j≠i)表示参与共识的节点;步骤3,回复连接检测响应,包括:如果验证通过,节点N
j
向节点N
i
回复连接检测响应Response
j
,所述回复连接检测响应Response
j
内容如下:Response
j
={Response,Sig
j
(v
j
,h
j
,rand
i

)};其中,Response表示回复连接检测消息类型,j表示节点序号,rand
i

表示节点N
j
收到的来自N
i
的随机数;v
j
表示Response
j
消息中所包含节点N
j
所在的视图;h
j
表示节点N
j
所在的区块高度;步骤4,记录时间戳信息并对所述回复连接检测响应的有效性进行验证,包括:节点N
i
收到来自节点N
j
回复的响应消息后,记录收到消息时自身的Unix时间戳t
(i,j)
,并进行响应消息的有效性判定,所述有效性判定包括Response
j
消息中的视图V
j
,区块高度h
j
,随机数rand
i

与节点N
i
产生的随机数rand
i
是否一致;步骤5,记录通讯时间,包括:通过所述回复连接检测响应的有效性判定后,基于所述响应消息的通讯,计算节点N
i
到其他节点N
j
的往返通讯时间d
(i,j)
=t
(j,i)

t
(i,j)
,并将所述往返通讯时间保存在通讯时间矩阵中,所有节点N
i
内保存该节点与所有其他节点的通讯时间矩阵CTM
i
;所述通讯时间矩阵CTM
i
包含当前节点N
i
的视图v
i
和块高h
i
,随机数rand
i
,以及节点N
i
与其他n

1个节点<N1,

,N
n
‑1,N
n
>的通讯时间d
(i,j)
=t
(j,i本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于基于区块链的时间混合队列分片系统的通讯方法,其特征在于,包括:步骤1,广播连接检测请求,包括:每个节点N
i
向所述时间混合队列分片系统中其他所有节点广播连接检测请求Detect
i
,并在数据库中记录节点N
i
发送消息时自身的Unix时间戳t
(i,j)
;其中所述连接检测请求Detect
i
表示为:Detect
i
={Detect
i
,Sig
i
(v
i
,h
i
,rand
i
)};其中,Detect表示所述连接检测请求的消息类型,i表示节点序号,v
i
表示所述连接检测请求Detect
i
中包含节点N
i
所在的视图、h
i
表示节点N
i
所在的区块高度、rand
i
表示节点N
i
产生的随机数;步骤2,接收连接检测请求并校验签名信息:节点N
j
收到节点N
i
发送的所述连接检测请求消息后,使用节点N
i
的公钥PK
i
验证消息的签名信息是否正确,并判断消息中包含的视图v
i
和高度h
i
是否满足v
i
=v
j
,h
i
=h
j
,判断收到连接检测请求Detect
i
中包含的视图和区块高度是否与自身一致,其中节点N
j
(j≠i)表示参与共识的节点;步骤3,回复连接检测响应,包括:如果验证通过,节点N
j
向节点N
i
回复连接检测响应Response
j
,所述回复连接检测响应Response
j
内容如下:Response
j
={Response,Sig
j
(v
j
,h
j
,rand
i

)};其中,Response表示回复连接检测消息类型,j表示节点序号,rand
i

表示节点N
j
收到的来自N
i
的随机数;v
j
表示Response
j
消息中所包含节点N
j
所在的视图;h
j
表示节点N
j
所在的区块高度;步骤4,记录时间戳信息并对所述回复连接检测响应的有效性进行验证,包括:节点N
i
收到来自节点N
j
回复的响应消息后,记录收到消息时自身的Unix时间戳t
(i,j)
,并进行响应消息的有效性判定,所述有效性判定包括Response
j
消息中的视图V
j
,区块高度h
j
,随机数rand
i

与节点N
i
产生的随机数rand
i
是否一致;步骤5,记录通讯时间,包括:通过所述回复连接检测响应的有效性判定后,基于所述响应消息的通讯,计算节点N
i
到其他节点N
j
的往返通讯时间d
(i,j)
=t
(j,i)

t
(i,j)
,并将所述往返通讯时间保存在通讯时间矩阵中,所有节点N
i
内保存该节点与所有其他节点的通讯时间矩阵CTM
i
;所述通讯时间矩阵CTM
i
包含当前节点N
i
的视图v
i
和块高h
i
,随机数rand
i
,以及节点N
i
与其他n

1个节点<N1,

,N
n
‑1,N
n
>的通讯时间d
(i,j)
=t
(j,i)

t
(i,j)
,其中t
(i,j) 表示节点N
i
向节点N
j
发送消息的Unix时间戳, t
(j,i) 表示节点N
i
收到来自节点N
j
响应消息的Unix时间戳。2.根据权利要求1所述的通讯方法,其特征在于,所述节点向自身发送信息与收到信息的时间戳相等,节点与自身的通讯时间忽略不计。3.根据权利要求1所述的通讯方法,其特征在于,所述基于区块链的时间混合队列分片系统,包括:区块链,具有多个区块,所述区块生成周期内生成的一个区块中包含一个强领导者节点和若干个弱领导节点;初步分片模块,用于将所述多个节点初步分为多组不同的预分片,所述预分片为指定所述强领导者节点后将所述区块链的除所述强领导者节点以外的所有节点进行划分获得,每组所述预分片包含多个叶子节点和一个所述弱领导节点,不同组的所述预分片所包含的节点没有交集,每组预分片内的节点数量至少大于或等于所有节点的数量与组数量之比;计算模块,用于计算将所有节点划分为预定数量的预分片的分配时间以及多个所述预
分片之间的通讯时间总和,其中对于所述预定数量的预分片,所述分配时间小于第一阈值,且所有预分片的通讯时间总和最小;以及时间混合队列分片模块,用于判断多个所述预分片之间的通讯时间总和是否满足最小,如果满足,则当前预分片为最终时间混合队列分片,否则在所述第一阈值的时间内将所有节点重新划分为预定数量的...

【专利技术属性】
技术研发人员:任旖航
申请(专利权)人:天津眧合数字科技有限公司
类型:发明
国别省市:

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

1