与文件高速缓存的上下文感知管理相关联的计算方法和装置与流程

文档序号:11208725阅读:269来源:国知局
与文件高速缓存的上下文感知管理相关联的计算方法和装置与流程

相关申请

本申请要求于2015年3月12日提交的美国专利申请no.14/656,453,标题为“computingmethodandapparatusassociatedwithcontext-awaremanagementofafilecache”的优先权。

本公开的实施例涉及高速缓存管理领域,并且更具体地涉及文件高速缓存的上下文感知管理。



背景技术:

本文中提供的背景描述用于概括地呈现本公开上下文的目的。除非本文中另有指示,本章节中描述的资料对于本申请中的权利要求而言不是现有技术,并且不是通过被包含在本节中而被认为是现有技术。

云存储在近年由于其可管理性、方便和可缩放性而迅速得到普及。然而,从远程云存取文件,特别是当通过慢的无线链接时,可引起长的延迟,其可能负面地影响用户体验。

将云存储内容高速缓存在本地客户端的存储磁盘(例如本地硬盘驱动)中是对抗网络延迟的一种方法。在本领域的当前状态下,云存储服务可以采用相对朴素的方法以用于对云内容进行高速缓存。一个这样的方法的示例是“镜像”方法,其被云存储服务中的大多数(例如,googledrive等)所使用。利用该方法,可以将所有的云内容高速缓存或者“镜像”在本地磁盘上。因此,镜像方法可能仅在云存储容量小于本地存储时是实用的。这种朴素的方法的第二示例包括应被高速缓存在本地磁盘上的重要文件的手动选择(例如,googledrive的“离线文件”方法)。当网络连接不可用或者正在经历来自网络延迟的延时时,该方法还被设计为处理离线情况。然而,云存储正在变得越来越大,使得这些朴素方法不实用。

附图说明

图1描述了根据本公开的各种实施例的在其中实现上下文感知驱逐策略的文件高速缓存管理器可以被实现的示例计算环境。

图2示出了根据本公开的各种实施例的针对基于计算机实现的上下文感知驱逐策略的文件高速缓存管理的示例过程流。

图3是根据本公开的各种实施例的示例计算设备的示意图。

图4示出了具有指令的示例非暂时性计算机可读存储介质,所述指令被配置为实施与以上描述的过程相关联的操作中的所有或所选择的操作。

具体实施方式

本文中描述了与文件高速缓存的上下文感知管理相关联的方法、计算机可读介质和计算设备。在以下详细描述中,参考形成其部分的附图,其中相似的附图标记自始至终指示相似的部分,并且其中以说明的方式示出了可以被实施的实施例。将应该理解的是,在不偏离本公开的范围的情况下,可以利用其它实施例并且可以进行结构或逻辑的改变。因此,以下详细描述不应被认为是限制性的含义,并且实施例的范围由所附权利要求及其等同物来限定。

可以以最有助于理解所要求保护的主题的方式依次将各种操作描述为多个离散动作或操作。然而,描述的顺序不应该被解释为暗示这些操作必然是依赖顺序的。特别是,这些操作可以不以呈现的顺序来执行。可以以与所描述的实施例不同的顺序来执行所描述的操作。在额外的实施例中,可以执行各种额外的操作和/或省略所描述的操作。

针对本公开的目的,短语“a和/或b”表示(a)、(b)或(a和b)。针对本公开的目的,短语“a、b和/或c”表示(a)、(b)、(c)、(a和b)、(a和c)、(b和c)或(a、b和c)。描述可以使用短语“在实施例中”或“在多个实施例中”,其各自可以指的是相同或不同的实施例中的一个或多个。此外,关于本公开的实施例所使用的术语“包含”、“包括”、“具有”等是同义的。

图1描述了根据本公开的各种实施例的在其中实现上下文感知驱逐策略的文件高速缓存管理器106可以被实现的示例计算环境100。在实施例中,计算环境100可以包括计算设备102和计算云112,后文中简称为云112。计算设备102可以包括文件高速缓存104和与文件高速缓存104耦合的文件高速缓存管理器106,其用于管理文件高速缓存104。文件高速缓存104可以被配置为存储文件的本地副本,该文件近期已由计算设备102或者由计算设备102提供服务的客户端设备(未示出)上的一个或多个应用从一个或多个文件存储库(例如,云112)中存取。在实施例中,文件高速缓存104可以提供与可以通过从存储库中存取该文件所实现的相比对存储在文件高速缓存内的文件105的较快或较有效的存取。例如,如所描述的,云112和计算设备102可以通过网络连接110彼此耦合。网络连接110可以表示任何有线或无线的广域网或其任何组合。因为计算设备102可能需要从云112中取回未本地存储在文件高速缓存104中的文件,所以从云112中取回任何文件可以受到网络110或者其任何组件的延迟和/或正处理针对文件的请求的云112的延迟的影响。客户端设备(未示出)的示例可以是经由本地或个人网络与计算设备102耦合的客户端设备。这些客户端设备可以包括但不限于平板计算机、智能电话或各种可穿戴设备。

因为云112的存储容量可以大于文件高速缓存104的存储容量,所以仅能够将文件中所选择的文件(例如,文件105)存储或高速缓存在文件高速缓存104中。作为结果,偶尔可能需要驱逐或删除文件105中的一个或多个以便针对可能需要随着文件105一起被高速缓存的新文件腾出空间。因此,响应于确定文件高速缓存104已达到可用容量的阈值,文件高速缓存管理器106可以被配置为驱逐或删除文件105中的一个或多个。这样的阈值可以通过将一个或多个文件添加到文件高速缓存104或者通过减少分配给文件高速缓存104的容量来达到。为了实现该操作,文件高速缓存管理器106可以被配置为自动驱逐或删除文件105中的一个或多个以便在文件高速缓存104中针对新文件腾出空间或者说明容量的减少。在从文件高速缓存104驱逐文件中,如果可能的话,重要的是努力保持具有较高被存取可能性的那些文件来确保减少或最小化文件存取中的任何延迟。如此,文件高速缓存管理器106可以被配置为实现上下文感知驱逐策略(例如由图2的过程流200所描述的)以便识别从文件高速缓存中删除的候选文件。这样的过程流可以实现基于与单独文件相关联的文件级上下文信息108的候选文件的自动识别,所述文件级上下文信息与可能失去重要和有用的文件级信息的块级或对象级上下文信息不同。如本文中所使用的,自动可以指的是自主执行或者没有人类干涉的过程或程序。

在实施例中,文件级上下文信息108可以包括与文件105中的单独文件相关联的存取最近度和/或存取频率的指示。在这样的实施例中,文件高速缓存管理器106可以至少部分地基于单独文件的存取最近度和/或存取频率来自动识别从文件高速缓存104中删除或驱逐的候选文件。考虑文件存取的最近度可以是有益的,因为最近存取的文件可能在相对少量的时间里再次被存取。通过以下方式考虑存取频率可以是有益的:减少给予先前仅被存取过相对较少的次数的最近被存取的文件的权重,从而在确定驱逐的候选者时给予存取较频繁的文件较多权重。

在一些实施例中,存取最近度和存取频率可以由与单独文件相关联的频率-最近度值(frv)来指示。这样的值可以基于将最近度和频率两者考虑在内的任何公式。例如,在一些实施例中,可以计算frv作为加权的指数移动平均值(wema)。例如,这样的wema可以由以下的方程来表示:

frvk=α*frvk-1+(1-α)*样本

其中frvk可以表示当前或新的frv;

frvk-1可以表示前一个frv;

α可以表示被应用于降低较旧观察重要性(discountolderobservations)的加权递减的程度;以及

样本可以被用于考虑存取最近度。

例如,样本可以表示值,所述值为1表示当前被存取的单独文件,或者所述值为-1表示当前未被存取的单独文件。针对α的加权递减可以是,例如,在0和1之间选择的值,其中针对α的较高的值可以较快地降低较旧观察重要性。通过这样做,当前样本(表示为最近度)是平滑超时的,而wema给予最近的样本较多权重。因此,通过该方程可以捕获频率和最近度信息两者。将会认识到的是,存在可以捕获最近度和频率的许多方法,并且以上示例仅是说明性的。

在一些实施例中,文件级上下文信息108可以包括文件105之间的应用级关系的指示。在这样的实施例中,文件高速缓存管理器106可以被配置为基于这些应用级关系来识别用于从文件高速缓存中删除的候选文件。例如,在一些实施例中,这些应用级关系可以根据文件存取轨迹生成,所述文件存取轨迹指示单独文件基于应用的执行而被存取的序列或模式。在这样的实施例中,文件高速缓存管理器106可以被配置为考虑排除由所述文件存取模式指示为在由应用最近存取的单独文件之后被存取的那些单独文件。

在一些实施例中,例如,文件高速缓存管理器106可以被配置为观察在应用的执行期间的文件存取模式,并且可以进一步被配置为至少部分地基于所观察到的文件存取模式来生成单独文件之间的应用级关系。这些应用级关系可以被维持在文件级上下文信息108中或者可以被存储在中央存储库中,诸如以下参照图3所讨论的大容量存储设备中的一个或多个。在其它实施例中,可以将应用级关系维持在云112中的数据库中,在这样的实施例中,文件存取模式可以由云112中的一个或多个其它计算设备来生成,所述一个或多个其它计算设备被配置为观察在应用的执行期间的文件存取模式,并且至少部分地基于所观察到的文件存取模式来生成单独文件之间的应用级关系。

在一些实施例中,文件级上下文信息108可以包括单独文件的文件尺寸的指示。在这样的实施例中,文件高速缓存管理器106可以被配置为基于文件105的相应的文件尺寸来识别用于从文件高速缓存104中删除的候选文件。例如,文件高速缓存管理器106可以被配置为努力向具有相对大尺寸的文件分配较小的权重,从而增加或最大化能够存储在文件高速缓存104中的文件的数量。在这样的示例中,具有相对较小尺寸的文件可以被分配相对应地较大的权重。

在一些实施例中,文件级上下文信息可以包括单独文件的用户偏好的指示。例如,在一些实施例中,用户可以努力选择用户定期存取的一个或多个文件,以确保这些一个或多个文件被高速缓存并因此可快速存取。在其它实施例中,用户可以向文件分配权重或优先级以用于文件高速缓存管理器考虑何时识别用于驱逐的候选文件。在这样的实施例中,文件高速缓存管理器可以被配置为基于单独文件的用户偏好来识别用于从文件高速缓存中删除的候选文件。

在一些实施例中,文件级上下文信息108可以包括以上所讨论的文件级上下文信息的任何组合。这样的其它文件级上下文信息。虽然在此被描述为云存储高速缓存,但是将会认识到的是文件高速缓存104可以是任何适合类型的文件高速缓存,包括但是不限于磁盘高速缓存、网络高速缓存等。

图2示出了根据本公开的各种实施例的针对基于计算机实现的上下文感知驱逐策略的文件高速缓存管理的示例过程流200。过程流200可以在框202开始,其后文件存取操作204或高速缓存容量调整206可以通过文件高速缓存的高速缓存管理器(例如,文件高速缓存管理器106)来检测。如所描述的,在检测到文件存取操作204的事件中,在框208处,用于相关联的文件高速缓存的每个文件的频率-最近度值(frv)(如以上参照图1更加具体地讨论的)可以由文件高速缓存管理器来更新。此外,在其中文件存取模式由文件高速缓存管理器观察并且生成的实施例中,在框208处,任何应用级文件关系可以由文件高速缓存管理器来更新。

在框210处,可以通过文件高速缓存管理器关于是否需要驱逐一个或多个文件做出确定。这样的确定可以基于文件高速缓存是否通过以下方式已达到容量的阈值而做出:将一个或多个文件添加到文件高速缓存或者减少分配给文件高速缓存的容量。如果文件高速缓存还未达到这样的容量的阈值,则过程流200可以继续至框220,其中过程可以结束。在另一方面,如果文件高速缓存已达到这样的容量的阈值,则过程可以进行至框212。在框212处,可以基于相应的frv和单独文件的文件尺寸的组合来选择用于驱逐的初始或下一个候选文件。如以上所讨论的,参照图1,可以通过基于相应的文件尺寸将权重或优先级应用到单独文件来考虑文件尺寸,并且可以基于该权重来选择初始候选文件。例如,文件高速缓存管理器可以尽力向具有相对大尺寸的文件分配较小的权重,来增加或最大化能够存储在文件高速缓存中的文件的数量。在这样的示例中,具有相对较小尺寸的文件可以被分配相对应地较大的权重。如此,在该示例中,可以基于文件尺寸和frv的组合来选择具有相对较大尺寸但相对高frv的文件作为用于驱逐的初始或下一个候选者,而可以不选择具有较低frv的相对较小的文件。

在框212处,一旦选择了初始或下一个候选文件,过程可以进行至框214,其中可以关于候选文件是否被包括在用户所选择的文件列表中做出确定。如果该文件在用户所选择的文件列表中,则过程可以进行至框212,其中可以选择下一个候选文件。如果该文件不在用户所选择的文件列表中,则过程可以进行至框216。将会认识到的是,用户所选择的文件列表仅为示例机制,通过该机制可以实现用户偏好、可以利用其它方法,如以上那些参照图1所讨论的。例如,在其中用户已向文件分配优先级值的实施例中,在框212处可以结合fpv和文件尺寸考虑优先级值,或者在框214处可以单独地考虑优先级值。

在框216处,可以关于候选文件是否与最近存取的文件紧密相关做出确定。如此处所使用的,紧密相关的文件可以是通常至少根据应用的文件存取模式、与对候选文件的存取同步被存取的文件。如果候选文件与最近被存取的文件紧密相关,则过程可以进行至框212,其中可以选择下一个候选文件。如果候选文件与最近被存取的文件不紧密相关,则过程可以进行至框218,其中可以由文件高速缓存管理器从文件高速缓存中驱逐候选文件。最后,在框220处,过程可以结束。

现在参照图3,其中示出了根据各种实施例的适于实现本文中所讨论的计算设备中的任何一个的示例计算设备。如示出的,计算设备300可以包括一个或多个处理器或处理器核302和系统存储器304。在实施例中,多个处理器核302可以被设置在一个管芯上。针对包括权利要求书的该申请的目的,术语“处理器”和“处理器核”可以被认为是同义的,除非上下文另有清楚地要求。另外,计算设备300可以包括大容量存储设备306(例如闪存驱动、软盘、硬盘驱动、光盘只读存储器(cd-rom)等)、输入/输出(i/o)设备308(例如相机、显示器设备、键盘、光标控制、陀螺仪、加速度计等)以及通信接口310(例如网络接口卡、调制解调器等)。在实施例中,显示器设备可以是触摸屏敏感的,并且可以包括显示器屏幕、一个或多个处理器、存储介质以及通信元件。此外,其可以是从具有键盘的基础平台可移除地停驻或不停驻的。元件可以经由可以表示一条或多条总线的系统总线312彼此耦合。在多条总线的情况下,总线可以通过一个或多个总线桥(未示出)进行桥接。

这些元件中的每一个可以执行本领域中已知的其传统功能。特别地,可以采用系统存储器304和大容量存储设备306来存储通常称为计算逻辑332的实现先前所描述的操作的编程指令的工作副本和永久副本(例如,但是不限于,与图1的文件高速缓存管理器106相关联的操作,或者由图2的过程流200所描述的上下文感知驱逐策略),或者来存储诸如图1的文件高速缓存104之类的文件高速缓存。各种操作可以通过由处理器302所支持的汇编器指令或者可以被编译为这样的指令的高级语言(例如c)来实现。

在工厂中或在本领域中,编程指令的永久副本可以通过例如诸如光盘(cd)之类的分布式介质(未示出)或者通过通信接口310(来自分布式服务器(未示出))被放置到永久大容量存储设备306中。即,可以采用具有先前所描述的操作中的任何一个的实现方式的一个或多个分布式介质来将这些组件分布到各种计算设备中。

这些元件302-312的数量、能力和/或容量可以取决于示例计算设备300的预期用途而不同,例如,无论示例计算机300是智能电话、平板计算机、超极本、膝上型计算机、桌上型计算机、服务器等。另外这些元件310-312的构造是已知的,并且因此将不进行进一步描述。

图4示出了具有指令的示例非暂时性计算机可读存储介质,所述指令被配置为实施与以上描述的过程相关联的操作中的所有或所选择的操作。如示出的,非暂时性计算机可读存储介质402可以包括许多编程指令404。编程指令404可以被配置为响应于编程指令的执行,使设备(例如计算设备400)能够执行参照图1-图2描述的过程的一个或多个操作,尤其是,与用于管理文件高速缓存104的文件高速缓存管理器106相关联的操作。在替代的实施例中,编程指令404可以被设置在多个非暂时性计算机可读存储介质402上作为替代。仍然,在其它实施例中,编程指令404可以被编码在暂时性计算机可读信号中。

重新参照图3,针对一个实施例,可以将处理器302中的至少一个与具有被配置为执行参照图1-图2所描述的过程的一个或多个操作的计算逻辑322的存储器(代替存储在大容量设备306中)封装在一起。针对一个实施例,可以将处理器302中的至少一个与具有被配置为实施参照图1-图2所描述的方法的各方面的计算逻辑322的存储器封装在一起以形成系统级封装(sip)。针对一个实施例,可以将处理器302中的至少一个与具有被配置为执行参照图1-图2所描述的过程的一个或多个操作的计算逻辑322的存储器集成到相同管芯上。针对一个实施例,可以将处理器302中的至少一个与具有被配置为执行参照图1-图2所描述的过程的一个或多个操作的计算逻辑322的存储器封装在一起以形成片上系统(soc)。可以在任何适合的计算设备中利用这样的soc。

虽然出于描述的目的已经在本文中示出和描述了某些实施例,但是在不偏离本公开范围的情况下,计划实现相同目的的广泛各种替代和/或等同的实施例或实现方式可以代替所示出和描述的实施例。本申请旨在涵盖本文中所描述的实施例的任何改写或变型。因此,明显地指出本文中所描述的实施例仅由权利要求书所限制。

其中本公开列举了“一个”或“第一”元件或其等同物,这样的公开包括一个或多个这样的元件,既不要求也不排除两个或更多个这样的元件。此外,用于经识别的元件的序数指示(例如,第一、第二或第三)用于在元件之间进行区分,并且不指示或暗示这样的元件的要求或限制的数量,它们也不指示这样的元件的特定位置或顺序,除非另外特别声明。

本公开的实施例可以采用完全硬件实施例、完全软件实施例或包括硬件和软件元件两者的实施例的形式。在各种实施例中,软件可以包括但不限于固件、驻存软件、微代码等。此外,本公开可以采用从计算机可用或计算机可读介质中可存取的计算机程序产品的形式,所述计算机可用或计算机可读介质提供用于由计算机或任何指令执行系统使用的程序代码或提供与计算机或任何指令执行系统相结合使用的程序代码。如本文中所使用的,模块可以指的是软件模块、硬件模块或任何数量的模块或其组合。

如本文中所使用的,术语模块包括可以以硬件组件或设备、可以在处理器或处理器的组合上运行或正在运行的软件或固件的形式被实现的逻辑。模块可以是通过共享或传递数据集成的不同的和独立的组件,或者模块可以是单个模块的子组件,或者是从若干模块中被分离的。组件可以是运行在或被实现在单个计算节点上的过程、或者是分布在并行地、同时地、顺序地运行的多个计算节点之间的过程、或者是其组合,如结合附图中的流图更充分描述的。

针对本描述的目的,计算机可用或计算机可读介质可以是能够包含、存储、传递、传播或传送程序以供由指令执行系统、装置或设备使用或与其相结合使用的任何装置。介质可以是电子、磁性、光学、电磁、红外或半导体系统(或装置或设备)或传播介质。计算机可读介质的示例包括半导体或固态存储器、磁带、可移除计算机软盘、随机存取存储器(ram)、只读存储器(rom)、硬磁性磁盘和光学磁盘。光学磁盘的当前的示例包括光盘只读存储器(cd-rom)、光盘读写(cd-r/w)和dvd。

一些非限制性示例如下:

示例1可以是一种计算设备,包括:文件高速缓存;以及与文件高速缓存耦合的文件高速缓存管理器。文件高速缓存管理器可以被配置为实现上下文感知驱逐策略,以便至少部分地基于与单独文件相关联的文件级上下文信息来识别来自于包含在文件高速缓存内的多个单独文件中的用于从文件高速缓存中删除的候选文件。文件级上下文信息可以包括与单独文件相关联的存取最近度和存取频率的指示,并且识别用于从文件高速缓存中删除的候选文件是至少部分地基于单独文件的存取最近度和存取频率两者的。

示例2可以是示例1所述的计算设备,其中,文件高速缓存管理器可以被配置为使用与每个单独文件相关联的频率-最近度值(frv)来确定存取最近度和存取频率,其中,文件高速缓存管理器可以被配置为将frv计算为加权的指数移动平均值(wema),由以下方程表示:

frv新=α*frv旧+(1-α)*样本

其中frv新表示新的frv,

frv旧表示前一个frv,

α表示0和1之间的加权递减,以及

样本表示值,所述值为1表示当前被存取的单独文件,或者所述值为-1表示当前未被存取的单独文件。

示例3可以是示例1所述的计算设备,其中,文件级上下文信息可以进一步包括单独文件之间的应用级关系的指示,并且文件高速缓存管理器可以被进一步配置为至少部分地基于应用级关系来识别用于从文件高速缓存中删除的候选文件。

示例4可以是示例3所述的计算设备,其中,文件高速缓存管理器可以进一步被配置为观察在一个或多个应用的执行期间的文件存取模式;并且至少部分地基于观察到的文件存取模式来生成单独文件之间的应用级关系。

示例5可以是示例3所述的计算设备,其中,应用级上下文信息可以包括在计算设备上执行中应用的文件存取模式,并且至少部分地基于应用级关系来识别用于从文件高速缓存删除的候选文件,文件高速缓存管理器可以被进一步配置为考虑排除由所述文件存取模式指示为在由所述应用最近存取的单独文件之后被存取的那些单独文件。

示例6可以是示例1所述的计算设备,其中,文件级上下文信息可以进一步被配置为包括单独文件的文件尺寸的指示,并且其中,文件高速缓存管理器可以进一步被配置为至少部分地基于单独文件的相应的文件尺寸来识别用于从文件高速缓存中删除的候选文件。

示例7可以是示例1所述的计算设备,其中,文件级上下文信息可以进一步包括单独文件的用户偏好的指示,并且文件高速缓存管理器可以进一步被配置为至少部分地基于单独文件的用户偏好来识别用于从文件高速缓存中删除的候选文件。

示例8可以是示例1至7中的任何一项所述的计算设备,其中,文件高速缓存管理器可以进一步被配置为响应于确定文件高速缓存已达到可用的容量的阈值,而实现上下文感知驱逐策略。

示例9可以是示例8所述的计算设备,其中,文件高速缓存是以下中的一个:磁盘高速缓存;web高速缓存;或者云存储高速缓存。

示例10可以是一种计算机实现的方法,包括:由文件高速缓存管理器确定计算设备的文件高速缓存已达到可用的容量的阈值;并且由文件高速缓存管理器响应于确定来实现上下文感知驱逐策略,以至少部分地基于与包括在高速缓存内的单独文件相关联的文件级上下文信息,来识别用于从文件高速缓存中删除的候选文件,其中,文件级上下文信息包括单独文件之间的应用级关系的指示,并且其中识别用于从文件高速缓存中删除的候选文件是进一步至少部分地基于单独文件的应用级关系的。

示例11可以是示例10所述的计算机实现的方法,其中,文件级上下文信息可以包括与单独文件相关联的存取最近度和存取频率的指示,并且识别用于从文件高速缓存中删除的候选文件可以是至少部分地基于单独文件的存取最近度和存取频率两者的。

