CN109684335B - 基于键值对的数据结构实现方法、装置、设备和存储介质 - Google Patents
基于键值对的数据结构实现方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN109684335B CN109684335B CN201811604178.1A CN201811604178A CN109684335B CN 109684335 B CN109684335 B CN 109684335B CN 201811604178 A CN201811604178 A CN 201811604178A CN 109684335 B CN109684335 B CN 109684335B
- Authority
- CN
- China
- Prior art keywords
- data
- key
- data structure
- value pair
- data processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种基于键值对的数据结构实现方法、装置、设备及存储介质。该方法包括:数据结构接口获取应用层的逻辑数据处理请求,其中,所述逻辑数据处理请求用于操作以数据结构存储的数据;所述数据结构接口根据数据结构与键值对的映射关系,确定所述逻辑数据处理请求的目标数据的键值对的逻辑地址;所述数据结构接口根据所述逻辑地址,对所述目标数据进行数据处理操作。采用本发明实施例的技术方案,数据结构接口能够将不同形式的数据结构转换为键值对,从而与物理存储层中所存储的数据对应的键值对建立了关联,实现了基于键值对数据结构的管理方式,也为区块链应用层对于数据结构形式的数据存储需求提供了支持。
Description
技术领域
本发明实施例涉及数据存储技术领域,尤其涉及一种基于键值对的数据结构实现方法、装置、设备和存储介质。
背景技术
目前的区块链***中包括应用层和底层数据存储***,而底层数据存储***所采用的底层数据存储技术有多种,其中比较广泛采用的一种就是键值对(Key Value,简称KV)存储***。KV存储***在区块链***应用层的控制下,支持区块链***的数据读写等访问处理。
在KV存储***中,会使用到很多键值对分别存储区块链***所需存储的各种数据。但是,受限于KV存储***的数据存储结构,无法为应用层日益丰富的存储需求提供有效支持。典型的是,目前人们都比较习惯使用数据结构(如数组、链表等)来管理数据,但是KV存储***无法支持数据结构的管理方式。
发明内容
本发明实施例提供了一种基于键值对的数据结构实现方法、装置、设备和存储介质,从而通过KV存储***来支持区块链中的数据结构管理方式。
第一方面,本发明实施例提供了一种基于键值对的数据结构实现方法,应用于区块链节点,该方法包括:
数据结构接口获取应用层的逻辑数据处理请求,其中,所述逻辑数据处理请求用于操作以数据结构存储的数据;
所述数据结构接口根据数据结构与键值对的映射关系,确定所述逻辑数据处理请求的目标数据的键值对的逻辑地址;
所述数据结构接口根据所述逻辑地址,对所述目标数据进行数据处理操作。
第二方面,本发明实施例提供了一种基于键值对的数据结构实现装置,配置于区块链节点的数据结构接口中,所述装置包括:
逻辑请求获取模块,用于获取应用层的逻辑数据处理请求,其中,所述逻辑数据处理请求用于操作以数据结构存储的数据;
逻辑地址确定模块,用于根据数据结构与键值对的映射关系,确定所述逻辑数据处理请求的目标数据的键值对的逻辑地址;
数据处理模块,用于根据所述逻辑地址,对所述目标数据进行数据处理操作。
第三方面,本发明实施例提供了一种设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明任意实施例所述的基于键值对的数据结构实现方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明任意实施例所述的基于键值对的数据结构实现方法。
本发明实施例提供的基于键值对的数据结构实现方法、装置、设备及存储介质,数据结构接口获取到应用层传输的用于操作数据结构的逻辑数据处理请求后,可以根据数据结构与键值对的映射关系,确定逻辑数据处理请求的目标数据的键值对的逻辑地址;而后根据逻辑地址对目标数据进行处理。本方案,数据结构接口能够将不同形式的数据结构转换为键值对,从而与物理存储层中所存储的数据对应的键值对建立了关联,实现了基于键值对数据结构的管理方式,也为区块链应用层对于数据结构形式的数据存储需求提供了支持。
附图说明
图1为本发明实施例所适用的区块链节点的***构架图;
图2为本发明实施例一提供的一种基于键值对的数据结构实现方法的流程图;
图3为本发明实施例二提供的一种基于键值对的数据结构实现方法的流程图;
图4为本发明实施例三提供的一种基于键值对的数据结构实现方法的流程图;
图5为本发明实施例四提供的一种基于键值对的数据结构实现方法的流程图;
图6为本发明实施例五提供的一种基于键值对的数据结构实现方法的流程图;
图7为本发明实施例六提供的一种基于键值对的数据结构实现方法的流程图;
图8为本发明实施例七提供的一种基于键值对的数据结构实现装置的结构示意图;
图9为本发明实施例八提供的一种设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明实施例作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明实施例,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明实施例相关的部分而非全部结构。
在介绍本发明各实施例之前,先对本发明实施例中***架构及可使用的底层存储***进行说明。如图1所示,本实施例的设备可以包括应用层,逻辑数据接口层,以及物理存储层。该设备优选是区块链节点设备。
其中,应用层可以是实现任何功能的软件,需产生各种数据处理请求。优选是,应用层为实现区块链节点功能的软件,区块链应用层的软件主要功能是产生事务请求,事务请求的执行过程会产生数据处理请求。该应用层包括用于支撑区块链节点本地区块链正常运行所需部署的软件,如可以包括虚拟机以及其他与区块链相关的应用软件等。
逻辑数据接口层包括实现至少一种数据处理逻辑的接口,如文件***接口、数据结构接口和搜索引擎接口,可以用于将应用层传输的不同数据形式(如文件形式、数据结构形式或搜索语句形式等)的逻辑数据处理请求映射为基于物理存储层的数据存储结构。本实施例重点介绍逻辑数据接口层中的数据结构接口对数据结构形式的逻辑数据处理请求的处理情况。
物理存储层用于对逻辑接口层传输的物理数据处理请求进行处理,并存储。本发明实施例中,可选用键值对(Key Value,简称KV)存储***作为物理存储层,更进一步的,该KV存储***为多版本KV存储***。
在多版本KV存储***中,每个键值对的存储单元中包括键域(key)和值域(value)。其中,键域存储有键标识和版本标识,版本标识可以作为键域中存储内容的一部分,例如,前缀或后缀。键标识可以为能体现数据实际含义的标识,如区块标识、事务标识、或账号名称等;键值对的值域可以用于存储数据本身。版本标识用于标识该键值对是在哪个版本所对应的物理数据处理请求执行过程中所修改的。
一个版本所对应的物理数据处理请求可以是一个,也可以是多个。例如,一个区块产生的过程中,会涉及多个事务请求,也会需要执行多个物理数据处理请求,如写入数据、删除数据、读取数据、更改数据等。那么可以配置为一个区块产生过程中所需执行的多个物理数据处理请求对应于一个版本标识。下一个区块则对应下一个版本标识。
例如,一个区块中的事务请求为A账户向B账户转移设定数额的货币,则A账户和B账户存储账户余额的键值对,都会因为该事务请求的执行而发生变化。将A账户和B账户的账户余额的旧键值对仍然保留,并产生账户余额的新键值对,前后两个键值对的版本标识发生变化。
当然,一个版本标识也可以对应于一次事务请求的处理过程,或多个区块的处理过程,可根据情况具体配置。在区块链节点中,记录键标识与各个版本标识的对应关系,区块链应用层可以通过键标识和版本标识的组合,访问到所需数据。
实施例一
图2为本发明实施例一提供的一种基于键值对的数据结构实现方法的流程图,本实施例可适用于如何将数据结构转换为键值对的情况,尤其适用于基于区块链节点的***架构中的应用层、逻辑数据接口层中的数据结构接口及物理存储层之间层级递进将数据结构转化为数据键值对的场景。下述实施例将以区块链***中的数据结构转换为键值对为例进行说明。但本领域技术人员可以理解,本发明实施例的技术方案不限于使用在区块链***中。该方法可由基于键值对的数据结构实现装置来执行,该装置可采用软件和/或硬件的方式实现,并可集成于承载计算设备中,特别是作为区块链节点的计算设备中,作为逻辑数据接口层中的数据结构接口。参见图2,该方法具体包括:
S210,数据结构接口获取应用层的逻辑数据处理请求,其中,逻辑数据处理请求用于操作以数据结构存储的数据。
本实施例中,数据结构接口可以是一种虚拟或物理通信接口,可以与应用层进行数据交互,具体可以用于对应用层所传输的不同数据结构形式(如数组、链表或图集合等)的逻辑数据处理请求进行处理。
逻辑数据处理请求是应用层向数据结构接口所传输的,用于请求其将各种数据结构形式(如数组、链表或图集合等)转换为键值对数据存储形式;具体可以为区块链应用层在执行事务请求过程中所产生的,用于请求数据结构接口将各种数据结构形式(如数组、链表或图集合等)转换为键值对数据存储形式,以便物理存储层能够识别并处理等。可选的,逻辑数据处理请求中可以包括待处理的目标数据等,且目标数据是以数据结构形式呈现的。
具体的,应用层向逻辑数据接口层传输用于操作数据结构的逻辑数据处理请求,逻辑数据接口层中的数据结构接口获取该逻辑数据处理请求,并对其进行处理。
S220,数据结构接口根据数据结构与键值对的映射关系,确定逻辑数据处理请求的目标数据的键值对的逻辑地址。
由于物理存储层为键值对存储***,更进一步的,该KV存储***为多版本KV存储***,因此数据接口需将获取的逻辑数据处理请求转换为键值对的数据形式。本实施例中,数据结构可以包括但不限于数组、链表以及图集合等。数据结构接口可将不同形式的数据结构转换为键值对,例如可将数值和链表转换为地址键值对,将图集合转换为图键值对等。可选的,不同数据结构转换为键值对的策略不同,也即不同数据结构与键值对的映射关系不同。例如,对于数组而言,可将数组名及下标作为地址键值对的键标识,地址键值对的值域用于存储数组对应的数据键值对的逻辑地址,数据键值对位于物理存储层中。下述实施例将详细介绍不同数据结构转换为键值对的方式。
逻辑地址是指按照数据在逻辑数据接口层的存储逻辑给出的目标数据的存储路径,例如,一个数组可能的逻辑地址是包括数组中各个下标数据的存储位置,存储位置是连续的。逻辑地址与物理地址有对应关系,此对应关系通常有物理存储层来管理;物理地址是真正存储目标数据的位置,如由磁盘的柱面、头、段等物理位置所确定的地址。例如,在物理存储层中该数据各个下标数据的存储位置可能是不联系的。
具体的,若逻辑数据接口层中的数据结构接口接收到用于操作数据结构的逻辑数据处理请求后,则可以根据逻辑数据处理请求中包括的目标数据,确定该目标数据所属数据结构;而后依据目标数据所属数据结构转换为相关键值对的策略,确定目标数据的键标识;进而根据键标识确定目标数据的键值对的逻辑地址。
S230,数据结构接口根据逻辑地址,对目标数据进行数据处理操作。
具体的,数据结构接口可以将逻辑地址传输至物理存储层,以使物理存储层依据逻辑地址确定物理地址,而后依据该物理地址定位至目标数据位置处,并对目标数据进行处理。
示例性的,在键值对存储***作为物理存储层的情况下,数据结构接口根据逻辑地址,对目标数据进行数据处理操作可以包括:
A、数据结构接口根据逻辑地址,产生物理数据处理请求,并传输给键值对存储***,以进行数据处理操作,其中,键值对存储***作为物理存储层。
本实施例中,物理数据处理请求用于请求物理存储层对存储空间中的数据进行写入、删除、更改或读取等处理。可选的,物理数据处理请求中也可以包括待处理数据,以及对待处理数据的操作方式等。且物理数据处理请求中的待处理数据的数据形式与物理存储层的数据存储结构相同,如键值对形式的数据存储结构。
具体的,数据结构接口可以根据逻辑地址产生物理数据处理请求,并传输给物理存储层,以请求物理存储层对物理数据处理请求中的目标数据进行处理。
B、键值对存储***将逻辑地址转换为物理地址,并根据物理地址对物理键值对中的数据进行数据处理操作。
具体的,物理存储层接收到数据结构接口所传输的物理数据处理请求后,可以将逻辑地址转换为物理地址,而后依据物理地址定位至目标数据位置处,并根据物理数据处理请求所指定的操作方式对目标数据进行处理。
本发明实施例提供的技术方案,数据结构接口获取到应用层传输的用于操作数据结构的逻辑数据处理请求后,可以根据数据结构与键值对的映射关系,确定逻辑数据处理请求的目标数据的键值对的逻辑地址;而后根据逻辑地址对目标数据进行处理。本方案,数据结构接口能够将不同形式的数据结构转换为键值对,从而与物理存储层中所存储的数据对应的键值对建立了关联,实现了基于键值对数据结构的管理方式,也为区块链应用层对于数据结构形式的数据存储需求提供了支持。
实施例二
图3为本发明实施例二提供的一种基于键值对的数据结构实现方法的流程图,本实施例在上述实施例的基础上,在数据结构为数组的情况下,进一步对据结构接口根据数据结构与键值对的映射关系,确定逻辑数据处理请求的目标数据的键值对的逻辑地址进行解释说明。如图3所示,该方法包括以下具体步骤:
S310,数据结构接口获取应用层的逻辑数据处理请求,其中,逻辑数据处理请求用于操作以数据结构存储的数据。
S320,数据结构接口将目标数据的数组名称和下标,确定为数据键值对的键标识。
本实施例中,在键值对存储***作为物理存储层的情况下,对于数组而言,数据结构接口可将数组转为地址键值对,每个地址键值对包括键域和值域,地址键值对的键域可存储有键标识,键标识可有数组名及下标组成,地址键值对的值域可存储有数据键值对的逻辑地址;而数据键值对存储于物理存储层的存储空间内,数据键值对的键域存储键标识(数组名和下标),数据键值对的值域存储该下标所对应的数据。逻辑接口层存储的地址键值对的键标识与物理存储层存储的数据键值对的键标识相同。其中,下标用于表明数据在数组中的位置或偏移量,可以为整数值。
例如,表1所示的地址键值对。a用于表示数组名,0至3用于表示下标,地址键值对的键标识可表示为a_下标,地址键值对的值域可存储有数据键值对的逻辑地址,逻辑地址用D表示。
表1数组对应的地址键值对
键标识 | 值域 |
a_0 | D0 |
a_1 | D1 |
a_2 | D2 |
a_3 | D3 |
例如,一个整型数组a,有10个元素,可表示为int a[9],10个元素可分别表示为a[0]、a[1]、a[2]、a[3]、a[4]、a[5]、a[6]、a[7]、a[8]以及a[9];若逻辑数据处理请求为,在数组a最后一个位置处中添加一个目标数据,则可以确定目标数据的数组名为a,下标为10,进而可确定数据键值对的键标识为a_10、a10或a+10等。若逻辑数据处理请求为,获取数据a中第5个数据,则可以确定数据键值对的键标识为a和4组成。
若逻辑处理请求为,新构建一个名为a且元素个数为10的数组,数据结构接口将在其存储空间为新构建的数组a分配存储空间,并产生数组的地址键值对,在地址键值对的键域中写入a和相应的下标作为键标识,在地址键值对的值域中写入数据键值对的逻辑地址。对应的物理存储层将构建数据键值对,且在数据键值对的键域中写入a和相应的下标作为键标识,在地址键值对的值域中写入数据。
S330,数据结构接口根据键标识确定目标数据所在数据键值对的逻辑地址。
具体的,数据结构接口在确定数据键值对的键标识后,可以以键标识为索引在地址键值对中确定目标数据所在数据键值对的逻辑地址。
S340,数据结构接口根据逻辑地址,对目标数据进行数据处理操作。
本发明实施例提供的技术方案,提供了一种将数组形式的逻辑数据处理请求转换为键值对,从而与物理存储层中所存储的数据对应的键值对建立关联的方案,实现了基于键值对数组形式数据结构的管理方式,也为区块链应用层对于数组形式的数据存储需求提供了支持。
实施例三
图4为本发明实施例三提供的一种基于键值对的数据结构实现方法的流程图,本实施例在上述实施例的基础上,在数据结构为链表的情况下,进一步对数据结构接口根据数据结构与键值对的映射关系,确定逻辑数据处理请求的目标数据的键值对的逻辑地址进行解释说明。如图4所示,该方法包括以下具体步骤:
S410,数据结构接口获取应用层的逻辑数据处理请求,其中,逻辑数据处理请求用于操作以数据结构存储的数据。
S420,数据结构接口将目标数据的链表结点标识,确定为数据键值对的键标识;其中,用于存储链表结点标识的数据键值对值域中存储有前一结点和/或后一结点的数据键值对的键标识。
本实施例中,在键值对存储***作为物理存储层的情况下,对于链表而言,与数组类型,数据结构接口可将链表转为地址键值对,每个地址键值对包括键域和值域,地址键值对的键域可存储有键标识,键标识可包括链表标识和某个结点标识(即链表结点标识)。地址键值对的值域可存储有数据键值对的逻辑地址;而数据键值对存储于物理存储层的存储空间内,数据键值对的键域存储键标识,数据键值对的值域存储该链表结点的数据,数据结构接口存储的地址键值对的键标识与物理存储层存储的数据键值对的键标识相同。即数据键值对键标识具体可包括链表标识和某个结点标识。此外,基于链表的前后结点相连特性,为了便于后续查询,物理存储层可以将一个链表内的数据所对应的数据键值对关联存储。可选的,数据键值对的值域中还存储有该结点的前一个结点和/或后一个结点的结点标识。
链表结点标识可以有链表标识和结点标识组成,用于标识目标数据在某个链表中的位置或偏移量。可选的,可以将链表标识可以为链表名称,结点标识可以是流水号,可以将链表结点标识作为地址键值对和数据键值对的键标识等。例如,位于链表a中的第5个结点的数据键值对的键标识为a+005,第6个结点的数据键值对的键标识为a+006等。
此外,对于链表中第一结点而言,可将目标数据的链表结点标识作为数据键值对的键标识,数据键值对的值域可存储有数据,以及后一结点的数据键值对的键标识。同理,链表中的最后一个结点,数据键值对的值域可存储有数据,以及前一结点的数据键值对的键标识。
例如,表2和3所示的地址键值对和数据键值对。a用于表示链表名称,001至004用于结点标识,地址键值对的键标识可表示为a+结点标识,地址键值对的值域可存储有数据键值对的逻辑地址,逻辑地址用D表示。且数据键值对的值域存储有后一结点标识;第1个结点处的数据为100,第2个结点处的数据为200,第三个结点处的数据为300,第四个结点处的数据为400。
表2链表对应的地址键值对
表3链表对应的数据键值对
键标识 | 值域 |
a+001 | 100a+002 |
a+002 | 200a+003 |
a+003 | 300a+004 |
a+004 | 400 |
可选的,对于单向链表而言,可将目标数据的链表结点标识作为数据键值对的键标识,数据键值对的值域可存储有数据,以及前一结点或后一结点的数据键值对的键标识。或者,将目标数据的链表结点标识,以及前一结点或后一结点的数据键值对的键标识,一起作为数据键值对的键标识,数据键值对的值域可存储有数据。
对于双向链表而言,可将目标数据的链表结点标识作为数据键值对的键标识,数据键值对的值域可存储有数据,以及前一结点和后一结点的数据键值对的键标识。或者,将目标数据的链表结点标识,以及前一结点和后一结点的数据键值对的键标识,一起作为数据键值对的键标识,数据键值对的值域可存储有数据。
具体的,数据结构接口在获取到用于操作链表的逻辑数据处理请求后,可以依据逻辑数据处理请求中的目标数据确定目标数据的链表结点标识;而后可将目标数据的链表结点标识作为数据键值对的键标识。
示例性的,若逻辑数据处理请求为从链表中读取目标数据,则可以确定目标数据的链表结点标识,而后可以将目标数据的链表结点标识作为数据键值对的键标识。
若逻辑数据处理请求为构建包括目标数据的链表,则数据结构接口将在其存储空间为新构建的链表分配存储空间,并产生链表的数据键值对,在数据键值对的键域中写入链表结点标识作为键标识,在数据键值对的值域中写入目标数据。
对于物理存储层而言,当需要在链表中添加结点时,需要新增数据键值对,同时需要更改该结点前后结点的数据键值对中的结点标识,以使调整链表中结点之间的关系。同样,当需要删除结点时,该结点的数据键值对前后结点也需要相应调整。
S430,数据结构接口根据键标识确定目标数据所在数据键值对的逻辑地址。
具体的,数据结构接口在确定数据键值对的键标识后,可以以键标识为索引在地址键值对中进行查询,进而确定目标数据所在数据键值对的逻辑地址。
S440,数据结构接口根据逻辑地址,对目标数据进行数据处理操作。
本发明实施例提供的技术方案,提供了一种将数组形式的逻辑数据处理请求转换为键值对,从而与物理存储层中所存储的数据对应的键值对建立关联的方案,实现了基于键值对数组形式数据结构的管理方式,也为区块链应用层对于数组形式的数据存储需求提供了支持。
实施例四
图5为本发明实施例四提供的一种基于键值对的数据结构实现方法的流程图,本实施例在上述实施例的基础上,在数据结构为图集合的情况下,进一步对数据结构接口根据数据结构与键值对的映射关系,确定逻辑数据处理请求的目标数据的键值对的逻辑地址进行解释说明。如图5所示,该方法包括以下具体步骤:
S510,数据结构接口获取应用层的逻辑数据处理请求,其中,逻辑数据处理请求用于操作以数据结构存储的数据。
S520,数据结构接口根据目标数据的图标识查询图键值对。
本实施例中,在键值对存储***作为物理存储层的情况下,对于图集合而言,可为每个图集合设置一个图键值对,每个图键值对包括键域和值域,键域可存储有键标识,键标识可以是图标识,图标识可以为图集合的名称;值域存储有记录有数据对应键值对的逻辑地址,该逻辑地址可用于指向物理存储层中真正存储目标数据的物理存储单元。
例如,表4所示的图键值对。01用于表示图键值对的键标识(图标识),数据对应的键标识用K表示,以及键标识的逻辑地址用D表示。
表4图集合对应的图键值对
图键值对可以通过层级关系包括至少一个关联键值对来扩展图集合的存储空间,且图键值对值域中可以包括寻址区域,寻址区域用于记录图集合中各数据内容的逻辑地址,该逻辑地址可用于指向物理存储层中真正存储目标数据的物理存储单元。可选的,值域中的寻址区域可以包括直接寻址区域、间接寻址区域、双间接寻址区域、三间接寻址区域以及具有更多层级关系相关联的扩展存储空间。其中,直接寻址区域中直接记录有数据对应键值对的逻辑地址。间接寻址区域值域的寻址区域中记录有指向一级地址键值对的存储地址,一级地址键值对值域的寻址区域中记录有数据对应键值对的逻辑地址。地址键值对的键域中用于存储键标识,而地址键值对值域中的寻址区域用于存储与键标识相关联的且指向数据对应键值对的逻辑地址或下一级地址键值对的存储地址。
双间接寻址区域值域的寻址区域中记录有指向二级地址键值对的存储地址,二级地址键值对值域的寻址区域中记录有指向一级地址键值对的存储地址,相应的,一级地址键值对值域的寻址区域中记录有指向数据对应键值对的逻辑地址。同理,三间接寻址区域值域的寻址区域中记录有指向三级地址键值对的存储地址,三级地址键值对值域的寻址区域中记录有指向二级地址键值对的存储地址,以此类推。
通过上述转换策略,可以将图集合数据结构转换为一个有序、便于快速查找数据,以及动态添加新索引等的索引结构。
具体的,数据结构接口层接收到用于操作数据结构的逻辑数据处理请求后,可以从逻辑数据处理请求中获取目标数据;而后以目标数据的图标识为索引即可确定目标数据所对应的图键值对。
需要说明的是,若数据结构接口中未存储目标数据的图键值对,则可以产生新图键值对作目标数据的图键值对,将目标数据的图标识写入新图键值对的键域,将目标数据中各数据的地址内容写入新图键值对的值域。
S530,数据结构接口从图键值对的值域中,查找目标数据对应的键标识以及键标识的逻辑地址。
具体的,数据结构接口在确定目标数据的图键值对之后,可从图键值对值域的值域中查找,确定目标数据对应的键标识以及键标识的逻辑地址。
S540,数据结构接口根据逻辑地址,对目标数据进行数据处理操作。
本发明实施例提供的技术方案,提供了一种将图集合形式的逻辑数据处理请求转换为键值对,从而与物理存储层中所存储的数据对应的键值对建立关联的方案,实现了基于键值对图集合形式数据结构的管理方式,也为区块链应用层对于图集合形式的数据存储需求提供了支持。
实施例五
图6为本发明实施例五提供的一种基于键值对的数据结构实现方法的流程图,本实施例在上述实施例的基础上,在键值对存储***作为物理存储层,且键值对存储***进一步为多版本键值对存储***的情况下,进一步对数据结构接口根据逻辑地址,对目标数据进行数据处理操作进行解释说明。如图6所示,该方法包括以下具体步骤:
S610,数据结构接口获取应用层的逻辑数据处理请求,其中,逻辑数据处理请求用于操作以数据结构存储的数据。
S620,数据结构接口根据数据结构与键值对的映射关系,确定逻辑数据处理请求的目标数据的键值对的逻辑地址。
S630,数据结构接口根据逻辑数据处理请求确定目标数据的版本信息。
本实施例中,版本信息可以用于表示目标数据被写入的事务请求所属区块的信息,如可以是区块标识。区块标识是指用于唯一识别某一区块的标志,如区块ID。可选的,版本信息可以包括事务请求所属区块的区块标识;和/或目标数据最近被写入的事务请求所属区块的区块标识。不同的区块所对应的版本信息不同。
可选的,逻辑数据处理请求中可以包括待处理的目标数据以及目标数据的版本信息。因此,数据结构接口可以从逻辑数据处理请求中获取目标数据以及目标数据的版本信息。
示例性的,数据结构接口获取应用层的逻辑数据处理请求之前,还可以包括:区块链应用层在执行事务请求的过程中,确定事务请求所操作的目标数据,以及目标数据的版本信息,版本信息用于添加至逻辑数据处理请求中传输给数据结构接口。
本实施例中,区块链应用层向数据结构口所传输的逻辑数据处理请求中的目标数据,是区块链应用层执行事务请求过程中所要依赖的数据。例如,某一事务请求为账户A向账户B转账,目标数据可以包括账户A余额和账户B余额等。可选的,目标数据具体可以包括事务请求执行前所依赖数据的数值,以及事务请求执行后所依赖数据的数值。例如,事务请求执行前账户A余额值,以及事务请求执行后账户A余额值。
具体的,区块链应用层可以从本地或其他节点获取事务请求,若事务请求为智能合约,对于本地所发起的事务请求而言,区块链应用层可以调用本地虚拟机,在本地预先执行所发起的事务请求,进而确定该事务请求所操作的目标数据。对于从其他节点接收的事务请求而言,区块链应用层也可以调用本地虚拟机,执行该事务请求,进而确定该事务请求所操作的目标数据。
而后,如果区块链应用层确定事务请求对目标数据的操作方式是数据写入操作,则可以将当前区块的区块标识确定为目标数据的当前版本信息。如果区块链应用层确定事务请求对目标数据的操作方式是数据更改操作(如更改某一账户余额),数据删除操作(如将某一账户清空,则可以将该账户余额删除),或者数据读取操作(如需查询某一账户余额时,则可以读取该账户余额)时,则需获取目标数据的原版本信息,同时将当前区块的区块标识确定为目标数据的当前版本信息。其中,原版本信息是指执行事务请求之前,目标数据被写入的事务请求所属区块的区块标识;可以是前一区块的区块标识,也可以是历史任意区块的区块标识;还可以是默认为目标数据最近被写入的事务请求所属区块的区块标识。
区块链应用层在确定事务请求所操作的目标数据,以及目标数据的版本信息后,产生用于操作目标数据的逻辑数据处理请求,并将版本信息用于添加至逻辑数据处理请求中传输给数据结构接口;数据结构接口从逻辑数据处理请求中获取目标数据的版本信息。
S640,数据结构接口根据逻辑地址和版本信息,产生物理数据处理请求,并传输给多版本键值对存储***,以进行数据处理操作。
可选的,数据结构接口对于区块链应用层所传输的逻辑数据请求中的版本信息可以不做任何处理,而是透传给物理存储层;也可以将版本信息转换为物理存储层中所需的版本标识,传输给物理存储层等。为了简化逻辑数据接口层的操作,本实施例中优选将版本信息透传给物理存储层。此外,物理数据处理请求中至少包括目标数据、目标数据的逻辑地址以及目标数据的版本信息等。
具体的,数据结构接口可以根据逻辑地址和版本信息产生物理数据处理请求,并传输给物理存储层。
S650,多版本键值对存储***将逻辑地址转换为物理地址,并根据物理地址对物理键值对中的数据进行数据处理操作。
本实施例中,物理键值对即为正在存储目标数据的键值对。与地址键值对结构相同,物理键值对包括键域和值域,键域中存储有键标识和版本标识,值域中存储有数据。可选,对于同一目标数据,其在逻辑数据接口层的地址键值对的键标识与物理存储层中的物理键值对的键标识相同。
版本标识是一个起到唯一标识作用的标识符,用于标识对当前物理数据处理请求所涉及数据的更新操作。可选的,版本标识与版本信息相对应,版本标识可以是版本信息,也可以是版本信息与流水号所组成,还可以是流水号等。不同区块对应不同的版本标识。例如,第100个区块的版本标识可以是0100+第100个区块的区块标识,第101个区块的版本标识可以是0101+第101个区块的区块标识。
具体的,物理存储层可以根据物理数据处理请求中目标数据的版本信息确定版本标识,并根据物理数据处理请求中的逻辑地址确定目标数据所对应的键标识;依据键标识和版本标识,确定目标数据的物理地址,而后依据该物理地址定位至目标数据位置处,依据物理数据处理请求所指定的操作方式对目标数据进行处理。
本发明实施例提供的技术方案,数据结构接口将区块链应用层传输的逻辑数据处理请求映射为基于物理存储层的数据存储结构,并向物理存储层传输物理数据处理请求;物理存储层对数据结构接口传输的物理数据处理请求进行处理,并存储。本方案数据结构接口能够将不同形式的数据结构转换为键值对,从而与物理存储层中所存储的数据对应的键值对建立了关联,实现了基于键值对数据结构的管理方式,也为区块链应用层对于数据结构形式的数据存储需求提供了支持。此外,物理存储层采用多版本键值对存储***,通过引入版本标识,当区块链***存在区块回滚和重做的需求,例如发生分叉时需要回滚,那么基于本发明实施例所提供的多版本键值对存储***能够方便的切换至之前任何版本的键值对数据,不需要进行大量键值对的数据调整,同样就避免了索引的调整。同时。当区块链节点存在区块同步需求时,每个区块中事务请求所新增或改写的数据,会对应一个新的版本标识进行键值对存储,不影响已有版本标识键值对中的数据,即数据和数据的索引具有快照功能,方便在不停机的状态下进行同步操作。
实施例六
图7为本发明实施例六提供的一种基于键值对的数据结构实现方法的流程图,本实施例在上述实施例的基础上,进一步的优化。如图7所示,该方法包括以下具体步骤:
S710,区块链应用层根据数据结构智能合约,产生数据结构事务请求,向区块链网络发起,以请求区块链节点执行数据结构事务请求,对目标数据进行处理,其中,数据结构事务请求在执行过程中产生逻辑数据处理请求。
本实施例中,数据结构事务请求是指数据形式为数据结构的事务请求;智能合约是指基于插件机制所编写的可供区块链网络中的节点调用并执行的代码段,一个智能合约的执行可实现至少一种功能或处理一类事务请求。数据结构智能合约是智能合约中的一种,专门用于产生包括各种数据结构的数据的事务请求。
具体的,区块链节点本地具有数据结构处理需求时,可以通过区块链应用层调用数据结构智能合约;区块链应用层将目标数据,或目标数据和版本信息等作为数据结构智能合约的参数,产生数据结构事务请求,并将该数据结构事务请求传输至区块链网络。区块链网络中的区块链结点获取到该数据结构事务请求后,可以通过本地区块链应用层执行该数据结构事务请求,且在执行该数据结构事务请求的过程中产生用于操作数据结构的逻辑数据处理请求,向数据结构接口传输;数据结构接口获取区块链应用层的逻辑数据处理请求,并对该逻辑数据处理请求进行处理。由此,区块链应用层可支持的智能合约数据存储形式将更加丰富。
S720,数据结构接口获取应用层的逻辑数据处理请求,其中,逻辑数据处理请求用于操作以数据结构存储的数据。
S730,数据结构接口根据数据结构与键值对的映射关系,确定逻辑数据处理请求的目标数据的键值对的逻辑地址。
S740,数据结构接口根据逻辑地址,对目标数据进行数据处理操作。
本发明实施例提供的技术方案,数据结构接口获取到应用层传输的用于操作数据结构的逻辑数据处理请求后,可以根据数据结构与键值对的映射关系,确定逻辑数据处理请求的目标数据的键值对的逻辑地址;而后根据逻辑地址对目标数据进行处理。本方案,数据结构接口能够将不同形式的数据结构转换为键值对,从而与物理存储层中所存储的数据对应的键值对建立了关联,实现了基于键值对数据结构的管理方式,也为区块链应用层对于数据结构形式的数据存储需求提供了支持。
实施例七
图8为本发明实施例七提供的一种基于键值对的数据结构实现装置的结构示意图,该装置可配置于计算设备中,特别是作为区块链节点的计算设备数据结构接口中,可执行本发明任意实施例所提供的基于键值对的数据结构实现方法,具备执行方法相应的功能模块和有益效果。如图8所示,该装置包括:
逻辑请求获取模块810,用于获取应用层的逻辑数据处理请求,其中,逻辑数据处理请求用于操作以数据结构存储的数据;
逻辑地址确定模块820,用于根据数据结构与键值对的映射关系,确定逻辑数据处理请求的目标数据的键值对的逻辑地址;
数据处理模块830,用于根据逻辑地址,对目标数据进行数据处理操作。
本发明实施例提供的技术方案,数据结构接口获取到应用层传输的用于操作数据结构的逻辑数据处理请求后,可以根据数据结构与键值对的映射关系,确定逻辑数据处理请求的目标数据的键值对的逻辑地址;而后根据逻辑地址对目标数据进行处理。本方案,数据结构接口能够将不同形式的数据结构转换为键值对,从而与物理存储层中所存储的数据对应的键值对建立了关联,实现了基于键值对数据结构的管理方式,也为区块链应用层对于数据结构形式的数据存储需求提供了支持。
示例性的,如果数据结构为数组,逻辑地址确定模块820可以具体用于:
将目标数据的数组名称和下标,确定为数据键值对的键标识;
根据键标识确定目标数据所在数据键值对的逻辑地址。
示例性的,如果数据结构为链表,逻辑地址确定模块820可以具体用于:
将目标数据的链表结点标识,确定为数据键值对的键标识;其中,用于存储链表结点标识的数据键值对值域中存储有前一结点和/或后一结点的数据键值对的键标识;
根据键标识确定目标数据所在数据键值对的逻辑地址。
示例性的,如果数据结构为图集合,逻辑地址确定模块820可以具体用于:
根据目标数据的图标识查询图键值对;
从图键值对的值域中,查找目标数据对应的键标识以及键标识的逻辑地址。
示例性的,数据处理模块830可以包括:
请求传输单元,用于根据逻辑地址,产生物理数据处理请求,并传输给键值对存储***,以进行数据处理操作,其中,键值对存储***作为物理存储层;
数据处理单元,用于键值对存储***将逻辑地址转换为物理地址,并根据物理地址对物理键值对中的数据进行数据处理操作。
示例性的,请求传输单元可以具体用于:
根据逻辑数据处理请求确定目标数据的版本信息;
根据逻辑地址和所述版本信息,产生物理数据处理请求,并传输给多版本键值对存储***,以进行数据处理操作。
示例性的,上述装置还可以包括:
数据信息确定模块,用于在获取应用层的逻辑数据处理请求之前,区块链应用层在执行事务请求的过程中,确定事务请求所操作的目标数据,以及目标数据的版本信息,版本信息用于添加至逻辑数据处理请求中传输给。
示例性的,版本信息可以包括:事务请求所属区块的区块标识;和/或目标数据最近被写入的事务请求所属区块的区块标识。
示例性的,上述装置还可以包括:
事务请求发起模块,用于在获取应用层的逻辑数据处理请求之前,区块链应用层根据数据结构智能合约,产生数据结构事务请求,向区块链网络发起,以请求区块链节点执行数据结构事务请求,对目标数据进行处理,其中,数据结构事务请求在执行过程中产生逻辑数据处理请求。
实施例八
图9为本发明实施例八提供的一种设备的结构示意图,图9示出了适于用来实现本发明实施例实施方式的示例性设备的框图。图9显示的设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。设备12典型可以是计算设备,也可以是承担区块链网络节点功能的计算设备。
如图9所示,设备12以通用计算设备的形式表现。设备12的组件可以包括但不限于:一个或者多个处理器16,***存储器28,连接不同***组件(包括***存储器28和处理器16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,***总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及***组件互连(PCI)总线。
设备12典型地包括多种计算机***可读介质。这些介质可以是任何能够被设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
***存储器28可以包括易失性存储器形式的计算机***可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机***存储介质。仅作为举例,存储***34可以用于读写不可移动的、非易失性磁介质(图9未显示,通常称为“硬盘驱动器”)。尽管图9中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。***存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明实施例各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如***存储器28中,这样的程序模块42包括但不限于操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明实施例所描述的实施例中的功能和/或方法。
设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该设备12交互的设备通信,和/或与使得该设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与设备12的其它模块通信。应当明白,尽管图中未示出,可以结合设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID***、磁带驱动器以及数据备份存储***等。
处理器16通过运行存储在***存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的基于键值对的数据结构实现方法。
实施例九
本发明实施例九还提供一种计算机可读存储介质,其上存储有计算机程序(或称为计算机可执行指令),该程序被处理器执行时用于执行一种基于键值对的数据结构实现方法,该方法包括:
获取应用层的逻辑数据处理请求,其中,逻辑数据处理请求用于操作以数据结构存储的数据;
根据数据结构与键值对的映射关系,确定逻辑数据处理请求的目标数据的键值对的逻辑地址;
根据逻辑地址,对目标数据进行数据处理操作。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明实施例操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或设备上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明实施例进行了较为详细的说明,但是本发明实施例不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (12)
1.一种基于键值对的数据结构实现方法,其特征在于,应用于区块链节点,所述方法包括:
数据结构接口获取应用层的逻辑数据处理请求,其中,所述逻辑数据处理请求用于操作以数据结构存储的数据;
所述数据结构接口根据数据结构与键值对的映射关系,确定所述逻辑数据处理请求的目标数据的键值对的逻辑地址;
所述数据结构接口根据所述逻辑地址,对所述目标数据进行数据处理操作。
2.根据权利要求1所述的方法,其特征在于:如果数据结构为数组,则所述数据结构接口根据数据结构与键值对的映射关系,确定所述逻辑数据处理请求的目标数据的键值对的逻辑地址,包括:
所述数据结构接口将所述目标数据的数组名称和下标,确定为数据键值对的键标识;
所述数据结构接口根据所述键标识确定目标数据所在数据键值对的逻辑地址。
3.根据权利要求1所述的方法,其特征在于,如果数据结构为链表,则所述数据结构接口根据数据结构与键值对的映射关系,确定所述逻辑数据处理请求的目标数据的键值对的逻辑地址,包括:
所述数据结构接口将所述目标数据的链表结点标识,确定为数据键值对的键标识;其中,用于存储链表结点标识的数据键值对值域中存储有前一结点和/或后一结点的数据键值对的键标识;
所述数据结构接口根据所述键标识确定目标数据所在数据键值对的逻辑地址。
4.根据权利要求1所述的方法,其特征在于,如果数据结构为图集合,则所述数据结构接口根据数据结构与键值对的映射关系,确定所述逻辑数据处理请求的目标数据的键值对的逻辑地址,包括:
所述数据结构接口根据所述目标数据的图标识查询图键值对;
所述数据结构接口从所述图键值对的值域中,查找所述目标数据对应的键标识以及键标识的逻辑地址。
5.根据权利要求1所述的方法,其特征在于,所述数据结构接口根据所述逻辑地址,对所述目标数据进行数据处理操作,包括:
数据结构接口根据所述逻辑地址,产生物理数据处理请求,并传输给键值对存储***,以进行数据处理操作,其中,所述键值对存储***作为物理存储层;
所述键值对存储***将所述逻辑地址转换为物理地址,并根据物理地址对物理键值对中的数据进行数据处理操作。
6.根据权利要求5所述的方法,其特征在于,数据结构接口根据所述逻辑地址,产生物理数据处理请求,并传输给键值对存储***,以进行数据处理操作,包括:
数据结构接口根据所述逻辑数据处理请求确定目标数据的版本信息;
数据结构接口根据所述逻辑地址和所述版本信息,产生所述物理数据处理请求,并传输给多版本键值对存储***,以进行数据处理操作。
7.根据权利要求1-6任一所述的方法,其特征在于:数据结构接口获取应用层的逻辑数据处理请求之前,还包括:
区块链应用层在执行事务请求的过程中,确定所述事务请求所操作的目标数据,以及目标数据的版本信息,所述版本信息用于添加至逻辑数据处理请求中传输给数据结构接口。
8.根据权利要求6所述的方法,其特征在于,所述版本信息包括:事务请求所属区块的区块标识;和/或所述目标数据最近被写入的事务请求所属区块的区块标识。
9.根据权利要求1-6任一所述的方法,其特征在于,数据结构接口获取应用层的逻辑数据处理请求之前,还包括:
区块链应用层根据数据结构智能合约,产生数据结构事务请求,向区块链网络发起,以请求区块链节点执行所述数据结构事务请求,对目标数据进行处理,其中,所述数据结构事务请求在执行过程中产生所述逻辑数据处理请求。
10.一种基于键值对的数据结构实现装置,其特征在于,配置于区块链节点的数据结构接口中,所述装置包括:
逻辑请求获取模块,用于获取应用层的逻辑数据处理请求,其中,所述逻辑数据处理请求用于操作以数据结构存储的数据;
逻辑地址确定模块,用于根据数据结构与键值对的映射关系,确定所述逻辑数据处理请求的目标数据的键值对的逻辑地址;
数据处理模块,用于根据所述逻辑地址,对所述目标数据进行数据处理操作。
11.一种设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-9中任一项所述的基于键值对的数据结构实现方法。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-9中任一项所述的基于键值对的数据结构实现方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811604178.1A CN109684335B (zh) | 2018-12-26 | 2018-12-26 | 基于键值对的数据结构实现方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811604178.1A CN109684335B (zh) | 2018-12-26 | 2018-12-26 | 基于键值对的数据结构实现方法、装置、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109684335A CN109684335A (zh) | 2019-04-26 |
CN109684335B true CN109684335B (zh) | 2021-04-02 |
Family
ID=66189797
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811604178.1A Active CN109684335B (zh) | 2018-12-26 | 2018-12-26 | 基于键值对的数据结构实现方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109684335B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110297689B (zh) * | 2019-05-06 | 2021-09-14 | 百度在线网络技术(北京)有限公司 | 智能合约执行方法、装置、设备及介质 |
CN110503554B (zh) * | 2019-08-27 | 2022-04-05 | 腾讯科技(深圳)有限公司 | 一种智能合约处理方法、装置、区块链节点设备及介质 |
CN110609839B (zh) | 2019-09-17 | 2021-05-25 | 北京海益同展信息科技有限公司 | 区块链数据处理的方法、装置、设备及可读存储介质 |
CN112036851A (zh) * | 2020-09-29 | 2020-12-04 | 东信和平科技股份有限公司 | 一种数字货币的存储装置及其相关处理方法 |
CN112765269B (zh) * | 2020-12-31 | 2022-06-10 | 杭州趣链科技有限公司 | 数据处理方法、装置、设备和存储介质 |
CN113535857A (zh) * | 2021-08-04 | 2021-10-22 | 阿波罗智联(北京)科技有限公司 | 数据同步方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105005572A (zh) * | 2014-04-24 | 2015-10-28 | ***通信集团云南有限公司 | 一种数据库映射方法及装置 |
CN106980672A (zh) * | 2017-03-28 | 2017-07-25 | 中国电子科技集团公司第二十九研究所 | 一种异构环境下面向对象的数据存储***及方法 |
CN107918612A (zh) * | 2016-10-08 | 2018-04-17 | 腾讯科技(深圳)有限公司 | 键值存储***数据结构的实现方法和装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9075710B2 (en) * | 2012-04-17 | 2015-07-07 | SanDisk Technologies, Inc. | Non-volatile key-value store |
CN102937993B (zh) * | 2012-11-09 | 2016-01-06 | 小米科技有限责任公司 | 一种用于访问关键字的方法及装置 |
US9990223B2 (en) * | 2015-08-10 | 2018-06-05 | Salesforce.Com, Inc. | Systems and methods of improving parallel functional processing |
CN108694238A (zh) * | 2018-05-14 | 2018-10-23 | 腾讯科技(深圳)有限公司 | 基于区块链的业务数据处理方法、装置及存储介质 |
-
2018
- 2018-12-26 CN CN201811604178.1A patent/CN109684335B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105005572A (zh) * | 2014-04-24 | 2015-10-28 | ***通信集团云南有限公司 | 一种数据库映射方法及装置 |
CN107918612A (zh) * | 2016-10-08 | 2018-04-17 | 腾讯科技(深圳)有限公司 | 键值存储***数据结构的实现方法和装置 |
CN106980672A (zh) * | 2017-03-28 | 2017-07-25 | 中国电子科技集团公司第二十九研究所 | 一种异构环境下面向对象的数据存储***及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109684335A (zh) | 2019-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109684335B (zh) | 基于键值对的数据结构实现方法、装置、设备和存储介质 | |
CN109726206B (zh) | 区块链节点的数据处理方法、装置、设备和存储介质 | |
US11593337B2 (en) | Data processing method, device, and a storage medium | |
US10878052B2 (en) | Blockchain-based cross-chain data operation method and apparatus | |
CN109710190B (zh) | 一种数据存储方法、装置、设备及存储介质 | |
US7644110B2 (en) | Stream data processing system and stream data processing method | |
CN109656886B (zh) | 基于键值对的文件***实现方法、装置、设备和存储介质 | |
CN109656889B (zh) | 基于区块链的文件***实现方法、装置、设备和存储介质 | |
EP2710477B1 (en) | Distributed caching and cache analysis | |
KR100293795B1 (ko) | 분산형데이터베이스시스템및데이터엔티티액세스방법 | |
US9871727B2 (en) | Routing lookup method and device and method for constructing B-tree structure | |
CN110297689A (zh) | 智能合约执行方法、装置、设备及介质 | |
CN108228646B (zh) | 用于访问数据的方法和电子设备 | |
CN101183379A (zh) | 用于检索数据的方法和*** | |
CN105393243A (zh) | 事务定序 | |
CN102314506B (zh) | 基于动态索引的分布式缓冲区管理方法 | |
US11451629B2 (en) | Distributed metadata management method for distributed file system | |
US9002844B2 (en) | Generating method, generating system, and recording medium | |
US6671768B1 (en) | System and method for providing dynamic configuration ROM using double image buffers for use with serial bus devices | |
CN109800336B (zh) | 基于键值对存储***的表格实现方法、装置、设备和介质 | |
US9380127B2 (en) | Distributed caching and cache analysis | |
CN105843867A (zh) | 基于元数据模型的检索方法和基于元数据模型的检索装置 | |
CN104702508A (zh) | 表项动态更新方法及*** | |
CN113761016A (zh) | 数据查询方法、装置、设备及存储介质 | |
WO2009157062A1 (ja) | 構成管理装置、構成管理プログラム、構成管理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |