CN117435142B - Io请求调度方法及存储装置 - Google Patents

Io请求调度方法及存储装置 Download PDF

Info

Publication number
CN117435142B
CN117435142B CN202311698852.8A CN202311698852A CN117435142B CN 117435142 B CN117435142 B CN 117435142B CN 202311698852 A CN202311698852 A CN 202311698852A CN 117435142 B CN117435142 B CN 117435142B
Authority
CN
China
Prior art keywords
scheduling
request
requests
queue
target
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
Application number
CN202311698852.8A
Other languages
English (en)
Other versions
CN117435142A (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 Metabrain Intelligent Technology Co Ltd
Original Assignee
Suzhou Metabrain 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 Metabrain Intelligent Technology Co Ltd filed Critical Suzhou Metabrain Intelligent Technology Co Ltd
Priority to CN202311698852.8A priority Critical patent/CN117435142B/zh
Publication of CN117435142A publication Critical patent/CN117435142A/zh
Application granted granted Critical
Publication of CN117435142B publication Critical patent/CN117435142B/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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本发明涉及计算机技术领域,尤其涉及一种IO请求调度方法及存储装置。方法包括:在完成存储资源LUN创建、以及IO调度队列创建的情况下,接收IO管理装置发送的IO请求;存储资源LUN与IO调度队列一一对应,存储资源LUN的数量为至少两个,每个IO调度队列均关联有相应的优先级标签和IO资源权重占比,IO请求携带有LUN关联信息;基于LUN关联信息,确定IO请求关联的存储资源LUN;基于IO请求关联的存储资源LUN的优先级标签,将IO请求放入对应的IO调度队列;基于每个IO调度队列关联的IO资源权重占比,进行IO请求调度。本方法能够实现对不同优先级的IO请求的精细化调度与管理。

Description

IO请求调度方法及存储装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种IO请求调度方法及存储装置。
背景技术
随着云计算时代的来临,超融合产品,如超融合系统得到了越来越广泛的应用。然而,随着业务量的不断增大,超融合产品中负责不同业务的虚拟机(VM,Virtual Machine)之间存在存储资源争抢情况,如当负责不同业务的虚拟机高并发地访问存储资源时,导致超融合产品所在系统的IO负载较高,不同虚拟机之间出现存储资源争抢情况,进而导致部分虚拟机IO延迟较高,虚拟机内部应用无响应或无法稳定运行等。
目前,大部分超融合系统,其内置的默认策略通常不具备IO请求精细化分配的能力,当不同虚拟机的IO请求出现高并发情况时,由于缺少对不同IO请求的针对性管理策略,导致部分IO请求的时延较高,对业务的稳定运行造成不必要的影响。
发明内容
本发明提供一种IO请求调度方法及存储装置,用以解决现有技术中当不同虚拟机的IO请求出现高并发情况时,由于缺少对不同IO请求的针对性管理策略,导致部分IO请求的时延较高,对业务的稳定运行造成不必要的影响的问题。
本发明提供一种IO请求调度方法,包括:
在完成存储资源LUN创建、以及IO调度队列创建的情况下,接收IO管理装置发送的IO请求;所述存储资源LUN与所述IO调度队列一一对应,所述存储资源LUN的数量为至少两个,每个所述存储资源LUN均关联有对应的优先级标签和IO资源权重占比,每个所述IO调度队列均关联有相应的所述优先级标签和所述IO资源权重占比,所述IO请求携带有LUN关联信息;
基于所述LUN关联信息,确定所述IO请求关联的所述存储资源LUN;基于所述IO请求关联的所述存储资源LUN的所述优先级标签,将所述IO请求放入对应的所述IO调度队列;基于每个所述IO调度队列关联的所述IO资源权重占比,进行IO请求调度。
根据本发明提供的一种IO请求调度方法,还包括:接收所述IO管理装置发送的存储资源LUN创建请求,所述存储资源LUN创建请求携带有每个存储资源LUN的优先级标签、以及每个所述存储资源LUN的IO资源权重占比;
基于所述存储资源LUN创建请求,进行存储资源LUN创建,得到多个所述存储资源LUN;
基于所述存储资源LUN,创建与所述存储资源LUN一一对应的IO调度队列。
根据本发明提供的一种IO请求调度方法,还包括:在完成所述存储资源LUN创建的情况下,将每个所述存储资源LUN关联的所述优先级标签和所述IO资源权重占比存储于本地内存,并且,将每个所述存储资源LUN关联的所述优先级标签和所述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配额总数置为0。
根据本发明提供的一种IO请求调度方法,基于所述第二目标调度IO请求数,进行IO请求调度的步骤包括:
基于全部所述IO调度队列、以及每个所述IO调度队列的所述第二目标调度IO请求数,得到待处理IO请求列表;
对所述待处理IO请求列表中的所述IO请求进行调度;所述待处理IO请求列表中的全部所述IO请求均按照每个所述IO请求的优先级顺序依次排列。
本发明还提供一种存储装置,包括:
IO请求接收模块,用于在完成存储资源LUN创建、以及IO调度队列创建的情况下,接收IO管理装置发送的IO请求;所述存储资源LUN与所述IO调度队列一一对应,所述存储资源LUN的数量为至少两个,每个所述存储资源LUN均关联有对应的优先级标签和IO资源权重占比,每个所述IO调度队列均关联有相应的所述优先级标签和所述IO资源权重占比,所述IO请求携带有LUN关联信息;
IO请求调度模块,用于基于所述LUN关联信息,确定所述IO请求关联的所述存储资源LUN;基于所述IO请求关联的所述存储资源LUN的所述优先级标签,将所述IO请求放入对应的所述IO调度队列;基于每个所述IO调度队列关联的所述IO资源权重占比,进行IO请求调度。
本发明还提供一种IO请求调度方法,包括:
在确定存储装置完成存储资源LUN创建、以及IO调度队列创建的情况下,向所述存储装置发送虚拟机的IO请求;所述IO请求携带有LUN关联信息,所述IO请求用于指示所述存储装置基于所述LUN关联信息,确定所述IO请求关联的所述存储资源LUN,所述存储资源LUN与所述IO调度队列一一对应,所述存储资源LUN的数量为至少两个,每个所述存储资源LUN均关联有对应的优先级标签和IO资源权重占比,每个所述IO调度队列均关联有相应的所述优先级标签和所述IO资源权重占比;基于所述IO请求关联的所述存储资源LUN的所述优先级标签,将所述IO请求放入对应的所述IO调度队列;基于每个所述IO调度队列关联的所述IO资源权重占比,进行IO请求调度。
根据本发明提供的一种IO请求调度方法,还包括:
向存储装置发送存储资源LUN创建请求,所述存储资源LUN创建请求携带有每个存储资源LUN的所述优先级标签、以及每个所述存储资源LUN的所述IO资源权重占比;所述存储资源LUN创建请求为所述存储装置创建所述存储资源LUN的触发因素。
根据本发明提供的一种IO请求调度方法,所述存储装置创建的每个所述存储资源LUN关联的所述优先级标签和所述IO资源权重占比均存储于本地,并且,所述存储装置创建的每个所述存储资源LUN关联的所述优先级标签和所述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配额总数置为0;
所述IO请求还具体用于指示所述存储装置基于每个所述IO调度队列的所述第二目标调度IO请求数,进行IO请求调度。
根据本发明提供的一种IO请求调度方法,所述IO请求还具体用于指示所述存储装置基于全部所述IO调度队列、以及每个所述IO调度队列的所述第二目标调度IO请求数,得到待处理IO请求列表;对所述待处理IO请求列表中的所述IO请求进行调度;所述待处理IO请求列表中的全部所述IO请求均按照每个所述IO请求的优先级顺序依次排列。
本发明还提供一种IO管理装置,包括:
IO请求发送模块,用于在确定存储装置完成存储资源LUN创建、以及IO调度队列创建的情况下,向所述存储装置发送虚拟机的IO请求;所述IO请求携带有LUN关联信息,所述IO请求用于指示所述存储装置基于所述LUN关联信息,确定所述IO请求关联的所述存储资源LUN,所述存储资源LUN与所述IO调度队列一一对应,所述存储资源LUN的数量为至少两个,每个所述存储资源LUN均关联有对应的优先级标签和IO资源权重占比,每个所述IO调度队列均关联有相应的所述优先级标签和所述IO资源权重占比;基于所述IO请求关联的所述存储资源LUN的所述优先级标签,将所述IO请求放入对应的所述IO调度队列;基于每个所述IO调度队列关联的所述IO资源权重占比,进行IO请求调度。
本发明还提供一种超融合系统,包括:
如上述所述的存储装置、以及如上述所述的IO管理装置,所述存储装置与所述IO管理装置连接。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述IO请求调度方法。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述IO请求调度方法。
本发明的有益效果:本发明提供的一种IO请求调度方法及存储装置,通过在完成存储资源LUN创建、以及IO调度队列创建的情况下,接收IO管理装置发送的IO请求;存储资源LUN与IO调度队列一一对应,存储资源LUN的数量为至少两个,每个存储资源LUN均关联有对应的优先级标签和IO资源权重占比,每个IO调度队列均关联有相应的优先级标签和IO资源权重占比,IO请求携带有LUN关联信息;基于LUN关联信息,确定IO请求关联的存储资源LUN;基于IO请求关联的存储资源LUN的优先级标签,将IO请求放入对应的IO调度队列;基于每个IO调度队列关联的IO资源权重占比,进行IO请求调度。能够实现对不同优先级的IO请求的精细化调度与管理,较好地保证了较高优先级的IO请求尽可能多的被优先调度处理,同时还避免了较低优先级的IO请求长时间得不到响应的问题,较好地保障了不同优先级的IO请求的稳定调度处理,实现不同优先级业务的稳定运行,有效提升用户体验。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是相关技术中超融合系统存储资源使用情况的示意图;
图2是本发明提供的IO请求调度方法的流程示意图一;
图3是本发明提供的IO请求调度方法中创建存储资源LUN和 IO调度队列流程示意图;
图4是本发明提供的IO请求调度方法中进行IO请求调度的一个具体实施例的示意图;
图5是本发明提供的IO请求调度方法中进行IO请求调度的另一个具体实施例的流程示意图;
图6是本发明提供的存储装置的结构示意图;
图7是本发明提供的IO请求调度方法的流程示意图二;
图8是本发明提供的IO管理装置的结构示意图;
图9是本发明提供的超融合系统的结构示意图;
图10是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了便于理解本发明提供的IO请求调度方法及存储装置,下面对本发明涉及的部分技术术语进行解释说明。
LUN:Logical Unit Number,直译意思为逻辑单元号。LUN通常指一个目标对象,比如将存储资源划分为LUN1、LUN2以及LUN3等。而LUN ID(Identity Document,身份标识号)则起到了扩充对象标识的作用。
IO:Input/Output,即输入输出。
ETCD:分布式数据库。
iSCSI:以太网小型计算机系统接口。
需要提及的是,关于相关技术中的超融合系统,当负责不同业务的虚拟机高并发地访问存储资源,即不同优先级的虚拟机向超融合存储资源发送IO请求时,不同虚拟机之间容易出现存储资源争抢情况,进而导致部分虚拟机IO延迟较高,虚拟机内部应用无响应或无法稳定运行。如图1所示,不同优先级的虚拟机(如高优先级虚拟机、中优先级虚拟机、以及低优先级虚拟机等)高并发地向存储资源发送IO请求(可参考图1中的I/O(Input/Output)流)时,由于IOPS(Input Output Operations Per Second,单位时间内系统能处理的IO请求的数量)有限,导致对于IO请求的存储能力达到瓶颈。并且,由于相关技术中超融合系统内置的默认策略通常不具备IO请求精细化分配的能力,导致当低优先级的虚拟机产生大量的IO请求时,将抢占系统有限的存储资源,而高优先级的虚拟机的IO请求则出现时延较高的问题,进而导致应用响应慢以及业务运行的稳定性较差的问题。在上述技术问题的基础上,本发明提供的IO请求调度方法及存储装置,通过在完成存储资源LUN创建、以及IO调度队列创建的情况下,接收IO管理装置发送的IO请求;存储资源LUN与IO调度队列一一对应,存储资源LUN的数量为至少两个,每个存储资源LUN均关联有对应的优先级标签和IO资源权重占比,每个IO调度队列均关联有相应的优先级标签和IO资源权重占比,IO请求携带有LUN关联信息;基于LUN关联信息,确定IO请求关联的存储资源LUN;基于IO请求关联的存储资源LUN的优先级标签,将IO请求放入对应的IO调度队列;基于每个IO调度队列关联的IO资源权重占比,进行IO请求调度。能够实现对不同优先级的IO请求的精细化调度与控制,有效解决上述技术问题,提升用户体验。
下面以实施例的方式,结合图2-图10描述本发明提供的IO请求调度方法及存储装置。
请参考图2,本实施例提供的IO请求调度方法(本实施例中的IO请求调度方法的执行主体为超融合系统中的存储装置,即超融合系统中的存储端),包括:
S210:在完成存储资源LUN创建、以及IO调度队列创建的情况下,接收IO管理装置发送的IO请求;所述存储资源LUN与所述IO调度队列一一对应,所述存储资源LUN的数量为至少两个,每个所述存储资源LUN均关联有对应的优先级标签和IO资源权重占比,每个所述IO调度队列均关联有相应的所述优先级标签和所述IO资源权重占比,所述IO请求携带有LUN关联信息。
需要说明的是,所述优先级标签可以根据实际情况进行设置,如高优先级、中优先级以及低优先级等。所述IO资源权重占比指当前优先级的IO调度队列中的需要被调度的IO请求数与全部所述IO调度队列的IO请求的总数之间的比值。所述IO资源权重占比可以根据实际情况进行设置与调整,如高优先级对应的IO资源权重占比为50%,中优先级对应的IO资源权重占比为30%,低优先级对应的IO资源权重占比为20%等。不同优先级的IO资源权重占比之和为100%。需要提及的是,本实施例中,存储资源LUN为存储装置的存储资源的划分单位,即存储装置的全部存储资源以LUN为单位进行划分。
还需要提及的是,所述 IO管理装置包括多个虚拟机,每个虚拟机分别负责相应的业务,每个业务的优先级不同,每个虚拟机分别对应相应的存储资源LUN。本实施例中接收的IO请求的发送来源为IO管理装置中的虚拟机。所述LUN关联信息指所述IO请求对应的虚拟机所关联的存储资源LUN的信息。
S220:基于所述LUN关联信息,确定所述IO请求关联的所述存储资源LUN;基于所述IO请求关联的所述存储资源LUN的所述优先级标签,将所述IO请求放入对应的所述IO调度队列;基于每个所述IO调度队列关联的所述IO资源权重占比,进行IO请求调度。
需要说明的是,通过将IO请求放入对应优先级的所述IO调度队列,并基于每个IO调度队列关联的所述IO资源权重占比,进行IO请求调度,能够尽不同优先级的IO请求或业务对存储资源的使用占比,实现存储资源使用的最优化。并且,能够实现对不同优先级的IO请求的精细化调度与管理,较好地保证了较高优先级的IO请求尽可能多的被优先调度处理,同时还避免了较低优先级的IO请求长时间得不到响应的问题,较好地保障了不同优先级的IO请求的稳定调度处理,实现不同优先级业务的稳定运行,有效提升用户体验,成本较低。需要提及的是,本实施例中的IO请求可以为IO读写请求等。
请参考图3,在一些实施例中,创建存储资源LUN和 IO调度队列的步骤包括:
S310:接收所述IO管理装置发送的存储资源LUN创建请求,所述存储资源LUN创建请求携带有每个存储资源LUN的优先级标签、以及每个所述存储资源LUN的IO资源权重占比。
S320:基于所述存储资源LUN创建请求,进行存储资源LUN创建,得到多个所述存储资源LUN。具体地,根据存储资源LUN创建请求中的存储资源LUN的数量,创建对应数量的存储资源LUN,并赋予每个存储资源LUN对应的优先级标签,以及每个存储资源LUN的IO资源权重占比。需要说明的是,通过创建关联有对应的优先级标签以及IO资源权重占比的存储资源LUN,便于后续进行IO请求调度。需要提及的是,存储装置在创建完存储资源LUN后,将存储资源LUN创建结果反馈至IO管理装置,IO管理装置使用iSCSI协议对存储资源LUN创建结果进行解析,得到存储装置创建完成的存储资源LUN、以及每个存储资源LUN各自对应的优先级标签和IO资源权重占比。用户可在IO管理装置的人机交互界面中为负责不同业务的虚拟机关联相应优先级的存储资源LUN,如根据虚拟机所负责的业务的重要性为虚拟机关联相应优先级的存储资源LUN等。
S330:基于所述存储资源LUN,创建与所述存储资源LUN一一对应的IO调度队列。需要说明的是,通过创建与存储资源LUN一一对应的IO调度队列,便于后续基于将不同优先级的IO请求放入对应优先级的IO调度队列中,进而基于IO调度队列、以及每个IO调度队列各自关联的IO资源权重占比,进行IO请求调度处理,从而实现IO请求的最优化处理与存储资源的合理化利用。
在一些实施例中,还包括:在完成所述存储资源LUN创建的情况下,将每个所述存储资源LUN关联的所述优先级标签和所述IO资源权重占比存储于本地内存,并且,将每个所述存储资源LUN关联的所述优先级标签和所述IO资源权重占比同步存储于预设的集群分布式数据库;
在存储装置处于故障恢复状态的情况下,将所述集群分布式数据库中的所述优先级标签和所述IO资源权重占比同步至本地内存,所述存储装置指执行所述IO请求调度方法的装置,所述故障恢复状态指所述存储装置出现故障后恢复运行的情况。
需要说明的是,通过将每个所述存储资源LUN关联的所述优先级标签和所述IO资源权重占比同步存储于集群分布式数据库(ETCD),能够较好地保证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调度队列所对应的存储资源LUN进行补充与分配,较好地实现了对存储资源分配的优化,使存储资源LUN以及IO资源能够得到充分合理的利用。通俗理解,即将剩余IO配额总数,按照IO调度队列的优先级顺序,从高到低进行资源分配,直至分配完,优先级较高的尽可能地占用较多的资源,使得存储资源LUN以及IO资源得到充分的利用。
在一些实施例中,所述第二目标调度IO请求数的获取步骤还包括:
在所述IO调度队列的所述IO请求数量大于对应的所述第一目标调度IO请求数,且所述剩余IO配额总数小于所述待配额请求数的情况下,将补充调度数确定为当前所述IO调度队列的所述第二目标调度IO请求数的取值。
所述补充调度数的获取步骤包括:在所述IO请求数量大于对应的所述第一目标调度IO请求数,且所述剩余IO配额总数小于待配额请求数的情况下,将所述IO请求数量与所述剩余IO配额总数之间的和值,确定为所述补充调度数。
在将当前所述IO调度队列的所述第二目标调度IO请求数的取值确定为补充调度数的情况下,将所述剩余IO配额总数置为0。
具体地,在IO调度队列的IO请求数量大于对应的第一目标调度IO请求数,且剩余IO配额总数小于待配额请求数的情况下,将剩余IO配额总数对应的资源全部分配给相应的IO请求队列,并将剩余IO配额总数置为0。从而实现存储资源与IO资源的充分利用。
在一些实施例中,基于所述第二目标调度IO请求数,进行IO请求调度的步骤包括:
一、基于全部所述IO调度队列、以及每个所述IO调度队列的所述第二目标调度IO请求数,得到待处理IO请求列表。
二、对所述待处理IO请求列表中的所述IO请求进行调度;所述待处理IO请求列表中的全部所述IO请求均按照每个所述IO请求的优先级顺序依次排列。具体地,对待处理IO请求列表中的IO请求,按照优先级的高低,依次进行调用处理,确定IO资源以及存储资源的合理利用与分配,保证了不同优先级的业务的稳定运行。保证了高优先级的IO请求尽可能多的被优先处理,同时还避免低优先级IO长时间得不到响应的问题的发生。用户可以根据业务需要对存储资源LUN进行灵活的配置和动态调整,在不升级硬件的基础上充分利用了超融合系统的存储资源,为用户带来显著的成本效益以及良好的使用体验。
下面以一个具体实施例对上述实施例中进行IO请求调度的过程,进行进一步地解释说明。
请参考图4,图4中存储装置接收到多个IO请求(IO请求1、IO请求2、IO请求3、IO请求4、IO请求5以及IO请求6……),每个IO请求均对应了不同的优先级。存储装置在接收到IO请求的情况下,执行IO调度任务。其中,执行IO调度任务包括:基于每个IO请求的优先级,将不同优先级的IO请求放入相应的IO调度队列(如图4中的高优先级队列、中优先级队列和低优先级队列等)。每个IO调度队列均包括多个对应优先级的IO请求。基于每个所述IO调度队列的IO请求数量、以及每个所述IO调度队列各自关联的所述IO资源权重占比,得到每个IO调度队列实际需要被调度的IO请求数量(即上述实施例中每个IO调度队列的第二目标调度IO请求数)。基于每个IO调度队列的第二目标调度IO请求数,将对应数量的IO请求放入待处理IO请求列表中,待处理IO请求列表中的全部所述IO请求均按照每个所述IO请求的优先级顺序依次排列。最后,对待处理IO请求列表中的IO请求,按照优先级从高到低的顺序依次调度处理。
下面以另一个具体实施例对上述实施例中进行IO请求调度的过程,进行进一步地解释说明。
请参考图5,在存储装置接收到IO请求的情况下,进行 IO请求调度的步骤包括:
S510:获取各IO调度队列中的IO请求数量m,以及全部IO调度队列的IO请求总数t。
S520:基于所述IO请求总数和每个所述IO调度队列关联的所述IO资源权重占比w,得到每个所述IO调度队列的第一目标调度IO请求数n。其中,,即n等于w与之间的乘积。
S530:基于各IO调度队列中的IO请求数量m,以及每个所述IO调度队列的第一目标调度IO请求数n,得到剩余IO配额总数r。其中,剩余IO配额总数的获取步骤为:在第一目标调度IO请求数大于对应的IO请求数量的情况下,将第一目标调度IO请求数与对应的IO调度队列中的IO请求数量之间的差值,确定为剩余IO配额;将全部剩余IO配额之间的和值确定为剩余IO配额总数。具体地,在第一目标调度IO请求数大于对应的IO请求数量的情况下,将第一目标调度IO请求数与对应的IO调度队列中的IO请求数量之间的差值,确定为剩余IO配额的数学表达为:
其中,表示有关/>的运算只有在/>的情况下进行,/>表示IO调度队列的数量,/>表示第i个IO调度队列的第一目标调度IO请求数,/>表示第i个IO调度队列中的IO请求数量。
S540:基于各IO调度队列中的IO请求数量m、每个所述IO调度队列的第一目标调度IO请求数n、以及剩余IO配额总数r,得到每个IO调度队列的第二目标调度IO请求数k。具体地,在所述IO调度队列的所述IO请求数量小于或等于当前所述IO调度队列的所述第一目标调度IO请求数的情况下,得到当前所述IO调度队列的所述第二目标调度IO请求数,所述第二目标调度IO请求数的取值为当前所述IO调度队列的所述IO请求数量(即在的情况下,k=m)。在所述IO调度队列的所述IO请求数量大于当前所述IO调度队列的所述第一目标调度IO请求数,且剩余IO配额总数大于或等于待配额请求数的情况下,将当前所述IO调度队列的所述IO请求数量,确定为当前所述IO调度队列的所述第二目标调度IO请求数的取值,并对所述剩余IO配额总数进行更新(即在/>,并且/>的情况下,k=m,r更新为/>)。在所述IO调度队列的所述IO请求数量大于对应的所述第一目标调度IO请求数,且所述剩余IO配额总数小于所述待配额请求数的情况下,将补充调度数确定为当前所述IO调度队列的所述第二目标调度IO请求数的取值;在将当前所述IO调度队列的所述第二目标调度IO请求数的取值确定为补充调度数的情况下,将所述剩余IO配额总数置为0(即在/>,并且/>的情况下,k=n+r,r更新为0)。
S550:基于第二目标调度IO请求数k,进行IO请求调度。具体地,基于全部IO调度队列、以及每个IO调度队列的第二目标调度IO请求数,得到待处理IO请求列表;对待处理IO请求列表中的IO请求进行调度。
下面对本发明提供的存储装置进行描述,下文描述的存储装置与上文描述的IO请求调度方法可相互对应参照。
请参考图6,本实施例提供的存储装置,包括:
IO请求接收模块610,用于在完成存储资源LUN创建、以及IO调度队列创建的情况下,接收IO管理装置发送的IO请求;所述存储资源LUN与所述IO调度队列一一对应,所述存储资源LUN的数量为至少两个,每个所述存储资源LUN均关联有对应的优先级标签和IO资源权重占比,每个所述IO调度队列均关联有相应的所述优先级标签和所述IO资源权重占比,所述IO请求携带有LUN关联信息;
IO请求调度模块620,用于基于所述LUN关联信息,确定所述IO请求关联的所述存储资源LUN;基于所述IO请求关联的所述存储资源LUN的所述优先级标签,将所述IO请求放入对应的所述IO调度队列;基于每个所述IO调度队列关联的所述IO资源权重占比,进行IO请求调度。所述IO请求接收模块610和所述IO请求调度模块620连接。本实施例中的存储装置能够实现对不同优先级的IO请求的精细化调度与管理,较好地保证了较高优先级的IO请求尽可能多的被优先调度处理,同时还避免了较低优先级的IO请求长时间得不到响应的问题,较好地保障了不同优先级的IO请求的稳定调度处理,实现不同优先级业务的稳定运行,有效提升用户体验,成本较低,可实施性较强。
在一些实施例中,还包括:存储资源LUN创建请求接收模块,用于接收所述IO管理装置发送的存储资源LUN创建请求,所述存储资源LUN创建请求携带有每个存储资源LUN的优先级标签、以及每个所述存储资源LUN的IO资源权重占比;
存储资源LUN创建模块,用于基于所述存储资源LUN创建请求,进行存储资源LUN创建,得到多个所述存储资源LUN;
IO调度队列创建模块,用于基于所述存储资源LUN,创建与所述存储资源LUN一一对应的IO调度队列。
在一些实施例中,还包括:数据同步模块,用于在完成所述存储资源LUN创建的情况下,将每个所述存储资源LUN关联的所述优先级标签和所述IO资源权重占比存储于本地内存,并且,将每个所述存储资源LUN关联的所述优先级标签和所述IO资源权重占比同步存储于预设的集群分布式数据库;
在存储装置处于故障恢复状态的情况下,将所述集群分布式数据库中的所述优先级标签和所述IO资源权重占比同步至本地内存,所述存储装置指执行所述IO请求调度方法的装置,所述故障恢复状态指所述存储装置出现故障后恢复运行的情况。
在一些实施例中,IO请求调度模块620具体用于基于每个所述IO调度队列的IO请求数量、以及每个所述IO调度队列各自关联的所述IO资源权重占比,进行IO请求调度。
在一些实施例中,IO请求调度模块620还具体用于基于每个所述IO调度队列的所述IO请求数量,得到IO请求总数,所述IO请求总数为全部所述IO调度队列中的所述IO请求的数量;
基于所述IO请求总数和每个所述IO调度队列关联的所述IO资源权重占比,得到每个所述IO调度队列的第一目标调度IO请求数,所述第一目标调度IO请求数为任一所述IO调度队列的所述IO请求数量与当前所述IO调度队列关联的所述IO资源权重占比之间的乘积;
基于所述第一目标调度IO请求数,进行IO请求调度。
在一些实施例中,IO请求调度模块620还具体用于基于每个所述IO调度队列的所述IO请求数量和所述第一目标调度IO请求数,得到第二目标调度IO请求数;基于所述第二目标调度IO请求数,进行IO请求调度;
所述第二目标调度IO请求数的获取步骤包括:在所述IO调度队列的所述IO请求数量小于或等于当前所述IO调度队列的所述第一目标调度IO请求数的情况下,得到当前所述IO调度队列的所述第二目标调度IO请求数,所述第二目标调度IO请求数的取值为当前所述IO调度队列的所述IO请求数量。
在一些实施例中,IO请求调度模块620还具体用于在所述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请求调度模块620还具体用于在所述IO调度队列的所述IO请求数量大于对应的所述第一目标调度IO请求数,且所述剩余IO配额总数小于所述待配额请求数的情况下,将补充调度数确定为当前所述IO调度队列的所述第二目标调度IO请求数的取值;
所述补充调度数的获取步骤包括:在所述IO请求数量大于对应的所述第一目标调度IO请求数,且所述剩余IO配额总数小于待配额请求数的情况下,将所述IO请求数量与所述剩余IO配额总数之间的和值,确定为所述补充调度数;
在将当前所述IO调度队列的所述第二目标调度IO请求数的取值确定为补充调度数的情况下,将所述剩余IO配额总数置为0。
在一些实施例中,IO请求调度模块620还具体用于基于全部所述IO调度队列、以及每个所述IO调度队列的所述第二目标调度IO请求数,得到待处理IO请求列表;
对所述待处理IO请求列表中的所述IO请求进行调度;所述待处理IO请求列表中的全部所述IO请求均按照每个所述IO请求的优先级顺序依次排列。
下面对本发明提供的另一种IO请求调度方法进行描述,下文描述的IO请求调度方法与上文描述的IO请求调度方法可相互对应参照。
请参考图7,本实施例提供的IO请求调度方法(本实施例中的IO请求调度方法的执行主体为超融合系统中的IO管理装置),包括:
S710:在确定存储装置完成存储资源LUN创建、以及IO调度队列创建的情况下,向所述存储装置发送虚拟机的IO请求;所述IO请求携带有LUN关联信息,所述IO请求用于指示所述存储装置基于所述LUN关联信息,确定所述IO请求关联的所述存储资源LUN,所述存储资源LUN与所述IO调度队列一一对应,所述存储资源LUN的数量为至少两个,每个所述存储资源LUN均关联有对应的优先级标签和IO资源权重占比,每个所述IO调度队列均关联有相应的所述优先级标签和所述IO资源权重占比;基于所述IO请求关联的所述存储资源LUN的所述优先级标签,将所述IO请求放入对应的所述IO调度队列;基于每个所述IO调度队列关联的所述IO资源权重占比,进行IO请求调度。本实施例中的IO请求调度方法能够实现对不同优先级的IO请求的精细化调度与管理,较好地保证了较高优先级的IO请求尽可能多的被优先调度处理,同时还避免了较低优先级的IO请求长时间得不到响应的问题,较好地保障了不同优先级的IO请求的稳定调度处理,实现不同优先级业务的稳定运行,有效提升用户体验,灵活度较高,成本较低。
在一些实施例中,还包括:
向存储装置发送存储资源LUN创建请求,所述存储资源LUN创建请求携带有每个存储资源LUN的所述优先级标签、以及每个所述存储资源LUN的所述IO资源权重占比;所述存储资源LUN创建请求为所述存储装置创建所述存储资源LUN的触发因素。需要说明的是,所述优先级标签和所述IO资源权重占比均可以根据实际情况进行灵活配置与动态调整,实现资源利用的合理优化。通过向存储装置发送存储资源LUN创建请求,能够满足不同的存储资源LUN创建需求,灵活度较高。
在一些实施例中,所述存储装置创建的每个所述存储资源LUN关联的所述优先级标签和所述IO资源权重占比均存储于本地,并且,所述存储装置创建的每个所述存储资源LUN关联的所述优先级标签和所述IO资源权重占比同步存储于预设的集群分布式数据库。需要说明的是,通过将每个所述存储资源LUN关联的所述优先级标签和所述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配额总数置为0;
所述IO请求还具体用于指示所述存储装置基于每个所述IO调度队列的所述第二目标调度IO请求数,进行IO请求调度。
在一些实施例中,所述IO请求还具体用于指示所述存储装置基于全部所述IO调度队列、以及每个所述IO调度队列的所述第二目标调度IO请求数,得到待处理IO请求列表;对所述待处理IO请求列表中的所述IO请求进行调度;所述待处理IO请求列表中的全部所述IO请求均按照每个所述IO请求的优先级顺序依次排列。
下面对本发明提供的IO管理装置进行描述,下文描述的IO管理装置与上文描述的图7所对应的IO请求调度方法可相互对应参照。
请参考图8,本实施例提供的IO管理装置,包括:
IO请求发送模块810,用于在确定存储装置完成存储资源LUN创建、以及IO调度队列创建的情况下,向所述存储装置发送虚拟机的IO请求;所述IO请求携带有LUN关联信息,所述IO请求用于指示所述存储装置基于所述LUN关联信息,确定所述IO请求关联的所述存储资源LUN,所述存储资源LUN与所述IO调度队列一一对应,所述存储资源LUN的数量为至少两个,每个所述存储资源LUN均关联有对应的优先级标签和IO资源权重占比,每个所述IO调度队列均关联有相应的所述优先级标签和所述IO资源权重占比;基于所述IO请求关联的所述存储资源LUN的所述优先级标签,将所述IO请求放入对应的所述IO调度队列;基于每个所述IO调度队列关联的所述IO资源权重占比,进行IO请求调度。本实施例中的IO管理装置,通过向在确定存储装置完成存储资源LUN创建、以及IO调度队列创建的情况下,向存储装置发送虚拟机的IO请求,使得存储装置基于IO请求携带的LUN关联信息,进行IO请求调度。较好地实现了对不同优先级的IO请求的精细化调度与管理,保证了较高优先级的IO请求尽可能多的被优先调度处理,同时还避免了较低优先级的IO请求长时间得不到响应的问题,较好地保障了不同优先级的IO请求的稳定调度处理,实现不同优先级业务的稳定运行,有效提升用户体验,成本较低。
在一些实施例中,还包括:存储资源LUN创建请求发送模块,用于向存储装置发送存储资源LUN创建请求,所述存储资源LUN创建请求携带有每个存储资源LUN的所述优先级标签、以及每个所述存储资源LUN的所述IO资源权重占比;所述存储资源LUN创建请求为所述存储装置创建所述存储资源LUN的触发因素。所述存储资源LUN创建请求发送模块与所述IO请求发送模块810连接。
下面对本发明提供的超融合系统进行描述。
请参考图9,本实施例提供的超融合系统,包括:
如上述所述的存储装置910、以及如上述所述的IO管理装置920,所述存储装置910与所述IO管理装置920连接。本实施例中的超融合系统能够实现对不同优先级的IO请求的精细化调度与管理,较好地保证了较高优先级的IO请求尽可能多的被优先调度处理,同时还避免了较低优先级的IO请求长时间得不到响应的问题,较好地保障了不同优先级的IO请求的稳定调度处理,灵活度较高。
图10示例了一种电子设备的实体结构示意图,如图10所示,该电子设备可以包括:处理器(processor)1010、通信接口(Communications Interface)1020、存储器(memory)1030和通信总线1040,其中,处理器1010,通信接口1020,存储器1030通过通信总线1040完成相互间的通信。处理器1010可以调用存储器1030中的逻辑指令,以执行上述实施例中的一种IO请求调度方法,该方法包括:在完成存储资源LUN创建、以及IO调度队列创建的情况下,接收IO管理装置发送的IO请求;存储资源LUN与IO调度队列一一对应,存储资源LUN的数量为至少两个,每个存储资源LUN均关联有对应的优先级标签和IO资源权重占比,每个IO调度队列均关联有相应的优先级标签和IO资源权重占比,IO请求携带有LUN关联信息;基于LUN关联信息,确定IO请求关联的存储资源LUN;基于IO请求关联的存储资源LUN的优先级标签,将IO请求放入对应的IO调度队列;基于每个IO调度队列关联的IO资源权重占比,进行IO请求调度。或者,执行上述实施例中的另一种IO请求调度方法,该方法包括:在确定存储装置完成存储资源LUN创建、以及IO调度队列创建的情况下,向存储装置发送虚拟机的IO请求;IO请求携带有LUN关联信息,IO请求用于指示存储装置基于LUN关联信息,确定IO请求关联的存储资源LUN,存储资源LUN与IO调度队列一一对应,存储资源LUN的数量为至少两个,每个存储资源LUN均关联有对应的优先级标签和IO资源权重占比,每个IO调度队列均关联有相应的优先级标签和IO资源权重占比;基于IO请求关联的存储资源LUN的优先级标签,将IO请求放入对应的IO调度队列;基于每个IO调度队列关联的IO资源权重占比,进行IO请求调度。
此外,上述的存储器1030中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的IO请求调度方法。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (17)

1.一种IO请求调度方法,其特征在于,包括:
在完成存储资源LUN创建、以及IO调度队列创建的情况下,接收IO管理装置发送的IO请求;所述存储资源LUN与所述IO调度队列一一对应,所述存储资源LUN的数量为至少两个,每个所述存储资源LUN均关联有对应的优先级标签和IO资源权重占比,每个所述IO调度队列均关联有相应的所述优先级标签和所述IO资源权重占比,所述IO请求携带有LUN关联信息;
基于所述LUN关联信息,确定所述IO请求关联的所述存储资源LUN;基于所述IO请求关联的所述存储资源LUN的所述优先级标签,将所述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请求调度。
2.根据权利要求1所述的IO请求调度方法,其特征在于,还包括:接收所述IO管理装置发送的存储资源LUN创建请求,所述存储资源LUN创建请求携带有每个存储资源LUN的优先级标签、以及每个所述存储资源LUN的IO资源权重占比;
基于所述存储资源LUN创建请求,进行存储资源LUN创建,得到多个所述存储资源LUN;
基于所述存储资源LUN,创建与所述存储资源LUN一一对应的IO调度队列。
3.根据权利要求1所述的IO请求调度方法,其特征在于,还包括:在完成所述存储资源LUN创建的情况下,将每个所述存储资源LUN关联的所述优先级标签和所述IO资源权重占比存储于本地内存,并且,将每个所述存储资源LUN关联的所述优先级标签和所述IO资源权重占比同步存储于预设的集群分布式数据库;
在存储装置处于故障恢复状态的情况下,将所述集群分布式数据库中的所述优先级标签和所述IO资源权重占比同步至本地内存,所述存储装置指执行所述IO请求调度方法的装置,所述故障恢复状态指所述存储装置出现故障后恢复运行的情况。
4.根据权利要求1所述的IO请求调度方法,其特征在于,基于所述第一目标调度IO请求数,进行IO请求调度的步骤包括:
基于每个所述IO调度队列的所述IO请求数量和所述第一目标调度IO请求数,得到第二目标调度IO请求数;基于所述第二目标调度IO请求数,进行IO请求调度;
所述第二目标调度IO请求数的获取步骤包括:在所述IO调度队列的所述IO请求数量小于或等于当前所述IO调度队列的所述第一目标调度IO请求数的情况下,得到当前所述IO调度队列的所述第二目标调度IO请求数,所述第二目标调度IO请求数的取值为当前所述IO调度队列的所述IO请求数量。
5.根据权利要求4所述的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配额总数。
6.根据权利要求5所述的IO请求调度方法,其特征在于,所述第二目标调度IO请求数的获取步骤还包括:
在所述IO调度队列的所述IO请求数量大于对应的所述第一目标调度IO请求数,且所述剩余IO配额总数小于所述待配额请求数的情况下,将补充调度数确定为当前所述IO调度队列的所述第二目标调度IO请求数的取值;
所述补充调度数的获取步骤包括:在所述IO请求数量大于对应的所述第一目标调度IO请求数,且所述剩余IO配额总数小于待配额请求数的情况下,将所述IO请求数量与所述剩余IO配额总数之间的和值,确定为所述补充调度数;
在将当前所述IO调度队列的所述第二目标调度IO请求数的取值确定为补充调度数的情况下,将所述剩余IO配额总数置为0。
7.根据权利要求4所述的IO请求调度方法,其特征在于,基于所述第二目标调度IO请求数,进行IO请求调度的步骤包括:
基于全部所述IO调度队列、以及每个所述IO调度队列的所述第二目标调度IO请求数,得到待处理IO请求列表;
对所述待处理IO请求列表中的所述IO请求进行调度;所述待处理IO请求列表中的全部所述IO请求均按照每个所述IO请求的优先级顺序依次排列。
8.一种存储装置,其特征在于,包括:
IO请求接收模块,用于在完成存储资源LUN创建、以及IO调度队列创建的情况下,接收IO管理装置发送的IO请求;所述存储资源LUN与所述IO调度队列一一对应,所述存储资源LUN的数量为至少两个,每个所述存储资源LUN均关联有对应的优先级标签和IO资源权重占比,每个所述IO调度队列均关联有相应的所述优先级标签和所述IO资源权重占比,所述IO请求携带有LUN关联信息;
IO请求调度模块,用于基于所述LUN关联信息,确定所述IO请求关联的所述存储资源LUN;基于所述IO请求关联的所述存储资源LUN的所述优先级标签,将所述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请求调度。
9.一种IO请求调度方法,其特征在于,包括:
在确定存储装置完成存储资源LUN创建、以及IO调度队列创建的情况下,向所述存储装置发送虚拟机的IO请求;所述IO请求携带有LUN关联信息,所述IO请求用于指示所述存储装置基于所述LUN关联信息,确定所述IO请求关联的所述存储资源LUN,所述存储资源LUN与所述IO调度队列一一对应,所述存储资源LUN的数量为至少两个,每个所述存储资源LUN均关联有对应的优先级标签和IO资源权重占比,每个所述IO调度队列均关联有相应的所述优先级标签和所述IO资源权重占比;基于所述IO请求关联的所述存储资源LUN的所述优先级标签,将所述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请求调度。
10.根据权利要求9所述的IO请求调度方法,其特征在于,还包括:
向存储装置发送存储资源LUN创建请求,所述存储资源LUN创建请求携带有每个存储资源LUN的所述优先级标签、以及每个所述存储资源LUN的所述IO资源权重占比;所述存储资源LUN创建请求为所述存储装置创建所述存储资源LUN的触发因素。
11.根据权利要求9所述的IO请求调度方法,其特征在于,所述存储装置创建的每个所述存储资源LUN关联的所述优先级标签和所述IO资源权重占比均存储于本地,并且,所述存储装置创建的每个所述存储资源LUN关联的所述优先级标签和所述IO资源权重占比同步存储于预设的集群分布式数据库。
12.根据权利要求9所述的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配额总数置为0;
所述IO请求还具体用于指示所述存储装置基于每个所述IO调度队列的所述第二目标调度IO请求数,进行IO请求调度。
13.根据权利要求12所述的IO请求调度方法,其特征在于,所述IO请求还具体用于指示所述存储装置基于全部所述IO调度队列、以及每个所述IO调度队列的所述第二目标调度IO请求数,得到待处理IO请求列表;对所述待处理IO请求列表中的所述IO请求进行调度;所述待处理IO请求列表中的全部所述IO请求均按照每个所述IO请求的优先级顺序依次排列。
14.一种IO管理装置,其特征在于,包括:
IO请求发送模块,用于在确定存储装置完成存储资源LUN创建、以及IO调度队列创建的情况下,向所述存储装置发送虚拟机的IO请求;所述IO请求携带有LUN关联信息,所述IO请求用于指示所述存储装置基于所述LUN关联信息,确定所述IO请求关联的所述存储资源LUN,所述存储资源LUN与所述IO调度队列一一对应,所述存储资源LUN的数量为至少两个,每个所述存储资源LUN均关联有对应的优先级标签和IO资源权重占比,每个所述IO调度队列均关联有相应的所述优先级标签和所述IO资源权重占比;基于所述IO请求关联的所述存储资源LUN的所述优先级标签,将所述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请求调度。
15.一种超融合系统,其特征在于,包括:
如权利要求8所述的存储装置、以及如权利要求14所述的IO管理装置,所述存储装置与所述IO管理装置连接。
16.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述IO请求调度方法,或者如权利要求9至13任一项所述IO请求调度方法。
17.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述IO请求调度方法,或者如权利要求9至13任一项所述IO请求调度方法。
CN202311698852.8A 2023-12-12 2023-12-12 Io请求调度方法及存储装置 Active CN117435142B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311698852.8A CN117435142B (zh) 2023-12-12 2023-12-12 Io请求调度方法及存储装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311698852.8A CN117435142B (zh) 2023-12-12 2023-12-12 Io请求调度方法及存储装置

Publications (2)

Publication Number Publication Date
CN117435142A CN117435142A (zh) 2024-01-23
CN117435142B true CN117435142B (zh) 2024-03-01

Family

ID=89551738

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311698852.8A Active CN117435142B (zh) 2023-12-12 2023-12-12 Io请求调度方法及存储装置

Country Status (1)

Country Link
CN (1) CN117435142B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108762687A (zh) * 2018-06-05 2018-11-06 星环信息科技(上海)有限公司 Io服务质量控制方法、装置、设备及存储介质
WO2020000944A1 (zh) * 2018-06-25 2020-01-02 星环信息科技(上海)有限公司 基于抢占式调度的资源共享使用方法、系统及设备
CN113608834A (zh) * 2021-07-29 2021-11-05 济南浪潮数据技术有限公司 一种基于超融合的资源调度方法、装置、设备及可读介质
CN115314439A (zh) * 2022-08-11 2022-11-08 迈普通信技术股份有限公司 数据存储io请求的流控方法和相关装置
CN115809014A (zh) * 2021-09-14 2023-03-17 中移(苏州)软件技术有限公司 一种调度控制方法、设备及计算机存储介质
CN116107749A (zh) * 2023-02-16 2023-05-12 麒麟软件有限公司 一种基于麒麟操作系统的io调度方法、装置及介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108762687A (zh) * 2018-06-05 2018-11-06 星环信息科技(上海)有限公司 Io服务质量控制方法、装置、设备及存储介质
WO2020000944A1 (zh) * 2018-06-25 2020-01-02 星环信息科技(上海)有限公司 基于抢占式调度的资源共享使用方法、系统及设备
CN113608834A (zh) * 2021-07-29 2021-11-05 济南浪潮数据技术有限公司 一种基于超融合的资源调度方法、装置、设备及可读介质
CN115809014A (zh) * 2021-09-14 2023-03-17 中移(苏州)软件技术有限公司 一种调度控制方法、设备及计算机存储介质
CN115314439A (zh) * 2022-08-11 2022-11-08 迈普通信技术股份有限公司 数据存储io请求的流控方法和相关装置
CN116107749A (zh) * 2023-02-16 2023-05-12 麒麟软件有限公司 一种基于麒麟操作系统的io调度方法、装置及介质

Also Published As

Publication number Publication date
CN117435142A (zh) 2024-01-23

Similar Documents

Publication Publication Date Title
US10764125B2 (en) Method and device for training model in distributed system
CN111338773B (zh) 一种分布式定时任务调度方法、调度系统及服务器集群
CN107018091B (zh) 资源请求的调度方法和装置
CN109564528B (zh) 分布式计算中计算资源分配的系统和方法
EP4209903A1 (en) Task scheduling method and apparatus
CN111338774A (zh) 分布式定时任务调度系统及计算装置
US20120117242A1 (en) Service linkage system and information processing system
CN110221920B (zh) 部署方法、装置、存储介质及系统
CN107577534A (zh) 一种资源调度方法及装置
CN111427670A (zh) 任务调度方法和系统
CN105592110A (zh) 一种资源调度方法及装置
CN113296874B (zh) 一种任务的调度方法、计算设备及存储介质
EP3358795B1 (en) Method and apparatus for allocating a virtual resource in network functions virtualization (nfv) network
CN113032102A (zh) 资源重调度方法、装置、设备和介质
CN114721818A (zh) 一种基于Kubernetes集群的GPU分时共享方法和系统
CN114816709A (zh) 任务调度方法、装置、服务器及可读存储介质
CN116048825A (zh) 容器集群构建方法及系统
CN117435142B (zh) Io请求调度方法及存储装置
CN112073532A (zh) 一种资源分配的方法及装置
CN116954816A (zh) 容器集群控制方法、装置、设备及计算机存储介质
CN114860387A (zh) 一种面向虚拟化存储应用的hba控制器i/o虚拟化方法
US10877800B2 (en) Method, apparatus and computer-readable medium for application scheduling
CN111045778B (zh) 一种虚拟机的创建方法、装置、服务器及存储介质
CN109617954B (zh) 一种创建云主机的方法和装置
CN111796932A (zh) 一种gpu资源调度方法

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