非结构化数据存储方法及区块链系统技术方案

技术编号:28500587 阅读:67 留言:0更新日期:2021-05-19 22:43
一种非结构化数据存储方法及区块链系统,可应用于区块链技术领域和金融领域,所述方法包含:接收外部应用发起的智能合约交易,并获得智能合约交易获得对应的执行节点信息;当当前区块链节点为执行节点时,与区块链系统中其他区块链节点进行共识推选获得当前周期内非结构化数据管理节点和多个非结构化数据存储节点,根据共识消息获得预设的拆分备份策略;将拆分备份策略和非结构化数据提供至非结构化数据管理节点进行拆分或合并后生成数据片段和索引信息;根据数据片段生成门限加密参数;将门限加密参数和数据片段传输至对应的非结构化数据存储节点进行存储,根据非结构化数据存储节点反馈的存储结果生成交易结果;将交易结果反馈至外部应用。易结果反馈至外部应用。易结果反馈至外部应用。

【技术实现步骤摘要】
非结构化数据存储方法及区块链系统


[0001]本专利技术涉及区块链
,可应用于金融领域和数据存储领域,尤指一种非结构化数据存储方法及区块链系统。

技术介绍

[0002]近年来,随着区块链落地场景越来越多,需要上链的数据类型越来越广泛,而且区块链的上链数据持续增长不可篡改,对区块链数据存储设计提出了更高的要求。传统的区块链节点存储设计是将结构化数据存储到本地数据库,把非结构化数据放在链外存储,一般是由区块链应用方完成数据存储和管理,区块链仅在结构化数据中记录链外非结构化数据的hash,确保了链外数据不被篡改。但链外应用方存储非结构化数据的设计难以防范数据丢失的风险,数据丢失可能导致智能合约中业务逻辑无法闭环,无法防范业务风险。随着区块链应用场景越来越多,需要优化区块链本地存储机制,支持由区块链节点来管理非结构化数据的存储。

技术实现思路

