CN112241239B - 存储任务管控方法、存储任务管控装置和存储设备 - Google Patents
存储任务管控方法、存储任务管控装置和存储设备 Download PDFInfo
- Publication number
- CN112241239B CN112241239B CN201910652116.6A CN201910652116A CN112241239B CN 112241239 B CN112241239 B CN 112241239B CN 201910652116 A CN201910652116 A CN 201910652116A CN 112241239 B CN112241239 B CN 112241239B
- Authority
- CN
- China
- Prior art keywords
- disk
- task
- storage
- target
- capacity
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Software Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请提供的存储任务管控方法、存储任务管控装置和存储设备,涉及存储技术领域。首先,在接收到待存储任务时,判断多个磁盘中第一目标磁盘的任务数是否大于第一目标磁盘的第一预设值,其中,第一目标磁盘为多个磁盘中上一次执行目标通道的存储任务使用的磁盘,目标通道为待存储任务所在通道。其次,若第一目标磁盘的任务数不大于第一目标磁盘的第一预设值,则判断第一目标磁盘的剩余容量与最大剩余容量的第一差值是否大于预设容量,其中,最大剩余容量为多个磁盘中各剩余容量的最大值;然后,若第一差值不大于预设容量,则将待存储任务分配至第一目标磁盘进行存储。通过上述方法,可以改善现有技术中存在的存储资源浪费的问题。
Description
技术领域
本申请涉及存储技术领域,具体而言,涉及一种存储任务管控方法、存储任务管控装置和存储设备。
背景技术
为了实现较大量数据或信息的存储,一般会采用具有多个磁盘的存储设备。其中,为了实现各个磁盘之间的任务均衡,可以将接收到的任务均匀分配至各个磁盘分别进行存储。
经发明人研究发现,在采用均匀分配的技术中,由于需要均衡各个磁盘之间的任务,使得即使当前的任务较少,也需要各个磁盘都处于运行状态,导致各个磁盘都不能进行休眠,从而导致存储资源浪费的问题。
发明内容
有鉴于此,本申请的目的在于提供一种存储任务管控方法、存储任务管控装置和存储设备,以改善现有技术中存在的存储资源浪费的问题。
为实现上述目的,本申请实施例采用如下技术方案:
一种存储任务管控方法,应用于存储设备,该存储设备包括多个磁盘,所述存储任务管控方法包括:
在接收到待存储任务时,判断所述多个磁盘中第一目标磁盘的任务数是否大于该第一目标磁盘的第一预设值,其中,所述第一目标磁盘为所述多个磁盘中上一次执行目标通道的存储任务使用的磁盘,该目标通道为所述待存储任务所在通道;
若所述第一目标磁盘的任务数不大于该第一目标磁盘的第一预设值,则判断该第一目标磁盘的剩余容量与最大剩余容量的第一差值是否大于预设容量,其中,所述最大剩余容量为所述多个磁盘中各剩余容量的最大值;
若所述第一差值不大于所述预设容量,则将所述待存储任务分配至所述第一目标磁盘进行存储。
在本申请一个可选的实施例中,在上述存储任务管控方法中,每个所述磁盘分别对应设置一个第一预设值,所述存储任务管控方法还包括:
若所述第一目标磁盘的任务数大于该第一目标磁盘的第一预设值,或所述第一差值大于所述预设容量,则判断所述多个磁盘中上一次执行存储任务所使用的磁盘的任务数是否大于该磁盘的第一预设值;
若上一次执行存储任务所使用的磁盘的任务数不大于该磁盘的第一预设值,则判断该磁盘的剩余容量与所述最大剩余容量的第二差值是否大于所述预设容量,并在该第二差值不大于所述预设容量时,将所述待存储任务分配至该磁盘进行存储。
在本申请一个可选的实施例中,在上述存储任务管控方法中,还包括:
若上一次执行存储任务所使用的磁盘的任务数大于该磁盘的第一预设值,或该磁盘的剩余容量与所述最大剩余容量的第二差值大于所述预设容量,则判断所述多个磁盘中是否存在至少一个第二目标磁盘,其中,所述第二目标磁盘的任务数不大于该第二目标磁盘的第一预设值;
若存在至少一个第二目标磁盘,则将所述待存储任务分配至该至少一个第二目标磁盘中剩余容量最大的磁盘进行存储。
在本申请一个可选的实施例中,在上述存储任务管控方法中,每个所述磁盘还分别对应设置一个第二预设值,且该第二预设值大于对应的第一预设值,所述存储任务管控方法还包括:
若不存在所述第二目标磁盘,则判断所述多个磁盘中任务数最小的磁盘是否具有剩余容量;
若所述多个磁盘中任务数最小的磁盘具有剩余容量,则将所述待存储任务分配至该磁盘进行存储;
若所述多个磁盘中任务数最小的磁盘不具有剩余容量,则判断所述多个磁盘中是否存在至少一个第三目标磁盘,并在不存在所述第三目标磁盘时,基于预设的覆写机制对所述待存储任务进行分配,其中,所述第三目标磁盘的任务数不大于该第三目标磁盘的第二预设值。
在本申请一个可选的实施例中,在上述存储任务管控方法中,还包括:
若存在至少一个第三目标磁盘,则判断该第三目标磁盘中任务数最小的磁盘是否具有剩余容量;
若所述第三目标磁盘中任务数最小的磁盘具有剩余容量,则将所述待存储任务分配至该磁盘进行存储;
若所述第三目标磁盘中任务数最小的磁盘不具有剩余容量,则将所述待存储任务分配至所述第三目标磁盘中剩余容量最大的磁盘进行存储。
在本申请一个可选的实施例中,在上述存储任务管控方法中,还包括:
针对所述多个磁盘中的每一个磁盘,根据该磁盘的写性能设置该磁盘的第二预设值。
在本申请实施例较佳的选择中,在上述存储任务管控方法中,还包括:
针对所述多个磁盘中的每一个磁盘,根据该磁盘的写性能设置该磁盘的第一预设值。
在本申请一个可选的实施例中,在上述存储任务管控方法中,还包括:
判断所述多个磁盘中是否存在写性能降低的磁盘;
若所述多个磁盘中存在写性能降低的磁盘,则对该磁盘的第一预设值进行修正,得到新的第一预设值。
本申请实施例还提供了一种存储任务管控装置,应用于存储设备,该存储设备包括多个磁盘,所述存储任务管控装置包括:
任务数判断模块,用于在接收到待存储任务时,判断所述多个磁盘中第一目标磁盘的任务数是否大于该第一目标磁盘的第一预设值,其中,所述第一目标磁盘为所述多个磁盘中上一次执行目标通道的存储任务使用的磁盘,该目标通道为所述待存储任务所在通道;
容量判断模块,用于在所述第一目标磁盘的任务数不大于该第一目标磁盘的第一预设值时,判断该第一目标磁盘的剩余容量与最大剩余容量的第一差值是否大于预设容量,其中,所述最大剩余容量为所述多个磁盘中各剩余容量的最大值;
任务分配模块,用于在所述差值不大于所述预设容量时,将所述待存储任务分配至所述第一目标磁盘进行存储。
在上述基础上,本申请实施例还提供了一种存储设备,包括存储器、处理器和存储于该存储器并能够在该处理器上运行的计算机程序,该计算机程序在该处理器上运行时,实现上述的存储任务管控方法。
本申请提供的存储任务管控方法、存储任务管控装置和存储设备,在接收到待存储任务时,在满足一预设值的条件下,优先考虑将待存储任务分配至上一次执行目标通道(待存储任务所在通道)的存储任务使用的磁盘,使得存储任务可以相对的被集中处理,避免了在任何情况下都采取任务均匀分配而导致各个磁盘都需要维持在运行状态,从而改善现有技术中存在的存储资源浪费的问题,具有较高的实用价值。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
图1为本申请实施例提供的存储设备的应用框图。
图2为本申请实施例提供的存储任务管控方法的流程示意图。
图3为本申请实施例提供的存储任务管控方法包括的其它步骤的流程示意图。
图4为本申请实施例提供的存储任务管控方法包括的其它步骤的另一流程示意图。
图5为本申请实施例提供的存储任务管控方法包括的其它步骤的另一流程示意图。
图6为本申请实施例提供的存储任务管控装置包括的功能模块的结构框图。
图标:10-存储设备;12-存储器;14-处理器;16-磁盘;20-监控设备;100-存储任务管控装置;110-任务数判断模块;120-容量判断模块;130-任务分配模块。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例只是本申请的一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
如图1所示,本申请实施例提供了一种存储设备10,用于对接收到的待存储任务进行存储,例如,可以对监控设备20获取的视频数据进行存储。
详细地,所述存储设备10可以包括存储器12、处理器14和存储任务管控装置100。所述存储器12和处理器14之间直接或间接地电性连接,以实现数据的传输或交互。例如,相互之间可通过一条或多条通讯总线或信号线实现电性连接。
其中,所述存储任务管控装置100包括至少一个可以软件或固件(firmware)的形式存储于所述存储器12中的软件功能模块。所述处理器14用于执行所述存储器12中存储的可执行的计算机程序,例如,所述存储任务管控装置100所包括的软件功能模块及计算机程序等,以对待存储任务的存储进行管控。
所述存储器12可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。
所述处理器14可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)、片上系统(System on Chip,SoC)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
需要说明的是,所述存储设备10还可以包括多个磁盘16,用于对接收到的待存储任务进行存储。也就是说,所述处理器14可以通过执行所述存储器12上的计算机程序,实现存储任务管控方法,以将接收到的待存储任务分配至各所述磁盘16进行存储。
其中,所述多个磁盘16的类型可以相同,也可以不同。例如,可以包括,但不限于硬盘、RAID(磁盘阵列,Redundant Arrays of Independent Disks)和JBOD(磁盘簇,Just aBunch Of Disks)等。并且,RAID,可以包括RAID0、RAID1、RAID10、RAID5、RAID50、RAID6等不同型号。
可以理解,图1所示的结构仅为示意,所述存储设备10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置,例如,还可以包括用于与其它设备(如监控设备20等)进行信息交互的通信单元。
结合图2,本申请实施例还提供一种可应用于上述存储设备10的存储任务管控方法。其中,所述存储任务管控方法有关的流程所定义的方法步骤可以由所述存储设备10(如上述的处理器14)实现。下面将对图2所示的具体流程进行详细阐述。
步骤S110,在接收到待存储任务时,判断所述多个磁盘16中的第一目标磁盘的任务数是否大于该第一目标磁盘的第一预设值。
在本实施例中,所述存储设备10可以包括多个磁盘16,且可以通信连接有多个监控设备20(如多个摄像头)。在接收到所述多个监控设备20中的其中一个发送的待存储任务时,可以判断所述多个磁盘16中的第一目标磁盘的任务数是否大于该第一目标磁盘的第一预设值,并且,若所述第一目标磁盘的任务数不大于该第一目标磁盘的第一预设值,可以执行步骤S120。
所述第一预设值应该小于所述第一目标磁盘的最大任务数,以保证该第一目标磁盘的存储任务不会超过该第一目标磁盘的最大负载。例如,若所述第一目标磁盘最多能够对N个监控设备20的存储任务进行存储,即该第一目标磁盘的最大任务数为N,对应地,该第一目标磁盘的第一预设值应该小于N。
其中,所述第一目标磁盘为所述多个磁盘16中上一次执行目标通道的存储任务使用的磁盘16,且该目标通道为所述待存储任务所在通道。
例如,若所述存储设备10包括4个磁盘16,分别为磁盘A、磁盘B、磁盘C和磁盘D,所述多个监控设备20包括设备1、设备2、设备3和设备4。若此前,设备1发送的存储任务存储于磁盘A,并且,接收到的待存储任务也是设备1发送的,那么,可以将该磁盘A确定为所述第一目标磁盘。
步骤S120,判断所述第一目标磁盘的剩余容量与最大剩余容量的第一差值是否大于预设容量。
在本实施例中,所述最大剩余容量为所述多个磁盘16中各剩余容量的最大值。基于步骤S110判断出所述第一目标磁盘的任务数不大于该第一目标磁盘的第一预设值时,可以进一步判断所述第一目标磁盘的剩余容量与最大剩余容量的差值是否大于预设容量。若所述差值不大于所述预设容量,可以执行步骤S130。
例如,若上述的磁盘A为所述第一目标磁盘,且该磁盘A的剩余容量为x,上述的磁盘A、磁盘B、磁盘C和磁盘D的剩余容量中的最大剩余容量为y,可以先计算得到所述第一差值(y-x),然后,将该第一差值与所述预设容量进行比较。
步骤S130,将所述待存储任务分配至所述第一目标磁盘进行存储。
在本实施例中,在通过步骤S120判断出所述第一差值不大于所述预设容量时,可以将所述待存储任务分配至所述第一目标磁盘进行存储。
例如,在上述的示例中,若磁盘A作为第一目标磁盘,且计算得到的第一差值不大于所述预设容量,可以将所述待存储任务(如设备1当前发送的存储任务)分配至该磁盘A进行存储,使得存储任务集中存储于该磁盘A。
如此设置,可以避免存储任务分散而导致各磁盘16都不能进行休眠,进而导致存储资源浪费的问题。例如,在上述示例中,存储任务在都存储于磁盘A时,磁盘B、磁盘C和磁盘D可以进行休眠,以节约存储资源。
需要说明的是,所述预设容量的具体数值不受限制,可以根据实际应用需求进行选择。例如,在对存储任务的集中存储需求较高时,可以将所述预设容量设置得较大,使得所述第一差值不容易大于所述预设容量,以将更多的待存储任务分配至所述第一目标磁盘进行存储,从而实现存储任务的集中存储,避免存储资源浪费的问题。
可选地,在执行步骤S110判断出所述第一目标磁盘的任务数大于该第一目标磁盘的第一预设值,或者,在执行步骤S120判断出所述第一差值大于所述预设容量时,对所述待存储任务的分配方式不受限制,可以根据实际应用需求进行选择。
例如,在一种可以替代的示例中,结合图3,所述存储任务管控方法还可以包括步骤S140和步骤S150,以对所述待存储任务进行分配。
步骤S140,判断所述多个磁盘16中上一次执行存储任务所使用的磁盘16的任务数是否大于该磁盘16的第一预设值。
在本实施例中,在执行步骤S110判断出所述第一目标磁盘的任务数大于该第一目标磁盘的第一预设值,或者,在执行步骤S120判断出所述第一差值大于所述预设容量时,基于任务均衡或容量均衡的考虑,可以选择不将所述待存储任务分配至所述第一目标磁盘进行存储,而可以进一步判断所述多个磁盘16中上一次执行存储任务所使用的磁盘16的任务数是否大于该磁盘16的第一预设值。若上一次执行存储任务所使用的磁盘16的任务数不大于该磁盘16的第一预设值,可以执行步骤S150。
例如,在上述示例中,若所述存储设备10上一次接收到的存储任务存储于磁盘B,则上一次执行存储任务所使用的磁盘16就为磁盘B。如此,可以判断该磁盘B的任务数是否大于该磁盘B的第一预设值。
步骤S150,判断该磁盘16的剩余容量与所述最大剩余容量的第二差值是否大于所述预设容量,并在该第二差值不大于所述预设容量时,将所述待存储任务分配至该磁盘16进行存储。
在本实施例中,在基于步骤S140判断出上一次执行存储任务所使用的磁盘16的任务数不大于该磁盘16的第一预设值时,可以进一步判断该磁盘16的剩余容量与所述最大剩余容量的第二差值是否大于所述预设容量。
并且,可以在判断出上一次执行存储任务所使用的磁盘16的剩余容量与所述最大剩余容量的第二差值不大于所述预设容量时,将所述待存储任务分配至该磁盘16进行存储。
例如,在上述示例中,若上一次执行存储任务所使用的磁盘16为磁盘B,此时,可以判断磁盘B的剩余容量与所述最大剩余容量的第二差值是否大于所述预设容量。并且,可以在磁盘B的剩余容量z与所述最大剩余容量y的第二差值不大于所述预设容量时,将所述待存储任务分配至磁盘B存储。
可选地,在执行步骤S140判断出上一次执行存储任务所使用的磁盘16的任务数大于该磁盘16的第一预设值,或者,在执行步骤S150判断出所述第二差值大于所述预设容量时,对所述待存储任务的分配方式不受限制,可以根据实际应用需求进行选择。
例如,在一种可以替代的示例中,结合图4,所述存储任务管控方法还可以包括步骤S160和步骤S170,以对所述待存储任务进行分配。
步骤S160,判断所述多个磁盘16中是否存在至少一个第二目标磁盘。
在本实施例中,在执行步骤S140判断出上一次执行存储任务所使用的磁盘16的任务数大于该磁盘16的第一预设值,或者,在执行步骤S150判断出所述第二差值大于所述预设容量时,可以进一步判断所述多个磁盘16中是否存在至少一个第二目标磁盘。并且,可以在存在至少一个第二目标磁盘时,执行步骤S170。
例如,在上述示例中,若磁盘B的剩余容量z与所述最大剩余容量y的第二差值(y-z)不大于所述预设容量,可以进一步判断磁盘A、磁盘B、磁盘C和磁盘D中,是否存在至少一个第二目标磁盘。
其中,所述第二目标磁盘的任务数不大于该第二目标磁盘的第一预设值。
步骤S170,将所述待存储任务分配至该至少一个第二目标磁盘中剩余容量最大的磁盘16进行存储。
在本实施例中,在通过步骤S160判断出存在至少一个第二目标磁盘时,可以将所述待存储任务分配至该至少一个第二目标磁盘中剩余容量最大的磁盘16进行存储,以实现容量均衡的目的。
例如,在上述的示例中,若磁盘A、磁盘B、磁盘C和磁盘D中,磁盘C的任务数不大于磁盘C的第一预设值,磁盘D的任务数也不大于磁盘D的第一预设值。此时,可以将磁盘C和磁盘D都确定为所述第二目标磁盘。
如此,可以将磁盘C和磁盘D中剩余容量最大的一个磁盘16用于存储所述待存储任务。例如,若磁盘C的剩余容量大于磁盘D的剩余容量,可以将所述待存储任务分配至磁盘C进行存储。
可选地,在执行步骤S160判断出不存在所述第二目标磁盘时,也就是说,存储任务已经较多了。此时,对所述待存储任务进行分配的机制也不受限制,可以根据实际应用需求进行选择。
例如,在一种可以替代的示例中,结合图5,所述存储任务管控方法还可以包括步骤S180和步骤S190,以对所述待存储任务进行分配。
步骤S180,判断所述多个磁盘16中任务数最小的磁盘16是否具有剩余容量。
在本实施例中,在通过步骤S160判断出不存在所述第二目标磁盘时,可以进一步判断所述多个磁盘16中任务数最小的磁盘16是否具有剩余容量。并且,可以在所述多个磁盘16中任务数最小的磁盘16不具有剩余容量时,执行步骤S190;可以在所述多个磁盘16中任务数最小的磁盘16具有剩余容量时,将所述待存储任务分配该磁盘16进行存储,以实现任务的均衡存储。
例如,在上述示例中,若磁盘A、磁盘B、磁盘C和磁盘D中,各磁盘16的任务数都大于该磁盘16的第一预设值,可以获取各磁盘16的剩余容量。若其中磁盘D任务数最小,可以进一步判断磁盘D是否还具有剩余容量,并在磁盘D具有剩余容量时,将所述待存储任务分配至磁盘D进行存储。
步骤S190,判断所述多个磁盘16中是否存在至少一个第三目标磁盘,并在不存在所述第三目标磁盘时,基于预设的覆写机制对所述待存储任务进行分配。
在本实施例中,在通过步骤S180判断出所述多个磁盘16中任务数最小的磁盘16不具有剩余容量时,可以进一步判断所述多个磁盘16中是否存在至少一个第三目标磁盘。并且,可以在不存在所述第三目标磁盘时,基于预设的覆写机制对所述待存储任务进行分配。
其中,所述第三目标磁盘具有如下特征,该磁盘的任务数不大于该磁盘的第二预设值。并且,所述第三目标磁盘的第二预设值大于该第三目标磁盘的第一预设值,在一种可以替代的示例中,所述第二预设值可以为所述第三目标磁盘的最大任务数(如上述的N),以保证该第三目标磁盘的存储任务不会超过该第三目标磁盘的最大负载。
例如,在上述的示例中,若任务数最小磁盘D不具有剩余容量,可以进一步判断磁盘A、磁盘B、磁盘C和磁盘D中,各磁盘16的任务数是否大于该磁盘16的第二预设值,并将任务数大于第二预设值的磁盘16作为所述第三目标磁盘。
此时,若磁盘A、磁盘B、磁盘C和磁盘D中,各磁盘的任务数都大于该磁盘的第二预设值,也就是磁盘A、磁盘B、磁盘C和磁盘D的存储任务都达到了最大负载,因而,可以基于预设的覆写机制对所述待存储任务进行分配。
其中,所述覆写机制可以是指,对磁盘16上存储的数据进行替代处理,以实现新的数据的存储。例如,在上述示例中,若在上述的磁盘A、磁盘B、磁盘C和磁盘D中,磁盘A最先开始进行存储任务的存储,那么,可以将所述待存储任务分配至该磁盘A进行存储,也就是将该磁盘A上存储时间最长的数据替换为该待存储任务对应的数据。
可选地,在执行步骤S180判断出存在至少一个第三目标磁盘时,对所述待存储任务进行分配的机制也不受限制,可以根据实际应用需求进行选择。
例如,在一种可以替代的示例中,所述存储任务管控方法还可以包括以下步骤,以对所述待存储任务进行分配:
首先,若存在至少一个第三目标磁盘,则判断该第三目标磁盘中任务数最小的磁盘16是否具有剩余容量。其中,若所述第三目标磁盘中任务数最小的磁盘16具有剩余容量,则将所述待存储任务分配至该磁盘16进行存储;若所述第三目标磁盘中任务数最小的磁盘16不具有剩余容量,则将所述待存储任务分配至所述第三目标磁盘中剩余容量最大的磁盘16进行存储。
例如,在上述示例中,若磁盘A、磁盘B、磁盘C和磁盘D中,磁盘B的任务数最小,可以对该磁盘B的剩余容量进行检测,以判断磁盘B是否还具有剩余容量。
其中,若判断出磁盘B具有剩余容量,可以将所述待存储任务分配至该磁盘B进行存储。若判断出磁盘B不具有剩余容量,可以分别对磁盘A、磁盘C和磁盘D进行检测,得到磁盘A、磁盘C和磁盘D的剩余容量。其次,若磁盘A、磁盘C和磁盘D中,磁盘C的剩余容量最大,可以将所述待存储任务分配至该磁盘C进行存储。如此,可以实现容量的均衡,避免个别磁盘16由于存储量较大而导致性能下降的问题。
需要说明的是,上述的第一预设值和第二预设值,既可以是针对每一个磁盘16分别设置,也可以是统一设置。
例如,在一种可以替代的示例中,在各所述磁盘16的类型相同或性能相同时,可以对各所述磁盘16设置一个相同的第一预设值,且设置一个相同的第二预设值。
又例如,在另一种可以替代的示例中,在各所述磁盘16的类型不同或性能不同时,可以根据每一个磁盘16分别根据该磁盘16的性能设置该磁盘16的第一预设值和第二预设值。
其中,考虑到设置第一预设值和第二预设值主要是为了判断是否将待存储任务分配至对应的磁盘16进行存储,也就是写入该磁盘16。因而,在根据磁盘16的性能设置第一预设值和第二预设值时,可以根据该磁盘16的写性能进行设置。
由于第一预设值和第二预设值的具体数值还需要结合实际的应用需求进行设置,例如,在对任务集中存储的要求较高时,第一预设值可以较大。因而,根据各种类型的磁盘16本实施例提供一种在相同要求下的第一预设值和第二预设值的相对大小关系,其中,以硬盘为参考标准,具体如下表所示:
磁盘类型 | 第一预设值 | 第二预设值 |
硬盘 | x | y |
RAID0 | nx | ny |
RAID1 | x | y |
RAID10 | nx/2 | ny/2 |
RAID5 | (n-1)x | (n-1)y |
RAID50 | (m-1)nx/m | (m-1)ny/m |
RAID6 | (n-2)x | (n-2)y |
JBOD | x | y |
其中,n为对应磁盘16包括的硬盘数,m为RAID50中每个组的硬盘数。
考虑到磁盘16在使用过程中写性能可能会降低,因而,还需要对设置的第一预设值和第二预设值进行有效的修正。也就是说,在本实施例中,所述存储任务管控方法还可以包括以下步骤:
首先,判断所述多个磁盘16中是否存在写性能降低的磁盘16。然后,在所述多个磁盘16中存在写性能降低的磁盘16时,对该磁盘16的第一预设值和第二预设值进行修正,得到新的第一预设值和新的第二预设值。
其中,由于导致写性能下降的原因不同,进行写性能下降判断的方式也会不同。
例如,在一种可以替代的示例中,由于在磁盘16中一般会留出一部分空间来存储校验值,以在存储的数据丢失后通过该校验值来对数据进行恢复,并且,经本申请的发明人的研究发现,通过校验值对数据进行恢复会导致磁盘16的写性能下降。因此,可以通过判断是否有采用校验值进行数据恢复来判断磁盘16的写性能是否下降,且在判断出有采用校验值进行恢复时,判定磁盘16的写性能有下降。
又例如,在另一种可以替代的示例中,由于磁盘16发生故障而导致处于阵列降级状态,也会导致磁盘16的写性能下降。因而,还可以对磁盘16是否发生故障进行监测,并在监测到磁盘16有发生故障时,判定磁盘16的写性能有下降。
并且,根据导致磁盘16的写性能下降的原因不同,对第一预设值和第二预设值进行修正的方式也不同。
例如,在一种可以替代的示例中,经本申请的发明人研究发现,若导致磁盘16的写性能下降的原因为通过校验值进行数据恢复,各磁盘16的写性能的下降存在一定的规律性,例如,都会下降同样的百分比。因此,在此情形下,可以根据实验检测结果设置一个小于1的系数,并在写性能下降时,将第一预设值和第二预设值分别乘以该系数,得到新的第一预设值和新的第二预设值。
又例如,在另一种可以替代的示例中,若导致磁盘16的写性能下降的原因为磁盘16故障,可以根据对各磁盘16的实际检测结果进行适应性的调整,在本实施例中不作具体的限定。
需要说明的是,上述对修正的过程也可以是仅对第一预设值进行修正,还可以是仅对第二预设值进行修正。
结合图6,本申请实施例还提供一种可应用于上述存储设备10的存储任务管控装置100。其中,所述存储任务管控装置100可以包括任务数判断模块110、容量判断模块120和任务分配模块130。
所述任务数判断模块110,用于在接收到待存储任务时,判断所述多个磁盘16中第一目标磁盘的任务数是否大于该第一目标磁盘的第一预设值,其中,所述第一目标磁盘为所述多个磁盘16中上一次执行目标通道的存储任务使用的磁盘16,该目标通道为所述待存储任务所在通道。在本实施例中,所述任务数判断模块110可用于执行图2所示的步骤S110,关于所述任务数判断模块110的相关内容可以参照前文对步骤S110的描述。
所述容量判断模块120,用于在所述第一目标磁盘的任务数不大于该第一目标磁盘的第一预设值时,判断该第一目标磁盘的剩余容量与最大剩余容量的第一差值是否大于预设容量,其中,所述最大剩余容量为所述多个磁盘16中各剩余容量的最大值。在本实施例中,所述容量判断模块120可用于执行图2所示的步骤S120,关于所述容量判断模块120的相关内容可以参照前文对步骤S120的描述。
所述任务分配模块130,用于在所述差值不大于所述预设容量时,将所述待存储任务分配至所述第一目标磁盘进行存储。
进一步地,在本实施例中,所述存储任务管控装置还可以包括预设值设置模块,用于针对所述多个磁盘16中的每一个磁盘16,根据该磁盘16的写性能设置该磁盘16的第一预设值。
综上所述,本申请提供的存储任务管控方法、存储任务管控装置100和存储设备10,在接收到待存储任务时,在满足一预设值的条件下,优先考虑将待存储任务分配至上一次执行目标通道(待存储任务所在通道)的存储任务使用的磁盘16,使得存储任务可以相对的被集中处理,避免了在任何情况下都采取任务均匀分配而导致各个磁盘16都需要维持在运行状态,从而改善现有技术中存在的存储资源浪费的问题,具有较高的实用价值。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种存储任务管控方法,其特征在于,应用于存储设备,该存储设备包括多个磁盘,所述存储任务管控方法包括:
在接收到待存储任务时,判断所述多个磁盘中第一目标磁盘的任务数是否大于该第一目标磁盘的第一预设值,其中,所述第一目标磁盘为所述多个磁盘中上一次执行目标通道的存储任务使用的磁盘,该目标通道为所述待存储任务所在通道;
若所述第一目标磁盘的任务数不大于该第一目标磁盘的第一预设值,则判断该第一目标磁盘的剩余容量与最大剩余容量的第一差值是否大于预设容量,其中,所述最大剩余容量为所述多个磁盘中各剩余容量的最大值;
若所述第一差值不大于所述预设容量,则将所述待存储任务分配至所述第一目标磁盘进行存储。
2.根据权利要求1所述的存储任务管控方法,其特征在于,每个所述磁盘分别对应设置一个第一预设值,所述存储任务管控方法还包括:
若所述第一目标磁盘的任务数大于该第一目标磁盘的第一预设值,或所述第一差值大于所述预设容量,则判断所述多个磁盘中上一次执行存储任务所使用的磁盘的任务数是否大于该磁盘的第一预设值;
若上一次执行存储任务所使用的磁盘的任务数不大于该磁盘的第一预设值,则判断该磁盘的剩余容量与所述最大剩余容量的第二差值是否大于所述预设容量,并在该第二差值不大于所述预设容量时,将所述待存储任务分配至该磁盘进行存储。
3.根据权利要求2所述的存储任务管控方法,其特征在于,还包括:
若上一次执行存储任务所使用的磁盘的任务数大于该磁盘的第一预设值,或该磁盘的剩余容量与所述最大剩余容量的第二差值大于所述预设容量,则判断所述多个磁盘中是否存在至少一个第二目标磁盘,其中,所述第二目标磁盘的任务数不大于该第二目标磁盘的第一预设值;
若存在至少一个第二目标磁盘,则将所述待存储任务分配至该至少一个第二目标磁盘中剩余容量最大的磁盘进行存储。
4.根据权利要求3所述的存储任务管控方法,其特征在于,每个所述磁盘还分别对应设置一个第二预设值,且该第二预设值大于对应的第一预设值,所述存储任务管控方法还包括:
若不存在所述第二目标磁盘,则判断所述多个磁盘中任务数最小的磁盘是否具有剩余容量;
若所述多个磁盘中任务数最小的磁盘具有剩余容量,则将所述待存储任务分配至该磁盘进行存储;
若所述多个磁盘中任务数最小的磁盘不具有剩余容量,则判断所述多个磁盘中是否存在至少一个第三目标磁盘,并在不存在所述第三目标磁盘时,基于预设的覆写机制对所述待存储任务进行分配,其中,所述第三目标磁盘的任务数不大于该第三目标磁盘的第二预设值。
5.根据权利要求4所述的存储任务管控方法,其特征在于,还包括:
若存在至少一个第三目标磁盘,则判断该第三目标磁盘中任务数最小的磁盘是否具有剩余容量;
若所述第三目标磁盘中任务数最小的磁盘具有剩余容量,则将所述待存储任务分配至该磁盘进行存储;
若所述第三目标磁盘中任务数最小的磁盘不具有剩余容量,则将所述待存储任务分配至所述第三目标磁盘中剩余容量最大的磁盘进行存储。
6.根据权利要求4或5所述的存储任务管控方法,其特征在于,还包括:
针对所述多个磁盘中的每一个磁盘,根据该磁盘的写性能设置该磁盘的第二预设值。
7.根据权利要求1-5任意一项所述的存储任务管控方法,其特征在于,还包括:
针对所述多个磁盘中的每一个磁盘,根据该磁盘的写性能设置该磁盘的第一预设值。
8.根据权利要求7所述的存储任务管控方法,其特征在于,还包括:
判断所述多个磁盘中是否存在写性能降低的磁盘;
若所述多个磁盘中存在写性能降低的磁盘,则对该磁盘的第一预设值进行修正,得到新的第一预设值。
9.一种存储任务管控装置,其特征在于,应用于存储设备,该存储设备包括多个磁盘,所述存储任务管控装置包括:
任务数判断模块,用于在接收到待存储任务时,判断所述多个磁盘中第一目标磁盘的任务数是否大于该第一目标磁盘的第一预设值,其中,所述第一目标磁盘为所述多个磁盘中上一次执行目标通道的存储任务使用的磁盘,该目标通道为所述待存储任务所在通道;
容量判断模块,用于在所述第一目标磁盘的任务数不大于该第一目标磁盘的第一预设值时,判断该第一目标磁盘的剩余容量与最大剩余容量的第一差值是否大于预设容量,其中,所述最大剩余容量为所述多个磁盘中各剩余容量的最大值;
任务分配模块,用于在所述差值不大于所述预设容量时,将所述待存储任务分配至所述第一目标磁盘进行存储。
10.一种存储设备,其特征在于,包括存储器、处理器和存储于该存储器并能够在该处理器上运行的计算机程序,该计算机程序在该处理器上运行时,实现权利要求1-8任意一项所述的存储任务管控方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910652116.6A CN112241239B (zh) | 2019-07-18 | 2019-07-18 | 存储任务管控方法、存储任务管控装置和存储设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910652116.6A CN112241239B (zh) | 2019-07-18 | 2019-07-18 | 存储任务管控方法、存储任务管控装置和存储设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112241239A CN112241239A (zh) | 2021-01-19 |
CN112241239B true CN112241239B (zh) | 2023-03-14 |
Family
ID=74168076
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910652116.6A Active CN112241239B (zh) | 2019-07-18 | 2019-07-18 | 存储任务管控方法、存储任务管控装置和存储设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112241239B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105224244A (zh) * | 2015-09-07 | 2016-01-06 | 浙江宇视科技有限公司 | 一种文件存储的方法和装置 |
CN106383668A (zh) * | 2016-09-18 | 2017-02-08 | 浙江宇视科技有限公司 | 一种信息存储方法、存储管理设备及客户端 |
WO2017041556A1 (zh) * | 2015-09-11 | 2017-03-16 | 中兴通讯股份有限公司 | 虚拟资源调度方法、装置及系统 |
-
2019
- 2019-07-18 CN CN201910652116.6A patent/CN112241239B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105224244A (zh) * | 2015-09-07 | 2016-01-06 | 浙江宇视科技有限公司 | 一种文件存储的方法和装置 |
WO2017041556A1 (zh) * | 2015-09-11 | 2017-03-16 | 中兴通讯股份有限公司 | 虚拟资源调度方法、装置及系统 |
CN106383668A (zh) * | 2016-09-18 | 2017-02-08 | 浙江宇视科技有限公司 | 一种信息存储方法、存储管理设备及客户端 |
Also Published As
Publication number | Publication date |
---|---|
CN112241239A (zh) | 2021-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102496598B1 (ko) | 성능 능력들을 자기-보고할 수 있는 불휘발성 메모리 저장 장치 | |
EP3577558B1 (en) | Resource management for virtual machines in cloud computing systems | |
US7975123B2 (en) | Computer system, management computer and storage system, and storage area allocation amount controlling method | |
CN110196767B (zh) | 服务资源控制方法、装置、设备和存储介质 | |
CN111818159B (zh) | 数据处理节点的管理方法、装置、设备及存储介质 | |
US20190205157A1 (en) | Resource management for virtual machines in cloud computing systems | |
US7945747B2 (en) | Method and system for deleting allocated virtual server resources | |
US8924681B1 (en) | Systems, methods, and computer readable media for an adaptative block allocation mechanism | |
US8584128B1 (en) | Techniques for adjusting priorities associated with servicing requests | |
US8032768B2 (en) | System and method for smoothing power reclamation of blade servers | |
WO2015001850A1 (ja) | タスク割り当て判定装置、制御方法、及びプログラム | |
CN110413203B (zh) | 用于管理存储系统的方法、设备和计算机可读介质 | |
US9448920B2 (en) | Granting and revoking supplemental memory allocation requests | |
US20150095489A1 (en) | Storage management device and control method | |
US10248348B2 (en) | Online flash resource migration, allocation, retire and replacement manager based on a cost of ownership model | |
US8874873B2 (en) | Resources allocation in a computer storage system | |
US10514848B2 (en) | Data storage method for selectively storing data in a buffer preset in a memory of an electronic device or an inherent buffer in an SSD | |
US11385828B2 (en) | Method and apparatus for calculating storage system available capacity | |
US20210126871A1 (en) | Outlier event autoscaling in a cloud computing system | |
US8458719B2 (en) | Storage management in a data processing system | |
CN112241239B (zh) | 存储任务管控方法、存储任务管控装置和存储设备 | |
US20150220612A1 (en) | Computer, control device for computer system, and recording medium | |
CN109831391B (zh) | 分布式存储系统中流控的方法、存储设备和系统 | |
US20200042193A1 (en) | Method, storage system and computer program product for managing data storage | |
WO2018189847A1 (ja) | ストレージ装置およびキャッシュメモリ管理方法 |
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 |