区块链交易数据查询方法及装置制造方法及图纸

技术编号:38616109 阅读:13 留言:0更新日期:2023-08-26 23:43
本申请提供一种区块链交易数据查询方法及装置,方法包括:根据预存储在区块链网络中的布隆过滤器索引,确定当前的交易查询关键字对应的目标区块;从目标区块对应的预存储在区块链网络内的属性红黑树索引中,查找交易查询关键字对应的链下地址信息,以自该链下地址信息对应的链下数据库中提取交易查询关键字对应的交易数据。本申请能够在降低区块链网络中节点数据存储压力的基础上,有效提高区块链交易数据查询的效率及可靠性,能够有效降低区块链交易数据查询的时间成本和资源成本。链交易数据查询的时间成本和资源成本。链交易数据查询的时间成本和资源成本。

【技术实现步骤摘要】
区块链交易数据查询方法及装置


[0001]本申请涉及区块链
,尤其涉及区块链交易数据查询方法及装置。

技术介绍

[0002]区块链网络因其具有的可追溯、不可篡改的特性,广泛应用于金融、政务、教育等众多领域,尤其可以作为金融交易的数据存储载体。随着区块链的普及和应用范围的扩大,每个区块链节点上存储的数据量也在增加。除了在所有节点中完全备份相同的区块数据外,还存储状态数据、索引数据等信息,以提高节点链上内容的查询速度。使得节点存储对资源的消耗越来越大。因此,可以采用链上链下结合的方式来解决这一问题。
[0003]目前,现有的链上链下交易数据存储方式,链上数据被存储在区块链系统中,按照区块结构组织;而大规模的交易数据则由链下数据库管理,存储在链下数据库文件中。为了对链下数据的查询进行优化,交易数据保存在链下数据库中,将数据索引储存在区块链上。
[0004]然而,现有的链上链下交易数据存储方式虽然可以降低区块链中节点的存储压力,但在进行查询操作时,需要通过单一的查询方式遍历区块链网络中的通过单一通过键值对数据库构建的索引,由于链下交易数据量巨大,遍历其对应的索引也需要耗费较长的时间和资源,这也造成了区块链交易数据查询技术面临的查询效率低下的问题。

技术实现思路

[0005]鉴于此,本申请实施例提供了区块链交易数据查询方法及装置,以消除或改善现有技术中存在的一个或更多个缺陷。
[0006]本申请的一个方面提供了一种区块链交易数据查询方法,包括:根据预存储在区块链网络中的布隆过滤器索引,确定当前的交易查询关键字对应的目标区块;从所述目标区块对应的预存储在所述区块链网络内的属性红黑树索引中,查找所述交易查询关键字对应的链下地址信息,以自该链下地址信息对应的链下数据库中提取所述交易查询关键字对应的交易数据。
[0007]在本申请的一些实施例中,在所述根据预存储在区块链网络中的布隆过滤器索引,确定当前的交易查询关键字对应的目标区块之前,还包括:接收针对区块链网络的交易数据查询请求,其中,该交易数据查询请求中包含有目标交易属性值;判断所述交易数据查询请求中是否还包含有查询时间范围,若否,则将所述目标交易属性值作为当前的交易查询关键字;相对应的,所述根据预存储在区块链网络中的布隆过滤器索引,确定当前的交易查询关键字对应的目标区块,包括:根据预存储在区块链网络中的布隆过滤器索引对应的各个多区块布隆过滤器,确定当前的目标交易属性值对应的区块范围,其中,所述布隆过滤器索引包括多个所述多区
块布隆过滤器和多个单区块布隆过滤器,各个所述多区块布隆过滤器之间各自对应的各个区块不同,各个所述单区块布隆过滤器之间各自对应的单个区块也不同,所述区块范围中包含有至少一个区块的唯一标识;根据所述区块范围中的各个区块分别对应的单区块布隆过滤器确定所述目标交易属性值对应的目标区块。
[0008]在本申请的一些实施例中,在所述根据预存储在区块链网络中的布隆过滤器索引,确定当前的交易查询关键字对应的目标区块之前,还包括:若经判断获知所述交易数据查询请求中还包含有查询时间范围,则将所述目标交易属性值和所述查询时间范围作为当前的交易查询关键字;自预存储在所述区块链网络内的时间红黑树索引中查询所述查询时间范围对应的区块范围,其中,所述时间红黑树索引用于存储各个时间戳与各个所述区块的唯一标识之间的对应关系;相对应的,所述根据预存储在区块链网络中的布隆过滤器索引,确定当前的交易查询关键字对应的目标区块,包括:根据所述区块范围中的各个区块分别对应的单区块布隆过滤器确定所述目标交易属性值对应的目标区块。
[0009]在本申请的一些实施例中,所述多区块布隆过滤器用于存储多个区块的唯一标识和各个交易优化属性值之间的对应关系;所述单区块布隆过滤器用于存储单个所述区块的唯一标识和各个交易优化属性值之间的对应关系;相对应的,所述根据预存储在区块链网络中的布隆过滤器索引对应的各个多区块布隆过滤器,确定当前的目标交易属性值对应的区块范围,包括:基于预设的布隆过滤器属性优化规则,生成所述目标交易属性值对应的目标交易优化属性值;在各个多区块布隆过滤器中查找所述目标交易优化属性值对应的区块范围;相对应的,所述根据所述区块范围中的各个区块分别对应的单区块布隆过滤器确定所述目标交易属性值对应的目标区块,包括:在所述区块范围中的各个区块分别对应的单区块布隆过滤器中,查找所述目标交易优化属性值对应的目标区块。
[0010]在本申请的一些实施例中,所述布隆过滤器属性优化规则包括:若交易属性为交易哈希值,则生成与该交易属性相同的交易优化属性值;若交易属性为所述交易数据查询请求对应的发送用户地址,则在该发送用户地址之前增加发送标识,以作为该交易属性对应的交易优化属性值;若交易属性为所述交易数据查询请求对应的接收用户地址,则在该接收用户地址之前增加接收标识,以作为该交易属性对应的交易优化属性值;若交易属性为交易金额,则根据该交易金额所属的数值范围选取该数值范围对应的桶,并基于该桶的桶标识生成所述交易属性对应的交易优化属性值。
[0011]在本申请的一些实施例中,所述属性红黑树索引用于存储唯一对应的区块的各个交易属性值和各个链下地址信息之间的对应关系,每个所述链下地址信息中均包含有:以链表形式存储的至少一个数据库文件中的交易数据存储地址;
相对应的,所述从所述目标区块对应的预存储在所述区块链网络内的属性红黑树索引中,查找所述交易查询关键字对应的链下地址信息,以自该链下地址信息对应的链下数据库中提取所述交易查询关键字对应的交易数据,包括:从所述目标区块对应的预存储在所述区块链网络中的属性红黑树索引中,查找所述目标交易属性值对应的链表;将所述链表中包含有的各个数据库文件中的交易数据存储地址均发送至所述交易数据查询请求的发出方,以使该发出方根据所述链表中包含有的各个数据库文件中的交易数据存储地址自对应的数据库中提取所述目标交易属性值对应的交易数据。
[0012]在本申请的一些实施例中,还包括:根据交易数据更新结果在区块链网络中实时更新所述布隆过滤器索引、属性红黑树索引和时间红黑树索引。
[0013]在本申请的一些实施例中,还包括:将所述布隆过滤器索引对应的列向量转化为字符串,并对该字符串进行加密以得到该布隆过滤器的哈希值,在所述区块链网络中的各个区块的区块头中均存储前一区块中的所述布隆过滤器的哈希值以作为所述布隆过滤器索引的安全性验证值;和/或,基于所述时间红黑树索引和所述属性红黑树索引中各自的节点的键值对,分别采用所述布隆过滤器和所述数据库,对所述时间红黑树索引和所述属性红黑树索引进行安全性验证。
[0014]本申请的另一个方面提供了一种区块链交易数据查询装置,包括:布隆过滤器查询模块,用于根据预存储在区块链网络中的布隆过滤器索引,确定当前的交易查询关键字对应的目标区块;属性红黑树查询模块,用于从所述目标区块对应的预存储在所述区块链网络内的属性红黑树索引中,查找所述交易查询关键字对应的链下地址信息,以自该链下地址信息对应的链下数据本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种区块链交易数据查询方法,其特征在于,包括:根据预存储在区块链网络中的布隆过滤器索引,确定当前的交易查询关键字对应的目标区块;从所述目标区块对应的预存储在所述区块链网络内的属性红黑树索引中,查找所述交易查询关键字对应的链下地址信息,以自该链下地址信息对应的链下数据库中提取所述交易查询关键字对应的交易数据。2.根据权利要求1所述的区块链交易数据查询方法,其特征在于,在所述根据预存储在区块链网络中的布隆过滤器索引,确定当前的交易查询关键字对应的目标区块之前,还包括:接收针对区块链网络的交易数据查询请求,其中,该交易数据查询请求中包含有目标交易属性值;判断所述交易数据查询请求中是否还包含有查询时间范围,若否,则将所述目标交易属性值作为当前的交易查询关键字;相对应的,所述根据预存储在区块链网络中的布隆过滤器索引,确定当前的交易查询关键字对应的目标区块,包括:根据预存储在区块链网络中的布隆过滤器索引对应的各个多区块布隆过滤器,确定当前的目标交易属性值对应的区块范围,其中,所述布隆过滤器索引包括多个所述多区块布隆过滤器和多个单区块布隆过滤器,各个所述多区块布隆过滤器之间各自对应的各个区块不同,各个所述单区块布隆过滤器之间各自对应的单个区块也不同,所述区块范围中包含有至少一个区块的唯一标识;根据所述区块范围中的各个区块分别对应的单区块布隆过滤器确定所述目标交易属性值对应的目标区块。3.根据权利要求2所述的区块链交易数据查询方法,其特征在于,在所述根据预存储在区块链网络中的布隆过滤器索引,确定当前的交易查询关键字对应的目标区块之前,还包括:若经判断获知所述交易数据查询请求中还包含有查询时间范围,则将所述目标交易属性值和所述查询时间范围作为当前的交易查询关键字;自预存储在所述区块链网络内的时间红黑树索引中查询所述查询时间范围对应的区块范围,其中,所述时间红黑树索引用于存储各个时间戳与各个所述区块的唯一标识之间的对应关系;相对应的,所述根据预存储在区块链网络中的布隆过滤器索引,确定当前的交易查询关键字对应的目标区块,包括:根据所述区块范围中的各个区块分别对应的单区块布隆过滤器确定所述目标交易属性值对应的目标区块。4.根据权利要求3所述的区块链交易数据查询方法,其特征在于,所述多区块布隆过滤器用于存储多个区块的唯一标识和各个交易优化属性值之间的对应关系;所述单区块布隆过滤器用于存储单个所述区块的唯一标识和各个交易优化属性值之间的对应关系;相对应的,所述根据预存储在区块链网络中的布隆过滤器索引对应的各个多区块布隆过滤器,确定当前的目标交易属性值对应的区块范围,包括:
基于预设的布隆过滤器属性优化规则,生成所述目标交易属性值对应的目标交易优化属性值;在各个多区块布隆过滤器中查找所述目标交易优化属性值对应的区块范围;相对应的,所述根据所述区块范围中的各个区块分别对应的单区块布隆过滤器确定所述目标交易属性值对应的目标区块,包括:在所述区块范围中的各个区块分别对应的单区块布隆过滤器中,查找所...

【专利技术属性】
技术研发人员:熊翱马文川郭少勇王栋柏德胜郭庆雷
申请(专利权)人:国网数字科技控股有限公司
类型:发明
国别省市:

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

1