CN110515564A - 一种输入/输出i/o路径的确定方法和装置 - Google Patents

一种输入/输出i/o路径的确定方法和装置 Download PDF

Info

Publication number
CN110515564A
CN110515564A CN201910816656.3A CN201910816656A CN110515564A CN 110515564 A CN110515564 A CN 110515564A CN 201910816656 A CN201910816656 A CN 201910816656A CN 110515564 A CN110515564 A CN 110515564A
Authority
CN
China
Prior art keywords
path
target
storage unit
request
paths
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910816656.3A
Other languages
English (en)
Other versions
CN110515564B (zh
Inventor
杨飞虎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Wave Intelligent Technology Co Ltd
Original Assignee
Suzhou Wave Intelligent Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Suzhou Wave Intelligent Technology Co Ltd filed Critical Suzhou Wave Intelligent Technology Co Ltd
Priority to CN201910816656.3A priority Critical patent/CN110515564B/zh
Publication of CN110515564A publication Critical patent/CN110515564A/zh
Application granted granted Critical
Publication of CN110515564B publication Critical patent/CN110515564B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请实施例公开了一种输入/输出I/O路径的确定方法和装置,可以应用于存储单元,存储单元对应多条最优I/O路径和多条非最优I/O路径,该方法包括:针对目标I/O请求,确定第一I/O路径组中是否包括第一I/O路径,目标I/O请求为访问目标存储单元的I/O请求,第一I/O路径组包括目标存储单元对应的最优I/O路径和非最优I/O路径,第一I/O路径为同时属于最优I/O路径和有效I/O路径的I/O路径;若是,确定第一I/O路径为目标I/O路径。可见,该方法通过为目标I/O请求选择既属于最优I/O路径又属于有效I/O路径的第一I/O路径来传输,可以提高这些I/O请求对应的访问效率。

Description

一种输入/输出I/O路径的确定方法和装置
技术领域
本申请涉及数据传输领域,特别是涉及一种输入/输出I/O路径的确定方法和装置。
背景技术
多路径技术可以提供一个以上的物理路径来访问网络存储设备,并通过容错、输入/输出(Input/Output,I/O)流量负载均衡以及更细粒度的I/O调度策略等方式,为网络存储系统提供更高的可用性和性能优势。在多路径存储网络环境下,应用程序将I/O请求向下发送到磁盘设备,可以根据存储网络的物理拓扑结构将这些I/O请求分布到不同的路径,使这些路径同时进行磁盘I/O操作,从而提高存储网络的I/O吞吐能力。
其中,应用多路径技术的异步逻辑单元访问(Asymmetric Logic Unit Access,ALUA)类型的存储设备,可以在两个不同的存储处理器上以不平均的方式为给定的逻辑单元号(Logical Unit Number,LUN)提供I/O服务。其中,不平均的分配方式可以是指,对于存储设备中的某一LUN1来说,通过存储设备的一个存储处理器SPA和另一个存储处理器SPB上的端口均可以访问,但是,由于通过SPA端口的访问路径可以是访问LUN1的最优I/O路径,通过SPB端口的访问路径为访问LUN1的非最优I/O路径,因此,通过SPA上的端口可以比通过SPB上的端口访问效率更高。
目前,主要通过轮询路径选择算法为访问存储设备的I/O请求分配I/O路径。具体方式为:针对全部I/O路径而言,会将传送过来的每个I/O请求依次分配给这些I/O路径中的每一条,从而使得每条I/O路径都可以绝对公平的作为一次I/O请求传输路径。但对于ALUA类型的存储设备,如果采用轮询路径选择算法,则总会为某些I/O请求选择到非最优路径来传输。这样,在高负载、大量磁盘的应用场景下,会降低这部分访问请求的访问效率。
发明内容
为了解决上述技术问题,本申请提供了一种输入/输出I/O路径的确定方法和装置,可以提高访问请求的访问效率。
本申请实施例公开了如下技术方案:
本申请实施例提供了一种输入/输出I/O路径的确定方法,应用于存储单元,所述存储单元对应多条最优I/O路径和多条非最优I/O路径,所述方法包括:
针对目标I/O请求,确定第一I/O路径组中是否包括第一I/O路径,所述目标I/O请求为访问目标存储单元的I/O请求,所述第一I/O路径组包括所述目标存储单元对应的最优I/O路径和非最优I/O路径,所述第一I/O路径为同时属于最优I/O路径和有效I/O路径的I/O路径;
若是,确定所述第一I/O路径为用于传输所述目标I/O请求的目标I/O路径。
可选的,所述确定第一I/O路径组中是否包括第一I/O路径,包括:
确定用于传输前次I/O请求的被选I/O路径,所述前次I/O请求为所述目标I/O请求的前一个访问所述目标存储单元的I/O请求;
确定第二I/O路径组中是否包括所述第一I/O路径,所述第二I/O路径组包括除所述被选I/O路径外的所述目标存储单元对应的其余I/O路径。
可选的,所述确定第二I/O路径组中是否包括所述第一I/O路径,还包括:
若否,确定所述第二I/O路径组中是否包括第二I/O路径,所述第二I/O路径为属于有效I/O路径的I/O路径;
若是,确定所述第二I/O路径为用于传输所述目标I/O请求的目标I/O路径。
可选的,所述确定所述第二I/O路径组中是否包括第二I/O路径,包括:
若否,确定所述被选I/O路径为用于传输所述目标I/O请求的目标I/O路径。
可选的,所述存储单元为异步逻辑单元访问ALUA类型的存储设备中的存储单元。
本申请实施例提供了一种输入/输出I/O路径的确定装置,应用于存储单元,所述存储单元对应多条最优I/O路径和多条非最优I/O路径,所述装置包括:
第一确定单元,用于针对目标I/O请求,确定第一I/O路径组中是否包括第一I/O路径,所述目标I/O请求为访问目标存储单元的I/O请求,所述第一I/O路径组包括所述目标存储单元对应的最优I/O路径和非最优I/O路径,所述第一I/O路径为同时属于最优I/O路径和有效I/O路径的I/O路径;
第二确定单元,用于若确定第一I/O路径组中包括第一I/O路径,确定所述第一I/O路径为用于传输所述目标I/O请求的目标I/O路径。
可选的,所述第一确定单元,具体用于:
确定用于传输前次I/O请求的被选I/O路径,所述前次I/O请求为所述目标I/O请求的前一个访问所述目标存储单元的I/O请求;
确定第二I/O路径组中是否包括所述第一I/O路径,所述第二I/O路径组包括除所述被选I/O路径外的所述目标存储单元对应的其余I/O路径。
可选的,所述第一确定单元,还具体用于:
若确定第二I/O路径组中不包括所述第一I/O路径,确定所述第二I/O路径组中是否包括第二I/O路径,所述第二I/O路径为属于有效I/O路径的I/O路径;
若确定所述第二I/O路径组中包括第二I/O路径,确定所述第二I/O路径为用于传输所述目标I/O请求的目标I/O路径。
可选的,所述第一确定单元,还具体用于:
若确定所述第二I/O路径组中不包括所述第二I/O路径,确定所述被选I/O路径为用于传输所述目标I/O请求的目标I/O路径。
可选的,所述存储单元为异步逻辑单元访问ALUA类型的存储设备中的存储单元。
由上述技术方案可以看出,本申请提供的输入/输出I/O路径的确定方法,可以应用于存储单元,所述存储单元对应多条最优I/O路径和多条非最优I/O路径,该方法包括:针对目标I/O请求,确定第一I/O路径组中是否包括第一I/O路径,所述目标I/O请求为访问目标存储单元的I/O请求,所述第一I/O路径组包括所述目标存储单元对应的最优I/O路径和非最优I/O路径,所述第一I/O路径为同时属于最优I/O路径和有效I/O路径的I/O路径;若是,确定所述第一I/O路径为用于传输所述目标I/O请求的目标I/O路径。可见,该方法通过为目标I/O请求选择既属于最优I/O路径又属于有效I/O路径的第一I/O路径来传输,可以提高这些I/O请求对应的访问效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种输入/输出I/O路径的确定方法流程图;
图2为本申请实施例提供的一种确定第一I/O路径组中是否包括第一I/O路径的方法流程图;
图3为本申请实施例提供的一种确定第二I/O路径组中是否包括第二I/O路径的方法流程图;
图4为本申请实施例提供的一种输入/输出I/O路径的确定方法流程图;
图5为本申请实施例提供的一种输入/输出I/O路径的确定装置的结构图。
具体实施方式
下面结合附图,对本申请的实施例进行描述。
目前,主要通过轮询路径选择算法为访问存储设备的I/O请求分配I/O路径。具体方式为:针对全部路径而言,会依次将传送过来的每个I/O请求分配给这些路径中的每一条,使得每条路径都可以绝对公平的作为一次I/O请求的传输路径。但对于ALUA类型的存储设备,如果采用轮询路径选择算法,则总会为某些I/O请求选择到非最优路径来传输。这样,在高负载,大量磁盘的应用场景下,会降低这部分访问请求的访问效率。
为此,本申请实施例提供了一种输入/输出I/O路径的确定方法,可以应用于存储单元,所述存储单元对应多条最优I/O路径和多条非最优I/O路径,该方法包括:针对目标I/O请求,确定第一I/O路径组中是否包括第一I/O路径,所述目标I/O请求为访问目标存储单元的I/O请求,所述第一I/O路径组包括所述目标存储单元对应的最优I/O路径和非最优I/O路径,所述第一I/O路径为同时属于最优I/O路径和有效I/O路径的I/O路径;若是,确定所述第一I/O路径为用于传输所述目标I/O请求的目标I/O路径。可见,该方法通过为目标I/O请求选择既属于最优I/O路径又属于有效I/O路径的第一I/O路径来传输,可以提高这些I/O请求对应的访问效率。
首先,需要说明,本申请实施例提供的输入/输出I/O路径的确定方法可以应用于存储单元,且存储单元可以对应有多条最优I/O路径和多条非最优I/O路径。其中,存储单元可以是存储设备中所包括的用于存储的器件,在一种可能的实现方式中,所述存储单元可以是异步逻辑单元访问ALUA类型的存储设备中的存储单元,即存储单元可以是ALUA类型的存储设备中的逻辑卷,每个逻辑卷对应有LUN。此外,所述最优I/O路径可以是具有较高传输效率的I/O路径,所述非最优I/O路径可以是传输效率低于最优I/O路径的路径。
举例来说,假设ALUA类型的存储设备中包括逻辑卷LUN1、LUN2和LUN3,则本申请实施例中的存储单元可以是LUN1、LUN2或LUN3中的任意一个。而且,每个逻辑卷都可以对应有多个最优I/O路径和非最优I/O路径。
下面对本申请实施例提供的输入/输出I/O路径的确定方法进行详细介绍。
参见图1,该图示出了本申请实施例提供的一种输入/输出I/O路径的确定方法流程图,如图1所示,所述方法包括:
S101:针对目标I/O请求,确定第一I/O路径组中是否包括第一I/O路径,若是,执行S102。
在实际场景中,对于存储设备的每个存储单元来说,可以具有多个I/O请求传输过来,以希望访问同一个存储单元,而本申请实施例提供的方法可以为每个I/O请求确定对其进行传输的I/O路径。
其中,可以将传输过来的任意一个I/O请求作为目标I/O请求,将其需要访问的存储单元作为目标存储单元。则,可以针对目标I/O请求,为其确定对其进行传输的目标I/O路径。
可以理解,目标存储单元可以对应有多条最优I/O路径和多条非最优I/O路径。如此,可以建立一个第一I/O路径组,使得第一I/O路径组可以包括目标存储单元对应的最优I/O路径和非最优I/O路径。
则,针对于目标I/O请求,可以确定第一I/O路径组中是否包括第一I/O路径,若包括,可以执行S103。其中,所述第一I/O路径可以为同时属于最优I/O路径和有效I/O路径的I/O路径,即,第一I/O路径既为最优I/O路径又为有效I/O路径,这里所述的有效I/O路径可以是可用的I/O路径。可以理解,故障或被占用的I/O路径不属于有效I/O路径。
S102:确定所述第一I/O路径为用于传输所述目标I/O请求的目标I/O路径。
这样,可以将确定出的第一I/O路径作为用于传输目标I/O请求的目标I/O路径。
由上述技术方案可以看出,本申请提供的输入/输出I/O路径的确定方法,可以应用于存储单元,所述存储单元对应多条最优I/O路径和多条非最优I/O路径,该方法包括:针对目标I/O请求,确定第一I/O路径组中是否包括第一I/O路径,所述目标I/O请求为访问目标存储单元的I/O请求,所述第一I/O路径组包括所述目标存储单元对应的最优I/O路径和非最优I/O路径,所述第一I/O路径为同时属于最优I/O路径和有效I/O路径的I/O路径;若是,确定所述第一I/O路径为用于传输所述目标I/O请求的目标I/O路径。可见,该方法通过为目标I/O请求选择既属于最优I/O路径又属于有效I/O路径的第一I/O路径来传输,可以提高这些I/O请求对应的访问效率。
在一种可能的实现方式中,针对于S101中确定第一I/O路径组中是否包括第一I/O路径的方法,参见图2,该图示出了本申请实施例提供的一种确定第一I/O路径组中是否包括第一I/O路径的方法流程图,如图2所示,所述方法可以包括:
S201:确定用于传输前次I/O请求的被选I/O路径,所述前次I/O请求为所述目标I/O请求的前一个访问所述目标存储单元的I/O请求。
可以将目标I/O请求的前一个访问目标存储单元的I/O请求记为前次I/O请求。例如:目标I/O请求可以是被传输过来以访问目标存储单元的第1000个I/O请求,则被传输过来以访问目标存储单元的第999个I/O请求可以是前次I/O请求。可以理解,在为目标I/O请求确定用于传输的目标I/O路径前,已经为前次I/O请求确定了I/O路径以进行传输,可以将为前次I/O请求确定的I/O路径记为被选I/O路径。
在本申请实施例中,可以确定用于传输前次I/O请求的被选I/O路径。
S202:确定第二I/O路径组中是否包括所述第一I/O路径,所述第二I/O路径组包括除所述被选I/O路径外的所述目标存储单元对应的其余I/O路径。
其中,所述第二I/O路径组可以包括除所述被选I/O路径外的目标存储单元对应的其余I/O路径。
在本申请实施例中,可以确定第二I/O路径组中是否包括第一I/O路径,若包括,则执行S102,即将确定出的第一I/O路径作为用于传输目标I/O请求的目标I/O路径。
通过该种方法,在除被选I/O路径外的其他I/O路径中确定第一I/O路径,以作为用于传输本次目标I/O请求的目标I/O路径,从而保证了此次不再应用上一次已应用的I/O路径进行传输,保证了I/O路径的负载均衡。
另外,针对于S202中确定第二I/O路径组中是否包括第一I/O路径的方法中,则,可能确定第二I/O路径组中不包括第一I/O路径,则,该种情形下,参见图3,该图示出了本申请实施例提供的一种确定第二I/O路径组中是否包括第二I/O路径的方法流程图。如图3所示,所述方法还可以包括:
S301:若确定第二I/O路径组中不包括第一I/O路径,则可以确定第二I/O路径组中是否包括第二I/O路径,若是,执行S302。
其中,第二I/O路径可以为属于有效I/O路径的I/O路径,也就是说,相比于第一I/O路径,第二I/O路径仅为可用的有效I/O路径即可,而可以不属于最优I/O路径。例如:第二I/O路径可以是非最优I/O路径且为有效I/O路径。
这样,若未在第二I/O路径组中确定出第一I/O路径,可以确定该第二I/O路径组中是否包括第二I/O路径,若是,执行S302。
S302:确定第二I/O路径为用于传输目标I/O请求的目标I/O路径。
若第二I/O路径组中包括第二I/O路径,则可以确定第二I/O路径为用于传输目标I/O请求的目标I/O路径。
该方法在未确定出既属于最优I/O路径又属于有效I/O路径的第一I/O路径时,可以确定第二I/O路径组中是否包括属于有效I/O路径的第二I/O路径,若确定出第二I/O路径,可以将第二I/O路径作为目标I/O请求的目标I/O路径,以保证目标I/O请求的正常传输。
此外,针对于S301中确定第二I/O路径组中是否包括第二I/O路径的方法,在一种可能的实现方式中,所述方法还可以包括:
若确定第二I/O路径组中不包括第二I/O路径,也就是说,该目标存储单元所对应的除被选I/O路径外的其余I/O路径都不包括有效I/O路径,如此,可以确定被选I/O路径为用于传输所述目标I/O请求的目标I/O路径,以保证目标I/O请求的正常传输。
参见图4,该图示出了本申请实施例提供的一种输入/输出I/O路径的确定方法流程图,如图4所示,所述输入/输出I/O路径的确定方法包括:
S401:设置目标I/O路径为被选I/O路径,设置初始变量i为1。
对于目标I/O请求,可以将其目标I/O路径设置为被选I/O路径,其中,该实施例中的目标I/O路径和被选I/O路径都可以是一个变量,此处设置目标I/O路径为被选I/O路径是指,将目标I/O路径这一变量设置为被选I/O路径这一变量的值。此外,还可以设置初始变量i,将该初始变量i预设为1。
S402:判断变量i是否满足条件:i<(n+1),若是,则执行S403,若否,则执行S408。
其中,所述n可以是指,目标I/O请求所访问的目标存储单元对应的全部I/O路径的数量总和。为了方便描述目标存储单元对应的每个I/O路径,可以为目标存储单元对应的每个I/O路径设置标号。
举例来说,假设目标存储单元对应有2条最优I/O路径和2条非最优I/O路径,则在将这4条I/O路径分别加标号后为:I/O路径1、I/O路径2、I/O路径3和I/O路径4。其中,I/O路径1和I/O路径2可以为目标存储单元对应的2条最优I/O路径,I/O路径3和I/O路径4可以为目标存储单元对应的2条非最优I/O路径。
则,判断变量i是否满足条件:i<(n+1),若是,则执行S403,若否,则执行S408。例如,当i=1时,可以执行S403,在随着i递增的过程中,当i≥(n+1)时,则可以执行S408。
S403:选择被选I/O路径后的第i条I/O路径。
其中,由于目标存储单元对应的I/O路径都设置有标号,可以根据标号,确定被选I/O路径后的第i条I/O路径。
例如:当i=1时,则可以选择被选I/O路径后的第1条I/O路径,也就是说,若被选I/O路径为I/O路径1,则选择的被选I/O路径后的第i条I/O路径为I/O路径2。
S404:判断被选I/O路径后的第i条路径是否为目标存储单元(如逻辑卷)的最优I/O路径;若是,则执行S405,若否,则执行S406。
S405:判断被选I/O路径后的第i条路径是否为有效I/O路径;若是,则执行S407,若否,则执行S406。
S406:变量i+1。
S407:把被选I/O路径后的第i条I/O路径设置为目标I/O路径。
S408:判断目标I/O路径是否为被选I/O路径;若是,即表示为目标I/O路径这一变量发生改变,即将目标I/O路径赋值为除被选I/O路径外的其他I/O路径,也就是说,从目标存储单元对应的多条最优I/O路径内选择了一条有效I/O路径,以作为目标I/O请求的目标I/O路径,这种情况下,则执行S409,若否,执行S410。
S409:设置被选I/O路径为目标I/O路径,并返回目标I/O路径,结束流程。
其中,将被选I/O路径这一变量赋值为新确定出的目标I/O路径,以为目标I/O请求的后一个访问目标存储单元的I/O请求作为初始参数。
S410:设置目标I/O路径为被选I/O路径,设置初始变量j为1。
其中,若未从目标存储单元对应的多条最优I/O路径内选择一条有效路径,则可以将其目标I/O路径设置为被选I/O路径,此外,还可以包括初始变量j,将该初始变量j预设为1。
S411:判断变量j是否满足条件:j<(n+1),若是,则执行S412,若否,则执行S416。
S412:选择被选I/O路径后的第j条I/O路径。
S413:判断被选I/O路径后的第j条路径是否为有效I/O路径;若是,则执行S415,若否,则执行S414。
S414:变量j+1。
S415:把被选I/O路径后的第j条I/O路径设置为目标I/O路径。
S416:判断目标I/O路径是否为被选I/O路径;若是,即表示目标I/O路径这一变量发生改变,即将目标I/O路径赋值为除被选I/O路径外的其他I/O路径,也就是说,从目标存储单元对应的多条非最优I/O路径内选择了一条有效I/O路径,以作为目标I/O请求的目标I/O路径,这种情况下,则执行S417,若否,执行S418。
S417:设置被选I/O路径为目标I/O路径。
S418:返回目标I/O路径,并结束流程。
简单来说,S401-S418描述了为目标I/O请求确定目标I/O路径的具体实现方式,S401-S407公开的方法,可以为目标I/O请求尽量从目标存储单元对应的除被选I/O路径外的其余I/O路径中,选择出既属于最优I/O路径又属于有效I/O路径的I/O路径作为其目标I/O路径。
当未选择出这样(除被选I/O路径外,既属于最优I/O路径又属于有效I/O路径)的I/O路径时,S410-415公开的方法,可以为目标I/O请求从目标存储单元对应的除被选I/O路径外的非最优I/O路径中,选择有效I/O路径,以作为目标I/O请求的目标I/O路径。当未确定出这样(除被选I/O路径外的有效I/O路径)的I/O路径时,可以将传输上一个I/O请求的被选I/O路径,以作为目标I/O请求的目标I/O路径。
这样,当目标存储单元对应的多条最优I/O路径中包括至少2条有效I/O路径时,通过上述方法,可以为目标I/O请求优先在该目标存储单元对应的最优I/O路径中轮询选择,也尽可能保证传输前次I/O请求的被选I/O路径与此次为目标I/O请求确定的目标I/O路径不为同一个I/O路径,从而,保证了在高负载、大量存储单元的场景下利于提高整个存储设备的访问效率。当目标存储单元对应的多条最优I/O路径中只有不多于1条可用路径时,可以在目标存储单元对应的全部I/O路径中选择,利于提高访问的可靠性及存储单元的访问带宽。
基于前述提供的输入/输出I/O路径的确定方法,本申请实施例还提供了一种输入/输出I/O路径的确定装置,参见图5,该图示出了本申请实施例提供的一种输入/输出I/O路径的确定装置结构图,如图5所示,所述装置应用于存储单元,所述存储单元对应多条最优I/O路径和多条非最优I/O路径,所述装置包括:
第一确定单元501,用于针对目标I/O请求,确定第一I/O路径组中是否包括第一I/O路径,所述目标I/O请求为访问目标存储单元的I/O请求,所述第一I/O路径组包括所述目标存储单元对应的最优I/O路径和非最优I/O路径,所述第一I/O路径为同时属于最优I/O路径和有效I/O路径的I/O路径;
第二确定单元502,用于若确定第一I/O路径组中包括第一I/O路径,确定所述第一I/O路径为用于传输所述目标I/O请求的目标I/O路径。
可选的,所述第一确定单元501,具体用于:
确定用于传输前次I/O请求的被选I/O路径,所述前次I/O请求为所述目标I/O请求的前一个访问所述目标存储单元的I/O请求;
确定第二I/O路径组中是否包括所述第一I/O路径,所述第二I/O路径组包括除所述被选I/O路径外的所述目标存储单元对应的其余I/O路径。
可选的,所述第一确定单元501,还具体用于:
若确定第二I/O路径组中不包括所述第一I/O路径,确定所述第二I/O路径组中是否包括第二I/O路径,所述第二I/O路径为属于有效I/O路径的I/O路径;
若确定所述第二I/O路径组中包括第二I/O路径,确定所述第二I/O路径为用于传输所述目标I/O请求的目标I/O路径。
可选的,所述第一确定单元501,还具体用于:
若确定所述第二I/O路径组中不包括所述第二I/O路径,确定所述被选I/O路径为用于传输所述目标I/O请求的目标I/O路径。
可选的,所述存储单元为异步逻辑单元访问ALUA类型的存储设备中的存储单元。
由上述技术方案可以看出,本申请提供的输入/输出I/O路径的确定方法,可以应用于存储单元,所述存储单元对应多条最优I/O路径和多条非最优I/O路径,该方法包括:针对目标I/O请求,确定第一I/O路径组中是否包括第一I/O路径,所述目标I/O请求为访问目标存储单元的I/O请求,所述第一I/O路径组包括所述目标存储单元对应的最优I/O路径和非最优I/O路径,所述第一I/O路径为同时属于最优I/O路径和有效I/O路径的I/O路径;若是,确定所述第一I/O路径为用于传输所述目标I/O请求的目标I/O路径。可见,该方法通过为目标I/O请求选择既属于最优I/O路径又属于有效I/O路径的第一I/O路径来传输,可以提高这些I/O请求对应的访问效率。
需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统或装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种输入/输出I/O路径的确定方法,其特征在于,应用于存储单元,所述存储单元对应多条最优I/O路径和多条非最优I/O路径,所述方法包括:
针对目标I/O请求,确定第一I/O路径组中是否包括第一I/O路径,所述目标I/O请求为访问目标存储单元的I/O请求,所述第一I/O路径组包括所述目标存储单元对应的最优I/O路径和非最优I/O路径,所述第一I/O路径为同时属于最优I/O路径和有效I/O路径的I/O路径;
若是,确定所述第一I/O路径为用于传输所述目标I/O请求的目标I/O路径。
2.根据权利要求1所述的方法,其特征在于,所述确定第一I/O路径组中是否包括第一I/O路径,包括:
确定用于传输前次I/O请求的被选I/O路径,所述前次I/O请求为所述目标I/O请求的前一个访问所述目标存储单元的I/O请求;
确定第二I/O路径组中是否包括所述第一I/O路径,所述第二I/O路径组包括除所述被选I/O路径外的所述目标存储单元对应的其余I/O路径。
3.根据权利要求2所述的方法,其特征在于,所述确定第二I/O路径组中是否包括所述第一I/O路径,还包括:
若否,确定所述第二I/O路径组中是否包括第二I/O路径,所述第二I/O路径为属于有效I/O路径的I/O路径;
若是,确定所述第二I/O路径为用于传输所述目标I/O请求的目标I/O路径。
4.根据权利要求3所述的方法,其特征在于,所述确定所述第二I/O路径组中是否包括第二I/O路径,包括:
若否,确定所述被选I/O路径为用于传输所述目标I/O请求的目标I/O路径。
5.根据权利要求1-4任意一项所述的方法,其特征在于,所述存储单元为异步逻辑单元访问ALUA类型的存储设备中的存储单元。
6.一种输入/输出I/O路径的确定装置,其特征在于,应用于存储单元,所述存储单元对应多条最优I/O路径和多条非最优I/O路径,所述装置包括:
第一确定单元,用于针对目标I/O请求,确定第一I/O路径组中是否包括第一I/O路径,所述目标I/O请求为访问目标存储单元的I/O请求,所述第一I/O路径组包括所述目标存储单元对应的最优I/O路径和非最优I/O路径,所述第一I/O路径为同时属于最优I/O路径和有效I/O路径的I/O路径;
第二确定单元,用于若确定第一I/O路径组中包括第一I/O路径,确定所述第一I/O路径为用于传输所述目标I/O请求的目标I/O路径。
7.根据权利要求6所述的装置,其特征在于,所述第一确定单元,具体用于:
确定用于传输前次I/O请求的被选I/O路径,所述前次I/O请求为所述目标I/O请求的前一个访问所述目标存储单元的I/O请求;
确定第二I/O路径组中是否包括所述第一I/O路径,所述第二I/O路径组包括除所述被选I/O路径外的所述目标存储单元对应的其余I/O路径。
8.根据权利要求7所述的装置,其特征在于,所述第一确定单元,还具体用于:
若确定第二I/O路径组中不包括所述第一I/O路径,确定所述第二I/O路径组中是否包括第二I/O路径,所述第二I/O路径为属于有效I/O路径的I/O路径;
若确定所述第二I/O路径组中包括第二I/O路径,确定所述第二I/O路径为用于传输所述目标I/O请求的目标I/O路径。
9.根据权利要求8所述的装置,其特征在于,所述第一确定单元,还具体用于:
若确定所述第二I/O路径组中不包括所述第二I/O路径,确定所述被选I/O路径为用于传输所述目标I/O请求的目标I/O路径。
10.根据权利要求6-9任意一项所述的装置,其特征在于,所述存储单元为异步逻辑单元访问ALUA类型的存储设备中的存储单元。
CN201910816656.3A 2019-08-30 2019-08-30 一种输入/输出i/o路径的确定方法和装置 Active CN110515564B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910816656.3A CN110515564B (zh) 2019-08-30 2019-08-30 一种输入/输出i/o路径的确定方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910816656.3A CN110515564B (zh) 2019-08-30 2019-08-30 一种输入/输出i/o路径的确定方法和装置

Publications (2)

Publication Number Publication Date
CN110515564A true CN110515564A (zh) 2019-11-29
CN110515564B CN110515564B (zh) 2023-01-10

Family

ID=68628808

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910816656.3A Active CN110515564B (zh) 2019-08-30 2019-08-30 一种输入/输出i/o路径的确定方法和装置

Country Status (1)

Country Link
CN (1) CN110515564B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112684978A (zh) * 2020-12-23 2021-04-20 北京浪潮数据技术有限公司 一种存储设备的存储路径选择方法、系统及装置
CN115297048A (zh) * 2022-07-07 2022-11-04 北京瑞祺皓迪技术股份有限公司 一种基于光纤网络的路由路径生成方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106527970A (zh) * 2016-09-22 2017-03-22 华为技术有限公司 通信路径选择方法及装置
CN108712335A (zh) * 2018-05-14 2018-10-26 平安科技(深圳)有限公司 网络访问的调度方法、系统、设备及存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106527970A (zh) * 2016-09-22 2017-03-22 华为技术有限公司 通信路径选择方法及装置
CN108712335A (zh) * 2018-05-14 2018-10-26 平安科技(深圳)有限公司 网络访问的调度方法、系统、设备及存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112684978A (zh) * 2020-12-23 2021-04-20 北京浪潮数据技术有限公司 一种存储设备的存储路径选择方法、系统及装置
CN112684978B (zh) * 2020-12-23 2024-02-13 北京浪潮数据技术有限公司 一种存储设备的存储路径选择方法、系统及装置
CN115297048A (zh) * 2022-07-07 2022-11-04 北京瑞祺皓迪技术股份有限公司 一种基于光纤网络的路由路径生成方法及装置

Also Published As

Publication number Publication date
CN110515564B (zh) 2023-01-10

Similar Documents

Publication Publication Date Title
KR101502896B1 (ko) 맵 리듀스를 이용한 분산 메모리 클러스터 제어 장치 및 방법
CN103473334B (zh) 数据存储、查询方法及系统
Larsen et al. Partially dynamic vehicle routing—models and algorithms
CN111381936B (zh) 一种分布式云系统-云簇架构下的服务容器资源的分配方法与系统
CN104636080B (zh) 存储系统及用于其的方法
CN102457571B (zh) 一种云存储中数据均衡分布方法
WO2019037367A1 (zh) 配送任务处理方法、装置及电子设备
CN106233276A (zh) 网络可访问块存储装置的协调准入控制
CN104317742A (zh) 一种优化空间管理的自动精简配置方法
CN104753968B (zh) 云计算跨地域多数据中心及其的调度管理方法
CN110515564A (zh) 一种输入/输出i/o路径的确定方法和装置
CN109471725A (zh) 资源分配方法、装置和服务器
TW202134870A (zh) 任務調度方法和裝置
CN110058960A (zh) 用于管理存储系统的方法、设备和计算机程序产品
CN109976907A (zh) 任务分配方法和系统、电子设备、计算机可读介质
CN107220184A (zh) 一种lun存储单元的管理方法及装置
CN108717460A (zh) 一种在区块链中达成共识的方法及装置
CN109933430A (zh) 分配图形处理器的方法和装置
CN107577425A (zh) 一种数据迁移方法及装置
CN106412039A (zh) 一种分布式存储的网络集成的方法及系统
CN106487854A (zh) 存储资源分配方法、装置和系统
CN108228350A (zh) 一种资源分配方法及装置
CN110290228A (zh) 一种互联网协议ip地址分配方法及装置
CN106537323B (zh) 存储设备访问调解
CN104572684B (zh) 数据存储系统的容量调整方法、装置及数据存储系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant