System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 面向区块链交易检索的高效查询方法、系统、设备及介质技术方案_技高网

面向区块链交易检索的高效查询方法、系统、设备及介质技术方案

技术编号:40787717 阅读:3 留言:0更新日期:2024-03-28 19:18
本发明专利技术涉及计算机信息检索技术领域,尤其是指面向区块链交易检索的高效查询方法、系统、设备及介质,所述查询方法包括:基于区块链上的交易信息,构建基于Cmerkle树的区块结构;通过布隆过滤器按照交易信息中的账户地址进行分类,为每个分类构建一个B+树,且每个账户地址关联与其对应的区块结构,以此构建查询索引结构;针对待查询交易,以账户地址作为索引节点,检索待查询交易对应的B+树,并定位目标区块,得到所述目标区块中的交易信息。本发明专利技术实现了用户地址和时间戳的多特征检索,提升了区块链交易的信息检索速度,有效地解决了现有技术中区块链交易信息查询会出现无法确定包含目标区块的位置,导致增加通信成本且查询效率低下的问题。

【技术实现步骤摘要】

本专利技术涉及计算机信息检索,尤其是指面向区块链交易检索的高效查询方法、系统、设备及介质


技术介绍

1、区块链技术作为一种去中心化账本技术,起源于中本聪专利技术的比特币项目。这种新颖的去中心化账本技术已经在数字版权、供应链管理、边缘计算等多个领域得到了应用和探索,并取得了显著的成果。随着区块链应用的快速发展,区块链也暴露出一些问题。例如,由于区块链数据具有只追加的特性,在不断积累的情况下,会给区块链节点带来巨大的存储压力。每个区块链节点都需要存储区块链账本数据的完整副本,账本数据的数量给节点的存储带来了巨大的压力。同时,成千上万的区块链节点都需要存储账本数据,这会导致存储资源的巨大浪费。单点存储的压力太大会限制新的区块链节点加入区块链网络,导致区块链系统的中心化,直接影响区块链系统的可扩展性。

2、区块链交易检索问题是由于区块链节点在第三方存储网络中存储区块链账本时,不再拥有完整的区块链账本数据。当用户试图访问目标交易记录时,区块链节点无法找到包含目标交易的目标块。这就要求区块链节点定期从存储网络中获取整个区块链账本,以便访问交易,导致相当大的通信成本和较差的用户体验。因此,如何根据交易记录特征在大量区块中检索交易成为区块链交易检索挑战的最重要方面。


技术实现思路

1、为此,本专利技术所要解决的技术问题在于克服现有技术中区块链采用第三方存储系统存储块数据以减轻节点存储负担,会出现无法确定包含特定交易的块的位置,导致巨大的通信成本且查询效率低下的问题。

2、为解决上述技术问题,本专利技术提供了一种面向区块链交易检索的高效查询方法,该方法包括以下步骤:

3、s1:基于区块链上的交易信息,构建基于cmerkle树的区块结构;

4、s2:通过布隆过滤器按照交易信息中的账户地址进行分类,为每个分类构建一个b+树,将相同类型的账户地址存入同一个b+树中,且每个账户地址关联与其对应的区块结构,并按照时间戳对区块结构进行排序,以此构建查询索引结构;

5、s3:针对待查询交易,以账户地址作为索引节点,在所述查询索引结构中检索到待查询交易对应的b+树,并定位目标区块,得到所述目标区块中的交易信息。

6、在本专利技术的一个实施例中,构建基于cmerkle树的区块结构的方法为:构建基于cmerkle树的区块结构的方法为:将所述交易信息分别计算哈希值作为叶子节点,所述叶子节点两两配对后再计算哈希值作为非叶子节点,所述非叶子节点两两配对后再计算哈希值,以此类推,直到仅剩下一个节点,作为根节点,以此来构建merkle树,利用布谷鸟过滤器计算所述非叶子节点和所述根节点的指纹信息存放于其中,并将所述布谷鸟过滤器加入所述merkle树中,最终构成了基于cmerkle树的区块结构。

7、在本专利技术的一个实施例中,构建查询索引结构的具体方法包括:

8、利用布隆过滤器计算出每个账户地址的位数组,将位数组相同的账户地址放在同一个b+树中进行管理,若账户地址经过布隆过滤器计算得到新的位数组,则创建一个新的b+树对该账户地址进行管理;

9、将账户地址作为索引节点存入b+树后,按照与账户地址相关的区块结构的创建时间对区块结构进行排序,将所有区块结构存放于b+树的最底层节点中,最终构成了查询索引结构。

10、在本专利技术的一个实施例中,构建查询索引结构的具体方法还包括:当已经存入索引中的账户地址更新时,将更新与账户地址相关的b+树,将新增区块的哈希值按时间戳更新到b+树中。

11、在本专利技术的一个实施例中,定位目标区块的的方法包括:

12、通过哈希函数计算账户地址对应的布隆过滤器位数组,并根据所述布隆过滤器位数组检索到相应的b+树;

13、判断检索到的b+树中所有相关区块结构的根节点的布谷鸟过滤器中是否存在待查询交易的指纹信息:若不存在指纹信息,则直接查找下一个区块结构;若存在指纹信息,则该区块结构为目标区块。

14、在本专利技术的一个实施例中,得到所述目标区块中的交易信息的方法为:利用广度优先算法顺序查找目标区块的所有节点,若一个节点中不存在指纹信息,则不再查找该节点的子节点,直接查找同一层级的另一个节点,依次类推,直至检索到待查询交易信息。

15、在本专利技术的一个实施例中,所述根节点的指纹信息包含所有叶子节点和非叶子节点的指纹信息。

16、基于同一专利技术构思,本专利技术还提供一种面向区块链交易检索的高效查询系统,包括以下模块:

17、区块结构构建模块,用于基于区块链上的交易信息,构建基于cmerkle树的区块结构;

18、查询索引结构构建模块,用于通过布隆过滤器按照交易信息中的账户地址进行分类,为每个分类构建一个b+树,将相同类型的账户地址存入同一个b+树中,且每个账户地址关联与其对应的区块结构,并按照创建时间对区块结构进行排序,以此构建查询索引结构;

19、待查询交易信息检索模块,用于针对待查询交易,以账户地址作为索引节点,在所述查询索引结构中检索到待查询交易对应的b+树,并定位目标区块,得到所述目标区块中的交易信息。

20、本专利技术还提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现任一项所述面向区块链交易检索的高效查询方法。

21、本专利技术还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现任一项所述面向区块链交易检索的高效查询方法。

22、本专利技术的上述技术方案相比现有技术具有以下优点:

23、1、本专利技术结合布谷鸟过滤器与merkle树提出一种基于cmerkle树的区块结构,用于快速确认交易是否在区块中并获取区块中的具体交易信息。

24、2、利用布隆过滤器占用空间少、计算速度快的特点,在大量账户地址检索项目中提供较好的可扩展性和检索效率,使用b+树构建出高效的区块定位结构,在保证区块链数据不可篡改的情况下能够有效地提高查询效率。

本文档来自技高网...

【技术保护点】

1.一种面向区块链交易检索的高效查询方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的面向区块链交易检索的高效查询方法,其特征在于:构建基于CMerkle树的区块结构的方法为:构建基于CMerkle树的区块结构的方法为:将所述交易信息分别计算哈希值作为叶子节点,所述叶子节点两两配对后再计算哈希值作为非叶子节点,所述非叶子节点两两配对后再计算哈希值,以此类推,直到仅剩下一个节点,作为根节点,以此来构建Merkle树,利用布谷鸟过滤器计算所述非叶子节点和所述根节点的指纹信息存放于其中,并将所述布谷鸟过滤器加入所述Merkle树中,最终构成了基于CMerkle树的区块结构。

3.根据权利要求1所述的面向区块链交易检索的高效查询方法,其特征在于:构建查询索引结构的具体方法包括:

4.根据权利要求1或3所述的面向区块链交易检索的高效查询方法,其特征在于:构建查询索引结构的具体方法还包括:当已经存入索引中的账户地址更新时,将更新与账户地址相关的B+树,将新增区块的哈希值按时间戳更新到B+树中。

5.根据权利要求1所述的面向区块链交易检索的高效查询方法,其特征在于:定位目标区块的的方法包括:

6.根据权利要求5所述的面向区块链交易检索的高效查询方法,其特征在于:得到所述目标区块中的交易信息的方法为:利用广度优先算法顺序查找目标区块的所有节点,若一个节点中不存在指纹信息,则不再查找该节点的子节点,直接查找同一层级的另一个节点,依次类推,直至检索到待查询交易信息。

7.根据权利要求1所述的面向区块链交易检索的高效查询方法,其特征在于:所述根节点的指纹信息包含所有叶子节点和非叶子节点的指纹信息。

8.一种面向区块链交易检索的高效查询系统,其特征在于,包括:

9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1~7任一项面向区块链交易检索的高效查询方法。

10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1~7任一项面向区块链交易检索的高效查询方法。

...

【技术特征摘要】

1.一种面向区块链交易检索的高效查询方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的面向区块链交易检索的高效查询方法,其特征在于:构建基于cmerkle树的区块结构的方法为:构建基于cmerkle树的区块结构的方法为:将所述交易信息分别计算哈希值作为叶子节点,所述叶子节点两两配对后再计算哈希值作为非叶子节点,所述非叶子节点两两配对后再计算哈希值,以此类推,直到仅剩下一个节点,作为根节点,以此来构建merkle树,利用布谷鸟过滤器计算所述非叶子节点和所述根节点的指纹信息存放于其中,并将所述布谷鸟过滤器加入所述merkle树中,最终构成了基于cmerkle树的区块结构。

3.根据权利要求1所述的面向区块链交易检索的高效查询方法,其特征在于:构建查询索引结构的具体方法包括:

4.根据权利要求1或3所述的面向区块链交易检索的高效查询方法,其特征在于:构建查询索引结构的具体方法还包括:当已经存入索引中的账户地址更新时,将更新与账户地址相关的b+树,将新增区块的哈希值按时间戳更新到b+树中。

5.根据权利...

【专利技术属性】
技术研发人员:戴欢孙立王陆平王飞
申请(专利权)人:苏州科技大学
类型:发明
国别省市:

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

1