[0003]本专利技术目的在于提供一种非结构化数据存储方法及区块链系统,予以对区块链系统底层存储机制优化,原来结构化数据存储在节点本地数据库的设计保留,扩展区块链节点支持管理非结构化数据存储。区块链网络周期地共识,随机选举出一个区块链节点作为非结构化数据管理节点、一个或多个区块链节点作为非结构化数据共同的存储节点。非结构化数据管理节点确认数据拆分、数据备份策略和门限加密密钥生成和分发,非结构化数据存储节点完成非结构化数据片段的实际存储和加解密,两类节点共同完成非结构化数据的存储管理。解决链外应用方存储区块链的非结构化数据的设计可能导致的数据丢失的风险,避免智能合约中业务逻辑无法闭环,有效防范区块链智能合约的业务风险。
[0004]为达上述目的,本专利技术所提供的非结构化数据存储方法,应用于区块链系统,所述方法包含:接收外部应用发起的智能合约交易,当所述智能合约交易中数据类型为非结构化数据时,获得所述智能合约交易获得对应的执行节点信息;当当前区块链节点为执行节点时,与区块链系统中其他区块链节点进行共识推选获得当前周期内非结构化数据管理节点和多个非结构化数据存储节点,并根据共识消息获得预设的非结构化数据的拆分备份策略;将所述拆分备份策略和所述非结构化数据提供至非结构化数据管理节点进行拆分或合并后生成数据片段和对应的索引信息;以及,根据所述数据片段生成门限加密参数;将所述门限加密参数和所述数据片段传输至对应的非结构化数据存储节点进行存储,根据非结构化数据存储节点反馈的存储结果生成交易结果;以及,将所述交易结果和所述索引信息广播至其他区块链节点,并将所述交易结果反馈至外部应用。
[0005]本专利技术还提供一种适用于所述的非结构化数据存储方法的区块链系统,所述系统包含多个外部应用和多个区块链节点;所述外部应用与所述区块链节点一对一通信连接;所述外部应用用于接收用户发起的智能合约交易,将所述智能合约交易上传至相连的区块
链节点;所述区块链节点用于接收所述智能合约交易,当所述智能合约交易中数据类型为非结构化数据时,获得所述智能合约交易获得对应的执行节点信息;将所述执行节点信息与当前区块链节点信息比较;当当前区块链节点为执行节点时,与区块链系统中其他区块链节点进行共识推选获得当前周期内非结构化数据管理节点和多个非结构化数据存储节点,并根据共识消息获得预设的非结构化数据的拆分备份策略;当当前区块链节点为非结构化数据管理节点,根据所述拆分备份策略和所述非结构化数据进行拆分或合并后生成数据片段和对应的索引信息;以及,根据所述数据片段生成门限加密参数;将所述门限加密参数和所述数据片段传输至对应的非结构化数据存储节点进行存储,根据非结构化数据存储节点反馈的存储结果生成交易结果;以及,将所述交易结果和所述索引信息广播至其他区块链节点,并将所述交易结果反馈至外部应用。
[0006]本专利技术还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法。
[0007]本专利技术还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述方法的计算机程序。
[0008]本专利技术的有益技术效果在于:提出的区块链节点扩展支持分布式数据库存储非结构化数据,能够解决链外应用方存储区块链的非结构化数据可能导致的数据丢失的风险,避免智能合约中业务逻辑无法闭环,有效防范区块链智能合约的业务风险。管理节点复用了区块链节点,利用了区块链共识机制来完成管理节点的选举,天然地就是分布式的结构、健壮性较高,管理节点不会出现单点故障导致非结构化存储无法对外提供服务。再者,将非结构化数据存储的关键信息上链,支持非结构化数据防篡改。将非结构化数据存储信息,含数据索引、数据哈希、数据加密存储信息等关键信息记录在区块链账本上,确保非结构化数据即使不存储在区块链节点本地也无法被恶意篡改,非结构化数据被篡改后可以被立即发现。同时,非结构化数据管理节点和非结构化数据存储节点可以复用区块链节点,减少了采购和运维新服务器的成本。由此进一步提高服务器资源的利用率。
附图说明
[0009]此处所说明的附图用来提供对本专利技术的进一步理解,构成本申请的一部分,并不构成对本专利技术的限定。在附图中:
[0010]图1A为本专利技术一实施例所提供的非结构化数据存储方法的流程示意图;
[0011]图1B为本专利技术一实施例所提供的非结构化数据存储方法应用的区块链系统的结构图;
[0012]图2为本专利技术一实施例所提供的非结构化数据存储方法的应用流程示意图;
[0013]图3为本专利技术一实施例所提供的非结构化数据的拆分流程示意图;
[0014]图4为本专利技术一实施例所提供的非结构化数据存储节点存储数据的流程示意图;
[0015]图5为本专利技术一实施例所提供的非结构化数据管理节点和非结构化数据存储节点的推选流程示意图;
[0016]图6为本专利技术一实施例所提供的共识推选的应用流程示意图;
[0017]图7为本专利技术一实施例所提供的门限密钥参数生成分发与数据加密的处理方法流程图;
[0018]图8为本专利技术一实施例所提供的查询请求反馈的应用流程示意图;
[0019]图9为本专利技术一实施例所提供的区块链节点的结构示意图;
[0020]图10为本专利技术一实施例所提供的非结构化数据管理节点的结构示意图;
[0021]图11为本专利技术一实施例所提供的非结构化数据存储节点的结构示意图;
[0022]图12为本专利技术一实施例所提供的电子设备的结构示意图。
具体实施方式
[0023]以下将结合附图及实施例来详细说明本专利技术的实施方式,借此对本专利技术如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。需要说明的是,只要不构成冲突,本专利技术中的各个实施例及各实施例中的各个特征可以相互结合,所形成的技术方案均在本专利技术的保护范围之内。
[0024]另外,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种非结构化数据存储方法,应用于区块链系统,其特征在于,所述方法包含:接收外部应用发起的智能合约交易,当所述智能合约交易中数据类型为非结构化数据时,获得所述智能合约交易获得对应的执行节点信息;当当前区块链节点为执行节点时,与区块链系统中其他区块链节点进行共识推选获得当前周期内非结构化数据管理节点和多个非结构化数据存储节点,并根据共识消息获得预设的非结构化数据的拆分备份策略;将所述拆分备份策略和所述非结构化数据提供至非结构化数据管理节点进行拆分或合并后生成数据片段和对应的索引信息;以及,根据所述数据片段生成门限加密参数;将所述门限加密参数和所述数据片段传输至对应的非结构化数据存储节点进行存储,根据非结构化数据存储节点反馈的存储结果生成交易结果;以及,将所述交易结果和所述索引信息广播至其他区块链节点,并将所述交易结果反馈至外部应用。2.根据权利要求1所述的非结构化数据存储方法,其特征在于,所述方法还包含:当当前区块链节点为非执行节点时,接收主执行节点广播的交易结果;将所述交易结果反馈至外部应用。3.根据权利要求1所述的非结构化数据存储方法,其特征在于,将所述拆分备份策略和所述非结构化数据提供至非结构化数据管理节点进行拆分或合并后生成数据片段和对应的索引信息包含:根据所述拆分备份策略中拆分配置参数和合并配置参数;对所述非结构化数据中大于拆分配置参数的文件进行拆分,以及,对所述非结构化数据中小于合并配置参数的文件进行合并生成数据片段和对应的索引信息。4.根据权利要求1所述的非结构化数据存储方法,其特征在于,将所述门限加密参数和所述数据片段传输至对应的非结构化数据存储节点进行存储包含:所述非结构化数据存储节点根据所述门限加密参数对所述数据片段进行加密并持久化到本地存储完成数据备份并反馈所述非结构化数据管理节点存储结果;所述非结构化数据管理节点将所述存储结果反馈至所述执行节点。5.根据权利要求1所述的非结构化数据存储方法,其特征在于,当当前区块链节点为执行节点时,与区块链系统中其他区块链节点进行共识推选获得当前周期内非结构化数据管理节点和多个非结构化数据存储节点包含:计算所述区块链系统中各区块链节点的活跃度,根据所述活跃度筛选获得预选管理节点;根据所述非结构化数据需要拆分的数据片段数量,通过所述活跃度再次筛选获得对应数量的预选存储节点;将所述预选管理节点和所述预选存储节点广播至所述区块链系统中其他区块链节点进行共识投票,根据共识投票结果获得当前周期内非结构化数据管理节点和多个非结构化数据存储节点。6.根据权利要求1所述的非结构化数据存储方法,其特征在于,所述方法还包含:接收区块链节点发起的查询请求,将所述查询请求传输至所述非结构化数据管理节点,通过所述非结构化数据管理节点获得文件片段组装规则和存储所述查询请求对应的非结构化数据中活跃度最高的非结构化数据存储节点;
将所述查询请求传输至活跃度最高的非结构化数据存储节点,通过活跃度最高的非结构化数据存储节点将所述查询请求广播至所述区块链系统中其他非结构化数据存储节点;根据其他非结构化数据存储节点广播的门限加密参数联合计算获得解...

【专利技术属性】
技术研发人员:李曼潇黄肇敏陈法山王志远
申请(专利权)人:中国工商银行股份有限公司
类型:发明
国别省市:

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

1