CN110209354B - 用于处理数据的方法、装置、设备和介质 - Google Patents

用于处理数据的方法、装置、设备和介质 Download PDF

Info

Publication number
CN110209354B
CN110209354B CN201910438970.2A CN201910438970A CN110209354B CN 110209354 B CN110209354 B CN 110209354B CN 201910438970 A CN201910438970 A CN 201910438970A CN 110209354 B CN110209354 B CN 110209354B
Authority
CN
China
Prior art keywords
virtual
block
data
address
memory
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.)
Active
Application number
CN201910438970.2A
Other languages
English (en)
Other versions
CN110209354A (zh
Inventor
谢永吉
柴稳
张宇
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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201910438970.2A priority Critical patent/CN110209354B/zh
Publication of CN110209354A publication Critical patent/CN110209354A/zh
Priority to US16/707,347 priority patent/US20200371827A1/en
Priority to JP2020001153A priority patent/JP6974510B2/ja
Priority to KR1020200003530A priority patent/KR102326280B1/ko
Application granted granted Critical
Publication of CN110209354B publication Critical patent/CN110209354B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30043LOAD or STORE instructions; Clear instruction
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • 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
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • 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/45579I/O management, e.g. providing access to device drivers or storage
    • 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
    • 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/45591Monitoring or debugging support

Abstract

根据本公开的实施例,提供了用于处理数据的方法、装置、设备和计算机可读存储介质,涉及云计算领域。用于处理数据的方法包括接收用于将数据块从虚拟机的虚拟存储器存储到虚拟机的虚拟盘的请求,其中请求指示虚拟存储器中用于存储数据块的虚拟存储器地址和虚拟盘中用于存储数据块的虚拟盘地址。该方法还包括基于虚拟存储器地址确定与虚拟机相关联的物理存储器内的、用于存储数据块的物理存储器地址。该方法还包括相关联地存储虚拟盘地址与物理存储器地址。通过生成虚拟盘内数据块的存储地址和物理存储器的存储地址的映射关系来实现将数据存储到虚拟盘,减少了数据转出操作中的数据复制,提高了数据处理的效率。

Description

用于处理数据的方法、装置、设备和介质
技术领域
本公开的实施例主要涉及计算机领域,并且更具体地,涉及用于处理数据的方法、装置、设备和计算机可读存储介质。
背景技术
随着计算机的发展,虚拟机的应用范围也越来越大。例如,越来越多的互联网服务选择部署在云上。在将服务部署在云上后,用户通过在云上运行的虚拟机来运行这些部署的服务。通过利用虚拟机,可以大大提高了用户处理服务的效率。
此外,在通过虚拟机运行各种服务时,可以在虚拟机上处理各种不同的数据。在运行服务的过程中,虚拟机还还会保存其处理的数据。由于通过虚拟机运行服务,使得可以在同一平台或同一主机上运行不同的操作系统,提高了主机设备与不同操作系统的兼容性。然而,在使用虚拟机的过程中还存在着需要解决的各种问题。
发明内容
根据本公开的示例实施例,提供了一种用于处理数据的方案。
在本公开的第一方面中,提供了一种用于处理数据的方法。该方法包括接收用于将数据块从虚拟机的虚拟存储器存储到虚拟机的虚拟盘的请求,其中请求指示虚拟存储器中用于存储数据块的虚拟存储器地址和虚拟盘中用于存储数据块的虚拟盘地址;基于虚拟存储器地址确定与虚拟机相关联的物理存储器内的、用于存储数据块的物理存储器地址;以及相关联地存储虚拟盘地址与物理存储器地址。
在本公开的第二方面中,提供了一种用于处理数据的方法。该方法包括接收用于将数据块从虚拟机的虚拟盘存储到虚拟机的虚拟存储器的请求,其中该请求指示虚拟机存储器中用于存储数据块的虚拟存储器地址和虚拟盘中用于存储数据块的虚拟盘地址;基于虚拟盘地址,确定与虚拟机相关联的物理存储器内的用于存储数据块的物理存储器地址;以及相关联地存储虚拟存储器地址和物理存储器地址。
在本公开的第三方面中,提供了一种用于处理数据的装置。该装置包括第一接收模块,被配置为接收用于将数据块从虚拟机的虚拟存储器存储到虚拟机的虚拟盘的请求,其中请求指示虚拟存储器中用于存储数据块的虚拟存储器地址和虚拟盘中用于存储数据块的虚拟盘地址;第一物理存储器地址确定模块,被配置为基于虚拟存储器地址确定与虚拟机相关联的物理存储器内的、用于存储数据块的物理存储器地址;以及第一地址存储模块,被配置为相关联地存储虚拟盘地址与物理存储器地址。
在本公开的第四方面中,提供了一种用于处理数据的装置。该装置包括第二接收模块,被配置为接收用于将数据块从虚拟机的虚拟盘存储到虚拟机的虚拟存储器的请求,其中请求指示虚拟机存储器中用于存储数据块的虚拟存储器地址和虚拟盘中用于存储数据块的虚拟盘地址;第二物理存储器地址确定模块,被配置为基于虚拟盘地址,确定与虚拟机相关联的物理存储器内的用于存储数据块的物理存储器地址;以及第二地址存储模块,被配置为相关联地存储虚拟存储器地址和物理存储器地址。
在本公开的第五方面中,提供了一种电子设备,包括一个或多个处理器;以及存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现根据本公开的第一方面的方法。
在本公开的第六方面中,提供了一种电子设备,包括一个或多个处理器;以及存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现根据本公开的第二方面的方法。
在本公开的第七方面中,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现根据本公开的第一方面的方法。
在本公开的第八方面中,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现根据本公开的第二方面的方法。
应当理解,发明内容部分中所描述的内容并非旨在限定本公开的实施例的关键或重要特征,亦非用于限制本公开的范围。本公开的其它特征将通过以下的描述变得容易理解
附图说明
结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标注表示相同或相似的元素,其中:
图1示出了根据本公开的实施例的用于处理数据的示例环境100的示意图;
图2示出了根据本公开的实施例的用于处理数据的方法200的流程图;
图3示出了根据本公开的实施例的用于处理数据的方法300的流程图;
图4示出了根据本公开的实施例的用于处理数据的示例环境400的示意图;
图5示出了根据本公开的实施例的用于处理数据的装置500的示意框图;
图6示出了根据本公开的实施例的用于处理数据的装置600的示意框图;以及
图7示出了能够实施本公开的多个实施例的计算设备700的框图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
在本公开的实施例的描述中,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
通常,在计算设备中,当存储器不足时,处理器会执行换出操作,将部分不常用的存储器内的数据存储到磁盘中,从而缓解存储器的压力。在需要这些数据时,处理器再执行换入操作,从磁盘中将该数据读取回来。随着云计算的普及,虚拟机系统也经常会使用这种换入/换出机制。虚拟机执行的换出操作为将虚拟存储器中的数据存储到虚拟盘中。由于虚拟盘实际上是通过物理机上的盘文件模拟的,即虚拟盘对应于物理机的物理盘上的预定存储空间。因此,换出操作实际上是将虚拟存储器的数据写入到物理盘上。与之对应的,换入操作,将所需的数据从虚拟盘中读取回到虚拟存储器中,实际上是从物理盘中读取相应数据写回到虚拟存储器中。
在虚拟机中执行换入或换出操作时,访问物理盘会影响数据处理效率。物理盘的访问操作有两种方式:缓冲I/O方式和直接I/O方式。缓冲I/O方式是直接访问存储器内的缓存页,缓存页会在合适时机与盘文件进行同步。直接I/O方式则是直接对盘进行访问操作。然而,在直接I/O方式中,由于对盘进行I/O操作,速度比较慢,因此效率比较低。而对于缓冲I/O方式,因为其直接复制虚拟存储器对应的物理存储器内的数据到缓存页,为存储器内数据复制,因此换出时会优于直接I/O方式。然而对于换入操作,如果缓存页已经被销毁,则缓冲I/O方式需要将数据先从物理盘读取到缓存页,然后再将缓存页中的数据复制到虚拟机存储器对应的物理存储器内。此时,缓冲I/O方式性能会较直接I/O方式差。此外,在转入操作或转出操作中,两种方式均需要在存储器内进行数据复制操作,耗费了大量的时间,降低了数据处理的效率。
根据本公开的实施例,提出了一种改进的用于处理数据的方案。在该方案中,获取用于将数据块从虚拟存储器存储到虚拟盘的请求,通过该请求指示的虚拟存储器地址确定对应的物理存储器地址,然后通过相关联的存储物理存储器地址和请求指示的虚拟盘中用于存储数据的虚拟盘地址来实现数据块被存储到虚拟盘。在数据从虚拟盘存储到虚拟存储器时也采取类似的操作。通过修改数据块的存储地址的映射关系来实现数据块的移动,减少了将数据块存储到虚拟盘或存储到虚拟存储器过程中数据的复制,提高了数据处理的效率。
图1出了根据本公开的实施例的用于处理数据的示例环境100的示意图。示例环境100包括计算设备,例如管理器101,用于管理虚拟机102的运行。管理器101可以管理虚拟机102,以使得数据块从虚拟机102虚拟存储器104存储到虚拟机102虚拟盘105、或者数据块从虚拟盘105存储到虚拟存储器104。管理器101可以是独立的计算设备,也可以是与该虚拟机102相关联的存储系统中的控制器,还可以是能够管理虚拟机102运行的任何其他适当的设备。上述示例仅是用于描述本公开的实施例,而非对本公开的具限定。
应当理解,图1中的虚拟机102仅是示例,而非对本公开的具体限定。本领域技术人员可以基于需要来使得管理器101对任意适当数目的虚拟机进行管理。
虚拟机102是指由特定的应用程序在物理机器的硬件平台上创建的应用执行环境,用户可以通过该环境来运行应用并与之交互,如同使用物理机器一样。在创建一个虚拟机时,通常需要通过管理器101从托管该虚拟机的主机系统分配一定数量的资源,以供虚拟机102在操作中使用。该资源可以为用于运行虚拟机的任何可用的资源,例如计算资源(例如CPU、GPU、FPGA等)、存储资源(例如存储器、存储盘等)、网络资源(例如网卡等)等。
虚拟机102包括虚拟存储器104和虚拟盘105。虚拟存储器104中存储的数据块存储在对应于虚拟存储器104的物理存储器103上。在一些实施例中,数据块在虚拟机存储器104上的存储地址与该数据块在物理存储器103上的存储地址之间存储在映射关系。备选地或附加地,这些映射关系作为数据项存储在映射表中。例如,该映射表可以为影子页表或扩展页表。基于数据块在虚拟存储器104中的存储地址,管理器102可通过该映射表找到其对应的物理存储器中的存储地址。上述示例仅是用于描述本公开的实施例,而非对本公开的具体限定。
虚拟盘105中存储的数据块存储在与虚拟盘105相对应的物理存储器103上或主机的物理盘上。如果虚拟盘105上的数据块存在于物理存储器103中,则数据块在虚拟盘105上的地址与数据块在物理存储器103上地址之间存在映射关系。在一些实施例中,该映射关系作为数据项被保存在主机页表中。如果虚拟盘105上的数据块不存在于物理存储器上,则虚拟盘105上的数据块存储在物理盘上。附加地,数据块在虚拟盘105上的地址和在物理盘上的地址存在映射关系。该映射关系通过预定的文件来实现,例如,用于实现虚拟盘和物理盘的映射关系的主机文件。上述示例仅是用于描述本公开的实施例,而非对本公开的具体限定。
物理存储器103用于存储虚拟存储器104上的数据和虚拟盘105中的部分数据。在一些实施例中,存储在物理存储器103中的虚拟盘105中的数据块会定期被冲刷到物理盘上。在一些实施例中,存储在物理存储器103中的虚拟盘105的数据量大于预定量时,会将物理存储器103中的与虚拟盘105有关的数据块冲刷到物理盘上。上述示例仅是用于描述本公开的实施例,而非对本公开的具体限定。
上面图1描述了根据本公开的实施例的用于处理数据的示例环境100的示意图。下面结合图2描述根据本公开的实施例的用于处理数据的方法200的流程图。方法200可以由图1中的管理器101来实现。为了便于讨论,将参照图1来描述方法200。应当理解,虽然以特定顺序示出,方法200中的一些步骤可以以与所示出的不同顺序或者以并行方式执行。本公开的实施例在此方面不受限制。此外,结合图1描述方法200仅是示例,而非对方法200的具体限定。
在框202处,管理器101接收用于将数据块从虚拟机102的虚拟存储器104存储到虚拟机102的虚拟盘105的请求,其中该请求指示虚拟存储器104中用于存储数据块的虚拟存储器地址和虚拟盘105中用于存储数据块的虚拟盘地址。在虚拟机102对虚拟存储器104中的数据执行转出操作时,会将虚拟存储器104中的数据存储到虚拟盘105中。因此,虚拟机102会向管理器101发送数据转出的请求,该请求中包括要转出的数据块在虚拟存储器104中存储地址以及虚拟盘105中要用于存储数据块的存储地址。
在框204处,管理器101基于虚拟存储器地址确定与虚拟机102相关联的物理存储器103内的、用于存储数据块的物理存储器地址。在管理器101接收到虚拟机102发出的数据转出请求后,会通过请求中的虚拟存储器地址来确定该数据块实际所在的物理存储器内的地址。在一些实施例中,虚拟存储器104中的数据块的存储地址与数据块所在的物理存储器103中的存储地址具有映射关系。在一些实施例中,该映射关系作为数据项被存储在第一映射表中,该第一映射表例如可以是影子页表或扩展页表。因此,管理器101可以通过第一映射表找到虚拟存储器104中的数据块所在的物理存储器地址。
在框206处,管理器101相关联地存储虚拟盘地址与物理存储器地址。在一些实施例中,管理器101相关联的存储获得的数据块所在的物理存储器地址和用于存储数据块的虚拟盘地址。例如,将物理存储器地址和虚拟盘地址的映射关系作为了一项数据存储在第二映射表中,该第二映射表用于存储数据块在虚拟盘105中的地址和数据块在物理存储器103中的地址的映射关系。例如,该第二映射表可以为主机页表。由于数据块所在的物理存储器地址与虚拟盘105地址存在映射关系,因此表明数据块被存储到虚拟盘105上了。
在将虚拟存储器中的数据存储到虚拟盘的过程中,通过仅修改数据块所在的物理存储器与虚拟盘之间的映射关系便实现了数据的转出操作,减少了数据块的复制量,提高了转出的效率。
此外,在将虚拟存储器104中的数据块转出到虚拟盘105后,需要将虚拟存储器104中存储该数据块的虚拟存储块映射到物理存储器103中一个新的物理存储块,以用于使该虚拟存储块可存储新的数据。此时,管理器101会在物理存储器103中为虚拟机存储器104分配新的物理存储块。然后,管理器101将分配的新的物理存储块的地址与该虚拟存储器地址相关联地存储,例如存储在虚拟存储器104与物理存储器103之间的映射表中。
管理器101在相关联地存储虚拟盘地址与物理存储器地址时,还需要基于虚拟盘地址,确定物理存储器103中是否存在与用于存储数据块的虚拟盘存储块相对应的第一物理存储块。如果存在该第一物理存储块,释放第一物理存储块。
在进行完上述操作后,管理器101向虚拟机102发送响应,以指示数据块已被存储到虚拟盘105。
通过在确定出存在第一物理存储块时,释放该第一物理存储块,可以使得物理存储器的存储空间及时的用于存储其他数据,提高了物理存储器的使用效率。
上面结合图2描述了根据本公开的实施例的用于处理数据的方法200的流程图,下面结合图3描述根据本公开的实施例的用于处理数据的方法300的流程图。方法300是用于将数据块从虚拟盘存储到虚拟存储器,并且可以由图1中的管理器101来实现。为了便于讨论,将参照图1来描述方法300。应当理解,虽然以特定顺序示出,方法300中的一些步骤可以以与所示出的不同顺序或者以并行方式执行。本公开的实施例在此方面不受限制。此外,结合图1描述方法300仅是示例,而非对方法300的具体限定。
在框302处,管理器101接收用于将数据块从虚拟机102的虚拟盘105存储到虚拟机102的虚拟存储器104的请求,该请求包括指示虚拟机存储器105中用于存储数据块的虚拟存储器地址和虚拟盘105中用于存储数据块的虚拟盘地址。在虚拟机102读入虚拟盘105的数据时,会将虚拟盘105中的数据存储到虚拟存储器104中。因此,虚拟机102会向管理器101发送请求,该请求中包括数据块在虚拟盘105中的存储地址以及虚拟存储器104中要用于存储数据块的存储地址。
在框304处,管理器101基于虚拟盘地址,确定与虚拟机102相关联的物理存储器103内的用于存储数据块的物理存储器地址。
在一些实施例中,管理器101基于虚拟盘地址,确定是否存在物理存储器地址。在不存在物理存储器地址时,管理器101从物理存储器103分配新的物理存储块。管理器101然后将数据块从与虚拟盘105相关联的物理盘读取到该新分配的物理存储块。管理器101将该新分配的物理存储块的地址确定为物理存储器地址。
在框306处,管理器101相关联地存储虚拟存储器地址和物理存储器地址。在存储完成后,虚拟机102可以通过虚拟存储器地址找到相应的数据块。因此,数据块被存储到虚拟存储器104。
在将虚拟盘中的数据存储到的虚拟存储器过程中,通过仅修改数据块所在的物理存储器地址与虚拟存储器地址之间的映射关系便实现了将数据块从虚拟盘存储到虚拟存储器作,减少了数据块的复制量,提高了数据移动的效率。
此外,在将虚拟盘105中的数据块存储到虚拟存储器104时,管理器101还会基于虚拟存储器地址确定物理存储器103中与虚拟存储器中的存储块相对应的先前的物理存储块。管理器101在确定出该先前的物理存储块后,释放该先前的物理存储块。在一些实施例中,管理器101基于虚拟存储器104和物理存储器103之间的映射表查找与虚拟存储器地址相对应的物理存储块,然后释放该物理存储块占用的存储空间。上述示例仅是用于描述本公开的实施例,而非对本公开具体限定。
在进行完上述操作后,管理器101向虚拟机102发送响应,以指示数据块已被存储到虚拟存储器104。
通过确定出物理存储器中的与虚拟存储器存储块相对应的物理存储块并释放其对应的存储空间,可以使物理存储器的存储空间用于其他数据,从而提高了物理存储器的使用效率。
图4示出了根据本公开的实施例的启动虚拟机的示例环境400的示意图。示例环境400包括物理存储器103、虚拟机102和物理盘403。虚拟机102包括虚拟存储器104和虚拟盘105。物理存储器103用于存储虚拟存储器104中的数据块。因此,第一映射表404存储中物理存储器103中用于存储数据块的物理块的地址或数据块的地址与虚拟存储器104中用于存储数据的数据块的存储块的地址或数据块的地址之间的映射关系。例如,第一映射表404可以是影子页表或扩展页表。第一存储块401和第二存储块406的映射关系存储在第一映射表404中。
虚拟盘105和物理存储器103之间存在第二映射表405。第二映射表405存储虚拟盘105中的数据块所在的存储块地址或数据块的地址与物理存储器103中的数据块所在的存储块地址或数据块地址之间的映射关系。虚拟盘105中的第四存储块407的地址与物理存储器103中的第三存储块402的地址之间的映射关系存储在第二映射表405中。在一个示例中,第二映射表405为主机页表。此外,如果虚拟盘105的数据块的地址或数据块所在的存储块的地址在第二映射表405中没有对应的映射关系,则表明虚拟盘105中的该数据块存在于物理盘403上。附加地,虚拟盘105和物理盘403之间存在用于反映数据块或存储块的对应关系的文件。在一个示例中,该文件为主机文件。
在一些实施例中,在将虚拟存储器104中的第二存储块406中的数据块存储到虚拟盘105的第四存储块407时,管理器101接收到第二存储块406和第四存储块407的地址。管理器101基于第二存储块406中的地址在第一映射表404中找到第一存储块401的地址。管理器101然后在第二映射表405中查找第四存储块407的映射关系,如果没有,则在第二映射表405中存储第一存储块401的地址和第四存储块407的地址。因此,可以通过虚拟盘105中的地址找到该数据块,表明说明块被存储在虚拟盘105上了。如果在第二映射表405中存在与第四存储块407的地址有关的映射关系,则该映射关系修改为第一存储块401的地址与第四存储块407的地址的映射关系。此外,管理器101释放与第四存储块407对应的第三存储块402占用的存储空间。
此外,由于第一存储块401对应于虚拟盘105中的地址,因此需要在物理存储器103中再为第二存储块406分配对应的存储块,并将它们之间的映射关系存储到第一映射表404中。在进行完上述操作后,管理器101向虚拟机102发送完成数据转出操作的响应。
在一些实施例中,在将虚拟盘105中的第四存储块407中的数据块存储到虚拟存储器104的第二存储块406时,管理器101接收到第四存储块407的地址和第二存储块406的地址。管理器101基于第四存储块407的地址在第二映射表405中查找是否有对应的映射关系。如果有对应的映射关系,表明物理存储器103中具有与第四存储块407对应的第三存储块402。如果在第二映射表405中没有对应的映射关系,表明第四存储块407中的数据存储在物理盘403中。管理器101然后通过虚拟盘105和物理盘403之间的映射关系在物理盘403中找到与第四存储块407对应的数据块,然后在物理存储器103中分配第三存储块402并将数据块读取到第三存储块402中。管理器101然后将第三存储块402的地址与第二存储块406块的地址的映射关系存储到第一映射表404中。因此,虚拟机102可以通过虚拟存储器104中的地址找到该数据块,表明该数据块被存储到虚拟存储器104中。
此外,还需要将与第二存储块406对应的第一存储块401释放掉。在进行完上述操作后,管理器向虚拟机102发送完成数据被存储到虚拟存储器104的响应。
图5示出了根据本公开的实施例的用于处理数据的装置500的示意框图。装置500可以被包括在图1的管理器101中或者被实现为管理器101。如图5所示,装置500包括第一接收模块502,被配置为接收用于将数据块从虚拟机的虚拟存储器存储到虚拟机的虚拟盘的请求,其中该请求指示虚拟存储器中用于存储数据块的虚拟存储器地址和虚拟盘中用于存储数据块的虚拟盘地址。装置500还包括第一物理存储器地址确定模块504,被配置为基于虚拟存储器地址确定与虚拟机相关联的物理存储器内的、用于存储数据块的物理存储器地址。装置500还包括第一地址存储模块506,被配置为相关联地存储虚拟盘地址与物理存储器地址。
在一些实施例中,装置500还包括第一物理存储块确定模块,被配置为基于虚拟盘地址,确定物理存储器中是否存在与虚拟盘中用于存储数据块的虚拟盘存储块相对应的第一物理存储块;以及第一释放模块,被配置为响应于存在第一物理存储块,释放第一物理存储块。
在一些实施例中,装置500还包括第一分配模块,被配置为在物理存储器中为虚拟机存储器分配第二物理存储块;虚拟存储器地址存储模块,被配置为将分配的第二物理存储块的地址与虚拟存储器地址相关联地存储。
在一些实施例中,装置500还包括第一发送模块,被配置为向虚拟机发送针对请求的响应,以指示数据块已被存储到虚拟盘。
图6示出了根据本公开的实施例的用于处理数据的装置600的示意框图。装置600可以被包括在图1的管理器101中或者被实现为管理器101。如图6所示,装置600包括第二接收模块602,被配置为接收用于将数据块从虚拟机的虚拟盘存储到虚拟机的虚拟存储器的请求,其中请求指示虚拟机存储器中用于存储数据块的虚拟存储器地址和虚拟盘中用于存储数据块的虚拟盘地址。装置600还包括第二物理存储器地址确定模块604,被配置为基于虚拟盘地址,确定与虚拟机相关联的物理存储器内的用于存储数据块的物理存储器地址。装置600还包括第二地址存储模块606,被配置为相关联地存储虚拟存储器地址和物理存储器地址。
在一些实施例中,第二物理存储器地址确定模块604包括第判断模块,被配置为基于虚拟盘地址,确定是否存在物理存储器地址;第二分配模块,被配置为响应于不存在物理存储器地址,从物理存储器分配第一物理存储块;数据块存储模块,被配置为将数据块从与虚拟盘相关联的物理盘存储到第一物理存储块;以及第三物理存储器地址确定模块,被配置为将第一物理块的地址确定为物理存储器地址。
在一些实施例中,装置600还包括第二物理存储块确定模块,被配置为基于虚拟存储器地址确定物理存储器中的、与虚拟存储器中用于存储数据块的虚拟存储器存储块相对应的第二物理存储块;以及第二释放模块,被配置为释放第二物理存储块。
在一些实施例中,装置600还包括第二发送模块,被配置为向虚拟机发送针对请求的响应,以指示数据块已被存储到虚拟存储器。
图7示出了可以用来实施本公开的实施例的电子设备700的示意性框图。设备700可以用于实现图1的管理器101。如图所示,设备700包括计算单元701,其可以根据存储在只读存储器(ROM)702中的计算机程序指令或者从存储单元708加载到随机访问存储器(RAM)703中的计算机程序指令,来执行各种适当的动作和处理。在RAM 703中,还可存储设备700操作所需的各种程序和数据。计算单元701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
设备700中的多个部件连接至I/O接口705,包括:输入单元706,例如键盘、鼠标等;输出单元707,例如各种类型的显示器、扬声器等;存储单元708,例如磁盘、光盘等;以及通信单元709,例如网卡、调制解调器、无线通信收发机等。通信单元709允许设备700通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元701可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元701的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元701执行上文所描述的各个方法和处理,例如方法200和300。例如,在一些实施例中,方法200和300可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元708。在一些实施例中,计算机程序的部分或者全部可以经由ROM 702和/或通信单元709而被载入和/或安装到设备700上。当计算机程序加载到RAM 703并由计算单元701执行时,可以执行上文描述的方法200和300的一个或多个步骤。备选地,在其他实施例中,计算单元701可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行方法700。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)等等。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。

