CN117667834B - 存算解耦系统、数据处理方法及存储介质 - Google Patents

存算解耦系统、数据处理方法及存储介质 Download PDF

Info

Publication number
CN117667834B
CN117667834B CN202410136852.7A CN202410136852A CN117667834B CN 117667834 B CN117667834 B CN 117667834B CN 202410136852 A CN202410136852 A CN 202410136852A CN 117667834 B CN117667834 B CN 117667834B
Authority
CN
China
Prior art keywords
data blocks
node
variable
determining
expression
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
CN202410136852.7A
Other languages
English (en)
Other versions
CN117667834A (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.)
Suzhou Metabrain Intelligent Technology Co Ltd
Original Assignee
Suzhou Metabrain Intelligent 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 Suzhou Metabrain Intelligent Technology Co Ltd filed Critical Suzhou Metabrain Intelligent Technology Co Ltd
Priority to CN202410136852.7A priority Critical patent/CN117667834B/zh
Publication of CN117667834A publication Critical patent/CN117667834A/zh
Application granted granted Critical
Publication of CN117667834B publication Critical patent/CN117667834B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • G06F15/7821Tightly coupled to memory, e.g. computational memory, smart memory, processor in memory
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本申请实施例提供了一种存算解耦系统、数据处理方法及存储介质,该系统包括:内存集群和算力集群,内存集群包括第一节点,算力集群包括第四节点,第二节点、第三节点属于内存集群和/或算力集群中的节点,第一节点中存储有第四节点创建的M个数据块;第一节点和/或第四节点,用于确定在M个数据块中分别执行复制操作和执行纠删操作的数据块的第一数量和第二数量;将第一数量的数据块进行复制所得数据存储到第二节点,将第二数量的数据块执行纠删操作所得数据存储到第三节点;在执行复制操作的数据块与执行纠删操作的数据块的两种数量的各种取值组合中,第一数量和第二数量对应的资源消耗参数最小。通过本申请,可以提高数据处理效率。

Description

存算解耦系统、数据处理方法及存储介质
技术领域
本申请实施例涉及计算机领域,具体而言,涉及一种存算解耦系统、数据处理方法及存储介质。
背景技术
在存算解耦系统中,由于计算节点上运行的应用程序依赖于内存节点集群提供的随机存储资源,并通过以太网、PCIE(Peripheral Component Interconnect Express,一种高速串行扩展总线标准)总线等技术进行访问,计算节点容易受到各种故障情形的影响。潜在的内存资源故障包括链路故障、内存节点的独立故障或相关故障、内存资源的移除和损坏等问题。此类问题的出现将导致依赖远程内存节点的计算系统程序奔溃、宕机等问题。针对内存节点故障可能引起的各种算力系统崩溃问题,相关技术中,主要通过远程数据多副本备份、内存数据纠删等技术,对节点的内存数据进行冗余,提升系统可靠性。
然而,内存复制会占用大量内存资源和带宽资源,纠删编码将造成计算资源的损耗,尤其是远程内存集群中的节点具有的CPU(Central Processing Unit,中央处理器)计算能力相对较低,内存复制方式或者内存纠珊方式会导致解耦的计算系统中远程内存数据恢复的时间成本、资源消耗上升,可用性下降。
因此,相关技术中的数据处理方式,存在数据处理的效率较低的问题。
发明内容
本申请实施例提供了一种存算解耦系统、数据处理方法及存储介质,以至少解决相关技术中数据处理方式存在数据处理效率较低的问题。
根据本申请的一个实施例,提供了一种存算解耦系统,包括:内存集群和算力集群,其中,所述内存集群包括第一节点,所述算力集群包括第四节点,第二节点、第三节点属于所述内存集群和/或所述算力集群中的节点;其中,所述第一节点和/或所述第四节点,用于确定在所述M个数据块中待执行复制操作的数据块的第一数量和待执行纠删操作的数据块的第二数量;将对所述M个数据块中所述第一数量的数据块执行复制操作所得到的数据块存储到所述第二节点,将对所述M个数据块中所述第二数量的数据块执行纠删操作所得到的数据块存储到所述第三节点;其中,M等于所述第一数量和所述第二数量之和,在待执行复制操作的数据块的数量与待执行纠删操作的数据块的数量的各种取值组合中,所述第一数量和所述第二数量对应的资源消耗参数最小。
根据本申请的另一个实施例,提供了一种数据处理方法,包括:在确定出待备份的数据块为M个数据块的情况下,确定在所述M个数据块中待执行复制操作的数据块的第一数量和待执行纠删操作的数据块的第二数量,其中,M为大于或等于2的正整数,M等于所述第一数量和所述第二数量之和,在待执行复制操作的数据块的数量与待执行纠删操作的数据块的数量的各种取值组合中,所述第一数量和所述第二数量对应的资源消耗参数最小;对所述M个数据块中所述第一数量的数据块执行所述复制操作,并对执行所述复制操作所得到的数据块执行第一存储操作;对所述M个数据块中所述第二数量的数据块执行所述纠删操作,并对执行所述纠删操作所得到的数据块执行第二存储操作。
根据本申请的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本申请的又一个实施例,还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本申请,采用基于确定出的资源消耗参数最小时,待备份数据中需要进行副本复制的数据块以及需要进行纠删计算的数据块,对待备份数据进行冗余处理的方式,通过在确定出待备份的数据块为M个数据块的情况下,确定在M个数据块中待执行复制操作的数据块的第一数量和待执行纠删操作的数据块的第二数量,其中,M为大于或等于2的正整数,M等于第一数量和第二数量之和,在待执行复制操作的数据块的数量与待执行纠删操作的数据块的数量的各种取值组合中,第一数量和第二数量对应的资源消耗参数最小;对M个数据块中第一数量的数据块执行复制操作,并对执行复制操作所得到的数据块执行第一存储操作;对M个数据块中第二数量的数据块执行纠删操作,并对执行纠删操作所得到的数据块执行第二存储操作,通过确定混合并行多个冗余处理时所对应的资源消耗参数,选择资源消耗参数最小时所对应的多个冗余处理分别对应的数据块的数量,可以保证对待处理数据块进行冗余处理时所需要资源消耗最小,同时,还可以保证在发生内存故障时,可以在资源消耗最小的情况下,基于冗余处理所存储的数据块对发生故障的内存数据进行恢复,从而降低数据处理和数据恢复所需的资源消耗参数,提高数据处理的效率。因此,可以解决相关技术中数据处理方式存在数据处理的效率较低的问题,达到提高数据处理效率的技术效果。
附图说明
图1是根据本申请实施例的一种数据处理方法的硬件环境示意图。
图2是根据本申请实施例的一种数据处理方法的流程示意图。
图3是根据本申请实施例的一种数据处理方法的示意图。
图4是根据本申请实施例的另一种数据处理方法的示意图。
图5是根据本申请实施例的另一种数据处理方法的流程示意图。
图6是根据本申请实施例的一种存算解耦系统架构的示意图。
图7是根据本申请实施例的另一种存算解耦系统架构的示意图。
图8是根据本申请实施例的又一种存算解耦系统架构的示意图。
图9是根据本申请实施例的又一种存算解耦系统架构的示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本申请的实施例。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“目标”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本申请实施例中所提供的方法实施例可以在节点设备或者类似的运算装置中执行。以运行在节点设备上为例,图1是本申请实施例的一种数据处理方法的节点设备的硬件结构框图。如图1所示,节点设备可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,其中,上述节点设备还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述节点设备的结构造成限定。例如,节点设备还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本申请实施例中的数据处理方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至节点设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括节点设备的通信供应方提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种数据处理方法,图2是根据本申请实施例的数据处理方法的流程图,如图2所示,该流程包括如下步骤S202至步骤S206。
步骤S202,在确定出待备份的数据块为M个数据块的情况下,确定在M个数据块中待执行复制操作的数据块的第一数量和待执行纠删操作的数据块的第二数量,其中,M为大于或等于2的正整数,M等于第一数量和第二数量之和,在待执行复制操作的数据块的数量与待执行纠删操作的数据块的数量的各种取值组合中,第一数量和第二数量对应的资源消耗参数最小。
步骤S204,对M个数据块中第一数量的数据块执行复制操作,并对执行复制操作所得到的数据块执行第一存储操作。
步骤S206,对M个数据块中第二数量的数据块执行纠删操作,并对执行纠删操作所得到的数据块执行第二存储操作。
本实施例中的数据处理方法可以应用到对存算解耦系统中的内存数据进行处理的场景。这里,存算解耦系统可以是指将存储和计算两个功能模块解耦,分开部署和管理,以提高系统的灵活性和可靠性。在这种资源解耦分离的数据中心内部,同时存在用来专门处理特定任务的节点,包括CPU计算节点、内存节点、存储节点等。相比于存储、计算等相对成熟的资源解耦技术,内存解耦技术正处于快速发展中。内存资源作为高性能节点的重要组件,与CPU等算力资源间具有高度耦合特性,CPU一般通过专用的片上总线链路从内存中读取数据,并且具有极其严格的时延要求。
然而,在存算解耦系统中,由于计算节点上运行的应用程序依赖于内存节点集群提供的随机存储资源,并通过以太网、PCIE总线等技术进行访问,它们容易受到各种故障情形的影响。潜在的内存资源故障包括链路故障、内存节点的独立故障或相关故障、内存资源的移除和损坏等问题。此类问题的出现将导致依赖远程内存节点的计算系统程序奔溃、宕机等问题。
为了解决故障可能引起的各种算力系统奔溃问题,相关技术中一般通过远程数据多副本备份、内存数据纠删等技术,对节点的内存数据进行冗余,提升系统可靠性。然而,内存复制会占用大量内存资源和带宽资源,纠删编码将造成计算资源的损耗,尤其是远程内存集群中的节点具有的CPU计算能力相对较低,均导致解耦的计算系统中远程内存数据恢复的时间成本、资源消耗上升,可用性下降。
为了至少解决上述部分问题,在本实施例中,对于存算解耦系统中的内存数据,为了避免故障导致的数据损坏,可以在数据创建之后,对数据进行冗余处理。在执行冗余处理之前,可以先对确定当前待备份的数据块的数量,并确定分别执行复制操作的数据块的数量与执行纠删操作的数据块的数量的各种取值组合中、资源消耗参数最小时,复制操作的数据块的数量与执行纠删操作的数据块的数量,即,本实施例中的第一数量和第二数量。本实施例中的冗余处理可以包括复制操作和纠删操作中的至少一个操作。
需要说明的是,上述资源消耗参数可以用于表示对待执行复制操作的数据块执行复制操作以及对应的第一存储操作所消耗的时间、待执行复制操作的数据块所占用的存储空间、以及对待执行纠删操作的数据块执行纠删操作以及对应的第二存储操作所消耗的时间、待执行纠删操作的数据块所占用的存储空间。
在本实施例中,复制操作可以是指对M个数据块中的多个数据块进行复制,第一存储操作可以是指将复制出的副本传输到存算解耦系统中的其他物理节点上进行存储。纠删操作可以是指对M个数据块中的多个数据块进行纠删计算,第二存储操作可以是指将计算得到的纠删块传输到存算解耦系统中的其他物理节点上进行存储。
如图3所示,第一节点上的M个数据块分为两组数据块,第一组数据块(第一数量的数据块)经过复制,得到副本,传输至第二节点,第二组数据块(第二数量的数据块)经过纠删计算,得到纠删块,传输至第三节点。
需要说明的是,上述纠删操作,可以是指对M个数据块中第二数量的数据块进行编码计算,得到K个纠删块,当第二数量的数据块故障时,可以使用纠删块通过对应的重构算法恢复出现故障的第二数量的数据块。
上述编码计算可以是线性代数运算,编码时,基于第一计算参数和第二计算参数,构建第一矩阵(矩阵的行由第一计算参数和第二计算参数之和确定,矩阵的列有第一计算参数确定),并将第二数量的数据块转换为一个第一列向量,将第一矩阵与第一列向量相乘,得到新的列向量,新的列向量中包含此次计算得到的纠删块。对应地,重构算法,即,使用第二数量的数据块中、发生故障后剩下的数据块,结合纠删块,组成第二列向量,将第二列向量与第二矩阵(第一矩阵的逆矩阵)相乘,可以得到与第二数量的数据块对应的第一列向量,从而完成对第二数量的数据块的恢复。这里,第一计算参数可以是第二数量所对应的数值,第二计算参数可以是指定的纠删块的数量的数值。
例如,如图4所示,第一计算参数为5,第二计算参数为3,第一矩阵为矩阵A(8行,5列),第一列向量为列向量D,纠删操作中,将矩阵B与列向量D相乘,得到的乘积为信息列向量D+C,C对应纠删数据块。
可选地,在确定出各种取值组合中、资源消耗参数最小时所对应的第一数量和第二数量之后,还可以基于预设参数对确定出的第一数量和第二数量进行调整,调整后的第一数量和第二数量之和仍为M。预设参数可以是基于历史划分结果确定的,这里的历史划分结果可以是在对上述待处理数据块进行冗余处理之前,对不同内存数据按照相同的并行冗余处理方式时对所选择的不同冗余处理所对应的数据块数量占总数据块数量的比例。此外,预设参数还可以是基于多个历史冗余处理的成功率确定的。
通过上述步骤S202至步骤S206,在确定出待备份的数据块为M个数据块的情况下,确定在M个数据块中待执行复制操作的数据块的第一数量和待执行纠删操作的数据块的第二数量,其中,M为大于或等于2的正整数,M等于第一数量和第二数量之和,在待执行复制操作的数据块的数量与待执行纠删操作的数据块的数量的各种取值组合中,第一数量和第二数量对应的资源消耗参数最小;对M个数据块中第一数量的数据块执行复制操作,并对执行复制操作所得到的数据块执行第一存储操作;对M个数据块中第二数量的数据块执行纠删操作,并对执行纠删操作所得到的数据块执行第二存储操作,可以在保证内存集群数据可靠性的基础上降低数据冗余成本,解决了相关技术中数据处理方式存在数据处理的效率较低的问题。
其中,上述步骤的执行主体可以为节点、终端等,但不限于此。
在一个示例性实施例中,确定在M个数据块中待执行复制操作的数据块的数量为第一数量和待执行纠删操作的数据块的数量为第二数量,包括步骤S11至S12。
S11,在M个数据块中待执行复制操作的数据块的数量为第一变量、待执行纠删操作的数据块的数量为第二变量的情况下,根据第一变量和第二变量,确定资源消耗参数的目标表达式,其中,目标表达式的取值表示资源消耗参数。
S12,在第一变量的取值为第一数量、且第二变量的取值为第二数量时目标表达式的取值最小的情况下,将M个数据块中待执行复制操作的数据块的数量确定为第一数量,并将M个数据块中待执行纠删操作的数据块的数量确定为第二数量。
为了确定资源消耗参数最小时所对应的第一数量和第二数量,在本实施例中,可以基于复制操作和对应存储操作所需要消耗的时间和空间成本,以及纠删操作和对应存储操作所需要消耗的时间和空间成本,构建资源消耗参数的目标表达式。在目标表达式中,变量为复制操作所对应的数据块数量的第一变量和纠删操作所对应的数据块数量的第二变量。
随着第一变量和第二变量的取值的变化,目标表达式的取值也可以发生变化。在第一变量的取值为上述第一数量,第二变量的取值为上述第二数量时,目标表达式的取值最小,则表示资源消耗参数的取值最小。
通过本实施例,基于构建的以两个冗余处理所对应的数据块数量作为变量的表达式,来确定资源消耗参数最小时两个冗余处理分别对应的数据块数量,可以为内存数据确定出综合成本最小的数据冗余策略,并保证故障发生时数据可以准确、快速恢复。
在一个示例性实施例中,在将M个数据块中待执行复制操作的数据块的数量确定为第一数量,并将M个数据块中待执行纠删操作的数据块的数量确定为第二数量之前,上述方法还包括步骤S21至S22。
S21,在待执行复制操作的数据块的数量与待执行纠删操作的数据块的数量的各种取值组合包括N个取值组合、且N个取值组合中的每个取值组合都包括第一变量的取值和第二变量的取值的情况下,在待执行复制操作的数据块的数量和待执行纠删操作的数据块的数量分别为N个取值组合中的每个取值组合时,确定目标表达式的取值,共得到目标表达式的N个取值,其中,N为大于或等于2的正整数。
S22,确定N个取值中的最小值,并将最小值对应的一个取值组合中包括第一变量的取值确定为第一数量,将一个取值组合中包括第二变量的取值确定为第二数量,其中,最小值是在待执行复制操作的数据块的数量和待执行纠删操作的数据块的数量为一个取值组合时目标表达式的取值。
在本实施例中,对于目标表达式的取值最小时第一变量和第二变量的取值,由于第一变量和第二变量的取值之和需要等于M,可以预先确定待执行复制操作的数据块的数量与待执行纠删操作的数据块的数量的各种取值组合,分别基于每种组合中第一变量和第二变量的取值,带入目标表达式中,计算出每组取值组合所对应的资源消耗参数的取值。N种取值组合,对应资源消耗参数的N个取值。
可以直接从N个取值中选择数值最小的取值,并将该取值所对应的取值组合中的两个取值,作为第一数量和第二数量。
可选地,在将M个数据块中待执行复制操作的数据块的数量确定为第一数量,并将M个数据块中待执行纠删操作的数据块的数量确定为第二数量之前,上述方法还包括:在第一变量的取值范围和第二变量的取值范围内,对目标表达式求解最小值,得到目标表达式的取值为最小值时第一变量的取值和第二变量的取值,并将目标表达式的取值为最小值时第一变量的取值确定为第一数量,将目标表达式的取值为最小值时第二变量的取值确定为第二数量,其中,最小值是在第一变量的取值为第一数量和第二变量的取值为第二数量时目标表达式的取值。
考虑到M越大,取值组合的数量越多,为了缩短计算时间,在本实施例中,在确定第一数量和第二数量时,可以通过对目标表达式进行求解,即将目标表达式看做一个目标函数,通过对目标函数进行求解,得到目标表达式的取值最小时第一变量和第二变量的取值(即,第一数量和第二数量)。
在目标函数中,可以设定第一变量的取值范围和第二变量的取值范围,对目标函数的求解,可以看做混合整数非线性规划问题,为NP-hard(Non-deterministicPolynomial-hard,非确定性多项式困难)问题,可以采用商业求解器、分支定界等方法对其进行近似求解,本实施例在此不做赘述。
通过本实施例,在待备份的数据块的数量较小时,可以先确定取值组合,再计算每个取值组合所对应的目标表达式的取值,从而选择表达式取值最小时的第一变量和第二变量的取值,保证计算的准确性,在待备份的数据块的数量较大时,可以直接对目标表达式进行求解,根据求解的数值确定表达式取值最小时的第一变量和第二变量的取值,保证计算效率。
在一个示例性实施例中,根据第一变量和第二变量,确定资源消耗参数的目标表达式,包括步骤S31至S33。
S31,根据第一变量确定第一表达式,并根据第一变量确定第二表达式,其中,第一表达式用于表示对待执行复制操作的数据块执行复制操作和第一存储操作所消耗的时间,第二表达式用于表示待执行复制操作的数据块所占用的存储空间。
S32,根据第二变量和第三变量确定第三表达式,并根据第三变量确定第四表达式,其中,第三表达式用于表示对待执行纠删操作的数据块执行纠删操作和第二存储操作所消耗的时间,第四表达式用于表示待执行纠删操作的数据块所占用的存储空间,第三变量用于表示对数量为第二变量的数据块执行纠删操作所得到的数据块的数量。
S33,根据第一表达式、第二表达式、第三表达式和第四表达式,确定目标表达式。
在本实施例中,目标表达式可以是由多个表达式确定的,多个表达式中可以分别包括与复制操作所对应的表达式,以及纠删操作所对应的表达式。
由于复制操作包括复制操作和第一存储操作,与复制操作对应的表达式可以包括与对待执行复制操作的数据块执行复制操作以及存储操作所消耗的时间,以及待执行复制操作的数据块所占用的存储空间所对应的表达式。
对应地,由于纠删操作包括纠删操作和第一存储操作,与纠删操作对应的表达式可以包括与对待执行纠删操作的数据块执行纠删操作以及存储操作所消耗的时间,待执行纠删操作的数据块所占用的存储空间,以及对数量为第二变量的数据块执行纠删操作所得到的数据块的数量所对应的表达式。
通过本实施例,先分别确定不同冗余处理所对应的表达式,再基于多个表达式,得到并行冗余策略所对应的目标表达式,可以提高确定目标表达式的效率。
在一个示例性实施例中,根据第一变量确定第一表达式,包括步骤S41。
S41,根据第一变量、数据块的目标大小和第一传输速度,确定第一表达式,其中,数据块的目标大小是M个数据块的平均大小或者M个数据块中的一个数据块的大小,第一传输速度是在执行复制操作所得到的数据块所在的节点与第二节点之间传输数据的速度,第一存储操作用于将执行复制操作所得到的数据块存储到第二节点上。
可选地,根据第一变量、数据块的目标大小和第一传输速度,确定第一表达式,包括:将第一表达式确定为,其中,dtr(Mr)=Mr*bs/B1,Mr表示第一变量,bs表示数据块的目标大小,B1表示第一传输速度。
需要说明的是,B1表示内存集群中的两个物理节点间的链路数据传输能力(即上述第一传输速度)。dtr(Mr)表示将数据从执行复制操作所得到的数据块所在的当前节点传输到第二节点上的数据传输时间。上述第一表达式表示将数据传输时间映射到的[0,1]区间。
可选地,根据第一变量确定第二表达式,包括:根据第一变量和目标剩余数量,确定第二表达式,其中,目标剩余数量用于表示多个节点中允许存储的数据块的最大数量的平均值。
需要说明的是,上述目标剩余数量,即内存集群中各个节点平均最大剩余数据块存储空间数量,表示当前整个系统中可用存储空间水平。
可选地,根据第一变量和目标剩余数量,确定第二表达式,包括:将第二表达式确定为,其中,Mr表示第一变量,/>表示目标剩余数量。
需要说明的是,第一表达式和第二表达式之和,可以是复制操作所对应的资源消耗参数,即,
通过第一表达式和第二表达式,可以确定复制操作所对应的资源消耗参数,与物理节点间的传输能力以及数据空间占用比例相关,资源消耗参数的取值越小,表示对当前数据进行复制的时间和空间成本越低。
在一个示例性实施例中,根据第二变量和第三变量确定第三表达式,包括步骤S51。
S51,根据第二变量、第三变量、对数量为第二变量的数据块执行纠删操作所得到的数据块中的每个数据块的大小、第二传输速度以及目标处理频率,确定第三表达式,其中,第二传输速度是在执行纠删操作所得到的数据块所在的节点与第三节点之间传输数据的速度,第二存储操作用于将执行纠删操作所得到的数据块存储到第三节点上,目标处理频率用于表示执行纠删操作所得到的数据块所在的节点上的处理器处理数据的频率。
需要说明的是,上述第二传输速度与前述第一传输速度的描述类似,本实施例在此不做赘述。上述目标处理频率可以表示CPU的计算能力。
可选地,根据第二变量、第三变量、对数量为第二变量的数据块执行纠删操作所得到的数据块中的每个数据块的大小、第二传输速度以及目标处理频率,确定第三表达式,包括:将第三表达式确定为,其中,,其中,Me表示第二变量,K表示第三变量,bsk表示对数量为第二变量的数据块执行纠删操作所得到的数据块中的第k个数据块的大小,B2表示第二传输速度,fcpu表示目标处理频率,W为预设的系数。
需要说明的是,上述dcal(Me)表示数据块Me在计算能力为fcpu的节点上进行纠删处理时产生的时延,W为处理单位数据块的预设系数。上述表示将K个纠删块分别发送至其他物理节点上产生的最大传输延迟。上述第三表达式表示将/>映射到[0,1]区间。
可选地,根据第三变量确定第四表达式,包括:
根据第三变量和目标剩余数量,确定第四表达式,其中,目标剩余数量用于表示多个节点中允许存储的数据块的最大数量的平均值。
可选地,根据第三变量和目标剩余数量,确定第四表达式,包括:将第四表达式确定为,其中,K表示第三变量,/>表示目标剩余数量。
需要说明的是,第三表达式和第四表达式之和,可以是纠删操作所对应的资源消耗参数,即,
通过第三表达式和第四表达式,可以确定纠删操作所对应的资源消耗参数,不仅与纠删策略产生的计算和传输时间成本相关,还与数据扩增规模(即纠删操作得到的数据块的数量)相关。
可选地,根据第一表达式、第二表达式、第三表达式和第四表达式,确定目标表达式,包括:将目标表达式确定为等于对第一表达式、第二表达式、第三表达式和第四表达式执行相加操作所得到的表达式。
在本实施例中,目标表达式为
对应地,前述实施例中的目标函数可以是
在一个示例性实施例中,在M个数据块在第一节点中的情况下,对M个数据块中第一数量的数据块执行复制操作,并对执行复制操作所得到的数据块执行第一存储操作,包括:由第一节点对M个数据块中第一数量的数据块执行复制操作,并将执行复制操作所得到的数据块存储到第二节点中。
对M个数据块中第二数量的数据块执行纠删操作,并对执行纠删操作所得到的数据块执行第二存储操作,包括:由第一节点对M个数据块中第二数量的数据块执行纠删操作,并将执行纠删操作所得到的数据块存储到第三节点中。
其中,第二节点与第一节点不同,第三节点与第一节点不同。
本实施例中的各个节点可以是存算解耦系统中的节点,节点可以是指服务器,存算解耦系统可以由算力集群和内存集群组成,即,存算解耦系统中可以包括内存服务器集群和算力服务器集群。内存服务器集群中的各个服务器主要用于存储数据,算力服务器集群中的各个服务器主要用于进行数据处理和对应的计算操作。但是,对于计算量较小的计算操作,也可以由内存服务器集群中的服务器来进行。
因此,在本实施例中,对于第一节点上的M个数据块,可以由计算能力较强的算力服务器中的服务器(如,第四节点)来确定第一数量和第二数量。复制操作及其第一存储操作,以及计算量较小的纠删操作及其第二存储操作,可以由存储M个数据块的第一节点来进行。
可选地,在M个数据块在第一节点中的情况下,对M个数据块中第一数量的数据块执行复制操作,并对执行复制操作所得到的数据块执行第一存储操作,包括:由第一节点对M个数据块中第一数量的数据块执行复制操作,并将执行复制操作所得到的数据块存储到第二节点中。
对M个数据块中第二数量的数据块执行纠删操作,并对执行纠删操作所得到的数据块执行第二存储操作,包括:由第四节点获取M个数据块中第二数量的数据块,并对M个数据块中第二数量的数据块执行纠删操作,将执行纠删操作所得到的数据块存储到第三节点中;其中,第二节点与第一节点不同,第三节点与第一节点不同。
可选地,在M个数据块在第一节点中的情况下,对M个数据块中第一数量的数据块执行复制操作,并对执行复制操作所得到的数据块执行第一存储操作,包括:由第四节点获取M个数据块,并对M个数据块中第一数量的数据块执行复制操作,并将执行复制操作所得到的数据块存储到第二节点中。
对M个数据块中第二数量的数据块执行纠删操作,并对执行纠删操作所得到的数据块执行第二存储操作,包括:由第四节点对M个数据块中第二数量的数据块执行纠删操作,将执行纠删操作所得到的数据块存储到第三节点中;其中,第二节点与第一节点不同,第三节点与第一节点不同。
在本实施例中,复制操作及其第一存储操作,和/或计算量较小的纠删操作及其第二存储操作,也可以由算力服务器集群中的第四节点来进行,但第四节点需要先从第一节点中获取到相应的数据块,才可以进行对应的操作。
需要说明的是,在由第四节点进行复制操作及其第一存储操作,和/或计算量较小的纠删操作及其第二存储操作,对于综合成本的计算,还可以加入数据块从第一节点传输到第四节点所需要消耗的时间和空间成本。
需要说明的是,上述第二节点可以作为存算解耦系统中的计算节点,也可以作为存算解耦系统中的内存节点,即,复制操作得到的副本,可以存储在计算节点中,也可以存储在内存节点中。第二节点和第一节点可以是物理上分离的两个节点,分别作为存算解耦系统内的两个物理节点。
在本实施例中,存储纠删块的第三节点可以是与前述第二节点不同的节点,也可以与第二节点为同一个节点。
第三节点可以作为存算解耦系统中的计算节点,也可以作为存算解耦系统中的内存节点,即,纠删操作得到的纠删块,可以存储在计算节点中,也可以存储在内存节点中。纠删操作和第二存储操作也可以是第一节点执行的。而由于第三节点可以与第一节点不同(即,第三节点可以是与第一节点物理上分离的节点),纠删块可以是在计算节点处理的并存储在另一计算节点,也可以是在内存节点处理并存储在计算节点,还可以是在计算节点处理并存储在内存节点,还可以是在内存节点处理并存储在另一内存节点。
可选地,由于纠删操作不同于复制操作,纠删操作涉及到计算过程,在第一节点不是计算节点的情况下,执行纠删操作的节点,可以是作为计算节点的第四节点。但因为M个数据块存储在第一节点中,因此,在进行纠删操作之前,第四节点需要先获取到的M个数据块中待执行纠删操作的数据块,对应地,纠删块可以是从第四节点中传输到第三节点的。
通过本实施例,将冗余处理得到的数据块存储到另一节点中,可以在原始数据块所在节点发生故障时,不受故障影响,并为受损数据块的恢复提供依据,从而保证计算系统程序的正常运行。
在一个示例性实施例中,在确定在M个数据块中待执行复制操作的数据块的数量为第一数量和待执行纠删操作的数据块的数量为第二数量之前,上述方法还包括步骤S61。
S61,在第一节点的内存空间中创建了M个数据块的情况下,确定待备份的数据块为M个数据块,其中,M个数据块为第四节点创建的、且第一节点的内存空间为第四节点的远程内存空间。
在本实施例中,第一节点的内存空间也可以是第四节点创建的,第四节点作为存算解耦系统中的计算节点,第一节点作为存算解耦系统中的内存节点,对应地,M个数据块也可以是第四节点存入第一节点的内存空间的。
可选地,第一节点的内存空间可以是第一节点创建的,M个数据块可以是第一节点存入的。
通过本实施例,待备份的数据块可以是内存节点创建并存入的,也可以是计算节点创建并存入内存节点,可以保证在存算解耦系统中,所有内存数据都可以经过冗余处理,从而保证内存资源访问的可靠性。
下面结合可选示例对本申请实施例中的数据处理方法进行解释说明。本可选示例中提供了一种存算解耦系统的故障处理方法,针对现有存算解耦体系架构中发生内存故障时数据恢复成本高,时间、资源效率低等问题,从性能和成本平衡的角度,构建了一种多种冗余策略并行的故障处理架构,通过对不同故障恢复策略的实施成本进行建模,构建面向内存数据的混合并行故障恢复机制,可以有效提升远程内存资源故障处理的效率,降低故障恢复时长及其对资源的消耗。
本可选示例中的数据处理方法的流程可以如图5所示。
步骤1,对需要冗余的目标数据的大小进行统计。
步骤2,计算副本、纠删的综合成本。
复制策略综合成本Rrep(M)为,复制策略综合成本Rrep与物理结点间的传输能力以及数据空间占用规模相关;
纠删策略则将数据块进行扩展,形成M+K个数据块,其中,K个数据块为基于计算生成得到的新数据,并将其发送至物理分离的节点中,相应的综合成本Rera(M,K)计算方式为,Rera不仅与纠删策略产生的计算和传输时间成本相关,还与数据扩增规模K相关。
在需要冗余的目标数据的大小为M个数据块时,进行复制的数据块数量为,进行纠删的数据块数量为/>,则对M块数据进行多维度冗余的成本收益,即,综合成本为
步骤3,将目标数据分割为两部分。
步骤4,分别执行副本复制、纠删计算,并将对应数据传输至其他物理节点上保存。
当本地数据发生故障时,将副本数据回传本地进行恢复,同时将纠删数据进行计算,并恢复出丢失的数据部分,实现完整的数据恢复能力。
通过本可选示例,能够为大规模存算解耦系统提供高可靠和低成本的数据冗余策略生成框架,促进内存与算力等资源的解耦。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,节点,或者网络设备等)执行本申请各个实施例的方法。
在本实施例中还提供了一种存算解耦系统,该系统用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述,该系统包括:
内存集群和算力集群,其中,内存集群包括第一节点,算力集群包括第四节点,第二节点、第三节点属于内存集群和/或算力集群中的节点;其中,第一节点和/或第四节点,用于确定在M个数据块中待执行复制操作的数据块的第一数量和待执行纠删操作的数据块的第二数量;将对M个数据块中第一数量的数据块执行复制操作所得到的数据块存储到第二节点,将对M个数据块中第二数量的数据块执行纠删操作所得到的数据块存储到第三节点;其中,M等于第一数量和第二数量之和,在待执行复制操作的数据块的数量与待执行纠删操作的数据块的数量的各种取值组合中,第一数量和第二数量对应的资源消耗参数最小。
以集群为服务器集群,节点为服务器为例,如图6所示,第四节点为算力服务器集群中的一个服务器,可以访问内存服务器集群中对应的远程内存空间,第一节点可以是内存服务器集群中的一个服务器,即,第四节点的所访问的远程内存空间可以位于第一节点上。远程内存空间内的内存数据(M个数据块)可以分为两部分,一部分内存数据(即,第一数量的数据块)被复制到第二节点上,另一部分内存数据(即,第二数量的数据块)经过纠删计算处理,得到K个纠删块,K个纠删块可以被传输到第三节点上。第二节点和第三节点可以为内存服务器集群中的服务器,也可以是算力服务器集群中的服务器。对应地,在第一节点上的内存数据发送故障后,可以直接从第二节点和第三节点中获取复制副本和/或纠删块,从而实现对内存数据的恢复。
在一个示例性实施例中,第四节点,用于确定在M个数据块中待执行复制操作的数据块的第一数量和待执行纠删操作的数据块的第二数量,并将第一数量和第二数量发送至第一节点;第一节点,用于对M个数据块中第一数量的数据块执行复制操作,并将执行复制操作所得到的数据块存储到第二节点;对M个数据块中第二数量的数据块执行纠删操作,并将执行纠删操作所得到的数据块存储到第三节点,其中,第二节点和第三节点为同一个节点,或者,第二节点和第三节点为不同的节点。
以集群为服务器集群,节点为服务器为例,如图7所示,可以由第四节点通过计算,确定其远程内存空间内的内存数据(M个数据块)需要分为两部分时,每部分的数据块数量(即,第一数量和第二数量),并将传输给第一节点。第一节点将M个数据块中第一数量的内存数据复制到第二节点上,将M个数据块中第二数量的内存数据经过纠删计算处理,得到K个纠删块,并将K个纠删块传输到第三节点上。
在一个示例性实施例中,第四节点,用于确定在M个数据块中待执行复制操作的数据块的第一数量和待执行纠删操作的数据块的第二数量,并将第一数量发送至第一节点;第一节点,用于对M个数据块中第一数量的数据块执行复制操作,并将执行复制操作所得到的数据块存储到第二节点;第四节点,还用于获取M个数据块中第二数量的数据块,并对M个数据块中第二数量的数据块执行纠删操作,并将执行纠删操作所得到的数据块存储到第三节点;其中,第二节点和第三节点为同一个节点,或者,第二节点和第三节点为不同的节点。
以集群为服务器集群,节点为服务器为例,如图8所示,可以由第四节点通过计算,确定其远程内存空间内的内存数据(M个数据块)需要分为两部分时,每部分的数据块数量(即,第一数量和第二数量),由于复制操作不涉及计算处理,而纠删操作需要进行计算,可以由第一节点将M个数据块中第一数量的内存数据复制到第二节点上,但由第四节点从第一节点中获取M个数据块中第二数量的内存数据,并对其进行纠删计算处理,得到K个纠删块,将K个纠删块传输到第三节点上。
在一个示例性实施例中,第四节点,用于确定在M个数据块中待执行复制操作的数据块的第一数量和待执行纠删操作的数据块的第二数量;第四节点,还用于从第一节点中获取M个数据块;对M个数据块中第一数量的数据块执行复制操作,并对执行复制操作所得到的数据块存储到第二节点;对M个数据块中第二数量的数据块执行纠删操作,并将执行纠删操作所得到的数据块存储到第三节点,其中,第二节点和第三节点为同一个节点,或者,第二节点和第三节点为不同的节点。
以集群为服务器集群,节点为服务器为例,如图9所示,可以由第四节点通过计算,确定其远程内存空间内的内存数据(M个数据块)需要分为两部分时,每部分的数据块数量(即,第一数量和第二数量),并由第四节点将M个数据块中第一数量的内存数据复制到第二节点上,并将M个数据块中第二数量的内存数据进行纠删计算处理,得到K个纠删块,将K个纠删块传输到第三节点上。但第四节点需要先从第一节点中获取M个数据块,才能开始进行复制和纠删等相关操作。
在一个示例性实施例中,第四节点,还用于在M个数据块中待执行复制操作的数据块的数量为第一变量、待执行纠删操作的数据块的数量为第二变量的情况下,根据第一变量和第二变量,确定资源消耗参数的目标表达式,其中,目标表达式的取值表示资源消耗参数;在第一变量的取值为第一数量、且第二变量的取值为第二数量时目标表达式的取值最小的情况下,将M个数据块中待执行复制操作的数据块的数量确定为第一数量,并将M个数据块中待执行纠删操作的数据块的数量确定为第二数量。
在一个示例性实施例中,第四节点,还用于在将M个数据块中待执行复制操作的数据块的数量确定为第一数量,并将M个数据块中待执行纠删操作的数据块的数量确定为第二数量之前,在待执行复制操作的数据块的数量与待执行纠删操作的数据块的数量的各种取值组合包括N个取值组合、且N个取值组合中的每个取值组合都包括第一变量的取值和第二变量的取值的情况下,在待执行复制操作的数据块的数量和待执行纠删操作的数据块的数量分别为N个取值组合中的每个取值组合时,确定目标表达式的取值,共得到目标表达式的N个取值,其中,N为大于或等于2的正整数;确定N个取值中的最小值,并将最小值对应的一个取值组合中包括第一变量的取值确定为第一数量,将一个取值组合中包括第二变量的取值确定为第二数量,其中,最小值是在待执行复制操作的数据块的数量和待执行纠删操作的数据块的数量为一个取值组合时目标表达式的取值。
在一个示例性实施例中,第四节点,还用于在将M个数据块中待执行复制操作的数据块的数量确定为第一数量,并将M个数据块中待执行纠删操作的数据块的数量确定为第二数量之前,在第一变量的取值范围和第二变量的取值范围内,对目标表达式求解最小值,得到目标表达式的取值为最小值时第一变量的取值和第二变量的取值,并将目标表达式的取值为最小值时第一变量的取值确定为第一数量,将目标表达式的取值为最小值时第二变量的取值确定为第二数量,其中,最小值是在第一变量的取值为第一数量和第二变量的取值为第二数量时目标表达式的取值。
在一个示例性实施例中,第四节点,还用于根据第一变量确定第一表达式,并根据第一变量确定第二表达式,其中,第一表达式用于表示对待执行复制操作的数据块执行复制操作和第一存储操作所消耗的时间,第二表达式用于表示待执行复制操作的数据块所占用的存储空间;根据第二变量和第三变量确定第三表达式,并根据第三变量确定第四表达式,其中,第三表达式用于表示对待执行纠删操作的数据块执行纠删操作和第二存储操作所消耗的时间,第四表达式用于表示待执行纠删操作的数据块所占用的存储空间,第三变量用于表示对数量为第二变量的数据块执行纠删操作所得到的数据块的数量;根据第一表达式、第二表达式、第三表达式和第四表达式,确定目标表达式。
在一个示例性实施例中,第四节点,还用于根据第一变量、数据块的目标大小和第一传输速度,确定第一表达式,其中,数据块的目标大小是M个数据块的平均大小或者M个数据块中的一个数据块的大小,第一传输速度是在执行复制操作所得到的数据块所在的节点与第二节点之间传输数据的速度,第一存储操作用于将执行复制操作所得到的数据块存储到第二节点上。
在一个示例性实施例中,第四节点,还用于将第一表达式确定为,其中,dtr(Mr)=Mr*bs/B1,Mr表示第一变量,bs表示数据块的目标大小,B1表示第一传输速度。
在一个示例性实施例中,第四节点,还用于根据第一变量和目标剩余数量,确定第二表达式,其中,目标剩余数量用于表示多个节点中允许存储的数据块的最大数量的平均值。
在一个示例性实施例中,第四节点,还用于将第二表达式确定为,其中,Mr表示第一变量,/>表示目标剩余数量。
在一个示例性实施例中,第四节点,还用于根据第二变量、第三变量、对数量为第二变量的数据块执行纠删操作所得到的数据块中的每个数据块的大小、第二传输速度以及目标处理频率,确定第三表达式,其中,第二传输速度是在执行纠删操作所得到的数据块所在的节点与第三节点之间传输数据的速度,第二存储操作用于将执行纠删操作所得到的数据块存储到第三节点上,目标处理频率用于表示执行纠删操作所得到的数据块所在的节点上的处理器处理数据的频率。
在一个示例性实施例中,第四节点,还用于将第三表达式确定为,其中,/>,其中,Me表示第二变量,K表示第三变量,bsk表示对数量为第二变量的数据块执行纠删操作所得到的数据块中的第k个数据块的大小,B2表示第二传输速度,fcpu表示目标处理频率,W为预设的系数。
在一个示例性实施例中,第四节点,还用于根据第三变量和目标剩余数量,确定第四表达式,其中,目标剩余数量用于表示多个节点中允许存储的数据块的最大数量的平均值。
在一个示例性实施例中,第四节点,还用于将第四表达式确定为,其中,K表示第三变量,/>表示目标剩余数量。
在一个示例性实施例中,第四节点,还用于将目标表达式确定为等于对第一表达式、第二表达式、第三表达式和第四表达式执行相加操作所得到的表达式。
在一个示例性实施例中,第一节点,还用于在确定在M个数据块中待执行复制操作的数据块的数量为第一数量和待执行纠删操作的数据块的数量为第二数量之前,在第一节点的内存空间中创建了M个数据块的情况下,确定待备份的数据块为M个数据块,其中,M个数据块为第四节点创建的、且第一节点的内存空间为第四节点的远程内存空间。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本申请的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本申请的实施例还提供了一种电子设备,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述电子设备还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
以上仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (18)

1.一种存算解耦系统,其特征在于,
包括:内存集群和算力集群,其中,所述内存集群包括第一节点,所述算力集群包括第四节点,第二节点、第三节点属于所述内存集群和/或所述算力集群中的节点,所述第一节点中存储有所述第四节点创建的M个数据块;
其中,所述第一节点和/或所述第四节点,用于确定在所述M个数据块中待执行复制操作的数据块的第一数量和待执行纠删操作的数据块的第二数量;将对所述M个数据块中所述第一数量的数据块执行复制操作所得到的数据块存储到所述第二节点,将对所述M个数据块中所述第二数量的数据块执行纠删操作所得到的数据块存储到所述第三节点;
所述第四节点,还用于在所述M个数据块中待执行所述复制操作的数据块的数量为第一变量、待执行所述纠删操作的数据块的数量为第二变量的情况下,根据所述第一变量和所述第二变量,确定资源消耗参数的目标表达式,其中,所述目标表达式的取值表示所述资源消耗参数;在所述第一变量的取值为所述第一数量、且所述第二变量的取值为所述第二数量时所述目标表达式的取值最小的情况下,将所述M个数据块中待执行所述复制操作的数据块的数量确定为所述第一数量,并将所述M个数据块中待执行所述纠删操作的数据块的数量确定为所述第二数量;
其中,M等于所述第一数量和所述第二数量之和,在待执行复制操作的数据块的数量与待执行纠删操作的数据块的数量的各种取值组合中,所述第一数量和所述第二数量对应的资源消耗参数最小。
2.根据权利要求1所述的系统,其特征在于,
所述第四节点,用于确定在所述M个数据块中待执行复制操作的数据块的第一数量和待执行纠删操作的数据块的第二数量,并将所述第一数量和所述第二数量发送至所述第一节点;
所述第一节点,用于对所述M个数据块中所述第一数量的数据块执行复制操作,并将执行所述复制操作所得到的数据块存储到所述第二节点;对所述M个数据块中所述第二数量的数据块执行纠删操作,并将执行所述纠删操作所得到的数据块存储到所述第三节点,其中,所述第二节点和所述第三节点为同一个节点,或者,所述第二节点和所述第三节点为不同的节点。
3.根据权利要求1所述的系统,其特征在于,
所述第四节点,用于确定在所述M个数据块中待执行复制操作的数据块的第一数量和待执行纠删操作的数据块的第二数量,并将所述第一数量发送至所述第一节点;
所述第一节点,用于对所述M个数据块中所述第一数量的数据块执行复制操作,并将执行所述复制操作所得到的数据块存储到所述第二节点;
所述第四节点,还用于获取所述M个数据块中所述第二数量的数据块,并对所述M个数据块中所述第二数量的数据块执行纠删操作,并将执行所述纠删操作所得到的数据块存储到所述第三节点;
其中,所述第二节点和所述第三节点为同一个节点,或者,所述第二节点和所述第三节点为不同的节点。
4.根据权利要求1所述的系统,其特征在于,
所述第四节点,用于确定在所述M个数据块中待执行复制操作的数据块的第一数量和待执行纠删操作的数据块的第二数量;
所述第四节点,还用于从所述第一节点中获取所述M个数据块;对所述M个数据块中所述第一数量的数据块执行复制操作,并对执行所述复制操作所得到的数据块存储到所述第二节点;对所述M个数据块中所述第二数量的数据块执行纠删操作,并将执行所述纠删操作所得到的数据块存储到所述第三节点,其中,所述第二节点和所述第三节点为同一个节点,或者,所述第二节点和所述第三节点为不同的节点。
5.一种数据处理方法,其特征在于,
包括:
在确定出待备份的数据块为M个数据块的情况下,确定在所述M个数据块中待执行复制操作的数据块的第一数量和待执行纠删操作的数据块的第二数量,其中,M为大于或等于2的正整数,M等于所述第一数量和所述第二数量之和,在待执行复制操作的数据块的数量与待执行纠删操作的数据块的数量的各种取值组合中,所述第一数量和所述第二数量对应的资源消耗参数最小;
对所述M个数据块中所述第一数量的数据块执行所述复制操作,并对执行所述复制操作所得到的数据块执行第一存储操作;
对所述M个数据块中所述第二数量的数据块执行所述纠删操作,并对执行所述纠删操作所得到的数据块执行第二存储操作;
其中,所述确定在所述M个数据块中待执行复制操作的数据块的数量为第一数量和待执行纠删操作的数据块的数量为第二数量,包括:在所述M个数据块中待执行所述复制操作的数据块的数量为第一变量、待执行所述纠删操作的数据块的数量为第二变量的情况下,根据所述第一变量和所述第二变量,确定所述资源消耗参数的目标表达式,其中,所述目标表达式的取值表示所述资源消耗参数;在所述第一变量的取值为所述第一数量、且所述第二变量的取值为所述第二数量时所述目标表达式的取值最小的情况下,将所述M个数据块中待执行所述复制操作的数据块的数量确定为所述第一数量,并将所述M个数据块中待执行所述纠删操作的数据块的数量确定为所述第二数量。
6.根据权利要求5所述的方法,其特征在于,
在将所述M个数据块中待执行所述复制操作的数据块的数量确定为所述第一数量,并将所述M个数据块中待执行所述纠删操作的数据块的数量确定为所述第二数量之前,所述方法还包括:
在待执行所述复制操作的数据块的数量与待执行所述纠删操作的数据块的数量的各种取值组合包括N个取值组合、且所述N个取值组合中的每个取值组合都包括所述第一变量的取值和所述第二变量的取值的情况下,在待执行所述复制操作的数据块的数量和待执行所述纠删操作的数据块的数量分别为所述N个取值组合中的每个取值组合时,确定所述目标表达式的取值,共得到所述目标表达式的N个取值,其中,N为大于或等于2的正整数;
确定所述N个取值中的最小值,并将所述最小值对应的一个取值组合中包括所述第一变量的取值确定为所述第一数量,将所述一个取值组合中包括所述第二变量的取值确定为所述第二数量,其中,所述最小值是在待执行所述复制操作的数据块的数量和待执行所述纠删操作的数据块的数量为所述一个取值组合时所述目标表达式的取值。
7.根据权利要求5所述的方法,其特征在于,
在将所述M个数据块中待执行所述复制操作的数据块的数量确定为所述第一数量,并将所述M个数据块中待执行所述纠删操作的数据块的数量确定为所述第二数量之前,所述方法还包括:
在所述第一变量的取值范围和所述第二变量的取值范围内,对所述目标表达式求解最小值,得到所述目标表达式的取值为所述最小值时所述第一变量的取值和所述第二变量的取值,并将所述目标表达式的取值为所述最小值时所述第一变量的取值确定为所述第一数量,将所述目标表达式的取值为所述最小值时所述第二变量的取值确定为所述第二数量,其中,所述最小值是在所述第一变量的取值为所述第一数量和所述第二变量的取值为所述第二数量时所述目标表达式的取值。
8.根据权利要求5所述的方法,其特征在于,
所述根据所述第一变量和所述第二变量,确定所述资源消耗参数的目标表达式,包括:
根据所述第一变量确定第一表达式,并根据所述第一变量确定第二表达式,其中,所述第一表达式用于表示对待执行所述复制操作的数据块执行所述复制操作和所述第一存储操作所消耗的时间,所述第二表达式用于表示待执行所述复制操作的数据块所占用的存储空间;
根据所述第二变量和第三变量确定第三表达式,并根据所述第三变量确定第四表达式,其中,所述第三表达式用于表示对待执行所述纠删操作的数据块执行所述纠删操作和所述第二存储操作所消耗的时间,所述第四表达式用于表示待执行所述纠删操作的数据块所占用的存储空间,所述第三变量用于表示对数量为所述第二变量的数据块执行所述纠删操作所得到的数据块的数量;
根据所述第一表达式、所述第二表达式、所述第三表达式和所述第四表达式,确定所述目标表达式。
9.根据权利要求8所述的方法,其特征在于,
所述根据所述第一变量确定第一表达式,包括:
根据所述第一变量、所述数据块的目标大小和第一传输速度,确定所述第一表达式,其中,所述数据块的目标大小是所述M个数据块的平均大小或者所述M个数据块中的一个数据块的大小,所述第一传输速度是在执行所述复制操作所得到的数据块所在的节点与第二节点之间传输数据的速度,所述第一存储操作用于将执行所述复制操作所得到的数据块存储到所述第二节点上。
10.根据权利要求8所述的方法,其特征在于,
所述根据所述第一变量确定第二表达式,包括:
根据所述第一变量和目标剩余数量,确定所述第二表达式,其中,所述目标剩余数量用于表示多个节点中允许存储的数据块的最大数量的平均值。
11.根据权利要求8所述的方法,其特征在于,
所述根据所述第二变量和第三变量确定第三表达式,包括:
根据所述第二变量、所述第三变量、对数量为所述第二变量的数据块执行所述纠删操作所得到的数据块中的每个数据块的大小、第二传输速度以及目标处理频率,确定所述第三表达式,其中,所述第二传输速度是在执行所述纠删操作所得到的数据块所在的节点与第三节点之间传输数据的速度,所述第二存储操作用于将执行所述纠删操作所得到的数据块存储到所述第三节点上,所述目标处理频率用于表示执行所述纠删操作所得到的数据块所在的节点上的处理器处理数据的频率。
12.根据权利要求8所述的方法,其特征在于,
所述根据所述第三变量确定第四表达式,包括:
根据所述第三变量和目标剩余数量,确定所述第四表达式,其中,所述目标剩余数量用于表示多个节点中允许存储的数据块的最大数量的平均值。
13.根据权利要求8所述的方法,其特征在于,
根据所述第一表达式、所述第二表达式、所述第三表达式和所述第四表达式,确定所述目标表达式,包括:
将所述目标表达式确定为等于对所述第一表达式、所述第二表达式、所述第三表达式和所述第四表达式执行相加操作所得到的表达式。
14.根据权利要求5所述的方法,其特征在于,在所述M个数据块在第一节点中的情况下,
所述对所述M个数据块中所述第一数量的数据块执行所述复制操作,并对执行所述复制操作所得到的数据块执行第一存储操作,包括:由所述第一节点对所述M个数据块中所述第一数量的数据块执行复制操作,并将执行所述复制操作所得到的数据块存储到第二节点中;
所述对所述M个数据块中所述第二数量的数据块执行所述纠删操作,并对执行所述纠删操作所得到的数据块执行第二存储操作,包括:由所述第一节点对所述M个数据块中所述第二数量的数据块执行纠删操作,并将执行所述纠删操作所得到的数据块存储到第三节点中;
其中,所述第二节点与所述第一节点不同,所述第三节点与所述第一节点不同。
15.根据权利要求5所述的方法,其特征在于,在所述M个数据块在第一节点中的情况下,
所述对所述M个数据块中所述第一数量的数据块执行所述复制操作,并对执行所述复制操作所得到的数据块执行第一存储操作,包括:由第一节点对所述M个数据块中所述第一数量的数据块执行复制操作,并将执行所述复制操作所得到的数据块存储到第二节点中;
所述对所述M个数据块中所述第二数量的数据块执行所述纠删操作,并对执行所述纠删操作所得到的数据块执行第二存储操作,包括:由第四节点获取所述M个数据块中所述第二数量的数据块,并对所述M个数据块中所述第二数量的数据块执行纠删操作,将执行所述纠删操作所得到的数据块存储到第三节点中;
其中,所述第二节点与所述第一节点不同,所述第三节点与所述第一节点不同。
16.根据权利要求5所述的方法,其特征在于,在所述M个数据块在第一节点中的情况下,
所述对所述M个数据块中所述第一数量的数据块执行所述复制操作,并对执行所述复制操作所得到的数据块执行第一存储操作,包括:由第四节点获取所述M个数据块,并对所述M个数据块中所述第一数量的数据块执行复制操作,并将执行所述复制操作所得到的数据块存储到第二节点中;
所述对所述M个数据块中所述第二数量的数据块执行所述纠删操作,并对执行所述纠删操作所得到的数据块执行第二存储操作,包括:由所述第四节点对所述M个数据块中所述第二数量的数据块执行纠删操作,将执行所述纠删操作所得到的数据块存储到第三节点中;
其中,所述第二节点与所述第一节点不同,所述第三节点与所述第一节点不同。
17.根据权利要求5至13中任一项所述的方法,其特征在于,
在确定在所述M个数据块中待执行复制操作的数据块的数量为第一数量和待执行纠删操作的数据块的数量为第二数量之前,所述方法还包括:
在第一节点的内存空间中创建了所述M个数据块的情况下,确定待备份的数据块为所述M个数据块,其中,所述M个数据块为第四节点创建的、且所述第一节点的内存空间为所述第四节点的远程内存空间。
18.一种计算机可读存储介质,其特征在于,
所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现权利要求5至17中任一项所述的方法。
CN202410136852.7A 2024-01-31 2024-01-31 存算解耦系统、数据处理方法及存储介质 Active CN117667834B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410136852.7A CN117667834B (zh) 2024-01-31 2024-01-31 存算解耦系统、数据处理方法及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410136852.7A CN117667834B (zh) 2024-01-31 2024-01-31 存算解耦系统、数据处理方法及存储介质

Publications (2)

Publication Number Publication Date
CN117667834A CN117667834A (zh) 2024-03-08
CN117667834B true CN117667834B (zh) 2024-04-30

Family

ID=90077276

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410136852.7A Active CN117667834B (zh) 2024-01-31 2024-01-31 存算解耦系统、数据处理方法及存储介质

Country Status (1)

Country Link
CN (1) CN117667834B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103916483A (zh) * 2014-04-28 2014-07-09 中国科学院成都生物研究所 一种针对编码冗余存储系统的自适应数据存储与重构方法
CN107797884A (zh) * 2016-10-28 2018-03-13 湖南大学 一种基于复制和纠删码自适应切换的云存储容错方法
CN114514500A (zh) * 2019-09-23 2022-05-17 亚马逊技术有限公司 跨区复制块存储装置
CN115858250A (zh) * 2022-12-30 2023-03-28 浙江大华技术股份有限公司 数据恢复方法、装置、存储介质及电子装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103916483A (zh) * 2014-04-28 2014-07-09 中国科学院成都生物研究所 一种针对编码冗余存储系统的自适应数据存储与重构方法
CN107797884A (zh) * 2016-10-28 2018-03-13 湖南大学 一种基于复制和纠删码自适应切换的云存储容错方法
CN114514500A (zh) * 2019-09-23 2022-05-17 亚马逊技术有限公司 跨区复制块存储装置
CN115858250A (zh) * 2022-12-30 2023-03-28 浙江大华技术股份有限公司 数据恢复方法、装置、存储介质及电子装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
一种副本复制和纠错码融合的云存储文件系统容错机制;杨东日等;《清华大学学报(自然科学版)》;20140115;第54卷(第1期);第137-144页 *

