[go: up one dir, main page]

CN103198090A - 用于优化虚拟桌面环境中的存储分配的方法和系统 - Google Patents

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

Info

Publication number
CN103198090A
CN103198090A CN2012104830394A CN201210483039A CN103198090A CN 103198090 A CN103198090 A CN 103198090A CN 2012104830394 A CN2012104830394 A CN 2012104830394A CN 201210483039 A CN201210483039 A CN 201210483039A CN 103198090 A CN103198090 A CN 103198090A
Authority
CN
China
Prior art keywords
file
virtual desktop
user
identifier
file identifier
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.)
Granted
Application number
CN2012104830394A
Other languages
English (en)
Other versions
CN103198090B (zh
Inventor
R·塞伦
C·达莫尔
P·伊安努希
L·皮彻蒂
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN103198090A publication Critical patent/CN103198090A/zh
Application granted granted Critical
Publication of CN103198090B publication Critical patent/CN103198090B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06F16/174Redundancy elimination performed by the file system
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45583Memory management, e.g. access or allocation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

用于对虚拟桌面环境中的存储分配进行优化的方法和系统,向用户的处理设备提供至少一个虚拟桌面的该虚拟桌面环境管理包括一个或多个之前存储的文件的共享存储容量。每个文件与相应唯一的第一文件标识符相关联。在接收到写请求中所指定的第二文件的第一写请求时,包括步骤:确定所指定的第二文件的第二文件标识符;将第二文件标识符与存储到共享存储容量的任意第一文件的第一文件标识符进行比较;如果第二文件标识符与第一文件标识符之一相同,创建指向与该第一文件标识符相关联的所存储第一文件的指针;如果第二文件标识符与第一文件标识符的任意一个第一文件标识符都不相同,在共享存储容量中存储与第二文件标识符相关联的所指定的第二文件。

Description

用于优化虚拟桌面环境中的存储分配的方法和系统
技术领域
本发明涉及虚拟环境系统,并且更具体地涉及一种用于优化虚拟桌面环境中的存储分配的方法。
背景技术
计算机虚拟化对于不同规模的公司而言都成为了更为重要的技术之一。其提高了计算硬件平台的计算效率和灵活性。特别地,在虚拟桌面环境中使用存储虚拟化在这些公司中的商业计算中也成为了关键部分。
在虚拟桌面环境中,为每个桌面所指定的本地文件系统是从物理存储池中所取得的一块专用虚拟存储。用户每次向其文件系统保存文件时,该文件的副本就被存储在该桌面的专用物理存储块上。在属于相同商业背景的若干虚拟桌面用户向其文件系统保存相同文件的情况下,结果是该同一文件的若干副本可能被存储在共用物理存储上。这种冗余导致了不必要的额外存储的使用,由此必须获得比实际需要更大的存储卷。
另一个与其它现有技术系统的使用相关的问题在于用户必须使用预定义或共享的目录树结构并且无法在用户指定的位置中存储其文件。所述系统的用户也无法修改共享存储卷的目录结构,因为这会使得其他用户感到混乱、认为其文件仍然可经由原始文件路径获得。
发明内容
本发明实施例的目标是提供一种改进的计算机实现的方法、数据处理系统以及相对应的计算机可读存储介质。所述目标通过独立权利要求的主题而得以实现。有利实施例在从属权利要求中进行描述。
如这里所使用的术语“虚拟桌面”是在物理上位于虚拟桌面环境所管理的数据存储中的虚拟机。实际上,虚拟桌面可以由在服务器而不是客户端的本地存储上运行的虚拟桌面环境来提供。因此,根据实施例,当用户从其本地客户端机器进行工作时,所使用的所有程序、应用、过程和数据都保持在服务器上并且集中运行。桌面虚拟化允许用户从智能电话以及其它形式的具有有限硬件资源的瘦客尸端运行操作系统和应用。根据一些其它应用,虚拟桌面可以被临时加载到客户端设备的工作存储器中,而数据的任意修改则仅存留在服务器所管理的存储卷中。
如这里所使用的术语“计算机可读存储介质”涵盖了可以存储可由计算设备的处理器执行的指令的任意有形存储介质。计算机可读存储介质可以被称作计算机可读非瞬态存储介质。计算机可读存储介质还可以被称作有形计算机可读介质。在一些实施例中,计算机可读存储介质还能够存储能够由计算设备的处理器所访问的数据。计算机可读存储媒体的示例包括但不限于:软盘、打孔带、打孔卡、磁性硬盘驱动器、固态硬盘、闪存、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的写请求来执行。
根据一个实施例,虚拟桌面由虚拟桌面环境作为虚拟机图像的实例所提供,并且虚拟桌面的图形用户界面在特定于用户的处理设备的屏幕上被显示给所述处理设备的用户。根据实施例,该处理设备可以是智能电话、上网本、工作站等。特别地,该处理设备可以是仅具有有限硬件资源的瘦客户端处理设备。
根据另一个实施例,用户是分别具有所分配的特定于用户的处理设备的多个用户之一,并且其中虚拟桌面是多个虚拟桌面中的一个。多个虚拟桌面中的每一个由虚拟桌面环境提供给处理设备之一。托管该虚拟桌面环境的服务器经由网络连接到每个特定于用户的处理设备。如以上所描述的本发明实施例所执行的步骤由在服务器上运行的存储基础设施管理器所执行。
在另外的方面,本发明涉及一种包括计算机可读指令的计算机可读的非瞬态存储介质,当由处理器所执行时,上述计算机可读指令使得处理器执行以上任一个实施例的方法步骤。
在另一个方面,本发明涉及一种用于对虚拟桌面环境中的存储分配进行优化的计算机系统,该虚拟桌面环境对共享存储容量进行管理,其中该共享存储容量包括一个或多个之前所存储的文件,每个所存储文件与相应的唯一第一文件标识符相关联,该虚拟桌面环境为用户的处理设备提供至少一个虚拟桌面,该计算机系统包括:
-共享存储容量;和
-托管虚拟存储基础设施管理器的服务器处理设备,其中该虚拟基础存储设施管理器适于:
·经由虚拟桌面环境接收第一写请求,该第一写请求用于写该请求中所指定的第二文件;
·确定所指定的第二文件的第二文件标识符;
·将第二文件标识符与存储到共享存储容量的任意第一文件的第一文件标识符进行比较;
·在第二文件标识符与第一文件标识符相同时,创建指向与该第一文件标识符相关联的所存储第一文件的指针;以及
·在第二文件标识符与任意一个第一文件标识符都不相同时,在共享存储容量中存储与第二文件标识符相关联的指定第二文件,其中第二文件标识符被存储作为另外的第一文件标识符,并且第二文件被存储作为另外的第一文件,并且创建指向所存储的另外的第一文件的指针。
根据另一个实施例,客户端处理设备经由网络连接到服务器处理设备。并且可操作以经由所述网络从虚拟桌面环境请求虚拟桌面。
根据另一个实施例,客户端设备是分别分配给多个不同用户之一的多个客户端设备之一,每个客户端设备可操作以经由网络从虚拟桌面环境请求虚拟桌面。
根据某些实施例,提供给每个客户端设备的虚拟桌面包括GUI要素,其分别表示在相应客户端设备的用户的写请求时已经创建的指针。所述GUI要素的例如颜色、图标类型等的可见属性与相应虚拟桌面环境所用于显示文件的GUI要素相同,因此为用户给予了利用实际文件而非链接进行工作的印象。
如本领域技术人员将会意识到的,本发明的各方面可以被实现为系统、方法或计算机程序产品。因此,如果没有另外明确指出,本发明的各方面可以采用完全硬件的实施例、完全软件的实施例(包括固件、驻留软件、微代码等)或者将软件和硬件方面相结合的实施例的形式,上述软件和硬件方面在这里一般统称为“模块”或“系统”。可以采用一个或多个计算机可读介质的任意组合。
附图说明
在下文中,将参考附图仅通过示例对本发明的优选实施例进行更为详细的描述,其中:
图1图示了用于执行对虚拟桌面环境中的存储分配进行优化的方法的系统架构,
图2是用于对虚拟桌面环境中的存储分配进行优化的方法的流程图,以及
图3是服务器处理设备和客户端处理设备的框图。
具体实施方式
在下文中,图中相同的附图标记表示类似部件或者表示执行等同功能的部件。如果功能等同,则之前所讨论过的部件将未必在随后的图中进行讨论。
图1描绘了所提出的系统架构100,其可操作以执行对虚拟桌面环境中的存储分配进行优化的过程。如这里所描述的术语“虚拟桌面环境”意味着具有用于向终端用户提供桌面服务的分布式资源的系统。
系统100提供了瘦客户端123,其经由虚拟存储基础设施管理器(VSIM)105以及诸如互联网之类的计算机网络103通信耦合到共享存储容量113。虚拟存储基础设施管理器105有权经由空间优化器109访问共享数据存储113。空间优化器109可以是远程服务器120上运行的虚拟存储设置管理器的整体部分或者可以与之操作地耦合。服务器120可以执行任意服务器功能并且例如可以包括数据服务器、应用服务器或web服务器。
瘦客户端123例如可以是没有本地存储的联网桌面计算设备。其可以具有轻型的嵌入式操作系统或固件并且提供用户认证、网络/服务器访问、远程显示,并且支持包括键盘、鼠标、本地USB和打印能力的输入/输出。瘦客户端123通过其到服务器120的连接而运行虚拟桌面。该虚拟桌面可以向用户提供经由瘦客户端123的图形用户界面(GUI)101所显示的一个或多个视图。瘦客户端123充当用户和共享存储容量113之间的接口。瘦客户端123特定于用户,并且向所述用户显示表示本地文件系统的要素的GUI要素。用户的本地文件系统可由用户进行适配,因此允许用户确定属于该用户的文件的组织。本地文件系统包含用户私人存储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经由GUI 302所指定。
GUI 302可以向用户呈现以目录树的要素的图形表示形式,特别是指向并表示存储到共享存储容量113的文件的文件指针314。例如,经由GUI 302显示给用户320的图标可以表示文件指针314。所述图标可能无法与实际文件的图标区分开来。因此,虽然用户320实际上仅是访问了存储到他/她的用户私人存储316的文件指针316,但是所述用户320具有访问存储到其本地文件目录树的实际文件的印象,由此指针指向共享存储容量113上的文件313。
用户私人存储317可以被分配给不同用户。UPS 317还包括指向文件313的指针315。文件313可以具有所分配的访问列表,其包括分配至UPS 316和UPS 317的用户的用户ID。

Claims (15)

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.一种用于对在虚拟桌面环境中的存储分配进行优化的系统,包括用于执行根据权利要求1至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),其中所述客户端处理设备经由网络连接到所述服务器处理设备。
CN201210483039.4A 2011-12-13 2012-11-23 用于优化虚拟桌面环境中的存储分配的方法和系统 Expired - Fee Related CN103198090B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP11193141 2011-12-13
EP11193141.6 2011-12-13

Publications (2)

Publication Number Publication Date
CN103198090A true CN103198090A (zh) 2013-07-10
CN103198090B CN103198090B (zh) 2016-12-21

Family

ID=48464944

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210483039.4A Expired - Fee Related CN103198090B (zh) 2011-12-13 2012-11-23 用于优化虚拟桌面环境中的存储分配的方法和系统

Country Status (4)

Country Link
US (1) US9235589B2 (zh)
CN (1) CN103198090B (zh)
DE (1) DE102012221813B4 (zh)
GB (1) GB2498626B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106502927A (zh) * 2016-10-26 2017-03-15 北京德普信科技有限公司 终端可信计算及数据静态安全系统及方法
CN106796542A (zh) * 2014-08-13 2017-05-31 Netapp股份有限公司 合并存储操作
CN111290817A (zh) * 2020-01-21 2020-06-16 李岗 桌面系统的数据装载方法及系统
CN111527487A (zh) * 2017-12-28 2020-08-11 卓普网盘股份有限公司 用于内容项同步的唯一标识符的指配和再分配
CN116010035A (zh) * 2019-06-28 2023-04-25 亚马逊技术股份有限公司 云提供者底层扩展部分中的虚拟化的块存储服务器

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150331916A1 (en) * 2013-02-06 2015-11-19 Hitachi, Ltd. Computer, data access management method and recording medium
US10542049B2 (en) 2014-05-09 2020-01-21 Nutanix, Inc. Mechanism for providing external access to a secured networked virtualization environment
US9823842B2 (en) 2014-05-12 2017-11-21 The Research Foundation For The State University Of New York Gang migration of virtual machines using cluster-wide deduplication
CN105279258B (zh) * 2015-10-21 2020-01-14 Tcl集团股份有限公司 一种均衡分布的文件存储方法及系统
JP6609471B2 (ja) * 2015-12-25 2019-11-20 Dynabook株式会社 電子機器、方法及びプログラム
US10540165B2 (en) 2016-02-12 2020-01-21 Nutanix, Inc. Virtualized file server rolling upgrade
US11218418B2 (en) 2016-05-20 2022-01-04 Nutanix, Inc. Scalable leadership election in a multi-processing computing environment
KR102569734B1 (ko) * 2016-10-05 2023-08-25 삼성전자주식회사 전자장치 및 그 제어방법
US11562034B2 (en) 2016-12-02 2023-01-24 Nutanix, Inc. Transparent referrals for distributed file servers
US10824455B2 (en) 2016-12-02 2020-11-03 Nutanix, Inc. Virtualized server systems and methods including load balancing for virtualized file servers
US11568073B2 (en) * 2016-12-02 2023-01-31 Nutanix, Inc. Handling permissions for virtualized file servers
US11294777B2 (en) 2016-12-05 2022-04-05 Nutanix, Inc. Disaster recovery for distributed file servers, including metadata fixers
US11281484B2 (en) 2016-12-06 2022-03-22 Nutanix, Inc. Virtualized server systems and methods including scaling of file system virtual machines
US11288239B2 (en) 2016-12-06 2022-03-29 Nutanix, Inc. Cloning virtualized file servers
US20180293392A1 (en) * 2017-04-05 2018-10-11 Iswind Digital Engineering Inc. Method and system for selecting a communication interface
US11086826B2 (en) 2018-04-30 2021-08-10 Nutanix, Inc. Virtualized server systems and methods including domain joining techniques
US11194680B2 (en) 2018-07-20 2021-12-07 Nutanix, Inc. Two node clusters recovery on a failure
US11770447B2 (en) 2018-10-31 2023-09-26 Nutanix, Inc. Managing high-availability file servers
CN109582642A (zh) * 2018-11-08 2019-04-05 网宿科技股份有限公司 文件存储方法、删除方法、服务器及存储介质
US11768809B2 (en) 2020-05-08 2023-09-26 Nutanix, Inc. Managing incremental snapshots for fast leader node bring-up
US12248435B2 (en) 2021-03-31 2025-03-11 Nutanix, Inc. File analytics systems and methods
US12131192B2 (en) 2021-03-18 2024-10-29 Nutanix, Inc. Scope-based distributed lock infrastructure for virtualized file server
US12197398B2 (en) 2021-03-31 2025-01-14 Nutanix, Inc. Virtualized file servers and methods to persistently store file system event data
US12248434B2 (en) 2021-03-31 2025-03-11 Nutanix, Inc. File analytics systems including examples providing metrics adjusted for application operation
US12242455B2 (en) 2021-03-31 2025-03-04 Nutanix, Inc. File analytics systems and methods including receiving and processing file system event data in order
US12367108B2 (en) 2021-03-31 2025-07-22 Nutanix, Inc. File analytics systems and methods including retrieving metadata from file system snapshots
US20230066137A1 (en) 2021-08-19 2023-03-02 Nutanix, Inc. User interfaces for disaster recovery of distributed file servers
US12117972B2 (en) 2021-08-19 2024-10-15 Nutanix, Inc. File server managers and systems for managing virtualized file servers
US12153690B2 (en) 2022-01-24 2024-11-26 Nutanix, Inc. Consistent access control lists across file servers for local users in a distributed file server environment
US12182264B2 (en) 2022-03-11 2024-12-31 Nutanix, Inc. Malicious activity detection, validation, and remediation in virtualized file servers
US12189499B2 (en) 2022-07-29 2025-01-07 Nutanix, Inc. Self-service restore (SSR) snapshot replication with share-level file system disaster recovery on virtualized file servers

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101495970A (zh) * 2005-06-24 2009-07-29 信科索尔特公司 用于高性能企业数据保护的系统和方法
CN101809559A (zh) * 2007-09-05 2010-08-18 伊姆西公司 在虚拟化服务器和虚拟化存储环境中的去重复
US7783665B1 (en) * 2002-03-27 2010-08-24 Parallels Holdings, Ltd. Effective file-sharing among virtual environments
US20100257523A1 (en) * 2009-04-06 2010-10-07 Shahar Frank Managing virtual machine images

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5813008A (en) 1996-07-12 1998-09-22 Microsoft Corporation Single instance storage of information
US6810398B2 (en) 2000-11-06 2004-10-26 Avamar Technologies, Inc. System and method for unorchestrated determination of data sequences using sticky byte factoring to determine breakpoints in digital sequences
US7584228B1 (en) 2001-07-18 2009-09-01 Swsoft Holdings, Ltd. System and method for duplication of virtual private server files
US7024427B2 (en) 2001-12-19 2006-04-04 Emc Corporation Virtual file system
US7293154B1 (en) 2004-11-18 2007-11-06 Symantec Operating Corporation System and method for optimizing storage operations by operating only on mapped blocks
US8209506B2 (en) 2007-09-05 2012-06-26 Emc Corporation De-duplication in a virtualized storage environment
US20090204650A1 (en) 2007-11-15 2009-08-13 Attune Systems, Inc. File Deduplication using Copy-on-Write Storage Tiers
WO2010045262A1 (en) 2008-10-14 2010-04-22 Wanova Technologies, Ltd. Storage-network de-duplication
US9087066B2 (en) 2009-04-24 2015-07-21 Swish Data Corporation Virtual disk from network shares and file servers
US9032181B2 (en) 2009-05-19 2015-05-12 Vmware, Inc. Shortcut input/output in virtual machine systems
US8516597B1 (en) * 2010-12-02 2013-08-20 Symantec Corporation Method to calculate a risk score of a folder that has been scanned for confidential information
US8732401B2 (en) * 2011-07-07 2014-05-20 Atlantis Computing, Inc. Method and apparatus for cache replacement using a catalog

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7783665B1 (en) * 2002-03-27 2010-08-24 Parallels Holdings, Ltd. Effective file-sharing among virtual environments
CN101495970A (zh) * 2005-06-24 2009-07-29 信科索尔特公司 用于高性能企业数据保护的系统和方法
CN101809559A (zh) * 2007-09-05 2010-08-18 伊姆西公司 在虚拟化服务器和虚拟化存储环境中的去重复
US20100257523A1 (en) * 2009-04-06 2010-10-07 Shahar Frank Managing virtual machine images

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
李鹤等: "面向多虚拟机的分布式存储系统", 《计算机科学与探索》 *
王峰等: "虚拟桌面及关键技术分析", 《电信技术》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106796542A (zh) * 2014-08-13 2017-05-31 Netapp股份有限公司 合并存储操作
CN106502927A (zh) * 2016-10-26 2017-03-15 北京德普信科技有限公司 终端可信计算及数据静态安全系统及方法
CN106502927B (zh) * 2016-10-26 2019-08-13 北京德普信科技有限公司 终端可信计算及数据静态安全系统及方法
CN111527487A (zh) * 2017-12-28 2020-08-11 卓普网盘股份有限公司 用于内容项同步的唯一标识符的指配和再分配
CN116010035A (zh) * 2019-06-28 2023-04-25 亚马逊技术股份有限公司 云提供者底层扩展部分中的虚拟化的块存储服务器
CN116010035B (zh) * 2019-06-28 2024-06-25 亚马逊技术股份有限公司 云提供者底层扩展部分中的虚拟化的块存储服务器
CN111290817A (zh) * 2020-01-21 2020-06-16 李岗 桌面系统的数据装载方法及系统
CN111290817B (zh) * 2020-01-21 2024-05-14 李岗 桌面系统的数据装载方法及系统

Also Published As

Publication number Publication date
DE102012221813A1 (de) 2013-06-13
GB2498626B (en) 2015-02-18
CN103198090B (zh) 2016-12-21
US20130152085A1 (en) 2013-06-13
US9235589B2 (en) 2016-01-12
GB2498626A (en) 2013-07-24
DE102012221813B4 (de) 2025-02-27

Similar Documents

Publication Publication Date Title
CN103198090A (zh) 用于优化虚拟桌面环境中的存储分配的方法和系统
CN108351765B (zh) 用于生成应用的方法、系统和计算机存储介质
US10291704B2 (en) Networked solutions integration using a cloud business object broker
US10764299B2 (en) Access control manager
US9372880B2 (en) Reclamation of empty pages in database tables
CN104321746A (zh) 应用文件的分发
KR20130093806A (ko) 클라우드 컴퓨팅 환경에서의 개인 정보 유출 알림 시스템 및 방법
CN102426523A (zh) 多维对象
US11676088B2 (en) Systems and methods for distributed risk analysis
US20200278975A1 (en) Searching data on a synchronization data stream
CN109472540B (zh) 业务处理方法和装置
CN102804137B (zh) 控制对软件构件状态的访问
CN108255989A (zh) 图片存储方法、装置、终端设备及计算机存储介质
CN107911443A (zh) 一种会话信息处理方法、装置、服务器和可读存储介质
US20170132222A1 (en) Document link migration
US20240362230A1 (en) Data Certification Process for Updates to Data in Cloud Database Platform
US9298487B2 (en) Managing virtual machine images in a distributed computing environment
US20240232421A1 (en) Data Certification Process for Cloud Database Platform
US11451627B2 (en) System and method for content management with intelligent data store access across distributed stores
US20240070319A1 (en) Dynamically updating classifier priority of a classifier model in digital data discovery
CN101539926B (zh) 相关文档呈现系统和相关文档呈现方法
CN115756840B (zh) 硬件资源调度方法、系统、计算机设备和存储介质
US20200073990A1 (en) Systems and methods for integrated dynamic runtime etl tool and scalable analytics server platform
US11392587B1 (en) Rule generation and data certification onboarding process for cloud database platform
CN112559460A (zh) 基于人工智能的文件存储方法、装置、设备及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20161221