CN115167780A - 一种数据重构方法、装置、电子设备及存储介质 - Google Patents

一种数据重构方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN115167780A
CN115167780A CN202210893150.4A CN202210893150A CN115167780A CN 115167780 A CN115167780 A CN 115167780A CN 202210893150 A CN202210893150 A CN 202210893150A CN 115167780 A CN115167780 A CN 115167780A
Authority
CN
China
Prior art keywords
object storage
storage devices
data
preset
read
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
Application number
CN202210893150.4A
Other languages
English (en)
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.)
Jinan Inspur Data Technology Co Ltd
Original Assignee
Jinan Inspur Data 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 Jinan Inspur Data Technology Co Ltd filed Critical Jinan Inspur Data Technology Co Ltd
Priority to CN202210893150.4A priority Critical patent/CN115167780A/zh
Publication of CN115167780A publication Critical patent/CN115167780A/zh
Pending legal-status Critical Current

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/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]
    • 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/0604Improving or facilitating administration, e.g. storage management
    • 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

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

本申请公开了一种数据重构方法、装置、电子设备及存储介质,所属的技术领域为分布式存储技术领域。所述数据重构方法包括:接收数据重构请求,并根据所述数据重构请求确定异常对象存储设备;若所述异常对象存储设备为所述目标对象存储设备的从设备,则确定所述异常对象存储设备对应的备选对象存储设备;确定所有所述备选对象存储设备中预设归置组的数量;根据所述预设归置组的数量从所有所述备选对象存储设备中选取k个待读对象存储设备;对k个所述待读对象存储设备中的数据进行纠删算法的编解码计算,得到恢复数据,并将所述恢复数据发送至新的对象存储设备。本申请能够提高分布式存储集群的数据重构效率。

Description

