异类文件优化的制作方法

文档序号:6439515阅读:159来源:国知局
专利名称:异类文件优化的制作方法
技术领域
本发明涉及文件优化,尤其是异类文件优化。
背景技术
数据优化是在不损害原始数据的保真度和完整性的情况下减少存储在存储设备 (例如磁盘)上的或通过网络传送的数据量的动作。数据优化通常包括用于消除持久地存储的文件内部及其之间的冗余的技术的组合。数据去重复(去重)是一种这样的技术,其中一个或多个文件中的数据的相同区域(又称块)被存储为单个区域。压缩是另一种这样的技术,其中数据被编码为包括比原始数据更少的位(或其他信息承载单元)。一旦数据被优化,可以通过逆转优化效果(即对经优化的数据进行解优化)来访问数据,例如通过执行关于经优化的数据的逆去重操作和/或解压缩操作。然而,解优化导致了关于访问数据的延迟。更大的数据量导致更长的等待时间。此外,每次访问数据时这种等待时间都可能发生,除非在存储设备上存储用于访问的数据的解优化版本。另外,解优化通常消耗设备的大量资源(例如存储器、中央处理单元(CPU)、磁盘I/O等),这可能负面地影响正在该设备上运行的主工作负载。因此,频繁的解优化可能导致对设备资源的相对低效率的利用。例如,如果文件中的数据被完全优化,那么与访问数据相关联的等待时间可能过度地降低访问数据和/或正在设备上运行的工作负载的设备的性能,尤其是如果该数据被频繁地访问。在另一个示例中,可能不期望优化文件的某些区域和/或某些类型的数据。然而,文件的各个区域对试图优化该文件的设备可能不是可见的。因此,设备可能无法知道文件的区域是否是可优化的。

发明内容
此处描述用于异类地优化文件等的各种方法。异类优化包括非统一地优化文件的诸区域。例如,文件的诸区域可以优化到不同的程度。根据该示例,可以使用不同的优化技术来优化每个区域或区域的子集。描述了基于与文件的各个区域相关联的访问模式来向该各个区域分配优化标记的示例方法。每个优化标记指示了相应区域将被优化到的程度。每个区域被优化到由被分配给该区域的相应优化标记所指示的程度。描述了另一个示例方法,其中将访问指示符分配给文件的各个区域。访问指示符对应于与各个区域相关联的各个访问模式。例如,可以使用文件系统过滤器驱动器来监控访问模式。基于被分配给各个区域的各个访问指示符,将优化标记分配给各个区域。每个优化标记指示了相应区域将被优化到的程度。每个区域被优化到由被分配给该区域的相应优化标记所指示的程度。还描述了另一个示例方法,其中安装包括多个区域的虚拟化存储文件以提供经安装的虚拟化存储文件。经安装的虚拟化存储文件包括与各个区域相对应的数据序列。每个数据序列被包括在一个或多个相应文件的集合中。执行关于经安装的虚拟化存储文件的磁盘过滤器以监控每个集合的访问模式。基于包括对应的数据序列的各个集合的访问模式, 将优化标记分配给各个区域。每个区域被优化到由被分配给该区域的相应优化标记所指示的程度。描述了包括分配模块和优化模块的示例系统。分配模块被配置为基于与文件的各个区域相关联的访问模式来向该各个区域分配优化标记。每个优化标记指示了相应区域将被优化到的程度。优化模块被配置为将每个区域优化到由被分配给该区域的相应优化标记所指示的程度。描述了包括分配模块和优化模块的另一个示例系统。分配模块被配置为向文件的各个区域分配访问指示符。访问指示符对应于与各个区域相关联的各个访问模式。分配模块还被配置为基于被分配给各个区域的各个访问指示符来向该各个区域分配优化标记。每个优化标记指示了相应区域将被优化到的程度。优化模块被配置为将每个区域优化到由被分配给该区域的相应优化标记所指示的程度。还描述了包括安装模块、访问监视器、分配模块,和优化模块的另一个示例系统。 安装模块被配置为安装包括多个区域的虚拟化存储文件以提供经安装的虚拟化存储文件。 经安装的虚拟化存储文件包括与各个区域相对应的数据序列。每个数据序列被包括在一个或多个相应文件的集合中。访问监视器被配置为执行关于经安装的虚拟化存储文件的磁盘过滤器以监控每个集合的访问模式。分配模块被配置为基于包括对应的数据序列的各个集合的访问模式,将优化标记分配给各个区域。优化模块被配置为将每个区域优化到由被分配给该区域的相应优化标记所指示的程度。描述了包括其上记录有用于异类地优化文件的计算机程序逻辑的计算机可读介质的示例计算机程序产品。计算机程序产品包括第一和第二程序逻辑模块。第一程序逻辑模块用于使基于处理器的系统基于与文件的各个区域相关联的访问模式来向该各个区域分配优化标记。每个优化标记指示了相应区域将被优化到的程度。第二程序逻辑模块用于使基于处理器的系统将每个区域优化到由被分配给该区域的相应优化标记所指示的程度。描述了包括其上记录有用于异类地优化文件的计算机程序逻辑的计算机可读介质的另一个示例计算机程序产品。计算机程序产品包括第一、第二,和第三程序逻辑模块。 第一程序逻辑模块用于使基于处理器的系统将访问指示符分配给文件的各个区域。访问指示符对应于与各个区域相关联的各个访问模式。第二程序逻辑模块用于使基于处理器的系统基于被分配给各个区域的各个访问指示符来向该各个区域分配优化标记。每个优化标记指示了相应区域将被优化到的程度。第三程序逻辑模块用于使基于处理器的系统将每个区域优化到由被分配给该区域的相应优化标记所指示的程度。还描述了包括其上记录有用于异类地优化文件的计算机程序逻辑的计算机可读介质的另一个示例计算机程序产品。计算机程序产品包括第一、第二、第三,和第四程序逻辑模块。第一程序逻辑模块用于使基于处理器的系统安装包括多个区域的虚拟化存储文件以提供经安装的虚拟化存储文件。经安装的虚拟化存储文件包括与各个区域相对应的数据序列。每个数据序列被包括在一个或多个相应文件的集合中。第二程序逻辑模块用于使基于处理器的系统执行关于经安装的虚拟化存储文件的磁盘过滤器以监控每个集合的访问模式。第三程序逻辑模块用于使基于处理器的系统基于包括对应的数据序列的各个集合的访问模式,将优化标记分配给各个区域。第四程序逻辑模块用于使基于处理器的系统将每个区域优化到由被分配给该区域的相应优化标记所指示的程度。提供本发明内容以便以简化形式介绍在以下具体实施方式
中进一步描述的一些概念。本发明内容并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。此外,注意到本发明不限于在详细描述和/或本文的其它章节中所述的特定实施例。这样的实施例只是出于例示的目的。基于此处所包含的原理,另外的实施例对那些相关领域技术人员是显而易见的。


