一种资源部署方法、装置及资源服务器与流程

文档序号:18142213发布日期:2019-07-10 11:12阅读:235来源:国知局
一种资源部署方法、装置及资源服务器与流程

本发明涉及通信科学技术领域,尤其涉及一种资源部署方法、装置及资源服务器。



背景技术:

大型网络服务器,如云服务器往往被划分为多个虚拟服务器,这些虚拟服务器分摊了大型网络服务器的资源,可以同时为多个用户提供服务器。每个用户使用其中的一个或多个虚拟服务器作为应用服务器进行业务处理,不同用户之间的业务处理相互独立。为每一个应用服务器合理分配虚拟服务器的数量,即资源,能够提高对云服务器资源的利用效率。

现有技术中,针对任一应用服务器,云服务器会设定一个最大负载值m,即为应用服务器分配的资源,m的初始值为未来24小时的负载预测值p,p为固定值。在工作过程中,云服务器实时监测应用服务器的当前负载,假设t时刻应用服务器的当前负载为n(t),n(t)大于最大负载值m时,则云服务器等待t1时间并再次判断此时的当前负载n(t+t1)是否大于最大负载值m,若此时n(t+t1)仍大于最大负载值m,则增加应用服务器的资源,即虚拟服务器的数量,同时更新最大负载值m;在n(t)小于最大负载值m时,则云服务器等待t2时间并再次判断此时的当前负载n(t+t2)是否小于负载预测值p,若是,则关闭应用服务器中多余的虚拟服务器,将用户服务区的资源恢复到负载预测值p。

然而,在实际应用过程中应用服务器的当前负载n往往会有较强的波动性,比如某一时间段的当前负载n非常大,而某一时间段的当前负载n又非常小。对于现有的资源部署方法,其为应用服务器分配的最大负载值m最小值为负载预测值p,而p又是一个固定值,使得在当前负载n非常小时,应用服务器的最大负载值仍为p,造成了对云服务器资源的浪费。

综上,现有技术中对云服务器资源的利用率有待提升。



技术实现要素:

本发明提供一种资源部署方法、装置及资源服务器,用以提高资源服务器的资源利用率。

本发明实施例提供一种资源部署方法,应用于包括多个应用服务器的资源服务器,所述应用服务器为所述资源服务器中一个或多个虚拟服务器的集合,针对任一应用服务器,包括:

获取所述应用服务器的当前负载;

根据预测负载曲线获取所述应用服务器的当前预测负载;所述预测负载曲线是根据所述应用服务器至少一个历史周期内的负载与时间之间的关系统计获得的;

在所述应用服务器的当前负载小于所述应用服务器的当前资源且所述应用服务器的当前负载小于所述应用服务器的当前预测负载时,减少所述应用服务器的资源。

可选的,在所述应用服务器的当前负载小于所述应用服务器的当前资源且所述应用服务器的当前负载小于所述应用服务器的当前预测负载时,减少所述应用服务器的资源,包括:

判断所述应用服务器的当前负载是否小于所述应用服务器的当前资源且所述应用服务器的当前负载小于所述应用服务器的当前预测负载;

若是,则等待第一预设时间后,获取在所述第一预设时间后所述应用服务器的当前负载和所述应用服务器的当前预测负载;

当所述应用服务器的当前负载仍小于所述应用服务器的当前资源且所述应用服务器的当前负载仍小于所述应用服务器的当前预测负载,则减少所述应用服务器的资源。

可选的,还包括:

在所述应用服务器的当前负载大于所述应用服务器的当前资源时,确定所述应用服务器的负载变化趋势;

在所述负载变化趋势为增大时,增加所述应用服务器的资源。

可选的,还包括:

在所述负载变化趋势为减小时,继续判断所述应用服务器的当前负载是否大于所述应用服务器的当前资源;

若是,则返回确定所述负载变化趋势的步骤。

可选的,在所述应用服务器的当前负载大于所述应用服务器的当前资源时,确定所述应用服务器的负载变化趋势,包括:

在所述应用服务器的当前负载大于所述应用服务器的当前资源,将所述应用服务器的当前负载作为历史负载;

等待第二预设时间后,获取在所述第二预设时间后所述应用服务器的当前负载;

确定所述应用服务器的当前负载与所述历史负载之间的变化关系从而确定应用服务器的负载变化趋势。

本发明实施例提供一种资源部署装置,应用于包括多个应用服务器的资源服务器,所述应用服务器为所述资源服务器中一个或多个虚拟服务器的集合,包括:处理单元;

