CN111651123A - 一种并发io请求的处理方法、装置、设备 - Google Patents

一种并发io请求的处理方法、装置、设备 Download PDF

Info

Publication number
CN111651123A
CN111651123A CN202010490469.3A CN202010490469A CN111651123A CN 111651123 A CN111651123 A CN 111651123A CN 202010490469 A CN202010490469 A CN 202010490469A CN 111651123 A CN111651123 A CN 111651123A
Authority
CN
China
Prior art keywords
virtual
path
paths
request
physical
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
CN202010490469.3A
Other languages
English (en)
Other versions
CN111651123B (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.)
Suning Cloud Computing Co Ltd
Original Assignee
Suning Cloud Computing 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 Suning Cloud Computing Co Ltd filed Critical Suning Cloud Computing Co Ltd
Priority to CN202010490469.3A priority Critical patent/CN111651123B/zh
Publication of CN111651123A publication Critical patent/CN111651123A/zh
Application granted granted Critical
Publication of CN111651123B publication Critical patent/CN111651123B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/0604Improving or facilitating administration, e.g. storage management
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • 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/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请实施例公开一种并发IO请求的处理方法、装置、设备,方法包括:接收并发的IO请求;获取预设的虚拟路径,建立并发的IO请求与虚拟路径之间的映射关系,其中,每条虚拟路径中包括至少两条物理路径;在虚拟路径中选择一条物理路径并判断物理路径的状态,若物理路径有效,则根据物理路径将对应的IO请求进行下发。本申请可以使得IO请求在多条物理路径上实现均衡,当一条物理路径故障时,只影响与其相关的IO请求,而不会对其他的IO请求造成任何影响,提高了读写效率。

Description

一种并发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、本申请通过构建虚拟路径,在每条虚拟路径中加入至少两条物理路径,并建立不同的IO请求与虚拟路径之间的映射关系,使得当某一物理路径故障时,只影响相关的IO请求,而不会对设备上的所有IO请求都造成影响;
2、本申请中,所有虚拟路径中的物理路径互不相同,因此,可以完全避免因某条物理路径异常影响其他IO请求的情况的发生;
3、本申请中当虚拟路径中的物理路径不可用时可以实现物理路径的平滑切换,不需要等待所有IO请求都下发结束才进行切换,因此可以避免因网络延迟等情况带来的IO请求超时的情况发生,提高了读写效率;
4、本申请中,在确定物理路径前获取每一条可用物理路径的利用率,因而可以实现流量均衡,不会产生某条物理路径繁忙、其余物理路径空闲的情况。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例1提供的一种并发IO请求的处理方法的流程图;
图2是本申请实施例1提供的块上的IO请求与物理路径的映射关系;
图3时本申请实施例1提供的路径切换后的IO请求与物理路径的映射关系;
图4是本申请实施例2提供的一种并发IO请求的处理装置的结构示意图;
图5是本申请实施例3提供的一种计算机设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如背景技术所述,现有技术中,当卷设备上有多个IO请求时,IO请求通常只通过一条物理路径进行下发,因此,若当前物理路径出现异常时,会影响整个卷设备的IO请求,从而降低了读写效率。基于此,本申请提出一种并发IO请求的处理方法,本申请可以使得IO请求在多条物理路径上实现均衡,当一条物理路径故障时,只影响与其相关的IO请求,而不会对其他的IO请求造成任何影响,提高了读写效率。
实施例1
如图1所示,一种并发IO请求的处理方法包括如下步骤:
S11、接收并发的IO请求;
S12、获取预设的虚拟路径,建立并发的IO请求与虚拟路径之间的映射关系,其中,每条虚拟路径中包括至少两条物理路径;
具体的,由于IO请求的数量与预设的虚拟路径数量可能存在不同,因此可能造成分配虚拟路径时存在差异,上述步骤S12具体包括如下步骤:
S121、获取IO请求的数量和虚拟路径的数量;
S122、将IO请求的数量和虚拟路径的数量进行比较,根据比较结果获取对应的处理规则,根据处理规则为每个IO请求分配一虚拟路径以建立每个IO请求与分配的虚拟路径之间的映射关系。
本申请考虑到IO请求的数量与虚拟路径的数量存在差异情况,因此设计了不同的处理规则,保证每个IO请求分配一条虚拟路径。上述步骤S122具体可以包括如下步骤:
1、对虚拟路径进行编号,每条虚拟路径对应的编号不同;
2、当IO请求的数量与虚拟路径的数量相等时,获取所有虚拟路径对应的编号,为每个IO请求分配一不同的编号所对应的虚拟路径以建立每个IO请求与分配的虚拟路径之间的映射关系;
3、当IO请求的数量小于虚拟路径的数量时,则在所有虚拟路径中随机选择与IO请求的数量相等数量的虚拟路径,根据随机选择后的虚拟路径对应的编号,为每个IO请求分配一不同的编号所对应的虚拟路径以建立每个IO请求与分配的虚拟路径之间的映射关系;
当IO请求的数量与虚拟路径的数量相等或者IO请求的数量小于虚拟路径的数量时,可以实现为每个IO请求不重复分配一虚拟路径,并且,由于每条虚拟路径中包括至少两条物理路径,因此还实现了物理路径的备份,为物理路径异常时进行平滑切换提供了保证。
4、当IO请求的数量大于虚拟路径的数量时,根据预设的计算规则得到与每个IO请求对应的待分配的虚拟路径的编号,并将编号对应的虚拟路径分配至对应的IO请求以建立每个IO请求与分配的虚拟路径之间的映射关系。
当IO请求的数量大于虚拟路径的数量时,可能会出现多个IO请求共用一虚拟路径的情况的发生,但是,由于每条虚拟路径中包括至少两条物理路径,因此即使不同的IO请求对应了同一条虚拟路径,也有分配不同的物理路径的概率存在。
上述根据预设的计算规则得到与每个IO请求对应的待分配的虚拟路径的编号具体包括:
a:获取每个IO请求中携带的待处理块的地址,利用每个IO请求携带的待处理块的地址对预设的待处理块的大小进行取整计算,得到每个IO请求所对应的待处理块的块号;
b:利用块号对预设的虚拟路径的数量进行取余计算,得到每个IO请求所对应的待分配的虚拟路径的编号。
示例性的:
若当前存在4条物理路径,分别为p0,p1,p2,p3,预设的虚拟路径有两条,编号分别为0、1。其中,0号虚拟路径中包括p0,p1两条物理路径,1号虚拟路径中包括p2,p3两条物理路径。
若当前存在三个IO请求,第一IO请求为:从块设备的A1字节位置读4k数据,第二IO请求为:从块设备的A2字节位置读4k数据,第三IO请求为:从块设备的A3字节位置读4k数据,块大小为1GB。
当IO请求的数量大于虚拟路径的数量时,采用上述计算规则来计算每个IO请求对应的虚拟路径的编号。
若计算得到的第一IO请求所对应的块的块号为0,第二IO请求所对应的块的块号为2,第三IO请求所对应的块的块号为3,那么,第一IO请求所对应的虚拟路径的编号为0,第二IO请求所对应的虚拟路径的编号也为0,第三IO请求所对应的虚拟路径的编号为1,则第一IO请求和第二IO请求对应了同一条虚拟路径0。
根据上述步骤,便能实现IO请求与虚拟路径之间的映射。
S13、在虚拟路径中选择一条物理路径,判断物理路径的状态,若物理路径有效,则根据物理路径将对应的IO请求进行下发。
具体的,在此步骤之前,需要先建立虚拟路径与物理路径之间的对应关系,本方案中,物理路径为一IP地址,虚拟路径相当于一文件夹,相同的物理路径可加入至不同的虚拟路径中。因此通过IP地址可将IO请求下发至服务器、或者其他接收设备。
此外,在虚拟路径中选择一条物理路径具体可以包括如下步骤:
1、获取虚拟路径中所有物理路径的利用率;
2、在虚拟路径中选择利用率最低时对应的物理路径。
如此,便能实现流量均衡,不会产生某条物理路径繁忙、其余物理路径空闲的情况。
本方案通过建立不同的IO请求与虚拟路径之间的映射关系,使得当某一物理路径故障时,只影响相关的IO请求,而不会对设备上的所有IO请求都造成影响。
此外,若任一IO请求对应的虚拟路径中被选择的物理路径无效,则本方案还包括:
1、在IO请求对应的虚拟路径中获取与被选择的物理路径相不同的其他物理路径,从其他物理路径中选择一条物理路径作为新的物理路径;
2、判断新的物理路径的状态,若新的物理路径有效,则根据新的物理路径将IO请求进行下发;
3、若IO请求对应的虚拟路径中的所有物理路径都无效,则对虚拟路径进行标注,在与IO请求对应的虚拟路径相不同的其他未标注的虚拟路径中随机选择一条虚拟路径作为新的虚拟路径;
4、在新的虚拟路径中选择一条物理路径,判断新的虚拟路径中物理路径的状态,若新的虚拟路径中物理路径有效,则根据新的虚拟路径中物理路径将IO请求进行下发。
在选择新的物理路径/在新的虚拟路径中选择物理路径时,同样可以获取所有物理路径的利用率,并选择利用率最低时对应的物理路径以实现流量均衡。
此外,本方案还包括:
1、判断当前并发的IO请求是否下发完成,若是,则删除已标注的虚拟路径;
2、获取未标注的虚拟路径,当接收到新的并发的IO请求时,建立新的并发的IO请求与未标注的虚拟路径之间的映射关系。
本方案中当虚拟路径中的物理路径不可用时可以实现物理路径的平滑切换,不需要等待所有IO请求都下发结束才进行切换,因此可以避免因网络延迟等情况带来的IO请求超时的情况发生,提高了读写效率。
图2为根据本方案建立的并发的IO请求与物理路径之间的映射关系图,图3为物理路径无效时的进行路径切换后的映射关系图;参考图2,块1上的IO请求对应了虚拟路径1、虚拟路径1中包含两条物理路径(1、2),块1上的IO请求对应了虚拟路径2,虚拟路径2中包含了三条物理路径(2、3、4),当虚拟路径1中所有的物理路径(1、2)都无效时,参考图3,块1上的IO请求切换到块2,而块2中仍有两条物理路径(3、4)有效,因此,块1和块2上的IO请求都能正常下发。
此外,作为一种较优的实施方式,上述所有虚拟路径中的物理路径不同。如此,就不会出现两个或者两个以上的IO请求共用一条虚拟路径的情况的发生,从而可以完全避免一条物理路径故障影响整个卷的IO请求的情况的发生。
实施例2
基于上述实施例1,本发明实施例还提供一种并发IO请求的处理装置,如图4所示,装置包括:
接收模块41,用于接收并发的IO请求;
映射模块42,用于获取预设的虚拟路径,建立并发的IO请求与虚拟路径之间的映射关系,其中,每条虚拟路径中包括至少两条物理路径;
处理模块43,用于在虚拟路径中选择一条物理路径并判断物理路径的状态,若物理路径有效,则根据物理路径将对应的IO请求进行下发。
优选的,所有虚拟路径中的物理路径互不相同。
优选的,映射模块42具体用于:
获取IO请求的数量和虚拟路径的数量;
将IO请求的数量和虚拟路径的数量进行比较,根据比较结果获取对应的处理规则,根据处理规则为每个IO请求分配一虚拟路径以建立每个IO请求与分配的虚拟路径之间的映射关系。
优选的,映射模块42具体还用于:
当IO请求的数量与虚拟路径的数量相等时,获取所有虚拟路径对应的编号,为每个IO请求分配一不同的编号所对应的虚拟路径以建立每个IO请求与分配的虚拟路径之间的映射关系;
当IO请求的数量小于虚拟路径的数量时,则在所有虚拟路径中随机选择与IO请求的数量相等数量的虚拟路径,根据随机选择后的虚拟路径对应的编号,为每个IO请求分配一不同的编号所对应的虚拟路径以建立每个IO请求与分配的虚拟路径之间的映射关系;
当IO请求的数量大于虚拟路径的数量时,根据预设的计算规则得到与每个IO请求对应的待分配的虚拟路径的编号,并将编号所对应的虚拟路径分配至对应的IO请求以建立每个IO请求与分配的虚拟路径之间的映射关系;
其中,每条虚拟路径对应的编号不同。
优选的,映射模块42具体还用于:
获取每个IO请求中携带的待处理块的地址,利用每个IO请求中携带的待处理块的地址对预设的待处理块的大小进行取整计算,得到每个IO请求所对应的待处理块的块号;
利用块号对预设的虚拟路径的数量进行取余计算,得到每个IO请求所对应的待分配的虚拟路径的编号。
优选的,处理模块43还用于:
获取虚拟路径中所有物理路径的利用率;
在虚拟路径中选择利用率最低时对应的物理路径。
优选的,处理模块43还用于若任一IO请求对应的虚拟路径中被选择的物理路径无效,在IO请求对应的虚拟路径中获取与被选择的物理路径相不同的其他物理路径,从其他物理路径中选择一条物理路径作为新的物理路径;
判断新的物理路径的状态,若新的物理路径有效,则根据新的物理路径将IO请求进行下发;
若IO请求对应的虚拟路径中的所有物理路径都无效,则对虚拟路径进行标注,在与IO请求对应的虚拟路径相不同的其他未标注的虚拟路径中随机选择一条虚拟路径作为新的虚拟路径;
在新的虚拟路径中选择一条物理路径,判断新的虚拟路径中选择的物理路径的状态,若新的虚拟路径中选择的物理路径有效,则根据新的虚拟路径中选择的物理路径将IO请求进行下发。
优选的,上述装置还包括:
判断模块44,用于判断当前并发的IO请求是否下发完成,若是,则删除已标注的虚拟路径;
映射模块42还用于获取未标注的虚拟路径,当接收到新的并发的IO请求时,建立新的并发的IO请求与未标注的虚拟路径之间的映射关系。
需要说明的是:本实施例提供的并发IO请求的处理装置中,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,本实施例的并发IO请求的处理装置与上述实施例1中的并发IO请求的处理方法实施例属于同一构思,其具体实现过程和有益效果详见文本识别模型训练方法实施例,这里不再赘述。
实施例3
在一个实施例中,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现实施例1所述的所有方法。
图5为本发明实施例提供的计算机设备的内部结构图。该计算机设备可以是服务器,其内部结构图可以如图5所示。该计算机设备包括通过***总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***、计算机程序和数据库。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种并发IO请求的处理方法。
本领域技术人员可以理解,图5中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种并发IO请求的处理方法,其特征在于,所述方法包括:
接收并发的IO请求;
获取预设的虚拟路径,建立所述并发的IO请求与虚拟路径之间的映射关系,其中,每条虚拟路径中包括至少两条物理路径;
在虚拟路径中选择一条物理路径并判断所述物理路径的状态,若所述物理路径有效,则根据所述物理路径将对应的IO请求进行下发。
2.根据权利要求1所述的方法,其特征在于,所有虚拟路径中的物理路径互不相同。
3.根据权利要求1或2所述的方法,其特征在于,获取预设的虚拟路径,建立所述并发的IO请求与虚拟路径之间的映射关系具体包括:
获取所述IO请求的数量和虚拟路径的数量;
将所述IO请求的数量和虚拟路径的数量进行比较,根据比较结果获取对应的处理规则,根据所述处理规则为每个IO请求分配一虚拟路径以建立每个IO请求与分配的虚拟路径之间的映射关系。
4.根据权利要求3所述的方法,其特征在于,根据比较结果获取对应的处理规则,根据所述处理规则为每个IO请求分配一虚拟路径以建立每个IO请求与分配的虚拟路径之间的映射关系具体包括:
当所述IO请求的数量与虚拟路径的数量相等时,获取所有虚拟路径对应的编号,为所述每个IO请求分配一不同的编号所对应的虚拟路径以建立所述每个IO请求与分配的虚拟路径之间的映射关系;
当所述IO请求的数量小于虚拟路径的数量时,则在所有虚拟路径中随机选择与所述IO请求的数量相等数量的虚拟路径,根据随机选择后的虚拟路径对应的编号,为所述每个IO请求分配一不同的编号所对应的虚拟路径以建立每个IO请求与分配的虚拟路径之间的映射关系;
当所述IO请求的数量大于虚拟路径的数量时,根据预设的计算规则得到与所述每个IO请求对应的待分配的虚拟路径的编号,并将所述编号所对应的虚拟路径分配至对应的IO请求以建立每个IO请求与分配的虚拟路径之间的映射关系;
其中,每条虚拟路径对应的编号不同。
5.根据权利要求4所述的方法,其特征在于,根据预设的计算规则得到与所述每个IO请求对应的待分配的虚拟路径的编号具体包括:
获取所述每个IO请求中携带的待处理块的地址,利用所述每个IO请求中携带的待处理块的地址对预设的待处理块的大小进行取整计算,得到每个IO请求所对应的待处理块的块号;
利用所述块号对预设的虚拟路径的数量进行取余计算,得到每个IO请求所对应的待分配的虚拟路径的编号。
6.根据权利要求1~5任意一项所述的方法,其特征在于,在虚拟路径中选择一条物理路径具体包括:
获取所述虚拟路径中所有物理路径的利用率;
在所述虚拟路径中选择利用率最低时对应的物理路径。
7.根据权利要求1~5任意一项所述的方法,其特征在于,若任一IO请求对应的虚拟路径中被选择的物理路径无效,所述方法还包括:
在所述IO请求对应的虚拟路径中获取与所述被选择的物理路径相不同的其他物理路径,从所述其他物理路径中选择一条物理路径作为新的物理路径;
判断所述新的物理路径的状态,若所述新的物理路径有效,则根据所述新的物理路径将所述IO请求进行下发;
若所述IO请求对应的虚拟路径中的所有物理路径都无效,则对所述虚拟路径进行标注,在与所述IO请求对应的虚拟路径相不同的其他未标注的虚拟路径中随机选择一条虚拟路径作为新的虚拟路径;
在所述新的虚拟路径中选择一条物理路径,判断所述新的虚拟路径中选择的物理路径的状态,若所述新的虚拟路径中选择的物理路径有效,则根据所述新的虚拟路径中选择的物理路径将所述IO请求进行下发。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
判断当前并发的IO请求是否下发完成,若是,则删除已标注的虚拟路径;
获取未标注的虚拟路径,当接收到新的并发的IO请求时,建立所述新的并发的IO请求与未标注的虚拟路径之间的映射关系。
9.一种并发IO请求的处理装置,其特征在于,所述装置包括:
接收模块,用于接收并发的IO请求;
映射模块,用于获取预设的虚拟路径,建立所述并发的IO请求与虚拟路径之间的映射关系,其中,每条虚拟路径中包括至少两条物理路径;
处理模块,用于在虚拟路径中选择一条物理路径并判断所述物理路径的状态,若所述物理路径有效,则根据所述物理路径将对应的IO请求进行下发。
10.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于:
所述处理器执行所述计算机程序时实现如权利要求1至8任一项所述的并发IO请求的处理方法。
CN202010490469.3A 2020-06-02 2020-06-02 一种并发io请求的处理方法、装置、设备 Active CN111651123B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010490469.3A CN111651123B (zh) 2020-06-02 2020-06-02 一种并发io请求的处理方法、装置、设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010490469.3A CN111651123B (zh) 2020-06-02 2020-06-02 一种并发io请求的处理方法、装置、设备

Publications (2)

Publication Number Publication Date
CN111651123A true CN111651123A (zh) 2020-09-11
CN111651123B CN111651123B (zh) 2022-11-18

Family

ID=72347017

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010490469.3A Active CN111651123B (zh) 2020-06-02 2020-06-02 一种并发io请求的处理方法、装置、设备

Country Status (1)

Country Link
CN (1) CN111651123B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110145448A1 (en) * 2009-12-11 2011-06-16 International Business Machines Corporation I/o mapping-path tracking in a storage configuration
CN110191382A (zh) * 2019-06-27 2019-08-30 北京邮电大学 一种基于路径排序的虚链路优先映射方法
CN110795442A (zh) * 2019-09-27 2020-02-14 北京浪潮数据技术有限公司 一种键值更新方法、装置、设备及可读存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110145448A1 (en) * 2009-12-11 2011-06-16 International Business Machines Corporation I/o mapping-path tracking in a storage configuration
CN110191382A (zh) * 2019-06-27 2019-08-30 北京邮电大学 一种基于路径排序的虚链路优先映射方法
CN110795442A (zh) * 2019-09-27 2020-02-14 北京浪潮数据技术有限公司 一种键值更新方法、装置、设备及可读存储介质

Also Published As

Publication number Publication date
CN111651123B (zh) 2022-11-18

