[发明专利]一种在线替换虚拟操作系统底层块设备驱动的方法和装置有效
申请号: | 201610425744.7 | 申请日: | 2016-06-15 |
公开(公告)号: | CN107515774B | 公开(公告)日: | 2021-02-05 |
发明(设计)人: | 张金利 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455 |
代理公司: | 北京安信方达知识产权代理有限公司 11262 | 代理人: | 李红爽;凌齐文 |
地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 在线 替换 虚拟 操作系统 底层 设备 驱动 方法 装置 | ||
1.一种在线替换虚拟操作系统底层块设备驱动的方法,其特征在于,包括:
构造第二块设备驱动状态结构体,包括:
新建一个空的块设备驱动状态结构体作为所述第二块设备驱动状态结构体的框架;
获取所述第二块设备驱动状态结构体对应的输入/输出I/O路径上的块设备信息;
将所述块设备信息传递给所述空的块设备驱动状态结构体;
调用所述块设备信息对应的打开函数,将所述第二块设备驱动状态结构体打开,构造所述第二块设备驱动状态结构体;
确定第一块设备驱动状态结构体对应后端设备的输入/输出I/O完成;
交换所述第一块设备驱动状态结构体和所述第二块设备驱动状态结构体的成员信息。
2.如权利要求1所述的方法,其特征在于:所述方法之后还包括:
确定所述第一块设备驱动状态结构体和所述第二块设备驱动状态结构体的成员信息交换状态;
当所述交换状态为交换成功时,关闭原有的第一块设备驱动状态结构体和第二块设备驱动状态结构体对象;
当所述交换状态为交换失败时,恢复原有的第一块设备驱动状态结构体和第二块设备驱动状态结构体对象。
3.如权利要求1所述的方法,其特征在于:确定第一块设备驱动状态块设备驱动状态结构体对应后端设备的输入/输出I/O完成包括:
停止所述第一块设备驱动状态结构体对应的输入/输出I/O路径接收下发的I/O数据流;
处理已经下发到所述第一块设备驱动状态结构体对应的输入/输出I/O路径上的I/O数据流,并等待所述I/O数据流执行完成。
4.如权利要求1所述的方法,其特征在于:交换所述第一块设备驱动状态结构体和所述第二块设备驱动状态结构体的成员信息包括:
遍历所述第一块设备驱动状态和第二块设备驱动状态包含的成员信息,依次交换所述第一块设备驱动状态和第二块设备驱动状态包含的成员信息,并保持虚拟操作系统QEMU对所述第一块设备驱动状态和第二块设备驱动状态结构体的引用不变。
5.一种在线替换虚拟操作系统底层块设备驱动的装置,其特征在于,包括:
构造模块,设置为构造第二块设备驱动状态结构体;
所述构造模块包括:
新建单元,设置为新建一个空的块设备驱动状态结构体作为第二块设备驱动状态结构体的框架;
获取单元,设置为获取所述第二块设备驱动状态结构体对应的输入/输出I/O路径上的块设备信息;
传递模块,设置为将所述块设备信息传递给所述空的块设备驱动状态结构体;
打开单元,设置为调用所述块设备信息对应的打开函数,将所述第二块设备驱动状态结构体打开,构造所述第二块设备驱动状态结构体;
截流模块,设置为确定第一块设备驱动状态结构体对应后端设备的输入/输出I/O完成;
交换模块,设置为交换所述第一块设备驱动状态结构体和所述第二块设备驱动状态结构体的成员信息。
6.如权利要求5所述的装置,其特征在于:还包括:
状态模块,设置为确定所述第一块设备驱动状态结构体和所述第二块设备驱动状态结构体的成员信息交换状态;
所述状态模块包括关闭单元和恢复单元,
所述关闭单元,设置为当所述交换状态为交换成功时,关闭原有的第一块设备驱动状态结构体和第二块设备驱动状态结构体对象;
所述恢复单元,设置为当所述交换状态为交换失败时,恢复原有的第一块设备驱动状态结构体和第二块设备驱动状态结构体对象。
7.如权利要求5所述的装置,其特征在于:所述截流模块包括:
截断单元,设置为停止所述第一块设备驱动状态结构体对应的输入/输出I/O路径接收下发的I/O数据流;
等待单元,设置为处理已经下发到所述第一块设备驱动状态结构体对应的输入/输出I/O路径上的I/O数据流,并等待所述I/O数据流执行完成。
8.如权利要求5所述的装置,其特征在于:所述交换模块包括:
遍历单元,设置为遍历所述第一块设备驱动状态和第二块设备驱动状态包含的成员信息;
互换单元,设置为依次交换所述第一块设备驱动状态和第二块设备驱动状态包含的成员信息;并保持虚拟操作系统QEMU对所述第一块设备驱动状态和第二块设备驱动状态结构体的引用不变。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610425744.7/1.html,转载请声明来源钻瓜专利网。