区块链节点的数据处理方法、装置、设备和存储介质制造方法及图纸

技术编号:21059997 阅读:26 留言:0更新日期:2019-05-08 06:51
本发明专利技术实施例公开了一种区块链节点的数据处理方法、装置、设备及存储介质。该方法包括:区块链应用层在执行事务请求的过程中,产生逻辑数据处理请求,并传输给逻辑数据接口层;所述逻辑数据接口层,将所述逻辑数据处理请求映射为基于物理存储层的数据存储结构,并产生物理数据处理请求,传输给物理存储层;所述物理存储层,根据所述物理数据处理请求针对存储空间中的数据进行处理。采用本发明专利技术实施例的技术方案,逻辑数据接口层作为区块链应用层与物理存储层的中间层,能够将区块链应用层传输的不同数据形式的数据映射为基于物理存储层的数据存储结构,进而使物理存储层在数据存储结构有限的情况下,也能为区块链应用层的数据存储需求提供支持。

【技术实现步骤摘要】
区块链节点的数据处理方法、装置、设备和存储介质
本专利技术实施例涉及区块链
,尤其涉及一种区块链节点的数据处理方法、装置、设备和存储介质。
技术介绍
目前的区块链系统中包括应用层和底层数据存储系统,而底层数据存储系统所采用的底层数据存储技术有多种,其中比较广泛采用的一种就是键值对(KeyValue,简称KV)存储系统。KV存储系统在区块链系统应用层的控制下,支持区块链系统的数据读写等访问处理。在KV存储系统中,会使用到很多键值对分别存储区块链系统所需存储的各种数据。但是,受限于KV存储系统的数据存储结构,无法为应用层日益丰富的存储需求提供有效支持。
技术实现思路
本专利技术实施例提供了一种区块链节点的数据处理方法、装置、设备和存储介质,能够为应用层的数据存储需求提供丰富的支持。第一方面,本专利技术实施例提供了一种区块链节点的数据处理方法,该方法包括:区块链应用层在执行事务请求的过程中,产生逻辑数据处理请求,并传输给逻辑数据接口层;所述逻辑数据接口层,将所述逻辑数据处理请求映射为基于物理存储层的数据存储结构,并产生物理数据处理请求,传输给物理存储层;所述物理存储层,根据所述物理数据处理请求针对存储空间中的数据进行处理。第二方面,本专利技术实施例提供了一种区块链节点的数据处理装置,配置于区块链节点中,所述装置包括:应用层传输模块,用于区块链应用层在执行事务请求的过程中,产生逻辑数据处理请求,并传输给逻辑数据接口层;逻辑层传输模块,用于所述逻辑数据接口层,将所述逻辑数据处理请求映射为基于物理存储层的数据存储结构,并产生物理数据处理请求,传输给物理存储层;物理层处理模块,用于所述物理存储层,根据所述物理数据处理请求针对存储空间中的数据进行处理。第三方面,本专利技术实施例提供了一种设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本专利技术任意实施例所述的区块链节点的数据处理方法。第四方面,本专利技术实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本专利技术任意实施例所述的区块链节点的数据处理方法。本专利技术实施例提供的区块链节点的数据处理方法、装置、设备及存储介质,区块链应用层将在执行事务请求过程中所产生的逻辑数据处理请求传输至逻辑数据接口层,以使逻辑数据接口将逻辑数据处理请求映射为基于物理存储层的数据存储结构,并向物理存储层传输物理数据处理请求;物理存储层对逻辑接口层传输的物理数据处理请求进行处理,并存储。相比于现有的区块链节点的数据处理方案,本方案中逻辑数据接口层作为区块链应用层与物理存储层的中间层,能够将区块链应用层传输的不同数据形式的数据映射为基于物理存储层的数据存储结构,进而使物理存储层在数据存储结构有限的情况下,也能为区块链应用层的数据存储需求提供支持。附图说明图1为本专利技术实施例所适用的区块链节点的系统构架图;图2为本专利技术实施例一提供的一种区块链节点的数据处理方法的流程图;图3为本专利技术实施例二提供的一种区块链节点的数据处理方法的流程图;图4为本专利技术实施例三提供的一种区块链节点的数据处理方法的流程图;图5为本专利技术实施例四提供的一种区块链节点的数据处理方法的流程图;图6A为本专利技术实施例五提供的一种区块链节点的数据处理方法的流程图;图6B为本专利技术实施例五提供的文件系统基于键值对的存储结构示例图;图7为本专利技术实施例六提供的一种区块链节点的数据处理方法的流程图;图8为本专利技术实施例七提供的一种区块链节点的数据处理方法的流程图;图9为本专利技术实施例八提供的一种区块链节点的数据处理方法的流程图;图10为本专利技术实施例九提供的一种区块链节点的数据处理方法的流程图;图11为本专利技术实施例十提供的一种区块链节点的数据处理方法的流程图;图12为本专利技术实施例十一提供的一种区块链节点的数据处理装置的结构示意图;图13为本专利技术实施例十二提供的一种设备的结构示意图。具体实施方式下面结合附图和实施例对本专利技术实施例作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术实施例,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术实施例相关的部分而非全部结构。在介绍本专利技术各实施例之前,先对本专利技术实施例中系统架构及可使用的底层存储系统进行说明。如图1所示,本实施例的设备可以包括应用层,逻辑数据接口层,以及物理存储层。该设备优选是区块链节点设备。其中,应用层可以是实现任何功能的软件,需产生各种数据处理请求。优选是,应用层为实现区块链节点功能的软件,区块链应用层的软件主要功能是产生事务请求,事务请求的执行过程会产生数据处理请求。该应用层包括用于支撑区块链节点本地区块链正常运行所需部署的软件,如可以包括虚拟机以及其他与区块链相关的应用软件等。逻辑数据接口层包括实现至少一种数据处理逻辑的接口,如文件系统接口、数据结构接口和搜索引擎接口,可以用于将应用层传输的不同数据结构形式的逻辑数据处理请求映射为基于物理存储层的数据存储结构。物理存储层用于对逻辑接口层传输的物理数据处理请求进行处理,并存储。本专利技术实施例中,可选用键值对(KeyValue,简称KV)存储系统作为物理存储层,更进一步的,该KV存储系统为多版本KV存储系统。在多版本KV存储系统中,每个键值对的存储单元中包括键域(key)和值域(value)。其中,键域存储有键标识和版本标识,版本标识可以作为键域中存储内容的一部分,例如,前缀或后缀。键标识可以为能体现数据实际含义的标识,如区块标识、事务标识、或账号名称等;键值对的值域可以用于存储数据本身。版本标识用于标识该键值对是在哪个版本所对应的物理数据处理请求执行过程中所修改的。一个版本所对应的物理数据处理请求可以是一个,也可以是多个。例如,一个区块产生的过程中,会涉及多个事务请求,也会需要执行多个物理数据处理请求,如写入数据、删除数据、读取数据、更改数据等。那么可以配置为一个区块产生过程中所需执行的多个物理数据处理请求对应于一个版本标识。下一个区块则对应下一个版本标识。例如,一个区块中的事务请求为A账户向B账户转移设定数额的货币,则A账户和B账户存储账户余额的键值对,都会因为该事务请求的执行而发生变化。将A账户和B账户的账户余额的旧键值对仍然保留,并产生账户余额的新键值对,前后两个键值对的版本标识发生变化。当然,一个版本标识也可以对应于一次事务请求的处理过程,或多个区块的处理过程,可根据情况具体配置。在区块链节点中,记录键标识与各个版本标识的对应关系,区块链应用层可以通过键标识和版本标识的组合,访问到所需数据。实施例一图2为本专利技术实施例一提供的一种区块链节点的数据处理方法的流程图,本实施例可适用于对区块链节点的数据进行处理的情况,尤其适用于基于区块链节点的系统架构中的应用层、逻辑数据接口层及物理存储层之间层级递进对数据进行处理的场景。该方法可由区块链节点的数据处理装置来执行,该装置可以配置于作为区块链节点的计算机设备中,以硬件和/或软件的方式来实现。参见图2,该方法具体包括:S210,区块链应用层在执行事务请求的过程中,产生逻辑数据处理请求,并传输给逻辑数据接口层。本实施例中,事务请求可以为交易请求或其他任何本文档来自技高网...

