一种IO流处理方法、系统、设备及计算机可读存储介质与流程

文档序号:17356860发布日期:2019-04-09 21:45阅读:158来源:国知局
一种IO流处理方法、系统、设备及计算机可读存储介质与流程

本申请涉及存储技术领域,更具体地说,涉及一种io流处理方法、系统、设备及计算机可读存储介质。



背景技术:

随着存储设备的广泛应用,对存储设备高负载、低时延的要求越来越高,这就要求存储设备具备足够高的iops(input/outputoperationsperseconde,每秒进行读写操作的次数)。而且现有的存储设备的cpu核数一般为多个,如何有效利用cpu资源成为存储设备提高iops的解决方式。

综上所述,如何提高存储设备的iops是目前本领域技术人员亟待解决的问题。



技术实现要素:

本申请的目的是提供一种io流处理方法,其能在一定程度上解决如何提高存储设备的iops的技术问题。本申请还提供了一种io流处理系统、设备及计算机可读存储介质。

为了实现上述目的,本申请提供如下技术方案:

一种io流处理方法,应用于存储设备中,包括:

获取待处理io流;

分配所述待处理io流至不同的cpu核,以使所述cpu核处理所述待处理子io流。

优选的,所述分配所述待处理io流至不同的cpu核,包括:

将所述待处理io流划分为相应的待处理子io流;

分配所述待处理子io流至不同的cpu核,以使所述cpu核处理所述待处理子io流。

优选的,所述分配所述待处理子io流至不同的cpu核,包括:

按照任务量均分原则,分配所述待处理子io流至不同的所述cpu核。

优选的,所述分配所述待处理子io流至不同的cpu核,包括:

按照所述cpu核各自的性能,分配相应的所述待处理子io流至每个所述cpu核。

优选的,所述分配所述待处理io流至不同的cpu核之后,还包括:

获取各个所述cpu核的负载压力;

基于各个所述cpu核的负载压力,调整相应的所述cpu核分配的所述待处理io流。

优选的,所述调整相应的所述cpu核分配的所述待处理io流,包括:

按照负载压力均等原则,调整相应的所述cpu核分配的所述待处理io流。

优选的,所述分配所述待处理io流至不同的cpu核之后,还包括:

获取各个所述cpu核的处理进度;

显示所述处理进度。

一种io流处理系统,应用于存储设备中,包括:

第一获取模块,用于获取待处理io流;

第一分配模块,用于分配所述待处理io流至不同的cpu核,以使所述cpu核处理所述待处理子io流。

一种io流处理设备,应用于存储设备中,包括:

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

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

一种计算机可读存储介质,应用于存储设备中,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如上任一所述的io流处理方法的步骤。

本申请提供的一种io流处理方法,应用于存储设备中,获取待处理io流;分配待处理io流至不同的cpu核,以使cpu核处理待处理子io流。本申请提供的一种io流处理方法,在获取待处理io流之后,并不是将该待处理io流分配给一个cpu核,而是分配给不同的cpu核,从而可以应用不同的cpu核处理待处理io流,实现了有效利用cpu资源来处理待处理io流,且与一个cpu核处理待处理io流的技术相比,可以提高cpu处理待处理io流的速率,从而可以提高存储设备的iops。本申请提供的一种io流处理系统、设备及计算机可读存储介质也解决了相应技术问题。

附图说明

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

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

图2为本申请实施例提供的一种io流处理方法的第二流程图;

图3为本申请实施例提供的一种io流处理系统的结构示意图;

图4为本申请实施例提供的一种io流处理设备的结构示意图;

图5为本申请实施例提供的一种io流处理设备的另一结构示意图。

具体实施方式

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

随着存储设备的广泛应用,对存储设备高负载、低时延的要求越来越高,这就要求存储设备具备足够高的iops(input/outputoperationsperseconde,每秒进行读写操作的次数)。而且现有的存储设备的cpu核数一般为多个,如何有效利用cpu资源成为存储设备提高iops的解决方式。本申请提供的一种io流处理方法可以提高存储设备的iops。

请参阅图1,图1为本申请实施例提供的一种io流处理方法的第一流程图。

本申请实施例提供的一种io流处理方法,应用于存储设备中,可以包括以下步骤:

步骤s101:获取待处理io流。

实际应用中,存储设备获取的待处理io流可以是存储设备接收自身连接的传输装置传输的io流。待处理io流的内容及类型可以根据实际需要确定,比如其可以为待处理的一系列数据写入操作等。本申请所描述的io流的定义如下:流是一种抽象概念,代表了数据的无结构化传递,按照流的方式进行输入输出,数据被当成无结构的字节序或字符序列;从流中取得数据的操作称为提取操作,而向流中添加数据的操作称为插入操作;用来进行输入输出操作的流就称为io流,也即io流就是以流的方式进行输入输出。

步骤s102:分配待处理io流至不同的cpu核,以使cpu核处理待处理子io流。

实际应用中,存储设备在获取待处理io流之后,便可以分配待处理io流至不同的cpu核。应当指出,本申请所描述的不同的cpu核,也即至少两个cpu核,分配有待处理io流的cpu核的数量可以根据实际需要确定。具体的,为了避免待处理io流占用所有的cpu核,从而影响存储设备的性能,在分配待处理io流至不同的cpu核时,条件允许的情况下,还可以预留存储设备中的部分cpu核作为空闲cpu核,并且不分配待处理io流至空闲cpu核;在此过程中,可以为空闲cpu核添加标识,使得存储设备可以根据该标识确定添加有该标识的cpu核为空闲cpu核,从而避免存储设备将待处理io流分配至空闲cpu核上。

具体应用场景中,为了便于将待处理io流分配至不同的cou核,存储设备分配待处理io流至不同的cpu核的过程可以具体为:将待处理io流划分为相应的待处理子io流;分配待处理子io流至不同的cpu核,以使cpu核处理待处理子io流。也即存储设备可以将待处理io流划分为相应数量的待处理子io流,以待处理子io流为分配单位将待处理io流分配至不同的cpu核。

具体的,为了使得各个cpu核处理其分配到的待处理io流的速率大体相等,从而避免由于单个cpu核处理待处理io流的速率较慢而导致存储设备的iops降低的情况,存储设备在分配待处理子io流至不同的cpu核时,可以按照任务量均分原则,分配待处理子io流至不同的cpu核。本申请所描述的任务量均分指的是各个cpu核分配的待处理io流的量均等,当然,实际应用中,各个cpu核分配的待处理io流的量不可能完全相等,但其只要满足按照任务量均分原则分配待处理io流即属于本申请的保护范围。在此过程中,为了进一步保证各个cpu核分配到的待处理io流的量相等,存储设备在将待处理io流划分为相应的待处理子io流时,还可以将待处理io流划分为大小相等的待处理子io流。

具体的,为了使得各个cpu核处理其分配到的待处理io流的速率大体相等,从而避免由于单个cpu核处理待处理io流的速率较慢而导致存储设备的iops降低的情况,存储设备在分配待处理子io流至不同的cpu核时,还可以按照cpu核各自的性能,分配相应的待处理子io流至每个cpu核。不难理解,在此过程中,cpu核的性能越好,其分配到的待处理io流的量越大,cpu核的性能越差,其分配到的待处理io流的量越小。当然,还可以有其他使得各个cpu核处理其分配到的待处理io流的速率大体相等的方法,本申请在此不做具体限定。

具体应用场景中,存储设备分配待处理io流至不同的cpu核之后,还可以对cpu核处理待处理io流的过程进行监控,进一步保证各个cpu核处理其分配到的待处理io流的速率大体相等,从而避免存储设备的iops降低,比如存储设备可以获取各个cpu核的负载压力;基于各个cpu核的负载压力,调整相应的cpu核分配的待处理io流。不难理解,此时存储设备调整相应的cpu核分配的待处理io流,也即在cpu核间调整各个cpu核所要处理的待处理io流的量。具体的,存储设备调整相应的cpu核分配的待处理io流的过程可以为:按照负载压力均等原则,调整相应的cpu核分配的待处理io流;也即使得调整后的各个cpu核的负载压力相等。

具体应用场景中,为了便于外界查看cpu核处理待处理io流的进度,存储设备分配待处理io流至不同的cpu核之后,还可以获取各个cpu核的处理进度;并显示处理进度。具体的,在显示处理进度时,可以采用二维坐标图显示处理进度,二维坐标图的横坐标可以为cpu核的标识,二维坐标图的纵坐标可以为处理进度等。

本申请提供的一种io流处理方法,应用于存储设备中,获取待处理io流;分配待处理io流至不同的cpu核,以使cpu核处理待处理子io流。本申请提供的一种io流处理方法,在获取待处理io流之后,并不是将该待处理io流分配给一个cpu核,而是分配给不同的cpu核,从而可以应用不同的cpu核处理待处理io流,实现了有效利用cpu资源来处理待处理io流,且与一个cpu核处理待处理io流的技术相比,可以提高cpu处理待处理io流的速率,从而可以提高存储设备的iops。

请参阅图2,图2为本申请实施例提供的一种io流处理方法的第二流程图。

实际应用中,本申请实施例提供的一种io流处理方法可以包括以下步骤:

步骤s201:获取待处理io流。

步骤s202:将待处理io流划分为相应的待处理子io流。

步骤s203:按照任务量均分原则,分配待处理子io流至不同的cpu核,以使cpu核处理待处理子io流。

步骤s204:获取各个cpu核的负载压力。

步骤s205:基于各个cpu核的负载压力,按照负载压力均等原则,调整相应的cpu核分配的待处理io流。

步骤s206:获取各个cpu核的处理进度,显示处理进度。

本申请还提供了一种io流处理系统,其具有本申请实施例提供的一种io流处理方法具有的对应效果。请参阅图3,图3为本申请实施例提供的一种io流处理系统的结构示意图。

本申请实施例提供的一种io流处理系统,应用于存储设备中,可以包括:

第一获取模块101,用于获取待处理io流;

第一分配模块102,用于分配待处理io流至不同的cpu核,以使cpu核处理待处理子io流。

本申请实施例提供的一种io流处理系统,应用于存储设备中,第一分配模块可以包括:

第一划分单元,用于将待处理io流划分为相应的待处理子io流;

第一分配单元,用于分配待处理子io流至不同的cpu核,以使cpu核处理待处理子io流。

本申请实施例提供的一种io流处理系统,应用于存储设备中,第一分配模块可以包括:

第二分配单元,用于按照任务量均分原则,分配待处理子io流至不同的cpu核。

本申请实施例提供的一种io流处理系统,应用于存储设备中,第一分配模块可以包括:

第三分配单元,用于按照cpu核各自的性能,分配相应的待处理子io流至每个cpu核。

本申请实施例提供的一种io流处理系统,应用于存储设备中,还可以包括:

第二获取模块,用于第一分配模块分配待处理io流至不同的cpu核之后,获取各个cpu核的负载压力;

第一调整模块,用于基于各个cpu核的负载压力,调整相应的cpu核分配的待处理io流。

本申请实施例提供的一种io流处理系统,应用于存储设备中,第一调整模块包括:

第一调整单元,用于按照负载压力均等原则,调整相应的cpu核分配的待处理io流。

本申请实施例提供的一种io流处理系统,应用于存储设备中,还可以包括:

第三获取模块,用于第一分配模块分配待处理io流至不同的cpu核之后,获取各个cpu核的处理进度;

第一显示模块,用于显示处理进度。

本申请还提供了一种io流处理设备及计算机可读存储介质,其均具有本申请实施例提供的一种io流处理方法具有的对应效果。请参阅图4,图4为本申请实施例提供的一种io流处理设备的结构示意图。

本申请实施例提供的一种io流处理设备,应用于存储设备中,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行存储器201中存储的计算机程序时实现如下步骤:

获取待处理io流;

分配待处理io流至不同的cpu核,以使cpu核处理待处理子io流。

本申请实施例提供的一种io流处理设备,应用于存储设备中,包括存储器201和处理器202,存储器201中存储有计算机子程序,处理器202执行存储器201中存储的计算机子程序时具体实现如下步骤:将待处理io流划分为相应的待处理子io流;分配待处理子io流至不同的cpu核,以使cpu核处理待处理子io流。

本申请实施例提供的一种io流处理设备,应用于存储设备中,包括存储器201和处理器202,存储器201中存储有计算机子程序,处理器202执行存储器201中存储的计算机子程序时具体实现如下步骤:按照任务量均分原则,分配待处理子io流至不同的cpu核。

本申请实施例提供的一种io流处理设备,应用于存储设备中,包括存储器201和处理器202,存储器201中存储有计算机子程序,处理器202执行存储器201中存储的计算机子程序时具体实现如下步骤:按照cpu核各自的性能,分配相应的待处理子io流至每个cpu核。

本申请实施例提供的一种io流处理设备,应用于存储设备中,包括存储器201和处理器202,存储器201中存储有计算机子程序,处理器202执行存储器201中存储的计算机子程序时具体实现如下步骤:分配待处理io流至不同的cpu核之后,获取各个cpu核的负载压力;基于各个cpu核的负载压力,调整相应的cpu核分配的待处理io流。

本申请实施例提供的一种io流处理设备,应用于存储设备中,包括存储器201和处理器202,存储器201中存储有计算机子程序,处理器202执行存储器201中存储的计算机子程序时具体实现如下步骤:按照负载压力均等原则,调整相应的cpu核分配的待处理io流。

本申请实施例提供的一种io流处理设备,应用于存储设备中,包括存储器201和处理器202,存储器201中存储有计算机子程序,处理器202执行存储器201中存储的计算机子程序时具体实现如下步骤:分配待处理io流至不同的cpu核之后,获取各个cpu核的处理进度;显示处理进度。

请参阅图5,本申请实施例提供的另一种io流处理设备中还可以包括:与处理器202连接的输入端口203,用于传输外界输入的命令至处理器202;与处理器202连接的显示单元204,用于显示处理器202的处理结果至外界;与处理器202连接的通信模块205,用于实现io流处理设备与外界的通信。显示单元204可以为显示面板、激光扫描使显示器等;通信模块205所采用的通信方式包括但不局限于移动高清链接技术(hml)、通用串行总线(usb)、高清多媒体接口(hdmi)、无线连接:无线保真技术(wifi)、蓝牙通信技术、低功耗蓝牙通信技术、基于ieee802.11s的通信技术。

本申请实施例提供的一种计算机可读存储介质,应用于存储设备中,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:

获取待处理io流;

分配待处理io流至不同的cpu核,以使cpu核处理待处理子io流。

本申请实施例提供的一种计算机可读存储介质,应用于存储设备中,计算机可读存储介质中存储有计算机子程序,计算机子程序被处理器执行时具体实现如下步骤:将待处理io流划分为相应的待处理子io流;分配待处理子io流至不同的cpu核,以使cpu核处理待处理子io流。

本申请实施例提供的一种计算机可读存储介质,应用于存储设备中,计算机可读存储介质中存储有计算机子程序,计算机子程序被处理器执行时具体实现如下步骤:按照任务量均分原则,分配待处理子io流至不同的cpu核。

本申请实施例提供的一种计算机可读存储介质,应用于存储设备中,计算机可读存储介质中存储有计算机子程序,计算机子程序被处理器执行时具体实现如下步骤:按照cpu核各自的性能,分配相应的待处理子io流至每个cpu核。

本申请实施例提供的一种计算机可读存储介质,应用于存储设备中,计算机可读存储介质中存储有计算机子程序,计算机子程序被处理器执行时具体实现如下步骤:分配待处理io流至不同的cpu核之后,获取各个cpu核的负载压力;基于各个cpu核的负载压力,调整相应的cpu核分配的待处理io流。

本申请实施例提供的一种计算机可读存储介质,应用于存储设备中,计算机可读存储介质中存储有计算机子程序,计算机子程序被处理器执行时具体实现如下步骤:按照负载压力均等原则,调整相应的cpu核分配的待处理io流。

本申请实施例提供的一种计算机可读存储介质,应用于存储设备中,计算机可读存储介质中存储有计算机子程序,计算机子程序被处理器执行时具体实现如下步骤:分配待处理io流至不同的cpu核之后,获取各个cpu核的处理进度;显示处理进度。

本申请所涉及的计算机可读存储介质包括随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质。

本申请实施例提供的一种io流处理系统、设备及计算机可读存储介质中相关部分的说明请参见本申请实施例提供的一种io流处理方法中对应部分的详细说明,在此不再赘述。另外,本申请实施例提供的上述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘述。

还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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