掌桥专利:专业的专利平台
掌桥专利
首页

任务调控装置、方法和系统

文献发布时间:2023-06-19 09:58:59


任务调控装置、方法和系统

技术领域

本发明涉及任务调度技术领域,尤其是涉及一种任务调控装置、方法和系统。

背景技术

服务器也称伺服器,通常是提供计算服务的设备,由于服务器需要响应服务请求并进行处理,因而服务器具备承担服务、保障服务的能力。

服务器集群通常包含有多台服务器,在对每台服务器下发服务任务时,通常采用随机下发或者根据每个服务器的评分进行下发的方式,但是当多个任务同时到达或者接收到密集的任务请求时,某些服务器可能会处于高负载状态,有些服务器则处于低负载状态,导致服务器压力不均衡,甚至可能引起处于高负载状态的服务器瘫痪、任务失败等。

发明内容

本发明的目的在于提供一种任务调控装置、方法和系统,以保证服务集群的负载均衡。

第一方面,本发明提供了一种任务调控装置,该装置包括依次连接的任务量采集模块、调控模块和任务分配模块;该任务量采集模块和任务分配模块还分别与服务器集群中的多个服务器连接;该任务量采集模块用于采集每个服务器的任务量,将该任务量发送至调控模块;该调控模块用于针对每个服务器的任务量,确定当前服务器所处的工作状态,并根据每个服务器的工作状态,确定需要调控的服务器和需要调控的服务器的任务调控量;任务分配模块用于根据调控模块确定的需要调控的服务器的任务调控量,对需要调控的服务器的任务量进行调整。

在可选的实施方式中,上述任务量采集模块采集的服务器的任务量包括:服务器正在处理的任务的数量与服务器中等待处理的任务的数量的总和。

在可选的实施方式中,上述调控模块还用于:针对每个述服务器的任务量,根据预设的任务量阈值范围,确定当前服务器的工作状态。

在可选的实施方式中,上述工作状态包括忙碌状态、适当状态和宽松状态;如果当前服务器的任务量小于任务量阈值范围的最小值,确定当前服务器处于宽松状态;如果当前服务器的任务量不小于任务量阈值范围的最小值,或者不大于任务量阈值范围的最大值,确定当前服务器处于适当状态;如果当前服务器的任务量大于任务量阈值范围的最大值,确定当前服务器处于忙碌状态。

在可选的实施方式中,上述工作状态包括忙碌状态、适当状态和宽松状态;需要调控的服务器包括需要减少任务量的服务器;上述根据每个服务器的工作状态,确定需要调控的服务器和需要调控的服务器的任务调控量的步骤,包括:判断多个服务器中是否存在处于忙碌状态的服务器;如果存在,将处于忙碌状态的服务器确定为需要减少任务量的服务器,将忙碌状态的服务器的任务量中,超出任务量阈值范围的最大值的任务量,确定为需要减少任务量的服务器的任务调控量。

在可选的实施方式中,需要调控的服务器还包括能够增加任务量的服务器;上述根据每个服务器的工作状态,确定需要调控的服务器和需要调控的服务器的任务调控量的步骤,包括:将多个服务器中处于宽松状态的服务器,确定为能够增加任务量的服务器,将任务量阈值范围的最大值与处于宽松状态的服务器的任务量的差值,确定为能够增加任务量的服务器的任务调控量;和/或,将多个服务器中处于适当状态的服务器,确定为能够增加任务量的服务器,将任务量阈值范围的最大值与处于适当状态的服务器的任务量的差值,确定为能够增加任务量的服务器的任务调控量。

在可选的实施方式中,上述需要调控的服务器包括需要减少任务量的服务器和能够增加任务量的服务器;上述任务分配模块,还用于:根据需要减少任务量的服务器的任务调控量和能够增加任务量的服务器的任务调控量,将需要减少任务量的服务器的任务调控量对应任务,分配至与需要减少任务量的服务器的任务处理类型相同的、能够增加任务量的服务器。

第二方面,本发明提供了一种任务调控方法,该方法包括:任务量采集模块采集每个服务器的任务量,将任务量发送至调控模块;上述调控模块针对每个服务器的任务量,确定当前服务器所处的工作状态,并根据每个服务器的工作状态,确定需要调控的服务器和需要调控的服务器的任务调控量;任务分配模块根据调控模块确定的需要调控的服务器的任务调控量,对需要调控的服务器的任务量进行调整。

