CN111552441B - 数据存储方法和装置、主节点及分布式系统 - Google Patents
数据存储方法和装置、主节点及分布式系统 Download PDFInfo
- Publication number
- CN111552441B CN111552441B CN202010353583.1A CN202010353583A CN111552441B CN 111552441 B CN111552441 B CN 111552441B CN 202010353583 A CN202010353583 A CN 202010353583A CN 111552441 B CN111552441 B CN 111552441B
- Authority
- CN
- China
- Prior art keywords
- target
- data
- storage
- node
- storage device
- 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/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/0629—Configuration or reconfiguration of storage systems
- G06F3/0634—Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
-
- 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
-
- 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]
Abstract
本申请提供的数据存储方法和装置、主节点及分布式系统,涉及数据存储技术领域。在本申请中,首先,获取待存储的目标数据。其次,在多个存储设备中确定目标存储设备,并基于该目标存储设备在多个从节点中确定目标从节点。然后,将目标数据发送给目标从节点,其中,该目标从节点用于将该目标数据存储至目标存储设备。通过上述方法,可以改善基于现有技术进行数据存储后存在数据的读取效率较低的问题。
Description
技术领域
本申请涉及数据存储技术领域,具体而言,涉及一种数据存储方法和装置、主节点及分布式系统。
背景技术
在现有的分布式存储管理系统中,一般会设置一个主节点和多个从节点,然后,针对每一个从节点分别连接一个存储设备。如此,主节点可以通过对多个从节点的管控,实现对每一个存储设备的数据的控制。
经发明人研究发现,在上述的数据存储技术方案中,受限于存储设备的读取性能,使得主节点需要通过一个从节点获取数据时,存在着数据的读取效率较低的问题。
发明内容
有鉴于此,本申请的目的在于提供一种数据存储方法和装置、主节点及分布式系统,以改善基于现有技术进行数据存储后存在数据的读取效率较低的问题。
为实现上述目的,本申请实施例采用如下技术方案:
一种数据存储方法,一种数据存储方法,应用于分布式系统中的主节点,该分布式系统还包括与该主节点连接的多个从节点,且每个所述从节点连接有多个存储设备,所述方法包括:
获取待存储的目标数据;
在多个所述存储设备中确定目标存储设备,并基于该目标存储设备在所述多个从节点中确定目标从节点;
将所述目标数据发送给所述目标从节点,其中,该目标从节点用于将该目标数据存储至所述目标存储设备。
在本申请实施例较佳的选择中,在上述数据存储方法中,所述在多个所述存储设备中确定目标存储设备的步骤,包括:
获取多个所述存储设备中每个所述存储设备的数据存储量;
在多个所述存储设备中,基于每个所述存储设备的数据存储量和预设的存储均衡策略确定目标存储设备。
在本申请实施例较佳的选择中,在上述数据存储方法中,所述在多个所述存储设备中,基于每个所述存储设备的数据存储量和预设的存储均衡策略确定目标存储设备的步骤,包括:
获取所述目标数据的数据类型,并基于该数据类型在预设的多个节点组中确定目标节点组,其中,每一个节点组由至少两个所述从节点构成;
在与所述目标节点组包括的各从节点连接的多个存储设备中,基于每个所述存储设备的数据存储量和预设的存储均衡策略确定目标存储设备。
在本申请实施例较佳的选择中,在上述数据存储方法中,所述方法还包括:
判断所述从节点的数量是否发生变化;
若所述从节点的数量发生变化,则基于变化后的从节点数量生成设备均衡指令,并将该设备均衡指令发送给变化后的每个从节点;
其中,变化后的每个从节点用于基于所述设备均衡指令,将所述存储设备的数量调整为目标数量。
在本申请实施例较佳的选择中,在上述数据存储方法中,还包括:
获取数量调整之后的各存储设备的数据存储总量;
基于所述数据存储总量和所述目标数量生成数据均衡指令,并将该数据均衡指令发送给变化后的每个从节点;
其中,变化后的每个从节点用于基于所述数据均衡指令,将数量调整之后的各存储设备的数据存储量调整为目标数据存储量。
本申请实施例还提供了一种数据存储装置,应用于分布式系统中的主节点,该分布式系统还包括与该主节点连接的多个从节点,且每个所述从节点连接有多个存储设备,所述装置包括:
数据获取模块,用于获取待存储的目标数据;
设备确定模块,用于在多个所述存储设备中确定目标存储设备,并基于该目标存储设备在所述多个从节点中确定目标从节点;
数据发送模块,用于将所述目标数据发送给所述目标从节点,其中,该目标从节点用于将该目标数据存储至所述目标存储设备。
在本申请实施例较佳的选择中,在上述数据存储装置中,所述设备确定模块包括:
存储量获取子模块,用于获取多个所述存储设备中每个所述存储设备的数据存储量;
设备确定子模块,用于在多个所述存储设备中,基于每个所述存储设备的数据存储量和预设的存储均衡策略确定目标存储设备。
在本申请实施例较佳的选择中,在上述数据存储装置中,还包括:
数量判断模块,用于判断所述从节点的数量是否发生变化;
指令发送模块,用于在所述从节点的数量发生变化时,基于变化后的从节点数量生成设备均衡指令,并将该设备均衡指令发送给变化后的每个从节点;
其中,变化后的每个从节点用于基于所述设备均衡指令,将所述存储设备的数量调整为目标数量。
在上述基础上,本申请实施例还提供了一种主节点,应用于分布式系统,该分布式系统还包括与该主节点连接的多个从节点,且每个所述从节点连接有多个存储设备,所述主节点包括:
存储器,用于存储计算机程序;
与所述存储器连接的处理器,用于执行所述计算机程序,以实现上述的数据存储方法。
在上述基础上,本申请实施例还提供了一种分布式系统,包括:
上述的主节点;
与所述主节点连接的多个从节点,且每个所述从节点连接有多个存储设备,用于将所述主节点发送的目标数据存储至所述多个存储设备中的目标存储设备。
本申请提供的数据存储方法和装置、主节点及分布式系统,通过将每个从节点连接的存储设备配置为多个,使得存储设备在存储数据之后,每个从节点可以从对应的多个存储设备同步获取数据。如此,可以改善基于现有技术由于一个从节点的数据存储于一个存储设备而受限于存储设备的读取性能,使得在需要读取大量数据时存在读取效率较低的问题,因而,具有较高的实用价值。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
图1为本申请实施例提供的分布式系统的应用方框示意图。
图2为本申请实施例提供的主节点的结构框图。
图3为本申请实施例提供的数据存储方法的流程示意图。
图4为图3中步骤S120包括的各子步骤的流程示意图。
图5为本申请实施例提供的数据存储装置包括的各功能模块的方框示意图。
图标:10-主节点;12-存储器;14-处理器;20-从节点;30-存储设备;100-数据存储装置;110-数据获取模块;120-设备确定模块;130-数据发送模块。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例只是本申请的一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
现有技术中的分布式存储管理系统,一般包括一个主节点和多个从节点,且每一个从节点仅连接有一个存储设备。如此,主节点可以通过对多个从节点的管控,实现对每一个存储设备的数据的控制。
但是,经本申请的发明人研究发现,在上述的数据存储技术方案中,受限于存储设备的读取性能,使得主节点需要通过一个从节点获取数据时,存在着数据读取效率较低的技术问题。
为了解决上述技术问题,考虑使用具有较高读取性能的存储设备,但是,又会导致存储设备的成本比较高的问题,不具有普遍适用的可能性。
基于此,为了克服上述技术问题,如图1所示,本申请发明人创造性的提出了一种分布式系统,该分布式系统可以包括主节点10和多个从节点20。
详细地,所述主节点10可以分别与所述多个从节点20连接,且每一个所述从节点20连接有多个存储设备30。如此,任意一个所述从节点20在接收到所述主节点10发送的目标数据之后,可以将该目标数据存储至与该从节点20连接的多个存储设备30中的目标存储设备。
需要说明的是,不同的从节点20连接的存储设备30不同。也就是说,一个存储设备30仅连接一个从节点20。
例如,在一种具体的应用示例中,若所述从节点20为两个,分别为节点1和节点2;所述存储设备30为四个,分别为设备A、设备B、设备C和设备D。基于此,节点1可以与设备A和设备设备B分别连接,节点2可以与设备C和设备D分别连接。
并且,可以理解的是,在前文以及后文的描述中,“多个”是指,两个和两个以上,即2、3、4、5、6......。
结合图2,本申请实施例还提供一种可应用于上述分布式系统的主节点10。其中,所述主节点10可以包括存储器12、处理器14和数据存储装置100。
其中,所述存储器12和处理器14之间直接或间接地电性连接,以实现数据的传输或交互。例如,相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述数据存储装置100包括,至少一个可以软件或固件(firmware)的形式存储于所述存储器12中的软件功能模块。所述处理器14用于执行所述存储器12中存储的可执行的计算机程序,例如,所述数据存储装置100所包括的软件功能模块及计算机程序等,以实现本申请实施例提供的数据存储方法。
可选地,所述存储器12可以是,但不限于,随机存取存储器(Random AccessMemory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(ProgrammableRead-Only Memory,PROM),可擦除只读存储器(Erasable Programmable Read-OnlyMemory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-OnlyMemory,EEPROM)等。
并且,所述处理器14可以是一种通用处理器,包括中央处理器(CentralProcessing Unit,CPU)、网络处理器(Network Processor,NP)、片上系统(System onChip,SoC)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
可以理解,图2所示的结构仅为示意,所述主节点10还可包括比图2中所示更多或者更少的组件,或者具有与图2所示不同的配置,例如,还可以包括用于与其它设备(如所述从节点20)进行信息交互的通信单元。
其中,所述主节点10可以是,一种具备数据处理能力的服务器。并且,所述从节点20也可以是,一种具备数据处理能力的服务器。
结合图3,本申请实施例还提供一种可应用于上述主节点10的数据存储方法。其中,所述数据存储方法有关的流程所定义的方法步骤可以由所述主节点10实现。下面将对图3所示的具体流程,进行详细阐述。
步骤S110,获取待存储的目标数据。
在本实施例中,所述主节点10可以与其它设备设备连接,以获取该其它设备发送的待存储的目标数据。
步骤S120,在多个所述存储设备30中确定目标存储设备,并基于该目标存储设备在所述多个从节点20中确定目标从节点。
在本实施例中,在基于步骤S110获取到所述目标数据之后,由于所述主节点10连接有多个从节点20,且每个所述从节点20连接有多个存储设备30,因而,所述主节点10可以先在多个所述存储设备30中确定目标存储设备。然后,基于该目标存储设备在所述多个从节点20中确定目标从节点。
其中,所述目标从节点为,与所述目标存储设备连接的从节点20。
步骤S130,将所述目标数据发送给所述目标从节点。
在本实施例中,在基于步骤S120确定所述目标存储设备和所述目标从节点之后,所述主节点10可以将所述目标数据发送给所述目标从节点。如此,由于所述目标从节点与所述目标存储设备连接,因而,所述目标从节点可以将所述目标数据存储至所述目标存储设备。
基于上述方法,由于每个所述从节点20连接的存储设备30为多个,使得所述存储设备30在存储数据之后,由于在大量数据存储的基础上,使得每个所述从节点20连接的多个存储设备30都存储有数据,因而,每个所述从节点20可以从对应的多个存储设备30同步获取数据。如此,可以改善基于现有的存储技术中因受限于存储设备30的读取性能,而使得在需要读取大量数据时存在读取效率较低的问题。
对于步骤S110需要说明的是,获取待存储的目标数据的具体方式不受限制,可以根据实际应用需求进行选择。
例如,在一种可以替代的示例中,所述主节点10可以连接有数据处理服务器。如此,在所述数据处理服务器将获取的数据进行运算处理之后,可以将得到的目标数据发送给所述主节点10。
又例如,在另一种可以替代的示例中,所述主节点10可以连接有终端设备(如监控设备)。如此,在所述终端设备获取到所述目标数据之后,可以将该目标数据发送给所述主节点10。
其中,所述目标数据的具体内容不受限制,可以根据实际应用需求进行选择,例如,可以包括,但不限于车辆行驶数据、人脸特征点数据或其它数据等。
对于步骤S120需要说明的是,在多个所述存储设备30中确定目标存储设备的具体方式不受限制,可以根据实际应用需求进行选择。
例如,在一种可以替代的示例中,可以预先对多个所述存储设备30进行排序。如此,在每一次获取到待存储的目标数据之后,可以基于该排序的结果依次确定一个存储设备30,作为所述目标存储设备。
详细地,在一种具体的应用示例中,若多个所述存储设备30分别为设备A、设备B、设备C和设备D。如此,在第一次获取到待存储的目标数据之后,可以将设备A确定为所述目标存储设备;在第二次获取到待存储的目标数据之后,可以将设备B确定为所述目标存储设备;在第三次获取到待存储的目标数据之后,可以将设备C确定为所述目标存储设备;在第四次获取到待存储的目标数据之后,可以将设备D确定为所述目标存储设备。
在另一种具体的应用示例中,若多个所述存储设备30分别为设备A、设备B、设备C和设备D。如此,在设备A的数据存储量未达到预设值(如最大存储量)之前,都将设备A确定为所述目标存储设备;在设备A的数据存储量达到预设值之后,且设备B的数据存储量未达到预设值之前,都将设备B确定为所述目标存储设备;在设备B的数据存储量达到预设值之后,且设备C的数据存储量未达到预设值之前,都将设备C确定为所述目标存储设备;在设备C的数据存储量达到预设值之后,且设备D的数据存储量未达到预设值之前,都将设备D确定为所述目标存储设备。
又例如,在另一种可以替代的示例中,为了使得不同存储设备30之间可以实现存储均衡,结合图4,步骤S120可以包括步骤S121和步骤S123,以对所述目标存储设备进行存储,具体内容如下所述。
步骤S121,获取多个所述存储设备30中每个所述存储设备30的数据存储量。
在本实施例中,在基于步骤S110获取到所述目标数据之后,可以先获取多个所述存储设备30中每个所述存储设备30的数据存储量。
例如,在多个所述存储设备30分别为设备A、设备B、设备C和设备D时,可以分别获取设备A当前的数据存储量、设备B当前的数据存储量、设备C当前的数据存储量、设备D当前的数据存储量。
步骤S123,在多个所述存储设备30中,基于每个所述存储设备30的数据存储量和预设的存储均衡策略确定目标存储设备。
在本实施例中,在基于步骤S121获取到每个所述存储设备30的数据存储量之后,可以基于该数据存储量和预设的存储均衡策略,在多个所述存储设备30中,确定出目标存储设备。
也就是说,可以将多个所述存储设备30中,数据存储量较少的存储设备30确定为所述目标存储设备。
可选地,执行步骤S121以获取每个所述存储设备30的数据存储量的具体方式不受限制,可以根据实际应用需求进行选择。
例如,在一种可以替代的示例中,可以在执行步骤S121时,向每个所述从节点20发送存储量采集指令,以使每个所述从节点20分别基于接收到的存储量采集指令对连接的存储设备30进行数据存储量的采集操作,从而得到每个存储设备30的数据存储量,并将该数据存储量发送给所述主节点10。
又例如,在另一种可以替代的示例中,在执行步骤S121时,可以直接获取在每一次确定所述目标存储设备之后,对每个存储设备30的数据存储量的更新数据。如此,可以快速便捷的获取到每个所述存储设备30数据存储量。
可选地,执行步骤S123以基于存储均衡策略确定所述目标存储设备的具体方式也不受限制,可以根据实际应用需求进行选择。
例如,在一种可以替代的示例中,为了快速的对所述目标数据进行存储,以提高存储效率,可以直接基于存储均衡策略在所有的存储设备30中确定目标存储设备。
详细地,在一种具体的应用示例中,若多个所述存储设备30包括设备A、设备B、设备C和设备D,且设备C的数据存储量小于设备A的数据存储量、设备A的数据存储量小于设备D的数据存储量、设备D的数据存储量小于设备B的数据存储量。如此,由于设备C的数据存储量最小,因而,可以将设备C作为所述目标存储设备。
又例如,在另一种可以替代的示例中,为了对于对存储的数据进行管控,可以在数据分类的基础上,再结合存储均衡。基于此,步骤S123可以包括以下子步骤:
首先,可以获取所述目标数据的数据类型,并基于该数据类型在预设的多个节点组中确定目标节点组,其中,每一个节点组由至少两个所述从节点20构成;
其次,可以在与所述目标节点组包括的各从节点20连接的多个存储设备30中,基于每个所述存储设备30的数据存储量和预设的存储均衡策略确定目标存储设备。
也就是说,实际上可以基于处理的数据的类型不同,将从节点20进行分组,使得同一组的从节点20处理的数据具有相同的类型,如此,使同一组从节点20对应的各存储设备30存储的数据都具有相同的类型,从而便于管控。
详细地,在一种具体的应用示例中,若从节点20为4个,分别为节点1、节点2、节点3和节点4,需要存储的数据包括车辆行驶数据和人脸特征点数据。如此,可以将4个从节点20分为两组,分别是节点组1和节点组2,该节点组1包括节点1和节点2,用于将车辆行驶数据存储至连接的存储设备30,该节点组2包括节点3和节点4,用于将人脸特征点数据存储至连接的存储设备30。
基于此,若获取的目标数据为车辆行驶数据,可以将节点组1确定为目标节点组;若获取的目标数据为人脸特征点数据,可以将节点组2确定为目标节点组。
并且,若获取的目标数据为车辆行驶数据,可以在节点1和节点2连接的所有存储设备30中基于存储均衡策略,确定所述目标存储设备。若获取的目标数据为人脸特征点数据,可以在节点3和节点4连接的所有存储设备30中基于存储均衡策略,确定所述目标存储设备。
可以理解的是,在上述示例中,确定的目标存储设备可以是一个存储设备30,也可以是多个存储设备30,可以基于实际应用需求进行选择。
例如,若需要确定一个存储设备30作为目标存储设备,可以将数据存储量最小的存储设备30作为目标存储设备,若数据存储量最小的存储设备30有多个,可以在多个存储设备30中任意确定一个存储设备30作为目标存储设备。
又例如,若需要确定多个存储设备30作为目标存储设备,如两个,可以将数据存储量最小的两个存储设备30作为目标存储设备。
进一步地,在本实施例中,考虑到在一些情况下基于用户的需求,从节点20的数量会发生变化,基于此,为了使得存储设备30与从节点20的数量能够达到动态的平衡,所述数据存储方法还可以包括以下步骤:
首先,可以判断所述从节点20的数量是否发生变化;
其次,若所述从节点20的数量发生变化,可以基于变化后的从节点20数量生成设备均衡指令,并将该设备均衡指令发送给变化后的每个从节点20;
其中,变化后的每个从节点20用于基于所述设备均衡指令,将所述存储设备30的数量调整为目标数量。
例如,在一种具体的应用示例中,若所述从节点20的数量发生变化之前,从节点20的数量为2,分别为节点1和节点2,在发生变化之后,从节点20的数量为3,分别为节点1、节点2和节点3。其中,节点1和节点2分别连接两个存储设备30,为了使得数量变化之后各从节点20连接的存储设备30的数量相同,以保证不同从节点20之间的数据读取效率均衡,可以生成相应的设备均衡指令,使得节点3可以基于该设备均衡指令与两个存储设备30建立连接,以存储该节点3接收到的数据。
也就是说,实际上,所述存储设备30的数量可以随所述从节点20的数量增加而增加,如上述的从4增加为6。
进一步地,为了使得所述存储设备30在数量变化之后,数据存储量也可以实现均衡,在本实施例中,所述数据存储方法还可以包括以下步骤:
首先,可以获取数量调整之后的各存储设备30的数据存储总量;
其次,可以基于所述数据存储总量和所述目标数量生成数据均衡指令,并将该数据均衡指令发送给变化后的每个从节点20;
其中,变化后的每个从节点20用于基于所述数据均衡指令,将数量调整之后的各存储设备30的数据存储量调整为目标数据存储量。
例如,在一种具体的应用示例中,若所述存储设备30的数量发生变化之前,存储设备30的数量为2,分别为设备A和设备B,在发生变化之后,存储设备30的数量为3,分别为设备A、设备B和设备C。基于此,可以先获取设备A和设备B当前的数据存储总量(如Y),然后,计算发生变化后每个存储设备30应存储的数据量(如Y/3)。
因此,为了实现存储设备30之间的数据均衡,可以设备A中选择Y/6的数据和设备B中选择Y/6的数据,得到Y/3的数据,存储至设备C。
又例如,在另一种具体的应用示例中,若所述存储设备30的数量发生变化之前,存储设备30的数量为3,分别为设备A、设备B和设备C,在发生变化之后,存储设备30的数量为2,分别为设备A和设备B。基于此,可以先获取设备A、设备B和设备C当前的数据存储总量(如Y),然后,计算发生变化后每个存储设备30应存储的数据量(如Y/2)。
因此,为了实现存储设备30之间的数据均衡,可以将设备C中的Y/3的数据的一半存储至设备A中、另一半存储至设备B,使得设备A和设备B的数据存储量都为Y/2。
需要说明的是,针对所述存储设备30的数量调整操作,不会直接导致数据存储总量的变化,因此,获取数量调整之后的各存储设备30的数据存储总量,即获取数量调整之前的各存储设备30的数据存储总量。
结合图5,本申请实施例还提供一种可应用于上述主节点10的数据存储装置100。其中,所述数据存储装置100可以包括数据获取模块110、设备确定模块120和数据发送模块130。
所述数据获取模块110,用于获取待存储的目标数据。在本实施例中,所述数据获取模块110可用于执行图4所示的步骤S110,关于所述数据获取模块110的相关内容可以参照前文对步骤S110的描述。
所述设备确定模块,120用于在多个所述存储设备30中确定目标存储设备,并基于该目标存储设备在所述多个从节点20中确定目标从节点。在本实施例中,所述设备确定模块120可用于执行图4所示的步骤S120,关于所述设备确定模块120的相关内容可以参照前文对步骤S120的描述。
所述数据发送模块130,用于将所述目标数据发送给所述目标从节点,其中,该目标从节点用于将该目标数据存储至所述目标存储设备。在本实施例中,所述数据发送模块130可用于执行图4所示的步骤S130,关于所述数据发送模块130的相关内容可以参照前文对步骤S130的描述。
其中,所述设备确定模块120可以包括存储量获取子模块和设备确定子模块。详细地,所述存储量获取子模块,用于获取多个所述存储设备30中每个所述存储设备30的数据存储量。所述设备确定子模块,用于在多个所述存储设备30中,基于每个所述存储设备30的数据存储量和预设的存储均衡策略确定目标存储设备。
进一步地,所述数据存储装置100还可以包括数量判断模块和指令发送模块。其中,所述数量判断模块,用于判断所述从节点20的数量是否发生变化。所述指令发送模块,用于在所述从节点20的数量发生变化时,基于变化后的从节点20数量生成设备均衡指令,并将该设备均衡指令发送给变化后的每个从节点20,并且,变化后的每个从节点20用于基于所述设备均衡指令,将所述存储设备30的数量调整为目标数量。
综上所述,本申请提供的数据存储方法和装置、主节点及分布式系统,通过将每个从节点20连接的存储设备30配置为多个,使得存储设备30在存储数据之后,每个从节点20可以从对应的多个存储设备30同步获取数据。如此,可以改善基于现有技术由于一个从节点20的数据存储于一个存储设备30而受限于存储设备30的读取性能,使得在需要读取大量数据时存在读取效率较低的问题,因而,具有较高的实用价值。
在本申请实施例所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置和方法实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,电子设备,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (8)
1.一种数据存储方法,其特征在于,应用于分布式系统中的主节点,该分布式系统还包括与该主节点连接的多个从节点,且每个所述从节点连接有多个存储设备,所述方法包括:
获取待存储的目标数据;
向每个所述从节点发送存储量采集指令,以使每个所述从节点基于所述存储量采集指令对与其连接的每个所述存储设备进行数据存储量的采集操作,得到每个所述存储设备的数据存储量并发送给所述主节点;
接收每个所述存储设备的数据存储量;
在多个所述存储设备中,基于每个所述存储设备的数据存储量和预设的存储均衡策略确定目标存储设备;
基于该目标存储设备在所述多个从节点中确定目标从节点;所述目标从节点为与所述目标存储设备连接的从节点;
将所述目标数据发送给所述目标从节点,其中,该目标从节点用于将该目标数据存储至所述目标存储设备。
2.根据权利要求1所述的数据存储方法,其特征在于,所述在多个所述存储设备中,基于每个所述存储设备的数据存储量和预设的存储均衡策略确定目标存储设备的步骤,包括:
获取所述目标数据的数据类型,并基于该数据类型在预设的多个节点组中确定目标节点组,其中,每一个节点组由至少两个所述从节点构成;
在与所述目标节点组包括的各从节点连接的多个存储设备中,基于每个所述存储设备的数据存储量和预设的存储均衡策略确定目标存储设备。
3.根据权利要求1或2所述的数据存储方法,其特征在于,所述方法还包括:
判断所述从节点的数量是否发生变化;
若所述从节点的数量发生变化,则基于变化后的从节点数量生成设备均衡指令,并将该设备均衡指令发送给变化后的每个从节点;
其中,变化后的每个从节点用于基于所述设备均衡指令,将所述存储设备的数量调整为目标数量。
4.根据权利要求3所述的数据存储方法,其特征在于,还包括:
获取数量调整之后的各存储设备的数据存储总量;
基于所述数据存储总量和所述目标数量生成数据均衡指令,并将该数据均衡指令发送给变化后的每个从节点;
其中,变化后的每个从节点用于基于所述数据均衡指令,将数量调整之后的各存储设备的数据存储量调整为目标数据存储量。
5.一种数据存储装置,其特征在于,应用于分布式系统中的主节点,该分布式系统还包括与该主节点连接的多个从节点,且每个所述从节点连接有多个存储设备,所述装置包括:
数据获取模块,用于获取待存储的目标数据;
设备确定模块,用于向每个所述从节点发送存储量采集指令,以使每个所述从节点基于所述存储量采集指令对与其连接的每个所述存储设备进行数据存储量的采集操作,得到每个所述存储设备的数据存储量并发送给所述主节点;接收每个所述存储设备的数据存储量;在多个所述存储设备中,基于每个所述存储设备的数据存储量和预设的存储均衡策略确定目标存储设备;基于该目标存储设备在所述多个从节点中确定目标从节点;所述目标从节点为与所述目标存储设备连接的从节点;
数据发送模块,用于将所述目标数据发送给所述目标从节点,其中,该目标从节点用于将该目标数据存储至所述目标存储设备。
6.根据权利要求5所述的数据存储装置,其特征在于,还包括:
数量判断模块,用于判断所述从节点的数量是否发生变化;
指令发送模块,用于在所述从节点的数量发生变化时,基于变化后的从节点数量生成设备均衡指令,并将该设备均衡指令发送给变化后的每个从节点;
其中,变化后的每个从节点用于基于所述设备均衡指令,将所述存储设备的数量调整为目标数量。
7.一种主节点,其特征在于,应用于分布式系统,该分布式系统还包括与该主节点连接的多个从节点,且每个所述从节点连接有多个存储设备,所述主节点包括:
存储器,用于存储计算机程序;
与所述存储器连接的处理器,用于执行所述计算机程序,以实现权利要求1-4任意一项所述的数据存储方法。
8.一种分布式系统,其特征在于,包括:
权利要求7所述的主节点;
与所述主节点连接的多个从节点,且每个所述从节点连接有多个存储设备,用于将所述主节点发送的目标数据存储至所述多个存储设备中的目标存储设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010353583.1A CN111552441B (zh) | 2020-04-29 | 2020-04-29 | 数据存储方法和装置、主节点及分布式系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010353583.1A CN111552441B (zh) | 2020-04-29 | 2020-04-29 | 数据存储方法和装置、主节点及分布式系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111552441A CN111552441A (zh) | 2020-08-18 |
CN111552441B true CN111552441B (zh) | 2023-02-28 |
Family
ID=72003200
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010353583.1A Active CN111552441B (zh) | 2020-04-29 | 2020-04-29 | 数据存储方法和装置、主节点及分布式系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111552441B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112269670B (zh) * | 2020-10-30 | 2023-08-25 | 重庆紫光华山智安科技有限公司 | 数据入库方法、装置、系统及存储介质 |
CN112468590B (zh) * | 2020-11-27 | 2023-02-07 | 杭州海康威视系统技术有限公司 | 一种存储资源挂载方法和装置 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102843403A (zh) * | 2011-06-23 | 2012-12-26 | 盛大计算机(上海)有限公司 | 基于分布式文件系统的文件处理方法、系统及客户端 |
CN103077197A (zh) * | 2012-12-26 | 2013-05-01 | 北京思特奇信息技术股份有限公司 | 一种数据存储方法装置 |
CN104484134A (zh) * | 2014-12-23 | 2015-04-01 | 北京华胜天成科技股份有限公司 | 分布式存储的磁盘分配方法及装置 |
CN104580439A (zh) * | 2014-12-30 | 2015-04-29 | 创新科存储技术(深圳)有限公司 | 一种云存储系统中使数据均匀分布的方法 |
CN104636332A (zh) * | 2013-11-06 | 2015-05-20 | 北京航天长峰科技工业集团有限公司 | 一种海量类定位数据存储方法 |
CN105657066A (zh) * | 2016-03-23 | 2016-06-08 | 天津书生云科技有限公司 | 用于存储系统的负载再均衡方法及装置 |
CN106095920A (zh) * | 2016-06-07 | 2016-11-09 | 四川大学 | 面向大规模高维空间数据的分布式索引方法 |
CN106484528A (zh) * | 2016-09-07 | 2017-03-08 | 北京百度网讯科技有限公司 | 分布式框架中用于实现集群动态伸缩的方法及装置 |
US10055262B1 (en) * | 2015-12-11 | 2018-08-21 | Amazon Technologies, Inc. | Distributed load balancing with imperfect workload information |
CN109408509A (zh) * | 2018-10-15 | 2019-03-01 | 北京金山云网络技术有限公司 | 数据存储方法、装置及计算机设备 |
CN109933285A (zh) * | 2019-02-26 | 2019-06-25 | 新华三技术有限公司成都分公司 | 分布式存储的数据均衡方法及装置 |
CN110572478A (zh) * | 2019-09-30 | 2019-12-13 | 重庆紫光华山智安科技有限公司 | 基于分布式架构服务和ftp服务的数据传输方法及系统 |
CN110781006A (zh) * | 2019-10-28 | 2020-02-11 | 重庆紫光华山智安科技有限公司 | 负载均衡方法、装置、节点及计算机可读存储介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150169656A1 (en) * | 2012-08-23 | 2015-06-18 | Digital Works, Inc. | Distributed database system |
KR20150030036A (ko) * | 2013-09-11 | 2015-03-19 | 삼성전자주식회사 | 분산 처리 방법, 마스터 서버 및 분산 클러스터 |
CN106856489B (zh) * | 2015-12-08 | 2020-09-08 | 阿里巴巴集团控股有限公司 | 一种分布式存储系统的服务节点切换方法和装置 |
US10359966B2 (en) * | 2017-05-11 | 2019-07-23 | Vmware, Inc. | Capacity based load balancing in distributed storage systems with deduplication and compression functionalities |
US10942666B2 (en) * | 2017-10-13 | 2021-03-09 | Cisco Technology, Inc. | Using network device replication in distributed storage clusters |
CN110121874B (zh) * | 2017-12-04 | 2021-06-01 | 华为技术有限公司 | 一种存储器数据替换方法、服务器节点和数据存储系统 |
CN110213358A (zh) * | 2019-05-23 | 2019-09-06 | 深圳壹账通智能科技有限公司 | 集群资源调度的方法、节点、设备及存储介质 |
-
2020
- 2020-04-29 CN CN202010353583.1A patent/CN111552441B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102843403A (zh) * | 2011-06-23 | 2012-12-26 | 盛大计算机(上海)有限公司 | 基于分布式文件系统的文件处理方法、系统及客户端 |
CN103077197A (zh) * | 2012-12-26 | 2013-05-01 | 北京思特奇信息技术股份有限公司 | 一种数据存储方法装置 |
CN104636332A (zh) * | 2013-11-06 | 2015-05-20 | 北京航天长峰科技工业集团有限公司 | 一种海量类定位数据存储方法 |
CN104484134A (zh) * | 2014-12-23 | 2015-04-01 | 北京华胜天成科技股份有限公司 | 分布式存储的磁盘分配方法及装置 |
CN104580439A (zh) * | 2014-12-30 | 2015-04-29 | 创新科存储技术(深圳)有限公司 | 一种云存储系统中使数据均匀分布的方法 |
US10055262B1 (en) * | 2015-12-11 | 2018-08-21 | Amazon Technologies, Inc. | Distributed load balancing with imperfect workload information |
CN105657066A (zh) * | 2016-03-23 | 2016-06-08 | 天津书生云科技有限公司 | 用于存储系统的负载再均衡方法及装置 |
CN106095920A (zh) * | 2016-06-07 | 2016-11-09 | 四川大学 | 面向大规模高维空间数据的分布式索引方法 |
CN106484528A (zh) * | 2016-09-07 | 2017-03-08 | 北京百度网讯科技有限公司 | 分布式框架中用于实现集群动态伸缩的方法及装置 |
CN109408509A (zh) * | 2018-10-15 | 2019-03-01 | 北京金山云网络技术有限公司 | 数据存储方法、装置及计算机设备 |
CN109933285A (zh) * | 2019-02-26 | 2019-06-25 | 新华三技术有限公司成都分公司 | 分布式存储的数据均衡方法及装置 |
CN110572478A (zh) * | 2019-09-30 | 2019-12-13 | 重庆紫光华山智安科技有限公司 | 基于分布式架构服务和ftp服务的数据传输方法及系统 |
CN110781006A (zh) * | 2019-10-28 | 2020-02-11 | 重庆紫光华山智安科技有限公司 | 负载均衡方法、装置、节点及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111552441A (zh) | 2020-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111008075B (zh) | 一种负载均衡系统、方法、装置、设备及介质 | |
CN111552441B (zh) | 数据存储方法和装置、主节点及分布式系统 | |
CN111984395B (zh) | 一种数据迁移方法、系统及计算机可读存储介质 | |
CN107404541B (zh) | 一种对等网络传输邻居节点选择的方法及系统 | |
CN107105013B (zh) | 文件的处理方法、服务器、终端和系统 | |
CN111222306A (zh) | 数据处理方法和装置、电子设备和存储介质 | |
CN105791381A (zh) | 访问控制的方法及装置 | |
CN113472700B (zh) | 报文处理方法、设备、存储介质及网卡 | |
CN111131333B (zh) | 业务数据推送方法和服务器集群 | |
CN113609088A (zh) | 文件处理方法、装置及设备 | |
CN109981697B (zh) | 一种文件转存方法、系统、服务器及存储介质 | |
CN113132162B (zh) | 一种物联网卡配置的方法、装置、设备和介质 | |
CN104852986A (zh) | 一种新增功能的提供方法和设备 | |
CN106559439B (zh) | 一种业务处理方法及设备 | |
US20210185119A1 (en) | A Decentralized Load-Balancing Method for Resource/Traffic Distribution | |
CN109639555B (zh) | 链路层报文生成方法、链路层报文生成装置及终端设备 | |
CN109033189B (zh) | 链路结构日志的压缩方法、装置、服务器及可读存储介质 | |
CN107210996B (zh) | 一种业务链管理方法及装置 | |
CN115474176B (zh) | 自动驾驶地图中车-路-云三端数据的交互方法及设备 | |
CN112492036A (zh) | 信息处理方法和装置、电子设备及存储介质 | |
CN112688906B (zh) | 一种自协商方法及装置 | |
CN113055495B (zh) | 一种数据处理方法、装置及分布式存储系统 | |
CN109905320B (zh) | 一种聚合端口的报文分配方法和装置 | |
CN111913738B (zh) | 访问请求的处理方法、装置、计算设备和介质 | |
CN116910158A (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 |