CN104050216B - 用于定制化资源分配的文件系统管理器 - Google Patents

用于定制化资源分配的文件系统管理器 Download PDF

Info

Publication number
CN104050216B
CN104050216B CN201410092247.0A CN201410092247A CN104050216B CN 104050216 B CN104050216 B CN 104050216B CN 201410092247 A CN201410092247 A CN 201410092247A CN 104050216 B CN104050216 B CN 104050216B
Authority
CN
China
Prior art keywords
file
file system
system object
request
hardware
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410092247.0A
Other languages
English (en)
Other versions
CN104050216A (zh
Inventor
M·C·西尔斯
D·E·谢尔曼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
DreamWorks Animation LLC
Original Assignee
DreamWorks Animation LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by DreamWorks Animation LLC filed Critical DreamWorks Animation LLC
Publication of CN104050216A publication Critical patent/CN104050216A/zh
Application granted granted Critical
Publication of CN104050216B publication Critical patent/CN104050216B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2471Distributed queries

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

系统和过程在跨编辑任意大小的网络(局域网、广域网、世界范围的网络、万维网等)分布的各种存储设备管理文件(例如,计算机动画制作文件)的同时,在各平台上的网络客户端上根据需求提供了定制化文件系统体验。客户端可以规定用于例示用于既定应用的文件系统接口或对象的一组要求。这种要求可以包括存储地点、文件品质、容量、规模、永久性、速度等。系统随后可以为客户端提供分配有特定硬件资源的定制化文件系统接口以满足指定的文件系统要求。文件系统接口可以对文件递送、分配、跟踪、传输、超高速缓存、删除等进行协调。系统可以管理并分配跨世界的范围从本地客户端计算机到远程硬盘驱动存储体的硬件资源。

Description

用于定制化资源分配的文件系统管理器
技术领域
本申请一般涉及文件系统,尤其涉及跨广域网和各种平台来管理诸如计算机动画制作文件的文件的计算机系统和过程。
背景技术
公司国际范围内扩张,有赖于跨全球的协调以及在远程数据中心(例如,在云中)存储数字数据。在一些情况下,公司达到了现场存储和处理资源的容量,并且作为备选转向非现场云解决方案以增加现场硬件,这将占用有价值的不动产且可能要求主要的体系结构修改(例如,冷却系统)。该全球扩张以对非现场存储的依赖已经对文件系统管理提出了新的挑战。例如,局域网典型地能够以标称延迟传送大量的数据,但是将数据跨广域网从处于一种状态的一个地点传送到处于另一状态的另一地点或跨海洋会导致大的延迟以及生产率的下降。而且,新的全球合作者可以利用不同的操作系统和文件系统,可能引入平台不兼容性。新的数据中心同样会存在与现有的文件系统不相兼容的问题,从而需要高成本的软件变更并且限制了数据存储和处理资源的灵活性。
另外,虽然不同的数据存储需要不同的雇员,公司会局限于单组硬件资源(例如,网络存储设备),这对于一些雇员的需求过量,而对于其它雇员的需求不足。例如,负责诸如计算机动画图像或视频的大文件的雇员会受益于能够最即时访问的本地存储,而负责诸如文本文档的小文件的管理雇员会发现非现场存储就足够了,虽然每个数据细节会有略长的等待时间。而且,跨公司的协作会使得几乎所有雇员能够访问同一数据资源成为必然,但是这会意味着限制数据存储选择以确保兼容性。为了解决世界范围内不同雇员的不同需求,公司可以提供本地存储解决方案以及非现场存储和备份,但是这样的分离和冗余增加了复杂度,尤其是典型的文件系统基于物理点来存储和管理文件,使得移动文件改变了文件的名称和标识。因此,虽然增加各种文件存储选择能够提高实用性,但是也会增加文件系统复杂度并且提高了破坏链接和破坏文件的可能性。对于这些问题敏感的公司则会优选实际上对于雇员的各种需求配合不良的数据存储资源。
尤其是在计算机生成图像(CGI)领域,计算机动画制作文件可能既相当大又相当多,使得文件系统管理尤其有挑战性。另外,计算机动画变得愈加分布以利用世界范围的人力资源,并且管理世界范围的文件对于文件系统管理提出了另外的挑战。例如,电影工作室可能会将动画任务跨工作在世界范围内各国家的不同团队来分布。在一些情况下,由于各团队协作,那些团队可能需要访问同一动画制作文件,并且将又大有多的文件在国家之间传送效率低且耗时。因此,在不具有适当的硬件资源和文件系统结构的情况下,管理分布式动画制作过程很难且低效。
因此,期望的是一种允许定制化存储资源分配、降低数据访问等待时间、提供跨平台兼容性以及提高硬件资源灵活性的文件系统管理器。
发明概述
描述了用于管理计算机网络中的数字文件(例如,计算机生成图像(CGI)动画制作文件的系统和过程。可以从请求者接收对文件系统对象的请求。文件系统对象可以提供请求者与用于处理动画制作文件且完成文件系统任务的硬件资源之间的接口。可以基于请求来确定文件系统对象要求。可以基于所确定的文件系统对象要求来生成定制化文件系统对象。定制化文件系统对象可以包括标识为请求者分配用于处理动画制作文件且完成文件系统任务的硬件资源的信息。定制化文件系统对象可以提供给请求者。
对文件系统对象的请求可以包括地点、存储类型、传送速度、写速度、读速度、版本控制策略、容量、永久性和品质。生成定制化文件系统对象可以包括:基于文件系统对象要求来为请求者分配用于处理动画制作文件且完成文件系统任务的硬件资源。在定制化文件系统对准中可以提供用于访问所标识的硬件资源的链接、句柄、挂载点、硬件地址或因特网协议地址。
定制化文件系统对象响应于创建文件的请求可以使得:对于该文件生成统一资源标识符;为该文件分配内存;将统一资源标识符映射到分配的内存中;以及提供文件句柄。响应于取回文件,定制化文件系统对象可使得为文件的副本分配内存,将所请求的文件复制到所分配的内存,以及提供到复制文件的链接。定制化文件系统对象还可以使得生成用于文件副本的统一资源标识符以及将其映射到所分配的内存。
附图说明
通过结合所附附图参考下面的详细说明,能够最佳地理解本申请,其中相似的部件可由相似的标记指代。
图1示出了示例性的计算机生成动画场景。
图2示出了在多个地点协调各种硬件资源的示例性的文件系统管理器。
图3示出了用于提供定制化文件系统对象的示例性过程。
图4示出了基于各种资源需求来提供定制化文件系统对象的示例性过程。
图5示出了示例性的文件系统对象。
图6示出了用于创建文件的示例性的文件系统对象过程。
图7示出了用于取回文件的示例性的文件系统对象过程。
图8示出了在多个地点有多个文件副本的示例性文件映射。
图9示出了示例性的计算系统。
发明详述
提供了下面的说明以使本领域普通技术人员能够实现和使用各个实施方案。具体的设备、技术和应用的描述仅作为实施例来提供。对本文描述的实施例进行各种修改对于本领域普通技术人员而言将是显而易见的,并且本文限定的一般性原理可应用于其它实施例和应用,而不偏离各个实施方案的精神和范围。因此,各个实施方案不旨在局限于本文描述和图示的实施例,而是与权利要求相一致的范围相符合。
为了描述的目的,在本公开全文中,软件、软件模块、软件对象等可描述为执行各种功能。然而,本领域普通技术人员将认识到,软件不会主动地执行任何功能,相反会包含能够在计算机处理器上执行的指令。因此,虽然本文将软件描述为执行功能,应理解为计算机处理器或其它计算设备通常可通过执行由软件模块或对象提供的计算机指令来实施那些在本文属于软件模块或对象的功能。
下文描述的各个实施方案涉及到将定制化文件系统体验提供给各种平台上的网络客户,同时跨在任意大小网络(局域网、广域网、世界网络、万维网等)中散布的各种存储设备来管理文件。示例性的系统包括服务各种客户的各种硬件资源。定制化文件系统对象(例如,含有可在计算机处理器上执行的指令的软件模块)可以提供客户与专门分配以服务该客户的硬件资源之间的接口。例如,硬件资源可用于处理动画制作文件以及完成文件系统任务。客户可通过规定诸如存储地点、文件品质、容量、规模、永久性、速度等要求来请求定制化文件系统对象,并且示例性的文件系统管理器(例如,在服务器上执行的软件模块)可以为定制化文件系统对象提供被分配以实现所请求的定制化文件系统体验的适当硬件资源。定制化文件系统对象可以包括用于处理文件递送、传输、超高速缓存、跟踪、删除、分配等的各种软件模块或虚拟接口。示例性的文件系统管理器还可以实施文件复制、传送和超高速缓存的策略,例如,提高文件系统性能并且减少数据访问等待时间。因为文件系统对象可由文件系统管理器定制化以通过抽象级使用一些硬件资源,所以可以根据需要修改硬件资源,而无需修改客户文件系统接口。
可通过路径独立且不变的统一资源标识符(URI)来指定所有的文件。系统可以包括映射对象以将文件URI与项目名称、用户指定文件名、用户身份、版本、时间戳、地点、一个或多个文件属性的组合等相关。系统可以管理范围从本地客户端计算机到跨世界的远程硬盘驱动存储体的存储设备。系统可以根据客户文件系统要求来实施用于跨存储设备的文件分布策略、自动文件复制策略、自动传输策略、文件备份策略等等。系统还可以基于在世界范围内不同地点的用户的可能的需求来实施用于无用信息收集的策略、归档策略、版本控制策略以及文件分布策略。
有益地,本文所讨论的系统和过程可以提供抽象层,其通过根据需求提供定制化文件系统对象来改善用户体验,无论它们所在何处,定制化文件系统对象都能根据需要来自动地使用存储资源,从而创建期望的文件系统体验。另外,对于存储设备的改变和升级无需对客户接口进行修改,为附加客户平台增加支持可根据期望更加容易地完成,而无需修改服务器配置。
支持分布式计算机动画制作过程的文件系统管理因各种原因而尤其有挑战性,诸如大尺寸的计算机动画制作文件、在计算机动画制作过程中所涉及到的大量文件、跨不同地点的团队的计算机动画制作任务的分布,等等。因此,计算机动画制作文件和动画制作过程被引用作为本文的各个实施方案如何可以改善文件系统管理的示例性实施例。但是本领域普通技术人员将易于理解系统和过程可用于各种应用。
图1示出了示例性的计算机生成动画场景。值得注意的是,该场景包括大量的细节(例如,详细的面部表情、毛皮、触须、狮子的鬃毛等),这些细节可对应于在渲染场景时的大量计算。在一些实例中,可期望使用专门配置的计算机硬件来渲染该场景中的细节。而且,包括在该场景中的细节可对应于大量的数据存储空间。由于这种量级的数据存储非同一般,所以存储会按各种存储类型分布在各个地点。另外,为了在制作动画电影时生成这种复杂的场景,还会需要大量的人力资源,并且任务分布到遍及世界的团队。由于这些原因以及其它原因,本文讨论的各个实施方案可以通过适应不同用户的不同需求的高效的文件系统管理来提供优选的资源分配。
图2示出了具有协调多个地点的各种硬件资源的示例性的文件系统管理器202的示例性的网络系统200。在一个实施方案中,示例性的网络系统200可以包括硬件资源以及在地点1-4的客户。地点104可能是一个办公室内的不同位置、一个州的不同地点、遍及国家分布的不同地点、遍及世界范围分布的不同地点或其任意组合。例如,地点1可以是在一个州,地点2可以是在另一州,地点3可以在另一国家,地点4可以在又一国家。在一个实施例中,网络和资源可以支持生产动画电影的电影工作室。
如图所似乎,每个地点可具有不同的硬件资源,并且可能或者可能不具有网络客户端。例如,地点1可包括一个或多个网络客户端204和206,以及一个或多个存储设备208。地点2可以包括一个或多个网络客户端212和214,以及一个或多个存储设备210。地点3和4可以包括存储设备216、218、220、222和224并且可以或者可以不包括任何网络客户端。网络客户端204、206、212和214可以在一个或多个操作系统(例如,Windows、Macintosh、UNIX、LINUX等)上操作;例如,网络客户端204和212可以在操作系统(O.S.)A上操作,网络客户端206可以在O.S.B上操作,并且网络客户端214可以在O.S.C上操作。网络客户端204、206、212和214可以包括各种计算设备中的任一种,例如雇员工作站、服务器、膝上型计算机、移动设备、电话系统或者可以将文件递送到网络(例如,网络包括网络系统200的各互连设备以及未显示但是可以与所有网络系统部件通信耦合的至少一个网络服务器)或者从网络请求文件的任何这样的设备。在一些实例中,网络客户端可供动画师(animator)、动画绑定师(rigger)、技术指导者、制作人、作家等在制作动画电影时使用。
而且,存储设备208、210、216、218、220、222和224可以包括各种存储设备中的任一种,诸如内部工作站硬盘驱动器、外部网络硬盘驱动器、闪存驱动器、磁盘驱动器、磁带驱动器、CD-ROM、磁光驱动器等。在一个实施方案中,网络系统200可以包括提供各种可操作特性的各种存储设备。例如,地点1处的存储设备208可是提供到网络客户端204和/或网络客户端206的近即时文件传送的类型和配置,而地点3处的存储设备216可以是为网络客户端提供增加延迟的间断访问的低成本长期存储的类型和配置。类似地,存储设备210、218、220、222和224可以提供具有不同特性的各种不同的网络存储解决方案。这些特性可以包括文件传送等待时间、成本、容量、互操作性、冗余等。在一些实例中,存储设备可用于存储与制作动画电影有关的数字文件。
另外,存储设备208、210、216、218、220、222和224可以在各种不同的操作系统和文件系统上运行。例如,一些设备可以实现诸如FAT12,FAT16,FAT32,exFAT,NTFS,HFS,HFS+,HPFS,UFS,ext2,ext3,ext4,btrfs,ISO9660,Files-11,VeritasFileSystem,VMFS,ZFS,ReiserFS,UDF等磁盘文件系统。
文件系统管理器202可以包括在处理器、服务器、网络计算机、处理器或其它计算设备上执行的软件。在本公开中,软件、软件模块、软件对象等可描述为好像它们为所描述的目的而正在执行特定功能一样。然而,本领域技术人员将理解的是,各种计算设备的处理器或其它硬件部件实际上可以实施该功能,并且软件可以提供使得硬件部件实施那些功能的指令。文件系统管理器202可配置为负责各种存储设备中的任一种运行各种操作系统和文件系统中的任一种。换句话说,文件系统管理器202可配置为解决并处置在网络客户端的操作系统或文件系统与存储设备的操作系统或文件系统之间可能发生的任何不兼容问题。文件系统管理器202可通过各种方式中的任一种来处置不兼容问题,包括将文件系统对象(下文讨论)提供给包括确保跨平台兼容的模块、脚本或接口的网络客户端。在其它实施方案中,文件系统管理器202可自身包含允许任何网络客户端使用用于文件系统任务的任何存储设备而无论操作系统或文件系统如何的软件模块或接口。本领域技术人员将理解,可以各种方式中的任一种来处置不兼容,以提供适合于特定组织的特定实施方式的用户体验。
因为文件系统管理器202可以处置跨各平台的兼容性,所以新的网络客户端类型和格式以及新的存储设备类型和格式可以容易地集成到现有网络中,而不会中断现有的客户端和设备。例如,集成新的存储设备和/或新的文件格式可能仅需要将新的模块添加到文件系统管理器202中,其为文件系统对象提供了使用新设备和/或文件格式所必要的转换和句法。类似地,提供对新的网络客户端类型或格式的访问可能仅需要在文件系统管理器202中添加对于该网络客户端请求定制化文件系统对象的支持。因此,因为文件系统管理器202协调了跨网络系统200的网络访问,所以新的设备可以容易地集成,并且系统作为整体可以随着需求变更、技术发展等而是灵活的。而且,因为文件系统对象可以动态地生成,文件系统管理器202可立即部署新的后端存储设备资源,而无需来自所请求的网络设备的任何变化。
文件系统管理器202可以通过将定制化文件系统对象提供给网络客户端来协调各种网络存储设备的使用。定制化文件系统对象可以提供请求的网络客户端与分配给那些客户端以用于特定操作(例如,处理动画制作文件、处理文本文档或完成其它文件系统任务)的硬件资源之间的接口。例如,网络客户端212可能需要大量数据的近即时文件传送,而网络客户端214可能满足于较长的文件传送延迟。并且定制化文件系统对象可提供给每个被分配了硬件资源以满足那些需求的网络客户端。在一些实施方案中,文件系统管理器202可在运行时动态地提供定制化文件系统对象,使得网络客户端可以基于当前项目的实时需要来享受定制化文件系统体验。因此,提供给每个网络客户端的定制化文件系统对象可以随时间而改变或者对于在同一网络客户端计算机上运行的不同项目进行不同地定制。文件系统管理器202可是在服务器上或者在与网络连接的多个服务器上运行的软件程序,并且其可位于地点1-4中的任一地点处、在不同地点处或在多个地点处。网络客户端可以通过包括局域网、广域网、因特网等各种方式中的任一种来与文件系统管理器202通信。
在一些实施方案中,网络客户端204、206、212和214可配置为与文件系统管理器202自动地通信以获得用于存储和取回网络文件(其可以包括本地文件以及存储在网络存储设备上的文件)以及其它文件系统任务的文件系统对象。例如,一些网络客户端可配置为自动地请求定制化文件系统对象,作为操作系统的引导序列的部分。然后,文件系统管理器202可以为适当的文件系统对象提供分配以用于特定文件系统体验的适当的硬件资源。然后,文件可通过使用文件系统对象的进程从网络取回且存储在网络上。在一些情况下,文件系统对象可以集成到操作系统中,使得取回和存储文件就好像所有文件都在本地一样。在其它情况下,软件接口可提供和/或配置为提供使用在启动时获得的文件系统对象到网络文件的访问。本领域普通技术人员将认识到,在整个用户进程中使用文件系统对象来实施文件系统任务,各种实施方式是可能的。
在其它实施方案中,网络客户端204、206、212和214可配置有软件程序,软件程序在运行时与文件系统管理器202通信以获得用于存储和取回网络文件(其可以包括本地文件以及网络文件)的文件系统对象。例如,一些网络客户端可以包括配置在软件初始化期间或者当诸如打开、关闭、保存、另存为、刷新等一些命令被发起时请求文件系统对象的软件程序。软件程序可以包括允许网络管理者定制化软件以便以特定方式配合网络体系结构的配置文件(或“config”文件)。网络管理者可以包括请求来自作为配置文件的部分的文件系统管理器202的文件系统对象。诸如打开、关闭、保存、另存为、刷新等文件命令随后可以通过由文件系统管理器202提供的文件系统对象来处理。当软件程序关闭时,文件系统对象可被丢弃。软件程序的新的实例或新的文件系统请求可涉及获取新的文件系统对象。在一些情况下,多个文件系统对象可通过单个网络客户端获得以用于各种不同文件系统任务和/或各种不同程序,并且对于特定的任务、程序或用途可定制每个文件系统对象。例如,一个文件系统对象可获得以用于文档处理程序,另一文件系统对象可获得以用于电子表格程序,另一文件系统对象可获得以用于图形设计程序,而另外的文件系统对象可获得以用于动画制作程序。这些文件系统对象中的每一个可被定制以为相应的程序和/或任务提供适当的文件系统体验。因此,多个文件系统对象可在运行时根据需要动态地获得并且当它们不再被需要时(或者当它们脱离范围时)而被丢弃。
在其它的实施方案中,网络客户端204、206、212和214中的任一个可配置为允许用户手动地获得文件系统对象以执行文件系统任务。例如,用户可通过命令提示、网页浏览器、文件浏览器或文件系统浏览器(例如,WindowsExplorer)等来与文件系统管理器202通信。用户可以请求文件系统对象,并且文件系统管理器202可以提供文件系统对象、链接或句柄以使用户能够通过文件系统对象来执行文件系统任务。本领域普通技术人员将理解的是,各种实施方式是可能的,并且任意配置的组合可实施以用于不同的网络客户端。
网络系统200的文件系统管理器202可实施图3所示的示例性过程300以将定制化文件系统对象提供给网络客户端。在块302处,文件系统管理器202可接收来自网络客户端的对于定制化文件系统对象的请求。请求可以包括各种文件系统要求、偏好、网络客户端特性等。例如,请求可以规定所需的存储类型、地点、优选的文件传送速度、待实施的文件版本控制策略、写速度、读速度、和/或很可能使用的存储容量。在其它实施方案中,当规定了较少的特定特性或没有规定特定特性时,可以根据需要存储和替代各种偏好和标准,诸如特定网络客户端的偏好、在特定地点的网络客户端的偏好、类似网络客户端的偏好、先前的网络客户端请求、标准文件系统特性等。
在另外的实施方案中,块302处的请求可以包括地点和品质的指定。例如,请求可以指定低品质、中等品质、高品质等,并且文件系统管理器202可以将这些品质指定与特定的硬件资源需求相关联以提供所请求的文件系统品质。本领域普通技术人员将理解的是,能够基于特定组织及其需求来定制规定文件系统要求的方法。例如,制作动画电影的组织可实现文件系统品质指定、诸如标准、高、回放、递送等。在电影的不同阶段工作的动画师、造型师、动画绑定师、艺术家、技师等可以处理大量的数据,但是处理该数据所需的存储资源可以基于个体角色和/或电影制作阶段或状态而变化。例如,负责场景动画制作流程的动画师可以访问数百、数千或者甚至是数十万动画制作帧和/或动画制作数据文件。该动画师,要舒适且高效地工作,因此将要求文件存储在具有高容量且极低等待时间的本地设备中。该动画师的网络客户端可请求回放或高品质文件系统传达快速访问大量数据的需求。相反,负责单个动画制作帧中的单个角色的服装设计的造型师或动画绑定师可能满足于取回和存储相关文件需要较长等待时间的存储设备。用于该造型师或动画绑定师的网络客户端可以请求标准文件系统以传达典型文件系统资源就足够。因此,组织的特性需求可以告知请求定制化文件系统对象的方式,并且包含在块302处对于定制化文件系统对象请求中的信息可以相应地变化。
在块304处,文件系统管理器202可以确定文件系统对象要求。在一个实施方案中,可以通过将在块302处接收到的请求中所规定的任何要求与满足那些要求的可用的硬件资源相关来确定文件系统对象要求。例如,如果在块302处的请求规定了特定的地点和品质,则文件系统管理器202可以在块304处确定充分的文件系统对象必须包含在该特定地点处至少具有指定品质的存储设备。类似地,如果在块302处的请求规定了最大的文件传送等待时间以及所需的容量,则文件系统管理器202可以在块304处确定充分的文件系统对象必须包含至多具有所规定的文件传送等待时间以及至少具有所规定的所需容量的存储设备。构思了文件系统系统管理器202从请求中所规定的要求中确定对于文件系统对象的特性要求的许多变型例。
在其它实施方案中,可通过将网络客户端的类型与典型的硬件资源需求相关来确定文件系统对象要求。例如,典型的雇员工作站可能仅需要基本的文件系统体验,因此文件系统管理器202可以在块304处判定:假设所请求的网络客户端是典型的雇员工作站,则基本的文件系统对象要求是足够的。相对比而言,在动画制作工作室的实施例中,动画师所使用的高功率工作站可能需要更先进且响应性更强的文件系统体验,因此文件系统管理器202可以在块304处判定:假设在请求的网络客户端在高功率工作站中,则增强的文件系统对象要求是必要的。在另一实施方案中,文件系统管理器202在块304处可以基于请求网络客户端的用户来确定文件系统对象要求。例如,文件系统管理器202不同于用于动画制作处理数百或数千电影文件的文件系统对象要求的用于管理者处理文本文档的文件系统对象要求。
在另外的实施方案中,可以在块304处基于请求文件系统对象的程序的类型来确定文件系统对象要求。例如,文件系统管理器202可以确定不同于用于动画制作程序的文件系统对象要求的用于文本处理程序的文件系统对象要求。特别地,基本的文件系统对象要求对于文本处理程序就足够了,而动画制作程序可能要求增强的文件系统对象要求。在其它实施方案中,可以在304处基于各种其它因素中的任一种来确定文件系统对象要求,诸如请求网络客户端的地点、请求网络客户端的用户的项目优先权、为网络客户端预期的文件系统任务的类型、为请求网络客户端生成的先前的文件系统对象以及其它各种特性和标准。
在块306处,文件系统管理器202可以通过映射硬件资源来生成定制化文件系统对象以便网络客户端使用。下面结合图6进一步详细讨论示例性的文件系统对象。在一个实施方案中,文件系统管理器202可以基于在块304处确定的要求来生成定制化文件系统对象。定制化文件系统对象可以是计算机程序对象或计算机程序类的特定实例,包括可以在处理器上执行以实施本文所描述的功能的软件指令。因此,定制化文件系统对象可以包括各种属性和行为,包括变量、函数、数据结构、链接、直至恩等,来为用户创建特定的文件系统体验。定制化文件系统对象可以存储在可由请求网络客户端访问的中央服务器上,或者可以暂时地存储一台计算机上并且根据需要复制到网络客户端或另一台计算机。定制化文件系统对象还可以直接例示在网络客户端上。在一些实施方案中,文件系统管理器202可以遍及网络客户端分布以使得可以在网络客户端上实施任意的文件系统管理器任务,包括生成定制化文件系统对象。
在块306处生成定制化文件系统对象可以包括提供必要的脚本或其它软件要素以允许特定的网络客户端与可以或者可以不通过相同的文件格式或操作系统操作的一个或多个存储设备通信。类似地,在块306处生成定制化文件系统对象还可以包括:提供链接、句柄、挂载点、硬件地址、因特网协议地址等等,以及网络客户端使用可能或者可能不在远程地点的硬件资源所需的任何其它硬件资源信息。在块306处生成定制化文件系统对象还可以包括:应用归档策略、文件备份策略、版本控制策略或各种其它文件系统策略中的任一种。本领域技术人员将理解,在块306处生成定制化文件系统对象可对于具有特定网络结构、硬件资源集合、各种文件格式、各种操作系统、各种文件归档需求等的特定组织而定制化。
通过将具有规定要求或变量的文件系统类例示为获得期望属性的参数,文件系统管理器202可以在块306处生成定制化文件系统对象。在一些实例中,一些文件系统对象属性对于网络客户端而言可能是非规定的或不重要的。文件系统管理器202可以自动地为任何缺失的属性提供预定属性、基于策略的属性、基于资源可用性的属性等。例如,如果网络客户端请求具有高容量的文件系统对象但是没有规定诸如地点或等待时间的其它属性,则文件系统管理器202可以在块306处通过选择满足该请求的各种硬件资源中的任一种来生成定制化文件系统对象。在该实施例中令人满意的文件系统对象可以包括在各个地点的、具有各等待时间的映射的硬件资源,并且文件系统管理器202可以选择以各种方式中的任一种来映射硬件资源,诸如选择最低等待时间、最近地点、最廉价的存储成本、最高可用容量等等。由于该系统灵活性,即使对于定制化文件系统对象的相同请求也会产生不同的结果(例如,不同的硬件资源映射),这取决于网络资源的状况。有益的是,该灵活性还可以允许网络管理者和文件系统管理器202动态地映射硬件资源,以用于最优使用、最优用户体验、降低的存储成本等等。
然而,在一些实例中,文件系统管理器202不能分配充分满足请求的资源。例如,具有充分空间、速度等的硬件可能不可用于满足所规定的要求。在那些实例中,文件系统管理器202可以拒绝请求,生成缺省文件系统对象,生成满足尽可能多的要求的文件系统对象,生成具有最佳可用资源的文件系统对象,等等。
在块308中,文件系统管理器202可以将在块306处生成的定制化文件系统对象提供给请求网络客户端。提供定制化文件系统对象可以各种方式发生,取决于在块306处如何生成对象。在一个实施方案中,文件系统管理器202可以将到可能驻留在网络服务器或任何其它计算机上的定制化文件系统对象的链接提供给请求网络客户端。在另一实施方案中,文件系统管理器202可以为独立式软件对象提供为网络客户端提供文件系统体验所需的所有的链接、脚本、地址、协议等。在另外的实施方案中,网络客户端可配置为好像所有的文件系统操作都在本地一样起作用,并且文件系统管理器202可以提供将存储操作引导到特定硬件资源的指令给网络客户端。网络客户端还可配置为将本地文件复制到网络上,并且文件系统管理器202可以提供将复制操作引导到特定硬件资源的指令给网络客户端。在另外的实施方案中,文件系统管理器202可以在块308处提供作为网络客户端的现有文件系统与各种网络资源的文件系统之间的媒介物起作用的软件对象。
图4示出了用于将定制化文件系统对象提供给网络客户端的示例性的过程400,示例性的步骤404根据各种资源需求来确定文件系统对象要求。在块402中,文件系统管理器可以接收来自网络客户端对定制化文件系统对象的请求。如结合过程300所讨论的,请求可以包括各种文件系统要求、偏好、网络客户端特性,等等。
在块404处,文件系统管理器(或类似的网络软件)可以实施任意数量的功能来确定用于在块402处请求的定制化文件系统对象的硬件资源要求以及其它属性。示出了几个实施例操作,但是许多其它将对于定制化文件系统对象的请求转换成特定硬件资源需求的操作是可能的。例如,文件系统管理器可以确定特定的存储地点,诸如请求网络客户端的地点或非现场的、高容量存储设施的地点。文件系统管理器还可以确定在特定地点处的特定存储设备,或者可以确定满足块402处的请求的特定类型的存储设备。文件系统管理器还可以确定文件永久性,或者可以利用定制化文件系统对象来存储期望持续时间的文件,并且可以确定对应于文件永久性或持续时间的硬件资源。文件系统管理器还可以确定应用定制化文件系统对象的特定归档策略,诸如将所有的文件版本归档到单独文件中,每天将文件归档,将所有文件永久地归档,在规定持续时间内将所有文件归档,或者可以基于文件类型或其它特性的另外的归档策略。因此,文件系统管理器可以确定各种文件系统属性以及对应的自由需求,如块404中所图示的。
在块406中,文件系统管理器可以生成包含在块404处确定的属性和对应的资源的定制化文件系统对象。在块408处,文件系统管理器可以将在块406处生成的定制化文件系统对象提供给请求网络客户端。
图5示出了可通过上述的过程300或过程400生成的示例性的文件系统对象500。应当注意,文件系统对象500可以是操作以利用传统文件系统的接口。例如,文件系统对象500可以与网络客户端上的本地文件系统、网络存储设备上的文件系统、远程存储地点的文件系统等通信,从而为用户提供文件系统体验。换言之,文件系统对象500可以在用户和/或网络客户端看来是典型的文件系统;然而,事实上,文件系统对象500可以是在协调一个或多个传统文件系统的文件系统任务的同时将文件系统接口提供给网络客户端和/或用户的软件。因此,网络客户端可以设置有将典型的文件系统请求映射到定制化文件系统对象的功能的软件。
在一个实施方案中,文件系统对象500可以包括用于提供文件系统接口且协调各文件系统任务(包括例如处理动画制作文件)的多个软件模块。如图5所示,文件系统对象500可以包括递送模块502、分配模块504、跟踪模块506、传输模块508、超高速缓存模块510和删除模块512。递送模块502可以对读文件和写文件进行协调。递送模块502可配置为从各种存储地点读数据以及将数据写入各存储地点,各存储地点诸如本地磁盘、网络设备、因特网等。递送模块502可配置有用于访问各种文件系统上的文件的必要的链接、地址、协议、脚本等等。
分配模块504可以协调在何处创建文件以及如何创建文件。例如,分配模块504可配置为规定文件系统对象所使用的文件类型、那些文件可存储在何处、待使用的文件系统的类型、在各存储设备中待分配的存储空间,等等。跟踪模块506可以跟踪能够访问和/或操纵现有的何种文件。跟踪模块506可配置为与可以跟踪跨网络系统的所有文件的其它网络程序通信。在一个实施方案中,跟踪模块506可配置为与保存一些或全部网络文件的列表的文件系统管理器或项目管理器通信。跟踪模块506可允许用户从网络上的任意地点定位和访问现有文件,并且可允许用户新创建的文件添加到网络文件列表中。在一些实施方案中,网络系统可具有按逐个项目贡献者组织网络文件的项目管理系统。文件可与特定工作项目相关,并且跟踪模块506可直接协调这些项目文件的跟踪,或者可与跟踪项目文件的其它网络系统软件通信。
传输模块508可以对将文件从一个存储设备移动和/或复制到另一存储设备进行协调。例如,当用户将在本地操纵远程存储的文件时,传输模块508可以对在远程存储和本地存储之间移动或复制那些文件进行协调以使能对用户具有更快的响应时间。特别地,传输模块508可使得远程存储的文件被复制或移至本地存储以减少文件访问等待时间。在一些实施方案中,传输模块508可以配置为在远程存储设备或地点保存本度文件的副本。在其它实施方案中,传输模块508可配置为基于用户访问请求、期望用户需求、系统状况、可用存储空间或类似因素而将文件自动地从一个存储设备或地点移至另一个存储设备。
超高速缓存模块510可以对文件递送缩放和加速进行协调。例如,当请求大的文件或大量文件时,超高速缓存模块510可协调网络资源以加速文件递送并且提高文件传送性能。在一个实施方案中,超高速缓存模块510可配置为批量地请求文件或者并行地请求文件的部分以减少从远程存储到本地存储或者在任意存储设备之间的传送时间。超高速缓存模块510还可以与文件系统管理器、网络监控器或其它网络软件协调以便以最优时间将文件传送按优先次序进行。例如,如果要在第二国家的工作小时内将大量的文件从第一国家传送到第二国家,然后在第一国家的工作小时内随后再次返回,则超高速缓存模块510可以在网络信息流通量低时、在跨特定网络线路传送较少文件时或者在跨大距离进行大量数据传送的其它最优时间对文件传送进度安排进行协调。在一些实施方案中,超高速缓存模块510能够配置为在多个地点链中将文件从一个地点传送到另一地点,以使得网络资源混乱最小化或者利用低网络信息流通量的时间段。类似地,超高速缓存模块510可以根据需要将正在各种存储设备中传送的文件的部分或全部超高速缓存以提高文件传送性能。
删除模块512可协调文件的删除、文件的复制、文件的超高速缓存部分,等等。在一些实施方案中,删除模块512可与无用信息收集网络软件通信以将文件标记为删除的和/或提高文件的删除优先权。在另一实施方案中,删除模块512可以设定文件可被无用信息收集器或其它系统资源删除的日期和/或时间。删除模块512可以基于网络客户端的类型、用户可能加工的文件的类型、文件保持策略、文件访问频率、自最近期文件访问请求所经过的时间等来选择该日期。在其它的实施方案中,当文件系统管理器判定出不应容许特定文件系统对象和/或特定网络客户端的用户删除文件时,删除模块512可以是为空。在组织偏向于保持所有雇员的工作成果以跟踪版本、存储备份和/或使能容易追溯到特定项目文件的早期版本的情况下,该限制会是有用的。
图6和图7示出了通过文件系统对象或接口单独地或者与文件系统管理器或其它网络资源联合地实施的示例性的过程。如上所述,虽然为描述的目的软件对象或模块在本文中描述为执行各种功能,本领域普通技术人员将理解的是,软件通常可以提供可在计算机处理器上执行以使得实施功能的指令。文件系统对象可用于实施和/或协调任意数量的文件系统任务。例如,创建新文件、取得文件、克隆文件、取回文件、写入文件、从文件读取、编辑文件、提交文件、取回文件以便编辑、复制文件、创建文件的新版本,等等。例如,图6示出了用于创建文件的示例性过程600。在块602中,文件系统对象可以接收创建文件的请求。请求可来自于用户,来自于在网络客户端上运行的程序,来自系统资源,等等。在一个实施方案中,请求可以包括特定类型的创建文件。在另一个实施方案中,接收请求的文件系统对象可与仅一个程序或一个文件类型相关联,使得不需要额外细节。请求还可以包括各种附加指令或细节中的任一种,诸如何时创建文件,在何处创建文件,在何处使用文件,文件的永久性,文件的名称,等等。在一个实施方案中,请求还可以规定要创建的文件的数量,诸如相同类型和要求的多个文件何时需要并且可进行批处理。在一些实施方案中,除非被具体请求越权,否则可使用缺省文件创建细节。
在块604处,文件系统对象可以分配要创建文件的足够内存。待分配的内存的量和一个或多个地点可取决于来自块602的请求、系统状况、缺省要求、与特定程序的关联等。在一个实施方案中,可以仅分配网络客户端中的本地内存。在另一实施方案中,可以仅分配远程存储内存。在另外的实施方案中,可以在本地和/或远程地在多个存储设备中分配内存。通过将适当的命令发布到网络客户端上的本地文件系统、发布到网络存储资源、发布到网络存储设备、发布到因特网服务器、发布到文件系统管理器等等,文件系统对象可以在块604处分配内存。在分配内存时,文件系统对象可以或者可以不接收回用于访问所分配内存的文件句柄或地址。在一些实施方案中,单独的网络资源可以协调文件访问,并且该资源可以存储所分配内存地址并且将其与特定的项目或文件名相关。
由于为新文件分配内存,文件系统对象可以使得在块606处生成URI。URI可以是独属于新创建的文件、一旦创建则不变以及不一定与特定文件地址关联的系统生成的密钥。例如,URI可以是唯一字母数字字符串。URI可通过网络软件识别为与保存了对应文件的副本的一个或多个内存地址相对应。有益的是,URI无需与特定的挂载地点(诸如特定的地址或文件系统)相关联。因此,对应的文件可重命名、可以跨设备移动、复制到多个地点、保存在不同的文件系统中,等等,而不会改变URI。相反,诸如项目管理器的网络软件可以保存有将每个URI与内存中的对应文件所在/物理存储的一个或多个地点相关的映射或表。在一个实施方案中,保存多个URI的功能类似于内容可寻址文件系统,其中特定的密钥对应于特定文件。
另外,项目管理器或类似的系统资源可以保存有将特定文件特性与特定URI相关的映射或表。例如,特定的URI可以与通过具有特定出处(关联的母文件)的文件的特定版本的特定用户所创建的特定文本文件名相对应。因此,用户可以基于用户所获知的典型特性(文件名、版本等)与文件交互,而系统将那些特性与URI相关,URI还与一个或多个内存地址相关。有益的是,用户能够修改文件名,将文件跨不同的网络客户端和文件系统移动,等等,而不会改变URI。相反,将文件从一个设备移至另一个设备通常改变了文件名,这会使得文件丢失并且使得到文件的链接被破坏。通过使用URI,提供了抽象层,其确保一致性并且提高了文件跨不同网络资源的可用性,因为相关被简化且集中地保存。
通过URI和所分配的内存,文件系统对象可以在块608处创建所生成的URI与所分配的内存之间的映射。在一些实施方案中,该过程可以自动地发生并且可通过网络软件处理,因为分配了内存且生成了URI。在其它实施方案中,文件系统对象可以将内存地址和对应的URI传达到用于其的项目管理器或类似网络资源以保持相关性。作为映射的部分,文件系统对象还可以开始增加与特定URI对应的文件特性,诸如文件名、用户、版本、出处等。在一些实施方案中,文件系统对象可以将这些特性传达给用于其的项目管理器或类似网络资源以将该数据保存在表或映射中。
在块610处,文件系统对象可使得文件句柄返回到请求网络客户端或用户。文件句柄可以是可用于网络客户端访问新创建文件的特定内存地址。文件句柄可以是本地内存地址,并且在一些实施方案中,文件系统对象可以使得远程地存储该本地内存地址的内容。在其它实施方案中,文件句柄可以是网络客户端可用于访问新创建文件的各种链接中的任一种。在一些实施方案中,系统管理器可以生成文件句柄并且将其返回到网络客户端。在其它实施方案中,网络客户端和/或用户可能对特定文件句柄无访问权,而是可以通过参考特定文件名或其它特性通过文件系统对象来访问文件。
图7示出了用于取回文件的示例性过程700。在块702处,文件系统对象可以接收获得文件的请求。请求可来自于用户、来自于程序、来自于系统资源等。如上文结合过程600所讨论的,请求可以或者可以不包括各种附加细节,诸如取回文件的数量、文件类型、文件句柄指令、用于存储文件的地点,等等。请求可以包括用于指示取回哪一个或哪些文件的各种标识符中的任一种。请求可以包括文件名,并且文件系统对象可以通过询问诸如项目管理器的系统资源而将文件名与特定URI相关。URI随后可用于通过网络来访问资源,或者可以询问诸如项目管理器的网络资源以标识出对应文件所在的一个或多个地点。请求还可以直接地包括URI,在该情况下,文件系统对象可以通过对地点询问网络资源以访问文件或者请求网络直接提供文件。请求还可以标识用户、文件版本、日期、出处、文件大小、文件类型或各种文件特性中的任一种以及文件系统对象可用于标识特定文件以便取回的文件特性的组合。
在块704处,文件系统对象可以使得为该文件分配内存。在一个实施方案中,文件系统对象可以分配接收文件副本的本地内存。在其它实施方案中,文件系统对象可以使得远程地分配接收文件副本的内存。在一些实施方案中,可能不允许一些或全部的用户来编辑现有的网络文件或提交的网络文件。在那些情况下,不是编辑现有的网络文件,文件系统对象可以使得为用户生成文件的新副本以便编辑,而不修改源文件。当组织偏向于保存雇员工作成果以便备份并且使能容易地追溯到在先版本时,该功能尤其有用。例如,制作动画电影的组织可以实施永不保存或编辑动画制作帧的早期版本的策略。在一些情况下,文件可被提交以指定它们不应被任何用户再次修改,并且不是覆写提交的文件,可以自动地生成新版本。因此,当动画师、造型师、动画绑定师、艺术家、技师等期望编辑已经保存或提交的动画制作帧或场景时(取决于策略的范围),文件系统对象或其它系统资源可以使得生成具有新的版本数量的新副本,然后在使得源文件完整的同时,可以对新副本进行修改。有益的是,由于帧和场景组合,所以早期版本的帧和场景可容易访问且根据需要使用,而不是较新的版本。
在块706处,文件系统对象可使得以结合过程600的块606所描述的相似方式来生成URI。在一些实施方案中,在用户正在访问只读文件的情况下或者当用户能够直接编辑文件时,可以不生成新的URI。在其它实施方案中,必须对容许用户编辑的文件的新副本生成新的URI。在另外的实施方案中,在请求多个文件且生成多个新的文件副本的情况下,可能需要多个新的URI。
在块708处,文件系统对象可以创建所生成的URI(如果有的话)与所分配的内存之间的映射。在一些实施方案中,该过程可自动地发生并且可通过网络系统处置。在其它实施方案中,文件系统对象可以将内存地址、对应的URI和/或文件特性传达给系统资源,以使其保存文件的表或映射。在一些实施方案中,文件系统对象可以使得将所请求文件的特性复制到网络系统的映射资源(诸如项目管理器)中,修改那些由于新生成的文件副本而变化的特性。
在块710处,文件系统对象可以使得将请求的源文件复制到所分配的内存(其可以是多个地点有多个副本或者单个副本有多个地点)。文件系统对象可以将复制命令直接发布到文件所在或者要复制文件的相关下层文件系统,其可以引导文件系统管理器或其它系统资源执行复制,或者其可以与其它网络资源相接以使它们根据需要生成一个或多个副本。
在块712处,文件系统对象可以使得将一个或多个复制文件的文件句柄返回到请求网络客户端或用户。文件句柄可以是内存地址、链接、或允许网络客户端访问用户随后能够读或编辑的文件的任何其它指令。在一些实施方案中,文件句柄可对应于文件的本地副本,并且文件系统对象或其它系统资源可以使得自动复制本地副本并且将本地副本存储在网络存储设备上。
本领域普通技术人员将理解到,可基于特定的网络设置、期望策略、偏好等轻易地修改过程600和700。另外,无需执行所列的全部功能,许多变型例是可能的。而且,文件系统对象可以在为用户创建文件系统体验时协调其它各过程。例如,可以修改过程600和700以实现其它功能,诸如取得文件、克隆文件、取回文件、写到文件、从文件读、编辑文件、提交文件、复制文件、创建文件的新版本,等等。提交文件可包括例如修改文件的提问档以表明其已经提交且任何用户不能再进行编辑或改动。创建文件的新版本可以包括例如生成现有文件的新副本,同时在新文件的提问档中表明其是新版本且传自在先版本(该关系还可称为文件出处)。同样,其它功能是可能的,并且本领域技术人员将容易理解到执行特定系统中的那些功能所需的必要步骤。
图8示出了在多个地点具有多个文件副本的示例性的文件映射800。如上所述,一个或多个网络资源可以保存文件特性、URI和存储地点的映射。在块802中,例如,图示出表或映射具有与其关联的URIY的示例性的文件提问档。如图所示,文件提问档可以包括各种文件特性,包含文件名、用户名、版本、出处、类型等等。出处(或起源)可以包括一些或全部相关文件及其关系的列表,诸如母文件或版本、同胞文件或版本、祖母文件或版本、源文件、形式文件,等等。附加的特性还可以包括在文件提问档中,诸如时间戳、创建日期、最后修改日期、最后访问的地点、文件大小、访问频率、访问文件的用户的数量、编辑次数等。用户或网络客户端可以通过文件提问档中的一个或多个特性来标识文件,并且系统资源随后可以将一个或多个特性与特定URI相关,诸如块802处的Y。类似地,块804处的URIZ图示为与具有不同的文件提问档的不同文件相对应。
块806示出了将特定URI与相应文件所在的一个或多个地点相关的表或映射。虽然块806图示出与块802和804分离,但是在一些实施方案中,它们可以全部组合并且由单个项目管理器或类似的网络文件管理器保存。图示的是示例性的URIY具有在存储设备808上的地点A处、在存储设备810上的地点B处以及在存储设备812上的地点C处的关联文件的副本。在一个实施方案中,每个副本可以相同并且可以位于多个地点以为更靠近那些地点的用户提供更快的访问。如果要修改副本,则可以更新其它副本以与修改的副本匹配,其它副本可由于陈旧而被删除,和/或可以由更新的副本生成新的副本。在另一实施方案中,可以跨多个存储设备来划分文件。类似于URIY,图示出示例性的URIZ具有在存储设备810上的地点B处的以及在存储设备812上的地点C处的副本。
如图所示,不同的URI可以具有在不同地点的不同数量的副本,取决于用户需求、系统策略、系统资源等。有益的是,因为通过不变的URI保存相关或映射,所以文件的提问档可以改变,并且其一个或多个存储地点可以改变,而无需修改对应的URI。这保留了到文件的链接,并且提高了跨具有不同的操作系统和/或文件系统的设备进行文件访问的可靠性。例如,即使对应于URIZ的文件移至地点A且从地点B和地点C删除,虽然地点变化,请求与URIZ对应的文件的用户或网络客户端也仍不能通过相同的信息来访问文件,因为映射或表806不会更新来反映该变化。类似地,即使对于对应于URIY的文件改变了文件名、版本或用户名,请求对应于URIY的文件的用户或网络客户端也仍能访问文件,只要提供了可见于表或映射802和804中的正确URI即可。映射800因此图示出文件系统如何可以管理和映射各文件资源以及将它们与不变的URI相关的一个实施例,但是许多可能的变型例对于本领域普通技术人员而言将是易于想到的。
文件系统管理器、项目管理器、文件系统对象或其它网络程序可以定制化以实现除了上述之外的各种策略。例如,文件系统管理器可以实现自动地将近期未访问的陈旧文件归档的策略。在一个实施方案中,诸如无用信息收集器的网络程序可以通过从文件系统管理器请求文件系统对象以及使用该文件系统对象接口将陈旧文件移入更廉价的、更远的存储地点来实现归档和删除策略。当文件已经达到特定年限或标记为删除时,无用信息收集器随后可使得文件完全删除或移至类似于磁带驱动器的特殊档案库存储器。无用信息收集器使得删除陈旧文件的额外副本以释放空间并且限制不频繁访问文件的复制。文件系统管理器可以为无用信息收集器提供比提供给典型网络客户端的那些文件系统对象更大许可度的文件系统对象。例如,提供给无用信息收集器的文件系统对象可以包括删除模块,其允许无用信息收集器永久地从存储设备删除文件,而可能不允许典型的网络客户端这样做。
用于实现网络策略的另外的网络程序可以包括系统资源监控器。系统资源监控器可以从文件系统管理器请求文件系统对象以便根据需要随后使用文件系统对象接口将文件跨不同硬件资源移动。例如,如果特定的存储设备达到了容量,则系统资源监控器可以使得将不频繁访问的文件从该设备移至另一地点中的不同存储设备。如上所述,用于移动的文件的URI将保持不变,而系统文件对象将使得系统URI映射更新以反映移动文件的新地点。
类似地,相同的或另外的网络程序可以实现减少网络客户端的文件访问等待时间的策略(利用文件系统对象接口)。例如,已知为同一项目而工作的协作者团队可遍布全球多个国家。系统程序可以使得与团队项目有关的文件自动地移动或复制到各地点。例如,系统程序利用如上所述的文件系统对象接口,可以将与共同项目有关的编辑文件自动地从第一国家的存储设备复制到第二国家的存储设备,并且后来复制到第三国家的存储设备,以确保那些文件在那些国家的正常工作小时内以最小延迟可访问。当然,随后任意新的或编辑的文件可以在位于此处的协作者的正常工作小时的预期内复制或移动至第一国家。在一些实施方案中,仅文件的编辑部分可以移动或复制以使现有的远程副本是最新的。当协作者文件的量和大小增加了访问时间而使得其抑制了雇员生产率时,这种抢先策略可能尤其重要。例如,制作动画电影的组织可具有跨全球工作于数十万的大量动画制作文件的协作者,并且跨世界范围移动那些文件会花费几分钟或者甚至几小时,而不是几秒。因此,抢先地复制或移动文件会显著地提高协作者的产率。
可以基于阻止的需要来实现其它的文件复制或移动策略。例如,与时间敏感或其它重要项目有关的文件可自动地复制到各地点以便快速访问。新创建的文件可类似地自动复制到预期其它用户可能需要访问或可编辑同一文件的各地点。在一个实施方案中,可以对文件访问请求进行监控,并且可以根据所标识的趋势抢先地传送文件。因此,可通过文件系统对象或使用文件系统对象接口的网络程序来实现各种策略,以便减少文件访问时间并且整体提高文件系统性能。
在一些实施方案中,可以实现文件访问限制以限制哪些用户和/或哪些网络客户端可以访问特定的文件。在一个实施方案中,所有的文件可由所有用户访问。然而,在另一实施方案中,可通过控制到文件系统的服务调用来限制文件访问。例如,如果请求者不具有适当的授权,则可拒绝为从项目管理器请求文件、URI以及一个或多个存储地点之间的映射的文件系统对象提供该信息。没有映射,文件系统对象就不能找到并访问文件,从而保护其内容免于非特权用户使用。可以逐个用户为基础授予特权或授权给工作于特性项目的所有用户、给特定地点的用户、给具有特定位置的用户、给具有特定资历的用户,等等。用户仍能够访问本地存储在其计算机上的任意文件,但是因此会调节要求查询文件系统以获得文件映射的任何文件访问会访问受限。
在另一实施方案中,可以将所有文件加密,从而要求密钥将文件内容解密。例如,文件系统可以实现所有保存文件的加密,并且可以保存有对加密内容解密所需的密钥数据库。恰如上文中关于文件映射访问许可所述,文件系统可以限制哪些用户对特定密钥具有访问权,从而限制水能够访问文件内容。有益的是,文件映射和一些文件提问档信息可由所有用户不使用密钥访问,从而使用户能够理解何种文件可供使用,而无论他们是否查看文件内容的充分的访问许可。因此,如果用户标识出期望文件但是不具有获得解密密钥的许可,则该用户可以请求从文件的主人、从而系统管理者、从文件作者等的访问并且被授予获得所需解密密钥的具体访问许可。另外,因为所存储的文件被加密,所以用户能够查看本地存储在其计算机上的文件,但是他们不能够将文件内容解密,不具有获得解密密钥的充分许可。因此,通过对文件加密并且将访问权限制于解密密钥,可以调节文件访问,保护有价值的信息,无论其存储在哪。
本文所描述的用于管理文件系统以及提供定制化资源分配的系统和过程可以各种应用来实现。例如,文件系统管理器和文件系统对象可替换几乎任何组织的任何现有的网络文件系统。例如,在具有不同任务的不同用户具有不同的文件系统需求的情况下,该系统尤其有用,并且硬件资源可以定制化方式分配以解决不同需求并且提高文件系统性能。类似地,在文件的大小、量和分布如此大以至于引入了大的文件传送延迟的情况下,本文所描述的系统和过程可以提高用户的文件系统体验并且更好地分配硬件资源。还可以提供引入本文所描述的各种实施方案所提供的定制化来替代或改善现有的商业资产管理系统。
图9描绘了配置为执行上述过程中的任一种的示例性的计算系统900。在该背景下,计算系统900可以包括例如处理器、内存、存储设备以及输入/输出设备(例如,监控器、键盘、磁盘驱动器、因特网连接等)。然而,计算系统900可以包括用于实施过程的一些或全部方面的电路或其它专用硬件。在一些操作设置中,计算系统900可以配置为包括一个或多个单元的系统,每个单元都配置为以软件、硬件或其某种组合来实施过程的一些方面。
图9描绘了具有可用于执行上述过程的多个部件的示例性的计算系统900。主系统902包括具有输入/输出(“I/O”)部分906的母板904、一个或多个中央处理单元(“CPU”)908以及内存部分910,其可具有与其有关的闪存卡912。I/O部分906连接至显示器924、键盘914、磁盘存储单元916和媒体驱动单元918。媒体驱动单元918能够对可包含程序922或数据的计算机可读媒体920进行读/写。
基于上述过程的结果的至少一些值能够保存以便后续使用。另外,非暂态计算机可读存储媒体能够用于存储(例如,有形地具体化)用于通过计算机来执行上述过程中的任一个的一个或多个计算机程序。计算机程序可通过例如通用编程语言(例如,Pascal、C、C++)或一些专业的专用语言写入。
虽然上文仅详细地描述了一些示例性实施方案,本领域技术人员将容易理解,在示例性实施方案中多个变型例是可能的,而实质上不偏离本公开的新颖教导和优点。例如,上文公开的实施方案的方面能够组合在其它组合中以形成另外的实施方案。因此,旨在所有这样的变型例包含在本公开的范围之内。

Claims (27)

1.计算机实现方法,用于管理在计算机网络中的计算机生成图像动画文件,所述方法包括:
经由程序接收来自请求者对文件系统对象的请求,其中所述文件系统对象提供所述请求者与用于处理动画制作文件且完成文件系统任务的一个或多个硬件资源之间的接口;
根据请求和请求文件系统对象的程序类型确定文件系统对象要求;
基于所述文件系统对象要求来确定一个或多个硬件资源映射,其中所述一个或多个硬件资源映射标识用于所述请求者处理动画制作文件且完成文件系统任务的一个或多个硬件资源;
分配标识的一个或多个硬件资源供请求者用于处理动画文件和完成文件系统任务,其中一个或多个分配的硬件资源是基于文件系统对象要求的;
将所述一个或多个硬件资源映射的至少一个提供给所述请求者;以及
接收来自实例化文件系统对象的文件系统任务,其中利用至少一个硬件资源映射使所述请求者实例化所述文件系统对象。
2.如权利要求1所述的计算机实现方法,其中对文件系统对象的所述请求包括地点。
3.如权利要求1所述的计算机实现方法,其中对文件系统对象的所述请求包括存储类型、传送速度、写速度、读速度、版本控制策略、容量、永久性和品质中的一项或多项。
4.如权利要求1所述的计算机实现方法,还包括:
基于所述请求来确定一个或多个硬件资源要求,其中由所述一个或多个硬件资源映射标识的所述一个或多个硬件资源满足所述一个或多个硬件资源要求。
5.如权利要求4所述的计算机实现方法,其中所述硬件资源要求包括地点、存储类型、传送速度、写速度、读速度、容量、永久性和品质中的一项或多项。
6.如权利要求4所述的计算机实现方法,其中一个或多个分配的硬件资源在实例化文件系统对象中被标识。
7.如权利要求1所述的计算机实现方法,其中所述将所述一个或多个硬件资源映射的至少一个提供给所述请求者包括:
提供用于访问所标识的一个或多个硬件资源的链接、句柄、挂载点、硬件地址或因特网协议地址中的一项或多项。
8.如权利要求1所述的计算机实现方法,其中实例化文件系统对象包括:
用于将文件系统任务请求从所述请求者传达到所标识的一个或多个硬件资源的脚本。
9.如权利要求8所述的计算机实现方法,其中所标识的一个或多个硬件资源在不同于所述请求者的文件系统的文件系统上操作。
10.如权利要求1所述的计算机实现方法,其中所述实例化文件系统对象包括超高速缓存模块,其中所述超高速缓存模块配置为使得从网络存储设备到所标识的一个或多个硬件资源的文件递送加速。
11.如权利要求1所述的计算机实现方法,其中所述实例化文件系统对象包括跟踪模块,其中所述跟踪模块配置为使得定位文件且使得提供文件访问。
12.如权利要求1所述的计算机实现方法,其中所述实例化文件系统对象响应于创建文件的请求而配置为:
使得对于所述文件生成统一资源标识符;
使得为所述文件分配内存;
使得所述统一资源标识符映射到所分配的内存;以及
使得提供对应于所述文件的文件句柄。
13.如权利要求1所述的计算机实现方法,其中所述实例化文件系统对象响应于取回文件的请求而配置为:
使得为所述文件的副本分配内存;
使得所请求的文件复制到所分配的内存中;以及
使得提供到所复制文件的链接。
14.如权利要求13所述的计算机实现方法,其中所述实例化文件系统对象进一步配置为:
使得生成用于所述文件的所述副本的统一资源标识符;以及
使得所述统一资源标识符映射到所分配的内存中。
15.如权利要求1所述的方法,其中所述接收来自实例化文件系统对象的文件系统任务包括:
接收所述一个或多个硬件资源的一个硬件资源的文件系统任务请求,其中所述文件系统任务请求由所述请求者发送至所述硬件资源。
16.一种用于计算机网络中的计算机生成图像动画制作文件的系统,所述系统包括:
用于经由程序接收来自请求者的对文件系统对象的请求的工具,其中所述文件系统对象提供所述请求者与用于处理动画制作文件且用于完成文件系统任务的一个或多个硬件资源之间的接口;
用于根据请求和请求文件系统对象的程序类型确定文件系统对象要求的工具;
用于基于所述文件系统对象要求来确定一个或多个硬件资源映射的工具,其中所述一个或多个硬件资源映射标识用于所述请求者处理动画制作文件且用于完成文件系统任务的一个或多个硬件资源;
用于分配标识的一个或多个硬件资源供请求者用于处理动画文件和完成文件系统任务的工具,其中一个或多个分配的硬件资源是基于文件系统对象要求的;
用于将所述一个或多个硬件资源映射的至少一个提供给所述请求者的工具;以及
用于接收来自实例化文件系统对象的文件系统任务的工具,其中利用至少一个硬件资源映射使所述请求者实例化所述文件系统对象。
17.如权利要求16所述的系统,其中所分配的一个或多个硬件资源在实例化文件系统对象中被标识。
18.如权利要求16所述的系统,其中所述实例化文件系统对象响应于创建文件的请求而配置为:
使得对于所述文件生成统一资源标识符;
使得为所述文件分配内存;
使得所述统一资源标识符映射到所分配的内存中;以及
使得提供对应于所述文件的文件句柄。
19.如权利要求16所述的系统,其中所述实例化文件系统对象响应于取回文件的请求而配置为:
使得为所述文件的副本分配内存;
使得所请求的文件复制到所分配的内存;以及
使得提供到所复制文件的链接。
20.如权利要求19所述的系统,所述实例化文件系统对象还配置为:
使得对于所述文件的所述副本生成统一资源标识符;以及
使得所述统一资源标识符映射到所分配的内存中。
21.如权利要求16所述的系统,其中所述接收来自实例化文件系统对象的文件系统任务包括:
接收所述一个或多个硬件资源的一个硬件资源的文件系统任务请求,其中所述文件系统任务请求由所述请求者发送至所述硬件资源。
22.用于管理计算机网络中的计算机生成图像动画制作文件的系统,所述系统包括:
内存,其配置为存储数据;以及
计算机处理器,其配置为:
经由程序接收来自请求者的对文件系统对象的请求,其中所述文件系统对象提供所述请求者与用于处理动画制作文件且用于完成文件系统任务的一个或多个硬件资源之间的接口;
根据请求和请求文件系统对象的程序类型确定文件系统对象要求;
基于所述文件系统对象要求来确定一个或多个硬件资源映射,其中所述一个或多个硬件资源映射标识用于所述请求者处理动画制作文件且用于完成文件系统任务的一个或多个硬件资源;
分配标识的一个或多个硬件资源供请求者用于处理动画文件和完成文件系统任务,其中一个或多个分配的硬件资源是基于文件系统对象要求的;将所述一个或多个硬件资源映射的至少一个提供给所述请求者;以及
接收来自实例化文件系统对象的文件系统任务,其中利用至少一个硬件资源映射使所述请求者实例化所述文件系统对象。
23.如权利要求22所述的系统,其中所分配的一个或多个硬件资源在实例化文件资源对象中被标识。
24.如权利要求22所述的系统,其中所述实例化文件系统对象响应于创建文件的请求而配置为:
使得对于所述文件生成统一资源标识符;
使得为所述文件分配内存;
使得所述统一资源标识符映射到所分配的内存中;以及
使得提供对应于文件的文件句柄。
25.如权利要求22所述的系统,其中所述实例化文件系统对象响应于取回文件的请求而配置为:
使得为所述文件的副本分配内存;
使得所请求的文件复制到所分配的内存;以及
使得提供到所复制文件的链接。
26.如权利要求25所述的系统,所述实例化文件系统对象还配置为:
使得对于所述文件的所述副本生成统一资源标识符;以及
使得所述统一资源标识符映射到所分配的内存中。
27.如权利要求22所述的系统,其中所述接收来自实例化文件系统对象的文件系统任务包括:
接收所述一个或多个硬件资源的一个硬件资源的文件系统任务请求,其中所述文件系统任务请求由所述请求者发送至所述硬件资源。
CN201410092247.0A 2013-03-13 2014-03-13 用于定制化资源分配的文件系统管理器 Active CN104050216B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/802,488 2013-03-13
US13/802,488 US10229170B2 (en) 2013-03-13 2013-03-13 File system manager for customized resource allocation

Publications (2)

Publication Number Publication Date
CN104050216A CN104050216A (zh) 2014-09-17
CN104050216B true CN104050216B (zh) 2019-06-25

Family

ID=50389211

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410092247.0A Active CN104050216B (zh) 2013-03-13 2014-03-13 用于定制化资源分配的文件系统管理器

Country Status (3)

Country Link
US (1) US10229170B2 (zh)
EP (1) EP2778973B1 (zh)
CN (1) CN104050216B (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9619217B2 (en) * 2013-11-20 2017-04-11 Wolfram Research, Inc. Methods and systems for cloud computing
US9646003B2 (en) * 2013-11-20 2017-05-09 Wolfram Research, Inc. Cloud storage methods and systems
CA2854022C (en) * 2014-06-11 2023-05-23 Ibm Canada Limited - Ibm Canada Limitee Artifact correlation between domains
KR101676571B1 (ko) * 2015-06-26 2016-11-15 네이버비즈니스플랫폼 주식회사 실내 측위 서비스 제공 방법 및 시스템
US10762285B2 (en) 2016-02-23 2020-09-01 Wolfram Research, Inc. Methods and systems for generating electronic forms
CN106202396A (zh) * 2016-07-08 2016-12-07 乐视控股(北京)有限公司 对象存储方法和对象存储系统
US11635908B2 (en) * 2017-06-22 2023-04-25 Adobe Inc. Managing digital assets stored as components and packaged files
US10970302B2 (en) 2017-06-22 2021-04-06 Adobe Inc. Component-based synchronization of digital assets
CN108363727B (zh) * 2018-01-10 2020-06-02 贝壳找房(北京)科技有限公司 一种基于zfs文件系统的数据存储方法及装置
US11086557B2 (en) * 2019-11-06 2021-08-10 International Business Machines Corporation Continuous asynchronous replication from on-premises storage to cloud object stores
US11567697B2 (en) * 2020-11-12 2023-01-31 International Business Machines Corporation Prioritization of stored data during a delete process in a virtualized storage system
US20220300454A1 (en) * 2021-03-18 2022-09-22 Avaya Management L.P. Systems and methods of curating data
CN114911595A (zh) * 2022-05-13 2022-08-16 北京字跳网络技术有限公司 动画资源的信息处理方法、装置、设备、介质及产品
CN116341015A (zh) * 2023-05-30 2023-06-27 安徽省模式识别信息技术有限公司 一种边缘计算环境下的数据隐私保护增强方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1860789A (zh) * 2003-07-28 2006-11-08 有限会社全球指向系统 动画分发系统、动画分割系统、动画分发程序、动画分割程序、存储该动画分发程序及 /或该动画分割程序的记录媒体
CN101729415A (zh) * 2009-11-24 2010-06-09 北京雷霆万钧网络科技有限责任公司 一种用户请求信息的响应方法及系统

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6604118B2 (en) 1998-07-31 2003-08-05 Network Appliance, Inc. File system image transfer
EP2270687A2 (en) 1995-04-11 2011-01-05 Kinetech, Inc. Identifying data in a data processing system
EP1457897A3 (en) 1995-10-26 2005-04-20 Matsushita Electric Industrial Co., Ltd. File System
US7325017B2 (en) 2003-09-24 2008-01-29 Swsoft Holdings, Ltd. Method of implementation of data storage quota
US8255675B1 (en) 2006-06-30 2012-08-28 Symantec Operating Corporation System and method for storage management of file system configuration data
CA2629482A1 (en) 2007-04-21 2008-10-21 Avid Technology, Inc. Using user context information to select media files for a user in a distributed multi-user digital media system
US9032016B2 (en) 2010-01-20 2015-05-12 Xyratex Technology Limited—A Seagate Company Communication method and apparatus
US9116731B2 (en) * 2010-04-07 2015-08-25 Accenture Global Services Limited Cloud reference model framework
US8234372B2 (en) 2010-05-05 2012-07-31 Go Daddy Operating Company, LLC Writing a file to a cloud storage solution
CN102664937B (zh) * 2012-04-09 2016-02-03 威盛电子股份有限公司 云端运算图形服务器及云端运算图形服务方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1860789A (zh) * 2003-07-28 2006-11-08 有限会社全球指向系统 动画分发系统、动画分割系统、动画分发程序、动画分割程序、存储该动画分发程序及 /或该动画分割程序的记录媒体
CN101729415A (zh) * 2009-11-24 2010-06-09 北京雷霆万钧网络科技有限责任公司 一种用户请求信息的响应方法及系统

Also Published As

Publication number Publication date
CN104050216A (zh) 2014-09-17
US20140280323A1 (en) 2014-09-18
US10229170B2 (en) 2019-03-12
EP2778973B1 (en) 2018-11-07
EP2778973A1 (en) 2014-09-17

Similar Documents

Publication Publication Date Title
CN104050216B (zh) 用于定制化资源分配的文件系统管理器
US10740087B2 (en) Providing access to a hybrid application offline
CN104537076B (zh) 一种文件读写方法及装置
US11455278B2 (en) Workflow functions of content management system enforced by client device
CN103931156B (zh) 具有用户不可知加密文件的服务器侧去重的云文件系统
US10140467B1 (en) Workflow functions of content management system enforced by client device
CN105474206A (zh) 支持按需数据传输的虚拟同步
CN105339903A (zh) 恢复文件系统对象
CN106933747B (zh) 基于多流的数据存储系统和数据存储方法
JP2011501839A (ja) データエンティティ及びそのバージョンにアクセスするための方法
US20160132528A1 (en) Methods and systems for displaying virtual files side-by-side with non-virtual files and for instantaneous file transfer
US11182348B2 (en) Sharing collections with external teams
CN110008197A (zh) 一种数据处理方法、系统及电子设备和存储介质
US20090222491A1 (en) Systems and Methods for Layered Resource Management
CN109558082B (zh) 分布式文件系统
US11809381B2 (en) Accessing network based content items by a mobile device while offline
CN113204520B (zh) 一种基于分布式文件系统的遥感数据快速并发读写方法
US11169864B2 (en) Systems, methods and computer program products for application environment synchronization between remote devices and on-premise devices
CN109347896A (zh) 一种信息处理方法、设备和计算机可读存储介质
KR100694157B1 (ko) 홈 네트워크의 멀티미디어 컨텐츠를 관리하는 방법 및 장치
US10592415B2 (en) Modified consistency hashing rings for object store controlled WAN cache infrastructure
US20110238776A1 (en) Method and system for the virtualized storage of a digital data set

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
CB03 Change of inventor or designer information

Inventor after: MC Sears

Inventor after: D*E*Sherman

Inventor before: MC Sears

COR Change of bibliographic data
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant