CN104166583B - 一种基于移动设备虚拟化环境的数据存储方法及装置 - Google Patents

一种基于移动设备虚拟化环境的数据存储方法及装置 Download PDF

Info

Publication number
CN104166583B
CN104166583B CN201410392864.2A CN201410392864A CN104166583B CN 104166583 B CN104166583 B CN 104166583B CN 201410392864 A CN201410392864 A CN 201410392864A CN 104166583 B CN104166583 B CN 104166583B
Authority
CN
China
Prior art keywords
data
file system
request
system metadata
flag bit
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
CN201410392864.2A
Other languages
English (en)
Other versions
CN104166583A (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.)
Shenzhen Qianshu Technology Co ltd
Original Assignee
HKUST Shenzhen Research Institute
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 HKUST Shenzhen Research Institute filed Critical HKUST Shenzhen Research Institute
Priority to CN201410392864.2A priority Critical patent/CN104166583B/zh
Publication of CN104166583A publication Critical patent/CN104166583A/zh
Application granted granted Critical
Publication of CN104166583B publication Critical patent/CN104166583B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明适用于虚拟化环境技术领域,提供了一种基于移动设备虚拟化环境的数据存储方法及装置,方法包括:在移动设备虚拟化环境中,获取虚拟机内操作系统发出的输入或者输出的数据请求;在将数据请求中的数据进行地址转换之前,通过虚拟块地址VBA,区分出数据请求中的数据为文件系统元数据或者为普通用户数据;根据区分结果,在数据请求中配置标志位;在将数据请求进行地址转换之后,根据数据请求中配置的标志位,检测出数据请求中的数据为文件系统元数据或者为普通用户数据;当检测出数据请求中的数据为文件系统元数据时,将文件系统元数据存储到非易失RAM存储器中。本发明提高了移动虚拟化系统整体的I/O性能并延长NAND闪存寿命。

Description

