CN106201652B - 一种数据处理方法及虚拟机 - Google Patents
一种数据处理方法及虚拟机 Download PDFInfo
- Publication number
- CN106201652B CN106201652B CN201610507768.7A CN201610507768A CN106201652B CN 106201652 B CN106201652 B CN 106201652B CN 201610507768 A CN201610507768 A CN 201610507768A CN 106201652 B CN106201652 B CN 106201652B
- Authority
- CN
- China
- Prior art keywords
- address
- physical block
- virtual address
- physical
- virtual
- 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
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
- 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/4557—Distribution of virtual machine instances; Migration and load balancing
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Memory System (AREA)
Abstract
本申请公开了数据处理方法和虚拟机,该方法包括:接收数据存储指令;响应所述数据存储指令,从虚拟块设备VBD中选择与所述数据存储指令对应的虚拟地址;从预先设定的与所述VBD对应的多个物理块设备中,选择与所述虚拟地址对应的物理地址;记录所述虚拟地址与所述物理地址的对应关系;存储所述待存储数据至所述物理地址。在该方法中,预先为VBD设定了多个物理块设备,在执行数据存储指令时,可以从多个物理块设备中选取物理地址进行数据存储,为虚拟机的读写操作提供了更多的选择。同时,通过记录写入的虚拟地址与物理地址间的对应关系的方式,建立起虚拟地址与物理地址间的映射,保证能够准确的找到被存储的数据,提升了虚拟机的性能。
Description
技术领域
本发明涉及电子设备技术领域,更具体的说是涉及一种数据处理方法及虚拟机。
背景技术
VM(Virtual Machine,虚拟机)指通过软件模拟的具有完整硬件***功能的、运行在一个完全隔离环境中的完整计算机***。
目前在使用VM时,VM的操作***(简称VM OS)需要创建一个虚拟的硬盘(VirtualHard Disk,简称VHD)。VM OS创建一个VHD的必要条件是VM OS能够使用一个虚拟的物理块设备(Virtual Block Device,简称VBD)。VBD与通常计算机***能使用的物理物理块设备(Block Device)一样,是可以进行随机存取的存储设备。VM OS的VBD一般是从主机(Host)的Block Device映射而来。例如:VM的VBD可能是Host的一个完整的Block Device,也可能是Host Block Device的一部分。在将VBD映射到Block Device后,对VBD读写操作实际上是对与其建立映射关系的Block Device读写操作。
发明内容
有鉴于此,本发明提供一种数据处理方法及虚拟机,以解决现有技术中虚拟机性能较差的问题。
为实现上述目的,本发明提供如下技术方案:
一种数据处理方法,包括:
接收数据存储指令,所述数据存储指令中包含有待存储数据;
响应所述数据存储指令,从虚拟块设备VBD中选择与所述数据存储指令对应的虚拟地址;
从预先设定的与所述VBD对应的多个物理块设备中,选择与所述虚拟地址对应的物理地址;
记录所述虚拟地址与所述物理地址的对应关系;
存储所述待存储数据至所述物理地址。
优选的,所述从所述VBD对应的多个物理块设备中,选择与所述虚拟地址对应的物理地址包括:
获取所述VBD记录的各个物理块设备的设备类型;
依据所述设备类型,确定所述多个物理块设备中存取速度最快的物理块设备;
从所述存取速度最快的物理块设备中选择与所述虚拟地址对应的物理地址。
优选的,从VBD中选择与所述数据存储指令对应的虚拟地址后还包括:
依据预先记录的虚拟地址的被读写次数,确定所述虚拟地址的类型。
优选的,所述依据预先记录的虚拟地址的被读写次数,确定所述虚拟地址的类型包括:
确定预先记录的被写入次数不大于第一阈值的虚拟地址为热写地址;
确定预先记录的被读取次数不大于第二阈值的虚拟地址为热读地址;
确定预先记录的被写入次数小于等于第一阈值的虚拟地址为热写地址;
确定预先记录的被读取次数小于等于第二阈值的虚拟地址为热读地址。
优选的,所述从所述VBD对应的多个物理块设备中,选择与所述虚拟地址对应的物理地址包括:
依据所述虚拟地址的类型,从所述多个物理块设备中选择目标物理块设备,并从所述目标物理块设备中选择与所述虚拟地址对应的物理地址。
优选的,据所述虚拟地址的类型,从所述多个物理块设备中选择目标物理块设备包括:
在所述虚拟地址为热读地址的情况下,从所述多个物理块设备中选择存取速度最快的物理块设备作为目标物理块设备;
在所述虚拟地址为热写地址的情况下,从所述多个物理块设备中选择设备损耗最低的物理块设备作为目标物理块设备;
在所述虚拟地址为冷读写地址的情况下,从所述多个物理块设备中选择容量最大的物理块设备作为目标物理块设备。
优选的,还包括:
接收数据读取指令,确定待读取虚拟地址;
依据虚拟地址与物理地址的对应关系,确定与所述待读取虚拟地址对应的待读取物理地址;
读取所述待读取物理地址中存储的数据。
优选的,记录所述虚拟地址与所述物理地址的对应关系包括:
以表格形式记录所述虚拟地址与所述物理地址的对应关系。
本申请同时公开了一种虚拟机,包括:处理器,与所述处理器耦合的存储器,其中:
所述处理器用于,接收数据存储指令,所述数据存储指令中包含有待存储数据,响应所述数据存储指令,从虚拟块设备VBD中选择与所述数据存储指令对应的虚拟地址,从预先设定的与所述VBD对应的多个物理块设备中,选择与所述虚拟地址对应的物理地址,记录所述虚拟地址与所述物理地址的对应关系,存储所述待存储数据至所述物理地址。
优选的,在执行从所述VBD对应的多个物理块设备中,选择与所述虚拟地址对应的物理地址的步骤时,所述处理器用于:
获取所述VBD记录的各个物理块设备的设备类型;
依据所述设备类型,确定所述多个物理块设备中存取速度最快的物理块设备;
从所述存取速度最快的物理块设备中选择与所述虚拟地址对应的物理地址。
优选的,所述处理器还用于:
依据预先记录的虚拟地址的被读写次数,确定所述虚拟地址的类型。
优选的,在执行依据预先记录的虚拟地址的被读写次数,确定所述虚拟地址的类型的步骤时,所述处理器用于:
确定预先记录的被写入次数不大于第一阈值的虚拟地址为热写地址;
确定预先记录的被读取次数不大于第二阈值的虚拟地址为热读地址;
确定预先记录的被写入次数小于等于第一阈值的虚拟地址为热写地址;
确定预先记录的被读取次数小于等于第二阈值的虚拟地址为热读地址。
优选的,在执行所述从所述VBD对应的多个物理块设备中,选择与所述虚拟地址对应的物理地址的步骤时,所述处理器用于:
依据所述虚拟地址的类型,从所述多个物理块设备中选择目标物理块设备,并从所述目标物理块设备中选择与所述虚拟地址对应的物理地址。
优选的,据所述虚拟地址的类型,从所述多个物理块设备中选择目标物理块设备包括:
在所述虚拟地址为热读地址的情况下,从所述多个物理块设备中选择存取速度最快的物理块设备作为目标物理块设备;
在所述虚拟地址为热写地址的情况下,从所述多个物理块设备中选择设备损耗最低的物理块设备作为目标物理块设备;
在所述虚拟地址为冷读写地址的情况下,从所述多个物理块设备中选择容量最大的物理块设备作为目标物理块设备。
优选的,所述处理器还用于:
接收数据读取指令,确定待读取虚拟地址;
依据虚拟地址与物理地址的对应关系,确定与所述待读取虚拟地址对应的待读取物理地址;
读取所述待读取物理地址中存储的数据。
经由上述的技术方案可知,与现有技术相比,本发明公开提供了一种数据处理方法,在该方法中,预先为VBD设定了多个物理块设备,在执行数据存储指令时,可以从多个物理块设备中选取物理地址进行数据存储,为虚拟机的读写操作提供了更多的选择。同时,通过记录写入的虚拟地址与物理地址间的对应关系的方式,建立起虚拟地址与物理地址间的映射,保证能够准确的找到被存储的数据,提升了虚拟机的性能。
进一步的,可以通过修改虚拟地址与物理地址间对应关系的方式,修改两者的映射关系,进而为动态选择物理块设备和物理地址提供了基础。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例公开的虚拟地址和物理地址的映射关系示意图;
图2为本申请实施例公开的数据处理方法的流程图;
图3为本申请实施例公开的又一数据处理方法的流程图;
图4为本申请实施例公开的又一数据处理方法的流程图;
图5为本申请实施例公开的又一数据处理方法的流程图;
图6为本申请实施例公开一种虚拟机的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种数据处理方法,该方法应用于虚拟机。在虚拟机中,对虚拟硬盘数据的读取和写入操作,表面上是对虚拟地址进行读写操作,而实际上,读取和写入的都是虚拟地址对应的物理地址。在本方案中,为虚拟机预先分配了多个物理块设备,虚拟机所使用的物理地址,可以是该全部的物理块设备,也可以是该物理块设备的一部分,其映射关系如图1所示。VM中的虚拟块地址对应主机Host中的多个物理块设备。物理块设备A、B和C都能被虚拟机调用。由于物理物理块设备类型可以各不相同,例如,SSD(Solid StateDrive,固态硬盘)、针对闪存协议的NVME SSD、HHD(Hybrid hard drive,混合硬盘)、HDD(Hard Disk Drive传统硬盘)等,其在特性上也各有不同。因此,能够实现虚拟机根据存储和读取指令,从多个物理块设备中选取物理地址进行数据存储,为虚拟机的读写操作提供了更多的选择。
如图1中所示,在虚拟块设备中,连续的地址Addr00、Addr01….Addr09,其对应的物理地址如箭头所指,可以不在同一个物理块设备中,也可以不是顺序的。如图中,Addr00对应物理块设备A中的Addr13,Addr01对应物理块设备B中的Addr25,Addr03对应物理块设备A中的Addr15。并且,这种对应关系是动态建立的,也就是说,虚拟地址对应哪一个物理地址不是预先建立的,而动态配置的,在向虚拟地址中存储数据的时候,可以同时为该虚拟地址配置物理地址。
本申请实施例公开的数据处理方法,如图2所示,包括:
步骤S201:接收数据存储指令,数据存储指令中包含有待存储数据。
虚拟机接收用户输入的数据存储指令,在该数据存储指令中给,可以包含有待存储数据要写入的虚拟地址,也可以不包含待存储数据要写入的虚拟地址。
步骤S202:响应数据存储指令,从物理块设备VBD中选择与数据存储指令对应的虚拟地址。
如果数据存储指令中有要写入的虚拟地址,则直接将该地址作为数据对应的虚拟地址,例如,数据存储指令中包含的虚拟地址为Addr0,则可直接确定Addr0为存储指令对应的虚拟地址。
以程序来实现上述过程时,使用写函数ssize_twrite
ssize_twrite(int handle,void*buf,int nbyte);
其中,handle是文件描述符;
buf是指定的缓冲区,即指针,指向一段内存单元;
nbyte是要写入文件指定的字节数;返回值:写入文档的字节数(成功);-1(出错)
其实现的功能是,把buf中nbyte写入文件描述符handle所指的文档,成功时返回写的字节数,错误时返回-1。
在该实施例方式中,Addr0可以对应handle所指的文档的存储区域。
如果没有包含虚拟地址,则虚拟机可以分析数据存储指令,从数据存储指令的类型,或者,该数据存储指令所对应的应用程序确定出与其对应的默认虚拟地址,或者,在接收到数据存储指令时,直接为其分配一个虚拟地址。
例如,如果写入的是A应用程序的配置参数,则其写入的地址必然是A应用程序配置文件所存储的地址。
如果是新的应用程序的添加,而此时还没有对应的存储空间,则可以直接为其分配地址,进行存储。
步骤S203:从预先设定的与VBD对应的多个物理块设备中,选择与虚拟地址对应的物理地址。
在确定数据存储指令对应的虚拟地址后,从对应的多个物理块设备中,选择与其对应的物理地址。该过程,即是为虚拟地址动态分配物理地址的过程。在分配的过程中,可以根据预定的物理块设备选择规则来选择,例如,需要存储快的物理设备,则选择SSD或NVME SSD类型的块设备,如果需要使用寿命长,保存时间长,则可以选用HDD。
步骤S204:记录虚拟地址与物理地址的对应关系。
在为虚拟地址分配好物理地址后,需要记录下两者的对应关系,才能依据虚拟地址找到物理地址,继续读取数据。由此可以看出,本方法中,记录对应关系的目的是实现两者间的将为虚拟地址配置物理地址的过程放在了具体的存取操作中,进而实现了动态配置物理地址,提高了该数据处理方法的灵活性。
在本实施例中,可以以表格形式记录虚拟地址与物理地址的对应关系。将其定义为动态虚拟地址转换表(Dynamic Addr Table,DAT)。由于该对应关系并非在初始化时就设定好,而是后续进行的动态配置,也就以为这,在下一次写操作时,可以为虚拟地址不同的物理地址,只需将两者的对应关系进行记录存储,能够保证在本次数据处理过程中,两者的一一对应即可。
由于表格的记录方式非常灵活,因此不用要求物理地址的存储顺序与虚拟地址保持一致。
步骤S205:存储待存储数据至物理地址。
将待存储数据存储到物理地址中。
步骤S204和步骤S205的顺序并不一定如图2中所示,在其他的实施例中,同样可以选择,先存储数据,再记录虚拟地址和物理地址的关系。或者,将两个步骤同时进行。
本实施例公开的数据处理方法,预先为VBD设定了多个物理块设备,在执行数据存储指令时,可以从多个物理块设备中选取物理地址进行数据存储,为虚拟机的读写操作提供了更多的选择。同时,通过记录写入的虚拟地址与物理地址间的对应关系的方式,建立起虚拟地址与物理地址间的映射,保证能够准确的找到被存储的数据。该方法改变了现有技术中只能为VBD分配一个物理块设备的局限,为实现更加灵活有效的对数据进行存储和读取,提供了基础,提升了虚拟机的性能。
并且,改变现有技术中虚拟块设备和物理块设备一一对应的关系,采用一对多的对应关系,还有利于提高***的稳定行。假设其中一个物理块设备出现故障不可用,还可以选择其他的物理块设备,或者,在其中一个物理块设备存储速度较低的情况下,还可以选择其他的物理设备进行存储。更进一步,还可以实时添加新的物理块设备。
在本申请公开的数据处理方法中,如何从VBD对应的多个物理块设备中,选择与虚拟地址对应的物理地址是较为关键的步骤,其具体的操作过程如下面实施例所示。
本申请公开的一种从VBD对应的多个物理块设备中,选择与虚拟地址对应的物理地址的方法流程如图3所示,该方法应用于,预定的物理块设备选择规则为:选择存储速度最快的物理块设备。该过程包括:
步骤S301:获取VBD记录的各个物理块设备的设备类型。
在预先为VBD设定对应的物理块设备时,除了记录物理块设备的识别标识,还需要记录该物理块设备的类型,例如SSD、NVME SSD、HHD、HDD,每个类型的物理块设备的存取性能是不同,该存取性能可以通过每秒存取的扇区数,和每秒存取的次数来确定。
进一步的,还可以记录每一个物理块设备用于虚拟机使用的物理存储区域的大小,例如,1G、或1T等,同时,还可以记录每个设备在执行读写操作时的设备损耗。
步骤S302:依据设备类型,确定多个物理块设备中存取速度最快的物理块设备。
按照物理块设备选择规则,在这里要选择存储速度最快的物理块设备,NVME SSD。
步骤S303:从存取速度最快的物理块设备中选择与虚拟地址对应的物理地址。
与上述过程类似,如果预先设定好物理块设备选择规则为选择存储容量最大的物理块设备,或者设备损耗最低的物理块设备,则可以根据记录的每个物理块设备的存储容量,进行选择。
在上述实施例中,由于选择哪一个物理块设备是在数据存储指令执行之前就已经设定好的,因此,其存储效率和存储效果非常有限。对于有些数据,由于并不常用,无需存储在存储速度最快的物理块设备中,但是如果按照预设的规则进行存储,则会在一定程度上浪费物理块设备的资源,由于资源有限,会导致没有存储空间存储某些必须存储在存储速度最快的物理设备中的数据。
为了解决这一问题,在图2所示实施例中,还可以设定专门的计数器,记录每个虚拟地址被写入和被读取的此时,因此确定出虚拟地址后,还需要记录本次虚拟地址又被写入的事件,在计数器中加1。基于这些记录,在选择出于数据存储指令对应的虚拟地址后,可以读取到该虚拟地址被读写的次数,通常情况下,如果一个虚拟地址经常被读写,其被写入和读取的次数超过预设值,则可以认定该地址为热写地址,或者,热读地址。例如,写入超次数超过100次为热写地址,读取次数超过500次为热读地址,如果两者都没有达到,则可以将该虚拟地址确定为冷读写地址。进而,可以依据预先记录的虚拟地址的被读写次数,确定该虚拟地址的类型,包括:
确定预先记录的被写入次数不大于第一阈值的虚拟地址为热写地址;
确定预先记录的被读取次数不大于第二阈值的虚拟地址为热读地址;
确定预先记录的被写入次数小于等于第一阈值的虚拟地址为热写地址;
确定预先记录的被读取次数小于等于第二阈值的虚拟地址为热读地址。
在上述分类的基础上,如果某一数据读取指令中对应的虚拟地址是Addr1,则可以先根据Addr1的被读写次数,判断其属于哪一虚拟地址类型,然后,在根据该虚拟地址类型,从多个物理块设备中选择目标物理块设备,假设Addr1的被读取次数为600次,则其明显属于热读地址,表明其被读取数据的次数非常多,并且几率非常大,从***工作实效性的角度来考虑,此时需要选择存取速度最快的物理块设备作为目标块设备,然后,再从目标块设备中,选择物理地址,进行数据存储。如果Addr1的被写入次数为600次,则表明其被写入数据的次数非常多,则需要选择设备损耗最低的物理块设备,以保证多次的数据写入不会对物理块设备的性能造成影响。而如果Addr1的被读取次数非常小,只有10次,则意味着,这些数据一旦被存储,则很少被使用,或者,很长时间不会被使用、删除或者更新。那么,就需要选择容量比较大的物理块设备,这样才能保证待存储数据存储到该物理块设备后,对该物理块设备资源的占用不会影响其他的操作。因此,当物理块设备的容量分别为1G和1T时,优先选择1T的物理块设备进行存储。
上述过程,概括的描述可以用图4所示流程表示,包括:
步骤S401:在虚拟地址为热读地址的情况下,从多个物理块设备中选择存取速度最快的物理块设备作为目标物理块设备。
步骤S402:在虚拟地址为热写地址的情况下,从多个物理块设备中选择设备损耗最低的物理块设备作为目标物理块设备。
步骤S403:在虚拟地址为冷读写地址的情况下,从多个物理块设备中选择容量最大的物理块设备作为目标物理块设备。
在上述实施例中,并不限定只能按照上述的方式选择某一虚拟地址的类型对应的物理块设备。在某些情况下,为了提高数据的写入速度,在虚拟地址为热写地址时,其同样可以选择读取速度最高的物理块设备。
上述实施例主要是从存储数据的角度来对方案进行的说明,在存储数据后,另一关键操作就是读取。在基于上述实施例进行数据存储后,读取数据的过程如图5所示,包括:
步骤S501:接收数据读取指令,确定待读取虚拟地址。
数据读取指令中携带有需要读取的虚拟地址。
步骤S502:依据虚拟地址与物理地址的对应关系,确定与待读取虚拟地址对应的待读取物理地址。
依据DAT可以查询到与虚拟地址对应的物理地址。
步骤S503:读取待读取物理地址中存储的数据。
本申请同时公开了一种虚拟机,其结构如图6所示,包括:处理器601,与处理器耦合的存储器602,其中:
处理器用于,接收数据存储指令,数据存储指令中包含有待存储数据,响应数据存储指令,从虚拟块设备VBD中选择与数据存储指令对应的虚拟地址,从预先设定的与VBD对应的多个物理块设备中,选择与虚拟地址对应的物理地址,记录虚拟地址与物理地址的对应关系,存储待存储数据至物理地址。
本实施例公开的虚拟机,预先为VBD设定了多个物理块设备,在执行数据存储指令时,可以从多个物理块设备中选取物理地址进行数据存储,为虚拟机的读写操作提供了更多的选择。同时,通过记录写入的虚拟地址与物理地址间的对应关系的方式,建立起虚拟地址与物理地址间的映射,保证能够准确的找到被存储的数据,大大提升了虚拟机的性能。
优选的,在执行从VBD对应的多个物理块设备中,选择与虚拟地址对应的物理地址的步骤时,处理器用于:
获取VBD记录的各个物理块设备的设备类型;
依据设备类型,确定多个物理块设备中存取速度最快的物理块设备;
从存取速度最快的物理块设备中选择与虚拟地址对应的物理地址。
优选的,处理器还用于:
依据预先记录的虚拟地址的被读写次数,确定虚拟地址的类型。
优选的,在执行依据预先记录的虚拟地址的被读写次数,确定虚拟地址的类型的步骤时,处理器用于:
确定预先记录的被写入次数不大于第一阈值的虚拟地址为热写地址;
确定预先记录的被读取次数不大于第二阈值的虚拟地址为热读地址;
确定预先记录的被写入次数小于等于第一阈值的虚拟地址为热写地址;
确定预先记录的被读取次数小于等于第二阈值的虚拟地址为热读地址。
优选的,在执行从VBD对应的多个物理块设备中,选择与虚拟地址对应的物理地址的步骤时,处理器用于:
依据虚拟地址的类型,从多个物理块设备中选择目标物理块设备,并从目标物理块设备中选择与虚拟地址对应的物理地址。
优选的,据虚拟地址的类型,从多个物理块设备中选择目标物理块设备包括:
在虚拟地址为热读地址的情况下,从多个物理块设备中选择存取速度最快的物理块设备作为目标物理块设备;
在虚拟地址为热写地址的情况下,从多个物理块设备中选择设备损耗最低的物理块设备作为目标物理块设备;
在虚拟地址为冷读写地址的情况下,从多个物理块设备中选择容量最大的物理块设备作为目标物理块设备。
优选的,处理器还用于:
接收数据读取指令,确定待读取虚拟地址;
依据虚拟地址与物理地址的对应关系,确定与待读取虚拟地址对应的待读取物理地址;
读取待读取物理地址中存储的数据。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的电子设备的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (11)
1.一种数据处理方法,其特征在于,包括:
接收数据存储指令,所述数据存储指令中包含有待存储数据;
响应所述数据存储指令,从虚拟块设备VBD中选择与所述数据存储指令对应的虚拟地址;其中,一个所述VBD对应有多个物理块设备;
依据预先记录的虚拟地址的被读写次数,确定所述虚拟地址的类型;所述虚拟地址的类型包括热写地址、热读地址与冷读写地址;
依据所述虚拟地址的类型,从所述多个物理块设备中选择目标物理块设备,并从所述目标物理块设备中选择与所述虚拟地址对应的物理地址,其中包括:根据预定的物理块设备选择规则,选择相应的物理块设备;
记录所述虚拟地址与所述物理地址的对应关系;
存储所述待存储数据至所述物理地址。
2.根据权利要求1所述的方法,其特征在于,所述从所述VBD对应的多个物理块设备中,选择与所述虚拟地址对应的物理地址包括:
获取所述VBD记录的各个物理块设备的设备类型;
依据所述设备类型,确定所述多个物理块设备中存取速度最快的物理块设备;
从所述存取速度最快的物理块设备中选择与所述虚拟地址对应的物理地址。
3.根据权利要求1所述的方法,其特征在于,所述依据预先记录的虚拟地址的被读写次数,确定所述虚拟地址的类型包括:
确定预先记录的被写入次数不大于第一阈值的虚拟地址为热写地址;
确定预先记录的被读取次数不大于第二阈值的虚拟地址为热读地址;
确定预先记录的被写入次数小于等于第一阈值的虚拟地址为热写地址;
确定预先记录的被读取次数小于等于第二阈值的虚拟地址为热读地址。
4.根据权利要求3所述的方法,其特征在于,据所述虚拟地址的类型,从所述多个物理块设备中选择目标物理块设备包括:
在所述虚拟地址为热读地址的情况下,从所述多个物理块设备中选择存取速度最快的物理块设备作为目标物理块设备;
在所述虚拟地址为热写地址的情况下,从所述多个物理块设备中选择设备损耗最低的物理块设备作为目标物理块设备;
在所述虚拟地址为冷读写地址的情况下,从所述多个物理块设备中选择容量最大的物理块设备作为目标物理块设备。
5.根据权利要求1-4中任意一项所述的方法,其特征在于,还包括:
接收数据读取指令,确定待读取虚拟地址;
依据虚拟地址与物理地址的对应关系,确定与所述待读取虚拟地址对应的待读取物理地址;
读取所述待读取物理地址中存储的数据。
6.根据权利要求1-4中任意一项所述的方法,其特征在于,记录所述虚拟地址与所述物理地址的对应关系包括:
以表格形式记录所述虚拟地址与所述物理地址的对应关系。
7.一种虚拟机,其特征在于,包括:处理器,与所述处理器耦合的存储器,其中:
所述处理器用于,接收数据存储指令,所述数据存储指令中包含有待存储数据,响应所述数据存储指令,从虚拟块设备VBD中选择与所述数据存储指令对应的虚拟地址,其中,一个所述VBD对应有多个物理块设备;依据预先记录的虚拟地址的被读写次数,确定所述虚拟地址的类型;所述虚拟地址的类型包括热写地址、热读地址与冷读写地址;依据所述虚拟地址的类型,从所述多个物理块设备中选择目标物理块设备,并从所述目标物理块设备中选择与所述虚拟地址对应的物理地址,其中包括:根据预定的物理块设备选择规则,选择相应的物理块设备;记录所述虚拟地址与所述物理地址的对应关系,存储所述待存储数据至所述物理地址。
8.根据权利要求7所述的虚拟机,其特征在于,在执行从所述VBD对应的多个物理块设备中,选择与所述虚拟地址对应的物理地址的步骤时,所述处理器用于:
获取所述VBD记录的各个物理块设备的设备类型;
依据所述设备类型,确定所述多个物理块设备中存取速度最快的物理块设备;
从所述存取速度最快的物理块设备中选择与所述虚拟地址对应的物理地址。
9.根据权利要求7所述的虚拟机,其特征在于,在执行依据预先记录的虚拟地址的被读写次数,确定所述虚拟地址的类型的步骤时,所述处理器用于:
确定预先记录的被写入次数不大于第一阈值的虚拟地址为热写地址;
确定预先记录的被读取次数不大于第二阈值的虚拟地址为热读地址;
确定预先记录的被写入次数小于等于第一阈值的虚拟地址为热写地址;
确定预先记录的被读取次数小于等于第二阈值的虚拟地址为热读地址。
10.根据权利要求9所述的虚拟机,其特征在于,据所述虚拟地址的类型,从所述多个物理块设备中选择目标物理块设备包括:
在所述虚拟地址为热读地址的情况下,从所述多个物理块设备中选择存取速度最快的物理块设备作为目标物理块设备;
在所述虚拟地址为热写地址的情况下,从所述多个物理块设备中选择设备损耗最低的物理块设备作为目标物理块设备;
在所述虚拟地址为冷读写地址的情况下,从所述多个物理块设备中选择容量最大的物理块设备作为目标物理块设备。
11.根据权利要求7-10中任意一项所述的虚拟机,其特征在于,所述处理器还用于:
接收数据读取指令,确定待读取虚拟地址;
依据虚拟地址与物理地址的对应关系,确定与所述待读取虚拟地址对应的待读取物理地址;
读取所述待读取物理地址中存储的数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610507768.7A CN106201652B (zh) | 2016-06-29 | 2016-06-29 | 一种数据处理方法及虚拟机 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610507768.7A CN106201652B (zh) | 2016-06-29 | 2016-06-29 | 一种数据处理方法及虚拟机 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106201652A CN106201652A (zh) | 2016-12-07 |
CN106201652B true CN106201652B (zh) | 2020-05-26 |
Family
ID=57464186
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610507768.7A Active CN106201652B (zh) | 2016-06-29 | 2016-06-29 | 一种数据处理方法及虚拟机 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106201652B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107329790B (zh) * | 2017-06-30 | 2021-01-15 | 联想(北京)有限公司 | 一种数据处理方法和电子设备 |
CN108304215A (zh) * | 2017-12-15 | 2018-07-20 | 山东超越数控电子股份有限公司 | 一种基于国产平台的显存优化实现方法 |
CN110737608B (zh) * | 2018-07-03 | 2024-03-15 | 阿里巴巴集团控股有限公司 | 一种数据操作方法、装置及*** |
CN109597677B (zh) * | 2018-12-07 | 2020-05-22 | 北京百度网讯科技有限公司 | 用于处理信息的方法和装置 |
CN109960569B (zh) * | 2019-03-26 | 2021-04-13 | 联想(北京)有限公司 | 一种虚拟化处理方法及装置 |
CN110716886B (zh) * | 2019-09-29 | 2022-12-13 | 惠州市仲恺Tcl智融科技小额贷款股份有限公司 | 数据处理的方法、装置、存储介质以及终端 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103593147A (zh) * | 2013-11-07 | 2014-02-19 | 华为技术有限公司 | 一种数据读取的方法及装置 |
CN103995732A (zh) * | 2014-05-26 | 2014-08-20 | 华为技术有限公司 | 一种虚拟可信平台模块功能实现方法和管理设备 |
CN104598170A (zh) * | 2015-01-30 | 2015-05-06 | 华为技术有限公司 | 确定读写路径的方法和装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9158568B2 (en) * | 2012-01-30 | 2015-10-13 | Hewlett-Packard Development Company, L.P. | Input/output operations at a virtual block device of a storage server |
US9558198B2 (en) * | 2012-03-28 | 2017-01-31 | Google Inc. | File map compression using run length encoding for active blocks |
CN102662869B (zh) * | 2012-04-01 | 2015-08-26 | 龙芯中科技术有限公司 | 虚拟机中的内存访问方法和装置及查找器 |
-
2016
- 2016-06-29 CN CN201610507768.7A patent/CN106201652B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103593147A (zh) * | 2013-11-07 | 2014-02-19 | 华为技术有限公司 | 一种数据读取的方法及装置 |
CN103995732A (zh) * | 2014-05-26 | 2014-08-20 | 华为技术有限公司 | 一种虚拟可信平台模块功能实现方法和管理设备 |
CN104598170A (zh) * | 2015-01-30 | 2015-05-06 | 华为技术有限公司 | 确定读写路径的方法和装置 |
Non-Patent Citations (1)
Title |
---|
"虚拟存储技术及其应用";王鹤群;《记录媒体技术》;20090220(第6期);第61-64、56页 * |
Also Published As
Publication number | Publication date |
---|---|
CN106201652A (zh) | 2016-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106201652B (zh) | 一种数据处理方法及虚拟机 | |
EP3617867B1 (en) | Fragment management method and fragment management apparatus | |
US11270734B2 (en) | Method for accessing shingled magnetic recording SMR disk, and server | |
US20160132429A1 (en) | Method and Storage Device for Collecting Garbage Data | |
US10795599B2 (en) | Data migration method, host and solid state disk | |
CN107908571B (zh) | 一种数据写入方法、闪存装置及存储设备 | |
CN110688256B (zh) | 一种元数据上电恢复方法、装置、电子设备及存储介质 | |
EP3142014B1 (en) | Method, device and user equipment for reading/writing data in nand flash | |
US10318165B2 (en) | Data operating method, device, and system | |
US9983826B2 (en) | Data storage device deferred secure delete | |
CN104408126B (zh) | 一种数据库的持久化写入方法、装置和*** | |
JP6680069B2 (ja) | ストレージ制御装置、ストレージシステム及びストレージ装置制御プログラム | |
CN111324414B (zh) | Nvm存储介质模拟器 | |
US10585592B2 (en) | Disk area isolation method and device | |
US11403211B2 (en) | Storage system with file priority mechanism and method of operation thereof | |
CN116340198B (zh) | 固态硬盘的数据写入方法、其装置及固态硬盘 | |
CN109739688B (zh) | 快照资源空间管理方法、装置、电子设备 | |
CN104899158A (zh) | 访存优化方法和装置 | |
CN108334457B (zh) | 一种io处理方法及装置 | |
EP2381354A2 (en) | Data recording device | |
CN112463041B (zh) | 一种主机读写数据的处理方法及相关装置 | |
US9804968B2 (en) | Storage system and data writing method | |
CN109840217B (zh) | 一种缓存资源分配和装置 | |
US10642494B2 (en) | Method, electronic device and computer program product for data processing | |
US11144453B2 (en) | Unmap to initialize sectors |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |