CN116226137B - 一种数据存储方法、装置、设备及存储介质 - Google Patents
一种数据存储方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116226137B CN116226137B CN202310498185.2A CN202310498185A CN116226137B CN 116226137 B CN116226137 B CN 116226137B CN 202310498185 A CN202310498185 A CN 202310498185A CN 116226137 B CN116226137 B CN 116226137B
- Authority
- CN
- China
- Prior art keywords
- data
- data storage
- stored
- target
- storage partition
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Medical Informatics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
本申请公开了一种数据存储方法、装置、设备及存储介质,应用于区块链数据库中的存储操作区,以解决因传统区块链各节点存储的数据可以共享导致的隐私数据泄露问题,涉及数据库设计技术领域,该方法包括:接收用户终端发出的数据存储指令和包括当前区块链节点的用户隐私数据或共享信息的待存储数据;解析数据存储指令以从区块链数据库的数据存储分区中确定待存储数据的目标数据存储分区;数据存储分区包括本地数据存储分区和公共数据存储分区;判断目标数据存储分区的目标地址是否能够存储待存储数据;如果是,则将待存储数据存储至目标数据存储分区的目标地址中。本申请能够实现用户隐私数据和共享信息的分区存储,避免用户隐私数据的泄露。
Description
技术领域
本发明涉及数据库设计技术领域,特别涉及一种数据存储方法、装置、设备及存储介质。
背景技术
随着人工智能领域和信息化社会的不断发展,区块链中涉及到的信息种类和数量日渐增加,其中,区块链可以理解为一种分布式数据存储技术,它将数据分散在多个不同节点之间,并允许多个实体持有某种资源或交换信息的共享账本,所有查询和信息交换都可在不同节点终端平台实现而不需要受信任的中心服务器来维护,但是由于传统区块链各节点存储的数据可以实现共享,这给区块链节点用户的信息安全带来了严重隐患,信息泄露的影响为数据库设计技术的发展带来了巨大挑战。
为此,如何提供一种解决由于传统区块链各节点存储的数据可以实现共享而导致隐私数据泄露问题的技术方案,已经是本领域技术人员所亟需关注的。
发明内容
有鉴于此,本发明的目的在于提供一种数据存储方法、装置、设备及存储介质,能够避免用户隐私信息泄露,最大程度上保护了区块链节点用户隐私信息的安全。其具体方案如下:
第一方面,本申请公开了一种数据存储方法,应用于区块链数据库中的存储操作区,包括:
接收用户终端发出的数据存储指令和待存储数据;所述待存储数据包括当前区块链节点的用户隐私数据或共享信息;
解析所述数据存储指令以从所述区块链数据库的数据存储分区中确定所述待存储数据的目标数据存储分区;所述数据存储分区包括本地数据存储分区和公共数据存储分区;
判断所述目标数据存储分区的目标地址是否能够存储所述待存储数据;
如果所述目标数据存储分区的目标地址能够存储所述待存储数据,则将所述待存储数据存储至所述目标数据存储分区的所述目标地址中。
可选的,所述接收用户终端发出的数据存储指令和待存储数据之后,还包括:
将所述待存储数据存放至所述区块链数据库的数据缓存区中的第一层数据缓存区;所述数据缓存区包括为所述本地数据存储分区和所述公共数据存储分区所共享的所述第一层数据缓存区以及与所述本地数据存储分区和所述公共数据存储分区分别对应的第二层数据缓存区和第三层数据缓存区。
可选的,所述解析所述数据存储指令以从所述区块链数据库的数据存储分区中确定所述待存储数据的目标数据存储分区,包括:
当所述待存储数据完成缓存后,通过命令仲裁器解析所述数据存储指令以从所述区块链数据库的数据存储分区中确定所述待存储数据的目标数据存储分区。
可选的,所述数据存储方法,还包括:
将所述第一层数据缓存区中的所述待存储数据发送至与所述目标数据存储分区对应的所述第二层数据缓存区;
利用预设重构算法对存放至所述第二层数据缓存区中的所述待存储数据进行重组以将所述待存储数据的格式调整为满足预设存储要求的格式,并将重组后数据返回至所述第二层数据缓存区。
可选的,所述判断所述目标数据存储分区的目标地址是否能够存储所述待存储数据,包括:
通过地址仲裁器对所述第二层数据缓存区的数据存储地址进行仲裁,并基于仲裁结果判断所述目标数据存储分区的目标地址是否能够存储所述待存储数据。
可选的,所述基于所述仲裁结果判断所述目标数据存储分区的目标地址是否能够存储所述待存储数据,包括:
如果所述仲裁结果表明仲裁通过,则判定所述目标数据存储分区对应的目标地址能够存储所述待存储数据;
如果所述仲裁结果表明仲裁未通过,则判定所述目标数据存储分区对应的目标地址不能够存储所述待存储数据。
可选的,所述将所述待存储数据存储至所述目标数据存储分区的所述目标地址中,包括:
将所述第二层数据缓存区中的所述重组后数据发送至与所述目标数据存储分区对应的所述第三层数据缓存区;
将所述第三层数据缓存区中的所述重组后数据存储至所述目标数据存储分区的所述目标地址中。
第二方面,本申请公开了一种数据存储装置,应用于区块链数据库中的存储操作区,包括:
接收模块,用于接收用户终端发出的数据存储指令和待存储数据;所述待存储数据包括当前区块链节点的用户隐私数据或共享信息;
指令解析模块,用于解析所述数据存储指令以从所述区块链数据库的数据存储分区中确定所述待存储数据的目标数据存储分区;所述数据存储分区包括本地数据存储分区和公共数据存储分区;
判断模块,用于判断所述目标数据存储分区的目标地址是否能够存储所述待存储数据;
数据存储模块,用于如果所述目标数据存储分区的目标地址能够存储所述待存储数据,则将所述待存储数据存储至所述目标数据存储分区的所述目标地址中。
第三方面,本申请公开了一种电子设备,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现前述公开的数据存储方法的步骤。
第四方面,本申请公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的数据存储方法的步骤。
可见,本申请提供了一种数据存储方法,应用于区块链数据库中的存储操作区,包括:接收用户终端发出的数据存储指令和待存储数据;所述待存储数据包括当前区块链节点的用户隐私数据或共享信息;解析所述数据存储指令以从所述区块链数据库的数据存储分区中确定所述待存储数据的目标数据存储分区;所述数据存储分区包括本地数据存储分区和公共数据存储分区;判断所述目标数据存储分区的目标地址是否能够存储所述待存储数据;如果所述目标数据存储分区的目标地址能够存储所述待存储数据,则将所述待存储数据存储至所述目标数据存储分区的所述目标地址中。由此可知,本申请在数据存储的过程中,区块链数据库中的存储操作区将当前区块链节点的用户隐私数据和共享信息分别存储至本地数据存储分区和公共数据存储分区,实现用户隐私数据和共享信息的分区存储,从而能够避免用户隐私数据的泄露,最大程度上保护了区块链节点用户隐私数据的安全。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的一种数据存储方法流程图;
图2为本申请公开的一种具体的数据存储方法流程图;
图3为本申请公开的单个区块链数据库整体架构示意图;
图4为本申请公开的一种区块链数据库应用示意图;
图5为本申请公开的一种数据查询方法流程图;
图6为本申请公开的一种具体的区块链数据库架构示意图;
图7为本申请公开的一种数据存储装置结构示意图;
图8为本申请公开的一种电子设备结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
当前,由于传统区块链各节点存储的数据可以实现共享,这给区块链节点的用户隐私信息安全带来了严重隐患。为此,本申请提供了一种数据存储方案,能够避免信息泄露,最大程度上保护了区块链节点的用户隐私信息的安全。
本发明实施例公开了一种数据存储方法,参见图1所示,应用于区块链数据库中的存储操作区,该方法包括:
步骤S11:接收用户终端发出的数据存储指令和待存储数据;所述待存储数据包括当前区块链节点的用户隐私数据或共享信息。
可以理解的是,用户终端要存储至所述区块链数据库中的所述待存储数据为用户隐私数据或共享信息,用户终端发出数据存储指令和待存储数据至区块链数据库,所述区块链数据库中的存储操作区根据所述数据存储指令执行相应的数据存储操作以将所述待存储数据存储至所述区块链数据库中对应的数据存储分区,即使得用户隐私数据存储至所述区块链数据库中的一个数据存储分区,可用于与其他区块链节点共享的共享信息存储至所述区块链数据库中的另一个数据存储分区。
步骤S12:解析所述数据存储指令以从所述区块链数据库的数据存储分区中确定所述待存储数据的目标数据存储分区;所述数据存储分区包括本地数据存储分区和公共数据存储分区。
需要指出的是,所述本地数据存储分区主要用于存储当前区块链节点的用户内部数据,其他区块链节点无法正常查询所述本地数据存储分区;所述公共数据存储分区用于存储当前区块链节点的共享信息,其他所有区块链节点均可查询访问所述公共数据存储分区。
本实施例中,在数据存储的过程中,接收用户终端发出的数据存储指令和待存储数据之后,解析所述数据存储指令以从所述区块链数据库的数据存储分区中确定所述待存储数据的目标数据存储分区。可以理解的是,所述数据存储分区包括本地数据存储分区和公共数据存储分区,解析用户终端发出的所述数据存储指令以明确将用户终端发出的待存储数据存储至区块链数据库中的哪一个数据存储分区,例如,如果解析数据存储指令确定出待存储数据的目标数据存储分区为本地数据存储分区,并且所述待存储数据为用户隐私数据时,后续执行将该用户隐私数据存储至本地数据存储分区的相关操作。如果解析数据存储指令确定出待存储数据的目标数据存储分区为公共数据存储分区,并且所述待存储数据为共享数据时,后续执行将该共享数据存储至公共数据存储分区的相关操作。
步骤S13:判断所述目标数据存储分区的目标地址是否能够存储所述待存储数据。
本实施例中,解析数据存储指令确定出目标数据存储分区之后,还需要判断所述目标数据存储分区的目标地址是否能够存储所述待存储数据,以避免在解析用户终端发出的所述数据存储指令出错时导致待存储数据存储不当问题的发生,使得待存储数据存储至区块链数据库中相应的数据存储分区,提高数据存储的准确率。
步骤S14:如果所述目标数据存储分区的目标地址能够存储所述待存储数据,则将所述待存储数据存储至所述目标数据存储分区的所述目标地址中。
本实施例中,判断所述目标数据存储分区的目标地址是否能够存储所述待存储数据,如果所述目标数据存储分区的目标地址能够存储所述待存储数据,则将所述待存储数据存储至所述目标数据存储分区的所述目标地址中。
可见,本申请实施例中,在数据存储的过程中,区块链数据库中的存储操作区将当前区块链节点的用户隐私数据和共享信息分别存储至本地数据存储分区和公共数据存储分区,实现用户隐私数据和共享信息的分区存储,从而能够避免用户隐私数据的泄露,最大程度上保护了区块链节点用户隐私数据的安全。
参见图2所示,本发明实施例公开了一种具体的数据存储方法,相较于上一实施例,本实施例对技术方案作了进一步的说明和优化。
步骤S21:接收用户终端发出的数据存储指令和待存储数据;所述待存储数据包括当前区块链节点的用户隐私数据或共享信息。
步骤S22:将所述待存储数据存放至所述区块链数据库的数据缓存区中的第一层数据缓存区;所述数据缓存区包括为所述本地数据存储分区和所述公共数据存储分区所共享的所述第一层数据缓存区以及与所述本地数据存储分区和所述公共数据存储分区分别对应的第二层数据缓存区和第三层数据缓存区。
可以理解的是,对于数据存储的过程中,接收用户终端发出的数据存储指令和待存储数据之后,先将待存储数据存放至区块链数据库中的数据缓存区的中的第一层数据缓存区,其中,所述数据缓存区包含三层数据缓存区,第一层数据缓存区为本地数据存储或公共数据存储时所共享的缓存区,也就是说,不管当前待存储数据为用户隐私数据还是共享信息,都可以将用户隐私数据或共享信息缓存至所述第一层数据缓存区,并且本地数据存储分区和公共数据存储分区分别有对应的第二层数据缓存区和第三层数据缓存区。
步骤S23:当所述待存储数据完成缓存后,通过命令仲裁器解析所述数据存储指令以从所述区块链数据库的数据存储分区中确定所述待存储数据的目标数据存储分区;所述数据存储分区包括本地数据存储分区和公共数据存储分区。
可以理解的是,所述数据存储分区包括本地数据存储分区和公共数据存储分区,解析数据存储指令以确定待存储数据是要存储至本地数据存储分区还是公共数据存储分区以便后续确定是将第一层数据缓存区中的所述待存储数据发送至所述本地数据存储分区对应的第二层数据缓存区和第三层数据缓存区还是所述公共数据存储分区对应的第二层数据缓存区和第三层数据缓存区。
步骤S24:将所述第一层数据缓存区中的所述待存储数据发送至与所述目标数据存储分区对应的所述第二层数据缓存区。
本实施例中,将所述待存储数据缓存至所述第一层数据缓存区,进而根据解析所述数据存储指令确定出的目标数据存储分区,将所述第一层数据缓存区中缓存的所述待存储数据发送至与所述目标数据存储分区对应的第二层数据缓存区进行缓存。
步骤S25:利用预设重构算法对存放至所述第二层数据缓存区中的所述待存储数据进行重组以将所述待存储数据的格式调整为满足预设存储要求的格式,并将重组后数据返回至所述第二层数据缓存区。
本实施例中,重组缓存至所述第二层数据缓存区中的所述待存储数据,使得所述待存储数据的格式满足目标数据存储分区中的存储要求,并将重组后数据返回至所述第二层数据缓存区进行缓存。
步骤S26:通过地址仲裁器对所述第二层数据缓存区的数据存储地址进行仲裁,并基于仲裁结果判断所述目标数据存储分区的目标地址是否能够存储所述待存储数据。
可以理解的是,接收到用户终端发送至的接收用户终端发出的数据存储指令和待存储数据之后,将待存储数据存放至区块链数据库中的数据缓存区的中的第一层数据缓存区,同时仲裁解析数据存储指令以确定待存储数据是要存储至区块链数据库的数据存储分区中的本地数据存储分区还是公共数据存储分区,例如,如果待存储数据是要存储至所述本地数据存储分区,则将第一层数据缓存区中缓存的所述待存储数据存储至与所述本地数据存储分区对应的第二层数据缓存区,并重构第二层数据缓存区中所述待存储数据,接着仲裁第二层数据缓存区的数据存储地址以判断所述本地数据存储分区的目标地址是否能够存储所述待存储数据。如果所述仲裁结果表明仲裁通过,则判定所述目标数据存储分区对应的目标地址能够存储所述待存储数据;如果所述仲裁结果表明仲裁未通过,则判定所述目标数据存储分区对应的目标地址不能够存储所述待存储数据。
步骤S27:如果所述目标数据存储分区的目标地址能够存储所述待存储数据,则将所述第二层数据缓存区中的所述重组后数据发送至与所述目标数据存储分区对应的所述第三层数据缓存区,并将所述第三层数据缓存区中的所述重组后数据存储至所述目标数据存储分区的所述目标地址中。
本实施例中,确定目标数据存储分区的目标地址能够存储所述待存储数据之后,将第二层数据缓存区中的所述重组后数据发送至与所述目标数据存储分区对应的所述第三层数据缓存区,并将所述第三层数据缓存区中的所述重组后数据存储至所述目标数据存储分区的所述目标地址中。可以理解的是,在数据存储的过程中,通过包含三层数据缓存区实现待存储数据的缓存,并在缓存的过程中完成待存储数据的重构,使得待存储数据以满足存储要求的格式存储至目标数据存储分区。
关于上述步骤S21具体内容可以参考前述实施例中公开的相应内容,在此不再进行赘述。
可见,本申请实施例中,对于数据存储过程,区块链数据库调用多种算法对指令和数据进行解析,重构数据格式,仲裁存储地址将多个复杂过程有机结合进而完成将当前区块链节点的用户隐私数据和共享信息分别存储至本地数据存储分区和公共数据存储分区的数据存储任务,实现用户隐私数据和共享信息的分区存储,从而能够避免用户隐私数据的泄露,最大程度上保护了区块链节点用户隐私数据的安全。
需要指出的是,参见图3所示,上述区块链数据库包括用于控制数据的存储与查询的控制模块,即区块链数据库控制CPU,以及用于存储当前区块链节点的用户隐私数据或共享信息的数据存储分区;其中,所述控制模块包括用于执行数据存储的存储操作区、用于执行数据查询的查询操作区以及用于缓存数据的数据缓存区;所述数据存储分区包括用于存储当前区块链节点的用户隐私数据存储的本地数据存储分区和用于存储当前区块链节点的共享信息的公共数据存储分区;所述数据缓存区包括为所述本地数据存储分区和所述公共数据存储分区所共享的第一层数据缓存区以及与所述本地数据存储分区和所述公共数据存储分区分别对应的第二层数据缓存区和第三层数据缓存区。并且所述控制模块与所述数据存储模块通过电信号进行信息交换。也就是说,通过所述区块链数据库的存储操作区用户隐私数据和共享信息的分区存储,并通过所述区块链数据库的查询操作区实现用户隐私数据和共享信息的查询,并且上述区块链数据库被应用于区块链架构的每一个节点,当前节点的用户隐私数据通常存储于区块链数据库的本地数据存储分区,可用于与区块链架构上的其他节点共享的数据常被存储于区块链数据库的公共数据存储分区。参见图4所示,各节点可以通过区块链网络查询其他区块链数据库的公共数据存储分区数据内容,也可以直接查询当前节点的区块链数据库的本地数据存储分区,而且不同区块链数据库通过区块链网络查询时,查询指令信息和查询数据可以通过电信号的形式进行传输。
参见图5所示,本发明实施例还公开了一种数据查询方法,应用于区块链数据库中的查询操作区,该方法包括:
步骤S31:根据用户终端下发的数据查询指令在所述区块链数据库的数据存储分区中查询目标数据,并将查询到的所述目标数据存放至与所述数据存储分区对应的第三层数据缓存区;所述数据存储分区包括本地数据存储分区和公共数据存储分区。
本实施例中,当用户终端发出数据查询指令后,在当前节点的区块链数据库的数据存储区进行检索以查询目标数据,也可以对链上其他节点的区块链数据库的公共数据存储区进行检索。例如,如果在当前节点的区块链数据库中的本地数据存储分区没有查询到目标数据,则在当前节点的区块链数据库中的公共数据存储分区或者链上其他节点的区块链数据库的公共数据存储区查询目标数据,然后将查询到的所述目标数据存放至与数据存储分区对应的第三层数据缓存区。例如,如果在当前节点的区块链数据库中的本地数据存储分区查询到目标数据,则将查询到的所述目标数据存放至与所述本地数据存储分区对应的第三层数据缓存区。
步骤S32:按照预设查询要求对所述第三层数据缓存区中的所述目标数据进行计算,并将计算后数据存储至与所述数据存储分区对应的第二层数据缓存区。
本实施例中,查询到的目标数据缓存至第三层数据缓存区后,按照预设查询要求对所述第三层数据缓存区中缓存的所述目标数据进行计算,例如,对所述第三层数据缓存区中的所述目标数据进行排序、聚合、筛选、过滤、分组等计算处理,进而将计算后数据存储至与所述数据存储分区对应的第二层数据缓存区。
步骤S33:利用预设组合算法对所述第二层数据缓存区的所述计算后数据进行组合以将所述计算后数据的格式转换为满足预设输出要求的格式。
本实施例中,完成对所述第三层数据缓存区中的所述目标数据的计算之后,利用预设组合算法对所述第二层数据缓存区的所述计算后数据进行组合以将所述计算后数据的格式转换为满足预设输出要求的格式。
步骤S34:将组合后数据输出至第一层数据缓存区中,并将所述第一层数据缓存区的所述组合后数据输出至所述用户终端。
本实施例中,将第二层数据缓存区中缓存的所述组合后数据输出至第一层数据缓存区中,进而将所述第一层数据缓存区的所述组合后数据输出至所述用户终端,完成当前数据查询任务。
可见,本申请实施例中,当数据库用户下发查询指令后,当前节点的区块链数据库分别对链上其他节点的区块链数据库的公共数据存储分区、本地数据存储分区进行检索以查找到目标数据,进而在数据缓存区经过一系列复杂的计算实现数据格式转换,并完成数据合成,最终输出查询数据至用户终端,完成当前数据查询任务。
例如,如图6所示,在存储操作区中,当用户终端发出数据存储指令后,数据存储指令和待存储数据被发送至数据缓存区的第一层数据缓存区L1的内存缓存,步骤①:当所有存储数据缓存完成后,仲裁数据存储指令以确定当前待存储数据应当被存放的目标数据存储分区,目标数据存储分区为本地数据存储分区或公共数据存储分区;步骤②:基于命令仲裁结果将数据存放于目标数据存储分区对应第二层数据缓存区L2的内存缓存;步骤③:利用重构算法对第二层数据缓存区L2中缓存的数据进行重组以按照存储要求重新调整数据格式,步骤④:重组结果返回至对应第二层数据缓存区L2的内存缓存;步骤⑤:对第二层数据缓存区L2的数据存储地址进行仲裁以判断目标数据存储分区的目标地址是否可以存储待存储数据;步骤⑥:仲裁通过后,待存储数据被存放至目标数据存储分区对应的第三层数据缓存区L3的内存缓存;步骤⑦:最后,将第三层数据缓存区L3中缓存的数据存储至本地数据存储分区或公共数据存储分区的目标地址中,从而结束单次存储过程。对于数据存储过程,区块链数据库调用多种算法对指令和数据进行解析,重构数据格式,仲裁存储地址,将多个复杂过程有机结合进而完成数据存储任务。
参见上述图6所示,在查询操作区中,当用户终端发出数据查询请求后,步骤⑧:当前节点的区块链数据库分别对链上其他节点的区块链数据库的公共数据存储分区、本地数据存储分区进行检索以查找到目标数据,并将目标数据存储至对应的第三层数据缓存区L3的内存缓存;步骤⑨:计算单元获取L3中缓存的目标数据,并按照查询要求对读取数据进行计算,具体计算操作包括Sort排序、Aggregation聚合、Group by分组、筛选Filter等;步骤⑩:计算结束后,相应的计算结果发送至对应的第二层数据缓存区L2中的内存缓存;步骤⑪:利用组合算法对第二层数据缓存区L2中缓存的数据进行组合以将数据格式调整为符合查询输出要求的格式;步骤⑫:将组合后数据输出至数据缓存区的第一层数据缓存区L1的内存缓存;当所有查询数据处理完成后,将L1中的缓存数据依序输出至用户查询终端,完成单次查询过程。
也即,对于数据存储过程,区块链数据库调用多种算法对指令和数据进行解析,重构数据格式,仲裁存储地址,将多个复杂过程有机结合进而完成将当前区块链节点的用户隐私数据和共享信息分别存储至本地数据存储分区和公共数据存储分区的数据存储任务,实现用户隐私数据和共享信息的分区存储,使得公共数据或本地数据的存储相互独立且互不干扰。并且对于数据查询过程,当数据库用户下发查询指令后,区块链数据库分别对链上其他节点数据库的公共数据存储区、当前数据库存储区进行检索,查找目标数据并经过一系列复杂的查询计算和数据格式转换,读出相应数据并完成数据合成,最终输出查询数据至用户终端,完成当前数据查询任务。在保证区块链正常工作的前提下,在最大程度上保护了区块链节点用户的信息安全,避免信息泄露,同时在一定程度上降低了用户数据库查询数据和存储数据的时延。
相应的,本申请实施例还公开了一种数据存储装置,参见图7所示,应用于区块链数据库中的存储操作区,该装置包括:
接收模块11,用于接收用户终端发出的数据存储指令和待存储数据;所述待存储数据包括当前区块链节点的用户隐私数据或共享信息;
指令解析模块12,用于解析所述数据存储指令以从所述区块链数据库的数据存储分区中确定所述待存储数据的目标数据存储分区;所述数据存储分区包括本地数据存储分区和公共数据存储分区;
判断模块13,用于判断所述目标数据存储分区的目标地址是否能够存储所述待存储数据;
数据存储模块14,用于如果所述目标数据存储分区的目标地址能够存储所述待存储数据,则将所述待存储数据存储至所述目标数据存储分区的所述目标地址中。
由上可见,本申请实施例中,在数据存储的过程中,区块链数据库中的存储操作区将当前区块链节点的用户隐私数据和共享信息分别存储至本地数据存储分区和公共数据存储分区,实现用户隐私数据和共享信息的分区存储,从而能够避免用户隐私数据的泄露,最大程度上保护了区块链节点用户隐私数据的安全。
在一些具体的实施例中,所述数据存储装置,具体还可以包括:
第一数据缓存模块,用于将所述待存储数据存放至所述区块链数据库的数据缓存区中的第一层数据缓存区;所述数据缓存区包括为所述本地数据存储分区和所述公共数据存储分区所共享的所述第一层数据缓存区以及与所述本地数据存储分区和所述公共数据存储分区分别对应的第二层数据缓存区和第三层数据缓存区。
在一些具体的实施例中,所述指令解析模块12,具体可以包括:
指令解析单元,用于当所述待存储数据完成缓存后,通过命令仲裁器解析所述数据存储指令以从所述区块链数据库的数据存储分区中确定所述待存储数据的目标数据存储分区。
在一些具体的实施例中,所述数据存储装置,具体可以包括:
第二数据缓存模块,用于将所述第一层数据缓存区中的所述待存储数据发送至与所述目标数据存储分区对应的所述第二层数据缓存区;
数据重构模块,用于利用预设重构算法对存放至所述第二层数据缓存区中的所述待存储数据进行重组以将所述待存储数据的格式调整为满足预设存储要求的格式,并将重组后数据返回至所述第二层数据缓存区。
在一些具体的实施例中,所述判断模块13,具体可以包括:
地址仲裁单元,用于通过地址仲裁器对所述第二层数据缓存区的数据存储地址进行仲裁;
判断单元,用于基于所述仲裁结果判断所述目标数据存储分区的目标地址是否能够存储所述待存储数据。
在一些具体的实施例中,所述判断单元,具体可以包括:
第一判定单元,用于如果所述仲裁结果表明仲裁通过,则判定所述目标数据存储分区对应的目标地址能够存储所述待存储数据;
第二判定单元,用于如果所述仲裁结果表明仲裁未通过,则判定所述目标数据存储分区对应的目标地址不能够存储所述待存储数据。
在一些具体的实施例中,所述数据存储模块14,具体可以包括:
第三数据缓存单元,用于将所述第二层数据缓存区中的所述重组后数据发送至与所述目标数据存储分区对应的所述第三层数据缓存区;
数据存储单元,用于将所述第三层数据缓存区中的所述重组后数据存储至所述目标数据存储分区的所述目标地址中。
进一步的,本申请实施例还提供了一种电子设备。图8是根据一示例性实施例示出的电子设备20结构图,图中的内容不能认为是对本申请的使用范围的任何限制。
图8为本申请实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的数据存储方法中的相关步骤。另外,本实施例中的电子设备20具体可以为电子计算机。
本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源可以包括操作系统221、计算机程序222等,存储方式可以是短暂存储或者永久存储。
其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,其可以是Windows Server、Netware、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的数据存储方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。
进一步的,本申请实施例还公开了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器加载并执行时,实现前述任一实施例公开的数据存储方法步骤。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种数据存储方法、装置、设备及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (8)
1.一种数据存储方法,其特征在于,应用于区块链数据库中的存储操作区,包括:
接收用户终端发出的数据存储指令和待存储数据;所述待存储数据包括当前区块链节点的用户隐私数据或共享信息;
解析所述数据存储指令以从所述区块链数据库的数据存储分区中确定所述待存储数据的目标数据存储分区;所述数据存储分区包括本地数据存储分区和公共数据存储分区;
判断所述目标数据存储分区的目标地址是否能够存储所述待存储数据;
如果所述目标数据存储分区的目标地址能够存储所述待存储数据,则将所述待存储数据存储至所述目标数据存储分区的所述目标地址中;
其中,所述接收用户终端发出的数据存储指令和待存储数据之后,还包括:
将所述待存储数据存放至所述区块链数据库的数据缓存区中的第一层数据缓存区;所述数据缓存区包括为所述本地数据存储分区和所述公共数据存储分区所共享的所述第一层数据缓存区、与所述本地数据存储分区对应的第二层数据缓存区和第三层数据缓存区,以及与所述公共数据存储分区对应的第二层数据缓存区和第三层数据缓存区;
将所述第一层数据缓存区中的所述待存储数据发送至与所述目标数据存储分区对应的所述第二层数据缓存区;
利用预设重构算法对存放至所述第二层数据缓存区中的所述待存储数据进行重组以将所述待存储数据的格式调整为满足预设存储要求的格式,并将重组后数据返回至所述第二层数据缓存区。
2.根据权利要求1所述的数据存储方法,其特征在于,所述解析所述数据存储指令以从所述区块链数据库的数据存储分区中确定所述待存储数据的目标数据存储分区,包括:
当所述待存储数据完成缓存后,通过命令仲裁器解析所述数据存储指令以从所述区块链数据库的数据存储分区中确定所述待存储数据的目标数据存储分区。
3.根据权利要求1所述的数据存储方法,其特征在于,所述判断所述目标数据存储分区的目标地址是否能够存储所述待存储数据,包括:
通过地址仲裁器对所述第二层数据缓存区的数据存储地址进行仲裁,并基于仲裁结果判断所述目标数据存储分区的目标地址是否能够存储所述待存储数据。
4.根据权利要求3所述的数据存储方法,其特征在于,所述基于仲裁结果判断所述目标数据存储分区的目标地址是否能够存储所述待存储数据,包括:
如果所述仲裁结果表明仲裁通过,则判定所述目标数据存储分区对应的目标地址能够存储所述待存储数据;
如果所述仲裁结果表明仲裁未通过,则判定所述目标数据存储分区对应的目标地址不能够存储所述待存储数据。
5.根据权利要求4所述的数据存储方法,其特征在于,所述将所述待存储数据存储至所述目标数据存储分区的所述目标地址中,包括:
将所述第二层数据缓存区中的所述重组后数据发送至与所述目标数据存储分区对应的所述第三层数据缓存区;
将所述第三层数据缓存区中的所述重组后数据存储至所述目标数据存储分区的所述目标地址中。
6.一种数据存储装置,其特征在于,应用于区块链数据库中的存储操作区,包括:
接收模块,用于接收用户终端发出的数据存储指令和待存储数据;所述待存储数据包括当前区块链节点的用户隐私数据或共享信息;
指令解析模块,用于解析所述数据存储指令以从所述区块链数据库的数据存储分区中确定所述待存储数据的目标数据存储分区;所述数据存储分区包括本地数据存储分区和公共数据存储分区;
判断模块,用于判断所述目标数据存储分区的目标地址是否能够存储所述待存储数据;
数据存储模块,用于如果所述目标数据存储分区的目标地址能够存储所述待存储数据,则将所述待存储数据存储至所述目标数据存储分区的所述目标地址中;
其中,所述数据存储装置,还包括:
第一数据缓存模块,用于将所述待存储数据存放至所述区块链数据库的数据缓存区中的第一层数据缓存区;所述数据缓存区包括为所述本地数据存储分区和所述公共数据存储分区所共享的所述第一层数据缓存区、与所述本地数据存储分区对应的第二层数据缓存区和第三层数据缓存区,以及与所述公共数据存储分区对应的第二层数据缓存区和第三层数据缓存区;
第二数据缓存模块,用于将所述第一层数据缓存区中的所述待存储数据发送至与所述目标数据存储分区对应的所述第二层数据缓存区;
数据重构模块,用于利用预设重构算法对存放至所述第二层数据缓存区中的所述待存储数据进行重组以将所述待存储数据的格式调整为满足预设存储要求的格式,并将重组后数据返回至所述第二层数据缓存区。
7.一种电子设备,其特征在于,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求1至5任一项所述的数据存储方法的步骤。
8.一种计算机可读存储介质,其特征在于,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述的数据存储方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310498185.2A CN116226137B (zh) | 2023-05-06 | 2023-05-06 | 一种数据存储方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310498185.2A CN116226137B (zh) | 2023-05-06 | 2023-05-06 | 一种数据存储方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116226137A CN116226137A (zh) | 2023-06-06 |
CN116226137B true CN116226137B (zh) | 2023-07-21 |
Family
ID=86587595
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310498185.2A Active CN116226137B (zh) | 2023-05-06 | 2023-05-06 | 一种数据存储方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116226137B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111651424A (zh) * | 2020-06-10 | 2020-09-11 | 中国科学院深圳先进技术研究院 | 一种数据处理方法、装置、数据节点及存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180136842A1 (en) * | 2016-11-11 | 2018-05-17 | Hewlett Packard Enterprise Development Lp | Partition metadata for distributed data objects |
US10958436B2 (en) * | 2017-12-28 | 2021-03-23 | Industrial Technology Research Institute | Methods contract generator and validation server for access control of contract data in a distributed system with distributed consensus |
US10956075B2 (en) * | 2018-02-02 | 2021-03-23 | Bank Of America Corporation | Blockchain architecture for optimizing system performance and data storage |
CN110147684B (zh) * | 2019-05-24 | 2023-07-25 | 众安信息技术服务有限公司 | 用于实现区块链数据隐私保护的方法及设备 |
CN111835572B (zh) * | 2020-07-23 | 2023-01-13 | 度小满科技(北京)有限公司 | 一种区块链网络的通信方法及装置 |
CN113742425A (zh) * | 2021-09-07 | 2021-12-03 | 上海欧冶金融信息服务股份有限公司 | 一种多条链数据上传、上链、交互方法及系统 |
-
2023
- 2023-05-06 CN CN202310498185.2A patent/CN116226137B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111651424A (zh) * | 2020-06-10 | 2020-09-11 | 中国科学院深圳先进技术研究院 | 一种数据处理方法、装置、数据节点及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116226137A (zh) | 2023-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3389219B1 (en) | Access request conversion method and device | |
CN108717861B (zh) | 一种基于区块链的医疗数据共享方法 | |
CN107454094A (zh) | 一种数据交互方法和系统 | |
CN102843426B (zh) | 基于智能父节点的Web缓存资源共享系统和方法 | |
CN111310230B (zh) | 一种空间数据处理方法、装置、设备及介质 | |
CN103095859A (zh) | 多域名会话信息共享方法和系统 | |
CN107491463A (zh) | 数据查询的优化方法和系统 | |
CN113242331A (zh) | 不同类型的地址转换方法、装置、计算机设备及存储介质 | |
CN116226137B (zh) | 一种数据存储方法、装置、设备及存储介质 | |
CN110597808B (zh) | 分布式数据库表连接方法、装置、系统、服务器及介质 | |
CA2248354C (en) | Client server network and method of operation | |
CN114793244B (zh) | 一种区块链的资源处理方法、装置、设备和介质 | |
CN114221971B (zh) | 数据同步方法、装置、服务器、存储介质及产品 | |
CN115114289A (zh) | 一种数据查询方法、装置及电子设备 | |
CN109600452B (zh) | 服务器集群、消息推送方法及相关服务器 | |
CN108351894B (zh) | 具有分布式实体状态的文件系统 | |
CN114650271B (zh) | 全局负载dns邻居站点学习方法及装置 | |
CN113378030B (zh) | 搜索引擎的搜索方法、搜索引擎架构、设备及存储介质 | |
CN111030856B (zh) | 一种基于云的数据接入方法、电子设备及计算机可读介质 | |
CN108268561A (zh) | 查询数据库的方法和装置 | |
CN112948860B (zh) | 数据处理方法、相关节点及介质 | |
CN117573730B (zh) | 数据处理方法、装置、设备、可读存储介质及程序产品 | |
CN114138829B (zh) | 共享Prepare Statement的方法、系统和网络设备 | |
CN112445628B (zh) | 进程间资源共享方法、装置与电子设备 | |
JPH05314179A (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 |