一种数据重构方法、装置、电子设备及存储介质
技术领域
本申请涉及分布式存储技术领域,特别涉及一种数据重构方法、装置、电子设备及存储介质。
背景技术
分布式存储集群运行过程中,如果有磁盘坏掉,会选出一个新的对象存储设备进行数据重构。为了使新的对象存储设备快速完成数据重构,并尽可能的降低重构对前端业务的影响,在4+2纠删场景下,需要从这个归置组PG的acting成员中选取4个对象存储设备读取数据,进行编解码计算后,再把数据发给新的对象存储设备进行数据写入。
对于当前分布式集群来说,一个对象存储设备上一般承载的归置组数量是100-200个之间,所以当一块对象存储设备故障osd out之后,会给这些归置组重新选择新成员进行数据重构,对于纠删k+m来说,恢复一份数据要从k个对象存储设备上读取数据,但是一个对象存储设备参与恢复的归置组的个数是不均衡的,这样就会造成重构时对象存储设备上的读盘压力不均衡,当重构速度逐渐上升的时候,有些对象存储设备的磁盘压力就持续变为100%,成为性能的瓶颈点。
因此,如何提高分布式存储集群的数据重构效率是本领域技术人员目前需要解决的技术问题。
发明内容
本申请的目的是提供一种数据重构方法、装置、一种电子设备及一种存储介质,能够提高分布式存储集群的数据重构效率。
为解决上述技术问题,本申请提供一种数据重构方法,应用于分布式存储集群的目标对象存储设备,所述数据重构方法包括:
接收数据重构请求,并根据所述数据重构请求确定异常对象存储设备;
若所述异常对象存储设备为所述目标对象存储设备的从设备,则确定所述异常对象存储设备对应的备选对象存储设备;其中,所述备选对象存储设备为纠删算法中所有用于恢复所述异常对象存储设备中数据的对象存储设备;
确定所有所述备选对象存储设备中预设归置组的数量;其中,所述预设归置组为参与数据恢复的归置组;
根据所述预设归置组的数量从所有所述备选对象存储设备中选取k个待读对象存储设备;其中,k个待读对象存储设备中所有预设归置组的平均数量小于所有所述备选对象存储设备中所有预设归置组的平均数量;
对k个所述待读对象存储设备中的数据进行纠删算法的编解码计算,得到恢复数据,并将所述恢复数据发送至新的对象存储设备。
可选的,根据所述预设归置组的数量从所有所述备选对象存储设备中选取k个待读对象存储设备,包括:
计算所有所述备选对象存储设备中所有预设归置组的平均数量A;其中,所有所述备选对象存储设备的数量为k+m-1;
对所述预设归置组的数量大于A的备选对象存储设备进行抽签选择,得到m-1个禁用对象存储设备;
将除了所述禁用对象存储设备之外的k个备选对象存储设备设置为所述待读对象存储设备。
可选的,对所述预设归置组的数量大于A的备选对象存储设备进行抽签选择,得到m-1个禁用对象存储设备,包括:
按照预设规则对所述预设归置组的数量大于A的备选对象存储设备进行抽签选择,得到m-1个禁用对象存储设备;
其中,所述预设规则为:预设归置组的数量与备选对象存储设备被选择为禁用对象存储设备的概率正相关。
可选的,根据所述预设归置组的数量从所有所述备选对象存储设备中选取k个待读对象存储设备,包括:
按照所述预设归置组的数量从小到大的顺序对所述备选对象存储设备进行排序;
将排序前k名的备选对象存储设备设置为所述待读对象存储设备。
可选的,确定所有所述备选对象存储设备中预设归置组的数量,包括:
接收所述分布式存储集群的监控器发送的回应信息,根据所述回应信息确定所有所述备选对象存储设备中预设归置组的数量;
其中,所述监控器用于接收所有对象存储设备发送的归置组状态信息,并对所有所述归置组状态信息进行汇总得到所述回应信息。
可选的,根据所述回应信息确定所有所述备选对象存储设备中预设归置组的数量,包括:
根据所述监控器最近一次发送的回应信息确定所有所述备选对象存储设备中预设归置组的数量。
可选的,在对k个所述待读对象存储设备中的数据进行纠删算法的编解码计算之前,还包括:
若所述目标对象存储设备为所述待读对象存储设备,则向其他k-1个所述待读对象存储设备发送读请求,以便接收其他k-1个所述待读对象存储设备中的数据;
若所述目标对象存储设备不为所述待读对象存储设备,则向k个所述待读对象存储设备发送读请求,以便接收k个所述待读对象存储设备中的数据。
本申请还提供了一种数据重构装置,应用于分布式存储集群的目标对象存储设备,所述数据重构装置包括:
异常设备确定模块,用于接收数据重构请求,并根据所述数据重构请求确定异常对象存储设备;
备选设备确定模块,用于若所述异常对象存储设备为所述目标对象存储设备的从设备,则确定所述异常对象存储设备对应的备选对象存储设备;其中,所述备选对象存储设备为纠删算法中所有用于恢复所述异常对象存储设备中数据的对象存储设备;
归置组数量确定模块,用于确定所有所述备选对象存储设备中预设归置组的数量;其中,所述预设归置组为参与数据恢复的归置组;
筛选模块,用于根据所述预设归置组的数量从所有所述备选对象存储设备中选取k个待读对象存储设备;其中,k个待读对象存储设备中所有预设归置组的平均数量小于所有所述备选对象存储设备中所有预设归置组的平均数量;
恢复模块,用于对k个所述待读对象存储设备中的数据进行纠删算法的编解码计算,得到恢复数据,并将所述恢复数据发送至新的对象存储设备。
本申请还提供了一种存储介质,其上存储有计算机程序,所述计算机程序执行时实现上述数据重构方法执行的步骤。
本申请还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器调用所述存储器中的计算机程序时实现上述数据重构方法执行的步骤。
本申请提供了一种数据重构方法,应用于分布式存储集群的目标对象存储设备,包括:接收数据重构请求,并根据所述数据重构请求确定异常对象存储设备;若所述异常对象存储设备为所述目标对象存储设备的从设备,则确定所述异常对象存储设备对应的备选对象存储设备;其中,所述备选对象存储设备为纠删算法中所有用于恢复所述异常对象存储设备中数据的对象存储设备;确定所有所述备选对象存储设备中预设归置组的数量;其中,所述预设归置组为参与数据恢复的归置组;根据所述预设归置组的数量从所有所述备选对象存储设备中选取k个待读对象存储设备;其中,k个待读对象存储设备中所有预设归置组的平均数量小于所有所述备选对象存储设备中所有预设归置组的平均数量;对k个所述待读对象存储设备中的数据进行纠删算法的编解码计算,得到恢复数据,并将所述恢复数据发送至新的对象存储设备。
本申请在接收到数据重构请求之后,确定异常对象存储设备。若异常对象存储设备为目标对象存储设备的从设备,则确定纠删算法中所有用于恢复所述异常对象存储设备中数据的备选对象存储设备,进而利用备选对象存储设备生成恢复数据。本申请基于各个备选对象存储设备中归置组的数量确定k个参与数据恢复的待读对象存储设备,k个待读对象存储设备中所有预设归置组的平均数量小于所有所述备选对象存储设备中所有预设归置组的平均数量。通过上述方式可以使归置组数量较大的备选对象存储设备参与数据恢复的概率较低,进而提高了分布式存储集群的数据重构效率。本申请同时还提供了一种数据重构装置、一种存储介质和一种电子设备,具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例所提供的一种数据重构方法的流程图;
图2为本申请实施例所提供的一种分布式文件系统数据重构原理示意图;
图3为本申请实施例所提供的一种分布式文件系统数据重构压力均衡的优化方案的流程图;
图4为本申请实施例所提供的一种数据重构装置的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
下面请参见图1,图1为本申请实施例所提供的一种数据重构方法的流程图。
具体步骤可以包括:
S101:接收数据重构请求,并根据所述数据重构请求确定异常对象存储设备;
其中,本实施例可以应用于分布式存储集群的目标对象存储设备,分布式存储集群中可以存在多个对象存储设备OSD(Object-based Storage Device),在分布式存储系统中可以按照k+m纠删算法存储数据,k为数据块的数量,m为校验块的数量,每一数据块或校验块均有其对应的对象存储设备,一个对象存储设备中只存储原数据文件的一个数据块或一个校验块。
当分布式存储集群的某一对象存储设备出现异常(即磁盘坏掉)时,存储系统的监控器可以发起数据重构请求,目标对象存储设备接收到数据重构请求后,可以基于数据重构请求确定异常对象存储设备。
S102:若所述异常对象存储设备为所述目标对象存储设备的从设备,则确定所述异常对象存储设备对应的备选对象存储设备;
其中,k+m纠删算法中存储原数据文件的数据块和校验块的对象存储设备为一个acting成员组,acting成员组包括主设备和从设备,主设备用于在从设备异常后,生成恢复数据。若异常对象存储设备为acting成员组的主设备,则在本步骤之前还可以存在重选确定acting成员组的主设备的操作。进一步的,本实施例可以将acting成员组中除了异常对象存储设备之外的其他对象存储设备设置为备选对象存储设备。上述备选对象存储设备为纠删算法中所有用于恢复所述异常对象存储设备中数据的对象存储设备,即可以利用k个备选对象存储设备中的数据恢复异常对象存储设备中的数据。
S103:确定所有所述备选对象存储设备中预设归置组的数量;
其中,每一备选对象存储设备中均承载有多个预设归置组,预设归置组为参与数据恢复的归置组,各个备选对象存储设备中预设归置组的数量不相同,目标对象存储设备可以确定每一备选对象存储设备中预设归置组的数量。归置组PG(Placement Group)是数据分布的一种逻辑单元。
作为一种可行的实施方式,可以通过以下方式确定所有备选对象存储设备中预设归置组的数量:接收所述分布式存储集群的监控器发送的回应信息,根据所述回应信息确定所有所述备选对象存储设备中预设归置组的数量;其中,所述监控器用于接收所有对象存储设备发送的归置组状态信息,并对所有所述归置组状态信息进行汇总得到所述回应信息。具体的,本步骤中可以根据所述监控器最近一次发送的回应信息确定所有所述备选对象存储设备中预设归置组的数量。
S104:根据所述预设归置组的数量从所有所述备选对象存储设备中选取k个待读对象存储设备;
在k+m纠删算法中,可以使用k个数据块和校验块实现数据恢复,本申请可以从所有所述备选对象存储设备中选取k个待读对象存储设备参与数据恢复。具体的,本实施例可以根据所述预设归置组的数量选取待读对象存储设备,以使k个待读对象存储设备中所有预设归置组的平均数量小于所有所述备选对象存储设备中所有预设归置组的平均数量。具体的,上述每一待读对象存储设备的预设归置组数量的平均值为P1,所有备选对象存储设备中预设归置组的平均值为P2,P1<P2。
S105:对k个所述待读对象存储设备中的数据进行纠删算法的编解码计算,得到恢复数据,并将所述恢复数据发送至新的对象存储设备。
其中,本步骤可以在目标对象存储设备中汇总k个所述待读对象存储设备中的数据,对k个所述待读对象存储设备中的数据进行纠删算法的编解码计算得到恢复数据。在本步骤之前,还可以存在从分布式存储集群中确定新的对象存储设备的操作,进而将上述得到的恢复数据发送至新的对象存储设备,以便完成分布式文件存储集群的数据重构。
本实施例在接收到数据重构请求之后,确定异常对象存储设备。若异常对象存储设备为目标对象存储设备的从设备,则确定纠删算法中所有用于恢复所述异常对象存储设备中数据的备选对象存储设备,进而利用备选对象存储设备生成恢复数据。本实施例基于各个备选对象存储设备中归置组的数量确定k个参与数据恢复的待读对象存储设备,k个待读对象存储设备中所有预设归置组的平均数量小于所有所述备选对象存储设备中所有预设归置组的平均数量。通过上述方式可以使归置组数量较大的备选对象存储设备参与数据恢复的概率较低,进而提高了分布式存储集群的数据重构效率。
作为对于图1对应实施例的进一步介绍,可以通过以下方式选取k个待读对象存储设备:计算所有所述备选对象存储设备中所有预设归置组的平均数量A;对所述预设归置组的数量大于A的备选对象存储设备进行抽签选择,得到m-1个禁用对象存储设备;将除了所述禁用对象存储设备之外的k个备选对象存储设备设置为所述待读对象存储设备。其中,在k+m纠删算法中,同一acting成员组包括k+m个对象存储设备,当acting成员组中出现一个异常对象存储设备时,所有所述备选对象存储设备的数量为k+m-1。
进一步的,可以通过以下方式抽签选择得到m-1个禁用对象存储设备:按照预设规则对所述预设归置组的数量大于A的备选对象存储设备进行抽签选择,得到m-1个禁用对象存储设备;其中,所述预设规则为:预设归置组的数量与备选对象存储设备被选择为禁用对象存储设备的概率正相关。
作为对于图1对应实施例的进一步介绍,还可以通过以下方式选取k个待读对象存储设备:按照所述预设归置组的数量从小到大的顺序对所述备选对象存储设备进行排序;将排序前k名的备选对象存储设备设置为所述待读对象存储设备。
作为对于图1对应实施例的进一步介绍,在对k个所述待读对象存储设备中的数据进行纠删算法的编解码计算之前,还可以存在确定作为主设备的目标对象存储设备是否为参与数据恢复的待读对象存储设备的操作,具体可以存在以下方式接收待读对象存储设备中的数据:
方式1:若所述目标对象存储设备为所述待读对象存储设备,则向除了目标对象存储设备之外的其他k-1个所述待读对象存储设备发送读请求,以便接收其他k-1个所述待读对象存储设备中的数据;
方式2:若所述目标对象存储设备不为所述待读对象存储设备,则向k个所述待读对象存储设备发送读请求,以便接收k个所述待读对象存储设备中的数据。
下面通过在实际应用中的实施例说明上述实施例描述的流程。
请参见图2,图2为本申请实施例所提供的一种分布式文件系统数据重构原理示意图,图2中old1~old6和new2为对象存储设备,在k+m纠删算法中,当old2坏掉后,可以将old3、old4和old5中的数据读取至old1,进而将计算得到的恢复数据写入new2。
当一个对象存储设备坏掉、分布式存储集群开始重构的时候,随着重构速度的提升,会带来以下两个问题:(1)有些对象存储设备重构速度变慢,造成重构拖尾,重构完成的时间变长。(2)由于磁盘压力持续100%,导致前端的读写时延变大,影响了前端业务。
基于上述问题,本发明提出了一种数据恢复压力均衡的优化方案,MON(monitor,分布式存储集群的监控器)统计对象存储设备参与恢复的归置组的个数,然后推送给对象存储设备,对象存储设备在数据重构的时候,根据对象存储设备参与用于恢复数据的归置组个数的权重,权重大的对象存储设备尽量不参与读,平衡对象存储设备间的读写压力,提升重构速度,降低对前端业务的影响。本实施例在接收到数据重构请求之后,确定异常对象存储设备。若异常对象存储设备为目标对象存储设备的从设备,则确定纠删算法中所有用于恢复所述异常对象存储设备中数据的备选对象存储设备,进而利用备选对象存储设备生成恢复数据。本实施例基于各个备选对象存储设备中归置组的数量确定k个参与数据恢复的待读对象存储设备,k个待读对象存储设备中所有预设归置组的平均数量小于所有所述备选对象存储设备中所有预设归置组的平均数量。通过上述方式可以使归置组数量较大的备选对象存储设备参与数据恢复的概率较低,进而提高了分布式存储集群的数据重构效率。
请参见图3,图3为本申请实施例所提供的一种分布式文件系统数据重构压力均衡的优化方案的流程图,本实施例在集群进行重构的时候,利用MON统计OSD参与恢复的PG的个数,然后推送给OSD,OSD在数据重构的时候,根据OSD参与恢复PG个数的权重,权重大的osd尽量不参与读,平衡OSD间的读写压力,提升重构速度,降低对前端业务的影响,上述过程可以包括以下步骤:
S301:OSD定时向MON发送stats(统计)消息,进而把归置组状态信息上报给MON。
S302:MON收到归置组状态信息后,会把各个OSD的信息进行汇总,然后计算出各个OSD参与恢复的归置组的个数,然后给OSD回应消息,把各个OSD参与恢复的归置组的个数的信息发送给OSD。
S303:OSD收到MON的返回的消息后,保存各个OSD参与恢复的归置组的个数
S304:OSD进行数据重构是主OSD进行触发的,OSD会从acting成员中选取k个成员进行数据读的操作,选取成员的时候,计算这些acting成员参与恢复PG个数的权重的平均值,大于平均值的acting成员参与随机抽签算法的抽签选择,权重大的更容易被选中,选出的这个成员不在参与此次的读操作,选好k个成员后,给这K个成员发送读请求。
S305:向选中的shard成员读取数据,然后进行纠删编解码,把数据发送给选出的新成员。主OSD收到读请求后,进行纠删的编解码计算,然后把数据发给新选的成员,进行数据写入,本次恢复结束。
集群在做数据恢复的时候,选取PG的acting成员读取数据的时候,尽量选择参与重构PG个数少的osd进行数据读取。基于此,该专利优点:平衡了数据恢复的时候各个osd之前的压力,提高了重构速度,降低了前端业务时延,提升了用户体验。
请参见图4,图4为本申请实施例所提供的一种数据重构装置的结构示意图,应用于分布式存储集群的目标对象存储设备,所述数据重构装置包括:
异常设备确定模块401,用于接收数据重构请求,并根据所述数据重构请求确定异常对象存储设备;
备选设备确定模块402,用于若所述异常对象存储设备为所述目标对象存储设备的从设备,则确定所述异常对象存储设备对应的备选对象存储设备;其中,所述备选对象存储设备为纠删算法中所有用于恢复所述异常对象存储设备中数据的对象存储设备;
归置组数量确定模块403,用于确定所有所述备选对象存储设备中预设归置组的数量;其中,所述预设归置组为参与数据恢复的归置组;
筛选模块404,用于根据所述预设归置组的数量从所有所述备选对象存储设备中选取k个待读对象存储设备;其中,k个待读对象存储设备中所有预设归置组的平均数量小于所有所述备选对象存储设备中所有预设归置组的平均数量;
恢复模块405,用于对k个所述待读对象存储设备中的数据进行纠删算法的编解码计算,得到恢复数据,并将所述恢复数据发送至新的对象存储设备。
其中,本实施例可以应用于分布式存储集群的目标对象存储设备,分布式存储集群中可以存在多个对象存储设备OSD(Object-based Storage Device),在分布式存储系统中可以按照k+m纠删算法存储数据,k为数据块的数量,m为校验块的数量,每一数据块或校验块均有其对应的对象存储设备,一个对象存储设备中只存储原数据文件的一个数据块或一个校验块。
当分布式存储集群的某一对象存储设备出现异常(即磁盘坏掉)时,存储系统的监控器可以发起数据重构请求,目标对象存储设备接收到数据重构请求后,可以基于数据重构请求确定异常对象存储设备。
k+m纠删算法中存储原数据文件的数据块和校验块的对象存储设备为一个acting成员组,acting成员组包括主设备和从设备,主设备用于在从设备异常后,生成恢复数据。若异常对象存储设备为acting成员组的主设备,则在本步骤之前还可以存在重选确定acting成员组的主设备的操作。进一步的,本实施例可以将acting成员组中除了异常对象存储设备之外的其他对象存储设备设置为备选对象存储设备。上述备选对象存储设备为纠删算法中所有用于恢复所述异常对象存储设备中数据的对象存储设备,即可以利用k个备选对象存储设备中的数据恢复异常对象存储设备中的数据。
其中,每一备选对象存储设备中均承载有多个预设归置组,预设归置组为参与数据恢复的归置组,各个备选对象存储设备中预设归置组的数量不相同,目标对象存储设备可以确定每一备选对象存储设备中预设归置组的数量。归置组PG(Placement Group)是数据分布的一种逻辑单元。
作为一种可行的实施方式,可以通过以下方式确定所有备选对象存储设备中预设归置组的数量:接收所述分布式存储集群的监控器发送的回应信息,根据所述回应信息确定所有所述备选对象存储设备中预设归置组的数量;其中,所述监控器用于接收所有对象存储设备发送的归置组状态信息,并对所有所述归置组状态信息进行汇总得到所述回应信息。具体的,本步骤中可以根据所述监控器最近一次发送的回应信息确定所有所述备选对象存储设备中预设归置组的数量。
在k+m纠删算法中,可以使用k个数据块和校验块实现数据恢复,本申请可以从所有所述备选对象存储设备中选取k个待读对象存储设备参与数据恢复。具体的,本实施例可以根据所述预设归置组的数量选取待读对象存储设备,以使k个待读对象存储设备中所有预设归置组的平均数量小于所有所述备选对象存储设备中所有预设归置组的平均数量。具体的,上述每一待读对象存储设备的预设归置组数量的平均值为P1,所有备选对象存储设备中预设归置组的平均值为P2,P1<P2。
本实施例可以在目标对象存储设备中汇总k个所述待读对象存储设备中的数据,对k个所述待读对象存储设备中的数据进行纠删算法的编解码计算得到恢复数据。在本步骤之前,还可以存在从分布式存储集群中确定新的对象存储设备的操作,进而将上述得到的恢复数据发送至新的对象存储设备,以便完成分布式文件存储集群的数据重构。
本实施例在接收到数据重构请求之后,确定异常对象存储设备。若异常对象存储设备为目标对象存储设备的从设备,则确定纠删算法中所有用于恢复所述异常对象存储设备中数据的备选对象存储设备,进而利用备选对象存储设备生成恢复数据。本实施例基于各个备选对象存储设备中归置组的数量确定k个参与数据恢复的待读对象存储设备,k个待读对象存储设备中所有预设归置组的平均数量小于所有所述备选对象存储设备中所有预设归置组的平均数量。通过上述方式可以使归置组数量较大的备选对象存储设备参与数据恢复的概率较低,进而提高了分布式存储集群的数据重构效率。
进一步的,筛选模块404根据所述预设归置组的数量从所有所述备选对象存储设备中选取k个待读对象存储设备的过程包括:计算所有所述备选对象存储设备中所有预设归置组的平均数量A;其中,所有所述备选对象存储设备的数量为k+m-1;对所述预设归置组的数量大于A的备选对象存储设备进行抽签选择,得到m-1个禁用对象存储设备;将除了所述禁用对象存储设备之外的k个备选对象存储设备设置为所述待读对象存储设备。
进一步的,筛选模块404对所述预设归置组的数量大于A的备选对象存储设备进行抽签选择,得到m-1个禁用对象存储设备的过程包括:按照预设规则对所述预设归置组的数量大于A的备选对象存储设备进行抽签选择,得到m-1个禁用对象存储设备;其中,所述预设规则为:预设归置组的数量与备选对象存储设备被选择为禁用对象存储设备的概率正相关。
进一步的,筛选模块404根据所述预设归置组的数量从所有所述备选对象存储设备中选取k个待读对象存储设备的过程包括:按照所述预设归置组的数量从小到大的顺序对所述备选对象存储设备进行排序;将排序前k名的备选对象存储设备设置为所述待读对象存储设备。
进一步的,归置组数量确定模块403确定所有所述备选对象存储设备中预设归置组的数量的过程包括:接收所述分布式存储集群的监控器发送的回应信息,根据所述回应信息确定所有所述备选对象存储设备中预设归置组的数量;其中,所述监控器用于接收所有对象存储设备发送的归置组状态信息,并对所有所述归置组状态信息进行汇总得到所述回应信息。
进一步的,归置组数量确定模块403根据所述回应信息确定所有所述备选对象存储设备中预设归置组的数量的过程包括:根据所述监控器最近一次发送的回应信息确定所有所述备选对象存储设备中预设归置组的数量。
进一步的,还包括:
读数据模块,用于在对k个所述待读对象存储设备中的数据进行纠删算法的编解码计算之前,若所述目标对象存储设备为所述待读对象存储设备,则向其他k-1个所述待读对象存储设备发送读请求,以便接收其他k-1个所述待读对象存储设备中的数据;还用于若所述目标对象存储设备不为所述待读对象存储设备,则向k个所述待读对象存储设备发送读请求,以便接收k个所述待读对象存储设备中的数据。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
本申请还提供了一种存储介质,其上存有计算机程序,该计算机程序被执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请还提供了一种电子设备,可以包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时,可以实现上述实施例所提供的步骤。当然所述电子设备还可以包括各种网络接口,电源等组件。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (10)

