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

针对已分化数据恢复配置的存储器健康跟踪的制作方法

2022-07-14 03:15:25 来源:中国专利 TAG:


1.本公开整体涉及数据存储,并且在更具体的示例中,涉及备份数据存储中的数据恢复配置。


背景技术:

2.边缘存储设备(诸如计算机硬盘驱动器、外部硬盘驱动器、可移除固态存储装置(例如,闪存驱动器)等)可受益于远程备份解决方案以在边缘存储设备的劣化或损失的情况下防止数据丢失。例如,此类存储设备可被配置用于对基于云的存储系统的周期性备份。基于云的存储系统可提供用于与边缘存储设备交互,实现备份配置,以及从存储设备接收待备份的数据的存储应用程序。在一些配置中,存储应用程序可为分布式存储系统提供支持针对多个终端用户的备份或其他数据存储应用程序的接口功能。
3.通常,分布式存储系统用于以具有预定冗余级别的分布式且容错的方式存储大量(例如,太字节、拍字节、艾字节等)数据,诸如对象或文件。此类分布式存储系统可特别有利地作为边缘存储设备的主动备份目的地。
4.这些大规模存储系统可支持擦除编码的并分布在许多存储设备上的数据的存储。可将数据(诸如文件或对象)分成在大小方面具有上边界的消息或类似数据单元。然后将这些数据单元分成多个符号。然后将符号用作擦除编码的输入。例如,当使用系统擦除编码算法时,擦除编码过程的输出产生原始符号和固定数量的附加奇偶校验符号。这些符号的总和分布在存储设备的选择中。
5.虽然擦除编码可为恢复数据实现更大级别的冗余和增加的错误率容许,但所需的处理、存储空间和其他存储资源仍然表示存储提供商的大成本。更具体地,对校验水平和数据恢复配置的其他方面的选择可增加或减少存储和恢复所需的处理、存储空间、网络带宽和其他资源。存储提供商可能需要相对于期望的数据备份和恢复服务级别平衡分配给任何给定边缘存储设备的备份的存储资源。
6.可以确定边缘存储设备的备份的一般恢复配置。然而,已知单独存储设备具有不同的实际使用、错误率和劣化。一般配置可基于存储设备的平均或最坏情况性能,并且因此,与实际上由存储设备的当前状况保证的存储资源相比,将更多或更少的存储资源分配给备份。
7.当使用分布式存储系统来提供边缘存储设备的备份时,针对基于最坏情况场景的固定标准为存储设备群体分配存储资源可能会导致浪费的存储资源和/或不必要的数据丢失风险。需要根据特定存储设备的当前时间点的对于数据的实际风险来进行的自适应不同备份。例如,可能需要从单独存储设备接收存储器健康数据并且使用该存储器健康数据以通过已分化数据恢复配置来分配存储资源的存储系统。


技术实现要素:

8.描述了用于将来自存储设备的冗余备份数据存储到分布式存储系统的各个方面,
特别是使用存储器健康跟踪来分化单独存储设备的数据恢复配置。
9.一个一般方面包括一种计算机实现的方法。该计算机实现的方法包括:使用第一数据恢复配置将来自远程存储设备的冗余数据集存储在分布式存储系统中;接收与该远程存储设备相关联的存储器健康数据,其中该存储器健康数据对应于该远程存储设备的非暂时性介质的存储器健康状态;基于该存储器健康数据来确定该远程存储设备的该非暂时性介质的该存储器健康状态的变化;以及响应于该存储器健康状态的该变化,使用第二数据恢复配置来重新分配该分布式存储系统中的该冗余数据集。
10.实施方式可包括下列特征中的一者或多者。该远程存储设备可以是位于远离该分布式存储系统的站点处的非易失性存储器设备,并且重新分配该分布式存储系统中的该冗余数据集可包括周期性地备份存储在该远程存储设备上的当前数据集与在较早时间存储在该远程存储设备上的数据的全面副本之间的差异。该计算机实现的方法还可包括:确定该远程存储设备的周期性备份配置;确定该远程存储设备的至少一个初始存储器健康值;以及基于该至少一个初始存储器健康值和该周期性备份配置来确定该第一数据恢复配置。该计算机实现的方法还可包括:确定该分布式存储系统的至少一个系统资源的服务级别;基于该服务级别来确定用于将该冗余数据集存储在该分布式存储系统中的该至少一个系统资源的分配,其中确定该第一数据恢复配置进一步基于该至少一个系统资源的该分配;以及基于该至少一个系统资源的该分配和该存储器健康的变化来确定该第二数据恢复配置。使用该第一数据恢复配置将该冗余数据集存储在该分布式存储系统中可包括根据第一奇偶校验水平将该冗余数据集编码在第一多个编码数据符号中。使用该第二数据恢复配置重新分配该分布式存储系统中的该冗余数据集可包括根据第二奇偶校验水平将该冗余数据集的至少一部分编码在第二多个编码数据符号中。与该第一奇偶校验水平相比,该第二奇偶校验水平可适应用于恢复该冗余数据集的该部分的不同错误率。该存储器健康数据可包括选自以下的至少一个存储器健康值:位错误率值;写入/擦除循环值;程序循环计数器值;擦除循环计数器值;泄漏检测测量值;不稳定程序干扰值;坏块值;或电压裕度值。该计算机实现的方法还包括根据周期性备份时间表从该远程存储设备接收该冗余数据集,其中结合根据该周期性备份时间表接收该冗余数据集执行从该远程存储设备接收存储器健康数据。该计算机实现的方法还可包括:确定该远程存储设备中的多个物理存储单元;以及存储将该分布式存储系统中存储的该冗余数据集与该远程存储设备中的存储对应数据的该多个物理存储单元相关联的参考值。从该远程存储设备接收存储器健康数据可包括接收该多个物理存储单元中的每个物理存储单元的至少一个存储器健康值。确定该存储器健康状态的该变化可包括:确定该多个物理存储单元中的第一物理存储单元的至少一个存储器健康值满足减少的可靠性状况;以及确定该多个物理存储单元中的第二物理存储单元的至少一个存储器健康值不满足该减少的可靠性状况。使用该第二数据恢复配置来重新分配该分布式存储系统中的该冗余数据集可包括响应于确定该减少的可靠性状况,使用该第二数据恢复配置来存储与该第一物理存储单元相关联的数据。与该第二物理存储单元相关联的数据可保持使用该第一数据恢复配置来存储。确定该存储器健康状态的该变化可包括:确定至少一个减少的可靠性阈值;以及针对该至少一个减少的可靠性阈值评估该存储器健康数据。该计算机实现的方法还可包括:收集与该远程存储设备相关联的远程存储设备类型的远程存储设备群体的历史存储器健康数据;基于所收集的历史存储器健康数据来确定该远
程存储设备类型的数据可靠性模型;以及基于该数据可靠性模型来确定至少一个减少的可靠性阈值,其中确定该存储器健康的该变化包括针对该至少一个减少的可靠性阈值评估该存储器健康数据。
11.另一个一般方面包括一种系统。该系统包括:存储系统,该存储系统被配置为使用第一数据恢复配置来存储来自远程存储设备的冗余数据集;存储器健康监测器,该存储器健康监测器被配置为接收与该远程存储设备相关联的存储器健康数据,其中该存储器健康数据对应于该远程存储设备的非暂时性介质的存储器健康状态;可靠性管理器,该可靠性管理器被配置为:基于该存储器健康数据来确定该远程存储设备的存储器健康状态的变化;以及响应于该存储器健康状态的该变化而发起第二数据恢复配置,其中该存储系统被进一步配置为使用该第二数据恢复配置来存储来自该远程存储设备的冗余数据。
12.实施方式可包括下列特征中的一者或多者。该远程存储设备可以是位于远离该存储系统的站点处的非易失性存储器设备,并且该存储系统可被进一步配置为周期性地存储在存储在该远程存储设备上的当前数据集与在较早时间存储在该远程存储设备上的数据的全面副本之间的差异。该系统还可包括备份接口,该备份接口被配置为确定该远程存储设备的周期性备份配置。该可靠性管理器可被进一步配置为:确定该远程存储设备的至少一个初始存储器健康值;以及基于该至少一个初始存储器健康值和该周期性备份配置来确定该第一数据恢复配置。该可靠性管理器可被进一步配置为:确定该存储系统的至少一个系统资源的服务级别;基于该服务级别来确定用于将冗余数据存储在该存储系统中的该至少一个系统资源的分配,其中该第一数据恢复配置进一步基于该至少一个系统资源的该分配;以及基于该至少一个系统资源的该分配和该存储器健康状态的变化来确定该第二数据恢复配置。该存储系统可被进一步配置为:响应于该第一数据恢复配置,根据第一奇偶校验水平将该冗余数据集编码在第一多个编码数据符号中;以及响应于该第二数据恢复配置,根据第二奇偶校验水平将冗余数据编码在第二多个编码数据符号中。与该第一奇偶校验水平相比,该第二奇偶校验水平可适应用于恢复数据的不同错误率。该系统还可包括备份接口,该备份接口被配置为根据周期性备份时间表从该远程存储设备接收备份数据,其中该存储器健康监测器可被进一步配置为结合根据该周期性备份时间表接收备份数据的该备份接口从该远程存储设备接收存储器健康数据。该存储器健康监测器可被进一步配置为:确定该远程存储设备中的多个物理存储单元;存储将该存储系统中存储的数据与该远程存储设备中的存储对应用户数据的该多个物理存储单元相关联的参考值;以及接收该多个物理存储单元中的每个物理存储单元的至少一个存储器健康值。该可靠性管理器可被进一步配置为:确定该多个物理存储单元中的第一物理存储单元的至少一个存储器健康值满足减少的可靠性状况;以及确定该多个物理存储单元中的第二物理存储单元的至少一个存储器健康值不满足该减少的可靠性状况。该存储系统可被进一步配置为响应于确定该减少的可靠性状况,使用该第二数据恢复配置来存储与该第一物理存储单元相关联的冗余数据。与该第二物理存储单元相关联的该冗余数据可保持使用该第一数据恢复配置来存储。该可靠性管理器可被进一步配置为:确定至少一个减少的可靠性阈值;以及针对该至少一个减少的可靠性阈值评估该存储器健康数据。该可靠性管理器被进一步配置为:访问与该远程存储设备相关联的远程存储设备类型的远程存储设备群体的历史存储器健康数据;基于该历史存储器健康数据来确定该远程存储设备类型的数据可靠性模型;基于该数据可靠性模型
来确定至少一个减少的可靠性阈值;以及针对该至少一个减少的可靠性阈值评估该存储器健康数据。
13.另一个一般方面包括一种系统。该系统包括:存储系统,该存储系统被配置为使用第一数据恢复配置来存储来自远程存储设备的冗余数据集;用于接收与该远程存储设备相关联的存储器健康数据的装置,其中该存储器健康数据对应于该远程存储设备的非暂时性介质的存储器健康状态;用于基于该存储器健康数据来确定该远程存储设备的存储器健康状态的变化的装置;和用于响应于该存储器健康状态的该变化发起第二数据恢复配置的装置,其中该存储系统被进一步配置为使用该第二数据恢复配置来存储来自该远程存储设备的冗余数据。各种实施方案有利地应用分布式存储网络和/或系统的教导内容来提高此类计算机系统的功能。各种实施方案包括克服或至少减少上述先前存储网络和/或系统中的问题的操作,并因此比其他计算网络更为可靠和/或有效。也就是说,本文公开的各种实施方案包括具有功能的硬件和/或软件以通过使用存储器健康数据来分化用于备份单独存储设备的数据恢复配置而改善存储资源的使用。因此,本文所公开的实施方案为存储网络和/或存储系统提供了各种改善,特别是用于基于云的存储。
14.应当理解,本公开中使用的语言主要是出于可读性和指导目的而选择的,并不限制本文公开的主题的范围。
附图说明
15.图1示意性地示出了用于将存储设备备份到分布式存储系统的基于云的系统的示例。
16.图2示意性地示出了可在图1的系统中操作的示例性备份架构。
17.图3示意性地示出了用于图1的系统的存储系统的一些示例性元件。
18.图4示出了基于存储器健康数据来分化数据恢复配置的示例性方法。
19.图5示出了基于存储器健康数据来管理备份配置的示例性方法。
20.图6示出了基于存储器健康数据来分化存储设备的存储单元内的数据恢复配置的示例性方法。
21.图7示出了使用减少的可靠性状况来改变数据恢复配置的示例性方法。
具体实施方式
22.以下实施方案允许根据用户本地存储的存储器健康来进行的灵活云冗余分配。例如,边缘存储设备产品(如闪存驱动器或固态驱动器(ssd))的采购者可具有允许制造商跟踪其存储器健康以便更好地管理数据备份和/或主动向采购者警告存储器健康的变化的选项。采购者可接收用于选择从其存储设备收集存储器健康数据的激励,诸如降价的云服务。存储器健康信息可由云存储提供商使用,从而向采购者提供云备份应用程序以基于存储器健康数据来优化备份存储分配。
23.云存储提供商可提供分布式存储系统,该分布式存储系统为存储在特定存储设备上的数据提供两个保护级别。备份服务可包括具有超慢恢复延迟的完整备份作为备份的第一级别—缓慢且便宜的保护,以在特定时间点存储存储设备的整个内容的快照。这些完整备份可根据周期性备份时间表或其他备份状况来周期性地执行。该第一保护级别对于处理
存储设备的突然灾难性损失(例如,由于盗窃、丢失或机械故障)可能是最有用的。示例性缓慢存储系统可包括互连磁盘冗余阵列(raid)系统和/或低成本存储备份,诸如磁带、高容量硬盘驱动器(hdd)、x4 nand闪存存储器等。
24.第二备份保护级别可包括具有快速数据恢复响应时间的灵活保护,诸如频繁快速备份,以存储当前存储在存储设备上的数据与存储在第一级保护中的最近快照之间的增量。该第二保护级别对于处理存储设备的可靠性的逐渐劣化(例如,由于高写入/擦除循环值而引起的高位错误率(ber))可能是最有用的。示例性快速响应存储系统可包括服务器和配置有快速响应存储器的存储阵列,诸如所有闪存存储阵列。
25.边缘存储设备可具有任何类型,诸如消费者或企业、ssd、hdd、混合驱动器、安全数字(sd)卡、通用串行总线(usb)棒、或其他形式因子的闪存驱动器。在所示的实施方案中,存储设备被备份到分布式存储系统,其通常作为云存储系统的部件操作。然而,其他存储系统配置是可能的,并且所描述的系统和方法可被实现用于备份到任何类型的本地存储系统,甚至可能到与正在进行备份的存储设备相同类型的另一个边缘存储设备。
26.在一些实施方案中,云备份服务可将两种类型的可靠性威胁分化到存储设备的物理存储介质:逐渐可靠性劣化(例如,由于高w/e循环值引起的高位错误率)以及“灾难性”突然丢失(以下事件:盗窃、丢失、故障等)。因此,云备份服务可实现数据的两级云保护。
27.第一保护级别可包括具有超慢恢复延迟的完整备份。为了保护“灾难性”突然丢失事件,云提供商可保持数据的完整更新备份,尽管它可在非常高的恢复延迟持续时间中存储。例如,对于存储设备故障的此类罕见事件,直到提供整个存储数据集的响应时间可以小时为单位。针对整个设备的缓慢且便宜的备份方法可用于所提出的第一保护级别,诸如多个客户端上的raid和/或低成本存储备份(磁带、低成本hdd、x4 nand等)。
28.第二保护级别可包括具有快速数据恢复响应时间的针对逐渐可靠性劣化的灵活保护(基于存储器健康的减少的可靠性状况)。第二保护级别可基于存储设备的物理健康以灵活的方式分配冗余。每个存储设备中的物理存储介质的存储器健康参数由存储设备跟踪,并且存储器健康数据可发送到存储系统。然后,存储系统可使用该信息来动态地分配特定存储设备或甚至那些设置内的物理单元(设备、裸片、页面/块等)的数据恢复配置中的冗余。
29.为了进行保护免于逐渐可靠性劣化(即,高ber),可使得云服务提供商能够访问由存储设备收集的存储器健康参数。存储器制造商可包括对存储设备中的非易失性存储器设备的物理健康参数的远程访问(根据用户批准调节)。存储器健康数据的收集可允许存储器制造商向用户提供存储器健康警告,以及提供与用户的云备份服务相关的另外能力。物理存储器健康参数可包括:
30.·
ber(位错误率)值
31.·
w/e(写入/擦除)循环值
32.·
plc(程序循环计数器)值
33.·
elc(擦除循环计数器)值
34.·
泄漏检测测量值
35.·
epd(不稳定程序干扰)错误值
36.·
坏块统计信息
37.·
电压裕度值。
38.该第二保护级别可存储在分布式存储系统内的快速响应存储器备份中,该快速响应存储器备份被配置为允许数据的快速恢复。存储系统可利用对存储器健康数据的了解来调整最佳冗余分配。在一些实施方案中,第二保护级别可用于从完成整个存储器备份的全面副本(第一保护级别)的最后时间存储增量备份。增量备份可以是在较早时间进行的全面副本与存储设备中的当前数据集之间的数据的变化。
39.图1示出了示例性基于云的系统100的框图,其中可针对快速存储系统(第二保护级别)实现具有对已分化恢复配置的存储器健康跟踪的分层存储。如图所示,系统100包括客户端系统102(例如,客户端系统102.1和102.n)、分布式存储系统120.1、102.2

120.n、与分布式存储系统相关联的对象存储库140.1、140.2

140.n和服务器系统150(例如,服务器系统150.1和150.n)。部件102、120、140和/或150和/或其子部件可直接或经由通信网络110互连。在一些情况下,为了简单起见,取决于上下文,客户端系统102.1

102.n也可在本文中单独地或共同地称为客户端系统102或客户端102,分布式存储系统120.1、120.2

120.n可在本文中单独地或共同地称为分布式存储系统120或dss 120,存储应用程序124.1、124.2

124.n可在本文中单独地或共同地称为存储应用程序124,元数据存储库130.1、130.2

130.n可在本文中单独地或共同地称为元数据存储库130,对象存储库140.1、140.2

104.n可在本文中单独地或共同地称为对象存储库140,并且服务器系统150.1和150.n可在本文中单独地或共同地称为服务器系统150。
40.通信网络110可包括任何数量的专用和公共计算机网络。通信网络110可包括具有各种网络类型中的任何网络类型的网络,包括局域网(lan)、广域网(wan)、无线网络、虚拟专用网络、有线网络、互联网、个人区域网络(pan)、对象总线、计算机总线,和/或设备可经由其以安全或不安全的方式通信的任何合适通信介质的组合。
41.可使用任何合适的协议经由网络110传输数据。示例性协议包括但不限于传输控制协议/互联网协议(tcp/ip)、用户数据报协议(udp)、传输控制协议(tcp)、超文本传送协议(http)、安全超文本传送协议(https)、通过http的动态自适应流式传输(dash)、实时流式传输协议(rtsp)、实时传输协议(rtp)和实时传输控制协议(rtcp)、通过互联网语音协议(voip)、文件传输协议(ftp)、websocket(ws)、无线接入协议(wap)、各种消息传送协议(短消息服务(sms)、互联网消息访问协议(imap)等)或其他合适的协议。
42.客户端系统102可包括电子计算设备,诸如个人计算机(pc)、膝上型计算机、智能电话、平板电脑、移动电话、可穿戴电子设备、服务器、服务器设施、或能够与通信网络110通信的任何其他电子设备或计算系统。客户端系统102可将一个或多个客户端应用程序存储在非暂时性存储器中,包括内部存储器(未示出)和/或存储设备106.1-106.n,以供用户104.1-104.n使用。示例性外部或可移除存储设备106可包括ssd、hdd、混合驱动器、安全数字(sd)卡、通用串行总线(usb)棒、或其他形式因子的闪存驱动器,包括非暂时性存储介质。客户端应用程序可由客户端系统102的计算机处理器执行。在一些示例性实施方案中,客户端应用程序包括一个或多个应用程序,诸如但不限于数据存储应用程序、搜索应用程序、通信应用程序、生产力应用程序、游戏应用程序、词处理应用程序或任何其他应用程序。在一些情况下,客户端应用程序可包括可由其执行的网络浏览器和/或代码。
43.在一些实施方案中,客户端系统102可包括用于创建、修改和删除对象的应用程
序,该对象可存储在对象存储库140中。例如,应用程序可被专门定制以用于与云应用程序152和/或存储应用程序124进行通信,诸如适于配置和/或利用存储应用程序124的编程接口的应用程序。在一些实施方案中,云应用程序152和/或存储应用程序124可体现客户端系统102和/或存储设备106的备份应用程序。例如,存储在客户端系统102和/或存储设备106的非暂时性存储器中的数据单元的冗余副本可使用存储应用程序124和/或云应用程序152作为对象存储在对象存储库140中。在一些实施方案中,由服务器系统150.1托管的云应用程序152可体现存储应用程序124的客户端,因为它可使用其所面向的各种编程接口来访问存储应用程序124的功能(例如,以对存储在对象存储装置中的对象进行创建、存储、检索、删除等)。客户端系统102可远离分布式存储系统120和服务器系统150,并且仅经由通信网络110连接。例如,分布式存储系统120和/或服务器系统150可位于安全站点(诸如商业数据中心)中,并且客户端系统102可以是在远程家庭、商业和移动站点处操作的个人和商业计算机系统和存储设备。
44.客户端系统102、分布式存储系统120和/或服务器系统150可向/从彼此发送/接收请求和/或发送/接收响应,诸如但不限于http(s)请求/响应。客户端系统102可基于由客户端系统102生成和/或从服务器系统128和/或分布式存储系统120接收的信息,经由输出设备(诸如显示器、音频复制设备、振动机构等)向用户104呈现信息(诸如视觉、音频、触觉和/或其他信息)。
45.用户104可与各种客户端系统102交互以提供输入并接收信息。例如,如图所示,用户104.1和104.n可通过利用在客户端系统102.1和102.n上执行的操作系统和/或各种应用程序来与客户端系统102.1和102.n交互。
46.在一些实施方案中,客户端应用程序(例如,在客户端系统102上执行的客户端应用程序、云应用程序152等)可通过通信网络110向分布式存储系统120或对象存储库140发送请求(也称为对象存储请求)以存储、更新、删除或检索存储在分布式存储系统120和/或对象存储库140中的特定文件、数据对象或其他数据单元。例如但不限于,用户104可配置备份应用程序以将备份数据集(诸如存储设备的全面快照或其中的选定卷或文件和/或自先前快照或增量更新以来的变化的增量更新)周期性地存储到分布式存储系统120或对象存储库140,在该情况下,备份应用程序将请求传输到分布式存储系统120或对象存储库140以存储更新。存储设备或选定卷、目录、存储桶等的全面副本可包括选定存储设备或其选定子部分中包含的所有数据对象或文件。
47.对象存储请求可包括描述被创建和/或更新的对象的信息(诸如文件名、包括更新的数据、客户端标识符、操作类型等),并且存储应用程序124可使用该信息来记录更新,如本文所述。在另一个示例中,客户端应用程序(例如,在客户端系统102上执行的应用程序、云应用程序152等)可请求对象或其部分、匹配特定标准的对象列表等,在该情况下,请求可包括对应信息(例如,对象标识符、搜索标准(例如,时间/日期、关键词等)),并且从存储应用程序124接收对象列表或对象本身。许多其他用例也是适用的并且被设想。
48.存储应用程序124可提供对象存储服务,使用元数据存储库130和对象存储库140来管理数据存储装置(例如,存储、检索和/或另外操纵元数据存储库130和对象存储库140中的数据等),处理从各种实体(例如,客户端系统102、服务器系统150、本地应用程序等)接收的请求,提供并发性,提供数据冗余和重复数据,执行垃圾收集,以及执行其他动作,如本
文进一步讨论。存储应用程序124可包括各种接口,诸如可由系统100的部件(诸如各种客户端应用程序、云应用程序152、存储器健康监测器154等)访问(例如,本地、远程等)的软件和/或硬件接口(例如,应用程序编程接口(api))。
49.在一些实施方案中,存储应用程序124可以是在两个或更多个计算系统(例如,分布式存储系统120.1-120.n)中实现的分布式应用程序。例如,存储应用程序124可被配置为使用缓慢分布式存储系统120.1为备份数据提供第一保护级别,并且使用快速分布式存储系统120.2为备份数据提供第二保护级别。在一些实施方案中,对象存储库140可包括多个存储设备、服务器、软件应用程序和其他部件,诸如但不限于任何合适的企业数据级存储硬件和软件。在一些实施方案中,存储应用程序124可以是从其他客户端(例如,本地应用程序、远程应用程序等)接收本地和/或远程存储请求的本地应用程序。
50.在非限制性示例中,分布式存储系统120可提供对象存储服务,诸如提供企业规模对象存储功能的存储服务。此类存储服务的另外示例可包括amazon简单存储服务(s3)对象存储服务,如activescale
tm
、其他本地和/或基于云的s3存储系统/服务。
51.分布式存储系统120可耦接到和/或包括对象存储库140。对象存储库140可包括用于存储数据对象的一个或多个数据存储库。对象存储库140可跨多个物理存储设备实现。在一些示例性实施方案中,多个物理存储设备可位于不同位置处。存储在对象存储库140中的对象可由存储在元数据存储库130中的元数据条目引用。在一些示例性实施方案中,给定对象或其部分的多个副本(例如,擦除编码副本)可存储在不同的物理存储设备处,以进行保护免于通过系统故障引起的数据丢失或使对象能够从不同地理位置快速访问。
52.元数据存储库130可包括存储有序元数据条目集合的数据库。条目可响应于由存储服务接收的对象存储请求(诸如但不限于放置、获取、删除、列出等)而被存储。由存储应用程序124提供的存储服务可指示元数据存储库130的元数据控制器记录数据操纵操作。例如,由存储应用程序124提供的存储服务可调用元数据存储库130的元数据控制器的对应方法,其被配置为执行各种存储功能并且取决于配置根据需要行动。
53.在一些实施方案中,元数据存储库130可包括具有两个或更多个分片的水平划分数据库,但其他合适的数据库配置也是可能的并被设想。由于水平划分是数据库设计原理,由此数据库表的行被单独保持,而不是分成列(这是归一化和竖直划分在不同程度上所做的),每个分区可形成分片的一部分,该分片继而可位于单独数据库服务器或物理位置上。取决于配置,在一些具体实施中,数据库分片可在不同的物理存储设备上实现,作为相同物理存储设备上的虚拟分区,或者作为它们的任何组合。
54.元数据存储库130和/或对象存储库140可包括在分布式存储系统120中,或者在另一个计算系统和/或不同于分布式存储系统120但耦接到该分布式存储系统或可由该分布式存储系统访问的存储系统中。元数据存储库130和/或对象存储库140包括一个或多个非暂时性计算机可读介质(例如,诸如参考图3中的存储器316讨论的那些)以用于存储数据。在一些具体实施中,元数据存储库130和/或对象存储库140可与存储器316结合或者可与其不同。在一些具体实施中,元数据存储库130和/或对象存储库140可存储与数据库管理系统(dbms)相关联的数据,诸如由存储应用程序124和/或系统100的其他部件包括和/或控制的dbms。在一些情况下,dbms可以由行和列构成的多维表存储数据,并且使用编程操作来操纵(例如,插入、查询、更新和/或删除)数据行,但其他合适的dbms配置也是适用的。
55.在一些实施方案中,服务器系统150.n可托管存储器健康监测器154,诸如由存储器制造商使用以从远程存储设备(例如,客户端系统102和存储设备106)收集存储器健康数据的监测应用程序。例如,存储器健康监测器154可使用基于权限的访问来接收来自每个被监测存储设备的存储器健康数据的周期性更新。存储器健康监测器154可被配置为处理所接收的存储器健康数据,并且当检测到存储器健康状态的变化时向用户104提供警报。在一些实施方案中,存储器健康监测器154还可被配置为向其他系统和应用程序(诸如服务器系统150.1上的云应用程序152和/或分布式存储系统120上的存储应用程序124)提供关于存储器健康状态的变化的存储器健康数据和/或警报。在一些实施方案中,其他系统或应用程序(诸如服务器系统150.1上的云应用程序152和/或分布式存储系统120上的存储应用程序124)可直接从客户端系统102和/或存储设备106接收存储器健康数据和/或警报。
56.应当理解,图1所示的系统100代表示例性系统,并且涵盖各种不同的系统环境和配置并且其在本公开的范围内。例如,在一些另外的实施方案中,各种功能可在服务器系统150和分布式存储系统120之间移动、从服务器系统150和分布式存储系统120移动到客户端,或反之亦然,模块可被组合和/或分割成另外的部件,数据可被合并到单个数据存储库中或进一步分割到附加数据存储库中,并且一些具体实施可包括附加或更少的计算设备、服务和/或网络,并且可实现客户端或服务器侧的各种功能。此外,系统100的各种实体可集成到单个计算设备或系统或者附加计算设备或系统中等。
57.图2示意性地示出了用于基于存储器健康数据来提供已分化数据恢复配置的系统200的选定部件。在一些实施方案中,系统200可在类似于图1中的系统100的架构中实现。分布式存储系统220可与分布式存储系统120类似地配置。存储设备240可与存储设备106和/或客户端系统102的内部存储设备类似地配置。备份应用程序210和/或其部件可由客户端系统102、分布式存储系统220、服务器系统150和/或它们的各种组合托管。
58.备份应用程序210可包括用于为一个或多个存储设备240提供冗余备份的一个或多个软件和/或硬件部件。来自存储设备240的数据244可被备份到分布式存储系统220。在所示的配置中,备份应用程序210可由体现在分布式存储系统220中的快速存储系统支持,诸如上文针对被配置为解决存储可靠性的逐渐劣化的第二保护级别所描述的。更具体地,备份应用程序210可被配置为基于存储器健康数据246的变化来支持分布式存储系统220中的已分化数据恢复配置。在一些实施方案中,可选择不同数据恢复配置并且使用数据映射212来将其映射到存储设备和/或物理存储单元处的备份数据。例如,备份应用程序210可实现针对存储单元242的层级物理模型,其使得能够以存储设备240内的擦除块、页面、裸片和/或存储器设备级别设置不同的奇偶校验水平。
59.分布式存储系统220可存储来自存储设备240的数据集244的冗余集。例如,备份应用程序210可存储在存储设备240中存储的数据的备份副本。在一些实施方案中,分布式存储系统220中的数据244可根据数据恢复配置214来进行存储以提供用于恢复丢失或损坏的数据的附加冗余和纠错。备份应用程序210可确定数据恢复配置214并且在数据244的每个数据单元被存储时将该数据恢复配置分配到这些数据单元,和/或基于与存储设备240中的对应数据244相关联的物理存储器设备的存储器健康状态的变化来重新分配数据单元。在一些实施方案中,分布式存储系统220可包括缓慢存储选项和快速存储选项,并且数据244可以全面备份的缓慢存储和增量备份的快速存储的组合进行存储。
60.存储设备240可包括任何数量的边缘存储设备,诸如ssd、hdd、混合驱动器、安全数字(sd)卡、通用串行总线(usb)棒、或独立设备中或集成到计算机系统中的其他形式因子的闪存驱动器,诸如个人计算机(pc)、膝上型计算机、智能手电话、平板电脑、移动电话、可穿戴电子设备、智能设施、物联网(iot)设备、嵌入式系统、服务器、服务器设施、或具有非易失性存储器、计算机处理和网络通信能力的任何其他电子设备。在一些实施方案中,存储设备240可包括体现非易失性存储器的多个物理存储单元242以用于存储数据244。例如,存储单元242可包括存储器设备、裸片、介质盘和/或它们的物理子单元。
61.存储设备240可各自包括用于收集与存储设备所包含的非暂时性存储介质相关的存储器健康数据264的一个或多个硬件和/或软件模块。例如,存储设备240可聚合各种测量、计数、参数和其他值,并且将它们存储在存储器位置中以供存储设备内的各种存储设备管理功能使用。存储在存储设备240中的存储器健康数据246可通过安全远程访问或消息传送协议来进行访问,诸如互联网协议、远程存储器访问(rma)等。在一些实施方案中,存储设备240可通过应用程序编程接口(api)托管用于支持备份应用程序210的应用程序或服务。例如,存储设备240可将来自数据244的周期性备份数据250发送到备份应用程序210,并且可包括来自存储器健康数据246的健康数据252作为那些消息或数据交换的一部分。
62.如图所示,备份应用程序210可包括:数据映射212,该数据映射被配置为将数据单元(文件、对象、块等)从存储设备240映射到分配存储系统220中的对应数据位置;数据恢复配置214,该数据恢复配置被配置为包括对应于由每个配置处理的不同错误率的多个已分化数据恢复配置;存储器健康监测器216,该存储器健康监测器被配置为从存储单元240收集存储器健康数据246;和可靠性管理器218,该可靠性管理器被配置为评估所收集的存储器健康数据246并且确定哪些数据恢复配置214应用于从特定存储设备和/或存储单元接收的备份数据。例如,备份应用程序210可在消息、会话或响应中从存储设备240周期性地接收备份数据250和存储器健康数据252,并且针对减少的可靠性阈值评估所接收的存储器健康数据252以确定哪些数据恢复配置214应用于所接收的备份数据。下文关于图3进一步描述在一些实施方案中的可支持备份应用程序210的操作的各种部件。
63.图3示意性地示出了如上文所描述的托管备份应用程序的服务器系统、分布式存储系统和/或它们的组合的选定模块。系统300可包括总线310,该总线将至少一个通信单元312、至少一个处理器314和至少一个存储器316互连。总线310可包括允许在系统300的部件之间进行通信的一个或多个导体。通信单元312可包括使得系统300能够与其他设备和/或系统通信的任何收发器状机构。例如,通信单元312可包括有线或无线机构,该机构用于与文件系统客户端、其他访问系统和/或一个或多个对象存储系统或诸如存储节点或控制器节点的部件通信。处理器314可包括任何类型的解释和执行指令的处理器或微处理器。存储器316可包括随机存取存储器(ram)或存储供处理器314执行的信息和指令的另一类型的动态存储设备和/或只读存储器(rom)或存储供处理器314使用的静态信息和指令的另一类型的静态存储设备和/或诸如硬盘或固态存储元件的任何合适的存储元件。
64.系统300可包括或可访问一个或多个数据库和/或专用数据存储库,诸如元数据存储库380和数据存储库390。数据库可包括一个或多个数据结构,该数据结构用于存储、检索、索引、搜索、过滤等结构化和/或非结构化数据元素。在一些实施方案中,元数据存储库380可被构造为由与数据存储库390中存储的数据对象相关的元数据键值条目索引的参考
数据条目和/或数据字段。数据存储库390可包括数据对象,该数据对象由对象数据(诸如主机数据)、一定量的元数据(被存储为元数据标签)和全球唯一标识符(guid)构成。元数据存储库380、数据存储库390和/或其他数据库或数据结构可在诸如服务器节点、存储节点、控制器节点、或访问节点的单独计算系统中利用单独的通信、处理器、存储器和其他计算资源进行保持和管理,并且由系统300通过数据访问协议进行访问。元数据存储库380和数据存储库390可跨多个存储系统共享。
65.存储系统300可包括多个模块或子系统,这些模块或子系统被存储和/或实例化在存储器316中以供处理器314运行。例如,存储器316可包括备份接口320,该备份接口被配置为接收、处理和管理来自一个或多个远程存储设备的备份数据和相关请求。存储器316可包括编码/解码引擎330,该编码/解码引擎被配置用于对与存储在数据存储库390中的数据单元(文件、对象、消息等)相对应的符号进行编码和解码。存储器316可包括存储器健康监测器340,该存储器健康监测器被配置用于接收和管理从远程存储设备接收的存储器健康数据。存储器316可包括可靠性管理器350,该可靠性管理器被配置用于基于存储设备的一个或多个存储器健康状态来管理用于存储备份数据的不同数据恢复配置。在一些实施方案中,备份接口320、编码/解码引擎330、存储器健康监测器340和/或可靠性管理器350可集成到备份应用程序(诸如图2中的备份应用程序210)、存储应用程序(诸如图1中的存储应用程序124)中,和/或通过api或其他接口进行管理作为单独库或背景过程(例如,守护进程)。
66.备份接口320可包括用于存储、恢复和以其他方式管理从远程存储设备到数据存储库390的数据备份请求的接口协议或功能和参数的集合。例如,备份接口320可包括用于根据对象或文件存储系统的协议来读取、写入、修改或以其他方式操纵备份数据对象和/或文件,以及其相应的客户端或主机数据和元数据的功能。在一些实施方案中,备份接口320可实现多级备份配置,该多级备份配置包括用于缓慢存储的周期性完整备份以及用于快速存储的更频繁的增量备份。备份接口320可被进一步配置为基于存储器健康数据使用已分化数据恢复配置以用于存储备份数据。例如,用于快速存储的增量备份可被配置为确定存储器健康状态,并且使数据恢复配置的选择基于存储器健康状态和/或其变化。
67.在一些实施方案中,备份接口320可包括多个硬件模块和/或软件模块,该硬件模块和/或软件模块被配置为使用处理器314和存储器316来处理或管理备份接口320的限定操作。例如,备份接口320可包括备份调度器322、备份数据信道324、存储管理器326和备份用户接口328。对于任何给定存储设备,备份接口320可使用备份调度器322和备份数据信道324来接收或发起备份请求。这些备份操作可包括由存储管理器326处理的备份操作,包括编码操作和解码操作。在一些实施方案中,备份用户接口328可被配置为启用用户发起的备份和/或设置由备份调度器322使用的备份配置参数。
68.备份接口320可接收包括备份数据的消息并且根据适当的通信和存储协议来解析它们。在一些实施方案中,备份接口320可从构成备份数据请求的所接收的一条或多条消息中识别事务标识符、客户端标识符、对象标识符(对象名称或guid)、数据操作和备份数据操作的附加参数(如果有的话)。
69.备份调度器322可包括用于从远程存储设备接收备份数据请求和/或按限定时间表向远程存储设备发起备份数据请求的接口、功能或逻辑,以及相关数据结构。例如,根据基于时间或事件的时间表,远程存储设备可通过网络连接发送备份数据请求并且该备份数
据请求被寻址到系统300或其端口或部件(诸如针对备份数据信道324的api)。备份调度器322可包括调度限定和/或调度逻辑,该调度限定和/或调度逻辑被配置为确定何时应通过远程存储设备发起数据备份通信。在一些实施方案中,备份调度器322可被配置为由远程存储设备发起的周期性备份的发起方和/或被配置为由远程存储设备发起的周期性备份的接收方。在一些实施方案中,备份调度器322可包括备份配置322.1和增量备份模式322.2。
70.例如,备份配置322.1可包括多个备份配置参数,该多个备份配置参数可被修改以改变备份接口320的操作。在一些实施方案中,备份配置322.1可存储在配置文件或类似数据结构中。例如,可通过备份用户接口328生成和/或接收默认备份配置和/或一个或多个用户限定的备份配置。在一些实施方案中,备份配置322.1可包括对备份级别(诸如快速存储和/或缓慢存储)的分配,和/或用户备份服务级别的限定,诸如关于备份频率的备份层、恢复条款(可接受的恢复时间)、安全级别和/或资源分配诸如存储空间分配和/或其他云资源分配(例如,处理器、专用硬件/软件服务、网络资源、专用硬件等)。在一些实施方案中,备份配置322.1可包括限定周期性备份时间表的数据结构或功能,该周期性备份时间表以预定间隔或基于其他反复触发状况发起和/或接收备份数据请求。
71.在一些实施方案中,增量备份模式322.2可以是默认备份模式和/或可通过备份用户接口328进行配置以用于存储在备份配置322.1中。增量备份模式322.2可包括逻辑,该逻辑用于识别远程存储设备或其一部分的周期性完整备份,并且发起被配置为存储最近完整备份与存储设备的当前状态之间的差异的递增或增量备份。在一些实施方案中,可在每个完整备份之间发起一系列增量备份,并且增量备份本身可包括自从先前完成备份以来的所有变化或自从紧接之前的增量备份(如果有的话)以来的变化。增量备份可由备份调度器322和/或远程存储设备发起。在一些实施方案中,完整备份可由备份调度器322调度和发起,并且增量备份可由远程存储设备响应于其中存储的数据的变化而发起。
72.备份数据信道324可包括用于从远程存储设备接收备份数据的固定或可配置的网络数据路径。备份数据信道324可包括与通信单元312兼容的物理和/或逻辑联网配置以及用于从远程存储设备接收备份数据的兼容接口、协议和/或参数的组合。在一些实施方案中,备份数据信道324可支持流式传输、基于会话的协议和/或远程存储器访问以支持大量备份数据的高效转移。在一些实施方案中,备份数据信道324可独立于用于发起和管理备份数据信道324的消息传送信道(诸如使用标准https的互联网通信)操作。在实现增量备份的一些实施方案中,可通过高吞吐量备份数据信道324来发起完整备份,并且可通过一般通信信道来发起增量备份。在一些实施方案中,备份数据信道324可从远程存储设备接收备份数据和存储器健康数据两者,将备份数据存储到数据存储库390中的备份数据对象,并且将存储器健康数据存储到元数据存储库380。
73.存储管理器326可包括用于读取、写入和删除数据存储库390中的数据元素的接口、功能和/或参数。例如,对象put命令可被配置为将对象标识符、对象数据和/或对象标签写入到对象存储库。对象get命令可被配置为从对象存储库读取数据。对象delete命令可被配置为从对象存储库删除数据,或者至少标记待删除的数据对象直到未来垃圾收集或类似操作实际删除该数据,或者将物理存储位置重新分配给另一目的。
74.在一些实施方案中,存储管理器326可监管写入和读取在其上存储有数据存储库390的存储介质上擦除编码的数据元素。当接收到消息或数据单元(诸如文件或数据对象)
以用于存储时,存储管理器326可使文件或数据对象穿过擦除编码引擎(诸如编码/解码引擎330)。数据单元可被划分成数据符号,并且符号可被编码成擦除编码数据符号392以用于存储在数据存储库390中。在一些实施方案中,符号可分布在多个存储节点上以辅助故障容许、效率、恢复和其他考虑因素。
75.当要访问或读取数据单元时,存储管理器326可识别每个符号的存储位置,诸如使用存储在元数据存储库580中的数据单元/符号映射382。擦除编码数据符号392可穿过擦除解码引擎(诸如编码/解码引擎330)以使构成数据单元的原始符号返回到存储管理器326。数据单元然后可被重新组装并且由备份接口320使用以完成备份数据恢复操作。存储管理器326可与编码/解码引擎330一起工作以用于存储和检索数据存储库390中的擦除编码数据符号392。
76.在一些实施方案中,存储管理器326可包括元数据管理器或与元数据管理器交接以用于创建、修改、删除、访问和/或以其他方式管理对象或文件元数据(诸如存储在元数据存储库380中的元数据)。例如,当将新的对象写入数据存储库390时,可在元数据存储库380中创建至少一个新的元数据条目以表示描述新创建的对象或与之相关的参数。元数据管理器可生成并维持使得存储管理器326能够定位元数据存储库380内的对象或文件元数据的元数据。例如,元数据存储库380可被组织为键值存储库,并且对象元数据可包括与利用包括每个对象的对象标识符或guid的键值进行索引的那些对象相关的数据对象和/或操作的键值。
77.在一些实施方案中,存储管理器326可使用元数据管理器以将物理单元/数据单元映射384和/或存储器健康数据储存库386存储在元数据存储库380中。例如,物理单元/数据单元映射384可包括参考值的条目,诸如逻辑块地址和存储单元标识符,其将存储设备中的物理存储单元映射到存储在那些远程存储单元中的备份数据单元,该备份数据单元可由存储器健康监测器340和/或可靠性管理器350更新和使用。存储器健康数据储存库386可包括与作为正在进行备份的远程存储设备和/或供存储器健康监测器340和/或可靠性管理器350使用的类似群体和类型的存储设备相关的最近和/或历史存储器健康数据。
78.备份用户接口328可包括用于备份接口320的用户可配置管理的api、功能和/或参数。例如,备份用户接口328可提供用于使得用户能够管理备份调度器322和/或配置备份数据信道324的图形用户接口以及基础逻辑和数据结构。在一些实施方案中,备份用户接口328可被设置为支持互联网协议并且可经由通信单元312从一个或多个远程计算机系统访问的图形用户接口。例如,远程存储设备的用户可以能够从另一个计算机系统(诸如包括或连接到远程存储设备的计算机系统或相同用户可访问的另一个计算机系统)安全地登录到备份用户接口328。
79.编码/解码引擎330可包括用于存储、读取和以其他方式管理数据存储库390中的编码数据(诸如擦除编码数据符号392)的功能和参数的集合。例如,编码/解码引擎330可包括用于将用户数据符号编码成擦除编码数据符号并且将擦除编码数据符号解码回原始用户数据符号的功能。在一些实施方案中,编码/解码引擎330可包括在由存储管理器326管理的数据存储库390的写入路径和/或读取路径中。在一些实施方案中,编码和解码功能可置于具有冗余和/或共享功能的单独编码引擎和解码引擎中,其中类似功能由编码操作和解码操作两者使用。
80.在一些实施方案中,编码/解码引擎330可包括多个硬件模块和/或软件模块,该硬件模块和/或软件模块被配置为使用处理器314和存储器316来处理或管理编码/解码引擎330的限定操作。例如,编码/解码引擎330可包括擦除编码配置332、符号划分器334和编码器/解码器336。
81.擦除编码配置332可包括用于确定用于将数据单元划分成符号、对那些符号进行编码和解码的操作的功能、参数和/或逻辑。例如,存在用于基于将特定数量的符号的消息转换成更多符号的更长消息以使得可从编码符号子集恢复原始消息来提供正向错误校正的各种擦除编码算法。在一些实施方案中,消息可被分成固定数量的符号,并且这些符号用作擦除编码的输入。系统擦除编码算法可产生原始符号和固定数量的附加奇偶校验符号。然后可将这些符号的总和存储到一个或多个存储位置。
82.在一些实施方案中,擦除编码配置332可使得编码/解码引擎330能够根据可用编码算法332.1和由数据存储库390支持的编码块大小332.2来进行配置。例如,编码算法332.1可使得能够选择算法类型(诸如基于奇偶校验的、低密度奇偶校验代码、reed-solomon代码等)以及一个或多个算法参数(诸如原始符号的数量、编码符号的数量、编码速率、接收效率等)。编码块大小332.2可使得能够选择编码符号的块大小。例如,可选择编码块大小以与存储介质考虑因素对准,诸如用于出售状态驱动器(ssd)的擦除块大小)和/或与数据单元和/或数据操作的子单元参数对准的符号大小。擦除编码配置332还可包括奇偶校验水平332.3。奇偶校验水平332.3可以是确定用户数据(诸如主机或备份数据)与奇偶校验数据之间的比率的可配置参数。奇偶校验水平332.3可确定多少符号可能被损坏或丢失并且仍然恢复整个消息。在一些实施方案中,奇偶校验水平332.3可与可从其恢复备份数据的最大错误率相关,其中较高奇偶校验水平对应于较高可允许错误率,还有针对附加奇偶校验符号的较高存储空间使用。在一些实施方案中,擦除编码配置332可包括接口或api(诸如配置服务)以使得可靠性管理器350能够选择编码算法332.1、编码块大小332.2和/或奇偶校验水平332.3的一个或多个参数,从而改变用于来自不同远程存储设备和/或其中的存储单元的备份数据的数据恢复配置。
83.符号划分器334可包括用于接收消息以基于消息中的数据将消息编码和划分成一系列原始符号的功能、参数和/或逻辑。例如,默认符号划分操作可接收消息并且使用由擦除编码配置332限定的符号大小以将消息划分成固定数量的符号以进行编码。
84.编码器/解码器336可包括用于实现编码算法332.1的硬件和/或软件编码器和解码器。例如,编码器/解码器336可包括用于计算符号的奇偶校验并返回擦除编码数据符号392的多个基于寄存器的编码器和解码器。在一些实施方案中,编码器/解码器336可分别集成到写入路径和读取路径中,使得要写入存储介质以及从存储介质读取的数据穿过编码器/解码器336以用于根据编码算法530.1进行编码和解码。
85.存储器健康监测器340可包括用于从远程存储设备收集存储器健康数据以供可靠性管理器350和其他系统功能使用的功能和参数的集合。例如,存储器健康数据可通过备份接口320或另一个数据信道从远程存储设备收集并且存储在元数据存储库380中的存储器健康数据储存库386中。存储器健康监测器340可接收存储器健康数据,该存储器健康数据包括与远程存储设备中的存储介质的功能相关并且与存储器健康状态相关的一个或多个参数。在一些实施方案中,存储器健康监测器340与备份接口320和/或可靠性管理器350集
成。在一些实施方案中,存储器健康监测器340可以是被操作以监测远程设备并报告存储器健康数据参数和/或其他操作参数以用于存储设备管理、质量、安全性和其他服务的单独功能或服务。
86.在一些实施方案中,存储器健康监测器340可包括多个硬件模块和/或软件模块,该硬件模块和/或软件模块被配置为使用处理器314和存储器316来处理或管理存储器健康监测器340的限定操作。例如,存储器健康监测器340可包括存储器数据权限342、存储器数据标识符344、存储器数据处理程序346和/或存储器数据管理器348。
87.存储器数据权限342可包括用于配置和存储用户或存储设备所有者权限以访问远程存储设备的功能、参数和/或数据结构。例如,存储器健康监测器340可被配置为仅访问其明确访问权限已由用户或所有者授予的远程存储设备。在一些实施方案中,远程存储设备可包括配置工具,该配置工具从存储设备启动或作为存储设备注册过程的一部分,并且使得用户能够授权对由存储设备收集的存储器健康数据的访问。例如,当用户通过备份用户接口328选择或配置备份服务时,用户还可被给予实现远程存储器健康监测的选项。来自存储设备所有者的存储器数据访问权限可被收集并存储在存储器数据权限342中和/或可由存储器数据权限342选择性地访问(诸如通过用户简档或系统300可用的类似数据结构)。在一些实施方案中,存储器数据权限342可使得能够选择特定数据健康参数、收集频率、允许用途和要由存储器健康监测器340使用的其他可配置参数。
88.存储器数据标识符344可包括用于识别可由存储器健康监测器340监测的一个或多个存储器健康数据类型的功能、参数和/或逻辑。任何存储设备类型可支持可对应于或用作指示存储器健康状态的存储器健康数据的各种操作参数。存储设备也可关于所收集的存储器健康数据参数以及它们是否被配置用于远程访问而变化。可靠性管理器350还可被配置为支持特定存储器健康数据类型。在一些实施方案中,存储器健康数据类型可包括:ber值、w/e循环值、plc值、elc值、泄漏检测测量值、epd误差值、坏块值、电压裕度值,以及与存储器健康状态直接或间接相关的其他操作值。在一些存储设备中,存储器健康数据可包括基于存储器健康数据类型的聚合或导出值,并且这些聚合或导出值可作为不同存储器健康数据类型进行管理。在一些实施方案中,存储器健康数据标识符344可包括用于将从特定存储设备或存储设备类型收集的存储器健康数据与由可靠性管理器350使用的存储器健康数据类型相匹配以确定可靠性状况的参数。存储器健康数据标识符344还可包括用于标记或定位由存储器数据处理程序346接收的期望存储器健康数据类型的逻辑,并且存储在存储器健康数据储存库386中。
89.存储器数据处理程序346可包括用于接收或识别由系统300接收的存储器健康数据的功能、参数和/或逻辑。例如,存储器数据处理程序346可被配置为通过备份数据信道324接收从远程存储设备接收的存储器健康数据。在一些实施方案中,备份接口320可从远程存储设备接收存储器健康数据作为消息或其他数据转移的一部分,并且存储存储器健康数据和/或将存储器健康数据直接发送到存储器数据处理程序346。在一些实施方案中,存储器数据处理程序346可结合存储器数据管理器348解析和存储存储器健康数据。在一些实施方案中,存储器数据处理程序346可被配置为独立于备份接口320操作以用于从远程存储设备接收存储器健康数据。例如,存储器数据处理程序346可包括用于通过网络(诸如互联网)从远程存储设备读取存储器健康数据的远程访问功能。存储器数据处理程序346可包括
api,该api用于通过直接寻址协议从远程存储设备接收存储器健康数据,或者在存储器健康数据由中间系统(诸如用于为特定存储器制造商收集存储器健康数据的服务器系统)采集和格式化之后从远程存储设备接收存储器健康数据。
90.存储器数据管理器348可包括用于存储和检索元数据存储库380中(诸如存储器健康数据储存库386中)的存储器健康数据的功能、参数和/或逻辑。例如,存储器数据管理器348可使用由存储器数据标识符344识别的存储器健康数据类型来选择和格式化由存储器数据处理程序346接收的存储器健康数据。在一些实施方案中,存储器数据管理器348可使用设备索引348.1中的唯一存储设备标识符将存储器健康数据存储在存储器健康数据储存库386中。例如,设备索引可包括由存储器健康监测器340监测并且存储在设备数据386.1中的每个远程存储设备的存储设备标识符。设备数据386.1中的每个存储设备条目可包括一个或多个存储器健康数据类型和对应的存储器健康数据值。设备数据386.1可被组织为键值存储库,其中每个存储设备的多个条目表示来自不同收集时间点的不同存储器健康数据类型和/或值。在一些实施方案中,存储器数据管理器348可被配置为选择性地返回所请求的存储设备的存储器健康数据、存储器健康数据类型和/或时间点或时间段,诸如对应于期望参数的存储器健康数据值的阵列。
91.在一些实施方案中,存储器健康数据可由存储器健康监测器340和存储器健康数据储存库386根据存储设备的物理存储器子单元进一步组织。例如,闪存存储设备可包括多个闪存存储裸片作为存储设备内的存储介质,并且每个裸片的标识符可包括在存储器健康数据中以将存储器健康数据值与特定裸片相关联。在一些实施方案中,存储器数据管理器348可包括用于组织和索引每个存储设备内的存储单元的存储单元标识符的单元索引348.2。例如,单元索引348.2可以是设备索引348.1的延伸,其支持一层或多层的层级标识符以使得能够将存储设备分成用于监测存储器健康数据的物理存储单元。在一些实施方案中,基于存储介质子单元的物理层级结构的任何数量的层级级别可被分配标识符值,并且用于基于物理存储介质的存储单元来管理存储器健康数据的监测、存储和检索。在一些实施方案中,用于将存储在数据存储库390中的数据单元映射到它们来自的远程存储单元的物理存储单元的数据结构可包括在元数据存储库380中的物理单元/数据单元映射384中。
92.可靠性管理器350可包括用于管理不同数据恢复配置的功能和参数的集合,这些数据恢复配置用于基于包含正在备份的原始数据的远程存储设备的存储器健康数据来动态地存储备份数据。例如,当备份接口320从远程存储设备接收备份数据时,可靠性管理器350可评估由存储器健康监测器340收集的存储器健康数据以确定编码/解码引擎330在将对应备份数据对象写入数据存储库390时应使用哪个擦除编码配置332。可靠性管理器350可被配置为基于正在备份的实际存储设备和/或其子单元可用的最近存储器健康数据来优化存储空间和/或其他系统资源的使用。可靠性管理器350可基于存储器健康状态的变化和远程存储设备的对应可靠性状况,在存储设备的寿命期间从远程存储设备改变存储的备份数据的数据恢复配置。
93.在一些实施方案中,可靠性管理器350可包括多个硬件模块和/或软件模块,该硬件模块和/或软件模块被配置为使用处理器314和存储器316来处理或管理可靠性管理器350的限定操作。例如,可靠性管理器350可包括数据恢复配置、服务级别检查器354、可靠性状况逻辑356、可靠性建模器358和改变引擎360。在一些实施方案中,可靠性管理器350可包
括或能够访问存储器数据管理器348和/或擦除编码配置332。
94.数据恢复配置352可包括用于限定多个不同数据恢复配置的功能、参数和/或数据结构,这些数据恢复配置可用于通过不同水平的错误校正能力和/或可接受错误率将备份数据存储在数据存储库390中。例如,每个恢复配置352.1-352.n可对应于不同的擦除编码配置332,其导致数据存储库390中的擦除编码数据符号392的不同配置。在一些实施方案中,数据恢复配置352可包括基于特定擦除编码参数(诸如奇偶校验水平332.3)的范围和递增值的一系列配置。在一些实施方案中,恢复配置352.1-352.n中的每一者可对应于擦除编码配置参数的集合,诸如不同编码算法332.1、不同块大小332.2和/或不同奇偶校验水平332.3。在一些实施方案中,恢复配置352.1-352.n可组织在表、配置文件或类似数据结构中。在一些实施方案中,可基于返回期望的擦除编码配置参数的一个或多个功能和对应参数来功能地确定恢复配置352.1-352.n。
95.服务级别检查器354可包括用于确定与远程存储设备相关联的服务级别和/或相关联的用户/所有者简档或服务合同的功能、参数和/或逻辑。例如,可根据基于云的备份存储的特定提议来配置远程存储设备,并且可为备份存储提供多个服务级别,诸如频率、存储空间、恢复选项等。这些服务级别可对应于服务级别协议或类似条款和状况下的定价层。在一些实施方案中,服务级别检查器354可识别或确定一个或多个服务级别参数,其可影响针对与特定存储设备和对应服务级别协议相关的备份数据的对于可靠性管理器350可用和/或由该可靠性管理器选择的恢复配置。例如,改变引擎360可使用一个或多个服务级别参数以基于可靠性状况来确定要使用的恢复配置。
96.可靠性状况逻辑356可包括用于基于存储器健康数据来确定或识别可靠性状况或可靠性状况变化的功能、参数和/或逻辑。例如,可靠性状况逻辑356可使用与远程存储设备或其存储单元相关联的一个或多个存储器健康数据值作为索引或输入值以用于确定可靠性状况是否已经减少,并且应针对正向的存储设备或存储单元实现不同数据恢复配置。在一些实施方案中,可靠性状况逻辑356可接收一个或多个存储器健康数据值作为输入并且提供可靠性状况值或减少的可靠性状况状态作为输出。在一些实施方案中,可靠性状况逻辑356可确定存储设备的可靠性状况的变化,并且向改变引擎360识别该变化以确定可靠性管理器350和系统300对于该变化的响应。
97.在一些实施方案中,可靠性状况逻辑356可基于对应于一个或多个存储器健康数据值或其聚合或导出值的一个或多个可靠性阈值356.1。例如,特定存储设备的存储器健康数据可包括从该存储设备读取的数据的随时间推移的ber值。可靠性状况逻辑356可基于ber值来实现多个可靠性阈值。例如,低于第一ber可靠性阈值时,存储设备可被认为处于其主要操作状况和高可靠性状况。如果ber满足或超过第一ber可靠性阈值,但低于第二ber可靠性阈值,则存储设备可被认为是处于具有正常可靠性状况的公平操作状况,即相对于高可靠性状况减少的可靠性状况。如果ber满足或超过第二ber可靠性阈值,但低于第三ber可靠性阈值,则存储设备可被认为是处于具有风险可靠性状况的劣化操作状况,即相对于高和正常可靠性状况减少的可靠性状况。如果ber满足或超过第三ber可靠性阈值,则存储设备可被认为处于具有临界风险可靠性状况的受损操作状况,即相对于高、正常和风险可靠性状况减少的可靠性状况。这些示例性阈值和层仅作为示例提供,并且系统可以以任何数量的阈值和减少的可靠性状况层来实现。
98.在一些实施方案中,可靠性状况逻辑356可包括可靠性状况表356.2。例如,可靠性状况表356.2可将多个存储器健康数据类型和值映射到可靠性阈值,诸如用于确定可靠性状况的可靠性阈值356.1。在一些实施方案中,可靠性状况表356.2可限定多变量过程,该多变量过程用于针对多个可靠性阈值评估多个存储器健康数据类型以生成单个可靠性状况值或状态。例如,可靠性状况表356.2可体现用于评估不同存储器健康数据类型的不同范围和逻辑组合(和、或、或非等),诸如要求ber和plc或elc值两者超出特定阈值或落入特定范围内以与可靠性状况的变化(诸如减少的可靠性状况)相关。
99.在一些实施方案中,可靠性状况逻辑356可包括可靠性规则引擎356.3。例如,可靠性规则引擎356.3可体现在逻辑规则评估器和限定可靠性规则集的多个逻辑规则中。在一些实施方案中,可靠性规则引擎356.3可针对每个备份数据事务和/或在周期性基础上评估可靠性规则集,以确定存储设备或单元在最近存储器健康数据时的可靠性状况。在一些实施方案中,可靠性规则集的至少一部分可包括可靠性阈值比较,如上文关于可靠性阈值356.1和/或状况表356.2描述的。
100.可靠性建模器358可包括用于对与可靠性状况的变化相对应的多个存储器健康数据参数进行建模的功能、参数和/或逻辑。例如,可靠性建模器358可使用来自存储设备群体的历史可靠性数据和对应的存储器健康数据来生成可靠性状况逻辑356的参数和/或规则。在一些实施方案中,可靠性建模器358可使用相同存储设备类型的大量存储设备的群体数据386.2来导出可靠性模型386.3。例如,群体数据386.2可包括特定类型、制造商、形状因子、模型等的统计学上显著数量的存储设备,其可用于确定对应于那些设备类型参数的可靠性模型386.3。在一些实施方案中,可靠性模型386.3可用于确定可靠性阈值356.1、状况表356.2的参数和/或可靠性规则引擎356.3的可靠性规则。在一些实施方案中,可靠性建模器358可基于存储设备群体、故障速率和存储器健康参数的统计分析。
101.改变引擎360可包括用于确定可靠性状况已经针对给定存储设备或其物理存储单元改变并且生成数据恢复配置的对应改变的功能、参数和/或逻辑。例如,可靠性状况逻辑356可确定可靠性阈值或其他指示符已经针对可靠性状况的改变得到满足并且将改变的可靠性状况值传递到改变引擎360。改变引擎360可包括索引或传递函数,该索引或传递函数用于确定与用于存储来自具有改变的可靠性状况的存储设备或存储单元的备份数据的数据恢复配置352不同的数据恢复配置。改变引擎360可将新数据恢复配置传递到备份接口320和/或编码/解码引擎330以用于存储来自正向的存储设备的备份数据。
102.在一些实施方案中,改变引擎360还可发起来自具有改变的可靠性状况的存储设备的先前存储的备份数据的重新配置。例如,改变引擎360可使用物理单元/数据单元映射384来识别已经从所实现的存储设备或存储单元备份的所有数据单元,并且以新数据恢复配置(具有较高错误率容许)生成用于读取和存储先前与较早数据恢复配置(具有较低错误率容许)一起存储的数据单元的一个或多个命令。在一些实施方案中,与新备份请求相比,可执行现有备份数据的重新配置作为背景操作或较低优先级任务。在一些实施方案中,特别是实现增量备份的那些实施方案,增量备份可立即转换为新数据恢复配置并且新数据恢复配置可用于下一个完整备份,但先前完整备份可不被重新配置以用于新数据恢复配置。
103.存储器316可包括用于处理数据请求的附加逻辑和其他资源(未示出),诸如用于生成、排队和以其他方式管理对象或文件数据请求的模块。由备份接口320对备份数据请求
的处理可包括产生对数据存储库390的至少一个备份数据请求的任何数量的中间步骤。
104.如图4所示,系统300可根据基于存储器健康数据的变化来确定不同数据恢复配置的示例性方法(即根据图4的框402-412所示的方法400)来进行操作。
105.在框402处,可针对要从远程存储设备存储的数据单元确定第一数据恢复配置。例如,响应于接收到备份数据请求,存储管理器可在可靠性管理器的辅助下确定第一数据恢复配置,诸如由接收数据单元的存储系统使用的标准或初始数据恢复配置。
106.在框404处,可使用第一数据恢复配置将对应于从远程存储设备接收的数据的数据存储在存储系统中。例如,在编码/解码引擎的辅助下,存储管理器可使用第一数据恢复配置来存储对应于备份数据请求的至少一部分的数据单元。
107.在框406处,可从远程存储设备接收存储器健康数据。例如,存储器健康监测器可从远程存储设备接收存储器健康数据。
108.在框408处,可针对可靠性状况的变化评估存储器健康数据。例如,可靠性管理器可将在框406处接收的存储器健康数据与一个或多个可靠性阈值进行比较,以确定存储器健康数据是否具有表示远程存储设备的可靠性的实质性变化的显著变化。如果否,则没有显著变化,并且方法400可返回到框404以使用第一数据恢复配置来存储下一个数据单元。如果是,则存在可靠性的显著变化,并且方法400可行进到框410。
109.在框410处,可针对要从远程存储设备存储的数据单元确定第二数据恢复配置。例如,响应于接收到下一个备份数据请求,存储管理器可使用由可靠性管理器响应于在框408处确定的变化而确定的第二数据恢复配置,诸如能够处理较高错误率的擦除编码配置。
110.在框412处,可使用第二数据恢复配置将对应于从远程存储设备接收的数据的数据存储在存储系统中。例如,在编码/解码引擎的辅助下,存储管理器可使用第二数据恢复配置来存储对应于新备份数据请求的至少一部分的数据单元。
111.如图5所示,系统300可根据基于存储器健康数据来管理备份配置的示例性方法(即根据图5的框502-522所示的方法500)来进行操作。
112.在框502处,可针对远程存储设备确定周期性备份配置。例如,备份接口可包括备份调度器,该备份调度器被配置为确定用于远程存储设备的周期性备份的基于时间或事件的时间表。
113.在框504处,可针对远程存储设备确定初始存储器健康值。例如,当备份配置为远程存储设备的设置时,可由存储器健康监测器接收初始存储器健康值。
114.在框506处,可针对远程存储设备确定服务级别。例如,服务级别可与远程存储设备和/或存储设备的用户/所有者相关联,作为通过备份接口的备份服务的一部分。
115.在框508处,可确定用于远程存储设备的备份的资源分配。例如,备份接口可使用在框506处确定的服务级别来确定可用于远程存储设备的备份操作的存储、处理、网络和/或其他资源。
116.在框510处,可针对存储设备确定第一数据恢复配置。例如,基于初始存储器健康值和资源分配,可靠性管理器可确定用于存储备份数据的具有第一错误率容许的第一数据恢复配置。
117.在框512处,可在备份存储系统处接收来自远程存储设备的备份数据。例如,备份接口可根据在框502处确定的周期性备份配置从远程存储设备接收备份数据。
118.在框514处,可以第一奇偶校验水平对来自远程存储设备的数据进行编码并且将其存储在存储系统中。例如,编码/解码引擎可根据由第一数据恢复配置限定的奇偶校验水平对与备份数据相对应的数据单元进行编码。
119.在框516处,可从远程存储设备接收存储器健康数据。例如,存储器健康监测器可经由与框512处接收的备份数据相同的数据信道和/或消息从远程存储设备接收存储器健康数据。
120.在框518处,可针对远程存储设备确定改变的存储器健康值。例如,可靠性管理器可评估在框516处接收的存储器健康数据以确定存储器健康值是否已改变,使得存储设备的可靠性状况已经减少。
121.在框520处,可基于在框518处确定的改变的存储器健康值,针对存储设备确定第二数据恢复配置。例如,可靠性管理器可使用改变的存储器健康值来识别对应于具有较高错误率容许的数据恢复配置的减少的可靠性状况。
122.在框522处,可以第二奇偶校验水平对来自远程存储设备的数据进行编码并且将其存储在存储系统中。例如,编码/解码引擎可根据由第二数据恢复配置限定的奇偶校验水平对与备份数据相对应的数据单元进行编码。
123.如图6所示,系统300可根据基于存储器健康数据分化存储设备的存储单元内的数据恢复配置的示例性方法(即根据图6的框602-622所示的方法600)来进行操作。
124.在框602处,可确定存储设备内的多个物理存储单元。例如,远程存储设备可由存储介质组成,该存储介质包括用于存储对应于特定物理地址集的数据的不同裸片,并且当接收到那些单元以用于备份时,备份存储系统可接收存储原始数据单元的裸片的标识符。
125.在框604处,可存储用于将用户数据映射到物理存储单元的参考值。例如,备份接口可基于存储单元标识符或从远程存储设备接收的参考值将存储单元/数据单元映射存储在元数据中。
126.在框606处,可针对每个物理存储单元从远程存储设备接收存储器健康数据。例如,存储器健康监测器可接收每个裸片或已经从其接收备份数据的类似物理存储单元的存储器健康数据值。
127.在框608处,可从多个物理存储单元中选择物理存储单元。例如,可靠性引擎可选择第一物理存储单元以评估减少的可靠性,并且然后按顺序系统地评估每个物理存储单元。
128.在框610处,可确定选定物理存储单元的存储器健康值。例如,存储器健康监测器可将接收的存储器健康值存储在数据结构中,该数据结构使得物理存储单元能够针对可靠性引擎检索值。
129.在框612处,可针对减少的可靠性状况评估选定物理存储单元。例如,可靠性引擎可针对可靠性阈值评估选定物理存储单元的存储器健康值。如果否,则选定存储单元不具有减少的可靠性状况,并且方法600可行进到框614。如果是,则选定存储单元确实具有减少的可靠性状况,并且方法600可行进到框616。
130.在框614处,来自选定物理存储单元的数据单元可继续使用第一数据恢复配置来存储到备份存储系统。例如,具有与选定物理存储单元匹配的参考值或存储单元标识符的待决和未来备份请求可由存储管理器使用第一数据恢复配置来存储。
131.在框616处,来自选定物理存储单元的数据单元可使用第二数据恢复配置来存储到备份存储系统。例如,具有与选定物理存储单元匹配的参考值或存储单元标识符的待决和未来备份请求可由存储管理器使用具有较高错误率容许的第二数据恢复配置来存储。
132.在框618处,可评估是否存在要评估的附加物理存储单元。例如,可靠性管理器可确定选定物理存储单元是否不是存储设备中的最后物理存储单元。如果是,则有更多单元要评估,并且方法600可返回到框108以选择下一个物理存储单元。如果否,则没有更多单元要评估,并且方法600可行进到框620。
133.在框620处,可使用第一数据恢复配置从备份存储系统读取现在具有减少的可靠性状况的来自任何物理存储单元的先前存储数据。例如,可靠性管理器可发起先前存储的备份数据的重新配置,该备份数据具有存储单元标识符或与具有减少的可靠性状况的物理存储单元相关联的其他参考值。作为响应,存储管理器可根据通过其存储数据的数据恢复配置(诸如第一数据恢复配置)来读取先前存储的数据。
134.在框622处,可使用第二数据恢复配置在备份存储系统中重新分配先前存储的数据。例如,一旦存储管理器根据通过其存储数据的数据恢复配置读取先前存储的数据,可使用具有较高错误率容许的第二数据恢复配置来存储具有参考值或与具有减少的可靠性状况的物理存储单元相匹配的存储单元标识符的备份数据单元。
135.如图7所示,系统300可根据使用减少的可靠性状况来改变数据恢复配置的另一个示例性方法(即根据图7的框702-712所示的方法700)来进行操作。
136.在框702处,可针对存储设备群体收集历史存储器健康数据。例如,存储器健康数据可在以下中聚合:来自质量测试数据、保修和返回数据的存储器健康数据储存库,存储器健康监测,以及使得存储器健康数据能够与存储设备群体的可靠性结果相关联的其他数据源。
137.在框704处,可访问历史存储器健康数据以用于分析可靠性模式和存储器健康数据指示符。例如,可靠性建模器可被配置为识别待用于生成一个或多个存储设备类型的数据可靠性模型的历史数据源。
138.在框706处,可确定至少一个数据可靠性模型。例如,可靠性建模器可使用统计建模来分析历史数据以确定与一层或多层减少的可靠性相关的存储器健康数据类型和阈值。
139.在框708处,可确定可用于评估单独存储设备的至少一个减少的可靠性状况。例如,基于数据可靠性模型,可靠性管理器可被配置有选定存储器健康数据类型和对应阈值以识别减少的可靠性状况。
140.在框710处,可针对减少的可靠性状况评估远程存储设备的存储器健康数据。例如,可靠性管理器可将选定存储器健康数据类型的存储器健康数据值与来自数据可靠性模型的对应可靠性阈值进行比较,以识别已达到减少的可靠性状况的存储设备。
141.在框712处,可发起数据恢复配置的改变。例如,可靠性管理器可为来自存储设备的输入备份数据请求选择具有较高错误率容许的不同数据恢复配置。
142.尽管在本技术的前述详细描述中已经呈现了至少一个示例性实施方案,但应当理解,可存在大量变化。还应当理解,一个或多个示例性实施方案是示例,并且不旨在以任何方式限制技术的范围、适用性或配置。相反,前面的详细描述将为本领域技术人员提供用于实现本技术的示例性实施方案的便利指导方针,应当理解,在不脱离如所附权利要求及其
合法等同物所阐述的技术范围的情况下,可以对示例性实施方案中描述的元件的功能和/或布置进行各种修改。
143.如本领域普通技术人员将理解的,本技术的各个方面可以体现为系统、方法、或计算机程序产品。因此,本技术的一些方面可以采取完全为硬件的实施方案、完全为软件的实施方案(包括固件、驻留软件、微代码等)、或硬件和软件方面的组合的形式,这些方面通常都可以在本文中称为电路、模块、系统和/或网络。此外,本技术的各个方面可以采取体现在一个或多个计算机可读介质中的计算机程序产品的形式,包括在其上体现的计算机可读程序代码。
144.可以利用一个或多个计算机可读介质的任何组合。计算机可读介质可以是计算机可读信号介质或物理计算机可读存储介质。例如,物理计算机可读存储介质可以是但不限于电子、磁性、光学、晶体、聚合物、电磁、红外或半导体系统、装置或设备等,或前述的任何合适组合。物理计算机可读存储介质的非限制性示例可包括但不限于包括一个或多个电线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom)、闪速存储器、光纤、紧凑式光盘只读存储器(cd-rom)、光学处理器、磁处理器等,或前述的任何合适的组合。在本文档的上下文中,计算机可读存储介质可以是可包含或存储用于供指令执行系统、装置、和/或设备使用或与其结合的程序或数据的任何有形介质。
145.计算机可读介质上体现的计算机代码可以使用任何适当的介质来传输,包括但不限于无线、有线、光纤电缆、射频(rf)等,或者前述的任何合适组合。用于执行本技术的各方面的操作的计算机代码可以用任何静态语言编写,诸如c编程语言或其他类似的编程语言。计算机代码可以完全在用户的计算设备上执行,部分在用户的计算设备上执行,作为独立的软件包,部分在用户的计算设备上并且部分在远程计算设备上执行,或者完全在远程计算设备或服务器上执行。在后一种情况下,远程计算设备可以通过任何类型的网络或通信系统连接到用户的计算设备,包括但不限于,可以对外部计算机(例如,通过使用互联网服务提供商的互联网)建立局域网(lan)或广域网(wan)、聚合网络或连接。
146.以上可以参考方法、装置、系统和计算机程序产品的流程图图示和/或框图来描述本技术的各方面。应当理解,流程图图示和/或框图的每个框以及流程图图示和/或框图中的框的组合可以由计算机程序指令实现。可以将这些计算机程序指令提供给通用计算机、专用计算机、或其他可编程数据处理装置的处理设备(处理器)以生产机器,使得可经由处理设备或其他可编程数据处理装置执行的指令创建用于实现在流程图中和/或框图的一个或多个框中指定的操作/动作的装置。
147.一些计算机程序指令还可以存储在计算机可读介质中,该计算机可读介质可以指示计算机、其他可编程数据处理装置或一个或多个其他设备以特定方式操作,使得该指令存储在计算机可读介质中以产生包括实现在流程图中和/或框图的一个或多个框中指定的操作/动作的指令的制品。一些计算机程序指令也可以被加载到计算设备、其他可编程数据处理装置、或一个或多个其他设备上,以致使在计算设备、其他可编程装置、或一个或多个其他设备上执行一系列操作步骤以产生计算机实现的过程,使得由计算机或其他可编程装置执行的指令提供用于实现在流程图中和/或框图的一个或多个框中指定的一个或多个操作/一个或多个动作的一个或多个过程。
148.以上附图中的流程图和/或框图可以示出根据本技术的各方面的装置、系统、方法和/或计算机程序产品的可能具体实施的架构、功能和/或操作。在这方面,流程图或框图中的框可以表示代码的模块、片段或部分,其可以包括用于实现一个或多个指定逻辑功能的一个或多个可执行指令。还应当指出,在一些另选的方面中,框中示出的一些功能可以不按图中所示的顺序发生。例如,事实上,连续示出的两个框可基本上同时执行,或者这些框有时可以采用相反的顺序执行,这取决于所涉及的操作。还应当注意,框图和/或流程图图示的框或框图和/或流程图图示中的框的组合可以由可执行一个或多个指定操作或动作的基于专用硬件的系统,或专用硬件和计算机指令的组合来实现。
149.虽然已经详细说明和讨论了本技术的一个或多个方面,但本领域普通技术人员将理解,在不脱离如所附权利要求中阐述的本技术的范围的情况下,可以对各个方面进行修改和/或调整。
再多了解一些

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

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

相关文献