用于优化虚拟桌面环境中的存储分配的方法和系统的制作方法

文档序号:6382149阅读:136来源:国知局
专利名称:用于优化虚拟桌面环境中的存储分配的方法和系统的制作方法
技术领域
本发明涉及虚拟环境系统,并且更具体地涉及一种用于优化虚拟桌面环境中的存储分配的方法。
背景技术
计算机虚拟化对于不同规模的公司而言都成为了更为重要的技术之一。其提高了计算硬件平台的计算效率和灵活性。特别地,在虚拟桌面环境中使用存储虚拟化在这些公司中的商业计算中也成为了关键部分。在虚拟桌面环境中,为每个桌面所指定的本地文件系统是从物理存储池中所取得的一块专用虚拟存储。用户每次向其文件系统保存文件时,该文件的副本就被存储在该桌面的专用物理存储块上。在属于相同商业背景的若干虚拟桌面用户向其文件系统保存相同文件的情况下,结果是该同一文件的若干副本可能被存储在共用物理存储上。这种冗余导致了不必要的额外存储的使用,由此必须获得比实际需要更大的存储卷。另一个与其它现有技术系统的使用相关的问题在于用户必须使用预定义或共享的目录树结构并且无法在用户指定的位置中存储其文件。所述系统的用户也无法修改共享存储卷的目录结构,因为这会使得其他用户感到混乱、认为其文件仍然可经由原始文件路径获得。

发明内容
本发明实施例的目标是提供一种改进的计算机实现的方法、数据处理系统以及相对应的计算机可读存储介质。所述目标通过独立权利要求的主题而得以实现。有利实施例在从属权利要求中进行描述。如这里所使用的术语“虚拟桌面”是在物理上位于虚拟桌面环境所管理的数据存储中的虚拟机。实际上,虚拟桌面可以由在服务器而不是客户端的本地存储上运行的虚拟桌面环境来提供。因此,根据实施例,当用户从其本地客户端机器进行工作时,所使用的所有程序、应用、过程和数据都保持在服务器上并且集中运行。桌面虚拟化允许用户从智能电话以及其它形式的具有有限硬件资源的瘦客尸端运行操作系统和应用。根据一些其它应用,虚拟桌面可以被临时加载到客户端设备的工作存储器中,而数据的任意修改则仅存留在服务器所管理的存储卷中。如这里所使用的术语“计算机可读存储介质”涵盖了可以存储可由计算设备的处理器执行的指令的任意有形存储介质。计算机可读存储介质可以被称作计算机可读非瞬态存储介质。计算机可读存储介质还可以被称作有形计算机可读介质。在一些实施例中,计算机可读存储介质还能够存储能够由计算设备的处理器所访问的数据。计算机可读存储媒体的示例包括但不限于:软盘、打孔带、打孔卡、磁性硬盘驱动器、固态硬盘、闪存、USB指状驱动器、随机访问存储器(RAM)、只读存储器(ROM)、光盘、磁-光盘以及处理器的寄存器文件。光盘的示例包括紧致盘(CD)和数字多功能盘(DVD),例如CD-ROM、CD-RW、CD-R、DVD-ROM、DVD-RW或DVD-R盘。术语计算机可读存储介质还指代能够由计算设备经由网络或通信链路进行访问的各种类型的记录媒体。例如,数据可以通过调制解调器、互联网或局域网获取。对计算机可读存储介质的引用应当被解释为可能包括多个计算机可读存储介质。一个或多个程序的各种可执行组件可以存储在不同位置中。计算机可读存储介质例如可以包括相同计算机系统内的多个计算机可读存储介质。计算机可读存储介质还可以是在多个计算机系统或计算设备之间进行分布的计算机可读存储介质。如这里所使用的术语“元数据存储库”涵盖了具有所存储元数据的存储介质或者其一部分。例如,元数据存储库可以被实现为被设计为支持处理器对元数据的存储、使用和获取的数据库系统。元数据例如可以包括与如何访问具体数据相关的信息或者与所述数据相关的更多细节。如这里所使用的术语“应用编程接口(API) ”是指实现所述接口的软件程序用来相互进行交互的接口;很多是软件可能实现用户接口以便允许人与之进行交互相同的方式。API由软件应用(SA)、库和操作系统所实现以定义其它软件能够如何从它们调用或请求服务。API确定编程人员应当采用的词汇和调用惯例以便使用服务。其可以包括用来在消费者和API实施方之间进行通信的例程、数据结构、对象类型和协议的规范。如这里所使用的术语“访问控制列表(ACL) ”是指任意安全架构中(例如,访问控制架构、强制访问控制架构、任意(discretionary)选访问控制架构、基于点阵的访问控制架构等)被许可访问文件的用户和/或用户群组的指示。根据实施例,被许可访问的等级(例如,只读、读写、删除等)也可以在访问控制列表中进行指示。术语“计算机存储器”或“存储器”是计算机可读存储介质的示例。计算机存储器是可由处理器所访问的任意存储器。计算机存储器的示例包括但不限于:RAM存储器、寄存器和寄存器文件。在一些实例中,计算机存储器还可以包括:硬盘驱动器、软盘驱动器或固态硬盘驱动器。例如,部分存储器实际上可以是硬盘驱动器上的交换空间。对“计算机存储器”或“存储器”的引用应当被解释为可能包括多个存储器。存储器例如可以包括相同计算机系统内的多个存储器。存储器还可以包括分布在多个计算机系统或计算设备之间的多个存储器。如这里所使用的术语“处理器”涵盖了能够执行程序或机器可执行指令的电子组件。对包括“处理器”的计算设备的引用应当被解释为可能包含多于一个的处理器或处理核。处理器例如可以是多核处理器。处理器还可以指代单个计算机系统内或者在多个计算机系统之间分布的处理器集合。在一个方面,本发明涉及一种用于对虚拟桌面环境中的存储分配进行优化的方法,该虚拟桌面环境管理共享存储容量,其中该共享存储容量可操作用于存储一个或多个第一文件,每个所存储的第一文件与相应的唯一第一文件标识符相关联,该虚拟桌面环境为用户的处理设备提供至少一个虚拟桌面,该方法包括:-接收第一写请求,该第一写请求用于写该请求中所指定的第二文件;-确定所指定的第二文件的第二文件标识符;-将第二文件标识符与存储到共享存储容量的任意第一文件的第一文件标识符进行比较;-在第二文件标识符与第一文件标识符相同时,创建指向与该第一文件标识符相关联的所存储第一文件的指针;以及-在第二文件标识符与第一文件标识符中的任意一个第一文件标识符都不相同时,在共享存储容量中存储与第二文件标识符相关联的所指定的第二文件,其中第二文件标识符被存储作为另外的第一文件标识符,并且第二文件被存储作为另外的第一文件,并且创建指向所存储的另外的第一文件的指针。所述实施例可能是有利的,原因在于该方法防止了相同文件在共享存储容量中的存储,并且还允许不同用户访问相同的所存储文件。这不仅允许以积极主动的方式保存存储空间,而且还提高了存储性能。这与仅在文件已经在存储区域上重复时才起作用的存储后去重方法相反。根据另一个实施例,在虚拟桌面的本地文件系统中创建指针,其中优选地,本地文件系统存储在仅可由所述用户访问的用户私人存储区域中。根据另一个实施例,从至少一个虚拟桌面接收第一写请求,并且在所述虚拟桌面的本地文件系统中创建指针。根据另一个实施例,该方法进一步包括从至少一个虚拟桌面的用户接收至少一个虚拟桌面的本地文件系统内的路径指定的步骤。在所指定路径所指示的本地文件系统内的位置创建指针。根据实施例,用户可以经由例如文件选择器的GUI要素来指定路径,这允许用户在现有的本地文件系统目录树内进行导航。因此,与现有技术的一些状况相反,用户被允许在其自己的本地目录中指定文件路径而并不必记住并接受预定义的共享文件目录结构。此外,避免了在共享存储容量中存储文件的副本。所述实施例的可能有利之处在于虽然在实际上,本地文件系统将仅具有到存储在共享存储容量上的实际物理文件的链接,但请求在其虚拟桌面的具体文件夹中写文件的用户将看到该文件已经利用本地文件系统上所期望的特性(例如,文件名、文件夹位置等)而被创建。根据实施例,用户的本地文件系统存储在所述用户的用户私人存储介质中。用户私人存储也由虚拟桌面环境所管理。根据另一个实施例,第一和/或第二文件标识符是与标识符相关联的相应文件的文件循环冗余校验数、散列数、SHA-1或MD5。这可以具有的优势在于,提供一种计算唯一标识数的鲁棒方法,从而不同文件具有不同标识符。这允许检查请求进行存储的文件是否是共享存储容量上的一个之前存储过的文件。根据另一个实施例,该方法进一步包括:在共享存储容量中存储任意第一文件时以及存储第二文件时,将所述第一和/或第二文件与包括有权访问所存储的第一文件或第二文件的所有用户的用户ID的访问控制列表进行关联。除此之外或备选地,在共享存储容量中存储任意第一文件时以及存储第二文件时,方法包括将所存储文件与表示有权访问所存储的第一文件或第二文件的用户数量的参考计数进行关联。所述实施例可能是有利的,原因在于其确保了对所存储文件安全且受控的访问,因为它们通过仅允许其用户ID在访问控制列表中有所指示的用户进行访问而被保护。根据实施例,仅被允许访问所存储文件的用户的用户ID被包含在所述存储文件的文件访问列表中。另一个优势可以是有权访问所存储文件的用户数量简单地通过读取作为单个数字的参考计数而被获得。与例如通过对访问控制列表中所标识的用户数目进行计数而从所存储文件的访问控制列表读取并得出这样的数字相比,这是更快速的过程。根据另一个实施例,该方法进一步包括从用户接收删除请求。该删除请求指示一个第一文件。一旦已经接收到删除请求,已经提交了该删除请求的用户的用户ID就从删除请求中所指示的该文件的访问控制列表中被删除。根据另一个实施例,在这种情况下,除了去除用户ID之外还使得参考计数递减。这确保了访问控制列表和参考计数保持表示有权访问文件的用户的确切数量。根据另一个实施例,在这种情况下,存储在用户的虚拟桌面的本地文件系统中的该文件的指针也被删除。而且,如果参考计数等于零,则该文件从共享存储容量中被删除。根据另一个实施例,存储所指定第二文件的步骤进一步包括步骤:为所指定的第二文件创建访问控制列表和/或参考计数;并且将用户ID添加到访问控制列表和/或递增参考计数。根据另一个实施例,创建指针的步骤包括将用户ID添加到该指针所指的文件的访问控制列表和/或递增参考计数的步骤。根据另一个实施例,该方法进一步包括:接收写第二文件的第二写请求;创建到已经响应于第一写请求而存储的现有第一文件的第二指针,该第二指针被创建在已经提交了该第二写请求的用户的虚拟桌面的本地文件系统中。根据实施例,第一和第二写请求从相同用户接收并且参考计数保持不变。这所具有的优势在于例如通过在没有约束的情况下将相同文件存储在不同位置而为用户给予了在文件系统中对其自己的文件进行组织的灵活性。与此同时,所述特征允许仅在共享存储容量中保持文件的一个副本。根据实施例,在第一和第二写请求从不同用户接收的情况下,相应地对参考计数和文件访问列表进行更新。根据实施例,该方法进一步包括步骤:-从用户接收更新请求,该更新请求指示要由用户进行修改的第一文件中的一个第一文件;-将经修改的第一文件存储在共享存储容量中;-在用户的本地文件系统中创建指向经修改文件的指针。根据实施例,该方法进一步包括删除指向所存储的经修改的第一文件的指针。根据实施例,文件的修改通过创建所要修改的第一文件F的经修改本地副本F’,该本地副本被存储到用户的本地文件系统,并且执行如之前所描述的用于写经修改的本地副本F的写请求来执行。根据一个实施例,虚拟桌面由虚拟桌面环境作为虚拟机图像的实例所提供,并且虚拟桌面的图形用户界面在特定于用户的处理设备的屏幕上被显示给所述处理设备的用户。根据实施例,该处理设备可以是智能电话、上网本、工作站等。特别地,该处理设备可以是仅具有有限硬件资源的瘦客户端处理设备。根据另一个实施例,用户是分别具有所分配的特定于用户的处理设备的多个用户之一,并且其中虚拟桌面是多个虚拟桌面中的一个。多个虚拟桌面中的每一个由虚拟桌面环境提供给处理设备之一。托管该虚拟桌面环境的服务器经由网络连接到每个特定于用户的处理设备。如以上所描述的本发明实施例所执行的步骤由在服务器上运行的存储基础设施管理器所执行。在另外的方面,本发明涉及一种包括计算机可读指令的计算机可读的非瞬态存储介质,当由处理器所执行时,上述计算机可读指令使得处理器执行以上任一个实施例的方法步骤。在另一个方面,本发明涉及一种用于对虚拟桌面环境中的存储分配进行优化的计算机系统,该虚拟桌面环境对共享存储容量进行管理,其中该共享存储容量包括一个或多个之前所存储的文件,每个所存储文件与相应的唯一第一文件标识符相关联,该虚拟桌面环境为用户的处理设备提供至少一个虚拟桌面,该计算机系统包括:-共享存储容量;和-托管虚拟存储基础设施管理器的服务器处理设备,其中该虚拟基础存储设施管理器适于:.经由虚拟桌面环境接收第一写请求,该第一写请求用于写该请求中所指定的第二文件;.确定所指定的第二文件的第二文件标识符; 将第二文件标识符与存储到共享存储容量的任意第一文件的第一文件标识符进行比较;.在第二文件标识符与第一文件标识符相同时,创建指向与该第一文件标识符相关联的所存储第一文件的指针;以及.在第二文件标识符与任意一个第一文件标识符都不相同时,在共享存储容量中存储与第二文件标识符相关联的指定第二文件,其中第二文件标识符被存储作为另外的第一文件标识符,并且第二文件被存储作为另外的第一文件,并且创建指向所存储的另外的第一文件的指针。根据另一个实 施例,客户端处理设备经由网络连接到服务器处理设备。并且可操作以经由所述网络从虚拟桌面环境请求虚拟桌面。根据另一个实施例,客户端设备是分别分配给多个不同用户之一的多个客户端设备之一,每个客户端设备可操作以经由网络从虚拟桌面环境请求虚拟桌面。根据某些实施例,提供给每个客户端设备的虚拟桌面包括CTI要素,其分别表示在相应客户端设备的用户的写请求时已经创建的指针。所述GUI要素的例如颜色、图标类型等的可见属性与相应虚拟桌面环境所用于显示文件的GUI要素相同,因此为用户给予了利用实际文件而非链接进行工作的印象。如本领域技术人员将会意识到的,本发明的各方面可以被实现为系统、方法或计算机程序产品。因此,如果没有另外明确指出,本发明的各方面可以采用完全硬件的实施例、完全软件的实施例(包括固件、驻留软件、微代码等)或者将软件和硬件方面相结合的实施例的形式,上述软件和硬件方面在这里一般统称为“模块”或“系统”。可以采用一个或多个计算机可读介质的任意组合。


在下文中,将参考附图仅通过示例对本发明的优选实施例进行更为详细的描述,其中:图1图示了用于执行对虚拟桌面环境中的存储分配进行优化的方法的系统架构,图2是用于对虚拟桌面环境中的存储分配进行优化的方法的流程图,以及
图3是服务器处理设备和客户端处理设备的框图。
具体实施例方式在下文中,图中相同的附图标记表示类似部件或者表示执行等同功能的部件。如果功能等同,则之前所讨论过的部件将未必在随后的图中进行讨论。图1描绘了所提出的系统架构100,其可操作以执行对虚拟桌面环境中的存储分配进行优化的过程。如这里所描述的术语“虚拟桌面环境”意味着具有用于向终端用户提供桌面服务的分布式资源的系统。系统100提供了瘦客户端123,其经由虚拟存储基础设施管理器(VSM) 105以及诸如互联网之类的计算机网络103通信耦合到共享存储容量113。虚拟存储基础设施管理器105有权经由空间优化器109访问共享数据存储113。空间优化器109可以是远程服务器120上运行的虚拟存储设置管理器的整体部分或者可以与之操作地耦合。服务器120可以执行任意服务器功能并且例如可以包括数据服务器、应用服务器或web服务器。瘦客户端123例如可以是没有本地存储的联网桌面计算设备。其可以具有轻型的嵌入式操作系统或固件并且提供用户认证、网络/服务器访问、远程显示,并且支持包括键盘、鼠标、本地USB和打印能力的输入/输出。瘦客户端123通过其到服务器120的连接而运行虚拟桌面。该虚拟桌面可以向用户提供经由瘦客户端123的图形用户界面(GUI)IOl所显示的一个或多个视图。瘦客户端123充当用户和共享存储容量113之间的接口。瘦客户端123特定于用户,并且向所述用户显示表示本地文件系统的要素的CTI要素。用户的本地文件系统可由用户进行适配,因此允许用户确定属于该用户的文件的组织。本地文件系统包含用户私人存储316、317(参见图3),其中可以存储指向可由所述用户访问的文件的文件指针。应用编程接口(API)接口 107对来自虚拟桌面用户的请求进行处理,并且返回对那些请求的响应。该请求例如可以是CRUD(创建、读取、更新、删除)操作。这些请求被转发至空间优化器109。空间优化器109使能并管理诸如CRUD操作的请求,并且将用户请求翻译为对共享存储容量113的请求以获取并存储信息。API接口 107处于VSIM的控制之下并且将图3中所描绘的虚拟桌面310隔离开来以免直接与共享存储容量113进行交互。共享存储容量113操作地耦合到服务器120。例如,共享存储容量可以是服务器的一部分或者可由服务器经由网络进行访问。共享存储容量113可以由一个或多个互连的用于存储数据文件的存储设备所构成,诸如RAID。系统100提供关于所存储文件117的信息。该信息例如包括访问控制列表、文件标识符、描述有权访问文件的用户数量的参考计数等。该信息被存储在元数据存储库111中。元数据存储库111操作耦合地至空间优化器109以便交换该信息。图2是用于对虚拟桌面环境中的存储分配进行优化的方法的流程图。在步骤201,VSIM 105的API 107接收在共享存储容量113中写具体文件的请求。该请求例如由在一个用户私人存储中保存他/她的电子邮件中所附具体文件的用户所触发。用户私人存储包括虚拟桌面的本地文件系统。该虚拟桌面被提供给瘦客户端123。API将该请求转发至空间优化器109。空间优化器109在步骤203计算指定文件的第二标识符。该第二标识符例如可以包括但不限于文件循环冗余校验数、散列数、SHA-1或MD5。在步骤205,空间优化器109将被请求的所指定文件的第二标识符与之前存储在共享存储容量113中的文件的第一标识符进行比较。空间优化器109从元数据存储库111获取所存储文件的标识符。在第二标识符与第一标识符之一相同的情况下,空间优化器首先将用户ID添加到访问控制列表和/或增加与具有与第二标识符相同的第一标识符的所存储文件相关联的参考计数。访问控制列表和参考计数随后被存储在元数据存储库111中。接下来,空间优化器109创建到与第一标识符相关联的现有所存储文件的指针。在步骤209,在包括用户所请求的虚拟桌面的本地文件系统的用户私人存储中创建指针。用户私人存储可以是逻辑卷或物理存储卷。当指定文件第二次被相同用户所请求以便在虚拟桌面的文件系统的相同目录树内的第二位置中写所述文件时,创建指向所述用户的用户私人存储中的现有第一文件的第二指针。在这种情况下,参考计数保持不变。在从第二用户接收到第二写请求的情况下,其它用户请求对已经由第一用户所存储的文件进行写,在所述第二用户的用户私人存储的本地文件目录中创建指向共享存储容量113中的现有文件的指针。例如,第二用户可以使用第二瘦客户端。第二瘦客户端操作第二虚拟桌面,该第二虚拟桌面显示所述第二用户所定义的本地文件目录树的要素的图形参考。在这种情况下,参考计数被更新。在第二文件标识符与任何一个第一文件标识符都不相同的情况下,空间优化器109将首先为所指定文件创建访问控制列表和/或参考计数,并且将用户ID添加到访问控制列表和/或递增参考计数。访问控制列表和参考计数随后被存储在元数据存储库111中。接下来,在步骤207中,空间优化器109将与第二文件标识符相关联的所指定文件存储在共享存储容量113中,并且创建在包括用户所选择的虚拟桌面的本地文件系统的用户私人存储中创建指向所指定文件的新的指针。第二标识符随后被存储为另外的第一标识符。存在另一种使用情形,其中用户请求删除在共享存储容量中之前所存储的一个文件。在这种情况下,该用户的用户ID从该文件的访问控制列表中去除,并且该文件的参考计数被递减。图3描绘了包括如下服务器处理设备120的虚拟桌面环境,该服务器处理设备120经由例如互联网或内联网的网络103连接到例如瘦客户端123.1的客户端处理设备。瘦客户端包括处理器304和工作存储器303。工作存储器包括已经由服务器120所操作的虚拟存储基础设施管理器105经由网络103提供的虚拟桌面310的用户数据和程序指令。虚拟桌面310是虚拟机图像301的实例,并且可以提供在瘦客户端123.1的屏幕上显示给瘦客户端的用户320的图形用户界面302。显示给用户320的图形用户界面可以包括表示存储介质311中所存储的文件指针的图形用户界面要素(GUI要素)。存储介质311操作耦合至服务器120,并且可以包括共享存储容量113以及一个或多个用户私人存储(UPS) 316、317。共享存储容量113可以包括一个或多个文件313、308、321。所述文件中的每一个都可以被分配以被许可访问该文件的一个或多个用户的标识符。任意用户私人存储的数据内容包括仅能够由对其分配以所述用户私人存储的一个特定用户所访问的数据,特别是文件指针。例如,UPS 316可以被分配给用户320。用户320可以创建并修改目录树,并且可以请求将文件写入所述文件树的特定位置,由此到该位置的路径被用户320经由⑶I 302所指定。GUI 302可以向用户呈现以目录树的要素的图形表示形式,特别是指向并表示存储到共享存储容量113的文件的文件指针314。例如,经由⑶I 302显示给用户320的图标可以表示文件指针314。所述图标可能无法与实际文件的图标区分开来。因此,虽然用户320实际上仅是访问了存储到他/她的用户私人存储316的文件指针316,但是所述用户320具有访问存储到其本地文件目录树的实际文件的印象,由此指针指向共享存储容量113上的文件313。用户私人存储317可以被分配给不同用户。UPS 317还包括指向文件313的指针315。文件313可以具有所分配的访问列表,其包括分配至UPS 316和UPS 317的用户的用户ID。
权利要求
1.一种用于对虚拟桌面环境中的存储分配进行优化的方法,所述虚拟桌面环境(322)管理共享存储容量(113),其中该共享存储容量(113)可操作用于存储一个或多个第一文件(117,313,314,321),每个所存储的第一文件(117,313,314,321)与相应的唯一第一文件标识符相关联,所述虚拟桌面环境为用户(320)的处理设备(123)提供至少一个虚拟桌面(310),所述方法包括: -接收(201)第一写请求,所述第一写请求用于写所述请求中所指定的第二文件; -确定(203)所指定的第二文件的第二文件标识符; -将所述第二文件标识符与存储到所述共享存储容量的任意第一文件的所述第一文件标识符进行比较(205); -在所述第二文件标识符与所述第一文件标识符之一相同时,创建(209)指向与该第一文件标识符相关联的所存储的第一文件的指针(314,315);以及 -在所述第二文件标识符与所述第一文件标识符中的任意一个第一文件标识符都不相同时,在所述共享存储容量(113)中存储(207)与所述第二文件标识符相关联的所指定的第二文件,其中所述第二文件标识符被存储作为另外的第一文件标识符,并且所述第二文件被存储作为另外的第一文件,并且创建指向所存储的另外的第一文件的指针(314,315)。
2.根据权利要求1的方法,其中从所述至少一个虚拟桌面(310)接收第一写请求,并且其中在所述至少一个虚拟桌面(310)的本地文件系统中创建所述指针。
3.根据权利要求2的方法,进一步包括: -从所述至少一个虚拟桌面的所述用户接收所述至少一个虚拟桌面(310)的所述本地文件系统内的路径指定 ,其中在所指定路径所指示的所述本地文件系统内的位置中创建所述指针。
4.根据权利要求1-3中任一项的方法,其中所述第一文件标识符和/或所述第二文件标识符是与所述标识符相关联的相应文件的文件循环冗余校验数、散列数、SHA-1或MD5。
5.根据权利要求1-4中任一项的方法,进一步包括: -在所述共享存储容量(113)中存储所述第一文件的任意第一文件时以及在存储所述第二文件时,将所述第一文件和/或所述第二文件与包括有权访问所存储的第一文件或第二文件的所有用户的用户ID的访问控制列表进行关联,和/或 -在所述共享存储容量(113)中存储所述第一文件的任意第一文件时以及在存储所述第二文件时,将所述第一文件或所述第二文件与表示有权访问所存储的第一文件或第二文件的用户数量的参考计数进行关联。
6.根据权利要求1-5中任一项的方法,进一步包括: -从所述用户接收删除请求,所述删除请求指示所述第一文件中的一个第一文件; -从所述删除请求中所指示的该文件的所述访问控制列表中去除该用户的用户ID。
7.根据权利要求5-6中任一项的方法,其中创建所述指针的步骤进一步包括将所述用户ID添加到所述访问控制列表和/或递增所述参考计数的步骤。
8.根据权利要求5-6中任一项的方法,其中所述存储所指定第二文件的步骤包括步骤: -为所指定的第二文件创建所述访问控制列表和/或所述参考计数;以及 -将所述用户ID添加到所述访问控制列表和/或递增所述参考计数。
9.根据权利要求1-8中任一项的方法,进一步包括: -接收写所述第二文件的第二写请求; -创建指向已经响应于第一写请求而被存储的现有第一文件的第二指针,所述第二指针被创建在所述虚拟桌面(310)的所述本地文件系统中。
10.根据权利要求9的方法,其中在从相同用户接收所述第一写请求和第二写请求的情况下,所述参考计数保持不变。
11.根据权利要求1-9中任一项的方法,其中所述虚拟桌面(310)由所述虚拟桌面环境提供作为虚拟机图像(301)的实例,所述虚拟桌面包括经由所述用户的所述处理设备的屏幕而向所述用户显示的图形界面。
12.根据前述任一项权利要求的方法,其中所述用户是分别具有所分配的特定于用户的处理设备(213.1,123.2、123.3)的多个用户中的一个用户,其中所述虚拟桌面是多个虚拟桌面中的一个,其中多个虚拟桌面中的每个虚拟桌面由所述虚拟桌面环境提供给所述处理设备中的一个处理设备,其中托管所述虚拟桌面环境(322)的服务器(120)经由网络连接到每个所述特定于用户的处理设备,并且其中根据权利要求1的方法的步骤由在服务器(120)上运行的存储基础设施管理器(105)所执行。
13.一种用于对在虚拟桌面环境中的存储分配进行优化的系统,包括用于执行根据权利要求I至12中任一项的方法的步骤的装置。
14.一种用于对虚拟桌面环境中的存储分配进行优化的系统,所述虚拟桌面环境(322)管理共享存储容量(113),其中所述共享存储容量(113)可操作用于存储一个或多个第一文件(117,313,308,321),每个所存储的第一文件(117)与相应的唯一第一文件标识符相关联,所述虚拟桌面环境为用户(320)的处理设备(123)提供至少一个虚拟桌面(310),所述计算机系统 包括: -所述共享存储容量(113);以及 -托管虚拟存储基础设施管理器(105)的服务器处理设备(120),其中所述虚拟存储基础设施管理器(105)适于: 接收(201)第一写请求,所述第一写请求用于写所述请求中所指定的第二文件; 确定(203)所指定的文件的第二文件标识符; 将所述第二文件标识符与存储到所述共享存储容量的任意第一文件的所述第一文件标识符进行比较(205); 在所述第二文件标识符与所述第一文件标识符之一相同时,创建(209)指向与该第一文件标识符相关联的所存储第一文件的指针;以及 在所述第二文件标识符与所述第一文件标识符的任意一个第一文件标识符都不相同时,在所述共享存储容量中存储(207)与所述第二文件标识符相关联的所指定的第二文件,其中所述第二文件标识符被存储作为另外的第一文件标识符,并且所述第二文件被存储作为另外的第一文件,并且创建指向所述另外的第一文件的指针。
15.根据权利要求14的计算机系统,其中所述客户端处理设备可操作用于从所述虚拟桌面环境(322)请求分配给所述用户的所述虚拟桌面(310),其中所述客户端处理设备经由网络连接到所述服务器处理设备。
全文摘要
用于对虚拟桌面环境中的存储分配进行优化的方法和系统,向用户的处理设备提供至少一个虚拟桌面的该虚拟桌面环境管理包括一个或多个之前存储的文件的共享存储容量。每个文件与相应唯一的第一文件标识符相关联。在接收到写请求中所指定的第二文件的第一写请求时,包括步骤确定所指定的第二文件的第二文件标识符;将第二文件标识符与存储到共享存储容量的任意第一文件的第一文件标识符进行比较;如果第二文件标识符与第一文件标识符之一相同,创建指向与该第一文件标识符相关联的所存储第一文件的指针;如果第二文件标识符与第一文件标识符的任意一个第一文件标识符都不相同,在共享存储容量中存储与第二文件标识符相关联的所指定的第二文件。
文档编号G06F17/30GK103198090SQ201210483039
公开日2013年7月10日 申请日期2012年11月23日 优先权日2011年12月13日
发明者R·塞伦, C·达莫尔, P·伊安努希, L·皮彻蒂 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1