一种IO请求处理方法、装置、设备及可读存储介质制造方法及图纸

技术编号:24888545 阅读:14 留言:0更新日期:2020-07-14 18:15
本申请公开了一种IO请求处理方法、装置、设备及可读存储介质。本申请公开的方法包括:接收客户端发送的IO请求;确定IO请求对应的目标地址;查询目标地址所属的条带块;利用与条带块映射的处理器内核处理IO请求;其中,当前存储系统中的RAID被划分为多个条带块,所有条带块与当前存储系统中的至少两个处理器内核具有映射关系。当前存储系统中的RAID对应有至少两个处理器内核,也就是至少有两个处理器内核能够并行处理IO请求,从而提高了存储系统和RAID的读写性能。相应地,本申请公开的一种IO请求处理装置、设备及可读存储介质,也同样具有上述技术效果。

【技术实现步骤摘要】
一种IO请求处理方法、装置、设备及可读存储介质
本申请涉及计算机
,特别涉及一种IO请求处理方法、装置、设备及可读存储介质。
技术介绍
在现有的多核存储系统中,一个RAID绑定一个处理器内核,这样所有访问该RAID的IO请求都通过这一个处理器内核进行串行处理,这种方法虽然可以保证数据的读写一致性,但是由于所有请求由一个处理器内核串行处理,因此降低了存储系统和RAID的读写性能。因此,如何在保证数据的读写一致性的同时,提高存储系统和RAID的读写性能,是本领域技术人员需要解决的问题。
技术实现思路
有鉴于此,本申请的目的在于提供一种IO请求处理方法、装置、设备及可读存储介质,以在保证数据的读写一致性的同时,提高存储系统和RAID的读写性能。其具体方案如下:第一方面,本申请提供了一种IO请求处理方法,包括:接收客户端发送的IO请求;确定所述IO请求对应的目标地址;查询所述目标地址所属的条带块;利用与所述条带块映射的处理器内核处理所述IO请求;其中,当前存储系统中的RAID被划分为多个条带块,所有条带块与当前存储系统中的至少两个处理器内核具有映射关系。优选地,所述利用与所述条带块映射的处理器内核处理所述IO请求之前,还包括:判断所述目标地址所属的条带块的个数是否为一个;若是,则执行所述利用与所述条带块映射的处理器内核处理所述IO请求的步骤。优选地,还包括:若所述目标地址所属的条带块的个数不是一个,则在目标地址所属的条带块与不同的处理器内核具有映射关系时,拆分所述IO请求,获得多个IO子请求,利用每个IO子请求分别对应的处理器内核并行处理所述多个IO子请求。优选地,所述利用每个IO子请求分别对应的处理器内核并行处理所述多个IO子请求之后,还包括:合并每个IO子请求对应的处理结果,获得合并结果,并将所述合并结果返回至所述客户端。优选地,所述判断所述目标地址所属的条带块的个数是否为一个,包括:判断所述目标地址包括的起始地址和结尾地址是否属于同一个条带块。优选地,所述利用与所述条带块映射的处理器内核处理所述IO请求之前,还包括:利用哈希算法将所述条带块映射至所述处理器内核。优选地,所述利用哈希算法将所述条带块映射至所述处理器内核,包括:对所述条带块的标识信息进行取余运算,获得目标余数;查询所述处理器包括的所有处理器内核的ID;将所述条带块映射至与所述目标余数相同的ID对应的处理器内核。优选地,每个条带块包括的条带个数为所述RAID的条带宽度的整数倍。第二方面,本申请提供了一种IO请求处理装置,包括:接收模块,用于接收客户端发送的IO请求;确定模块,用于确定所述IO请求对应的目标地址;查询模块,用于查询所述目标地址所属的条带块;处理模块,用于利用与所述条带块映射的处理器内核处理所述IO请求;其中,当前存储系统中的RAID被划分为多个条带块,所有条带块与当前存储系统中的至少两个处理器内核具有映射关系。第三方面,本申请提供了一种IO请求处理设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序,以实现前述公开的IO请求处理方法。第四方面,本申请提供了一种可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述公开的IO请求处理方法。通过以上方案可知,本申请提供了一种IO请求处理方法,包括:接收客户端发送的IO请求;确定所述IO请求对应的目标地址;查询所述目标地址所属的条带块;利用与所述条带块映射的处理器内核处理所述IO请求;其中,当前存储系统中的RAID被划分为多个条带块,所有条带块与当前存储系统中的至少两个处理器内核具有映射关系。可见,该方法在接收到客户端发送的IO请求后,确定IO请求对应的目标地址;然后查询目标地址所属的条带块;并利用与条带块映射的处理器内核处理IO请求。由于当前存储系统中的RAID被划分为多个条带块,且所有条带块与当前存储系统中的至少两个处理器内核具有映射关系,也就是所有条带块至少被划分为两个集合,一个集合对应一个处理器内核。因此当前存储系统中的RAID对应有至少两个处理器内核,那么对于客户端发送的IO请求,便可以利用至少两个处理器内核进行处理。也即:将客户端发送的IO请求分布到至少两个处理器内核上,使得更多的处理器内核并行处理更多的IO请求,从而提高存储系统和RAID的读写性能。相应地,本申请提供的一种IO请求处理装置、设备及可读存储介质,也同样具有上述技术效果。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本申请公开的第一种IO请求处理方法流程图;图2为本申请公开的第二种IO请求处理方法流程图;图3为本申请公开的一种条带块划分示意图;图4为本申请公开的一种IO请求处理装置示意图;图5为本申请公开的一种IO请求处理设备示意图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。目前,一个RAID绑定一个处理器内核,所有请求由一个处理器内核串行处理,因此降低了存储系统和RAID的读写性能。为此,本申请提供了一种IO请求处理方案,能够提高存储系统和RAID的读写性能。参见图1所示,本申请实施例公开了第一种IO请求处理方法,包括:S101、接收客户端发送的IO请求。在本实施例中,当前存储系统中的RAID被划分为多个条带块,所有条带块与当前存储系统中的至少两个处理器内核具有映射关系。例如:若当前存储系统中的RAID被划分为10个条带块,且当前存储系统中的处理器包括10个处理器内核,即:处理器为十核。那么一个条带块对应一个处理器内核,故而所有条带块与10个处理器内核具有映射关系。若当前存储系统中的RAID被划分为10个条带块,且当前存储系统中的处理器包括2个处理器内核,即:处理器为双核。那么五个条带块对应一个处理器内核,故而所有条带块与两个处理器内核具有映射关系。如此一来,当前存储系统中的RAID就与至少两个处理器内核具有对应关系,因此可以避免所有请求由一个处理器内核串行处理,从而提高了存储系统和RAID的读写性能。S102、确定IO请求对应的目标地址。其中,IO请求为读或写请求,每个IO请求对应有当前需要访问的目标地址。目标地址也可能本文档来自技高网...

