CN111756828B - 一种数据存储方法、装置及设备 - Google Patents
一种数据存储方法、装置及设备 Download PDFInfo
- Publication number
- CN111756828B CN111756828B CN202010567658.6A CN202010567658A CN111756828B CN 111756828 B CN111756828 B CN 111756828B CN 202010567658 A CN202010567658 A CN 202010567658A CN 111756828 B CN111756828 B CN 111756828B
- Authority
- CN
- China
- Prior art keywords
- disk
- data object
- node
- resource domain
- determining
- 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
- 238000000034 method Methods 0.000 title claims abstract description 55
- 238000013500 data storage Methods 0.000 title claims abstract description 43
- 238000013507 mapping Methods 0.000 claims abstract description 63
- 238000004590 computer program Methods 0.000 claims description 9
- 238000013468 resource allocation Methods 0.000 abstract description 5
- 230000000694 effects Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000005192 partition Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- 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/0629—Configuration or reconfiguration of storage systems
-
- 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]
-
- 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)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种数据存储方法,在磁盘资源域策略中将节点的磁盘资源划分为两个以上的磁盘资源域,并设置对象与磁盘资源域之间的对应关系。因此,在进行磁盘映射时,先确定对象对应的目标磁盘资源域,再利用哈希算法确定对象具体映射到目标磁盘资源域中的哪个磁盘,最终得到对象与磁盘之间的映射关系。可见,该方法通过设置磁盘资源域策略,避免了对象随机映射到节点内部任意磁盘上的问题,实现了对对象进行目的性地映射,使其只能映射到对应的磁盘资源域。提升了资源分配的灵活性,有利于充分发挥分布式存储***的存储性能。此外,本申请还提供了一种数据存储装置、设备及可读存储介质,其技术效果与上述方法的技术效果相对应。
Description
技术领域
本申请涉及计算机技术领域,特别涉及一种数据存储方法、装置、设备及可读存储介质。
背景技术
sheepdog是开源社区新兴的分布式存储***,其采用完全对称的结构,没有类似元数据服务的中心节点,依靠大量普通PC服务器通过网络互联,对外作为一个整体提供存储服务。
不同于其他的分布式存储设计,sheepdog没有元数据信息,即不记录对象所存储的节点位置信息,在数据存储过程中sheepdog通过哈希算法计算对象到存储位置的映射关系。
在计算对象与磁盘的映射关系时,这种通过哈希算法计算对象的存储位置的弊端在于:根据哈希算法,对象会随机分布在节点内部的任意一个磁盘上,因此无法按照一定的规则去组织对象有目的性地进行映射。例如,假设每个节点有4个磁盘,那么对象根据哈希算法会随机分布在4个磁盘中的任意一个磁盘,无法限定该对象的存储范围仅仅为节点的磁盘1和磁盘2。
可见,当前分布式存储***通过哈希算法确定对象对磁盘的映射关系,对象随机分布在节点的任意磁盘上,该资源分配方式过于死板,影响了分布式存储***的存储性能。
发明内容
本申请的目的是提供一种数据存储方法、装置、设备及可读存储介质,用以解决当前分布式存储***通过哈希算法确定对象对磁盘的映射关系,资源分配方式过于死板,影响分布式存储***的存储性能的问题。其具体方案如下:
第一方面,本申请提供了一种数据存储方法,包括:
确定待存储的数据对象;
确定所述数据对象映射到的目标节点,并获取所述目标节点的磁盘资源域策略,其中所述目标节点的磁盘资源被划分为两个以上的磁盘资源域,所述磁盘资源域策略包括数据对象与磁盘资源域的对应关系,还包括磁盘与磁盘资源域的对应关系;
在所述数据对象对应的目标磁盘资源域上,利用一致性哈希算法,确定所述数据对象与磁盘的映射关系;
根据所述数据对象与磁盘的映射关系,对所述数据对象进行存储。
优选的,所述在所述数据对象对应的目标磁盘资源域上,利用一致性哈希算法,确定所述数据对象与磁盘的映射关系,包括:
根据所述数据对象对应的目标磁盘资源域,构建哈希环;
利用一致性哈希算法,计算所述数据对象的名称的哈希值;
根据所述哈希值的大小,确定所述数据对象在所述哈希环的位置;
根据所述数据对象在所述哈希环的位置,确定所述数据对象与磁盘的映射关系。
优选的,在所述获取所述目标节点的磁盘资源域策略之前,还包括:
设置目标节点的磁盘资源域策略,将高性能磁盘和低性能磁盘划分为不同的磁盘资源域。
优选的,所述根据所述数据对象与磁盘的映射关系,对所述数据对象进行存储,包括:
根据所述数据对象与磁盘的映射关系,确定所述数据对象的存储位置信息,根据所述存储位置信息对所述数据对象进行存储,其中所述存储位置信息包括磁盘资源域编号、磁盘编号、虚拟节点编号。
优选的,所述确定所述数据对象映射到的目标节点,包括:
获取当前集群的节点资源域策略,其中所述当前集群的节点资源被划分为两个以上的节点资源域,所述节点资源域策略包括数据对象与节点资源域的对应关系,还包括节点与节点资源域的对应关系;
在所述数据对象对应的目标节点资源域上,利用一致性哈希算法,确定所述数据对象与节点的映射关系,得到所述数据对象映射到的目标节点。
优选的,在所述获取当前集群的节点资源域策略之前,还包括:
设置当前集群的节点资源域策略,将位于不同故障域的节点划分至同一个节点资源域。
第二方面,本申请提供了一种数据存储装置,包括:
对象确定模块:用于确定待存储的数据对象;
策略获取模块:用于确定所述数据对象映射到的目标节点,并获取所述目标节点的磁盘资源域策略,其中所述目标节点的磁盘资源被划分为两个以上的磁盘资源域,所述磁盘资源域策略包括数据对象与磁盘资源域的对应关系,还包括磁盘与磁盘资源域的对应关系;
映射关系确定模块:用于在所述数据对象对应的目标磁盘资源域上,利用一致性哈希算法,确定所述数据对象与磁盘的映射关系;
存储模块:用于根据所述数据对象与磁盘的映射关系,对所述数据对象进行存储。
第三方面,本申请提供了一种数据存储设备,包括:
存储器:用于存储计算机程序;
处理器:用于执行所述计算机程序,以实现如上所述的数据存储方法的步骤。
第四方面,本申请提供了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时用于实现如上所述的数据存储方法的步骤。
本申请所提供的一种数据存储方法,包括:确定待存储的数据对象;确定数据对象映射到的目标节点,并获取目标节点的磁盘资源域策略,其中目标节点的磁盘资源被划分为两个以上的磁盘资源域,磁盘资源域策略包括数据对象与磁盘资源域的对应关系,还包括磁盘与磁盘资源域的对应关系;在数据对象对应的目标磁盘资源域上,利用一致性哈希算法,确定数据对象与磁盘的映射关系;根据数据对象与磁盘的映射关系,对数据对象进行存储。
可见,该方法在磁盘资源域策略中将节点的磁盘资源划分为两个以上的磁盘资源域,并在磁盘资源域策略中设置了数据对象与磁盘资源域之间的对应关系。因此,在进行数据对象与磁盘之间的映射时,先确定数据对象对应的目标磁盘资源域,再利用哈希算法确定数据对象具体映射到目标磁盘资源域中的哪个磁盘,最终得到对象与磁盘之间的映射关系。因此,该方法通过设置磁盘资源域策略,避免了数据对象随机映射到节点内部任意磁盘上的问题,实现了对数据对象进行目的性地映射,使其只能映射到对应的磁盘资源域中的磁盘。提升了资源分配的灵活性,有利于充分发挥分布式存储***的存储性能。
此外,本申请还提供了一种数据存储装置、设备及可读存储介质,其技术效果与上述方法的技术效果相对应,这里不再赘述。
附图说明
为了更清楚的说明本申请实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请提供的基于一致性哈希算法的传统哈希环的对象分布情况示意图;
图2为本申请提供的一种数据存储方法实施例一实现流程图;
图3为本申请提供的磁盘资源的划分情况示意图;
图4为本申请提供的应用磁盘资源域策略的哈希环示意图;
图5为本申请提供的应用磁盘资源域策略的哈希环的对象分布情况示意图;
图6为本申请提供的一种数据存储方法实施例一中S103的细化流程图;
图7为本申请提供的一种数据存储方法实施例二实现流程图;
图8为本申请提供的一种数据存储装置实施例的功能框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
如前文所述,不同于其他的分布式存储设计,sheepdog没有元数据信息,即不记录对象所存储的位置信息。sheepdog通过一致性哈希算法计算对象到存储位置的映射关系,可以将该映射过程用公式定义为:对象存储位置=hash(对象名称)。而后,根据对象名称计算的具有唯一性的哈希值,查找其在哈希环上的位置,从而确定对象的存储位置,具体如图1所示。
图1中为哈希环示意图,其中三角形表示对象,圆形表示虚拟节点。在一致性哈希算法中,无论物理节点对应的虚拟节点,还是物理磁盘对应的虚拟磁盘,在哈希环中均可称为虚拟节点,下面以磁盘哈希过程为例进行说明。
从图1可以看到,[0,2n)的范围组成了一个哈希环,假设某物理节点上存在3个物理磁盘,根据一致性哈希规则,每个物理磁盘对应4个虚拟节点,这里通过“物理磁盘编号+虚拟节点编号”来定义虚拟节点的名称,即物理磁盘1对应的各个虚拟节点分别记为vnode1.1、vnode 1.2、vnode 1.3、vnode 1.4,各个虚拟节点随机并均匀分布在哈希环的不同位置上。假设存在8个待存储的对象,分别记为对象1、对象2、…、对象8,根据对象名称计算出哈希值,然后根据哈希值的大小确定对象在哈希环上的位置。按照一致性哈希算法,各对象被随机分配在不同的物理磁盘上。如图1中最终分配结果为:对象1被分配在物理磁盘1上,对象5被分配在物理磁盘3上,其他对象分配情况不再一一说明。
由于sheepdog中存在多个物理节点,每个物理节点上又存在多个物理磁盘,因此,在实际应用中,计算一个对象的位置信息需要经过两层哈希:第一层哈希是由集群中所有的物理节点组成的哈希环,通过该层哈希计算出对象分配在集群中的哪个物理节点上;在确定对象映射到的物理节点之后,将该物理节点的所有物理磁盘将组成一个哈希环,再次根据对象的哈希值计算对象分配在哪个物理磁盘上。也就是说,第一层哈希计算出对象的节点位置信息,第二层哈希计算出对象的磁盘位置信息;经过两层哈希计算,一个对象的位置信息便被确定下来。
然而,上述两层哈希映射的弊端是:无法按照一定的规则去组织对象映射。例如:如何实现对象1仅在物理节点1和物理节点2上分配,对象2仅在物理节点2和物理节点3上分配,更进一步,如何实现对象1仅在物理节点1的物理磁盘1、物理节点1的物理磁盘2、物理节点2的物理磁盘3、物理节点2的物理磁盘4上分配常规的分布式存储***的两层哈希映射无法解决这个问题。
针对上述问题,本申请提供了一种数据存储方法、装置、设备及可读存储介质,通过设置磁盘资源域策略,避免了数据对象随机映射到节点内部任意磁盘上的问题,实现了对数据对象进行目的性地映射,使其只能映射到对应的磁盘资源域中的磁盘。提升了资源分配的灵活性,有利于充分发挥分布式存储***的存储性能。
下面对本申请提供的一种数据存储方法实施例一进行介绍,参见图2,实施例一包括:
S201、确定待存储的数据对象;
S202、确定所述数据对象映射到的目标节点,并获取所述目标节点的磁盘资源域策略,其中所述目标节点的磁盘资源被划分为两个以上的磁盘资源域,所述磁盘资源域策略包括数据对象与磁盘资源域的对应关系,还包括磁盘与磁盘资源域的对应关系;
S203、在所述数据对象对应的目标磁盘资源域上,利用一致性哈希算法,确定所述数据对象与磁盘的映射关系;
S204、根据所述数据对象与磁盘的映射关系,对所述数据对象进行存储。
本实施例在不改变哈希映射的基础上定义资源域(domain)的概念,以磁盘资源域为例,磁盘资源域中定义了磁盘的资源集合。本实施例将节点内部磁盘划分为两个以上的磁盘资源域,磁盘资源域策略用于描述具体的磁盘资源划分情况,也就是描述各个磁盘具体被划分到哪个磁盘资源域,即上述磁盘与磁盘资源域的对应关系;此外,磁盘资源域策略还用于描述自定义映射规则,也就是定义对象与磁盘资源域的定向映射策略,即上述数据对象与磁盘资源域的对应关系。
综上,磁盘资源域是磁盘资源的集合,磁盘资源域策略描述了磁盘资源域的划分情况和对象到磁盘资源域映射策略。为了更好的阐述磁盘资源域和磁盘资源域策略的概念,下面以具体应用为例进行说明:
假设将图1所示的磁盘资源划分为两个磁盘资源域,分别记为domain-1和domain-2。假设划分结果如图3所示,图3中白色圆圈对应的虚拟节点,即vnode1.1、vnode2.2、vnode3.2、vnode3.3均被划分到domain-1中,图3中黑色圆圈对应的虚拟节点则被划分到domain-2中。假设将虚拟节点的命名规则设置为:物理磁盘编号+磁盘资源域的编号+虚拟节点在磁盘资源域中的编号,那么命名结果如图3所示,例如图1中的vnode3.3在图3中命名为vnode 3.1.2。
分别根据这两个磁盘资源域构建哈希环,实际上是将图1中的哈希环按照磁盘资源域的划分结果拆分为两个哈希环,如图4所示,即domain-1的虚拟节点构成哈希环1,domain-2的虚拟节点构成哈希环2。
在磁盘资源域策略中设置对象与磁盘资源域的对应关系,对于图1所示的8个对象,如图3所示,对象1、对象3、对象4、对象5均与domain-1对应,其他对象与domain-2对应。然后,根据一致性哈希算法,各个对象根据对象名称的哈希值大小分布在对应的哈希环上,如图5所示。
通过对比图1和图5,可以看出,对象的映射规则和映射的虚拟节点位置并没有发生任何变化,发生变化的仅是虚拟节点的名称。因此,只需定义磁盘资源域,便能够将图1所示的哈希环拆分为两个以上,并且对象在两个哈希环上的一致性哈希分布策略并未发生任何改变。
因此,磁盘资源域能够对磁盘资源进行划分,划分得到的每一个磁盘资源域的虚拟节点构成一个完整的哈希环。从这个角度看,磁盘资源域是节点资源的集合,可以通过定义不同的磁盘资源域策略,实现节点不同组合。
具体的,上述S103,即在所述数据对象对应的目标磁盘资源域上,利用一致性哈希算法,确定所述数据对象与磁盘的映射关系的过程,具体包括以下步骤,如图6所示:
S601、根据所述数据对象对应的目标磁盘资源域,构建哈希环;
S602、利用一致性哈希算法,计算所述数据对象的名称的哈希值;
S603、根据所述哈希值的大小,确定所述数据对象在所述哈希环的位置;
S604、根据所述数据对象在所述哈希环的位置,确定所述数据对象与磁盘的映射关系。
本实施例所提供一种数据存储方法,在磁盘资源域策略中将节点的磁盘资源划分为两个以上的磁盘资源域,并在磁盘资源域策略中设置了数据对象与磁盘资源域之间的对应关系。因此,在进行数据对象与磁盘之间的映射时,先确定数据对象对应的目标磁盘资源域,再利用哈希算法确定数据对象具体映射到目标磁盘资源域中的哪个磁盘,最终得到对象与磁盘之间的映射关系。因此,该方法通过设置磁盘资源域策略,避免了数据对象随机映射到节点内部任意磁盘上的问题,实现了对数据对象进行目的性地映射,使其只能映射到特定的磁盘,即与该数据对象对应的磁盘资源域中的磁盘。提升了资源分配的灵活性,有利于充分发挥分布式存储***的存储性能。
下面开始详细介绍本申请提供的一种数据存储方法实施例二,实施例二基于实施例一实现,并在实施例一的基础上进行了一定程度上的拓展。
具体的,实施例一仅仅描述了在磁盘映射的过程中采用磁盘资源域策略,本实施例在此基础之上,在节点映射过程中也采用了节点资源域策略。参见图7,实施例二具体包括:
S701、确定待存储的数据对象;
S702、获取当前集群的节点资源域策略,其中所述当前集群的节点资源被划分为两个以上的节点资源域,所述节点资源域策略包括数据对象与节点资源域的对应关系,还包括节点与节点资源域的对应关系;
S703、在所述数据对象对应的目标节点资源域上,利用一致性哈希算法,确定所述数据对象与节点的映射关系,得到所述数据对象映射到的目标节点;
S704、获取所述目标节点的磁盘资源域策略,其中所述目标节点的磁盘资源被划分为两个以上的磁盘资源域,所述磁盘资源域策略包括数据对象与磁盘资源域的对应关系,还包括磁盘与磁盘资源域的对应关系;
S705、在所述数据对象对应的目标磁盘资源域上,利用一致性哈希算法,确定所述数据对象与磁盘的映射关系;
S706、根据所述数据对象与磁盘的映射关系,对所述数据对象进行存储。
本实施例在分布式存储***的两层哈希映射中分别定义了节点资源域策略和磁盘资源域策略,其中节点资源域策略包含了节点资源的划分信息,磁盘资源域策略包含了磁盘资源的划分信息。通过一层哈希映射确定对象在节点资源域内的节点位置信息,通过二层哈希确定对象在该节点的磁盘资源域中的磁盘位置信息。因此,可以通过在配置文件中定义节点资源域策略和磁盘资源域策略,实现从节点到磁盘的定向映射策略,类似于ceph中的rule策略。
作为一种优选的实施方式,可以根据磁盘的特性划分不同的磁盘资源域。具体的,在所述获取所述目标节点的磁盘资源域策略之前,还包括:设置目标节点的磁盘资源域策略,将高性能磁盘和低性能磁盘划分为不同的磁盘资源域,将磁盘资源域策略保存在配置文件中。如将高性能的存储介质划分为一个磁盘资源域,将低性能的存储介质划分为一个磁盘资源域,借助于这种策略,便可以实现分层存储的功能。
作为一种优选的实施方式,在所述获取当前集群的节点资源域策略之前,还包括:设置当前集群的节点资源域策略,将位于不同故障域的节点划分至同一个节点资源域,将节点资源域策略保存在配置文件中。
例如,假设节点1、节点2和节点3在同一个机架上,为了解决因为机架掉电导致节点1、节点2、节点3同时宕机,导致保存在这些节点上的数据副本同时失效,通常会将节点1、节点2和节点3归在同一个故障域内。而本实施例将节点1、节点2、节点3通过自定义规则定义在不同的节点资源域中,或者说,将位于不同故障域的节点划分至同一个节点资源域中,每个节点资源域内共享自己的哈希环,因此不会出现对象副本同时存在这个3个节点上的情况,故节点资源域策略的定义可以实现故障域的功能。
可见,本实施例提供的一种数据存储方法,在不改变两层哈希映射的基础上,将节点以及节点上的磁盘按照一定的规则进行资源划分和整合,形成节点资源域和磁盘资源域;允许自定义节点资源域策略和磁盘资源域策略,根据这些自定义策略,实现对象到特定节点和特点磁盘的映射,因此能够更加灵活的使用分布式存储***中的物理资源,利于实现故障域、分层存储等功能。
下面对本申请实施例提供的一种数据存储装置进行介绍,下文描述的一种数据存储装置与上文描述的一种数据存储方法可相互对应参照。
如图8所示,本实施例的数据存储装置,包括:
对象确定模块801:用于确定待存储的数据对象;
策略获取模块802:用于确定所述数据对象映射到的目标节点,并获取所述目标节点的磁盘资源域策略,其中所述目标节点的磁盘资源被划分为两个以上的磁盘资源域,所述磁盘资源域策略包括数据对象与磁盘资源域的对应关系,还包括磁盘与磁盘资源域的对应关系;
映射关系确定模块803:用于在所述数据对象对应的目标磁盘资源域上,利用一致性哈希算法,确定所述数据对象与磁盘的映射关系;
存储模块804:用于根据所述数据对象与磁盘的映射关系,对所述数据对象进行存储。
本实施例的数据存储装置用于实现前述的数据存储方法,因此该装置中的具体实施方式可见前文中的数据存储方法的实施例部分,例如,对象确定模块801,策略获取模块802,映射关系确定模块803,存储模块804,分别用于实现上述数据存储方法中步骤S201,S202,S203,S204。所以,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再展开介绍。
另外,由于本实施例的数据存储装置用于实现前述的数据存储方法,因此其作用与上述方法的作用相对应,这里不再赘述。
此外,本申请还提供了一种数据存储设备,包括:
存储器:用于存储计算机程序;
处理器:用于执行所述计算机程序,以实现如上文所述的数据存储方法的步骤。
最后,本申请提供了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时用于实现如上文所述的数据存储方法的步骤。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的方案进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (8)
1.一种数据存储方法,其特征在于,包括:
确定待存储的数据对象;
确定所述数据对象映射到的目标节点,并获取所述目标节点的磁盘资源域策略,其中所述目标节点的磁盘资源被划分为两个以上的磁盘资源域,所述磁盘资源域策略包括数据对象与磁盘资源域的对应关系,还包括磁盘与磁盘资源域的对应关系;
在所述数据对象对应的目标磁盘资源域上,利用一致性哈希算法,确定所述数据对象与磁盘的映射关系;
根据所述数据对象与磁盘的映射关系,对所述数据对象进行存储;
所述确定所述数据对象映射到的目标节点,包括:
获取当前集群的节点资源域策略,其中所述当前集群的节点资源被划分为两个以上的节点资源域,所述节点资源域策略包括数据对象与节点资源域的对应关系,还包括节点与节点资源域的对应关系;
在所述数据对象对应的目标节点资源域上,利用一致性哈希算法,确定所述数据对象与节点的映射关系,得到所述数据对象映射到的目标节点。
2.如权利要求1所述的方法,其特征在于,所述在所述数据对象对应的目标磁盘资源域上,利用一致性哈希算法,确定所述数据对象与磁盘的映射关系,包括:
根据所述数据对象对应的目标磁盘资源域,构建哈希环;
利用一致性哈希算法,计算所述数据对象的名称的哈希值;
根据所述哈希值的大小,确定所述数据对象在所述哈希环的位置;
根据所述数据对象在所述哈希环的位置,确定所述数据对象与磁盘的映射关系。
3.如权利要求2所述的方法,其特征在于,在所述获取所述目标节点的磁盘资源域策略之前,还包括:
设置目标节点的磁盘资源域策略,将高性能磁盘和低性能磁盘划分为不同的磁盘资源域。
4.如权利要求3所述的方法,其特征在于,所述根据所述数据对象与磁盘的映射关系,对所述数据对象进行存储,包括:
根据所述数据对象与磁盘的映射关系,确定所述数据对象的存储位置信息,根据所述存储位置信息对所述数据对象进行存储,其中所述存储位置信息包括磁盘资源域编号、磁盘编号、虚拟节点编号。
5.如权利要求1所述的方法,其特征在于,在所述获取当前集群的节点资源域策略之前,还包括:
设置当前集群的节点资源域策略,将位于不同故障域的节点划分至同一个节点资源域。
6.一种数据存储装置,其特征在于,包括:
对象确定模块:用于确定待存储的数据对象;
策略获取模块:用于确定所述数据对象映射到的目标节点,并获取所述目标节点的磁盘资源域策略,其中所述目标节点的磁盘资源被划分为两个以上的磁盘资源域,所述磁盘资源域策略包括数据对象与磁盘资源域的对应关系,还包括磁盘与磁盘资源域的对应关系;
映射关系确定模块:用于在所述数据对象对应的目标磁盘资源域上,利用一致性哈希算法,确定所述数据对象与磁盘的映射关系;
存储模块:用于根据所述数据对象与磁盘的映射关系,对所述数据对象进行存储;
所述策略获取模块,具体用于获取当前集群的节点资源域策略,其中所述当前集群的节点资源被划分为两个以上的节点资源域,所述节点资源域策略包括数据对象与节点资源域的对应关系,还包括节点与节点资源域的对应关系;在所述数据对象对应的目标节点资源域上,利用一致性哈希算法,确定所述数据对象与节点的映射关系,得到所述数据对象映射到的目标节点。
7.一种数据存储设备,其特征在于,包括:
存储器:用于存储计算机程序;
处理器:用于执行所述计算机程序,以实现如权利要求1-5任意一项所述的数据存储方法的步骤。
8.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时用于实现如权利要求1-5任意一项所述的数据存储方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010567658.6A CN111756828B (zh) | 2020-06-19 | 2020-06-19 | 一种数据存储方法、装置及设备 |
PCT/CN2021/076920 WO2021253853A1 (zh) | 2020-06-19 | 2021-02-19 | 一种数据存储方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010567658.6A CN111756828B (zh) | 2020-06-19 | 2020-06-19 | 一种数据存储方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111756828A CN111756828A (zh) | 2020-10-09 |
CN111756828B true CN111756828B (zh) | 2023-07-14 |
Family
ID=72675828
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010567658.6A Active CN111756828B (zh) | 2020-06-19 | 2020-06-19 | 一种数据存储方法、装置及设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111756828B (zh) |
WO (1) | WO2021253853A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111756828B (zh) * | 2020-06-19 | 2023-07-14 | 广东浪潮大数据研究有限公司 | 一种数据存储方法、装置及设备 |
CN112199176B (zh) * | 2020-10-16 | 2023-01-17 | 济南浪潮数据技术有限公司 | 一种业务处理方法、装置及相关设备 |
CN112230861B (zh) * | 2020-10-26 | 2022-09-13 | 金钱猫科技股份有限公司 | 一种基于一致性哈希算法的数据存储方法及终端 |
CN116204137B (zh) * | 2023-05-04 | 2023-08-04 | 苏州浪潮智能科技有限公司 | 基于dpu的分布式存储***、控制方法、装置及设备 |
CN117113395B (zh) * | 2023-08-17 | 2024-07-16 | 深圳众投互联信息技术有限公司 | 一种基于手机号黑名单数据的智能存储平台和方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103136114A (zh) * | 2011-11-30 | 2013-06-05 | 华为技术有限公司 | 存储方法及存储装置 |
CN103929500A (zh) * | 2014-05-06 | 2014-07-16 | 刘跃 | 一种分布式存储***的数据分片方法 |
CN110489059A (zh) * | 2019-07-11 | 2019-11-22 | 平安科技(深圳)有限公司 | 数据集群存储的方法、装置及计算机设备 |
WO2020083106A1 (zh) * | 2018-10-25 | 2020-04-30 | 华为技术有限公司 | 存储***中的节点扩容方法和存储*** |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8046561B1 (en) * | 2006-12-22 | 2011-10-25 | Emc Corporation | Methods and apparatus for selecting a storage zone for a content unit |
CN102880428B (zh) * | 2012-08-20 | 2015-09-09 | 华为技术有限公司 | 分布式独立磁盘冗余阵列的创建方法及装置 |
CN103645859B (zh) * | 2013-11-19 | 2016-04-13 | 华中科技大学 | 一种虚拟ssd与ssd异构镜像的磁盘阵列缓存方法 |
CN103905540A (zh) * | 2014-03-25 | 2014-07-02 | 浪潮电子信息产业股份有限公司 | 基于两级哈希的对象存储数据分布机制 |
CN104102709A (zh) * | 2014-07-14 | 2014-10-15 | 浪潮(北京)电子信息产业有限公司 | 一种磁盘管理方法及数据库管理*** |
US9851906B2 (en) * | 2015-06-16 | 2017-12-26 | Vmware, Inc. | Virtual machine data placement in a virtualized computing environment |
CN104965677B (zh) * | 2015-06-26 | 2018-04-13 | 北京百度网讯科技有限公司 | 存储*** |
US10114716B2 (en) * | 2015-11-20 | 2018-10-30 | International Business Machines Corporation | Virtual failure domains for storage systems |
CN106055706B (zh) * | 2016-06-23 | 2019-08-06 | 杭州迪普科技股份有限公司 | 一种缓存资源存储方法及装置 |
CN106201355B (zh) * | 2016-07-12 | 2018-12-11 | 腾讯科技(深圳)有限公司 | 数据处理方法和装置以及存储*** |
US10693728B2 (en) * | 2017-02-27 | 2020-06-23 | Dell Products L.P. | Storage isolation domains for converged infrastructure information handling systems |
CN107832017B (zh) * | 2017-11-14 | 2021-02-12 | 中国石油天然气集团有限公司 | 一种提高地震数据存储io性能的方法及装置 |
WO2020000480A1 (zh) * | 2018-06-30 | 2020-01-02 | 华为技术有限公司 | 数据存储方法及数据存储装置 |
CN110096227B (zh) * | 2019-03-28 | 2023-04-18 | 北京奇艺世纪科技有限公司 | 数据存储方法、数据处理方法、装置、电子设备及计算机可读介质 |
CN110058822B (zh) * | 2019-04-26 | 2022-06-24 | 北京计算机技术及应用研究所 | 一种磁盘阵列横向拓展方法 |
CN110083312B (zh) * | 2019-04-28 | 2021-01-15 | 联想(北京)有限公司 | 磁盘扩容方法、装置及计算机设备 |
CN110347675A (zh) * | 2019-06-05 | 2019-10-18 | 阿里巴巴集团控股有限公司 | 一种数据存储方法及装置 |
CN111756828B (zh) * | 2020-06-19 | 2023-07-14 | 广东浪潮大数据研究有限公司 | 一种数据存储方法、装置及设备 |
-
2020
- 2020-06-19 CN CN202010567658.6A patent/CN111756828B/zh active Active
-
2021
- 2021-02-19 WO PCT/CN2021/076920 patent/WO2021253853A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103136114A (zh) * | 2011-11-30 | 2013-06-05 | 华为技术有限公司 | 存储方法及存储装置 |
CN103929500A (zh) * | 2014-05-06 | 2014-07-16 | 刘跃 | 一种分布式存储***的数据分片方法 |
WO2020083106A1 (zh) * | 2018-10-25 | 2020-04-30 | 华为技术有限公司 | 存储***中的节点扩容方法和存储*** |
CN110489059A (zh) * | 2019-07-11 | 2019-11-22 | 平安科技(深圳)有限公司 | 数据集群存储的方法、装置及计算机设备 |
Non-Patent Citations (2)
Title |
---|
A new reliability growth model with dual-time domain — A hard disk drive perspective;Feng-Bin Sun等;2015 Annual Reliability and Maintainability Symposium (RAMS);全文 * |
一种双均衡的集群存储资源映射方法;章宏灿;薛巍;;清华大学学报(自然科学版)网络.预览(10);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111756828A (zh) | 2020-10-09 |
WO2021253853A1 (zh) | 2021-12-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111756828B (zh) | 一种数据存储方法、装置及设备 | |
Shu et al. | Supporting multi-dimensional range queries in peer-to-peer systems | |
EP2202945B1 (en) | Distributed network construction and storage method, apparatus, and system | |
US10165048B2 (en) | Data copy storage method, terminal apparatus, and server apparatus | |
EP2875653B1 (en) | Method for generating a dataset structure for location-based services | |
CN104809129B (zh) | 一种分布式数据存储方法、装置和*** | |
US20080201335A1 (en) | Method and Apparatus for Storing Data in a Peer to Peer Network | |
JP2015512551A (ja) | ネットワーク・インフラストラクチャにおけるデータ記憶及び編成を容易にするコンシステント・リング名前空間 | |
CN110222013B (zh) | 一种集群存储容量确定的方法、***、设备及存储介质 | |
EP3314481A1 (en) | Object based storage cluster with multiple selectable data handling policies | |
JP2004252663A (ja) | ストレージ装置、分担範囲決定方法及びプログラム | |
CN109104464A (zh) | 一种边缘计算环境下面向协同存储的分布式数据更新方法 | |
US9454441B2 (en) | Data layout for recovery and durability | |
CN117008818A (zh) | 数据处理方法、装置、计算机设备和计算机可读存储介质 | |
US9667499B2 (en) | Sparsification of pairwise cost information | |
CN111552694A (zh) | 一种自适应地理空间网格索引方法 | |
CN114244805B (zh) | 一种域名配置方法及设备 | |
CN107656980B (zh) | 应用于分布式数据库***中的方法及分布式数据库*** | |
CN108304555A (zh) | 分布式地图数据处理方法 | |
US7840598B2 (en) | Method for distributing resources to network nodes in a decentralized data network | |
US11507313B2 (en) | Datafall: a policy-driven algorithm for decentralized placement and reorganization of replicated data | |
Daskos et al. | PePeR: A distributed range addressing space for peer-to-peer systems | |
CN113934377A (zh) | 一种元数据集群部署方法、装置、设备及可读存储介质 | |
CN112884123B (zh) | 神经网络优化方法、装置、电子设备及可读存储介质 | |
CN109327520B (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 |