[发明专利]一种CPU多核的IO请求处理方法、装置及设备有效
申请号: | 201710827522.2 | 申请日: | 2017-09-14 |
公开(公告)号: | CN107526551B | 公开(公告)日: | 2020-03-31 |
发明(设计)人: | 张永锋;侯英利;姜怡坤;朱斌 | 申请(专利权)人: | 郑州云海信息技术有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 罗满 |
地址: | 450018 河南省郑州市*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 cpu 多核 io 请求 处理 方法 装置 设备 | ||
1.一种CPU多核的IO请求处理方法,其特征在于,包括:
启动N个IO处理线程,其中,所述N为正整数,且至少为2,每一个IO处理线程对应一个IO请求队列;
针对每一个IO处理线程,当该IO处理线程对应的IO请求队列为空时,从公共IO请求队列中获取IO请求集合并进行处理;
在处理完所述IO请求集合之后,确定该IO请求队列是否为空;
如果否,则处理该IO请求队列中的IO请求;如果是,则执行所述从公共IO请求队列中获取IO请求集合并进行处理;
所述从公共IO请求队列中获取IO请求集合并进行处理,包括:
从公共IO请求队列中获取预定个数的IO请求;
确定获取的各个IO请求相对应的条带编号;
针对每一个IO请求,确定该IO请求的条带编号对于所述N的取模运算结果;
根据各个IO请求的取模运算结果,从公共IO请求队列中获取IO请求集合并进行处理;
在所述根据各个IO请求的取模运算结果,从公共IO请求队列中获取IO请求集合并进行处理之后,还包括:
针对从所述公共IO请求队列中获取的所述IO请求集合之外的其他每个IO请求,将该IO请求置入与该IO请求的取模运算结果相对应的IO请求队列中。
2.根据权利要求1所述的方法,其特征在于,所述N个所述IO处理线程为分布式RAID阵列中的线程。
3.一种CPU多核的IO请求处理装置,其特征在于,包括:
线程启动模块,用于启动N个IO处理线程,其中,所述N为正整数,且至少为2,每一个IO处理线程对应一个IO请求队列;
公共IO请求处理模块,用于针对每一个IO处理线程,当该IO处理线程对应的IO请求队列为空时,从公共IO请求队列中获取IO请求集合并进行处理;
队列IO请求确定模块,用于在处理完所述IO请求集合之后,确定该IO请求队列是否为空;如果否,则进入队列IO请求处理模块,如果是,则进入所述公共IO请求处理模块;
所述队列IO请求处理模块,用于处理该IO请求队列中的IO请求;
所述公共IO请求处理模块,包括:
IO请求获得子模块,用于从公共IO请求队列中获取预定个数的IO请求;
条带编号确定子模块,用于确定获取的各个IO请求相对应的条带编号;
取模结果确定子模块,用于针对每一个IO请求,确定该IO请求的条带编号对于所述N的取模运算结果;
公共IO请求处理子模块,用于根据各个IO请求的取模运算结果,从公共IO请求队列中获取IO请求集合并进行处理;
还包括:
IO请求分发模块,用于在所述根据各个IO请求的取模运算结果,从公共IO请求队列中获取IO请求集合并进行处理之后,针对从所述公共IO请求队列中获取的所述IO请求集合之外的其他每个IO请求,将该IO请求置入与该IO请求的取模运算结果相对应的IO请求队列中。
4.一种CPU多核的IO请求处理设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现:启动N个IO处理线程,其中,所述N为正整数,且至少为2,每一个IO处理线程对应一个IO请求队列;针对每一个IO处理线程,当该IO处理线程对应的IO请求队列为空时,从公共IO请求队列中获取IO请求集合并进行处理;在处理完所述IO请求集合之后,确定该IO请求队列是否为空;如果否,则处理该IO请求队列中的IO请求;如果是,则执行所述从公共IO请求队列中获取IO请求集合并进行处理;
所述从公共IO请求队列中获取IO请求集合并进行处理,包括:
从公共IO请求队列中获取预定个数的IO请求;
确定获取的各个IO请求相对应的条带编号;
针对每一个IO请求,确定该IO请求的条带编号对于所述N的取模运算结果;
根据各个IO请求的取模运算结果,从公共IO请求队列中获取IO请求集合并进行处理;
在所述根据各个IO请求的取模运算结果,从公共IO请求队列中获取IO请求集合并进行处理之后,还包括:
针对从所述公共IO请求队列中获取的所述IO请求集合之外的其他每个IO请求,将该IO请求置入与该IO请求的取模运算结果相对应的IO请求队列中。
5.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有多线程IO请求处理程序,所述多线程IO请求处理程序被处理器执行时实现如权利要求1或2所述的CPU多核的IO请求处理方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州云海信息技术有限公司,未经郑州云海信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710827522.2/1.html,转载请声明来源钻瓜专利网。