CN110489059B - 数据集群存储的方法、装置及计算机设备 - Google Patents
数据集群存储的方法、装置及计算机设备 Download PDFInfo
- Publication number
- CN110489059B CN110489059B CN201910625543.5A CN201910625543A CN110489059B CN 110489059 B CN110489059 B CN 110489059B CN 201910625543 A CN201910625543 A CN 201910625543A CN 110489059 B CN110489059 B CN 110489059B
- Authority
- CN
- China
- Prior art keywords
- physical
- cluster
- physical cluster
- stored
- storage
- 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
Images
Classifications
-
- 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/0626—Reducing size or complexity 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0643—Management of files
-
- 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]
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
本申请公开了一种数据集群存储的方法、装置及计算机设备,涉及数据处理领域,可以解决利用集群进行数据存储时,不能保证数据在集群中的规则存储,且无法快速定位数据存储的位置,导致存储性能较差的问题。其中方法包括:获取所有用于存储数据的物理集群;将所述物理集群均匀映射到一致性哈希环的物理节点上;根据待存储文件的哈希值确定最优存储的目标物理集群;将所述待存储文件存储到所述目标物理集群中。本申请适用于对数据的集群存储。
Description
技术领域
本申请涉及数据处理领域,尤其涉及到一种数据集群存储的方法、装置及计算机设备。
背景技术
随着数据存储服务使用服务器、机柜等物理资源的累加,通过集群扩充存储容量的方式受到广泛欢迎,其中,集群存储是将多台存储设备中的存储空间聚合成一个能够给应用服务器提供统一访问接口和管理界面的存储池,应用可以通过该访问接口透明地访问和利用所有存储设备上的磁盘,可以充分发挥存储设备的性能和磁盘利用率。
目前,在对数据进行集群存储时,普遍是将数据随机存储到空闲的物理集群中,并且在进行对数据的跨集群存储时,需要建立额外的索引库来记录数据和集群的对应关系,通过在索引库中查询获知历史文件所存储的集群。
然而,上述这种存储方式不能保证数据在集群中的规则存储,且无法快速定位数据存储的位置,导致存储性能较差。
发明内容
有鉴于此,本申请公开了一种数据集群存储的方法、装置及计算机设备,主要目的在于解决在进行数据集群存储时,不能保证数据在集群中的规则存储,且无法快速定位数据存储的位置,导致存储性能较差的问题。
根据本申请的一个方面,提供了一种数据集群存储的方法,该方法包括:
获取所有用于存储数据的物理集群;
将所述物理集群映射到一致性哈希环的物理节点上;
根据待存储文件的哈希值确定最优存储的目标物理集群;
将所述待存储文件存储到所述目标物理集群中。
根据本申请的另一个方面,提供了一种数据集群存储的装置,该装置包括:
获取模块,用于获取所有用于存储数据的物理集群;
映射模块,用于将所述物理集群映射到一致性哈希环的物理节点上;
确定模块,用于根据待存储文件的哈希值确定最优存储的目标物理集群;
存储模块,用于将所述待存储文件存储到所述目标物理集群中。
根据本申请的又一个方面,提供了一种非易失性可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述数据集群存储的方法。
根据本申请的再一个方面,提供了一种计算机设备,包括非易失性可读存储介质、处理器及存储在非易失性可读存储介质上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述数据集群存储的方法。
借由上述技术方案,本申请提供的一种数据集群存储的方法、装置及计算机设备,与目前数据随机存储到空闲的物理集群的方式相比,本申请可将物理集群均匀映射到一致性哈希环的物理节点上,根据待存储文件的哈希值确定待存储文件在一致性哈希环中的逻辑节点位置,基于逻辑节点位置筛选出最优存储的目标物理集群,之后将待存储文件存储到目标物理集群中。本方案能够通过计算,快速定位数据文件应该存储的集群,因数据文件的哈希值是固定的,故能够保证数据在集群中的规则存储。且将各个物理集群均匀映射到一致性哈希环的物理节点上,能使各个物理集群均能存储到数据,避免数据集中存储到某一物理集群中,导致存储压力增大,从而导致数据雪崩的问题。另外,将一致性哈希环融入本方案的数据集群存储中,可有效降低数据存储的复杂性、从而降低成本,且能实现对物理集群的高效定位,满足海量存储扩容需求。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本地申请的不当限定。在附图中:
图1示出了本申请实施例提供的一种数据集群存储的方法的流程示意图;
图2示出了本申请实施例提供的另一种数据集群存储的方法的流程示意图;
图3示出了本申请实施例提供的一种数据集群存储的方法的实例示意图;
图4示出了本申请实施例提供的另一种数据集群存储的方法的实例示意图;
图5示出了本申请实施例提供的又一种数据集群存储的方法的实例示意图;
图6示出了本申请实施例提供的一种数据集群存储的装置的结构示意图;
图7示出了本申请实施例提供的另一种数据集群存储的装置的结构示意图。
具体实施方式
下文将参考附图并结合实施例来详细说明本申请。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互结合。
针对目前在进行数据集群存储时,不能保证数据在集群中的规则存储,且无法快速定位数据存储的位置,导致存储性能较差的问题。本申请实施例提供了一种数据集群存储的方法,如图1所示,该方法包括:
101、获取所有用于存储数据的物理集群。
对于本实施例,获取所有物理集群的目的在于将所有物理集群均等配置到一致性哈希环中,实现对物理集群的均匀配置分布。
102、将物理集群均匀映射到一致性哈希环的物理节点上。
对于本实施例,可利用统一命名空间为各个物理集群进行命名,从而将各个物理集群映射到一致性哈希环中,具体可以选择物理集群的身份标识码或主机名作为关键字计算哈希值,这样每台机器就能确定其在哈希环上的位置,以便基于一致性哈希算法实现对数据文件的针对性存储。
其中,可以把一致性哈希环想象成由2^32个点组成的圆环,圆环的正上方的点代表0,0点右侧的第一个点代表1,以此类推,2、3、4、5、6……直到2^32-1,也就是说0点左侧的第一个点代表2^32-1。一致性哈希环拥有两层节点:第一层为逻辑节点,数目为2^32个;第二层为物理节点,为实际的存储集群。
103、根据待存储文件的哈希值确定最优存储的目标物理集群。
其中,目标物理集群为根据一致性哈希算法判定出的最适合待存储文件存储的物理集群,利用一致性哈希算法判定目标物理集群的方法为:从待存储文件所在的逻辑节点位置开始,将沿顺时针方向遇到的第一个存储状态正常的物理集群确定为目标物理集群。
104、将待存储文件存储到目标物理集群中。
在具体的应用场景中,在确定出最优存储的目标物理集群后,可将待存储文件存储到该目标物理集群中,并可接收对待存储数据的查询以及数据获取。
通过本实施例中数据集群存储的方法,可将物理集群均匀映射到一致性哈希环的物理节点上,根据待存储文件的哈希值确定待存储文件在一致性哈希环中的逻辑节点位置,基于逻辑节点位置筛选出最优存储的目标物理集群,之后将待存储文件存储到目标物理集群中。本方案能够通过计算,快速定位数据文件应该存储的集群,因数据文件的哈希值是固定的,故能够保证数据在集群中的规则存储。且将各个物理集群均匀映射到一致性哈希环的物理节点上,能使各个物理集群均能存储到数据,避免数据集中存储到某一物理集群中,导致存储压力增大,从而导致数据雪崩的问题。另外,将一致性哈希环融入本方案的数据集群存储中,可有效降低数据存储的复杂性、从而降低成本,且能实现对物理集群的高效定位,满足海量存储扩容需求。
进一步的,作为上述实施例具体实施方式的细化和扩展,为了完整说明本实施例中的具体实施过程,提供了另一种数据集群存储的方法,如图2所示,该方法包括:
201、获取所有用于存储数据的物理集群。
在具体的应用场景中,可从数据存储系统中获取到所有用于存储数据的物理集群。例如,数据存储系统中共包含A、B、C、D四个物理集群,则需要提取出A、B、C、D四个集群的基本信息。
202、获取物理集群的存储空间,并将存储空间大于或等于预设阈值的第一物理集群按照预设比例分割成多个空间均等的子物理集群。
在具体的应用场景中,若在一致性哈希环中存在物理集群较少时,容易因为节点分布不均匀而造成数据存储倾斜问题。故在本方案中,需要将存储空间较大的物理集群拆分成多个子物理集群,将各个子物理集群分布于不同的物理节点中,保证数据在各个物理集群间的均匀分布,避免数据存储倾斜的问题,且当单个子物理集群出现故障时,其他的正常的子物理集群不会受到影响,从而保证数据存储的安全性。
其中,预设阈值为判定将物理集群分割为多个子物理集群的最小存储空间。预设比例为将物理集群划分为子物理集群的划分数量,预设比例的数值可根据实际需求预先进行设定。
例如,设定物理集群和子物理集群单位容量的预设比例为10:1,预设阈值为30TB,若获取到物理集群A的存储空间为200TB,物理集群B的存储空间为100TB,物理集群C的存储空间为20TB。因物理集群A和物理集群B的存储空间大于预设阈值,则将物理集群A和物理集群B定义为待分割的第一物理集群,并按照预设比例将物理集群A分割成10个20TB的子物理集群,将物理集群B分割成10个10TB的子物理集群。因物理集群C的存储空间小于预设阈值,故可判定该存储空间较小,不需要划分为多个子物理集群,并将其定义为第二物理集群。
203、按照命名规则为存储空间小于预设阈值的第二物理集群及各个子物理集群配置身份标识码。
在基于实施例步骤202将存储空间较大的第一物理集群分割成多个子物理集群之后,需要利用统一命名空间为各个子物理集群及第二物理集群配置符合命名规则的身份标识,便于对物理存储空间的统一管理。
其中,命名规则可统一设定为cluster[集群编号]-[物理节点编号],在对物理集群进行命名前,需要获取物理集群的集群编号,判定该集群编号对应的物理集群是第一物理集群还是第二物理集群,如判定为第一物理集群,则需要进一步获取子物理集群在第一物理集群中的排列序号,即对应命名规则中的物理节点编号。当判定集群编号对应的物理集群是第二物理集群时,可直接将物理节点编号设定为1。例如判定存储集群1共有两个子物理节点,则可将两个子物理节点依次命名为,cluster1-1、cluster1-2;若判定存储集群2共有四个子物理节点,则可将四个子物理节点依次命名为,cluster2-1、cluster2-2、cluster2-3,cluster2-4;若判定存储集群3为第二物理集群,则可将其命名为cluster3-1。
204、根据身份标识码确定第二物理集群及各个子物理集群的哈希值。
对于本实施例,在具体的应用场景中,确定第二物理集群及子物理集群映射到一致性哈希环上的方法可为:采用MD5消息摘要算法产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。具体实现方法为:MD5以512位分组来处理输入的身份标识码,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成一个128位散列值。
205、利用哈希值计算第二物理集群及子物理集群在一致性哈希环上的物理节点位置。
对于本实施例,在具体的应用场景中,利用哈希值确定第二物理集群及子物理集群在一致性哈希环上的物理节点位置的方法可为:利用哈希值函数,将求取的第二物理集群或子物理集群的hash值再对2^32求模,获取结果即为对应一致性哈希环的物理节点,即:Hash(cluster1)=hash(cluster1)%2^32,其中,hash(cluster1)为根据身份标识码求取的hash值,hash(cluster1)即为对应第二物理集群或子物理集群在一致性哈希环上的物理节点。通过上述公式算出的结果一定是一个0到2^32-1之间的一个整数,故用算出的这个整数,代表物理集群,既然这个整数肯定处于0到2^32-1之间,那么,在一致性哈希环上必定能确定出物理节点位置,即实现将各个物理集群映射到一致性哈希环上。
206、根据待存储文件的身份标识码计算待存储文件的哈希值。
本实施例与实施例步骤204的计算方法相同,在获取到待存储文件的身份标识码后,将身份标识码转换为哈希值。
207、利用哈希值确定待存储文件在一致性哈希环上的逻辑节点位置。
对于本实施例,相应的,利用哈希值确定待存储文件在一致性哈希环上的逻辑节点位置的方法可为:利用哈希值函数,将求取的待存储文件hash值再对2^32求模,获取结果即为对应一致性哈希环的逻辑节点,即:Hash(obj1)=hash(obj1)%2^32,其中,hash(obj1)为根据待存储文件的身份标识码求取得到的hash值,Hash(obj1)为待存储文件对应的逻辑节点。通过上述公式算出的结果一定是一个0到2^32-1之间的一个整数,故用算出的这个整数,代表待存储文件,既然这个整数肯定处于0到2^32-1之间,那么,在一致性哈希环上必定能确定出该待存储文件对应的逻辑节点位置。
208、将一致性哈希环上以逻辑节点位置为起点顺时针查取出的首个第二物理集群或首个子物理集群确定为目标物理集群。
在具体的应用场景中,可通过一致性哈希算法确定待存储文件对应存储的目标物理集群。其中,一致性哈希算法的原理为:在将物理集群与待存储文件都映射到hash环上以后,从待存储文件的位置出发,沿顺时针方向遇到的第一个物理集群,就是当前对象将要缓存于的物理集群,由于待存储文件与物理集群hash后的值是固定的,所以,在物理集群不变的情况下,待存储文件必定会被缓存到固定的物理集群上,那么,当下次想要访问这个待存储文件时,只要再次使用相同的算法进行计算,即可算出这个待存储文件被缓存的位置,直接去对应的物理集群查找即可。
例如,如图3所示,若通过实施例步骤确定待存储文件处于一致性哈希环上的逻辑节点位置为key1,则以key1为起点,顺时针查找物理集群,若确定在一致性哈希环上的物理节点key2为查取出的首个第二物理集群或首个子物理集群,则可将key2点对应的物理集群确定为key1点处待存储文件的目标物理集群。
209、接收对物理集群的增删指令。
对于本实施例,在具体的应用场景中,物理集群具有容错性以及可扩展性。在判定存在物理集群故障时,为了不影响数据存储,需要将故障的物理集群移除,另外,为了增加集群存储的存储空间,还可根据实际情况在一致性哈希环中增加物理集群。
210、根据增删指令更新物理节点上的第二物理集群和/或子物理集群。
对于本实施例,在接收到删除某一物理集群的指令后,可将该物理集群所在的物理节点清除;在确定需要增加新的物理集群后,需要按照命名规则,为该物理集群配置身份标识码,并基于身份标识码确定该物理集群在一致性哈希环上的物理节点位置。
211、调整符合预设条件的待存储文件的存储位置。
对于本实施例,在具体的应用场景中,若基于实施例步骤209接收到对物理集群的增加指令,则实施例步骤211具体包括:获取新增加的第二物理集群或各个子物理集群;按照命名规则为新增加的第二物理集群或各个子物理集群配置身份标识码;基于身份标识码确定新增加的第二物理集群或各个子物理集群在一致性哈希环上的新增物理节点位置;提取新增物理节点位置与环空间中前一集群物理节点位置之间的待迁移数据,其中,前一集群物理节点位置为以新增物理节点位置为起点逆时针查取出的首个第二物理集群或首个子物理集群对应的物理节点位置;将待迁移数据迁移存储到新增物理节点位置对应的子物理集群或第二物理集群中。
例如,如图4所示,当在一致性哈希环物理节点key2的顺时针前端方向上添加一个新的物理节点key5,则需要确定目标物理节点位置key5与环空间中前一集群物理节点位置key4之间存在的所有待迁移数据,如确定存在待迁移数据key1,则可将原本存储于物理节点key2上的数据文件key1迁移存储到物理节点key5对应的物理集群中,其余存储的数据文件则不需要变化。故如果新增加一个物理集群,则受影响的数据仅仅是新物理集群到其环空间中前一物理集群(即沿着逆时针方向行走遇到的第一个物理集群)之间的数据,其它数据不会受到影响。
相应的,若基于实施例步骤209接收到对物理集群的删减指令,则实施例步骤211具体包括:确定待删减的第二物理集群或子物理集群;将待删减的第二物理集群或子物理集群中的所有存储文件全部迁移存储到顺时针方向上的首个第二物理集群或首个子物理集群中;在完成对存储文件的迁移存储后,将待删减的第二物理集群或子物理集群删除。
例如,如图5所示,若确定key2物理节点位置对应的物理集群存在故障,只需要将key2从hash环上移除即可,且在key2未移除时,需要将之前存储到key2上的数据文件key1迁移存储到key3对应的物理集群中,因为从key1的位置出发,沿顺时针方向遇到的第一个物理集群就是key3对应的物理集群。在本实施例中,如果删除一个物理集群,则受影响的数据仅仅是待删除物理集群存储的数据,其它数据不会受到影响。也就是说,如果一个物理集群不可用,则受影响的数据仅仅是此物理集群到其环空间中前一物理集群(即沿着逆时针方向行走遇到的第一个物理集群)之间的数据,其它数据不会受到影响。
在具体的应用场景中,为了方便对存储数据的查取,作为一种优选方式,在将待存储数据存储到物理集群中后,具体还可以包括:接收对待存储文件的查询请求;根据待存储文件的哈希值确定目标物理集群;在目标物理集群中查取数据文件。
对于本实施例,在物理集群不变的情况下,待存储文件必定会被缓存到固定的物理集群上,那么,当下次想要访问这个待存储文件时,只要再次使用相同的算法进行计算,即可算出这个待存储文件被缓存的位置,直接去对应的物理集群查找即可。
通过上述数据集群存储的方法,可将存储空间较大的物理集群分割成多个空间均等的子物理集群,实现物理集群的均匀分布,使不同的数据能够均匀存储到对应的位置,从而均衡各个物理集群的存储压力,避免数据集中存储造成的存储数据雪崩。之后按照命名规则为存储空间小于所述预设阈值的第二物理集群及各个所述子物理集群配置身份标识码,根据身份标识码计算哈希值,进而将第二物理集群及各个所述子物理集群均匀映射到一致性哈希环中,之后利用一致性哈希算法确定待存储文件对应最优存储的目标存储集群,将待存储文件存储到目标存储集群中。另外,还可接收物理集群的增删指令,满足海量存储的扩容需求。之后根据所述增删指令更新所述物理节点上的所述第二物理集群和/或所述子物理集群,并且及时调整符合预设条件的所述待存储文件的存储位置。可保证数据存储的可查询性,即查询所述待存储文件时,不用考虑数据原来存储的位置,只需要根据所述待存储文件的哈希值即可准确定位当前的存储的物理集群位置,进而实现对数据存储的高效定位。
进一步的,作为图1和图2所示方法的具体体现,本申请实施例提供了一种数据集群存储的装置,如图3所示,该装置包括:获取模块31、映射模块32、确定模块33、存储模块34。
获取模块31,可用于获取所有用于存储数据的物理集群;
映射模块32,可用于将物理集群映射到一致性哈希环的物理节点上;
确定模块33,可用于根据待存储文件的哈希值确定最优存储的目标物理集群;
存储模块34,可用于将待存储文件存储到目标物理集群中。
在具体的应用场景中,为了将物理集群映射到一致性哈希环的物理节点上,映射模块32,具体可用于获取物理集群的存储空间;将存储空间大于或等于预设阈值的第一物理集群按照预设比例分割成多个空间均等的子物理集群;按照命名规则为存储空间小于预设阈值的第二物理集群及各个子物理集群配置身份标识码;根据身份标识码确定第二物理集群及各个子物理集群的哈希值;利用哈希值计算第二物理集群及子物理集群在一致性哈希环上的物理节点位置。
相应的,为了确定出存储待存储文件的最优目标物理集群,确定模块33,具体可用于根据待存储文件的身份标识码计算待存储文件的哈希值;利用哈希值确定待存储文件在一致性哈希环上的逻辑节点位置;将一致性哈希环上以逻辑节点位置为起点顺时针查取出的首个第二物理集群或首个子物理集群确定为目标物理集群。
在具体的应用场景中,为了实现对故障物理集群的剔除或实现对物理集群的扩展,如图6所示,本装置还包括:接收模块35、更新模块36、调整模块37。
接收模块35,可用于接收对物理集群的增删指令;
更新模块36,可用于根据增删指令更新物理节点上的第二物理集群和/或子物理集群;
调整模块37,可用于调整符合预设条件的待存储文件的存储位置。
在具体的应用场景中,若利用接收模块35接收到对物理集群的增加指令时,调整模块37,具体可用于获取新增加的第二物理集群或各个子物理集群;按照命名规则为新增加的第二物理集群或各个子物理集群配置身份标识码;基于身份标识码确定新增加的第二物理集群或各个子物理集群在一致性哈希环上的新增物理节点位置;提取新增物理节点位置与环空间中前一集群物理节点位置之间的待迁移数据,其中,前一集群物理节点位置为以新增物理节点位置为起点逆时针查取出的首个第二物理集群或首个子物理集群对应的物理节点位置;将待迁移数据迁移存储到新增物理节点位置对应的子物理集群或第二物理集群中。
相应的,若利用接收模块35接收到对物理集群的删减指令时,调整模块37,具体可用于确定待删减的第二物理集群或子物理集群;将待删减的第二物理集群或子物理集群中的所有存储文件全部迁移存储到顺时针方向上的首个第二物理集群或首个子物理集群中;在完成对存储文件的迁移存储后,将待删减的第二物理集群或子物理集群删除。
在具体的应用场景中,为了提供对待存储文件存储位置的查询,如图7所示,本装置还包括:查取模块38。
接收模块35,还可用于接收对待存储文件的查询请求;
确定模块33,还可用于根据待存储文件的哈希值确定目标物理集群;
查取模块38,可用于在目标物理集群中查取数据文件。
需要说明的是,本实施例提供的一种数据集群存储的装置所涉及各功能单元的其它相应描述,可以参考图1至图2中的对应描述,在此不再赘述。
基于上述如图1和图2所示方法,相应的,本申请实施例还提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述如图1和图2所示的数据集群存储的方法。
基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景的方法。
基于上述如图1、图2所示的方法,以及图6、图7所示的虚拟装置实施例,为了实现上述目的,本申请实施例还提供了一种计算机设备,具体可以为个人计算机、服务器、网络设备等,该实体设备包括存储介质和处理器;存储介质,用于存储计算机程序;处理器,用于执行计算机程序以实现上述如图1和图2所示的数据集群存储的方法。
可选地,该计算机设备还可以包括用户接口、网络接口、摄像头、射频(RadioFrequency,RF)电路,传感器、音频电路、WI-FI模块等等。用户接口可以包括显示屏(Display)、输入单元比如键盘(Keyboard)等,可选用户接口还可以包括USB接口、读卡器接口等。网络接口可选的可以包括标准的有线接口、无线接口(如蓝牙接口、WI-FI接口)等。
本领域技术人员可以理解,本实施例提供的计算机设备结构并不构成对该实体设备的限定,可以包括更多或更少的部件,或者组合某些部件,或者不同的部件布置。
非易失性可读存储介质中还可以包括操作系统、网络通信模块。操作系统是数据集群存储的实体设备硬件和软件资源的程序,支持信息处理程序以及其它软件和/或程序的运行。网络通信模块用于实现非易失性可读存储介质内部各组件之间的通信,以及与该实体设备中其它硬件和软件之间通信。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可以借助软件加必要的通用硬件平台的方式来实现,也可以通过硬件实现。通过应用本申请的技术方案,与目前现有技术相比,本申请可将存储空间较大的物理集群分割成多个空间均等的子物理集群,实现物理集群的均匀分布,使不同的数据能够均匀存储到对应的位置,从而均衡各个物理集群的存储压力,避免数据集中存储造成的存储数据雪崩。之后按照命名规则为存储空间小于所述预设阈值的第二物理集群及各个所述子物理集群配置身份标识码,根据身份标识码计算哈希值,进而将第二物理集群及各个所述子物理集群均匀映射到一致性哈希环中,之后利用一致性哈希算法确定待存储文件对应最优存储的目标存储集群,将待存储文件存储到目标存储集群中。另外,还可接收物理集群的增删指令,满足海量存储的扩容需求。之后根据所述增删指令更新所述物理节点上的所述第二物理集群和/或所述子物理集群,并且及时调整符合预设条件的所述待存储文件的存储位置。可保证数据存储的可查询性,即查询所述待存储文件时,不用考虑数据原来存储的位置,只需要根据所述待存储文件的哈希值即可准确定位当前的存储的物理集群位置,进而实现对数据存储的高效定位。
本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本申请所必须的。本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本申请序号仅仅为了描述,不代表实施场景的优劣。以上公开的仅为本申请的几个具体实施场景,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。
Claims (9)
1.一种数据集群存储的方法,其特征在于,包括:
获取所有用于存储数据的物理集群;
将所述物理集群均匀映射到一致性哈希环的物理节点上,包括:获取所述物理集群的存储空间;将所述存储空间大于或等于预设阈值的第一物理集群按照预设比例分割成多个空间均等的子物理集群;按照命名规则为所述存储空间小于所述预设阈值的第二物理集群及各个所述子物理集群配置身份标识码;根据所述身份标识码确定所述第二物理集群及各个所述子物理集群的哈希值;利用所述哈希值计算所述第二物理集群及所述子物理集群在一致性哈希环上的物理节点位置;
根据待存储文件的哈希值确定最优存储的目标物理集群;
将所述待存储文件存储到所述目标物理集群中。
2.根据权利要求1所述的方法,其特征在于,所述根据待存储文件的哈希值确定最优存储的目标物理集群,具体包括:
根据待存储文件的身份标识码计算所述待存储文件的哈希值;
利用所述哈希值确定所述待存储文件在所述一致性哈希环上的逻辑节点位置;
将所述一致性哈希环上以所述逻辑节点位置为起点顺时针查取出的首个第二物理集群或首个子物理集群确定为目标物理集群。
3.根据权利要求2所述的方法,其特征在于,在所述将所述待存储文件存储到所述目标物理集群中之后,还包括:
接收对物理集群的增删指令;
根据所述增删指令更新所述物理节点上的所述第二物理集群和/或所述子物理集群;
调整符合预设条件的所述待存储文件的存储位置。
4.根据权利要求3所述的方法,其特征在于,若接收到对所述物理集群的增加指令,所述调整符合预设条件的所述待存储文件的存储位置,具体包括:
获取新增加的第二物理集群或各个子物理集群;
按照所述命名规则为所述新增加的第二物理集群或各个子物理集群配置身份标识码;
基于所述身份标识码确定所述新增加的第二物理集群或各个子物理集群在所述一致性哈希环上的新增物理节点位置;
提取所述新增物理节点位置与环空间中前一集群物理节点位置之间的待迁移数据,其中,所述前一集群物理节点位置为以所述新增物理节点位置为起点逆时针查取出的首个第二物理集群或首个子物理集群对应的物理节点位置;
将所述待迁移数据迁移存储到所述新增物理节点位置对应的子物理集群或第二物理集群中。
5.根据权利要求3所述的方法,其特征在于,若接收到对所述物理集群的删减指令,所述调整符合预设条件的所述待存储文件的存储位置,具体包括:
确定待删减的第二物理集群或子物理集群;
将所述待删减的第二物理集群或子物理集群中的所有存储文件全部迁移存储到顺时针方向上的首个第二物理集群或首个子物理集群中;
在完成对所述存储文件的迁移存储后,将所述待删减的第二物理集群或子物理集群删除。
6.根据权利要求5所述的方法,其特征在于,在所述将所述待存储文件存储到所述目标物理集群中之后,具体还包括:
接收对所述待存储文件的查询请求;
根据所述待存储文件的哈希值确定目标物理集群;
在所述目标物理集群中查取所述待存储文件。
7.一种数据集群存储的装置,其特征在于,包括:
获取模块,用于获取所有用于存储数据的物理集群;
映射模块,用于将所述物理集群映射到一致性哈希环的物理节点上,包括:获取所述物理集群的存储空间;将所述存储空间大于或等于预设阈值的第一物理集群按照预设比例分割成多个空间均等的子物理集群;按照命名规则为所述存储空间小于所述预设阈值的第二物理集群及各个所述子物理集群配置身份标识码;根据所述身份标识码确定所述第二物理集群及各个所述子物理集群的哈希值;利用所述哈希值计算所述第二物理集群及所述子物理集群在一致性哈希环上的物理节点位置;
确定模块,用于根据待存储文件的哈希值确定最优存储的目标物理集群;
存储模块,用于将所述待存储文件存储到所述目标物理集群中。
8.一种非易失性可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现权利要求1至6中任一项所述的数据集群存储的方法。
9.一种计算机设备,包括非易失性可读存储介质、处理器及存储在非易失性可读存储介质上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至6中任一项所述的数据集群存储的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910625543.5A CN110489059B (zh) | 2019-07-11 | 2019-07-11 | 数据集群存储的方法、装置及计算机设备 |
PCT/CN2019/118232 WO2021003935A1 (zh) | 2019-07-11 | 2019-11-13 | 数据集群存储的方法、装置及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910625543.5A CN110489059B (zh) | 2019-07-11 | 2019-07-11 | 数据集群存储的方法、装置及计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110489059A CN110489059A (zh) | 2019-11-22 |
CN110489059B true CN110489059B (zh) | 2022-04-12 |
Family
ID=68547014
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910625543.5A Active CN110489059B (zh) | 2019-07-11 | 2019-07-11 | 数据集群存储的方法、装置及计算机设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110489059B (zh) |
WO (1) | WO2021003935A1 (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111258508B (zh) * | 2020-02-16 | 2020-11-10 | 西安奥卡云数据科技有限公司 | 一种分布式对象存储中的元数据管理方法 |
CN111756828B (zh) * | 2020-06-19 | 2023-07-14 | 广东浪潮大数据研究有限公司 | 一种数据存储方法、装置及设备 |
CN113689103B (zh) * | 2021-08-18 | 2023-11-24 | 国电南瑞南京控制系统有限公司 | 自适应负载均衡用采分流智能调度管理方法、装置及系统 |
CN113778341A (zh) * | 2021-09-17 | 2021-12-10 | 北京航天泰坦科技股份有限公司 | 遥感数据分布式存储方法和装置及遥感数据读取方法 |
CN113934377A (zh) * | 2021-10-28 | 2022-01-14 | 山东英信计算机技术有限公司 | 一种元数据集群部署方法、装置、设备及可读存储介质 |
CN113708937B (zh) * | 2021-10-28 | 2022-03-01 | 湖南天河国云科技有限公司 | 区块链交易的处理方法和系统 |
CN114489483A (zh) * | 2021-12-24 | 2022-05-13 | 深圳市捷顺科技实业股份有限公司 | 一种基于对象储存的磁盘管理方法及对象存储模组 |
CN114666338B (zh) * | 2022-05-19 | 2022-08-26 | 杭州指令集智能科技有限公司 | 一种基于消息的多实例负载均衡方法和系统 |
CN115002131B (zh) * | 2022-05-24 | 2024-03-01 | 中欣链证数字科技有限公司 | 一种用户请求分配方法、装置、设备及系统 |
CN115001969B (zh) * | 2022-05-24 | 2024-06-14 | 北京金玖银玖数字科技有限公司 | 一种数据存储节点部署方法、数据存储方法、装置及设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104754000A (zh) * | 2013-12-30 | 2015-07-01 | 国家电网公司 | 一种负载均衡方法及系统 |
CN106572153A (zh) * | 2016-10-21 | 2017-04-19 | 乐视控股(北京)有限公司 | 集群的数据存储方法及装置 |
CN106909557A (zh) * | 2015-12-23 | 2017-06-30 | 中国电信股份有限公司 | 内存集群的存储方法及装置、内存集群的读取方法及装置 |
CN109271391A (zh) * | 2018-09-29 | 2019-01-25 | 武汉极意网络科技有限公司 | 数据存储方法、服务器、存储介质及装置 |
CN109639777A (zh) * | 2018-11-28 | 2019-04-16 | 优刻得科技股份有限公司 | 数据同步的方法、装置、系统和非易失性存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130179481A1 (en) * | 2012-01-11 | 2013-07-11 | Tonian Inc. | Managing objects stored in storage devices having a concurrent retrieval configuration |
CN103929500A (zh) * | 2014-05-06 | 2014-07-16 | 刘跃 | 一种分布式存储系统的数据分片方法 |
US9860316B2 (en) * | 2014-09-19 | 2018-01-02 | Facebook, Inc. | Routing network traffic based on social information |
CN107844269B (zh) * | 2017-10-17 | 2020-06-02 | 华中科技大学 | 一种基于一致性哈希的分层混合存储系统 |
-
2019
- 2019-07-11 CN CN201910625543.5A patent/CN110489059B/zh active Active
- 2019-11-13 WO PCT/CN2019/118232 patent/WO2021003935A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104754000A (zh) * | 2013-12-30 | 2015-07-01 | 国家电网公司 | 一种负载均衡方法及系统 |
CN106909557A (zh) * | 2015-12-23 | 2017-06-30 | 中国电信股份有限公司 | 内存集群的存储方法及装置、内存集群的读取方法及装置 |
CN106572153A (zh) * | 2016-10-21 | 2017-04-19 | 乐视控股(北京)有限公司 | 集群的数据存储方法及装置 |
CN109271391A (zh) * | 2018-09-29 | 2019-01-25 | 武汉极意网络科技有限公司 | 数据存储方法、服务器、存储介质及装置 |
CN109639777A (zh) * | 2018-11-28 | 2019-04-16 | 优刻得科技股份有限公司 | 数据同步的方法、装置、系统和非易失性存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2021003935A1 (zh) | 2021-01-14 |
CN110489059A (zh) | 2019-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110489059B (zh) | 数据集群存储的方法、装置及计算机设备 | |
US10997211B2 (en) | Systems and methods for database zone sharding and API integration | |
US10747780B2 (en) | Blockchain-based data processing method and device | |
US10977277B2 (en) | Systems and methods for database zone sharding and API integration | |
EP3208714B1 (en) | Data reconstruction method, apparatus and system in distributed storage system | |
CN109889505B (zh) | 数据持有性验证方法及终端设备 | |
WO2019200714A1 (zh) | 服务器连接方法、计算机可读存储介质、终端设备及装置 | |
JP6716727B2 (ja) | ストリーミングデータ分散処理方法及び装置 | |
CN109831487B (zh) | 分片文件验证方法及终端设备 | |
US10908834B2 (en) | Load balancing for scalable storage system | |
CN110737658A (zh) | 数据分片存储方法、装置、终端及可读存储介质 | |
US20160217167A1 (en) | Hash Database Configuration Method and Apparatus | |
CN105337941A (zh) | 一种设备标识提供方法及装置 | |
CN110737663B (zh) | 一种数据存储方法、装置、设备及存储介质 | |
JP2014232483A (ja) | データベースシステム、検索方法およびプログラム | |
CN111723073B (zh) | 数据存储处理方法、装置、处理系统以及存储介质 | |
US20170235501A1 (en) | Data processing method and apparatus | |
CN108090125B (zh) | 一种非查询式的重复数据删除方法及装置 | |
US20200065306A1 (en) | Bloom filter partitioning | |
CN105159845A (zh) | 存储器读取方法 | |
CN106909556B (zh) | 内存集群的存储均衡方法及装置 | |
CN113051250A (zh) | 数据库集群的扩容方法和装置、电子设备和存储介质 | |
CN111917851A (zh) | 一种基于一致性哈希实现带权的负载均衡调度方法 | |
CN116578746A (zh) | 对象去重方法及装置 | |
CN111026711A (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 |