一种服务器调度方法、装置和系统与流程

文档序号:11064828阅读:401来源:国知局
一种服务器调度方法、装置和系统与制造工艺

本发明涉及通信技术领域,具体涉及一种服务器调度方法、装置和系统。



背景技术:

服务器,作为提供计算服务的设备,由于需要响应服务请求,并进行处理,因此一般来说应具备承担服务并且保障服务的能力。但是,随着通信技术的发展,单一的服务器已经远远不足以提供高质量的服务,因此,现有技术提出了集群的概念。集群是一组相互独立的、通过高速网络互联的计算机,它们构成了一个组,并以单一系统的模式加以管理,由于集群系统的构建是模块化的,因此,可以将一个网际协议(IP,Internet Protocol)地址或一组IP地址的计算机的集合称为一个模块,即一个模块中可以包括至少一个计算机(服务器)。一个客户与集群相互作用时,集群像是一个独立的大服务器,而实际上,集群中的每一个模块中,又包括了多个独立的服务器,因此,如何对这些模块中的服务器进行合理的调度,是保障集群性能的一个极为重要的问题。

在传统技术中,一般都会采用轮询的方式来对模块中的服务器进行调度,即把每一次来自用户的请求轮流分配给内部中的服务器,但是这种方式会导致一些性能较差的服务器负载过大,而一些性能较好的服务器则资源过剩,因此,鉴于每个服务器的处理能力不同,现有技术又提出加权调度方案,即根据服务器的不同处理能力,给每个服务器分配不同的权值,使其接受相应权值数的服务请求。其中,权值指的是加权平均数中的每个数的频数,也称为权数或权重。

在对现有技术的研究和实践过程中,本发明的发明人发现,现有方案难以适应服务器运行过程中服务请求承载能力的非线性变化,因此,调度效果并不佳,影响处理效率。



技术实现要素:

本发明实施例提供一种服务器调度方法、装置和系统,可以根据服务器运行过程中服务请求承载能力的非线性变化灵活进行调度,改善调度效果,提高 处理效率。

本发明实施例提供一种服务器调度方法,包括:

获取集群模块内各服务器的初始调度权值;

采集所述各服务器的负载信息;

根据所述负载信息对所述初始调度权值进行调整,得到调整后调度权值;

将所述调整后调度权值分别发送给对应的服务器,以触发生效;

在生效后,根据所述调整后调度权值对各服务器进行任务调度。

相应的,本发明实施例还提供一种服务器调度装置,包括:

获取单元,用于获取集群模块内各服务器的初始调度权值;

采集单元,用于采集所述各服务器的负载信息;

调整单元,用于根据所述负载信息对所述初始调度权值进行调整,得到调整后调度权值;

发送单元,用于将所述调整后调度权值分别发送给对应的服务器,以触发生效;

调度单元,用于在生效后,根据所述调整后调度权值对各服务器进行任务调度。

此外,本发明实施例还提供一种服务器调度系统,包括本发明实施例所提供的任一种服务器调度装置。

本发明实施例采用获取集群模块内各服务器的初始调度权值,并采集各服务器的负载信息,然后根据负载信息对该初始调度权值进行调整,得到调整后调度权值,并基于该调整后调度权值对各服务器进行任务调度;由于该方案可以根据服务器的负载情况对调度权值进行调整,而服务器的负载情况,又可以反映出服务器在运行过程中服务请求承载能力的非线性变化,因此,可以更加灵活、准确合理地进行任务调度,使得集群模块可以时刻运行在自动平衡状态下,不会出现集群模块内服务器负载分离的场景,保障业务安全;而且,由于调度权值是由系统自动下发的,因此,可以降低由人工变更的成本和风险;总而言之,采用该方案,可以改善调度效果,以及提高处理效率和业务安全性。

附图说明

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

图1a是本发明实施例提供的服务器调度系统的场景示意图;

图1b是本发明实施例提供的服务器调度方法的流程图;

图2是本发明实施例提供的服务器调度方法的另一流程图;

图3a是本发明实施例提供的服务器调度装置的结构示意图;

图3b是本发明实施例提供的服务器调度装置的另一结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例提供一种服务器调度方法、装置和系统。

该服务器调度系统可以包括本发明实施例所提供的任一种服务器调度装置,如图1a所示,该服务器调度装置具体可以集成在用于调度的服务器如调度设备中。此外,该服务器调度系统还可以包括其他的设备,比如集群模块,其中,该集群模块可以包括多个服务器,比如应用服务器,这些服务器除了可以根据调度设备调度,接收相应的服务请求,并对服务请求进行处理之外,还可以将自身的初始调度权值和负载信息上报给调度设备。例如,具体可以如下:

调度设备获取集群模块内各服务器,如应用服务器的初始调度权值,并采集该各服务器的负载信息,然后,根据该负载信息对该初始调度权值进行调整,得到调整后调度权值,然后,基于该调整后调度权值对各服务器进行任务调度,比如,可以将该调整后调度权值分别发送给对应的服务器,以触发生效,在生效后,根据该调整后调度权值对各服务器进行任务调度,等等。

以下将分别进行详细说明。

实施例一、

本实施例将从服务器调度装置的角度进行描述,该服务器调度装置具体可以集成在调度设备或其他可以用于控制和调度的网络设备中。

一种服务器调度方法,包括:获取集群模块内各服务器的初始调度权值,采集该各服务器的负载信息,根据该负载信息对该初始调度权值进行调整,得到调整后调度权值,将该调整后调度权值分别发送给对应的服务器,以触发生效,在生效后,根据该调整后调度权值对各服务器进行任务调度。

如图1b所示,该服务器调度方法的具体流程可以如下:

101、获取集群模块内各服务器的初始调度权值。

其中,集群模块中各个服务器的初始调度权值可以预先进行设置,即在步骤“获取集群模块内各服务器的初始调度权值”之前,该服务器调度方法还可以包括:

设置集群模块内各服务器的初始调度权值。

比如,可以获取集群模块内各服务器的硬件信息,比如中央处理器(CPU,Central Processing Unit)、内存和/或网卡等的性能信息,然后,根据该硬件信息分别对各服务器初始调度权值进行设置。

102、采集该各服务器的负载信息。

其中,负载信息可以由各个服务器对自身在运行过程中的负载进行采集,得到负载采样值,然后将该负载采样值进行上报,即步骤“采集该各服务器的负载信息”可以包括:

接收各服务器在运行过程中所采集的负载采样值,从该负载采样值中确定最大负载采样值,并记录该最大负载采样值。

103、根据该负载信息对该初始调度权值进行调整,得到调整后调度权值。

其中,根据该负载信息对该初始调度权值进行调整的方式可以有多种,具体可以根据实际应用的需求而定,例如,具体可以如下:

确定当前需要进行调整的初始调度权值,得到第一权值,确定该第一权值所对应的服务器的负载采样值,得到第一负载采样值,计算该最大负载采样值和该第一负载采样值的比值,将第一权值乘以该比值,得到对应的调整后调度 权值,若用公式表示,则可以如下:

其中,wn为服务器n的初始调度权值(即第一权值),λmax为最大负载采样值,λn为服务器n的负载采样值(即第一负载采样值),w为调整后调度权值。其中,n为正整数。

以此类推,可以采用上述方法计算出各个服务器的调整后调度权值。

104、将该调整后调度权值分别发送给对应的服务器,以触发生效。

例如,在对初始调度权值w1进行调整之后,可以将得到的调整后调度权值发送给对应的服务器1,以对原初始调度权值w1进行更新,从而触发生效;在对初始调度权值w2进行调整之后,可以将得到的调整后调度权值发送给对应的服务器2,以对原初始调度权值w2进行更新,从而触发生效,依次类推,等等。

105、在生效后,根据该调整后调度权值对各服务器进行任务调度。

例如,具体可以根据调整后调度权值为各个服务器分配服务请求,使其接受相应权值数的服务请求,等等,在此不再赘述。

由上可知,本实施例采用获取集群模块内各服务器的初始调度权值,并采集各服务器的负载信息,然后根据负载信息对该初始调度权值进行调整,得到调整后调度权值,并基于该调整后调度权值对各服务器进行任务调度;由于该方案可以根据服务器的负载情况对调度权值进行调整,而服务器的负载情况,又可以反映出服务器在运行过程中服务请求承载能力的非线性变化,因此,可以更加灵活、准确合理地进行任务调度,使得集群模块可以时刻运行在自动平衡状态下,不会出现集群模块内服务器负载分离的场景,保障业务安全;而且,由于调度权值是由系统自动下发的,因此,可以降低由人工变更的成本和风险;总而言之,采用该方案,可以改善调度效果,以及提高处理效率和业务安全性。

实施例二、

根据实施例一所描述的方法,以下将举例作进一步详细说明。

在本实施例中,将以该服务器调度装置具体集成在调度设备为例进行说 明。

如图2所示,一种服务器调度方法,具体流程可以如下:

201、调度设备获取集群模块内各服务器的初始调度权值(w1w2…wn)

例如,调度设备可以接收集群模块在获取到各个服务器的初始调度权值后,统一上报的初始调度权值集合,其中,该初始调度权值集合包括各个服务器的初始调度权值。

或者,又例如,调度设备可以接收各个服务器分别发送的初始调度权值,比如,可以接收服务器1发送的初始调度权值w1,接收服务器2发送的初始调度权值w2,……,接收服务器n发送的初始调度权值wn,以此类推,等等。

其中,集群模块中各个服务器的初始调度权值(w1w2…wn)可以预先根据各个服务器的硬件信息,比如CPU、内存和/或网卡等的性能信息进行设置。

202、调度设备接收各服务器上报的负载采样值(λ1λ2…λn)。

例如,可以接收集群模块在获取到各个服务器上报的负载采样值之后,统一上报的负载采样值集合,其中,该负载采样值集合包括各个服务器的负载采样值;或者,也可以接收各个服务器分别上报的负载采样值,比如,可以接收服务器1上报的负载采样值λ1,接收服务器2上报的负载采样值λ2,……,接收服务器n上报的负载采样值λn,以此类推,等等。

其中,这些负载采样值由各个服务器对自身在运行过程中的负载进行采集所得。负载可以是某个预设时间点的负载,比如CPU、内存和/或网卡的使用情况等,也可以是某段时间的平均负载,比如在预设时间间隔内运行队列中的平均进程树,等等,在此不再赘述。

203、调度设备从这些负载采样值中确定最大负载采样值,并记录该最大负载采样值λmax

例如,如果接收到λ1,λ2,λ3和λ4,其中,λ1最大,则此时,可以确定λmax为λ1,并记录该λmax

204、调度设备根据该负载信息对这些初始调度权值(w1w2…wn)进行调整,得到调整后调度权值。例如,具体可以如下:

确定当前需要进行调整的初始调度权值,得到第一权值,确定该第一权值 所对应的服务器的负载采样值,得到第一负载采样值,计算该最大负载采样值和该第一负载采样值的比值,将第一权值乘以该比值,得到对应的调整后调度权值,若用公式表示,则为:

其中,wn为服务器n的初始调度权值(即第一权值),λmax为最大负载采样值,λn为服务器n的负载采样值(即第一负载采样值),w为调整后调度权值。其中,n为正整数。

以此类推,可以采用上述方法计算出各个服务器的调整后调度权值。

205、调度设备将该调整后调度权值分别发送给对应的服务器。

例如,在对初始调度权值w1进行调整之后,可以将得到的调整后调度权值发送给对应的服务器1;在对初始调度权值w2进行调整之后,可以将得到的调整后调度权值发送给对应的服务器2,依次类推,等等。

206、各个服务器在接收到该调整后调度权值后,根据该调整后调度权值对原初始调度权值进行更新并触发生效。

例如,服务器1在接收到调整后调度权值后,利用该调整后调度权值对原初始调度权值w1进行更新,从而触发生效;服务器2在接收到调整后调度权值后,利用该调整后调度权值对原初始调度权值w2进行更新,从而触发生效,依次类推,等等。

207、在生效后,调度设备根据该调整后调度权值对各服务器进行任务调度。

例如,具体可以根据调整后调度权值为各个服务器分配服务请求,使其接受相应权值数的服务请求,等等,在此不再赘述。

由上可知,本实施例采用获取集群模块内各服务器的初始调度权值,并采集各服务器的负载信息,然后根据负载信息对该初始调度权值进行调整,得到调整后调度权值,并基于该调整后调度权值对各服务器进行任务调度;由于该方案可以根据服务器的负载情况对调度权值进行调整,而服务器的负载情况,又可以反映出服务器在运行过程中服务请求承载能力的非线性变化,因此,可 以更加灵活、准确合理地进行任务调度,使得集群模块可以时刻运行在自动平衡状态下,不会出现集群模块内服务器负载分离的场景,保障业务安全;而且,由于调度权值是由系统自动下发的,因此,可以降低由人工变更的成本和风险;总而言之,采用该方案,可以改善调度效果,以及提高处理效率和业务安全性。

实施例三、

为了更好地实施以上方法,本发明实施例还提供一种服务器调度装置,如图3a所示,该服务器调度装置包括获取单元301、采集单元302、调整单元303、发送单元304和调度单元305,如下:

获取单元301,用于获取集群模块内各服务器的初始调度权值。

采集单元302,用于采集该各服务器的负载信息。

调整单元303,用于根据该负载信息对该初始调度权值进行调整,得到调整后调度权值。

发送单元304,用于将该调整后调度权值分别发送给对应的服务器,以触发生效。

例如,在对初始调度权值w1进行调整之后,发送单元304可以将得到的调整后调度权值发送给对应的服务器1,以对原初始调度权值w1进行更新,从而触发生效;在对初始调度权值w2进行调整之后,发送单元304可以将得到的调整后调度权值发送给对应的服务器2,以对原初始调度权值w2进行更新,从而触发生效,依次类推,等等。

调度单元305,用于在生效后,根据该调整后调度权值对各服务器进行任务调度。

例如,调度单元305具体可以根据调整后调度权值为各个服务器分配服务请求,使其接受相应权值数的服务请求,等等,在此不再赘述。

其中,负载信息可以由各个服务器对自身在运行过程中的负载进行采集,得到负载采样值,然后将该负载采样值进行上报,即:

该采集单元302,具体可以用于接收该各服务器在运行过程中所采集的负载采样值,从该负载采样值中确定最大负载采样值,并记录该最大负载采样值。

其中,根据该负载信息对该初始调度权值进行调整的方式可以有多种,具 体可以根据实际应用的需求而定,例如,具体可以如下:

该调整单元303,具体可以用于确定当前需要进行调整的初始调度权值,得到第一权值,确定该第一权值所对应的服务器的负载采样值,得到第一负载采样值,计算该最大负载采样值和该第一负载采样值的比值,将第一权值乘以该比值,得到对应的调整后调度权值,若用公式表示,则可以如下:

其中,wn为服务器n的初始调度权值(即第一权值),λmax为最大负载采样值,λn为服务器n的负载采样值(即第一负载采样值),w为调整后调度权值。其中,n为正整数。

以此类推,可以采用上述方法计算出各个服务器的调整后调度权值。

其中,集群模块中各个服务器的初始调度权值可以预先进行设置,即如图3b所示,该服务器调度装置还可以包括设置单元306,如下:

设置单元306,用于设置集群模块内各服务器的初始调度权值。

例如,该设置单元306,具体可以用于获取集群模块内各服务器的硬件信息,根据该硬件信息分别对各服务器初始调度权值进行设置。

其中,硬件信息可以包括CPU内存和/或网卡等的性能信息。

具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。

该服务器调度装置具体可以集成在调度设备或其他可以用于控制和调度的网络设备中。

由上可知,本实施例的服务器调度装置的获取单元301可以获取集群模块内各服务器的初始调度权值,并由采集单元302采集各服务器的负载信息,然后由调整单元303根据负载信息对该初始调度权值进行调整,得到调整后调度权值,并由调度单元305基于该调整后调度权值对各服务器进行任务调度;由于该方案可以根据服务器的负载情况对调度权值进行调整,而服务器的负载情况,又可以反映出服务器在运行过程中服务请求承载能力的非线性变化,因此, 可以更加灵活、准确合理地进行任务调度,使得集群模块可以时刻运行在自动平衡状态下,不会出现集群模块内服务器负载分离的场景,保障业务安全;而且,由于调度权值是由系统自动下发的,因此,可以降低由人工变更的成本和风险;总而言之,采用该方案,可以改善调度效果,以及提高处理效率和业务安全性。

实施例四、

此外,本发明实施例还提供一种服务器调度系统,包括本发明实施例所提供的任一种服务器调度装置,具体可以参见实施例三。其中,该服务器调度装置可以集成在调度设备中,例如,可以如下:

调度设备,用于获取集群模块内各服务器的初始调度权值,采集该各服务器的负载信息,根据该负载信息对该初始调度权值进行调整,得到调整后调度权值,将该调整后调度权值分别发送给对应的服务器,以触发生效,在生效后,根据该调整后调度权值对各服务器进行任务调度。

例如,该调度设备,具体可以用于获取集群模块内各服务器的初始调度权值,以及接收各服务器在运行过程中所采集的负载采样值,从该负载采样值中确定最大负载采样值,并记录该最大负载采样值,然后,确定当前需要进行调整的初始调度权值,得到第一权值,确定该第一权值所对应的服务器的负载采样值,得到第一负载采样值,计算该最大负载采样值和该第一负载采样值的比值,将第一权值乘以该比值,得到对应的调整后调度权值,具体如下:

其中,wn为服务器n的初始调度权值(即第一权值),λmax为最大负载采样值,λn为服务器n的负载采样值(即第一负载采样值),w为调整后调度权值。其中,n为正整数。

该服务器调度系统还可以包括其他的设备,比如集群模块,其中,该集群模块可以包括多个服务器,如下:

服务器,用于将自身的初始调度权值和负载信息上报给调度设备,以及根据调度设备调度,接收相应的服务请求,并对服务请求进行处理

以上各个设备的具体实施可参见前面的实施例,在此不再赘述。

由于该服务器调度系统可以包括本发明实施例所提供的任一种服务器调度装置,因此,可以实现本发明实施例所提供的任一种服务器调度装置所能实现的有益效果,详见前面的实施例,在此不再赘述。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。

以上对本发明实施例所提供的一种服务器调度方法、装置和系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

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