区块链网络系统的节点数据处理方法和装置与流程

文档序号:37558370发布日期:2024-04-09 17:51阅读:52来源:国知局
区块链网络系统的节点数据处理方法和装置与流程

本公开涉及区块链,尤其是一种区块链网络系统的节点数据处理方法和装置。


背景技术:

1、狭义区块链是按照时间顺序,将数据区块以顺序相连的方式组合成的链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。广义区块链技术是利用块链式数据结构验证与存储数据,利用分布式节点共识算法生成和更新数据,利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约,编程和操作数据的全新的分布式基础架构与计算范式。

2、在区块链系统中,通常由客户端节点直接将交易转发给共识节点的策略,导致共识节点需要维护大量的连接,不仅消耗了额外的带宽,还要花费额外的计算资源来进行交易的筛选和过滤,成为了系统吞吐量提升的掣肘。


技术实现思路

1、本公开实施例提供一种区块链网络系统的节点数据处理方法和装置,以解决上述问题。

2、本公开实施例的第一方面,提供一种区块链网络系统的节点数据处理方法,包括:

3、将区块链系统的多个网络节点配置为多个超级节点、多个服务节点和多个骨干节点,其中,每个网络节点配置为所述超级节点、服务节点和骨干节点中的一个,所述超级节点为共识节点,所述服务节点为非共识节点,所述骨干节点均为全节点,所述服务节点存储有所述区块链系统的全量数据,每个骨干节点通过对应的服务节点与对应的超级节点连接;

4、基于多个所述服务节点和多个所述骨干节点,生成多个k叉平衡树,并按照中序遍历的方式对所述k叉平衡树的每个节点配置有第一路由表和第二路由表,其中,每个节点的第一路由表存储有每个节点在第一路由方向上的节点信息,每个节点的第二路由表存储有每个节点在第二路由方向上的节点信息,k为大于1的整数;

5、响应于第一节点接收到节点加入请求,获取所述第一节点的第一路由表和所述第一节点的第二路由表,其中,所述第一节点为所述k叉平衡树中的一个节点,所述节点加入请求包括:请求加入所述区块链系统的第二节点;

6、基于所述第一节点的第一路由表和所述第一节点的第二路由表,确定所述第二节点在所述k叉平衡树中的节点加入位置。

7、在本公开的一些实施例中,所述基于所述第一节点的第一路由表和所述第一节点的第二路由表,确定所述第二节点在所述k叉平衡树中的节点加入位置,包括:

8、若所述第一节点的第一路由表的节点数量小于第一数量阈值,或所述第一节点的第二路由表的节点数量小于第二数量阈值,获取所述第一节点的父节点的第一路由表和第二路由表;

9、基于所述第一节点的父节点的第一路由表和第二路由表,确定所述第二节点在所述k叉平衡树中的节点加入位置。

10、在本公开的一些实施例中,所述k叉平衡树中每个节点的第一路由表和第二路由表中均存储有每个路由节点的子节点信息;

11、所述基于所述第一节点的第一路由表和所述第一节点的第二路由表,确定所述第二节点在所述k叉平衡树中的节点加入位置,还包括:

12、若所述第一节点的第一路由表的节点数量等于所述第一数量阈值,且所述第一节点的第二路由表的节点数量等于所述第二数量阈值,获取第一节点集合,其中,所述第一节点集合中的节点包括:所述第一节点的第一路由表和所述第一节点的第二路由表中子节点数量小于k的节点;

13、计算所述第二节点分别与所述第一节点集合中每个节点之间的延迟对,得到多个延迟对;

14、基于所述多个延迟对之间的数值关系,从所述第一节点集合中确定目标节点;

15、将所述目标节点的子节点确定为所述第二节点在所述k叉平衡树中的节点加入位置。

16、在本公开的一些实施例中,在所述基于所述第一节点的第一路由表和所述第一节点的第二路由表,确定所述第二节点在所述k叉平衡树中的节点加入位置之后,还包括:

17、在所述第二节点加入到所述k叉平衡树后,基于所述第二节点与所述k叉平衡树中关联节点之间的路由关系,更新所述关联节点的第一路由表和第二路由表,并生成所述第二节点的第一路由表和第二路由表。

18、在本公开的一些实施例中,在所述基于所述第一节点的第一路由表和所述第一节点的第二路由表,确定所述第二节点在所述k叉平衡树中的节点加入位置之后,还包括:

19、响应于接收到第三节点的退出请求,基于所述第三节点的第一路由表和所述第三节点的第二路由表,获取所述第三节点的子节点信息,以及所述第三节点的第一路由表和所述第三节点的第二路由表中节点的子节点信息,其中,所述第三节点为所述k叉平衡树中的一个节点;

20、若基于所述第三节点的子节点信息确定所述第三节点没有子节点,且基于所述第三节点的第一路由表和所述第三节点的第二路由表中的子节点信息确定所述第三节点的第一路由表和所述第三节点的第二路由表中的节点没有子节点,则控制所述第三节点离开所述k叉平衡树,并更新所述第三节点的关联节点的第一路由表和第二路由表。

21、在本公开的一些实施例中,在所述基于所述第三节点的第一路由表和所述第三节点的第二路由表,获取所述第三节点的子节点信息,以及所述第三节点的第一路由表和所述第三节点的第二路由表中节点的子节点信息之后,还包括:

22、若基于所述第三节点的子节点信息确定所述第三节点具有至少一个子节点,基于所述至少一个子节点的网络延迟,确定所述第三节点的第一替代节点;

23、控制所述第三节点离开所述k叉平衡树,并控制所述第一替代节点替代所述第三节点的原本位置,并更新所述第三节点和所述第一替代节点的关联节点的第一路由表和第二路由表,其中,所述第三节点的原本位置为:所述第三节点在离开所述k叉平衡树前在所述k叉平衡树中的位置。

24、在本公开的一些实施例中,在所述基于所述第三节点的第一路由表和所述第三节点的第二路由表,获取所述第三节点的子节点信息,以及所述第三节点的第一路由表和所述第三节点的第二路由表中节点的子节点信息之后,还包括:

25、若基于所述第三节点的子节点信息确定所述第三节点没有子节点,且基于所述第三节点的第一路由表和所述第三节点的第二路由表中的子节点信息,获取第二节点集合,其中,所述第二节点集合中的节点包括:所述第三节点的第一路由表和所述第三节点的第二路由表中子节点数量大于0且小于k的节点;

26、基于所述第二节点集合中每个节点的网络延迟,确定所述第三节点的第二替代节点;

27、控制所述第三节点离开所述k叉平衡树,并控制所述第二替代节点替代所述第三节点的原本位置,并更新所述第三节点和所述第二替代节点的关联节点的第一路由表和第二路由表。

28、在本公开的一些实施例中,在所述基于所述第一节点的第一路由表和所述第一节点的第二路由表,确定所述第二节点在所述k叉平衡树中的节点加入位置之后,还包括:

29、响应于检测到第四节点离开所述k叉平衡树,基于所述第四节点的关联节点的第一路由表和第二路由表,确定所述第四节点在离开所述k叉平衡树前的第一路由表和第二路由表;

30、基于所述第四节点在离开所述k叉平衡树前的第一路由表和第二路由表,确定第三替代节点,其中,所述第三替代节点为所述第四节点的替代节点;

31、并控制所述第三替代节点替代所述第四节点的原本位置,并更新所述第四节点和所述第三替代节点的关联节点的第一路由表和第二路由表。

32、在本公开的一些实施例中,在所述基于多个所述服务节点和多个所述骨干节点,生成多个k叉平衡树,并按照中序遍历的方式对所述k叉平衡树的每个节点配置有第一路由表和第二路由表,其中,每个节点的第一路由表存储有每个节点在第一路由方向上的节点信息之前,还包括:

33、基于所述k叉平衡树的消息发送在所述消息发送和节点维护中的预设占比阈值,确定k值。

34、本公开实施例的第二方面,提供一种区块链网络系统的节点数据处理装置,包括:

35、节点配置模块,用于将区块链系统的多个网络节点配置为多个超级节点、多个服务节点和多个骨干节点,其中,每个网络节点配置为所述超级节点、服务节点和骨干节点中的一个,所述超级节点为共识节点,所述服务节点为非共识节点,所述骨干节点均为全节点,所述服务节点存储有所述区块链系统的全量数据,每个骨干节点通过对应的服务节点与对应的超级节点连接;

36、平衡树生成模块,用于基于多个所述服务节点和多个所述骨干节点,生成多个k叉平衡树,并按照中序遍历的方式对所述k叉平衡树的每个节点配置有第一路由表和第二路由表,其中,每个节点的第一路由表存储有每个节点在第一路由方向上的节点信息,每个节点的第二路由表存储有每个节点在第二路由方向上的节点信息,k为大于1的整数;

37、节点管理模块,用于响应于第一节点接收到节点加入请求,获取所述第一节点的第一路由表和所述第一节点的第二路由表,其中,所述第一节点为所述k叉平衡树中的一个节点,所述节点加入请求包括:请求加入所述区块链系统的第二节点;所述节点管理模块还用于基于所述第一节点的第一路由表和所述第一节点的第二路由表,确定所述第二节点在所述k叉平衡树中的节点加入位置。

38、在本公开的一些实施例中,所述节点管理模块用于若所述第一节点的第一路由表的节点数量小于第一数量阈值,或所述第一节点的第二路由表的节点数量小于第二数量阈值,获取所述第一节点的父节点的第一路由表和第二路由表;所述节点管理模块还用于基于所述第一节点的父节点的第一路由表和第二路由表,确定所述第二节点在所述k叉平衡树中的节点加入位置。

39、在本公开的一些实施例中,所述k叉平衡树中每个节点的第一路由表和第二路由表中均存储有每个路由节点的子节点信息;

40、其中,所述节点管理模块用于若所述第一节点的第一路由表的节点数量等于所述第一数量阈值,且所述第一节点的第二路由表的节点数量等于所述第二数量阈值,获取第一节点集合,其中,所述第一节点集合中的节点包括:所述第一节点的第一路由表和所述第一节点的第二路由表中子节点数量小于k的节点;所述节点管理模块还用于计算所述第二节点分别与所述第一节点集合中每个节点之间的延迟对,得到多个延迟对,并基于所述多个延迟对之间的数值关系,从所述第一节点集合中确定目标节点;所述节点管理模块还用于将所述目标节点的子节点确定为所述第二节点在所述k叉平衡树中的节点加入位置。

41、在本公开的一些实施例中,所述节点管理模块用于在所述第二节点加入到所述k叉平衡树后,基于所述第二节点与所述k叉平衡树中关联节点之间的路由关系,更新所述关联节点的第一路由表和第二路由表,并生成所述第二节点的第一路由表和第二路由表。

42、在本公开的一些实施例中,所述节点管理模块用于响应于接收到第三节点的退出请求,基于所述第三节点的第一路由表和所述第三节点的第二路由表,获取所述第三节点的子节点信息,以及所述第三节点的第一路由表和所述第三节点的第二路由表中节点的子节点信息,其中,所述第三节点为所述k叉平衡树中的一个节点;所述节点管理模块还用于若基于所述第三节点的子节点信息确定所述第三节点没有子节点,且基于所述第三节点的第一路由表和所述第三节点的第二路由表中的子节点信息确定所述第三节点的第一路由表和所述第三节点的第二路由表中的节点没有子节点,则控制所述第三节点离开所述k叉平衡树,并更新所述第三节点的关联节点的第一路由表和第二路由表。

43、在本公开的一些实施例中,所述节点管理模块用于若基于所述第三节点的子节点信息确定所述第三节点具有至少一个子节点,基于所述至少一个子节点的网络延迟,确定所述第三节点的第一替代节点;所述节点管理模块还用于控制所述第三节点离开所述k叉平衡树,并控制所述第一替代节点替代所述第三节点的原本位置,并更新所述第三节点和所述第一替代节点的关联节点的第一路由表和第二路由表,其中,所述第三节点的原本位置为:所述第三节点在离开所述k叉平衡树前在所述k叉平衡树中的位置。

44、在本公开的一些实施例中,所述节点管理模块用于若基于所述第三节点的子节点信息确定所述第三节点没有子节点,且基于所述第三节点的第一路由表和所述第三节点的第二路由表中的子节点信息,获取第二节点集合,其中,所述第二节点集合中的节点包括:所述第三节点的第一路由表和所述第三节点的第二路由表中子节点数量大于0且小于k的节点;所述节点管理模块还用于基于所述第二节点集合中每个节点的网络延迟,确定所述第三节点的第二替代节点;所述节点管理模块还用于控制所述第三节点离开所述k叉平衡树,并控制所述第二替代节点替代所述第三节点的原本位置,并更新所述第三节点和所述第二替代节点的关联节点的第一路由表和第二路由表。

45、在本公开的一些实施例中,所述节点管理模块用于响应于检测到第四节点离开所述k叉平衡树,基于所述第四节点的关联节点的第一路由表和第二路由表,确定所述第四节点在离开所述k叉平衡树前的第一路由表和第二路由表;所述节点管理模块还用于基于所述第四节点在离开所述k叉平衡树前的第一路由表和第二路由表,确定第三替代节点,其中,所述第三替代节点为所述第四节点的替代节点;所述节点管理模块还用于并控制所述第三替代节点替代所述第四节点的原本位置,并更新所述第四节点和所述第三替代节点的关联节点的第一路由表和第二路由表。

46、在本公开的一些实施例中,所述平衡树生成模块还用于基于所述k叉平衡树的消息发送在所述消息发送和节点维护中的预设占比阈值,确定k值。

47、本公开实施例的第三方面,提供一种电子设备,包括:

48、存储器,用于存储计算机程序产品;

49、处理器,用于执行所述存储器中存储的计算机程序产品,且所述计算机程序产品被执行时,实现上述第一方面所述的方法。

50、本公开实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序指令,该计算机程序指令被处理器执行时,实现上述第一方面所述的方法。

51、本公开实施例的区块链网络系统的节点数据处理方法和装置,将区块链系统的网络节点配置为多个超级节点、多个服务节点和多个骨干。其中,超级节点负责完成共识,服务节点为非共识节点,骨干节点均为全节点。由于服务节点保存有全量的副本,通过服务节点在超级节点外围形成一层全局交易过滤池,避免出现大量骨干节点直接连接到超级节点发送交易,导致超级节点需要花费大量资源来过滤垃圾交易和重复交易,影响系统吞吐量和节点的稳定性。此外,由多个服务节点和多个骨干节点生成具有稳定组网、数据传输和鲁棒性的多个k叉平衡树,并基于中序遍历的方式为k叉平衡树的每个节点设置不同路由方向的两个路由表。当有新节点想要加入区块链系统的k叉平衡树时,新节点需要通过k叉平衡树中的一个节点发送节点加入请求,根据收到请求的节点的两个路由表确定新节点在k叉平衡树中的节点加入位置,可以在保证k叉平衡树的平衡稳定下的前提下接收新节点的加入。本公开实施例的可以应用于联盟链网络的场景中,即可以针对联盟链网络系统的节点数据进行处理。

52、下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1