CN113407466A - 一种io路径确定方法、装置、设备及可读存储介质 - Google Patents

一种io路径确定方法、装置、设备及可读存储介质 Download PDF

Info

Publication number
CN113407466A
CN113407466A CN202110945840.5A CN202110945840A CN113407466A CN 113407466 A CN113407466 A CN 113407466A CN 202110945840 A CN202110945840 A CN 202110945840A CN 113407466 A CN113407466 A CN 113407466A
Authority
CN
China
Prior art keywords
path
grade
target
controller
request
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
CN202110945840.5A
Other languages
English (en)
Other versions
CN113407466B (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 Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur 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 Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202110945840.5A priority Critical patent/CN113407466B/zh
Publication of CN113407466A publication Critical patent/CN113407466A/zh
Application granted granted Critical
Publication of CN113407466B publication Critical patent/CN113407466B/zh
Priority to PCT/CN2021/142851 priority patent/WO2023019858A1/zh
Priority to US18/276,212 priority patent/US12014051B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • G06F13/126Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine and has means for transferring I/O instructions and statuses between control unit and main processor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • 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
    • G06F3/0611Improving I/O performance in relation to response time
    • 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]
    • 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/0671In-line storage system
    • G06F3/0683Plurality of storage devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请公开了一种IO路径确定方法、装置、设备及可读存储介质,该方法包括:确定IO请求的目标卷,并获取目标卷的路径等级;若路径等级为主机路径级,则向预设优选控制器发送IO请求;若路径等级为后端路径级,则利用哈希一致性算法,从控制器中选出目标控制器,并向目标控制器发送IO请求;若路径等级为故障级,则确定IO路径故障。通过给卷设置不同的路径等级,并结合哈希一致性算法来明确IO路径,可以有效均衡存储系统中各个控制器的负载。

Description

一种IO路径确定方法、装置、设备及可读存储介质
技术领域
本申请涉及存储技术领域,特别是涉及一种IO路径确定方法、装置、设备及可读存储介质。
背景技术
在存储真实的生产环境下,有盘框、后端盘归属的控制器,非后端盘归属的控制器,以及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请求。由于哈希一致性算法能够在Hash输出空间发生变化时,引起最小的变动。如,增加或者移除一台存储设备时,对原有的存储设备和用户之间的映射关系产生的影响最小。且哈希一致性算法能实现随机选择的能力,因此,在选择目标控制器时,能够有效均衡各个控制器的负载。如果该路径等级为故障级,则直接确定IO路径故障。也就是说,通过给卷设置不同的路径等级,并结合哈希一致性算法来明确IO路径,可以有效均衡存储系统中各个控制器的负载。
相应地,本申请实施例还提供了与上述IO路径确定方法相对应的IO路径确定装置、设备和可读存储介质,具有上述技术效果,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例中一种IO路径确定方法的实施流程图;
图2为本申请实施例中一种路径权重等级示意图;
图3为本申请实施例中一种IO路径示意图;
图4为本申请实施例中一种IO路径确定方法中目标控制器选取范围示意图;
图5为本申请实施例中一种IO路径确定装置的结构示意图;
图6为本申请实施例中一种电子设备的结构示意图;
图7为本申请实施例中一种电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参考图1,图1为本申请实施例中一种IO路径确定方法的流程图,该方法可以应用于需要对磁盘进行IO访问的主机(该主机可以具体为物理主机也可以为虚拟主机),该方法包括以下步骤:
S101、确定IO请求的目标卷,并获取目标卷的路径等级。
请参考图2,图2为本申请实施例中一种路径权重等级示意图。在本申请中,可预先为不同的卷设置不同的路径等级,如为不同的卷标记上对应的路径等级标记,或建立路径等级查找表。其中,路径等级可包括主机路径级、后端路径级和故障级。主机路径级可以与一个控制器对应,即主机路径级的卷与一个节点对应;后端路径级可以与一个或多个控制器对应,即后端路径级的卷与一个或多个节点对应;故障级即表明访问路径故障或无法访问的卷。
在主机确定IO请求的目标卷之后,可以先明确该目标卷的路径等级。具体的可以通过路径等级标记或遍历查询路径等级查找表的方式来确定目标卷的路径等级。
优选地,为了便于管理,可以针对不同路径等级设置不同的表,如此,步骤S101获取目标卷的路径等级,可包括:遍历主机路径级表、后端路径级表和故障级表,确定目标卷的路径等级。
进一步地,还可以在控制器离线或上线时,按照控制器的路径级别控制信息,对主机路径级表、后端路径级表或故障级表进行更新。如此,便可避免因控制器离线或上线而选择离线控制器或忽略某个或某些新上线的控制器。
在本实施例中,对于IO请求具体是对磁盘中数据的输入还是输出并不做限定。
S102、若路径等级为主机路径级,则向预设优选控制器发送IO请求。
在确定目标卷的路径等级为主机路径级,则可直接向预设优选控制器发送该IO请求。其中,优选控制器是各个主机设置的。例如,对于一个存储系统而言,控制器分布于ABC三个地域,对于属于A地域的主机,便可以将属于A地域的控制器设置为优选控制器,以便缩短网络访问距离。而不同的主机可以对应设置不同的优选控制器。
将IO请求发送给优选控制器,则本次的IO路径即:主机—优选控制器—目标卷。即本次IO即在该路径上进行。
S103、若路径等级为后端路径级,则利用哈希一致性算法,从控制器中选出目标控制器,并向目标控制器发送IO请求。
倘若目标卷的路径等级为后端路径级,而一般地的一个卷的后端路径往往对应若干个控制器,为了实现控制器的负载均衡,在从这若干个控制器中选出目标控制器时,可以利用哈希一致性算法,来从控制器中选出目标控制器。具体的,对于如何利用哈希一致性算法来选取出目标控制器,可以具体参照哈希一致性算法来随机选择对象的具体实现过程,在此不再一一赘述。
选出目标控制器后,将IO请求发送给目标控制器。即,本次IO的访问路径:主机—目标控制器—目标卷。即本次IO即在该路径上进行。
S104、若路径等级为故障级,则确定IO路径故障。
若确定路径等级为故障级,则可确定目标卷没有对应的访问路径,或者无法访问到该目标卷(如目标卷本身存在故障,或者目标卷所属的所有可落盘的控制器都存在离线情况等)。
在确定路径等级为故障级,此时无需再下发IO请求,而是直接明确IO路径故障,确定IO错误。
应用本申请实施例所提供的方法,确定IO请求的目标卷,并获取目标卷的路径等级;若路径等级为主机路径级,则向预设优选控制器发送IO请求;若路径等级为后端路径级,则利用哈希一致性算法,从控制器中选出目标控制器,并向目标控制器发送IO请求;若路径等级为故障级,则确定IO路径故障。
在需要发起IO请求时,首先确定IO请求的目标卷,并获取该目标卷的路径等级。如果该路径等级为主机路径级,则直接向预设的优选控制器发送IO请求即可。如果该路径等级为后端路径级,则可以利用哈希一致性算法,从控制器中选出目标控制器,然后再向目标控制器发送IO请求。由于哈希一致性算法能够在Hash输出空间发生变化时,引起最小的变动。如,增加或者移除一台存储设备时,对原有的存储设备和用户之间的映射关系产生的影响最小。且哈希一致性算法能实现随机选择的能力,因此,在选择目标控制器时,能够有效均衡各个控制器的负载。如果该路径等级为故障级,则直接确定IO路径故障。也就是说,通过给卷设置不同的路径等级,并结合哈希一致性算法来明确IO路径,可以有效均衡存储系统中各个控制器的负载。
需要说明的是,基于上述实施例,本申请实施例还提供了相应的改进方案。在优选/改进实施例中涉及与上述实施例中相同步骤或相应步骤之间可相互参考,相应的有益效果也可相互参照,在本文的优选/改进实施例中不再一一赘述。
优选地,考虑到在实际应用中,后端的磁盘有控制器归属,因而只能从部分控制器落盘。如图3所示,图3为本申请实施例中一种IO路径示意图。其中,A路径即对应主机—优选控制器—目标卷;B路径中,由于节点4不属于后端盘归属的控制器,因而即便IO请求发送到了节点4,该节点4还需将IO请求转发到节点2或节点3,再由节点2或节点3落入所属盘,即B路径可具体为:主机—节点4—节点2—目标卷。需要注意的是,在本申请中节点与控制器等同。
为了避免出现控制器转发这种情况,在本实施例中,可以在选择目标控制器中,仅从后端盘所属控制器中进行选择。具体的,请参考图4,图4为本申请实施例中一种IO路径确定方法中目标控制器选取范围示意图,上述步骤S103利用哈希一致性算法,从控制器中选出目标控制器,可具体包括:利用哈希一致性算法,从后端所属控制器中选出目标控制器。其中,图4所示的1至N控制器即为后端所属控制器。即对应确定出的IO路径即为:主机—目标控制器—目标卷。即无控制器转发至另一控制器的过程。如此,便可解决后端盘不完全共享的实际问题,省去控制器的转发操作,又有效发挥了哈希一致性算法负载均衡的能力。
优选地,考虑到在实际应用中,在一个控制器中可以设置若干个线程来处理相应的IO请求,为了实现有效的负载均衡,在步骤S103中向目标控制器发送IO请求,具体包括:
步骤一、若目标控制器包括若干个线程,则利用哈希一致性算法从若干个线程中选出目标线程;
步骤二、向目标线程发送IO请求。
也就是说,若目标控制器中有若干个线程,可以利用哈希一致性算法从这若干个线程中选出一个目标线程,并向该目标线程发送该IO请求。从而在目标控制器中,实现以线程为粒度的负载均衡,从而保障目标控制器的性能最大化。
优选地,考虑到可能会出现一些IO请求对应的数据量比较大,为了加快这类IO请求的处理效率,减少长时间占用某个控制器的性能,还可以对IO请求进行分割,从而实现并行处理若干个IO子请求,达到加速处理目的。具体的,上述步骤S103若路径等级为后端路径级,则利用哈希一致性算法,从控制器中选出目标控制器,并向目标控制器发送IO请求,包括:
步骤一、若路径等级为后端路径级且IO请求对应的数据量大于阈值,则将IO请求划分为若干IO子请求;
步骤二、利用哈希一致性算法,从各个控制器对应的若干线程中选出与IO子请求数量匹配的目标线程,并分别向各个目标线程发送对应分配的IO子请求。
为便于描述,下面将上述两个步骤结合起来进行说明。
当确定路径等级为后端路径级,并且发现IO请求对应的数据量大于阈值,则可将该IO请求划分为若干个IO子请求。其中,阈值的大小可以根据实际需求进行设置和调整,在此不再一一列举。在划分IO请求时,可以基于IO请求的数据进行分割,从而划分出若干个IO子请求。具体的,可以按照某个数据量大小,对IO请求进行均匀分割。
分割出IO请求之后,便可以利用哈希一致性算法,从各个控制器对应的若干线程中选出与IO子请求数量匹配的目标线程,然后再将这些IO子请求分配给这些目标线程,即向这些目标线程发送IO子请求。
例如,当划分出的IO子请求为5个,可选用的控制器有3个,且每一个控制器有6个线程,则利用哈希一致性算法从这18个线程中选出5个目标线程,然后将这5个IO子请求分别发送给这5个目标线程。需要注意的是,这5个目标线程可以对应属于两个控制器也可以对应属于三个控制器。
当然,对于目标卷为主机路径级时,也可以对IO请求进行划分,进而将划分的IO子请求分配给优选控制器中的若干线程进行处理。也可以采用哈希一致性算法从若干线程中选择出目标线程,继而将IO子请求分配给目标线程进行处理,以加快IO请求的处理效率。
优选地,考虑到在实际应用中,由于新增控制器、已有控制器故障离线等原因会导致控制器的数量发生变化,为了均衡数量变化后的控制器间的负载,在执行步骤S103若路径等级为后端路径级,则利用哈希一致性算法,从控制器中选出目标控制器,可以具体包括:若路径等级为后端路径级且控制器的数量变化的情况下,则利用参数调整后的哈希一致性算法,从数量变化后的控制器中选出目标控制器。具体的,可以通过调整哈希一致性算法的输出空间大小,即可实现数量变化后的控制器相互间的负载均衡。
相应于上面的方法实施例,本申请实施例还提供了一种IO路径确定装置,下文描述的IO路径确定装置与上文描述的IO路径确定方法可相互对应参照。
参见图5所示,该装置包括以下模块:
路径等级确定模块101,用于确定IO请求的目标卷,并获取目标卷的路径等级;
主机路径确定模块102,用于若路径等级为主机路径级,则向预设优选控制器发送IO请求;
后端路径确定模块103,用于若路径等级为后端路径级,则利用哈希一致性算法,从控制器中选出目标控制器,并向目标控制器发送IO请求;
故障路径确定模块104,用于若路径等级为故障级,则确定IO路径故障。
应用本申请实施例所提供的装置,确定IO请求的目标卷,并获取目标卷的路径等级;若路径等级为主机路径级,则向预设优选控制器发送IO请求;若路径等级为后端路径级,则利用哈希一致性算法,从控制器中选出目标控制器,并向目标控制器发送IO请求;若路径等级为故障级,则确定IO路径故障。
在需要发起IO请求时,首先确定IO请求的目标卷,并获取该目标卷的路径等级。如果该路径等级为主机路径级,则直接向预设的优选控制器发送IO请求即可。如果该路径等级为后端路径级,则可以利用哈希一致性算法,从控制器中选出目标控制器,然后再向目标控制器发送IO请求。由于哈希一致性算法能够在Hash输出空间发生变化时,引起最小的变动。如,增加或者移除一台存储设备时,对原有的存储设备和用户之间的映射关系产生的影响最小。且哈希一致性算法能实现随机选择的能力,因此,在选择目标控制器时,能够有效均衡各个控制器的负载。如果该路径等级为故障级,则直接确定IO路径故障。也就是说,通过给卷设置不同的路径等级,并结合哈希一致性算法来明确IO路径,可以有效均衡存储系统中各个控制器的负载。
在本申请的一种具体实施方式中,后端路径确定模块103,具体用于利用哈希一致性算法,从后端所属控制器中选出目标控制器。
在本申请的一种具体实施方式中,后端路径确定模块103,具体用于若目标控制器包括若干个线程,则利用哈希一致性算法从若干个线程中选出目标线程;向目标线程发送IO请求。
在本申请的一种具体实施方式中,后端路径确定模块103,具体用于若路径等级为后端路径级且IO请求对应的数据量大于阈值,则将IO请求划分为若干IO子请求;利用哈希一致性算法,从各个控制器对应的若干线程中选出与IO子请求数量匹配的目标线程,并分别向各个目标线程发送对应分配的IO子请求。
在本申请的一种具体实施方式中,路径等级确定模块101,具体用于遍历主机路径级表、后端路径级表和故障级表,确定目标卷的路径等级。
在本申请的一种具体实施方式中,还包括:
路径等级表更新模块,用于在控制器离线或上线时,按照控制器的路径级别控制信息,对主机路径级表、后端路径级表或故障级表进行更新。
在本申请的一种具体实施方式中,后端路径确定模块103,具体用于若路径等级为后端路径级且控制器的数量变化的情况下,则利用参数调整后的哈希一致性算法,从数量变化后的控制器中选出目标控制器。
相应于上面的方法实施例,本申请实施例还提供了一种电子设备,下文描述的一种电子设备与上文描述的一种IO路径确定方法可相互对应参照。
参见图6所示,该电子设备包括:
存储器332,用于存储计算机程序;
处理器322,用于执行计算机程序时实现上述方法实施例的IO路径确定方法的步骤。
具体的,请参考图7,图7为本实施例提供的一种电子设备的具体结构示意图,该电子设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)322(例如,一个或一个以上处理器)和存储器332,存储器332存储有一个或一个以上的计算机应用程序342或数据344。其中,存储器332可以是短暂存储或持久存储。存储在存储器332的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数据处理设备中的一系列指令操作。更进一步地,中央处理器322可以设置为与存储器332通信,在电子设备301上执行存储器332中的一系列指令操作。
电子设备301还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作系统341。
上文所描述的IO路径确定方法中的步骤可以由电子设备的结构实现。
相应于上面的方法实施例,本申请实施例还提供了一种可读存储介质,下文描述的一种可读存储介质与上文描述的一种IO路径确定方法可相互对应参照。
一种可读存储介质,可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例的IO路径确定方法的步骤。
该可读存储介质具体可以为U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可存储程序代码的可读存储介质。
本领域技术人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

Claims (10)

1.一种IO路径确定方法,其特征在于,包括:
确定IO请求的目标卷,并获取所述目标卷的路径等级;
若所述路径等级为主机路径级,则向预设优选控制器发送所述IO请求;
若所述路径等级为后端路径级,则利用哈希一致性算法,从控制器中选出目标控制器,并向所述目标控制器发送所述IO请求;
若所述路径等级为故障级,则确定IO路径故障。
2.根据权利要求1所述的IO路径确定方法,其特征在于,所述利用哈希一致性算法,从控制器中选出目标控制器,包括:
利用所述哈希一致性算法,从后端所属控制器中选出所述目标控制器。
3.根据权利要求1所述的IO路径确定方法,其特征在于,向所述目标控制器发送所述IO请求,包括:
若所述目标控制器包括若干个线程,则利用所述哈希一致性算法从所述若干个线程中选出目标线程;
向所述目标线程发送所述IO请求。
4.根据权利要求1所述的IO路径确定方法,其特征在于,若所述路径等级为后端路径级,则利用哈希一致性算法,从控制器中选出目标控制器,并向所述目标控制器发送所述IO请求,包括:
若所述路径等级为所述后端路径级且所述IO请求对应的数据量大于阈值,则将所述IO请求划分为若干IO子请求;
利用所述哈希一致性算法,从各个所述控制器对应的若干线程中选出与所述IO子请求数量匹配的目标线程,并分别向各个所述目标线程发送对应分配的所述IO子请求。
5.根据权利要求1所述的IO路径确定方法,其特征在于,获取所述目标卷的路径等级,包括:
遍历主机路径级表、后端路径级表和故障级表,确定所述目标卷的所述路径等级。
6.根据权利要求5所述的IO路径确定方法,其特征在于,还包括:
在控制器离线或上线时,按照所述控制器的路径级别控制信息,对所述主机路径级表、所述后端路径级表或所述故障级表进行更新。
7.根据权利要求1至6任一项所述的IO路径确定方法,其特征在于,若所述路径等级为后端路径级,则利用哈希一致性算法,从控制器中选出目标控制器,包括:
若所述路径等级为所述后端路径级且所述控制器的数量变化的情况下,则利用参数调整后的哈希一致性算法,从数量变化后的控制器中选出所述目标控制器。
8.一种IO路径确定装置,其特征在于,包括:
路径等级确定模块,用于确定IO请求的目标卷,并获取所述目标卷的路径等级;
主机路径确定模块,用于若所述路径等级为主机路径级,则向预设优选控制器发送所述IO请求;
后端路径确定模块,用于若所述路径等级为后端路径级,则利用哈希一致性算法,从控制器中选出目标控制器,并向所述目标控制器发送所述IO请求;
故障路径确定模块,用于若所述路径等级为故障级,则确定IO路径故障。
9.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述IO路径确定方法的步骤。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述IO路径确定方法的步骤。
CN202110945840.5A 2021-08-18 2021-08-18 一种io路径确定方法、装置、设备及可读存储介质 Active CN113407466B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202110945840.5A CN113407466B (zh) 2021-08-18 2021-08-18 一种io路径确定方法、装置、设备及可读存储介质
PCT/CN2021/142851 WO2023019858A1 (zh) 2021-08-18 2021-12-30 一种io路径确定方法、装置、设备及可读存储介质
US18/276,212 US12014051B2 (en) 2021-08-18 2021-12-30 IO path determination method and apparatus, device and readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110945840.5A CN113407466B (zh) 2021-08-18 2021-08-18 一种io路径确定方法、装置、设备及可读存储介质

Publications (2)

Publication Number Publication Date
CN113407466A true CN113407466A (zh) 2021-09-17
CN113407466B CN113407466B (zh) 2021-11-09

Family

ID=77688812

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110945840.5A Active CN113407466B (zh) 2021-08-18 2021-08-18 一种io路径确定方法、装置、设备及可读存储介质

Country Status (3)

Country Link
US (1) US12014051B2 (zh)
CN (1) CN113407466B (zh)
WO (1) WO2023019858A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115495288A (zh) * 2022-11-17 2022-12-20 苏州浪潮智能科技有限公司 一种数据备份方法、装置、设备及计算机可读存储介质
WO2023019858A1 (zh) * 2021-08-18 2023-02-23 苏州浪潮智能科技有限公司 一种io路径确定方法、装置、设备及可读存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020040411A1 (en) * 1999-06-24 2002-04-04 Fujitsu Limited Of Kawasaki, Japan Device controller and input/output system
US6601128B1 (en) * 2000-05-02 2003-07-29 International Business Machines Corporation Method, system, program, and data structure for selecting a preferred path to a storage device
JP2012190151A (ja) * 2011-03-09 2012-10-04 Nec Corp ディスクアレイコントローラ、ディスクアレイ装置および故障特定方法
US20130067125A1 (en) * 2011-09-09 2013-03-14 Lsi Corporation Methods and structure for improved processing of i/o requests in fast path circuits of a storage controller in a clustered storage system
CN107317765A (zh) * 2016-04-26 2017-11-03 华为技术有限公司 管理路径信息的方法和装置
CN108459977A (zh) * 2017-02-20 2018-08-28 中兴通讯股份有限公司 一种存储系统中多控制器之间的io转发方法及装置
US10089885B1 (en) * 2016-09-27 2018-10-02 Amazon Technologies, Inc. Aerial vehicle path management using hash functions
CN112153129A (zh) * 2020-09-11 2020-12-29 苏州浪潮智能科技有限公司 一种改进的双协议路径方法及装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006072717A (ja) * 2004-09-02 2006-03-16 Hitachi Ltd ディスクサブシステム
US9460302B2 (en) * 2014-01-21 2016-10-04 Cofactor Computing Llc Method and system for shielding data in transit and data in memory
CN107465767B (zh) * 2017-09-29 2020-06-23 网宿科技股份有限公司 一种数据同步的方法和系统
US10999207B2 (en) * 2019-05-15 2021-05-04 Rad Data Communications Ltd. Packet loss reduction using auxiliary path
CN113407466B (zh) * 2021-08-18 2021-11-09 苏州浪潮智能科技有限公司 一种io路径确定方法、装置、设备及可读存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020040411A1 (en) * 1999-06-24 2002-04-04 Fujitsu Limited Of Kawasaki, Japan Device controller and input/output system
US6601128B1 (en) * 2000-05-02 2003-07-29 International Business Machines Corporation Method, system, program, and data structure for selecting a preferred path to a storage device
JP2012190151A (ja) * 2011-03-09 2012-10-04 Nec Corp ディスクアレイコントローラ、ディスクアレイ装置および故障特定方法
US20130067125A1 (en) * 2011-09-09 2013-03-14 Lsi Corporation Methods and structure for improved processing of i/o requests in fast path circuits of a storage controller in a clustered storage system
CN107317765A (zh) * 2016-04-26 2017-11-03 华为技术有限公司 管理路径信息的方法和装置
US10089885B1 (en) * 2016-09-27 2018-10-02 Amazon Technologies, Inc. Aerial vehicle path management using hash functions
CN108459977A (zh) * 2017-02-20 2018-08-28 中兴通讯股份有限公司 一种存储系统中多控制器之间的io转发方法及装置
CN112153129A (zh) * 2020-09-11 2020-12-29 苏州浪潮智能科技有限公司 一种改进的双协议路径方法及装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023019858A1 (zh) * 2021-08-18 2023-02-23 苏州浪潮智能科技有限公司 一种io路径确定方法、装置、设备及可读存储介质
US12014051B2 (en) 2021-08-18 2024-06-18 Inspur Suzhou Intelligent Technology Co., Ltd. IO path determination method and apparatus, device and readable storage medium
CN115495288A (zh) * 2022-11-17 2022-12-20 苏州浪潮智能科技有限公司 一种数据备份方法、装置、设备及计算机可读存储介质
CN115495288B (zh) * 2022-11-17 2023-03-10 苏州浪潮智能科技有限公司 一种数据备份方法、装置、设备及计算机可读存储介质

