CN115617278B - 路径设备的选择方法、装置、电子设备及可读存储介质 - Google Patents
路径设备的选择方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN115617278B CN115617278B CN202211508414.6A CN202211508414A CN115617278B CN 115617278 B CN115617278 B CN 115617278B CN 202211508414 A CN202211508414 A CN 202211508414A CN 115617278 B CN115617278 B CN 115617278B
- Authority
- CN
- China
- Prior art keywords
- node
- storage node
- path
- size
- new
- 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.)
- Active
Links
- 238000010187 selection method Methods 0.000 title description 2
- 238000013507 mapping Methods 0.000 claims abstract description 119
- 238000000034 method Methods 0.000 claims abstract description 74
- 238000004891 communication Methods 0.000 claims description 13
- 238000004364 calculation method Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 5
- 230000004044 response Effects 0.000 claims description 5
- 238000013480 data collection Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 29
- 230000008569 process Effects 0.000 description 20
- 230000006870 function Effects 0.000 description 11
- 230000008901 benefit Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 241001522296 Erithacus rubecula Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000010079 rubber tapping Methods 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 238000010897 surface acoustic wave method Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0635—Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed 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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供了一种路径设备的选择方法、装置、电子设备及可读存储介质,所述方法包括:针对各个所述路径设备,收集所述路径设备对应的各个类型的所述存储节点中未完成的IO大小和对应的IO耗时;根据所述未完成的IO大小和所述IO耗时,拟合各个类型的所述存储节点关于所述未完成的IO大小和所述IO耗时的映射关系;当发生新IO时,确认目标存储节点和所述目标存储节点对应的候选路径设备,根据所述目标存储节点和所述候选路径设备对应的所述映射关系,计算所述新IO从所述候选路径设备发往所述目标存储节点的预估耗时;比较所述预估耗时,选择最短的所述预估耗时所对应的所述候选路径设备作为目标路径设备。通过上述方法节省了选择路径设备的时间。
Description
技术领域
本发明实施例涉及终端技术领域,特别是涉及一种路径设备的选择方法、一种路径设备的选择装置、一种电子设备以及一种计算机可读存储介质。
背景技术
在现有技术中,对于最优路径的选择通常是采用多路径软件来实现,基于应用多路径软件的情况下,当服务器与存储设备之间任意一条路径出现故障时,IO(Input/Output输入输出)请求可以通过其它路径发送,避免因单点故障导致的服务器到存储设备之间的数据访问中断,另外,服务器到存储设备的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大小。
可选地,所述存储节点的类型包括主节点类型,所述根据所述未完成的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耗时,拟合为所述其他节点类型的所述存储节点关于所述未完成的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大小和对应的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耗时,接着根据未完成的IO大小和IO耗时,拟合各个类型的存储节点关于未完成的IO大小和IO耗时的映射关系,当发生新IO时,确认目标存储节点和目标存储节点对应的候选路径设备,根据目标存储节点和候选路径设备对应的映射关系,计算新IO从候选路径设备发往目标存储节点的预估耗时,最后,比较预估耗时,选择最短的预估耗时所对应的候选路径设备作为目标路径设备。本发明实施例通过拟合各个类型的存储节点关于未完成的IO大小和IO耗时的映射关系,能够掌握每个路径设备在不同场景下的吞吐能力,有助于人工调优,同时,通过实时动态地计算IO从候选路径设备发往目标存储节点的预估耗时,有效地节省了选择路径设备的时间,并选择最短的预估耗时所对应的候选路径设备作为目标路径设备,大大地提高了IO效率,降低了IO延时。
附图说明
图1是本发明实施例中提供的一种服务器与存储系统的联网示意图;
图2是本发明实施例中提供的一种路径设备的选择方法的步骤流程图;
图3是本发明实施例中提供的一种关于主节点类型的映射关系示意图;
图4是本发明实施例中提供的一种关于从节点类型的映射关系示意图;
图5是本发明实施例中提供的一种关于其他节点类型的映射关系示意图;
图6是本发明实施例中提供的一种创建链路的命令执行图;
图7是本发明实施例中提供的一种创建链路的命令执行图;
图8是本发明实施例中提供的一种创建链路的命令执行图;
图9是本发明实施例中提供的一种循环镜像对的示意图;
图10是本发明实施例中提供的一种路径设备的选择装置的结构框图;
图11是本发明实施例中提供的一种计算机可读存储介质的结构示意图;
图12是实现本发明各个实施例的一种电子设备的硬件结构示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
为了使本领域技术人员更好地理解本发明实施例的技术方案,下面对本发明实施例中涉及的部分技术特征进行解释、说明:
DM-multipath(Device Mapper Multipath 设备映射多路径),Linux平台基于Device Mapper(设备映射)技术的多路径软件解决方案。
Sdx(路径设备),卷映射到服务器(主机)后,每条链路将映射成一个路径设备。
DM-x(多路径设备),DM-multipath将多个路径设备聚合成一个多路径设备。
Path Selector(多路径软件的路径设备选择策略),是指服务器上应用程序对多路径设备(DM-x)进行IO操作时,多路径软件按照一定的方法从多个路径设备(Sdx)中选择一个路径设备,然后下发IO。Windows和Linux平台的多路径软件选择策略大致相同,最主要的选择策略有三种,分别是round-robin、queue-length和service-time。下面对这些技术进行简要介绍:
round robin,优先在最优路径组内所有有效路径设备上轮询发送IO。如果最优路径组内无可用路径设备,则在非最优路径组内有效路径设备上轮询发送IO。
least queue depth,优先将IO发送到最优路径组上当前未完成的IO请求最少的路径设备上。
service-time,将IO发送到服务时间最短的路径上。
在具体实现中,为了避免因单点故障导致的服务器到存储设备之间的数据访问中断,通常采用多路径软件来解决该问题,其中,多路径是指服务器与存储设备之间的多条传输层物理连接,为网络存储系统提供更高的可用性和性能优势,多路径软件安装在服务器端,可以将同一个卷的多个设备聚合成一个设备的软件。多路径软件的高可用性体现在:服务器与存储设备之间任意一条路径出现故障,IO请求可以通过其它路径发送,避免因单点故障导致的服务器到存储设备之间的数据访问中断;多路径软件的高吞吐率性能优势体现在:服务器到存储设备的IO请求可以同时通过多条路径并发发送,提高服务器数据访问的IO吞吐率。
参照图1,示出了本发明实施例中提供的一种服务器与存储系统的联网示意图,图中的架构包含服务器、交换机和存储控制器,服务器中部署有多路径软件,其中,服务器包含网卡,服务器通过交换机与存储控制器进行连接,另外,小圆柱体表示路径设备,大的圆柱体表示存储系统上的卷,由图可知,图中三种配置之间的网卡、交换机和存储控制器的数量不同,从而连接方式也不同,例如,图1左侧的配置图,存储系统中有两个存储控制器,每个存储控制器连接一个交换机,并且每个存储控制器连接两个卷,每个交换机又连接一个网卡,由此可以看出每个存储系统上的卷到服务器端对应有两个设备。同理,图1中的中间与右侧的配置图均可参考左侧配置图进行理解,由于图1的架构是现有技术中常见的多路径软件布置架构,本发明实施例对此不再赘述。
作为一种示例,在选择路径的过程中,对于最优路径的选择通常是采用多路径软件来实现,基于应用多路径软件的情况下,当服务器与存储设备之间任意一条路径出现故障时,IO请求可以通过其它路径发送,避免因单点故障导致的服务器到存储设备之间的数据访问中断,另外,服务器到存储设备的IO请求可以同时通过多条路径并发发送,提高服务器数据访问的IO吞吐率。但是目前多路径软件的路径选择策略不够完善,在路径选择的过程中通常只选择IO所在位置的主节点,并没有考虑从节点和其他节点,很多场景下,主节点的路径上已经有很多尚未完成的IO,而从节点和其他节点处于空闲状态,容易导致选择路径的时间增加,IO效率低下,如果此时选择从节点或其他节点,则更省时高效。
对此,本发明的核心发明点之一在于涉及存储节点,存储节点具有对应的路径设备,针对各个路径设备,收集路径设备对应的各个类型的存储节点中未完成的IO大小和对应的IO耗时,接着根据未完成的IO大小和IO耗时,拟合各个类型的存储节点关于未完成的IO大小和IO耗时的映射关系,当发生新IO时,确认目标存储节点和目标存储节点对应的候选路径设备,根据目标存储节点和候选路径设备对应的映射关系,计算新IO从候选路径设备发往目标存储节点的预估耗时,最后,比较预估耗时,选择最短的预估耗时所对应的候选路径设备作为目标路径设备。本发明实施例通过拟合各个类型的存储节点关于未完成的IO大小和IO耗时的映射关系,能够掌握每个路径设备在不同场景下的吞吐能力,有助于人工调优,同时,通过实时动态地计算IO从候选路径设备发往目标存储节点的预估耗时,有效地节省了选择路径设备的时间,并选择最短的预估耗时所对应的候选路径设备作为目标路径设备,大大地提高了IO效率,降低了IO延时。
参照图2,示出了本发明实施例中提供的一种路径设备的选择方法的步骤流程图,涉及存储节点,存储节点具有对应的路径设备,具体可以包括如下步骤:
步骤201,针对各个所述路径设备,收集所述路径设备对应的各个类型的所述存储节点中未完成的IO大小和对应的IO耗时;
对于路径设备,其为连接服务器与存储系统的链路所映射而成的,其中,链路的数目和路径设备的数目是相对应的,例如,假设服务器和存储系统之间存在4条链路,则可以将该4条链路映射成4个路径设备,并且路径设备位于服务器上。对于存储节点,其类型可以包括主节点类型、从节点类型和其他节点类型,存储节点位于存储系统上,其可以对应有一个或多个路径设备,例如,1个存储节点可以对应有2个路径设备。
需要说明的是,对于主节点类型的存储节点的个数,在实际的IO读写过程中,其可以存在多个主节点类型的存储节点,同理,对于从节点类型的存储节点的个数和其他节点类型的存储节点的个数,在实际的IO读写过程中,同样也可以存在多个从节点类型的存储节点和多个其他节点类型的存储节点,本领域技术人员可以根据实际情况对各个类型的存储节点的个数进行调整,本发明实施例对此不作限制。
对于未完成的IO,其为从服务器的路径设备下发到存储节点的IO,并且其属于未被进行处理的IO;其中,未完成的IO大小为在存储节点中未被进行处理的IO的大小,未完成的IO大小包括存储节点中已有的未完成的IO大小和新IO发生时的IO大小;对于IO耗时,其为IO从服务器的路径设备下发到存储节点的整个过程的耗时,可以为未完成的IO所对应的IO耗时。
在具体实现中,针对各个路径设备,收集路径设备对应的主节点类型的存储节点中未完成的IO大小和对应的IO耗时、从节点类型的存储节点中未完成的IO大小和对应的IO耗时以及其他节点类型的存储节点中未完成的IO大小和对应的IO耗时,为后续计算IO发往目标存储节点的预估耗时以及为目标路径设备的选择提供了基础的数据支持。
步骤202,根据所述未完成的IO大小和所述IO耗时,拟合各个类型的所述存储节点关于所述未完成的IO大小和所述IO耗时的映射关系;
对于存储节点,其类型可以包括主节点类型、从节点类型和其他节点类型;对于映射关系,其可以表示为各个类型的存储节点关于未完成的IO大小和IO耗时的一条直线,并根据该直线拟合出关于该直线的直线方程式。
参照图3,示出了本发明实施例中提供的一种关于主节点类型的映射关系示意图,其中,x轴(横轴)表示的是主节点类型的存储节点中未完成的IO大小,y轴(竖轴)表示的是IO发往主节点类型的存储节点的预估耗时,根据主节点类型的存储节点中未完成的IO大小和IO发往主节点类型的存储节点的预估耗时(如表1所示),拟合关于主节点类型的存储节点的关系直线以及直线方程关系式,具体地,根据x轴和y轴的数据,拟合出直线方程式为:
参照图4,示出了本发明实施例中提供的一种关于从节点类型的映射关系示意图,其中,x轴(横轴)表示的是从节点类型的存储节点中未完成的IO大小,y轴(竖轴)表示的是IO发往从节点类型的存储节点的预估耗时,根据从节点类型的存储节点中未完成的IO大小和IO发往从节点类型的存储节点的预估耗时(如表2所示),拟合关于从节点类型的存储节点的关系直线以及直线方程关系式,具体地,根据x轴和y轴的数据,拟合出直线方程式为:
参照图5,示出了本发明实施例中提供的一种关于其他节点类型的映射关系示意图,其中,x轴(横轴)表示的是其他节点类型的存储节点中未完成的IO大小,y轴(竖轴)表示的是IO发往其他节点类型的存储节点的预估耗时,根据其他节点类型的存储节点中未完成的IO大小和IO发往其他节点类型的存储节点的预估耗时(如表3所示),拟合关于其他节点类型的存储节点的关系直线以及直线方程关系式,具体地,根据x轴和y轴的数据,拟合出直线方程式为:
在本发明实施例中,根据主节点类型的存储节点中未完成的IO大小和对应的IO耗时、从节点类型的存储节点中未完成的IO大小和对应的IO耗时以及其他节点类型的存储节点中未完成的IO大小和对应的IO耗时,拟合主节点类型的存储节点关于未完成的IO大小和IO耗时的映射关系、从节点类型的存储节点关于未完成的IO大小和IO耗时的映射关系以及其他节点类型的存储节点关于未完成的IO大小和IO耗时的映射关系,能够掌握每个路径设备在不同场景下的吞吐能力,有助于人工调优。
步骤203,当发生新IO时,确认目标存储节点和所述目标存储节点对应的候选路径设备,根据所述目标存储节点和所述候选路径设备对应的所述映射关系,计算所述新IO从所述候选路径设备发往所述目标存储节点的预估耗时;
对于目标存储节点,其可以包括主节点、从节点和其他节点;对于目标存储节点所对应的候选路径设备,其可以为多个路径设备;对于映射关系,其为目标存储节点和目标存储节点对应的候选路径设备的映射关系,由目标存储节点的未完成的IO大小和对应的IO耗时拟合的一条直线,并根据该直线拟合出关于该直线的直线方程式。
其中,对于预估耗时,其为IO从候选路径设备发往目标存储节点的预估耗时,可以由目标存储节点和候选路径设备对应的映射关系计算得出。
在具体实现中,当发生新IO时,确认目标存储节点和目标存储节点对应的候选路径设备,根据目标存储节点和候选路径设备对应的映射关系,计算新IO从候选路径设备发往目标存储节点的预估耗时,通过实时动态地计算IO从候选路径设备发往目标存储节点的预估耗时,有效地节省了选择路径设备的时间。
步骤204,比较所述预估耗时,选择最短的所述预估耗时所对应的所述候选路径设备作为目标路径设备。
其中,对于目标路径设备,其为最短的预估耗时所对应的候选路径设备。
在具体实现中,当发生新IO时,确认目标存储节点和目标存储节点对应的候选路径设备,根据目标存储节点和候选路径设备对应的映射关系,计算新IO从候选路径设备发往目标存储节点的预估耗时,从而可以比较IO发往各个类型节点所对应的预估耗时,选择最短的预估耗时所对应的候选路径设备作为目标路径设备,通过实时动态地计算IO从候选路径设备发往目标存储节点的预估耗时,有效地节省了选择路径设备的时间,并选择最短的预估耗时所对应的候选路径设备作为目标路径设备,大大地提高了IO效率,降低了IO延时。
在本发明实施例中,涉及存储节点,存储节点具有对应的路径设备,针对各个路径设备,收集路径设备对应的各个类型的存储节点中未完成的IO大小和对应的IO耗时,接着根据未完成的IO大小和IO耗时,拟合各个类型的存储节点关于未完成的IO大小和IO耗时的映射关系,当发生新IO时,确认目标存储节点和目标存储节点对应的候选路径设备,根据目标存储节点和候选路径设备对应的映射关系,计算新IO从候选路径设备发往目标存储节点的预估耗时,最后,比较预估耗时,选择最短的预估耗时所对应的候选路径设备作为目标路径设备。本发明实施例通过拟合各个类型的存储节点关于未完成的IO大小和IO耗时的映射关系,能够掌握每个路径设备在不同场景下的吞吐能力,有助于人工调优,同时,通过实时动态地计算IO从候选路径设备发往目标存储节点的预估耗时,有效地节省了选择路径设备的时间,并选择最短的预估耗时所对应的候选路径设备作为目标路径设备,大大地提高了IO效率,降低了IO延时。
在一种可选实施例中,所述存储节点位于存储系统上,在所述步骤201、针对各个所述路径设备,收集所述路径设备对应的各个类型的所述存储节点中未完成的IO大小和对应的IO耗时之前,还包括:
响应于针对服务器和所述存储节点中的卷的创建指令,将所述卷映射到所述服务器;其中,所述卷为所述存储节点生命周期中的一个临时目录;
响应于所述服务器与所述存储系统的链路创建指令,将所述服务器与所述存储系统通过所述链路进行连接;其中,所述链路为所述服务器通往所述卷对应的所述存储系统的存储节点的路径。
对于卷,位于存储系统上,其为存储节点生命周期中的一个临时目录,其中,当卷映射到服务器上时,将服务器和存储系统之间的链路映射成对应的路径设备,其中,路径设备位于服务器上;对于链路,其为服务器通往卷对应的存储系统的存储节点的路径。
在具体实现中,首先登录存储系统,通过命令或可视化界面创建服务器和卷,需要说明的是,此处创建的服务器是存储系统上的概念,与真实的服务器一一对应,其中,假设创建ISCSI(Internet Small Computer System Interface 互联网小型计算机系统接口,又称为IP-SAN)链路,创建服务器时需填写服务器的IQN(ISCSI (Internet SmallComputer System Interface) Qualified Name ISCSI限定名称)信息。对于创建FC(FibreChannel 网状通道技术)链路,需填写服务器的WWPN(World Wide Port Name 端口号)信息,对于创建的链路类型,本领域技术人员可以根据实际需求进行配置,本发明对此不作限制。
在本发明实施例中,请参照图6至图8,示出了本发明实施例中提供的一种创建链路的命令执行图,假设链路类型设置为ISCSI协议,连接服务器与存储系统的链路的创建步骤为:登录服务器,通过iscsadm命令建立与存储系统的链路(通常存在多条链路),具体地,通过命令:iscsiadm –m discovery -t sendtargets -p ${target_ip}:${port}发现存储系统上的target(目标);接着,通过命令:iscsiadm -m node -T ${target_iqn} -p ${target_ip} --login登录target;最后可以通过命令:iscsiadm -m session查看已建立的链路,通过上述步骤流程可以建立服务器和存储系统之间的链路。
在具体实现中,在创建服务器和卷以及服务器和存储系统之间的链路后,可以得到路径设备和聚合多路径设备,具体地,登录服务器,通过命令:
echo'---' >/sys/class/scsi_host/${hostName}/device/scsi_host/${hostName}/scan扫描,可以在目录(/dev/disk/by-path/)发现路径设备,假设链路的数目为4条,则每个卷对应4个路径设备,例如:/dev/sdb、/dev/sdc、/dev/sdd和/dev/sde;另外,登录服务器,可以通过命令:systemctl start multipathd启动多路径软件,multipathd自动将具有相同的wwid的设备聚合成一个多路径设备,例如:/dev/dm-0。示例性地,假设1个IO组中的存在4个存储节点,分别为存储节点1、存储节点2、存储节点3和存储节点4,每个存储节点对应有两个路径设备,为了方便区分,将4个存储节点对应表示为:Node1、Node2、Node3和Node4,其中,多个IO构成一个组,IO下发时可以为一个IO组下发,则路径设备和多路径设备以及存储节点之间的关系如表1所示:
表1
在本发明实施例中,响应于针对服务器和存储节点中的卷的创建指令,将卷映射到所述服务器,其中,卷为存储节点生命周期中的一个临时目录,另外,响应于服务器与存储系统的链路创建指令,将服务器与存储系统通过链路进行连接,其中,链路为服务器通往卷对应的存储系统的存储节点的路径,当卷映射到服务器时,将存储节点中的卷对应的链路映射为路径设备;其中,链路的数目与存储节点中的卷对应的路径设备的数目相同,也即是说,存储节点对应有多个路径设备,路径设备位于服务器上;其中,多个路径设备聚合成一个多路径设备。
在一种可选实施例中,所述步骤203、确认目标存储节点和所述目标存储节点对应的候选路径设备,包括:
根据新IO的起始位置,确定所述新IO对应的段;
根据所述新IO对应的段,确定所述段对应的镜像关系;
通过所述段对应的镜像关系确定目标存储节点,以确定所述目标存储节点对应的候选路径设备。
其中,对于起始位置,其为IO在服务器上的起始位置,具体地,IO从服务器下发到存储系统上。
对于段,其为卷按照预设段粒度划分为多个段,其中每个段对应有多个起始位置。示例性地,假设存储节点上的每个卷以段(Segment)粒度划分为4个段,划分值设定为32M,为了方便区分,段用L表示,4个L(段)分别为,L1:{[0,32M),[128M,160M),…};L2:{[32M,64M),[160M,192M),…};L3:{[64M,96M),[192M,224M),…};L4:{[96M,128M),[224M,256M),…}。
对于镜像关系,由IO组内的多个存储节点划分多组镜像关系,其中,多个IO构成一个IO组,镜像关系的数量和IO组内的存储节点的数量以及段的数量相同。示例性地,假设1个IO组中的存在4个存储节点,分别为存储节点1、存储节点2、存储节点3和存储节点4,为了方便区分,将4个存储节点对应表示为:Node1、Node2、Node3和Node4;4组镜像关系表示为:Domain1:(Node1,Node2);Domain2:(Node2,Node3);Domain3:(Node3,Node4);Domain4:(Node4,Node1)。
需要说明的是,为了方便描述,对于存储节点,其可以表示为Node;对于镜像关系,其可以表示为Domain;对于段,其可以表示为L;可以理解的是,本领域技术人员可以根据实际情况对存储节点、镜像关系以及段的表述方法进行调整,本发明实施例对此不作限制。
其中,段和各个类型的存储节点存在如下关系,如表2所示:
表2
由图可知,L1所对应的主节点为Node1、从节点为Node2以及其他节点为Node3和Node4;同理,L2所对应的主节点为Node2、从节点为Node3以及其他节点为Node1和Node4,L3所对应的主节点为Node3、从节点为Node4以及其他节点为Node1和Node2;L4所对应的主节点为Node4、从节点为Node1以及其他节点为Node2和Node3。
需要说明的是,上述列举的例子仅作为一种示例,在实际的IO读写过程中,对于主节点类型的存储节点的个数,其可以存在多个主节点类型的存储节点,同理,对于从节点类型的存储节点的个数和其他节点类型的存储节点的个数,在实际的IO读写过程中,同样也可以存在多个从节点类型的存储节点和多个其他节点类型的存储节点,示例性地,L1中对应的主节点类型的存储节点的个数可能远不止1个,从节点类型的存储节点的个数可能远不止1个,其他节点类型的存储节点的个数可能远不止2个,同理,L2、L3和L4所对应的各个存储节点类型中同样可能对应存在多个存储节点,此处将数据设置得较为简单,仅为了方便举例说明,可以理解的是,本发明实施例对此不作限制。
参照图9,示出了本发明实施例中提供的一种循环镜像对的示意图,由图可知,存储节点、段和对应的镜像关系位于存储系统上,存储系统通过交换机与服务器进行连接,服务器上存在多个路径设备,如图9中所示,路径设备可以表示为:sdb 、sdc 、sdd 、sde、sdf、sdg、sdh以及sdi,再由多个路径设备聚合成一个多路径设备,如图9中所示,多路径设备可以表示为dm-0。
需要说明的是,对于路径设备和多路径设备的命名,以及路径设备和多路径设备对应的数量,本领域技术人员可以根据实际情况进行调整,本发明实施例对此不作限制。
由上述可知,图9中的段1、段2、段3和段4分别可以对应表示为L1、L2、L3和L4;图9中的存储节点1、存储节点2、存储节点3和存储节点4分别可以对应表示为Node1、Node2、Node3和Node4;图9中的镜像关系1、镜像关系2、镜像关系3和镜像关系4可以对应表示为Domain1、Domain2、Domain3和Domain4。
在一种示例中,假设IO的起始位置为25M,大小为512KB,根据上述段和镜像关系的划分,此IO属于L1,L1对应的镜像关系是Domain1,其中,Domain1的主节点是Node1,Node1连接服务器的路径设备对应为sdb和sdc。
由上述图表可知,当IO属于L1时,假设将其发往Node1的路径,则未完成的IO大小和最终耗时成为主节点上的样本数据;假设将其发往Node2的路径,则未完成的IO的大小和最终耗时成为从节点上的样本数据;假设将其发往Node3或Node4的路径,则未完成的IO的大小和最终耗时成为其他节点上的样本数据。需要说明的是,未完成的IO大小包括该路径上已有的未完成的IO大小和本次发生IO的IO大小。
同理可得,当IO属于L2时,假设将其发往Node2的路径,则未完成的IO的大小和最终耗时成为主节点上的样本数据;假设将其发往Node3的路径,则未完成的IO的大小和最终耗时成为从节点上的样本数据;假设将其发往Node1或Node4的路径,则未完成的IO的大小和最终耗时成为其他节点上的样本数据。
当IO属于L3时,假设将其发往Node3的路径,则未完成的IO的大小和最终耗时成为主节点上的样本数据;假设将其发往Node4的路径,则未完成的IO的大小和最终耗时成为从节点上的样本数据;假设将其发往Node1或Node2的路径,则未完成的IO的大小和最终耗时成为其他节点上的样本数据。
当IO属于L4时,假设将其发往Node4的路径,则未完成的IO的大小和最终耗时成为主节点上的样本数据;假设将其发往Node1的路径,则未完成的IO的大小和最终耗时成为从节点上的样本数据;假设将其发往Node2或Node3的路径,则未完成的IO的大小和最终耗时成为其他节点上的样本数据。
如下为收集的各个类型的存储节点中未完成的IO大小和对应的IO耗时的样本数据表:
主节点中未完成的IO大小和对应的IO耗时,具体如表3所示:
表3
从节点中未完成的IO大小和对应的IO耗时,具体如表4所示:
表4
其他节点中未完成的IO大小和对应的IO耗时,具体如表5所示:
表5
在本发明实施例中,根据新IO的起始位置,确定新IO对应的段,接着根据新IO对应的段,确定段对应的镜像关系,最后通过段对应的镜像关系确定目标存储节点,以确定目标存储节点对应的候选路径设备,通过将卷划分为多个段、IO组内的多个节点划分为对应的镜像关系,能够更加容易地确定目标存储节点的类型,以确定目标存储节点对应的候选路径设备,提高了路径设备选择的效率。
在一种可选实施例中,所述存储节点的类型包括主节点类型,所述步骤202、根据所述未完成的IO大小和所述IO耗时,拟合各个类型的所述存储节点关于所述未完成的IO大小和所述IO耗时的映射关系,包括:
收集为所述主节点类型的所述存储节点中未完成的IO大小和对应的IO耗时;
根据所述未完成的IO大小和所述IO耗时,拟合为所述主节点类型的所述存储节点关于所述未完成的IO大小和所述IO耗时的映射关系。
其中,对于映射关系,其可以表示为关于主节点的未完成的IO大小和IO耗时的一条直线,并根据该直线拟合出关于该直线的直线方程式,从而可以根据直线方程式得出IO发往主节点上的预估耗时。
在本发明实施例中,收集为主节点类型的存储节点中未完成的IO大小和对应的IO耗时,然后根据未完成的IO大小和IO耗时,拟合为主节点类型的存储节点关于未完成的IO大小和IO耗时的映射关系,其中,可以通过主节点类型的存储节点关于未完成的IO大小和IO耗时的映射关系,从而可以根据该映射关系得出IO发往主节点上的预估耗时。
在一种可选实施例中,所述存储节点的类型包括从节点类型,所述步骤202、根据所述未完成的IO大小和所述IO耗时,拟合各个类型的所述存储节点关于所述未完成的IO大小和所述IO耗时的映射关系,包括:
收集为所述从节点类型的所述存储节点中未完成的IO大小和对应的IO耗时;
根据所述未完成的IO大小和所述IO耗时,拟合为所述从节点类型的所述存储节点关于所述未完成的IO大小和所述IO耗时的映射关系。
其中,对于映射关系,其可以表示为关于从节点的未完成的IO大小和IO耗时的一条直线,并根据该直线拟合出关于该直线的直线方程式,从而可以根据直线方程式得出IO发往从节点上的预估耗时。
在本发明实施例中,收集为从节点类型的存储节点中未完成的IO大小和对应的IO耗时,然后根据未完成的IO大小和IO耗时,拟合为从节点类型的存储节点关于未完成的IO大小和IO耗时的映射关系,其中,可以通过从节点类型的存储节点关于未完成的IO大小和IO耗时的映射关系,从而可以根据该映射关系得出IO发往从节点上的预估耗时。
在一种可选实施例中,所述存储节点的类型包括其他节点类型,所述步骤202、根据所述未完成的IO大小和所述IO耗时,拟合各个类型的所述存储节点关于所述未完成的IO大小和所述IO耗时的映射关系,包括:
收集为所述其他节点类型的所述存储节点中未完成的IO大小和对应的IO耗时;
根据所述未完成的IO大小和所述IO耗时,拟合为所述其他节点类型的所述存储节点关于所述未完成的IO大小和所述IO耗时的映射关系。
其中,对于映射关系,其可以表示为关于其他节点的未完成的IO大小和IO耗时的一条直线,并根据该直线拟合出关于该直线的直线方程式,从而可以根据直线方程式得出IO发往主其他点上的预估耗时。
在本发明实施例中,收集为其他节点类型的存储节点中未完成的IO大小和对应的IO耗时,然后根据未完成的IO大小和IO耗时,拟合为其他节点类型的存储节点关于未完成的IO大小和IO耗时的映射关系,其中,可以通过其他节点类型的存储节点关于未完成的IO大小和IO耗时的映射关系,从而可以根据该映射关系得出IO发往其他节点上的预估耗时。
在一种可选实施例中,所述步骤203、当发生新IO时,确认目标存储节点和所述目标存储节点对应的候选路径设备,根据所述目标存储节点和所述候选路径设备对应的所述映射关系,计算所述新IO从所述候选路径设备发往所述目标存储节点的预估耗时,包括:
当发生新IO时,确认主节点和所述主节点对应的候选路径设备;
根据所述主节点和所述候选路径设备对应的所述映射关系,计算所述新IO从所述候选路径设备发往所述主节点的预估耗时。
在具体实现中,当发生新IO时,确认主节点和主节点对应的候选路径设备,根据主节点和候选路径设备对应的映射关系,计算新IO从候选路径设备发往主节点的预估耗时。
在一种可选实施例中,所述步骤203、当发生新IO时,确认目标存储节点和所述目标存储节点对应的候选路径设备,根据所述目标存储节点和所述候选路径设备对应的所述映射关系,计算所述新IO从所述候选路径设备发往所述目标存储节点的预估耗时,包括:
当发生新IO时,确认从节点和所述从节点对应的候选路径设备;
根据所述从节点和所述候选路径设备对应的所述映射关系,计算所述新IO从所述候选路径设备发往所述从节点的预估耗时。
在具体实现中,当发生新IO时,确认从节点和从节点对应的候选路径设备,根据从节点和候选路径设备对应的映射关系,计算新IO从候选路径设备发往从节点的预估耗时。
在一种可选实施例中,所述步骤203、当发生新IO时,确认目标存储节点和所述目标存储节点对应的候选路径设备,根据所述目标存储节点和所述候选路径设备对应的所述映射关系,计算所述新IO从所述候选路径设备发往所述目标存储节点的预估耗时,包括:
当发生新IO时,确认其他节点和所述其他节点对应的候选路径设备;
根据所述其他节点和所述候选路径设备对应的所述映射关系,计算所述新IO从所述候选路径设备发往所述其他节点的预估耗时。
在具体实现中,当发生新IO时,确认其他节点和其他节点对应的候选路径设备,根据其他节点和候选路径设备对应的映射关系,计算新IO从候选路径设备发往其他节点的预估耗时。
在一种可选实施例中,所述步骤104、比较所述预估耗时,选择最短的所述预估耗时所对应的所述候选路径设备作为目标路径设备,包括:
比较所述新IO从所述候选路径设备发往主节点的预估耗时、所述新IO从所述候选路径设备发往从节点的预估耗时和所述新IO从所述候选路径设备发往其他节点的预估耗时,得出最短的所述预估耗时;
选择最短的所述预估耗时所对应的所述候选路径设备作为目标路径设备。
在具体实现中,在计算新IO从候选路径设备发往主节点、从节点和其他节点的预估耗时后,比较新IO从候选路径设备发往主节点的预估耗时、新IO从候选路径设备发往从节点的预估耗时和新IO从候选路径设备发往其他节点的预估耗时,从而可以得出最短的预估耗时,进而选择最短的预估耗时所对应的候选路径设备作为目标路径设备。
需要说明的是,在存储系统的存储内部设置有本地同步机制,具体地,如图9所示,假设存储系统上L1(段)中的IO数据存放在主节点Node1和从节点Node2中,可以理解为上述所述的L1对应的镜像关系为Domain1:(Node1,Node2),当服务器需要读取存储系统上L1所存储的IO数据时,若通过上述方法计算出的预估耗时最短的路径设备所对应的存储接节点为其他节点Node3,则服务器需要将读取的命令发送至其他节点Node3,由于其他节点Node3本身并没有存储L1中的IO数据,因此无法发往其他节点Node3,但在整个过程中,可以通过存储系统的存储内部所设置的本地同步机制将L1中的IO数据从主节点Node1和/或从节点Node2同步到其他节点Node3中,从而服务器可以将读取指令发往预估耗时最短的路径设备所对应的其他节点Node3上,并执行读取IO数据的命令,同理,L2、L3和L4中的存储节点之间的数据同步方法与L1所述的示例相同,本发明在此不作赘述。此外,因存储系统的存储内部所设置的本地同步机制为现有技术手段,本发明在此不作赘述。
在本发明实施例中,根据上述步骤中得到的新IO从候选路径设备发往主节点的预估耗时、新IO从候选路径设备发往从节点的预估耗时和新IO从候选路径设备发往其他节点的预估耗时,比较新IO从候选路径设备发往主节点的预估耗时、新IO从候选路径设备发往从节点的预估耗时和新IO从候选路径设备发往其他节点的预估耗时,得出最短的预估耗时,选择最短的预估耗时所对应的候选路径设备作为目标路径设备,从而通过目标路径设备向目标存储节点下发新IO。通过实时动态地计算IO从候选路径设备发往目标存储节点的预估耗时,有效地节省了选择路径设备的时间,并选择最短的预估耗时所对应的候选路径设备作为目标路径设备,大大地提高了IO效率,降低了IO延时。
为了使本领域技术人员更好地理解本发明实施例的技术方案,下面通过具体示例进行示例性说明。
由于未完成的IO大小包括存储节点中已有的未完成的IO大小和新IO发生时的IO大小,因此假设当前各节点的路径上已有的未完成的IO大小如下表6:
表6
假设发生一个新的IO,新的IO的起始位置为16M,大小为64KB,则新的IO属于段L1,段L1对应镜像关系Domain1,镜像关系Domain1对应的主节点为Node1,Node1对应的路径设备为sdb和sdc,从节点为Node2,Node2对应的路径设备为sdd和sde,其他节点为Node3和Node4,Node3对应的路径设备为sdf和sdg,Node4对应的路径设备为sdh和sdi,根据各个存储节点和候选路径设备对应的映射关系,具体地,根据对应的直线方程式,计算新IO从候选路径设备发往主节点的预估耗时、新IO从候选路径设备发往从节点的预估耗时和新IO从候选路径设备发往其他节点的预估耗时,得出最短的所述预估耗时,计算步骤如下(相关数据均采用上述已出现的图表进行说明):
新IO从候选路径设备发往主节点的预估耗时:
新IO从候选路径设备发往从节点的预估耗时:
新IO从候选路径设备发往其他节点的预估耗时:
可见,若将IO发往路径设备sde,预估耗时最短,因此将路径设备sde作为目标路径设备,并将该IO发往目标路径设备sde,从而通过目标路径设备sde向目标存储节点下发新IO。
综上,完成目标路径设备的实时预测与选择。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图10,示出了本发明实施例中提供的一种路径设备的选择装置的结构框图,具体可以包括如下模块:
数据收集模块1001,用于针对各个所述路径设备,收集所述路径设备对应的各个类型的所述存储节点中未完成的IO大小和对应的IO耗时;
映射关系拟合模块1002,用于根据所述未完成的IO大小和所述IO耗时,拟合各个类型的所述存储节点关于所述未完成的IO大小和所述IO耗时的映射关系;
预估耗时计算模块1003,用于当发生新IO时,确认目标存储节点和所述目标存储节点对应的候选路径设备,根据所述目标存储节点和所述候选路径设备对应的所述映射关系,计算所述新IO从所述候选路径设备发往所述目标存储节点的预估耗时;
目标路径设备选择模块1004,用于比较所述预估耗时,选择最短的所述预估耗时所对应的所述候选路径设备作为目标路径设备。
在一种可选实施例中,所述存储节点的类型包括主节点类型,所述映射关系拟合模块1002具体用于:
收集为所述主节点类型的所述存储节点中未完成的IO大小和对应的IO耗时;
根据所述未完成的IO大小和所述IO耗时,拟合为所述主节点类型的所述存储节点关于所述未完成的IO大小和所述IO耗时的映射关系。
在一种可选实施例中,所述存储节点的类型包括从节点类型,所述映射关系拟合模块1002具体用于:
收集为所述从节点类型的所述存储节点中未完成的IO大小和对应的IO耗时;
根据所述未完成的IO大小和所述IO耗时,拟合为所述从节点类型的所述存储节点关于所述未完成的IO大小和所述IO耗时的映射关系。
在一种可选实施例中,所述存储节点的类型包括其他节点类型,所述映射关系拟合模块1002具体用于:
收集为所述其他节点类型的所述存储节点中未完成的IO大小和对应的IO耗时;
根据所述未完成的IO大小和所述IO耗时,拟合为所述其他节点类型的所述存储节点关于所述未完成的IO大小和所述IO耗时的映射关系。
在一种可选实施例中,所述预估耗时计算模块1003具体用于:
当发生新IO时,确认主节点和所述主节点对应的候选路径设备;
根据所述主节点和所述候选路径设备对应的所述映射关系,计算所述新IO从所述候选路径设备发往所述主节点的预估耗时。
在一种可选实施例中,所述预估耗时计算模块1003具体用于:
当发生新IO时,确认从节点和所述从节点对应的候选路径设备;
根据所述从节点和所述候选路径设备对应的所述映射关系,计算所述新IO从所述候选路径设备发往所述从节点的预估耗时。
在一种可选实施例中,所述预估耗时计算模块1003具体用于:
当发生新IO时,确认其他节点和所述其他节点对应的候选路径设备;
根据所述其他节点和所述候选路径设备对应的所述映射关系,计算所述新IO从所述候选路径设备发往所述其他节点的预估耗时。
在一种可选实施例中,所述目标路径设备选择模块1004具体用于:
比较所述新IO从所述候选路径设备发往主节点的预估耗时、所述新IO从所述候选路径设备发往从节点的预估耗时和所述新IO从所述候选路径设备发往其他节点的预估耗时,得出最短的所述预估耗时;
选择最短的所述预估耗时所对应的所述候选路径设备作为目标路径设备。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
另外,本发明实施例还提供了一种电子设备,包括:处理器,存储器,存储在存储器上并可在处理器上运行的计算机程序,该计算机程序被处理器执行时实现上述路径设备的选择方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
图11为本发明实施例中提供的一种计算机可读存储介质的结构示意图;
本发明实施例还提供了一种计算机可读存储介质1101,计算机可读存储介质1101上存储有计算机程序,计算机程序被处理器执行时实现上述路径设备的选择方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质1101,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(RandomAccess Memory,简称RAM)、磁碟或者光盘等。
图12为实现本发明各个实施例的一种电子设备的硬件结构示意图。
该电子设备1200包括但不限于:射频单元1201、网络模块1202、音频输出单元1203、输入单元1204、传感器1205、显示单元1206、用户输入单元1207、接口单元1208、存储器1209、处理器1210、以及电源1211等部件。本领域技术人员可以理解,图12中示出的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。在本发明实施例中,电子设备包括但不限于手机、平板电脑、笔记本电脑、掌上电脑、车载终端、可穿戴设备、以及计步器等。
应理解的是,本发明实施例中,射频单元1201可用于收发信息或通话过程中,信号的接收和发送,具体的,将来自基站的下行数据接收后,给处理器1210处理;另外,将上行的数据发送给基站。通常,射频单元1201包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等。此外,射频单元1201还可以通过无线通信系统与网络和其他设备通信。
电子设备通过网络模块1202为用户提供了无线的宽带互联网访问,如帮助用户收发电子邮件、浏览网页和访问流式媒体等。
音频输出单元1203可以将射频单元1201或网络模块1202接收的或者在存储器1209中存储的音频数据转换成音频信号并且输出为声音。而且,音频输出单元1203还可以提供与电子设备1200执行的特定功能相关的音频输出(例如,呼叫信号接收声音、消息接收声音等等)。音频输出单元1203包括扬声器、蜂鸣器以及受话器等。
输入单元1204用于接收音频或视频信号。输入单元1204可以包括图形处理器(Graphics Processing Unit,GPU)12041和麦克风12042,图形处理器12041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。处理后的图像帧可以显示在显示单元1206上。经图形处理器12041处理后的图像帧可以存储在存储器1209(或其它存储介质)中或者经由射频单元1201或网络模块1202进行发送。麦克风12042可以接收声音,并且能够将这样的声音处理为音频数据。处理后的音频数据可以在电话通话模式的情况下转换为可经由射频单元1201发送到移动通信基站的格式输出。
电子设备1200还包括至少一种传感器1205,比如光传感器、运动传感器以及其他传感器。具体地,光传感器包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板12061的亮度,接近传感器可在电子设备1200移动到耳边时,关闭显示面板12061和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别电子设备姿态(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;传感器1205还可以包括指纹传感器、压力传感器、虹膜传感器、分子传感器、陀螺仪、气压计、湿度计、温度计、红外线传感器等,在此不再赘述。
显示单元1206用于显示由用户输入的信息或提供给用户的信息。显示单元1206可包括显示面板12061,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode, OLED)等形式来配置显示面板12061。
用户输入单元1207可用于接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。具体地,用户输入单元1207包括触控面板12071以及其他输入设备12072。触控面板12071,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板12071上或在触控面板12071附近的操作)。触控面板12071可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器1210,接收处理器1210发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板12071。除了触控面板12071,用户输入单元1207还可以包括其他输入设备12072。具体地,其他输入设备12072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。
进一步的,触控面板12071可覆盖在显示面板12061上,当触控面板12071检测到在其上或附近的触摸操作后,传送给处理器1210以确定触摸事件的类型,随后处理器1210根据触摸事件的类型在显示面板12061上提供相应的视觉输出。虽然在图12中,触控面板12071与显示面板12061是作为两个独立的部件来实现电子设备的输入和输出功能,但是在某些实施例中,可以将触控面板12071与显示面板12061集成而实现电子设备的输入和输出功能,具体此处不做限定。
接口单元1208为外部装置与电子设备1200连接的接口。例如,外部装置可以包括有线或无线头戴式耳机端口、外部电源(或电池充电器)端口、有线或无线数据端口、存储卡端口、用于连接具有识别模块的装置的端口、音频输入/输出(I/O)端口、视频I/O端口、耳机端口等等。接口单元1208可以用于接收来自外部装置的输入(例如,数据信息、电力等等)并且将接收到的输入传输到电子设备1200内的一个或多个元件或者可以用于在电子设备1200和外部装置之间传输数据。
存储器1209可用于存储软件程序以及各种数据。存储器1209可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器1209可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器1210是电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器1209内的软件程序和/或模块,以及调用存储在存储器1209内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。处理器1210可包括一个或多个处理单元;优选的,处理器1210可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1210中。
电子设备1200还可以包括给各个部件供电的电源1211(比如电池),优选的,电源1211可以通过电源管理系统与处理器1210逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
另外,电子设备1200包括一些未示出的功能模块,在此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。
本领域普通技术人员可以意识到,结合本发明实施例中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (19)
1.一种路径设备的选择方法,其特征在于,涉及存储节点,所述存储节点具有对应的路径设备,所述方法包括:
针对各个所述路径设备,收集所述路径设备对应的各个类型的所述存储节点中未完成的IO大小和对应的IO耗时;
根据所述未完成的IO大小和所述IO耗时,拟合各个类型的所述存储节点关于所述未完成的IO大小和所述IO耗时的映射关系;
当发生新IO时,确认目标存储节点和所述目标存储节点对应的候选路径设备,根据所述目标存储节点和所述候选路径设备对应的所述映射关系,计算所述新IO从所述候选路径设备发往所述目标存储节点的预估耗时;
比较所述预估耗时,选择最短的所述预估耗时所对应的所述候选路径设备作为目标路径设备。
2.根据权利要求1所述的方法,其特征在于,所述存储节点位于存储系统上,在所述针对各个所述路径设备,收集所述路径设备对应的各个类型的所述存储节点中未完成的IO大小和对应的IO耗时之前,还包括:
响应于针对服务器和所述存储节点中的卷的创建指令,将所述卷映射到所述服务器;其中,所述卷为所述存储节点生命周期中的一个临时目录;
响应于所述服务器与所述存储系统的链路创建指令,将所述服务器与所述存储系统通过所述链路进行连接;其中,所述链路为所述服务器通往所述卷对应的所述存储系统的存储节点的路径。
3.根据权利要求2所述的方法,其特征在于,还包括:
当所述卷映射到所述服务器时,将所述存储节点中的卷对应的所述链路映射为路径设备;其中,所述链路的数目与所述存储节点中的卷对应的路径设备的数目相同。
4.根据权利要求2所述的方法,其特征在于,所述存储节点对应有多个路径设备,所述路径设备位于所述服务器上;其中,多个所述路径设备聚合成一个多路径设备。
5.根据权利要求2所述的方法,其特征在于,所述卷在所述存储系统上,所述卷按照预设段粒度划分为多个段。
6.根据权利要求5所述的方法,其特征在于,多个IO构成一个IO组,将所述IO组内的多个存储节点划分多组镜像关系,所述镜像关系的数量和所述IO组内的存储节点的数量以及所述段的数量相同,所述镜像关系对应所述段。
7.根据权利要求5-6任一项所述的方法,其特征在于,所述确认目标存储节点和所述目标存储节点对应的候选路径设备,包括:
根据新IO的起始位置,确定所述新IO对应的段;
根据所述新IO对应的段,确定所述段对应的镜像关系;
通过所述段对应的镜像关系确定目标存储节点,以确定所述目标存储节点对应的候选路径设备。
8.根据权利要求1所述的方法,其特征在于,所述未完成的IO大小包括所述存储节点中已有的未完成的IO大小和所述新IO发生时的IO大小。
9.根据权利要求1所述的方法,其特征在于,所述存储节点的类型包括主节点类型,所述根据所述未完成的IO大小和所述IO耗时,拟合各个类型的所述存储节点关于所述未完成的IO大小和所述IO耗时的映射关系,包括:
收集为所述主节点类型的所述存储节点中未完成的IO大小和对应的IO耗时;
根据所述未完成的IO大小和所述IO耗时,拟合为所述主节点类型的所述存储节点关于所述未完成的IO大小和所述IO耗时的映射关系。
10.根据权利要求1所述的方法,其特征在于,所述存储节点的类型包括从节点类型,所述根据所述未完成的IO大小和所述IO耗时,拟合各个类型的所述存储节点关于所述未完成的IO大小和所述IO耗时的映射关系,包括:
收集为所述从节点类型的所述存储节点中未完成的IO大小和对应的IO耗时;
根据所述未完成的IO大小和所述IO耗时,拟合为所述从节点类型的所述存储节点关于所述未完成的IO大小和所述IO耗时的映射关系。
11.根据权利要求1所述的方法,其特征在于,所述存储节点的类型包括其他节点类型,所述根据所述未完成的IO大小和所述IO耗时,拟合各个类型的所述存储节点关于所述未完成的IO大小和所述IO耗时的映射关系,包括:
收集为所述其他节点类型的所述存储节点中未完成的IO大小和对应的IO耗时;
根据所述未完成的IO大小和所述IO耗时,拟合为所述其他节点类型的所述存储节点关于所述未完成的IO大小和所述IO耗时的映射关系。
12.根据权利要求1所述的方法,其特征在于,所述当发生新IO时,确认目标存储节点和所述目标存储节点对应的候选路径设备,根据所述目标存储节点和所述候选路径设备对应的所述映射关系,计算所述新IO从所述候选路径设备发往所述目标存储节点的预估耗时,包括:
当发生新IO时,确认主节点和所述主节点对应的候选路径设备;
根据所述主节点和所述候选路径设备对应的所述映射关系,计算所述新IO从所述候选路径设备发往所述主节点的预估耗时。
13.根据权利要求1所述的方法,其特征在于,所述当发生新IO时,确认目标存储节点和所述目标存储节点对应的候选路径设备,根据所述目标存储节点和所述候选路径设备对应的所述映射关系,计算所述新IO从所述候选路径设备发往所述目标存储节点的预估耗时,包括:
当发生新IO时,确认从节点和所述从节点对应的候选路径设备;
根据所述从节点和所述候选路径设备对应的所述映射关系,计算所述新IO从所述候选路径设备发往所述从节点的预估耗时。
14.根据权利要求1所述的方法,其特征在于,所述当发生新IO时,确认目标存储节点和所述目标存储节点对应的候选路径设备,根据所述目标存储节点和所述候选路径设备对应的所述映射关系,计算所述新IO从所述候选路径设备发往所述目标存储节点的预估耗时,包括:
当发生新IO时,确认其他节点和所述其他节点对应的候选路径设备;
根据所述其他节点和所述候选路径设备对应的所述映射关系,计算所述新IO从所述候选路径设备发往所述其他节点的预估耗时。
15.根据权利要求12至14任一项所述的方法,其特征在于,所述比较所述预估耗时,选择最短的所述预估耗时所对应的所述候选路径设备作为目标路径设备,包括:
比较所述新IO从所述候选路径设备发往主节点的预估耗时、所述新IO从所述候选路径设备发往从节点的预估耗时和所述新IO从所述候选路径设备发往其他节点的预估耗时,得出最短的所述预估耗时;
选择最短的所述预估耗时所对应的所述候选路径设备作为目标路径设备。
16.根据权利要求1所述的方法,其特征在于,在所述比较所述预估耗时,选择最短的所述预估耗时所对应的所述候选路径设备作为目标路径设备之后,还包括:
通过所述目标路径设备向所述目标存储节点下发所述新IO。
17.一种路径设备的选择装置,其特征在于,涉及存储节点,所述存储节点具有对应的路径设备,所述装置包括:
数据收集模块,用于针对各个所述路径设备,收集所述路径设备对应的各个类型的所述存储节点中未完成的IO大小和对应的IO耗时;
映射关系拟合模块,用于根据所述未完成的IO大小和所述IO耗时,拟合各个类型的所述存储节点关于所述未完成的IO大小和所述IO耗时的映射关系;
预估耗时计算模块,用于当发生新IO时,确认目标存储节点和所述目标存储节点对应的候选路径设备,根据所述目标存储节点和所述候选路径设备对应的所述映射关系,计算所述新IO从所述候选路径设备发往所述目标存储节点的预估耗时;
目标路径设备选择模块,用于比较所述预估耗时,选择最短的所述预估耗时所对应的所述候选路径设备作为目标路径设备。
18.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口以及所述存储器通过所述通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行存储器上所存放的程序时,实现如权利要求1-16任一项所述的方法。
19.一种计算机可读存储介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如权利要求1-16任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211508414.6A CN115617278B (zh) | 2022-11-29 | 2022-11-29 | 路径设备的选择方法、装置、电子设备及可读存储介质 |
PCT/CN2023/104021 WO2024113834A1 (zh) | 2022-11-29 | 2023-06-29 | 路径设备的选择方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211508414.6A CN115617278B (zh) | 2022-11-29 | 2022-11-29 | 路径设备的选择方法、装置、电子设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115617278A CN115617278A (zh) | 2023-01-17 |
CN115617278B true CN115617278B (zh) | 2023-03-21 |
Family
ID=84880046
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211508414.6A Active CN115617278B (zh) | 2022-11-29 | 2022-11-29 | 路径设备的选择方法、装置、电子设备及可读存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115617278B (zh) |
WO (1) | WO2024113834A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115617278B (zh) * | 2022-11-29 | 2023-03-21 | 苏州浪潮智能科技有限公司 | 路径设备的选择方法、装置、电子设备及可读存储介质 |
CN116048413B (zh) * | 2023-02-08 | 2023-06-09 | 苏州浪潮智能科技有限公司 | 多路径存储的io请求处理方法、装置、系统及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111782138A (zh) * | 2020-06-17 | 2020-10-16 | 杭州宏杉科技股份有限公司 | 路径切换方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10936220B2 (en) * | 2019-05-02 | 2021-03-02 | EMC IP Holding Company LLC | Locality aware load balancing of IO paths in multipathing software |
CN115098022B (zh) * | 2022-06-22 | 2024-06-25 | 苏州浪潮智能科技有限公司 | 路径选择方法、装置、设备和存储介质 |
CN115098028B (zh) * | 2022-06-29 | 2024-10-15 | 苏州浪潮智能科技有限公司 | 一种多路径存储的路径设备选择方法、装置、设备及介质 |
CN115373843A (zh) * | 2022-08-19 | 2022-11-22 | 苏州浪潮智能科技有限公司 | 一种动态预判最优路径设备的方法、装置、及介质 |
CN115617278B (zh) * | 2022-11-29 | 2023-03-21 | 苏州浪潮智能科技有限公司 | 路径设备的选择方法、装置、电子设备及可读存储介质 |
-
2022
- 2022-11-29 CN CN202211508414.6A patent/CN115617278B/zh active Active
-
2023
- 2023-06-29 WO PCT/CN2023/104021 patent/WO2024113834A1/zh unknown
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111782138A (zh) * | 2020-06-17 | 2020-10-16 | 杭州宏杉科技股份有限公司 | 路径切换方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2024113834A1 (zh) | 2024-06-06 |
CN115617278A (zh) | 2023-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115617278B (zh) | 路径设备的选择方法、装置、电子设备及可读存储介质 | |
JP7221971B2 (ja) | 伝送方法、移動端末及びネットワーク機器 | |
CN110474841B (zh) | 业务请求的路由处理方法和终端设备 | |
CN111338745B (zh) | 一种虚拟机的部署方法、装置及智能设备 | |
CN111444237A (zh) | 服务器系统、数据传输方法及电子设备 | |
JP7139441B2 (ja) | 測定結果の指示方法、端末及び基地局 | |
CN115801699A (zh) | 一种cdn调度方法、设备及系统 | |
WO2014206331A1 (zh) | 一种资源访问方法和计算机设备 | |
WO2024187898A1 (zh) | Ecmp组失效的恢复方法、装置、电子设备及存储介质 | |
WO2014183439A1 (en) | Method, apparatus and system for switching function mode | |
WO2024130995A1 (zh) | 临时目录的优化管理方法、装置、电子设备及存储介质 | |
CN109745699A (zh) | 一种响应触控操作的方法及终端设备 | |
CN115987890B (zh) | 跨集群访问虚拟ip地址方法、装置、电子设备及存储介质 | |
JP7550790B2 (ja) | ランダムアクセス方法及び端末 | |
CN115801709B (zh) | 路由mac地址的管理方法、装置、电子设备及存储介质 | |
CN116112403B (zh) | 应用服务的云服务管理系统、方法、电子设备及存储介质 | |
CN116610508A (zh) | 一种散热测试方法、装置、电子设备及存储介质 | |
CN110213069B (zh) | 一种数据转发方法、装置、容灾系统及存储介质 | |
CN115695309A (zh) | 访问控制列表规则配置方法、装置、电子设备及存储介质 | |
CN115657943A (zh) | 存储系统精简卷的数据处理方法、装置、设备及存储介质 | |
CN115757056A (zh) | 控制器的切换预警方法、装置、电子设备及可读存储介质 | |
CN115333928A (zh) | 网络预警方法、装置、电子设备及存储介质 | |
CN111132233B (zh) | 一种分离承载的控制方法及相关设备 | |
CN113032361B (zh) | 一种数据库配置的变更方法、装置、电子设备及存储介质 | |
CN112398704B (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 |