Claims (20)

1.一种用于处理数据的方法,包括:
接收用于将数据块从虚拟机的虚拟存储器存储到所述虚拟机的虚拟盘的请求,其中所述请求指示所述虚拟存储器中用于存储所述数据块的虚拟存储器地址和所述虚拟盘中用于存储所述数据块的虚拟盘地址;
基于所述虚拟存储器地址确定与所述虚拟机相关联的物理存储器内的、用于存储所述数据块的物理存储器地址;以及
相关联地存储所述虚拟盘地址与所述物理存储器地址。
2.根据权利要求1所述的方法,还包括:
基于所述虚拟盘地址,确定所述物理存储器中是否存在与所述虚拟盘中用于存储所述数据块的虚拟盘存储块相对应的第一物理存储块;以及
响应于存在所述第一物理存储块,释放所述第一物理存储块。
3.根据权利要求1所述方法,还包括:
在所述物理存储器中为所述虚拟机存储器分配第二物理存储块;以及
将分配的所述第二物理存储块的地址与所述虚拟存储器地址相关联地存储。
4.根据权利要求1所述方法,还包括:
向所述虚拟机发送针对所述请求的响应,以指示所述数据块已被存储到所述虚拟盘。
5.一种用于处理数据的方法,包括:
接收用于将数据块从虚拟机的虚拟盘存储到所述虚拟机的虚拟存储器的请求,其中所述请求指示所述虚拟机存储器中用于存储所述数据块的虚拟存储器地址和所述虚拟盘中用于存储所述数据块的虚拟盘地址;
基于所述虚拟盘地址,确定与所述虚拟机相关联的物理存储器内的用于存储所述数据块的物理存储器地址;以及
相关联地存储所述虚拟存储器地址和所述物理存储器地址。
6.根据权利要求5所述的方法,其中确定与所述虚拟机相关联的物理存储器内的用于存储所述数据块的物理存储器地址包括:
基于所述虚拟盘地址,确定是否存在所述物理存储器地址;
响应于不存在所述物理存储器地址,从所述物理存储器分配第一物理存储块;
将所述数据块从与所述虚拟盘相关联的物理盘存储到所述第一物理存储块;以及
将所述第一物理块的地址确定为所述物理存储器地址。
7.根据权利要求5所述的方法,还包括:
基于所述虚拟存储器地址确定所述物理存储器中的、与所述虚拟存储器中用于存储所述数据块的虚拟存储器存储块相对应的第二物理存储块;以及
释放所述第二物理存储块。
8.根据权利要求5所述的方法,还包括:
向所述虚拟机发送针对所述请求的响应,以指示所述数据块已被存储到所述虚拟存储器。
9.一种用于处理数据的装置,包括:
第一接收模块,被配置为接收用于将数据块从虚拟机的虚拟存储器存储到所述虚拟机的虚拟盘的请求,其中所述请求指示所述虚拟存储器中用于存储所述数据块的虚拟存储器地址和所述虚拟盘中用于存储所述数据块的虚拟盘地址;
第一物理存储器地址确定模块,被配置为基于所述虚拟存储器地址确定与所述虚拟机相关联的物理存储器内的、用于存储所述数据块的物理存储器地址;以及
第一地址存储模块,被配置为相关联地存储所述虚拟盘地址与所述物理存储器地址。
10.根据权利要求9所述的装置,还包括:
第一物理存储块确定模块,被配置为基于所述虚拟盘地址,确定所述物理存储器中是否存在与所述虚拟盘中用于存储所述数据块的虚拟盘存储块相对应的第一物理存储块;以及
第一释放模块,被配置为响应于存在所述第一物理存储块,释放所述第一物理存储块。
11.根据权利要求9所述装置,还包括:
第一分配模块,被配置为在所述物理存储器中为所述虚拟机存储器分配第二物理存储块;以及
虚拟存储器地址存储模块,被配置为将分配的所述第二物理存储块的地址与所述虚拟存储器地址相关联地存储。
12.根据权利要求9所述装置,还包括:
第一发送模块,被配置为向所述虚拟机发送针对所述请求的响应,以指示所述数据块已被存储到所述虚拟盘。
13.一种用于处理数据的装置,包括:
第二接收模块,被配置为接收用于将数据块从虚拟机的虚拟盘存储到所述虚拟机的虚拟存储器的请求,其中所述请求指示所述虚拟机存储器中用于存储所述数据块的虚拟存储器地址和所述虚拟盘中用于存储所述数据块的虚拟盘地址;
第二物理存储器地址确定模块,被配置为基于所述虚拟盘地址,确定与所述虚拟机相关联的物理存储器内的用于存储所述数据块的物理存储器地址;以及
第二地址存储模块,被配置为相关联地存储所述虚拟存储器地址和所述物理存储器地址。
14.根据权利要求13所述的装置,其中所述第二物理存储器地址确定模块包括:
判断模块,被配置为基于所述虚拟盘地址,确定是否存在所述物理存储器地址;
第二分配模块,被配置为响应于不存在所述物理存储器地址,从所述物理存储器分配第一物理存储块;
数据块存储模块,被配置为将所述数据块从与所述虚拟盘相关联的物理盘存储到所述第一物理存储块;以及
第三物理存储器地址确定模块,被配置为将所述第一物理块的地址确定为所述物理存储器地址。
15.根据权利要求13所述的装置,还包括:
第二物理存储块确定模块,被配置为基于所述虚拟存储器地址确定所述物理存储器中的、与所述虚拟存储器中用于存储所述数据块的虚拟存储器存储块相对应的第二物理存储块;以及
第二释放模块,被配置为释放所述第二物理存储块。
16.根据权利要求13所述的装置,还包括:
第二发送模块,被配置为向所述虚拟机发送针对所述请求的响应,以指示所述数据块已被存储到所述虚拟存储器。
17.一种电子设备,所述设备包括:
一个或多个处理器;以及
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-4中任一项所述的方法。
18.一种电子设备,所述设备包括:
一个或多个处理器;以及
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求5-8中任一项所述的方法。
19.一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如权利要求1-4中任一项所述的方法。
20.一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如权利要求5-8中任一项所述的方法。
CN201910438970.2A 2019-05-24 2019-05-24 用于处理数据的方法、装置、设备和介质 Active CN110209354B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201910438970.2A CN110209354B (zh) 2019-05-24 2019-05-24 用于处理数据的方法、装置、设备和介质
US16/707,347 US20200371827A1 (en) 2019-05-24 2019-12-09 Method, Apparatus, Device and Medium for Processing Data
JP2020001153A JP6974510B2 (ja) 2019-05-24 2020-01-08 データを処理するための方法、装置、デバイス及び媒体
KR1020200003530A KR102326280B1 (ko) 2019-05-24 2020-01-10 데이터 처리 방법, 장치, 기기 및 매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910438970.2A CN110209354B (zh) 2019-05-24 2019-05-24 用于处理数据的方法、装置、设备和介质

