CN105183375A - 一种热点数据的服务质量的控制方法和装置 - Google Patents
一种热点数据的服务质量的控制方法和装置 Download PDFInfo
- Publication number
- CN105183375A CN105183375A CN201510547001.2A CN201510547001A CN105183375A CN 105183375 A CN105183375 A CN 105183375A CN 201510547001 A CN201510547001 A CN 201510547001A CN 105183375 A CN105183375 A CN 105183375A
- Authority
- CN
- China
- Prior art keywords
- hot spot
- spot data
- iops
- data object
- dielectric layer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明实施例公开了一种热点数据的服务质量的控制方法,包括:获取热点数据对象集,所述热点数据对象集包括至少一个热点数据对象;获取所述热点数据对象集中每个所述热点数据对象的配置信息,所述配置信息包括为读/写所述热点数据对象的热点数据预设的IOPS最大值;将介质层的IOPS分配给各个所述热点数据对象;获取分配得到的IOPS未达到其IOPS最大值的目标热点数据对象,并将cache层的IOPS分配给所述目标热点数据对象。相应地,本发明实施例还公开了一种热点数据的服务质量的控制装置。采用本发明实施例,可以为存储系统中的热点数据提供最低性能保障,且又可以为高优先级的热点数据提供高性能保障。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种热点数据的服务质量的控制方法和装置。
背景技术
主机上的数据通常存储在存储系统中,传统的存储系统主要以硬盘驱动器(HardDiskDrive,HDD)作为介质,但HDD性能较低,HDD组成的集群只能满足单个应用的性能要求。随着固态硬盘(SolidStateDrives,SSD)成本的逐渐下降,在存储系统中作为主存储介质越来越普及。SSD性能远高于HDD,SSD介质组成的集群,能提供的性能远远超出单个应用的需求。因此,往往在SSD集群上进行多应用的合布,以确保资源不会浪费。
为了消除多个应用之间的相关干扰,服务质量(QualityofService,QOS)被采用以实现各种隔离效果。IOPS(Input/OutputOperationsPerSecond,即每秒进行读写(I/O)操作的次数)是一种常见的Qos控制技术。例如,要为某个应用提供更好的服务质量,则为该应用分配更多的IOPS。现有技术是根据应用的优先级确定各个应用的服务质量,即优先级高的应用分配的IOPS多,优先级低的应用分配的IOPS少。现有技术中虽然高优先级应用的IOPS得到了保障,但低优先级应用的IOPS却得不到保障,甚至可能一直无法获取到IOPS。
发明内容
本发明实施例提供一种热点数据的服务质量的控制方法和装置,可以为存储系统中的热点数据提供最低性能保障,且又可以为高优先级的热点数据提供高性能保障。
本发明第一方面提供了一种热点数据的服务质量的控制方法,包括:
获取热点数据对象集,所述热点数据对象集包括至少一个热点数据对象;
获取所述热点数据对象集中每个所述热点数据对象的配置信息,所述配置信息包括为读/写所述热点数据对象的热点数据预设的IOPS最大值;
将介质层的IOPS分配给各个所述热点数据对象;
获取分配得到的IOPS未达到其IOPS最大值的目标热点数据对象,并将cache层的IOPS分配给所述目标热点数据对象。
在第一方面的第一种可能的实现方式中,所述介质层的IOPS总数大于各个所述热点数据对象的IOPS最小值之和,所述配置信息还包括为读/写所述热点数据对象的热点数据预设的IOPS最小值;
所述将介质层的IOPS分配给各个所述热点数据对象包括:
从所述介质层分别获取与所述各个热点数据对象的IOPS最小值相等数量的IOPS分配给对应的所述热点数据对象。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述从所述介质层分别获取与所述各个热点数据对象的IOPS最小值相等数量的IOPS分配给对应的所述热点数据对象之后,所述方法还包括:
确定所述介质层剩余IOPS与所述热点数据对象的数量的商值N;
从所述介质层获取与所述N相等数量的IOPS分配给所述热点数据对象。
结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,
所述确定所述介质层剩余IOPS与所述热点数据对象的数量的商值N之后,所述方法还包括:
确定所述热点数据对象的IOPS最大值与IOPS最小值的差值S;
判断所述S是否大于或等于所述N;
若是,则执行所述从所述介质层获取与所述N相等数量的IOPS分配给所述热点数据对象的步骤;
否则,从所述介质层获取与所述S相等数量的IOPS分配给所述热点数据对象。
结合第一方面或第一方面的第一种至第三种中任一种可能的实现方式,在第四种可能的实现方式中,所述将cache层的IOPS分配给所述目标热点数据对象包括:
确定所述目标热点数据对象的IOPS最大值与其分配得到的IOPS数量的差值M;
从所述cache层获取与所述M相等数量的IOPS分配给所述目标热点数据对象。
结合第一方面的第四种可能的实现方式,在第五种可能的实现方式中,所述配置信息还包括所述目标热点数据对象的命中率;
所述确定所述目标热点数据对象的IOPS最大值与分配得到的IOPS数量的差值M之后,所述方法还包括:根据预设的命中率和IOPS的对应关系,确定所述目标热点数据对象的命中率对应的IOPS数量Y;
判断所述Y是否大于或等于所述M;
若是,则执行所述从所述cache层获取与所述M相等数量的IOPS分配给所述目标热点数据对象的步骤;
否则,从所述cache层获取与所述Y相等数量的IOPS分配给所述目标热点数据对象。
相应地,本发明第二方面还提供了一种热点数据的服务质量的控制装置,包括:
对象获取模块,用于获取热点数据对象集,所述热点数据对象集包括至少一个热点数据对象;
配置信息获取模块,用于获取所述热点数据对象集中每个所述热点数据对象的配置信息,所述配置信息包括为读/写所述热点数据对象的热点数据预设的IOPS最大值;
第一分配模块,用于将介质层的IOPS分配给各个所述热点数据对象;
第二分配模块,用于获取分配得到的IOPS未达到其IOPS最大值的目标热点数据对象,并将cache层的IOPS分配给所述目标热点数据对象。
在第二方面的第一种可能的实现方式中,所述介质层的IOPS总数大于各个所述热点数据对象的IOPS最小值之和,所述配置信息还包括为读/写所述热点数据对象的热点数据预设的IOPS最小值;
所述第一分配模块包括:
分配单元,用于从所述介质层分别获取与所述各个热点数据对象的IOPS最小值相等数量的IOPS分配给对应的所述热点数据对象。
结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,
所述第一分配模块还包括:
第一计算单元,用于确定所述介质层剩余IOPS与所述热点数据对象的数量的商值N;
所述分配单元还用于:
从所述介质层获取与所述N相等数量的IOPS分配给所述热点数据对象。
结合第二方面的第二种可能的实现方式,在第三种可能的实现方式中,所述第一分配模块还包括:
第二计算单元,用于确定所述热点数据对象的IOPS最大值与IOPS最小值的差值S;
判断单元,用于判断所述S是否大于或等于所述N,若所述S大于或等于所述N,则触发所述分配单元从所述介质层获取与所述N相等数量的IOPS分配给所述热点数据对象,否则,触发所述分配单元从所述介质层获取与所述S相等数量的IOPS分配给所述热点数据对象。
结合第二方面或第二方面的第一种至第三种中任一种可能的实现方式,在第四种可能的实现方式中,所述第二分配模块包括:
第一计算单元,用于确定所述目标热点数据对象的IOPS最大值与其分配得到的IOPS数量的差值M;
分配单元,用于从所述cache层获取与所述M相等数量的IOPS分配给所述目标热点数据对象。
结合第二方面的第四种可能的实现方式,在第五种可能的实现方式中,所述配置信息还包括所述目标热点数据对象的命中率;
所述第二分配模块还包括:
第二计算单元,用于根据预设的命中率和IOPS的对应关系,确定所述目标热点数据对象的命中率对应的IOPS数量Y;
判断单元,用于判断所述Y是否大于或等于所述M,若所述Y大于或等于所述M,则触发所述分配单元从所述cache层获取与所述M相等数量的IOPS分配给所述目标热点数据对象,否则,触发所述分配单元从所述cache层获取与所述Y相等数量的IOPS分配给所述目标热点数据对象。
实施本发明实施例,具有以下有益效果:
获取热点数据对象集中每个热点数据对象的配置信息,再将介质层的IOPS分配给各个所述热点数据对象,再获取分配得到的IOPS未达到其IOPS最大值的目标热点数据对象,并将cache层的IOPS分配给所述目标热点数据对象,由于,介质层的IOPS是独立运行的,并不会受到cache命中率的影响,因此,最低性能始终可以得到保证,并且通过cache层为存储系统中的高优先级的热点数据还提供了高性能保障。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种热点数据的Qos的控制方法的流程图;
图2是本发明实施例提供的另一种热点数据的Qos的控制方法的流程图;
图3是本发明实施例提供的一种热点数据的Qos的控制装置的结构示意图;
图4是本发明实施例提供的第一分配模块的结构示意图;
图5是本发明实施例提供的第二分配模块的结构示意图;
图6是本发明实施例提供的一种存储设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,图1是本发明实施例提供的一种热点数据的Qos的控制方法的流程图;本发明实施例的热点数据的Qos的控制方法可以实现在任何涉及存储系统的场景。本发明实施例以服务器为例。如图1所示所述方法可以包括:
S101,获取热点数据对象集,所述热点数据对象集包括至少一个热点数据对象。
所述热点数据对象可以是服务器在访问存储系统之前,管理人员在服务器侧配置的,也可以是管理人员在存储系统侧配置后,由存储系统发送至所述服务器的。所述存储系统由主存储器和cache组成,所述主存储器包括SSD,所述cache用于存储所述主存储器中命中率较高的数据(即热点数据)。所述热点数据对象指的是例如某个应用程序所访问的任何地址区域、或者某个文件/目录等。
S102,获取所述热点数据对象集中每个所述热点数据对象的配置信息,所述配置信息包括为读/写所述热点数据对象的热点数据预设的IOPS最大值。
具体的,服务器当获取到热点数据对象集时,则获取所述热点数据对象集中每个所述热点数据对象的配置信息;所述配置信息是包括为读/写所述热点数据对象的热点数据预设的IOPS最大值。当然,热点数据对象的优先级越高,为其配置的IOPS最大值越大;热点数据对象的优先级越低,为其配置的IOPS最大值越小。其中,IOPS(Input/OutputOperationsPerSecond)即每秒进行读写(I/O)操作的次数,是一种常见的Qos控制技术。
S103,将介质层的IOPS分配给各个所述热点数据对象。
优选的,所述介质层的IOPS总数大于各个所述热点数据对象的IOPS最小值之和,所述配置信息还可以包括为读/写所述热点数据对象的热点数据预设的IOPS最小值,服务器可以从所述介质层分别获取与所述各个热点数据对象的IOPS最小值相等数量的IOPS分配给对应的所述热点数据对象。假设,热点数据对象集中包括5个热点数据对象,每个热点数据对象配置的IOPS最小值如表1所示,服务器则从介质层分别获取“50”、“30”、“60”、“150”和“10”的IOPS分别分配给“A”、“B”、“C”、“D”和“E”。需要说明的是,表1中各个热点数据对象的配置信息只是一种可选的实现方式,不能以此限定本发明。
表1
热点数据对象 | IOPS最小值 | IOPS最大值 |
A | 50 | 50 |
B | 30 | 40 |
C | 50 | 70 |
D | 150 | 250 |
E | 10 | 30 |
进一步的,服务器从所述介质层分别获取与所述各个热点数据对象的IOPS最小值相等数量的IOPS分配给对应的所述热点数据对象之后,还可以确定所述介质层剩余IOPS与所述热点数据对象的数量的商值N,从所述介质层获取与所述N相等数量的IOPS分配给所述热点数据对象。
再进一步的,服务器在确定所述介质层剩余IOPS与所述热点数据对象的数量的商值N之后,还可以确定所述热点数据对象的IOPS最大值与IOPS最小值的差值S,并判断所述S是否大于或等于所述N,若是,则从所述介质层获取与所述N相等数量的IOPS分配给所述热点数据对象,否则,从所述介质层获取与所述S相等数量的IOPS分配给所述热点数据对象。
可选的,服务器可以将其介质层的IOPS平均分配给所述热点数据对象集中的每个热点数据对象;假设,热点数据对象集中包括5个热点数据对象,介质层当前可用于分配的IOPS为250,则每个热点数据对象可以分配得到50个IOPS,即每个热点数据对象每秒的读写操作次数为50次。
由于,介质层的IOPS是独立运行的,并不会受到cache命中率的影响,因此,最低性能始终可以得到保证。
S104,获取分配得到的IOPS未达到其IOPS最大值的目标热点数据对象,并将cache层的IOPS分配给所述目标热点数据对象。
服务器将介质层的IOPS分配给各个热点数据对象之后,可以检测所述热点数据对象集中是否存在分配得到的IOPS未达到其IOPS最大值的目标热点数据对象,若是,则将cache层的IOPS分配给所述目标数据对象。本发明实施例进一步又通过cache层为存储系统中的高优先级的热点数据提供了高性能保障。
具体实现中,服务器可以确定所述目标热点数据对象的IOPS最大值与其分配得到的IOPS数量的差值M,从所述cache层获取与所述M相等数量的IOPS分配给所述目标热点数据对象。
假设,热点数据对象“A”、“B”、“C”、“D”和“E”分配得到的IOPS都为50,每个所述热点数据对象的IOPS最大值如表1所示,则可以确定热点数据对象“C”和“D”分配得到的IOPS未达到其IOPS最大值,则将“C”和“D”作为目标热点数据对象,服务器确定“C”的IOPS最大值与其分配得到的IOPS数量的差值M为20,则从所述cache层获取20的IOPS分配给“C”;服务器确定“D”的IOPS最大值与其分配得到的IOPS数量的差值M为200,则从所述cache层获取200的IOPS分配给“D”。
假设,热点数据对象“A”、“B”、“C”、“D”和“E”分配得到的IOPS与其IOPS最大值如表1所示,则可以确定热点数据对象“B”、“C”、“D”和“E”分配得到的IOPS未达到其IOPS最大值,则将“B”、“C”、“D”和“E”作为目标热点数据对象,服务器确定“B”的IOPS最大值与其分配得到的IOPS数量的差值M为10,则从所述cache层获取10的IOPS分配给“B”;服务器确定“C”的IOPS最大值与其分配得到的IOPS数量的差值M为20,则从所述cache层获取20的IOPS分配给“C”;服务器确定“D”的IOPS最大值与其分配得到的IOPS数量的差值M为100,则从所述cache层获取100的IOPS分配给“D”;服务器确定“E”的IOPS最大值与其分配得到的IOPS数量的差值M为20,则从所述cache层获取20的IOPS分配给“E”。
进一步的,所述配置信息还包括所述目标热点数据对象的命中率,服务器在确定所述目标热点数据对象的IOPS最大值与其分配得到的IOPS数量的差值M之后,可以先根据预设的命中率和IOPS的对应关系,确定所述目标热点数据对象的命中率对应的IOPS数量Y,并判断所述Y是否大于或等于所述M,若是,则从所述cache层获取与所述M相等数量的IOPS分配给所述目标热点数据对象,否则,从所述cache层获取与所述Y相等数量的IOPS分配给所述目标热点数据对象。
所述预设的命中率和IOPS的对应关系可以根据历史记录确定。如在一段时间内热点数据对象A分配的cache的IOPS为100,记录在所述一段时间内所述热点数据对象A的命中率,根据记录结果确定所述热点数据对象A的命中率和IOPS的对应关系。
假设,服务器确定目标热点数据对象“C”的M为20,且目标热点数据对象“C”的配置信息中的命中率为60%,且根据目标热点数据对象“C”预设的命中率和IOPS的对应关系,确定60%命中率对应的IOPS为70,服务器则从cache层获取20的IOPS分配给“C”。
假设,服务器确定目标热点数据对象“D”的M为200,且目标热点数据对象“D”的配置信息中的命中率为60%,且根据目标热点数据对象“D”预设的命中率和IOPS的对应关系,确定60%命中率对应的IOPS为150,服务器则从cache层获取150的IOPS分配给“D”。
在图1所示的实施例中,服务器获取热点数据对象集中每个热点数据对象的配置信息,再将介质层的IOPS分配给各个所述热点数据对象,再获取分配得到的IOPS未达到其IOPS最大值的目标热点数据对象,并将cache层的IOPS分配给所述目标热点数据对象,由于,介质层的IOPS是独立运行的,并不会受到cache命中率的影响,因此,最低性能始终可以得到保证,并且通过cache层为存储系统中的高优先级的热点数据还提供了高性能保障。
请参阅图2,图2是本发明实施例提供的另一种热点数据的Qos的控制方法的流程图;本发明实施例的热点数据的Qos的控制方法可以实现在任何涉及存储系统的场景。本发明实施例以服务器为例。如图2所示所述方法可以包括:
S201,获取热点数据对象集,所述热点数据对象集包括至少一个热点数据对象。
S202,获取所述热点数据对象集中每个所述热点数据对象的配置信息,所述配置信息包括为读/写所述热点数据对象的热点数据预设的IOPS最小、IOPS最大值以及命中率。
S203,从所述介质层分别获取与所述各个热点数据对象的IOPS最小值相等数量的IOPS分配给对应的所述热点数据对象。
S204,确定所述介质层剩余IOPS与所述热点数据对象的数量的商值N。
S205,确定所述热点数据对象的IOPS最大值与IOPS最小值的差值S。
应指出的是,S204和S205之间没有严格的先后执行顺序,也可以同步执行。
S206,判断S是否大于或等于N。若是,则执行S208;否则,执行S207。
S207,从所述介质层获取与S相等数量的IOPS分配给所述热点数据对象。
S208,从所述介质层获取与N相等数量的IOPS分配给所述热点数据对象。
S209,获取分配得到的IOPS未达到其IOPS最大值的目标热点数据对象。
S210,确定所述目标热点数据对象的IOPS最大值与其分配得到的IOPS数量的差值M。
S211,根据预设的命中率和IOPS的对应关系,确定所述目标热点数据对象的命中率对应的IOPS数量Y。
应指出的是,S210和S211之间没有严格的先后执行顺序,也可以同步执行。
S212,判断Y是否大于或等于M。若是,执行S213,否则,执行S214。
S213,从所述cache层获取与M相等数量的IOPS分配给所述目标热点数据对象。
S214,从所述cache层获取与Y相等数量的IOPS分配给所述目标热点数据对象。
以下结合具体数据阐述本发明实施例。
假设,介质层可用的IOPS为500,热点数据对象集中每个热点数据对象的配置信息如表1所示;
服务器可以确定介质层剩余IOPS为210,N等于42。
服务器根据表1可以确定热点数据对象“A”、“B”、“C”、“D”和“E”分别对应的S为“0”、“10”、“20”、“100”和“20”。
对于热点数据对象“A”、“B”、“C”和“E”的S都是小于N,则执行S207,最终,热点数据对象“A”、“B”、“C”和“E”分别分配得到的IOPS为“50”、“40”、“70”和“30,都达到其IOPS最大值,则结束本流程;
对于热点数据对象“D”,则执行S208,最终,热点数据对象“D”分配得到的IOPS为192。
服务器进一步将热点数据对象“D”确定为目标热点数据对象,并确定热点数据对象“D”的IOPS最大值与其分配得到的IOPS数量的差值M等于58。
假设,热点数据对象“D”的命中率为60%,且根据热点数据对象“D”预设的命中率和IOPS的对应关系,确定60%命中率对应的IOPS为150,服务器则从cache层获取58的IOPS分配给“D”。
在图2所示的实施例中,服务器获取热点数据对象集中每个热点数据对象的配置信息,再从所述介质层分别获取与所述各个热点数据对象的IOPS最小值相等数量的IOPS分配给对应的所述热点数据对象,确定N和S的值,若S小于N,则从所述介质层获取与S相等数量的IOPS分配给所述热点数据对象,由于,介质层的IOPS是独立运行的,并不会受到cache命中率的影响,因此,最低性能始终可以得到保证;
若S大于或等于N,服务器则从所述介质层获取与S相等数量的IOPS分配给所述热点数据对象,并进一步确定M和Y,若Y大于或等于M,则从所述cache层获取与M相等数量的IOPS分配给所述目标热点数据对象,否则,从所述cache层获取与Y相等数量的IOPS分配给所述目标热点数据对象,通过cache层为存储系统中的高优先级的热点数据还提供了高性能保障。
请参阅图3,图3是本发明实施例提供的一种热点数据的Qos的控制装置的结构示意图。本发明实施例提供的所述热点数据的Qos的控制装置3可以应用于存储设备。如图3所示所述热点数据的Qos的控制装置3至少可以包括对象获取模块31、配置信息获取模块32、第一分配模块33以及第二分配模块34,其中:
对象获取模块31,用于获取热点数据对象集,所述热点数据对象集包括至少一个热点数据对象。
配置信息获取模块32,用于获取所述热点数据对象集中每个所述热点数据对象的配置信息,所述配置信息包括为读/写所述热点数据对象的热点数据预设的IOPS最大值。
第一分配模块33,用于将介质层的IOPS分配给各个所述热点数据对象。
所述介质层的IOPS总数大于各个所述热点数据对象的IOPS最小值之和,所述配置信息还包括为读/写所述热点数据对象的热点数据预设的IOPS最小值;
如图4所示所述第一分配模块33进一步还可以包括:
分配单元331,用于从所述介质层分别获取与所述各个热点数据对象的IOPS最小值相等数量的IOPS分配给对应的所述热点数据对象。
进一步的,所述第一分配模块33还可以包括第一计算单元332,其中:
第一计算单元332,用于确定所述介质层剩余IOPS与所述热点数据对象的数量的商值N;
所述分配单元331还用于:
从所述介质层获取与所述N相等数量的IOPS分配给所述热点数据对象。
再进一步的,所述第一分配模块33还可以包括第二计算单元333以及判断单元334,其中:
第二计算单元333,用于确定所述热点数据对象的IOPS最大值与IOPS最小值的差值S;判断单元334,用于判断所述S是否大于或等于所述N,若所述S大于或等于所述N,则触发所述分配单元331从所述介质层获取与所述N相等数量的IOPS分配给所述热点数据对象,否则,触发所述分配单元331从所述介质层获取与所述S相等数量的IOPS分配给所述热点数据对象。
第二分配模块34,用于获取分配得到的IOPS未达到其IOPS最大值的目标热点数据对象,并将cache层的IOPS分配给所述目标热点数据对象。
如图5所示,所述第二分配模块34进一步可以包括第一计算单元341以及分配单元342,其中:
第一计算单元341,用于确定所述目标热点数据对象的IOPS最大值与其分配得到的IOPS数量的差值M;
分配单元342,用于从所述cache层获取与所述M相等数量的IOPS分配给所述目标热点数据对象。
再进一步的,所述配置信息还包括所述目标热点数据对象的命中率,所述第二分配模块34还可以包括第二计算单元343以及判断单元344,其中:
第二计算单元343,用于根据预设的命中率和IOPS的对应关系,确定所述目标热点数据对象的命中率对应的IOPS数量Y;
判断单元344,用于判断所述Y是否大于或等于所述M,若所述Y大于或等于所述M,则触发所述分配单元342从所述cache层获取与所述M相等数量的IOPS分配给所述目标热点数据对象,否则,触发所述分配单元342从所述cache层获取与所述Y相等数量的IOPS分配给所述目标热点数据对象。
可理解的是,本实施例的热点数据的Qos的控制装置3的各功能模块的功能可根据上述方法实施例中的方法具体实现,可以具体对应参考图1~图2方法实施例的相关描述,此处不再赘述。
请参阅图6,图6是本发明实施例提供的一种存储设备的结构示意图。所述存储设备6包括图3热点数据的Qos的控制装置。如图6所示,所述存储设备6至少可以包括:至少一个处理器61,例如CPU,至少一个通信总线62以及存储器63。其中,通信总线62用于实现这些组件之间的连接通信。存储器63可以是高速RAM存储器,也可以是非易失的存储器(non-volatilememory),例如至少一个磁盘存储器。可选的,存储器63还可以是至少一个位于远离前述处理器61的存储装置。存储器63中存储一组程序代码,且处理器61用于调用存储器63中存储的程序代码,用于执行以下操作:
获取热点数据对象集,所述热点数据对象集包括至少一个热点数据对象;
获取所述热点数据对象集中每个所述热点数据对象的配置信息,所述配置信息包括为读/写所述热点数据对象的热点数据预设的IOPS最大值;
将介质层的IOPS分配给各个所述热点数据对象;
获取分配得到的IOPS未达到其IOPS最大值的目标热点数据对象,并将cache层的IOPS分配给所述目标热点数据对象。
优选的,所述介质层的IOPS总数大于各个所述热点数据对象的IOPS最小值之和,所述配置信息还包括为读/写所述热点数据对象的热点数据预设的IOPS最小值;
所述处理器61将介质层的IOPS分配给各个所述热点数据对象具体可以为:
从所述介质层分别获取与所述各个热点数据对象的IOPS最小值相等数量的IOPS分配给对应的所述热点数据对象。
进一步的,所述处理器61从所述介质层分别获取与所述各个热点数据对象的IOPS最小值相等数量的IOPS分配给对应的所述热点数据对象之后,还可以执行以下操作:
确定所述介质层剩余IOPS与所述热点数据对象的数量的商值N;
从所述介质层获取与所述N相等数量的IOPS分配给所述热点数据对象。
再进一步的,所述处理器61确定所述介质层剩余IOPS与所述热点数据对象的数量的商值N之后,还可以执行以下操作:
确定所述热点数据对象的IOPS最大值与IOPS最小值的差值S;
判断所述S是否大于或等于所述N;
若是,则执行所述从所述介质层获取与所述N相等数量的IOPS分配给所述热点数据对象的步骤;
否则,从所述介质层获取与所述S相等数量的IOPS分配给所述热点数据对象。
其中,所述处理器61将cache层的IOPS分配给所述目标热点数据对象具体可以为:
确定所述目标热点数据对象的IOPS最大值与其分配得到的IOPS数量的差值M;从所述cache层获取与所述M相等数量的IOPS分配给所述目标热点数据对象。
进一步的,所述配置信息还包括所述目标热点数据对象的命中率;
所述处理器61确定所述目标热点数据对象的IOPS最大值与分配得到的IOPS数量的差值M之后,还可以执行以下操作:
根据预设的命中率和IOPS的对应关系,确定所述目标热点数据对象的命中率对应的IOPS数量Y;
判断所述Y是否大于或等于所述M;
若是,则执行所述从所述cache层获取与所述M相等数量的IOPS分配给所述目标热点数据对象的步骤;
否则,从所述cache层获取与所述Y相等数量的IOPS分配给所述目标热点数据对象。
可理解的是,本实施例的存储设备6的各功能模块的功能可根据上述方法实施例中的方法具体实现,可以具体对应参考图1~图2方法实施例的相关描述,此处不再赘述。
需要说明的是,在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明实施例所必须的。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本发明实施例装置中的模块或单元可以根据实际需要进行合并、划分和删减。
本发明实施例中所述模块或单元,可以通过通用集成电路,例如CPU(CentralProcessingUnit,中央处理器),或通过ASIC(ApplicationSpecificIntegratedCircuit,专用集成电路)来实现。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (12)
1.一种热点数据的服务质量的控制方法,其特征在于,包括:
获取热点数据对象集,所述热点数据对象集包括至少一个热点数据对象;
获取所述热点数据对象集中每个所述热点数据对象的配置信息,所述配置信息包括为读/写所述热点数据对象的热点数据预设的IOPS最大值;
将介质层的IOPS分配给各个所述热点数据对象;
获取分配得到的IOPS未达到其IOPS最大值的目标热点数据对象,并将cache层的IOPS分配给所述目标热点数据对象。
2.如权利要求1所述的方法,其特征在于,所述介质层的IOPS总数大于各个所述热点数据对象的IOPS最小值之和,所述配置信息还包括为读/写所述热点数据对象的热点数据预设的IOPS最小值;
所述将介质层的IOPS分配给各个所述热点数据对象包括:
从所述介质层分别获取与所述各个热点数据对象的IOPS最小值相等数量的IOPS分配给对应的所述热点数据对象。
3.如权利要求2所述的方法,其特征在于,所述从所述介质层分别获取与所述各个热点数据对象的IOPS最小值相等数量的IOPS分配给对应的所述热点数据对象之后,所述方法还包括:
确定所述介质层剩余IOPS与所述热点数据对象的数量的商值N;
从所述介质层获取与所述N相等数量的IOPS分配给所述热点数据对象。
4.如权利要求3所述的方法,其特征在于,所述确定所述介质层剩余IOPS与所述热点数据对象的数量的商值N之后,所述方法还包括:
确定所述热点数据对象的IOPS最大值与IOPS最小值的差值S;
判断所述S是否大于或等于所述N;
若是,则执行所述从所述介质层获取与所述N相等数量的IOPS分配给所述热点数据对象的步骤;
否则,从所述介质层获取与所述S相等数量的IOPS分配给所述热点数据对象。
5.如权利要求1-4中任一项所述的方法,其特征在于,
所述将cache层的IOPS分配给所述目标热点数据对象包括:
确定所述目标热点数据对象的IOPS最大值与其分配得到的IOPS数量的差值M;
从所述cache层获取与所述M相等数量的IOPS分配给所述目标热点数据对象。
6.如权利要求5所述的方法,其特征在于,
所述配置信息还包括所述目标热点数据对象的命中率;
所述确定所述目标热点数据对象的IOPS最大值与分配得到的IOPS数量的差值M之后,所述方法还包括:
根据预设的命中率和IOPS的对应关系,确定所述目标热点数据对象的命中率对应的IOPS数量Y;
判断所述Y是否大于或等于所述M;
若是,则执行所述从所述cache层获取与所述M相等数量的IOPS分配给所述目标热点数据对象的步骤;
否则,从所述cache层获取与所述Y相等数量的IOPS分配给所述目标热点数据对象。
7.一种热点数据的服务质量的控制装置,其特征在于,包括:
对象获取模块,用于获取热点数据对象集,所述热点数据对象集包括至少一个热点数据对象;
配置信息获取模块,用于获取所述热点数据对象集中每个所述热点数据对象的配置信息,所述配置信息包括为读/写所述热点数据对象的热点数据预设的IOPS最大值;
第一分配模块,用于将介质层的IOPS分配给各个所述热点数据对象;
第二分配模块,用于获取分配得到的IOPS未达到其IOPS最大值的目标热点数据对象,并将cache层的IOPS分配给所述目标热点数据对象。
8.如权利要求7所述的装置,其特征在于,所述介质层的IOPS总数大于各个所述热点数据对象的IOPS最小值之和,所述配置信息还包括为读/写所述热点数据对象的热点数据预设的IOPS最小值;
所述第一分配模块包括:
分配单元,用于从所述介质层分别获取与所述各个热点数据对象的IOPS最小值相等数量的IOPS分配给对应的所述热点数据对象。
9.如权利要求8所述的装置,其特征在于,所述第一分配模块还包括:
第一计算单元,用于确定所述介质层剩余IOPS与所述热点数据对象的数量的商值N;
所述分配单元还用于:
从所述介质层获取与所述N相等数量的IOPS分配给所述热点数据对象。
10.如权利要求9所述的装置,其特征在于,所述第一分配模块还包括:
第二计算单元,用于确定所述热点数据对象的IOPS最大值与IOPS最小值的差值S;
判断单元,用于判断所述S是否大于或等于所述N,若所述S大于或等于所述N,则触发所述分配单元从所述介质层获取与所述N相等数量的IOPS分配给所述热点数据对象,否则,触发所述分配单元从所述介质层获取与所述S相等数量的IOPS分配给所述热点数据对象。
11.如权利要求7-10中任一项所述的装置,其特征在于,
所述第二分配模块包括:
第一计算单元,用于确定所述目标热点数据对象的IOPS最大值与其分配得到的IOPS数量的差值M;
分配单元,用于从所述cache层获取与所述M相等数量的IOPS分配给所述目标热点数据对象。
12.如权利要求11所述的装置,其特征在于,
所述配置信息还包括所述目标热点数据对象的命中率;
所述第二分配模块还包括:
第二计算单元,用于根据预设的命中率和IOPS的对应关系,确定所述目标热点数据对象的命中率对应的IOPS数量Y;
判断单元,用于判断所述Y是否大于或等于所述M,若所述Y大于或等于所述M,则触发所述分配单元从所述cache层获取与所述M相等数量的IOPS分配给所述目标热点数据对象,否则,触发所述分配单元从所述cache层获取与所述Y相等数量的IOPS分配给所述目标热点数据对象。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510547001.2A CN105183375B (zh) | 2015-08-31 | 2015-08-31 | 一种热点数据的服务质量的控制方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510547001.2A CN105183375B (zh) | 2015-08-31 | 2015-08-31 | 一种热点数据的服务质量的控制方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105183375A true CN105183375A (zh) | 2015-12-23 |
CN105183375B CN105183375B (zh) | 2019-04-23 |
Family
ID=54905484
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510547001.2A Active CN105183375B (zh) | 2015-08-31 | 2015-08-31 | 一种热点数据的服务质量的控制方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105183375B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106776019A (zh) * | 2016-12-01 | 2017-05-31 | 成都华为技术有限公司 | 一种用户读写请求的调度方法及装置 |
CN110073321A (zh) * | 2016-12-29 | 2019-07-30 | 华为技术有限公司 | 一种存储控制器及io请求处理方法 |
US10884667B2 (en) | 2017-01-05 | 2021-01-05 | Huawei Technologies Co., Ltd. | Storage controller and IO request processing method |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008091883A2 (en) * | 2007-01-22 | 2008-07-31 | A & P Technology, Inc. | Braided reinforcement for aircraft fuselage frames and method of producing the same |
CN102426552A (zh) * | 2011-10-31 | 2012-04-25 | 成都市华为赛门铁克科技有限公司 | 存储系统服务质量控制方法、装置和系统 |
CN103927231A (zh) * | 2014-03-31 | 2014-07-16 | 华中科技大学 | 一种面向数据处理的能耗优化数据集分配方法 |
-
2015
- 2015-08-31 CN CN201510547001.2A patent/CN105183375B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008091883A2 (en) * | 2007-01-22 | 2008-07-31 | A & P Technology, Inc. | Braided reinforcement for aircraft fuselage frames and method of producing the same |
CN102426552A (zh) * | 2011-10-31 | 2012-04-25 | 成都市华为赛门铁克科技有限公司 | 存储系统服务质量控制方法、装置和系统 |
CN103927231A (zh) * | 2014-03-31 | 2014-07-16 | 华中科技大学 | 一种面向数据处理的能耗优化数据集分配方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106776019A (zh) * | 2016-12-01 | 2017-05-31 | 成都华为技术有限公司 | 一种用户读写请求的调度方法及装置 |
CN106776019B (zh) * | 2016-12-01 | 2019-11-19 | 成都华为技术有限公司 | 一种用户读写请求的调度方法及装置 |
CN110073321A (zh) * | 2016-12-29 | 2019-07-30 | 华为技术有限公司 | 一种存储控制器及io请求处理方法 |
CN110073321B (zh) * | 2016-12-29 | 2020-05-08 | 华为技术有限公司 | 一种存储控制器及io请求处理方法 |
US11003360B2 (en) | 2016-12-29 | 2021-05-11 | Huawei Technologies Co., Ltd. | IO request processing according to processing sorting indexes |
US10884667B2 (en) | 2017-01-05 | 2021-01-05 | Huawei Technologies Co., Ltd. | Storage controller and IO request processing method |
Also Published As
Publication number | Publication date |
---|---|
CN105183375B (zh) | 2019-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10761731B2 (en) | Array controller, solid state disk, and method for controlling solid state disk to write data | |
US10552317B2 (en) | Cache allocation in a computerized system | |
US9665485B2 (en) | Logical and physical block addressing for efficiently storing data to improve access speed in a data deduplication system | |
US10049040B2 (en) | Just in time garbage collection | |
US7590816B2 (en) | Computer system, management computer and storage system, and storage area allocation amount controlling method | |
US9658796B2 (en) | Storage control device and storage system | |
EP2778889A1 (en) | Dynamic storage device provisioning | |
US10346039B2 (en) | Memory system | |
US10621085B2 (en) | Storage system and system garbage collection method | |
US9542126B2 (en) | Redundant array of independent disks systems that utilize spans with different storage device counts for a logical volume | |
US10203899B2 (en) | Method for writing data into flash memory apparatus, flash memory apparatus, and storage system | |
CN105487823A (zh) | 一种数据迁移的方法及装置 | |
KR20190044873A (ko) | 공용 메모리 영역 및 전용 메모리 영역을 포함하는 데이터 저장 장치 | |
US20170277631A1 (en) | Storage device, semiconductor memory device, and method for controlling same | |
CN105183375A (zh) | 一种热点数据的服务质量的控制方法和装置 | |
US10133517B2 (en) | Storage control device | |
US20170024147A1 (en) | Storage control device and hierarchized storage control method | |
JP2019191886A (ja) | 情報処理装置,情報処理方法およびプログラム | |
WO2015087651A1 (ja) | メモリの使用可能期間を延ばすための装置、プログラム、記録媒体および方法 | |
CN104899158A (zh) | 访存优化方法和装置 | |
US8468303B2 (en) | Method and apparatus to allocate area to virtual volume based on object access type | |
CN111124253B (zh) | 管理存储设备的方法、装置和计算机程序产品 | |
CN108334457B (zh) | 一种io处理方法及装置 | |
CN106202262A (zh) | 一种信息处理方法及电子设备 | |
CN110865768B (zh) | 写缓存资源分配方法、装置、设备以及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |