基于区块链的数据存储、查询方法及装置和电子设备制造方法及图纸

技术编号:22166645 阅读:24 留言:0更新日期:2019-09-21 10:28
本说明书实施例提供一种基于区块链的数据存储方法及装置和电子设备,所述方法包括:分布式存储系统的存储节点设备接收请求方提交的存储目标数据的请求;存储所述目标数据;针对所述目标数据,计算所述目标数据的哈希指针;将所述哈希指针打包为用于所述区块链的交易,并将所述交易发送给所述区块链的区块节点设备,以使所述区块节点设备响应所述交易,存证所述目标数据的哈希指针。

Block Chain-based Data Storage, Query Method and Devices and Electronic Equipment

【技术实现步骤摘要】
基于区块链的数据存储、查询方法及装置和电子设备
本说明书实施例涉及区块链
,尤其涉及一种基于区块链的数据存储、查询方法及装置和电子设备。
技术介绍
区块链技术,也被称之为分布式账本技术,是一种由若干台计算设备共同参与“记账”,共同维护一份完整的分布式数据库的新兴技术。由于区块链技术具有去中心化、公开透明、每台计算设备可以参与数据库记录、并且各计算设备之间可以快速的进行数据同步的特性,使得区块链技术在众多的领域中广泛的进行应用。
技术实现思路
本说明书实施例提供的一种基于区块链的数据存储、查询方法及装置和电子设备:根据本说明书实施例的第一方面,提供一种基于区块链的数据存储方法,所述方法包括:分布式存储系统的存储节点设备接收请求方提交的存储目标数据的请求;存储所述目标数据;针对所述目标数据,计算所述目标数据的哈希指针;将所述哈希指针打包为用于所述区块链的交易,并将所述交易发送给所述区块链的区块节点设备,以使所述区块节点设备响应所述交易,存证所述目标数据的哈希指针。可选的,所述存储节点设备与所述区块节点设备之间具有对应关系;所述将所述交易发送给所述区块链的区块节点设备,包括:将所述交易发送给所述区块链中该存储节点设备对应的区块节点设备。可选的,在存储所述目标数据之前,所述方法还包括:对所述目标数据进行校验;所述存储所述目标数据,具体包括:在校验通过的情况下,存储所述目标数据。可选的,对所述目标数据进行校验,具体包括:对所述目标数据的数据结构进行有效性校验;或者,对所述目标数据的结构体中数据进行有效性校验;或者,对所述请求中携带的签名进行有效性校验。可选的,所述哈希指针,具体包括:针对所述目标数据的内容进行哈希计算后得到的哈希值。根据本说明书实施例的第二方面,提供一种基于区块链的数据查询方法,所述区块链中的数据通过上述任一项基于区块链的数据存储方法存证,所述方法包括:区块链的区块节点设备接收请求方提交的用于查询目标数据的交易;其中,所述交易中携带有哈希指针;响应所述交易,查询所述区块链中是否存证了所述哈希指针;在所述区块链中存证了所述哈希指针后,向分布式存储系统获取所述哈希指针对应的目标数据;将所述分布式存储系统返回的所述哈希指针对应的目标数据反馈给所述请求方。可选的,向分布式存储系统获取所述哈希指针对应的目标数据,具体包括:调用发布于区块链的智能合约,将所述哈希指针发送给所述分布式存储系统中的存储节点设备;以使所述存储节点设备查询并反馈所述哈希指针对应的目标数据。可选的,所述存储节点设备与所述区块节点设备之间具有对应关系;所述将所述哈希指针发送给所述分布式存储系统中的存储节点设备,包括:将所述哈希指针发送给所述分布式存储系统中该区块节点设备对应的存储节点设备。可选的,所述存储节点设备查询所述哈希指针对应的目标数据,具体包括:计算存储节点设备中存储数据的哈希指针;将与所述哈希指针相同的存储数据确定为目标数据。可选的,所述哈希指针,具体包括:针对所述目标数据的哈希计算得到的哈希值。根据本说明书实施例的第三方面,提供一种基于区块链的数据存储装置,所述装置包括:接收单元,分布式存储系统的存储节点设备接收请求方提交的存储目标数据的请求;存储单元,存储所述目标数据;计算单元,针对所述目标数据,计算所述目标数据的哈希指针;发送单元,将所述哈希指针打包为用于所述区块链的交易,并将所述交易发送给所述区块链的区块节点设备,以使所述区块节点设备响应所述交易,存证所述目标数据的哈希指针。可选的,所述存储节点设备与所述区块节点设备之间具有对应关系;所述发送单元中,将所述交易发送给所述区块链的区块节点设备,包括:将所述交易发送给所述区块链中该存储节点设备对应的区块节点设备。可选的,在所述存储单元之前,所述装置还包括:校验单元,对所述目标数据进行校验;所述存储单元,具体包括:在校验通过的情况下,存储所述目标数据。可选的,所述校验单元,具体包括:对所述目标数据的数据结构进行有效性校验;或者,对所述目标数据的结构体中数据进行有效性校验;或者,对所述请求中携带的签名进行有效性校验。可选的,所述哈希指针,具体包括:针对所述目标数据的内容进行哈希计算后得到的哈希值。根据本说明书实施例的第四方面,提供一种基于区块链的数据查询装置,所述区块链中的数据通过上述任一项基于区块链的数据存储方法存证,所述装置包括:接收单元,区块链的区块节点设备接收请求方提交的用于查询目标数据的交易;其中,所述交易包含哈希指针;响应单元,响应所述交易,查询所述区块链中是否存证了所述哈希指针;查询单元,在所述区块链中存证了所述哈希指针后,向分布式存储系统获取所述哈希指针对应的目标数据;反馈单元,将所述分布式存储系统返回的所述哈希指针对应的目标数据反馈给所述请求方。可选的,所述查询单元中向分布式存储系统获取所述哈希指针对应的目标数据,具体包括:调用发布于区块链的智能合约,将所述哈希指针发送给所述分布式存储系统中的存储节点设备;以使所述存储节点设备查询并反馈所述哈希指针对应的目标数据。可选的,所述存储节点设备与所述区块节点设备之间具有对应关系;所述查询单元中向分布式存储系统获取所述哈希指针对应的目标数据,包括:向所述分布式存储系统中该区块节点设备对应的存储节点设备获取所述哈希指针对应的目标数据。可选的,所述存储节点设备查询所述哈希指针对应的目标数据,具体包括:计算存储节点设备中存储数据的哈希指针;将与所述哈希指针相同的存储数据确定为目标数据。可选的,所述哈希指针,具体包括:针对所述目标数据的哈希计算得到的哈希值。根据本说明书实施例的第五方面,提供一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为上述任一项基于区块链的数据存储方法。根据本说明书实施例的第六方面,提供一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为上述任一项基于区块链的数据查询方法。本说明书实施例,提供了一种基于区块链的数据存储方案,由外部(相当对区块链系统)的分布式存储系统存储原始的目标数据,并根据该目标数据生成唯一的哈希指针;区块链上实际不直接存储目标数据,而是仅存储目标数据的哈希指针。相对应的,本说明书还提供了一种基于区块链的数据查询方案,区块链的区块节点设备在响应数据查询的交易时,首先查询区块链中是否存在该交易中包含的哈希指针,如果存在说明待查询的目标数据存在,进而向前述的分布式存储系统获取该哈希指针对应的目标数据,将从分布式存储系统获取到的目标数据返回给请求方。如此,通过将目标数据存储到分布式存储系统,可以降低区块链中存储的数据量。附图说明图1是传统区块链的区块结构示意图;图2是本说明书一实施例提供的基于区块链的数据存储方法的流程图;图3是本说明书一实施例提供的数据存储的系统架构图;图4是本说明书一实施例提供的区块链的区块结构示意图;图5是本说明书一实施例提供的区块节点设备与存储节点设备对应关系的示意图;图6是本说明书一实施例提供的基于区块链的数据查询方法的流程图;图7是本说明书一实施例提供的基于区块链的数据存储装置的硬件结构图;图8是本说明书一实施例提供的基于区块链的数据存储装置的模块示意图;图9是本说明书一实施例提供本文档来自技高网...