第三方面,本发明提供了一种任务调控系统,该系统包括服务器集群和前述实施方式任一项所述的任务调控装置;该服务器集群中包含有多个服务器。

在可选的实施方式中,上述多个服务器包含有多种任务处理类型的服务器,包括:信息采集服务器、信息处理服务器和信息发送服务器。

本发明实施例带来了以下有益效果:

本发明提供的一种任务调控装置、方法和系统,该装置包括依次连接的任务量采集模块、调控模块和任务分配模块;首先任务量采集模块采集服务器集群中每个服务器的任务量,并将该任务量发送至调控模块;调控模块根据接收的服务器的任务量确定服务器所处的工作状态,并根据每个服务器的工作状态,确定需要调控的服务器和需要调控的服务器的任务调控量;进而任务分配模块根据调控模块确定的需要调控的服务器的任务调控量,对需要调控的服务器的任务量进行调整。该方式可以根据每个服务器的工作状态,对服务器的任务量进行调整,从而可以保证服务器之间任务分配均衡,避免出现处于高负载状态的服务器瘫痪、任务失败的现象,有利于提高任务的处理速度。

本发明的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本发明的上述技术即可得知。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施方式,并配合所附附图,作详细说明如下。

附图说明

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

图1为本发明实施例提供的一种任务调控装置的结构示意图;

图2为本发明实施例提供的一种服务器集群的结构示意图;

图3为本发明实施例提供的一种任务调控方法的流程图;

图4为本发明实施例提供的一种任务调控系统的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在服务器集群中对多个服务器进行任务调度时,会面临任务划分和负载均衡两方面的问题。相关技术中,在对每台服务器下发服务任务时,通常采用随机下发或者根据每个服务器的评分进行下发的方式,但是当多个任务同时到达或者接收到密集的任务请求时,某些服务器可能会处于高负载状态,有些服务器则处于低负载状态,导致服务器压力不均衡,甚至可能引起处于高负载状态的服务器瘫痪、任务失败等。

基于此,本发明实施例提供了一种任务调控装置、方法和系统,该技术可以应用于各种服务器集群的任务调度的场景中。为了便于对本发明实施例进行理解,本发明实施例提供了一种任务调控装置,如图1所示,该装置包括依次连接的任务量采集模块10、调控模块11和任务分配模块12;该任务量采集模块10和任务分配模块12还分别与服务器集群中的多个服务器连接。

上述任务量采集模块10用于采集每个服务器的任务量,将该任务量发送至调控模块11。在具体实现时,任务量采集模块10可以同时检测服务器集群中的每个服务器的任务量状态,并对检测到服务器的任务量进行采集,进而将采集到的每个服务器的任务量均反馈至调控模块11。

在一些实施例中,上述任务量采集模块10采集的服务器的任务量包括:服务器正在处理的任务的数量与服务器中等待处理的任务的数量的总和。可以理解为任务量采集模块10既需要采集服务器正在处理的任务的数量,又要采集等待该服务器处理的任务的数量,并将采集到的两种任务的数量的总和确定为服务器的任务量。

上述调控模块11用于针对每个服务器的任务量,确定当前服务器所处的工作状态,并根据每个服务器的工作状态,确定需要调控的服务器和需要调控的服务器的任务调控量。

在具体实现时,上述调控模块11可以接收任务量采集模块发送的每个服务器的工作状态,进而针对每个服务器,对当前服务器的任务量进行分析判断,确定该当前服务器所处的工作状态。该调控模块11还可以对各个服务器的任务进行调控,也即是确定出任务量相对较多的服务器和任务量相对较少的服务器,以将任务量相对较多的服务器的任务调取一部分到任务量相对较少的服务器中处理,使得服务器之间的工作任务平等分配,从而可以达到负载均衡的目的。

上述任务分配模块12用于根据调控模块11确定的需要调控的服务器的任务调控量,对需要调控的服务器的任务量进行调整,也可以理解为对需要调控的服务器的任务进行分配。

在具体实现时,上述调控模块11可以向任务分配模块12发送任务调控指令,该任务调控指令中携带有需要调控的服务器,以及需要调控的服务器的任务调控量;该任务分配模块12可以根据接收的任务调控指令,对需要调控的服务器的任务量进行调整。

进一步地,上述调控模块11还用于:针对每个服务器的任务量,根据预设的任务量阈值范围,确定当前服务器的工作状态。该任务量阈值范围可以根据用户需求设置,例如可以设置为50~80或者40-50等。

在具体实现时,上述工作状态可以包括忙碌状态、适当状态和宽松状态三种状态。当服务器处于忙碌状态时,服务器的任务量大、容易出现服务器过热甚至宕机;当服务器处于宽松状态时,服务器的任务量较小甚至闲置,体现不出服务器的价值;当服务器处于适当状态时,服务器的任务量适中。具体地,调控模块11可以将多个服务器中的每个服务器作为当前服务器,并通过下述步骤10-14确定当前服务器所处的工作状态:

步骤10,判断当前服务器的任务量是否小于任务量阈值范围的最小值;如果是,执行步骤11,否则,执行步骤12。

步骤11,确定当前服务器处于宽松状态。也可以理解为如果当前服务器的任务量小于任务量阈值范围的最小值,确定当前服务器处于宽松状态。

步骤12,判断当前服务器的任务量是否小于或者等于任务量阈值范围的最大值,如果是,执行步骤13;否则,执行步骤14。

步骤13,确定当前服务器处于适当状态。也可以理解为如果当前服务器的任务量不小于任务量阈值范围的最小值,或者不大于任务量阈值范围的最大值,确定当前服务器处于适当状态。

步骤14,确定当前服务器处于忙碌状态。也可以理解为如果当前服务器的任务量大于任务量阈值范围的最大值,确定当前服务器处于忙碌状态。

在一些实施例中,上述调控模块11确定的需要调控的服务器包括需要减少任务量的服务器;上述调控模块11根据每个服务器的工作状态,确定需要调控的服务器和需要调控的服务器的任务调控量的过程,包括下述步骤20-22:

步骤20,判断多个服务器中是否存在处于忙碌状态的服务器;如果存在,执行步骤21,否则,执行步骤22。

步骤21,将处于忙碌状态的服务器确定为需要减少任务量的服务器,将忙碌状态的服务器的任务量中,超出任务量阈值范围的最大值的任务量,确定为需要减少任务量的服务器的任务调控量。

步骤22,不做任何处理。

在具体实现时,上述调控模块11确定的需要调控的服务器不仅包括需要调控的服务器,还包括能够增加任务量的服务器;上述调控模块11确定能够增加任务量的服务器和能够增加任务量的服务器的任务调控量的方式包括:

方式一,将多个服务器中处于宽松状态的服务器,确定为能够增加任务量的服务器,将任务量阈值范围的最大值与处于宽松状态的服务器的任务量的差值,确定为能够增加任务量的服务器的任务调控量。

方式二,将多个服务器中处于适当状态的服务器,确定为能够增加任务量的服务器,将任务量阈值范围的最大值与处于适当状态的服务器的任务量的差值,确定为能够增加任务量的服务器的任务调控量。

方式三,根据方式一和方式二,确定能够增加任务量的服务器,以及能够增加任务量的服务器的任务调控量。

具体地,如果服务器集群中的所有服务器均处于宽松状态或者适当状态时,由于服务器处于宽松状态、适当状态不会对服务器造成影响,且处理速率较快,即使不处理,服务器对于任务处理也较快,因而,调控模块11可以不调控,从而减少任务调控的计算量。在一些实施例中,如果服务器集群中的所有服务器均处于宽松状态或者适当状态时,调控模块11也可以对服务器的工作任务调控,使得各个服务器的任务量相同或相近,例如,调控模块11可以根据每个服务器的任务量,确定任务量均值,将大于该任务量均值的服务器中的大于该任务量均值的任务量,分配至小于该任务量均值的服务器,以使小于该任务量均值的服务器的任务量接近或者等于该任务量均值。

当服务器集群中的所有服务器的任务处理类型相同时,如果服务器集群中存在服务器处于忙碌状态的服务器,调控模块11需要根据每个服务器的工作状态,确定需要减少任务量的服务器及其任务调控量,和能够增加任务量的服务器及其任务调控量。然后通过任务分配模块12将需要减少任务量的服务器的多余任务(这里多余任务相当于需要减少任务量的服务器的任务调控量)调出,并分配到能够增加任务量的服务器。

在一些实施例中,服务器集群中包含有多种任务处理类型的服务器,不同任务处理类型的服务器的功能不同,多个服务器协同分工,协同工作。例如,多种任务处理类型的服务器之前可以相互协作,共同完成一个待处理任务。多个服务器包含有多种任务处理类型的服务器,例如,信息采集服务器、信息处理服务器和信息发送服务器这三种,如图2所示为一种服务器集群的结构示意图。

当服务器集群中包含有多种任务处理类型的服务器时,调控模块11需要根据每个服务器的工作状态,确定每种任务处理类型的服务器中需要减少任务量的服务器及其任务调控量,和能够增加任务量的服务器及其任务调控量。然后通过任务分配模块12根据需要减少任务量的服务器的任务调控量和能够增加任务量的服务器的任务调控量,将需要减少任务量的服务器的任务调控量对应任务,分配至与需要减少任务量的服务器的任务处理类型相同的、能够增加任务量的服务器。也即是调控模块11通过任务分配模块12对需要处理的工作任务协调分配到不同的服务器,使得各个服务器之间处理的任务类型不同,从而能够快速对工作任务进行协同处理。

在一些实施例中,上述调控模块包括人工调控单元和电子调控单元,用户可以通过人工调控单元人为对服务器对应的工作任务进行调配,电子调控端可以由人工调控单元设定的调控方式对服务器对应的工作任务进行调配。其中,设定的调控方式可以包括平均分配任务量和按照服务器处理速度比例分配任务量两种方式,其中,比例分配任务量的方式为处理速度较快的服务器分配较多任务量。

本发明实施例提供的一种任务调控装置,首先任务量采集模块采集服务器集群中每个服务器的任务量,并将该任务量发送至调控模块;调控模块根据接收的服务器的任务量确定服务器所处的工作状态,并根据每个服务器的工作状态,确定需要调控的服务器和需要调控的服务器的任务调控量;进而任务分配模块根据调控模块确定的需要调控的服务器的任务调控量,对需要调控的服务器的任务量进行调整。该方式可以根据每个服务器的工作状态,对服务器的任务量进行调整,从而可以保证服务器之间任务分配均衡,避免出现处于高负载状态的服务器瘫痪、任务失败的现象,有利于提高任务的处理速度。

对应于上述装置实施例,本发明实施例提供了一种任务调控方法,如图3所示,该方法包括如下步骤:

步骤S302,任务量采集模块采集每个服务器的任务量,将任务量发送至调控模块。

步骤S304,调控模块针对每个服务器的任务量,确定当前服务器所处的工作状态,并根据每个服务器的工作状态,确定需要调控的服务器和需要调控的服务器的任务调控量。

步骤S306,任务分配模块根据调控模块确定的需要调控的服务器的任务调控量,对需要调控的服务器的任务量进行调整。

上述任务调控方法,首先任务量采集模块采集每个服务器的任务量,将任务量发送至调控模块,进而该调控模块针对每个服务器的任务量,确定当前服务器所处的工作状态,并根据每个服务器的工作状态,确定需要调控的服务器和需要调控的服务器的任务调控量;然后任务分配模块根据调控模块确定的需要调控的服务器的任务调控量,对需要调控的服务器的任务量进行调整。该方式根据每个服务器的工作状态,对服务器的任务量进行调整,从而可以保证服务器之间任务分配均衡,避免出现处于高负载状态的服务器瘫痪、任务失败的现象,有利于提高任务的处理速度。

本发明实施例所提供的任务调控方法,其实现原理及产生的技术效果和任务调控装置实施例相同,为简要描述,方法实施例部分未提及之处,可参考前述装置实施例中相应内容。

对应于上述装置实施例,本发明实施例提供了一种任务调控系统,如图4所示,该系统包括服务器集群40和上述任务调控装置41;该服务器集群中包含有多个服务器。

进一步地,上述多个服务器包含有多种任务处理类型的服务器,包括:信息采集服务器、信息处理服务器和信息发送服务器。

本发明实施例所提供的任务调控系统,其实现原理及产生的技术效果和任务调控装置实施例相同,为简要描述,系统实施例部分未提及之处,可参考前述装置实施例中相应内容。

本发明实施例所提供的任务调控装置、方法和系统的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,电子设备,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。

最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

相关技术
  • 任务调控装置、方法和系统
  • 一种任务的调控方法、系统、存储介质及电子设备
技术分类

06120112374792