P
US9916176B2ActiveUtilityPatentIndex 47

Method and apparatus of accessing data of virtual machine

Assignee: ALIBABA GROUP HOLDING LTDPriority: Nov 12, 2010Filed: Nov 23, 2016Granted: Mar 13, 2018
Est. expiryNov 12, 2030(~4.4 yrs left)· nominal 20-yr term from priority
Inventors:QUAN XIAO FEI
G06F 9/45558G06F 12/0873G06F 2212/60G06F 2212/608G06F 12/0813G06F 2009/45583G06F 2212/281G06F 12/0811G06F 2212/152G06F 2212/1016G06F 2212/154G06F 12/0897G06F 2212/62G06F 12/0868G06F 12/08G06F 12/0866G06F 2212/283G06F 2212/1008G06F 2212/313
47
PatentIndex Score
0
Cited by
38
References
20
Claims

Abstract

A methods and device for accessing virtual machine (VM) data are described. A computing device for accessing virtual machine comprises an access request process module, a data transfer proxy module and a virtual disk. The access request process module receives a data access request sent by a VM and adds the data access request to a request array. The data transfer proxy module obtains the data access request from the request array, maps the obtained data access request to a corresponding virtual storage unit, and maps the virtual storage unit to a corresponding physical storage unit of a distributed storage system. A corresponding data access operation may be performed based on a type of the data access request.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A system comprising:
 one or more processors; 
 memory; 
 an access request process module stored in the memory and executable by the one or more processors to:
 receive a data access request from a virtual machine, and 
 add the data access request into a particular request array of a plurality of request arrays in an event that data associated with the data access request does not exist in a cache storage, each of the plurality of request arrays individually corresponding to a thread of a plurality of threads that are concurrently activated; and 
 
 a plurality of data transfer proxy modules stored in the memory and executable by the one or more processors, the plurality of data transfer proxy modules being individually implemented by the plurality of threads, the plurality of data transfer proxy modules comprising a particular data transfer proxy module to:
 obtain the data access request from the particular request array, the particular request array corresponding to a particular thread that implements the particular data transfer proxy module, and 
 map the data access request to a virtual storage unit that corresponds to a physical storage unit of a storage system. 
 
 
     
     
       2. The system of  claim 1 , wherein the particular data transfer proxy module further performs a data access operation on the data associated with the data access request based at least in part on a request type that is included in the data access request. 
     
     
       3. The system of  claim 1 , wherein the data access request includes a request type, an initial address of data storage, and a data size. 
     
     
       4. The system of  claim 1 , further comprising a cache module stored in the memory and executable by the one or more processors to store the data associated with the data access request in a cache slot of the cache storage. 
     
     
       5. The system of  claim 1 , wherein the cache storage comprises a local memory or a local physical disk. 
     
     
       6. The system of  claim 1 , further comprising a data snapshot module stored in the memory and executable by the one or more processors to obtain a virtual storage unit of a virtual disk partition of original data and a virtual storage unit of a virtual disk partition of snapshot data from a mapping partition, wherein the virtual disk partition of the original data, the virtual disk partition of the snapshot data and the mapping partition are included in a virtual disk. 
     
     
       7. The system of  claim 6 , further comprising an export module stored in the memory and executable by the one or more processors to map the virtual storage unit of the original data and the virtual storage unit of the snapshot data to physical storages units of the storage system after an export request is received. 
     
     
       8. The system of  claim 6 , further comprising an import module stored in the memory and executable by the one or more processors to map physical storages units of the storage system to the virtual storage unit of the original data and the virtual storage unit of the snapshot data after an import request is received. 
     
     
       9. The system of  claim 6 , wherein the data snapshot module further obtains the original data and the snapshot data from physical storages units. 
     
     
       10. A method comprising:
 receiving a data access request from a virtual machine, and 
 adding the data access request into a request array of a plurality of request arrays in an event that data associated with the data access request does not exist in a cache storage, the plurality of request arrays individually corresponding to a plurality of threads that are concurrently activated; and 
 obtaining the data access request from the request array, the request array corresponding to a thread that implements a data transfer proxy module of a plurality of data transfer proxy modules, the plurality of data transfer proxy modules being individually implemented by the plurality of threads, and 
 mapping the data access request to a virtual storage unit that corresponds to a physical storage unit of a storage system. 
 
     
     
       11. The method of  claim 10 , further comprising performing a data access operation on the data associated with the data access request based at least in part on a request type that is included in the data access request. 
     
     
       12. The method of  claim 10 , wherein the data access request includes a request type, an initial address of data storage, and a data size. 
     
     
       13. The method of  claim 10 , further comprising storing the data associated with the data access request in a cache slot of the cache storage. 
     
     
       14. The method of  claim 10 , wherein the cache storage comprises a local memory or a local physical disk. 
     
     
       15. One or more non-transitory media storing instructions that, when executed by one or more processors, cause the one or more processors to perform acts comprising:
 receiving a data access request from a virtual machine, and 
 adding the data access request into a request array of a plurality of request arrays in an event that data associated with the data access request does not exist in a cache storage, the plurality of request arrays individually corresponding to a plurality of threads that are concurrently activated; and 
 obtaining the data access request from the request array, the request array corresponding to a thread that implements a data transfer proxy module of a plurality of data transfer proxy modules, the plurality of data transfer proxy modules being individually implemented by the plurality of threads, and 
 mapping the data access request to a virtual storage unit that corresponds to a physical storage unit of a storage system. 
 
     
     
       16. The one or more non-transitory media of  claim 15 , the acts further comprising performing a data access operation on the data associated with the data access request based at least in part on a request type that is included in the data access request. 
     
     
       17. The one or more non-transitory media of  claim 15 , wherein the data access request includes a request type, an initial address of data storage, and a data size. 
     
     
       18. The one or more non-transitory media of  claim 15 , the acts further comprising storing the data associated with the data access request in a cache slot of the cache storage. 
     
     
       19. The one or more non-transitory media of  claim 15 , wherein the cache storage comprises a local memory or a local physical disk. 
     
     
       20. The one or more non-transitory media of  claim 15 , the acts further comprising obtaining a virtual storage unit of a virtual disk partition of original data and a virtual storage unit of a virtual disk partition of snapshot data from a mapping partition, wherein the virtual disk partition of the original data, the virtual disk partition of the snapshot data and the mapping partition are included in a virtual disk.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.