Similar Documents

Publication Publication Date Title
CN108462760B (zh) 电子装置、集群访问域名自动生成方法及存储介质
CN110096336B (zh) 数据监控方法、装置、设备和介质
CN112597153B (zh) 一种基于区块链的数据存储方法、装置及存储介质
CN108881512B (zh) Ctdb的虚拟ip均衡分配方法、装置、设备及介质
CN112463307B (zh) 一种数据传输方法、装置、设备及可读存储介质
CN105468302B (zh) 一种处理数据的方法、装置及***
CN110633130B (zh) 一种基于内存热插拔技术的虚拟内存管理方法和装置
CN110719345B (zh) 虚拟机mac地址生成方法、***、设备及计算机介质
CN104461698A (zh) 虚拟磁盘动态挂载的方法、管理装置及分布式存储***
CN111984407A (zh) 一种数据块读写性能优化方法、***、终端及存储介质
CN111064786B (zh) 账户标识管理方法及设备
CN115756955A (zh) 一种数据备份、数据恢复的方法、装置及计算机设备
CN111885184A (zh) 高并发场景下热点访问关键字处理方法和装置
CN111562884A (zh) 一种数据存储方法、装置及电子设备
CN111046004B (zh) 一种数据文件存储方法、装置、设备及存储介质
CN111651123B (zh) 一种并发io请求的处理方法、装置、设备
CN112491592A (zh) 一种存储资源分组方法、***、终端及存储介质
CN110515535B (zh) 硬盘读写控制方法、装置、电子设备及存储介质
CN111198756A (zh) 一种kubernetes集群的应用调度方法及装置
CN113132241B (zh) Acl模板动态配置方法及装置
CN110866066B (zh) 一种业务处理方法及装置
CN110703988B (zh) 一种分布式存储的存储池创建方法、***、终端及存储介质
CN111949414B (zh) 一种存储控制器性能优化方法、***、终端及存储介质
CN117439993B (zh) Redis集群负载均衡方法、装置、设备及存储介质
CN111274228B (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