一种RAID系统的IO处理方法及相关装置与流程

文档序号:21099717发布日期:2020-06-16 20:41阅读:383来源:国知局
一种RAID系统的IO处理方法及相关装置与流程

本申请涉及存储系统技术领域,特别涉及一种raid系统的io处理方法、io处理装置、存储服务器以及计算机可读存储介质。



背景技术:

目前在存储技术领域中,一般存储设备会使用raid(redundantarrayofindependentdisks)技术提升存储的性能和可靠性。其中,raid即独立磁盘冗余阵列,通常简称为磁盘阵列。简单地说,raid是由多个独立的高性能磁盘驱动器组成的磁盘子系统,从而提供比单个磁盘更高的存储性能和数据冗余的技术。raid条带是把连续的数据分割成相同大小的数据块,把每段数据分别写入到阵列中的不同磁盘上的方法。简单的说,条带是一种将多个磁盘驱动器合并为一个卷的方法。因此,为了提高存储设备的性能raid采用条带方式进行组织和管理,可以保证数据的一致性和可靠性。

现有技术的做法是当数据写入一个条带中,首先对该条带进行加锁处理,这样无论何种方式落入该条带的io都会等待条带锁解锁后才能处理,保证数据访问的正确性。但是由于条带锁需要消耗资源,当上层系统的io负载很大时候,条带锁会由于过多的消耗导致等待锁释放现象发生,进而影响io的处理速度,使得条带锁成为存储性能指标的瓶颈点之一。并且,在多控制器存储系统下条带锁对性能的影响尤其突出。是因为多控制器的条带锁需要控制器之间的通信来进行确认,进一步的影响了存储的性能指标。

因此,如何避免raid中的条带锁对io的处理速度进行影响是本领域技术人员关注的重点问题。



技术实现要素:

本申请的目的是提供一种raid系统的io处理方法、io处理装置、存储服务器以及计算机可读存储介质,通过建立的条带映射关系和控制器对应关系确定出每次处理io时的控制器和raid条带,而不是被其他io调用,就可以不采用条带锁进行控制,避免性能损耗,提高了处理速度。

为解决上述技术问题,本申请提供一种raid系统的io处理方法,包括:

根据数据卷区域信息将待操作卷与raid条带建立条带映射关系,将所述待操作卷与目标控制器建立控制器对应关系;其中,所述条带映射关系为raid条带唯一对应一个待操作卷的关系;

当接收到io处理请求时,根据所述条带映射关系和所述控制器对应关系确定所述io处理请求的目标卷对应的控制器和raid条带;

通过所述控制器采用所述raid条带对所述io处理请求进行处理。

可选的,根据数据卷区域信息将待操作卷与raid条带建立条带映射关系,将所述待操作卷与目标控制器建立控制器对应关系,包括:

根据数据卷区域信息确定所述待操作卷的地址范围;

将所述待操作卷的地址范围与所述raid条带建立所述条带对应关系;

将所述待操作卷的地址范围与所述目标控制器建立所述控制器对应关系。

可选的,当接收到io处理请求时,根据所述条带映射关系和所述控制器对应关系确定所述io处理请求的目标卷对应的控制器和raid条带,包括:

当接收到所述io处理请求时,根据所述条带映射关系对所述io处理请求的目标卷进行匹配,得到所述raid条带;

根据所述控制器对应关系对所述io处理请求的目标卷进行匹配,得到所述控制器。

可选的,所述待操作卷的容量与所述raid条带的大小为整数倍关系。

可选的,通过所述控制器采用所述raid条带对所述io处理请求进行处理,包括:

通过所述控制器采用所述raid条带将所述io处理请求进行拆分处理,得到多个子io处理请求;

采用所述多个子io处理请求对存储设备进行处理。

本申请还提供一种raid系统的io处理装置,包括:

关系建立模块,用于根据数据卷区域信息将待操作卷与raid条带建立条带映射关系,将所述待操作卷与目标控制器建立控制器对应关系;其中,所述条带映射关系为raid条带唯一对应一个待操作卷的关系;

关系查找模块,用于当接收到io处理请求时,根据所述条带映射关系和所述控制器对应关系确定所述io处理请求的目标卷对应的控制器和raid条带;

io请求处理模块,用于通过所述控制器采用所述raid条带对所述io处理请求进行处理。

可选的,所述关系建立模块,包括:

地址范围确定单元,用于根据数据卷区域信息确定所述待操作卷的地址范围;

条带关系建立单元,用于将所述待操作卷的地址范围与所述raid条带建立所述条带对应关系;

控制器关系建立单元,用于将所述待操作卷的地址范围与所述目标控制器建立所述控制器对应关系。

可选的,所述关系查找模块,包括:

条带匹配单元,用于当接收到所述io处理请求时,根据所述条带映射关系对所述io处理请求的目标卷进行匹配,得到所述raid条带;

控制器匹配单元,用于根据所述控制器对应关系对所述io处理请求的目标卷进行匹配,得到所述控制器。

本申请还提供一种raid系统,包括:

处理器,用于根据数据卷区域信息将待操作卷与raid条带建立条带映射关系,将所述待操作卷与目标控制器建立控制器对应关系;其中,所述条带映射关系为raid条带唯一对应一个待操作卷的关系;当接收到io处理请求时,根据所述条带映射关系和所述控制器对应关系确定所述io处理请求的目标卷对应的控制器和raid条带;

控制器,用于控制所述raid条带,以便采用所述raid条带对所述io处理请求进行处理;

raid条带,用于对所述io处理请求进行处理。

本申请还提供一种存储服务器,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如上所述的io处理方法的步骤。

本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的io处理方法的步骤。

本申请所提供的一种raid系统的io处理方法,包括:根据数据卷区域信息将待操作卷与raid条带建立条带映射关系,将所述待操作卷与目标控制器建立控制器对应关系;当接收到io处理请求时,根据所述条带映射关系和所述控制器对应关系确定所述io处理请求的目标卷对应的控制器和raid条带;通过所述控制器采用所述raid条带对所述io处理请求进行处理。

通过在待操作卷和raid条带之间建立条带映射关系,在待操作卷和目标控制器之间建立控制器对应关系,使得在接收到io处理请求后,确定到唯一的独占的控制器和raid条带,最后通过该控制器采用该raid条带对io处理请求进行处理,避免采用其他io的控制器的raid条带的同时,该io对应的控制器和raid条带也不会被其他io使用,实现控制器之间和raid条带之间的权限控制,而不是采用条带锁进行权限控制器,避免性能损耗,提高了处理速度。

本申请还提供一种raid系统的io处理装置、存储服务器以及计算机可读存储介质,具有以上有益效果,在此不做赘述。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本申请实施例所提供的一种raid系统的io处理方法的流程图;

图2为本申请实施例所提供的一种raid系统的io处理装置的结构示意图。

具体实施方式

本申请的核心是提供一种raid系统的io处理方法、io处理装置、存储服务器以及计算机可读存储介质,通过建立的条带映射关系和控制器对应关系确定出每次处理io时的控制器和raid条带,而不是被其他io调用,就可以不采用条带锁进行控制,避免性能损耗,提高了处理速度。

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

现有技术的做法是当数据写入一个条带中,首先对该条带进行加锁处理,这样无论何种方式落入该条带的io都会等待条带锁解锁后才能处理,保证数据访问的正确性。但是由于条带锁需要消耗资源,当上层系统的io负载很大时候,条带锁会由于过多的消耗导致等待锁释放现象发生,进而影响io的处理速度,使得条带锁成为存储性能指标的瓶颈点之一。并且,在多控制器存储系统下条带锁对性能的影响尤其突出。是因为多控制器的条带锁需要控制器之间的通信来进行确认,进一步的影响了存储的性能指标。

因此,本申请提供了一种raid系统的io处理方法,通过在待操作卷和raid条带之间建立条带映射关系,在待操作卷和目标控制器之间建立控制器对应关系,使得在接收到io处理请求后,确定到唯一的独占的控制器和raid条带,最后通过该控制器采用该raid条带对io处理请求进行处理,避免采用其他io的控制器的raid条带的同时,该io对应的控制器和raid条带也不会被其他io使用,实现控制器之间和raid条带之间的权限控制,而不是采用条带锁进行权限控制器,避免性能损耗,提高了处理速度。

以下通过一个实施例,对本申请提供的一种raid系统的io处理方法进行说明。

请参考图1,图1为本申请实施例所提供的一种raid系统的io处理方法的流程图。

本实施例中,该方法可以包括:

s101,根据数据卷区域信息将待操作卷与raid条带建立条带映射关系,将待操作卷与目标控制器建立控制器对应关系;其中,所述条带映射关系为raid条带唯一对应一个待操作卷的关系;

本步骤旨在待操作卷和raid条带之间建立关系,以及在待操作卷与控制器之间建立关系。也就是在待操作卷与raid条带之间建立一一对应的关系,以及在待操作卷与目标控制器之间建立一一对应的关系。当下发该待操作卷的io处理请求时,只会调用建立连接关系的raid条带,并且也只会调用建立了连接关系的控制器。也就是,在建立了对应关系的基础上,每个io处理请求只会被对应的raid条带和控制器进行控制。

而现有技术中,由于每个卷的操作和raid条带之间不存在一一对应的关系,所以在处理的时候是随机抓取对应的raid条带,并且为了避免该raid条带被其他控制器使用,还添加了条带锁。在业务系统使用该条带锁不仅会增大性能消耗,还会降低处理的效率。

因此,本实施例中为了避免条带和控制器混用的情况,将卷与条带以及卷与控制器之间建立了一一对应的关系,避免在使用时出现混的情况,也就是避免了采用条带锁进行上锁处理。

具体的,在本步骤中由于建立得到的条带映射关系为raid条带唯一对应一个待操作卷的关系,保持了raid条带唯一对应一个待操作卷。即每个raid条带唯一属于一个待操作卷,不能被其他待操作卷使用,保持了该raid条带的唯一性。对于待操作卷而言,由于卷的大小不同,一个卷可以对应一个raid条带,也可以对应多个raid条带,在此不做具体限定。进一步的,本实施例中的控制器对应关系,表示的是待操作卷和控制器之间一一对应的关系。基于此,在io处理的过程中,就可以通过上述两个对应关系确定对应的raid条带和目标控制器。

具体的,本实施例中建立的条带映射关系和控制器对应关系都可以采用现有技术中提供的对应关系的建立方式,在此不做具体限定。

可选的,本步骤建立关系的方式,也可以包括:

步骤1,根据数据卷区域信息确定待操作卷的地址范围;

步骤2,将待操作卷的地址范围与raid条带建立条带对应关系;

步骤3,将待操作卷的地址范围与目标控制器建立控制器对应关系。

可见,本可选方案中是根据待操作卷的地址范围对应不同的raid条带以及对应控制器。也就是,地址范围定义了本实施例中的不同的卷。

此外,为了避免出现条带资源浪费的情况,可以将卷的容量或条带大小进行调整,使得待操作卷的容量与raid条带的大小为整数倍关系。

s102,当接收到io处理请求时,根据条带映射关系和控制器对应关系确定io处理请求的目标卷对应的控制器和raid条带;

在s101的基础上,本步骤旨在当接收到io处理请求时,确定该io处理请求对应的控制器以及raid条带。其中,每个控制器以及每个raid条带被唯一对应了一个卷。因此,当属于该卷的io处理请求下发时,就会唯一确定一个控制器以及raid条带对该io处理请求进行处理。同时,其他卷的io处理请求不会使用该卷对应的控制器以及raid条带。也就避免了不同io处理请求使用同一个控制器或者同一个raid条带的情况。也就是避免出现混用的情况,现有技术中就不用使用条带锁进行操作,避免多余的性能损耗。

可选的,本步骤可以包括:

当接收到io处理请求时,根据条带映射关系对io处理请求的目标卷进行匹配,得到raid条带;

根据控制器对应关系对io处理请求的目标卷进行匹配,得到控制器。

可见,本可选方案中主要是对io处理请求进行不同的匹配操作,得到对应的raid条带以及控制器。

s103,通过控制器采用raid条带对io处理请求进行处理。

在s102的基础上,本步骤旨在通过控制器采用该raid条带对该io处理请求进行处理。其中,可以选择现有技术提供的任意一种处理方法,在此不做具体限定。

可选的,本步骤可以包括:

通过控制器采用raid条带将io处理请求进行拆分处理,得到多个子io处理请求;

采用多个子io处理请求对存储设备进行处理。

综上,本实施例通过在待操作卷和raid条带之间建立条带映射关系,在待操作卷和目标控制器之间建立控制器对应关系,使得在接收到io处理请求后,确定到唯一的独占的控制器和raid条带,最后通过该控制器采用该raid条带对io处理请求进行处理,避免采用其他io的控制器的raid条带的同时,该io对应的控制器和raid条带也不会被其他io使用,实现控制器之间和raid条带之间的权限控制,而不是采用条带锁进行权限控制器,避免性能损耗,提高了处理速度。

以下通过另一具体的实施例,对本申请提供的一种raid系统的io处理方法做进一步说明。

本实施例中,该方法可以包括:

步骤1,根据数据卷范围信息将待操作卷与raid条带建立条带映射关系,将待操作卷与目标控制器建立控制器对应关系;

步骤2,当接收到io处理请求时,根据条带映射关系和控制器对应关系确定io处理请求的目标卷对应的控制器和raid条带;

步骤3,通过控制器采用raid条带对io处理请求进行处理。

其中,本实施例的主要目的是免除raid条带锁。通过免除raid条带锁可以提升性能,主要原因是锁是有限资源,当上层业务并发度很高时候,锁这种公共资源可能会制约性能的进一步提升。另外的原因是加条带锁需要多次通信,多控制器之间加条带锁需要发送锁请求到对端控制器,以及对端加锁后发送确认信息到本端控制器来完成。这种握手的通信机制也会对性能产生一定的影响。其中,raid的条带锁是为了保证数据访问的正确性,防止多个线程或者业务同时访问同一个条带造成的数据错乱。

本实施例中具体是通过控制卷与raid条带的映射关系,确保raid的任一个条带只属于一个卷,卷则与控制器一一对应,即每个卷属于一个控制器。当上层业务下发io时,每一个卷只能通过一个控制器下发io,而raid的条带只属于一个卷,就能确保一个条带不会在多个控制器之间并发处理,从而达到条带锁的条件,实现raid性能的优化,从而提升存储系统的性能指标。

可见,本实施例通过在待操作卷和raid条带之间建立条带映射关系,在待操作卷和目标控制器之间建立控制器对应关系,使得在接收到io处理请求后,确定到唯一的独占的控制器和raid条带,最后通过该控制器采用该raid条带对io处理请求进行处理,避免采用其他io的控制器的raid条带的同时,该io对应的控制器和raid条带也不会被其他io使用,实现控制器之间和raid条带之间的权限控制,而不是采用条带锁进行权限控制器,避免性能损耗,提高了处理速度。

下面对本申请实施例提供的一种raid系统的io处理装置进行介绍,下文描述的一种raid系统的io处理装置与上文描述的一种raid系统的io处理方法可相互对应参照。

请参考图2,图2为本申请实施例所提供的一种raid系统的io处理装置的结构示意图。

本实施例中,该装置可以包括:

关系建立模块100,用于根据数据卷区域信息将待操作卷与raid条带建立条带映射关系,将待操作卷与目标控制器建立控制器对应关系;其中,所述条带映射关系为raid条带唯一对应一个待操作卷的关系;

关系查找模块200,用于当接收到io处理请求时,根据条带映射关系和控制器对应关系确定io处理请求的目标卷对应的控制器和raid条带;

io请求处理模块300,用于通过控制器采用raid条带对io处理请求进行处理。

可选的,该关系建立模块100,可以包括:

地址范围确定单元,用于根据数据卷区域信息确定待操作卷的地址范围;

条带关系建立单元,用于将待操作卷的地址范围与raid条带建立条带对应关系;

控制器关系建立单元,用于将待操作卷的地址范围与目标控制器建立控制器对应关系。

可选的,该关系查找模块200,可以包括:

条带匹配单元,用于当接收到io处理请求时,根据条带映射关系对io处理请求的目标卷进行匹配,得到raid条带;

控制器匹配单元,用于根据控制器对应关系对io处理请求的目标卷进行匹配,得到控制器。

本申请实施例还提供一种存储服务器,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如以上实施例所述的io处理方法的步骤。

本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如以上实施例所述的io处理方法的步骤。

该计算机可读存储介质可以包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

本申请实施例还提供一种raid系统,包括:

处理器,用于根据数据卷区域信息将待操作卷与raid条带建立条带映射关系,将所述待操作卷与目标控制器建立控制器对应关系;其中,所述条带映射关系为raid条带唯一对应一个待操作卷的关系;当接收到io处理请求时,根据所述条带映射关系和所述控制器对应关系确定所述io处理请求的目标卷对应的控制器和raid条带;

控制器,用于控制所述raid条带,以便采用所述raid条带对所述io处理请求进行处理;

raid条带,用于对所述io处理请求进行处理。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

以上对本申请所提供的一种raid系统的io处理方法、io处理装置、存储服务器以及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1