CN107943421B - 一种基于分布式存储***的分区划分方法及装置 - Google Patents

一种基于分布式存储***的分区划分方法及装置 Download PDF

Info

Publication number
CN107943421B
CN107943421B CN201711241562.5A CN201711241562A CN107943421B CN 107943421 B CN107943421 B CN 107943421B CN 201711241562 A CN201711241562 A CN 201711241562A CN 107943421 B CN107943421 B CN 107943421B
Authority
CN
China
Prior art keywords
storage
node
partition
partitions
storage media
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
Application number
CN201711241562.5A
Other languages
English (en)
Other versions
CN107943421A (zh
Inventor
罗四维
张雷
刘小威
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chengdu Huawei Technology Co Ltd
Original Assignee
Chengdu Huawei Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Chengdu Huawei Technology Co Ltd filed Critical Chengdu Huawei Technology Co Ltd
Priority to CN201711241562.5A priority Critical patent/CN107943421B/zh
Publication of CN107943421A publication Critical patent/CN107943421A/zh
Application granted granted Critical
Publication of CN107943421B publication Critical patent/CN107943421B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请实施例公开了一种基于分布式存储***的分区划分方法及装置,涉及存储领域,解决了小规模集群中少量存储节点故障或者少量磁盘故障的情况下,保证数据可靠性的问题。具体方案为:集群管理节点获取故障信息,故障信息用于指示故障的存储节点或故障的存储介质;集群管理节点根据故障信息、状态正常的存储节点的负载和EC的冗余模式重新划分状态正常的存储介质,得到第一更新分区信息;集群管理节点向应用节点发送第一更新分区信息。本申请实施例用于数据存储的过程。

Description

一种基于分布式存储***的分区划分方法及装置
技术领域
本申请实施例涉及存储领域,尤其涉及一种基于分布式存储***的分区划分方法及装置。
背景技术
在大数据环境下,掌握越多的数据,数据蕴含的价值也就越大。目前,企业用户、数据中心基础设施等主要通过云存储技术来存储海量的数据,例如,分布式存储***。在存储海量的数据同时,还需要保证海量的数据的可靠性。现有的保证数据可靠性策略主要包括多副本(Multi-Replica)和纠删码(Erasure Coding,EC)。
在小规模集群的分布式存储***中,可以根据EC的冗余模式预先设置分布式存储***的分区,每个分区包括N+K个磁盘,每个分区内的每个磁盘属于不同的存储节点,N表示EC的数据分片,K表示EC的校验分片。应用节点对待写入数据进行EC编码后,得到至少一条EC条带,将每个EC条带写入一个分区。在少量存储节点故障或者少量磁盘故障的情况下,可以通过获取部分数据进行简单的异或计算恢复原始数据,从而,保证数据的读取的可靠性。但是,该数据写入方式要求应用节点必须按照***指定的分区配置进行满条带写入,限制了上层业务的灵活性;而且,在分区不满足当前数据写入的条件下,此次数据写入及后续过程均无法正常执行,出现降级写的情况。
为了避免降级写,可以临时用存储***中其他分区中状态正常的存储节点来存储本应写入故障存储节点的数据。虽然,这样既能够支持***写业务不降级,同时也保证数据的写入的可靠性。但是,增加了跨分区的存储节点管理复杂度;如果故障存储节点恢复之后,需要启动数据回迁的操作,额外增加了数据迁移的开销,并且降低了***的整体性能。
因此,在小规模集群中少量存储节点故障或者少量磁盘故障的情况下,如何保证数据可靠性是一个亟待解决的问题。
发明内容
本申请实施例提供一种基于分布式存储***的分区划分方法及装置,解决了在小规模集群中少量存储节点故障或者少量磁盘故障的情况下,保证数据可靠性的问题。
为达到上述目的,本申请实施例采用如下技术方案:
本申请实施例的第一方面,提供一种基于分布式存储***的分区划分方法,包括:分布式存储***包括集群管理节点、应用节点和S个存储节点,每个存储节点包括X个存储介质,依据纠删码EC的冗余模式S个存储节点包括的S*X个存储介质分为P个分区,P个分区中每个分区包括Y个存储介质,Y个存储介质由Y个存储节点的每个存储节点中的一个存储介质组成,其中,EC的冗余模式为数据分片的个数与校验分片的个数,N表示数据分片的个数,K表示校验分片的个数,Y=N+K,其基本原理在于:首先,集群管理节点获取故障信息,故障信息用于指示故障的存储节点或故障的存储介质;然后,集群管理节点根据故障信息、状态正常的存储节点的负载和EC的冗余模式重新划分状态正常的存储介质,得到第一更新分区信息;集群管理节点向应用节点发送第一更新分区信息。本申请实施例的基于分布式存储***的分区划分方法,在存储节点或存储介质故障后,根据故障信息、状态正常的存储节点的负载和EC的冗余模式对状态正常的存储介质进行重新划分,始终保持分区中存储介质的个数与EC的冗余模式的配置相同,保证在数据写入时能够被成功写入,有效地提高数据的可靠性。
结合第一方面,在一种可能的实现方式中,若故障信息为故障的存储节点的节点标识,i个存储节点故障,集群管理节点根据故障信息、状态正常的存储节点的负载和EC的冗余模式重新划分状态正常的存储介质,得到第一更新分区信息,包括:集群管理节点根据EC的冗余模式和S-i个存储节点的负载将S-i个存储节点包括的(S-i)*X个存储介质划分为Q个分区,得到第一更新分区信息,第一更新分区信息包括Q个分区中每个分区的分区标识,以及Q个分区中每个分区包括的存储介质的介质标识。
结合第一方面,在另一种可能的实现方式中,若故障信息为故障的存储介质的介质标识,j个存储介质故障,集群管理节点根据故障信息、状态正常的存储节点的负载和EC的冗余模式重新划分状态正常的存储介质,得到第一更新分区信息,包括:集群管理节点根据EC的冗余模式和S个存储节点的负载将S个存储节点包括的(S*X)-j个存储介质划分为W个分区,得到第一更新分区信息,第一更新分区信息包括W个分区中每个分区的分区标识,以及W个分区中每个分区包括的存储介质的介质标识。
结合上述可能的实现方式,在另一种可能的实现方式中,在集群管理节点向应用节点发送第一更新分区信息之后,方法还包括:集群管理节点获取恢复信息,恢复信息用于指示故障的存储节点的故障解除或故障的存储介质的故障解除;集群管理节点根据恢复信息、EC的冗余模式和状态正常的存储节点的负载重新划分状态正常的存储介质,得到第二更新分区信息;集群管理节点向应用节点发送第二更新分区信息。从而,在存储节点或存储介质的故障解除,恢复正常状态后,重新对分布式存储***中的存储介质划分分区,使存储介质的充分利用,避免存储空间浪费。
本申请实施例的第二方面,提供一种数据写入方法,包括:分布式存储***包括集群管理节点、应用节点和S个存储节点,每个存储节点包括X个存储介质,依据纠删码EC的冗余模式S个存储节点包括的S*X个存储介质分为P个分区,P个分区中每个分区包括Y个存储介质,Y个存储介质由Y个存储节点的每个存储节点中的一个存储介质组成,其中,EC的冗余模式为数据分片的个数与校验分片的个数,N表示数据分片的个数,K表示校验分片的个数,Y=N+K,方法包括:应用节点对待写入数据进行EC编码,得到L条EC条带,每条EC条带包括N个数据分片和K个校验分片,L由待写入数据的数据量确定,L大于等于1;应用节点根据第一更新分区信息将L条EC条带存储到Q个分区中的L个分区,第一更新分区信息包括Q个分区中每个分区的分区标识,以及Q个分区中每个分区包括的存储介质的介质标识,Q个分区由集群管理节点根据EC的冗余模式和S-i个存储节点的负载对S-i个存储节点包括的(S-i)*X个存储介质划分得到的,i表示故障的存储节点的个数;或者,应用节点根据第一更新分区信息将L条EC条带存储到W个分区中的L个分区,第一更新分区信息包括W个分区中每个分区的分区标识,以及W个分区中每个分区包括的存储介质的介质标识,W个分区由集群管理节点根据EC的冗余模式和S个存储节点的负载对S个存储节点包括的(S*X)-j个存储介质划分得到的,j表示故障的存储介质的个数。从而,在存储节点或存储介质故障后,通过对存储介质重新划分分区,始终保持分区中存储介质的个数与EC的冗余模式的配置相同,根据更新后的分区写入数据,保证在数据写入时能够被成功写入,有效地提高数据的可靠性。
结合第二方面,在一种可能的实现方式中,在应用节点对待写入数据进行EC编码,得到L条EC条带之前,方法还包括:应用节点接收集群管理节点发送的第一更新分区信息。
结合上述可能的实现方式,在另一种可能的实现方式中,在应用节点接收集群管理节点发送的第一更新分区信息之后,方法还包括:应用节点接收集群管理节点发送的第二更新分区信息,第二更新分区信息是集群管理节点根据恢复信息、EC的冗余模式和状态正常的存储节点的负载重新划分状态正常的存储介质得到的,恢复信息用于指示故障的存储节点的故障解除或故障的存储介质的故障解除。
本申请实施例的第三方面,提供一种集群管理节点,包括:分布式存储***包括集群管理节点、应用节点和S个存储节点,每个存储节点包括X个存储介质,依据纠删码EC的冗余模式S个存储节点包括的S*X个存储介质分为P个分区,P个分区中每个分区包括Y个存储介质,Y个存储介质由Y个存储节点的每个存储节点中的一个存储介质组成,其中,EC的冗余模式为数据分片的个数与校验分片的个数,N表示数据分片的个数,K表示校验分片的个数,Y=N+K,集群管理节点包括:收发单元,用于获取故障信息,故障信息用于指示故障的存储节点或故障的存储介质;处理单元,用于根据故障信息、状态正常的存储节点的负载和EC的冗余模式重新划分状态正常的存储介质,得到第一更新分区信息;收发单元,还用于向应用节点发送第一更新分区信息。
本申请实施例的第四方面,提供一种应用节点,包括:分布式存储***包括集群管理节点、应用节点和S个存储节点,每个存储节点包括X个存储介质,依据纠删码EC的冗余模式S个存储节点包括的S*X个存储介质分为P个分区,P个分区中每个分区包括Y个存储介质,Y个存储介质由Y个存储节点的每个存储节点中的一个存储介质组成,其中,EC的冗余模式为数据分片的个数与校验分片的个数,N表示数据分片的个数,K表示校验分片的个数,Y=N+K,应用节点包括:处理单元,用于对待写入数据进行EC编码,得到L条EC条带,每条EC条带包括N个数据分片和K个校验分片,L由待写入数据的数据量确定,L大于等于1;处理单元和收发单元,用于根据第一更新分区信息将L条EC条带存储到Q个分区中的L个分区,第一更新分区信息包括Q个分区中每个分区的分区标识,以及Q个分区中每个分区包括的存储介质的介质标识,Q个分区由集群管理节点根据EC的冗余模式和S-i个存储节点的负载对S-i个存储节点包括的(S-i)*X个存储介质划分得到的,i表示故障的存储节点的个数;或者,应用节点根据第一更新分区信息将L条EC条带存储到W个分区中的L个分区,第一更新分区信息包括W个分区中每个分区的分区标识,以及W个分区中每个分区包括的存储介质的介质标识,W个分区由集群管理节点根据EC的冗余模式和S个存储节点的负载对S个存储节点包括的(S*X)-j个存储介质划分得到的,j表示故障的存储介质的个数。
需要说明的是,在集群管理节点获取故障信息之后,若Y大于S,Q个分区的每个分区包括至少两个存储介质属于同一个存储节点。另外,本申请实施例所述的分布式存储***是小规模集群***,S为大于等于3且小于等于20的整数。故障率为10%S。i可以为3。
需要说明的是,上述第三方面和第四方面功能模块可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块。例如,通信接口,用于完成收发单元的功能,处理器,用于完成处理单元的功能,存储器,用于处理器处理本申请实施例的基于分布式存储***的分区划分方法以及数据写入方法的程序指令。处理器、通信接口和存储器通过总线连接并完成相互间的通信。具体的,可以参考第一方面提供的基于分布式存储***的分区划分方法中集群管理节点的行为的功能,以及第二方面提供的数据写入方法中应用节点的行为的功能。
本申请实施例的第五方面,提供一种集群管理节点,该集群管理节点可以包括:至少一个处理器,存储器、通信接口、通信总线;至少一个处理器与存储器、通信接口通过通信总线连接,存储器用于存储计算机执行指令,当处理器运行时,处理器执行存储器存储的计算机执行指令,以使集群管理节点执行第一方面或第一方面的可能的实现方式中任一的基于分布式存储***的分区划分方法。
本申请实施例的第六方面,提供一种应用节点,该应用节点可以包括:至少一个处理器,存储器、通信接口、通信总线;至少一个处理器与存储器、通信接口通过通信总线连接,存储器用于存储计算机执行指令,当处理器运行时,处理器执行存储器存储的计算机执行指令,以使应用节点执行第二方面或第二方面的可能的实现方式中任一的数据写入方法。
本申请实施例的第七方面,提供了一种计算机可读存储介质,用于储存为上述集群管理节点所用的计算机软件指令,当计算机软件指令被处理器执行时,使得集群管理节点可以执行上述中任意方面的方法。
本申请实施例的第八方面,提供了一种计算机可读存储介质,用于储存为上述应用节点所用的计算机软件指令,当计算机软件指令被处理器执行时,使得应用节点可以执行上述中任意方面的方法。
本申请实施例的第九方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机可以执行上述任意方面的方法。
另外,第三方面至第九方面中任一种设计方式所带来的技术效果可参见第一方面和第二方面中不同设计方式所带来的技术效果,此处不再赘述。
本申请实施例中,集群管理节点和应用节点的名字对设备本身不构成限定,在实际实现中,这些设备可以以其他名称出现。只要各个设备的功能和本申请实施例类似,属于本申请权利要求及其等同技术的范围之内。
本申请实施例的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
图1为本申请实施例提供的一种分布式存储***的简化示意图;
图2为现有技术提供的一种分区划分示意图;
图3为现有技术提供的另一种分区划分示意图;
图4为现有技术提供的又一种分区划分示意图;
图5为本申请实施例提供的一种基于分布式存储***的分区划分方法的流程图;
图6为本申请实施例提供的一种分区划分示意图;
图7为本申请实施例提供的另一种分区划分示意图;
图8为本申请实施例提供的又一种分区划分示意图;
图9为本申请实施例提供的再一种分区划分示意图;
图10为本申请实施例提供的再一种分区划分示意图;
图11为本申请实施例提供的再一种分区划分示意图;
图12为本申请实施例提供的一种数据写入方法的流程图;
图13为本申请实施例提供的一种数据写入过程的示意图;
图14为本申请实施例提供的一种集群管理节点的组成示意图;
图15为本申请实施例提供的一种计算机设备的组成示意图;
图16为本申请实施例提供的另一种集群管理节点的组成示意图;
图17为本申请实施例提供的一种应用节点的组成示意图;
图18为本申请实施例提供的另一种应用节点的组成示意图。
具体实施方式
为了下述各实施例的描述清楚简洁,首先给出相关技术的简要介绍:
分布式存储***,是一种易于扩展的存储***,各个存储节点地位均等,不限定***中存储节点的位置与数量,可以任意扩展,可以将数据分散存储在多***立的存储节点上,实现负载均衡的效果。相对于传统的网络存储***采用集中的存储服务器存放所有数据,提高了***的可靠性、可用性和存取效率。
纠删码对数据进行分片,得到数据分片,然后根据数据分片计算出少量的校验分片,将所有数据分片和校验分片分别存入不同的数据节点上。读取时只需获取少量分片信息并结合简单异或计算即可得到原始数据。这种方式极大的提高了硬盘空间利用率,利用硬件设备加速计算过程,对于性能的损耗也可以控制在一定范围内。
示例的,图1为本申请实施例提供的一种分布式存储***的简化示意图。如图1所示,该***架构可以包括:集群管理节点、应用节点和S个存储节点,每个存储节点包括X个存储介质。***可以根据存储节点的个数和存储介质的个数预先配置EC的冗余模式,即数据分片的个数和校验分片的个数。***可以根据EC的冗余模式将***中S个存储节点包括的S*X个存储介质分为P个分区,P个分区中每个分区包括Y个存储介质,Y个存储介质是在S个存储节点中选择不同的Y个存储节点,再从不同的Y个存储节点的每个存储节点中选择一个存储介质,将从Y个存储节点的每个存储节点中选择的存储介质确定为构成一个分区。可以理解的,每个分区中包括的Y个存储介质属于不同的存储节点。每个分区中包括的存储介质也是不同的。其中,EC的冗余模式为数据分片的个数与校验分片的个数,N表示数据分片的个数,K表示校验分片的个数,Y=N+K。
需要说明的是,本申请实施例所述的基于分布式存储***的分区划分方法适用于小规模集群的分布式存储***。例如,S为大于等于3且小于等于20的整数。X为大于等于1的整数。示例的,分布式存储***包括8个存储节点,每个存储节点包括6个存储介质,即S的取值为8,X的取值为6。或者,分布式存储***包括6个存储节点,每个存储节点包括6个存储介质,即S的取值为6,X的取值为6。
假设EC的冗余模式为4个数据分片及2个校验分片,即N=4,K=2。根据EC的冗余模式为4个数据分片及2个校验分片对包括8个存储节点,每个存储节点包括6个存储介质的分布式存储***进行分区划分,即从8个存储节点中选择不同的6个存储节点,再从不同的6个存储节点的每个存储节点中选择一个存储介质,将从6个存储节点的每个存储节点中选择的存储介质确定为构成一个分区,可以得到八个分区,每个分区包括6个存储介质。假设对8个存储节点按照1至8进行编码,每个存储节点包括的6个存储介质按照1至6进行编码。存储节点1中的存储介质1可以记为1-1,存储节点1中的存储介质2可以记为1-2,存储节点1中的存储介质3可以记为1-3,存储节点1中的存储介质4可以记为1-4,存储节点1中的存储介质5可以记为1-5,存储节点1中的存储介质6可以记为1-6。同理,存储节点2中的存储介质1可以记为2-1,存储节点2中的存储介质2可以记为2-2。其他存储节点中的存储介质同样可以按照上述编辑方式表示,本申请实施例在此不再赘述。
如图2所示,分区一包括存储介质1-1、存储介质2-1、存储介质3-1、存储介质4-1、存储介质5-1和存储介质6-1。分区二包括存储介质2-2、存储介质3-2、存储介质4-2、存储介质5-2、存储介质6-2和存储介质7-2。分区三包括存储介质3-3、存储介质4-3、存储介质5-3、存储介质6-3、存储介质7-3和存储介质8-3。分区四包括存储介质4-4、存储介质5-4、存储介质6-4、存储介质7-4、存储介质8-4和存储介质1-2。分区五包括存储介质5-5、存储介质6-5、存储介质7-5、存储介质8-5、存储介质1-3和存储介质2-3。分区六包括存储介质6-6、存储介质7-6、存储介质8-6、存储介质1-4、存储介质2-4和存储介质3-4。分区七包括存储介质1-5、存储介质2-5、存储介质3-5、存储介质4-5、存储介质7-1和存储介质8-1。分区八包括存储介质1-6、存储介质2-6、存储介质3-6、存储介质4-6、存储介质5-6和存储介质8-2。
假设EC的冗余模式为4个数据分片及2个校验分片,即N=4,K=2。根据EC的冗余模式为4个数据分片及2个校验分片对包括6个存储节点,每个存储节点包括6个存储介质的分布式存储***进行分区划分,即从6个存储节点的每个存储节点中选择一个存储介质,将从6个存储节点的每个存储节点中选择的存储介质确定为构成一个分区,可以得到六个分区,每个分区包括6个存储介质。假设对6个存储节点按照1至6进行编码,每个存储节点包括的6个存储介质按照1至6进行编码。存储节点中的存储介质的记述方式可以按照上述编辑方式表示,本申请实施例在此不再赘述。
如图3所示,分区一包括存储介质1-1、存储介质2-1、存储介质3-1、存储介质4-1、存储介质5-1和存储介质6-1。分区二包括存储介质1-2、存储介质2-2、存储介质3-2、存储介质4-2、存储介质5-2和存储介质6-2。分区三包括存储介质1-3、存储介质2-3、存储介质3-3、存储介质4-3、存储介质5-3和存储介质6-3。分区四包括存储介质1-4、存储介质2-4、存储介质3-4、存储介质4-4、存储介质5-4和存储介质6-4。分区五包括存储介质1-5、存储介质2-5、存储介质3-5、存储介质4-5、存储介质5-5和存储介质6-5。分区六包括存储介质1-6、存储介质2-6、存储介质3-6、存储介质4-6、存储介质5-6和存储介质6-6。
需要说明的是,上述分区的划分方式只是示例性说明,本申请实施例对此不作限定,实际应用中还可以有其他方式的划分。但是,在划分分区时需要保证同一个分区包括的存储介质属于不同的存储节点。如果分布式存储***中的存在剩余的存储介质不够组成一个满分区时,可以选择已经分配到其他的分区的存储介质与剩余的存储介质组成分区,即不同的分区可以包括相同的存储介质(同一个存储节点中的同一个存储介质)。需要注意的是,在选择已经分配到其他的分区的存储介质时,需要在除了包括剩余的存储介质的存储节点之外的其他存储节点中选择负载最小的存储介质。
假设EC的冗余模式为4个数据分片及2个校验分片,即N=4,K=2。根据EC的冗余模式为4个数据分片及2个校验分片对包括8个存储节点,每个存储节点包括5个存储介质的分布式存储***进行分区划分,即从8个存储节点中选择不同的6个存储节点,再从不同的6个存储节点的每个存储节点中选择一个存储介质,将从6个存储节点的每个存储节点中选择的存储介质确定为构成一个分区,可以得到七个分区,每个分区包括6个存储介质。假设对8个存储节点按照1至6进行编码,每个存储节点包括的5个存储介质按照1至5进行编码。存储节点中的存储介质的记述方式可以按照上述编辑方式表示,本申请实施例在此不再赘述。
如图4所示,分区一包括存储介质1-1、存储介质2-1、存储介质3-1、存储介质4-1、存储介质5-1和存储介质6-1。分区二包括存储介质2-2、存储介质3-2、存储介质4-2、存储介质5-2、存储介质6-2和存储介质7-2。分区三包括存储介质3-3、存储介质4-3、存储介质5-3、存储介质6-3、存储介质7-3和存储介质8-3。分区四包括存储介质4-4、存储介质5-4、存储介质6-4、存储介质7-4、存储介质8-4和存储介质1-2。分区五包括存储介质5-5、存储介质6-5、存储介质7-5、存储介质8-5、存储介质1-3和存储介质2-3。分区六包括存储介质1-5、存储介质2-5、存储介质3-5、存储介质4-5、存储介质7-1和存储介质8-1。此时,剩余存储介质1-4、存储介质2-4、存储介质3-4和存储介质8-2四个存储介质,组成分区还差两个存储介质,可以从存储节点4、存储节点5、存储节点6和存储节点7中按照负载从小到大选择两个存储介质。假设存储介质6-4和存储介质7-4负载最小,可以将存储介质1-4、存储介质2-4、存储介质3-4,存储介质8-2、存储介质6-4和存储介质7-4组成分区七。
其中,存储介质是指存储数据的载体。比如软盘、光盘、DVD、硬盘、闪存、安全数码卡(Secure Digital Memory Card,SD)卡、多媒体(Mutimedia Card,MMC)卡、记忆棒(Memory Stick)等。目前最流行的存储介质是基于闪存(Nand flash)的磁盘。
存储节点包括上述所述的存储介质,用于存储数据。本申请实施例所述的存储节点也可称为存储服务器。每个存储节点可以是集成于同一个设备上的不同的逻辑节点,也可以是分布与不同位置的设备,本申请实施例对此不作限定,只要是实现分布式存储***的存储功能都可以。
集群管理节点用于管理元数据、存储节点的地址、存储节点的状态和存储节点的负载。元数据(Metadata),又称中介数据、中继数据,为描述数据的数据(data aboutdata),主要是描述数据属性(property)的信息,用来支持指示存储位置、历史数据、资源查找和文件记录等功能。
应用节点存储有应用软件,用于产生数据,将数据写入存储节点或访问存储节点读取数据。应用节点和集群管理节点可以是集成于同一个设备上的不同的逻辑节点,也可以是分布于不同位置的设备,可以通过网络连接,也可以直接连接,本申请实施例对此不作限定,只要是实现应用节点和集群管理节点的功能都可以。
本申请实施例提供一种基于分布式存储***的分区划分方法,分布式存储***包括集群管理节点、应用节点和S个存储节点,其基本原理在于:首先,集群管理节点获取故障信息,故障信息用于指示故障的存储节点或故障的存储介质;然后,集群管理节点根据故障信息、状态正常的存储节点的负载和EC的冗余模式重新划分状态正常的存储介质,得到第一更新分区信息;集群管理节点向应用节点发送第一更新分区信息。从而,在存储节点或存储介质故障后,根据故障信息、状态正常的存储节点的负载和EC的冗余模式对状态正常的存储介质进行重新划分,始终保持分区中存储介质的个数与EC的冗余模式的配置相同,保证在数据写入时能够被成功写入,有效地提高数据的可靠性。
下面将结合附图对本申请实施例的实施方式进行详细描述。
图5为本申请实施例提供的一种基于分布式存储***的分区划分方法的流程图,如图5所示,该方法可以包括:
S501、集群管理节点获取故障信息。
示例的,集群管理节点可以周期性地向分布式存储***中的存储节点发送状态请求消息,来查询分布式存储***中的存储节点的状态是否正常。状态请求消息用于请求存储节点返回状态信息。若存储节点处于正常状态,可以向集群管理节点返回正常状态响应消息;若存储节点处于故障状态,存储节点可以向集群管理节点返回故障状态响应消息。另外,若存储节点在预定时段内未收到正常状态响应消息或故障状态响应消息等任何消息,集群管理节点可以确定存储节点响应超时,存储节点处于故障状态。其中,故障状态响应消息可以指存储节点故障也可以指存储节点包括的存储介质故障。
可以选择的,集群管理节点可以无需主动地向分布式存储***中的存储节点发送状态请求消息,分布式存储***中的存储节点可以周期性的向集群管理节点发送状态信息,告知集群管理节点自身的状态是否正常。如果在预定时段内,集群管理节点未收到分布式存储***中的某个存储节点的状态信息,可以确定该存储节点故障。
故障信息用于指示故障的存储节点或故障的存储介质。
S502、集群管理节点根据故障信息、状态正常的存储节点的负载和EC的冗余模式重新划分状态正常的存储介质,得到第一更新分区信息。
可选的,若故障信息为故障的存储节点的节点标识。例如,上述的存储节点1、存储节点1可以是节点标识。假设有i个存储节点故障,i为大于等于1且小于等于3的整数。此时,就无法对包括故障的存储节点的存储介质的分区写入数据,因此,集群管理节点根据EC的冗余模式和S-i个存储节点的负载将S-i个存储节点包括的(S-i)*X个存储介质划分为Q个分区,得到第一更新分区信息。第一更新分区信息包括Q个分区中每个分区的分区标识,以及Q个分区中每个分区包括的存储介质的介质标识。例如,上述的存储介质1-1、存储介质2-3可以是存储介质的介质标识。例如,上述的分区一、分区二可以是分区标识。
在Y小于或等于S的情况下,对于Q个分区中每个分区,集群管理节点先从S-i个存储节点中选择Y个存储节点,再从不同的Y个存储节点的每个存储节点中选择一个存储介质,将从Y个存储节点的每个存储节点中选择的存储介质确定为构成一个分区。
示例的,假设EC的冗余模式为4个数据分片及2个校验分片,即N=4,K=2。分布式存储***包括8个存储节点,每个存储节点包括6个存储介质。假设集群管理节点收到存储节点8故障。集群管理节点根据EC的冗余模式为4个数据分片及2个校验分片对存储节点1至存储节点7包括的6*7=42个存储介质进行分区划分,即先从7个存储节点中选择不同的6个存储节点,再从不同的6个存储节点的每个存储节点中选择一个存储介质,将从6个存储节点的每个存储节点中选择的存储介质确定为构成一个分区,可以得到七个分区,每个分区包括6个存储介质。
如图6所示,分区一包括存储介质1-1、存储介质2-1、存储介质3-1、存储介质4-1、存储介质5-1和存储介质6-1。分区二包括存储介质2-2、存储介质3-2、存储介质4-2、存储介质5-2、存储介质6-2和存储介质7-2。分区三包括存储介质3-3、存储介质4-3、存储介质5-3、存储介质6-3、存储介质7-3和存储介质1-2。分区四包括存储介质4-4、存储介质5-4、存储介质6-4、存储介质7-4、存储介质1-3和存储介质2-3。分区五包括存储介质5-5、存储介质6-5、存储介质7-5、存储介质1-4、存储介质2-4和存储介质3-4。分区六包括存储介质6-6、存储介质7-6、存储介质1-5、存储介质2-5、存储介质3-5和存储介质4-5。分区七包括存储介质1-6、存储介质2-6、存储介质3-6、存储介质4-6、存储介质5-6和存储介质7-1。
需要说明的是,上述划分方式中,每个分区包括的存储介质不同的。在一种可能的实现方式中,对于分布式存储***中剩余的存储介质不够组成一个分区时,可以从分布式存储***中负载最小的存储节点中选择已经划分的存储介质,与剩余的存储介质组成分区,即不同的分区可以包括相同的存储介质。
示例的,假设EC的冗余模式为4个数据分片及2个校验分片,即N=4,K=2。分布式存储***包括8个存储节点,每个存储节点包括5个存储介质。假设集群管理节点收到存储节点8故障。集群管理节点根据EC的冗余模式为4个数据分片及2个校验分片对存储节点1至存储节点7包括的5*7=35个存储介质进行分区划分,即先从7个存储节点中选择不同的6个存储节点,再从不同的6个存储节点的每个存储节点中选择一个存储介质,将从6个存储节点的每个存储节点中选择的存储介质确定为构成一个分区,可以得到六个分区,每个分区包括6个存储介质。
如图7所示,分区一包括存储介质1-1、存储介质2-1、存储介质3-1、存储介质4-1、存储介质5-1和存储介质6-1。分区二包括存储介质2-2、存储介质3-2、存储介质4-2、存储介质5-2、存储介质6-2和存储介质7-2。分区三包括存储介质3-3、存储介质4-3、存储介质5-3、存储介质6-3、存储介质7-3和存储介质1-2。分区四包括存储介质4-4、存储介质5-4、存储介质6-4、存储介质7-4、存储介质1-3和存储介质2-3。分区五包括存储介质5-5、存储介质6-5、存储介质7-5、存储介质1-4、存储介质2-4和存储介质3-4。此时,剩余存储介质1-5、存储介质2-5、存储介质3-5、存储介质4-5和存储介质7-1五个存储介质,组成分区还差一个存储介质,可以从存储节点5和存储节点6中按照负载从小到大选择一个存储介质。假设存储介质5-3负载最小,可以将存储介质5-3,以及存储介质1-5、存储介质2-5、存储介质3-5、存储介质4-5和存储介质7-1一起组成分区六。
需要说明的是,上述划分方式中,虽然,分布式存储***中有一个存储节点故障,但是,存储节点的个数还是大于EC的冗余模式的配置。在一种可能的实现方式中,分布式存储***中状态正常的存储节点的个数可能小于EC的冗余模式的配置,即Y大于S,因此,Q个分区中每个分区包括的存储介质中至少两个存储介质属于同一个存储节点。
示例的,假设EC的冗余模式为4个数据分片及2个校验分片,即N=4,K=2。分布式存储***包括6个存储节点,每个存储节点包括6个存储介质。假设集群管理节点收到存储节点6故障。集群管理节点根据EC的冗余模式为4个数据分片及2个校验分片对存储节点1至存储节点5包括的6*5=30个存储介质进行分区划分,集群管理节点先从5个存储节点的每个存储节点选择一个存储介质,得到5个存储介质,然后,根据5个存储节点的负载,从小到大将5个存储节点排序,从负载最小的存储节点开始,选择1个存储介质,由5个存储介质和1个存储介质组成新的分区。分区中存在同一个存储节点的两个不同的存储介质。
如图8所示,分区一包括存储介质1-1、存储介质2-1、存储介质3-1、存储介质4-1、存储介质5-1和存储介质1-2。分区二包括存储介质2-2、存储介质3-2、存储介质4-2、存储介质5-2、存储介质1-3和存储介质2-3。分区三包括存储介质3-3、存储介质4-3、存储介质5-3、存储介质1-4、存储介质2-4和存储介质3-4。分区四包括存储介质4-4、存储介质5-4、存储介质1-5、存储介质2-5、存储介质3-5和存储介质4-5。分区五包括存储介质1-6、存储介质2-6、存储介质3-6、存储介质4-6、存储介质5-6和存储介质5-5。
可选的,若故障信息为故障的存储介质的介质标识,介质标识用于指示存储介质在分布式存储***中的位置。例如,上述的用于表示存储节点1中的存储介质1的存储介质1-1,用于表示存储节点4中的存储介质5的存储介质4-5等可以是介质标识。假设有j个存储介质故障,j为大于等于1的整数。此时,就无法对包括故障的存储介质的分区写入数据,因此,集群管理节点根据EC的冗余模式和状态正常的存储节点的负载将S个存储节点包括的(S*X)-j个存储介质划分为W个分区,得到第一更新分区信息。第一更新分区信息包括W个分区中每个分区的分区标识,以及W个分区中每个分区包括的存储介质的介质标识。例如,上述的分区一、分区二可以是分区标识。
需要说明的是,若存储节点中的存储介质故障,在划分分区时,首先应该从S个存储节点的每个存储节点选择存储介质组成分区,保证每个分区包括的存储介质属于不同的存储节点。对于分布式存储***中剩余的存储介质不够组成一个分区时,可以从分布式存储***中负载最小的存储节点中选择已经划分的存储介质,与剩余的存储介质组成分区,即不同的分区可以包括相同的存储介质。W个分区中不同的分区可以包括相同的存储介质(同一个存储节点中的同一个存储介质)。
示例的,以图2所示的分区为例,假设存储节点8的存储介质1故障,即分区七中的存储介质8-1故障,分区七就少了一个存储介质,此时可以将存储介质8-2补入分区七,分区八就少了一个存储介质,假设存储介质6-6负载最小,此时可以复用存储介质6-6,将存储介质6-6补入分区八。如图9所示,分区七包括存储介质1-5、存储介质2-5、存储介质3-5、存储介质4-5、存储介质7-1和存储介质8-2。分区八包括存储介质1-6、存储介质2-6、存储介质3-6、存储介质4-6、存储介质5-6和存储介质6-6。分区一至分区六包括的存储介质与图2所示的分区一至分区六包括的存储介质相同。
示例的,以图3所示的分区为例,假设存储节点6的存储介质1故障,即分区一中的存储介质6-1故障,以及存储节点5的存储介质2故障,即分区一中的存储介质5-2故障。如图10所示,可以将存储介质6-2补入分区一,分区一包括存储介质1-1、存储介质2-1、存储介质3-1、存储介质4-1、存储介质5-1和存储介质6-2。可以将存储介质5-3和存储介质6-3补入分区二,分区二包括存储介质1-2、存储介质2-2、存储介质3-2、存储介质4-2、存储介质5-3和存储介质6-3。可以将存储介质5-4和存储介质6-4补入分区三,分区三包括存储介质1-3、存储介质2-3、存储介质3-3、存储介质4-3、存储介质5-4和存储介质6-4。可以将存储介质5-5和存储介质6-5补入分区四,分区四包括存储介质1-4、存储介质2-4、存储介质3-4、存储介质4-4、存储介质5-5和存储介质6-5。可以将存储介质5-6和存储介质6-6补入分区五,分区五包括存储介质1-5、存储介质2-5、存储介质3-5、存储介质4-5、存储介质5-6和存储介质6-6。此时,剩余存储介质1-6、存储介质2-6、存储介质3-6和存储介质4-6四个存储介质,组成分区还差两个存储介质,可以从存储节点5和存储节点6中按照负载从小到大选择两个个存储介质。假设存储介质5-4和存储介质6-5负载最小,可以将存储介质5-4和存储介质6-5,以及存储介质1-6、存储介质2-6、存储介质3-6和存储介质4-6一起组成分区六。
在另一种可实现方式中,如图11所示,分区一包括存储介质1-1、存储介质2-1、存储介质3-1、存储介质4-1、存储介质5-1和存储介质1-2。分区二包括存储介质1-3、存储介质2-2、存储介质3-2、存储介质4-2、存储介质5-3和存储介质6-3。分区三包括存储介质1-4、存储介质2-3、存储介质3-3、存储介质4-3、存储介质5-4和存储介质6-4。分区四包括存储介质1-5、存储介质2-4、存储介质3-4、存储介质4-4、存储介质5-5和存储介质6-5。分区五包括存储介质1-6、存储介质2-5、存储介质3-5、存储介质4-5、存储介质5-6和存储介质6-6。假设存储介质1-1负载较小,此时可以复用存储介质1-1,将存储介质1-1补入分区六。分区六包括存储介质1-1、存储介质2-6、存储介质3-6、存储介质4-6、存储介质5-6和存储介质6-6。
虽然分布式存储***中存储故障存储节点或故障存储介质,但是,始终保持分区中存储介质的个数为6,与EC的冗余模式的配置相同,从而,有效地提高了数据的可靠性。需要说明的是,此时可能会存在1个存储介质属于多个分区,在这种情况下,如果包括同一个存储介质的两个分区中一个分区的所有存储介质写满,导致两个分区中另一个分区包括相同存储介质没有容量,无法写入数据,此时,可以确定两个分区中另一个分区属于无效分区。如果包括同一个存储介质的两个分区中一个分区的所有存储介质没有写满,则两个分区中另一个分区包括相同存储介质有空闲容量,可以写入数据直到写满。
S503、集群管理节点向应用节点发送第一更新分区信息。
S504、应用节点接收集群管理节点发送的第一更新分区信息。
应用节点接收集群管理节点发送的第一更新分区信息之后,存储第一更新分区信息。
进一步的,在集群管理节点对分布式存储***中的存储介质重新划分分区后,应用节点需要写入数据时可以根据新划分的分区进行写入。如图12所示,可以包括以下详细步骤:
S505、应用节点对待写入数据进行EC编码,得到L条EC条带。
每条EC条带包括N个数据分片和K个校验分片。
S506、应用节点根据第一更新分区信息将L条EC条带存储到Q个分区中的L个分区。
第一更新分区信息包括Q个分区中每个分区的分区标识,以及Q个分区中每个分区包括的存储介质的介质标识,Q个分区由集群管理节点根据EC的冗余模式和S-i个存储节点的负载对S-i个存储节点包括的(S-i)*X个存储介质划分得到的,i表示故障的存储节点的个数。
S507、应用节点根据第一更新分区信息将L条EC条带存储到W个分区中的L个分区。
第一更新分区信息包括W个分区中每个分区的分区标识,以及W个分区中每个分区包括的存储介质的介质标识,W个分区由集群管理节点根据EC的冗余模式和S个存储节点的负载对S个存储节点包括的(S*X)-j个存储介质划分得到的,j表示故障的存储介质的个数。
示例的,假设需要对数据流0至11写入到分布式存储***,分布式存储***的分区结构为图8所示的更新后的分区。而且,N=4,K=2。如图13所示,首先,将数据流0至11按照4个数据为一块分为三块,第一数据块包括三个数据分片,即数据分片0至数据分片3,第二数据块包括三个数据分片,即数据分片4至数据分片7,第三数据块包括三个数据分片,即数据分片8至数据分片11;然后,对于第一数据块,根据数据分片0至数据分片3进行异或得到两个校验分片,即校验分片P0和校验分片Q0,数据分片0至数据分片3、校验分片P0和校验分片Q0组成第一条带。对于第二数据块,根据数据分片4至数据分片7进行异或得到两个校验分片,即校验分片P1和校验分片Q1,数据分片4至数据分片7、校验分片P1和校验分片Q1组成第二条带。对于第三数据块,根据数据分片8至数据分片11进行异或得到两个校验分片,即校验分片P2和校验分片Q2,数据分片8至数据分片11、校验分片P2和校验分片Q2组成第三条带。根据分区的负载,从小到大将三个条带写入到三个分区中,例如,图8所示的分区中。
另外,在集群管理节点向应用节点发送第一更新分区信息之后,如果故障的存储节点的故障解除或故障的存储介质的故障解除,本申请实施例还可以包括以下详细步骤:
S508、集群管理节点获取恢复消息。
恢复消息用于指示故障的存储节点的故障解除或故障的存储介质的故障解除。
S509、集群管理节点根据恢复信息、EC的冗余模式和状态正常的存储节点的负载重新划分状态正常的存储介质,得到第二更新分区信息。
S510、集群管理节点向应用节点发送第二更新分区信息。
S511、应用节点接收集群管理节点发送的第二更新分区信息。
第二更新分区信息是集群管理节点根据恢复信息、EC的冗余模式和状态正常的存储节点的负载重新划分状态正常的存储介质得到的,恢复信息用于指示故障的存储节点的故障解除或故障的存储介质的故障解除。如果应用节点需要再写入数据,可以根据第二更新分区信息对存储节点写入数据。
需要说明的是,分布式存储***的容量,以及分布式存储***中每个存储介质的容量用户可以根据需求自行设置,本申请实施例对此不作限定。对于一个分区,如果分区的容量足够多,可以写入多个不同的条带。
另外,在划分分区时,首先保证分区中的存储介质属于不同的存储节点,如果不能保证分区中的存储介质属于不同的存储节点,可以从分布式存储***的存储节点中按照存储介质的负载从小到大选择需要个数的存储介质组成分区。
上述主要从各个网元之间交互的角度对本申请实施例提供的方案进行了介绍。可以理解的是,各个网元,例如集群管理节点、应用节点为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对集群管理节点、应用节点进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图14示出了上述和实施例中涉及的集群管理节点的一种可能的组成示意图,如图14所示,该集群管理节点可以包括:收发单元141和处理单元142。
其中,收发单元141,用于支持集群管理节点执行图5所示的基于分布式存储***的分区划分方法中的S501和S503,图12所示的数据写入方法中的S501、S503、S508和S510。
处理单元142,用于支持集群管理节点执行图5所示的基于分布式存储***的分区划分方法中的S502,图12所示的数据写入方法中的S502和S509。
需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
本申请实施例提供的集群管理节点,用于执行上述基于分布式存储***的分区划分方法,因此可以达到与上述基于分布式存储***的分区划分方法相同的效果。
在具体的实现中,图14所述的集群管理节点可以由图15所示的计算机设备实现。
图15为本申请实施例提供的一种计算机设备的组成示意图,如图15所示,计算机设备可以包括至少一个处理器151,存储器152、通信接口153和通信总线154。
下面结合图15对计算机设备的各个构成部件进行具体的介绍:
处理器151是计算机设备的控制中心,可以是一个处理器,也可以是多个处理元件的统称。例如,处理器151是一个中央处理器(Central Processing Unit,CPU),也可以是特定集成电路(Application Specific Integrated Circuit,ASIC),或者是被配置成实施本申请实施例的一个或多个集成电路,例如:一个或多个微处理器(Digital SignalProcessor,DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,FPGA)。
其中,处理器151可以通过运行或执行存储在存储器152内的软件程序,以及调用存储在存储器152内的数据,执行计算机设备的各种功能。
在具体的实现中,作为一种实施例,处理器151可以包括一个或多个CPU,例如图15中所示的CPU0和CPU1。
本申请实施例所述的处理器主要用于获取故障信息,根据故障信息、状态正常的存储节点的负载和EC的冗余模式重新划分状态正常的存储介质,得到第一更新分区信息。
在具体实现中,作为一种实施例,计算机设备可以包括多个处理器,例如图15中所示的处理器151和处理器155。这些处理器中的每一个可以是一个单核处理器(single-CPU),也可以是一个多核处理器(multi-CPU)。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
存储器152可以是只读存储器(Read-Only Memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(Random Access Memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(ElectricallyErasable Programmable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器152可以是独立存在,通过通信总线154与处理器151相连接。存储器152也可以和处理器151集成在一起。
其中,所述存储器152用于存储执行本申请方案的软件程序,并由处理器151来控制执行。
通信接口153,用于与其他设备或通信网络通信,如以太网,无线接入网(RadioAccess Network,RAN),无线局域网(Wireless Local Area Networks,WLAN)等。通信接口153可以包括接收单元实现接收功能,以及发送单元实现发送功能。
本申请实施例所述的通信接口主要用于向应用节点发送第一更新分区信息。
通信总线154,可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图15中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
图15中示出的设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
在采用集成的单元的情况下,图16示出了上述实施例中所涉及的集群管理节点的另一种可能的组成示意图。如图16所示,该集群管理节点包括:处理模块161和通信模块162。
处理模块161用于对集群管理节点的动作进行控制管理,例如,处理模块161用于支持集群管理节点执行图5中的S502,图12中的S502和S509、和/或用于本文所描述的技术的其它过程。通信模块162用于支持集群管理节点与其他网络实体的通信,例如与图1中示出的应用节点和存储节点之间的通信。集群管理节点还可以包括存储模块163,用于存储集群管理节点的程序代码和数据。
其中,处理模块161可以是处理器或控制器。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信模块162可以是收发器、收发电路或通信接口等。存储模块163可以是存储器。
当处理模块161为处理器,通信模块162为通信接口,存储模块163为存储器时,本申请实施例所涉及的集群管理节点可以为图15所示的计算机设备。
在采用对应各个功能划分各个功能模块的情况下,图17示出了上述和实施例中涉及的应用节点的一种可能的组成示意图,如图17所示,该应用节点可以包括:处理单元171和收发单元172。
其中,处理单元171,用于支持应用节点执行图12所示的数据写入方法中的S505、S506和S507。
收发单元172,用于支持集群管理节点执行图5所示的基于分布式存储***的分区划分方法中的S504,图12所示的数据写入方法中的S504、S505、S506、S507和S511。
需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
本申请实施例提供的应用节点,用于执行上述基于分布式存储***的分区划分方法,因此可以达到与上述基于分布式存储***的分区划分方法相同的效果。
在采用集成的单元的情况下,图18示出了上述实施例中所涉及的应用节点的另一种可能的组成示意图。如图18所示,该应用节点包括:处理模块181和通信模块182。
处理模块181用于对应用节点的动作进行控制管理,例如,处理模块181用于支持应用节点执行图12中的S505、S506和S507、和/或用于本文所描述的技术的其它过程。通信模块182用于支持应用节点与其他网络实体的通信,例如与图1中示出的集群管理节点之间的通信。应用节点还可以包括存储模块183,用于存储应用节点的程序代码和数据。
其中,处理模块181可以是处理器或控制器。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信模块182可以是收发器、收发电路或通信接口等。存储模块183可以是存储器。
当处理模块181为处理器,通信模块182为通信接口,存储模块183为存储器时,本申请实施例所涉及的应用节点可以为图15所示的计算机设备。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (26)

1.一种基于分布式存储***的分区划分方法,其特征在于,所述分布式存储***包括集群管理节点、应用节点和S个存储节点,每个所述存储节点包括X个存储介质,依据纠删码EC的冗余模式所述S个存储节点包括的S*X个存储介质分为P个分区,所述P个分区中每个分区包括Y个存储介质,所述Y个存储介质由Y个存储节点的每个存储节点中的一个存储介质组成,其中,所述EC的冗余模式为数据分片的个数与校验分片的个数,N表示数据分片的个数,K表示校验分片的个数,Y=N+K,
所述方法包括:
所述集群管理节点获取故障信息,所述故障信息用于指示故障的存储节点或故障的存储介质;
所述集群管理节点根据所述故障信息、状态正常的存储节点的负载和所述EC的冗余模式重新划分状态正常的存储介质,得到第一更新分区信息;
所述集群管理节点向所述应用节点发送所述第一更新分区信息。
2.根据权利要求1所述的方法,其特征在于,若所述故障信息为故障的存储节点的节点标识,i个存储节点故障,所述集群管理节点根据所述故障信息、状态正常的存储节点的负载和所述EC的冗余模式重新划分状态正常的存储介质,得到第一更新分区信息,包括:
所述集群管理节点根据所述EC的冗余模式和S-i个存储节点的负载将所述S-i个存储节点包括的(S-i)*X个存储介质划分为Q个分区,得到所述第一更新分区信息,所述第一更新分区信息包括Q个分区中每个分区的分区标识,以及所述Q个分区中每个分区包括的存储介质的介质标识。
3.根据权利要求2所述的方法,其特征在于,若所述Y大于所述S,所述Q个分区的每个分区包括至少两个存储介质属于同一个存储节点。
4.根据权利要求1所述的方法,其特征在于,S为大于等于3且小于等于20的整数。
5.根据权利要求1所述的方法,其特征在于,若所述故障信息为故障的存储介质的介质标识,j个存储介质故障,所述集群管理节点根据所述故障信息、状态正常的存储节点的负载和所述EC的冗余模式重新划分状态正常的存储介质,得到第一更新分区信息,包括:
所述集群管理节点根据所述EC的冗余模式和所述S个存储节点的负载将所述S个存储节点包括的(S*X)-j个存储介质划分为W个分区,得到所述第一更新分区信息,所述第一更新分区信息包括W个分区中每个分区的分区标识,以及所述W个分区中每个分区包括的存储介质的介质标识。
6.根据权利要求1-5任一项所述的方法,其特征在于,在所述集群管理节点向所述应用节点发送所述第一更新分区信息之后,所述方法还包括:
所述集群管理节点获取恢复信息,所述恢复信息用于指示所述故障的存储节点的故障解除或故障的存储介质的故障解除;
所述集群管理节点根据所述恢复信息、所述EC的冗余模式和状态正常的存储节点的负载重新划分状态正常的存储介质,得到第二更新分区信息;
所述集群管理节点向所述应用节点发送所述第二更新分区信息。
7.一种数据写入方法,其特征在于,分布式存储***包括集群管理节点、应用节点和S个存储节点,每个所述存储节点包括X个存储介质,依据纠删码EC的冗余模式S个存储节点包括的S*X个存储介质分为P个分区,所述P个分区中每个分区包括Y个存储介质,所述Y个存储介质由Y个存储节点的每个存储节点中的一个存储介质组成,其中,所述EC的冗余模式为数据分片的个数与校验分片的个数,N表示数据分片的个数,K表示校验分片的个数,Y=N+K,
所述方法包括:
所述应用节点对待写入数据进行EC编码,得到L条EC条带,每条EC条带包括N个数据分片和K个校验分片,所述L由所述待写入数据的数据量确定,L大于等于1;
所述应用节点根据第一更新分区信息将所述L条EC条带存储到Q个分区中的L个分区,所述第一更新分区信息包括所述Q个分区中每个分区的分区标识,以及所述Q个分区中每个分区包括的存储介质的介质标识,所述Q个分区由所述集群管理节点根据所述EC的冗余模式和S-i个存储节点的负载对所述S-i个存储节点包括的(S-i)*X个存储介质划分得到的,i表示故障的存储节点的个数;或者,所述应用节点根据第一更新分区信息将所述L条EC条带存储到W个分区中的L个分区,所述第一更新分区信息包括所述W个分区中每个分区的分区标识,以及所述W个分区中每个分区包括的存储介质的介质标识,所述W个分区由所述集群管理节点根据所述EC的冗余模式和所述S个存储节点的负载对所述S个存储节点包括的(S*X)-j个存储介质划分得到的,j表示故障的存储介质的个数。
8.如权利要求7所述的方法,其特征在于,若所述Y大于所述S,所述Q个分区的每个分区包括至少两个存储介质属于同一个存储节点。
9.根据权利要求7所述的方法,其特征在于,S为大于等于3且小于等于20的整数。
10.根据权利要求7所述的方法,其特征在于,在所述应用节点对待写入数据进行EC编码,得到L条EC条带之前,所述方法还包括:
所述应用节点接收所述集群管理节点发送的所述第一更新分区信息。
11.根据权利要求7-10任一项所述的方法,其特征在于,在所述应用节点接收所述集群管理节点发送的所述第一更新分区信息之后,所述方法还包括:
所述应用节点接收所述集群管理节点发送的第二更新分区信息,所述第二更新分区信息是所述集群管理节点根据恢复信息、所述EC的冗余模式和状态正常的存储节点的负载重新划分状态正常的存储介质得到的,所述恢复信息用于指示故障的存储节点的故障解除或故障的存储介质的故障解除。
12.一种集群管理节点,其特征在于,分布式存储***包括所述集群管理节点、应用节点和S个存储节点,每个所述存储节点包括X个存储介质,依据纠删码EC的冗余模式S个存储节点包括的S*X个存储介质分为P个分区,所述P个分区中每个分区包括Y个存储介质,所述Y个存储介质由Y个存储节点的每个存储节点中的一个存储介质组成,其中,所述EC的冗余模式为数据分片的个数与校验分片的个数,N表示数据分片的个数,K表示校验分片的个数,Y=N+K,
所述集群管理节点包括:
收发单元,用于获取故障信息,所述故障信息用于指示故障的存储节点或故障的存储介质;
处理单元,用于根据所述故障信息、状态正常的存储节点的负载和所述EC的冗余模式重新划分状态正常的存储介质,得到第一更新分区信息;
所述收发单元,还用于向所述应用节点发送所述第一更新分区信息。
13.根据权利要求12所述的集群管理节点,其特征在于,若所述故障信息为故障的存储节点的节点标识,i个存储节点故障,所述处理单元,具体用于:
根据所述EC的冗余模式和S-i个存储节点的负载将所述S-i个存储节点包括的(S-i)*X个存储介质划分为Q个分区,得到所述第一更新分区信息,所述第一更新分区信息包括Q个分区中每个分区的分区标识,以及所述Q个分区中每个分区包括的存储介质的介质标识。
14.根据权利要求13所述的集群管理节点,其特征在于,若所述Y大于所述S,所述Q个分区的每个分区包括至少两个存储介质属于同一个存储节点。
15.根据权利要求12所述的集群管理节点,其特征在于,其特征在于,S为大于等于3且小于等于20的整数。
16.根据权利要求12所述的集群管理节点,其特征在于,若所述故障信息为故障的存储介质的介质标识,j个存储介质故障,所述处理单元,具体用于:
根据所述EC的冗余模式和所述S个存储节点的负载将所述S个存储节点包括的(S*X)-j个存储介质划分为W个分区,得到所述第一更新分区信息,所述第一更新分区信息包括W个分区中每个分区的分区标识,以及所述W个分区中每个分区包括的存储介质的介质标识。
17.根据权利要求12-16任一项所述的集群管理节点,其特征在于,
所述收发单元,还用于获取恢复信息,所述恢复信息用于指示所述故障的存储节点的故障解除或故障的存储介质的故障解除;
所述处理单元,还用于根据所述恢复信息、所述EC的冗余模式和状态正常的存储节点的负载重新划分状态正常的存储介质,得到第二更新分区信息;
所述收发单元,还用于向所述应用节点发送所述第二更新分区信息。
18.一种应用节点,其特征在于,分布式存储***包括集群管理节点、所述应用节点和S个存储节点,每个所述存储节点包括X个存储介质,依据纠删码EC的冗余模式S个存储节点包括的S*X个存储介质分为P个分区,所述P个分区中每个分区包括Y个存储介质,所述Y个存储介质由Y个存储节点的每个存储节点中的一个存储介质组成,其中,所述EC的冗余模式为数据分片的个数与校验分片的个数,N表示数据分片的个数,K表示校验分片的个数,Y=N+K,
所述应用节点包括:
处理单元,用于对待写入数据进行EC编码,得到L条EC条带,每条EC条带包括N个数据分片和K个校验分片,所述L由所述待写入数据的数据量确定,L大于等于1;
所述处理单元和收发单元,用于根据第一更新分区信息将所述L条EC条带存储到Q个分区中的L个分区,所述第一更新分区信息包括所述Q个分区中每个分区的分区标识,以及所述Q个分区中每个分区包括的存储介质的介质标识,所述Q个分区由所述集群管理节点根据所述EC的冗余模式和S-i个存储节点的负载对所述S-i个存储节点包括的(S-i)*X个存储介质划分得到的,i表示故障的存储节点的个数;或者,所述应用节点根据第一更新分区信息将所述L条EC条带存储到W个分区中的L个分区,所述第一更新分区信息包括所述W个分区中每个分区的分区标识,以及所述W个分区中每个分区包括的存储介质的介质标识,所述W个分区由所述集群管理节点根据所述EC的冗余模式和所述S个存储节点的负载对所述S个存储节点包括的(S*X)-j个存储介质划分得到的,j表示故障的存储介质的个数。
19.根据权利要求18所述的应用节点,其特征在于,若所述Y大于所述S,所述Q个分区的每个分区包括至少两个存储介质属于同一个存储节点。
20.根据权利要求18所述的应用节点,其特征在于,其特征在于,S为大于等于3且小于等于20的整数。
21.根据权利要求18所述的应用节点,其特征在于,
所述收发单元,还用于接收所述集群管理节点发送的所述第一更新分区信息。
22.根据权利要求18-21任一项所述的应用节点,其特征在于,
所述收发单元,还用于接收所述集群管理节点发送的第二更新分区信息,所述第二更新分区信息是所述集群管理节点根据恢复信息、所述EC的冗余模式和状态正常的存储节点的负载重新划分状态正常的存储介质得到的,所述恢复信息用于指示故障的存储节点的故障解除或故障的存储介质的故障解除。
23.一种计算机可读存储介质,包括指令,其特征在于,当所述指令在集群管理节点上运行时,使得所述集群管理节点执行如权利要求1-6中任意一项所述的基于分布式存储***的分区划分方法。
24.一种计算机可读存储介质,包括指令,其特征在于,当所述指令在应用节点上运行时,使得所述应用节点执行如权利要求7-11中任意一项所述的数据写入方法。
25.一种应用于基于分布式存储***的分区划分方法的设备,其特征在于,所述设备以芯片的产品形态存在,所述设备的结构中包括处理器和存储器,所述存储器用于与所述处理器耦合,用于保存所述设备的程序指令和数据,所述处理器用于执行所述存储器中存储的程序指令,使得所述设备执行如权利要求1-6任一项所述方法。
26.一种应用于数据写入方法的设备,其特征在于,所述设备以芯片的产品形态存在,所述设备的结构中包括处理器和存储器,所述存储器用于与所述处理器耦合,用于保存所述设备的程序指令和数据,所述处理器用于执行所述存储器中存储的程序指令,使得所述设备执行如权利要求7-11任一项所述方法。
CN201711241562.5A 2017-11-30 2017-11-30 一种基于分布式存储***的分区划分方法及装置 Active CN107943421B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711241562.5A CN107943421B (zh) 2017-11-30 2017-11-30 一种基于分布式存储***的分区划分方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711241562.5A CN107943421B (zh) 2017-11-30 2017-11-30 一种基于分布式存储***的分区划分方法及装置

Publications (2)

Publication Number Publication Date
CN107943421A CN107943421A (zh) 2018-04-20
CN107943421B true CN107943421B (zh) 2021-04-20

Family

ID=61948056

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711241562.5A Active CN107943421B (zh) 2017-11-30 2017-11-30 一种基于分布式存储***的分区划分方法及装置

Country Status (1)

Country Link
CN (1) CN107943421B (zh)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108804568B (zh) * 2018-05-23 2021-07-09 北京奇艺世纪科技有限公司 一种Openstack中副本数据在ceph中存储方法及装置
CN110737924B (zh) * 2018-07-20 2021-07-27 中移(苏州)软件技术有限公司 一种数据保护的方法和设备
CN110865901B (zh) * 2018-08-28 2021-05-04 华为技术有限公司 组建ec条带的方法和装置
CN112417036A (zh) * 2018-09-10 2021-02-26 华为技术有限公司 分布式存储***中处理对象的元数据的方法及装置
CN111176880B (zh) * 2018-11-09 2021-08-13 杭州海康威视***技术有限公司 磁盘分配方法、装置和可读存储介质
CN109814803B (zh) * 2018-12-17 2022-12-09 深圳创新科技术有限公司 一种分布式存储***中容错能力自适应调整方法和装置
CN111367712A (zh) * 2018-12-26 2020-07-03 华为技术有限公司 一种数据处理方法及装置
CN109840051B (zh) * 2018-12-27 2020-08-07 华为技术有限公司 一种存储***的数据存储方法及装置
CN109885256B (zh) * 2019-01-23 2022-07-08 平安科技(深圳)有限公司 一种基于数据分片的数据存储方法、设备及介质
CN110059062B (zh) * 2019-04-22 2020-05-29 苏州浪潮智能科技有限公司 一种文件***的条带设置方法、***及相关组件
CN112214466B (zh) * 2019-07-12 2024-05-14 海能达通信股份有限公司 分布式集群***及数据写入方法、电子设备、存储装置
CN112783419B (zh) * 2019-11-06 2024-05-24 阿里巴巴集团控股有限公司 分布式存储方法及装置、电子设备和存储介质
CN111399766B (zh) * 2020-01-08 2021-10-22 华为技术有限公司 存储***中的数据存储方法、数据读取方法、装置及***
CN113377787B (zh) * 2020-03-10 2024-03-01 阿里巴巴集团控股有限公司 存储管理方法、***、存储管理装置及存储介质
CN111488124A (zh) * 2020-04-08 2020-08-04 深信服科技股份有限公司 一种数据更新方法、装置、电子设备及存储介质
CN112181305B (zh) * 2020-09-30 2024-06-07 北京人大金仓信息技术股份有限公司 数据库集群网络分区选择方法和装置
CN112256204B (zh) * 2020-10-28 2022-06-03 重庆紫光华山智安科技有限公司 存储资源分配方法、装置、存储节点及存储介质
CN112445801B (zh) * 2020-11-27 2024-06-14 杭州海康威视数字技术股份有限公司 数据表的元信息管理方法、装置及存储介质
CN113821176B (zh) * 2021-09-29 2023-07-21 重庆紫光华山智安科技有限公司 一种数据迁移的处理方法、装置及存储介质
CN114527936B (zh) * 2022-01-14 2023-08-08 苏州浪潮智能科技有限公司 一种服务器高性能磁盘分布式存储方法及装置
CN115242819A (zh) * 2022-07-22 2022-10-25 济南浪潮数据技术有限公司 分布式存储的选路方法及相关组件
CN115328880B (zh) * 2022-10-13 2023-03-24 浙江智臾科技有限公司 分布式文件在线恢复方法、***、计算机设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102197372A (zh) * 2008-10-24 2011-09-21 微软公司 已分区的、可缩放的、并且可用的结构化存储中的分区管理
CN103299296A (zh) * 2011-12-22 2013-09-11 华为技术有限公司 一种分布式存储***中分区管理方法、设备及***
CN104823170A (zh) * 2012-11-26 2015-08-05 亚马逊技术股份有限公司 分布式缓存群集管理
CN106662983A (zh) * 2015-12-31 2017-05-10 华为技术有限公司 分布式存储***中的数据重建的方法、装置和***

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050188075A1 (en) * 2004-01-22 2005-08-25 International Business Machines Corporation System and method for supporting transaction and parallel services in a clustered system based on a service level agreement
CN103699494B (zh) * 2013-12-06 2017-03-15 北京奇虎科技有限公司 一种数据存储方法、数据存储设备和分布式存储***
US9612882B2 (en) * 2014-04-30 2017-04-04 International Business Machines Corporation Retrieving multi-generational stored data in a dispersed storage network

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102197372A (zh) * 2008-10-24 2011-09-21 微软公司 已分区的、可缩放的、并且可用的结构化存储中的分区管理
CN103299296A (zh) * 2011-12-22 2013-09-11 华为技术有限公司 一种分布式存储***中分区管理方法、设备及***
CN104823170A (zh) * 2012-11-26 2015-08-05 亚马逊技术股份有限公司 分布式缓存群集管理
CN106662983A (zh) * 2015-12-31 2017-05-10 华为技术有限公司 分布式存储***中的数据重建的方法、装置和***

Also Published As

Publication number Publication date
CN107943421A (zh) 2018-04-20

Similar Documents

Publication Publication Date Title
CN107943421B (zh) 一种基于分布式存储***的分区划分方法及装置
CN108780386B (zh) 一种数据存储的方法、装置和***
CN107844268B (zh) 一种数据分发方法、数据存储方法、相关装置以及***
US8862847B2 (en) Distributed storage method, apparatus, and system for reducing a data loss that may result from a single-point failure
CN110096220B (zh) 一种分布式存储***、数据处理方法和存储节点
CN105630418A (zh) 一种数据存储方法及装置
CN109582213B (zh) 数据重构方法及装置、数据存储***
CN106293492B (zh) 一种存储管理方法及分布式文件***
CN112269661B (zh) 基于Kafka集群的分区迁移方法和装置
US20140351512A1 (en) Capacity expansion method and device
CN108540315A (zh) 分布式存储***、方法和装置
CN112256433B (zh) 基于Kafka集群的分区迁移方法和装置
CN115657960B (zh) 一种磁盘阵列初始化方法、装置、设备及可读存储介质
CN109840051B (zh) 一种存储***的数据存储方法及装置
CN111104057B (zh) 存储***中的节点扩容方法和存储***
CN113535087B (zh) 数据迁移过程中的数据处理方法、服务器及存储***
CN111399761A (zh) 存储资源分配方法、装置及设备、存储介质
CN107943615B (zh) 基于分布式集群的数据处理方法与***
CN112631994A (zh) 数据迁移方法及***
CN109992196B (zh) 索引数据的存储方法及装置、存储***
CN115470041A (zh) 一种数据灾备管理方法及装置
CN112988696B (zh) 文件整理方法、装置及相关设备
CN115292280A (zh) 一种跨区域的数据调度方法、装置、设备及存储介质
CN110865901B (zh) 组建ec条带的方法和装置
CN109151016B (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