区块链数据存储方法和装置与流程

文档序号:22178233发布日期:2020-09-11 21:34阅读:208来源:国知局
区块链数据存储方法和装置与流程

本申请涉及区块链数据存储领域,具体而言,涉及一种区块链数据存储方法和装置。



背景技术:

大数据应用成败的关键因素之一,是如何打破现有各利益方的数据孤岛,形成开放的数据共享生态系统。区块链作为一种不可篡改的、全历史记录的分布式数据库存储技术,提供了低成本的数据互联和共享解决方案,可实现数据的完整、可追溯、不可篡改并多方可信任的数据历史,形成多方信任的数据链条。目前区块链技术成熟度不足以支撑业务应用,最大问题是数据存储1)无法承载大数据处理能力。链上仅存储概要信息,支持基本的区块和交易查询,2)不足以支持对数据的精细检索。3)如果数据全量上链,对于每个节点存储能力需求高,全链实现代价大。此外,基于交易的键值存储中,关联信息会分散在多个交易中,查询时常需要遍历多个交易,会导致4)链上操作效率极低、查询速度慢。

针对相关技术中,区块链的数据存储效率低、存储利用率低的技术问题,目前尚未提出解决方案。



技术实现要素:

本申请的主要目的在于提供一种区块链数据存储方法和装置,以解决相关技术中区块链的数据存储效率低、存储利用率低的技术问题。

为了实现上述目的,第一方面,本申请提供了一种区块链数据存储方法。

根据本申请的区块链数据存储方法包括:响应于获取到交易数据,区块链轻节点对交易数据进行处理,并将处理后的交易数据通过轻节点的数据接口提交至区块链网络中;响应于区块链全节点的数据接口接收到所述交易数据,区块链全节点对所述交易数据进行处理,并将处理后的交易数据发送至区块链中共识验证节点;响应于区块链共识验证节点的验证结果指示验证通过,区块链全节点存储并广播通过共识验证的区块;区块链轻节点更新对所述交易数据的存储方式。

在一些实施例中,方法还包括:区块链轻节点对所述交易数据进行处理,并将处理后的交易数据通过轻节点的数据接口提交至区块链网络中包括:响应于获取到交易数据,区块链轻节点对所述交易数据进行密钥签名生成提交至区块链网络中需验证的签名串和签名地址;将签名后的交易数据通过轻节点的数据接口提交至区块链网络中。

在一些实施例中,响应于区块链全节点的数据接口接收到所述交易数据,区块链全节点对所述交易数据进行共识验证包括:响应于区块链全节点的数据接口接收到所述交易数据,区块链全节点对所述交易数据进行打包;将打包后的所述交易数据发送至区块链中共识验证节点。

在一些实施例中,响应于区块链共识验证节点的验证结果指示验证通过,区块链全节点存储并广播通过共识验证的区块包括:提取所述通过共识验证的区块的交易数据的元数据,将所述元数据存储至区块链数据库中;存储所述处理后的交易数据至区块链中,并生成访问路径;采用键值存储所述元数据;广播通过共识验证的区块。

在一些实施例中,区块链轻节点更新对所述交易数据的存储方式,包括:区块链轻节点更新所述交易数据的键值和存储路径。

第二方面,本申请还提供了一种区块链数据存储装置,包括:轻节点处理单元,被配置成响应于获取到交易数据,区块链轻节点对所述交易数据进行处理,并将处理后的交易数据通过轻节点的数据接口提交至区块链网络中;全节点处理单元,被配置成响应于区块链全节点的数据接口接收到所述交易数据,区块链全节点对所述交易数据进行处理,并将处理后的交易数据发送至区块链中共识验证节点;共识单元,响应于区块链共识验证节点的验证结果指示验证通过,区块链全节点存储并广播通过共识验证的区块;更新单元,区块链轻节点更新对所述交易数据的存储方式。

在一些实施例中,装置还包括:装置还包括:检索单元,被配置成响应于接收到数据检索请求,从区块链中获取通过验证的交易数据。

在一些实施例中,全节点处理单元进一步被配置成:响应于获取到交易数据,区块链轻节点对所述交易数据进行密钥签名生成提交至区块链网络中需验证的签名串和签名地址;将签名后的交易数据通过轻节点的数据接口提交至区块链网络中。

在一些实施例中,共识单元进一步被配置成:提取所述通过共识验证的区块的交易数据的元数据,将所述元数据存储至区块链数据库中;存储所述处理后的交易数据至区块链中,并生成访问路径;采用键值存储所述元数据;广播通过共识验证的区块。

在一些实施例中,更新单元进一步被配置成:区块链轻节点更新所述交易数据的键值和存储路径。

在本申请实施例中,提供一种区块链数据存储方法和装置,通过响应于获取到交易数据,区块链轻节点对所述交易数据进行处理,并将处理后的交易数据通过轻节点的数据接口提交至区块链网络中;响应于区块链全节点的数据接口接收到交易数据,区块链全节点对所述交易数据进行处理,并将处理后的交易数据发送至区块链中共识验证节点;响应于区块链共识验证节点的验证结果指示验证通过,区块链全节点存储并广播通过共识验证的区块;区块链轻节点更新对所述交易数据的存储方式。进而解决相关技术中区块链的数据存储效率低、存储利用率低的技术问题的技术问题。

附图说明

构成本申请的一部分的附图用来提供对本申请的进一步理解,使得本申请的其它特征、目的和优点变得更明显。本申请的示意性实施例附图及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1是根据本申请实施例提供的一种区块链数据存储方法的流程图;

图2是根据本申请又一实施例提供的一种区块链数据存储方法的流程图;

图3是根据本申请实施例提供的一种区块链数据存储装置的结构图。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。

需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

并且,上述部分术语除了可以用于表示方位或位置关系以外,还可能用于表示其他含义,例如术语“上”在某些情况下也可能用于表示某种依附关系或连接关系。对于本领域普通技术人员而言,可以根据具体情况理解这些术语在本申请中的具体含义。

另外,术语“多个”的含义应为两个以及两个以上。

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。

图1示出了区块链数据存储方法的一种实施例,包括:

步骤101,响应于获取到交易数据,区块链轻节点对所述交易数据进行处理,并将处理后的交易数据通过轻节点的数据接口提交至区块链网络中。

在本实施例一些可选的实现方式中,区块链轻节点对所述交易数据进行处理,并将处理后的交易数据通过轻节点的数据接口提交至区块链网络中包括:响应于获取到交易数据,区块链轻节点对所述交易数据进行密钥签名生成提交至区块链网络中需验证的签名串和签名地址;将签名后的交易数据通过轻节点的数据接口提交至区块链网络中。

在本实施例中,轻节点可采用键值存储基本区块信息,链接分布式文件位置,通过api数据接口访问交易数据(账本数据)。区块链的轻节点可以通过数据接口提交交易数据到区块链网络,并可通过查询接口访问验证数据。轻节点获取交易数据,用自身密钥签名,通过数据接口提交。轻节点获取后通过数据接口获取生成提交时需验证的签名串和签名地址,使用所提供签名地址的私钥对签名串做签名,将结果放到接口中提交。

执行主体或其他处理设备均可对待达成共识的网络探测结果信息进行解析,得到待达成共识的网络探测结果信息的第一属性信息,例如,可以是表明可被预先划分的区块链区域进行处理的区域化特性信息,而后根据该第一属性信息确定共识处理区域。

步骤102,响应于区块链全节点的数据接口接收到所述交易数据,区块链全节点对所述交易数据进行处理,并将处理后的交易数据发送至区块链中共识验证节点。

作为本实施例一种可选的实现方式,响应于区块链全节点的数据接口接收到所述交易数据,区块链全节点对所述交易数据进行共识验证包括:响应于区块链全节点的数据接口接收到所述交易数据,区块链全节点对所述交易数据进行打包;将打包后的所述交易数据发送至区块链中共识验证节点。

在本实施例中,对于全节点上的数据管理可以采用关系数据库管理区块头和交易具体信息,支持采用公钥、签名、时间戳、序列号等的有效检索。采用键值存储管理区块、交易、状态序列号,维护区块数据。全节点通过数据接口接收数据,使用共识机制进行共识验证。存储区块并维护全量数据账本,维护分布式文件系统,提供数据查询接口,返回验证数据。

步骤103,响应于区块链共识验证节点的验证结果指示验证通过,区块链全节点存储并广播通过共识验证的区块;

作为本实施例一种可选的实现方式,响应于区块链共识验证节点的验证结果指示验证通过,区块链全节点存储并广播通过共识验证的区块包括:提取通过共识验证的区块的交易数据的元数据,将所述元数据存储至区块链数据库中;存储所述处理后的交易数据至区块链中,并生成访问路径;采用键值存储所述元数据;广播通过共识验证的区块。

在本实施例中,全节点在分布式文件系统中存储通过共识验证的区块,包括:提取详细区块元数据,存储在关系数据库系统中;交易详细数据存储在分布式文件系统,生成文件唯一访问路径;采用键值存储交易元数据,维护账本信息;广播区块,提供数据访问接口。

步骤104,区块链轻节点更新对交易数据的存储方式。

作为本实施例一种可选的实现方式,区块链轻节点更新对所述交易数据的存储方式,包括:区块链轻节点更新交易数据的键值和存储路径。

在本实施中,轻节点通过区块链网络获取广播区块,更新本地键值存储和文件存储路径。

本实施例区块链数据存储方法,通过响应于获取到交易数据,区块链轻节点对所述交易数据进行处理,并将处理后的交易数据通过轻节点的数据接口提交至区块链网络中;响应于区块链全节点的数据接口接收到所述交易数据,区块链全节点对所述交易数据进行处理,并将处理后的交易数据发送至区块链中共识验证节点;响应于区块链共识验证节点的验证结果指示验证通过,区块链全节点存储并广播通过共识验证的区块;区块链轻节点更新对所述交易数据的存储方式。从而不需要区块链每个节点维护全部账本数据,而是在链中具有资源的全节点做全量存储,实现账本存储和区块存储的分离,避免各个节点维护全部账本的存储代价大问题;数据存储的请求通过服务接口对各节点开放,数据访问更加灵活;大大提高了数据的存储效率提高了存储的利用效率。

参考图2,图2示出了区块链数据存储方法的一种实施例,包括:

步骤201,响应于获取到交易数据,区块链轻节点对所述交易数据进行处理,并将处理后的交易数据通过轻节点的数据接口提交至区块链网络中。

在本实施例一些可选的实现方式中,区块链轻节点对所述交易数据进行处理,并将处理后的交易数据通过轻节点的数据接口提交至区块链网络中包括:响应于获取到交易数据,区块链轻节点对所述交易数据进行密钥签名生成提交至区块链网络中需验证的签名串和签名地址;将签名后的交易数据通过轻节点的数据接口提交至区块链网络中。

在本实施例中,轻节点可采用键值存储基本区块信息,链接分布式文件位置,通过api数据接口访问交易数据(账本数据)。区块链的轻节点可以通过数据接口提交交易数据到区块链网络,并可通过查询接口访问验证数据。轻节点获取交易数据,用自身密钥签名,通过数据接口提交。轻节点获取后通过数据接口获取生成提交时需验证的签名串和签名地址,使用所提供签名地址的私钥对签名串做签名,将结果放到接口中提交。

执行主体或其他处理设备均可对待达成共识的网络探测结果信息进行解析,得到待达成共识的网络探测结果信息的第一属性信息,例如,可以是表明可被预先划分的区块链区域进行处理的区域化特性信息,而后根据该第一属性信息确定共识处理区域。

步骤202,响应于区块链全节点的数据接口接收到所述交易数据,区块链全节点对所述交易数据进行处理,并将处理后的交易数据发送至区块链中共识验证节点。

作为本实施例一种可选的实现方式,响应于区块链全节点的数据接口接收到所述交易数据,区块链全节点对所述交易数据进行共识验证包括:响应于区块链全节点的数据接口接收到所述交易数据,区块链全节点对所述交易数据进行打包;将打包后的所述交易数据发送至区块链中共识验证节点。

在本实施例中,对于全节点上的数据管理可以采用关系数据库管理区块头和交易具体信息,支持采用公钥、签名、时间戳、序列号等的有效检索。采用键值存储管理区块、交易、状态序列号,维护区块数据。全节点通过数据接口接收数据,使用共识机制进行共识验证。存储区块并维护全量数据账本,维护分布式文件系统,提供数据查询接口,返回验证数据。

步骤203,响应于区块链共识验证节点的验证结果指示验证通过,区块链全节点存储并广播通过共识验证的区块;

作为本实施例一种可选的实现方式,响应于区块链共识验证节点的验证结果指示验证通过,区块链全节点存储并广播通过共识验证的区块包括:提取通过共识验证的区块的交易数据的元数据,将所述元数据存储至区块链数据库中;存储所述处理后的交易数据至区块链中,并生成访问路径;采用键值存储所述元数据;广播通过共识验证的区块。

在本实施例中,全节点在分布式文件系统中存储通过共识验证的区块,包括:提取详细区块元数据,存储在关系数据库系统中;交易详细数据存储在分布式文件系统,生成文件唯一访问路径;采用键值存储交易元数据,维护账本信息;广播区块,提供数据访问接口。

步骤204,区块链轻节点更新对交易数据的存储方式。

作为本实施例一种可选的实现方式,区块链轻节点更新对所述交易数据的存储方式,包括:区块链轻节点更新交易数据的键值和存储路径。

在本实施中,轻节点通过区块链网络获取广播区块,更新本地键值存储和文件存储路径。

步骤205,响应于接收到数据检索请求,从区块链中获取通过验证的交易数据。

在本实施例中,区块链可以包括或者外接大数据系统,而后可以通过区块链数据访问接口检索数据。应用通过数据接口获取生成提交时需验证的签名串和签名地址,使用所提供签名地址的私钥对签名串做签名,在接口中提交数据检索请求。区块链存储响应检索需求,从基于关系数据库的账本元数据检索全量数据存储,获取分布式文件系统文件。实时推送数据推送到大数据平台的待处理消息队列。应用通过消息队列插件读取待处理消息队列数据,逐个读取并进行解析,提供给应用。支持区块链作为大数据存储的统一数据结构和接口,不影响现有应用架构,架构部署方式灵活,提高了数据查询效率,并支持业务特定元数据模式管理,提升区块链与业务的结合效率。

上述针对区块链数据检索需求,上述实施例中的存储方法采用轻节点和全节点的设计,实现账本存储和区块存储的存储逻辑分离,可精细全量快速检索区块链全量数据,支持区块链作为大数据存储的统一数据结构和接口,满足具体应用对性能、功能上要求。

参考图3,图3示出了区块链数据存储装置的一种实施例,装置包括:

轻节点处理单元301,可被配置成响应于获取到交易数据,区块链轻节点对所述交易数据进行处理,并将处理后的交易数据通过轻节点的数据接口提交至区块链网络中。

全节点处理单元302,被配置成响应于区块链全节点的数据接口接收到所述交易数据,区块链全节点对所述交易数据进行处理,并将处理后的交易数据发送至区块链中共识验证节点。

作为本实施例一种可选的实现方式,全节点处理单元进一步被配置成:响应于获取到交易数据,区块链轻节点对所述交易数据进行密钥签名生成提交至区块链网络中需验证的签名串和签名地址;将签名后的交易数据通过轻节点的数据接口提交至区块链网络中。

共识单元303,被配置成响应于区块链共识验证节点的验证结果指示验证通过,区块链全节点存储并广播通过共识验证的区块。

作为本实施例一种可选的实现方式,共识单元进一步被配置成:提取所述通过共识验证的区块的交易数据的元数据,将所述元数据存储至区块链数据库中;存储所述处理后的交易数据至区块链中,并生成访问路径;采用键值存储所述元数据;广播通过共识验证的区块。

更新单元304,被配置成区块链轻节点更新对所述交易数据的存储方式。

作为本实施例一种可选的实现方式,更新单元进一步被配置成:区块链轻节点更新所述交易数据的键值和存储路径。

上述实施例存储装置采用轻节点和全节点的设计,实现账本存储(交易数据)和区块存储的存储逻辑分离,可精细全量快速检索区块链全量数据,支持区块链作为大数据存储的统一数据结构和接口,满足具体应用对性能、功能上要求。

以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1