一种存储系统的写数据方法及相关装置

文档序号:1888624 发布日期:2021-11-26 浏览:2次 >En<

阅读说明:本技术 一种存储系统的写数据方法及相关装置 (Data writing method and related device of storage system ) 是由 夏方健 于 2021-07-30 设计创作,主要内容包括:本申请公开了一种存储系统的写数据方法,包括:对待写入数据对应的条带创建第一条带锁请求;将有效区域置位信息添加至所述第一条带锁请求中,得到第二条带锁请求;向对端控制器发送所述第二条带锁请求,以便所述对端控制器对所述第二条带锁请求中的所述第一条带锁请求和所述有效区域置位信息进行处理,当处理成功时发送处理成功消息;当接收到所述处理成功消息时,对所述待写入数据执行写数据操作,并对有效区域位图进行置位,以提高数据写入的效率,避免出现延迟的问题。本申请还公开了一种存储系统的写数据装置、服务器以及计算机可读存储介质,具有以上有益效果。(The application discloses a data writing method of a storage system, which comprises the following steps: creating a first stripe lock request for a stripe corresponding to data to be written; adding effective region setting information to the first strip lock request to obtain a second strip lock request; sending the second strip lock request to a peer controller so that the peer controller processes the first strip lock request and the effective region setting information in the second strip lock request, and sending a processing success message when the processing is successful; and when the processing success message is received, performing data writing operation on the data to be written, and setting the effective area bitmap to improve the data writing efficiency and avoid the delay problem. The application also discloses a data writing device, a server and a computer readable storage medium of the storage system, which have the beneficial effects.)

一种存储系统的写数据方法及相关装置

技术领域

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

背景技术

随着数据存储技术的不断发展,在RAID(Redundant Arrays of IndependentDisks,磁盘阵列)软件架构中,针对磁盘离线情况下,为保证数据不丢失,实现热备盘与数据重构。具体是通过校验算法,通过其他在线硬盘的数据将离线磁盘的数据恢复出来并重写到热备盘中的过程。在重构的过程中,就涉及到对于磁盘中存储单元的管理,在RAID中,是将磁盘划分为分块形式,然后由分块组成条带,提供给上层使用,每个分块有几种规格,如此庞大的分块区间,需要统一管理。

相关技术中,记录分块是否被重构,同时在存储设备的多个控制器中同步元数据记录的处理结果,以防止同一个分块被不同的控制器多次处理。为了确定有效区域位图,需要在数据写入的过程中,下发对应的位图操作请求,增加了数据写入操作的流程,降低了数据写入的效率。

因此,如何提高存储系统中写入数据的效率是本领域技术人员关注的重点问题。

发明内容

本申请的目的是提供一种存储系统的写数据方法、写数据装置、服务器以及计算机可读存储介质,以提高数据写入的效率,避免出现延迟的问题。

为解决上述技术问题,本申请提供一种存储系统的写数据方法,包括:

对待写入数据对应的条带创建第一条带锁请求;

将有效区域置位信息添加至所述第一条带锁请求中,得到第二条带锁请求;

向对端控制器发送所述第二条带锁请求,以便所述对端控制器对所述第二条带锁请求中的所述第一条带锁请求和所述有效区域置位信息进行处理,当处理成功时发送处理成功消息;

当接收到所述处理成功消息时,对所述待写入数据执行写数据操作,并对有效区域位图进行置位。

可选的,将有效区域置位信息添加至所述第一条带锁请求中,得到第二条带锁请求,包括:

将所述有效区域置位信息进行编码,得到有效区域置位编码;

将所述有效区域置位编码添加至所述第一条带锁请求的结构中,得到所述第二条带锁请求。

可选的,还包括:

判断所述待写入数据对应的条带是否存在有效区域位图;

若是,则向所述对端控制器发送所述第一条带锁请求,以便所述对端控制器对所述第一条带锁请求进行处理。

可选的,所述处理成功消息包括置位信息和锁信息。

可选的,当接收到所述处理成功消息时,对所述待写入数据执行写数据操作,并对有效区域位图进行置位,包括:

当接收到所述处理成功消息时,根据所述处理成功消息的置位信息对所述待写入数据执行写数据操作;

根据所述处理成功消息的置位信息对有效区域位图进行置位处理。

可选的,对待写入数据对应的条带创建第一条带锁请求,包括:

接收所述待写入数据;

确定所述待写入数据对应的条带;

对所述对应的条带创建第一条带锁请求。

本申请还提供一种存储系统的写数据装置,包括:

锁请求申请模块,用于对待写入数据对应的条带创建第一条带锁请求;

置位信息添加模块,用于将有效区域置位信息添加至所述第一条带锁请求中,得到第二条带锁请求;

锁请求发送模块,用于向对端控制器发送所述第二条带锁请求,以便所述对端控制器对所述第二条带锁请求中的所述第一条带锁请求和所述有效区域置位信息进行处理,当处理成功时发送处理成功消息;

本端处理模块,用于当接收到所述处理成功消息时,对所述待写入数据执行写数据操作,并对有效区域位图进行置位。

可选的,所述置位信息添加模块,具体用于将所述有效区域置位信息进行编码,得到有效区域置位编码;将所述有效区域置位编码添加至所述第一条带锁请求的结构中,得到所述第二条带锁请求。

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

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

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

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

本申请所提供的一种存储系统的写数据方法,包括:对待写入数据对应的条带创建第一条带锁请求;将有效区域置位信息添加至所述第一条带锁请求中,得到第二条带锁请求;向对端控制器发送所述第二条带锁请求,以便所述对端控制器对所述第二条带锁请求中的所述第一条带锁请求和所述有效区域置位信息进行处理,当处理成功时发送处理成功消息;当接收到所述处理成功消息时,对所述待写入数据执行写数据操作,并对有效区域位图进行置位。

通过将有效区域置位信息添加至所述第一条带锁请求中,得到第二条带锁请求,再将第二条带锁请求发送至对端控制器,以便对端控制器接收一次请求就可以对锁请求和置位信息进行处理,而不需要再次接收对应的请求,减少了接收请求的步骤,简化数据写入操作,提高了在记录有效区域位图情况下的数据写入的效率。

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

附图说明

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

图1为本申请实施例所提供的一种存储系统的写数据方法的流程图;

图2为本申请实施例所提供的一种存储系统的写数据装置的结构示意图。

具体实施方式

本申请的核心是提供一种存储系统的写数据方法、写数据装置、服务器以及计算机可读存储介质,以提高数据写入的效率,避免出现延迟的问题。

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

相关技术中,记录分块是否被重构,同时在存储设备的多个控制器中同步元数据记录的处理结果,以防止同一个分块被不同的控制器多次处理。为了确定有效区域位图,需要在数据写入的过程中,下发对应的位图操作请求,增加了数据写入操作的流程,降低了数据写入的效率。

因此,本申请提供一种存储系统的写数据方法,通过将有效区域置位信息添加至所述第一条带锁请求中,得到第二条带锁请求,再将第二条带锁请求发送至对端控制器,以便对端控制器接收一次请求就可以对锁请求和置位信息进行处理,而不需要再次接收对应的请求,减少了接收请求的步骤,简化数据写入操作,提高了在记录有效区域位图情况下的数据写入的效率。

以下通过一个实施例,对本申请提供的一种存储系统的写数据方法进行说明。

请参考图1,图1为本申请实施例所提供的一种存储系统的写数据方法的流程图。

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

S101,对待写入数据对应的条带创建第一条带锁请求;

本步骤旨在对待写入数据对应的条带创建第一条带锁请求。其中,该第一条带锁请求主要是为了将条带进行锁定,避免该条带被多个设备进行操作,避免出现数据作为。

其中,主要是本端控制器执行本步骤。

进一步的,本步骤可以包括:

步骤1,接收待写入数据;

步骤2,确定待写入数据对应的条带;

步骤3,对对应的条带创建第一条带锁请求。

可见,本可选方案中主要是对如何创建条带锁请求进行说明。本可选方案中接收待写入数据,确定待写入数据对应的条带,对对应的条带创建第一条带锁请求。

很显然,为了避免多个设备对条带进行操作,本可选方案中对于接收到的待写入数据首先创建出第一条带锁请求,以便申请锁请求,将条带进行锁定。

此外,本实施例中该实施例可以包括:

步骤1,判断待写入数据对应的条带是否存在有效区域位图;

步骤2,若是,则向对端控制器发送第一条带锁请求,以便对端控制器对第一条带锁请求进行处理。

可见,本可选方案中还包括直接发送第一条带锁请求。主要是当该对应的条带不存在对应的有效区域位图时,直接发送第一条带锁请求,以便直接进行对应的处理。本可选方案中,主要是判断待写入数据对应的条带是否存在有效区域位图,若是,则向对端控制器发送第一条带锁请求,以便对端控制器对第一条带锁请求进行处理。

S102,将有效区域置位信息添加至第一条带锁请求中,得到第二条带锁请求;

在S101的基础上,本步骤旨在将有效区域置位信息添加至第一条带锁请求中,得到第二条带锁请求。

其中,该有效区域置位信息主要是为了对该待写入数据的有效区域进行置位,以便设置为存在标志位,标识对应的位置存在数据为有效区域。

现有技术中,该有效区域置位信息主要是单独发送至对端控制器,以便该对端控制器对对有效区域的位图进行置位,以便将其表示为存在数据,为有效区域数据。

进一步的,本步骤可以包括:

步骤1,将有效区域置位信息进行编码,得到有效区域置位编码;

步骤2,将有效区域置位编码添加至第一条带锁请求的结构中,得到第二条带锁请求。

可见,本可选方案中主要是说明如何得到第二条带锁请求。本可选方案中,将有效区域置位信息进行编码,得到有效区域置位编码,将有效区域置位编码添加至第一条带锁请求的结构中,得到第二条带锁请求。

S103,向对端控制器发送第二条带锁请求,以便对端控制器对第二条带锁请求中的第一条带锁请求和有效区域置位信息进行处理,当处理成功时发送处理成功消息;

在S102的基础上,本步骤旨在向对端控制器发送第二条带锁请求,以便对端控制器对第二条带锁请求中的第一条带锁请求和有效区域置位信息进行处理,当处理成功时发送处理成功消息。

可见,通过本步骤可以将该第二条带锁请求发送至对端控制器,以便对端控制器进行对应的处理。也就是说,本实施例主要是应用为双端控制器中。本端主要向对端发送对应的处理请求,以便实现双端控制,提高控制的可靠性。

S104,当接收到处理成功消息时,对待写入数据执行写数据操作,并对有效区域位图进行置位。

在S103的基础上,本步骤旨在当接收到处理成功消息时,对待写入数据执行写数据操作,并对有效区域位图进行置位。

可见,在对端对请求处理成功的基础上,本端控制器将待写入数据执行写入操作,并且再进行一次位图的置位操作。

其中,处理成功消息包括置位信息和锁信息。

相应的,当接收到处理成功消息时,对待写入数据执行写数据操作,并对有效区域位图进行置位,包括:

步骤1,当接收到处理成功消息时,根据处理成功消息的置位信息对待写入数据执行写数据操作;

步骤2,根据处理成功消息的置位信息对有效区域位图进行置位处理。

可见,本可选方案中主要是对如何进行处理做说明。本可选方案中,当接收到处理成功消息时,根据处理成功消息的置位信息对待写入数据执行写数据操作,根据处理成功消息的置位信息对有效区域位图进行置位处理。

可见,本可选方案中首先进行写处理,然后再对有效区域位图进行置位处理,以便获取到有效区域位图。进一步的,在进行存储设备的重构操作时,根据有效区域位图缩小进行重构操作的范围,提高重构操作的效率。

综上,本实施例通过将有效区域置位信息添加至第一条带锁请求中,得到第二条带锁请求,再将第二条带锁请求发送至对端控制器,以便对端控制器接收一次请求就可以对锁请求和置位信息进行处理,而不需要再次接收对应的请求,减少了接收请求的步骤,简化数据写入操作,提高了在记录有效区域位图情况下的数据写入的效率。

以下通过一个具体的实施例,对本申请提供的一种存储系统的写数据方法做进一步说明。

本实施例中,Io写流程可以包括:

步骤1,条带准备申请条带锁,并根据条带查找对应有效区域位图;

步骤2,判断当前条带是否已经是有效区域;若是,执行步骤3;若否,执行步骤4;

步骤3,将有效区域无需置位信息编码至条带锁申请结构;

步骤4,将有效区域置位信息编码至条带锁申请结构;

步骤5,发送请求到对端控制器;

步骤6,对端控制器解码,获取加锁请求以及位图置位标记;

步骤7,置位请求处理;

步骤8,当处理成功,等待加锁信息;

步骤9,加锁请求处理;

步骤10,加锁请求处理完成;

步骤11,置位信息编码到锁信息,发送回本端;

步骤12,本端解码,处理锁及后续io流程,处理位图置位相关。

可见,本实施例中将位图更新融入到写io流程中,置位信息与锁消息合并发送,减少两次双控间通信,且对于正常的写io场景并无明显影响。省去了位图更新中的队列排队现象,因为要依赖锁消息机制,所以将位图更新机制依赖io处理,不再等待,而是每来一个写io就更新一次,提高了更新效率。

可见,本实施例通过将有效区域置位信息添加至第一条带锁请求中,得到第二条带锁请求,再将第二条带锁请求发送至对端控制器,以便对端控制器接收一次请求就可以对锁请求和置位信息进行处理,而不需要再次接收对应的请求,减少了接收请求的步骤,简化数据写入操作,提高了在记录有效区域位图情况下的数据写入的效率。

下面对本申请实施例提供的写数据装置进行介绍,下文描述的写数据装置与上文描述的写数据方法可相互对应参照。

请参考图2,图2为本申请实施例所提供的一种存储系统的写数据装置的结构示意图。

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

锁请求申请模块100,用于对待写入数据对应的条带创建第一条带锁请求;

置位信息添加模块200,用于将有效区域置位信息添加至第一条带锁请求中,得到第二条带锁请求;

锁请求发送模块300,用于向对端控制器发送第二条带锁请求,以便对端控制器对第二条带锁请求中的第一条带锁请求和有效区域置位信息进行处理,当处理成功时发送处理成功消息;

本端处理模块400,用于当接收到处理成功消息时,对待写入数据执行写数据操作,并对有效区域位图进行置位。

可选的,该置位信息添加模块200,具体用于将有效区域置位信息进行编码,得到有效区域置位编码;将有效区域置位编码添加至第一条带锁请求的结构中,得到第二条带锁请求。

本申请实施例所提供的一种服务器,包括:

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

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

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

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

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

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

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

11页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种在客户端实现分级存储的方法及装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类