示例12可以是示例11所述的计算机实现的方法,其中,实现可以包括计算与每个单独文件相关联的频率-最近度值(frv)以指示存取最近度和存取频率,其中,计算frv可以包括计算加权的指数移动平均值(wema),由以下方程表示:

frv新=α*frv旧+(1-α)*样本

其中frv新表示新的frv,

frv旧表示前一个frv,

α表示0和1之间的加权递减,以及

样本表示值,所述值为1表示当前被存取的单独文件,或者所述值为-1表示当前未被存取的单独文件。

示例13可以是示例11所述的计算机实现的方法,进一步包括:由文件高速缓存管理器观察在一个或多个应用的执行期间的文件存取模式;以及至少部分地基于观察到的文件存取模式来生成单独文件之间的应用级关系。

示例14可以是示例12所述的计算机实现的方法,其中,应用级上下文信息可以包括在计算设备上执行中应用的文件存取模式,并且其中至少部分地基于应用级关系来识别用于从文件高速缓存中删除的候选文件可以进一步包括考虑排除由所述文件存取模式指示为在由所述应用最近存取的单独文件之后被存取的那些单独文件。

示例15可以是示例10所述的计算机实现的方法,其中,文件级上下文信息可以进一步包括单独文件的文件尺寸的指示,并且其中识别用于从文件高速缓存中删除的候选文件可以是至少部分地基于单独文件的各自的文件尺寸的。

示例16可以是示例10至15中的任何一项所述的计算机实现的方法,其中,文件级上下文信息可以进一步包括单独文件的用户偏好的指示,并且其中识别用于从文件高速缓存中删除的候选文件可以是至少部分地基于单独文件的用户偏好的。

示例17可以是示例16所述的计算机实现的方法,其中,文件高速缓存是以下中的一个:磁盘高速缓存;web高速缓存;或者云存储高速缓存。

示例18可以是一个或多个具有存储其上的指令的计算机可读介质,所述指令响应于计算设备的执行,向计算设备提供文件高速缓存管理器用于:确定计算设备的文件高速缓存已达到可用的容量的阈值;并且响应于所述确定实现上下文感知驱逐策略,以至少部分地基于与包含在所述高速缓存内的单独文件相关联的文件级上下文信息来识别用于从文件高速缓存中删除的候选文件,其中,文件级上下文信息包括与单独文件相关联的存取最近度和存取频率的指示,并且其中识别用于从文件高速缓存中删除的候选文件是至少部分地基于单独文件的存取最近度和存取频率两者的。

示例19可以是示例18所述的一个或多个计算机可读介质,其中,实现可以包括计算与每个单独文件相关联的频率-最近度值(frv)以指示存取最近度和存取频率,其中,计算可以包括将frv计算为加权的指数移动平均值(wema),由以下方程表示:

frv新=α*frv旧+(1-α)*样本

其中frv新表示新的frv,

frv旧表示前一个frv,

α可以表示0和1之间的加权递减,以及

样本表示值,所述值为1表示当前被存取的单独文件,或者所述值为-1表示当前未被存取的单独文件。

示例20可以是示例18所述的一个或多个计算机可读介质,其中,文件级上下文信息可以进一步包括单独文件之间的应用级关系的指示,并且其中,文件高速缓存管理器可以进一步被配置为至少部分地基于应用级关系来识别用于从文件高速缓存删除的候选文件。

示例21可以是示例20所述的一个或多个计算机可读介质,其中,文件高速缓存管理器可以进一步被配置为观察在一个或多个应用的执行期间的文件存取模式;并且至少部分地基于观察到的文件存取模式来生成单独文件之间的应用级关系。

示例22可以是示例20所述的一个或多个计算机可读介质,其中,应用级上下文信息可以进一步包括在计算设备上执行中应用的文件存取模式,并且其中,至少部分地基于应用级关系来识别用于从文件高速缓存中删除的候选文件,文件高速缓存管理器可以进一步被配置为考虑排除由所述文件存取模式指示为在由所述应用最近存取的单独文件之后被存取的那些单独文件。

示例23可以是示例18所述的一个或多个计算机可读介质,其中,文件级上下文信息可以进一步包括单独文件的文件尺寸的指示,并且其中,文件高速缓存管理器可以进一步被配置为至少部分地基于单独文件的各自的文件尺寸来识别用于从文件高速缓存删除的候选文件。

示例24可以是示例18至23中的任何一项所述的一个或多个计算机可读介质,其中,文件级上下文信息可以进一步包括单独文件的用户偏好的指示,并且其中,文件高速缓存管理器可以进一步被配置为至少部分地基于单独文件的用户偏好来识别用于从文件高速缓存删除的候选文件。

示例25可以是示例24所述的一个或多个计算机可读介质,其中,文件高速缓存是以下中的一个:磁盘高速缓存;web高速缓存;或者云存储高速缓存。

示例26可以是一种计算设备,包括:用于确定计算设备的文件高速缓存已达到可用的容量的阈值的单元;以及用于响应于所述确定来实现上下文感知驱逐策略,以至少部分地基于与包含在高速缓存内的单独文件相关联的文件级上下文信息,来识别用于从文件高速缓存中删除的候选文件的单元,其中,文件级上下文信息包括单独文件之间的应用级关系的指示,并且其中,用于实现的单元包括用于识别用于从文件高速缓存中删除的候选文件是至少部分地进一步基于单独文件的应用级关系的单元。

示例27可以是示例26所述的计算设备,其中,文件级上下文信息可以包括与单独文件相关联的存取最近度和存取频率的指示,并且其中,用于识别的单元包括用于识别用于从文件高速缓存中删除的候选文件是至少部分地基于单独文件的存取最近度和存取频率两者的单元。

示例28可以是示例27所述的计算设备,其中,用于识别的单元可以包括用于计算与每个单独文件相关联的频率-最近度值(frv)以指示存取最近度和存取频率的单元,其中,frv可以被计算为加权的指数移动平均值(wema),由以下方程表示:

frv新=α*frv旧+(1-α)*样本

其中frv新表示新的frv,

frv旧表示前一个frv,

α可以表示0和1之间的加权递减,以及

样本表示值,所述值为1表示当前被存取的单独文件,或者所述值为-1表示当前未被存取的单独文件。

示例29可以是示例26所述的计算设备,进一步包括:用于观察在一个或多个应用的执行期间的文件存取模式的单元;以及用与至少部分地基于观察到的文件存取模式来生成单独文件之间的应用级关系的单元。

示例30可以是示例29所述的计算设备,其中,应用级上下文信息可以包括在计算设备上执行中应用的文件存取模式,以及其中,用于至少部分地基于应用级关系来识别用于从文件高速缓存中删除的候选文件的单元,可以进一步包括用于考虑排除由所述文件存取模式指示为在由所述应用最近存取的单独文件之后被存取的那些单独文件的单元。

示例31可以是示例26所述的计算设备,其中,文件级上下文信息可以进一步包括单独文件的文件尺寸的指示,以及其中用于识别的单元可以包括用于至少部分地基于单独文件的各自的文件尺寸来识别用于从文件高速缓存中删除的候选文件的单元。

示例32可以是示例26至31中的任何一项所述的计算设备,其中,文件级上下文信息可以进一步包括单独文件的用户偏好的指示,以及其中用于识别的单元可以包括用于至少部分地基于单独文件的用户偏好来识别用于从文件高速缓存中删除的候选文件的单元。

示例33可以是示例32所述的计算设备,其中,文件高速缓存是以下中的一个:磁盘高速缓存;web高速缓存;或者云存储高速缓存。

虽然已在本文中示出和描述了具体实施例,但是本领域的普通技术人员将会认识到的是,在不偏离本公开的实施例的范围的情况下,广泛各种替代和/或等同的实现可以用于代替所示出和描述的具体实施例。本申请旨在涵盖本文中所描述的实施例的任何改写或变型。因此,明显地指出本公开的实施例仅受权利要求书及其等同物所限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1