Also Published As

Publication number Publication date
WO2023019858A1 (zh) 2023-02-23
US20240036734A1 (en) 2024-02-01
US12014051B2 (en) 2024-06-18
CN113407466B (zh) 2021-11-09

Similar Documents

Publication Publication Date Title
US11487618B2 (en) Data storage method, apparatus, and system
CN113407466B (zh) 一种io路径确定方法、装置、设备及可读存储介质
US20220272242A1 (en) Cluster resource management in distributed computing systems
KR102281739B1 (ko) 리소스 스케줄링 방법, 스케줄링 서버, 클라우드 컴퓨팅 시스템, 및 저장 매체
US11544226B2 (en) Metadata control in a load-balanced distributed storage system
CA2964461A1 (en) Composite partition functions
US20160259812A1 (en) Method and system for accessing a distributed file system
US10761869B2 (en) Cloud platform construction method and cloud platform storing image files in storage backend cluster according to image file type
CN115396377B (zh) 对象存储的服务质量优化方法、装置、设备及存储介质
CN112711479A (zh) 服务器集群的负载均衡系统、方法、装置和存储介质
CN111245924A (zh) 负载均衡方法及装置、计算机存储介质
US20240205292A1 (en) Data processing method and apparatus, computer device, and computer-readable storage medium
JP6233403B2 (ja) ストレージシステム、ストレージ装置、ストレージ装置の制御方法及び制御プログラム、管理装置、管理装置の制御方法及び制御プログラム
CN110765092A (zh) 分布式搜索系统、索引分发方法及存储介质
CN113268329A (zh) 一种请求调度方法、装置及存储介质
US11301436B2 (en) File storage method and storage apparatus
CN115495288B (zh) 一种数据备份方法、装置、设备及计算机可读存储介质
US11907591B1 (en) Method and system for storage management, storage medium and device
CN107491270B (zh) 一种多控存储系统的资源访问方法及装置
CN115390762A (zh) 一种存储资源访问方法、装置、设备及可读存储介质
CN106484310B (zh) 一种存储阵列操作方法和装置
CN108718285B (zh) 云计算集群的流量控制方法、装置及服务器
JP4595892B2 (ja) データベース管理システム構築方法、装置、プログラム及び記録媒体
JP2018147257A (ja) 仮想基盤にもとづくシステムにおけるリソース割当方法、接続管理サーバおよび接続管理プログラム
KR20150093979A (ko) 가상화 클러스터 환경에서 네임 노드를 할당하는 방법 및 장치

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