一种区块链的数据查询方法及装置制造方法及图纸

技术编号:32922041 阅读:26 留言:0更新日期:2022-04-07 12:13
本发明专利技术公开了一种区块链的数据查询方法及装置,其中方法为:根据查询条件,按照预设哈希算法,获得索引值集合;所述查询条件包括属性信息以及属性信息间的约束关系;区块链中的数据记录设置了索引关系,所述索引关系包括数据记录中的属性信息与索引值之间的对应关系,以及数据记录中的主键与索引值之间的对应关系;第一索引值是第一属性信息按照所述预设哈希算法得到的,从而可以根据所述索引值集合和所述约束关系,确定候选主键集合,从而缩小了查询范围,进一步地根据查询条件和候选主键集合,获取查询数据,提升了区块链中数据的查询效率,上述方法可以应用于金融科技(Fintech)。上述方法可以应用于金融科技(Fintech)。上述方法可以应用于金融科技(Fintech)。

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


[0001]本专利技术涉及金融科技(Fintech)领域中的区块链(Blockchain)领域,尤其涉及一种区块链的数据查询方法及装置。

技术介绍

[0002]随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技(Fintech)转变,但由于金融行业的安全性、实时性要求,也对技术提出的更高的要求。目前,基于区块链的不可篡改性,金融科技领域中常通过区块链进行交易。
[0003]区块链一般采用键值对的形式存储数据,目前对区块链中的数据进行查询只能基于主键逐条数据进行查询,导致区块链的数据查询效率较低。这是一个亟待解决的问题。

技术实现思路

[0004]本专利技术提供一种区块链的数据查询方法及装置,解决了现有技术中区块链的数据查询效率较低的问题。
[0005]第一方面,本专利技术提供一种区块链的数据查询方法,包括:
[0006]根据查询条件,按照预设哈希算法,获得索引值集合;所述查询条件包括属性信息以及属性信息间的约束关系,所述索引值集合包括索引值;区块链中的数据记录设置了索引关系,所述索引关系包括数据记录中的属性信息与索引值之间的对应关系;其中,第一索引值是第一属性信息按照所述预设哈希算法得到的,所述第一索引值为所述索引关系中任一索引值,所述第一属性信息为所述第一索引值对应的任一属性信息;
[0007]根据所述索引值集合和所述约束关系,确定候选主键集合;所述索引关系还包括数据记录中的主键与索引值之间的对应关系,其中,所述候选主键集合中的第一主键为所述第一索引值对应的任一主键;
[0008]根据所述查询条件和所述候选主键集合,获取查询数据。
[0009]上述方式下,由于在区块链中设置数据记录的索引关系,可以获得索引值集合,并根据所述索引值集合和所述约束关系,首先确定查询条件对应的候选主键集合,从而缩小了查询范围,进一步可以根据所述查询条件和所述候选主键集合,获取查询数据,提升了区块链中数据的查询效率。
[0010]可选的,所述根据所述查询条件和所述候选主键集合,确定查询数据,包括:
[0011]针对第二主键,所述第二主键为所述候选主键集合中任一主键,根据所述第二主键、所述第二主键基于所述查询条件对应的关联信息,按照所述预设哈希算法,确定所述第二主键的关联哈希值;所述第二主键为所述索引值集合中第二索引值对应的主键;
[0012]若所述关联哈希值位于所述第二索引值的关联哈希数组中,则确定所述第二主键符合所述查询条件;所述关联哈希数组中的哈希值是根据所述第二索引值对应的主键以及该主键的关联信息得到的;
[0013]将符合所述查询条件的所有主键对应的数据记录,作为所述查询数据。
[0014]上述方法中,可以按照所述预设哈希算法,确定所述第二主键的关联哈希值,由于关联哈希数组中的哈希值是根据所述第二索引值对应的主键以及该主键的关联信息得到的,那么可以在关联哈希值位于所述第二索引值的关联哈希数组中的情况下,确定第二主键确实是因为查询条件对应的关联信息与第二索引值对应的关系,从而可以确认符合查询条件的数据记录。
[0015]可选的,所述属性信息分为标签类属性信息和非标签类属性信息,所述标签类属性信息按照所述预设哈希算法得到索引值的碰撞概率,小于所述非标签类属性信息按照所述预设哈希算法得到索引值的碰撞概率;
[0016]针对所述查询条件中第二属性信息,若所述第二属性信息为标签类属性信息,所述第二主键基于所述查询条件对应的关联信息具体为所述第二索引值在所述查询条件中对应的所述第二属性信息;或者,
[0017]若所述第二属性信息为非标签类属性信息,则所述索引值集合还包括该非标签类属性信息的二级索引值,所述第二主键基于所述查询条件对应的关联信息具体为所述第二索引值在所述索引值集合中对应的二级索引值。
[0018]上述方法中,由于标签类属性信息相对于非标签类属性信息按照所述预设哈希算法得到索引值的碰撞概率较小,因此标签类属性信息直接设置属性信息为关联信息碰撞概率也较小,而非标签类属性信息设置二级索引值为关联信息可以降低其碰撞概率,从而降低整体索引值的碰撞概率。
[0019]可选的,所述根据查询条件,按照预设哈希算法,获得索引值集合之前,还包括:
[0020]针对所述区块链中任一数据记录中的第三属性信息,将所述第三属性信息按照所述预设哈希算法运算,获得所述第三属性信息对应的第三索引值;若所述第三索引值在索引关系中不存在,则将所述第三索引值添加到所述索引关系中;
[0021]根据该数据记录中的第三主键和所述第三属性信息对应的关联信息,按照所述预设哈希算法运算,获得所述第三属性信息的关联哈希值;
[0022]将所述第三属性信息的关联哈希值存储至所述索引关系中所述第三索引值的关联哈希数组;根据所述第三主键,设置所述索引关系中所述第三索引值的主键数组中所述第三主键对应的取值。
[0023]上述方式下,通过添加索引值到索引关系,以及添加关联哈希值到关联哈希数组,还设置所述索引关系中所述第三索引值的主键数组中所述第三主键对应的取值,从而指示了索引值、主键、属性值之间的对应关系,为查询提供了依据。
[0024]可选的,若所述第三属性信息为标签类属性信息,所述第三属性信息对应的关联信息为所述第三属性信息;或者,
[0025]若所述第三属性信息为非标签类属性信息,所述方法还包括:
[0026]将所述第三属性信息按照所述预设哈希算法运算,获得所述第三索引值的二级索引值;所述第三属性信息对应的关联信息为所述二级索引值。
[0027]可选的,所述根据所述索引值集合和所述约束关系,确定候选主键集合,包括:
[0028]确定所述索引值集合中每个索引值对应的主键数组,所述主键数组中元素的取值为第一预设值或第二预设值,所述第一预设值指示主键与索引值之间存在对应关系,所述第二预设值指示主键与索引值之间不存在对应关系;
[0029]根据所述索引值集合中每个索引值对应的主键数组中元素的取值,按照所述约束关系进行运算,获得联合主键数组;
[0030]根据所述联合主键数组中元素的取值,确定所述候选主键集合。
[0031]上述方式下,通过索引值对应的主键数组,按照所述约束关系进行运算,可以通过简单的运算,获得联合主键数组,用于指示候选主键集合,从而可以更高效地确定候选主键集合。
[0032]可选的,所述区块链提供了智能合约,所述方法是所述区块链的节点通过调用所述智能合约执行的。
[0033]上述方式下,通过区块链的节点通过调用所述智能合约执行上述数据查询方法,从而为数据查询方法提供了可靠性。
[0034]第二方面,本专利技术提供一种区块链的数据查询装置,包括:
[0035]处理模块,用于根据查询条件,按照预设哈希算法,获得索引值集合;所述查询条件包括属性信息以及属性信息间的约束关系,所述索引值集合包括索引值;区块本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种区块链的数据查询方法,其特征在于,包括:根据查询条件,按照预设哈希算法,获得索引值集合;所述查询条件包括属性信息以及属性信息间的约束关系,所述索引值集合包括索引值;区块链中的数据记录设置了索引关系,所述索引关系包括数据记录中的属性信息与索引值之间的对应关系;其中,第一索引值是第一属性信息按照所述预设哈希算法得到的,所述第一索引值为所述索引关系中任一索引值,所述第一属性信息为所述第一索引值对应的任一属性信息;根据所述索引值集合和所述约束关系,确定候选主键集合;所述索引关系还包括数据记录中的主键与索引值之间的对应关系,其中,所述候选主键集合中的第一主键为所述第一索引值对应的任一主键;根据所述查询条件和所述候选主键集合,获取查询数据。2.如权利要求1所述的方法,其特征在于,所述根据所述查询条件和所述候选主键集合,确定查询数据,包括:针对第二主键,所述第二主键为所述候选主键集合中任一主键,根据所述第二主键、所述第二主键基于所述查询条件对应的关联信息,按照所述预设哈希算法,确定所述第二主键的关联哈希值;所述第二主键为所述索引值集合中第二索引值对应的主键;若所述关联哈希值位于所述第二索引值的关联哈希数组中,则确定所述第二主键符合所述查询条件;所述关联哈希数组中的哈希值是根据所述第二索引值对应的主键以及该主键的关联信息得到的;将符合所述查询条件的所有主键对应的数据记录,作为所述查询数据。3.如权利要求2所述的方法,其特征在于,所述属性信息分为标签类属性信息和非标签类属性信息,所述标签类属性信息按照所述预设哈希算法得到索引值的碰撞概率,小于所述非标签类属性信息按照所述预设哈希算法得到索引值的碰撞概率;针对所述查询条件中第二属性信息,若所述第二属性信息为标签类属性信息,所述第二主键基于所述查询条件对应的关联信息具体为所述第二索引值在所述查询条件中对应的所述第二属性信息;或者,若所述第二属性信息为非标签类属性信息,则所述索引值集合还包括该非标签类属性信息的二级索引值,所述第二主键基于所述查询条件对应的关联信息具体为所述第二索引值在所述索引值集合中对应的二级索引值。4.如权利要求2所述的方法,其特征在于,所述根据查询条件,按照预设哈希算法,获得索引值集合之前,还包括:针对所述区块链中任一数据记录中的第三属性信息,将所述第三属性信息按照所述预设哈希算法运算,获得所述第三属性信息对应的第三索引值;若所述第三索引值在索引关系中不存在,则将所述第三索引值添加到所述索引关系中;根据该数据记录中的第三主键和所述...

【专利技术属性】
技术研发人员:黎培珊李传庆苏小康张开翔范瑞彬
申请(专利权)人:深圳前海微众银行股份有限公司
类型:发明
国别省市:

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

1