针对文件的存储虚拟化制造技术

技术编号:20882048 阅读:30 留言:0更新日期:2019-04-17 13:14
存储虚拟化技术允许远程存储文件,例如由云存储提供方,但是以用户或在本地计算设备上运行的应用看起来好像文件存储在本地的方式,即使这些文件的数据可以未被驻留在本地计算设备上。也就是说,可能存在于云中的文件的内容看起来和表现得好像它们本地存储在计算设备上。

【技术实现步骤摘要】
【国外来华专利技术】针对文件的存储虚拟化
技术介绍
随着对计算机系统中数据存储的需求的不断增长,云存储提供方的使用正在增加。使用云存储,文件或目录的数据可以被存储“在云中”,而不是被存储在用户的本地计算设备上。当需要文件或目录的数据时,可以将其“从云”拉回到用户的本地计算设备上。通常,用户必须在用户的本地计算设备上安装云提供方软件,该软件管理向/从云提供方服务存储和取回文件以及数据在本地计算设备与云存储器之间的同步。遗憾的是,对于云存储提供方,访问和处理文件的过程并不像将这些文件本地存储在计算设备上那样无缝。
技术实现思路
本文中公开了存储虚拟化技术,该技术允许文件和目录例如由云存储提供方远程地存储,但是以用户或在本地计算设备上运行的应用看起来好像文件被本地存储的方式,即使这些文件和目录的数据可能没有驻留在本地计算设备上。也就是说,可能存在于云中的文件和目录的内容看起来和表现得好像它们被本地存储在计算设备上。特别地,根据这些存储虚拟化技术,可以在本地计算设备上为文件或目录创建占位符。占位符在用户或应用看起来是在计算设备上的常规文件或目录,但它可以未包含文件或目录的所有数据。当应用期望访问(例如,打开,读取,写入等)存储为占位符的文件或目录时,文件系统过滤器会拦截I/O访问,并且在需要时向在计算设备上执行的存储虚拟化提供方模块传送访问的详细信息。当所请求的数据未被存储在本地时,存储虚拟化提供方将操作以从存储它的远程位置(例如,“从云”)获取文件或目录的数据,并且将数据返回到文件系统过滤器。然后,文件系统过滤器可以响应于I/O访问而将数据提供给请求应用,和/或将数据放置在磁盘上的文件或目录中。在一个实施例中,存储虚拟化提供方在计算设备上以用户模式执行,并且用户模式库可以被提供以使得用户模式存储虚拟化提供方模块的实现和开发更容易并且隐藏过滤器提供方通信的细节。附图说明当结合附图阅读时,可以更好地理解前述“
技术实现思路
”以及以下“具体实施方式”。为了说明本公开,示出了本公开的各个方面。然而,本公开不限于所讨论的具体方面。在附图中:图1示出了其中可以采用本文中公开的各方面的示例性计算设备;图2示出了根据一个实施例的用于存储虚拟化的示例架构;图3A、图3B和图3C分别示出了根据一个实施例的常规文件、占位符和用于文件的重解析点;图4示出了根据一个实施例的用于存储虚拟化的架构的进一步细节;图5示出了根据一个实施例的创建用于文件的占位符的过程;图6示出了根据一个实施例的访问占位符的文件数据的过程;图7A和图7B示出了图6的文件数据访问过程的进一步细节;图8A、图8B和图8C分别示出了根据一个实施例的常规目录、目录的占位符和重解析点;图9示出了根据一个实施例的用于占位符目录的枚举的过程;以及图10是示例目录层次结构的图。具体实施方式本文中公开了存储虚拟化技术,该技术允许例如由云存储提供方远程存储文件和目录,但是以用户或在本地计算设备上运行的应用看起来好像文件被本地存储的方式,即使这些文件和目录的数据没有驻留在本地计算设备上。也就是说,可能存在于云中的文件和目录的内容看起来并且表现得好像它们被本地存储在计算设备上。示例计算设备图1示出了其中可以实现或实施本文中公开的技术和解决方案的示例计算设备112。计算设备112可以是各种不同类型的计算设备中的任何一种,包括但不限于计算机、个人计算机、服务器、便携式计算机、移动计算机、可穿戴计算机、膝上型计算机、平板电脑、个人数字助理、智能电话、数码相机或自动执行计算的任何其他机器。计算设备112包括处理单元114、系统存储器116和系统总线118。系统总线118将系统组件(包括但不限于系统存储器116)耦合到处理单元114。单元114可以是各种可用处理器中的任何一种。双微处理器和其他多处理器架构也可以用作处理单元114。系统总线118可以是若干类型的总线结构中的任何一种,包括存储器总线或存储器控制器、外围总线或外部总线、和/或使用各种可用总线架构中的任何变型的本地总线,可用总线架构包括但不限于工业标准架构(ISA)、微通道架构(MSA)、扩展ISA(EISA)、智能驱动电子设备(IDE)、VESA本地总线(VLB)、外围组件互连(PCI)、卡总线、通用串行总线(USB)、高级图形端口(AGP)、个人计算机存储卡国际协会总线(PCMCIA)、Firewire(IEEE1394)和小型计算机系统接口(SCSI)。系统存储器116包括易失性存储器120和非易失性存储器122。存储基本输入/输出系统(BIOS)(包含用于在计算设备112内的元件之间传送信息的基本例程,诸如在启动期间)被存储在非易失性存储器122中。作为说明而非限制,非易失性存储器122可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除ROM(EEPROM)或闪存。易失性存储器120包括随机存取存储器(RAM),其用作外部高速缓冲存储器。作为说明而非限制,RAM以很多形式可用,诸如同步RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双倍数据速率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、SynchlinkDRAM(SLDRAM)和直接RambusRAM(DRRAM)。计算设备112还可以包括可移动/不可移动、易失性/非易失性计算机可读存储介质,其在本文中可以称为辅助存储设备。图1示出了辅助存储设备,例如以磁盘存储设备124的形式。辅助存储设备(例如,磁盘存储设备)124包括但不限于诸如磁盘驱动器、软盘驱动器、磁带驱动器、Jaz驱动器、Zip驱动器、LS-100驱动器、存储卡(诸如SD存储器卡)或记忆棒等设备。另外,磁盘存储设备124可以单独地或与其他存储介质组合地包括存储介质,包括但不限于光盘驱动器,诸如光盘ROM设备(CD-ROM)、CD可记录驱动器(CD-R驱动器)、CD可重写驱动器(CD-RW驱动器)或数字通用磁盘ROM驱动器(DVD-ROM)。为了便于将磁盘存储设备124连接到系统总线118,通常使用可移动或不可移动接口,诸如接口126。术语磁盘存储设备和辅助存储设备在本文中可互换地使用。图1进一步描绘了充当用户与在计算设备112中描述的基本计算机资源之间的中介的软件。这种软件包括操作系统128。可以存储在磁盘存储器124上的操作系统128用于控制和分配计算设备112的资源。应用130利用操作系统128通过程序模块132和存储在系统存储器116或磁盘存储器124上的程序数据134对资源的管理。应当理解,本文中描述的各方面可以使用各种操作系统或操作系统组合来实现。如进一步所示,操作系统128包括文件系统129,文件系统129用于在磁盘存储器124上存储和组织计算机文件及其包含的数据以便于查找和访问它们。用户可以通过输入设备136向计算设备112中输入命令或信息。输入设备136包括但不限于指点设备(诸如鼠标)、轨迹球、触控笔、触摸板、键盘、麦克风、操纵杆、游戏手柄、卫星天线、扫描仪、TV调谐卡、数码相机、数码摄像机、网络摄像头等。这些和其他输入设备经由接口端口138通过系统总线118连接到处理单元114。接口端口138包括例如串行端口、并行端口、游戏端口和本文档来自技高网
...

【技术保护点】
1.一种在计算设备中的用于文件的存储虚拟化的方法,所述计算设备包括处理器、存储器和辅助存储设备,所述存储器存储计算机可执行指令,所述计算机可执行指令在由所述处理器执行时实现用于管理所述辅助存储设备上的文件的存储的文件系统,所述方法包括:在所述辅助存储设备上存储用于文件的占位符,所述文件包括以下数据,所述数据中的至少一些被存储在远离所述辅助存储设备的网络上,所述占位符包含与所述文件相关联的元数据、不包含未被远程存储的所述文件的数据或者包含未被远程存储的所述文件的一些数据的稀疏数据流、以及支持所述文件的任何远程存储数据从所述网络被取回的信息;从在所述计算设备的所述处理器上执行的应用接收用以读取所述文件的所述数据的至少一部分的请求;从所述占位符中包含的所述信息确定所请求的所述数据中的任何数据是否远离所述辅助存储设备而被存储;以及对于从所述占位符被确定为远离所述辅助存储设备而被存储的任何数据,向存储虚拟化提供方制定用以取回所述远程存储数据的一个或多个请求;以及向所述存储虚拟化提供方传输所述一个或多个请求。

【技术特征摘要】
【国外来华专利技术】2016.08.25 US 62/379,391;2017.04.21 US 15/493,4031.一种在计算设备中的用于文件的存储虚拟化的方法,所述计算设备包括处理器、存储器和辅助存储设备,所述存储器存储计算机可执行指令,所述计算机可执行指令在由所述处理器执行时实现用于管理所述辅助存储设备上的文件的存储的文件系统,所述方法包括:在所述辅助存储设备上存储用于文件的占位符,所述文件包括以下数据,所述数据中的至少一些被存储在远离所述辅助存储设备的网络上,所述占位符包含与所述文件相关联的元数据、不包含未被远程存储的所述文件的数据或者包含未被远程存储的所述文件的一些数据的稀疏数据流、以及支持所述文件的任何远程存储数据从所述网络被取回的信息;从在所述计算设备的所述处理器上执行的应用接收用以读取所述文件的所述数据的至少一部分的请求;从所述占位符中包含的所述信息确定所请求的所述数据中的任何数据是否远离所述辅助存储设备而被存储;以及对于从所述占位符被确定为远离所述辅助存储设备而被存储的任何数据,向存储虚拟化提供方制定用以取回所述远程存储数据的一个或多个请求;以及向所述存储虚拟化提供方传输所述一个或多个请求。2.根据权利要求1所述的方法,还包括:响应于所述一个或多个请求,从所述存储虚拟化提供方接收所请求的所述数据;以及向所述计算设备的所述文件系统发出用以将所接收的所述数据写到所述辅助存储设备上的所述占位符的稀疏数据流的请求。3.根据权利要求1至2中任一项所述的方法,还包括:更新所述占位符中包含的所述元数据,以指示所述占位符已经被修改。4.根据权利要求1所述的方法,还包括:响应于所述一个或多个请求,从所述存储虚拟化提供方接收所请求的所述数据;以及响应于用以读取所述文件的所述数据的所述部分的请求,向所述应用直接提供所请求的所述数据,而不向所述文件系统发出用以将所接收的所述数据写到所述辅助存储设备上的所述占位符的稀疏数据流的请求。5.根据权利要求1至4中任一项所述的方法,所述占位符中支持所述文件的任何远程存储数据从所述网络被取回的所述信息包括与所述存储虚拟化提供方相关联的标识符和用于所述文件的文件名。6.根据权利要求1至5中任一项所述的方法,所述占位符中支持所述文件的任何远程存储数据从所述网络被取回的所述信息包括数据结构,所述数据结构标识所述文件的数据的如果存在的哪些范围被存储在所述辅助存储设备上的所述占位符的所述稀疏数据流内,以及标识所述文件的所述数据的哪些范围远离所述辅助存储设备而被存储,确定所请求的所述数据中的任何数据是否远离所述辅助存储设备而被存储是使用所述数据结构来执行的。7.根据权利要求6所述的方法,所述数据结构包括具有位序列的位图,每个位表示所述文件的所述数据的不同范围。8.根据权利要求1至7中任一项所述的方法,向所述存储虚拟化提供方制定一个或多个请求还包括:确定远离所述辅助存储设备而被存储的所请求的所述...

【专利技术属性】
技术研发人员:N·R·克里斯蒂安森R·V·普迪佩蒂S·A·布伦德S·C·哈夫瓦拉谢平C·A·巴克霍塞时磊
申请(专利权)人:微软技术许可有限责任公司
类型:发明
国别省市:美国,US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1