【技术保护点】
1.一种区块链节点的数据处理方法,其特征在于,包括:区块链应用层在执行事务请求的过程中,产生逻辑数据处理请求,并传输给逻辑数据接口层;所述逻辑数据接口层,将所述逻辑数据处理请求映射为基于物理存储层的数据存储结构,并产生物理数据处理请求,传输给物理存储层;所述物理存储层,根据所述物理数据处理请求针对存储空间中的数据进行处理。

【技术特征摘要】
1.一种区块链节点的数据处理方法,其特征在于,包括:区块链应用层在执行事务请求的过程中,产生逻辑数据处理请求,并传输给逻辑数据接口层;所述逻辑数据接口层,将所述逻辑数据处理请求映射为基于物理存储层的数据存储结构,并产生物理数据处理请求,传输给物理存储层;所述物理存储层,根据所述物理数据处理请求针对存储空间中的数据进行处理。2.根据权利要求1所述的方法,其特征在于:所述物理存储层的数据存储结构为多版本键值对存储系统。3.根据权利要求2所述的方法,其特征在于,区块链应用层在执行事务请求的过程中,产生逻辑数据处理请求,并传输给逻辑数据接口层,包括:所述区块链应用层在执行事务请求的过程中,确定所述事务请求所操作的目标数据,以及目标数据的版本信息;所述区块链应用层产生用于操作所述目标数据的逻辑数据处理请求,并传输给所述逻辑数据接口层,其中,所述逻辑数据处理请求中至少包括目标数据的版本信息;相应的,所述逻辑数据接口层,将所述逻辑数据处理请求映射为基于物理存储层的数据存储结构,并产生物理数据处理请求,传输给物理存储层,包括:所述逻辑数据接口层,将所述逻辑数据处理请求映射为基于物理存储层的数据存储结构,确定目标数据的逻辑地址;所述逻辑数据接口层根据所述逻辑地址和所述版本信息,产生所述物理数据处理请求,传输给物理存储层。4.根据权利要求3所述的方法,其特征在于,所述区块链应用层在执行事务请求的过程中,确定所述事务请求所操作的目标数据,以及目标数据的版本信息,包括:所述区块链应用层调用本地虚拟机,对发起的事务请求进行预执行操作,或对接收的其他节点发起的事务请求进行执行操作,以确定所述事务请求所操作的目标数据,其中,所述事务请求为智能合约;如果对所述目标数据的操作为数据写入操作,则所述区块链应用层确定当前区块的区块标识为所述目标数据的当前版本信息;如果对所述目标数据的操作为数据更改操作或数据删除操作,则所述区块链应用层获取所述目标数据的原版本信息,以及确定当前区块的区块标识作为当前版本信息;如果对所述目标数据的操作为数据读取操作,则所述区块链应用层获取所述目标数据的原版本信息,以及确定当前区块的区块标识作为当前版本信息。5.根据权利要求4所述的方法,其特征在于,所述区块链应用层获取所述目标数据的原版本信息,包括:所述区块链应用层根据事务请求中的指定版本确定所述目标数据的原版本信息;或所述区块链应用层将所述目标数据的最近版本确定为原版本信息。6.根据权利要求5所述的方法,其特征在于,所述区块链应用层将所述目标数据的最近版本确定为原版本信息,包括:所述区块链应用层从本地存储的版本映射关系表中,查询所述目标数据最近被写入的事务请求所属区块的区块标识,作为原版本信息。7.根据权利要求3所述的方法,其特征在于,所述物理存储层,根据所述物理数据处理请求针对存储空间中的数据进行处理,包括:所述物理存储层根据所述物理数据处理请求中目标数据的版本信息确定版本标识;所述物理存储层根据所述物理数据处理请求中的逻辑地址和所述版本标识,确定目标数据的原数据所在的原物理存储单元;如果所述物理数据处理请求为数据写入、数据删除、或数据更改请求,则所述物理存储层为所述目标数据分配新物理存储单元,并在所述新物理存储单元中对原数据进行操作,且记录目标数据的当前版本标识;如果所述物理数据处理请求为数据读取请求,则所述物理存储层从所述原物理存储单元中读取原数据。8.根据权利要求3-7任一所述的方法,其特征在于:所述逻辑数据接口层包括文件系统接口、数据结构接口和/或搜索引擎接口。9.根据权利要求8所述的方法,其特征在于,所述逻辑数据接口层,将所述逻辑数据处理请求映射为基于物理存...

【专利技术属性】
技术研发人员:肖伟
申请(专利权)人:百度在线网络技术北京有限公司
类型:发明
国别省市:北京,11

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

1