针对任一应用服务器,所述处理单元用于:

获取所述应用服务器的当前负载;

根据预测负载曲线获取所述应用服务器的当前预测负载;所述预测负载曲线是根据所述应用服务器至少一个历史周期内的负载与时间之间的关系统计获得的;

在所述应用服务器的当前负载小于所述应用服务器的当前资源且所述应用服务器的当前负载小于所述应用服务器的当前预测负载时,减少所述应用服务器的资源。

可选的,所述处理单元具体用于:

判断所述应用服务器的当前负载是否小于所述应用服务器的当前资源且所述应用服务器的当前负载小于所述应用服务器的当前预测负载;

若是,则等待第一预设时间后,获取在所述第一预设时间后所述应用服务器的当前负载和所述应用服务器的当前预测负载;

当所述应用服务器的当前负载仍小于所述应用服务器的当前资源且所述应用服务器的当前负载仍小于所述应用服务器的当前预测负载,则减少所述应用服务器的资源。

可选的,所述处理单元还用于:

在所述应用服务器的当前负载大于所述应用服务器的当前资源时,确定所述应用服务器的负载变化趋势;

在所述负载变化趋势为增大时,增加所述应用服务器的资源。

可选的,所述处理单元还用于:

在所述负载变化趋势为减小时,继续判断所述应用服务器的当前负载是否大于所述应用服务器的当前资源;

若是,则返回确定所述负载变化趋势的步骤。

可选的,所述处理单元具体用于:

在所述应用服务器的当前负载大于所述应用服务器的当前资源,将所述应用服务器的当前负载作为历史负载;

等待第二预设时间后,获取在所述第二预设时间后所述应用服务器的当前负载;

确定所述应用服务器的当前负载与所述历史负载之间的变化关系从而确定应用服务器的负载变化趋势。

本发明实施例提供一种资源服务器,包括:至少一个处理器和与所述至少一个处理器通信连接的存储器;

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上述任一项所述的资源部署方法。

本发明实施例提供一种非易失性计算机可读存储介质,所述非易失性计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行如上述任一项所述的资源部署方法。

综上所述,本发明实施例提供一种资源部署方法、装置及资源服务器,其中,资源部署方法应用于包括多个应用服务器的资源服务器,应用服务器为资源服务器中一个或多个虚拟服务器的集合,针对任一应用服务器,包括:获取应用服务器的当前负载;根据预测负载曲线获取应用服务器的当前预测负载;预测负载曲线是根据应用服务器至少一个历史周期内的负载与时间之间的关系统计获得的;在应用服务器的当前负载小于应用服务器的当前资源且应用服务器的当前负载小于应用服务器的当前预测负载时,减少应用服务器的资源。本发明实施例中,应用服务器的预测负载不再是一个固定的预测值,而是一个根据预测负载曲线获得的可随时间动态变化的预测值。应用服务器的预测负载曲线能够反映历史周期内应用服务器的负载变化,因此,根据预测负载曲线获得的当前负载预测值可以针对应用服务器的高峰和低峰负载状况动态调整。在应用服务器处于低峰负载状况时,当前负载预测值相应较低,相比现有技术,本发明实施例所公开的技术方案能够使应用服务器释放出更多的资源,减少低峰负载状况下应用服务器对资源服务器资源的占用,进而提高了资源服务器的资源利用率。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种资源服务器逻辑结构示意图;

图2为本发明实施例提供的一种资源部署方法流程示意图;

图3为本发明实施例提供的一种具体可行的资源部署方法流程示意图;

图4为本发明实施例提供的一种资源部署装置结构示意图;

图5为本发明实施例提供的一种资源服务器结构示意图。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

本发明实施例提供一种资源服务器,其内部处理资源被划分为多个虚拟服务器(virtualprivateservice,vps)。一个或多个虚拟服务器为同一应用提供服务,可以被视为一应用服务器。图1为本发明实施例提供的一种资源服务器逻辑结构示意图,如图1所示,多个应用服务器的资源服务器100包括应用服务器101、应用服务器102、……、应用服务器10a等多个应用服务器,每个应用服务器中又包括1个或多个虚拟服务器。具体实施过程中,资源服务器可以是一个高处理能力的大型服务器,也可以是多个服务器构成的集群,其多作为云服务器为多个用户提供服务。例如,在内容分发网络(contentdeliverynetwork,cdn)中,其边缘节点便可以是资源服务器中的应用服务器。应理解,虚拟服务器和应用服务器并不是实体的服务器,只有资源服务器才是一个实体的服务器或服务器集群,合理调用资源服务器中的资源,能够提高资源服务器的资源利用率。

基于上述资源服务器,本发明实施例提供一种资源部署方法,以提高资源服务器的资源利用率。图2为本发明实施例提供的一种资源部署方法流程示意图,针对图1中所示的任一应用服务器,包括以下步骤:

s201:获取应用服务器的当前负载。

s202:根据预测负载曲线获取应用服务器的当前预测负载;预测负载曲线是根据应用服务器至少一个历史周期内的负载与时间之间的关系统计获得的。

s203:在应用服务器的当前负载小于应用服务器的当前资源且应用服务器的当前负载小于应用服务器的当前预测负载时,减少应用服务器的资源。

在s201中,资源服务器实时监控或按一定频率监控应用服务器的负载情况,由于应用服务器实际上是资源服务器的一部分,因此资源服务器可以直接获取应用服务器的当前负载。

在s202中本发明实施例提供的一种预测负载曲线,用于确定应用服务器的当前预测负载。由于预测负载曲线是根据应用服务器至少一个历史周期内的负载与时间之间的关系统计获得的,因此其能够反映该应用服务器在至少一个周期内的负载随时间的变化情况,资源服务器根据当前时刻查询预测负载曲线便可获取应用服务器的当前预测负载。

本发明实施例中,预测负载曲线是根据应用服务器至少一个历史周期内的负载与时间之间的关系统计获得的,以一可行的具体实例说明,假设以24小时为周期,资源服务器根据应用服务器前三天的负载情况进行统计,具体可以是,资源服务器每隔10分钟获取前三天应用服务器在对应时刻的负载数据,计算平均值后获取的负载数据为n:{n0,n1,……,n143},例如,n0便是前三天00:00时的负载数据的平均值。各负载数据分别对应的时间为t:{t0,t1,……,t143},以时间为横坐标,负载数据为纵坐标,则以上数据可表示为144个点。之后,可选的,通过高斯拟合将上述144个点拟合为光滑的曲线,即本发明实施例所提供的预测负载曲线。采用上述方法获得的预测负载曲线横坐标为时间,纵坐标为负载数据(反之亦然),可以反映该应用服务器在24小时内的负载变化情况。

在s203中,在应用服务器的当前负载小于应用服务器的当前资源时,说明应用服务器的当前资源超出了应用服务器的业务需求。同时,应用服务器的当前负载小于应用服务器的当前预测负载,说明根据历史统计情况,在当前时刻,应用服务器的当前负载比历史统计的负载更低,即使减少负载也可以在较大程度上认为不会出现负载突增使得应用服务器资源不足的情况。因此,本发明实施例中,只有在应用服务器的当前负载小于应用服务器的当前资源且应用服务器的当前负载小于应用服务器的当前预测负载时,才会减少应用服务器的资源。

可选的,在应用服务器的当前负载大于当前预测负载且当前负载小于当前资源时,保持应用服务器的当前资源不变。

本发明实施例中,应用服务器的预测负载不再是一个固定的预测值,而是一个根据预测负载曲线获得的可随时间动态变化的预测值。应用服务器的预测负载曲线能够反映历史周期内应用服务器的负载变化,因此,根据预测负载曲线获得的当前负载预测值可以针对应用服务器的高峰和低峰负载状况动态调整。在应用服务器处于低峰负载状况时,当前负载预测值相应较低,相比现有技术,本发明实施例所公开的技术方案能够使应用服务器释放出更多的资源,减少低峰负载状况下应用服务器对资源服务器资源的占用,进而提高了资源服务器的资源利用率。

在具体实施过程中,应用服务器的当前负载有可能出现偶然的下降,若此时立即减少应用服务器的资源,有可能会使得应用服务器恢复正常负载后出现资源不足的情况。为了避免偶然情况造成的误判,可选的,s203具体包括:判断应用服务器的当前负载是否小于应用服务器的当前资源且应用服务器的当前负载小于应用服务器的当前预测负载;若是,则等待第一预设时间后,获取在第一预设时间后应用服务器的当前负载和应用服务器的当前预测负载;当应用服务器的当前负载仍小于应用服务器的当前资源且应用服务器的当前负载仍小于应用服务器的当前预测负载,则减少应用服务器的资源。具体来说,假设应用服务器的当前负载为n(t),当前资源为m(t),当前预测负载为p(t),则当n(t)<m(t),且,n(t)<p(t)时,资源服务器等待第一预设时间t1后,再次获取应用服务器的当前负载n(t+t1)和当前预测负载p(t+t1),由于应用服务器的资源在t1期间并无变化,因此m(t+t1)=m(t)。当n(t+t1)<m(t),且,n(t+t1)<p(t+t1)时,说明应用服务器的当前负载并不是偶然性的降低,应对应用服务器进行资源释放,资源服务器减少应用服务器的资源。

在具体实施过程中,也会出现应用服务器的当前负载大于应用服务器的当前资源的情况,可选的,在应用服务器的当前负载大于应用服务器的当前资源时,确定应用服务器的负载变化趋势;在负载变化趋势为增大时,增加应用服务器的资源。应用服务器的当前负载大于应用服务器的当前资源时,也有可能是应用服务器的负载偶然性的增加,立即增加应用服务器的资源会造成资源的浪费,本发明实施例中,在应用服务器的当前负载大于应用服务器的当前资源时,还会进一步判断应用服务器的当前负载的变化趋势,若当前负载的变化趋势为增大,说明应用服务器的负载并不是偶然性增大,此时应当增加应用服务器的资源。

可选的,在负载变化趋势为减小时,继续判断应用服务器的当前负载是否大于应用服务器的当前资源;若是,则返回确定负载变化趋势的步骤。在应用服务器的变化趋势为减小时,说明应用服务器的负载正在逐渐减小向应用服务器的当前资源靠近。此时,保持对应用服务器负载变化趋势的判断,以防止应用服务器的负载在短暂减小后又开始增大。可选的,在应用服务器的负载变化趋势变为增大时,资源服务器增大应用服务器的资源。

可选的,资源服务器可采用以下方式确定应用服务器的当前负载的变化情况,包括:在应用服务器的当前负载大于应用服务器的当前资源,将应用服务器的当前负载作为历史负载;等待第二预设时间后,获取在第二预设时间后应用服务器的当前负载;确定应用服务器的当前负载与历史负载之间的变化关系从而确定应用服务器的负载变化趋势。具体来说,假设应用服务器的当前负载为n(t),当前资源为m(t),则当n(t)>m(t)时,资源服务器将n(t)作为历史负载,并等待第二预设时间t2后,再次获取应用服务器的当前负载n(t+t2),继续判断,当n(t+t2)>n(t)时,说明应用服务器的当前负载变化趋势为增加,应增加应用服务器的资源。而当n(t+t2)<n(t)时,说明应用服务器的当前负载变化趋势为减小,资源服务器进一步判断应用服务器的当前负载是否大于应用服务器的当前资源,若是,则将n(t+t2)作为历史负载,并等待第二预设时间t2后,继续比较n(t+t2)和n(t+2t2)之间的关系,之后过程可以此类推,本发明实施例不再赘述。

可选的,在具体实施过程中,每一个虚拟服务器都具有一定的资源量,因此对应用服务器资源的调整应是离散的变化值,而不是连续的变化值。以减少应用服务器的资源为例,在减少前,还需判断应用服务器当前资源与当前负载之间的差值是否大于该应用服务器中的虚拟服务器的资源量,若当前资源与当前负载之差过小,从应用服务器中去除任一虚拟服务器都会造成应用服务器的资源不足,则此时便不会减小应用服务器的资源。若应用服务器中存在虚拟服务器能够满足当前资源与当前负载之差,使得即使从应用服务器中去除该虚拟服务器后应用服务器的当前资源仍大于当前负载,则从应用服务器中去除该虚拟服务器。

为了更具体地说明本发明实施例所提供的方法,本发明实施例提供一种可能的实现方式,如图3所示,为本发明实施例提供的一种具体可行的资源部署方法流程示意图,如图3所示,包括以下步骤:

s301:获取应用服务器的当前负载n(t)。

s302:判断当前负载n(t)是否大于应用服务器的当前资源m;若是,则执行s303;若否,则执行s308。

s303:令历史负载n0=n(t)。

s304:等待第二预设时间t2,t=t+t2。

s305:再次获取当前负载n(t)。

应理解,此时的n(t)为等待t2时间之后的当前负载。

s306:判断n(t)是否大于n0;若是,则执行s307;若否,则执行s303。

s307:增加应用服务器资源。

s308:判断应用服务器的当前负载n(t)是否小于当前预测负载p(t);若是,则执行s309,若否,则执行s301。

s309:等待第一预设时间t1,t=t+t1。

s310:判断t1后的当前负载n(t)是否小于当前资源m,若是,则执行s311,若否,则执行s303。

s311:判断当前负载n(t)是否小于当前预测负载p(t),若是,则执行s312,若否,则执行s301。

s312:判断是否存在正整数n个虚拟服务器满足n(t)<m-n*x,其中,x为每个虚拟服务器的资源量;若是,则执行s313;若否,则执行s301。

s313:减少应用服务器的资源,具体为,从应用服务器中减少n个虚拟服务器。

应理解,以上可能的实现方式仅为举例说明,并不代表本发明实施例仅包含或仅适用于以上实现方式。

基于相同的技术构思,本发明实施例还提供一种资源部署装置,该资源部署装置应用于如图1所示的资源服务器,可以实现本发明任一实施例所提供的资源部署方法。图4为本发明实施例提供的一种资源部署装置结构示意图,如图4所示,资源部署装置400包括处理单元401;

针对任一应用服务器,处理单元401用于:

获取应用服务器的当前负载;

根据预测负载曲线获取应用服务器的当前预测负载;预测负载曲线是根据应用服务器至少一个历史周期内的负载与时间之间的关系统计获得的;

在应用服务器的当前负载小于应用服务器的当前资源且应用服务器的当前负载小于应用服务器的当前预测负载时,减少应用服务器的资源。

可选的,处理单元401具体用于:

判断应用服务器的当前负载是否小于应用服务器的当前资源且应用服务器的当前负载小于应用服务器的当前预测负载;

若是,则等待第一预设时间后,获取在第一预设时间后应用服务器的当前负载和应用服务器的当前预测负载;

当应用服务器的当前负载仍小于应用服务器的当前资源且应用服务器的当前负载仍小于应用服务器的当前预测负载,则减少应用服务器的资源。

可选的,处理单元401还用于:

在应用服务器的当前负载大于应用服务器的当前资源时,确定应用服务器的负载变化趋势;

在负载变化趋势为增大时,增加应用服务器的资源。

可选的,处理单元401还用于:

在负载变化趋势为减小时,继续判断应用服务器的当前负载是否大于应用服务器的当前资源;

若是,则返回确定负载变化趋势的步骤。

可选的,处理单元401具体用于:

在应用服务器的当前负载大于应用服务器的当前资源,将应用服务器的当前负载作为历史负载;

等待第二预设时间后,获取在第二预设时间后应用服务器的当前负载;

确定应用服务器的当前负载与历史负载之间的变化关系从而确定应用服务器的负载变化趋势。

基于相同的技术构思,本发明实施例还提供一种资源服务器。图5为本发明实施例提供的一种资源服务器结构示意图,如图5所示,资源服务器包括:至少一个处理器500和与所述至少一个处理器通信连接的存储器510;

存储器510存储有可被至少一个处理器500执行的指令,所述指令被所述至少一个处理器500执行,以使所述至少一个处理器500能够执行本发明实施例所提供的任一项资源部署方法。

其中,在图5中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器500代表的一个或多个处理器和存储器510代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。

综上所述,本发明实施例提供一种资源部署方法、装置及资源服务器,其中,资源部署方法应用于包括多个应用服务器的资源服务器,应用服务器为资源服务器中一个或多个虚拟服务器的集合,针对任一应用服务器,包括:获取应用服务器的当前负载;根据预测负载曲线获取应用服务器的当前预测负载;预测负载曲线是根据应用服务器至少一个历史周期内的负载与时间之间的关系统计获得的;在应用服务器的当前负载小于应用服务器的当前资源且应用服务器的当前负载小于应用服务器的当前预测负载时,减少应用服务器的资源。本发明实施例中,应用服务器的预测负载不再是一个固定的预测值,而是一个根据预测负载曲线获得的可随时间动态变化的预测值。应用服务器的预测负载曲线能够反映历史周期内应用服务器的负载变化,因此,根据预测负载曲线获得的当前负载预测值可以针对应用服务器的高峰和低峰负载状况动态调整。在应用服务器处于低峰负载状况时,当前负载预测值相应较低,相比现有技术,本发明实施例所公开的技术方案能够使应用服务器释放出更多的资源,减少低峰负载状况下应用服务器对资源服务器资源的占用,进而提高了资源服务器的资源利用率。

基于相同的技术构思,本发明实施例还提供一种非易失性计算机可读存储介质,所述非易失性计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行本发明实施例提供的任一种资源部署方法。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

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