基于区块链电子交易的高效数据查询实现方法与流程

    专利2022-07-08  75

    本发明涉及一种基于区块链电子交易的高效数据查询实现方法,属于大数据检索
    技术领域
    :。
    背景技术
    ::区块链起源于比特币,通过分布式账本、共识机制、加密算法等技术,可有效解决交易中的信任问题。近年来区块链的发展趋于火热,商业应用项目爆发,但是技术仍然没有大规模被应用,只是在金融、医疗、物流等方面有部分试点。在性能、安全、可用性方面仍存在许多问题,其技术还未发展成熟。图1区块链本质上是一个去中心化的系统,是由多个区块组成的链状数据结构。每个区块分为区块头和区块体,区块头主要用来实现区块链接前一区块的哈希值,区块体主要包括交易账本。以交易场景为例,其工作流程如下:(1)客户端发起一次交易,经过数字签名后广播给网络上的其他节点并等待确认;(2)网络中的节点对收到的交易信息进行确认校验,通过校验后,数据被记录到一个区块中;(3)全网中的多有接收节点对区块执行共识算法,区块通过共识算法后正式纳入区块链中存储。交易过程中每一个发起交易的用户通过对前一次交易和下一位拥有者的公钥签署一个随机哈希的数字签名,并将这个签名附加在转移的电子货币的末尾,电子货币就发送给了下一位拥有者,收款人通过对签名进行验证,就能检验出该链条的所有者,同时为了避免电子货币进行双重支付,每次的交易都是公开的,即使用共识机制来保障。根据查询对象可以将区块链查询分为账户查询、交易查询、合约查询。区块链虽然能够支持3种类型的查询,但是随着数据规模的变大以及业务需求的上升,其查询弊端也逐渐显露,主要体现在以下几点。①查询效率低下通过上述对leveldb的叙述可知,它主要适用于写操作多,读操作少的场景。一次查询首先访问内存、然后访问缓存,最后依次查询不同level的sstable,当存储的数据量非常大的时候,这种查询效率会非常低下。并且,随着数据量的不断变大以及逐渐频繁的查询需求,这将成为查询性能的主要瓶颈。②查询功能有限大部分区块链系统仍然使用类似leveldb的key-value数据库,这种数据库本身对于大量的写是性能高的,但是它只支持基于key-value的插入和查询,不支持针对value中任意字段的查找。由于在设计之初未考虑支持分析型查询,因此没有在中间层设计索引。系统无法像传统数据库一样执行关系型查询,更无法执行top-k查询,k-nn查询等复杂分析型查询。③数据存储缺乏灵活性当前区块链中保存的数据的字段数量少,结构相对固定,查询处理逻辑简单。随着区块链应用的不断扩展,应用的数据结构也会更加复杂,但是当前的数据存储对于多样数据的存储扩展性不高。技术实现要素:本发明的技术任务是针对现有技术的不足,提供一种基于区块链电子交易的高效数据查询实现方法。本发明解决其技术问题所采用的技术方案是:基于区块链电子交易的高效数据查询实现方法,该方法包括以下步骤:1)采用etl技术将多个系统的异构数据源通过数据监听获取到,并且在数据处理后加载到数据仓库中存储到可提供丰富查询语义的数据库中,然后对存储的数据分为冷热数据进行处理;2)针对热数据:通过建立索引或者多节点备份以支持更快的查询;3)针对冷数据:将区块链数据根据存储的数据库进一步压缩处理或者少备份以达到减少存储空间的目的。进一步地,步骤2)对于热数据,采用在leveldb中添加额外索引的方式来优化查询效率,以leveldb作为主键索引,在数据存储模块中针对不同字段建立辅助索引,并通过内置索引结构设计查询层。进一步地,步骤2)查询过程分为两个阶段:2.1)将查询命令发送到查询模块,通过辅助索引确定结果的key(主键)集合;2.2)使用key值在主键索引(leveldb)上查找出结果value,并返回给客户端。进一步地,步骤2)内置索引结构设计查询层包括区块链读/写api、leveldb、一致性维护模块、通信模块、其他节点,区块链读/写api与leveldb中的查询模块相连,一致性维护模块通过通信模块连接其他节点,一致性维护模块还与辅助索引模块及区块链读/写api相连。进一步地,步骤3)针对冷数据:将区块链数据拷贝到外部数据库中,并借助外部数据库提供的功能接口设计查询层。进一步地,步骤3)对于冷数据,采用外联数据库的方法,将区块链数据拷贝到外部数据库中,并借助外部数据库提供的功能接口设计查询层。进一步地,步骤3)中采用etherql系统,将区块链上数据复制到mongodb中,然后利用mongodb执行分析查询操作。进一步地,步骤1)中数据处理包括数据提取、数据清洗、数据整理。进一步地,步骤1)中异构数据源包括区块链系统、去中心化分布式文件系统中的数据,将异构数据源中的元数据提取并录入到元数据运行库中,利用元数据管理元数据,并采用元数据库来存储元数据,形成分析结果,供数据查询模块查询,元数据运行库生成元数据对数据的记录描述。本发明的基于区块链电子交易的高效数据查询实现方法,与现有技术相比,所产生的有益效果是,本发明对区块链系统查询优化方案从两个方面入手,一是从存储数据库入手,二是建立高效的索引机制,把产生的数据通过数据监听存储到可提供丰富查询语义的数据库中,然后对存储的数据分为冷热数据处理,热数据可以通过建立索引或者多节点备份以支持更快的查询,冷数据可以根据存储的数据库进一步压缩处理或者少备份以达到减少存储空间的目的。附图说明构成本申请的一部分的说明书附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。附图1为本发明比特币系统区块结构图;附图2为本发明基于区块链电子交易查询优化方法的示意图;附图3为本发明内置索引法结构图。具体实施方式结合附图2,本发明基于区块链电子交易的高效数据查询实现方法,该方法包括以下步骤:1)采用etl技术将多个系统的异构数据源通过数据监听获取到,并且在数据处理后加载到数据仓库中存储到可提供丰富查询语义的数据库中,然后对存储的数据分为冷热数据进行处理;2)针对热数据:通过建立索引或者多节点备份以支持更快的查询;3)针对冷数据:将区块链数据根据存储的数据库进一步压缩处理或者少备份以达到减少存储空间的目的。对于上述步骤1):进一步地,步骤1)数据处理包括数据提取、数据清洗、数据整理。进一步地,步骤1)中异构数据源包括区块链系统、去中心化分布式文件系统中的数据,将异构数据源中的元数据提取并录入到元数据运行库中,利用元数据管理元数据,并采用元数据库来存储元数据,形成分析结果,供数据查询模块查询,元数据运行库生成元数据对数据的记录描述。对于上述步骤2):进一步地,步骤2)对于热数据,采用在leveldb中添加额外索引的方式来优化查询效率,以leveldb作为主键索引,在数据存储模块中针对不同字段建立辅助索引,并通过内置索引结构设计查询层。进一步地,步骤2)查询过程分为两个阶段:2.1)将查询命令发送到查询模块,通过辅助索引确定结果的key(主键)集合;2.2)使用key值在主键索引(leveldb)上查找出结果value,并返回给客户端。结合附图3,进一步地,步骤2)内置索引结构设计查询层包括区块链读/写api、leveldb、一致性维护模块、通信模块、其他节点,区块链读/写api与leveldb中的查询模块相连,一致性维护模块通过通信模块连接其他节点,一致性维护模块还与辅助索引模块及区块链读/写api相连。对于上述步骤3):进一步地,步骤3)针对冷数据:将区块链数据拷贝到外部数据库中,并借助外部数据库提供的功能接口设计查询层。进一步地,步骤3)对于冷数据,采用外联数据库的方法,将区块链数据拷贝到外部数据库中,并借助外部数据库提供的功能接口设计查询层。进一步地,步骤3)中采用etherql系统,将区块链上数据复制到mongodb中,然后利用mongodb执行分析查询操作。当前第1页1 2 3 当前第1页1 2 3 
    技术特征:

    1.基于区块链电子交易的高效数据查询实现方法,其特征在于,该方法包括以下步骤:

    1)采用etl技术将多个系统的异构数据源通过数据监听获取到,并且在数据处理后加载到数据仓库中存储到可提供丰富查询语义的数据库中,然后对存储的数据分为冷热数据进行处理;

    2)针对热数据:通过建立索引或者多节点备份以支持更快的查询;

    3)针对冷数据:将区块链数据根据存储的数据库进一步压缩处理或者少备份以达到减少存储空间的目的。

    2.根据权利要求1所述的基于区块链电子交易的高效数据查询实现方法,其特征在于,步骤2)对于热数据,采用在leveldb中添加额外索引的方式来优化查询效率,以leveldb作为主键索引,在数据存储模块中针对不同字段建立辅助索引,并通过内置索引结构设计查询层。

    3.根据权利要求2所述的基于区块链电子交易的高效数据查询实现方法,其特征在于,步骤2)查询过程分为两个阶段:

    2.1)将查询命令发送到查询模块,通过辅助索引确定结果的key(主键)集合;

    2.2)使用key值在主键索引(leveldb)上查找出结果value,并返回给客户端。

    4.根据权利要求2所述的基于区块链电子交易的高效数据查询实现方法,其特征在于,步骤2)内置索引结构设计查询层包括区块链读/写api、leveldb、一致性维护模块、通信模块、其他节点,区块链读/写api与leveldb中的查询模块相连,一致性维护模块通过通信模块连接其他节点,一致性维护模块还与辅助索引模块及区块链读/写api相连。

    5.根据权利要求1所述的基于区块链电子交易的高效数据查询实现方法,其特征在于,步骤3)针对冷数据:将区块链数据拷贝到外部数据库中,并借助外部数据库提供的功能接口设计查询层。

    6.根据权利要求5所述的基于区块链电子交易的高效数据查询实现方法,其特征在于,步骤3)对于冷数据,采用外联数据库的方法,将区块链数据拷贝到外部数据库中,并借助外部数据库提供的功能接口设计查询层。

    7.根据权利要求3所述的基于区块链电子交易的高效数据查询实现方法,其特征在于,步骤3)中采用etherql系统,将区块链上数据复制到mongodb中,然后利用mongodb执行分析查询操作。

    8.根据权利要求1所述的基于区块链电子交易的高效数据查询实现方法,其特征在于,步骤1)中数据处理包括数据提取、数据清洗、数据整理。

    9.根据权利要求1所述的基于区块链电子交易的高效数据查询实现方法,其特征在于,步骤1)中异构数据源包括区块链系统、去中心化分布式文件系统中的数据,将异构数据源中的元数据提取并录入到元数据运行库中,利用元数据管理元数据,并采用元数据库来存储元数据,形成分析结果,供数据查询模块查询,元数据运行库生成元数据对数据的记录描述。

    技术总结
    本发明提供一种基于区块链电子交易的高效数据查询实现方法,该方法包括以下步骤:1)采用ETL技术将多个系统的异构数据源通过数据监听获取到,并且在数据处理后加载到数据仓库中存储到可提供丰富查询语义的数据库中,然后对存储的数据分为冷热数据进行处理;2)针对热数据:通过建立索引或者多节点备份以支持更快的查询;3)针对冷数据:将数据根据存储的数据库进一步压缩处理或者少备份以达到减少存储空间的目的。本发明对区块链系统查询优化方案从两个方面入手,一是从存储数据库入手,二是建立高效的索引机制,把产生的数据通过数据监听存储到可提供丰富查询语义的数据库中,提高了查询效率、扩展了查询功能、增强了数据存储的灵活性。

    技术研发人员:戴鸿君
    受保护的技术使用者:济南浪潮高新科技投资发展有限公司
    技术研发日:2020.12.02
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-22047.html

    最新回复(0)