用于选择性地路由高速缓存的对象的系统和方法

文档序号:8927010阅读:477来源:国知局
用于选择性地路由高速缓存的对象的系统和方法
【专利说明】
[0001] 相关申请的引用
[0002] 本申请要求2013年3月14日提交的美国申请No. 13/803,721的权益,所述美国 申请No. 13/803, 721要求2012年12月31日提交的美国临时申请No. 61/747, 547的权益, 两者通过引用将其全部内容结合于此。
技术领域
[0003] 本申请一般地涉及在系统中管理数据。更具体地,本申请涉及在系统中选择性地 路由高速缓存的对象。
【背景技术】
[0004] 图1示出了主机系统100,其包括应用105、内核I/O管理器110、文件系统120、122 和装置驱动器130、132,并示出了多个存储器组件138 (示出为盘C :134和盘Y :136)。在 操作中,当应用105寻求对文件"Z"的访问时,应用向内核I/O管理器110发送对于到文件 "Z"的句柄的请求。作为应答,内核I/O管理器110-一动作为应用和存储器装置之间的接 口一一解析到文件"Z"的路径以便获得句柄,并将句柄发送到应用。
[0005] 图1中的箭头示出了在系统的不同部分之中的通信的逻辑路径,其中应用105向 内核I/O管理器110发送请求,并且其中内核I/O管理器110通过检查根目录140来解析 路径,所述根目录140包括关于去往文件"Z"的路径的信息。
[0006] 如图1中所示,系统包括多个存储器装置,所述存储器装置诸如以盘C :134和盘 Y :136的形式。写在操作系统层之上的应用、诸如应用105通常不知道可以被它们使用的 优化的分区,并且因此将文件写入预定位置而不考虑被写入到的位置的属性。例如,许多操 作系统定义特定应用的数据目录,并且应用将把它们的所有数据写入到这些目录。临时文 件的使用在大多操作系统中被类似地定义,并且应用将为此目的而简单地使用由操作系统 接口定义的文件名和位置。这可能导致次优地使用多分区布局。使用可以提供性能和容量 改善的外部存储器导致其更复杂。
[0007] 但是,内核文件系统和应用堆栈可以被修改以便手动地选择在每个情况中应该使 用哪一个分区或挂载点,从而使能改善的性能。例如,应用可以通过用户配置(即,用户选 择保存文件的目录)或者通过在应用中的检测并使用外部存储器的代码,来明确地寻址外 部存储器。

【发明内容】

[0008] 提供了一种对解析到文件系统对象的路径的操作系统透明的将文件系统对象从 第一存储器装置路由到第二存储器装置的系统和方法。
[0009] 在一方面,提供了用于对操作系统透明地选择性地路由文件系统对象的方法。所 述方法包括:由处理器进行如下步骤,所述处理器被配置为在监控应用的控制之下实行选 择性路由,所述监控应用可通过操作系统操作并且包括具有重定向信息的中间分区,其中 所述处理器具有与第一和第二存储器装置的可操作连接以用于这样的选择性路由:确定是 否将文件系统对象从所述第一存储器装置路由到所述第二存储器装置;响应于确定路由所 述文件系统对象,使得所述文件系统对象被路由到所述第二存储器装置中的位置;以及用 文件系统对象在所述第二存储器装置中的位置来更新用于所述文件系统对象的中间分区 的重定向信息,其中,所述第一存储器装置包括所述操作系统用来解析用于贮存在所述第 一存储器装置中的文件系统对象的路径的目录,其中,所述目录包括重定向到所述中间分 区的信息,并且其中,使用所述中间分区的重定向信息,所述操作系统继续使用在所述第一 存储器装置中的目录以解析到贮存在所述第二存储器装置中的文件系统对象的路径,使得 将所述文件系统对象路由到所述第二存储器装置对所述操作系统透明。
[0010] 所述第一存储器装置可以包括所述操作系统用来解析用于贮存在所述第一存储 器装置中的文件系统对象的路径的与此相关联的目录,其中所述目录包括表示重定向到所 述中间分区的中间分区重定向。就这一点而言,使用所述中间分区重定向,所述操作系统 继续使用在所述第一存储器装置中的目录以解析到贮存在所述第二存储器装置中的文件 系统对象的路径,使得将所述文件系统对象复制到所述第二存储器装置对所述操作系统透 明。
[0011] 所述中间分区可以基于将文件从所述第一存储器装置路由(例如,复制)到所述 第二存储器装置而动态地改变,而所述操作系统用来解析用于贮存在所述第一存储器装置 中的文件系统对象的路径的目录不需要改变。例如,在复制所述文件系统对象之前,所述目 录可以包括重定向到中间分区的所述中间分区重定向。就这一点而言,在复制之前,操作系 统访问所述目录,被重定向到所述中间分区,并且反过来再次被重定向贮存在所述第一存 储器装置中的文件系统对象。
[0012] 所述第一存储器装置和所述第二存储器装置可以在一个或多个方面不同,这些方 面诸如位置、速度、大小、耐受力或性能。所述第二存储器装置可以是高速缓存,使得将文件 系统对象复制进所述第二存储器装置中提高访问所述文件系统对象的速度。
[0013] 在另一方面,提供了用于对操作系统透明地选择性地路由文件系统对象的监控装 置。所述监控装置包括:一个或多个存储器,其被配置为贮存中间分区,所述中间分区包括 重定向信息;以及处理器,其与所述一个或多个存储器通信。所述处理器被配置为在所述 监控装置的控制之下实行选择性路由,所述监控装置可通过所述操作系统操作,其中所述 处理器具有与第一和第二存储器装置的可操作连接以用于这样的选择性路由,并且被配置 为:确定是否将文件系统对象从所述第一存储器装置路由到所述第二存储器装置;响应于 确定路由所述文件系统对象,使得所述文件系统对象被路由到所述第二存储器装置中的位 置;以及用在所述第二存储器装置中的文件系统对象的所述位置更新用于所述文件系统对 象的中间分区的重定向信息,其中,所述第一存储器装置包括所述操作系统用来解析用于 贮存在所述第一存储器装置中的文件系统对象的路径的目录,其中,所述目录包括重定向 到所述中间分区的信息,并且其中,使用所述中间分区的重定向信息,所述操作系统继续使 用在所述第一存储器装置中的目录以解析到贮存在所述第二存储器装置中的文件系统对 象的路径,使得将所述文件系统对象路由到所述第二存储器装置对所述操作系统透明。
[0014] 所述第一存储器装置包括所述操作系统用来解析用于贮存在所述第一存储器装 置中的文件系统对象的路径的目录,其中所述目录包括表示重定向到所述中间分区的中间 分区重定向。就这一点而言,使用所述中间分区重定向,所述操作系统继续使用在所述第一 存储器装置中的目录以解析到贮存在所述第二存储器装置中的文件系统对象的路径,使得 将所述文件系统对象路由到所述第二存储器装置对所述操作系统透明。
[0015] 在浏览下述附图、详细说明以及权利要求之后,其它特征和优点将变得清晰。此 外,公开了其它实施例,并且每个实施例可以被单独或者组合使用。现将参考附图描述实施 例。
【附图说明】
[0016] 参考下述附图和说明可以更好地理解所述系统。在附图中,相似的参考标号表示 贯穿不同的视图的相对应的部分。
[0017] 图1示出了现有系统,其中内核I/O管理器解析到文件"Z"的路径。
[0018] 图2示出了在系统中的不同的层,其包括应用层、操作系统层和存储器装置层,以 及可以在该系统中操作的监控应用。
[0019] 图3A示出了系统,其包括应用、内核I/O管理器、根目录、中间分区、多个文件系 统、多个装置驱动器、盘C :和盘Y :。
[0020] 图3B示出了使用根目录和中间分区以解析到盘C :上的文件"Z"的路径的内核1/ 0管理器。
[0021] 图3C示出了将文件"Z"复制到盘Y:,以及对中间分区的改变以反映将文件"Z" 复制到盘Y :。
[0022] 图3D示出了利用根目录和中间分区以解析到盘Y :上的文件"Z"的路径的内核1/ 0管理器。
[0023] 图4是监控应用确定是否移动文件并对其作出应答、更新中间分区以反映文件的 移动的流程图。
[0024] 图5是监控应用确定在远程盘上的文件使用的频率并对其作出应答、将文件复制 到高速缓存的流程图。
[0025] 图6是内核I/O管理器利用根目录和中间分区解析文件的路径的流程图。
[0026]图7是被编程为特定计算机系统的通用计算机系统,其可以表示这里引用的任何 计算装置、诸如监控应用或内核I/O管理器。
【具体实施方式】
[0027] 图2示出了在系统中的不同的层,包括应用层200、操作系统层210、存储器装置层 220、以及可以在系统中操作的监控应用230。应用层200包括一个或多个应用。如图2所 示,应用层包括应用1202到应用N 204。操作系统层210包括内核212。
[0028] 一般来说,内核212被用作操作系统的一部分,提供硬件(诸如在存储器装置层 220中的存储器装置)以及在应用层200中运行的应用程序之间的层。
[0029] 内核212通过请求使其服务对在系统上运行的应用是可用的。请求之一涉及对 在存储器装置上的数据的访问,诸如打开0 (openO)、关闭()(closeO)、读取()(readO) 和写入0 (write ())请求。响应于请求,内核212用作应用和硬件之间的接口,提供硬件提 取使得应用不需要知道具体细节以寻址硬件,并提供文件系统提取使得应用可以打开文件 而不需要知道文件系统的特定结构。例如,响应于该请求,内核可以解析到硬件的路径,并 向应用发送路径的表示(诸如以句柄的形式)使得应用可以与在存储器装置层中的存储器 装置通信。以此方法,应用在寻址硬件时不需要知道细节,而是依赖于内核来解析寻址的细 T。
[0030] 如图2所示,系统可以包括存储器装置层220,所述存储器装置层220 -般表示在 系统中的一个或多个存储器装置。存储器装置层220可以包括多个存储器装置,诸如存储 器装置1222到存储器装置M 224。例如,一个存储器装置可以是硬盘盘,并且另一个存储器 装置可以是可拆卸存储器贮存装置。硬盘盘可以具有一组规则以最优化数据的高速缓存。 然而,可拆卸NAND闪速存储器贮存装置可以具有不同的一组规则以基于某些读取/写入模 式来最优化数据的高速缓存。因此,在具有不同属性的存储器装置中可以采用为所使用的 特定类型的数据以及其耐受力、错误校正和性能要求而优化的不同的物理分区。
[0031] 图2还示出了监控应用230。监控应用230可以包括两个部分:(1)被配置为管理 在存储器装置层中的文件系统对象(包括文件系统对象的移动(例如,复制))的软件(其 一示例是对在存储器装置层中的文件和对中间分区软件234的管理,下文讨论);以及(2) 一个或多个数据结构以使得对文件系统对象的管理对应用层200和/或操作系统层210透 明(其一示例是中间分区232,如下所讨论的
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1