一种基于移动设备虚拟化环境的数据存储方法及装置制造方法及图纸

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

【技术实现步骤摘要】
一种基于移动设备虚拟化环境的数据存储方法及装置
本专利技术属于虚拟化环境
,尤其涉及一种基于移动设备虚拟化环境的数据存储方法及装置。
技术介绍
伴随着移动设备的广泛应用,虚拟化技术已经越来越多的应用在移动设备中。因为虚拟化技术可以在一个移动设备中提供多种不同的软件系统,同时可以有效地提高系统的安全性以及减少系统开发的成本。在移动设备虚拟化环境中,移动设备的虚拟机的外存包括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闪存中;其中,所述文本文档来自技高网
...
一种基于移动设备虚拟化环境的数据存储方法及装置

【技术保护点】
一种基于移动设备虚拟化环境的数据存储方法,其特征在于,包括:在移动设备虚拟化环境中,获取虚拟机内操作系统发出的输入或者输出的数据请求;在将所述数据请求中的数据进行地址转换之前,通过虚拟块地址VBA,区分出所述数据请求中的数据为文件系统元数据或者为普通用户数据;根据区分结果,在所述数据请求中配置标志位;在将所述数据请求进行地址转换之后,根据所述数据请求中配置的标志位,检测出所述数据请求中的数据为文件系统元数据或者为普通用户数据;当检测出所述数据请求中的数据为文件系统元数据时,将所述文件系统元数据存储到非易失RAM存储器中;当检测出所述数据请求中的数据为普通用户数据时,将所述普通用户数据存储在NAND闪存中;其中,所述文件系统元数据为虚拟机内文件系统元数据;所述普通用户数据为虚拟机内除文件系统元数据之外的数据;所述非易失RAM存储器和所述NAND闪存均预置在所述移动设备虚拟化环境中。

【技术特征摘要】
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时,表示在移动设备虚拟化环境中有虚拟机运行,将所有虚拟机内文件系统元数据的容量相加,获得所述文件系统元数据的总容量α。...

【专利技术属性】
技术研发人员:邵子立陈仁海王毅
申请(专利权)人:香港理工大学深圳研究院
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1