CN103377285A - 用于增强对存储云去重技术的可靠性的方法与系统 - Google Patents
用于增强对存储云去重技术的可靠性的方法与系统 Download PDFInfo
- Publication number
- CN103377285A CN103377285A CN2013101465336A CN201310146533A CN103377285A CN 103377285 A CN103377285 A CN 103377285A CN 2013101465336 A CN2013101465336 A CN 2013101465336A CN 201310146533 A CN201310146533 A CN 201310146533A CN 103377285 A CN103377285 A CN 103377285A
- Authority
- CN
- China
- Prior art keywords
- file
- parameter
- memory device
- weight
- duplicate
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
- G06F11/1453—Management of the data involved in backup or backup restore using de-duplication of the data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1748—De-duplication implemented within the file system, e.g. based on file segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
- G06F16/24554—Unary operations; Data partitioning operations
- G06F16/24556—Aggregation; Duplicate elimination
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
- G06F16/24578—Query processing with adaptation to user needs using ranking
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Computational Linguistics (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开提供了用于增强对存储云去重的可靠性的方法与系统。一种方法包括:基于与多个重复文件中每一个的对应存储设备关联的参数为该多个重复文件中的每一个确定权重;并且基于所确定的权重,把该多个重复文件中的一个指定为主副本。
Description
技术领域
本发明一般涉及云计算,更具体地,涉及用于增强对存储云去重的可靠性的方法与系统。
背景技术
信息技术正在快速变化而且现在形成了日益触及几乎商业与社会生活每个方面的不可见的层。被称为云计算的一种新兴计算机模型解决了互联网连接设备的爆炸成长,并且补充了当今世界日益增加的技术的出现。云计算是一种服务交付模式,用于对共享的可配置计算资源池(例如,网络、网络带宽、服务器、处理、内存(memory)、存储器(storage)、应用、虚拟机和服务)进行方便、按需的网络访问,这些可配置计算资源能够以最小的管理成本或与服务提供者进行最少的交互就能快速部署和释放。
云计算可大规模缩放,提供卓越的用户体验,而且其特征在于新的、互联网驱动的经济。从一个角度看,云计算涉及业务数据在云中的存储与执行,其中云是跨地理位置分布的互连的数据中心、计算单元和存储系统的网。
存储消费者数据并且跨越地域的公共存储云通常具有跨不同位置和国家的存储枢纽(storage hub)的大量冗余文件。为了提高云存储业务的效率,供应商一般应用数据去重来解决冗余数据问题。
数据去重是一个存储概念,其中冗余数据被消除,以便显著地收缩存储需求并提高带宽效率。在去重过程中,重复的数据被删除,只留下数据的一个副本要存储。这单个副本被称为主副本,而每个被删除的副本(称为辅助副本)保持指向这个主副本的参考指针。一些数据去重技术去重跨位于跨异质存储设备的不同数据中心的许多存储枢纽分布的云中的数据。
去重可以利用后去重和/或内去重来实现。在后去重的情况下,关于带内流量没有去重的开销。当数据到达时,数据就存储在设备上,在这种初始的存储过程中不关心任何去重。后去重守护进程最终在初始存储之后的某个时间运行并且扫描设备寻找重复的副本并且试图除去冗余的副本。在内去重的情况下,去重是对带内流量进行的,例如,基本上是在数据初始存储的过程中实时地进行的。例如,对于进入的写请求,执行搜索,确定给定的数据项是否已经存储在系统中。在系统中找到已经存在的副本(例如,重复的文件)的情况下,避免对进入的写请求的写操作,并且作为代替,创建到指向已经存在的副本的数据项指针。
去重可以在计算环境中以不同的粒度等级执行,例如以设备级、存储池级和存储系统级。在设备级,重复副本识别的范围限定到单个设备。存储池级去重应用到相同类型设备的集合,这可以是同质类型的单个存储池或者多个存储池。存储系统级去重应用到具有相似或异质类型的设备的存储设备池,重复副本识别的范围是整个系统级。
通过保持单个主副本并删除其它冗余副本来解决冗余数据问题的数据去重技术没有设计成智能地选择在其上保持主副本的存储驱动器。作为代替,这种去重系统简单地把主副本保留在检测到多个重复文件中的一个第一次出现的物理存储位置。如果这个位置碰巧是相对不可靠的存储器,则主副本随后可能由于硬件故障或其它因素而变得不可用,造成存储云中数据可用性的破坏。
例如,在设备级的去重中,相同数据的两个副本可以分别存储在磁盘的两个不同扇区,例如,副本1存储在内部磁盘扇区,而副本2存储在外部磁盘扇区。在去重机制首先识别出副本1的情况下,它将删除副本2并且用指向副本1的指针代替副本2。但是,磁盘操作性能通常在磁盘的外部扇区上比内部扇区更高。通过把主副本(例如,副本1)保存在内部扇区上,访问副本2的用户会遭受性能的降级,因为他们实际上是在访问存储在内部扇区的文件,而不是存储在外部扇区的文件。
作为另一个例子,在存储池级的去重,去重机制不考虑多个主副本跨存储设备的分布。碰巧,与池中的其它存储设备相比,一个存储设备以存储不成比例的大量主副本而告终而且变得超载。而且,去重机制不考虑池中各个可用存储设备的活动健康状况。照此,主副本可能存储在具有相对不好健康状况而且有可能失败的设备上。
存储系统级的去重会放大与性能、负载分布和健康状况关联的以上问题。而且,存储系统级的去重会遭受服务质量(QoS)问题。例如,存储系统可能包括相对低可靠性的第一存储器(例如,JBOD(简单磁盘捆绑)控制器)和相对高可靠性的第二存储器(例如,RAID(独立磁盘冗余阵列)控制器)。QoS需求可以委托RAID控制器中的存储器。但是,不区分JBOD和RAID存储器的去重机制可能在JBOD存储器上而不是RAID存储器上保存主副本。在这种情况下,存储器提供商可能不能满足期望的QoS等级和/或访问在RAID控制器上指定的副本的客户可能遭受性能问题。
发明内容
在本发明的第一方面,在包括硬件与软件的组合的计算机基础架构中实现了一种方法。该方法包括基于与多个重复文件中每一个的对应存储设备关联的参数为该多个重复文件中的每一个确定权重。该方法还包括基于所确定的权重把该多个重复文件中的一个指定为主副本。
在本发明的另一方面,在硬件中实现了一种系统并且该系统包括可操作成识别存储在不同存储设备的重复文件的计算机基础架构。该计算机基础架构还可操作成基于与存储设备关联的参数为重复文件中的每一个确定权重。该计算机基础架构还可操作成基于所确定的权重把重复文件中的一个指定为主副本。
在本发明的一个附加方面,一种计算机程序产品包括计算机可用存储介质,在该存储介质中体现了可读的程序代码。该计算机程序产品包括至少一个可操作成为多个文件中的每一个确定哈希值的部件。该至少一个部件还可以操作成基于该哈希值确定重复文件的集合。该至少一个部件还可以操作成为重复文件中的每一个确定权重,其中权重是基于与存储设备关联的参数。该至少一个部件还可以操作成基于重复文件中每一个的权重指定该集合的主副本。该至少一个部件还可以操作成提名该集合中除主副本之外的剩余文件删除。
在本发明的还有一方面,一种去重方法包括提供可操作成为多个文件中的每一个确定哈希值的计算机基础架构。该计算机基础架构还可以操作成基于哈希值定义多个文件的集合。该计算机基础架构还可以操作成,对于对应的每个集合:确定各自集合中的最高权重文件,其中权重是基于与存储设备关联的参数;把最高权重的文件指定为对应集合的主副本;并且提名对应集合中除主副本之外的剩余文件删除。
在本发明的另一方面,一种用于文件去重的计算机系统包括CPU、计算机可读存储器和计算机可读存储介质。该系统包括识别一组重复文件的第一程序指令。该系统包括用于为重复文件中的每一个确定权重的第二程序指令。该系统包括基于重复文件中每一个的权重指定主副本的第三程序指令。该系统包括删除该集合中除主副本之外的剩余文件并且用指向主副本的对应指针代替剩余文件的第四程序指令。第一、第二、第三和第四程序指令存储在计算机可读存储介质上,用于由CPU经计算机可读存储器执行。权重是基于与存储设备关联的参数和为参数定义的加权因子。参数关联到存储设备的可靠性、健康状况和用户偏好中的至少一个。
附图说明
通过本发明示例性实施例的非限制性例子,参考指出的多个附图,本发明在以下的具体描述中进行描述。
图1绘出了根据本发明一种实施例的云计算节点;
图2绘出了根据本发明实施例的云计算环境;
图3绘出了根据本发明实施例的抽象模型层;
图4绘出了根据本发明各方面的数据去重框图;
图5绘出了根据本发明各方面的示例性参数与加权;及
图6和7绘出了根据本发明各方面的示例性流程图。
具体实施方式
本发明总体上涉及云计算而且,更具体地,涉及用于增强存储云去重的可靠性的方法与系统。根据本发明的各方面,基于关于在其上存储重复文件的各个存储设备的可靠性、健康状况和/或用户偏好的参数选择一组重复文件的主副本。参数可以包括与对应存储设备关联的静态和/或动态参数。在实施例中,基于参数为重复文件中的每一个确定对应的权重。具有最高权重的文件被提名作为主副本而具有较低权重的其它文件被提名删除。以这种方式,本发明的实现有利地提供了基于与在其上存储重复文件的存储设备的可靠性、健康状况和/或用户偏好关联的预定义参数智能地选择主副本的方法与系统。
根据本发明的各方面,用于一组重复文件的主副本的提名是基于与每个文件的存储设备关联的参数影响的。参数可以包括,例如,SMART(自我监测分析与报告技术)属性;可靠性属性(例如,RAID级别);用户优选地供应商;及QoS属性。例如,SMART是一种使计算机能够预测硬盘驱动器的未来故障的技术并且已经变成了硬驱制造商的工业标准。通过SMART技术,硬盘驱动器结合了监视驱动器的内部操作并且为许多类型的潜在问题提供早期警告的先进诊断套件。当检测到一个潜在的问题时,硬驱可以在任何数据损失或损坏之前被修复或替换。根据本发明的各方面,去重过程包括至少部分地基于与要被去重的冗余文件集合中每个文件的存储设备关联的SMART信息来选择主副本。
RAID是一种通过冗余性来提供增加的存储功能和可靠性的技术,这是通过把多个磁盘驱动器部件组合到一个逻辑单元中来实现的,其中数据在称为RAID级别的几种方式中的一种跨驱动器分布。为了适当的可靠性和/或性能,管理员可能可以对不同RAID级别管理的存储系统进行选择。根据本发明的各方面,去重过程包括至少部分地基于存储设备的可靠性信息,例如RAID信息,来选择主副本。
相比由其它供应商和/或制造商提供的那些,系统管理员可能更喜欢与特定供应商和/或制造商关联的存储设备。根据本发明的各方面,去重过程包括至少部分地基于存储设备来源的用户偏好来选择主副本。
QoS参数通常为存储设备指定。QoS参数可以包括,例如,每秒兆字节(MB/s)的最大顺序和随机读/写性能,及用于可用性、持久性和平均故障间隔时间的测量。根据本发明的各方面,去重过程包括至少部分地基于QoS参数来选择主副本。
云计算
首先应当理解,尽管本公开包括关于云计算的详细描述,但其中记载的技术方案的实现却不限于云计算环境。更确切地说,本发明的实施例能够结合现在已知或以后开发的任何其它类型的计算环境来实现。
为了方便,具体描述包括从2009年10月7日由Peter Mell和TimGrance所写的“Draft NIST Working Definition of Cloud Computing”得到的以下定义,该文献在与所提交的IDS中被引用,而且其副本附连到其中。
云计算是一种服务交付模式,用于对共享的可配置计算资源池(例如,网络、网络带宽、服务器、处理、内存、存储器、应用、虚拟机和服务)进行方便、按需的网络访问,这些可配置计算资源能够以最小的管理成本或与服务提供者进行最少的交互就能快速部署和释放。这种云模式可以包括至少五个特征、至少三个服务模型和至少四个部署模型。
特征包括:
按需自助式服务:云的消费者在无需与服务提供者进行人为交互的情况下能够单方面自动地按需部署诸如服务器时间和网络存储等的计算能力。
广泛的网络接入:计算能力可以通过标准机制在网络上获取,这种标准机制促进了通过不同种类的薄客户机平台或厚客户机平台(例如移动电话、膝上型电脑、个人数字助理PDA)对云的使用。
资源池:提供者的计算资源被归入资源池并通过多租户(multi-tenant)模式服务于多重消费者,其中按需将不同的实体资源和虚拟资源动态地分配和再分配。一般情况下,消费者不能控制或甚至并不知晓所提供的资源的确切位置,但可以在较高抽象程度上指定位置(例如国家、州或数据中心),因此具有位置无关性。
迅速弹性:能够迅速、有弹性地(有时是自动地)部署计算能力,以实现快速扩展,并且能迅速释放来快速缩小。在消费者看来,用于部署的可用计算能力往往显得是无限的,并能在任意时候都能获取任意数量的计算能力。
可测量的服务:云系统通过利用适于服务类型(例如存储、处理、带宽和活跃用户帐号)的某种抽象程度的计量能力,自动地控制和优化资源效用。可以监测、控制和报告资源使用情况,为服务提供者和消费者双方提供透明度。
服务模型如下:
软件即服务(SaaS):向消费者提供的能力是使用提供者在云基础架构上运行的应用。可以通过诸如网络浏览器的薄客户机接口(例如基于网络的电子邮件)从各种客户机设备访问应用。除了有限的特定于用户的应用配置设置外,消费者既不管理也不控制包括网络、服务器、操作系统、存储、乃至单个应用能力等的底层云基础架构。
平台即服务(PaaS):向消费者提供的能力是在云基础架构上部署消费者创建或获得的应用,这些应用利用提供者支持的程序设计语言和工具创建。消费者既不管理也不控制包括网络、服务器、操作系统或存储的底层云基础架构,但对其部署的应用具有控制权,对应用托管环境配置可能也具有控制权。
基础架构即服务(IaaS):向消费者提供的能力是消费者能够在其中部署并运行包括操作系统和应用的任意软件的处理、存储、网络和其他基础计算资源。消费者既不管理也不控制底层的云基础架构,但是对操作系统、存储和其部署的应用具有控制权,对选择的联网组件(例如主机防火墙)可能具有有限的控制权。
部署模型如下:
私有云:云基础架构单独为某个组织运行。云基础架构可以由该组织或第三方管理并且可以存在于该组织内部或外部。
共同体云:云基础架构被若干组织共享并支持有共同利害关系(例如任务使命、安全要求、政策和合规考虑)的特定共同体。共同体云可以由共同体内的多个组织或第三方管理并且可以存在于该共同体内部或外部。
公共云:云基础架构向公众或大型产业群提供并由出售云服务的组织拥有。
混合云:云基础架构由两个或更多部署模型的云(私有云、共同体云或公共云)组成,这些云依然是独特的实体,但是通过使数据和应用能够移植的标准化技术或私有技术(例如用于云之间的负载平衡的云突发流量分担技术)绑定在一起。
云计算环境是面向服务的,特点集中在无状态性、低耦合性、模块性和语意的互操作性。云计算的核心是包含互连节点网络的基础架构。
现在参考图1,其中显示了云计算节点的一个例子。云计算节点10仅仅是适合的云计算节点的一个示例,不应对本发明实施例的功能和使用范围带来任何限制。总之,云计算节点10能够被用来实现和/或执行以上所述的任何功能。图1还可以代表能够执行和/或实现在此所述的方法的任务和/或功能的计算基础架构。
云计算节点10具有计算机系统/服务器12,其可与众多其它通用或专用计算系统环境或配置一起操作。众所周知,适于与计算机系统/服务器12一起操作的计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、薄客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任意系统的分布式云计算技术环境,等等。
计算机系统/服务器12可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括执行特定的任务或者实现特定的抽象数据类型的例程、程序、目标程序、组件、逻辑、数据结构等。计算机系统/服务器12可以在通过通信网络链接的远程处理设备执行任务的分布式云计算环境中实施。在分布式云计算环境中,程序模块可以位于包括内存存储设备的本地或远程计算系统存储介质上。
如图1所示,云计算节点10中的计算机系统/服务器12以通用计算设备的形式示出。计算机系统/服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统内存28,连接不同系统组件(包括系统内存28和处理单元16)的总线18。在实施例中,计算机系统/服务器12包括或者与本文中更具体描述的去重识别引擎80(本文中被称为识别引擎80)和去重主副本位置选择引擎83(本文中被称为选择引擎83)通信。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质可以是能够被计算机系统/服务器12访问的任意可获得的介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机系统/服务器12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图1未显示,通常称为“硬盘驱动器”)。尽管图1中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。例如,识别引擎80和/或选择引擎83的一些或全部功能可以实现为程序模块42中的一个或多个。此外,识别引擎80和/或选择引擎83可以实现为单独的专用处理器或者单个或几个处理器,来提供在此所述的功能性。在实施例中,识别引擎80和/或选择引擎83执行在此所述的一种或多种处理,包括但不限于:识别符合去重的冗余文件集合;为每个集合中的每个文件确定权重;并且提名每个集合中最高权重的文件作为那个集合的主副本。
计算机系统/服务器12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器12交互的设备通信,和/或与使得该计算机系统/服务器12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过I/O接口22进行。并且,计算机系统/服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机系统/服务器12的其它模块通信。应当明白,尽管图中未示出,其它硬件和/或软件模块可以与计算机系统/服务器12一起操作。例子包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID(便宜磁盘冗余阵列或者独立磁盘冗余阵列)系统、磁带驱动器以及数据归档存储系统等。
现在参考图2,其中显示了示例性的云计算环境50。如图所示,云计算环境50包括云计算消费者使用的本地计算设备可以与其相通信的一个或者多个云计算节点10,本地计算设备例如可以是个人数字助理(PDA)或移动电话54A,台式电脑54B、笔记本电脑54C和/或汽车计算机系统54N。云计算节点10之间可以相互通信。可以在包括但不限于如上所述的私有云、共同体云、公共云或混合云或者它们的组合的一个或者多个网络中将云计算节点10进行物理或虚拟分组(图中未显示)。这样,云的消费者无需在本地计算设备上维护资源就能请求云计算环境50提供的基础架构即服务(IaaS)、平台即服务(PaaS)和/或软件即服务(SaaS)。应当理解,图2显示的各类计算设备54A-N仅仅是示意性的,云计算节点10以及云计算环境50可以与任意类型网络上和/或网络可寻址连接的任意类型的计算设备(例如使用网络浏览器)通信。
现在参考图3,其中显示了云计算环境50(图2)提供的一组功能抽象层。首先应当理解,图3所示的组件、层以及功能都仅仅是示意性的,本发明的实施例不限于此。如图3所示,提供下列层和对应功能:
硬件和软件层60包括硬件和软件组件。硬件组件的例子包括:主机,例如系统;基于RISC(精简指令集计算机)体系结构的服务器,例如系统;系统;系统;储存设备;网络和网络组件。软件组件的例子包括:网络应用服务器软件,例如应用服务器软件;数据库软件,例如数据库软件。(IBM,zSeries,pSeries,xSeries,BladeCenter,WebSphere以及DB2是国际商业机器公司在全世界各地的注册商标)。
虚拟层62提供一个抽象层,该层可以提供下列虚拟实体的例子:虚拟服务器、虚拟存储、虚拟网络(包括虚拟私有网络)、虚拟应用和操作系统,以及虚拟客户端。
在一个示例中,管理层64可以提供下述功能:资源供应功能:提供用于在云计算环境中执行任务的计算资源和其它资源的动态获取;计量和定价功能:在云计算环境内对资源的使用进行成本跟踪,并为此提供帐单和发票。在一个例子中,该资源可以包括应用软件许可。安全功能:为云的消费者和任务提供身份认证,为数据和其它资源提供保护。用户门户功能:为消费者和系统管理员提供对云计算环境的访问。服务水平管理功能:提供云计算资源的分配和管理,以满足必需的服务水平。服务水平协议(SLA)计划和履行功能:为根据SLA预测的对云计算资源未来需求提供预先安排和供应。
工作负载层66提供云计算环境可能实现的功能的示例。在该层中,可提供的工作负载或功能的示例包括:地图绘制与导航;软件开发及生命周期管理;虚拟教室的教学传递;数据分析处理;交易处理;及去重识别与位置选择。根据本发明的各方面,重复数据识别与位置选择工作量/功能操作成执行在此所述的一个或多个过程,包括但不限于:识别符合去重的冗余文件集合;为每个集合中的每个文件确定权重;并且提名每个集合中最高权重的文件作为那个集合的主副本。
如本领域技术人员将认识到的,本发明的各方面,包括识别引擎80和/或选择引擎83及其中所提供的功能性,可以体现为系统、方法或计算机程序产品。因此,本发明的各方面可以采取完全硬件实施例、完全软件实施例(包括固件、驻留软件、微代码等)或者结合硬件和软件方面的实施例的形式,所有这些形式在本文中一般都可以称为“电路”、“模块”或“系统”。此外,本发明的各方面还可以采取在一个或多个计算机可读介质中体现的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者以上的任意组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括以下:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明各方面操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++等,还包括常规的过程式程序设计语言—诸如”C”编程语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
下面将参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明的各方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,这些计算机程序指令通过计算机或其它可编程数据处理装置执行,产生了实现流程图和/或框图中的方框中规定的功能/操作的装置。
也可以把这些计算机程序指令存储在能使得计算机、其它可编程数据处理装置或者其它设备以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令就产生出一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令装置的制造品。
也可以把计算机程序指令加载到计算机、其它可编程数据处理装置或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令能够提供实现流程图和/或框图中的方框中规定的功能/操作的过程。
图4绘出了根据本发明各方面的去重框图。在实施例中,文件(或其它数据)75和75’从一个或多个本地计算设备54、54’流到包括计算节点10和多个数据存储设备90a与90b的去重系统,其中的存储设备可以包括例如图2中所表示的云中的存储节点。本地计算设备54和54’可以类似于图2中所绘出的本地计算设备54A-N。节点10可以包括或者与在此所述的识别引擎80和选择引擎83通信。节点10还可以包括或者与去重数据库85通信,如在此更具体地描述的。尽管只示出了两个文件75和75’及存储设备90a和90b,但是应当理解,在本发明的范围内,任何数量的文件和存储设备都可以使用,而且文件的个数可以与存储设备的个数不同。
在根据本发明各方面的后去重实现中,文件75和75’存储在对应的存储设备90a和90b上。在存储文件75和75’之后的某个时间,识别引擎80和选择引擎83执行去重过程,选择主副本并且删除文件的冗余副本。在实施例中,识别引擎80把文件75和75’识别为符合去重的重复文件。基于文件75和75’作为重复文件的识别,选择引擎83基于与在其上存储文件75和75’的存储设备90a和90b关联的一个或多个静态参数和/或一个或多个动态参数为文件75和75’中的每一个确定对应的权重。在实施例中,选择引擎83提名具有最高权重的文件75或75’作为主副本并且提名另一个删除。
在根据本发明各方面的内去重实现中,一个文件(例如,文件75)存储在存储设备(例如,数据存储器90a)上。稍后,计算设备54’发布保存文件75’的命令(例如,保存到存储设备90b)。一接收到保存文件75’的命令,识别引擎80就搜索所有可用的存储设备来寻找重复的文件并且把文件75识别为文件75’的重复。基于把文件75和75’识别为重复的文件,选择引擎83基于与存储设备90a和90b关联的一个或多个静态参数和/或一个或多个动态参数为文件75和75’中的每一个确定对应的权重。在实施例中,选择引擎83提名具有最高权重的文件75或75’作为主副本并且提名另一个删除。例如,当已经存储的文件(例如,存储设备90a上的文件75)具有比文件75’高的权重时,文件75’就不在存储设备90b存储。而是为文件75’创建指向文件75(例如,这个实例中的主副本)的指针。相反,当文件75’具有比文件75高的权重时,文件75’被指定为主副本并且存储在存储设备90b而且文件75被删除并且用指向文件75’的指针代替。
在后去重与内去重实现中,识别引擎80都可以利用哈希算法来识别重复的文件,如在本领域中被理解的。例如,识别引擎80可以运行为每个文件75和75’生成唯一键值的哈希算法。识别引擎80比较用于每个文件的唯一键值与存储在去重数据库85中的键值,例如,通过在去重数据库85中查找用于每个文件的唯一键值,以便确定该键值是否已经存在(存在就指示特定文件先前已经写到一个存储设备了)。
而且,在后去重与内去重实现中,静态参数都可以存储在去重数据库85,该数据库可以与节点10独立或者包括在其中。在实施例中,动态参数可以由选择引擎83通过在去重过程中轮询每个存储设备90a和90b来确定。可选地,动态参数可以由每个存储设备90a和90b以规律的间隔传送到去重数据库85并且存储在其中,而且选择引擎可以通过访问去重数据库85来确定动态参数。
图5绘出了根据本发明各方面的示例性静态和动态参数及加权。在根据本发明各方面确定权重中所使用的不同参数的类型与个数不限于图5中所绘出的例子,而是在本发明的范围内,任何数量和类型的静态参数和/或任何数量和类型的动态参数都可以用于确定文件的权重。
表510绘出了根据本发明各方面用于设备“A”和“B”的静态参数的例子(例如,Static1、Static2、…、StaticM)。在这个例子中,静态参数包括:供应商权重;MTBF(平均故障间隔时间);读性能;写性能;可用性和持久性。在实施例中,设备“A”和“B”对应于云环境中的存储设备或者其它多设备存储系统。例如,设备“A”和“B”可以分别对应于图4中所描述的存储设备90a和90b。
根据本发明的各方面,为每个设备(例如,“A”和“B”)的每个静态参数(例如,Static1、Static2、…、StaticM)提供值(例如,数字值)。例如,设备“A”对Static1具有值“100”,对Static2具有值“10”,而且对Static3具有值“2”,等等。类似地,设备“B”对Static1具有值“80”,对Static2具有值“10”,而且对Static3具有值“1.4”,等等。
根据本发明的各方面,用于静态参数的数字值代表可以用于比较一个设备与另一个设备的对每个设备的估价。例如,设备“A”对Static1具有值“100”,而设备“B”对Static1具有值“80”。照此,关于提供对应设备的供应商(例如,存储设备的销售商和/或制造商),设备“A”比设备“B”更优。作为另一个例子,设备“A”和“B”对于Static4具有对应的值“2”和“2.1”,这意味着,关于写性能,设备“B”比设备“A”更优。
在实施例中,用于每个设备的静态参数的数字值在例如去重数据库85中预定义并存储。每个数字值都可以由用户(例如,使用I/O接口22)手动输入和/或由供应商和/或服务提供商在数据库85中自动组装。
仍然参考图5,表520绘出了根据本发明各方面用于设备“A”和“B”的动态参数的例子(例如,Dynam1、Dynam2、…、DynamN)。表520中的设备“A”和“B”对应于表510的相同设备“A”和“B”。
在实施例中,动态参数是SMART属性。在图5所示出的例子中,Dynam1是代表存储设备的磁头飞行高度的SMART属性。飞行高度向下的趋势将常常预示着磁头的碎裂。Dynam2是代表重映射扇区个数的SMART属性。当驱动器由于内部检测到的错误而重新映射许多扇区时,存储设备可能正在接近故障。Dynam3是代表ECC(纠错码)使用和与存储设备关联的错误计数的SMART属性。即使在内部纠正了,但是驱动器遇到的大量错误常常指示存储设备的可靠性问题。趋势及实际的计数可以是提供信息的。Dynam4是代表与存储设备关联的自旋时间的SMART属性。高自旋时间和/或自旋时间的变化可以反映主轴电机的问题。Dynam5是代表与存储设备关联的温度的SMART属性。驱动器温度的高温和/或增加常常暗示主轴电机的问题。DynamN是代表与存储设备关联的数据吞吐量的SMART属性。驱动器的低数据传送率可以暗示存储设备的各种内部问题。
根据本发明的各方面,为每个设备(例如,“A”和“B”)的每个动态参数(例如,Dynam1、Dynam2、…、DynamN)提供值(例如,数字值)。例如,设备“A”对Dynam1具有值“40”,对Dynam2具有值“1000”,而且对Dynam3具有值“500”,等等。类似地,设备“B”对Dynam1具有值“50”,对Dynam2具有值“2500”,而且对Dynam3具有值“800”,等等。
在实施例中,用于动态参数的数字值是在某个固定的时间间隔之后周期性地自动更新的。但是作为一个例子,驻留在特定存储设备(例如,对应于存储设备90a的设备ID“A”)的客户端应用可以周期性地把用于那个存储设备的动态参数的值发送到去重数据库85(例如,被存储设备推的值)。在另一个例子中,应用周期性地轮询各个存储设备并且获得用于每个存储设备的动态参数的值(例如,从存储设备拉出的值)。在还有另一个例子中,选择引擎83在去重过程中通过例如轮询各个存储设备实时地获得用于每个存储设备的动态参数的值。
仍然参考图5,表530和540包含分别对应于表510和520的静态和动态参数的加权因子(β1、β2、…、βM和δ1、δ2、…、δN)。例如,加权因子β1对应于静态参数Static1,加权因子β2对应于静态参数Static2,等等。而且,加权因子δ1对应于动态参数Dynam1,加权因子δ2对应于动态参数Dynam2,等等。加权因子结合静态和动态参数一起使用,来基于存储文件的存储设备的属性确定用于任何给定文件的权重。加权因子的数字值可以由用户定义、由系统定义或者由第三方(例如,服务提供商)提供。加权因子可以存储在去重数据库85中。在实施例中,加权因子的数字值最初可以是定义的,随后被调整,以便为静态和动态参数提供任何期望的相关加权。尽管在本发明的范围内任何其它期望的加权方案都可以使用,但是,例如,加权因子的数字值可以定义为基本上规格化静态和动态参数,使得每个参数都具有基本上相同的权重。
图5的表达式550:权重=β1*Staticl+β2*Static2+β3*Static3+β4*Static4+β5*Static5+βM*StaticM+δ1*Dynam1+δ2*Dynam2+δ3*Dynam3+δ4*Dynam4+δ5*Dynam5+δN*DynamN绘出了根据本发明各方面用于确定文件的权重的示例性公式。在实施例中,给定文件的权重是通过把加权因子与对应静态和动态参数的乘积求和来确定的,如由表达式550所示出的。利用表510、520、530和540中的数据和表达式550,选择引擎83为存储在位置“A”的文件(例如,存储在存储设备90a的文件75)确定权重是24.5。类似地,选择引擎83为存储在位置“B”的文件(例如,存储在存储设备90b的文件75’)确定权重是11.5。在实施例中,选择引擎83指定具有最高权重的文件为主副本。相应地,在这个例子中基于所确定的这些权重,选择引擎83指定存储在位置“A”的文件(例如,存储在存储设备90a的文件75)为主副本并且提名存储在位置“B”的文件(例如,存储在存储设备90b的文件75’)删除并用指向主副本的指针代替。编写表达式550的一种备选和等价方式是:
其中,
“Staticm”是与多个文件中一个特定文件的存储设备关联的第m个静态参数的值;
“β”是第m个静态加权因子的值;
“M”是静态参数的个数;
“Dynamn”是与多个文件中一个特定文件的存储设备关联的第n个动态参数的值;
“δ”是第n个动态加权因子的值;及
“N”是动态参数的个数。
根据本发明的各方面,静态和动态参数指示存储重复文件的存储设备的可靠性、健康状况和/或用户偏好。以这种方式,通过根据表达式550计算每个文件的权重,本发明实现中的去重系统与方法通过在最可靠和/或用户优选的存储设备中存储主副本来增强去重过程。
流程图
图6和7示出了用于执行本发明各方面的示例性流程。图6和7的步骤可以在例如图1-4的任一环境中实现。
图中的流程图和框图说明了根据本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系结构、功能性与操作。就此而言,流程图或框图中的每一个方框都可以代表代码的一个模块、片段或者部分,所述模块、片段或者部分包括用于实现指定逻辑功能的一条或多条可执行指令。还应当指出,在有些备选实现中,方框中所指出的功能可以不按图中指示的次序发生。例如,依赖于所涉及的功能性,顺次示出的两个方框事实上可以基本上同时执行,或者有时候这些方框可以颠倒的次序执行。还应当指出,框图和/或流程图说明中的每一个方框及框图和/或流程图说明中方框的组合可以由执行指定功能或行为的基于硬件的专用系统或者专用硬件与计算机指令的组合来实现。
此外,本发明可以采取可以从计算机可用或计算机可读介质访问的计算机程序产品的形式,其中计算机可用或计算机可读介质提供了由计算机或任何指令执行系统使用或者与其结合使用的程序代码。软件和/或计算机程序产品可以在图1-4的环境中实现。为了本描述,计算机可用或计算机可读介质可以是可以包含、存储、传送、传播或者传输由指令执行系统、装置或设备使用或者与其结合使用的程序的任何装置。介质可以是电、磁、光、电磁、红外线或者半导体系统(或者装置或设备)或者传播介质。计算机可读存储介质的例子包括半导体或固态存储器、磁带、可拆卸计算机磁盘、随机存取存储器(RAM)、只读存储器(ROM)、刚性磁盘和光盘。目前光盘的例子包括紧致磁盘-只读存储器(CD-ROM)、紧致磁盘-读/写(CD-R/W)和DVD。
图6绘出了根据本发明各方面用于后去重过程的示例性流程。在步骤605,去重系统(例如,运行识别引擎80和选择引擎83的计算机系统12)定义和/或获得静态参数、动态参数和加权值(例如,类似于在图5的表510、520、530和540中所示出的信息)。在实施例中,去重系统通过用户输入、在数据库(例如,去重数据库85)中访问这种信息和轮询存储设备来找出这种信息中的至少一种来获得这种信息,例如,像以上关于图5所描述的。尽管步骤605在图6中描述为发生在步骤610和615之前,但是应当指出,步骤605可以另外地或者可选地在步骤610和615之间或者步骤615和620之间执行。
在步骤610,识别引擎(例如,识别引擎80)为存储云或者其它分布式存储系统中存储的每个文件确定哈希值。在实施例中,识别引擎对存储在存储云中的各个存储设备(例如,存储设备90a、90b等)的每个文件(例如,文件75、75’等)应用哈希算法,例如,像以上关于图4所描述的。
在步骤615,识别引擎识别具有相同哈希值的文件并且根据哈希值把文件分组。例如,具有第一哈希值的所有文件都分到第一集合中,而具有第二哈希值的所有文件都分到第二集合中,等等。因而,每个集合都包含符合去重的一组重复文件,因为在任何给定集合中的所有文件都具有相同的哈希值。
在步骤620,选择引擎(例如,选择引擎83)为每个集合中的每个文件确定权重。根据本发明的各方面,选择引擎基于来自步骤605的静态参数值、动态参数值和加权因子值,例如,以关于图5所述的方式使用表达式550,确定特定文件的权重。
在步骤625,选择引擎分析特定的文件集合,确定集合中哪个文件具有最高的权重。例如,对于(在步骤615中识别出的)特定的重复文件集合,选择引擎比较(在步骤620确定的)每个文件的权重并且识别出具有最高权重的文件。
在步骤630,选择引擎确定在该集合中是否只有一个文件具有最高权重。有可能在一个重复文件集合中有两个文件将具有相同的权重。在给定集合中只有一个文件具有最高权重的情况下,在步骤635,选择引擎把那个文件指定为这个重复文件集合的主副本。
相反,当一个集合中多于一个文件每个都具有相等的最高权重时,在步骤640,选择引擎基于预定义的偏好从这些最高权重的文件中确定主副本。例如,本系统和方法可以允许用户指定静态或动态参数中的一个(例如,Static1:供应商权重)作为决胜(tiebreaker)参数。作为另一个例子,决胜参数可以是不包括在静态和动态参数中的另外的参数。例如,决胜参数可以是已经存储在具有该文件的存储设备上的主副本的个数、存储设备上文件副本的物理位置或者可以由选择引擎确认的其它参数。在步骤640,当一个集合中多于一个参数每个都具有相等的最高权重时,选择引擎对具有相等最高权重的每个文件比较决胜参数的值,并且把具有最高决胜参数值的文件指定为主副本。
在步骤645,去重系统删除集合中的剩余文件(例如,该集合中除在步骤635或640所确定的主副本之外的所有文件)。以正常的去重方式,被删除的文件用指向主副本的指针代替。
在步骤650,去重系统确定是否还有任何剩余的集合要分析主副本。当步骤615识别出的集合还没有全部都通过步骤630、635或640,及645分析时,过程返回步骤625,分析下一个集合。相反,当所有集合都已经分析了主副本时(例如,步骤630、635或640,及645),过程结束。以这种方式,本发明的实现可以用于执行后去重,其中主副本是基于在此所述的权重选择的。
图7绘出了根据本发明各方面用于内去重过程的示例性流程。在步骤705,去重系统接收在云中的一个存储设备存储新文件的请求。在实施例中,这涉及计算设备(例如,节点10)从用户(例如,本地计算设备54)接收在云中的一个位置存储文件(例如,文件75)的请求。该请求可以包括指定在其上保存新文件的特定存储设备。
在步骤710,去重系统识别已经存储在云中的重复文件。这可以与关于图6描述的步骤610和615相似的方式执行。例如,运行在计算设备上的识别引擎(例如,识别引擎80)可以为(来自步骤705的)要保存的文件确定哈希值并且比较这个哈希值与已经存储在云中的其它文件的哈希值。与来自步骤705的文件具有相同哈希值的任何文件都是那个文件的重复。
在步骤715,去重系统为步骤705的新文件和在步骤710识别出的重复文件确定权重。这可以与关于图6所描述的步骤620相似的方式执行。例如,运行在计算设备上的选择引擎(例如,选择引擎83)可以利用静态参数(例如,表510)、动态参数(例如,表520)、加权因子(例如,表530和540)和加权表达式(例如,表达式550)为每个文件确定对应的权重。为了执行步骤715,运行选择引擎的计算设备可以以任何合适的方式,例如已经在此描述过的那些方式,获得静态参数、动态参数和加权因子的值。
在步骤720,通过比较每个文件对应的权重,系统确定是(来自步骤705的)新文件还是(来自步骤710的)已经保存的文件具有更高的权重。当新文件具有更高的权重时,在步骤725,把新文件作为主副本保存到其指定的存储设备,而已经保存的文件被删除并且用指向该新文件的指针代替。相反,当已经保存的文件具有更高的权重时,在步骤730,把已经保存的文件标记为主副本。仍然参考步骤730,代替保存新文件,创建并保存指向主副本的指针。以这种方式,本发明的实现可以用于执行内去重,其中主副本是基于在此所述的权重来选择的。
在实施例中,服务提供商,例如解决方案集成商,可以提供执行在此所述的过程。在这种情况下,服务提供商可以为一个或多个消费者创建、维护、部署、支持等执行本发明过程步骤的计算机基础架构。例如,这些消费者可以是使用技术并提供或利用服务的任何企业。反过来,服务提供商可以按订阅和/或付费协议从消费者收取费用和/或服务提供商可以通过向一个或多个第三方销售广告内容来收取费用。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (22)
1.一种在包括硬件与软件的组合的计算机基础架构中实现的方法,该方法包括:
基于与多个重复文件中每一个的对应存储设备关联的参数为所述多个重复文件中的每一个确定权重;及
基于所确定的权重,把所述多个重复文件中的一个指定为主副本。
2.如权利要求1所述的方法,其中参数包括静态参数和动态参数中的至少一个。
3.如权利要求1所述的方法,其中参数包括对应的所述存储设备的供应商权重、平均故障间隔时间、读性能、写性能、可用性和持久性中的至少一个。
4.如权利要求1所述的方法,其中参数包括对应的所述存储设备的磁头飞行高度、重映射扇区、错误计数、自旋时间、温度和数据吞吐量中的至少一个。
5.如权利要求1所述的方法,其中权重另外还基于与每一个参数关联的对应加权因子。
6.如权利要求5所述的方法,还包括为每一个参数和对应的加权因子获得数字值。
8.如权利要求1所述的方法,还包括用指向主副本的对应指针代替多个重复文件中除该主副本之外剩余的文件。
9.如权利要求1所述的方法,还包括在云环境中作为后去重过程的一部分执行确定与指定。
10.如权利要求1所述的方法,还包括在云环境中作为内去重过程的一部分执行确定与指定。
11.如权利要求1所述的方法,其中服务提供商执行创建、维护、部署和支持计算机基础架构中的至少一个。
12.如权利要求1所述的方法,其中权利要求1的步骤是由服务提供商在订阅、广告和/或付费的基础上提供的。
13.一种在硬件中实现并且包括计算机基础架构的系统,可操作成:
识别存储在不同存储设备的重复文件;
基于与存储设备关联的参数为重复文件中的每一个确定权重;及
基于所确定的权重,把重复文件中的一个指定为主副本。
14.如权利要求13所述的系统,其中参数被关联到在其上存储重复文件的存储设备的可靠性、健康状况和用户偏好中的至少一个。
15.如权利要求13所述的系统,其中:
参数包括存储设备的供应商权重、平均故障间隔时间、读性能、写性能、可用性和持久性中的至少一个;及
参数包括存储设备的磁头飞行高度、重映射扇区、错误计数、自旋时间、温度和数据吞吐量中的至少一个。
16.如权利要求13所述的系统,其中为重复文件中的每一个确定权重另外还基于为参数定义的加权因子。
17.如权利要求13所述的系统,其中:
重复文件中的两个具有相等的最高权重;及
把一个重复文件指定为主副本包括基于决胜参数选择两个中的一个。
18.一种去重方法,包括:
为多个文件中的每一个确定哈希值;
基于哈希值定义多个文件的集合;及
对于该集合中的每个对应文件:
确定对应集合中的最高权重文件,其中权重是基于与存储设备关联的参数;
把最高权重文件指定为对应集合的主副本;及
提名对应集合中除主副本之外的剩余文件删除。
19.如权利要求18所述的方法,其中参数被关联到存储设备的可靠性、健康状况和用户偏好中的至少一个。
20.一种用于文件去重的计算机系统,该系统包括:
第一装置,配置成识别一个重复文件的集合;
第二装置,配置成为重复文件中的每一个确定权重;及
第三装置,配置成基于重复文件中的每一个的权重指定集合的主副本;及
第四装置,配置成删除该集合中除主副本之外的剩余文件并且用指向主副本的对应指针代替剩余的文件,
其中:
权重是基于与存储设备关联的参数和为所述参数定义的加权因子;及
所述参数被关联到存储设备的可靠性、健康状况和用户偏好中的至少一个。
21.如权利要求20所述的计算机系统,其中:
参数包括存储设备的供应商权重、平均故障间隔时间、读性能、写性能、可用性和持久性中的至少一个;
参数包括存储设备的磁头飞行高度、重映射扇区、错误计数、自旋时间、温度和数据吞吐量中的至少一个;及
重复文件中特定的一个文件的权重是根据以下公式确定的:
其中:
“Staticm”是与存储设备中存储重复文件中特定的一个文件的特定的一个存储设备关联的第m个静态参数的值;
“β”是第m个静态加权因子的值;
“M”是静态参数的个数;
“Dynamn”是与存储设备中存储重复文件中特定的一个文件的特定的一个存储设备关联的第n个动态参数的值;
“δ”是第n个动态加权因子的值;及
“N”是动态参数的个数。
22.如权利要求20所述的计算机系统,其中计算机系统包括云环境中的不同节点。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/455,528 | 2012-04-25 | ||
US13/455,528 US8903764B2 (en) | 2012-04-25 | 2012-04-25 | Enhanced reliability in deduplication technology over storage clouds |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103377285A true CN103377285A (zh) | 2013-10-30 |
Family
ID=49462398
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2013101465336A Pending CN103377285A (zh) | 2012-04-25 | 2013-04-25 | 用于增强对存储云去重技术的可靠性的方法与系统 |
Country Status (2)
Country | Link |
---|---|
US (2) | US8903764B2 (zh) |
CN (1) | CN103377285A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105934749A (zh) * | 2014-01-27 | 2016-09-07 | 西部数据技术公司 | 用于数据存储系统的垃圾收集和数据重定位 |
WO2016141719A1 (zh) * | 2015-03-11 | 2016-09-15 | 华为技术有限公司 | 一种信道检测方法及装置 |
CN106980618A (zh) * | 2016-01-15 | 2017-07-25 | 航天信息股份有限公司 | 基于MongoDB分布式集群架构的文件存储方法和系统 |
CN107113314A (zh) * | 2015-01-19 | 2017-08-29 | 诺基亚技术有限公司 | 用于云计算中的异构数据存储管理的方法和装置 |
CN107249035A (zh) * | 2017-06-28 | 2017-10-13 | 重庆大学 | 一种等级化动态可变的共享重复数据存储和读取机制 |
WO2018165959A1 (zh) * | 2017-03-17 | 2018-09-20 | 深圳市秀趣品牌文化传播有限公司 | 电商数据清理系统及方法 |
CN109906439A (zh) * | 2016-11-16 | 2019-06-18 | 国际商业机器公司 | 通过存储控制器向对象存储云的时间点备份 |
US20210272035A1 (en) * | 2020-02-28 | 2021-09-02 | Uber Technologies, Inc. | Storage location selection according to query evaluation |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9450784B2 (en) * | 2012-09-27 | 2016-09-20 | Blackberry Limited | Communicating data among personal clouds |
US9582421B1 (en) * | 2012-12-19 | 2017-02-28 | Springpath, Inc. | Distributed multi-level caching for storage appliances |
JP5748932B2 (ja) * | 2013-04-30 | 2015-07-15 | 株式会社日立製作所 | 計算機システム及び非同期リモートレプリケーションの分析を支援する方法 |
WO2015056352A1 (ja) * | 2013-10-18 | 2015-04-23 | 株式会社日立製作所 | ファイル管理方法 |
CN104679746A (zh) * | 2013-11-26 | 2015-06-03 | 南京中兴新软件有限责任公司 | 去重复数据的恢复方法及装置 |
WO2015084308A1 (en) * | 2013-12-02 | 2015-06-11 | Empire Technology Development, Llc | Computing resource provisioning based on deduplication |
US9449012B2 (en) | 2014-05-30 | 2016-09-20 | Apple Inc. | Cloud library de-duplication |
WO2016072971A1 (en) * | 2014-11-04 | 2016-05-12 | Hewlett Packard Enterprise Development Lp | Deduplicating data across subtenants |
US10437784B2 (en) * | 2015-01-30 | 2019-10-08 | SK Hynix Inc. | Method and system for endurance enhancing, deferred deduplication with hardware-hash-enabled storage device |
US9906361B1 (en) | 2015-06-26 | 2018-02-27 | EMC IP Holding Company LLC | Storage system with master key hierarchy configured for efficient shredding of stored encrypted data items |
US9779269B1 (en) * | 2015-08-06 | 2017-10-03 | EMC IP Holding Company LLC | Storage system comprising per-tenant encryption keys supporting deduplication across multiple tenants |
US9852361B1 (en) * | 2016-02-11 | 2017-12-26 | EMC IP Holding Company LLC | Selective image backup using trained image classifier |
US10552413B2 (en) | 2016-05-09 | 2020-02-04 | Sap Se | Database workload capture and replay |
US10191668B1 (en) * | 2016-06-27 | 2019-01-29 | EMC IP Holding Company LLC | Method for dynamically modeling medium error evolution to predict disk failure |
CN108628708A (zh) * | 2017-03-20 | 2018-10-09 | 中兴通讯股份有限公司 | 云计算容错方法及装置 |
US10789002B1 (en) * | 2017-10-23 | 2020-09-29 | EMC IP Holding Company LLC | Hybrid data deduplication for elastic cloud storage devices |
US10698892B2 (en) * | 2018-04-10 | 2020-06-30 | Sap Se | Order-independent multi-record hash generation and data filtering |
US10922280B2 (en) * | 2018-04-10 | 2021-02-16 | Nutanix, Inc. | Policy-based data deduplication |
US11128460B2 (en) | 2018-12-04 | 2021-09-21 | EMC IP Holding Company LLC | Client-side encryption supporting deduplication across single or multiple tenants in a storage system |
US11019033B1 (en) | 2019-12-27 | 2021-05-25 | EMC IP Holding Company LLC | Trust domain secure enclaves in cloud infrastructure |
US11327688B2 (en) | 2020-01-13 | 2022-05-10 | Cisco Technology, Inc. | Master data placement in distributed storage systems |
US20220129426A1 (en) * | 2020-10-27 | 2022-04-28 | EMC IP Holding Company LLC | Versatile data reduction for internet of things |
US20220326865A1 (en) * | 2021-04-12 | 2022-10-13 | EMC IP Holding Company LLC | QUALITY OF SERVICE (QoS) BASED DATA DEDUPLICATION |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101378406A (zh) * | 2008-10-08 | 2009-03-04 | 南京邮电大学 | 一种数据网格副本的选择方法 |
US20090313312A1 (en) * | 2008-06-11 | 2009-12-17 | International Business Machines Corporation | Method of Enhancing De-Duplication Impact by Preferential Selection of Master Copy to be Retained |
US20100121825A1 (en) * | 2008-11-13 | 2010-05-13 | International Business Machines Corporation | File system with internal deduplication and management of data blocks |
CN102323958A (zh) * | 2011-10-27 | 2012-01-18 | 上海文广互动电视有限公司 | 重复数据删除方法 |
CN102378969A (zh) * | 2009-03-30 | 2012-03-14 | 惠普开发有限公司 | 拷贝卷中存储的数据的去重复 |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08249133A (ja) | 1994-12-15 | 1996-09-27 | Internatl Business Mach Corp <Ibm> | ディスク・ドライブ・アレイの故障対策の方法及びシステム |
US6484161B1 (en) * | 1999-03-31 | 2002-11-19 | Verizon Laboratories Inc. | Method and system for performing online data queries in a distributed computer system |
US7065588B2 (en) * | 2001-08-10 | 2006-06-20 | Chaavi, Inc. | Method and system for data transformation in a heterogeneous computer system |
US7269648B1 (en) * | 2001-09-27 | 2007-09-11 | Emc Corporation | Resolving multiple master node conflict in a DDB |
US7092956B2 (en) | 2001-11-02 | 2006-08-15 | General Electric Capital Corporation | Deduplication system |
US7191283B2 (en) | 2003-08-21 | 2007-03-13 | International Business Machines Corporation | Grouping of storage media based on parameters associated with the storage media |
US7734669B2 (en) * | 2006-12-22 | 2010-06-08 | Commvault Systems, Inc. | Managing copies of data |
GB2458568B (en) * | 2008-03-27 | 2012-09-19 | Covertix Ltd | System and method for dynamically enforcing security policies on electronic files |
US7567188B1 (en) | 2008-04-10 | 2009-07-28 | International Business Machines Corporation | Policy based tiered data deduplication strategy |
US8495032B2 (en) | 2008-10-01 | 2013-07-23 | International Business Machines Corporation | Policy based sharing of redundant data across storage pools in a deduplicating system |
US8140491B2 (en) | 2009-03-26 | 2012-03-20 | International Business Machines Corporation | Storage management through adaptive deduplication |
WO2010127365A1 (en) * | 2009-05-01 | 2010-11-04 | Citrix Systems, Inc. | Systems and methods for establishing a cloud bridge between virtual storage resources |
US8285681B2 (en) | 2009-06-30 | 2012-10-09 | Commvault Systems, Inc. | Data object store and server for a cloud storage environment, including data deduplication and data management across multiple cloud storage sites |
US8694469B2 (en) | 2009-12-28 | 2014-04-08 | Riverbed Technology, Inc. | Cloud synthetic backups |
US8447741B2 (en) | 2010-01-25 | 2013-05-21 | Sepaton, Inc. | System and method for providing data driven de-duplication services |
US8612699B2 (en) * | 2010-06-25 | 2013-12-17 | International Business Machines Corporation | Deduplication in a hybrid storage environment |
US9110727B2 (en) * | 2010-10-05 | 2015-08-18 | Unisys Corporation | Automatic replication of virtual machines |
US20120089775A1 (en) * | 2010-10-08 | 2012-04-12 | Sandeep Ranade | Method and apparatus for selecting references to use in data compression |
US20120089579A1 (en) * | 2010-10-08 | 2012-04-12 | Sandeep Ranade | Compression pipeline for storing data in a storage cloud |
KR20120072909A (ko) * | 2010-12-24 | 2012-07-04 | 주식회사 케이티 | 내용 기반 중복 방지 기능을 가지는 분산 저장 시스템 및 그 오브젝트 저장 방법 및 컴퓨터에 의하여 독출가능한 저장 매체 |
US8447732B2 (en) * | 2011-08-02 | 2013-05-21 | International Business Machines Corporation | Deduplication in network storage with data residence compliance |
US8849759B2 (en) * | 2012-01-13 | 2014-09-30 | Nexenta Systems, Inc. | Unified local storage supporting file and cloud object access |
US8838529B2 (en) * | 2011-08-30 | 2014-09-16 | International Business Machines Corporation | Applying replication rules to determine whether to replicate objects |
US8781800B2 (en) * | 2011-11-01 | 2014-07-15 | International Business Machines Corporation | Data de-duplication in computer storage systems |
US10013426B2 (en) * | 2012-06-14 | 2018-07-03 | International Business Machines Corporation | Deduplicating similar image objects in a document |
-
2012
- 2012-04-25 US US13/455,528 patent/US8903764B2/en not_active Expired - Fee Related
-
2013
- 2013-04-25 CN CN2013101465336A patent/CN103377285A/zh active Pending
-
2014
- 2014-10-27 US US14/524,442 patent/US9229819B2/en not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090313312A1 (en) * | 2008-06-11 | 2009-12-17 | International Business Machines Corporation | Method of Enhancing De-Duplication Impact by Preferential Selection of Master Copy to be Retained |
CN101378406A (zh) * | 2008-10-08 | 2009-03-04 | 南京邮电大学 | 一种数据网格副本的选择方法 |
US20100121825A1 (en) * | 2008-11-13 | 2010-05-13 | International Business Machines Corporation | File system with internal deduplication and management of data blocks |
CN102378969A (zh) * | 2009-03-30 | 2012-03-14 | 惠普开发有限公司 | 拷贝卷中存储的数据的去重复 |
CN102323958A (zh) * | 2011-10-27 | 2012-01-18 | 上海文广互动电视有限公司 | 重复数据删除方法 |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105934749B (zh) * | 2014-01-27 | 2019-10-08 | 西部数据技术公司 | 用于数据存储系统的垃圾收集和数据重定位 |
CN105934749A (zh) * | 2014-01-27 | 2016-09-07 | 西部数据技术公司 | 用于数据存储系统的垃圾收集和数据重定位 |
CN107113314B (zh) * | 2015-01-19 | 2020-06-19 | 诺基亚技术有限公司 | 用于云计算中的异构数据存储管理的方法和装置 |
US10581856B2 (en) | 2015-01-19 | 2020-03-03 | Nokia Technologies Oy | Method and apparatus for heterogeneous data storage management in cloud computing |
CN107113314A (zh) * | 2015-01-19 | 2017-08-29 | 诺基亚技术有限公司 | 用于云计算中的异构数据存储管理的方法和装置 |
WO2016141719A1 (zh) * | 2015-03-11 | 2016-09-15 | 华为技术有限公司 | 一种信道检测方法及装置 |
CN106034108B (zh) * | 2015-03-11 | 2019-07-19 | 华为技术有限公司 | 一种信道检测方法及装置 |
CN106034108A (zh) * | 2015-03-11 | 2016-10-19 | 华为技术有限公司 | 一种信道检测方法及装置 |
CN106980618A (zh) * | 2016-01-15 | 2017-07-25 | 航天信息股份有限公司 | 基于MongoDB分布式集群架构的文件存储方法和系统 |
CN106980618B (zh) * | 2016-01-15 | 2021-03-26 | 航天信息股份有限公司 | 基于MongoDB分布式集群架构的文件存储方法和系统 |
CN109906439A (zh) * | 2016-11-16 | 2019-06-18 | 国际商业机器公司 | 通过存储控制器向对象存储云的时间点备份 |
CN109906439B (zh) * | 2016-11-16 | 2023-06-06 | 国际商业机器公司 | 通过存储控制器向对象存储云的时间点备份 |
WO2018165959A1 (zh) * | 2017-03-17 | 2018-09-20 | 深圳市秀趣品牌文化传播有限公司 | 电商数据清理系统及方法 |
CN107249035A (zh) * | 2017-06-28 | 2017-10-13 | 重庆大学 | 一种等级化动态可变的共享重复数据存储和读取机制 |
CN107249035B (zh) * | 2017-06-28 | 2020-05-26 | 重庆大学 | 一种等级动态可变的共享重复数据存储和读取方法 |
US20210272035A1 (en) * | 2020-02-28 | 2021-09-02 | Uber Technologies, Inc. | Storage location selection according to query evaluation |
Also Published As
Publication number | Publication date |
---|---|
US9229819B2 (en) | 2016-01-05 |
US8903764B2 (en) | 2014-12-02 |
US20130290274A1 (en) | 2013-10-31 |
US20150046410A1 (en) | 2015-02-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103377285A (zh) | 用于增强对存储云去重技术的可靠性的方法与系统 | |
CN103299274B (zh) | 确定运行图像的最佳计算环境的系统和方法 | |
CN103365781B (zh) | 用于动态地重新配置存储系统的方法和设备 | |
CN104011717B (zh) | 管理计算系统中的数据存储的方法和系统 | |
CN105074724B (zh) | 使用列式数据库中的直方图进行有效查询处理 | |
CN103365725B (zh) | 在多个云之间动态分配工作负荷部署单元的方法和系统 | |
US9781020B2 (en) | Deploying applications in a networked computing environment | |
CN103368867B (zh) | 高速缓存经网络与辅助站点通信的对象的方法和系统 | |
CN104205115A (zh) | 使用不同安全擦除算法以从文件擦除与不同安全级别关联的组块 | |
US8407501B2 (en) | Allocation of storage resources in a networked computing environment based on energy utilization | |
CN103959264A (zh) | 在存储云中使用去重复来管理不可变冗余文件 | |
CN103297492A (zh) | 用于在联网计算环境之间迁移数据的方法和系统 | |
CN104216662B (zh) | 用于跨远程复制关系的卷布置的方法和系统 | |
CN103259742B (zh) | 在联网计算环境中进行基于活动的虚拟机可用性控制的方法与系统 | |
CN103927216B (zh) | 用于管理虚拟装置的方法和系统 | |
US20210042771A1 (en) | Facilitating use of select hyper-local data sets for improved modeling | |
US11836067B2 (en) | Hyper-converged infrastructure (HCI) log system | |
US8874513B2 (en) | Transitioning application replication configurations in a networked computing environment | |
US11321318B2 (en) | Dynamic access paths | |
US20180357228A1 (en) | Automated hardware device storage tiering | |
Ahmed et al. | Big Data Analytics and Cloud Computing: A Beginner's Guide | |
CN104216702A (zh) | 在联网计算环境中授权操作请求的方法和系统 | |
US8489809B2 (en) | Intelligent storage provisioning within a clustered computing environment | |
KR102346364B1 (ko) | 가상 서버 리소스 사용량 메트릭 평가 및 성능 추적을 위한 시스템 및 방법 | |
US11176108B2 (en) | Data resolution among disparate data sources |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20131030 |