存储系统的服务质量控制方法和装置与流程

文档序号:11677189阅读:206来源:国知局
存储系统的服务质量控制方法和装置与流程

本发明涉及计算机技术领域,尤其涉及一种存储系统的服务质量控制方法和装置。



背景技术:

随着存储区域网络(storageareanetwork,san)存储技术的发展,对同一个存储系统的使用,出现了更复杂的需求和应用场景,例如,多种类型的磁盘混插使用的需求,传统卷和精简卷混合使用的应用场景,以及多个激活快照同时使用的应用场景等。

在以上这些场景中,存在共性的问题,不同类的对象的处理能力不尽相同,不同类的对象的请求指令流程也不尽相同,最终对请求指令的响应时间差异很大,这样就会导致一个相同的结果:请求指令的响应速度慢的那些对象,由于需要更长的处理时间,会更长时间的占用系统资源;而请求指令响应速度快的那些对象,虽然在更短的时间内处理完成了请求,但是接下来接收到的对象请求会等待更慢的请求释放出占用的系统资源,最终的结果就是所有对象的请求的时延都成为性能最低对象的时延,导致系统的运行性能降低,从而降低了存储系统的服务质量。



技术实现要素:

本发明的主要目的在于提供一种存储系统的服务质量控制方法和装置,旨在提高存储系统的服务质量。

为实现上述目的,本发明提供了一种存储系统的服务质量控制方法,包括:

在存储系统的各个监控点根据各类对象的唯一标示,统计各类对象的性能数据;

每隔预设时间根据各类对象的性能数据,设定各类对象的调度优先级和系统资源量;

在接收到对对象操作的请求指令后,根据请求指令的标记与对象的唯一标示之间的对应关系,获取与所述请求指令对应的对象,并根据所述对象的调度优先级及系统资源量,为所述请求指令分配系统资源。

可选地,所述在接收到对对象操作的请求指令后,根据请求指令的标记与对象的唯一标示之间的对应关系,获取与所述请求指令对应的对象,并根据所述对象的调度优先级及系统资源量,为所述请求指令分配系统资源包括:

在接收到对对象操作的请求指令后,根据所述请求指令对应对象的调度优先级,判断所述对象是否存在空闲的系统资源;

当所述对象存在空闲的系统资源,则分配系统资源给所述请求指令;

当所述对象不存在空闲的系统资源,则所述请求指令等待所述对象的其他请求指令释放出系统资源,直到存在空闲的系统资源后,为所述请求指令分配系统资源。

可选地,所述性能数据包括时延、流量及并发,所述每隔预设时间根据各类对象的性能数据设定各类对象的调度优先级和系统资源量包括:

每隔预设时间将性能数据中的时延、流量及并发进行加权计算,并根据加权计算的结果设定各类对象对应的优先级及对应的系统资源量占总系统资源量的比例。

可选地,所述性能数据与所述优先级及所述系统资源量均成正比关系,对象的性能越好,获得的系统资源量越多,优先级越高。

可选地,所述系统资源量包括cpu调度资源、内存资源及链路资源。

此外,为实现上述目的,本发明还提供了一种存储系统的服务质量控制装置,包括:

统计模块,用于在存储系统的各个监控点根据各类对象的唯一标示,统计各类对象的性能数据;

设定模块,用于每隔预设时间根据各类对象的性能数据,设定各类对象的调度优先级和系统资源量;

处理模块,用于在接收到对对象操作的请求指令后,根据请求指令的标记与对象的唯一标示之间的对应关系,获取与所述请求指令对应的对象,并根据所述对象的调度优先级及系统资源量,为所述请求指令分配系统资源。

可选地,所述处理模块包括:

判断单元,用于在接收到对对象操作的请求指令后,根据所述请求指令对应对象的调度优先级,判断所述对象是否存在空闲的系统资源;

分配单元,用于当所述对象存在空闲的系统资源,则分配系统资源给所述请求指令;当所述对象不存在空闲的系统资源,则所述请求指令等待所述对象的其他请求指令释放出系统资源,直到存在空闲的系统资源后,为所述请求指令分配系统资源。

可选地,所述性能数据包括时延、流量及并发,所述设定模块还用于,每隔预设时间将性能数据中的时延、流量及并发进行加权计算,并根据加权计算的结果设定各类对象对应的优先级及对应的系统资源量占总系统资源量的比例。

可选地,所述性能数据与所述优先级及所述系统资源量均成正比关系,对象的性能越好,获得的系统资源量越多,优先级越高。

可选地,所述系统资源量包括cpu调度资源、内存资源及链路资源。

本发明实施例通过对存储系统不同类的对象进行性能数据的统计,并根据各类对象的性能数据设定各类对象的调度优先级和系统资源量。在接收到对对象操作的请求指令后,根据对象的调度优先级及系统资源量,为请求指令分配相应的系统资源。实现了为不同性能的对象分配合理的系统资源,提高了存储系统的服务质量。

附图说明

图1为本发明存储系统的服务质量控制方法第一实施例的流程示意图;

图2为多个请求指令分配得到系统资源的示意图;

图3为本发明存储系统的服务质量控制方法中,根据对象的调度优先级及系统资源量,为请求指令分配系统资源的细化流程示意图;

图4为本发明存储系统的服务质量控制装置第一实施例的功能模块示意图;

图5为本发明存储系统的服务质量控制装置中处理模块的细化功能模块示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

如图1所示,示出了本发明一种存储系统的服务质量控制方法第一实施例。该实施例的存储系统的服务质量控制方法包括:

步骤s10、在存储系统的各个监控点根据各类对象的唯一标示,统计各类对象的性能数据;

本实施例中,存储系统可包括多种类型的磁盘混插使用的存储系统、传统卷和精简卷混合使用的存储系统、多个激活快照同时使用的存储系统等。以多种类型的磁盘混插使用的存储系统为例,将同一种类型的磁盘划分为同一类对象,即不同类型的磁盘为不同类的对象。为了使得控制更加清晰,存储系统中布满性能数据的监控点,例如,在存储系统的指令请求入口、收到响应、处理响应等不同的地方共设置有多个监控点,以便对不同类的对象进行监控,主要统计请求指令的时延,流量和并发等性能数据。为了区分不同类的对象,为各类对象设置唯一标示,并对各类对象进行操作的每个请求指令都会打上与各自对象对应的标记,以便通过请求指令的标记即可获知该请求指令对应的对象。

在上述设置好监控点后,在各个监控点将根据各类对象的唯一标示实时统计各类对象的性能数据。该性能数据包括时延、流量及并发等,其中,时延为接收到请求指令到处理完成该请求指令的时间,流量为在单位时间内处理的数据量,并发为在平均的同一时刻收到的请求数量。在系统的性能监控点为对象统计请求指令的平均时延,再计算周期内的流量及并发,以便后续根据各类对象的性能数据为每个对象设定其能使用的系统资源量和调度处理的优先级。

可以理解的是,该时延的获取方式可以是:方式一,当接收到请求指令时,将触发系统预置的记录模块记录此时的时间,并当处理完成该请求指令 时记录该时刻的时间,然后将所记录的接收到请求指令的时间与处理完成该请求指令的时间进行作差,以获取请求指令的时延。方式二,当接收到请求指令时,将触发系统预置的记录模块开始计时,直到处理完成该请求指令后停止计时,以得到请求指令的时延。上述获取时延的方式仅为具体实施方式的枚举,本领域技术人员提出的其它获取时延的方式,均在本发明的保护范围内。

步骤s20、每隔预设时间根据各类对象的性能数据,设定各类对象的调度优先级和系统资源量;

在得到各类对象的性能数据后,需要给性能不同类的对象分配合理的系统资源,即每隔预设时间根据各类对象的性能数据,设定各类对象的调度优先级和系统资源量,该预设时间可根据具体情况而灵活设置,例如,该预设时间可设置为1秒或2秒等。在每个统计周期结束时,根据加权计算的结果刷新各类对象的优先级及其可使用的系统资源,以下实施例将进行详细说明。

系统资源量可包括cpu调度资源、内存资源及链路资源等。性能数据与优先级成正比关系,性能数据与统资源量也成正比关系。即性能更差的对象,其调度的优先级更低,可获取的系统资源更少;性能更好的对象,其调度的优先级更高,可获取的系统资源更多。从而实现了为性能更好的对象分配更多的资源,为性能更差的对象分配较少的资源,合理分配系统资源,以使存储系统达到最佳的运行性能,例如,让高性能的卷依然保持其高性能的特性。

步骤s30、在接收到对对象操作的请求指令后,根据请求指令的标记与对象的唯一标示之间的对应关系,获取与所述请求指令对应的对象,并根据所述对象的调度优先级及系统资源量,为所述请求指令分配系统资源。

在接收到对对象操作的请求指令,系统中所有请求指令需要获取系统资源时,例如,内存申请、或cpu调度或链路等系统资源,可根据请求指令的标记与对象的唯一标示之间的对应关系,获取该请求指令对应的对象,并根据请求指令对应的对象来确定何时调度。即根据对象的调度优先级及系统资源量,为请求指令分配系统资源。即判断该请求指令是否可获取到相应的系统资源,若该请求指令可获取到相应的系统资源,则分配系统资源给该请求指令执行。若请求指令获取不到相应的系统资源,则加入等待队列中进行等待。

以下进行举例说明,如图2所示,图2中的横轴方向表示时刻,纵轴方向表示系统资源,假设同一类的系统资源总数为4,t1时刻收到1~4请求指令,都分别获取到资源执行,现有技术中,在t2时刻时,3和4请求指令已完成,同时系统又收到5~8请求指令,依据先来先服务的原则,5和6请求指令获取到资源得到执行,此时,后续收到的所有请求指令,在整个系统中的处理时间都等于最慢请求的时延,该请求的时延为等待时延加处理时延。

而采用本发明实施例的方案,在t2时刻时,可根据5~8请求指令时延、流量及并发等性能参数来确定7和8请求指令的优先级比5和6请求指令的优先级高,因此,可在3和4请求指令已完成后,优先让7和8请求指令获取到资源执行。在t3时刻时,7和8请求指令已完成,同时系统又收到9~12请求指令,根据5、6、9~12请求指令时延、流量及并发等性能参数来确定11和12请求指令的优先级比其他请求指令的优先级高,因此,可在7和8请求指令已完成后,优先让11和12请求指令获取到资源执行。在t4时刻时,11和12请求指令完成后,让5和6请求指令获取到资源执行。在t6时刻时,1和2请求指令完成后,让9和10请求指令获取到资源执行。从而实现合理分配系统资源,使得存储系统达到最佳的运行性能。

本发明实施例通过对存储系统不同类的对象进行性能数据的统计,并根据各类对象的性能数据设定各类对象的调度优先级和系统资源量。在接收到对对象操作的请求指令后,根据对象的调度优先级及系统资源量,为请求指令分配相应的系统资源。实现了为不同性能的对象分配合理的系统资源,提高了存储系统的运行性能及服务质量。

进一步地,如图3所示,基于上述存储系统的服务质量控制方法的第一实施例,提出了本发明存储系统的服务质量控制方法第二实施例,该实施例中上述步骤s30可包括:

步骤s31、在接收到对对象操作的请求指令后,根据所述请求指令对应对象的调度优先级,判断所述对象是否存在空闲的系统资源;

步骤s32、当所述对象存在空闲的系统资源,则分配系统资源给所述请求指令;

步骤s33、当所述对象不存在空闲的系统资源,则所述请求指令等待所述 对象的其他请求指令释放出系统资源,直到存在空闲的系统资源后,为所述请求指令分配系统资源。

本实施例中,存储系统在接收到对对象操作的请求指令后,将会申请其所需的系统资源,可根据请求指令的标记与对象的唯一标示的对应关系,根据请求指令对应对象的调度优先级,判断该对象是否存在空闲的系统资源。如果该对象的仍有空闲的资源,则分配资源给该请求指令;如果该对象已不存在空闲的资源,则将该请求指令加入到等待队列,等待该对象的其他请求指令释放出系统资源。当该对象释放出系统资源后,则可开始处理等待队列中的请求指令,按照先入队先服务的原则分配系统资源。

以下将以cpu调度资源为例进行详细说明,存储系统在接收到对对象操作的请求指令后,需要得到cpu调度才能处理其业务逻辑,即请求获取cpu调度资源。系统将会判断是否有空闲的cpu调度资源,如果有空闲的cpu调度资源,则直接分配cpu调度资源,调度该请求指令执行;如果无空闲的cpu调度资源,则按请求指令对应的对象将请求指令加入到相应优先级的等待调度队列。当执行完的请求指令释放出cpu调度资源后,则按照优先级先高后低和先入队先服务的原则处理待调度队列,将得到调度的请求指令出队执行。根据得到cpu调度资源后,按照请求指令对应的逻辑处理完成该请求指令。

本实施例可根据对象的调度优先级及系统资源量,判断请求指令是否可获取到相应的系统资源,为不同性能的对象分配合理的系统资源,提高了存储系统的服务质量。

进一步地,基于上述存储系统的服务质量控制方法第二实施例,提出了本发明存储系统的服务质量控制方法第三实施例,该实施例中上述步骤s20可包括:每隔预设时间将性能数据中的时延、流量及并发进行加权计算,并根据加权计算的结果设定各类对象对应的优先级及对应的系统资源量占总系统资源量的比例。

本实施例中,该预设时间可根据具体情况而灵活设置,在每个统计周期结束,在得到各类对象的性能数据后,可依据加权的算法对时延、流量和并发等进行加权计算,根据加权计算的结果,得出每个对象其对应的优先级,及其对应的系统资源量占总系统资源量的比例,以更新各类对象的优先级及 其可使用的系统资源。具体地,每隔预设时间根据加权计算的结果设定各类对象对应的优先级及对应的系统资源量占总系统资源量的比例可包括:假设某一对象的时延、流量和并发的权重分别为0.5、0.3、0.2,则加权计算的结果r=时延*0.5+流量*0.3+并发*0.2,分别得到各类对象的加权计算的结果r1~rn,根据r1~rn设定各类对象对应的优先级及对应的系统资源量占总系统资源量的比例。例如,得到对象1的r1为5,得到对象2的r2为15,则对象2的优先级高于对象1的优先级,并按1:3的关系分配对象1和对象2的系统资源量。需要说明的是,将性能数据中的时延、流量及并发进行加权计算的方式可根据具体情况而灵活设置,并不限定本发明。

本实施例根据时延、流量及并发等性能数据进行加权计算,根据加权计算结果为不同性能的对象分配合理的系统资源,提高了存储系统的服务质量。

对应地,如图4所示,提出本发明一种存储系统的服务质量控制装置第一实施例。该实施例的存储系统的服务质量控制装置包括:

统计模块100,用于在存储系统的各个监控点根据各类对象的唯一标示,统计各类对象的性能数据;

本实施例中,存储系统可包括多种类型的磁盘混插使用的存储系统、传统卷和精简卷混合使用的存储系统、多个激活快照同时使用的存储系统等。以多种类型的磁盘混插使用的存储系统为例,将同一种类型的磁盘划分为同一类对象,即不同类型的磁盘为不同类的对象。为了使得控制更加清晰,存储系统中布满性能数据的监控点,例如,在存储系统的指令请求入口、收到响应、处理响应等不同的地方共设置有多个监控点,以便对不同类的对象进行监控,主要统计请求指令的时延,流量和并发等性能数据。为了区分不同类的对象,为各类对象设置唯一标示,并对各类对象进行操作的每个请求指令都会打上与各自对象对应的标记,以便通过请求指令的标记即可获知该请求指令对应的对象。

在上述设置好监控点后,统计模块100在各个监控点将根据各类对象的唯一标示实时统计各类对象的性能数据。该性能数据包括时延、流量及并发等,其中,时延为接收到请求指令到处理完成该请求指令的时间,流量为在单位时间内处理的数据量,并发为在平均的同一时刻收到的请求数量。在系 统的性能监控点统计模块100为对象统计请求指令的平均时延,再计算周期内的流量及并发,以便后续根据各类对象的性能数据为每个对象设定其能使用的系统资源量和调度处理的优先级。

可以理解的是,该时延的获取方式可以是:方式一,当接收到请求指令时,将触发系统预置的记录模块记录此时的时间,并当处理完成该请求指令时记录该时刻的时间,然后将所记录的接收到请求指令的时间与处理完成该请求指令的时间进行作差,以获取请求指令的时延。方式二,当接收到请求指令时,将触发系统预置的记录模块开始计时,直到处理完成该请求指令后停止计时,以得到请求指令的时延。上述获取时延的方式仅为具体实施方式的枚举,本领域技术人员提出的其它获取时延的方式,均在本发明的保护范围内。

设定模块200,用于每隔预设时间根据各类对象的性能数据,设定各类对象的调度优先级和系统资源量;

在得到各类对象的性能数据后,设定模块200需要给性能不同类的对象分配合理的系统资源,即设定模块200每隔预设时间根据各类对象的性能数据,设定各类对象的调度优先级和系统资源量,该预设时间可根据具体情况而灵活设置,例如,该预设时间可设置为1秒或2秒等。在每个统计周期结束时,设定模块200根据加权计算的结果刷新各类对象的优先级及其可使用的系统资源,以下实施例将进行详细说明。

系统资源量可包括cpu调度资源、内存资源及链路资源等。性能数据与优先级成正比关系,性能数据与统资源量也成正比关系。即性能更差的对象,其调度的优先级更低,可获取的系统资源更少;性能更好的对象,其调度的优先级更高,可获取的系统资源更多。从而实现了为性能更好的对象分配更多的资源,为性能更差的对象分配较少的资源,合理分配系统资源,以使存储系统达到最佳的运行性能,例如,让高性能的卷依然保持其高性能的特性。

处理模块300,用于在接收到对对象操作的请求指令后,根据请求指令的标记与对象的唯一标示之间的对应关系,获取与所述请求指令对应的对象,并根据所述对象的调度优先级及系统资源量,为所述请求指令分配系统资源。

在接收到对对象操作的请求指令,系统中所有请求指令需要获取系统资源时,例如,内存申请、或cpu调度或链路等系统资源,处理模块300可根 据请求指令的标记与对象的唯一标示之间的对应关系,获取该请求指令对应的对象,并根据请求指令对应的对象来确定何时调度。即处理模块300根据对象的调度优先级及系统资源量,为请求指令分配系统资源。即判断该请求指令是否可获取到相应的系统资源,若该请求指令可获取到相应的系统资源,则分配系统资源给该请求指令执行。若请求指令获取不到相应的系统资源,则加入等待队列中进行等待。

以下进行举例说明,如图2所示,图2中的横轴方向表示时刻,纵轴方向表示系统资源,假设同一类的系统资源总数为4,t1时刻收到1~4请求指令,都分别获取到资源执行,现有技术中,在t2时刻时,3和4请求指令已完成,同时系统又收到5~8请求指令,依据先来先服务的原则,5和6请求指令获取到资源得到执行,此时,后续收到的所有请求指令,在整个系统中的处理时间都等于最慢请求的时延,该请求的时延为等待时延加处理时延。

而采用本发明实施例的方案,在t2时刻时,可根据5~8请求指令时延、流量及并发等性能参数来确定7和8请求指令的优先级比5和6请求指令的优先级高,因此,可在3和4请求指令已完成后,优先让7和8请求指令获取到资源执行。在t3时刻时,7和8请求指令已完成,同时系统又收到9~12请求指令,根据5、6、9~12请求指令时延、流量及并发等性能参数来确定11和12请求指令的优先级比其他请求指令的优先级高,因此,可在7和8请求指令已完成后,优先让11和12请求指令获取到资源执行。在t4时刻时,11和12请求指令完成后,让5和6请求指令获取到资源执行。在t6时刻时,1和2请求指令完成后,让9和10请求指令获取到资源执行。从而实现合理分配系统资源,使得存储系统达到最佳的运行性能。

本发明实施例通过对存储系统不同类的对象进行性能数据的统计,并根据各类对象的性能数据设定各类对象的调度优先级和系统资源量。在接收到对对象操作的请求指令后,根据对象的调度优先级及系统资源量,为请求指令分配相应的系统资源。实现了为不同性能的对象分配合理的系统资源,提高了存储系统的运行性能及服务质量。

进一步地,如图5所示,基于上述存储系统的服务质量控制装置第一实施例,提出了本发明存储系统的服务质量控制装置第二实施例,该实施例中 上述处理模块300包括可包括:

判断单元310,用于在接收到对对象操作的请求指令后,根据所述请求指令对应对象的调度优先级,判断所述对象是否存在空闲的系统资源;

分配单元320,用于当所述对象存在空闲的系统资源,则分配系统资源给所述请求指令;当所述对象不存在空闲的系统资源,则所述请求指令等待所述对象的其他请求指令释放出系统资源,直到存在空闲的系统资源后,为所述请求指令分配系统资源。

本实施例中,存储系统在接收到对对象操作的请求指令后,将会申请其所需的系统资源,判断单元310可根据请求指令的标记与对象的唯一标示的对应关系,根据请求指令对应对象的调度优先级,判断该对象是否存在空闲的系统资源。如果该对象的仍有空闲的资源,则分配单元320分配资源给该请求指令;如果该对象已不存在空闲的资源,则分配单元320将该请求指令加入到等待队列,等待该对象的其他请求指令释放出系统资源。当该对象释放出系统资源后,则可开始处理等待队列中的请求指令,按照先入队先服务的原则分配系统资源。

以下将以cpu调度资源为例进行详细说明,存储系统在接收到对对象操作的请求指令后,需要得到cpu调度才能处理其业务逻辑,即请求获取cpu调度资源。系统将会判断是否有空闲的cpu调度资源,如果有空闲的cpu调度资源,则直接分配cpu调度资源,调度该请求指令执行;如果无空闲的cpu调度资源,则按请求指令对应的对象将请求指令加入到相应优先级的等待调度队列。当执行完的请求指令释放出cpu调度资源后,则按照优先级先高后低和先入队先服务的原则处理待调度队列,将得到调度的请求指令出队执行。根据得到cpu调度资源后,按照请求指令对应的逻辑处理完成该请求指令。

本实施例可根据对象的调度优先级及系统资源量,判断请求指令是否可获取到相应的系统资源,为不同性能的对象分配合理的系统资源,提高了存储系统的服务质量。

进一步地,基于上述存储系统的服务质量控制装置第二实施例,提出了本发明存储系统的服务质量控制装置第三实施例,该实施例中上述设定模块200还用于,每隔预设时间将性能数据中的时延、流量及并发进行加权计算, 并根据加权计算的结果设定各类对象对应的优先级及对应的系统资源量占总系统资源量的比例。

本实施例中,该预设时间可根据具体情况而灵活设置,在每个统计周期结束,在得到各类对象的性能数据后,设定模块200可依据加权的算法对时延、流量和并发等进行加权计算,根据加权计算的结果,得出每个对象其对应的优先级,及其对应的系统资源量占总系统资源量的比例,以更新各类对象的优先级及其可使用的系统资源。具体地,设定模块200每隔预设时间根据加权计算的结果设定各类对象对应的优先级及对应的系统资源量占总系统资源量的比例可包括:假设某一对象的时延、流量和并发的权重分别为0.5、0.3、0.2,则加权计算的结果r=时延*0.5+流量*0.3+并发*0.2,分别得到各类对象的加权计算的结果r1~rn,根据r1~rn设定各类对象对应的优先级及对应的系统资源量占总系统资源量的比例。例如,得到对象1的r1为5,得到对象2的r2为15,则对象2的优先级高于对象1的优先级,并按1:3的关系分配对象1和对象2的系统资源量。需要说明的是,将性能数据中的时延、流量及并发进行加权计算的方式可根据具体情况而灵活设置,并不限定本发明。

本实施例根据时延、流量及并发等性能数据进行加权计算,根据加权计算结果为不同性能的对象分配合理的系统资源,提高了存储系统的服务质量。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1