CN115408365A - 一种数据管理方法及装置、电子设备、存储介质 - Google Patents
一种数据管理方法及装置、电子设备、存储介质 Download PDFInfo
- Publication number
- CN115408365A CN115408365A CN202211070293.1A CN202211070293A CN115408365A CN 115408365 A CN115408365 A CN 115408365A CN 202211070293 A CN202211070293 A CN 202211070293A CN 115408365 A CN115408365 A CN 115408365A
- Authority
- CN
- China
- Prior art keywords
- target
- node
- data
- block
- block chain
- 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.)
- Pending
Links
Images
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/21—Design, administration or maintenance of databases
- G06F16/219—Managing data history or versioning
-
- 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
- G06F16/2228—Indexing 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/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
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种数据管理方法及装置、电子设备、存储介质,可应用于区块链领域或金融领域,所述方法包括:获取待存储的目标数据;对目标数据哈希计算,得到目标数据对应的数据索引;基于目标数据对应的数据索引,通过哈希环从各个数据节点中确定出目标数据节点;将目标数据存储到目标数据节点中;将目标数据对应的数据索引存储至区块链的当前新区块中,并将当前新区块存储到全量节点中;若目标节点集群中存在当前空闲节点,则将当前新区块至少存储在一个当前空闲节点中;若目标节点集群中不存在当前空闲节点,则将当前新区块替换至少一个目标区块链节点中的目标区块;其中,目标节点集群由预先从区块链中选取出的多个目标区块链节点组成。
Description
技术领域
本申请涉及数据管理技术领域,特别涉及一种数据管理方法及装置、电子设备、存储介质。
背景技术
银行的各种业务都需要对数据进行分析来展开,所以需要存储大量的业务数据,并且会频繁使用所存储的数据进行分析。
当前对于数据的管理,主要是将数据都存储到一个高性能的服务器中,相应地也在该服务器上进行数据检索,并对检索到的数据进行分析。而为了在一定程度上减轻该服务器的存储压力,也为了能存储新的数据,所以会将比较久远数据转移到性能较低,且不常用的冷服务器上进行管理。
但是由于数据的访问频率较高,所以会使得服务器的访问压力过大,并且由于访问频率过高,容易出现操作错误对数据进行修改或删除,从而导致业务无法开展。
发明内容
基于上述现有技术的不足,本申请提供了一种数据管理方法及装置、电子设备、存储介质,以解决现有技术的服务器访问压力过大,且已被误操作的问题。
为了实现上述目的,本申请提供了以下技术方案:
本申请第一方面提供了一种数据管理方法,包括:
获取待存储的目标数据;
对所述目标数据哈希计算,得到所述目标数据对应的数据索引;
基于所述目标数据对应的数据索引,通过哈希环从各个数据节点中确定出目标数据节点;
将所述目标数据存储到所述目标数据节点中;
将所述目标数据对应的数据索引存储至区块链的当前新区块中,并将所述当前新区块存储到全量节点中;
判断目标节点集群中是否存在当前空闲节点;其中,所述目标节点集群由预先从所述区块链中选取出的多个目标区块链节点组成;所述当前空闲节点指代当前存在存储所述当前新区块的空间的所述区块链节点;
若判断出目标节点集群中存在所述当前空闲节点,则将所述当前新区块至少存储在一个所述当前空闲节点中;
若判断出所述目标节点集群中不存在所述当前空闲节点,则将所述当前新区块替换至少一个所述目标区块链节点中的目标区块;其中,所述目标区块指代被访问频率满足预设条件或备份区块。
可选地,在上述的数据管理方法中,还包括:
当接收到所述目标数据的查询请求时,获取所述目标数据对应的数据索引;
基于所述目标数据对应的数据索引,查找所述目标节点集群中是否存在存储有当前待检索区块的所述目标区块链节点;其中,所述当前待检索区块指代存储有所述目标数据对应的数据索引的区块;
若查找出所述目标节点集群中存在存储有当前待检索区块的所述目标区块链节点,则访问任意一个存储有所述当前待检索区块的所述目标区块链节点,以通过所述目标区块链节点,基于所述目标数据对应的数据索引,查找到所述目标数据节点;
若查找出所述目标节点集群中不存在存储有当前待检索区块的所述目标区块链节点,则访问所述全量节点,以通过所述全量节点,基于所述目标数据对应的数据索引,查找到所述目标数据节点;
访问所述目标数据节点,以从所述目标数据节点中获取到所述目标数据。
可选地,在上述的数据管理方法中,还包括:
每间隔预设时间长度,统计在当前的所述预设时间长度内所述区块链内的各个区块的访问频率;
将各个所述区块按照所述访问频率进行降序排序,并选取出访问频率排序在前N位的各个所述区块;
判断各个所述目标区块链节点的总剩余存储空间,是否不小于选取出的各个所述区块的总存储空间;
若判断出各个所述目标区块链节点的总剩余存储空间不小于选取出的各个所述区块的总存储空间,则将选取出的各个所述区块分别存储到存在剩余存储空间的各个所述目标区块链节点中;
若判断出各个所述目标区块链节点的总剩余存储空间小于选取出的各个所述区块的总存储空间,则以选取出的各个所述区块的总存储空间为基准,按照所述访问频率升序的顺序,将各个所述目标区块链节点存储的多个所述区块剔除;
将选取出的各个所述区块存储至剔除区块后的各个所述目标区块链节点中。
可选地,在上述的数据管理方法中,还包括:
当接收到新目标区块链节点加入所述目标节点集群时,将各个所述目标区块链节点中的预设数量的区块转移至所述新目标区块链节点中进行存储。
本申请第二方面提供了一种数据管理装置,包括:
数据获取单元,用于获取待存储的目标数据;
计算单元,用于对所述目标数据哈希计算,得到所述目标数据对应的数据索引;
第一确定单元,用于基于所述目标数据对应的数据索引,通过哈希环从各个数据节点中确定出目标数据节点;
数据存储单元,用于将所述目标数据存储到所述目标数据节点中;
索引存储单元,用于将所述目标数据对应的数据索引存储至区块链的当前新区块中,并将所述当前新区块存储到全量节点中;
第一判断单元,用于判断目标节点集群中是否存在当前空闲节点;其中,所述目标节点集群由预先从所述区块链中选取出的多个目标区块链节点组成;所述当前空闲节点指代当前存在存储所述当前新区块的空间的所述区块链节点;
第一缓存单元,用于在判断出目标节点集群中存在所述当前空闲节点时,将所述当前新区块至少存储在一个所述当前空闲节点中;
第二缓存单元,用于在判断出所述目标节点集群中不存在所述当前空闲节点时,将所述当前新区块替换至少一个所述目标区块链节点中的目标区块;其中,所述目标区块指代被访问频率满足预设条件或备份区块。
可选地,在上述的数据管理装置中,还包括:
索引获取单元,用于当接收到所述目标数据的查询请求时,获取所述目标数据对应的数据索引;
第一查找单元,用于基于所述目标数据对应的数据索引,查找所述目标节点集群中是否存在存储有当前待检索区块的所述目标区块链节点;其中,所述当前待检索区块指代存储有所述目标数据对应的数据索引的区块;
第二查找单元,用于在查找出所述目标节点集群中存在存储有当前待检索区块的所述目标区块链节点时,访问任意一个存储有所述当前待检索区块的所述目标区块链节点,以通过所述目标区块链节点,基于所述目标数据对应的数据索引,查找到所述目标数据节点;
第三查找单元,用于在查找出所述目标节点集群中不存在存储有当前待检索区块的所述目标区块链节点时,访问所述全量节点,以通过所述全量节点,基于所述目标数据对应的数据索引,查找到所述目标数据节点;
访问单元,用于访问所述目标数据节点,以从所述目标数据节点中获取到所述目标数据。
可选地,在上述的数据管理装置中,还包括:
统计单元,用于每间隔预设时间长度,统计在当前的所述预设时间长度内所述区块链内的各个区块的访问频率;
选取单元,用于将各个所述区块按照所述访问频率进行降序排序,并选取出访问频率排序在前N位的各个所述区块;
第二判断单元,用于判断各个所述目标区块链节点的总剩余存储空间,是否不小于选取出的各个所述区块的总存储空间;
第一更新单元,用于在判断出各个所述目标区块链节点的总剩余存储空间不小于选取出的各个所述区块的总存储空间时,将选取出的各个所述区块分别存储到存在剩余存储空间的各个所述目标区块链节点中;
剔除单元,用于在判断出各个所述目标区块链节点的总剩余存储空间小于选取出的各个所述区块的总存储空间时,以选取出的各个所述区块的总存储空间为基准,按照所述访问频率升序的顺序,将各个所述目标区块链节点存储的多个所述区块剔除;
第二更新单元,用于将选取出的各个所述区块存储至剔除区块后的各个所述目标区块链节点中。
可选地,在上述的数据管理装置中,还包括:
转移单元,用于当接收到新目标区块链节点加入所述目标节点集群时,将各个所述目标区块链节点中的预设数量的区块转移至所述新目标区块链节点中进行存储。
本申请第三方面提供了一种电子设备,包括:
存储器和处理器;
其中,所述存储器用于存储程序;
所述处理器用于执行所述程序,所述程序被执行时,具体用于实现如上述任意一项所述的数据管理方法。
本申请第四方面提供了一种计算机存储介质,用于存储计算机程序,所述计算机程序被执行时,用于实现如上述任意一项所述的数据管理方法。
本申请实施例提供的一种数据管理方法,在获取待存储的目标数据时,对目标数据哈希计算,得到目标数据对应的数据索引。然后基于目标数据对应的数据索引,通过哈希环从各个数据节点中确定出目标数据节点,并将目标数据存储到目标数据节点中,以及将目标数据对应的数据索引存储至区块链的当前新区块中,并将当前新区块存储到全量节点中。从而通过将数据索引存储在区块链中,而将数据存储在额外的数据节点中,不仅具有区块链存储数据不易被篡改的特性,保证数据不易会被删除和修改,并且也解决了区块链存储空间较小的问题。并且,判断目标节点集群中是否存在当前空闲节点。其中,目标节点集群由预先从区块链中选取出的多个目标区块链节点组成;当前空闲节点指代当前存在存储当前新区块的空间的区块链节点;若判断出目标节点集群中存在当前空闲节点,则将当前新区块至少存储在一个当前空闲节点中;若判断出目标节点集群中不存在当前空闲节点,则将当前新区块替换至少一个目标区块链节点中的目标区块;其中,目标区块指代被访问频率满足预设条件或备份区块,从而将访问频率较多的新存储的数据存储在部分节点组成的集群中,从而使得大部分的访问请求,都可以分担给多个节点,避免全量节点的访问压力过大。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种数据管理方法的流程图;
图2为本申请实施例提供的一个通过哈希环存储数据的示例的示意图;
图3为本申请实施例提供的一种目标区块链节点存储的区块的更新方法的流程图;
图4为本申请实施例提供的一种数据的检索方法的流程图;
图5为本申请实施例提供的一种数据管理装置的架构示意图;
图6为本申请实施例提供的一种电子设备的架构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本申请实施例提供了一种数据管理方法,如图1所示,包括以下步骤:
S101、获取待存储的目标数据。
S102、对目标数据哈希计算,得到目标数据对应的数据索引。
可选地,可以是在存储目标数据时,对整个目标数据进行哈希计算得到数据索引,也可以是对目标数据中的部分基础信息进行哈希计算得到其对应的数据索引,例如目标数据的名称、日期、类别等。
S103、基于目标数据对应的数据索引,通过哈希环从各个数据节点中确定出目标数据节点。
需要说明的是,考虑到区块链存储数据的容量有限,并且区块链中的节点也比较有限,所以在本申请实施例中,只将目标数据对应的数据索引存储到区块中,而将待存储的目标数据存储到数据节点中。但是需要通过区块链进行数据检索,所以本申请实施例提供的方法应用于任意一个区块链节点,从而也能保证数据被误删或者被修改等。
其中,数据节点指的是用于存储数据的节点,其可以是不属于区块链中的节点,从而可以通过更多的节点存储数据,避免区块链中的节点的存储压力过大。
并且,在本申请实施例中,为了能让数据较为平均的存储到各个数据节点中,也为了能是实现访问情况的负载均衡,因此在本申请实施例中,通过哈希环确定目标数据需要存储的目标数据节点。
其中,哈希环可以理解为一个哈希函数,其大小空范围为0至2的31次幂,也就是其哈希值是一个32位的无整型数字,并将其组成一个环,即哈希环。所以通过对各个数据节点的IP地址或者其他信息进行计算,就可以得到各个数据节点对应的哈希值,即可以确定各个数据节点在哈希环中的位置。而目标数据的数据索引也是通过哈希计算得到哈希值,所以其在哈希环中也有对应的位置。可选地,在本申请实施例中,按照顺时针的方向选择在待存储数据的数据索引前的第一个数据节点作为目标数据节点。
例如,如图2所示,在哈希环中分别有四个节点,其位置分别为0、3、5、8。假设对数据A进行哈希计算得到的数据索引为6,则将其存储到节点4中。依次类推,数据B存储在节点1中;数据C存储在节点2中,而数据D则存储在节点3中。
S104、将目标数据存储到目标数据节点中。
S105、将目标数据对应的数据索引存储至区块链的当前新区块中,并将当前新区块存储到全量节点中。
具体的,在区块链中创建一个新的区块,即创造当前新区块,以将目标数据对应的数据索引存储至其区块体中。而为了保证能检索到所有的数据,所以对于将爱情所有的区块存储到全量节点中。
S106、判断目标节点集群中是否存在当前空闲节点。
其中,目标节点集群由预先从区块链中选取出的多个目标区块链节点组成。当前空闲节点指代当前存在存储当前新区块的空间的区块链节点。
需要说明的是,为了避免所有的访问请求全部有全量节点承担,所得其检索压力过大,也为了能加快数据检索效率,因此在本申请实施例中预先选取出多个区块链节点作为目标区块链节点,一起组成目标节点集群,用于存储访问比较频繁的区块。
因为新存储的数据,其访问频率通常会比较高,因此在本申请实施例中,会将存储了目标数据的数据索引的目标区块存储到目标节点集群中。而目标节点集群中的目标存储节点的存储空间也是有限的,所以需要先判断目标节点集群中是否存在当前空闲节点。其中,若判断出目标节点集群中存在当前空闲节点,则执行步骤S107。若判断出目标节点集群中不存在当前空闲节点,则执行步骤S108。
可选地,考虑到数据量不断增多的情况,目标区块链节点的数量可能不够用,需要增加目标区块链节点的数量,因此在本申请另一实施例中,还可以进一步包括:
当接收到新目标区块链节点加入目标节点集群时,将各个目标区块链节点中的预设数量的区块转移至新目标区块链节点中进行存储。
当然相应地,也可以减少目标节点集群中的目标区块链节点,此时针对其存储的每个区块,判读该区块是否有存储在其他的目标区块链节点中,即是否存在备份区块,若是存在则可以直接将其删除。若是不存在,则需要将其存储至其他的目标区块链节点中。
S107、将当前新区块至少存储在一个当前空闲节点中。
需要说明的是,若是仅存在一个当前空闲节点,则将当前新区块存储至该唯一的当前空闲节点中。若存在多个当前空闲节点,则可以考虑对当前新区块进行备份,将其存储在多个当前空闲节点中,具体备份的数量可以根据需求进行设定,或者根据当前空闲节点的数量确定等。
S108、将当前新区块替换至少一个目标区块链节点中的目标区块。
其中,目标区块指代被访问频率满足预设条件或备份区块。
由于此时存储空间时不足的,所以将目标区块存储到目标区块链节点时,只能是替换其他的区块,即将其他区块剔除,以将目标区块存储到目标区块链节点中。在本申请实施例中,主要替换的是访问频率满足预设条件或备份的区块,即替换掉访问频率过低的区块或者已经存储在其他目标区块链节点中的区块。
为了能让大部分的检索请求都可以从目标节点集群中检索到,所以在本申请实施例中,会定期对目标节点集群中的各个目标区块链节点存储的区块进行更新。如图3所示,本申请实施例提供的一种目标区块链节点存储的区块的更新方法,包括:
S301、每间隔预设时间长度,统计在当前的预设时间长度内区块链内的各个区块的访问频率。
S302、将各个区块按照访问频率进行降序排序,并选取出访问频率排序在前N位的各个区块。
S303、判断各个目标区块链节点的总剩余存储空间,是否不小于选取出的各个区块的总存储空间。
其中,若判断出各个目标区块链节点的总剩余存储空间不小于选取出的各个区块的总存储空间,则说明可以直接存储当前选取出的各个区块,所以此时执行步骤S304。若判断出各个目标区块链节点的总剩余存储空间小于选取出的各个区块的总存储空间,则执行步骤S305。
S304、将选取出的各个区块分别存储到存在剩余存储空间的各个目标区块链节点中。
S305、以选取出的各个区块的总存储空间为基准,按照访问频率升序的顺序,将各个目标区块链节点存储的多个区块剔除。
由于此时的存储空间不够用,所以需要剔除访问频率最低的一部分区块,而剔除的区块的数量,以能满足各个区块的总存储空间为标准。
S306、将选取出的各个区块存储至剔除区块后的各个目标区块链节点中。
相应地,本申请另一实施例提供了一种数据的检索方法,如图4所示,包括:
S401、当接收到目标数据的查询请求时,获取目标数据对应的数据索引。
S402、基于目标数据对应的数据索引,查找目标节点集群中是否存在存储有当前待检索区块的目标区块链节点。
其中,当前待检索区块指代存储有目标数据对应的数据索引的区块。
需要说明的是,虽然存储目标数据的数据索引的区块,起初会存储在目标区块链节点中,但是随着时间的推移,其可能由于访问频率较低而被移除出了目标区块链节点,所以需要基于目标数据对应的数据索引,查找目标节点集群中是否存在存储有当前待检索区块的目标区块链节点。
其中,若查找出目标节点集群中存在存储有当前待检索区块的目标区块链节点,则执行步骤S403。若查找出目标节点集群中不存在存储有当前待检索区块的目标区块链节点,则执行步骤S404。
S403、访问任意一个存储有当前待检索区块的目标区块链节点,以通过目标区块链节点,基于目标数据对应的数据索引,查找到目标数据节点。
S404、访问全量节点,以通过全量节点,基于目标数据对应的数据索引,查找到目标数据节点。
S405、访问目标数据节点,以从目标数据节点中获取到目标数据。
本申请实施例提供的一种数据管理方法,在获取待存储的目标数据时,对目标数据哈希计算,得到目标数据对应的数据索引。然后基于目标数据对应的数据索引,通过哈希环从各个数据节点中确定出目标数据节点,并将目标数据存储到目标数据节点中,以及将目标数据对应的数据索引存储至区块链的当前新区块中,并将当前新区块存储到全量节点中。从而通过将数据索引存储在区块链中,而将数据存储在额外的数据节点中,不仅具有区块链存储数据不易被篡改的特性,保证数据不易会被删除和修改,并且也解决了区块链存储空间较小的问题。并且,判断目标节点集群中是否存在当前空闲节点。其中,目标节点集群由预先从区块链中选取出的多个目标区块链节点组成;当前空闲节点指代当前存在存储当前新区块的空间的区块链节点;若判断出目标节点集群中存在当前空闲节点,则将当前新区块至少存储在一个当前空闲节点中;若判断出目标节点集群中不存在当前空闲节点,则将当前新区块替换至少一个目标区块链节点中的目标区块;其中,目标区块指代被访问频率满足预设条件或备份区块,从而将访问频率较多的新存储的数据存储在部分节点组成的集群中,从而使得大部分的访问请求,可以分担给多个节点,避免全量节点的访问压力过大。
需要说明的是,附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。
本申请另一实施例提供了一种数据管理装置,如图5所示,包括:
数据获取单元501,用于获取待存储的目标数据。
计算单元502,用于对目标数据哈希计算,得到目标数据对应的数据索引。
第一确定单元503,用于基于目标数据对应的数据索引,通过哈希环从各个数据节点中确定出目标数据节点。
数据存储单元504,用于将目标数据存储到目标数据节点中。
索引存储单元505,用于将目标数据对应的数据索引存储至区块链的当前新区块中,并将当前新区块存储到全量节点中。
第一判断单元506,用于判断目标节点集群中是否存在当前空闲节点。
其中,目标节点集群由预先从区块链中选取出的多个目标区块链节点组成。当前空闲节点指代当前存在存储当前新区块的空间的区块链节点。
第一缓存单元507,用于在判断出目标节点集群中存在当前空闲节点时,将当前新区块至少存储在一个当前空闲节点中。
第二缓存单元508,用于在判断出目标节点集群中不存在当前空闲节点时,将当前新区块替换至少一个目标区块链节点中的目标区块。
其中,目标区块指代被访问频率满足预设条件或备份区块。
可选地,在本申请另一实施例提供的数据管理装置中,还包括:
索引获取单元,用于当接收到目标数据的查询请求时,获取目标数据对应的数据索引。
第一查找单元,用于基于目标数据对应的数据索引,查找目标节点集群中是否存在存储有当前待检索区块的目标区块链节点。
其中,当前待检索区块指代存储有目标数据对应的数据索引的区块。
第二查找单元,用于在查找出目标节点集群中存在存储有当前待检索区块的目标区块链节点时,访问任意一个存储有当前待检索区块的目标区块链节点,以通过目标区块链节点,基于目标数据对应的数据索引,查找到目标数据节点。
第三查找单元,用于在查找出目标节点集群中不存在存储有当前待检索区块的目标区块链节点时,访问全量节点,以通过全量节点,基于目标数据对应的数据索引,查找到目标数据节点。
访问单元,用于访问目标数据节点,以从目标数据节点中获取到目标数据。
可选地,在本申请另一实施例提供的数据管理装置中,还包括:
统计单元,用于每间隔预设时间长度,统计在当前的预设时间长度内区块链内的各个区块的访问频率。
选取单元,用于将各个区块按照访问频率进行降序排序,并选取出访问频率排序在前N位的各个区块。
第二判断单元,用于判断各个目标区块链节点的总剩余存储空间,是否不小于选取出的各个区块的总存储空间。
第一更新单元,用于在判断出各个目标区块链节点的总剩余存储空间不小于选取出的各个区块的总存储空间时,将选取出的各个区块分别存储到存在剩余存储空间的各个目标区块链节点中。
剔除单元,用于在判断出各个目标区块链节点的总剩余存储空间小于选取出的各个区块的总存储空间时,以选取出的各个区块的总存储空间为基准,按照访问频率升序的顺序,将各个目标区块链节点存储的多个区块剔除。
第二更新单元,用于将选取出的各个区块存储至剔除区块后的各个目标区块链节点中。
可选地,在本申请另一实施例提供的数据管理装置中,还包括:
转移单元,用于当接收到新目标区块链节点加入目标节点集群时,将各个目标区块链节点中的预设数量的区块转移至新目标区块链节点中进行存储。
需要说明的是,本申请上述实施例提供的各个单元的具体工作过程,可相应地参考上述方法实施例的各个步骤的具体实施方式,此处不再赘述。
本申请另一实施例提供了一种电子设备,如图6所示,包括:
存储器601和处理器602。
其中,存储器601用于存储程序。
处理器602用于执行存储器601存储的程序,该程序被执行时,具体用于实现如上述任意一个实施例提供的数据管理方法。
本申请另一实施例提供了一种计算机存储介质,用于存储计算机程序,计算机程序被执行时,用于实现如上述任意一个实施例的数据管理方法。
计算机存储介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
需要说明的是,本发明提供的一种数据管理方法及装置、电子设备、存储介质可用于区块链领域、大数据领域或金融领域。上述仅为示例,并不对本发明提供的一种数据管理方法及装置、电子设备、存储介质的应用领域进行限定。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种数据管理方法,其特征在于,包括:
获取待存储的目标数据;
对所述目标数据哈希计算,得到所述目标数据对应的数据索引;
基于所述目标数据对应的数据索引,通过哈希环从各个数据节点中确定出目标数据节点;
将所述目标数据存储到所述目标数据节点中;
将所述目标数据对应的数据索引存储至区块链的当前新区块中,并将所述当前新区块存储到全量节点中;
判断目标节点集群中是否存在当前空闲节点;其中,所述目标节点集群由预先从所述区块链中选取出的多个目标区块链节点组成;所述当前空闲节点指代当前存在存储所述当前新区块的空间的所述区块链节点;
若判断出目标节点集群中存在所述当前空闲节点,则将所述当前新区块至少存储在一个所述当前空闲节点中;
若判断出所述目标节点集群中不存在所述当前空闲节点,则将所述当前新区块替换至少一个所述目标区块链节点中的目标区块;其中,所述目标区块指代被访问频率满足预设条件或备份区块。
2.根据权利要求1所述的方法,其特征在于,还包括:
当接收到所述目标数据的查询请求时,获取所述目标数据对应的数据索引;
基于所述目标数据对应的数据索引,查找所述目标节点集群中是否存在存储有当前待检索区块的所述目标区块链节点;其中,所述当前待检索区块指代存储有所述目标数据对应的数据索引的区块;
若查找出所述目标节点集群中存在存储有当前待检索区块的所述目标区块链节点,则访问任意一个存储有所述当前待检索区块的所述目标区块链节点,以通过所述目标区块链节点,基于所述目标数据对应的数据索引,查找到所述目标数据节点;
若查找出所述目标节点集群中不存在存储有当前待检索区块的所述目标区块链节点,则访问所述全量节点,以通过所述全量节点,基于所述目标数据对应的数据索引,查找到所述目标数据节点;
访问所述目标数据节点,以从所述目标数据节点中获取到所述目标数据。
3.根据权利要求1所述的方法,其特征在于,还包括:
每间隔预设时间长度,统计在当前的所述预设时间长度内所述区块链内的各个区块的访问频率;
将各个所述区块按照所述访问频率进行降序排序,并选取出访问频率排序在前N位的各个所述区块;
判断各个所述目标区块链节点的总剩余存储空间,是否不小于选取出的各个所述区块的总存储空间;
若判断出各个所述目标区块链节点的总剩余存储空间不小于选取出的各个所述区块的总存储空间,则将选取出的各个所述区块分别存储到存在剩余存储空间的各个所述目标区块链节点中;
若判断出各个所述目标区块链节点的总剩余存储空间小于选取出的各个所述区块的总存储空间,则以选取出的各个所述区块的总存储空间为基准,按照所述访问频率升序的顺序,将各个所述目标区块链节点存储的多个所述区块剔除;
将选取出的各个所述区块存储至剔除区块后的各个所述目标区块链节点中。
4.根据权利要求1所述的方法,其特征在于,还包括:
当接收到新目标区块链节点加入所述目标节点集群时,将各个所述目标区块链节点中的预设数量的区块转移至所述新目标区块链节点中进行存储。
5.一种数据管理装置,其特征在于,包括:
数据获取单元,用于获取待存储的目标数据;
计算单元,用于对所述目标数据哈希计算,得到所述目标数据对应的数据索引;
第一确定单元,用于基于所述目标数据对应的数据索引,通过哈希环从各个数据节点中确定出目标数据节点;
数据存储单元,用于将所述目标数据存储到所述目标数据节点中;
索引存储单元,用于将所述目标数据对应的数据索引存储至区块链的当前新区块中,并将所述当前新区块存储到全量节点中;
第一判断单元,用于判断目标节点集群中是否存在当前空闲节点;其中,所述目标节点集群由预先从所述区块链中选取出的多个目标区块链节点组成;所述当前空闲节点指代当前存在存储所述当前新区块的空间的所述区块链节点;
第一缓存单元,用于在判断出目标节点集群中存在所述当前空闲节点时,将所述当前新区块至少存储在一个所述当前空闲节点中;
第二缓存单元,用于在判断出所述目标节点集群中不存在所述当前空闲节点时,将所述当前新区块替换至少一个所述目标区块链节点中的目标区块;其中,所述目标区块指代被访问频率满足预设条件或备份区块。
6.根据权利要求5所述的装置,其特征在于,还包括:
索引获取单元,用于当接收到所述目标数据的查询请求时,获取所述目标数据对应的数据索引;
第一查找单元,用于基于所述目标数据对应的数据索引,查找所述目标节点集群中是否存在存储有当前待检索区块的所述目标区块链节点;其中,所述当前待检索区块指代存储有所述目标数据对应的数据索引的区块;
第二查找单元,用于在查找出所述目标节点集群中存在存储有当前待检索区块的所述目标区块链节点时,访问任意一个存储有所述当前待检索区块的所述目标区块链节点,以通过所述目标区块链节点,基于所述目标数据对应的数据索引,查找到所述目标数据节点;
第三查找单元,用于在查找出所述目标节点集群中不存在存储有当前待检索区块的所述目标区块链节点时,访问所述全量节点,以通过所述全量节点,基于所述目标数据对应的数据索引,查找到所述目标数据节点;
访问单元,用于访问所述目标数据节点,以从所述目标数据节点中获取到所述目标数据。
7.根据权利要求5所述的装置,其特征在于,还包括:
统计单元,用于每间隔预设时间长度,统计在当前的所述预设时间长度内所述区块链内的各个区块的访问频率;
选取单元,用于将各个所述区块按照所述访问频率进行降序排序,并选取出访问频率排序在前N位的各个所述区块;
第二判断单元,用于判断各个所述目标区块链节点的总剩余存储空间,是否不小于选取出的各个所述区块的总存储空间;
第一更新单元,用于在判断出各个所述目标区块链节点的总剩余存储空间不小于选取出的各个所述区块的总存储空间时,将选取出的各个所述区块分别存储到存在剩余存储空间的各个所述目标区块链节点中;
剔除单元,用于在判断出各个所述目标区块链节点的总剩余存储空间小于选取出的各个所述区块的总存储空间时,以选取出的各个所述区块的总存储空间为基准,按照所述访问频率升序的顺序,将各个所述目标区块链节点存储的多个所述区块剔除;
第二更新单元,用于将选取出的各个所述区块存储至剔除区块后的各个所述目标区块链节点中。
8.根据权利要求5所述的装置,其特征在于,还包括:
转移单元,用于当接收到新目标区块链节点加入所述目标节点集群时,将各个所述目标区块链节点中的预设数量的区块转移至所述新目标区块链节点中进行存储。
9.一种电子设备,其特征在于,包括:
存储器和处理器;
其中,所述存储器用于存储程序;
所述处理器用于执行所述程序,所述程序被执行时,具体用于实现如权利要求1至4任意一项所述的数据管理方法。
10.一种计算机存储介质,其特征在于,用于存储计算机程序,所述计算机程序被执行时,用于实现如权利要求1至4任意一项所述的数据管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211070293.1A CN115408365A (zh) | 2022-09-02 | 2022-09-02 | 一种数据管理方法及装置、电子设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211070293.1A CN115408365A (zh) | 2022-09-02 | 2022-09-02 | 一种数据管理方法及装置、电子设备、存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115408365A true CN115408365A (zh) | 2022-11-29 |
Family
ID=84164188
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211070293.1A Pending CN115408365A (zh) | 2022-09-02 | 2022-09-02 | 一种数据管理方法及装置、电子设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115408365A (zh) |
-
2022
- 2022-09-02 CN CN202211070293.1A patent/CN115408365A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7725437B2 (en) | Providing an index for a data store | |
EP2324440B1 (en) | Providing data structures for determining whether keys of an index are present in a storage system | |
US8965941B2 (en) | File list generation method, system, and program, and file list generation device | |
Crainiceanu et al. | Bloofi: Multidimensional bloom filters | |
US10776345B2 (en) | Efficiently updating a secondary index associated with a log-structured merge-tree database | |
US11500879B2 (en) | Method, device, and program product for managing index of streaming data storage system | |
CN113656397A (zh) | 一种针对时序数据的索引构建及查询的方法、装置 | |
EP3767486B1 (en) | Multi-record index structure for key-value stores | |
EP3343395B1 (en) | Data storage method and apparatus for mobile terminal | |
US8909681B2 (en) | Gap detection in a temporally unique index in a relational database | |
CN113253932B (zh) | 一种分布式存储系统的读写控制方法和系统 | |
CN107133334B (zh) | 基于高带宽存储系统的数据同步方法 | |
WO2024041376A1 (zh) | 分布式图数据处理系统、方法、装置、设备及存储介质 | |
CN115408365A (zh) | 一种数据管理方法及装置、电子设备、存储介质 | |
CN112632058A (zh) | 轨迹确定方法、装置及设备、存储介质 | |
WO2021207830A1 (en) | Method and systems for indexing databases based on states and state transitions | |
CN1235169C (zh) | 一种嵌入式系统的数据存放及其查找方法 | |
US12019583B2 (en) | System and method for efficient multi-stage querying of archived data | |
WO2016069035A1 (en) | Extended attribute storage | |
CN113238857B (zh) | 一种基于内存池的map映射表多线程遍历方法及装置 | |
US20230114912A1 (en) | System and method for efficient multi-stage querying of archived data | |
CN115329009A (zh) | 一种数据处理方法及装置、电子设备、存储介质 | |
US20230109804A1 (en) | System and method for efficient multi-stage querying of archived data | |
CN115309828A (zh) | 一种数据存储方法及装置、电子设备、存储介质 | |
CN113626490B (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 |