1.一种数据重构方法,其特征在于,应用于分布式存储集群的目标对象存储设备,所述数据重构方法包括:
接收数据重构请求,并根据所述数据重构请求确定异常对象存储设备;
若所述异常对象存储设备为所述目标对象存储设备的从设备,则确定所述异常对象存储设备对应的备选对象存储设备;其中,所述备选对象存储设备为纠删算法中所有用于恢复所述异常对象存储设备中数据的对象存储设备;
确定所有所述备选对象存储设备中预设归置组的数量;其中,所述预设归置组为参与数据恢复的归置组;
根据所述预设归置组的数量从所有所述备选对象存储设备中选取k个待读对象存储设备;其中,k个待读对象存储设备中所有预设归置组的平均数量小于所有所述备选对象存储设备中所有预设归置组的平均数量;
对k个所述待读对象存储设备中的数据进行纠删算法的编解码计算,得到恢复数据,并将所述恢复数据发送至新的对象存储设备。
2.根据权利要求1所述数据重构方法,其特征在于,根据所述预设归置组的数量从所有所述备选对象存储设备中选取k个待读对象存储设备,包括:
计算所有所述备选对象存储设备中所有预设归置组的平均数量A;其中,所有所述备选对象存储设备的数量为k+m-1;
对所述预设归置组的数量大于A的备选对象存储设备进行抽签选择,得到m-1个禁用对象存储设备;
将除了所述禁用对象存储设备之外的k个备选对象存储设备设置为所述待读对象存储设备。
3.根据权利要求2所述数据重构方法,其特征在于,对所述预设归置组的数量大于A的备选对象存储设备进行抽签选择,得到m-1个禁用对象存储设备,包括:
按照预设规则对所述预设归置组的数量大于A的备选对象存储设备进行抽签选择,得到m-1个禁用对象存储设备;
其中,所述预设规则为:预设归置组的数量与备选对象存储设备被选择为禁用对象存储设备的概率正相关。
4.根据权利要求1所述数据重构方法,其特征在于,根据所述预设归置组的数量从所有所述备选对象存储设备中选取k个待读对象存储设备,包括:
按照所述预设归置组的数量从小到大的顺序对所述备选对象存储设备进行排序;
将排序前k名的备选对象存储设备设置为所述待读对象存储设备。
5.根据权利要求1所述数据重构方法,其特征在于,确定所有所述备选对象存储设备中预设归置组的数量,包括:
接收所述分布式存储集群的监控器发送的回应信息,根据所述回应信息确定所有所述备选对象存储设备中预设归置组的数量;
其中,所述监控器用于接收所有对象存储设备发送的归置组状态信息,并对所有所述归置组状态信息进行汇总得到所述回应信息。
6.根据权利要求5所述数据重构方法,其特征在于,根据所述回应信息确定所有所述备选对象存储设备中预设归置组的数量,包括:
根据所述监控器最近一次发送的回应信息确定所有所述备选对象存储设备中预设归置组的数量。
7.根据权利要求1至6任一项所述数据重构方法,其特征在于,在对k个所述待读对象存储设备中的数据进行纠删算法的编解码计算之前,还包括:
若所述目标对象存储设备为所述待读对象存储设备,则向其他k-1个所述待读对象存储设备发送读请求,以便接收其他k-1个所述待读对象存储设备中的数据;
若所述目标对象存储设备不为所述待读对象存储设备,则向k个所述待读对象存储设备发送读请求,以便接收k个所述待读对象存储设备中的数据。
8.一种数据重构装置,其特征在于,应用于分布式存储集群的目标对象存储设备,所述数据重构装置包括:
异常设备确定模块,用于接收数据重构请求,并根据所述数据重构请求确定异常对象存储设备;
备选设备确定模块,用于若所述异常对象存储设备为所述目标对象存储设备的从设备,则确定所述异常对象存储设备对应的备选对象存储设备;其中,所述备选对象存储设备为纠删算法中所有用于恢复所述异常对象存储设备中数据的对象存储设备;
归置组数量确定模块,用于确定所有所述备选对象存储设备中预设归置组的数量;其中,所述预设归置组为参与数据恢复的归置组;
筛选模块,用于根据所述预设归置组的数量从所有所述备选对象存储设备中选取k个待读对象存储设备;其中,k个待读对象存储设备中所有预设归置组的平均数量小于所有所述备选对象存储设备中所有预设归置组的平均数量;
恢复模块,用于对k个所述待读对象存储设备中的数据进行纠删算法的编解码计算,得到恢复数据,并将所述恢复数据发送至新的对象存储设备。
9.一种电子设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器调用所述存储器中的计算机程序时实现如权利要求1至7任一项所述数据重构方法的步骤。
10.一种存储介质,其特征在于,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如权利要求1至7任一项所述数据重构方法的步骤。
CN202210893150.4A 2022-07-27 2022-07-27 一种数据重构方法、装置、电子设备及存储介质 Pending CN115167780A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210893150.4A CN115167780A (zh) 2022-07-27 2022-07-27 一种数据重构方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210893150.4A CN115167780A (zh) 2022-07-27 2022-07-27 一种数据重构方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN115167780A true CN115167780A (zh) 2022-10-11

Family

ID=83496105

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210893150.4A Pending CN115167780A (zh) 2022-07-27 2022-07-27 一种数据重构方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN115167780A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116954523A (zh) * 2023-09-20 2023-10-27 苏州元脑智能科技有限公司 一种存储系统、数据存储方法、数据读取方法和存储介质
CN117608502A (zh) * 2024-01-24 2024-02-27 济南浪潮数据技术有限公司 分布式存储系统的数据重构管理方法、装置、设备及介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116954523A (zh) * 2023-09-20 2023-10-27 苏州元脑智能科技有限公司 一种存储系统、数据存储方法、数据读取方法和存储介质
CN116954523B (zh) * 2023-09-20 2024-01-26 苏州元脑智能科技有限公司 一种存储系统、数据存储方法、数据读取方法和存储介质
CN117608502A (zh) * 2024-01-24 2024-02-27 济南浪潮数据技术有限公司 分布式存储系统的数据重构管理方法、装置、设备及介质

Similar Documents

Publication Publication Date Title
CN115167780A (zh) 一种数据重构方法、装置、电子设备及存储介质
CN110750382B (zh) 用于提高数据修复性能的最小存储再生码编码方法及系统
CN111290699B (zh) 数据迁移方法、装置及系统
CN109189329B (zh) 存储节点权重的调整方法和装置
CN107301090B (zh) 在存储服务器中为应用设置数据处理路径的方法及装置
CN111562884B (zh) 一种数据存储方法、装置及电子设备
CN104917788A (zh) 一种数据存储方法及装置
CN117075821B (zh) 一种分布式存储方法、装置、电子设备及存储介质
CN114721594A (zh) 一种分布式存储方法、装置、设备及机器可读存储介质
CN111444046B (zh) 一种数据恢复方法及分布式数据恢复系统
CN116339644B (zh) 一种独立磁盘冗余阵列创建方法、装置、设备及介质
CN115686382B (zh) 一种数据存储及读取方法
JP2001077813A (ja) ネットワーク情報管理装置とネットワーク情報管理方法およびその処理プログラムを記録した記録媒体
CN112799872B (zh) 一种基于键值对存储系统的纠删码编码方法及装置
CN115344214A (zh) 数据读写方法、装置、服务器和计算机可读存储介质
CN114546265A (zh) 一种快速容量均衡的方法、系统、设备和存储介质
CN109992217B (zh) 一种服务质量控制方法、装置、电子设备和存储介质
CN109151016B (zh) 流量转发方法和装置、服务系统、计算设备及存储介质
CN112463050A (zh) 一种存储系统扩容方法、装置、设备及机器可读存储介质
CN110658994A (zh) 一种基于hdd和ssd混合磁盘阵列的数据处理方法及装置
CN112306750B (zh) 一种分布式文件系统控制数据恢复速度的方法及装置
CN113055495B (zh) 一种数据处理方法、装置及分布式存储系统
CN114281246B (zh) 一种基于云管理平台的云硬盘在线迁移方法、装置、设备
CN115826886B (zh) 追加写模式的数据垃圾回收方法、装置、系统及存储介质
CN114237666A (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