一种业务流量控制方法、装置和系统的制作方法

文档序号:6532519阅读:192来源:国知局
一种业务流量控制方法、装置和系统的制作方法
【专利摘要】一种业务流量控制方法,包括:获取资源负载信息;根据所述资源负载信息,利用KNN算法估算下一个单位周期内系统能够处理的业务请求数N,在所述单位周期内,从业务请求处理队列中获取N个的业务请求,将获取到的业务请求提交给业务线程池,以进行处理。相应的,还提供一种业务流量控制装置和系统。
【专利说明】一种业务流量控制方法、装置和系统
【技术领域】
[0001]本发明涉及通信【技术领域】,具体涉及一种业务流量控制方法、装置和系统。
【背景技术】
[0002]由于存储系统中的各种资源是有限的,因此,当系统资源紧张时,需要控制流入整个系统的业务流量,以避免整个系统过载,导致系统由于资源耗尽而宕机。
[0003]目前存储系统所广泛使用的业务流量控制策略是对存储系统的三种主要资源,SP内存、中央处理器(CPU,Central Processing Unit)和磁盘中的一种或几种设定阈值,一旦有一种资源的消耗达到该阈值,则认为系统是过载状态,然后进行反压,从而达到业务流量控制的目的。
[0004]然而,由于系统资源是多样性的,而业务请求也是具有不同类型,因此,不同类型的业务请求所耗费的系统资源也是不同的,如果仅凭某一种系统资源的消耗达到阈值就判定系统处于过载状态,将会限制其他资源的利用,导致系统资源未能被充分利用,也就是说,现有技术的业务流量控制方法不够灵活,未能充分利用系统资源。

【发明内容】

[0005]本发明实施例提供一种业务流量控制方法、装置和系统,可以灵活地对流量进行控制,充分利用系统资源。
[0006]第一方面,本发明实施例提供一种业务流量控制方法,包括:
[0007]获取资源负载信息;
[0008]根据所述资源负载信息,利用K最近邻分类(KNN, k-nearest-neighbors)算法估算下一个单位周期内系统能够处理的业务请求数N,所述N为正整数;
[0009]在所述下一个单位周期内,从业务请求处理队列中获取N个的业务请求;
[0010]将获取到的业务请求提交给业务线程池,以进行处理。
[0011]在第一种可能的实施方式中,结合第一方面,所述获取资源负载信息,包括:
[0012]采集最近K个单位周期的内存利用率、CPU利用率和存储器利用率中的任意两种以上信息,以及采集所处理的业务请求数,所述K为正整数;
[0013]所述根据所述资源负载信息估算下一个单位周期内系统能够处理的业务请求数N,包括:
[0014]根据所述最近K个单位周期的内存利用率、CPU利用率、存储器利用率和所处理的业务请求数,利用KNN算法估算下一个单位周期内系统能够处理的业务请求数N。
[0015]在第二种可能的实施方式中,结合第一方面的第一种可能的实施方式,所述根据所述最近K个单位周期的内存利用率、CPU利用率和存储器利用率中的任意两种以上信息,以及采集所处理的业务请求数估算下一个单位周期内系统能够处理的业务请求数N,包括:
[0016]将所述最近K个单位周期的内存利用率、CPU利用率和存储器利用率中的任意两种以上信息分别转换成各个周期的特性向量;
[0017]分别计算所述各个周期的特征向量和预置的过载向量之间的距离;
[0018]根据所述距离,按照预置的赋权策略为各个周期所处理的业务请求数赋权,所述赋权策略满足距离越小赋权越大的条件;
[0019]将所述各个周期所处理的业务请求数分别乘以对应的权值后产生的结果进行叠力口,并除以所有权值的和,得到下一个单位周期内系统能够处理的业务请求数N。
[0020]在第三种可能的实施方式中,结合第一方面、第一方面的第一或第二种可能的实施方式,所述将获取到的业务请求提交给业务线程池,以进行处理之后,还包括:
[0021 ] 记录获取到的业务请求数。
[0022]在第四种可能的实施方式中,结合第一方面、第一方面的第一或第二种可能的实施方式,所述从业务请求处理队列中获取N个的业务请求之前,还包括:
[0023]接收业务请求,并将所述业务请求添加到业务请求处理队列中,所述业务请求由协议适配层进行封装。
[0024]在第五种可能的实施方式中,结合第一方面、第一方面的第一或第二种可能的实施方式,所述将获取到的业务请求提交给业务线程池,以进行处理之后,还包括:
[0025]接收业务线程池返回的关于业务请求的处理结果;
[0026]将所述处理结果发送给协议适配层,以便将所述处理结果返回给用户。
[0027]第二方面,本发明实施例还提供一种业务流量控制装置,包括信息获取单元、估算单元、请求获取单元和提交单元;
[0028]信息获取单元,用于获取资源负载信息;
[0029]估算单元,用于根据所述资源负载信息,利用KNN算法估算下一个单位周期内系统能够处理的业务请求数N,所述N为正整数;
[0030]请求获取单元,用于在所述下一个单位周期内,从业务请求处理队列中获取N个的业务请求;
[0031]提交单元,用于将获取到的业务请求提交给业务线程池,以进行处理。
[0032]在第一种可能的实施方式中,结合第二方面,其中:
[0033]所述信息获取单元,具体用于采集最近K个单位周期的内存利用率、CPU利用率和存储器利用率中的任意两种以上信息,以及采集所处理的业务请求数,所述K为正整数;
[0034]所述估算单元,具体用于根据所述最近K个单位周期的内存利用率、CPU利用率和存储器利用率中的任意两种以上信息,以及所处理的业务请求数,利用K最近邻分类算法估算下一个单位周期内系统能够处理的业务请求数N。
[0035]在第二种可能的实施方式中,结合第二方面的第一种可能的实施方式,其中:
[0036]所述估算单元,具体用于将所述最近K个单位周期的内存利用率、中CPU利用率和存储器利用率中的任意两种以上信息分别转换成各个周期的特性向量;分别计算所述各个周期的特征向量和预置的过载向量之间的距离;根据所述距离,按照预置的赋权策略为各个周期所处理的业务请求数赋权,所述赋权策略满足距离越小赋权越大的条件;将所述各个周期所处理的业务请求数分别乘以对应的权值后产生的结果进行叠加,并除以所有权值的和,得到下一个单位周期内系统能够处理的业务请求数N。
[0037]在第三种可能的实施方式中,结合第二方面、第二方面的第一或第二种可能的实施方式,该业务流量控制装置还包括记录单元,其中:
[0038]所述记录单元,用于记录获取到的业务请求数。
[0039]在第三种可能的实施方式中,结合第二方面、第二方面的第一或第二种可能的实施方式,该业务流量控制装置还包括接收单元,其中:
[0040]所述接收单元,用于接收业务请求,并将所述业务请求添加到业务请求处理队列中,所述业务请求由协议适配层进行封装。
[0041]在第三种可能的实施方式中,结合第二方面、第二方面的第一或第二种可能的实施方式,该业务流量控制装置还包括发送单元,其中:
[0042]所述接收单元,还用于接收业务线程池返回的关于业务请求的处理结果;
[0043]所述发送单元,用于将所述处理结果发送给协议适配层,以便将所述处理结果返回给用户。
[0044]第三方面,本发明实施例还提供一种通信系统,包括本发明实施例提供的任一种业务流量控制装置。
[0045]第四方面,本发明实施例还提供一种存储系统,包括协议适配层、私有文件系统和用于存储数据的存储器,所述私有文件系统包括服务质量模块;
[0046]所述协议适配层,用于接收并封装业务请求,将业务请求发送给私有文件系统中的服务质量模块;
[0047]所述服务质量模块,用于接收业务请求,将接收到的业务请求添加到业务请求处理队列中,获取资源负载信息,利用KNN算法根据所述资源负载信息估算下一个单位周期内系统能够处理的业务请求数N,所述N为正整数,在所述下一个单位周期内,从业务请求处理队列中获取N个的业务请求,将获取到的业务请求提交给业务线程池,以进行处理。
[0048]在第一种可能的实施方式中,结果第四方面,其中:
[0049]所述服务质量模块,具体用于采集最近K个单位周期的内存利用率、CPU利用率和存储器利用率中的任意两种以上信息,以及采集所处理的业务请求数,所述K为正整数;根据所述最近K个单位周期的内存利用率、CPU利用率和存储器利用率中的任意两种以上信息,以及所处理的业务请求数,利用K最近邻分类算法估算下一个单位周期内系统能够处理的业务请求数N。
[0050]在第二种可能的实施方式中,结果第四方面的第一种可能的实施方式,其中:
[0051]所述服务质量模块,具体用于将所述最近K个单位周期的内存利用率、CPU利用率和存储器利用率中的任意两种以上信息分别转换成各个周期的特性向量;分别计算所述各个周期的特征向量和预置的过载向量之间的距离;根据所述距离,按照预置的赋权策略为各个周期所处理的业务请求数赋权,所述赋权策略满足距离越小赋权越大的条件;将所述各个周期所处理的业务请求数分别乘以对应的权值后产生的结果进行叠加,并除以所有权值的和,得到下一个单位周期内系统能够处理的业务请求数N。
[0052]在第三种可能的实施方式中,结果第四方面、第四方面的第一或第二种可能的实施方式,其中:
[0053]所述服务质量模块,还用于记录获取到的业务请求数。
[0054]在第三种可能的实施方式中,结果第四方面、第四方面的第一或第二种可能的实施方式,其中:[0055]所述服务质量模块,还用于接收业务线程池返回的关于业务请求的处理结果;将所述处理结果发送给协议适配层,以便将所述处理结果返回给用户。
[0056]第五方面,本发明实施例还提供一种存储控制器,包括中央处理器和用于存储数据的易失性存储介质;
[0057]所述中央处理器,用于获取资源负载信息;根据所述资源负载信息,利用KNN算法估算下一个单位周期内系统能够处理的业务请求数N,所述N为正整数;在所述下一个单位周期内,从业务请求处理队列中获取N个的业务请求;将获取到的业务请求提交给业务线程池,以进行处理。
[0058]在第一种可能的实施方式中,结合第五方面,其中:
[0059]所述中央处理器,具体用于采集最近K个单位周期的所述易失性存储介质的利用率、所述中央处理器的利用率和非易失性存储介质的利用率中的任意两种以上信息,以及采集所处理的业务请求数,所述K为正整数;根据所述最近K个单位周期的所述易失性存储介质的利用率、所述中央处理器的利用率和非易失性存储介质的利用率中的任意两种以上信息,以及所处理的业务请求数,利用KNN算法估算下一个单位周期内系统能够处理的业务请求数N。
[0060]在第二种可能的实施方式中,结合第五方面的第一种可能的实施方式,其中:
[0061]所述中央处理器,具体用于将所述最近K个单位周期的所述易失性存储介质的利用率、所述中央处理器的利用率和非易失性存储介质的利用率中的任意两种以上信息分别转换成各个周期的特性向量;分别计算所述各个周期的特征向量和预置的过载向量之间的距离;根据所述距离,按照预置的赋权策略为各个周期所处理的业务请求数赋权,所述赋权策略满足距离越小赋权越大的条件;将所述各个周期所处理的业务请求数分别乘以对应的权值后产生的结果进行叠加,并除以所有权值的和,得到下一个单位周期内系统能够处理的业务请求数N。
[0062]在第三种可能的实施方式中,结合第五方面、第五方面的第一或第二种可能的实施方式,其中:
[0063]所述中央处理器,还用于记录获取到的业务请求数。
[0064]在第四种可能的实施方式中,结合第五方面、第五方面的第一或第二种可能的实施方式,其中:
[0065]所述中央处理器,还用于接收业务请求,并将所述业务请求添加到业务请求处理队列中,所述业务请求由协议适配层进行封装。
[0066]在第四种可能的实施方式中,结合第五方面、第五方面的第一或第二种可能的实施方式,其中:
[0067]所述中央处理器,还用于接收业务线程池返回的关于业务请求的处理结果;将所述处理结果发送给协议适配层,以便将所述处理结果返回给用户。
[0068]第六方面,本发明实施例还提供一种计算机系统,包括存储控制器和用于存储数据的非易失性存储介质,其中,所述存储控制器包括中央处理器和用于存储数据的易失性存储介质;
[0069]所述中央处理器,用于获取资源负载信息;根据所述资源负载信息,利用KNN算法估算下一个单位周期内系统能够处理的业务请求数N,所述N为正整数;在所述下一个单位周期内,从业务请求处理队列中获取N个的业务请求;将获取到的业务请求提交给业务线程池,以进行处理。
[0070]在第一种可能的实施方式中,结合第六方面,其中:
[0071]所述中央处理器,具体用于采集最近K个单位周期的所述易失性存储介质的利用率、所述中央处理器的利用率和所述非易失性存储介质的利用率中的任意两种以上信息,以及采集所处理的业务请求数,所述K为正整数;根据所述最近K个单位周期的所述易失性存储介质的利用率、所述中央处理器的利用率和所述非易失性存储介质的利用率中的任意两种以上信息,以及所处理的业务请求数,利用KNN算法估算下一个单位周期内系统能够处理的业务请求数N。
[0072]在第二种可能的实施方式中,结合第六方面的第一种可能的实施方式,其中:
[0073]所述中央处理器,具体用于将所述最近K个单位周期的所述易失性存储介质的利用率、所述中央处理器的利用率和所述非易失性存储介质的利用率中的任意两种以上信息分别转换成各个周期的特性向量;分别计算所述各个周期的特征向量和预置的过载向量之间的距离;根据所述距离,按照预置的赋权策略为各个周期所处理的业务请求数赋权,所述赋权策略满足距离越小赋权越大的条件;将所述各个周期所处理的业务请求数分别乘以对应的权值后产生的结果进行叠加,并除以所有权值的和,得到下一个单位周期内系统能够处理的业务请求数N。
[0074]在第三种可能的实施方式中,结合第六方面、第六方面的第一或第二种可能的实施方式,其中:
[0075]所述中央处理器,还用于记录获取到的业务请求数。
[0076]在第四种可能的实施方式中,结合第六方面、第六方面的第一或第二种可能的实施方式,其中:
[0077]所述中央处理器,还用于接收业务请求,并将所述业务请求添加到业务请求处理队列中,所述业务请求由协议适配层进行封装。
[0078]在第五种可能的实施方式中,结合第六方面、第六方面的第一或第二种可能的实施方式,其中:
[0079]所述中央处理器,还用于接收业务线程池返回的关于业务请求的处理结果;将所述处理结果发送给协议适配层,以便将所述处理结果返回给用户。
[0080]本发明实施例采用获取资源负载信息,根据该资源负载信息,利用KNN算法估算下一个单位周期内系统能够处理的业务请求数N,在该单位周期内,从业务请求处理队列中获取N个的业务请求,并将获取到的业务请求提交给业务线程池,以进行处理;由于该方案可以综合考虑存储系统中各种资源的负载情况,并根据该负载情况来对流量进行控制,所以相对于现有技术而言,可以更加充分地利用系统资源,有利于提高系统的整体性能。
【专利附图】

【附图说明】
[0081]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。[0082]图1是本发明实施例提供的业务流量控制方法的流程图;
[0083]图2a是本发明实施例中存储服务器的结构示意图;
[0084]图2b是本发明实施例中业务流量控制装置的结构示意框图;
[0085]图2c是本发明实施例提供的业务流量控制方法的另一流程图;
[0086]图3是本发明实施例提供的业务流量控制装置的结构示意图;
[0087]图4是本发明实施例提供的业务流量控制装置的另一结构示意图;
[0088]图5是本发明实施例提供的存储系统的结构示意图;
[0089]图6是本发明实施例提供的存储控制器的结构示意图;
[0090]图7是本发明实施例提供的计算机系统的结构示意图。
【具体实施方式】
[0091]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0092]系统资源是多样性的,对于存储系统,最关键的系统资源有内存、CPU、存储器(t匕如磁盘)。而请求也是具有不同特征的,比如有的业务请求是CPU型,其耗费的CPU资源多一些,有的业务请求是输入/输出(I/O, Input/Output)型的,其耗费的内存和存储器(比如磁盘)资源多一些,而有的业务请求则是耗费内存资源多一些,等等,因此,不同类型请求耗费的系统资源是不同的。现有技术仅凭某一种系统资源的消耗达到阈值就判定系统处于过载状态,会限制其他资源的利用。比如当CPU利用率很高,内存利用率很低时,系统还是能够再处理一些IO型请求的,而不应该判定系统处于过载状态,限制所有请求。为此,本发明实施例提供一种业务流量控制方法、装置和系统。以下分别进行详细说明。
[0093]实施例一、
[0094]本发明实施例将从业务流量控制装置的角度进行描述,该业务流量控制装置可以是独立的实体,也可以集成在其它设备,比如存储服务器等设备中。
[0095]一种业务流量控制方法,包括:获取资源负载信息,根据该资源负载信息,利用KNN算法估算下一个单位周期内系统能够处理的业务请求数N,在该下一个单位周期内,从业务请求处理队列中获取N个的业务请求,将获取到的业务请求提交给业务线程池,以进行处理。
[0096]如图1所示,具体流程可以如下:
[0097]101、获取资源负载信息;例如,具体可以如下:
[0098]采集最近K个单位周期的内存利用率、CPU利用率和存储器利用率中的任意两种以上信息,以及采集所处理的业务请求数,即采集最近K个单位周期的内存利用率、最近K个单位周期的CPU利用率和最近K个单位周期的存储器利用率中的任意两种以上信息,以及获取最近K个单位周期所处理的业务请求数。比如,具体可以如下:
[0099]采集最近K个单位周期的内存利用率、最近K个单位周期的CPU利用率、以及获取最近K个单位周期所处理的业务请求数;或者,
[0100]采集最近K个单位周期的内存利用率、最近K个单位周期的存储器利用率、以及获取最近K个单位周期所处理的业务请求数;或者,
[0101]采集最近K个单位周期的CPU利用率、最近K个单位周期的存储器利用率、以及获取最近K个单位周期所处理的业务请求数;或者,
[0102]采集最近K个单位周期的内存利用率、最近K个单位周期的CPU利用率、最近K个单位周期的存储器利用率、以及获取最近K个单位周期所处理的业务请求数。
[0103]其中,K为正整数,K的具体取值可以根据实际应用的需求进行设置,比如,可以设定 K>=5。
[0104]需说明的是,为了描述方便,在本发明实施例中,将以采集最近K个单位周期的内存利用率、CPU利用率、存储器利用率和所处理的业务请求数为例进行说明。
[0105]此外还需说明的是,本发明实施例中的内存指的是易失性存储介质,而存储器指的是非易失性存储介质,比如,磁盘、固态硬盘或光盘等。
[0106]102、根据步骤101中获取到的资源负载信息,利用KNN算法估算下一个单位周期内系统能够处理的业务请求数N,其中N为正整数。
[0107]例如,具体可以根据该最近K个单位周期的内存利用率、CPU利用率、存储器利用率和所处理的业务请求数,利用KNN算法估算下一个单位周期内系统能够处理的业务请求数N,比如,具体可以如下:
[0108](I)将该最近K个单位周期的内存利用率、CPU利用率和存储器利用率中的任意两种以上信息分别转换成各个周期的特性向量;
[0109]比如,如果步骤101中获取的是最近K个单位周期的内存利用率和CPU利用率,则将获取到的最近K个单位周期的内存利用率和CPU利用率分别转换成各个周期的特性向量;如果步骤101中获取的是最近K个单位周期的内存利用率和存储器利用率,则将获取到的最近K个单位周期的内存利用率和存储器利用率分别转换成各个周期的特性向量;如果步骤101中获取的是最近K个单位周期的CPU利用率和存储器利用率,则将获取到的最近K个单位周期的CPU利用率和存储器利用率分别转换成各个周期的特性向量;如果步骤101中获取的是最近K个单位周期的内存利用率、CPU利用率和存储器利用率,则将获取到的最近K个单位周期的内存利用率、CPU利用率和存储器利用率分别转换成各个周期的特性向量,以此类推,等等。
[0110]例如,以K为3为例,若步骤101中获取了第η-3个单位周期的内存利用率、第η_3个单位周期的CPU利用率Y2和第η-3个单位周期的存储器利用率、第η-2个单位周期的内存利用率、第η-2个单位周期的CPU利用率、第η-2个单位周期的存储器利用率、第η-2个单位周期的所处理的业务请求数、第η-1个单位周期的内存利用率、第η-1个单位周期的CPU利用率、第η-1个单位周期的存储器利用率、第η-1个单位周期的所处理的业务请求数,则此时,可以如下:
[0111]将第η-3个单位周期的内存利用率、第η-3个单位周期的CPU利用率和第η_3个单位周期的存储器利用率转换成第η-3个单位周期的特性向量X1 (χη, X12, X13);
[0112]将第η-2个单位周期的内存利用率、第η-2个单位周期的CPU利用率和第η_2个单位周期的存储器利用率转换成第η-2个单位周期的特性向量X2 (x21 , X22 , X23);
[0113]第η-1个单位周期的内存利用率、第η-1个单位周期的CPU利用率和第η_1个单位周期的存储器利用率转换成第η-1个单位周期的特性向量X3 (x31 , X32 , x33)。[0114](2)分别计算各个周期的特征向量和预置的过载向量之间的距离。
[0115]其中,过载向量可以根据实际应用的需求进行设置,例如,若定义内存、CPU和存储器的系统资源利用率均为90%时为过载状态,则过载向量为(90,90,90);又例如,若定义内存的系统资源利用率为80%时为过载状态、CPU的系统资源利用率为85%时为过载状态、以存储器的系统资源利用率均为90%时为过载状态,则过载向量为(80,85,90 ),以此类推,等等。[0116]其中,两个特征向量之间的距离可以采用欧几里德距离来表示,比如,设有两个特征向量,X= (X1, χ2? x3)? Y= CyiT y2,y3),则这两个特征向量之间的距离dis (X, Y)可以如下:
[0117]
【权利要求】
1.一种业务流量控制方法,其特征在于,包括: 获取资源负载信息; 根据所述资源负载信息,利用K最近邻分类KNN算法估算下一个单位周期内系统能够处理的业务请求数N,所述N为正整数; 在所述下一个单位周期内,从业务请求处理队列中获取N个的业务请求; 将获取到的业务请求提交给业务线程池,以进行处理。
2.根据权利要求1所述的方法,其特征在于,所述获取资源负载信息,包括: 采集最近K个单位周期的内存利用率、中央处理器利用率和存储器利用率中的任意两种以上信息,以及采集所处理的业务请求数,所述K为正整数; 所述根据所述资源负载信息估算下一个单位周期内系统能够处理的业务请求数N,包括: 根据所述最近K个单位周期的内存利用率、中央处理器利用率和存储器利用率中的任意两种以上信息,以及所处理的业务请求数,利用KNN算法估算下一个单位周期内系统能够处理的业务请求数N。
3.根据权利要求2所述的方法,其特征在于,所述根据所述最近K个单位周期的内存利用率、中央处理器利用率和存储器利用率中的任意两种以上信息,以及所处理的业务请求数估算下一个单位周期内系统能够处理的业务请求数N,包括: 将所述最近K个单位周期的内存利用率、中央处理器利用率和存储器利用率中的任意两种以上信息分别转换成各个周期的特性向量; 分别计算所述各个周期的特征向量和预置的过载向量之间的距离; 根据所述距离,按照预置的赋权策略为各个周期所处理的业务请求数赋权,所述赋权策略满足距离越小赋权越大的条件; 将所述各个周期所处理的业务请求数分别乘以对应的权值后产生的结果进行叠加,并除以所有权值的和,得到下一个单位周期内系统能够处理的业务请求数N。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述将获取到的业务请求提交给业务线程池,以进行处理之后,还包括: 记录获取到的业务请求数。
5.根据权利要求1至3任一项所述的方法,其特征在于,所述从业务请求处理队列中获取N个的业务请求之前,还包括: 接收业务请求,并将所述业务请求添加到业务请求处理队列中,所述业务请求由协议适配层进行封装。
6.根据权利要求1至3任一项所述的方法,其特征在于,所述将获取到的业务请求提交给业务线程池,以进行处理之后,还包括: 接收业务线程池返回的关于业务请求的处理结果; 将所述处理结果发送给协议适配层,以便将所述处理结果返回给用户。
7.—种业务流量控制装置,其特征在于,包括: 信息获取单元,用于获取资源负载信息; 估算单元,用于根据所述资源负载信息,利用K最近邻分类KNN算法估算下一个单位周期内系统能够处理的业务请求数N,所述N为正整数;请求获取单元,用于在所述下一个单位周期内,从业务请求处理队列中获取N个的业务请求; 提交单元,用于将获取到的业务请求提交给业务线程池,以进行处理。
8.根据权利要求7所述的业务流量控制装置,其特征在于, 所述信息获取单元,具体用于采集最近K个单位周期的内存利用率、中央处理器利用率、存储器利用率和所处理的业务请求数,所述K为正整数; 所述估算单元,具体用于根据所述最近K个单位周期的内存利用率、中央处理器利用率和存储器利用率中的任意两种以上信息,以及采集所处理的业务请求数,利用K最近邻分类算法估算下一个单位周期内系统能够处理的业务请求数N。
9.根据权利要求8所述的业务流量控制装置,其特征在于, 所述估算单元,具体用于将所述最近K个单位周期的内存利用率、中央处理器利用率和存储器利用率中的任意两种以上信息分别转换成各个周期的特性向量;分别计算所述各个周期的特征向量和预置的过载向量之间的距离;根据所述距离,按照预置的赋权策略为各个周期所处理的业务请求数赋权,所述赋权策略满足距离越小赋权越大的条件;将所述各个周期所处理的业务数请求数分别乘以对应的权值后产生的结果进行叠加,并除以所有权值的和,得到下一个单位周期内系统能够处理的业务请求数N。
10.根据权利要求7至9任一项所述的业务流量控制装置,其特征在于,还包括记录单元; 所述记录单元,用于记录获取到的业务请求数。
11.根据权利要求7至9任一项所述的业务流量控制装置,其特征在于,还包括接收单元; 所述接收单元,用于接收业务请求,并将所述业务请求添加到业务请求处理队列中,所述业务请求由协议适配层进行封装。
12.根据权利要求7至9任一项所述的业务流量控制装置,其特征在于,还包括发送单元; 所述接收单元,还用于接收业务线程池返回的关于业务请求的处理结果; 所述发送单元,用于将所述处理结果发送给协议适配层,以便将所述处理结果返回给用户。
13.—种通信系统,其特征在于,包括权利要求7至12任一项所述的业务流量控制装置。
14.一种存储系统,其特征在于,包括协议适配层、私有文件系统和用于存储数据的存储器,所述私有文件系统包括服务质量模块; 所述协议适配层,用于接收并封装业务请求,将业务请求发送给私有文件系统中的服务质量模块; 所述服务质量模块,用于接收业务请求,将接收到的业务请求添加到业务请求处理队列中,获取资源负载信息,根据所述资源负载信息,利用K最近邻分类KNN算法估算下一个单位周期内系统能够处理的业务请求数N,所述N为正整数,在所述下一个单位周期内,从业务请求处理队列中获取N个的业务请求,将获取到的业务请求提交给业务线程池,以进行处理。
15.根据权利要求14所述的存储系统,其特征在于, 所述服务质量模块,具体用于采集最近K个单位周期的内存利用率、中央处理器利用率和存储器利用率中的任意两种以上信息,以及采集所处理的业务请求数,所述K为正整数;根据所述最近K个单位周期的内存利用率、中央处理器利用率、存储器利用率中的任意两种以上信息,以及所处理的业务请求数,利用K最近邻分类算法估算下一个单位周期内系统能够处理的业务请求数N。
16.根据权利要求15所述的存储系统,其特征在于, 所述服务质量模块,具体用于将所述最近K个单位周期的内存利用率、中央处理器利用率和存储器利用率中的任意两种以上信息分别转换成各个周期的特性向量;分别计算所述各个周期的特征向量和预置的过载向量之间的距离;根据所述距离,按照预置的赋权策略为各个周期所处理的业务请求数赋权,所述赋权策略满足距离越小赋权越大的条件;将所述各个周期所处理的业务请求数分别乘以对应的权值后产生的结果进行叠加,并除以所有权值的和,得到下一个单位周期内系统能够处理的业务请求数N。
17.根据权利要求14至16任一项所述的存储系统,其特征在于, 所述服务质量模块,还用于记录获取到的业务请求数。
18.根据权利要求14至16任一项所述的存储系统,其特征在于, 所述服务质量模块,还用于接收业务线程池返回的关于业务请求的处理结果;将所述处理结果发送给协议适配层,以便将所述处理结果返回给用户。
19.一种存储控制器,其特征在于,包括中央处理器和用于存储数据的易失性存储介质; 所述中央处理器,用于获取资源负载信息;根据所述资源负载信息,利用K最近邻分类KNN算法估算下一个单位周期内系统能够处理的业务请求数N,所述N为正整数;在所述下一个单位周期内,从业务请求处理队列中获取N个的业务请求;将获取到的业务请求提交给业务线程池,以进行处理。
20.根据权利要求19所述的存储控制器,其特征在于, 所述中央处理器,具体用于采集最近K个单位周期的所述易失性存储介质的利用率、所述中央处理器的利用率和非易失性存储介质的利用率中的任意两种以上信息,以及采集所处理的业务请求数,所述K为正整数;根据所述最近K个单位周期的所述易失性存储介质的利用率、所述中央处理器的利用率和非易失性存储介质的利用率中的任意两种以上信息,以及所处理的业务请求数,利用KNN算法估算下一个单位周期内系统能够处理的业务请求数N。
21.根据权利要求20所述的存储控制器,其特征在于, 所述中央处理器,具体用于将所述最近K个单位周期的所述易失性存储介质的利用率、所述中央处理器的利用率和非易失性存储介质的利用率中的任意两种以上信息分别转换成各个周期的特性向量;分别计算所述各个周期的特征向量和预置的过载向量之间的距离;根据所述距离,按照预置的赋权策略为各个周期所处理的业务请求数赋权,所述赋权策略满足距离越小赋权越大的条件;将所述各个周期所处理的业务请求数分别乘以对应的权值后产生的结果进行叠加,并除以所有权值的和,得到下一个单位周期内系统能够处理的业务请求数N。
22.根据权利要求19至21任一项所述的存储控制器,其特征在于, 所述中央处理器,还用于记录获取到的业务请求数。
23.根据权利要求19至21任一项所述的存储控制器,其特征在于, 所述中央处理器,还用于接收业务请求,并将所述业务请求添加到业务请求处理队列中,所述业务请求由协议适配层进行封装。
24.根据权利要求19至21任一项所述的存储控制器,其特征在于, 所述中央处理器,还用于接收业务线程池返回的关于业务请求的处理结果;将所述处理结果发送给协议适配层,以便将所述处理结果返回给用户。
25.一种计算机系统,包括存储控制器和用于存储数据的非易失性存储介质,其中,所述存储控制器包括中央处理器和用于存储数据的易失性存储介质; 所述中央处理器,用于获取资源负载信息;根据所述资源负载信息,利用K最近邻分类KNN算法估算下一个单位周期内系统能够处理的业务请求数N,所述N为正整数;在所述下一个单位周期内,从业务请求处理队列中获取N个的业务请求;将获取到的业务请求提交给业务线程池,以进行处理。
26.根据权利要求25所述的计算机系统,其特征在于, 所述中央处理器,具体用于采集最近K个单位周期的所述易失性存储介质的利用率、所述中央处理器的利用率和所述非易失性存储介质的利用率中的任意两种以上信息,以及采集所处理的业务请求数,所述K为正整数;根据所述最近K个单位周期的所述易失性存储介质的利用率、所述中央处理器的利用率和所述非易失性存储介质的利用率中的任意两种以上信息,以及所处理的业务请求数,利用KNN算法估算下一个单位周期内系统能够处理的业务请求数N。
27.根据权利要求26所述的计算机系统,其特征在于, 所述中央处理器,具体用于将所述最近K个单位周期的所述易失性存储介质的利用率、所述中央处理器的利用率和所述非易失性存储介质的利用率中的任意两种以上信息分别转换成各个周期的特性向量;分别计算所述各个周期的特征向量和预置的过载向量之间的距离;根据所述距离,按照预置的赋权策略为各个周期所处理的业务请求数赋权,所述赋权策略满足距离越小赋权越大的条件;将所述各个周期所处理的业务请求数分别乘以对应的权值后产生的结果进行叠加,并除以所有权值的和,得到下一个单位周期内系统能够处理的业务请求数N。
28.根据权利要求25至27任一项所述的计算机系统,其特征在于, 所述中央处理器,还用于记录获取到的业务请求数。
29.根据权利要求25至27任一项所述的计算机系统,其特征在于, 所述中央处理器,还用于接收业务请求,并将所述业务请求添加到业务请求处理队列中,所述业务请求由协议适配层进行封装。
30.根据权利要求25至27任一项所述的计算机系统,其特征在于, 所述中央处理器,还用于接收业务线程池返回的关于业务请求的处理结果;将所述处理结果发送给协议适配层,以便将所述处理结果返回给用户。
【文档编号】G06F3/06GK103842955SQ201380002465
【公开日】2014年6月4日 申请日期:2013年11月28日 优先权日:2013年11月28日
【发明者】海杰 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1