CN109144699A - 分布式任务调度方法、装置及*** - Google Patents

分布式任务调度方法、装置及*** Download PDF

Info

Publication number
CN109144699A
CN109144699A CN201811013329.6A CN201811013329A CN109144699A CN 109144699 A CN109144699 A CN 109144699A CN 201811013329 A CN201811013329 A CN 201811013329A CN 109144699 A CN109144699 A CN 109144699A
Authority
CN
China
Prior art keywords
server
task
resource information
operation resource
passes
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201811013329.6A
Other languages
English (en)
Inventor
朱晓峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advanced New Technologies Co Ltd
Advantageous New Technologies Co Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201811013329.6A priority Critical patent/CN109144699A/zh
Publication of CN109144699A publication Critical patent/CN109144699A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本说明书一个或多个实施例公开了一种分布式任务调度方法、装置及***,用以实现在分布式环境下调度任务的性能的优化。所述方法包括:采集服务器集群中各服务器的运行资源信息;其中,所述服务器集群采用分布式部署所述各服务器;根据所述运行资源信息,确定对所述各服务器进行任务调度的任务调度策略;根据所述任务调度策略,分别对所述各服务器进行相应的任务调度。

Description

分布式任务调度方法、装置及***
技术领域
本说明书涉及网络设备领域,尤其涉及一种分布式任务调度方法、装置及***。
背景技术
传统的分布式任务调度***采用分时分片的方式对待处理任务进行调度,即基于时间维度对任务进行定时定量的调度。然而,在大规模的分布式环境下,由于对任务调度的策略要求更高,处理执行复杂度也更高,传统的任务调度方式已很难适应复杂的大规模分布式环境,容易导致调度任务性能得不到实时优化。
发明内容
本说明书一个或多个实施例的目的是提供一种分布式任务调度方法、装置及***,用以实现在分布式环境下调度任务的性能的优化。
为解决上述技术问题,本说明书一个或多个实施例是这样实现的:
一方面,本说明书一个或多个实施例提供一种分布式任务调度,包括:
采集服务器集群中各服务器的运行资源信息;其中,所述服务器集群采用分布式部署所述各服务器;
根据所述运行资源信息,确定对所述各服务器进行任务调度的任务调度策略;
根据所述任务调度策略,分别对所述各服务器进行相应的任务调度。
在一个实施例中,所述运行资源信息包括所述服务器对应的线程池中的第一线程数、当前所执行任务的CPU占用率、负载均值、内存占用率、数据库连接池的连接状况、当前服务响应时间中的至少一项信息。
在一个实施例中,所述任务调度策略包括降低所述第一线程数;
相应的,所述根据所述运行资源信息,确定对所述各服务器进行任务调度的任务调度策略,包括:
若所述运行资源信息满足预设降级条件,则降低所述第一线程数;其中,所述预设降级条件包括以下至少一项:
所述第一线程数大于第一预设阈值;
所述CPU占用率大于第二预设阈值;
所述负载均值大于第三预设阈值;
所述内存占用率大于第四预设阈值;
所述数据连接池的连接数大于第五预设阈值;
所述当前服务响应时间大于第六预设阈值。
在一个实施例中,所述降低所述第一线程数,包括:
将所述第一线程数降低第一预设数量,得到第二线程数;
若所述服务器对应的运行资源信息仍满足所述预设降级条件,则继续将所述第二线程数降低第二预设数量,直至所述服务器对应的运行资源信息不满足所述预设降级条件。
在一个实施例中,所述降低所述第一线程数之后,还包括:
确定调度后的所述服务器对应的线程数为第三线程数;
根据所述第三线程数重新确定所述服务器对应的任务并发量;
根据所述任务并发量捞取相应数量的任务。
另一方面,本说明书一个或多个实施例提供一种分布式任务调度装置,包括:
采集模块,用于采集服务器集群中各服务器的运行资源信息;其中,所述服务器集群采用分布式部署所述各服务器;
确定模块,用于根据所述运行资源信息,确定对所述各服务器进行任务调度的任务调度策略;
调度模块,用于根据所述任务调度策略,分别对所述各服务器进行相应的任务调度。
在一个实施例中,所述运行资源信息包括所述服务器对应的线程池中的第一线程数、当前所执行任务的CPU占用率、负载均值、内存占用率、数据库连接池的连接状况、当前服务响应时间中的至少一项信息。
在一个实施例中,所述任务调度策略包括降低所述第一线程数;
相应的,所述确定模块包括:
降低单元,用于若所述运行资源信息满足预设降级条件,则降低所述第一线程数;其中,所述预设降级条件包括以下至少一项:
所述第一线程数大于第一预设阈值;
所述CPU占用率大于第二预设阈值;
所述负载均值大于第三预设阈值;
所述内存占用率大于第四预设阈值;
所述数据连接池的连接数大于第五预设阈值;
所述当前服务响应时间大于第六预设阈值。
在一个实施例中,所述降低单元还用于:
将所述第一线程数降低第一预设数量,得到第二线程数;
若所述服务器对应的运行资源信息仍满足所述预设降级条件,则继续将所述第二线程数降低第二预设数量,直至所述服务器对应的运行资源信息不满足所述预设降级条件。
在一个实施例中,所述确定模块还包括:
第一确定单元,用于所述降低所述第一线程数之后,确定调度后的所述服务器对应的线程数为第三线程数;
第二确定单元,用于根据所述第三线程数重新确定所述服务器对应的任务并发量;
捞取单元,用于根据所述任务并发量捞取相应数量的任务。
再一方面,本说明书一个或多个实施例提供一种分布式任务调度***,包括服务器集群、任务调度设备及客户端集群;其中:
所述服务器集群采用分布式部署多个服务器;
所述客户端集群包含多个客户端,各所述客户端分别对应各自的任务;
所述任务调度设备包括:
调度采集组件,用于采集服务器集群中各服务器的运行资源信息;
调度策略组件,用于根据所述运行资源信息,确定对所述各服务器进行任务调度的任务调度策略;根据所述任务调度策略,分别对所述各服务器进行相应的任务调度。
再一方面,本说明书一个或多个实施例提供一种分布式任务调度设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:
采集服务器集群中各服务器的运行资源信息;其中,所述服务器集群采用分布式部署所述各服务器;
根据所述运行资源信息,确定对所述各服务器进行任务调度的任务调度策略;
根据所述任务调度策略,分别对所述各服务器进行相应的任务调度。
再一方面,本申请实施例提供一种存储介质,用于存储计算机可执行指令,所述可执行指令在被执行时实现以下流程:
采集服务器集群中各服务器的运行资源信息;其中,所述服务器集群采用分布式部署所述各服务器;
根据所述运行资源信息,确定对所述各服务器进行任务调度的任务调度策略;
根据所述任务调度策略,分别对所述各服务器进行相应的任务调度。
采用本说明书一个或多个实施例的技术方案,通过采集服务器集群中各服务器的运行资源信息,并根据各服务器的运行资源信息确定对各服务器进行任务调度的任务调度策略,进而根据任务调度策略分别对各服务器进行相应的任务调度。因此,该技术方案相较于传统的基于时间维度的任务调度方式而言,能够基于资源维度进行弹性任务调度,从而实现任务的弹性扩容;并且,该技术方案由于能够基于资源维度分别对各服务器进行任务调度,因此实现了有针对性地对各服务器进行动态调度的目的,从而使得任务调度的性能得以优化,任务的可用性得以提升。
附图说明
为了更清楚地说明本说明书一个或多个实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书一个或多个实施例中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是根据本说明书一实施例的一种分布式任务调度***的示意性场景图;
图2是根据本说明书一实施例的一种分布式任务调度方法的示意性流程图;
图3是根据本说明书一实施例的一种分布式任务调度装置的示意性框图;
图4是根据本说明书一实施例的一种分布式任务调度***的示意性框图;
图5是根据本说明书一具体实施例的一种分布式任务调度场景图;
图6是根据本说明书一实施例的一种分布式任务调度设备的示意性框图。
具体实施方式
本说明书一个或多个实施例提供一种分布式任务调度方法、装置及***,用以实现在分布式环境下调度任务的性能的优化。
为了使本技术领域的人员更好地理解本说明书一个或多个实施例中的技术方案,下面将结合本说明书一个或多个实施例中的附图,对本说明书一个或多个实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书一个或多个实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书一个或多个实施例保护的范围。
本说明书一个或多个实施例提供的分布式任务调度方法,应用于如图1所示的分布式任务调度***中。如图1所示,分布式任务调度***包括服务器集群110、任务调度设备120及客户端集群130;其中,服务器集群110中采用分布式方式部署多个服务器,客户端集群130中包括多个客户端。需要说明的是,图1中所示服务器及客户端的数量仅为示意性的列举,并不代表真实的服务器及客户端的数量。
以下具体说明可用于图1所示的分布式任务调度***的分布式任务调度方法。
图2是根据本说明书一实施例的一种分布式任务调度方法的示意性流程图,如图2所示,该方法包括:
S202,采集服务器集群中各服务器的运行资源信息;其中,服务器集群采用分布式部署各服务器。
其中,运行资源信息包括服务器对应的线程池中的线程数、当前所执行任务的CPU占用率、负载均值、内存占用率、数据库连接池的连接状况、当前服务响应时间中的至少一项信息。
该步骤中,可通过采集linux内核日志、应用日志、应用服务等数据获取运行资源信息。
S204,根据运行资源信息,确定对各服务器进行任务调度的任务调度策略。
S206,根据任务调度策略,分别对各服务器进行相应的任务调度。
采用本说明书一个或多个实施例的技术方案,通过采集服务器集群中各服务器的运行资源信息,并根据各服务器的运行资源信息确定对各服务器进行任务调度的任务调度策略,进而根据任务调度策略分别对各服务器进行相应的任务调度。因此,该技术方案相较于传统的基于时间维度的任务调度方式而言,能够基于资源维度进行弹性任务调度,从而实现任务的弹性扩容;并且,该技术方案由于能够基于资源维度分别对各服务器进行任务调度,因此实现了有针对性地对各服务器进行动态调度的目的,从而使得任务调度的性能得以优化,任务的可用性得以提升。
在一个实施例中,任务调度策略包括降低服务器对应的线程池中的线程数。本实施例可按照如下方式确定对各服务器进行任务调度的任务调度策略:
若运行资源信息满足预设降级条件,则降低服务器对应的线程池中的线程数;其中,预设降级条件包括以下中的一项或多项:
(1)服务器对应的线程池中的线程数大于第一预设阈值;
(2)当前所执行任务的CPU占用率大于第二预设阈值;
(3)负载均值大于第三预设阈值;
(4)内存占用率大于第四预设阈值;
(5)数据连接池的连接数大于第五预设阈值;
(6)当前服务响应时间大于第六预设阈值。
举例而言,总线程数为20,服务器集群中分布式部署4个服务器,那么初始状态下,各服务器默认分配有5个线程(即总线程数/实际运行的服务器数量)。运行过程中,分布式任务调度***采集各服务器的运行资源信息,并根据运行资源信息实时调度各服务器的线程数。
具体的,假设各服务器对应的线程池中线程数的最大值(即第一预设阈值)为8,若采集到的运行资源信息中,某个服务器对应的线程池中的线程数为9,即该线程数大于第一预设阈值,那么此时应降低该服务器对应的线程池中的线程数。
假设当前所执行任务的CPU占用率的最大值(即第二预设阈值)为60%,若采集到的运行资源信息中,某个服务器当前所执行任务的CPU占用率为70%、且为其分配的线程数为9,即该服务器当前所执行任务的CPU占用率大于第二预设阈值、且对应的线程池中的线程数大于第一预设阈值,那么此时应降低该服务器对应的线程池中的线程数。
假设当前服务响应时间的最大值(即第六预设阈值)为500ms。若采集到的运行资源信息中,某个服务器的当前服务响应时间达到1m,即该服务器的当前服务响应时间大于第六预设阈值,那么此时应降低该服务器对应的线程池中的线程数。
由上述几个例子可看出,本实施例的技术方案相较于传统的基于时间维度的任务调度方式而言,能够基于资源维度分别对各服务器进行任务调度,因此实现了有针对性地对各服务器进行动态调度的目的,从而使得任务调度的性能得以优化,任务的可用性得以提升。
在一个实施例中,降低服务器对应的线程池中的线程数时,可将服务器对应的线程池中的线程数先降低第一预设数量,并继续判断服务器对应的运行资源信息是否仍满足预设降级条件,若仍满足,则继续将线程数降低第二预设数量,直至服务器对应的运行资源信息不满足预设降级条件。
其中,第一预设数量和第二预设数量可以相等,也可以不相等。例如,第一预设数量为2,第二预设数量为1,将服务器对应的线程池中的线程数降低第一预设数量(即减2)后,若该服务器对应的运行资源信息仍满足预设降级条件,则继续将该服务器对应的线程池中的线程数降低第二预设数量(即减1)。此时可继续判断服务器对应的运行资源信息是否仍满足预设降级条件,并根据判断结果确定是否继续降低该服务器对应的线程池中的线程数。
在一个实施例中,降低服务器对应的线程池中的线程数之后,可确定调度后的服务器对应的线程数,并根据调度后的服务器对应的线程数重新确定该服务器对应的任务并发量,进而根据任务并发量捞取相应数量的任务。
本实施例中,能够根据调度后的服务器对应的线程数重新确定并捞取任务并发量,使得动态调度任务后的服务器与其所捞取的任务并发量相匹配,从而提升任务的可用性,避免捞取任务并发量过多时无法及时处理任务的问题。
综上,已经对本主题的特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作可以按照不同的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序,以实现期望的结果。在某些实施方式中,多任务处理和并行处理可以是有利的。
以上为本说明书一个或多个实施例提供的分布式任务调方法,基于同样的思路,本说明书一个或多个实施例还提供一种分布式任务调度装置。
图3是根据本说明书一实施例的一种分布式任务调度装置的示意性框图,如图3所示,分布式任务调度装置300包括:
采集模块310,用于采集服务器集群中各服务器的运行资源信息;其中,服务器集群采用分布式部署各服务器;
确定模块320,用于根据运行资源信息,确定对各服务器进行任务调度的任务调度策略;
调度模块330,用于根据任务调度策略,分别对各服务器进行相应的任务调度。
在一个实施例中,运行资源信息包括服务器对应的线程池中的第一线程数、当前所执行任务的CPU占用率、负载均值、内存占用率、数据库连接池的连接状况、当前服务响应时间中的至少一项信息。
在一个实施例中,任务调度策略包括降低第一线程数;
相应的,确定模块320包括:
降低单元,用于若运行资源信息满足预设降级条件,则降低第一线程数;其中,预设降级条件包括以下至少一项:
第一线程数大于第一预设阈值;
CPU占用率大于第二预设阈值;
负载均值大于第三预设阈值;
内存占用率大于第四预设阈值;
数据连接池的连接数大于第五预设阈值;
当前服务响应时间大于第六预设阈值。
在一个实施例中,降低单元还用于:
将第一线程数降低第一预设数量,得到第二线程数;
若服务器对应的运行资源信息仍满足预设降级条件,则继续将第二线程数降低第二预设数量,直至服务器对应的运行资源信息不满足预设降级条件。
在一个实施例中,确定模块320还包括:
第一确定单元,用于降低第一线程数之后,确定调度后的服务器对应的线程数为第三线程数;
第二确定单元,用于根据第三线程数重新确定服务器对应的任务并发量;
捞取单元,用于根据任务并发量捞取相应数量的任务。
采用本说明书一个或多个实施例的装置,通过采集服务器集群中各服务器的运行资源信息,并根据各服务器的运行资源信息确定对各服务器进行任务调度的任务调度策略,进而根据任务调度策略分别对各服务器进行相应的任务调度。因此,该技术方案相较于传统的基于时间维度的任务调度方式而言,能够基于资源维度进行弹性任务调度,从而实现任务的弹性扩容;并且,该技术方案由于能够基于资源维度分别对各服务器进行任务调度,因此实现了有针对性地对各服务器进行动态调度的目的,从而使得任务调度的性能得以优化,任务的可用性得以提升。
基于同样的思路,本说明书一个或多个实施例还提供一种分布式任务调度***。
图4是根据本说明书一实施例的一种分布式任务调度***的示意性框图,如图4所示,分布式任务调度***包括服务器集群410、任务调度设备420及客户端集群430;其中:
服务器集群410采用分布式部署多个服务器;
客户端集群430包含多个客户端,各客户端分别对应各自的任务;
任务调度设备420包括:
调度采集组件421,用于采集服务器集群410中各服务器的运行资源信息;
调度策略组件422,用于根据运行资源信息,确定对各服务器进行任务调度的任务调度策略;根据任务调度策略,分别对各服务器进行相应的任务调度。
在一个实施例中,运行资源信息包括服务器对应的线程池中的第一线程数、当前所执行任务的CPU占用率、负载均值、内存占用率、数据库连接池的连接状况、当前服务响应时间中的至少一项信息。
在一个实施例中,任务调度策略包括降低第一线程数;
相应的,调度策略组件422还用于:
若运行资源信息满足预设降级条件,则降低第一线程数;其中,预设降级条件包括以下至少一项:
第一线程数大于第一预设阈值;
CPU占用率大于第二预设阈值;
负载均值大于第三预设阈值;
内存占用率大于第四预设阈值;
数据连接池的连接数大于第五预设阈值;
当前服务响应时间大于第六预设阈值。
在一个实施例中,调度策略组件422还用于:
将第一线程数降低第一预设数量,得到第二线程数;
若服务器对应的运行资源信息仍满足预设降级条件,则继续将第二线程数降低第二预设数量,直至服务器对应的运行资源信息不满足预设降级条件。
在一个实施例中,调度策略组件422还用于:
降低第一线程数之后,确定调度后的服务器对应的线程数为第三线程数;
根据第三线程数重新确定服务器对应的任务并发量;
根据任务并发量捞取相应数量的任务。
采用本说明书一个或多个实施例的***,通过采集服务器集群中各服务器的运行资源信息,并根据各服务器的运行资源信息确定对各服务器进行任务调度的任务调度策略,进而根据任务调度策略分别对各服务器进行相应的任务调度。因此,该技术方案相较于传统的基于时间维度的任务调度方式而言,能够基于资源维度进行弹性任务调度,从而实现任务的弹性扩容;并且,该技术方案由于能够基于资源维度分别对各服务器进行任务调度,因此实现了有针对性地对各服务器进行动态调度的目的,从而使得任务调度的性能得以优化,任务的可用性得以提升。
以图5所示场景为例。图5示出了两地三中心场景下,分布式任务调度***的协同、检测、恢复能力的体现。在图5中,两地三中心的多机房部署模式,包括本地机房A、本地机房B和异地机房C。分布式任务调度服务510分别设于各机房间,并通过各机房中的应用层520定时同步动态调度任务数据。具体的,分布式任务调度服务510根据各机房的运行资源信息确定出任务调度策略,任务调度策略数据通过服务层(即分布式任务调度服务510)实时同步,而进一步的任务运行数据则通过数据库DB层530主备方式同步。当本地机房或异地机房由于某种不可抗力暂时无法提供时,由备份机房或多活机房提供服务,此时备份机房对于之前同步的宕机机房任务数据按照独立的任务方式处理,分布式任务调度策略服务根据当前机房的整体运行资源信息进行再分配处理,保障在机房级的容灾能力。
本领域的技术人员应可理解,上述分布式任务调度装置、分布式任务调度装置***能够用来实现前文所述的分布式任务调度方法,其中的细节描述应与前文方法部分描述类似,为避免繁琐,此处不另赘述。
基于同样的思路,本说明书一个或多个实施例还提供一种分布式任务调度设备,如图6所示。分布式任务调度设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上的处理器601和存储器602,存储器602中可以存储有一个或一个以上存储应用程序或数据。其中,存储器602可以是短暂存储或持久存储。存储在存储器602的应用程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括对分布式任务调度设备中的一系列计算机可执行指令。更进一步地,处理器601可以设置为与存储器602通信,在分布式任务调度设备上执行存储器602中的一系列计算机可执行指令。分布式任务调度设备还可以包括一个或一个以上电源603,一个或一个以上有线或无线网络接口604,一个或一个以上输入输出接口605,一个或一个以上键盘606。
具体在本实施例中,分布式任务调度设备包括有存储器,以及一个或一个以上的程序,其中一个或者一个以上程序存储于存储器中,且一个或者一个以上程序可以包括一个或一个以上模块,且每个模块可以包括对分布式任务调度设备中的一系列计算机可执行指令,且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序包含用于进行以下计算机可执行指令:
采集服务器集群中各服务器的运行资源信息;其中,所述服务器集群采用分布式部署所述各服务器;
根据所述运行资源信息,确定对所述各服务器进行任务调度的任务调度策略;
根据所述任务调度策略,分别对所述各服务器进行相应的任务调度。
可选地,所述运行资源信息包括所述服务器对应的线程池中的第一线程数、当前所执行任务的CPU占用率、负载均值、内存占用率、数据库连接池的连接状况、当前服务响应时间中的至少一项信息。
可选地,所述任务调度策略包括降低所述第一线程数;
相应的,计算机可执行指令在被执行时,还可以使所述处理器:
若所述运行资源信息满足预设降级条件,则降低所述第一线程数;其中,所述预设降级条件包括以下至少一项:
所述第一线程数大于第一预设阈值;
所述CPU占用率大于第二预设阈值;
所述负载均值大于第三预设阈值;
所述内存占用率大于第四预设阈值;
所述数据连接池的连接数大于第五预设阈值;
所述当前服务响应时间大于第六预设阈值。
可选地,计算机可执行指令在被执行时,还可以使所述处理器:
将所述第一线程数降低第一预设数量,得到第二线程数;
若所述服务器对应的运行资源信息仍满足所述预设降级条件,则继续将所述第二线程数降低第二预设数量,直至所述服务器对应的运行资源信息不满足所述预设降级条件。
可选地,计算机可执行指令在被执行时,还可以使所述处理器:
所述降低所述第一线程数之后,确定调度后的所述服务器对应的线程数为第三线程数;
根据所述第三线程数重新确定所述服务器对应的任务并发量;
根据所述任务并发量捞取相应数量的任务。
本说明书一个或多个实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的电子设备执行时,能够使该电子设备执行上述分布式任务调度方法,并具体用于执行:
采集服务器集群中各服务器的运行资源信息;其中,所述服务器集群采用分布式部署所述各服务器;
根据所述运行资源信息,确定对所述各服务器进行任务调度的任务调度策略;
根据所述任务调度策略,分别对所述各服务器进行相应的任务调度。
上述实施例阐明的***、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书一个或多个实施例时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本说明书一个或多个实施例可提供为方法、***、或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书一个或多个实施例是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本说明书一个或多个实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于***实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本说明书一个或多个实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书一个或多个实施例可以有各种更改和变化。凡在本说明书一个或多个实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例的权利要求范围之内。

