CN114756626A - 数据处理方法、装置、设备以及存储介质 - Google Patents
数据处理方法、装置、设备以及存储介质 Download PDFInfo
- Publication number
- CN114756626A CN114756626A CN202210524599.3A CN202210524599A CN114756626A CN 114756626 A CN114756626 A CN 114756626A CN 202210524599 A CN202210524599 A CN 202210524599A CN 114756626 A CN114756626 A CN 114756626A
- Authority
- CN
- China
- Prior art keywords
- data
- data storage
- fragment
- distributed database
- stored
- 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/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
- 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
Abstract
本申请实施例公开了一种数据存储方法、装置、设备以及存储介质,可适用于计算机技术领域。该方法应用于分布式数据库,包括:获取待存储数据对应的至少一个数据集,每个数据集是基于数据属性信息将待存储数据进行划分后得到的,每个数据集对应一种数据存储方式;基于每个数据集中的数据量,将每个数据集划分为至少一个分片;基于每个分片对应的数据存储方式,将每个分片在分布式数据库中进行存储。采用本申请实施例,可提升数据存储灵活性和稳定性,适用性高。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据存储方法、装置、设备以及存储介质。
背景技术
现有的分布式数据库往往会采用特定规则将待存储数据划分为多个分片,并使各个分片采用同一种特定的存储方式在分布式数据库中存储。但是在待读写的数据量不断增大的情况下,现有方法往往会导致分布式数据库中的部分节点所存储的数据量较大,数据存储的灵活性较差。并且分布式数据库中的部分节点在存储的数据量较大时,还会产生较多的数据整理任务,导致数据存储稳定性低下。
因此,如何灵活稳定地将数据存储至分布式数据库中成为亟需解决的问题。
发明内容
本申请实施例提供一种数据存储方法、装置、设备以及存储介质,可提升数据存储灵活性和稳定性,适用性高。
一方面,本申请实施例提供一种数据存储方法,该方法包括:
获取待存储数据对应的至少一个数据集,每个上述数据集是基于数据属性信息将上述待存储数据进行划分后得到的,每个上述数据集对应一种数据存储方式;
基于每个上述数据集中的数据量,将每个上述数据集划分为至少一个分片;
基于每个上述分片对应的上述数据存储方式,将每个上述分片在分布式数据库中进行存储。
另一方面,本申请实施例提供了一种数据存储装置,该装置包括:
数据获取模块,用于获取待存储数据对应的至少一个数据集,每个上述数据集是基于数据属性信息将上述待存储数据进行划分后得到的,每个上述数据集对应一种数据存储方式;
数据处理模块,用于基于每个上述数据集中的数据量,将每个上述数据集划分为至少一个分片;
数据存储模块,用于基于每个上述分片对应的上述数据存储方式,将每个上述分片在分布式数据库中进行存储。
另一方面,本申请实施例提供了一种电子设备,包括处理器和存储器,该处理器和存储器相互连接;
上述存储器用于存储计算机程序;
上述处理器被配置用于在调用上述计算机程序时,执行本申请实施例提供的数据存储方法。
另一方面,本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行以实现本申请实施例提供的数据存储方法。
在本申请实施例中,通过数据属性信息可预先将待存储数据按照数据存储方式划分为不同的数据集,进而分布式数据库可将每个数据集划分为至少一个分片,并采用对应的数据存储方式将各分片进行存储。基于此方式,分布式数据库可采用多种数据存储方式将待存储数据的各部分数据进行存储,提升数据存储灵活性,并且基于不同存储方式将各分片进行存储之后,可使得各分片之间保持数据独立性,提升待存储数据在分布式数据库中的存储稳定性和数据管理效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的数据存储方法的流程示意图;
图2是本申请实施例提供的数据存储的场景示意图;
图3是本申请实施例提供的数据存储方法的流程框架示意图;
图4是本申请实施例提供的数据存储装置的结构示意图;
图5是本申请实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参见图1,图1是本申请实施例提供的数据存储方法的流程示意图。如图1所示,本申请实施例提供的数据存储方法可应用于分布式数据库,具体可包括如下步骤:
步骤S11、获取待存储数据对应的至少一个数据集。
在一些可行的实施方式中,待存储数据为需要存储至分布式数据库中的相关数据,如可以为业务系统产生的业务数据、也可以是其他独立数据库中需要通过分布式数据库进行备份的相关数据,具体可基于实际应用场景需求确定,在此不做限制。
其中,待存储数据对应的各数据集可以为预先基于待存储数据中的各部分数据的数据属性信息将待存储数据进行划分后得到的,即在需要对待存储数据进行存储之前可直接获取到待存储数据对应的至少一个数据集。或者,也可以先获取待存储数据,由分布式数据库基于待存储数据中的各部分数据的数据属性信息将待存储数据进行划分后得到至少一个数据集,具体实现方式在此不做限制。
其中,待存储数据对应的每个数据集对应一种数据存储方式,每个数据集中的各部分数据对应的数据存储方式是基于该数据集中的各部分数据对应的数据属性信息所确定的。
也就是说,对于待存储数据中的每一部分数据,可基于该部分数据对应的数据属性信息确定出该部分数据对应的数据存储方式,进而得到待存储数据中各部分数据对应的数据存储方式,并以此可将待存储数据中的各部分数据按照不同的数据存储方式划分为至少一个数据集,每个数据集中的各部分数据对应于相同的数据存储方式。
其中,上述待存储数据中的任一部分数据可以为待存储数据中的至少一条数据,如一条业务记录,也可以为待存储数据中的一个或者多个数据表,具体可基于实际应用场景需求确定,在此不做限制。
可选地,上述数据属性信息包括数据修改信息、数据访问信息、数据写入信息或数据查询信息中的至少一项。
其中,数据修改信息用于表征数据在存储至分布式数据库之后是否可能会被修改、以及在可能会被修改的情况下可能的修改次数或频率。
其中,数据访问信息用于表征数据访问情况,如数据访问次数或频率,或访问数据时出现访问异常的次数或频率等。并且对于待存储数据中的任一部分数据,该部分数据的数据访问信息可基于该部分数据在其他存储空间的数据访问信息确定,也可基于相同数据在分布式数据库中的访问信息来确定,具体可基于实际应用场景需求确定,在此不做限制。
其中,数据写入信息用于表征数据的写入情况,如数据写入次数或频率,数据写入成功或失败的次数等,在此不做限制。
其中,数据查询信息用于表征数据查询条件、查询范围、查询方式等,在此不做限制。
例如,在数据属性信息为查询方式的情况下,不同查询方式可对应于不同的数据存储方式。基于此,可基于待存储数据中各部分数据对应的查询方式确定出待存储数据中的各部分数据对应的数据存储方式,进而可将待存储数据中对应于相同数据存储方式的各部分数据确定为一个数据集。
在一些可行的实施方式中,上述数据存储方式包括列式存储、基于多路平衡查找树B-Tree的存储方式、基于日志结构合并树(Log-Structured Merge Tree,LSM Tree)的存储方式或基于哈希索引的存储方式中的至少一项,也可包括其他应用于分布式数据库的数据存储和管理方式,具体可基于实际应用场景需求确定,在此不做限制。
其中,对于待存储数据中的任一部分数据,该部分数据对应的数据存储方式可基于上述数据属性信息中的一项或者多项信息确定,在此不做限制。
例如,对于主要用于数据分析且不会被修改或者被修改次数较少的数据,其对应的数据存储方式可以为列式存储。
例如,对于数据量较小且出现访问异常的频率较高的数据,其对应的数据存储方式可以为基于B-Tree的存储方式。
例如,对于数据量较大且写入频率较高的数据,其对应的数据存储方式可以为基于LSM Tree的存储方式。
例如,对于点查要求较高且无查询范围的数据,其对应的数据存储方式可以为基于哈希索引的存储方式。
需要特别说明的是,上述确定待存储数据中各部分数据对应的数据存储方式仅为示例,具体可基于具体的数据属性信息和实际应用场景需求确定,在此不做限制。
在一些可行的实施方式中,每个数据集中的数据以键值(k-v)对形式存在。即在确定待存储数据之后,可先将待存储数据中的各部分数据编码成键值对,进而在将待存储数据中的各部分数据划分为至少一个数据集之后使得每个数据集中的数据仍然以键值对形式存在。
或者,可在基于数据属性信息将待存储数据中的各部分数据划分为至少一个数据集之后,将每个数据集中的数据分别编码成键值对。
或者,还可在基于数据属性信息确定待存储数据中各部分数据的数据存储方式之后,将各部分数据编码成键值对,从而实际对应于相同数据存储方式的数据集中包括对应数据的键值对。
进一步地,每个数据集中的各键值对的键(key)值与所在数据集对应的数据存储方式相关联。即对于待存储数据中的每一部分数据,可通过该部分数据对应的键值对的键值确定该部分数据对应的数据存储方式。
例如,在将每一部分数据编码成键值对之后,将在键值前添加对应的前缀,以指示该键值对对应的数据存储方式。
步骤S12、基于每个数据集中的数据量,将每个数据集划分为至少一个分片。
在一些可行的实施方式中,对于每个数据集,若该数据集中的数据量小于或者等于数据量阈值,则分布式数据库可无需将该数据集划分为多个分片,也即分布式数据库可将该数据集作为一个分片。若该数据集中的数据量大于某一数据量阈值,则说明该数据集中的数据量较大,此时分布式数据库可将该数据集划分为多个分片,且每个分片对应的数据量同样小于或者等于该数据量阈值。
例如,若一个数据集中的数据量为10TiB时,分布式数据库可将该数据集划分为做个分片,每个分片的数据量小于或者等于10GiB。
其中,上述数据量阈值具体可基于实际应用场景需求确定,如可以为10GiB,也可以为其他阈值,在此不做限制。
步骤S13、基于每个分片对应的数据存储方式,将每个分片进行存储。
在一些可行的实施方式中,对于每个分片,分布式数据库可基于该分片对应的数据存储方式,将该分片进行存储。其中,每个分片分别对应于独立的存储引擎,以基于LSMTree的存储方式为例,分布式数据库可分别采用独立的LSM Tree引擎对该数据存储方式对应的各分片进行存储和管理。
基于此,分布式数据库中任一分片的数据与分布式数据库中其他分片的数据可实现物理隔离,即分布式数据库中任意一个分片的数据整理不会对其他分片的数据产生影响。例如,对分布式数据库中任意一个分片的数据进行搬迁调度时,可直接基于该分片对应的数据存储方式相应的存储引擎对该分片的数据进行物理拷贝即可。
其中,分布式数据库可将对应于不同数据存储方式的至少一个分片分别存储至分布式数据库中的一个节点,也可将对应于相同数据存储方式的至少一个分片存储至分布式数据库中的一个节点,具体可基于实际应用场景需求确定,在此不做限制。
如图2所示,图2是本申请实施例提供的数据存储的场景示意图。对应于LSM Tree存储方式的分片(Region)1,分布式数据库可基于LSM Tree引擎将分片1存储至分布式数据库中的节点(Node)1,并基于LSM Tree引擎对分片1进行管理。对应于B-Tree存储方式的分片2,分布式数据库可基于B-Tree引擎将分片2存储至分布式数据库中的节点1,并基于B-Tree引擎对分片2进行管理。
在分布式数据库中的各分片实现物理隔离的情况下,即各分片对应于独立的存储引擎的情况下,相较于现有技术中所有分片对应于同一存储引擎而言,不仅可有效减少写入放大出现的概率,而且可提升数据读写的稳定性和速度、以及提升分布式数据库的数据管理效率。并且对于分布式数据库中的每个节点而言,通过将对应于不同数据存储方式的至少一个分片进行存储,可有效减少存储引擎对各节点的存储量限制,进而提升分布式数据库的数据存储量上限,减少分布式数据库的节点消耗。
以LSM Tree引擎为例,分布式数据库中每个节点可存储数据的数据量不再受限于LSM Tree引擎限定的数据存储量的大小,因而每个节点可支持更大的数据存储量,同时也避免由于某一节点所存储的数据较多的情况下触发无用的数据写入和过多的数据整理任务。
在一些可行的实施方式中,为防止分布式数据库中节点异常导致部分分片的数据丢失或存储异常,分布式数据库在将每个数据集划分为至少一个分片之后,对于每个分片,可确定该分片的至少一个备份分片。分布式数据库进一步可基于该分片对应的数据存储方式将该分片以及对应的备份分片进行存储。
其中,对于每个分片,分布式数据库中用于存储该分片的备份分片的节点与用于存储该分片的节点为不同的节点,进一步的,该分片的各备份分片分别存储于分布式数据库中的不同节点。
其中,对于每个分片,分布式数据库在将该分片以及该分片对应的各备份分片进行存储时,可基于分布式一致性协议对该分片以及各备份分片进行一致性验证,以确保该分片和各备份分片中的数据保持一致。
在一些可行的实施方式中,分布式数据库在将各分片进行存储之后,对于每个分片而言,若该分片的数据的访问次数较多,则可能会过多消耗存储该分片的节点的计算资源,而对其他节点的计算资源消耗较少,从而导致各节点的计算资源利用不均衡。
基于此,分布式数据库在将待存储数据对应的各分片进行存储之后,可确定至少一个分片的访问频率,进而基于该分片的访问频率和数据存储方式,对该分片进行进一步调整。
具体地,对于至少一种数据存储方式(为方便描述,以下称为第一数据存储方式),分布式数据库可确定分布式数据库中每种第一数据存储方式对应的多个分片中是否存在访问频率小于预设阈值的多个分片(为方便描述,以下将访问频率小于预设阈值的分片称为第一分片),若存在,则将该第一数据存储方式对应的各第一分片进行合并得到至少一个合并分片。例如,在该第一数据存储方式对应的所有分片中存在两个第一分片的情况下,分布式数据库则可直接将这两个第一分片进行合并得到一个合并分片。
再如,对于每种第一数据存储方式,在分布式数据库中的分片具有数据存储量上限要求的情况下,分布式数据库可将该第一数据存储方式对应的多个第一分片确定划分为至少一个分片集合。每个分片集合包括多个第一分片,每个分片集合中的任一第一分片的数据量小于上述数据存储量上限,且每个分片集合中所有第一分片的数据量之和不超过上述数据量存储上限。分布式数据库进而可将每个分片集合中的各第一分片进行合并,得到一个合并分片。
其中,上述至少一种第一数据存储方式可以为分布式数据库对应的所有数据存储方式,可以为分布式数据库对应的任意一种或多种数据存储方式,在此不做限制。
可选地,对于至少一种数据存储方式(为方便描述,以下称为第二数据存储方式),分布式数据库可确定每种第二数据存储方式对应的至少一个分片中是否存在访问频率大于或者等于预设阈值的分片(为方便描述,以下将访问频率大于或者等于预设阈值的分片称为第二分片),若存在,分布式数据库则将每个第二分片进行拆分得到多个子分片。其中,在对每个第二分片进行拆分时,分布式数据库可将第二分片均匀拆分成预设数量的多个子分片,在此不做限制。
其中,上述至少一种第二数据存储方式可以为分布式数据库对应的所有数据存储方式,可以为分布式数据库对应的任意一种或多种数据存储方式,在此不做限制。
下面结合图3对本申请实施例提供的数据存储方法进行进一步说明,图3是本申请实施例提供的数据存储方法的流程框架示意图。如图3所示,在获取待存储数据对应的至少一个数据集之后,分布式数据库可基于每个数据集中的数据量,将每个数据集划分为多个分片,并且每个分片对应一种数据存储方式。从而对于每个分片而言,分布式数据库可基于该分片对应的数据存储方式将该分片进行存储。
在此之后,分布式数据库可确定分布式数据库中各分片的访问频率,如每隔预设时间间隔确定截止对应时刻分布式数据库中各分片的访问频率。对于每种数据存储方式,在该数据存储方式对应的各分片中存在访问频率小于预设阈值的多个第一分片的情况下,分布式数据库可将该数据存储方式对应的各第一分片进行合并得到至少一个合并分片。
同样地,对于每种数据存储方式,在该数据存储方式对应的各分片中存在访问频率大于或者等于预设阈值的第二分片的情况下,分布式数据库可将每个第二分片进行拆分得到多个子分片。
在此之后,分布式数据库可重新确定分布式数据库中各分片(包括合并分片和子分片在内)的访问频率,以基于各分片的访问频率对各分片重新进行调整,实现对分布式数据库中各分片的动态管理。
在本申请实施例中,通过数据属性信息可预先确定待存储数据中各分部数据对应的数据存储方式,进而基于各部分数据对应的数据存储方式将待存储数据划分为不同的数据集,使得每个数据集对应一种数据存储方式。分布式数据库进而可将每个数据集划分为至少一个分片并基于相应的数据存储方式将各分片进行存储,从而使得分布式数据库中的各分片实现物理隔离,各分片对应于独立的数据管理方式,不仅可有效减少写入放大出现的概率,而且可提升数据读写的稳定性和速度、以及提升分布式数据库的数据管理效率。并且对于分布式数据库中的每个节点而言,每个节点可存储对应于不同数据存储方式的至少一个分片,可有效减少存储引擎对各节点的存储量限制,进而提升分布式数据库的数据存上限,减少分布式数据库的节点消耗。
参见图4,图4是本申请实施例提供的数据存储装置的结构示意图。本申请实施例提供的数据存储装置包括:
数据获取模块41,用于获取待存储数据对应的至少一个数据集,每个上述数据集是基于数据属性信息将上述待存储数据进行划分后得到的,每个上述数据集对应一种数据存储方式;
数据处理模块42,用于基于每个上述数据集中的数据量,将每个上述数据集划分为至少一个分片;
数据存储模块43,用于基于每个上述分片对应的上述数据存储方式,将每个上述分片在分布式数据库中进行存储。
在一些可行的实施方式中,上述数据属性信息包括数据量、数据修改信息、数据访问信息、数据写入信息或数据查询信息中的至少一项。
在一些可行的实施方式中,每个上述数据集中的数据以键值对形式存储,且每个上述数据集中的上述键值对的键值与每个上述数据集对应的上述数据存储方式相关联。
在一些可行的实施方式中,上述数据存储方式包括列式存储、基于多路平衡查找树B-Tree的存储方式、基于日志结构合并树LSM Tree的存储方式或基于哈希索引的存储方式中的至少一项。
在一些可行的实施方式中,上述基于每个上述分片对应的上述数据存储方式,将每个上述分片在分布式数据库中进行存储之后,上述数据存储模块43,还用于:
确定上述分布式数据库中至少一个上述分片的访问频率;
基于至少一个上述分片的上述访问频率和上述数据存储方式,对至少一个上述分片进行调整。
在一些可行的实施方式中,上述数据存储模块43,用于:
对于至少一种上述数据存储方式,响应于上述数据存储方式对应的多个上述分片中存在上述访问频率小于预设阈值的多个第一分片,将上述多个第一分片进行合并得到至少一个合并分片,并基于上述数据存储方式将上述至少一个合并分片进行存储。
在一些可行的实施方式中,上述数据存储模块43,还用于:
对于至少一种上述数据存储方式,响应于上述数据存储方式对应的至少一个上述分片中存在上述访问频率大于或者等于上述预设阈值的至少一个第二分片,将每个上述第二分片进行拆分得到多个子分片,并基于上述数据存储方式将每个上述子分片进行存储。
具体实现中,上述数据存储装置可通过其内置的各个功能模块执行如上述图1中各个步骤所提供的实现方式,具体可参见上述各个步骤所提供的实现方式,在此不再赘述。
参见图5,图5是本申请实施例提供的电子设备的结构示意图。如图5所示,本实施例中的电子设备500可以包括:处理器501,网络接口504和存储器505,此外,上述电子设备500还可以包括:用户接口503,和至少一个通信总线502。其中,通信总线502用于实现这些组件之间的连接通信。其中,用户接口503可以包括显示屏(Display)、键盘(Keyboard),可选用户接口503还可以包括标准的有线接口、无线接口。网络接口504可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器504可以是高速RAM存储器,也可以是非易失性存储器(non-volatile memory,NVM),例如至少一个磁盘存储器。存储器505可选的还可以是至少一个位于远离前述处理器501的存储装置。如图5所示,作为一种计算机可读存储介质的存储器505中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在图5所示的电子设备500中,网络接口504可提供网络通讯功能;而用户接口503主要用于为用户提供输入的接口;而处理器501可以用于调用存储器505中存储的设备控制应用程序,以实现:
获取待存储数据对应的至少一个数据集,每个上述数据集是基于数据属性信息将上述待存储数据进行划分后得到的,每个上述数据集对应一种数据存储方式;
基于每个上述数据集中的数据量,将每个上述数据集划分为至少一个分片;
基于每个上述分片对应的上述数据存储方式,将每个上述分片在分布式数据库中进行存储。
在一些可行的实施方式中,上述数据属性信息包括数据量、数据修改信息、数据访问信息、数据写入信息或数据查询信息中的至少一项。
在一些可行的实施方式中,每个上述数据集中的数据以键值对形式存储,且每个上述数据集中的上述键值对的键值与每个上述数据集对应的上述数据存储方式相关联。在一些可行的实施方式中,上述数据存储方式包括列式存储、基于多路平衡查找树B-Tree的存储方式、基于日志结构合并树LSM Tree的存储方式或基于哈希索引的存储方式中的至少一项。
在一些可行的实施方式中,上述基于每个上述分片对应的上述数据存储方式,将每个上述分片在分布式数据库中进行存储之后,上述处理器501还用于:
确定上述分布式数据库中至少一个上述分片的访问频率;
基于至少一个上述分片的上述访问频率和上述数据存储方式,对至少一个上述分片进行调整。
在一些可行的实施方式中,上述处理器501用于:
对于至少一种上述数据存储方式,响应于上述数据存储方式对应的多个上述分片中存在上述访问频率小于预设阈值的多个第一分片,将上述多个第一分片进行合并得到至少一个合并分片,并基于上述数据存储方式将上述至少一个合并分片进行存储。
在一些可行的实施方式中,上述处理器501还用于:
对于至少一种上述数据存储方式,响应于上述数据存储方式对应的至少一个上述分片中存在上述访问频率大于或者等于上述预设阈值的至少一个第二分片,将每个上述第二分片进行拆分得到多个子分片,并基于上述数据存储方式将每个上述子分片进行存储。
应当理解,在一些可行的实施方式中,上述处理器501可以是中央处理单元(central processing unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integratedcircuit,ASIC)、现成可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。该存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器的一部分还可以包括非易失性随机存取存储器。例如,存储器还可以存储设备类型的信息。
具体实现中,上述电子设备500可通过其内置的各个功能模块执行如上述图1中各个步骤所提供的实现方式,具体可参见上述各个步骤所提供的实现方式,在此不再赘述。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,被处理器执行以实现图1中各个步骤所提供的方法,具体可参见上述各个步骤所提供的实现方式,在此不再赘述。
上述计算机可读存储介质可以是前述任一实施例提供的数据存储装置或电子设备的内部存储单元,例如电子设备的硬盘或内存。该计算机可读存储介质也可以是该电子设备的外部存储设备,例如该电子设备上配备的插接式硬盘,智能存储卡(smart mediacard,SMC),安全数字(secure digital,SD)卡,闪存卡(flash card)等。上述计算机可读存储介质还可以包括磁碟、光盘、只读存储记忆体(read-only memory,ROM)或随机存储记忆体(randomaccess memory,RAM)等。进一步地,该计算机可读存储介质还可以既包括该电子设备的内部存储单元也包括外部存储设备。该计算机可读存储介质用于存储该计算机程序以及该电子设备所需的其他程序和数据。该计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本申请实施例提供了一种计算机程序产品,该计算机程序产品包括计算机程序,上述计算机程序被处理器执行图1中各个步骤所提供的方法。
本申请的权利要求书和说明书及附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或电子设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或电子设备固有的其它步骤或单元。在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置展示该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
以上所揭露的仅为本申请较佳实施例而已,不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (10)
1.一种数据存储方法,其特征在于,所述方法包括:
获取待存储数据对应的至少一个数据集,每个所述数据集是基于数据属性信息将所述待存储数据进行划分后得到的,每个所述数据集对应一种数据存储方式;
基于每个所述数据集中的数据量,将每个所述数据集划分为至少一个分片;
基于每个所述分片对应的所述数据存储方式,将每个所述分片在分布式数据库中进行存储。
2.根据权利要求1所述的方法,其特征在于,所述数据属性信息包括数据量、数据修改信息、数据访问信息、数据写入信息或数据查询信息中的至少一项。
3.根据权利要求1所述的方法,其特征在于,每个所述数据集中的数据以键值对形式存储,且每个所述数据集中的所述键值对的键值与每个所述数据集对应的所述数据存储方式相关联。
4.根据权利要求1所述的方法,其特征在于,所述数据存储方式包括列式存储、基于多路平衡查找树B-Tree的存储方式、基于日志结构合并树LSM Tree的存储方式或基于哈希索引的存储方式中的至少一项。
5.根据权利要求1所述的方法,其特征在于,所述基于每个所述分片对应的所述数据存储方式,将每个所述分片在分布式数据库中进行存储之后,所述方法还包括:
确定所述分布式数据库中至少一个所述分片的访问频率;
基于至少一个所述分片的所述访问频率和所述数据存储方式,对至少一个所述分片进行调整。
6.根据权利要求5所述的方法,其特征在于,所述基于至少一个所述分片的所述访问频率和所述数据存储方式,对至少一个所述分片进行调整,包括:
对于至少一种所述数据存储方式,响应于所述数据存储方式对应的多个所述分片中存在所述访问频率小于预设阈值的多个第一分片,将所述多个第一分片进行合并得到至少一个合并分片,并基于所述数据存储方式将所述至少一个合并分片进行存储。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
对于至少一种所述数据存储方式,响应于所述数据存储方式对应的至少一个所述分片中存在所述访问频率大于或者等于所述预设阈值的至少一个第二分片,将每个所述第二分片进行拆分得到多个子分片,并基于所述数据存储方式将每个所述子分片进行存储。
8.一种数据存储装置,其特征在于,所述装置包括:
数据获取模块,用于获取待存储数据对应的至少一个数据集,每个所述数据集是基于数据属性信息将所述待存储数据进行划分后得到的,每个所述数据集对应一种数据存储方式;
数据处理模块,用于基于每个所述数据集中的数据量,将每个所述数据集划分为至少一个分片;
数据存储模块,用于基于每个所述分片对应的所述数据存储方式,将每个所述分片在分布式数据库中进行存储。
9.一种电子设备,其特征在于,包括处理器和存储器,所述处理器和存储器相互连接;
所述存储器用于存储计算机程序;
所述处理器被配置用于在调用所述计算机程序时,执行如权利要求1至7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行以实现权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210524599.3A CN114756626A (zh) | 2022-05-13 | 2022-05-13 | 数据处理方法、装置、设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210524599.3A CN114756626A (zh) | 2022-05-13 | 2022-05-13 | 数据处理方法、装置、设备以及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114756626A true CN114756626A (zh) | 2022-07-15 |
Family
ID=82334535
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210524599.3A Pending CN114756626A (zh) | 2022-05-13 | 2022-05-13 | 数据处理方法、装置、设备以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114756626A (zh) |
-
2022
- 2022-05-13 CN CN202210524599.3A patent/CN114756626A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9886464B2 (en) | Versioned bloom filter | |
US11030196B2 (en) | Method and apparatus for processing join query | |
CN111324606B (zh) | 数据分片的方法及装置 | |
US20170357710A1 (en) | Clustering log messages using probabilistic data structures | |
CN110633378A (zh) | 一种支持超大规模关系网络的图数据库构建方法 | |
WO2019196239A1 (zh) | 一种线程接口的管理方法、终端设备及计算机可读存储介质 | |
CN111651424B (zh) | 一种数据处理方法、装置、数据节点及存储介质 | |
CN110851474A (zh) | 数据查询方法、数据库中间件、数据查询设备及存储介质 | |
CN112328592A (zh) | 数据存储方法、电子设备及计算机可读存储介质 | |
US9213759B2 (en) | System, apparatus, and method for executing a query including boolean and conditional expressions | |
US10558636B2 (en) | Index page with latch-free access | |
CN109033295B (zh) | 超大数据集的合并方法及装置 | |
CN112925859A (zh) | 数据存储方法和装置 | |
US10248673B2 (en) | Allocating free space in a database | |
CN114756626A (zh) | 数据处理方法、装置、设备以及存储介质 | |
EP4321981A1 (en) | Data processing method and apparatus | |
CN115794819A (zh) | 一种数据写入方法及电子设备 | |
CN111290700A (zh) | 分布式数据读写方法和系统 | |
WO2020238750A1 (zh) | 数据处理方法、装置、电子设备及计算机存储介质 | |
JP7173165B2 (ja) | 履歴管理装置、履歴管理方法及びプログラム | |
WO2020140623A1 (zh) | 电子装置、元数据处理方法和计算机可读存储介质 | |
CN111158994A (zh) | 一种压测性能测试方法及装置 | |
US20180364943A1 (en) | Memory management architecture and system therefor | |
CN117369731B (zh) | 一种数据的缩减处理方法、装置、设备及介质 | |
CN111459411B (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 |