【技术保护点】
1.一种基于区块链的数据存储方法,所述方法包括:分布式存储系统的存储节点设备接收请求方提交的存储目标数据的请求;存储所述目标数据;针对所述目标数据,计算所述目标数据的哈希指针;将所述哈希指针打包为用于所述区块链的交易,并将所述交易发送给所述区块链的区块节点设备,以使所述区块节点设备响应所述交易,存证所述目标数据的哈希指针。

【技术特征摘要】
1.一种基于区块链的数据存储方法,所述方法包括:分布式存储系统的存储节点设备接收请求方提交的存储目标数据的请求;存储所述目标数据;针对所述目标数据,计算所述目标数据的哈希指针;将所述哈希指针打包为用于所述区块链的交易,并将所述交易发送给所述区块链的区块节点设备,以使所述区块节点设备响应所述交易,存证所述目标数据的哈希指针。2.根据权利要求1所述的方法,所述存储节点设备与所述区块节点设备之间具有对应关系;所述将所述交易发送给所述区块链的区块节点设备,包括:将所述交易发送给所述区块链中该存储节点设备对应的区块节点设备。3.根据权利要求1所述的方法,在存储所述目标数据之前,所述方法还包括:对所述目标数据进行校验;所述存储所述目标数据,具体包括:在校验通过的情况下,存储所述目标数据。4.根据权利要求3所述的方法,对所述目标数据进行校验,具体包括:对所述目标数据的数据结构进行有效性校验;或者,对所述目标数据的结构体中数据进行有效性校验;或者,对所述请求中携带的签名进行有效性校验。5.根据权利要求1所述的方法,所述哈希指针,具体包括:针对所述目标数据的内容进行哈希计算后得到的哈希值。6.一种基于区块链的数据查询方法,所述区块链中的数据通过权利要求1-5中任一项方法存证,所述方法包括:区块链的区块节点设备接收请求方提交的用于查询目标数据的交易;其中,所述交易中携带有哈希指针;响应所述交易,查询所述区块链中是否存证了所述哈希指针;在所述区块链中存证了所述哈希指针后,向分布式存储系统获取所述哈希指针对应的目标数据;将所述分布式存储系统返回的所述哈希指针对应的目标数据反馈给所述请求方。7.根据权利要求6所述的方法,向分布式存储系统获取所述哈希指针对应的目标数据,具体包括:调用发布于区块链的智能合约,将所述哈希指针发送给所述分布式存储系统中的存储节点设备;以使所述存储节点设备查询并反馈所述哈希指针对应的目标数据。8.根据权利要求7所述的方法,所述存储节点设备与所述区块节点设备之间具有对应关系;所述将所述哈希指针发送给所述分布式存储系统中的存储节点设备,包括:将所述哈希指针发送给所述分布式存储系统中该区块节点设备对应的存储节点设备。9.根据权利要求6所述的方法,所述存储节点设备查询所述哈希指针对应的目标数据,具体包括:计算存储节点设备中存储数据的哈希指针;将与所述哈希指针相同的存储数据确定为目标数据。10.根据权利要求9所述的方法,所述哈希指针,具体包括:针对所述目标数据的哈希计算得到的哈希值。11.一种基于区块链的数据存储装置,所述装置包括:接收单元,分布式存储系统的存储节点设备接收请求方提交的存储目标数据的请求;存储单元,...

【专利技术属性】
技术研发人员:冯志远李艳鹏程龙
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

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

1