CN116991335B - 队列资源分配方法、装置、磁盘阵列卡、设备和介质 - Google Patents

队列资源分配方法、装置、磁盘阵列卡、设备和介质 Download PDF

Info

Publication number
CN116991335B
CN116991335B CN202311246445.3A CN202311246445A CN116991335B CN 116991335 B CN116991335 B CN 116991335B CN 202311246445 A CN202311246445 A CN 202311246445A CN 116991335 B CN116991335 B CN 116991335B
Authority
CN
China
Prior art keywords
disk
disk array
array
current period
read
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
CN202311246445.3A
Other languages
English (en)
Other versions
CN116991335A (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 CN202311246445.3A priority Critical patent/CN116991335B/zh
Publication of CN116991335A publication Critical patent/CN116991335A/zh
Application granted granted Critical
Publication of CN116991335B publication Critical patent/CN116991335B/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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • 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

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)
  • Debugging And Monitoring (AREA)

Abstract

本申请公开了一种队列资源分配方法、装置、磁盘阵列卡、设备和介质,涉及计算机技术领域,其中方法包括:获取磁盘阵列在当前周期的阵列配置参数;对磁盘阵列中各个磁盘在当前周期的读写性能进行采样,确定各个磁盘在当前周期的读写性能评估值;基于磁盘阵列在当前周期的阵列配置参数,以及各个磁盘在当前周期的读写性能评估值,对磁盘阵列对应的磁盘阵列卡中的队列资源进行动态规划,确定各个磁盘在当前周期对应的输入输出队列个数以及输入输出队列深度;基于各个磁盘在当前周期对应的输入输出队列个数以及输入输出队列深度,对磁盘阵列中的各个磁盘进行队列资源分配。本申请提供的方法和装置,提高了磁盘阵列卡中队列资源的利用率。

Description

