一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

备份系统及其存储介质的耐久性提高方法与流程

2022-05-18 16:44:25 来源:中国专利 TAG:


1.本发明大体上涉及辅助存储系统领域,更具体地涉及备份系统和用于提高备份系统的存储介质的耐久性的方法。


背景技术:

2.非易失性存储器已经作为存储器用于计算机和便携式信息装置中。近来,使用nand闪存的固态硬盘(solid state drive,ssd)作为硬盘驱动器(hard disk drive,hdd)的替代品已经在计算机中得到广泛使用。ssd具有低功耗和高性能的特点,所以用作各种计算机的主存。人们认为ssd在进入传统上认为仅限于hdd的使用领域具有巨大潜力。
3.典型的ssd包括存储有数据的多个数据块。在ssd中,当新数据要写入一个数据块中时,不可能只是重写该数据块的现有数据。在ssd中,首先将该数据块的(不会被重写的)其它数据复制到ssd上的不同数据块中,然后擦除该数据块的所有数据,最后将(待写入的)新数据写入到该数据块中。因此,当新数据要重写到一个数据块中时,重写量相比于新数据的大小非常大。换句话说,ssd的擦除粒度远大于块粒度。
4.例如,如果新数据的大小为4千字节(kb)且ssd中的存储数据的擦除数据块的大小为100kb,则写入粒度较小,例如,4kb,但擦除粒度较大。因此,如果写入到空白位置上,则写入的数据大小只有4kb,但如果需要重写旧数据,则首先需要读取100kb来替换4kb,擦除旧的100kb并重写新数据,数据块中所有100kb的现有数据都被擦除,并使用4kb的新数据重写。因此,为了存储4kb的数据,写入大小是新数据25倍的其它数据。因此,ssd具有高写入放大率。这使得将数据写入到ssd中的过程非常耗时且占用大量资源,从而大大降低了ssd的耐久性。
5.近来,一些采用闪存转换层(flash translation layer,ftl)表和垃圾收集机制的技术已经用来降低与ssd相关的写入放大率。ftl表能够将新数据写入到ssd中的任何位置上,具有与物理地址不同的逻辑地址,因此,如果要重写逻辑地址,则不一定像直接地址映射那样重写物理地址。另外,逻辑到物理寻址机制识别新数据并将新数据分组为热数据(即频繁变化的数据)和冷数据(即静态数据),因此频繁变化的数据会被一起分组在单个擦除块中,这表示擦除块中的大部分数据通常都会被重写(即,由于ftl而重写到另一个位置上)。因此,只有在数据块中的大部分数据要使用新数据重写之后,垃圾收集机制才会擦除数据块中的数据,从而降低写入放大率。当有新的块要写入且ssd有一个空白空间时,立即写入该块。如果所有磁盘都已写入,则需要擦除数据块(远大于写入块),擦除块可以包括所需数据和重写数据。系统读取所需数据,擦除该块,并写入所需数据和待写入新块,从而在擦除后也留下可用空间。如果擦除块中的大部分数据已经被重写,则在擦除后就没有必要再次写入任何数据,这是理想情况。放大是系统需要再次写入的数据量,因为块包括未擦除的数据。在这里,将频繁变化的数据一起分组在单个擦除块中,确保了擦除块中的大部分数据会在块需要被擦除之前被重写。这表示在重写块时,需要复制少量数据,从而降低写入放大率。
6.将数据分离为热数据和冷数据进行了大量研究。实现这一目标的方法之一是根据应用id分离数据,并了解哪些进程会产生热数据,哪些进程会产生冷数据。然而,可能很难了解特定应用何时明确知道其未来行为,即未来生成的数据是归类为热数据还是冷数据。
7.通常,计算系统(例如,主机设备)包括主存储器(例如,主机存储器),以存储与计算系统相关的数据。通常的做法是创建主存储器的备份以保护数据,并允许在发生数据丢失事件时恢复此类数据。所述数据丢失事件的示例可以包括但不限于数据损坏、主存储设备中的硬件或软件故障、数据意外删除、黑客或恶意攻击。为此,采用了备份系统。越来越多的备份系统使用ssd来满足其存储需求。但是,具有高放大率的ssd可能不适合作为备份系统的存储介质。
8.鉴于以上论述,为了更广泛地采用ssd作为存储介质,降低高放大率变得至关重要。


技术实现要素:

9.本发明旨在提供一种用于提高备份系统的存储介质的耐久性的方法以及提供一种包括耐久性提高的存储介质的备份系统。本发明旨在提供一种技术方案,以解决包括存储介质的传统备份系统中存在的现有问题,即高写入放大率导致的数据备份效率低。本发明的目的是提供一种至少部分解决现有技术中遇到的问题的技术方案,并提供一种改进的方法和系统,以降低存储介质的写入放大率并提高备份系统的数据备份效率。
10.本发明的目的通过所附独立权利要求中提供的技术方案来实现。本发明的有利实现方式在从属权利要求中进一步定义。
11.一方面,本发明提供了一种用于提高备份系统的存储介质的耐久性的方法,其中,主机设备的一个或多个数据项的备份存储在所述备份系统的所述存储介质的一个或多个块中。所述方法包括:备份代理检测所述一个或多个数据项中的一个数据项在所述主机设备中的变化频率;所述备份系统的备份层接收所述检测到的变化频率;所述备份系统的所述备份层从存储在备份策略存储库中的备份策略中获取所述一个或多个数据项的每个备份的最小存储时间;将所述检测到的变化频率和所述从所述备份层获取到的所述一个或多个数据项的每个备份的最小存储时间提供给所述存储介质,以对存储在所述存储介质的所述一个或多个块中的数据项进行分组;根据所述提供的检测到的变化频率和所述获取到的所述一个或多个数据项的每个备份的最小存储时间,对所述存储介质中的数据项进行分组;估计所述存储介质的所述一个或多个块中的每个块的剩余寿命;根据所述估计出的每个块的剩余寿命,将所述分组后数据项移动到所述块中。
12.根据所述确定的变化频率将所述数据项分组为热数据项(即频繁变化的数据项)和冷数据项(即不经常变化的数据项),本发明的方法提供了一种对所述数据项进行分类的高效方式。有利的方面是,所述数据项的分组能够将所述数据项存储在所述存储介质的所述一个或多个块中,这样每次都要将大部分数据项重写到给定块中,因此块中的数据项的写入量几乎等于要重写的数据项的大小。这与传统技术形成对比,在传统技术中,每次要重写的数据项较少,因此在块上执行的写入量是要重写的数据项的大小的许多倍。因此,所述存储介质的擦除粒度几乎等于块粒度,与传统技术相比,这使得所述存储介质的写入放大率显著降低。此外,这样能够根据每个块的剩余寿命将所述数据项存储在各个块中,因此,
与传统技术相比,这些块可以使用更长时间段。
13.在一种实现方式中,确定所述变化频率包括:确定所述一个或多个数据项在所述主机设备中变化的频率的时间段。
14.本发明实施例在所述备份系统上实施时,能够确定所述一个或多个数据项在所述主机设备中变化的频率的时间段。另外,本实施例能够高效地将所述数据项分组为热数据项和冷数据项,因此所述数据项可以存储在各个块中,这样相比于传统技术,所述备份系统的写入放大率显著降低。
15.在一种实现方式中,获取所述每个备份的最小存储时间包括:获取所述一个或多个数据项的每个备份在所述存储介质中的存储时间,其中,所述存储时间大于所述一个或多个数据项在所述主机设备中的所述变化频率。
16.本发明实施例在所述备份系统上实施时,还能够确定所述一个或多个数据项的每个备份在所述存储介质中的存储时间。这种关于所述最小存储时间的信息能够将所述分组后数据项存储在各个块中,这样大多数数据项要在给定时间内重写到给定块中。因此,与传统技术相比,所述备份系统的写入放大率得到降低。
17.在一种实现方式中,检测所述数据项的变化频率是通过检测所述一个或多个数据项中的所述数据项在所述主机设备中的类型执行的。
18.通过检测所述数据项的类型,可以确定所述数据项下次改变并因此需要重写到所述存储介质中的时间。利用这些信息,所述数据项可以进行分组,这样所述存储介质的写入方法率得到降低。
19.在一种实现方式中,所述数据项的分组是通过对所述备份的最小存储时间相同的数据项进行分组执行的。
20.通过对最小存储时间相同的数据项进行分组,大部分数据项可以同时重写到给定块中,因此,与传统技术相比,所述备份系统的写入放大率得到降低。
21.在一种实现方式中,所述数据项的分组是通过对在所述存储介质进行备份期间没有变化的数据项进行分组执行的。
22.通过对备份期间没有变化的数据项进行分组,识别出冷数据项并进行分组以存储在各个块中,以降低写入放大率。
23.在一种实现方式中,估计所述每个块的剩余寿命是通过识别所述一个或多个块中的每个块的最大可能重写次数和所述一个或多个块中的每个块的已执行重写次数执行的。
24.通过估计所述一个或多个块中的每个块的最大可能重写次数和所述一个或多个块中的每个块的已执行重写次数,估计出每个块的剩余寿命,因此,合适的数据项组可以存储在各个块中,即冷数据项存储在估计出的剩余寿命最短的各个块中,而热数据项存储在估计出的剩余寿命最长的各个块中,这样所述存储介质的整体耐久性得到提高。
25.在一种实现方式中,所述方法还包括:检测估计出的剩余寿命最短的块。
26.通过检测估计出的剩余寿命最短的块,不经常变化的合适数据项组(即冷数据项)仅存储在这些块中。因此,这种块的寿命和所述存储介质的整体耐久性显著提高。
27.另一方面,本发明提供了一种备份系统,包括耐久性提高的存储介质。主机设备的一个或多个数据项的备份存储在所述存储介质的一个或多个块中,所述备份系统包括:备份代理,用于检测所述一个或多个数据项中的一个数据项在所述主机设备中的变化频率;
备份层,用于与所述主机设备通信,以:接收所述检测到的所述一个或多个数据项中的所述数据项的变化频率,从备份策略存储库接收所述一个或多个数据项的每个备份的最小存储时间,将所述检测到的变化频率和所述获取到的所述一个或多个数据项的每个备份的最小存储时间提供给所述存储介质,以对所述数据项进行分组;所述存储介质用于:根据所述提供的变化频率和所述一个或多个数据项的每个备份的最小存储时间,对所述数据项进行分组,估计所述一个或多个块中的每个块的剩余寿命,根据所述估计出的剩余寿命,将所述分组后数据项移动到所述块中。
28.根据所述确定的变化频率将所述数据项分组为热数据项(即频繁变化的数据项)和冷数据项(即不经常变化的数据项),本发明的备份系统提供了一种对所述数据项进行分类的高效方式。有利的方面是,所述数据项的分组能够将所述数据项存储在所述存储介质的所述一个或多个块中,这样每次都要将大部分数据项重写到给定块中,因此块中的数据项的写入量几乎等于要重写的数据项的大小。这与传统技术形成对比,在传统技术中,每次要重写的数据项较少,因此在块上执行的写入量是要重写的数据项的大小的许多倍。因此,当启动所述备份系统来确定写入下一个块的位置时,所述备份系统首先通过识别被完全或几乎完全重写的块来识别哪个块可以被擦除。与现有技术相比,这使得所述存储介质的写入放大率显著降低。此外,这样能够根据每个块的剩余寿命将所述数据项存储在各个块中,因此,与传统技术相比,这些块可以使用更长时间段。
29.又一方面,本发明提供了一种计算机程序。所述计算机程序在备份系统上执行时,用于执行第一个方面的方法。
30.本计算机程序实现了本发明方法的所有优点和效果。
31.可以理解的是,上面论述的所有实现方式都可以组合在一起。需要说明的是,本发明中描述的所有设备、元件、单元和模块可以在软件元件或硬件元件或其任何类型的组合中实现。本发明中描述的各种实体执行的所有步骤和所描述的将由各种实体执行的功能旨在表示各个实体适于或用于执行各自的步骤和功能。虽然在以下具体实施例的描述中,由外部实体执行的特定功能或步骤没有在执行特定步骤或功能的该实体的具体元件的描述中反映,但是技术人员应该清楚的是这些方法和功能可以在各自的硬件元件或软件元件或其任何类型的组合中实现。可以理解的是,本发明的特征易于以各种组合进行组合,而不偏离由所附权利要求书所定义的本发明的范围。
32.本发明的其它方面、优点、特征和目的将从附图和结合以下所附权利要求书解释的说明性实施方式的详细描述中变得显而易见。
附图说明
33.当结合所附附图阅读时,可以更好理解上面的发明内容以及下面的具体实施方式。为了说明本发明,本发明的示例性结构在附图中示出。然而,本发明不限于本文公开的具体方法和工具。此外,本领域人员将理解,附图不是按比例绘制的。只要有可能,相似的元素用相同的数字表示。
34.下面仅通过举例,结合以下附图对本发明实施例进行描述。
35.图1为本发明一个实施例提供的一种用于提高备份系统的存储介质的耐久性的方法的流程图。
36.图2a为本发明一个实施例提供的一种用于提高备份系统的存储介质的耐久性的系统的网络环境图。
37.图2b为本发明一个实施例提供的一种主机设备的各种示例性组件的框图。
38.图2c为本发明一个实施例提供的一种备份系统的各种示例性组件的框图。
39.图3为本发明一个实施例提供的一种用于提高备份系统的存储介质的耐久性的系统的图示。
40.在附图中,下划线数字用于表示下划线数字所在的项或下划线数字相邻的项。非下划线数字涉及的项由将非下划线数字连接到该项的线条标识。当一个数字没有下划线并伴有相关箭头时,非下划线数字用于标识箭头指向的一般项。
具体实施方式
41.下面的详细描述说明了本发明实施例以及它们可以实现的方式。虽然已经公开了执行本发明的一些模式,但本领域技术人员将认识到,用于执行或实施本发明的其它实施例也是可能的。
42.图1为本发明一个实施例提供的一种用于提高备份系统的存储介质的耐久性的方法100的流程图。一方面,本发明提供了所述用于提高备份系统的存储介质的耐久性的方法100,其中,主机设备的一个或多个数据项的备份存储在所述备份系统的所述存储介质的一个或多个块中。方法100包括:备份代理检测所述一个或多个数据项中的一个数据项在所述主机设备中的变化频率;所述备份系统的备份层接收所述检测到的变化频率;所述备份系统的所述备份层从存储在备份策略存储库中的备份策略中获取所述一个或多个数据项的每个备份的最小存储时间;将所述检测到的变化频率和所述从所述备份层获取到的所述一个或多个数据项的每个备份的最小存储时间提供给所述存储介质,以对存储在所述存储介质的一个或多个块中的数据项进行分组;根据所述提供的检测到的变化频率和所述获取到的所述一个或多个数据项的每个备份的最小存储时间,对所述存储介质中的数据项进行分组;估计所述存储介质的所述一个或多个块中的每个块的剩余寿命;根据所述估计出的每个块的剩余寿命,将所述分组后数据项移动到所述块中。
43.方法100在主机设备的备份系统中执行,所述主机设备和所述备份系统如图2a至图2c等所述。所述备份系统的存储介质用于接收和创建备份。所述主机设备的一个或多个数据项的备份存储在所述备份系统的所述存储介质的一个或多个块中。如果由于数据损坏、所述主机设备中的硬件或软件故障、数据意外删除、黑客或恶意攻击而导致所述主机设备中存在数据丢失,则所述一个或多个数据项的备份能够使数据恢复或复原。方法100包括步骤s1、s2、s3、s4、s5、s6和s7。步骤s1、s2、s3、s4、s5、s6和s7可以按照任何合理的顺序执行,以实现所公开实施例的目标。图1中的描述和相应描述不一定暗示方法100的所公开步骤的特定顺序,除非特定方法步骤是执行任何其它方法步骤的必要先决条件。各个方法步骤可以同时或几乎同时按顺序或并行执行。
44.在步骤s1中,方法100包括:备份代理228检测一个或多个数据项222中的一个数据项在主机设备202中的变化频率。在这里,术语“数据项”是指与可以在所述主机设备上执行的一个或多个软件产品相关的文本文件、图像、视频、音频等数据,当备份为主机系统的块级备份时,数据项也可以是块存储中的块或块集合。这样的一个或多个数据项存储在主机
存储设备上的一个或多个块中。在一个示例中,存储在所述主机存储设备中的数据是由图片编辑软件、数据压缩软件、数据加密软件等一个或多个软件产品在所述主机设备中创建或变化的。此外,一个数据项的变化频率表示数据项下次在主机设备中变化的时间。换句话说,变化频率是所述数据项在主机设备中的预期寿命或预期耐久性。例如,一个数据项的变化频率可以是一小时、一天、一周、一个月、六个月或一年。此外,在这里,所述备份代理是指在所述主机设备上实现的软件,用于访问一个或多个数据项并执行与数据项的备份相关的功能。此外,所述备份代理还充当所述主机设备和所述备份系统之间的通信代理或接口。所述备份代理在所述主机设备上安装并激活。在安装所述备份代理时,所述备份代理与所述主机设备中的几个软件产品集成,以能够执行其功能,例如,检测由这些软件产品创建的一个或多个数据项的变化频率。
45.在步骤s2中,方法100还包括:备份系统204的备份层212接收所述检测到的变化频率。在这里,所述备份层是指所述备份系统的软件组件或硬件组件或软件组件和硬件组件的组合,用于通过通信网络等在所述备份系统和所述主机设备之间进行通信,并进一步能够在所述备份系统的所述存储介质中创建数据项的备份,如参考图2a至图2c详述。所述备份层用于充当所述备份系统的所述存储介质与所述主机设备的所述主机存储设备之间的接口。所述检测到的变化频率由所述备份层通过所述通信网络接收。
46.在步骤s3中,方法100还包括:所述备份系统的备份层212从存储在备份策略存储库210中的备份策略中获取所述一个或多个数据项的每个备份的最小存储时间。术语“最小存储时间”是指所述存储介质的一个或多个块中的一个块上次没有使用新数据项重写或变化的时间。在一个示例中,对于所述备份系统执行的按月备份,最短存储时间可以在六个月到一年之间变化。也就是说,按月备份的数据项在六个月或一年内不会被删除。在另一个示例中,对于所述备份系统执行的按小时备份或短期备份,最小存储时间可以在12小时到24小时之间变化。所述备份策略存储库用于存储备份数据留存的策略。例如,所述备份策略中的数据留存策略可以包括:每小时备份一次且对应数据留存一天、每天备份一次且对应数据留存一周、每周备份一次且对应数据留存一个月、每月备份一次且对应数据留存一年。可以理解的是,通常,备份执行的频率越低,最小存储时间就越长。频繁变化的数据(即热数据)备份更频繁,因此,这类数据也会更频繁地删除。此外,不经常变化的冷数据,存储时间长,因此不经常被删除。此外,可以理解的是,通常对于短期备份,最小存储时间可以通过使用已知的标准技术来评估每个块的平均寿命来确定。
47.在步骤s4中,方法100还包括:将所述检测到的变化频率和所述从备份层212获取到的所述一个或多个数据项的每个备份的最小存储时间提供给存储介质214,以对存储在所述存储介质的一个或多个块中的数据项进行分组。评估所述变化频率和所述最小存储时间能够更高效地将数据项分类为热数据项和冷数据项,而这种信息可以用于将数据项高效存储在所述存储介质的一个或多个块中(稍后详细描述)。在这里,所述备份层以新协议的形式将所述变化频率和最小存储时间提供给所述存储介质,以将所述一个或多个数据项写入到所述存储介质的一个或多个块中。在一个示例中,协议的格式在函数(1)中表示。
48.write(offset,size,data,minimum durability,expected durability)
ꢀꢀꢀ
(1)
49.其中,
50.'offset'表示所述存储介质中的数据要存储到的一个块的位置,
51.'size'是指所述存储介质中的一个块的存储大小。
52.'data'是指要存储在所述存储介质中的数据项。
53.'minimum durability'是指数据项不重写到存储介质的一个块中的最小时间。
54.'expected durability'是指数据项下次可以重写到所述存储介质的一个块中的时间。
55.在步骤s5中,方法100还包括:根据所述提供的检测到的变化频率和所述获取到的所述一个或多个数据项的每个备份的最小存储时间,对所述存储介质中的所述数据项进行分组。所述变化频率和所述最小存储时间提供了数据项下次重写到所述存储介质的所述一个或多个块中的预期时间。在当前实施例中,这里的术语“分组”是指为所述存储介质的所述一个或多个块中的数据项分配位置,这样如果可能,可以为变化频率和最小存储时间等特征类似的数据项分配所述存储介质中的相同块。
56.在步骤s6中,方法100还包括:估计所述存储介质的所述一个或多个块中的每个块的剩余寿命。如上所述,所述存储介质的每个块只能重写有限次数。因此,随着时间的推移,每次重写都会缩短每个块的寿命。所述存储介质中的特定块的剩余寿命表示所述块进一步可能的重写次数,并取决于所述存储介质的类型和所述存储介质的所述特定块已经发生的重写次数。
57.在步骤s7中,方法100还包括:根据所述估计出的每个块的剩余寿命,将所述分组后数据项移动到所述块中。换句话说,所述分组后数据项是根据估计出的给定块的剩余寿命写入到所述给定块中的。在当前示例中,热数据项(即频繁变化的数据项)被写入到剩余寿命相对较长的各个块中,而冷数据项(即,不经常变化的数据项)被写入到剩余寿命相对较短的各个块中。因此,与剩余寿命相对较长的其它块相比,剩余寿命相对较短的各个块被重写的次数较少。这使得所述存储介质的整体寿命延长,提高了存储介质的耐久性。有利的方面是,对所述数据项进行分组,然后将所述数据项存储在相应的块中,确保了当新数据项要写入相同的块中时,块中的大多数数据项同时被重写,这与传统技术形成对比,在传统技术中,即使写入少量数据可能会导致重写整个块。因此,与实现传统技术的存储介质相比,本发明的存储介质的写入放大率显著降低。
58.根据一个实施例,确定所述变化频率包括:确定所述一个或多个数据项在所述主机设备中变化的频率的时间段。在这里,所述时间段表示所述数据项在所述主机设备中改变之前的持续时间。数据项变化频率的时间段由所述备份代理确定。可以理解的是,与不同软件产品相关的数据项可以具有不同的变化时间段。在一个示例中,与一个软件产品相关的数据项可以每小时变化一次,而与另一个软件产品相关的数据项可以每个月变化一次。由于所述备份代理与所述主机设备上的软件产品集成,因此所述备份代理可以通过评估每个软件产品在一段时间内创建的数据项的行为,确定对应数据项变化的频率的时间段。
59.根据一个实施例,获取所述每个备份的最小存储时间包括:获取所述一个或多个数据项的每个备份在所述存储介质中的存储时间,其中,所述存储时间大于所述一个或多个数据项在所述主机设备中的所述变化频率。如上论述,所述备份策略存储库用于存储备份数据留存的策略,包括关于所述一个或多个数据项的备份在所述存储介质中的存储时间的信息。通过获取此类信息,可以确定每个备份的最小存储时间。所确定的最小存储时间以及关于对应变化频率的信息,能够将用于写入所述存储介质的一个或多个块中的数据项进
行分组,这样大部分数据项要同时重写到给定块中,导致重写减少,从而降低所述存储介质的写入放大率。
60.根据一个实施例,检测所述数据项的变化频率是通过检测所述一个或多个数据项中的所述数据项在所述所述主机设备中的类型执行的。在这里,所述数据项的类型是指所述数据项的特征,这些特征影响数据项下次可能发生变化的时间,这反过来又可能取决于创建所述数据项的相关软件产品。例如,与所述主机设备的系统文件类型相比,由软件产品创建的临时数据文件类型可能会持续更短的时间段。此外,在一个示例中,一种类型的数据项可以每天在所述主机设备中变化,而另一种类型的数据项可以只在几周或几个月后变化,因此可以根据不同的数据类型确定一种关于所述变化频率的模式。因此,根据所述数据项的类型,可以确定所述数据项的变化频率。所述备份系统用于根据从所述备份策略中获取到的最小存储时间和取决于所述最小存储时间和所述变化频率的预期时间对所述数据项进行分组。例如,如果所述数据项的最小存储时间为一小时,但预期变化频率为1年,则在这种情况下,所述数据项很可能是冷数据,所述备份系统可以对冷数据项进行分组,但也许可以试图将数据冷数据项与最小频率为1年的数据项分离,这样冷数据项可以较快地变化。
61.根据一个实施例,所述数据项的分组是通过对所述备份的最小存储时间相同的数据项进行分组执行的。所述最小存储时间可以认为是用于对所述数据项进行分组的良好参数,因为所述最小存储时间表示数据项可以不重写到所述存储介质的块中的最小时间。在一个示例中,最小存储时间为一小时的数据项被分组在一起,最小存储时间为一天的数据项被分组在一起,最小存储时间为一周的数据项被分组在一起,最小存储时间为一个月的数据项被分组在一起。这使得数据项的分组效率高,因为能够将所述数据项分类为热数据项和冷数据项,其中,所述热数据项是指频繁变化的数据项,而冷数据项是静态数据项,与所述热数据项相比,在相当长的时间后才变化。
62.根据一个实施例,所述数据项的分组是通过对在所述存储介质中进行备份期间没有变化的数据项进行分组执行的。可以理解的是,在所述存储介质中进行备份期间可能没有变化的数据项可以被确定为具有较低的变化频率。此外,在所述存储介质中的两个备份之间可能没有变化的数据项可以被确定为具有较低的变化频率。因此,将这些数据项标记为冷数据项并相应地将这些数据项分组在一起可能相对简单。
63.根据一个实施例,估计所述每个块的剩余寿命是通过识别以下内容执行的:所述一个或多个块中的每个块的最大可能重写次数和所述一个或多个块中的每个块的已执行重写次数。
64.也就是说,估计每个块的剩余寿命是通过识别所述一个或多个块中的每个块的最大可能重写次数执行的。通常,所述存储介质中的每个块可以具有不同的最大可能重写次数。此外,估计每个块的剩余寿命是通过识别所述一个或多个块中的每个块的已执行重写次数执行的。可以理解的是,通常,所述存储介质的每个块最初可以具有相同的寿命,并且在其寿命内可以具有相同次数的重写。但经过一段时间,与其它块相比,某一块可能被重写的次数更多。每个块可能之前就存储和重写一个或多个数据项,因此,可用的重写次数减少了。因此,每个块可能具有不同的最大重写次数,可能无法再次重写。在一个示例中,给定块的最大重写次数可能取决于该给定块上已经发生的重写次数。通常,块的剩余寿命与已执行重写次数成反比。
65.根据一个实施例,所述方法还包括:检测估计出的剩余寿命最短的块。所述估计出的剩余寿命最短的块是指那些已经发生最大可能重写次数中的大多数重写的块。检测估计出的剩余寿命最短的块,以能够根据块的剩余寿命只存储合适的数据项。由于检测到估计出的剩余寿命最短的块,不经常变化的数据项组只存储在这些块中。也就是说,所述冷数据项存储在估计出的剩余寿命最短的各个块中,而所述热数据项存储在估计出的剩余寿命相对较长的其它块中。这样,块的寿命就会显著延长,从而提高了所述存储介质的耐久性。
66.本发明的方法提供了一种根据所述确定的变化频率将数据项分组为热数据项(即频繁变化的数据项)和冷数据项(即不经常变化的数据项)的高效方式。有利的方面是,所述数据项的分组能够将所述数据项存储在所述存储介质的所述一个或多个块中,这样每次都要将大部分数据项重写到给定块中,因此块中的数据项的写入量几乎等于要重写的数据项的大小。这与传统技术形成对比,在传统技术中,每次要重写的数据项较少,因此在块上执行的写入量是要重写的数据项的大小的许多倍。因此,当启动所述备份系统来确定写入下一个块的位置时,所述备份系统首先通过识别被完全或几乎完全重写的块来识别哪个块可以被擦除。与现有技术相比,这使得所述存储介质的写入放大率显著降低。此外,这样能够根据每个块的剩余寿命将所述数据项存储在各个块中,因此,与传统技术相比,这些块可以使用更长时间段。
67.步骤s1至s7只是说明性的,并且还可以提供其它替代方案,其中添加一个或多个步骤,删除一个或多个步骤,或按照不同的顺序提供一个或多个步骤,而不脱离本文权利要求书的范围。
68.一方面,提供了一种计算机程序。所述计算机程序在备份系统上执行时,用于执行方法100。另一方面,提供了一种计算机程序产品,包括非瞬时性计算机可读存储介质。所述非瞬时性计算机可读存储介质上存储有计算机程序代码,所述计算机程序代码可由处理器执行,以执行方法100。所述非瞬时性计算机可读存储介质的实现示例包括但不限于电可擦除可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、随机存取存储器(random access memory,ram)、只读存储器(read only memory,rom),硬盘驱动器(hard disk drive,hdd)、闪存、安全数字(secure digital,sd)卡、固态硬盘(solid-state drive,ssd)、计算机可读存储介质或cpu高速缓存。一种用于提供非瞬时性存储器的计算机可读存储介质可以包括但不限于电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或上述任何合适的组合。
69.图2a为本发明一个实施例提供的一种用于提高备份系统的存储介质的耐久性的系统的网络环境图。参考图2a,示出了系统200。系统200包括主机设备202和备份系统204。还示出了通信网络206。主机设备202包括备份代理208。备份系统204包括备份策略存储库210、备份层212和存储备份的存储介质214。
70.另一方面,本发明提供了备份系统204,包括耐久性提高的存储介质214,其中,主机设备202的一个或多个数据项的备份存储在存储介质214的一个或多个块中。备份系统204还包括:备份代理208,用于检测所述一个或多个数据项中的一个数据项在主机设备202中的变化频率;备份层212,用于与主机设备202通信,以:接收所述检测到的所述一个或多个数据项中的所述数据项的变化频率,从备份策略存储库210接收所述一个或多个数据项的每个备份的最小存储时间,将所述检测到的变化频率和所述获取到的所述一个或多个数
据项的每个备份的最小存储时间提供给存储介质214,以对所述数据项进行分组;存储介质214用于:根据所述提供的变化频率和所述一个或多个数据项的每个备份的最小存储时间,对所述数据项进行分组,估计所述一个或多个块中的每个块的剩余寿命,根据所述估计出的剩余寿命,将所述分组后数据项移动到所述块中。
71.主机设备202包括合适的逻辑、电路、接口和/或代码,其用于通过通信网络206对信息进行存储、处理和与备份系统204共享。主机设备202包括主机文件系统,所述主机文件系统包括一个或多个数据项或将数据存储到不包括文件系统的块设备中。所述主机文件系统可以具有在主机设备202上实现的一个或多个操作算法。主机设备202通过主机设备202中的备份代理208将一个或多个数据项的变化频率等信息提供给备份系统204。主机设备202的示例包括但不限于主机服务器、主机生产环境系统、连接到主机服务器的瘦客户端、主存储设备和用户设备(例如,蜂窝电话、个人数字助理(personal digital assistant,pda)、手持设备、笔记本电脑、个人电脑、物联网(internet-of-things,iot)设备、智能手机、机器类型通信(machine type communication,mtc)设备、计算设备、无人机或任何其它便携式或非便携式电子设备)。
72.备份系统204包括合适的逻辑、电路、接口和/或代码,其用于通过通信网络206存储、处理和/或接收来自主机设备202的信息。此外,应当理解,备份系统204可以是单个硬件服务器和/或在并行或分布式架构中运行的以形成备份系统204的多个硬件服务器。备份系统204的示例包括但不限于辅助存储系统、备份服务器、存储服务器、云服务器、万维网服务器、应用服务器或其组合。备份系统204用于通过备份代理208从主机设备202接收一个或多个数据项。所述接收到的一个或多个数据项存储在备份系统204的一个或多个块中。在一个实施例中,备份系统204用于拍摄主机设备202的快照(即图像)。此外,备份系统204从所述图像中检测主机设备202中的变化。备份系统204将主机设备202中的变化存储为主机设备202的备份。
73.通信网络206包括介质(例如,通信信道),主机设备202通过所述介质与备份系统204通信。通信网络206可以是有线或无线通信网络206。通信网络206的示例可以包括但不限于无线保真(wireless fidelity,wi-fi)网络、局域网(local area network,lan)、无线个人局域网(wireless personal area network,wpan)、无线局域网(wireless local area network,wlan),无线广域网(wireless wide area network,wwan)、云网络、长期演进(long term evolution,lte)网络、简易老式电话业务(plain old telephone service,pots)、城域网(metropolitan area network,man)和/或互联网。主机设备202和备份系统204可能用于根据各种有线和无线通信协议连接到通信网络206。这些有线和无线通信协议的示例可以包括但不限于传输控制协议/互联网协议(transmission control protocol and internet protocol,tcp/ip)、用户数据报协议(user datagram protocol,udp)、超文本传输协议(hypertext transfer protocol,http)、文件传输协议(file transfer protocol,ftp)、zigbee、edge、红外(infrared,ir)、ieee 802.11、ieee 802.16、长期演进(long term evolution,lte)、光保真(light fidelity,li-fi)和/或其它蜂窝通信协议或蓝牙(bt)通信协议,包括其变体。
74.备份代理208是在主机设备202上实现的软件,用于访问与主机设备202上的一个或多个软件产品相关的一个或多个数据项。
75.备份策略存储库210是指用于存储备份系统204的备份策略的数据库。
76.备份层212是指备份系统204的软件组件或硬件组件或软件组件和硬件组件的组合,用于与主机设备202通信并将信息提供给存储介质214,以对一个或多个数据项进行分组。
77.存储介质214是指有组织的信息主体,而不管信息或其有组织的主体是以何种方式表示的。存储介质214用于存储备份系统204接收到的一个或多个数据项。存储介质214的示例包括但不限于备份目录、表、用于存储可扩展标记语言(extensible markup language,xml)标签内数据的xml文件,或用于存储信息以供将来在备份系统204处参考的任何形式的数据库。
78.在操作中,备份代理208用于检测所述一个或多个数据项中的一个数据项在主机设备202中的变化频率。备份代理208用于确定所述数据项下次在主机设备202中变化的时间。根据本实施例,备份代理208确定所述变化频率包括:确定所述一个或多个数据项在主机设备202中变化的频率的时间段。备份代理208确定的时间段是数据项在主机设备202中变化之前的时间段。根据本实施例,检测所述数据项的变化频率是通过检测所述一个或多个数据项中的所述数据项在主机设备202中的类型执行的。备份代理208检测到的数据项类型是与软件产品相关的数据的特定特征,根据所述特定特征可以确定数据的变化频率。
79.备份策略存储库210通过份系统204的备份层212提供一个或多个数据项的每个备份的最小存储时间。如上所述,备份策略存储库210用于存储备份数据留存的策略。例如,所述备份策略中的数据留存策略可以包括:每小时备份一次且对应数据留存一天、每天备份一次且对应数据留存一周、每周备份一次且对应数据留存一个月、每月备份一次且对应数据留存一年。可以理解的是,通常,备份执行的频率越低,最小存储时间就越长。
80.备份层212还用于与主机设备202通信,以接收所述检测到的所述一个或多个数据项中的所述数据项的变化频率。备份层212从备份代理208接收所述变化频率。备份层212还用于从备份策略存储库210接收所述一个或多个数据项的每个备份的最小存储时间。根据一个实施例,备份层212获取所述每个备份的最小存储时间包括:获取所述一个或多个数据项的每个备份在存储介质214中的存储时间,其中,所述存储时间大于所述一个或多个数据项在主机设备202中的所述变化频率。变化频率和最小存储时间为备份层212提供了数据项被重写之前的时间范围。
81.备份层212还用于将所述检测到的变化频率和所述获取到的所述一个或多个数据项的每个备份的最小存储时间提供给存储介质214,以对所述数据项进行分组。通常,存储介质214可以具有其自己的控制器,所述控制器可以使用与所述检测到的变化频率和所述获取到的所述一个或多个数据项的每个备份的最小存储时间相关的接收信息来确定其中每个块的存储(重写)模式。根据所述变化频率和所述最小存储时间能够对存储介质214中的数据项进行分组,以允许将所述数据项存储在存储介质214的合适块中,以便降低存储介质214的写入放大率。
82.存储介质214用于根据所述提供的变化频率和所述一个或多个数据项的每个备份的最小存储时间对所述数据项进行分组。频繁变化的数据项被分组并写入到剩余寿命长(即最小存储时间长)的各个块中,而不经常变化的数据项被分组并写入到剩余寿命短(即最小存储时间短)的各个块中。所述数据项的分组是根据所述变化频率和所述最小存储时
间执行的,以降低存储介质214的写入放大率。根据一个实施例,所述数据项的分组是由存储介质214通过对所述备份的最小存储时间相同的数据项进行分组执行的。对备份的最小存储时间相同的数据项进行分组,以便块中的大部分数据项可以同时重写。因此,降低了存储介质214的写入放大率。根据一个实施例,所述数据项的分组是由存储介质214通过对存储介质214中进行备份期间没有变化的数据项进行分组执行的。在存储介质214中进行备份期间可能没有变化的数据项可以被确定为具有较低的变化频率,将这些数据项标记为冷数据项并相应地将这些数据项分组在一起。
83.存储介质214还用于估计所述一个或多个块中的每个块的剩余寿命。估计每个块的剩余寿命能够将数据项存储在各个块中,这样使用频繁变化的数据项写入剩余寿命长的各个块,而使用不经常变化的数据项写入剩余寿命短的各个块。这样,存储介质214中的各个块的寿命通常得到提高。根据一个实施例,估计所述每个块的剩余寿命是通过识别以下内容执行的:所述一个或多个块中的每个块的最大可能重写次数和所述一个或多个块中的每个块的已执行重写次数。由于每个块只能被重写有限次数,因此最大可能重写次数和已执行重写次数有助于确定块的剩余重写,以允许将合适的数据项存储在存储介质214的各个块中。
84.存储介质214还用于根据所述估计出的剩余寿命将所述分组后数据项移动到所述块中。在这里,热数据项被移动到估计出的剩余寿命长的块中,而冷数据项被移动到估计出的剩余寿命短的块中。根据一个实施例,识别出估计出的剩余寿命最短的块。不经常变化的数据项(即冷数据)被移动到估计出的剩余寿命最短的这些块中。因此,这些接近寿命结束的块可以使用更长时间段,从而有助于提高存储介质214的整体耐久性。
85.图2b为本发明一个实施例的主机设备202的各种示例性组件的框图。主机设备202包括第一处理器216、第一收发器218和第一存储器220。第一处理器216可以通信地耦合到第一收发器218和第一存储器220。第一存储器220还包括一个或多个数据项222和备份代理208。
86.第一处理器216用于将一个或多个数据项222提供给备份系统204。在一种实现方式中,第一处理器216用于执行存储在第一存储器220中的指令,这些指令在由第一处理器执行时,使得主机设备与本发明提供的备份系统通信。在一个示例中,第一处理器216可以是通用处理器。第一处理器216的其它示例可以包括但不限于微处理器、微控制器、复杂指令集计算(complex instruction set computing,cisc)处理器、专用集成电路(application-specific integrated circuit,asic)处理器、精简指令集(reduced instruction set,risc)处理器,超长指令字(very long instruction word,vliw)处理器、中央处理单元(central processing unit,cpu)、状态机、数据处理单元和其它处理器或控制电路。此外,第一处理器216可以是指一个或多个单独的处理器、处理设备、作为机器一部分的处理单元,例如,主机设备202。
87.第一收发器218包括合适的逻辑、电路和/或接口,它们可以用于与备份系统204等一个或多个外部设备通信。第一收发器218的示例可以包括但不限于天线、远程信息处理单元、射频(radio frequency,rf)收发器、一个或多个放大器、一个或多个振荡器、数字信号处理器,编码译码器(codec)芯片组和/或用户识别模块(subscriber identity module,sim)卡。
88.第一存储器220是指主机设备202的主存储设备。第一存储器220包括合适的逻辑、电路和/或接口,它们可以可以用于存储具有第一处理器216可执行的至少一个代码部分的机器代码或指令。第一存储器220的实现示例可以包括但不限于电可擦除可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、随机存取存储器(random access memory,ram)、只读存储器(read only memory,rom),硬盘驱动器(hard disk drive,hdd)、闪存、安全数字(secure digital,sd)卡、固态硬盘(solid-state drive,ssd)或cpu高速缓存。第一存储器220可以存储操作系统或其它程序产品(包括一个或多个操作算法),或存储操作系统和其它程序产品两者以操作主机设备202。一种用于提供非瞬时性存储器的计算机可读存储介质可以包括但不限于电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或上述任何合适的组合。
89.第一存储器220包括与在主机设备202上执行的一个或多个软件产品相关的一个或多个数据项222。备份代理208用于充当主机设备202和备份系统204之间的接口,以将一个或多个数据项222中的数据项的变化频率提供给备份系统204。
90.一方面,在操作中,第一处理器216用于将一个或多个数据项222的变化频率从备份代理208提供给备份系统204。此外,第一处理器216还用于将一个或多个数据项222提供给备份系统204,以实现一个或多个数据项222的备份。
91.图2c为本发明一个实施例提供的备份系统204的各种示例性组件的框图。备份系统204包括第二处理器224、第二收发器226和第二存储器228。第二处理器224可以通信地耦合到第二收发器226和第二存储器228。第二存储器228还包括备份策略仓库210、备份层212和存储介质214。
92.第二处理器224用于通过第二收发器226获取一个或多个数据项222和检测到的变化频率。在一种实现方式中,第二处理器224用于执行存储在第二存储器228中的指令,这些指令在由第二处理器执行时,使得备份系统执行本发明提供的方法的步骤。备份策略存储库210用于提供备份系统中的一个或多个数据项222的每个备份的最小存储时间。备份层212用于接收变化频率和最小存储时间并提供给存储介质214。存储介质214将数据项存储在一个或多个块中。存储介质214用于接收变化频率和最小存储时间,以对数据项进行分组。此外,存储介质214估计各块的剩余寿命,并根据剩余寿命将分组后数据项存储在各块中。
93.一方面,在操作中,第二处理器224用于从主机设备接收变化频率,并将变化频率提供给备份层212。此外,第二处理器224将从主机设备接收到的一个或多个数据项提供给存储介质214,以将一个或多个数据项的备份存储在备份系统204中。
94.图3为本发明一个实施例的一种用于提高备份系统的存储介质的耐久性的系统300的图示。系统300包括主机设备202、备份代理208、策略引擎306、辅助存储层308、备份层212和块存储层312。
95.主机设备202包括备份在备份系统的存储介质中的一个或多个数据项。主机设备202的备份代理208用于检测主机设备202的一个或多个数据项中的一个数据项的变化频率。所述变化频率是所述数据项的最大寿命,在所述寿命之后,所述数据项在主机设备202中变化,因此需要在存储介质中再次备份。备份代理208将所述变化频率作为变化提示314提供给备份层212。
96.策略引擎306用于存储与备份系统204中的数据项存储和留存相关的备份策略。策略引擎306也可以称为备份策略存储库。策略引擎306通过备份策略将最小存储时间提供给备份层212。所述最小存储时间是存储介质的一个或多个块中的一个块的最小寿命,在所述寿命之后,所述块中的数据项被重写。策略引擎306将所述最小存储时间作为精确的备份策略316提供给备份层212。
97.辅助存储层308包括备份层212,其用于与主机设备202通信,以通过备份代理208接收所述检测到的所述一个或多个数据项中的所述数据项的变化频率。备份层212还用于从策略引擎306接收所述一个或多个数据项的每个备份的最小存储时间。备份层212还用于将所述检测到的变化频率和所述获取到的所述一个或多个数据项的每个备份的最小存储时间提供给所述存储介质,以对所述数据项进行分组。备份层212提供所述变化频率和所述最小存储时间作为新写入协议318。在一个示例中,新写入协议318包括偏移值、数据项的大小、数据项的位置、变化频率(即预期耐久性)和最小存储时间(即最大耐久性)。
98.块存储层312用于根据接收到的新写入协议318对所述一个或多个块中的数据项进行分组,其中,新写入协议318包括所述变化频率和所述最小存储时间。块存储层312还用于估计一个或多个块中的每个块的剩余寿命。因此,频繁变化的数据项(即热数据)存储在最小存储时间长的各个块中,而不经常变化的数据项(即冷数据)存储在最小存储时间短的各个块中。
99.本发明的系统和方法根据所述确定的变化频率和最小存储时间,提供了将数据项高效分组为热数据项(即频繁变化的数据项)和冷数据项(即不经常变化的数据项)。有利的方面是,所述数据项的分组能够将所述数据项存储在所述存储介质的所述一个或多个块中,这样每次都要将大部分数据项重写到给定块中,因此块中的数据项的写入量几乎等于要重写的数据项的大小。这与传统技术形成对比,在传统技术中,每次要重写的数据项较少,因此在块上执行的写入量是要重写的数据项的大小的许多倍。因此,当启动所述备份系统来确定写入下一个块的位置时,所述备份系统首先通过识别被完全或几乎完全重写的块来识别哪个块可以被擦除。与现有技术相比,这使得所述存储介质的写入放大率显著降低。此外,这样能够根据每个块的剩余寿命将所述数据项存储在各个块中,因此,与传统技术相比,这些块可以使用更长时间段。
100.在不脱离所附权利要求书所定义的本发明范围的情况下,可以对上文描述的本发明实施例进行修改。诸如“包括(including/comprising)”、“结合”、“具有”、“是”之类的用于描述和要求本发明的表达旨在以非排他性的方式解释,即允许未明确描述的各项、组件或元素也存在。对单数的引用也应解释为与复数有关。本文使用的词语“示例性”表示“作为一个示例、实例或说明”。任何描述为“示例性的”实施例并不一定解释为优先于或优越于其它实施例和/或并不排除结合其它实施例的特征。本文使用的词语“可选地”表示“在一些实施例中提供且在其它实施例中没有提供”。应当理解,为了清楚起见而在单独实施例的上下文中描述的本发明的某些特征还可以通过组合提供在单个实施例中。相反地,为了清楚起见而在单个实施例的上下文中描述的本发明的各种特征也可以单独地或通过任何合适的组合或作为本发明的任何其它描述的实施例提供。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献