TWI549060B - Access methods and devices for virtual machine data - Google Patents

Access methods and devices for virtual machine data Download PDF

Info

Publication number
TWI549060B
TWI549060B TW100108083A TW100108083A TWI549060B TW I549060 B TWI549060 B TW I549060B TW 100108083 A TW100108083 A TW 100108083A TW 100108083 A TW100108083 A TW 100108083A TW I549060 B TWI549060 B TW I549060B
Authority
TW
Taiwan
Prior art keywords
data
request
storage space
virtual
read
Prior art date
Application number
TW100108083A
Other languages
English (en)
Other versions
TW201220197A (en
Inventor
xiao-fei Quan
Original Assignee
Alibaba Group Holding Ltd
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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Publication of TW201220197A publication Critical patent/TW201220197A/zh
Application granted granted Critical
Publication of TWI549060B publication Critical patent/TWI549060B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0811Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0813Multiuser, multiprocessor or multiprocessing cache systems with a network or matrix configuration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing 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/0868Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing 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/0873Mapping of cache memory to specific storage devices or parts thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0893Caches characterised by their organisation or structure
    • G06F12/0897Caches characterised by their organisation or structure with two or more cache hierarchy levels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1008Correctness of operation, e.g. memory ordering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/15Use in a specific computing environment
    • G06F2212/152Virtualized environment, e.g. logically partitioned system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/15Use in a specific computing environment
    • G06F2212/154Networked environment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/28Using a specific disk cache architecture
    • G06F2212/281Single cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/28Using a specific disk cache architecture
    • G06F2212/283Plural cache memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/31Providing disk cache in a specific location of a storage system
    • G06F2212/313In storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/608Details relating to cache mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/62Details of cache specific to multiprocessor cache arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

虛擬機資料的訪問方法和設備
本發明涉及電腦技術領域,特別是涉及一種虛擬機資料的訪問方法和設備。
虛擬機是藉由軟體類比實現具有完整硬體系統功能並且運行在一個完全隔離環境中的電腦系統。藉由虛擬機技術,在一台實體電腦上可以類比出一台或多台虛擬的電腦。這些虛擬機完全就像真正的實體電腦那樣進行工作,例如可以安裝作業系統、安裝應用程式、訪問網路資源等。雖然虛擬機只是實體電腦上的一個應用程式,是虛擬出來的一個電腦,但是對於在虛擬機中運行的應用程式而言,它就像是在真正的實體電腦中進行工作一樣。
通常,虛擬機的資料儲存在虛擬磁片中,而虛擬磁片多以鏡像文件、邏輯虛擬卷、邏輯磁片或邏輯磁片分區的形式存於本機的實體電腦的實體磁片中,虛擬機藉由訪問所在實體電腦的實體磁片來訪問各種資料。如果本機實體電腦停機或者損壞,將會導致虛擬機的資料丟失,因此,虛擬機的資料儲存方式的安全性和可靠性受本機實體電腦的影響,其安全性和可靠性較差,這極大地限制了虛擬機技術的發展和應用,如何提高虛擬機儲存資料的安全性和可靠性是本領域技術人員所面對的共同問題。
為了解決上述技術問題,本發明實施例提供了一種虛擬機資料的訪問方法和設備,利用目前的雲端計算或雲端儲存等大規模分散式計算環境,為資料儲存提供高可靠性,以使虛擬機的虛擬磁片同時存於分散式儲存系統各個實體電腦的實體磁片中,以提高儲存虛擬機資料的安全性和可靠性。
本發明實施例公開公開了如下技術方案:一種虛擬機資料的訪問設備,包括:訪問請求處理模組、資料轉發代理模組和虛擬磁片,訪問請求處理模組,用於接收虛擬機發送的資料訪問請求,將所述資料訪問請求加入到請求佇列中,其中,請求佇列中的資料訪問請求與虛擬磁片的虛擬儲存空間之間映射,所述虛擬儲存空間與分散式儲存系統的實體儲存空間之間映射;資料轉發代理模組,用於從請求佇列中獲取資料訪問請求,將獲取的資料訪問請求映射為對應的虛擬儲存空間,再將映射得到的虛擬儲存空間映射為對應的實體儲存空間,根據資料訪問請求類型,在映射得到的實體儲存空間中執行對應的資料訪問操作。
一種虛擬機資料的訪問方法,包括:接收虛擬機發送的資料訪問請求,將所述資料訪問請求加入到請求佇列中,其中,請求佇列中的資料訪問請求與虛擬磁片的虛擬儲存空間之間映射,所述虛擬儲存空間與分散式儲存系統的實體儲存空間之間映射;從請求佇列中獲取資料訪問請 求,將獲取的資料訪問請求映射為對應的虛擬儲存空間,再將映射得到的虛擬儲存空間映射為對應的實體儲存空間,根據資料訪問請求類型,在映射得到的實體儲存空間中執行對應的資料訪問操作。
由上述實施例可以看出,本發明實施例提供了一種虛擬機資料的訪問設備以及實施該設備的方法,基於位址映射可以使虛擬機的虛擬磁片同時存於分散式儲存系統各個實體電腦的實體磁片中,最終提高儲存虛擬機資料的安全性和可靠性。
為使本發明的上述目的、特徵和優點能夠更加明顯易懂,下面結合附圖對本發明實施例進行詳細描述。
實施例一
請參閱圖1,其為本發明一種虛擬機資料的訪問設備的一個實施例的結構圖,該設備訪問請求處理模組101、資料轉發代理模組102和虛擬磁片103:訪問請求處理模組101,用於接收虛擬機發送的資料訪問請求,將所述資料訪問請求加入到請求佇列中,其中,請求佇列中的資料訪問請求與虛擬磁片103的虛擬儲存空間之間映射,所述虛擬儲存空間與分散式儲存系統的實體儲存空間之間映射;資料轉發代理模組102,用於從請求佇列中獲取資料 訪問請求,將獲取的資料訪問請求映射為對應的虛擬儲存空間,再將映射得到的虛擬儲存空間映射為對應的實體儲存空間,根據資料訪問請求類型,在映射得到的實體儲存空間中執行對應的資料訪問操作。
例如,當獲取的資料訪問請求的類型為寫入資料時,將映射得到的實體儲存空間資訊發送給分散式儲存系統,以便分散式儲存系統根據獲得的實體儲存空間資訊執行資料寫入;當獲取的資料訪問請求的類型為讀取資料時,根據映射得到的實體儲存空間資訊從分散式儲存系統中讀取資料,將讀取的資料反饋給虛擬機。
其中,請參閱圖2,其為本發明中一種基於分散式的虛擬機資料的訪問系統200的結構示意圖。虛擬機資料的訪問設備作為虛擬機與分散式儲存系統之間的資料傳輸通道,向虛擬機提供全局的、一致的、完整的、高效的、安全的、相容的資料訪問服務。虛擬機資料的訪問設備包括訪問請求處理模組、資料轉發代理模組和虛擬磁片,訪問請求處理模組接收虛擬機發送的每一個資料訪問請求,將所有接收到的資料訪問請求都加入到請求佇列中。請求佇列中的資料訪問請求與虛擬磁片的虛擬儲存空間之間映射,虛擬儲存空間進一步與分散式儲存系統的實體儲存空間之間映射。例如,在虛擬機發送的資料訪問請求中包括請求類型、資料起始位址、資料長度和位址空間,其中,請求類型用於指示資料訪問請求的類型,例如讀取、寫入或者刪除等資料訪問請求類型;資料起始位址用於指示資 料訪問請求所要訪問的資料在虛擬磁片的虛擬儲存空間中的起始位址。根據資料起始位址和資料長度可以進一步獲得每個資料訪問請求所要訪問的資料在虛擬磁片的虛擬儲存空間的儲存空間。位址空間用於指示當獲得資料訪問請求所要訪問的資料後,該部分資料在虛擬機的實體電腦的記憶體中進行緩存時的儲存空間。訪問請求處理模組從接收的資料訪問請求中提取出上述請求資訊後,將提取的請求資訊加入到請求佇列中,由於請求佇列的每一個請求中都包含有的請求類型、資料起始地址、資料長度和位址空間這四個請求資訊,由資料起始地址和資料長度可以確定每個資料訪問請求所要訪問的資料在虛擬磁片的虛擬儲存空間的儲存空間,即,每個資料訪問請求都有其映射的虛擬磁片的虛擬儲存空間,由每個資料訪問請求包含的資料起始位址和資料長度可以確定與資料訪問請求映射的虛擬儲存空間,該部分虛擬儲存空間用於儲存資料訪問請求所要訪問的資料。同時,虛擬磁片的虛擬儲存空間與分散式儲存系統的實體儲存空間之間映射,根據映射關係,可以進一步獲得每個資料訪問請求的待訪問資料在分散式儲存系統的實體儲存空間。
請參閱圖3,其為本發明一種映射關係300示意圖。當根據資料訪問請求中的資料起始位址和資料長度確定了被訪問資料在分散式儲存系統中的實體儲存空間後,資料轉發代理模組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,其為本發明一種資料快照的原理700示意圖。在設備的虛擬磁片中包括有三個虛擬分區:原始資料的虛擬磁片分區、快照資料的虛擬磁片分區和映射分區。其中,在映射分區中分別保存了原始資料的虛擬磁片分區和快照資料的虛擬磁片分區的虛擬儲存空間,當資料快照模組接收到資料快照請求時,從映射分區中獲取上述兩個虛擬儲存空間。在此情況下,該設備還包括導出模組,將上述虛擬儲存空間映射為分散式儲存系統的實體儲存空間,以便根據分散式儲存系統的實體儲存空間,從實體儲存空間中獲得相應的原始資料和快照資料,並進一步根據原始資料和快照資料實現某一個時刻的資料快照。
較佳的,所述設備還包括導入模組,用於當接收到導入請求時,將分散式儲存系統的實體儲存空間分別映射為原始資料的虛擬磁片分區和快照資料的虛擬磁片分區。
例如,當需要將位於分散式儲存系統中的原始資料和快照資料導出到其他的虛擬機時,導入模組將分散式儲存系統中的實體儲存空間分別映射為原始資料在其他虛擬機中的虛擬磁片分區和快照資料在其他虛擬機中的虛擬出盤分區,以便將資料備份到其他的儲存空間。
例如,在虛擬機資料的訪問設備的磁區編碼包括: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,其為本發明中基於虛擬機資料的訪問設備實現虛擬機單機啟動的場景1100示意圖。圖11中的虛線框部分即為本發明虛擬機資料的訪問設備。請參閱圖12,其為本發明中基於虛擬機資料的訪問設備實現虛擬機多機啟動的場景1200示意圖,圖12中的虛線框部分即 為本發明虛擬機資料的訪問設備。在虛擬機多機啟動場景中,提高了虛擬機的啟動時間和回應速度。請參閱圖13,其為本發明中基於虛擬機資料的訪問設備實現虛擬機遷移的場景1300示意圖,圖13中的虛線框部分即為本發明虛擬機資料的訪問設備。在虛擬機遷移場景中,減少了遷移的資料量,提高了遷移速度。請參閱圖14,其為本發明中基於虛擬機資料的訪問設備實現共用儲存的場景示意圖。圖14中的虛線框即為本發明虛擬機資料的訪問設備。在共用儲存場景中,各個伺服器節點使用本機的硬碟儲存資料。 在伺服器機群上部署分散式儲存系統。集群內各個節點藉由本發明的虛擬機資料訪問設備構建儲存局域網(SAN),在此基礎上部署SAN共用軟體實現集群內儲存設備共用和管理資料並發訪問。SAN共用軟體可選用pNFS/GFS2等,對於Windows系統可使用CIFS等。
需要說明的是,本領域普通技術人員可以理解實現上述實施例方法中的全部或部分流程,是可以藉由電腦程式來指令相關的硬體來完成,所述的程式可儲存於一電腦可讀取儲存媒體中,該程式在執行時,可包括如上述各方法的實施例的流程。其中,所述的儲存媒體可為磁碟、光碟、唯讀記憶體(Read-Only Memory,ROM)或隨機存取記憶體(Random Access Memory,RAM)等。
以上對本發明所提供的一種虛擬機資料的訪問設備和方法進行了詳細介紹,本文中應用了具體實施例對本發明的原理及實施方式進行了闡述,以上實施例的說明只是用 於幫助理解本發明的方法及其核心思想;同時,對於本領域的一般技術人員,依據本發明的思想,在具體實施方式及應用範圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本發明的限制。
101‧‧‧請求處理模組
102‧‧‧資料轉發代理模組
103‧‧‧虛擬磁片
104‧‧‧二階快取模組
105‧‧‧三階快取模組
106‧‧‧資料快照模組
107‧‧‧導出模組
200‧‧‧基於分散式的虛擬機資料的訪問系統
300‧‧‧映射關係
700‧‧‧資料快照的原理
801‧‧‧接收虛擬機發送的資料訪問請求,將所述資料訪問請求加入到請求佇列中,其中,請求佇列中的資料訪問請求與虛擬磁片的虛擬儲存空間之間映射,所述虛擬儲存空間與分散式儲存系統的實體儲存空間之間映射
802‧‧‧從請求佇列中獲取資料訪問請求,將獲取的資料訪問請求映射為對應的虛擬儲存空間,再將映射得到的虛擬儲存空間映射為對應的實體儲存空間,根據資料訪問請求類型,在映射得到的實體儲存空間中執行對應的資料訪問操作
901‧‧‧接收虛擬機發送的資料讀取請求
902‧‧‧從二階快取區中搜尋是否有資料讀取請求指示的待讀取資料
903‧‧‧從二階快取區中讀取資料
904‧‧‧將所述資料讀取請求加入到請求佇列中,其中,請求佇列中的資料讀取請求與虛擬磁片的虛擬儲存空間之間映射,所述虛擬儲存空間與分散式儲存系統的實體儲存空間之間映射
905‧‧‧從請求佇列中獲取資料讀取請求,將獲取的資料讀取請求映射為對應的虛擬儲存空間,再將映射得到的虛擬儲存空間映射為對應的實體儲存空間,根據資料讀取請求,在映射得到的實體儲存空間中執行對應的資料讀取操作
906‧‧‧建立一個二階快取區,將讀取的資料儲存在建立的二階快取區
1001‧‧‧接收虛擬機發送的資料讀取請求,將所述資料讀取請求加入到請求佇列中,其中,請求佇列中的資料讀取請求與虛擬磁片的虛擬儲存空間之間映射,所述虛擬儲存空間與分散式儲存系統的實體儲存空間之間映射
1002‧‧‧從請求佇列中獲取資料讀取請求後,從三階快取區中搜尋是否有獲取的資料讀取請求指示的待讀取資料
1003‧‧‧從三階快取區中獲取待讀取資料
1004‧‧‧將獲取的資料讀取請求映射為對應的虛擬儲存空間,再將映射得到的虛擬儲存空間映射為對應的實體儲存空間,根據資料讀取請求,在映射得到的實體儲存空間中執行對應的資料讀取操作
1005‧‧‧建立一個三級儲存區,將讀取的資料儲存在建立的三階快取區
1100‧‧‧基於虛擬機資料的訪問設備實現虛擬機單機啟動的場景
1200‧‧‧基於虛擬機資料的訪問設備實現虛擬機多機啟動的場景
1300‧‧‧基於虛擬機資料的訪問設備實現虛擬機遷移的場景
為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,對於本領域普通技術人員而言,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。
圖1為本發明一種虛擬機資料的訪問設備的一個實施例的結構圖;圖2為本發明一種基於分散式的虛擬機資料的訪問系統的結構示意圖;圖3為本發明一種映射關係示意圖;圖4為本發明一種虛擬機資料的訪問設備的另一個實施例的結構圖;圖5為本發明一種虛擬機資料的訪問設備的另一個實施例的結構圖;圖6為本發明一種虛擬機資料的訪問設備的另一個實施例的結構圖;圖7為本發明一種資料快照的原理示意圖;圖8為本發明一種虛擬機資料的訪問方法的一個實施 例的流程圖;圖9為本發明一種虛擬機資料的訪問方法的另一個實施例的流程圖;圖10為本發明一種虛擬機資料的訪問方法的一個實施例的流程圖;圖11為本發明中基於虛擬機資料的訪問設備實現虛擬機單機啟動的場景示意圖;圖12為本發明中基於虛擬機資料的訪問設備實現虛擬機多機啟動的場景示意圖;圖13為本發明中基於虛擬機資料的訪問設備實現虛擬機遷移的場景示意圖;圖14為本發明中基於虛擬機資料的訪問設備實現共用儲存的場景示意圖。
101‧‧‧請求處理模組
102‧‧‧資料轉發代理模組
103‧‧‧虛擬磁片

Claims (12)

  1. 一種虛擬機資料的訪問設備,其特徵在於,包括:訪問請求處理模組、資料轉發代理模組和虛擬磁片,訪問請求處理模組,用於接收虛擬機發送的資料訪問請求,判定與該資料訪問請求相關聯的資料是否儲存在快取儲存裝置中,如果與該資料訪問請求相關聯的該資料儲存在該快取儲存裝置中,則獲取與該資料訪問請求相關聯的該資料,如果與該資料訪問請求相關聯的該資料未儲存在該快取儲存裝置中,則將該資料訪問請求加入到請求佇列中,其中,該請求佇列中的該資料訪問請求與虛擬磁片的虛擬儲存空間之間映射,該虛擬儲存空間與分散式儲存系統的實體儲存空間之間映射;資料轉發代理模組,用於從該請求佇列中獲取該資料訪問請求,將獲取的該資料訪問請求映射為對應的虛擬儲存空間,再將映射得到的虛擬儲存空間映射為對應的實體儲存空間,根據資料訪問請求類型,在映射得到的實體儲存空間中執行對應的資料訪問操作。
  2. 根據申請專利範圍第1項之設備,其中,該設備還包括二階快取(cache)模組,該二階快取模組,用於在該資料轉發代理模組讀取資料後,建立一個二階快取區,將該資料轉發代理模組讀取的資料儲存在建立的二階快取區;在該訪問請求處理模組,用於在接收到虛擬機發送的資料讀取請求後,從二階快取區中搜尋是否有該資料讀取 請求指示的待讀取資料,如果有,從二階快取區中獲取資料,否則,將該資料讀取請求加入到請求佇列中。
  3. 根據申請專利範圍第2項之設備,其中,該二階快取區為本機實體電腦中的實體記憶體空間。
  4. 根據申請專利範圍第1項之設備,其中,該設備還包括三階快取模組,該三階快取模組,用於在資料轉發代理模組讀取資料後,建立一個三階快取區,將資料轉發代理模組讀取的資料儲存在建立的三階快取區;則該資料轉發代理模組,用於在從請求佇列中獲取資料讀取請求後,從三階快取區中搜尋是否有該資料讀取請求指示的待讀取資料,如果有,從三階快取區中獲取資料,否則,將獲取的資料讀取請求映射為對應的虛擬儲存空間,再將映射得到的虛擬儲存空間映射為對應的實體儲存空間,根據該資料讀取請求,在映射得到的實體儲存空間中執行對應的資料讀取操作。
  5. 根據申請專利範圍第4項之設備,其中,該三階快取區為本機實體電腦中的實體記憶體空間。
  6. 根據申請專利範圍第1項之設備,其中,該設備還包括資料快照模組,其中,虛擬磁片包括原始資料的虛擬磁片分區、映射分區和快照資料的虛擬磁片分區,該資料快照模組,用於當接收到資料快照請求時,從映射分區中獲得原始資料的虛擬磁片分區和快照資料的虛擬磁片分區的虛擬儲存空間, 該設備還包括導出模組,用於當接收到導出請求時,將該資料快照模組獲得的原始資料的虛擬儲存空間和快照資料的虛擬儲存空間分別映射為對應的分散式儲存系統的實體儲存空間。
  7. 根據申請專利範圍第6項之設備,其中,該設備還包括導入模組,該導入模組,用於當接收到導入請求時,將分散式儲存系統的實體儲存空間分別映射為原始資料的虛擬磁片分區和快照資料的虛擬磁片分區。
  8. 一種虛擬機資料的訪問方法,其特徵在於,包括:接收虛擬機發送的資料訪問請求,判定與該資料訪問請求相關聯的資料是否儲存在快取儲存裝置中,如果與該資料訪問請求相關聯的該資料儲存在該快取儲存裝置中,則獲取與該資料訪問請求相關聯的該資料,如果與該資料訪問請求相關聯的該資料未儲存在該快取儲存裝置中,則將該資料訪問請求加入到請求佇列中,其中,該請求佇列中的該資料訪問請求與虛擬磁片的虛擬儲存空間之間映射,該虛擬儲存空間與分散式儲存系統的實體儲存空間之間映射;從該請求佇列中獲取該資料訪問請求,將獲取的該資料訪問請求映射為對應的虛擬儲存空間,再將映射得到的虛擬儲存空間映射為對應的實體儲存空間,根據資料訪問請求類型,在映射得到的實體儲存空間中執行對應的資料 訪問操作。
  9. 根據申請專利範圍第8項之方法,其中,該方法還包括:當根據資料讀取請求,在映射得到的實體儲存空間中執行對應的資料讀取操作後,建立一個二階快取區,將讀取的資料儲存在建立的二階快取區;當接收到虛擬機發送的資料讀取請求後,從二階快取區中搜尋是否有資料讀取請求指示的待讀取資料,如果有,從二階快取區中讀取資料,否則,將該資料讀取請求加入到請求佇列中。
  10. 根據申請專利範圍第8項之方法,其中,該方法還包括:當根據資料讀取請求,在映射得到的實體儲存空間中執行對應的資料讀取操作後,建立一個三階快取區,將讀取的資料儲存在建立的三階快取區;當從請求佇列中獲取資料讀取請求後,從三階快取區中搜尋是否有該資料讀取請求指示的待讀取資料,如果有,從三階快取區中獲取資料,否則,將獲取的資料讀取請求映射為對應的虛擬儲存空間,再將映射得到的虛擬儲存空間映射為對應的實體儲存空間,根據資料讀取請求,在映射得到的實體儲存空間中執行對應的資料讀取操作。
  11. 根據申請專利範圍第8項之方法,其中,該方法還包括:當接收到快照請求時,從映射分區中獲得原始資料的 虛擬磁片分區和快照資料的虛擬磁片分區的虛擬儲存空間;當接收到導出請求時,將獲得的原始資料的虛擬儲存空間和快照資料的虛擬儲存空間分別映射為對應的分散式儲存系統的實體儲存空間。
  12. 根據申請專利範圍第8項之方法,其中,該方法還包括:當接收到導入請求時,將分散式儲存系統的實體儲存空間分別映射為原始資料的虛擬磁片分區和快照資料的虛擬磁片分區。
TW100108083A 2010-11-12 2011-03-10 Access methods and devices for virtual machine data TWI549060B (zh)

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
TW201220197A TW201220197A (en) 2012-05-16
TWI549060B true TWI549060B (zh) 2016-09-11

Family

ID=46051305

Family Applications (1)

Application Number Title Priority Date Filing Date
TW100108083A TWI549060B (zh) 2010-11-12 2011-03-10 Access methods and devices for virtual machine data

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)

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102467408B (zh) 2010-11-12 2014-03-19 阿里巴巴集团控股有限公司 一种虚拟机数据的访问方法和设备
US8996807B2 (en) 2011-02-15 2015-03-31 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for a multi-level cache
US9201677B2 (en) 2011-05-23 2015-12-01 Intelligent Intellectual Property Holdings 2 Llc Managing data input/output operations
US9003104B2 (en) 2011-02-15 2015-04-07 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for a file-level cache
US9116812B2 (en) 2012-01-27 2015-08-25 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for a de-duplication cache
US10073656B2 (en) 2012-01-27 2018-09-11 Sandisk Technologies Llc Systems and methods for storage virtualization
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
US10346095B2 (en) 2012-08-31 2019-07-09 Sandisk Technologies, Llc Systems, methods, and interfaces for adaptive cache persistence
CN103793330B (zh) * 2012-10-31 2017-03-01 国际商业机器公司 在虚拟机环境中进行数据交换的方法和装置
CN103810737B (zh) * 2012-11-14 2018-04-27 腾讯科技(深圳)有限公司 Mvc模式的动画实现方法及装置
CN103064797B (zh) * 2012-12-21 2016-06-29 华为技术有限公司 数据处理方法和虚拟机管理平台
CN103902348B (zh) * 2012-12-25 2017-07-14 华为技术有限公司 一种虚拟化环境下用户数据的读写方法、系统及物理机
US9842053B2 (en) 2013-03-15 2017-12-12 Sandisk Technologies Llc Systems and methods for persistent cache logging
CN104104705B (zh) * 2013-04-11 2018-02-02 阿里巴巴集团控股有限公司 分布式存储系统的接入方法和设备
CN103218179A (zh) * 2013-04-23 2013-07-24 深圳市京华科讯科技有限公司 基于虚拟化的二级系统加速方法
CN104020961B (zh) * 2014-05-15 2017-07-25 深信服科技股份有限公司 分布式数据存储方法、装置及系统
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
CN104517067B (zh) * 2014-12-30 2017-12-15 华为技术有限公司 访问数据的方法、装置及系统
JP6902580B2 (ja) * 2015-10-22 2021-07-14 オラクル・インターナショナル・コーポレイション トランザクション処理環境において分散型キャッシングを提供するためのシステムおよび方法
CN106681649A (zh) * 2015-11-06 2017-05-17 湖南百里目科技有限责任公司 一种分布式存储元数据加速方法
CN107851062A (zh) * 2015-12-31 2018-03-27 华为技术有限公司 一种主机集群中缓存管理方法及主机
CN106959927B (zh) * 2016-01-08 2020-08-25 阿里巴巴集团控股有限公司 获取虚拟机中的逻辑分区的位置信息的方法及装置
CN105868056B (zh) * 2016-04-07 2019-06-21 北京北信源软件股份有限公司 获取Windows虚拟机中已删除文件的方法、装置及安全虚拟机
CN108008911A (zh) * 2016-11-01 2018-05-08 阿里巴巴集团控股有限公司 读写请求处理方法及装置
CN106534328B (zh) * 2016-11-28 2020-01-31 网宿科技股份有限公司 节点连接方法及分布式计算系统
CN108572888B (zh) * 2017-03-14 2022-08-19 阿里巴巴集团控股有限公司 磁盘快照创建方法和磁盘快照创建装置
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
US10721304B2 (en) * 2017-09-14 2020-07-21 International Business Machines Corporation Storage system using cloud storage as a rank
US10372363B2 (en) 2017-09-14 2019-08-06 International Business Machines Corporation Thin provisioning using cloud based ranks
US10581969B2 (en) 2017-09-14 2020-03-03 International Business Machines Corporation Storage system using cloud based ranks as replica storage
CN107608806A (zh) * 2017-09-25 2018-01-19 郑州云海信息技术有限公司 一种虚拟机间快速访问传输数据的系统及方法
CN108536616B (zh) * 2018-03-28 2021-10-15 华中科技大学 一种提升pcm数据加密写性能和寿命的映射方法
CN108563492B (zh) * 2018-05-07 2022-05-31 联想(北京)有限公司 数据获取方法、虚拟机以及电子设备
CN110554977A (zh) * 2018-05-30 2019-12-10 阿里巴巴集团控股有限公司 数据缓存方法、数据处理方法、计算机设备、存储介质
CN110933120A (zh) * 2018-09-19 2020-03-27 阿里巴巴集团控股有限公司 一种基于混合云的计算方法、装置以及系统
CN109308288B (zh) * 2018-09-26 2020-12-08 新华三云计算技术有限公司 数据处理方法及装置
CN109960569B (zh) * 2019-03-26 2021-04-13 联想(北京)有限公司 一种虚拟化处理方法及装置
CN110147266B (zh) * 2019-04-29 2024-03-15 腾讯科技(深圳)有限公司 虚拟机启动方法和装置、存储介质及电子装置
CN110990483B (zh) * 2019-11-26 2023-05-30 上海莉莉丝科技股份有限公司 分布式缓存中的缓存节点的数据访问和控制方法及系统
CN111026333A (zh) * 2019-12-10 2020-04-17 北京金山云网络技术有限公司 访问请求处理方法、处理装置、电子设备及存储介质
CN111367472A (zh) * 2020-02-28 2020-07-03 北京百度网讯科技有限公司 虚拟化方法和装置
CN112631520B (zh) * 2020-12-25 2023-09-22 北京百度网讯科技有限公司 分布式块存储系统、方法、装置、设备和介质
CN112631734A (zh) * 2020-12-30 2021-04-09 北京天融信网络安全技术有限公司 虚拟机镜像文件的处理方法、装置、设备和存储介质
CN117707437A (zh) * 2024-02-06 2024-03-15 济南浪潮数据技术有限公司 基于分布式存储系统的虚拟磁盘存储方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060064697A1 (en) * 2004-09-23 2006-03-23 Alain Kagi Method and apparatus for scheduling virtual machine access to shared resources
US20090157942A1 (en) * 2007-12-18 2009-06-18 Hitachi Global Storage Technologies Netherlands, B.V. Techniques For Data Storage Device Virtualization
US7606868B1 (en) * 2006-03-30 2009-10-20 Wmware, Inc. Universal file access architecture for a heterogeneous computing environment
TW201038019A (en) * 2009-04-01 2010-10-16 Alibaba Group Holding Ltd Message processing method and system

Family Cites Families (23)

* Cited by examiner, † Cited by third party
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
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
US8352940B2 (en) * 2008-06-09 2013-01-08 International Business Machines Corporation Virtual cluster proxy to virtual I/O server manager interface
WO2010030996A1 (en) * 2008-09-15 2010-03-18 Virsto Software Storage management system for virtual machines
CN101819564B (zh) 2009-02-26 2013-04-17 国际商业机器公司 协助在虚拟机之间进行通信的方法和装置
JP5412882B2 (ja) 2009-03-04 2014-02-12 富士通株式会社 論理ボリューム構成情報提供プログラム、論理ボリューム構成情報提供方法、および論理ボリューム構成情報提供装置
CN101697134A (zh) * 2009-10-27 2010-04-21 北京大学 一种支持相似虚拟机快速启动的方法
US8656136B2 (en) 2010-02-05 2014-02-18 Hitachi, Ltd. Computer system, computer and method for performing thin provisioning capacity management in coordination with virtual machines
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 阿里巴巴集团控股有限公司 一种虚拟机数据的访问方法和设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060064697A1 (en) * 2004-09-23 2006-03-23 Alain Kagi Method and apparatus for scheduling virtual machine access to shared resources
US7606868B1 (en) * 2006-03-30 2009-10-20 Wmware, Inc. Universal file access architecture for a heterogeneous computing environment
US20090157942A1 (en) * 2007-12-18 2009-06-18 Hitachi Global Storage Technologies Netherlands, B.V. Techniques For Data Storage Device Virtualization
TW201038019A (en) * 2009-04-01 2010-10-16 Alibaba Group Holding Ltd Message processing method and system

