CN111831232A - 数据的存储方法及装置、存储介质和电子装置 - Google Patents
数据的存储方法及装置、存储介质和电子装置 Download PDFInfo
- Publication number
- CN111831232A CN111831232A CN202010712395.3A CN202010712395A CN111831232A CN 111831232 A CN111831232 A CN 111831232A CN 202010712395 A CN202010712395 A CN 202010712395A CN 111831232 A CN111831232 A CN 111831232A
- Authority
- CN
- China
- Prior art keywords
- storage
- data
- target
- preset
- storage pool
- 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
- 238000000034 method Methods 0.000 title claims abstract description 46
- 238000013500 data storage Methods 0.000 title claims abstract description 41
- 238000004590 computer program Methods 0.000 claims description 17
- 238000013508 migration Methods 0.000 claims description 16
- 230000005012 migration Effects 0.000 claims description 16
- 238000012545 processing Methods 0.000 claims description 5
- 230000000694 effects Effects 0.000 abstract description 5
- 238000002955 isolation Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 6
- 238000012549 training Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000009827 uniform distribution Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
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/061—Improving I/O performance
-
- 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
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to 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/0653—Monitoring storage devices or 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]
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)
Abstract
本发明提供了一种数据的存储方法及装置、存储介质和电子装置,包括:接收数据存储请求,其中,所述数据存储请求能够指示为目标数据分配存储空间;在至少两个预设存储池中选取出与所述目标数据的数据类型相匹配的目标存储池,其中,所述预设存储池用于存储预定类型的数据;在所述目标存储池中确定目标机架,通过所述目标机架存储所述目标数据。通过本发明,解决了无法保障布式存储系统中所有的存储节点之间的数据流量的均衡的问题,进而达到了保障布式存储系统中所有的存储节点之间的数据流量的均衡的效果。
Description
技术领域
本发明涉及通信领域,具体而言,涉及一种数据的存储方法及装置、存储介质和电子装置。
背景技术
分布式对象存储系统中,系统管理成千上万台数据存储节点,这些存储节点间的数据流量控制是所有分布式存储系统共同关心的问题。
现有技术中的分布式存储系统中通常是随机选取存储节点对写入的数据进行存储,无法保障分布式存储系统中所有的存储节点之间的数据流量的均衡,降低了系统的性能。并且,对于某些要求做机架冗余的场景,对机架层面的负载和业务流量控制,现有技术中的随机选取方式显得力不从心。某个机架整体出现故障后,无法保障数据不丢失。
针对相关技术中,无法保障布式存储系统中所有的存储节点之间的数据流量的均衡的问题,目前尚未存在有效的解决方案。
发明内容
本发明实施例提供了一种数据的存储方法及装置、存储介质和电子装置,以至少解决相关技术中无法保障布式存储系统中所有的存储节点之间的数据流量的均衡的问题。
根据本发明的一个实施例,提供了一种数据的存储方法,包括:接收数据存储请求,其中,所述数据存储请求能够指示为目标数据分配存储空间;在至少两个预设存储池中选取出与所述目标数据的数据类型相匹配的目标存储池,其中,所述预设存储池用于存储预定类型的数据;在所述目标存储池中确定目标机架,通过所述目标机架存储所述目标数据。
可选地,通过所述目标机架存储所述目标数据,包括:在所述目标机架包括的多个存储节点中确定目标存储节点;将所述目标数据存储至所述目标存储节点。
可选地,所述在至少两个预设存储池中选取出与所述目标数据的数据类型相匹配的目标存储池,包括:在与所述目标数据的数据类型相匹配的第一存储池为多个的情况下,根据权重值在所述多个第一存储池中确定所述目标存储池。
可选地,所述根据权重值在所述多个第一存储池中确定所述目标存储池,包括:根据所述至少两个第一存储池中每个第一存储池的负载情况确定每个第一存储池的权重,其中,负载越大权重越小;确定权重大于或等于预设阈值的存储池为所述目标存储池。
可选地,在所述在至少两个预设存储池中选取出与所述目标数据的数据类型相匹配的目标存储池之前,所述方法还包括:在存储池的配置状态为开启的情况下,获取第一创建指令,其中,所述第一创建指令用于指示创建所述预设存储池,所述第一创建请求中携带有所述预设存储池的第一属性信息,所述第一属性信息包括:所述预设存储池的身份标识、所述预设存储池存储的数据类型;根据所述第一创建请求创建所述预设存储池。
可选地,在所述根据所述第一创建请求创建所述预设存储池之后,所述方法还包括:在机架的配置状态为开启的情况下,获取第二创建指令,其中,所述第二创建指令用于指示在所述预设存储池中创建所述预设机架,所述第二创建指令中携带有所述预设存储池的身份标识和所述预设机架的第二属性信息,其中,所述第二属性信息包括:预设机架的身份标识,预设机架存储的数据类型;根据所述第二创建指令创建所述预设机架。
可选地,在所述根据所述第二创建指令创建所述预设机架之后,所述方法还包括:接收迁移指令,其中,所述迁移指令用于指示将默认存储池中的存储节点迁移至所述预设机架中,所述迁移指令中携带有所述预设机架的身份标识;根据所述迁移指令,将所述存储节点迁移至所述预设机架。
根据本发明的另一个实施例,提供了一种数据的存储装置,包括:接收模块,用于接收数据存储请求,其中,所述数据存储请求能够指示为目标数据分配存储空间;选取模块,用于在至少两个预设存储池中选取出与所述目标数据的数据类型相匹配的目标存储池,其中,所述预设存储池用于存储预定类型的数据;确定模块,用于在所述目标存储池中确定目标机架,通过所述目标机架存储所述目标数据。
根据本发明的又一个实施例,还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本发明,由于通过接收数据存储请求,数据存储请求用于指示为目标数据分配存储空间;在至少两个预设存储池中选取出与目标数据的数据类型相匹配的目标存储池,预设存储池用于存储预定类型的数据;在目标存储池中确定目标机架,通过目标机架存储所述目标数据。因此,可以解决无法保障布式存储系统中所有的存储节点之间的数据流量的均衡的问题,达到保障布式存储系统中所有的存储节点之间的数据流量的均衡的效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例的一种数据的存储方法的移动终端的硬件结构框图;
图2是根据本发明实施例的数据的存储方法的流程图;
图3是根据本发明实施例的资源池、存储池、机架和存储节点的关系示意图;
图4是根据本发明实施例的整体架构图;
图5是根据本发明实施例的数据的存储装置的结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的一种数据的存储方法的移动终端的硬件结构框图。如图1所示,移动终端10可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,可选地,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的数据的存储方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
存储池是系统抽象出来的池的概念。物理存储设备按照逻辑或者物理位置关系,设置这批物理节点归属于一个机架(rack)。机架又按照位置或者逻辑位置关系,设置一个或一批机架(rack)属于一个存储池(pool)。通过池的设计,来实现存储节点的层级管理,逻辑关系明确。
在现有技术中整个分布式对象存储系统没有划分存储池的场景下,所有的申请存储空间的请求是基于整个系统的空间进行分配的。所有存储用户的数据是混合存储的,不存在某个用户的数据存储在特定的存储节点,进而无法保证存储节点之间的数据流量的均衡。
本申请中基于存储池的设计与用户绑定设置不仅能够实现用户数据的隔离,可以实现将某个用户数据限制在某个存储池内,或者几个同类型的存储池内。也可以根据用户绑定关系的设置,来实现基于不同文件类型的数据的隔离。例如,视频文件和图片文件彼此隔离在不同的存储池内,可以满足不同场景的需求,例如安防监控领域应用场景下,会存在上述描述的数据隔离的要求,因此基于存储池设计和用户类型绑定能够很好的实现这类需求。
在本实施例中提供了一种运行于上述移动终端的数据的存储方法,图2是根据本发明实施例的数据的存储方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,接收数据存储请求,其中,所述数据存储请求能够指示为目标数据分配存储空间;
步骤S204,在至少两个预设存储池中选取出与所述目标数据的数据类型相匹配的目标存储池,其中,所述预设存储池用于存储预定类型的数据;
步骤S206,在所述目标存储池中确定目标机架,通过所述目标机架存储所述目标数据。
通过上述步骤,由于通过接收数据存储请求,数据存储请求用于指示为目标数据分配存储空间;在至少两个预设存储池中选取出与目标数据的数据类型相匹配的目标存储池,预设存储池用于存储预定类型的数据;在目标存储池中确定目标机架,通过目标机架存储所述目标数据。因此,可以解决无法保障布式存储系统中所有的存储节点之间的数据流量的均衡的问题,达到保障布式存储系统中所有的存储节点之间的数据流量的均衡的效果。
可选地,通过所述目标机架存储所述目标数据,包括:在所述目标机架包括的多个存储节点中确定目标存储节点;将所述目标数据存储至所述目标存储节点。
作为一个可选的实施方式,图3是根据本发明实施例的资源池、存储池、机架和存储节点的关系示意图,其中,一个机架可以对应于多个存储节点,多个机架被划分为一个存储池,存储池是抽象出来的,在实际场景中并不存在这一层级。在本实施例例中,存储池中可以存储一种或多种类型的数据,例如,图3所示的存储池1用于存储音视频数据,存储池2用于存储图片数据。通过对存储池所存储的。数据进行划分可以将不同的数据隔离在不同的存储区域,方便数据的管理。为了对同一类型的存储池进行统一管理,在本实施例中,可以把相同类型的存储池抽象为一个资源池,存储池的类型可以根据实际情况进行设置,例如用户可以设置这些类型的别名为“公安”、“交警”、“教育”等等。用户可以根据需求,将同一类型的存储池划分为同一个资源池,例如,可以将“公安”和“交警”划分在同一个资源池。
作为一个可选的实施方式,目标数据可以是数据块block,例如客户端向存储系统申请N个数据块的写入空间,存储系统根据如图3所示的预配制的存储池(pool)、机架(rack)、对象存储设备(Datanode)的逻辑绑定关系,以及设置的存储池类型和用户绑定的存储池类型,在与数据块类型相匹配的存储池中选取出目标存储池,然后在目标存储池所包括的机架和机架下的节点里面选择N个目标存储节点反馈给客户端。通过轮询算法在待选队列中选择选择不同节点,以达到业务数据能够均匀分布在存储集群所有存储节点上,实现业务数据流量的均匀分布达到网络流量控制目的。
作为一个可选的实施方式,上述轮询算法可以是在目标存储池所包括的多个机架中以轮询的方式依次选取N个机架作为目标机架,在N个目标机架中的每个机架中以轮询的方式每次选取一个存储节点作为目标节点。例如,目标存储池包括10个机架,每个机架包括20个存储节点,若第一个客户端请求存储的数据块的数量N=5,系统按照目标存储池中10个机架的排序依次选取5个机架作为第一个客户端的目标机架,在每个目标机架中按照存储节点的排序选取1个存储节点作为目标存储节点。第二个客户端请求存储的数据块的数量N=3,系统在第一客户端选取后剩余的5个机架中,按照排列顺序选取3个机架作为第二个客户端的目标机架,在3个目标机架的每个机架中分别选取1个存储节点作为目标存储节点。依次类推,通过轮询的方式可以使数据流量均匀分布。
作为一个可选的实施方式,上述轮询算法也可以是先将整个系统按照一定比例选择一批存储节点组成第一待选队列,例如是80%个存储节点,第一待选队列中存储节点的选择可以按照节点的剩余空间,和/或中央处理器的负载压力,和/或网络带宽压力。基于第一待选队列再进行打乱重排生成预定数量个第二待选队列,预定数量可以根据实际情况而定,例如,可以是20个。例如,可以将第一待选队列打散20次,每次生成一个新队列作为第二待选队列,依次轮询这20个候选队列可以更好的达到节点被平均选择的效果。系统中剩下的存储节点存储到备选队列,系统定期即将待选队列中压力最大的节点和备选队列剩余空间最大的节点进行调换,长此以往系统所有的节点使用空间、负载都能达到均衡。每次选择都在20个待选队列中选择一个目标待选队列,待选队列进行轮训选择N个目标存储节点。记录下次开始轮训的位置,直到下一次重新更新待选队列,待选队列更新时间间隔可以配置。
可选地,所述在至少两个预设存储池中选取出与所述目标数据的数据类型相匹配的目标存储池,包括:在与所述目标数据的数据类型相匹配的第一存储池为多个的情况下,根据权重值在所述多个第一存储池中确定所述目标存储池。
可选地,所述根据权重值在所述多个第一存储池中确定所述目标存储池,包括:根据所述至少两个第一存储池中每个第一存储池的负载情况确定每个第一存储池的权重,其中,负载越大权重越小;确定权重大于或等于预设阈值的存储池为所述目标存储池。
作为一个可选的实施方式,当客户端根据存储用户来进行业务写入时,先根据存储用户绑定的类型关系,找到这个类型下面的存储池,如果下面有多个池的话,根据每个池的存储节点的负载情况计算出存储池的权重,负载情况可以根据存储节点当前连接的客户端确定,负载与权重成反比。然后根据权重选择存储池,权重值能保证每个池被选择的概率与它的剩余空间和当前承载能力紧密相关。根据同一类型下的不同存储池权重值,能够保证不同存储池之间按权重值被选择次数平均分配。同一类型下的多个存储池,权重选择,实现多个池之间流量均匀分布,进行流量控制。
可选地,所述目标存储池包括M个预设机架,其中,所述通过轮询算法在所述目标存储池中确定出目标机架,在所述目标机架中确定出目标存储节点,包括:在M大于N的情况下,通过轮询算法在M个预设机架中选取N个预设机架作为所述目标机架,在所述N个预设机架中的每个机架中选取一个存储节点作为所述目标存储节点;在M小于或等于所述N的情况下,确定所述M个预设机架为所述目标机架,在所述M个预设机架包括的存储节点的数量K大于或等于N情况下,通过轮询算法在K个存储节点中选取N个存储节点作为所述目标存储节点,在所述M个预设机架包括的存储节点的数量K小于N的情况下,选取所述K个存储节点作为所述目标存储节点。
作为一个可选的实施方式,在选出的目标存储池中,优先根据机架冗余去进行存储节点的选择,如果待存储的目标数据是N个数据块,即待选择目标是N个数据块空间,当存储池下机架个数满足大于等于N个时,根据轮询算法选出N个机架,每个机架下面选择1个存储节点。如果没有强制机架冗余,且可用机架个数不满足大于等于N个,即机架级容错无法满足时允许降级为节点级的容错,每个存储节点对应的存储设备能够被选择多次。机架和存储节点按照待选队列轮训算法能够保证统一存储池内的不同机架之间和节点之间流量能够按容量均衡分配。从而实现三个层级上面的流量控制。
可选地,在所述在至少两个预设存储池中选取出与所述目标数据的数据类型相匹配的目标存储池之前,所述方法还包括:在存储池的配置状态为开启的情况下,获取第一创建指令,其中,所述第一创建指令用于指示创建所述预设存储池,所述第一创建请求中携带有所述预设存储池的第一属性信息,所述第一属性信息包括:所述预设存储池的身份标识、所述预设存储池存储的数据类型;根据所述第一创建请求创建所述预设存储池。
作为一个可选的实施方式,当存储池的配置开关关闭时,整个系统归属于一个默认存储池,系统所有节点都管理在默认存储池的默认机架下面。存储池开关关闭时,无法打开机架感知的开关。当存储池的配置开关打开时,用户就可以通过客户端的显示设置存储池的属性和类型、身份标识等信息。
在存储池开关打开且机架感知开关关闭的情况下,用户可以新增存储池信息,但是用户不能设置机架,所有默认机架对用户不可见。web页面不会展示,后端服务以一个默认机架来管理这个存储池下面的所有节点,因为默认机架对用户不可见,用户看到的逻辑关系是存储池下面的所有节点都直接挂在存储池下面。
可选地,在所述根据所述第一创建请求创建所述预设存储池之后,所述方法还包括:在机架的配置状态为开启的情况下,获取第二创建指令,其中,所述第二创建指令用于指示在所述预设存储池中创建所述预设机架,所述第二创建指令中携带有所述预设存储池的名称和所述预设机架的第二属性信息,其中,所述第二属性信息包括:预设机架的名称,预设机架存储的数据类型;根据所述第二创建指令创建所述预设机架。
作为一个可选的实施方式,当存储池开关打开,机架感知开关打开时,此时用户就可以设置添加机架到对应的存储池,并设置机架属性,往具体的机架下面迁移节点。储池和机架都可以按照物理或者逻辑位置进行配置和管理。存储池有名称、类型、身份标识等属性。机架同样有名称、身份标识、等属性。
可选地,在所述根据所述第二创建指令创建所述预设机架之后,所述方法还包括:接收迁移指令,其中,所述迁移指令用于指示将默认存储池中的存储节点迁移至所述预设机架中,所述迁移指令中携带有所述预设机架的名称;根据所述迁移指令,将所述存储节点迁移至所述预设机架。
作为一个可选的实施方式,在进行配置之前,所有存储节点都归属于默认存储池的默认机架下面。当存储池开启后,往新建存储池添加节点时,可以从默认存储池迁移;当机架感知开关开启时,向新建机架迁移节点时,可以从默认存储池的默认机架迁移节点过去。也就是新建存储池和机架可以从系统已有节点迁移过去。
作为一个可选的实施方式,由目标客户端发送数据存储请求,目标客户端由目标帐号登录,上述方法还包括:接收由目标客户端发送的绑定请求,其中,所述绑定请求用于绑定预定类型的存储节点,所述预定类型的存储节点用于存储预定类型的数据。在本实施例中,启动阶段加载上述预配置的拓扑配置文件维护一个内存态的全局逻辑绑定关系。并且加载用户绑定的类型关系,用于指导用户可以在哪些存储池下面的存储设备上进行业务数据的读写。用户绑定的存储池类型,也是在配置加载阶段加载完成,用户绑定类型加载成功后,用户就可以在这个抽象的资源池中,进行存储配额的分配。根据资源池中存储池的个数设置,可以实现某一用户数据写入一个存储池还是多个存储池;实现用户和存储池1对n的关系。一个用户绑定类型下,只有1个存储池时,就能实现存储池和用户之间1对1的关系。当存储池类型下有多个存储池,且多个用户绑定这个类型,就实现了用户和存储池之间n对n的关系。灵活配置能够应对多种真实应用场景。服务启动之前先加载预配置的配置文件,加载整个系统的逻辑位置绑定关系,以及用户和存储池类型的绑定关系。配置文件的加载根据存储池配置开关是否开启决定是否进行加载,与存储池功能的历史版本区别在于存储池和机架感知通过开关配置,更加智能的适应多种场景。结合用户的绑定关系,能够实现不同用户之间的数据隔离在不同的物理设备上存储,实现用户数据隔离的目的。根据不同类型用户即视频用户和图片用户绑定类型不同,可以实现不同类型的数据隔离的目的。
作为一个可选的实施方式,当机架下面节点为空时,可以删除空机架,同理存储池下面机架为空,则可以删除空的存储池;因为资源池也就是存储池类型并不是一个真实存在的逻辑层次,因此不需要删除;当这个资源池下面没有存储池时,用户可以和这个存储池类型进行解绑定,否则解绑定失败。
作为一个可选的实施方式,图4是根据本发明实施例的整体架构图,本申请通过存储池的逻辑关系设置,与用户绑定类型相结合,实现不同用户数据写入不同的物理存储设备实现用户数据的隔离。解决了分布式对象存储系统无法实现机架级容错的问题,并结合存储用户绑定存储池类型,实现用户数据隔离。结合存储池权重选择,和机架与节点的待选队列轮训算法,最终实现三个逻辑层面的负载均衡和流量控制。本申请支持分布式对象存储根据不同数据类型实现业务数据隔离,结合逻辑绑定关系实现网络流量控制。针对不同物理位置或逻辑位置的存储设备划分存储池、机架,并设置存储池类型,结合存储用户对存储池类型的绑定关系,可以实现不同类型的文件存储在特定的存储设备上,实现真正的数据隔离。业务写入场景,客户端向存储系统申请空间,根据存储用户所绑定的存储池类型关系,在存储池类型所属的存储池中根据权重选择一个池,接着在这个存储池中选择所需目标个数个机架,接着在机架内通过待选队列轮训算法选择n个节点。在默认申请空间过程中,优先根据机架冗余的规则,实现机架机架级的故障冗余,结合纠删码方式写入文件机架容错效果明显。当机架级的容错不满足时,降级为节点级的机架容错,用户无感知,优先机架保障写入数据的高可靠性,即某一机架故障不影响历史数据读取。经实际项目测试,结合用户绑定存储池类型,与类型所包含存储池的个数综合设置,当写入特定类型文件时,能够写入指定存储池的存储设备,其他不在这个存储池的存储设备不会有业务写入,可以实现不同类型数据的数据隔离。根据不同存储用户绑定的类型关系,能够实现一个用户的数据写入特定的存储设备,绑定存储池类型不同用户的业务数据分散写入不同物理设备,实现用户数据级别的数据隔离。本申请适用于分布式对象存储领域,先对存储设备进行机架、存储池等层级划分和绑定,并且在创建时指定存储池类型,生成当前存储集群的逻辑拓扑结构。并结合用户绑定的存储池类型关系,实现申请空间时先从不同类型的存储池根据权重选择一个存储池,接着在存储池中根据轮询算法选则可用的机架(rack)和存储节点,综合待选队列轮训和待选队列定期更新,保障节点和机架(rack)间的负载均衡、存储池的权重选择则保障了存储池间的负载均衡,以此实现系统流量控制的目的。
可选地,上述步骤的执行主体可以为终端等,但不限于此。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
在本实施例中还提供了一种数据的存储装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图5是根据本发明实施例的数据的存储装置的结构框图,如图5所示,该装置包括:接收模块52,用于接收数据存储请求,其中,所述数据存储请求能够指示为目标数据分配存储空间;选取模块54,用于在至少两个预设存储池中选取出与所述目标数据的数据类型相匹配的目标存储池,其中,所述预设存储池用于存储预定类型的数据;确定模块56,用于在所述目标存储池中确定目标机架,通过所述目标机架存储所述目标数据。
可选地,上述装置用于通过如下方式实现所述通过所述目标机架存储所述目标数据:在所述目标机架包括的多个存储节点中确定目标存储节点;将所述目标数据存储至所述目标存储节点。
可选地,上述装置用于通过如下方式实现所述在至少两个预设存储池中选取出与所述目标数据的数据类型相匹配的目标存储池:在与所述目标数据的数据类型相匹配的第一存储池为多个的情况下,根据权重值在所述多个第一存储池中确定所述目标存储池。
可选地,上述装置用于通过如下方式实现所述根据权重值在所述多个第一存储池中确定所述目标存储池:根据所述至少两个第一存储池中每个第一存储池的负载情况确定每个第一存储池的权重,其中,负载越大权重越小;确定权重大于或等于预设阈值的存储池为所述目标存储池。
可选地,上述装置还用于在所述在至少两个预设存储池中选取出与所述目标数据的数据类型相匹配的目标存储池之前,在存储池的配置状态为开启的情况下,获取第一创建指令,其中,所述第一创建指令用于指示创建所述预设存储池,所述第一创建请求中携带有所述预设存储池的第一属性信息,所述第一属性信息包括:所述预设存储池的身份标识、所述预设存储池存储的数据类型;根据所述第一创建请求创建所述预设存储池。
可选地,上述装置还用于在所述根据所述第一创建请求创建所述预设存储池之后,在机架的配置状态为开启的情况下,获取第二创建指令,其中,所述第二创建指令用于指示在所述预设存储池中创建所述预设机架,所述第二创建指令中携带有所述预设存储池的身份标识和所述预设机架的第二属性信息,其中,所述第二属性信息包括:预设机架的身份标识,预设机架存储的数据类型;根据所述第二创建指令创建所述预设机架。
可选地,上述装置还用于在所述根据所述第二创建指令创建所述预设机架之后,接收迁移指令,其中,所述迁移指令用于指示将默认存储池中的存储节点迁移至所述预设机架中,所述迁移指令中携带有所述预设机架的身份标识;根据所述迁移指令,将所述存储节点迁移至所述预设机架。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,接收数据存储请求,其中,所述数据存储请求能够指示为目标数据分配存储空间;
S2,在至少两个预设存储池中选取出与所述目标数据的数据类型相匹配的目标存储池,其中,所述预设存储池用于存储预定类型的数据;
S3,在所述目标存储池中确定目标机架,通过所述目标机架存储所述目标数据。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,接收数据存储请求,其中,所述数据存储请求能够指示为目标数据分配存储空间;
S2,在至少两个预设存储池中选取出与所述目标数据的数据类型相匹配的目标存储池,其中,所述预设存储池用于存储预定类型的数据;
S3,在所述目标存储池中确定目标机架,通过所述目标机架存储所述目标数据。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种数据存储方法,其特征在于,包括:
接收数据存储请求,其中,所述数据存储请求能够指示为目标数据分配存储空间;
在至少两个预设存储池中选取出与所述目标数据的数据类型相匹配的目标存储池,其中,所述预设存储池用于存储预定类型的数据;
在所述目标存储池中确定目标机架,并将所述目标数据存储至所述目标机架中。
2.根据权利要求1所述的方法,其特征在于,将所述目标数据存储至所述目标机架中,包括:
在所述目标机架包括的多个存储节点中确定目标存储节点;
将所述目标数据存储在所述目标存储节点。
3.根据权利要求1所述的方法,其特征在于,所述在至少两个预设存储池中选取出与所述目标数据的数据类型相匹配的目标存储池,包括:
在与所述目标数据的数据类型相匹配的第一存储池为多个的情况下,根据权重值在多个第一存储池中确定所述目标存储池。
4.根据权利要求3所述的方法,其特征在于,所述根据权重值在所述多个第一存储池中确定所述目标存储池,包括:
根据所述至少两个第一存储池中每个第一存储池的负载情况确定每个第一存储池的权重,其中,负载越大权重越小;
确定权重大于或等于预设阈值的存储池为所述目标存储池。
5.根据权利要求1所述的方法,其特征在于,在所述在至少两个预设存储池中选取出与所述目标数据的数据类型相匹配的目标存储池之前,所述方法还包括:
在存储池的配置状态为开启的情况下,获取第一创建指令,其中,所述第一创建指令用于指示创建所述预设存储池,所述第一创建请求中携带有所述预设存储池的第一属性信息,所述第一属性信息包括:所述预设存储池的身份标识、所述预设存储池存储的数据类型;
根据所述第一创建请求创建所述预设存储池。
6.根据权利要求5所述的方法,其特征在于,在所述根据所述第一创建请求创建所述预设存储池之后,所述方法还包括:
在机架的配置状态为开启的情况下,获取第二创建指令,其中,所述第二创建指令用于指示在所述预设存储池中创建预设机架,所述第二创建指令中携带有所述预设存储池的身份标识和所述预设机架的第二属性信息,其中,所述第二属性信息包括:预设机架的身份标识,预设机架存储的数据类型;
根据所述第二创建指令创建所述预设机架。
7.根据权利要求6所述的方法,其特征在于,在所述根据所述第二创建指令创建所述预设机架之后,所述方法还包括:
接收迁移指令,其中,所述迁移指令用于指示将默认存储池中的存储节点迁移至所述预设机架中,所述迁移指令中携带有所述预设机架的身份标识;
根据所述迁移指令,将所述存储节点迁移至所述预设机架。
8.一种数据存储装置,其特征在于,包括:
接收模块,用于接收数据存储请求,其中,所述数据存储请求能够指示为目标数据分配存储空间;
选取模块,用于在至少两个预设存储池中选取出与所述目标数据的数据类型相匹配的目标存储池,其中,所述预设存储池用于存储预定类型的数据;
确定模块,用于在所述目标存储池中确定目标机架,通过所述目标机架存储所述目标数据。
9.一种计算机可读存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述程序可被终端设备或计算机运行时执行所述权利要求1至7任一项中所述的方法。
10.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至7任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010712395.3A CN111831232A (zh) | 2020-07-22 | 2020-07-22 | 数据的存储方法及装置、存储介质和电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010712395.3A CN111831232A (zh) | 2020-07-22 | 2020-07-22 | 数据的存储方法及装置、存储介质和电子装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111831232A true CN111831232A (zh) | 2020-10-27 |
Family
ID=72924744
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010712395.3A Pending CN111831232A (zh) | 2020-07-22 | 2020-07-22 | 数据的存储方法及装置、存储介质和电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111831232A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113835622A (zh) * | 2021-08-25 | 2021-12-24 | 浙江大华存储科技有限公司 | 存储装置的处理方法、主机装置、存储装置及系统 |
CN114238929A (zh) * | 2021-12-20 | 2022-03-25 | 深圳市德仪电子科技有限公司 | 一种内置运放的mcu芯片及其在变频系统中的应用 |
CN114442952A (zh) * | 2022-01-25 | 2022-05-06 | 浙江大华技术股份有限公司 | 冷数据的迁移方法、装置、存储介质及电子装置 |
CN114465957A (zh) * | 2021-12-29 | 2022-05-10 | 天翼云科技有限公司 | 一种数据写入方法及装置 |
CN114866570A (zh) * | 2022-04-18 | 2022-08-05 | 北京快乐茄信息技术有限公司 | 一种信息处理方法、装置、电子设备及存储介质 |
CN115408396A (zh) * | 2022-09-02 | 2022-11-29 | 金蝶征信有限公司 | 业务数据的存储方法、装置、计算机设备和存储介质 |
CN116827947A (zh) * | 2023-08-31 | 2023-09-29 | 联通在线信息科技有限公司 | 一种分布式对象存储调度方法和系统 |
CN117931247A (zh) * | 2024-03-25 | 2024-04-26 | 青岛国创智能家电研究院有限公司 | 基于泛终端os的智能家电交互方法 |
CN113835622B (zh) * | 2021-08-25 | 2024-10-15 | 浙江华忆芯科技有限公司 | 存储装置的处理方法、主机装置、存储装置及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107092439A (zh) * | 2017-03-07 | 2017-08-25 | 华为技术有限公司 | 一种数据存储的方法及设备 |
CN109189785A (zh) * | 2018-08-10 | 2019-01-11 | 平安科技(深圳)有限公司 | 数据存储方法、装置、计算机设备及存储介质 |
CN109614040A (zh) * | 2018-11-26 | 2019-04-12 | 武汉烽火信息集成技术有限公司 | 具有多存储池的存储方法、存储介质、电子设备及系统 |
CN110809030A (zh) * | 2019-10-17 | 2020-02-18 | 浙江大华技术股份有限公司 | 网络流量控制方法、装置、编解码器及存储装置 |
CN111124269A (zh) * | 2018-10-31 | 2020-05-08 | 伊姆西Ip控股有限责任公司 | 用于存储管理的方法、电子设备和计算机可读存储介质 |
-
2020
- 2020-07-22 CN CN202010712395.3A patent/CN111831232A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107092439A (zh) * | 2017-03-07 | 2017-08-25 | 华为技术有限公司 | 一种数据存储的方法及设备 |
CN109189785A (zh) * | 2018-08-10 | 2019-01-11 | 平安科技(深圳)有限公司 | 数据存储方法、装置、计算机设备及存储介质 |
CN111124269A (zh) * | 2018-10-31 | 2020-05-08 | 伊姆西Ip控股有限责任公司 | 用于存储管理的方法、电子设备和计算机可读存储介质 |
CN109614040A (zh) * | 2018-11-26 | 2019-04-12 | 武汉烽火信息集成技术有限公司 | 具有多存储池的存储方法、存储介质、电子设备及系统 |
CN110809030A (zh) * | 2019-10-17 | 2020-02-18 | 浙江大华技术股份有限公司 | 网络流量控制方法、装置、编解码器及存储装置 |
Non-Patent Citations (1)
Title |
---|
刘琨: "《云计算的负载均衡机制研究》", 30 April 2018 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113835622A (zh) * | 2021-08-25 | 2021-12-24 | 浙江大华存储科技有限公司 | 存储装置的处理方法、主机装置、存储装置及系统 |
CN113835622B (zh) * | 2021-08-25 | 2024-10-15 | 浙江华忆芯科技有限公司 | 存储装置的处理方法、主机装置、存储装置及系统 |
CN114238929A (zh) * | 2021-12-20 | 2022-03-25 | 深圳市德仪电子科技有限公司 | 一种内置运放的mcu芯片及其在变频系统中的应用 |
CN114465957A (zh) * | 2021-12-29 | 2022-05-10 | 天翼云科技有限公司 | 一种数据写入方法及装置 |
CN114465957B (zh) * | 2021-12-29 | 2024-03-08 | 天翼云科技有限公司 | 一种数据写入方法及装置 |
CN114442952A (zh) * | 2022-01-25 | 2022-05-06 | 浙江大华技术股份有限公司 | 冷数据的迁移方法、装置、存储介质及电子装置 |
CN114866570A (zh) * | 2022-04-18 | 2022-08-05 | 北京快乐茄信息技术有限公司 | 一种信息处理方法、装置、电子设备及存储介质 |
CN115408396A (zh) * | 2022-09-02 | 2022-11-29 | 金蝶征信有限公司 | 业务数据的存储方法、装置、计算机设备和存储介质 |
CN115408396B (zh) * | 2022-09-02 | 2024-04-05 | 金蝶征信有限公司 | 业务数据的存储方法、装置、计算机设备和存储介质 |
CN116827947A (zh) * | 2023-08-31 | 2023-09-29 | 联通在线信息科技有限公司 | 一种分布式对象存储调度方法和系统 |
CN116827947B (zh) * | 2023-08-31 | 2024-01-19 | 联通在线信息科技有限公司 | 一种分布式对象存储调度方法和系统 |
CN117931247A (zh) * | 2024-03-25 | 2024-04-26 | 青岛国创智能家电研究院有限公司 | 基于泛终端os的智能家电交互方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111831232A (zh) | 数据的存储方法及装置、存储介质和电子装置 | |
US10637916B2 (en) | Method and device for storage resource allocation for video cloud storage | |
CN108370341B (zh) | 资源配置方法、虚拟网络功能管理器和网元管理系统 | |
US10481935B2 (en) | Management system, overall management node, and management method for managing virtualization resources in a mobile communication network | |
US20160321112A1 (en) | Management system, virtual communication-function management node, and management method | |
WO2023045467A1 (zh) | 容器cpu资源调度与隔离方法和装置、存储介质及电子设备 | |
CN114244717B (zh) | 虚拟网卡资源的配置方法、装置、计算机设备及介质 | |
CN110888858B (zh) | 数据库的操作方法和装置、存储介质、电子装置 | |
US20190317824A1 (en) | Deployment of services across clusters of nodes | |
CN105357258A (zh) | 一种加速管理节点、加速节点、客户端及方法 | |
CN107689879A (zh) | 虚拟网元的管理方法及装置 | |
CN108345490B (zh) | 一种nfv中部署虚拟机的方法和系统 | |
CN111798113A (zh) | 资源分配方法、装置、存储介质和电子设备 | |
WO2022111456A1 (zh) | 基于众核系统的核共享方法及装置、电子设备、介质 | |
CN112269661B (zh) | 基于Kafka集群的分区迁移方法和装置 | |
CN110673787A (zh) | 一种配置卷的方法及装置 | |
CN114500462A (zh) | 虚拟私有云网络地址分配方法、装置、电子设备及介质 | |
CN110515728B (zh) | 服务器调度方法、装置、电子设备及机器可读存储介质 | |
CN110290228B (zh) | 一种互联网协议ip地址分配方法及装置 | |
EP4006725A1 (en) | Virtual machine migration processing and strategy generation method, apparatus and device, and storage medium | |
CN111143033A (zh) | 基于可伸缩操作系统的操作执行方法及装置 | |
CN115277735A (zh) | 数据的处理方法和装置、电子设备及存储介质 | |
JP2019525311A (ja) | ネットワークアクセス可能なデータボリューム変更 | |
CN115878309A (zh) | 资源分配方法、装置、处理核、设备和计算机可读介质 | |
CN113504878A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20201027 |