法律状态公告日
法律状态信息
法律状态
2022-08-19
实质审查的生效 IPC(主分类):H04L47/263 专利申请号:2022103036885 申请日:20220324
实质审查的生效
2022-08-02
公开
发明专利申请公布
技术领域
本发明涉及通信技术领域,尤其涉及一种应用实例数量的调整方法及装置。
背景技术
无服务(Serverless)是一种新型的云计算架构,可以使用户无需关注底层服务器的管理和维护,且支持简单快捷的应用部署方式和弹性伸缩机制。
然而,在无服务平台中,现有的自动伸缩机制无法满足用户的服务响应时延要求,且存在服务器集群的资源利用率低的问题。
发明内容
本发明提供一种应用实例数量的调整方法及装置,用以解决现有技术中自动伸缩机制无法满足用户的服务响应时延要求,且存在服务器集群的资源利用率低的缺陷。
第一方面,本发明提供一种应用实例数量的调整方法,该方法包括:
获取入口网关处的请求到达信息、应用实例的初始数量、应用实例的运行状态信息以及服务响应时延要求;
基于所述入口网关处的请求到达信息、应用实例的初始数量、应用实例的运行状态信息和服务响应时延要求,确定所述应用实例的目标数量;
将所述应用实例的初始数量调整至所述目标数量。
根据本发明提供的应用实例数量的调整方法,基于所述入口网关处的请求到达信息、应用实例的初始数量、应用实例的运行状态信息和服务响应时延要求,确定所述应用实例的目标数量,包括:
基于所述入口网关处的请求到达信息和所述应用实例的运行状态信息,确定第一阈值;
将所述应用实例的初始数量与所述第一阈值进行比较,得到第一比较结果;
基于所述应用实例的运行状态信息和所述服务响应时延要求,确定第二阈值;
将所述应用实例的运行状态信息中平均队列长度与所述第二阈值进行比较,得到第二比较结果;
基于所述第一比较结果和所述第二比较结果,确定所述应用实例的目标数量。
根据本发明提供的应用实例数量的调整方法,所述入口网关处的请求到达信息包括平均请求到达速率。
根据本发明提供的应用实例数量的调整方法,基于所述入口网关处的请求到达信息和所述应用实例的运行状态信息,确定第一阈值,包括:
将所述平均请求到达速率与所述运行状态信息中平均单个应用实例的处理能力相除,得到第一阈值。
根据本发明提供的应用实例数量的调整方法,基于所述应用实例的运行状态信息和所述服务响应时延要求,确定第二阈值,包括:
将所述服务响应时延要求与所述应用实例的运行状态信息中平均单个请求完成时长做差,得到时长差值;
将所述运行状态信息中平均单个应用实例的处理能力与所述时长差值相乘,得到第二阈值。
根据本发明提供的应用实例数量的调整方法,基于所述第一比较结果和所述第二比较结果,确定所述应用实例的目标数量,包括:
若所述应用实例的初始数量小于所述第一阈值,或者所述应用实例的初始数量等于所述第一阈值且所述应用实例的运行状态信息中平均队列长度大于所述第二阈值,则通过预设的第一函数关系确定所述应用实例的目标数量;
若所述应用实例的初始数量等于所述第一阈值,且所述应用实例的运行状态信息中平均队列长度小于或等于所述第二阈值,则将所述应用实例的初始数量作为所述应用实例的目标数量;
若所述应用实例的初始数量大于所述第一阈值,则通过预设的第二函数关系确定所述应用实例的目标数数量。
根据本发明提供的应用实例数量的调整方法,所述第一函数关系为:
其中,P
根据本发明提供的应用实例数量的调整方法,所述第二函数关系为:
其中,P
根据本发明提供的应用实例数量的调整方法,获取应用实例的运行状态信息,包括:
分别获取与所述入口网关对应的各个应用实例的状态参数;
将所述各个应用实例的状态参数求平均值,得到所述应用实例的运行状态信息。
第二方面,本发明还提供一种应用实例数量的调整装置,该装置包括:
获取模块,用于获取入口网关处的请求到达信息、应用实例的初始数量、应用实例的运行状态信息以及服务响应时延要求;
处理模块,用于基于所述入口网关处的请求到达信息、应用实例的初始数量、应用实例的运行状态信息和服务响应时延要求,确定所述应用实例的目标数量;
调整模块,用于将所述应用实例的初始数量调整至所述目标数量。
本发明提供的应用实例数量的调整方法及装置,通过基于获得的入口网关处的请求到达信息、应用实例的初始数量、应用实例的运行状态信息和服务响应时延要求,确定应用实例的目标数量,进而将应用实例的初始数量调整至目标数量,以实现应用实例数量的动态调整,由于调整过程中综合考虑到了入口网关处的请求到达状况、应用实例的运行状态以及用户的时延需求,因此可以通过应用实例数量的自动伸缩提高资源利用率,同时还可以满足用户的服务响应时延要求。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的应用实例数量的调整方法的流程示意图;
图2是入口网关、应用实例与应用实例自动伸缩控制器之间的信息传输原理示意图;
图3是本发明提供的应用实例数量的调整装置的结构示意图;
图4是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合图1至图4描述本发明实施例提供的应用实例数量的调整方法、应用实例数量的调整装置以及基于上述应用实例数量的调整方法搭建的电子设备。
图1示出了本发明实施例提供的应用实例数量的调整方法,该方法可以应用于应用实例自动伸缩控制器,包括:
步骤101:获取入口网关处的请求到达信息、应用实例的初始数量、应用实例的运行状态信息以及服务响应时延要求;
步骤102:基于入口网关处的请求到达信息、应用实例的初始数量、应用实例的运行状态信息和服务响应时延要求,确定应用实例的目标数量;
步骤103:将应用实例的初始数量调整至目标数量。
在示例性实施例中,基于入口网关处的请求到达信息、应用实例的初始数量、应用实例的运行状态信息和服务响应时延要求,确定应用实例的目标数量,包括:
首先,基于入口网关处的请求到达信息和应用实例的运行状态信息,确定第一阈值;
然后,将应用实例的初始数量与第一阈值进行比较,得到第一比较结果;
之后,基于应用实例的运行状态信息和服务响应时延要求,确定第二阈值;
接着,将应用实例的运行状态信息中平均队列长度与第二阈值进行比较,得到第二比较结果;
最后,基于第一比较结果和第二比较结果,确定应用实例的目标数量。
在无服务架构中,所有的服务请求均会先到达入口网关,再由入口网关分发到各个应用实例进行处理。具体地,本实施例中入口网关处的请求到达信息可以包括平均请求到达速率,该参量可以在入口网关处测量得到,其具体计算公式如下:
V=N/60 (1)
其中,V为平均请求到达速率,N为一分钟内入口网关收到的请求个数。
在实际应用过程中,也可以自定义每次获取请求的时长,比如也可以是两分钟,即上述公式中的分母为120,此时,N为两分钟内入口网关收到的请求个数,具体可以根据实际情况合理设定。
在示例性实施例中,获取应用实例的运行状态信息的过程,具体可以包括:
分别获取与入口网关对应的各个应用实例的状态参数;
将各个应用实例的状态参数求平均值,得到应用实例的运行状态信息。
参见附图2,每个入口网关201可以对应多个应用实例,比如图2中入口网关201对应N个应用实例,图2中实线箭头表示服务请求信息流,虚线箭头表示运行状态信息流,分别获取每个应用实例的状态参数,该状态参数包括单个请求完成时长、并发数、队列长度以及单个应用实例的处理能力。
其中,应用实例收到入口网关转发的请求后会对请求进行相应处理,本实施例可以测量出每一个请求的处理完成时间(即请求完成时长),将100个请求的处理完成时长求平均值即可得到单个请求完成时长T
其中,t
当然,在实际应用过程中求平均值时也可以根据实际需求设定集中处理的请求个数,本实施例中取了100个,实际应用过程中,也可以取50个或者200个,具体可以根据实际需求合理设定。
在实际应用过程中,一个应用实例往往可以同时处理多个请求,并发数为一个应用实例同时处理请求的数目,即一个应用实例中能够同时处理请求的并发进程数或者并发线程数目,用N
应用实例中具有缓冲队列,用来存储当前待处理的请求,待处理请求个数即为队列长度,用L
本实施例根据单个请求完成时间T
C
其中,C
参见附图2,应用实例自动伸缩控制器202可以从各个应用实例处收集状态参数,即单个请求完成时长T
其中,
其中,
其中,
在示例性实施例中,基于入口网关处的请求到达信息和应用实例的运行状态信息,确定第一阈值,具体可以包括:
将平均请求到达速率V与运行状态信息中平均单个应用实例的处理能力
在示例性实施例中,基于应用实例的运行状态信息和服务响应时延要求,确定第二阈值,具体可以包括:
将服务响应时延要求T
将运行状态信息中平均单个应用实例的处理能力
在示例性实施例中,基于第一比较结果和第二比较结果,确定应用实例的目标数量,具体可以包括:
若应用实例的初始数量小于第一阈值,或者应用实例的初始数量等于第一阈值且应用实例的运行状态信息中平均队列长度大于第二阈值,即
若应用实例的初始数量等于第一阈值且应用实例的运行状态信息中平均队列长度小于或等于第二阈值,即
若应用实例的初始数量大于第一阈值,即
应用实例自动伸缩控制器202从入口网关获取平均请求到达速率V,并根据平均请求到达速率V、平均单个应用实例的处理能力
本实施例中应用实例个数计算与调整的周期为t
具体地,第一函数关系可以如下:
其中,P
具体地,第二函数关系可以如下:
其中,P
考虑到无服务平台现有的自动伸缩机制存在弹性伸缩机制的参数种类和阈值设置方式不够智能等问题,无法完全满足用户服务响应时延要求,且资源利用率较低,本发明实施例通过上述应用实例数量的调整方法构建得到在无服务场景下应用实例个数自动伸缩机制,以满足用户的服务响应时延要求并提高服务器集群的资源利用率。
为了验证上述应用实例数量的调整方法的可行性,本实施例在Knative开源平台中部署了上述方案并与Knative平台原有的自动伸缩机制进行了对比实验,实验结果表明应用本实施例提供的应用实例数量的调整方法后,Knative平台的请求平均响应时延有效降低,集群平均资源利用率得到显著提升,据此,可以说明本实施例提供的上述应用实例数量的调整方法不仅可以满足用户的服务响应时延要求,而且提高了服务器集群的资源利用率,达到了预期效果。
下面对本发明提供的应用实例数量的调整装置进行描述,下文描述的应用实例数量的调整装置与上文描述的应用实例数量的调整方法可相互对应参照。
图3示出了本发明实施例提供的应用实例数量的调整装置,该装置包括:
获取模块301,用于获取入口网关处的请求到达信息、应用实例的初始数量、应用实例的运行状态信息以及服务响应时延要求;
处理模块302,用于基于入口网关处的请求到达信息、应用实例的初始数量、应用实例的运行状态信息和服务响应时延要求,确定应用实例的目标数量;
调整模块303,用于将应用实例的初始数量调整至目标数量。
在示例性实施例中,上述处理模块302具体可以包括:
第一阈值确定单元,用于基于入口网关处的请求到达信息和应用实例的运行状态信息,确定第一阈值;
第一比较单元,用于将应用实例的初始数量与第一阈值进行比较,得到第一比较结果;
第二阈值确定单元,用于基于应用实例的运行状态信息和服务响应时延要求,确定第二阈值;
第二比较单元,用于将应用实例的运行状态信息中平均队列长度与第二阈值进行比较,得到第二比较结果;
目标数量确定单元,用于基于第一比较结果和第二比较结果,确定应用实例的目标数量。
在示例性实施例中,上述入口网关处的请求到达信息具体可以包括平均请求到达速率。
在示例性实施例中,上述第一阈值确定单元具体可以用于:
将平均请求到达速率与运行状态信息中平均单个应用实例的处理能力相除,得到第一阈值。
在示例性实施例中,上述第二阈值确定单元具体可以用于:
将服务响应时延要求与应用实例的运行状态信息中平均单个请求完成时长做差,得到时长差值;
将运行状态信息中平均单个应用实例的处理能力与时长差值相乘,得到第二阈值。
在示例性实施例中,上述目标数量确定单元具体可以用于:
若应用实例的初始数量小于第一阈值,或者应用实例的初始数量等于第一阈值且应用实例的运行状态信息中平均队列长度大于第二阈值,则通过预设的第一函数关系确定应用实例的目标数量;
若应用实例的初始数量等于第一阈值,且应用实例的运行状态信息中平均队列长度小于或等于第二阈值,则将应用实例的初始数量作为应用实例的目标数量;
若应用实例的初始数量大于第一阈值,则通过预设的第二函数关系确定应用实例的目标数数量。
在示例性实施例中,获取模块301具体可以通过如下方式实现获取应用实例的运行状态信息的功能,包括:
分别获取与入口网关对应的各个应用实例的状态参数;
将各个应用实例的状态参数求平均值,得到应用实例的运行状态信息。
具体地,本实施例中应用实例的状态参数具体可以包括单个请求完成时长、并发数和队列长度,同时还涉及单个应用实例的处理能力,单个应用实例的处理能力可以通过单个请求完成时间和并发数估算得到。
对应地,应用实例的运行状态信息具体可以包括平均单个应用实例的处理能力、平均队列长度以及平均单个请求完成时长。
由此可见,本发明实施例提供的应用实例数量的调整装置,能够通过入口网关处测量得到的平均请求到达速率以及在应用实例处测量得到的单个请求完成时长、并发数和队列长度,并根据单个请求完成时间和并发数估算单个应用实例的处理能力,进而根据平均请求到达速率、平均单个应用实例的处理能力、平均队列长度和用户服务响应时延要求等运行状态自动调整应用实例数量,以满足用户对服务响应时延的要求,同时可以提高服务器集群的资源利用率。
图4示例了一种电子设备的实体结构示意图,如图4所示,该电子设备可以包括:处理器(processor)401、通信接口(Communications Interface)402、存储器(memory)403和通信总线404,其中,处理器401,通信接口402,存储器403通过通信总线404完成相互间的通信。处理器401可以调用存储器403中的逻辑指令,以执行应用实例数量的调整方法,该方法包括:获取入口网关处的请求到达信息、应用实例的初始数量、应用实例的运行状态信息以及服务响应时延要求;基于入口网关处的请求到达信息、应用实例的初始数量、应用实例的运行状态信息和服务响应时延要求,确定应用实例的目标数量;将应用实例的初始数量调整至目标数量。
此外,上述的存储器403中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各实施例所提供的应用实例数量的调整方法,该方法包括:获取入口网关处的请求到达信息、应用实例的初始数量、应用实例的运行状态信息以及服务响应时延要求;基于入口网关处的请求到达信息、应用实例的初始数量、应用实例的运行状态信息和服务响应时延要求,确定应用实例的目标数量;将应用实例的初始数量调整至目标数量。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时以实现上述各实施例提供的应用实例数量的调整方法,该方法包括:获取入口网关处的请求到达信息、应用实例的初始数量、应用实例的运行状态信息以及服务响应时延要求;基于入口网关处的请求到达信息、应用实例的初始数量、应用实例的运行状态信息和服务响应时延要求,确定应用实例的目标数量;将应用实例的初始数量调整至目标数量。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
机译: 产品订单数量调整装置,产品订单数量调整方法,订单下达系统和计算机程序
机译: 3D版面调整CAD数量合计装置,数量合计程序及数量合计方法
机译: 确定肥料投掷调整参数的方法和装置,以提供所需的投掷宽度和数量的肥料,取决于肥料种类,用于调整肥料投掷器的装置以及安装在上方的肥料的装置