Also Published As

Publication number Publication date
CN102467408B (zh) 2014-03-19
CN102467408A (zh) 2012-05-23
US9552220B2 (en) 2017-01-24
US9235436B2 (en) 2016-01-12
TW201220197A (en) 2012-05-16
US8996809B2 (en) 2015-03-31
JP2014501962A (ja) 2014-01-23
JP6338208B2 (ja) 2018-06-06
US20130232303A1 (en) 2013-09-05
EP2638476B1 (en) 2020-12-30
US20170075718A1 (en) 2017-03-16
EP2638476A4 (en) 2014-11-05
US20150193253A1 (en) 2015-07-09
US9916176B2 (en) 2018-03-13
EP2638476A1 (en) 2013-09-18
WO2012065005A1 (en) 2012-05-18
US20160239332A1 (en) 2016-08-18
HK1166535A1 (zh) 2012-11-02

Similar Documents

Publication Publication Date Title
TWI549060B (zh) Access methods and devices for virtual machine data
US11409705B2 (en) Log-structured storage device format
US10496613B2 (en) Method for processing input/output request, host, server, and virtual machine
US9582198B2 (en) Compressed block map of densely-populated data structures
JP5592942B2 (ja) 仮想マシンシステムにおけるショートカット入出力
EP2863310B1 (en) Data processing method and apparatus, and shared storage device
US8868576B1 (en) Storing files in a parallel computing system based on user-specified parser function
WO2017113213A1 (zh) 访问请求处理方法、装置及计算机系统
EP2891051A1 (en) Block-level access to parallel storage
US20130262388A1 (en) Database backup to highest-used page
US9110820B1 (en) Hybrid data storage system in an HPC exascale environment
WO2013078583A1 (zh) 优化数据访问的方法及装置、优化数据存储的方法及装置
CN107423301B (zh) 一种数据处理的方法、相关设备及存储系统
CN111124270B (zh) 缓存管理的方法、设备和计算机程序产品
WO2023045492A1 (zh) 一种数据预取方法、计算节点和存储系统
CN114625762A (zh) 一种元数据获取方法、网络设备及系统
WO2016037499A1 (zh) 一种内存迁移方法及设备
WO2014190700A1 (zh) 一种内存访问的方法、缓冲调度器和内存模块
CN111930684A (zh) 基于hdfs的小文件处理方法、装置、设备及存储介质
US20140074785A1 (en) Open file rebalance
US11822950B2 (en) Cloneless snapshot reversion
US11586353B2 (en) Optimized access to high-speed storage device
CN115793957A (zh) 写数据的方法、装置及计算机存储介质
US11989159B2 (en) Hybrid snapshot of a global namespace
US10558618B1 (en) Metadata compression

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees