CN115904800A - 数据备份方法、装置、设备、系统、介质及程序产品 - Google Patents
数据备份方法、装置、设备、系统、介质及程序产品 Download PDFInfo
- Publication number
- CN115904800A CN115904800A CN202211126333.XA CN202211126333A CN115904800A CN 115904800 A CN115904800 A CN 115904800A CN 202211126333 A CN202211126333 A CN 202211126333A CN 115904800 A CN115904800 A CN 115904800A
- Authority
- CN
- China
- Prior art keywords
- data
- heat
- cache component
- backup
- storage
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种数据备份方法、装置、设备、系统、介质及程序产品,针对基于分布式存储池进行大数据分析的应用场景,该数据备份方法包括:响应于数据的备份指令,获取所述数据的访问热度,其中,所述备份指令用于指示将存储池中存储的所述数据备份至缓存部件,以通过所述缓存部件读取所述数据,访问热度由数据的读取次数或读取频率确定;根据所述访问热度,确定所述数据对应的所述缓存部件的存储块,以将所述数据备份至对应的存储块。通过访问热度确定数据是否需要备份以及所备份的位置,实现了数据的有序备份,以优先备份被重复读取的数据,提高了缓存部件命中读取的数据的概率,提高了系统的读取性能。
Description
技术领域
本申请涉及大数据分析技术领域,尤其涉及一种数据备份方法、装置、设备、系统、介质及程序产品。
背景技术
大数据分析应用主要基于收集的海量数据进行运算与加工,输出相应的分析结果。大数据分析系统首先需要具备可观的存储容量以承载大数据分析所需的海量数据,其次,需要具备较高的数据访问性能,如读写延迟低、吞吐量大等,从而确保数据分析操作的时效性。
为了提高了大数据分析系统的数据访问性能,在系统的低速存储部件,如硬盘驱动器(HDD,Hard Disk Drive),和系统内存之间增设缓存部件,如结合NAND(Flash Memory,计算机闪存设备)和SSD(NAND Solid State Drive,固态硬盘)实现的缓存部件。缓存部件的容量显著大于系统内存,同时数据读取性能优于低速存储部件,通过缓存部件进行读取数据的备份,使得后续数据读取时,部分数据可以从缓存部件中读取,从而降低了低速存储部件的访问次数,有效降低了读延迟,提高了读取性能。
相关技术中,缓存部件在存储数据时,直接将与缓存部件容量相当的数据备份至缓存部件,以提高缓存部件的利用率。采用上述备份方式,在缓存容量一定的情况下,数据被缓存部件命中的概率较低,导致缓存部件对读取性能的提升有限,无法满足日益增长的大数据分析对读取性能的需求。
发明内容
本申请提供一种数据备份方法、装置、设备、系统、介质及程序产品,实现了缓存部件内数据按照访问热度分别放置于不同的存储块中,实现数据的冷热隔离,提高了缓存部件中存储的数据被命中的概率,提高了数据读取的性能。
第一方面,本申请提供一种数据备份方法,包括:
响应于数据的备份指令,获取所述数据的访问热度,其中,所述备份指令用于指示将存储池中存储的所述数据备份至缓存部件,以通过所述缓存部件读取所述数据,访问热度由数据的读取次数或读取频率确定;根据所述访问热度,确定所述数据对应的所述缓存部件的存储块,以将所述数据备份至对应的存储块。
可选的,获取所述数据的访问热度,包括:
获取所述数据的读取次数或读取频率;
获取所述数据的初始热度;
根据所述初始热度以及所述读取次数,或根据所述初始热度以及所述读取频率,确定所述数据的访问热度。
可选的,所述数据包括多个数据分片,数据的访问热度包括各个数据分片的访问热度;根据所述读取次数,或根据所述初始热度以及所述读取频率,确定所述数据的访问热度,包括:
根据所述初始热度以及所述读取次数,或根据所述初始热度以及所述读取频率,确定所述数据的各数据分片的访问热度。
相应的,根据所述访问热度,确定所述数据对应的所述缓存部件的存储块,包括:
根据所述数据的各数据分片的访问热度,确定所述数据的各数据分片对应的所述缓存部件的存储块。
可选的,根据所述数据的各数据分片的访问热度,确定所述数据的各数据分片对应的所述缓存部件的存储块,包括:
获取所述缓存部件存储有数据的各存储块的存储热度;
针对所述数据的各数据分片,根据所述数据分片的访问热度以及存储有数据的各存储块的存储热度,确定所述数据分片对应的缓存部件的存储块。
可选的,所述方法还包括:
取消所述缓存部件的冗余磁盘阵列功能,以使所述缓存部件的存储块的容量小于超级块的容量。
可选的,在取消所述缓存部件的冗余磁盘阵列功能之后,所述方法还包括:
响应于存储块的擦除指令,获取所述存储块中的有效数据;
将所述有效数据写入所述缓存部件的其他存储块中;
擦除所述存储块中的数据。
可选的,所述方法还包括:
根据访问热度,确定存储于存储块中各数据的生命周期;
当存储块中存储的数据的生命周期终止时,生成所述存储块的擦除指令;
其中,所述有效数据为生命周期尚未终止的数据。
可选的,所述方法还包括:
当检测到所述数据从存储池中读出时,生成所述数据的备份指令。
第二方面,本申请提供一种数据备份装置,包括:
访问热度获取模块,用于响应于数据的备份指令,获取所述数据的访问热度,其中,所述备份指令用于指示将存储池中存储的所述数据备份至缓存部件,以通过所述缓存部件读取所述数据,访问热度由数据的读取次数或读取频率确定;
数据备份模块,用于根据所述访问热度,确定所述数据对应的所述缓存部件的存储块,以将所述数据备份至对应的存储块。
可选的,访问热度获取模块,包括:
初始热度获取单元,用于获取所述数据的初始热度;
频次获取单元,用于获取所述数据的读取次数或读取频率;
访问热度确定单元,用于根据所述初始热度以及所述读取次数,或根据所述初始热度以及所述读取频率,确定所述数据的访问热度。
可选的,所述数据包括多个数据分片,数据的访问热度包括各个数据分片的访问热度;访问热度确定单元,具体用于:
根据所述初始热度以及所述读取次数,或根据所述初始热度以及所述读取频率,确定所述数据的各数据分片的访问热度。
相应的,数据备份模块,具体用于:
根据所述数据的各数据分片的访问热度,确定所述数据的各数据分片对应的所述缓存部件的存储块。
可选的,数据备份模块,具体用于:
获取所述缓存部件存储有数据的各存储块的存储热度;
针对所述数据的各数据分片,根据所述数据分片的访问热度以及存储有数据的各存储块的存储热度,确定所述数据分片对应的缓存部件的存储块。
可选的,所述装置还包括:
去冗余模块,用于取消所述缓存部件的冗余磁盘阵列功能,以使所述缓存部件的存储块的容量小于超级块的容量。
可选的,所述装置还包括:
擦除模块,用于在取消所述缓存部件的冗余磁盘阵列功能之后,响应于存储块的擦除指令,获取所述存储块中的有效数据;将所述有效数据写入所述缓存部件的其他存储块中;擦除所述存储块中的数据。
可选的,所述装置还包括:
生命周期确定模块,用于根据访问热度,确定存储于存储块中各数据的生命周期;
擦除指令生成模块,用于当存储块中存储的数据的生命周期终止时,生成所述存储块的擦除指令;其中,所述有效数据为生命周期尚未终止的数据。
可选的,所述装置还包括:
备份指令生成模块,用于当检测到所述数据从存储池中读出时,生成所述数据的备份指令。
第三方面,本申请提供一种数据备份设备,包括:
处理器,以及与所述处理器通信连接的存储器;所述存储器存储计算机执行指令;所述处理器执行所述存储器存储的计算机执行指令,以实现本申请第一方面提供的方法。
第四方面,本申请提供一种大数据分析系统,包括存储池、缓存部件以及本申请第三方面提供的数据备份设备。
第五方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现本申请第一方面提供的方法。
第六方面,本申请提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现本申请第一方面提供的方法。
本申请提供的数据备份方法、装置、设备、系统、介质及程序产品,针对大数据分析应用场景,当需要将数据备份至缓存部件时,通过持续更新的数据的访问热度,确定数据在缓存部件中备份的存储块,从而实现按照访问热度进行数据的有序备份,以优先备份访问热度高的数据,提高缓存部件命中用户读取的数据的概率,从而提高系统的读取性能;同时,实现了数据的冷热分离,使得数据擦除时,所擦除的存储块中需要被回收的数据较少,降低了写放大,提高了缓存部件的寿命。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请一个实施例提供的大数据分析系统架构的示意图;
图2为本申请实施例提供的一种数据备份方法的流程示意图;
图3为本申请实施例提供的一种大数据分析系统的结构示意图;
图4为本申请实施例提供的另一种数据备份方法的流程示意图;
图5为本申请图4所示实施例中存储池中存储的数据的结构示意图;
图6为本申请实施例提供的数据下刷至缓存部件过程的示意图;
图7为本申请实施例提供的另一种数据备份方法的流程示意图;
图8为本申请实施例提供的一种数据备份装置的结构示意图;
图9为本申请实施例提供的一种数据备份设备的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
大数据分析系统,依赖于存储集群进行海量数据存储,为了降低存储成本,大多采用HDD作为主体进行数据存储。在大数据分析过程中,需要不断从HDD中读取数据,以完成相应的运算。受限于HDD的机械结构,导致数据读取延迟较大,且带宽受限。
为了提升数据读取性能,大数据分析系统采用图1所示架构,图1为本申请一个实施例提供的大数据分析系统架构的示意图,如图1所示,大数据分析系统包括多个服务器以及连接多个服务器的数据中心高速网络。每个服务器中设置有多个低速存储部件(如HDD),各服务器中的低速存储部件构成分布式存储集群,和位于系统内存和低速存储部件之间的缓存部件。缓存部件的容量显著大于内存,且读取性能优于低速存储部件。在数据读取时,优先从缓存部件中读取该数据,当缓存部件中未存储有所需数据时,则从低速存储部件中读取该数据。
由于缓存部件的成本随容量递增,为了降低成本,缓存部件的容量通常无法存储大数据分析所需的全部数据,从而需将低速存储部件中的部分数据备份至缓存部件。相关技术,在数据备份时,往往是没有选择的,如默认备份所读取的未备份的数据,从而导致读缓存中备份的数据被后续读取命中的概率较低,仍需要频繁从低速存储部件中读取数据,系统读取性能仍较差。
为了提高缓存部件的命中率,从而提高大数据分析系统的数据读取性能,本申请提供一种缓存部件的数据备份方法,基于需备份数据的访问热度,确定是否将数据备份至缓存部件以及所备份的存储块,访问热度可以表征数据在后续读取过程中被读取的概率,优先备份访问热度高的数据,提高了缓存部件中备份的数据被命中的概率,从而提高了系统读取性能,同时,基于访问热度,实现缓存部件内数据的冷热分离,提高了数据存储的合理性,使得数据擦除时,所擦除的存储块中需要被回收的数据较少,降低了写放大,提高了缓存部件的寿命。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
图2为本申请实施例提供的一种数据备份方法的流程示意图,该数据备份方法可以由数据备份设备执行,数据备份设备可以为大数据分析系统中的任意一个电子设备,如分析节点,该分析节点可以为以一个物理服务器或虚拟服务器。
如图2所示,该数据备份方法包括以下步骤:
步骤S201,响应于数据的备份指令,获取所述数据的访问热度。
其中,所述备份指令用于指示将存储池中存储的所述数据备份至缓存部件,以通过所述缓存部件读取所述数据。访问热度用于表征数据自存储于大数据分析系统的存储池中起被访问的频繁程度,由数据的读取次数或读取频率确定。可选的,可以采用读取次数、读取频率等信息表示访问热度,或者采用与这些信息相关的其他信息表示访问热度。
在一示例中,访问热度可以为读取次数或读取频率。
另一示例中,可以采用读取次数的预设表达式表示访问热度,如访问热度可以为读取次数与用户自定义参数之和,或者为读取次数与用户自定义参数的加权平均值。可以采用累加的方式更新数据的读取次数。
存储池可以为分布式存储池,包括部署于分布式服务器中存储部件,如上述实施例中的低速存储部件。
在一些实施例中,缓存部件又称为读缓存,在读取数据时,优先读取读缓存中存储的数据。
具体的,当需要读取大数据分析系统中存储的数据时,数据备份设备(或分析节点)可以判断缓存部件中是否存储有该数据,若否,则从存储池中读取该数据,并生成该数据的备份指令。
进一步地,若缓存部件中未存储该数据,则获取该数据的初始热度,若该初始热度高于预设热度,如5、10、50等,则生成该数据的备份指令。
在一些实施例中,缓存部件可以为NAND SSD,即基于NAND闪存技术的SSD。
步骤S202,根据所述访问热度,确定所述数据对应的所述缓存部件的存储块,以将所述数据备份至对应的存储块。
其中,存储块可以由缓存部件的一个或多个块(Block)组成。
在一个实施例中,存储块的容量小于超级块(Superblock)。NAND SSD作为缓存部件,其内部含有K个并行通道,每个通道通过通道使能(Channel Enable,CE)信号管理共计L个NAND芯片。一个NAND芯片可含有P个Plane(平面),而每个Plane中可还有Q个Block。各SSD设计均通过并行化处理,从每个Plane中选取一个Block,共计K*L*P个Block来共同构成一个Superblock,Superblock上实现RAID(Redundant Arrays of Independent Disks,独立冗余磁盘阵列)保护,以Superblock为单位进行数据写入和擦除。其中,K、L、P、Q均正整数,可选的,可以均为偶数,便于实现二进制环境下的访问控制。示例性的,K的取值可以为4、8、12、16或者其他值,L的取值可以为4、6、8或者其他数值,P的取值可以为2、4或者其他数值,Q的取值可以为2n,n为正整数,Q的取值通常在百级或者千级,如1024、2048或者其他值。本申请则取消RAID保护,从而以一个较小容量的存储块为单位进行写入和擦除。
在得到数据的访问热度之后,基于该访问热度所处的范围,确定数据对应的缓存部件的存储块。
可选的,获取所述数据的访问热度,包括:
获取所述数据的读取次数或读取频率;获取所述数据的初始热度;根据所述初始热度以及所述读取次数,或根据所述初始热度以及所述读取频率,确定所述数据的访问热度。
其中,初始热度为访问热度的初始值。初始热度可以与对应的数据关联存储,可以由用户自定义配置,或者基于预设的配置软件或模块进行配置。读取次数可以为数据从内存中读出的次数。读取频率可以基于单位时间内的读取次数计算得到,或者通过读取频率变量的方式得到读取频率,其中,频率变量用于存储数据的读取频率。
访问热度可以与读取次数(或读取频率)呈正相关关系,如访问热度可以为一个大于0的系数与读取次数的乘积。
访问热度还可以采用等级表示,每个等级对应一个读取次数区间或一个读取频率区间。
在一些实施例中,在数据写入存储池时,可以将数据及其初始热度关联存储,如按照预设规则存储在同一地址段中。
访问热度可以为初始热度与读取次数之和,还可以为初始热度和读取次数设置权重,确定初始热度与读取次数的加权和值为访问热度。
具体的,可以根据数据的访问热度,确定擦除或搬移开销最小的存储块为该数据的存储块,从而将数据存储于擦除或搬移开销最小的存储块中,从而使同一存储块中存储的数据的访问热度尽可能相等或相近,从而实现数据的冷热分离。
通过结合初始热度和读取次数,确定数据的访问热度,使得访问热度得以表征数据被读取的频繁程度,以及用户配置的热度,提高了访问热度确定的准确度。
当数据被擦除之后,再次接收到该数据的备份指令,则重新获取该数据最新的读取次数,基于该最新的读取次数,更新数据的访问热度,基于更新后的访问热度,确定数据的存储块,从而重新将该数据存储于缓存部件中。
本申请提供的数据备份方法,针对大数据分析应用场景,当需要将数据备份至缓存部件时,通过持续更新的数据的读取次数,数据的访问热度,基于访问热度确定数据在缓存部件中备份的存储块,从而实现按照访问热度进行数据的有序备份,以优先备份访问热度高的数据,提高缓存部件命中用户读取的数据的概率,从而提高系统的读取性能;同时,实现了数据的冷热分离,使得数据擦除时,所擦除的存储块中需要被回收的数据较少,降低了写放大,提高了缓存部件的寿命。
图3为本申请实施例提供的一种大数据分析系统的结构示意图,如图3所示,大数据分析系统包括分布式存储池,多个分析节点,以及元数据管理模块。分布式存储池包括多个存储部件,用以存储大数据分析所需的海量数据;分析节点包括读缓存和内存;元数据管理模块用于管理元数据,元数据包括上述访问热度、数据存储的物理地址等。大数据分析系统的分布式存储池写满后,通常不再大量写入新数据,基于所存储的数据,通过大量的读操作、写操作等实现大数据分析。可以由分析节点确定需读取的数据,若该数据未存储于缓存部件,则向元数据管理模块发出读取请求,以获取该数据在分布式存储池中的物理地址,元数据管理模块返回该数据的物理地址及其访问热度。分析节点基于该物理地址,从分布式存储池中读取所需的数据,包括该数据,还可以包括该数据的初始热度;将该数据加载至内存中。分析节点根据内存中存储该数据的内存地址的访问次数,确定或更新该数据的读取次数。基于读取次数和初始热度,更新数据的访问热度。进而当内存中的数据下刷至缓存部件中时,将数据及其对应的更新后的访问热度,共同发送至缓存部件。缓存部件或分析节点根据更新后的访问热度,确定数据对应的存储块,从而减小数据擦除或搬移的开销。
数据被加载至系统内存中之后,可以通过一个变量记录该数据的读取次数,读取次数的初始值可以为0或1,内存中的该数据每被读取一次,则该变量加1。分析节点可以通过该变量获取数据最新的读取次数。
图4为本申请实施例提供的另一种数据备份方法的流程示意图,在本实施例中数据被划分为多个数据分片,每个数据分片对应一个访问热度。本实施例是在图2所示实施例的基础上,对步骤S201进一步细化,在步骤S201之前增加备份指令生成的步骤,以及在步骤S202之前增加取消RAID保护的相关步骤。
如图4所示,该数据备份方法可以包括以下步骤:
步骤S401,取消所述缓存部件的冗余磁盘阵列功能,以使所述缓存部件的存储块的容量小于超级块的容量。
其中,冗余磁盘阵列功能通过RAID技术将多个硬盘组合为一个硬盘阵列,形成一个逻辑扇区,操作系统会将硬盘阵列视为一个硬盘进行读写操作。通过冗余磁盘阵列功能,使得任意一个硬盘发生故障时,仍可以通过硬盘阵列中其他硬盘内存储的数据,有效读出所需的数据。
取消RAID功能之后,可以通过固件设计,将数据写入与擦除的单元由超级块降低为上述存储块,如单个块,从而降低了擦除粒度,减弱写放大现象。
写放大指的是,在擦除数据时,由于擦除粒度的限制,导致仅可以以擦除粒度为单位进行擦除,擦除粒度中存储的有效数据需要被写回缓存部件,导致额外的数据搬移,即额外的数据写入,导致SSD写入的数据量比实际用户写入SSD的数据量多。
步骤S401可以在步骤S405之前任意一个时间节点执行,如与步骤S402、S403等并行执行,本申请对步骤S401执行的节点不进行限定。
步骤S402,当检测到所述数据从存储池中读出时,生成所述数据的备份指令。
其中,数据包括多个数据分片。
当需要读取大数据分析系统中存储的数据时,先判断缓存部件中是否存储有该数据;若缓存部件中未存储该数据,则需从存储池中读取该数据,当数据从所存储的存储池中读取时,则生成该数据的备份指令,以将该数据备份至缓存部件中,以在下次读取该数据时,直接从缓存部件中读取,从而提高系统的读取性能。
在数据备份指令生成时,无需考虑数据的热度,直接生成备份指令进行数据备份,提高数据备份的效率。
在一些实施例中,由于缓存部件容量有限,为了限制缓存部件中备份的数据量,可以仅备份热度较高的数据,如备份热度高于预设热度的数据。当检测到所述数据从存储池中读出时,可以获取数据的热度,若数据的热度高于预设热度,则生成该数据的备份指令。
步骤S403,获取所述数据的读取次数。
步骤S404,根据所述读取次数,确定所述数据的各数据分片的访问热度。
数据分片的访问热度的确定方式可以参照前述实施例中数据的访问热度的确定方式进行,仅需将对象由“数据”替换为“数据分片”即可。
在一些实施例中,数据的各数据分片可以分别对应一个访问热度的初始值,则可以根据读取次数以及该初始值,计算得到数据分片的访问热度。
当需要备份数据时,获取数据在存储池中的物理地址,基于该物理地址,获取数据。
在存储池中存储的每条数据,对应一个热度向量,该热度向量中包括数据每个数据分片的访问热度。
在一些实施例中,初始热度以及后续的访问热度均统称为热度,通过读取次数进行数据热度的实时更新。可以采用热度等级表示,如一级、二级、三级等,每一热度等级对应一段热度,如0~10、11~20等。
示例性的,图5为本申请图4所示实施例中存储池中存储的数据的结构示意图,如图5所示,一个数据存储于存储池一个存储单元中,存储单元用于存储数据及其热度向量。在图5中,数据被划分为N个数据分片,即数据分片1至数据分片N。每个数据分片对应一个热度等级,数据分片1至数据分片N分别对应热度等级1至热度等级N,该N个热度等级即为数据对应的热度向量。热度等级可以紧随对应的数据分片设置。当分析节点读取存储单元中的数据时,该数据对应的N个热度等级与数据一同更新至分析节点。
示例性的,热度等级可以包括8个等级,则需要3个比特位描述每个数据分片对应的热度等级。
步骤S405,根据所述数据的各数据分片的访问热度,确定所述数据的各数据分片对应的所述缓存部件的存储块。
可选的,根据所述数据的各数据分片的访问热度,确定所述数据的各数据分片对应的所述缓存部件的存储块,包括:
获取所述缓存部件存储有数据的各存储块的存储热度;针对所述数据的各数据分片,根据所述数据分片的访问热度以及存储有数据的各存储块的存储热度,确定所述数据分片对应的缓存部件的存储块。
其中,存储块的存储热度可以为默认的热度,如默认的热度等级。还可以根据存储块中存储的各条数据的访问热度确定,如确定各条数据的访问热度的平均值、众数等为存储块的存储热度。存储热度可以采用热度等级表示,数据分片对应的存储块为热度等级与数据分片的热度等级相等或相近的存储块。
可以确定存储热度与数据分片的访问热度最接近的存储块,为该数据分片对应的存储块,从而实现将数据的各数据分片,按照访问热度,分散存储在多个存储块中。
具体的,当存储块总存储的数据更新时,基于存储块中存储的各数据的访问热度,确定存储块的存储热度。
通过热度匹配的方式,确定数据的存储块,使得热度接近的数据被存放于同一存储块中,提高了数据备份的合理性,当需要擦除存储块时,由于存储块中数据的热度近似,如相同,减少了需要回收的数据的数量,从而减小了写放大现象,提高了大数据分析系统的数据管理性能。
在内存中的数据下刷至缓存部件时,内存访问单元,如缓存行(cache line),存储的数据分片及其访问热度,以向量模式传输至缓存部件,以每次下刷128kB数据为例,缓存行为64B,则每次约8196个数据及其访问热度一同下刷至缓存部件。图6为本申请实施例提供的数据下刷至缓存部件过程的示意图,如图6所示,缓存部件包括控制器、盘内写缓存、开放块阵列、封存块池和空白块资源池。在下刷时,基于数据分片的热度等级,将数据分片放置于盘内缓存中的对应的写队列中,如热度等级1队列、热度等级Y队列等,Y为热度等级的总数量,可以为4、8、16等数值。图6中以每个热度等级对应一个队列为例,可以结合实际使用情况,由多个热度等级对应一个队列。每个队列可以对应一个或多个开放的块(开放块阵列中的块),从而将队列中的数据分片写入热度等级对应的开放的块中,即热度等级i队列中的数据分片,写入热度等级i的块中,i为1至Y之间的正整数,从而完成数据的备份。通过上述过程实现缓存部件中备份的数据按照热度存储。在后续删除与回收中,相同等级的数据一同被删除或回收,相较于未按照热度存储的随机存储方式,减少了需要擦除的块的个数以及擦除次数,减少了介质磨损,提高了缓存部件的使用寿命。当一个开放块写满后,从空白块资源池中获取一个新的块,作为开放块,进行写入。写满的块被封存(Seal),成为封存块池中的块。写满的块经擦除后,会被回收(GC,Garbage Collection),返回空白块资源池成为一个空闲(Free)的块。可以并行进行块的写入、封存、回收、擦除等操作,也可以同时对多个块进行写入、封存、回收、擦除等操作,以提升并行度,提高数据处理效率。
步骤S406,将所述数据的各数据分片备份至所述缓存部件对应的存储块。
在本实施例中,在数据备份之前,取消RAID功能,从而取消超级块的束缚,得以以小于超级块的存储块为单位进行擦除、回收等操作,降低擦除粒度,具体可以实现擦除粒度降低2~3个数量级,从而大幅度减少了擦除粒度中需要被回收的数据量;当检测到数据从存储池中被读出时,触发数据备份流程,通过数据的读取次数更新数据的热度,基于更新的热度为数据分配匹配的存储块,进行数据的备份,使得热度相近的数据备份至同一存储块,相较于无区别混放的方式,减少了擦除粒度中有效数据的数量,从而降低了写放大,提高了大数据分析系统的数据管理性能;同时,通过数据的冷热隔离,减少了被擦除的存储块的数量以及擦除次数,降低了介质磨损,提高了缓存部件的寿命。
可选的,图7为本申请实施例提供的另一种数据备份方法的流程示意图,参见图4和图7,本实施例提供的数据备份方法在步骤S401之后还包括以下步骤:
步骤S701,响应于存储块的擦除指令,获取所述存储块中的有效数据。
其中,擦除指令用于擦除缓存部件存储块中的数据,擦除指令以存储块为单位进行数据擦除。擦除指令可以由用户下发,还可以根据缓存部件内存储块的存储情况,自动生成擦除指令。
当存储块中存储的数据内的大部分的数据被删除后,如被删除的数据占60%、80%等,则生成该存储块的擦除指令,以擦除该存储块,从而删除该存储块中存储的数据,得到一个空闲的存储块,将该空闲的存储块返回空白块资源池中。
当存在需要备份的新的数据时,若缓存部件中空闲的存储块的数量小于预设数量,如2、10、50等,则可以按照存储块的存储热度,确定一个或多个待擦除存储块,生成该待擦除存储块的擦除指令。
其中,待擦除存储块可以为存储热度最低的一个或多个存储块。
存储块中的有效数据指的是,在存储块被擦除时,需要回写至缓存部件的数据,可以包括对应的数据及其访问热度。
可选的,该数据备份方法还包括:
根据访问热度,确定存储于存储块中各数据的生命周期;当存储块中存储的数据的生命周期终止时,生成所述存储块的擦除指令;其中,所述有效数据为生命周期尚未终止的数据。
生命周期与访问热度呈正相关关系,访问热度越高,则数据的生命周期越长。
访问热度可以采用热度等级表示,在确定数据对应的存储块之后,可以根据数据的热度等级,确定数据的生命周期,从而在数据的生命周期终止时,删除该数据。由于同一存储块中存储的数据的热度等级相同或相近,则当存储块中其中一个数据的生命周期终止,与其热度等级相同的数据的生命周期一同终止,则触发该存储块的擦除指令。
通过基于访问热度的生命周期设置,使得存储块中存储的大部分数据在同一时间窗口内被删除,触发存储块的擦除流程,有效减少了擦除存储块时需回写的数据量,且通过同生命周期数据存放于同一存储块,有效减少了存储块擦除的数量,减弱了擦除导致的介质磨损,延长了缓存部件的使用寿命。
步骤S702,将所述有效数据写入所述缓存部件的其他存储块中。
其中,其他存储块可以为一个空闲的存储块,还可以为存储热度与有效数据的访问热度匹配的足以存储有效数据的存储块。
若其他存储块为空闲的存储块,则基于所存储的有效数据,确定该存储块的存储热度。
步骤S703,擦除所述存储块中的数据。
在有效数据回写至其他存储块之后,擦除该存储块,从而得到一个空闲的存储块,将该存储块返回空白块资源池。
需要了解的是,若数据被划分为数据分片,则本实施例中提及的数据可以替换为数据分片,如基于数据分片的访问热度,确定数据分片的生命周期;有效数据则为生命周期尚未终止的数据分片,依次类推。
在本实施例中,针对存储块擦除的应用场景,由于存储块中存储的数据(或数据分片)的访问热度相同或相近,在存储块擦除时,使得存储块中需要回写的有效数据数量显著减少,减少了写放大,降低了擦除的资源消耗;且通过上述备份方式,使得需要删除的数据集中在一个或多个存储块中,减少了需要擦除的存储块的数量,降低了擦除操作导致的介质磨损,提高了缓存部件的使用寿命。
图8为本申请实施例提供的一种数据备份装置的结构示意图,如图8所示,该数据备份装置包括:访问热度获取模块810和数据备份模块820。
其中,访问热度获取模块810,用于响应于数据的备份指令,获取所述数据的访问热度,其中,所述备份指令用于指示将存储池中存储的所述数据备份至缓存部件,以通过所述缓存部件读取所述数据,访问热度由数据的读取次数或读取频率确定;数据备份模块820,用于根据所述访问热度,确定所述数据对应的所述缓存部件的存储块,以将所述数据备份至对应的存储块。
可选的,访问热度获取模块810,包括:
频次获取单元,用于获取所述数据的读取次数或读取频率;
初始热度获取单元,用于获取所述数据的初始热度;
访问热度确定单元,用于根据所述初始热度以及所述读取次数或根据所述初始热度以及所述读取频率,确定所述数据的访问热度。
可选的,所述数据包括多个数据分片,数据的访问热度包括各个数据分片的访问热度;访问热度确定单元,具体用于:
根据所述初始热度以及所述读取次数,或根据所述初始热度以及所述读取频率,确定所述数据的各数据分片的访问热度。
相应的,数据备份模块820,具体用于:
根据所述数据的各数据分片的访问热度,确定所述数据的各数据分片对应的所述缓存部件的存储块。
可选的,数据备份模块820,具体用于:
获取所述缓存部件存储有数据的各存储块的存储热度;
针对所述数据的各数据分片,根据所述数据分片的访问热度以及存储有数据的各存储块的存储热度,确定所述数据分片对应的缓存部件的存储块。
可选的,所述装置还包括:
去冗余模块,用于取消所述缓存部件的冗余磁盘阵列功能,以使所述缓存部件的存储块的容量小于超级块的容量。
可选的,所述装置还包括:
擦除模块,用于在取消所述缓存部件的冗余磁盘阵列功能之后,响应于存储块的擦除指令,获取所述存储块中的有效数据;将所述有效数据写入所述缓存部件的其他存储块中;擦除所述存储块中的数据。
可选的,所述装置还包括:
生命周期确定模块,用于根据访问热度,确定存储于存储块中各数据的生命周期;
擦除指令生成模块,用于当存储块中存储的数据的生命周期终止时,生成所述存储块的擦除指令;其中,所述有效数据为生命周期尚未终止的数据。
可选的,所述装置还包括:
备份指令生成模块,用于当检测到所述数据从存储池中读出时,生成所述数据的备份指令。
本申请实施例提供的数据备份装置,可用于执行上述任意实施例提供的数据备份方法的技术方案,其实现原理和技术效果类似,本实施例此处不再赘述。
图9为本申请实施例提供的一种数据备份设备的结构示意图,如图9所示,本实施例的提供的数据备份设备900包括:
至少一个处理器910;以及与所述至少一个处理器通信连接的存储器920;其中,所述存储器920存储有计算机执行指令;所述至少一个处理器910执行所述存储器存储的计算机执行指令,以使所述电子设备执行如前述任一实施例提供的方法。
可选地,存储器920既可以是独立的,也可以跟处理器910集成在一起。
本实施例提供的电子设备的实现原理和技术效果可以参见前述各实施例,此处不再赘述。
本申请实施例还提供一种大数据分析系统,包括存储池、缓存部件以及数据备份设备900。
在一些实施例中,存储池为分布式存储池,分布式存储池以及缓存部件部署于多个服务器中。数据备份设备800可以为其中一个服务器,或者为一个独立的电子设备。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当所述计算机执行指令被处理器执行时,可以实现前述任一实施例提供的方法。
本申请实施例还提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现前述任一实施例提供的方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本申请各个实施例所述方法的部分步骤。
应理解,上述处理器可以是中央处理单元(Central Processing Unit,简称CPU),还可以是其它通用处理器、数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合申请所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。存储器可能包含高速存储器,也可能还包括非易失性存储器,例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。
上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器,电可擦除可编程只读存储器,可擦除可编程只读存储器,可编程只读存储器,只读存储器,磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路中。当然,处理器和存储介质也可以作为分立组件存在于电子设备或主控设备中。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例提供的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。
Claims (13)
1.一种数据备份方法,其特征在于,包括:
响应于数据的备份指令,获取所述数据的访问热度,其中,所述备份指令用于指示将存储池中存储的所述数据备份至缓存部件,以通过所述缓存部件读取所述数据,访问热度由数据的读取次数或读取频率确定;
根据所述访问热度,确定所述数据对应的所述缓存部件的存储块,以将所述数据备份至对应的存储块。
2.根据权利要求1所述的方法,其特征在于,获取所述数据的访问热度,包括:
获取所述数据的读取次数或读取频率;
获取所述数据的初始热度;
根据所述初始热度以及所述读取次数,或根据所述初始热度以及所述读取频率,确定所述数据的访问热度。
3.根据权利要求2所述的方法,其特征在于,所述数据包括多个数据分片,数据的访问热度包括各个数据分片的访问热度;
根据所述初始热度以及所述读取次数,或根据所述初始热度以及所述读取频率,确定所述数据的访问热度,包括:
根据所述初始热度以及所述读取次数,或根据所述初始热度以及所述读取频率,确定所述数据的各数据分片的访问热度;
根据所述访问热度,确定所述数据对应的所述缓存部件的存储块,包括:
根据所述数据的各数据分片的访问热度,确定所述数据的各数据分片对应的所述缓存部件的存储块。
4.根据权利要求3所述的方法,其特征在于,根据所述数据的各数据分片的访问热度,确定所述数据的各数据分片对应的所述缓存部件的存储块,包括:
获取所述缓存部件存储有数据的各存储块的存储热度;
针对所述数据的各数据分片,根据所述数据分片的访问热度以及存储有数据的各存储块的存储热度,确定所述数据分片对应的缓存部件的存储块。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
取消所述缓存部件的冗余磁盘阵列功能,以使所述缓存部件的存储块的容量小于超级块的容量。
6.根据权利要求5所述的方法,其特征在于,在取消所述缓存部件的冗余磁盘阵列功能之后,所述方法还包括:
响应于存储块的擦除指令,获取所述存储块中的有效数据;
将所述有效数据写入所述缓存部件的其他存储块中;
擦除所述存储块中的数据。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
根据访问热度,确定存储于存储块中各数据的生命周期;
当存储块中存储的数据的生命周期终止时,生成所述存储块的擦除指令;
其中,所述有效数据为生命周期尚未终止的数据。
8.根据权利要求1-7任一项所述的方法,其特征在于,所述方法还包括:
当检测到所述数据从存储池中读出时,生成所述数据的备份指令。
9.一种数据备份装置,其特征在于,包括:
访问热度获取模块,用于响应于数据的备份指令,获取所述数据的访问热度,其中,所述备份指令用于指示将存储池中存储的所述数据备份至缓存部件,以通过所述缓存部件读取所述数据,访问热度由数据的读取次数或读取频率确定;
数据备份模块,用于根据所述访问热度,确定所述数据对应的所述缓存部件的存储块,以将所述数据备份至对应的存储块。
10.一种数据备份设备,其特征在于,包括:
处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1-8任一项所述的方法。
11.一种大数据分析系统,其特征在于,包括:
存储池、缓存部件以及权利要求9所述的数据备份设备。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1-8任一项所述的方法。
13.一种计算机程序产品,其特征在于,包括计算机程序,所述计算机程序被处理器执行时实现权利要求1-8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211126333.XA CN115904800A (zh) | 2022-09-16 | 2022-09-16 | 数据备份方法、装置、设备、系统、介质及程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211126333.XA CN115904800A (zh) | 2022-09-16 | 2022-09-16 | 数据备份方法、装置、设备、系统、介质及程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115904800A true CN115904800A (zh) | 2023-04-04 |
Family
ID=86477114
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211126333.XA Pending CN115904800A (zh) | 2022-09-16 | 2022-09-16 | 数据备份方法、装置、设备、系统、介质及程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115904800A (zh) |
-
2022
- 2022-09-16 CN CN202211126333.XA patent/CN115904800A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11893238B2 (en) | Method of controlling nonvolatile semiconductor memory | |
KR100526190B1 (ko) | 플래시 메모리의 재사상 방법 | |
KR101894625B1 (ko) | 데이터 저장 시스템들에 대한 우선순위 기반 가비지 수집 | |
CN109496300B (zh) | 一种存储介质垃圾回收方法、存储介质和程序产品 | |
KR101257989B1 (ko) | 인덱스 페이지 복구 | |
KR101392174B1 (ko) | 소거 대상 블록의 매핑 테이블을 저장하는 플래시 메모리 제어장치 및 방법 | |
CN109656486B (zh) | 固态硬盘的配置方法、数据存储方法、固态硬盘和存储控制器 | |
KR20100037319A (ko) | 플래시 메모리 장치를 위한 가변 공간 페이지 사상 방법 및그 장치 | |
CN104572491A (zh) | 一种基于固态硬盘的读缓存管理方法及装置 | |
KR101933766B1 (ko) | 플래시 메모리 플러싱을 개선하는 방법 및 시스템 | |
KR20130088173A (ko) | 트랜잭션 로그 복구 | |
US11204864B2 (en) | Data storage devices and data processing methods for improving the accessing performance of the data storage devices | |
CN110377233B (zh) | Ssd读性能优化方法、装置、计算机设备及存储介质 | |
CN110674056B (zh) | 一种垃圾回收方法及装置 | |
CN114127677A (zh) | 支持读热数据分离的写高速缓存架构中的数据放置 | |
JP2019028954A (ja) | ストレージ制御装置、プログラム、及び重複排除方法 | |
WO2018188618A1 (zh) | 固态硬盘访问 | |
EP4372540A1 (en) | Techniques for zoned namespace (zns) storage using multiple zones | |
US11593262B1 (en) | Garbage collection command scheduling | |
CN108334457B (zh) | 一种io处理方法及装置 | |
US20110264848A1 (en) | Data recording device | |
CN115904800A (zh) | 数据备份方法、装置、设备、系统、介质及程序产品 | |
CN106205707A (zh) | 存储器装置 | |
KR101153688B1 (ko) | 데이터 페이지들에 대해 무효화 기회를 부여하는 방법 및 이를 위한 낸드 플래시 메모리 시스템 | |
CN109002265B (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 |