CN113742063A - 分布式定时调度系统和方法 - Google Patents
分布式定时调度系统和方法 Download PDFInfo
- Publication number
- CN113742063A CN113742063A CN202110899850.XA CN202110899850A CN113742063A CN 113742063 A CN113742063 A CN 113742063A CN 202110899850 A CN202110899850 A CN 202110899850A CN 113742063 A CN113742063 A CN 113742063A
- Authority
- CN
- China
- Prior art keywords
- current
- scheduling
- scheduling end
- task
- timing task
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 16
- 230000000903 blocking effect Effects 0.000 claims description 24
- 230000002085 persistent effect Effects 0.000 claims description 11
- 238000004891 communication Methods 0.000 claims description 10
- 238000012545 processing Methods 0.000 abstract description 8
- 230000000694 effects Effects 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
- G06F9/5088—Techniques for rebalancing the load in a distributed system involving task migration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明实施例公开了一种分布式定时调度系统和方法,该系统包括客户端、注册中心和调度端,其中:客户端生成当前定时任务并将当前定时任务发送给注册中心;注册中心基于调度端的性能参数,确定当前时刻性能最优的当前调度端;注册中心将当前定时任务发送给当前调度端;当前调度端接收当前定时任务,本发明实施例的技术方案基于调度端的性能参数确定当前性能最优的调度端,并将当前定时任务分配给该调度端,能够根据每个调度端的实际性能情况进行定时任务的分配,避免因调度端配置不好或者内存占用率过高导致任务处理不完整或丢失等情况,减少了任务调度对数据库和内存的依赖,还能够使调度系统实现通过水平扩容提高调度性能的效果。
Description
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种分布式定时调度系统和方法。
背景技术
定时任务调度是一种按照指定时间策略周期性执行任务的应用业务系统或模块,是应用软件中一个常见的模块,用于处理需重复并周期性调用的任务,定时任务调度一般被用于数据同步、交易对账、异常处理等场景中。为了保证高可用和高容错性,大规模的云平台或者服务器集群通常采用分布式架构,因此分布式定时任务调度应运而生。
现有的多活多实例定时调度工具每次调度都需要竞争数据库锁,导致每秒调度瓶颈,依赖数据库锁,同步竞争阻塞情况较为严重,水平扩容无影响,最终还是依赖数据库性能。多活单实例定时调度工具的调度能力有限,依赖服务器内存,水平扩容无影响,最终依赖内存大小。
发明内容
本发明提供一种分布式定时调度系统和方法,减少了任务调度对数据库和内存的依赖,同时还能够使调度系统实现通过水平扩容提高调度性能的效果。
一方面,本发明实施例提供了一种分布式定时调度系统,包括客户端、注册中心和调度端,所述客户端、所述注册中心和所述调度端两两之间通信连接,其中:
所述客户端生成当前定时任务并将所述当前定时任务发送给所述注册中心;
所述注册中心基于所述调度端的性能参数,确定当前时刻性能最优的当前调度端;
所述注册中心将所述当前定时任务发送给所述当前调度端;
所述当前调度端接收所述当前定时任务。
另一方面,本发明实施例还提供了一种分布式定时调度方法,由本发明任一实施例所述的分布式定时调度系统执行,包括:
客户端生成当前定时任务并将所述当前定时任务发送给注册中心;
所述注册中心基于调度端的性能参数,确定当前时刻性能最优的当前调度端;
所述注册中心将所述当前定时任务发送给所述当前调度端;
所述当前调度端接收所述当前定时任务。
本发明实施例的技术方案提供一种分布式定时调度系统,该系统包括客户端、注册中心和调度端,所述客户端、所述注册中心和所述调度端两两之间通信连接,其中:所述客户端生成当前定时任务并将所述当前定时任务发送给所述注册中心;所述注册中心基于所述调度端的性能参数,确定当前时刻性能最优的当前调度端;所述注册中心将所述当前定时任务发送给所述当前调度端;所述当前调度端接收所述当前定时任务,上述基于调度端的性能参数确定当前性能最优的调度端,并将当前定时任务分配给该调度端,能够根据每个调度端的实际性能情况进行定时任务的分配,避免因调度端配置不好或者内存占用率过高导致任务处理不完整或丢失等情况,同时,减少了任务调度对数据库和内存的依赖,还能够使调度系统实现通过水平扩容提高调度性能的效果。
附图说明
为了更加清楚地说明本发明示例性实施例的技术方案,下面对描述实施例中所需要用到的附图做一简单介绍。显然,所介绍的附图只是本发明所要描述的一部分实施例的附图,而不是全部的附图,对于本领域普通技术人员,在不付出创造性劳动的前提下,还可以根据这些附图得到其他的附图。
图1是本发明实施例一提供的一种分布式定时调度系统的结构示意图;
图2是本发明实施例二提供的一种分布式定时调度方法的流程示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一提供的一种分布式定时调度系统的结构示意图,如图1所示,该分布式定时调度系统包括客户端110、注册中心120和调度端130,所述客户端110、所述注册中心120和所述调度端130两两之间通信连接,其中:所述客户端110生成当前定时任务并将所述当前定时任务发送给所述注册中心120;所述注册中心120基于所述调度端130的性能参数,确定当前时刻性能最优的当前调度端;所述注册中心将所述当前定时任务发送给所述当前调度端;所述当前调度端接收所述当前定时任务。
其中,客户端110优选为能够生成定时任务的运行环境,其可以根据接收到的指令生成定时任务,并将定时任务注册到注册中心120。其中,运行环境可以是Java运行环境等,该运行环境可以应用于电脑或者后台服务器中,客户端110将定时任务注册到注册中心120可以是每生成一个定时任务,就将定时任务发送给注册中心120,也可以是每隔预设时间段,将预设时间段内生成的定时任务发送给注册中心120,分布式定时调度系统中的客户端的数量可以是一个也可以是多个。注册中心120可以接收客户端110注册的定时任务,并将定时任务分配给调度端130,同时,注册中心120在接收到客户端110注册的定时任务后,可以将定时任务信息进行存储,其可以将任务信息存储在内存中,也可以将任务信息存储在数据库中。调度端130可以接收注册中心120分配的定时任务,并在定时任务对应的预设时间调用相应客户端执行相应的定时任务,分布式定时调度系统中的调度端的数量可以是一个也可以是多个。本实施例中的当前定时任务为客户端110在当前时刻产生的定时任务。当前调度端为注册中心120确定的当前性能最优,能够接收当前定时任务的调度端。
本实施例中,在客户端110和注册中心120建立通信连接后,客户端110将生成的当前定时任务注册到注册中心120中,注册中心120接收到当前定时任务,并基于所述调度端130的性能参数,确定当前时刻性能最优的当前调度端,注册中心120将当前定时任务发送给当前调度端;当前调度端接收当前定时任务。本实施例基于调度端的性能参数可以确定调度端的性能优劣,基于调度端当前性能优劣可以确定出在性能上最适合接收当前定时任务的调度端,根据每个调度端的实际性能情况进行定时任务的分配,能够避免因调度端配置不好或者内存占用率过高导致任务处理不完整或丢失等情况。优选的,调度端130的性能参数包括调度端130的当前定时任务数、CPU使用率、内存使用率、当前线程数、线程阻塞率中的至少两种,当前定时任务数为调度端当前已经接收但未执行的定时任务数,线程阻塞率为调度端130的线程发生线程阻塞的概率,CPU使用率、内存使用率以及线程阻塞率可以是当前时刻CPU使用率、当前时刻内存使用率以及当前时刻单位线程阻塞率,也可以是预设时间段内平均CPU使用率,预设时间段内平均内存使用率以及预设时间段内平均线程阻塞率。可以理解的是,在当前调度端接收到当前定时任务后,优选可以在当前定时任务对应的预设时间调用相应客户端执行当前定时任务,该预设时间可以是当前时刻,也可以是后续的任一时刻。
本实施技术方案提供的一种分布式定时调度系统包括客户端、注册中心和调度端,所述客户端、所述注册中心和所述调度端两两之间通信连接,其中:所述客户端生成当前定时任务并将所述当前定时任务发送给所述注册中心;所述注册中心基于所述调度端的性能参数,确定当前时刻性能最优的当前调度端;所述注册中心将所述当前定时任务发送给所述当前调度端;所述当前调度端接收所述当前定时任务,上述分布式定时调度系统基于调度端的性能参数确定当前性能最优的调度端,并将当前定时任务分配给该调度端,能够根据每个调度端的实际性能情况进行定时任务的分配,避免因调度端配置不好或者内存占用率过高导致任务处理不完整或丢失等情况,同时,减少了任务调度对数据库和内存的依赖,还能够使调度系统实现通过水平扩容提高调度性能的效果。
在上述各实施例的基础上,进一步的,在将所述当前定时任务发送给所述注册中心之前,所述客户端调用所述注册中心的注册接口,将客户端元数据发送给所述注册中心,所述客户端元数据包括客户端名称、客户端IP地址和客户端端口。
本实施例中,注册中心设置有用于客户端调用的注册接口,客户端通过调用该注册接口可以注册到注册中心,与注册中心建立通信连接,进而可以将客户端产生的定时任务发送给注册中心。通过设置注册接口,可以使客户端自行注册到注册中心,能够使客户端注册任务更加灵活,并且能够减少人工录入的时间成本。
注册中心通过注册接口接收到客户端发送的客户端元数据之后,优先确认注册中心中是否存储有相同的客户端元数据,若确定存在相同的客户端元数据,则忽略此条客户端元数据,若确定不存在相同的客户端元数据,则进行负载处理,将客户端元数据存储至内存或数据库中。
在上述各实施例的基础上,进一步的,在所述注册中心基于所述调度端的性能参数,确定当前时刻性能最优的当前调度端之前,所述调度端调用所述注册中心的注册接口,将调度端元数据发送给所述注册中心,所述调度端元数据包括调度端名称、调度端IP地址和调度端端口。
本实施例中,注册中心设置有用于调度端调用的注册接口,调度端通过调用该注册接口可以注册到注册中心,与注册中心建立通信连接,进而可以接收注册中心分配的定时任务。通过设置注册接口,可以使调度端自行注册到注册中心,能够减少人工录入的时间成本,并且能够方便注册中心通过注册接口直接将任务发送给调度端。
注册中心通过注册接口接收到调度端发送的调度端元数据之后,优先确认注册中心中是否存储有相同的调度端元数据,若确定存在相同的调度端元数据,则忽略此条调度端元数据,若确定不存在相同的调度端元数据,则进行负载处理,将调度端元数据存储至内存或数据库中。
在上述各实施例的基础上,进一步的,所述注册中心基于所述调度端的性能参数,确定当前时刻性能最优的当前调度端包括:
所述调度端基于RPC协议向所述注册中心持续发送性能参数;
所述注册中心接收所述性能参数,并利用预设加权平均算法确定所述性能参数的加权平均值;
确定最小加权平均值对应的当前调度端。
优选的,每个调度端的性能参数包括调度端的当前定时任务数、CPU使用率、内存使用率、当前线程数、线程阻塞率,若CPU使用率、内存使用率以及线程阻塞率为调度端在当前时刻发送的当前时刻CPU使用率、当前时刻内存使用率以及当前时刻单位线程阻塞率,则调度端的加权平均值的表达式可以是当前任务数*n1+(当前时刻CPU使用率*100)*n2+(内存使用率*100)*n3+(当前线程数)*n4+(内存阻塞率*100)*n5,若CPU使用率、内存使用率以及线程阻塞率为预设时间段内平均CPU使用率,预设时间段内平均内存使用率以及预设时间段内平均线程阻塞率,则调度端的加权平均值的表达式可以是当前任务数*n1+(预设时间段内平均CPU使用率*100)*n2+(预设时间段内平均内存使用率*100)*n3+(当前线程数)*n4+(预设时间段内平均内存阻塞率*100)*n5,其中,n1、n2、n3、n4和n5的值可以根据实际情况进行调整,且n1+n2+n3+n4+n5=1。
示例性的,注册中心注册有3个调度端,分别是调度端A,调度端B和调度端C,每个调度端的性能参数包括调度端的当前定时任务数、CPU使用率、内存使用率、当前线程数、线程阻塞率,其中,CPU使用率、内存使用率以及线程阻塞率为调度端在当前时刻发送的当前时刻CPU使用率、当前时刻内存使用率以及当前时刻单位线程阻塞率。其中,调度端A对应的当前定时任务数为5、当前时刻CPU使用率为50%、当前时刻内存使用率50%、当前线程数3、当前时刻线程阻塞率20%,调度端B对应的当前定时任务数为5、当前时刻CPU使用率为50%、当前时刻内存使用率60%、当前线程数3、当前时刻线程阻塞率20%,调度端C对应的当前定时任务数为4、当前时刻CPU使用率为50%、当前时刻内存使用率50%、当前线程数3、当前时刻线程阻塞率20%,则调度端A的加权平均值=当前任务数*0.5+(当前时刻CPU使用率*100)*0.1+(内存使用率*100)*0.2+(当前线程数)*0.1+(内存阻塞率*100)*0.1=19.8,调度端B的加权平均值=当前任务数*0.5+(当前时刻CPU使用率*100)*0.1+(内存使用率*100)*0.2+(当前线程数)*0.1+(内存阻塞率*100)*0.1=21.8,调度端C的加权平均值=当前任务数*0.5+(当前时刻CPU使用率*100)*0.1+(内存使用率*100)*0.2+(当前线程数)*0.1+(内存阻塞率*100)*0.1=19.3,由上述计算可知,调度端C的加权平均值19.3最小,因此可以确定当前调度端为调度端C。
在上述各实施例的基础上,进一步的,在将所述当前定时任务发送给所述当前调度端后,所述注册中心将所述当前定时任务和所述当前调度端之间的对应关系存储至持久化数据库中;
当监测到存在客户端执行定时任务改动操作时,所述注册中心查询所述持久化数据库,确定所述定时任务改动操作对应的被改动任务以及被改动任务对应的调度端;
若确定所述调度端没有执行所述被改动任务,则控制所述调度端对所述定时任务执行相应改动。
其中,定时定时任务改动操作包括定时任务删除或者定时任务修改操作。当客户端有定时任务删除操作时,注册中心查询持久化数据库确定与删除掉的定时任务对应的调度端,通知调度端将相应定时任务删除,当客户端有定时任务修改操作时,注册中心查询持久化数据库确定与修改的定时任务对应的调度端,通知调度端将相应定时任务进行相应修改。
上述将当前定时任务和当前调度端之间的对应关系存储至持久化数据库中,方便后续查找定时任务对应的调度端,当存在定时任务发生改动时,可以准确定位相应调度端,并对任务进行相应改动。
在上述各实施例的基础上,进一步的,所述注册中心还用于当监测到存在新增或删除调度端节点,或监测到预设时间段内未接收到任一调度端的心跳,控制所有调度端在将当前正在执行的定时任务执行完毕后,删除所有待执行任务,并重新将任务分配给调度端,以确保定时任务执行不会发生错误或者遗漏。
实施例二
图2为本发明实施例二提供的一种分布式定时调度方法的流程示意图,本实施例适用于需要对定时任务进行调度的情况,该方法由本发明实施例提供的分布式定时调度系统执行。如图2所示,该方法具体包括如下步骤:
S210、客户端生成当前定时任务并将所述当前定时任务发送给注册中心;
S220、所述注册中心基于调度端的性能参数,确定当前时刻性能最优的当前调度端;
S230、所述注册中心将所述当前定时任务发送给所述当前调度端;
S240、所述当前调度端接收所述当前定时任务。
本实施例技术方案提供的一种分布式定时调度方法包括客户端生成当前定时任务并将所述当前定时任务发送给注册中心;所述注册中心基于调度端的性能参数,确定当前时刻性能最优的当前调度端;所述注册中心将所述当前定时任务发送给所述当前调度端;所述当前调度端接收所述当前定时任务,上述基于调度端的性能参数确定当前性能最优的调度端,并将当前定时任务分配给该调度端,能够根据每个调度端的实际性能情况进行定时任务的分配,避免因调度端配置不好或者内存占用率过高导致任务处理不完整或丢失等情况,同时,减少了任务调度对数据库和内存的依赖,还能够使调度系统实现通过水平扩容提高调度性能的效果。
在上述各实施例的基础上,进一步的,在将所述当前定时任务发送给所述注册中心之前,所述客户端调用所述注册中心的注册接口,将客户端元数据发送给所述注册中心,所述客户端元数据包括客户端名称、客户端IP地址和客户端端口。
在上述各实施例的基础上,进一步的,在所述注册中心基于所述调度端的性能参数,确定当前时刻性能最优的当前调度端之前,所述调度端调用所述注册中心的注册接口,将调度端元数据发送给所述注册中心,所述调度端元数据包括调度端名称、调度端IP地址和调度端端口。
在上述各实施例的基础上,进一步的,所述注册中心基于调度端的性能参数,确定当前时刻性能最优的当前调度端包括:
所述调度端基于RPC协议向所述注册中心持续发送性能参数;
所述调度中心接收所述性能参数,并利用预设加权平均算法确定所述性能参数的加权平均值;
确定最小加权平均值对应的当前调度端。
在上述各实施例的基础上,进一步的,所述性能参数包括所述调度端的当前定时任务数、CPU使用率、内存使用率、当前线程数、线程阻塞率中的至少两种。
在上述各实施例的基础上,进一步的,在所述注册中心将所述当前定时任务发送给所述当前调度端后,还包括:
所述注册中心将所述当前定时任务和所述当前调度端之间的对应关系存储至持久化数据库中;
当监测到存在客户端执行定时任务改动操作时,所述注册中心查询所述持久化数据库,确定所述定时任务改动操作对应的被改动任务以及被改动任务对应的调度端;
若确定所述调度端没有执行所述被改动任务,则控制所述调度端对所述定时任务执行相应改动。
在上述各实施例的基础上,进一步的,所述方法还包括:当注册中心监测到存在新增或删除调度端节点,或监测到预设时间段内未接收到任一调度端的心跳,控制所有调度端在将当前正在执行的定时任务执行完毕后,删除所有待执行任务,并重新将任务分配给调度端。
本领域普通技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个计算装置上,或者分布在多个计算装置所组成的网络上,可选地,他们可以用计算机装置可执行的程序代码来实现,从而可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件的结合。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种分布式定时调度系统,其特征在于,包括客户端、注册中心和调度端,所述客户端、所述注册中心和所述调度端两两之间通信连接,其中:
所述客户端生成当前定时任务并将所述当前定时任务发送给所述注册中心;
所述注册中心基于所述调度端的性能参数,确定当前时刻性能最优的当前调度端;
所述注册中心将所述当前定时任务发送给所述当前调度端;
所述当前调度端接收所述当前定时任务。
2.根据权利要求1所述的系统,其特征在于,在将所述当前定时任务发送给所述注册中心之前,所述客户端调用所述注册中心的注册接口,将客户端元数据发送给所述注册中心,所述客户端元数据包括客户端名称、客户端IP地址和客户端端口。
3.根据权利要求1所述的系统,其特征在于,在所述注册中心基于所述调度端的性能参数,确定当前时刻性能最优的当前调度端之前,所述调度端调用所述注册中心的注册接口,将调度端元数据发送给所述注册中心,所述调度端元数据包括调度端名称、调度端IP地址和调度端端口。
4.根据权利要求1-3任一项所述的系统,其特征在于,所述注册中心基于所述调度端的性能参数,确定当前时刻性能最优的当前调度端包括:
所述调度端基于RPC协议向所述注册中心持续发送性能参数;
所述注册中心接收所述性能参数,并利用预设加权平均算法确定所述性能参数的加权平均值;
确定最小加权平均值对应的当前调度端。
5.根据权利要求4所述的系统,其特征在于,所述性能参数包括所述调度端的当前定时任务数、CPU使用率、内存使用率、当前线程数、线程阻塞率中的至少两种。
6.根据权利要求1-3任一所述的系统,其特征在于,在将所述当前定时任务发送给所述当前调度端后,所述注册中心将所述当前定时任务和所述当前调度端之间的对应关系存储至持久化数据库中;
当监测到存在客户端执行定时任务改动操作时,所述注册中心查询所述持久化数据库,确定所述定时任务改动操作对应的被改动任务以及被改动任务对应的调度端;
若确定所述调度端没有执行所述被改动任务,则控制所述调度端对所述定时任务执行相应改动。
7.根据权利要求1所述的系统,其特征在于,所述注册中心还用于当监测到存在新增或删除调度端节点,或监测到预设时间段内未接收到任一调度端的心跳,控制所有调度端在将当前正在执行的定时任务执行完毕后,删除所有待执行任务,并重新将任务分配给调度端。
8.一种分布式定时调度方法,其特征在于,由权利要求1-7任一项所述的分布式定时调度系统执行,包括:
客户端生成当前定时任务并将所述当前定时任务发送给注册中心;
所述注册中心基于调度端的性能参数,确定当前时刻性能最优的当前调度端;
所述注册中心将所述当前定时任务发送给所述当前调度端;
所述当前调度端接收所述当前定时任务。
9.根据权利要求8所述的方法,其特征在于,所述注册中心基于调度端的性能参数,确定当前时刻性能最优的当前调度端包括:
所述调度端基于RPC协议向所述注册中心持续发送性能参数;
所述调度中心接收所述性能参数,并利用预设加权平均算法确定所述性能参数的加权平均值;
确定最小加权平均值对应的当前调度端。
10.根据权利要求8所述的方法,其特征在于,在所述注册中心将所述当前定时任务发送给所述当前调度端后,还包括:
所述注册中心将所述当前定时任务和所述当前调度端之间的对应关系存储至持久化数据库中;
当监测到存在客户端执行定时任务改动操作时,所述注册中心查询所述持久化数据库,确定所述定时任务改动操作对应的被改动任务以及被改动任务对应的调度端;
若确定所述调度端没有执行所述被改动任务,则控制所述调度端对所述定时任务执行相应改动。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110899850.XA CN113742063A (zh) | 2021-08-06 | 2021-08-06 | 分布式定时调度系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110899850.XA CN113742063A (zh) | 2021-08-06 | 2021-08-06 | 分布式定时调度系统和方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113742063A true CN113742063A (zh) | 2021-12-03 |
Family
ID=78730299
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110899850.XA Pending CN113742063A (zh) | 2021-08-06 | 2021-08-06 | 分布式定时调度系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113742063A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108132833A (zh) * | 2017-12-08 | 2018-06-08 | 广州视源电子科技股份有限公司 | 一种基于zookeeper技术的分布式定时任务调度方法和装置 |
CN111190736A (zh) * | 2019-12-31 | 2020-05-22 | 苏宁云计算有限公司 | 基于微服务的低入侵分布式定时任务调度系统及方法 |
CN111752696A (zh) * | 2020-06-25 | 2020-10-09 | 武汉众邦银行股份有限公司 | 一种基于rpc及线程锁的分布式定时任务调度方法 |
CN112416581A (zh) * | 2020-11-13 | 2021-02-26 | 五八同城信息技术有限公司 | 定时任务的分布式调用系统 |
CN112650572A (zh) * | 2020-12-30 | 2021-04-13 | 平安普惠企业管理有限公司 | 一种分布式任务调度方法、装置、计算机设备及存储介质 |
-
2021
- 2021-08-06 CN CN202110899850.XA patent/CN113742063A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108132833A (zh) * | 2017-12-08 | 2018-06-08 | 广州视源电子科技股份有限公司 | 一种基于zookeeper技术的分布式定时任务调度方法和装置 |
CN111190736A (zh) * | 2019-12-31 | 2020-05-22 | 苏宁云计算有限公司 | 基于微服务的低入侵分布式定时任务调度系统及方法 |
CN111752696A (zh) * | 2020-06-25 | 2020-10-09 | 武汉众邦银行股份有限公司 | 一种基于rpc及线程锁的分布式定时任务调度方法 |
CN112416581A (zh) * | 2020-11-13 | 2021-02-26 | 五八同城信息技术有限公司 | 定时任务的分布式调用系统 |
CN112650572A (zh) * | 2020-12-30 | 2021-04-13 | 平安普惠企业管理有限公司 | 一种分布式任务调度方法、装置、计算机设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107087019B (zh) | 一种基于端云协同计算架构的任务调度方法及装置 | |
CN112099958B (zh) | 分布式多任务管理方法、装置、计算机设备及存储介质 | |
US20140108533A1 (en) | System and method for supporting out-of-order message processing in a distributed data grid | |
CN112162865A (zh) | 服务器的调度方法、装置和服务器 | |
CN112631788B (zh) | 数据传输方法及数据传输服务器 | |
EP3306866B1 (en) | Message processing method, device and system | |
CN111858046B (zh) | 服务请求的处理方法及装置、存储介质、电子装置 | |
CN112468310B (zh) | 流媒体集群节点管理方法、装置及存储介质 | |
CN111245630A (zh) | 一种局域网内多设备同时升级的方法 | |
CN110868323B (zh) | 一种带宽控制方法、装置、设备及介质 | |
CN110995617A (zh) | 基于mqtt的数据报送方法装置计算机设备和存储介质 | |
CN115499447A (zh) | 一种集群主节点确认方法、装置、电子设备及存储介质 | |
CN106412123B (zh) | 云接入控制器分布式处理终端设备信息的方法和系统 | |
CN111767122A (zh) | 分布式任务调度管理方法和装置 | |
CN113742063A (zh) | 分布式定时调度系统和方法 | |
CN111245794B (zh) | 数据传输方法和装置 | |
CN113268327A (zh) | 事务请求的处理方法、装置和电子设备 | |
WO2012126212A1 (zh) | 射频识别设备接口层的通信装置及方法 | |
CN114546631A (zh) | 任务调度方法、控制方法、核心、电子设备、可读介质 | |
CN112532450B (zh) | 一种数据流分发进程配置的动态更新方法及系统 | |
CN111309467A (zh) | 任务分发方法及装置、电子设备及存储介质 | |
CN107317880B (zh) | 一种实现负载均衡的方法及装置 | |
CN111382139A (zh) | 对数据库中同一账户的并行访问方法 | |
CN115640153B (zh) | 系统架构、消息处理方法、装置、电子设备及存储介质 | |
CN115361271B (zh) | Ssh服务器切换与连接方法、云端服务器及存储介质 |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20211203 |
|
WD01 | Invention patent application deemed withdrawn after publication |