本文结合的并且组成本说明书的一部分的附图,与描述一起示出本发明,并且进一步用于解释所涉及的原理以及使相关领域的技术人员能够实现和使用所公开的技术。图1是示出根据实施例的示例设备的框图。图2是示出根据实施例的示例主机设备的框图。图3-6描绘了根据实施例的用于异类地优化文件的示例方法的流程图。图7是依照实施例的图1所示的优化器的示例实现的框图。图8示出其中可实现各实施例的示例计算机。通过下面的结合附图对本发明进行的详细说明,所公开的技术的特点和优点将变得更加显而易见,在附图中,类似的附图标记在整个说明书中标识对应的元素。在附图中, 相同的附图标记一般指示相同的、功能上类似的和/或在结构上类似的元素。元素首先在其中出现的附图由对应的附图标记中最左边的数字来指示。
具体实施例方式I.介绍以下详细描述参考示出本发明的示例性实施例的附图。但是,本发明的范围不限于这些实施例,而是由所附权利要求书定义。因此,诸如所示实施例的修改版本之类的在附图所示之外的实施例仍然由本发明所包含。本说明书中对“ 一个实施例”、“实施例”、“示例实施例,,等的参考,指的是所述实施例可包括具体的特征、结构或特点,但是每个实施例不一定包括该具体的特征、结构或特点。此外,这样的短语不一定是指同一实施例。此外,当结合实施例描述具体特征、结构或特性时,应当理解在相关领域的技术人员的知识范围内能够结合其他实施例来实现具体特征、结构或特性,无论是否被显式地描述。II.示例实施例此处描述的示例实施例能够异类地优化文件。异类优化包括非统一地优化文件的诸区域。例如,文件的诸区域可以优化到不同的程度。根据该示例,不同的优化技术可以用于优化每个区域或区域的子集。在示例实施例中,基于与文件的各个区域相关联的访问模式来向该各个区域分配优化标记。访问模式指示和/或描述关于该访问模式与之相关联的区域的访问和/或修改。 文件可以是数据库文件、虚拟化存储文件,或其他合适的文件类型。数据库文件是包括多个记录文件和/或多个日志文件的文件。虚拟化存储文件是被配置为作为磁盘或卷被安装以提供用于访问宿主文件的文件系统接口的文件。根据这些示例实施例,每个优化标记指示了相应区域将被优化到的程度。每个区域可被优化到由被分配给该区域的相应优化标记所指示的程度。可以按照任何合适的方式来定义优化标记。例如,第一优化标记可以指示文件的第一区域将被压缩而不是去重复。第二优化标记可以指示第二区域将被去重复而不是压缩。第三优化标记可以指示第三区域将被压缩并且去重复。第四优化标记可以指示第四区域既不被压缩也不会去重复。第五和第六优化标记可以指示第五和第六区域将使用相应的第一和第二压缩技术来压缩。第七和第八优化标记可以指示第七和第八区域将使用相应的第一和第二去重复技术来去重复等。在示例实施例中,每个优化标记指示相应的优化策略或全局策略内的相应的优化级别。优化策略是定义基于所指定的标准对文件诸区域进行优化的方式的一组规则。优化策略可以定义多个优化级别。每个优化级别指示关于满足所指定的标准的相应子集的区域的将要执行的一个或多个数据优化技术。例如,第一优化级别可以指示关于与第一优化级别相关联的区域没有要执行的优化。根据该示例,区域被优化到的程度可以随着与该区域相关联的优化级别的提高而提高。一方面,提高与区域相关联的优化级别可以提高存储节省,但是可能消耗更多的计算资源,和/或增加了关于该区域执行的数据访问操作的等待时间。因此,选择将要与区域相关联的优化级别可以包括对存储节省与增加的资源消耗和 /或等待时间进行平衡。这种平衡可以基于或受影响于向将要被优化的数据类型提供最大优化的数据优化技术。可以认识到,指示优化策略的优化标记还可以指示由该优化策略定义的优化级别。与用于优化文件的传统技术比较,此处描述的示例技术具有各种益处。例如,某些示例技术可以将文件的各个区域优化到不同程度。描述示例技术可以部分地优化文件,意味着文件的一个或更多个区域未被优化。相比若使用传统技术优化文件设备访问文件所消耗的时间和/或资源量,根据此处描述的一个或多个示例技术的设备访问文件所消耗的时间和/或资源量可能更少。图1是根据实施例的示例设备100的框图。设备100是能够优化文件的处理系统。 处理系统的示例是包括至少一个能够根据指令集操纵数据的处理器的系统。例如,处理系统可以是计算机、个人数字助理等。设备100包括存储102和优化器104。存储102存储文件106。文件106包括多个区域108。用于说明目的且不旨在是限制性的,文件106被示为包括N个区域(标记为 RUR2-RN)的向量。将认识到,文件106可以包括任意合适数量的区域和/或区域的任意合适数量的配置。例如,区域108不必连续地存储在存储102上。此外,不必使用存储102 的连续位来存储区域。每个区域可以与文件106中任意合适的偏移量相对应。每个区域中的位的数量可以基于各种因素中的任一个,诸如可用于跟踪区域的存储器的量。每个区域可包括任意数量的位(即可以是任意大小),并且每个区域中的位的数量可以相同或不同。 另外,每个区域中的位的数量可以是固定的或可变的。可以基于与区域108相关联的访问模式、被分配给各个区域108的访问指示符、和 /或任何其他合适的因素来定义区域108。访问模式指示和/或描述关于该访问模式与之相关联的区域的访问和/或修改。例如,访问模式可包括最近访问区域的时间、访问区域的次数、访问区域的频率、最近修改区域的时间、修改区域的次数、修改区域的频率、关于在系统引导操作期间(例如,关于设备100)是否访问区域的指示、区域是否被指定应用程序(例如,数据库应用程序)访问等。访问模式可以与访问指示符相对应。每个访问指示符与一条或多条相应标准相关联。如果与区域相关联的访问模式满足与访问指示符相关联的一条或多条标准,那么将该访问指示符分配给该区域。因此,可以在文件106的区域108间分配访问指示符的多个实例,但是实例实施例的范围不限于此方面。下面参考图4和5更详细地讨论访问指示符。优化器104被配置为基于被分配给文件106的区域108的优化标记来优化区域 108。优化标记可以基于与区域108和/或任何其他合适的因素相关联的访问模式。下面参考图3-6详细地描述用于优化区域(例如区域108)的技术。图2是根据实施例的示例主机设备200的框图。主机设备200是能够安装虚拟化存储文件以提供虚拟盘的处理系统。主机设备200包括存储202和优化器204。存储202 存储包括多个区域208的虚拟化存储文件206。可以基于与区域208相关联的访问模式、 与存储在虚拟盘(例如,虚拟盘210)上的宿主文件相对应的虚拟化存储文件206中的偏移量、和/或任何其他合适的因素来定义区域208。每个区域中的位的数量可以基于各种因素中的任一个,包括但不限于包括在与区域相对应的宿主文件中的位的平均数量、可用于跟踪区域的存储器的量等。用于说明目的且不旨在是限制性的,区域208被示为被排列成 N个区域(标记为R1、R2…RN)的向量。将认识到,虚拟化存储文件206可以包括任意合适数量和/或配置的区域。优化器204被配置为基于被分配给虚拟化存储文件206的区域208的优化标记来优化区域208。优化标记可以基于与区域208相关联的访问模式、宿主文件的属性、和 /或任何其他合适的因素。宿主文件的示例属性包括但不限于宿主文件的访问模式、关于宿主文件的试探、宿主文件的分类、宿主文件的格式、宿主文件的类型、宿主文件的预期使用(例如是否使用宿主文件来执行虚拟机212,或者是否在关于主机设备200的系统引导操作期间使用宿主文件)、宿主文件是否由指定的应用程序(例如数据库应用程序)访问等。宿主文件的示例格式包括但不限于Adobe PDF格式、Microsoft Of f i ce (例如 Word 、Excel 、Visio 等)格式、WordPerfect 格式、可扩展标记语言(XML)格式等。在某些示例实施例中,优化器204能够安装虚拟化存储文件206以提供虚拟盘 210,如箭头214所指示的。图2中示出的虚拟盘210被安装在被配置为在主机设备200上执行的虚拟机212上。然而将认识到,虚拟盘210可被安装到主机设备200而不是虚拟机 212上。例如,主机设备200不必包括虚拟机212。将虚拟化存储文件206安装到主机设备 200或虚拟盘210上可以使优化器204将虚拟盘210认作存储而非文件。例如,安装虚拟化存储文件206可以使优化器204为了优化区域208或包括在虚拟盘210中的宿主文件的目的,确定与虚拟盘210相关联的逻辑卷和/或文件系统。下面参考图3-6详细地描述用于优化区域(例如区域208)的技术。图3-6描绘了根据实施例的用于优化文件的示例方法的流程图300、400、500和 600。流程图300、400、500和600可以由图1所示的设备100的优化器104和/或例如图2 所示的主机设备200的优化器204来执行。出于说明性目的,关于图7所示的优化器700描述了流程图300、400、500和600,根据实施例,优化器700是优化器104或204的示例。如图7所示,优化器700包括分配模块702、优化模块704、访问监视器706,和安装模块708。 基于有关流程图300、400、500和600的讨论,进一步的结构及操作实施例对于相关领域的技术人员将是显而易见的。将认识到,分配模块702、优化模块704、访问监视器706、和/或安装模块708中的一个或多个可以在虚拟机212中实现。如图3所示,流程图300的方法在步骤302处开始。在步骤302,基于与文件的各个区域相关联的访问模式,向各个区域分配优化标记。可以基于各种因素中的任一个将每个优化标记分配给相应区域,包括但不限于与访问该区域相关联的等待时间、用于访问该区域的系统资源(例如系统中的处理器、存储或网络的带宽、运行时间等)的量、是否响应于安装使用该区域(例如以提供虚拟盘)的操作系统而访问该区域、该区域是否由指定应用程序(例如数据库应用程序)访问等。文件可以是虚拟化存储文件、数据库文件或其他合适的文件类型。每个优化标记指示了相应区域将被优化到的程度。例如,每个优化标记可以指示相应的优化策略、和/或优化策略中的优化级别以被应用于该优化标记被分配的区域。在示例实施例中,分配模块702向各个区域分配优化标记。在示例实施例中,与区域相关联的访问模式指示访问区域的程度。例如,程度可以基于该区域被访问的次数、该区域被访问的频率、该区域被最近访问的时间、和/或其组合。将认识到区域被访问的程度可以基于除上述示例因素以外或代替上述示例因素的因
ο在另一个示例实施例中,与区域相关联的访问模式指示修改区域的程度。例如,程度可以基于该区域被修改的次数、该区域被修改的频率、该区域被最近修改的时间、和/或其组合。将认识到区域被修改的程度可以基于除上述示例因素以外或代替上述示例因素的因素。在又一个示例实施例中,每个访问模式指示相应区域被访问或修改的具体程度。 具体程度是表示相应的区域被访问或修改的实际程度(或其估计)的单个值。例如,如果区域被修改了 7次,则对应的访问模式可以指示该区域被修改7次、约0次、约10次等。在另一个示例中,如果区域每小时被访问253次,则对应的访问模式可指示该区域每小时被访问253次、每小时约200次、每小时约250次等。在又一个示例实施例中,每个访问模式指示包括相应区域被访问或修改的具体程度的概括程度。例如,如果区域被修改了 7次,则对应的访问模式可以指示该区域被修改0 次到10次之间、5次到20次之间、或任何其他合适的次数范围。在另一个示例中,如果区域每小时被访问253次,则对应的访问模式可以指示该区域被修改0次到300次之间、200次到400次之间、或任何其他合适的次数范围。例如,第一访问模式可以指示访问或修改的0到100个实例的第一概括程度。第二访问模式可以指示访问或修改的101到250个实例的第二概括程度。第三访问模式可以指示访问或修改的251到500个实例的第三概括程度等,以此类推。此处描述的概括范围的示例范围仅用于说明性目的,并且不旨在是限制性的。将认识到,概括范围可以指示访问实例、访问频率、访问时间、修改实例、修改频率、修改时间等的任何合适的范围。在步骤304,每个区域被优化到由被分配给该区域的相应优化标记所指示的程度。 在示例实现中,优化模块704优化每个区域。在示例实施例中,每个区域被迭代地优化到由被分配给该区域的相应优化标记所指示的程度。例如,优化模块704可以监控区域以确定自从该区域的最近的优化以来的关于该区域的变化。根据该示例,优化模块704可以创建包括该变化的差分文件。例如,优化模块704可以在周期性的基础上优化区域。如图4所示,流程图400的方法在步骤402处开始。在步骤402,访问指示符被分配给文件的各个区域。访问指示符对应于与各个区域相关联的各个访问模式。在示例实施例中,分配模块702向各个区域分配访问指示符。在示例实施例中,具有第一公共值(例如一)的访问指示符被分配给区域的第一子集。包括在第一子集中的区域与满足至少一个第一标准(例如超过一天以前最近的访问时间)的相应访问模式相关联。具有第二公共值(例如二)的访问指示符被分配给区域的第二子集。包括在第二子集中的区域与满足至少一个第二标准(例如超过一个小时以前但不超过一天以前的最近的访问时间)的相应访问模式相关联。具有第三公共值(例如三) 的访问指示符被分配给区域的第三子集。包括在第三子集中的区域与满足至少一个第三标准(例如不超过一个小时以前最近的访问时间)的相应访问模式相关联。关于该示例实施例的区域的三个子集仅被描述用于说明性目的,并且不旨在是限制性的。将认识到,示例实施例可包括与任意数量的相应标准相对应的区域的任意数量的子集。在步骤404,基于被分配给各个区域的各个访问指示符,将优化标记分配给各个区域。每个优化标记指示相应区域将被优化到的程度。在示例实现中,分配模块702向各个区域分配优化标记。在示例实施例中,每个优化标记可以与相应的等待时间相关联。例如,如果第一优化标记指示将要执行关于第一优化标记被分配到的区域的第一类型的优化操作,那么期望与第一类型的优化操作有关的第一等待时间可以与第一优化标记相关联。如果第二优化标记指示将要执行关于第二优化标记被分配到的区域的第二类型的优化操作,那么期望与第二类型的优化操作有关的第二等待时间可以与第二优化标记相关联,以此类推。根据该示例实施例,等待时间阈值可以与每个访问指示符相关联。例如,可以确定系统能够容忍关于访问区域的第一等待时间,向该区域分配具有第一值的相应的访问指示符。还可以确定系统能够容忍关于访问区域的第二等待时间,向该区域分配具有第二值的相应的访问指示符,以此类推。第一等待时间可以对应于第一等待时间阈值;第二等待时间可以对应于第二等待时间阈值,以此类推。因此,基于与相应优化标记相关联的等待时间小于与被分配给该区域的访问指示符相关联的等待时间阈值,可以将每个优化标记分配给相应区域。在另一个示例实施例中,每个优化标记可以与系统资源消耗的相应的量相关联。 例如,如果第一优化标记指示将要执行关于第一优化标记被分配到的区域的第一类型的优化操作,那么期望与第一类型的优化操作有关的系统资源消耗的第一量可以与第一优化标记相关联。如果第二优化标记指示将要执行关于第二优化标记被分配到的区域的第二类型的优化操作,那么期望与第二类型的优化操作有关的系统资源消耗的第二量可以与第二优化标记相关联,以此类推。根据该示例实施例,消耗阈值可以与每个访问指示符相关联。例如,可以确定系统能够容忍关于访问区域的系统资源消耗的第一量,向该区域分配具有第一值的相应的访问指示符。还可以确定系统能够容忍关于访问区域的系统资源消耗的第二量,向该区域分配具有第二值的相应的访问指示符,以此类推。系统资源消耗的第一量可以对应于第一消耗阈值;系统资源消耗的第二量可以对应于第二消耗阈值,以此类推。因此,每个优化标记可以基于与相应的优化标记相关联的系统资源消耗的量被分配给相应的区域,该消耗小于与被分配给该区域的访问指示符相关联的消耗阈值。在另一个示例实施例中,基于与值的第一范围相对应的第一访问指示符,将第一优化标记分配给该区域的第一子集,该值被分配给包括在第一子集中的相应区域。基于与值的第二范围相对应的第二访问指示符,将第二优化标记分配给该区域的第二子集,该值被分配给包括在第二子集中的相应区域,以此类推。根据该示例实施例,第一优化标记可以指示包括在第一子集中的各个区域将被优化到的第一公共程度。第二优化标记可以指示包括在第二子集中的各个区域将被优化到的第二公共程度,以此类推。在步骤406,每个区域被优化到由被分配给该区域的相应优化标记所指示的程度。 在示例实现中,优化模块704优化每个区域。在某些示例实施例中,可以不执行流程图400的一个或多个步骤402、404、和/或 406。此外,可以执行除步骤402、404、和/或406以外的步骤或代替步骤402、404、和/或 406的步骤。在示例实施例中,执行图5的流程图500的步骤来代替流程图400的步骤402。如图5所示,流程图500的方法在步骤502处开始。在步骤502,使用文件系统过滤器驱动器来监控与文件的各个区域相关联的访问模式。文件系统过滤器驱动器截取定位于文件系统或另一个文件系统过滤器驱动器的请求。通过在请求达到其预期目标之前将其截取,文件系统过滤器驱动器可以扩展和/或替换该请求的原始目标所提供的功能。文件系统过滤器驱动器的示例包括但不限于反病毒过滤器、备份代理、加密模块等。在示例实现中,访问监视器706监控多个区域中的每个被访问到的程度。在步骤504,访问指示符被分配给各个区域。每个访问指示符对应于与相应区域相关联的访问模式。在示例实现中,分配模块702向各个区域分配访问指示符。在另一个示例实施例中,执行图6的流程图600的步骤来代替流程图400的步骤 402。如图6所示,流程图600的方法在步骤602处开始。在步骤602,安装包括多个区域的虚拟化存储文件以提供经安装的虚拟化存储文件,该虚拟化存储文件包括与各个区域相对应的数据序列。每个数据序列被包括在一个或多个相应文件的集合中。在示例实现中,安装模块708安装虚拟化存储文件以提供经安装的虚拟化存储文件。在步骤604,关于经安装的虚拟化存储文件执行磁盘过滤器以监控每个集合的访问模式。磁盘过滤器截取定位于虚拟或物理磁盘的请求。通过在请求到达其预期目标之前将其截取,磁盘过滤器可以确定关于包括在预期目标中的宿主文件的信息(例如访问模式)。在示例实现中,访问监视器706执行关于经安装的虚拟化存储文件的磁盘过滤器。在步骤606,基于包括对应的数据序列的各个集合的访问模式,将优化标记分配给各个区域。在示例实现中,分配模块702向各个区域分配优化标记。将认识到,优化器700可以不包括分配模块702、优化模块704、访问监视器706、和 /或安装模块708中的一个或多个。另外,优化器700可以包括除分配模块702、优化模块 704、访问监视器706、和/或安装模块708以外的模块,或者代替它们的模块。分配模块702、优化模块704、访问监视器706和安装模块708可用硬件、软件、固件或它们的任何组合来实现。例如,分配模块702、优化模块704、访问监视器706、和/或安装模块708可被实现为配置成在一个或多个处理器中执行的计算机程序代码。在另一个示例中,分配模块702、优化模块704、访问监视器706和/或安装模块708可被实现为硬件逻
辑/电路。图8描绘其中可实现各实施例的示例计算机800。可以使用计算机800来实现图 1和2中所示的任意一个或多个设备100和200 (或图7所示的任意一个或多个子组件), 包括计算机800的一个或多个特征和/或替换特征。计算机800可以是例如常规个人计算机、移动计算机或工作站形式的通用计算设备,或者,计算机800可以是特殊用途的计算设备。此处所提供的对计算机800的描述只是为了说明,并不是限制性的。实施例也可以在相关领域的技术人员所知的其它类型的计算机系统中实现。如图8所示,计算机800包括处理单元802、系统存储器804,以及将包括系统存储器804的各种系统组件耦合到处理单元802的总线806。系统总线806表示若干类型的总线结构中的任何一种总线结构的一个或多个,包括存储器总线或存储器控制器、外围总线、加速图形端口,以及使用各种总线体系结构中的任何一种的处理器或局部总线。系统存储器804包括只读存储器(ROM) 808和随机存取存储器(RAM) 810。基本输入/输出系统 812 (BIOS)存储在 ROM 808 中。计算机800还具有一个或多个以下驱动器用于读写硬盘的硬盘驱动器814、用于读或写可移动磁盘816的磁盘驱动器818、以及用于读或写诸如⑶R0M、DVD ROM或其他光介质之类的可移动光盘820的光盘驱动器822。硬盘驱动器814、磁盘驱动器816,以及光驱动器820分别通过硬盘驱动器接口 824、磁盘驱动器接口 826,以及光学驱动器接口 828连接到系统总线806。驱动器以及它们相关联的计算机可读存储介质为计算机提供了对计算机可读指令、数据结构、程序模块,及其他数据的非易失存储器。虽然描述了硬盘、可移动磁盘和可移动光盘,但是,也可以使用诸如闪存卡、数字视频盘、随机存取存储器(RAM)、只读存储器(ROM)等等之类的其他类型的计算机可读存储介质来存储数据。多个程序模块可被存储在硬盘、磁盘、光盘、ROM,或RAM上。这些程序包括操作系统830、一个或多个应用程序832、其他程序模块834,以及程序数据836。应用程序832或程序模块834可以包括例如用于实现如此处描述的分配模块702、优化模块704、访问监视器706、安装模块708、流程图300 (包括流程图300的任意步骤)、流程图400 (包括流程图 400的任意步骤)、流程图500 (包括流程图500的任意步骤)、和/或流程图600 (包括流程图600的任意步骤)的计算机程序逻辑。用户可以通过诸如键盘838和定点设备840之类的输入设备向计算机800中输入命令和信息。其他输入设备(未示出)可包括话筒、操纵杆、游戏手柄、圆盘式卫星天线、扫描仪等。这些及其他输入设备常常通过耦合到总线802的串行端口接口 842连接到处理单元806,但是,也可以通过其他接口,诸如并行端口、游戏端口、通用串行总线(USB)端口,来进行连接。显示设备844(例如监视器)也通过诸如视频适配器846之类的接口连接到总线 806。除了显示设备844之外,计算机800还可包括其他外围输出设备(未示出),如扬声器和打印机。计算机800通过网络接口或适配器850、调制解调器852、或用于通过网络建立通信的其他装置连接到网络848 (例如,因特网)。调制解调器852 (可以是内置的或外置的), 通过串行端口接口 842连接到系统总线806。如此处所用的,术语“计算机程序介质”以及“计算机可读介质”被用于泛指介质, 诸如与硬盘驱动器814相关联的硬盘、可移动磁盘818、可移动光盘822,以及其他介质,诸如闪存卡、数字视频盘、随机读取存储器(RAM)、只读存储器(ROM)等。如上文所指示的,计算机程序和模块(包括应用程序832及其他程序模块834)可以存储在硬盘、磁盘、光盘、ROM或RAM上。这样的计算机程序也可以通过网络接口 850或串行端口接口 842来接收。这些计算机程序在由应用程序执行或加载时使得计算机800能够实现此处所讨论的实施例的特征。相应地,这样的计算机程序表示计算机800的控制器。示例实施例还涉及包括存储在任何计算机可用介质上的软件(例如计算机可读指令)的计算机程序产品。这样的软件,当在一个或多个数据处理设备中执行时,使数据处理设备如此处所描述的那样操作。实施例可使用现在已知或将来知晓的任何计算机可使用或计算机可读介质。计算机可读介质的例子包括但不限于存储设备,诸如RAM、硬盘、软盘、 CD ROM、DVD ROM、Zip盘、磁带、磁存储设备、光存储设备、基于MEMS的存储设备、基于纳米技术的存储设备,等等。III.结论虽然以上描述了不同的实施例,但应当理解的是它们只是作为示例而非限制。对于相关领域的技术人员显而易见的是,可以对其做出各种改变而不背离本发明的精神和范围。因此,本发明的宽度和范围不应被上述所公开的示例性实施例所限制,而应当仅根据所附权利要求书及其等同替换来定义。
权利要求
1.一种方法,包括基于与文件(106)的多个相应区域(108)相关联的多个访问模式,将多个优化标记分配给所述多个相应区域(108),每个优化标记指示所述相应区域将被优化到的程度;以及将每个区域优化到由被分配给所述区域的相应优化标记所指示的程度。
2.如权利要求1所述的方法,其特征在于,分配所述多个优化标记包括 将所述多个优化标记分配给虚拟存储文件的所述多个相应区域。
3.如权利要求1所述的方法,其特征在于,分配所述多个优化标记包括 将所述多个优化标记分配给数据库文件的所述多个相应区域。
4.如权利要求1所述的方法,其特征在于,分配所述多个优化标记包括 还基于与访问所述区域相关联的等待时间,将每个优化标记分配给所述相应区域。
5.如权利要求1所述的方法,其特征在于,分配所述多个优化标记包括 还基于用于访问所述区域的系统资源的量,将每个优化标记分配给所述相应区域。
6.如权利要求1所述的方法,其特征在于,分配所述多个优化标记包括基于所述相应区域被访问多次或所述相应区域被修改多次中的一个,将每个优化标记分配给所述相应区域。
7.如权利要求1所述的方法,其特征在于,分配所述多个优化标记包括基于所述相应区域被访问的频率或所述相应区域被修改的频率中的一个,将每个优化标记分配给所述相应区域。
8.如权利要求1所述的方法,其特征在于,分配所述多个优化标记包括基于所述相应区域被最近访问的时间或所述相应区域被最近修改的时间中的一个,将每个优化标记分配给所述相应区域。
9.如权利要求1所述的方法,其特征在于,分配所述多个优化标记包括基于响应于安装使用所述相应区域的操作系统所述相应区域是否被访问,将每个优化标记分配给所述相应区域。
10.如权利要求1所述的方法,其特征在于,分配所述多个优化标记包括基于所述相应区域是否被特定的应用程序访问,将每个优化标记分配给所述相应区域。
11.根据权利要求1所述的方法,其特征在于,还包括使用文件系统过滤器驱动器来监控与所述多个相应区域相关联的所述多个访问模式;其中分配所述多个优化标记包括响应于监控与所述多个相应区域相关联的所述多个访问模式,将所述多个优化标记分配给所述多个相应区域。
12.如权利要求1所述的方法,其特征在于,所述文件是虚拟化存储文件; 其中所述方法还包括安装所述虚拟化存储文件以提供包括多个数据序列的经安装的虚拟化存储文件,所述多个数据序列与所述多个相应区域相对应,每个数据序列被包括在一个或多个相应文件的集合中;以及关于所述经安装的虚拟化存储文件执行磁盘过滤器以监控每个集合的访问模式;以及其中分配所述多个优化标记包括基于包括对应的数据序列的相应集合的所述访问模式,将每个优化标记分配给所述虚拟化存储文件的相应区域。
13.如权利要求1所述的方法,其特征在于,优化每个区域包括将每个区域迭代地优化到由被分配给所述区域的相应优化标记所指示的程度。
14.根据权利要求1所述的方法,其特征在于,还包括将多个访问指示符分配给所述多个相应区域,每个访问指示符对应于与所述相应区域相关联的所述访问模式;其中分配所述多个优化标记包括基于与所述相应优化标记相关联的等待时间小于与被分配给所述区域的所述访问指示符相关联的等待时间阈值,将每个优化标记分配给所述相应区域。
15.一种系统,包括分配模块(702),被配置为基于与文件(106)的多个相应区域(108)相关联的多个访问模式,将多个优化标记分配给所述多个相应区域(108),每个优化标记指示所述相应区域将被优化到的程度;以及优化模块(704),被配置为将每个区域优化到由被分配给所述区域的所述相应优化标记所指示的程度。
全文摘要
本发明涉及异类文件优化。此处描述了能够异类地优化文件的技术。异类优化包括非统一地优化文件的诸区域。例如,文件的诸区域可以优化到不同的程度。根据该示例,可以使用不同的优化技术来优化每个区域或区域的子集。一方面,基于与文件的各个区域相关联的访问模式,向该各个区域分配优化标记。文件可以是数据库文件、虚拟化存储文件,或其他合适的文件类型。每个优化标记指示了相应区域将被优化到的程度。每个区域可被优化到由被分配给该区域的相应优化标记所指示的程度。
文档编号G06F17/30GK102567462SQ20111038613
公开日2012年7月11日 申请日期2011年11月18日 优先权日2010年11月22日
发明者M·J·迪克森, R·卡拉赫 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1