一种存储系统中IO处理方法、装置及终端制造方法及图纸

技术编号:20566392 阅读:26 留言:0更新日期:2019-03-14 09:17
本发明专利技术公开了一种存储系统中IO处理方法,包括:将链表中重叠IO的数据进行合并,形成合并数据;对合并数据执行下刷操作;当合并数据下刷完成后,调用对应的响应函数以完成IO处理;该方法充分利用现有的重叠IO的链表,将链表中重叠IO的数据先进行合并,然后再将合并数据执行下刷操作,也就是说事先将重叠IO的数据进行合并,即可以实现合并数据一次下刷,批量返回;进而可以减少对后端盘的读写次数,降低IO处理的延时,整体提升存储设备的IOPS;本发明专利技术还公开了一种存储系统中IO处理装置、终端及计算机可读存储介质,具有上述有益效果。

An IO Processing Method, Device and Terminal in Storage System

The invention discloses an IO processing method in a storage system, which includes: merging the overlapping IO data in the linked list to form the merged data; performing the brush down operation on the merged data; calling the corresponding response function to complete the IO processing when the merged data is brushed down; the method makes full use of the existing overlapping IO linked list to merge the overlapping IO data in the linked list first, and then Then the merged data is brushed down, that is to say, the overlapping IO data is merged in advance, so that the merged data can be brushed down once and returned in batches, and then the number of times of reading and writing back end disk can be reduced, the delay of IO processing can be reduced, and the IOPS of storage device can be improved as a whole. The invention also discloses an IO processing device, a terminal and a computer readable storage medium in a storage system. Quality has the above beneficial effects.

【技术实现步骤摘要】
一种存储系统中IO处理方法、装置及终端
本专利技术涉及服务器
,特别涉及一种存储系统中IO处理方法、装置、终端及计算机可读存储介质。
技术介绍
随着大数据时代的到来,对存储设备的高负载、低时延的要求越来越高,这就要求存储设备的具备足够高的IOPS(Input/OutputOperationsPerSecond,每秒进行读写(I/O)操作的次数),从而支撑日益膨胀的海量数据业务。目前,对于某些特定场景(如IO重叠场景),对于相同GRAIN内的IO,为防止出现读写不一致的问题,一般都是通过排队的方式进行IO处理,但是排队的方式严重降低了存储设备的性能,无法发挥并发的优势,导致降低了存储设备整体的IOPS。
技术实现思路
本专利技术的目的是提供一种存储系统中IO处理方法、装置、终端及计算机可读存储介质,能够减少对后端盘的读写次数,降低IO处理的延时,整体提升存储设备的IOPS。为解决上述技术问题,本专利技术提供一种存储系统中IO处理方法,包括:将链表中重叠IO的数据进行合并,形成合并数据;对所述合并数据执行下刷操作;当所述合并数据下刷完成后,调用对应的响应函数以完成IO处理。可选地,所述将链表中重叠IO的数据进行合并,形成合并数据,包括:获取所述链表中第一节点的数据;其中,所述第一节点为正在下刷数据的节点;将所述链表中重叠IO的数据与所述第一节点的数据进行合并,形成所述合并数据;将所述合并数据放置在第二节点;其中,所述第二节点为所述第一节点的下一个节点。可选地,所述将所述链表中重叠IO的数据与所述第一节点的数据进行合并,形成所述合并数据,包括:在预设时间内将所述链表中重叠IO的数据与所述第一节点的数据进行合并,形成所述合并数据。可选地,所述对所述合并数据执行下刷操作之前,还包括:在所述合并数据中添加合并状态标识。本专利技术还提供一种存储系统中IO处理控装置,包括:合并模块,用于将链表中重叠IO的数据进行合并,形成合并数据;下刷模块,用于对所述合并数据执行下刷操作;响应模块,用于当所述合并数据下刷完成后,调用对应的响应函数以完成IO处理。可选地,所述合并模块,包括:获取单元,用于获取所述链表中第一节点的数据;其中,所述第一节点为正在下刷数据的节点;合并单元,用于将所述链表中重叠IO的数据与所述第一节点的数据进行合并,形成所述合并数据;放置单元,用于将所述合并数据放置在第二节点;其中,所述第二节点为所述第一节点的下一个节点。可选地,所述合并单元具体为在预设时间内将所述链表中重叠IO的数据与所述第一节点的数据进行合并,形成所述合并数据的单元。可选地,所述存储系统中IO处理控装置还包括:合并状态标识添加模块,用于在所述合并数据中添加合并状态标识。本专利技术还提供一种终端,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现上述所述的存储系统中IO处理方法的步骤。本专利技术还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述所述的存储系统中IO处理方法的步骤。本专利技术所提供的一种存储系统中IO处理方法,包括:将链表中重叠IO的数据进行合并,形成合并数据;对合并数据执行下刷操作;当合并数据下刷完成后,调用对应的响应函数以完成IO处理。可见,该方法充分利用现有的重叠IO的链表(也就是现有的重叠IO的排队队列),将链表中重叠IO的数据先进行合并,然后再将合并数据执行下刷操作,也就是说事先将重叠IO的数据进行合并,即可以实现一次下刷,批量返回;避免相关技术中链表中的重叠IO只有在一个IO执行完下刷操作并调用对应的响应函数后才能够执行下一个IO,这样不仅需要重复对后端盘进行读写操作,还由于链表中的重叠IO依次执行的等待造成的IO延时的问题;通过该方法可以减少对后端盘的读写次数,降低IO处理的延时,整体提升存储设备的IOPS。本专利技术还提供了一种存储系统中IO处理装置、终端及计算机可读存储介质,具有上述有益效果,在此不再赘述。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本专利技术实施例所提供的存储系统中IO处理方法的流程图;图2为本专利技术实施例所提供的存储系统中IO处理装置的结构框图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。目前,在IO重叠的场景下(例如主机下刷的IO为相邻小IO时,IO重叠就会变的非常频繁),对于相同GRAIN内(可以理解为一个命中的内存块)的IO,为防止出现读写不一致的问题,相关技术都是通过排队的方式进行IO处理(也就是通过链表排队的方式处理),但是排队的方式严重降低了存储设备的性能(例如需要重复对后端盘进行读写,以及排队造成的时延),无法发挥并发的优势,导致降低了存储设备整体的IOPS。本实施例通过合并数据的方式克服上述问题。具体请参考图1,图1为本专利技术实施例所提供的存储系统中IO处理方法的流程图;该方法可以包括:S101:将链表中重叠IO的数据进行合并,形成合并数据。本实施例针对IO重叠场景时的排队队列也就是用于排队的链表,采用合并下刷的方法,实现一次批量处理,完成IO写操作。可以理解的是本实施例需要解决相关技术中链表中的重叠IO依次执行下刷操作的过程(即在链表中的重叠IO只有在一个IO执行完下刷操作并调用对应的响应函数后,下一个IO才能够执行上述过程),造成的需要重复对后端盘进行读写操作,以及链表中的重叠IO依次执行的等待造成的IO延时的问题。本实施例将链表中存在的重叠IO的数据首先进行合并,形成一个合并数据,后续再将该合并数据执行下刷操作,并在下刷操作完成后实现批量返回,完成IO处理。本实施例中并不限定需要进行数据合并的重叠IO的选取方式。例如可以是直接将当前链表中全部的重叠IO的数据进行合并;也可以是将当前下刷节点后续各个节点对应的重叠IO数据进行合并;也可以是在链表中具有重叠IO后的预设时间段内链表中的全部的重叠IO的数据进行合并;当然也可以是在当前下刷节点(可以称之为第一节点)后续各个节点对应的重叠IO数据进行合并,并将其放在当前下刷节点的后一个下刷节点(可以称之为第二节点)中等待下刷,在该第二节点下刷前链表中得到的全部的重叠IO也都可以继续合并在该第二节点中。当然也可以是在第一节点执行下刷后的预设时间段内链表中存在的全部重叠IO数据进行合并,并将其放在第二节点中等待下刷。进一步,本实施例也不限定链表中重叠IO的数据进行合并的时机。例如可以在链表获取到当前正在下刷节点的数据后执行数据合并操作。即优选的,将链表中重叠IO的数据进行合并,形成合并数据可以包括:获取链表中第一节点的数据;其中,第一节点为正在下刷数据的节点;将链表中重叠IO的数据与第一节点的本文档来自技高网...

【技术保护点】
1.一种存储系统中IO处理方法,其特征在于,包括:将链表中重叠IO的数据进行合并,形成合并数据;对所述合并数据执行下刷操作;当所述合并数据下刷完成后,调用对应的响应函数以完成IO处理。

【技术特征摘要】
1.一种存储系统中IO处理方法,其特征在于,包括:将链表中重叠IO的数据进行合并,形成合并数据;对所述合并数据执行下刷操作;当所述合并数据下刷完成后,调用对应的响应函数以完成IO处理。2.根据权利要求1所述的存储系统中IO处理方法,其特征在于,所述将链表中重叠IO的数据进行合并,形成合并数据,包括:获取所述链表中第一节点的数据;其中,所述第一节点为正在下刷数据的节点;将所述链表中重叠IO的数据与所述第一节点的数据进行合并,形成所述合并数据;将所述合并数据放置在第二节点;其中,所述第二节点为所述第一节点的下一个节点。3.根据权利要求2所述的存储系统中IO处理方法,其特征在于,所述将所述链表中重叠IO的数据与所述第一节点的数据进行合并,形成所述合并数据,包括:在预设时间内将所述链表中重叠IO的数据与所述第一节点的数据进行合并,形成所述合并数据。4.根据权利要求1所述的存储系统中IO处理方法,其特征在于,所述对所述合并数据执行下刷操作之前,还包括:在所述合并数据中添加合并状态标识。5.一种存储系统中IO处理控装置,其特征在于,包括:合并模块,用于将链表中重叠IO的数据进行合并,形成合并数据;下刷模块,用于对所述合并数据执行下刷操作;...

【专利技术属性】
技术研发人员:亓国强
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

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

1