Publications (2)

Publication Number Publication Date
CN110209354A CN110209354A (zh) 2019-09-06
CN110209354B true CN110209354B (zh) 2022-04-19

Family

ID=67788566

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910438970.2A Active CN110209354B (zh) 2019-05-24 2019-05-24 用于处理数据的方法、装置、设备和介质

Country Status (4)

Country Link
US (1) US20200371827A1 (zh)
JP (1) JP6974510B2 (zh)
KR (1) KR102326280B1 (zh)
CN (1) CN110209354B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112261075A (zh) * 2020-09-07 2021-01-22 上海泛微软件有限公司 网络请求处理方法、装置、设备及计算机可读存储介质
KR102562160B1 (ko) * 2022-11-22 2023-08-01 쿤텍 주식회사 인메모리를 이용한 가상 머신 시스템 및 그 동작 방법
CN117707437A (zh) * 2024-02-06 2024-03-15 济南浪潮数据技术有限公司 基于分布式存储系统的虚拟磁盘存储方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011198280A (ja) * 2010-03-23 2011-10-06 Nec Corp 仮想ディスク制御システム、方法及びプログラム
CN102707900A (zh) * 2011-03-11 2012-10-03 微软公司 虚拟盘存储技术

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5918249A (en) * 1996-12-19 1999-06-29 Ncr Corporation Promoting local memory accessing and data migration in non-uniform memory access system architectures
KR20010035845A (ko) * 1999-10-04 2001-05-07 윤종용 메모리 모듈을 이용하여 컴퓨터 시스템의 가상 메모리를 확장하기 위한 장치 및 방법
US20050246453A1 (en) * 2004-04-30 2005-11-03 Microsoft Corporation Providing direct access to hardware from a virtual environment
JP2008146574A (ja) * 2006-12-13 2008-06-26 Hitachi Ltd 記憶制御装置及び記憶制御方法
US8015383B2 (en) * 2007-06-27 2011-09-06 International Business Machines Corporation System, method and program to manage virtual memory allocated by a virtual machine control program
US8725782B2 (en) * 2011-04-25 2014-05-13 Microsoft Corporation Virtual disk storage techniques
US9223502B2 (en) * 2011-08-01 2015-12-29 Infinidat Ltd. Method of migrating stored data and system thereof
JP5733136B2 (ja) * 2011-09-26 2015-06-10 富士通株式会社 情報処理装置の制御方法、制御プログラム及び情報処理装置
US10474369B2 (en) * 2012-02-06 2019-11-12 Vmware, Inc. Mapping guest pages to disk blocks to improve virtual machine management processes
KR101442091B1 (ko) * 2012-12-31 2014-09-25 고려대학교 산학협력단 가상화 시스템에서의 메모리 관리 방법
US9507727B2 (en) * 2013-07-17 2016-11-29 Bitdefender IPR Management Ltd. Page fault injection in virtual machines
US9311140B2 (en) * 2013-08-13 2016-04-12 Vmware, Inc. Method and apparatus for extending local area networks between clouds and migrating virtual machines using static network addresses
US9183093B2 (en) * 2013-12-05 2015-11-10 Vmware, Inc. Virtual machine crash management
KR101805561B1 (ko) * 2014-01-02 2017-12-07 후아웨이 테크놀러지 컴퍼니 리미티드 데이터베이스 시스템에서 온라인 분석 처리를 위한 데이터를 유지하는 방법 및 장치
US9495191B2 (en) * 2014-01-28 2016-11-15 Red Hat Israel, Ltd. Using virtual disk in virtual machine live migration
KR102123422B1 (ko) * 2014-09-12 2020-06-16 인텔 코포레이션 가상 컴퓨팅 환경에서의 메모리 및 자원 관리

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011198280A (ja) * 2010-03-23 2011-10-06 Nec Corp 仮想ディスク制御システム、方法及びプログラム
CN102707900A (zh) * 2011-03-11 2012-10-03 微软公司 虚拟盘存储技术

Also Published As

Publication number Publication date
KR102326280B1 (ko) 2021-11-16
JP2020194522A (ja) 2020-12-03
CN110209354A (zh) 2019-09-06
US20200371827A1 (en) 2020-11-26
KR20200135715A (ko) 2020-12-03
JP6974510B2 (ja) 2021-12-01

Similar Documents

Publication Publication Date Title
US8402200B2 (en) Method and apparatus for storing and restoring state of virtual machine
US9286101B2 (en) Free page hinting
CN108959127B (zh) 地址转换方法、装置及系统
US9280486B2 (en) Managing memory pages based on free page hints
CN110209354B (zh) 用于处理数据的方法、装置、设备和介质
US11194735B2 (en) Technologies for flexible virtual function queue assignment
US6925546B2 (en) Memory pool configuration system
US11341044B2 (en) Reclaiming storage resources
US11068418B2 (en) Determining memory access categories for tasks coded in a computer program
EP3865992A2 (en) Distributed block storage system, method, apparatus and medium
US20210192046A1 (en) Resource Management Unit for Capturing Operating System Configuration States and Managing Malware
CN112148418A (zh) 用于访问数据的方法、装置、设备和介质
US20220156198A1 (en) Caching streams of memory requests
CN111183411A (zh) 用于虚拟机的动态地址转换
CN111209080A (zh) 一种图形处理器透传的方法
CN114691300A (zh) 一种虚拟机实例的热迁移方法
US8751724B2 (en) Dynamic memory reconfiguration to delay performance overhead
KR20220024206A (ko) 하드웨어 기반 메모리 압축
CN115562871A (zh) 内存分配管理的方法和装置
US20140149691A1 (en) Data processing system and data processing method
US11630698B2 (en) Resource management unit for capturing operating system configuration states and swapping memory content
US20230266992A1 (en) Processor for managing resources using dual queues, and operating method thereof
US20220365712A1 (en) Method and device for accessing memory
CN115756742A (zh) 直通i/o虚拟化的性能优化设计方法、系统、介质及设备
CN117389685A (zh) 虚拟机热迁移标脏方法及其装置、后端设备、芯片

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant