一种主机之间IO的传输方法、存储系统及可读存储介质与流程

文档序号:17396252发布日期:2019-04-13 00:50阅读:267来源:国知局
一种主机之间IO的传输方法、存储系统及可读存储介质与流程

本发明涉及存储技术领域,特别是涉及一种主机之间io的传输方法、存储系统及计算机可读存储介质。



背景技术:

现今,对后端存储系统分区的成功使用,满足了服务器主机下发数据的安全性和稳定性的要求。而缓存和闪存的成功使用,满足了各个计算机领域对于计算资源和计算速率的需求,极大地加快了数据处理的速度。

现有技术中,主机与主机之间io的传输方式为当一个主机向另一个主机发送数据时,需要从发送方主机对应的存储单元中调取数据,将之传递给接收方主机,接收方主机再将数据存在对应的存储单元中,相当于数据经历了四个节点,三条传输线路,极大地影响了主机端的资源开销。

因此,如何改善主机与主机之间io的传输管理,从而减小主机端的资源开销,加快主机与主机之间的io传输,是本领域技术人员需要解决的技术问题。



技术实现要素:

本发明的目的是提供一种主机之间io的传输方法、存储系统及计算机可读存储介质,用于改善主机与主机之间io的传输管理,从而减小主机端的资源开销,加快主机与主机之间的io传输。

为解决上述技术问题,本发明提供一种主机之间io的传输方法,基于存储系统,包括:

接收并解析第一主机发送的io传输命令,得到io传输任务;

当所述io传输任务为所述第一主机与第二主机之间的io传输任务时,获取与所述第一主机对应的第一存储单元以及与所述第二主机对应的第二存储单元;

将所述io传输任务转换为所述第一存储单元与所述第二存储单元之间的存储io传输任务;

执行所述存储io传输任务。

可选的,所述执行所述存储io传输任务,具体为:

按生成的时间先后顺序执行所述存储io传输任务。

可选的,其特征在于,在所述执行所述存储io传输任务之前,还包括:

接收对所述存储io传输任务的传输设置;

相应的,所述执行所述存储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传输。本发明还提供一种存储系统及计算机可读存储介质,具有上述有益效果,在此不再赘述。

附图说明

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

图1为本发明实施例提供的第一种主机之间io的传输方法的流程图;

图2为本发明实施例提供的第二种主机之间io的传输方法的流程图;

图3为本发明实施例提供的第三种主机之间io的传输方法的流程图;

图4为本发明实施例提供的一种存储系统的结构示意图;

图5为本发明实施例提供的另一种存储系统的结构示意图。

具体实施方式

本发明的核心是提供一种主机之间io的传输方法、存储系统及计算机可读存储介质,用于改善主机与主机之间io的传输管理,从而减小主机端的资源开销,加快主机与主机之间的io传输。

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

图1为本发明实施例提供的第一种主机之间io的传输方法的流程图。如图1所示,主机之间io的传输方法包括:

s10:接收并解析第一主机发送的io传输命令,得到io传输任务。

在实际应用中,存储系统包括处理器和存储器,本发明实施例提供的方案可以基于存储系统的处理器执行。基于分区技术,存储系统包括多个存储单元,即逻辑卷lun。

当接收到来自第一主机发送的io传输命令后,解析得到io传输任务,包括待传输的数据、发送地址和接收地址等。

s11:当io传输任务为第一主机与第二主机之间的io传输任务时,获取与第一主机对应的第一存储单元以及与第二主机对应的第二存储单元。

s12:将io传输任务转换为第一存储单元与第二存储单元之间的存储io传输任务。

在现有技术中,第一主机向第二主机传输数据,需要先从第一主机对应的第一存储单元调取数据,发送至第二主机,第二主机再存储于对应的第二存储单元中。而实际上第一存储单元和第二存储单元可能处于同一存储系统中,因此基于存储系统的处理器,在获取与第一主机对应的第一存储单元以及与第二主机对应的第二存储单元后,将第一主机与第二主机之间的io传输任务转换为第一存储单元与第二存储单元之间的存储io传输任务,从而大大节省了传输路径,传输的数据也无需再经过第一主机和第二主机,从而大大节省了主机的资源开销。

s13:执行存储io传输任务。

存储系统执行存储io传输任务后,可以向第一主机或第二主机发送执行完成的反馈。

进一步的,执行存储io传输任务,具体为:

按生成的时间先后顺序执行存储io传输任务。

可以按照第一主机与第二主机之间的io传输任务到达存储系统的时间先后顺序执行存储io传输任务,也可以按照转换生成存储io传输任务的时间先后顺序执行存储io传输任务,还可以按照预先设定的存储io传输任务的优先等级执行存储io传输任务。

本发明实施例提供的主机之间io的传输方法,基于存储系统,在接收并解析第一主机发送的io传输命令,得到io传输任务后,判断io传输任务为第一主机与第二主机之间的io传输任务时,获取与第一主机对应的第一存储单元以及与第二主机对应的第二存储单元,将io传输任务转换为第一存储单元与第二存储单元之间的存储io传输任务,并执行存储io传输任务。使数据从原来的需要经过第一存储单元、第一主机、第二主机和第二存储单元,变成从第一存储单元直接到第二存储单元,无需再经过第一主机或第二主机,因此对第一主机和第二主机来说极大地节省了资源开销,加快了主机与主机之间的io传输。

图2为本发明实施例提供的第二种主机之间io的传输方法的流程图。如图2所示,在上述实施例的基础上,在另一实施例中,在步骤s13之前,主机之间io的传输方法还包括:

s20:接收对存储io传输任务的传输设置。

相应的,步骤s13执行存储io传输任务,具体为:

s21:按传输设置执行存储io传输任务。

在具体实施中,传输设置具体可以为每秒的读写次数iops设置和/或带宽设置。

进一步的,还可以包括:

根据存储io传输任务的传输路径为存储io传输任务分配传输队列;

其中,传输队列与传输设置一一对应。

例如,对于存储系统中不同的存储分区d盘、e盘和f盘,可以设置第一传输队列对应d盘和e盘之间的传输路径,第二传输队列对应e盘和f盘之间的传输路径……接收用户对各传输队列的传输设置,并根据传输设置为不同的传输队列分配工作线程。

本发明实施例提供的主机之间io的传输方法,在上述实施例的基础上,还包括根据用户的设置执行存储io传输任务,进一步包括将不同传输路径的存储io传输任务划分至不同的传输队列,各传输队列对应不同的传输设置,从而便于根据存储系统的处理状况对存储io传输任务的执行进行适应的调整。

图3为本发明实施例提供的第三种主机之间io的传输方法的流程图。如图3所示,在上述实施例的基础上,在另一实施例中,主机之间io的传输方法还包括:

s30:根据存储io传输任务的数量计算io延迟时间。

在存储io传输任务较多时,可能会造成存储系统拥塞,等待较长的存储io传输任务会被迫中断。

在具体实施中,可以根据存储io传输任务的数量或者各存储io传输任务占用的线程数计算io延迟时间。

s31:将io延迟时间发送至第一主机。

将io延迟时间发送至第一主机,以使第一主机下达对存储io传输任务的传输命令,如暂停对存储io传输任务的执行,避免存储io传输任务因等待时间过长而中断。

进一步的,还可以包括:

s32:当io延迟时间大于预设值时,暂停对存储io传输任务的执行。

步骤s32可以与步骤s31同时执行。

存储系统也可以自行判断io延迟时间与预设值的关系,当io延迟时间大于预设值时,暂停对存储io传输任务的执行,防止存储io传输任务因等待时间过长而中断。

本发明实施例提供的主机之间io的传输方法,在上述实施例的基础上,还包括根据存储io传输任务的数量计算io延迟时间,将io延迟时间发送至第一主机或者在io延迟时间大于预设值时暂停对存储io传输任务的执行,避免存储io传输任务因等待时间过长而中断。

上文详述了主机之间io的传输方法对应的各个实施例,在此基础上,本发明还公开了与上述方法对应的存储系统。

图4为本发明实施例提供的一种存储系统的结构示意图。如图4所示,本发明实施例提供的存储系统包括:

解析单元401,用于接收并解析第一主机发送的io传输命令,得到io传输任务;

获取单元402,用于当io传输任务为第一主机与第二主机之间的io传输任务时,获取与第一主机对应的第一存储单元以及与第二主机对应的第二存储单元;

转换单元403,用于将io传输任务转换为第一存储单元与第二存储单元之间的存储io传输任务;

传输单元404,用于执行存储io传输任务。

由于存储系统部分的实施例与方法部分的实施例相互对应,因此存储系统部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。

图5为本发明实施例提供的另一种存储系统的结构示意图。如图5所示,该存储系统可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessingunits,cpu)510(例如,一个或一个以上处理器)和存储器520,一个或一个以上存储应用程序533或数据532的存储介质530(例如一个或一个以上海量存储设备)。其中,存储器520和存储介质530可以是短暂存储或持久存储。存储在存储介质530的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对存储系统中的一系列指令操作。更进一步地,处理器510可以设置为与存储介质530通信,在存储系统500上执行存储介质530中的一系列指令操作。

存储系统500还可以包括一个或一个以上电源540,一个或一个以上有线或无线网络接口550,一个或一个以上输入输出接口550,和/或,一个或一个以上操作系统531,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm等等。

上述图1至图3所描述的主机之间io的传输中的步骤由存储系统基于该图5所示的结构实现。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的存储系统及计算机可读存储介质的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的方法、装置、存储系统及存储介质,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。

集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,功能调用装置,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

以上对本发明所提供的一种主机之间io的传输方法、存储系统及存储介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

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

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