一种基于NDN的区块链数据缓存方法及相关装置

文档序号:37938394发布日期:2024-05-11 00:17阅读:41来源:国知局
一种基于NDN的区块链数据缓存方法及相关装置

本技术涉及区块链数据广播,特别涉及一种基于ndn的区块链数据缓存方法及相关装置。


背景技术:

1、ndn架构是一个以内容命名作为核心的新型互联网架构,它通过内容数据的名称实现全球信息通信,并拥有请求聚合、网内缓存、自适应转发等特性。上述特性使得ndn架构在数据的传输和缓存方面有着天然的优势,但如何针对特定的应用场景,如区块链网络,进一步改进ndn的数据缓存机制以及提高区块链网络的数据处理效率,依然是一个技术挑战。

2、区块链网络作为一种分布式账本技术,它的去中心化、不可篡改性、透明性、安全性和分布式共识机制带来了众多技术优势,但同时依赖于有效的数据传输和缓存策略以确保网络的可靠性和效率。由于区块链网络的特殊结构和需求,如何设计一个有效的数据缓存策略来应对网络中不断增加的数据负荷、保障高效的数据检索和提升整体网络性能,成为迫切需要解决的技术问题。

3、在未改进ndn数据缓存机制的情况下,区块链网络会遇到数据缓存和处理不够高效的问题,导致区块数据和交易数据的检索和广播受限。此外,当前区块链网络中存在的节点通常表现出不同的存储能力与网络地位,因而需要一个分层的数据缓存方法来优化不同类型节点的缓存策略,确保数据在网络中的快速、可靠传递。

4、因而现有技术还有待改进和提高。


技术实现思路

1、本技术要解决的技术问题在于如何在命名数据网络(ndn)基础上提高区块链网络中数据缓存的效率,针对现有技术的不足,提供一种基于ndn的区块链数据缓存方法及相关装置,通过对区块链网络中各节点的分类处理和级联式缓存替换策略,提高区块链网络中数据缓存和广播的效率。

2、为了解决上述技术问题,本技术实施例第一方面提供了一种基于ndn的区块链数据缓存方法,其中,所述数据缓存方法执行于区块链网络中,所述方法包括:

3、对所述区块链网络中的各节点进行分类,得到核心节点集合,二级核心节点集合,三级核心节点集合和边缘节点集合;

4、获取广播数据,所述广播数据包括区块头数据、区块体数据和交易数据;

5、所述核心节点集合的各节点接收所述广播数据,所述核心节点集合的各节点对所述广播数据中的区块头数据和交易数据进行缓存处理,确定第一缓存替换数据,将所述第一缓存替换数据向下级节点进行广播操作;

6、所述二级核心节点集合的各节点接收所述广播数据和所述第一缓存替换数据,所述二级核心节点集合的各节点对所述广播数据中的区块头数据和交易数据以及所述第一缓存替换数据进行缓存处理,确定第二缓存替换数据,将所述第二缓存替换数据向下级节点进行广播操作;

7、所述三级核心节点集合的各节点接收所述广播数据和所述第二缓存替换数据,所述三级核心节点集合的各节点对所述广播数据中的区块头数据和交易数据以及所述第二缓存替换数据进行缓存处理,确定对应的缓存替换数据,将所述对应的缓存替换数据向下级节点进行广播操作;

8、所述边缘节点集合的各节点接收所述广播数据和所述对应的缓存替换数据,所述边缘节点集合的各节点对所述广播数据中的区块头数据、区块体数据和交易数据以及所述对应的缓存替换数据进行缓存处理。

9、在一个实现方式中,所述对所述区块链网络中的各节点进行分类,得到核心节点集合,二级核心节点集合,三级核心节点集合和边缘节点集合的具体步骤包括:

10、基于预设算法将所述区块链网络划分为若干个簇;

11、基于所述若干个簇确定若干核心节点,其中,每个核心节点为对应的簇的中心节点,所述若干核心节点构成核心节点集合;

12、基于所述核心节点集合确定所述二级核心节点集合,其中,每个二级核心集合中的二级节点为对应的核心节点集合中的核心节点的下一代节点;

13、基于所述二级核心节点集合确定所述三级核心节点集合,其中,每个三级核心节点集合中的三级核心节点为对应的二级核心节点的下一代节点;

14、基于所述三级核心节点集合确定所述边缘节点集合,其中,每个边缘节点集合中的边缘节点为对应的三级核心节点的子孙节点。

15、在一个实现方式中,所述基于所述三级核心节点集合确定所述边缘节点集合,其中,每个边缘节点集合中的边缘节点为对应的三级核心节点的子孙节点具体包括:

16、所述边缘节点集合包括最后一层级边缘节点集合、第一层级边缘节点集合和剩余边缘节点集合;

17、基于所述三级核心节点集合确定所述第一层级边缘节点集合,其中,每个第一层级边缘节点集合中的边缘节点为对应的三级核心节点的下一代节点;

18、所述最后一层级边缘节点集合为所述边缘节点集合的最外层节点所构成的集合;

19、所述剩余边缘节点集合中的节点为所述第一层级边缘节点集合中节点的子节点;

20、所述剩余边缘节点集合中的节点为所述最后一层级边缘节点集合中节点的父节点;

21、所述边缘节点集合基于各边缘节点的存储能力分类为轻边缘节点集合和重边缘节点集合。

22、在一个实现方式中,所述所述核心节点集合的各节点接收所述广播数据,所述核心节点集合的各节点对所述广播数据中的区块头数据和交易数据进行缓存处理,确定第一缓存替换数据的具体步骤包括:

23、所述核心节点集合的各节点接收所述广播数据;

24、判断所述各节点的内容存储是否已包含所述广播数据;

25、当所述各节点的内容存储已包含所述广播数据时,不进行缓存处理;

26、当所述各节点的内容存储未包含所述广播数据时,判断所述广播数据是否与所述各节点的待定兴趣表条目匹配;

27、当所述广播数据与所述各节点的待定兴趣表条目不匹配时,不进行缓存处理;

28、当所述广播数据与所述各节点的待定兴趣表条目匹配时,判断所述各节点的内容存储是否有剩余空间;

29、当所述各节点的内容存储存在剩余空间时,将所述广播数据中的区块头数据和交易数据缓存入各节点的内容存储;

30、当所述各节点的内容存储不存在剩余空间时,基于预设算法将所述各节点的内容存储中的旧内容进行替换处理得到第一缓存替换数据,将所述广播数据中的区块头数据和交易数据缓存入所述各节点的内容存储。

31、在一个实现方式中,所述所述二级核心节点集合的各节点接收所述广播数据和所述第一缓存替换数据,所述二级核心节点集合的各节点对所述广播数据中的区块头数据和交易数据以及所述第一缓存替换数据进行缓存处理,确定第二缓存替换数据具体包括:

32、所述二级核心节点集合的各节点接收所述广播数据和第一缓存替换数据;

33、判断所述各节点的内容是否已包含所述广播数据和第一缓存替换数据;

34、当所述各节点的内容存储已包含所述广播数据和第一缓存替换数据时,不进行缓存处理;

35、当所述各节点的内容存储未包含所述广播数据和所述第一缓存替换数据时,判断所述广播数据和所述第一缓存替换数据是否与所述各节点的待定兴趣表条目匹配;

36、当所述广播数据和所述第一缓存替换数据与所述各节点的待定兴趣表条目不匹配时,不进行缓存处理;

37、当所述广播数据与所述各节点的待定兴趣表条目匹配时,判断所述各节点的内容存储是否有剩余空间;

38、当所述各节点的内容存储存在剩余空间时,将所述广播数据中的区块头数据和交易数据和所述第一缓存替换数据缓存入各节点的内容存储;

39、当所述各节点的内容存储不存在剩余空间时,基于预设算法将所述各节点的内容存储中的旧内容进行替换处理得到第二缓存替换数据,将所述广播数据中的区块头数据和交易数据和所述第一缓存替换数据缓存入所述各节点的内容存储。

40、在一个实现方式中,所述所述边缘节点集合的各节点接收所述广播数据和所述对应的缓存替换数据,所述边缘节点集合的各节点对所述广播数据中的区块头数据、区块体数据和交易数据以及所述对应的缓存替换数据进行缓存处理的步骤具体包括:

41、所述边缘节点集合的各节点接收所述广播数据和缓存替换数据;

42、判断所述各节点的内容存储是否已包含所述广播数据和缓存替换数据;

43、当所述各节点的内容存储已包含所述广播数据和缓存替换数据时,不进行缓存处理;

44、当所述各节点的内容存储未包含所述广播数据和缓存替换数据时,判断所述广播数据和缓存替换数据是否与所述各节点的待定兴趣表条目匹配;

45、当所述广播数据和缓存替换数据与所述各节点的待定兴趣表条目不匹配时,不进行缓存处理;

46、当所述广播数据和缓存替换数据与所述各节点的待定兴趣表条目匹配时,判断所述各节点的内容存储是否有剩余空间;

47、当所述各节点的内容存储存在剩余空间时,将所述广播数据中的区块头数据和交易数据和缓存替换数据缓存入各节点的内容存储;

48、当所述各节点的内容存储不存在剩余空间时,基于预设算法将所述各节点的内容存储中的旧内容进行替换处理得到缓存替换数据,将所述广播数据中的区块头数据和交易数据缓存入所述各节点的内容存储。

49、在一个实现方式中,所述当所述广播数据和缓存替换数据与所述各节点的待定兴趣表条目匹配时,所述方法还包括:

50、当所述边缘节点为轻边缘节点时,不对所述广播数据中的区块体数据进行缓存处理;

51、当所述边缘节点为重边缘节点时,对所述广播数据中的区块体数据进行分片处理,并将分片后的区块体进行缓存处理。

52、在一个实现方式中,所述当所述各节点的内容存储不存在剩余空间时,基于预设算法将所述各节点的内容存储中的旧内容进行替换处理得到缓存替换数据的步骤还包括:

53、当所述各节点为最后一层级边缘节点时,将所述替换出的旧内容进行删除处理;

54、当所述各节点不为最后一层级边缘节点时,将所述替换出的旧内容缓存入所述各节点的内容存储。

55、本技术实施例第二方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上任一所述的基于ndn的区块链数据缓存方法中的步骤。

56、本技术实施例第三方面提供了一种终端设备,其包括:处理器和存储器;

57、所述存储器上存储有可被所述处理器执行的计算机可读程序;

58、所述处理器执行所述计算机可读程序时实现如上任一所述的基于ndn的区块链数据缓存方法中的步骤。

59、有益效果:

60、与现有技术相比,本技术通过对节点进行分层分类,并在每个层级节点上执行缓存处理,使得数据可以在网络中更高效地被存储和访问,尤其适用于核心数据(如区块头和交易数据)的快速缓存和传播;其次各级节点只广播特定的缓存替换数据到下一级节点,减少了不必要的数据传输,降低带宽使用率和网络拥塞;再次,各级缓存节点根据接收的数据和替换策略确定缓存替换数据,动态调整存储内容,保持高效数据管理;此外,通过分级处理广播数据和缓存替换数据使得边缘节点集合针对数据的处理更加细化,适应了不同节点的存储和计算能力,从而提高了整个区块链网络的可扩展性和响应性。

61、本技术通过区块链网络的划分成簇,并在此基础上确定节点的分层集合,提高了网络的组织性和管理效率;再通过进一步的节点划分(包括一级、二级、三级核心节点及边缘节点),按照网络拓扑结构进行有效的缓存策略分配,根据节点存储能力(轻边缘节点与重边缘节点)进行分类,优化数据缓存策略,确保各节点存储能力与责任相匹配。

62、本技术通过判断内容存储情况和待定兴趣表条目匹配,对数据进行缓存或替换,增强了缓存的智能性和适应性,并通过引入多级缓存替换机制通过最优化的缓存处理提高数据的可用性和访问速度,形成有效的缓存替换链,也保证广播数据和缓存替换数据在节点存储没有多余空间时的有效管理,确保广播数据和缓存替换数据可以有效分布在网络中,支持高效数据检索。

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