[发明专利]虚拟机的输入输出IO请求处理方法及装置有效
申请号: | 201310754241.0 | 申请日: | 2013-12-31 |
公开(公告)号: | CN104750547B | 公开(公告)日: | 2018-05-18 |
发明(设计)人: | 孔晗 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46;G06F9/48;G06F9/455 |
代理公司: | 北京同立钧成知识产权代理有限公司 11205 | 代理人: | 刘芳 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 虚拟机 输入输出 io 请求 处理 方法 装置 | ||
本发明提供一种虚拟机输入输出IO请求处理方法及装置。该虚拟机输入输出IO请求处理方法应用于存储系统中,包括:接收N个虚拟机发送的IO请求,其中,N为不小于2的自然数;根据每个虚拟机发送的IO请求建立一个IO队列,以获得N个IO队列;分别从所述N个IO队列中选择预定数量的IO请求进行处理。本发明实施例可以实现系统在执行当前处理周期内的IO请求时,对其中每个虚拟机的IO请求都能进行处理,减少了单个虚拟机的IO时延。
技术领域
本发明实施例涉及存储技术,尤其涉及一种虚拟机的输入输出IO请求处理方法及装置。
背景技术
按照存储介质的不同,存储器可分为半导体存储器、磁存储器等。在对存储器进行数据读写操作时,需要有一定的读写调度方法。
目前,传统的计算机系统由于受制于存储系统的容量空间与端口数量,单个存储同时服务的主机往往仅有数个,但在虚拟机环境下,虽然接入的物理主机的数量增加不多,但物理机上的虚拟机数量则大大的增加,这样访问单个存储系统的虚拟机可能达到数百个,各虚拟机的输入输出(Input/Output,简称IO)请求均放置到系统队列中进行依次调度,然而,这种方法可能导致部分虚拟机IO时延超长,从而影响存储服务质量。
发明内容
本发明提供了一种虚拟机的输入输出IO请求处理方法及装置,可以实现存储设备获取系统内所有虚拟机的IO请求并依次进行调度处理,使系统在执行当前处理周期内的IO请求时,对其中每个虚拟机的IO请求都能进行处理,减少了单个虚拟机的IO时延。
第一方面,本发明提供一种虚拟机的输入输出IO请求处理方法,该方法应用于存储系统中,包括:
接收N个虚拟机发送的IO请求,其中,N为不小于2的自然数;
对每个虚拟机发送的IO请求建立一个IO队列,以获得N个IO队列;
分别从N个IO队列中选择预定数量的IO请求进行处理。
结合第一方面,在第一种实施方式中,分别从N个IO队列中选择预定数量的IO请求进行处理包括:分别从N个IO队列中选择预定数量的IO请求;根据选择的IO请求建立系统IO队列,其中,在系统IO队列中,读IO请求的优先级高于写IO请求的优先级;对系统IO队列中的IO请求按优先级从高到低的顺序进行处理。
结合第一方面或第一种实施方式,在第二种实施方式中,接收N个虚拟机发送的IO请求之后还包括:分别根据接收的IO请求中携带的虚拟机的配置信息识别IO请求所属的虚拟机。
结合第一种实施方式,在第三种实施方式中,根据选择的IO请求建立系统IO队列,具体包括:将N个IO队列中的每个队列的预定数量的IO请求中的读IO请求加入系统IO队列的首部,写IO请求加入系统IO队列的尾部。
结合第一方面至前三种实施方式中的任意一种,在第四种实施方式中,所述分别从所述N个IO队列中选择预定数量的IO请求进行处理,具体包括:若IO请求为读IO请求,则根据读IO请求中携带的地址信息从存储系统中存储介质中对应的地址读取数据;或者若IO请求为写IO请求,则根据写IO请求中携带的地址信息将写IO请求中携带的数据写入存储介质中对应的地址。
第二方面,本发明提供一种虚拟机的输入输出IO请求处理装置,该装置应用于存储系统中,包括:
接收模块,用于接收N个虚拟机发送的IO请求,其中,N为不小于2的自然数;
队列模块,用于对每个虚拟机发送的IO请求建立一个IO队列,以获得N个IO队列;
处理模块,用于分别从N个IO队列中选择预定数量的IO请求进行处理。
结合第二方面,在第一种实施方式中,处理模块用于分别从N个IO队列中选择预定数量的IO请求进行处理,具体包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310754241.0/2.html,转载请声明来源钻瓜专利网。