对调用应用的发现以用于控制文件水化行为的制作方法

文档序号:17286572发布日期:2019-04-03 03:36阅读:180来源:国知局
对调用应用的发现以用于控制文件水化行为的制作方法

通过多种通信模态的信息交换已经改变了与工作和个人环境相关联的过程。自动化和过程增强已经扩展了针对个人和商业场景中的信息消费所供应的能力的范围。随着更快且更小的电子产品的发展,在云系统处对大量过程的执行已经变得可行。实际上,由数据中心、数据仓库、数据工作站所提供的应用已经成为现代个人和工作环境中的常见特征。这样的系统执行宽泛的多种应用,其范围从企业资源管理应用到存储工具。许多这样的应用对文件存储进行管理。基于云的文件管理为了改进的用户生产力而消耗大量资源和性能。

随着通信复杂度在计算机行业上增加,改进的基于云的文件管理技术变得越来越重要。为了生成占位符文件、保存占位符文件、以及响应于由系统和用户的多种交互而用实际文件来替代占位符文件,多种技术是必需的。当尝试访问与占位符文件相关联的文件系统数据时,当前存在显著的差距。对相关存储管理方法的缺乏引起在管理占位符文件时对文件资源的较差的管理。



技术实现要素:

提供了该发明内容以用简化的形式引入在以下的具体实施方式中进一步描述的概念的选择。该发明内容不旨在排他地标识所要求保护主题的关键特征或必要特征,也不旨在帮助确定所要求保护的主题的范围。

实施例针对对调用应用的发现以用于控制文件水化(hydration)行为。根据实施例,过滤器驱动器可以在从同步引擎接收到进程标识符(pid)注册之后发起用于控制文件水化行为的操作。在接收到与占位符文件相关联的文件操作请求之后,可以识别与该文件操作请求相关联的pid和进程名称。可以基于所述pid或进程名称来检测水化行为。可以基于该水化行为来显现(render)与该文件操作请求相关联的决策。

通过阅读以下详细描述并回顾相关联的附图,这些和其他特征和优点将是显而易见的。应当理解的是,前述一般描述和以下的详细描述两者仅仅是说明性的,而不限制所要求保护的方面。

附图说明

图1是根据实施例的概念图,其示出了控制文件水化行为的示例;

图2是根据实施例的显示图,其示出了自动地控制文件水化行为的过滤器驱动器的示例组件;

图3是根据实施例的显示图,其示出了用于基于对调用应用的发现来控制文件水化行为的方案的组件;

图4是根据实施例的显示图,其示出了用于基于检测到的行为来水化占位符文件的方案的组件;

图5是其中可以实现根据实施例的系统的简化的网络化环境;

图6是根据实施例的示例计算设备的框图,其可以用于控制文件水化行为;以及

图7是根据实施例的逻辑流程图,其示出了用于控制文件水化行为的过程。

具体实施方式

如在上文中简要描述的,过滤器驱动器可以发现调用(calling)应用以控制文件水化行为。在示例场景中,过滤器驱动器可以在从同步引擎接收到进程标识符(pid)注册之后发起用于控制文件水化行为的操作。同步引擎可以充当过滤器驱动器与文件系统之间的中介以用文件系统数据替代占位符文件。占位符文件可以包括空文件或者实际文件的表示。例如,图像的缩略图可以充当该图像的占位符文件。响应于针对缩略图的文件操作请求,与该图像相关联的文件系统数据可以被访问以用文件系统数据替代该占位符文件。由此,可以响应于对缩略图的访问来提供图像。

过滤器驱动器可以接收与占位符文件相关联的文件操作请求。所述占位符文件可以是通常由基于云的供应方所使用的文件访问方案。基于云的提供方可以呈现占位符文件而不是实际文件来对存储和管理实际文件的多个副本所需的资源进行保存。接下来,可以识别与文件操作请求相关联的pid和进程名称。pid和进程名称可以是与发起文件操作请求的应用相关联的。

过滤器驱动器可以基于pid或者进程名称来检测水化行为。pid可以与pid注册进行匹配以验证通过诸如同步引擎之类的中介而准予应用的文件水化行为。接下来,可以基于水化行为来显现与文件操作相关联的决策。与应用相关联的水化行为可以包括允许方案、提早水化方案、和/或拒绝方案等。

在以下的详细描述中,对形成了本文的一部分的并且其中通过具体实施例或示例的方式示出的附图进行了参考。可以组合这些方面,可以利用其他方面,并且可以在不脱离本公开的精神和范围的情况下进行结构改变。因此,以下的详细描述不被认为是限制性意义,并且本发明的范围是由所附权利要求及其等同物来限定的。

尽管将在结合在个人计算机上的操作系统上运行的应用程序而执行的程序模块的通用上下文中描述实施例,但本领域的技术人员将理解的是,也可以结合其他程序模块来实现这些方面。

通常而言,程序模块包括例程、程序、组件、数据结构、以及执行特定的任务或实现特定的抽象数据类型的其他类型的结构。此外,本领域技术人员将理解的是,可以利用包括手持设备、多处理器系统、基于微处理器的或可编程的消费性电子产品、微型计算机、大型计算机、以及类似的计算设备在内的其他计算机系统配置来实践实施例。还可以在其中由通过通信网络所链接的远程处理设备来执行任务的分布式计算环境中实现实施例。在分布式计算环境中,程序模块既可以位于本地存储器存储设备中,也可以位于远程存储器存储设备中。

可以将一些实施例实现为计算机实现的过程(方法)、计算系统、或者诸如计算机程序产品或计算机可读介质之类的制品。计算机程序产品可以是这样一种计算机存储介质,其能够由计算机系统读取并且对包括用于使得计算机或计算机系统执行示例过程的指令的计算机程序进行编码。所述计算机可读存储介质是计算机可读存储器设备。计算机可读存储介质可以例如是经由以下中的一个或多个来实现的:易失性计算机存储器、非易失性存储器、硬盘驱动器、闪存驱动器、软盘、压缩盘、和类似的硬件介质。

在该说明书通篇中,术语“平台”可以是用于自动地提取并完成与通信相关联的任务的软件和硬件组件的组合。平台的示例包括但不限于:在多个服务器上执行的托管的服务、在单个计算设备上执行的应用、以及类似的系统。术语“服务器”通常是指通常在网络化环境中执行一个或多个软件程序的计算设备。在下文中提供了关于这些技术和示例操作的更多的细节。

如在本文中所使用的计算设备是指包括至少一个存储器和一个或多个处理器的设备,所述设备包括服务器、台式计算机、膝上型计算机、平板计算机、智能电话、车载计算机、或者可穿戴计算机。存储器可以是被配置为存储要由一个或多个处理器执行的一个或多个指令的计算设备的可移动的或不可移动的组件。处理器可以是耦合至存储器并且被配置为结合由存储器所存储的指令来执行程序的计算设备的组件。在本文中所描述的动作或操作可以在单个处理器上执行,在多个处理器上执行(在单个机器中或者在多个机器上分布),或者在多核心处理器中的一个或多个核心上执行。操作系统是被配置为管理提供通用服务和应用的计算设备的硬件和软件组件的系统。集成模块是集成在应用或服务内以使得所述应用或服务被配置为执行组件的应用或服务的组件。计算机可读存储器设备是物理的计算机可读存储介质,其是经由以下中的一个或多个实现的:易失性计算机存储器、非易失性存储器、硬盘驱动器、闪速驱动器、软盘、或压缩盘、以及其上包括用于自动地将内容保存至位置的类似的硬件介质。用户体验——与应用或服务相关联的可视显示,其中用户通过用户体验与所述应用或服务进行交互。用户动作是指用户与应用的用户体验或由服务所提供的用户体验之间的交互,其包括以下中的一个:触摸输入、手势输入、语音命令、眼睛追踪、陀螺仪输入、笔输入、鼠标输入、以及键盘输入。应用程序接口(api)可以是针对应用或服务的一组例程、协议、和工具,其允许应用或服务与由分别的实体所管理的一个或多个其他应用和服务进行交互或通信。

图1是根据实施例的概念图,其示出了控制文件水化行为的示例。

在图100中,计算设备108可以执行过滤器驱动器102。过滤器驱动器102可以包括在本地安装并且在内核级执行的输入/输出(i/o)评价器(或分析器、处理器、和/或清理器等)。计算设备108的示例可以包括诸如智能电话、平板计算机、和/或移动计算机之类的移动计算设备。计算设备108还可以包括诸如台式计算机和/或工作站计算机等之类的固定设备。

可替代地,计算设备108的示例可以包括向客户端设备提供服务和/或应用的物理服务器。服务可以包括执行与客户端应用和/或订阅者等相关的操作的应用。物理服务器的示例可以包括工作站计算机、数据仓库、数据中心、和/或基于云的分布式计算源等和/或作为它们的一部分。

计算设备108可以执行过滤器驱动器102。过滤器驱动器可以从同步引擎接收进程标识符(pid)注册。同步引擎可以充当过滤器驱动器与文件系统之间的中介以用文件系统数据替代占位符文件105。文件系统数据还可以包括实际文件。占位符文件105可以包括空文件或者实际文件的表示。例如,空文件可以不包括缩略图数据(thumbdata)。此外,图像的缩略图可以充当该图像的占位符文件105。占位符文件105还可以包括指向实际文件的元数据。响应于针对缩略图的文件操作请求,与该图像相关联的文件系统数据可以被访问以用该文件系统数据替代占位符文件105。由此,可以响应于对缩略图的访问操作来提供图像。

过滤器驱动器102可以接收与占位符文件105相关联的文件操作请求。占位符文件可以包括由基于云的供应方通常使用的文件访问方案。基于云的提供方可以呈现占位符文件105而不是实际文件来保存要存储和管理实际文件的多个副本所需的资源。占位符文件105可以基于属性而被标识。所述属性可以包括文件大小(例如,空文件、小文件)和/或文件内容(例如,到实际内容的指针)等。接下来,可以识别与文件操作请求相关联的pid和进程名称。pid和进程名称可以与发起文件操作请求的应用106相关联。可以查询操作系统以识别与该文件操作请求相关联的pid和/或进程名称。与应用106相关联的凭证可以用于针对pid和/或进程名称来对操作系统进行查询。

用户110可以通过需求对由占位符文件105所指代的实际文件的访问来提示应用106发起文件操作请求。用户110可以通过计算设备108来与应用106进行交互,所述计算设备108可以执行应用106和/或应用106的用户界面。

过滤器驱动器102可以基于pid或者进程名称来检测水化行为。可以将pid与pid注册进行匹配以验证由应用通过诸如同步引擎之类的中介所准予的文件水化行为。pid还可以用于取回二进制名称或者关于应用106的其他元数据以对应用106进行标识并且针对与应用106相关联的文件水化行为来进行搜索。例如,可以将与应用106(和/或文件操作请求)相关联的pid同与服务于应用106的同步引擎相关联的pid注册进行匹配。示例可以包括与图像查看器(作为应用106)相关联的pid与服务于图像类文件的同步引擎相匹配。接下来,可以基于水化行为来显现与文件操作相关联的决策。与应用106相关联的水化行为可以包括允许方案、提早水化方案、和/或拒绝方案等。

计算设备108可以通过网络与其他设备进行通信。网络可以在诸如计算设备108和/或其他设备等之类的网络节点之间提供有线或无线通信。用于控制文件水化行为的先前的示例不是以限制性意义提供的。可替代地,过滤器驱动器102可以控制文件水化行为以作为台式机应用、工作站应用、和/或服务器应用等的一部分和/或与它们进行协作。应用106可以由计算设备108显现以将占位符文件106呈现给用户110。

用户110可以分别利用基于键盘的输入、基于鼠标的输入、基于语音的输入、基于笔的输入、以及基于手势的输入等来与应用106进行交互。所述基于手势的输入可以包括一个或多个基于触摸的动作,例如触摸动作、滑动动作、以及各个动作的组合等。

尽管已经关于包括计算设备108、过滤器驱动器102在内的具体组件描述了图1中的示例系统,但实施例不限于这些组件和系统配置,并且可以利用采用更少或额外组件的其他系统配置来实现。

图2是根据实施例的显示图,其示出了自动地控制文件水化行为的过滤器驱动器的示例组件。

在图200中,过滤器驱动器202可以是由操作系统所提供的输入/输出(i/o)评价器。过滤器驱动器可以部署收听器,其截取与水化操作相关联的文件操作请求。过滤器驱动器202的示例可以包括内核授权(kauth)驱动器,其基于范围214来部署kauth收听器。范围214可以包括操作系统的内核空间220内的用于授权或通知的兴趣区域。内核空间220可以包括与操作系统的内核相关联的操作在其中被执行的操作系统的环境。内核可以包含操作系统的核心执行操作。

在示例场景中,过滤器驱动器202可以接收由应用206发起的文件操作请求。应用206可以在(操作系统的)用户空间222中执行。文件操作请求可以试图访问指代实际文件的占位符文件。占位符文件可以是通常由基于云的提供商部署的文件访问方案,该文件访问方案通过提供经由表示(例如,指针文件、链接文件、空文件、样文件、和/或类似文件)对实际文件的访问来节约资源。

文件操作请求可以包括读请求和写请求。kauth收听器可以截取文件操作请求以供处理。一开始,操作系统可以被查询以识别与文件操作请求相关联的进程id(pid)和/或进程名称。pid可以被匹配至与同步引擎204相关联的pid注册。可以基于同步引擎204来识别与应用206相关联的水化行为,同步引擎204在取回与占位符文件相关联的文件系统数据时充当中介。例如,与应用206(和/或文件操作请求)相关联的pid可以被匹配至与服务于应用206的同步引擎204相关联的pid注册。在可替代的示例中,pid可以仅用于在应用206是发起输入/输出(i/o)的同步引擎204时标识应用206。在示例场景中,与图像查看器(作为应用206)相关联的pid可以被匹配至同步引擎204(当该图像查看器充当同步引擎204时)。

同步引擎204可以通过执行水化操作来访问文件系统216。水化操作可以包括用于取回与占位符文件相关联的文件系统数据218的操作。文件系统数据218可以包含由占位符文件所指代的实际文件。在从同步引擎204接收了文件系统数据218之后,文件系统数据218可以响应于文件操作请求而被提供至应用206。

可以基于水化行为来显现与文件操作请求相关联的决策。应用206可以被匹配至水化行为(例如,允许和/或拒绝等)。同步引擎204可以被授权以基于决策来继续水化操作。

图3是根据实施例的显示图,其示出了用于控制文件水化行为的方案的组件。

在图300中,过滤器驱动器302可以部署kauth收听器312来截取从应用306接收的文件操作请求320。文件操作请求320可以包括用于访问占位符文件322的指令。kauth收听器312可以对文件操作请求320试图访问占位符文件322进行验证。如果被验证,则过滤器驱动器302可以与同步引擎304交互以执行水化操作326。水化操作326可以包括用于访问文件系统316以取回与占位符文件322相关联的文件系统数据318的操作。文件系统数据318可以是由过滤器驱动器302作为实际文件(其是由占位符文件322指代的)提供至应用306的。例如,缩略图(作为占位符文件322的示例)可以指代图像(作为实际文件的示例)。

对应用306访问文件系统数据318的授权可以基于准予应用308的水化行为328而被验证。水化行为328可以基于与文件请求操作相关联的pid324和/或进程名称325而被标识。操作系统可以被查询以取回pid324和进程名称325。同步引擎304可以通过将pid324匹配至来自同步引擎的pid注册327而被识别为针对文件操作请求320的中介。应用306可以基于与文件操作请求320相关联的进程名称325而被标识。此外,水化行为328可以基于pid或进程名称而被匹配至应用306。与应用306相关联的水化行为可以确定同步引擎304是否被指示为执行水化操作326。

图4是根据实施例的显示图,其示出了用于基于检测到的行为来水化占位符文件的方案的组件。

在图400中,过滤器驱动器402的kauth收听器412可以将与pid和/或进程名称相关联的执行器(actor)与水化行为进行匹配。pid和/或进程名称可以用于标识发起文件操作请求的应用。如果文件操作请求被确定为需要访问占位符文件,则水化操作426可以被执行以取回与占位符文件相关联的文件系统数据。与应用相关联的水化行为可以决定同步引擎是否可以执行水化操作426。水化行为428可以包括允许430动作、提早水化432动作、以及拒绝434动作。

例如,kauth收听器可以检测到水化行为428允许水化操作426。作为响应,同步引擎可以被指示以从文件系统访问与占位符文件422相关联的文件系统数据,所述文件系统是由诸如基于云的文件存储提供方之类的多种文件存储解决方案托管的。占位符文件422可以由文件操作请求来标识。接着,占位符文件422可以由文件系统数据替代以将文件系统数据提供为实际文件(由占位符文件422指代)。可以响应于文件操作请求而提供文件系统数据。

在可替代的场景中,应用(其发起文件操作请求)可以基于pid和/或进程名称而被检测。应用可以被匹配至水化行为428。水化行为可以被检测为准予提早水化432。作为响应,水化操作426可以被执行。此外,应用可以被阻挡(关于需要文件水化的另外的文件操作请求),直到检测到水化操作426的完成为止。由此,应用可以被阻止执行用于取回与占位符文件422相关联的文件系统数据的多个水化操作。提早水化432可以在向应用呈现占位符文件422时提供应用兼容性。由于占位符文件422的大小与实际文件相比可能是减小的(或零),并且应用可能期望取回具有对应大小的实际文件,因此应用可以拒绝占位符文件422。提早水化操作422可以根据用于向应用提供实际文件或者与实际文件的大小相匹配的经水化的文件的文件访问请求而被执行。诸如提早水化432之类的受限的访问可以通过阻止重复的文件操作请求来释放资源。

在另一示例场景中,水化行为可以被检测为拒绝动作434。拒绝动作434可以阻止对文件操作请求的另外的操作。由此,过滤器驱动器402可以指示同步引擎继续保持占位符文件422。

如在上文中所讨论的,可以采用过滤器驱动器来执行用于控制文件水化行为的操作。文件系统的增加的资源消耗效率可以以自动地截取文件操作请求并且基于由发起该文件操作请求的应用准予的水化行为来路由该文件操作请求的结果的形式出现。同步引擎可以从事于基于由应用准予的水化行为来执行水化操作并且用实际文件的文件系统数据替代占位符文件。额外地,由过滤器驱动器102自动地控制文件水化行为可以降低处理器负载、增加处理速度、节约存储器、降低网络带宽使用、和/或类似的。

如在本文中所描述的实施例解决了由于缺乏控制文件水化行为的效率所产生的需求。在本文中所描述的动作/操作不仅仅是对计算机的使用,还是地址结果,其作为被用作向大量用户和应用供应的服务的软件的直接结果。

利用具体的组件、数据类型、和配置示出了图1至4中的示例场景和方案。实施例不限于根据这些示例配置的系统。可以在于应用和用户界面中采用更少或额外的组件的配置中实现控制文件水化行为。例如,出于说明的目的,核心授权驱动器和收听器在本文中被用作示例组件。此外,图1至4中示出的示例方案和组件及其子组件可以以与使用在本文中所描述的原理的其他值类似的方式来实现。

图5是其中可以实现根据实施例的系统的简化的网络化环境。被配置为控制文件水化行为的过滤器驱动器可以经由通过一个或多个服务器514执行的软件(例如,托管的服务)来实现。平台可以通过网络510与在诸如智能电话513、移动计算机512、或台式计算机511(“客户端设备”)之类的个体计算设备上的客户端应用进行通信。

在客户端设备511-513中的任何一个上执行的客户端应用可以经由由服务器514所执行的或者在个体服务器516上执行的应用来促进通信。过滤器驱动器可以从同步引擎接收pid注册。在接收到与占位符文件相关联的文件操作请求之后,识别与该文件操作相关联的pid和进程名称。接下来,可以基于所述pid或进程名称来检测水化行为。可以基于该水化行为来显现与该文件操作请求相关联的决策。过滤器驱动器可以将与占位符文件相关联的数据直接地或者通过数据库服务器518存储在数据存储519中。

网络510可以包括服务器、客户端、互联网服务提供商、和通信介质的任何拓扑。根据实施例的系统可以具有静态或动态拓扑。网络510可以包括诸如企业网络之类的安全网络,诸如无线开放网络、或互联网之类的非安全网络。网络510还可以协调通过其他网络(例如,公共交换电话网络(pstn)或蜂窝网络)的通信。此外,网络510可以包括短距离无线网络,例如蓝牙和类似网络。网络510提供在本文中所描述的节点之间的通信。作为示例而非限制,网络510可以包括无线介质,例如声音介质、rf介质、红外介质、和其他无线介质。

可以采用计算设备、应用、数据源、和数据分配系统的许多其他配置来控制文件水化行为。此外,在图5中所讨论的网络化环境仅仅是出于说明的目的。实施例不限于示例应用、模块、或过程。

图6是根据实施例的示例计算设备的框图,其可以用于控制文件水化行为。

例如,计算设备600可以用作服务器、台式计算机、便携式计算机、智能电话、专用计算机、或类似设备。在示例基本配置602中,计算设备600可以包括一个或多个处理器604和系统存储器606。存储器总线608可用于在处理器604与系统存储器606之间进行通信。可以在图6中由内部虚线内的那些组件示出示例基本配置602。

取决于期望的配置,处理器604可以具有任何类型,包括但不限于:微处理器(μp)、微控制器(μc)、数字信号处理器(dsp)、或其任何组合。处理器604可以包括一个以上层级的高速缓存,例如层级高速缓存存储器612、一个或多个处理器核心614、和寄存器616。示例处理器核心614可以(每个)包括算术逻辑单元(alu)、浮点单元(fpu)、数字信号处理核心(dsp核心)、或其任何组合。示例存储器控制器618还可以与处理器604一起使用,或者在一些实现中,示例存储器控制器618可以是处理器604的内部部件。

取决于期望配置,系统存储器606可以具有任何类型,包括但不限于易失性存储器(例如ram)、非易失性存储器(例如,rom、闪速存储器等)、或其任何组合。系统存储器606可以包括操作系统620、过滤器驱动器622、以及程序数据624。过滤器驱动器622可以包括诸如收听器626之类的组件。收听器626还可以截取文件操作请求并且将文件操作请求引导至过滤器驱动器622。收听器626可以从同步引擎接收pid注册。在接收到与占位符文件相关联的文件操作请求之后,可以识别与文件操作请求相关联的pid和进程名称。接下来,可以基于pid和/或进程名称来检测水化行为。可以基于所述水化行为来显现与文件操作请求相关联的决策。

可以通过与计算设备600相关联的通信模块来发送来往于生产力服务622的输入和输出。通信模块的示例可以包括能够可通信地耦合至计算设备600的通信设备666。通信模块可以提供有线和/或无线通信。程序数据624还可以包括如在本文中所描述的文件系统数据628等,此外还有其他数据。文件系统数据628可以包括由占位符文件等所提及的实际文件。

计算设备600可以具有额外的特征或功能,以及用于促进基本配置602与任何期望的设备和接口之间的通信的额外的接口。例如,总线/接口控制器630可以用于促进示例基本配置602与一个或多个数据存储设备632之间经由存储接口总线634的通信。数据存储设备632可以是一个或多个可移动存储设备636、不可移动存储设备638、或其组合。可移动存储设备和不可移动存储设备的示例可以包括:磁盘设备(例如,软盘驱动器和硬盘驱动器(hdd))、光盘驱动器(例如,压缩盘(cd)驱动器或数字通用盘(dvd)驱动器)、固态驱动器(ssd)、以及磁带驱动器等。示例计算机存储介质可以包括以用于存储诸如计算机可读指令、数据结构、程序模块、或其他数据之类的信息的任何方法或技术来实现的易失性和非易失性、可移动和不可移动介质。

系统存储器606、可移动存储设备636、和不可移动存储设备638可以是计算机存储介质的示例。计算机存储介质可以包括但不限于:ram、rom、eeprom、闪速存储器或其他存储器技术、cd-rom、数字通用盘(dvd)、固态驱动器、或其他光存储、盒式磁带、磁带、磁盘存储设备或其他磁存储设备、或者可用于存储期望的信息并且可以由计算设备600来访问的任何其他介质。任何这样的计算机存储介质可以是计算设备600的一部分。

计算设备600还可以包括用于促进经由总线/接口控制器630从各种接口设备(例如,一个或多个输出设备642、一个或多个外围接口644、以及一个或多个通信设备646)到示例基本配置602的通信的接口总线640。一个或多个输出设备642中的一些输出设备可以包括图形处理单元648和音频处理单元650,它们可以被配置为经由一个或多个a/v端口652而与诸如显示器或扬声器之类的各种外部设备进行通信。一个或多个外围接口644可以包括串行接口控制器654或并行接口控制器656,它们可以被配置为经由一个或多个i/o端口658而与诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备等)或其他外围设备(例如,打印机、扫描仪等)之类的外围设备进行通信。示例通信设备666可以包括网络控制器660,其可以被布置为促进经由一个或多个通信端口664在网络通信链路上与一个或多个其他计算设备662的通信。一个或多个其他计算设备662可以包括服务器、计算设备、和类似设备。

网络通信链路可以是通信介质的一个示例。通信介质通常可以由计算机可读指令、数据结构、程序模块、或经调制的数据信号(例如载波或其他传输机制)中的其他数据来实施,并且可以包括任何信息传递介质。“经调制的数据信号”可以是具有经调制的数据信号的特征集合中的一个或多个特征的信号,或者以关于将信息在信号中进行编码的方式而改变。作为示例而非限制,通信介质可以包括有线介质(例如,有线网络或直接有线连接)和无线介质(例如,声学、射频(rf)、微波、红外(ir)和其他无线介质)。如在本文中所使用的术语计算机可读介质可以包括存储介质和通信介质两者。

计算设备600可以被实现为包括上述功能中的任何一种的通用或专用服务器、大型机、或类似计算机的一部分。计算设备600还可以被实现为包括膝上型计算机和非膝上型计算机配置两者的个人计算机。额外地,计算设备600可以包括专用硬件,例如应用专用集成电路(asic)、现场可编程门阵列(fpga)、可编程逻辑器件(pld)、和/或集成电路(ic)上的自由形式逻辑等。

示例实施例还可以包括用于控制水化行为的方法。这些方法可以以包括在本文中所描述的结构在内的任何数量的方式来实现。一种这样的方式可以是通过在本公开中所描述类型的设备的机器操作。另一种可选的方式可以是针对结合执行一些操作的一个或多个人类操作者而将被执行的方法的独立操作中的一个或多个操作。这些人类操作者无需彼此处于同一位置,但每个操作者可以与执行程序的一部分的机器在一起。在其他示例中,人类交互可以例如通过可以是机器自动化的预先选择的标准而是自动化的。

图7是根据实施例的逻辑流程图,其示出了用于控制文件水化行为的过程。过程700可以在诸如计算设备600或另一系统之类的计算设备上被实现。

过程700以操作710开始,其中,过滤器驱动器可以从同步引擎接收pid注册。接下来,在操作720处,可以接收与占位符文件相关联的文件操作请求。文件操作请求可以包括用于访问与占位符文件相关联的文件系统数据的读操作和写操作。

在操作730处,可以识别与文件操作请求相关联的pd和进程名称。进程名称可以标识发起文件操作请求的应用。进程名称可以标识发起文件操作请求的应用。在操作740处,可以基于pid和/或进程名称来检测水化行为。与pid相关联的应用可以被匹配至水化行为。在操作750处,可以基于水化行为来显现与文件操作请求相关联的决策。

在过程700中所包括的操作是出于说明的目的的。对文件水化行为进行控制可以由具有较少或额外步骤的类似过程、并且以使用在本文中所描述的原理的操作的不同顺序来实现。在本文中所描述的操作可以由一个或多个处理器来执行,所述一个或多个处理器在一个或多个计算设备、一个或多个处理器核心、专用处理设备、和/或通用处理器等上操作。

在一些示例中,描述了一种用于控制文件水化行为的计算设备,所述计算设备包括:通信模块,其被配置为促进与基于云的文件和其他数据相关联的信息同计算设备的交换;存储器,其被配置为存储与过滤器驱动器相关联的指令。所述过滤器驱动器包括收听器。所述收听器被配置为:通过所述通信模块从同步引擎接收进程标识符(pid)注册;通过所述通信模块接收与占位符文件相关联的文件操作请求;识别与所述文件操作请求相关联的pid和进程名称;基于所述pid和所述进程名称中的一个或多个来检测水化行为;以及基于所述水化行为来显现与所述文件操作请求相关联的决策。

在其他示例中,文件操作请求包括作为先驱的水化操作。文件操作请求包括读操作和谐操作中的一个或多个。占位符文件包括基于云的文件。收听器还被配置为处理占位符文件的属性并且基于所述占位符文件的所述属性来识别用于完成所述文件操作请求的水化操作。水化操作用文件系统数据来替代所述占位符文件以用于完成所述文件操作请求。所述收听器还被配置为从执行文件操作请求的操作系统取回pid,并且从所述pid识别进程名称。

在另外的示例中,所述收听器还被配置为通过将所述pid与来自所述同步引擎的所述pid注册进行匹配而将所述同步引擎识别为针对所述文件操作请求的中介。所述收听器还被配置为分析所述进程名称以识别发起所述文件操作请求的应用。所述收听器还被配置为将与所述pid和所述进程名称中的一个或多个相关联的执行器同水化行为进行匹配,其中,所述水化行为允许与所述文件操作请求相关联的水化操作,以及读取与由所述文件操作请求所标识的所述占位符文件相关联的文件系统数据。所述收听器还被配置为用所述文件系统数据来替代所述占位符文件,并且响应于所述文件操作请求而提供所述文件系统数据。

在一些示例中,描述了一种在计算设备上执行以控制文件水化行为的方法。所述方法包括:从同步引擎接收进程标识符(pid)注册;接收与占位符文件相关联的文件操作请求,其中,所述文件操作请求包括用于用文件系统数据替代所述占位符文件的水化操作;识别与所述文件操作请求相关联的pid和进程名称;基于所述pid和所述进程名称中的一个或多个来检测水化行为;以及基于所述水化行为来显现与所述文件操作请求相关联的决策。

在其他示例中,所述方法还包括基于所述pid和所述进程名称中的一个或多个来检测应用以及将所述应用与所述水化行为进行匹配,其中,所述应用发起所述文件操作请求。所述方法还包括将所述水化行为检测为准予提早水化以及执行所述水化操作。所述方法还包括阻挡所述应用直到检测到所述水化操作的完成为止。所述方法还包括:响应于将所述水化行为检测为拒绝所述文件操作请求而保存所述占位符文件。所述方法还包括:截取所述文件操作请求以及将通知发送至所述同步引擎以基于所述决策继续进行所述文件操作请求,其中,所述决策指导对所述水化操作的执行。

在一些示例中,描述了一种计算机可读存储器设备,其具有存储在其上的、用于控制文件水化行为的指令。所述指令包括类似于所述方法的动作的动作。

在一些示例中,描述了用于控制文件水化行为的装置。用于控制文件水化行为的装置包括:用于从同步引擎接收进程标识符(pid)注册的装置;用于接收与占位符文件相关联的文件操作请求的装置;用于识别与所述文件操作请求相关联的pid和进程名称的装置;用于基于所述pid和所述进程名称中的一个或多个来检测水化行为的装置;以及用于基于所述水化行为来显现与所述文件操作请求相关联的决策的装置。

以上的说明书、示例、和数据提供对实施例的组成的制造和使用的完整描述。尽管已经用特定于结构特性和/或方法动作的语言描述了本主题,但应当理解的是,在所附权利要求中定义的主题不一定限于在上文中所描述的具体特征或动作。相反,在上文中所描述的具体特性和动作是作为实现权利要求和实施例的示例形式而公开的。

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