一种基于移动设备虚拟化环境的数据存储方法及装置
技术领域
本发明属于虚拟化环境技术领域,尤其涉及一种基于移动设备虚拟化环境的数据存储方法及装置。
背景技术
伴随着移动设备的广泛应用,虚拟化技术已经越来越多的应用在移动设备中。因为虚拟化技术可以在一个移动设备中提供多种不同的软件系统,同时可以有效地提高系统的安全性以及减少系统开发的成本。
在移动设备虚拟化环境中,移动设备的虚拟机的外存包括NAND闪存、eMMC闪存以及SD卡。其中,主要使用NAND闪存作为外存。而NAND闪存的使用有很多限制和约束,详述如下:
一、NAND闪存不支持同一地址内数据的更新;
二、NAND闪存的使用寿命有限且需要很长时间的垃圾回收,垃圾回收是指回收因数据更新产生的无效数据页。
但是,在移动设备虚拟化环境的设计中没有考虑到NAND闪存的特性,因而导致移动设备虚拟化环境中系统的I/O性能变得很差。
此外,在移动设备虚拟化环境中,如果用户在虚拟机文件系统中创建一个虚拟机镜像文件,镜像文件中会包含更新频率较高的文件系统元数据和普通用户数据。这些更新频繁的文件系统元数据会导致NAND闪存产生较多的无效数据页,进而频繁地触发垃圾回收,这不仅影响了系统的整体性能,同时也会降低NAND闪存的寿命。
此外,在移动设备虚拟化环境中,在虚拟机正常生效的情况下,无法区分出虚拟机镜像文件中的元数据和普通用户数据,这是因为虚拟机内文件系统数据传输到虚拟机监控器时需要经过两层的地址转换表:虚拟地址转换表和镜像地址转换表。虚拟地址转换表将虚拟块地址转换成镜像块地址,然后镜像地址转换表将镜像块地址转换成物理块地址。因此,主机操作系统只能看见经过转换的物理块地址,这导致所有和虚拟机内文件系统相关联的元数据的信息丢失,因此不能区分出虚拟机镜像文件中的元数据和普通用户数据,进而不能将虚拟机内文件系统中更新较为频繁的元数据分离出来。
综上所述,在移动设备虚拟化环境中,由于受到NAND闪存固有缺陷和无法将虚拟机内文件系统中更新较为频繁的元数据分离出来的影响,导致移动设备虚拟化环境中系统的输入输出I/O性能低,NAND闪存的寿命短。
发明内容
本发明实施例的目的在于提供一种基于移动设备虚拟化环境的数据存储方法,旨在解决在移动设备虚拟化环境中,由于受到NAND闪存固有缺陷和无法将虚拟机内文件系统中更新较为频繁的元数据分离出来的影响,导致移动设备虚拟化环境中系统的输入输出I/O性能低,NAND闪存的寿命短的问题。
本发明实施例是这样实现的,一种基于移动设备虚拟化环境的数据存储方法,包括:
在移动设备虚拟化环境中,获取虚拟机内操作系统发出的输入或者输出的数据请求;
在将所述数据请求中的数据进行地址转换之前,通过虚拟块地址VBA,区分出所述数据请求中的数据为文件系统元数据或者为普通用户数据;
根据区分结果,在所述数据请求中配置标志位;
在将所述数据请求进行地址转换之后,根据所述数据请求中配置的标志位,检测出所述数据请求中的数据为文件系统元数据或者为普通用户数据;
当检测出所述数据请求中的数据为文件系统元数据时,将所述文件系统元数据存储到非易失RAM存储器中;
当检测出所述数据请求中的数据为普通用户数据时,将所述普通用户数据存储在NAND闪存中;
其中,所述文件系统元数据为虚拟机内文件系统元数据;
所述普通用户数据为虚拟机内除文件系统元数据之外的数据;
所述非易失RAM存储器和所述NAND闪存均预置在所述移动设备虚拟化环境中。
本发明实施例的另一目的在于提供一种基于移动设备虚拟化环境的数据存储装置,包括:
获取模块,用于在移动设备虚拟化环境中,获取虚拟机内操作系统发出的输入或者输出的数据请求;
区分模块,用于在将所述数据请求中的数据进行地址转换之前,通过虚拟块地址VBA,区分出所述数据请求中的数据为文件系统元数据或者为普通用户数据;
配置模块,用于根据区分结果,在所述数据请求中配置标志位;
检测模块,用于在将所述数据请求进行地址转换之后,根据所述数据请求中配置的标志位,检测出所述数据请求中的数据为文件系统元数据或者为普通用户数据;
文件系统元数据存储模块,用于当检测出所述数据请求中的数据为文件系统元数据时,将所述文件系统元数据存储到非易失RAM存储器中;
普通用户数据存储模块,用于当检测出所述数据请求中的数据为普通用户数据时,将所述普通用户数据存储在NAND闪存中;
其中,所述文件系统元数据为虚拟机内文件系统元数据;
所述普通用户数据为虚拟机内除文件系统元数据之外的数据;
所述非易失RAM存储器和所述NAND闪存均预置在所述移动设备虚拟化环境中。
在本发明实施例中,当检测出所述数据请求中的数据为文件系统元数据时,将所述文件系统元数据存储到非易失RAM存储器中,当检测出所述数据请求中的数据为普通用户数据时,将所述普通用户数据存储在NAND闪存中,解决了由于受到NAND闪存固有缺陷和无法将虚拟机内文件系统中更新较为频繁的元数据分离出来的影响,导致移动设备虚拟化环境中系统的输入输出I/O性能低,NAND闪存的寿命短的问题,从而达到提高移动虚拟化系统整体的I/O性能以及延长NAND闪存寿命的目的。
附图说明
图1是本发明实施例提供的基于移动设备虚拟化环境的数据存储方法的实现流程图;
图2是本发明实施例提供的在数据请求中配置标志位的样例图;
图3是本发明实施例提供的基于移动设备虚拟化环境的数据存储方法步骤S105的具体实现流程图;
图4是本发明实施例提供的虚拟机内虚拟块地址到物理块地址的转换过程图;
图5是本发明实施例提供的读写性能对比图;
图6是本发明实施例提供的基于移动设备虚拟化环境的数据存储装置的结构框图;
图7是本发明实施例提供的文件系统元数据存储模块65的第一结构框图;
图8是本发明实施例提供的文件系统元数据存储模块65的第二结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
实施例一
图1是本发明实施例提供的一种基于移动设备虚拟化环境的数据存储方法的实现流程图,详述如下:
在步骤S101中,在移动设备虚拟化环境中,获取虚拟机内操作系统发出的输入或者输出的数据请求;
其中,移动设备虚拟化环境是指移动设备运行虚拟机的环境。
在步骤S102中,在将所述数据请求中的数据进行地址转换之前,通过虚拟块地址VBA,区分出所述数据请求中的数据为文件系统元数据或者为普通用户数据;
在步骤S103中,根据区分结果,在所述数据请求中配置标志位;
所述标志位为文件系统元数据请求的标志位或者为普通用户数据请求的标志位,所述文件系统元数据请求的标志位和所述普通用户数据请求的标志位不同。
在步骤S104中,在将所述数据请求进行地址转换之后,根据所述数据请求中配置的标志位,检测出所述数据请求中的数据为文件系统元数据或者为普通用户数据;
在将数据请求进行地址转换之后,是指在将数据请求经过虚拟地址转换表和镜像地址转换表进行地址转换之后。
在步骤S105中,当检测出所述数据请求中的数据为文件系统元数据时,将所述文件系统元数据存储到非易失RAM存储器中;
在步骤S106中,当检测出所述数据请求中的数据为普通用户数据时,将所述普通用户数据存储在NAND闪存中;
其中,所述文件系统元数据为虚拟机内文件系统元数据;
所述普通用户数据为虚拟机内除文件系统元数据之外的数据;
所述非易失RAM存储器和所述NAND闪存均预置在所述移动设备虚拟化环境中。
在本发明实施例中,将虚拟机内文件系统元数据分离出来,然后存储到非易失RAM存储器中。从而达到提高移动虚拟化系统整体的I/O性能以及延长NAND闪存寿命的目的。
实施例二
基于移动设备虚拟化环境的数据存储方法步骤S103的有三种实施方式,详述如下:
第一种实施方式:当区分结果表示所述数据请求中的数据为文件系统元数据时,在所述数据请求中配置文件系统元数据的标志位,当所述数据请求为虚拟机文件系统的普通用户数据请求时,在所述数据请求中配置普通用户数据请求的标志位,所述文件系统元数据请求的标志位和所述普通用户数据请求的标志位不同。
参考图2,图2是本发明实施例提供的在数据请求中配置标志位的样例图。
其中,在虚拟机内对每个数据请求增加了一个标志位P,通过使用标志位P来追踪记录虚拟机内文件系统元数据的信息。
其中,在虚拟机内操作系统中,VBA表示虚拟块地址,M表示文件系统元数据,IBA表示镜像文件块地址,R表示普通用户数据,PBA表示物理块地址。
第二种实施方式:当区分结果表示所述数据请求中的数据为文件系统元数据时,在所述数据请求中配置所述文件系统元数据的标志位,当所述数据请求为虚拟机文件系统的普通用户数据请求时,不对所述数据请求进行处理。
其中,通过在所述数据请求中配置所述文件系统元数据的标志位,使得后续在虚拟机镜像文件中可以检测出文件系统元数据,有标志位的数据即为文件系统元数据,没有标志位的数据即为普通用户数据。
第三种实施方式:当区分结果表示所述数据请求中的数据为文件系统元数据时,不对所述数据请求进行处理,当所述数据请求为虚拟机文件系统的普通用户数据请求时,在所述数据请求中配置所述普通用户数据请求的标志位。
其中,通过在所述数据请求中配置所述普通用户数据请求的标志位,使得后续在虚拟机镜像文件中可以检测出普通用户数据,有标志位的数据即为普通用户数据,没有标志位的数据即为文件系统元数据。
在本发明实施例中,由于将文件系统元数据分离出来,便于后续将文件系统元数据存储到非易失RAM存储器中,因此提高移动虚拟化系统整体的I/O性能,也提高了NAND闪存寿命。
实施例三
参考图3,图3是本发明实施例提供的基于移动设备虚拟化环境的数据存储方法步骤S105的具体实现流程图,详述如下:
在步骤S301中,当检测出所述数据请求中的数据为文件系统元数据时,采用预先建立的文件系统元数据总容量统计模型,统计出所述文件系统元数据的总容量;
在步骤S302中,判断所述文件系统元数据的总容量是否大于非易失RAM存储器的容量,是则,将部分所述文件系统元数据存储到所述非易失RAM存储器中,否则,将全部的所述文件系统元数据均存储在所述非易失RAM存储器中。
其中,部分所述文件系统元数据是指最近时间段内,生成的文件系统元数据,最近时间段可以为用户自设,也可以为系统设定,在此不做限制。
在本发明实施例中,由于将虚拟机内文件系统元数据分离出来,然后存储到非易失RAM存储器中,因此提高移动虚拟化系统整体的I/O性能,也提高了NAND闪存寿命。
实施例四
本实施例描述了建立文件系统元数据总容量统计模型的实施过程,详述如下:
建立文件系统元数据总容量统计模型,所述文件系统元数据总容量统计模型如下:
其中,n表示在移动设备虚拟化环境中虚拟机运行的个数,δi表示第i个虚拟机内文件系统元数据的容量,α表示文件系统元数据的总容量,当n等于0时,表示在移动设备虚拟化环境中没有虚拟机运行,虚拟机内文件系统元数据的容量为0,当n大于0时,表示在移动设备虚拟化环境中有虚拟机运行,将所有虚拟机内文件系统元数据的容量相加,获得所述文件系统元数据的总容量α。
实施例五
参考图4,图4是本发明实施例提供的虚拟机内虚拟块地址到物理块地址的转换过程图,详述如下:
在虚拟机监控器中,引入了三个的部件:元数据监控器、决策器和地址分配器。这些部件在设计中相互依赖,起着不同的作用。
元数据监控器执行第一部分的程序,所述第一部分的程序用于在移动设备虚拟化环境中,获取虚拟机内操作系统发出的输入或者输出的数据请求;在将所述数据请求中的数据进行地址转换之前,通过虚拟块地址VBA,区分出所述数据请求中的数据为文件系统元数据或者为普通用户数据;根据区分结果,在所述数据请求中配置标志位;在将所述数据请求进行地址转换之后,根据所述数据请求中配置的标志位,检测出所述数据请求中的数据为文件系统元数据或者为普通用户数据。
决策器和地址分配器执行第二部分的程序,所述第二部分的程序用于当检测出所述数据请求中的数据为文件系统元数据时,将所述文件系统元数据存储到非易失RAM存储器中;当检测出所述数据请求中的数据为普通用户数据时,将所述普通用户数据存储在NAND闪存中,或者,
用于当检测出所述数据请求中的数据为文件系统元数据时,采用预先建立的文件系统元数据总容量统计模型,统计出所述文件系统元数据的总容量;
判断所述文件系统元数据的总容量是否大于非易失RAM存储器的容量,是则,将部分所述文件系统元数据存储到所述非易失RAM存储器中,否则,将全部的所述文件系统元数据均存储在所述非易失RAM存储器中;或者,
用于建立文件系统元数据总容量统计模型。
为便于说明,下面对虚拟机内虚拟块地址到物理块地址的转换过程进行说明:
首先,在数据请求进行地址转换之前,通过虚拟块地址VBA区分出虚拟机内文件系统元数据M和普通用户数据R。如果数据请求是虚拟机内文件系统元数据M,在将P置为0,反之,如果数据请求是普通用户数据,则将P置为1。然后,当虚拟机监控器接收到虚拟机发送来的数据请求之后,通过检查数据请求内的标志位P便可以区分该数据时虚拟机内文件系统元数据和普通用户数据。最后,虚拟机监控器将区分好的数据发送给决策器去决定数据的存储位置,将普通用户数据存储到NAND闪存中,存储位置包括但不限于NAND闪存中的空闲块和有效块,将虚拟机文件系统中的元数据分离出来,存储到非易失RAM存储器中,存储位置包括但不限于非易失RAM存储器中的空闲块和有效块。
实施例六
本实施例描述了采用真实的嵌入式平台来验证基于移动设备虚拟化环境的数据存储方法的实施过程,详述如下:
通过使用真实的嵌入式平台来验证本发明的数据存储方法。实验平台采用ARM v7架构的ARM Cortex-A15双核处理器(Samsung Exynos5250)作为核心处理器。在这个平台中,ARM处理器运行速度为1.7GHz;该处理器包含32KB的指令缓存和32KB的数据缓存。平台运行的是Android 4.2操作系统,该系统的内核为Linux kernel 3.9。该平台中包括64Gb的eMMC NAND闪存,128Gb的SD卡和2GB的DDR3RAM。我们通过使用部分RAM来仿真PCM,因为PCM和RAM具有相同的数据访问特性,即PCM和RAM都支持以字节为单位写入,并且都支持在同一个地址内数据的更新。我们捕获发送到RAM的数据请求,并且使用PCM的参数来计算I/O的性能。
本发明的数据存储方法实现在KVM(kernel virtual machine)中。KVM是运行在Linux内核中的虚拟机监控器。在实验过程中,QEMU用来模拟ARM处理器;移动操作系统Android 4.2运行在QEMU模拟器中;实验中通过使用一些用户经常使用的Android应用程序,例如微信,进行实验的测试。当应用程序在QEMU内访问外部存储设备时,QEMU将该应用程序的I/O请求发送到KVM中。KVM接收到QEMU的I/O请求后,通过读/写操作将数据请求传送到底层的设备驱动。最后设备驱动再将接收到的读/写请求发送到物理设备。
以下部分,将通过实验数据进行实验结果的对比和分析。首先对比和分析I/O性能的改进,然后分析对NAND闪存寿命的影响。实验结果是通过捕获到PCM和NAND闪存的I/O请求,然后根据PCM和NAND闪存的参数获得实验结果。实验设定NAND闪存的读延迟为25us,写延迟为500us;PCM的读延迟为50ns,写延迟为1us。
参考图5,图5是本发明实施例提供的读写性能对比图,详述如下:
其中,图5对比了原始的Android系统或者baseline的读写性能和本发明的数据存储方法的读写性能。
在图5中,白色的柱状图表示本发明的数据存储方法的读写性能,格子柱状图代表原始Android系统的读写性能。实验中,PCM的容量配置为16MB;实验过程中,分别运行1到3个虚拟机以获得运行不同数目虚拟机条件下系统的读写性能。
其中,(a)Write performance with one VM为运行一个虚拟机条件下系统的数据写入性能图,(b)Write performance with two VMS为运行两个虚拟机条件下系统的数据写入性能图,(c)Write performance with three VMS为运行三个虚拟机条件下系统的数据写入性能图。
其中,(d)Read performance with one VM为运行一个虚拟机条件下系统的数据读取性能图,(e)Read performance with two VMS为运行两个虚拟机条件下系统的数据读取性能图,(f)Read performance with three VMS为运行三个虚拟机条件下系统的数据读取性能图。
从实验结果中可以看出,原始Android系统的读写性能比本发明的数据存储方法差很多。
对比原始Android系统,本发明的数据存储方法可以提高系统2.44倍的读性能和提高系统3.48倍的写性能。同时,随着虚拟机数据的增加,不论是原始的Android系统还是系统整体的读写性能都会降低。引起这种现象的原始是虚拟机之间的资源竞争,这导致系统和虚拟机的运行速度降低。但是,即使随着虚拟机数目的增加,本发明的数据存储方法仍然能够很好的改善原始Android系统的性能。系统性能的提高得益于将更新频率较频繁的虚拟机内文件系统元数据存储到更快的PCM中。
实施例七
参考图6,图6是本发明实施例提供的基于移动设备虚拟化环境的数据存储装置的结构框图,该装置可以运行于移动设备中。为了便于说明,仅示出了与本实施例相关的部分。
参照图6,该基于移动设备虚拟化环境的数据存储装置,包括:
获取模块61,用于在移动设备虚拟化环境中,获取虚拟机内操作系统发出的输入或者输出的数据请求;
区分模块62,用于在将所述数据请求中的数据进行地址转换之前,通过虚拟块地址VBA,区分出所述数据请求中的数据为文件系统元数据或者为普通用户数据;
配置模块63,用于根据区分结果,在所述数据请求中配置标志位;
检测模块64,用于在将所述数据请求进行地址转换之后,根据所述数据请求中配置的标志位,检测出所述数据请求中的数据为文件系统元数据或者为普通用户数据;
文件系统元数据存储模块65,用于当检测出所述数据请求中的数据为文件系统元数据时,将所述文件系统元数据存储到非易失RAM存储器中;
普通用户数据存储模块66,用于当检测出所述数据请求中的数据为普通用户数据时,将所述普通用户数据存储在NAND闪存中;
其中,所述文件系统元数据为虚拟机内文件系统元数据;
所述普通用户数据为虚拟机内除文件系统元数据之外的数据;
所述非易失RAM存储器和所述NAND闪存均预置在所述移动设备虚拟化环境中。
在本实施例的一种实现方式中,所述标志位为文件系统元数据请求的标志位或者为普通用户数据请求的标志位,所述文件系统元数据请求的标志位和所述普通用户数据请求的标志位不同。
在本实施例的一种实现方式中,在该基于移动设备虚拟化环境的数据存储装置中,所述配置模块用于当区分结果表示所述数据请求中的数据为文件系统元数据时,在所述数据请求中配置文件系统元数据的标志位,当所述数据请求为虚拟机文件系统的普通用户数据请求时,在所述数据请求中配置普通用户数据请求的标志位,所述文件系统元数据请求的标志位和所述普通用户数据请求的标志位不同;或者,
用于当区分结果表示所述数据请求中的数据为文件系统元数据时,在所述数据请求中配置所述文件系统元数据的标志位,当所述数据请求为虚拟机文件系统的普通用户数据请求时,不对所述数据请求进行处理;或者,
用于当区分结果表示所述数据请求中的数据为文件系统元数据时,不对所述数据请求进行处理,当所述数据请求为虚拟机文件系统的普通用户数据请求时,在所述数据请求中配置所述普通用户数据请求的标志位。
在本实施例的一种实现方式中,参考图7,图7是本发明实施例提供的文件系统元数据存储模块65的第一结构框图,在该基于移动设备虚拟化环境的数据存储装置中,所述文件系统元数据存储模块65包括:
统计单元651,用于当检测出所述数据请求中的数据为文件系统元数据时,采用预先建立的文件系统元数据总容量统计模型,统计出所述文件系统元数据的总容量;
文件系统元数据存储单元652,用于判断所述文件系统元数据的总容量是否大于非易失RAM存储器的容量,是则,将部分所述文件系统元数据存储到所述非易失RAM存储器中,否则,将全部的所述文件系统元数据均存储在所述非易失RAM存储器中。
在本实施例的一种实现方式中,参考图8,图8是本发明实施例提供的文件系统元数据存储模块65的第二结构框图,在该基于移动设备虚拟化环境的数据存储装置中,所述文件系统元数据存储模块65包括:
文件系统元数据总容量统计模型建立模块650,用于建立文件系统元数据总容量统计模型,所述文件系统元数据总容量统计模型如下:
其中,n表示在移动设备虚拟化环境中虚拟机运行的个数,δi表示第i个虚拟机内文件系统元数据的容量,α表示文件系统元数据的总容量,当n等于0时,表示在移动设备虚拟化环境中没有虚拟机运行,虚拟机内文件系统元数据的容量为0,当n大于0时,表示在移动设备虚拟化环境中有虚拟机运行,将所有虚拟机内文件系统元数据的容量相加,获得所述文件系统元数据的总容量α。
本发明实施例提供的装置可以应用在前述对应的方法实施例中,详情参见上述实施例的描述,在此不再赘述。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现。所述的程序可以存储于可读取存储介质中,所述的存储介质,如随机存储器、闪存、只读存储器、可编程只读存储器、电可擦写可编程存储器、寄存器等。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件执行本发明各个实施例所述的方法。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种基于移动设备虚拟化环境的数据存储方法,其特征在于,包括:
在移动设备虚拟化环境中,获取虚拟机内操作系统发出的输入或者输出的数据请求;
在将所述数据请求中的数据进行地址转换之前,通过虚拟块地址VBA,区分出所述数据请求中的数据为文件系统元数据或者为普通用户数据;
根据区分结果,在所述数据请求中配置标志位;
在将所述数据请求进行地址转换之后,根据所述数据请求中配置的标志位,检测出所述数据请求中的数据为文件系统元数据或者为普通用户数据;
当检测出所述数据请求中的数据为文件系统元数据时,将所述文件系统元数据存储到非易失RAM存储器中;
当检测出所述数据请求中的数据为普通用户数据时,将所述普通用户数据存储在NAND闪存中;
其中,所述文件系统元数据为虚拟机内文件系统元数据;
所述普通用户数据为虚拟机内除文件系统元数据之外的数据;
所述非易失RAM存储器和所述NAND闪存均预置在所述移动设备虚拟化环境中;
所述标志位为文件系统元数据请求的标志位或者为普通用户数据请求的标志位,所述文件系统元数据请求的标志位和所述普通用户数据请求的标志位不同。
2.根据权利要求1所述的方法,其特征在于,所述标志位为文件系统元数据请求的标志位或者为普通用户数据请求的标志位,所述文件系统元数据请求的标志位和所述普通用户数据请求的标志位不同。
3.根据权利要求1或2所述的方法,其特征在于,所述根据区分结果,在所述数据请求中配置标志位,具体包括:
当区分结果表示所述数据请求中的数据为文件系统元数据时,在所述数据请求中配置文件系统元数据的标志位,当所述数据请求为虚拟机文件系统的普通用户数据请求时,在所述数据请求中配置普通用户数据请求的标志位,所述文件系统元数据请求的标志位和所述普通用户数据请求的标志位不同;或者,
当区分结果表示所述数据请求中的数据为文件系统元数据时,在所述数据请求中配置所述文件系统元数据的标志位,当所述数据请求为虚拟机文件系统的普通用户数据请求时,不对所述数据请求进行处理;或者,
当区分结果表示所述数据请求中的数据为文件系统元数据时,不对所述数据请求进行处理,当所述数据请求为虚拟机文件系统的普通用户数据请求时,在所述数据请求中配置所述普通用户数据请求的标志位。
4.根据权利要求1所述的方法,其特征在于,所述当检测出所述数据请求中的数据为文件系统元数据时,将所述文件系统元数据存储到非易失RAM存储器中,具体为:
当检测出所述数据请求中的数据为文件系统元数据时,采用预先建立的文件系统元数据总容量统计模型,统计出所述文件系统元数据的总容量;
判断所述文件系统元数据的总容量是否大于非易失RAM存储器的容量,是则,将部分所述文件系统元数据存储到所述非易失RAM存储器中,否则,将全部的所述文件系统元数据均存储在所述非易失RAM存储器中。
5.根据权利要求4所述的方法,其特征在于,在所述当检测出所述数据请求中的数据为文件系统元数据时,采用预先建立的文件系统元数据总容量统计模型,统计出所述文件系统元数据的总容量之前,所述方法包括:
建立文件系统元数据总容量统计模型,所述文件系统元数据总容量统计模型如下:
其中,n表示在移动设备虚拟化环境中虚拟机运行的个数,δi表示第i个虚拟机内文件系统元数据的容量,α表示文件系统元数据的总容量,当n等于0时,表示在移动设备虚拟化环境中没有虚拟机运行,虚拟机内文件系统元数据的容量为0,当n大于0时,表示在移动设备虚拟化环境中有虚拟机运行,将所有虚拟机内文件系统元数据的容量相加,获得所述文件系统元数据的总容量α。
6.一种基于移动设备虚拟化环境的数据存储装置,其特征在于,包括:
获取模块,用于在移动设备虚拟化环境中,获取虚拟机内操作系统发出的输入或者输出的数据请求;
区分模块,用于在将所述数据请求中的数据进行地址转换之前,通过虚拟块地址VBA,区分出所述数据请求中的数据为文件系统元数据或者为普通用户数据;
配置模块,用于根据区分结果,在所述数据请求中配置标志位;
检测模块,用于在将所述数据请求进行地址转换之后,根据所述数据请求中配置的标志位,检测出所述数据请求中的数据为文件系统元数据或者为普通用户数据;
文件系统元数据存储模块,用于当检测出所述数据请求中的数据为文件系统元数据时,将所述文件系统元数据存储到非易失RAM存储器中;
普通用户数据存储模块,用于当检测出所述数据请求中的数据为普通用户数据时,将所述普通用户数据存储在NAND闪存中;
其中,所述文件系统元数据为虚拟机内文件系统元数据;
所述普通用户数据为虚拟机内除文件系统元数据之外的数据;
所述非易失RAM存储器和所述NAND闪存均预置在所述移动设备虚拟化环境中;
所述标志位为文件系统元数据请求的标志位或者为普通用户数据请求的标志位,所述文件系统元数据请求的标志位和所述普通用户数据请求的标志位不同。
7.根据权利要求6所述的装置,其特征在于,所述标志位为文件系统元数据请求的标志位或者为普通用户数据请求的标志位,所述文件系统元数据请求的标志位和所述普通用户数据请求的标志位不同。
8.根据权利要求6或7所述的装置,其特征在于,所述配置模块包括:
第一配置单元,用于当区分结果表示所述数据请求中的数据为文件系统元数据时,在所述数据请求中配置文件系统元数据的标志位,当所述数据请求为虚拟机文件系统的普通用户数据请求时,在所述数据请求中配置普通用户数据请求的标志位,所述文件系统元数据请求的标志位和所述普通用户数据请求的标志位不同;或者,
第二配置单元,用于当区分结果表示所述数据请求中的数据为文件系统元数据时,在所述数据请求中配置所述文件系统元数据的标志位,当所述数据请求为虚拟机文件系统的普通用户数据请求时,不对所述数据请求进行处理;或者,
第三配置单元,用于当区分结果表示所述数据请求中的数据为文件系统元数据时,不对所述数据请求进行处理,当所述数据请求为虚拟机文件系统的普通用户数据请求时,在所述数据请求中配置所述普通用户数据请求的标志位。
9.根据权利要求6所述的装置,其特征在于,所述文件系统元数据存储模块,包括:
统计单元,用于当检测出所述数据请求中的数据为文件系统元数据时,采用预先建立的文件系统元数据总容量统计模型,统计出所述文件系统元数据的总容量;
文件系统元数据存储单元,用于判断所述文件系统元数据的总容量是否大于非易失RAM存储器的容量,是则,将部分所述文件系统元数据存储到所述非易失RAM存储器中,否则,将全部的所述文件系统元数据均存储在所述非易失RAM存储器中。
10.根据权利要求9所述的装置,其特征在于,所述装置包括:
文件系统元数据总容量统计模型建立模块,用于建立文件系统元数据总容量统计模型,所述文件系统元数据总容量统计模型如下:
其中,n表示在移动设备虚拟化环境中虚拟机运行的个数,δi表示第i个虚拟机内文件系统元数据的容量,α表示文件系统元数据的总容量,当n等于0时,表示在移动设备虚拟化环境中没有虚拟机运行,虚拟机内文件系统元数据的容量为0,当n大于0时,表示在移动设备虚拟化环境中有虚拟机运行,将所有虚拟机内文件系统元数据的容量相加,获得所述文件系统元数据的总容量α。
CN201410392864.2A 2014-08-11 2014-08-11 一种基于移动设备虚拟化环境的数据存储方法及装置 Active CN104166583B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410392864.2A CN104166583B (zh) 2014-08-11 2014-08-11 一种基于移动设备虚拟化环境的数据存储方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410392864.2A CN104166583B (zh) 2014-08-11 2014-08-11 一种基于移动设备虚拟化环境的数据存储方法及装置

Publications (2)

Publication Number Publication Date
CN104166583A CN104166583A (zh) 2014-11-26
CN104166583B true CN104166583B (zh) 2017-08-04

Family

ID=51910416

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410392864.2A Active CN104166583B (zh) 2014-08-11 2014-08-11 一种基于移动设备虚拟化环境的数据存储方法及装置

Country Status (1)

Country Link
CN (1) CN104166583B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105808383B (zh) * 2016-03-11 2020-04-07 重庆大学 一种快速响应的虚拟机检查点保存方法
CN111582455B (zh) * 2020-05-08 2023-04-18 西安交通大学 一种基于长短期记忆网络的缓存替换系统及方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1547714A (zh) * 2001-08-03 2004-11-17 易斯龙系统公司 提供用于在存储设备的分布式文件系统中进行信息追踪的元数据的系统和方法
CN102298584A (zh) * 2010-06-23 2011-12-28 上海博路信息技术有限公司 一种数据动态增长的电子书结构
CN103049219A (zh) * 2012-12-12 2013-04-17 华中科技大学 适用于虚拟化平台的虚拟磁盘写缓存系统及其操作方法
US8458232B1 (en) * 2009-03-31 2013-06-04 Symantec Corporation Systems and methods for identifying data files based on community data
CN103389884A (zh) * 2013-07-29 2013-11-13 华为技术有限公司 处理输入/输出请求的方法、宿主机、服务器和虚拟机

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8090917B2 (en) * 2008-05-09 2012-01-03 International Business Machines Corporation Managing storage and migration of backup data

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1547714A (zh) * 2001-08-03 2004-11-17 易斯龙系统公司 提供用于在存储设备的分布式文件系统中进行信息追踪的元数据的系统和方法
US8458232B1 (en) * 2009-03-31 2013-06-04 Symantec Corporation Systems and methods for identifying data files based on community data
CN102298584A (zh) * 2010-06-23 2011-12-28 上海博路信息技术有限公司 一种数据动态增长的电子书结构
CN103049219A (zh) * 2012-12-12 2013-04-17 华中科技大学 适用于虚拟化平台的虚拟磁盘写缓存系统及其操作方法
CN103389884A (zh) * 2013-07-29 2013-11-13 华为技术有限公司 处理输入/输出请求的方法、宿主机、服务器和虚拟机

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
PVFS寄生式元数据管理的设计与实现;庞丽萍 等;《计算机工程》;20041020;第30卷(第20期);全文 *
云环境下海量小文件存储技术研究综述;周国安 等;《信息网络安全》;20140610(第6期);全文 *

