CN107608788A - 一种控制方法、装置及设备 - Google Patents
一种控制方法、装置及设备 Download PDFInfo
- Publication number
- CN107608788A CN107608788A CN201710758370.5A CN201710758370A CN107608788A CN 107608788 A CN107608788 A CN 107608788A CN 201710758370 A CN201710758370 A CN 201710758370A CN 107608788 A CN107608788 A CN 107608788A
- Authority
- CN
- China
- Prior art keywords
- resource
- business
- matrix
- adjusting parameter
- current
- 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
Abstract
本发明实施例公开了一种控制方法,所述方法包括:获取系统资源的当前资源负载量以及系统所处理的当前业务量;基于所述当前资源负载量、预设的资源负载期望值以及预先存储的关系矩阵,计算调整参数,其中,所述关系矩阵用于表征系统资源的历史资源负载量与系统所处理的历史业务量之间的关系;基于所述调整参数以及所述当前业务量,调整下一时刻系统所处理的业务量。本发明实施例同时还公开了一种控制装置及设备。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种控制方法、装置及设备。
背景技术
由于业务系统中的各种资源是有限的,如果不对系统资源进行控制,就会出现系统资源耗尽,进而导致整个业务系统宕机。
目前,常用的控制策略是对系统资源,如中央处理器(Central Processing Unit,CPU)、内存、网卡和磁盘I/O(Input/Output,输入/输出)等中的一种或几种设定对应的阈值,当某一种资源的负载量达到该阈值时,则认为业务系统处于过载状态,无法处理更多的业务,此时,为了减少资源占用率,业务系统会直接拒绝下一时刻的所有业务请求。
可见,现有技术中存在资源控制不灵活的问题,使得系统资源无法处于稳定状态。
发明内容
有鉴于此,本发明实施例期望提供一种控制方法、装置及设备,能够灵活地控制系统资源处于稳定状态。
本发明实施例的技术方案是这样实现的:
第一方面,本发明实施例提供一种控制方法,所述方法包括:获取系统资源的当前资源负载量以及系统所处理的当前业务量;基于所述当前资源负载量、预设的资源负载期望值以及预先存储的关系矩阵,计算调整参数,其中,所述关系矩阵用于表征系统资源的历史资源负载量与系统所处理的历史业务量之间的关系;基于所述调整参数以及所述当前业务量,调整下一时刻系统所处理的业务量。
第二方面,本发明实施例提供一种控制装置,所述装置包括:获取单元、计算单元以及控制单元,其中,所述获取单元,用于获取系统资源的当前资源负载量以及系统所处理的当前业务量;所述计算单元,用于基于所述当前资源负载量、预设的资源负载期望值以及预先存储的关系矩阵,计算调整参数,其中,所述关系矩阵用于表征系统资源的历史资源负载量与系统所处理的历史业务量之间的关系;所述控制单元,用于基于所述调整参数以及所述当前业务量,调整下一时刻系统所处理的业务量。
第三方面,本发明实施例提供一种控制设备,所述控制设备至少包括:存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现上述控制方法的步骤。
第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述控制方法的步骤。
本发明实施例提供了一种控制方法、装置及设备,在获取系统资源的当前资源负载量以及系统所处理的当前业务量之后,先通过当前资源负载量、预设的资源负载期望值以及预先存储的关系矩阵,计算出调整参数,再根据调整参数以及当前业务量,来调整下一时刻系统所处理的业务量,以控制下一时刻的资源处于稳定状态。那么,就可以实时灵活地控制系统资源处于稳定状态,从而,能够实现充分利用系统资源。
附图说明
图1为本发明实施例一中的控制方法的流程示意图;
图2为本发明实施例一中的控制方法的原理的第一种示意图;
图3为本发明实施例一中的控制方法的原理的第二种示意图;
图4为本发明实施例一中的控制方法的原理的第三种示意图;
图5为本发明实施例二中的控制方法的流程示意图;
图6为本发明实施例三中的控制装置的结构示意图;
图7为本发明实施例四中的控制设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
实施例一
由于业务系统中的各种系统资源是有限的,如果不对系统资源进行控制,就容易出现系统资源过载的问题,甚至还会出现系统资源耗尽的问题,进而,会导致整个业务系统无法正常工作,甚至会导致业务系统崩溃宕机。那么,为了减少系统资源过载的情况,在兼顾系统资源有效利用的前提下,保证系统资源趋于稳定状态,本发明实施例提供一种控制方法,在实际应用中,该控制方法可以应用于各种需要对系统资源进行控制的场合,如CPU占用率过高、内存读/写过于频繁、网卡流量过大等。
该控制方法的执行主体为控制装置,该控制装置可以内置或外接于一电子设备。在实际应用中,该电子设备可以为服务器、电脑、智能手机等具有业务处理功能的终端,当然,也可以为其它,这里,本发明实施例不做具体限定。
那么,图1为本发明实施例一中的控制方法的流程示意图,参见图1所示,该控制方法包括:
S101:获取系统资源的当前资源负载量以及系统所处理的当前业务量;
这里,系统资源可以为CPU资源,也可以为内存资源,当然,还可以为其它资源,如网卡资源、磁盘I/O资源等,这里,本发明实施例不做具体限定。
在实际应用中,内存,也可称为内部存储器或内存储器,一般是指易失性存储介质,如随机存储器(RAM,RandomAccess Memory),在断电后内存中所存储的数据会丢失。相对地,外部存储器,也可称为外存储器,是指除终端内存及中央处理器缓存以外的存储器,如固态硬盘、机械硬盘、磁盘、光盘、闪存(Flash Memory)等,一般断电后仍然能保存数据。
具体地,根据系统资源的类型的不同,资源负载量也会不同。示例性地,当系统资源为CPU资源时,资源负载量就可以为CPU占用率;当上述系统资源为内存资源时,资源负载量就可以为内存占用率;当系统资源为网卡资源时,上述资源负载量就可以为网卡流量;当系统资源为磁盘时,上述资源负载量就可以为磁盘使用率。
在实际应用中,系统所处理的业务可以为消息发送,也可以为对高清视频进行解码,还可以为下载电影,当然,还可以为其它,如搜索文件、缓存数据等,这里,本发明实施例不做具体限定。
在实施过程中,当系统资源为多种类型时,业务类型也会为多种,此时,为了获取当前资源负载量和当前业务量,上述S101可以包括:根据系统资源的类型,分别获取每一种资源的当前负载量,其中,系统资源的类型至少为中央处理器CPU资源、内存资源、网卡资源、磁盘I/O资源中的一种或多种;根据业务所属的业务类型,分别统计每一类业务的当前业务任务数,其中,业务类型至少为CPU密集型任务、内存密集型任务、网卡密集型任务、I/O密集型任务中的一种或多种。
由于系统资源具有多样性,而不同的业务对于每一种资源的需求情况也是不同的,因此,可以根据业务对每一种资源的需求情况,来对业务进行分类。那么,当系统资源的类型至少包括:CPU资源、内存资源、网卡资源、磁盘I/O资源中的一种或多种时,业务类型也就至少包括:CPU密集型任务、内存密集型任务、网卡密集型任务、I/O密集型任务中的一种或多种。
这里,上述CPU密集型任务是指系统在执行任务期间,大部分时间都是在做计算、逻辑判断等CPU动作,因此,这种CPU密集型任务的特点是:要进行大量的计算,消耗CPU资源较多。上述内存密集型任务是指系统在执行任务期间,大部分时间都是在做内存读/写操作。上述网卡密集型任务是指系统在执行任务期间,大部分时间都是利用网络进行数据发送和接收。上述I/O密集型任务是指系统在执行任务期间,大部分时间都是利用磁盘进行。
这里,需要说明的是,获取系统所处理的当前业务量的时机可以是灵活的,并不一定要与获取系统资源的当前资源负载量同时进行的。示例性地,可以在获取系统资源的当前资源负载量的同时获取系统所处理的当前业务量,也可以先获取系统资源的当前资源负载量,再获取系统所处理的当前业务量,可以是先获取系统资源的当前资源负载量,等计算出调整参数之后,再获取系统所处理的当前业务量,当然,还可以有其它时机,如先获取系统所处理的当前业务量,再获取系统资源的当前资源负载量。
S102:基于当前资源负载量、预设的资源负载期望值以及预先存储的关系矩阵,计算调整参数;
其中,关系矩阵用于表征系统资源的历史资源负载量与系统所处理的历史业务量之间的关系。
在实施过程中,当系统资源为多种类型时,业务类型也会为多种,此时,为了获取上述关系矩阵,可以在预设时间段内,通过引流压测等技术手段,统计每一种资源的负载量以及每一类业务的业务任务数,来获取系统资源的历史资源负载量和系统所处理的历史业务量。这样,系统资源的历史资源负载量即为在预设时间段内所统计的每一种资源的负载量,系统所处理的历史业务量即为在预设时间段内所统计的每一类业务的业务任务数。
这里,上述预设时间段内,是指系统正常工作期间,此时,系统资源并未出现过载等异常情况,系统资源处于稳定状态。
下面以系统资源包括CPU、内存和网卡三种,业务类型包括CPU密集型、内存密集型和网卡密集型三种为例,来详细介绍如何计算关系矩阵。
计算关系矩阵的过程包括以下步骤:
第一步,以CPU密集型任务数、内存密集型任务数以及网卡密集型任务数作为输入变量,根据在预设时间段内所统计的每一类业务的业务任务数,构建如下公式(1)所示的历史输入矩阵X0;
公式(1)中,xc(0)表示在预设时间段内统计的CPU密集型任务数,xm(0)表示在预设时间段内统计的内存密集型任务数,xn(0)表示在预设时间段内统计的网卡密集型任务数。
第二步,以CPU负载量、内存负载量以及网卡负载量作为输出变量,根据在预设时间段内所统计的每一种资源的负载量,构建如下公式(2)所示的历史输出矩阵O0;
公式(2)中,oc(0)表示在预设时间段内的CPU负载量,om(0)表示在预设时间段内的内存负载量,on(0)表示在预设时间段内的网卡负载量。
第三步,根据输入变量和输出变量的类型,可以构建如下公式(3)所示的关系矩阵M,该关系矩阵M为3×3;
第四步,基于历史输入矩阵X0以及历史输出矩阵O0,来计算历史输入矩阵X0(表征历史资源负载量)与历史输出矩阵O0(表征历史业务量)之间的关系,即计算关系矩阵M。
由于X0以及O0已知,且MX0=O0,从而,可以计算出关系矩阵M如下公式(4)所示:
M=O0X0 -1 公式(4);
公式(4)中,X0 -1为X0的逆矩阵。
需要说明的是,根据关系矩阵M的中各个元素的值的不同,可以实现p个输入源控制q个输出源的情况,其中,p≥1,q≥1。
示例性地,当系统资源包括CPU资源、内存资源以及网卡资源这三种类型时,但是,系统中只有CPU密集型任务和内存密集型任务,而并没有网卡密集型任务时,此时,网卡密集型任务数为0,也就是说,输入变量中只包括CPU密集型任务数、内存密集型任务数。那么,如下公式(5)所示,为了确定出3×3的关系矩阵M,就可以构建虚拟的网卡密集型任务数等于网卡负载量,通过xn(0)=on(0),即a3=0,b3=0,c3=1来构建出如下公式(6)所示的3×3的关系矩阵M,这样,就能够实现两个输入源控制三个输出源。
同理,如果所控制的系统资源数并不能满足三个时,当然也可以做类似处理,此时,可以实现三个输入源控制两个输出源。
在实际应用中,根据系统中所包含的系统资源的类型和数量的不同或者根据所需要控制的系统资源的类型和数量的不同,上述预设的资源负载期望值的内容也会不同。示例性地,当系统资源仅为CPU资源时,上述预设的资源负载期望值就可以仅包括:CPU负载期望值;当系统资源为CPU资源和内存资源时,上述预设的资源负载期望值就可以包括:CPU负载期望值和内存负载期望值;当系统资源为CPU资源、内存资源和网卡资源时,上述预设的资源负载期望值就可以包括:CPU负载期望值、内存负载期望值和网卡负载期望值。
在实施过程中,当预设的资源负载期望值中包含有多种资源所对应的负载期望值时,此时,为了计算调整参数,上述S102可以包括:
步骤1021,从预设的资源负载期望值中,确定每一种资源对应的预设负载期望值;
步骤1022,基于每一种资源的当前负载量以及每一种资源对应的预设负载期望值,计算差值参数;
步骤1023,基于差值参数以及预先存储的关系矩阵,计算调整参数。
其中,差值参数可用于表征每一种资源的当前负载量与预设负载期望值之间的偏差。调整参数可用于调整每一种业务的当前业务任务数,以实现控制系统所处理的下一时刻每一种业务的业务任务数,使得系统资源处于稳定状态。
在其它的实施例中,差值参数可以采用输出差值矩阵来实现。其中,计算输出差值矩阵的过程可以包括:可以先基于每一种资源的当前负载量,构建输出矩阵;然后,基于每一种资源对应的预设负载期望值,构建期望输出矩阵;最后,将输出矩阵与期望输出矩阵相减,得到输出差值矩阵。
在实施过程中,以输出差值矩阵来实现差值参数时,上述步骤1023就可以包括:对预先存储的关系矩阵求逆,获得预先存储的关系矩阵的逆矩阵;将输出差值矩阵右乘逆矩阵,获得调整参数。
下面仍然以系统资源包括:CPU、内存和网卡三种,业务类型包括:CPU密集型、内存密集型和网卡密集型三种为例,来详细介绍如何计算调整参数。
计算调整参数的过程包括以下步骤:
第一步,根据预设的资源负载期望值中所包含的CPU负载期望值、内存负载期望值和网卡负载期望值,构建如下公式(7)所示的期望输出矩阵Φ;
公式(7)中,Φ为期望输出矩阵,表示每一种资源对应的预设负载期望值,φc表示CPU负载期望值,φm表示内存负载期望值,φn表示网卡负载期望值。
第二步,以CPU负载量、内存负载量以及网卡负载量作为输出变量,基于每一种资源的当前负载量,构建如下公式(8)所示的输出矩阵Ot;
公式(8)中,Ot表示每一种资源的当前负载量,oc(0)表示当前CPU负载量,om(0)表示当前内存负载量,on(0)表示当前网卡负载量。
第三步,将输出矩阵Ot与期望输出矩阵Φ相减,得到输出差值矩阵,再将输出差值矩阵右乘关系矩阵的逆矩阵,获得如下公式(9)所示的调整参数Δ。
M-1(Ot-Φ)=Δ公式(9);
公式(9)中,Ot为输出矩阵,Φ为期望输出矩阵,Ot-Φ表示输出差值矩阵,M-1表示关系矩阵的逆矩阵,Δ表示调整参数。
由于已经计算出Ot、Φ以及M,那么,根据公式(9)就可以计算出如下公式(10)所示的调整参数Δ。
公式(10)中,δc为CPU密集型任务对应的调整参数,δm为内存密集型任务对应的调整参数,δn为网卡密集型任务对应的调整参数。
S103:基于调整参数以及当前业务量,调整下一时刻系统所处理的业务量。
这里,基于调整参数以及当前业务量,来调整下一时刻系统所处理的业务量,就可以控制下一时刻的资源处于稳定状态。其中,稳定状态是指下一时刻的资源负载量趋于预设的资源负载期望值。
在实际应用中,上述下一时刻与当前时刻之间间隔一个调整周期。具体地,这个调整周期可以为1s、2s、5s、10s等,由本领域技术人员在具体实施过程中根据实际情况来设定。每间隔一个调整周期,就可以获取一次系统资源的当前资源负载量以及系统所处理的当前业务量,以便重新计算调整参数,在本调整周期内,根据该重新计算的调整参数来调整系统所处理的业务量。
在实施过程中,当系统资源为多种类型时,如CPU资源、内存资源、网卡资源、磁盘I/O资源等,对应地,业务类型也会为多种,如CPU密集型任务、内存密集型任务、网卡密集型任务、I/O密集型任务等,此时,为了获取系统所处理的当前业务量,可以根据业务所属的业务类型,分别统计每一类业务的当前业务任务数,那么,上述当前业务量就是指每一类业务的当前业务任务数。
在实际应用中,为了控制下一时刻的资源处于稳定状态,所采用的控制方法可以为负反馈控制原理,也可以为正反馈控制原理,当然,还可以为其它控制方法,如比例(P)控制、积分(I)控制、微分(D)控制等,可由本领域技术人员在实施过程中根据实际情况来确定。
在实施过程中,当采用负反馈控制原理作为控制方法时,进行资源控制的方法可以且不限于包括以下两种情况。
第一种情况,仅采用系统自动控制的方式来进行资源控制。此时,S103可以包括:计算每一类业务的当前业务任务数与对应的调整参数之间的差值,获得下一时刻系统能处理的每一类业务的业务任务数;根据下一时刻系统能处理的每一类业务的业务任务数,来进行业务处理。
下面仍然以系统资源包括:CPU、内存和网卡三种,业务类型包括:CPU密集型、内存密集型和网卡密集型三种为例,来介绍如何计算下一时刻系统能处理的每一类业务的业务任务数。
在仅采用系统自动控制的方式进行资源控制时,计算下一时刻系统能处理的每一类业务的业务任务数的过程可以包括以下步骤:
第一步,以CPU密集型任务数、内存密集型任务数以及网卡密集型任务数作为输入变量,基于每一类业务的当前业务任务数,构建如下公式(11)所示的输入矩阵Xt;
公式(11)中,Xt表示每一类业务的当前业务任务数,xc(t)表示当前CPU密集型任务数,xm(t)表示当前内存密集型任务数,xn(t)表示当前网卡密集型任务数。
第二步,将输入矩阵Xt与调整参数Δ相减,获得如下公式(12)所示的下一时刻的输入矩阵Xt+1。
Xt+1=Xt-Δ=Xt-M-1(Ot-Φ) 公式(12);
由于已经计算出了Xt、Ot、Φ以及M,那么,根据公式(12)就可以计算出如下公式(13)所示的下一时刻的输入矩阵Xt+1。
公式(13)中,Xt+1表示下一时刻系统能处理的每一类业务的业务任务数,xc(t+1)表示下一时刻系统能处理的CPU密集型任务数,xm(t+1)表示下一时刻系统能处理的内存密集型任务数,xn(t+1)表示下一时刻系统能处理的网卡密集型任务数。
第二种情况:采用系统自动控制以及人工干预相结合的方式来进行资源控制。
在本发明其它实施例中,为了加快控制力度,在获得针对每一类业务的调整参数后,还可以针对每一类业务设置对应的人工干预系数,此时,S103可以包括:
步骤1031,将所述调整参数与预设的人工干预系数相乘,获得处理后的调整参数;
步骤1032,基于所述处理后的调整参数以及所述当前业务量,调整下一时刻系统所处理的业务量。
在实施过程中,步骤1031可以包括:将每一类业务的调整参数与预设的人工干预系数相乘,获得每一类业务对应的处理后的调整参数;步骤1032可以包括:计算每一类业务的当前任务数与对应的处理后的调整参数之间的差值,获得下一时刻系统能处理的每一类业务的业务任务数;根据下一时刻系统能处理的每一类业务的业务任务数,来进行业务处理。
下面仍然以系统资源包括:CPU、内存和网卡三种,业务类型包括:CPU密集型、内存密集型和网卡密集型三种为例,来介绍如何计算下一时刻系统能处理的每一类业务的业务任务数。
在系统自动控制以及人工干预相结合的方式进行资源控制时,计算下一时刻系统能处理的每一类业务的业务任务数的过程可以包括以下步骤:
第一步,基于每一类业务的当前业务任务数,构建如公式(11)所示的输入矩阵Xt;
第二步,基于每一类业务对应的人工干预系数,构建如公式(14)所示的预设的人工干预系数K;
公式(14)中,kc表示CPU密集型任务对应的人工干预系数,km表示内存密集型任务对应的人工干预系数,kn表示网卡密集型任务对应的人工干预系数。
在实际应用中,上述人工干预系数(如kc、km、kn等)为本领域技术人员根据系统业务处理情况所添加的经验值。在前期可以全部设定为1,后期再根据以往经验进行调整。具体地,人工干预系数等于1时表示不干预,人工干预系数大于1时表示倍增,人工干预系数小于1时表示衰减。
第三步,先将调整参数Δ与预设的人工干预系数相乘,获得处理后的调整参数,再将输入矩阵Xt与处理后的调整参数相减,获得如下公式(15)所示的下一时刻的输入矩阵Xt+1。
Xt+1=Xt-KΔ=Xt-KM-1(Ot-Φ) 公式(15);
由于已经计算出了Xt、Ot、Φ、M以及K,那么,根据公式(15)就可以计算出如公式(13)所示的下一时刻的输入矩阵Xt+1。
这样,由于在控制资源的过程中,采用系统自动控制以及人工干预相结合的方式来进行资源控制,可以让资源控制更精准、更有效,从而,实现了使系统资源更快地处于稳定状态的目的。
下面详细介绍本发明实施例中控制系统资源处于稳定状态的原理。
参见图2所示,在本发明实施例中,先以预设时间段内所统计的系统资源的历史资源负载量21与系统所处理的历史业务量22,来计算出关系矩阵23,再预先设置资源负载期望值24,最后,以关系矩阵23、资源负载期望值24、系统资源的当前资源负载量25、以及系统所处理的当前业务量26作为输入,来计算出下一时刻系统所能处理的业务量27,并基于下一时刻系统所能处理的业务量来进行业务处理,控制系统资源下一时刻的资源负载量28趋于预设的资源负载期望值24。
具体地,参见图3以及公式(12)所示,在本发明实施例中,先将当前资源负载量31与预设的资源负载期望值32相减,再将当前资源负载量与预设的资源负载期望值之间的差值乘以关系矩阵的逆矩阵33,获得调整参数,并将调整参数反馈至输入处(当前业务量34),然后,将当前业务量34减去调整参数,即可获得下一时刻系统所处理的业务量,最后,根据下一时刻系统所处理的业务量来进行任务处理,就可以实现减少下一时刻资源负载量与预设的资源负载期望值之间的差值,最终,通过不断地调整系统所处理的当前业务量,来实现控制下一时刻的资源处于稳定状态。
在本发明其它实施例中,参见图4以及公式(15)所示,为了加快控制力度、提高控制的精确度,还可以增加人工干预系数41,对调整参数进行处理。
至此,便完成了对系统资源的控制。
由上述内容可知,本实施例所提供的控制方法,在获取系统资源的当前资源负载量以及系统所处理的当前业务量之后,先通过当前资源负载量、预设的资源负载期望值以及预先存储的关系矩阵,计算出调整参数,再根据调整参数以及当前业务量,来调整下一时刻系统所处理的业务量,以控制下一时刻的资源处于稳定状态。那么,就可以实时灵活地控制系统资源处于稳定状态,从而,能够实现充分利用系统资源。
实施例二
基于前述实施例,本实施例提供一种控制方法,应用于以下场景:系统资源包括:CPU、内存和网卡三种,业务类型包括:CPU密集型、内存密集型和网卡密集型三种,通过调整多种业务的业务量,来控制多种资源处于稳定状态。
那么,图5为本发明实施例二中的控制方法的流程示意图,参见图5所示,该方法包括:
S501:根据系统资源的类型,分别获取每一种资源的当前负载量;
S502:根据业务所属的业务类型,分别统计每一类业务的当前业务任务数;
这里,需要说明的是,执行S502的时机可以是灵活的,本发明实施例不做具体限定。示例性地,执行S502的时机可以为:在执行S501的同时执行S502,也可以为在执行S501之前就执行S502,当然,还可以为其它,如在执行S505获得差值参数之后再执行S502,只要在执行S506之前获取到每一类业务的当前业务任务数即可。
S503:从预设的资源负载期望值中,确定每一种资源对应的预设负载期望值;
S504:基于每一种资源的当前负载量以及每一种资源对应的预设负载期望值,计算每一种资源对应的差值参数;
S505:基于每一种资源对应的差值参数以及预先存储的关系矩阵,计算每一类业务对应的调整参数;
S506:计算每一类业务的当前业务任务数与调整参数之间的差值,获得下一时刻系统能处理的每一类业务的业务任务数;
S507:根据下一时刻系统能处理的每一类业务的业务任务数,来进行业务处理。
本实施例所提供的控制方法,基于每一种资源的当前负载量以及每一类业务的当前业务任务数,通过调整下一时刻系统能处理的每一类业务的业务任务数,来控制下一时刻的每一种资源处于稳定状态。由于是先对资源和业务进行分类,再通过分别调整每一类业务的业务任务数,来分别控制每一种资源处于稳定状态的,那么,采用该方法就可以实现,在兼顾系统资源有效利用的同时,快速有效地解决系统资源过载问题,使得系统资源处于稳定状态。
实施例三
基于同一发明构思,本实施例提供一种控制装置。图6为本发明实施例三中的控制装置的结构示意图,参见图6所示,该控制装置60包括:获取单元601、计算单元602以及控制单元603,其中,获取单元601,用于获取系统资源的当前资源负载量以及系统所处理的当前业务量;计算单元602,用于基于当前资源负载量、预设的资源负载期望值以及预先存储的关系矩阵,计算调整参数,其中,关系矩阵用于表征系统资源的历史资源负载量与系统所处理的历史业务量之间的关系;控制单元603,用于基于调整参数以及当前业务量,调整下一时刻系统所处理的业务量。
在本发明实施例中,获取单元,用于根据系统资源的类型,分别获取每一种资源的当前负载量,其中,系统资源的类型至少为CPU资源、内存资源、网卡资源、磁盘I/O资源中的一种或多种。
在本发明实施例中,计算单元,用于从预设的资源负载期望值中,确定每一种资源对应的预设负载期望值;基于每一种资源的当前负载量以及每一种资源对应的预设负载期望值,计算每一种资源对应的差值参数;基于每一种资源对应的差值参数以及预先存储的关系矩阵,计算每一类业务对应的调整参数。
在本发明实施例中,计算单元,还用于基于每一种资源的当前负载量,构建输出矩阵;基于每一种资源对应的预设负载期望值,构建期望输出矩阵;将输出矩阵与期望输出矩阵相减,得到输出差值矩阵,其中,输出差值矩阵用于指示每一种资源对应的差值参数。
在本发明实施例中,计算单元,还用于对预先存储的关系矩阵求逆,获得预先存储的关系矩阵的逆矩阵;将输出差值矩阵右乘逆矩阵,获得调整参数矩阵,其中,调整参数矩阵用于指示每一类业务对应的调整参数。
在本发明实施例中,获取单元,用于根据业务所属的业务类型,分别统计每一类业务的当前业务任务数,其中,业务类型至少为CPU密集型任务、内存密集型任务、网卡密集型任务、I/O密集型任务中的一种或多种。
在本发明实施例中,控制单元,用于计算所述每一类业务的当前业务任务数与对应的调整参数之间的差值,获得下一时刻系统能处理的每一类业务的业务任务数;根据所述下一时刻系统能处理的每一类业务的业务任务数,来进行业务处理。
在本发明实施例中,控制单元,还用于将所述调整参数与预设的人工干预系数相乘,获得处理后的调整参数;基于所述处理后的调整参数以及所述当前业务量,调整下一时刻系统所处理的业务量。
这里需要指出的是:以上装置实施例项的描述,与上述方法描述是类似的,具有同方法实施例相同的有益效果。对于本发明装置实施例中未披露的技术细节,本领域的技术人员请参照本发明方法实施例的描述而理解。
实施例四
基于同一发明构思,本实施例提供一种控制设备。图7为本发明实施例四中的控制设备的结构示意图,参见图7所示,该控制设备70包括:存储器701、处理器702以及存储在存储器701上并可在处理器702上运行的计算机程序703,处理器执行程序703时实现以下步骤:获取系统资源的当前资源负载量以及系统所处理的当前业务量;基于当前资源负载量、预设的资源负载期望值以及预先存储的关系矩阵,计算调整参数,其中,关系矩阵用于表征系统资源的历史资源负载量与系统所处理的历史业务量之间的关系;基于调整参数以及当前业务量,调整下一时刻系统所处理的业务量。
在本发明实施例中,上述处理器执行上述程序时还可实现以下步骤:根据系统资源的类型,分别获取每一种资源的当前负载量,其中,系统资源的类型至少为CPU资源、内存资源、网卡资源、磁盘I/O资源中的一种或多种。
在本发明实施例中,上述处理器执行上述程序时还可实现以下步骤:从预设的资源负载期望值中,确定每一种资源对应的预设负载期望值;基于每一种资源的当前负载量以及每一种资源对应的预设负载期望值,计算每一种资源对应的差值参数;基于每一种资源对应的差值参数以及预先存储的关系矩阵,计算每一类业务对应的调整参数。
在本发明实施例中,上述处理器执行上述程序时还可实现以下步骤:基于每一种资源的当前负载量,构建输出矩阵;基于每一种资源对应的预设负载期望值,构建期望输出矩阵;将输出矩阵与期望输出矩阵相减,得到输出差值矩阵,其中,输出差值矩阵用于指示每一种资源对应的差值参数。
在本发明实施例中,上述处理器执行上述程序时还可实现以下步骤:对预先存储的关系矩阵求逆,获得预先存储的关系矩阵的逆矩阵;将输出差值矩阵右乘逆矩阵,获得调整参数矩阵,其中,调整参数矩阵用于指示每一类业务对应的调整参数。
在本发明实施例中,上述处理器执行上述程序时还可实现以下步骤:根据业务所属的业务类型,分别统计每一类业务的当前业务任务数,其中,业务类型至少为CPU密集型任务、内存密集型任务、网卡密集型任务、I/O密集型任务中的一种或多种。
在本发明实施例中,上述处理器执行上述程序时还可实现以下步骤:计算所述每一类业务的当前业务任务数与对应的调整参数之间的差值,获得下一时刻系统能处理的每一类业务的业务任务数;根据所述下一时刻系统能处理的每一类业务的业务任务数,来进行业务处理。
在本发明实施例中,上述处理器执行上述程序时还可实现以下步骤:将所述调整参数与预设的人工干预系数相乘,获得处理后的调整参数;基于所述处理后的调整参数以及所述当前业务量,调整下一时刻系统所处理的业务量。
在实际应用中,上述处理器可由CPU、图形处理器(Graphics Processing Unit,GPU)、微处理器(Micro Processor Unit,MPU)、数字信号处理器(Digital SignalProcessor,DSP)、或现场可编程门阵列(Field Programmable Gate Array,FPGA)等实现。
实施例五
基于同一发明构思,本实施例提供一种计算机可读存储介质,上述计算机可读存储介质存储有一个或者多个程序,上述一个或者多个程序可被一个或者多个处理器执行,以实现以下步骤:获取系统资源的当前资源负载量以及系统所处理的当前业务量;基于当前资源负载量、预设的资源负载期望值以及预先存储的关系矩阵,计算调整参数,其中,关系矩阵用于表征系统资源的历史资源负载量与系统所处理的历史业务量之间的关系;基于调整参数以及当前业务量,调整下一时刻系统所处理的业务量。
在本发明实施例中,上述获取系统资源的当前资源负载量的步骤,还可被上述一个或者多个处理器执行,以实现以下步骤:根据系统资源的类型,分别获取每一种资源的当前负载量,其中,系统资源的类型至少为CPU资源、内存资源、网卡资源、磁盘I/O资源中的一种或多种。
在本发明实施例中,上述基于所述当前资源负载量、预设的资源负载期望值以及预先存储的关系矩阵,计算调整参数的步骤,还可被上述一个或者多个处理器执行,以实现以下步骤:从预设的资源负载期望值中,确定每一种资源对应的预设负载期望值;基于每一种资源的当前负载量以及每一种资源对应的预设负载期望值,计算每一种资源对应的差值参数;基于每一种资源对应的差值参数以及预先存储的关系矩阵,计算每一类业务对应的调整参数。
在本发明实施例中,上述基于所述每一种资源的当前负载量以及所述每一种资源对应的预设负载期望值,计算每一种资源对应的差值参数的步骤,还可被上述一个或者多个处理器执行,以实现以下步骤:基于每一种资源的当前负载量,构建输出矩阵;基于每一种资源对应的预设负载期望值,构建期望输出矩阵;将输出矩阵与期望输出矩阵相减,得到输出差值矩阵,其中,输出差值矩阵用于指示每一种资源对应的差值参数。
在本发明实施例中,上述基于所述每一种资源对应的差值参数以及所述预先存储的关系矩阵,计算所述每一类业务对应的调整参数的步骤,还可被上述一个或者多个处理器执行,以实现以下步骤:对预先存储的关系矩阵求逆,获得预先存储的关系矩阵的逆矩阵;将输出差值矩阵右乘逆矩阵,获得调整参数矩阵,其中,调整参数矩阵用于指示每一类业务对应的调整参数。
在本发明实施例中,上述获取系统所处理的当前业务量的步骤,还可被上述一个或者多个处理器执行,以实现以下步骤:根据业务所属的业务类型,分别统计每一类业务的当前业务任务数,其中,业务类型至少为CPU密集型任务、内存密集型任务、网卡密集型任务、I/O密集型任务中的一种或多种。
在本发明实施例中,上述基于所述调整参数以及所述当前业务量,调整下一时刻系统所处理的业务量,以控制下一时刻的资源处于稳定状态的步骤,还可被上述一个或者多个处理器执行,以实现以下步骤:计算每一类业务的当前业务任务数与对应的调整参数之间的差值,获得下一时刻系统能处理的每一类业务的业务任务数;根据下一时刻系统能处理的每一类业务的业务任务数,来进行业务处理。
在本发明实施例中,上述基于所述调整参数以及所述当前业务量,调整下一时刻系统所处理的业务量,以控制下一时刻的资源处于稳定状态的步骤,还可被上述一个或者多个处理器执行,以实现以下步骤:将所述调整参数与预设的人工干预系数相乘,获得处理后的调整参数;基于所述处理后的调整参数以及所述当前业务量,调整下一时刻系统所处理的业务量。
需要说明的是,上述计算机可读存储介质可以是只读存储器(Read Only Memory,ROM)、可编程只读存储器(Programmable Read-Only Memory,PROM)、可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,EPROM)、电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性随机存取存储器(Ferromagnetic Random Access Memory,FRAM)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(Compact Disc Read-Only Memory,CD-ROM)等存储器;也可以是包括上述存储器之一或任意组合的各种电子设备,如移动电话、计算机、平板设备、个人数字助理等。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
Claims (11)
1.一种控制方法,其特征在于,所述方法包括:
获取系统资源的当前资源负载量以及系统所处理的当前业务量;
基于所述当前资源负载量、预设的资源负载期望值以及预先存储的关系矩阵,计算调整参数,其中,所述关系矩阵用于表征系统资源的历史资源负载量与系统所处理的历史业务量之间的关系;
基于所述调整参数以及所述当前业务量,调整下一时刻系统所处理的业务量。
2.根据权利要求1所述的方法,其特征在于,所述获取系统资源的当前资源负载量,包括:
根据系统资源的类型,分别获取每一种资源的当前负载量,其中,所述系统资源的类型至少为CPU资源、内存资源、网卡资源、磁盘输入/输出I/O资源中的一种或多种。
3.根据权利要求2所述的方法,其特征在于,所述基于所述当前资源负载量、预设的资源负载期望值以及预先存储的关系矩阵,计算调整参数,包括:
从所述预设的资源负载期望值中,确定每一种资源对应的预设负载期望值;
基于所述每一种资源的当前负载量以及所述每一种资源对应的预设负载期望值,计算每一种资源对应的差值参数;
基于所述每一种资源对应的差值参数以及所述预先存储的关系矩阵,计算每一类业务对应的调整参数。
4.根据权利要求3所述的方法,其特征在于,所述基于所述每一种资源的当前负载量以及所述每一种资源对应的预设负载期望值,计算每一种资源对应的差值参数,包括:
基于所述每一种资源的当前负载量,构建输出矩阵;
基于所述每一种资源对应的预设负载期望值,构建期望输出矩阵;
将所述输出矩阵与所述期望输出矩阵相减,得到输出差值矩阵,其中,所述输出差值矩阵用于指示所述每一种资源对应的差值参数。
5.根据权利要求4所述的方法,其特征在于,所述基于所述每一种资源对应的差值参数以及所述预先存储的关系矩阵,计算所述每一类业务对应的调整参数,包括:
对所述预先存储的关系矩阵求逆,获得所述预先存储的关系矩阵的逆矩阵;
将所述输出差值矩阵右乘所述逆矩阵,获得调整参数矩阵,其中,所述调整参数矩阵用于指示所述每一类业务对应的调整参数。
6.根据权利要求1所述的方法,其特征在于,所述获取系统所处理的当前业务量,包括:
根据业务所属的业务类型,分别统计每一类业务的当前业务任务数,其中,所述业务类型至少为CPU密集型任务、内存密集型任务、网卡密集型任务、I/O密集型任务中的一种或多种。
7.根据权利要求6所述的方法,其特征在于,所述基于所述调整参数以及所述当前业务量,调整下一时刻系统所处理的业务量,包括:
计算所述每一类业务的当前业务任务数与对应的调整参数之间的差值,获得下一时刻系统能处理的每一类业务的业务任务数;
根据所述下一时刻系统能处理的每一类业务的业务任务数,来进行业务处理。
8.根据权利要求1-7任一项所述的方法,其特征在于,所述基于所述调整参数以及所述当前业务量,调整下一时刻系统所处理的业务量,包括:
将所述调整参数与预设的人工干预系数相乘,获得处理后的调整参数;
基于所述处理后的调整参数以及所述当前业务量,调整下一时刻系统所处理的业务量。
9.一种控制装置,其特征在于,所述装置包括:获取单元、计算单元以及控制单元,其中,
所述获取单元,用于获取系统资源的当前资源负载量以及系统所处理的当前业务量;
所述计算单元,用于基于所述当前资源负载量、预设的资源负载期望值以及预先存储的关系矩阵,计算调整参数,其中,所述关系矩阵用于表征系统资源的历史资源负载量与系统所处理的历史业务量之间的关系;
所述控制单元,用于基于所述调整参数以及所述当前业务量,调整下一时刻系统所处理的业务量。
10.一种控制设备,其特征在于,所述控制设备至少包括:存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如权利要求1至8任一项所述的控制方法的步骤。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至8任一项所述的控制方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710758370.5A CN107608788B (zh) | 2017-08-29 | 2017-08-29 | 一种控制方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710758370.5A CN107608788B (zh) | 2017-08-29 | 2017-08-29 | 一种控制方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107608788A true CN107608788A (zh) | 2018-01-19 |
CN107608788B CN107608788B (zh) | 2020-08-07 |
Family
ID=61056563
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710758370.5A Active CN107608788B (zh) | 2017-08-29 | 2017-08-29 | 一种控制方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107608788B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110209502A (zh) * | 2019-06-05 | 2019-09-06 | 北京奇艺世纪科技有限公司 | 一种信息存储方法、装置、电子设备及存储介质 |
CN112256432A (zh) * | 2020-10-29 | 2021-01-22 | 北京达佳互联信息技术有限公司 | 服务过载的处理方法、装置、电子设备及存储介质 |
CN113110805A (zh) * | 2021-05-06 | 2021-07-13 | 杭州海康威视数字技术股份有限公司 | 一种磁盘阵列内部数据交互方法、装置及电子设备 |
CN114124757A (zh) * | 2020-08-11 | 2022-03-01 | 财付通支付科技有限公司 | 参数调整方法、装置、相关设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1809051A (zh) * | 2005-01-19 | 2006-07-26 | 华为技术有限公司 | 一种ip电信网中应对设备过载的处理方法 |
CN103019808A (zh) * | 2011-09-28 | 2013-04-03 | 中国移动通信集团公司 | 一种业务状态的调节装置及方法 |
CN103490956A (zh) * | 2013-09-22 | 2014-01-01 | 杭州华为数字技术有限公司 | 基于业务量预测的自适应节能控制方法及设备、系统 |
CN104239150A (zh) * | 2014-09-15 | 2014-12-24 | 杭州华为数字技术有限公司 | 一种硬件资源调整的方法及装置 |
CN102594449B (zh) * | 2012-02-14 | 2015-04-01 | 中兴通讯股份有限公司 | 一种光网络中多路径计算单元协作的实现系统及方法 |
CN107025138A (zh) * | 2016-12-08 | 2017-08-08 | 阿里巴巴集团控股有限公司 | 一种资源处理方法及装置 |
-
2017
- 2017-08-29 CN CN201710758370.5A patent/CN107608788B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1809051A (zh) * | 2005-01-19 | 2006-07-26 | 华为技术有限公司 | 一种ip电信网中应对设备过载的处理方法 |
CN103019808A (zh) * | 2011-09-28 | 2013-04-03 | 中国移动通信集团公司 | 一种业务状态的调节装置及方法 |
CN102594449B (zh) * | 2012-02-14 | 2015-04-01 | 中兴通讯股份有限公司 | 一种光网络中多路径计算单元协作的实现系统及方法 |
CN103490956A (zh) * | 2013-09-22 | 2014-01-01 | 杭州华为数字技术有限公司 | 基于业务量预测的自适应节能控制方法及设备、系统 |
CN104239150A (zh) * | 2014-09-15 | 2014-12-24 | 杭州华为数字技术有限公司 | 一种硬件资源调整的方法及装置 |
CN107025138A (zh) * | 2016-12-08 | 2017-08-08 | 阿里巴巴集团控股有限公司 | 一种资源处理方法及装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110209502A (zh) * | 2019-06-05 | 2019-09-06 | 北京奇艺世纪科技有限公司 | 一种信息存储方法、装置、电子设备及存储介质 |
CN114124757A (zh) * | 2020-08-11 | 2022-03-01 | 财付通支付科技有限公司 | 参数调整方法、装置、相关设备及存储介质 |
CN112256432A (zh) * | 2020-10-29 | 2021-01-22 | 北京达佳互联信息技术有限公司 | 服务过载的处理方法、装置、电子设备及存储介质 |
CN113110805A (zh) * | 2021-05-06 | 2021-07-13 | 杭州海康威视数字技术股份有限公司 | 一种磁盘阵列内部数据交互方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN107608788B (zh) | 2020-08-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107608788A (zh) | 一种控制方法、装置及设备 | |
CN103870340B (zh) | 流计算系统中的数据处理方法、控制节点及流计算系统 | |
CN106056529B (zh) | 一种对用于图片识别的卷积神经网络训练的方法与设备 | |
CN105391654A (zh) | 基于账户活跃度的系统资源分配方法及装置 | |
US10565022B2 (en) | Systems for parallel processing of datasets with dynamic skew compensation | |
CN104038392A (zh) | 一种云计算资源服务质量评估方法 | |
CN109377225A (zh) | 交易分配方法、共识方法、设备和存储介质 | |
CN103970879B (zh) | 一种调整数据块存储位置的方法及系统 | |
CN106156159A (zh) | 一种表连接处理方法、装置和云计算系统 | |
CN104199912B (zh) | 一种任务处理的方法及装置 | |
DE102019112772A1 (de) | Technologien für eine dienstgütefrist-bewusste ende-zu-ende-e/a-planung | |
CN107291720A (zh) | 一种实现批量数据处理的方法、系统和计算机集群 | |
CN108681520A (zh) | 一种数据处理模组、电路、算力板、矿机以及挖矿系统 | |
CN106202092A (zh) | 数据处理的方法及系统 | |
CN110149377A (zh) | 一种视频服务节点资源分配方法、系统、装置及存储介质 | |
CN108270805A (zh) | 用于数据处理的资源分配方法及装置 | |
CN110347515A (zh) | 一种适合边缘计算环境的资源优化分配方法 | |
Ma et al. | Complexity analysis research of financial and economic system under the condition of three parameters’ change circumstances | |
CN105955826A (zh) | 一种云主机系统中服务质量的控制方法及装置 | |
CN104933110B (zh) | 一种基于MapReduce的数据预取方法 | |
US11374869B2 (en) | Managing bandwidth based on user behavior | |
CN107589980A (zh) | 一种云计算资源的调度方法 | |
CN106844605A (zh) | 批量数据逻辑处理方法及装置 | |
CN107977923A (zh) | 图像处理方法、装置、电子设备及计算机可读存储介质 | |
CN107861794A (zh) | 一种在云计算系统中建立虚拟机的方法和装置 |
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 |