[发明专利]用于虚拟容器系统容灾的内核态与用户态数据交换方法在审
申请号: | 201410643995.3 | 申请日: | 2015-08-04 |
公开(公告)号: | CN104503863A | 公开(公告)日: | 2015-07-29 |
发明(设计)人: | 余宏亮 | 申请(专利权)人: | 清华大学 |
主分类号: | G06F11/14 | 分类号: | G06F11/14;G06F3/06 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 李相雨 |
地址: | 100084 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 虚拟 容器 系统 内核 用户 数据 交换 方法 | ||
1.用于虚拟容器系统容灾的内核态与用户态数据交换方法,其特征在于,包括以下具体步骤:
S1:虚拟设备映射模块建立一个FUSE用户态文件系统;其中,所述虚拟设备映射模块包括在待恢复客户端中;
S2:将所述FUSE用户态文件系统中的一个文件映射到DEV LOOP伪设备,并将所述DEV LOOP设备作为按照预设恢复模式要恢复的磁盘的影子设备;
S3:缺页检测模块维护一个恢复数据位图,记录完成恢复和/或因新写入而不需要进行恢复的数据块编号,其中,所述缺页检测模块包括在所述待恢复客户端中;
S4:可用页面维护模块基于上述操作维护一个可用数据位图,并记录空闲页面区间的信息,其中,所述可用页面维护模块包括在所述待恢复客户端中;
S5:数据传输模块将最终的信息数据进行传输交换,其中,所述数据传输模块包括在所述待恢复客户端中。
2.如权利要求1所述的方法,其特征在于,所述缺页检测模块,还用于监听是否存在恢复的数据页。
3.如权利要求1所述的方法,其特征在于,所述预设恢复模式包括两种:按需恢复模式以及激进恢复模式;
其中,所述按需恢复模式为指待恢复系统在数据尚未就位情况下,通过虚拟容器运行,在虚拟容器运行中需用到的数据,按照需要发起数据恢复请求;所述激进恢复模式为指待恢复系统在运行过程中,尚未用到的数据块也进行提前的数据预取。
4.如权利要求1所述的方法,其特征在于,所述步骤S2具体包括:
S21:将FUSE文件系统的文件映射为/DEV/LOOP0;
S22:虚拟容器系统将这上述设备作为/DEV/SDA使用,FUSE截获所有对/DEV/LOOP0的读和写和write操作。
5.如权利要求3所述的方法,其特征在于,所述待恢复客户端通过所述按需恢复模式恢复数据为:读操作中,如果数据在恢复数据位图所指示的位置中,判定数据已恢复,从SDA直接读取数据块内容;如果数据在可用数据位图中,判定为没有用过的数据块,返回随机任意内容进行数据恢复;如果不为上述两种情况,将向服务器请求该数据块,等待数据响应,并将接收到的数据块内容写入到所述SDA对应位置,更新恢复数据位图,并返回数据块内容。
6.如权利要求3所述的方法,其特征在于,通过所述激进恢复模式激进恢复的数据写流程在备份服务器端包括:写操作中,开启一个后台线程,扫描全部数据块,判定是非空闲的数据块且不在恢复数据位图中,向客户端推送此数据;对于空闲块的区间,向客户端发送空闲通知消息,其中,已推送过的数据块编号与已处理的空闲通知消息,也记在恢复数据位图里。
7.如权利要求3所述的方法,其特征在于,通过所述激进恢复模式激进恢复的数据写流程在所述待恢复客户端包括:开启一个后台线程,接收服务器推送过来的数据块,检查是否在客户端的恢复数据位图中;如果在恢复数据位图中,判定数据已经被按需恢复了或者是发生了数据写修改,忽略;判定不在恢复数据位图中,将数据块写入到SDA对应位置,并更新位图;如果收到是空闲通知消息,将其记录到空闲数据位图中。
8.如权利要求7所述的方法,其特征在于,还包括一个查漏进程,当激进恢复完成后,客户端检查数据恢复位图和空闲数据位图,如果发现尚未恢复的数据块,再向服务器请求恢复该数据,并修改相应位图。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410643995.3/1.html,转载请声明来源钻瓜专利网。