本发明属于服务器运维技术领域,具体涉及一种web服务器调度方法、装置、终端及存储介质。
背景技术:
web集群是由多个同时运行同一个web应用的服务器组成,在外界看来就像一个服务器一样,共同来为客户提供更高性能的服务。目前由于web服务器在it架构中数量多,且用户对web服务器的访问存在高峰期、低谷期等因素,目前为了应对用户高峰期对web服务器的访问质量要求,通常部署大量的web服务器提供给用户访问,这种方式也产生了一个问题,即在用户访问的低谷期时,每台web服务器资源使用率低,大量服务器闲置运行,导致数据中心电能的浪费。如果部署的web服务器数量减少,在用户访问高峰期时,由于大量用户访问需求的并发,又无法保证web服务的质量。
此为现有技术的不足,因此,针对现有技术中的上述缺陷,提供一种web服务器调度方法、装置、终端及存储介质,是非常有必要的。
技术实现要素:
针对现有技术的上述现有的web服务器部署方式存在资源利用率低,电能浪费与无法保证web服务应用质量矛盾的缺陷,本发明提供一种web服务器调度方法、装置、终端及存储介质,以解决上述技术问题。
第一方面,本发明提供一种web服务器调度方法,包括如下步骤:
s1.获取web服务集群中运行的web服务器及其数量;
s2.计算每个web服务器的处理能力以及web服务集群的整体处理能力,并根据web服务集群的整体处理能力计算web服务集群的整体负载;
s3.设定取样时间单位、取样时间点及取样周期,在取样周期内每个取样时间单位的取样时间点对web服务集群的整体负载进行瞬时取样,得到web服务集群每个取样时间单位的瞬时负载,并根据web服务集群每个取样时间单位的瞬时负载对满足取样周期的web服务集群的瞬时负载进行预测;
s4.设置web服务集群处理能力余量比例,根据预测的web服务集群的瞬时负载及web服务集群处理能力余量比例计算web服务集群的所需处理能力,再根据web服务集群所需处理能力计算出所需web服务器数量;
s5.再根据web服务集群中所需web服务器数量与运行web服务器数量的关系进行物理服务器的开启或关闭。
进一步地,步骤s1中运行的web服务器的数量为n;
步骤s2具体步骤如下:
s21.设置每个web服务器i的处理能力为cpu[i],web服务器的cpu主频为f,web服务器的核心数量为n,则cpu[i]=f*n;
s22.计算web集群的整体处理能力cpu[sum]=cpu[1] cpu[2] …cpu[i];
s23.设置每个web服务器i的负载为load[i],load[i]=cpu[i]*use[i],其中use[i]为每个web服务器的系统资源使用率;
s24.设置web服务集群的整体负载为instantaneousload,instantaneousload=load[1] load[2] …load[i]。
进一步地,步骤s3具体步骤如下:
s31.设定取样时间单位为每天,设定取样时间点为每天的m时刻,设定取样周期为s天;
s32.设置每天某个时刻的瞬时负载为instload[s],
instload[s]=(instload[s-1] ... instload[1])/s;
s33.设置某天、某时刻的web服务集群的瞬时负载值为instload[s][m],第s天m时刻的瞬时负载预测值为instload[s][m]=(instload[s-1][m] instload[s-2][m] ... instload[1][m])/s。
进一步地,步骤s4具体步骤如下:
s41.获取外部客户访问需要,根据外部客户访问需求计算web服务集群的处理能力需求,再根据web服务集群的处理能力需要设置web服务集群处理能力余量比例reserve%;
s42.设置web服务集群的所需处理能力为cpuneed,
cpuneed=instload[s][m]*(1 reserve%);
s43.将每个web服务器的处理能力列出cpu[1]、cpu[2]…cpu[i],并确定出满足web服务集群的所需处理能力cpuneed的所需web服务器数量i。
进一步地,步骤s5具体步骤如下:
s51.获取web服务集群中运行的web服务器数量n,并比较web服务集群中运行的web服务器数量n与所需web服务器数量i;
若i<n,进入步骤s52;
若i≥n,进入步骤s53;
s52.判定web服务集群的web服务器存在闲置,关闭n-i台web服务器,并验证是否关闭web服务器成功,结束;
s53.判定web服务集群的web服务器不满足需求,开启i-n台web服务器,并验证是否开启web服务器成功,结束。
进一步地,步骤s52具体步骤如下:
s521.判定web服务集群的web服务器存在闲置;
s522.选择n-i台web服务器,对选定的n-i台web服务器关闭web服务;
s523.判断web服务是否关闭成功;
若是,进入步骤s524;
若否,返回步骤s522;
s524.对选定n-i台web服务器关闭物理服务器;
s525.判断关闭物理服务器是否成功;
若是,返回步骤s1;
若否,返回步骤s524。
进一步地,步骤s53具体步骤如下:
s531.判定web服务集群的web服务器不满足需求;
s532.选择i-n台关闭的物理服务器,对选定的i-n台关闭的物理服务器进行开启
s532.判断开启物理服务器是否成功;
若是,进入步骤s533;
若否,返回步骤s532;
s533.对已开启的i-n台物理服务器开启web服务;
s534.判断开启web服务是否成功;
若是,返回步骤s1;
若否,返回步骤s534。
第二方面,本发明提供一种web服务器调度装置,包括:
运行web服务器获取模块,用于获取web服务集群中运行的web服务器及其数量;
web服务集群负载计算模块,用于计算每个web服务器的处理能力以及web服务集群的整体处理能力,并根据web服务器的整体处理能力计算web服务集群的整体负载;
web服务集群负载预测模块,用于设定取样时间单位、取样时间点及取样周期,在取样周期内每个取样时间单位的取样时间点对web服务集群的整体负载进行瞬时取样,得到web服务集群每个取样时间单位的瞬时负载,并根据web服务集群每个取样时间单位的瞬时负载对满足取样周期的web服务集群的瞬时负载进行预测;
所需web服务器数量计算模块,用于设置web服务集群处理能力余量比例,根据预测的web服务集群的瞬时负载及web服务集群处理能力余量比例计算web服务集群的所需处理能力,再根据web服务集群所需处理能力计算出所需web服务器数量;
物理服务器开关模块,用于再根据web服务集群中所需web服务器数量与运行web服务器数量的关系进行物理服务器的开启或关闭。
第三方面,提供一种终端,包括:
处理器、存储器,其中,
该存储器用于存储计算机程序,
该处理器用于从存储器中调用并运行该计算机程序,使得终端执行上述第一方面的方法。
第四方面,提供了一种计算机存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面所述的方法。
本发明的有益效果在于,
本发明提供的web服务器调度方法、装置、终端及存储介质,以整个web服务集群处理能力为基础,通过采样集群中各web服务器的工作频率,计算出web集群面对外部客户的访问需求所需的处理能力,并预测当前所需web服务器的资源情况,计算出可开启或关闭的物理机并自动执行开启或关闭命令,在保障web集群满足前端客户访问需求的同时,达到节省数据中心能耗的目的。
此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
由此可见,本发明与现有技术相比,具有突出的实质性特点和显著的进步,其实施的有益效果也是显而易见的。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明的方法流程示意图一;
图2是本发明的方法流程示意图二;
图3是本发明的系统示意图;
图中,1-运行web服务器获取模块;2-web服务集群负载计算模块;2.1-web服务器处理能力计算单元;2.2-web服务集群整体处理能力计算单元;2.3-web服务器负载计算单元;2.4-web服务集群整体负载计算单元;3-web服务集群负载预测模块;3.1-采样参数设置单元;3.2-单位瞬时负载设置单元;3.3-瞬时负载预测单元;4-所需web服务器数量计算模块;4.1-处理能力余量比例设置单元;4.2-web服务集群所需处理能力计算单元;4.3-所需web服务器数量确定单元;5-物理服务器开关模块;5.1-运行web服务器数量与所需web服务器数量比较单元;5.2-web服务器关闭单元;5.3-web服务器开启单元。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
实施例1:
如图1所示,本发明提供一种web服务器调度方法,包括如下步骤:
s1.获取web服务集群中运行的web服务器及其数量;
s2.计算每个web服务器的处理能力以及web服务集群的整体处理能力,并根据web服务集群的整体处理能力计算web服务集群的整体负载;
s3.设定取样时间单位、取样时间点及取样周期,在取样周期内每个取样时间单位的取样时间点对web服务集群的整体负载进行瞬时取样,得到web服务集群每个取样时间单位的瞬时负载,并根据web服务集群每个取样时间单位的瞬时负载对满足取样周期的web服务集群的瞬时负载进行预测;
s4.设置web服务集群处理能力余量比例,根据预测的web服务集群的瞬时负载及web服务集群处理能力余量比例计算web服务集群的所需处理能力,再根据web服务集群所需处理能力计算出所需web服务器数量;
s5.再根据web服务集群中所需web服务器数量与运行web服务器数量的关系进行物理服务器的开启或关闭。
实施例2:
如图2所示,本发明提供一种web服务器调度方法,包括如下步骤:
s1.获取web服务集群中运行的web服务器及其数量;步骤s1中运行的web服务器的数量为n;
s2.计算每个web服务器的处理能力以及web服务集群的整体处理能力,并根据web服务集群的整体处理能力计算web服务集群的整体负载;具体步骤如下:
s21.设置每个web服务器i的处理能力为cpu[i],web服务器的cpu主频为f,web服务器的核心数量为n,则cpu[i]=f*n;
s22.计算web集群的整体处理能力cpu[sum]=cpu[1] cpu[2] …cpu[i];
s23.设置每个web服务器i的负载为load[i],load[i]=cpu[i]*use[i],其中use[i]为每个web服务器的系统资源使用率;
s24.设置web服务集群的整体负载为instantaneousload,instantaneousload=load[1] load[2] …load[i];
s3.设定取样时间单位、取样时间点及取样周期,在取样周期内每个取样时间单位的取样时间点对web服务集群的整体负载进行瞬时取样,得到web服务集群每个取样时间单位的瞬时负载,并根据web服务集群每个取样时间单位的瞬时负载对满足取样周期的web服务集群的瞬时负载进行预测;具体步骤如下:
s31.设定取样时间单位为每天,设定取样时间点为每天的m时刻,设定取样周期为s天;
s32.设置每天某个时刻的瞬时负载为instload[s],
instload[s]=(instload[s-1] ... instload[1])/s;
s33.设置某天、某时刻的web服务集群的瞬时负载值为instload[s][m],第s天m时刻的瞬时负载预测值为instload[s][m]=(instload[s-1][m] instload[s-2][m] ... instload[1][m])/s;
s4.设置web服务集群处理能力余量比例,根据预测的web服务集群的瞬时负载及web服务集群处理能力余量比例计算web服务集群的所需处理能力,再根据web服务集群所需处理能力计算出所需web服务器数量;具体步骤如下:
s41.获取外部客户访问需要,根据外部客户访问需求计算web服务集群的处理能力需求,再根据web服务集群的处理能力需要设置web服务集群处理能力余量比例reserve%;
s42.设置web服务集群的所需处理能力为cpuneed,
cpuneed=instload[s][m]*(1 reserve%);
s43.将每个web服务器的处理能力列出cpu[1]、cpu[2]…cpu[i],并确定出满足web服务集群的所需处理能力cpuneed的所需web服务器数量i;
s5.再根据web服务集群中所需web服务器数量与运行web服务器数量的关系进行物理服务器的开启或关闭;具体步骤如下:
s51.获取web服务集群中运行的web服务器数量n,并比较web服务集群中运行的web服务器数量n与所需web服务器数量i;
若i<n,进入步骤s52;
若i≥n,进入步骤s53;
s52.判定web服务集群的web服务器存在闲置,关闭n-i台web服务器,并验证是否关闭web服务器成功,结束;
s53.判定web服务集群的web服务器不满足需求,开启i-n台web服务器,并验证是否开启web服务器成功,结束。
在某些实施例中,步骤s52具体步骤如下:
s521.判定web服务集群的web服务器存在闲置;
s522.选择n-i台web服务器,对选定的n-i台web服务器关闭web服务;
s523.判断web服务是否关闭成功;
若是,进入步骤s524;
若否,返回步骤s522;
s524.对选定n-i台web服务器关闭物理服务器;
s525.判断关闭物理服务器是否成功;
若是,返回步骤s1;
若否,返回步骤s524;
步骤s53具体步骤如下:
s531.判定web服务集群的web服务器不满足需求;
s532.选择i-n台关闭的物理服务器,对选定的i-n台关闭的物理服务器进行开启
s532.判断开启物理服务器是否成功;
若是,进入步骤s533;
若否,返回步骤s532;
s533.对已开启的i-n台物理服务器开启web服务;
s534.判断开启web服务是否成功;
若是,返回步骤s1;
若否,返回步骤s534。
实施例3:
如图3所示,本发明提供一种web服务器调度装置,包括:
运行web服务器获取模块1,用于获取web服务集群中运行的web服务器及其数量;运行的web服务器的数量为n;
web服务集群负载计算模块2,用于计算每个web服务器的处理能力以及web服务集群的整体处理能力,并根据web服务器的整体处理能力计算web服务集群的整体负载;web服务集群负载计算模块2包括:
web服务器处理能力计算单元2.1,用于设置每个web服务器i的处理能力为cpu[i],web服务器的cpu主频为f,web服务器的核心数量为n,则cpu[i]=f*n;
web服务集群整体处理能力计算单元2.2,用于计算web服务集群的整体处理能力cpu[sum]=cpu[1] cpu[2] …cpu[i];
web服务器负载计算单元2.3,用于设置每个web服务器i的负载为load[i],load[i]=cpu[i]*use[i],其中use[i]为每个web服务器的系统资源使用率;
web服务集群整体负载计算单元2.4,用于设置web服务集群的整体负载为instantaneousload,instantaneousload=load[1] load[2] …load[i];
web服务集群负载预测模块3,用于设定取样时间单位、取样时间点及取样周期,在取样周期内每个取样时间单位的取样时间点对web服务集群的整体负载进行瞬时取样,得到web服务集群每个取样时间单位的瞬时负载,并根据web服务集群每个取样时间单位的瞬时负载对满足取样周期的web服务集群的瞬时负载进行预测;web服务集群负载预测模块3包括:
采样参数设置单元3.1,用于设定取样时间单位为每天,设定取样时间点为每天的m时刻,设定取样周期为s天;
单位瞬时负载设置单元3.2,用于设置每天某个时刻的瞬时负载为instload[s],
instload[s]=(instload[s-1] ... instload[1])/s;
瞬时负载预测单元3.3,用于设置某天、某时刻的web服务集群的瞬时负载值为instload[s][m],第s天m时刻的瞬时负载预测值为instload[s][m]=(instload[s-1][m] instload[s-2][m] ... instload[1][m])/s;
所需web服务器数量计算模块4,用于设置web服务集群处理能力余量比例,根据预测的web服务集群的瞬时负载及web服务集群处理能力余量比例计算web服务集群的所需处理能力,再根据web服务集群所需处理能力计算出所需web服务器数量;所需web服务器数量计算模块4包括:
处理能力余量比例设置单元4.1,用于获取外部客户访问需要,根据外部客户访问需求计算web服务集群的处理能力需求,再根据web服务集群的处理能力需要设置web服务集群处理能力余量比例reserve%;
web服务集群所需处理能力计算单元4.2,用于设置web服务集群的所需处理能力为cpuneed,
cpuneed=instload[s][m]*(1 reserve%);
所需web服务器数量确定单元4.3,用于将每个web服务器的处理能力列出cpu[1]、cpu[2]…cpu[i],并确定出满足web服务集群的所需处理能力cpuneed的所需web服务器数量i;
物理服务器开关模块5,用于再根据web服务集群中所需web服务器数量与运行web服务器数量的关系进行物理服务器的开启或关闭;物理服务器开关模块5包括:
运行web服务器数量与所需web服务器数量比较单元5.1,用于获取web服务集群中运行的web服务器数量n,并比较web服务集群中运行的web服务器数量n与所需web服务器数量i;
web服务器关闭单元5.2,用于当i<n时,判定web服务集群的web服务器存在闲置,关闭n-i台web服务器,并验证是否关闭web服务器成功;
web服务器开启单元5.3,用于当i≥n时,判定web服务集群的web服务器不满足需求,开启i-n台web服务器,并验证是否开启web服务器成功。
实施例4:
本发明提供一种终端,包括:
处理器、存储器,其中,该存储器用于存储计算机程序,该处理器用于从存储器中调用并运行该计算机程序,使得终端执行上述实施例1或实施例2任一项所述的方法。
实施例5:
本发明提供一种存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例1或实施例2任一项所述的方法。
尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
1.一种web服务器调度方法,其特征在于,包括如下步骤:
s1.获取web服务集群中运行的web服务器及其数量;
s2.计算每个web服务器的处理能力以及web服务集群的整体处理能力,并根据web服务集群的整体处理能力计算web服务集群的整体负载;
s3.设定取样时间单位、取样时间点及取样周期,在取样周期内每个取样时间单位的取样时间点对web服务集群的整体负载进行瞬时取样,得到web服务集群每个取样时间单位的瞬时负载,并根据web服务集群每个取样时间单位的瞬时负载对满足取样周期的web服务集群的瞬时负载进行预测;
s4.设置web服务集群处理能力余量比例,根据预测的web服务集群的瞬时负载及web服务集群处理能力余量比例计算web服务集群的所需处理能力,再根据web服务集群所需处理能力计算出所需web服务器数量;
s5.再根据web服务集群中所需web服务器数量与运行web服务器数量的关系进行物理服务器的开启或关闭。
2.如权利要求1所述的web服务器调度方法,其特征在于,步骤s1中运行的web服务器的数量为n;
步骤s2具体步骤如下:
s21.设置每个web服务器i的处理能力为cpu[i],web服务器的cpu主频为f,web服务器的核心数量为n,则cpu[i]=f*n;
s22.计算web服务集群的整体处理能力cpu[sum]=cpu[1] cpu[2] …cpu[i];
s23.设置每个web服务器i的负载为load[i],load[i]=cpu[i]*use[i],其中use[i]为每个web服务器的系统资源使用率;
s24.设置web服务集群的整体负载为instantaneousload,instantaneousload=load[1] load[2] …load[i]。
3.如权利要求2所述的web服务器调度方法,其特征在于,步骤s3具体步骤如下:
s31.设定取样时间单位为每天,设定取样时间点为每天的m时刻,设定取样周期为s天;
s32.设置每天某个时刻的瞬时负载为instload[s],
instload[s]=(instload[s-1] ... instload[1])/s;
s33.设置某天、某时刻的web服务集群的瞬时负载值为instload[s][m],第s天m时刻的瞬时负载预测值为instload[s][m]=(instload[s-1][m] instload[s-2][m] ... instload[1][m])/s。
4.如权利要求3所述的web服务器调度方法,其特征在于,步骤s4具体步骤如下:
s41.获取外部客户访问需要,根据外部客户访问需求计算web服务集群的处理能力需求,再根据web服务集群的处理能力需要设置web服务集群处理能力余量比例reserve%;
s42.设置web服务集群的所需处理能力为cpuneed,
cpuneed=instload[s][m]*(1 reserve%);
s43.将每个web服务器的处理能力列出cpu[1]、cpu[2]…cpu[i],并确定出满足web服务集群的所需处理能力cpuneed的所需web服务器数量i。
5.如权利要求4所述的web服务器调度方法,其特征在于,步骤s5具体步骤如下:
s51.获取web服务集群中运行的web服务器数量n,并比较web服务集群中运行的web服务器数量n与所需web服务器数量i;
若i<n,进入步骤s52;
若i≥n,进入步骤s53;
s52.判定web服务集群的web服务器存在闲置,关闭n-i台web服务器,并验证是否关闭web服务器成功,结束;
s53.判定web服务集群的web服务器不满足需求,开启i-n台web服务器,并验证是否开启web服务器成功,结束。
6.如权利要求5所述的web服务器调度方法,其特征在于,步骤s52具体步骤如下:
s521.判定web服务集群的web服务器存在闲置;
s522.选择n-i台web服务器,对选定的n-i台web服务器关闭web服务;
s523.判断web服务是否关闭成功;
若是,进入步骤s524;
若否,返回步骤s522;
s524.对选定n-i台web服务器关闭物理服务器;
s525.判断关闭物理服务器是否成功;
若是,返回步骤s1;
若否,返回步骤s524。
7.如权利要求5所述的web服务器调度方法,其特征在于,步骤s53具体步骤如下:
s531.判定web服务集群的web服务器不满足需求;
s532.选择i-n台关闭的物理服务器,对选定的i-n台关闭的物理服务器进行开启
s532.判断开启物理服务器是否成功;
若是,进入步骤s533;
若否,返回步骤s532;
s533.对已开启的i-n台物理服务器开启web服务;
s534.判断开启web服务是否成功;
若是,返回步骤s1;
若否,返回步骤s534。
8.一种web服务器调度装置,其特征在于,包括:
运行web服务器获取模块(1),用于获取web服务集群中运行的web服务器及其数量;
web服务集群负载计算模块(2),用于计算每个web服务器的处理能力以及web服务集群的整体处理能力,并根据web服务器的整体处理能力计算web服务集群的整体负载;
web服务集群负载预测模块(3),用于设定取样时间单位、取样时间点及取样周期,在取样周期内每个取样时间单位的取样时间点对web服务集群的整体负载进行瞬时取样,得到web服务集群每个取样时间单位的瞬时负载,并根据web服务集群每个取样时间单位的瞬时负载对满足取样周期的web服务集群的瞬时负载进行预测;
所需web服务器数量计算模块(4),用于设置web服务集群处理能力余量比例,根据预测的web服务集群的瞬时负载及web服务集群处理能力余量比例计算web服务集群的所需处理能力,再根据web服务集群所需处理能力计算出所需web服务器数量;
物理服务器开关模块(5),用于再根据web服务集群中所需web服务器数量与运行web服务器数量的关系进行物理服务器的开启或关闭。
9.一种终端,其特征在于,
处理器、存储器,其中,该存储器用于存储计算机程序,该处理器用于从存储器中调用并运行该计算机程序,使得终端执行上述权利要求1-7任一项所述的方法。
10.一种存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述权利要求1-7任一项所述的方法。
技术总结