【技术保护点】
1.一种IO请求处理方法,其特征在于,包括:/n接收客户端发送的IO请求;/n确定所述IO请求对应的目标地址;/n查询所述目标地址所属的条带块;/n利用与所述条带块映射的处理器内核处理所述IO请求;/n其中,当前存储系统中的RAID被划分为多个条带块,所有条带块与当前存储系统中的至少两个处理器内核具有映射关系。/n

【技术特征摘要】
1.一种IO请求处理方法,其特征在于,包括:
接收客户端发送的IO请求;
确定所述IO请求对应的目标地址;
查询所述目标地址所属的条带块;
利用与所述条带块映射的处理器内核处理所述IO请求;
其中,当前存储系统中的RAID被划分为多个条带块,所有条带块与当前存储系统中的至少两个处理器内核具有映射关系。


2.根据权利要求1所述的IO请求处理方法,其特征在于,所述利用与所述条带块映射的处理器内核处理所述IO请求之前,还包括:
判断所述目标地址所属的条带块的个数是否为一个;
若是,则执行所述利用与所述条带块映射的处理器内核处理所述IO请求的步骤。


3.根据权利要求2所述的IO请求处理方法,其特征在于,还包括:
若所述目标地址所属的条带块的个数不是一个,则在所述目标地址所属的条带块与不同的处理器内核具有映射关系时,拆分所述IO请求,获得多个IO子请求,利用每个IO子请求分别对应的处理器内核并行处理所述多个IO子请求。


4.根据权利要求3所述的IO请求处理方法,其特征在于,所述利用每个IO子请求分别对应的处理器内核并行处理所述多个IO子请求之后,还包括:
合并每个IO子请求对应的处理结果,获得合并结果,并将所述合并结果返回至所述客户端。


5.根据权利要求2所述的IO请求处理方法,其特征在于,所述判断所述目标地址所属的条带块的个数是否为一个,包括:
判断所述目标地址包括的起始地址和结尾地址是否属于同一个条带块。


6.根...

【专利技术属性】
技术研发人员:刘丹
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:江苏;32

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

1