经去重复文件的细粒度部分召回的制作方法_5

文档序号:9291675阅读:来源:国知局
现本文所述的各实施例的一个或多个方面的合适的计 算系统环境900的一个示例,尽管如上所述,计算系统环境900仅为合适的计算环境的一个 示例,并非对使用范围或功能提出任何限制。另外,计算系统环境900也不旨在被解释为对 在示例计算系统环境900中所例示的组件中的任何一个或其组合有任何依赖。
[0118] 参考图9,用于实现一个或多个实施例的示例性远程设备包括计算机910形式的 通用计算设备。计算机910的组件可包括但不限于:处理单元920、系统存储器930以及将 包括系统存储器在内的各种系统组件耦合到处理单元920的系统总线922。
[0119] 计算机910通常包括各种计算机可读介质,并且可以是可由计算机910访问的任 何可用介质。系统存储器930可包括诸如只读存储器(ROM)和/或随机存取存储器(RAM) 之类的易失性和/或非易失性存储器形式的计算机存储介质。作为示例而非限制,系统存 储器930还可包括操作系统、应用程序、其他程序模块、以及程序数据。
[0120] 用户可通过输入设备940向计算机910输入命令和信息。监视器或其他类型的显 示设备也经由诸如输出接口 950之类的接口连接到系统总线922。除监视器以外,计算机还 可包括诸如扬声器和打印机之类的其他外围输出设备,它们可通过输出接口 950连接。
[0121] 计算机910可使用到一个或多个其他远程计算机(诸如远程计算机970)的逻辑 连接在联网或分布式环境中操作。远程计算机970可以是个人计算机、服务器、路由器、网 络PC、对等设备或其他常见网络节点、或者任何其他远程媒体消费或传输设备,并且可包括 以上关于计算机910所述的任何或全部元件。图9所示的逻辑连接包括诸如局域网(LAN) 或广域网(WAN)之类的网络972,但也可包括其他网络/总线。这些联网环境在家庭、办公 室、企业范围的计算机网络、内联网和因特网中是常见的。
[0122] 如上所述,尽管结合各种计算设备和网络体系结构描述了各示例性实施例,但基 本概念可被应用于其中期望改进资源使用的效率的任何网络系统和任何计算设备或系统。
[0123] 而且,存在实现相同或相似功能性的多种方法,例如适当的API、工具箱、驱动程序 代码、操作系统、控件、独立或可下载软件对象等,它们使得应用和服务能够使用本文中提 供的技术。由此,本文中的各实施例从API (或其他软件对象)的观点以及从实现如本文中 描述的一个或多个实施例的软件或硬件对象构想。由此,本文中所述的各实施例可具有完 全采用硬件、部分采用硬件并且部分采用软件、以及采用软件的方面。
[0124] 本文中所使用的词语"示例"意味着用作示例、实例或说明。为避免疑惑,本文所 公开的主题不限于这些示例。另外,在此所述的被描述为"示例"的任意方面或设计并不一 定要被解释为相比其它方面或设计更优选或有利。此外,在使用术语"包括"、"具有"、"包 含"和其他类似词语的程度上,为避免疑惑,这些术语旨在当用于权利要求中时以类似于术 语"包括"作为开放的过渡词的方式是包含性的而不排除任何附加或其他元素。
[0125] 如所述的,本文中所述的各种技术可结合硬件或软件或,在适当时,以两者的组合 来实现。如本文中所使用的,术语"组件"、"模块"、"系统"等同样旨在指计算机相关实体,或 者是硬件、硬件和软件的组合、软件或者是执行中的软件。例如,组件可以是但不限于在处 理器上运行的进程、处理器、对象、可执行件、执行的线程、程序、和/或计算机。作为说明, 在计算机上运行的应用和计算机都可以是组件。一个或多个组件可驻留在进程和/或执行 的线程内,并且组件可位于一个计算机上和/或分布在两个或更多的计算机之间。
[0126] 如前所述的系统已经参考若干组件之间的交互来描述。可以理解,这些系统和组 件可包括组件或指定的子组件、某些指定的组件或子组件和/或附加的组件,并且根据上 述内容的各种置换和组合。子组件还可作为通信地耦合到其他组件的组件来实现,而不是 被包括在父组件内(层次性)。另外,应注意到一个或多个组件可被组合成提供聚集功能性 的单个组件,或被分成若干单独的子组件,且诸如管理层等任何一个或多个中间层可被设 置成通信耦合到这样的子组件以便提供集成功能性。本文中所述的任何组件也可与一个或 多个本文中未专门描述的但本领域技术人员一般已知的其他组件进行交互。
[0127] 鉴于本文所述的示例系统,可根据参考各附图的流程图还可理解根据所述的主题 来实现方法。尽管为了说明简洁起见,作为一系列框示出和描述的方法,但是应当理解,各 实施例不仅仅限于框的次序,因为一些框可以与本文中所描绘和描述的框不同的次序发生 和/或与其他框并发地发生。尽管经由流程图示出了非顺序或分支的流程,但可以理解,可 实现达到相同或类似结果的各种其他分支、流程路径和框的次序。此外,一些所示的框在实 现下面所述的方法时是任选的。
[0128] 结造
[0129] 尽管本发明易于作出各种修改和替换构造,但其某些说明性实施例在附图中示出 并在上面被详细地描述。然而应当了解,这不旨在将本发明限于所公开的具体形式,而是相 反地,旨在覆盖落入本发明的精神和范围之内的所有修改、替换构造和等效方案。
[0130] 除本文中所述的各实施例以外,应当理解,可使用其他类似实施例,或者可对所述 实施例作出修改和添加以便执行对应实施例的相同或等效功能而不背离这些实施例。此 外,多个处理芯片或多个设备可共享本文中所述的一个或多个功能的性能,并且类似地,存 储可跨多个设备实现。因此,本发明不限于任何单个实施例,而是要根据所附权利要求书的 广度、精神和范围来解释。
【主权项】
1. 一种在计算环境中的系统,包括:细粒度部分召回机制,配置成与文件相关联地维 护哪一个或多个文件数据范围相对于包括块存储中的干净数据的干净范围而言是脏的信 息,其中每一个脏范围具有独立于文件系统范围跟踪粒度的大小。2. 如权利要求1所述的系统,其特征在于,将一个或多个范围变脏成一个或多个脏范 围的写数据量不与范围对齐相对齐,并且其中所述细粒度部分召回机制还被配置成从所述 块存储召回数据以与所述一个或多个脏范围相对齐。3. 如权利要求1所述的系统,其特征在于,所述细粒度部分召回机制在多个分层安排 的位图数据结构中与所述文件相关联地维护所述信息。4. 如权利要求1所述的系统,还包括:去重复系统,配置成将所述文件的状态从部分经 去重复状态变回完全经去重复状态或较少部分经去重复状态,包括在所述文件被打开以供 写入时。5. -种在计算环境中的方法,包括:在一个或多个跟踪数据结构中跟踪部分召回的文 件的哪些范围是脏的;以及基于一个或多个转储清除准则,将所述一个或多个跟踪结构从 易失性存储器懒惰地转储清除到非易失性存储器。6. 如权利要求5所述的方法,其特征在于:基于一个或多个转储清除准则懒惰地转储 清除所述一个或多个跟踪结构包括基于最后转储清除对照阈值时间值来评估时间,或对照 最大值来评估待决转储清除的数量。7. -个或多个具有计算机可执行指令的计算机可读介质,所述计算机可执行指令在被 执行时执行以下步骤,包括:优化打开文件,包括使用跟踪哪一个或多个文件范围是脏的以 及哪些是干净的数据,并截除所述干净范围。8. 如权利要求7所述的一个或多个计算机可读介质,其特征在于,具有包括执行下列 各步骤的进一步的计算机可执行指令:跟踪哪些写发生在范围已被优化之后。9. 根据权利要求7所述的一个或多个计算机可读介质,其特征在于:优化所述文件包 括在持续优化中优化所述文件,其中所述文件的各子部分在不同的时间被优化。10. 如权利要求7所述的一个或多个计算机可读介质,其特征在于,具有包括执行下列 各步骤的进一步的计算机可执行指令:跟踪发生在截除开始点之前的一个或多个读请求, 并且不截除文件流数据直至发生在所述截除开始点之前的每一读请求完成为止;以及跟踪 在截除点之前开始的一个或多个读请求,并避免未完成的读请求的截除。
【专利摘要】本公开涉及基于跟踪脏(写修改)范围(用户写)以消除或最小化读和写已优化相邻数据的方式,来部分召回经去重复文件的文件范围。范围的粒度不依赖于用于跟踪范围的任何文件系统粒度。在一个方面,提供了保留数据完整性和崩溃一致性的跟踪数据的懒惰转储清除在一个方面,还描述了在数据去重复系统正在优化打开文件的同时,支持在该文件上的细粒度部分召回。
【IPC分类】G06F17/30
【公开号】CN105009119
【申请号】CN201480010936
【发明人】P·谢, C·H·张, K·汉萨恩, A·古普塔, R·卡拉赫, D·赫芬布罗克
【申请人】微软公司
【公开日】2015年10月28日
【申请日】2014年2月26日
【公告号】US20140244601, WO2014134079A1
当前第5页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1