CN112632080A - 基于区块链的数据存储方法、装置及设备 - Google Patents

基于区块链的数据存储方法、装置及设备 Download PDF

Info

Publication number
CN112632080A
CN112632080A CN202011604663.6A CN202011604663A CN112632080A CN 112632080 A CN112632080 A CN 112632080A CN 202011604663 A CN202011604663 A CN 202011604663A CN 112632080 A CN112632080 A CN 112632080A
Authority
CN
China
Prior art keywords
data
database
storage
result set
block
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.)
Granted
Application number
CN202011604663.6A
Other languages
English (en)
Other versions
CN112632080B (zh
Inventor
邱炜伟
李伟
黄方蕾
张珂杰
叶晨宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Qulian Technology Co Ltd
Original Assignee
Hangzhou Qulian Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Qulian Technology Co Ltd filed Critical Hangzhou Qulian Technology Co Ltd
Priority to CN202011604663.6A priority Critical patent/CN112632080B/zh
Publication of CN112632080A publication Critical patent/CN112632080A/zh
Application granted granted Critical
Publication of CN112632080B publication Critical patent/CN112632080B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/278Data partitioning, e.g. horizontal or vertical partitioning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于区块链的数据存储方法,应用于区块链领域,用于解决因对不同类型的数据进行串行存储而导致数据库存储效率低,一致性无法保证且在数据存储失败时难以恢复到原有数据库的问题。本发明提供的方法包括:创建用于映射数据库的区块链逻辑存储层;其中,数据库包括连续型数据库和非连续型数据库;当区块链接收到一个存储请求时,基于区块链逻辑存储层生成一个与区块链中的一个区块相对应的空结果集;将存储请求对应的数据按照数据类型写入空结果集,以获得存储结果集;其中,数据类型包括连续型数据和非连续型数据;根据数据类型,将存储结果集中的数据并行存储到与数据类型相对应的数据库。

Description

基于区块链的数据存储方法、装置及设备
技术领域
本发明涉及区块链领域,尤其涉及一种基于区块链的数据存储方法、装置、计算机设备及存储介质。
背景技术
在区块链中,根据数据的存储特性可将区块链数据分为连续型数据与非连续型数据,根据连续型,非连续性数据的特征,通过区块链与连续型数据库的映射,将连续型数据直接存储在连续型数据库中;通过区块链与非连续型数据库的映射,将非连续型数据直接存储在非连续型(K-V键值对)数据库中。
在现有技术中,对连续型数据(如区块数据)、非连续型数据(如状态数据)进行分库存储,即用连续型数据库存储区块数据,用非连续型数据库存储状态数据等。
但是,现有区块链进行各种数据库交互的行为往往是直接嵌入在执行等模块中的,不易代码和功能的扩展和维护,且不同类型的数据在进行存储操作时是串行进行的,比如说原有数据库包括连续型数据库和非连续型数据库,针对区块数据和状态数据,在区块链的某一个区块的执行过程中,如果先生成了状态数据,就通过区块链与非连续型数据库的映射,先把状态数据直接存储到非连续型数据库中,再通过区块链与连续型数据库的映射,将后生成区块数据直接存储到连续型数据库中,这导致了数据库存储效率较低。同时,如果连续型数据或者非连续型数据中的某一类数据存储失败时,会使得实际数据库中存储的数据与目标数据库(即连续型数据库或者非连续型数据库)中存储的数据不一致,导致了数据库一致性无法保证,实际数据库难以恢复到原有数据库。因此,现有技术因对不同类型的数据进行串行存储而容易导致数据库存储效率低,一致性无法保证且在数据存储失败时难以恢复到原有数据库的问题。
发明内容
本发明实施例提供一种基于区块链的数据存储方法、装置、计算机设备及存储介质,以解决因对不同类型的数据进行串行存储而导致数据库存储效率低,一致性无法保证且在数据存储失败时难以恢复到原有数据库的技术问题。
一种基于区块链的数据存储方法,包括:
创建用于映射数据库的区块链逻辑存储层;其中,数据库包括连续型数据库和非连续型数据库;
当区块链接收到一个存储请求时,基于区块链逻辑存储层生成一个与区块链中的一个区块相对应的空结果集;
将存储请求对应的数据按照数据类型写入空结果集,以获得存储结果集;其中,数据类型包括连续型数据和非连续型数据;
根据数据类型,将存储结果集中的数据并行存储到与数据类型相对应的数据库。
一种基于区块链的数据存储装置,包括:
创建模块,用于创建用于映射数据库的区块链逻辑存储层;其中,数据库包括连续型数据库和非连续型数据库;
获取空结果集模块,用于当区块链接收到一个存储请求时,基于区块链逻辑存储层生成一个与区块链中的一个区块相对应的空结果集;
获取存储结果集模块,用于将存储请求对应的数据按照数据类型写入空结果集,以获得存储结果集;其中,数据类型包括连续型数据和非连续型数据;
存储模块,用于根据数据类型,将存储结果集中的数据并行存储到与数据类型相对应的数据库。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述基于区块链的数据存储方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述基于区块链的数据存储方法的步骤。
本发明实施例提出的基于区块链的数据存储方法、装置、计算机设备及存储介质,创建用于映射数据库的区块链逻辑存储层,其中,数据库包括连续型数据库和非连续型数据库;当区块链接收到一个存储请求时,基于区块链逻辑存储层生成一个与区块链中的一个区块相对应的空结果集;将存储请求对应的数据按照数据类型写入空结果集,以获得存储结果集,其中,数据类型包括连续型数据和非连续型数据;根据数据类型,将存储结果集中的数据并行存储到与数据类型相对应的数据库。对不同数据类型的数据库存储操作是并行进行的,提高了数据存储效率。通过将存储结果集与区块高度进行对应,使得所有数据库对应的区块高度是一致的,且在数据存储失败时容易通过区块高度恢复到原有数据库。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中基于区块链的数据存储方法的一应用环境示意图;
图2是本发明一实施例中基于区块链的数据存储方法的一流程图;
图3是本发明一实施例中基于区块链的数据存储装置的结构示意图;
图4是本发明一实施例中服务器的一示意图;
图5是本发明一实施例中终端设备的一示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请提供的基于区块链的数据存储方法,可应用在如图1的应用环境中,其中,计算机设备/终端设备/……通过网络与服务器进行通信。其中,计算机设备/终端设备/……可以但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一实施例中,如图2所示,提供一种基于区块链的数据存储方法,以该方法应用在图1中的服务器为例进行说明,包括如下步骤S101至S104:
S101、创建用于映射数据库的区块链逻辑存储层;其中,数据库包括连续型数据库和非连续型数据库。
在步骤S101中,区块链逻辑存储层与数据库形成映射关系。上述连续型数据库包括但不限于区块数据库、回执数据库、日志数据库。上述非连续型数据库包括但不限于合约数据库、账户数据库、索引数据库。
S102、当区块链接收到一个存储请求时,基于区块链逻辑存储层生成一个与区块链中的一个区块相对应的空结果集。
在步骤S102中,上述空结果集用于存储与数据库的类型相对应的数据,该数据库已与区块链逻辑存储层形成映射关系。例如,当区块链逻辑存储层映射区块数据库、回执数据库、日志数据库、合约数据库、账户数据库和索引数据库这六种数据库时,空结果集用于存储区块数据、回执数据、日志数据、合约数据、账户数据和索引数据这六种数据。
具体的,步骤S102包括如下步骤a至b:
a、当区块链接收到存储请求时,基于区块链逻辑存储层获取一个区块;其中,区块包括区块高度和区块号,区块高度与区块号形成一一对应关系。
b、根据区块号生成与区块高度相对应的空结果集。
对于上述步骤a和b,结合实例进行说明:
例如,在步骤a中,当区块链接收到一个存储请求时,基于区块链逻辑存储层获取到一个区块号为M,区块高度为M的区块。区块高度与区块号形成一一对应关系是指若已知区块号为M,则可知该区块号对应的区块的区块高度为M。那么,在步骤b中,则可根据区块号M,对应该区块生成一个空结果集,则该空结果集对应的区块高度为M。
S103、将存储请求对应的数据按照数据类型写入空结果集,以获得存储结果集;其中,数据类型包括连续型数据和非连续型数据。
具体的,步骤S103包括如下步骤c至d:
c、对与存储请求对应的数据进行分类并确定相应的数据类型,按照数据类型将数据写入空结果集。
d、将写入空结果集中的数据与空结果集相对应的区块高度形成一一对应关系,以得到存储结果集。
S104、根据数据类型,将存储结果集中的数据并行存储到与数据类型相对应的数据库。
为了更好地说明上述实施例,以下结合实例对步骤S102至S104作进一步的说明:
例如,假设区块链逻辑存储层映射区块数据库、回执数据库、日志数据库、合约数据库、账户数据库和索引数据库这六种数据库。
对于步骤S102,当接收到存储请求时,先生成一个空结果集,该空结果集对应的区块高度为N。
对于步骤S103,对存储请求对应的数据进行分类,分成区块数据、回执数据、日志数据、合约数据、账户数据和索引数据这六种数据,并将数据写入空结果集中,获得了存储结果集,其中,存储结果集中的区块数据、回执数据、日志数据、合约数据、账户数据和索引数据对应的区块高度均为N。
对于步骤S104,将存储结果集中的区块数据存储到区块数据库、回执数据存储到回执数据库、日志数据存储到日志数据库、合约数据存储到合约数据库、账户数据存储到账户数据库、索引数据存储到索引数据库。
在本发明另一实施例中,在步骤S104之后还包括如下步骤A:
A、将数据库与存储到数据库的数据所对应的区块高度形成一一对应关系。
对于上述步骤A,例如,当存储到数据库的数据所对应的区块高度为N时,此时该数据库对应的区块高度也为N。
在步骤A之后还包括如下步骤B:
B、判断所有数据库所对应的区块高度是否一致,若一致,则确定存储结果集中的数据已成功存储到与数据类型相对应的数据库,若不一致,则确定存储结果集中的数据未全部成功存储到与数据类型相对应的数据库。
具体的,在上述若不一致,则确定存储结果集中的数据未全部成功存储到与数据类型相对应的数据库的步骤之后还包括如下步骤e:
e、在已成功存储数据的数据库中对来自存储结果集的数据进行删除。
为了更好地说明上述实施例,以下结合实例对步骤B作进一步的说明:
例如,当前区块数据库、回执数据库对应的区块高度为N-1,日志数据库、合约数据库、账户数据库和索引数据库对应的区块高度为N。
首先判断出所有数据库所对应的区块高度不一致,其中区块数据库和回执数据库中对应的区块高度较小,从而确定区块数据未全部成功存储到区块数据库,回执数据未全部成功存储到回执数据库。
为了保证数据库的一致性,则对日志数据库中对应区块高度为N的日志数据、合约数据库中对应区块高度为N的合约数据、账户数据库中对应区块高度为N的账户数据以及索引数据库中对应区块高度为N的索引数据进行删除。因此,能够在数据未全部成功存储到与数据类型相对应的数据库时,保证数据库的一致性,并将数据库恢复至原有状态。
本发明实施例提出了一种基于区块链的数据存储方法,首先创建用于映射数据库的区块链逻辑存储层;其中,数据库包括连续型数据库和非连续型数据库;当区块链接收到一个存储请求时,基于区块链逻辑存储层生成一个与区块链中的一个区块相对应的空结果集;将存储请求对应的数据按照数据类型写入空结果集,以获得存储结果集;其中,数据类型包括连续型数据和非连续型数据;根据数据类型,将存储结果集中的数据并行存储到与数据类型相对应的数据库。对不同数据类型的数据库存储操作是并行进行的,提高了数据存储效率。通过将存储结果集与区块高度进行对应,使得所有数据库对应的区块高度是一致的,且在数据存储失败时容易通过区块高度恢复到原有数据库,能够解决因对不同类型的数据进行串行存储而导致数据库存储效率低,一致性无法保证且在数据存储失败时难以恢复到原有数据库的问题。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。在一实施例中,提供一种基于区块链的数据存储装置,该基于区块链的数据存储装置与上述实施例中基于区块链的数据存储方法一一对应。如图3所示,该基于区块链的数据存储装置包括创建模块11、获取空结果集模块12、获取存储结果集模块13和存储模块14。各功能模块详细说明如下:
创建模块11,用于创建用于映射数据库的区块链逻辑存储层;其中,数据库包括连续型数据库和非连续型数据库。
获取空结果集模块12,用于当区块链接收到一个存储请求时,基于区块链逻辑存储层生成一个与区块链中的一个区块相对应的空结果集。
获取存储结果集模块13,用于将存储请求对应的数据按照数据类型写入空结果集,以获得存储结果集;其中,数据类型包括连续型数据和非连续型数据。
存储模块14,用于根据数据类型,将存储结果集中的数据并行存储到与数据类型相对应的数据库。
在其中一个实施例中,获取空结果集模块12进一步包括:
区块生成单元,用于当区块链接收到存储请求时,基于区块链逻辑存储层获取一个区块;其中,区块包括区块高度和区块号,区块高度与区块号形成一一对应关系。
空结果集生成单元,用于根据区块号生成与区块高度相对应的空结果集。
在其中一个实施例中,获取存储结果集模块13进一步包括:
数据写入单元,用于对与存储请求对应的数据进行分类并确定相应的数据类型,按照数据类型将数据写入空结果集。
存储结果集生成单元,用于将写入空结果集中的数据与空结果集相对应的区块高度形成一一对应关系,以得到存储结果集。
在该实施例中,存储模块14之后包括:
数据库对应模块,用于将数据库与存储到数据库的数据所对应的区块高度形成一一对应关系。
在该实施例中,数据库对应模块之后包括:
判断模块,用于判断所有数据库所对应的区块高度是否一致,若一致,则确定存储结果集中的数据已成功存储到与数据类型相对应的数据库,若不一致,则确定存储结果集中的数据未全部成功存储到与数据类型相对应的数据库。
在该实施例中,判断模块进一步包括:
删除单元,用于在已成功存储数据的数据库中对来自存储结果集的数据进行删除。
其中上述模块/单元中的“第一”和“第二”的意义仅在于将不同的模块/单元加以区分,并不用于限定哪个模块/单元的优先级更高或者其它的限定意义。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块,本申请中所出现的模块的划分,仅仅是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式。
关于基于区块链的数据存储装置的具体限定可以参见上文中对于基于区块链的数据存储方法的限定,在此不再赘述。上述基于区块链的数据存储装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图4所示。该计算机设备包括通过***总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***、计算机程序和数据库。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的数据库用于存储基于区块链的数据存储方法中涉及到的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于区块链的数据存储方法。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图5所示。该计算机设备包括通过***总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***和计算机程序。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部服务器通过网络连接通信。该计算机程序被处理器执行时以实现一种基于区块链的数据存储方法。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例中基于区块链的数据存储方法的步骤,例如图2所示的步骤S101至步骤S104及该方法的其它扩展和相关步骤的延伸。或者,处理器执行计算机程序时实现上述实施例中基于区块链的数据存储装置的各模块/单元的功能,例如图3所示模块11至模块14的功能。为避免重复,这里不再赘述。
所述处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述计算机装置的控制中心,利用各种接口和线路连接整个计算机装置的各个部分。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述计算机装置的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、视频数据等)等。
所述存储器可以集成在所述处理器中,也可以与所述处理器分开设置。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例中基于区块链的数据存储方法的步骤,例如图2所示的步骤S101至步骤S104及该方法的其它扩展和相关步骤的延伸。或者,计算机程序被处理器执行时实现上述实施例中基于区块链的数据存储装置的各模块/单元的功能,例如图3所示模块11至模块14的功能。为避免重复,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算时,机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

Claims (10)

1.一种基于区块链的数据存储方法,其特征在于,包括:
创建用于映射数据库的区块链逻辑存储层;其中,所述数据库包括连续型数据库和非连续型数据库;
当所述区块链接收到一个存储请求时,基于所述区块链逻辑存储层生成一个与区块链中的一个区块相对应的空结果集;
将所述存储请求对应的数据按照数据类型写入所述空结果集,以获得存储结果集;其中,所述数据类型包括连续型数据和非连续型数据;
根据所述数据类型,将所述存储结果集中的数据并行存储到与所述数据类型相对应的数据库。
2.根据权利要求1所述的方法,其特征在于,所述当所述区块链接收到一个存储请求时,基于所述区块链逻辑存储层生成一个与区块链中的一个区块相对应的空结果集包括:
当所述区块链接收到所述存储请求时,基于所述区块链逻辑存储层获取一个区块;其中,所述区块包括区块高度和区块号,所述区块高度与所述区块号形成一一对应关系;
根据所述区块号生成与所述区块高度相对应的空结果集。
3.根据权利要求2所述的方法,其特征在于,所述将所述存储请求对应的数据按照数据类型写入所述空结果集,以获得存储结果集包括:
对与所述存储请求对应的数据进行分类并确定相应的数据类型,按照所述数据类型将所述数据写入所述空结果集;
将写入所述空结果集中的数据与所述空结果集相对应的区块高度形成一一对应关系,以得到存储结果集。
4.根据权利要求3所述的方法,其特征在于,所述根据所述数据类型,将所述存储结果集中的数据并行存储到与所述数据类型相对应的数据库之后,所述方法还包括:
将所述数据库与存储到所述数据库的数据所对应的区块高度形成一一对应关系。
5.根据权利要求4所述的方法,其特征在于,所述将所述数据库与存储到所述数据库的数据所对应的区块高度形成一一对应关系之后,所述方法还包括:
判断所有所述数据库所对应的区块高度是否一致,若一致,则确定所述存储结果集中的数据已成功存储到与所述数据类型相对应的数据库,若不一致,则确定所述存储结果集中的数据未全部成功存储到与所述数据类型相对应的数据库。
6.根据权利要求5所述的方法,其特征在于,所述若不一致,则确定所述存储结果集中的数据未全部成功存储到与所述数据类型相对应的数据库之后还包括:
在已成功存储数据的数据库中对来自所述存储结果集的数据进行删除。
7.一种基于区块链的数据存储装置,其特征在于,包括:
创建模块,用于创建用于映射数据库的区块链逻辑存储层;其中,所述数据库包括连续型数据库和非连续型数据库;
获取空结果集模块,用于当所述区块链接收到一个存储请求时,基于所述区块链逻辑存储层生成一个与区块链中的一个区块相对应的空结果集
获取存储结果集模块,用于将所述存储请求对应的数据按照数据类型写入所述空结果集,以获得存储结果集;其中,所述数据类型包括连续型数据和非连续型数据;
存储模块,用于根据所述数据类型,将所述存储结果集中的数据并行存储到与所述数据类型相对应的数据库。
8.根据权利要求7所述的装置,其特征在于,所述获取空结果集模块包括:
区块生成单元,用于当所述区块链接收到所述存储请求时,基于所述区块链逻辑存储层获取一个区块;其中,所述区块包括区块高度和区块号,所述区块高度与所述区块号形成一一对应关系;
获取空结果集单元,用于根据所述区块号生成与所述区块高度相对应的空结果集。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6中任一项所述基于区块链的数据存储方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述基于区块链的数据存储方法的步骤。
CN202011604663.6A 2020-12-29 2020-12-29 基于区块链的数据存储方法、装置及设备 Active CN112632080B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011604663.6A CN112632080B (zh) 2020-12-29 2020-12-29 基于区块链的数据存储方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011604663.6A CN112632080B (zh) 2020-12-29 2020-12-29 基于区块链的数据存储方法、装置及设备

Publications (2)

Publication Number Publication Date
CN112632080A true CN112632080A (zh) 2021-04-09
CN112632080B CN112632080B (zh) 2023-01-13

Family

ID=75286338

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011604663.6A Active CN112632080B (zh) 2020-12-29 2020-12-29 基于区块链的数据存储方法、装置及设备

Country Status (1)

Country Link
CN (1) CN112632080B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113326165A (zh) * 2021-08-04 2021-08-31 腾讯科技(深圳)有限公司 基于区块链的数据处理方法、设备及计算机可读存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102508802A (zh) * 2011-11-16 2012-06-20 刘大可 基于并行随机存储器的数据写入、读取方法、装置及***
CN109189785A (zh) * 2018-08-10 2019-01-11 平安科技(深圳)有限公司 数据存储方法、装置、计算机设备及存储介质
CN110096522A (zh) * 2019-05-15 2019-08-06 西安电子科技大学 一种支持关系型检索的区块链数据处理方法、装置及设备
CN110197708A (zh) * 2019-06-05 2019-09-03 重庆邮电大学 一种面向电子医疗病历的区块链迁移与存储方法
CN110209681A (zh) * 2019-05-22 2019-09-06 深圳壹账通智能科技有限公司 区块链数据入链方法、装置、计算机设备和存储介质
CN111651449A (zh) * 2020-04-08 2020-09-11 深圳市华智有为科技有限公司 数据存储的方法、回退信息的方法、终端及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102508802A (zh) * 2011-11-16 2012-06-20 刘大可 基于并行随机存储器的数据写入、读取方法、装置及***
CN109189785A (zh) * 2018-08-10 2019-01-11 平安科技(深圳)有限公司 数据存储方法、装置、计算机设备及存储介质
CN110096522A (zh) * 2019-05-15 2019-08-06 西安电子科技大学 一种支持关系型检索的区块链数据处理方法、装置及设备
CN110209681A (zh) * 2019-05-22 2019-09-06 深圳壹账通智能科技有限公司 区块链数据入链方法、装置、计算机设备和存储介质
CN110197708A (zh) * 2019-06-05 2019-09-03 重庆邮电大学 一种面向电子医疗病历的区块链迁移与存储方法
CN111651449A (zh) * 2020-04-08 2020-09-11 深圳市华智有为科技有限公司 数据存储的方法、回退信息的方法、终端及存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113326165A (zh) * 2021-08-04 2021-08-31 腾讯科技(深圳)有限公司 基于区块链的数据处理方法、设备及计算机可读存储介质
CN113326165B (zh) * 2021-08-04 2021-11-16 腾讯科技(深圳)有限公司 基于区块链的数据处理方法、设备及计算机可读存储介质
WO2023011022A1 (zh) * 2021-08-04 2023-02-09 腾讯科技(深圳)有限公司 基于区块链的数据处理方法、设备及计算机可读存储介质

Also Published As

Publication number Publication date
CN112632080B (zh) 2023-01-13

Similar Documents

Publication Publication Date Title
CN110489421B (zh) 数据存储方法、装置、计算机可读存储介质和计算机设备
CN110781214A (zh) 数据库读写方法、装置、计算机设备和存储介质
CN109144487B (zh) 进件业务开发方法、装置、计算机设备和存储介质
CN112162773B (zh) 差分升级方法及装置、存储介质、终端
CN111209120A (zh) 微服务的数据同步方法、装置及计算机可读存储介质
CN112182010B (zh) 脏页刷新方法和装置、存储介质和电子设备
CN112559529A (zh) 数据存储方法、装置、计算机设备及存储介质
CN112632080B (zh) 基于区块链的数据存储方法、装置及设备
CN112650729B (zh) 一种分布式文件***的权限管理方法、***以及存储介质
CA3147376A1 (en) Data processing method, device, computer equipment and storage medium
CN114089921A (zh) 电力***数据存储方法、装置、计算机设备和存储介质
CN113535563A (zh) 测试用例去重方法、装置、计算机设备及存储介质
CN111176715A (zh) 一种信息调用方法及服务器
CN114614992B (zh) 签名值输出及验证方法、装置、计算机设备、存储介质
CN113722623B (zh) 数据处理方法、装置、电子设备及存储介质
CN113157738B (zh) 堆内数据缓存同步方法、装置、计算机设备及存储介质
CN112650451B (zh) 查找网络服务器的优化方法、装置、计算机设备及存储介质
CN114238052A (zh) 压测数据过滤方法、装置、存储介质及计算机设备
CN109542345B (zh) Flash存储器的数据写入和读取方法、装置
CN112395252A (zh) 文件合并方法、装置及电子设备
CN112578772A (zh) 电子控制单元的数据处理方法及相关装置
CN112783866A (zh) 数据读取方法、装置、计算机设备和存储介质
CN110955647A (zh) 数据库辅助方法、装置、计算机设备和存储介质
CN110309038B (zh) 性能测试方法、装置、电子设备及计算机可读存储介质
CN109918290B (zh) 目标设备的自动筛选方法、装置、计算机设备及存储介质

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