Also Published As

Publication number Publication date
CN104166583A (zh) 2014-11-26

Similar Documents

Publication Publication Date Title
CN102110196B (zh) 并行运行多用户操作系统间的数据安全传输方法及系统
CA2910175C (en) Selective backup of program data to non-volatile memory
TWI477965B (zh) 包含記憶體系統控制器之裝置及相關方法
US20200225855A1 (en) Process monitoring method and apparatus
CN113806253A (zh) 受到损害的存储设备固件的检测
CN111813713B (zh) 数据加速运算处理方法、装置及计算机可读存储介质
TW201303586A (zh) 包含記憶體系統控制器之裝置及相關方法
US10268595B1 (en) Emulating page modification logging for a nested hypervisor
CN108351826A (zh) 监视处理器的操作
CN106445832A (zh) 闪存存储系统的地址映射方法及装置
CN108228470A (zh) 一种处理向nvm写入数据的写命令的方法和设备
CN109522154A (zh) 数据恢复方法及相关设备与系统
CN105095121A (zh) 虚拟输入设备在驱动层的实现方法及其系统
EP3274896B1 (en) Configuration of a memory controller for copy-on-write with a resource controller
CN108369624B (zh) 用于以最小性能降级检测恶意软件的技术
CN104166583B (zh) 一种基于移动设备虚拟化环境的数据存储方法及装置
CN104050014A (zh) 基于虚拟化平台的高效存储管理方法
CN106407022B (zh) 用于在虚拟机之间通讯的方法和装置
WO2015058641A1 (zh) 一种混合硬盘的实现方法及装置
EP4209887A1 (en) Method for memory management, and apparatus for same
WO2020103468A1 (zh) 基于闪存的垃圾处理的方法、固态硬盘以及存储装置
KR20210028265A (ko) 고속 비휘발성 스토리지 장치 복구 기술
CN106055280B (zh) 一种元数据回写方法和电子设备
KR102440665B1 (ko) 계층적 메모리 장치
CN104268005B (zh) 虚拟机唤醒方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20210826

Address after: 1303-1305, 13 / F, block B2, building 9, Shenzhen Bay science and technology ecological park, 1819 Shahe West Road, Yuehai street, Nanshan District, Shenzhen, Guangdong 518000

Patentee after: SHENZHEN COOS Co.,Ltd.

Address before: 518057 501, industry university research building, Hong Kong Polytechnic University, 18 Yuexing 1st Road, gaoxinyuan South District, Nanshan District, Shenzhen City, Guangdong Province

Patentee before: SHENZHEN RESEARCH INSTITUTE, THE HONG KONG POLYTECHNIC University

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240206

Address after: 518000 2938, block B, Tianxia International Center, No. 8 Taoyuan Road, dawangshan community, Nantou street, Nanshan District, Shenzhen, Guangdong

Patentee after: Shenzhen Qianshu Technology Co.,Ltd.

Country or region after: China

Address before: 1303-1305, 13 / F, block B2, building 9, Shenzhen Bay science and technology ecological park, 1819 Shahe West Road, Yuehai street, Nanshan District, Shenzhen, Guangdong 518000

Patentee before: SHENZHEN COOS Co.,Ltd.

Country or region before: China