CN102467408A - 一种虚拟机数据的访问方法和设备 - Google Patents
一种虚拟机数据的访问方法和设备 Download PDFInfo
- Publication number
- CN102467408A CN102467408A CN2010105429161A CN201010542916A CN102467408A CN 102467408 A CN102467408 A CN 102467408A CN 2010105429161 A CN2010105429161 A CN 2010105429161A CN 201010542916 A CN201010542916 A CN 201010542916A CN 102467408 A CN102467408 A CN 102467408A
- Authority
- CN
- China
- Prior art keywords
- data
- virtual
- request
- access request
- physical
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0811—Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0813—Multiuser, multiprocessor or multiprocessing cache systems with a network or matrix configuration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0868—Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0873—Mapping of cache memory to specific storage devices or parts thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
- G06F12/0897—Caches characterised by their organisation or structure with two or more cache hierarchy levels
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45583—Memory management, e.g. access or allocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1008—Correctness of operation, e.g. memory ordering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/15—Use in a specific computing environment
- G06F2212/152—Virtualized environment, e.g. logically partitioned system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/15—Use in a specific computing environment
- G06F2212/154—Networked environment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/28—Using a specific disk cache architecture
- G06F2212/281—Single cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/28—Using a specific disk cache architecture
- G06F2212/283—Plural cache memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/31—Providing disk cache in a specific location of a storage system
- G06F2212/313—In storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
- G06F2212/608—Details relating to cache mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/62—Details of cache specific to multiprocessor cache arrangements
Abstract
本申请实施例公开了一种虚拟机数据的访问设备和方法。其中,设备包括:访问请求处理模块、数据转发代理模块和虚拟磁盘,访问请求处理模块,用于接收虚拟机发送的数据访问请求,将所述数据访问请求加入到请求队列中,其中,请求队列中的数据访问请求与虚拟磁盘的虚拟存储空间之间映射,所述虚拟存储空间与分布式存储系统的物理存储空间之间映射;数据转发代理模块,用于从请求队列中获取数据访问请求,将获取的数据访问请求映射为对应的虚拟存储空间,再将映射得到的虚拟存储空间映射为对应的物理存储空间,根据数据访问请求类型,在映射得到的物理存储空间中执行对应的数据访问操作。根据本申请实施例,可以提高存储虚拟机数据的安全性和可靠性。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种虚拟机数据的访问方法和设备。
背景技术
虚拟机是通过软件模拟实现具有完整硬件系统功能并且运行在一个完全隔离环境中的计算机系统。通过虚拟机技术,在一台物理计算机上可以模拟出一台或多台虚拟的计算机。这些虚拟机完全就像真正的物理计算机那样进行工作,例如可以安装操作系统、安装应用程序、访问网络资源等。虽然虚拟机只是物理计算机上的一个应用程序,是虚拟出来的一个计算机,但是对于在虚拟机中运行的应用程序而言,它就像是在真正的物理计算机中进行工作一样。
通常,虚拟机的数据存储在虚拟磁盘中,而虚拟磁盘多以镜像文件、逻辑虚拟卷、逻辑磁盘或逻辑磁盘分区的形式存于本地的物理计算机的物理磁盘中,虚拟机通过访问所在物理计算机的物理磁盘来访问各种数据。如果本地物理计算机停机或者损坏,将会导致虚拟机的数据丢失,因此,虚拟机的数据存储方式的安全性和可靠性受本地物理计算机的影响,其安全性和可靠性较差,这极大地限制了虚拟机技术的发展和应用,如何提高虚拟机存储数据的安全性和可靠性是本领域技术人员所面对的共同问题。
发明内容
为了解决上述技术问题,本申请实施例提供了一种虚拟机数据的访问方法和设备,利用目前的云计算或云存储等大规模分布式计算环境,为数据存储提供高可靠性,以使虚拟机的虚拟磁盘同时存于分布式存储系统各个物理计算机的物理磁盘中,以提高存储虚拟机数据的安全性和可靠性。
本申请实施例公开公开了如下技术方案:
一种虚拟机数据的访问设备,包括:访问请求处理模块、数据转发代理模块和虚拟磁盘,访问请求处理模块,用于接收虚拟机发送的数据访问请求,将所述数据访问请求加入到请求队列中,其中,请求队列中的数据访问请求与虚拟磁盘的虚拟存储空间之间映射,所述虚拟存储空间与分布式存储系统的物理存储空间之间映射;数据转发代理模块,用于从请求队列中获取数据访问请求,将获取的数据访问请求映射为对应的虚拟存储空间,再将映射得到的虚拟存储空间映射为对应的物理存储空间,根据数据访问请求类型,在映射得到的物理存储空间中执行对应的数据访问操作。
一种虚拟机数据的访问方法,包括:接收虚拟机发送的数据访问请求,将所述数据访问请求加入到请求队列中,其中,请求队列中的数据访问请求与虚拟磁盘的虚拟存储空间之间映射,所述虚拟存储空间与分布式存储系统的物理存储空间之间映射;从请求队列中获取数据访问请求,将获取的数据访问请求映射为对应的虚拟存储空间,再将映射得到的虚拟存储空间映射为对应的物理存储空间,根据数据访问请求类型,在映射得到的物理存储空间中执行对应的数据访问操作。
由上述实施例可以看出,本申请实施例提供了一种虚拟机数据的访问设备以及实施该设备的方法,基于地址映射可以使虚拟机的虚拟磁盘同时存于分布式存储系统各个物理计算机的物理磁盘中,最终提高存储虚拟机数据的安全性和可靠性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一种虚拟机数据的访问设备的一个实施例的结构图;
图2为本申请一种基于分布式的虚拟机数据的访问系统的结构示意图;
图3为本申请一种映射关系示意图;
图4为本申请一种虚拟机数据的访问设备的另一个实施例的结构图;
图5为本申请一种虚拟机数据的访问设备的另一个实施例的结构图;
图6为本申请一种虚拟机数据的访问设备的另一个实施例的结构图;
图7为本申请一种数据快照的原理示意图;
图8为本申请一种虚拟机数据的访问方法的一个实施例的流程图;
图9为本申请一种虚拟机数据的访问方法的另一个实施例的流程图;
图10为本申请一种虚拟机数据的访问方法的一个实施例的流程图;
图11为本申请中基于虚拟机数据的访问设备实现虚拟机单机启动的场景示意图;
图12为本申请中基于虚拟机数据的访问设备实现虚拟机多机启动的场景示意图;
图13为本申请中基于虚拟机数据的访问设备实现虚拟机迁移的场景示意图;
图14为本申请中基于虚拟机数据的访问设备实现共享存储的场景示意图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图对本申请实施例进行详细描述。
实施例一
请参阅图1,其为本申请一种虚拟机数据的访问设备的一个实施例的结构图,该设备访问请求处理模块101、数据转发代理模块102和虚拟磁盘103:
访问请求处理模块101,用于接收虚拟机发送的数据访问请求,将所述数据访问请求加入到请求队列中,其中,请求队列中的数据访问请求与虚拟磁盘103的虚拟存储空间之间映射,所述虚拟存储空间与分布式存储系统的物理存储空间之间映射;
数据转发代理模块102,用于从请求队列中获取数据访问请求,将获取的数据访问请求映射为对应的虚拟存储空间,再将映射得到的虚拟存储空间映射为对应的物理存储空间,根据数据访问请求类型,在映射得到的物理存储空间中执行对应的数据访问操作。
例如,当获取的数据访问请求的类型为写入数据时,将映射得到的物理存储空间信息发送给分布式存储系统,以便分布式存储系统根据获得的物理存储空间信息执行数据写入;当获取的数据访问请求的类型为读取数据时,根据映射得到的物理存储空间信息从分布式存储系统中读取数据,将读取的数据反馈给虚拟机。
其中,请参阅图2,其为本申请中一种基于分布式的虚拟机数据的访问系统的结构示意图。虚拟机数据的访问设备作为虚拟机与分布式存储系统之间的数据传输通道,向虚拟机提供全局的、一致的、完整的、高效的、安全的、兼容的数据访问服务。虚拟机数据的访问设备包括访问请求处理模块、数据转发代理模块和虚拟磁盘,访问请求处理模块接收虚拟机发送的每一个数据访问请求,将所有接收到的数据访问请求都加入到请求队列中。请求队列中的数据访问请求与虚拟磁盘的虚拟存储空间之间映射,虚拟存储空间进一步与分布式存储系统的物理存储空间之间映射。例如,在虚拟机发送的数据访问请求中包括请求类型、数据起始地址、数据长度和地址空间,其中,请求类型用于指示数据访问请求的类型,例如读取、写入或者删除等数据访问请求类型;数据起始地址用于指示数据访问请求所要访问的数据在虚拟磁盘的虚拟存储空间中的起始地址。根据数据起始地址和数据长度可以进一步获得每个数据访问请求所要访问的数据在虚拟磁盘的虚拟存储空间的存储空间。地址空间用于指示当获得数据访问请求所要访问的数据后,该部分数据在虚拟机的物理计算机的内存中进行缓存时的存储空间。访问请求处理模块从接收的数据访问请求中提取出上述请求信息后,将提取的请求信息加入到请求队列中,由于请求队列的每一个请求中都包含有的请求类型、数据起始地址、数据长度和地址空间这四个请求信息,由数据起始地址和数据长度可以确定每个数据访问请求所要访问的数据在虚拟磁盘的虚拟存储空间的存储空间,即,每个数据访问请求都有其映射的虚拟磁盘的虚拟存储空间,由每个数据访问请求包含的数据起始地址和数据长度可以确定与数据访问请求映射的虚拟存储空间,该部分虚拟存储空间用于存储数据访问请求所要访问的数据。同时,虚拟磁盘的虚拟存储空间与分布式存储系统的物理存储空间之间映射,根据映射关系,可以进一步获得每个数据访问请求的待访问数据在分布式存储系统的物理存储空间。
请参阅图3,其为本申请一种映射关系示意图。当根据数据访问请求中的数据起始地址和数据长度确定了被访问数据在分布式存储系统中的物理存储空间后,数据转发代理模块102由上述映射关系就可以确定了一条从虚拟机到分布式存储系统的数据访问通道,根据该数据访问通道,可以实现从虚拟机到分布式存储系统的数据访问。
数据转发代理模块102从请求队列中分别获取各个数据访问请求,例如,可以在得到访问请求处理模块101的通知后,从请求队列中获取数据访问请求,或者,也可以周期性地主动访问请求队列,从请求队列中获取数据访问请求。当获得一个数据访问请求后,先将数据访问请求映射为对应的虚拟存储空间,再将映射得到的虚拟存储空间进一步映射为对应的物理存储空间。利用这种空间映射的方法获得每个数据访问请求在分布式存储系统中的物理存储空间,在数据访问时只需要设置一种映射关系,根据映射关系实现数据的访问,而并不需要在数据访问时对数据进行复制,从而可以进一步减少数据复制在空间和时间上的开销,节省系统资源。
数据转发代理模块102按照上述方式获得了每个数据访问请求在分布式存储系统中的物理存储空间后,根据每个数据访问请求中的请求类型,执行数据访问。
需要说明的是,在多线程技术应用中,每个请求队列对应一个线程。例如,如果可以同时启动16个服务线程,每个线程实现一个数据转发代理模块功能,则在虚拟机的访问设备中,可以同时启动16个数据转发代理模块。
由上述实施例可以看出,本申请实施例提供了一种虚拟机数据的访问设备以及实施该设备的方法,基于地址映射可以使虚拟机的虚拟磁盘中的数据存于分布式存储系统的多个物理计算机的物理磁盘中,形成了一种数据备份,最终提高存储虚拟机数据的安全性和可靠性。
实施例二
本实施例与实施例一的区别在于,为了加快数据访问速度,在设备中还设置了一个二级缓存模块,在数据转发代理模块读取数据后,二级缓存模块创建一个二级缓存区,并将数据转发代理模块读取的数据缓存在该二级缓存区中,以便在访问请求处理模块接收到虚拟机发送的数据读取请求后,访问请求处理模块先检查缓存区中是否保存有待读取的数据,如果是,可以直接从缓存区中读取数据。
请参阅图4,其为本申请一种虚拟机数据的访问设备的另一个实施例的结构图,该设备包括访问请求处理模块101、数据转发代理模块102、虚拟磁盘103和二级缓存模块104,其中,
二级缓存模块103,用于在数据转发代理模块102读取数据后,创建一个二级缓存区,将数据转发代理模块102读取的数据存储在创建的二级缓存区;
则所述访问请求处理模块101,用于在接收到虚拟机发送的数据读取请求后,从二级缓存区中检索是否有所述数据读取请求指示的待读取数据,如果有,从二级缓存区中获取数据,否则,将所述数据读取请求加入到请求队列中。
例如,每当访问请求处理模块101接收到一个数据读取请求后,如,该数据读取请求指示需要读取数据A,访问请求处理模块101先在二级缓存区中检索,如果二级缓存区中保存有数据A,直接从二级缓存区中读取数据A,否则,将该数据读取请求加入到请求队列中,以便通过数据转发代理模块102从分布式存储系统中读取数据,当数据转发代理模块102读取数据A后,二级缓存模块104创建一个二级缓存区,例如,预先为二级缓存模块104创建一个二级缓存存储空间,在该二级缓存存储空间中创建一个缓存项A作为数据A的二级缓存区,并将为数据A创建的缓存项A加入到二级缓存存储空间的缓存池中。每当数据转发代理模块102读取一个新数据后,二级缓存模块104就在二级缓存存储空间中创建一个新的缓存项,并将该新的缓存项加入到该二级缓存存储空间的缓存池中。
需要说明的是,访问请求处理模块101和数据转发代理模块102已经在实施例一中进行了详细地说明,相关功能可参见实施一,此处不再赘述。
优选的,为了加快虚拟机的数据访问速度,二级缓存区为虚拟机的本地物理计算机中的物理内存空间。
由上述实施例可以看出,本申请实施例提供了一种虚拟机数据的访问设备以及实施该设备的方法,基于地址映射可以使虚拟机的虚拟磁盘同时存于分布式存储系统各个物理计算机的物理磁盘中,最终提高存储虚拟机数据的安全性和可靠性。
另外,在读取数据的同时,将读取的数据缓存在前端策略系统中,以便在访问请求处理模块接收到下一次的数据访问请求后,如果缓存区中保存有待访问的数据,可以直接从缓存区中读取数据,进一步加快了数据访问速度。
实施例三
本实施例与实施例一的区别在于,为了加快数据访问速度,在设备中还设置一个三级缓存模块,在数据转发代理模块读取数据后,三级缓存模块创建一个三级缓存区,并将数据转发代理模块读取的数据缓存在该三级缓存区中,以便在数据转发代理模块102从请求队列中获取数据读取请求后,数据转发代理模块先检查缓存区中是否保存有待读取的数据,如果是,可以直接从缓存区中读取数据。
请参阅图5,其为本申请一种虚拟机数据的访问设备的另一个实施例的结构图,该设备包括访问请求处理模块101,数据转发代理模块102、虚拟磁盘103和三级缓存模块105,其中,
三级缓存模块105,用于在数据转发代理模块102读取数据后,创建一个三级缓存区,将数据转发代理模块102读取的数据存储在创建的三级缓存区;
则所述数据转发代理模块102,用于在从请求队列中获取数据读取请求后,从三级缓存区中检索是否有所述数据读取请求指示的待读取数据,如果有,从三级缓存区中获取数据,否则,将获取的数据读取请求映射为对应的虚拟存储空间,再将映射得到的虚拟存储空间映射为对应的物理存储空间,根据数据读取请求,在映射得到的物理存储空间中执行对应的数据读取操作。
例如,每当数据转发代理模块102从请求队列中获取了一个数据读取请求后,如该数据读取请求指示读取数据C,数据转发代理模块102先在三级缓存区中检索,如果三级缓存区中保存有数据C,直接从三级缓存区中读取数据C,否则,将获取的数据读取请求映射为对应的虚拟存储空间,再将映射得到的虚拟存储空间映射为对应的物理存储空间,根据数据读取请求,在映射得到的物理存储空间中执行对应的数据读取操作。当数据转发代理模块102读取数据C后,三级缓存模块105创建一个三级缓存区,例如,预先为三级缓存模块105创建一个三级缓存存储空间,在该三级缓存存储空间中创建一个缓存项C作为数据C的三级缓存区,并将为数据C创建的缓存项C加入到三级缓存存储空间的缓存池中。每当数据转发代理模块102读取一个新数据后,三级缓存模块105就在三级缓存存储空间中创建一个新的缓存项,并将该新的缓存项加入到该三级缓存存储空间的缓存池中。
需要说明的是,访问请求处理模块101和数据转发代理模块102已经在实施例一中进行了详细地说明,相关功能可参见实施一,此处不再赘述。
优选的,为了加快虚拟机的数据访问速度,三级缓存区为虚拟机的本地物理计算机中的物理内存空间。
还需要说明的是,当访问设备中同时包括二级缓存模块和三级缓存模块时,由于访问请求先到达访问请求处理模块,且对内存数据的速度比对磁盘数据的速度快,为了使虚拟机的数据访问速度更快,优选的,二级缓存区为本地物理计算机中的物理内存空间,三级缓存区为本地物理计算机中的物理磁盘空间。
由上述实施例可以看出,本申请实施例提供了一种虚拟机数据的访问设备以及实施该设备的方法,基于地址映射可以使虚拟机的虚拟磁盘同时存于分布式存储系统各个物理计算机的物理磁盘中,最终提高存储虚拟机数据的安全性和可靠性。
另外,在读取数据的同时,在读取数据的同时,将读取的数据缓存在后端机制系统中,以便在数据转发代理模块下一次从请求队列中获取数据访问请求后,如果缓存区中保存有待访问的数据,可以直接从缓存区中读取数据,进一步加快了数据访问速度。
实施例四
本实施例与实施例一区别在于,在本实施例的设备的前端策略系统中还包括一数据快照模块,所谓数据快照就是将虚拟磁盘中的某个时刻的数据保存下来,以便将数据备份到其他的存储空间。请参阅图6,其为本申请一种虚拟机数据的访问设备的另一个实施例的结构图,该设备访问请求处理模块101、数据转发代理模块102、虚拟磁盘103和数据快照模块106,其中,虚拟磁盘103包括原始数据的虚拟磁盘分区、映射分区和快照数据的虚拟磁盘分区,其中,
数据快照模块106,用于当接收到数据快照请求时,从映射分区中获得原始数据的虚拟磁盘分区和快照数据的虚拟磁盘分区的虚拟存储空间,
则设备还包括导出模块107,用于当接收到导出请求时,将数据快照模块106获得的原始数据的虚拟存储空间和快照数据的虚拟存储空间分别映射为对应的分布式存储系统的物理存储空间。
例如,请参阅图7,其为本申请一种数据快照的原理示意图。在设备的虚拟磁盘中包括有三个虚拟分区:原始数据的虚拟磁盘分区、快照数据的虚拟磁盘分区和影射分区。其中,在映射分区中分别保存了原始数据的虚拟磁盘分区和快照数据的虚拟磁盘分区的虚拟存储空间,当数据快照模块接收到数据快照请求时,从映射分区中获取上述两个虚拟存储空间。在此情况下,该设备还包括导出模块,将上述虚拟存储空间映射为分布式存储系统的物理存储空间,以便根据分布式存储系统的物理存储空间,从物理存储空间中获得相应的原始数据和快照数据,并进一步根据原始数据和快照数据实现某一个时刻的数据快照。
优选的,所述设备还包括导入模块,用于当接收到导入请求时,将分布式存储系统的物理存储空间分别映射为原始数据的虚拟磁盘分区和快照数据的虚拟磁盘分区。
例如,当需要将位于分布式存储系统中的原始数据和快照数据导出到其他的虚拟机时,导入模块将分布式存储系统中的物理存储空间分别映射为原始数据在其他虚拟机中的虚拟磁盘分区和快照数据在其他虚拟机中的虚拟出盘分区,以便将数据备份到其他的存储空间。
例如,在虚拟机数据的访问设备的扇区编码包括:Vm_id、Image_id、Vbd_id、Par_id和Cell_id。其中,Vm_id为虚拟机编号,32位长度;Image_id为镜像文件编号,可标识导入的快照数据,32位长度;Vbd_id为虚拟硬盘编号,8位长度;Par_id为分区编号,8位长度;Cell_id为扇区编号,64位长度。:Vm_id、Image_id、Vbd_id和Par_id由管理系统配置,涉及虚拟机数据的访问设备所属关系及属性信息等。前端策略系统在收到上层文件系统的请求后,将这些编码和Cell_id组合在一起来唯一标识该扇区在分布式存储空间中的位置,之后对该扇区的读写操作都是通过该组合编码来引用。
由上述实施例可以看出,本申请实施例提供了一种虚拟机数据的访问设备以及实施该设备的方法,基于地址映射可以使虚拟机的虚拟磁盘同时存于分布式存储系统各个物理计算机的物理磁盘中,最终提高存储虚拟机数据的安全性和可靠性。
另外,数据快照模块可以将虚拟磁盘中的某个时刻的数据保存下来,实现数据的导入和导出,以便将数据备份到其他的存储空间。
实施例五
与上述一种虚拟机数据的访问设备相对应,本申请实施例还提供了一种虚拟机数据的访问方法。请参阅图8,其为本申请一种虚拟机数据的访问方法的一个实施例的流程图,该方法包括以下步骤:
步骤801:接收虚拟机发送的数据访问请求,将所述数据访问请求加入到请求队列中,其中,请求队列中的数据访问请求与虚拟磁盘的虚拟存储空间之间映射,所述虚拟存储空间与分布式存储系统的物理存储空间之间映射;
步骤802:从请求队列中获取数据访问请求,将获取的数据访问请求映射为对应的虚拟存储空间,再将映射得到的虚拟存储空间映射为对应的物理存储空间,根据数据访问请求类型,在映射得到的物理存储空间中执行对应的数据访问操作。
例如,当获得的数据访问请求的类型为写入数据时,将映射得到的物理存储空间信息发送给分布式存储系统,以便分布式存储系统根据获得的物理存储空间信息执行数据写入;当获取的数据访问请求的类型为读取数据时,根据映射得到的物理存储空间信息从分布式存储系统中读取数据,将读取的数据反馈给虚拟机中的文件系统。
优选的,为了加快虚拟机的数据访问速度,当根据数据读取请求,在映射得到的物理存储空间中执行对应的数据读取操作后,将读取的数据缓存一个二级缓存区中,以便当接收到虚拟机发送的数据读取请求后,先从二级缓存区中检索是否有所述数据读取请求指示的待读取的数据,如果有,可以直接从二级缓存区中读取数据。请参阅图9,其为本申请一种虚拟机数据的访问方法的另一个实施例的流程图,包括以下步骤:
步骤901:接收虚拟机发送的数据读取请求;
步骤902:从二级缓存区中检索是否有数据读取请求指示的待读取数据,如果有,进入步骤903,否则,进入步骤904;
步骤903:从二级缓存区中读取数据;
之后,返回步骤901,当重新返回到步骤901后,继续接收下一个数据读取请求,然后从二级缓存区中检索是否有下一个数据读取请求的待读取数据,依此反复,直到请求队列中的所有数据读取请求处理完毕后结束流程;
步骤904:将所述数据读取请求加入到请求队列中,其中,请求队列中的数据读取请求与虚拟磁盘的虚拟存储空间之间映射,所述虚拟存储空间与分布式存储系统的物理存储空间之间映射;
步骤905:从请求队列中获取数据读取请求,将获取的数据读取请求映射为对应的虚拟存储空间,再将映射得到的虚拟存储空间映射为对应的物理存储空间,根据数据读取请求,在映射得到的物理存储空间中执行对应的数据读取操作;
步骤906:创建一个二级缓存区,将读取的数据存储在创建的二级缓存区。
之后,返回步骤901,当重新返回到步骤901后,继续接收下一个数据读取请求,然后从二级缓存区中检索是否有下一个数据读取请求的待读取数据,依此反复,直到请求队列中的所有数据读取请求处理完毕后结束流程。
为了加快虚拟机的数据访问速度,另一种优选的方式是,当根据数据读取请求,在映射得到的物理存储空间中执行对应的数据读取操作后,将读取的数据缓存在一个三级缓存区中,以便当从请求队列中获取数据读取请求后,先从三级缓存区中检索是否有所述数据读取请求指示的待读取的数据,如果有,可以直接从三级缓存区中读取数据。请参阅图10,其为本申请一种虚拟机数据的访问方法的另一个实施例的流程图,包括以下步骤:
步骤1001:接收虚拟机发送的数据读取请求,将所述数据读取请求加入到请求队列中,其中,请求队列中的数据读取请求与虚拟磁盘的虚拟存储空间之间映射,所述虚拟存储空间与分布式存储系统的物理存储空间之间映射;
步骤1002:从请求队列中获取数据读取请求后,从三级缓存区中检索是否有获取的数据读取请求指示的待读取数据,如果有,进入步骤1003,否则,进入步骤1004;
步骤1003:从三级缓存区中获取待读取数据;
之后,返回步骤1002,重新返回到步骤1002后,继续从请求队列中读取下一个数据读取请求,然后从三级缓存区中检索是否有下一个数据读取请求的待读取数据,依此反复,直到请求队列中的所有数据访问请求处理完毕后结束流程;
步骤1004:将获取的数据读取请求映射为对应的虚拟存储空间,再将映射得到的虚拟存储空间映射为对应的物理存储空间,根据数据读取请求,在映射得到的物理存储空间中执行对应的数据读取操作;
步骤1005:创建一个三级存储区,将读取的数据存储在创建的三级缓存区。
之后,返回步骤1002,当重新返回到步骤1002后,继续从请求队列中读取下一个数据读取请求,然后从三级缓存区中检索是否有下一个数据读取请求的待读取数据,依此反复,直到请求队列中的所有数据读取请求处理完毕后结束流程。
优选的,所述方法还包括:当接收到快照请求时,从映射分区中获得原始数据的虚拟磁盘分区和快照数据的虚拟磁盘分区的虚拟存储空间。则当接收到导出请求时,将获得的原始数据的虚拟存储空间和快照数据的虚拟存储空间分别映射为对应的分布式存储系统的物理存储空间。
进一步的,当接收到导入请求时,将分布式存储系统的物理存储空间分别映射为原始数据的虚拟磁盘分区和快照数据的虚拟磁盘分区。
由上述实施例可以看出,本申请实施例提供了一种虚拟机数据的访问设备以及实施该设备的方法,基于地址映射可以使虚拟机的虚拟磁盘同时存于分布式存储系统各个物理计算机的物理磁盘中,最终提高存储虚拟机数据的安全性和可靠性。
在读取数据的同时,将读取的数据缓存在前端策略系统中,以便在前端策略系统中的访问请求处理模块接收到下一次的数据访问请求后,如果缓存区中保存有待访问的数据,可以直接从缓存区中读取数据,进一步加快了数据访问速度。
在读取数据的同时,在读取数据的同时,将读取的数据缓存在后端机制系统中,以便在后端机制系统中的数据转发代理模块下一次从请求队列中获取数据访问请求后,如果缓存区中保存有待访问的数据,可以直接从缓存区中读取数据,进一步加快了数据访问速度。
通过数据快照可以将虚拟磁盘中的某个时刻的数据保存下来,实现数据的导入和导出,以便将数据备份到其他的存储空间。
在本申请应用方面,可以应用于虚拟机单机启动、虚拟机多机并行启动、虚拟机迁移或者共享存储等场景。例如,在虚拟机单机启动场景中,提高了虚拟机的启动时间和响应速度,请参阅图11,其为本申请中基于虚拟机数据的访问设备实现虚拟机单机启动的场景示意图。图11中的虚线框部分即为本申请虚拟机数据的访问设备。请参阅图12,其为本申请中基于虚拟机数据的访问设备实现虚拟机多机启动的场景示意图,图12中的虚线框部分即为本申请虚拟机数据的访问设备。在虚拟机多机启动场景中,提高了虚拟机的启动时间和响应速度。请参阅图13,其为本申请中基于虚拟机数据的访问设备实现虚拟机迁移的场景示意图,图13中的虚线框部分即为本申请虚拟机数据的访问设备。在虚拟机迁移场景中,减少了迁移的数据量,提高了迁移速度。请参阅图14,其为本申请中基于虚拟机数据的访问设备实现共享存储的场景示意图。图14中的虚线框即为本申请虚拟机数据的访问设备。在共享存储场景中,各个服务器节点使用本地的硬盘存储数据。在服务器机群上部署分布式存储系统。集群内各个节点通过本申请的虚拟机数据访问设备构建存储局域网(SAN),在此基础上部署SAN共享软件实现集群内存储设备共享和管理数据并发访问。SAN共享软件可选用pNFS/GFS2等,对于Windows系统可使用CIFS等。
需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上对本申请所提供的一种虚拟机数据的访问设备和方法进行了详细介绍,本文中应用了具体实施例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (12)
1.一种虚拟机数据的访问设备,其特征在于,包括:访问请求处理模块、数据转发代理模块和虚拟磁盘,
访问请求处理模块,用于接收虚拟机发送的数据访问请求,将所述数据访问请求加入到请求队列中,其中,请求队列中的数据访问请求与虚拟磁盘的虚拟存储空间之间映射,所述虚拟存储空间与分布式存储系统的物理存储空间之间映射;
数据转发代理模块,用于从请求队列中获取数据访问请求,将获取的数据访问请求映射为对应的虚拟存储空间,再将映射得到的虚拟存储空间映射为对应的物理存储空间,根据数据访问请求类型,在映射得到的物理存储空间中执行对应的数据访问操作。
2.根据权利要求1所述的设备,其特征在于,所述设备还包括二级缓存模块,
所述二级缓存模块,用于在所述数据转发代理模块读取数据后,创建一个二级缓存区,将所述数据转发代理模块读取的数据存储在创建的二级缓存区;
在所述访问请求处理模块,用于在接收到虚拟机发送的数据读取请求后,从二级缓存区中检索是否有所述数据读取请求指示的待读取数据,如果有,从二级缓存区中获取数据,否则,将所述数据读取请求加入到请求队列中。
3.根据权利要求2所述的设备,其特征在于,所述二级缓存区为本地物理计算机中的物理内存空间。
4.根据权利要求1所述的设备,其特征在于,所述设备还包括三级缓存模块,
所述三级缓存模块,用于在数据转发代理模块读取数据后,创建一个三级缓存区,将数据转发代理模块读取的数据存储在创建的三级缓存区;
则所述数据转发代理模块,用于在从请求队列中获取数据读取请求后,从三级缓存区中检索是否有所述数据读取请求指示的待读取数据,如果有,从三级缓存区中获取数据,否则,将获取的数据读取请求映射为对应的虚拟存储空间,再将映射得到的虚拟存储空间映射为对应的物理存储空间,根据所述数据读取请求,在映射得到的物理存储空间中执行对应的数据读取操作。
5.根据权利要求4所述的设备,其特征在于,所述三级缓存区为本地物理计算机中的物理内存空间。
6.根据权利要求1所述的设备,其特征在于,所述设备还包括数据快照模块,其中,虚拟磁盘包括原始数据的虚拟磁盘分区、影射分区和快照数据的虚拟磁盘分区,
所述数据快照模块,用于当接收到数据快照请求时,从映射分区中获得原始数据的虚拟磁盘分区和快照数据的虚拟磁盘分区的虚拟存储空间,
则所述设备还包括导出模块,用于当接收到导出请求时,将所述数据快照模块获得的原始数据的虚拟存储空间和快照数据的虚拟存储空间分别映射为对应的分布式存储系统的物理存储空间。
7.根据权利要求6所述的设备,其特征在于,所述设备还包括导入模块,
所述导入模块,用于当接收到导入请求时,将分布式存储系统的物理存储空间分别映射为原始数据的虚拟磁盘分区和快照数据的虚拟磁盘分区。
8.一种虚拟机数据的访问方法,其特征在于,包括:
接收虚拟机发送的数据访问请求,将所述数据访问请求加入到请求队列中,其中,请求队列中的数据访问请求与虚拟磁盘的虚拟存储空间之间映射,所述虚拟存储空间与分布式存储系统的物理存储空间之间映射;
从请求队列中获取数据访问请求,将获取的数据访问请求映射为对应的虚拟存储空间,再将映射得到的虚拟存储空间映射为对应的物理存储空间,根据数据访问请求类型,在映射得到的物理存储空间中执行对应的数据访问操作。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
当根据数据读取请求,在映射得到的物理存储空间中执行对应的数据读取操作后,创建一个二级缓存区,将读取的数据存储在创建的二级缓存区;
则当接收到虚拟机发送的数据读取请求后,从二级缓存区中检索是否有数据读取请求指示的待读取数据,如果有,从二级缓存区中读取数据,否则,将所述数据读取请求加入到请求队列中。
10.根据权利要求8所述的方法,其特征在于,所述方法还包括:
当根据数据读取请求,在映射得到的物理存储空间中执行对应的数据读取操作后,创建一个三级缓存区,将读取的数据存储在创建的三级缓存区;
则当从请求队列中获取数据读取请求后,从三级缓存区中检索是否有所述数据读取请求指示的待读取数据,如果有,从三级缓存区中获取数据,否则,将获取的数据读取请求映射为对应的虚拟存储空间,再将映射得到的虚拟存储空间映射为对应的物理存储空间,根据数据读取请求,在映射得到的物理存储空间中执行对应的数据读取操作。
11.根据权利要求8所述的方法,其特征在于,所述方法还包括:
当接收到快照请求时,从映射分区中获得原始数据的虚拟磁盘分区和快照数据的虚拟磁盘分区的虚拟存储空间。
则当接收到导出请求时,将获得的原始数据的虚拟存储空间和快照数据的虚拟存储空间分别映射为对应的分布式存储系统的物理存储空间。
12.根据权利要求8所述的方法,其特征在于,所述方法还包括:
当接收到导入请求时,将分布式存储系统的物理存储空间分别映射为原始数据的虚拟磁盘分区和快照数据的虚拟磁盘分区。
Priority Applications (10)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010542916.1A CN102467408B (zh) | 2010-11-12 | 2010-11-12 | 一种虚拟机数据的访问方法和设备 |
TW100108083A TWI549060B (zh) | 2010-11-12 | 2011-03-10 | Access methods and devices for virtual machine data |
PCT/US2011/060271 WO2012065005A1 (en) | 2010-11-12 | 2011-11-10 | Method and apparatus of accessing data of virtual machine |
JP2013538912A JP6338208B2 (ja) | 2010-11-12 | 2011-11-10 | 仮想マシンのデータへアクセスするための方法および装置 |
EP11839861.9A EP2638476B1 (en) | 2010-11-12 | 2011-11-10 | Method and apparatus of accessing data of virtual machine |
US13/502,314 US8996809B2 (en) | 2010-11-12 | 2011-11-10 | Method and apparatus of accessing data of virtual machine |
HK12107184.7A HK1166535A1 (zh) | 2010-11-12 | 2012-07-23 | 種虛擬機數據的訪問方法和設備 |
US14/607,980 US9235436B2 (en) | 2010-11-12 | 2015-01-28 | Method and apparatus of accessing data of virtual machine |
US14/992,392 US9552220B2 (en) | 2010-11-12 | 2016-01-11 | Method and apparatus of accessing data of virtual machine |
US15/360,795 US9916176B2 (en) | 2010-11-12 | 2016-11-23 | Method and apparatus of accessing data of virtual machine |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010542916.1A CN102467408B (zh) | 2010-11-12 | 2010-11-12 | 一种虚拟机数据的访问方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102467408A true CN102467408A (zh) | 2012-05-23 |
CN102467408B CN102467408B (zh) | 2014-03-19 |
Family
ID=46051305
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010542916.1A Active CN102467408B (zh) | 2010-11-12 | 2010-11-12 | 一种虚拟机数据的访问方法和设备 |
Country Status (7)
Country | Link |
---|---|
US (4) | US8996809B2 (zh) |
EP (1) | EP2638476B1 (zh) |
JP (1) | JP6338208B2 (zh) |
CN (1) | CN102467408B (zh) |
HK (1) | HK1166535A1 (zh) |
TW (1) | TWI549060B (zh) |
WO (1) | WO2012065005A1 (zh) |
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103218179A (zh) * | 2013-04-23 | 2013-07-24 | 深圳市京华科讯科技有限公司 | 基于虚拟化的二级系统加速方法 |
CN103793330A (zh) * | 2012-10-31 | 2014-05-14 | 国际商业机器公司 | 在虚拟机环境中进行数据交换的方法和装置 |
WO2014094421A1 (zh) * | 2012-12-21 | 2014-06-26 | 华为技术有限公司 | 数据处理方法和虚拟机管理平台 |
CN104104705A (zh) * | 2013-04-11 | 2014-10-15 | 阿里巴巴集团控股有限公司 | 分布式存储系统的接入方法和设备 |
CN104517067A (zh) * | 2014-12-30 | 2015-04-15 | 华为技术有限公司 | 访问数据的方法、装置及系统 |
CN106534328A (zh) * | 2016-11-28 | 2017-03-22 | 网宿科技股份有限公司 | 节点连接方法及分布式计算系统 |
CN106681649A (zh) * | 2015-11-06 | 2017-05-17 | 湖南百里目科技有限责任公司 | 一种分布式存储元数据加速方法 |
WO2017113329A1 (zh) * | 2015-12-31 | 2017-07-06 | 华为技术有限公司 | 一种主机集群中缓存管理方法及主机 |
CN103902348B (zh) * | 2012-12-25 | 2017-07-14 | 华为技术有限公司 | 一种虚拟化环境下用户数据的读写方法、系统及物理机 |
CN106959927A (zh) * | 2016-01-08 | 2017-07-18 | 阿里巴巴集团控股有限公司 | 获取虚拟机中的逻辑分区的位置信息的方法及装置 |
CN104020961B (zh) * | 2014-05-15 | 2017-07-25 | 深信服科技股份有限公司 | 分布式数据存储方法、装置及系统 |
CN107608806A (zh) * | 2017-09-25 | 2018-01-19 | 郑州云海信息技术有限公司 | 一种虚拟机间快速访问传输数据的系统及方法 |
CN108008911A (zh) * | 2016-11-01 | 2018-05-08 | 阿里巴巴集团控股有限公司 | 读写请求处理方法及装置 |
CN108563492A (zh) * | 2018-05-07 | 2018-09-21 | 联想(北京)有限公司 | 数据获取方法、虚拟机以及电子设备 |
CN108572888A (zh) * | 2017-03-14 | 2018-09-25 | 阿里巴巴集团控股有限公司 | 磁盘快照创建方法和磁盘快照创建装置 |
CN109308288A (zh) * | 2018-09-26 | 2019-02-05 | 新华三云计算技术有限公司 | 数据处理方法及装置 |
WO2019053565A1 (en) * | 2017-09-14 | 2019-03-21 | International Business Machines Corporation | STORAGE SYSTEM USING CLOUD STORAGE AS A ROW |
CN109960569A (zh) * | 2019-03-26 | 2019-07-02 | 联想(北京)有限公司 | 一种虚拟化处理方法及装置 |
CN110554977A (zh) * | 2018-05-30 | 2019-12-10 | 阿里巴巴集团控股有限公司 | 数据缓存方法、数据处理方法、计算机设备、存储介质 |
US10581969B2 (en) | 2017-09-14 | 2020-03-03 | International Business Machines Corporation | Storage system using cloud based ranks as replica storage |
CN110933120A (zh) * | 2018-09-19 | 2020-03-27 | 阿里巴巴集团控股有限公司 | 一种基于混合云的计算方法、装置以及系统 |
CN111026333A (zh) * | 2019-12-10 | 2020-04-17 | 北京金山云网络技术有限公司 | 访问请求处理方法、处理装置、电子设备及存储介质 |
CN111367472A (zh) * | 2020-02-28 | 2020-07-03 | 北京百度网讯科技有限公司 | 虚拟化方法和装置 |
CN112631734A (zh) * | 2020-12-30 | 2021-04-09 | 北京天融信网络安全技术有限公司 | 虚拟机镜像文件的处理方法、装置、设备和存储介质 |
US11086535B2 (en) | 2017-09-14 | 2021-08-10 | International Business Machines Corporation | Thin provisioning using cloud based ranks |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102467408B (zh) | 2010-11-12 | 2014-03-19 | 阿里巴巴集团控股有限公司 | 一种虚拟机数据的访问方法和设备 |
US9003104B2 (en) | 2011-02-15 | 2015-04-07 | Intelligent Intellectual Property Holdings 2 Llc | Systems and methods for a file-level cache |
US9201677B2 (en) | 2011-05-23 | 2015-12-01 | Intelligent Intellectual Property Holdings 2 Llc | Managing data input/output operations |
US8996807B2 (en) | 2011-02-15 | 2015-03-31 | Intelligent Intellectual Property Holdings 2 Llc | Systems and methods for a multi-level cache |
US10073656B2 (en) | 2012-01-27 | 2018-09-11 | Sandisk Technologies Llc | Systems and methods for storage virtualization |
US10359972B2 (en) | 2012-08-31 | 2019-07-23 | Sandisk Technologies Llc | Systems, methods, and interfaces for adaptive persistence |
US9116812B2 (en) | 2012-01-27 | 2015-08-25 | Intelligent Intellectual Property Holdings 2 Llc | Systems and methods for a de-duplication cache |
US10339056B2 (en) * | 2012-07-03 | 2019-07-02 | Sandisk Technologies Llc | Systems, methods and apparatus for cache transfers |
US9612966B2 (en) * | 2012-07-03 | 2017-04-04 | Sandisk Technologies Llc | Systems, methods and apparatus for a virtual machine cache |
CN103810737B (zh) * | 2012-11-14 | 2018-04-27 | 腾讯科技(深圳)有限公司 | Mvc模式的动画实现方法及装置 |
US9842053B2 (en) | 2013-03-15 | 2017-12-12 | Sandisk Technologies Llc | Systems and methods for persistent cache logging |
US9697130B2 (en) | 2014-06-25 | 2017-07-04 | Sandisk Technologies Llc | Systems and methods for storage service automation |
US9703655B1 (en) * | 2014-11-25 | 2017-07-11 | Scale Computing Inc. | Recovery after data loss in a reliable distributed computing system |
US9665445B1 (en) * | 2014-12-23 | 2017-05-30 | EMC IP Holding Company LLC | Virtual proxy based backup |
JP6902580B2 (ja) * | 2015-10-22 | 2021-07-14 | オラクル・インターナショナル・コーポレイション | トランザクション処理環境において分散型キャッシングを提供するためのシステムおよび方法 |
CN105868056B (zh) * | 2016-04-07 | 2019-06-21 | 北京北信源软件股份有限公司 | 获取Windows虚拟机中已删除文件的方法、装置及安全虚拟机 |
US10303562B2 (en) | 2017-03-30 | 2019-05-28 | Entit Software Llc | Using metadata extracted from proxy files to access data stored in secondary storage |
US10853307B2 (en) * | 2017-07-28 | 2020-12-01 | Dell Products, L.P. | System and method for a host application to access and verify contents within non-volatile storage of an information handling system |
CN108536616B (zh) * | 2018-03-28 | 2021-10-15 | 华中科技大学 | 一种提升pcm数据加密写性能和寿命的映射方法 |
CN110147266B (zh) * | 2019-04-29 | 2024-03-15 | 腾讯科技(深圳)有限公司 | 虚拟机启动方法和装置、存储介质及电子装置 |
CN110990483B (zh) * | 2019-11-26 | 2023-05-30 | 上海莉莉丝科技股份有限公司 | 分布式缓存中的缓存节点的数据访问和控制方法及系统 |
CN112631520B (zh) * | 2020-12-25 | 2023-09-22 | 北京百度网讯科技有限公司 | 分布式块存储系统、方法、装置、设备和介质 |
CN117707437A (zh) * | 2024-02-06 | 2024-03-15 | 济南浪潮数据技术有限公司 | 基于分布式存储系统的虚拟磁盘存储方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7606868B1 (en) * | 2006-03-30 | 2009-10-20 | Wmware, Inc. | Universal file access architecture for a heterogeneous computing environment |
CN101697134A (zh) * | 2009-10-27 | 2010-04-21 | 北京大学 | 一种支持相似虚拟机快速启动的方法 |
US20100153617A1 (en) * | 2008-09-15 | 2010-06-17 | Virsto Software | Storage management system for virtual machines |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6542961B1 (en) | 1998-12-22 | 2003-04-01 | Hitachi, Ltd. | Disk storage system including a switch |
US6446141B1 (en) * | 1999-03-25 | 2002-09-03 | Dell Products, L.P. | Storage server system including ranking of data source |
US7069413B1 (en) | 2003-01-29 | 2006-06-27 | Vmware, Inc. | Method and system for performing virtual to physical address translations in a virtual machine monitor |
US7797699B2 (en) * | 2004-09-23 | 2010-09-14 | Intel Corporation | Method and apparatus for scheduling virtual machine access to shared resources |
JP2006277545A (ja) * | 2005-03-30 | 2006-10-12 | Hitachi Ltd | 計算機システム、記憶装置システムおよびライト処理制御方法 |
JP4699808B2 (ja) | 2005-06-02 | 2011-06-15 | 株式会社日立製作所 | ストレージシステム及び構成変更方法 |
JP2007207004A (ja) * | 2006-02-02 | 2007-08-16 | Hitachi Ltd | プロセッサ及び計算機 |
JP2008090657A (ja) | 2006-10-03 | 2008-04-17 | Hitachi Ltd | ストレージシステム及び制御方法 |
JP4331742B2 (ja) * | 2006-10-25 | 2009-09-16 | 株式会社日立製作所 | I/oの割り振り比率に基づいて性能を管理する計算機システム、計算機及び方法 |
US7945761B2 (en) | 2006-11-21 | 2011-05-17 | Vmware, Inc. | Maintaining validity of cached address mappings |
JP5246388B2 (ja) * | 2007-03-08 | 2013-07-24 | 日本電気株式会社 | 仮想装置構成システム、及びその方法 |
US7793307B2 (en) * | 2007-04-06 | 2010-09-07 | Network Appliance, Inc. | Apparatus and method for providing virtualized hardware resources within a virtual execution environment |
US8194657B2 (en) | 2007-05-22 | 2012-06-05 | Actiontec Electronics, Inc. | Systems and methods for dynamic quality of service |
US8032689B2 (en) * | 2007-12-18 | 2011-10-04 | Hitachi Global Storage Technologies Netherlands, B.V. | Techniques for data storage device virtualization |
US8352940B2 (en) * | 2008-06-09 | 2013-01-08 | International Business Machines Corporation | Virtual cluster proxy to virtual I/O server manager interface |
CN101819564B (zh) | 2009-02-26 | 2013-04-17 | 国际商业机器公司 | 协助在虚拟机之间进行通信的方法和装置 |
JP5412882B2 (ja) | 2009-03-04 | 2014-02-12 | 富士通株式会社 | 論理ボリューム構成情報提供プログラム、論理ボリューム構成情報提供方法、および論理ボリューム構成情報提供装置 |
TWI477113B (zh) * | 2009-04-01 | 2015-03-11 | Alibaba Group Holding Ltd | Information processing methods and systems |
WO2011096014A1 (ja) | 2010-02-05 | 2011-08-11 | 株式会社日立製作所 | 仮想マシンと連携したThin-Provisioning容量管理を行う計算機システム、計算機、及び方法 |
US9336149B2 (en) | 2010-05-06 | 2016-05-10 | International Business Machines Corporation | Partial volume access in a physical stacked volume |
US8863117B2 (en) * | 2010-07-19 | 2014-10-14 | International Business Machines Corporation | Optimizing a file system interface in a virtualized computing environment |
US8972995B2 (en) * | 2010-08-06 | 2015-03-03 | Sonics, Inc. | Apparatus and methods to concurrently perform per-thread as well as per-tag memory access scheduling within a thread and across two or more threads |
US8417862B2 (en) * | 2010-10-13 | 2013-04-09 | Lsi Corporation | Inter-virtual machine interrupt coalescing |
CN102467408B (zh) | 2010-11-12 | 2014-03-19 | 阿里巴巴集团控股有限公司 | 一种虚拟机数据的访问方法和设备 |
-
2010
- 2010-11-12 CN CN201010542916.1A patent/CN102467408B/zh active Active
-
2011
- 2011-03-10 TW TW100108083A patent/TWI549060B/zh not_active IP Right Cessation
- 2011-11-10 EP EP11839861.9A patent/EP2638476B1/en active Active
- 2011-11-10 JP JP2013538912A patent/JP6338208B2/ja active Active
- 2011-11-10 US US13/502,314 patent/US8996809B2/en active Active
- 2011-11-10 WO PCT/US2011/060271 patent/WO2012065005A1/en active Application Filing
-
2012
- 2012-07-23 HK HK12107184.7A patent/HK1166535A1/zh not_active IP Right Cessation
-
2015
- 2015-01-28 US US14/607,980 patent/US9235436B2/en active Active
-
2016
- 2016-01-11 US US14/992,392 patent/US9552220B2/en active Active
- 2016-11-23 US US15/360,795 patent/US9916176B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7606868B1 (en) * | 2006-03-30 | 2009-10-20 | Wmware, Inc. | Universal file access architecture for a heterogeneous computing environment |
US20100153617A1 (en) * | 2008-09-15 | 2010-06-17 | Virsto Software | Storage management system for virtual machines |
CN101697134A (zh) * | 2009-10-27 | 2010-04-21 | 北京大学 | 一种支持相似虚拟机快速启动的方法 |
Cited By (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103793330A (zh) * | 2012-10-31 | 2014-05-14 | 国际商业机器公司 | 在虚拟机环境中进行数据交换的方法和装置 |
CN103793330B (zh) * | 2012-10-31 | 2017-03-01 | 国际商业机器公司 | 在虚拟机环境中进行数据交换的方法和装置 |
WO2014094421A1 (zh) * | 2012-12-21 | 2014-06-26 | 华为技术有限公司 | 数据处理方法和虚拟机管理平台 |
CN103902348B (zh) * | 2012-12-25 | 2017-07-14 | 华为技术有限公司 | 一种虚拟化环境下用户数据的读写方法、系统及物理机 |
CN104104705A (zh) * | 2013-04-11 | 2014-10-15 | 阿里巴巴集团控股有限公司 | 分布式存储系统的接入方法和设备 |
CN104104705B (zh) * | 2013-04-11 | 2018-02-02 | 阿里巴巴集团控股有限公司 | 分布式存储系统的接入方法和设备 |
CN103218179A (zh) * | 2013-04-23 | 2013-07-24 | 深圳市京华科讯科技有限公司 | 基于虚拟化的二级系统加速方法 |
CN104020961B (zh) * | 2014-05-15 | 2017-07-25 | 深信服科技股份有限公司 | 分布式数据存储方法、装置及系统 |
CN104517067B (zh) * | 2014-12-30 | 2017-12-15 | 华为技术有限公司 | 访问数据的方法、装置及系统 |
CN104517067A (zh) * | 2014-12-30 | 2015-04-15 | 华为技术有限公司 | 访问数据的方法、装置及系统 |
CN106681649A (zh) * | 2015-11-06 | 2017-05-17 | 湖南百里目科技有限责任公司 | 一种分布式存储元数据加速方法 |
WO2017113329A1 (zh) * | 2015-12-31 | 2017-07-06 | 华为技术有限公司 | 一种主机集群中缓存管理方法及主机 |
CN107851062A (zh) * | 2015-12-31 | 2018-03-27 | 华为技术有限公司 | 一种主机集群中缓存管理方法及主机 |
CN106959927A (zh) * | 2016-01-08 | 2017-07-18 | 阿里巴巴集团控股有限公司 | 获取虚拟机中的逻辑分区的位置信息的方法及装置 |
CN106959927B (zh) * | 2016-01-08 | 2020-08-25 | 阿里巴巴集团控股有限公司 | 获取虚拟机中的逻辑分区的位置信息的方法及装置 |
TWI752066B (zh) * | 2016-11-01 | 2022-01-11 | 香港商阿里巴巴集團服務有限公司 | 讀寫請求處理方法及裝置 |
CN108008911A (zh) * | 2016-11-01 | 2018-05-08 | 阿里巴巴集团控股有限公司 | 读写请求处理方法及装置 |
CN106534328B (zh) * | 2016-11-28 | 2020-01-31 | 网宿科技股份有限公司 | 节点连接方法及分布式计算系统 |
CN106534328A (zh) * | 2016-11-28 | 2017-03-22 | 网宿科技股份有限公司 | 节点连接方法及分布式计算系统 |
CN108572888A (zh) * | 2017-03-14 | 2018-09-25 | 阿里巴巴集团控股有限公司 | 磁盘快照创建方法和磁盘快照创建装置 |
WO2019053565A1 (en) * | 2017-09-14 | 2019-03-21 | International Business Machines Corporation | STORAGE SYSTEM USING CLOUD STORAGE AS A ROW |
GB2579992B (en) * | 2017-09-14 | 2022-04-13 | Ibm | Storage system using cloud storage as a rank |
US10581969B2 (en) | 2017-09-14 | 2020-03-03 | International Business Machines Corporation | Storage system using cloud based ranks as replica storage |
CN111095903A (zh) * | 2017-09-14 | 2020-05-01 | 国际商业机器公司 | 使用云存储作为模组的存储系统 |
US11086535B2 (en) | 2017-09-14 | 2021-08-10 | International Business Machines Corporation | Thin provisioning using cloud based ranks |
GB2579992A (en) * | 2017-09-14 | 2020-07-08 | Ibm | Storage system using cloud storage as a rank |
US10721304B2 (en) | 2017-09-14 | 2020-07-21 | International Business Machines Corporation | Storage system using cloud storage as a rank |
CN107608806A (zh) * | 2017-09-25 | 2018-01-19 | 郑州云海信息技术有限公司 | 一种虚拟机间快速访问传输数据的系统及方法 |
CN108563492B (zh) * | 2018-05-07 | 2022-05-31 | 联想(北京)有限公司 | 数据获取方法、虚拟机以及电子设备 |
CN108563492A (zh) * | 2018-05-07 | 2018-09-21 | 联想(北京)有限公司 | 数据获取方法、虚拟机以及电子设备 |
CN110554977A (zh) * | 2018-05-30 | 2019-12-10 | 阿里巴巴集团控股有限公司 | 数据缓存方法、数据处理方法、计算机设备、存储介质 |
CN110933120A (zh) * | 2018-09-19 | 2020-03-27 | 阿里巴巴集团控股有限公司 | 一种基于混合云的计算方法、装置以及系统 |
CN109308288B (zh) * | 2018-09-26 | 2020-12-08 | 新华三云计算技术有限公司 | 数据处理方法及装置 |
CN109308288A (zh) * | 2018-09-26 | 2019-02-05 | 新华三云计算技术有限公司 | 数据处理方法及装置 |
CN109960569B (zh) * | 2019-03-26 | 2021-04-13 | 联想(北京)有限公司 | 一种虚拟化处理方法及装置 |
CN109960569A (zh) * | 2019-03-26 | 2019-07-02 | 联想(北京)有限公司 | 一种虚拟化处理方法及装置 |
CN111026333A (zh) * | 2019-12-10 | 2020-04-17 | 北京金山云网络技术有限公司 | 访问请求处理方法、处理装置、电子设备及存储介质 |
CN111367472A (zh) * | 2020-02-28 | 2020-07-03 | 北京百度网讯科技有限公司 | 虚拟化方法和装置 |
CN112631734A (zh) * | 2020-12-30 | 2021-04-09 | 北京天融信网络安全技术有限公司 | 虚拟机镜像文件的处理方法、装置、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2012065005A1 (en) | 2012-05-18 |
US9235436B2 (en) | 2016-01-12 |
US20130232303A1 (en) | 2013-09-05 |
EP2638476A4 (en) | 2014-11-05 |
CN102467408B (zh) | 2014-03-19 |
US20170075718A1 (en) | 2017-03-16 |
EP2638476B1 (en) | 2020-12-30 |
TW201220197A (en) | 2012-05-16 |
EP2638476A1 (en) | 2013-09-18 |
US9916176B2 (en) | 2018-03-13 |
US8996809B2 (en) | 2015-03-31 |
HK1166535A1 (zh) | 2012-11-02 |
JP6338208B2 (ja) | 2018-06-06 |
JP2014501962A (ja) | 2014-01-23 |
US20150193253A1 (en) | 2015-07-09 |
US20160239332A1 (en) | 2016-08-18 |
TWI549060B (zh) | 2016-09-11 |
US9552220B2 (en) | 2017-01-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102467408B (zh) | 一种虚拟机数据的访问方法和设备 | |
CN107967124B (zh) | 一种分布式持久性内存存储系统及方法 | |
CN104850358B (zh) | 一种磁光电混合存储系统及其数据获取和存储方法 | |
CN102255962B (zh) | 一种分布式存储方法、装置和系统 | |
CN106095337A (zh) | 一种基于san网络存储的云盘快速共享方法 | |
CN102136003A (zh) | 大规模分布式存储系统 | |
CN103503414A (zh) | 一种计算存储融合的集群系统 | |
JP2012527704A (ja) | 仮想マシンシステムにおけるショートカット入出力 | |
US9792075B1 (en) | Systems and methods for synthesizing virtual hard drives | |
CN101997823A (zh) | 一种分布式文件系统及其数据访问方法 | |
CN104156380A (zh) | 一种分布式存储器哈希索引方法及系统 | |
CN107832423B (zh) | 一种用于分布式文件系统的文件读写方法 | |
WO2016010570A1 (en) | Partial snapshot creation | |
CN104020961A (zh) | 分布式数据存储方法、装置及系统 | |
CN104572656A (zh) | 一种磁盘镜像空间回收的方法及装置 | |
CN102521114A (zh) | 一种虚拟化环境下的文件系统日志存储系统 | |
CN103605630A (zh) | 一种虚拟服务器系统及其数据读写方法 | |
CN108073352A (zh) | 虚拟磁盘处理方法及装置 | |
CN103049546B (zh) | 一种管理、访问系统日志的方法和装置 | |
CN104461779A (zh) | 一种分布式数据的存储方法、装置及系统 | |
CN107832097A (zh) | 数据加载方法及装置 | |
CN109582235A (zh) | 管理元数据存储方法及装置 | |
CN103064926A (zh) | 数据处理方法和装置 | |
CN109960460B (zh) | 一种分布式存储系统 | |
CN111198746B (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1166535 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: GR Ref document number: 1166535 Country of ref document: HK |