Also Published As

Publication number Publication date
CN117667834A (zh) 2024-03-08

Similar Documents

Publication Publication Date Title
RU2501072C2 (ru) Распределенное хранение восстанавливаемых данных
US10261853B1 (en) Dynamic replication error retry and recovery
WO2021027481A1 (zh) 故障处理方法、装置、计算机设备、存储介质及存储系统
CN104052576A (zh) 一种云存储下基于纠错码的数据恢复方法
CN111274252A (zh) 一种区块链的数据上链方法、装置、存储介质和服务器
CN109783014B (zh) 一种存储数据的方法及装置
KR101983208B1 (ko) 데이터 관리 방법, 노드, 그리고 데이터베이스 클러스터를 위한 시스템
CN110737924B (zh) 一种数据保护的方法和设备
CN104935481A (zh) 一种分布式存储下基于冗余机制的数据恢复方法
JP7532524B2 (ja) ストレージシステムにおけるデータ記憶方法、データ読み出し方法、データ記憶装置、データ読み出し装置、ストレージデバイス、およびシステム
CN116881053B (zh) 数据处理方法及交换板、数据处理系统、数据处理装置
CN111160661B (zh) 一种电力通信网可靠性优化方法、系统以及设备
CN115016979A (zh) 纠删码数据处理方法、装置及系统、存储介质、处理器
CN112543920B (zh) 数据重构的方法、装置、计算机设备、存储介质及系统
JP2012064217A (ja) データ復元方法及びサーバ装置
CN109344009B (zh) 基于分级检查点的移动云系统容错方法
WO2017041671A1 (zh) 故障恢复的方法和装置
CN117667834B (zh) 存算解耦系统、数据处理方法及存储介质
CN111211993A (zh) 流式计算的增量持久化方法及其装置
CN110737543B (zh) 一种分布式文件系统数据恢复的方法、装置及存储介质
CN110474787B (zh) 一种节点故障检测方法和装置
JP2016038705A (ja) システム及び異常検知方法
CN115878381A (zh) 基于srm盘的数据恢复方法及装置、存储介质、电子装置
CN115470041A (zh) 一种数据灾备管理方法及装置
CN111858129B (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