虚拟化环境下的脏数据回写系统技术方案

技术编号:7487429 阅读:159 留言:0更新日期:2012-07-09 22:05
本发明专利技术公开了一种虚拟化环境下的脏数据回写系统,包括虚拟机模块、特权操作模块以及虚拟机管理器模块,虚拟机模块用于将来自用户应用程序的物理磁盘读写请求以及脏数据发送到特权操作模块,特权操作模块用于将物理磁盘读写请求和脏数据存储在虚拟机管理器模块的虚拟机缓存中,并在虚拟机缓存的使用率达到预定阈值时处理物理磁盘读写请求,并将脏数据传输到物理磁盘。本发明专利技术能够提高虚拟机物理磁盘读写速度以及虚拟机物理磁盘带宽利用率,增强虚拟机文件系统的可靠性,减小同一物理平台上不同虚拟机之间物理磁盘读写操作的干扰,同时具有对虚拟机中应用程序和虚拟机操作系统的透明性以及对虚拟化平台的可扩展性。

【技术实现步骤摘要】

本专利技术涉及计算系统虚拟化领域,更具体地说,本专利技术涉及一种虚拟机环境下的脏数据回写系统。
技术介绍
在虚拟化平台的设计中,为了保证系统的安全性,虚拟机中的指令不能直接控制物理硬件,只能由虚拟机管理器代为操作。现有的虚拟机物理磁盘读写方法运用前后端分离驱动模型来减小虚拟化平台带来的物理磁盘读写性能开销。然而,现有的虚拟机物理磁盘读写方法存在以下三方面的不足1、此方法限制了虚拟机物理磁盘读写操作的带宽;2、此方法没有对多个虚拟机的物理磁盘读写操作进行有效地隔离,使得虚拟机之间产生物理磁盘读写性能干扰;3、当虚拟机的文件系统意外崩溃时,此方法没有很好的保护虚拟机内存中的有效且还没来得及写入物理磁盘的数据(即脏数据)。
技术实现思路
本专利技术的目的在于提供一种虚拟化环境下的脏数据回写系统,其能够提高虚拟机物理磁盘读写速度以及虚拟机物理磁盘带宽利用率,增强虚拟机文件系统的可靠性,减小同一物理平台上不同虚拟机之间物理磁盘读写操作的干扰,同时具有对虚拟机中应用程序和虚拟机操作系统的透明性以及对虚拟化平台的可扩展性。本专利技术是通过以下技术方案实现的一种虚拟化环境下的脏数据回写系统,包括虚拟机模块、特权操作模块以及虚拟机管理器模块,虚拟机模块用于将来自用户应用程序的物理磁盘读写请求以及脏数据发送到特权操作模块,特权操作模块用于将物理磁盘读写请求和脏数据存储在虚拟机管理器模块的虚拟机缓存中,并在虚拟机缓存的使用率达到预定阈值时处理物理磁盘读写请求,并将脏数据传输到物理磁盘。虚拟机模块包括虚拟机心跳信息检测子模块、物理磁盘前端驱动子模块以及内存脏数据保护子模块,特权操作模块包括虚拟机心跳信息接收子模块、物理磁盘后端驱动子模块、物理磁盘读写请求管理子模块、缓存信息收集子模块以及缓存刷新控制子模块,虚拟机管理器模块包括虚拟机磁盘缓存子模块,虚拟机心跳信息检测子模块用于每隔一段时间向虚拟机心跳信息接收子模块发送虚拟机心跳信息,物理磁盘前端驱动子模块用于接收物理磁盘读写请求以及脏数据,将脏数据按照其内存数据块所对应的物理磁盘地址进行排序,并把内存数据块共享给物理磁盘后端驱动子模块,内存脏数据保护子模块用于定时扫描用户应用程序,并在发现有程序意外崩溃时锁定用户应用程序所对应的脏数据,物理磁盘后端驱动子模块用于访问物理磁盘前端驱动子模块的共享内存数据块,以获取排序的物理磁盘读写请求和脏数据,并将物理磁盘读写请求以及脏数据传送给物理磁盘读写请求管理子模块,物理磁盘读写请求管理子模块用于接收物理磁盘读写请求以及脏数据,将物理磁盘读写请求以及脏数据以平衡二叉树以及哈希表的数据结构存放在虚拟机磁盘缓存子模块中,并在新的物理磁盘读写请求到达时更新虚拟机磁盘缓存子模块中的数据,缓存信息收集子模块用于检测虚拟机磁盘缓存子模块的使用率,并在使用率达到预定阈值时,向缓存刷新控制模块发送刷新请求,缓存刷新控制子模块用于在接收到刷新请求之后处理虚拟机磁盘缓存子模块中的物理磁盘读写请求,并将脏数据写入物理磁盘,虚拟机心跳信息接收子模块用于定时接收来自虚拟机心跳信息检测子模块的虚拟机心跳信息,并在一定时间未接收到虚拟机心跳信息之后通知缓存刷新控制子模块开始处理物理磁盘读写请求,虚拟机磁盘缓存子模块用于接收并存储来自物理磁盘后端驱动子模块中的物理磁盘读写请求以及脏数据。预定阈值为虚拟机磁盘缓存子模块的容量的60%至70%。本专利技术的优点在于1、本专利技术提高了虚拟机物理磁盘读写速度以及虚拟机物理磁盘带宽利用率;脏数据到达虚拟机缓存时读写操作即可返回,因此有限的物理磁盘带宽可以更多地分配给对物理磁盘需求量大的虚拟机使用。2、本专利技术增强了虚拟机文件系统的可靠性;由于虚拟机的脏数据全部存储在位于虚拟机管理器的虚拟机缓存中,因此,即使虚拟机突然崩溃,其脏数据也不会丢失,而且仍然可以被正确地写入物理磁盘。3、本专利技术减小了同一物理平台上不同虚拟机之间物理磁盘读写操作的干扰;由于虚拟机缓存充当了虚拟磁盘的角色,因此物理磁盘不再是多个虚拟机竞争的主要资源。4、本专利技术具有对虚拟机中应用程序和虚拟机操作系统的透明性以及对虚拟化平台的可扩展性。本专利技术无需对虚拟机操作系统进行任何修改,可以适用于任何虚拟化平台。附图说明图1为本专利技术虚拟化环境下的脏数据回写系统的系统框图。 具体实施例方式以下首先对本专利技术的技术术语进行解释和说明用户应用程序为了完成某项或某几项特定任务而被开发运行于操作系统之上的计算机程序。脏数据计算机内存中的有效且还没来得及写入物理磁盘的数据。虚拟机缓存的使用率正在被使用的虚拟机缓存大小与虚拟机缓存总量的百分比。虚拟机心跳信息一种用于在计算机之间周期性传输的电子信号,此信号用于判断计算机的工作状态。平衡二叉树一种计算机科学中的数据结构。表示一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树的树。如图1所示,本专利技术虚拟化环境下的脏数据回写系统包括虚拟机模块1、特权操作模块2以及虚拟机管理器模块3。虚拟机模块1包括虚拟机心跳信息检测子模块11、物理磁盘前端驱动子模块12以CN 102541468 A及内存脏数据保护子模块13。特权操作模块2包括虚拟机心跳信息接收子模块21、物理磁盘后端驱动子模块 22、物理磁盘读写请求管理子模块23、缓存信息收集子模块M以及缓存刷新控制子模块 25。虚拟机管理器模块3包括虚拟机磁盘缓存子模块31。虚拟机模块1用于将来自用户应用程序的物理磁盘读写请求以及脏数据发送到特权操作模块2。特权操作模块2用于将物理磁盘读写请求和脏数据存储在虚拟机管理器模块1的虚拟机缓存子模块31中,在虚拟机缓存子模块31的使用率达到预定阈值时处理物理磁盘读写请求,并将脏数据传输到物理磁盘。在本实施方式中,预定阈值为虚拟机物理磁盘缓存模块的容量的60%至70%。虚拟机心跳信息检测子模块11用于每隔一段时间向虚拟机心跳信息接收子模块 21发送虚拟机心跳信息。物理磁盘前端驱动子模块22用于接收物理磁盘读写请求以及脏数据,脏数据按照其内存数据块所对应的物理磁盘地址进行排序,并把内存数据块共享给物理磁盘后端驱动子模块22。内存脏数据保护子模块13用于定时扫描用户应用程序,并在发现有程序意外崩溃时锁定用户应用程序所对应的脏数据。物理磁盘后端驱动子模块22用于访问物理磁盘驱动前端模块12的共享内存数据块,以获取排序的物理磁盘读写请求和脏数据,并将物理磁盘读写请求以及脏数据传送给物理磁盘读写请求管理子模块23。物理磁盘读写请求管理子模块23用于接收物理磁盘读写请求以及脏数据,将物理磁盘读写请求以及脏数据以平衡二叉树以及哈希表的数据结构存放在虚拟机磁盘缓存子模块31中,并在新的物理磁盘读写请求到达时更新虚拟机磁盘缓存子模块31中的数据。缓存信息收集子模块M用于检测虚拟机磁盘缓存子模块31的使用率,并在使用率达到预定阈值时,向缓存刷新控制子模块25发送刷新请求。缓存刷新控制子模块25用于在接收到刷新请求之后处理虚拟机磁盘缓存子模块 31中的物理磁盘读写请求,并将脏数据写入物理磁盘。虚拟机心跳信息接收子模块21用于定时接收来自虚拟机心跳信息检测子模块11 的虚拟机心跳信息,并在一定时间未接收到虚拟机心跳信息之后通知缓存刷新控制子模块 25开始处理物理磁盘读本文档来自技高网...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:金海廖小飞张琦李丁丁
申请(专利权)人:华中科技大学
类型:发明
国别省市:

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

1
相关领域技术