队列资源分配方法、装置、磁盘阵列卡、设备和介质
技术领域
本申请涉及计算机技术领域,具体而言,涉及一种队列资源分配方法、装置、磁盘阵列卡、设备和介质。
背景技术
随着数据中心业务量的急剧增加,服务器上运行和存储的数据越来越多,同时数据存储速度的要求也越来越高。为了满足上述需求,磁盘阵列(Redundant Arrays ofIndependent Disks,RAID)技术应运而生。
用于对磁盘阵列进行控制的磁盘阵列卡一般通过输入输出(Input/Output,IO)队列来管理数据在磁盘阵列中的读取和写入。磁盘阵列中存在许多磁盘,同时也存在成百上千规模的数据读写通路。现有的队列资源分配方法采用平均分配的方式为每个磁盘分配输入输出队列,由于数据读写具有随机性,使得现有的队列资源分配无法准确地反映当前数据读写业务的实时需求,无法提高队列资源的利用率。
因此,如何使得队列资源的分配能够准确反映数据读写业务的实时需求,提高队列资源的利用率成为业界亟待解决的技术问题。
发明内容
本申请提供一种队列资源分配方法、装置、磁盘阵列卡设备和介质,用于解决如何使得队列资源的分配能够准确反映数据读写业务的实时需求,提高队列资源的利用率的技术问题。
本申请提供一种队列资源分配方法,包括:
获取磁盘阵列在当前周期的阵列配置参数;
对所述磁盘阵列中各个磁盘在所述当前周期的读写性能进行采样,确定各个磁盘在所述当前周期的读写性能评估值;
基于所述磁盘阵列在当前周期的阵列配置参数,以及各个磁盘在所述当前周期的读写性能评估值,对所述磁盘阵列对应的磁盘阵列卡中的队列资源进行动态规划,确定各个磁盘在所述当前周期对应的输入输出队列个数以及输入输出队列深度;
基于各个磁盘在所述当前周期对应的输入输出队列个数以及输入输出队列深度,对所述磁盘阵列中的各个磁盘进行队列资源分配。
在一些实施例中,所述对所述磁盘阵列中各个磁盘在所述当前周期的读写性能进行采样,确定各个磁盘在所述当前周期的读写性能评估值,包括:
基于所述当前周期以及与所述当前周期相邻的多个历史周期,确定所述当前周期对应的滑动时间窗口;
对各个磁盘在所述当前周期的读写性能进行采样,确定各个磁盘在所述当前周期的读写性能采样值;
基于各个磁盘在所述当前周期的读写性能采样值,以及各个磁盘在所述滑动时间窗口内的各个历史周期的读写性能采样值,确定各个磁盘在所述当前周期的读写性能评估值。
在一些实施例中,所述对各个磁盘在所述当前周期的读写性能进行采样,确定各个磁盘在所述当前周期的读写性能采样值,包括:
在所述当前周期内对各个磁盘的读写性能进行多次采样,将采样结果的平均值作为各个磁盘在所述当前周期的读写性能采样值。
在一些实施例中,所述基于各个磁盘在所述当前周期的读写性能采样值,以及各个磁盘在所述滑动时间窗口内的各个历史周期的读写性能采样值,确定各个磁盘在所述当前周期的读写性能评估值,包括:
基于所述滑动时间窗口对应的各个历史周期与所述当前周期之间的间隔时间,确定各个历史周期的采样权重;
基于各个历史周期的采样权重,各个磁盘在各个历史周期的读写性能采样值,所述当前周期的采样权重,以及各个磁盘在所述当前周期的读写性能采样值,确定各个磁盘在所述当前周期的读写性能评估值。
在一些实施例中,所述基于所述滑动时间窗口对应的各个历史周期与所述当前周期之间的间隔时间,确定各个历史周期的采样权重,包括:
基于各个历史周期与所述当前周期之间的间隔时间,以及所述当前周期的采样权重,确定各个历史周期的采样权重;
其中,所述历史周期的采样权重与所述历史周期和所述当前周期之间的间隔时间成反比例关系且所述历史周期的采样权重小于所述当前周期的采样权重。
在一些实施例中,所述获取磁盘阵列在当前周期的阵列配置参数,包括:
接收阵列业务模块发送的阵列级别配置参数;
接收磁盘驱动模块发送的磁盘数量变化参数;
基于所述阵列级别配置参数和/或所述磁盘数量变化参数,确定所述磁盘阵列在当前周期的阵列配置参数。
在一些实施例中,所述阵列级别配置参数包括所述磁盘阵列的阵列等级和/或者所述磁盘阵列的阵列优先级。
在一些实施例中,所述基于所述磁盘阵列在当前周期的阵列配置参数,以及各个磁盘在所述当前周期的读写性能评估值,对所述磁盘阵列对应的磁盘阵列卡中的队列资源进行动态规划,确定各个磁盘在所述当前周期对应的输入输出队列个数以及输入输出队列深度,包括:
以所述磁盘阵列在当前周期的阵列配置参数以及各个磁盘在所述当前周期的读写性能评估值为状态变量,以各个磁盘对应的输入输出队列个数以及输入输出队列深度为决策变量,基于所述状态变量和所述决策变量建立状态转移方程;
以所述磁盘阵列对应的磁盘阵列卡中的队列资源分配完毕为规划目标;
基于所述状态转移方程和所述规划目标,对所述磁盘阵列对应的磁盘阵列卡中的队列资源进行动态规划,得到各个磁盘在所述当前周期对应的输入输出队列个数以及输入输出队列深度。
在一些实施例中,所述磁盘阵列在当前周期的阵列配置参数包括阵列优先级;所述基于所述状态转移方程和所述规划目标,对所述磁盘阵列对应的磁盘阵列卡中的队列资源进行动态规划,包括:
在所述阵列优先级升高的情况下,增加所述磁盘阵列中各个磁盘对应的输入输出队列个数以及输入输出队列深度;
在所述阵列优先级降低的情况下,减少所述磁盘阵列中各个磁盘对应的输入输出队列个数以及输入输出队列深度。
在一些实施例中,所述磁盘阵列在当前周期的阵列配置参数包括磁盘数量变化参数;所述基于所述状态转移方程和所述规划目标,对所述磁盘阵列对应的磁盘阵列卡中的队列资源进行动态规划,包括:
基于所述磁盘数量变化参数确定已插入磁盘,为所述已插入磁盘分配输入输出队列,确定需要分配的输入输出队列个数以及输入输出队列深度;
或者,基于所述磁盘数量变化参数确定已拔出磁盘,回收所述已拔出磁盘对应的输入输出队列对应的队列资源。
在一些实施例中,所述基于所述状态转移方程和所述规划目标,对所述磁盘阵列对应的磁盘阵列卡中的队列资源进行动态规划,包括:
在任一磁盘在所述当前周期的读写性能评估值升高的情况下,增加所述任一磁盘对应的输入输出队列个数以及输入输出队列深度;
在任一磁盘在所述当前周期的读写性能评估值降低的情况下,减少所述任一磁盘对应的输入输出队列个数以及输入输出队列深度。
在一些实施例中,所述基于所述状态转移方程和所述规划目标,对所述磁盘阵列对应的磁盘阵列卡中的队列资源进行动态规划,包括:
在所述状态变量均不发生变化的情况下,确定所述磁盘阵列对应的磁盘阵列卡中的队列资源的分配结果合理。
在一些实施例中,所述以所述磁盘阵列在当前周期的阵列配置参数以及各个磁盘在所述当前周期的读写性能评估值为状态变量,包括:
在所述阵列配置参数包括阵列等级和磁盘数量变化参数的情况下,将所述阵列等级和所述磁盘数量变化参数合并为同一状态变量。
在一些实施例中,所述以所述磁盘阵列对应的磁盘阵列卡中的队列资源分配完毕为规划目标,包括:
基于所述磁盘阵列对应的磁盘阵列卡的内存资源,确定所述磁盘阵列卡中的队列条目数量;
基于所述磁盘阵列卡中的队列条目数量,确定所述磁盘阵列卡中的队列资源。
在一些实施例中,所述基于各个磁盘在所述当前周期对应的输入输出队列个数以及输入输出队列深度,对所述磁盘阵列中的各个磁盘进行队列资源分配之前,所述方法还包括:
向磁盘阵列管理软件发送临时接管请求;所述临时接管请求用于请求所述磁盘阵列管理软件对所述磁盘阵列进行数据读写控制;
接收所述磁盘阵列管理软件发送的临时接管响应,并基于所述临时接管响应断开与所述磁盘阵列的数据连接。
在一些实施例中,所述基于各个磁盘在所述当前周期对应的输入输出队列个数以及输入输出队列深度,对所述磁盘阵列中的各个磁盘进行队列资源分配之后,所述方法还包括:
向所述磁盘阵列管理软件发送队列分配完成信息;所述队列分配完成信息用于请求所述磁盘阵列管理软件停止对所述磁盘阵列进行数据读写控制;
接收数据读写命令,并基于所述数据读写命令对所述磁盘阵列进行数据读写控制。
本申请提供一种队列资源分配装置,包括:
获取模块,用于获取磁盘阵列在当前周期的阵列配置参数;
采样模块,用于对所述磁盘阵列中各个磁盘在所述当前周期的读写性能进行采样,确定各个磁盘在所述当前周期的读写性能评估值;
规划模块,用于基于所述磁盘阵列在当前周期的阵列配置参数,以及各个磁盘在所述当前周期的读写性能评估值,对所述磁盘阵列对应的磁盘阵列卡中的队列资源进行动态规划,确定各个磁盘在所述当前周期对应的输入输出队列个数以及输入输出队列深度;
分配模块,用于基于各个磁盘在所述当前周期对应的输入输出队列个数以及输入输出队列深度,对所述磁盘阵列中的各个磁盘进行队列资源分配。
在一些实施例中,还包括:
切换模块,用于在所述分配模块进行队列资源分配的情况下,将所述磁盘阵列的数据读写控制权限移交至磁盘阵列管理软件;
在所述分配模块完成队列资源分配的情况下,接收所述磁盘阵列管理软件移交的所述磁盘阵列的数据读写控制权限。
本申请提供一种磁盘阵列卡,包括所述的队列资源分配装置。
本申请提供一种服务器,包括所述的磁盘阵列卡和磁盘阵列;
所述磁盘阵列与所述磁盘阵列卡连接,用于接收所述磁盘阵列卡发送的数据读写命令,基于所述数据读写命令在所述磁盘阵列中的各个磁盘写入数据或者读取数据。
本申请提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现所述的队列资源分配方法。
本申请提供一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的队列资源分配方法。
本申请提供的队列资源分配方法、装置、磁盘阵列卡、设备和介质,获取磁盘阵列在当前周期的阵列配置参数;对各个磁盘在当前周期的读写性能进行采样,确定各个磁盘在当前周期的读写性能评估值;基于磁盘阵列在当前周期的阵列配置参数,以及各个磁盘在当前周期的读写性能评估值,对磁盘阵列对应的磁盘阵列卡中的队列资源进行动态规划,确定各个磁盘在当前周期对应的输入输出队列个数以及输入输出队列深度,对磁盘阵列中的各个磁盘进行队列资源分配;通过在当前周期对磁盘阵列卡中的队列资源进行动态规划,重新分配各个磁盘对应的输入输出队列个数以及输入输出队列深度,使得磁盘阵列卡中的队列资源分配能够准确地反映当前数据读写业务的实时需求,提高了磁盘阵列卡中队列资源的利用率,使得磁盘阵列能够适应随机的数据读写,提高了磁盘阵列的读写性能。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的队列资源分配方法的流程示意图;
图2是本申请实施例提供的滑动时间窗口的示意图;
图3是本申请实施例提供的磁盘读写控制切换的示意图之一;
图4是本申请实施例提供的磁盘读写控制切换的示意图之二;
图5是本申请实施例提供的队列资源分配装置的结构示意图之一;
图6是本申请实施例提供的队列资源分配装置的结构示意图之二;
图7是本申请实施例提供的磁盘阵列卡的结构示意图之一;
图8是本申请实施例提供的磁盘阵列卡的结构示意图之二;
图9是本申请实施例提供的服务器的结构示意图;
图10是本申请实施例提供的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
图1是本申请实施例提供的队列资源分配方法的流程示意图,如图1所示,该方法包括步骤110、步骤120、步骤130和步骤140。
步骤110、获取磁盘阵列在当前周期的阵列配置参数。
具体地,本申请实施例提供的队列资源分配方法的执行主体为队列资源分配装置。该装置可以通过软件实现,例如运行在磁盘阵列卡(又称RAID卡)中的队列资源分配程序;也可以为执行队列资源分配方法的装置,例如磁盘阵列卡、计算机或者服务器等。队列资源分配装置可以为磁盘阵列卡中独立设置的模块,也可以为磁盘阵列卡本身。
磁盘阵列是由很多块独立的磁盘,组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能,将数据切割成许多区段,分别存放在各个磁盘上。本申请实施例中对于磁盘阵列卡所连接的磁盘阵列的数量和阵列等级不作具体的限定。
磁盘阵列卡通过输入输出队列(也称IO队列)来管理数据在磁盘阵列中的读取和写入。磁盘阵列卡根据内存资源生成队列资源,为不同的磁盘分配不同的队列资源。
在磁盘阵列的读写过程中,随着数据业务的变化,磁盘阵列中的阵列优先级、阵列等级和磁盘数量等经常会随着数据业务的变化而变化,相应地,也应该对磁盘阵列中各个磁盘对应的队列资源进行调整。这种调整可以按照时间周期来进行。当前周期为即将对各个磁盘对应的队列资源进行调整的时间段或者阶段。
阵列配置参数是指与磁盘阵列中的阵列配置相关的参数,可以包括阵列等级、阵列优先级和磁盘数量变化参数等。磁盘数量变化参数是指磁盘阵列中的磁盘的数量变化。当对磁盘进行插拔时,磁盘阵列中的磁盘数量会增加或者减少。
步骤120、对磁盘阵列中各个磁盘在当前周期的读写性能进行采样,确定各个磁盘在当前周期的读写性能评估值。
具体地,在当前周期中,可以对各个磁盘的读写性能进行采样,得到相应的采样值。对这些采样值进行分析,可以得到各个磁盘在当前周期的读写性能评估值。
读写性能评估值用于对磁盘在当前周期的读写性能进行评估。读写性能可以采用每秒读写次数(Input/Output Per Second,IOPS)来衡量。
例如当前周期为M秒,通过采样的方法获取磁盘的IOPS,得到M个采样值。这些采样值可能是随机波动的,可以求取这些采样值的平均值作为磁盘在当前周期的读写性能评估值。
步骤130、基于磁盘阵列在当前周期的阵列配置参数,以及各个磁盘在当前周期的读写性能评估值,对磁盘阵列对应的磁盘阵列卡中的队列资源进行动态规划,确定各个磁盘在当前周期对应的输入输出队列个数以及输入输出队列深度。
具体地,可以采用动态规划的方法,对磁盘阵列对应的磁盘阵列卡中的队列资源进行重新分配,得到各个磁盘在当前周期对应的输入输出队列个数以及输入输出队列深度。
输入输出队列个数是指磁盘所分到的输入输出队列的数量。输入输出队列深度是指磁盘所分到的输入输出队列中的条目数量。条目为队列中的元素,条目越多,队列深度越大。
步骤140、基于各个磁盘在当前周期对应的输入输出队列个数以及输入输出队列深度,对磁盘阵列中的各个磁盘进行队列资源分配。
具体地,根据动态规划得到的各个磁盘在当前周期对应的输入输出队列个数以及输入输出队列深度,对磁盘阵列卡中的队列资源进行重新分配,对当前周期中各个磁盘对应的输入输出队列个数以及输入输出队列深度进行调整,使得磁盘阵列中各个磁盘更能适应数据业务的变化。
本申请实施例提供的队列资源分配方法,获取磁盘阵列在当前周期的阵列配置参数;对各个磁盘在当前周期的读写性能进行采样,确定各个磁盘在当前周期的读写性能评估值;基于磁盘阵列在当前周期的阵列配置参数,以及各个磁盘在当前周期的读写性能评估值,对磁盘阵列对应的磁盘阵列卡中的队列资源进行动态规划,确定各个磁盘在当前周期对应的输入输出队列个数以及输入输出队列深度,对磁盘阵列中的各个磁盘进行队列资源分配;通过在当前周期对磁盘阵列卡中的队列资源进行动态规划,重新分配各个磁盘对应的输入输出队列个数以及输入输出队列深度,使得磁盘阵列卡中的队列资源分配能够准确地反映当前数据读写业务的实时需求,提高了磁盘阵列卡中队列资源的利用率,使得磁盘阵列能够适应随机的数据读写,提高了磁盘阵列的读写性能。
需要说明的是,本申请每一个实施方式可以自由组合、调换顺序或者单独执行,并不需要依靠或依赖固定的执行顺序。
在一些实施例中,步骤120包括:
基于当前周期以及与当前周期相邻的多个历史周期,确定当前周期对应的滑动时间窗口;
对各个磁盘在当前周期的读写性能进行采样,确定各个磁盘在当前周期的读写性能采样值;
基于各个磁盘在当前周期的读写性能采样值,以及各个磁盘在滑动时间窗口内的各个历史周期的读写性能采样值,确定各个磁盘在当前周期的读写性能评估值。
具体地,磁盘的读写性能采样值是随着时间不断变化的数据流。如果采用单个周期的采样值,考虑到突发异常导致的峰值变化等因素,可能无法准确地反映磁盘的读写性能的真实变化。因此,可以采用滑动时间窗口采样的方法来确定各个磁盘在当前周期的读写性能评估值。
可以根据当前周期以及与当前周期相邻的多个历史周期,确定当前周期对应的滑动时间窗口。滑动时间窗口中的历史周期数量可以根据需要进行设置。
图2是本申请实施例提供的滑动时间窗口的示意图,如图2所示,可以将当前周期以及在时间轴上位于当前周期之前的两个相邻的历史周期确定为当前周期对应的滑动时间窗口。如果以第四周期为当前周期,则滑动时间窗口中的周期包括第二周期、第三周期和第四周期。如果以第五周期为当前周期,则滑动时间窗口中的周期包括第三周期、第四周期和第五周期。
对各个磁盘在当前周期的读写性能进行采样,可以得到各个磁盘在当前周期的读写性能采样值。
对每个磁盘而言,其在当前周期的读写性能评估值是根据该磁盘在当前周期的读写性能采样值,以及该磁盘在滑动时间窗口内的各个历史周期的读写性能采样值确定的。
例如对于某个磁盘来说,在第四周期的读写性能评估值是根据第二周期的读写性能采样值、第三周期的读写性能采样值和第四周期的读写性能采样值共同确定的。评估值可以为多个采样值中的平均值、最大值和最小值中的至少一种。
又例如,以滑动时间窗口包括3个周期为例,某个磁盘的第三周期至第五周期的读写性能评估值可以通过表1进行记录。
表1 某个磁盘的读写性能评估值
其中,第三周期的读写性能评估值是根据第三周期对应的滑动时间窗口内各个周期的读写性能采样值的平均值确定的。第三周期对应的滑动时间窗口内各个周期包括第一周期、第二周期和第三周期。
第四周期的读写性能评估值是根据第四周期对应的滑动时间窗口内各个周期的读写性能采样值的平均值确定的。第四周期对应的滑动时间窗口内各个周期包括第二周期、第三周期和第四周期。
第五周期的读写性能评估值是根据第五周期对应的滑动时间窗口内各个周期的读写性能采样值的平均值确定的。第五周期对应的滑动时间窗口内各个周期包括第三周期、第四周期和第五周期。
在上表中仅示意出了三个周期,在实际采样过程中,通过在时间轴上不断地向右动态移动滑动时间窗口,丢弃历史采样值,获取当前采样值,便于长期和准确地预测磁盘的读写性能的波动情况。
本申请实施例提供的队列资源分配方法,通过滑动时间窗口采样的方法来确定各个磁盘在当前周期的读写性能评估值,使得读写性能评估值能够准确地反映磁盘的读写性能的真实变化。
在一些实施例中,对各个磁盘在当前周期的读写性能进行采样,确定各个磁盘在当前周期的读写性能采样值,包括:
在当前周期内对各个磁盘的读写性能进行多次采样,将采样结果的平均值作为各个磁盘在当前周期的读写性能采样值。
具体地,每个周期的时间长度可以根据需要进行设定。在各个周期内可以对各个磁盘的读写性能进行多次采样,根据采样结果的平均值作为各个磁盘在各个周期的读写性能采样值。
例如,每个周期可以为M秒,以秒为时间单位对磁盘的读写性能进行多次采样,则在每个周期内可以采样得到磁盘的读写性能的M个采样结果,可以将M个采样结果的平均值作为该磁盘在每个周期的读写性能采样值。
本申请实施例提供的队列资源分配方法,在当前周期内对各个磁盘的读写性能进行多次采样并取平均值作为最终的读写性能采样值,提高了读写性能采样值的准确性。
在一些实施例中,基于各个磁盘在当前周期的读写性能采样值,以及各个磁盘在滑动时间窗口内的各个历史周期的读写性能采样值,确定各个磁盘在当前周期的读写性能评估值,包括:
基于滑动时间窗口对应的各个历史周期与当前周期之间的间隔时间,确定各个历史周期的采样权重;
基于各个历史周期的采样权重,各个磁盘在各个历史周期的读写性能采样值,当前周期的采样权重,以及各个磁盘在当前周期的读写性能采样值,确定各个磁盘在当前周期的读写性能评估值。
具体地,采样权重用于衡量读写性能采样值能够反映磁盘的读写性能的真实变化的程度大小。当前周期之前的各个历史周期所采集的读写性能采样值也可以反映当前周期的磁盘的读写性能变化,并且距离当前周期的间隔时间越短,反映磁盘的读写性能的真实变化的程度也就越大;距离当前周期的间隔时间越长,反映磁盘的读写性能的真实变化的程度也就越小。
对于每个磁盘,可以根据滑动时间窗口对应的各个历史周期与当前周期之间的间隔时间,确定各个历史周期的采样权重。例如间隔时间越短,则采样权重越大;间隔时间越长,则采样权重越小。
根据各个历史周期的采样权重,各个磁盘在各个历史周期的读写性能采样值,当前周期的采样权重,以及各个磁盘在当前周期的读写性能采样值,加权平均后可以得到各个磁盘在当前周期的读写性能评估值。
例如以第四周期为当前周期,则滑动时间窗口中的周期包括第二周期、第三周期和第四周期。可以分别确定第二周期的采样权重为0.5,第三周期的采样权重为0.7,第四周期的采样权重为1。分别对各个周期的读写性能采样值进行加权平均后,得到第四周期的读写性能评估值。
本申请实施例提供的队列资源分配方法,通过确定各个周期的采样权重,对滑动时间窗口对应的各个周期的读写性能采样值进行加权平均得到读写性能评估值,使得读写性能评估值能够准确地反映磁盘的读写性能的真实变化。
在一些实施例中,基于滑动时间窗口对应的各个历史周期与当前周期之间的间隔时间,确定各个历史周期的采样权重,包括:
基于各个历史周期与当前周期之间的间隔时间,以及当前周期的采样权重,确定各个历史周期的采样权重;
其中,历史周期的采样权重与历史周期和当前周期之间的间隔时间成反比例关系且历史周期的采样权重小于当前周期的采样权重。
具体地,可以先确定当前周期的采样权重,按照采样权重与间隔时间成反比例关系的原则,来确定各个历史周期的采样权重。
历史周期与当前周期之间的间隔时间越短,则该历史周期能够反映磁盘的读写性能的真实变化的程度越大,则采样权重也就越大;历史周期与当前周期之间的间隔时间越长,则该历史周期能够反映磁盘的读写性能的真实变化的程度越小,则采样权重也就越小。但是,各个历史周期的采样权重均应当小于当前周期的采样权重。
本申请实施例提供的队列资源分配方法,按照采样权重与间隔时间成反比例关系的原则来确定各个历史周期的采样权重,使得最终得到的读写性能评估值能够准确地反映磁盘的读写性能的真实变化。
在一些实施例中,步骤110包括:
接收阵列业务模块发送的阵列级别配置参数;
接收磁盘驱动模块发送的磁盘数量变化参数;
基于阵列级别配置参数和/或磁盘数量变化参数,确定磁盘阵列在当前周期的阵列配置参数。
具体地,磁盘阵列卡中还包括阵列业务模块和磁盘驱动模块。阵列业务模块用于对磁盘阵列进行配置和管理;磁盘驱动模块用于对磁盘对应的驱动软件进行管理。
队列资源分配装置与阵列业务模块连接,用于接收阵列级别配置参数;与磁盘驱动模块连接,用于接收磁盘数量变化参数。
阵列业务模块和磁盘驱动模块对磁盘阵列中的事件进行监听,根据事件生成阵列级别配置参数和磁盘数量变化参数,发送至队列资源分配装置。
在当前周期内接收到的阵列级别配置参数和/或磁盘数量变化参数,即为磁盘阵列在当前周期的阵列配置参数。
本申请实施例提供的队列资源分配方法,通过接收阵列级别配置参数和/或磁盘数量变化参数,确定当前周期的阵列配置参数,使得磁盘阵列卡中的队列资源分配能够准确地反映当前数据读写业务的实时需求。
在一些实施例中,阵列级别配置参数包括磁盘阵列的阵列等级和/或者磁盘阵列的阵列优先级。
具体地,阵列等级是指磁盘阵列配置的级别,可以包括RAID0、RAID1、RAID5、RAID6和RAID10等。阵列优先级是指磁盘阵列数据读写的优先等级,可以根据磁盘阵列中数据的重要性,设置阵列优先级。数据的重要性越高,则阵列优先级越高。
本申请实施例提供的队列资源分配方法,通过获取磁盘阵列的阵列等级和/或者磁盘阵列的阵列优先级,能够比较全面地反映当前数据读写业务的实时需求。
在一些实施例中,步骤130包括:
以磁盘阵列在当前周期的阵列配置参数以及各个磁盘在当前周期的读写性能评估值为状态变量,以各个磁盘对应的输入输出队列个数以及输入输出队列深度为决策变量,基于状态变量和决策变量建立状态转移方程;
以磁盘阵列对应的磁盘阵列卡中的队列资源分配完毕为规划目标;
基于状态转移方程和规划目标,对磁盘阵列对应的磁盘阵列卡中的队列资源进行动态规划,得到各个磁盘在当前周期对应的输入输出队列个数以及输入输出队列深度。
具体地,状态变量是指在动态规划过程中所定义的表示问题状态的变量。在本申请实施例中,可以将磁盘阵列在当前周期的阵列配置参数以及各个磁盘在当前周期的读写性能评估值作为状态变量,可以用表2表示。
表2 状态变量表
其中,在磁盘的数量为N的情况下,各个磁盘的读写性能评估值可以用N维数组来表示。
上述状态变量表表示当前周期的状态变量。通过持续实时地、动态地更新上述表格,可以实时做出动态规划,确定当前周期的实时最优解,也就是各个磁盘在当前周期对应的输入输出队列个数以及输入输出队列深度。
决策变量是在动态规划中所定义的表示做出的决策或选择的变量。在本申请实施例中,可以将各个磁盘对应的输入输出队列个数以及输入输出队列深度作为决策变量。
状态转移方程用于描述状态变量变化与决策变量之间的关系。例如,状态转移方程的输入可以为状态变量,输出可以为决策变量,用公式表示为:
dp[磁盘阵列在当前周期的阵列配置参数][各个磁盘在当前周期的读写性能评估值]=队列资源分配(磁盘1的队列分配结果,磁盘2的队列分配结果,…,磁盘N的队列分配结果)
其中,dp表示动态规划的状态转移方程,N为磁盘阵列中的磁盘数量,队列分配结果表示磁盘在当前周期对应的输入输出队列个数以及输入输出队列深度。
规划目标是指在动态规划中实现的最优结果。在本申请实施例中,规划目标为磁盘阵列卡中的队列资源分配完毕,也就是将磁盘阵列卡中的队列资源全部分配给磁盘阵列中的各个磁盘。例如,磁盘阵列卡中的队列资源的资源总数为IO Total Resource,则规划目标为IO Total Resource=0。
本申请实施例提供的队列资源分配方法,通过动态规划的方法对磁盘阵列对应的磁盘阵列卡中的队列资源进行重新分配和调整,使得磁盘阵列卡中的队列资源分配能够准确地反映当前数据读写业务的实时需求,提高了磁盘阵列卡中队列资源的利用率,使得磁盘阵列能够适应随机的数据读写,提高了磁盘阵列的读写性能。
在一些实施例中,磁盘阵列在当前周期的阵列配置参数包括阵列优先级。相应地,基于状态转移方程和规划目标,对磁盘阵列对应的磁盘阵列卡中的队列资源进行动态规划,包括:
在阵列优先级升高的情况下,增加磁盘阵列中各个磁盘对应的输入输出队列个数以及输入输出队列深度;
在阵列优先级降低的情况下,减少磁盘阵列中各个磁盘对应的输入输出队列个数以及输入输出队列深度。
具体地,阵列优先级越高,表明磁盘阵列中所存储的数据的重要性越高。可以以数字[0,9]为磁盘阵列卡连接的各个磁盘阵列定义阵列优先级,数字越大,阵列优先级越高。阵列优先级会随着数据业务的变化而变化。
在阵列优先级升高的情况下,表示该磁盘阵列中的数据重要性提高,则可以为该磁盘阵列中的各个磁盘多分配队列资源,例如增加输入输出队列个数,以及增加输入输出队列深度。
在阵列优先级降低的情况下,表示该磁盘阵列中的数据重要性降低,则可以为该磁盘阵列中的各个磁盘少分配队列资源,例如减少输入输出队列个数,以及减少输入输出队列深度。
本申请实施例提供的队列资源分配方法,根据当前周期的阵列优先级的变化,对磁盘阵列中各个磁盘的队列个数和队列深度进行调整,使得磁盘阵列卡中的队列资源分配能够准确地反映当前数据读写业务的实时需求,提高了磁盘阵列卡中队列资源的利用率。
在一些实施例中,磁盘阵列在当前周期的阵列配置参数包括磁盘数量变化参数。相应地,基于状态转移方程和规划目标,对磁盘阵列对应的磁盘阵列卡中的队列资源进行动态规划,包括:
基于磁盘数量变化参数确定已插入磁盘,为已插入磁盘分配输入输出队列,确定需要分配的输入输出队列个数以及输入输出队列深度;
或者,基于磁盘数量变化参数确定已拔出磁盘,回收已拔出磁盘对应的输入输出队列对应的队列资源。
具体地,在磁盘数量变化参数表示磁盘增加的情况下,表示磁盘阵列中增加了磁盘(例如在磁盘阵列中插入磁盘),可能需要执行更多的数据读写操作,则可以根据磁盘数量变化参数确定已插入磁盘,为已插入磁盘分配输入输出队列,并确定需要分配的输入输出队列个数以及输入输出队列深度。
在磁盘数量变化参数表示磁盘减少的情况下,表示磁盘阵列中减少了磁盘(例如在磁盘阵列中拔出磁盘),则可以根据磁盘数量变化参数确定已拔出磁盘,回收已拔出磁盘对应的输入输出队列对应的队列资源。
本申请实施例提供的队列资源分配方法,根据当前周期的磁盘数量变化参数,为新增加的磁盘分配队列资源或者为减少的磁盘回收队列资源,使得磁盘阵列卡中的队列资源分配能够准确地反映当前数据读写业务的实时需求,提高了磁盘阵列卡中队列资源的利用率。
在一些实施例中,基于状态转移方程和规划目标,对磁盘阵列对应的磁盘阵列卡中的队列资源进行动态规划,包括:
在任一磁盘在当前周期的读写性能评估值升高的情况下,增加该磁盘对应的输入输出队列个数以及输入输出队列深度;
在任一磁盘在当前周期的读写性能评估值降低的情况下,减少该磁盘对应的输入输出队列个数以及输入输出队列深度。
具体地,任一磁盘在当前周期的读写性能评估值升高,表明该磁盘在当前周期需要读写的数据量在增加,因此需要分配更多的队列资源,可以增加该磁盘对应的输入输出队列个数,以及增加输入输出队列深度。
任一磁盘在当前周期的读写性能评估值降低,表明该磁盘在当前周期需要读写的数据量在减少,因此可以分配更少的队列资源,可以减少该磁盘对应的输入输出队列个数,以及减少输入输出队列深度。
本申请实施例提供的队列资源分配方法,根据磁盘在当前周期的读写性能评估值,为该磁盘动态分配队列资源,使得磁盘阵列卡中的队列资源分配能够准确地反映当前数据读写业务的实时需求,提高了磁盘阵列卡中队列资源的利用率。
在一些实施例中,基于状态转移方程和规划目标,对磁盘阵列对应的磁盘阵列卡中的队列资源进行动态规划,包括:
在状态变量均不发生变化的情况下,确定磁盘阵列对应的磁盘阵列卡中的队列资源的分配结果合理。
具体地,在动态规划的过程中,如果状态变量均不发生变化,则可以认为在当前周期中磁盘阵列对应的磁盘阵列卡中的队列资源的分配结果是合理的,无需重新分配。
例如如果当前周期的各个磁盘在当前周期的读写性能评估值与上一周期的各个磁盘在当前周期的读写性能评估值相比,数值的波动幅度小于预设阈值(比如设定为5%),则可以认为各个磁盘在当前周期的读写性能评估值与上一周期相比,未发生变化。此时如果磁盘阵列在当前周期的阵列配置参数也未发生变化,则可以认为当前周期中磁盘阵列对应的队列资源的分配结果合理。
本申请实施例提供的队列资源分配方法,通过状态变量的变化确定队列资源的分配结果是否合理,使得磁盘阵列卡中的队列资源分配能够准确地反映当前数据读写业务的实时需求,提高了磁盘阵列卡中队列资源的利用率。
在一些实施例中,以磁盘阵列在当前周期的阵列配置参数以及各个磁盘在当前周期的读写性能评估值为状态变量,包括:
在阵列配置参数包括阵列等级和磁盘数量变化参数的情况下,将阵列等级和磁盘数量变化参数合并为同一状态变量。
具体地,阵列等级变化包括阵列升级或者阵列降级。例如磁盘阵列的阵列等级从RAID0升级到RAID5,由于增加了校验P盘,数据量不变,磁盘个数势必相应增多,此时需要考虑给校验盘分配队列资源。相反,当RAID5升级到RAID0,由于去除了校验P盘,相应数据量减少,此时可以考虑移出校验盘,回收校验盘对应的队列资源。
由于阵列等级的变化最终体现为磁盘个数变化,因此可以将阵列等级和磁盘数量变化参数合并为同一状态变量,例如用磁盘数量变化参数来代替。则状态转移方程可以具体表示为:
dp[当前周期的阵列优先级][当前周期的磁盘数量变化参数][各个磁盘在当前周期的读写性能评估值] =队列资源分配(磁盘1的队列分配结果,磁盘2的队列分配结果,…,磁盘N的队列分配结果)
本申请实施例提供的队列资源分配方法,通过合并状态变量,简化了动态规划过程,提高了磁盘阵列卡中队列资源的利用率。
在一些实施例中,以磁盘阵列对应的磁盘阵列卡中的队列资源分配完毕为规划目标,包括:
基于磁盘阵列对应的磁盘阵列卡的内存资源,确定磁盘阵列卡中的队列条目数量;
基于磁盘阵列卡中的队列条目数量,确定磁盘阵列卡中的队列资源。
具体地,磁盘阵列卡中的队列资源是根据磁盘阵列卡中的内存资源确定的。内存资源越多,队列资源也就越丰富。
可以确定每个队列条目对应的内存资源。根据磁盘阵列卡的内存资源,以及每个队列条目对应的内存资源,确定磁盘阵列卡所支持的队列条目数量。磁盘阵列卡所支持的队列条目数量就是磁盘阵列卡中的队列资源。
本申请实施例提供的队列资源分配方法,根据磁盘阵列卡的内存资源确定磁盘阵列卡中的队列资源,提高了磁盘阵列卡中队列资源的利用率。
在一些实施例中,步骤140之前还包括:
向磁盘阵列管理软件发送临时接管请求;临时接管请求用于请求磁盘阵列管理软件对磁盘阵列进行数据读写控制;
接收磁盘阵列管理软件发送的临时接管响应,并基于临时接管响应断开与磁盘阵列的数据连接。
具体地,服务器中执行磁盘阵列管理任务的可以为磁盘阵列卡(也被称为硬件RAID),也可以为操作系统中的磁盘阵列管理软件(也被称为软件RAID)。
软件RAID没有独立硬件和接口,需要占用一定的系统资源(如处理器资源等),并且容易受到操作系统稳定性影响,成本较低,但是性能也相对较差。硬件RAID其内部有独立的硬件引擎(如数据分发引擎、输入输出处理引擎等)和各种缓存资源,各个引擎负责指定的任务,原则上不需要占用其他硬件资源,成本比较高,相比软RAID来说,性能也更好。
在本申请实施例中,磁盘阵列卡在输入输出队列资源的动态规划之后,需要执行输入输出队列资源的重新分配,此时磁盘阵列中可能还存在数据读写操作。由于磁盘阵列卡不能同时执行队列资源分配和数据读写控制,因此可以请求磁盘阵列管理软件进行临时接管,执行数据读写操作的控制。
图3是本申请实施例提供的磁盘读写控制切换的示意图之一,如图3所示,磁盘阵列卡可以向磁盘阵列管理软件发送临时接管请求。临时接管请求用于请求磁盘阵列管理软件对磁盘阵列进行数据读写控制,接替磁盘阵列卡工作,使得磁盘阵列卡可以执行队列资源分配。
磁盘阵列管理软件接收临时接管请求后,向磁盘阵列卡发送临时接管响应。临时接管响应用于表示磁盘阵列管理软件对磁盘阵列进行数据读写控制。磁盘阵列卡根据临时接管响应断开与磁盘阵列的数据连接,由磁盘阵列管理软件对磁盘阵列进行读写控制。
本申请实施例提供的队列资源分配方法,在执行队列资源分配之前,磁盘阵列卡请求磁盘阵列管理软件对磁盘阵列进行读写控制,可以解决队列资源重配过程中输入输出数据不断流的问题,使得磁盘阵列能够适应随机的数据读写,提高了磁盘阵列的读写性能。
在一些实施例中,步骤140之后还包括:
向磁盘阵列管理软件发送队列分配完成信息;队列分配完成信息用于请求磁盘阵列管理软件停止对磁盘阵列进行数据读写控制;
接收数据读写命令,并基于数据读写命令对磁盘阵列进行数据读写控制。
具体地,图4是本申请实施例提供的磁盘读写控制切换的示意图之二,如图4所示,在完成队列分配之后,磁盘阵列卡可以向磁盘阵列管理软件发送队列分配完成信息。队列分配完成信息用于请求磁盘阵列管理软件停止对磁盘阵列进行数据读写控制。磁盘阵列管理软件终止相关进程,停止对磁盘阵列进行控制和管理。
磁盘阵列卡继续接收操作系统发送的数据读写命令,并根据数据读写命令对磁盘阵列进行数据读写控制。
本申请实施例提供的队列资源分配方法,在执行队列资源分配之后,磁盘阵列卡继续对磁盘阵列进行控制和管理,使得磁盘阵列能够适应随机的数据读写,提高了磁盘阵列的读写性能。
下面对本申请实施例提供的装置进行描述,下文描述的装置与上文描述的方法可相互对应参照。
图5是本申请实施例提供的队列资源分配装置的结构示意图之一,如图5所示,该队列资源分配装置500包括:
获取模块510,用于获取磁盘阵列在当前周期的阵列配置参数;
采样模块520,用于对磁盘阵列中各个磁盘在当前周期的读写性能进行采样,确定各个磁盘在当前周期的读写性能评估值;
规划模块530,用于基于磁盘阵列在当前周期的阵列配置参数,以及各个磁盘在当前周期的读写性能评估值,对磁盘阵列对应的磁盘阵列卡中的队列资源进行动态规划,确定各个磁盘在当前周期对应的输入输出队列个数以及输入输出队列深度;
分配模块540,用于基于各个磁盘在当前周期对应的输入输出队列个数以及输入输出队列深度,对磁盘阵列中的各个磁盘进行队列资源分配。
本申请实施例提供的队列资源分配装置,获取磁盘阵列在当前周期的阵列配置参数;对各个磁盘在当前周期的读写性能进行采样,确定各个磁盘在当前周期的读写性能评估值;基于磁盘阵列在当前周期的阵列配置参数,以及各个磁盘在当前周期的读写性能评估值,对磁盘阵列对应的磁盘阵列卡中的队列资源进行动态规划,确定各个磁盘在当前周期对应的输入输出队列个数以及输入输出队列深度,对磁盘阵列中的各个磁盘进行队列资源分配;通过在当前周期对磁盘阵列卡中的队列资源进行动态规划,重新分配各个磁盘对应的输入输出队列个数以及输入输出队列深度,使得磁盘阵列卡中的队列资源分配能够准确地反映当前数据读写业务的实时需求,提高了磁盘阵列卡中队列资源的利用率,使得磁盘阵列能够适应随机的数据读写,提高了磁盘阵列的读写性能。
在一些实施例中,采样模块用于:
基于当前周期以及与当前周期相邻的多个历史周期,确定当前周期对应的滑动时间窗口;
对各个磁盘在当前周期的读写性能进行采样,确定各个磁盘在当前周期的读写性能采样值;
基于各个磁盘在当前周期的读写性能采样值,以及各个磁盘在滑动时间窗口内的各个历史周期的读写性能采样值,确定各个磁盘在当前周期的读写性能评估值。
在一些实施例中,采样模块用于:
在当前周期内对各个磁盘的读写性能进行多次采样,将采样结果的平均值作为各个磁盘在当前周期的读写性能采样值。
在一些实施例中,采样模块用于:
基于滑动时间窗口对应的各个历史周期与当前周期之间的间隔时间,确定各个历史周期的采样权重;
基于各个历史周期的采样权重,各个磁盘在各个历史周期的读写性能采样值,当前周期的采样权重,以及各个磁盘在当前周期的读写性能采样值,确定各个磁盘在当前周期的读写性能评估值。
在一些实施例中,采样模块用于:
基于各个历史周期与当前周期之间的间隔时间,以及当前周期的采样权重,确定各个历史周期的采样权重;
其中,历史周期的采样权重与历史周期和当前周期之间的间隔时间成反比例关系且历史周期的采样权重小于当前周期的采样权重。
在一些实施例中,获取模块用于:
接收阵列业务模块发送的阵列级别配置参数;
接收磁盘驱动模块发送的磁盘数量变化参数;
基于阵列级别配置参数和/或磁盘数量变化参数,确定磁盘阵列在当前周期的阵列配置参数。
在一些实施例中,阵列级别配置参数包括磁盘阵列的阵列等级和/或者磁盘阵列的阵列优先级。
在一些实施例中,规划模块用于:
以磁盘阵列在当前周期的阵列配置参数以及各个磁盘在当前周期的读写性能评估值为状态变量,以各个磁盘对应的输入输出队列个数以及输入输出队列深度为决策变量,基于状态变量和决策变量建立状态转移方程;
以磁盘阵列对应的磁盘阵列卡中的队列资源分配完毕为规划目标;
基于状态转移方程和规划目标,对磁盘阵列对应的磁盘阵列卡中的队列资源进行动态规划,得到各个磁盘在当前周期对应的输入输出队列个数以及输入输出队列深度。
在一些实施例中,磁盘阵列在当前周期的阵列配置参数包括阵列优先级。相应地,规划模块用于:
在阵列优先级升高的情况下,增加磁盘阵列中各个磁盘对应的输入输出队列个数以及输入输出队列深度;
在阵列优先级降低的情况下,减少磁盘阵列中各个磁盘对应的输入输出队列个数以及输入输出队列深度。
在一些实施例中,磁盘阵列在当前周期的阵列配置参数包括磁盘数量变化参数。相应地,规划模块用于:
基于磁盘数量变化参数确定已插入磁盘,为已插入磁盘分配输入输出队列,确定需要分配的输入输出队列个数以及输入输出队列深度;
或者,基于磁盘数量变化参数确定已拔出磁盘,回收已拔出磁盘对应的输入输出队列对应的队列资源。
在一些实施例中,规划模块用于:
在任一磁盘在当前周期的读写性能评估值升高的情况下,增加任一磁盘对应的输入输出队列个数以及输入输出队列深度;
在任一磁盘在当前周期的读写性能评估值降低的情况下,减少任一磁盘对应的输入输出队列个数以及输入输出队列深度。
在一些实施例中,规划模块用于:
在状态变量均不发生变化的情况下,确定磁盘阵列对应的磁盘阵列卡中的队列资源的分配结果合理。
在一些实施例中,规划模块用于:
在阵列配置参数包括阵列等级和磁盘数量变化参数的情况下,将阵列等级和磁盘数量变化参数合并为同一状态变量。
在一些实施例中,规划模块用于:
基于磁盘阵列对应的磁盘阵列卡的内存资源,确定磁盘阵列卡中的队列条目数量;
基于磁盘阵列卡中的队列条目数量,确定磁盘阵列卡中的队列资源。
图6是本申请实施例提供的队列资源分配装置的结构示意图之二,如图6所示,该装置还包括:
切换模块550,与分配模块连接,用于在分配模块进行队列资源分配的情况下,将磁盘阵列的数据读写控制权限移交至磁盘阵列管理软件;
在分配模块完成队列资源分配的情况下,接收磁盘阵列管理软件移交的磁盘阵列的数据读写控制权限。
本申请实施例提供的队列资源分配装置,可以解决队列资源重配过程中输入输出数据不断流的问题,使得磁盘阵列能够适应随机的数据读写,提高了磁盘阵列的读写性能。
在一些实施例中,切换模块用于:
向磁盘阵列管理软件发送临时接管请求;临时接管请求用于请求磁盘阵列管理软件对磁盘阵列进行数据读写控制;
接收磁盘阵列管理软件发送的临时接管响应,并基于临时接管响应断开与磁盘阵列的数据连接。
在一些实施例中,切换模块用于:
向磁盘阵列管理软件发送队列分配完成信息;队列分配完成信息用于请求磁盘阵列管理软件停止对磁盘阵列进行数据读写控制;
接收数据读写命令,并基于数据读写命令对磁盘阵列进行数据读写控制。
在一些实施例中,该装置还可以包括:
异常管理模块,用于对磁盘阵列管理软件对磁盘阵列进行数据读写控制的过程中发送的异常进行处理。
图7是本申请实施例提供的磁盘阵列卡的结构示意图之一,如图7所示,该磁盘阵列卡700包括上述实施例中的队列资源分配装置500。
本申请实施例提供的磁盘阵列卡,由于包括队列资源分配装置,因此可以使得队列资源分配能够准确地反映当前数据读写业务的实时需求,提高了磁盘阵列卡中队列资源的利用率,使得磁盘阵列能够适应随机的数据读写,提高了磁盘阵列的读写性能。
图8是本申请实施例提供的磁盘阵列卡的结构示意图之二,如图8所示,磁盘阵列卡700还包括阵列业务模块710和磁盘驱动模块720。阵列业务模块710与队列资源分配装置500连接,用于发送阵列级别配置参数。磁盘驱动模块720与队列资源分配装置500连接,用于发送磁盘数量变化参数。
图9是本申请实施例提供的服务器的结构示意图,如图9所示,该服务器900包括上述实施例中的磁盘阵列卡700和磁盘阵列910。
磁盘阵列910与磁盘阵列卡700连接,用于接收磁盘阵列卡700发送的数据读写命令,基于数据读写命令在磁盘阵列910中的各个磁盘写入数据或者读取数据。
本申请实施例提供的服务器,由于包括磁盘阵列卡,因此可以使得队列资源分配能够准确地反映当前数据读写业务的实时需求,提高了磁盘阵列卡中队列资源的利用率,使得磁盘阵列能够适应随机的数据读写,提高了磁盘阵列的读写性能。
图10是本申请实施例提供的电子设备的结构示意图,如图10所示,该电子设备可以包括:处理器(Processor)1010、通信接口(Communications Interface)1020、存储器(Memory)1030和通信总线(Communications Bus)1040,其中,处理器1010,通信接口1020,存储器1030通过通信总线1040完成相互间的通信。处理器1010可以调用存储器1030中的逻辑命令,以执行上述实施例中所述的方法,例如:
获取磁盘阵列在当前周期的阵列配置参数;对磁盘阵列中各个磁盘在当前周期的读写性能进行采样,确定各个磁盘在当前周期的读写性能评估值;基于磁盘阵列在当前周期的阵列配置参数,以及各个磁盘在当前周期的读写性能评估值,对磁盘阵列对应的磁盘阵列卡中的队列资源进行动态规划,确定各个磁盘在当前周期对应的输入输出队列个数以及输入输出队列深度;基于各个磁盘在当前周期对应的输入输出队列个数以及输入输出队列深度,对磁盘阵列中的各个磁盘进行队列资源分配。
此外,上述的存储器中的逻辑命令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干命令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请实施例提供的电子设备中的处理器可以调用存储器中的逻辑指令,实现上述方法,其具体的实施方式与前述方法实施方式一致,且可以达到相同的有益效果,此处不再赘述。
本申请实施例还提供一种计算机可读的存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的方法。
其具体的实施方式与前述方法实施方式一致,且可以达到相同的有益效果,此处不再赘述。
本申请实施例提供一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现如上述方法。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (21)

1.一种队列资源分配方法,其特征在于,包括:
获取磁盘阵列在当前周期的阵列配置参数;
对所述磁盘阵列中各个磁盘在所述当前周期的读写性能进行采样,确定各个磁盘在所述当前周期的读写性能评估值;
基于所述磁盘阵列在当前周期的阵列配置参数,以及各个磁盘在所述当前周期的读写性能评估值,对所述磁盘阵列对应的磁盘阵列卡中的队列资源进行动态规划,确定各个磁盘在所述当前周期对应的输入输出队列个数以及输入输出队列深度;
基于各个磁盘在所述当前周期对应的输入输出队列个数以及输入输出队列深度,对所述磁盘阵列中的各个磁盘进行队列资源分配。
2.根据权利要求1所述的队列资源分配方法,其特征在于,所述对所述磁盘阵列中各个磁盘在所述当前周期的读写性能进行采样,确定各个磁盘在所述当前周期的读写性能评估值,包括:
基于所述当前周期以及与所述当前周期相邻的多个历史周期,确定所述当前周期对应的滑动时间窗口;
对各个磁盘在所述当前周期的读写性能进行采样,确定各个磁盘在所述当前周期的读写性能采样值;
基于各个磁盘在所述当前周期的读写性能采样值,以及各个磁盘在所述滑动时间窗口内的各个历史周期的读写性能采样值,确定各个磁盘在所述当前周期的读写性能评估值。
3.根据权利要求2所述的队列资源分配方法,其特征在于,所述对各个磁盘在所述当前周期的读写性能进行采样,确定各个磁盘在所述当前周期的读写性能采样值,包括:
在所述当前周期内对各个磁盘的读写性能进行多次采样,将采样结果的平均值作为各个磁盘在所述当前周期的读写性能采样值。
4.根据权利要求2所述的队列资源分配方法,其特征在于,所述基于各个磁盘在所述当前周期的读写性能采样值,以及各个磁盘在所述滑动时间窗口内的各个历史周期的读写性能采样值,确定各个磁盘在所述当前周期的读写性能评估值,包括:
基于所述滑动时间窗口对应的各个历史周期与所述当前周期之间的间隔时间,确定各个历史周期的采样权重;
基于各个历史周期的采样权重,各个磁盘在各个历史周期的读写性能采样值,所述当前周期的采样权重,以及各个磁盘在所述当前周期的读写性能采样值,确定各个磁盘在所述当前周期的读写性能评估值。
5.根据权利要求4所述的队列资源分配方法,其特征在于,所述基于所述滑动时间窗口对应的各个历史周期与所述当前周期之间的间隔时间,确定各个历史周期的采样权重,包括:
基于各个历史周期与所述当前周期之间的间隔时间,以及所述当前周期的采样权重,确定各个历史周期的采样权重;
其中,所述历史周期的采样权重与所述历史周期和所述当前周期之间的间隔时间成反比例关系且所述历史周期的采样权重小于所述当前周期的采样权重。
6.根据权利要求1所述的队列资源分配方法,其特征在于,所述获取磁盘阵列在当前周期的阵列配置参数,包括:
接收阵列业务模块发送的阵列级别配置参数;
接收磁盘驱动模块发送的磁盘数量变化参数;
基于所述阵列级别配置参数和/或所述磁盘数量变化参数,确定所述磁盘阵列在当前周期的阵列配置参数。
7.根据权利要求6所述的队列资源分配方法,其特征在于,所述阵列级别配置参数包括所述磁盘阵列的阵列等级和/或者所述磁盘阵列的阵列优先级。
8.根据权利要求1所述的队列资源分配方法,其特征在于,所述基于所述磁盘阵列在当前周期的阵列配置参数,以及各个磁盘在所述当前周期的读写性能评估值,对所述磁盘阵列对应的磁盘阵列卡中的队列资源进行动态规划,确定各个磁盘在所述当前周期对应的输入输出队列个数以及输入输出队列深度,包括:
以所述磁盘阵列在当前周期的阵列配置参数以及各个磁盘在所述当前周期的读写性能评估值为状态变量,以各个磁盘对应的输入输出队列个数以及输入输出队列深度为决策变量,基于所述状态变量和所述决策变量建立状态转移方程;
以所述磁盘阵列对应的磁盘阵列卡中的队列资源分配完毕为规划目标;
基于所述状态转移方程和所述规划目标,对所述磁盘阵列对应的磁盘阵列卡中的队列资源进行动态规划,得到各个磁盘在所述当前周期对应的输入输出队列个数以及输入输出队列深度。
9.根据权利要求8所述的队列资源分配方法,其特征在于,所述磁盘阵列在当前周期的阵列配置参数包括阵列优先级;
所述基于所述状态转移方程和所述规划目标,对所述磁盘阵列对应的磁盘阵列卡中的队列资源进行动态规划,包括:
在所述阵列优先级升高的情况下,增加所述磁盘阵列中各个磁盘对应的输入输出队列个数以及输入输出队列深度;
在所述阵列优先级降低的情况下,减少所述磁盘阵列中各个磁盘对应的输入输出队列个数以及输入输出队列深度。
10.根据权利要求8所述的队列资源分配方法,其特征在于,所述磁盘阵列在当前周期的阵列配置参数包括磁盘数量变化参数;
所述基于所述状态转移方程和所述规划目标,对所述磁盘阵列对应的磁盘阵列卡中的队列资源进行动态规划,包括:
基于所述磁盘数量变化参数确定已插入磁盘,为所述已插入磁盘分配输入输出队列,确定需要分配的输入输出队列个数以及输入输出队列深度;
或者,基于所述磁盘数量变化参数确定已拔出磁盘,回收所述已拔出磁盘对应的输入输出队列对应的队列资源。
11.根据权利要求8所述的队列资源分配方法,其特征在于,所述基于所述状态转移方程和所述规划目标,对所述磁盘阵列对应的磁盘阵列卡中的队列资源进行动态规划,包括:
在任一磁盘在所述当前周期的读写性能评估值升高的情况下,增加所述任一磁盘对应的输入输出队列个数以及输入输出队列深度;
在任一磁盘在所述当前周期的读写性能评估值降低的情况下,减少所述任一磁盘对应的输入输出队列个数以及输入输出队列深度。
12.根据权利要求8所述的队列资源分配方法,其特征在于,所述基于所述状态转移方程和所述规划目标,对所述磁盘阵列对应的磁盘阵列卡中的队列资源进行动态规划,包括:
在所述状态变量均不发生变化的情况下,确定所述磁盘阵列对应的磁盘阵列卡中的队列资源的分配结果合理。
13.根据权利要求8所述的队列资源分配方法,其特征在于,所述以所述磁盘阵列在当前周期的阵列配置参数以及各个磁盘在所述当前周期的读写性能评估值为状态变量,包括:
在所述阵列配置参数包括阵列等级和磁盘数量变化参数的情况下,将所述阵列等级和所述磁盘数量变化参数合并为同一状态变量。
14.根据权利要求8所述的队列资源分配方法,其特征在于,所述以所述磁盘阵列对应的磁盘阵列卡中的队列资源分配完毕为规划目标,包括:
基于所述磁盘阵列对应的磁盘阵列卡的内存资源,确定所述磁盘阵列卡中的队列条目数量;
基于所述磁盘阵列卡中的队列条目数量,确定所述磁盘阵列卡中的队列资源。
15.根据权利要求1所述的队列资源分配方法,其特征在于,所述基于各个磁盘在所述当前周期对应的输入输出队列个数以及输入输出队列深度,对所述磁盘阵列中的各个磁盘进行队列资源分配之前,所述方法还包括:
向磁盘阵列管理软件发送临时接管请求;所述临时接管请求用于请求所述磁盘阵列管理软件对所述磁盘阵列进行数据读写控制;
接收所述磁盘阵列管理软件发送的临时接管响应,并基于所述临时接管响应断开与所述磁盘阵列的数据连接。
16.根据权利要求15所述的队列资源分配方法,其特征在于,所述基于各个磁盘在所述当前周期对应的输入输出队列个数以及输入输出队列深度,对所述磁盘阵列中的各个磁盘进行队列资源分配之后,所述方法还包括:
向所述磁盘阵列管理软件发送队列分配完成信息;所述队列分配完成信息用于请求所述磁盘阵列管理软件停止对所述磁盘阵列进行数据读写控制;
接收数据读写命令,并基于所述数据读写命令对所述磁盘阵列进行数据读写控制。
17.一种队列资源分配装置,其特征在于,包括:
获取模块,用于获取磁盘阵列在当前周期的阵列配置参数;
采样模块,用于对所述磁盘阵列中各个磁盘在所述当前周期的读写性能进行采样,确定各个磁盘在所述当前周期的读写性能评估值;
规划模块,用于基于所述磁盘阵列在当前周期的阵列配置参数,以及各个磁盘在所述当前周期的读写性能评估值,对所述磁盘阵列对应的磁盘阵列卡中的队列资源进行动态规划,确定各个磁盘在所述当前周期对应的输入输出队列个数以及输入输出队列深度;
分配模块,用于基于各个磁盘在所述当前周期对应的输入输出队列个数以及输入输出队列深度,对所述磁盘阵列中的各个磁盘进行队列资源分配。
18.根据权利要求17所述的队列资源分配装置,其特征在于,还包括:
切换模块,用于在所述分配模块进行队列资源分配的情况下,将所述磁盘阵列的数据读写控制权限移交至磁盘阵列管理软件;
在所述分配模块完成队列资源分配的情况下,接收所述磁盘阵列管理软件移交的所述磁盘阵列的数据读写控制权限。
19.一种磁盘阵列卡,其特征在于,包括权利要求17或18所述的队列资源分配装置。
20.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至16任一项所述的队列资源分配方法。
21.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至16任一项所述的队列资源分配方法。
CN202311246445.3A 2023-09-26 2023-09-26 队列资源分配方法、装置、磁盘阵列卡、设备和介质 Active CN116991335B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311246445.3A CN116991335B (zh) 2023-09-26 2023-09-26 队列资源分配方法、装置、磁盘阵列卡、设备和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311246445.3A CN116991335B (zh) 2023-09-26 2023-09-26 队列资源分配方法、装置、磁盘阵列卡、设备和介质

Publications (2)

Publication Number Publication Date
CN116991335A CN116991335A (zh) 2023-11-03
CN116991335B true CN116991335B (zh) 2024-01-16

Family

ID=88523486

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311246445.3A Active CN116991335B (zh) 2023-09-26 2023-09-26 队列资源分配方法、装置、磁盘阵列卡、设备和介质

Country Status (1)

Country Link
CN (1) CN116991335B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111880750A (zh) * 2020-08-13 2020-11-03 腾讯科技(深圳)有限公司 磁盘读写资源的分配方法、装置、设备及存储介质
CN116540929A (zh) * 2023-04-07 2023-08-04 苏州浪潮智能科技有限公司 磁盘阵列的虚拟化读取方法、装置、电子设备及存储介质
CN116540952A (zh) * 2023-07-06 2023-08-04 苏州浪潮智能科技有限公司 磁盘访问方法及装置、存储介质、电子设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8356126B2 (en) * 2005-02-07 2013-01-15 Dot Hill Systems Corporation Command-coalescing RAID controller

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111880750A (zh) * 2020-08-13 2020-11-03 腾讯科技(深圳)有限公司 磁盘读写资源的分配方法、装置、设备及存储介质
CN116540929A (zh) * 2023-04-07 2023-08-04 苏州浪潮智能科技有限公司 磁盘阵列的虚拟化读取方法、装置、电子设备及存储介质
CN116540952A (zh) * 2023-07-06 2023-08-04 苏州浪潮智能科技有限公司 磁盘访问方法及装置、存储介质、电子设备

Also Published As

Publication number Publication date
CN116991335A (zh) 2023-11-03

Similar Documents

Publication Publication Date Title
US10534542B2 (en) Dynamic core allocation for consistent performance in a non-preemptive scheduling environment
US8375180B2 (en) Storage application performance matching
JP3933027B2 (ja) ディスクアレイ装置におけるキャッシュメモリ分割管理方式
US20200125412A1 (en) Dynamic workload management based on predictive modeling and recommendation engine for storage systems
US9606735B2 (en) Storage management apparatus, and performance adjusting method
US8706962B2 (en) Multi-tier storage system configuration adviser
EP2302500A2 (en) Application and tier configuration management in dynamic page realloction storage system
CN103019962B (zh) 数据缓存处理方法、装置以及系统
JP6851951B2 (ja) マルチストリームが可能なソリッドステートドライブ並びにそのためのドライバー及びデータストリームの統合方法
US8402214B2 (en) Dynamic page reallocation storage system management
US8468299B2 (en) Virtualized storage performance controller
US20090113124A1 (en) Virtual computer system and method of controlling the same
KR102538126B1 (ko) 테일 레이턴시를 인식하는 포어그라운드 가비지 컬렉션 알고리즘
EP2494436A1 (en) Allocating storage memory based on future use estimates
US10860260B2 (en) Method, apparatus and computer program product for managing storage system
US20220129379A1 (en) Cache memory management
CN110297743B (zh) 一种负载测试方法、装置和存储介质
US7660964B2 (en) Windowing external block translations
US20210349756A1 (en) Weighted resource cost matrix scheduler
US20190324677A1 (en) Information processing apparatus
KR20220045902A (ko) 스토리지 리소스의 파티션 관리를 위한 시스템, 방법, 및 장치
CN116991335B (zh) 队列资源分配方法、装置、磁盘阵列卡、设备和介质
CN117389485B (zh) 存储性能优化方法、装置、存储系统、电子设备和介质
US11435954B2 (en) Method and system for maximizing performance of a storage system using normalized tokens based on saturation points
KR102658677B1 (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