Claims (13)

1.一种分布式任务调度方法,包括:
采集服务器集群中各服务器的运行资源信息;其中,所述服务器集群采用分布式部署所述各服务器;
根据所述运行资源信息,确定对所述各服务器进行任务调度的任务调度策略;
根据所述任务调度策略,分别对所述各服务器进行相应的任务调度。
2.根据权利要求1所述的方法,所述运行资源信息包括所述服务器对应的线程池中的第一线程数、当前所执行任务的CPU占用率、负载均值、内存占用率、数据库连接池的连接状况、当前服务响应时间中的至少一项信息。
3.根据权利要求2所述的方法,所述任务调度策略包括降低所述第一线程数;
相应的,所述根据所述运行资源信息,确定对所述各服务器进行任务调度的任务调度策略,包括:
若所述运行资源信息满足预设降级条件,则降低所述第一线程数;其中,所述预设降级条件包括以下至少一项:
所述第一线程数大于第一预设阈值;
所述CPU占用率大于第二预设阈值;
所述负载均值大于第三预设阈值;
所述内存占用率大于第四预设阈值;
所述数据连接池的连接数大于第五预设阈值;
所述当前服务响应时间大于第六预设阈值。
4.根据权利要求3所述的方法,所述降低所述第一线程数,包括:
将所述第一线程数降低第一预设数量,得到第二线程数;
若所述服务器对应的运行资源信息仍满足所述预设降级条件,则继续将所述第二线程数降低第二预设数量,直至所述服务器对应的运行资源信息不满足所述预设降级条件。
5.根据权利要求3或4所述的方法,所述降低所述第一线程数之后,还包括:
确定调度后的所述服务器对应的线程数为第三线程数;
根据所述第三线程数重新确定所述服务器对应的任务并发量;
根据所述任务并发量捞取相应数量的任务。
6.一种分布式任务调度装置,包括:
采集模块,用于采集服务器集群中各服务器的运行资源信息;其中,所述服务器集群采用分布式部署所述各服务器;
确定模块,用于根据所述运行资源信息,确定对所述各服务器进行任务调度的任务调度策略;
调度模块,用于根据所述任务调度策略,分别对所述各服务器进行相应的任务调度。
7.根据权利要求6所述的装置,所述运行资源信息包括所述服务器对应的线程池中的第一线程数、当前所执行任务的CPU占用率、负载均值、内存占用率、数据库连接池的连接状况、当前服务响应时间中的至少一项信息。
8.根据权利要求7所述的装置,所述任务调度策略包括降低所述第一线程数;
相应的,所述确定模块包括:
降低单元,用于若所述运行资源信息满足预设降级条件,则降低所述第一线程数;其中,所述预设降级条件包括以下至少一项:
所述第一线程数大于第一预设阈值;
所述CPU占用率大于第二预设阈值;
所述负载均值大于第三预设阈值;
所述内存占用率大于第四预设阈值;
所述数据连接池的连接数大于第五预设阈值;
所述当前服务响应时间大于第六预设阈值。
9.根据权利要求8所述的装置,所述降低单元还用于:
将所述第一线程数降低第一预设数量,得到第二线程数;
若所述服务器对应的运行资源信息仍满足所述预设降级条件,则继续将所述第二线程数降低第二预设数量,直至所述服务器对应的运行资源信息不满足所述预设降级条件。
10.根据权利要求8或9所述的装置,所述确定模块还包括:
第一确定单元,用于所述降低所述第一线程数之后,确定调度后的所述服务器对应的线程数为第三线程数;
第二确定单元,用于根据所述第三线程数重新确定所述服务器对应的任务并发量;
捞取单元,用于根据所述任务并发量捞取相应数量的任务。
11.一种分布式任务调度***,包括服务器集群、任务调度设备及客户端集群;其中:
所述服务器集群采用分布式部署多个服务器;
所述客户端集群包含多个客户端,各所述客户端分别对应各自的任务;
所述任务调度设备包括:
调度采集组件,用于采集服务器集群中各服务器的运行资源信息;
调度策略组件,用于根据所述运行资源信息,确定对所述各服务器进行任务调度的任务调度策略;根据所述任务调度策略,分别对所述各服务器进行相应的任务调度。
12.一种分布式任务调度设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:
采集服务器集群中各服务器的运行资源信息;其中,所述服务器集群采用分布式部署所述各服务器;
根据所述运行资源信息,确定对所述各服务器进行任务调度的任务调度策略;
根据所述任务调度策略,分别对所述各服务器进行相应的任务调度。
13.一种存储介质,用于存储计算机可执行指令,所述可执行指令在被执行时实现以下流程:
采集服务器集群中各服务器的运行资源信息;其中,所述服务器集群采用分布式部署所述各服务器;
根据所述运行资源信息,确定对所述各服务器进行任务调度的任务调度策略;
根据所述任务调度策略,分别对所述各服务器进行相应的任务调度。
CN201811013329.6A 2018-08-31 2018-08-31 分布式任务调度方法、装置及*** Pending CN109144699A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811013329.6A CN109144699A (zh) 2018-08-31 2018-08-31 分布式任务调度方法、装置及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811013329.6A CN109144699A (zh) 2018-08-31 2018-08-31 分布式任务调度方法、装置及***

Publications (1)

Publication Number Publication Date
CN109144699A true CN109144699A (zh) 2019-01-04

Family

ID=64826178

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811013329.6A Pending CN109144699A (zh) 2018-08-31 2018-08-31 分布式任务调度方法、装置及***

Country Status (1)

Country Link
CN (1) CN109144699A (zh)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110012062A (zh) * 2019-02-22 2019-07-12 北京奇艺世纪科技有限公司 一种多机房任务调度方法、装置及存储介质
CN110018893A (zh) * 2019-03-12 2019-07-16 平安普惠企业管理有限公司 一种基于数据处理的任务调度方法及相关设备
CN110111458A (zh) * 2019-04-16 2019-08-09 深圳市多度科技有限公司 实现人脸布控的方法、***及门禁机
CN111367676A (zh) * 2020-03-30 2020-07-03 中国工商银行股份有限公司 一种分布式任务处理方法及装置
CN111782351A (zh) * 2019-07-18 2020-10-16 北京京东尚科信息技术有限公司 一种分布式任务调度的方法和装置
CN112732491A (zh) * 2021-01-22 2021-04-30 中国人民财产保险股份有限公司 数据处理***、基于数据处理***的业务数据处理方法
CN112910708A (zh) * 2021-02-07 2021-06-04 中国工商银行股份有限公司 分布式服务调用方法及装置
CN113014408A (zh) * 2019-12-19 2021-06-22 阿里巴巴集团控股有限公司 分布式***及其管理方法
CN113031870A (zh) * 2021-03-26 2021-06-25 山东英信计算机技术有限公司 一种集群***动态管理方法、装置、存储介质及设备
CN113094172A (zh) * 2021-04-01 2021-07-09 北京天融信网络安全技术有限公司 应用于分布式存储***的服务器管理方法和装置
CN113238846A (zh) * 2021-05-20 2021-08-10 浙江网商银行股份有限公司 任务调度的方法以及装置
CN113238861A (zh) * 2021-05-08 2021-08-10 北京天空卫士网络安全技术有限公司 一种任务执行方法和装置
CN113627280A (zh) * 2021-07-23 2021-11-09 中国科学院南京地理与湖泊研究所 基于视频监控设备的湖泊滨岸带蓝藻水华监测与分析方法
CN113778730A (zh) * 2021-01-28 2021-12-10 北京京东乾石科技有限公司 分布式***的服务降级方法和装置
CN115051997A (zh) * 2022-07-12 2022-09-13 中国电信股份有限公司 分布式资源调度的方法及装置、存储介质、电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103500121A (zh) * 2013-09-29 2014-01-08 深圳Tcl新技术有限公司 一种进程管理方法及装置
US20150180798A1 (en) * 2010-12-01 2015-06-25 Microsoft Technology Licensing, Llc Throttling usage of resources
CN105824691A (zh) * 2015-01-08 2016-08-03 平安科技(深圳)有限公司 动态调节线程的方法及装置
CN106998349A (zh) * 2016-10-18 2017-08-01 深圳大宇无限科技有限公司 多线程下载方法和装置
CN107220033A (zh) * 2017-07-05 2017-09-29 百度在线网络技术(北京)有限公司 用于控制线程池中线程数量的方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150180798A1 (en) * 2010-12-01 2015-06-25 Microsoft Technology Licensing, Llc Throttling usage of resources
CN103500121A (zh) * 2013-09-29 2014-01-08 深圳Tcl新技术有限公司 一种进程管理方法及装置
CN105824691A (zh) * 2015-01-08 2016-08-03 平安科技(深圳)有限公司 动态调节线程的方法及装置
CN106998349A (zh) * 2016-10-18 2017-08-01 深圳大宇无限科技有限公司 多线程下载方法和装置
CN107220033A (zh) * 2017-07-05 2017-09-29 百度在线网络技术(北京)有限公司 用于控制线程池中线程数量的方法和装置

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110012062A (zh) * 2019-02-22 2019-07-12 北京奇艺世纪科技有限公司 一种多机房任务调度方法、装置及存储介质
CN110012062B (zh) * 2019-02-22 2022-02-08 北京奇艺世纪科技有限公司 一种多机房任务调度方法、装置及存储介质
CN110018893A (zh) * 2019-03-12 2019-07-16 平安普惠企业管理有限公司 一种基于数据处理的任务调度方法及相关设备
WO2020181813A1 (zh) * 2019-03-12 2020-09-17 平安普惠企业管理有限公司 一种基于数据处理的任务调度方法及相关设备
CN110111458A (zh) * 2019-04-16 2019-08-09 深圳市多度科技有限公司 实现人脸布控的方法、***及门禁机
CN111782351A (zh) * 2019-07-18 2020-10-16 北京京东尚科信息技术有限公司 一种分布式任务调度的方法和装置
CN113014408A (zh) * 2019-12-19 2021-06-22 阿里巴巴集团控股有限公司 分布式***及其管理方法
CN113014408B (zh) * 2019-12-19 2023-04-25 阿里巴巴集团控股有限公司 分布式***及其管理方法
CN111367676A (zh) * 2020-03-30 2020-07-03 中国工商银行股份有限公司 一种分布式任务处理方法及装置
CN112732491A (zh) * 2021-01-22 2021-04-30 中国人民财产保险股份有限公司 数据处理***、基于数据处理***的业务数据处理方法
CN112732491B (zh) * 2021-01-22 2024-03-12 中国人民财产保险股份有限公司 数据处理***、基于数据处理***的业务数据处理方法
CN113778730A (zh) * 2021-01-28 2021-12-10 北京京东乾石科技有限公司 分布式***的服务降级方法和装置
CN113778730B (zh) * 2021-01-28 2024-04-05 北京京东乾石科技有限公司 分布式***的服务降级方法和装置
CN112910708B (zh) * 2021-02-07 2023-03-03 中国工商银行股份有限公司 分布式服务调用方法及装置
CN112910708A (zh) * 2021-02-07 2021-06-04 中国工商银行股份有限公司 分布式服务调用方法及装置
CN113031870A (zh) * 2021-03-26 2021-06-25 山东英信计算机技术有限公司 一种集群***动态管理方法、装置、存储介质及设备
CN113094172A (zh) * 2021-04-01 2021-07-09 北京天融信网络安全技术有限公司 应用于分布式存储***的服务器管理方法和装置
CN113238861A (zh) * 2021-05-08 2021-08-10 北京天空卫士网络安全技术有限公司 一种任务执行方法和装置
CN113238846A (zh) * 2021-05-20 2021-08-10 浙江网商银行股份有限公司 任务调度的方法以及装置
CN113627280A (zh) * 2021-07-23 2021-11-09 中国科学院南京地理与湖泊研究所 基于视频监控设备的湖泊滨岸带蓝藻水华监测与分析方法
CN115051997A (zh) * 2022-07-12 2022-09-13 中国电信股份有限公司 分布式资源调度的方法及装置、存储介质、电子设备
CN115051997B (zh) * 2022-07-12 2024-03-19 中国电信股份有限公司 分布式资源调度的方法及装置、存储介质、电子设备

Similar Documents

Publication Publication Date Title
CN109144699A (zh) 分布式任务调度方法、装置及***
CN110321329A (zh) 基于大数据的数据处理方法及装置
Tao et al. Dynamic resource allocation algorithm for container-based service computing
CN110362407A (zh) 计算资源调度方法及装置
CN107291546A (zh) 一种资源调度方法及装置
CN107766147A (zh) 分布式的数据分析任务调度***
CN107463434A (zh) 一种分布式任务处理方法与设备
CN107968810A (zh) 一种服务器集群的资源调度方法、装置和***
CN103309738A (zh) 用户作业调度方法及装置
CN108683692A (zh) 一种业务请求处理方法及装置
CN105491117B (zh) 面向实时数据分析的流式图数据处理***及方法
CN110471754A (zh) 作业调度中的数据展示方法、装置、设备及存储介质
CN108108248A (zh) 一种实现目标检测的cpu+gpu集群管理方法、装置及设备
CN112748993A (zh) 任务执行方法、装置、存储介质及电子设备
CN104717247A (zh) 对云存储***中存储资源的动态调度方法和***
CN109739627A (zh) 任务的调度方法、电子设备及介质
CN109343793A (zh) 数据迁移方法及装置
CN112905297A (zh) 容器集群资源调度方法和装置
CN110278257A (zh) 一种动态化配置分布式集群节点标签的方法
CN107562528A (zh) 支持多种计算框架的单元化按需计算方法及相关装置
CN106407231A (zh) 一种数据多线程导出方法及***
Lim et al. A constraint programming-based resource management technique for processing mapreduce jobs with slas on clouds
Althebyan et al. Multi-threading based map reduce tasks scheduling
CN104182295A (zh) 一种数据备份方法及装置
CN110515734A (zh) 数据处理任务的负载处理方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20201009

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman, British Islands

Applicant after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman, British Islands

Applicant before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20201009

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman, British Islands

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20190104